From fee3f4ab9618bcbcd1592f6896c18f8e503a2f1f Mon Sep 17 00:00:00 2001 From: fbsanchez Date: Wed, 12 Jan 2022 14:22:16 +0100 Subject: [PATCH] php8 review + mdpf update --- pandora_console/composer.json | 2 +- pandora_console/composer.lock | 716 +- .../dejavusanscondensed.GDEFdata.json | 16 + .../dejavusanscondensed.GPOSdata.json | 515 + .../dejavusanscondensed.GSUB.arab.DFLT.json | 126 + .../dejavusanscondensed.GSUB.arab.KUR .json | 126 + .../dejavusanscondensed.GSUB.arab.SND .json | 126 + .../dejavusanscondensed.GSUB.arab.URD .json | 126 + .../dejavusanscondensed.GSUB.nko .DFLT.json | 40 + .../dejavusanscondensed.GSUBGPOStables.dat | Bin 0 -> 46180 bytes .../dejavusanscondensed.GSUBdata.json | 656 + .../ttfontdata/dejavusanscondensed.cw.dat | Bin 0 -> 131072 bytes .../ttfontdata/dejavusanscondensed.gid.dat | Bin 0 -> 196608 bytes .../ttfontdata/dejavusanscondensed.mtx.json | 3493 ++++ .../ttfontdata/dejavuserifcondensed.cw.dat | Bin 0 -> 131072 bytes .../ttfontdata/dejavuserifcondensed.gid.dat | 0 .../ttfontdata/dejavuserifcondensed.mtx.json | 1424 ++ .../ttfontdata/dejavuserifcondensedB.cw.dat | Bin 0 -> 131072 bytes .../ttfontdata/dejavuserifcondensedB.gid.dat | 0 .../ttfontdata/dejavuserifcondensedB.mtx.json | 1478 ++ pandora_console/extensions/api_checker.php | 6 +- .../extensions/extension_uploader.php | 2 +- .../extensions/resource_exportation.php | 2 +- .../godmode/alerts/alert_list.builder.php | 1 + .../godmode/massive/massive_add_profiles.php | 3 +- .../modules/manage_network_components.php | 3 +- .../manage_network_components_form_common.php | 2 + .../reporting_builder.list_items.php | 4 +- pandora_console/godmode/servers/plugin.php | 4 +- pandora_console/include/class/HTML.class.php | 6 +- pandora_console/include/functions.php | 1 + pandora_console/include/functions_html.php | 7 + .../include/functions_reporting.php | 18 +- .../include/functions_reporting_html.php | 5 +- pandora_console/include/functions_ui.php | 2 +- .../operation/agentes/exportdata.php | 1 + pandora_console/operation/users/user_edit.php | 25 +- .../vendor/composer/ClassLoader.php | 2 +- .../vendor/composer/InstalledVersions.php | 350 + pandora_console/vendor/composer/LICENSE | 2 - .../vendor/composer/autoload_classmap.php | 278 +- .../vendor/composer/autoload_files.php | 5 + .../vendor/composer/autoload_namespaces.php | 1 - .../vendor/composer/autoload_psr4.php | 12 +- .../vendor/composer/autoload_real.php | 9 +- .../vendor/composer/autoload_static.php | 347 +- .../vendor/composer/installed.json | 1412 +- pandora_console/vendor/composer/installed.php | 140 + .../vendor/composer/platform_check.php | 4 +- pandora_console/vendor/doctrine/lexer/LICENSE | 2 +- .../vendor/doctrine/lexer/README.md | 4 + .../vendor/doctrine/lexer/composer.json | 35 +- .../Doctrine/Common/Lexer/AbstractLexer.php | 146 +- .../vendor/doctrine/lexer/psalm.xml | 15 + .../egulias/email-validator/CHANGELOG.md | 33 + .../egulias/email-validator/CONTRIBUTING.md | 153 + .../EmailValidator/EmailLexer.php | 221 - .../EmailValidator/EmailParser.php | 104 - .../Exception/AtextAfterCFWS.php | 9 - .../EmailValidator/Exception/CRLFAtTheEnd.php | 9 - .../EmailValidator/Exception/CRLFX2.php | 9 - .../EmailValidator/Exception/CRNoLF.php | 9 - .../Exception/CharNotAllowed.php | 9 - .../Exception/CommaInDomain.php | 9 - .../Exception/ConsecutiveAt.php | 9 - .../Exception/ConsecutiveDot.php | 9 - .../Exception/DomainHyphened.php | 9 - .../EmailValidator/Exception/DotAtEnd.php | 9 - .../EmailValidator/Exception/DotAtStart.php | 9 - .../EmailValidator/Exception/ExpectingAT.php | 9 - .../Exception/ExpectingATEXT.php | 9 - .../Exception/ExpectingCTEXT.php | 9 - .../Exception/ExpectingDTEXT.php | 9 - .../Exception/ExpectingDomainLiteralClose.php | 9 - .../Exception/ExpectingQPair.php | 9 - .../EmailValidator/Exception/InvalidEmail.php | 14 - .../EmailValidator/Exception/NoDNSRecord.php | 11 - .../EmailValidator/Exception/NoDomainPart.php | 9 - .../EmailValidator/Exception/NoLocalPart.php | 9 - .../Exception/UnclosedComment.php | 9 - .../Exception/UnclosedQuotedString.php | 9 - .../Exception/UnopenedComment.php | 9 - .../EmailValidator/Parser/DomainPart.php | 368 - .../EmailValidator/Parser/LocalPart.php | 138 - .../EmailValidator/Parser/Parser.php | 215 - .../Validation/DNSCheckValidation.php | 72 - .../Validation/Error/RFCWarnings.php | 11 - .../Validation/Error/SpoofEmail.php | 11 - .../Validation/MultipleErrors.php | 26 - .../Validation/RFCValidation.php | 49 - .../EmailValidator/Warning/DomainTooLong.php | 14 - .../EmailValidator/Warning/LabelTooLong.php | 14 - .../vendor/egulias/email-validator/LICENSE | 2 +- .../vendor/egulias/email-validator/README.md | 79 - .../egulias/email-validator/composer.json | 28 +- .../egulias/email-validator/composer.lock | 4440 +++++ .../egulias/email-validator/phpunit.xml.dist | 26 - .../email-validator/src/EmailLexer.php | 361 + .../email-validator/src/EmailParser.php | 91 + .../EmailValidator.php | 16 +- .../email-validator/src/MessageIDParser.php | 93 + .../egulias/email-validator/src/Parser.php | 78 + .../email-validator/src/Parser/Comment.php | 103 + .../CommentStrategy/CommentStrategy.php | 18 + .../Parser/CommentStrategy/DomainComment.php | 37 + .../Parser/CommentStrategy/LocalComment.php | 37 + .../src/Parser/DomainLiteral.php | 212 + .../email-validator/src/Parser/DomainPart.php | 312 + .../src/Parser/DoubleQuote.php | 87 + .../src/Parser/FoldingWhiteSpace.php | 82 + .../email-validator/src/Parser/IDLeftPart.php | 16 + .../src/Parser/IDRightPart.php | 29 + .../email-validator/src/Parser/LocalPart.php | 164 + .../email-validator/src/Parser/PartParser.php | 63 + .../src/Result/InvalidEmail.php | 46 + .../src/Result/MultipleErrors.php | 56 + .../src/Result/Reason/AtextAfterCFWS.php | 16 + .../src/Result/Reason/CRLFAtTheEnd.php | 19 + .../src/Result/Reason/CRLFX2.php | 16 + .../src/Result/Reason/CRNoLF.php | 16 + .../src/Result/Reason/CharNotAllowed.php | 16 + .../src/Result/Reason/CommaInDomain.php | 16 + .../src/Result/Reason/CommentsInIDRight.php | 16 + .../src/Result/Reason/ConsecutiveAt.php | 17 + .../src/Result/Reason/ConsecutiveDot.php | 16 + .../src/Result/Reason/DetailedReason.php | 13 + .../src/Result/Reason/DomainAcceptsNoMail.php | 16 + .../src/Result/Reason/DomainHyphened.php | 16 + .../src/Result/Reason/DomainTooLong.php | 16 + .../src/Result/Reason/DotAtEnd.php | 16 + .../src/Result/Reason/DotAtStart.php | 16 + .../src/Result/Reason/EmptyReason.php | 16 + .../src/Result/Reason/ExceptionFound.php | 26 + .../src/Result/Reason/ExpectingATEXT.php | 16 + .../src/Result/Reason/ExpectingCTEXT.php | 16 + .../src/Result/Reason/ExpectingDTEXT.php | 16 + .../Reason/ExpectingDomainLiteralClose.php | 16 + .../src/Result/Reason/LabelTooLong.php | 16 + .../Result/Reason/LocalOrReservedDomain.php | 16 + .../src/Result/Reason/NoDNSRecord.php | 16 + .../src/Result/Reason/NoDomainPart.php | 16 + .../src/Result/Reason/NoLocalPart.php | 16 + .../src/Result/Reason/RFCWarnings.php | 16 + .../src/Result/Reason/Reason.php | 16 + .../src/Result/Reason/SpoofEmail.php | 17 + .../src/Result/Reason/UnOpenedComment.php | 16 + .../Result/Reason/UnableToGetDNSRecord.php | 19 + .../src/Result/Reason/UnclosedComment.php | 16 + .../Result/Reason/UnclosedQuotedString.php | 16 + .../src/Result/Reason/UnusualElements.php | 26 + .../email-validator/src/Result/Result.php | 27 + .../email-validator/src/Result/SpoofEmail.php | 14 + .../email-validator/src/Result/ValidEmail.php | 27 + .../src/Validation/DNSCheckValidation.php | 184 + .../Validation/EmailValidation.php | 8 +- .../Exception/EmptyValidationList.php | 3 + .../Extra}/SpoofCheckValidation.php | 23 +- .../src/Validation/MessageIDValidation.php | 51 + .../Validation/MultipleValidationWithAnd.php | 49 +- .../Validation/NoRFCWarningsValidation.php | 12 +- .../src/Validation/RFCValidation.php | 55 + .../Warning/AddressLiteral.php | 0 .../Warning/CFWSNearAt.php | 0 .../Warning/CFWSWithFWS.php | 0 .../Warning/Comment.php | 0 .../Warning/DeprecatedComment.php | 0 .../Warning/DomainLiteral.php | 0 .../Warning/EmailTooLong.php | 0 .../Warning/IPV6BadChar.php | 0 .../Warning/IPV6ColonEnd.php | 0 .../Warning/IPV6ColonStart.php | 0 .../Warning/IPV6Deprecated.php | 0 .../Warning/IPV6DoubleColon.php | 0 .../Warning/IPV6GroupCount.php | 0 .../Warning/IPV6MaxGroups.php | 0 .../Warning/LocalTooLong.php | 0 .../Warning/NoDNSMXRecord.php | 0 .../Warning/ObsoleteDTEXT.php | 0 .../Warning/QuotedPart.php | 4 + .../Warning/QuotedString.php | 4 + .../{EmailValidator => src}/Warning/TLD.php | 0 .../Warning/Warning.php | 21 +- .../vendor/mpdf/mpdf/.github/CONTRIBUTING.md | 39 +- .../vendor/mpdf/mpdf/.github/FUNDING.yml | 1 + .../mpdf/mpdf/.github/ISSUE_TEMPLATE.md | 22 - .../mpdf/.github/ISSUE_TEMPLATE/Bug_report.md | 29 + .../.github/ISSUE_TEMPLATE/Feature_request.md | 8 + .../mpdf/.github/ISSUE_TEMPLATE/config.yml | 7 + .../mpdf/mpdf/.github/workflows/coverage.yml | 42 + .../vendor/mpdf/mpdf/.github/workflows/cs.yml | 43 + .../mpdf/mpdf/.github/workflows/tests.yml | 52 + pandora_console/vendor/mpdf/mpdf/.travis.yml | 42 - pandora_console/vendor/mpdf/mpdf/CHANGELOG.md | 70 +- pandora_console/vendor/mpdf/mpdf/README.md | 48 +- .../vendor/mpdf/mpdf/composer.json | 61 +- .../vendor/mpdf/mpdf/data/mpdf.css | 100 +- pandora_console/vendor/mpdf/mpdf/phpunit.xml | 21 +- pandora_console/vendor/mpdf/mpdf/ruleset.xml | 46 +- .../vendor/mpdf/mpdf/src/Barcode.php | 109 +- .../vendor/mpdf/mpdf/src/Barcode/Codabar.php | 11 +- .../vendor/mpdf/mpdf/src/Barcode/Code11.php | 26 +- .../vendor/mpdf/mpdf/src/Barcode/Code128.php | 79 +- .../vendor/mpdf/mpdf/src/Barcode/Code39.php | 12 +- .../vendor/mpdf/mpdf/src/Barcode/Code93.php | 22 +- .../vendor/mpdf/mpdf/src/Barcode/EanExt.php | 6 +- .../vendor/mpdf/mpdf/src/Barcode/EanUpc.php | 11 +- .../vendor/mpdf/mpdf/src/Barcode/I25.php | 8 +- .../vendor/mpdf/mpdf/src/Barcode/Imb.php | 4 +- .../vendor/mpdf/mpdf/src/Barcode/Msi.php | 8 +- .../vendor/mpdf/mpdf/src/Barcode/S25.php | 8 +- .../vendor/mpdf/mpdf/src/Cache.php | 15 +- .../mpdf/mpdf/src/Color/ColorConverter.php | 96 +- .../mpdf/src/Color/ColorModeConverter.php | 1 + .../mpdf/src/Color/ColorSpaceRestrictor.php | 6 +- .../mpdf/mpdf/src/Config/ConfigVariables.php | 15 +- .../mpdf/mpdf/src/Config/FontVariables.php | 2 +- .../mpdf/mpdf/src/Conversion/DecToOther.php | 1 + .../vendor/mpdf/mpdf/src/Css/DefaultCss.php | 18 +- .../vendor/mpdf/mpdf/src/CssManager.php | 134 +- .../mpdf/mpdf/src/Exception/FontException.php | 8 + .../mpdf/src/File/StreamWrapperChecker.php | 46 + .../vendor/mpdf/mpdf/src/Fonts/FontCache.php | 35 +- .../mpdf/mpdf/src/Fonts/MetricsGenerator.php | 204 +- pandora_console/vendor/mpdf/mpdf/src/Form.php | 553 +- .../vendor/mpdf/mpdf/src/FpdiTrait.php | 401 + .../vendor/mpdf/mpdf/src/Gif/ImageHeader.php | 2 +- .../vendor/mpdf/mpdf/src/Gradient.php | 107 +- .../vendor/mpdf/mpdf/src/HTMLParserMode.php | 46 + .../vendor/mpdf/mpdf/src/Hyphenator.php | 62 +- .../mpdf/mpdf/src/Image/ImageProcessor.php | 814 +- .../mpdf/mpdf/src/Image/ImageTypeGuesser.php | 5 + .../vendor/mpdf/mpdf/src/Image/Svg.php | 815 +- .../vendor/mpdf/mpdf/src/Image/Wmf.php | 2 +- pandora_console/vendor/mpdf/mpdf/src/Mpdf.php | 5114 ++---- pandora_console/vendor/mpdf/mpdf/src/Otl.php | 112 +- .../vendor/mpdf/mpdf/src/OtlDump.php | 68 +- .../vendor/mpdf/mpdf/src/Pdf/Protection.php | 8 +- .../vendor/mpdf/mpdf/src/QrCode/QrCode.php | 661 - .../mpdf/mpdf/src/QrCode/QrCodeException.php | 8 - .../mpdf/mpdf/src/QrCode/data/modele1.dat | Bin 841 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/modele10.dat | Bin 4225 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/modele11.dat | Bin 4761 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/modele12.dat | Bin 5329 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/modele13.dat | Bin 5929 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/modele14.dat | Bin 6561 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/modele15.dat | Bin 7225 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/modele16.dat | Bin 7921 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/modele17.dat | Bin 8649 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/modele18.dat | Bin 9409 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/modele19.dat | Bin 10201 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/modele2.dat | Bin 1089 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/modele20.dat | Bin 11025 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/modele21.dat | Bin 11881 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/modele22.dat | Bin 12769 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/modele23.dat | Bin 13689 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/modele24.dat | Bin 14641 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/modele25.dat | Bin 15625 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/modele26.dat | Bin 16641 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/modele27.dat | Bin 17689 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/modele28.dat | Bin 18769 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/modele29.dat | Bin 19881 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/modele3.dat | Bin 1369 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/modele30.dat | Bin 21025 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/modele31.dat | Bin 22201 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/modele32.dat | Bin 23409 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/modele33.dat | Bin 24649 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/modele34.dat | Bin 25921 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/modele35.dat | Bin 27225 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/modele36.dat | Bin 28561 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/modele37.dat | Bin 29929 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/modele38.dat | Bin 31329 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/modele39.dat | Bin 32761 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/modele4.dat | Bin 1681 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/modele40.dat | Bin 34225 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/modele5.dat | Bin 2025 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/modele6.dat | Bin 2401 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/modele7.dat | Bin 2809 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/modele8.dat | Bin 3249 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/modele9.dat | Bin 3721 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/qrv10_0.dat | Bin 8340 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/qrv10_1.dat | Bin 8339 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/qrv10_2.dat | Bin 8343 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/qrv10_3.dat | Bin 8343 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/qrv11_0.dat | Bin 9732 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/qrv11_1.dat | Bin 9731 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/qrv11_2.dat | Bin 9738 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/qrv11_3.dat | Bin 9735 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/qrv12_0.dat | Bin 11223 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/qrv12_1.dat | Bin 11219 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/qrv12_2.dat | Bin 11226 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/qrv12_3.dat | Bin 11225 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/qrv13_0.dat | Bin 12808 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/qrv13_1.dat | Bin 12803 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/qrv13_2.dat | Bin 12815 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/qrv13_3.dat | Bin 12811 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/qrv14_0.dat | Bin 13993 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/qrv14_1.dat | Bin 13988 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/qrv14_2.dat | Bin 14000 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/qrv14_3.dat | Bin 14000 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/qrv15_0.dat | Bin 15770 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/qrv15_1.dat | Bin 15766 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/qrv15_2.dat | Bin 15778 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/qrv15_3.dat | Bin 15772 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/qrv16_0.dat | Bin 17642 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/qrv16_1.dat | Bin 17638 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/qrv16_2.dat | Bin 17648 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/qrv16_3.dat | Bin 17649 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/qrv17_0.dat | Bin 19611 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/qrv17_1.dat | Bin 19606 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/qrv17_2.dat | Bin 19619 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/qrv17_3.dat | Bin 19616 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/qrv18_0.dat | Bin 21677 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/qrv18_1.dat | Bin 21670 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/qrv18_2.dat | Bin 21685 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/qrv18_3.dat | Bin 21682 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/qrv19_0.dat | Bin 23838 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/qrv19_1.dat | Bin 23831 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/qrv19_2.dat | Bin 23849 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/qrv19_3.dat | Bin 23845 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/qrv1_0.dat | Bin 656 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/qrv1_1.dat | Bin 656 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/qrv1_2.dat | Bin 656 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/qrv1_3.dat | Bin 656 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/qrv20_0.dat | Bin 26096 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/qrv20_1.dat | Bin 26088 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/qrv20_2.dat | Bin 26105 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/qrv20_3.dat | Bin 26100 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/qrv21_0.dat | Bin 27804 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/qrv21_1.dat | Bin 27795 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/qrv21_2.dat | Bin 27812 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/qrv21_3.dat | Bin 27810 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/qrv22_0.dat | Bin 30252 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/qrv22_1.dat | 209 - .../mpdf/mpdf/src/QrCode/data/qrv22_2.dat | Bin 30269 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/qrv22_3.dat | Bin 30258 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/qrv23_0.dat | Bin 32797 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/qrv23_1.dat | 217 - .../mpdf/mpdf/src/QrCode/data/qrv23_2.dat | Bin 32809 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/qrv23_3.dat | Bin 32804 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/qrv24_0.dat | Bin 35439 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/qrv24_1.dat | 225 - .../mpdf/mpdf/src/QrCode/data/qrv24_2.dat | Bin 35451 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/qrv24_3.dat | Bin 35446 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/qrv25_0.dat | 233 - .../mpdf/mpdf/src/QrCode/data/qrv25_1.dat | 233 - .../mpdf/mpdf/src/QrCode/data/qrv25_2.dat | Bin 38190 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/qrv25_3.dat | Bin 38184 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/qrv26_0.dat | 241 - .../mpdf/mpdf/src/QrCode/data/qrv26_1.dat | 241 - .../mpdf/mpdf/src/QrCode/data/qrv26_2.dat | Bin 41024 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/qrv26_3.dat | 241 - .../mpdf/mpdf/src/QrCode/data/qrv27_0.dat | 249 - .../mpdf/mpdf/src/QrCode/data/qrv27_1.dat | 249 - .../mpdf/mpdf/src/QrCode/data/qrv27_2.dat | 249 - .../mpdf/mpdf/src/QrCode/data/qrv27_3.dat | 249 - .../mpdf/mpdf/src/QrCode/data/qrv28_0.dat | 257 - .../mpdf/mpdf/src/QrCode/data/qrv28_1.dat | 257 - .../mpdf/mpdf/src/QrCode/data/qrv28_2.dat | 257 - .../mpdf/mpdf/src/QrCode/data/qrv28_3.dat | 257 - .../mpdf/mpdf/src/QrCode/data/qrv29_0.dat | 265 - .../mpdf/mpdf/src/QrCode/data/qrv29_1.dat | 265 - .../mpdf/mpdf/src/QrCode/data/qrv29_2.dat | 265 - .../mpdf/mpdf/src/QrCode/data/qrv29_3.dat | 265 - .../mpdf/mpdf/src/QrCode/data/qrv2_0.dat | Bin 1109 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/qrv2_1.dat | Bin 1109 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/qrv2_2.dat | Bin 1109 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/qrv2_3.dat | Bin 1109 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/qrv30_0.dat | 273 - .../mpdf/mpdf/src/QrCode/data/qrv30_1.dat | 273 - .../mpdf/mpdf/src/QrCode/data/qrv30_2.dat | 273 - .../mpdf/mpdf/src/QrCode/data/qrv30_3.dat | 273 - .../mpdf/mpdf/src/QrCode/data/qrv31_0.dat | 281 - .../mpdf/mpdf/src/QrCode/data/qrv31_1.dat | 281 - .../mpdf/mpdf/src/QrCode/data/qrv31_2.dat | 281 - .../mpdf/mpdf/src/QrCode/data/qrv31_3.dat | 281 - .../mpdf/mpdf/src/QrCode/data/qrv32_0.dat | 289 - .../mpdf/mpdf/src/QrCode/data/qrv32_1.dat | 289 - .../mpdf/mpdf/src/QrCode/data/qrv32_2.dat | 289 - .../mpdf/mpdf/src/QrCode/data/qrv32_3.dat | 289 - .../mpdf/mpdf/src/QrCode/data/qrv33_0.dat | 297 - .../mpdf/mpdf/src/QrCode/data/qrv33_1.dat | 297 - .../mpdf/mpdf/src/QrCode/data/qrv33_2.dat | 297 - .../mpdf/mpdf/src/QrCode/data/qrv33_3.dat | 297 - .../mpdf/mpdf/src/QrCode/data/qrv34_0.dat | 305 - .../mpdf/mpdf/src/QrCode/data/qrv34_1.dat | 305 - .../mpdf/mpdf/src/QrCode/data/qrv34_2.dat | 305 - .../mpdf/mpdf/src/QrCode/data/qrv34_3.dat | 305 - .../mpdf/mpdf/src/QrCode/data/qrv35_0.dat | 313 - .../mpdf/mpdf/src/QrCode/data/qrv35_1.dat | 313 - .../mpdf/mpdf/src/QrCode/data/qrv35_2.dat | 313 - .../mpdf/mpdf/src/QrCode/data/qrv35_3.dat | 313 - .../mpdf/mpdf/src/QrCode/data/qrv36_0.dat | 321 - .../mpdf/mpdf/src/QrCode/data/qrv36_1.dat | 321 - .../mpdf/mpdf/src/QrCode/data/qrv36_2.dat | 321 - .../mpdf/mpdf/src/QrCode/data/qrv36_3.dat | 321 - .../mpdf/mpdf/src/QrCode/data/qrv37_0.dat | 329 - .../mpdf/mpdf/src/QrCode/data/qrv37_1.dat | 329 - .../mpdf/mpdf/src/QrCode/data/qrv37_2.dat | 329 - .../mpdf/mpdf/src/QrCode/data/qrv37_3.dat | 329 - .../mpdf/mpdf/src/QrCode/data/qrv38_0.dat | 337 - .../mpdf/mpdf/src/QrCode/data/qrv38_1.dat | 337 - .../mpdf/mpdf/src/QrCode/data/qrv38_2.dat | 337 - .../mpdf/mpdf/src/QrCode/data/qrv38_3.dat | 337 - .../mpdf/mpdf/src/QrCode/data/qrv39_0.dat | 345 - .../mpdf/mpdf/src/QrCode/data/qrv39_1.dat | 345 - .../mpdf/mpdf/src/QrCode/data/qrv39_2.dat | 345 - .../mpdf/mpdf/src/QrCode/data/qrv39_3.dat | 345 - .../mpdf/mpdf/src/QrCode/data/qrv3_0.dat | Bin 1733 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/qrv3_1.dat | Bin 1733 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/qrv3_2.dat | Bin 1734 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/qrv3_3.dat | Bin 1734 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/qrv40_0.dat | 353 - .../mpdf/mpdf/src/QrCode/data/qrv40_1.dat | 353 - .../mpdf/mpdf/src/QrCode/data/qrv40_2.dat | 353 - .../mpdf/mpdf/src/QrCode/data/qrv40_3.dat | 353 - .../mpdf/mpdf/src/QrCode/data/qrv4_0.dat | Bin 2454 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/qrv4_1.dat | Bin 2453 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/qrv4_2.dat | Bin 2456 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/qrv4_3.dat | Bin 2454 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/qrv5_0.dat | Bin 3270 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/qrv5_1.dat | Bin 3269 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/qrv5_2.dat | Bin 3272 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/qrv5_3.dat | Bin 3272 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/qrv6_0.dat | Bin 4184 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/qrv6_1.dat | Bin 4182 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/qrv6_2.dat | Bin 4184 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/qrv6_3.dat | Bin 4184 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/qrv7_0.dat | Bin 4739 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/qrv7_1.dat | Bin 4737 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/qrv7_2.dat | Bin 4740 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/qrv7_3.dat | Bin 4741 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/qrv8_0.dat | Bin 5843 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/qrv8_1.dat | Bin 5841 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/qrv8_2.dat | Bin 5845 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/qrv8_3.dat | Bin 5845 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/qrv9_0.dat | Bin 7044 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/qrv9_1.dat | Bin 7041 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/qrv9_2.dat | Bin 7047 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/qrv9_3.dat | Bin 7047 -> 0 bytes .../mpdf/mpdf/src/QrCode/data/qrvfr1.dat | 21 - .../mpdf/mpdf/src/QrCode/data/qrvfr10.dat | 57 - .../mpdf/mpdf/src/QrCode/data/qrvfr11.dat | 61 - .../mpdf/mpdf/src/QrCode/data/qrvfr12.dat | 65 - .../mpdf/mpdf/src/QrCode/data/qrvfr13.dat | 69 - .../mpdf/mpdf/src/QrCode/data/qrvfr14.dat | 73 - .../mpdf/mpdf/src/QrCode/data/qrvfr15.dat | 77 - .../mpdf/mpdf/src/QrCode/data/qrvfr16.dat | 81 - .../mpdf/mpdf/src/QrCode/data/qrvfr17.dat | 85 - .../mpdf/mpdf/src/QrCode/data/qrvfr18.dat | 89 - .../mpdf/mpdf/src/QrCode/data/qrvfr19.dat | 93 - .../mpdf/mpdf/src/QrCode/data/qrvfr2.dat | 25 - .../mpdf/mpdf/src/QrCode/data/qrvfr20.dat | 97 - .../mpdf/mpdf/src/QrCode/data/qrvfr21.dat | 101 - .../mpdf/mpdf/src/QrCode/data/qrvfr22.dat | 105 - .../mpdf/mpdf/src/QrCode/data/qrvfr23.dat | 109 - .../mpdf/mpdf/src/QrCode/data/qrvfr24.dat | 113 - .../mpdf/mpdf/src/QrCode/data/qrvfr25.dat | 117 - .../mpdf/mpdf/src/QrCode/data/qrvfr26.dat | 121 - .../mpdf/mpdf/src/QrCode/data/qrvfr27.dat | 125 - .../mpdf/mpdf/src/QrCode/data/qrvfr28.dat | 129 - .../mpdf/mpdf/src/QrCode/data/qrvfr29.dat | 133 - .../mpdf/mpdf/src/QrCode/data/qrvfr3.dat | 29 - .../mpdf/mpdf/src/QrCode/data/qrvfr30.dat | 137 - .../mpdf/mpdf/src/QrCode/data/qrvfr31.dat | 141 - .../mpdf/mpdf/src/QrCode/data/qrvfr32.dat | 145 - .../mpdf/mpdf/src/QrCode/data/qrvfr33.dat | 149 - .../mpdf/mpdf/src/QrCode/data/qrvfr34.dat | 153 - .../mpdf/mpdf/src/QrCode/data/qrvfr35.dat | 157 - .../mpdf/mpdf/src/QrCode/data/qrvfr36.dat | 161 - .../mpdf/mpdf/src/QrCode/data/qrvfr37.dat | 165 - .../mpdf/mpdf/src/QrCode/data/qrvfr38.dat | 169 - .../mpdf/mpdf/src/QrCode/data/qrvfr39.dat | 173 - .../mpdf/mpdf/src/QrCode/data/qrvfr4.dat | 33 - .../mpdf/mpdf/src/QrCode/data/qrvfr40.dat | 177 - .../mpdf/mpdf/src/QrCode/data/qrvfr5.dat | 37 - .../mpdf/mpdf/src/QrCode/data/qrvfr6.dat | 41 - .../mpdf/mpdf/src/QrCode/data/qrvfr7.dat | 45 - .../mpdf/mpdf/src/QrCode/data/qrvfr8.dat | 49 - .../mpdf/mpdf/src/QrCode/data/qrvfr9.dat | 53 - .../mpdf/mpdf/src/QrCode/data/rsc10.dat | 11 - .../mpdf/mpdf/src/QrCode/data/rsc13.dat | 14 - .../mpdf/mpdf/src/QrCode/data/rsc15.dat | 17 - .../mpdf/mpdf/src/QrCode/data/rsc16.dat | 17 - .../mpdf/mpdf/src/QrCode/data/rsc17.dat | 18 - .../mpdf/mpdf/src/QrCode/data/rsc18.dat | 19 - .../mpdf/mpdf/src/QrCode/data/rsc20.dat | 21 - .../mpdf/mpdf/src/QrCode/data/rsc22.dat | 23 - .../mpdf/mpdf/src/QrCode/data/rsc24.dat | 25 - .../mpdf/mpdf/src/QrCode/data/rsc26.dat | 27 - .../mpdf/mpdf/src/QrCode/data/rsc28.dat | 29 - .../mpdf/mpdf/src/QrCode/data/rsc30.dat | 31 - .../mpdf/mpdf/src/QrCode/data/rsc32.dat | 33 - .../mpdf/mpdf/src/QrCode/data/rsc34.dat | 36 - .../mpdf/mpdf/src/QrCode/data/rsc36.dat | 73 - .../mpdf/mpdf/src/QrCode/data/rsc40.dat | 41 - .../mpdf/mpdf/src/QrCode/data/rsc42.dat | 43 - .../mpdf/mpdf/src/QrCode/data/rsc44.dat | 45 - .../mpdf/mpdf/src/QrCode/data/rsc46.dat | 47 - .../mpdf/mpdf/src/QrCode/data/rsc48.dat | 49 - .../mpdf/mpdf/src/QrCode/data/rsc50.dat | 51 - .../mpdf/mpdf/src/QrCode/data/rsc52.dat | 106 - .../mpdf/mpdf/src/QrCode/data/rsc54.dat | 55 - .../mpdf/mpdf/src/QrCode/data/rsc56.dat | 57 - .../mpdf/mpdf/src/QrCode/data/rsc58.dat | 59 - .../mpdf/mpdf/src/QrCode/data/rsc60.dat | 61 - .../mpdf/mpdf/src/QrCode/data/rsc62.dat | 63 - .../mpdf/mpdf/src/QrCode/data/rsc64.dat | 66 - .../mpdf/mpdf/src/QrCode/data/rsc66.dat | 68 - .../mpdf/mpdf/src/QrCode/data/rsc68.dat | 69 - .../vendor/mpdf/mpdf/src/QrCode/data/rsc7.dat | 8 - .../mpdf/mpdf/src/RemoteContentFetcher.php | 152 + .../vendor/mpdf/mpdf/src/ServiceFactory.php | 170 + .../vendor/mpdf/mpdf/src/Shaper/Indic.php | 41 +- .../vendor/mpdf/mpdf/src/Shaper/Myanmar.php | 6 +- .../vendor/mpdf/mpdf/src/Shaper/Sea.php | 2 +- .../vendor/mpdf/mpdf/src/SizeConverter.php | 2 +- .../vendor/mpdf/mpdf/src/Strict.php | 67 + .../vendor/mpdf/mpdf/src/TTFontFile.php | 3046 ++-- .../mpdf/mpdf/src/TTFontFileAnalysis.php | 26 +- .../vendor/mpdf/mpdf/src/TableOfContents.php | 20 +- pandora_console/vendor/mpdf/mpdf/src/Tag.php | 5 +- .../vendor/mpdf/mpdf/src/Tag/BarCode.php | 25 +- .../vendor/mpdf/mpdf/src/Tag/BlockTag.php | 32 +- .../vendor/mpdf/mpdf/src/Tag/Columns.php | 2 +- .../vendor/mpdf/mpdf/src/Tag/Hr.php | 4 +- .../vendor/mpdf/mpdf/src/Tag/Img.php | 6 +- .../vendor/mpdf/mpdf/src/Tag/Input.php | 12 +- .../vendor/mpdf/mpdf/src/Tag/Meter.php | 20 +- .../vendor/mpdf/mpdf/src/Tag/Table.php | 87 +- .../vendor/mpdf/mpdf/src/Tag/Tag.php | 11 + .../vendor/mpdf/mpdf/src/Tag/Td.php | 22 +- .../vendor/mpdf/mpdf/src/Tag/TextArea.php | 6 +- .../vendor/mpdf/mpdf/src/Tag/Tr.php | 2 + .../vendor/mpdf/mpdf/src/Utils/Arrays.php | 80 + .../mpdf/mpdf/src/Writer/BackgroundWriter.php | 451 + .../mpdf/mpdf/src/Writer/BaseWriter.php | 249 + .../mpdf/mpdf/src/Writer/BookmarkWriter.php | 138 + .../mpdf/mpdf/src/Writer/ColorWriter.php | 46 + .../mpdf/mpdf/src/Writer/FontWriter.php | 679 + .../mpdf/mpdf/src/Writer/FormWriter.php | 62 + .../mpdf/mpdf/src/Writer/ImageWriter.php | 119 + .../mpdf/mpdf/src/Writer/JavaScriptWriter.php | 46 + .../mpdf/mpdf/src/Writer/MetadataWriter.php | 829 + .../mpdf/mpdf/src/Writer/ObjectWriter.php | 64 + .../mpdf/src/Writer/OptionalContentWriter.php | 71 + .../mpdf/mpdf/src/Writer/PageWriter.php | 285 + .../mpdf/mpdf/src/Writer/ResourceWriter.php | 256 + .../vendor/myclabs/deep-copy/.gitattributes | 7 - .../myclabs/deep-copy/.github/FUNDING.yml | 12 + .../vendor/myclabs/deep-copy/.gitignore | 3 - .../vendor/myclabs/deep-copy/.travis.yml | 40 - .../vendor/myclabs/deep-copy/README.md | 11 +- .../vendor/myclabs/deep-copy/composer.json | 7 +- .../vendor/myclabs/deep-copy/doc/clone.png | Bin 12380 -> 0 bytes .../myclabs/deep-copy/doc/deep-clone.png | Bin 14009 -> 0 bytes .../myclabs/deep-copy/doc/deep-copy.png | Bin 10895 -> 0 bytes .../vendor/myclabs/deep-copy/doc/graph.png | Bin 6436 -> 0 bytes .../myclabs/deep-copy/fixtures/f001/A.php | 20 - .../myclabs/deep-copy/fixtures/f001/B.php | 20 - .../myclabs/deep-copy/fixtures/f002/A.php | 33 - .../myclabs/deep-copy/fixtures/f003/Foo.php | 26 - .../fixtures/f004/UnclonableItem.php | 13 - .../myclabs/deep-copy/fixtures/f005/Foo.php | 13 - .../myclabs/deep-copy/fixtures/f006/A.php | 26 - .../myclabs/deep-copy/fixtures/f006/B.php | 26 - .../fixtures/f007/FooDateInterval.php | 15 - .../fixtures/f007/FooDateTimeZone.php | 15 - .../myclabs/deep-copy/fixtures/f008/A.php | 18 - .../myclabs/deep-copy/fixtures/f008/B.php | 7 - .../deep-copy/src/DeepCopy/DeepCopy.php | 19 +- .../DeepCopy/Matcher/PropertyTypeMatcher.php | 6 + .../TypeFilter/Spl/ArrayObjectFilter.php | 36 + .../deep-copy/src/DeepCopy/deep_copy.php | 26 +- .../paragonie/random_compat/composer.json | 2 +- pandora_console/vendor/psr/log/.gitignore | 1 - .../vendor/psr/log/Psr/Log/AbstractLogger.php | 128 - .../log/Psr/Log/Test/LoggerInterfaceTest.php | 140 - pandora_console/vendor/psr/log/README.md | 13 + pandora_console/vendor/psr/log/composer.json | 8 +- .../vendor/psr/log/src/AbstractLogger.php | 15 + .../Log => src}/InvalidArgumentException.php | 0 .../psr/log/{Psr/Log => src}/LogLevel.php | 0 .../{Psr/Log => src}/LoggerAwareInterface.php | 0 .../log/{Psr/Log => src}/LoggerAwareTrait.php | 4 +- .../log/{Psr/Log => src}/LoggerInterface.php | 58 +- .../psr/log/{Psr/Log => src}/LoggerTrait.php | 38 +- .../psr/log/{Psr/Log => src}/NullLogger.php | 8 +- .../setasign/fpdi/{LICENSE => LICENSE.txt} | 2 +- .../vendor/setasign/fpdi/README.md | 160 +- .../vendor/setasign/fpdi/SECURITY.md | 5 + .../vendor/setasign/fpdi/composer.json | 75 +- .../setasign/fpdi/filters/FilterASCII85.php | 106 - .../fpdi/filters/FilterASCIIHexDecode.php | 43 - .../setasign/fpdi/filters/FilterLZW.php | 164 - .../vendor/setasign/fpdi/fpdf_tpl.php | 548 - pandora_console/vendor/setasign/fpdi/fpdi.php | 705 - .../vendor/setasign/fpdi/fpdi_bridge.php | 206 - .../vendor/setasign/fpdi/fpdi_pdf_parser.php | 355 - .../vendor/setasign/fpdi/pdf_context.php | 151 - .../vendor/setasign/fpdi/pdf_parser.php | 925 -- .../vendor/setasign/fpdi/src/FpdfTpl.php | 21 + .../vendor/setasign/fpdi/src/FpdfTplTrait.php | 470 + .../vendor/setasign/fpdi/src/Fpdi.php | 153 + .../setasign/fpdi/src/FpdiException.php | 18 + .../vendor/setasign/fpdi/src/FpdiTrait.php | 559 + .../CrossReference/AbstractReader.php | 95 + .../CrossReference/CrossReference.php | 326 + .../CrossReferenceException.php | 79 + .../PdfParser/CrossReference/FixedReader.php | 199 + .../PdfParser/CrossReference/LineReader.php | 167 + .../CrossReference/ReaderInterface.php | 34 + .../fpdi/src/PdfParser/Filter/Ascii85.php | 102 + .../src/PdfParser/Filter/Ascii85Exception.php | 27 + .../fpdi/src/PdfParser/Filter/AsciiHex.php | 47 + .../src/PdfParser/Filter/FilterException.php | 23 + .../src/PdfParser/Filter/FilterInterface.php | 25 + .../fpdi/src/PdfParser/Filter/Flate.php | 86 + .../src/PdfParser/Filter/FlateException.php | 27 + .../fpdi/src/PdfParser/Filter/Lzw.php | 187 + .../src/PdfParser/Filter/LzwException.php | 22 + .../setasign/fpdi/src/PdfParser/PdfParser.php | 381 + .../fpdi/src/PdfParser/PdfParserException.php | 49 + .../fpdi/src/PdfParser/StreamReader.php | 471 + .../setasign/fpdi/src/PdfParser/Tokenizer.php | 154 + .../fpdi/src/PdfParser/Type/PdfArray.php | 85 + .../fpdi/src/PdfParser/Type/PdfBoolean.php | 42 + .../fpdi/src/PdfParser/Type/PdfDictionary.php | 134 + .../fpdi/src/PdfParser/Type/PdfHexString.php | 77 + .../src/PdfParser/Type/PdfIndirectObject.php | 103 + .../Type/PdfIndirectObjectReference.php | 52 + .../fpdi/src/PdfParser/Type/PdfName.php | 82 + .../fpdi/src/PdfParser/Type/PdfNull.php | 19 + .../fpdi/src/PdfParser/Type/PdfNumeric.php | 43 + .../fpdi/src/PdfParser/Type/PdfStream.php | 326 + .../fpdi/src/PdfParser/Type/PdfString.php | 172 + .../fpdi/src/PdfParser/Type/PdfToken.php | 43 + .../fpdi/src/PdfParser/Type/PdfType.php | 78 + .../src/PdfParser/Type/PdfTypeException.php | 24 + .../src/PdfReader/DataStructure/Rectangle.php | 173 + .../setasign/fpdi/src/PdfReader/Page.php | 271 + .../fpdi/src/PdfReader/PageBoundaries.php | 94 + .../setasign/fpdi/src/PdfReader/PdfReader.php | 234 + .../fpdi/src/PdfReader/PdfReaderException.php | 34 + .../vendor/setasign/fpdi/src/Tcpdf/Fpdi.php | 270 + .../vendor/setasign/fpdi/src/TcpdfFpdi.php | 23 + .../setasign/fpdi/src/Tfpdf/FpdfTpl.php | 23 + .../vendor/setasign/fpdi/src/Tfpdf/Fpdi.php | 154 + .../vendor/setasign/fpdi/src/autoload.php | 21 + .../swiftmailer/swiftmailer/.gitattributes | 4 +- .../swiftmailer/.github/workflows/tests.yml | 55 + .../vendor/swiftmailer/swiftmailer/.gitignore | 1 + .../swiftmailer/swiftmailer/.php_cs.dist | 9 +- .../swiftmailer/swiftmailer/.travis.yml | 25 - .../vendor/swiftmailer/swiftmailer/CHANGES | 61 +- .../vendor/swiftmailer/swiftmailer/LICENSE | 2 +- .../vendor/swiftmailer/swiftmailer/README | 15 - .../vendor/swiftmailer/swiftmailer/README.md | 25 + .../swiftmailer/swiftmailer/composer.json | 18 +- .../swiftmailer/doc/introduction.rst | 12 +- .../swiftmailer/swiftmailer/doc/messages.rst | 29 +- .../swiftmailer/swiftmailer/doc/plugins.rst | 2 +- .../swiftmailer/swiftmailer/doc/sending.rst | 21 +- .../swiftmailer/lib/classes/Swift.php | 4 +- .../lib/classes/Swift/AddressEncoder.php | 4 +- .../AddressEncoder/IdnAddressEncoder.php | 23 +- .../lib/classes/Swift/Attachment.php | 4 +- .../Swift/ByteStream/ArrayByteStream.php | 8 +- .../Swift/ByteStream/FileByteStream.php | 8 +- .../ByteStream/TemporaryFileByteStream.php | 10 + .../GenericFixedWidthReader.php | 2 +- .../Swift/CharacterReader/UsAsciiReader.php | 4 +- .../Swift/CharacterReader/Utf8Reader.php | 8 +- .../SimpleCharacterReaderFactory.php | 6 +- .../lib/classes/Swift/CharacterStream.php | 2 - .../CharacterStream/ArrayCharacterStream.php | 14 +- .../CharacterStream/NgCharacterStream.php | 4 +- .../lib/classes/Swift/DependencyContainer.php | 12 +- .../lib/classes/Swift/EmbeddedFile.php | 2 +- .../classes/Swift/Encoder/Base64Encoder.php | 2 +- .../lib/classes/Swift/Encoder/QpEncoder.php | 6 +- .../classes/Swift/Encoder/Rfc2231Encoder.php | 4 +- .../classes/Swift/Events/CommandListener.php | 2 - .../classes/Swift/Events/EventDispatcher.php | 23 +- .../classes/Swift/Events/ResponseListener.php | 2 - .../lib/classes/Swift/Events/SendListener.php | 4 - .../Swift/Events/SimpleEventDispatcher.php | 23 +- .../Swift/Events/TransportChangeListener.php | 8 - .../Events/TransportExceptionListener.php | 2 - .../lib/classes/Swift/FailoverTransport.php | 2 +- .../lib/classes/Swift/FileSpool.php | 2 +- .../lib/classes/Swift/Filterable.php | 3 +- .../lib/classes/Swift/KeyCache.php | 7 +- .../classes/Swift/KeyCache/ArrayKeyCache.php | 14 +- .../classes/Swift/KeyCache/DiskKeyCache.php | 17 +- .../Swift/KeyCache/KeyCacheInputStream.php | 4 - .../classes/Swift/LoadBalancedTransport.php | 2 +- .../swiftmailer/lib/classes/Swift/Message.php | 6 +- .../lib/classes/Swift/Mime/Attachment.php | 2 +- .../ContentEncoder/Base64ContentEncoder.php | 10 +- .../ContentEncoder/NativeQpContentEncoder.php | 14 +- .../ContentEncoder/NullContentEncoder.php | 6 +- .../ContentEncoder/PlainContentEncoder.php | 8 +- .../Mime/ContentEncoder/QpContentEncoder.php | 4 +- .../ContentEncoder/QpContentEncoderProxy.php | 2 +- .../classes/Swift/Mime/EncodingObserver.php | 2 - .../HeaderEncoder/Base64HeaderEncoder.php | 2 +- .../Mime/HeaderEncoder/QpHeaderEncoder.php | 2 +- .../Swift/Mime/Headers/AbstractHeader.php | 34 +- .../Mime/Headers/IdentificationHeader.php | 9 +- .../Swift/Mime/Headers/MailboxHeader.php | 8 +- .../Mime/Headers/ParameterizedHeader.php | 12 +- .../classes/Swift/Mime/Headers/PathHeader.php | 4 +- .../lib/classes/Swift/Mime/MimePart.php | 17 +- .../Swift/Mime/SimpleHeaderFactory.php | 6 +- .../classes/Swift/Mime/SimpleHeaderSet.php | 44 +- .../lib/classes/Swift/Mime/SimpleMessage.php | 16 +- .../classes/Swift/Mime/SimpleMimeEntity.php | 12 +- .../lib/classes/Swift/MimePart.php | 2 +- .../lib/classes/Swift/NullTransport.php | 2 +- .../Swift/Plugins/BandwidthMonitorPlugin.php | 6 +- .../classes/Swift/Plugins/DecoratorPlugin.php | 12 +- .../classes/Swift/Plugins/LoggerPlugin.php | 8 +- .../Swift/Plugins/Loggers/ArrayLogger.php | 2 +- .../classes/Swift/Plugins/MessageLogger.php | 2 +- .../Swift/Plugins/PopBeforeSmtpPlugin.php | 26 +- .../Swift/Plugins/RedirectingPlugin.php | 4 +- .../lib/classes/Swift/Plugins/Reporter.php | 5 +- .../classes/Swift/Plugins/ReporterPlugin.php | 6 +- .../Swift/Plugins/Reporters/HtmlReporter.php | 4 +- .../lib/classes/Swift/SendmailTransport.php | 2 +- .../lib/classes/Swift/Signers/BodySigner.php | 2 - .../lib/classes/Swift/Signers/DKIMSigner.php | 26 +- .../classes/Swift/Signers/DomainKeySigner.php | 10 +- .../classes/Swift/Signers/HeaderSigner.php | 4 - .../classes/Swift/Signers/OpenDKIMSigner.php | 8 +- .../lib/classes/Swift/Signers/SMimeSigner.php | 12 +- .../lib/classes/Swift/SmtpTransport.php | 9 +- .../lib/classes/Swift/SpoolTransport.php | 2 +- .../ByteArrayReplacementFilter.php | 14 +- .../lib/classes/Swift/Transport.php | 5 +- .../Swift/Transport/AbstractSmtpTransport.php | 66 +- .../Esmtp/Auth/CramMd5Authenticator.php | 12 +- .../Esmtp/Auth/LoginAuthenticator.php | 4 +- .../Esmtp/Auth/NTLMAuthenticator.php | 38 +- .../Esmtp/Auth/PlainAuthenticator.php | 2 +- .../Swift/Transport/Esmtp/AuthHandler.php | 8 +- .../Swift/Transport/Esmtp/Authenticator.php | 5 +- .../Swift/Transport/EsmtpTransport.php | 16 +- .../Swift/Transport/FailoverTransport.php | 12 +- .../lib/classes/Swift/Transport/IoBuffer.php | 2 - .../Swift/Transport/LoadBalancedTransport.php | 12 +- .../classes/Swift/Transport/NullTransport.php | 6 +- .../Swift/Transport/SendmailTransport.php | 8 +- .../classes/Swift/Transport/StreamBuffer.php | 37 +- .../lib/swiftmailer_generate_mimes_config.php | 22 +- .../swiftmailer/swiftmailer/phpunit.xml.dist | 38 - .../tests/IdenticalBinaryConstraint.php | 62 - .../swiftmailer/tests/StreamCollector.php | 11 - .../tests/SwiftMailerSmokeTestCase.php | 46 - .../swiftmailer/tests/SwiftMailerTestCase.php | 38 - .../_samples/charsets/iso-2022-jp/one.txt | 11 - .../_samples/charsets/iso-8859-1/one.txt | 19 - .../tests/_samples/charsets/utf-8/one.txt | 22 - .../tests/_samples/charsets/utf-8/three.txt | 45 - .../tests/_samples/charsets/utf-8/two.txt | 3 - .../tests/_samples/dkim/dkim.test.priv | 15 - .../tests/_samples/dkim/dkim.test.pub | 6 - .../swiftmailer/tests/_samples/files/data.txt | 1 - .../tests/_samples/files/swiftmailer.png | Bin 3194 -> 0 bytes .../tests/_samples/files/textfile.zip | Bin 202 -> 0 bytes .../swiftmailer/tests/_samples/smime/CA.srl | 1 - .../swiftmailer/tests/_samples/smime/ca.crt | 21 - .../swiftmailer/tests/_samples/smime/ca.key | 27 - .../tests/_samples/smime/create-cert.sh | 40 - .../tests/_samples/smime/encrypt.crt | 19 - .../tests/_samples/smime/encrypt.key | 27 - .../tests/_samples/smime/encrypt2.crt | 19 - .../tests/_samples/smime/encrypt2.key | 27 - .../tests/_samples/smime/intermediate.crt | 19 - .../tests/_samples/smime/intermediate.key | 27 - .../swiftmailer/tests/_samples/smime/sign.crt | 19 - .../swiftmailer/tests/_samples/smime/sign.key | 27 - .../tests/_samples/smime/sign2.crt | 19 - .../tests/_samples/smime/sign2.key | 27 - .../tests/acceptance.conf.php.default | 37 - .../Swift/AttachmentAcceptanceTest.php | 12 - .../FileByteStreamAcceptanceTest.php | 162 - ...leCharacterReaderFactoryAcceptanceTest.php | 179 - .../DependencyContainerAcceptanceTest.php | 22 - .../Swift/EmbeddedFileAcceptanceTest.php | 12 - .../Encoder/Base64EncoderAcceptanceTest.php | 45 - .../Swift/Encoder/QpEncoderAcceptanceTest.php | 54 - .../Encoder/Rfc2231EncoderAcceptanceTest.php | 50 - .../KeyCache/ArrayKeyCacheAcceptanceTest.php | 173 - .../KeyCache/DiskKeyCacheAcceptanceTest.php | 173 - .../Swift/MessageAcceptanceTest.php | 55 - .../Swift/Mime/AttachmentAcceptanceTest.php | 126 - .../Base64ContentEncoderAcceptanceTest.php | 56 - .../NativeQpContentEncoderAcceptanceTest.php | 88 - .../PlainContentEncoderAcceptanceTest.php | 88 - .../QpContentEncoderAcceptanceTest.php | 160 - .../Swift/Mime/EmbeddedFileAcceptanceTest.php | 139 - .../Base64HeaderEncoderAcceptanceTest.php | 32 - .../Swift/Mime/MimePartAcceptanceTest.php | 130 - .../Mime/SimpleMessageAcceptanceTest.php | 1250 -- .../Swift/MimePartAcceptanceTest.php | 15 - .../AbstractStreamBufferAcceptanceTest.php | 131 - .../BasicSocketAcceptanceTest.php | 33 - .../StreamBuffer/ProcessAcceptanceTest.php | 26 - .../StreamBuffer/SocketTimeoutTest.php | 65 - .../StreamBuffer/SslSocketAcceptanceTest.php | 40 - .../StreamBuffer/TlsSocketAcceptanceTest.php | 39 - .../swiftmailer/tests/bootstrap.php | 21 - .../tests/bug/Swift/Bug111Test.php | 42 - .../tests/bug/Swift/Bug118Test.php | 20 - .../tests/bug/Swift/Bug206Test.php | 40 - .../tests/bug/Swift/Bug274Test.php | 25 - .../swiftmailer/tests/bug/Swift/Bug34Test.php | 75 - .../swiftmailer/tests/bug/Swift/Bug35Test.php | 73 - .../swiftmailer/tests/bug/Swift/Bug38Test.php | 192 - .../tests/bug/Swift/Bug518Test.php | 38 - .../swiftmailer/tests/bug/Swift/Bug51Test.php | 110 - .../tests/bug/Swift/Bug534Test.php | 38 - .../tests/bug/Swift/Bug650Test.php | 38 - .../swiftmailer/tests/bug/Swift/Bug71Test.php | 20 - .../swiftmailer/tests/bug/Swift/Bug76Test.php | 71 - ...FileByteStreamConsecutiveReadCallsTest.php | 18 - .../tests/fixtures/MimeEntityFixture.php | 67 - .../swiftmailer/tests/smoke.conf.php.default | 63 - .../smoke/Swift/Smoke/AttachmentSmokeTest.php | 33 - .../smoke/Swift/Smoke/BasicSmokeTest.php | 23 - .../Smoke/HtmlWithAttachmentSmokeTest.php | 31 - .../Swift/Smoke/InternationalSmokeTest.php | 40 - .../Swift/ByteStream/ArrayByteStreamTest.php | 202 - .../GenericFixedWidthReaderTest.php | 43 - .../CharacterReader/UsAsciiReaderTest.php | 52 - .../Swift/CharacterReader/Utf8ReaderTest.php | 65 - .../ArrayCharacterStreamTest.php | 358 - .../unit/Swift/DependencyContainerTest.php | 191 - .../unit/Swift/Encoder/Base64EncoderTest.php | 173 - .../unit/Swift/Encoder/QpEncoderTest.php | 400 - .../unit/Swift/Encoder/Rfc2231EncoderTest.php | 141 - .../unit/Swift/Events/CommandEventTest.php | 34 - .../unit/Swift/Events/EventObjectTest.php | 32 - .../unit/Swift/Events/ResponseEventTest.php | 38 - .../tests/unit/Swift/Events/SendEventTest.php | 96 - .../Events/SimpleEventDispatcherTest.php | 142 - .../Swift/Events/TransportChangeEventTest.php | 30 - .../Events/TransportExceptionEventTest.php | 41 - .../unit/Swift/KeyCache/ArrayKeyCacheTest.php | 240 - .../SimpleKeyCacheInputStreamTest.php | 73 - .../Mailer/ArrayRecipientIteratorTest.php | 42 - .../tests/unit/Swift/MailerTest.php | 145 - .../tests/unit/Swift/MessageTest.php | 133 - .../Swift/Mime/AbstractMimeEntityTest.php | 1092 -- .../tests/unit/Swift/Mime/AttachmentTest.php | 321 - .../Base64ContentEncoderTest.php | 323 - .../PlainContentEncoderTest.php | 171 - .../ContentEncoder/QpContentEncoderTest.php | 516 - .../unit/Swift/Mime/EmbeddedFileTest.php | 59 - .../HeaderEncoder/Base64HeaderEncoderTest.php | 13 - .../HeaderEncoder/QpHeaderEncoderTest.php | 221 - .../Swift/Mime/Headers/DateHeaderTest.php | 90 - .../Mime/Headers/IdentificationHeaderTest.php | 192 - .../Swift/Mime/Headers/MailboxHeaderTest.php | 367 - .../Mime/Headers/ParameterizedHeaderTest.php | 396 - .../Swift/Mime/Headers/PathHeaderTest.php | 95 - .../Mime/Headers/UnstructuredHeaderTest.php | 353 - .../tests/unit/Swift/Mime/IdGeneratorTest.php | 32 - .../tests/unit/Swift/Mime/MimePartTest.php | 234 - .../Swift/Mime/SimpleHeaderFactoryTest.php | 169 - .../unit/Swift/Mime/SimpleHeaderSetTest.php | 734 - .../unit/Swift/Mime/SimpleMessageTest.php | 837 - .../unit/Swift/Mime/SimpleMimeEntityTest.php | 12 - .../Swift/Plugins/AntiFloodPluginTest.php | 93 - .../Plugins/BandwidthMonitorPluginTest.php | 128 - .../Swift/Plugins/DecoratorPluginTest.php | 284 - .../unit/Swift/Plugins/LoggerPluginTest.php | 188 - .../Swift/Plugins/Loggers/ArrayLoggerTest.php | 65 - .../Swift/Plugins/Loggers/EchoLoggerTest.php | 24 - .../Swift/Plugins/PopBeforeSmtpPluginTest.php | 101 - .../Swift/Plugins/RedirectingPluginTest.php | 183 - .../unit/Swift/Plugins/ReporterPluginTest.php | 86 - .../Plugins/Reporters/HitReporterTest.php | 64 - .../Plugins/Reporters/HtmlReporterTest.php | 54 - .../Swift/Plugins/ThrottlerPluginTest.php | 102 - .../unit/Swift/Signers/DKIMSignerTest.php | 220 - .../unit/Swift/Signers/OpenDKIMSignerTest.php | 45 - .../unit/Swift/Signers/SMimeSignerTest.php | 653 - .../ByteArrayReplacementFilterTest.php | 129 - .../StringReplacementFilterFactoryTest.php | 36 - .../StringReplacementFilterTest.php | 59 - .../AbstractSmtpEventSupportTest.php | 558 - .../unit/Swift/Transport/AbstractSmtpTest.php | 1400 -- .../Esmtp/Auth/CramMd5AuthenticatorTest.php | 65 - .../Esmtp/Auth/LoginAuthenticatorTest.php | 65 - .../Esmtp/Auth/NTLMAuthenticatorTest.php | 204 - .../Esmtp/Auth/PlainAuthenticatorTest.php | 68 - .../Swift/Transport/Esmtp/AuthHandlerTest.php | 165 - .../EsmtpTransport/ExtensionSupportTest.php | 561 - .../Swift/Transport/EsmtpTransportTest.php | 651 - .../Swift/Transport/FailoverTransportTest.php | 600 - .../Transport/LoadBalancedTransportTest.php | 838 - .../Swift/Transport/SendmailTransportTest.php | 150 - .../unit/Swift/Transport/StreamBufferTest.php | 43 - .../vendor/symfony/polyfill-iconv/Iconv.php | 744 + .../vendor/symfony/polyfill-iconv/LICENSE | 19 + .../vendor/symfony/polyfill-iconv/README.md | 14 + .../Resources/charset/from.big5.php | 13719 ++++++++++++++++ .../Resources/charset/from.cp037.php | Bin 0 -> 3779 bytes .../Resources/charset/from.cp1006.php | Bin 0 -> 3860 bytes .../Resources/charset/from.cp1026.php | Bin 0 -> 3779 bytes .../Resources/charset/from.cp424.php | Bin 0 -> 3210 bytes .../Resources/charset/from.cp437.php | Bin 0 -> 3841 bytes .../Resources/charset/from.cp500.php | Bin 0 -> 3779 bytes .../Resources/charset/from.cp737.php | Bin 0 -> 3834 bytes .../Resources/charset/from.cp775.php | Bin 0 -> 3815 bytes .../Resources/charset/from.cp850.php | Bin 0 -> 3809 bytes .../Resources/charset/from.cp852.php | Bin 0 -> 3808 bytes .../Resources/charset/from.cp855.php | Bin 0 -> 3809 bytes .../Resources/charset/from.cp856.php | Bin 0 -> 3194 bytes .../Resources/charset/from.cp857.php | Bin 0 -> 3763 bytes .../Resources/charset/from.cp860.php | Bin 0 -> 3840 bytes .../Resources/charset/from.cp861.php | Bin 0 -> 3841 bytes .../Resources/charset/from.cp862.php | Bin 0 -> 3841 bytes .../Resources/charset/from.cp863.php | Bin 0 -> 3841 bytes .../Resources/charset/from.cp864.php | Bin 0 -> 3779 bytes .../Resources/charset/from.cp865.php | Bin 0 -> 3841 bytes .../Resources/charset/from.cp866.php | Bin 0 -> 3831 bytes .../Resources/charset/from.cp869.php | Bin 0 -> 3676 bytes .../Resources/charset/from.cp874.php | Bin 0 -> 3410 bytes .../Resources/charset/from.cp875.php | Bin 0 -> 3776 bytes .../Resources/charset/from.cp932.php | Bin 0 -> 134095 bytes .../Resources/charset/from.cp936.php | Bin 0 -> 372283 bytes .../Resources/charset/from.cp949.php | Bin 0 -> 291504 bytes .../Resources/charset/from.cp950.php | Bin 0 -> 231436 bytes .../Resources/charset/from.iso-8859-1.php | Bin 0 -> 3779 bytes .../Resources/charset/from.iso-8859-10.php | Bin 0 -> 3780 bytes .../Resources/charset/from.iso-8859-11.php | Bin 0 -> 3746 bytes .../Resources/charset/from.iso-8859-13.php | Bin 0 -> 3783 bytes .../Resources/charset/from.iso-8859-14.php | Bin 0 -> 3801 bytes .../Resources/charset/from.iso-8859-15.php | Bin 0 -> 3780 bytes .../Resources/charset/from.iso-8859-16.php | Bin 0 -> 3782 bytes .../Resources/charset/from.iso-8859-2.php | Bin 0 -> 3779 bytes .../Resources/charset/from.iso-8859-3.php | Bin 0 -> 3674 bytes .../Resources/charset/from.iso-8859-4.php | Bin 0 -> 3779 bytes .../Resources/charset/from.iso-8859-5.php | Bin 0 -> 3780 bytes .../Resources/charset/from.iso-8859-6.php | Bin 0 -> 3104 bytes .../Resources/charset/from.iso-8859-7.php | Bin 0 -> 3692 bytes .../Resources/charset/from.iso-8859-8.php | Bin 0 -> 3242 bytes .../Resources/charset/from.iso-8859-9.php | Bin 0 -> 3779 bytes .../Resources/charset/from.koi8-r.php | Bin 0 -> 3835 bytes .../Resources/charset/from.koi8-u.php | Bin 0 -> 3827 bytes .../Resources/charset/from.us-ascii.php | Bin 0 -> 1859 bytes .../Resources/charset/from.windows-1250.php | Bin 0 -> 3721 bytes .../Resources/charset/from.windows-1251.php | Bin 0 -> 3782 bytes .../Resources/charset/from.windows-1252.php | Bin 0 -> 3721 bytes .../Resources/charset/from.windows-1253.php | Bin 0 -> 3542 bytes .../Resources/charset/from.windows-1254.php | Bin 0 -> 3691 bytes .../Resources/charset/from.windows-1255.php | Bin 0 -> 3454 bytes .../Resources/charset/from.windows-1256.php | Bin 0 -> 3800 bytes .../Resources/charset/from.windows-1257.php | Bin 0 -> 3616 bytes .../Resources/charset/from.windows-1258.php | Bin 0 -> 3662 bytes .../Resources/charset/translit.php | 4106 +++++ .../symfony/polyfill-iconv/bootstrap.php | 88 + .../symfony/polyfill-iconv/bootstrap80.php | 80 + .../symfony/polyfill-iconv/composer.json | 41 + .../vendor/symfony/polyfill-intl-idn/Idn.php | 925 ++ .../vendor/symfony/polyfill-intl-idn/Info.php | 23 + .../vendor/symfony/polyfill-intl-idn/LICENSE | 19 + .../symfony/polyfill-intl-idn/README.md | 12 + .../Resources/unidata/DisallowedRanges.php | 375 + .../Resources/unidata/Regex.php | 24 + .../Resources/unidata/deviation.php | 8 + .../Resources/unidata/disallowed.php | 2638 +++ .../unidata/disallowed_STD3_mapped.php | 308 + .../unidata/disallowed_STD3_valid.php | 71 + .../Resources/unidata/ignored.php | 273 + .../Resources/unidata/mapped.php | 5778 +++++++ .../Resources/unidata/virama.php | 65 + .../symfony/polyfill-intl-idn/bootstrap.php | 145 + .../symfony/polyfill-intl-idn/bootstrap80.php | 125 + .../symfony/polyfill-intl-idn/composer.json | 44 + .../symfony/polyfill-intl-normalizer/LICENSE | 19 + .../polyfill-intl-normalizer/Normalizer.php | 310 + .../polyfill-intl-normalizer/README.md | 14 + .../Resources/stubs/Normalizer.php | 17 + .../unidata/canonicalComposition.php | 945 ++ .../unidata/canonicalDecomposition.php | 2065 +++ .../Resources/unidata/combiningClass.php | 876 + .../unidata/compatibilityDecomposition.php | 3695 +++++ .../polyfill-intl-normalizer/bootstrap.php | 23 + .../polyfill-intl-normalizer/bootstrap80.php | 19 + .../polyfill-intl-normalizer/composer.json | 39 + .../vendor/symfony/polyfill-mbstring/LICENSE | 19 + .../symfony/polyfill-mbstring/Mbstring.php | 873 + .../symfony/polyfill-mbstring/README.md | 13 + .../Resources/unidata/lowerCase.php | 1397 ++ .../Resources/unidata/titleCaseRegexp.php | 5 + .../Resources/unidata/upperCase.php | 1489 ++ .../symfony/polyfill-mbstring/bootstrap.php | 147 + .../symfony/polyfill-mbstring/bootstrap80.php | 143 + .../symfony/polyfill-mbstring/composer.json | 41 + .../vendor/symfony/polyfill-php72/LICENSE | 19 + .../vendor/symfony/polyfill-php72/Php72.php | 217 + .../vendor/symfony/polyfill-php72/README.md | 28 + .../symfony/polyfill-php72/bootstrap.php | 57 + .../symfony/polyfill-php72/composer.json | 35 + 1008 files changed, 77374 insertions(+), 60635 deletions(-) create mode 100644 pandora_console/custom/temp/dir/path/mpdf/ttfontdata/dejavusanscondensed.GDEFdata.json create mode 100644 pandora_console/custom/temp/dir/path/mpdf/ttfontdata/dejavusanscondensed.GPOSdata.json create mode 100644 pandora_console/custom/temp/dir/path/mpdf/ttfontdata/dejavusanscondensed.GSUB.arab.DFLT.json create mode 100644 pandora_console/custom/temp/dir/path/mpdf/ttfontdata/dejavusanscondensed.GSUB.arab.KUR .json create mode 100644 pandora_console/custom/temp/dir/path/mpdf/ttfontdata/dejavusanscondensed.GSUB.arab.SND .json create mode 100644 pandora_console/custom/temp/dir/path/mpdf/ttfontdata/dejavusanscondensed.GSUB.arab.URD .json create mode 100644 pandora_console/custom/temp/dir/path/mpdf/ttfontdata/dejavusanscondensed.GSUB.nko .DFLT.json create mode 100644 pandora_console/custom/temp/dir/path/mpdf/ttfontdata/dejavusanscondensed.GSUBGPOStables.dat create mode 100644 pandora_console/custom/temp/dir/path/mpdf/ttfontdata/dejavusanscondensed.GSUBdata.json create mode 100644 pandora_console/custom/temp/dir/path/mpdf/ttfontdata/dejavusanscondensed.cw.dat create mode 100644 pandora_console/custom/temp/dir/path/mpdf/ttfontdata/dejavusanscondensed.gid.dat create mode 100644 pandora_console/custom/temp/dir/path/mpdf/ttfontdata/dejavusanscondensed.mtx.json create mode 100644 pandora_console/custom/temp/dir/path/mpdf/ttfontdata/dejavuserifcondensed.cw.dat create mode 100644 pandora_console/custom/temp/dir/path/mpdf/ttfontdata/dejavuserifcondensed.gid.dat create mode 100644 pandora_console/custom/temp/dir/path/mpdf/ttfontdata/dejavuserifcondensed.mtx.json create mode 100644 pandora_console/custom/temp/dir/path/mpdf/ttfontdata/dejavuserifcondensedB.cw.dat create mode 100644 pandora_console/custom/temp/dir/path/mpdf/ttfontdata/dejavuserifcondensedB.gid.dat create mode 100644 pandora_console/custom/temp/dir/path/mpdf/ttfontdata/dejavuserifcondensedB.mtx.json create mode 100644 pandora_console/vendor/composer/InstalledVersions.php create mode 100644 pandora_console/vendor/composer/installed.php create mode 100644 pandora_console/vendor/doctrine/lexer/psalm.xml create mode 100644 pandora_console/vendor/egulias/email-validator/CHANGELOG.md create mode 100644 pandora_console/vendor/egulias/email-validator/CONTRIBUTING.md delete mode 100644 pandora_console/vendor/egulias/email-validator/EmailValidator/EmailLexer.php delete mode 100644 pandora_console/vendor/egulias/email-validator/EmailValidator/EmailParser.php delete mode 100644 pandora_console/vendor/egulias/email-validator/EmailValidator/Exception/AtextAfterCFWS.php delete mode 100644 pandora_console/vendor/egulias/email-validator/EmailValidator/Exception/CRLFAtTheEnd.php delete mode 100644 pandora_console/vendor/egulias/email-validator/EmailValidator/Exception/CRLFX2.php delete mode 100644 pandora_console/vendor/egulias/email-validator/EmailValidator/Exception/CRNoLF.php delete mode 100644 pandora_console/vendor/egulias/email-validator/EmailValidator/Exception/CharNotAllowed.php delete mode 100644 pandora_console/vendor/egulias/email-validator/EmailValidator/Exception/CommaInDomain.php delete mode 100644 pandora_console/vendor/egulias/email-validator/EmailValidator/Exception/ConsecutiveAt.php delete mode 100644 pandora_console/vendor/egulias/email-validator/EmailValidator/Exception/ConsecutiveDot.php delete mode 100644 pandora_console/vendor/egulias/email-validator/EmailValidator/Exception/DomainHyphened.php delete mode 100644 pandora_console/vendor/egulias/email-validator/EmailValidator/Exception/DotAtEnd.php delete mode 100644 pandora_console/vendor/egulias/email-validator/EmailValidator/Exception/DotAtStart.php delete mode 100644 pandora_console/vendor/egulias/email-validator/EmailValidator/Exception/ExpectingAT.php delete mode 100644 pandora_console/vendor/egulias/email-validator/EmailValidator/Exception/ExpectingATEXT.php delete mode 100644 pandora_console/vendor/egulias/email-validator/EmailValidator/Exception/ExpectingCTEXT.php delete mode 100644 pandora_console/vendor/egulias/email-validator/EmailValidator/Exception/ExpectingDTEXT.php delete mode 100644 pandora_console/vendor/egulias/email-validator/EmailValidator/Exception/ExpectingDomainLiteralClose.php delete mode 100644 pandora_console/vendor/egulias/email-validator/EmailValidator/Exception/ExpectingQPair.php delete mode 100644 pandora_console/vendor/egulias/email-validator/EmailValidator/Exception/InvalidEmail.php delete mode 100644 pandora_console/vendor/egulias/email-validator/EmailValidator/Exception/NoDNSRecord.php delete mode 100644 pandora_console/vendor/egulias/email-validator/EmailValidator/Exception/NoDomainPart.php delete mode 100644 pandora_console/vendor/egulias/email-validator/EmailValidator/Exception/NoLocalPart.php delete mode 100644 pandora_console/vendor/egulias/email-validator/EmailValidator/Exception/UnclosedComment.php delete mode 100644 pandora_console/vendor/egulias/email-validator/EmailValidator/Exception/UnclosedQuotedString.php delete mode 100644 pandora_console/vendor/egulias/email-validator/EmailValidator/Exception/UnopenedComment.php delete mode 100644 pandora_console/vendor/egulias/email-validator/EmailValidator/Parser/DomainPart.php delete mode 100644 pandora_console/vendor/egulias/email-validator/EmailValidator/Parser/LocalPart.php delete mode 100644 pandora_console/vendor/egulias/email-validator/EmailValidator/Parser/Parser.php delete mode 100644 pandora_console/vendor/egulias/email-validator/EmailValidator/Validation/DNSCheckValidation.php delete mode 100644 pandora_console/vendor/egulias/email-validator/EmailValidator/Validation/Error/RFCWarnings.php delete mode 100644 pandora_console/vendor/egulias/email-validator/EmailValidator/Validation/Error/SpoofEmail.php delete mode 100644 pandora_console/vendor/egulias/email-validator/EmailValidator/Validation/MultipleErrors.php delete mode 100644 pandora_console/vendor/egulias/email-validator/EmailValidator/Validation/RFCValidation.php delete mode 100644 pandora_console/vendor/egulias/email-validator/EmailValidator/Warning/DomainTooLong.php delete mode 100644 pandora_console/vendor/egulias/email-validator/EmailValidator/Warning/LabelTooLong.php delete mode 100644 pandora_console/vendor/egulias/email-validator/README.md create mode 100644 pandora_console/vendor/egulias/email-validator/composer.lock delete mode 100644 pandora_console/vendor/egulias/email-validator/phpunit.xml.dist create mode 100644 pandora_console/vendor/egulias/email-validator/src/EmailLexer.php create mode 100644 pandora_console/vendor/egulias/email-validator/src/EmailParser.php rename pandora_console/vendor/egulias/email-validator/{EmailValidator => src}/EmailValidator.php (75%) create mode 100644 pandora_console/vendor/egulias/email-validator/src/MessageIDParser.php create mode 100644 pandora_console/vendor/egulias/email-validator/src/Parser.php create mode 100644 pandora_console/vendor/egulias/email-validator/src/Parser/Comment.php create mode 100644 pandora_console/vendor/egulias/email-validator/src/Parser/CommentStrategy/CommentStrategy.php create mode 100644 pandora_console/vendor/egulias/email-validator/src/Parser/CommentStrategy/DomainComment.php create mode 100644 pandora_console/vendor/egulias/email-validator/src/Parser/CommentStrategy/LocalComment.php create mode 100644 pandora_console/vendor/egulias/email-validator/src/Parser/DomainLiteral.php create mode 100644 pandora_console/vendor/egulias/email-validator/src/Parser/DomainPart.php create mode 100644 pandora_console/vendor/egulias/email-validator/src/Parser/DoubleQuote.php create mode 100644 pandora_console/vendor/egulias/email-validator/src/Parser/FoldingWhiteSpace.php create mode 100644 pandora_console/vendor/egulias/email-validator/src/Parser/IDLeftPart.php create mode 100644 pandora_console/vendor/egulias/email-validator/src/Parser/IDRightPart.php create mode 100644 pandora_console/vendor/egulias/email-validator/src/Parser/LocalPart.php create mode 100644 pandora_console/vendor/egulias/email-validator/src/Parser/PartParser.php create mode 100644 pandora_console/vendor/egulias/email-validator/src/Result/InvalidEmail.php create mode 100644 pandora_console/vendor/egulias/email-validator/src/Result/MultipleErrors.php create mode 100644 pandora_console/vendor/egulias/email-validator/src/Result/Reason/AtextAfterCFWS.php create mode 100644 pandora_console/vendor/egulias/email-validator/src/Result/Reason/CRLFAtTheEnd.php create mode 100644 pandora_console/vendor/egulias/email-validator/src/Result/Reason/CRLFX2.php create mode 100644 pandora_console/vendor/egulias/email-validator/src/Result/Reason/CRNoLF.php create mode 100644 pandora_console/vendor/egulias/email-validator/src/Result/Reason/CharNotAllowed.php create mode 100644 pandora_console/vendor/egulias/email-validator/src/Result/Reason/CommaInDomain.php create mode 100644 pandora_console/vendor/egulias/email-validator/src/Result/Reason/CommentsInIDRight.php create mode 100644 pandora_console/vendor/egulias/email-validator/src/Result/Reason/ConsecutiveAt.php create mode 100644 pandora_console/vendor/egulias/email-validator/src/Result/Reason/ConsecutiveDot.php create mode 100644 pandora_console/vendor/egulias/email-validator/src/Result/Reason/DetailedReason.php create mode 100644 pandora_console/vendor/egulias/email-validator/src/Result/Reason/DomainAcceptsNoMail.php create mode 100644 pandora_console/vendor/egulias/email-validator/src/Result/Reason/DomainHyphened.php create mode 100644 pandora_console/vendor/egulias/email-validator/src/Result/Reason/DomainTooLong.php create mode 100644 pandora_console/vendor/egulias/email-validator/src/Result/Reason/DotAtEnd.php create mode 100644 pandora_console/vendor/egulias/email-validator/src/Result/Reason/DotAtStart.php create mode 100644 pandora_console/vendor/egulias/email-validator/src/Result/Reason/EmptyReason.php create mode 100644 pandora_console/vendor/egulias/email-validator/src/Result/Reason/ExceptionFound.php create mode 100644 pandora_console/vendor/egulias/email-validator/src/Result/Reason/ExpectingATEXT.php create mode 100644 pandora_console/vendor/egulias/email-validator/src/Result/Reason/ExpectingCTEXT.php create mode 100644 pandora_console/vendor/egulias/email-validator/src/Result/Reason/ExpectingDTEXT.php create mode 100644 pandora_console/vendor/egulias/email-validator/src/Result/Reason/ExpectingDomainLiteralClose.php create mode 100644 pandora_console/vendor/egulias/email-validator/src/Result/Reason/LabelTooLong.php create mode 100644 pandora_console/vendor/egulias/email-validator/src/Result/Reason/LocalOrReservedDomain.php create mode 100644 pandora_console/vendor/egulias/email-validator/src/Result/Reason/NoDNSRecord.php create mode 100644 pandora_console/vendor/egulias/email-validator/src/Result/Reason/NoDomainPart.php create mode 100644 pandora_console/vendor/egulias/email-validator/src/Result/Reason/NoLocalPart.php create mode 100644 pandora_console/vendor/egulias/email-validator/src/Result/Reason/RFCWarnings.php create mode 100644 pandora_console/vendor/egulias/email-validator/src/Result/Reason/Reason.php create mode 100644 pandora_console/vendor/egulias/email-validator/src/Result/Reason/SpoofEmail.php create mode 100644 pandora_console/vendor/egulias/email-validator/src/Result/Reason/UnOpenedComment.php create mode 100644 pandora_console/vendor/egulias/email-validator/src/Result/Reason/UnableToGetDNSRecord.php create mode 100644 pandora_console/vendor/egulias/email-validator/src/Result/Reason/UnclosedComment.php create mode 100644 pandora_console/vendor/egulias/email-validator/src/Result/Reason/UnclosedQuotedString.php create mode 100644 pandora_console/vendor/egulias/email-validator/src/Result/Reason/UnusualElements.php create mode 100644 pandora_console/vendor/egulias/email-validator/src/Result/Result.php create mode 100644 pandora_console/vendor/egulias/email-validator/src/Result/SpoofEmail.php create mode 100644 pandora_console/vendor/egulias/email-validator/src/Result/ValidEmail.php create mode 100644 pandora_console/vendor/egulias/email-validator/src/Validation/DNSCheckValidation.php rename pandora_console/vendor/egulias/email-validator/{EmailValidator => src}/Validation/EmailValidation.php (72%) rename pandora_console/vendor/egulias/email-validator/{EmailValidator => src}/Validation/Exception/EmptyValidationList.php (89%) rename pandora_console/vendor/egulias/email-validator/{EmailValidator/Validation => src/Validation/Extra}/SpoofCheckValidation.php (58%) create mode 100644 pandora_console/vendor/egulias/email-validator/src/Validation/MessageIDValidation.php rename pandora_console/vendor/egulias/email-validator/{EmailValidator => src}/Validation/MultipleValidationWithAnd.php (60%) rename pandora_console/vendor/egulias/email-validator/{EmailValidator => src}/Validation/NoRFCWarningsValidation.php (62%) create mode 100644 pandora_console/vendor/egulias/email-validator/src/Validation/RFCValidation.php rename pandora_console/vendor/egulias/email-validator/{EmailValidator => src}/Warning/AddressLiteral.php (100%) rename pandora_console/vendor/egulias/email-validator/{EmailValidator => src}/Warning/CFWSNearAt.php (100%) rename pandora_console/vendor/egulias/email-validator/{EmailValidator => src}/Warning/CFWSWithFWS.php (100%) rename pandora_console/vendor/egulias/email-validator/{EmailValidator => src}/Warning/Comment.php (100%) rename pandora_console/vendor/egulias/email-validator/{EmailValidator => src}/Warning/DeprecatedComment.php (100%) rename pandora_console/vendor/egulias/email-validator/{EmailValidator => src}/Warning/DomainLiteral.php (100%) rename pandora_console/vendor/egulias/email-validator/{EmailValidator => src}/Warning/EmailTooLong.php (100%) rename pandora_console/vendor/egulias/email-validator/{EmailValidator => src}/Warning/IPV6BadChar.php (100%) rename pandora_console/vendor/egulias/email-validator/{EmailValidator => src}/Warning/IPV6ColonEnd.php (100%) rename pandora_console/vendor/egulias/email-validator/{EmailValidator => src}/Warning/IPV6ColonStart.php (100%) rename pandora_console/vendor/egulias/email-validator/{EmailValidator => src}/Warning/IPV6Deprecated.php (100%) rename pandora_console/vendor/egulias/email-validator/{EmailValidator => src}/Warning/IPV6DoubleColon.php (100%) rename pandora_console/vendor/egulias/email-validator/{EmailValidator => src}/Warning/IPV6GroupCount.php (100%) rename pandora_console/vendor/egulias/email-validator/{EmailValidator => src}/Warning/IPV6MaxGroups.php (100%) rename pandora_console/vendor/egulias/email-validator/{EmailValidator => src}/Warning/LocalTooLong.php (100%) rename pandora_console/vendor/egulias/email-validator/{EmailValidator => src}/Warning/NoDNSMXRecord.php (100%) rename pandora_console/vendor/egulias/email-validator/{EmailValidator => src}/Warning/ObsoleteDTEXT.php (100%) rename pandora_console/vendor/egulias/email-validator/{EmailValidator => src}/Warning/QuotedPart.php (77%) rename pandora_console/vendor/egulias/email-validator/{EmailValidator => src}/Warning/QuotedString.php (76%) rename pandora_console/vendor/egulias/email-validator/{EmailValidator => src}/Warning/TLD.php (100%) rename pandora_console/vendor/egulias/email-validator/{EmailValidator => src}/Warning/Warning.php (66%) create mode 100644 pandora_console/vendor/mpdf/mpdf/.github/FUNDING.yml delete mode 100644 pandora_console/vendor/mpdf/mpdf/.github/ISSUE_TEMPLATE.md create mode 100644 pandora_console/vendor/mpdf/mpdf/.github/ISSUE_TEMPLATE/Bug_report.md create mode 100644 pandora_console/vendor/mpdf/mpdf/.github/ISSUE_TEMPLATE/Feature_request.md create mode 100644 pandora_console/vendor/mpdf/mpdf/.github/ISSUE_TEMPLATE/config.yml create mode 100644 pandora_console/vendor/mpdf/mpdf/.github/workflows/coverage.yml create mode 100644 pandora_console/vendor/mpdf/mpdf/.github/workflows/cs.yml create mode 100644 pandora_console/vendor/mpdf/mpdf/.github/workflows/tests.yml delete mode 100644 pandora_console/vendor/mpdf/mpdf/.travis.yml create mode 100644 pandora_console/vendor/mpdf/mpdf/src/Exception/FontException.php create mode 100644 pandora_console/vendor/mpdf/mpdf/src/File/StreamWrapperChecker.php create mode 100644 pandora_console/vendor/mpdf/mpdf/src/FpdiTrait.php create mode 100644 pandora_console/vendor/mpdf/mpdf/src/HTMLParserMode.php delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/QrCode.php delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/QrCodeException.php delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/modele1.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/modele10.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/modele11.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/modele12.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/modele13.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/modele14.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/modele15.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/modele16.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/modele17.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/modele18.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/modele19.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/modele2.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/modele20.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/modele21.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/modele22.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/modele23.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/modele24.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/modele25.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/modele26.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/modele27.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/modele28.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/modele29.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/modele3.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/modele30.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/modele31.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/modele32.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/modele33.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/modele34.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/modele35.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/modele36.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/modele37.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/modele38.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/modele39.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/modele4.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/modele40.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/modele5.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/modele6.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/modele7.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/modele8.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/modele9.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv10_0.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv10_1.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv10_2.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv10_3.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv11_0.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv11_1.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv11_2.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv11_3.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv12_0.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv12_1.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv12_2.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv12_3.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv13_0.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv13_1.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv13_2.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv13_3.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv14_0.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv14_1.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv14_2.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv14_3.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv15_0.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv15_1.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv15_2.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv15_3.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv16_0.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv16_1.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv16_2.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv16_3.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv17_0.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv17_1.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv17_2.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv17_3.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv18_0.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv18_1.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv18_2.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv18_3.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv19_0.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv19_1.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv19_2.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv19_3.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv1_0.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv1_1.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv1_2.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv1_3.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv20_0.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv20_1.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv20_2.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv20_3.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv21_0.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv21_1.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv21_2.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv21_3.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv22_0.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv22_1.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv22_2.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv22_3.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv23_0.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv23_1.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv23_2.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv23_3.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv24_0.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv24_1.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv24_2.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv24_3.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv25_0.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv25_1.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv25_2.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv25_3.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv26_0.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv26_1.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv26_2.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv26_3.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv27_0.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv27_1.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv27_2.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv27_3.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv28_0.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv28_1.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv28_2.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv28_3.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv29_0.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv29_1.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv29_2.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv29_3.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv2_0.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv2_1.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv2_2.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv2_3.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv30_0.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv30_1.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv30_2.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv30_3.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv31_0.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv31_1.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv31_2.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv31_3.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv32_0.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv32_1.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv32_2.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv32_3.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv33_0.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv33_1.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv33_2.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv33_3.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv34_0.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv34_1.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv34_2.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv34_3.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv35_0.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv35_1.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv35_2.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv35_3.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv36_0.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv36_1.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv36_2.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv36_3.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv37_0.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv37_1.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv37_2.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv37_3.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv38_0.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv38_1.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv38_2.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv38_3.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv39_0.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv39_1.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv39_2.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv39_3.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv3_0.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv3_1.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv3_2.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv3_3.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv40_0.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv40_1.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv40_2.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv40_3.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv4_0.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv4_1.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv4_2.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv4_3.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv5_0.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv5_1.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv5_2.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv5_3.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv6_0.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv6_1.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv6_2.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv6_3.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv7_0.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv7_1.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv7_2.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv7_3.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv8_0.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv8_1.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv8_2.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv8_3.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv9_0.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv9_1.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv9_2.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv9_3.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrvfr1.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrvfr10.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrvfr11.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrvfr12.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrvfr13.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrvfr14.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrvfr15.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrvfr16.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrvfr17.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrvfr18.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrvfr19.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrvfr2.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrvfr20.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrvfr21.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrvfr22.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrvfr23.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrvfr24.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrvfr25.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrvfr26.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrvfr27.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrvfr28.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrvfr29.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrvfr3.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrvfr30.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrvfr31.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrvfr32.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrvfr33.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrvfr34.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrvfr35.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrvfr36.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrvfr37.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrvfr38.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrvfr39.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrvfr4.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrvfr40.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrvfr5.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrvfr6.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrvfr7.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrvfr8.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrvfr9.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/rsc10.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/rsc13.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/rsc15.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/rsc16.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/rsc17.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/rsc18.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/rsc20.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/rsc22.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/rsc24.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/rsc26.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/rsc28.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/rsc30.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/rsc32.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/rsc34.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/rsc36.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/rsc40.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/rsc42.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/rsc44.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/rsc46.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/rsc48.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/rsc50.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/rsc52.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/rsc54.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/rsc56.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/rsc58.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/rsc60.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/rsc62.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/rsc64.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/rsc66.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/rsc68.dat delete mode 100644 pandora_console/vendor/mpdf/mpdf/src/QrCode/data/rsc7.dat create mode 100644 pandora_console/vendor/mpdf/mpdf/src/RemoteContentFetcher.php create mode 100644 pandora_console/vendor/mpdf/mpdf/src/ServiceFactory.php create mode 100644 pandora_console/vendor/mpdf/mpdf/src/Strict.php create mode 100644 pandora_console/vendor/mpdf/mpdf/src/Writer/BackgroundWriter.php create mode 100644 pandora_console/vendor/mpdf/mpdf/src/Writer/BaseWriter.php create mode 100644 pandora_console/vendor/mpdf/mpdf/src/Writer/BookmarkWriter.php create mode 100644 pandora_console/vendor/mpdf/mpdf/src/Writer/ColorWriter.php create mode 100644 pandora_console/vendor/mpdf/mpdf/src/Writer/FontWriter.php create mode 100644 pandora_console/vendor/mpdf/mpdf/src/Writer/FormWriter.php create mode 100644 pandora_console/vendor/mpdf/mpdf/src/Writer/ImageWriter.php create mode 100644 pandora_console/vendor/mpdf/mpdf/src/Writer/JavaScriptWriter.php create mode 100644 pandora_console/vendor/mpdf/mpdf/src/Writer/MetadataWriter.php create mode 100644 pandora_console/vendor/mpdf/mpdf/src/Writer/ObjectWriter.php create mode 100644 pandora_console/vendor/mpdf/mpdf/src/Writer/OptionalContentWriter.php create mode 100644 pandora_console/vendor/mpdf/mpdf/src/Writer/PageWriter.php create mode 100644 pandora_console/vendor/mpdf/mpdf/src/Writer/ResourceWriter.php delete mode 100755 pandora_console/vendor/myclabs/deep-copy/.gitattributes create mode 100644 pandora_console/vendor/myclabs/deep-copy/.github/FUNDING.yml delete mode 100755 pandora_console/vendor/myclabs/deep-copy/.gitignore delete mode 100755 pandora_console/vendor/myclabs/deep-copy/.travis.yml delete mode 100644 pandora_console/vendor/myclabs/deep-copy/doc/clone.png delete mode 100644 pandora_console/vendor/myclabs/deep-copy/doc/deep-clone.png delete mode 100644 pandora_console/vendor/myclabs/deep-copy/doc/deep-copy.png delete mode 100644 pandora_console/vendor/myclabs/deep-copy/doc/graph.png delete mode 100644 pandora_console/vendor/myclabs/deep-copy/fixtures/f001/A.php delete mode 100644 pandora_console/vendor/myclabs/deep-copy/fixtures/f001/B.php delete mode 100644 pandora_console/vendor/myclabs/deep-copy/fixtures/f002/A.php delete mode 100644 pandora_console/vendor/myclabs/deep-copy/fixtures/f003/Foo.php delete mode 100644 pandora_console/vendor/myclabs/deep-copy/fixtures/f004/UnclonableItem.php delete mode 100644 pandora_console/vendor/myclabs/deep-copy/fixtures/f005/Foo.php delete mode 100644 pandora_console/vendor/myclabs/deep-copy/fixtures/f006/A.php delete mode 100644 pandora_console/vendor/myclabs/deep-copy/fixtures/f006/B.php delete mode 100644 pandora_console/vendor/myclabs/deep-copy/fixtures/f007/FooDateInterval.php delete mode 100644 pandora_console/vendor/myclabs/deep-copy/fixtures/f007/FooDateTimeZone.php delete mode 100644 pandora_console/vendor/myclabs/deep-copy/fixtures/f008/A.php delete mode 100644 pandora_console/vendor/myclabs/deep-copy/fixtures/f008/B.php create mode 100644 pandora_console/vendor/myclabs/deep-copy/src/DeepCopy/TypeFilter/Spl/ArrayObjectFilter.php delete mode 100644 pandora_console/vendor/psr/log/.gitignore delete mode 100644 pandora_console/vendor/psr/log/Psr/Log/AbstractLogger.php delete mode 100644 pandora_console/vendor/psr/log/Psr/Log/Test/LoggerInterfaceTest.php create mode 100644 pandora_console/vendor/psr/log/src/AbstractLogger.php rename pandora_console/vendor/psr/log/{Psr/Log => src}/InvalidArgumentException.php (100%) rename pandora_console/vendor/psr/log/{Psr/Log => src}/LogLevel.php (100%) rename pandora_console/vendor/psr/log/{Psr/Log => src}/LoggerAwareInterface.php (100%) rename pandora_console/vendor/psr/log/{Psr/Log => src}/LoggerAwareTrait.php (81%) rename pandora_console/vendor/psr/log/{Psr/Log => src}/LoggerInterface.php (56%) rename pandora_console/vendor/psr/log/{Psr/Log => src}/LoggerTrait.php (68%) rename pandora_console/vendor/psr/log/{Psr/Log => src}/NullLogger.php (71%) rename pandora_console/vendor/setasign/fpdi/{LICENSE => LICENSE.txt} (93%) create mode 100644 pandora_console/vendor/setasign/fpdi/SECURITY.md delete mode 100644 pandora_console/vendor/setasign/fpdi/filters/FilterASCII85.php delete mode 100644 pandora_console/vendor/setasign/fpdi/filters/FilterASCIIHexDecode.php delete mode 100644 pandora_console/vendor/setasign/fpdi/filters/FilterLZW.php delete mode 100644 pandora_console/vendor/setasign/fpdi/fpdf_tpl.php delete mode 100644 pandora_console/vendor/setasign/fpdi/fpdi.php delete mode 100644 pandora_console/vendor/setasign/fpdi/fpdi_bridge.php delete mode 100644 pandora_console/vendor/setasign/fpdi/fpdi_pdf_parser.php delete mode 100644 pandora_console/vendor/setasign/fpdi/pdf_context.php delete mode 100644 pandora_console/vendor/setasign/fpdi/pdf_parser.php create mode 100644 pandora_console/vendor/setasign/fpdi/src/FpdfTpl.php create mode 100644 pandora_console/vendor/setasign/fpdi/src/FpdfTplTrait.php create mode 100644 pandora_console/vendor/setasign/fpdi/src/Fpdi.php create mode 100644 pandora_console/vendor/setasign/fpdi/src/FpdiException.php create mode 100644 pandora_console/vendor/setasign/fpdi/src/FpdiTrait.php create mode 100644 pandora_console/vendor/setasign/fpdi/src/PdfParser/CrossReference/AbstractReader.php create mode 100644 pandora_console/vendor/setasign/fpdi/src/PdfParser/CrossReference/CrossReference.php create mode 100644 pandora_console/vendor/setasign/fpdi/src/PdfParser/CrossReference/CrossReferenceException.php create mode 100644 pandora_console/vendor/setasign/fpdi/src/PdfParser/CrossReference/FixedReader.php create mode 100644 pandora_console/vendor/setasign/fpdi/src/PdfParser/CrossReference/LineReader.php create mode 100644 pandora_console/vendor/setasign/fpdi/src/PdfParser/CrossReference/ReaderInterface.php create mode 100644 pandora_console/vendor/setasign/fpdi/src/PdfParser/Filter/Ascii85.php create mode 100644 pandora_console/vendor/setasign/fpdi/src/PdfParser/Filter/Ascii85Exception.php create mode 100644 pandora_console/vendor/setasign/fpdi/src/PdfParser/Filter/AsciiHex.php create mode 100644 pandora_console/vendor/setasign/fpdi/src/PdfParser/Filter/FilterException.php create mode 100644 pandora_console/vendor/setasign/fpdi/src/PdfParser/Filter/FilterInterface.php create mode 100644 pandora_console/vendor/setasign/fpdi/src/PdfParser/Filter/Flate.php create mode 100644 pandora_console/vendor/setasign/fpdi/src/PdfParser/Filter/FlateException.php create mode 100644 pandora_console/vendor/setasign/fpdi/src/PdfParser/Filter/Lzw.php create mode 100644 pandora_console/vendor/setasign/fpdi/src/PdfParser/Filter/LzwException.php create mode 100644 pandora_console/vendor/setasign/fpdi/src/PdfParser/PdfParser.php create mode 100644 pandora_console/vendor/setasign/fpdi/src/PdfParser/PdfParserException.php create mode 100644 pandora_console/vendor/setasign/fpdi/src/PdfParser/StreamReader.php create mode 100644 pandora_console/vendor/setasign/fpdi/src/PdfParser/Tokenizer.php create mode 100644 pandora_console/vendor/setasign/fpdi/src/PdfParser/Type/PdfArray.php create mode 100644 pandora_console/vendor/setasign/fpdi/src/PdfParser/Type/PdfBoolean.php create mode 100644 pandora_console/vendor/setasign/fpdi/src/PdfParser/Type/PdfDictionary.php create mode 100644 pandora_console/vendor/setasign/fpdi/src/PdfParser/Type/PdfHexString.php create mode 100644 pandora_console/vendor/setasign/fpdi/src/PdfParser/Type/PdfIndirectObject.php create mode 100644 pandora_console/vendor/setasign/fpdi/src/PdfParser/Type/PdfIndirectObjectReference.php create mode 100644 pandora_console/vendor/setasign/fpdi/src/PdfParser/Type/PdfName.php create mode 100644 pandora_console/vendor/setasign/fpdi/src/PdfParser/Type/PdfNull.php create mode 100644 pandora_console/vendor/setasign/fpdi/src/PdfParser/Type/PdfNumeric.php create mode 100644 pandora_console/vendor/setasign/fpdi/src/PdfParser/Type/PdfStream.php create mode 100644 pandora_console/vendor/setasign/fpdi/src/PdfParser/Type/PdfString.php create mode 100644 pandora_console/vendor/setasign/fpdi/src/PdfParser/Type/PdfToken.php create mode 100644 pandora_console/vendor/setasign/fpdi/src/PdfParser/Type/PdfType.php create mode 100644 pandora_console/vendor/setasign/fpdi/src/PdfParser/Type/PdfTypeException.php create mode 100644 pandora_console/vendor/setasign/fpdi/src/PdfReader/DataStructure/Rectangle.php create mode 100644 pandora_console/vendor/setasign/fpdi/src/PdfReader/Page.php create mode 100644 pandora_console/vendor/setasign/fpdi/src/PdfReader/PageBoundaries.php create mode 100644 pandora_console/vendor/setasign/fpdi/src/PdfReader/PdfReader.php create mode 100644 pandora_console/vendor/setasign/fpdi/src/PdfReader/PdfReaderException.php create mode 100644 pandora_console/vendor/setasign/fpdi/src/Tcpdf/Fpdi.php create mode 100644 pandora_console/vendor/setasign/fpdi/src/TcpdfFpdi.php create mode 100644 pandora_console/vendor/setasign/fpdi/src/Tfpdf/FpdfTpl.php create mode 100644 pandora_console/vendor/setasign/fpdi/src/Tfpdf/Fpdi.php create mode 100644 pandora_console/vendor/setasign/fpdi/src/autoload.php create mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/.github/workflows/tests.yml delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/.travis.yml delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/README create mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/README.md mode change 100755 => 100644 pandora_console/vendor/swiftmailer/swiftmailer/lib/swiftmailer_generate_mimes_config.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/phpunit.xml.dist delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/IdenticalBinaryConstraint.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/StreamCollector.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/SwiftMailerSmokeTestCase.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/SwiftMailerTestCase.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/_samples/charsets/iso-2022-jp/one.txt delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/_samples/charsets/iso-8859-1/one.txt delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/_samples/charsets/utf-8/one.txt delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/_samples/charsets/utf-8/three.txt delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/_samples/charsets/utf-8/two.txt delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/_samples/dkim/dkim.test.priv delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/_samples/dkim/dkim.test.pub delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/_samples/files/data.txt delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/_samples/files/swiftmailer.png delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/_samples/files/textfile.zip delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/_samples/smime/CA.srl delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/_samples/smime/ca.crt delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/_samples/smime/ca.key delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/_samples/smime/create-cert.sh delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/_samples/smime/encrypt.crt delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/_samples/smime/encrypt.key delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/_samples/smime/encrypt2.crt delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/_samples/smime/encrypt2.key delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/_samples/smime/intermediate.crt delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/_samples/smime/intermediate.key delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/_samples/smime/sign.crt delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/_samples/smime/sign.key delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/_samples/smime/sign2.crt delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/_samples/smime/sign2.key delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/acceptance.conf.php.default delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/AttachmentAcceptanceTest.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/ByteStream/FileByteStreamAcceptanceTest.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/CharacterReaderFactory/SimpleCharacterReaderFactoryAcceptanceTest.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/DependencyContainerAcceptanceTest.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/EmbeddedFileAcceptanceTest.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Encoder/Base64EncoderAcceptanceTest.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Encoder/QpEncoderAcceptanceTest.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Encoder/Rfc2231EncoderAcceptanceTest.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/KeyCache/ArrayKeyCacheAcceptanceTest.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/KeyCache/DiskKeyCacheAcceptanceTest.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/MessageAcceptanceTest.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Mime/AttachmentAcceptanceTest.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Mime/ContentEncoder/Base64ContentEncoderAcceptanceTest.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Mime/ContentEncoder/NativeQpContentEncoderAcceptanceTest.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Mime/ContentEncoder/PlainContentEncoderAcceptanceTest.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Mime/ContentEncoder/QpContentEncoderAcceptanceTest.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Mime/EmbeddedFileAcceptanceTest.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Mime/HeaderEncoder/Base64HeaderEncoderAcceptanceTest.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Mime/MimePartAcceptanceTest.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Mime/SimpleMessageAcceptanceTest.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/MimePartAcceptanceTest.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Transport/StreamBuffer/AbstractStreamBufferAcceptanceTest.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Transport/StreamBuffer/BasicSocketAcceptanceTest.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Transport/StreamBuffer/ProcessAcceptanceTest.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Transport/StreamBuffer/SocketTimeoutTest.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Transport/StreamBuffer/SslSocketAcceptanceTest.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Transport/StreamBuffer/TlsSocketAcceptanceTest.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/bootstrap.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/bug/Swift/Bug111Test.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/bug/Swift/Bug118Test.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/bug/Swift/Bug206Test.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/bug/Swift/Bug274Test.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/bug/Swift/Bug34Test.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/bug/Swift/Bug35Test.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/bug/Swift/Bug38Test.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/bug/Swift/Bug518Test.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/bug/Swift/Bug51Test.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/bug/Swift/Bug534Test.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/bug/Swift/Bug650Test.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/bug/Swift/Bug71Test.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/bug/Swift/Bug76Test.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/bug/Swift/BugFileByteStreamConsecutiveReadCallsTest.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/fixtures/MimeEntityFixture.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/smoke.conf.php.default delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/smoke/Swift/Smoke/AttachmentSmokeTest.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/smoke/Swift/Smoke/BasicSmokeTest.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/smoke/Swift/Smoke/HtmlWithAttachmentSmokeTest.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/smoke/Swift/Smoke/InternationalSmokeTest.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/ByteStream/ArrayByteStreamTest.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/CharacterReader/GenericFixedWidthReaderTest.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/CharacterReader/UsAsciiReaderTest.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/CharacterReader/Utf8ReaderTest.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/CharacterStream/ArrayCharacterStreamTest.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/DependencyContainerTest.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Encoder/Base64EncoderTest.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Encoder/QpEncoderTest.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Encoder/Rfc2231EncoderTest.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Events/CommandEventTest.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Events/EventObjectTest.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Events/ResponseEventTest.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Events/SendEventTest.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Events/SimpleEventDispatcherTest.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Events/TransportChangeEventTest.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Events/TransportExceptionEventTest.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/KeyCache/ArrayKeyCacheTest.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/KeyCache/SimpleKeyCacheInputStreamTest.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mailer/ArrayRecipientIteratorTest.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/MailerTest.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/MessageTest.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/AbstractMimeEntityTest.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/AttachmentTest.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/ContentEncoder/Base64ContentEncoderTest.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/ContentEncoder/PlainContentEncoderTest.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/ContentEncoder/QpContentEncoderTest.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/EmbeddedFileTest.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/HeaderEncoder/Base64HeaderEncoderTest.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/HeaderEncoder/QpHeaderEncoderTest.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/Headers/DateHeaderTest.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/Headers/IdentificationHeaderTest.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/Headers/MailboxHeaderTest.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/Headers/ParameterizedHeaderTest.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/Headers/PathHeaderTest.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/Headers/UnstructuredHeaderTest.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/IdGeneratorTest.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/MimePartTest.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/SimpleHeaderFactoryTest.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/SimpleHeaderSetTest.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/SimpleMessageTest.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/SimpleMimeEntityTest.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Plugins/AntiFloodPluginTest.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Plugins/BandwidthMonitorPluginTest.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Plugins/DecoratorPluginTest.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Plugins/LoggerPluginTest.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Plugins/Loggers/ArrayLoggerTest.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Plugins/Loggers/EchoLoggerTest.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Plugins/PopBeforeSmtpPluginTest.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Plugins/RedirectingPluginTest.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Plugins/ReporterPluginTest.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Plugins/Reporters/HitReporterTest.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Plugins/Reporters/HtmlReporterTest.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Plugins/ThrottlerPluginTest.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Signers/DKIMSignerTest.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Signers/OpenDKIMSignerTest.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Signers/SMimeSignerTest.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/StreamFilters/ByteArrayReplacementFilterTest.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/StreamFilters/StringReplacementFilterFactoryTest.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/StreamFilters/StringReplacementFilterTest.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Transport/AbstractSmtpEventSupportTest.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Transport/AbstractSmtpTest.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Transport/Esmtp/Auth/CramMd5AuthenticatorTest.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Transport/Esmtp/Auth/LoginAuthenticatorTest.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Transport/Esmtp/Auth/NTLMAuthenticatorTest.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Transport/Esmtp/Auth/PlainAuthenticatorTest.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Transport/Esmtp/AuthHandlerTest.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Transport/EsmtpTransport/ExtensionSupportTest.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Transport/EsmtpTransportTest.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Transport/FailoverTransportTest.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Transport/LoadBalancedTransportTest.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Transport/SendmailTransportTest.php delete mode 100644 pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Transport/StreamBufferTest.php create mode 100644 pandora_console/vendor/symfony/polyfill-iconv/Iconv.php create mode 100644 pandora_console/vendor/symfony/polyfill-iconv/LICENSE create mode 100644 pandora_console/vendor/symfony/polyfill-iconv/README.md create mode 100644 pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.big5.php create mode 100644 pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.cp037.php create mode 100644 pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.cp1006.php create mode 100644 pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.cp1026.php create mode 100644 pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.cp424.php create mode 100644 pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.cp437.php create mode 100644 pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.cp500.php create mode 100644 pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.cp737.php create mode 100644 pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.cp775.php create mode 100644 pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.cp850.php create mode 100644 pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.cp852.php create mode 100644 pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.cp855.php create mode 100644 pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.cp856.php create mode 100644 pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.cp857.php create mode 100644 pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.cp860.php create mode 100644 pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.cp861.php create mode 100644 pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.cp862.php create mode 100644 pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.cp863.php create mode 100644 pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.cp864.php create mode 100644 pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.cp865.php create mode 100644 pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.cp866.php create mode 100644 pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.cp869.php create mode 100644 pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.cp874.php create mode 100644 pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.cp875.php create mode 100644 pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.cp932.php create mode 100644 pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.cp936.php create mode 100644 pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.cp949.php create mode 100644 pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.cp950.php create mode 100644 pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-1.php create mode 100644 pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-10.php create mode 100644 pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-11.php create mode 100644 pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-13.php create mode 100644 pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-14.php create mode 100644 pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-15.php create mode 100644 pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-16.php create mode 100644 pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-2.php create mode 100644 pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-3.php create mode 100644 pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-4.php create mode 100644 pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-5.php create mode 100644 pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-6.php create mode 100644 pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-7.php create mode 100644 pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-8.php create mode 100644 pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-9.php create mode 100644 pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.koi8-r.php create mode 100644 pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.koi8-u.php create mode 100644 pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.us-ascii.php create mode 100644 pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.windows-1250.php create mode 100644 pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.windows-1251.php create mode 100644 pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.windows-1252.php create mode 100644 pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.windows-1253.php create mode 100644 pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.windows-1254.php create mode 100644 pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.windows-1255.php create mode 100644 pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.windows-1256.php create mode 100644 pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.windows-1257.php create mode 100644 pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.windows-1258.php create mode 100644 pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/translit.php create mode 100644 pandora_console/vendor/symfony/polyfill-iconv/bootstrap.php create mode 100644 pandora_console/vendor/symfony/polyfill-iconv/bootstrap80.php create mode 100644 pandora_console/vendor/symfony/polyfill-iconv/composer.json create mode 100644 pandora_console/vendor/symfony/polyfill-intl-idn/Idn.php create mode 100644 pandora_console/vendor/symfony/polyfill-intl-idn/Info.php create mode 100644 pandora_console/vendor/symfony/polyfill-intl-idn/LICENSE create mode 100644 pandora_console/vendor/symfony/polyfill-intl-idn/README.md create mode 100644 pandora_console/vendor/symfony/polyfill-intl-idn/Resources/unidata/DisallowedRanges.php create mode 100644 pandora_console/vendor/symfony/polyfill-intl-idn/Resources/unidata/Regex.php create mode 100644 pandora_console/vendor/symfony/polyfill-intl-idn/Resources/unidata/deviation.php create mode 100644 pandora_console/vendor/symfony/polyfill-intl-idn/Resources/unidata/disallowed.php create mode 100644 pandora_console/vendor/symfony/polyfill-intl-idn/Resources/unidata/disallowed_STD3_mapped.php create mode 100644 pandora_console/vendor/symfony/polyfill-intl-idn/Resources/unidata/disallowed_STD3_valid.php create mode 100644 pandora_console/vendor/symfony/polyfill-intl-idn/Resources/unidata/ignored.php create mode 100644 pandora_console/vendor/symfony/polyfill-intl-idn/Resources/unidata/mapped.php create mode 100644 pandora_console/vendor/symfony/polyfill-intl-idn/Resources/unidata/virama.php create mode 100644 pandora_console/vendor/symfony/polyfill-intl-idn/bootstrap.php create mode 100644 pandora_console/vendor/symfony/polyfill-intl-idn/bootstrap80.php create mode 100644 pandora_console/vendor/symfony/polyfill-intl-idn/composer.json create mode 100644 pandora_console/vendor/symfony/polyfill-intl-normalizer/LICENSE create mode 100644 pandora_console/vendor/symfony/polyfill-intl-normalizer/Normalizer.php create mode 100644 pandora_console/vendor/symfony/polyfill-intl-normalizer/README.md create mode 100644 pandora_console/vendor/symfony/polyfill-intl-normalizer/Resources/stubs/Normalizer.php create mode 100644 pandora_console/vendor/symfony/polyfill-intl-normalizer/Resources/unidata/canonicalComposition.php create mode 100644 pandora_console/vendor/symfony/polyfill-intl-normalizer/Resources/unidata/canonicalDecomposition.php create mode 100644 pandora_console/vendor/symfony/polyfill-intl-normalizer/Resources/unidata/combiningClass.php create mode 100644 pandora_console/vendor/symfony/polyfill-intl-normalizer/Resources/unidata/compatibilityDecomposition.php create mode 100644 pandora_console/vendor/symfony/polyfill-intl-normalizer/bootstrap.php create mode 100644 pandora_console/vendor/symfony/polyfill-intl-normalizer/bootstrap80.php create mode 100644 pandora_console/vendor/symfony/polyfill-intl-normalizer/composer.json create mode 100644 pandora_console/vendor/symfony/polyfill-mbstring/LICENSE create mode 100644 pandora_console/vendor/symfony/polyfill-mbstring/Mbstring.php create mode 100644 pandora_console/vendor/symfony/polyfill-mbstring/README.md create mode 100644 pandora_console/vendor/symfony/polyfill-mbstring/Resources/unidata/lowerCase.php create mode 100644 pandora_console/vendor/symfony/polyfill-mbstring/Resources/unidata/titleCaseRegexp.php create mode 100644 pandora_console/vendor/symfony/polyfill-mbstring/Resources/unidata/upperCase.php create mode 100644 pandora_console/vendor/symfony/polyfill-mbstring/bootstrap.php create mode 100644 pandora_console/vendor/symfony/polyfill-mbstring/bootstrap80.php create mode 100644 pandora_console/vendor/symfony/polyfill-mbstring/composer.json create mode 100644 pandora_console/vendor/symfony/polyfill-php72/LICENSE create mode 100644 pandora_console/vendor/symfony/polyfill-php72/Php72.php create mode 100644 pandora_console/vendor/symfony/polyfill-php72/README.md create mode 100644 pandora_console/vendor/symfony/polyfill-php72/bootstrap.php create mode 100644 pandora_console/vendor/symfony/polyfill-php72/composer.json diff --git a/pandora_console/composer.json b/pandora_console/composer.json index 4138dc77c2..55e8718f72 100644 --- a/pandora_console/composer.json +++ b/pandora_console/composer.json @@ -8,7 +8,7 @@ } ], "require": { - "mpdf/mpdf": "^7.1", + "mpdf/mpdf": "^8.0.15", "swiftmailer/swiftmailer": "^6.0" }, "autoload": { diff --git a/pandora_console/composer.lock b/pandora_console/composer.lock index 3b135cd04c..0e5129f66c 100644 --- a/pandora_console/composer.lock +++ b/pandora_console/composer.lock @@ -4,34 +4,35 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "18364e5cd8c79657279985942190b4a7", + "content-hash": "a58e130473a27d97ac2795dda5153291", "packages": [ { "name": "doctrine/lexer", - "version": "v1.0.1", + "version": "1.2.2", "source": { "type": "git", "url": "https://github.com/doctrine/lexer.git", - "reference": "83893c552fd2045dd78aef794c31e694c37c0b8c" + "reference": "9c50f840f257bbb941e6f4a0e94ccf5db5c3f76c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/lexer/zipball/83893c552fd2045dd78aef794c31e694c37c0b8c", - "reference": "83893c552fd2045dd78aef794c31e694c37c0b8c", + "url": "https://api.github.com/repos/doctrine/lexer/zipball/9c50f840f257bbb941e6f4a0e94ccf5db5c3f76c", + "reference": "9c50f840f257bbb941e6f4a0e94ccf5db5c3f76c", "shasum": "" }, "require": { - "php": ">=5.3.2" + "php": "^7.1 || ^8.0" + }, + "require-dev": { + "doctrine/coding-standard": "^9.0", + "phpstan/phpstan": "1.3", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", + "vimeo/psalm": "^4.11" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, "autoload": { - "psr-0": { - "Doctrine\\Common\\Lexer\\": "lib/" + "psr-4": { + "Doctrine\\Common\\Lexer\\": "lib/Doctrine/Common/Lexer" } }, "notification-url": "https://packagist.org/downloads/", @@ -39,49 +40,71 @@ "MIT" ], "authors": [ - { - "name": "Roman Borschel", - "email": "roman@code-factory.org" - }, { "name": "Guilherme Blanco", "email": "guilhermeblanco@gmail.com" }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, { "name": "Johannes Schmitt", "email": "schmittjoh@gmail.com" } ], - "description": "Base library for a lexer that can be used in Top-Down, Recursive Descent Parsers.", - "homepage": "http://www.doctrine-project.org", + "description": "PHP Doctrine Lexer parser library that can be used in Top-Down, Recursive Descent Parsers.", + "homepage": "https://www.doctrine-project.org/projects/lexer.html", "keywords": [ + "annotations", + "docblock", "lexer", - "parser" + "parser", + "php" ], - "time": "2014-09-09T13:34:57+00:00" + "support": { + "issues": "https://github.com/doctrine/lexer/issues", + "source": "https://github.com/doctrine/lexer/tree/1.2.2" + }, + "funding": [ + { + "url": "https://www.doctrine-project.org/sponsorship.html", + "type": "custom" + }, + { + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Flexer", + "type": "tidelift" + } + ], + "time": "2022-01-12T08:27:12+00:00" }, { "name": "egulias/email-validator", - "version": "2.1.6", + "version": "3.1.2", "source": { "type": "git", "url": "https://github.com/egulias/EmailValidator.git", - "reference": "0578b32b30b22de3e8664f797cf846fc9246f786" + "reference": "ee0db30118f661fb166bcffbf5d82032df484697" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/0578b32b30b22de3e8664f797cf846fc9246f786", - "reference": "0578b32b30b22de3e8664f797cf846fc9246f786", + "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/ee0db30118f661fb166bcffbf5d82032df484697", + "reference": "ee0db30118f661fb166bcffbf5d82032df484697", "shasum": "" }, "require": { - "doctrine/lexer": "^1.0.1", - "php": ">= 5.5" + "doctrine/lexer": "^1.2", + "php": ">=7.2", + "symfony/polyfill-intl-idn": "^1.15" }, "require-dev": { - "dominicsayers/isemail": "dev-master", - "phpunit/phpunit": "^4.8.35||^5.7||^6.0", - "satooshi/php-coveralls": "^1.0.1" + "php-coveralls/php-coveralls": "^2.2", + "phpunit/phpunit": "^8.5.8|^9.3.3", + "vimeo/psalm": "^4" }, "suggest": { "ext-intl": "PHP Internationalization Libraries are required to use the SpoofChecking validation" @@ -89,12 +112,12 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0.x-dev" + "dev-master": "3.0.x-dev" } }, "autoload": { "psr-4": { - "Egulias\\EmailValidator\\": "EmailValidator" + "Egulias\\EmailValidator\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -115,36 +138,47 @@ "validation", "validator" ], - "time": "2018-09-25T20:47:26+00:00" + "support": { + "issues": "https://github.com/egulias/EmailValidator/issues", + "source": "https://github.com/egulias/EmailValidator/tree/3.1.2" + }, + "funding": [ + { + "url": "https://github.com/egulias", + "type": "github" + } + ], + "time": "2021-10-11T09:18:27+00:00" }, { "name": "mpdf/mpdf", - "version": "v7.1.5", + "version": "v8.0.15", "source": { "type": "git", "url": "https://github.com/mpdf/mpdf.git", - "reference": "2ed29c3a59fa23e77052e9d7fa7e31c707fb7502" + "reference": "d8a5294a6cc2e814c4157aecc8d7ac25014b18ed" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/mpdf/mpdf/zipball/2ed29c3a59fa23e77052e9d7fa7e31c707fb7502", - "reference": "2ed29c3a59fa23e77052e9d7fa7e31c707fb7502", + "url": "https://api.github.com/repos/mpdf/mpdf/zipball/d8a5294a6cc2e814c4157aecc8d7ac25014b18ed", + "reference": "d8a5294a6cc2e814c4157aecc8d7ac25014b18ed", "shasum": "" }, "require": { "ext-gd": "*", "ext-mbstring": "*", "myclabs/deep-copy": "^1.7", - "paragonie/random_compat": "^1.4|^2.0|9.99.99", - "php": "^5.6 || ~7.0.0 || ~7.1.0 || ~7.2.0", - "psr/log": "^1.0", - "setasign/fpdi": "1.6.*" + "paragonie/random_compat": "^1.4|^2.0|^9.99.99", + "php": "^5.6 || ^7.0 || ~8.0.0 || ~8.1.0", + "psr/log": "^1.0 || ^2.0", + "setasign/fpdi": "^2.1" }, "require-dev": { - "mockery/mockery": "^0.9.5", - "phpunit/phpunit": "^5.0", - "squizlabs/php_codesniffer": "^2.7.0", - "tracy/tracy": "^2.4" + "mockery/mockery": "^1.3.0", + "mpdf/qrcode": "^1.1.0", + "squizlabs/php_codesniffer": "^3.5.0", + "tracy/tracy": "^2.4", + "yoast/phpunit-polyfills": "^1.0" }, "suggest": { "ext-bcmath": "Needed for generation of some types of barcodes", @@ -152,11 +186,6 @@ "ext-zlib": "Needed for compression of embedded resources, such as fonts" }, "type": "library", - "extra": { - "branch-alias": { - "dev-development": "7.0-dev" - } - }, "autoload": { "psr-4": { "Mpdf\\": "src/" @@ -176,36 +205,47 @@ "role": "Developer (retired)" } ], - "description": "A PHP class to generate PDF files from HTML with Unicode/UTF-8 and CJK support", + "description": "PHP library generating PDF files from UTF-8 encoded HTML", "homepage": "https://mpdf.github.io", "keywords": [ "pdf", "php", "utf-8" ], - "time": "2018-09-19T09:58:39+00:00" + "support": { + "docs": "http://mpdf.github.io", + "issues": "https://github.com/mpdf/mpdf/issues", + "source": "https://github.com/mpdf/mpdf" + }, + "funding": [ + { + "url": "https://www.paypal.me/mpdf", + "type": "custom" + } + ], + "time": "2021-11-10T08:15:22+00:00" }, { "name": "myclabs/deep-copy", - "version": "1.7.0", + "version": "1.10.2", "source": { "type": "git", "url": "https://github.com/myclabs/DeepCopy.git", - "reference": "3b8a3a99ba1f6a3952ac2747d989303cbd6b7a3e" + "reference": "776f831124e9c62e1a2c601ecc52e776d8bb7220" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/3b8a3a99ba1f6a3952ac2747d989303cbd6b7a3e", - "reference": "3b8a3a99ba1f6a3952ac2747d989303cbd6b7a3e", + "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/776f831124e9c62e1a2c601ecc52e776d8bb7220", + "reference": "776f831124e9c62e1a2c601ecc52e776d8bb7220", "shasum": "" }, "require": { - "php": "^5.6 || ^7.0" + "php": "^7.1 || ^8.0" }, "require-dev": { "doctrine/collections": "^1.0", "doctrine/common": "^2.6", - "phpunit/phpunit": "^4.1" + "phpunit/phpunit": "^7.1" }, "type": "library", "autoload": { @@ -228,24 +268,34 @@ "object", "object graph" ], - "time": "2017-10-19T19:58:43+00:00" + "support": { + "issues": "https://github.com/myclabs/DeepCopy/issues", + "source": "https://github.com/myclabs/DeepCopy/tree/1.10.2" + }, + "funding": [ + { + "url": "https://tidelift.com/funding/github/packagist/myclabs/deep-copy", + "type": "tidelift" + } + ], + "time": "2020-11-13T09:40:50+00:00" }, { "name": "paragonie/random_compat", - "version": "v9.99.99", + "version": "v9.99.100", "source": { "type": "git", "url": "https://github.com/paragonie/random_compat.git", - "reference": "84b4dfb120c6f9b4ff7b3685f9b8f1aa365a0c95" + "reference": "996434e5492cb4c3edcb9168db6fbb1359ef965a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/paragonie/random_compat/zipball/84b4dfb120c6f9b4ff7b3685f9b8f1aa365a0c95", - "reference": "84b4dfb120c6f9b4ff7b3685f9b8f1aa365a0c95", + "url": "https://api.github.com/repos/paragonie/random_compat/zipball/996434e5492cb4c3edcb9168db6fbb1359ef965a", + "reference": "996434e5492cb4c3edcb9168db6fbb1359ef965a", "shasum": "" }, "require": { - "php": "^7" + "php": ">= 7" }, "require-dev": { "phpunit/phpunit": "4.*|5.*", @@ -273,34 +323,39 @@ "pseudorandom", "random" ], - "time": "2018-07-02T15:55:56+00:00" + "support": { + "email": "info@paragonie.com", + "issues": "https://github.com/paragonie/random_compat/issues", + "source": "https://github.com/paragonie/random_compat" + }, + "time": "2020-10-15T08:29:30+00:00" }, { "name": "psr/log", - "version": "1.0.2", + "version": "2.0.0", "source": { "type": "git", "url": "https://github.com/php-fig/log.git", - "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d" + "reference": "ef29f6d262798707a9edd554e2b82517ef3a9376" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", - "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", + "url": "https://api.github.com/repos/php-fig/log/zipball/ef29f6d262798707a9edd554e2b82517ef3a9376", + "reference": "ef29f6d262798707a9edd554e2b82517ef3a9376", "shasum": "" }, "require": { - "php": ">=5.3.0" + "php": ">=8.0.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-master": "2.0.x-dev" } }, "autoload": { "psr-4": { - "Psr\\Log\\": "Psr/Log/" + "Psr\\Log\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -310,7 +365,7 @@ "authors": [ { "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" + "homepage": "https://www.php-fig.org/" } ], "description": "Common interface for logging libraries", @@ -320,36 +375,47 @@ "psr", "psr-3" ], - "time": "2016-10-10T12:19:37+00:00" + "support": { + "source": "https://github.com/php-fig/log/tree/2.0.0" + }, + "time": "2021-07-14T16:41:46+00:00" }, { "name": "setasign/fpdi", - "version": "1.6.2", + "version": "v2.3.6", "source": { "type": "git", "url": "https://github.com/Setasign/FPDI.git", - "reference": "a6ad58897a6d97cc2d2cd2adaeda343b25a368ea" + "reference": "6231e315f73e4f62d72b73f3d6d78ff0eed93c31" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Setasign/FPDI/zipball/a6ad58897a6d97cc2d2cd2adaeda343b25a368ea", - "reference": "a6ad58897a6d97cc2d2cd2adaeda343b25a368ea", + "url": "https://api.github.com/repos/Setasign/FPDI/zipball/6231e315f73e4f62d72b73f3d6d78ff0eed93c31", + "reference": "6231e315f73e4f62d72b73f3d6d78ff0eed93c31", "shasum": "" }, + "require": { + "ext-zlib": "*", + "php": "^5.6 || ^7.0 || ^8.0" + }, + "conflict": { + "setasign/tfpdf": "<1.31" + }, + "require-dev": { + "phpunit/phpunit": "~5.7", + "setasign/fpdf": "~1.8", + "setasign/tfpdf": "1.31", + "squizlabs/php_codesniffer": "^3.5", + "tecnickcom/tcpdf": "~6.2" + }, "suggest": { - "setasign/fpdf": "FPDI will extend this class but as it is also possible to use \"tecnickcom/tcpdf\" as an alternative there's no fixed dependency configured.", - "setasign/fpdi-fpdf": "Use this package to automatically evaluate dependencies to FPDF.", - "setasign/fpdi-tcpdf": "Use this package to automatically evaluate dependencies to TCPDF." + "setasign/fpdf": "FPDI will extend this class but as it is also possible to use TCPDF or tFPDF as an alternative. There's no fixed dependency configured." }, "type": "library", "autoload": { - "classmap": [ - "filters/", - "fpdi.php", - "fpdf_tpl.php", - "fpdi_pdf_parser.php", - "pdf_context.php" - ] + "psr-4": { + "setasign\\Fpdi\\": "src/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -360,6 +426,11 @@ "name": "Jan Slabon", "email": "jan.slabon@setasign.com", "homepage": "https://www.setasign.com" + }, + { + "name": "Maximilian Kresse", + "email": "maximilian.kresse@setasign.com", + "homepage": "https://www.setasign.com" } ], "description": "FPDI is a collection of PHP classes facilitating developers to read pages from existing PDF documents and use them as templates in FPDF. Because it is also possible to use FPDI with TCPDF, there are no fixed dependencies defined. Please see suggestions for packages which evaluates the dependencies automatically.", @@ -369,38 +440,50 @@ "fpdi", "pdf" ], - "time": "2017-05-11T14:25:49+00:00" + "support": { + "issues": "https://github.com/Setasign/FPDI/issues", + "source": "https://github.com/Setasign/FPDI/tree/v2.3.6" + }, + "funding": [ + { + "url": "https://tidelift.com/funding/github/packagist/setasign/fpdi", + "type": "tidelift" + } + ], + "time": "2021-02-11T11:37:01+00:00" }, { "name": "swiftmailer/swiftmailer", - "version": "v6.1.3", + "version": "v6.3.0", "source": { "type": "git", "url": "https://github.com/swiftmailer/swiftmailer.git", - "reference": "8ddcb66ac10c392d3beb54829eef8ac1438595f4" + "reference": "8a5d5072dca8f48460fce2f4131fcc495eec654c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/8ddcb66ac10c392d3beb54829eef8ac1438595f4", - "reference": "8ddcb66ac10c392d3beb54829eef8ac1438595f4", + "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/8a5d5072dca8f48460fce2f4131fcc495eec654c", + "reference": "8a5d5072dca8f48460fce2f4131fcc495eec654c", "shasum": "" }, "require": { - "egulias/email-validator": "~2.0", - "php": ">=7.0.0" + "egulias/email-validator": "^2.0|^3.1", + "php": ">=7.0.0", + "symfony/polyfill-iconv": "^1.0", + "symfony/polyfill-intl-idn": "^1.10", + "symfony/polyfill-mbstring": "^1.0" }, "require-dev": { - "mockery/mockery": "~0.9.1", - "symfony/phpunit-bridge": "~3.3@dev" + "mockery/mockery": "^1.0", + "symfony/phpunit-bridge": "^4.4|^5.4" }, "suggest": { - "ext-intl": "Needed to support internationalized email addresses", - "true/punycode": "Needed to support internationalized email addresses, if ext-intl is not installed" + "ext-intl": "Needed to support internationalized email addresses" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "6.1-dev" + "dev-master": "6.2-dev" } }, "autoload": { @@ -428,7 +511,435 @@ "mail", "mailer" ], - "time": "2018-09-11T07:12:52+00:00" + "support": { + "issues": "https://github.com/swiftmailer/swiftmailer/issues", + "source": "https://github.com/swiftmailer/swiftmailer/tree/v6.3.0" + }, + "funding": [ + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/swiftmailer/swiftmailer", + "type": "tidelift" + } + ], + "abandoned": "symfony/mailer", + "time": "2021-10-18T15:26:12+00:00" + }, + { + "name": "symfony/polyfill-iconv", + "version": "v1.24.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-iconv.git", + "reference": "f1aed619e28cb077fc83fac8c4c0383578356e40" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/f1aed619e28cb077fc83fac8c4c0383578356e40", + "reference": "f1aed619e28cb077fc83fac8c4c0383578356e40", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "provide": { + "ext-iconv": "*" + }, + "suggest": { + "ext-iconv": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.23-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Iconv\\": "" + }, + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for the Iconv extension", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "iconv", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-iconv/tree/v1.24.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2022-01-04T09:04:05+00:00" + }, + { + "name": "symfony/polyfill-intl-idn", + "version": "v1.24.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-idn.git", + "reference": "749045c69efb97c70d25d7463abba812e91f3a44" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/749045c69efb97c70d25d7463abba812e91f3a44", + "reference": "749045c69efb97c70d25d7463abba812e91f3a44", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "symfony/polyfill-intl-normalizer": "^1.10", + "symfony/polyfill-php72": "^1.10" + }, + "suggest": { + "ext-intl": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.23-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Intl\\Idn\\": "" + }, + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Laurent Bassin", + "email": "laurent@bassin.info" + }, + { + "name": "Trevor Rowbotham", + "email": "trevor.rowbotham@pm.me" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for intl's idn_to_ascii and idn_to_utf8 functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "idn", + "intl", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.24.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-09-14T14:02:44+00:00" + }, + { + "name": "symfony/polyfill-intl-normalizer", + "version": "v1.24.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-normalizer.git", + "reference": "8590a5f561694770bdcd3f9b5c69dde6945028e8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/8590a5f561694770bdcd3f9b5c69dde6945028e8", + "reference": "8590a5f561694770bdcd3f9b5c69dde6945028e8", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "suggest": { + "ext-intl": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.23-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Intl\\Normalizer\\": "" + }, + "files": [ + "bootstrap.php" + ], + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for intl's Normalizer class and related functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "intl", + "normalizer", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.24.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-02-19T12:13:01+00:00" + }, + { + "name": "symfony/polyfill-mbstring", + "version": "v1.24.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-mbstring.git", + "reference": "0abb51d2f102e00a4eefcf46ba7fec406d245825" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/0abb51d2f102e00a4eefcf46ba7fec406d245825", + "reference": "0abb51d2f102e00a4eefcf46ba7fec406d245825", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "provide": { + "ext-mbstring": "*" + }, + "suggest": { + "ext-mbstring": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.23-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Mbstring\\": "" + }, + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for the Mbstring extension", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "mbstring", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.24.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-11-30T18:21:41+00:00" + }, + { + "name": "symfony/polyfill-php72", + "version": "v1.24.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php72.git", + "reference": "9a142215a36a3888e30d0a9eeea9766764e96976" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/9a142215a36a3888e30d0a9eeea9766764e96976", + "reference": "9a142215a36a3888e30d0a9eeea9766764e96976", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.23-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Php72\\": "" + }, + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php72/tree/v1.24.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-05-27T09:17:38+00:00" } ], "packages-dev": [], @@ -438,5 +949,6 @@ "prefer-stable": false, "prefer-lowest": false, "platform": [], - "platform-dev": [] + "platform-dev": [], + "plugin-api-version": "2.2.0" } diff --git a/pandora_console/custom/temp/dir/path/mpdf/ttfontdata/dejavusanscondensed.GDEFdata.json b/pandora_console/custom/temp/dir/path/mpdf/ttfontdata/dejavusanscondensed.GDEFdata.json new file mode 100644 index 0000000000..ddc527026a --- /dev/null +++ b/pandora_console/custom/temp/dir/path/mpdf/ttfontdata/dejavusanscondensed.GDEFdata.json @@ -0,0 +1,16 @@ +{ + "GSUB_offset": 659580, + "GPOS_offset": 618992, + "GSUB_length": 5594, + "GlyphClassBases": " 00020| 00021| 00022| 00023| 00024| 00025| 00026| 00027| 00028| 00029| 0002A| 0002B| 0002C| 0002D| 0002E| 0002F| 00030| 00031| 00032| 00033| 00034| 00035| 00036| 00037| 00038| 00039| 0003A| 0003B| 0003C| 0003D| 0003E| 0003F| 00040| 00041| 00042| 00043| 00044| 00045| 00046| 00047| 00048| 00049| 0004A| 0004B| 0004C| 0004D| 0004E| 0004F| 00050| 00051| 00052| 00053| 00054| 00055| 00056| 00057| 00058| 00059| 0005A| 0005B| 0005C| 0005D| 0005E| 0005F| 00060| 00061| 00062| 00063| 00064| 00065| 00066| 00067| 00068| 00069| 0006A| 0006B| 0006C| 0006D| 0006E| 0006F| 00070| 00071| 00072| 00073| 00074| 00075| 00076| 00077| 00078| 00079| 0007A| 0007B| 0007C| 0007D| 0007E| 000A0| 000A1| 000A2| 000A3| 000A4| 000A5| 000A6| 000A7| 000A8| 000A9| 000AA| 000AB| 000AC| 000AD| 000AE| 000AF| 000B0| 000B1| 000B2| 000B3| 000B4| 000B5| 000B6| 000B7| 000B8| 000B9| 000BA| 000BB| 000BC| 000BD| 000BE| 000BF| 000C0| 000C1| 000C2| 000C3| 000C4| 000C5| 000C6| 000C7| 000C8| 000C9| 000CA| 000CB| 000CC| 000CD| 000CE| 000CF| 000D0| 000D1| 000D2| 000D3| 000D4| 000D5| 000D6| 000D7| 000D8| 000D9| 000DA| 000DB| 000DC| 000DD| 000DE| 000DF| 000E0| 000E1| 000E2| 000E3| 000E4| 000E5| 000E6| 000E7| 000E8| 000E9| 000EA| 000EB| 000EC| 000ED| 000EE| 000EF| 000F0| 000F1| 000F2| 000F3| 000F4| 000F5| 000F6| 000F7| 000F8| 000F9| 000FA| 000FB| 000FC| 000FD| 000FE| 000FF| 00100| 00101| 00102| 00103| 00104| 00105| 00106| 00107| 00108| 00109| 0010A| 0010B| 0010C| 0010D| 0010E| 0010F| 00110| 00111| 00112| 00113| 00114| 00115| 00116| 00117| 00118| 00119| 0011A| 0011B| 0011C| 0011D| 0011E| 0011F| 00120| 00121| 00122| 00123| 00124| 00125| 00126| 00127| 00128| 00129| 0012A| 0012B| 0012C| 0012D| 0012E| 0012F| 00130| 00131| 00132| 00133| 00134| 00135| 00136| 00137| 00138| 00139| 0013A| 0013B| 0013C| 0013D| 0013E| 0013F| 00140| 00141| 00142| 00143| 00144| 00145| 00146| 00147| 00148| 00149| 0014A| 0014B| 0014C| 0014D| 0014E| 0014F| 00150| 00151| 00152| 00153| 00154| 00155| 00156| 00157| 00158| 00159| 0015A| 0015B| 0015C| 0015D| 0015E| 0015F| 00160| 00161| 00162| 00163| 00164| 00165| 00166| 00167| 00168| 00169| 0016A| 0016B| 0016C| 0016D| 0016E| 0016F| 00170| 00171| 00172| 00173| 00174| 00175| 00176| 00177| 00178| 00179| 0017A| 0017B| 0017C| 0017D| 0017E| 0017F| 00180| 00181| 00182| 00183| 00184| 00185| 00186| 00187| 00188| 00189| 0018A| 0018B| 0018C| 0018D| 0018E| 0018F| 00190| 00191| 00192| 00193| 00194| 00195| 00196| 00197| 00198| 00199| 0019A| 0019B| 0019C| 0019D| 0019E| 0019F| 001A0| 001A1| 001A2| 001A3| 001A4| 001A5| 001A6| 001A7| 001A8| 001A9| 001AA| 001AB| 001AC| 001AD| 001AE| 001AF| 001B0| 001B1| 001B2| 001B3| 001B4| 001B5| 001B6| 001B7| 001B8| 001B9| 001BA| 001BB| 001BC| 001BD| 001BE| 001BF| 001C0| 001C1| 001C2| 001C3| 001C4| 001C5| 001C6| 001C7| 001C8| 001C9| 001CA| 001CB| 001CC| 001CD| 001CE| 001CF| 001D0| 001D1| 001D2| 001D3| 001D4| 001D5| 001D6| 001D7| 001D8| 001D9| 001DA| 001DB| 001DC| 001DD| 001DE| 001DF| 001E0| 001E1| 001E2| 001E3| 001E4| 001E5| 001E6| 001E7| 001E8| 001E9| 001EA| 001EB| 001EC| 001ED| 001EE| 001EF| 001F0| 001F1| 001F2| 001F3| 001F4| 001F5| 001F6| 001F7| 001F8| 001F9| 001FA| 001FB| 001FC| 001FD| 001FE| 001FF| 00200| 00201| 00202| 00203| 00204| 00205| 00206| 00207| 00208| 00209| 0020A| 0020B| 0020C| 0020D| 0020E| 0020F| 00210| 00211| 00212| 00213| 00214| 00215| 00216| 00217| 00218| 00219| 0021A| 0021B| 0021C| 0021D| 0021E| 0021F| 00220| 00221| 00222| 00223| 00224| 00225| 00226| 00227| 00228| 00229| 0022A| 0022B| 0022C| 0022D| 0022E| 0022F| 00230| 00231| 00232| 00233| 00234| 00235| 00236| 00237| 00238| 00239| 0023A| 0023B| 0023C| 0023D| 0023E| 0023F| 00240| 00241| 00242| 00243| 00244| 00245| 00246| 00247| 00248| 00249| 0024A| 0024B| 0024C| 0024D| 0024E| 0024F| 00250| 00251| 00252| 00253| 00254| 00255| 00256| 00257| 00258| 00259| 0025A| 0025B| 0025C| 0025D| 0025E| 0025F| 00260| 00261| 00262| 00263| 00264| 00265| 00266| 00267| 00268| 00269| 0026A| 0026B| 0026C| 0026D| 0026E| 0026F| 00270| 00271| 00272| 00273| 00274| 00275| 00276| 00277| 00278| 00279| 0027A| 0027B| 0027C| 0027D| 0027E| 0027F| 00280| 00281| 00282| 00283| 00284| 00285| 00286| 00287| 00288| 00289| 0028A| 0028B| 0028C| 0028D| 0028E| 0028F| 00290| 00291| 00292| 00293| 00294| 00295| 00296| 00297| 00298| 00299| 0029A| 0029B| 0029C| 0029D| 0029E| 0029F| 002A0| 002A1| 002A2| 002A3| 002A4| 002A5| 002A6| 002A7| 002A8| 002A9| 002AA| 002AB| 002AC| 002AD| 002AE| 002AF| 002B0| 002B1| 002B2| 002B3| 002B4| 002B5| 002B6| 002B7| 002B8| 002B9| 002BA| 002BB| 002BC| 002BD| 002BE| 002BF| 002C0| 002C1| 002C2| 002C3| 002C4| 002C5| 002C6| 002C7| 002C8| 002C9| 002CA| 002CB| 002CC| 002CD| 002CE| 002CF| 002D0| 002D1| 002D2| 002D3| 002D4| 002D5| 002D6| 002D7| 002D8| 002D9| 002DA| 002DB| 002DC| 002DD| 002DE| 002DF| 002E0| 002E1| 002E2| 002E3| 002E4| 002E5| 002E6| 002E7| 002E8| 002E9| 002EC| 002ED| 002EE| 002F3| 002F7| 00315| 0031A| 0031B| 00321| 00322| 00334| 00335| 00336| 00337| 00338| 00343| 00345| 0034F| 00358| 0035C| 0035F| 00362| 00370| 00371| 00372| 00373| 00374| 00375| 00376| 00377| 0037A| 0037B| 0037C| 0037D| 0037E| 0037F| 00384| 00385| 00386| 00387| 00388| 00389| 0038A| 0038C| 0038E| 0038F| 00390| 00391| 00392| 00393| 00394| 00395| 00396| 00397| 00398| 00399| 0039A| 0039B| 0039C| 0039D| 0039E| 0039F| 003A0| 003A1| 003A3| 003A4| 003A5| 003A6| 003A7| 003A8| 003A9| 003AA| 003AB| 003AC| 003AD| 003AE| 003AF| 003B0| 003B1| 003B2| 003B3| 003B4| 003B5| 003B6| 003B7| 003B8| 003B9| 003BA| 003BB| 003BC| 003BD| 003BE| 003BF| 003C0| 003C1| 003C2| 003C3| 003C4| 003C5| 003C6| 003C7| 003C8| 003C9| 003CA| 003CB| 003CC| 003CD| 003CE| 003CF| 003D0| 003D1| 003D2| 003D3| 003D4| 003D5| 003D6| 003D7| 003D8| 003D9| 003DA| 003DB| 003DC| 003DD| 003DE| 003DF| 003E0| 003E1| 003E2| 003E3| 003E4| 003E5| 003E6| 003E7| 003E8| 003E9| 003EA| 003EB| 003EC| 003ED| 003EE| 003EF| 003F0| 003F1| 003F2| 003F3| 003F4| 003F5| 003F6| 003F7| 003F8| 003F9| 003FA| 003FB| 003FC| 003FD| 003FE| 003FF| 00400| 00401| 00402| 00403| 00404| 00405| 00406| 00407| 00408| 00409| 0040A| 0040B| 0040C| 0040D| 0040E| 0040F| 00410| 00411| 00412| 00413| 00414| 00415| 00416| 00417| 00418| 00419| 0041A| 0041B| 0041C| 0041D| 0041E| 0041F| 00420| 00421| 00422| 00423| 00424| 00425| 00426| 00427| 00428| 00429| 0042A| 0042B| 0042C| 0042D| 0042E| 0042F| 00430| 00431| 00432| 00433| 00434| 00435| 00436| 00437| 00438| 00439| 0043A| 0043B| 0043C| 0043D| 0043E| 0043F| 00440| 00441| 00442| 00443| 00444| 00445| 00446| 00447| 00448| 00449| 0044A| 0044B| 0044C| 0044D| 0044E| 0044F| 00450| 00451| 00452| 00453| 00454| 00455| 00456| 00457| 00458| 00459| 0045A| 0045B| 0045C| 0045D| 0045E| 0045F| 00460| 00461| 00462| 00463| 00464| 00465| 00466| 00467| 00468| 00469| 0046A| 0046B| 0046C| 0046D| 0046E| 0046F| 00470| 00471| 00472| 00473| 00474| 00475| 00476| 00477| 00478| 00479| 0047A| 0047B| 0047C| 0047D| 0047E| 0047F| 00480| 00481| 00482| 00488| 00489| 0048A| 0048B| 0048C| 0048D| 0048E| 0048F| 00490| 00491| 00492| 00493| 00494| 00495| 00496| 00497| 00498| 00499| 0049A| 0049B| 0049C| 0049D| 0049E| 0049F| 004A0| 004A1| 004A2| 004A3| 004A4| 004A5| 004A6| 004A7| 004A8| 004A9| 004AA| 004AB| 004AC| 004AD| 004AE| 004AF| 004B0| 004B1| 004B2| 004B3| 004B4| 004B5| 004B6| 004B7| 004B8| 004B9| 004BA| 004BB| 004BC| 004BD| 004BE| 004BF| 004C0| 004C1| 004C2| 004C3| 004C4| 004C5| 004C6| 004C7| 004C8| 004C9| 004CA| 004CB| 004CC| 004CD| 004CE| 004CF| 004D0| 004D1| 004D2| 004D3| 004D4| 004D5| 004D6| 004D7| 004D8| 004D9| 004DA| 004DB| 004DC| 004DD| 004DE| 004DF| 004E0| 004E1| 004E2| 004E3| 004E4| 004E5| 004E6| 004E7| 004E8| 004E9| 004EA| 004EB| 004EC| 004ED| 004EE| 004EF| 004F0| 004F1| 004F2| 004F3| 004F4| 004F5| 004F6| 004F7| 004F8| 004F9| 004FA| 004FB| 004FC| 004FD| 004FE| 004FF| 00500| 00501| 00502| 00503| 00504| 00505| 00506| 00507| 00508| 00509| 0050A| 0050B| 0050C| 0050D| 0050E| 0050F| 00510| 00511| 00512| 00513| 00514| 00515| 00516| 00517| 00518| 00519| 0051A| 0051B| 0051C| 0051D| 0051E| 0051F| 00520| 00521| 00522| 00523| 00524| 00525| 00531| 00532| 00533| 00534| 00535| 00536| 00537| 00538| 00539| 0053A| 0053B| 0053C| 0053D| 0053E| 0053F| 00540| 00541| 00542| 00543| 00544| 00545| 00546| 00547| 00548| 00549| 0054A| 0054B| 0054C| 0054D| 0054E| 0054F| 00550| 00551| 00552| 00553| 00554| 00555| 00556| 00559| 0055A| 0055B| 0055C| 0055D| 0055E| 0055F| 00561| 00562| 00563| 00564| 00565| 00566| 00567| 00568| 00569| 0056A| 0056B| 0056C| 0056D| 0056E| 0056F| 00570| 00571| 00572| 00573| 00574| 00575| 00576| 00577| 00578| 00579| 0057A| 0057B| 0057C| 0057D| 0057E| 0057F| 00580| 00581| 00582| 00583| 00584| 00585| 00586| 00589| 0058A| 005B9| 005BA| 005BE| 005C0| 005C1| 005C2| 005C3| 005C6| 005D0| 005D1| 005D2| 005D3| 005D4| 005D5| 005D6| 005D7| 005D8| 005D9| 005DA| 005DB| 005DC| 005DD| 005DE| 005DF| 005E0| 005E1| 005E2| 005E3| 005E4| 005E5| 005E6| 005E7| 005E8| 005E9| 005EA| 005F0| 005F1| 005F2| 005F3| 005F4| 00606| 00607| 00609| 0060A| 0060C| 0061B| 0061F| 00621| 00627| 00628| 00629| 0062A| 0062B| 0062C| 0062D| 0062E| 0062F| 00630| 00631| 00632| 00633| 00634| 00635| 00636| 00637| 00638| 00639| 0063A| 00640| 00641| 00642| 00643| 00644| 00645| 00646| 00647| 00648| 00649| 0064A| 00660| 00661| 00662| 00663| 00664| 00665| 00666| 00667| 00668| 00669| 0066A| 0066B| 0066C| 0066D| 0066E| 0066F| 00674| 00679| 0067A| 0067B| 0067C| 0067D| 0067E| 0067F| 00680| 00681| 00682| 00683| 00684| 00685| 00686| 00687| 00688| 00689| 0068A| 0068B| 0068C| 0068D| 0068E| 0068F| 00690| 00691| 00692| 00693| 00694| 00695| 00696| 00697| 00698| 00699| 0069A| 0069B| 0069C| 0069D| 0069E| 0069F| 006A0| 006A1| 006A2| 006A3| 006A4| 006A5| 006A6| 006A7| 006A8| 006A9| 006AA| 006AB| 006AC| 006AD| 006AE| 006AF| 006B0| 006B1| 006B2| 006B3| 006B4| 006B5| 006B6| 006B7| 006B8| 006B9| 006BA| 006BB| 006BC| 006BD| 006BE| 006BF| 006C6| 006C7| 006C8| 006CB| 006CC| 006CE| 006D0| 006D5| 006F0| 006F1| 006F2| 006F3| 006F4| 006F5| 006F6| 006F7| 006F8| 006F9| 007C0| 007C1| 007C2| 007C3| 007C4| 007C5| 007C6| 007C7| 007C8| 007C9| 007CA| 007CB| 007CC| 007CD| 007CE| 007CF| 007D0| 007D1| 007D2| 007D3| 007D4| 007D5| 007D6| 007D7| 007D8| 007D9| 007DA| 007DB| 007DC| 007DD| 007DE| 007DF| 007E0| 007E1| 007E2| 007E3| 007E4| 007E5| 007E6| 007E7| 007F4| 007F5| 007F8| 007F9| 007FA| 00E3F| 00E81| 00E82| 00E84| 00E87| 00E88| 00E8A| 00E8D| 00E94| 00E95| 00E96| 00E97| 00E99| 00E9A| 00E9B| 00E9C| 00E9D| 00E9E| 00E9F| 00EA1| 00EA2| 00EA3| 00EA5| 00EA7| 00EAA| 00EAB| 00EAD| 00EAE| 00EAF| 00EB0| 00EB2| 00EB3| 00EBD| 00EC0| 00EC1| 00EC2| 00EC3| 00EC4| 00EC6| 00ED0| 00ED1| 00ED2| 00ED3| 00ED4| 00ED5| 00ED6| 00ED7| 00ED8| 00ED9| 00EDC| 00EDD| 010A0| 010A1| 010A2| 010A3| 010A4| 010A5| 010A6| 010A7| 010A8| 010A9| 010AA| 010AB| 010AC| 010AD| 010AE| 010AF| 010B0| 010B1| 010B2| 010B3| 010B4| 010B5| 010B6| 010B7| 010B8| 010B9| 010BA| 010BB| 010BC| 010BD| 010BE| 010BF| 010C0| 010C1| 010C2| 010C3| 010C4| 010C5| 010D0| 010D1| 010D2| 010D3| 010D4| 010D5| 010D6| 010D7| 010D8| 010D9| 010DA| 010DB| 010DC| 010DD| 010DE| 010DF| 010E0| 010E1| 010E2| 010E3| 010E4| 010E5| 010E6| 010E7| 010E8| 010E9| 010EA| 010EB| 010EC| 010ED| 010EE| 010EF| 010F0| 010F1| 010F2| 010F3| 010F4| 010F5| 010F6| 010F7| 010F8| 010F9| 010FA| 010FB| 010FC| 01401| 01402| 01403| 01404| 01405| 01406| 01407| 01409| 0140A| 0140B| 0140C| 0140D| 0140E| 0140F| 01410| 01411| 01412| 01413| 01414| 01415| 01416| 01417| 01418| 01419| 0141A| 0141B| 0141D| 0141E| 0141F| 01420| 01421| 01422| 01423| 01424| 01425| 01426| 01427| 01428| 01429| 0142A| 0142B| 0142C| 0142D| 0142E| 0142F| 01430| 01431| 01432| 01433| 01434| 01435| 01437| 01438| 01439| 0143A| 0143B| 0143C| 0143D| 0143E| 0143F| 01440| 01441| 01442| 01443| 01444| 01445| 01446| 01447| 01448| 01449| 0144A| 0144C| 0144D| 0144E| 0144F| 01450| 01451| 01452| 01454| 01455| 01456| 01457| 01458| 01459| 0145A| 0145B| 0145C| 0145D| 0145E| 0145F| 01460| 01461| 01462| 01463| 01464| 01465| 01466| 01467| 01468| 01469| 0146A| 0146B| 0146C| 0146D| 0146E| 0146F| 01470| 01471| 01472| 01473| 01474| 01475| 01476| 01477| 01478| 01479| 0147A| 0147B| 0147C| 0147D| 0147E| 0147F| 01480| 01481| 01482| 01483| 01484| 01485| 01486| 01487| 01488| 01489| 0148A| 0148B| 0148C| 0148D| 0148E| 0148F| 01490| 01491| 01492| 01493| 01494| 01495| 01496| 01497| 01498| 01499| 0149A| 0149B| 0149C| 0149D| 0149E| 0149F| 014A0| 014A1| 014A2| 014A3| 014A4| 014A5| 014A6| 014A7| 014A8| 014A9| 014AA| 014AB| 014AC| 014AD| 014AE| 014AF| 014B0| 014B1| 014B2| 014B3| 014B4| 014B5| 014B6| 014B7| 014B8| 014B9| 014BA| 014BB| 014BC| 014BD| 014C0| 014C1| 014C2| 014C3| 014C4| 014C5| 014C6| 014C7| 014C8| 014C9| 014CA| 014CB| 014CC| 014CD| 014CE| 014CF| 014D0| 014D1| 014D2| 014D3| 014D4| 014D5| 014D6| 014D7| 014D8| 014D9| 014DA| 014DB| 014DC| 014DD| 014DE| 014DF| 014E0| 014E1| 014E2| 014E3| 014E4| 014E5| 014E6| 014E7| 014E8| 014E9| 014EA| 014EC| 014ED| 014EE| 014EF| 014F0| 014F1| 014F2| 014F3| 014F4| 014F5| 014F6| 014F7| 014F8| 014F9| 014FA| 014FB| 014FC| 014FD| 014FE| 014FF| 01500| 01501| 01502| 01503| 01504| 01505| 01506| 01507| 01510| 01511| 01512| 01513| 01514| 01515| 01516| 01517| 01518| 01519| 0151A| 0151B| 0151C| 0151D| 0151E| 0151F| 01520| 01521| 01522| 01523| 01524| 01525| 01526| 01527| 01528| 01529| 0152A| 0152B| 0152C| 0152D| 0152E| 0152F| 01530| 01531| 01532| 01533| 01534| 01535| 01536| 01537| 01538| 01539| 0153A| 0153B| 0153C| 0153D| 0153E| 01540| 01541| 01542| 01543| 01544| 01545| 01546| 01547| 01548| 01549| 0154A| 0154B| 0154C| 0154D| 0154E| 0154F| 01550| 01552| 01553| 01554| 01555| 01556| 01557| 01558| 01559| 0155A| 0155B| 0155C| 0155D| 0155E| 0155F| 01560| 01561| 01562| 01563| 01564| 01565| 01566| 01567| 01568| 01569| 0156A| 01574| 01575| 01576| 01577| 01578| 01579| 0157A| 0157B| 0157C| 0157D| 0157E| 0157F| 01580| 01581| 01582| 01583| 01584| 01585| 0158A| 0158B| 0158C| 0158D| 0158E| 0158F| 01590| 01591| 01592| 01593| 01594| 01595| 01596| 015A0| 015A1| 015A2| 015A3| 015A4| 015A5| 015A6| 015A7| 015A8| 015A9| 015AA| 015AB| 015AC| 015AD| 015AE| 015AF| 015DE| 015E1| 01646| 01647| 0166E| 0166F| 01670| 01671| 01672| 01673| 01674| 01675| 01676| 01680| 01681| 01682| 01683| 01684| 01685| 01686| 01687| 01688| 01689| 0168A| 0168B| 0168C| 0168D| 0168E| 0168F| 01690| 01691| 01692| 01693| 01694| 01695| 01696| 01697| 01698| 01699| 0169A| 0169B| 0169C| 01D00| 01D01| 01D02| 01D03| 01D04| 01D05| 01D06| 01D07| 01D08| 01D09| 01D0A| 01D0B| 01D0C| 01D0D| 01D0E| 01D0F| 01D10| 01D11| 01D12| 01D13| 01D14| 01D16| 01D17| 01D18| 01D19| 01D1A| 01D1B| 01D1C| 01D1D| 01D1E| 01D1F| 01D20| 01D21| 01D22| 01D23| 01D26| 01D27| 01D28| 01D29| 01D2A| 01D2B| 01D2C| 01D2D| 01D2E| 01D30| 01D31| 01D32| 01D33| 01D34| 01D35| 01D36| 01D37| 01D38| 01D39| 01D3A| 01D3B| 01D3C| 01D3D| 01D3E| 01D3F| 01D40| 01D41| 01D42| 01D43| 01D44| 01D45| 01D46| 01D47| 01D48| 01D49| 01D4A| 01D4B| 01D4C| 01D4D| 01D4E| 01D4F| 01D50| 01D51| 01D52| 01D53| 01D54| 01D55| 01D56| 01D57| 01D58| 01D59| 01D5A| 01D5B| 01D5D| 01D5E| 01D5F| 01D60| 01D61| 01D62| 01D63| 01D64| 01D65| 01D66| 01D67| 01D68| 01D69| 01D6A| 01D77| 01D78| 01D7B| 01D7D| 01D85| 01D9B| 01D9C| 01D9D| 01D9E| 01D9F| 01DA0| 01DA1| 01DA2| 01DA3| 01DA4| 01DA5| 01DA6| 01DA7| 01DA8| 01DA9| 01DAA| 01DAB| 01DAC| 01DAD| 01DAE| 01DAF| 01DB0| 01DB1| 01DB2| 01DB3| 01DB4| 01DB5| 01DB6| 01DB7| 01DB8| 01DB9| 01DBA| 01DBB| 01DBC| 01DBD| 01DBE| 01DBF| 01E00| 01E01| 01E02| 01E03| 01E04| 01E05| 01E06| 01E07| 01E08| 01E09| 01E0A| 01E0B| 01E0C| 01E0D| 01E0E| 01E0F| 01E10| 01E11| 01E12| 01E13| 01E14| 01E15| 01E16| 01E17| 01E18| 01E19| 01E1A| 01E1B| 01E1C| 01E1D| 01E1E| 01E1F| 01E20| 01E21| 01E22| 01E23| 01E24| 01E25| 01E26| 01E27| 01E28| 01E29| 01E2A| 01E2B| 01E2C| 01E2D| 01E2E| 01E2F| 01E30| 01E31| 01E32| 01E33| 01E34| 01E35| 01E36| 01E37| 01E38| 01E39| 01E3A| 01E3B| 01E3C| 01E3D| 01E3E| 01E3F| 01E40| 01E41| 01E42| 01E43| 01E44| 01E45| 01E46| 01E47| 01E48| 01E49| 01E4A| 01E4B| 01E4C| 01E4D| 01E4E| 01E4F| 01E50| 01E51| 01E52| 01E53| 01E54| 01E55| 01E56| 01E57| 01E58| 01E59| 01E5A| 01E5B| 01E5C| 01E5D| 01E5E| 01E5F| 01E60| 01E61| 01E62| 01E63| 01E64| 01E65| 01E66| 01E67| 01E68| 01E69| 01E6A| 01E6B| 01E6C| 01E6D| 01E6E| 01E6F| 01E70| 01E71| 01E72| 01E73| 01E74| 01E75| 01E76| 01E77| 01E78| 01E79| 01E7A| 01E7B| 01E7C| 01E7D| 01E7E| 01E7F| 01E80| 01E81| 01E82| 01E83| 01E84| 01E85| 01E86| 01E87| 01E88| 01E89| 01E8A| 01E8B| 01E8C| 01E8D| 01E8E| 01E8F| 01E90| 01E91| 01E92| 01E93| 01E94| 01E95| 01E96| 01E97| 01E98| 01E99| 01E9A| 01E9B| 01E9C| 01E9D| 01E9E| 01E9F| 01EA0| 01EA1| 01EA2| 01EA3| 01EA4| 01EA5| 01EA6| 01EA7| 01EA8| 01EA9| 01EAA| 01EAB| 01EAC| 01EAD| 01EAE| 01EAF| 01EB0| 01EB1| 01EB2| 01EB3| 01EB4| 01EB5| 01EB6| 01EB7| 01EB8| 01EB9| 01EBA| 01EBB| 01EBC| 01EBD| 01EBE| 01EBF| 01EC0| 01EC1| 01EC2| 01EC3| 01EC4| 01EC5| 01EC6| 01EC7| 01EC8| 01EC9| 01ECA| 01ECB| 01ECC| 01ECD| 01ECE| 01ECF| 01ED0| 01ED1| 01ED2| 01ED3| 01ED4| 01ED5| 01ED6| 01ED7| 01ED8| 01ED9| 01EDA| 01EDB| 01EDC| 01EDD| 01EDE| 01EDF| 01EE0| 01EE1| 01EE2| 01EE3| 01EE4| 01EE5| 01EE6| 01EE7| 01EE8| 01EE9| 01EEA| 01EEB| 01EEC| 01EED| 01EEE| 01EEF| 01EF0| 01EF1| 01EF2| 01EF3| 01EF4| 01EF5| 01EF6| 01EF7| 01EF8| 01EF9| 01EFA| 01EFB| 01F00| 01F01| 01F02| 01F03| 01F04| 01F05| 01F06| 01F07| 01F08| 01F09| 01F0A| 01F0B| 01F0C| 01F0D| 01F0E| 01F0F| 01F10| 01F11| 01F12| 01F13| 01F14| 01F15| 01F18| 01F19| 01F1A| 01F1B| 01F1C| 01F1D| 01F20| 01F21| 01F22| 01F23| 01F24| 01F25| 01F26| 01F27| 01F28| 01F29| 01F2A| 01F2B| 01F2C| 01F2D| 01F2E| 01F2F| 01F30| 01F31| 01F32| 01F33| 01F34| 01F35| 01F36| 01F37| 01F38| 01F39| 01F3A| 01F3B| 01F3C| 01F3D| 01F3E| 01F3F| 01F40| 01F41| 01F42| 01F43| 01F44| 01F45| 01F48| 01F49| 01F4A| 01F4B| 01F4C| 01F4D| 01F50| 01F51| 01F52| 01F53| 01F54| 01F55| 01F56| 01F57| 01F59| 01F5B| 01F5D| 01F5F| 01F60| 01F61| 01F62| 01F63| 01F64| 01F65| 01F66| 01F67| 01F68| 01F69| 01F6A| 01F6B| 01F6C| 01F6D| 01F6E| 01F6F| 01F70| 01F71| 01F72| 01F73| 01F74| 01F75| 01F76| 01F77| 01F78| 01F79| 01F7A| 01F7B| 01F7C| 01F7D| 01F80| 01F81| 01F82| 01F83| 01F84| 01F85| 01F86| 01F87| 01F88| 01F89| 01F8A| 01F8B| 01F8C| 01F8D| 01F8E| 01F8F| 01F90| 01F91| 01F92| 01F93| 01F94| 01F95| 01F96| 01F97| 01F98| 01F99| 01F9A| 01F9B| 01F9C| 01F9D| 01F9E| 01F9F| 01FA0| 01FA1| 01FA2| 01FA3| 01FA4| 01FA5| 01FA6| 01FA7| 01FA8| 01FA9| 01FAA| 01FAB| 01FAC| 01FAD| 01FAE| 01FAF| 01FB0| 01FB1| 01FB2| 01FB3| 01FB4| 01FB6| 01FB7| 01FB8| 01FB9| 01FBA| 01FBB| 01FBC| 01FBD| 01FBE| 01FBF| 01FC0| 01FC1| 01FC2| 01FC3| 01FC4| 01FC6| 01FC7| 01FC8| 01FC9| 01FCA| 01FCB| 01FCC| 01FCD| 01FCE| 01FCF| 01FD0| 01FD1| 01FD2| 01FD3| 01FD6| 01FD7| 01FD8| 01FD9| 01FDA| 01FDB| 01FDD| 01FDE| 01FDF| 01FE0| 01FE1| 01FE2| 01FE3| 01FE4| 01FE5| 01FE6| 01FE7| 01FE8| 01FE9| 01FEA| 01FEB| 01FEC| 01FED| 01FEE| 01FEF| 01FF2| 01FF3| 01FF4| 01FF6| 01FF7| 01FF8| 01FF9| 01FFA| 01FFB| 01FFC| 01FFD| 01FFE| 02000| 02001| 02002| 02003| 02004| 02005| 02006| 02007| 02008| 02009| 0200A| 0200B| 0200C| 0200D| 0200E| 0200F| 02010| 02011| 02012| 02013| 02014| 02015| 02016| 02017| 02018| 02019| 0201A| 0201B| 0201C| 0201D| 0201E| 0201F| 02020| 02021| 02022| 02023| 02024| 02025| 02026| 02027| 02028| 02029| 0202A| 0202B| 0202C| 0202D| 0202E| 0202F| 02030| 02031| 02032| 02033| 02034| 02035| 02036| 02037| 02038| 02039| 0203A| 0203B| 0203D| 0203E| 0203F| 02040| 02041| 02042| 02043| 02044| 02045| 02046| 0204A| 0204B| 0204C| 0204D| 0204E| 0204F| 02050| 02051| 02052| 02053| 02054| 02055| 02056| 02057| 02058| 02059| 0205A| 0205B| 0205C| 0205D| 0205E| 0205F| 02060| 02061| 02062| 02063| 02064| 0206A| 0206B| 0206C| 0206D| 0206E| 0206F| 02070| 02071| 02074| 02075| 02076| 02077| 02078| 02079| 0207A| 0207B| 0207C| 0207D| 0207E| 0207F| 02080| 02081| 02082| 02083| 02084| 02085| 02086| 02087| 02088| 02089| 0208A| 0208B| 0208C| 0208D| 0208E| 02090| 02091| 02092| 02093| 02094| 02095| 02096| 02097| 02098| 02099| 0209A| 0209B| 0209C| 020A0| 020A1| 020A2| 020A3| 020A4| 020A5| 020A6| 020A7| 020A9| 020AA| 020AB| 020AC| 020AD| 020AE| 020AF| 020B0| 020B1| 020B2| 020B3| 020B4| 020B5| 020B8| 020B9| 020BA| 020BD| 02101| 02102| 02103| 02104| 02107| 02108| 02109| 0210B| 0210C| 0210D| 0210E| 0210F| 02110| 02111| 02112| 02113| 02114| 02115| 02116| 02117| 02118| 02119| 0211A| 0211B| 0211C| 0211D| 0211E| 0211F| 02122| 02123| 02124| 02125| 02126| 02127| 02128| 02129| 0212A| 0212B| 0212C| 0212D| 0212E| 0212F| 02130| 02131| 02132| 02133| 02134| 02135| 02136| 02137| 02138| 02139| 0213A| 0213C| 0213D| 0213E| 0213F| 02140| 02141| 02142| 02143| 02144| 02145| 02146| 02147| 02148| 02149| 0214B| 0214E| 02150| 02151| 02152| 02153| 02154| 02155| 02156| 02157| 02158| 02159| 0215A| 0215B| 0215C| 0215D| 0215E| 0215F| 02160| 02161| 02162| 02163| 02164| 02165| 02166| 02167| 02168| 02169| 0216A| 0216B| 0216C| 0216D| 0216E| 0216F| 02170| 02171| 02172| 02173| 02174| 02175| 02176| 02177| 02178| 02179| 0217A| 0217B| 0217C| 0217D| 0217E| 0217F| 02180| 02181| 02182| 02183| 02184| 02185| 02189| 02190| 02191| 02192| 02193| 02194| 02195| 02196| 02197| 02198| 02199| 0219A| 0219B| 0219C| 0219D| 0219E| 0219F| 021A0| 021A1| 021A2| 021A3| 021A4| 021A5| 021A6| 021A7| 021A8| 021A9| 021AA| 021AB| 021AC| 021AD| 021AE| 021AF| 021B0| 021B1| 021B2| 021B3| 021B4| 021B5| 021B6| 021B7| 021B8| 021B9| 021BA| 021BB| 021BC| 021BD| 021BE| 021BF| 021C0| 021C1| 021C2| 021C3| 021C4| 021C5| 021C6| 021C7| 021C8| 021C9| 021CA| 021CB| 021CC| 021CD| 021CE| 021CF| 021D0| 021D1| 021D2| 021D3| 021D4| 021D5| 021D6| 021D7| 021D8| 021D9| 021DA| 021DB| 021DC| 021DD| 021DE| 021DF| 021E0| 021E1| 021E2| 021E3| 021E4| 021E5| 021E6| 021E7| 021E8| 021E9| 021EA| 021EB| 021EC| 021ED| 021EE| 021EF| 021F0| 021F1| 021F2| 021F3| 021F4| 021F5| 021F6| 021F7| 021F8| 021F9| 021FA| 021FB| 021FC| 021FD| 021FE| 021FF| 02200| 02201| 02202| 02203| 02204| 02205| 02206| 02207| 02208| 02209| 0220A| 0220B| 0220C| 0220D| 0220E| 0220F| 02210| 02211| 02212| 02213| 02214| 02215| 02216| 02217| 02218| 02219| 0221A| 0221B| 0221C| 0221D| 0221E| 0221F| 02220| 02221| 02222| 02223| 02224| 02225| 02226| 02227| 02228| 02229| 0222A| 0222B| 0222C| 0222D| 0222E| 0222F| 02230| 02231| 02232| 02233| 02234| 02235| 02236| 02237| 02238| 02239| 0223A| 0223B| 0223C| 0223D| 0223E| 0223F| 02240| 02241| 02242| 02243| 02244| 02245| 02246| 02247| 02248| 02249| 0224A| 0224B| 0224C| 0224D| 0224E| 0224F| 02250| 02251| 02252| 02253| 02254| 02255| 02256| 02257| 02258| 02259| 0225A| 0225B| 0225C| 0225D| 0225E| 0225F| 02260| 02261| 02262| 02263| 02264| 02265| 02266| 02267| 02268| 02269| 0226A| 0226B| 0226C| 0226D| 0226E| 0226F| 02270| 02271| 02272| 02273| 02274| 02275| 02276| 02277| 02278| 02279| 0227A| 0227B| 0227C| 0227D| 0227E| 0227F| 02280| 02281| 02282| 02283| 02284| 02285| 02286| 02287| 02288| 02289| 0228A| 0228B| 0228C| 0228D| 0228E| 0228F| 02290| 02291| 02292| 02293| 02294| 02295| 02296| 02297| 02298| 02299| 0229A| 0229B| 0229C| 0229D| 0229E| 0229F| 022A0| 022A1| 022A2| 022A3| 022A4| 022A5| 022A6| 022A7| 022A8| 022A9| 022AA| 022AB| 022AC| 022AD| 022AE| 022AF| 022B0| 022B1| 022B2| 022B3| 022B4| 022B5| 022B6| 022B7| 022B8| 022B9| 022BA| 022BB| 022BC| 022BD| 022BE| 022BF| 022C0| 022C1| 022C2| 022C3| 022C4| 022C5| 022C6| 022C7| 022C8| 022C9| 022CA| 022CB| 022CC| 022CD| 022CE| 022CF| 022D0| 022D1| 022D2| 022D3| 022D4| 022D5| 022D6| 022D7| 022D8| 022D9| 022DA| 022DB| 022DC| 022DD| 022DE| 022DF| 022E0| 022E1| 022E2| 022E3| 022E4| 022E5| 022E6| 022E7| 022E8| 022E9| 022EA| 022EB| 022EC| 022ED| 022EE| 022EF| 022F0| 022F1| 022F2| 022F3| 022F4| 022F5| 022F6| 022F7| 022F8| 022F9| 022FA| 022FB| 022FC| 022FD| 022FE| 022FF| 02300| 02301| 02302| 02303| 02304| 02305| 02306| 02307| 02308| 02309| 0230A| 0230B| 0230C| 0230D| 0230E| 0230F| 02310| 02311| 02318| 02319| 0231C| 0231D| 0231E| 0231F| 02320| 02321| 02324| 02325| 02326| 02327| 02328| 0232B| 0232C| 02373| 02374| 02375| 0237A| 0237D| 02387| 02394| 0239B| 0239C| 0239D| 0239E| 0239F| 023A0| 023A1| 023A2| 023A3| 023A4| 023A5| 023A6| 023A7| 023A8| 023A9| 023AA| 023AB| 023AC| 023AD| 023AE| 023CE| 023CF| 023E3| 023E5| 023E8| 02422| 02423| 02460| 02461| 02462| 02463| 02464| 02465| 02466| 02467| 02468| 02469| 02500| 02501| 02502| 02503| 02504| 02505| 02506| 02507| 02508| 02509| 0250A| 0250B| 0250C| 0250D| 0250E| 0250F| 02510| 02511| 02512| 02513| 02514| 02515| 02516| 02517| 02518| 02519| 0251A| 0251B| 0251C| 0251D| 0251E| 0251F| 02520| 02521| 02522| 02523| 02524| 02525| 02526| 02527| 02528| 02529| 0252A| 0252B| 0252C| 0252D| 0252E| 0252F| 02530| 02531| 02532| 02533| 02534| 02535| 02536| 02537| 02538| 02539| 0253A| 0253B| 0253C| 0253D| 0253E| 0253F| 02540| 02541| 02542| 02543| 02544| 02545| 02546| 02547| 02548| 02549| 0254A| 0254B| 0254C| 0254D| 0254E| 0254F| 02550| 02551| 02552| 02553| 02554| 02555| 02556| 02557| 02558| 02559| 0255A| 0255B| 0255C| 0255D| 0255E| 0255F| 02560| 02561| 02562| 02563| 02564| 02565| 02566| 02567| 02568| 02569| 0256A| 0256B| 0256C| 0256D| 0256E| 0256F| 02570| 02571| 02572| 02573| 02574| 02575| 02576| 02577| 02578| 02579| 0257A| 0257B| 0257C| 0257D| 0257E| 0257F| 02580| 02581| 02582| 02583| 02584| 02585| 02586| 02587| 02588| 02589| 0258A| 0258B| 0258C| 0258D| 0258E| 0258F| 02590| 02591| 02592| 02593| 02594| 02595| 02596| 02597| 02598| 02599| 0259A| 0259B| 0259C| 0259D| 0259E| 0259F| 025A0| 025A1| 025A2| 025A3| 025A4| 025A5| 025A6| 025A7| 025A8| 025A9| 025AA| 025AB| 025AC| 025AD| 025AE| 025AF| 025B0| 025B1| 025B2| 025B3| 025B4| 025B5| 025B6| 025B7| 025B8| 025B9| 025BA| 025BB| 025BC| 025BD| 025BE| 025BF| 025C0| 025C1| 025C2| 025C3| 025C4| 025C5| 025C6| 025C7| 025C8| 025C9| 025CA| 025CB| 025CC| 025CD| 025CE| 025CF| 025D0| 025D1| 025D2| 025D3| 025D4| 025D5| 025D6| 025D7| 025D8| 025D9| 025DA| 025DB| 025DC| 025DD| 025DE| 025DF| 025E0| 025E1| 025E2| 025E3| 025E4| 025E5| 025E6| 025E7| 025E8| 025E9| 025EA| 025EB| 025EC| 025ED| 025EE| 025EF| 025F0| 025F1| 025F2| 025F3| 025F4| 025F5| 025F6| 025F7| 025F8| 025F9| 025FA| 025FB| 025FC| 025FD| 025FE| 025FF| 02600| 02601| 02602| 02603| 02604| 02605| 02606| 02607| 02608| 02609| 0260A| 0260B| 0260C| 0260D| 0260E| 0260F| 02610| 02611| 02612| 02613| 02614| 02615| 02616| 02617| 02618| 02619| 0261A| 0261B| 0261C| 0261D| 0261E| 0261F| 02620| 02621| 02622| 02623| 02624| 02625| 02626| 02627| 02628| 02629| 0262A| 0262B| 0262C| 0262D| 0262E| 0262F| 02630| 02631| 02632| 02633| 02634| 02635| 02636| 02637| 02638| 02639| 0263A| 0263B| 0263C| 0263D| 0263E| 0263F| 02640| 02641| 02642| 02643| 02644| 02645| 02646| 02647| 02648| 02649| 0264A| 0264B| 0264C| 0264D| 0264E| 0264F| 02650| 02651| 02652| 02653| 02654| 02655| 02656| 02657| 02658| 02659| 0265A| 0265B| 0265C| 0265D| 0265E| 0265F| 02660| 02661| 02662| 02663| 02664| 02665| 02666| 02667| 02668| 02669| 0266A| 0266B| 0266C| 0266D| 0266E| 0266F| 02670| 02671| 02672| 02673| 02674| 02675| 02676| 02677| 02678| 02679| 0267A| 0267B| 0267C| 0267D| 0267E| 0267F| 02680| 02681| 02682| 02683| 02684| 02685| 02686| 02687| 02688| 02689| 0268A| 0268B| 0268C| 0268D| 0268E| 0268F| 02690| 02691| 02692| 02693| 02694| 02695| 02696| 02697| 02698| 02699| 0269A| 0269B| 0269C| 0269E| 0269F| 026A0| 026A1| 026A2| 026A3| 026A4| 026A5| 026A6| 026A7| 026A8| 026A9| 026AA| 026AB| 026AC| 026AD| 026AE| 026AF| 026B0| 026B1| 026B2| 026B3| 026B4| 026B5| 026B6| 026B7| 026B8| 026C0| 026C1| 026C2| 026C3| 026E2| 02701| 02702| 02703| 02704| 02706| 02707| 02708| 02709| 0270C| 0270D| 0270E| 0270F| 02710| 02711| 02712| 02713| 02714| 02715| 02716| 02717| 02718| 02719| 0271A| 0271B| 0271C| 0271D| 0271E| 0271F| 02720| 02721| 02722| 02723| 02724| 02725| 02726| 02727| 02729| 0272A| 0272B| 0272C| 0272D| 0272E| 0272F| 02730| 02731| 02732| 02733| 02734| 02735| 02736| 02737| 02738| 02739| 0273A| 0273B| 0273C| 0273D| 0273E| 0273F| 02740| 02741| 02742| 02743| 02744| 02745| 02746| 02747| 02748| 02749| 0274A| 0274B| 0274D| 0274F| 02750| 02751| 02752| 02756| 02758| 02759| 0275A| 0275B| 0275C| 0275D| 0275E| 02761| 02762| 02763| 02764| 02765| 02766| 02767| 02768| 02769| 0276A| 0276B| 0276C| 0276D| 0276E| 0276F| 02770| 02771| 02772| 02773| 02774| 02775| 02776| 02777| 02778| 02779| 0277A| 0277B| 0277C| 0277D| 0277E| 0277F| 02780| 02781| 02782| 02783| 02784| 02785| 02786| 02787| 02788| 02789| 0278A| 0278B| 0278C| 0278D| 0278E| 0278F| 02790| 02791| 02792| 02793| 02794| 02798| 02799| 0279A| 0279B| 0279C| 0279D| 0279E| 0279F| 027A0| 027A1| 027A2| 027A3| 027A4| 027A5| 027A6| 027A7| 027A8| 027A9| 027AA| 027AB| 027AC| 027AD| 027AE| 027AF| 027B1| 027B2| 027B3| 027B4| 027B5| 027B6| 027B7| 027B8| 027B9| 027BA| 027BB| 027BC| 027BD| 027BE| 027C5| 027C6| 027E0| 027E6| 027E7| 027E8| 027E9| 027EA| 027EB| 027F0| 027F1| 027F2| 027F3| 027F4| 027F5| 027F6| 027F7| 027F8| 027F9| 027FA| 027FB| 027FC| 027FD| 027FE| 027FF| 02800| 02801| 02802| 02803| 02804| 02805| 02806| 02807| 02808| 02809| 0280A| 0280B| 0280C| 0280D| 0280E| 0280F| 02810| 02811| 02812| 02813| 02814| 02815| 02816| 02817| 02818| 02819| 0281A| 0281B| 0281C| 0281D| 0281E| 0281F| 02820| 02821| 02822| 02823| 02824| 02825| 02826| 02827| 02828| 02829| 0282A| 0282B| 0282C| 0282D| 0282E| 0282F| 02830| 02831| 02832| 02833| 02834| 02835| 02836| 02837| 02838| 02839| 0283A| 0283B| 0283C| 0283D| 0283E| 0283F| 02840| 02841| 02842| 02843| 02844| 02845| 02846| 02847| 02848| 02849| 0284A| 0284B| 0284C| 0284D| 0284E| 0284F| 02850| 02851| 02852| 02853| 02854| 02855| 02856| 02857| 02858| 02859| 0285A| 0285B| 0285C| 0285D| 0285E| 0285F| 02860| 02861| 02862| 02863| 02864| 02865| 02866| 02867| 02868| 02869| 0286A| 0286B| 0286C| 0286D| 0286E| 0286F| 02870| 02871| 02872| 02873| 02874| 02875| 02876| 02877| 02878| 02879| 0287A| 0287B| 0287C| 0287D| 0287E| 0287F| 02880| 02881| 02882| 02883| 02884| 02885| 02886| 02887| 02888| 02889| 0288A| 0288B| 0288C| 0288D| 0288E| 0288F| 02890| 02891| 02892| 02893| 02894| 02895| 02896| 02897| 02898| 02899| 0289A| 0289B| 0289C| 0289D| 0289E| 0289F| 028A0| 028A1| 028A2| 028A3| 028A4| 028A5| 028A6| 028A7| 028A8| 028A9| 028AA| 028AB| 028AC| 028AD| 028AE| 028AF| 028B0| 028B1| 028B2| 028B3| 028B4| 028B5| 028B6| 028B7| 028B8| 028B9| 028BA| 028BB| 028BC| 028BD| 028BE| 028BF| 028C0| 028C1| 028C2| 028C3| 028C4| 028C5| 028C6| 028C7| 028C8| 028C9| 028CA| 028CB| 028CC| 028CD| 028CE| 028CF| 028D0| 028D1| 028D2| 028D3| 028D4| 028D5| 028D6| 028D7| 028D8| 028D9| 028DA| 028DB| 028DC| 028DD| 028DE| 028DF| 028E0| 028E1| 028E2| 028E3| 028E4| 028E5| 028E6| 028E7| 028E8| 028E9| 028EA| 028EB| 028EC| 028ED| 028EE| 028EF| 028F0| 028F1| 028F2| 028F3| 028F4| 028F5| 028F6| 028F7| 028F8| 028F9| 028FA| 028FB| 028FC| 028FD| 028FE| 028FF| 02906| 02907| 0290A| 0290B| 02940| 02941| 02983| 02984| 029CE| 029CF| 029D0| 029D1| 029D2| 029D3| 029D4| 029D5| 029EB| 029FA| 029FB| 02A00| 02A01| 02A02| 02A0C| 02A0D| 02A0E| 02A0F| 02A10| 02A11| 02A12| 02A13| 02A14| 02A15| 02A16| 02A17| 02A18| 02A19| 02A1A| 02A1B| 02A1C| 02A2F| 02A6A| 02A6B| 02A7D| 02A7E| 02A7F| 02A80| 02A81| 02A82| 02A83| 02A84| 02A85| 02A86| 02A87| 02A88| 02A89| 02A8A| 02A8B| 02A8C| 02A8D| 02A8E| 02A8F| 02A90| 02A91| 02A92| 02A93| 02A94| 02A95| 02A96| 02A97| 02A98| 02A99| 02A9A| 02A9B| 02A9C| 02A9D| 02A9E| 02A9F| 02AA0| 02AAE| 02AAF| 02AB0| 02AB1| 02AB2| 02AB3| 02AB4| 02AB5| 02AB6| 02AB7| 02AB8| 02AB9| 02ABA| 02AF9| 02AFA| 02B00| 02B01| 02B02| 02B03| 02B04| 02B05| 02B06| 02B07| 02B08| 02B09| 02B0A| 02B0B| 02B0C| 02B0D| 02B0E| 02B0F| 02B10| 02B11| 02B12| 02B13| 02B14| 02B15| 02B16| 02B17| 02B18| 02B19| 02B1A| 02B1F| 02B20| 02B21| 02B22| 02B23| 02B24| 02B53| 02B54| 02C60| 02C61| 02C62| 02C63| 02C64| 02C65| 02C66| 02C67| 02C68| 02C69| 02C6A| 02C6B| 02C6C| 02C6D| 02C6E| 02C6F| 02C70| 02C71| 02C72| 02C73| 02C74| 02C75| 02C76| 02C77| 02C79| 02C7A| 02C7B| 02C7C| 02C7D| 02C7E| 02C7F| 02D00| 02D01| 02D02| 02D03| 02D04| 02D05| 02D06| 02D07| 02D08| 02D09| 02D0A| 02D0B| 02D0C| 02D0D| 02D0E| 02D0F| 02D10| 02D11| 02D12| 02D13| 02D14| 02D15| 02D16| 02D17| 02D18| 02D19| 02D1A| 02D1B| 02D1C| 02D1D| 02D1E| 02D1F| 02D20| 02D21| 02D22| 02D23| 02D24| 02D25| 02D30| 02D31| 02D32| 02D33| 02D34| 02D35| 02D36| 02D37| 02D38| 02D39| 02D3A| 02D3B| 02D3C| 02D3D| 02D3E| 02D3F| 02D40| 02D41| 02D42| 02D43| 02D44| 02D45| 02D46| 02D47| 02D48| 02D49| 02D4A| 02D4B| 02D4C| 02D4D| 02D4E| 02D4F| 02D50| 02D51| 02D52| 02D53| 02D54| 02D55| 02D56| 02D57| 02D58| 02D59| 02D5A| 02D5B| 02D5C| 02D5D| 02D5E| 02D5F| 02D60| 02D61| 02D62| 02D63| 02D64| 02D65| 02D6F| 02E18| 02E1F| 02E22| 02E23| 02E24| 02E25| 02E2E| 04DC0| 04DC1| 04DC2| 04DC3| 04DC4| 04DC5| 04DC6| 04DC7| 04DC8| 04DC9| 04DCA| 04DCB| 04DCC| 04DCD| 04DCE| 04DCF| 04DD0| 04DD1| 04DD2| 04DD3| 04DD4| 04DD5| 04DD6| 04DD7| 04DD8| 04DD9| 04DDA| 04DDB| 04DDC| 04DDD| 04DDE| 04DDF| 04DE0| 04DE1| 04DE2| 04DE3| 04DE4| 04DE5| 04DE6| 04DE7| 04DE8| 04DE9| 04DEA| 04DEB| 04DEC| 04DED| 04DEE| 04DEF| 04DF0| 04DF1| 04DF2| 04DF3| 04DF4| 04DF5| 04DF6| 04DF7| 04DF8| 04DF9| 04DFA| 04DFB| 04DFC| 04DFD| 04DFE| 04DFF| 0A4D0| 0A4D1| 0A4D2| 0A4D3| 0A4D4| 0A4D5| 0A4D6| 0A4D7| 0A4D8| 0A4D9| 0A4DA| 0A4DB| 0A4DC| 0A4DD| 0A4DE| 0A4DF| 0A4E0| 0A4E1| 0A4E2| 0A4E3| 0A4E4| 0A4E5| 0A4E6| 0A4E7| 0A4E8| 0A4E9| 0A4EA| 0A4EB| 0A4EC| 0A4ED| 0A4EE| 0A4EF| 0A4F0| 0A4F1| 0A4F2| 0A4F3| 0A4F4| 0A4F5| 0A4F6| 0A4F7| 0A4F8| 0A4F9| 0A4FA| 0A4FB| 0A4FC| 0A4FD| 0A4FE| 0A4FF| 0A644| 0A645| 0A646| 0A647| 0A64C| 0A64D| 0A650| 0A651| 0A654| 0A655| 0A656| 0A657| 0A662| 0A663| 0A664| 0A665| 0A666| 0A667| 0A668| 0A669| 0A66A| 0A66B| 0A66C| 0A66D| 0A66E| 0A68A| 0A68B| 0A68C| 0A68D| 0A694| 0A695| 0A698| 0A699| 0A708| 0A709| 0A70A| 0A70B| 0A70C| 0A70D| 0A70E| 0A70F| 0A710| 0A711| 0A712| 0A713| 0A714| 0A715| 0A716| 0A71B| 0A71C| 0A71D| 0A71E| 0A71F| 0A722| 0A723| 0A724| 0A725| 0A726| 0A727| 0A728| 0A729| 0A72A| 0A72B| 0A730| 0A731| 0A732| 0A733| 0A734| 0A735| 0A736| 0A737| 0A738| 0A739| 0A73A| 0A73B| 0A73C| 0A73D| 0A73E| 0A73F| 0A740| 0A741| 0A746| 0A747| 0A748| 0A749| 0A74A| 0A74B| 0A74E| 0A74F| 0A750| 0A751| 0A752| 0A753| 0A756| 0A757| 0A764| 0A765| 0A766| 0A767| 0A780| 0A781| 0A782| 0A783| 0A789| 0A78A| 0A78B| 0A78C| 0A78D| 0A78E| 0A790| 0A791| 0A7A0| 0A7A1| 0A7A2| 0A7A3| 0A7A4| 0A7A5| 0A7A6| 0A7A7| 0A7A8| 0A7A9| 0A7AA| 0A7F8| 0A7F9| 0A7FA| 0A7FB| 0A7FC| 0A7FD| 0A7FE| 0A7FF| 0E002| 0E003| 0E004| 0E005| 0E006| 0E007| 0E008| 0E009| 0E00A| 0E00B| 0E00C| 0E00D| 0E00E| 0E00F| 0E010| 0E011| 0E012| 0E013| 0E014| 0E015| 0E016| 0E017| 0E018| 0E019| 0E01A| 0E01B| 0E01C| 0E01D| 0E01E| 0E01F| 0E020| 0E021| 0E022| 0E023| 0E024| 0E025| 0E026| 0E027| 0E028| 0E029| 0E02A| 0E02B| 0E02C| 0E02D| 0E02E| 0E02F| 0E030| 0E031| 0E032| 0E033| 0E034| 0E035| 0E036| 0E037| 0E038| 0E039| 0E03A| 0E03B| 0E03C| 0E03D| 0E03E| 0E03F| 0E040| 0E041| 0E042| 0E043| 0E044| 0E045| 0E046| 0E047| 0E048| 0E049| 0E04A| 0E04B| 0E04C| 0E04D| 0E04E| 0E04F| 0E050| 0E051| 0E052| 0E053| 0E054| 0E055| 0E056| 0E057| 0E058| 0E059| 0E05A| 0E05B| 0E05C| 0E05D| 0E05E| 0E05F| 0E060| 0E061| 0E062| 0E063| 0E064| 0E065| 0E066| 0E067| 0E068| 0E069| 0E06A| 0E06B| 0E06C| 0E06D| 0E06E| 0E06F| 0E070| 0E071| 0E072| 0E073| 0E074| 0E075| 0E076| 0E077| 0E078| 0E079| 0E07A| 0E07B| 0E07C| 0E07D| 0E07E| 0E07F| 0E080| 0E081| 0E082| 0E083| 0E084| 0E085| 0E086| 0E087| 0E088| 0E089| 0E08A| 0E08B| 0E08C| 0E08D| 0E08E| 0E08F| 0E090| 0E091| 0E092| 0E093| 0E094| 0E095| 0E096| 0E097| 0E098| 0E099| 0E09A| 0E09B| 0E09C| 0E09D| 0E09E| 0E09F| 0E0A0| 0E0A1| 0E0A2| 0E0A3| 0E0A4| 0E0A5| 0E0A6| 0E0A7| 0E0A8| 0E0A9| 0E0AA| 0E0AB| 0E0AC| 0E0AD| 0E0AE| 0E0AF| 0E0B0| 0E0B1| 0E0B2| 0E0B3| 0E0B4| 0E0B5| 0E0B6| 0E0B7| 0E0B8| 0E0B9| 0E0BA| 0E0BB| 0E0BC| 0E0BD| 0E0BE| 0E0BF| 0E0C0| 0E0C1| 0E0C2| 0E0C3| 0E0C4| 0E0C5| 0E0C6| 0E0C7| 0E0C8| 0E0C9| 0E0CA| 0E0CB| 0E0CC| 0E0CD| 0E0CE| 0E0CF| 0E0D0| 0E0D1| 0E0D2| 0E0D3| 0E0D4| 0E0D5| 0E0D6| 0E0D7| 0E0D8| 0E0D9| 0E0DA| 0E0DB| 0E0DC| 0E0DD| 0E0DE| 0E0DF| 0E0E0| 0E0E1| 0E0E2| 0E0E3| 0E0E4| 0E0E5| 0E0E6| 0E0E7| 0E0E8| 0E0E9| 0E0EA| 0E0EB| 0E0EC| 0E0ED| 0E0EE| 0E0EF| 0E0F0| 0E0F1| 0E0F2| 0E0F3| 0E0F4| 0E0F5| 0E0F6| 0E0F7| 0E0F8| 0E0F9| 0E0FA| 0E0FB| 0E0FC| 0E0FD| 0E0FE| 0E0FF| 0E100| 0E101| 0E102| 0E103| 0E104| 0E105| 0E106| 0E107| 0E108| 0E109| 0E10A| 0E10B| 0E10C| 0E10D| 0E10E| 0E10F| 0E110| 0E111| 0E112| 0E113| 0E114| 0E115| 0E116| 0E117| 0E118| 0E119| 0E11A| 0E11B| 0E11C| 0E11D| 0E11E| 0E11F| 0E120| 0E121| 0E122| 0E123| 0E124| 0E125| 0E126| 0E127| 0E128| 0E129| 0E12A| 0E12B| 0E12C| 0E12D| 0E12E| 0E12F| 0E130| 0E131| 0E132| 0E133| 0E134| 0E135| 0E136| 0E137| 0E138| 0E139| 0E13A| 0E13B| 0E13C| 0E13D| 0E13E| 0E13F| 0E140| 0E141| 0E142| 0E143| 0E144| 0E145| 0E146| 0E147| 0E148| 0E149| 0E14A| 0E14B| 0E14C| 0E14D| 0E14E| 0E14F| 0E150| 0E151| 0E152| 0E153| 0E154| 0E155| 0E156| 0E157| 0E158| 0E159| 0E15A| 0E15B| 0E15C| 0E15D| 0E15E| 0E15F| 0E160| 0E161| 0E162| 0E163| 0E164| 0E165| 0E166| 0E167| 0E168| 0E169| 0E16A| 0E16B| 0E16C| 0E16D| 0E16E| 0E16F| 0E170| 0E171| 0E172| 0E173| 0E174| 0E175| 0E176| 0E177| 0E178| 0E179| 0E17A| 0E17B| 0E17C| 0E17D| 0E17E| 0E17F| 0E180| 0E181| 0E182| 0E183| 0E184| 0E185| 0E186| 0E187| 0E188| 0E189| 0E18A| 0E18B| 0E18C| 0E18D| 0E18E| 0E18F| 0E190| 0E191| 0E192| 0E193| 0E194| 0E195| 0E196| 0E197| 0E198| 0E199| 0E19A| 0E19B| 0E19C| 0E19D| 0E19E| 0E19F| 0E1A0| 0E1A1| 0E1A2| 0E1A3| 0E1A4| 0E1A5| 0E1A6| 0E1A7| 0E1A8| 0E1A9| 0E1AA| 0E1AB| 0E1AC| 0E1AD| 0E1AE| 0E1AF| 0E1B0| 0E1B1| 0E1B2| 0E1B3| 0E1B4| 0E1B5| 0E1B6| 0E1B7| 0E1B8| 0E1B9| 0E1BA| 0E1BB| 0E1BC| 0E1BD| 0E1BE| 0E1BF| 0E1C0| 0E1C1| 0E1C2| 0E1C3| 0E1C4| 0E1C5| 0E1C6| 0E1C7| 0E1C8| 0E1C9| 0E1CA| 0E1CB| 0E1CC| 0E1CD| 0E1CE| 0E1CF| 0E1D0| 0E1D1| 0E1D2| 0E1D3| 0E1D4| 0E1D5| 0E1D6| 0E1D7| 0E1D8| 0E1D9| 0E1DA| 0E1DB| 0E1DC| 0E1DD| 0E1DE| 0E1DF| 0E1E0| 0E1E1| 0E1E2| 0E1E3| 0E1E4| 0E1E5| 0E1E6| 0E1E7| 0E1E8| 0E1E9| 0E1EA| 0E1EB| 0E1EC| 0E1ED| 0E1EE| 0E1EF| 0E1F0| 0E1F1| 0E1F2| 0E1F3| 0E1F4| 0E1F5| 0E1F6| 0E1F7| 0E1F8| 0E1F9| 0E1FA| 0E1FB| 0E1FC| 0E1FD| 0E1FE| 0E1FF| 0E200| 0E201| 0E202| 0E203| 0E204| 0E205| 0E206| 0E207| 0E208| 0E209| 0E20A| 0E20B| 0E20C| 0E20D| 0E20E| 0E20F| 0E210| 0E211| 0E212| 0E213| 0E214| 0E215| 0E216| 0E217| 0E218| 0E219| 0E21A| 0E21B| 0E21C| 0E21D| 0E21E| 0E21F| 0E220| 0E221| 0E222| 0E223| 0E224| 0E225| 0E226| 0E232| 0E233| 0E234| 0E235| 0E236| 0E237| 0E238| 0E239| 0E23A| 0E23B| 0E23C| 0E23D| 0E23E| 0E23F| 0E240| 0E241| 0E242| 0E243| 0E244| 0E245| 0E246| 0E247| 0E248| 0E249| 0E24A| 0E24B| 0E24C| 0E24D| 0E24E| 0E24F| 0E250| 0E251| 0E252| 0E253| 0E254| 0E255| 0E256| 0E257| 0E258| 0E259| 0E25A| 0E25B| 0E25C| 0E25D| 0E25E| 0E25F| 0E260| 0E261| 0E262| 0E263| 0E264| 0E265| 0E266| 0E267| 0E268| 0E269| 0E26A| 0E26B| 0E26C| 0E26D| 0E26E| 0E26F| 0E270| 0E271| 0E272| 0E273| 0E274| 0E275| 0E276| 0E277| 0E278| 0E279| 0E27A| 0E27B| 0E27C| 0E27D| 0E27E| 0E27F| 0E280| 0E281| 0E282| 0E283| 0E284| 0E285| 0E28E| 0E28F| 0E290| 0E291| 0E292| 0E293| 0E294| 0E295| 0E296| 0E297| 0E298| 0E299| 0E29A| 0E29B| 0E29C| 0E29D| 0E29E| 0E29F| 0E2A0| 0E2A1| 0E2A2| 0E2A3| 0E2A4| 0E2A5| 0E2A6| 0E2A7| 0E2A8| 0E2A9| 0E2AA| 0E2AB| 0E2AC| 0E2AD| 0E2AE| 0E2AF| 0E2B0| 0E2B1| 0E2B2| 0E2B3| 0E2B4| 0E2B5| 0E2B6| 0E2B7| 0E2B8| 0E2B9| 0E2BA| 0E2BB| 0E2BC| 0E2BD| 0E2BE| 0E2BF| 0E2C0| 0E2C1| 0E2C2| 0E2C3| 0E2C4| 0E2C5| 0E2C6| 0E2C7| 0E2C8| 0E2C9| 0E2CA| 0E2CB| 0E2CC| 0E2CD| 0E2CE| 0E2CF| 0E2D0| 0E2D1| 0E2D2| 0E2D3| 0E2D4| 0E2D5| 0E2D6| 0E2D7| 0E2D8| 0E2D9| 0E2DA| 0E2DB| 0E2DC| 0E2DD| 0E2DE| 0E2DF| 0E2E0| 0E2E1| 0E2E2| 0E2E3| 0E2E4| 0E2E5| 0E2E6| 0E2E7| 0E2E9| 0E2EA| 0E2EB| 0E2EC| 0E2ED| 0E2EE| 0E2EF| 0E2F0| 0E2F1| 0E2F2| 0E2F3| 0E2F4| 0E2F5| 0E2F6| 0E2F7| 0E2F8| 0E2F9| 0E2FA| 0E2FB| 0E2FC| 0E2FD| 0E2FE| 0E2FF| 0E300| 0E301| 0E302| 0E303| 0E304| 0E305| 0E306| 0E307| 0E308| 0E309| 0E30A| 0E30B| 0E30C| 0E30D| 0E30E| 0E30F| 0E310| 0E311| 0E312| 0E313| 0E314| 0E315| 0E316| 0E317| 0E318| 0E319| 0E31A| 0E31B| 0E31C| 0E31D| 0E31E| 0E31F| 0E320| 0E321| 0E322| 0E323| 0E324| 0E325| 0E326| 0E327| 0E328| 0E329| 0E32A| 0E32B| 0E32C| 0E32D| 0E32E| 0E32F| 0E330| 0E331| 0E332| 0E333| 0E334| 0E335| 0E336| 0E337| 0E338| 0E339| 0E33A| 0E33B| 0E33C| 0E33D| 0E33E| 0E33F| 0E340| 0E341| 0E342| 0E343| 0E344| 0E345| 0E346| 0E347| 0E348| 0E349| 0E34A| 0E34B| 0E34C| 0E34D| 0E34E| 0E34F| 0E350| 0E351| 0E352| 0E353| 0E354| 0E355| 0E356| 0E357| 0E358| 0E359| 0E35A| 0E35B| 0E35C| 0E35D| 0E35E| 0E35F| 0E360| 0E361| 0E362| 0E363| 0E364| 0E365| 0E366| 0E367| 0E368| 0E369| 0E36A| 0E36B| 0E36C| 0E36D| 0E36E| 0E36F| 0E370| 0E371| 0EF00| 0EF01| 0EF02| 0EF03| 0EF04| 0EF05| 0EF06| 0EF07| 0EF08| 0EF09| 0EF0A| 0EF0B| 0EF0C| 0EF0D| 0EF0E| 0EF0F| 0EF10| 0EF11| 0EF12| 0EF13| 0EF14| 0EF15| 0EF16| 0EF17| 0EF18| 0EF19| 0F000| 0F001| 0F002| 0F003| 0F400| 0F401| 0F402| 0F403| 0F404| 0F405| 0F406| 0F407| 0F408| 0F409| 0F40A| 0F40B| 0F40C| 0F40D| 0F40E| 0F40F| 0F410| 0F411| 0F412| 0F413| 0F414| 0F415| 0F416| 0F417| 0F418| 0F419| 0F41A| 0F41B| 0F41C| 0F41D| 0F41E| 0F41F| 0F420| 0F421| 0F422| 0F423| 0F424| 0F425| 0F426| 0F428| 0F429| 0F42A| 0F42B| 0F42C| 0F42D| 0F42E| 0F42F| 0F430| 0F431| 0F432| 0F433| 0F434| 0F435| 0F436| 0F437| 0F438| 0F439| 0F43A| 0F43B| 0F43C| 0F43D| 0F43E| 0F43F| 0F440| 0F441| 0F6C5| 0FB20| 0FB21| 0FB22| 0FB23| 0FB24| 0FB25| 0FB26| 0FB27| 0FB28| 0FB29| 0FB2A| 0FB2B| 0FB2C| 0FB2D| 0FB2E| 0FB2F| 0FB30| 0FB31| 0FB32| 0FB33| 0FB34| 0FB35| 0FB36| 0FB38| 0FB39| 0FB3A| 0FB3B| 0FB3C| 0FB3E| 0FB40| 0FB41| 0FB43| 0FB44| 0FB46| 0FB47| 0FB48| 0FB49| 0FB4A| 0FB4B| 0FB4C| 0FB4D| 0FB4E| 0FB52| 0FB53| 0FB54| 0FB55| 0FB56| 0FB57| 0FB58| 0FB59| 0FB5A| 0FB5B| 0FB5C| 0FB5D| 0FB5E| 0FB5F| 0FB60| 0FB61| 0FB62| 0FB63| 0FB64| 0FB65| 0FB66| 0FB67| 0FB68| 0FB69| 0FB6A| 0FB6B| 0FB6C| 0FB6D| 0FB6E| 0FB6F| 0FB70| 0FB71| 0FB72| 0FB73| 0FB74| 0FB75| 0FB76| 0FB77| 0FB78| 0FB79| 0FB7A| 0FB7B| 0FB7C| 0FB7D| 0FB7E| 0FB7F| 0FB80| 0FB81| 0FB82| 0FB83| 0FB84| 0FB85| 0FB86| 0FB87| 0FB88| 0FB89| 0FB8A| 0FB8B| 0FB8C| 0FB8D| 0FB8E| 0FB8F| 0FB90| 0FB91| 0FB92| 0FB93| 0FB94| 0FB95| 0FB96| 0FB97| 0FB98| 0FB99| 0FB9A| 0FB9B| 0FB9C| 0FB9D| 0FB9E| 0FB9F| 0FBA0| 0FBA1| 0FBA2| 0FBA3| 0FBAA| 0FBAB| 0FBAC| 0FBAD| 0FBD3| 0FBD4| 0FBD5| 0FBD6| 0FBD7| 0FBD8| 0FBD9| 0FBDA| 0FBDB| 0FBDC| 0FBDE| 0FBDF| 0FBE4| 0FBE5| 0FBE6| 0FBE7| 0FBE8| 0FBE9| 0FBFC| 0FBFD| 0FBFE| 0FBFF| 0FE00| 0FE01| 0FE02| 0FE03| 0FE04| 0FE05| 0FE06| 0FE07| 0FE08| 0FE09| 0FE0A| 0FE0B| 0FE0C| 0FE0D| 0FE0E| 0FE0F| 0FE20| 0FE22| 0FE73| 0FE80| 0FE81| 0FE82| 0FE83| 0FE84| 0FE85| 0FE86| 0FE87| 0FE88| 0FE89| 0FE8A| 0FE8B| 0FE8C| 0FE8D| 0FE8E| 0FE8F| 0FE90| 0FE91| 0FE92| 0FE93| 0FE94| 0FE95| 0FE96| 0FE97| 0FE98| 0FE99| 0FE9A| 0FE9B| 0FE9C| 0FE9D| 0FE9E| 0FE9F| 0FEA0| 0FEA1| 0FEA2| 0FEA3| 0FEA4| 0FEA5| 0FEA6| 0FEA7| 0FEA8| 0FEA9| 0FEAA| 0FEAB| 0FEAC| 0FEAD| 0FEAE| 0FEAF| 0FEB0| 0FEB1| 0FEB2| 0FEB3| 0FEB4| 0FEB5| 0FEB6| 0FEB7| 0FEB8| 0FEB9| 0FEBA| 0FEBB| 0FEBC| 0FEBD| 0FEBE| 0FEBF| 0FEC0| 0FEC1| 0FEC2| 0FEC3| 0FEC4| 0FEC5| 0FEC6| 0FEC7| 0FEC8| 0FEC9| 0FECA| 0FECB| 0FECC| 0FECD| 0FECE| 0FECF| 0FED0| 0FED1| 0FED2| 0FED3| 0FED4| 0FED5| 0FED6| 0FED7| 0FED8| 0FED9| 0FEDA| 0FEDB| 0FEDC| 0FEDD| 0FEDE| 0FEDF| 0FEE0| 0FEE1| 0FEE2| 0FEE3| 0FEE4| 0FEE5| 0FEE6| 0FEE7| 0FEE8| 0FEE9| 0FEEA| 0FEEB| 0FEEC| 0FEED| 0FEEE| 0FEEF| 0FEF0| 0FEF1| 0FEF2| 0FEF3| 0FEF4| 0FEFF| 0FFF9| 0FFFA| 0FFFB| 0FFFC| 0FFFD", + "GlyphClassMarks": " 00300| 00301| 00302| 00303| 00304| 00305| 00306| 00307| 00308| 00309| 0030A| 0030B| 0030C| 0030D| 0030E| 0030F| 00310| 00311| 00312| 00313| 00314| 00316| 00317| 00318| 00319| 0031C| 0031D| 0031E| 0031F| 00320| 00323| 00324| 00325| 00326| 00327| 00328| 00329| 0032A| 0032B| 0032C| 0032D| 0032E| 0032F| 00330| 00331| 00332| 00333| 00339| 0033A| 0033B| 0033C| 0033D| 0033E| 0033F| 00340| 00341| 00342| 00344| 00346| 00347| 00348| 00349| 0034A| 0034B| 0034C| 0034D| 0034E| 00351| 00352| 00353| 00357| 0035A| 0035D| 0035E| 00360| 00361| 00483| 00484| 00485| 00486| 00487| 005B0| 005B1| 005B2| 005B3| 005B4| 005B5| 005B6| 005B7| 005B8| 005BB| 005BC| 005BD| 005BF| 005C7| 00615| 0064B| 0064C| 0064D| 0064E| 0064F| 00650| 00651| 00652| 00653| 00654| 00655| 00657| 0065A| 00670| 007EB| 007EC| 007ED| 007EE| 007EF| 007F0| 007F1| 007F2| 007F3| 00EB1| 00EB4| 00EB5| 00EB6| 00EB7| 00EB8| 00EB9| 00EBB| 00EBC| 00EC8| 00EC9| 00ECA| 00ECB| 00ECC| 00ECD| 01DC4| 01DC5| 01DC6| 01DC7| 01DC8| 01DC9| 020D0| 020D1| 020D6| 020D7| 020DB| 020DC| 020E1| 0E227| 0E228| 0E229| 0E22A| 0E22B| 0E22C| 0E22D| 0E22E| 0E22F| 0E230| 0E231| 0E286| 0E287| 0E288| 0E289| 0E28A| 0E28B| 0E28C| 0E28D| 0E2E8| 0FB1E| 0FE21| 0FE23", + "GlyphClassLigatures": " 00587| 00622| 00623| 00624| 00625| 00626| 0203C| 02047| 02048| 02049| 020A8| 02100| 02105| 02106| 02120| 02121| 0213B| 0FB00| 0FB01| 0FB02| 0FB03| 0FB04| 0FB05| 0FB06| 0FB13| 0FB14| 0FB15| 0FB16| 0FB17| 0FB1D| 0FB1F| 0FB4F| 0FE70| 0FE71| 0FE72| 0FE74| 0FE76| 0FE77| 0FE78| 0FE79| 0FE7A| 0FE7B| 0FE7C| 0FE7D| 0FE7E| 0FE7F| 0FEF5| 0FEF6| 0FEF7| 0FEF8| 0FEF9| 0FEFA| 0FEFB| 0FEFC", + "GlyphClassComponents": "", + "MarkGlyphSets": [], + "MarkAttachmentType": { + "1": " 00316| 00317| 00318| 00319| 0031C| 0031D| 0031E| 0031F| 00320| 00323| 00324| 00325| 00326| 00327| 00328| 00329| 0032A| 0032B| 0032C| 0032D| 0032E| 0032F| 00330| 00331| 00332| 00333| 00339| 0033A| 0033B| 0033C| 00347| 00348| 00349| 0034D| 0034E| 00353| 0035A| 0035D| 0035E| 00360| 00361| 00483| 00484| 00485| 00486| 00487| 005B0| 005B1| 005B2| 005B3| 005B4| 005B5| 005B6| 005B7| 005B8| 005BB| 005BC| 005BD| 005BF| 005C7| 00615| 0064B| 0064C| 0064D| 0064E| 0064F| 00650| 00651| 00652| 00653| 00654| 00655| 00657| 0065A| 00670| 007EB| 007EC| 007ED| 007EE| 007EF| 007F0| 007F1| 007F2| 007F3| 00EB1| 00EB4| 00EB5| 00EB6| 00EB7| 00EB8| 00EB9| 00EBB| 00EBC| 00EC8| 00EC9| 00ECA| 00ECB| 00ECC| 00ECD| 01DC4| 01DC5| 01DC6| 01DC7| 01DC8| 01DC9| 020D0| 020D1| 020D6| 020D7| 020DB| 020DC| 020E1| 0E227| 0E228| 0E229| 0E22A| 0E22B| 0E22C| 0E22D| 0E22E| 0E22F| 0E230| 0E231| 0E286| 0E287| 0E288| 0E289| 0E28A| 0E28B| 0E28C| 0E28D| 0E2E8| 0FB1E| 0FE21| 0FE23", + "2": " 00300| 00301| 00302| 00303| 00304| 00305| 00306| 00307| 00308| 00309| 0030A| 0030B| 0030C| 0030D| 0030E| 0030F| 00310| 00311| 00312| 00313| 00314| 00327| 00328| 0033D| 0033E| 0033F| 00340| 00341| 00342| 00344| 00346| 0034A| 0034B| 0034C| 00351| 00352| 00357| 0035A| 0035D| 0035E| 00360| 00361| 00483| 00484| 00485| 00486| 00487| 005B0| 005B1| 005B2| 005B3| 005B4| 005B5| 005B6| 005B7| 005B8| 005BB| 005BC| 005BD| 005BF| 005C7| 00615| 0064B| 0064C| 0064D| 0064E| 0064F| 00650| 00651| 00652| 00653| 00654| 00655| 00657| 0065A| 00670| 007EB| 007EC| 007ED| 007EE| 007EF| 007F0| 007F1| 007F2| 007F3| 00EB1| 00EB4| 00EB5| 00EB6| 00EB7| 00EB8| 00EB9| 00EBB| 00EBC| 00EC8| 00EC9| 00ECA| 00ECB| 00ECC| 00ECD| 01DC4| 01DC5| 01DC6| 01DC7| 01DC8| 01DC9| 020D0| 020D1| 020D6| 020D7| 020DB| 020DC| 020E1| 0E227| 0E228| 0E229| 0E22A| 0E22B| 0E22C| 0E22D| 0E22E| 0E22F| 0E230| 0E231| 0E286| 0E287| 0E288| 0E289| 0E28A| 0E28B| 0E28C| 0E28D| 0E2E8| 0FB1E| 0FE21| 0FE23", + "3": " 00300| 00301| 00302| 00303| 00304| 00305| 00306| 00307| 00308| 00309| 0030A| 0030B| 0030C| 0030D| 0030E| 0030F| 00310| 00311| 00312| 00313| 00314| 00316| 00317| 00318| 00319| 0031C| 0031D| 0031E| 0031F| 00320| 00323| 00324| 00325| 00326| 00328| 00329| 0032A| 0032B| 0032C| 0032D| 0032E| 0032F| 00330| 00331| 00332| 00333| 00339| 0033A| 0033B| 0033C| 0033D| 0033E| 0033F| 00340| 00341| 00342| 00344| 00346| 00347| 00348| 00349| 0034A| 0034B| 0034C| 0034D| 0034E| 00351| 00352| 00353| 00357| 0035A| 0035D| 0035E| 00360| 00361| 00483| 00484| 00485| 00486| 00487| 005B0| 005B1| 005B2| 005B3| 005B4| 005B5| 005B6| 005B7| 005B8| 005BB| 005BC| 005BD| 005BF| 005C7| 00615| 0064B| 0064C| 0064D| 0064E| 0064F| 00650| 00651| 00652| 00653| 00654| 00655| 00657| 0065A| 00670| 007EB| 007EC| 007ED| 007EE| 007EF| 007F0| 007F1| 007F2| 007F3| 00EB1| 00EB4| 00EB5| 00EB6| 00EB7| 00EB8| 00EB9| 00EBB| 00EBC| 00EC8| 00EC9| 00ECA| 00ECB| 00ECC| 00ECD| 01DC4| 01DC5| 01DC6| 01DC7| 01DC8| 01DC9| 020D0| 020D1| 020D6| 020D7| 020DB| 020DC| 020E1| 0E227| 0E228| 0E229| 0E22A| 0E22B| 0E22C| 0E22D| 0E22E| 0E22F| 0E230| 0E231| 0E286| 0E287| 0E288| 0E289| 0E28A| 0E28B| 0E28C| 0E28D| 0E2E8| 0FB1E| 0FE21| 0FE23", + "4": " 00300| 00301| 00302| 00303| 00304| 00305| 00306| 00307| 00308| 00309| 0030A| 0030B| 0030C| 0030D| 0030E| 0030F| 00310| 00311| 00312| 00313| 00314| 00316| 00317| 00318| 00319| 0031C| 0031D| 0031E| 0031F| 00320| 00323| 00324| 00325| 00326| 00327| 00329| 0032A| 0032B| 0032C| 0032D| 0032E| 0032F| 00330| 00331| 00332| 00333| 00339| 0033A| 0033B| 0033C| 0033D| 0033E| 0033F| 00340| 00341| 00342| 00344| 00346| 00347| 00348| 00349| 0034A| 0034B| 0034C| 0034D| 0034E| 00351| 00352| 00353| 00357| 0035A| 0035D| 0035E| 00360| 00361| 00483| 00484| 00485| 00486| 00487| 005B0| 005B1| 005B2| 005B3| 005B4| 005B5| 005B6| 005B7| 005B8| 005BB| 005BC| 005BD| 005BF| 005C7| 00615| 0064B| 0064C| 0064D| 0064E| 0064F| 00650| 00651| 00652| 00653| 00654| 00655| 00657| 0065A| 00670| 007EB| 007EC| 007ED| 007EE| 007EF| 007F0| 007F1| 007F2| 007F3| 00EB1| 00EB4| 00EB5| 00EB6| 00EB7| 00EB8| 00EB9| 00EBB| 00EBC| 00EC8| 00EC9| 00ECA| 00ECB| 00ECC| 00ECD| 01DC4| 01DC5| 01DC6| 01DC7| 01DC8| 01DC9| 020D0| 020D1| 020D6| 020D7| 020DB| 020DC| 020E1| 0E227| 0E228| 0E229| 0E22A| 0E22B| 0E22C| 0E22D| 0E22E| 0E22F| 0E230| 0E231| 0E286| 0E287| 0E288| 0E289| 0E28A| 0E28B| 0E28C| 0E28D| 0E2E8| 0FB1E| 0FE21| 0FE23" + } +} diff --git a/pandora_console/custom/temp/dir/path/mpdf/ttfontdata/dejavusanscondensed.GPOSdata.json b/pandora_console/custom/temp/dir/path/mpdf/ttfontdata/dejavusanscondensed.GPOSdata.json new file mode 100644 index 0000000000..26cb934904 --- /dev/null +++ b/pandora_console/custom/temp/dir/path/mpdf/ttfontdata/dejavusanscondensed.GPOSdata.json @@ -0,0 +1,515 @@ +[ + [{ "1613": 0, "1616": 1, "1621": 2 }], + [ + { + "1557": 0, + "1611": 1, + "1612": 2, + "1614": 3, + "1615": 4, + "1617": 5, + "1618": 6, + "1619": 7, + "1620": 8, + "1623": 9, + "1626": 10, + "1648": 11, + "57990": 12, + "57991": 13, + "57992": 14, + "57993": 15, + "57994": 16, + "57995": 17, + "57996": 18, + "57997": 19 + } + ], + [{ "3768": 0, "3769": 1 }], + [{ "3784": 0, "3785": 1, "3786": 2, "3787": 3, "3788": 4, "3789": 5 }], + [ + { + "790": 0, + "791": 1, + "792": 2, + "793": 3, + "796": 4, + "797": 5, + "798": 6, + "799": 7, + "800": 8, + "803": 9, + "804": 10, + "805": 11, + "806": 12, + "809": 13, + "810": 14, + "811": 15, + "812": 16, + "813": 17, + "814": 18, + "815": 19, + "816": 20, + "817": 21, + "825": 22, + "826": 23, + "827": 24, + "828": 25, + "839": 26, + "840": 27, + "841": 28, + "845": 29, + "846": 30, + "851": 31, + "858": 32 + }, + { + "768": 0, + "769": 1, + "770": 2, + "771": 3, + "772": 4, + "773": 5, + "774": 6, + "775": 7, + "776": 8, + "777": 9, + "778": 10, + "779": 11, + "780": 12, + "781": 13, + "782": 14, + "783": 15, + "784": 16, + "785": 17, + "829": 18, + "831": 19, + "832": 20, + "833": 21, + "834": 22, + "836": 23, + "838": 24, + "842": 25, + "843": 26, + "844": 27, + "849": 28, + "850": 29, + "855": 30, + "7620": 31, + "7621": 32, + "7622": 33, + "7623": 34, + "7624": 35, + "7625": 36, + "8400": 37, + "8401": 38, + "8406": 39, + "8407": 40, + "8411": 41, + "8412": 42, + "8417": 43, + "57895": 44, + "57896": 45, + "57897": 46, + "57898": 47, + "57899": 48, + "57900": 49, + "57901": 50, + "57902": 51, + "57903": 52, + "57904": 53, + "57905": 54, + "58088": 55 + } + ], + [ + { + "1456": 0, + "1457": 1, + "1458": 2, + "1459": 3, + "1460": 4, + "1461": 5, + "1462": 6, + "1463": 7, + "1464": 8, + "1467": 9, + "1469": 10, + "1479": 11, + "1613": 12, + "1616": 13, + "1621": 14 + } + ], + [ + { + "1456": 0, + "1457": 1, + "1458": 2, + "1459": 3, + "1460": 4, + "1461": 5, + "1462": 6, + "1463": 7, + "1464": 8, + "1467": 9, + "1469": 10, + "1479": 11, + "1613": 12, + "1616": 13, + "1621": 14, + "2034": 15 + } + ], + [{ "1468": 0 }], + [ + { + "1471": 0, + "1557": 1, + "1611": 2, + "1612": 3, + "1614": 4, + "1615": 5, + "1617": 6, + "1618": 7, + "1619": 8, + "1620": 9, + "1623": 10, + "1626": 11, + "1648": 12, + "64286": 13, + "57990": 14, + "57991": 15, + "57992": 16, + "57993": 17, + "57994": 18, + "57995": 19, + "57996": 20, + "57997": 21 + } + ], + [ + { + "1471": 0, + "1557": 1, + "1611": 2, + "1612": 3, + "1614": 4, + "1615": 5, + "1617": 6, + "1618": 7, + "1619": 8, + "1620": 9, + "1623": 10, + "1626": 11, + "1648": 12, + "2027": 13, + "2028": 14, + "2029": 15, + "2030": 16, + "2031": 17, + "2032": 18, + "2033": 19, + "2035": 20, + "64286": 21, + "57990": 22, + "57991": 23, + "57992": 24, + "57993": 25, + "57994": 26, + "57995": 27, + "57996": 28, + "57997": 29 + } + ], + [{ "3768": 0, "3769": 1, "3772": 2 }], + [ + { + "3761": 0, + "3764": 1, + "3765": 2, + "3766": 3, + "3767": 4, + "3771": 5, + "3784": 6, + "3785": 7, + "3786": 8, + "3787": 9, + "3788": 10, + "3789": 11 + } + ], + [ + { + "790": 0, + "791": 1, + "792": 2, + "793": 3, + "796": 4, + "797": 5, + "798": 6, + "799": 7, + "800": 8, + "803": 9, + "804": 10, + "805": 11, + "806": 12, + "809": 13, + "810": 14, + "811": 15, + "812": 16, + "813": 17, + "814": 18, + "815": 19, + "816": 20, + "817": 21, + "818": 22, + "819": 23, + "825": 24, + "826": 25, + "827": 26, + "828": 27, + "839": 28, + "840": 29, + "841": 30, + "845": 31, + "846": 32, + "851": 33, + "858": 34 + } + ], + [ + { "65057": 0, "65059": 1 }, + { "768": 0, "769": 1 }, + { "807": 0 }, + { + "790": 0, + "791": 1, + "792": 2, + "793": 3, + "796": 4, + "797": 5, + "798": 6, + "799": 7, + "800": 8, + "803": 9, + "804": 10, + "805": 11, + "806": 12, + "809": 13, + "810": 14, + "811": 15, + "812": 16, + "813": 17, + "814": 18, + "815": 19, + "816": 20, + "817": 21, + "818": 22, + "819": 23, + "825": 24, + "826": 25, + "827": 26, + "828": 27, + "839": 28, + "840": 29, + "841": 30, + "845": 31, + "846": 32, + "851": 33, + "858": 34 + }, + { + "768": 0, + "769": 1, + "770": 2, + "771": 3, + "772": 4, + "773": 5, + "774": 6, + "775": 7, + "776": 8, + "777": 9, + "778": 10, + "779": 11, + "780": 12, + "781": 13, + "782": 14, + "783": 15, + "784": 16, + "785": 17, + "786": 18, + "787": 19, + "788": 20, + "829": 21, + "830": 22, + "831": 23, + "832": 24, + "833": 25, + "834": 26, + "836": 27, + "838": 28, + "842": 29, + "843": 30, + "844": 31, + "849": 32, + "850": 33, + "855": 34, + "1155": 35, + "1156": 36, + "1157": 37, + "1158": 38, + "1159": 39, + "7620": 40, + "7621": 41, + "7622": 42, + "7623": 43, + "7624": 44, + "7625": 45, + "8400": 46, + "8401": 47, + "8406": 48, + "8407": 49, + "8411": 50, + "8412": 51, + "8417": 52, + "57895": 53, + "57896": 54, + "57897": 55, + "57898": 56, + "57899": 57, + "57900": 58, + "57901": 59, + "57902": 60, + "57903": 61, + "57904": 62, + "57905": 63, + "58088": 64 + }, + { "808": 0 } + ], + [ + { + "45": 0, + "65": 1, + "66": 2, + "67": 3, + "68": 4, + "70": 5, + "71": 6, + "72": 7, + "74": 8, + "75": 9, + "76": 10, + "79": 11, + "80": 12, + "81": 13, + "82": 14, + "83": 15, + "84": 16, + "85": 17, + "86": 18, + "87": 19, + "88": 20, + "89": 21, + "90": 22, + "101": 23, + "102": 24, + "107": 25, + "110": 26, + "111": 27, + "114": 28, + "118": 29, + "119": 30, + "120": 31, + "121": 32, + "171": 33, + "187": 34, + "192": 35, + "193": 36, + "194": 37, + "195": 38, + "196": 39, + "198": 40, + "199": 41, + "208": 42, + "210": 43, + "211": 44, + "212": 45, + "213": 46, + "214": 47, + "217": 48, + "218": 49, + "219": 50, + "220": 51, + "221": 52, + "222": 53, + "223": 54, + "232": 55, + "233": 56, + "234": 57, + "235": 58, + "240": 59, + "241": 60, + "242": 61, + "243": 62, + "244": 63, + "245": 64, + "246": 65, + "253": 66, + "255": 67, + "256": 68, + "258": 69, + "260": 70, + "262": 71, + "268": 72, + "270": 73, + "272": 74, + "283": 75, + "286": 76, + "313": 77, + "317": 78, + "320": 79, + "328": 80, + "340": 81, + "341": 82, + "344": 83, + "345": 84, + "350": 85, + "352": 86, + "356": 87, + "366": 88, + "376": 89, + "381": 90, + "8208": 91, + "8220": 92, + "8222": 93, + "42788": 94, + "42816": 95, + "42817": 96 + } + ], + [ + { + "61185": 0, + "61186": 1, + "61187": 2, + "61188": 3, + "61189": 4, + "61191": 5, + "61192": 6, + "61193": 7, + "61194": 8, + "61195": 9, + "61197": 10, + "61198": 11, + "61199": 12, + "61200": 13, + "61201": 14, + "61203": 15, + "61204": 16, + "61205": 17, + "61206": 18, + "61207": 19 + } + ] +] diff --git a/pandora_console/custom/temp/dir/path/mpdf/ttfontdata/dejavusanscondensed.GSUB.arab.DFLT.json b/pandora_console/custom/temp/dir/path/mpdf/ttfontdata/dejavusanscondensed.GSUB.arab.DFLT.json new file mode 100644 index 0000000000..ef6311a581 --- /dev/null +++ b/pandora_console/custom/temp/dir/path/mpdf/ttfontdata/dejavusanscondensed.GSUB.arab.DFLT.json @@ -0,0 +1,126 @@ +{ + "rtlSUB": { + "00622": { "1": "0FE82" }, + "00623": { "1": "0FE84" }, + "00624": { "1": "0FE86" }, + "00625": { "1": "0FE88" }, + "00626": { "1": "0FE8A", "3": "0FE8C", "2": "0FE8B" }, + "00627": { "1": "0FE8E" }, + "00628": { "1": "0FE90", "3": "0FE92", "2": "0FE91" }, + "00629": { "1": "0FE94" }, + "0062A": { "1": "0FE96", "3": "0FE98", "2": "0FE97" }, + "0062B": { "1": "0FE9A", "3": "0FE9C", "2": "0FE9B" }, + "0062C": { "1": "0FE9E", "3": "0FEA0", "2": "0FE9F" }, + "0062D": { "1": "0FEA2", "3": "0FEA4", "2": "0FEA3" }, + "0062E": { "1": "0FEA6", "3": "0FEA8", "2": "0FEA7" }, + "0062F": { "1": "0FEAA" }, + "00630": { "1": "0FEAC" }, + "00631": { "1": "0FEAE" }, + "00632": { "1": "0FEB0" }, + "00633": { "1": "0FEB2", "3": "0FEB4", "2": "0FEB3" }, + "00634": { "1": "0FEB6", "3": "0FEB8", "2": "0FEB7" }, + "00635": { "1": "0FEBA", "3": "0FEBC", "2": "0FEBB" }, + "00636": { "1": "0FEBE", "3": "0FEC0", "2": "0FEBF" }, + "00637": { "1": "0FEC2", "3": "0FEC4", "2": "0FEC3" }, + "00638": { "1": "0FEC6", "3": "0FEC8", "2": "0FEC7" }, + "00639": { "1": "0FECA", "3": "0FECC", "2": "0FECB" }, + "0063A": { "1": "0FECE", "3": "0FED0", "2": "0FECF" }, + "00641": { "1": "0FED2", "3": "0FED4", "2": "0FED3" }, + "00642": { "1": "0FED6", "3": "0FED8", "2": "0FED7" }, + "00643": { "1": "0FEDA", "3": "0FEDC", "2": "0FEDB" }, + "00644": { "1": "0FEDE", "3": "0FEE0", "2": "0FEDF" }, + "00645": { "1": "0FEE2", "3": "0FEE4", "2": "0FEE3" }, + "00646": { "1": "0FEE6", "3": "0FEE8", "2": "0FEE7" }, + "00647": { "1": "0FEEA", "3": "0FEEC", "2": "0FEEB" }, + "00648": { "1": "0FEEE" }, + "00649": { "1": "0FEF0", "3": "0FBE9", "2": "0FBE8" }, + "0064A": { "1": "0FEF2", "3": "0FEF4", "2": "0FEF3" }, + "0066E": { "1": "0E238", "3": "0E23A", "2": "0E239" }, + "0066F": { "1": "0E23E", "3": "0E240", "2": "0E23F" }, + "00679": { "1": "0FB67", "3": "0FB69", "2": "0FB68" }, + "0067A": { "1": "0FB5F", "3": "0FB61", "2": "0FB60" }, + "0067B": { "1": "0FB53", "3": "0FB55", "2": "0FB54" }, + "0067C": { "1": "0E244", "3": "0E246", "2": "0E245" }, + "0067D": { "1": "0E247", "3": "0E249", "2": "0E248" }, + "0067E": { "1": "0FB57", "3": "0FB59", "2": "0FB58" }, + "0067F": { "1": "0FB63", "3": "0FB65", "2": "0FB64" }, + "00680": { "1": "0FB5B", "3": "0FB5D", "2": "0FB5C" }, + "00681": { "1": "0E24A", "3": "0E24C", "2": "0E24B" }, + "00682": { "1": "0E24D", "3": "0E24F", "2": "0E24E" }, + "00683": { "1": "0FB77", "3": "0FB79", "2": "0FB78" }, + "00684": { "1": "0FB73", "3": "0FB75", "2": "0FB74" }, + "00685": { "1": "0E250", "3": "0E252", "2": "0E251" }, + "00686": { "1": "0FB7B", "3": "0FB7D", "2": "0FB7C" }, + "00687": { "1": "0FB7F", "3": "0FB81", "2": "0FB80" }, + "00688": { "1": "0FB89" }, + "00689": { "1": "0E2F5" }, + "0068A": { "1": "0E2F6" }, + "0068B": { "1": "0E2F7" }, + "0068C": { "1": "0FB85" }, + "0068D": { "1": "0FB83" }, + "0068E": { "1": "0FB87" }, + "0068F": { "1": "0E2F8" }, + "00690": { "1": "0E2F9" }, + "00691": { "1": "0FB8D" }, + "00692": { "1": "0E279" }, + "00693": { "1": "0E2FA" }, + "00694": { "1": "0E2FB" }, + "00695": { "1": "0E271" }, + "00696": { "1": "0E2FC" }, + "00697": { "1": "0E2FD" }, + "00698": { "1": "0FB8B" }, + "00699": { "1": "0E2FE" }, + "0069A": { "1": "0E2FF", "3": "0E301", "2": "0E300" }, + "0069B": { "1": "0E302", "3": "0E304", "2": "0E303" }, + "0069C": { "1": "0E305", "3": "0E307", "2": "0E306" }, + "0069D": { "1": "0E308", "3": "0E30A", "2": "0E309" }, + "0069E": { "1": "0E30B", "3": "0E30D", "2": "0E30C" }, + "0069F": { "1": "0E30E", "3": "0E310", "2": "0E30F" }, + "006A0": { "1": "0E311", "3": "0E313", "2": "0E312" }, + "006A1": { "1": "0E23B", "3": "0E23D", "2": "0E23C" }, + "006A2": { "1": "0E314", "3": "0E316", "2": "0E315" }, + "006A3": { "1": "0E317", "3": "0E319", "2": "0E318" }, + "006A4": { "1": "0FB6B", "3": "0FB6D", "2": "0FB6C" }, + "006A5": { "1": "0E31A", "3": "0E31C", "2": "0E31B" }, + "006A6": { "1": "0FB6F", "3": "0FB71", "2": "0FB70" }, + "006A7": { "1": "0E31D", "3": "0E31F", "2": "0E31E" }, + "006A8": { "1": "0E320", "3": "0E322", "2": "0E321" }, + "006A9": { "1": "0FB8F", "3": "0FB91", "2": "0FB90" }, + "006AA": { "1": "0E323", "3": "0E325", "2": "0E324" }, + "006AB": { "1": "0E326", "3": "0E328", "2": "0E327" }, + "006AC": { "1": "0E329", "3": "0E32B", "2": "0E32A" }, + "006AD": { "1": "0FBD4", "3": "0FBD6", "2": "0FBD5" }, + "006AE": { "1": "0E32C", "3": "0E32E", "2": "0E32D" }, + "006AF": { "1": "0FB93", "3": "0FB95", "2": "0FB94" }, + "006B0": { "1": "0E32F", "3": "0E331", "2": "0E330" }, + "006B1": { "1": "0FB9B", "3": "0FB9D", "2": "0FB9C" }, + "006B2": { "1": "0E332", "3": "0E334", "2": "0E333" }, + "006B3": { "1": "0FB97", "3": "0FB99", "2": "0FB98" }, + "006B4": { "1": "0E335", "3": "0E337", "2": "0E336" }, + "006B5": { "1": "0E273", "3": "0E275", "2": "0E274" }, + "006B6": { "1": "0E338", "3": "0E33A", "2": "0E339" }, + "006B7": { "1": "0E33B", "3": "0E33D", "2": "0E33C" }, + "006B8": { "1": "0E33E", "3": "0E340", "2": "0E33F" }, + "006B9": { "1": "0E341", "3": "0E343", "2": "0E342" }, + "006BA": { "1": "0FB9F", "3": "0E242", "2": "0E241" }, + "006BB": { "1": "0FBA1", "3": "0FBA3", "2": "0FBA2" }, + "006BC": { "1": "0E344", "3": "0E346", "2": "0E345" }, + "006BD": { "1": "0E347", "3": "0E349", "2": "0E348" }, + "006BE": { "1": "0FBAB", "3": "0FBAD", "2": "0FBAC" }, + "006BF": { "1": "0E253", "3": "0E255", "2": "0E254" }, + "006C6": { "1": "0FBDA" }, + "006C7": { "1": "0FBD8" }, + "006C8": { "1": "0FBDC" }, + "006CB": { "1": "0FBDF" }, + "006CC": { "1": "0FBFD", "3": "0FBFF", "2": "0FBFE" }, + "006CE": { "1": "0E276", "3": "0E278", "2": "0E277" }, + "006D0": { "1": "0FBE5", "3": "0FBE7", "2": "0FBE6" }, + "006D5": { "1": "0E27B" } + }, + "finals": "0FE82 0FE84 0FE86 0FE88 0FE8A 0FE90 0FE96 0FE9A 0FE9E 0FEA6 0FEAC 0FEB0 0FEB2 0FEB6 0FEBA 0FEBE 0FEC6 0FECE 0FEE2 0FEE6 0FEEA 0E238 0E23E 0FB67 0FB5F 0FB53 0E244 0E247 0FB57 0FB63 0FB5B 0E24A 0E24D 0FB77 0FB73 0E250 0FB7B 0FB7F 0FB89 0E2F5 0E2F6 0E2F7 0FB85 0FB83 0FB87 0E2F8 0E2F9 0FB8D 0E279 0E2FA 0E2FB 0E271 0E2FC 0E2FD 0FB8B 0E2FE 0E2FF 0E302 0E305 0E308 0E30B 0E30E 0E311 0E23B 0E314 0E317 0FB6B 0E31A 0FB6F 0E31D 0E320 0FB8F 0E323 0E326 0E329 0FBD4 0E32C 0E32F 0FB9B 0E332 0FB97 0E335 0E273 0E338 0E33B 0E33E 0E341 0FB9F 0FBA1 0E344 0E347 0FBAB 0E253 0FBDA 0FBD8 0FBDC 0FBDF 0FBFD 0E276 0FBE5 0E27B ", + "rphf": [], + "half": [], + "pref": [], + "blwf": [], + "pstf": [] +} diff --git a/pandora_console/custom/temp/dir/path/mpdf/ttfontdata/dejavusanscondensed.GSUB.arab.KUR .json b/pandora_console/custom/temp/dir/path/mpdf/ttfontdata/dejavusanscondensed.GSUB.arab.KUR .json new file mode 100644 index 0000000000..ef6311a581 --- /dev/null +++ b/pandora_console/custom/temp/dir/path/mpdf/ttfontdata/dejavusanscondensed.GSUB.arab.KUR .json @@ -0,0 +1,126 @@ +{ + "rtlSUB": { + "00622": { "1": "0FE82" }, + "00623": { "1": "0FE84" }, + "00624": { "1": "0FE86" }, + "00625": { "1": "0FE88" }, + "00626": { "1": "0FE8A", "3": "0FE8C", "2": "0FE8B" }, + "00627": { "1": "0FE8E" }, + "00628": { "1": "0FE90", "3": "0FE92", "2": "0FE91" }, + "00629": { "1": "0FE94" }, + "0062A": { "1": "0FE96", "3": "0FE98", "2": "0FE97" }, + "0062B": { "1": "0FE9A", "3": "0FE9C", "2": "0FE9B" }, + "0062C": { "1": "0FE9E", "3": "0FEA0", "2": "0FE9F" }, + "0062D": { "1": "0FEA2", "3": "0FEA4", "2": "0FEA3" }, + "0062E": { "1": "0FEA6", "3": "0FEA8", "2": "0FEA7" }, + "0062F": { "1": "0FEAA" }, + "00630": { "1": "0FEAC" }, + "00631": { "1": "0FEAE" }, + "00632": { "1": "0FEB0" }, + "00633": { "1": "0FEB2", "3": "0FEB4", "2": "0FEB3" }, + "00634": { "1": "0FEB6", "3": "0FEB8", "2": "0FEB7" }, + "00635": { "1": "0FEBA", "3": "0FEBC", "2": "0FEBB" }, + "00636": { "1": "0FEBE", "3": "0FEC0", "2": "0FEBF" }, + "00637": { "1": "0FEC2", "3": "0FEC4", "2": "0FEC3" }, + "00638": { "1": "0FEC6", "3": "0FEC8", "2": "0FEC7" }, + "00639": { "1": "0FECA", "3": "0FECC", "2": "0FECB" }, + "0063A": { "1": "0FECE", "3": "0FED0", "2": "0FECF" }, + "00641": { "1": "0FED2", "3": "0FED4", "2": "0FED3" }, + "00642": { "1": "0FED6", "3": "0FED8", "2": "0FED7" }, + "00643": { "1": "0FEDA", "3": "0FEDC", "2": "0FEDB" }, + "00644": { "1": "0FEDE", "3": "0FEE0", "2": "0FEDF" }, + "00645": { "1": "0FEE2", "3": "0FEE4", "2": "0FEE3" }, + "00646": { "1": "0FEE6", "3": "0FEE8", "2": "0FEE7" }, + "00647": { "1": "0FEEA", "3": "0FEEC", "2": "0FEEB" }, + "00648": { "1": "0FEEE" }, + "00649": { "1": "0FEF0", "3": "0FBE9", "2": "0FBE8" }, + "0064A": { "1": "0FEF2", "3": "0FEF4", "2": "0FEF3" }, + "0066E": { "1": "0E238", "3": "0E23A", "2": "0E239" }, + "0066F": { "1": "0E23E", "3": "0E240", "2": "0E23F" }, + "00679": { "1": "0FB67", "3": "0FB69", "2": "0FB68" }, + "0067A": { "1": "0FB5F", "3": "0FB61", "2": "0FB60" }, + "0067B": { "1": "0FB53", "3": "0FB55", "2": "0FB54" }, + "0067C": { "1": "0E244", "3": "0E246", "2": "0E245" }, + "0067D": { "1": "0E247", "3": "0E249", "2": "0E248" }, + "0067E": { "1": "0FB57", "3": "0FB59", "2": "0FB58" }, + "0067F": { "1": "0FB63", "3": "0FB65", "2": "0FB64" }, + "00680": { "1": "0FB5B", "3": "0FB5D", "2": "0FB5C" }, + "00681": { "1": "0E24A", "3": "0E24C", "2": "0E24B" }, + "00682": { "1": "0E24D", "3": "0E24F", "2": "0E24E" }, + "00683": { "1": "0FB77", "3": "0FB79", "2": "0FB78" }, + "00684": { "1": "0FB73", "3": "0FB75", "2": "0FB74" }, + "00685": { "1": "0E250", "3": "0E252", "2": "0E251" }, + "00686": { "1": "0FB7B", "3": "0FB7D", "2": "0FB7C" }, + "00687": { "1": "0FB7F", "3": "0FB81", "2": "0FB80" }, + "00688": { "1": "0FB89" }, + "00689": { "1": "0E2F5" }, + "0068A": { "1": "0E2F6" }, + "0068B": { "1": "0E2F7" }, + "0068C": { "1": "0FB85" }, + "0068D": { "1": "0FB83" }, + "0068E": { "1": "0FB87" }, + "0068F": { "1": "0E2F8" }, + "00690": { "1": "0E2F9" }, + "00691": { "1": "0FB8D" }, + "00692": { "1": "0E279" }, + "00693": { "1": "0E2FA" }, + "00694": { "1": "0E2FB" }, + "00695": { "1": "0E271" }, + "00696": { "1": "0E2FC" }, + "00697": { "1": "0E2FD" }, + "00698": { "1": "0FB8B" }, + "00699": { "1": "0E2FE" }, + "0069A": { "1": "0E2FF", "3": "0E301", "2": "0E300" }, + "0069B": { "1": "0E302", "3": "0E304", "2": "0E303" }, + "0069C": { "1": "0E305", "3": "0E307", "2": "0E306" }, + "0069D": { "1": "0E308", "3": "0E30A", "2": "0E309" }, + "0069E": { "1": "0E30B", "3": "0E30D", "2": "0E30C" }, + "0069F": { "1": "0E30E", "3": "0E310", "2": "0E30F" }, + "006A0": { "1": "0E311", "3": "0E313", "2": "0E312" }, + "006A1": { "1": "0E23B", "3": "0E23D", "2": "0E23C" }, + "006A2": { "1": "0E314", "3": "0E316", "2": "0E315" }, + "006A3": { "1": "0E317", "3": "0E319", "2": "0E318" }, + "006A4": { "1": "0FB6B", "3": "0FB6D", "2": "0FB6C" }, + "006A5": { "1": "0E31A", "3": "0E31C", "2": "0E31B" }, + "006A6": { "1": "0FB6F", "3": "0FB71", "2": "0FB70" }, + "006A7": { "1": "0E31D", "3": "0E31F", "2": "0E31E" }, + "006A8": { "1": "0E320", "3": "0E322", "2": "0E321" }, + "006A9": { "1": "0FB8F", "3": "0FB91", "2": "0FB90" }, + "006AA": { "1": "0E323", "3": "0E325", "2": "0E324" }, + "006AB": { "1": "0E326", "3": "0E328", "2": "0E327" }, + "006AC": { "1": "0E329", "3": "0E32B", "2": "0E32A" }, + "006AD": { "1": "0FBD4", "3": "0FBD6", "2": "0FBD5" }, + "006AE": { "1": "0E32C", "3": "0E32E", "2": "0E32D" }, + "006AF": { "1": "0FB93", "3": "0FB95", "2": "0FB94" }, + "006B0": { "1": "0E32F", "3": "0E331", "2": "0E330" }, + "006B1": { "1": "0FB9B", "3": "0FB9D", "2": "0FB9C" }, + "006B2": { "1": "0E332", "3": "0E334", "2": "0E333" }, + "006B3": { "1": "0FB97", "3": "0FB99", "2": "0FB98" }, + "006B4": { "1": "0E335", "3": "0E337", "2": "0E336" }, + "006B5": { "1": "0E273", "3": "0E275", "2": "0E274" }, + "006B6": { "1": "0E338", "3": "0E33A", "2": "0E339" }, + "006B7": { "1": "0E33B", "3": "0E33D", "2": "0E33C" }, + "006B8": { "1": "0E33E", "3": "0E340", "2": "0E33F" }, + "006B9": { "1": "0E341", "3": "0E343", "2": "0E342" }, + "006BA": { "1": "0FB9F", "3": "0E242", "2": "0E241" }, + "006BB": { "1": "0FBA1", "3": "0FBA3", "2": "0FBA2" }, + "006BC": { "1": "0E344", "3": "0E346", "2": "0E345" }, + "006BD": { "1": "0E347", "3": "0E349", "2": "0E348" }, + "006BE": { "1": "0FBAB", "3": "0FBAD", "2": "0FBAC" }, + "006BF": { "1": "0E253", "3": "0E255", "2": "0E254" }, + "006C6": { "1": "0FBDA" }, + "006C7": { "1": "0FBD8" }, + "006C8": { "1": "0FBDC" }, + "006CB": { "1": "0FBDF" }, + "006CC": { "1": "0FBFD", "3": "0FBFF", "2": "0FBFE" }, + "006CE": { "1": "0E276", "3": "0E278", "2": "0E277" }, + "006D0": { "1": "0FBE5", "3": "0FBE7", "2": "0FBE6" }, + "006D5": { "1": "0E27B" } + }, + "finals": "0FE82 0FE84 0FE86 0FE88 0FE8A 0FE90 0FE96 0FE9A 0FE9E 0FEA6 0FEAC 0FEB0 0FEB2 0FEB6 0FEBA 0FEBE 0FEC6 0FECE 0FEE2 0FEE6 0FEEA 0E238 0E23E 0FB67 0FB5F 0FB53 0E244 0E247 0FB57 0FB63 0FB5B 0E24A 0E24D 0FB77 0FB73 0E250 0FB7B 0FB7F 0FB89 0E2F5 0E2F6 0E2F7 0FB85 0FB83 0FB87 0E2F8 0E2F9 0FB8D 0E279 0E2FA 0E2FB 0E271 0E2FC 0E2FD 0FB8B 0E2FE 0E2FF 0E302 0E305 0E308 0E30B 0E30E 0E311 0E23B 0E314 0E317 0FB6B 0E31A 0FB6F 0E31D 0E320 0FB8F 0E323 0E326 0E329 0FBD4 0E32C 0E32F 0FB9B 0E332 0FB97 0E335 0E273 0E338 0E33B 0E33E 0E341 0FB9F 0FBA1 0E344 0E347 0FBAB 0E253 0FBDA 0FBD8 0FBDC 0FBDF 0FBFD 0E276 0FBE5 0E27B ", + "rphf": [], + "half": [], + "pref": [], + "blwf": [], + "pstf": [] +} diff --git a/pandora_console/custom/temp/dir/path/mpdf/ttfontdata/dejavusanscondensed.GSUB.arab.SND .json b/pandora_console/custom/temp/dir/path/mpdf/ttfontdata/dejavusanscondensed.GSUB.arab.SND .json new file mode 100644 index 0000000000..ef6311a581 --- /dev/null +++ b/pandora_console/custom/temp/dir/path/mpdf/ttfontdata/dejavusanscondensed.GSUB.arab.SND .json @@ -0,0 +1,126 @@ +{ + "rtlSUB": { + "00622": { "1": "0FE82" }, + "00623": { "1": "0FE84" }, + "00624": { "1": "0FE86" }, + "00625": { "1": "0FE88" }, + "00626": { "1": "0FE8A", "3": "0FE8C", "2": "0FE8B" }, + "00627": { "1": "0FE8E" }, + "00628": { "1": "0FE90", "3": "0FE92", "2": "0FE91" }, + "00629": { "1": "0FE94" }, + "0062A": { "1": "0FE96", "3": "0FE98", "2": "0FE97" }, + "0062B": { "1": "0FE9A", "3": "0FE9C", "2": "0FE9B" }, + "0062C": { "1": "0FE9E", "3": "0FEA0", "2": "0FE9F" }, + "0062D": { "1": "0FEA2", "3": "0FEA4", "2": "0FEA3" }, + "0062E": { "1": "0FEA6", "3": "0FEA8", "2": "0FEA7" }, + "0062F": { "1": "0FEAA" }, + "00630": { "1": "0FEAC" }, + "00631": { "1": "0FEAE" }, + "00632": { "1": "0FEB0" }, + "00633": { "1": "0FEB2", "3": "0FEB4", "2": "0FEB3" }, + "00634": { "1": "0FEB6", "3": "0FEB8", "2": "0FEB7" }, + "00635": { "1": "0FEBA", "3": "0FEBC", "2": "0FEBB" }, + "00636": { "1": "0FEBE", "3": "0FEC0", "2": "0FEBF" }, + "00637": { "1": "0FEC2", "3": "0FEC4", "2": "0FEC3" }, + "00638": { "1": "0FEC6", "3": "0FEC8", "2": "0FEC7" }, + "00639": { "1": "0FECA", "3": "0FECC", "2": "0FECB" }, + "0063A": { "1": "0FECE", "3": "0FED0", "2": "0FECF" }, + "00641": { "1": "0FED2", "3": "0FED4", "2": "0FED3" }, + "00642": { "1": "0FED6", "3": "0FED8", "2": "0FED7" }, + "00643": { "1": "0FEDA", "3": "0FEDC", "2": "0FEDB" }, + "00644": { "1": "0FEDE", "3": "0FEE0", "2": "0FEDF" }, + "00645": { "1": "0FEE2", "3": "0FEE4", "2": "0FEE3" }, + "00646": { "1": "0FEE6", "3": "0FEE8", "2": "0FEE7" }, + "00647": { "1": "0FEEA", "3": "0FEEC", "2": "0FEEB" }, + "00648": { "1": "0FEEE" }, + "00649": { "1": "0FEF0", "3": "0FBE9", "2": "0FBE8" }, + "0064A": { "1": "0FEF2", "3": "0FEF4", "2": "0FEF3" }, + "0066E": { "1": "0E238", "3": "0E23A", "2": "0E239" }, + "0066F": { "1": "0E23E", "3": "0E240", "2": "0E23F" }, + "00679": { "1": "0FB67", "3": "0FB69", "2": "0FB68" }, + "0067A": { "1": "0FB5F", "3": "0FB61", "2": "0FB60" }, + "0067B": { "1": "0FB53", "3": "0FB55", "2": "0FB54" }, + "0067C": { "1": "0E244", "3": "0E246", "2": "0E245" }, + "0067D": { "1": "0E247", "3": "0E249", "2": "0E248" }, + "0067E": { "1": "0FB57", "3": "0FB59", "2": "0FB58" }, + "0067F": { "1": "0FB63", "3": "0FB65", "2": "0FB64" }, + "00680": { "1": "0FB5B", "3": "0FB5D", "2": "0FB5C" }, + "00681": { "1": "0E24A", "3": "0E24C", "2": "0E24B" }, + "00682": { "1": "0E24D", "3": "0E24F", "2": "0E24E" }, + "00683": { "1": "0FB77", "3": "0FB79", "2": "0FB78" }, + "00684": { "1": "0FB73", "3": "0FB75", "2": "0FB74" }, + "00685": { "1": "0E250", "3": "0E252", "2": "0E251" }, + "00686": { "1": "0FB7B", "3": "0FB7D", "2": "0FB7C" }, + "00687": { "1": "0FB7F", "3": "0FB81", "2": "0FB80" }, + "00688": { "1": "0FB89" }, + "00689": { "1": "0E2F5" }, + "0068A": { "1": "0E2F6" }, + "0068B": { "1": "0E2F7" }, + "0068C": { "1": "0FB85" }, + "0068D": { "1": "0FB83" }, + "0068E": { "1": "0FB87" }, + "0068F": { "1": "0E2F8" }, + "00690": { "1": "0E2F9" }, + "00691": { "1": "0FB8D" }, + "00692": { "1": "0E279" }, + "00693": { "1": "0E2FA" }, + "00694": { "1": "0E2FB" }, + "00695": { "1": "0E271" }, + "00696": { "1": "0E2FC" }, + "00697": { "1": "0E2FD" }, + "00698": { "1": "0FB8B" }, + "00699": { "1": "0E2FE" }, + "0069A": { "1": "0E2FF", "3": "0E301", "2": "0E300" }, + "0069B": { "1": "0E302", "3": "0E304", "2": "0E303" }, + "0069C": { "1": "0E305", "3": "0E307", "2": "0E306" }, + "0069D": { "1": "0E308", "3": "0E30A", "2": "0E309" }, + "0069E": { "1": "0E30B", "3": "0E30D", "2": "0E30C" }, + "0069F": { "1": "0E30E", "3": "0E310", "2": "0E30F" }, + "006A0": { "1": "0E311", "3": "0E313", "2": "0E312" }, + "006A1": { "1": "0E23B", "3": "0E23D", "2": "0E23C" }, + "006A2": { "1": "0E314", "3": "0E316", "2": "0E315" }, + "006A3": { "1": "0E317", "3": "0E319", "2": "0E318" }, + "006A4": { "1": "0FB6B", "3": "0FB6D", "2": "0FB6C" }, + "006A5": { "1": "0E31A", "3": "0E31C", "2": "0E31B" }, + "006A6": { "1": "0FB6F", "3": "0FB71", "2": "0FB70" }, + "006A7": { "1": "0E31D", "3": "0E31F", "2": "0E31E" }, + "006A8": { "1": "0E320", "3": "0E322", "2": "0E321" }, + "006A9": { "1": "0FB8F", "3": "0FB91", "2": "0FB90" }, + "006AA": { "1": "0E323", "3": "0E325", "2": "0E324" }, + "006AB": { "1": "0E326", "3": "0E328", "2": "0E327" }, + "006AC": { "1": "0E329", "3": "0E32B", "2": "0E32A" }, + "006AD": { "1": "0FBD4", "3": "0FBD6", "2": "0FBD5" }, + "006AE": { "1": "0E32C", "3": "0E32E", "2": "0E32D" }, + "006AF": { "1": "0FB93", "3": "0FB95", "2": "0FB94" }, + "006B0": { "1": "0E32F", "3": "0E331", "2": "0E330" }, + "006B1": { "1": "0FB9B", "3": "0FB9D", "2": "0FB9C" }, + "006B2": { "1": "0E332", "3": "0E334", "2": "0E333" }, + "006B3": { "1": "0FB97", "3": "0FB99", "2": "0FB98" }, + "006B4": { "1": "0E335", "3": "0E337", "2": "0E336" }, + "006B5": { "1": "0E273", "3": "0E275", "2": "0E274" }, + "006B6": { "1": "0E338", "3": "0E33A", "2": "0E339" }, + "006B7": { "1": "0E33B", "3": "0E33D", "2": "0E33C" }, + "006B8": { "1": "0E33E", "3": "0E340", "2": "0E33F" }, + "006B9": { "1": "0E341", "3": "0E343", "2": "0E342" }, + "006BA": { "1": "0FB9F", "3": "0E242", "2": "0E241" }, + "006BB": { "1": "0FBA1", "3": "0FBA3", "2": "0FBA2" }, + "006BC": { "1": "0E344", "3": "0E346", "2": "0E345" }, + "006BD": { "1": "0E347", "3": "0E349", "2": "0E348" }, + "006BE": { "1": "0FBAB", "3": "0FBAD", "2": "0FBAC" }, + "006BF": { "1": "0E253", "3": "0E255", "2": "0E254" }, + "006C6": { "1": "0FBDA" }, + "006C7": { "1": "0FBD8" }, + "006C8": { "1": "0FBDC" }, + "006CB": { "1": "0FBDF" }, + "006CC": { "1": "0FBFD", "3": "0FBFF", "2": "0FBFE" }, + "006CE": { "1": "0E276", "3": "0E278", "2": "0E277" }, + "006D0": { "1": "0FBE5", "3": "0FBE7", "2": "0FBE6" }, + "006D5": { "1": "0E27B" } + }, + "finals": "0FE82 0FE84 0FE86 0FE88 0FE8A 0FE90 0FE96 0FE9A 0FE9E 0FEA6 0FEAC 0FEB0 0FEB2 0FEB6 0FEBA 0FEBE 0FEC6 0FECE 0FEE2 0FEE6 0FEEA 0E238 0E23E 0FB67 0FB5F 0FB53 0E244 0E247 0FB57 0FB63 0FB5B 0E24A 0E24D 0FB77 0FB73 0E250 0FB7B 0FB7F 0FB89 0E2F5 0E2F6 0E2F7 0FB85 0FB83 0FB87 0E2F8 0E2F9 0FB8D 0E279 0E2FA 0E2FB 0E271 0E2FC 0E2FD 0FB8B 0E2FE 0E2FF 0E302 0E305 0E308 0E30B 0E30E 0E311 0E23B 0E314 0E317 0FB6B 0E31A 0FB6F 0E31D 0E320 0FB8F 0E323 0E326 0E329 0FBD4 0E32C 0E32F 0FB9B 0E332 0FB97 0E335 0E273 0E338 0E33B 0E33E 0E341 0FB9F 0FBA1 0E344 0E347 0FBAB 0E253 0FBDA 0FBD8 0FBDC 0FBDF 0FBFD 0E276 0FBE5 0E27B ", + "rphf": [], + "half": [], + "pref": [], + "blwf": [], + "pstf": [] +} diff --git a/pandora_console/custom/temp/dir/path/mpdf/ttfontdata/dejavusanscondensed.GSUB.arab.URD .json b/pandora_console/custom/temp/dir/path/mpdf/ttfontdata/dejavusanscondensed.GSUB.arab.URD .json new file mode 100644 index 0000000000..ef6311a581 --- /dev/null +++ b/pandora_console/custom/temp/dir/path/mpdf/ttfontdata/dejavusanscondensed.GSUB.arab.URD .json @@ -0,0 +1,126 @@ +{ + "rtlSUB": { + "00622": { "1": "0FE82" }, + "00623": { "1": "0FE84" }, + "00624": { "1": "0FE86" }, + "00625": { "1": "0FE88" }, + "00626": { "1": "0FE8A", "3": "0FE8C", "2": "0FE8B" }, + "00627": { "1": "0FE8E" }, + "00628": { "1": "0FE90", "3": "0FE92", "2": "0FE91" }, + "00629": { "1": "0FE94" }, + "0062A": { "1": "0FE96", "3": "0FE98", "2": "0FE97" }, + "0062B": { "1": "0FE9A", "3": "0FE9C", "2": "0FE9B" }, + "0062C": { "1": "0FE9E", "3": "0FEA0", "2": "0FE9F" }, + "0062D": { "1": "0FEA2", "3": "0FEA4", "2": "0FEA3" }, + "0062E": { "1": "0FEA6", "3": "0FEA8", "2": "0FEA7" }, + "0062F": { "1": "0FEAA" }, + "00630": { "1": "0FEAC" }, + "00631": { "1": "0FEAE" }, + "00632": { "1": "0FEB0" }, + "00633": { "1": "0FEB2", "3": "0FEB4", "2": "0FEB3" }, + "00634": { "1": "0FEB6", "3": "0FEB8", "2": "0FEB7" }, + "00635": { "1": "0FEBA", "3": "0FEBC", "2": "0FEBB" }, + "00636": { "1": "0FEBE", "3": "0FEC0", "2": "0FEBF" }, + "00637": { "1": "0FEC2", "3": "0FEC4", "2": "0FEC3" }, + "00638": { "1": "0FEC6", "3": "0FEC8", "2": "0FEC7" }, + "00639": { "1": "0FECA", "3": "0FECC", "2": "0FECB" }, + "0063A": { "1": "0FECE", "3": "0FED0", "2": "0FECF" }, + "00641": { "1": "0FED2", "3": "0FED4", "2": "0FED3" }, + "00642": { "1": "0FED6", "3": "0FED8", "2": "0FED7" }, + "00643": { "1": "0FEDA", "3": "0FEDC", "2": "0FEDB" }, + "00644": { "1": "0FEDE", "3": "0FEE0", "2": "0FEDF" }, + "00645": { "1": "0FEE2", "3": "0FEE4", "2": "0FEE3" }, + "00646": { "1": "0FEE6", "3": "0FEE8", "2": "0FEE7" }, + "00647": { "1": "0FEEA", "3": "0FEEC", "2": "0FEEB" }, + "00648": { "1": "0FEEE" }, + "00649": { "1": "0FEF0", "3": "0FBE9", "2": "0FBE8" }, + "0064A": { "1": "0FEF2", "3": "0FEF4", "2": "0FEF3" }, + "0066E": { "1": "0E238", "3": "0E23A", "2": "0E239" }, + "0066F": { "1": "0E23E", "3": "0E240", "2": "0E23F" }, + "00679": { "1": "0FB67", "3": "0FB69", "2": "0FB68" }, + "0067A": { "1": "0FB5F", "3": "0FB61", "2": "0FB60" }, + "0067B": { "1": "0FB53", "3": "0FB55", "2": "0FB54" }, + "0067C": { "1": "0E244", "3": "0E246", "2": "0E245" }, + "0067D": { "1": "0E247", "3": "0E249", "2": "0E248" }, + "0067E": { "1": "0FB57", "3": "0FB59", "2": "0FB58" }, + "0067F": { "1": "0FB63", "3": "0FB65", "2": "0FB64" }, + "00680": { "1": "0FB5B", "3": "0FB5D", "2": "0FB5C" }, + "00681": { "1": "0E24A", "3": "0E24C", "2": "0E24B" }, + "00682": { "1": "0E24D", "3": "0E24F", "2": "0E24E" }, + "00683": { "1": "0FB77", "3": "0FB79", "2": "0FB78" }, + "00684": { "1": "0FB73", "3": "0FB75", "2": "0FB74" }, + "00685": { "1": "0E250", "3": "0E252", "2": "0E251" }, + "00686": { "1": "0FB7B", "3": "0FB7D", "2": "0FB7C" }, + "00687": { "1": "0FB7F", "3": "0FB81", "2": "0FB80" }, + "00688": { "1": "0FB89" }, + "00689": { "1": "0E2F5" }, + "0068A": { "1": "0E2F6" }, + "0068B": { "1": "0E2F7" }, + "0068C": { "1": "0FB85" }, + "0068D": { "1": "0FB83" }, + "0068E": { "1": "0FB87" }, + "0068F": { "1": "0E2F8" }, + "00690": { "1": "0E2F9" }, + "00691": { "1": "0FB8D" }, + "00692": { "1": "0E279" }, + "00693": { "1": "0E2FA" }, + "00694": { "1": "0E2FB" }, + "00695": { "1": "0E271" }, + "00696": { "1": "0E2FC" }, + "00697": { "1": "0E2FD" }, + "00698": { "1": "0FB8B" }, + "00699": { "1": "0E2FE" }, + "0069A": { "1": "0E2FF", "3": "0E301", "2": "0E300" }, + "0069B": { "1": "0E302", "3": "0E304", "2": "0E303" }, + "0069C": { "1": "0E305", "3": "0E307", "2": "0E306" }, + "0069D": { "1": "0E308", "3": "0E30A", "2": "0E309" }, + "0069E": { "1": "0E30B", "3": "0E30D", "2": "0E30C" }, + "0069F": { "1": "0E30E", "3": "0E310", "2": "0E30F" }, + "006A0": { "1": "0E311", "3": "0E313", "2": "0E312" }, + "006A1": { "1": "0E23B", "3": "0E23D", "2": "0E23C" }, + "006A2": { "1": "0E314", "3": "0E316", "2": "0E315" }, + "006A3": { "1": "0E317", "3": "0E319", "2": "0E318" }, + "006A4": { "1": "0FB6B", "3": "0FB6D", "2": "0FB6C" }, + "006A5": { "1": "0E31A", "3": "0E31C", "2": "0E31B" }, + "006A6": { "1": "0FB6F", "3": "0FB71", "2": "0FB70" }, + "006A7": { "1": "0E31D", "3": "0E31F", "2": "0E31E" }, + "006A8": { "1": "0E320", "3": "0E322", "2": "0E321" }, + "006A9": { "1": "0FB8F", "3": "0FB91", "2": "0FB90" }, + "006AA": { "1": "0E323", "3": "0E325", "2": "0E324" }, + "006AB": { "1": "0E326", "3": "0E328", "2": "0E327" }, + "006AC": { "1": "0E329", "3": "0E32B", "2": "0E32A" }, + "006AD": { "1": "0FBD4", "3": "0FBD6", "2": "0FBD5" }, + "006AE": { "1": "0E32C", "3": "0E32E", "2": "0E32D" }, + "006AF": { "1": "0FB93", "3": "0FB95", "2": "0FB94" }, + "006B0": { "1": "0E32F", "3": "0E331", "2": "0E330" }, + "006B1": { "1": "0FB9B", "3": "0FB9D", "2": "0FB9C" }, + "006B2": { "1": "0E332", "3": "0E334", "2": "0E333" }, + "006B3": { "1": "0FB97", "3": "0FB99", "2": "0FB98" }, + "006B4": { "1": "0E335", "3": "0E337", "2": "0E336" }, + "006B5": { "1": "0E273", "3": "0E275", "2": "0E274" }, + "006B6": { "1": "0E338", "3": "0E33A", "2": "0E339" }, + "006B7": { "1": "0E33B", "3": "0E33D", "2": "0E33C" }, + "006B8": { "1": "0E33E", "3": "0E340", "2": "0E33F" }, + "006B9": { "1": "0E341", "3": "0E343", "2": "0E342" }, + "006BA": { "1": "0FB9F", "3": "0E242", "2": "0E241" }, + "006BB": { "1": "0FBA1", "3": "0FBA3", "2": "0FBA2" }, + "006BC": { "1": "0E344", "3": "0E346", "2": "0E345" }, + "006BD": { "1": "0E347", "3": "0E349", "2": "0E348" }, + "006BE": { "1": "0FBAB", "3": "0FBAD", "2": "0FBAC" }, + "006BF": { "1": "0E253", "3": "0E255", "2": "0E254" }, + "006C6": { "1": "0FBDA" }, + "006C7": { "1": "0FBD8" }, + "006C8": { "1": "0FBDC" }, + "006CB": { "1": "0FBDF" }, + "006CC": { "1": "0FBFD", "3": "0FBFF", "2": "0FBFE" }, + "006CE": { "1": "0E276", "3": "0E278", "2": "0E277" }, + "006D0": { "1": "0FBE5", "3": "0FBE7", "2": "0FBE6" }, + "006D5": { "1": "0E27B" } + }, + "finals": "0FE82 0FE84 0FE86 0FE88 0FE8A 0FE90 0FE96 0FE9A 0FE9E 0FEA6 0FEAC 0FEB0 0FEB2 0FEB6 0FEBA 0FEBE 0FEC6 0FECE 0FEE2 0FEE6 0FEEA 0E238 0E23E 0FB67 0FB5F 0FB53 0E244 0E247 0FB57 0FB63 0FB5B 0E24A 0E24D 0FB77 0FB73 0E250 0FB7B 0FB7F 0FB89 0E2F5 0E2F6 0E2F7 0FB85 0FB83 0FB87 0E2F8 0E2F9 0FB8D 0E279 0E2FA 0E2FB 0E271 0E2FC 0E2FD 0FB8B 0E2FE 0E2FF 0E302 0E305 0E308 0E30B 0E30E 0E311 0E23B 0E314 0E317 0FB6B 0E31A 0FB6F 0E31D 0E320 0FB8F 0E323 0E326 0E329 0FBD4 0E32C 0E32F 0FB9B 0E332 0FB97 0E335 0E273 0E338 0E33B 0E33E 0E341 0FB9F 0FBA1 0E344 0E347 0FBAB 0E253 0FBDA 0FBD8 0FBDC 0FBDF 0FBFD 0E276 0FBE5 0E27B ", + "rphf": [], + "half": [], + "pref": [], + "blwf": [], + "pstf": [] +} diff --git a/pandora_console/custom/temp/dir/path/mpdf/ttfontdata/dejavusanscondensed.GSUB.nko .DFLT.json b/pandora_console/custom/temp/dir/path/mpdf/ttfontdata/dejavusanscondensed.GSUB.nko .DFLT.json new file mode 100644 index 0000000000..c3ff3aa69f --- /dev/null +++ b/pandora_console/custom/temp/dir/path/mpdf/ttfontdata/dejavusanscondensed.GSUB.nko .DFLT.json @@ -0,0 +1,40 @@ +{ + "rtlSUB": { + "007CA": { "1": "0E28E", "3": "0E28F", "2": "0E290" }, + "007CB": { "1": "0E291", "3": "0E292", "2": "0E293" }, + "007CC": { "1": "0E294", "3": "0E295", "2": "0E296" }, + "007CD": { "1": "0E297", "3": "0E298", "2": "0E299" }, + "007CE": { "1": "0E29A", "3": "0E29B", "2": "0E29C" }, + "007CF": { "1": "0E29D", "3": "0E29E", "2": "0E29F" }, + "007D0": { "1": "0E2A0", "3": "0E2A1", "2": "0E2A2" }, + "007D1": { "1": "0E2A3", "3": "0E2A4", "2": "0E2A5" }, + "007D2": { "1": "0E2A6", "3": "0E2A7", "2": "0E2A8" }, + "007D3": { "1": "0E2A9", "3": "0E2AA", "2": "0E2AB" }, + "007D4": { "1": "0E2AC", "3": "0E2AD", "2": "0E2AE" }, + "007D5": { "1": "0E2AF", "3": "0E2B0", "2": "0E2B1" }, + "007D6": { "1": "0E2B2", "3": "0E2B3", "2": "0E2B4" }, + "007D7": { "1": "0E2B5", "3": "0E2B6", "2": "0E2B7" }, + "007D8": { "1": "0E2B8", "3": "0E2B9", "2": "0E2BA" }, + "007D9": { "1": "0E2BB", "3": "0E2BC", "2": "0E2BD" }, + "007DA": { "1": "0E2BE", "3": "0E2BF", "2": "0E2C0" }, + "007DB": { "1": "0E2C1", "3": "0E2C2", "2": "0E2C3" }, + "007DC": { "1": "0E2C4", "3": "0E2C5", "2": "0E2C6" }, + "007DD": { "1": "0E2C7", "3": "0E2C8", "2": "0E2C9" }, + "007DE": { "1": "0E2CA", "3": "0E2CB", "2": "0E2CC" }, + "007DF": { "1": "0E2CD", "3": "0E2CE", "2": "0E2CF" }, + "007E0": { "1": "0E2D0", "3": "0E2D1", "2": "0E2D2" }, + "007E1": { "1": "0E2D3", "3": "0E2D4", "2": "0E2D5" }, + "007E2": { "1": "0E2D6", "3": "0E2D7", "2": "0E2D8" }, + "007E3": { "1": "0E2D9", "3": "0E2DA", "2": "0E2DB" }, + "007E4": { "1": "0E2DC", "3": "0E2DD", "2": "0E2DE" }, + "007E5": { "1": "0E2DF", "3": "0E2E0", "2": "0E2E1" }, + "007E6": { "1": "0E2E2", "3": "0E2E3", "2": "0E2E4" }, + "007E7": { "1": "0E2E5", "3": "0E2E6", "2": "0E2E7" } + }, + "finals": "0E28E 0E291 0E294 0E297 0E29A 0E29D 0E2A0 0E2A3 0E2A6 0E2A9 0E2AC 0E2AF 0E2B2 0E2B5 0E2B8 0E2BB 0E2BE 0E2C1 0E2C4 0E2C7 0E2CA 0E2CD 0E2D0 0E2D3 0E2D6 0E2D9 0E2DC 0E2DF 0E2E2 0E2E5 ", + "rphf": [], + "half": [], + "pref": [], + "blwf": [], + "pstf": [] +} diff --git a/pandora_console/custom/temp/dir/path/mpdf/ttfontdata/dejavusanscondensed.GSUBGPOStables.dat b/pandora_console/custom/temp/dir/path/mpdf/ttfontdata/dejavusanscondensed.GSUBGPOStables.dat new file mode 100644 index 0000000000000000000000000000000000000000..e12880707ca239a4935ea9368fe440ca2845ddcf GIT binary patch literal 46180 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 literal 0 HcmV?d00001 diff --git a/pandora_console/custom/temp/dir/path/mpdf/ttfontdata/dejavusanscondensed.GSUBdata.json b/pandora_console/custom/temp/dir/path/mpdf/ttfontdata/dejavusanscondensed.GSUBdata.json new file mode 100644 index 0000000000..9012ffbcfc --- /dev/null +++ b/pandora_console/custom/temp/dir/path/mpdf/ttfontdata/dejavusanscondensed.GSUBdata.json @@ -0,0 +1,656 @@ +[ + [{ "161": 0, "191": 1, "11800": 2 }], + [ + { + "1994": 0, + "1995": 1, + "1996": 2, + "1997": 3, + "1998": 4, + "1999": 5, + "2000": 6, + "2001": 7, + "2002": 8, + "2003": 9, + "2004": 10, + "2005": 11, + "2006": 12, + "2007": 13, + "2008": 14, + "2009": 15, + "2010": 16, + "2011": 17, + "2012": 18, + "2013": 19, + "2014": 20, + "2015": 21, + "2016": 22, + "2017": 23, + "2018": 24, + "2019": 25, + "2020": 26, + "2021": 27, + "2022": 28, + "2023": 29, + "2042": 30, + "8205": 31, + "57998": 32, + "57999": 33, + "58000": 34, + "58001": 35, + "58002": 36, + "58003": 37, + "58004": 38, + "58005": 39, + "58006": 40, + "58007": 41, + "58008": 42, + "58009": 43, + "58010": 44, + "58011": 45, + "58012": 46, + "58013": 47, + "58014": 48, + "58015": 49, + "58016": 50, + "58017": 51, + "58018": 52, + "58019": 53, + "58020": 54, + "58021": 55, + "58022": 56, + "58023": 57, + "58024": 58, + "58025": 59, + "58026": 60, + "58027": 61, + "58028": 62, + "58029": 63, + "58030": 64, + "58031": 65, + "58032": 66, + "58033": 67, + "58034": 68, + "58035": 69, + "58036": 70, + "58037": 71, + "58038": 72, + "58039": 73, + "58040": 74, + "58041": 75, + "58042": 76, + "58043": 77, + "58044": 78, + "58045": 79, + "58046": 80, + "58047": 81, + "58048": 82, + "58049": 83, + "58050": 84, + "58051": 85, + "58052": 86, + "58053": 87, + "58054": 88, + "58055": 89, + "58056": 90, + "58057": 91, + "58058": 92, + "58059": 93, + "58060": 94, + "58061": 95, + "58062": 96, + "58063": 97, + "58064": 98, + "58065": 99, + "58066": 100, + "58067": 101, + "58068": 102, + "58069": 103, + "58070": 104, + "58071": 105, + "58072": 106, + "58073": 107, + "58074": 108, + "58075": 109, + "58076": 110, + "58077": 111, + "58078": 112, + "58079": 113, + "58080": 114, + "58081": 115, + "58082": 116, + "58083": 117, + "58084": 118, + "58085": 119, + "58086": 120, + "58087": 121 + } + ], + [{ "1506": 0 }], + [ + { + "105": 0, + "106": 1, + "303": 2, + "585": 3, + "616": 4, + "669": 5, + "768": 6, + "769": 7, + "770": 8, + "771": 9, + "772": 10, + "773": 11, + "774": 12, + "775": 13, + "776": 14, + "777": 15, + "778": 16, + "779": 17, + "780": 18, + "781": 19, + "782": 20, + "783": 21, + "784": 22, + "785": 23, + "786": 24, + "787": 25, + "788": 26, + "829": 27, + "830": 28, + "831": 29, + "832": 30, + "833": 31, + "834": 32, + "835": 33, + "836": 34, + "838": 35, + "842": 36, + "843": 37, + "844": 38, + "849": 39, + "850": 40, + "855": 41, + "1011": 42, + "1110": 43, + "1112": 44, + "1155": 45, + "1156": 46, + "1157": 47, + "1158": 48, + "7725": 49, + "7883": 50, + "8400": 51, + "8401": 52, + "8406": 53, + "8407": 54, + "8520": 55, + "8521": 56 + } + ], + [ + { "741": 0, "742": 1, "743": 2, "744": 3, "745": 4 }, + { "741": 0, "742": 1, "743": 2, "744": 3, "745": 4 }, + { "741": 0, "742": 1, "743": 2, "744": 3, "745": 4 }, + { "741": 0, "742": 1, "743": 2, "744": 3, "745": 4 }, + { "741": 0, "742": 1, "743": 2, "744": 3, "745": 4 }, + { "741": 0 }, + { "742": 0 }, + { "743": 0 }, + { "744": 0 }, + { "745": 0 } + ], + [{ "1497": 0, "1522": 1 }], + [{ "1073": 0 }], + [{ "330": 0 }], + [ + { + "1994": 0, + "1995": 1, + "1996": 2, + "1997": 3, + "1998": 4, + "1999": 5, + "2000": 6, + "2001": 7, + "2002": 8, + "2003": 9, + "2004": 10, + "2005": 11, + "2006": 12, + "2007": 13, + "2008": 14, + "2009": 15, + "2010": 16, + "2011": 17, + "2012": 18, + "2013": 19, + "2014": 20, + "2015": 21, + "2016": 22, + "2017": 23, + "2018": 24, + "2019": 25, + "2020": 26, + "2021": 27, + "2022": 28, + "2023": 29 + } + ], + [ + { + "1570": 0, + "1571": 1, + "1572": 2, + "1573": 3, + "1574": 4, + "1575": 5, + "1576": 6, + "1577": 7, + "1578": 8, + "1579": 9, + "1580": 10, + "1581": 11, + "1582": 12, + "1583": 13, + "1584": 14, + "1585": 15, + "1586": 16, + "1587": 17, + "1588": 18, + "1589": 19, + "1590": 20, + "1591": 21, + "1592": 22, + "1593": 23, + "1594": 24, + "1601": 25, + "1602": 26, + "1603": 27, + "1604": 28, + "1605": 29, + "1606": 30, + "1607": 31, + "1608": 32, + "1609": 33, + "1610": 34, + "1646": 35, + "1647": 36, + "1657": 37, + "1658": 38, + "1659": 39, + "1660": 40, + "1661": 41, + "1662": 42, + "1663": 43, + "1664": 44, + "1665": 45, + "1666": 46, + "1667": 47, + "1668": 48, + "1669": 49, + "1670": 50, + "1671": 51, + "1672": 52, + "1673": 53, + "1674": 54, + "1675": 55, + "1676": 56, + "1677": 57, + "1678": 58, + "1679": 59, + "1680": 60, + "1681": 61, + "1682": 62, + "1683": 63, + "1684": 64, + "1685": 65, + "1686": 66, + "1687": 67, + "1688": 68, + "1689": 69, + "1690": 70, + "1691": 71, + "1692": 72, + "1693": 73, + "1694": 74, + "1695": 75, + "1696": 76, + "1697": 77, + "1698": 78, + "1699": 79, + "1700": 80, + "1701": 81, + "1702": 82, + "1703": 83, + "1704": 84, + "1705": 85, + "1706": 86, + "1707": 87, + "1708": 88, + "1709": 89, + "1710": 90, + "1711": 91, + "1712": 92, + "1713": 93, + "1714": 94, + "1715": 95, + "1716": 96, + "1717": 97, + "1718": 98, + "1719": 99, + "1720": 100, + "1721": 101, + "1722": 102, + "1723": 103, + "1724": 104, + "1725": 105, + "1726": 106, + "1727": 107, + "1734": 108, + "1735": 109, + "1736": 110, + "1739": 111, + "1740": 112, + "1742": 113, + "1744": 114, + "1749": 115 + } + ], + [ + { + "1994": 0, + "1995": 1, + "1996": 2, + "1997": 3, + "1998": 4, + "1999": 5, + "2000": 6, + "2001": 7, + "2002": 8, + "2003": 9, + "2004": 10, + "2005": 11, + "2006": 12, + "2007": 13, + "2008": 14, + "2009": 15, + "2010": 16, + "2011": 17, + "2012": 18, + "2013": 19, + "2014": 20, + "2015": 21, + "2016": 22, + "2017": 23, + "2018": 24, + "2019": 25, + "2020": 26, + "2021": 27, + "2022": 28, + "2023": 29 + } + ], + [ + { + "1574": 0, + "1576": 1, + "1578": 2, + "1579": 3, + "1580": 4, + "1581": 5, + "1582": 6, + "1587": 7, + "1588": 8, + "1589": 9, + "1590": 10, + "1591": 11, + "1592": 12, + "1593": 13, + "1594": 14, + "1601": 15, + "1602": 16, + "1603": 17, + "1604": 18, + "1605": 19, + "1606": 20, + "1607": 21, + "1609": 22, + "1610": 23, + "1646": 24, + "1647": 25, + "1657": 26, + "1658": 27, + "1659": 28, + "1660": 29, + "1661": 30, + "1662": 31, + "1663": 32, + "1664": 33, + "1665": 34, + "1666": 35, + "1667": 36, + "1668": 37, + "1669": 38, + "1670": 39, + "1671": 40, + "1690": 41, + "1691": 42, + "1692": 43, + "1693": 44, + "1694": 45, + "1695": 46, + "1696": 47, + "1697": 48, + "1698": 49, + "1699": 50, + "1700": 51, + "1701": 52, + "1702": 53, + "1703": 54, + "1704": 55, + "1705": 56, + "1706": 57, + "1707": 58, + "1708": 59, + "1709": 60, + "1710": 61, + "1711": 62, + "1712": 63, + "1713": 64, + "1714": 65, + "1715": 66, + "1716": 67, + "1717": 68, + "1718": 69, + "1719": 70, + "1720": 71, + "1721": 72, + "1722": 73, + "1723": 74, + "1724": 75, + "1725": 76, + "1726": 77, + "1727": 78, + "1740": 79, + "1742": 80, + "1744": 81 + } + ], + [ + { + "1994": 0, + "1995": 1, + "1996": 2, + "1997": 3, + "1998": 4, + "1999": 5, + "2000": 6, + "2001": 7, + "2002": 8, + "2003": 9, + "2004": 10, + "2005": 11, + "2006": 12, + "2007": 13, + "2008": 14, + "2009": 15, + "2010": 16, + "2011": 17, + "2012": 18, + "2013": 19, + "2014": 20, + "2015": 21, + "2016": 22, + "2017": 23, + "2018": 24, + "2019": 25, + "2020": 26, + "2021": 27, + "2022": 28, + "2023": 29 + } + ], + [ + { + "1574": 0, + "1576": 1, + "1578": 2, + "1579": 3, + "1580": 4, + "1581": 5, + "1582": 6, + "1587": 7, + "1588": 8, + "1589": 9, + "1590": 10, + "1591": 11, + "1592": 12, + "1593": 13, + "1594": 14, + "1601": 15, + "1602": 16, + "1603": 17, + "1604": 18, + "1605": 19, + "1606": 20, + "1607": 21, + "1609": 22, + "1610": 23, + "1646": 24, + "1647": 25, + "1657": 26, + "1658": 27, + "1659": 28, + "1660": 29, + "1661": 30, + "1662": 31, + "1663": 32, + "1664": 33, + "1665": 34, + "1666": 35, + "1667": 36, + "1668": 37, + "1669": 38, + "1670": 39, + "1671": 40, + "1690": 41, + "1691": 42, + "1692": 43, + "1693": 44, + "1694": 45, + "1695": 46, + "1696": 47, + "1697": 48, + "1698": 49, + "1699": 50, + "1700": 51, + "1701": 52, + "1702": 53, + "1703": 54, + "1704": 55, + "1705": 56, + "1706": 57, + "1707": 58, + "1708": 59, + "1709": 60, + "1710": 61, + "1711": 62, + "1712": 63, + "1713": 64, + "1714": 65, + "1715": 66, + "1716": 67, + "1717": 68, + "1718": 69, + "1719": 70, + "1720": 71, + "1721": 72, + "1722": 73, + "1723": 74, + "1724": 75, + "1725": 76, + "1726": 77, + "1727": 78, + "1740": 79, + "1742": 80, + "1744": 81 + } + ], + [{ "1613": 0, "1616": 1, "1617": 2 }], + [{ "1611": 0, "1612": 1, "1614": 2, "1615": 3, "1617": 4, "1620": 5 }], + [{ "65247": 0, "65248": 1 }], + [{ "65247": 0, "65248": 1 }], + [{ "102": 0 }], + [{ "32": 0, "1575": 1, "1600": 2, "1608": 3, "1610": 4 }], + [{ "1488": 0 }], + [{ "1381": 0, "1396": 1, "1406": 2 }], + [{ "115": 0 }], + [{ "383": 0 }], + [{ "33": 0, "63": 1, "70": 2, "82": 3, "83": 4, "84": 5, "97": 6, "99": 7 }], + [{ "1471": 0 }], + [{ "1471": 0 }], + [{ "910": 0, "933": 1, "939": 2, "946": 3, "952": 4, "960": 5, "966": 6 }], + [{ "910": 0, "933": 1, "939": 2, "946": 3, "952": 4, "960": 5, "966": 6 }], + [{ "73": 0, "74": 1, "97": 2, "108": 3, "330": 4 }], + [{ "73": 0, "74": 1, "97": 2, "108": 3, "121": 4, "330": 5 }], + [{ "1506": 0 }], + [ + { + "768": 0, + "769": 1, + "770": 2, + "771": 3, + "774": 4, + "775": 5, + "776": 6, + "779": 7, + "780": 8, + "783": 9, + "785": 10 + } + ], + [ + { + "105": 0, + "106": 1, + "303": 2, + "585": 3, + "616": 4, + "669": 5, + "1011": 6, + "1110": 7, + "1112": 8, + "7725": 9, + "7883": 10, + "8520": 11, + "8521": 12 + } + ], + [{ "741": 0, "742": 1, "743": 2, "744": 3, "745": 4 }], + [{ "741": 0, "742": 1, "743": 2, "744": 3, "745": 4 }], + [{ "741": 0, "742": 1, "743": 2, "744": 3, "745": 4 }], + [{ "741": 0, "742": 1, "743": 2, "744": 3, "745": 4 }], + [{ "741": 0, "742": 1, "743": 2, "744": 3, "745": 4 }], + [{ "741": 0, "742": 1, "743": 2, "744": 3, "745": 4 }] +] diff --git a/pandora_console/custom/temp/dir/path/mpdf/ttfontdata/dejavusanscondensed.cw.dat b/pandora_console/custom/temp/dir/path/mpdf/ttfontdata/dejavusanscondensed.cw.dat new file mode 100644 index 0000000000000000000000000000000000000000..c3061d49c2564591a2cdedfb91c4e11dcc7b4620 GIT binary patch literal 131072 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 literal 0 HcmV?d00001 diff --git a/pandora_console/custom/temp/dir/path/mpdf/ttfontdata/dejavusanscondensed.gid.dat b/pandora_console/custom/temp/dir/path/mpdf/ttfontdata/dejavusanscondensed.gid.dat new file mode 100644 index 0000000000000000000000000000000000000000..87f4d69bd09e00094522e2f646d4e9090ac64fda GIT binary patch literal 196608 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 z2OMy~0S6p#zySvwaKHfv9B{w^2OMy~0S6p#zySvwaKHfv9B{w^2OMy~0S6p#zySvw zaKHfv9B{w^2OMy~0S6p#zySvwaKHfv9B{w^2OMy~0S6p#zySvwaKHfv9B{w^2OMy~ z0S6p#zySvwaKHfv9B{w^2OMy~0S6p#zySvwaKHfv9B{w^2OMy~0S6p#zySvwaKHfv z9B{w^2OMy~0S6p#zySvwaKHfv9B{w^2OMy~0S6p#zySvwaKHfv9B{w^2OMy~0S6p# zzySvwaKHfv9B{w^2OMy~0S6p#zySvwaKHfv9B{w^2OMy~0S6p#zySvwaKHfv9B{w^ z2OMy~0S6p#zySvwaKHfv9B{w^2OMy~0S6p#zySvwaKHfv9B{w^2OMy~0S6p#zySvw zaKHfv9B{w^2OMy~0S6p#zySvwaKHfv9B{w^2OMy~0S6p#zySvwaKHfv9B{w^2OMy~ z0S6p#zySvwaKHfv9B{w^2OMy~0S6p#zySvwaKHfv9B{w^2OMy~0S6p#zySvwaKHfv z9B{w^2OMy~0S6p#zySvwaKHfv9B{w^2OMy~0S6p#zySvwaKHfv9B{w^2OMy~0S6p# zzySvwaKHfv9B{w^2OMy~0S6p#zySvwaKHfv9B{w^2OMy~0S6p#zySvwaKHfv9B{w^ z2OMy~0S6p#zySvwaKHfv9B{w^2OMy~0S6p#zySvwaKHfv9B{w^2OMy~0S6p#zySvw zaKHfv9B{w^2OMy~0S6p#zySvwaKHfv9B{w^2OMy~0S6p#zySvwaKHfv9B{w^2OMy~ k0S6p#zySvwaKHfv9B{w^2OMy~0S6p#zySvw`2P(24=pWiY5)KL literal 0 HcmV?d00001 diff --git a/pandora_console/custom/temp/dir/path/mpdf/ttfontdata/dejavusanscondensed.mtx.json b/pandora_console/custom/temp/dir/path/mpdf/ttfontdata/dejavusanscondensed.mtx.json new file mode 100644 index 0000000000..968e6ebdc9 --- /dev/null +++ b/pandora_console/custom/temp/dir/path/mpdf/ttfontdata/dejavusanscondensed.mtx.json @@ -0,0 +1,3493 @@ +{ + "name": "DejaVuSansCondensed", + "type": "TTF", + "desc": { + "CapHeight": 729, + "XHeight": 547, + "FontBBox": "[-918 -463 1614 1232]", + "Flags": 4, + "Ascent": 928, + "Descent": -236, + "Leading": 0, + "ItalicAngle": 0, + "StemV": 87, + "MissingWidth": 540 + }, + "unitsPerEm": 2048, + "up": -63, + "ut": 44, + "strp": 259, + "strs": 50, + "ttffile": "/var/www/html/pandora_console/vendor/mpdf/mpdf/src/Config/../../ttfonts/DejaVuSansCondensed.ttf", + "TTCfontID": 0, + "originalsize": 690388, + "sip": false, + "smp": false, + "BMPselected": true, + "fontkey": "dejavusanscondensed", + "panose": " 0 0 2 b 6 6 3 8 4 2 2 4", + "haskerninfo": true, + "haskernGPOS": true, + "hassmallcapsGSUB": false, + "fontmetrics": "win", + "useOTL": 255, + "rtlPUAstr": "\\x{0E238}-\\x{0E242}\\x{0E244}-\\x{0E255}\\x{0E271}\\x{0E273}-\\x{0E279}\\x{0E27B}\\x{0E286}-\\x{0E2E7}\\x{0E2F5}-\\x{0E349}\\x{0EF00}-\\x{0EF19}", + "GSUBScriptLang": { + "DFLT": "DFLT ", + "arab": "DFLT KUR SND URD ", + "armn": "DFLT ", + "brai": "DFLT ", + "cans": "DFLT ", + "cher": "DFLT ", + "cyrl": "DFLT MKD SRB ", + "geor": "DFLT ", + "grek": "DFLT ", + "hani": "DFLT ", + "hebr": "DFLT ", + "kana": "DFLT ", + "lao ": "DFLT ", + "latn": "DFLT CAT ESP GAL ISM KSM LSM MOL NSM ROM SKS SSM ", + "math": "DFLT ", + "nko ": "DFLT ", + "ogam": "DFLT ", + "runr": "DFLT ", + "tfng": "DFLT ", + "thai": "DFLT " + }, + "GSUBFeatures": { + "DFLT": { "DFLT": { "case": [0], " RQD": [1], "ccmp": [4], "dlig": [24] } }, + "arab": { + "DFLT": { + "ccmp": [2, 4], + "fina": [9], + "medi": [11], + "init": [13], + "rlig": [14, 15, 16], + "liga": [17, 19] + }, + "KUR ": { + "ccmp": [2, 4], + "fina": [9], + "medi": [11], + "init": [13], + "rlig": [14, 15, 16], + "liga": [17, 19] + }, + "SND ": { + "ccmp": [2, 4], + "fina": [9], + "medi": [11], + "init": [13], + "rlig": [15, 16], + "liga": [17, 19] + }, + "URD ": { + "ccmp": [2, 4], + "fina": [9], + "medi": [11], + "init": [13], + "rlig": [15, 16], + "liga": [17, 19] + } + }, + "armn": { "DFLT": { "ccmp": [4], "dlig": [21] } }, + "brai": { "DFLT": { "ccmp": [4] } }, + "cans": { "DFLT": { "ccmp": [4] } }, + "cher": { "DFLT": { "ccmp": [4] } }, + "cyrl": { + "DFLT": { "ccmp": [3, 4] }, + "MKD ": { "ccmp": [3, 4], "locl": [6] }, + "SRB ": { "ccmp": [3, 4], "locl": [6] } + }, + "geor": { "DFLT": { "ccmp": [4] } }, + "grek": { "DFLT": { "ccmp": [3, 4], "aalt": [27], "salt": [28] } }, + "hani": { "DFLT": { "ccmp": [4] } }, + "hebr": { + "DFLT": { "ccmp": [2, 4, 5], "hlig": [20], "aalt": [25], "salt": [26] } + }, + "kana": { "DFLT": { "ccmp": [4] } }, + "lao ": { "DFLT": { "ccmp": [4] } }, + "latn": { + "DFLT": { + "case": [0], + "ccmp": [3, 4], + "liga": [18], + "dlig": [22], + "hlig": [23], + "salt": [29], + "aalt": [30] + }, + "CAT ": { "case": [0] }, + "ESP ": { "case": [0] }, + "GAL ": { "case": [0] }, + "ISM ": { + "ccmp": [3, 4], + "locl": [7], + "liga": [18], + "dlig": [22], + "hlig": [23], + "salt": [29], + "aalt": [30] + }, + "KSM ": { + "ccmp": [3, 4], + "locl": [7], + "liga": [18], + "dlig": [22], + "hlig": [23], + "salt": [29], + "aalt": [30] + }, + "LSM ": { + "ccmp": [3, 4], + "locl": [7], + "liga": [18], + "dlig": [22], + "hlig": [23], + "salt": [29], + "aalt": [30] + }, + "MOL ": { + "ccmp": [3, 4], + "liga": [18], + "dlig": [22], + "hlig": [23], + "salt": [29], + "aalt": [30] + }, + "NSM ": { + "ccmp": [3, 4], + "locl": [7], + "liga": [18], + "dlig": [22], + "hlig": [23], + "salt": [29], + "aalt": [30] + }, + "ROM ": { + "ccmp": [3, 4], + "liga": [18], + "dlig": [22], + "hlig": [23], + "salt": [29], + "aalt": [30] + }, + "SKS ": { + "ccmp": [3, 4], + "locl": [7], + "liga": [18], + "dlig": [22], + "hlig": [23], + "salt": [29], + "aalt": [30] + }, + "SSM ": { + "ccmp": [3, 4], + "locl": [7], + "liga": [18], + "dlig": [22], + "hlig": [23], + "salt": [29], + "aalt": [30] + } + }, + "math": { "DFLT": { "ccmp": [4] } }, + "nko ": { + "DFLT": { + " RQD": [1], + "ccmp": [2, 4], + "fina": [8], + "medi": [10], + "init": [12] + } + }, + "ogam": { "DFLT": { "ccmp": [4] } }, + "runr": { "DFLT": { "ccmp": [4] } }, + "tfng": { "DFLT": { "ccmp": [4] } }, + "thai": { "DFLT": { "ccmp": [4] } } + }, + "GSUBLookups": [ + { + "Type": 1, + "Flag": 0, + "SubtableCount": 1, + "Subtables": [660952], + "MarkFilteringSet": "" + }, + { + "Type": 6, + "Flag": 9, + "SubtableCount": 1, + "Subtables": [660974], + "MarkFilteringSet": "" + }, + { + "Type": 6, + "Flag": 1, + "SubtableCount": 1, + "Subtables": [661098], + "MarkFilteringSet": "" + }, + { + "Type": 6, + "Flag": 0, + "SubtableCount": 1, + "Subtables": [661182], + "MarkFilteringSet": "" + }, + { + "Type": 6, + "Flag": 0, + "SubtableCount": 10, + "Subtables": [ + 662074, + 662162, + 662250, + 662338, + 662426, + 662514, + 662580, + 662652, + 662724, + 662796 + ], + "MarkFilteringSet": "" + }, + { + "Type": 4, + "Flag": 1, + "SubtableCount": 1, + "Subtables": [662862], + "MarkFilteringSet": "" + }, + { + "Type": 1, + "Flag": 0, + "SubtableCount": 1, + "Subtables": [662900], + "MarkFilteringSet": "" + }, + { + "Type": 1, + "Flag": 0, + "SubtableCount": 1, + "Subtables": [662912], + "MarkFilteringSet": "" + }, + { + "Type": 1, + "Flag": 9, + "SubtableCount": 1, + "Subtables": [662924], + "MarkFilteringSet": "" + }, + { + "Type": 1, + "Flag": 9, + "SubtableCount": 1, + "Subtables": [663000], + "MarkFilteringSet": "" + }, + { + "Type": 1, + "Flag": 9, + "SubtableCount": 1, + "Subtables": [663266], + "MarkFilteringSet": "" + }, + { + "Type": 1, + "Flag": 9, + "SubtableCount": 1, + "Subtables": [663342], + "MarkFilteringSet": "" + }, + { + "Type": 1, + "Flag": 9, + "SubtableCount": 1, + "Subtables": [663576], + "MarkFilteringSet": "" + }, + { + "Type": 1, + "Flag": 9, + "SubtableCount": 1, + "Subtables": [663652], + "MarkFilteringSet": "" + }, + { + "Type": 4, + "Flag": 1, + "SubtableCount": 1, + "Subtables": [663886], + "MarkFilteringSet": "" + }, + { + "Type": 4, + "Flag": 1, + "SubtableCount": 1, + "Subtables": [663946], + "MarkFilteringSet": "" + }, + { + "Type": 4, + "Flag": 9, + "SubtableCount": 1, + "Subtables": [664088], + "MarkFilteringSet": "" + }, + { + "Type": 4, + "Flag": 9, + "SubtableCount": 1, + "Subtables": [664126], + "MarkFilteringSet": "" + }, + { + "Type": 4, + "Flag": 0, + "SubtableCount": 1, + "Subtables": [664196], + "MarkFilteringSet": "" + }, + { + "Type": 4, + "Flag": 1, + "SubtableCount": 1, + "Subtables": [664256], + "MarkFilteringSet": "" + }, + { + "Type": 4, + "Flag": 1, + "SubtableCount": 1, + "Subtables": [664448], + "MarkFilteringSet": "" + }, + { + "Type": 4, + "Flag": 0, + "SubtableCount": 1, + "Subtables": [664472], + "MarkFilteringSet": "" + }, + { + "Type": 4, + "Flag": 0, + "SubtableCount": 1, + "Subtables": [664548], + "MarkFilteringSet": "" + }, + { + "Type": 4, + "Flag": 0, + "SubtableCount": 1, + "Subtables": [664572], + "MarkFilteringSet": "" + }, + { + "Type": 4, + "Flag": 0, + "SubtableCount": 1, + "Subtables": [664596], + "MarkFilteringSet": "" + }, + { + "Type": 1, + "Flag": 1, + "SubtableCount": 1, + "Subtables": [664752], + "MarkFilteringSet": "" + }, + { + "Type": 1, + "Flag": 1, + "SubtableCount": 1, + "Subtables": [664764], + "MarkFilteringSet": "" + }, + { + "Type": 1, + "Flag": 0, + "SubtableCount": 1, + "Subtables": [664776], + "MarkFilteringSet": "" + }, + { + "Type": 1, + "Flag": 0, + "SubtableCount": 1, + "Subtables": [664814], + "MarkFilteringSet": "" + }, + { + "Type": 1, + "Flag": 0, + "SubtableCount": 1, + "Subtables": [664852], + "MarkFilteringSet": "" + }, + { + "Type": 3, + "Flag": 0, + "SubtableCount": 1, + "Subtables": [664882], + "MarkFilteringSet": "" + }, + { + "Type": 1, + "Flag": 1, + "SubtableCount": 1, + "Subtables": [664940], + "MarkFilteringSet": "" + }, + { + "Type": 1, + "Flag": 0, + "SubtableCount": 1, + "Subtables": [664952], + "MarkFilteringSet": "" + }, + { + "Type": 1, + "Flag": 0, + "SubtableCount": 1, + "Subtables": [665006], + "MarkFilteringSet": "" + }, + { + "Type": 1, + "Flag": 0, + "SubtableCount": 1, + "Subtables": [665068], + "MarkFilteringSet": "" + }, + { + "Type": 1, + "Flag": 0, + "SubtableCount": 1, + "Subtables": [665084], + "MarkFilteringSet": "" + }, + { + "Type": 1, + "Flag": 0, + "SubtableCount": 1, + "Subtables": [665100], + "MarkFilteringSet": "" + }, + { + "Type": 1, + "Flag": 0, + "SubtableCount": 1, + "Subtables": [665116], + "MarkFilteringSet": "" + }, + { + "Type": 1, + "Flag": 0, + "SubtableCount": 1, + "Subtables": [665132], + "MarkFilteringSet": "" + }, + { + "Type": 1, + "Flag": 0, + "SubtableCount": 1, + "Subtables": [665148], + "MarkFilteringSet": "" + } + ], + "GPOSScriptLang": { + "DFLT": "DFLT ", + "arab": "DFLT KUR SND URD ", + "armn": "DFLT ", + "brai": "DFLT ", + "cans": "DFLT ", + "cher": "DFLT ", + "cyrl": "DFLT MKD SRB ", + "geor": "DFLT ", + "grek": "DFLT ", + "hani": "DFLT ", + "hebr": "DFLT ", + "kana": "DFLT ", + "lao ": "DFLT ", + "latn": "DFLT ISM KSM LSM MOL NSM ROM SKS SSM ", + "math": "DFLT ", + "nko ": "DFLT ", + "ogam": "DFLT ", + "runr": "DFLT ", + "tfng": "DFLT ", + "thai": "DFLT " + }, + "GPOSFeatures": { + "DFLT": { "DFLT": { "kern": [15] } }, + "arab": { + "DFLT": { "mkmk": [0, 1], "mark": [5, 6, 7, 8, 9], "kern": [15] }, + "KUR ": { "mkmk": [0, 1], "mark": [5, 6, 7, 8, 9], "kern": [15] }, + "SND ": { "mkmk": [0, 1], "mark": [5, 6, 7, 8, 9], "kern": [15] }, + "URD ": { "mkmk": [0, 1], "mark": [5, 6, 7, 8, 9], "kern": [15] } + }, + "armn": { "DFLT": { "kern": [15] } }, + "brai": { "DFLT": { "kern": [15] } }, + "cans": { "DFLT": { "kern": [15] } }, + "cher": { "DFLT": { "kern": [15] } }, + "cyrl": { + "DFLT": { "mkmk": [4], "mark": [12, 13], "kern": [15] }, + "MKD ": { "mkmk": [4], "mark": [12, 13], "kern": [15] }, + "SRB ": { "mkmk": [4], "mark": [12, 13], "kern": [15] } + }, + "geor": { "DFLT": { "kern": [15] } }, + "grek": { "DFLT": { "mkmk": [4], "mark": [12, 13], "kern": [15] } }, + "hani": { "DFLT": { "kern": [15] } }, + "hebr": { "DFLT": { "mark": [5, 6, 7, 8, 9], "kern": [15] } }, + "kana": { "DFLT": { "kern": [15] } }, + "lao ": { "DFLT": { "mkmk": [2, 3], "mark": [10, 11], "kern": [15] } }, + "latn": { + "DFLT": { "mkmk": [4], "mark": [12, 13], "kern": [14, 15] }, + "ISM ": { "mkmk": [4], "mark": [12, 13], "kern": [14, 15] }, + "KSM ": { "mkmk": [4], "mark": [12, 13], "kern": [14, 15] }, + "LSM ": { "mkmk": [4], "mark": [12, 13], "kern": [14, 15] }, + "MOL ": { "mkmk": [4], "mark": [12, 13], "kern": [14, 15] }, + "NSM ": { "mkmk": [4], "mark": [12, 13], "kern": [14, 15] }, + "ROM ": { "mkmk": [4], "mark": [12, 13], "kern": [14, 15] }, + "SKS ": { "mkmk": [4], "mark": [12, 13], "kern": [14, 15] }, + "SSM ": { "mkmk": [4], "mark": [12, 13], "kern": [14, 15] } + }, + "math": { "DFLT": { "kern": [15] } }, + "nko ": { "DFLT": { "mark": [5, 6, 7, 8, 9], "kern": [15] } }, + "ogam": { "DFLT": { "kern": [15] } }, + "runr": { "DFLT": { "kern": [15] } }, + "tfng": { "DFLT": { "mark": [13], "kern": [15] } }, + "thai": { "DFLT": { "kern": [15] } } + }, + "GPOSLookups": [ + { + "Type": 6, + "Flag": 1, + "SubtableCount": 1, + "Subtables": [619770], + "MarkFilteringSet": "" + }, + { + "Type": 6, + "Flag": 1, + "SubtableCount": 1, + "Subtables": [619860], + "MarkFilteringSet": "" + }, + { + "Type": 6, + "Flag": 0, + "SubtableCount": 1, + "Subtables": [620324], + "MarkFilteringSet": "" + }, + { + "Type": 6, + "Flag": 0, + "SubtableCount": 1, + "Subtables": [620382], + "MarkFilteringSet": "" + }, + { + "Type": 6, + "Flag": 4, + "SubtableCount": 2, + "Subtables": [620532, 621268], + "MarkFilteringSet": "" + }, + { + "Type": 5, + "Flag": 1, + "SubtableCount": 1, + "Subtables": [622484], + "MarkFilteringSet": "" + }, + { + "Type": 4, + "Flag": 1, + "SubtableCount": 1, + "Subtables": [622854], + "MarkFilteringSet": "" + }, + { + "Type": 4, + "Flag": 1, + "SubtableCount": 1, + "Subtables": [628196], + "MarkFilteringSet": "" + }, + { + "Type": 5, + "Flag": 1, + "SubtableCount": 1, + "Subtables": [628458], + "MarkFilteringSet": "" + }, + { + "Type": 4, + "Flag": 1, + "SubtableCount": 1, + "Subtables": [628912], + "MarkFilteringSet": "" + }, + { + "Type": 4, + "Flag": 0, + "SubtableCount": 1, + "Subtables": [634218], + "MarkFilteringSet": "" + }, + { + "Type": 4, + "Flag": 0, + "SubtableCount": 1, + "Subtables": [634522], + "MarkFilteringSet": "" + }, + { + "Type": 5, + "Flag": 0, + "SubtableCount": 1, + "Subtables": [634962], + "MarkFilteringSet": "" + }, + { + "Type": 4, + "Flag": 4, + "SubtableCount": 6, + "Subtables": [635404, 636890, 637018, 637944, 642468, 648952], + "MarkFilteringSet": "" + }, + { + "Type": 2, + "Flag": 0, + "SubtableCount": 1, + "Subtables": [649288], + "MarkFilteringSet": "" + }, + { + "Type": 2, + "Flag": 0, + "SubtableCount": 1, + "Subtables": [659454], + "MarkFilteringSet": "" + } + ], + "kerninfo": { + "45": { + "65": -21, + "66": -35, + "71": 36, + "74": 55, + "79": 27, + "81": 36, + "84": -91, + "86": -58, + "87": -40, + "88": -49, + "89": -118, + "111": 18, + "118": -26, + "121": -17, + "192": -21, + "193": -21, + "194": -21, + "195": -21, + "196": -21, + "210": 27, + "211": 27, + "212": 27, + "213": 27, + "214": 27, + "221": -118, + "242": 18, + "243": 18, + "244": 18, + "245": 18, + "246": 18, + "253": -17, + "255": -17, + "256": -21, + "258": -21, + "260": -21, + "286": 36, + "356": -91, + "376": -118 + }, + "65": { + "45": -21, + "46": -17, + "58": -17, + "65": 27, + "67": -17, + "71": -17, + "79": -17, + "81": -17, + "84": -77, + "86": -63, + "87": -54, + "89": -77, + "99": -17, + "100": -17, + "101": -17, + "102": -35, + "111": -17, + "113": -17, + "116": -17, + "118": -58, + "119": -40, + "121": -67, + "171": -35, + "192": 27, + "193": 27, + "194": 27, + "195": 27, + "196": 27, + "199": -17, + "210": -17, + "211": -17, + "212": -17, + "213": -17, + "214": -17, + "221": -77, + "231": -17, + "232": -17, + "233": -17, + "234": -17, + "235": -17, + "242": -17, + "243": -17, + "244": -17, + "245": -17, + "246": -17, + "253": -67, + "255": -67, + "256": 27, + "258": 27, + "260": 27, + "262": -17, + "263": -17, + "264": -17, + "265": -17, + "266": -17, + "267": -17, + "268": -17, + "269": -17, + "271": -17, + "273": -17, + "275": -17, + "277": -17, + "279": -17, + "281": -17, + "283": -17, + "284": -17, + "286": -17, + "288": -17, + "332": -17, + "333": -17, + "334": -17, + "335": -17, + "336": -17, + "337": -17, + "354": -77, + "355": -17, + "356": -77, + "357": -17, + "372": -54, + "373": -40, + "374": -77, + "375": -67, + "376": -77, + "454": -17, + "490": -17, + "491": -17, + "492": -17, + "493": -17, + "538": -77, + "539": -17, + "558": -17, + "561": -17, + "562": -77, + "563": -67, + "7808": -54, + "7809": -40, + "7810": -54, + "7811": -40, + "7812": -54, + "7813": -40, + "7922": -77, + "7923": -67, + "8220": -128, + "8221": -123, + "8222": 22 + }, + "66": { + "67": -17, + "71": -17, + "79": -17, + "83": -17, + "86": -30, + "87": -35, + "89": -54, + "171": -30, + "187": -17, + "199": -17, + "210": -17, + "211": -17, + "212": -17, + "213": -17, + "214": -17, + "221": -54, + "262": -17, + "264": -17, + "266": -17, + "268": -17, + "284": -17, + "286": -17, + "288": -17, + "290": -17, + "332": -17, + "334": -17, + "336": -17, + "346": -17, + "348": -17, + "350": -17, + "352": -17, + "372": -35, + "374": -54, + "376": -54, + "490": -17, + "492": -17, + "536": -17, + "558": -17, + "7808": -35, + "7810": -35, + "7812": -35, + "7922": -54, + "8220": -54, + "8221": -54, + "8222": -40 + }, + "67": { + "89": -17, + "171": -17, + "187": -17, + "221": -17, + "374": -17, + "376": -17, + "562": -17, + "7922": -17, + "8221": 18 + }, + "68": { + "65": -17, + "86": -17, + "89": -54, + "171": -17, + "187": -17, + "192": -17, + "193": -17, + "194": -17, + "195": -17, + "196": -17, + "221": -54, + "256": -17, + "258": -17, + "260": -17, + "374": -54, + "376": -54, + "562": -54, + "7922": -54, + "8220": -21, + "8221": -26, + "8222": -91 + }, + "70": { + "46": -160, + "58": -77, + "65": -91, + "83": -17, + "84": -17, + "97": -91, + "101": -54, + "105": -72, + "111": -35, + "114": -72, + "117": -54, + "121": -91, + "192": -91, + "193": -91, + "194": -91, + "195": -91, + "196": -91, + "224": -91, + "225": -91, + "226": -91, + "227": -91, + "228": -91, + "229": -91, + "232": -54, + "233": -54, + "234": -54, + "235": -54, + "242": -35, + "243": -35, + "244": -35, + "245": -35, + "246": -35, + "249": -54, + "250": -54, + "251": -54, + "252": -54, + "253": -91, + "255": -91, + "256": -91, + "257": -91, + "258": -91, + "259": -91, + "260": -91, + "261": -91, + "275": -54, + "277": -54, + "279": -54, + "281": -54, + "283": -54, + "303": -72, + "307": -72, + "333": -35, + "335": -35, + "337": -35, + "341": -72, + "343": -72, + "345": -72, + "346": -17, + "348": -17, + "350": -17, + "352": -17, + "354": -17, + "356": -17, + "358": -17, + "361": -54, + "363": -54, + "365": -54, + "367": -54, + "369": -54, + "371": -54, + "375": -91, + "491": -35, + "493": -35, + "536": -17, + "538": -17, + "559": -35, + "563": -91, + "7923": -91, + "8220": -21, + "8222": -183 + }, + "71": { + "84": -35, + "89": -49, + "171": -17, + "187": -17, + "221": -49, + "356": -35, + "376": -49, + "8220": -21, + "8221": -21, + "8222": -26 + }, + "72": { "46": -17, "8220": -35, "8221": -30, "8222": -35 }, + "74": { + "45": -35, + "65": -17, + "171": -17, + "187": -17, + "192": -17, + "193": -17, + "194": -17, + "195": -17, + "196": -17, + "8220": -35, + "8221": -30, + "8222": -54 + }, + "75": { + "45": -104, + "65": -17, + "67": -54, + "79": -54, + "84": -77, + "85": -26, + "87": -35, + "89": -35, + "97": -17, + "101": -49, + "111": -49, + "117": -49, + "121": -72, + "171": -63, + "192": -17, + "193": -17, + "194": -17, + "195": -17, + "196": -17, + "199": -54, + "210": -54, + "211": -54, + "212": -54, + "213": -54, + "214": -54, + "217": -26, + "218": -26, + "219": -26, + "220": -26, + "221": -35, + "224": -17, + "225": -17, + "226": -17, + "227": -17, + "228": -17, + "229": -17, + "232": -49, + "233": -49, + "234": -49, + "235": -49, + "242": -49, + "243": -49, + "244": -49, + "245": -49, + "246": -49, + "249": -49, + "250": -49, + "251": -49, + "252": -49, + "253": -72, + "255": -72, + "262": -54, + "268": -54, + "283": -49, + "356": -77, + "366": -26, + "367": -49, + "376": -35, + "8220": -30, + "8221": -30 + }, + "76": { + "45": -17, + "65": 22, + "79": -35, + "84": -137, + "85": -49, + "86": -109, + "87": -91, + "89": -132, + "101": -17, + "111": -17, + "117": -17, + "121": -91, + "192": 22, + "193": 22, + "194": 22, + "195": 22, + "196": 22, + "210": -35, + "211": -35, + "212": -35, + "213": -35, + "214": -35, + "217": -49, + "218": -49, + "219": -49, + "220": -49, + "221": -132, + "232": -17, + "233": -17, + "234": -17, + "235": -17, + "242": -17, + "243": -17, + "244": -17, + "245": -17, + "246": -17, + "249": -17, + "250": -17, + "251": -17, + "252": -17, + "253": -91, + "255": -91, + "283": -17, + "356": -137, + "366": -49, + "367": -17, + "376": -132, + "8220": -202, + "8221": -262 + }, + "79": { + "45": 27, + "46": -40, + "58": -17, + "65": -17, + "86": -17, + "88": -63, + "89": -54, + "171": -17, + "192": -17, + "193": -17, + "194": -17, + "195": -17, + "196": -17, + "221": -54, + "376": -54, + "8220": -21, + "8221": -17, + "8222": -91 + }, + "80": { + "45": -21, + "46": -155, + "65": -63, + "89": -21, + "97": -44, + "101": -35, + "105": -21, + "110": -17, + "111": -35, + "114": -17, + "115": -17, + "117": -17, + "171": -17, + "192": -63, + "193": -63, + "194": -63, + "195": -63, + "196": -63, + "221": -21, + "224": -44, + "225": -44, + "226": -44, + "227": -44, + "228": -44, + "229": -44, + "232": -35, + "233": -35, + "234": -35, + "235": -35, + "241": -17, + "242": -35, + "243": -35, + "244": -35, + "245": -35, + "246": -35, + "249": -17, + "250": -17, + "251": -17, + "252": -17, + "283": -35, + "328": -17, + "341": -17, + "345": -17, + "351": -17, + "353": -17, + "367": -17, + "376": -21, + "8220": 18, + "8221": 18, + "8222": -160 + }, + "81": { "45": 27, "8220": -21, "8221": -17, "8222": -63 }, + "82": { + "45": -40, + "46": -35, + "58": -30, + "65": -40, + "67": -49, + "84": -72, + "86": -54, + "87": -40, + "89": -63, + "97": -21, + "101": -44, + "111": -44, + "117": -44, + "121": -54, + "171": -54, + "187": -17, + "192": -40, + "193": -40, + "194": -40, + "195": -40, + "196": -40, + "199": -49, + "221": -63, + "224": -21, + "225": -21, + "226": -21, + "227": -21, + "228": -21, + "229": -21, + "232": -44, + "233": -44, + "234": -44, + "235": -44, + "242": -44, + "243": -44, + "244": -44, + "245": -44, + "246": -44, + "249": -44, + "250": -44, + "251": -44, + "252": -44, + "253": -54, + "255": -54, + "262": -49, + "268": -49, + "283": -44, + "356": -72, + "367": -44, + "376": -63, + "8220": -72, + "8221": -63, + "8222": -17 + }, + "83": { "65": 18, "192": 18, "193": 18, "194": 18, "195": 18, "196": 18 }, + "84": { + "45": -91, + "46": -118, + "58": -109, + "65": -77, + "67": -58, + "84": -17, + "97": -165, + "99": -169, + "101": -169, + "105": -30, + "111": -169, + "114": -146, + "115": -165, + "117": -151, + "119": -165, + "121": -155, + "171": -91, + "187": -54, + "192": -77, + "193": -77, + "194": -77, + "195": -77, + "196": -77, + "199": -58, + "224": -116, + "225": -165, + "226": -116, + "227": -116, + "228": -116, + "229": -116, + "231": -169, + "232": -140, + "233": -169, + "234": -140, + "235": -140, + "242": -130, + "243": -169, + "244": -130, + "245": -130, + "246": -130, + "249": -137, + "250": -151, + "251": -137, + "252": -137, + "253": -155, + "255": -155, + "262": -58, + "263": -169, + "268": -58, + "269": -169, + "283": -169, + "341": -146, + "345": -146, + "351": -165, + "353": -165, + "356": -17, + "367": -151, + "8221": -21, + "8222": -128 + }, + "85": { "90": -17, "381": -17 }, + "86": { + "45": -58, + "46": -128, + "58": -81, + "65": -63, + "79": -17, + "97": -77, + "101": -77, + "105": -21, + "111": -77, + "117": -67, + "121": -26, + "171": -86, + "187": -54, + "192": -63, + "193": -63, + "194": -63, + "195": -63, + "196": -63, + "210": -17, + "211": -17, + "212": -17, + "213": -17, + "214": -17, + "224": -77, + "225": -77, + "226": -77, + "227": -77, + "228": -77, + "229": -77, + "232": -77, + "233": -77, + "234": -77, + "235": -77, + "242": -77, + "243": -77, + "244": -77, + "245": -77, + "246": -77, + "249": -67, + "250": -67, + "251": -67, + "252": -67, + "253": -26, + "255": -26, + "283": -77, + "367": -67, + "8222": -137 + }, + "87": { + "45": -40, + "46": -114, + "58": -58, + "65": -54, + "97": -63, + "101": -58, + "105": -21, + "111": -58, + "114": -44, + "117": -35, + "121": -17, + "171": -54, + "187": -17, + "192": -54, + "193": -54, + "194": -54, + "195": -54, + "196": -54, + "224": -63, + "225": -63, + "226": -63, + "227": -63, + "228": -63, + "229": -63, + "232": -58, + "233": -58, + "234": -58, + "235": -58, + "242": -58, + "243": -58, + "244": -58, + "245": -58, + "246": -58, + "249": -35, + "250": -35, + "251": -35, + "252": -35, + "253": -17, + "255": -17, + "283": -58, + "341": -44, + "345": -44, + "367": -35, + "8220": -17, + "8222": -128 + }, + "88": { + "45": -49, + "67": -72, + "79": -63, + "84": -17, + "101": -44, + "171": -54, + "199": -72, + "210": -63, + "211": -63, + "212": -63, + "213": -63, + "214": -63, + "232": -44, + "233": -44, + "234": -44, + "235": -44, + "262": -72, + "268": -72, + "283": -44, + "356": -17, + "8220": -77, + "8221": -40, + "8222": -21 + }, + "89": { + "45": -118, + "46": -202, + "58": -132, + "65": -77, + "67": -54, + "79": -54, + "97": -137, + "101": -132, + "105": -35, + "111": -132, + "117": -114, + "171": -109, + "187": -72, + "192": -77, + "193": -77, + "194": -77, + "195": -77, + "196": -77, + "199": -54, + "210": -54, + "211": -54, + "212": -54, + "213": -54, + "214": -54, + "224": -137, + "225": -137, + "226": -137, + "227": -137, + "228": -137, + "229": -137, + "232": -132, + "233": -132, + "234": -132, + "235": -132, + "242": -132, + "243": -132, + "244": -132, + "245": -132, + "246": -132, + "249": -114, + "250": -114, + "251": -114, + "252": -114, + "262": -54, + "268": -54, + "283": -132, + "367": -114, + "8220": -54, + "8221": -17, + "8222": -128 + }, + "90": { "45": -17, "8220": -17, "8221": -17, "8222": -17 }, + "101": { "120": -17 }, + "102": { + "45": -54, + "46": -72, + "58": -35, + "116": -17, + "119": -17, + "121": -17, + "171": -35, + "187": -17, + "253": -17, + "255": -17, + "357": -17, + "8220": 31, + "8222": -114 + }, + "107": { + "97": -17, + "101": -35, + "111": -35, + "117": -30, + "121": -35, + "224": -17, + "225": -17, + "226": -17, + "227": -17, + "228": -17, + "229": -17, + "232": -35, + "233": -35, + "234": -35, + "235": -35, + "242": -35, + "243": -35, + "244": -35, + "245": -35, + "246": -35, + "249": -30, + "250": -30, + "251": -30, + "252": -30, + "253": -35, + "255": -35, + "283": -35, + "367": -30 + }, + "110": { "8220": -72, "8221": -54, "8222": -44 }, + "111": { + "45": 18, + "46": -17, + "120": -30, + "8220": -72, + "8221": -35, + "8222": -63 + }, + "114": { + "45": -63, + "46": -91, + "58": -17, + "99": -21, + "100": -17, + "101": -21, + "103": -17, + "104": -17, + "109": -17, + "110": -17, + "111": -21, + "113": -17, + "114": -17, + "120": -26, + "171": -35, + "231": -21, + "232": -21, + "233": -21, + "234": -21, + "235": -21, + "241": -17, + "242": -21, + "243": -21, + "244": -21, + "245": -21, + "246": -21, + "263": -21, + "269": -21, + "271": 35, + "283": -21, + "287": -17, + "328": -17, + "341": -17, + "345": -17, + "8221": 41, + "8222": -151 + }, + "118": { + "45": -26, + "46": -77, + "58": -54, + "171": -17, + "187": -17, + "8221": -17, + "8222": -132 + }, + "119": { "46": -91, "58": -54, "171": -17, "187": -17, "8222": -104 }, + "120": { + "99": -17, + "101": -30, + "111": -30, + "231": -17, + "232": -30, + "233": -30, + "234": -30, + "235": -30, + "242": -30, + "243": -30, + "244": -30, + "245": -30, + "246": -30, + "263": -17, + "269": -17, + "283": -30 + }, + "121": { + "45": -17, + "46": -142, + "58": -72, + "171": -17, + "187": -17, + "8222": -146 + }, + "171": { + "66": -17, + "67": -17, + "68": -17, + "71": -17, + "74": -17, + "84": -54, + "86": -54, + "87": -17, + "89": -72, + "118": -17, + "119": -17, + "121": -17, + "198": 73, + "199": -17, + "221": -72, + "253": -17, + "255": -17, + "262": -17, + "268": -17, + "270": -17, + "286": -17, + "356": -54, + "376": -72 + }, + "187": { + "65": -35, + "66": -35, + "67": -17, + "68": -17, + "74": -17, + "79": -17, + "84": -91, + "86": -86, + "87": -54, + "88": -54, + "89": -109, + "118": -17, + "119": -17, + "121": -17, + "192": -35, + "193": -35, + "194": -35, + "195": -35, + "196": -35, + "199": -17, + "210": -17, + "211": -17, + "212": -17, + "213": -17, + "214": -17, + "221": -109, + "253": -17, + "255": -17, + "262": -17, + "268": -17, + "270": -17, + "356": -91, + "376": -109 + }, + "192": { + "45": -21, + "46": -17, + "58": -17, + "65": 27, + "67": -17, + "71": -17, + "79": -17, + "81": -17, + "84": -77, + "86": -63, + "87": -54, + "89": -77, + "99": -17, + "100": -17, + "101": -17, + "102": -35, + "111": -17, + "113": -17, + "116": -17, + "118": -58, + "119": -40, + "121": -67, + "171": -35, + "192": 27, + "193": 27, + "194": 27, + "195": 27, + "196": 27, + "199": -17, + "210": -17, + "211": -17, + "212": -17, + "213": -17, + "214": -17, + "221": -77, + "231": -17, + "232": -17, + "233": -17, + "234": -17, + "235": -17, + "242": -17, + "243": -17, + "244": -17, + "245": -17, + "246": -17, + "253": -67, + "255": -67, + "256": 27, + "258": 27, + "260": 27, + "262": -17, + "263": -17, + "264": -17, + "266": -17, + "267": -17, + "268": -17, + "269": -17, + "271": -17, + "275": -17, + "277": -17, + "279": -17, + "281": -17, + "283": -17, + "284": -17, + "286": -17, + "288": -17, + "332": -17, + "333": -17, + "334": -17, + "335": -17, + "336": -17, + "337": -17, + "354": -77, + "355": -17, + "356": -77, + "357": -17, + "372": -54, + "373": -40, + "374": -77, + "375": -67, + "376": -77, + "558": -17, + "559": -17, + "7808": -54, + "7811": -40, + "7812": -54, + "7813": -40, + "7922": -77, + "7923": -67, + "8220": -128, + "8221": -123, + "8222": 22 + }, + "193": { + "45": -21, + "46": -17, + "58": -17, + "65": 27, + "67": -17, + "71": -17, + "79": -17, + "81": -17, + "84": -77, + "86": -63, + "87": -54, + "89": -77, + "99": -17, + "100": -17, + "101": -17, + "102": -35, + "111": -17, + "113": -17, + "116": -17, + "118": -58, + "119": -40, + "121": -67, + "171": -35, + "192": 27, + "193": 27, + "194": 27, + "195": 27, + "196": 27, + "199": -17, + "210": -17, + "211": -17, + "212": -17, + "213": -17, + "214": -17, + "221": -77, + "231": -17, + "232": -17, + "233": -17, + "234": -17, + "235": -17, + "242": -17, + "243": -17, + "244": -17, + "245": -17, + "246": -17, + "253": -67, + "255": -67, + "256": 27, + "258": 27, + "260": 27, + "262": -17, + "263": -17, + "264": -17, + "266": -17, + "267": -17, + "268": -17, + "269": -17, + "271": -17, + "275": -17, + "277": -17, + "279": -17, + "281": -17, + "283": -17, + "284": -17, + "286": -17, + "288": -17, + "332": -17, + "333": -17, + "334": -17, + "335": -17, + "336": -17, + "337": -17, + "354": -77, + "355": -17, + "356": -77, + "357": -17, + "372": -54, + "373": -40, + "374": -77, + "375": -67, + "376": -77, + "558": -17, + "559": -17, + "7808": -54, + "7810": -54, + "7811": -40, + "7812": -54, + "7813": -40, + "7922": -77, + "7923": -67, + "8220": -128, + "8221": -123, + "8222": 22 + }, + "194": { + "45": -21, + "46": -17, + "58": -17, + "65": 27, + "67": -17, + "71": -17, + "79": -17, + "81": -17, + "84": -77, + "86": -63, + "87": -54, + "89": -77, + "99": -17, + "100": -17, + "101": -17, + "102": -35, + "111": -17, + "113": -17, + "116": -17, + "118": -58, + "119": -40, + "121": -67, + "171": -35, + "192": 27, + "193": 27, + "194": 27, + "195": 27, + "196": 27, + "199": -17, + "210": -17, + "211": -17, + "212": -17, + "213": -17, + "214": -17, + "221": -77, + "231": -17, + "232": -17, + "233": -17, + "234": -17, + "235": -17, + "242": -17, + "243": -17, + "244": -17, + "245": -17, + "246": -17, + "253": -67, + "255": -67, + "256": 27, + "258": 27, + "260": 27, + "262": -17, + "263": -17, + "264": -17, + "266": -17, + "267": -17, + "268": -17, + "269": -17, + "271": -17, + "275": -17, + "277": -17, + "279": -17, + "281": -17, + "283": -17, + "284": -17, + "286": -17, + "288": -17, + "332": -17, + "333": -17, + "334": -17, + "335": -17, + "336": -17, + "337": -17, + "354": -77, + "355": -17, + "356": -77, + "357": -17, + "372": -54, + "373": -40, + "374": -77, + "375": -67, + "376": -77, + "558": -17, + "559": -17, + "7808": -54, + "7810": -54, + "7811": -40, + "7812": -54, + "7813": -40, + "7922": -77, + "7923": -67, + "8220": -128, + "8221": -123, + "8222": 22 + }, + "195": { + "45": -21, + "46": -17, + "58": -17, + "65": 27, + "67": -17, + "71": -17, + "79": -17, + "81": -17, + "84": -77, + "86": -63, + "87": -54, + "89": -77, + "99": -17, + "100": -17, + "101": -17, + "102": -35, + "111": -17, + "113": -17, + "116": -17, + "118": -58, + "119": -40, + "121": -67, + "171": -35, + "192": 27, + "193": 27, + "194": 27, + "195": 27, + "196": 27, + "199": -17, + "210": -17, + "211": -17, + "212": -17, + "213": -17, + "214": -17, + "221": -77, + "231": -17, + "232": -17, + "233": -17, + "234": -17, + "235": -17, + "242": -17, + "243": -17, + "244": -17, + "245": -17, + "246": -17, + "253": -67, + "255": -67, + "256": 27, + "258": 27, + "260": 27, + "262": -17, + "263": -17, + "264": -17, + "266": -17, + "267": -17, + "268": -17, + "269": -17, + "271": -17, + "275": -17, + "277": -17, + "279": -17, + "281": -17, + "283": -17, + "284": -17, + "286": -17, + "288": -17, + "332": -17, + "333": -17, + "334": -17, + "335": -17, + "336": -17, + "337": -17, + "354": -77, + "355": -17, + "356": -77, + "357": -17, + "372": -54, + "373": -40, + "374": -77, + "375": -67, + "376": -77, + "558": -17, + "7808": -54, + "7810": -54, + "7811": -40, + "7812": -54, + "7813": -40, + "7922": -77, + "7923": -67, + "8220": -128, + "8221": -123, + "8222": 22 + }, + "196": { + "45": -21, + "46": -17, + "58": -17, + "65": 27, + "67": -17, + "71": -17, + "79": -17, + "81": -17, + "84": -77, + "86": -63, + "87": -54, + "89": -77, + "99": -17, + "100": -17, + "101": -17, + "102": -35, + "111": -17, + "113": -17, + "116": -17, + "118": -58, + "119": -40, + "121": -67, + "171": -35, + "192": 27, + "193": 27, + "194": 27, + "195": 27, + "196": 27, + "199": -17, + "210": -17, + "211": -17, + "212": -17, + "213": -17, + "214": -17, + "221": -77, + "231": -17, + "232": -17, + "233": -17, + "234": -17, + "235": -17, + "242": -17, + "243": -17, + "244": -17, + "245": -17, + "246": -17, + "253": -67, + "255": -67, + "256": 27, + "258": 27, + "260": 27, + "262": -17, + "263": -17, + "264": -17, + "266": -17, + "267": -17, + "268": -17, + "269": -17, + "271": -17, + "275": -17, + "277": -17, + "279": -17, + "281": -17, + "283": -17, + "284": -17, + "286": -17, + "288": -17, + "332": -17, + "333": -17, + "334": -17, + "335": -17, + "336": -17, + "337": -17, + "354": -77, + "355": -17, + "356": -77, + "357": -17, + "372": -54, + "373": -40, + "374": -77, + "375": -67, + "376": -77, + "558": -17, + "559": -17, + "7808": -54, + "7810": -54, + "7811": -40, + "7812": -54, + "7813": -40, + "7922": -77, + "7923": -67, + "8220": -128, + "8221": -123, + "8222": 22 + }, + "198": { "8220": -40, "8221": -44, "8222": -54 }, + "199": { + "89": -17, + "171": -17, + "187": -17, + "221": -17, + "376": -17, + "8221": 18 + }, + "208": { + "65": -17, + "86": -17, + "89": -54, + "171": -17, + "187": -17, + "192": -17, + "193": -17, + "194": -17, + "195": -17, + "196": -17, + "221": -54, + "256": -17, + "258": -17, + "260": -17, + "374": -54, + "376": -54, + "562": -54, + "7922": -54, + "8220": -21, + "8221": -26, + "8222": -91 + }, + "210": { + "45": 27, + "46": -40, + "58": -17, + "65": -17, + "86": -17, + "88": -63, + "89": -54, + "171": -17, + "192": -17, + "193": -17, + "194": -17, + "195": -17, + "196": -17, + "221": -54, + "376": -54, + "8220": -21, + "8221": -17, + "8222": -91 + }, + "211": { + "45": 27, + "46": -40, + "58": -17, + "65": -17, + "86": -17, + "88": -63, + "89": -54, + "171": -17, + "192": -17, + "193": -17, + "194": -17, + "195": -17, + "196": -17, + "221": -54, + "376": -54, + "8220": -21, + "8221": -17, + "8222": -91 + }, + "212": { + "45": 27, + "46": -40, + "58": -17, + "65": -17, + "86": -17, + "88": -63, + "89": -54, + "171": -17, + "192": -17, + "193": -17, + "194": -17, + "195": -17, + "196": -17, + "221": -54, + "376": -54, + "8220": -21, + "8221": -17, + "8222": -91 + }, + "213": { + "45": 27, + "46": -40, + "58": -17, + "65": -17, + "86": -17, + "88": -63, + "89": -54, + "171": -17, + "192": -17, + "193": -17, + "194": -17, + "195": -17, + "196": -17, + "221": -54, + "376": -54, + "8220": -21, + "8221": -17, + "8222": -91 + }, + "214": { + "45": 27, + "46": -40, + "58": -17, + "65": -17, + "86": -17, + "88": -63, + "89": -54, + "171": -17, + "192": -17, + "193": -17, + "194": -17, + "195": -17, + "196": -17, + "221": -54, + "376": -54, + "8220": -21, + "8221": -17, + "8222": -91 + }, + "217": { "90": -17, "381": -17 }, + "218": { "90": -17, "381": -17 }, + "219": { "90": -17, "381": -17 }, + "220": { "90": -17, "381": -17 }, + "221": { + "45": -118, + "46": -202, + "58": -132, + "65": -77, + "67": -54, + "79": -54, + "97": -137, + "101": -132, + "105": -35, + "111": -132, + "117": -114, + "171": -109, + "187": -72, + "192": -77, + "193": -77, + "194": -77, + "195": -77, + "196": -77, + "199": -54, + "210": -54, + "211": -54, + "212": -54, + "213": -54, + "214": -54, + "224": -137, + "225": -137, + "226": -137, + "227": -137, + "228": -137, + "229": -137, + "232": -132, + "233": -132, + "234": -132, + "235": -132, + "242": -132, + "243": -132, + "244": -132, + "245": -132, + "246": -132, + "249": -114, + "250": -114, + "251": -114, + "252": -114, + "262": -54, + "268": -54, + "283": -132, + "367": -114, + "8220": -54, + "8221": -17, + "8222": -128 + }, + "222": { "46": -72, "58": -35, "8220": -17, "8222": -91 }, + "223": { "45": 18, "8220": -54, "8221": -54, "8222": -40 }, + "232": { "120": -17 }, + "233": { "120": -17 }, + "234": { "120": -17 }, + "235": { "120": -17 }, + "240": { "8220": -44, "8221": -54, "8222": -35 }, + "241": { "8220": -72, "8221": -54, "8222": -44 }, + "242": { + "45": 18, + "46": -17, + "120": -30, + "8220": -72, + "8221": -35, + "8222": -63 + }, + "243": { + "45": 18, + "46": -17, + "120": -30, + "8220": -72, + "8221": -35, + "8222": -63 + }, + "244": { + "45": 18, + "46": -17, + "120": -30, + "8220": -72, + "8221": -35, + "8222": -63 + }, + "245": { + "45": 18, + "46": -17, + "120": -30, + "8220": -72, + "8221": -35, + "8222": -63 + }, + "246": { + "45": 18, + "46": -17, + "120": -30, + "8220": -72, + "8221": -35, + "8222": -63 + }, + "253": { + "45": -17, + "46": -142, + "58": -72, + "171": -17, + "187": -17, + "8222": -146 + }, + "255": { + "45": -17, + "46": -142, + "58": -72, + "171": -17, + "187": -17, + "8222": -146 + }, + "256": { + "45": -21, + "46": -17, + "58": -17, + "65": 27, + "67": -17, + "71": -17, + "79": -17, + "81": -17, + "84": -77, + "86": -63, + "87": -54, + "89": -77, + "99": -17, + "100": -17, + "101": -17, + "102": -35, + "111": -17, + "113": -17, + "116": -17, + "118": -58, + "119": -40, + "121": -67, + "171": -35, + "192": 27, + "193": 27, + "194": 27, + "195": 27, + "196": 27, + "210": -17, + "211": -17, + "212": -17, + "213": -17, + "214": -17, + "221": -77, + "231": -17, + "232": -17, + "233": -17, + "234": -17, + "235": -17, + "242": -17, + "243": -17, + "244": -17, + "245": -17, + "246": -17, + "253": -67, + "255": -67, + "256": 27, + "258": 27, + "260": 27, + "262": -17, + "264": -17, + "266": -17, + "267": -17, + "268": -17, + "271": -17, + "273": -17, + "275": -17, + "277": -17, + "279": -17, + "281": -17, + "283": -17, + "284": -17, + "288": -17, + "332": -17, + "333": -17, + "334": -17, + "335": -17, + "336": -17, + "337": -17, + "354": -77, + "355": -17, + "356": -77, + "357": -17, + "372": -54, + "373": -40, + "374": -77, + "375": -67, + "376": -77, + "558": -17, + "559": -17, + "7808": -54, + "7810": -54, + "7811": -40, + "7812": -54, + "7813": -40, + "7922": -77, + "7923": -67, + "8220": -128, + "8221": -124, + "8222": 22 + }, + "258": { + "45": -21, + "46": -17, + "58": -17, + "65": 27, + "67": -17, + "71": -17, + "79": -17, + "81": -17, + "84": -77, + "86": -63, + "87": -54, + "89": -77, + "99": -17, + "100": -17, + "101": -17, + "102": -35, + "111": -17, + "113": -17, + "116": -17, + "118": -58, + "119": -40, + "121": -67, + "171": -35, + "192": 27, + "193": 27, + "194": 27, + "195": 27, + "196": 27, + "210": -17, + "211": -17, + "212": -17, + "213": -17, + "214": -17, + "221": -77, + "231": -17, + "232": -17, + "233": -17, + "234": -17, + "235": -17, + "242": -17, + "243": -17, + "244": -17, + "245": -17, + "246": -17, + "253": -67, + "255": -67, + "256": 27, + "258": 27, + "260": 27, + "262": -17, + "264": -17, + "266": -17, + "267": -17, + "268": -17, + "271": -17, + "273": -17, + "275": -17, + "277": -17, + "279": -17, + "281": -17, + "283": -17, + "284": -17, + "288": -17, + "332": -17, + "333": -17, + "334": -17, + "335": -17, + "336": -17, + "337": -17, + "354": -77, + "355": -17, + "356": -77, + "357": -17, + "372": -54, + "373": -40, + "374": -77, + "375": -67, + "376": -77, + "558": -17, + "559": -17, + "7808": -54, + "7810": -54, + "7811": -40, + "7812": -54, + "7813": -40, + "7922": -77, + "7923": -67, + "8220": -128, + "8221": -124, + "8222": 22 + }, + "260": { + "45": -21, + "46": -17, + "58": -17, + "65": 27, + "67": -17, + "71": -17, + "79": -17, + "81": -17, + "84": -77, + "86": -63, + "87": -54, + "89": -77, + "99": -17, + "100": -17, + "101": -17, + "102": -35, + "111": -17, + "113": -17, + "116": -17, + "118": -58, + "119": -40, + "171": -35, + "192": 27, + "193": 27, + "194": 27, + "195": 27, + "196": 27, + "210": -17, + "211": -17, + "212": -17, + "213": -17, + "214": -17, + "221": -77, + "231": -17, + "232": -17, + "233": -17, + "234": -17, + "235": -17, + "242": -17, + "243": -17, + "244": -17, + "245": -17, + "246": -17, + "256": 27, + "258": 27, + "260": 27, + "262": -17, + "264": -17, + "266": -17, + "267": -17, + "268": -17, + "271": -17, + "273": -17, + "275": -17, + "277": -17, + "279": -17, + "281": -17, + "283": -17, + "284": -17, + "288": -17, + "332": -17, + "333": -17, + "334": -17, + "335": -17, + "337": -17, + "354": -77, + "355": -17, + "356": -77, + "357": -17, + "372": -54, + "373": -40, + "374": -77, + "376": -77, + "558": -17, + "559": -17, + "7808": -54, + "7810": -54, + "7811": -40, + "7812": -54, + "7813": -40, + "7922": -77, + "8220": -128, + "8221": -124, + "8222": 22 + }, + "262": { + "89": -17, + "171": -17, + "187": -17, + "221": -17, + "376": -17, + "8221": 18 + }, + "268": { + "89": -17, + "171": -17, + "187": -17, + "221": -17, + "376": -17, + "8221": 18 + }, + "270": { + "65": -17, + "86": -17, + "89": -54, + "171": -17, + "187": -17, + "192": -17, + "193": -17, + "194": -17, + "195": -17, + "196": -17, + "221": -54, + "256": -17, + "258": -17, + "260": -17, + "374": -54, + "376": -54, + "562": -54, + "7922": -54, + "8220": -21, + "8221": -26, + "8222": -91 + }, + "272": { + "65": -17, + "86": -17, + "89": -54, + "171": -17, + "187": -17, + "192": -17, + "193": -17, + "194": -17, + "195": -17, + "196": -17, + "221": -54, + "376": -54, + "8220": -21, + "8221": -26, + "8222": -91 + }, + "283": { "120": -17 }, + "286": { + "84": -35, + "89": -49, + "171": -17, + "187": -17, + "221": -49, + "356": -35, + "376": -49, + "8220": -21, + "8221": -21, + "8222": -26 + }, + "313": { + "45": -17, + "65": 22, + "79": -35, + "84": -137, + "85": -49, + "86": -109, + "87": -91, + "89": -132, + "101": -17, + "111": -17, + "117": -17, + "121": -91, + "192": 22, + "193": 22, + "194": 22, + "195": 22, + "196": 22, + "210": -35, + "211": -35, + "212": -35, + "213": -35, + "214": -35, + "217": -49, + "218": -49, + "219": -49, + "220": -49, + "221": -132, + "232": -17, + "233": -17, + "234": -17, + "235": -17, + "242": -17, + "243": -17, + "244": -17, + "245": -17, + "246": -17, + "249": -17, + "250": -17, + "251": -17, + "252": -17, + "253": -91, + "255": -91, + "283": -17, + "356": -137, + "366": -49, + "367": -17, + "376": -132, + "8220": -202, + "8221": -262 + }, + "317": { + "45": -17, + "65": 22, + "79": -35, + "84": -137, + "85": -49, + "86": -109, + "87": -91, + "89": -132, + "101": -17, + "111": -17, + "117": -17, + "121": -91, + "192": 22, + "193": 22, + "194": 22, + "195": 22, + "196": 22, + "210": -35, + "211": -35, + "212": -35, + "213": -35, + "214": -35, + "217": -49, + "218": -49, + "219": -49, + "220": -49, + "221": -132, + "232": -17, + "233": -17, + "234": -17, + "235": -17, + "242": -17, + "243": -17, + "244": -17, + "245": -17, + "246": -17, + "249": -17, + "250": -17, + "251": -17, + "252": -17, + "253": -91, + "255": -91, + "283": -17, + "356": -137, + "366": -49, + "367": -17, + "376": -132, + "8220": -202, + "8221": -262 + }, + "320": { "108": -94 }, + "328": { "8220": -72, "8221": -54, "8222": -44 }, + "340": { + "45": -40, + "46": -35, + "58": -30, + "65": -40, + "67": -49, + "84": -72, + "86": -54, + "87": -40, + "89": -63, + "97": -21, + "101": -44, + "111": -44, + "117": -44, + "121": -54, + "171": -54, + "187": -17, + "192": -40, + "193": -40, + "194": -40, + "195": -40, + "196": -40, + "199": -49, + "221": -63, + "224": -21, + "225": -21, + "226": -21, + "227": -21, + "228": -21, + "229": -21, + "232": -44, + "233": -44, + "234": -44, + "235": -44, + "242": -44, + "243": -44, + "244": -44, + "245": -44, + "246": -44, + "249": -44, + "250": -44, + "251": -44, + "252": -44, + "253": -54, + "255": -54, + "262": -49, + "268": -49, + "283": -44, + "356": -72, + "367": -44, + "376": -63, + "8220": -72, + "8221": -63, + "8222": -17 + }, + "341": { + "45": -63, + "46": -91, + "58": -17, + "99": -21, + "100": -17, + "101": -21, + "103": -17, + "104": -17, + "109": -17, + "110": -17, + "111": -21, + "113": -17, + "114": -17, + "120": -26, + "171": -35, + "231": -21, + "232": -21, + "233": -21, + "234": -21, + "235": -21, + "241": -17, + "242": -21, + "243": -21, + "244": -21, + "245": -21, + "246": -21, + "263": -21, + "269": -21, + "271": 35, + "283": -21, + "287": -17, + "328": -17, + "341": -17, + "345": -17, + "8221": 41, + "8222": -151 + }, + "344": { + "45": -40, + "46": -35, + "58": -30, + "65": -40, + "67": -49, + "84": -72, + "86": -54, + "87": -40, + "89": -63, + "97": -21, + "101": -44, + "111": -44, + "117": -44, + "121": -54, + "171": -54, + "187": -17, + "192": -40, + "193": -40, + "194": -40, + "195": -40, + "196": -40, + "199": -49, + "221": -63, + "224": -21, + "225": -21, + "226": -21, + "227": -21, + "228": -21, + "229": -21, + "232": -44, + "233": -44, + "234": -44, + "235": -44, + "242": -44, + "243": -44, + "244": -44, + "245": -44, + "246": -44, + "249": -44, + "250": -44, + "251": -44, + "252": -44, + "253": -54, + "255": -54, + "262": -49, + "268": -49, + "283": -44, + "356": -72, + "367": -44, + "376": -63, + "8220": -72, + "8221": -63, + "8222": -17 + }, + "345": { + "45": -63, + "46": -91, + "58": -17, + "99": -21, + "100": -17, + "101": -21, + "103": -17, + "104": -17, + "109": -17, + "110": -17, + "111": -21, + "113": -17, + "114": -17, + "120": -26, + "171": -35, + "231": -21, + "232": -21, + "233": -21, + "234": -21, + "235": -21, + "241": -17, + "242": -21, + "243": -21, + "244": -21, + "245": -21, + "246": -21, + "263": -21, + "269": -21, + "271": -17, + "283": -21, + "287": -17, + "328": -17, + "341": -17, + "345": -17, + "8221": 41, + "8222": -151 + }, + "350": { "65": 18, "192": 18, "193": 18, "194": 18, "195": 18, "196": 18 }, + "352": { "65": 18, "192": 18, "193": 18, "194": 18, "195": 18, "196": 18 }, + "356": { + "45": -91, + "46": -118, + "58": -109, + "65": -77, + "67": -58, + "84": -17, + "97": -165, + "99": -169, + "101": -169, + "105": -30, + "111": -169, + "114": -146, + "115": -165, + "117": -151, + "119": -165, + "121": -155, + "171": -91, + "187": -54, + "192": -77, + "193": -77, + "194": -77, + "195": -77, + "196": -77, + "199": -58, + "224": -165, + "225": -165, + "226": -165, + "227": -165, + "228": -165, + "229": -165, + "231": -169, + "232": -169, + "233": -169, + "234": -169, + "235": -169, + "242": -169, + "243": -169, + "244": -169, + "245": -169, + "246": -169, + "249": -151, + "250": -151, + "251": -151, + "252": -151, + "253": -155, + "255": -155, + "262": -58, + "263": -169, + "268": -58, + "269": -169, + "283": -169, + "341": -146, + "345": -146, + "351": -165, + "353": -165, + "356": -17, + "367": -151, + "8221": -21, + "8222": -128 + }, + "366": { "90": -17, "381": -17 }, + "376": { + "45": -118, + "46": -202, + "58": -132, + "65": -77, + "67": -54, + "79": -54, + "97": -137, + "101": -132, + "105": -35, + "111": -132, + "117": -114, + "171": -109, + "187": -72, + "192": -77, + "193": -77, + "194": -77, + "195": -77, + "196": -77, + "199": -54, + "210": -54, + "211": -54, + "212": -54, + "213": -54, + "214": -54, + "224": -137, + "225": -137, + "226": -137, + "227": -137, + "228": -137, + "229": -137, + "232": -132, + "233": -132, + "234": -132, + "235": -132, + "242": -132, + "243": -132, + "244": -132, + "245": -132, + "246": -132, + "249": -114, + "250": -114, + "251": -114, + "252": -114, + "262": -54, + "268": -54, + "283": -132, + "367": -114, + "8220": -54, + "8221": -17, + "8222": -128 + }, + "381": { "45": -17, "8220": -17, "8221": -17, "8222": -17 }, + "8208": { + "65": -21, + "66": -35, + "71": 36, + "74": 55, + "79": 27, + "81": 36, + "84": -91, + "86": -58, + "87": -40, + "88": -49, + "89": -118, + "111": 18, + "118": -26, + "121": -17, + "192": -21, + "193": -21, + "194": -21, + "195": -21, + "196": -21, + "210": 27, + "211": 27, + "212": 27, + "213": 27, + "214": 27, + "221": -118, + "242": 18, + "243": 18, + "244": 18, + "245": 18, + "246": 18, + "253": -17, + "255": -17, + "286": 36, + "356": -91, + "376": -118 + }, + "8220": { + "65": -128, + "66": -30, + "67": -35, + "68": -30, + "70": -30, + "71": -35, + "72": -30, + "74": -30, + "75": -30, + "76": -30, + "79": -35, + "80": -30, + "81": -35, + "82": -30, + "88": -58, + "90": -17, + "102": -35, + "110": -54, + "111": -72, + "114": -54, + "118": -35, + "119": -35, + "121": -35, + "192": -128, + "193": -128, + "194": -128, + "195": -128, + "196": -128, + "198": -188, + "199": -35, + "210": -35, + "211": -35, + "212": -35, + "213": -35, + "214": -35, + "222": -30, + "223": -30, + "240": -35, + "241": -54, + "242": -72, + "243": -72, + "244": -72, + "245": -72, + "246": -72, + "253": -35, + "255": -35, + "262": -35, + "268": -35, + "270": -30, + "286": -35, + "313": -30, + "317": -30, + "328": -54, + "340": -30, + "341": -54, + "344": -30, + "345": -54, + "381": -17, + "42816": -30 + }, + "8222": { + "65": 18, + "66": -35, + "67": -54, + "68": -35, + "70": -35, + "71": -35, + "72": -35, + "74": 22, + "75": -35, + "76": -35, + "79": -54, + "80": -35, + "81": -54, + "82": -35, + "84": -137, + "86": -183, + "87": -123, + "88": -35, + "89": -183, + "102": -17, + "110": -35, + "111": -35, + "114": -35, + "118": -114, + "119": -95, + "121": -54, + "192": 18, + "193": 18, + "194": 18, + "195": 18, + "196": 18, + "198": 18, + "199": -54, + "210": -54, + "211": -54, + "212": -54, + "213": -54, + "214": -54, + "221": -183, + "222": -35, + "223": -35, + "240": -35, + "241": -35, + "242": -35, + "243": -35, + "244": -35, + "245": -35, + "246": -35, + "253": -54, + "255": -54, + "262": -54, + "268": -54, + "270": -35, + "286": -35, + "313": -35, + "317": -35, + "328": -35, + "340": -35, + "341": -35, + "344": -35, + "345": -35, + "356": -137, + "376": -183, + "42816": -35 + }, + "42788": { + "45": -91, + "46": -118, + "58": -109, + "65": -77, + "67": -58, + "84": -17, + "97": -165, + "99": -169, + "101": -169, + "105": -30, + "111": -169, + "114": -146, + "115": -165, + "117": -151, + "119": -165, + "121": -155, + "171": -91, + "187": -54, + "192": -77, + "193": -77, + "194": -77, + "195": -77, + "196": -77, + "199": -58, + "224": -116, + "225": -165, + "226": -116, + "227": -116, + "228": -116, + "229": -116, + "231": -169, + "232": -140, + "233": -169, + "234": -140, + "235": -140, + "242": -130, + "243": -169, + "244": -130, + "245": -130, + "246": -130, + "249": -137, + "250": -151, + "251": -137, + "252": -137, + "253": -155, + "255": -155, + "262": -58, + "263": -169, + "268": -58, + "269": -169, + "283": -169, + "341": -146, + "345": -146, + "351": -165, + "353": -165, + "356": -17, + "367": -151, + "8221": -21, + "8222": -128 + }, + "42816": { + "45": -104, + "65": -17, + "67": -54, + "79": -54, + "84": -77, + "85": -26, + "87": -35, + "89": -35, + "97": -17, + "101": -49, + "111": -49, + "117": -49, + "121": -72, + "171": -63, + "192": -17, + "193": -17, + "194": -17, + "195": -17, + "196": -17, + "199": -54, + "210": -54, + "211": -54, + "212": -54, + "213": -54, + "214": -54, + "217": -26, + "218": -26, + "219": -26, + "220": -26, + "221": -35, + "224": -17, + "225": -17, + "226": -17, + "227": -17, + "228": -17, + "229": -17, + "232": -49, + "233": -49, + "234": -49, + "235": -49, + "242": -49, + "243": -49, + "244": -49, + "245": -49, + "246": -49, + "249": -49, + "250": -49, + "251": -49, + "252": -49, + "253": -72, + "255": -72, + "262": -54, + "268": -54, + "283": -49, + "356": -77, + "366": -26, + "367": -49, + "376": -35, + "8220": -30, + "8221": -30 + }, + "42817": { + "97": -17, + "101": -35, + "111": -35, + "117": -30, + "121": -35, + "224": -17, + "225": -17, + "226": -17, + "227": -17, + "228": -17, + "229": -17, + "232": -35, + "233": -35, + "234": -35, + "235": -35, + "242": -35, + "243": -35, + "244": -35, + "245": -35, + "246": -35, + "249": -30, + "250": -30, + "251": -30, + "252": -30, + "253": -35, + "255": -35, + "283": -35, + "367": -30 + }, + "61185": { "61209": -19 }, + "61186": { "61209": -38 }, + "61187": { "61209": -45 }, + "61188": { "61209": -48 }, + "61189": { "61209": -19 }, + "61191": { "61209": -19 }, + "61192": { "61209": -38 }, + "61193": { "61209": -45 }, + "61194": { "61209": -38 }, + "61195": { "61209": -19 }, + "61197": { "61209": -19 }, + "61198": { "61209": -38 }, + "61199": { "61209": -45 }, + "61200": { "61209": -38 }, + "61201": { "61209": -19 }, + "61203": { "61209": -19 }, + "61204": { "61209": -48 }, + "61205": { "61209": -45 }, + "61206": { "61209": -38 }, + "61207": { "61209": -19 } + } +} diff --git a/pandora_console/custom/temp/dir/path/mpdf/ttfontdata/dejavuserifcondensed.cw.dat b/pandora_console/custom/temp/dir/path/mpdf/ttfontdata/dejavuserifcondensed.cw.dat new file mode 100644 index 0000000000000000000000000000000000000000..76be6335941ced9bfdc52e0836445abf772e79a3 GIT binary patch literal 131072 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 literal 0 HcmV?d00001 diff --git a/pandora_console/custom/temp/dir/path/mpdf/ttfontdata/dejavuserifcondensed.gid.dat b/pandora_console/custom/temp/dir/path/mpdf/ttfontdata/dejavuserifcondensed.gid.dat new file mode 100644 index 0000000000..e69de29bb2 diff --git a/pandora_console/custom/temp/dir/path/mpdf/ttfontdata/dejavuserifcondensed.mtx.json b/pandora_console/custom/temp/dir/path/mpdf/ttfontdata/dejavuserifcondensed.mtx.json new file mode 100644 index 0000000000..6f3292c853 --- /dev/null +++ b/pandora_console/custom/temp/dir/path/mpdf/ttfontdata/dejavuserifcondensed.mtx.json @@ -0,0 +1,1424 @@ +{ + "name": "DejaVuSerifCondensed", + "type": "TTF", + "desc": { + "CapHeight": 729, + "XHeight": 519, + "FontBBox": "[-693 -347 1512 1109]", + "Flags": 4, + "Ascent": 928, + "Descent": -236, + "Leading": 0, + "ItalicAngle": 0, + "StemV": 87, + "MissingWidth": 540 + }, + "unitsPerEm": 2048, + "up": -63, + "ut": 44, + "strp": 259, + "strs": 50, + "ttffile": "/var/www/html/pandora_console/vendor/mpdf/mpdf/src/Config/../../ttfonts/DejaVuSerifCondensed.ttf", + "TTCfontID": 0, + "originalsize": 334040, + "sip": false, + "smp": false, + "BMPselected": true, + "fontkey": "dejavuserifcondensed", + "panose": " 0 0 2 6 6 6 5 6 5 2 2 4", + "haskerninfo": true, + "haskernGPOS": false, + "hassmallcapsGSUB": false, + "fontmetrics": "win", + "useOTL": 0, + "rtlPUAstr": "", + "GSUBScriptLang": [], + "GSUBFeatures": [], + "GSUBLookups": [], + "GPOSScriptLang": [], + "GPOSFeatures": [], + "GPOSLookups": [], + "kerninfo": { + "45": { + "84": -35, + "86": -72, + "87": -54, + "88": -35, + "89": -109, + "221": -109, + "356": -35, + "376": -109 + }, + "65": { + "84": -54, + "86": -49, + "87": -40, + "89": -40, + "102": -17, + "116": -17, + "118": -40, + "119": -44, + "121": -40, + "221": -40, + "253": -40, + "255": -40, + "354": -54, + "355": -17, + "356": -54, + "357": -17, + "372": -40, + "373": -44, + "374": -40, + "375": -40, + "376": -40, + "538": -54, + "539": -17, + "562": -40, + "7808": -40, + "7809": -44, + "7810": -40, + "7811": -44, + "7812": -40, + "7813": -44, + "7922": -40, + "7923": -40, + "8217": -146, + "8221": -146, + "64256": -17, + "64257": -17, + "64258": -17 + }, + "66": { + "45": 18, + "67": 18, + "71": 18, + "79": 18, + "89": -17, + "199": 18, + "210": 18, + "211": 18, + "212": 18, + "213": 18, + "214": 18, + "216": 18, + "221": -17, + "262": 18, + "264": 18, + "266": 18, + "268": 18, + "284": 18, + "286": 18, + "288": 18, + "290": 18, + "332": 18, + "334": 18, + "336": 18, + "338": 18, + "374": -17, + "376": -17, + "490": 18, + "492": 18, + "558": 18, + "562": -17 + }, + "67": { "44": -35, "46": -35 }, + "68": { "44": -35, "45": 18, "46": -35, "86": -17 }, + "69": { "45": 18 }, + "70": { + "44": -155, + "45": -44, + "46": -155, + "58": -35, + "59": -35, + "65": -86, + "97": -67, + "101": -54, + "111": -54, + "192": -86, + "193": -86, + "194": -86, + "195": -86, + "196": -86, + "224": -67, + "225": -67, + "226": -67, + "227": -67, + "228": -67, + "229": -67, + "230": -67, + "232": -54, + "233": -54, + "234": -54, + "235": -54, + "242": -54, + "243": -54, + "244": -54, + "245": -54, + "246": -54, + "248": -54, + "256": -86, + "257": -67, + "258": -86, + "259": -67, + "260": -86, + "261": -67, + "275": -54, + "277": -54, + "279": -54, + "281": -54, + "283": -54, + "333": -54, + "335": -54, + "337": -54, + "339": -54, + "483": -67, + "491": -54, + "493": -54, + "559": -54 + }, + "71": { "44": -35, "45": 18, "46": -35, "89": -17, "221": -17, "376": -17 }, + "74": { "44": -58, "46": -77, "58": -40, "59": -40 }, + "75": { + "45": -72, + "65": -40, + "67": -26, + "79": -26, + "85": -35, + "87": -35, + "89": -26, + "101": -26, + "111": -26, + "117": -21, + "121": -63, + "192": -40, + "193": -40, + "194": -40, + "195": -40, + "196": -40, + "199": -26, + "210": -26, + "211": -26, + "212": -26, + "213": -26, + "214": -26, + "216": -26, + "217": -35, + "218": -35, + "219": -35, + "220": -35, + "221": -26, + "232": -26, + "233": -26, + "234": -26, + "235": -26, + "242": -26, + "243": -26, + "244": -26, + "245": -26, + "246": -26, + "248": -17, + "249": -21, + "250": -21, + "251": -21, + "252": -21, + "253": -63, + "255": -63, + "262": -26, + "268": -26, + "283": -26, + "338": -26, + "339": -26, + "366": -35, + "367": -21, + "376": -26 + }, + "76": { + "84": -81, + "85": -54, + "86": -118, + "87": -86, + "89": -63, + "121": -17, + "217": -54, + "218": -54, + "219": -54, + "220": -54, + "221": -63, + "253": -17, + "255": -17, + "356": -81, + "366": -54, + "376": -63, + "8217": -239, + "8221": -239 + }, + "78": { "44": -63, "46": -63, "58": -35, "59": -35 }, + "79": { "44": -58, "45": 36, "46": -58, "86": -17, "88": -17 }, + "80": { + "44": -202, + "45": -54, + "46": -202, + "58": -35, + "59": -35, + "65": -91, + "85": -17, + "97": -44, + "101": -44, + "111": -40, + "115": -26, + "192": -91, + "193": -91, + "194": -91, + "195": -91, + "196": -91, + "217": -17, + "218": -17, + "219": -17, + "220": -17, + "224": -44, + "225": -44, + "226": -44, + "227": -44, + "228": -44, + "229": -44, + "230": -44, + "232": -44, + "233": -44, + "234": -44, + "235": -44, + "242": -40, + "243": -40, + "244": -40, + "245": -40, + "246": -40, + "248": -40, + "283": -44, + "339": -40, + "351": -26, + "353": -26, + "366": -17 + }, + "81": { "44": -49, "45": 36, "46": -49, "8217": 18, "8221": 18 }, + "82": { + "84": -17, + "86": -35, + "87": -21, + "89": -30, + "97": 22, + "121": -17, + "221": -30, + "224": 22, + "225": 22, + "226": 22, + "227": 22, + "228": 22, + "229": 22, + "230": 22, + "248": 18, + "253": -17, + "255": -17, + "356": -17, + "376": -30, + "8217": -54, + "8221": -54 + }, + "83": { "44": -35, "45": 36, "46": -35, "83": -17, "350": -17, "352": -17 }, + "84": { + "44": -146, + "45": -128, + "46": -146, + "58": -35, + "59": -35, + "65": -54, + "84": 18, + "97": -77, + "99": -77, + "101": -77, + "111": -77, + "115": -72, + "119": -35, + "192": -54, + "193": -54, + "194": -54, + "195": -54, + "196": -54, + "224": -28, + "225": -77, + "226": -28, + "227": -28, + "228": -28, + "229": -28, + "230": -77, + "231": -77, + "232": -48, + "233": -77, + "234": -48, + "235": -48, + "242": -38, + "243": -77, + "244": -38, + "245": -38, + "246": -38, + "248": -77, + "263": -77, + "269": -77, + "283": -77, + "339": -77, + "351": -72, + "353": -72, + "356": 18 + }, + "85": { + "44": -91, + "45": -17, + "46": -91, + "58": -35, + "59": -35, + "65": -30, + "74": -26, + "192": -30, + "193": -30, + "194": -30, + "195": -30, + "196": -30 + }, + "86": { + "44": -174, + "45": -91, + "46": -174, + "58": -100, + "59": -100, + "65": -67, + "79": -17, + "97": -91, + "101": -91, + "105": -17, + "111": -91, + "117": -63, + "121": -40, + "192": -67, + "193": -67, + "194": -67, + "195": -67, + "196": -67, + "210": -17, + "211": -17, + "212": -17, + "213": -17, + "214": -17, + "216": -17, + "224": -91, + "225": -91, + "226": -91, + "227": -91, + "228": -91, + "229": -91, + "230": -91, + "232": -91, + "233": -91, + "234": -91, + "235": -91, + "242": -91, + "243": -91, + "244": -91, + "245": -91, + "246": -91, + "248": -91, + "249": -63, + "250": -63, + "251": -63, + "252": -63, + "253": -40, + "255": -40, + "283": -91, + "338": -17, + "339": -91, + "367": -63, + "8217": 36, + "8221": 36 + }, + "87": { + "44": -174, + "45": -72, + "46": -174, + "58": -86, + "59": -86, + "65": -49, + "97": -86, + "101": -81, + "105": -17, + "111": -67, + "114": -44, + "117": -40, + "121": -21, + "192": -49, + "193": -49, + "194": -49, + "195": -49, + "196": -49, + "224": -86, + "225": -86, + "226": -86, + "227": -86, + "228": -86, + "229": -86, + "230": -67, + "232": -81, + "233": -81, + "234": -81, + "235": -81, + "242": -67, + "243": -67, + "244": -67, + "245": -67, + "246": -67, + "248": -67, + "249": -40, + "250": -40, + "251": -40, + "252": -40, + "253": -21, + "255": -21, + "283": -81, + "339": -67, + "341": -44, + "345": -44, + "367": -40, + "8217": 18, + "8221": 18 + }, + "88": { + "45": -35, + "65": -35, + "67": -17, + "79": -17, + "192": -35, + "193": -35, + "194": -35, + "195": -35, + "196": -35, + "199": -17, + "210": -17, + "211": -17, + "212": -17, + "213": -17, + "214": -17, + "216": -17, + "262": -17, + "268": -17, + "338": -17 + }, + "89": { + "44": -128, + "45": -109, + "46": -128, + "58": -123, + "59": -123, + "65": -77, + "67": -17, + "97": -77, + "101": -86, + "105": -17, + "111": -86, + "117": -86, + "192": -77, + "193": -77, + "194": -77, + "195": -77, + "196": -77, + "199": -17, + "224": -77, + "225": -77, + "226": -77, + "227": -77, + "228": -77, + "229": -77, + "230": -95, + "232": -86, + "233": -86, + "234": -86, + "235": -86, + "242": -86, + "243": -86, + "244": -86, + "245": -86, + "246": -86, + "248": -86, + "249": -86, + "250": -86, + "251": -86, + "252": -86, + "262": -17, + "268": -17, + "283": -86, + "339": -104, + "367": -86 + }, + "90": { "44": -17, "46": -17 }, + "102": { + "44": -35, + "45": -35, + "46": -35, + "8217": 73, + "8220": 18, + "8221": 73 + }, + "107": { "45": -17 }, + "111": { "46": -17 }, + "114": { "44": -109, "46": -109 }, + "118": { "44": -118, "46": -118 }, + "119": { "44": -118, "46": -118 }, + "120": { "45": -17 }, + "121": { "44": -132, "46": -132 }, + "192": { + "84": -54, + "86": -49, + "87": -40, + "89": -40, + "102": -17, + "116": -17, + "118": -40, + "119": -44, + "121": -40, + "221": -40, + "253": -40, + "255": -40, + "354": -54, + "355": -17, + "356": -54, + "357": -17, + "372": -40, + "373": -44, + "374": -40, + "375": -40, + "376": -40, + "538": -54, + "539": -17, + "562": -40, + "7808": -40, + "7809": -44, + "7810": -40, + "7811": -44, + "7812": -40, + "7813": -44, + "7922": -40, + "7923": -40, + "8217": -146, + "8221": -146, + "64256": -17, + "64257": -17, + "64258": -17 + }, + "193": { + "84": -54, + "86": -49, + "87": -40, + "89": -40, + "102": -17, + "116": -17, + "118": -40, + "119": -44, + "121": -40, + "221": -40, + "253": -40, + "255": -40, + "354": -54, + "355": -17, + "356": -54, + "357": -17, + "372": -40, + "373": -44, + "374": -40, + "375": -40, + "376": -40, + "538": -54, + "539": -17, + "562": -40, + "7808": -40, + "7809": -44, + "7810": -40, + "7811": -44, + "7812": -40, + "7813": -44, + "7922": -40, + "7923": -40, + "8217": -146, + "8221": -146, + "64256": -17, + "64257": -17, + "64258": -17 + }, + "194": { + "84": -54, + "86": -49, + "87": -40, + "89": -40, + "102": -17, + "116": -17, + "118": -40, + "119": -44, + "121": -40, + "221": -40, + "253": -40, + "255": -40, + "354": -54, + "355": -17, + "356": -54, + "357": -17, + "372": -40, + "373": -44, + "374": -40, + "375": -40, + "376": -40, + "538": -54, + "539": -17, + "562": -40, + "7808": -40, + "7809": -44, + "7810": -40, + "7811": -44, + "7812": -40, + "7813": -44, + "7922": -40, + "7923": -40, + "8217": -146, + "8221": -146, + "64256": -17, + "64257": -17, + "64258": -17 + }, + "195": { + "84": -54, + "86": -49, + "87": -40, + "89": -40, + "102": -17, + "116": -17, + "118": -40, + "119": -44, + "121": -40, + "221": -40, + "253": -40, + "255": -40, + "354": -54, + "355": -17, + "356": -54, + "357": -17, + "372": -40, + "373": -44, + "374": -40, + "375": -40, + "376": -40, + "538": -54, + "539": -17, + "562": -40, + "7808": -40, + "7809": -44, + "7810": -40, + "7811": -44, + "7812": -40, + "7813": -44, + "7922": -40, + "7923": -40, + "8217": -146, + "8221": -146, + "64256": -17, + "64257": -17, + "64258": -17 + }, + "196": { + "84": -54, + "86": -49, + "87": -40, + "89": -40, + "102": -17, + "116": -17, + "118": -40, + "119": -44, + "121": -40, + "221": -40, + "253": -40, + "255": -40, + "354": -54, + "355": -17, + "356": -54, + "357": -17, + "372": -40, + "373": -44, + "374": -40, + "375": -40, + "376": -40, + "538": -54, + "539": -17, + "562": -40, + "7808": -40, + "7809": -44, + "7810": -40, + "7811": -44, + "7812": -40, + "7813": -44, + "7922": -40, + "7923": -40, + "8217": -146, + "8221": -146, + "64256": -17, + "64257": -17, + "64258": -17 + }, + "198": { "45": 18 }, + "199": { "44": -35, "46": -35 }, + "200": { "45": 18 }, + "201": { "45": 18 }, + "202": { "45": 18 }, + "203": { "45": 18 }, + "208": { + "44": -35, + "45": 36, + "46": -35, + "65": -17, + "86": -17, + "89": -17, + "192": -17, + "193": -17, + "194": -17, + "195": -17, + "196": -17, + "221": -17, + "376": -17 + }, + "209": { "44": -63, "46": -63, "58": -35, "59": -35 }, + "210": { "44": -58, "45": 36, "46": -58, "86": -17, "88": -17 }, + "211": { "44": -58, "45": 36, "46": -58, "86": -17, "88": -17 }, + "212": { "44": -58, "45": 36, "46": -58, "86": -17, "88": -17 }, + "213": { "44": -58, "45": 36, "46": -58, "86": -17, "88": -17 }, + "214": { "44": -58, "45": 36, "46": -58, "86": -17, "88": -17 }, + "216": { "44": -58, "45": 36, "46": -58, "86": -17, "88": -17 }, + "217": { + "44": -91, + "45": -17, + "46": -91, + "58": -35, + "59": -35, + "65": -30, + "74": -26, + "192": -30, + "193": -30, + "194": -30, + "195": -30, + "196": -30 + }, + "218": { + "44": -91, + "45": -17, + "46": -91, + "58": -35, + "59": -35, + "65": -30, + "74": -26, + "192": -30, + "193": -30, + "194": -30, + "195": -30, + "196": -30 + }, + "219": { + "44": -91, + "45": -17, + "46": -91, + "58": -35, + "59": -35, + "65": -30, + "74": -26, + "192": -30, + "193": -30, + "194": -30, + "195": -30, + "196": -30 + }, + "220": { + "44": -91, + "45": -17, + "46": -91, + "58": -35, + "59": -35, + "65": -30, + "74": -26, + "192": -30, + "193": -30, + "194": -30, + "195": -30, + "196": -30 + }, + "221": { + "44": -128, + "45": -109, + "46": -128, + "58": -123, + "59": -123, + "65": -77, + "67": -17, + "97": -77, + "101": -86, + "105": -17, + "111": -86, + "117": -86, + "192": -77, + "193": -77, + "194": -77, + "195": -77, + "196": -77, + "199": -17, + "224": -77, + "225": -77, + "226": -77, + "227": -77, + "228": -77, + "229": -77, + "230": -95, + "232": -86, + "233": -86, + "234": -86, + "235": -86, + "242": -86, + "243": -86, + "244": -86, + "245": -86, + "246": -86, + "248": -86, + "249": -86, + "250": -86, + "251": -86, + "252": -86, + "262": -17, + "268": -17, + "283": -86, + "339": -104, + "367": -86 + }, + "222": { "44": -165, "45": 18, "46": -165 }, + "240": { "46": -17 }, + "242": { "46": -17 }, + "243": { "46": -17 }, + "244": { "46": -17 }, + "245": { "46": -17 }, + "246": { "46": -17 }, + "248": { "46": -17 }, + "253": { "44": -132, "46": -132 }, + "254": { "44": -17, "46": -49 }, + "255": { "44": -132, "46": -132 }, + "256": { + "84": -54, + "86": -49, + "87": -40, + "89": -40, + "102": -17, + "116": -17, + "118": -40, + "119": -44, + "121": -40, + "221": -40, + "253": -40, + "255": -40, + "354": -54, + "355": -17, + "356": -54, + "357": -17, + "372": -40, + "373": -44, + "374": -40, + "375": -40, + "376": -40, + "538": -54, + "539": -17, + "562": -40, + "7808": -40, + "7809": -44, + "7810": -40, + "7811": -44, + "7812": -40, + "7813": -44, + "7922": -40, + "7923": -40, + "8217": -146, + "8221": -146, + "64256": -17, + "64257": -17, + "64258": -17 + }, + "258": { + "84": -54, + "86": -49, + "87": -40, + "89": -40, + "102": -17, + "116": -17, + "118": -40, + "119": -44, + "121": -40, + "221": -40, + "253": -40, + "255": -40, + "354": -54, + "355": -17, + "356": -54, + "357": -17, + "372": -40, + "373": -44, + "374": -40, + "375": -40, + "376": -40, + "538": -54, + "539": -17, + "562": -40, + "7808": -40, + "7809": -44, + "7810": -40, + "7811": -44, + "7812": -40, + "7813": -44, + "7922": -40, + "7923": -40, + "8217": -146, + "8221": -146, + "64256": -17, + "64257": -17, + "64258": -17 + }, + "260": { + "84": -54, + "86": -49, + "87": -40, + "89": -40, + "102": -17, + "116": -17, + "118": -40, + "119": -44, + "121": -40, + "221": -40, + "253": -40, + "255": -40, + "354": -54, + "355": -17, + "356": -54, + "357": -17, + "372": -40, + "373": -44, + "374": -40, + "375": -40, + "376": -40, + "538": -54, + "539": -17, + "562": -40, + "7808": -40, + "7809": -44, + "7810": -40, + "7811": -44, + "7812": -40, + "7813": -44, + "7922": -40, + "7923": -40, + "8217": -146, + "8221": -146, + "64256": -17, + "64257": -17, + "64258": -17 + }, + "262": { "44": -35, "46": -35 }, + "264": { "44": -35, "46": -35 }, + "266": { "44": -35, "46": -35 }, + "268": { "44": -35, "46": -35 }, + "270": { "44": -35, "45": 18, "46": -35, "86": -17 }, + "272": { "44": -35, "45": 18, "46": -35, "86": -17 }, + "282": { "45": 18 }, + "286": { + "44": -35, + "45": 18, + "46": -35, + "89": -17, + "221": -17, + "376": -17 + }, + "313": { + "84": -81, + "85": -54, + "86": -118, + "87": -86, + "89": -63, + "121": -17, + "217": -54, + "218": -54, + "219": -54, + "220": -54, + "221": -63, + "253": -17, + "255": -17, + "356": -81, + "366": -54, + "376": -63, + "8217": -239, + "8221": -239 + }, + "317": { + "84": -81, + "85": -54, + "86": -118, + "87": -86, + "89": -63, + "121": -17, + "217": -54, + "218": -54, + "219": -54, + "220": -54, + "221": -63, + "253": -17, + "255": -17, + "356": -81, + "366": -54, + "376": -63, + "8217": -239, + "8221": -239 + }, + "320": { "108": -110 }, + "321": { + "84": -81, + "85": -17, + "86": -118, + "87": -86, + "89": -100, + "121": -17, + "217": -17, + "218": -17, + "219": -17, + "220": -17, + "221": -100, + "253": -17, + "255": -17, + "356": -81, + "366": -17, + "376": -100, + "8217": -239, + "8221": -239 + }, + "327": { "44": -63, "46": -63, "58": -35, "59": -35 }, + "338": { "45": 18 }, + "340": { + "84": -17, + "86": -35, + "87": -21, + "89": -30, + "97": 22, + "121": -17, + "221": -30, + "224": 22, + "225": 22, + "226": 22, + "227": 22, + "228": 22, + "229": 22, + "230": 22, + "248": 18, + "253": -17, + "255": -17, + "356": -17, + "376": -30, + "8217": -54, + "8221": -54 + }, + "341": { "44": -109, "46": -109 }, + "344": { + "84": -17, + "86": -35, + "87": -21, + "89": -30, + "97": 22, + "121": -17, + "221": -30, + "224": 22, + "225": 22, + "226": 22, + "227": 22, + "228": 22, + "229": 22, + "230": 22, + "248": 18, + "253": -17, + "255": -17, + "356": -17, + "376": -30, + "8217": -54, + "8221": -54 + }, + "345": { "44": -109, "46": -109 }, + "350": { + "44": -35, + "45": 36, + "46": -35, + "83": -17, + "350": -17, + "352": -17 + }, + "352": { + "44": -35, + "45": 36, + "46": -35, + "83": -17, + "350": -17, + "352": -17 + }, + "356": { + "44": -146, + "45": -128, + "46": -146, + "58": -35, + "59": -35, + "65": -54, + "84": 18, + "97": -77, + "99": -77, + "101": -77, + "111": -77, + "115": -72, + "119": -35, + "192": -54, + "193": -54, + "194": -54, + "195": -54, + "196": -54, + "224": -77, + "225": -77, + "226": -77, + "227": -77, + "228": -77, + "229": -77, + "230": -77, + "231": -77, + "232": -77, + "233": -77, + "234": -77, + "235": -77, + "242": -77, + "243": -77, + "244": -77, + "245": -77, + "246": -77, + "248": -77, + "263": -77, + "269": -77, + "283": -77, + "339": -77, + "351": -72, + "353": -72, + "356": 18 + }, + "366": { + "44": -91, + "45": -17, + "46": -91, + "58": -35, + "59": -35, + "65": -30, + "74": -26, + "192": -30, + "193": -30, + "194": -30, + "195": -30, + "196": -30 + }, + "373": { + "44": -149, + "46": -133, + "97": 53, + "99": 41, + "100": 47, + "101": 41, + "102": 107, + "103": 47, + "105": 107, + "106": 106, + "109": 61, + "110": 61, + "111": 41, + "112": 68, + "113": 47, + "114": 61, + "115": 75, + "116": 114, + "117": 70, + "118": 100, + "119": 81, + "120": 84, + "121": 100, + "122": 87, + "373": 127, + "64256": 107 + }, + "376": { + "44": -128, + "45": -109, + "46": -128, + "58": -123, + "59": -123, + "65": -77, + "67": -17, + "97": -77, + "101": -86, + "105": -17, + "111": -86, + "117": -86, + "192": -77, + "193": -77, + "194": -77, + "195": -77, + "196": -77, + "199": -17, + "224": -77, + "225": -77, + "226": -77, + "227": -77, + "228": -77, + "229": -77, + "230": -95, + "232": -86, + "233": -86, + "234": -86, + "235": -86, + "242": -86, + "243": -86, + "244": -86, + "245": -86, + "246": -86, + "248": -86, + "249": -86, + "250": -86, + "251": -86, + "252": -86, + "262": -17, + "268": -17, + "283": -86, + "339": -104, + "367": -86 + }, + "381": { "44": -17, "46": -17 }, + "699": { + "65": -128, + "74": 22, + "192": -128, + "193": -128, + "194": -128, + "195": -128, + "196": -128, + "198": -109 + }, + "8208": { + "84": -35, + "86": -72, + "87": -54, + "88": -35, + "89": -109, + "221": -109, + "356": -35, + "376": -109 + }, + "8216": { + "65": -128, + "74": 22, + "192": -128, + "193": -128, + "194": -128, + "195": -128, + "196": -128, + "198": -109 + }, + "8220": { + "65": -128, + "74": 22, + "86": 27, + "87": 27, + "88": 27, + "89": 27, + "192": -128, + "193": -128, + "194": -128, + "195": -128, + "196": -128, + "198": -146, + "221": 27, + "376": 27 + }, + "8222": { + "84": -35, + "86": -54, + "87": -35, + "88": 27, + "89": -35, + "118": -17, + "119": -17, + "221": -35, + "356": -35, + "376": -35 + }, + "42816": { + "45": -72, + "65": -40, + "67": -26, + "79": -26, + "85": -35, + "87": -35, + "89": -26, + "101": -26, + "111": -26, + "117": -21, + "121": -63, + "192": -40, + "193": -40, + "194": -40, + "195": -40, + "196": -40, + "199": -26, + "210": -26, + "211": -26, + "212": -26, + "213": -26, + "214": -26, + "216": -26, + "217": -35, + "218": -35, + "219": -35, + "220": -35, + "221": -26, + "232": -26, + "233": -26, + "234": -26, + "235": -26, + "242": -26, + "243": -26, + "244": -26, + "245": -26, + "246": -26, + "248": -17, + "249": -21, + "250": -21, + "251": -21, + "252": -21, + "253": -63, + "255": -63, + "262": -26, + "268": -26, + "283": -26, + "338": -26, + "339": -26, + "366": -35, + "367": -21, + "376": -26 + }, + "42817": { "45": -17 }, + "64256": { + "44": -35, + "45": -35, + "46": -35, + "8217": 73, + "8220": 18, + "8221": 73 + } + } +} diff --git a/pandora_console/custom/temp/dir/path/mpdf/ttfontdata/dejavuserifcondensedB.cw.dat b/pandora_console/custom/temp/dir/path/mpdf/ttfontdata/dejavuserifcondensedB.cw.dat new file mode 100644 index 0000000000000000000000000000000000000000..34beb607b771ecd3b82d35165cc9c47e0b3aa73a GIT binary patch literal 131072 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 Fdata = []; $row = []; @@ -144,7 +144,7 @@ function extension_api_checker() $row[] = html_print_input_password('password', $password, '', 50, 255, true); $table->data[] = $row; - $table2 = null; + $table2 = new stdClass(); $table2->data = []; $row = []; @@ -182,7 +182,7 @@ function extension_api_checker() $row[] = html_print_input_text('other_mode', $other_mode, '', 50, 255, true); $table2->data[] = $row; - $table3 = null; + $table3 = new stdClass(); $table3->data = []; $row = []; diff --git a/pandora_console/extensions/extension_uploader.php b/pandora_console/extensions/extension_uploader.php index 4df1c25bd1..ec54b5964c 100644 --- a/pandora_console/extensions/extension_uploader.php +++ b/pandora_console/extensions/extension_uploader.php @@ -71,7 +71,7 @@ function extension_uploader_extensions() ); } - $table = null; + $table = new stdClass(); $table->width = '100%'; $table->class = 'databox filters'; diff --git a/pandora_console/extensions/resource_exportation.php b/pandora_console/extensions/resource_exportation.php index 16201ccec0..5c6a856f1b 100755 --- a/pandora_console/extensions/resource_exportation.php +++ b/pandora_console/extensions/resource_exportation.php @@ -419,7 +419,7 @@ function resource_exportation_extension_main() echo '

'; - $table = null; + $table = new stdClass(); $table->width = '100%'; $table->style[0] = 'width: 30%;'; $table->style[1] = 'width: 10%;'; diff --git a/pandora_console/godmode/alerts/alert_list.builder.php b/pandora_console/godmode/alerts/alert_list.builder.php index f6a60fffae..c6b66cfca1 100644 --- a/pandora_console/godmode/alerts/alert_list.builder.php +++ b/pandora_console/godmode/alerts/alert_list.builder.php @@ -30,6 +30,7 @@ require_once $config['homedir'].'/include/functions_users.php'; $pure = get_parameter('pure', 0); +$table = new stdClass(); $table->id = 'add_alert_table'; $table->class = 'databox filters'; $table->width = '100%'; diff --git a/pandora_console/godmode/massive/massive_add_profiles.php b/pandora_console/godmode/massive/massive_add_profiles.php index 71a0b6777a..c2302bf9a5 100644 --- a/pandora_console/godmode/massive/massive_add_profiles.php +++ b/pandora_console/godmode/massive/massive_add_profiles.php @@ -122,8 +122,7 @@ if ($table !== null) { html_print_table($table); } -unset($table); - +$table = new stdClass(); $table->width = '100%'; $table->class = 'databox filters'; $table->data = []; diff --git a/pandora_console/godmode/modules/manage_network_components.php b/pandora_console/godmode/modules/manage_network_components.php index 4ab509dbc0..74fc3e69fa 100644 --- a/pandora_console/godmode/modules/manage_network_components.php +++ b/pandora_console/godmode/modules/manage_network_components.php @@ -737,8 +737,7 @@ if ($components === false) { $components = []; } -unset($table); - +$table = new stdClass(); $table->width = '100%'; $table->head = []; $table->class = 'info_table'; diff --git a/pandora_console/godmode/modules/manage_network_components_form_common.php b/pandora_console/godmode/modules/manage_network_components_form_common.php index c924eefb2f..56ef8e2fd1 100644 --- a/pandora_console/godmode/modules/manage_network_components_form_common.php +++ b/pandora_console/godmode/modules/manage_network_components_form_common.php @@ -25,6 +25,7 @@ if (! check_acl($config['id_user'], 0, 'PM') && ! check_acl($config['id_user'], return; } +$table = new stdClass(); $table->id = 'network_component'; $table->width = '100%'; $table->class = 'databox'; @@ -36,6 +37,7 @@ if (!enterprise_installed()) { $table->colspan[0][1] = 3; } +$table_simple = new stdClass(); $table_simple->colspan[7][1] = 4; $table_simple->colspan[8][1] = 4; $table_simple->colspan[9][1] = 4; diff --git a/pandora_console/godmode/reporting/reporting_builder.list_items.php b/pandora_console/godmode/reporting/reporting_builder.list_items.php index 45be7d1d6b..a5eb1bfbee 100755 --- a/pandora_console/godmode/reporting/reporting_builder.list_items.php +++ b/pandora_console/godmode/reporting/reporting_builder.list_items.php @@ -343,7 +343,7 @@ $countItems = db_get_sql( FROM treport_content WHERE '.$where.' AND id_report = '.$idReport ); -$table = null; +$table = new stdClass(); $table->style[0] = 'text-align: right;'; @@ -594,7 +594,7 @@ foreach ($items as $item) { - if ($style['name_label'] != '') { + if (($style['name_label'] ?? null) != '') { $text = empty($style['name_label']) ? $item['description'] : $style['name_label']; } else { if ($item['name'] == '' && $item['description'] == '') { diff --git a/pandora_console/godmode/servers/plugin.php b/pandora_console/godmode/servers/plugin.php index c247987c42..707f7493a4 100644 --- a/pandora_console/godmode/servers/plugin.php +++ b/pandora_console/godmode/servers/plugin.php @@ -68,7 +68,7 @@ if (is_ajax()) { $modules = []; } - $table = null; + $table = new stdClass(); $table->width = '100%'; $table->head[0] = __('Network Components'); $table->data = []; @@ -82,7 +82,7 @@ if (is_ajax()) { echo '
'; } - $table = null; + $table = new stdClass(); $table->width = '100%'; $table->head[0] = __('Agent'); $table->head[1] = __('Module'); diff --git a/pandora_console/include/class/HTML.class.php b/pandora_console/include/class/HTML.class.php index 46fc12829d..0b9581c7ee 100644 --- a/pandora_console/include/class/HTML.class.php +++ b/pandora_console/include/class/HTML.class.php @@ -851,11 +851,11 @@ class HTML foreach ($inputs as $input) { if (is_array(($input['arguments'] ?? null)) === true - && $input['arguments']['type'] != 'submit' + && $input['arguments']['type'] === 'submit' ) { - $output .= self::printBlock($input, true); - } else { $output_submit .= self::printBlock($input, true); + } else { + $output .= self::printBlock($input, true); } } diff --git a/pandora_console/include/functions.php b/pandora_console/include/functions.php index a35855d7b5..fe404f96db 100644 --- a/pandora_console/include/functions.php +++ b/pandora_console/include/functions.php @@ -515,6 +515,7 @@ function human_time_description_raw($seconds, $exactly=false, $units='large') if ($exactly) { $returnDate = ''; + $seconds = (float) $seconds; $years = floor($seconds / SECONDS_1YEAR); diff --git a/pandora_console/include/functions_html.php b/pandora_console/include/functions_html.php index aabdd92a36..d06e621af0 100644 --- a/pandora_console/include/functions_html.php +++ b/pandora_console/include/functions_html.php @@ -98,6 +98,13 @@ function hd($var, $file='', $oneline=false) } +function dd($var) +{ + hd($var); + die(); +} + + /** * Encapsulation (ob) for debug print function. * diff --git a/pandora_console/include/functions_reporting.php b/pandora_console/include/functions_reporting.php index 8caca733a5..2aeaa448d5 100755 --- a/pandora_console/include/functions_reporting.php +++ b/pandora_console/include/functions_reporting.php @@ -144,7 +144,7 @@ function reporting_get_name($id_report) function reporting_make_reporting_data( - $report=null, + $report, $id_report, $date, $time, @@ -157,6 +157,8 @@ function reporting_make_reporting_data( ) { global $config; + $report ??= null; + enterprise_include_once('include/functions_metaconsole.php'); $return = []; @@ -783,7 +785,7 @@ function reporting_make_reporting_data( ) ); if ($report_control['total_events'] == 0 && $content['hide_no_data'] == 1) { - continue; + break; } $report['contents'][] = $report_control; @@ -799,7 +801,7 @@ function reporting_make_reporting_data( $pdf ); if ($report_control['total_events'] == 0 && $content['hide_no_data'] == 1) { - continue; + break; } $report['contents'][] = $report_control; @@ -814,7 +816,7 @@ function reporting_make_reporting_data( $force_height_chart ); if ($report_control['total_events'] == 0 && $content['hide_no_data'] == 1) { - continue; + break; } $report['contents'][] = $report_control; @@ -6840,6 +6842,8 @@ function reporting_advanced_sla( $inclusive_downtimes=1, $sla_check_warning=false ) { + global $config; + // In content: // Example: [time_from, time_to] => Worktime // week's days => flags to manage workdays. @@ -6860,7 +6864,7 @@ function reporting_advanced_sla( // Take in mind: the "inverse" critical threshold. $inverse_interval = ($agentmodule_info['critical_inverse'] == 0) ? 1 : 0; - $inverse_interval_warning = (int) $agentmodule_info['critical_warning']; + $inverse_interval_warning = (int) ($agentmodule_info['critical_warning'] ?? null); if (!$is_string_module) { $min_value = $agentmodule_info['min_critical']; @@ -7384,7 +7388,7 @@ function reporting_advanced_sla( $worktime, $planned_downtimes, $inclusive_downtimes, - $wt_check['idx'] + ($wt_check['idx'] ?? null) ); $time_interval = $wt_check['interval']; @@ -7500,7 +7504,7 @@ function reporting_advanced_sla( } if ($inclusive_downtimes == 1) { - if ($wt_check['wt_in_downtime']) { + if (isset($wt_check['wt_in_downtime']) === true) { // Add downtime interval as // OK in inclusion mode. $total_checks++; diff --git a/pandora_console/include/functions_reporting_html.php b/pandora_console/include/functions_reporting_html.php index 34a45685d2..fb74a05440 100644 --- a/pandora_console/include/functions_reporting_html.php +++ b/pandora_console/include/functions_reporting_html.php @@ -482,11 +482,10 @@ function reporting_html_SLA($table, $item, $mini, $pdf=0) ); $style = json_decode(io_safe_output($style), true); - $same_agent_in_resume = ''; global $config; - $interval_description = $config['interval_description']; + $interval_description = ($config['interval_description'] ?? null); if ($mini === true) { $font_size = '1.5em'; @@ -2081,7 +2080,7 @@ function reporting_html_exception($table, $item, $pdf=0) } if (!empty($item['resume'])) { - $table1 = null; + $table1 = new stdClass(); $table1->width = '99%'; $table1->align = []; diff --git a/pandora_console/include/functions_ui.php b/pandora_console/include/functions_ui.php index ae4321dadd..ca6f88bdaa 100755 --- a/pandora_console/include/functions_ui.php +++ b/pandora_console/include/functions_ui.php @@ -6420,7 +6420,7 @@ function ui_print_comments($comments) $last_comment[0][0]['comment'] = $last_comment[0][0]['action']; } - $short_comment = substr($last_comment[0][0]['comment'], 0, '80px'); + $short_comment = substr($last_comment[0][0]['comment'], 0, 20); if ($config['prominent_time'] == 'timestamp') { $comentario = ''.date($config['date_format'], $last_comment[0][0]['utimestamp']).' ('.$last_comment[0][0]['id_user'].'): '.$last_comment[0][0]['comment'].''; diff --git a/pandora_console/operation/agentes/exportdata.php b/pandora_console/operation/agentes/exportdata.php index 848c459dbb..3d074519fc 100644 --- a/pandora_console/operation/agentes/exportdata.php +++ b/pandora_console/operation/agentes/exportdata.php @@ -213,6 +213,7 @@ if (!empty($export_btn) && !empty($module)) { if (empty($export_btn) || $show_form) { echo '
'; + $table = new stdClass(); $table->width = '100%'; $table->border = 0; $table->cellspacing = 3; diff --git a/pandora_console/operation/users/user_edit.php b/pandora_console/operation/users/user_edit.php index 0a682d3046..558b5addca 100644 --- a/pandora_console/operation/users/user_edit.php +++ b/pandora_console/operation/users/user_edit.php @@ -282,13 +282,14 @@ if (is_user_admin($id)) { $avatar = html_print_image('images/people_2.png', true, ['class' => 'user_avatar']); } -if ($view_mode === false) { - $table->rowspan[0][2] = 3; -} else { - $table->rowspan[0][2] = 2; +if (isset($table) === true) { + if ($view_mode === false) { + $table->rowspan = [0 => [2 => 3]]; + } else { + $table->rowspan = [0 => [2 => 2]]; + } } - $email = '
'.html_print_input_text_extended('email', $user_info['email'], 'email', '', '25', '100', $view_mode, '', ['class' => 'input', 'placeholder' => __('E-mail')], true).'
'; $phone = '
'.html_print_input_text_extended('phone', $user_info['phone'], 'phone', '', '20', '30', $view_mode, '', ['class' => 'input', 'placeholder' => __('Phone number')], true).'
'; @@ -551,13 +552,13 @@ $table_ichanges = '
'.html_print_image( - 'images/darrowright_green.png', - true, - [ - 'id' => 'right_autorefreshlist', - 'alt' => __('Push selected pages into autorefresh list'), - 'title' => __('Push selected pages into autorefresh list'), - ] + 'images/darrowright_green.png', + true, + [ + 'id' => 'right_autorefreshlist', + 'alt' => __('Push selected pages into autorefresh list'), + 'title' => __('Push selected pages into autorefresh list'), + ] ).' '.html_print_image( 'images/darrowleft_green.png', diff --git a/pandora_console/vendor/composer/ClassLoader.php b/pandora_console/vendor/composer/ClassLoader.php index 0cd6055d1b..afef3fa2ad 100644 --- a/pandora_console/vendor/composer/ClassLoader.php +++ b/pandora_console/vendor/composer/ClassLoader.php @@ -149,7 +149,7 @@ class ClassLoader /** * @return string[] Array of classname => path - * @psalm-var array + * @psalm-return array */ public function getClassMap() { diff --git a/pandora_console/vendor/composer/InstalledVersions.php b/pandora_console/vendor/composer/InstalledVersions.php new file mode 100644 index 0000000000..fc50a9f862 --- /dev/null +++ b/pandora_console/vendor/composer/InstalledVersions.php @@ -0,0 +1,350 @@ + + * Jordi Boggiano + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Composer; + +use Composer\Autoload\ClassLoader; +use Composer\Semver\VersionParser; + +/** + * This class is copied in every Composer installed project and available to all + * + * See also https://getcomposer.org/doc/07-runtime.md#installed-versions + * + * To require its presence, you can require `composer-runtime-api ^2.0` + */ +class InstalledVersions +{ + /** + * @var mixed[]|null + * @psalm-var array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array}|array{}|null + */ + private static $installed; + + /** + * @var bool|null + */ + private static $canGetVendors; + + /** + * @var array[] + * @psalm-var array}> + */ + private static $installedByVendor = array(); + + /** + * Returns a list of all package names which are present, either by being installed, replaced or provided + * + * @return string[] + * @psalm-return list + */ + public static function getInstalledPackages() + { + $packages = array(); + foreach (self::getInstalled() as $installed) { + $packages[] = array_keys($installed['versions']); + } + + if (1 === \count($packages)) { + return $packages[0]; + } + + return array_keys(array_flip(\call_user_func_array('array_merge', $packages))); + } + + /** + * Returns a list of all package names with a specific type e.g. 'library' + * + * @param string $type + * @return string[] + * @psalm-return list + */ + public static function getInstalledPackagesByType($type) + { + $packagesByType = array(); + + foreach (self::getInstalled() as $installed) { + foreach ($installed['versions'] as $name => $package) { + if (isset($package['type']) && $package['type'] === $type) { + $packagesByType[] = $name; + } + } + } + + return $packagesByType; + } + + /** + * Checks whether the given package is installed + * + * This also returns true if the package name is provided or replaced by another package + * + * @param string $packageName + * @param bool $includeDevRequirements + * @return bool + */ + public static function isInstalled($packageName, $includeDevRequirements = true) + { + foreach (self::getInstalled() as $installed) { + if (isset($installed['versions'][$packageName])) { + return $includeDevRequirements || empty($installed['versions'][$packageName]['dev_requirement']); + } + } + + return false; + } + + /** + * Checks whether the given package satisfies a version constraint + * + * e.g. If you want to know whether version 2.3+ of package foo/bar is installed, you would call: + * + * Composer\InstalledVersions::satisfies(new VersionParser, 'foo/bar', '^2.3') + * + * @param VersionParser $parser Install composer/semver to have access to this class and functionality + * @param string $packageName + * @param string|null $constraint A version constraint to check for, if you pass one you have to make sure composer/semver is required by your package + * @return bool + */ + public static function satisfies(VersionParser $parser, $packageName, $constraint) + { + $constraint = $parser->parseConstraints($constraint); + $provided = $parser->parseConstraints(self::getVersionRanges($packageName)); + + return $provided->matches($constraint); + } + + /** + * Returns a version constraint representing all the range(s) which are installed for a given package + * + * It is easier to use this via isInstalled() with the $constraint argument if you need to check + * whether a given version of a package is installed, and not just whether it exists + * + * @param string $packageName + * @return string Version constraint usable with composer/semver + */ + public static function getVersionRanges($packageName) + { + foreach (self::getInstalled() as $installed) { + if (!isset($installed['versions'][$packageName])) { + continue; + } + + $ranges = array(); + if (isset($installed['versions'][$packageName]['pretty_version'])) { + $ranges[] = $installed['versions'][$packageName]['pretty_version']; + } + if (array_key_exists('aliases', $installed['versions'][$packageName])) { + $ranges = array_merge($ranges, $installed['versions'][$packageName]['aliases']); + } + if (array_key_exists('replaced', $installed['versions'][$packageName])) { + $ranges = array_merge($ranges, $installed['versions'][$packageName]['replaced']); + } + if (array_key_exists('provided', $installed['versions'][$packageName])) { + $ranges = array_merge($ranges, $installed['versions'][$packageName]['provided']); + } + + return implode(' || ', $ranges); + } + + throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed'); + } + + /** + * @param string $packageName + * @return string|null If the package is being replaced or provided but is not really installed, null will be returned as version, use satisfies or getVersionRanges if you need to know if a given version is present + */ + public static function getVersion($packageName) + { + foreach (self::getInstalled() as $installed) { + if (!isset($installed['versions'][$packageName])) { + continue; + } + + if (!isset($installed['versions'][$packageName]['version'])) { + return null; + } + + return $installed['versions'][$packageName]['version']; + } + + throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed'); + } + + /** + * @param string $packageName + * @return string|null If the package is being replaced or provided but is not really installed, null will be returned as version, use satisfies or getVersionRanges if you need to know if a given version is present + */ + public static function getPrettyVersion($packageName) + { + foreach (self::getInstalled() as $installed) { + if (!isset($installed['versions'][$packageName])) { + continue; + } + + if (!isset($installed['versions'][$packageName]['pretty_version'])) { + return null; + } + + return $installed['versions'][$packageName]['pretty_version']; + } + + throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed'); + } + + /** + * @param string $packageName + * @return string|null If the package is being replaced or provided but is not really installed, null will be returned as reference + */ + public static function getReference($packageName) + { + foreach (self::getInstalled() as $installed) { + if (!isset($installed['versions'][$packageName])) { + continue; + } + + if (!isset($installed['versions'][$packageName]['reference'])) { + return null; + } + + return $installed['versions'][$packageName]['reference']; + } + + throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed'); + } + + /** + * @param string $packageName + * @return string|null If the package is being replaced or provided but is not really installed, null will be returned as install path. Packages of type metapackages also have a null install path. + */ + public static function getInstallPath($packageName) + { + foreach (self::getInstalled() as $installed) { + if (!isset($installed['versions'][$packageName])) { + continue; + } + + return isset($installed['versions'][$packageName]['install_path']) ? $installed['versions'][$packageName]['install_path'] : null; + } + + throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed'); + } + + /** + * @return array + * @psalm-return array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string} + */ + public static function getRootPackage() + { + $installed = self::getInstalled(); + + return $installed[0]['root']; + } + + /** + * Returns the raw installed.php data for custom implementations + * + * @deprecated Use getAllRawData() instead which returns all datasets for all autoloaders present in the process. getRawData only returns the first dataset loaded, which may not be what you expect. + * @return array[] + * @psalm-return array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array} + */ + public static function getRawData() + { + @trigger_error('getRawData only returns the first dataset loaded, which may not be what you expect. Use getAllRawData() instead which returns all datasets for all autoloaders present in the process.', E_USER_DEPRECATED); + + if (null === self::$installed) { + // only require the installed.php file if this file is loaded from its dumped location, + // and not from its source location in the composer/composer package, see https://github.com/composer/composer/issues/9937 + if (substr(__DIR__, -8, 1) !== 'C' && is_file(__DIR__ . '/installed.php')) { + self::$installed = include __DIR__ . '/installed.php'; + } else { + self::$installed = array(); + } + } + + return self::$installed; + } + + /** + * Returns the raw data of all installed.php which are currently loaded for custom implementations + * + * @return array[] + * @psalm-return list}> + */ + public static function getAllRawData() + { + return self::getInstalled(); + } + + /** + * Lets you reload the static array from another file + * + * This is only useful for complex integrations in which a project needs to use + * this class but then also needs to execute another project's autoloader in process, + * and wants to ensure both projects have access to their version of installed.php. + * + * A typical case would be PHPUnit, where it would need to make sure it reads all + * the data it needs from this class, then call reload() with + * `require $CWD/vendor/composer/installed.php` (or similar) as input to make sure + * the project in which it runs can then also use this class safely, without + * interference between PHPUnit's dependencies and the project's dependencies. + * + * @param array[] $data A vendor/composer/installed.php data set + * @return void + * + * @psalm-param array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array} $data + */ + public static function reload($data) + { + self::$installed = $data; + self::$installedByVendor = array(); + } + + /** + * @return array[] + * @psalm-return list}> + */ + private static function getInstalled() + { + if (null === self::$canGetVendors) { + self::$canGetVendors = method_exists('Composer\Autoload\ClassLoader', 'getRegisteredLoaders'); + } + + $installed = array(); + + if (self::$canGetVendors) { + foreach (ClassLoader::getRegisteredLoaders() as $vendorDir => $loader) { + if (isset(self::$installedByVendor[$vendorDir])) { + $installed[] = self::$installedByVendor[$vendorDir]; + } elseif (is_file($vendorDir.'/composer/installed.php')) { + $installed[] = self::$installedByVendor[$vendorDir] = require $vendorDir.'/composer/installed.php'; + if (null === self::$installed && strtr($vendorDir.'/composer', '\\', '/') === strtr(__DIR__, '\\', '/')) { + self::$installed = $installed[count($installed) - 1]; + } + } + } + } + + if (null === self::$installed) { + // only require the installed.php file if this file is loaded from its dumped location, + // and not from its source location in the composer/composer package, see https://github.com/composer/composer/issues/9937 + if (substr(__DIR__, -8, 1) !== 'C' && is_file(__DIR__ . '/installed.php')) { + self::$installed = require __DIR__ . '/installed.php'; + } else { + self::$installed = array(); + } + } + $installed[] = self::$installed; + + return $installed; + } +} diff --git a/pandora_console/vendor/composer/LICENSE b/pandora_console/vendor/composer/LICENSE index f27399a042..62ecfd8d00 100644 --- a/pandora_console/vendor/composer/LICENSE +++ b/pandora_console/vendor/composer/LICENSE @@ -1,4 +1,3 @@ - Copyright (c) Nils Adermann, Jordi Boggiano Permission is hereby granted, free of charge, to any person obtaining a copy @@ -18,4 +17,3 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - diff --git a/pandora_console/vendor/composer/autoload_classmap.php b/pandora_console/vendor/composer/autoload_classmap.php index 78427b3df5..2c93018b2b 100644 --- a/pandora_console/vendor/composer/autoload_classmap.php +++ b/pandora_console/vendor/composer/autoload_classmap.php @@ -26,84 +26,103 @@ return array( 'DeepCopy\\TypeFilter\\Date\\DateIntervalFilter' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/TypeFilter/Date/DateIntervalFilter.php', 'DeepCopy\\TypeFilter\\ReplaceFilter' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/TypeFilter/ReplaceFilter.php', 'DeepCopy\\TypeFilter\\ShallowCopyFilter' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/TypeFilter/ShallowCopyFilter.php', + 'DeepCopy\\TypeFilter\\Spl\\ArrayObjectFilter' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/TypeFilter/Spl/ArrayObjectFilter.php', 'DeepCopy\\TypeFilter\\Spl\\SplDoublyLinkedList' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/TypeFilter/Spl/SplDoublyLinkedList.php', 'DeepCopy\\TypeFilter\\Spl\\SplDoublyLinkedListFilter' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/TypeFilter/Spl/SplDoublyLinkedListFilter.php', 'DeepCopy\\TypeFilter\\TypeFilter' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/TypeFilter/TypeFilter.php', 'DeepCopy\\TypeMatcher\\TypeMatcher' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/TypeMatcher/TypeMatcher.php', 'Doctrine\\Common\\Lexer\\AbstractLexer' => $vendorDir . '/doctrine/lexer/lib/Doctrine/Common/Lexer/AbstractLexer.php', - 'Egulias\\EmailValidator\\EmailLexer' => $vendorDir . '/egulias/email-validator/EmailValidator/EmailLexer.php', - 'Egulias\\EmailValidator\\EmailParser' => $vendorDir . '/egulias/email-validator/EmailValidator/EmailParser.php', - 'Egulias\\EmailValidator\\EmailValidator' => $vendorDir . '/egulias/email-validator/EmailValidator/EmailValidator.php', - 'Egulias\\EmailValidator\\Exception\\AtextAfterCFWS' => $vendorDir . '/egulias/email-validator/EmailValidator/Exception/AtextAfterCFWS.php', - 'Egulias\\EmailValidator\\Exception\\CRLFAtTheEnd' => $vendorDir . '/egulias/email-validator/EmailValidator/Exception/CRLFAtTheEnd.php', - 'Egulias\\EmailValidator\\Exception\\CRLFX2' => $vendorDir . '/egulias/email-validator/EmailValidator/Exception/CRLFX2.php', - 'Egulias\\EmailValidator\\Exception\\CRNoLF' => $vendorDir . '/egulias/email-validator/EmailValidator/Exception/CRNoLF.php', - 'Egulias\\EmailValidator\\Exception\\CharNotAllowed' => $vendorDir . '/egulias/email-validator/EmailValidator/Exception/CharNotAllowed.php', - 'Egulias\\EmailValidator\\Exception\\CommaInDomain' => $vendorDir . '/egulias/email-validator/EmailValidator/Exception/CommaInDomain.php', - 'Egulias\\EmailValidator\\Exception\\ConsecutiveAt' => $vendorDir . '/egulias/email-validator/EmailValidator/Exception/ConsecutiveAt.php', - 'Egulias\\EmailValidator\\Exception\\ConsecutiveDot' => $vendorDir . '/egulias/email-validator/EmailValidator/Exception/ConsecutiveDot.php', - 'Egulias\\EmailValidator\\Exception\\DomainHyphened' => $vendorDir . '/egulias/email-validator/EmailValidator/Exception/DomainHyphened.php', - 'Egulias\\EmailValidator\\Exception\\DotAtEnd' => $vendorDir . '/egulias/email-validator/EmailValidator/Exception/DotAtEnd.php', - 'Egulias\\EmailValidator\\Exception\\DotAtStart' => $vendorDir . '/egulias/email-validator/EmailValidator/Exception/DotAtStart.php', - 'Egulias\\EmailValidator\\Exception\\ExpectingAT' => $vendorDir . '/egulias/email-validator/EmailValidator/Exception/ExpectingAT.php', - 'Egulias\\EmailValidator\\Exception\\ExpectingATEXT' => $vendorDir . '/egulias/email-validator/EmailValidator/Exception/ExpectingATEXT.php', - 'Egulias\\EmailValidator\\Exception\\ExpectingCTEXT' => $vendorDir . '/egulias/email-validator/EmailValidator/Exception/ExpectingCTEXT.php', - 'Egulias\\EmailValidator\\Exception\\ExpectingDTEXT' => $vendorDir . '/egulias/email-validator/EmailValidator/Exception/ExpectingDTEXT.php', - 'Egulias\\EmailValidator\\Exception\\ExpectingDomainLiteralClose' => $vendorDir . '/egulias/email-validator/EmailValidator/Exception/ExpectingDomainLiteralClose.php', - 'Egulias\\EmailValidator\\Exception\\InvalidEmail' => $vendorDir . '/egulias/email-validator/EmailValidator/Exception/InvalidEmail.php', - 'Egulias\\EmailValidator\\Exception\\NoDNSRecord' => $vendorDir . '/egulias/email-validator/EmailValidator/Exception/NoDNSRecord.php', - 'Egulias\\EmailValidator\\Exception\\NoDomainPart' => $vendorDir . '/egulias/email-validator/EmailValidator/Exception/NoDomainPart.php', - 'Egulias\\EmailValidator\\Exception\\NoLocalPart' => $vendorDir . '/egulias/email-validator/EmailValidator/Exception/NoLocalPart.php', - 'Egulias\\EmailValidator\\Exception\\UnclosedComment' => $vendorDir . '/egulias/email-validator/EmailValidator/Exception/UnclosedComment.php', - 'Egulias\\EmailValidator\\Exception\\UnclosedQuotedString' => $vendorDir . '/egulias/email-validator/EmailValidator/Exception/UnclosedQuotedString.php', - 'Egulias\\EmailValidator\\Exception\\UnopenedComment' => $vendorDir . '/egulias/email-validator/EmailValidator/Exception/UnopenedComment.php', - 'Egulias\\EmailValidator\\Parser\\DomainPart' => $vendorDir . '/egulias/email-validator/EmailValidator/Parser/DomainPart.php', - 'Egulias\\EmailValidator\\Parser\\LocalPart' => $vendorDir . '/egulias/email-validator/EmailValidator/Parser/LocalPart.php', - 'Egulias\\EmailValidator\\Parser\\Parser' => $vendorDir . '/egulias/email-validator/EmailValidator/Parser/Parser.php', - 'Egulias\\EmailValidator\\Validation\\DNSCheckValidation' => $vendorDir . '/egulias/email-validator/EmailValidator/Validation/DNSCheckValidation.php', - 'Egulias\\EmailValidator\\Validation\\EmailValidation' => $vendorDir . '/egulias/email-validator/EmailValidator/Validation/EmailValidation.php', - 'Egulias\\EmailValidator\\Validation\\Error\\RFCWarnings' => $vendorDir . '/egulias/email-validator/EmailValidator/Validation/Error/RFCWarnings.php', - 'Egulias\\EmailValidator\\Validation\\Error\\SpoofEmail' => $vendorDir . '/egulias/email-validator/EmailValidator/Validation/Error/SpoofEmail.php', - 'Egulias\\EmailValidator\\Validation\\Exception\\EmptyValidationList' => $vendorDir . '/egulias/email-validator/EmailValidator/Validation/Exception/EmptyValidationList.php', - 'Egulias\\EmailValidator\\Validation\\MultipleErrors' => $vendorDir . '/egulias/email-validator/EmailValidator/Validation/MultipleErrors.php', - 'Egulias\\EmailValidator\\Validation\\MultipleValidationWithAnd' => $vendorDir . '/egulias/email-validator/EmailValidator/Validation/MultipleValidationWithAnd.php', - 'Egulias\\EmailValidator\\Validation\\NoRFCWarningsValidation' => $vendorDir . '/egulias/email-validator/EmailValidator/Validation/NoRFCWarningsValidation.php', - 'Egulias\\EmailValidator\\Validation\\RFCValidation' => $vendorDir . '/egulias/email-validator/EmailValidator/Validation/RFCValidation.php', - 'Egulias\\EmailValidator\\Validation\\SpoofCheckValidation' => $vendorDir . '/egulias/email-validator/EmailValidator/Validation/SpoofCheckValidation.php', - 'Egulias\\EmailValidator\\Warning\\AddressLiteral' => $vendorDir . '/egulias/email-validator/EmailValidator/Warning/AddressLiteral.php', - 'Egulias\\EmailValidator\\Warning\\CFWSNearAt' => $vendorDir . '/egulias/email-validator/EmailValidator/Warning/CFWSNearAt.php', - 'Egulias\\EmailValidator\\Warning\\CFWSWithFWS' => $vendorDir . '/egulias/email-validator/EmailValidator/Warning/CFWSWithFWS.php', - 'Egulias\\EmailValidator\\Warning\\Comment' => $vendorDir . '/egulias/email-validator/EmailValidator/Warning/Comment.php', - 'Egulias\\EmailValidator\\Warning\\DeprecatedComment' => $vendorDir . '/egulias/email-validator/EmailValidator/Warning/DeprecatedComment.php', - 'Egulias\\EmailValidator\\Warning\\DomainLiteral' => $vendorDir . '/egulias/email-validator/EmailValidator/Warning/DomainLiteral.php', - 'Egulias\\EmailValidator\\Warning\\DomainTooLong' => $vendorDir . '/egulias/email-validator/EmailValidator/Warning/DomainTooLong.php', - 'Egulias\\EmailValidator\\Warning\\EmailTooLong' => $vendorDir . '/egulias/email-validator/EmailValidator/Warning/EmailTooLong.php', - 'Egulias\\EmailValidator\\Warning\\IPV6BadChar' => $vendorDir . '/egulias/email-validator/EmailValidator/Warning/IPV6BadChar.php', - 'Egulias\\EmailValidator\\Warning\\IPV6ColonEnd' => $vendorDir . '/egulias/email-validator/EmailValidator/Warning/IPV6ColonEnd.php', - 'Egulias\\EmailValidator\\Warning\\IPV6ColonStart' => $vendorDir . '/egulias/email-validator/EmailValidator/Warning/IPV6ColonStart.php', - 'Egulias\\EmailValidator\\Warning\\IPV6Deprecated' => $vendorDir . '/egulias/email-validator/EmailValidator/Warning/IPV6Deprecated.php', - 'Egulias\\EmailValidator\\Warning\\IPV6DoubleColon' => $vendorDir . '/egulias/email-validator/EmailValidator/Warning/IPV6DoubleColon.php', - 'Egulias\\EmailValidator\\Warning\\IPV6GroupCount' => $vendorDir . '/egulias/email-validator/EmailValidator/Warning/IPV6GroupCount.php', - 'Egulias\\EmailValidator\\Warning\\IPV6MaxGroups' => $vendorDir . '/egulias/email-validator/EmailValidator/Warning/IPV6MaxGroups.php', - 'Egulias\\EmailValidator\\Warning\\LabelTooLong' => $vendorDir . '/egulias/email-validator/EmailValidator/Warning/LabelTooLong.php', - 'Egulias\\EmailValidator\\Warning\\LocalTooLong' => $vendorDir . '/egulias/email-validator/EmailValidator/Warning/LocalTooLong.php', - 'Egulias\\EmailValidator\\Warning\\NoDNSMXRecord' => $vendorDir . '/egulias/email-validator/EmailValidator/Warning/NoDNSMXRecord.php', - 'Egulias\\EmailValidator\\Warning\\ObsoleteDTEXT' => $vendorDir . '/egulias/email-validator/EmailValidator/Warning/ObsoleteDTEXT.php', - 'Egulias\\EmailValidator\\Warning\\QuotedPart' => $vendorDir . '/egulias/email-validator/EmailValidator/Warning/QuotedPart.php', - 'Egulias\\EmailValidator\\Warning\\QuotedString' => $vendorDir . '/egulias/email-validator/EmailValidator/Warning/QuotedString.php', - 'Egulias\\EmailValidator\\Warning\\TLD' => $vendorDir . '/egulias/email-validator/EmailValidator/Warning/TLD.php', - 'Egulias\\EmailValidator\\Warning\\Warning' => $vendorDir . '/egulias/email-validator/EmailValidator/Warning/Warning.php', - 'Enterprise\\Models\\VisualConsole\\Items\\Service' => $baseDir . '/enterprise/include/rest-api/models/VisualConsole/Items/Service.php', - 'FPDF_TPL' => $vendorDir . '/setasign/fpdi/fpdf_tpl.php', - 'FPDI' => $vendorDir . '/setasign/fpdi/fpdi.php', - 'FilterASCII85' => $vendorDir . '/setasign/fpdi/filters/FilterASCII85.php', - 'FilterASCIIHexDecode' => $vendorDir . '/setasign/fpdi/filters/FilterASCIIHexDecode.php', - 'FilterLZW' => $vendorDir . '/setasign/fpdi/filters/FilterLZW.php', + 'Egulias\\EmailValidator\\EmailLexer' => $vendorDir . '/egulias/email-validator/src/EmailLexer.php', + 'Egulias\\EmailValidator\\EmailParser' => $vendorDir . '/egulias/email-validator/src/EmailParser.php', + 'Egulias\\EmailValidator\\EmailValidator' => $vendorDir . '/egulias/email-validator/src/EmailValidator.php', + 'Egulias\\EmailValidator\\MessageIDParser' => $vendorDir . '/egulias/email-validator/src/MessageIDParser.php', + 'Egulias\\EmailValidator\\Parser' => $vendorDir . '/egulias/email-validator/src/Parser.php', + 'Egulias\\EmailValidator\\Parser\\Comment' => $vendorDir . '/egulias/email-validator/src/Parser/Comment.php', + 'Egulias\\EmailValidator\\Parser\\CommentStrategy\\CommentStrategy' => $vendorDir . '/egulias/email-validator/src/Parser/CommentStrategy/CommentStrategy.php', + 'Egulias\\EmailValidator\\Parser\\CommentStrategy\\DomainComment' => $vendorDir . '/egulias/email-validator/src/Parser/CommentStrategy/DomainComment.php', + 'Egulias\\EmailValidator\\Parser\\CommentStrategy\\LocalComment' => $vendorDir . '/egulias/email-validator/src/Parser/CommentStrategy/LocalComment.php', + 'Egulias\\EmailValidator\\Parser\\DomainLiteral' => $vendorDir . '/egulias/email-validator/src/Parser/DomainLiteral.php', + 'Egulias\\EmailValidator\\Parser\\DomainPart' => $vendorDir . '/egulias/email-validator/src/Parser/DomainPart.php', + 'Egulias\\EmailValidator\\Parser\\DoubleQuote' => $vendorDir . '/egulias/email-validator/src/Parser/DoubleQuote.php', + 'Egulias\\EmailValidator\\Parser\\FoldingWhiteSpace' => $vendorDir . '/egulias/email-validator/src/Parser/FoldingWhiteSpace.php', + 'Egulias\\EmailValidator\\Parser\\IDLeftPart' => $vendorDir . '/egulias/email-validator/src/Parser/IDLeftPart.php', + 'Egulias\\EmailValidator\\Parser\\IDRightPart' => $vendorDir . '/egulias/email-validator/src/Parser/IDRightPart.php', + 'Egulias\\EmailValidator\\Parser\\LocalPart' => $vendorDir . '/egulias/email-validator/src/Parser/LocalPart.php', + 'Egulias\\EmailValidator\\Parser\\PartParser' => $vendorDir . '/egulias/email-validator/src/Parser/PartParser.php', + 'Egulias\\EmailValidator\\Result\\InvalidEmail' => $vendorDir . '/egulias/email-validator/src/Result/InvalidEmail.php', + 'Egulias\\EmailValidator\\Result\\MultipleErrors' => $vendorDir . '/egulias/email-validator/src/Result/MultipleErrors.php', + 'Egulias\\EmailValidator\\Result\\Reason\\AtextAfterCFWS' => $vendorDir . '/egulias/email-validator/src/Result/Reason/AtextAfterCFWS.php', + 'Egulias\\EmailValidator\\Result\\Reason\\CRLFAtTheEnd' => $vendorDir . '/egulias/email-validator/src/Result/Reason/CRLFAtTheEnd.php', + 'Egulias\\EmailValidator\\Result\\Reason\\CRLFX2' => $vendorDir . '/egulias/email-validator/src/Result/Reason/CRLFX2.php', + 'Egulias\\EmailValidator\\Result\\Reason\\CRNoLF' => $vendorDir . '/egulias/email-validator/src/Result/Reason/CRNoLF.php', + 'Egulias\\EmailValidator\\Result\\Reason\\CharNotAllowed' => $vendorDir . '/egulias/email-validator/src/Result/Reason/CharNotAllowed.php', + 'Egulias\\EmailValidator\\Result\\Reason\\CommaInDomain' => $vendorDir . '/egulias/email-validator/src/Result/Reason/CommaInDomain.php', + 'Egulias\\EmailValidator\\Result\\Reason\\CommentsInIDRight' => $vendorDir . '/egulias/email-validator/src/Result/Reason/CommentsInIDRight.php', + 'Egulias\\EmailValidator\\Result\\Reason\\ConsecutiveAt' => $vendorDir . '/egulias/email-validator/src/Result/Reason/ConsecutiveAt.php', + 'Egulias\\EmailValidator\\Result\\Reason\\ConsecutiveDot' => $vendorDir . '/egulias/email-validator/src/Result/Reason/ConsecutiveDot.php', + 'Egulias\\EmailValidator\\Result\\Reason\\DetailedReason' => $vendorDir . '/egulias/email-validator/src/Result/Reason/DetailedReason.php', + 'Egulias\\EmailValidator\\Result\\Reason\\DomainAcceptsNoMail' => $vendorDir . '/egulias/email-validator/src/Result/Reason/DomainAcceptsNoMail.php', + 'Egulias\\EmailValidator\\Result\\Reason\\DomainHyphened' => $vendorDir . '/egulias/email-validator/src/Result/Reason/DomainHyphened.php', + 'Egulias\\EmailValidator\\Result\\Reason\\DomainTooLong' => $vendorDir . '/egulias/email-validator/src/Result/Reason/DomainTooLong.php', + 'Egulias\\EmailValidator\\Result\\Reason\\DotAtEnd' => $vendorDir . '/egulias/email-validator/src/Result/Reason/DotAtEnd.php', + 'Egulias\\EmailValidator\\Result\\Reason\\DotAtStart' => $vendorDir . '/egulias/email-validator/src/Result/Reason/DotAtStart.php', + 'Egulias\\EmailValidator\\Result\\Reason\\EmptyReason' => $vendorDir . '/egulias/email-validator/src/Result/Reason/EmptyReason.php', + 'Egulias\\EmailValidator\\Result\\Reason\\ExceptionFound' => $vendorDir . '/egulias/email-validator/src/Result/Reason/ExceptionFound.php', + 'Egulias\\EmailValidator\\Result\\Reason\\ExpectingATEXT' => $vendorDir . '/egulias/email-validator/src/Result/Reason/ExpectingATEXT.php', + 'Egulias\\EmailValidator\\Result\\Reason\\ExpectingCTEXT' => $vendorDir . '/egulias/email-validator/src/Result/Reason/ExpectingCTEXT.php', + 'Egulias\\EmailValidator\\Result\\Reason\\ExpectingDTEXT' => $vendorDir . '/egulias/email-validator/src/Result/Reason/ExpectingDTEXT.php', + 'Egulias\\EmailValidator\\Result\\Reason\\ExpectingDomainLiteralClose' => $vendorDir . '/egulias/email-validator/src/Result/Reason/ExpectingDomainLiteralClose.php', + 'Egulias\\EmailValidator\\Result\\Reason\\LabelTooLong' => $vendorDir . '/egulias/email-validator/src/Result/Reason/LabelTooLong.php', + 'Egulias\\EmailValidator\\Result\\Reason\\LocalOrReservedDomain' => $vendorDir . '/egulias/email-validator/src/Result/Reason/LocalOrReservedDomain.php', + 'Egulias\\EmailValidator\\Result\\Reason\\NoDNSRecord' => $vendorDir . '/egulias/email-validator/src/Result/Reason/NoDNSRecord.php', + 'Egulias\\EmailValidator\\Result\\Reason\\NoDomainPart' => $vendorDir . '/egulias/email-validator/src/Result/Reason/NoDomainPart.php', + 'Egulias\\EmailValidator\\Result\\Reason\\NoLocalPart' => $vendorDir . '/egulias/email-validator/src/Result/Reason/NoLocalPart.php', + 'Egulias\\EmailValidator\\Result\\Reason\\RFCWarnings' => $vendorDir . '/egulias/email-validator/src/Result/Reason/RFCWarnings.php', + 'Egulias\\EmailValidator\\Result\\Reason\\Reason' => $vendorDir . '/egulias/email-validator/src/Result/Reason/Reason.php', + 'Egulias\\EmailValidator\\Result\\Reason\\SpoofEmail' => $vendorDir . '/egulias/email-validator/src/Result/Reason/SpoofEmail.php', + 'Egulias\\EmailValidator\\Result\\Reason\\UnOpenedComment' => $vendorDir . '/egulias/email-validator/src/Result/Reason/UnOpenedComment.php', + 'Egulias\\EmailValidator\\Result\\Reason\\UnableToGetDNSRecord' => $vendorDir . '/egulias/email-validator/src/Result/Reason/UnableToGetDNSRecord.php', + 'Egulias\\EmailValidator\\Result\\Reason\\UnclosedComment' => $vendorDir . '/egulias/email-validator/src/Result/Reason/UnclosedComment.php', + 'Egulias\\EmailValidator\\Result\\Reason\\UnclosedQuotedString' => $vendorDir . '/egulias/email-validator/src/Result/Reason/UnclosedQuotedString.php', + 'Egulias\\EmailValidator\\Result\\Reason\\UnusualElements' => $vendorDir . '/egulias/email-validator/src/Result/Reason/UnusualElements.php', + 'Egulias\\EmailValidator\\Result\\Result' => $vendorDir . '/egulias/email-validator/src/Result/Result.php', + 'Egulias\\EmailValidator\\Result\\SpoofEmail' => $vendorDir . '/egulias/email-validator/src/Result/SpoofEmail.php', + 'Egulias\\EmailValidator\\Result\\ValidEmail' => $vendorDir . '/egulias/email-validator/src/Result/ValidEmail.php', + 'Egulias\\EmailValidator\\Validation\\DNSCheckValidation' => $vendorDir . '/egulias/email-validator/src/Validation/DNSCheckValidation.php', + 'Egulias\\EmailValidator\\Validation\\EmailValidation' => $vendorDir . '/egulias/email-validator/src/Validation/EmailValidation.php', + 'Egulias\\EmailValidator\\Validation\\Exception\\EmptyValidationList' => $vendorDir . '/egulias/email-validator/src/Validation/Exception/EmptyValidationList.php', + 'Egulias\\EmailValidator\\Validation\\Extra\\SpoofCheckValidation' => $vendorDir . '/egulias/email-validator/src/Validation/Extra/SpoofCheckValidation.php', + 'Egulias\\EmailValidator\\Validation\\MessageIDValidation' => $vendorDir . '/egulias/email-validator/src/Validation/MessageIDValidation.php', + 'Egulias\\EmailValidator\\Validation\\MultipleValidationWithAnd' => $vendorDir . '/egulias/email-validator/src/Validation/MultipleValidationWithAnd.php', + 'Egulias\\EmailValidator\\Validation\\NoRFCWarningsValidation' => $vendorDir . '/egulias/email-validator/src/Validation/NoRFCWarningsValidation.php', + 'Egulias\\EmailValidator\\Validation\\RFCValidation' => $vendorDir . '/egulias/email-validator/src/Validation/RFCValidation.php', + 'Egulias\\EmailValidator\\Warning\\AddressLiteral' => $vendorDir . '/egulias/email-validator/src/Warning/AddressLiteral.php', + 'Egulias\\EmailValidator\\Warning\\CFWSNearAt' => $vendorDir . '/egulias/email-validator/src/Warning/CFWSNearAt.php', + 'Egulias\\EmailValidator\\Warning\\CFWSWithFWS' => $vendorDir . '/egulias/email-validator/src/Warning/CFWSWithFWS.php', + 'Egulias\\EmailValidator\\Warning\\Comment' => $vendorDir . '/egulias/email-validator/src/Warning/Comment.php', + 'Egulias\\EmailValidator\\Warning\\DeprecatedComment' => $vendorDir . '/egulias/email-validator/src/Warning/DeprecatedComment.php', + 'Egulias\\EmailValidator\\Warning\\DomainLiteral' => $vendorDir . '/egulias/email-validator/src/Warning/DomainLiteral.php', + 'Egulias\\EmailValidator\\Warning\\EmailTooLong' => $vendorDir . '/egulias/email-validator/src/Warning/EmailTooLong.php', + 'Egulias\\EmailValidator\\Warning\\IPV6BadChar' => $vendorDir . '/egulias/email-validator/src/Warning/IPV6BadChar.php', + 'Egulias\\EmailValidator\\Warning\\IPV6ColonEnd' => $vendorDir . '/egulias/email-validator/src/Warning/IPV6ColonEnd.php', + 'Egulias\\EmailValidator\\Warning\\IPV6ColonStart' => $vendorDir . '/egulias/email-validator/src/Warning/IPV6ColonStart.php', + 'Egulias\\EmailValidator\\Warning\\IPV6Deprecated' => $vendorDir . '/egulias/email-validator/src/Warning/IPV6Deprecated.php', + 'Egulias\\EmailValidator\\Warning\\IPV6DoubleColon' => $vendorDir . '/egulias/email-validator/src/Warning/IPV6DoubleColon.php', + 'Egulias\\EmailValidator\\Warning\\IPV6GroupCount' => $vendorDir . '/egulias/email-validator/src/Warning/IPV6GroupCount.php', + 'Egulias\\EmailValidator\\Warning\\IPV6MaxGroups' => $vendorDir . '/egulias/email-validator/src/Warning/IPV6MaxGroups.php', + 'Egulias\\EmailValidator\\Warning\\LocalTooLong' => $vendorDir . '/egulias/email-validator/src/Warning/LocalTooLong.php', + 'Egulias\\EmailValidator\\Warning\\NoDNSMXRecord' => $vendorDir . '/egulias/email-validator/src/Warning/NoDNSMXRecord.php', + 'Egulias\\EmailValidator\\Warning\\ObsoleteDTEXT' => $vendorDir . '/egulias/email-validator/src/Warning/ObsoleteDTEXT.php', + 'Egulias\\EmailValidator\\Warning\\QuotedPart' => $vendorDir . '/egulias/email-validator/src/Warning/QuotedPart.php', + 'Egulias\\EmailValidator\\Warning\\QuotedString' => $vendorDir . '/egulias/email-validator/src/Warning/QuotedString.php', + 'Egulias\\EmailValidator\\Warning\\TLD' => $vendorDir . '/egulias/email-validator/src/Warning/TLD.php', + 'Egulias\\EmailValidator\\Warning\\Warning' => $vendorDir . '/egulias/email-validator/src/Warning/Warning.php', 'Models\\CachedModel' => $baseDir . '/include/rest-api/models/CachedModel.php', 'Models\\Model' => $baseDir . '/include/rest-api/models/Model.php', 'Models\\VisualConsole\\Container' => $baseDir . '/include/rest-api/models/VisualConsole/Container.php', 'Models\\VisualConsole\\Item' => $baseDir . '/include/rest-api/models/VisualConsole/Item.php', 'Models\\VisualConsole\\Items\\BarsGraph' => $baseDir . '/include/rest-api/models/VisualConsole/Items/BarsGraph.php', + 'Models\\VisualConsole\\Items\\BasicChart' => $baseDir . '/include/rest-api/models/VisualConsole/Items/BasicChart.php', 'Models\\VisualConsole\\Items\\Box' => $baseDir . '/include/rest-api/models/VisualConsole/Items/Box.php', 'Models\\VisualConsole\\Items\\Clock' => $baseDir . '/include/rest-api/models/VisualConsole/Items/Clock.php', 'Models\\VisualConsole\\Items\\ColorCloud' => $baseDir . '/include/rest-api/models/VisualConsole/Items/ColorCloud.php', @@ -115,11 +134,10 @@ return array( 'Models\\VisualConsole\\Items\\Line' => $baseDir . '/include/rest-api/models/VisualConsole/Items/Line.php', 'Models\\VisualConsole\\Items\\ModuleGraph' => $baseDir . '/include/rest-api/models/VisualConsole/Items/ModuleGraph.php', 'Models\\VisualConsole\\Items\\NetworkLink' => $baseDir . '/include/rest-api/models/VisualConsole/Items/NetworkLink.php', + 'Models\\VisualConsole\\Items\\Odometer' => $baseDir . '/include/rest-api/models/VisualConsole/Items/Odometer.php', 'Models\\VisualConsole\\Items\\Percentile' => $baseDir . '/include/rest-api/models/VisualConsole/Items/Percentile.php', 'Models\\VisualConsole\\Items\\SimpleValue' => $baseDir . '/include/rest-api/models/VisualConsole/Items/SimpleValue.php', 'Models\\VisualConsole\\Items\\StaticGraph' => $baseDir . '/include/rest-api/models/VisualConsole/Items/StaticGraph.php', - 'Models\\VisualConsole\\Items\\Odometer' => $baseDir . '/include/rest-api/models/VisualConsole/Items/Odometer.php', - 'Models\\VisualConsole\\Items\\BasicChart' => $baseDir . '/include/rest-api/models/VisualConsole/Items/BasicChart.php', 'Models\\VisualConsole\\View' => $baseDir . '/include/rest-api/models/VisualConsole/View.php', 'Mpdf\\Barcode' => $vendorDir . '/mpdf/mpdf/src/Barcode.php', 'Mpdf\\Barcode\\AbstractBarcode' => $vendorDir . '/mpdf/mpdf/src/Barcode/AbstractBarcode.php', @@ -155,12 +173,15 @@ return array( 'Mpdf\\Css\\DefaultCss' => $vendorDir . '/mpdf/mpdf/src/Css/DefaultCss.php', 'Mpdf\\Css\\TextVars' => $vendorDir . '/mpdf/mpdf/src/Css/TextVars.php', 'Mpdf\\DirectWrite' => $vendorDir . '/mpdf/mpdf/src/DirectWrite.php', + 'Mpdf\\Exception\\FontException' => $vendorDir . '/mpdf/mpdf/src/Exception/FontException.php', 'Mpdf\\Exception\\InvalidArgumentException' => $vendorDir . '/mpdf/mpdf/src/Exception/InvalidArgumentException.php', + 'Mpdf\\File\\StreamWrapperChecker' => $vendorDir . '/mpdf/mpdf/src/File/StreamWrapperChecker.php', 'Mpdf\\Fonts\\FontCache' => $vendorDir . '/mpdf/mpdf/src/Fonts/FontCache.php', 'Mpdf\\Fonts\\FontFileFinder' => $vendorDir . '/mpdf/mpdf/src/Fonts/FontFileFinder.php', 'Mpdf\\Fonts\\GlyphOperator' => $vendorDir . '/mpdf/mpdf/src/Fonts/GlyphOperator.php', 'Mpdf\\Fonts\\MetricsGenerator' => $vendorDir . '/mpdf/mpdf/src/Fonts/MetricsGenerator.php', 'Mpdf\\Form' => $vendorDir . '/mpdf/mpdf/src/Form.php', + 'Mpdf\\FpdiTrait' => $vendorDir . '/mpdf/mpdf/src/FpdiTrait.php', 'Mpdf\\Gif\\ColorTable' => $vendorDir . '/mpdf/mpdf/src/Gif/ColorTable.php', 'Mpdf\\Gif\\FileHeader' => $vendorDir . '/mpdf/mpdf/src/Gif/FileHeader.php', 'Mpdf\\Gif\\Gif' => $vendorDir . '/mpdf/mpdf/src/Gif/Gif.php', @@ -168,6 +189,7 @@ return array( 'Mpdf\\Gif\\ImageHeader' => $vendorDir . '/mpdf/mpdf/src/Gif/ImageHeader.php', 'Mpdf\\Gif\\Lzw' => $vendorDir . '/mpdf/mpdf/src/Gif/Lzw.php', 'Mpdf\\Gradient' => $vendorDir . '/mpdf/mpdf/src/Gradient.php', + 'Mpdf\\HTMLParserMode' => $vendorDir . '/mpdf/mpdf/src/HTMLParserMode.php', 'Mpdf\\Hyphenator' => $vendorDir . '/mpdf/mpdf/src/Hyphenator.php', 'Mpdf\\Image\\Bmp' => $vendorDir . '/mpdf/mpdf/src/Image/Bmp.php', 'Mpdf\\Image\\ImageProcessor' => $vendorDir . '/mpdf/mpdf/src/Image/ImageProcessor.php', @@ -188,12 +210,13 @@ return array( 'Mpdf\\PageFormat' => $vendorDir . '/mpdf/mpdf/src/PageFormat.php', 'Mpdf\\Pdf\\Protection' => $vendorDir . '/mpdf/mpdf/src/Pdf/Protection.php', 'Mpdf\\Pdf\\Protection\\UniqidGenerator' => $vendorDir . '/mpdf/mpdf/src/Pdf/Protection/UniqidGenerator.php', - 'Mpdf\\QrCode\\QrCode' => $vendorDir . '/mpdf/mpdf/src/QrCode/QrCode.php', - 'Mpdf\\QrCode\\QrCodeException' => $vendorDir . '/mpdf/mpdf/src/QrCode/QrCodeException.php', + 'Mpdf\\RemoteContentFetcher' => $vendorDir . '/mpdf/mpdf/src/RemoteContentFetcher.php', + 'Mpdf\\ServiceFactory' => $vendorDir . '/mpdf/mpdf/src/ServiceFactory.php', 'Mpdf\\Shaper\\Indic' => $vendorDir . '/mpdf/mpdf/src/Shaper/Indic.php', 'Mpdf\\Shaper\\Myanmar' => $vendorDir . '/mpdf/mpdf/src/Shaper/Myanmar.php', 'Mpdf\\Shaper\\Sea' => $vendorDir . '/mpdf/mpdf/src/Shaper/Sea.php', 'Mpdf\\SizeConverter' => $vendorDir . '/mpdf/mpdf/src/SizeConverter.php', + 'Mpdf\\Strict' => $vendorDir . '/mpdf/mpdf/src/Strict.php', 'Mpdf\\TTFontFile' => $vendorDir . '/mpdf/mpdf/src/TTFontFile.php', 'Mpdf\\TTFontFileAnalysis' => $vendorDir . '/mpdf/mpdf/src/TTFontFileAnalysis.php', 'Mpdf\\TableOfContents' => $vendorDir . '/mpdf/mpdf/src/TableOfContents.php', @@ -312,32 +335,27 @@ return array( 'Mpdf\\Utils\\NumericString' => $vendorDir . '/mpdf/mpdf/src/Utils/NumericString.php', 'Mpdf\\Utils\\PdfDate' => $vendorDir . '/mpdf/mpdf/src/Utils/PdfDate.php', 'Mpdf\\Utils\\UtfString' => $vendorDir . '/mpdf/mpdf/src/Utils/UtfString.php', + 'Mpdf\\Writer\\BackgroundWriter' => $vendorDir . '/mpdf/mpdf/src/Writer/BackgroundWriter.php', + 'Mpdf\\Writer\\BaseWriter' => $vendorDir . '/mpdf/mpdf/src/Writer/BaseWriter.php', + 'Mpdf\\Writer\\BookmarkWriter' => $vendorDir . '/mpdf/mpdf/src/Writer/BookmarkWriter.php', + 'Mpdf\\Writer\\ColorWriter' => $vendorDir . '/mpdf/mpdf/src/Writer/ColorWriter.php', + 'Mpdf\\Writer\\FontWriter' => $vendorDir . '/mpdf/mpdf/src/Writer/FontWriter.php', + 'Mpdf\\Writer\\FormWriter' => $vendorDir . '/mpdf/mpdf/src/Writer/FormWriter.php', + 'Mpdf\\Writer\\ImageWriter' => $vendorDir . '/mpdf/mpdf/src/Writer/ImageWriter.php', + 'Mpdf\\Writer\\JavaScriptWriter' => $vendorDir . '/mpdf/mpdf/src/Writer/JavaScriptWriter.php', + 'Mpdf\\Writer\\MetadataWriter' => $vendorDir . '/mpdf/mpdf/src/Writer/MetadataWriter.php', + 'Mpdf\\Writer\\ObjectWriter' => $vendorDir . '/mpdf/mpdf/src/Writer/ObjectWriter.php', + 'Mpdf\\Writer\\OptionalContentWriter' => $vendorDir . '/mpdf/mpdf/src/Writer/OptionalContentWriter.php', + 'Mpdf\\Writer\\PageWriter' => $vendorDir . '/mpdf/mpdf/src/Writer/PageWriter.php', + 'Mpdf\\Writer\\ResourceWriter' => $vendorDir . '/mpdf/mpdf/src/Writer/ResourceWriter.php', + 'Normalizer' => $vendorDir . '/symfony/polyfill-intl-normalizer/Resources/stubs/Normalizer.php', 'PandoraFMS\\Agent' => $baseDir . '/include/lib/Agent.php', + 'PandoraFMS\\Calendar' => $baseDir . '/include/lib/Calendar.php', 'PandoraFMS\\Core\\Config' => $baseDir . '/include/lib/Core/Config.php', 'PandoraFMS\\Core\\DBMaintainer' => $baseDir . '/include/lib/Core/DBMaintainer.php', 'PandoraFMS\\Dashboard\\Cell' => $baseDir . '/include/lib/Dashboard/Cell.php', 'PandoraFMS\\Dashboard\\Manager' => $baseDir . '/include/lib/Dashboard/Manager.php', 'PandoraFMS\\Dashboard\\Widget' => $baseDir . '/include/lib/Dashboard/Widget.php', - 'PandoraFMS\\Enterprise\\Agent' => $baseDir . '/enterprise/include/lib/Agent.php', - 'PandoraFMS\\Enterprise\\Cluster' => $baseDir . '/enterprise/include/lib/Cluster.php', - 'PandoraFMS\\Enterprise\\ClusterModule' => $baseDir . '/enterprise/include/lib/ClusterModule.php', - 'PandoraFMS\\Enterprise\\ClusterViewer\\ClusterManager' => $baseDir . '/enterprise/include/lib/ClusterViewer/ClusterManager.php', - 'PandoraFMS\\Enterprise\\ClusterViewer\\ClusterWizard' => $baseDir . '/enterprise/include/lib/ClusterViewer/ClusterWizard.php', - 'PandoraFMS\\Enterprise\\Metaconsole\\MergeQueue' => $baseDir . '/enterprise/include/lib/Metaconsole/MergeQueue.php', - 'PandoraFMS\\Enterprise\\Metaconsole\\MergeQueuePlan' => $baseDir . '/enterprise/include/lib/Metaconsole/MergeQueuePlan.php', - 'PandoraFMS\\Enterprise\\Metaconsole\\Node' => $baseDir . '/enterprise/include/lib/Metaconsole/Node.php', - 'PandoraFMS\\Enterprise\\Metaconsole\\PriorityPlan' => $baseDir . '/enterprise/include/lib/Metaconsole/PriorityPlan.php', - 'PandoraFMS\\Enterprise\\Metaconsole\\SyncQueue' => $baseDir . '/enterprise/include/lib/Metaconsole/SyncQueue.php', - 'PandoraFMS\\Enterprise\\Metaconsole\\SyncQueueItem' => $baseDir . '/enterprise/include/lib/Metaconsole/SyncQueueItem.php', - 'PandoraFMS\\Enterprise\\Metaconsole\\Synchronizer' => $baseDir . '/enterprise/include/lib/Metaconsole/Synchronizer.php', - 'PandoraFMS\\Enterprise\\NetworkManager' => $baseDir . '/enterprise/include/lib/NetworkManager.php', - 'PandoraFMS\\Enterprise\\NetworkManager\\NetworkAgent' => $baseDir . '/enterprise/include/lib/NetworkManager/NetworkAgent.php', - 'PandoraFMS\\Enterprise\\Policy' => $baseDir . '/enterprise/include/lib/Policy.php', - 'PandoraFMS\\Enterprise\\Policy\\Inventory' => $baseDir . '/enterprise/include/lib/Policy/Inventory.php', - 'PandoraFMS\\Enterprise\\Policy\\Module' => $baseDir . '/enterprise/include/lib/Policy/Module.php', - 'PandoraFMS\\Enterprise\\Policy\\Queue' => $baseDir . '/enterprise/include/lib/Policy/Queue.php', - 'PandoraFMS\\Enterprise\\Service' => $baseDir . '/enterprise/include/lib/Service.php', - 'PandoraFMS\\Enterprise\\ServiceElement' => $baseDir . '/enterprise/include/lib/ServiceElement.php', 'PandoraFMS\\Entity' => $baseDir . '/include/lib/Entity.php', 'PandoraFMS\\Event' => $baseDir . '/include/lib/Event.php', 'PandoraFMS\\Group' => $baseDir . '/include/lib/Group.php', @@ -345,21 +363,75 @@ return array( 'PandoraFMS\\ModuleStatus' => $baseDir . '/include/lib/ModuleStatus.php', 'PandoraFMS\\ModuleType' => $baseDir . '/include/lib/ModuleType.php', 'PandoraFMS\\PublicLogin' => $baseDir . '/include/lib/PublicLogin.php', + 'PandoraFMS\\SpecialDay' => $baseDir . '/include/lib/SpecialDay.php', 'PandoraFMS\\Tools\\Files' => $baseDir . '/include/lib/Tools/Files.php', + 'PandoraFMS\\Tools\\Strings' => $baseDir . '/include/lib/Tools/Strings.php', 'PandoraFMS\\User' => $baseDir . '/include/lib/User.php', 'PandoraFMS\\View' => $baseDir . '/include/lib/View.php', 'PandoraFMS\\Websockets\\WSManager' => $baseDir . '/include/lib/Websockets/WSManager.php', 'PandoraFMS\\Websockets\\WebSocketServer' => $baseDir . '/include/lib/Websockets/WebSocketServer.php', 'PandoraFMS\\Websockets\\WebSocketUser' => $baseDir . '/include/lib/Websockets/WebSocketUser.php', - 'Psr\\Log\\AbstractLogger' => $vendorDir . '/psr/log/Psr/Log/AbstractLogger.php', - 'Psr\\Log\\InvalidArgumentException' => $vendorDir . '/psr/log/Psr/Log/InvalidArgumentException.php', - 'Psr\\Log\\LogLevel' => $vendorDir . '/psr/log/Psr/Log/LogLevel.php', - 'Psr\\Log\\LoggerAwareInterface' => $vendorDir . '/psr/log/Psr/Log/LoggerAwareInterface.php', - 'Psr\\Log\\LoggerAwareTrait' => $vendorDir . '/psr/log/Psr/Log/LoggerAwareTrait.php', - 'Psr\\Log\\LoggerInterface' => $vendorDir . '/psr/log/Psr/Log/LoggerInterface.php', - 'Psr\\Log\\LoggerTrait' => $vendorDir . '/psr/log/Psr/Log/LoggerTrait.php', - 'Psr\\Log\\NullLogger' => $vendorDir . '/psr/log/Psr/Log/NullLogger.php', - 'Psr\\Log\\Test\\LoggerInterfaceTest' => $vendorDir . '/psr/log/Psr/Log/Test/LoggerInterfaceTest.php', - 'fpdi_pdf_parser' => $vendorDir . '/setasign/fpdi/fpdi_pdf_parser.php', - 'pdf_context' => $vendorDir . '/setasign/fpdi/pdf_context.php', + 'Psr\\Log\\AbstractLogger' => $vendorDir . '/psr/log/src/AbstractLogger.php', + 'Psr\\Log\\InvalidArgumentException' => $vendorDir . '/psr/log/src/InvalidArgumentException.php', + 'Psr\\Log\\LogLevel' => $vendorDir . '/psr/log/src/LogLevel.php', + 'Psr\\Log\\LoggerAwareInterface' => $vendorDir . '/psr/log/src/LoggerAwareInterface.php', + 'Psr\\Log\\LoggerAwareTrait' => $vendorDir . '/psr/log/src/LoggerAwareTrait.php', + 'Psr\\Log\\LoggerInterface' => $vendorDir . '/psr/log/src/LoggerInterface.php', + 'Psr\\Log\\LoggerTrait' => $vendorDir . '/psr/log/src/LoggerTrait.php', + 'Psr\\Log\\NullLogger' => $vendorDir . '/psr/log/src/NullLogger.php', + 'Symfony\\Polyfill\\Iconv\\Iconv' => $vendorDir . '/symfony/polyfill-iconv/Iconv.php', + 'Symfony\\Polyfill\\Intl\\Idn\\Idn' => $vendorDir . '/symfony/polyfill-intl-idn/Idn.php', + 'Symfony\\Polyfill\\Intl\\Idn\\Info' => $vendorDir . '/symfony/polyfill-intl-idn/Info.php', + 'Symfony\\Polyfill\\Intl\\Idn\\Resources\\unidata\\DisallowedRanges' => $vendorDir . '/symfony/polyfill-intl-idn/Resources/unidata/DisallowedRanges.php', + 'Symfony\\Polyfill\\Intl\\Idn\\Resources\\unidata\\Regex' => $vendorDir . '/symfony/polyfill-intl-idn/Resources/unidata/Regex.php', + 'Symfony\\Polyfill\\Intl\\Normalizer\\Normalizer' => $vendorDir . '/symfony/polyfill-intl-normalizer/Normalizer.php', + 'Symfony\\Polyfill\\Mbstring\\Mbstring' => $vendorDir . '/symfony/polyfill-mbstring/Mbstring.php', + 'Symfony\\Polyfill\\Php72\\Php72' => $vendorDir . '/symfony/polyfill-php72/Php72.php', + 'setasign\\Fpdi\\FpdfTpl' => $vendorDir . '/setasign/fpdi/src/FpdfTpl.php', + 'setasign\\Fpdi\\FpdfTplTrait' => $vendorDir . '/setasign/fpdi/src/FpdfTplTrait.php', + 'setasign\\Fpdi\\Fpdi' => $vendorDir . '/setasign/fpdi/src/Fpdi.php', + 'setasign\\Fpdi\\FpdiException' => $vendorDir . '/setasign/fpdi/src/FpdiException.php', + 'setasign\\Fpdi\\FpdiTrait' => $vendorDir . '/setasign/fpdi/src/FpdiTrait.php', + 'setasign\\Fpdi\\PdfParser\\CrossReference\\AbstractReader' => $vendorDir . '/setasign/fpdi/src/PdfParser/CrossReference/AbstractReader.php', + 'setasign\\Fpdi\\PdfParser\\CrossReference\\CrossReference' => $vendorDir . '/setasign/fpdi/src/PdfParser/CrossReference/CrossReference.php', + 'setasign\\Fpdi\\PdfParser\\CrossReference\\CrossReferenceException' => $vendorDir . '/setasign/fpdi/src/PdfParser/CrossReference/CrossReferenceException.php', + 'setasign\\Fpdi\\PdfParser\\CrossReference\\FixedReader' => $vendorDir . '/setasign/fpdi/src/PdfParser/CrossReference/FixedReader.php', + 'setasign\\Fpdi\\PdfParser\\CrossReference\\LineReader' => $vendorDir . '/setasign/fpdi/src/PdfParser/CrossReference/LineReader.php', + 'setasign\\Fpdi\\PdfParser\\CrossReference\\ReaderInterface' => $vendorDir . '/setasign/fpdi/src/PdfParser/CrossReference/ReaderInterface.php', + 'setasign\\Fpdi\\PdfParser\\Filter\\Ascii85' => $vendorDir . '/setasign/fpdi/src/PdfParser/Filter/Ascii85.php', + 'setasign\\Fpdi\\PdfParser\\Filter\\Ascii85Exception' => $vendorDir . '/setasign/fpdi/src/PdfParser/Filter/Ascii85Exception.php', + 'setasign\\Fpdi\\PdfParser\\Filter\\AsciiHex' => $vendorDir . '/setasign/fpdi/src/PdfParser/Filter/AsciiHex.php', + 'setasign\\Fpdi\\PdfParser\\Filter\\FilterException' => $vendorDir . '/setasign/fpdi/src/PdfParser/Filter/FilterException.php', + 'setasign\\Fpdi\\PdfParser\\Filter\\FilterInterface' => $vendorDir . '/setasign/fpdi/src/PdfParser/Filter/FilterInterface.php', + 'setasign\\Fpdi\\PdfParser\\Filter\\Flate' => $vendorDir . '/setasign/fpdi/src/PdfParser/Filter/Flate.php', + 'setasign\\Fpdi\\PdfParser\\Filter\\FlateException' => $vendorDir . '/setasign/fpdi/src/PdfParser/Filter/FlateException.php', + 'setasign\\Fpdi\\PdfParser\\Filter\\Lzw' => $vendorDir . '/setasign/fpdi/src/PdfParser/Filter/Lzw.php', + 'setasign\\Fpdi\\PdfParser\\Filter\\LzwException' => $vendorDir . '/setasign/fpdi/src/PdfParser/Filter/LzwException.php', + 'setasign\\Fpdi\\PdfParser\\PdfParser' => $vendorDir . '/setasign/fpdi/src/PdfParser/PdfParser.php', + 'setasign\\Fpdi\\PdfParser\\PdfParserException' => $vendorDir . '/setasign/fpdi/src/PdfParser/PdfParserException.php', + 'setasign\\Fpdi\\PdfParser\\StreamReader' => $vendorDir . '/setasign/fpdi/src/PdfParser/StreamReader.php', + 'setasign\\Fpdi\\PdfParser\\Tokenizer' => $vendorDir . '/setasign/fpdi/src/PdfParser/Tokenizer.php', + 'setasign\\Fpdi\\PdfParser\\Type\\PdfArray' => $vendorDir . '/setasign/fpdi/src/PdfParser/Type/PdfArray.php', + 'setasign\\Fpdi\\PdfParser\\Type\\PdfBoolean' => $vendorDir . '/setasign/fpdi/src/PdfParser/Type/PdfBoolean.php', + 'setasign\\Fpdi\\PdfParser\\Type\\PdfDictionary' => $vendorDir . '/setasign/fpdi/src/PdfParser/Type/PdfDictionary.php', + 'setasign\\Fpdi\\PdfParser\\Type\\PdfHexString' => $vendorDir . '/setasign/fpdi/src/PdfParser/Type/PdfHexString.php', + 'setasign\\Fpdi\\PdfParser\\Type\\PdfIndirectObject' => $vendorDir . '/setasign/fpdi/src/PdfParser/Type/PdfIndirectObject.php', + 'setasign\\Fpdi\\PdfParser\\Type\\PdfIndirectObjectReference' => $vendorDir . '/setasign/fpdi/src/PdfParser/Type/PdfIndirectObjectReference.php', + 'setasign\\Fpdi\\PdfParser\\Type\\PdfName' => $vendorDir . '/setasign/fpdi/src/PdfParser/Type/PdfName.php', + 'setasign\\Fpdi\\PdfParser\\Type\\PdfNull' => $vendorDir . '/setasign/fpdi/src/PdfParser/Type/PdfNull.php', + 'setasign\\Fpdi\\PdfParser\\Type\\PdfNumeric' => $vendorDir . '/setasign/fpdi/src/PdfParser/Type/PdfNumeric.php', + 'setasign\\Fpdi\\PdfParser\\Type\\PdfStream' => $vendorDir . '/setasign/fpdi/src/PdfParser/Type/PdfStream.php', + 'setasign\\Fpdi\\PdfParser\\Type\\PdfString' => $vendorDir . '/setasign/fpdi/src/PdfParser/Type/PdfString.php', + 'setasign\\Fpdi\\PdfParser\\Type\\PdfToken' => $vendorDir . '/setasign/fpdi/src/PdfParser/Type/PdfToken.php', + 'setasign\\Fpdi\\PdfParser\\Type\\PdfType' => $vendorDir . '/setasign/fpdi/src/PdfParser/Type/PdfType.php', + 'setasign\\Fpdi\\PdfParser\\Type\\PdfTypeException' => $vendorDir . '/setasign/fpdi/src/PdfParser/Type/PdfTypeException.php', + 'setasign\\Fpdi\\PdfReader\\DataStructure\\Rectangle' => $vendorDir . '/setasign/fpdi/src/PdfReader/DataStructure/Rectangle.php', + 'setasign\\Fpdi\\PdfReader\\Page' => $vendorDir . '/setasign/fpdi/src/PdfReader/Page.php', + 'setasign\\Fpdi\\PdfReader\\PageBoundaries' => $vendorDir . '/setasign/fpdi/src/PdfReader/PageBoundaries.php', + 'setasign\\Fpdi\\PdfReader\\PdfReader' => $vendorDir . '/setasign/fpdi/src/PdfReader/PdfReader.php', + 'setasign\\Fpdi\\PdfReader\\PdfReaderException' => $vendorDir . '/setasign/fpdi/src/PdfReader/PdfReaderException.php', + 'setasign\\Fpdi\\TcpdfFpdi' => $vendorDir . '/setasign/fpdi/src/TcpdfFpdi.php', + 'setasign\\Fpdi\\Tcpdf\\Fpdi' => $vendorDir . '/setasign/fpdi/src/Tcpdf/Fpdi.php', + 'setasign\\Fpdi\\Tfpdf\\FpdfTpl' => $vendorDir . '/setasign/fpdi/src/Tfpdf/FpdfTpl.php', + 'setasign\\Fpdi\\Tfpdf\\Fpdi' => $vendorDir . '/setasign/fpdi/src/Tfpdf/Fpdi.php', ); diff --git a/pandora_console/vendor/composer/autoload_files.php b/pandora_console/vendor/composer/autoload_files.php index 84c296819f..e47a3469b0 100644 --- a/pandora_console/vendor/composer/autoload_files.php +++ b/pandora_console/vendor/composer/autoload_files.php @@ -6,6 +6,11 @@ $vendorDir = dirname(dirname(__FILE__)); $baseDir = dirname($vendorDir); return array( + 'e69f7f6ee287b969198c3c9d6777bd38' => $vendorDir . '/symfony/polyfill-intl-normalizer/bootstrap.php', + '25072dd6e2470089de65ae7bf11d3109' => $vendorDir . '/symfony/polyfill-php72/bootstrap.php', + 'f598d06aa772fa33d905e87be6398fb1' => $vendorDir . '/symfony/polyfill-intl-idn/bootstrap.php', '6124b4c8570aa390c21fafd04a26c69f' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/deep_copy.php', + 'def43f6c87e4f8dfd0c9e1b1bab14fe8' => $vendorDir . '/symfony/polyfill-iconv/bootstrap.php', + '0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => $vendorDir . '/symfony/polyfill-mbstring/bootstrap.php', '2c102faa651ef8ea5874edb585946bce' => $vendorDir . '/swiftmailer/swiftmailer/lib/swift_required.php', ); diff --git a/pandora_console/vendor/composer/autoload_namespaces.php b/pandora_console/vendor/composer/autoload_namespaces.php index 4a6f5de33f..b7fc0125db 100644 --- a/pandora_console/vendor/composer/autoload_namespaces.php +++ b/pandora_console/vendor/composer/autoload_namespaces.php @@ -6,5 +6,4 @@ $vendorDir = dirname(dirname(__FILE__)); $baseDir = dirname($vendorDir); return array( - 'Doctrine\\Common\\Lexer\\' => array($vendorDir . '/doctrine/lexer/lib'), ); diff --git a/pandora_console/vendor/composer/autoload_psr4.php b/pandora_console/vendor/composer/autoload_psr4.php index 73295adc6e..ae0d82a135 100644 --- a/pandora_console/vendor/composer/autoload_psr4.php +++ b/pandora_console/vendor/composer/autoload_psr4.php @@ -6,12 +6,20 @@ $vendorDir = dirname(dirname(__FILE__)); $baseDir = dirname($vendorDir); return array( - 'Psr\\Log\\' => array($vendorDir . '/psr/log/Psr/Log'), + 'setasign\\Fpdi\\' => array($vendorDir . '/setasign/fpdi/src'), + 'Tests\\' => array($baseDir . '/tests'), + 'Symfony\\Polyfill\\Php72\\' => array($vendorDir . '/symfony/polyfill-php72'), + 'Symfony\\Polyfill\\Mbstring\\' => array($vendorDir . '/symfony/polyfill-mbstring'), + 'Symfony\\Polyfill\\Intl\\Normalizer\\' => array($vendorDir . '/symfony/polyfill-intl-normalizer'), + 'Symfony\\Polyfill\\Intl\\Idn\\' => array($vendorDir . '/symfony/polyfill-intl-idn'), + 'Symfony\\Polyfill\\Iconv\\' => array($vendorDir . '/symfony/polyfill-iconv'), + 'Psr\\Log\\' => array($vendorDir . '/psr/log/src'), 'PandoraFMS\\Enterprise\\' => array($baseDir . '/enterprise/include/lib'), 'PandoraFMS\\' => array($baseDir . '/include/lib'), 'Mpdf\\' => array($vendorDir . '/mpdf/mpdf/src'), 'Models\\' => array($baseDir . '/include/rest-api/models'), 'Enterprise\\Models\\' => array($baseDir . '/enterprise/include/rest-api/models'), - 'Egulias\\EmailValidator\\' => array($vendorDir . '/egulias/email-validator/EmailValidator'), + 'Egulias\\EmailValidator\\' => array($vendorDir . '/egulias/email-validator/src'), + 'Doctrine\\Common\\Lexer\\' => array($vendorDir . '/doctrine/lexer/lib/Doctrine/Common/Lexer'), 'DeepCopy\\' => array($vendorDir . '/myclabs/deep-copy/src/DeepCopy'), ); diff --git a/pandora_console/vendor/composer/autoload_real.php b/pandora_console/vendor/composer/autoload_real.php index d079efd543..b88100bf96 100644 --- a/pandora_console/vendor/composer/autoload_real.php +++ b/pandora_console/vendor/composer/autoload_real.php @@ -65,11 +65,16 @@ class ComposerAutoloaderInitfdecadadce22e6dde51e9535fe4ad7aa } } +/** + * @param string $fileIdentifier + * @param string $file + * @return void + */ function composerRequirefdecadadce22e6dde51e9535fe4ad7aa($fileIdentifier, $file) { if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) { - require $file; - $GLOBALS['__composer_autoload_files'][$fileIdentifier] = true; + + require $file; } } diff --git a/pandora_console/vendor/composer/autoload_static.php b/pandora_console/vendor/composer/autoload_static.php index 9391df6840..e368967bee 100644 --- a/pandora_console/vendor/composer/autoload_static.php +++ b/pandora_console/vendor/composer/autoload_static.php @@ -7,11 +7,32 @@ namespace Composer\Autoload; class ComposerStaticInitfdecadadce22e6dde51e9535fe4ad7aa { public static $files = array ( + 'e69f7f6ee287b969198c3c9d6777bd38' => __DIR__ . '/..' . '/symfony/polyfill-intl-normalizer/bootstrap.php', + '25072dd6e2470089de65ae7bf11d3109' => __DIR__ . '/..' . '/symfony/polyfill-php72/bootstrap.php', + 'f598d06aa772fa33d905e87be6398fb1' => __DIR__ . '/..' . '/symfony/polyfill-intl-idn/bootstrap.php', '6124b4c8570aa390c21fafd04a26c69f' => __DIR__ . '/..' . '/myclabs/deep-copy/src/DeepCopy/deep_copy.php', + 'def43f6c87e4f8dfd0c9e1b1bab14fe8' => __DIR__ . '/..' . '/symfony/polyfill-iconv/bootstrap.php', + '0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => __DIR__ . '/..' . '/symfony/polyfill-mbstring/bootstrap.php', '2c102faa651ef8ea5874edb585946bce' => __DIR__ . '/..' . '/swiftmailer/swiftmailer/lib/swift_required.php', ); public static $prefixLengthsPsr4 = array ( + 's' => + array ( + 'setasign\\Fpdi\\' => 14, + ), + 'T' => + array ( + 'Tests\\' => 6, + ), + 'S' => + array ( + 'Symfony\\Polyfill\\Php72\\' => 23, + 'Symfony\\Polyfill\\Mbstring\\' => 26, + 'Symfony\\Polyfill\\Intl\\Normalizer\\' => 33, + 'Symfony\\Polyfill\\Intl\\Idn\\' => 26, + 'Symfony\\Polyfill\\Iconv\\' => 23, + ), 'P' => array ( 'Psr\\Log\\' => 8, @@ -30,14 +51,43 @@ class ComposerStaticInitfdecadadce22e6dde51e9535fe4ad7aa ), 'D' => array ( + 'Doctrine\\Common\\Lexer\\' => 22, 'DeepCopy\\' => 9, ), ); public static $prefixDirsPsr4 = array ( + 'setasign\\Fpdi\\' => + array ( + 0 => __DIR__ . '/..' . '/setasign/fpdi/src', + ), + 'Tests\\' => + array ( + 0 => __DIR__ . '/../..' . '/tests', + ), + 'Symfony\\Polyfill\\Php72\\' => + array ( + 0 => __DIR__ . '/..' . '/symfony/polyfill-php72', + ), + 'Symfony\\Polyfill\\Mbstring\\' => + array ( + 0 => __DIR__ . '/..' . '/symfony/polyfill-mbstring', + ), + 'Symfony\\Polyfill\\Intl\\Normalizer\\' => + array ( + 0 => __DIR__ . '/..' . '/symfony/polyfill-intl-normalizer', + ), + 'Symfony\\Polyfill\\Intl\\Idn\\' => + array ( + 0 => __DIR__ . '/..' . '/symfony/polyfill-intl-idn', + ), + 'Symfony\\Polyfill\\Iconv\\' => + array ( + 0 => __DIR__ . '/..' . '/symfony/polyfill-iconv', + ), 'Psr\\Log\\' => array ( - 0 => __DIR__ . '/..' . '/psr/log/Psr/Log', + 0 => __DIR__ . '/..' . '/psr/log/src', ), 'PandoraFMS\\Enterprise\\' => array ( @@ -61,7 +111,11 @@ class ComposerStaticInitfdecadadce22e6dde51e9535fe4ad7aa ), 'Egulias\\EmailValidator\\' => array ( - 0 => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator', + 0 => __DIR__ . '/..' . '/egulias/email-validator/src', + ), + 'Doctrine\\Common\\Lexer\\' => + array ( + 0 => __DIR__ . '/..' . '/doctrine/lexer/lib/Doctrine/Common/Lexer', ), 'DeepCopy\\' => array ( @@ -69,16 +123,6 @@ class ComposerStaticInitfdecadadce22e6dde51e9535fe4ad7aa ), ); - public static $prefixesPsr0 = array ( - 'D' => - array ( - 'Doctrine\\Common\\Lexer\\' => - array ( - 0 => __DIR__ . '/..' . '/doctrine/lexer/lib', - ), - ), - ); - public static $classMap = array ( 'Composer\\InstalledVersions' => __DIR__ . '/..' . '/composer/InstalledVersions.php', 'DeepCopy\\DeepCopy' => __DIR__ . '/..' . '/myclabs/deep-copy/src/DeepCopy/DeepCopy.php', @@ -100,84 +144,103 @@ class ComposerStaticInitfdecadadce22e6dde51e9535fe4ad7aa 'DeepCopy\\TypeFilter\\Date\\DateIntervalFilter' => __DIR__ . '/..' . '/myclabs/deep-copy/src/DeepCopy/TypeFilter/Date/DateIntervalFilter.php', 'DeepCopy\\TypeFilter\\ReplaceFilter' => __DIR__ . '/..' . '/myclabs/deep-copy/src/DeepCopy/TypeFilter/ReplaceFilter.php', 'DeepCopy\\TypeFilter\\ShallowCopyFilter' => __DIR__ . '/..' . '/myclabs/deep-copy/src/DeepCopy/TypeFilter/ShallowCopyFilter.php', + 'DeepCopy\\TypeFilter\\Spl\\ArrayObjectFilter' => __DIR__ . '/..' . '/myclabs/deep-copy/src/DeepCopy/TypeFilter/Spl/ArrayObjectFilter.php', 'DeepCopy\\TypeFilter\\Spl\\SplDoublyLinkedList' => __DIR__ . '/..' . '/myclabs/deep-copy/src/DeepCopy/TypeFilter/Spl/SplDoublyLinkedList.php', 'DeepCopy\\TypeFilter\\Spl\\SplDoublyLinkedListFilter' => __DIR__ . '/..' . '/myclabs/deep-copy/src/DeepCopy/TypeFilter/Spl/SplDoublyLinkedListFilter.php', 'DeepCopy\\TypeFilter\\TypeFilter' => __DIR__ . '/..' . '/myclabs/deep-copy/src/DeepCopy/TypeFilter/TypeFilter.php', 'DeepCopy\\TypeMatcher\\TypeMatcher' => __DIR__ . '/..' . '/myclabs/deep-copy/src/DeepCopy/TypeMatcher/TypeMatcher.php', 'Doctrine\\Common\\Lexer\\AbstractLexer' => __DIR__ . '/..' . '/doctrine/lexer/lib/Doctrine/Common/Lexer/AbstractLexer.php', - 'Egulias\\EmailValidator\\EmailLexer' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/EmailLexer.php', - 'Egulias\\EmailValidator\\EmailParser' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/EmailParser.php', - 'Egulias\\EmailValidator\\EmailValidator' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/EmailValidator.php', - 'Egulias\\EmailValidator\\Exception\\AtextAfterCFWS' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Exception/AtextAfterCFWS.php', - 'Egulias\\EmailValidator\\Exception\\CRLFAtTheEnd' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Exception/CRLFAtTheEnd.php', - 'Egulias\\EmailValidator\\Exception\\CRLFX2' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Exception/CRLFX2.php', - 'Egulias\\EmailValidator\\Exception\\CRNoLF' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Exception/CRNoLF.php', - 'Egulias\\EmailValidator\\Exception\\CharNotAllowed' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Exception/CharNotAllowed.php', - 'Egulias\\EmailValidator\\Exception\\CommaInDomain' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Exception/CommaInDomain.php', - 'Egulias\\EmailValidator\\Exception\\ConsecutiveAt' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Exception/ConsecutiveAt.php', - 'Egulias\\EmailValidator\\Exception\\ConsecutiveDot' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Exception/ConsecutiveDot.php', - 'Egulias\\EmailValidator\\Exception\\DomainHyphened' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Exception/DomainHyphened.php', - 'Egulias\\EmailValidator\\Exception\\DotAtEnd' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Exception/DotAtEnd.php', - 'Egulias\\EmailValidator\\Exception\\DotAtStart' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Exception/DotAtStart.php', - 'Egulias\\EmailValidator\\Exception\\ExpectingAT' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Exception/ExpectingAT.php', - 'Egulias\\EmailValidator\\Exception\\ExpectingATEXT' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Exception/ExpectingATEXT.php', - 'Egulias\\EmailValidator\\Exception\\ExpectingCTEXT' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Exception/ExpectingCTEXT.php', - 'Egulias\\EmailValidator\\Exception\\ExpectingDTEXT' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Exception/ExpectingDTEXT.php', - 'Egulias\\EmailValidator\\Exception\\ExpectingDomainLiteralClose' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Exception/ExpectingDomainLiteralClose.php', - 'Egulias\\EmailValidator\\Exception\\InvalidEmail' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Exception/InvalidEmail.php', - 'Egulias\\EmailValidator\\Exception\\NoDNSRecord' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Exception/NoDNSRecord.php', - 'Egulias\\EmailValidator\\Exception\\NoDomainPart' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Exception/NoDomainPart.php', - 'Egulias\\EmailValidator\\Exception\\NoLocalPart' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Exception/NoLocalPart.php', - 'Egulias\\EmailValidator\\Exception\\UnclosedComment' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Exception/UnclosedComment.php', - 'Egulias\\EmailValidator\\Exception\\UnclosedQuotedString' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Exception/UnclosedQuotedString.php', - 'Egulias\\EmailValidator\\Exception\\UnopenedComment' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Exception/UnopenedComment.php', - 'Egulias\\EmailValidator\\Parser\\DomainPart' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Parser/DomainPart.php', - 'Egulias\\EmailValidator\\Parser\\LocalPart' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Parser/LocalPart.php', - 'Egulias\\EmailValidator\\Parser\\Parser' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Parser/Parser.php', - 'Egulias\\EmailValidator\\Validation\\DNSCheckValidation' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Validation/DNSCheckValidation.php', - 'Egulias\\EmailValidator\\Validation\\EmailValidation' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Validation/EmailValidation.php', - 'Egulias\\EmailValidator\\Validation\\Error\\RFCWarnings' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Validation/Error/RFCWarnings.php', - 'Egulias\\EmailValidator\\Validation\\Error\\SpoofEmail' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Validation/Error/SpoofEmail.php', - 'Egulias\\EmailValidator\\Validation\\Exception\\EmptyValidationList' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Validation/Exception/EmptyValidationList.php', - 'Egulias\\EmailValidator\\Validation\\MultipleErrors' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Validation/MultipleErrors.php', - 'Egulias\\EmailValidator\\Validation\\MultipleValidationWithAnd' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Validation/MultipleValidationWithAnd.php', - 'Egulias\\EmailValidator\\Validation\\NoRFCWarningsValidation' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Validation/NoRFCWarningsValidation.php', - 'Egulias\\EmailValidator\\Validation\\RFCValidation' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Validation/RFCValidation.php', - 'Egulias\\EmailValidator\\Validation\\SpoofCheckValidation' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Validation/SpoofCheckValidation.php', - 'Egulias\\EmailValidator\\Warning\\AddressLiteral' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Warning/AddressLiteral.php', - 'Egulias\\EmailValidator\\Warning\\CFWSNearAt' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Warning/CFWSNearAt.php', - 'Egulias\\EmailValidator\\Warning\\CFWSWithFWS' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Warning/CFWSWithFWS.php', - 'Egulias\\EmailValidator\\Warning\\Comment' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Warning/Comment.php', - 'Egulias\\EmailValidator\\Warning\\DeprecatedComment' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Warning/DeprecatedComment.php', - 'Egulias\\EmailValidator\\Warning\\DomainLiteral' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Warning/DomainLiteral.php', - 'Egulias\\EmailValidator\\Warning\\DomainTooLong' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Warning/DomainTooLong.php', - 'Egulias\\EmailValidator\\Warning\\EmailTooLong' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Warning/EmailTooLong.php', - 'Egulias\\EmailValidator\\Warning\\IPV6BadChar' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Warning/IPV6BadChar.php', - 'Egulias\\EmailValidator\\Warning\\IPV6ColonEnd' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Warning/IPV6ColonEnd.php', - 'Egulias\\EmailValidator\\Warning\\IPV6ColonStart' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Warning/IPV6ColonStart.php', - 'Egulias\\EmailValidator\\Warning\\IPV6Deprecated' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Warning/IPV6Deprecated.php', - 'Egulias\\EmailValidator\\Warning\\IPV6DoubleColon' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Warning/IPV6DoubleColon.php', - 'Egulias\\EmailValidator\\Warning\\IPV6GroupCount' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Warning/IPV6GroupCount.php', - 'Egulias\\EmailValidator\\Warning\\IPV6MaxGroups' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Warning/IPV6MaxGroups.php', - 'Egulias\\EmailValidator\\Warning\\LabelTooLong' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Warning/LabelTooLong.php', - 'Egulias\\EmailValidator\\Warning\\LocalTooLong' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Warning/LocalTooLong.php', - 'Egulias\\EmailValidator\\Warning\\NoDNSMXRecord' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Warning/NoDNSMXRecord.php', - 'Egulias\\EmailValidator\\Warning\\ObsoleteDTEXT' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Warning/ObsoleteDTEXT.php', - 'Egulias\\EmailValidator\\Warning\\QuotedPart' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Warning/QuotedPart.php', - 'Egulias\\EmailValidator\\Warning\\QuotedString' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Warning/QuotedString.php', - 'Egulias\\EmailValidator\\Warning\\TLD' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Warning/TLD.php', - 'Egulias\\EmailValidator\\Warning\\Warning' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Warning/Warning.php', - 'Enterprise\\Models\\VisualConsole\\Items\\Service' => __DIR__ . '/../..' . '/enterprise/include/rest-api/models/VisualConsole/Items/Service.php', - 'FPDF_TPL' => __DIR__ . '/..' . '/setasign/fpdi/fpdf_tpl.php', - 'FPDI' => __DIR__ . '/..' . '/setasign/fpdi/fpdi.php', - 'FilterASCII85' => __DIR__ . '/..' . '/setasign/fpdi/filters/FilterASCII85.php', - 'FilterASCIIHexDecode' => __DIR__ . '/..' . '/setasign/fpdi/filters/FilterASCIIHexDecode.php', - 'FilterLZW' => __DIR__ . '/..' . '/setasign/fpdi/filters/FilterLZW.php', + 'Egulias\\EmailValidator\\EmailLexer' => __DIR__ . '/..' . '/egulias/email-validator/src/EmailLexer.php', + 'Egulias\\EmailValidator\\EmailParser' => __DIR__ . '/..' . '/egulias/email-validator/src/EmailParser.php', + 'Egulias\\EmailValidator\\EmailValidator' => __DIR__ . '/..' . '/egulias/email-validator/src/EmailValidator.php', + 'Egulias\\EmailValidator\\MessageIDParser' => __DIR__ . '/..' . '/egulias/email-validator/src/MessageIDParser.php', + 'Egulias\\EmailValidator\\Parser' => __DIR__ . '/..' . '/egulias/email-validator/src/Parser.php', + 'Egulias\\EmailValidator\\Parser\\Comment' => __DIR__ . '/..' . '/egulias/email-validator/src/Parser/Comment.php', + 'Egulias\\EmailValidator\\Parser\\CommentStrategy\\CommentStrategy' => __DIR__ . '/..' . '/egulias/email-validator/src/Parser/CommentStrategy/CommentStrategy.php', + 'Egulias\\EmailValidator\\Parser\\CommentStrategy\\DomainComment' => __DIR__ . '/..' . '/egulias/email-validator/src/Parser/CommentStrategy/DomainComment.php', + 'Egulias\\EmailValidator\\Parser\\CommentStrategy\\LocalComment' => __DIR__ . '/..' . '/egulias/email-validator/src/Parser/CommentStrategy/LocalComment.php', + 'Egulias\\EmailValidator\\Parser\\DomainLiteral' => __DIR__ . '/..' . '/egulias/email-validator/src/Parser/DomainLiteral.php', + 'Egulias\\EmailValidator\\Parser\\DomainPart' => __DIR__ . '/..' . '/egulias/email-validator/src/Parser/DomainPart.php', + 'Egulias\\EmailValidator\\Parser\\DoubleQuote' => __DIR__ . '/..' . '/egulias/email-validator/src/Parser/DoubleQuote.php', + 'Egulias\\EmailValidator\\Parser\\FoldingWhiteSpace' => __DIR__ . '/..' . '/egulias/email-validator/src/Parser/FoldingWhiteSpace.php', + 'Egulias\\EmailValidator\\Parser\\IDLeftPart' => __DIR__ . '/..' . '/egulias/email-validator/src/Parser/IDLeftPart.php', + 'Egulias\\EmailValidator\\Parser\\IDRightPart' => __DIR__ . '/..' . '/egulias/email-validator/src/Parser/IDRightPart.php', + 'Egulias\\EmailValidator\\Parser\\LocalPart' => __DIR__ . '/..' . '/egulias/email-validator/src/Parser/LocalPart.php', + 'Egulias\\EmailValidator\\Parser\\PartParser' => __DIR__ . '/..' . '/egulias/email-validator/src/Parser/PartParser.php', + 'Egulias\\EmailValidator\\Result\\InvalidEmail' => __DIR__ . '/..' . '/egulias/email-validator/src/Result/InvalidEmail.php', + 'Egulias\\EmailValidator\\Result\\MultipleErrors' => __DIR__ . '/..' . '/egulias/email-validator/src/Result/MultipleErrors.php', + 'Egulias\\EmailValidator\\Result\\Reason\\AtextAfterCFWS' => __DIR__ . '/..' . '/egulias/email-validator/src/Result/Reason/AtextAfterCFWS.php', + 'Egulias\\EmailValidator\\Result\\Reason\\CRLFAtTheEnd' => __DIR__ . '/..' . '/egulias/email-validator/src/Result/Reason/CRLFAtTheEnd.php', + 'Egulias\\EmailValidator\\Result\\Reason\\CRLFX2' => __DIR__ . '/..' . '/egulias/email-validator/src/Result/Reason/CRLFX2.php', + 'Egulias\\EmailValidator\\Result\\Reason\\CRNoLF' => __DIR__ . '/..' . '/egulias/email-validator/src/Result/Reason/CRNoLF.php', + 'Egulias\\EmailValidator\\Result\\Reason\\CharNotAllowed' => __DIR__ . '/..' . '/egulias/email-validator/src/Result/Reason/CharNotAllowed.php', + 'Egulias\\EmailValidator\\Result\\Reason\\CommaInDomain' => __DIR__ . '/..' . '/egulias/email-validator/src/Result/Reason/CommaInDomain.php', + 'Egulias\\EmailValidator\\Result\\Reason\\CommentsInIDRight' => __DIR__ . '/..' . '/egulias/email-validator/src/Result/Reason/CommentsInIDRight.php', + 'Egulias\\EmailValidator\\Result\\Reason\\ConsecutiveAt' => __DIR__ . '/..' . '/egulias/email-validator/src/Result/Reason/ConsecutiveAt.php', + 'Egulias\\EmailValidator\\Result\\Reason\\ConsecutiveDot' => __DIR__ . '/..' . '/egulias/email-validator/src/Result/Reason/ConsecutiveDot.php', + 'Egulias\\EmailValidator\\Result\\Reason\\DetailedReason' => __DIR__ . '/..' . '/egulias/email-validator/src/Result/Reason/DetailedReason.php', + 'Egulias\\EmailValidator\\Result\\Reason\\DomainAcceptsNoMail' => __DIR__ . '/..' . '/egulias/email-validator/src/Result/Reason/DomainAcceptsNoMail.php', + 'Egulias\\EmailValidator\\Result\\Reason\\DomainHyphened' => __DIR__ . '/..' . '/egulias/email-validator/src/Result/Reason/DomainHyphened.php', + 'Egulias\\EmailValidator\\Result\\Reason\\DomainTooLong' => __DIR__ . '/..' . '/egulias/email-validator/src/Result/Reason/DomainTooLong.php', + 'Egulias\\EmailValidator\\Result\\Reason\\DotAtEnd' => __DIR__ . '/..' . '/egulias/email-validator/src/Result/Reason/DotAtEnd.php', + 'Egulias\\EmailValidator\\Result\\Reason\\DotAtStart' => __DIR__ . '/..' . '/egulias/email-validator/src/Result/Reason/DotAtStart.php', + 'Egulias\\EmailValidator\\Result\\Reason\\EmptyReason' => __DIR__ . '/..' . '/egulias/email-validator/src/Result/Reason/EmptyReason.php', + 'Egulias\\EmailValidator\\Result\\Reason\\ExceptionFound' => __DIR__ . '/..' . '/egulias/email-validator/src/Result/Reason/ExceptionFound.php', + 'Egulias\\EmailValidator\\Result\\Reason\\ExpectingATEXT' => __DIR__ . '/..' . '/egulias/email-validator/src/Result/Reason/ExpectingATEXT.php', + 'Egulias\\EmailValidator\\Result\\Reason\\ExpectingCTEXT' => __DIR__ . '/..' . '/egulias/email-validator/src/Result/Reason/ExpectingCTEXT.php', + 'Egulias\\EmailValidator\\Result\\Reason\\ExpectingDTEXT' => __DIR__ . '/..' . '/egulias/email-validator/src/Result/Reason/ExpectingDTEXT.php', + 'Egulias\\EmailValidator\\Result\\Reason\\ExpectingDomainLiteralClose' => __DIR__ . '/..' . '/egulias/email-validator/src/Result/Reason/ExpectingDomainLiteralClose.php', + 'Egulias\\EmailValidator\\Result\\Reason\\LabelTooLong' => __DIR__ . '/..' . '/egulias/email-validator/src/Result/Reason/LabelTooLong.php', + 'Egulias\\EmailValidator\\Result\\Reason\\LocalOrReservedDomain' => __DIR__ . '/..' . '/egulias/email-validator/src/Result/Reason/LocalOrReservedDomain.php', + 'Egulias\\EmailValidator\\Result\\Reason\\NoDNSRecord' => __DIR__ . '/..' . '/egulias/email-validator/src/Result/Reason/NoDNSRecord.php', + 'Egulias\\EmailValidator\\Result\\Reason\\NoDomainPart' => __DIR__ . '/..' . '/egulias/email-validator/src/Result/Reason/NoDomainPart.php', + 'Egulias\\EmailValidator\\Result\\Reason\\NoLocalPart' => __DIR__ . '/..' . '/egulias/email-validator/src/Result/Reason/NoLocalPart.php', + 'Egulias\\EmailValidator\\Result\\Reason\\RFCWarnings' => __DIR__ . '/..' . '/egulias/email-validator/src/Result/Reason/RFCWarnings.php', + 'Egulias\\EmailValidator\\Result\\Reason\\Reason' => __DIR__ . '/..' . '/egulias/email-validator/src/Result/Reason/Reason.php', + 'Egulias\\EmailValidator\\Result\\Reason\\SpoofEmail' => __DIR__ . '/..' . '/egulias/email-validator/src/Result/Reason/SpoofEmail.php', + 'Egulias\\EmailValidator\\Result\\Reason\\UnOpenedComment' => __DIR__ . '/..' . '/egulias/email-validator/src/Result/Reason/UnOpenedComment.php', + 'Egulias\\EmailValidator\\Result\\Reason\\UnableToGetDNSRecord' => __DIR__ . '/..' . '/egulias/email-validator/src/Result/Reason/UnableToGetDNSRecord.php', + 'Egulias\\EmailValidator\\Result\\Reason\\UnclosedComment' => __DIR__ . '/..' . '/egulias/email-validator/src/Result/Reason/UnclosedComment.php', + 'Egulias\\EmailValidator\\Result\\Reason\\UnclosedQuotedString' => __DIR__ . '/..' . '/egulias/email-validator/src/Result/Reason/UnclosedQuotedString.php', + 'Egulias\\EmailValidator\\Result\\Reason\\UnusualElements' => __DIR__ . '/..' . '/egulias/email-validator/src/Result/Reason/UnusualElements.php', + 'Egulias\\EmailValidator\\Result\\Result' => __DIR__ . '/..' . '/egulias/email-validator/src/Result/Result.php', + 'Egulias\\EmailValidator\\Result\\SpoofEmail' => __DIR__ . '/..' . '/egulias/email-validator/src/Result/SpoofEmail.php', + 'Egulias\\EmailValidator\\Result\\ValidEmail' => __DIR__ . '/..' . '/egulias/email-validator/src/Result/ValidEmail.php', + 'Egulias\\EmailValidator\\Validation\\DNSCheckValidation' => __DIR__ . '/..' . '/egulias/email-validator/src/Validation/DNSCheckValidation.php', + 'Egulias\\EmailValidator\\Validation\\EmailValidation' => __DIR__ . '/..' . '/egulias/email-validator/src/Validation/EmailValidation.php', + 'Egulias\\EmailValidator\\Validation\\Exception\\EmptyValidationList' => __DIR__ . '/..' . '/egulias/email-validator/src/Validation/Exception/EmptyValidationList.php', + 'Egulias\\EmailValidator\\Validation\\Extra\\SpoofCheckValidation' => __DIR__ . '/..' . '/egulias/email-validator/src/Validation/Extra/SpoofCheckValidation.php', + 'Egulias\\EmailValidator\\Validation\\MessageIDValidation' => __DIR__ . '/..' . '/egulias/email-validator/src/Validation/MessageIDValidation.php', + 'Egulias\\EmailValidator\\Validation\\MultipleValidationWithAnd' => __DIR__ . '/..' . '/egulias/email-validator/src/Validation/MultipleValidationWithAnd.php', + 'Egulias\\EmailValidator\\Validation\\NoRFCWarningsValidation' => __DIR__ . '/..' . '/egulias/email-validator/src/Validation/NoRFCWarningsValidation.php', + 'Egulias\\EmailValidator\\Validation\\RFCValidation' => __DIR__ . '/..' . '/egulias/email-validator/src/Validation/RFCValidation.php', + 'Egulias\\EmailValidator\\Warning\\AddressLiteral' => __DIR__ . '/..' . '/egulias/email-validator/src/Warning/AddressLiteral.php', + 'Egulias\\EmailValidator\\Warning\\CFWSNearAt' => __DIR__ . '/..' . '/egulias/email-validator/src/Warning/CFWSNearAt.php', + 'Egulias\\EmailValidator\\Warning\\CFWSWithFWS' => __DIR__ . '/..' . '/egulias/email-validator/src/Warning/CFWSWithFWS.php', + 'Egulias\\EmailValidator\\Warning\\Comment' => __DIR__ . '/..' . '/egulias/email-validator/src/Warning/Comment.php', + 'Egulias\\EmailValidator\\Warning\\DeprecatedComment' => __DIR__ . '/..' . '/egulias/email-validator/src/Warning/DeprecatedComment.php', + 'Egulias\\EmailValidator\\Warning\\DomainLiteral' => __DIR__ . '/..' . '/egulias/email-validator/src/Warning/DomainLiteral.php', + 'Egulias\\EmailValidator\\Warning\\EmailTooLong' => __DIR__ . '/..' . '/egulias/email-validator/src/Warning/EmailTooLong.php', + 'Egulias\\EmailValidator\\Warning\\IPV6BadChar' => __DIR__ . '/..' . '/egulias/email-validator/src/Warning/IPV6BadChar.php', + 'Egulias\\EmailValidator\\Warning\\IPV6ColonEnd' => __DIR__ . '/..' . '/egulias/email-validator/src/Warning/IPV6ColonEnd.php', + 'Egulias\\EmailValidator\\Warning\\IPV6ColonStart' => __DIR__ . '/..' . '/egulias/email-validator/src/Warning/IPV6ColonStart.php', + 'Egulias\\EmailValidator\\Warning\\IPV6Deprecated' => __DIR__ . '/..' . '/egulias/email-validator/src/Warning/IPV6Deprecated.php', + 'Egulias\\EmailValidator\\Warning\\IPV6DoubleColon' => __DIR__ . '/..' . '/egulias/email-validator/src/Warning/IPV6DoubleColon.php', + 'Egulias\\EmailValidator\\Warning\\IPV6GroupCount' => __DIR__ . '/..' . '/egulias/email-validator/src/Warning/IPV6GroupCount.php', + 'Egulias\\EmailValidator\\Warning\\IPV6MaxGroups' => __DIR__ . '/..' . '/egulias/email-validator/src/Warning/IPV6MaxGroups.php', + 'Egulias\\EmailValidator\\Warning\\LocalTooLong' => __DIR__ . '/..' . '/egulias/email-validator/src/Warning/LocalTooLong.php', + 'Egulias\\EmailValidator\\Warning\\NoDNSMXRecord' => __DIR__ . '/..' . '/egulias/email-validator/src/Warning/NoDNSMXRecord.php', + 'Egulias\\EmailValidator\\Warning\\ObsoleteDTEXT' => __DIR__ . '/..' . '/egulias/email-validator/src/Warning/ObsoleteDTEXT.php', + 'Egulias\\EmailValidator\\Warning\\QuotedPart' => __DIR__ . '/..' . '/egulias/email-validator/src/Warning/QuotedPart.php', + 'Egulias\\EmailValidator\\Warning\\QuotedString' => __DIR__ . '/..' . '/egulias/email-validator/src/Warning/QuotedString.php', + 'Egulias\\EmailValidator\\Warning\\TLD' => __DIR__ . '/..' . '/egulias/email-validator/src/Warning/TLD.php', + 'Egulias\\EmailValidator\\Warning\\Warning' => __DIR__ . '/..' . '/egulias/email-validator/src/Warning/Warning.php', 'Models\\CachedModel' => __DIR__ . '/../..' . '/include/rest-api/models/CachedModel.php', 'Models\\Model' => __DIR__ . '/../..' . '/include/rest-api/models/Model.php', 'Models\\VisualConsole\\Container' => __DIR__ . '/../..' . '/include/rest-api/models/VisualConsole/Container.php', 'Models\\VisualConsole\\Item' => __DIR__ . '/../..' . '/include/rest-api/models/VisualConsole/Item.php', 'Models\\VisualConsole\\Items\\BarsGraph' => __DIR__ . '/../..' . '/include/rest-api/models/VisualConsole/Items/BarsGraph.php', + 'Models\\VisualConsole\\Items\\BasicChart' => __DIR__ . '/../..' . '/include/rest-api/models/VisualConsole/Items/BasicChart.php', 'Models\\VisualConsole\\Items\\Box' => __DIR__ . '/../..' . '/include/rest-api/models/VisualConsole/Items/Box.php', 'Models\\VisualConsole\\Items\\Clock' => __DIR__ . '/../..' . '/include/rest-api/models/VisualConsole/Items/Clock.php', 'Models\\VisualConsole\\Items\\ColorCloud' => __DIR__ . '/../..' . '/include/rest-api/models/VisualConsole/Items/ColorCloud.php', @@ -189,11 +252,10 @@ class ComposerStaticInitfdecadadce22e6dde51e9535fe4ad7aa 'Models\\VisualConsole\\Items\\Line' => __DIR__ . '/../..' . '/include/rest-api/models/VisualConsole/Items/Line.php', 'Models\\VisualConsole\\Items\\ModuleGraph' => __DIR__ . '/../..' . '/include/rest-api/models/VisualConsole/Items/ModuleGraph.php', 'Models\\VisualConsole\\Items\\NetworkLink' => __DIR__ . '/../..' . '/include/rest-api/models/VisualConsole/Items/NetworkLink.php', + 'Models\\VisualConsole\\Items\\Odometer' => __DIR__ . '/../..' . '/include/rest-api/models/VisualConsole/Items/Odometer.php', 'Models\\VisualConsole\\Items\\Percentile' => __DIR__ . '/../..' . '/include/rest-api/models/VisualConsole/Items/Percentile.php', 'Models\\VisualConsole\\Items\\SimpleValue' => __DIR__ . '/../..' . '/include/rest-api/models/VisualConsole/Items/SimpleValue.php', 'Models\\VisualConsole\\Items\\StaticGraph' => __DIR__ . '/../..' . '/include/rest-api/models/VisualConsole/Items/StaticGraph.php', - 'Models\\VisualConsole\\Items\\Odometer' => __DIR__ . '/../..' . '/include/rest-api/models/VisualConsole/Items/Odometer.php', - 'Models\\VisualConsole\\Items\\BasicChart' => __DIR__ . '/../..' . '/include/rest-api/models/VisualConsole/Items/BasicChart.php', 'Models\\VisualConsole\\View' => __DIR__ . '/../..' . '/include/rest-api/models/VisualConsole/View.php', 'Mpdf\\Barcode' => __DIR__ . '/..' . '/mpdf/mpdf/src/Barcode.php', 'Mpdf\\Barcode\\AbstractBarcode' => __DIR__ . '/..' . '/mpdf/mpdf/src/Barcode/AbstractBarcode.php', @@ -229,12 +291,15 @@ class ComposerStaticInitfdecadadce22e6dde51e9535fe4ad7aa 'Mpdf\\Css\\DefaultCss' => __DIR__ . '/..' . '/mpdf/mpdf/src/Css/DefaultCss.php', 'Mpdf\\Css\\TextVars' => __DIR__ . '/..' . '/mpdf/mpdf/src/Css/TextVars.php', 'Mpdf\\DirectWrite' => __DIR__ . '/..' . '/mpdf/mpdf/src/DirectWrite.php', + 'Mpdf\\Exception\\FontException' => __DIR__ . '/..' . '/mpdf/mpdf/src/Exception/FontException.php', 'Mpdf\\Exception\\InvalidArgumentException' => __DIR__ . '/..' . '/mpdf/mpdf/src/Exception/InvalidArgumentException.php', + 'Mpdf\\File\\StreamWrapperChecker' => __DIR__ . '/..' . '/mpdf/mpdf/src/File/StreamWrapperChecker.php', 'Mpdf\\Fonts\\FontCache' => __DIR__ . '/..' . '/mpdf/mpdf/src/Fonts/FontCache.php', 'Mpdf\\Fonts\\FontFileFinder' => __DIR__ . '/..' . '/mpdf/mpdf/src/Fonts/FontFileFinder.php', 'Mpdf\\Fonts\\GlyphOperator' => __DIR__ . '/..' . '/mpdf/mpdf/src/Fonts/GlyphOperator.php', 'Mpdf\\Fonts\\MetricsGenerator' => __DIR__ . '/..' . '/mpdf/mpdf/src/Fonts/MetricsGenerator.php', 'Mpdf\\Form' => __DIR__ . '/..' . '/mpdf/mpdf/src/Form.php', + 'Mpdf\\FpdiTrait' => __DIR__ . '/..' . '/mpdf/mpdf/src/FpdiTrait.php', 'Mpdf\\Gif\\ColorTable' => __DIR__ . '/..' . '/mpdf/mpdf/src/Gif/ColorTable.php', 'Mpdf\\Gif\\FileHeader' => __DIR__ . '/..' . '/mpdf/mpdf/src/Gif/FileHeader.php', 'Mpdf\\Gif\\Gif' => __DIR__ . '/..' . '/mpdf/mpdf/src/Gif/Gif.php', @@ -242,6 +307,7 @@ class ComposerStaticInitfdecadadce22e6dde51e9535fe4ad7aa 'Mpdf\\Gif\\ImageHeader' => __DIR__ . '/..' . '/mpdf/mpdf/src/Gif/ImageHeader.php', 'Mpdf\\Gif\\Lzw' => __DIR__ . '/..' . '/mpdf/mpdf/src/Gif/Lzw.php', 'Mpdf\\Gradient' => __DIR__ . '/..' . '/mpdf/mpdf/src/Gradient.php', + 'Mpdf\\HTMLParserMode' => __DIR__ . '/..' . '/mpdf/mpdf/src/HTMLParserMode.php', 'Mpdf\\Hyphenator' => __DIR__ . '/..' . '/mpdf/mpdf/src/Hyphenator.php', 'Mpdf\\Image\\Bmp' => __DIR__ . '/..' . '/mpdf/mpdf/src/Image/Bmp.php', 'Mpdf\\Image\\ImageProcessor' => __DIR__ . '/..' . '/mpdf/mpdf/src/Image/ImageProcessor.php', @@ -262,12 +328,13 @@ class ComposerStaticInitfdecadadce22e6dde51e9535fe4ad7aa 'Mpdf\\PageFormat' => __DIR__ . '/..' . '/mpdf/mpdf/src/PageFormat.php', 'Mpdf\\Pdf\\Protection' => __DIR__ . '/..' . '/mpdf/mpdf/src/Pdf/Protection.php', 'Mpdf\\Pdf\\Protection\\UniqidGenerator' => __DIR__ . '/..' . '/mpdf/mpdf/src/Pdf/Protection/UniqidGenerator.php', - 'Mpdf\\QrCode\\QrCode' => __DIR__ . '/..' . '/mpdf/mpdf/src/QrCode/QrCode.php', - 'Mpdf\\QrCode\\QrCodeException' => __DIR__ . '/..' . '/mpdf/mpdf/src/QrCode/QrCodeException.php', + 'Mpdf\\RemoteContentFetcher' => __DIR__ . '/..' . '/mpdf/mpdf/src/RemoteContentFetcher.php', + 'Mpdf\\ServiceFactory' => __DIR__ . '/..' . '/mpdf/mpdf/src/ServiceFactory.php', 'Mpdf\\Shaper\\Indic' => __DIR__ . '/..' . '/mpdf/mpdf/src/Shaper/Indic.php', 'Mpdf\\Shaper\\Myanmar' => __DIR__ . '/..' . '/mpdf/mpdf/src/Shaper/Myanmar.php', 'Mpdf\\Shaper\\Sea' => __DIR__ . '/..' . '/mpdf/mpdf/src/Shaper/Sea.php', 'Mpdf\\SizeConverter' => __DIR__ . '/..' . '/mpdf/mpdf/src/SizeConverter.php', + 'Mpdf\\Strict' => __DIR__ . '/..' . '/mpdf/mpdf/src/Strict.php', 'Mpdf\\TTFontFile' => __DIR__ . '/..' . '/mpdf/mpdf/src/TTFontFile.php', 'Mpdf\\TTFontFileAnalysis' => __DIR__ . '/..' . '/mpdf/mpdf/src/TTFontFileAnalysis.php', 'Mpdf\\TableOfContents' => __DIR__ . '/..' . '/mpdf/mpdf/src/TableOfContents.php', @@ -386,32 +453,27 @@ class ComposerStaticInitfdecadadce22e6dde51e9535fe4ad7aa 'Mpdf\\Utils\\NumericString' => __DIR__ . '/..' . '/mpdf/mpdf/src/Utils/NumericString.php', 'Mpdf\\Utils\\PdfDate' => __DIR__ . '/..' . '/mpdf/mpdf/src/Utils/PdfDate.php', 'Mpdf\\Utils\\UtfString' => __DIR__ . '/..' . '/mpdf/mpdf/src/Utils/UtfString.php', + 'Mpdf\\Writer\\BackgroundWriter' => __DIR__ . '/..' . '/mpdf/mpdf/src/Writer/BackgroundWriter.php', + 'Mpdf\\Writer\\BaseWriter' => __DIR__ . '/..' . '/mpdf/mpdf/src/Writer/BaseWriter.php', + 'Mpdf\\Writer\\BookmarkWriter' => __DIR__ . '/..' . '/mpdf/mpdf/src/Writer/BookmarkWriter.php', + 'Mpdf\\Writer\\ColorWriter' => __DIR__ . '/..' . '/mpdf/mpdf/src/Writer/ColorWriter.php', + 'Mpdf\\Writer\\FontWriter' => __DIR__ . '/..' . '/mpdf/mpdf/src/Writer/FontWriter.php', + 'Mpdf\\Writer\\FormWriter' => __DIR__ . '/..' . '/mpdf/mpdf/src/Writer/FormWriter.php', + 'Mpdf\\Writer\\ImageWriter' => __DIR__ . '/..' . '/mpdf/mpdf/src/Writer/ImageWriter.php', + 'Mpdf\\Writer\\JavaScriptWriter' => __DIR__ . '/..' . '/mpdf/mpdf/src/Writer/JavaScriptWriter.php', + 'Mpdf\\Writer\\MetadataWriter' => __DIR__ . '/..' . '/mpdf/mpdf/src/Writer/MetadataWriter.php', + 'Mpdf\\Writer\\ObjectWriter' => __DIR__ . '/..' . '/mpdf/mpdf/src/Writer/ObjectWriter.php', + 'Mpdf\\Writer\\OptionalContentWriter' => __DIR__ . '/..' . '/mpdf/mpdf/src/Writer/OptionalContentWriter.php', + 'Mpdf\\Writer\\PageWriter' => __DIR__ . '/..' . '/mpdf/mpdf/src/Writer/PageWriter.php', + 'Mpdf\\Writer\\ResourceWriter' => __DIR__ . '/..' . '/mpdf/mpdf/src/Writer/ResourceWriter.php', + 'Normalizer' => __DIR__ . '/..' . '/symfony/polyfill-intl-normalizer/Resources/stubs/Normalizer.php', 'PandoraFMS\\Agent' => __DIR__ . '/../..' . '/include/lib/Agent.php', + 'PandoraFMS\\Calendar' => __DIR__ . '/../..' . '/include/lib/Calendar.php', 'PandoraFMS\\Core\\Config' => __DIR__ . '/../..' . '/include/lib/Core/Config.php', 'PandoraFMS\\Core\\DBMaintainer' => __DIR__ . '/../..' . '/include/lib/Core/DBMaintainer.php', 'PandoraFMS\\Dashboard\\Cell' => __DIR__ . '/../..' . '/include/lib/Dashboard/Cell.php', 'PandoraFMS\\Dashboard\\Manager' => __DIR__ . '/../..' . '/include/lib/Dashboard/Manager.php', 'PandoraFMS\\Dashboard\\Widget' => __DIR__ . '/../..' . '/include/lib/Dashboard/Widget.php', - 'PandoraFMS\\Enterprise\\Agent' => __DIR__ . '/../..' . '/enterprise/include/lib/Agent.php', - 'PandoraFMS\\Enterprise\\Cluster' => __DIR__ . '/../..' . '/enterprise/include/lib/Cluster.php', - 'PandoraFMS\\Enterprise\\ClusterModule' => __DIR__ . '/../..' . '/enterprise/include/lib/ClusterModule.php', - 'PandoraFMS\\Enterprise\\ClusterViewer\\ClusterManager' => __DIR__ . '/../..' . '/enterprise/include/lib/ClusterViewer/ClusterManager.php', - 'PandoraFMS\\Enterprise\\ClusterViewer\\ClusterWizard' => __DIR__ . '/../..' . '/enterprise/include/lib/ClusterViewer/ClusterWizard.php', - 'PandoraFMS\\Enterprise\\Metaconsole\\MergeQueue' => __DIR__ . '/../..' . '/enterprise/include/lib/Metaconsole/MergeQueue.php', - 'PandoraFMS\\Enterprise\\Metaconsole\\MergeQueuePlan' => __DIR__ . '/../..' . '/enterprise/include/lib/Metaconsole/MergeQueuePlan.php', - 'PandoraFMS\\Enterprise\\Metaconsole\\Node' => __DIR__ . '/../..' . '/enterprise/include/lib/Metaconsole/Node.php', - 'PandoraFMS\\Enterprise\\Metaconsole\\PriorityPlan' => __DIR__ . '/../..' . '/enterprise/include/lib/Metaconsole/PriorityPlan.php', - 'PandoraFMS\\Enterprise\\Metaconsole\\SyncQueue' => __DIR__ . '/../..' . '/enterprise/include/lib/Metaconsole/SyncQueue.php', - 'PandoraFMS\\Enterprise\\Metaconsole\\SyncQueueItem' => __DIR__ . '/../..' . '/enterprise/include/lib/Metaconsole/SyncQueueItem.php', - 'PandoraFMS\\Enterprise\\Metaconsole\\Synchronizer' => __DIR__ . '/../..' . '/enterprise/include/lib/Metaconsole/Synchronizer.php', - 'PandoraFMS\\Enterprise\\NetworkManager' => __DIR__ . '/../..' . '/enterprise/include/lib/NetworkManager.php', - 'PandoraFMS\\Enterprise\\NetworkManager\\NetworkAgent' => __DIR__ . '/../..' . '/enterprise/include/lib/NetworkManager/NetworkAgent.php', - 'PandoraFMS\\Enterprise\\Policy' => __DIR__ . '/../..' . '/enterprise/include/lib/Policy.php', - 'PandoraFMS\\Enterprise\\Policy\\Inventory' => __DIR__ . '/../..' . '/enterprise/include/lib/Policy/Inventory.php', - 'PandoraFMS\\Enterprise\\Policy\\Module' => __DIR__ . '/../..' . '/enterprise/include/lib/Policy/Module.php', - 'PandoraFMS\\Enterprise\\Policy\\Queue' => __DIR__ . '/../..' . '/enterprise/include/lib/Policy/Queue.php', - 'PandoraFMS\\Enterprise\\Service' => __DIR__ . '/../..' . '/enterprise/include/lib/Service.php', - 'PandoraFMS\\Enterprise\\ServiceElement' => __DIR__ . '/../..' . '/enterprise/include/lib/ServiceElement.php', 'PandoraFMS\\Entity' => __DIR__ . '/../..' . '/include/lib/Entity.php', 'PandoraFMS\\Event' => __DIR__ . '/../..' . '/include/lib/Event.php', 'PandoraFMS\\Group' => __DIR__ . '/../..' . '/include/lib/Group.php', @@ -419,23 +481,77 @@ class ComposerStaticInitfdecadadce22e6dde51e9535fe4ad7aa 'PandoraFMS\\ModuleStatus' => __DIR__ . '/../..' . '/include/lib/ModuleStatus.php', 'PandoraFMS\\ModuleType' => __DIR__ . '/../..' . '/include/lib/ModuleType.php', 'PandoraFMS\\PublicLogin' => __DIR__ . '/../..' . '/include/lib/PublicLogin.php', + 'PandoraFMS\\SpecialDay' => __DIR__ . '/../..' . '/include/lib/SpecialDay.php', 'PandoraFMS\\Tools\\Files' => __DIR__ . '/../..' . '/include/lib/Tools/Files.php', + 'PandoraFMS\\Tools\\Strings' => __DIR__ . '/../..' . '/include/lib/Tools/Strings.php', 'PandoraFMS\\User' => __DIR__ . '/../..' . '/include/lib/User.php', 'PandoraFMS\\View' => __DIR__ . '/../..' . '/include/lib/View.php', 'PandoraFMS\\Websockets\\WSManager' => __DIR__ . '/../..' . '/include/lib/Websockets/WSManager.php', 'PandoraFMS\\Websockets\\WebSocketServer' => __DIR__ . '/../..' . '/include/lib/Websockets/WebSocketServer.php', 'PandoraFMS\\Websockets\\WebSocketUser' => __DIR__ . '/../..' . '/include/lib/Websockets/WebSocketUser.php', - 'Psr\\Log\\AbstractLogger' => __DIR__ . '/..' . '/psr/log/Psr/Log/AbstractLogger.php', - 'Psr\\Log\\InvalidArgumentException' => __DIR__ . '/..' . '/psr/log/Psr/Log/InvalidArgumentException.php', - 'Psr\\Log\\LogLevel' => __DIR__ . '/..' . '/psr/log/Psr/Log/LogLevel.php', - 'Psr\\Log\\LoggerAwareInterface' => __DIR__ . '/..' . '/psr/log/Psr/Log/LoggerAwareInterface.php', - 'Psr\\Log\\LoggerAwareTrait' => __DIR__ . '/..' . '/psr/log/Psr/Log/LoggerAwareTrait.php', - 'Psr\\Log\\LoggerInterface' => __DIR__ . '/..' . '/psr/log/Psr/Log/LoggerInterface.php', - 'Psr\\Log\\LoggerTrait' => __DIR__ . '/..' . '/psr/log/Psr/Log/LoggerTrait.php', - 'Psr\\Log\\NullLogger' => __DIR__ . '/..' . '/psr/log/Psr/Log/NullLogger.php', - 'Psr\\Log\\Test\\LoggerInterfaceTest' => __DIR__ . '/..' . '/psr/log/Psr/Log/Test/LoggerInterfaceTest.php', - 'fpdi_pdf_parser' => __DIR__ . '/..' . '/setasign/fpdi/fpdi_pdf_parser.php', - 'pdf_context' => __DIR__ . '/..' . '/setasign/fpdi/pdf_context.php', + 'Psr\\Log\\AbstractLogger' => __DIR__ . '/..' . '/psr/log/src/AbstractLogger.php', + 'Psr\\Log\\InvalidArgumentException' => __DIR__ . '/..' . '/psr/log/src/InvalidArgumentException.php', + 'Psr\\Log\\LogLevel' => __DIR__ . '/..' . '/psr/log/src/LogLevel.php', + 'Psr\\Log\\LoggerAwareInterface' => __DIR__ . '/..' . '/psr/log/src/LoggerAwareInterface.php', + 'Psr\\Log\\LoggerAwareTrait' => __DIR__ . '/..' . '/psr/log/src/LoggerAwareTrait.php', + 'Psr\\Log\\LoggerInterface' => __DIR__ . '/..' . '/psr/log/src/LoggerInterface.php', + 'Psr\\Log\\LoggerTrait' => __DIR__ . '/..' . '/psr/log/src/LoggerTrait.php', + 'Psr\\Log\\NullLogger' => __DIR__ . '/..' . '/psr/log/src/NullLogger.php', + 'Symfony\\Polyfill\\Iconv\\Iconv' => __DIR__ . '/..' . '/symfony/polyfill-iconv/Iconv.php', + 'Symfony\\Polyfill\\Intl\\Idn\\Idn' => __DIR__ . '/..' . '/symfony/polyfill-intl-idn/Idn.php', + 'Symfony\\Polyfill\\Intl\\Idn\\Info' => __DIR__ . '/..' . '/symfony/polyfill-intl-idn/Info.php', + 'Symfony\\Polyfill\\Intl\\Idn\\Resources\\unidata\\DisallowedRanges' => __DIR__ . '/..' . '/symfony/polyfill-intl-idn/Resources/unidata/DisallowedRanges.php', + 'Symfony\\Polyfill\\Intl\\Idn\\Resources\\unidata\\Regex' => __DIR__ . '/..' . '/symfony/polyfill-intl-idn/Resources/unidata/Regex.php', + 'Symfony\\Polyfill\\Intl\\Normalizer\\Normalizer' => __DIR__ . '/..' . '/symfony/polyfill-intl-normalizer/Normalizer.php', + 'Symfony\\Polyfill\\Mbstring\\Mbstring' => __DIR__ . '/..' . '/symfony/polyfill-mbstring/Mbstring.php', + 'Symfony\\Polyfill\\Php72\\Php72' => __DIR__ . '/..' . '/symfony/polyfill-php72/Php72.php', + 'setasign\\Fpdi\\FpdfTpl' => __DIR__ . '/..' . '/setasign/fpdi/src/FpdfTpl.php', + 'setasign\\Fpdi\\FpdfTplTrait' => __DIR__ . '/..' . '/setasign/fpdi/src/FpdfTplTrait.php', + 'setasign\\Fpdi\\Fpdi' => __DIR__ . '/..' . '/setasign/fpdi/src/Fpdi.php', + 'setasign\\Fpdi\\FpdiException' => __DIR__ . '/..' . '/setasign/fpdi/src/FpdiException.php', + 'setasign\\Fpdi\\FpdiTrait' => __DIR__ . '/..' . '/setasign/fpdi/src/FpdiTrait.php', + 'setasign\\Fpdi\\PdfParser\\CrossReference\\AbstractReader' => __DIR__ . '/..' . '/setasign/fpdi/src/PdfParser/CrossReference/AbstractReader.php', + 'setasign\\Fpdi\\PdfParser\\CrossReference\\CrossReference' => __DIR__ . '/..' . '/setasign/fpdi/src/PdfParser/CrossReference/CrossReference.php', + 'setasign\\Fpdi\\PdfParser\\CrossReference\\CrossReferenceException' => __DIR__ . '/..' . '/setasign/fpdi/src/PdfParser/CrossReference/CrossReferenceException.php', + 'setasign\\Fpdi\\PdfParser\\CrossReference\\FixedReader' => __DIR__ . '/..' . '/setasign/fpdi/src/PdfParser/CrossReference/FixedReader.php', + 'setasign\\Fpdi\\PdfParser\\CrossReference\\LineReader' => __DIR__ . '/..' . '/setasign/fpdi/src/PdfParser/CrossReference/LineReader.php', + 'setasign\\Fpdi\\PdfParser\\CrossReference\\ReaderInterface' => __DIR__ . '/..' . '/setasign/fpdi/src/PdfParser/CrossReference/ReaderInterface.php', + 'setasign\\Fpdi\\PdfParser\\Filter\\Ascii85' => __DIR__ . '/..' . '/setasign/fpdi/src/PdfParser/Filter/Ascii85.php', + 'setasign\\Fpdi\\PdfParser\\Filter\\Ascii85Exception' => __DIR__ . '/..' . '/setasign/fpdi/src/PdfParser/Filter/Ascii85Exception.php', + 'setasign\\Fpdi\\PdfParser\\Filter\\AsciiHex' => __DIR__ . '/..' . '/setasign/fpdi/src/PdfParser/Filter/AsciiHex.php', + 'setasign\\Fpdi\\PdfParser\\Filter\\FilterException' => __DIR__ . '/..' . '/setasign/fpdi/src/PdfParser/Filter/FilterException.php', + 'setasign\\Fpdi\\PdfParser\\Filter\\FilterInterface' => __DIR__ . '/..' . '/setasign/fpdi/src/PdfParser/Filter/FilterInterface.php', + 'setasign\\Fpdi\\PdfParser\\Filter\\Flate' => __DIR__ . '/..' . '/setasign/fpdi/src/PdfParser/Filter/Flate.php', + 'setasign\\Fpdi\\PdfParser\\Filter\\FlateException' => __DIR__ . '/..' . '/setasign/fpdi/src/PdfParser/Filter/FlateException.php', + 'setasign\\Fpdi\\PdfParser\\Filter\\Lzw' => __DIR__ . '/..' . '/setasign/fpdi/src/PdfParser/Filter/Lzw.php', + 'setasign\\Fpdi\\PdfParser\\Filter\\LzwException' => __DIR__ . '/..' . '/setasign/fpdi/src/PdfParser/Filter/LzwException.php', + 'setasign\\Fpdi\\PdfParser\\PdfParser' => __DIR__ . '/..' . '/setasign/fpdi/src/PdfParser/PdfParser.php', + 'setasign\\Fpdi\\PdfParser\\PdfParserException' => __DIR__ . '/..' . '/setasign/fpdi/src/PdfParser/PdfParserException.php', + 'setasign\\Fpdi\\PdfParser\\StreamReader' => __DIR__ . '/..' . '/setasign/fpdi/src/PdfParser/StreamReader.php', + 'setasign\\Fpdi\\PdfParser\\Tokenizer' => __DIR__ . '/..' . '/setasign/fpdi/src/PdfParser/Tokenizer.php', + 'setasign\\Fpdi\\PdfParser\\Type\\PdfArray' => __DIR__ . '/..' . '/setasign/fpdi/src/PdfParser/Type/PdfArray.php', + 'setasign\\Fpdi\\PdfParser\\Type\\PdfBoolean' => __DIR__ . '/..' . '/setasign/fpdi/src/PdfParser/Type/PdfBoolean.php', + 'setasign\\Fpdi\\PdfParser\\Type\\PdfDictionary' => __DIR__ . '/..' . '/setasign/fpdi/src/PdfParser/Type/PdfDictionary.php', + 'setasign\\Fpdi\\PdfParser\\Type\\PdfHexString' => __DIR__ . '/..' . '/setasign/fpdi/src/PdfParser/Type/PdfHexString.php', + 'setasign\\Fpdi\\PdfParser\\Type\\PdfIndirectObject' => __DIR__ . '/..' . '/setasign/fpdi/src/PdfParser/Type/PdfIndirectObject.php', + 'setasign\\Fpdi\\PdfParser\\Type\\PdfIndirectObjectReference' => __DIR__ . '/..' . '/setasign/fpdi/src/PdfParser/Type/PdfIndirectObjectReference.php', + 'setasign\\Fpdi\\PdfParser\\Type\\PdfName' => __DIR__ . '/..' . '/setasign/fpdi/src/PdfParser/Type/PdfName.php', + 'setasign\\Fpdi\\PdfParser\\Type\\PdfNull' => __DIR__ . '/..' . '/setasign/fpdi/src/PdfParser/Type/PdfNull.php', + 'setasign\\Fpdi\\PdfParser\\Type\\PdfNumeric' => __DIR__ . '/..' . '/setasign/fpdi/src/PdfParser/Type/PdfNumeric.php', + 'setasign\\Fpdi\\PdfParser\\Type\\PdfStream' => __DIR__ . '/..' . '/setasign/fpdi/src/PdfParser/Type/PdfStream.php', + 'setasign\\Fpdi\\PdfParser\\Type\\PdfString' => __DIR__ . '/..' . '/setasign/fpdi/src/PdfParser/Type/PdfString.php', + 'setasign\\Fpdi\\PdfParser\\Type\\PdfToken' => __DIR__ . '/..' . '/setasign/fpdi/src/PdfParser/Type/PdfToken.php', + 'setasign\\Fpdi\\PdfParser\\Type\\PdfType' => __DIR__ . '/..' . '/setasign/fpdi/src/PdfParser/Type/PdfType.php', + 'setasign\\Fpdi\\PdfParser\\Type\\PdfTypeException' => __DIR__ . '/..' . '/setasign/fpdi/src/PdfParser/Type/PdfTypeException.php', + 'setasign\\Fpdi\\PdfReader\\DataStructure\\Rectangle' => __DIR__ . '/..' . '/setasign/fpdi/src/PdfReader/DataStructure/Rectangle.php', + 'setasign\\Fpdi\\PdfReader\\Page' => __DIR__ . '/..' . '/setasign/fpdi/src/PdfReader/Page.php', + 'setasign\\Fpdi\\PdfReader\\PageBoundaries' => __DIR__ . '/..' . '/setasign/fpdi/src/PdfReader/PageBoundaries.php', + 'setasign\\Fpdi\\PdfReader\\PdfReader' => __DIR__ . '/..' . '/setasign/fpdi/src/PdfReader/PdfReader.php', + 'setasign\\Fpdi\\PdfReader\\PdfReaderException' => __DIR__ . '/..' . '/setasign/fpdi/src/PdfReader/PdfReaderException.php', + 'setasign\\Fpdi\\TcpdfFpdi' => __DIR__ . '/..' . '/setasign/fpdi/src/TcpdfFpdi.php', + 'setasign\\Fpdi\\Tcpdf\\Fpdi' => __DIR__ . '/..' . '/setasign/fpdi/src/Tcpdf/Fpdi.php', + 'setasign\\Fpdi\\Tfpdf\\FpdfTpl' => __DIR__ . '/..' . '/setasign/fpdi/src/Tfpdf/FpdfTpl.php', + 'setasign\\Fpdi\\Tfpdf\\Fpdi' => __DIR__ . '/..' . '/setasign/fpdi/src/Tfpdf/Fpdi.php', ); public static function getInitializer(ClassLoader $loader) @@ -443,7 +559,6 @@ class ComposerStaticInitfdecadadce22e6dde51e9535fe4ad7aa return \Closure::bind(function () use ($loader) { $loader->prefixLengthsPsr4 = ComposerStaticInitfdecadadce22e6dde51e9535fe4ad7aa::$prefixLengthsPsr4; $loader->prefixDirsPsr4 = ComposerStaticInitfdecadadce22e6dde51e9535fe4ad7aa::$prefixDirsPsr4; - $loader->prefixesPsr0 = ComposerStaticInitfdecadadce22e6dde51e9535fe4ad7aa::$prefixesPsr0; $loader->classMap = ComposerStaticInitfdecadadce22e6dde51e9535fe4ad7aa::$classMap; }, null, ClassLoader::class); diff --git a/pandora_console/vendor/composer/installed.json b/pandora_console/vendor/composer/installed.json index b7c95d0a34..5aa09e1981 100644 --- a/pandora_console/vendor/composer/installed.json +++ b/pandora_console/vendor/composer/installed.json @@ -1,442 +1,980 @@ -[ - { - "name": "doctrine/lexer", - "version": "v1.0.1", - "version_normalized": "1.0.1.0", - "source": { - "type": "git", - "url": "https://github.com/doctrine/lexer.git", - "reference": "83893c552fd2045dd78aef794c31e694c37c0b8c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/lexer/zipball/83893c552fd2045dd78aef794c31e694c37c0b8c", - "reference": "83893c552fd2045dd78aef794c31e694c37c0b8c", - "shasum": "" - }, - "require": { - "php": ">=5.3.2" - }, - "time": "2014-09-09T13:34:57+00:00", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "installation-source": "dist", - "autoload": { - "psr-0": { - "Doctrine\\Common\\Lexer\\": "lib/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Roman Borschel", - "email": "roman@code-factory.org" +{ + "packages": [ + { + "name": "doctrine/lexer", + "version": "1.2.2", + "version_normalized": "1.2.2.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/lexer.git", + "reference": "9c50f840f257bbb941e6f4a0e94ccf5db5c3f76c" }, - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com" + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/lexer/zipball/9c50f840f257bbb941e6f4a0e94ccf5db5c3f76c", + "reference": "9c50f840f257bbb941e6f4a0e94ccf5db5c3f76c", + "shasum": "" }, - { - "name": "Johannes Schmitt", - "email": "schmittjoh@gmail.com" - } - ], - "description": "Base library for a lexer that can be used in Top-Down, Recursive Descent Parsers.", - "homepage": "http://www.doctrine-project.org", - "keywords": [ - "lexer", - "parser" - ] - }, - { - "name": "egulias/email-validator", - "version": "2.1.6", - "version_normalized": "2.1.6.0", - "source": { - "type": "git", - "url": "https://github.com/egulias/EmailValidator.git", - "reference": "0578b32b30b22de3e8664f797cf846fc9246f786" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/0578b32b30b22de3e8664f797cf846fc9246f786", - "reference": "0578b32b30b22de3e8664f797cf846fc9246f786", - "shasum": "" - }, - "require": { - "doctrine/lexer": "^1.0.1", - "php": ">= 5.5" - }, - "require-dev": { - "dominicsayers/isemail": "dev-master", - "phpunit/phpunit": "^4.8.35||^5.7||^6.0", - "satooshi/php-coveralls": "^1.0.1" - }, - "suggest": { - "ext-intl": "PHP Internationalization Libraries are required to use the SpoofChecking validation" - }, - "time": "2018-09-25T20:47:26+00:00", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, - "installation-source": "dist", - "autoload": { - "psr-4": { - "Egulias\\EmailValidator\\": "EmailValidator" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Eduardo Gulias Davis" - } - ], - "description": "A library for validating emails against several RFCs", - "homepage": "https://github.com/egulias/EmailValidator", - "keywords": [ - "email", - "emailvalidation", - "emailvalidator", - "validation", - "validator" - ] - }, - { - "name": "mpdf/mpdf", - "version": "v7.1.5", - "version_normalized": "7.1.5.0", - "source": { - "type": "git", - "url": "https://github.com/mpdf/mpdf.git", - "reference": "2ed29c3a59fa23e77052e9d7fa7e31c707fb7502" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/mpdf/mpdf/zipball/2ed29c3a59fa23e77052e9d7fa7e31c707fb7502", - "reference": "2ed29c3a59fa23e77052e9d7fa7e31c707fb7502", - "shasum": "" - }, - "require": { - "ext-gd": "*", - "ext-mbstring": "*", - "myclabs/deep-copy": "^1.7", - "paragonie/random_compat": "^1.4|^2.0|9.99.99", - "php": "^5.6 || ~7.0.0 || ~7.1.0 || ~7.2.0", - "psr/log": "^1.0", - "setasign/fpdi": "1.6.*" - }, - "require-dev": { - "mockery/mockery": "^0.9.5", - "phpunit/phpunit": "^5.0", - "squizlabs/php_codesniffer": "^2.7.0", - "tracy/tracy": "^2.4" - }, - "suggest": { - "ext-bcmath": "Needed for generation of some types of barcodes", - "ext-xml": "Needed mainly for SVG manipulation", - "ext-zlib": "Needed for compression of embedded resources, such as fonts" - }, - "time": "2018-09-19T09:58:39+00:00", - "type": "library", - "extra": { - "branch-alias": { - "dev-development": "7.0-dev" - } - }, - "installation-source": "dist", - "autoload": { - "psr-4": { - "Mpdf\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "GPL-2.0-only" - ], - "authors": [ - { - "name": "Matěj Humpál", - "role": "Developer, maintainer" + "require": { + "php": "^7.1 || ^8.0" }, - { - "name": "Ian Back", - "role": "Developer (retired)" - } - ], - "description": "A PHP class to generate PDF files from HTML with Unicode/UTF-8 and CJK support", - "homepage": "https://mpdf.github.io", - "keywords": [ - "pdf", - "php", - "utf-8" - ] - }, - { - "name": "myclabs/deep-copy", - "version": "1.7.0", - "version_normalized": "1.7.0.0", - "source": { - "type": "git", - "url": "https://github.com/myclabs/DeepCopy.git", - "reference": "3b8a3a99ba1f6a3952ac2747d989303cbd6b7a3e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/3b8a3a99ba1f6a3952ac2747d989303cbd6b7a3e", - "reference": "3b8a3a99ba1f6a3952ac2747d989303cbd6b7a3e", - "shasum": "" - }, - "require": { - "php": "^5.6 || ^7.0" - }, - "require-dev": { - "doctrine/collections": "^1.0", - "doctrine/common": "^2.6", - "phpunit/phpunit": "^4.1" - }, - "time": "2017-10-19T19:58:43+00:00", - "type": "library", - "installation-source": "dist", - "autoload": { - "psr-4": { - "DeepCopy\\": "src/DeepCopy/" + "require-dev": { + "doctrine/coding-standard": "^9.0", + "phpstan/phpstan": "1.3", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", + "vimeo/psalm": "^4.11" }, - "files": [ - "src/DeepCopy/deep_copy.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "Create deep copies (clones) of your objects", - "keywords": [ - "clone", - "copy", - "duplicate", - "object", - "object graph" - ] - }, - { - "name": "paragonie/random_compat", - "version": "v9.99.99", - "version_normalized": "9.99.99.0", - "source": { - "type": "git", - "url": "https://github.com/paragonie/random_compat.git", - "reference": "84b4dfb120c6f9b4ff7b3685f9b8f1aa365a0c95" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/paragonie/random_compat/zipball/84b4dfb120c6f9b4ff7b3685f9b8f1aa365a0c95", - "reference": "84b4dfb120c6f9b4ff7b3685f9b8f1aa365a0c95", - "shasum": "" - }, - "require": { - "php": "^7" - }, - "require-dev": { - "phpunit/phpunit": "4.*|5.*", - "vimeo/psalm": "^1" - }, - "suggest": { - "ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes." - }, - "time": "2018-07-02T15:55:56+00:00", - "type": "library", - "installation-source": "dist", - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Paragon Initiative Enterprises", - "email": "security@paragonie.com", - "homepage": "https://paragonie.com" - } - ], - "description": "PHP 5.x polyfill for random_bytes() and random_int() from PHP 7", - "keywords": [ - "csprng", - "polyfill", - "pseudorandom", - "random" - ] - }, - { - "name": "psr/log", - "version": "1.0.2", - "version_normalized": "1.0.2.0", - "source": { - "type": "git", - "url": "https://github.com/php-fig/log.git", - "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", - "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "time": "2016-10-10T12:19:37+00:00", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "installation-source": "dist", - "autoload": { - "psr-4": { - "Psr\\Log\\": "Psr/Log/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common interface for logging libraries", - "homepage": "https://github.com/php-fig/log", - "keywords": [ - "log", - "psr", - "psr-3" - ] - }, - { - "name": "setasign/fpdi", - "version": "1.6.2", - "version_normalized": "1.6.2.0", - "source": { - "type": "git", - "url": "https://github.com/Setasign/FPDI.git", - "reference": "a6ad58897a6d97cc2d2cd2adaeda343b25a368ea" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Setasign/FPDI/zipball/a6ad58897a6d97cc2d2cd2adaeda343b25a368ea", - "reference": "a6ad58897a6d97cc2d2cd2adaeda343b25a368ea", - "shasum": "" - }, - "suggest": { - "setasign/fpdf": "FPDI will extend this class but as it is also possible to use \"tecnickcom/tcpdf\" as an alternative there's no fixed dependency configured.", - "setasign/fpdi-fpdf": "Use this package to automatically evaluate dependencies to FPDF.", - "setasign/fpdi-tcpdf": "Use this package to automatically evaluate dependencies to TCPDF." - }, - "time": "2017-05-11T14:25:49+00:00", - "type": "library", - "installation-source": "dist", - "autoload": { - "classmap": [ - "filters/", - "fpdi.php", - "fpdf_tpl.php", - "fpdi_pdf_parser.php", - "pdf_context.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jan Slabon", - "email": "jan.slabon@setasign.com", - "homepage": "https://www.setasign.com" - } - ], - "description": "FPDI is a collection of PHP classes facilitating developers to read pages from existing PDF documents and use them as templates in FPDF. Because it is also possible to use FPDI with TCPDF, there are no fixed dependencies defined. Please see suggestions for packages which evaluates the dependencies automatically.", - "homepage": "https://www.setasign.com/fpdi", - "keywords": [ - "fpdf", - "fpdi", - "pdf" - ] - }, - { - "name": "swiftmailer/swiftmailer", - "version": "v6.1.3", - "version_normalized": "6.1.3.0", - "source": { - "type": "git", - "url": "https://github.com/swiftmailer/swiftmailer.git", - "reference": "8ddcb66ac10c392d3beb54829eef8ac1438595f4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/8ddcb66ac10c392d3beb54829eef8ac1438595f4", - "reference": "8ddcb66ac10c392d3beb54829eef8ac1438595f4", - "shasum": "" - }, - "require": { - "egulias/email-validator": "~2.0", - "php": ">=7.0.0" - }, - "require-dev": { - "mockery/mockery": "~0.9.1", - "symfony/phpunit-bridge": "~3.3@dev" - }, - "suggest": { - "ext-intl": "Needed to support internationalized email addresses", - "true/punycode": "Needed to support internationalized email addresses, if ext-intl is not installed" - }, - "time": "2018-09-11T07:12:52+00:00", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "6.1-dev" - } - }, - "installation-source": "dist", - "autoload": { - "files": [ - "lib/swift_required.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Chris Corbyn" + "time": "2022-01-12T08:27:12+00:00", + "type": "library", + "installation-source": "dist", + "autoload": { + "psr-4": { + "Doctrine\\Common\\Lexer\\": "lib/Doctrine/Common/Lexer" + } }, - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - } - ], - "description": "Swiftmailer, free feature-rich PHP mailer", - "homepage": "https://swiftmailer.symfony.com", - "keywords": [ - "email", - "mail", - "mailer" - ] - } -] + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "PHP Doctrine Lexer parser library that can be used in Top-Down, Recursive Descent Parsers.", + "homepage": "https://www.doctrine-project.org/projects/lexer.html", + "keywords": [ + "annotations", + "docblock", + "lexer", + "parser", + "php" + ], + "support": { + "issues": "https://github.com/doctrine/lexer/issues", + "source": "https://github.com/doctrine/lexer/tree/1.2.2" + }, + "funding": [ + { + "url": "https://www.doctrine-project.org/sponsorship.html", + "type": "custom" + }, + { + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Flexer", + "type": "tidelift" + } + ], + "install-path": "../doctrine/lexer" + }, + { + "name": "egulias/email-validator", + "version": "3.1.2", + "version_normalized": "3.1.2.0", + "source": { + "type": "git", + "url": "https://github.com/egulias/EmailValidator.git", + "reference": "ee0db30118f661fb166bcffbf5d82032df484697" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/ee0db30118f661fb166bcffbf5d82032df484697", + "reference": "ee0db30118f661fb166bcffbf5d82032df484697", + "shasum": "" + }, + "require": { + "doctrine/lexer": "^1.2", + "php": ">=7.2", + "symfony/polyfill-intl-idn": "^1.15" + }, + "require-dev": { + "php-coveralls/php-coveralls": "^2.2", + "phpunit/phpunit": "^8.5.8|^9.3.3", + "vimeo/psalm": "^4" + }, + "suggest": { + "ext-intl": "PHP Internationalization Libraries are required to use the SpoofChecking validation" + }, + "time": "2021-10-11T09:18:27+00:00", + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0.x-dev" + } + }, + "installation-source": "dist", + "autoload": { + "psr-4": { + "Egulias\\EmailValidator\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Eduardo Gulias Davis" + } + ], + "description": "A library for validating emails against several RFCs", + "homepage": "https://github.com/egulias/EmailValidator", + "keywords": [ + "email", + "emailvalidation", + "emailvalidator", + "validation", + "validator" + ], + "support": { + "issues": "https://github.com/egulias/EmailValidator/issues", + "source": "https://github.com/egulias/EmailValidator/tree/3.1.2" + }, + "funding": [ + { + "url": "https://github.com/egulias", + "type": "github" + } + ], + "install-path": "../egulias/email-validator" + }, + { + "name": "mpdf/mpdf", + "version": "v8.0.15", + "version_normalized": "8.0.15.0", + "source": { + "type": "git", + "url": "https://github.com/mpdf/mpdf.git", + "reference": "d8a5294a6cc2e814c4157aecc8d7ac25014b18ed" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/mpdf/mpdf/zipball/d8a5294a6cc2e814c4157aecc8d7ac25014b18ed", + "reference": "d8a5294a6cc2e814c4157aecc8d7ac25014b18ed", + "shasum": "" + }, + "require": { + "ext-gd": "*", + "ext-mbstring": "*", + "myclabs/deep-copy": "^1.7", + "paragonie/random_compat": "^1.4|^2.0|^9.99.99", + "php": "^5.6 || ^7.0 || ~8.0.0 || ~8.1.0", + "psr/log": "^1.0 || ^2.0", + "setasign/fpdi": "^2.1" + }, + "require-dev": { + "mockery/mockery": "^1.3.0", + "mpdf/qrcode": "^1.1.0", + "squizlabs/php_codesniffer": "^3.5.0", + "tracy/tracy": "^2.4", + "yoast/phpunit-polyfills": "^1.0" + }, + "suggest": { + "ext-bcmath": "Needed for generation of some types of barcodes", + "ext-xml": "Needed mainly for SVG manipulation", + "ext-zlib": "Needed for compression of embedded resources, such as fonts" + }, + "time": "2021-11-10T08:15:22+00:00", + "type": "library", + "installation-source": "dist", + "autoload": { + "psr-4": { + "Mpdf\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "GPL-2.0-only" + ], + "authors": [ + { + "name": "Matěj Humpál", + "role": "Developer, maintainer" + }, + { + "name": "Ian Back", + "role": "Developer (retired)" + } + ], + "description": "PHP library generating PDF files from UTF-8 encoded HTML", + "homepage": "https://mpdf.github.io", + "keywords": [ + "pdf", + "php", + "utf-8" + ], + "support": { + "docs": "http://mpdf.github.io", + "issues": "https://github.com/mpdf/mpdf/issues", + "source": "https://github.com/mpdf/mpdf" + }, + "funding": [ + { + "url": "https://www.paypal.me/mpdf", + "type": "custom" + } + ], + "install-path": "../mpdf/mpdf" + }, + { + "name": "myclabs/deep-copy", + "version": "1.10.2", + "version_normalized": "1.10.2.0", + "source": { + "type": "git", + "url": "https://github.com/myclabs/DeepCopy.git", + "reference": "776f831124e9c62e1a2c601ecc52e776d8bb7220" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/776f831124e9c62e1a2c601ecc52e776d8bb7220", + "reference": "776f831124e9c62e1a2c601ecc52e776d8bb7220", + "shasum": "" + }, + "require": { + "php": "^7.1 || ^8.0" + }, + "require-dev": { + "doctrine/collections": "^1.0", + "doctrine/common": "^2.6", + "phpunit/phpunit": "^7.1" + }, + "time": "2020-11-13T09:40:50+00:00", + "type": "library", + "installation-source": "dist", + "autoload": { + "psr-4": { + "DeepCopy\\": "src/DeepCopy/" + }, + "files": [ + "src/DeepCopy/deep_copy.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Create deep copies (clones) of your objects", + "keywords": [ + "clone", + "copy", + "duplicate", + "object", + "object graph" + ], + "support": { + "issues": "https://github.com/myclabs/DeepCopy/issues", + "source": "https://github.com/myclabs/DeepCopy/tree/1.10.2" + }, + "funding": [ + { + "url": "https://tidelift.com/funding/github/packagist/myclabs/deep-copy", + "type": "tidelift" + } + ], + "install-path": "../myclabs/deep-copy" + }, + { + "name": "paragonie/random_compat", + "version": "v9.99.100", + "version_normalized": "9.99.100.0", + "source": { + "type": "git", + "url": "https://github.com/paragonie/random_compat.git", + "reference": "996434e5492cb4c3edcb9168db6fbb1359ef965a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/paragonie/random_compat/zipball/996434e5492cb4c3edcb9168db6fbb1359ef965a", + "reference": "996434e5492cb4c3edcb9168db6fbb1359ef965a", + "shasum": "" + }, + "require": { + "php": ">= 7" + }, + "require-dev": { + "phpunit/phpunit": "4.*|5.*", + "vimeo/psalm": "^1" + }, + "suggest": { + "ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes." + }, + "time": "2020-10-15T08:29:30+00:00", + "type": "library", + "installation-source": "dist", + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Paragon Initiative Enterprises", + "email": "security@paragonie.com", + "homepage": "https://paragonie.com" + } + ], + "description": "PHP 5.x polyfill for random_bytes() and random_int() from PHP 7", + "keywords": [ + "csprng", + "polyfill", + "pseudorandom", + "random" + ], + "support": { + "email": "info@paragonie.com", + "issues": "https://github.com/paragonie/random_compat/issues", + "source": "https://github.com/paragonie/random_compat" + }, + "install-path": "../paragonie/random_compat" + }, + { + "name": "psr/log", + "version": "2.0.0", + "version_normalized": "2.0.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/log.git", + "reference": "ef29f6d262798707a9edd554e2b82517ef3a9376" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/log/zipball/ef29f6d262798707a9edd554e2b82517ef3a9376", + "reference": "ef29f6d262798707a9edd554e2b82517ef3a9376", + "shasum": "" + }, + "require": { + "php": ">=8.0.0" + }, + "time": "2021-07-14T16:41:46+00:00", + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "installation-source": "dist", + "autoload": { + "psr-4": { + "Psr\\Log\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common interface for logging libraries", + "homepage": "https://github.com/php-fig/log", + "keywords": [ + "log", + "psr", + "psr-3" + ], + "support": { + "source": "https://github.com/php-fig/log/tree/2.0.0" + }, + "install-path": "../psr/log" + }, + { + "name": "setasign/fpdi", + "version": "v2.3.6", + "version_normalized": "2.3.6.0", + "source": { + "type": "git", + "url": "https://github.com/Setasign/FPDI.git", + "reference": "6231e315f73e4f62d72b73f3d6d78ff0eed93c31" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Setasign/FPDI/zipball/6231e315f73e4f62d72b73f3d6d78ff0eed93c31", + "reference": "6231e315f73e4f62d72b73f3d6d78ff0eed93c31", + "shasum": "" + }, + "require": { + "ext-zlib": "*", + "php": "^5.6 || ^7.0 || ^8.0" + }, + "conflict": { + "setasign/tfpdf": "<1.31" + }, + "require-dev": { + "phpunit/phpunit": "~5.7", + "setasign/fpdf": "~1.8", + "setasign/tfpdf": "1.31", + "squizlabs/php_codesniffer": "^3.5", + "tecnickcom/tcpdf": "~6.2" + }, + "suggest": { + "setasign/fpdf": "FPDI will extend this class but as it is also possible to use TCPDF or tFPDF as an alternative. There's no fixed dependency configured." + }, + "time": "2021-02-11T11:37:01+00:00", + "type": "library", + "installation-source": "dist", + "autoload": { + "psr-4": { + "setasign\\Fpdi\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jan Slabon", + "email": "jan.slabon@setasign.com", + "homepage": "https://www.setasign.com" + }, + { + "name": "Maximilian Kresse", + "email": "maximilian.kresse@setasign.com", + "homepage": "https://www.setasign.com" + } + ], + "description": "FPDI is a collection of PHP classes facilitating developers to read pages from existing PDF documents and use them as templates in FPDF. Because it is also possible to use FPDI with TCPDF, there are no fixed dependencies defined. Please see suggestions for packages which evaluates the dependencies automatically.", + "homepage": "https://www.setasign.com/fpdi", + "keywords": [ + "fpdf", + "fpdi", + "pdf" + ], + "support": { + "issues": "https://github.com/Setasign/FPDI/issues", + "source": "https://github.com/Setasign/FPDI/tree/v2.3.6" + }, + "funding": [ + { + "url": "https://tidelift.com/funding/github/packagist/setasign/fpdi", + "type": "tidelift" + } + ], + "install-path": "../setasign/fpdi" + }, + { + "name": "swiftmailer/swiftmailer", + "version": "v6.3.0", + "version_normalized": "6.3.0.0", + "source": { + "type": "git", + "url": "https://github.com/swiftmailer/swiftmailer.git", + "reference": "8a5d5072dca8f48460fce2f4131fcc495eec654c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/8a5d5072dca8f48460fce2f4131fcc495eec654c", + "reference": "8a5d5072dca8f48460fce2f4131fcc495eec654c", + "shasum": "" + }, + "require": { + "egulias/email-validator": "^2.0|^3.1", + "php": ">=7.0.0", + "symfony/polyfill-iconv": "^1.0", + "symfony/polyfill-intl-idn": "^1.10", + "symfony/polyfill-mbstring": "^1.0" + }, + "require-dev": { + "mockery/mockery": "^1.0", + "symfony/phpunit-bridge": "^4.4|^5.4" + }, + "suggest": { + "ext-intl": "Needed to support internationalized email addresses" + }, + "time": "2021-10-18T15:26:12+00:00", + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "6.2-dev" + } + }, + "installation-source": "dist", + "autoload": { + "files": [ + "lib/swift_required.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Chris Corbyn" + }, + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + } + ], + "description": "Swiftmailer, free feature-rich PHP mailer", + "homepage": "https://swiftmailer.symfony.com", + "keywords": [ + "email", + "mail", + "mailer" + ], + "support": { + "issues": "https://github.com/swiftmailer/swiftmailer/issues", + "source": "https://github.com/swiftmailer/swiftmailer/tree/v6.3.0" + }, + "funding": [ + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/swiftmailer/swiftmailer", + "type": "tidelift" + } + ], + "abandoned": "symfony/mailer", + "install-path": "../swiftmailer/swiftmailer" + }, + { + "name": "symfony/polyfill-iconv", + "version": "v1.24.0", + "version_normalized": "1.24.0.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-iconv.git", + "reference": "f1aed619e28cb077fc83fac8c4c0383578356e40" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/f1aed619e28cb077fc83fac8c4c0383578356e40", + "reference": "f1aed619e28cb077fc83fac8c4c0383578356e40", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "provide": { + "ext-iconv": "*" + }, + "suggest": { + "ext-iconv": "For best performance" + }, + "time": "2022-01-04T09:04:05+00:00", + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.23-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "installation-source": "dist", + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Iconv\\": "" + }, + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for the Iconv extension", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "iconv", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-iconv/tree/v1.24.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "install-path": "../symfony/polyfill-iconv" + }, + { + "name": "symfony/polyfill-intl-idn", + "version": "v1.24.0", + "version_normalized": "1.24.0.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-idn.git", + "reference": "749045c69efb97c70d25d7463abba812e91f3a44" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/749045c69efb97c70d25d7463abba812e91f3a44", + "reference": "749045c69efb97c70d25d7463abba812e91f3a44", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "symfony/polyfill-intl-normalizer": "^1.10", + "symfony/polyfill-php72": "^1.10" + }, + "suggest": { + "ext-intl": "For best performance" + }, + "time": "2021-09-14T14:02:44+00:00", + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.23-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "installation-source": "dist", + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Intl\\Idn\\": "" + }, + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Laurent Bassin", + "email": "laurent@bassin.info" + }, + { + "name": "Trevor Rowbotham", + "email": "trevor.rowbotham@pm.me" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for intl's idn_to_ascii and idn_to_utf8 functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "idn", + "intl", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.24.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "install-path": "../symfony/polyfill-intl-idn" + }, + { + "name": "symfony/polyfill-intl-normalizer", + "version": "v1.24.0", + "version_normalized": "1.24.0.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-normalizer.git", + "reference": "8590a5f561694770bdcd3f9b5c69dde6945028e8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/8590a5f561694770bdcd3f9b5c69dde6945028e8", + "reference": "8590a5f561694770bdcd3f9b5c69dde6945028e8", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "suggest": { + "ext-intl": "For best performance" + }, + "time": "2021-02-19T12:13:01+00:00", + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.23-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "installation-source": "dist", + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Intl\\Normalizer\\": "" + }, + "files": [ + "bootstrap.php" + ], + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for intl's Normalizer class and related functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "intl", + "normalizer", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.24.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "install-path": "../symfony/polyfill-intl-normalizer" + }, + { + "name": "symfony/polyfill-mbstring", + "version": "v1.24.0", + "version_normalized": "1.24.0.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-mbstring.git", + "reference": "0abb51d2f102e00a4eefcf46ba7fec406d245825" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/0abb51d2f102e00a4eefcf46ba7fec406d245825", + "reference": "0abb51d2f102e00a4eefcf46ba7fec406d245825", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "provide": { + "ext-mbstring": "*" + }, + "suggest": { + "ext-mbstring": "For best performance" + }, + "time": "2021-11-30T18:21:41+00:00", + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.23-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "installation-source": "dist", + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Mbstring\\": "" + }, + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for the Mbstring extension", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "mbstring", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.24.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "install-path": "../symfony/polyfill-mbstring" + }, + { + "name": "symfony/polyfill-php72", + "version": "v1.24.0", + "version_normalized": "1.24.0.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php72.git", + "reference": "9a142215a36a3888e30d0a9eeea9766764e96976" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/9a142215a36a3888e30d0a9eeea9766764e96976", + "reference": "9a142215a36a3888e30d0a9eeea9766764e96976", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "time": "2021-05-27T09:17:38+00:00", + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.23-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "installation-source": "dist", + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Php72\\": "" + }, + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php72/tree/v1.24.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "install-path": "../symfony/polyfill-php72" + } + ], + "dev": true, + "dev-package-names": [] +} diff --git a/pandora_console/vendor/composer/installed.php b/pandora_console/vendor/composer/installed.php new file mode 100644 index 0000000000..331776659e --- /dev/null +++ b/pandora_console/vendor/composer/installed.php @@ -0,0 +1,140 @@ + array( + 'pretty_version' => 'dev-develop', + 'version' => 'dev-develop', + 'type' => 'library', + 'install_path' => __DIR__ . '/../../', + 'aliases' => array(), + 'reference' => '2f34c49a698f3dab523102f12d39de9bed233b12', + 'name' => 'pandorafms/console', + 'dev' => true, + ), + 'versions' => array( + 'doctrine/lexer' => array( + 'pretty_version' => '1.2.2', + 'version' => '1.2.2.0', + 'type' => 'library', + 'install_path' => __DIR__ . '/../doctrine/lexer', + 'aliases' => array(), + 'reference' => '9c50f840f257bbb941e6f4a0e94ccf5db5c3f76c', + 'dev_requirement' => false, + ), + 'egulias/email-validator' => array( + 'pretty_version' => '3.1.2', + 'version' => '3.1.2.0', + 'type' => 'library', + 'install_path' => __DIR__ . '/../egulias/email-validator', + 'aliases' => array(), + 'reference' => 'ee0db30118f661fb166bcffbf5d82032df484697', + 'dev_requirement' => false, + ), + 'mpdf/mpdf' => array( + 'pretty_version' => 'v8.0.15', + 'version' => '8.0.15.0', + 'type' => 'library', + 'install_path' => __DIR__ . '/../mpdf/mpdf', + 'aliases' => array(), + 'reference' => 'd8a5294a6cc2e814c4157aecc8d7ac25014b18ed', + 'dev_requirement' => false, + ), + 'myclabs/deep-copy' => array( + 'pretty_version' => '1.10.2', + 'version' => '1.10.2.0', + 'type' => 'library', + 'install_path' => __DIR__ . '/../myclabs/deep-copy', + 'aliases' => array(), + 'reference' => '776f831124e9c62e1a2c601ecc52e776d8bb7220', + 'dev_requirement' => false, + ), + 'pandorafms/console' => array( + 'pretty_version' => 'dev-develop', + 'version' => 'dev-develop', + 'type' => 'library', + 'install_path' => __DIR__ . '/../../', + 'aliases' => array(), + 'reference' => '2f34c49a698f3dab523102f12d39de9bed233b12', + 'dev_requirement' => false, + ), + 'paragonie/random_compat' => array( + 'pretty_version' => 'v9.99.100', + 'version' => '9.99.100.0', + 'type' => 'library', + 'install_path' => __DIR__ . '/../paragonie/random_compat', + 'aliases' => array(), + 'reference' => '996434e5492cb4c3edcb9168db6fbb1359ef965a', + 'dev_requirement' => false, + ), + 'psr/log' => array( + 'pretty_version' => '2.0.0', + 'version' => '2.0.0.0', + 'type' => 'library', + 'install_path' => __DIR__ . '/../psr/log', + 'aliases' => array(), + 'reference' => 'ef29f6d262798707a9edd554e2b82517ef3a9376', + 'dev_requirement' => false, + ), + 'setasign/fpdi' => array( + 'pretty_version' => 'v2.3.6', + 'version' => '2.3.6.0', + 'type' => 'library', + 'install_path' => __DIR__ . '/../setasign/fpdi', + 'aliases' => array(), + 'reference' => '6231e315f73e4f62d72b73f3d6d78ff0eed93c31', + 'dev_requirement' => false, + ), + 'swiftmailer/swiftmailer' => array( + 'pretty_version' => 'v6.3.0', + 'version' => '6.3.0.0', + 'type' => 'library', + 'install_path' => __DIR__ . '/../swiftmailer/swiftmailer', + 'aliases' => array(), + 'reference' => '8a5d5072dca8f48460fce2f4131fcc495eec654c', + 'dev_requirement' => false, + ), + 'symfony/polyfill-iconv' => array( + 'pretty_version' => 'v1.24.0', + 'version' => '1.24.0.0', + 'type' => 'library', + 'install_path' => __DIR__ . '/../symfony/polyfill-iconv', + 'aliases' => array(), + 'reference' => 'f1aed619e28cb077fc83fac8c4c0383578356e40', + 'dev_requirement' => false, + ), + 'symfony/polyfill-intl-idn' => array( + 'pretty_version' => 'v1.24.0', + 'version' => '1.24.0.0', + 'type' => 'library', + 'install_path' => __DIR__ . '/../symfony/polyfill-intl-idn', + 'aliases' => array(), + 'reference' => '749045c69efb97c70d25d7463abba812e91f3a44', + 'dev_requirement' => false, + ), + 'symfony/polyfill-intl-normalizer' => array( + 'pretty_version' => 'v1.24.0', + 'version' => '1.24.0.0', + 'type' => 'library', + 'install_path' => __DIR__ . '/../symfony/polyfill-intl-normalizer', + 'aliases' => array(), + 'reference' => '8590a5f561694770bdcd3f9b5c69dde6945028e8', + 'dev_requirement' => false, + ), + 'symfony/polyfill-mbstring' => array( + 'pretty_version' => 'v1.24.0', + 'version' => '1.24.0.0', + 'type' => 'library', + 'install_path' => __DIR__ . '/../symfony/polyfill-mbstring', + 'aliases' => array(), + 'reference' => '0abb51d2f102e00a4eefcf46ba7fec406d245825', + 'dev_requirement' => false, + ), + 'symfony/polyfill-php72' => array( + 'pretty_version' => 'v1.24.0', + 'version' => '1.24.0.0', + 'type' => 'library', + 'install_path' => __DIR__ . '/../symfony/polyfill-php72', + 'aliases' => array(), + 'reference' => '9a142215a36a3888e30d0a9eeea9766764e96976', + 'dev_requirement' => false, + ), + ), +); diff --git a/pandora_console/vendor/composer/platform_check.php b/pandora_console/vendor/composer/platform_check.php index f79e574be7..adfb472fbd 100644 --- a/pandora_console/vendor/composer/platform_check.php +++ b/pandora_console/vendor/composer/platform_check.php @@ -4,8 +4,8 @@ $issues = array(); -if (!(PHP_VERSION_ID >= 70000)) { - $issues[] = 'Your Composer dependencies require a PHP version ">= 7.0.0". You are running ' . PHP_VERSION . '.'; +if (!(PHP_VERSION_ID >= 80000)) { + $issues[] = 'Your Composer dependencies require a PHP version ">= 8.0.0". You are running ' . PHP_VERSION . '.'; } if ($issues) { diff --git a/pandora_console/vendor/doctrine/lexer/LICENSE b/pandora_console/vendor/doctrine/lexer/LICENSE index 5e781fce4b..e8fdec4afb 100644 --- a/pandora_console/vendor/doctrine/lexer/LICENSE +++ b/pandora_console/vendor/doctrine/lexer/LICENSE @@ -1,4 +1,4 @@ -Copyright (c) 2006-2013 Doctrine Project +Copyright (c) 2006-2018 Doctrine Project Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in diff --git a/pandora_console/vendor/doctrine/lexer/README.md b/pandora_console/vendor/doctrine/lexer/README.md index 66f443089e..784f2a2712 100644 --- a/pandora_console/vendor/doctrine/lexer/README.md +++ b/pandora_console/vendor/doctrine/lexer/README.md @@ -1,5 +1,9 @@ # Doctrine Lexer +[![Build Status](https://github.com/doctrine/lexer/workflows/Continuous%20Integration/badge.svg)](https://github.com/doctrine/lexer/actions) + Base library for a lexer that can be used in Top-Down, Recursive Descent Parsers. This lexer is used in Doctrine Annotations and in Doctrine ORM (DQL). + +https://www.doctrine-project.org/projects/lexer.html diff --git a/pandora_console/vendor/doctrine/lexer/composer.json b/pandora_console/vendor/doctrine/lexer/composer.json index 8cd694c652..ac7e4bddab 100644 --- a/pandora_console/vendor/doctrine/lexer/composer.json +++ b/pandora_console/vendor/doctrine/lexer/composer.json @@ -1,9 +1,15 @@ { "name": "doctrine/lexer", "type": "library", - "description": "Base library for a lexer that can be used in Top-Down, Recursive Descent Parsers.", - "keywords": ["lexer", "parser"], - "homepage": "http://www.doctrine-project.org", + "description": "PHP Doctrine Lexer parser library that can be used in Top-Down, Recursive Descent Parsers.", + "keywords": [ + "php", + "parser", + "lexer", + "annotations", + "docblock" + ], + "homepage": "https://www.doctrine-project.org/projects/lexer.html", "license": "MIT", "authors": [ {"name": "Guilherme Blanco", "email": "guilhermeblanco@gmail.com"}, @@ -11,14 +17,25 @@ {"name": "Johannes Schmitt", "email": "schmittjoh@gmail.com"} ], "require": { - "php": ">=5.3.2" + "php": "^7.1 || ^8.0" + }, + "require-dev": { + "doctrine/coding-standard": "^9.0", + "phpstan/phpstan": "1.3", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", + "vimeo/psalm": "^4.11" }, "autoload": { - "psr-0": { "Doctrine\\Common\\Lexer\\": "lib/" } + "psr-4": { "Doctrine\\Common\\Lexer\\": "lib/Doctrine/Common/Lexer" } }, - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } + "autoload-dev": { + "psr-4": { "Doctrine\\Tests\\": "tests/Doctrine" } + }, + "config": { + "allow-plugins": { + "composer/package-versions-deprecated": true, + "dealerdirect/phpcodesniffer-composer-installer": true + }, + "sort-packages": true } } diff --git a/pandora_console/vendor/doctrine/lexer/lib/Doctrine/Common/Lexer/AbstractLexer.php b/pandora_console/vendor/doctrine/lexer/lib/Doctrine/Common/Lexer/AbstractLexer.php index 399a55230b..fe01ab0bbd 100644 --- a/pandora_console/vendor/doctrine/lexer/lib/Doctrine/Common/Lexer/AbstractLexer.php +++ b/pandora_console/vendor/doctrine/lexer/lib/Doctrine/Common/Lexer/AbstractLexer.php @@ -1,31 +1,23 @@ . - */ + +declare(strict_types=1); namespace Doctrine\Common\Lexer; +use ReflectionClass; + +use function implode; +use function in_array; +use function preg_split; +use function sprintf; +use function substr; + +use const PREG_SPLIT_DELIM_CAPTURE; +use const PREG_SPLIT_NO_EMPTY; +use const PREG_SPLIT_OFFSET_CAPTURE; + /** * Base class for writing simple lexers, i.e. for creating small DSLs. - * - * @since 2.0 - * @author Guilherme Blanco - * @author Jonathan Wage - * @author Roman Borschel */ abstract class AbstractLexer { @@ -45,38 +37,48 @@ abstract class AbstractLexer * parameter, none) * - 'position' : the position of the token in the input string * - * @var array + * @var mixed[][] + * @psalm-var list */ - private $tokens = array(); + private $tokens = []; /** * Current lexer position in input string. * - * @var integer + * @var int */ private $position = 0; /** * Current peek of current lexer position. * - * @var integer + * @var int */ private $peek = 0; /** * The next token in the input. * - * @var array + * @var mixed[]|null + * @psalm-var array{value: string, type: string|int|null, position: int}|null */ public $lookahead; /** * The last matched/seen token. * - * @var array + * @var mixed[]|null + * @psalm-var array{value: string, type: string|int|null, position: int}|null */ public $token; + /** + * Composed regex for input parsing. + * + * @var string|null + */ + private $regex; + /** * Sets the input data to be tokenized. * @@ -90,7 +92,7 @@ abstract class AbstractLexer public function setInput($input) { $this->input = $input; - $this->tokens = array(); + $this->tokens = []; $this->reset(); $this->scan($input); @@ -104,9 +106,9 @@ abstract class AbstractLexer public function reset() { $this->lookahead = null; - $this->token = null; - $this->peek = 0; - $this->position = 0; + $this->token = null; + $this->peek = 0; + $this->position = 0; } /** @@ -122,7 +124,7 @@ abstract class AbstractLexer /** * Resets the lexer position on the input to the given position. * - * @param integer $position Position to place the lexical scanner. + * @param int $position Position to place the lexical scanner. * * @return void */ @@ -132,9 +134,9 @@ abstract class AbstractLexer } /** - * Retrieve the original lexer's input until a given position. + * Retrieve the original lexer's input until a given position. * - * @param integer $position + * @param int $position * * @return string */ @@ -146,37 +148,37 @@ abstract class AbstractLexer /** * Checks whether a given token matches the current lookahead. * - * @param integer|string $token + * @param int|string $token * - * @return boolean + * @return bool */ public function isNextToken($token) { - return null !== $this->lookahead && $this->lookahead['type'] === $token; + return $this->lookahead !== null && $this->lookahead['type'] === $token; } /** * Checks whether any of the given tokens matches the current lookahead. * - * @param array $tokens + * @param string[] $tokens * - * @return boolean + * @return bool */ public function isNextTokenAny(array $tokens) { - return null !== $this->lookahead && in_array($this->lookahead['type'], $tokens, true); + return $this->lookahead !== null && in_array($this->lookahead['type'], $tokens, true); } /** * Moves to the next token in the input string. * - * @return boolean + * @return bool */ public function moveNext() { - $this->peek = 0; - $this->token = $this->lookahead; - $this->lookahead = (isset($this->tokens[$this->position])) + $this->peek = 0; + $this->token = $this->lookahead; + $this->lookahead = isset($this->tokens[$this->position]) ? $this->tokens[$this->position++] : null; return $this->lookahead !== null; @@ -199,10 +201,10 @@ abstract class AbstractLexer /** * Checks if given value is identical to the given token. * - * @param mixed $value - * @param integer $token + * @param mixed $value + * @param int|string $token * - * @return boolean + * @return bool */ public function isA($value, $token) { @@ -212,26 +214,29 @@ abstract class AbstractLexer /** * Moves the lookahead token forward. * - * @return array|null The next token or NULL if there are no more tokens ahead. + * @return mixed[]|null The next token or NULL if there are no more tokens ahead. + * @psalm-return array{value: string, type: string|int|null, position: int}|null */ public function peek() { if (isset($this->tokens[$this->position + $this->peek])) { return $this->tokens[$this->position + $this->peek++]; - } else { - return null; } + + return null; } /** * Peeks at the next token, returns it and immediately resets the peek. * - * @return array|null The next token or NULL if there are no more tokens ahead. + * @return mixed[]|null The next token or NULL if there are no more tokens ahead. + * @psalm-return array{value: string, type: string|int|null, position: int}|null */ public function glimpse() { - $peek = $this->peek(); + $peek = $this->peek(); $this->peek = 0; + return $peek; } @@ -244,10 +249,8 @@ abstract class AbstractLexer */ protected function scan($input) { - static $regex; - - if ( ! isset($regex)) { - $regex = sprintf( + if (! isset($this->regex)) { + $this->regex = sprintf( '/(%s)|%s/%s', implode(')|(', $this->getCatchablePatterns()), implode('|', $this->getNonCatchablePatterns()), @@ -255,32 +258,37 @@ abstract class AbstractLexer ); } - $flags = PREG_SPLIT_NO_EMPTY | PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_OFFSET_CAPTURE; - $matches = preg_split($regex, $input, -1, $flags); + $flags = PREG_SPLIT_NO_EMPTY | PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_OFFSET_CAPTURE; + $matches = preg_split($this->regex, $input, -1, $flags); + + if ($matches === false) { + // Work around https://bugs.php.net/78122 + $matches = [[$input, 0]]; + } foreach ($matches as $match) { // Must remain before 'value' assignment since it can change content $type = $this->getType($match[0]); - $this->tokens[] = array( + $this->tokens[] = [ 'value' => $match[0], 'type' => $type, 'position' => $match[1], - ); + ]; } } /** * Gets the literal for a given token. * - * @param integer $token + * @param int|string $token * - * @return string + * @return int|string */ public function getLiteral($token) { - $className = get_class($this); - $reflClass = new \ReflectionClass($className); + $className = static::class; + $reflClass = new ReflectionClass($className); $constants = $reflClass->getConstants(); foreach ($constants as $name => $value) { @@ -299,20 +307,20 @@ abstract class AbstractLexer */ protected function getModifiers() { - return 'i'; + return 'iu'; } /** * Lexical catchable patterns. * - * @return array + * @return string[] */ abstract protected function getCatchablePatterns(); /** * Lexical non-catchable patterns. * - * @return array + * @return string[] */ abstract protected function getNonCatchablePatterns(); @@ -321,7 +329,7 @@ abstract class AbstractLexer * * @param string $value * - * @return integer + * @return int|string|null */ abstract protected function getType(&$value); } diff --git a/pandora_console/vendor/doctrine/lexer/psalm.xml b/pandora_console/vendor/doctrine/lexer/psalm.xml new file mode 100644 index 0000000000..f331e50c11 --- /dev/null +++ b/pandora_console/vendor/doctrine/lexer/psalm.xml @@ -0,0 +1,15 @@ + + + + + + + + + diff --git a/pandora_console/vendor/egulias/email-validator/CHANGELOG.md b/pandora_console/vendor/egulias/email-validator/CHANGELOG.md new file mode 100644 index 0000000000..83fd62e024 --- /dev/null +++ b/pandora_console/vendor/egulias/email-validator/CHANGELOG.md @@ -0,0 +1,33 @@ +# EmailValidator v3 Changelog + +## New Features + +* Access to local part and domain part from EmailParser +* Validations outside of the scope of the RFC will be considered "extra" validations, thus opening the door for adding new; will live in their own folder "extra" (as requested in #248, #195, #183). + +## Breacking changes + +* PHP version upgraded to match Symfony's (as of 12/2020). +* DNSCheckValidation now fails for missing MX records. While the RFC argues that the existence of only A records to be valid, starting in v3 they will be considered invalid. +* Emails domain part are now intenteded to be RFC 1035 compliant, rendering previous valid emails (e.g example@examp&) invalid. + +## PHP versions upgrade policy +PHP version upgrade requirement will happen via MINOR (3.x) version upgrades of the library, following the adoption level by major frameworks. + +## Changes +* #235 +* #215 +* #130 +* #258 +* #188 +* #181 +* #217 +* #214 +* #249 +* #236 +* #257 +* #210 + +## Thanks +To contributors, be it with PRs, reporting issues or supporting otherwise. + diff --git a/pandora_console/vendor/egulias/email-validator/CONTRIBUTING.md b/pandora_console/vendor/egulias/email-validator/CONTRIBUTING.md new file mode 100644 index 0000000000..7b79e10816 --- /dev/null +++ b/pandora_console/vendor/egulias/email-validator/CONTRIBUTING.md @@ -0,0 +1,153 @@ +# Contributing + +When contributing to this repository make sure to follow the Pull request process below. +Reduce to the minimum 3rd party dependencies. + +Please note we have a [code of conduct](#Code of Conduct), please follow it in all your interactions with the project. + +## Pull Request Process + +When doing a PR to v2 remember that you also have to do the PR port to v3, or tests confirming the bug is not reproducible. + +1. Supported version is v3. If you are fixing a bug in v2, please port to v3 +2. Use the title as a brief description of the changes +3. Describe the changes you are proposing + 1. If adding an extra validation state the benefits of adding it and the problem is solving + 2. Document in the readme, by adding it to the list +4. Provide appropiate tests for the code you are submitting: aim to keep the existing coverage percentage. +5. Add your Twitter handle (if you have) so we can thank you there. + +## License +By contributing, you agree that your contributions will be licensed under its MIT License. + +## Code of Conduct + +### Our Pledge + +We as members, contributors, and leaders pledge to make participation in our +community a harassment-free experience for everyone, regardless of age, body +size, visible or invisible disability, ethnicity, sex characteristics, gender +identity and expression, level of experience, education, socio-economic status, +nationality, personal appearance, race, religion, or sexual identity +and orientation. + +We pledge to act and interact in ways that contribute to an open, welcoming, +diverse, inclusive, and healthy community. + +### Our Standards + +Examples of behavior that contributes to a positive environment for our +community include: + +* Demonstrating empathy and kindness toward other people +* Being respectful of differing opinions, viewpoints, and experiences +* Giving and gracefully accepting constructive feedback +* Accepting responsibility and apologizing to those affected by our mistakes, + and learning from the experience +* Focusing on what is best not just for us as individuals, but for the + overall community + +Examples of unacceptable behavior include: + +* The use of sexualized language or imagery, and sexual attention or + advances of any kind +* Trolling, insulting or derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or email + address, without their explicit permission +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +### Enforcement Responsibilities + +Community leaders are responsible for clarifying and enforcing our standards of +acceptable behavior and will take appropriate and fair corrective action in +response to any behavior that they deem inappropriate, threatening, offensive, +or harmful. + +Community leaders have the right and responsibility to remove, edit, or reject +comments, commits, code, wiki edits, issues, and other contributions that are +not aligned to this Code of Conduct, and will communicate reasons for moderation +decisions when appropriate. + +### Scope + +This Code of Conduct applies within all community spaces, and also applies when +an individual is officially representing the community in public spaces. +Examples of representing our community include using an official e-mail address, +posting via an official social media account, or acting as an appointed +representative at an online or offline event. + +### Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported to the community leaders responsible for enforcement at . +All complaints will be reviewed and investigated promptly and fairly. + +All community leaders are obligated to respect the privacy and security of the +reporter of any incident. + +#### Enforcement Guidelines + +Community leaders will follow these Community Impact Guidelines in determining +the consequences for any action they deem in violation of this Code of Conduct: + +#### 1. Correction + +**Community Impact**: Use of inappropriate language or other behavior deemed +unprofessional or unwelcome in the community. + +**Consequence**: A private, written warning from community leaders, providing +clarity around the nature of the violation and an explanation of why the +behavior was inappropriate. A public apology may be requested. + +#### 2. Warning + +**Community Impact**: A violation through a single incident or series +of actions. + +**Consequence**: A warning with consequences for continued behavior. No +interaction with the people involved, including unsolicited interaction with +those enforcing the Code of Conduct, for a specified period of time. This +includes avoiding interactions in community spaces as well as external channels +like social media. Violating these terms may lead to a temporary or +permanent ban. + +#### 3. Temporary Ban + +**Community Impact**: A serious violation of community standards, including +sustained inappropriate behavior. + +**Consequence**: A temporary ban from any sort of interaction or public +communication with the community for a specified period of time. No public or +private interaction with the people involved, including unsolicited interaction +with those enforcing the Code of Conduct, is allowed during this period. +Violating these terms may lead to a permanent ban. + +#### 4. Permanent Ban + +**Community Impact**: Demonstrating a pattern of violation of community +standards, including sustained inappropriate behavior, harassment of an +individual, or aggression toward or disparagement of classes of individuals. + +**Consequence**: A permanent ban from any sort of public interaction within +the community. + +### Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], +version 2.0, available at +[https://www.contributor-covenant.org/version/2/0/code_of_conduct.html][v2.0]. + +Community Impact Guidelines were inspired by +[Mozilla's code of conduct enforcement ladder][Mozilla CoC]. + +For answers to common questions about this code of conduct, see the FAQ at +[https://www.contributor-covenant.org/faq][FAQ]. Translations are available +at [https://www.contributor-covenant.org/translations][translations]. + +[homepage]: https://www.contributor-covenant.org +[v2.0]: https://www.contributor-covenant.org/version/2/0/code_of_conduct.html +[Mozilla CoC]: https://github.com/mozilla/diversity +[FAQ]: https://www.contributor-covenant.org/faq +[translations]: https://www.contributor-covenant.org/translations diff --git a/pandora_console/vendor/egulias/email-validator/EmailValidator/EmailLexer.php b/pandora_console/vendor/egulias/email-validator/EmailValidator/EmailLexer.php deleted file mode 100644 index 882c968154..0000000000 --- a/pandora_console/vendor/egulias/email-validator/EmailValidator/EmailLexer.php +++ /dev/null @@ -1,221 +0,0 @@ - self::S_OPENPARENTHESIS, - ')' => self::S_CLOSEPARENTHESIS, - '<' => self::S_LOWERTHAN, - '>' => self::S_GREATERTHAN, - '[' => self::S_OPENBRACKET, - ']' => self::S_CLOSEBRACKET, - ':' => self::S_COLON, - ';' => self::S_SEMICOLON, - '@' => self::S_AT, - '\\' => self::S_BACKSLASH, - '/' => self::S_SLASH, - ',' => self::S_COMMA, - '.' => self::S_DOT, - '"' => self::S_DQUOTE, - '-' => self::S_HYPHEN, - '::' => self::S_DOUBLECOLON, - ' ' => self::S_SP, - "\t" => self::S_HTAB, - "\r" => self::S_CR, - "\n" => self::S_LF, - "\r\n" => self::CRLF, - 'IPv6' => self::S_IPV6TAG, - '{' => self::S_OPENQBRACKET, - '}' => self::S_CLOSEQBRACKET, - '' => self::S_EMPTY, - '\0' => self::C_NUL, - ); - - protected $hasInvalidTokens = false; - - protected $previous; - - public function reset() - { - $this->hasInvalidTokens = false; - parent::reset(); - } - - public function hasInvalidTokens() - { - return $this->hasInvalidTokens; - } - - /** - * @param $type - * @throws \UnexpectedValueException - * @return boolean - */ - public function find($type) - { - $search = clone $this; - $search->skipUntil($type); - - if (!$search->lookahead) { - throw new \UnexpectedValueException($type . ' not found'); - } - return true; - } - - /** - * getPrevious - * - * @return array token - */ - public function getPrevious() - { - return $this->previous; - } - - /** - * moveNext - * - * @return boolean - */ - public function moveNext() - { - $this->previous = $this->token; - - return parent::moveNext(); - } - - /** - * Lexical catchable patterns. - * - * @return string[] - */ - protected function getCatchablePatterns() - { - return array( - '[a-zA-Z_]+[46]?', //ASCII and domain literal - '[^\x00-\x7F]', //UTF-8 - '[0-9]+', - '\r\n', - '::', - '\s+?', - '.', - ); - } - - /** - * Lexical non-catchable patterns. - * - * @return string[] - */ - protected function getNonCatchablePatterns() - { - return array('[\xA0-\xff]+'); - } - - /** - * Retrieve token type. Also processes the token value if necessary. - * - * @param string $value - * @throws \InvalidArgumentException - * @return integer - */ - protected function getType(&$value) - { - if ($this->isNullType($value)) { - return self::C_NUL; - } - - if ($this->isValid($value)) { - return $this->charValue[$value]; - } - - if ($this->isUTF8Invalid($value)) { - $this->hasInvalidTokens = true; - return self::INVALID; - } - - return self::GENERIC; - } - - protected function isValid($value) - { - if (isset($this->charValue[$value])) { - return true; - } - - return false; - } - - /** - * @param $value - * @return bool - */ - protected function isNullType($value) - { - if ($value === "\0") { - return true; - } - - return false; - } - - /** - * @param $value - * @return bool - */ - protected function isUTF8Invalid($value) - { - if (preg_match('/\p{Cc}+/u', $value)) { - return true; - } - - return false; - } - - protected function getModifiers() - { - return 'iu'; - } -} diff --git a/pandora_console/vendor/egulias/email-validator/EmailValidator/EmailParser.php b/pandora_console/vendor/egulias/email-validator/EmailValidator/EmailParser.php deleted file mode 100644 index d0627d8241..0000000000 --- a/pandora_console/vendor/egulias/email-validator/EmailValidator/EmailParser.php +++ /dev/null @@ -1,104 +0,0 @@ - - */ -class EmailParser -{ - const EMAIL_MAX_LENGTH = 254; - - protected $warnings; - protected $domainPart = ''; - protected $localPart = ''; - protected $lexer; - protected $localPartParser; - protected $domainPartParser; - - public function __construct(EmailLexer $lexer) - { - $this->lexer = $lexer; - $this->localPartParser = new LocalPart($this->lexer); - $this->domainPartParser = new DomainPart($this->lexer); - $this->warnings = new \SplObjectStorage(); - } - - /** - * @param $str - * @return array - */ - public function parse($str) - { - $this->lexer->setInput($str); - - if (!$this->hasAtToken()) { - throw new NoLocalPart(); - } - - - $this->localPartParser->parse($str); - $this->domainPartParser->parse($str); - - $this->setParts($str); - - if ($this->lexer->hasInvalidTokens()) { - throw new ExpectingATEXT(); - } - - return array('local' => $this->localPart, 'domain' => $this->domainPart); - } - - public function getWarnings() - { - $localPartWarnings = $this->localPartParser->getWarnings(); - $domainPartWarnings = $this->domainPartParser->getWarnings(); - $this->warnings = array_merge($localPartWarnings, $domainPartWarnings); - - $this->addLongEmailWarning($this->localPart, $this->domainPart); - - return $this->warnings; - } - - public function getParsedDomainPart() - { - return $this->domainPart; - } - - protected function setParts($email) - { - $parts = explode('@', $email); - $this->domainPart = $this->domainPartParser->getDomainPart(); - $this->localPart = $parts[0]; - } - - protected function hasAtToken() - { - $this->lexer->moveNext(); - $this->lexer->moveNext(); - if ($this->lexer->token['type'] === EmailLexer::S_AT) { - return false; - } - - return true; - } - - /** - * @param string $localPart - * @param string $parsedDomainPart - */ - protected function addLongEmailWarning($localPart, $parsedDomainPart) - { - if (strlen($localPart . '@' . $parsedDomainPart) > self::EMAIL_MAX_LENGTH) { - $this->warnings[EmailTooLong::CODE] = new EmailTooLong(); - } - } -} diff --git a/pandora_console/vendor/egulias/email-validator/EmailValidator/Exception/AtextAfterCFWS.php b/pandora_console/vendor/egulias/email-validator/EmailValidator/Exception/AtextAfterCFWS.php deleted file mode 100644 index 97f41a2caa..0000000000 --- a/pandora_console/vendor/egulias/email-validator/EmailValidator/Exception/AtextAfterCFWS.php +++ /dev/null @@ -1,9 +0,0 @@ -lexer->moveNext(); - - if ($this->lexer->token['type'] === EmailLexer::S_DOT) { - throw new DotAtStart(); - } - - if ($this->lexer->token['type'] === EmailLexer::S_EMPTY) { - throw new NoDomainPart(); - } - if ($this->lexer->token['type'] === EmailLexer::S_HYPHEN) { - throw new DomainHyphened(); - } - - if ($this->lexer->token['type'] === EmailLexer::S_OPENPARENTHESIS) { - $this->warnings[DeprecatedComment::CODE] = new DeprecatedComment(); - $this->parseDomainComments(); - } - - $domain = $this->doParseDomainPart(); - - $prev = $this->lexer->getPrevious(); - $length = strlen($domain); - - if ($prev['type'] === EmailLexer::S_DOT) { - throw new DotAtEnd(); - } - if ($prev['type'] === EmailLexer::S_HYPHEN) { - throw new DomainHyphened(); - } - if ($length > self::DOMAIN_MAX_LENGTH) { - $this->warnings[DomainTooLong::CODE] = new DomainTooLong(); - } - if ($prev['type'] === EmailLexer::S_CR) { - throw new CRLFAtTheEnd(); - } - $this->domainPart = $domain; - } - - public function getDomainPart() - { - return $this->domainPart; - } - - public function checkIPV6Tag($addressLiteral, $maxGroups = 8) - { - $prev = $this->lexer->getPrevious(); - if ($prev['type'] === EmailLexer::S_COLON) { - $this->warnings[IPV6ColonEnd::CODE] = new IPV6ColonEnd(); - } - - $IPv6 = substr($addressLiteral, 5); - //Daniel Marschall's new IPv6 testing strategy - $matchesIP = explode(':', $IPv6); - $groupCount = count($matchesIP); - $colons = strpos($IPv6, '::'); - - if (count(preg_grep('/^[0-9A-Fa-f]{0,4}$/', $matchesIP, PREG_GREP_INVERT)) !== 0) { - $this->warnings[IPV6BadChar::CODE] = new IPV6BadChar(); - } - - if ($colons === false) { - // We need exactly the right number of groups - if ($groupCount !== $maxGroups) { - $this->warnings[IPV6GroupCount::CODE] = new IPV6GroupCount(); - } - return; - } - - if ($colons !== strrpos($IPv6, '::')) { - $this->warnings[IPV6DoubleColon::CODE] = new IPV6DoubleColon(); - return; - } - - if ($colons === 0 || $colons === (strlen($IPv6) - 2)) { - // RFC 4291 allows :: at the start or end of an address - //with 7 other groups in addition - ++$maxGroups; - } - - if ($groupCount > $maxGroups) { - $this->warnings[IPV6MaxGroups::CODE] = new IPV6MaxGroups(); - } elseif ($groupCount === $maxGroups) { - $this->warnings[IPV6Deprecated::CODE] = new IPV6Deprecated(); - } - } - - protected function doParseDomainPart() - { - $domain = ''; - $openedParenthesis = 0; - do { - $prev = $this->lexer->getPrevious(); - - $this->checkNotAllowedChars($this->lexer->token); - - if ($this->lexer->token['type'] === EmailLexer::S_OPENPARENTHESIS) { - $this->parseComments(); - $openedParenthesis += $this->getOpenedParenthesis(); - $this->lexer->moveNext(); - $tmpPrev = $this->lexer->getPrevious(); - if ($tmpPrev['type'] === EmailLexer::S_CLOSEPARENTHESIS) { - $openedParenthesis--; - } - } - if ($this->lexer->token['type'] === EmailLexer::S_CLOSEPARENTHESIS) { - if ($openedParenthesis === 0) { - throw new UnopenedComment(); - } else { - $openedParenthesis--; - } - } - - $this->checkConsecutiveDots(); - $this->checkDomainPartExceptions($prev); - - if ($this->hasBrackets()) { - $this->parseDomainLiteral(); - } - - $this->checkLabelLength($prev); - - if ($this->isFWS()) { - $this->parseFWS(); - } - - $domain .= $this->lexer->token['value']; - $this->lexer->moveNext(); - } while ($this->lexer->token); - - return $domain; - } - - private function checkNotAllowedChars($token) - { - $notAllowed = [EmailLexer::S_BACKSLASH => true, EmailLexer::S_SLASH=> true]; - if (isset($notAllowed[$token['type']])) { - throw new CharNotAllowed(); - } - } - - protected function parseDomainLiteral() - { - if ($this->lexer->isNextToken(EmailLexer::S_COLON)) { - $this->warnings[IPV6ColonStart::CODE] = new IPV6ColonStart(); - } - if ($this->lexer->isNextToken(EmailLexer::S_IPV6TAG)) { - $lexer = clone $this->lexer; - $lexer->moveNext(); - if ($lexer->isNextToken(EmailLexer::S_DOUBLECOLON)) { - $this->warnings[IPV6ColonStart::CODE] = new IPV6ColonStart(); - } - } - - return $this->doParseDomainLiteral(); - } - - protected function doParseDomainLiteral() - { - $IPv6TAG = false; - $addressLiteral = ''; - do { - if ($this->lexer->token['type'] === EmailLexer::C_NUL) { - throw new ExpectingDTEXT(); - } - - if ($this->lexer->token['type'] === EmailLexer::INVALID || - $this->lexer->token['type'] === EmailLexer::C_DEL || - $this->lexer->token['type'] === EmailLexer::S_LF - ) { - $this->warnings[ObsoleteDTEXT::CODE] = new ObsoleteDTEXT(); - } - - if ($this->lexer->isNextTokenAny(array(EmailLexer::S_OPENQBRACKET, EmailLexer::S_OPENBRACKET))) { - throw new ExpectingDTEXT(); - } - - if ($this->lexer->isNextTokenAny( - array(EmailLexer::S_HTAB, EmailLexer::S_SP, $this->lexer->token['type'] === EmailLexer::CRLF) - )) { - $this->warnings[CFWSWithFWS::CODE] = new CFWSWithFWS(); - $this->parseFWS(); - } - - if ($this->lexer->isNextToken(EmailLexer::S_CR)) { - throw new CRNoLF(); - } - - if ($this->lexer->token['type'] === EmailLexer::S_BACKSLASH) { - $this->warnings[ObsoleteDTEXT::CODE] = new ObsoleteDTEXT(); - $addressLiteral .= $this->lexer->token['value']; - $this->lexer->moveNext(); - $this->validateQuotedPair(); - } - if ($this->lexer->token['type'] === EmailLexer::S_IPV6TAG) { - $IPv6TAG = true; - } - if ($this->lexer->token['type'] === EmailLexer::S_CLOSEQBRACKET) { - break; - } - - $addressLiteral .= $this->lexer->token['value']; - - } while ($this->lexer->moveNext()); - - $addressLiteral = str_replace('[', '', $addressLiteral); - $addressLiteral = $this->checkIPV4Tag($addressLiteral); - - if (false === $addressLiteral) { - return $addressLiteral; - } - - if (!$IPv6TAG) { - $this->warnings[DomainLiteral::CODE] = new DomainLiteral(); - return $addressLiteral; - } - - $this->warnings[AddressLiteral::CODE] = new AddressLiteral(); - - $this->checkIPV6Tag($addressLiteral); - - return $addressLiteral; - } - - protected function checkIPV4Tag($addressLiteral) - { - $matchesIP = array(); - - // Extract IPv4 part from the end of the address-literal (if there is one) - if (preg_match( - '/\\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/', - $addressLiteral, - $matchesIP - ) > 0 - ) { - $index = strrpos($addressLiteral, $matchesIP[0]); - if ($index === 0) { - $this->warnings[AddressLiteral::CODE] = new AddressLiteral(); - return false; - } - // Convert IPv4 part to IPv6 format for further testing - $addressLiteral = substr($addressLiteral, 0, $index) . '0:0'; - } - - return $addressLiteral; - } - - protected function checkDomainPartExceptions($prev) - { - $invalidDomainTokens = array( - EmailLexer::S_DQUOTE => true, - EmailLexer::S_SEMICOLON => true, - EmailLexer::S_GREATERTHAN => true, - EmailLexer::S_LOWERTHAN => true, - ); - - if (isset($invalidDomainTokens[$this->lexer->token['type']])) { - throw new ExpectingATEXT(); - } - - if ($this->lexer->token['type'] === EmailLexer::S_COMMA) { - throw new CommaInDomain(); - } - - if ($this->lexer->token['type'] === EmailLexer::S_AT) { - throw new ConsecutiveAt(); - } - - if ($this->lexer->token['type'] === EmailLexer::S_OPENQBRACKET && $prev['type'] !== EmailLexer::S_AT) { - throw new ExpectingATEXT(); - } - - if ($this->lexer->token['type'] === EmailLexer::S_HYPHEN && $this->lexer->isNextToken(EmailLexer::S_DOT)) { - throw new DomainHyphened(); - } - - if ($this->lexer->token['type'] === EmailLexer::S_BACKSLASH - && $this->lexer->isNextToken(EmailLexer::GENERIC)) { - throw new ExpectingATEXT(); - } - } - - protected function hasBrackets() - { - if ($this->lexer->token['type'] !== EmailLexer::S_OPENBRACKET) { - return false; - } - - try { - $this->lexer->find(EmailLexer::S_CLOSEBRACKET); - } catch (\RuntimeException $e) { - throw new ExpectingDomainLiteralClose(); - } - - return true; - } - - protected function checkLabelLength($prev) - { - if ($this->lexer->token['type'] === EmailLexer::S_DOT && - $prev['type'] === EmailLexer::GENERIC && - strlen($prev['value']) > 63 - ) { - $this->warnings[LabelTooLong::CODE] = new LabelTooLong(); - } - } - - protected function parseDomainComments() - { - $this->isUnclosedComment(); - while (!$this->lexer->isNextToken(EmailLexer::S_CLOSEPARENTHESIS)) { - $this->warnEscaping(); - $this->lexer->moveNext(); - } - - $this->lexer->moveNext(); - if ($this->lexer->isNextToken(EmailLexer::S_DOT)) { - throw new ExpectingATEXT(); - } - } - - protected function addTLDWarnings() - { - if ($this->warnings[DomainLiteral::CODE]) { - $this->warnings[TLD::CODE] = new TLD(); - } - } -} diff --git a/pandora_console/vendor/egulias/email-validator/EmailValidator/Parser/LocalPart.php b/pandora_console/vendor/egulias/email-validator/EmailValidator/Parser/LocalPart.php deleted file mode 100644 index 8ab16ab4a1..0000000000 --- a/pandora_console/vendor/egulias/email-validator/EmailValidator/Parser/LocalPart.php +++ /dev/null @@ -1,138 +0,0 @@ -lexer->token['type'] !== EmailLexer::S_AT && $this->lexer->token) { - if ($this->lexer->token['type'] === EmailLexer::S_DOT && !$this->lexer->getPrevious()) { - throw new DotAtStart(); - } - - $closingQuote = $this->checkDQUOTE($closingQuote); - if ($closingQuote && $parseDQuote) { - $parseDQuote = $this->parseDoubleQuote(); - } - - if ($this->lexer->token['type'] === EmailLexer::S_OPENPARENTHESIS) { - $this->parseComments(); - $openedParenthesis += $this->getOpenedParenthesis(); - } - if ($this->lexer->token['type'] === EmailLexer::S_CLOSEPARENTHESIS) { - if ($openedParenthesis === 0) { - throw new UnopenedComment(); - } else { - $openedParenthesis--; - } - } - - $this->checkConsecutiveDots(); - - if ($this->lexer->token['type'] === EmailLexer::S_DOT && - $this->lexer->isNextToken(EmailLexer::S_AT) - ) { - throw new DotAtEnd(); - } - - $this->warnEscaping(); - $this->isInvalidToken($this->lexer->token, $closingQuote); - - if ($this->isFWS()) { - $this->parseFWS(); - } - - $this->lexer->moveNext(); - } - - $prev = $this->lexer->getPrevious(); - if (strlen($prev['value']) > LocalTooLong::LOCAL_PART_LENGTH) { - $this->warnings[LocalTooLong::CODE] = new LocalTooLong(); - } - } - - protected function parseDoubleQuote() - { - $parseAgain = true; - $special = array( - EmailLexer::S_CR => true, - EmailLexer::S_HTAB => true, - EmailLexer::S_LF => true - ); - - $invalid = array( - EmailLexer::C_NUL => true, - EmailLexer::S_HTAB => true, - EmailLexer::S_CR => true, - EmailLexer::S_LF => true - ); - $setSpecialsWarning = true; - - $this->lexer->moveNext(); - - while ($this->lexer->token['type'] !== EmailLexer::S_DQUOTE && $this->lexer->token) { - $parseAgain = false; - if (isset($special[$this->lexer->token['type']]) && $setSpecialsWarning) { - $this->warnings[CFWSWithFWS::CODE] = new CFWSWithFWS(); - $setSpecialsWarning = false; - } - if ($this->lexer->token['type'] === EmailLexer::S_BACKSLASH && $this->lexer->isNextToken(EmailLexer::S_DQUOTE)) { - $this->lexer->moveNext(); - } - - $this->lexer->moveNext(); - - if (!$this->escaped() && isset($invalid[$this->lexer->token['type']])) { - throw new ExpectingATEXT(); - } - } - - $prev = $this->lexer->getPrevious(); - - if ($prev['type'] === EmailLexer::S_BACKSLASH) { - if (!$this->checkDQUOTE(false)) { - throw new UnclosedQuotedString(); - } - } - - if (!$this->lexer->isNextToken(EmailLexer::S_AT) && $prev['type'] !== EmailLexer::S_BACKSLASH) { - throw new ExpectingAT(); - } - - return $parseAgain; - } - - protected function isInvalidToken($token, $closingQuote) - { - $forbidden = array( - EmailLexer::S_COMMA, - EmailLexer::S_CLOSEBRACKET, - EmailLexer::S_OPENBRACKET, - EmailLexer::S_GREATERTHAN, - EmailLexer::S_LOWERTHAN, - EmailLexer::S_COLON, - EmailLexer::S_SEMICOLON, - EmailLexer::INVALID - ); - - if (in_array($token['type'], $forbidden) && !$closingQuote) { - throw new ExpectingATEXT(); - } - } -} diff --git a/pandora_console/vendor/egulias/email-validator/EmailValidator/Parser/Parser.php b/pandora_console/vendor/egulias/email-validator/EmailValidator/Parser/Parser.php deleted file mode 100644 index e5042e1a85..0000000000 --- a/pandora_console/vendor/egulias/email-validator/EmailValidator/Parser/Parser.php +++ /dev/null @@ -1,215 +0,0 @@ -lexer = $lexer; - } - - public function getWarnings() - { - return $this->warnings; - } - - abstract public function parse($str); - - /** @return int */ - public function getOpenedParenthesis() - { - return $this->openedParenthesis; - } - - /** - * validateQuotedPair - */ - protected function validateQuotedPair() - { - if (!($this->lexer->token['type'] === EmailLexer::INVALID - || $this->lexer->token['type'] === EmailLexer::C_DEL)) { - throw new ExpectedQPair(); - } - - $this->warnings[QuotedPart::CODE] = - new QuotedPart($this->lexer->getPrevious()['type'], $this->lexer->token['type']); - } - - protected function parseComments() - { - $this->openedParenthesis = 1; - $this->isUnclosedComment(); - $this->warnings[Comment::CODE] = new Comment(); - while (!$this->lexer->isNextToken(EmailLexer::S_CLOSEPARENTHESIS)) { - if ($this->lexer->isNextToken(EmailLexer::S_OPENPARENTHESIS)) { - $this->openedParenthesis++; - } - $this->warnEscaping(); - $this->lexer->moveNext(); - } - - $this->lexer->moveNext(); - if ($this->lexer->isNextTokenAny(array(EmailLexer::GENERIC, EmailLexer::S_EMPTY))) { - throw new ExpectingATEXT(); - } - - if ($this->lexer->isNextToken(EmailLexer::S_AT)) { - $this->warnings[CFWSNearAt::CODE] = new CFWSNearAt(); - } - } - - protected function isUnclosedComment() - { - try { - $this->lexer->find(EmailLexer::S_CLOSEPARENTHESIS); - return true; - } catch (\RuntimeException $e) { - throw new UnclosedComment(); - } - } - - protected function parseFWS() - { - $previous = $this->lexer->getPrevious(); - - $this->checkCRLFInFWS(); - - if ($this->lexer->token['type'] === EmailLexer::S_CR) { - throw new CRNoLF(); - } - - if ($this->lexer->isNextToken(EmailLexer::GENERIC) && $previous['type'] !== EmailLexer::S_AT) { - throw new AtextAfterCFWS(); - } - - if ($this->lexer->token['type'] === EmailLexer::S_LF || $this->lexer->token['type'] === EmailLexer::C_NUL) { - throw new ExpectingCTEXT(); - } - - if ($this->lexer->isNextToken(EmailLexer::S_AT) || $previous['type'] === EmailLexer::S_AT) { - $this->warnings[CFWSNearAt::CODE] = new CFWSNearAt(); - } else { - $this->warnings[CFWSWithFWS::CODE] = new CFWSWithFWS(); - } - } - - protected function checkConsecutiveDots() - { - if ($this->lexer->token['type'] === EmailLexer::S_DOT && $this->lexer->isNextToken(EmailLexer::S_DOT)) { - throw new ConsecutiveDot(); - } - } - - protected function isFWS() - { - if ($this->escaped()) { - return false; - } - - if ($this->lexer->token['type'] === EmailLexer::S_SP || - $this->lexer->token['type'] === EmailLexer::S_HTAB || - $this->lexer->token['type'] === EmailLexer::S_CR || - $this->lexer->token['type'] === EmailLexer::S_LF || - $this->lexer->token['type'] === EmailLexer::CRLF - ) { - return true; - } - - return false; - } - - protected function escaped() - { - $previous = $this->lexer->getPrevious(); - - if ($previous['type'] === EmailLexer::S_BACKSLASH - && - $this->lexer->token['type'] !== EmailLexer::GENERIC - ) { - return true; - } - - return false; - } - - protected function warnEscaping() - { - if ($this->lexer->token['type'] !== EmailLexer::S_BACKSLASH) { - return false; - } - - if ($this->lexer->isNextToken(EmailLexer::GENERIC)) { - throw new ExpectingATEXT(); - } - - if (!$this->lexer->isNextTokenAny(array(EmailLexer::S_SP, EmailLexer::S_HTAB, EmailLexer::C_DEL))) { - return false; - } - - $this->warnings[QuotedPart::CODE] = - new QuotedPart($this->lexer->getPrevious()['type'], $this->lexer->token['type']); - return true; - - } - - protected function checkDQUOTE($hasClosingQuote) - { - if ($this->lexer->token['type'] !== EmailLexer::S_DQUOTE) { - return $hasClosingQuote; - } - if ($hasClosingQuote) { - return $hasClosingQuote; - } - $previous = $this->lexer->getPrevious(); - if ($this->lexer->isNextToken(EmailLexer::GENERIC) && $previous['type'] === EmailLexer::GENERIC) { - throw new ExpectingATEXT(); - } - - try { - $this->lexer->find(EmailLexer::S_DQUOTE); - $hasClosingQuote = true; - } catch (\Exception $e) { - throw new UnclosedQuotedString(); - } - $this->warnings[QuotedString::CODE] = new QuotedString($previous['value'], $this->lexer->token['value']); - - return $hasClosingQuote; - } - - protected function checkCRLFInFWS() - { - if ($this->lexer->token['type'] !== EmailLexer::CRLF) { - return; - } - - if (!$this->lexer->isNextTokenAny(array(EmailLexer::S_SP, EmailLexer::S_HTAB))) { - throw new CRLFX2(); - } - - if (!$this->lexer->isNextTokenAny(array(EmailLexer::S_SP, EmailLexer::S_HTAB))) { - throw new CRLFAtTheEnd(); - } - } -} diff --git a/pandora_console/vendor/egulias/email-validator/EmailValidator/Validation/DNSCheckValidation.php b/pandora_console/vendor/egulias/email-validator/EmailValidator/Validation/DNSCheckValidation.php deleted file mode 100644 index e5c3e5df90..0000000000 --- a/pandora_console/vendor/egulias/email-validator/EmailValidator/Validation/DNSCheckValidation.php +++ /dev/null @@ -1,72 +0,0 @@ -checkDNS($host); - } - - public function getError() - { - return $this->error; - } - - public function getWarnings() - { - return $this->warnings; - } - - protected function checkDNS($host) - { - $variant = INTL_IDNA_VARIANT_2003; - if ( defined('INTL_IDNA_VARIANT_UTS46') ) { - $variant = INTL_IDNA_VARIANT_UTS46; - } - $host = rtrim(idn_to_ascii($host, IDNA_DEFAULT, $variant), '.') . '.'; - - $Aresult = true; - $MXresult = checkdnsrr($host, 'MX'); - - if (!$MXresult) { - $this->warnings[NoDNSMXRecord::CODE] = new NoDNSMXRecord(); - $Aresult = checkdnsrr($host, 'A') || checkdnsrr($host, 'AAAA'); - if (!$Aresult) { - $this->error = new NoDNSRecord(); - } - } - return $MXresult || $Aresult; - } -} diff --git a/pandora_console/vendor/egulias/email-validator/EmailValidator/Validation/Error/RFCWarnings.php b/pandora_console/vendor/egulias/email-validator/EmailValidator/Validation/Error/RFCWarnings.php deleted file mode 100644 index 7f2256d60f..0000000000 --- a/pandora_console/vendor/egulias/email-validator/EmailValidator/Validation/Error/RFCWarnings.php +++ /dev/null @@ -1,11 +0,0 @@ -errors = $errors; - parent::__construct(); - } - - public function getErrors() - { - return $this->errors; - } -} diff --git a/pandora_console/vendor/egulias/email-validator/EmailValidator/Validation/RFCValidation.php b/pandora_console/vendor/egulias/email-validator/EmailValidator/Validation/RFCValidation.php deleted file mode 100644 index c4ffe35034..0000000000 --- a/pandora_console/vendor/egulias/email-validator/EmailValidator/Validation/RFCValidation.php +++ /dev/null @@ -1,49 +0,0 @@ -parser = new EmailParser($emailLexer); - try { - $this->parser->parse((string)$email); - } catch (InvalidEmail $invalid) { - $this->error = $invalid; - return false; - } - - $this->warnings = $this->parser->getWarnings(); - return true; - } - - public function getError() - { - return $this->error; - } - - public function getWarnings() - { - return $this->warnings; - } -} diff --git a/pandora_console/vendor/egulias/email-validator/EmailValidator/Warning/DomainTooLong.php b/pandora_console/vendor/egulias/email-validator/EmailValidator/Warning/DomainTooLong.php deleted file mode 100644 index 61ff17a767..0000000000 --- a/pandora_console/vendor/egulias/email-validator/EmailValidator/Warning/DomainTooLong.php +++ /dev/null @@ -1,14 +0,0 @@ -message = 'Domain is too long, exceeds 255 chars'; - $this->rfcNumber = 5322; - } -} diff --git a/pandora_console/vendor/egulias/email-validator/EmailValidator/Warning/LabelTooLong.php b/pandora_console/vendor/egulias/email-validator/EmailValidator/Warning/LabelTooLong.php deleted file mode 100644 index daf07f4083..0000000000 --- a/pandora_console/vendor/egulias/email-validator/EmailValidator/Warning/LabelTooLong.php +++ /dev/null @@ -1,14 +0,0 @@ -message = 'Label too long'; - $this->rfcNumber = 5322; - } -} diff --git a/pandora_console/vendor/egulias/email-validator/LICENSE b/pandora_console/vendor/egulias/email-validator/LICENSE index c34d2c197d..1f0f2678a0 100644 --- a/pandora_console/vendor/egulias/email-validator/LICENSE +++ b/pandora_console/vendor/egulias/email-validator/LICENSE @@ -1,4 +1,4 @@ -Copyright (c) 2013-2016 Eduardo Gulias Davis +Copyright (c) 2013-2021 Eduardo Gulias Davis Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/pandora_console/vendor/egulias/email-validator/README.md b/pandora_console/vendor/egulias/email-validator/README.md deleted file mode 100644 index 8fcd2a6fea..0000000000 --- a/pandora_console/vendor/egulias/email-validator/README.md +++ /dev/null @@ -1,79 +0,0 @@ -# EmailValidator -[![Build Status](https://travis-ci.org/egulias/EmailValidator.png?branch=master)](https://travis-ci.org/egulias/EmailValidator) [![Coverage Status](https://coveralls.io/repos/egulias/EmailValidator/badge.png?branch=master)](https://coveralls.io/r/egulias/EmailValidator?branch=master) [![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/egulias/EmailValidator/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/egulias/EmailValidator/?branch=master) [![SensioLabsInsight](https://insight.sensiolabs.com/projects/22ba6692-9c02-42e5-a65d-1c5696bfffc6/small.png)](https://insight.sensiolabs.com/projects/22ba6692-9c02-42e5-a65d-1c5696bfffc6) -============================= -With the help of [PHPStorm](https://www.jetbrains.com/phpstorm/) - -## Requirements ## - - * [Composer](https://getcomposer.org) is required for installation - * [Spoofchecking](https://github.com/egulias/EmailValidator/blob/master/EmailValidator/Validation/SpoofCheckValidation.php) and [DNSCheckValidation](https://github.com/egulias/EmailValidator/blob/master/EmailValidator/Validation/DNSCheckValidation.php) validation requires that your PHP system have the [PHP Internationalization Libraries](https://php.net/manual/en/book.intl.php) (also known as PHP Intl) - -## Installation ## - -Run the command below to install via Composer - -```shell -composer require egulias/email-validator "~2.1" -``` - -## Getting Started ## -`EmailValidator`requires you to decide which (or combination of them) validation/s strategy/ies you'd like to follow for each [validation](#available-validations). - -A basic example with the RFC validation -```php -isValid("example@example.com", new RFCValidation()); //true -``` - - -### Available validations ### - -1. [RFCValidation](https://github.com/egulias/EmailValidator/blob/master/EmailValidator/Validation/RFCValidation.php) -2. [NoRFCWarningsValidation](https://github.com/egulias/EmailValidator/blob/master/EmailValidator/Validation/NoRFCWarningsValidation.php) -3. [DNSCheckValidation](https://github.com/egulias/EmailValidator/blob/master/EmailValidator/Validation/DNSCheckValidation.php) -4. [SpoofCheckValidation](https://github.com/egulias/EmailValidator/blob/master/EmailValidator/Validation/SpoofCheckValidation.php) -5. [MultipleValidationWithAnd](https://github.com/egulias/EmailValidator/blob/master/EmailValidator/Validation/MultipleValidationWithAnd.php) -6. [Your own validation](#how-to-extend) - -`MultipleValidationWithAnd` - -It is a validation that operates over other validations performing a logical and (&&) over the result of each validation. - -```php -isValid("example@example.com", $multipleValidations); //true -``` - -### How to extend ### - -It's easy! You just need to implement [EmailValidation](https://github.com/egulias/EmailValidator/blob/master/EmailValidator/Validation/EmailValidation.php) and you can use your own validation. - - -## Other Contributors ## -(You can find current contributors [here](https://github.com/egulias/EmailValidator/graphs/contributors)) - -As this is a port from another library and work, here are other people related to the previous one: - -* Ricard Clau [@ricardclau](https://github.com/ricardclau): Performance against PHP built-in filter_var -* Josepf Bielawski [@stloyd](https://github.com/stloyd): For its first re-work of Dominic's lib -* Dominic Sayers [@dominicsayers](https://github.com/dominicsayers): The original isemail function - -## License ## -Released under the MIT License attached with this code. - diff --git a/pandora_console/vendor/egulias/email-validator/composer.json b/pandora_console/vendor/egulias/email-validator/composer.json index 5423e9f02b..d598d1b622 100644 --- a/pandora_console/vendor/egulias/email-validator/composer.json +++ b/pandora_console/vendor/egulias/email-validator/composer.json @@ -2,7 +2,6 @@ "name": "egulias/email-validator", "description": "A library for validating emails against several RFCs", "homepage": "https://github.com/egulias/EmailValidator", - "type": "Library", "keywords": ["email", "validation", "validator", "emailvalidation", "emailvalidator"], "license": "MIT", "authors": [ @@ -10,35 +9,30 @@ ], "extra": { "branch-alias": { - "dev-master": "2.0.x-dev" + "dev-master": "3.0.x-dev" } }, - "repositories": [ - { - "type": "git", - "url": "https://github.com/dominicsayers/isemail" - } - ], - "require": { - "php": ">= 5.5", - "doctrine/lexer": "^1.0.1" + "require": { + "php": ">=7.2", + "doctrine/lexer": "^1.2", + "symfony/polyfill-intl-idn": "^1.15" }, - "require-dev" : { - "satooshi/php-coveralls": "^1.0.1", - "phpunit/phpunit": "^4.8.35||^5.7||^6.0", - "dominicsayers/isemail": "dev-master" + "require-dev": { + "php-coveralls/php-coveralls": "^2.2", + "phpunit/phpunit": "^8.5.8|^9.3.3", + "vimeo/psalm": "^4" }, "suggest": { "ext-intl": "PHP Internationalization Libraries are required to use the SpoofChecking validation" }, "autoload": { "psr-4": { - "Egulias\\EmailValidator\\": "EmailValidator" + "Egulias\\EmailValidator\\": "src" } }, "autoload-dev": { "psr-4": { - "Egulias\\Tests\\": "test" + "Egulias\\EmailValidator\\Tests\\": "tests" } } } diff --git a/pandora_console/vendor/egulias/email-validator/composer.lock b/pandora_console/vendor/egulias/email-validator/composer.lock new file mode 100644 index 0000000000..c575e7fce8 --- /dev/null +++ b/pandora_console/vendor/egulias/email-validator/composer.lock @@ -0,0 +1,4440 @@ +{ + "_readme": [ + "This file locks the dependencies of your project to a known state", + "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", + "This file is @generated automatically" + ], + "content-hash": "a77d36b64bc1213fecf4d4f92d759c3b", + "packages": [ + { + "name": "doctrine/lexer", + "version": "1.2.1", + "source": { + "type": "git", + "url": "https://github.com/doctrine/lexer.git", + "reference": "e864bbf5904cb8f5bb334f99209b48018522f042" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/lexer/zipball/e864bbf5904cb8f5bb334f99209b48018522f042", + "reference": "e864bbf5904cb8f5bb334f99209b48018522f042", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0" + }, + "require-dev": { + "doctrine/coding-standard": "^6.0", + "phpstan/phpstan": "^0.11.8", + "phpunit/phpunit": "^8.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.2.x-dev" + } + }, + "autoload": { + "psr-4": { + "Doctrine\\Common\\Lexer\\": "lib/Doctrine/Common/Lexer" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "PHP Doctrine Lexer parser library that can be used in Top-Down, Recursive Descent Parsers.", + "homepage": "https://www.doctrine-project.org/projects/lexer.html", + "keywords": [ + "annotations", + "docblock", + "lexer", + "parser", + "php" + ], + "support": { + "issues": "https://github.com/doctrine/lexer/issues", + "source": "https://github.com/doctrine/lexer/tree/1.2.1" + }, + "funding": [ + { + "url": "https://www.doctrine-project.org/sponsorship.html", + "type": "custom" + }, + { + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Flexer", + "type": "tidelift" + } + ], + "time": "2020-05-25T17:44:05+00:00" + }, + { + "name": "symfony/polyfill-intl-idn", + "version": "v1.22.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-idn.git", + "reference": "2d63434d922daf7da8dd863e7907e67ee3031483" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/2d63434d922daf7da8dd863e7907e67ee3031483", + "reference": "2d63434d922daf7da8dd863e7907e67ee3031483", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "symfony/polyfill-intl-normalizer": "^1.10", + "symfony/polyfill-php72": "^1.10" + }, + "suggest": { + "ext-intl": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.22-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Intl\\Idn\\": "" + }, + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Laurent Bassin", + "email": "laurent@bassin.info" + }, + { + "name": "Trevor Rowbotham", + "email": "trevor.rowbotham@pm.me" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for intl's idn_to_ascii and idn_to_utf8 functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "idn", + "intl", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.22.1" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-01-22T09:19:47+00:00" + }, + { + "name": "symfony/polyfill-intl-normalizer", + "version": "v1.22.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-normalizer.git", + "reference": "43a0283138253ed1d48d352ab6d0bdb3f809f248" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/43a0283138253ed1d48d352ab6d0bdb3f809f248", + "reference": "43a0283138253ed1d48d352ab6d0bdb3f809f248", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "suggest": { + "ext-intl": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.22-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Intl\\Normalizer\\": "" + }, + "files": [ + "bootstrap.php" + ], + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for intl's Normalizer class and related functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "intl", + "normalizer", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.22.1" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-01-22T09:19:47+00:00" + }, + { + "name": "symfony/polyfill-php72", + "version": "v1.22.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php72.git", + "reference": "cc6e6f9b39fe8075b3dabfbaf5b5f645ae1340c9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/cc6e6f9b39fe8075b3dabfbaf5b5f645ae1340c9", + "reference": "cc6e6f9b39fe8075b3dabfbaf5b5f645ae1340c9", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.22-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Php72\\": "" + }, + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php72/tree/v1.22.1" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-01-07T16:49:33+00:00" + } + ], + "packages-dev": [ + { + "name": "amphp/amp", + "version": "v2.5.2", + "source": { + "type": "git", + "url": "https://github.com/amphp/amp.git", + "reference": "efca2b32a7580087adb8aabbff6be1dc1bb924a9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/amphp/amp/zipball/efca2b32a7580087adb8aabbff6be1dc1bb924a9", + "reference": "efca2b32a7580087adb8aabbff6be1dc1bb924a9", + "shasum": "" + }, + "require": { + "php": ">=7" + }, + "require-dev": { + "amphp/php-cs-fixer-config": "dev-master", + "amphp/phpunit-util": "^1", + "ext-json": "*", + "jetbrains/phpstorm-stubs": "^2019.3", + "phpunit/phpunit": "^6.0.9 | ^7", + "psalm/phar": "^3.11@dev", + "react/promise": "^2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.x-dev" + } + }, + "autoload": { + "psr-4": { + "Amp\\": "lib" + }, + "files": [ + "lib/functions.php", + "lib/Internal/functions.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Daniel Lowrey", + "email": "rdlowrey@php.net" + }, + { + "name": "Aaron Piotrowski", + "email": "aaron@trowski.com" + }, + { + "name": "Bob Weinand", + "email": "bobwei9@hotmail.com" + }, + { + "name": "Niklas Keller", + "email": "me@kelunik.com" + } + ], + "description": "A non-blocking concurrency framework for PHP applications.", + "homepage": "http://amphp.org/amp", + "keywords": [ + "async", + "asynchronous", + "awaitable", + "concurrency", + "event", + "event-loop", + "future", + "non-blocking", + "promise" + ], + "support": { + "irc": "irc://irc.freenode.org/amphp", + "issues": "https://github.com/amphp/amp/issues", + "source": "https://github.com/amphp/amp/tree/v2.5.2" + }, + "funding": [ + { + "url": "https://github.com/amphp", + "type": "github" + } + ], + "time": "2021-01-10T17:06:37+00:00" + }, + { + "name": "amphp/byte-stream", + "version": "v1.8.0", + "source": { + "type": "git", + "url": "https://github.com/amphp/byte-stream.git", + "reference": "f0c20cf598a958ba2aa8c6e5a71c697d652c7088" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/amphp/byte-stream/zipball/f0c20cf598a958ba2aa8c6e5a71c697d652c7088", + "reference": "f0c20cf598a958ba2aa8c6e5a71c697d652c7088", + "shasum": "" + }, + "require": { + "amphp/amp": "^2", + "php": ">=7.1" + }, + "require-dev": { + "amphp/php-cs-fixer-config": "dev-master", + "amphp/phpunit-util": "^1.4", + "friendsofphp/php-cs-fixer": "^2.3", + "jetbrains/phpstorm-stubs": "^2019.3", + "phpunit/phpunit": "^6 || ^7 || ^8", + "psalm/phar": "^3.11.4" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Amp\\ByteStream\\": "lib" + }, + "files": [ + "lib/functions.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Aaron Piotrowski", + "email": "aaron@trowski.com" + }, + { + "name": "Niklas Keller", + "email": "me@kelunik.com" + } + ], + "description": "A stream abstraction to make working with non-blocking I/O simple.", + "homepage": "http://amphp.org/byte-stream", + "keywords": [ + "amp", + "amphp", + "async", + "io", + "non-blocking", + "stream" + ], + "support": { + "irc": "irc://irc.freenode.org/amphp", + "issues": "https://github.com/amphp/byte-stream/issues", + "source": "https://github.com/amphp/byte-stream/tree/master" + }, + "time": "2020-06-29T18:35:05+00:00" + }, + { + "name": "composer/package-versions-deprecated", + "version": "1.11.99.1", + "source": { + "type": "git", + "url": "https://github.com/composer/package-versions-deprecated.git", + "reference": "7413f0b55a051e89485c5cb9f765fe24bb02a7b6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/composer/package-versions-deprecated/zipball/7413f0b55a051e89485c5cb9f765fe24bb02a7b6", + "reference": "7413f0b55a051e89485c5cb9f765fe24bb02a7b6", + "shasum": "" + }, + "require": { + "composer-plugin-api": "^1.1.0 || ^2.0", + "php": "^7 || ^8" + }, + "replace": { + "ocramius/package-versions": "1.11.99" + }, + "require-dev": { + "composer/composer": "^1.9.3 || ^2.0@dev", + "ext-zip": "^1.13", + "phpunit/phpunit": "^6.5 || ^7" + }, + "type": "composer-plugin", + "extra": { + "class": "PackageVersions\\Installer", + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "PackageVersions\\": "src/PackageVersions" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Marco Pivetta", + "email": "ocramius@gmail.com" + }, + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be" + } + ], + "description": "Composer plugin that provides efficient querying for installed package versions (no runtime IO)", + "support": { + "issues": "https://github.com/composer/package-versions-deprecated/issues", + "source": "https://github.com/composer/package-versions-deprecated/tree/1.11.99.1" + }, + "funding": [ + { + "url": "https://packagist.com", + "type": "custom" + }, + { + "url": "https://github.com/composer", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/composer/composer", + "type": "tidelift" + } + ], + "time": "2020-11-11T10:22:58+00:00" + }, + { + "name": "composer/semver", + "version": "3.2.4", + "source": { + "type": "git", + "url": "https://github.com/composer/semver.git", + "reference": "a02fdf930a3c1c3ed3a49b5f63859c0c20e10464" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/composer/semver/zipball/a02fdf930a3c1c3ed3a49b5f63859c0c20e10464", + "reference": "a02fdf930a3c1c3ed3a49b5f63859c0c20e10464", + "shasum": "" + }, + "require": { + "php": "^5.3.2 || ^7.0 || ^8.0" + }, + "require-dev": { + "phpstan/phpstan": "^0.12.54", + "symfony/phpunit-bridge": "^4.2 || ^5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Composer\\Semver\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nils Adermann", + "email": "naderman@naderman.de", + "homepage": "http://www.naderman.de" + }, + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" + }, + { + "name": "Rob Bast", + "email": "rob.bast@gmail.com", + "homepage": "http://robbast.nl" + } + ], + "description": "Semver library that offers utilities, version constraint parsing and validation.", + "keywords": [ + "semantic", + "semver", + "validation", + "versioning" + ], + "support": { + "irc": "irc://irc.freenode.org/composer", + "issues": "https://github.com/composer/semver/issues", + "source": "https://github.com/composer/semver/tree/3.2.4" + }, + "funding": [ + { + "url": "https://packagist.com", + "type": "custom" + }, + { + "url": "https://github.com/composer", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/composer/composer", + "type": "tidelift" + } + ], + "time": "2020-11-13T08:59:24+00:00" + }, + { + "name": "composer/xdebug-handler", + "version": "1.4.5", + "source": { + "type": "git", + "url": "https://github.com/composer/xdebug-handler.git", + "reference": "f28d44c286812c714741478d968104c5e604a1d4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/f28d44c286812c714741478d968104c5e604a1d4", + "reference": "f28d44c286812c714741478d968104c5e604a1d4", + "shasum": "" + }, + "require": { + "php": "^5.3.2 || ^7.0 || ^8.0", + "psr/log": "^1.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.35 || ^5.7 || 6.5 - 8" + }, + "type": "library", + "autoload": { + "psr-4": { + "Composer\\XdebugHandler\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "John Stevenson", + "email": "john-stevenson@blueyonder.co.uk" + } + ], + "description": "Restarts a process without Xdebug.", + "keywords": [ + "Xdebug", + "performance" + ], + "support": { + "irc": "irc://irc.freenode.org/composer", + "issues": "https://github.com/composer/xdebug-handler/issues", + "source": "https://github.com/composer/xdebug-handler/tree/1.4.5" + }, + "funding": [ + { + "url": "https://packagist.com", + "type": "custom" + }, + { + "url": "https://github.com/composer", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/composer/composer", + "type": "tidelift" + } + ], + "time": "2020-11-13T08:04:11+00:00" + }, + { + "name": "dnoegel/php-xdg-base-dir", + "version": "v0.1.1", + "source": { + "type": "git", + "url": "https://github.com/dnoegel/php-xdg-base-dir.git", + "reference": "8f8a6e48c5ecb0f991c2fdcf5f154a47d85f9ffd" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/dnoegel/php-xdg-base-dir/zipball/8f8a6e48c5ecb0f991c2fdcf5f154a47d85f9ffd", + "reference": "8f8a6e48c5ecb0f991c2fdcf5f154a47d85f9ffd", + "shasum": "" + }, + "require": { + "php": ">=5.3.2" + }, + "require-dev": { + "phpunit/phpunit": "~7.0|~6.0|~5.0|~4.8.35" + }, + "type": "library", + "autoload": { + "psr-4": { + "XdgBaseDir\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "implementation of xdg base directory specification for php", + "support": { + "issues": "https://github.com/dnoegel/php-xdg-base-dir/issues", + "source": "https://github.com/dnoegel/php-xdg-base-dir/tree/v0.1.1" + }, + "time": "2019-12-04T15:06:13+00:00" + }, + { + "name": "doctrine/instantiator", + "version": "1.4.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/instantiator.git", + "reference": "d56bf6102915de5702778fe20f2de3b2fe570b5b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/instantiator/zipball/d56bf6102915de5702778fe20f2de3b2fe570b5b", + "reference": "d56bf6102915de5702778fe20f2de3b2fe570b5b", + "shasum": "" + }, + "require": { + "php": "^7.1 || ^8.0" + }, + "require-dev": { + "doctrine/coding-standard": "^8.0", + "ext-pdo": "*", + "ext-phar": "*", + "phpbench/phpbench": "^0.13 || 1.0.0-alpha2", + "phpstan/phpstan": "^0.12", + "phpstan/phpstan-phpunit": "^0.12", + "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Marco Pivetta", + "email": "ocramius@gmail.com", + "homepage": "https://ocramius.github.io/" + } + ], + "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", + "homepage": "https://www.doctrine-project.org/projects/instantiator.html", + "keywords": [ + "constructor", + "instantiate" + ], + "support": { + "issues": "https://github.com/doctrine/instantiator/issues", + "source": "https://github.com/doctrine/instantiator/tree/1.4.0" + }, + "funding": [ + { + "url": "https://www.doctrine-project.org/sponsorship.html", + "type": "custom" + }, + { + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finstantiator", + "type": "tidelift" + } + ], + "time": "2020-11-10T18:47:58+00:00" + }, + { + "name": "felixfbecker/advanced-json-rpc", + "version": "v3.2.0", + "source": { + "type": "git", + "url": "https://github.com/felixfbecker/php-advanced-json-rpc.git", + "reference": "06f0b06043c7438959dbdeed8bb3f699a19be22e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/felixfbecker/php-advanced-json-rpc/zipball/06f0b06043c7438959dbdeed8bb3f699a19be22e", + "reference": "06f0b06043c7438959dbdeed8bb3f699a19be22e", + "shasum": "" + }, + "require": { + "netresearch/jsonmapper": "^1.0 || ^2.0", + "php": "^7.1 || ^8.0", + "phpdocumentor/reflection-docblock": "^4.3.4 || ^5.0.0" + }, + "require-dev": { + "phpunit/phpunit": "^7.0 || ^8.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "AdvancedJsonRpc\\": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "ISC" + ], + "authors": [ + { + "name": "Felix Becker", + "email": "felix.b@outlook.com" + } + ], + "description": "A more advanced JSONRPC implementation", + "support": { + "issues": "https://github.com/felixfbecker/php-advanced-json-rpc/issues", + "source": "https://github.com/felixfbecker/php-advanced-json-rpc/tree/v3.2.0" + }, + "time": "2021-01-10T17:48:47+00:00" + }, + { + "name": "felixfbecker/language-server-protocol", + "version": "1.5.1", + "source": { + "type": "git", + "url": "https://github.com/felixfbecker/php-language-server-protocol.git", + "reference": "9d846d1f5cf101deee7a61c8ba7caa0a975cd730" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/felixfbecker/php-language-server-protocol/zipball/9d846d1f5cf101deee7a61c8ba7caa0a975cd730", + "reference": "9d846d1f5cf101deee7a61c8ba7caa0a975cd730", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "require-dev": { + "phpstan/phpstan": "*", + "squizlabs/php_codesniffer": "^3.1", + "vimeo/psalm": "^4.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "LanguageServerProtocol\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "ISC" + ], + "authors": [ + { + "name": "Felix Becker", + "email": "felix.b@outlook.com" + } + ], + "description": "PHP classes for the Language Server Protocol", + "keywords": [ + "language", + "microsoft", + "php", + "server" + ], + "support": { + "issues": "https://github.com/felixfbecker/php-language-server-protocol/issues", + "source": "https://github.com/felixfbecker/php-language-server-protocol/tree/1.5.1" + }, + "time": "2021-02-22T14:02:09+00:00" + }, + { + "name": "guzzlehttp/guzzle", + "version": "7.2.0", + "source": { + "type": "git", + "url": "https://github.com/guzzle/guzzle.git", + "reference": "0aa74dfb41ae110835923ef10a9d803a22d50e79" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/guzzle/zipball/0aa74dfb41ae110835923ef10a9d803a22d50e79", + "reference": "0aa74dfb41ae110835923ef10a9d803a22d50e79", + "shasum": "" + }, + "require": { + "ext-json": "*", + "guzzlehttp/promises": "^1.4", + "guzzlehttp/psr7": "^1.7", + "php": "^7.2.5 || ^8.0", + "psr/http-client": "^1.0" + }, + "provide": { + "psr/http-client-implementation": "1.0" + }, + "require-dev": { + "ext-curl": "*", + "php-http/client-integration-tests": "^3.0", + "phpunit/phpunit": "^8.5.5 || ^9.3.5", + "psr/log": "^1.1" + }, + "suggest": { + "ext-curl": "Required for CURL handler support", + "ext-intl": "Required for Internationalized Domain Name (IDN) support", + "psr/log": "Required for using the Log middleware" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "7.1-dev" + } + }, + "autoload": { + "psr-4": { + "GuzzleHttp\\": "src/" + }, + "files": [ + "src/functions_include.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + }, + { + "name": "Márk Sági-Kazár", + "email": "mark.sagikazar@gmail.com", + "homepage": "https://sagikazarmark.hu" + } + ], + "description": "Guzzle is a PHP HTTP client library", + "homepage": "http://guzzlephp.org/", + "keywords": [ + "client", + "curl", + "framework", + "http", + "http client", + "psr-18", + "psr-7", + "rest", + "web service" + ], + "support": { + "issues": "https://github.com/guzzle/guzzle/issues", + "source": "https://github.com/guzzle/guzzle/tree/7.2.0" + }, + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://github.com/Nyholm", + "type": "github" + }, + { + "url": "https://github.com/alexeyshockov", + "type": "github" + }, + { + "url": "https://github.com/gmponos", + "type": "github" + } + ], + "time": "2020-10-10T11:47:56+00:00" + }, + { + "name": "guzzlehttp/promises", + "version": "1.4.0", + "source": { + "type": "git", + "url": "https://github.com/guzzle/promises.git", + "reference": "60d379c243457e073cff02bc323a2a86cb355631" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/promises/zipball/60d379c243457e073cff02bc323a2a86cb355631", + "reference": "60d379c243457e073cff02bc323a2a86cb355631", + "shasum": "" + }, + "require": { + "php": ">=5.5" + }, + "require-dev": { + "symfony/phpunit-bridge": "^4.4 || ^5.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.4-dev" + } + }, + "autoload": { + "psr-4": { + "GuzzleHttp\\Promise\\": "src/" + }, + "files": [ + "src/functions_include.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + } + ], + "description": "Guzzle promises library", + "keywords": [ + "promise" + ], + "support": { + "issues": "https://github.com/guzzle/promises/issues", + "source": "https://github.com/guzzle/promises/tree/1.4.0" + }, + "time": "2020-09-30T07:37:28+00:00" + }, + { + "name": "guzzlehttp/psr7", + "version": "1.7.0", + "source": { + "type": "git", + "url": "https://github.com/guzzle/psr7.git", + "reference": "53330f47520498c0ae1f61f7e2c90f55690c06a3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/psr7/zipball/53330f47520498c0ae1f61f7e2c90f55690c06a3", + "reference": "53330f47520498c0ae1f61f7e2c90f55690c06a3", + "shasum": "" + }, + "require": { + "php": ">=5.4.0", + "psr/http-message": "~1.0", + "ralouphie/getallheaders": "^2.0.5 || ^3.0.0" + }, + "provide": { + "psr/http-message-implementation": "1.0" + }, + "require-dev": { + "ext-zlib": "*", + "phpunit/phpunit": "~4.8.36 || ^5.7.27 || ^6.5.14 || ^7.5.20 || ^8.5.8 || ^9.3.10" + }, + "suggest": { + "laminas/laminas-httphandlerrunner": "Emit PSR-7 responses" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.7-dev" + } + }, + "autoload": { + "psr-4": { + "GuzzleHttp\\Psr7\\": "src/" + }, + "files": [ + "src/functions_include.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + }, + { + "name": "Tobias Schultze", + "homepage": "https://github.com/Tobion" + } + ], + "description": "PSR-7 message implementation that also provides common utility methods", + "keywords": [ + "http", + "message", + "psr-7", + "request", + "response", + "stream", + "uri", + "url" + ], + "support": { + "issues": "https://github.com/guzzle/psr7/issues", + "source": "https://github.com/guzzle/psr7/tree/1.7.0" + }, + "time": "2020-09-30T07:37:11+00:00" + }, + { + "name": "myclabs/deep-copy", + "version": "1.10.2", + "source": { + "type": "git", + "url": "https://github.com/myclabs/DeepCopy.git", + "reference": "776f831124e9c62e1a2c601ecc52e776d8bb7220" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/776f831124e9c62e1a2c601ecc52e776d8bb7220", + "reference": "776f831124e9c62e1a2c601ecc52e776d8bb7220", + "shasum": "" + }, + "require": { + "php": "^7.1 || ^8.0" + }, + "replace": { + "myclabs/deep-copy": "self.version" + }, + "require-dev": { + "doctrine/collections": "^1.0", + "doctrine/common": "^2.6", + "phpunit/phpunit": "^7.1" + }, + "type": "library", + "autoload": { + "psr-4": { + "DeepCopy\\": "src/DeepCopy/" + }, + "files": [ + "src/DeepCopy/deep_copy.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Create deep copies (clones) of your objects", + "keywords": [ + "clone", + "copy", + "duplicate", + "object", + "object graph" + ], + "support": { + "issues": "https://github.com/myclabs/DeepCopy/issues", + "source": "https://github.com/myclabs/DeepCopy/tree/1.10.2" + }, + "funding": [ + { + "url": "https://tidelift.com/funding/github/packagist/myclabs/deep-copy", + "type": "tidelift" + } + ], + "time": "2020-11-13T09:40:50+00:00" + }, + { + "name": "netresearch/jsonmapper", + "version": "v2.1.0", + "source": { + "type": "git", + "url": "https://github.com/cweiske/jsonmapper.git", + "reference": "e0f1e33a71587aca81be5cffbb9746510e1fe04e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/cweiske/jsonmapper/zipball/e0f1e33a71587aca81be5cffbb9746510e1fe04e", + "reference": "e0f1e33a71587aca81be5cffbb9746510e1fe04e", + "shasum": "" + }, + "require": { + "ext-json": "*", + "ext-pcre": "*", + "ext-reflection": "*", + "ext-spl": "*", + "php": ">=5.6" + }, + "require-dev": { + "phpunit/phpunit": "~4.8.35 || ~5.7 || ~6.4 || ~7.0", + "squizlabs/php_codesniffer": "~3.5" + }, + "type": "library", + "autoload": { + "psr-0": { + "JsonMapper": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "OSL-3.0" + ], + "authors": [ + { + "name": "Christian Weiske", + "email": "cweiske@cweiske.de", + "homepage": "http://github.com/cweiske/jsonmapper/", + "role": "Developer" + } + ], + "description": "Map nested JSON structures onto PHP classes", + "support": { + "email": "cweiske@cweiske.de", + "issues": "https://github.com/cweiske/jsonmapper/issues", + "source": "https://github.com/cweiske/jsonmapper/tree/master" + }, + "time": "2020-04-16T18:48:43+00:00" + }, + { + "name": "nikic/php-parser", + "version": "v4.10.4", + "source": { + "type": "git", + "url": "https://github.com/nikic/PHP-Parser.git", + "reference": "c6d052fc58cb876152f89f532b95a8d7907e7f0e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/c6d052fc58cb876152f89f532b95a8d7907e7f0e", + "reference": "c6d052fc58cb876152f89f532b95a8d7907e7f0e", + "shasum": "" + }, + "require": { + "ext-tokenizer": "*", + "php": ">=7.0" + }, + "require-dev": { + "ircmaxell/php-yacc": "^0.0.7", + "phpunit/phpunit": "^6.5 || ^7.0 || ^8.0 || ^9.0" + }, + "bin": [ + "bin/php-parse" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.9-dev" + } + }, + "autoload": { + "psr-4": { + "PhpParser\\": "lib/PhpParser" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Nikita Popov" + } + ], + "description": "A PHP parser written in PHP", + "keywords": [ + "parser", + "php" + ], + "support": { + "issues": "https://github.com/nikic/PHP-Parser/issues", + "source": "https://github.com/nikic/PHP-Parser/tree/v4.10.4" + }, + "time": "2020-12-20T10:01:03+00:00" + }, + { + "name": "openlss/lib-array2xml", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/nullivex/lib-array2xml.git", + "reference": "a91f18a8dfc69ffabe5f9b068bc39bb202c81d90" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nullivex/lib-array2xml/zipball/a91f18a8dfc69ffabe5f9b068bc39bb202c81d90", + "reference": "a91f18a8dfc69ffabe5f9b068bc39bb202c81d90", + "shasum": "" + }, + "require": { + "php": ">=5.3.2" + }, + "type": "library", + "autoload": { + "psr-0": { + "LSS": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache-2.0" + ], + "authors": [ + { + "name": "Bryan Tong", + "email": "bryan@nullivex.com", + "homepage": "https://www.nullivex.com" + }, + { + "name": "Tony Butler", + "email": "spudz76@gmail.com", + "homepage": "https://www.nullivex.com" + } + ], + "description": "Array2XML conversion library credit to lalit.org", + "homepage": "https://www.nullivex.com", + "keywords": [ + "array", + "array conversion", + "xml", + "xml conversion" + ], + "support": { + "issues": "https://github.com/nullivex/lib-array2xml/issues", + "source": "https://github.com/nullivex/lib-array2xml/tree/master" + }, + "time": "2019-03-29T20:06:56+00:00" + }, + { + "name": "phar-io/manifest", + "version": "2.0.1", + "source": { + "type": "git", + "url": "https://github.com/phar-io/manifest.git", + "reference": "85265efd3af7ba3ca4b2a2c34dbfc5788dd29133" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phar-io/manifest/zipball/85265efd3af7ba3ca4b2a2c34dbfc5788dd29133", + "reference": "85265efd3af7ba3ca4b2a2c34dbfc5788dd29133", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-phar": "*", + "ext-xmlwriter": "*", + "phar-io/version": "^3.0.1", + "php": "^7.2 || ^8.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Arne Blankerts", + "email": "arne@blankerts.de", + "role": "Developer" + }, + { + "name": "Sebastian Heuer", + "email": "sebastian@phpeople.de", + "role": "Developer" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "Developer" + } + ], + "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)", + "support": { + "issues": "https://github.com/phar-io/manifest/issues", + "source": "https://github.com/phar-io/manifest/tree/master" + }, + "time": "2020-06-27T14:33:11+00:00" + }, + { + "name": "phar-io/version", + "version": "3.1.0", + "source": { + "type": "git", + "url": "https://github.com/phar-io/version.git", + "reference": "bae7c545bef187884426f042434e561ab1ddb182" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phar-io/version/zipball/bae7c545bef187884426f042434e561ab1ddb182", + "reference": "bae7c545bef187884426f042434e561ab1ddb182", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0" + }, + "type": "library", + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Arne Blankerts", + "email": "arne@blankerts.de", + "role": "Developer" + }, + { + "name": "Sebastian Heuer", + "email": "sebastian@phpeople.de", + "role": "Developer" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "Developer" + } + ], + "description": "Library for handling version information and constraints", + "support": { + "issues": "https://github.com/phar-io/version/issues", + "source": "https://github.com/phar-io/version/tree/3.1.0" + }, + "time": "2021-02-23T14:00:09+00:00" + }, + { + "name": "php-coveralls/php-coveralls", + "version": "v2.4.3", + "source": { + "type": "git", + "url": "https://github.com/php-coveralls/php-coveralls.git", + "reference": "909381bd40a17ae6e9076051f0d73293c1c091af" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-coveralls/php-coveralls/zipball/909381bd40a17ae6e9076051f0d73293c1c091af", + "reference": "909381bd40a17ae6e9076051f0d73293c1c091af", + "shasum": "" + }, + "require": { + "ext-json": "*", + "ext-simplexml": "*", + "guzzlehttp/guzzle": "^6.0 || ^7.0", + "php": "^5.5 || ^7.0 || ^8.0", + "psr/log": "^1.0", + "symfony/config": "^2.1 || ^3.0 || ^4.0 || ^5.0", + "symfony/console": "^2.1 || ^3.0 || ^4.0 || ^5.0", + "symfony/stopwatch": "^2.0 || ^3.0 || ^4.0 || ^5.0", + "symfony/yaml": "^2.0.5 || ^3.0 || ^4.0 || ^5.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.35 || ^5.4.3 || ^6.0 || ^7.0 || ^8.0 || ^9.0", + "sanmai/phpunit-legacy-adapter": "^6.1 || ^8.0" + }, + "suggest": { + "symfony/http-kernel": "Allows Symfony integration" + }, + "bin": [ + "bin/php-coveralls" + ], + "type": "library", + "autoload": { + "psr-4": { + "PhpCoveralls\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Kitamura Satoshi", + "email": "with.no.parachute@gmail.com", + "homepage": "https://www.facebook.com/satooshi.jp", + "role": "Original creator" + }, + { + "name": "Takashi Matsuo", + "email": "tmatsuo@google.com" + }, + { + "name": "Google Inc" + }, + { + "name": "Dariusz Ruminski", + "email": "dariusz.ruminski@gmail.com", + "homepage": "https://github.com/keradus" + }, + { + "name": "Contributors", + "homepage": "https://github.com/php-coveralls/php-coveralls/graphs/contributors" + } + ], + "description": "PHP client library for Coveralls API", + "homepage": "https://github.com/php-coveralls/php-coveralls", + "keywords": [ + "ci", + "coverage", + "github", + "test" + ], + "support": { + "issues": "https://github.com/php-coveralls/php-coveralls/issues", + "source": "https://github.com/php-coveralls/php-coveralls/tree/v2.4.3" + }, + "time": "2020-12-24T09:17:03+00:00" + }, + { + "name": "phpdocumentor/reflection-common", + "version": "2.2.0", + "source": { + "type": "git", + "url": "https://github.com/phpDocumentor/ReflectionCommon.git", + "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/1d01c49d4ed62f25aa84a747ad35d5a16924662b", + "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-2.x": "2.x-dev" + } + }, + "autoload": { + "psr-4": { + "phpDocumentor\\Reflection\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jaap van Otterdijk", + "email": "opensource@ijaap.nl" + } + ], + "description": "Common reflection classes used by phpdocumentor to reflect the code structure", + "homepage": "http://www.phpdoc.org", + "keywords": [ + "FQSEN", + "phpDocumentor", + "phpdoc", + "reflection", + "static analysis" + ], + "support": { + "issues": "https://github.com/phpDocumentor/ReflectionCommon/issues", + "source": "https://github.com/phpDocumentor/ReflectionCommon/tree/2.x" + }, + "time": "2020-06-27T09:03:43+00:00" + }, + { + "name": "phpdocumentor/reflection-docblock", + "version": "5.2.2", + "source": { + "type": "git", + "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", + "reference": "069a785b2141f5bcf49f3e353548dc1cce6df556" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/069a785b2141f5bcf49f3e353548dc1cce6df556", + "reference": "069a785b2141f5bcf49f3e353548dc1cce6df556", + "shasum": "" + }, + "require": { + "ext-filter": "*", + "php": "^7.2 || ^8.0", + "phpdocumentor/reflection-common": "^2.2", + "phpdocumentor/type-resolver": "^1.3", + "webmozart/assert": "^1.9.1" + }, + "require-dev": { + "mockery/mockery": "~1.3.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.x-dev" + } + }, + "autoload": { + "psr-4": { + "phpDocumentor\\Reflection\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Mike van Riel", + "email": "me@mikevanriel.com" + }, + { + "name": "Jaap van Otterdijk", + "email": "account@ijaap.nl" + } + ], + "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", + "support": { + "issues": "https://github.com/phpDocumentor/ReflectionDocBlock/issues", + "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/master" + }, + "time": "2020-09-03T19:13:55+00:00" + }, + { + "name": "phpdocumentor/type-resolver", + "version": "1.4.0", + "source": { + "type": "git", + "url": "https://github.com/phpDocumentor/TypeResolver.git", + "reference": "6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0", + "reference": "6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0", + "phpdocumentor/reflection-common": "^2.0" + }, + "require-dev": { + "ext-tokenizer": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-1.x": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "phpDocumentor\\Reflection\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Mike van Riel", + "email": "me@mikevanriel.com" + } + ], + "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names", + "support": { + "issues": "https://github.com/phpDocumentor/TypeResolver/issues", + "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.4.0" + }, + "time": "2020-09-17T18:55:26+00:00" + }, + { + "name": "phpspec/prophecy", + "version": "1.12.2", + "source": { + "type": "git", + "url": "https://github.com/phpspec/prophecy.git", + "reference": "245710e971a030f42e08f4912863805570f23d39" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpspec/prophecy/zipball/245710e971a030f42e08f4912863805570f23d39", + "reference": "245710e971a030f42e08f4912863805570f23d39", + "shasum": "" + }, + "require": { + "doctrine/instantiator": "^1.2", + "php": "^7.2 || ~8.0, <8.1", + "phpdocumentor/reflection-docblock": "^5.2", + "sebastian/comparator": "^3.0 || ^4.0", + "sebastian/recursion-context": "^3.0 || ^4.0" + }, + "require-dev": { + "phpspec/phpspec": "^6.0", + "phpunit/phpunit": "^8.0 || ^9.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.11.x-dev" + } + }, + "autoload": { + "psr-4": { + "Prophecy\\": "src/Prophecy" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Konstantin Kudryashov", + "email": "ever.zet@gmail.com", + "homepage": "http://everzet.com" + }, + { + "name": "Marcello Duarte", + "email": "marcello.duarte@gmail.com" + } + ], + "description": "Highly opinionated mocking framework for PHP 5.3+", + "homepage": "https://github.com/phpspec/prophecy", + "keywords": [ + "Double", + "Dummy", + "fake", + "mock", + "spy", + "stub" + ], + "support": { + "issues": "https://github.com/phpspec/prophecy/issues", + "source": "https://github.com/phpspec/prophecy/tree/1.12.2" + }, + "time": "2020-12-19T10:15:11+00:00" + }, + { + "name": "phpunit/php-code-coverage", + "version": "7.0.14", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-code-coverage.git", + "reference": "bb7c9a210c72e4709cdde67f8b7362f672f2225c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/bb7c9a210c72e4709cdde67f8b7362f672f2225c", + "reference": "bb7c9a210c72e4709cdde67f8b7362f672f2225c", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-xmlwriter": "*", + "php": ">=7.2", + "phpunit/php-file-iterator": "^2.0.2", + "phpunit/php-text-template": "^1.2.1", + "phpunit/php-token-stream": "^3.1.1 || ^4.0", + "sebastian/code-unit-reverse-lookup": "^1.0.1", + "sebastian/environment": "^4.2.2", + "sebastian/version": "^2.0.1", + "theseer/tokenizer": "^1.1.3" + }, + "require-dev": { + "phpunit/phpunit": "^8.2.2" + }, + "suggest": { + "ext-xdebug": "^2.7.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "7.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", + "homepage": "https://github.com/sebastianbergmann/php-code-coverage", + "keywords": [ + "coverage", + "testing", + "xunit" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", + "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/7.0.14" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-12-02T13:39:03+00:00" + }, + { + "name": "phpunit/php-file-iterator", + "version": "2.0.3", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-file-iterator.git", + "reference": "4b49fb70f067272b659ef0174ff9ca40fdaa6357" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/4b49fb70f067272b659ef0174ff9ca40fdaa6357", + "reference": "4b49fb70f067272b659ef0174ff9ca40fdaa6357", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "require-dev": { + "phpunit/phpunit": "^8.5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "FilterIterator implementation that filters files based on a list of suffixes.", + "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", + "keywords": [ + "filesystem", + "iterator" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues", + "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/2.0.3" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-11-30T08:25:21+00:00" + }, + { + "name": "phpunit/php-text-template", + "version": "1.2.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-text-template.git", + "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686", + "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "type": "library", + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Simple template engine.", + "homepage": "https://github.com/sebastianbergmann/php-text-template/", + "keywords": [ + "template" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-text-template/issues", + "source": "https://github.com/sebastianbergmann/php-text-template/tree/1.2.1" + }, + "time": "2015-06-21T13:50:34+00:00" + }, + { + "name": "phpunit/php-timer", + "version": "2.1.3", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-timer.git", + "reference": "2454ae1765516d20c4ffe103d85a58a9a3bd5662" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/2454ae1765516d20c4ffe103d85a58a9a3bd5662", + "reference": "2454ae1765516d20c4ffe103d85a58a9a3bd5662", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "require-dev": { + "phpunit/phpunit": "^8.5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.1-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Utility class for timing", + "homepage": "https://github.com/sebastianbergmann/php-timer/", + "keywords": [ + "timer" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-timer/issues", + "source": "https://github.com/sebastianbergmann/php-timer/tree/2.1.3" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-11-30T08:20:02+00:00" + }, + { + "name": "phpunit/php-token-stream", + "version": "3.1.2", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-token-stream.git", + "reference": "472b687829041c24b25f475e14c2f38a09edf1c2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/472b687829041c24b25f475e14c2f38a09edf1c2", + "reference": "472b687829041c24b25f475e14c2f38a09edf1c2", + "shasum": "" + }, + "require": { + "ext-tokenizer": "*", + "php": ">=7.1" + }, + "require-dev": { + "phpunit/phpunit": "^7.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.1-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Wrapper around PHP's tokenizer extension.", + "homepage": "https://github.com/sebastianbergmann/php-token-stream/", + "keywords": [ + "tokenizer" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-token-stream/issues", + "source": "https://github.com/sebastianbergmann/php-token-stream/tree/3.1.2" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "abandoned": true, + "time": "2020-11-30T08:38:46+00:00" + }, + { + "name": "phpunit/phpunit", + "version": "8.5.14", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/phpunit.git", + "reference": "c25f79895d27b6ecd5abfa63de1606b786a461a3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/c25f79895d27b6ecd5abfa63de1606b786a461a3", + "reference": "c25f79895d27b6ecd5abfa63de1606b786a461a3", + "shasum": "" + }, + "require": { + "doctrine/instantiator": "^1.3.1", + "ext-dom": "*", + "ext-json": "*", + "ext-libxml": "*", + "ext-mbstring": "*", + "ext-xml": "*", + "ext-xmlwriter": "*", + "myclabs/deep-copy": "^1.10.0", + "phar-io/manifest": "^2.0.1", + "phar-io/version": "^3.0.2", + "php": ">=7.2", + "phpspec/prophecy": "^1.10.3", + "phpunit/php-code-coverage": "^7.0.12", + "phpunit/php-file-iterator": "^2.0.2", + "phpunit/php-text-template": "^1.2.1", + "phpunit/php-timer": "^2.1.2", + "sebastian/comparator": "^3.0.2", + "sebastian/diff": "^3.0.2", + "sebastian/environment": "^4.2.3", + "sebastian/exporter": "^3.1.2", + "sebastian/global-state": "^3.0.0", + "sebastian/object-enumerator": "^3.0.3", + "sebastian/resource-operations": "^2.0.1", + "sebastian/type": "^1.1.3", + "sebastian/version": "^2.0.1" + }, + "require-dev": { + "ext-pdo": "*" + }, + "suggest": { + "ext-soap": "*", + "ext-xdebug": "*", + "phpunit/php-invoker": "^2.0.0" + }, + "bin": [ + "phpunit" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "8.5-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "The PHP Unit Testing framework.", + "homepage": "https://phpunit.de/", + "keywords": [ + "phpunit", + "testing", + "xunit" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/phpunit/issues", + "source": "https://github.com/sebastianbergmann/phpunit/tree/8.5.14" + }, + "funding": [ + { + "url": "https://phpunit.de/donate.html", + "type": "custom" + }, + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2021-01-17T07:37:30+00:00" + }, + { + "name": "psr/container", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/container.git", + "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/container/zipball/b7ce3b176482dbbc1245ebf52b181af44c2cf55f", + "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Container\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common Container Interface (PHP FIG PSR-11)", + "homepage": "https://github.com/php-fig/container", + "keywords": [ + "PSR-11", + "container", + "container-interface", + "container-interop", + "psr" + ], + "support": { + "issues": "https://github.com/php-fig/container/issues", + "source": "https://github.com/php-fig/container/tree/master" + }, + "time": "2017-02-14T16:28:37+00:00" + }, + { + "name": "psr/http-client", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-client.git", + "reference": "2dfb5f6c5eff0e91e20e913f8c5452ed95b86621" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-client/zipball/2dfb5f6c5eff0e91e20e913f8c5452ed95b86621", + "reference": "2dfb5f6c5eff0e91e20e913f8c5452ed95b86621", + "shasum": "" + }, + "require": { + "php": "^7.0 || ^8.0", + "psr/http-message": "^1.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Http\\Client\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interface for HTTP clients", + "homepage": "https://github.com/php-fig/http-client", + "keywords": [ + "http", + "http-client", + "psr", + "psr-18" + ], + "support": { + "source": "https://github.com/php-fig/http-client/tree/master" + }, + "time": "2020-06-29T06:28:15+00:00" + }, + { + "name": "psr/http-message", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-message.git", + "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363", + "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Http\\Message\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interface for HTTP messages", + "homepage": "https://github.com/php-fig/http-message", + "keywords": [ + "http", + "http-message", + "psr", + "psr-7", + "request", + "response" + ], + "support": { + "source": "https://github.com/php-fig/http-message/tree/master" + }, + "time": "2016-08-06T14:39:51+00:00" + }, + { + "name": "psr/log", + "version": "1.1.3", + "source": { + "type": "git", + "url": "https://github.com/php-fig/log.git", + "reference": "0f73288fd15629204f9d42b7055f72dacbe811fc" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/log/zipball/0f73288fd15629204f9d42b7055f72dacbe811fc", + "reference": "0f73288fd15629204f9d42b7055f72dacbe811fc", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Log\\": "Psr/Log/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interface for logging libraries", + "homepage": "https://github.com/php-fig/log", + "keywords": [ + "log", + "psr", + "psr-3" + ], + "support": { + "source": "https://github.com/php-fig/log/tree/1.1.3" + }, + "time": "2020-03-23T09:12:05+00:00" + }, + { + "name": "ralouphie/getallheaders", + "version": "3.0.3", + "source": { + "type": "git", + "url": "https://github.com/ralouphie/getallheaders.git", + "reference": "120b605dfeb996808c31b6477290a714d356e822" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ralouphie/getallheaders/zipball/120b605dfeb996808c31b6477290a714d356e822", + "reference": "120b605dfeb996808c31b6477290a714d356e822", + "shasum": "" + }, + "require": { + "php": ">=5.6" + }, + "require-dev": { + "php-coveralls/php-coveralls": "^2.1", + "phpunit/phpunit": "^5 || ^6.5" + }, + "type": "library", + "autoload": { + "files": [ + "src/getallheaders.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ralph Khattar", + "email": "ralph.khattar@gmail.com" + } + ], + "description": "A polyfill for getallheaders.", + "support": { + "issues": "https://github.com/ralouphie/getallheaders/issues", + "source": "https://github.com/ralouphie/getallheaders/tree/develop" + }, + "time": "2019-03-08T08:55:37+00:00" + }, + { + "name": "sebastian/code-unit-reverse-lookup", + "version": "1.0.2", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git", + "reference": "1de8cd5c010cb153fcd68b8d0f64606f523f7619" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/1de8cd5c010cb153fcd68b8d0f64606f523f7619", + "reference": "1de8cd5c010cb153fcd68b8d0f64606f523f7619", + "shasum": "" + }, + "require": { + "php": ">=5.6" + }, + "require-dev": { + "phpunit/phpunit": "^8.5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Looks up which function or method a line of code belongs to", + "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/", + "support": { + "issues": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues", + "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/1.0.2" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-11-30T08:15:22+00:00" + }, + { + "name": "sebastian/comparator", + "version": "3.0.3", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/comparator.git", + "reference": "1071dfcef776a57013124ff35e1fc41ccd294758" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/1071dfcef776a57013124ff35e1fc41ccd294758", + "reference": "1071dfcef776a57013124ff35e1fc41ccd294758", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "sebastian/diff": "^3.0", + "sebastian/exporter": "^3.1" + }, + "require-dev": { + "phpunit/phpunit": "^8.5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Volker Dusch", + "email": "github@wallbash.com" + }, + { + "name": "Bernhard Schussek", + "email": "bschussek@2bepublished.at" + } + ], + "description": "Provides the functionality to compare PHP values for equality", + "homepage": "https://github.com/sebastianbergmann/comparator", + "keywords": [ + "comparator", + "compare", + "equality" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/comparator/issues", + "source": "https://github.com/sebastianbergmann/comparator/tree/3.0.3" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-11-30T08:04:30+00:00" + }, + { + "name": "sebastian/diff", + "version": "3.0.3", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/diff.git", + "reference": "14f72dd46eaf2f2293cbe79c93cc0bc43161a211" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/14f72dd46eaf2f2293cbe79c93cc0bc43161a211", + "reference": "14f72dd46eaf2f2293cbe79c93cc0bc43161a211", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "require-dev": { + "phpunit/phpunit": "^7.5 || ^8.0", + "symfony/process": "^2 || ^3.3 || ^4" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Kore Nordmann", + "email": "mail@kore-nordmann.de" + } + ], + "description": "Diff implementation", + "homepage": "https://github.com/sebastianbergmann/diff", + "keywords": [ + "diff", + "udiff", + "unidiff", + "unified diff" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/diff/issues", + "source": "https://github.com/sebastianbergmann/diff/tree/3.0.3" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-11-30T07:59:04+00:00" + }, + { + "name": "sebastian/environment", + "version": "4.2.4", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/environment.git", + "reference": "d47bbbad83711771f167c72d4e3f25f7fcc1f8b0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/d47bbbad83711771f167c72d4e3f25f7fcc1f8b0", + "reference": "d47bbbad83711771f167c72d4e3f25f7fcc1f8b0", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "require-dev": { + "phpunit/phpunit": "^7.5" + }, + "suggest": { + "ext-posix": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.2-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Provides functionality to handle HHVM/PHP environments", + "homepage": "http://www.github.com/sebastianbergmann/environment", + "keywords": [ + "Xdebug", + "environment", + "hhvm" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/environment/issues", + "source": "https://github.com/sebastianbergmann/environment/tree/4.2.4" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-11-30T07:53:42+00:00" + }, + { + "name": "sebastian/exporter", + "version": "3.1.3", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/exporter.git", + "reference": "6b853149eab67d4da22291d36f5b0631c0fd856e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/6b853149eab67d4da22291d36f5b0631c0fd856e", + "reference": "6b853149eab67d4da22291d36f5b0631c0fd856e", + "shasum": "" + }, + "require": { + "php": ">=7.0", + "sebastian/recursion-context": "^3.0" + }, + "require-dev": { + "ext-mbstring": "*", + "phpunit/phpunit": "^6.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.1.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Volker Dusch", + "email": "github@wallbash.com" + }, + { + "name": "Adam Harvey", + "email": "aharvey@php.net" + }, + { + "name": "Bernhard Schussek", + "email": "bschussek@gmail.com" + } + ], + "description": "Provides the functionality to export PHP variables for visualization", + "homepage": "http://www.github.com/sebastianbergmann/exporter", + "keywords": [ + "export", + "exporter" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/exporter/issues", + "source": "https://github.com/sebastianbergmann/exporter/tree/3.1.3" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-11-30T07:47:53+00:00" + }, + { + "name": "sebastian/global-state", + "version": "3.0.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/global-state.git", + "reference": "474fb9edb7ab891665d3bfc6317f42a0a150454b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/474fb9edb7ab891665d3bfc6317f42a0a150454b", + "reference": "474fb9edb7ab891665d3bfc6317f42a0a150454b", + "shasum": "" + }, + "require": { + "php": ">=7.2", + "sebastian/object-reflector": "^1.1.1", + "sebastian/recursion-context": "^3.0" + }, + "require-dev": { + "ext-dom": "*", + "phpunit/phpunit": "^8.0" + }, + "suggest": { + "ext-uopz": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Snapshotting of global state", + "homepage": "http://www.github.com/sebastianbergmann/global-state", + "keywords": [ + "global state" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/global-state/issues", + "source": "https://github.com/sebastianbergmann/global-state/tree/3.0.1" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-11-30T07:43:24+00:00" + }, + { + "name": "sebastian/object-enumerator", + "version": "3.0.4", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/object-enumerator.git", + "reference": "e67f6d32ebd0c749cf9d1dbd9f226c727043cdf2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/e67f6d32ebd0c749cf9d1dbd9f226c727043cdf2", + "reference": "e67f6d32ebd0c749cf9d1dbd9f226c727043cdf2", + "shasum": "" + }, + "require": { + "php": ">=7.0", + "sebastian/object-reflector": "^1.1.1", + "sebastian/recursion-context": "^3.0" + }, + "require-dev": { + "phpunit/phpunit": "^6.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Traverses array structures and object graphs to enumerate all referenced objects", + "homepage": "https://github.com/sebastianbergmann/object-enumerator/", + "support": { + "issues": "https://github.com/sebastianbergmann/object-enumerator/issues", + "source": "https://github.com/sebastianbergmann/object-enumerator/tree/3.0.4" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-11-30T07:40:27+00:00" + }, + { + "name": "sebastian/object-reflector", + "version": "1.1.2", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/object-reflector.git", + "reference": "9b8772b9cbd456ab45d4a598d2dd1a1bced6363d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/9b8772b9cbd456ab45d4a598d2dd1a1bced6363d", + "reference": "9b8772b9cbd456ab45d4a598d2dd1a1bced6363d", + "shasum": "" + }, + "require": { + "php": ">=7.0" + }, + "require-dev": { + "phpunit/phpunit": "^6.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.1-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Allows reflection of object attributes, including inherited and non-public ones", + "homepage": "https://github.com/sebastianbergmann/object-reflector/", + "support": { + "issues": "https://github.com/sebastianbergmann/object-reflector/issues", + "source": "https://github.com/sebastianbergmann/object-reflector/tree/1.1.2" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-11-30T07:37:18+00:00" + }, + { + "name": "sebastian/recursion-context", + "version": "3.0.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/recursion-context.git", + "reference": "367dcba38d6e1977be014dc4b22f47a484dac7fb" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/367dcba38d6e1977be014dc4b22f47a484dac7fb", + "reference": "367dcba38d6e1977be014dc4b22f47a484dac7fb", + "shasum": "" + }, + "require": { + "php": ">=7.0" + }, + "require-dev": { + "phpunit/phpunit": "^6.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Adam Harvey", + "email": "aharvey@php.net" + } + ], + "description": "Provides functionality to recursively process PHP variables", + "homepage": "http://www.github.com/sebastianbergmann/recursion-context", + "support": { + "issues": "https://github.com/sebastianbergmann/recursion-context/issues", + "source": "https://github.com/sebastianbergmann/recursion-context/tree/3.0.1" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-11-30T07:34:24+00:00" + }, + { + "name": "sebastian/resource-operations", + "version": "2.0.2", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/resource-operations.git", + "reference": "31d35ca87926450c44eae7e2611d45a7a65ea8b3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/31d35ca87926450c44eae7e2611d45a7a65ea8b3", + "reference": "31d35ca87926450c44eae7e2611d45a7a65ea8b3", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Provides a list of PHP built-in functions that operate on resources", + "homepage": "https://www.github.com/sebastianbergmann/resource-operations", + "support": { + "issues": "https://github.com/sebastianbergmann/resource-operations/issues", + "source": "https://github.com/sebastianbergmann/resource-operations/tree/2.0.2" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-11-30T07:30:19+00:00" + }, + { + "name": "sebastian/type", + "version": "1.1.4", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/type.git", + "reference": "0150cfbc4495ed2df3872fb31b26781e4e077eb4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/0150cfbc4495ed2df3872fb31b26781e4e077eb4", + "reference": "0150cfbc4495ed2df3872fb31b26781e4e077eb4", + "shasum": "" + }, + "require": { + "php": ">=7.2" + }, + "require-dev": { + "phpunit/phpunit": "^8.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.1-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Collection of value objects that represent the types of the PHP type system", + "homepage": "https://github.com/sebastianbergmann/type", + "support": { + "issues": "https://github.com/sebastianbergmann/type/issues", + "source": "https://github.com/sebastianbergmann/type/tree/1.1.4" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-11-30T07:25:11+00:00" + }, + { + "name": "sebastian/version", + "version": "2.0.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/version.git", + "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/99732be0ddb3361e16ad77b68ba41efc8e979019", + "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019", + "shasum": "" + }, + "require": { + "php": ">=5.6" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library that helps with managing the version number of Git-hosted PHP projects", + "homepage": "https://github.com/sebastianbergmann/version", + "support": { + "issues": "https://github.com/sebastianbergmann/version/issues", + "source": "https://github.com/sebastianbergmann/version/tree/master" + }, + "time": "2016-10-03T07:35:21+00:00" + }, + { + "name": "symfony/config", + "version": "v5.2.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/config.git", + "reference": "50e0e1314a3b2609d32b6a5a0d0fb5342494c4ab" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/config/zipball/50e0e1314a3b2609d32b6a5a0d0fb5342494c4ab", + "reference": "50e0e1314a3b2609d32b6a5a0d0fb5342494c4ab", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1", + "symfony/filesystem": "^4.4|^5.0", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-php80": "^1.15" + }, + "conflict": { + "symfony/finder": "<4.4" + }, + "require-dev": { + "symfony/event-dispatcher": "^4.4|^5.0", + "symfony/finder": "^4.4|^5.0", + "symfony/messenger": "^4.4|^5.0", + "symfony/service-contracts": "^1.1|^2", + "symfony/yaml": "^4.4|^5.0" + }, + "suggest": { + "symfony/yaml": "To use the yaml reference dumper" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Config\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Helps you find, load, combine, autofill and validate configuration values of any kind", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/config/tree/v5.2.3" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-01-27T10:15:41+00:00" + }, + { + "name": "symfony/console", + "version": "v5.2.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/console.git", + "reference": "89d4b176d12a2946a1ae4e34906a025b7b6b135a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/console/zipball/89d4b176d12a2946a1ae4e34906a025b7b6b135a", + "reference": "89d4b176d12a2946a1ae4e34906a025b7b6b135a", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/polyfill-mbstring": "~1.0", + "symfony/polyfill-php73": "^1.8", + "symfony/polyfill-php80": "^1.15", + "symfony/service-contracts": "^1.1|^2", + "symfony/string": "^5.1" + }, + "conflict": { + "symfony/dependency-injection": "<4.4", + "symfony/dotenv": "<5.1", + "symfony/event-dispatcher": "<4.4", + "symfony/lock": "<4.4", + "symfony/process": "<4.4" + }, + "provide": { + "psr/log-implementation": "1.0" + }, + "require-dev": { + "psr/log": "~1.0", + "symfony/config": "^4.4|^5.0", + "symfony/dependency-injection": "^4.4|^5.0", + "symfony/event-dispatcher": "^4.4|^5.0", + "symfony/lock": "^4.4|^5.0", + "symfony/process": "^4.4|^5.0", + "symfony/var-dumper": "^4.4|^5.0" + }, + "suggest": { + "psr/log": "For using the console logger", + "symfony/event-dispatcher": "", + "symfony/lock": "", + "symfony/process": "" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Console\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Eases the creation of beautiful and testable command line interfaces", + "homepage": "https://symfony.com", + "keywords": [ + "cli", + "command line", + "console", + "terminal" + ], + "support": { + "source": "https://github.com/symfony/console/tree/v5.2.3" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-01-28T22:06:19+00:00" + }, + { + "name": "symfony/deprecation-contracts", + "version": "v2.2.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/deprecation-contracts.git", + "reference": "5fa56b4074d1ae755beb55617ddafe6f5d78f665" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/5fa56b4074d1ae755beb55617ddafe6f5d78f665", + "reference": "5fa56b4074d1ae755beb55617ddafe6f5d78f665", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.2-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" + } + }, + "autoload": { + "files": [ + "function.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "A generic function and convention to trigger deprecation notices", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/deprecation-contracts/tree/master" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-09-07T11:33:47+00:00" + }, + { + "name": "symfony/filesystem", + "version": "v5.2.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/filesystem.git", + "reference": "262d033b57c73e8b59cd6e68a45c528318b15038" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/262d033b57c73e8b59cd6e68a45c528318b15038", + "reference": "262d033b57c73e8b59cd6e68a45c528318b15038", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/polyfill-ctype": "~1.8" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Filesystem\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides basic utilities for the filesystem", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/filesystem/tree/v5.2.3" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-01-27T10:01:46+00:00" + }, + { + "name": "symfony/polyfill-ctype", + "version": "v1.22.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-ctype.git", + "reference": "c6c942b1ac76c82448322025e084cadc56048b4e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/c6c942b1ac76c82448322025e084cadc56048b4e", + "reference": "c6c942b1ac76c82448322025e084cadc56048b4e", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "suggest": { + "ext-ctype": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.22-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Ctype\\": "" + }, + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Gert de Pagter", + "email": "BackEndTea@gmail.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for ctype functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "ctype", + "polyfill", + "portable" + ], + "support": { + "source": "https://github.com/symfony/polyfill-ctype/tree/v1.22.1" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-01-07T16:49:33+00:00" + }, + { + "name": "symfony/polyfill-intl-grapheme", + "version": "v1.22.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-grapheme.git", + "reference": "5601e09b69f26c1828b13b6bb87cb07cddba3170" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/5601e09b69f26c1828b13b6bb87cb07cddba3170", + "reference": "5601e09b69f26c1828b13b6bb87cb07cddba3170", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "suggest": { + "ext-intl": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.22-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Intl\\Grapheme\\": "" + }, + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for intl's grapheme_* functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "grapheme", + "intl", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.22.1" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-01-22T09:19:47+00:00" + }, + { + "name": "symfony/polyfill-mbstring", + "version": "v1.22.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-mbstring.git", + "reference": "5232de97ee3b75b0360528dae24e73db49566ab1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/5232de97ee3b75b0360528dae24e73db49566ab1", + "reference": "5232de97ee3b75b0360528dae24e73db49566ab1", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "suggest": { + "ext-mbstring": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.22-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Mbstring\\": "" + }, + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for the Mbstring extension", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "mbstring", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.22.1" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-01-22T09:19:47+00:00" + }, + { + "name": "symfony/polyfill-php73", + "version": "v1.22.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php73.git", + "reference": "a678b42e92f86eca04b7fa4c0f6f19d097fb69e2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/a678b42e92f86eca04b7fa4c0f6f19d097fb69e2", + "reference": "a678b42e92f86eca04b7fa4c0f6f19d097fb69e2", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.22-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Php73\\": "" + }, + "files": [ + "bootstrap.php" + ], + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 7.3+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php73/tree/v1.22.1" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-01-07T16:49:33+00:00" + }, + { + "name": "symfony/polyfill-php80", + "version": "v1.22.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php80.git", + "reference": "dc3063ba22c2a1fd2f45ed856374d79114998f91" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/dc3063ba22c2a1fd2f45ed856374d79114998f91", + "reference": "dc3063ba22c2a1fd2f45ed856374d79114998f91", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.22-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Php80\\": "" + }, + "files": [ + "bootstrap.php" + ], + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ion Bazan", + "email": "ion.bazan@gmail.com" + }, + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php80/tree/v1.22.1" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-01-07T16:49:33+00:00" + }, + { + "name": "symfony/service-contracts", + "version": "v2.2.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/service-contracts.git", + "reference": "d15da7ba4957ffb8f1747218be9e1a121fd298a1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/d15da7ba4957ffb8f1747218be9e1a121fd298a1", + "reference": "d15da7ba4957ffb8f1747218be9e1a121fd298a1", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "psr/container": "^1.0" + }, + "suggest": { + "symfony/service-implementation": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.2-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Contracts\\Service\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Generic abstractions related to writing services", + "homepage": "https://symfony.com", + "keywords": [ + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" + ], + "support": { + "source": "https://github.com/symfony/service-contracts/tree/master" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-09-07T11:33:47+00:00" + }, + { + "name": "symfony/stopwatch", + "version": "v5.2.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/stopwatch.git", + "reference": "b12274acfab9d9850c52583d136a24398cdf1a0c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/stopwatch/zipball/b12274acfab9d9850c52583d136a24398cdf1a0c", + "reference": "b12274acfab9d9850c52583d136a24398cdf1a0c", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/service-contracts": "^1.0|^2" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Stopwatch\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides a way to profile code", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/stopwatch/tree/v5.2.3" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-01-27T10:15:41+00:00" + }, + { + "name": "symfony/string", + "version": "v5.2.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/string.git", + "reference": "c95468897f408dd0aca2ff582074423dd0455122" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/string/zipball/c95468897f408dd0aca2ff582074423dd0455122", + "reference": "c95468897f408dd0aca2ff582074423dd0455122", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-intl-grapheme": "~1.0", + "symfony/polyfill-intl-normalizer": "~1.0", + "symfony/polyfill-mbstring": "~1.0", + "symfony/polyfill-php80": "~1.15" + }, + "require-dev": { + "symfony/error-handler": "^4.4|^5.0", + "symfony/http-client": "^4.4|^5.0", + "symfony/translation-contracts": "^1.1|^2", + "symfony/var-exporter": "^4.4|^5.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\String\\": "" + }, + "files": [ + "Resources/functions.php" + ], + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides an object-oriented API to strings and deals with bytes, UTF-8 code points and grapheme clusters in a unified way", + "homepage": "https://symfony.com", + "keywords": [ + "grapheme", + "i18n", + "string", + "unicode", + "utf-8", + "utf8" + ], + "support": { + "source": "https://github.com/symfony/string/tree/v5.2.3" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-01-25T15:14:59+00:00" + }, + { + "name": "symfony/yaml", + "version": "v5.2.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/yaml.git", + "reference": "338cddc6d74929f6adf19ca5682ac4b8e109cdb0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/yaml/zipball/338cddc6d74929f6adf19ca5682ac4b8e109cdb0", + "reference": "338cddc6d74929f6adf19ca5682ac4b8e109cdb0", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1", + "symfony/polyfill-ctype": "~1.8" + }, + "conflict": { + "symfony/console": "<4.4" + }, + "require-dev": { + "symfony/console": "^4.4|^5.0" + }, + "suggest": { + "symfony/console": "For validating YAML files using the lint command" + }, + "bin": [ + "Resources/bin/yaml-lint" + ], + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Yaml\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Loads and dumps YAML files", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/yaml/tree/v5.2.3" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-02-03T04:42:09+00:00" + }, + { + "name": "theseer/tokenizer", + "version": "1.2.0", + "source": { + "type": "git", + "url": "https://github.com/theseer/tokenizer.git", + "reference": "75a63c33a8577608444246075ea0af0d052e452a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/theseer/tokenizer/zipball/75a63c33a8577608444246075ea0af0d052e452a", + "reference": "75a63c33a8577608444246075ea0af0d052e452a", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-tokenizer": "*", + "ext-xmlwriter": "*", + "php": "^7.2 || ^8.0" + }, + "type": "library", + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Arne Blankerts", + "email": "arne@blankerts.de", + "role": "Developer" + } + ], + "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", + "support": { + "issues": "https://github.com/theseer/tokenizer/issues", + "source": "https://github.com/theseer/tokenizer/tree/master" + }, + "funding": [ + { + "url": "https://github.com/theseer", + "type": "github" + } + ], + "time": "2020-07-12T23:59:07+00:00" + }, + { + "name": "vimeo/psalm", + "version": "4.6.2", + "source": { + "type": "git", + "url": "https://github.com/vimeo/psalm.git", + "reference": "bca09d74adc704c4eaee36a3c3e9d379e290fc3b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/vimeo/psalm/zipball/bca09d74adc704c4eaee36a3c3e9d379e290fc3b", + "reference": "bca09d74adc704c4eaee36a3c3e9d379e290fc3b", + "shasum": "" + }, + "require": { + "amphp/amp": "^2.1", + "amphp/byte-stream": "^1.5", + "composer/package-versions-deprecated": "^1.8.0", + "composer/semver": "^1.4 || ^2.0 || ^3.0", + "composer/xdebug-handler": "^1.1", + "dnoegel/php-xdg-base-dir": "^0.1.1", + "ext-dom": "*", + "ext-json": "*", + "ext-libxml": "*", + "ext-mbstring": "*", + "ext-simplexml": "*", + "ext-tokenizer": "*", + "felixfbecker/advanced-json-rpc": "^3.0.3", + "felixfbecker/language-server-protocol": "^1.5", + "netresearch/jsonmapper": "^1.0 || ^2.0 || ^3.0 || ^4.0", + "nikic/php-parser": "^4.10.1", + "openlss/lib-array2xml": "^1.0", + "php": "^7.1|^8", + "sebastian/diff": "^3.0 || ^4.0", + "symfony/console": "^3.4.17 || ^4.1.6 || ^5.0", + "webmozart/path-util": "^2.3" + }, + "provide": { + "psalm/psalm": "self.version" + }, + "require-dev": { + "amphp/amp": "^2.4.2", + "bamarni/composer-bin-plugin": "^1.2", + "brianium/paratest": "^4.0||^6.0", + "ext-curl": "*", + "php-parallel-lint/php-parallel-lint": "^1.2", + "phpdocumentor/reflection-docblock": "^5", + "phpmyadmin/sql-parser": "5.1.0||dev-master", + "phpspec/prophecy": ">=1.9.0", + "phpunit/phpunit": "^9.0", + "psalm/plugin-phpunit": "^0.13", + "slevomat/coding-standard": "^6.3.11", + "squizlabs/php_codesniffer": "^3.5", + "symfony/process": "^4.3", + "weirdan/prophecy-shim": "^1.0 || ^2.0" + }, + "suggest": { + "ext-igbinary": "^2.0.5" + }, + "bin": [ + "psalm", + "psalm-language-server", + "psalm-plugin", + "psalm-refactor", + "psalter" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.x-dev", + "dev-3.x": "3.x-dev", + "dev-2.x": "2.x-dev", + "dev-1.x": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psalm\\": "src/Psalm/" + }, + "files": [ + "src/functions.php", + "src/spl_object_id.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Matthew Brown" + } + ], + "description": "A static analysis tool for finding errors in PHP applications", + "keywords": [ + "code", + "inspection", + "php" + ], + "support": { + "issues": "https://github.com/vimeo/psalm/issues", + "source": "https://github.com/vimeo/psalm/tree/4.6.2" + }, + "time": "2021-02-26T02:24:18+00:00" + }, + { + "name": "webmozart/assert", + "version": "1.9.1", + "source": { + "type": "git", + "url": "https://github.com/webmozarts/assert.git", + "reference": "bafc69caeb4d49c39fd0779086c03a3738cbb389" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/webmozarts/assert/zipball/bafc69caeb4d49c39fd0779086c03a3738cbb389", + "reference": "bafc69caeb4d49c39fd0779086c03a3738cbb389", + "shasum": "" + }, + "require": { + "php": "^5.3.3 || ^7.0 || ^8.0", + "symfony/polyfill-ctype": "^1.8" + }, + "conflict": { + "phpstan/phpstan": "<0.12.20", + "vimeo/psalm": "<3.9.1" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.36 || ^7.5.13" + }, + "type": "library", + "autoload": { + "psr-4": { + "Webmozart\\Assert\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Bernhard Schussek", + "email": "bschussek@gmail.com" + } + ], + "description": "Assertions to validate method input/output with nice error messages.", + "keywords": [ + "assert", + "check", + "validate" + ], + "support": { + "issues": "https://github.com/webmozarts/assert/issues", + "source": "https://github.com/webmozarts/assert/tree/1.9.1" + }, + "time": "2020-07-08T17:02:28+00:00" + }, + { + "name": "webmozart/path-util", + "version": "2.3.0", + "source": { + "type": "git", + "url": "https://github.com/webmozart/path-util.git", + "reference": "d939f7edc24c9a1bb9c0dee5cb05d8e859490725" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/webmozart/path-util/zipball/d939f7edc24c9a1bb9c0dee5cb05d8e859490725", + "reference": "d939f7edc24c9a1bb9c0dee5cb05d8e859490725", + "shasum": "" + }, + "require": { + "php": ">=5.3.3", + "webmozart/assert": "~1.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.6", + "sebastian/version": "^1.0.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.3-dev" + } + }, + "autoload": { + "psr-4": { + "Webmozart\\PathUtil\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Bernhard Schussek", + "email": "bschussek@gmail.com" + } + ], + "description": "A robust cross-platform utility for normalizing, comparing and modifying file paths.", + "support": { + "issues": "https://github.com/webmozart/path-util/issues", + "source": "https://github.com/webmozart/path-util/tree/2.3.0" + }, + "time": "2015-12-17T08:42:14+00:00" + } + ], + "aliases": [], + "minimum-stability": "stable", + "stability-flags": [], + "prefer-stable": false, + "prefer-lowest": false, + "platform": { + "php": ">=7.2" + }, + "platform-dev": [], + "plugin-api-version": "2.0.0" +} diff --git a/pandora_console/vendor/egulias/email-validator/phpunit.xml.dist b/pandora_console/vendor/egulias/email-validator/phpunit.xml.dist deleted file mode 100644 index b0812f97be..0000000000 --- a/pandora_console/vendor/egulias/email-validator/phpunit.xml.dist +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - ./Tests/EmailValidator - ./vendor/ - - - - - - ./vendor - - - diff --git a/pandora_console/vendor/egulias/email-validator/src/EmailLexer.php b/pandora_console/vendor/egulias/email-validator/src/EmailLexer.php new file mode 100644 index 0000000000..41e9ea948b --- /dev/null +++ b/pandora_console/vendor/egulias/email-validator/src/EmailLexer.php @@ -0,0 +1,361 @@ + self::S_OPENCURLYBRACES, + '}' => self::S_CLOSECURLYBRACES, + '(' => self::S_OPENPARENTHESIS, + ')' => self::S_CLOSEPARENTHESIS, + '<' => self::S_LOWERTHAN, + '>' => self::S_GREATERTHAN, + '[' => self::S_OPENBRACKET, + ']' => self::S_CLOSEBRACKET, + ':' => self::S_COLON, + ';' => self::S_SEMICOLON, + '@' => self::S_AT, + '\\' => self::S_BACKSLASH, + '/' => self::S_SLASH, + ',' => self::S_COMMA, + '.' => self::S_DOT, + "'" => self::S_SQUOTE, + "`" => self::S_BACKTICK, + '"' => self::S_DQUOTE, + '-' => self::S_HYPHEN, + '::' => self::S_DOUBLECOLON, + ' ' => self::S_SP, + "\t" => self::S_HTAB, + "\r" => self::S_CR, + "\n" => self::S_LF, + "\r\n" => self::CRLF, + 'IPv6' => self::S_IPV6TAG, + '' => self::S_EMPTY, + '\0' => self::C_NUL, + '*' => self::ASTERISK, + '!' => self::EXCLAMATION, + '&' => self::AMPERSAND, + '^' => self::CARET, + '$' => self::DOLLAR, + '%' => self::PERCENTAGE, + '~' => self::S_TILDE, + '|' => self::S_PIPE, + '_' => self::S_UNDERSCORE, + '=' => self::S_EQUAL, + '+' => self::S_PLUS, + '¿' => self::INVERT_QUESTIONMARK, + '?' => self::QUESTIONMARK, + '#' => self::NUMBER_SIGN, + '¡' => self::INVERT_EXCLAMATION, + ); + + /** + * @var bool + */ + protected $hasInvalidTokens = false; + + /** + * @var array + * + * @psalm-var array{value:string, type:null|int, position:int}|array + */ + protected $previous = []; + + /** + * The last matched/seen token. + * + * @var array + * + * @psalm-suppress NonInvariantDocblockPropertyType + * @psalm-var array{value:string, type:null|int, position:int} + * @psalm-suppress NonInvariantDocblockPropertyType + */ + public $token; + + /** + * The next token in the input. + * + * @var array|null + */ + public $lookahead; + + /** + * @psalm-var array{value:'', type:null, position:0} + */ + private static $nullToken = [ + 'value' => '', + 'type' => null, + 'position' => 0, + ]; + + /** + * @var string + */ + private $accumulator = ''; + + /** + * @var bool + */ + private $hasToRecord = false; + + public function __construct() + { + $this->previous = $this->token = self::$nullToken; + $this->lookahead = null; + } + + /** + * @return void + */ + public function reset() + { + $this->hasInvalidTokens = false; + parent::reset(); + $this->previous = $this->token = self::$nullToken; + } + + /** + * @return bool + */ + public function hasInvalidTokens() + { + return $this->hasInvalidTokens; + } + + /** + * @param int $type + * @throws \UnexpectedValueException + * @return boolean + * + * @psalm-suppress InvalidScalarArgument + */ + public function find($type) + { + $search = clone $this; + $search->skipUntil($type); + + if (!$search->lookahead) { + throw new \UnexpectedValueException($type . ' not found'); + } + return true; + } + + /** + * getPrevious + * + * @return array + */ + public function getPrevious() + { + return $this->previous; + } + + /** + * moveNext + * + * @return boolean + */ + public function moveNext() + { + if ($this->hasToRecord && $this->previous === self::$nullToken) { + $this->accumulator .= $this->token['value']; + } + + $this->previous = $this->token; + $hasNext = parent::moveNext(); + $this->token = $this->token ?: self::$nullToken; + + if ($this->hasToRecord) { + $this->accumulator .= $this->token['value']; + } + + return $hasNext; + } + + /** + * Lexical catchable patterns. + * + * @return string[] + */ + protected function getCatchablePatterns() + { + return array( + '[a-zA-Z]+[46]?', //ASCII and domain literal + '[^\x00-\x7F]', //UTF-8 + '[0-9]+', + '\r\n', + '::', + '\s+?', + '.', + ); + } + + /** + * Lexical non-catchable patterns. + * + * @return string[] + */ + protected function getNonCatchablePatterns() + { + return [ + '[\xA0-\xff]+', + ]; + } + + /** + * Retrieve token type. Also processes the token value if necessary. + * + * @param string $value + * @throws \InvalidArgumentException + * @return integer + */ + protected function getType(&$value) + { + $encoded = $value; + + if (mb_detect_encoding($value, 'auto', true) !== 'UTF-8') { + $encoded = utf8_encode($value); + } + + if ($this->isValid($encoded)) { + return $this->charValue[$encoded]; + } + + if ($this->isNullType($encoded)) { + return self::C_NUL; + } + + if ($this->isInvalidChar($encoded)) { + $this->hasInvalidTokens = true; + return self::INVALID; + } + + + return self::GENERIC; + } + + protected function isInvalidChar(string $value) : bool + { + if(preg_match("/[^\p{S}\p{C}\p{Cc}]+/iu", $value) ) { + return false; + } + return true; + } + + protected function isValid(string $value) : bool + { + if (isset($this->charValue[$value])) { + return true; + } + + return false; + } + + /** + * @param string $value + * @return bool + */ + protected function isNullType($value) + { + if ($value === "\0") { + return true; + } + + return false; + } + + protected function isUTF8Invalid(string $value) : bool + { + if (preg_match('/\p{Cc}+/u', $value)) { + return true; + } + + return false; + } + + /** + * @return string + */ + protected function getModifiers() + { + return 'iu'; + } + + public function getAccumulatedValues() : string + { + return $this->accumulator; + } + + public function startRecording() : void + { + $this->hasToRecord = true; + } + + public function stopRecording() : void + { + $this->hasToRecord = false; + } + + public function clearRecorded() : void + { + $this->accumulator = ''; + } +} diff --git a/pandora_console/vendor/egulias/email-validator/src/EmailParser.php b/pandora_console/vendor/egulias/email-validator/src/EmailParser.php new file mode 100644 index 0000000000..c78f74a98e --- /dev/null +++ b/pandora_console/vendor/egulias/email-validator/src/EmailParser.php @@ -0,0 +1,91 @@ +addLongEmailWarning($this->localPart, $this->domainPart); + + return $result; + } + + protected function preLeftParsing(): Result + { + if (!$this->hasAtToken()) { + return new InvalidEmail(new NoLocalPart(), $this->lexer->token["value"]); + } + return new ValidEmail(); + } + + protected function parseLeftFromAt(): Result + { + return $this->processLocalPart(); + } + + protected function parseRightFromAt(): Result + { + return $this->processDomainPart(); + } + + private function processLocalPart() : Result + { + $localPartParser = new LocalPart($this->lexer); + $localPartResult = $localPartParser->parse(); + $this->localPart = $localPartParser->localPart(); + $this->warnings = array_merge($localPartParser->getWarnings(), $this->warnings); + + return $localPartResult; + } + + private function processDomainPart() : Result + { + $domainPartParser = new DomainPart($this->lexer); + $domainPartResult = $domainPartParser->parse(); + $this->domainPart = $domainPartParser->domainPart(); + $this->warnings = array_merge($domainPartParser->getWarnings(), $this->warnings); + + return $domainPartResult; + } + + public function getDomainPart() : string + { + return $this->domainPart; + } + + public function getLocalPart() : string + { + return $this->localPart; + } + + private function addLongEmailWarning(string $localPart, string $parsedDomainPart) : void + { + if (strlen($localPart . '@' . $parsedDomainPart) > self::EMAIL_MAX_LENGTH) { + $this->warnings[EmailTooLong::CODE] = new EmailTooLong(); + } + } +} diff --git a/pandora_console/vendor/egulias/email-validator/EmailValidator/EmailValidator.php b/pandora_console/vendor/egulias/email-validator/src/EmailValidator.php similarity index 75% rename from pandora_console/vendor/egulias/email-validator/EmailValidator/EmailValidator.php rename to pandora_console/vendor/egulias/email-validator/src/EmailValidator.php index 44b4b93c6b..5a2e5c822e 100644 --- a/pandora_console/vendor/egulias/email-validator/EmailValidator/EmailValidator.php +++ b/pandora_console/vendor/egulias/email-validator/src/EmailValidator.php @@ -2,7 +2,7 @@ namespace Egulias\EmailValidator; -use Egulias\EmailValidator\Exception\InvalidEmail; +use Egulias\EmailValidator\Result\InvalidEmail; use Egulias\EmailValidator\Validation\EmailValidation; class EmailValidator @@ -13,14 +13,14 @@ class EmailValidator private $lexer; /** - * @var array + * @var Warning\Warning[] */ - protected $warnings; + private $warnings = []; /** - * @var InvalidEmail + * @var ?InvalidEmail */ - protected $error; + private $error; public function __construct() { @@ -28,11 +28,11 @@ class EmailValidator } /** - * @param $email + * @param string $email * @param EmailValidation $emailValidation * @return bool */ - public function isValid($email, EmailValidation $emailValidation) + public function isValid(string $email, EmailValidation $emailValidation) { $isValid = $emailValidation->isValid($email, $this->lexer); $this->warnings = $emailValidation->getWarnings(); @@ -58,7 +58,7 @@ class EmailValidator } /** - * @return InvalidEmail + * @return InvalidEmail|null */ public function getError() { diff --git a/pandora_console/vendor/egulias/email-validator/src/MessageIDParser.php b/pandora_console/vendor/egulias/email-validator/src/MessageIDParser.php new file mode 100644 index 0000000000..9b029e1438 --- /dev/null +++ b/pandora_console/vendor/egulias/email-validator/src/MessageIDParser.php @@ -0,0 +1,93 @@ +addLongEmailWarning($this->idLeft, $this->idRight); + + return $result; + } + + protected function preLeftParsing(): Result + { + if (!$this->hasAtToken()) { + return new InvalidEmail(new NoLocalPart(), $this->lexer->token["value"]); + } + return new ValidEmail(); + } + + protected function parseLeftFromAt(): Result + { + return $this->processIDLeft(); + } + + protected function parseRightFromAt(): Result + { + return $this->processIDRight(); + } + + private function processIDLeft() : Result + { + $localPartParser = new IDLeftPart($this->lexer); + $localPartResult = $localPartParser->parse(); + $this->idLeft = $localPartParser->localPart(); + $this->warnings = array_merge($localPartParser->getWarnings(), $this->warnings); + + return $localPartResult; + } + + private function processIDRight() : Result + { + $domainPartParser = new IDRightPart($this->lexer); + $domainPartResult = $domainPartParser->parse(); + $this->idRight = $domainPartParser->domainPart(); + $this->warnings = array_merge($domainPartParser->getWarnings(), $this->warnings); + + return $domainPartResult; + } + + public function getLeftPart() : string + { + return $this->idLeft; + } + + public function getRightPart() : string + { + return $this->idRight; + } + + private function addLongEmailWarning(string $localPart, string $parsedDomainPart) : void + { + if (strlen($localPart . '@' . $parsedDomainPart) > self::EMAILID_MAX_LENGTH) { + $this->warnings[EmailTooLong::CODE] = new EmailTooLong(); + } + } +} \ No newline at end of file diff --git a/pandora_console/vendor/egulias/email-validator/src/Parser.php b/pandora_console/vendor/egulias/email-validator/src/Parser.php new file mode 100644 index 0000000000..b1905f9abf --- /dev/null +++ b/pandora_console/vendor/egulias/email-validator/src/Parser.php @@ -0,0 +1,78 @@ +lexer = $lexer; + } + + public function parse(string $str) : Result + { + $this->lexer->setInput($str); + + if ($this->lexer->hasInvalidTokens()) { + return new InvalidEmail(new ExpectingATEXT("Invalid tokens found"), $this->lexer->token["value"]); + } + + $preParsingResult = $this->preLeftParsing(); + if ($preParsingResult->isInvalid()) { + return $preParsingResult; + } + + $localPartResult = $this->parseLeftFromAt(); + + if ($localPartResult->isInvalid()) { + return $localPartResult; + } + + $domainPartResult = $this->parseRightFromAt(); + + if ($domainPartResult->isInvalid()) { + return $domainPartResult; + } + + return new ValidEmail(); + } + + /** + * @return Warning\Warning[] + */ + public function getWarnings() : array + { + return $this->warnings; + } + + protected function hasAtToken() : bool + { + $this->lexer->moveNext(); + $this->lexer->moveNext(); + + return $this->lexer->token['type'] !== EmailLexer::S_AT; + } +} diff --git a/pandora_console/vendor/egulias/email-validator/src/Parser/Comment.php b/pandora_console/vendor/egulias/email-validator/src/Parser/Comment.php new file mode 100644 index 0000000000..ffa61281f8 --- /dev/null +++ b/pandora_console/vendor/egulias/email-validator/src/Parser/Comment.php @@ -0,0 +1,103 @@ +lexer = $lexer; + $this->commentStrategy = $commentStrategy; + } + + public function parse() : Result + { + if ($this->lexer->token['type'] === EmailLexer::S_OPENPARENTHESIS) { + $this->openedParenthesis++; + if($this->noClosingParenthesis()) { + return new InvalidEmail(new UnclosedComment(), $this->lexer->token['value']); + } + } + + if ($this->lexer->token['type'] === EmailLexer::S_CLOSEPARENTHESIS) { + return new InvalidEmail(new UnOpenedComment(), $this->lexer->token['value']); + } + + $this->warnings[WarningComment::CODE] = new WarningComment(); + + $moreTokens = true; + while ($this->commentStrategy->exitCondition($this->lexer, $this->openedParenthesis) && $moreTokens){ + + if ($this->lexer->isNextToken(EmailLexer::S_OPENPARENTHESIS)) { + $this->openedParenthesis++; + } + $this->warnEscaping(); + if($this->lexer->isNextToken(EmailLexer::S_CLOSEPARENTHESIS)) { + $this->openedParenthesis--; + } + $moreTokens = $this->lexer->moveNext(); + } + + if($this->openedParenthesis >= 1) { + return new InvalidEmail(new UnclosedComment(), $this->lexer->token['value']); + } else if ($this->openedParenthesis < 0) { + return new InvalidEmail(new UnOpenedComment(), $this->lexer->token['value']); + } + + $finalValidations = $this->commentStrategy->endOfLoopValidations($this->lexer); + + $this->warnings = array_merge($this->warnings, $this->commentStrategy->getWarnings()); + + return $finalValidations; + } + + + /** + * @return bool + */ + private function warnEscaping() : bool + { + //Backslash found + if ($this->lexer->token['type'] !== EmailLexer::S_BACKSLASH) { + return false; + } + + if (!$this->lexer->isNextTokenAny(array(EmailLexer::S_SP, EmailLexer::S_HTAB, EmailLexer::C_DEL))) { + return false; + } + + $this->warnings[QuotedPart::CODE] = + new QuotedPart($this->lexer->getPrevious()['type'], $this->lexer->token['type']); + return true; + + } + + private function noClosingParenthesis() : bool + { + try { + $this->lexer->find(EmailLexer::S_CLOSEPARENTHESIS); + return false; + } catch (\RuntimeException $e) { + return true; + } + } +} \ No newline at end of file diff --git a/pandora_console/vendor/egulias/email-validator/src/Parser/CommentStrategy/CommentStrategy.php b/pandora_console/vendor/egulias/email-validator/src/Parser/CommentStrategy/CommentStrategy.php new file mode 100644 index 0000000000..c388efd65c --- /dev/null +++ b/pandora_console/vendor/egulias/email-validator/src/Parser/CommentStrategy/CommentStrategy.php @@ -0,0 +1,18 @@ +isNextToken(EmailLexer::S_DOT))){ // || !$internalLexer->moveNext()) { + return false; + } + + return true; + } + + public function endOfLoopValidations(EmailLexer $lexer) : Result + { + //test for end of string + if (!$lexer->isNextToken(EmailLexer::S_DOT)) { + return new InvalidEmail(new ExpectingATEXT('DOT not found near CLOSEPARENTHESIS'), $lexer->token['value']); + } + //add warning + //Address is valid within the message but cannot be used unmodified for the envelope + return new ValidEmail(); + } + + public function getWarnings(): array + { + return []; + } +} \ No newline at end of file diff --git a/pandora_console/vendor/egulias/email-validator/src/Parser/CommentStrategy/LocalComment.php b/pandora_console/vendor/egulias/email-validator/src/Parser/CommentStrategy/LocalComment.php new file mode 100644 index 0000000000..73bc7b2bc3 --- /dev/null +++ b/pandora_console/vendor/egulias/email-validator/src/Parser/CommentStrategy/LocalComment.php @@ -0,0 +1,37 @@ +isNextToken(EmailLexer::S_AT); + } + + public function endOfLoopValidations(EmailLexer $lexer) : Result + { + if (!$lexer->isNextToken(EmailLexer::S_AT)) { + return new InvalidEmail(new ExpectingATEXT('ATEX is not expected after closing comments'), $lexer->token['value']); + } + $this->warnings[CFWSNearAt::CODE] = new CFWSNearAt(); + return new ValidEmail(); + } + + public function getWarnings(): array + { + return $this->warnings; + } +} \ No newline at end of file diff --git a/pandora_console/vendor/egulias/email-validator/src/Parser/DomainLiteral.php b/pandora_console/vendor/egulias/email-validator/src/Parser/DomainLiteral.php new file mode 100644 index 0000000000..54a6fab9e6 --- /dev/null +++ b/pandora_console/vendor/egulias/email-validator/src/Parser/DomainLiteral.php @@ -0,0 +1,212 @@ +addTagWarnings(); + + $IPv6TAG = false; + $addressLiteral = ''; + + do { + if ($this->lexer->token['type'] === EmailLexer::C_NUL) { + return new InvalidEmail(new ExpectingDTEXT(), $this->lexer->token['value']); + } + + $this->addObsoleteWarnings(); + + if ($this->lexer->isNextTokenAny(array(EmailLexer::S_OPENBRACKET, EmailLexer::S_OPENBRACKET))) { + return new InvalidEmail(new ExpectingDTEXT(), $this->lexer->token['value']); + } + + if ($this->lexer->isNextTokenAny( + array(EmailLexer::S_HTAB, EmailLexer::S_SP, $this->lexer->token['type'] === EmailLexer::CRLF) + )) { + $this->warnings[CFWSWithFWS::CODE] = new CFWSWithFWS(); + $this->parseFWS(); + } + + if ($this->lexer->isNextToken(EmailLexer::S_CR)) { + return new InvalidEmail(new CRNoLF(), $this->lexer->token['value']); + } + + if ($this->lexer->token['type'] === EmailLexer::S_BACKSLASH) { + return new InvalidEmail(new UnusualElements($this->lexer->token['value']), $this->lexer->token['value']); + } + if ($this->lexer->token['type'] === EmailLexer::S_IPV6TAG) { + $IPv6TAG = true; + } + + if ($this->lexer->token['type'] === EmailLexer::S_CLOSEBRACKET) { + break; + } + + $addressLiteral .= $this->lexer->token['value']; + + } while ($this->lexer->moveNext()); + + + //Encapsulate + $addressLiteral = str_replace('[', '', $addressLiteral); + $isAddressLiteralIPv4 = $this->checkIPV4Tag($addressLiteral); + + if (!$isAddressLiteralIPv4) { + return new ValidEmail(); + } else { + $addressLiteral = $this->convertIPv4ToIPv6($addressLiteral); + } + + if (!$IPv6TAG) { + $this->warnings[WarningDomainLiteral::CODE] = new WarningDomainLiteral(); + return new ValidEmail(); + } + + $this->warnings[AddressLiteral::CODE] = new AddressLiteral(); + + $this->checkIPV6Tag($addressLiteral); + + return new ValidEmail(); + } + + /** + * @param string $addressLiteral + * @param int $maxGroups + */ + public function checkIPV6Tag($addressLiteral, $maxGroups = 8) : void + { + $prev = $this->lexer->getPrevious(); + if ($prev['type'] === EmailLexer::S_COLON) { + $this->warnings[IPV6ColonEnd::CODE] = new IPV6ColonEnd(); + } + + $IPv6 = substr($addressLiteral, 5); + //Daniel Marschall's new IPv6 testing strategy + $matchesIP = explode(':', $IPv6); + $groupCount = count($matchesIP); + $colons = strpos($IPv6, '::'); + + if (count(preg_grep('/^[0-9A-Fa-f]{0,4}$/', $matchesIP, PREG_GREP_INVERT)) !== 0) { + $this->warnings[IPV6BadChar::CODE] = new IPV6BadChar(); + } + + if ($colons === false) { + // We need exactly the right number of groups + if ($groupCount !== $maxGroups) { + $this->warnings[IPV6GroupCount::CODE] = new IPV6GroupCount(); + } + return; + } + + if ($colons !== strrpos($IPv6, '::')) { + $this->warnings[IPV6DoubleColon::CODE] = new IPV6DoubleColon(); + return; + } + + if ($colons === 0 || $colons === (strlen($IPv6) - 2)) { + // RFC 4291 allows :: at the start or end of an address + //with 7 other groups in addition + ++$maxGroups; + } + + if ($groupCount > $maxGroups) { + $this->warnings[IPV6MaxGroups::CODE] = new IPV6MaxGroups(); + } elseif ($groupCount === $maxGroups) { + $this->warnings[IPV6Deprecated::CODE] = new IPV6Deprecated(); + } + } + + public function convertIPv4ToIPv6(string $addressLiteralIPv4) : string + { + $matchesIP = array(); + $IPv4Match = preg_match( + '/\\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/', + $addressLiteralIPv4, + $matchesIP); + + // Extract IPv4 part from the end of the address-literal (if there is one) + if ($IPv4Match > 0) { + $index = (int) strrpos($addressLiteralIPv4, $matchesIP[0]); + //There's a match but it is at the start + if ($index > 0) { + // Convert IPv4 part to IPv6 format for further testing + return substr($addressLiteralIPv4, 0, $index) . '0:0'; + } + } + + return $addressLiteralIPv4; + } + + /** + * @param string $addressLiteral + * + * @return bool + */ + protected function checkIPV4Tag($addressLiteral) : bool + { + $matchesIP = array(); + $IPv4Match = preg_match( + '/\\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/', + $addressLiteral, + $matchesIP); + + // Extract IPv4 part from the end of the address-literal (if there is one) + + if ($IPv4Match > 0) { + $index = strrpos($addressLiteral, $matchesIP[0]); + //There's a match but it is at the start + if ($index === 0) { + $this->warnings[AddressLiteral::CODE] = new AddressLiteral(); + return false; + } + } + + return true; + } + + private function addObsoleteWarnings() : void + { + if ($this->lexer->token['type'] === EmailLexer::INVALID || + $this->lexer->token['type'] === EmailLexer::C_DEL || + $this->lexer->token['type'] === EmailLexer::S_LF || + $this->lexer->token['type'] === EmailLexer::S_BACKSLASH + ) { + $this->warnings[ObsoleteDTEXT::CODE] = new ObsoleteDTEXT(); + } + } + + private function addTagWarnings() : void + { + if ($this->lexer->isNextToken(EmailLexer::S_COLON)) { + $this->warnings[IPV6ColonStart::CODE] = new IPV6ColonStart(); + } + if ($this->lexer->isNextToken(EmailLexer::S_IPV6TAG)) { + $lexer = clone $this->lexer; + $lexer->moveNext(); + if ($lexer->isNextToken(EmailLexer::S_DOUBLECOLON)) { + $this->warnings[IPV6ColonStart::CODE] = new IPV6ColonStart(); + } + } + } + +} \ No newline at end of file diff --git a/pandora_console/vendor/egulias/email-validator/src/Parser/DomainPart.php b/pandora_console/vendor/egulias/email-validator/src/Parser/DomainPart.php new file mode 100644 index 0000000000..4ca54f2d9e --- /dev/null +++ b/pandora_console/vendor/egulias/email-validator/src/Parser/DomainPart.php @@ -0,0 +1,312 @@ +lexer->clearRecorded(); + $this->lexer->startRecording(); + + $this->lexer->moveNext(); + + $domainChecks = $this->performDomainStartChecks(); + if ($domainChecks->isInvalid()) { + return $domainChecks; + } + + if ($this->lexer->token['type'] === EmailLexer::S_AT) { + return new InvalidEmail(new ConsecutiveAt(), $this->lexer->token['value']); + } + + $result = $this->doParseDomainPart(); + if ($result->isInvalid()) { + return $result; + } + + $end = $this->checkEndOfDomain(); + if ($end->isInvalid()) { + return $end; + } + + $this->lexer->stopRecording(); + $this->domainPart = $this->lexer->getAccumulatedValues(); + + $length = strlen($this->domainPart); + if ($length > self::DOMAIN_MAX_LENGTH) { + return new InvalidEmail(new DomainTooLong(), $this->lexer->token['value']); + } + + return new ValidEmail(); + } + + private function checkEndOfDomain() : Result + { + $prev = $this->lexer->getPrevious(); + if ($prev['type'] === EmailLexer::S_DOT) { + return new InvalidEmail(new DotAtEnd(), $this->lexer->token['value']); + } + if ($prev['type'] === EmailLexer::S_HYPHEN) { + return new InvalidEmail(new DomainHyphened('Hypen found at the end of the domain'), $prev['value']); + } + + if ($this->lexer->token['type'] === EmailLexer::S_SP) { + return new InvalidEmail(new CRLFAtTheEnd(), $prev['value']); + } + return new ValidEmail(); + + } + + private function performDomainStartChecks() : Result + { + $invalidTokens = $this->checkInvalidTokensAfterAT(); + if ($invalidTokens->isInvalid()) { + return $invalidTokens; + } + + $missingDomain = $this->checkEmptyDomain(); + if ($missingDomain->isInvalid()) { + return $missingDomain; + } + + if ($this->lexer->token['type'] === EmailLexer::S_OPENPARENTHESIS) { + $this->warnings[DeprecatedComment::CODE] = new DeprecatedComment(); + } + return new ValidEmail(); + } + + private function checkEmptyDomain() : Result + { + $thereIsNoDomain = $this->lexer->token['type'] === EmailLexer::S_EMPTY || + ($this->lexer->token['type'] === EmailLexer::S_SP && + !$this->lexer->isNextToken(EmailLexer::GENERIC)); + + if ($thereIsNoDomain) { + return new InvalidEmail(new NoDomainPart(), $this->lexer->token['value']); + } + + return new ValidEmail(); + } + + private function checkInvalidTokensAfterAT() : Result + { + if ($this->lexer->token['type'] === EmailLexer::S_DOT) { + return new InvalidEmail(new DotAtStart(), $this->lexer->token['value']); + } + if ($this->lexer->token['type'] === EmailLexer::S_HYPHEN) { + return new InvalidEmail(new DomainHyphened('After AT'), $this->lexer->token['value']); + } + return new ValidEmail(); + } + + protected function parseComments(): Result + { + $commentParser = new Comment($this->lexer, new DomainComment()); + $result = $commentParser->parse(); + $this->warnings = array_merge($this->warnings, $commentParser->getWarnings()); + + return $result; + } + + protected function doParseDomainPart() : Result + { + $tldMissing = true; + $hasComments = false; + $domain = ''; + do { + $prev = $this->lexer->getPrevious(); + + $notAllowedChars = $this->checkNotAllowedChars($this->lexer->token); + if ($notAllowedChars->isInvalid()) { + return $notAllowedChars; + } + + if ($this->lexer->token['type'] === EmailLexer::S_OPENPARENTHESIS || + $this->lexer->token['type'] === EmailLexer::S_CLOSEPARENTHESIS ) { + $hasComments = true; + $commentsResult = $this->parseComments(); + + //Invalid comment parsing + if($commentsResult->isInvalid()) { + return $commentsResult; + } + } + + $dotsResult = $this->checkConsecutiveDots(); + if ($dotsResult->isInvalid()) { + return $dotsResult; + } + + if ($this->lexer->token['type'] === EmailLexer::S_OPENBRACKET) { + $literalResult = $this->parseDomainLiteral(); + + $this->addTLDWarnings($tldMissing); + return $literalResult; + } + + $labelCheck = $this->checkLabelLength(); + if ($labelCheck->isInvalid()) { + return $labelCheck; + } + + $FwsResult = $this->parseFWS(); + if($FwsResult->isInvalid()) { + return $FwsResult; + } + + $domain .= $this->lexer->token['value']; + + if ($this->lexer->token['type'] === EmailLexer::S_DOT && $this->lexer->isNextToken(EmailLexer::GENERIC)) { + $tldMissing = false; + } + + $exceptionsResult = $this->checkDomainPartExceptions($prev, $hasComments); + if ($exceptionsResult->isInvalid()) { + return $exceptionsResult; + } + $this->lexer->moveNext(); + + } while (null !== $this->lexer->token['type']); + + $labelCheck = $this->checkLabelLength(true); + if ($labelCheck->isInvalid()) { + return $labelCheck; + } + $this->addTLDWarnings($tldMissing); + + $this->domainPart = $domain; + return new ValidEmail(); + } + + private function checkNotAllowedChars(array $token) : Result + { + $notAllowed = [EmailLexer::S_BACKSLASH => true, EmailLexer::S_SLASH=> true]; + if (isset($notAllowed[$token['type']])) { + return new InvalidEmail(new CharNotAllowed(), $token['value']); + } + return new ValidEmail(); + } + + /** + * @return Result + */ + protected function parseDomainLiteral() : Result + { + try { + $this->lexer->find(EmailLexer::S_CLOSEBRACKET); + } catch (\RuntimeException $e) { + return new InvalidEmail(new ExpectingDomainLiteralClose(), $this->lexer->token['value']); + } + + $domainLiteralParser = new DomainLiteralParser($this->lexer); + $result = $domainLiteralParser->parse(); + $this->warnings = array_merge($this->warnings, $domainLiteralParser->getWarnings()); + return $result; + } + + protected function checkDomainPartExceptions(array $prev, bool $hasComments) : Result + { + if ($this->lexer->token['type'] === EmailLexer::S_OPENBRACKET && $prev['type'] !== EmailLexer::S_AT) { + return new InvalidEmail(new ExpectingATEXT('OPENBRACKET not after AT'), $this->lexer->token['value']); + } + + if ($this->lexer->token['type'] === EmailLexer::S_HYPHEN && $this->lexer->isNextToken(EmailLexer::S_DOT)) { + return new InvalidEmail(new DomainHyphened('Hypen found near DOT'), $this->lexer->token['value']); + } + + if ($this->lexer->token['type'] === EmailLexer::S_BACKSLASH + && $this->lexer->isNextToken(EmailLexer::GENERIC)) { + return new InvalidEmail(new ExpectingATEXT('Escaping following "ATOM"'), $this->lexer->token['value']); + } + + return $this->validateTokens($hasComments); + } + + protected function validateTokens(bool $hasComments) : Result + { + $validDomainTokens = array( + EmailLexer::GENERIC => true, + EmailLexer::S_HYPHEN => true, + EmailLexer::S_DOT => true, + ); + + if ($hasComments) { + $validDomainTokens[EmailLexer::S_OPENPARENTHESIS] = true; + $validDomainTokens[EmailLexer::S_CLOSEPARENTHESIS] = true; + } + + if (!isset($validDomainTokens[$this->lexer->token['type']])) { + return new InvalidEmail(new ExpectingATEXT('Invalid token in domain: ' . $this->lexer->token['value']), $this->lexer->token['value']); + } + + return new ValidEmail(); + } + + private function checkLabelLength(bool $isEndOfDomain = false) : Result + { + if ($this->lexer->token['type'] === EmailLexer::S_DOT || $isEndOfDomain) { + if ($this->isLabelTooLong($this->label)) { + return new InvalidEmail(new LabelTooLong(), $this->lexer->token['value']); + } + $this->label = ''; + } + $this->label .= $this->lexer->token['value']; + return new ValidEmail(); + } + + + private function isLabelTooLong(string $label) : bool + { + if (preg_match('/[^\x00-\x7F]/', $label)) { + idn_to_ascii(utf8_decode($label), IDNA_DEFAULT, INTL_IDNA_VARIANT_UTS46, $idnaInfo); + return (bool) ($idnaInfo['errors'] & IDNA_ERROR_LABEL_TOO_LONG); + } + return strlen($label) > self::LABEL_MAX_LENGTH; + } + + private function addTLDWarnings(bool $isTLDMissing) : void + { + if ($isTLDMissing) { + $this->warnings[TLD::CODE] = new TLD(); + } + } + + public function domainPart() : string + { + return $this->domainPart; + } +} \ No newline at end of file diff --git a/pandora_console/vendor/egulias/email-validator/src/Parser/DoubleQuote.php b/pandora_console/vendor/egulias/email-validator/src/Parser/DoubleQuote.php new file mode 100644 index 0000000000..19c098e858 --- /dev/null +++ b/pandora_console/vendor/egulias/email-validator/src/Parser/DoubleQuote.php @@ -0,0 +1,87 @@ +checkDQUOTE(); + if($validQuotedString->isInvalid()) return $validQuotedString; + + $special = array( + EmailLexer::S_CR => true, + EmailLexer::S_HTAB => true, + EmailLexer::S_LF => true + ); + + $invalid = array( + EmailLexer::C_NUL => true, + EmailLexer::S_HTAB => true, + EmailLexer::S_CR => true, + EmailLexer::S_LF => true + ); + $setSpecialsWarning = true; + + $this->lexer->moveNext(); + + while ($this->lexer->token['type'] !== EmailLexer::S_DQUOTE && null !== $this->lexer->token['type']) { + if (isset($special[$this->lexer->token['type']]) && $setSpecialsWarning) { + $this->warnings[CFWSWithFWS::CODE] = new CFWSWithFWS(); + $setSpecialsWarning = false; + } + if ($this->lexer->token['type'] === EmailLexer::S_BACKSLASH && $this->lexer->isNextToken(EmailLexer::S_DQUOTE)) { + $this->lexer->moveNext(); + } + + $this->lexer->moveNext(); + + if (!$this->escaped() && isset($invalid[$this->lexer->token['type']])) { + return new InvalidEmail(new ExpectingATEXT("Expecting ATEXT between DQUOTE"), $this->lexer->token['value']); + } + } + + $prev = $this->lexer->getPrevious(); + + if ($prev['type'] === EmailLexer::S_BACKSLASH) { + $validQuotedString = $this->checkDQUOTE(); + if($validQuotedString->isInvalid()) return $validQuotedString; + } + + if (!$this->lexer->isNextToken(EmailLexer::S_AT) && $prev['type'] !== EmailLexer::S_BACKSLASH) { + return new InvalidEmail(new ExpectingATEXT("Expecting ATEXT between DQUOTE"), $this->lexer->token['value']); + } + + return new ValidEmail(); + } + + protected function checkDQUOTE() : Result + { + $previous = $this->lexer->getPrevious(); + + if ($this->lexer->isNextToken(EmailLexer::GENERIC) && $previous['type'] === EmailLexer::GENERIC) { + $description = 'https://tools.ietf.org/html/rfc5322#section-3.2.4 - quoted string should be a unit'; + return new InvalidEmail(new ExpectingATEXT($description), $this->lexer->token['value']); + } + + try { + $this->lexer->find(EmailLexer::S_DQUOTE); + } catch (\Exception $e) { + return new InvalidEmail(new UnclosedQuotedString(), $this->lexer->token['value']); + } + $this->warnings[QuotedString::CODE] = new QuotedString($previous['value'], $this->lexer->token['value']); + + return new ValidEmail(); + } + +} \ No newline at end of file diff --git a/pandora_console/vendor/egulias/email-validator/src/Parser/FoldingWhiteSpace.php b/pandora_console/vendor/egulias/email-validator/src/Parser/FoldingWhiteSpace.php new file mode 100644 index 0000000000..d32231e7b3 --- /dev/null +++ b/pandora_console/vendor/egulias/email-validator/src/Parser/FoldingWhiteSpace.php @@ -0,0 +1,82 @@ +isFWS()) { + return new ValidEmail(); + } + + $previous = $this->lexer->getPrevious(); + + $resultCRLF = $this->checkCRLFInFWS(); + if ($resultCRLF->isInvalid()) { + return $resultCRLF; + } + + if ($this->lexer->token['type'] === EmailLexer::S_CR) { + return new InvalidEmail(new CRNoLF(), $this->lexer->token['value']); + } + + if ($this->lexer->isNextToken(EmailLexer::GENERIC) && $previous['type'] !== EmailLexer::S_AT) { + return new InvalidEmail(new AtextAfterCFWS(), $this->lexer->token['value']); + } + + if ($this->lexer->token['type'] === EmailLexer::S_LF || $this->lexer->token['type'] === EmailLexer::C_NUL) { + return new InvalidEmail(new ExpectingCTEXT(), $this->lexer->token['value']); + } + + if ($this->lexer->isNextToken(EmailLexer::S_AT) || $previous['type'] === EmailLexer::S_AT) { + $this->warnings[CFWSNearAt::CODE] = new CFWSNearAt(); + } else { + $this->warnings[CFWSWithFWS::CODE] = new CFWSWithFWS(); + } + + return new ValidEmail(); + } + + protected function checkCRLFInFWS() : Result + { + if ($this->lexer->token['type'] !== EmailLexer::CRLF) { + return new ValidEmail(); + } + + if (!$this->lexer->isNextTokenAny(array(EmailLexer::S_SP, EmailLexer::S_HTAB))) { + return new InvalidEmail(new CRLFX2(), $this->lexer->token['value']); + } + + //this has no coverage. Condition is repeated from above one + if (!$this->lexer->isNextTokenAny(array(EmailLexer::S_SP, EmailLexer::S_HTAB))) { + return new InvalidEmail(new CRLFAtTheEnd(), $this->lexer->token['value']); + } + + return new ValidEmail(); + } + + protected function isFWS() : bool + { + if ($this->escaped()) { + return false; + } + + return $this->lexer->token['type'] === EmailLexer::S_SP || + $this->lexer->token['type'] === EmailLexer::S_HTAB || + $this->lexer->token['type'] === EmailLexer::S_CR || + $this->lexer->token['type'] === EmailLexer::S_LF || + $this->lexer->token['type'] === EmailLexer::CRLF; + } +} \ No newline at end of file diff --git a/pandora_console/vendor/egulias/email-validator/src/Parser/IDLeftPart.php b/pandora_console/vendor/egulias/email-validator/src/Parser/IDLeftPart.php new file mode 100644 index 0000000000..abb4982b72 --- /dev/null +++ b/pandora_console/vendor/egulias/email-validator/src/Parser/IDLeftPart.php @@ -0,0 +1,16 @@ +lexer->token['value']); + } +} \ No newline at end of file diff --git a/pandora_console/vendor/egulias/email-validator/src/Parser/IDRightPart.php b/pandora_console/vendor/egulias/email-validator/src/Parser/IDRightPart.php new file mode 100644 index 0000000000..bcf80dd0f2 --- /dev/null +++ b/pandora_console/vendor/egulias/email-validator/src/Parser/IDRightPart.php @@ -0,0 +1,29 @@ + true, + EmailLexer::S_SQUOTE => true, + EmailLexer::S_BACKTICK => true, + EmailLexer::S_SEMICOLON => true, + EmailLexer::S_GREATERTHAN => true, + EmailLexer::S_LOWERTHAN => true, + ); + + if (isset($invalidDomainTokens[$this->lexer->token['type']])) { + return new InvalidEmail(new ExpectingATEXT('Invalid token in domain: ' . $this->lexer->token['value']), $this->lexer->token['value']); + } + return new ValidEmail(); + } +} \ No newline at end of file diff --git a/pandora_console/vendor/egulias/email-validator/src/Parser/LocalPart.php b/pandora_console/vendor/egulias/email-validator/src/Parser/LocalPart.php new file mode 100644 index 0000000000..d505c6183e --- /dev/null +++ b/pandora_console/vendor/egulias/email-validator/src/Parser/LocalPart.php @@ -0,0 +1,164 @@ +lexer->startRecording(); + + while ($this->lexer->token['type'] !== EmailLexer::S_AT && null !== $this->lexer->token['type']) { + if ($this->hasDotAtStart()) { + return new InvalidEmail(new DotAtStart(), $this->lexer->token['value']); + } + + if ($this->lexer->token['type'] === EmailLexer::S_DQUOTE) { + $dquoteParsingResult = $this->parseDoubleQuote(); + + //Invalid double quote parsing + if($dquoteParsingResult->isInvalid()) { + return $dquoteParsingResult; + } + } + + if ($this->lexer->token['type'] === EmailLexer::S_OPENPARENTHESIS || + $this->lexer->token['type'] === EmailLexer::S_CLOSEPARENTHESIS ) { + $commentsResult = $this->parseComments(); + + //Invalid comment parsing + if($commentsResult->isInvalid()) { + return $commentsResult; + } + } + + if ($this->lexer->token['type'] === EmailLexer::S_DOT && $this->lexer->isNextToken(EmailLexer::S_DOT)) { + return new InvalidEmail(new ConsecutiveDot(), $this->lexer->token['value']); + } + + if ($this->lexer->token['type'] === EmailLexer::S_DOT && + $this->lexer->isNextToken(EmailLexer::S_AT) + ) { + return new InvalidEmail(new DotAtEnd(), $this->lexer->token['value']); + } + + $resultEscaping = $this->validateEscaping(); + if ($resultEscaping->isInvalid()) { + return $resultEscaping; + } + + $resultToken = $this->validateTokens(false); + if ($resultToken->isInvalid()) { + return $resultToken; + } + + $resultFWS = $this->parseLocalFWS(); + if($resultFWS->isInvalid()) { + return $resultFWS; + } + + $this->lexer->moveNext(); + } + + $this->lexer->stopRecording(); + $this->localPart = rtrim($this->lexer->getAccumulatedValues(), '@'); + if (strlen($this->localPart) > LocalTooLong::LOCAL_PART_LENGTH) { + $this->warnings[LocalTooLong::CODE] = new LocalTooLong(); + } + + return new ValidEmail(); + } + + protected function validateTokens(bool $hasComments) : Result + { + $invalidTokens = array( + EmailLexer::S_COMMA => EmailLexer::S_COMMA, + EmailLexer::S_CLOSEBRACKET => EmailLexer::S_CLOSEBRACKET, + EmailLexer::S_OPENBRACKET => EmailLexer::S_OPENBRACKET, + EmailLexer::S_GREATERTHAN => EmailLexer::S_GREATERTHAN, + EmailLexer::S_LOWERTHAN => EmailLexer::S_LOWERTHAN, + EmailLexer::S_COLON => EmailLexer::S_COLON, + EmailLexer::S_SEMICOLON => EmailLexer::S_SEMICOLON, + EmailLexer::INVALID => EmailLexer::INVALID + ); + if (isset($invalidTokens[$this->lexer->token['type']])) { + return new InvalidEmail(new ExpectingATEXT('Invalid token found'), $this->lexer->token['value']); + } + return new ValidEmail(); + } + + public function localPart() : string + { + return $this->localPart; + } + + private function parseLocalFWS() : Result + { + $foldingWS = new FoldingWhiteSpace($this->lexer); + $resultFWS = $foldingWS->parse(); + if ($resultFWS->isValid()) { + $this->warnings = array_merge($this->warnings, $foldingWS->getWarnings()); + } + return $resultFWS; + } + + private function hasDotAtStart() : bool + { + return $this->lexer->token['type'] === EmailLexer::S_DOT && null === $this->lexer->getPrevious()['type']; + } + + private function parseDoubleQuote() : Result + { + $dquoteParser = new DoubleQuote($this->lexer); + $parseAgain = $dquoteParser->parse(); + $this->warnings = array_merge($this->warnings, $dquoteParser->getWarnings()); + + return $parseAgain; + } + + protected function parseComments(): Result + { + $commentParser = new Comment($this->lexer, new LocalComment()); + $result = $commentParser->parse(); + $this->warnings = array_merge($this->warnings, $commentParser->getWarnings()); + if($result->isInvalid()) { + return $result; + } + return $result; + } + + private function validateEscaping() : Result + { + //Backslash found + if ($this->lexer->token['type'] !== EmailLexer::S_BACKSLASH) { + return new ValidEmail(); + } + + if ($this->lexer->isNextToken(EmailLexer::GENERIC)) { + return new InvalidEmail(new ExpectingATEXT('Found ATOM after escaping'), $this->lexer->token['value']); + } + + if (!$this->lexer->isNextTokenAny(array(EmailLexer::S_SP, EmailLexer::S_HTAB, EmailLexer::C_DEL))) { + return new ValidEmail(); + } + + return new ValidEmail(); + } +} \ No newline at end of file diff --git a/pandora_console/vendor/egulias/email-validator/src/Parser/PartParser.php b/pandora_console/vendor/egulias/email-validator/src/Parser/PartParser.php new file mode 100644 index 0000000000..fd65fc5602 --- /dev/null +++ b/pandora_console/vendor/egulias/email-validator/src/Parser/PartParser.php @@ -0,0 +1,63 @@ +lexer = $lexer; + } + + abstract public function parse() : Result; + + /** + * @return \Egulias\EmailValidator\Warning\Warning[] + */ + public function getWarnings() + { + return $this->warnings; + } + + protected function parseFWS() : Result + { + $foldingWS = new FoldingWhiteSpace($this->lexer); + $resultFWS = $foldingWS->parse(); + $this->warnings = array_merge($this->warnings, $foldingWS->getWarnings()); + return $resultFWS; + } + + protected function checkConsecutiveDots() : Result + { + if ($this->lexer->token['type'] === EmailLexer::S_DOT && $this->lexer->isNextToken(EmailLexer::S_DOT)) { + return new InvalidEmail(new ConsecutiveDot(), $this->lexer->token['value']); + } + + return new ValidEmail(); + } + + protected function escaped() : bool + { + $previous = $this->lexer->getPrevious(); + + return $previous && $previous['type'] === EmailLexer::S_BACKSLASH + && + $this->lexer->token['type'] !== EmailLexer::GENERIC; + } +} \ No newline at end of file diff --git a/pandora_console/vendor/egulias/email-validator/src/Result/InvalidEmail.php b/pandora_console/vendor/egulias/email-validator/src/Result/InvalidEmail.php new file mode 100644 index 0000000000..3d85e154ae --- /dev/null +++ b/pandora_console/vendor/egulias/email-validator/src/Result/InvalidEmail.php @@ -0,0 +1,46 @@ +token = $token; + $this->reason = $reason; + } + + public function isValid(): bool + { + return false; + } + + public function isInvalid(): bool + { + return true; + } + + public function description(): string + { + return $this->reason->description() . " in char " . $this->token; + } + + public function code(): int + { + return $this->reason->code(); + } + + public function reason() : Reason + { + return $this->reason; + } + +} \ No newline at end of file diff --git a/pandora_console/vendor/egulias/email-validator/src/Result/MultipleErrors.php b/pandora_console/vendor/egulias/email-validator/src/Result/MultipleErrors.php new file mode 100644 index 0000000000..5fa85afc9e --- /dev/null +++ b/pandora_console/vendor/egulias/email-validator/src/Result/MultipleErrors.php @@ -0,0 +1,56 @@ +reasons[$reason->code()] = $reason; + } + + /** + * @return Reason[] + */ + public function getReasons() : array + { + return $this->reasons; + } + + public function reason() : Reason + { + return 0 !== count($this->reasons) + ? current($this->reasons) + : new EmptyReason(); + } + + public function description() : string + { + $description = ''; + foreach($this->reasons as $reason) { + $description .= $reason->description() . PHP_EOL; + } + + return $description; + } + + public function code() : int + { + return 0; + } +} diff --git a/pandora_console/vendor/egulias/email-validator/src/Result/Reason/AtextAfterCFWS.php b/pandora_console/vendor/egulias/email-validator/src/Result/Reason/AtextAfterCFWS.php new file mode 100644 index 0000000000..76015a2d9e --- /dev/null +++ b/pandora_console/vendor/egulias/email-validator/src/Result/Reason/AtextAfterCFWS.php @@ -0,0 +1,16 @@ +detailedDescription = $details; + } +} \ No newline at end of file diff --git a/pandora_console/vendor/egulias/email-validator/src/Result/Reason/DomainAcceptsNoMail.php b/pandora_console/vendor/egulias/email-validator/src/Result/Reason/DomainAcceptsNoMail.php new file mode 100644 index 0000000000..55f44bbafd --- /dev/null +++ b/pandora_console/vendor/egulias/email-validator/src/Result/Reason/DomainAcceptsNoMail.php @@ -0,0 +1,16 @@ +exception = $exception; + + } + public function code() : int + { + return 999; + } + + public function description() : string + { + return $this->exception->getMessage(); + } +} \ No newline at end of file diff --git a/pandora_console/vendor/egulias/email-validator/src/Result/Reason/ExpectingATEXT.php b/pandora_console/vendor/egulias/email-validator/src/Result/Reason/ExpectingATEXT.php new file mode 100644 index 0000000000..07ea8d2383 --- /dev/null +++ b/pandora_console/vendor/egulias/email-validator/src/Result/Reason/ExpectingATEXT.php @@ -0,0 +1,16 @@ +detailedDescription; + } +} diff --git a/pandora_console/vendor/egulias/email-validator/src/Result/Reason/ExpectingCTEXT.php b/pandora_console/vendor/egulias/email-validator/src/Result/Reason/ExpectingCTEXT.php new file mode 100644 index 0000000000..64f5f7c3e8 --- /dev/null +++ b/pandora_console/vendor/egulias/email-validator/src/Result/Reason/ExpectingCTEXT.php @@ -0,0 +1,16 @@ +element = $element; + } + + public function code() : int + { + return 201; + } + + public function description() : string + { + return 'Unusual element found, wourld render invalid in majority of cases. Element found: ' . $this->element; + } +} \ No newline at end of file diff --git a/pandora_console/vendor/egulias/email-validator/src/Result/Result.php b/pandora_console/vendor/egulias/email-validator/src/Result/Result.php new file mode 100644 index 0000000000..1e16bccacc --- /dev/null +++ b/pandora_console/vendor/egulias/email-validator/src/Result/Result.php @@ -0,0 +1,27 @@ +reason = new ReasonSpoofEmail(); + parent::__construct($this->reason, ''); + } +} \ No newline at end of file diff --git a/pandora_console/vendor/egulias/email-validator/src/Result/ValidEmail.php b/pandora_console/vendor/egulias/email-validator/src/Result/ValidEmail.php new file mode 100644 index 0000000000..4f3693a924 --- /dev/null +++ b/pandora_console/vendor/egulias/email-validator/src/Result/ValidEmail.php @@ -0,0 +1,27 @@ +error = new InvalidEmail(new LocalOrReservedDomain(), $host); + return false; + } + + return $this->checkDns($host); + } + + public function getError() : ?InvalidEmail + { + return $this->error; + } + + public function getWarnings() : array + { + return $this->warnings; + } + + /** + * @param string $host + * + * @return bool + */ + protected function checkDns($host) + { + $variant = INTL_IDNA_VARIANT_UTS46; + + $host = rtrim(idn_to_ascii($host, IDNA_DEFAULT, $variant), '.') . '.'; + + return $this->validateDnsRecords($host); + } + + + /** + * Validate the DNS records for given host. + * + * @param string $host A set of DNS records in the format returned by dns_get_record. + * + * @return bool True on success. + */ + private function validateDnsRecords($host) : bool + { + // A workaround to fix https://bugs.php.net/bug.php?id=73149 + /** @psalm-suppress InvalidArgument */ + set_error_handler( + static function (int $errorLevel, string $errorMessage): ?bool { + throw new \RuntimeException("Unable to get DNS record for the host: $errorMessage"); + } + ); + + try { + // Get all MX, A and AAAA DNS records for host + $dnsRecords = dns_get_record($host, static::DNS_RECORD_TYPES_TO_CHECK); + } catch (\RuntimeException $exception) { + $this->error = new InvalidEmail(new UnableToGetDNSRecord(), ''); + + return false; + } finally { + restore_error_handler(); + } + + // No MX, A or AAAA DNS records + if ($dnsRecords === [] || $dnsRecords === false) { + $this->error = new InvalidEmail(new ReasonNoDNSRecord(), ''); + return false; + } + + // For each DNS record + foreach ($dnsRecords as $dnsRecord) { + if (!$this->validateMXRecord($dnsRecord)) { + // No MX records (fallback to A or AAAA records) + if (empty($this->mxRecords)) { + $this->warnings[NoDNSMXRecord::CODE] = new NoDNSMXRecord(); + } + return false; + } + } + return true; + } + + /** + * Validate an MX record + * + * @param array $dnsRecord Given DNS record. + * + * @return bool True if valid. + */ + private function validateMxRecord($dnsRecord) : bool + { + if ($dnsRecord['type'] !== 'MX') { + return true; + } + + // "Null MX" record indicates the domain accepts no mail (https://tools.ietf.org/html/rfc7505) + if (empty($dnsRecord['target']) || $dnsRecord['target'] === '.') { + $this->error = new InvalidEmail(new DomainAcceptsNoMail(), ""); + return false; + } + + $this->mxRecords[] = $dnsRecord; + + return true; + } +} \ No newline at end of file diff --git a/pandora_console/vendor/egulias/email-validator/EmailValidator/Validation/EmailValidation.php b/pandora_console/vendor/egulias/email-validator/src/Validation/EmailValidation.php similarity index 72% rename from pandora_console/vendor/egulias/email-validator/EmailValidator/Validation/EmailValidation.php rename to pandora_console/vendor/egulias/email-validator/src/Validation/EmailValidation.php index d5a015be57..1bcc0a70bf 100644 --- a/pandora_console/vendor/egulias/email-validator/EmailValidator/Validation/EmailValidation.php +++ b/pandora_console/vendor/egulias/email-validator/src/Validation/EmailValidation.php @@ -3,7 +3,7 @@ namespace Egulias\EmailValidator\Validation; use Egulias\EmailValidator\EmailLexer; -use Egulias\EmailValidator\Exception\InvalidEmail; +use Egulias\EmailValidator\Result\InvalidEmail; use Egulias\EmailValidator\Warning\Warning; interface EmailValidation @@ -16,19 +16,19 @@ interface EmailValidation * * @return bool */ - public function isValid($email, EmailLexer $emailLexer); + public function isValid(string $email, EmailLexer $emailLexer) : bool; /** * Returns the validation error. * * @return InvalidEmail|null */ - public function getError(); + public function getError() : ?InvalidEmail; /** * Returns the validation warnings. * * @return Warning[] */ - public function getWarnings(); + public function getWarnings() : array; } diff --git a/pandora_console/vendor/egulias/email-validator/EmailValidator/Validation/Exception/EmptyValidationList.php b/pandora_console/vendor/egulias/email-validator/src/Validation/Exception/EmptyValidationList.php similarity index 89% rename from pandora_console/vendor/egulias/email-validator/EmailValidator/Validation/Exception/EmptyValidationList.php rename to pandora_console/vendor/egulias/email-validator/src/Validation/Exception/EmptyValidationList.php index 775ad16fb5..ee7c41aa03 100644 --- a/pandora_console/vendor/egulias/email-validator/EmailValidator/Validation/Exception/EmptyValidationList.php +++ b/pandora_console/vendor/egulias/email-validator/src/Validation/Exception/EmptyValidationList.php @@ -6,6 +6,9 @@ use Exception; class EmptyValidationList extends \InvalidArgumentException { + /** + * @param int $code + */ public function __construct($code = 0, Exception $previous = null) { parent::__construct("Empty validation list is not allowed", $code, $previous); diff --git a/pandora_console/vendor/egulias/email-validator/EmailValidator/Validation/SpoofCheckValidation.php b/pandora_console/vendor/egulias/email-validator/src/Validation/Extra/SpoofCheckValidation.php similarity index 58% rename from pandora_console/vendor/egulias/email-validator/EmailValidator/Validation/SpoofCheckValidation.php rename to pandora_console/vendor/egulias/email-validator/src/Validation/Extra/SpoofCheckValidation.php index 4721f0d8c9..4972dbceff 100644 --- a/pandora_console/vendor/egulias/email-validator/EmailValidator/Validation/SpoofCheckValidation.php +++ b/pandora_console/vendor/egulias/email-validator/src/Validation/Extra/SpoofCheckValidation.php @@ -1,16 +1,17 @@ setChecks(Spoofchecker::SINGLE_SCRIPT); @@ -33,12 +37,15 @@ class SpoofCheckValidation implements EmailValidation return $this->error === null; } - public function getError() + /** + * @return InvalidEmail + */ + public function getError() : ?InvalidEmail { return $this->error; } - public function getWarnings() + public function getWarnings() : array { return []; } diff --git a/pandora_console/vendor/egulias/email-validator/src/Validation/MessageIDValidation.php b/pandora_console/vendor/egulias/email-validator/src/Validation/MessageIDValidation.php new file mode 100644 index 0000000000..0e020433d0 --- /dev/null +++ b/pandora_console/vendor/egulias/email-validator/src/Validation/MessageIDValidation.php @@ -0,0 +1,51 @@ +parse($email); + $this->warnings = $parser->getWarnings(); + if ($result->isInvalid()) { + /** @psalm-suppress PropertyTypeCoercion */ + $this->error = $result; + return false; + } + } catch (\Exception $invalid) { + $this->error = new InvalidEmail(new ExceptionFound($invalid), ''); + return false; + } + + return true; + } + + public function getWarnings(): array + { + return $this->warnings; + } + + public function getError(): ?InvalidEmail + { + return $this->error; + } +} diff --git a/pandora_console/vendor/egulias/email-validator/EmailValidator/Validation/MultipleValidationWithAnd.php b/pandora_console/vendor/egulias/email-validator/src/Validation/MultipleValidationWithAnd.php similarity index 60% rename from pandora_console/vendor/egulias/email-validator/EmailValidator/Validation/MultipleValidationWithAnd.php rename to pandora_console/vendor/egulias/email-validator/src/Validation/MultipleValidationWithAnd.php index 43fa42a64b..6debf22fdd 100644 --- a/pandora_console/vendor/egulias/email-validator/EmailValidator/Validation/MultipleValidationWithAnd.php +++ b/pandora_console/vendor/egulias/email-validator/src/Validation/MultipleValidationWithAnd.php @@ -3,13 +3,15 @@ namespace Egulias\EmailValidator\Validation; use Egulias\EmailValidator\EmailLexer; +use Egulias\EmailValidator\Result\InvalidEmail; use Egulias\EmailValidator\Validation\Exception\EmptyValidationList; +use Egulias\EmailValidator\Result\MultipleErrors; class MultipleValidationWithAnd implements EmailValidation { /** - * If one of validations gets failure skips all succeeding validation. - * This means MultipleErrors will only contain a single error which first found. + * If one of validations fails, the remaining validations will be skept. + * This means MultipleErrors will only contain a single error, the first found. */ const STOP_ON_ERROR = 0; @@ -30,12 +32,12 @@ class MultipleValidationWithAnd implements EmailValidation private $warnings = []; /** - * @var MultipleErrors + * @var MultipleErrors|null */ private $error; /** - * @var bool + * @var int */ private $mode; @@ -56,46 +58,51 @@ class MultipleValidationWithAnd implements EmailValidation /** * {@inheritdoc} */ - public function isValid($email, EmailLexer $emailLexer) + public function isValid(string $email, EmailLexer $emailLexer) : bool { $result = true; - $errors = []; foreach ($this->validations as $validation) { $emailLexer->reset(); - $result = $result && $validation->isValid($email, $emailLexer); + $validationResult = $validation->isValid($email, $emailLexer); + $result = $result && $validationResult; $this->warnings = array_merge($this->warnings, $validation->getWarnings()); - $errors = $this->addNewError($validation->getError(), $errors); + if (!$validationResult) { + $this->processError($validation); + } if ($this->shouldStop($result)) { break; } } - if (!empty($errors)) { - $this->error = new MultipleErrors($errors); - } - return $result; } - private function addNewError($possibleError, array $errors) + private function initErrorStorage() : void { - if (null !== $possibleError) { - $errors[] = $possibleError; + if (null === $this->error) { + $this->error = new MultipleErrors(); } - - return $errors; } - private function shouldStop($result) + private function processError(EmailValidation $validation) : void + { + if (null !== $validation->getError()) { + $this->initErrorStorage(); + /** @psalm-suppress PossiblyNullReference */ + $this->error->addReason($validation->getError()->reason()); + } + } + + private function shouldStop(bool $result) : bool { return !$result && $this->mode === self::STOP_ON_ERROR; } /** - * {@inheritdoc} + * Returns the validation errors. */ - public function getError() + public function getError() : ?InvalidEmail { return $this->error; } @@ -103,7 +110,7 @@ class MultipleValidationWithAnd implements EmailValidation /** * {@inheritdoc} */ - public function getWarnings() + public function getWarnings() : array { return $this->warnings; } diff --git a/pandora_console/vendor/egulias/email-validator/EmailValidator/Validation/NoRFCWarningsValidation.php b/pandora_console/vendor/egulias/email-validator/src/Validation/NoRFCWarningsValidation.php similarity index 62% rename from pandora_console/vendor/egulias/email-validator/EmailValidator/Validation/NoRFCWarningsValidation.php rename to pandora_console/vendor/egulias/email-validator/src/Validation/NoRFCWarningsValidation.php index e4bf0cc4df..06885ed71a 100644 --- a/pandora_console/vendor/egulias/email-validator/EmailValidator/Validation/NoRFCWarningsValidation.php +++ b/pandora_console/vendor/egulias/email-validator/src/Validation/NoRFCWarningsValidation.php @@ -3,20 +3,20 @@ namespace Egulias\EmailValidator\Validation; use Egulias\EmailValidator\EmailLexer; -use Egulias\EmailValidator\Exception\InvalidEmail; -use Egulias\EmailValidator\Validation\Error\RFCWarnings; +use Egulias\EmailValidator\Result\InvalidEmail; +use Egulias\EmailValidator\Result\Reason\RFCWarnings; class NoRFCWarningsValidation extends RFCValidation { /** - * @var InvalidEmail + * @var InvalidEmail|null */ private $error; /** * {@inheritdoc} */ - public function isValid($email, EmailLexer $emailLexer) + public function isValid(string $email, EmailLexer $emailLexer) : bool { if (!parent::isValid($email, $emailLexer)) { return false; @@ -26,7 +26,7 @@ class NoRFCWarningsValidation extends RFCValidation return true; } - $this->error = new RFCWarnings(); + $this->error = new InvalidEmail(new RFCWarnings(), ''); return false; } @@ -34,7 +34,7 @@ class NoRFCWarningsValidation extends RFCValidation /** * {@inheritdoc} */ - public function getError() + public function getError() : ?InvalidEmail { return $this->error ?: parent::getError(); } diff --git a/pandora_console/vendor/egulias/email-validator/src/Validation/RFCValidation.php b/pandora_console/vendor/egulias/email-validator/src/Validation/RFCValidation.php new file mode 100644 index 0000000000..e2c27baccf --- /dev/null +++ b/pandora_console/vendor/egulias/email-validator/src/Validation/RFCValidation.php @@ -0,0 +1,55 @@ +parser = new EmailParser($emailLexer); + try { + $result = $this->parser->parse($email); + $this->warnings = $this->parser->getWarnings(); + if ($result->isInvalid()) { + /** @psalm-suppress PropertyTypeCoercion */ + $this->error = $result; + return false; + } + } catch (\Exception $invalid) { + $this->error = new InvalidEmail(new ExceptionFound($invalid), ''); + return false; + } + + return true; + } + + public function getError() : ?InvalidEmail + { + return $this->error; + } + + public function getWarnings() : array + { + return $this->warnings; + } +} diff --git a/pandora_console/vendor/egulias/email-validator/EmailValidator/Warning/AddressLiteral.php b/pandora_console/vendor/egulias/email-validator/src/Warning/AddressLiteral.php similarity index 100% rename from pandora_console/vendor/egulias/email-validator/EmailValidator/Warning/AddressLiteral.php rename to pandora_console/vendor/egulias/email-validator/src/Warning/AddressLiteral.php diff --git a/pandora_console/vendor/egulias/email-validator/EmailValidator/Warning/CFWSNearAt.php b/pandora_console/vendor/egulias/email-validator/src/Warning/CFWSNearAt.php similarity index 100% rename from pandora_console/vendor/egulias/email-validator/EmailValidator/Warning/CFWSNearAt.php rename to pandora_console/vendor/egulias/email-validator/src/Warning/CFWSNearAt.php diff --git a/pandora_console/vendor/egulias/email-validator/EmailValidator/Warning/CFWSWithFWS.php b/pandora_console/vendor/egulias/email-validator/src/Warning/CFWSWithFWS.php similarity index 100% rename from pandora_console/vendor/egulias/email-validator/EmailValidator/Warning/CFWSWithFWS.php rename to pandora_console/vendor/egulias/email-validator/src/Warning/CFWSWithFWS.php diff --git a/pandora_console/vendor/egulias/email-validator/EmailValidator/Warning/Comment.php b/pandora_console/vendor/egulias/email-validator/src/Warning/Comment.php similarity index 100% rename from pandora_console/vendor/egulias/email-validator/EmailValidator/Warning/Comment.php rename to pandora_console/vendor/egulias/email-validator/src/Warning/Comment.php diff --git a/pandora_console/vendor/egulias/email-validator/EmailValidator/Warning/DeprecatedComment.php b/pandora_console/vendor/egulias/email-validator/src/Warning/DeprecatedComment.php similarity index 100% rename from pandora_console/vendor/egulias/email-validator/EmailValidator/Warning/DeprecatedComment.php rename to pandora_console/vendor/egulias/email-validator/src/Warning/DeprecatedComment.php diff --git a/pandora_console/vendor/egulias/email-validator/EmailValidator/Warning/DomainLiteral.php b/pandora_console/vendor/egulias/email-validator/src/Warning/DomainLiteral.php similarity index 100% rename from pandora_console/vendor/egulias/email-validator/EmailValidator/Warning/DomainLiteral.php rename to pandora_console/vendor/egulias/email-validator/src/Warning/DomainLiteral.php diff --git a/pandora_console/vendor/egulias/email-validator/EmailValidator/Warning/EmailTooLong.php b/pandora_console/vendor/egulias/email-validator/src/Warning/EmailTooLong.php similarity index 100% rename from pandora_console/vendor/egulias/email-validator/EmailValidator/Warning/EmailTooLong.php rename to pandora_console/vendor/egulias/email-validator/src/Warning/EmailTooLong.php diff --git a/pandora_console/vendor/egulias/email-validator/EmailValidator/Warning/IPV6BadChar.php b/pandora_console/vendor/egulias/email-validator/src/Warning/IPV6BadChar.php similarity index 100% rename from pandora_console/vendor/egulias/email-validator/EmailValidator/Warning/IPV6BadChar.php rename to pandora_console/vendor/egulias/email-validator/src/Warning/IPV6BadChar.php diff --git a/pandora_console/vendor/egulias/email-validator/EmailValidator/Warning/IPV6ColonEnd.php b/pandora_console/vendor/egulias/email-validator/src/Warning/IPV6ColonEnd.php similarity index 100% rename from pandora_console/vendor/egulias/email-validator/EmailValidator/Warning/IPV6ColonEnd.php rename to pandora_console/vendor/egulias/email-validator/src/Warning/IPV6ColonEnd.php diff --git a/pandora_console/vendor/egulias/email-validator/EmailValidator/Warning/IPV6ColonStart.php b/pandora_console/vendor/egulias/email-validator/src/Warning/IPV6ColonStart.php similarity index 100% rename from pandora_console/vendor/egulias/email-validator/EmailValidator/Warning/IPV6ColonStart.php rename to pandora_console/vendor/egulias/email-validator/src/Warning/IPV6ColonStart.php diff --git a/pandora_console/vendor/egulias/email-validator/EmailValidator/Warning/IPV6Deprecated.php b/pandora_console/vendor/egulias/email-validator/src/Warning/IPV6Deprecated.php similarity index 100% rename from pandora_console/vendor/egulias/email-validator/EmailValidator/Warning/IPV6Deprecated.php rename to pandora_console/vendor/egulias/email-validator/src/Warning/IPV6Deprecated.php diff --git a/pandora_console/vendor/egulias/email-validator/EmailValidator/Warning/IPV6DoubleColon.php b/pandora_console/vendor/egulias/email-validator/src/Warning/IPV6DoubleColon.php similarity index 100% rename from pandora_console/vendor/egulias/email-validator/EmailValidator/Warning/IPV6DoubleColon.php rename to pandora_console/vendor/egulias/email-validator/src/Warning/IPV6DoubleColon.php diff --git a/pandora_console/vendor/egulias/email-validator/EmailValidator/Warning/IPV6GroupCount.php b/pandora_console/vendor/egulias/email-validator/src/Warning/IPV6GroupCount.php similarity index 100% rename from pandora_console/vendor/egulias/email-validator/EmailValidator/Warning/IPV6GroupCount.php rename to pandora_console/vendor/egulias/email-validator/src/Warning/IPV6GroupCount.php diff --git a/pandora_console/vendor/egulias/email-validator/EmailValidator/Warning/IPV6MaxGroups.php b/pandora_console/vendor/egulias/email-validator/src/Warning/IPV6MaxGroups.php similarity index 100% rename from pandora_console/vendor/egulias/email-validator/EmailValidator/Warning/IPV6MaxGroups.php rename to pandora_console/vendor/egulias/email-validator/src/Warning/IPV6MaxGroups.php diff --git a/pandora_console/vendor/egulias/email-validator/EmailValidator/Warning/LocalTooLong.php b/pandora_console/vendor/egulias/email-validator/src/Warning/LocalTooLong.php similarity index 100% rename from pandora_console/vendor/egulias/email-validator/EmailValidator/Warning/LocalTooLong.php rename to pandora_console/vendor/egulias/email-validator/src/Warning/LocalTooLong.php diff --git a/pandora_console/vendor/egulias/email-validator/EmailValidator/Warning/NoDNSMXRecord.php b/pandora_console/vendor/egulias/email-validator/src/Warning/NoDNSMXRecord.php similarity index 100% rename from pandora_console/vendor/egulias/email-validator/EmailValidator/Warning/NoDNSMXRecord.php rename to pandora_console/vendor/egulias/email-validator/src/Warning/NoDNSMXRecord.php diff --git a/pandora_console/vendor/egulias/email-validator/EmailValidator/Warning/ObsoleteDTEXT.php b/pandora_console/vendor/egulias/email-validator/src/Warning/ObsoleteDTEXT.php similarity index 100% rename from pandora_console/vendor/egulias/email-validator/EmailValidator/Warning/ObsoleteDTEXT.php rename to pandora_console/vendor/egulias/email-validator/src/Warning/ObsoleteDTEXT.php diff --git a/pandora_console/vendor/egulias/email-validator/EmailValidator/Warning/QuotedPart.php b/pandora_console/vendor/egulias/email-validator/src/Warning/QuotedPart.php similarity index 77% rename from pandora_console/vendor/egulias/email-validator/EmailValidator/Warning/QuotedPart.php rename to pandora_console/vendor/egulias/email-validator/src/Warning/QuotedPart.php index 7be9e6a3f2..36a4265a51 100644 --- a/pandora_console/vendor/egulias/email-validator/EmailValidator/Warning/QuotedPart.php +++ b/pandora_console/vendor/egulias/email-validator/src/Warning/QuotedPart.php @@ -6,6 +6,10 @@ class QuotedPart extends Warning { const CODE = 36; + /** + * @param scalar $prevToken + * @param scalar $postToken + */ public function __construct($prevToken, $postToken) { $this->message = "Deprecated Quoted String found between $prevToken and $postToken"; diff --git a/pandora_console/vendor/egulias/email-validator/EmailValidator/Warning/QuotedString.php b/pandora_console/vendor/egulias/email-validator/src/Warning/QuotedString.php similarity index 76% rename from pandora_console/vendor/egulias/email-validator/EmailValidator/Warning/QuotedString.php rename to pandora_console/vendor/egulias/email-validator/src/Warning/QuotedString.php index e9d56e1e03..817e4e84b0 100644 --- a/pandora_console/vendor/egulias/email-validator/EmailValidator/Warning/QuotedString.php +++ b/pandora_console/vendor/egulias/email-validator/src/Warning/QuotedString.php @@ -6,6 +6,10 @@ class QuotedString extends Warning { const CODE = 11; + /** + * @param scalar $prevToken + * @param scalar $postToken + */ public function __construct($prevToken, $postToken) { $this->message = "Quoted String found between $prevToken and $postToken"; diff --git a/pandora_console/vendor/egulias/email-validator/EmailValidator/Warning/TLD.php b/pandora_console/vendor/egulias/email-validator/src/Warning/TLD.php similarity index 100% rename from pandora_console/vendor/egulias/email-validator/EmailValidator/Warning/TLD.php rename to pandora_console/vendor/egulias/email-validator/src/Warning/TLD.php diff --git a/pandora_console/vendor/egulias/email-validator/EmailValidator/Warning/Warning.php b/pandora_console/vendor/egulias/email-validator/src/Warning/Warning.php similarity index 66% rename from pandora_console/vendor/egulias/email-validator/EmailValidator/Warning/Warning.php rename to pandora_console/vendor/egulias/email-validator/src/Warning/Warning.php index ec6a365ffb..bce7e7a5ae 100644 --- a/pandora_console/vendor/egulias/email-validator/EmailValidator/Warning/Warning.php +++ b/pandora_console/vendor/egulias/email-validator/src/Warning/Warning.php @@ -5,19 +5,36 @@ namespace Egulias\EmailValidator\Warning; abstract class Warning { const CODE = 0; - protected $message; - protected $rfcNumber; + /** + * @var string + */ + protected $message = ''; + + /** + * @var int + */ + protected $rfcNumber = 0; + + /** + * @return string + */ public function message() { return $this->message; } + /** + * @return int + */ public function code() { return self::CODE; } + /** + * @return int + */ public function RFCNumber() { return $this->rfcNumber; diff --git a/pandora_console/vendor/mpdf/mpdf/.github/CONTRIBUTING.md b/pandora_console/vendor/mpdf/mpdf/.github/CONTRIBUTING.md index 0edc250fb4..eef6959af6 100644 --- a/pandora_console/vendor/mpdf/mpdf/.github/CONTRIBUTING.md +++ b/pandora_console/vendor/mpdf/mpdf/.github/CONTRIBUTING.md @@ -7,12 +7,33 @@ Issue tracker The Issue tracker serves mainly as a place to report bugs and request new features. Please do not abuse it as a general questions or troubleshooting location. -For these questions you can always use the -[mpdf tag](https://stackoverflow.com/questions/tagged/mpdf) at [Stack Overflow](https://stackoverflow.com/). +General troubleshooting +------------- + +For these questions please use [Discussions](https://github.com/mpdf/mpdf/discussions). Add your enquiry +to appropriate category and as always, include a reproducible code example when applicable (see code example guidelines below). + +You can also use the [mpdf tag](https://stackoverflow.com/questions/tagged/mpdf) +at [Stack Overflow](https://stackoverflow.com/) +as the StackOverflow user base is more likely to answer you in a timely manner. +When doing so, make sure you comply to StackOverflow question guidelines. + +Bug reports +------------- + +* Bug reports **MUST** contain a small example in php/html that reproduces the bug. +* The code example **MUST** be reproducible by copy&paste assuming composer dependencies are installed. That means: + * No calling unrelated funcions, + * an actual final HTML code has to be present, pasting a template file is not enough, + * if the bug considers import or fonts, example source PDF/TTF/etc files have to be included. +* Failing to provide necessary information or not using the issue template will cause the issue to be closed until required information is provided. +* Please report one feature or one bug per issue. + +Feature requests +------------- + +Feature requests have to be labeled as such and have to include reasoning for the change in question. -* Please provide a small example in php/html that reproduces your situation -* Please report one feature or one bug per issue -* Failing to provide necessary information or not using the issue template may cause the issue to be closed without consideration. Pull requests ------------- @@ -20,15 +41,13 @@ Pull requests Pull requests should be always based on the default [development](https://github.com/mpdf/mpdf/tree/development) branch except for backports to older versions. -Some guidelines: +Guidelines: * Use an aptly named feature branch for the Pull request. - * Only files and lines affecting the scope of the Pull request must be affected. - * Make small, *atomic* commits that keep the smallest possible related code changes together. - -* Code should be accompanied by a unit test testing expected behaviour. +* Code must be accompanied by a unit test testing expected behaviour whenever possible. +* To be incorporated, the PR should contain a change in the CHANGELOG.md file describing itself When updating a PR, do not create a new one, just `git push --force` to your former feature branch, the PR will update itself. diff --git a/pandora_console/vendor/mpdf/mpdf/.github/FUNDING.yml b/pandora_console/vendor/mpdf/mpdf/.github/FUNDING.yml new file mode 100644 index 0000000000..476013760a --- /dev/null +++ b/pandora_console/vendor/mpdf/mpdf/.github/FUNDING.yml @@ -0,0 +1 @@ +custom: https://www.paypal.me/mpdf diff --git a/pandora_console/vendor/mpdf/mpdf/.github/ISSUE_TEMPLATE.md b/pandora_console/vendor/mpdf/mpdf/.github/ISSUE_TEMPLATE.md deleted file mode 100644 index 4aca9f8de0..0000000000 --- a/pandora_console/vendor/mpdf/mpdf/.github/ISSUE_TEMPLATE.md +++ /dev/null @@ -1,22 +0,0 @@ -> Please use https://stackoverflow.com/questions/tagged/mpdf for all your general questions or troubleshooting! -> For contributing here, please see the guideline: https://github.com/mpdf/mpdf/blob/development/.github/CONTRIBUTING.md -> -> *Warning*: Failing to provide necessary information may cause the issue to be closed without consideration - -### I found this bug / would like to have this new functionality - -### This is mPDF and PHP version and environment (server/fpm/cli etc) I am using - -### This is a PHP code snippet I use - -``` - + +### I found this bug + +### This is mPDF and PHP version and environment (server/fpm/cli etc) I am using + +### This is the PHP code snippet I use + +``` + diff --git a/pandora_console/vendor/mpdf/mpdf/.github/ISSUE_TEMPLATE/config.yml b/pandora_console/vendor/mpdf/mpdf/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 0000000000..901d9c25ee --- /dev/null +++ b/pandora_console/vendor/mpdf/mpdf/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,7 @@ +contact_links: + - name: General questions and troubleshooting ❓ + url: https://github.com/mpdf/mpdf/discussions + about: You can use Github Discussions for general questions and troubleshooting. Please note that asking at Stack Overflow will probably be more successful. + - name: QA at Stack Overflow ❓ + url: https://stackoverflow.com/questions/tagged/mpdf + about: Ask at Stack Overflow for a greater chance of a quick and correct answer to your questions. Make sure to comply to SO rules, terms and conditions. diff --git a/pandora_console/vendor/mpdf/mpdf/.github/workflows/coverage.yml b/pandora_console/vendor/mpdf/mpdf/.github/workflows/coverage.yml new file mode 100644 index 0000000000..13b1207b8c --- /dev/null +++ b/pandora_console/vendor/mpdf/mpdf/.github/workflows/coverage.yml @@ -0,0 +1,42 @@ +# https://help.github.com/en/categories/automating-your-workflow-with-github-actions + +name: "Code coverage" + +on: + push: + branches: + - "development" + - "coverage" + +jobs: + + coverage: + + name: "Code coverage" + + runs-on: ${{ matrix.operating-system }} + + strategy: + matrix: + php-version: + - "7.4" + + operating-system: [ubuntu-latest] + + steps: + - name: "Checkout" + uses: "actions/checkout@v2" + + - name: "Install PHP" + uses: "shivammathur/setup-php@v2" + with: + coverage: "xdebug" + php-version: "${{ matrix.php-version }}" + extensions: "mbstring, gd, bcmath, bz2" + tools: composer:v2 + + - name: "Install dependencies" + run: "composer install --no-interaction --no-progress" + + - name: "Code coverage" + run: composer coverage diff --git a/pandora_console/vendor/mpdf/mpdf/.github/workflows/cs.yml b/pandora_console/vendor/mpdf/mpdf/.github/workflows/cs.yml new file mode 100644 index 0000000000..ff003e0174 --- /dev/null +++ b/pandora_console/vendor/mpdf/mpdf/.github/workflows/cs.yml @@ -0,0 +1,43 @@ +# https://help.github.com/en/categories/automating-your-workflow-with-github-actions + +name: "Coding standard check" + +on: + pull_request: + push: + branches: + - "development" + - "test" + +jobs: + + cs: + + name: "Coding standard" + + runs-on: ${{ matrix.operating-system }} + + strategy: + matrix: + php-version: + - "7.4" + + operating-system: [ubuntu-latest] + + steps: + - name: "Checkout" + uses: "actions/checkout@v2" + + - name: "Install PHP" + uses: "shivammathur/setup-php@v2" + with: + coverage: "none" + php-version: "${{ matrix.php-version }}" + extensions: "mbstring" + tools: composer:v2 + + - name: "Install dependencies" + run: "composer install --no-interaction --no-progress" + + - name: "CS" + run: composer cs diff --git a/pandora_console/vendor/mpdf/mpdf/.github/workflows/tests.yml b/pandora_console/vendor/mpdf/mpdf/.github/workflows/tests.yml new file mode 100644 index 0000000000..ff64a8162e --- /dev/null +++ b/pandora_console/vendor/mpdf/mpdf/.github/workflows/tests.yml @@ -0,0 +1,52 @@ +# https://help.github.com/en/categories/automating-your-workflow-with-github-actions + +name: "CI" + +on: + pull_request: + push: + branches: + - "master" + - "development" + - "test" + +jobs: + + tests: + + name: "Tests" + + runs-on: ${{ matrix.operating-system }} + + strategy: + fail-fast: false + matrix: + php-version: + - "5.6" + - "7.0" + - "7.1" + - "7.2" + - "7.3" + - "7.4" + - "8.0" + - "8.1" + operating-system: [ubuntu-latest, windows-latest] + + steps: + - name: "Checkout" + uses: "actions/checkout@v2" + + - name: "Install PHP" + uses: "shivammathur/setup-php@v2" + with: + coverage: "none" + php-version: "${{ matrix.php-version }}" + extensions: "mbstring, gd, bcmath, bz2" + tools: composer:v2 + ini-values: error_reporting=-1 + + - name: "Install dependencies" + run: "composer install --no-interaction --no-progress" + + - name: "Tests" + run: composer test diff --git a/pandora_console/vendor/mpdf/mpdf/.travis.yml b/pandora_console/vendor/mpdf/mpdf/.travis.yml deleted file mode 100644 index 3dda528049..0000000000 --- a/pandora_console/vendor/mpdf/mpdf/.travis.yml +++ /dev/null @@ -1,42 +0,0 @@ -language: php - -dist: trusty - -group: edge - -php: - - 5.6 - - 7.0 - - 7.1 - - 7.2 - - nightly - -matrix: - - include: - - - env: LINT=1 - php: 7.1 - #- env: COVERAGE=1 - # php: 7.1 - - allow_failures: - - php: nightly - -install: - - composer self-update - - composer install - -script: - - | - if [[ "$LINT" == "1" ]]; then - ./vendor/bin/phpcs -v --report-width=160 --standard=ruleset.xml --severity=1 --warning-severity=0 --extensions=php src utils tests - elif [[ "$COVERAGE" == "1" ]]; then - vendor/bin/phpunit --coverage-text - else - vendor/bin/phpunit - fi - -notifications: - - email: change diff --git a/pandora_console/vendor/mpdf/mpdf/CHANGELOG.md b/pandora_console/vendor/mpdf/mpdf/CHANGELOG.md index d978e68fe8..16869e339e 100644 --- a/pandora_console/vendor/mpdf/mpdf/CHANGELOG.md +++ b/pandora_console/vendor/mpdf/mpdf/CHANGELOG.md @@ -1,10 +1,76 @@ +mPDF 8.0.x +=========================== + +* Ability to customize User-Agent header in the HTTP requests sent by cURL (@samuelecat, #1229) +* Add Page Number Myanmar Language Support (@MinKyawNyunt, #1201) +* new `Mpdf\Exception\FontException` extending base `MpdfException` was introduced and is thrown on Font manipulation +* A bit cleaner exception messages for font-related errors +* Use atomic cache writing. (@PATROMO, #1186) +* Fix: "Undefined index: group" when calling MultiCell when using font without OTL data (@Kekos, #1213, #941) +* Add C128RAW barcode type to create any barcode (ex: subtype change in middle of barcode) (#1124) +* Add proxy support to curl +* Fixed date and time format in the informations dictionary (#1083, @peterdevpl) +* Checking allowed stream wrappers in CssManager +* PHP 7.4 support (until final 7.4 release with composer --ignore-platform-reqs) +* Improve debugging of remote content issues (@ribeirobreno) +* Added `exposeVersion` configuration variable allowing to hide mPDF version from Producer tag and HTTP headers +* Added the check for JPEG SOF header 0xFF 0xC1 (extended) (@jamiejones85) +* Allows setting `none` as zoom mode in `SetDisplayMode` method, so that OpenAction is not written (#602) +* Allowed image stream whitelist to be customised (#1005, thanks @jakejackson) +* Fixed parsing of top-left-bottom-right CSS rules with !important (#1009) +* Fixed skipping ordered list numbering with page-break-inside: avoid (#339) +* Compound classes selector support, like `.one.two` or `div.message.special` (#538, @peterdevpl) +* Fixed CMYK colors in text-shadow (#1115, @lexilya) +* Skip non supported wrappers when resolving paths (#1204, @MarkVaughn) +* Fixed SVGs using a style tag, has styles ignored ( Requires ext-dom ) (#450, @antman3351) +* Allows `{nb}`, `{nbpg}`, `{PAGENO}` and `{DATE ...}` substitution in body (#172 and #267, @Dasc3er) +* Cache now creates a dedicated subdirectory `/mpdf`. +* It is possible to disable automatic cache cleanup with `cacheCleanupInterval` config variable +* PHP 8.0 is supported since 8.0.10 (#1263) +* Fix: First header of named page is added twice (@antman3351, #1320) +* Added `curlExecutionTimeout` configuration variable allowing to `CURLOPT_TIMEOUT` when fetching remote content +* Fix: Not all combinations were generated for more than three compound classes (@JeppeKnockaert) +* Added `quiet_zone_left` and `quiet_zone_right` to barcodes which support quiet zones in order to customize its width +* Updated `CssManager` to use the `RemoteContentFetcher` class instead of `curl` natively (@greew) +* Added optional `continue2pages` parameter to `SetDocTemplate` method, allowing a template to continue the last 2 pages alternately (@bmg-ruudv) +* Ensure that all digits of a string are hexadecimal before decoding in ColorConverter (@derklaro) +* Fix: Using mpdf in phar package leads to weird errors (#1504, @sandreas) + +mPDF 8.0.0 +=========================== + +### 15/03/2019 + +* Updated FPDI dependency to version 2 (thanks a lot, @JanSlabon) + - removed `SetImportUse` method + - case of `ImportPage` method changed to `importPage` + - similarly, case of `setSourceFile` and `useTemplate` was changed to a lowercase first letter. + - signature of `importPage` changed + - returned value of `useTemplate` changed +* Moved QRCode generating code portions to external package _mpdf/qrcode_ + - This reduced package size considerably (ca 6MB) +* Fraction sizes without leading zeros allowed for font sizes (#973, thanks @peterdevpl) +* WriteHTML is now strict about used `$mode` parameter (#915, thanks, @tomtomau) +* Fixed regression in nested tables (#860, thanks, @machour) +* Scientific notation handling in CSS font sizes (#753, thanks, @peterdevpl) + + mPDF 7.1.x =========================== -* Added myclabs/deepcopy dependency to fix TOC page numbering +* PHAR security issue fixed (thanks, @jakejackson) +* Font temporary data saved as JSON instead of generating PHP files (thanks, @jakejackson) +* cURL handling enhancements (thanks, @jakejackson) +* SVG parsing fixes (thanks, @achretien) +* Write PDF content with *Writer service classes +* PHP 7.3 is supported +* Added myclabs/deepcopy dependency, fixed TOC page numbering (thanks, @jakejackson) * Custom color for QR codes * Added support for orientation config key -* Various code cleanups and fixes (See commit history) +* Code and tests cleanups and enhancements + - PHPUnit dedicated assertions (thanks, @carusogabriel) + - WriteHTML part constants (thanks, @tomtomau) + - Various notice fixes (kudos to all respective authors) mPDF 7.0.x =========================== diff --git a/pandora_console/vendor/mpdf/mpdf/README.md b/pandora_console/vendor/mpdf/mpdf/README.md index 03c449634e..366ddace64 100644 --- a/pandora_console/vendor/mpdf/mpdf/README.md +++ b/pandora_console/vendor/mpdf/mpdf/README.md @@ -4,20 +4,35 @@ It is based on [FPDF](http://www.fpdf.org/) and [HTML2FPDF](http://html2fpdf.sou (see [CREDITS](CREDITS.txt)), with a number of enhancements. mPDF was written by Ian Back and is released under the [GNU GPL v2 licence](LICENSE.txt). -[![Build Status](https://travis-ci.org/mpdf/mpdf.svg?branch=development)](https://travis-ci.org/mpdf/mpdf) +[![Latest Stable Version](https://poser.pugx.org/mpdf/mpdf/v/stable)](https://packagist.org/packages/mpdf/mpdf) +[![Total Downloads](https://poser.pugx.org/mpdf/mpdf/downloads)](https://packagist.org/packages/mpdf/mpdf) +[![License](https://poser.pugx.org/mpdf/mpdf/license)](https://packagist.org/packages/mpdf/mpdf) -> Note: If you are viewing this file on mPDF Github repository homepage or on Packagist, please note that + +> ⚠ If you are viewing this file on mPDF GitHub repository homepage or on Packagist, please note that > the default repository branch is `development` which can differ from the last stable release. Requirements ============ -**mPDF 7** requires PHP `^5.6 || ~7.0.0 || ~7.1.0 || ~7.2.0`. PHP `mbstring` and `gd` extensions have to be loaded. +PHP versions and extensions +--------------------------- + +- `mPDF >=7.0` is supported on `PHP ^5.6 || ~7.0.0 || ~7.1.0 || ~7.2.0` +- `PHP 7.3` is supported since `mPDF v7.1.7` +- `PHP 7.4` is supported since `mPDF v8.0.4` +- `PHP 8.0` is supported since `mPDF v8.0.10` +- `PHP 8.1` is supported as of `mPDF v8.0.13` + +PHP `mbstring` and `gd` extensions have to be loaded. Additional extensions may be required for some advanced features such as `zlib` for compression of output and embedded resources such as fonts, `bcmath` for generating barcodes or `xml` for character set conversion and SVG handling. +Known server caveats +-------------------- + mPDF has some problems with fetching external HTTP resources with single threaded servers such as `php -S`. A proper server such as nginx (php-fpm) or Apache is recommended. @@ -74,7 +89,7 @@ $mpdf = new \Mpdf\Mpdf(['tempDir' => __DIR__ . '/tmp']); ``` -By default, the temporary directory will be inside vendor directory and will have correct permissions from +By default, the temporary directory will be inside vendor directory and will have write permissions from `post_install` composer script. For more information about custom temporary directory see the note on @@ -84,17 +99,36 @@ in the section on Installation & Setup in the [manual][1]. If you have problems, please read the section on [troubleshooting](https://mpdf.github.io/troubleshooting/known-issues.html) in the manual. +About CSS support and development state +======================================= + +mPDF as a whole is a quite dated software. Nowadays, better alternatives are available, albeit not written in PHP. + +Use mPDF if you cannot use non-PHP approach to generate PDF files or if you want to leverage some of the benefits of mPDF +over browser approach – color handling, pre-print, barcodes support, headers and footers, page numbering, TOCs, etc. +But beware that a HTML/CSS template tailored for mPDF might be necessary. + +If you are looking for state of the art CSS support, mirroring existing HTML pages to PDF, use headless Chrome. + +mPDF will still be updated to enhance some internal capabilities and to support newer versions of PHP, +but better and/or newer CSS support will most likely not be implemented. + Online manual ============= Online manual is available at https://mpdf.github.io/. -For general questions or troubleshooting please use the [mpdf tag](https://stackoverflow.com/questions/tagged/mpdf) at Stack Overflow (and not the project's issue tracker). +General troubleshooting +============= + +For general questions or troubleshooting please use [Discussions](https://github.com/mpdf/mpdf/discussions). + +You can also use the [mpdf tag](https://stackoverflow.com/questions/tagged/mpdf) at Stack Overflow as the StackOverflow user base is more likely to answer you in a timely manner. Contributing ============ -Please read before submitting issues and pull requests the [CONTRIBUTING.md](https://github.com/mpdf/mpdf/blob/development/.github/CONTRIBUTING.md) file. +Before submitting issues and pull requests please read the [CONTRIBUTING.md](https://github.com/mpdf/mpdf/blob/development/.github/CONTRIBUTING.md) file. Unit Testing ============ @@ -104,7 +138,7 @@ Unit testing for mPDF is done using [PHPUnit](https://phpunit.de/). To get started, run `composer install` from the command line while in the mPDF root directory (you'll need [composer installed first](https://getcomposer.org/download/)). -To execute tests, run `vendor/bin/phpunit` from the command line while in the mPDF root directory. +To execute tests, run `composer test` from the command line while in the mPDF root directory. Any assistance writing unit tests for mPDF is greatly appreciated. If you'd like to help, please note that any PHP file located in the `/tests/` directory will be autoloaded when unit testing. diff --git a/pandora_console/vendor/mpdf/mpdf/composer.json b/pandora_console/vendor/mpdf/mpdf/composer.json index f286721159..c93e87d20a 100644 --- a/pandora_console/vendor/mpdf/mpdf/composer.json +++ b/pandora_console/vendor/mpdf/mpdf/composer.json @@ -1,15 +1,10 @@ { - "name": "mpdf/mpdf", "type": "library", - - "description": "A PHP class to generate PDF files from HTML with Unicode/UTF-8 and CJK support", - + "description": "PHP library generating PDF files from UTF-8 encoded HTML", "keywords": ["php", "pdf", "utf-8"], "homepage": "https://mpdf.github.io", - "license": ["GPL-2.0-only"], - "authors": [ { "name": "Matěj Humpál", @@ -20,76 +15,54 @@ "role": "Developer (retired)" } ], - "support": { - "issues": "https://github.com/mpdf/mpdf/issues", "source": "https://github.com/mpdf/mpdf", "docs": "http://mpdf.github.io" - }, - "require": { - - "php": "^5.6 || ~7.0.0 || ~7.1.0 || ~7.2.0", - + "php": "^5.6 || ^7.0 || ~8.0.0 || ~8.1.0", "ext-gd": "*", "ext-mbstring": "*", - - "psr/log": "^1.0", - "setasign/fpdi": "1.6.*", - "paragonie/random_compat": "^1.4|^2.0|9.99.99", - "myclabs/deep-copy": "^1.7" - + "myclabs/deep-copy": "^1.7", + "paragonie/random_compat": "^1.4|^2.0|^9.99.99", + "psr/log": "^1.0 || ^2.0", + "setasign/fpdi": "^2.1" }, - "require-dev": { - - "phpunit/phpunit": "^5.0", - "mockery/mockery": "^0.9.5", - "squizlabs/php_codesniffer": "^2.7.0", - "tracy/tracy": "^2.4" - + "mockery/mockery": "^1.3.0", + "mpdf/qrcode": "^1.1.0", + "squizlabs/php_codesniffer": "^3.5.0", + "tracy/tracy": "^2.4", + "yoast/phpunit-polyfills": "^1.0" }, - "suggest": { - "ext-bcmath": "Needed for generation of some types of barcodes", "ext-zlib": "Needed for compression of embedded resources, such as fonts", "ext-xml": "Needed mainly for SVG manipulation" - }, - "autoload": { - "psr-4": { "Mpdf\\": "src/" } - }, - "autoload-dev": { - "psr-4": { "Mpdf\\": "tests/Mpdf" }, - "files": [ "src/functions-dev.php" ] - }, - "scripts": { "post-install-cmd": [ "php -r \"chmod('./tmp', 0777);\"" - ] + ], + "cs": "@php vendor/bin/phpcs -v --report-width=160 --standard=ruleset.xml --severity=1 --warning-severity=0 --extensions=php src utils tests", + "test": "@php vendor/bin/phpunit", + "coverage": "@php vendor/bin/phpunit --coverage-text" }, - - "extra": { - "branch-alias": { - "dev-development": "7.0-dev" - } + "config": { + "sort-packages": true } - } diff --git a/pandora_console/vendor/mpdf/mpdf/data/mpdf.css b/pandora_console/vendor/mpdf/mpdf/data/mpdf.css index 07d8a5be41..596d70fba6 100644 --- a/pandora_console/vendor/mpdf/mpdf/data/mpdf.css +++ b/pandora_console/vendor/mpdf/mpdf/data/mpdf.css @@ -6,99 +6,89 @@ A default margin-top/bottom for lists is NOT set in config.php - (standard brows Need to add the following to do this, but also prevent margins in nested lists as per default HTML in most browsers: */ -ul, -ol { - margin-top: 0.83em; - margin-bottom: 0.83em; +ul, ol { + margin-top: 0.83em; + margin-bottom: 0.83em; } -ul ul, -ul ol, -ol ul, -ol ol { - margin-top: 0; - margin-bottom: 0; +ul ul, ul ol, ol ul, ol ol { + margin-top: 0; + margin-bottom: 0; } /* INDEXES */ div.mpdf_index_main { - line-height: normal; + font-family: sans-serif; + line-height: normal; } div.mpdf_index_entry { - line-height: normal; - text-indent: -1.5em; + line-height: normal; + text-indent: -1.5em; } div.mpdf_index_letter { - font-size: 1.8em; - font-weight: bold; - line-height: normal; - text-transform: uppercase; - page-break-after: avoid; - margin-top: 0.3em; - margin-collapse: collapse; + font-family: sans-serif; + font-size: 1.8em; + font-weight: bold; + line-height: normal; + text-transform: uppercase; + page-break-after: avoid; + margin-top: 0.3em; + margin-collapse: collapse; } a.mpdf_index_link { - color: #000000; - text-decoration: none; + color: #000000; + text-decoration: none; } /* TABLE OF CONTENTS */ div.mpdf_toc { - line-height: normal; + font-family: sans-serif; + line-height: normal; } a.mpdf_toc_a { - text-decoration: none; - color: black; + text-decoration: none; + color: black; } -div.mpdf_toc_level_0 { - /* Whole line level 0 */ - line-height: 1.5; - margin-left: 0; - padding-right: 0em; /* should match the outdent specified for ToC; 0 is default; suggested value 2em */ +div.mpdf_toc_level_0 { /* Whole line level 0 */ + line-height: 1.5; + margin-left: 0; + padding-right: 0em; /* should match the outdent specified for ToC; 0 is default; suggested value 2em */ } -span.mpdf_toc_t_level_0 { - /* Title level 0 - may be inside */ - font-weight: bold; +span.mpdf_toc_t_level_0 { /* Title level 0 - may be inside */ + font-weight: bold; } -span.mpdf_toc_p_level_0 { - /* Page no. level 0 - may be inside */ +span.mpdf_toc_p_level_0 { /* Page no. level 0 - may be inside */ } -div.mpdf_toc_level_1 { - /* Whole line level 1 */ - margin-left: 2em; - text-indent: -2em; - padding-right: 0em; /* should match the outdent specified for ToC; 0 is default; suggested value 2em */ +div.mpdf_toc_level_1 { /* Whole line level 1 */ + margin-left: 2em; + text-indent: -2em; + padding-right: 0em; /* should match the outdent specified for ToC; 0 is default; suggested value 2em */ } -span.mpdf_toc_t_level_1 { - /* Title level 1 */ - font-style: italic; - font-weight: bold; +span.mpdf_toc_t_level_1 { /* Title level 1 */ + font-style: italic; + font-weight: bold; } -span.mpdf_toc_p_level_1 { - /* Page no. level 1 - may be inside */ +span.mpdf_toc_p_level_1 { /* Page no. level 1 - may be inside */ } -div.mpdf_toc_level_2 { - /* Whole line level 2 */ - margin-left: 4em; - text-indent: -2em; - padding-right: 0em; /* should match the outdent specified for ToC; 0 is default; suggested value 2em */ +div.mpdf_toc_level_2 { /* Whole line level 2 */ + margin-left: 4em; + text-indent: -2em; + padding-right: 0em; /* should match the outdent specified for ToC; 0 is default; suggested value 2em */ } -span.mpdf_toc_t_level_2 { - /* Title level 2 */ +span.mpdf_toc_t_level_2 { /* Title level 2 */ } -span.mpdf_toc_p_level_2 { - /* Page no. level 2 - may be inside */ +span.mpdf_toc_p_level_2 { /* Page no. level 2 - may be inside */ } diff --git a/pandora_console/vendor/mpdf/mpdf/phpunit.xml b/pandora_console/vendor/mpdf/mpdf/phpunit.xml index 0fab293f7a..aada1d76da 100644 --- a/pandora_console/vendor/mpdf/mpdf/phpunit.xml +++ b/pandora_console/vendor/mpdf/mpdf/phpunit.xml @@ -1,22 +1,23 @@ + backupGlobals="false" + beStrictAboutTestsThatDoNotTestAnything="false"> - + ./tests - - + + src - - - - - - + + + + + + diff --git a/pandora_console/vendor/mpdf/mpdf/ruleset.xml b/pandora_console/vendor/mpdf/mpdf/ruleset.xml index 49129712d4..e70f872e75 100644 --- a/pandora_console/vendor/mpdf/mpdf/ruleset.xml +++ b/pandora_console/vendor/mpdf/mpdf/ruleset.xml @@ -1,37 +1,43 @@ PSR2 with tabs instead of spaces. - + - - - - + + + + + - + + - + + + + + + - - + + + + - - - - - - + + - - + - + + + - - + + diff --git a/pandora_console/vendor/mpdf/mpdf/src/Barcode.php b/pandora_console/vendor/mpdf/mpdf/src/Barcode.php index 50b3b34b71..1af897b610 100644 --- a/pandora_console/vendor/mpdf/mpdf/src/Barcode.php +++ b/pandora_console/vendor/mpdf/mpdf/src/Barcode.php @@ -5,9 +5,9 @@ namespace Mpdf; class Barcode { - public function getBarcodeArray($code, $type, $pr = '') + public function getBarcodeArray($code, $type, $pr = '', $quiet_zone_left = null, $quiet_zone_right = null) { - $barcode = $this->getBarcode($code, $type, $pr); + $barcode = $this->getBarcode($code, $type, $pr, $quiet_zone_left, $quiet_zone_right); return $barcode ? $barcode->getData() : false; } @@ -24,153 +24,122 @@ class Barcode * * @return \Mpdf\Barcode\BarcodeInterface */ - public function getBarcode($code, $type, $pr = 0.0) + public function getBarcode($code, $type, $pr = 0.0, $quiet_zone_left = null, $quiet_zone_right = null) { - $barcode = false; - switch (strtoupper($type)) { case 'ISBN': case 'ISSN': case 'EAN13': // EAN 13 - $barcode = new Barcode\EanUpc($code, 13, 11, 7, 0.33, 25.93); - break; + return new Barcode\EanUpc($code, 13, 11, 7, 0.33, 25.93); case 'UPCA': // UPC-A - $barcode = new Barcode\EanUpc($code, 12, 9, 9, 0.33, 25.91); - break; + return new Barcode\EanUpc($code, 12, 9, 9, 0.33, 25.91); case 'UPCE': // UPC-E - $barcode = new Barcode\EanUpc($code, 6, 9, 7, 0.33, 25.93); - break; + return new Barcode\EanUpc($code, 6, 9, 7, 0.33, 25.93); case 'EAN8': // EAN 8 - $barcode = new Barcode\EanUpc($code, 8, 7, 7, 0.33, 21.64); - break; + return new Barcode\EanUpc($code, 8, 7, 7, 0.33, 21.64); case 'EAN2': // 2-Digits UPC-Based Extention - $barcode = new Barcode\EanExt($code, 2, 7, 7, 0.33, 20, 9); - break; + return new Barcode\EanExt($code, 2, 7, 7, 0.33, 20, 9); case 'EAN5': // 5-Digits UPC-Based Extention - $barcode = new Barcode\EanExt($code, 5, 7, 7, 0.33, 20, 9); - break; + return new Barcode\EanExt($code, 5, 7, 7, 0.33, 20, 9); case 'IMB': // IMB - Intelligent Mail Barcode - Onecode - USPS-B-3200 $xdim = 0.508; // Nominal value for X-dim (bar width) in mm (spec.) $bpi = 22; // Bars per inch - $barcode = new Barcode\Imb($code, $xdim, ((25.4 / $bpi) - $xdim) / $xdim, ['D' => 2, 'A' => 2, 'F' => 3, 'T' => 1]); - break; + return new Barcode\Imb($code, $xdim, ((25.4 / $bpi) - $xdim) / $xdim, ['D' => 2, 'A' => 2, 'F' => 3, 'T' => 1]); case 'RM4SCC': // RM4SCC (Royal Mail 4-state Customer Code) - CBC (Customer Bar Code) $xdim = 0.508; // Nominal value for X-dim (bar width) in mm (spec.) $bpi = 22; // Bars per inch - $barcode = new Barcode\Rm4Scc($code, $xdim, ((25.4 / $bpi) - $xdim) / $xdim, ['D' => 5, 'A' => 5, 'F' => 8, 'T' => 2]); - break; + return new Barcode\Rm4Scc($code, $xdim, ((25.4 / $bpi) - $xdim) / $xdim, ['D' => 5, 'A' => 5, 'F' => 8, 'T' => 2]); case 'KIX': // KIX (Klant index - Customer index) $xdim = 0.508; // Nominal value for X-dim (bar width) in mm (spec.) $bpi = 22; // Bars per inch - $barcode = new Barcode\Rm4Scc($code, $xdim, ((25.4 / $bpi) - $xdim) / $xdim, ['D' => 5, 'A' => 5, 'F' => 8, 'T' => 2], true); - break; + return new Barcode\Rm4Scc($code, $xdim, ((25.4 / $bpi) - $xdim) / $xdim, ['D' => 5, 'A' => 5, 'F' => 8, 'T' => 2], true); case 'POSTNET': // POSTNET $xdim = 0.508; // Nominal value for X-dim (bar width) in mm (spec.) $bpi = 22; // Bars per inch - $barcode = new Barcode\Postnet($code, $xdim, ((25.4 / $bpi) - $xdim) / $xdim, false); - break; + return new Barcode\Postnet($code, $xdim, ((25.4 / $bpi) - $xdim) / $xdim, false); case 'PLANET': // PLANET $xdim = 0.508; // Nominal value for X-dim (bar width) in mm (spec.) $bpi = 22; // Bars per inch - $barcode = new Barcode\Postnet($code, $xdim, ((25.4 / $bpi) - $xdim) / $xdim, true); - break; + return new Barcode\Postnet($code, $xdim, ((25.4 / $bpi) - $xdim) / $xdim, true); case 'C93': // CODE 93 - USS-93 - $barcode = new Barcode\Code93($code); - break; + return new Barcode\Code93($code, $quiet_zone_left, $quiet_zone_right); case 'CODE11': // CODE 11 - $barcode = new Barcode\Code11($code, ($pr > 0) ? $pr : 3); - break; + return new Barcode\Code11($code, ($pr > 0) ? $pr : 3, $quiet_zone_left, $quiet_zone_right); case 'MSI': // MSI (Variation of Plessey code) - $barcode = new Barcode\Msi($code, false); - break; + return new Barcode\Msi($code, false, $quiet_zone_left, $quiet_zone_right); case 'MSI+': // MSI + CHECKSUM (modulo 11) - $barcode = new Barcode\Msi($code, true); - break; + return new Barcode\Msi($code, true, $quiet_zone_left, $quiet_zone_right); case 'CODABAR': // CODABAR - $barcode = new Barcode\Codabar($code, ($pr > 0) ? $pr : 2.5); - break; + return new Barcode\Codabar($code, ($pr > 0) ? $pr : 2.5, $quiet_zone_left, $quiet_zone_right); case 'C128A': // CODE 128 A - $barcode = new Barcode\Code128($code, 'A'); - break; + return new Barcode\Code128($code, 'A', false, $quiet_zone_left, $quiet_zone_right); case 'C128B': // CODE 128 B - $barcode = new Barcode\Code128($code, 'B'); - break; + return new Barcode\Code128($code, 'B', false, $quiet_zone_left, $quiet_zone_right); case 'C128C': // CODE 128 C - $barcode = new Barcode\Code128($code, 'C'); - break; + return new Barcode\Code128($code, 'C', false, $quiet_zone_left, $quiet_zone_right); + + case 'C128RAW': // CODE 128 RAW -- code is a space separated list of codes with startcode but without checkdigit,stop,end ex: "105 12 34" + return new Barcode\Code128($code, 'RAW', false, $quiet_zone_left, $quiet_zone_right); case 'EAN128A': // EAN 128 A - $barcode = new Barcode\Code128($code, 'A', true); - break; + return new Barcode\Code128($code, 'A', true, $quiet_zone_left, $quiet_zone_right); case 'EAN128B': // EAN 128 B - $barcode = new Barcode\Code128($code, 'B', true); - break; + return new Barcode\Code128($code, 'B', true, $quiet_zone_left, $quiet_zone_right); case 'EAN128C': // EAN 128 C - $barcode = new Barcode\Code128($code, 'C', true); - break; + return new Barcode\Code128($code, 'C', true, $quiet_zone_left, $quiet_zone_right); case 'C39': // CODE 39 - ANSI MH10.8M-1983 - USD-3 - 3 of 9. - $barcode = new Barcode\Code39($this->sanitizeCode($code), ($pr > 0) ? $pr : 2.5, false, false); - break; + return new Barcode\Code39($this->sanitizeCode($code), ($pr > 0) ? $pr : 2.5, false, false, $quiet_zone_left, $quiet_zone_right); case 'C39+': // CODE 39 with checksum - $barcode = new Barcode\Code39($this->sanitizeCode($code), ($pr > 0) ? $pr : 2.5, false, true); - break; + return new Barcode\Code39($this->sanitizeCode($code), ($pr > 0) ? $pr : 2.5, false, true, $quiet_zone_left, $quiet_zone_right); case 'C39E': // CODE 39 EXTENDED - $barcode = new Barcode\Code39($this->sanitizeCode($code), ($pr > 0) ? $pr : 2.5, true, false); - break; + return new Barcode\Code39($this->sanitizeCode($code), ($pr > 0) ? $pr : 2.5, true, false, $quiet_zone_left, $quiet_zone_right); case 'C39E+': // CODE 39 EXTENDED + CHECKSUM - $barcode = new Barcode\Code39($this->sanitizeCode($code), ($pr > 0) ? $pr : 2.5, true, true); - break; + return new Barcode\Code39($this->sanitizeCode($code), ($pr > 0) ? $pr : 2.5, true, true, $quiet_zone_left, $quiet_zone_right); case 'S25': // Standard 2 of 5 - $barcode = new Barcode\S25($code, false); - break; + return new Barcode\S25($code, false, $quiet_zone_left, $quiet_zone_right); case 'S25+': // Standard 2 of 5 + CHECKSUM - $barcode = new Barcode\S25($code, true); - break; + return new Barcode\S25($code, true, $quiet_zone_left, $quiet_zone_right); case 'I25': // Interleaved 2 of 5 - $barcode = new Barcode\I25($code, 0, ($pr > 0) ? $pr : 2.5, false); - break; + return new Barcode\I25($code, 0, ($pr > 0) ? $pr : 2.5, false, $quiet_zone_left, $quiet_zone_right); case 'I25+': // Interleaved 2 of 5 + CHECKSUM - $barcode = new Barcode\I25($code, 0, ($pr > 0) ? $pr : 2.5, true); - break; + return new Barcode\I25($code, 0, ($pr > 0) ? $pr : 2.5, true, $quiet_zone_left, $quiet_zone_right); case 'I25B': // Interleaved 2 of 5 + Bearer bars - $barcode = new Barcode\I25($code, 2, ($pr > 0) ? $pr : 2.5, false); - break; + return new Barcode\I25($code, 2, ($pr > 0) ? $pr : 2.5, false, $quiet_zone_left, $quiet_zone_right); case 'I25B+': // Interleaved 2 of 5 + CHECKSUM + Bearer bars - $barcode = new Barcode\I25($code, 2, ($pr > 0) ? $pr : 2.5, true); - break; + return new Barcode\I25($code, 2, ($pr > 0) ? $pr : 2.5, true, $quiet_zone_left, $quiet_zone_right); } - return $barcode; + return false; } private function sanitizeCode($code) diff --git a/pandora_console/vendor/mpdf/mpdf/src/Barcode/Codabar.php b/pandora_console/vendor/mpdf/mpdf/src/Barcode/Codabar.php index e05e370d12..6fae06b0a5 100644 --- a/pandora_console/vendor/mpdf/mpdf/src/Barcode/Codabar.php +++ b/pandora_console/vendor/mpdf/mpdf/src/Barcode/Codabar.php @@ -13,14 +13,14 @@ class Codabar extends \Mpdf\Barcode\AbstractBarcode implements \Mpdf\Barcode\Bar * @param string $code * @param float $printRatio */ - public function __construct($code, $printRatio) + public function __construct($code, $printRatio, $quiet_zone_left = null, $quiet_zone_right = null) { $this->init($code, $printRatio); $this->data['nom-X'] = 0.381; // Nominal value for X-dim (bar width) in mm (2 X min. spec.) $this->data['nom-H'] = 10; // Nominal value for Height of Full bar in mm (non-spec.) - $this->data['lightmL'] = 10; // LEFT light margin = x X-dim (spec.) - $this->data['lightmR'] = 10; // RIGHT light margin = x X-dim (spec.) + $this->data['lightmL'] = ($quiet_zone_left !== null ? $quiet_zone_left : 10); // LEFT light margin = x X-dim (spec.) + $this->data['lightmR'] = ($quiet_zone_right !== null ? $quiet_zone_right : 10); // RIGHT light margin = x X-dim (spec.) $this->data['lightTB'] = 0; // TOP/BOTTOM light margin = x X-dim (non-spec.) } @@ -60,10 +60,13 @@ class Codabar extends \Mpdf\Barcode\AbstractBarcode implements \Mpdf\Barcode\Bar $len = strlen($code); for ($i = 0; $i < $len; ++$i) { + if (!isset($chr[$code[$i]])) { - throw new \Mpdf\Barcode\BarcodeException(sprintf('Invalid character "%s" CODABAR barcode value', $code[$i])); + throw new \Mpdf\Barcode\BarcodeException(sprintf('Invalid character "%s" in CODABAR barcode value "%s"', $code[$i], $code)); } + $seq = $chr[$code[$i]]; + for ($j = 0; $j < 8; ++$j) { if (($j % 2) == 0) { $t = true; // bar diff --git a/pandora_console/vendor/mpdf/mpdf/src/Barcode/Code11.php b/pandora_console/vendor/mpdf/mpdf/src/Barcode/Code11.php index f95245f64e..21de7ff9d4 100644 --- a/pandora_console/vendor/mpdf/mpdf/src/Barcode/Code11.php +++ b/pandora_console/vendor/mpdf/mpdf/src/Barcode/Code11.php @@ -13,14 +13,14 @@ class Code11 extends \Mpdf\Barcode\AbstractBarcode implements \Mpdf\Barcode\Barc * @param string $code * @param float $printRatio */ - public function __construct($code, $printRatio) + public function __construct($code, $printRatio, $quiet_zone_left = null, $quiet_zone_right = null) { $this->init($code, $printRatio); $this->data['nom-X'] = 0.381; // Nominal value for X-dim (bar width) in mm (2 X min. spec.) $this->data['nom-H'] = 10; // Nominal value for Height of Full bar in mm (non-spec.) - $this->data['lightmL'] = 10; // LEFT light margin = x X-dim (spec.) - $this->data['lightmR'] = 10; // RIGHT light margin = x X-dim (spec.) + $this->data['lightmL'] = ($quiet_zone_left !== null ? $quiet_zone_left : 10); // LEFT light margin = x X-dim (spec.) + $this->data['lightmR'] = ($quiet_zone_right !== null ? $quiet_zone_right : 10); // RIGHT light margin = x X-dim (spec.) $this->data['lightTB'] = 0; // TOP/BOTTOM light margin = x X-dim (non-spec.) } @@ -105,24 +105,22 @@ class Code11 extends \Mpdf\Barcode\AbstractBarcode implements \Mpdf\Barcode\Barc $len += 3; for ($i = 0; $i < $len; ++$i) { + if (!isset($chr[$code[$i]])) { - throw new \Mpdf\Barcode\BarcodeException(sprintf('Invalid character "%s" in CODE11 barcode value', $code[$i])); + throw new \Mpdf\Barcode\BarcodeException(sprintf('Invalid character "%s" in CODE11 barcode value "%s"', $code[$i], $code)); } + $seq = $chr[$code[$i]]; + for ($j = 0; $j < 6; ++$j) { - if (($j % 2) == 0) { - $t = true; // bar - } else { - $t = false; // space - } + + $t = $j % 2 === 0; $x = $seq[$j]; - if ($x == 2) { - $w = $printRatio; - } else { - $w = 1; - } + $w = ($x == 2) ? $printRatio : 1; + $bararray['bcode'][$k] = ['t' => $t, 'w' => $w, 'h' => 1, 'p' => 0]; $bararray['maxw'] += $w; + ++$k; } } diff --git a/pandora_console/vendor/mpdf/mpdf/src/Barcode/Code128.php b/pandora_console/vendor/mpdf/mpdf/src/Barcode/Code128.php index 4e1e2122cd..f73bf310e2 100644 --- a/pandora_console/vendor/mpdf/mpdf/src/Barcode/Code128.php +++ b/pandora_console/vendor/mpdf/mpdf/src/Barcode/Code128.php @@ -16,14 +16,14 @@ class Code128 extends \Mpdf\Barcode\AbstractBarcode implements \Mpdf\Barcode\Bar * @param string $type * @param bool $ean */ - public function __construct($code, $type = 'B', $ean = false) + public function __construct($code, $type = 'B', $ean = false, $quiet_zone_left = null, $quiet_zone_right = null) { $this->init($code, $type, $ean); $this->data['nom-X'] = 0.381; // Nominal value for X-dim (bar width) in mm (2 X min. spec.) $this->data['nom-H'] = 10; // Nominal value for Height of Full bar in mm (non-spec.) - $this->data['lightmL'] = 10; // LEFT light margin = x X-dim (spec.) - $this->data['lightmR'] = 10; // RIGHT light margin = x X-dim (spec.) + $this->data['lightmL'] = ($quiet_zone_left !== null ? $quiet_zone_left : 10); // LEFT light margin = x X-dim (spec.) + $this->data['lightmR'] = ($quiet_zone_right !== null ? $quiet_zone_right : 10); // RIGHT light margin = x X-dim (spec.) $this->data['lightTB'] = 0; // TOP/BOTTOM light margin = x X-dim (non-spec.) } @@ -148,36 +148,97 @@ class Code128 extends \Mpdf\Barcode\AbstractBarcode implements \Mpdf\Barcode\Bar ]; switch (strtoupper($type)) { + + case 'RAW': + + $newCode=''; + $startid = false; + + foreach (explode(" ", $code) as $v) { + + if (is_numeric($v) && round($v, 0) == $v) { + + if ($v>=0 && $v<=105) { + if ($startid===false) { + $startid=$v; + } else { + $newCode.=chr($v); + } + } else { + throw new \Mpdf\Barcode\BarcodeException(sprintf('Invalid CODE128RAW barcode value "%s". 0-105 needed', $code)); + } + + } else { + //double spaces generates empty $v any other is not allowed + if ($v!='') { + throw new \Mpdf\Barcode\BarcodeException(sprintf('Invalid CODE128RAW barcode value "%s". 0-105 needed', $code)); + } + } + } + + if ($startid < 103 || $startid > 105) { + throw new \Mpdf\Barcode\BarcodeException(sprintf('Invalid CODE128RAW startid value "%s". Must be 103, 104 or 105 (for A, B or C)', $startid)); + } + + $keys=''; + + for ($i = 0; $i <= 105; ++$i) { + $keys .= chr($i); + } + + $code=$newCode; + + break; + case 'A': + $startid = 103; $keys = ' !"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_'; + for ($i = 0; $i < 32; ++$i) { $keys .= chr($i); } + break; + case 'B': + $startid = 104; + $keys = ' !"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~' . chr(127); + break; + case 'C': + $startid = 105; $keys = ''; + if ((strlen($code) % 2) != 0) { // The length of barcode value must be even ($code). You must pad the number with zeros throw new \Mpdf\Barcode\BarcodeException('Invalid CODE128C barcode value'); } + for ($i = 0; $i <= 99; ++$i) { $keys .= chr($i); } + $newCode = ''; $hclen = (strlen($code) / 2); + for ($i = 0; $i < $hclen; ++$i) { - $newCode .= chr((int) ($code{(2 * $i)} . $code{(2 * $i + 1)})); + if ($code[2 * $i]<"0" || $code[2 * $i]>"9" || $code[2 * $i + 1]<"0" || $code[2 * $i + 1]>"9") { + throw new \Mpdf\Barcode\BarcodeException(sprintf('Invalid character "%s" in CODE128C barcode value "%s"', $code[$i], $code)); + } + $newCode .= chr((int) ($code[2 * $i] . $code[2 * $i + 1])); } + $code = $newCode; + break; + default: - throw new \Mpdf\Barcode\BarcodeException('Invalid CODE128 barcode type'); + throw new \Mpdf\Barcode\BarcodeException(sprintf('Invalid CODE128 barcode type "%s"', $type)); } // calculate check character @@ -187,14 +248,19 @@ class Code128 extends \Mpdf\Barcode\AbstractBarcode implements \Mpdf\Barcode\Bar if ($ean) { $code = chr(102) . $code; } + $clen = strlen($code); for ($i = 0; $i < $clen; ++$i) { if ($ean && $i == 0) { $sum += 102; } else { + if (strpos($keys, $code[$i]) === false) { + throw new \Mpdf\Barcode\BarcodeException(sprintf('Invalid character "%s" in CODE128%s barcode value "%s"', $code[$i], $type, $code)); + } $sum += (strpos($keys, $code[$i]) * ($i + 1)); } } + $check = ($sum % 103); $checkdigit = $check; @@ -214,8 +280,9 @@ class Code128 extends \Mpdf\Barcode\AbstractBarcode implements \Mpdf\Barcode\Bar $seq = $chr[$ck]; } else { // invalid character - throw new \Mpdf\Barcode\BarcodeException(sprintf('Invalid character "%s" in CODE128C barcode value', $code[$i])); + throw new \Mpdf\Barcode\BarcodeException(sprintf('Invalid character "%s" in CODE128C barcode value "%s"', $code[$i], $code)); } + for ($j = 0; $j < 6; ++$j) { if (($j % 2) == 0) { $t = true; // bar diff --git a/pandora_console/vendor/mpdf/mpdf/src/Barcode/Code39.php b/pandora_console/vendor/mpdf/mpdf/src/Barcode/Code39.php index 6d13082581..a8e3977573 100644 --- a/pandora_console/vendor/mpdf/mpdf/src/Barcode/Code39.php +++ b/pandora_console/vendor/mpdf/mpdf/src/Barcode/Code39.php @@ -14,14 +14,14 @@ class Code39 extends \Mpdf\Barcode\AbstractBarcode implements \Mpdf\Barcode\Barc * @param bool $extended * @param bool $checksum */ - public function __construct($code, $printRatio, $extended = false, $checksum = false) + public function __construct($code, $printRatio, $extended = false, $checksum = false, $quiet_zone_left = null, $quiet_zone_right = null) { $this->init($code, $printRatio, $extended, $checksum); $this->data['nom-X'] = 0.381; // Nominal value for X-dim (bar width) in mm (2 X min. spec.) $this->data['nom-H'] = 10; // Nominal value for Height of Full bar in mm (non-spec.) - $this->data['lightmL'] = 10; // LEFT light margin = x X-dim (spec.) - $this->data['lightmR'] = 10; // RIGHT light margin = x X-dim (spec.) + $this->data['lightmL'] = ($quiet_zone_left !== null ? $quiet_zone_left : 10); // LEFT light margin = x X-dim (spec.) + $this->data['lightmR'] = ($quiet_zone_right !== null ? $quiet_zone_right : 10); // RIGHT light margin = x X-dim (spec.) $this->data['lightTB'] = 0; // TOP/BOTTOM light margin = x X-dim (non-spec.) } @@ -91,7 +91,7 @@ class Code39 extends \Mpdf\Barcode\AbstractBarcode implements \Mpdf\Barcode\Barc } if ($code === false) { - throw new \Mpdf\Barcode\BarcodeException('Invalid CODE39 barcode value'); + throw new \Mpdf\Barcode\BarcodeException(sprintf('Invalid CODE39 barcode value "%s"', $code)); } if ($checksum) { @@ -109,7 +109,7 @@ class Code39 extends \Mpdf\Barcode\AbstractBarcode implements \Mpdf\Barcode\Barc $char = $code[$i]; if (!isset($chr[$char])) { // invalid character - throw new \Mpdf\Barcode\BarcodeException('Invalid CODE39 barcode value'); + throw new \Mpdf\Barcode\BarcodeException(sprintf('Invalid CODE39 barcode value "%s"', $code)); } for ($j = 0; $j < 9; ++$j) { if (($j % 2) == 0) { @@ -187,7 +187,7 @@ class Code39 extends \Mpdf\Barcode\AbstractBarcode implements \Mpdf\Barcode\Barc for ($i = 0; $i < $clen; ++$i) { if (ord($code[$i]) > 127) { - throw new \Mpdf\Barcode\BarcodeException('Invalid CODE39 barcode value'); + throw new \Mpdf\Barcode\BarcodeException(sprintf('Invalid CODE39 barcode value "%s"', $code)); } $code_ext .= $encode[$code[$i]]; diff --git a/pandora_console/vendor/mpdf/mpdf/src/Barcode/Code93.php b/pandora_console/vendor/mpdf/mpdf/src/Barcode/Code93.php index 4be240f04c..1a08d8c83c 100644 --- a/pandora_console/vendor/mpdf/mpdf/src/Barcode/Code93.php +++ b/pandora_console/vendor/mpdf/mpdf/src/Barcode/Code93.php @@ -12,14 +12,14 @@ class Code93 extends \Mpdf\Barcode\AbstractBarcode implements \Mpdf\Barcode\Barc /** * @param string $code */ - public function __construct($code) + public function __construct($code, $quiet_zone_left = null, $quiet_zone_right = null) { $this->init($code); $this->data['nom-X'] = 0.381; // Nominal value for X-dim (bar width) in mm (2 X min. spec.) $this->data['nom-H'] = 10; // Nominal value for Height of Full bar in mm (non-spec.) - $this->data['lightmL'] = 10; // LEFT light margin = x X-dim (spec.) - $this->data['lightmR'] = 10; // RIGHT light margin = x X-dim (spec.) + $this->data['lightmL'] = ($quiet_zone_left !== null ? $quiet_zone_left : 10); // LEFT light margin = x X-dim (spec.) + $this->data['lightmR'] = ($quiet_zone_right !== null ? $quiet_zone_right : 10); // RIGHT light margin = x X-dim (spec.) $this->data['lightTB'] = 0; // TOP/BOTTOM light margin = x X-dim (non-spec.) } @@ -119,10 +119,10 @@ class Code93 extends \Mpdf\Barcode\AbstractBarcode implements \Mpdf\Barcode\Barc $clen = strlen($code); for ($i = 0; $i < $clen; ++$i) { - if (ord($code{$i}) > 127) { - throw new \Mpdf\Barcode\BarcodeException(sprintf('Invalid character "%s" in Code93 barcode value', $code{$i})); + if (ord($code[$i]) > 127) { + throw new \Mpdf\Barcode\BarcodeException(sprintf('Invalid character "%s" in CODE93 barcode value "%s"', $code[$i], $code)); } - $code_ext .= $encode[$code{$i}]; + $code_ext .= $encode[$code[$i]]; } // checksum @@ -135,10 +135,10 @@ class Code93 extends \Mpdf\Barcode\AbstractBarcode implements \Mpdf\Barcode\Barc $clen = strlen($code); for ($i = 0; $i < $clen; ++$i) { - $char = ord($code{$i}); + $char = ord($code[$i]); if (!isset($chr[$char])) { // invalid character - throw new \Mpdf\Barcode\BarcodeException('Invalid CODE93 barcode value'); + throw new \Mpdf\Barcode\BarcodeException(sprintf('Invalid CODE93 barcode value "%s"', $code)); } for ($j = 0; $j < 6; ++$j) { if (($j % 2) == 0) { @@ -146,7 +146,7 @@ class Code93 extends \Mpdf\Barcode\AbstractBarcode implements \Mpdf\Barcode\Barc } else { $t = false; // space } - $w = $chr[$char]{$j}; + $w = $chr[$char][$j]; $bararray['bcode'][$k] = ['t' => $t, 'w' => $w, 'h' => 1, 'p' => 0]; $bararray['maxw'] += $w; ++$k; @@ -183,7 +183,7 @@ class Code93 extends \Mpdf\Barcode\AbstractBarcode implements \Mpdf\Barcode\Barc $p = 1; $check = 0; for ($i = ($len - 1); $i >= 0; --$i) { - $k = array_keys($chars, $code{$i}); + $k = array_keys($chars, $code[$i]); $check += ($k[0] * $p); ++$p; if ($p > 20) { @@ -198,7 +198,7 @@ class Code93 extends \Mpdf\Barcode\AbstractBarcode implements \Mpdf\Barcode\Barc $p = 1; $check = 0; for ($i = $len; $i >= 0; --$i) { - $k = array_keys($chars, $code{$i}); + $k = array_keys($chars, $code[$i]); $check += ($k[0] * $p); ++$p; if ($p > 15) { diff --git a/pandora_console/vendor/mpdf/mpdf/src/Barcode/EanExt.php b/pandora_console/vendor/mpdf/mpdf/src/Barcode/EanExt.php index 65afb7183d..b336b1c2e4 100644 --- a/pandora_console/vendor/mpdf/mpdf/src/Barcode/EanExt.php +++ b/pandora_console/vendor/mpdf/mpdf/src/Barcode/EanExt.php @@ -43,10 +43,10 @@ class EanExt extends \Mpdf\Barcode\AbstractBarcode implements \Mpdf\Barcode\Barc if ($length == 2) { $r = $code % 4; } elseif ($length == 5) { - $r = (3 * ($code{0} + $code{2} + $code{4})) + (9 * ($code{1} + $code{3})); + $r = (3 * ($code[0] + $code[2] + $code[4])) + (9 * ($code[1] + $code[3])); $r %= 10; } else { - throw new \Mpdf\Barcode\BarcodeException('Invalid EAN barcode value'); + throw new \Mpdf\Barcode\BarcodeException(sprintf('Invalid EAN barcode value "%s"', $code)); } // Convert digits to bars @@ -95,7 +95,7 @@ class EanExt extends \Mpdf\Barcode\AbstractBarcode implements \Mpdf\Barcode\Barc ]; $p = $parities[$length][$r]; $seq = '1011'; // left guard bar - $seq .= $codes[$p[0]][$code{0}]; + $seq .= $codes[$p[0]][$code[0]]; for ($i = 1; $i < $length; ++$i) { $seq .= '01'; // separator $seq .= $codes[$p[$i]][$code[$i]]; diff --git a/pandora_console/vendor/mpdf/mpdf/src/Barcode/EanUpc.php b/pandora_console/vendor/mpdf/mpdf/src/Barcode/EanUpc.php index aabf8e959a..e122422d5a 100644 --- a/pandora_console/vendor/mpdf/mpdf/src/Barcode/EanUpc.php +++ b/pandora_console/vendor/mpdf/mpdf/src/Barcode/EanUpc.php @@ -35,6 +35,10 @@ class EanUpc extends \Mpdf\Barcode\AbstractBarcode implements \Mpdf\Barcode\Barc */ private function init($code, $length) { + if (preg_match('/[\D]+/', $code)) { + throw new \Mpdf\Barcode\BarcodeException(sprintf('Invalid EAN UPC barcode value "%s"', $code)); + } + $upce = false; $checkdigit = false; @@ -77,7 +81,7 @@ class EanUpc extends \Mpdf\Barcode\AbstractBarcode implements \Mpdf\Barcode\Barc $checkdigit = $r; } elseif ($r !== (int) $code[$dataLength]) { // Wrong checkdigit - throw new \Mpdf\Barcode\BarcodeException('Invalid EAN UPC barcode value'); + throw new \Mpdf\Barcode\BarcodeException(sprintf('Invalid EAN UPC barcode value "%s"', $code)); } if ($length == 12) { @@ -122,6 +126,7 @@ class EanUpc extends \Mpdf\Barcode\AbstractBarcode implements \Mpdf\Barcode\Barc } } } + if ($invalidUpce) { throw new \Mpdf\Barcode\BarcodeException('UPC-A cannot produce a valid UPC-E barcode'); } @@ -209,7 +214,7 @@ class EanUpc extends \Mpdf\Barcode\AbstractBarcode implements \Mpdf\Barcode\Barc if ($upce && isset($upceCode)) { $bararray = ['code' => $upceCode, 'maxw' => 0, 'maxh' => 1, 'bcode' => []]; - $p = $upceParities[$code{1}][$r]; + $p = $upceParities[$code[1]][$r]; for ($i = 0; $i < 6; ++$i) { $seq .= $codes[$p[$i]][$upceCode[$i]]; } @@ -222,7 +227,7 @@ class EanUpc extends \Mpdf\Barcode\AbstractBarcode implements \Mpdf\Barcode\Barc $seq .= $codes['A'][$code[$i]]; } } else { - $p = $parities[$code{0}]; + $p = $parities[$code[0]]; for ($i = 1; $i < $halfLen; ++$i) { $seq .= $codes[$p[$i - 1]][$code[$i]]; } diff --git a/pandora_console/vendor/mpdf/mpdf/src/Barcode/I25.php b/pandora_console/vendor/mpdf/mpdf/src/Barcode/I25.php index d18db74a00..28465569ec 100644 --- a/pandora_console/vendor/mpdf/mpdf/src/Barcode/I25.php +++ b/pandora_console/vendor/mpdf/mpdf/src/Barcode/I25.php @@ -16,14 +16,14 @@ class I25 extends \Mpdf\Barcode\AbstractBarcode implements \Mpdf\Barcode\Barcode * @param float $printRatio * @param bool $checksum */ - public function __construct($code, $topBottomMargin, $printRatio, $checksum = false) + public function __construct($code, $topBottomMargin, $printRatio, $checksum = false, $quiet_zone_left = null, $quiet_zone_right = null) { $this->init($code, $printRatio, $checksum); $this->data['nom-X'] = 0.381; // Nominal value for X-dim (bar width) in mm (2 X min. spec.) $this->data['nom-H'] = 10; // Nominal value for Height of Full bar in mm (non-spec.) - $this->data['lightmL'] = 10; // LEFT light margin = x X-dim (spec.) - $this->data['lightmR'] = 10; // RIGHT light margin = x X-dim (spec.) + $this->data['lightmL'] = ($quiet_zone_left !== null ? $quiet_zone_left : 10); // LEFT light margin = x X-dim (spec.) + $this->data['lightmR'] = ($quiet_zone_right !== null ? $quiet_zone_right : 10); // RIGHT light margin = x X-dim (spec.) $this->data['lightTB'] = $topBottomMargin; // TOP/BOTTOM light margin = x X-dim (non-spec.) } @@ -70,7 +70,7 @@ class I25 extends \Mpdf\Barcode\AbstractBarcode implements \Mpdf\Barcode\Barcode $charSpace = $code[$i + 1]; if ((!isset($chr[$charBar])) or (!isset($chr[$charSpace]))) { // invalid character - throw new \Mpdf\Barcode\BarcodeException('Invalid I25 barcode value'); + throw new \Mpdf\Barcode\BarcodeException(sprintf('Invalid I25 barcode value "%s"', $code)); } // create a bar-space sequence $seq = ''; diff --git a/pandora_console/vendor/mpdf/mpdf/src/Barcode/Imb.php b/pandora_console/vendor/mpdf/mpdf/src/Barcode/Imb.php index 71756bf847..074359588e 100644 --- a/pandora_console/vendor/mpdf/mpdf/src/Barcode/Imb.php +++ b/pandora_console/vendor/mpdf/mpdf/src/Barcode/Imb.php @@ -112,9 +112,9 @@ class Imb extends \Mpdf\Barcode\AbstractBarcode implements \Mpdf\Barcode\Barcode } $binaryCode = bcmul($binaryCode, 10); - $binaryCode = bcadd($binaryCode, $trackingNumber{0}); + $binaryCode = bcadd($binaryCode, $trackingNumber[0]); $binaryCode = bcmul($binaryCode, 5); - $binaryCode = bcadd($binaryCode, $trackingNumber{1}); + $binaryCode = bcadd($binaryCode, $trackingNumber[1]); $binaryCode .= substr($trackingNumber, 2, 18); diff --git a/pandora_console/vendor/mpdf/mpdf/src/Barcode/Msi.php b/pandora_console/vendor/mpdf/mpdf/src/Barcode/Msi.php index 26b57ffe38..ac4d1dc91e 100644 --- a/pandora_console/vendor/mpdf/mpdf/src/Barcode/Msi.php +++ b/pandora_console/vendor/mpdf/mpdf/src/Barcode/Msi.php @@ -13,14 +13,14 @@ class Msi extends \Mpdf\Barcode\AbstractBarcode implements \Mpdf\Barcode\Barcode * @param int $code * @param bool $checksum */ - public function __construct($code, $checksum = false) + public function __construct($code, $checksum = false, $quiet_zone_left = null, $quiet_zone_right = null) { $this->init($code, $checksum); $this->data['nom-X'] = 0.381; // Nominal value for X-dim (bar width) in mm (2 X min. spec.) $this->data['nom-H'] = 10; // Nominal value for Height of Full bar in mm (non-spec.) - $this->data['lightmL'] = 12; // LEFT light margin = x X-dim (spec.) - $this->data['lightmR'] = 12; // RIGHT light margin = x X-dim (spec.) + $this->data['lightmL'] = ($quiet_zone_left !== null ? $quiet_zone_left : 12); // LEFT light margin = x X-dim (spec.) + $this->data['lightmR'] = ($quiet_zone_right !== null ? $quiet_zone_right : 12); // RIGHT light margin = x X-dim (spec.) $this->data['lightTB'] = 0; // TOP/BOTTOM light margin = x X-dim (non-spec.) } @@ -76,7 +76,7 @@ class Msi extends \Mpdf\Barcode\AbstractBarcode implements \Mpdf\Barcode\Barcode $digit = $code[$i]; if (!isset($chr[$digit])) { // invalid character - throw new \Mpdf\Barcode\BarcodeException(sprintf('Invalid character "%s" in MSI barcode value', $digit)); + throw new \Mpdf\Barcode\BarcodeException(sprintf('Invalid character "%s" in MSI barcode value "%s"', $digit, $code)); } $seq .= $chr[$digit]; } diff --git a/pandora_console/vendor/mpdf/mpdf/src/Barcode/S25.php b/pandora_console/vendor/mpdf/mpdf/src/Barcode/S25.php index c238687b25..ed739541c3 100644 --- a/pandora_console/vendor/mpdf/mpdf/src/Barcode/S25.php +++ b/pandora_console/vendor/mpdf/mpdf/src/Barcode/S25.php @@ -14,14 +14,14 @@ class S25 extends \Mpdf\Barcode\AbstractBarcode implements \Mpdf\Barcode\Barcode * @param string $code * @param bool $checksum */ - public function __construct($code, $checksum = false) + public function __construct($code, $checksum = false, $quiet_zone_left = null, $quiet_zone_right = null) { $this->init($code, $checksum); $this->data['nom-X'] = 0.381; // Nominal value for X-dim (bar width) in mm (2 X min. spec.) $this->data['nom-H'] = 10; // Nominal value for Height of Full bar in mm (non-spec.) - $this->data['lightmL'] = 10; // LEFT light margin = x X-dim (spec.) - $this->data['lightmR'] = 10; // RIGHT light margin = x X-dim (spec.) + $this->data['lightmL'] = ($quiet_zone_left !== null ? $quiet_zone_left : 10); // LEFT light margin = x X-dim (spec.) + $this->data['lightmR'] = ($quiet_zone_right !== null ? $quiet_zone_right : 10); // RIGHT light margin = x X-dim (spec.) $this->data['lightTB'] = 0; // TOP/BOTTOM light margin = x X-dim (non-spec.) } @@ -63,7 +63,7 @@ class S25 extends \Mpdf\Barcode\AbstractBarcode implements \Mpdf\Barcode\Barcode $digit = $code[$i]; if (!isset($chr[$digit])) { // invalid character - throw new \Mpdf\Barcode\BarcodeException(sprintf('Invalid character "%s" in S25 barcode value', $digit)); + throw new \Mpdf\Barcode\BarcodeException(sprintf('Invalid character "%s" in S25 barcode value "%s"', $digit, $code)); } $seq .= $chr[$digit]; } diff --git a/pandora_console/vendor/mpdf/mpdf/src/Cache.php b/pandora_console/vendor/mpdf/mpdf/src/Cache.php index 73561319df..5554575e05 100644 --- a/pandora_console/vendor/mpdf/mpdf/src/Cache.php +++ b/pandora_console/vendor/mpdf/mpdf/src/Cache.php @@ -13,6 +13,10 @@ class Cache public function __construct($basePath, $cleanupInterval = 3600) { + if (!is_int($cleanupInterval) && false !== $cleanupInterval) { + throw new \Mpdf\MpdfException('Cache cleanup interval has to be an integer or false'); + } + if (!$this->createBasePath($basePath)) { throw new \Mpdf\MpdfException(sprintf('Temporary files directory "%s" is not writable', $basePath)); } @@ -70,9 +74,12 @@ class Cache public function write($filename, $data) { - $path = $this->getFilePath($filename); + $tempFile = tempnam($this->basePath, 'cache_tmp_'); + file_put_contents($tempFile, $data); + chmod($tempFile, 0664); - file_put_contents($path, $data); + $path = $this->getFilePath($filename); + rename($tempFile, $path); return $path; } @@ -104,7 +111,9 @@ class Cache private function isOld(DirectoryIterator $item) { - return $item->getMTime() + $this->cleanupInterval < time(); + return $this->cleanupInterval + ? $item->getMTime() + $this->cleanupInterval < time() + : false; } public function isDotFile(DirectoryIterator $item) diff --git a/pandora_console/vendor/mpdf/mpdf/src/Color/ColorConverter.php b/pandora_console/vendor/mpdf/mpdf/src/Color/ColorConverter.php index 3fc0dc8863..fe5e547d21 100644 --- a/pandora_console/vendor/mpdf/mpdf/src/Color/ColorConverter.php +++ b/pandora_console/vendor/mpdf/mpdf/src/Color/ColorConverter.php @@ -53,7 +53,15 @@ class ColorConverter $cstr = ''; if (is_array($c)) { $c = array_pad($c, 6, 0); - $cstr = pack('a1ccccc', $c[0], $c[1] & 0xFF, $c[2] & 0xFF, $c[3] & 0xFF, $c[4] & 0xFF, $c[5] & 0xFF); + $cstr = pack( + 'a1ccccc', + $c[0], + round($c[1]) & 0xFF, + round($c[2]) & 0xFF, + round($c[3]) & 0xFF, + round($c[4]) & 0xFF, + round($c[5]) & 0xFF + ); } $this->cache[$color] = $cstr; @@ -66,19 +74,27 @@ class ColorConverter { $this->ensureBinaryColorFormat($c); - if ($c{0} == static::MODE_RGB || $c{0} == static::MODE_RGBA) { - list($h, $s, $l) = $this->colorModeConverter->rgb2hsl(ord($c{1}) / 255, ord($c{2}) / 255, ord($c{3}) / 255); + if ($c[0] == static::MODE_RGB || $c[0] == static::MODE_RGBA) { + list($h, $s, $l) = $this->colorModeConverter->rgb2hsl(ord($c[1]) / 255, ord($c[2]) / 255, ord($c[3]) / 255); $l += ((1 - $l) * 0.8); list($r, $g, $b) = $this->colorModeConverter->hsl2rgb($h, $s, $l); $ret = [3, $r, $g, $b]; - } elseif ($c{0} == static::MODE_CMYK || $c{0} == static::MODE_CMYKA) { - $ret = [4, max(0, ord($c{1}) - 20), max(0, ord($c{2}) - 20), max(0, ord($c{3}) - 20), max(0, ord($c{4}) - 20)]; - } elseif ($c{0} == static::MODE_GRAYSCALE) { - $ret = [1, min(255, ord($c{1}) + 32)]; + } elseif ($c[0] == static::MODE_CMYK || $c[0] == static::MODE_CMYKA) { + $ret = [4, max(0, ord($c[1]) - 20), max(0, ord($c[2]) - 20), max(0, ord($c[3]) - 20), max(0, ord($c[4]) - 20)]; + } elseif ($c[0] == static::MODE_GRAYSCALE) { + $ret = [1, min(255, ord($c[1]) + 32)]; } $c = array_pad($ret, 6, 0); - $cstr = pack('a1ccccc', $c[0], $c[1] & 0xFF, $c[2] & 0xFF, $c[3] & 0xFF, $c[4] & 0xFF, $c[5] & 0xFF); + $cstr = pack( + 'a1ccccc', + $c[0], + round($c[1]) & 0xFF, + round($c[2]) & 0xFF, + round($c[3]) & 0xFF, + round($c[4]) & 0xFF, + round($c[5]) & 0xFF + ); return $cstr; } @@ -87,16 +103,16 @@ class ColorConverter { $this->ensureBinaryColorFormat($c); - if ($c{0} == static::MODE_RGB || $c{0} == static::MODE_RGBA) { - list($h, $s, $l) = $this->colorModeConverter->rgb2hsl(ord($c{1}) / 255, ord($c{2}) / 255, ord($c{3}) / 255); + if ($c[0] == static::MODE_RGB || $c[0] == static::MODE_RGBA) { + list($h, $s, $l) = $this->colorModeConverter->rgb2hsl(ord($c[1]) / 255, ord($c[2]) / 255, ord($c[3]) / 255); $s *= 0.25; $l *= 0.75; list($r, $g, $b) = $this->colorModeConverter->hsl2rgb($h, $s, $l); $ret = [3, $r, $g, $b]; - } elseif ($c{0} == static::MODE_CMYK || $c{0} == static::MODE_CMYKA) { - $ret = [4, min(100, ord($c{1}) + 20), min(100, ord($c{2}) + 20), min(100, ord($c{3}) + 20), min(100, ord($c{4}) + 20)]; - } elseif ($c{0} == static::MODE_GRAYSCALE) { - $ret = [1, max(0, ord($c{1}) - 32)]; + } elseif ($c[0] == static::MODE_CMYK || $c[0] == static::MODE_CMYKA) { + $ret = [4, min(100, ord($c[1]) + 20), min(100, ord($c[2]) + 20), min(100, ord($c[3]) + 20), min(100, ord($c[4]) + 20)]; + } elseif ($c[0] == static::MODE_GRAYSCALE) { + $ret = [1, max(0, ord($c[1]) - 32)]; } $c = array_pad($ret, 6, 0); $cstr = pack('a1ccccc', $c[0], $c[1] & 0xFF, $c[2] & 0xFF, $c[3] & 0xFF, $c[4] & 0xFF, $c[5] & 0xFF); @@ -112,16 +128,16 @@ class ColorConverter { $this->ensureBinaryColorFormat($c); - if ($c{0} == static::MODE_RGB || $c{0} == static::MODE_RGBA) { - return [3, 255 - ord($c{1}), 255 - ord($c{2}), 255 - ord($c{3})]; + if ($c[0] == static::MODE_RGB || $c[0] == static::MODE_RGBA) { + return [3, 255 - ord($c[1]), 255 - ord($c[2]), 255 - ord($c[3])]; } - if ($c{0} == static::MODE_CMYK || $c{0} == static::MODE_CMYKA) { - return [4, 100 - ord($c{1}), 100 - ord($c{2}), 100 - ord($c{3}), 100 - ord($c{4})]; + if ($c[0] == static::MODE_CMYK || $c[0] == static::MODE_CMYKA) { + return [4, 100 - ord($c[1]), 100 - ord($c[2]), 100 - ord($c[3]), 100 - ord($c[4])]; } - if ($c{0} == static::MODE_GRAYSCALE) { - return [1, 255 - ord($c{1})]; + if ($c[0] == static::MODE_GRAYSCALE) { + return [1, 255 - ord($c[1])]; } // Cannot cope with non-RGB colors at present @@ -135,28 +151,28 @@ class ColorConverter */ public function colAtoString($c) { - if ($c{0} == static::MODE_GRAYSCALE) { - return 'rgb(' . ord($c{1}) . ', ' . ord($c{1}) . ', ' . ord($c{1}) . ')'; + if ($c[0] == static::MODE_GRAYSCALE) { + return 'rgb(' . ord($c[1]) . ', ' . ord($c[1]) . ', ' . ord($c[1]) . ')'; } - if ($c{0} == static::MODE_SPOT) { - return 'spot(' . ord($c{1}) . ', ' . ord($c{2}) . ')'; + if ($c[0] == static::MODE_SPOT) { + return 'spot(' . ord($c[1]) . ', ' . ord($c[2]) . ')'; } - if ($c{0} == static::MODE_RGB) { - return 'rgb(' . ord($c{1}) . ', ' . ord($c{2}) . ', ' . ord($c{3}) . ')'; + if ($c[0] == static::MODE_RGB) { + return 'rgb(' . ord($c[1]) . ', ' . ord($c[2]) . ', ' . ord($c[3]) . ')'; } - if ($c{0} == static::MODE_CMYK) { - return 'cmyk(' . ord($c{1}) . ', ' . ord($c{2}) . ', ' . ord($c{3}) . ', ' . ord($c{4}) . ')'; + if ($c[0] == static::MODE_CMYK) { + return 'cmyk(' . ord($c[1]) . ', ' . ord($c[2]) . ', ' . ord($c[3]) . ', ' . ord($c[4]) . ')'; } - if ($c{0} == static::MODE_RGBA) { - return 'rgba(' . ord($c{1}) . ', ' . ord($c{2}) . ', ' . ord($c{3}) . ', ' . sprintf('%0.2F', ord($c{4}) / 100) . ')'; + if ($c[0] == static::MODE_RGBA) { + return 'rgba(' . ord($c[1]) . ', ' . ord($c[2]) . ', ' . ord($c[3]) . ', ' . sprintf('%0.2F', ord($c[4]) / 100) . ')'; } - if ($c{0} == static::MODE_CMYKA) { - return 'cmyka(' . ord($c{1}) . ', ' . ord($c{2}) . ', ' . ord($c{3}) . ', ' . ord($c{4}) . ', ' . sprintf('%0.2F', ord($c{5}) / 100) . ')'; + if ($c[0] == static::MODE_CMYKA) { + return 'cmyka(' . ord($c[1]) . ', ' . ord($c[2]) . ', ' . ord($c[3]) . ', ' . ord($c[4]) . ', ' . sprintf('%0.2F', ord($c[5]) / 100) . ')'; } return ''; @@ -202,9 +218,9 @@ class ColorConverter $cor = '#' . $cor[1] . $cor[1] . $cor[2] . $cor[2] . $cor[3] . $cor[3]; } - $r = hexdec(substr($cor, 1, 2)); - $g = hexdec(substr($cor, 3, 2)); - $b = hexdec(substr($cor, 5, 2)); + $r = self::safeHexDec(substr($cor, 1, 2)); + $g = self::safeHexDec(substr($cor, 3, 2)); + $b = self::safeHexDec(substr($cor, 5, 2)); return [3, $r, $g, $b]; } @@ -334,4 +350,14 @@ class ColorConverter } } + /** + * Converts the given hexString to its decimal representation when all digits are hexadecimal + * + * @param string $hexString The hexadecimal string to convert + * @return float|int The decimal representation of hexString or 0 if not all digits of hexString are hexadecimal + */ + private function safeHexDec($hexString) + { + return ctype_xdigit($hexString) ? hexdec($hexString) : 0; + } } diff --git a/pandora_console/vendor/mpdf/mpdf/src/Color/ColorModeConverter.php b/pandora_console/vendor/mpdf/mpdf/src/Color/ColorModeConverter.php index 4b9300987d..610cff413c 100644 --- a/pandora_console/vendor/mpdf/mpdf/src/Color/ColorModeConverter.php +++ b/pandora_console/vendor/mpdf/mpdf/src/Color/ColorModeConverter.php @@ -52,6 +52,7 @@ class ColorModeConverter //if ($c[0]==5) { return array (6,0,0,0,100, $c[4]); } //else { return array (4,0,0,0,100); } } + $K = $min; $black = 1 - $K; if ($c[0] == 5) { diff --git a/pandora_console/vendor/mpdf/mpdf/src/Color/ColorSpaceRestrictor.php b/pandora_console/vendor/mpdf/mpdf/src/Color/ColorSpaceRestrictor.php index 4ae52ccdf7..195138f5ce 100644 --- a/pandora_console/vendor/mpdf/mpdf/src/Color/ColorSpaceRestrictor.php +++ b/pandora_console/vendor/mpdf/mpdf/src/Color/ColorSpaceRestrictor.php @@ -50,10 +50,14 @@ class ColorSpaceRestrictor * @param string $color * @param string[] $PDFAXwarnings * - * @return float[] + * @return float[]|mixed */ public function restrictColorSpace($c, $color, &$PDFAXwarnings = []) { + if (!is_array($c)) { + return $c; + } + $mode = (int) $c[0]; switch ($mode) { case 1: diff --git a/pandora_console/vendor/mpdf/mpdf/src/Config/ConfigVariables.php b/pandora_console/vendor/mpdf/mpdf/src/Config/ConfigVariables.php index eea1639636..8eef5a803b 100644 --- a/pandora_console/vendor/mpdf/mpdf/src/Config/ConfigVariables.php +++ b/pandora_console/vendor/mpdf/mpdf/src/Config/ConfigVariables.php @@ -3,10 +3,8 @@ namespace Mpdf\Config; use Mpdf\Css\DefaultCss; - use Mpdf\Language\LanguageToFont; use Mpdf\Language\ScriptToLanguage; - use Mpdf\Ucdn; class ConfigVariables @@ -295,6 +293,10 @@ class ConfigVariables // Default dpi to output images if size not defined // See also above "dpi" 'img_dpi' => 96, + // Specify whitelisted PHP streams to be used for images + // Useful to add custom streams like `s3` + // Note: for security reasons the `phar` stream cannot be used @see https://github.com/mpdf/mpdf/issues/949 + 'whitelistStreamWrappers' => ['http', 'https', 'file'], // TEXT SPACING & JUSTIFICATION @@ -451,6 +453,8 @@ class ConfigVariables 'tempDir' => __DIR__ . '/../../tmp', + 'cacheCleanupInterval' => 3600, + 'allowAnnotationFiles' => false, 'hyphenationDictionaryFile' => __DIR__ . '/../../data/patterns/dictionary.txt', @@ -506,7 +510,14 @@ class ConfigVariables // cURL options 'curlFollowLocation' => false, 'curlAllowUnsafeSslRequests' => false, + 'curlCaCertificate' => '', 'curlTimeout' => 5, + 'curlExecutionTimeout' => null, + 'curlProxy' => null, + 'curlProxyAuth' => null, + 'curlUserAgent' => 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:13.0) Gecko/20100101 Firefox/13.0.1', + + 'exposeVersion' => true, ]; } diff --git a/pandora_console/vendor/mpdf/mpdf/src/Config/FontVariables.php b/pandora_console/vendor/mpdf/mpdf/src/Config/FontVariables.php index 749e311713..777ebf8a74 100644 --- a/pandora_console/vendor/mpdf/mpdf/src/Config/FontVariables.php +++ b/pandora_console/vendor/mpdf/mpdf/src/Config/FontVariables.php @@ -329,4 +329,4 @@ class FontVariables return $this->defaults; } -} \ No newline at end of file +} diff --git a/pandora_console/vendor/mpdf/mpdf/src/Conversion/DecToOther.php b/pandora_console/vendor/mpdf/mpdf/src/Conversion/DecToOther.php index 254c6fa149..1eafb2cf34 100644 --- a/pandora_console/vendor/mpdf/mpdf/src/Conversion/DecToOther.php +++ b/pandora_console/vendor/mpdf/mpdf/src/Conversion/DecToOther.php @@ -60,6 +60,7 @@ class DecToOther 'khmer' => 0x17E0, 'cambodian' => 0x17E0, 'lao' => 0x0ED0, + 'myanmar' => 0x1040 ]; return isset($codePages[$script]) ? $codePages[$script] : 0; diff --git a/pandora_console/vendor/mpdf/mpdf/src/Css/DefaultCss.php b/pandora_console/vendor/mpdf/mpdf/src/Css/DefaultCss.php index 4d6a55291e..7619f61024 100644 --- a/pandora_console/vendor/mpdf/mpdf/src/Css/DefaultCss.php +++ b/pandora_console/vendor/mpdf/mpdf/src/Css/DefaultCss.php @@ -7,7 +7,7 @@ class DefaultCss public static $definition = [ 'BODY' => [ - 'FONT-FAMILY' => 'lato', + 'FONT-FAMILY' => 'serif', 'FONT-SIZE' => '11pt', 'TEXT-INDENT' => '0pt', 'LINE-HEIGHT' => 'normal', @@ -63,7 +63,7 @@ class DefaultCss ], 'PRE' => [ 'MARGIN' => '0.83em 0', - 'FONT-FAMILY' => 'lato', + 'FONT-FAMILY' => 'monospace', ], 'S' => [ 'TEXT-DECORATION' => 'line-through', @@ -110,16 +110,16 @@ class DefaultCss 'FONT-STYLE' => 'italic', ], 'SAMP' => [ - 'FONT-FAMILY' => 'lato', + 'FONT-FAMILY' => 'monospace', ], 'CODE' => [ - 'FONT-FAMILY' => 'lato', + 'FONT-FAMILY' => 'monospace', ], 'KBD' => [ - 'FONT-FAMILY' => 'lato', + 'FONT-FAMILY' => 'monospace', ], 'TT' => [ - 'FONT-FAMILY' => 'lato', + 'FONT-FAMILY' => 'monospace', ], 'SMALL' => [ 'FONT-SIZE' => '83%', @@ -196,17 +196,17 @@ class DefaultCss 'IMAGE-RENDERING' => 'auto', ], 'INPUT' => [ - 'FONT-FAMILY' => 'lato', + 'FONT-FAMILY' => 'sans-serif', 'VERTICAL-ALIGN' => 'middle', 'FONT-SIZE' => '0.9em', ], 'SELECT' => [ - 'FONT-FAMILY' => 'lato', + 'FONT-FAMILY' => 'sans-serif', 'FONT-SIZE' => '0.9em', 'VERTICAL-ALIGN' => 'middle', ], 'TEXTAREA' => [ - 'FONT-FAMILY' => 'lato', + 'FONT-FAMILY' => 'monospace', 'FONT-SIZE' => '0.9em', 'VERTICAL-ALIGN' => 'text-bottom', ], diff --git a/pandora_console/vendor/mpdf/mpdf/src/CssManager.php b/pandora_console/vendor/mpdf/mpdf/src/CssManager.php index eabda53c3c..1ab5c14be7 100644 --- a/pandora_console/vendor/mpdf/mpdf/src/CssManager.php +++ b/pandora_console/vendor/mpdf/mpdf/src/CssManager.php @@ -4,7 +4,7 @@ namespace Mpdf; use Mpdf\Color\ColorConverter; use Mpdf\Css\TextVars; - +use Mpdf\File\StreamWrapperChecker; use Mpdf\Utils\Arrays; use Mpdf\Utils\UtfString; @@ -47,7 +47,12 @@ class CssManager var $cell_border_dominance_T; - public function __construct(Mpdf $mpdf, Cache $cache, SizeConverter $sizeConverter, ColorConverter $colorConverter) + /** + * @var \Mpdf\RemoteContentFetcher + */ + private $remoteContentFetcher; + + public function __construct(Mpdf $mpdf, Cache $cache, SizeConverter $sizeConverter, ColorConverter $colorConverter, RemoteContentFetcher $remoteContentFetcher) { $this->mpdf = $mpdf; $this->cache = $cache; @@ -58,6 +63,7 @@ class CssManager $this->cascadeCSS = []; $this->tbCSSlvl = 0; $this->colorConverter = $colorConverter; + $this->remoteContentFetcher = $remoteContentFetcher; } function ReadCSS($html) @@ -143,12 +149,14 @@ class CssManager } while ($match) { + $path = $CSSext[$ind]; $path = htmlspecialchars_decode($path); // mPDF 6 $this->mpdf->GetFullPath($path); - $CSSextblock = $this->_get_file($path); + + $CSSextblock = $this->getFileContents($path); if ($CSSextblock) { // look for embedded @import stylesheets in other stylesheets // and fix url paths (including background-images) relative to stylesheet @@ -357,7 +365,9 @@ class CssManager $tag = ''; if (preg_match('/^[.](.*)$/', $t, $m)) { - $tag = 'CLASS>>' . $m[1]; + $classes = explode('.', $m[1]); + sort($classes); + $tag = 'CLASS>>' . join('.', $classes); } elseif (preg_match('/^[#](.*)$/', $t, $m)) { $tag = 'ID>>' . $m[1]; } elseif (preg_match('/^\[LANG=[\'\"]{0,1}([A-Z\-]{2,11})[\'\"]{0,1}\]$/', $t, $m)) { @@ -365,7 +375,9 @@ class CssManager } elseif (preg_match('/^:LANG\([\'\"]{0,1}([A-Z\-]{2,11})[\'\"]{0,1}\)$/', $t, $m)) { // mPDF 6 Special case for lang as attribute selector $tag = 'LANG>>' . strtolower($m[1]); } elseif (preg_match('/^(' . $this->mpdf->allowedCSStags . ')[.](.*)$/', $t, $m)) { // mPDF 6 Special case for lang as attribute selector - $tag = $m[1] . '>>CLASS>>' . $m[2]; + $classes = explode('.', $m[2]); + sort($classes); + $tag = $m[1] . '>>CLASS>>' . join('.', $classes); } elseif (preg_match('/^(' . $this->mpdf->allowedCSStags . ')\s*:NTH-CHILD\((.*)\)$/', $t, $m)) { $tag = $m[1] . '>>SELECTORNTHCHILD>>' . $m[2]; } elseif (preg_match('/^(' . $this->mpdf->allowedCSStags . ')[#](.*)$/', $t, $m)) { @@ -402,7 +414,9 @@ class CssManager if ($t) { if (preg_match('/^[.](.*)$/', $t, $m)) { - $tag = 'CLASS>>' . $m[1]; + $classes = explode('.', $m[1]); + sort($classes); + $tag = 'CLASS>>' . join('.', $classes); } elseif (preg_match('/^[#](.*)$/', $t, $m)) { $tag = 'ID>>' . $m[1]; } elseif (preg_match('/^\[LANG=[\'\"]{0,1}([A-Z\-]{2,11})[\'\"]{0,1}\]$/', $t, $m)) { @@ -410,7 +424,9 @@ class CssManager } elseif (preg_match('/^:LANG\([\'\"]{0,1}([A-Z\-]{2,11})[\'\"]{0,1}\)$/', $t, $m)) { // mPDF 6 Special case for lang as attribute selector $tag = 'LANG>>' . strtolower($m[1]); } elseif (preg_match('/^(' . $this->mpdf->allowedCSStags . ')[.](.*)$/', $t, $m)) { // mPDF 6 Special case for lang as attribute selector - $tag = $m[1] . '>>CLASS>>' . $m[2]; + $classes = explode('.', $m[2]); + sort($classes); + $tag = $m[1] . '>>CLASS>>' . join('.', $classes); } elseif (preg_match('/^(' . $this->mpdf->allowedCSStags . ')\s*:NTH-CHILD\((.*)\)$/', $t, $m)) { $tag = $m[1] . '>>SELECTORNTHCHILD>>' . $m[2]; } elseif (preg_match('/^(' . $this->mpdf->allowedCSStags . ')[#](.*)$/', $t, $m)) { @@ -1107,37 +1123,57 @@ class CssManager { $sh = []; $c = preg_match_all('/(rgba|rgb|device-cmyka|cmyka|device-cmyk|cmyk|hsla|hsl)\(.*?\)/', $v, $x); // mPDF 5.6.05 + for ($i = 0; $i < $c; $i++) { - $col = preg_replace('/,/', '*', $x[0][$i]); + $col = preg_replace('/,\s/', '*', $x[0][$i]); $v = str_replace($x[0][$i], $col, $v); } + $ss = explode(',', $v); + foreach ($ss as $s) { + $new = ['blur' => 0]; $p = explode(' ', trim($s)); + if (isset($p[0])) { $new['x'] = $this->sizeConverter->convert(trim($p[0]), $this->mpdf->FontSize, $this->mpdf->FontSize, false); } + if (isset($p[1])) { $new['y'] = $this->sizeConverter->convert(trim($p[1]), $this->mpdf->FontSize, $this->mpdf->FontSize, false); } + if (isset($p[2])) { + if (preg_match('/^\s*[\.\-0-9]/', $p[2])) { - $new['blur'] = $this->sizeConverter->convert(trim($p[2]), $this->mpdf->blk[$this->mpdf->blklvl]['inner_width'], $this->mpdf->FontSize, false); + + $new['blur'] = $this->sizeConverter->convert( + trim($p[2]), + isset($this->mpdf->blk[$this->mpdf->blklvl]['inner_width']) ? $this->mpdf->blk[$this->mpdf->blklvl]['inner_width'] : 0, + $this->mpdf->FontSize, + false + ); + } else { $new['col'] = $this->colorConverter->convert(preg_replace('/\*/', ',', $p[2]), $this->mpdf->PDFAXwarnings); } + if (isset($p[3])) { $new['col'] = $this->colorConverter->convert(preg_replace('/\*/', ',', $p[3]), $this->mpdf->PDFAXwarnings); } } + if (!isset($new['col']) || !$new['col']) { $new['col'] = $this->colorConverter->convert('#888888', $this->mpdf->PDFAXwarnings); } + if (isset($new['y'])) { array_unshift($sh, $new); } + } + return $sh; } @@ -1203,9 +1239,11 @@ class CssManager { $prop = preg_split('/\s+/', trim($mp)); $prop_count = count($prop); + if ($prop_count === 1) { return ['T' => $prop[0], 'R' => $prop[0], 'B' => $prop[0], 'L' => $prop[0]]; } + if ($prop_count === 2) { return ['T' => $prop[0], 'R' => $prop[1], 'B' => $prop[0], 'L' => $prop[1]]; } @@ -1213,9 +1251,12 @@ class CssManager if ($prop_count === 3) { return ['T' => $prop[0], 'R' => $prop[1], 'B' => $prop[2], 'L' => $prop[1]]; } - if ($prop_count === 4) { + + // Ignore rule parts after first 4 values (most likely !important) + if ($prop_count >= 4) { return ['T' => $prop[0], 'R' => $prop[1], 'B' => $prop[2], 'L' => $prop[3]]; } + return []; } @@ -1325,7 +1366,7 @@ class CssManager $ret = $arrays[0]; for ($i = 1; $i < $narrays; $i ++) { foreach ($arrays[$i] as $key => $value) { - if (((string) $key) === ((string)((int) $key))) { // integer or string as integer key - append + if (((string) $key) === ((string) ((int) $key))) { // integer or string as integer key - append $ret[] = $value; } else { // string key - merge if (is_array($value) && isset($ret[$key])) { @@ -1479,7 +1520,9 @@ class CssManager $classes = []; if (isset($attr['CLASS'])) { - $classes = preg_split('/\s+/', $attr['CLASS']); + $classes = array_map(function ($combination) { + return join('.', $combination); + }, Arrays::allUniqueSortedCombinations(preg_split('/\s+/', $attr['CLASS']))); } if (!isset($attr['ID'])) { $attr['ID'] = ''; @@ -1494,11 +1537,12 @@ class CssManager $shortlang = substr($attr['LANG'], 0, 2); } } - //=============================================== + /* -- TABLES -- */ + // Set Inherited properties if ($inherit === 'TOPTABLE') { // $tag = TABLE - //=============================================== + // Save Cascading CSS e.g. "div.topic p" at this block level if (isset($this->mpdf->blk[$this->mpdf->blklvl]['cascadeCSS'])) { $this->tablecascadeCSS[0] = $this->mpdf->blk[$this->mpdf->blklvl]['cascadeCSS']; @@ -1506,24 +1550,42 @@ class CssManager $this->tablecascadeCSS[0] = $this->cascadeCSS; } } - //=============================================== + // Set Inherited properties if ($inherit === 'TOPTABLE' || $inherit === 'TABLE') { - //Cascade everything from last level that is not an actual property, or defined by current tag/attributes + + // Cascade everything from last level that is not an actual property, or defined by current tag/attributes if (isset($this->tablecascadeCSS[$this->tbCSSlvl - 1]) && is_array($this->tablecascadeCSS[$this->tbCSSlvl - 1])) { foreach ($this->tablecascadeCSS[$this->tbCSSlvl - 1] as $k => $v) { $this->tablecascadeCSS[$this->tbCSSlvl][$k] = $v; } } - $this->_mergeFullCSS($this->cascadeCSS, $this->tablecascadeCSS[$this->tbCSSlvl], $tag, $classes, $attr['ID'], $attr['LANG']); - //=============================================== + + $this->_mergeFullCSS( + $this->cascadeCSS, + $this->tablecascadeCSS[$this->tbCSSlvl], + $tag, + $classes, + $attr['ID'], + $attr['LANG'] + ); + // Cascading forward CSS e.g. "table.topic td" for this table in $this->tablecascadeCSS - //=============================================== // STYLESHEET TAG e.g. table - $this->_mergeFullCSS($this->tablecascadeCSS[$this->tbCSSlvl - 1], $this->tablecascadeCSS[$this->tbCSSlvl], $tag, $classes, $attr['ID'], $attr['LANG']); - //=============================================== + if (isset($this->tablecascadeCSS[$this->tbCSSlvl - 1])) { + $this->_mergeFullCSS( + $this->tablecascadeCSS[$this->tbCSSlvl - 1], + $this->tablecascadeCSS[$this->tbCSSlvl], + $tag, + $classes, + $attr['ID'], + $attr['LANG'] + ); + } } + /* -- END TABLES -- */ + //=============================================== // Set Inherited properties if ($inherit === 'BLOCK') { @@ -2076,7 +2138,9 @@ class CssManager $oldcascadeCSS = $this->mpdf->blk[$this->mpdf->blklvl]['cascadeCSS']; $classes = []; if (isset($attr['CLASS'])) { - $classes = preg_split('/\s+/', $attr['CLASS']); + $classes = array_map(function ($combination) { + return join('.', $combination); + }, Arrays::allUniqueSortedCombinations(preg_split('/\s+/', $attr['CLASS']))); } //=============================================== // DEFAULT for this TAG set in DefaultCSS @@ -2215,9 +2279,13 @@ class CssManager return $select; } - private function _get_file($path) + private function getFileContents($path) { // If local file try using local path (? quicker, but also allowed even if allow_url_fopen false) + $wrapperChecker = new StreamWrapperChecker($this->mpdf); + if ($wrapperChecker->hasBlacklistedStreamWrapper($path)) { + throw new \Mpdf\MpdfException('File contains an invalid stream. Only ' . implode(', ', $wrapperChecker->getWhitelistedStreamWrappers()) . ' streams are allowed.'); + } // mPDF 5.7.3 if (strpos($path, '//') === false) { @@ -2231,11 +2299,13 @@ class CssManager } if ($this->mpdf->basepathIsLocal) { + $tr = parse_url($path); - $lp = getenv('SCRIPT_NAME'); + $lp = __FILE__; $ap = realpath($lp); $ap = str_replace("\\", '/', $ap); $docroot = substr($ap, 0, strpos($ap, $lp)); + // WriteHTML parses all paths to full URLs; may be local file name // DOCUMENT_ROOT is not returned on IIS if (!empty($tr['scheme']) && $tr['host'] && !empty($_SERVER['DOCUMENT_ROOT'])) { @@ -2245,13 +2315,17 @@ class CssManager } else { $localpath = $path; } + $contents = @file_get_contents($localpath); - } elseif (!$contents && !ini_get('allow_url_fopen') && function_exists('curl_init')) { // if not use full URL - $ch = curl_init($path); - curl_setopt($ch, CURLOPT_HEADER, 0); - curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); - $contents = curl_exec($ch); - curl_close($ch); + + } else { // if not use full URL + + try { + $contents = $this->remoteContentFetcher->getFileContentsByCurl($path); + } catch (\Mpdf\MpdfException $e) { + // Ignore error + } + } return $contents; diff --git a/pandora_console/vendor/mpdf/mpdf/src/Exception/FontException.php b/pandora_console/vendor/mpdf/mpdf/src/Exception/FontException.php new file mode 100644 index 0000000000..d00d763bba --- /dev/null +++ b/pandora_console/vendor/mpdf/mpdf/src/Exception/FontException.php @@ -0,0 +1,8 @@ +mpdf = $mpdf; + } + + /** + * @param string $filename + * @return bool + * @since 7.1.8 + */ + public function hasBlacklistedStreamWrapper($filename) + { + if (strpos($filename, '://') > 0) { + $wrappers = stream_get_wrappers(); + $whitelistStreamWrappers = $this->getWhitelistedStreamWrappers(); + foreach ($wrappers as $wrapper) { + if (in_array($wrapper, $whitelistStreamWrappers)) { + continue; + } + + if (stripos($filename, $wrapper . '://') === 0) { + return true; + } + } + } + + return false; + } + + public function getWhitelistedStreamWrappers() + { + return array_diff($this->mpdf->whitelistStreamWrappers, ['phar']); // remove 'phar' (security issue) + } + +} diff --git a/pandora_console/vendor/mpdf/mpdf/src/Fonts/FontCache.php b/pandora_console/vendor/mpdf/mpdf/src/Fonts/FontCache.php index a3b195b5a1..2dd08879af 100644 --- a/pandora_console/vendor/mpdf/mpdf/src/Fonts/FontCache.php +++ b/pandora_console/vendor/mpdf/mpdf/src/Fonts/FontCache.php @@ -7,6 +7,8 @@ use Mpdf\Cache; class FontCache { + private $memoryCache = []; + private $cache; public function __construct(Cache $cache) @@ -24,11 +26,26 @@ class FontCache return $this->cache->has($filename); } + public function jsonHas($filename) + { + return (isset($this->memoryCache[$filename]) || $this->has($filename)); + } + public function load($filename) { return $this->cache->load($filename); } + public function jsonLoad($filename) + { + if (isset($this->memoryCache[$filename])) { + return $this->memoryCache[$filename]; + } + + $this->memoryCache[$filename] = json_decode($this->load($filename), true); + return $this->memoryCache[$filename]; + } + public function write($filename, $data) { return $this->cache->write($filename, $data); @@ -36,13 +53,25 @@ class FontCache public function binaryWrite($filename, $data) { - $handle = fopen($this->tempFilename($filename), 'wb'); - fwrite($handle, $data); - fclose($handle); + return $this->cache->write($filename, $data); + } + + public function jsonWrite($filename, $data) + { + return $this->cache->write($filename, json_encode($data)); } public function remove($filename) { return $this->cache->remove($filename); } + + public function jsonRemove($filename) + { + if (isset($this->memoryCache[$filename])) { + unset($this->memoryCache[$filename]); + } + + $this->remove($filename); + } } diff --git a/pandora_console/vendor/mpdf/mpdf/src/Fonts/MetricsGenerator.php b/pandora_console/vendor/mpdf/mpdf/src/Fonts/MetricsGenerator.php index 396f46d399..9038249452 100644 --- a/pandora_console/vendor/mpdf/mpdf/src/Fonts/MetricsGenerator.php +++ b/pandora_console/vendor/mpdf/mpdf/src/Fonts/MetricsGenerator.php @@ -20,146 +20,56 @@ class MetricsGenerator public function generateMetrics($ttffile, $ttfstat, $fontkey, $TTCfontID, $debugfonts, $BMPonly, $useOTL, $fontUseOTL) { $ttf = new TTFontFile($this->fontCache, $this->fontDescriptor); - $ttf->getMetrics($ttffile, $fontkey, $TTCfontID, $debugfonts, $BMPonly, $useOTL); // mPDF 5.7.1 - $cw = $ttf->charWidths; - $kerninfo = $ttf->kerninfo; - - $haskerninfo = false; - if ($kerninfo) { - $haskerninfo = true; - } - - $haskernGPOS = $ttf->haskernGPOS; - $hassmallcapsGSUB = $ttf->hassmallcapsGSUB; - $name = preg_replace('/[ ()]/', '', $ttf->fullName); - $sip = $ttf->sipset; - $smp = $ttf->smpset; - // mPDF 6 - $GSUBScriptLang = $ttf->GSUBScriptLang; - $GSUBFeatures = $ttf->GSUBFeatures; - $GSUBLookups = $ttf->GSUBLookups; - $rtlPUAstr = $ttf->rtlPUAstr; - $GPOSScriptLang = $ttf->GPOSScriptLang; - $GPOSFeatures = $ttf->GPOSFeatures; - $GPOSLookups = $ttf->GPOSLookups; - $glyphIDtoUni = $ttf->glyphIDtoUni; - - $desc = [ - 'CapHeight' => round($ttf->capHeight), - 'XHeight' => round($ttf->xHeight), - 'FontBBox' => '[' . round($ttf->bbox[0]) . " " . round($ttf->bbox[1]) . " " . round($ttf->bbox[2]) . " " . round($ttf->bbox[3]) . ']', /* FontBBox from head table */ - /* 'MaxWidth' => round($ttf->advanceWidthMax), // AdvanceWidthMax from hhea table NB ArialUnicode MS = 31990 ! */ - 'Flags' => $ttf->flags, - 'Ascent' => round($ttf->ascent), - 'Descent' => round($ttf->descent), - 'Leading' => round($ttf->lineGap), - 'ItalicAngle' => $ttf->italicAngle, - 'StemV' => round($ttf->stemV), - 'MissingWidth' => round($ttf->defaultWidth) + $font = [ + 'name' => $this->getFontName($ttf->fullName), + 'type' => 'TTF', + 'desc' => [ + 'CapHeight' => round($ttf->capHeight), + 'XHeight' => round($ttf->xHeight), + 'FontBBox' => '[' . round($ttf->bbox[0]) . " " . round($ttf->bbox[1]) . " " . round($ttf->bbox[2]) . " " . round($ttf->bbox[3]) . ']', + /* FontBBox from head table */ + /* 'MaxWidth' => round($ttf->advanceWidthMax), // AdvanceWidthMax from hhea table NB ArialUnicode MS = 31990 ! */ + 'Flags' => $ttf->flags, + 'Ascent' => round($ttf->ascent), + 'Descent' => round($ttf->descent), + 'Leading' => round($ttf->lineGap), + 'ItalicAngle' => $ttf->italicAngle, + 'StemV' => round($ttf->stemV), + 'MissingWidth' => round($ttf->defaultWidth) + ], + 'unitsPerEm' => round($ttf->unitsPerEm), + 'up' => round($ttf->underlinePosition), + 'ut' => round($ttf->underlineThickness), + 'strp' => round($ttf->strikeoutPosition), + 'strs' => round($ttf->strikeoutSize), + 'ttffile' => $ttffile, + 'TTCfontID' => $TTCfontID, + 'originalsize' => $ttfstat['size'] + 0, /* cast ? */ + 'sip' => ($ttf->sipset) ? true : false, + 'smp' => ($ttf->smpset) ? true : false, + 'BMPselected' => ($BMPonly) ? true : false, + 'fontkey' => $fontkey, + 'panose' => $this->getPanose($ttf), + 'haskerninfo' => ($ttf->kerninfo) ? true : false, + 'haskernGPOS' => ($ttf->haskernGPOS) ? true : false, + 'hassmallcapsGSUB' => ($ttf->hassmallcapsGSUB) ? true : false, + 'fontmetrics' => $this->fontDescriptor, + 'useOTL' => ($fontUseOTL) ? $fontUseOTL : 0, + 'rtlPUAstr' => $ttf->rtlPUAstr, + 'GSUBScriptLang' => $ttf->GSUBScriptLang, + 'GSUBFeatures' => $ttf->GSUBFeatures, + 'GSUBLookups' => $ttf->GSUBLookups, + 'GPOSScriptLang' => $ttf->GPOSScriptLang, + 'GPOSFeatures' => $ttf->GPOSFeatures, + 'GPOSLookups' => $ttf->GPOSLookups, + 'kerninfo' => $ttf->kerninfo, ]; - $panose = ''; - if (count($ttf->panose)) { - $panoseArray = array_merge([$ttf->sFamilyClass, $ttf->sFamilySubClass], $ttf->panose); - foreach ($panoseArray as $value) { - $panose .= ' ' . dechex($value); - } - } - $unitsPerEm = round($ttf->unitsPerEm); - $up = round($ttf->underlinePosition); - $ut = round($ttf->underlineThickness); - $strp = round($ttf->strikeoutPosition); // mPDF 6 - $strs = round($ttf->strikeoutSize); // mPDF 6 - $originalsize = $ttfstat['size'] + 0; - $type = 'TTF'; - //Generate metrics .php file - $s = 'fontDescriptor . "';\n"; // mPDF 6 - $s .= '// TypoAscender/TypoDescender/TypoLineGap = ' . round($ttf->typoAscender) . ', ' . round($ttf->typoDescender) . ', ' . round($ttf->typoLineGap) . "\n"; - $s .= '// usWinAscent/usWinDescent = ' . round($ttf->usWinAscent) . ', ' . round(-$ttf->usWinDescent) . "\n"; - $s .= '// hhea Ascent/Descent/LineGap = ' . round($ttf->hheaascent) . ', ' . round($ttf->hheadescent) . ', ' . round($ttf->hhealineGap) . "\n"; - - // mPDF 5.7.1 - if ($fontUseOTL) { - $s .= '$useOTL=' . $fontUseOTL . ';' . "\n"; - } else { - $s .= '$useOTL=0x0000;' . "\n"; - } - if ($rtlPUAstr) { - $s .= '$rtlPUAstr=\'' . $rtlPUAstr . "';\n"; - } else { - $s .= '$rtlPUAstr=\'\';' . "\n"; - } - if (count($GSUBScriptLang)) { - $s .= '$GSUBScriptLang=' . var_export($GSUBScriptLang, true) . ";\n"; - } - if (count($GSUBFeatures)) { - $s .= '$GSUBFeatures=' . var_export($GSUBFeatures, true) . ";\n"; - } - if (count($GSUBLookups)) { - $s .= '$GSUBLookups=' . var_export($GSUBLookups, true) . ";\n"; - } - if (count($GPOSScriptLang)) { - $s .= '$GPOSScriptLang=' . var_export($GPOSScriptLang, true) . ";\n"; - } - if (count($GPOSFeatures)) { - $s .= '$GPOSFeatures=' . var_export($GPOSFeatures, true) . ";\n"; - } - if (count($GPOSLookups)) { - $s .= '$GPOSLookups=' . var_export($GPOSLookups, true) . ";\n"; - } - if ($kerninfo) { - $s .= '$kerninfo=' . var_export($kerninfo, true) . ";\n"; - } - - $this->fontCache->write($fontkey . '.mtx.php', $s); - $this->fontCache->binaryWrite($fontkey . '.cw.dat', $cw); - $this->fontCache->binaryWrite($fontkey . '.gid.dat', $glyphIDtoUni); + $this->fontCache->jsonWrite($fontkey . '.mtx.json', $font); + $this->fontCache->binaryWrite($fontkey . '.cw.dat', $ttf->charWidths); + $this->fontCache->binaryWrite($fontkey . '.gid.dat', $ttf->glyphIDtoUni); if ($this->fontCache->has($fontkey . '.cgm')) { $this->fontCache->remove($fontkey . '.cgm'); @@ -169,8 +79,8 @@ class MetricsGenerator $this->fontCache->remove($fontkey . '.z'); } - if ($this->fontCache->has($fontkey . '.cw127.php')) { - $this->fontCache->remove($fontkey . '.cw127.php'); + if ($this->fontCache->jsonHas($fontkey . '.cw127.json')) { + $this->fontCache->jsonRemove($fontkey . '.cw127.json'); } if ($this->fontCache->has($fontkey . '.cw')) { @@ -179,4 +89,22 @@ class MetricsGenerator unset($ttf); } + + protected function getFontName($fullName) + { + return preg_replace('/[ ()]/', '', $fullName); + } + + protected function getPanose($ttf) + { + $panose = ''; + if (count($ttf->panose)) { + $panoseArray = array_merge([$ttf->sFamilyClass, $ttf->sFamilySubClass], $ttf->panose); + foreach ($panoseArray as $value) { + $panose .= ' ' . dechex($value); + } + } + + return $panose; + } } diff --git a/pandora_console/vendor/mpdf/mpdf/src/Form.php b/pandora_console/vendor/mpdf/mpdf/src/Form.php index 4f35aadc32..51b88a8e0f 100644 --- a/pandora_console/vendor/mpdf/mpdf/src/Form.php +++ b/pandora_console/vendor/mpdf/mpdf/src/Form.php @@ -2,11 +2,30 @@ namespace Mpdf; +use Mpdf\Strict; use Mpdf\Color\ColorConverter; +use Mpdf\Writer\BaseWriter; +use Mpdf\Writer\FormWriter; class Form { + use Strict; + + // Input flags + const FLAG_READONLY = 1; + const FLAG_REQUIRED = 2; + const FLAG_NO_EXPORT = 3; + const FLAG_TEXTAREA = 13; + const FLAG_PASSWORD = 14; + const FLAG_RADIO = 15; + const FLAG_NOTOGGLEOFF = 16; + const FLAG_COMBOBOX = 18; + const FLAG_EDITABLE = 19; + const FLAG_MULTISELECT = 22; + const FLAG_NO_SPELLCHECK = 23; + const FLAG_NO_SCROLL = 24; + /** * @var \Mpdf\Mpdf */ @@ -22,6 +41,16 @@ class Form */ private $colorConverter; + /** + * @var \Mpdf\Writer\BaseWriter + */ + private $writer; + + /** + * @var \Mpdf\Writer\FormWriter + */ + private $formWriter; + /** * @var array */ @@ -32,20 +61,6 @@ class Form */ private $formCount; - // Input flags - const FLAG_READONLY = 1; - const FLAG_REQUIRED = 2; - const FLAG_NO_EXPORT = 3; - const FLAG_TEXTAREA = 13; - const FLAG_PASSWORD = 14; - const FLAG_RADIO = 15; - const FLAG_NOTOGGLEOFF = 16; - const FLAG_COMBOBOX = 18; - const FLAG_EDITABLE = 19; - const FLAG_MULTISELECT = 22; - const FLAG_NO_SPELLCHECK = 23; - const FLAG_NO_SCROLL = 24; - // Active Forms var $formSubmitNoValueFields; var $formExportType; @@ -86,11 +101,13 @@ class Form // FORMS var $textarea_lineheight; - public function __construct(Mpdf $mpdf, Otl $otl, ColorConverter $colorConverter) + public function __construct(Mpdf $mpdf, Otl $otl, ColorConverter $colorConverter, BaseWriter $writer, FormWriter $formWriter) { $this->mpdf = $mpdf; $this->otl = $otl; $this->colorConverter = $colorConverter; + $this->writer = $writer; + $this->formWriter = $formWriter; // ACTIVE FORMS $this->formExportType = 'xfdf'; // 'xfdf' or 'html' @@ -231,7 +248,7 @@ class Form if (!empty($objattr['disabled'])) { $this->mpdf->SetFColor($this->colorConverter->convert(225, $this->mpdf->PDFAXwarnings)); $this->mpdf->SetTColor($this->colorConverter->convert(127, $this->mpdf->PDFAXwarnings)); - } else if (!empty($objattr['readonly'])) { + } elseif (!empty($objattr['readonly'])) { $this->mpdf->SetFColor($this->colorConverter->convert(225, $this->mpdf->PDFAXwarnings)); $this->mpdf->SetTColor($this->colorConverter->convert(0, $this->mpdf->PDFAXwarnings)); } else { @@ -303,7 +320,7 @@ class Form if (!empty($objattr['disabled'])) { $this->mpdf->SetFColor($this->colorConverter->convert(225, $this->mpdf->PDFAXwarnings)); $this->mpdf->SetTColor($this->colorConverter->convert(127, $this->mpdf->PDFAXwarnings)); - } else if (!empty($objattr['readonly'])) { + } elseif (!empty($objattr['readonly'])) { $this->mpdf->SetFColor($this->colorConverter->convert(225, $this->mpdf->PDFAXwarnings)); $this->mpdf->SetTColor($this->colorConverter->convert(0, $this->mpdf->PDFAXwarnings)); } else { @@ -312,7 +329,7 @@ class Form } $this->mpdf->Rect($this->mpdf->x, $this->mpdf->y, $w, $h, 'DF'); $ClipPath = sprintf('q %.3F %.3F %.3F %.3F re W n ', $this->mpdf->x * Mpdf::SCALE, ($this->mpdf->h - $this->mpdf->y) * Mpdf::SCALE, $w * Mpdf::SCALE, -$h * Mpdf::SCALE); - $this->mpdf->_out($ClipPath); + $this->writer->write($ClipPath); $w -= $this->form_element_spacing['textarea']['inner']['h'] * 2 / $k; $this->mpdf->x += $this->form_element_spacing['textarea']['inner']['h'] / $k; @@ -321,7 +338,7 @@ class Form if ($texto != '') { $this->mpdf->MultiCell($w, $this->mpdf->FontSize * $this->textarea_lineheight, $texto, 0, '', 0, '', $blockdir, true, $objattr['OTLdata'], $objattr['rows']); } - $this->mpdf->_out('Q'); + $this->writer->write('Q'); $this->mpdf->SetFColor($this->colorConverter->convert(255, $this->mpdf->PDFAXwarnings)); $this->mpdf->SetTColor($this->colorConverter->convert(0, $this->mpdf->PDFAXwarnings)); } @@ -446,7 +463,7 @@ class Form $this->SetJSButton($w, $h, $objattr['fieldname'], (isset($objattr['value']) ? $objattr['value'] : ''), $js, $objattr['ID'], $objattr['title'], $flags, (isset($objattr['Indexed']) ? $objattr['Indexed'] : false)); } else { $this->mpdf->y = $objattr['INNER-Y']; - $this->mpdf->_out(sprintf('q %.3F 0 0 %.3F %.3F %.3F cm /I%d Do Q', $objattr['INNER-WIDTH'] * Mpdf::SCALE, $objattr['INNER-HEIGHT'] * Mpdf::SCALE, $objattr['INNER-X'] * Mpdf::SCALE, ($this->mpdf->h - ($objattr['INNER-Y'] + $objattr['INNER-HEIGHT'] )) * Mpdf::SCALE, $objattr['ID'])); + $this->writer->write(sprintf('q %.3F 0 0 %.3F %.3F %.3F cm /I%d Do Q', $objattr['INNER-WIDTH'] * Mpdf::SCALE, $objattr['INNER-HEIGHT'] * Mpdf::SCALE, $objattr['INNER-X'] * Mpdf::SCALE, ($this->mpdf->h - ($objattr['INNER-Y'] + $objattr['INNER-HEIGHT'] )) * Mpdf::SCALE, $objattr['ID'])); if (!empty($objattr['BORDER-WIDTH'])) { $this->mpdf->PaintImgBorder($objattr, $is_table); } @@ -472,13 +489,13 @@ class Form if ($objattr['subtype'] === 'RESET') { $this->SetFormButtonText($objattr['value']); $this->SetFormReset($w, $h, $objattr['fieldname'], $objattr['value'], $objattr['title'], $flags, (isset($objattr['background-col']) ? $objattr['background-col'] : false), (isset($objattr['border-col']) ? $objattr['border-col'] : false), (isset($objattr['noprint']) ? $objattr['noprint'] : false)); - } else if ($objattr['subtype'] === 'SUBMIT') { + } elseif ($objattr['subtype'] === 'SUBMIT') { $url = $this->formAction; $type = $this->formExportType; $method = $this->formMethod; $this->SetFormButtonText($objattr['value']); $this->SetFormSubmit($w, $h, $objattr['fieldname'], $objattr['value'], $url, $objattr['title'], $type, $method, $flags, (isset($objattr['background-col']) ? $objattr['background-col'] : false), (isset($objattr['border-col']) ? $objattr['border-col'] : false), (isset($objattr['noprint']) ? $objattr['noprint'] : false)); - } else if ($objattr['subtype'] === 'BUTTON') { + } elseif ($objattr['subtype'] === 'BUTTON') { $this->SetFormButtonText($objattr['value']); if (isset($objattr['onClick']) && $objattr['onClick']) { $js = $objattr['onClick']; @@ -599,12 +616,16 @@ class Form $radius = $this->mpdf->FontSize * 0.35; $cx = $x + ($w / 2); $cy = $y + ($h / 2); + $color = $this->colorConverter->convert(0, $this->mpdf->PDFAXwarnings); + if (isset($objattr['color']) && $objattr['color']) { + $color = $objattr['color']; + } if (!empty($objattr['disabled'])) { $this->mpdf->SetFColor($this->colorConverter->convert(127, $this->mpdf->PDFAXwarnings)); $this->mpdf->SetDColor($this->colorConverter->convert(127, $this->mpdf->PDFAXwarnings)); } else { - $this->mpdf->SetFColor($this->colorConverter->convert(0, $this->mpdf->PDFAXwarnings)); - $this->mpdf->SetDColor($this->colorConverter->convert(0, $this->mpdf->PDFAXwarnings)); + $this->mpdf->SetFColor($color); + $this->mpdf->SetDColor($color); } $this->mpdf->Circle($cx, $cy, $radius, 'D'); if (!empty($objattr['checked'])) { @@ -634,6 +655,7 @@ class Form } } } + if ($form['typ'] === 'Bt') { if (isset($this->array_form_button_js[$form['T']])) { $total++; @@ -646,7 +668,7 @@ class Form } if ($form['subtype'] === 'radio') { $total+=2; - } else if ($form['subtype'] === 'checkbox') { + } elseif ($form['subtype'] === 'checkbox') { $total++; if (!$this->formUseZapD) { $total++; @@ -706,29 +728,29 @@ class Form // Output Radio Groups $key = 1; foreach ($this->form_radio_groups as $name => $frg) { - $this->mpdf->_newobj(); + $this->writer->object(); $this->pdf_acro_array .= $this->mpdf->n . ' 0 R '; - $this->mpdf->_out('<<'); - $this->mpdf->_out('/Type /Annot '); - $this->mpdf->_out('/Subtype /Widget'); - $this->mpdf->_out('/NM ' . $this->mpdf->_textstring(sprintf('%04u-%04u', $n, 3000 + $key++))); - $this->mpdf->_out('/M ' . $this->mpdf->_textstring('D:' . date('YmdHis'))); - $this->mpdf->_out('/Rect [0 0 0 0] '); - $this->mpdf->_out('/FT /Btn '); + $this->writer->write('<<'); + $this->writer->write('/Type /Annot '); + $this->writer->write('/Subtype /Widget'); + $this->writer->write('/NM ' . $this->writer->string(sprintf('%04u-%04u', $n, 3000 + $key++))); + $this->writer->write('/M ' . $this->writer->string('D:' . date('YmdHis'))); + $this->writer->write('/Rect [0 0 0 0] '); + $this->writer->write('/FT /Btn '); if (!empty($frg['disabled'])) { $flags = [self::FLAG_READONLY, self::FLAG_NO_EXPORT, self::FLAG_RADIO, self::FLAG_NOTOGGLEOFF]; } else { $flags = [self::FLAG_RADIO, self::FLAG_NOTOGGLEOFF]; } - $this->mpdf->_out('/Ff ' . $this->_setflag($flags)); + $this->writer->write('/Ff ' . $this->_setflag($flags)); $kstr = ''; // $optstr = ''; foreach ($frg['kids'] as $kid) { $kstr .= $this->forms[$kid['n']]['obj'] . ' 0 R '; - // $optstr .= ' '.$this->mpdf->_textstring($kid['OPT']).' '; + // $optstr .= ' '.$this->writer->string($kid['OPT']).' '; } - $this->mpdf->_out('/Kids [ ' . $kstr . ' ] '); // 11 0 R 12 0 R etc. - // $this->mpdf->_out('/Opt [ '.$optstr.' ] '); + $this->writer->write('/Kids [ ' . $kstr . ' ] '); // 11 0 R 12 0 R etc. + // $this->writer->write('/Opt [ '.$optstr.' ] '); //V entry holds index corresponding to the appearance state of //whichever child field is currently in the on state = or Off if (isset($frg['on'])) { @@ -736,34 +758,34 @@ class Form } else { $state = 'Off'; } - $this->mpdf->_out('/V /' . $state . ' '); - $this->mpdf->_out('/DV /' . $state . ' '); - $this->mpdf->_out('/T ' . $this->mpdf->_textstring($name) . ' '); - $this->mpdf->_out('>>'); - $this->mpdf->_out('endobj'); + $this->writer->write('/V /' . $state . ' '); + $this->writer->write('/DV /' . $state . ' '); + $this->writer->write('/T ' . $this->writer->string($name) . ' '); + $this->writer->write('>>'); + $this->writer->write('endobj'); } } function _putFormsCatalog() { if (isset($this->pdf_acro_array)) { - $this->mpdf->_out('/AcroForm << /DA (/F1 0 Tf 0 g )'); - $this->mpdf->_out('/Q 0'); - $this->mpdf->_out('/Fields [' . $this->pdf_acro_array . ']'); + $this->writer->write('/AcroForm << /DA (/F1 0 Tf 0 g )'); + $this->writer->write('/Q 0'); + $this->writer->write('/Fields [' . $this->pdf_acro_array . ']'); $f = ''; foreach ($this->form_fonts as $fn) { if (is_array($this->mpdf->fonts[$fn]['n'])) { - $this->mpdf->Error('Cannot use fonts with SMP or SIP characters for interactive Form elements'); + throw new \Mpdf\MpdfException('Cannot use fonts with SMP or SIP characters for interactive Form elements'); } $f .= '/F' . $this->mpdf->fonts[$fn]['i'] . ' ' . $this->mpdf->fonts[$fn]['n'] . ' 0 R '; } - $this->mpdf->_out('/DR << /Font << ' . $f . ' >> >>'); + $this->writer->write('/DR << /Font << ' . $f . ' >> >>'); // CO Calculation Order if ($this->pdf_array_co) { - $this->mpdf->_out('/CO [' . $this->pdf_array_co . ']'); + $this->writer->write('/CO [' . $this->pdf_array_co . ']'); } - $this->mpdf->_out('/NeedAppearances true'); - $this->mpdf->_out('>>'); + $this->writer->write('/NeedAppearances true'); + $this->writer->write('>>'); } } @@ -771,7 +793,7 @@ class Form { $js = str_replace("\t", ' ', trim($js)); if (isset($name) && isset($js)) { - $this->array_form_button_js[$this->mpdf->_escape($name)] = [ + $this->array_form_button_js[$this->writer->escape($name)] = [ 'js' => $js ]; } @@ -781,7 +803,7 @@ class Form { $js = str_replace("\t", ' ', trim($js)); if (isset($name) && isset($js)) { - $this->array_form_choice_js[$this->mpdf->_escape($name)] = [ + $this->array_form_choice_js[$this->writer->escape($name)] = [ 'js' => $js ]; } @@ -793,7 +815,7 @@ class Form $j = str_replace("\t", ' ', trim($js[$i][1])); $format = $js[$i][0]; if ($name) { - $this->array_form_text_js[$this->mpdf->_escape($name)][$format] = ['js' => $j]; + $this->array_form_text_js[$this->writer->escape($name)][$format] = ['js' => $j]; } } } @@ -817,7 +839,7 @@ class Form $this->formCount++; if ($align === 'C') { $align = '1'; - } else if ($align === 'R') { + } elseif ($align === 'R') { $align = '2'; } else { $align = '0'; @@ -826,7 +848,7 @@ class Form $maxlen = false; } if (!preg_match('/^[a-zA-Z0-9_:\-]+$/', $name)) { - $this->mpdf->Error('Field [' . $name . '] must have a name attribute, which can only contain letters, numbers, colon(:), undersore(_) or hyphen(-)'); + throw new \Mpdf\MpdfException('Field [' . $name . '] must have a name attribute, which can only contain letters, numbers, colon(:), undersore(_) or hyphen(-)'); } if ($this->mpdf->onlyCoreFonts) { $value = $this->Win1252ToPDFDocEncoding($value); @@ -839,12 +861,12 @@ class Form $this->mpdf->UTF8StringToArray($title); // Add characters to font subset } if ($value) { - $value = $this->mpdf->UTF8ToUTF16BE($value); + $value = $this->writer->utf8ToUtf16BigEndian($value); } if ($default) { - $default = $this->mpdf->UTF8ToUTF16BE($default); + $default = $this->writer->utf8ToUtf16BigEndian($default); } - $title = $this->mpdf->UTF8ToUTF16BE($title); + $title = $this->writer->utf8ToUtf16BigEndian($title); } if ($background_col) { $bg_c = $this->mpdf->SetColor($background_col, 'CodeOnly'); @@ -856,7 +878,9 @@ class Form } else { $bc_c = $this->form_border_color; } - $f = ['n' => $this->formCount, + + $f = [ + 'n' => $this->formCount, 'typ' => 'Tx', 'page' => $this->mpdf->page, 'x' => $this->mpdf->x, @@ -881,18 +905,24 @@ class Form 'fontcolor' => $this->mpdf->TextColor, ] ]; + if (is_array($js) && count($js) > 0) { $this->SetFormTextJS($name, $js); } // mPDF 5.3.25 if ($this->mpdf->keep_block_together) { $this->mpdf->ktForms[] = $f; - } else if ($this->mpdf->writingHTMLheader || $this->mpdf->writingHTMLfooter) { + } elseif ($this->mpdf->writingHTMLheader || $this->mpdf->writingHTMLfooter) { $this->mpdf->HTMLheaderPageForms[] = $f; } else { if ($this->mpdf->ColActive) { - $this->mpdf->columnbuffer[] = ['s' => 'ACROFORM', 'col' => $this->mpdf->CurrCol, 'x' => $this->mpdf->x, 'y' => $this->mpdf->y, - 'h' => $h]; - $this->mpdf->columnForms[$this->mpdf->CurrCol][(int)$this->mpdf->x][(int)$this->mpdf->y] = $this->formCount; + $this->mpdf->columnbuffer[] = [ + 's' => 'ACROFORM', + 'col' => $this->mpdf->CurrCol, + 'x' => $this->mpdf->x, + 'y' => $this->mpdf->y, + 'h' => $h + ]; + $this->mpdf->columnForms[$this->mpdf->CurrCol][(int) $this->mpdf->x][(int) $this->mpdf->y] = $this->formCount; } $this->forms[$this->formCount] = $f; } @@ -928,10 +958,10 @@ class Form $this->mpdf->UTF8StringToArray($array['OPT'][$i]); // Add characters to font subset } if ($array['VAL'][$i]) { - $array['VAL'][$i] = $this->mpdf->UTF8ToUTF16BE($array['VAL'][$i]); + $array['VAL'][$i] = $this->writer->utf8ToUtf16BigEndian($array['VAL'][$i]); } if ($array['OPT'][$i]) { - $array['OPT'][$i] = $this->mpdf->UTF8ToUTF16BE($array['OPT'][$i]); + $array['OPT'][$i] = $this->writer->utf8ToUtf16BigEndian($array['OPT'][$i]); } } } @@ -961,13 +991,13 @@ class Form } if ($this->mpdf->keep_block_together) { $this->mpdf->ktForms[] = $f; - } else if ($this->mpdf->writingHTMLheader || $this->mpdf->writingHTMLfooter) { + } elseif ($this->mpdf->writingHTMLheader || $this->mpdf->writingHTMLfooter) { $this->mpdf->HTMLheaderPageForms[] = $f; } else { if ($this->mpdf->ColActive) { $this->mpdf->columnbuffer[] = ['s' => 'ACROFORM', 'col' => $this->mpdf->CurrCol, 'x' => $this->mpdf->x, 'y' => $this->mpdf->y, 'h' => $h]; - $this->mpdf->columnForms[$this->mpdf->CurrCol][(int)$this->mpdf->x][(int)$this->mpdf->y] = $this->formCount; + $this->mpdf->columnForms[$this->mpdf->CurrCol][(int) $this->mpdf->x][(int) $this->mpdf->y] = $this->formCount; } $this->forms[$this->formCount] = $f; } @@ -1006,7 +1036,7 @@ class Form $this->SetFormButton($w, $h, $name, $value, 'js_button', $title, $flags, false, false, $background_col, $border_col, $noprint); // pos => 1 = no caption, icon only; 0 = caption only if ($image_id) { - $this->form_button_icon[$this->mpdf->_escape($name)] = [ + $this->form_button_icon[$this->writer->escape($name)] = [ 'pos' => 1, 'image_id' => $image_id, 'Indexed' => $indexed, @@ -1045,18 +1075,18 @@ class Form if (isset($this->mpdf->CurrentFont['subset'])) { $this->mpdf->UTF8StringToArray($ca); // Add characters to font subset } - $ca = $this->mpdf->UTF8ToUTF16BE($ca); + $ca = $this->writer->utf8ToUtf16BigEndian($ca); if ($rc) { if (isset($this->mpdf->CurrentFont['subset'])) { $this->mpdf->UTF8StringToArray($rc); } - $rc = $this->mpdf->UTF8ToUTF16BE($rc); + $rc = $this->writer->utf8ToUtf16BigEndian($rc); } if ($ac) { if (isset($this->mpdf->CurrentFont['subset'])) { $this->mpdf->UTF8StringToArray($ac); } - $ac = $this->mpdf->UTF8ToUTF16BE($ac); + $ac = $this->writer->utf8ToUtf16BigEndian($ac); } } $this->form_button_text = $ca; @@ -1068,32 +1098,32 @@ class Form { $this->formCount++; if (!preg_match('/^[a-zA-Z0-9_:\-]+$/', $name)) { - $this->mpdf->Error('Field [' . $name . '] must have a name attribute, which can only contain letters, numbers, colon(:), undersore(_) or hyphen(-)'); + throw new \Mpdf\MpdfException('Field [' . $name . '] must have a name attribute, which can only contain letters, numbers, colon(:), undersore(_) or hyphen(-)'); } if (!$this->mpdf->onlyCoreFonts) { if (isset($this->mpdf->CurrentFont['subset'])) { $this->mpdf->UTF8StringToArray($title); // Add characters to font subset $this->mpdf->UTF8StringToArray($value); // Add characters to font subset } - $title = $this->mpdf->UTF8ToUTF16BE($title); + $title = $this->writer->utf8ToUtf16BigEndian($title); if ($type === 'checkbox') { - $uvalue = $this->mpdf->UTF8ToUTF16BE($value); - } else if ($type === 'radio') { - $uvalue = $this->mpdf->UTF8ToUTF16BE($value); + $uvalue = $this->writer->utf8ToUtf16BigEndian($value); + } elseif ($type === 'radio') { + $uvalue = $this->writer->utf8ToUtf16BigEndian($value); $value = mb_convert_encoding($value, 'Windows-1252', 'UTF-8'); } else { - $value = $this->mpdf->UTF8ToUTF16BE($value); + $value = $this->writer->utf8ToUtf16BigEndian($value); $uvalue = $value; } } else { $title = $this->Win1252ToPDFDocEncoding($title); $value = $this->Win1252ToPDFDocEncoding($value); //// ??? not needed $uvalue = mb_convert_encoding($value, 'UTF-8', 'Windows-1252'); - $uvalue = $this->mpdf->UTF8ToUTF16BE($uvalue); + $uvalue = $this->writer->utf8ToUtf16BigEndian($uvalue); } if ($type === 'radio' || $type === 'checkbox') { if (!preg_match('/^[a-zA-Z0-9_:\-\.]+$/', $value)) { - $this->mpdf->Error("Field '" . $name . "' must have a value, which can only contain letters, numbers, colon(:), underscore(_), hyphen(-) or period(.)"); + throw new \Mpdf\MpdfException("Field '" . $name . "' must have a value, which can only contain letters, numbers, colon(:), underscore(_), hyphen(-) or period(.)"); } } if ($type === 'radio') { @@ -1163,13 +1193,13 @@ class Form ]; if ($this->mpdf->keep_block_together) { $this->mpdf->ktForms[] = $f; - } else if ($this->mpdf->writingHTMLheader || $this->mpdf->writingHTMLfooter) { + } elseif ($this->mpdf->writingHTMLheader || $this->mpdf->writingHTMLfooter) { $this->mpdf->HTMLheaderPageForms[] = $f; } else { if ($this->mpdf->ColActive) { $this->mpdf->columnbuffer[] = ['s' => 'ACROFORM', 'col' => $this->mpdf->CurrCol, 'x' => $this->mpdf->x, 'y' => $this->mpdf->y, 'h' => $hh]; - $this->mpdf->columnForms[$this->mpdf->CurrCol][(int)$this->mpdf->x][(int)$this->mpdf->y] = $this->formCount; + $this->mpdf->columnForms[$this->mpdf->CurrCol][(int) $this->mpdf->x][(int) $this->mpdf->y] = $this->formCount; } $this->forms[$this->formCount] = $f; } @@ -1269,11 +1299,14 @@ class Form $y = $hPt - ($y * Mpdf::SCALE); $x2 = $x + ($w * Mpdf::SCALE); $y2 = $y - ($h * Mpdf::SCALE); + return sprintf('%.3F %.3F %.3F %.3F', $x, $y2, $x2, $y); } function _put_button_icon($array, $w, $h) { + $info = true; + if (isset($array['image_id'])) { $info = false; foreach ($this->mpdf->images as $iid => $img) { @@ -1283,46 +1316,52 @@ class Form } } } + if (!$info) { throw new \Mpdf\MpdfException('Cannot find Button image'); } - $this->mpdf->_newobj(); - $this->mpdf->_out('<<'); - $this->mpdf->_out('/Type /XObject'); - $this->mpdf->_out('/Subtype /Image'); - $this->mpdf->_out('/BBox [0 0 1 1]'); - $this->mpdf->_out('/Length ' . strlen($info['data'])); - $this->mpdf->_out('/BitsPerComponent ' . $info['bpc']); + + $this->writer->object(); + $this->writer->write('<<'); + $this->writer->write('/Type /XObject'); + $this->writer->write('/Subtype /Image'); + $this->writer->write('/BBox [0 0 1 1]'); + $this->writer->write('/Length ' . strlen($info['data'])); + $this->writer->write('/BitsPerComponent ' . $info['bpc']); + if ($info['cs'] === 'Indexed') { - $this->mpdf->_out('/ColorSpace [/Indexed /DeviceRGB ' . (strlen($info['pal']) / 3 - 1) . ' ' . ($this->mpdf->n + 1) . ' 0 R]'); + $this->writer->write('/ColorSpace [/Indexed /DeviceRGB ' . (strlen($info['pal']) / 3 - 1) . ' ' . ($this->mpdf->n + 1) . ' 0 R]'); } else { - $this->mpdf->_out('/ColorSpace /' . $info['cs']); + $this->writer->write('/ColorSpace /' . $info['cs']); if ($info['cs'] === 'DeviceCMYK') { if ($info['type'] === 'jpg') { - $this->mpdf->_out('/Decode [1 0 1 0 1 0 1 0]'); + $this->writer->write('/Decode [1 0 1 0 1 0 1 0]'); } } } + if (isset($info['f'])) { - $this->mpdf->_out('/Filter /' . $info['f']); + $this->writer->write('/Filter /' . $info['f']); } + if (isset($info['parms'])) { - $this->mpdf->_out($info['parms']); + $this->writer->write($info['parms']); } - $this->mpdf->_out('/Width ' . $info['w']); - $this->mpdf->_out('/Height ' . $info['h']); - $this->mpdf->_out('>>'); - $this->mpdf->_putstream($info['data']); - $this->mpdf->_out('endobj'); - unset($array); + + $this->writer->write('/Width ' . $info['w']); + $this->writer->write('/Height ' . $info['h']); + $this->writer->write('>>'); + $this->writer->stream($info['data']); + $this->writer->write('endobj'); + //Palette if ($info['cs'] === 'Indexed') { $filter = $this->mpdf->compress ? '/Filter /FlateDecode ' : ''; - $this->mpdf->_newobj(); + $this->writer->object(); $pal = $this->mpdf->compress ? gzcompress($info['pal']) : $info['pal']; - $this->mpdf->_out('<<' . $filter . '/Length ' . strlen($pal) . '>>'); - $this->mpdf->_putstream($pal); - $this->mpdf->_out('endobj'); + $this->writer->write('<<' . $filter . '/Length ' . strlen($pal) . '>>'); + $this->writer->stream($pal); + $this->writer->write('endobj'); } } @@ -1331,38 +1370,49 @@ class Form $cc = 0; $put_js = 0; $put_icon = 0; - $this->mpdf->_newobj(); + $this->writer->object(); $n = $this->mpdf->n; + if ($form['subtype'] !== 'radio') { $this->pdf_acro_array .= $n . ' 0 R '; // Add to /Field element } + $this->forms[$form['n']]['obj'] = $n; - $this->mpdf->_out('<<'); - $this->mpdf->_out('/Type /Annot '); - $this->mpdf->_out('/Subtype /Widget'); - $this->mpdf->_out('/NM ' . $this->mpdf->_textstring(sprintf('%04u-%04u', $n, 7000 + $form['n']))); - $this->mpdf->_out('/M ' . $this->mpdf->_textstring('D:' . date('YmdHis'))); - $this->mpdf->_out('/Rect [ ' . $this->_form_rect($form['x'], $form['y'], $form['w'], $form['h'], $hPt) . ' ]'); - $form['noprint'] ? $this->mpdf->_out('/F 0 ') : $this->mpdf->_out('/F 4 '); - $this->mpdf->_out('/FT /Btn '); - $this->mpdf->_out('/H /P '); + $this->writer->write('<<'); + $this->writer->write('/Type /Annot '); + $this->writer->write('/Subtype /Widget'); + $this->writer->write('/NM ' . $this->writer->string(sprintf('%04u-%04u', $n, 7000 + $form['n']))); + $this->writer->write('/M ' . $this->writer->string('D:' . date('YmdHis'))); + $this->writer->write('/Rect [ ' . $this->_form_rect($form['x'], $form['y'], $form['w'], $form['h'], $hPt) . ' ]'); + + $form['noprint'] ? $this->writer->write('/F 0 ') : $this->writer->write('/F 4 '); + + $this->writer->write('/FT /Btn '); + $this->writer->write('/H /P '); + if ($form['subtype'] !== 'radio') { // mPDF 5.3.23 - $this->mpdf->_out('/T ' . $this->mpdf->_textstring($form['T'])); + $this->writer->write('/T ' . $this->writer->string($form['T'])); } - $this->mpdf->_out('/TU ' . $this->mpdf->_textstring($form['TU'])); + + $this->writer->write('/TU ' . $this->writer->string($form['TU'])); + if (isset($this->form_button_icon[$form['T']])) { $form['BS_W'] = 0; } + if ($form['BS_W'] == 0) { $form['BC_C'] = $form['BG_C']; } + $bstemp = ''; $bstemp .= '/W ' . $form['BS_W'] . ' '; $bstemp .= '/S /' . $form['BS_S'] . ' '; $temp = ''; $temp .= '/BC [ ' . $form['BC_C'] . ' ] '; $temp .= '/BG [ ' . $form['BG_C'] . ' ] '; + if ($form['subtype'] === 'checkbox') { + if ($form['disabled']) { $radio_color = '0.5 0.5 0.5'; $radio_background_color = '0.9 0.9 0.9'; @@ -1370,31 +1420,35 @@ class Form $radio_color = $this->form_radio_color; $radio_background_color = $this->form_radio_background_color; } + $temp = ''; $temp .= '/BC [ ' . $radio_color . ' ] '; $temp .= '/BG [ ' . $radio_background_color . ' ] '; - $this->mpdf->_out('/BS << /W 1 /S /S >>'); - $this->mpdf->_out("/MK << $temp >>"); - $this->mpdf->_out('/Ff ' . $this->_setflag($form['FF'])); + $this->writer->write('/BS << /W 1 /S /S >>'); + $this->writer->write("/MK << $temp >>"); + $this->writer->write('/Ff ' . $this->_setflag($form['FF'])); + if ($form['activ']) { - $this->mpdf->_out('/V /' . $this->mpdf->_escape($form['V']) . ' '); - $this->mpdf->_out('/DV /' . $this->mpdf->_escape($form['V']) . ' '); - $this->mpdf->_out('/AS /' . $this->mpdf->_escape($form['V']) . ' '); + $this->writer->write('/V /' . $this->writer->escape($form['V']) . ' '); + $this->writer->write('/DV /' . $this->writer->escape($form['V']) . ' '); + $this->writer->write('/AS /' . $this->writer->escape($form['V']) . ' '); } else { - $this->mpdf->_out('/AS /Off '); + $this->writer->write('/AS /Off '); } + if ($this->formUseZapD) { - $this->mpdf->_out('/DA (/F' . $this->mpdf->fonts['czapfdingbats']['i'] . ' 0 Tf ' . $radio_color . ' rg)'); - $this->mpdf->_out('/AP << /N << /' . $this->mpdf->_escape($form['V']) . ' ' . ($this->mpdf->n + 1) . ' 0 R /Off /Off >> >>'); + $this->writer->write('/DA (/F' . $this->mpdf->fonts['czapfdingbats']['i'] . ' 0 Tf ' . $radio_color . ' rg)'); + $this->writer->write('/AP << /N << /' . $this->writer->escape($form['V']) . ' ' . ($this->mpdf->n + 1) . ' 0 R /Off /Off >> >>'); } else { - $this->mpdf->_out('/DA (/F' . $this->mpdf->fonts[$this->mpdf->CurrentFont['fontkey']]['i'] . ' 0 Tf ' . $radio_color . ' rg)'); - $this->mpdf->_out('/AP << /N << /' . $this->mpdf->_escape($form['V']) . ' ' . ($this->mpdf->n + 1) . ' 0 R /Off ' . ($this->mpdf->n + 2) . ' 0 R >> >>'); + $this->writer->write('/DA (/F' . $this->mpdf->fonts[$this->mpdf->CurrentFont['fontkey']]['i'] . ' 0 Tf ' . $radio_color . ' rg)'); + $this->writer->write('/AP << /N << /' . $this->writer->escape($form['V']) . ' ' . ($this->mpdf->n + 1) . ' 0 R /Off ' . ($this->mpdf->n + 2) . ' 0 R >> >>'); } - $this->mpdf->_out('/Opt [ ' . $this->mpdf->_textstring($form['OPT']) . ' ' . $this->mpdf->_textstring($form['OPT']) . ' ]'); + + $this->writer->write('/Opt [ ' . $this->writer->string($form['OPT']) . ' ' . $this->writer->string($form['OPT']) . ' ]'); } - if ($form['subtype'] === 'radio') { + if ((isset($form['disabled']) && $form['disabled']) || (isset($this->form_radio_groups[$form['T']]['disabled']) && $this->form_radio_groups[$form['T']]['disabled'])) { $radio_color = '0.5 0.5 0.5'; $radio_background_color = '0.9 0.9 0.9'; @@ -1402,64 +1456,69 @@ class Form $radio_color = $this->form_radio_color; $radio_background_color = $this->form_radio_background_color; } - $this->mpdf->_out('/Parent ' . $this->form_radio_groups[$form['T']]['obj_id'] . ' 0 R '); + + $this->writer->write('/Parent ' . $this->form_radio_groups[$form['T']]['obj_id'] . ' 0 R '); + $temp = ''; $temp .= '/BC [ ' . $radio_color . ' ] '; $temp .= '/BG [ ' . $radio_background_color . ' ] '; - $this->mpdf->_out('/BS << /W 1 /S /S >>'); - $this->mpdf->_out('/MK << ' . $temp . ' >> '); + + $this->writer->write('/BS << /W 1 /S /S >>'); + $this->writer->write('/MK << ' . $temp . ' >> '); + $form['FF'][] = self::FLAG_NOTOGGLEOFF; $form['FF'][] = self::FLAG_RADIO; // must be same as radio button group setting? - $this->mpdf->_out('/Ff ' . $this->_setflag($form['FF'])); + $this->writer->write('/Ff ' . $this->_setflag($form['FF'])); + if ($this->formUseZapD) { - $this->mpdf->_out('/DA (/F' . $this->mpdf->fonts['czapfdingbats']['i'] . ' 0 Tf ' . $radio_color . ' rg)'); + $this->writer->write('/DA (/F' . $this->mpdf->fonts['czapfdingbats']['i'] . ' 0 Tf ' . $radio_color . ' rg)'); } else { - $this->mpdf->_out('/DA (/F' . $this->mpdf->fonts[$this->mpdf->CurrentFont['fontkey']]['i'] . ' 0 Tf ' . $radio_color . ' rg)'); + $this->writer->write('/DA (/F' . $this->mpdf->fonts[$this->mpdf->CurrentFont['fontkey']]['i'] . ' 0 Tf ' . $radio_color . ' rg)'); } - $this->mpdf->_out('/AP << /N << /' . $this->mpdf->_escape($form['V']) . ' ' . ($this->mpdf->n + 1) . ' 0 R /Off ' . ($this->mpdf->n + 2) . ' 0 R >> >>'); + + $this->writer->write('/AP << /N << /' . $this->writer->escape($form['V']) . ' ' . ($this->mpdf->n + 1) . ' 0 R /Off ' . ($this->mpdf->n + 2) . ' 0 R >> >>'); + if ($form['activ']) { - $this->mpdf->_out('/V /' . $this->mpdf->_escape($form['V']) . ' '); - $this->mpdf->_out('/DV /' . $this->mpdf->_escape($form['V']) . ' '); - $this->mpdf->_out('/AS /' . $this->mpdf->_escape($form['V']) . ' '); + $this->writer->write('/V /' . $this->writer->escape($form['V']) . ' '); + $this->writer->write('/DV /' . $this->writer->escape($form['V']) . ' '); + $this->writer->write('/AS /' . $this->writer->escape($form['V']) . ' '); } else { - $this->mpdf->_out('/AS /Off '); + $this->writer->write('/AS /Off '); } - $this->mpdf->_out('/AP << /N << /' . $this->mpdf->_escape($form['V']) . ' ' . ($this->mpdf->n + 1) . ' 0 R /Off ' . ($this->mpdf->n + 2) . ' 0 R >> >>'); - // $this->mpdf->_out('/Opt [ '.$this->mpdf->_textstring($form['OPT']).' '.$this->mpdf->_textstring($form['OPT']).' ]'); + $this->writer->write('/AP << /N << /' . $this->writer->escape($form['V']) . ' ' . ($this->mpdf->n + 1) . ' 0 R /Off ' . ($this->mpdf->n + 2) . ' 0 R >> >>'); + // $this->writer->write('/Opt [ '.$this->writer->string($form['OPT']).' '.$this->writer->string($form['OPT']).' ]'); } if ($form['subtype'] === 'reset') { - $temp .= $form['CA'] ? '/CA ' . $this->mpdf->_textstring($form['CA']) . ' ' : '/CA ' . $this->mpdf->_textstring($form['T']) . ' '; - $temp .= $form['RC'] ? '/RC ' . $this->mpdf->_textstring($form['RC']) . ' ' : '/RC ' . $this->mpdf->_textstring($form['T']) . ' '; - $temp .= $form['AC'] ? '/AC ' . $this->mpdf->_textstring($form['AC']) . ' ' : '/AC ' . $this->mpdf->_textstring($form['T']) . ' '; - $this->mpdf->_out("/BS << $bstemp >>"); - $this->mpdf->_out('/MK << ' . $temp . ' >>'); - $this->mpdf->_out('/DA (/F' . $this->mpdf->fonts[$form['style']['font']]['i'] . ' ' . $form['style']['fontsize'] . ' Tf ' . $form['style']['fontcolor'] . ')'); - $this->mpdf->_out('/AA << /D << /S /ResetForm /Flags 1 >> >>'); + $temp .= $form['CA'] ? '/CA ' . $this->writer->string($form['CA']) . ' ' : '/CA ' . $this->writer->string($form['T']) . ' '; + $temp .= $form['RC'] ? '/RC ' . $this->writer->string($form['RC']) . ' ' : '/RC ' . $this->writer->string($form['T']) . ' '; + $temp .= $form['AC'] ? '/AC ' . $this->writer->string($form['AC']) . ' ' : '/AC ' . $this->writer->string($form['T']) . ' '; + $this->writer->write("/BS << $bstemp >>"); + $this->writer->write('/MK << ' . $temp . ' >>'); + $this->writer->write('/DA (/F' . $this->mpdf->fonts[$form['style']['font']]['i'] . ' ' . $form['style']['fontsize'] . ' Tf ' . $form['style']['fontcolor'] . ')'); + $this->writer->write('/AA << /D << /S /ResetForm /Flags 1 >> >>'); $form['FF'][] = 17; - $this->mpdf->_out('/Ff ' . $this->_setflag($form['FF'])); + $this->writer->write('/Ff ' . $this->_setflag($form['FF'])); } - if ($form['subtype'] === 'submit') { - $temp .= $form['CA'] ? '/CA ' . $this->mpdf->_textstring($form['CA']) . ' ' : '/CA ' . $this->mpdf->_textstring($form['T']) . ' '; - $temp .= $form['RC'] ? '/RC ' . $this->mpdf->_textstring($form['RC']) . ' ' : '/RC ' . $this->mpdf->_textstring($form['T']) . ' '; - $temp .= $form['AC'] ? '/AC ' . $this->mpdf->_textstring($form['AC']) . ' ' : '/AC ' . $this->mpdf->_textstring($form['T']) . ' '; - $this->mpdf->_out("/BS << $bstemp >>"); - $this->mpdf->_out("/MK << $temp >>"); - $this->mpdf->_out('/DA (/F' . $this->mpdf->fonts[$form['style']['font']]['i'] . ' ' . $form['style']['fontsize'] . ' Tf ' . $form['style']['fontcolor'] . ')'); + + $temp .= $form['CA'] ? '/CA ' . $this->writer->string($form['CA']) . ' ' : '/CA ' . $this->writer->string($form['T']) . ' '; + $temp .= $form['RC'] ? '/RC ' . $this->writer->string($form['RC']) . ' ' : '/RC ' . $this->writer->string($form['T']) . ' '; + $temp .= $form['AC'] ? '/AC ' . $this->writer->string($form['AC']) . ' ' : '/AC ' . $this->writer->string($form['T']) . ' '; + $this->writer->write("/BS << $bstemp >>"); + $this->writer->write("/MK << $temp >>"); + $this->writer->write('/DA (/F' . $this->mpdf->fonts[$form['style']['font']]['i'] . ' ' . $form['style']['fontsize'] . ' Tf ' . $form['style']['fontcolor'] . ')'); + // Bit 4 (8) = useGETmethod else use POST // Bit 3 (4) = HTML export format (charset chosen by Adobe)--- OR --- // Bit 6 (32) = XFDF export format (form of XML in UTF-8) if ($form['exporttype'] === 'xfdf') { $flag = 32; - } // 'xfdf' or 'html' - else { - if ($form['method'] === 'GET') { - $flag = 12; - } else { - $flag = 4; - } + } elseif ($form['method'] === 'GET') { // 'xfdf' or 'html' + $flag = 12; + } else { + $flag = 4; } // Bit 2 (2) = IncludeNoValueFields if ($this->formSubmitNoValueFields) { @@ -1467,9 +1526,9 @@ class Form } // To submit a value, needs to be in /AP dictionary, AND this object must contain a /Fields entry // listing all fields to output - $this->mpdf->_out('/AA << /D << /S /SubmitForm /F (' . $form['URL'] . ') /Flags ' . $flag . ' >> >>'); + $this->writer->write('/AA << /D << /S /SubmitForm /F (' . $form['URL'] . ') /Flags ' . $flag . ' >> >>'); $form['FF'][] = 17; - $this->mpdf->_out('/Ff ' . $this->_setflag($form['FF'])); + $this->writer->write('/Ff ' . $this->_setflag($form['FF'])); } if ($form['subtype'] === 'js_button') { @@ -1486,33 +1545,33 @@ class Form } $put_icon = 1; } - $temp .= $form['CA'] ? '/CA ' . $this->mpdf->_textstring($form['CA']) . ' ' : '/CA ' . $this->mpdf->_textstring($form['T']) . ' '; - $temp .= $form['RC'] ? '/RC ' . $this->mpdf->_textstring($form['RC']) . ' ' : '/RC ' . $this->mpdf->_textstring($form['T']) . ' '; - $temp .= $form['AC'] ? '/AC ' . $this->mpdf->_textstring($form['AC']) . ' ' : '/AC ' . $this->mpdf->_textstring($form['T']) . ' '; - $this->mpdf->_out("/BS << $bstemp >>"); - $this->mpdf->_out("/MK << $temp >>"); - $this->mpdf->_out('/DA (/F' . $this->mpdf->fonts[$form['style']['font']]['i'] . ' ' . $form['style']['fontsize'] . ' Tf ' . $form['style']['fontcolor'] . ')'); + $temp .= $form['CA'] ? '/CA ' . $this->writer->string($form['CA']) . ' ' : '/CA ' . $this->writer->string($form['T']) . ' '; + $temp .= $form['RC'] ? '/RC ' . $this->writer->string($form['RC']) . ' ' : '/RC ' . $this->writer->string($form['T']) . ' '; + $temp .= $form['AC'] ? '/AC ' . $this->writer->string($form['AC']) . ' ' : '/AC ' . $this->writer->string($form['T']) . ' '; + $this->writer->write("/BS << $bstemp >>"); + $this->writer->write("/MK << $temp >>"); + $this->writer->write('/DA (/F' . $this->mpdf->fonts[$form['style']['font']]['i'] . ' ' . $form['style']['fontsize'] . ' Tf ' . $form['style']['fontcolor'] . ')'); $form['FF'][] = 17; - $this->mpdf->_out('/Ff ' . $this->_setflag($form['FF'])); + $this->writer->write('/Ff ' . $this->_setflag($form['FF'])); // Javascript if (isset($this->array_form_button_js[$form['T']])) { $cc++; - $this->mpdf->_out('/AA << /D ' . ($cc + $this->mpdf->n) . ' 0 R >>'); + $this->writer->write('/AA << /D ' . ($cc + $this->mpdf->n) . ' 0 R >>'); $put_js = 1; } } - $this->mpdf->_out('>>'); - $this->mpdf->_out('endobj'); + $this->writer->write('>>'); + $this->writer->write('endobj'); // additional objects // obj icon - if ($put_icon == 1) { + if ($put_icon === 1) { $this->_put_button_icon($this->form_button_icon[$form['T']], $form['w'], $form['h']); $put_icon = null; } // obj + 1 - if ($put_js == 1) { + if ($put_js === 1) { $this->mpdf->_set_object_javascript($this->array_form_button_js[$form['T']]['js']); unset($this->array_form_button_js[$form['T']]); $put_js = null; @@ -1537,18 +1596,19 @@ f Q '; $r_off = 'q ' . $matrix . ' cm ' . $fill . $radio_color . ' rg ' . $circle . ' Q '; } - $this->mpdf->_newobj(); + $this->writer->object(); $p = $this->mpdf->compress ? gzcompress($r_on) : $r_on; - $this->mpdf->_out('<<' . $filter . '/Length ' . strlen($p) . ' /Resources 2 0 R>>'); - $this->mpdf->_putstream($p); - $this->mpdf->_out('endobj'); + $this->writer->write('<<' . $filter . '/Length ' . strlen($p) . ' /Resources 2 0 R>>'); + $this->writer->stream($p); + $this->writer->write('endobj'); - $this->mpdf->_newobj(); + $this->writer->object(); $p = $this->mpdf->compress ? gzcompress($r_off) : $r_off; - $this->mpdf->_out('<<' . $filter . '/Length ' . strlen($p) . ' /Resources 2 0 R>>'); - $this->mpdf->_putstream($p); - $this->mpdf->_out('endobj'); + $this->writer->write('<<' . $filter . '/Length ' . strlen($p) . ' /Resources 2 0 R>>'); + $this->writer->stream($p); + $this->writer->write('endobj'); } + if ($form['subtype'] === 'checkbox') { // First output appearance stream for check box on if ($this->formUseZapD) { @@ -1564,19 +1624,19 @@ f Q '; 6.321 -1.352 m 5.669 -2.075 5.070 -2.801 4.525 -3.532 c 3.979 -4.262 3.508 -4.967 3.112 -5.649 c 3.080 -5.706 3.039 -5.779 2.993 -5.868 c 2.858 -6.118 2.638 -6.243 2.334 -6.243 c 2.194 -6.243 2.100 -6.231 2.052 -6.205 c 2.003 -6.180 1.954 -6.118 1.904 -6.020 c 1.787 -5.788 1.688 -5.523 1.604 -5.226 c 1.521 -4.930 1.480 -4.721 1.480 -4.600 c 1.480 -4.535 1.491 -4.484 1.512 -4.447 c 1.535 -4.410 1.579 -4.367 1.647 -4.319 c 1.733 -4.259 1.828 -4.210 1.935 -4.172 c 2.040 -4.134 2.131 -4.115 2.205 -4.115 c 2.267 -4.115 2.341 -4.232 2.429 -4.469 c 2.437 -4.494 2.444 -4.511 2.448 -4.522 c 2.451 -4.531 2.456 -4.546 2.465 -4.568 c 2.546 -4.795 2.614 -4.910 2.668 -4.910 c 2.714 -4.910 2.898 -4.652 3.219 -4.136 c 3.539 -3.620 3.866 -3.136 4.197 -2.683 c 4.426 -2.367 4.633 -2.103 4.816 -1.889 c 4.998 -1.676 5.131 -1.544 5.211 -1.493 c 5.329 -1.426 5.483 -1.368 5.670 -1.319 c 5.856 -1.271 6.066 -1.238 6.296 -1.217 c 6.321 -1.352 l h f Q '; $cb_off = 'q ' . $matrix . ' cm ' . $fill . $radio_color . ' rg ' . $square . ' f Q '; } - $this->mpdf->_newobj(); + $this->writer->object(); $p = $this->mpdf->compress ? gzcompress($cb_on) : $cb_on; - $this->mpdf->_out('<<' . $filter . '/Length ' . strlen($p) . ' /Resources 2 0 R>>'); - $this->mpdf->_putstream($p); - $this->mpdf->_out('endobj'); + $this->writer->write('<<' . $filter . '/Length ' . strlen($p) . ' /Resources 2 0 R>>'); + $this->writer->stream($p); + $this->writer->write('endobj'); // output appearance stream for check box off (only if not using ZapfDingbats) if (!$this->formUseZapD) { - $this->mpdf->_newobj(); + $this->writer->object(); $p = $this->mpdf->compress ? gzcompress($cb_off) : $cb_off; - $this->mpdf->_out('<<' . $filter . '/Length ' . strlen($p) . ' /Resources 2 0 R>>'); - $this->mpdf->_putstream($p); - $this->mpdf->_out('endobj'); + $this->writer->write('<<' . $filter . '/Length ' . strlen($p) . ' /Resources 2 0 R>>'); + $this->writer->stream($p); + $this->writer->write('endobj'); } } return $n; @@ -1585,74 +1645,77 @@ f Q '; function _putform_ch($form, $hPt) { $put_js = 0; - $this->mpdf->_newobj(); + $this->writer->object(); $n = $this->mpdf->n; $this->pdf_acro_array .= $n . ' 0 R '; $this->forms[$form['n']]['obj'] = $n; - $this->mpdf->_out('<<'); - $this->mpdf->_out('/Type /Annot '); - $this->mpdf->_out('/Subtype /Widget'); - $this->mpdf->_out('/Rect [ ' . $this->_form_rect($form['x'], $form['y'], $form['w'], $form['h'], $hPt) . ' ]'); - $this->mpdf->_out('/F 4'); - $this->mpdf->_out('/FT /Ch'); + $this->writer->write('<<'); + $this->writer->write('/Type /Annot '); + $this->writer->write('/Subtype /Widget'); + $this->writer->write('/Rect [ ' . $this->_form_rect($form['x'], $form['y'], $form['w'], $form['h'], $hPt) . ' ]'); + $this->writer->write('/F 4'); + $this->writer->write('/FT /Ch'); if ($form['Q']) { - $this->mpdf->_out('/Q ' . $form['Q'] . ''); + $this->writer->write('/Q ' . $form['Q'] . ''); } $temp = ''; $temp .= '/W ' . $form['BS_W'] . ' '; $temp .= '/S /' . $form['BS_S'] . ' '; - $this->mpdf->_out("/BS << $temp >>"); + $this->writer->write("/BS << $temp >>"); $temp = ''; $temp .= '/BC [ ' . $form['BC_C'] . ' ] '; $temp .= '/BG [ ' . $form['BG_C'] . ' ] '; - $this->mpdf->_out('/MK << ' . $temp . ' >>'); + $this->writer->write('/MK << ' . $temp . ' >>'); - $this->mpdf->_out('/NM ' . $this->mpdf->_textstring(sprintf('%04u-%04u', $n, 6000 + $form['n']))); - $this->mpdf->_out('/M ' . $this->mpdf->_textstring('D:' . date('YmdHis'))); + $this->writer->write('/NM ' . $this->writer->string(sprintf('%04u-%04u', $n, 6000 + $form['n']))); + $this->writer->write('/M ' . $this->writer->string('D:' . date('YmdHis'))); - $this->mpdf->_out('/T ' . $this->mpdf->_textstring($form['T'])); - $this->mpdf->_out('/DA (/F' . $this->mpdf->fonts[$form['style']['font']]['i'] . ' ' . $form['style']['fontsize'] . ' Tf ' . $form['style']['fontcolor'] . ')'); + $this->writer->write('/T ' . $this->writer->string($form['T'])); + $this->writer->write('/DA (/F' . $this->mpdf->fonts[$form['style']['font']]['i'] . ' ' . $form['style']['fontsize'] . ' Tf ' . $form['style']['fontcolor'] . ')'); $opt = ''; - for ($i = 0; $i < count($form['OPT']['VAL']); $i++) { - $opt .= '[ ' . $this->mpdf->_textstring($form['OPT']['VAL'][$i]) . ' ' . $this->mpdf->_textstring($form['OPT']['OPT'][$i]) . ' ] '; + $count = count($form['OPT']['VAL']); + for ($i = 0; $i < $count; $i++) { + $opt .= '[ ' . $this->writer->string($form['OPT']['VAL'][$i]) . ' ' . $this->writer->string($form['OPT']['OPT'][$i]) . ' ] '; } - $this->mpdf->_out('/Opt [ ' . $opt . ']'); + $this->writer->write('/Opt [ ' . $opt . ']'); // selected $selectItem = false; $selectIndex = false; foreach ($form['OPT']['SEL'] as $selectKey => $selectVal) { - $selectName = $this->mpdf->_textstring($form['OPT']['VAL'][$selectVal]); + $selectName = $this->writer->string($form['OPT']['VAL'][$selectVal]); $selectItem .= ' ' . $selectName . ' '; $selectIndex .= ' ' . $selectVal . ' '; } if ($selectItem) { if (count($form['OPT']['SEL']) < 2) { - $this->mpdf->_out('/V ' . $selectItem . ' '); - $this->mpdf->_out('/DV ' . $selectItem . ' '); + $this->writer->write('/V ' . $selectItem . ' '); + $this->writer->write('/DV ' . $selectItem . ' '); } else { - $this->mpdf->_out('/V [' . $selectItem . '] '); - $this->mpdf->_out('/DV [' . $selectItem . '] '); + $this->writer->write('/V [' . $selectItem . '] '); + $this->writer->write('/DV [' . $selectItem . '] '); } - $this->mpdf->_out('/I [' . $selectIndex . '] '); + $this->writer->write('/I [' . $selectIndex . '] '); } if (is_array($form['FF']) && count($form['FF']) > 0) { - $this->mpdf->_out('/Ff ' . $this->_setflag($form['FF']) . ' '); + $this->writer->write('/Ff ' . $this->_setflag($form['FF']) . ' '); } + // Javascript if (isset($this->array_form_choice_js[$form['T']])) { - $this->mpdf->_out('/AA << /V ' . ($this->mpdf->n + 1) . ' 0 R >>'); + $this->writer->write('/AA << /V ' . ($this->mpdf->n + 1) . ' 0 R >>'); $put_js = 1; } - $this->mpdf->_out('>>'); - $this->mpdf->_out('endobj'); + $this->writer->write('>>'); + $this->writer->write('endobj'); + // obj + 1 - if ($put_js == 1) { + if ($put_js === 1) { $this->mpdf->_set_object_javascript($this->array_form_choice_js[$form['T']]['js']); unset($this->array_form_choice_js[$form['T']]); $put_js = null; @@ -1664,52 +1727,52 @@ f Q '; function _putform_tx($form, $hPt) { $put_js = 0; - $this->mpdf->_newobj(); + $this->writer->object(); $n = $this->mpdf->n; $this->pdf_acro_array .= $n . ' 0 R '; $this->forms[$form['n']]['obj'] = $n; - $this->mpdf->_out('<<'); - $this->mpdf->_out('/Type /Annot '); - $this->mpdf->_out('/Subtype /Widget '); + $this->writer->write('<<'); + $this->writer->write('/Type /Annot '); + $this->writer->write('/Subtype /Widget '); - $this->mpdf->_out('/Rect [ ' . $this->_form_rect($form['x'], $form['y'], $form['w'], $form['h'], $hPt) . ' ] '); - $form['hidden'] ? $this->mpdf->_out('/F 2 ') : $this->mpdf->_out('/F 4 '); - $this->mpdf->_out('/FT /Tx '); + $this->writer->write('/Rect [ ' . $this->_form_rect($form['x'], $form['y'], $form['w'], $form['h'], $hPt) . ' ] '); + $form['hidden'] ? $this->writer->write('/F 2 ') : $this->writer->write('/F 4 '); + $this->writer->write('/FT /Tx '); - $this->mpdf->_out('/H /N '); - $this->mpdf->_out('/R 0 '); + $this->writer->write('/H /N '); + $this->writer->write('/R 0 '); if (is_array($form['FF']) && count($form['FF']) > 0) { - $this->mpdf->_out('/Ff ' . $this->_setflag($form['FF']) . ' '); + $this->writer->write('/Ff ' . $this->_setflag($form['FF']) . ' '); } if (isset($form['maxlen']) && $form['maxlen'] > 0) { - $this->mpdf->_out('/MaxLen ' . $form['maxlen']); + $this->writer->write('/MaxLen ' . $form['maxlen']); } $temp = ''; $temp .= '/W ' . $form['BS_W'] . ' '; $temp .= '/S /' . $form['BS_S'] . ' '; - $this->mpdf->_out("/BS << $temp >>"); + $this->writer->write("/BS << $temp >>"); $temp = ''; $temp .= '/BC [ ' . $form['BC_C'] . ' ] '; $temp .= '/BG [ ' . $form['BG_C'] . ' ] '; - $this->mpdf->_out('/MK <<' . $temp . ' >>'); + $this->writer->write('/MK <<' . $temp . ' >>'); - $this->mpdf->_out('/T ' . $this->mpdf->_textstring($form['T'])); - $this->mpdf->_out('/TU ' . $this->mpdf->_textstring($form['TU'])); + $this->writer->write('/T ' . $this->writer->string($form['T'])); + $this->writer->write('/TU ' . $this->writer->string($form['TU'])); if ($form['V'] || $form['V'] === '0') { - $this->mpdf->_out('/V ' . $this->mpdf->_textstring($form['V'])); + $this->writer->write('/V ' . $this->writer->string($form['V'])); } - $this->mpdf->_out('/DV ' . $this->mpdf->_textstring($form['DV'])); - $this->mpdf->_out('/DA (/F' . $this->mpdf->fonts[$form['style']['font']]['i'] . ' ' . $form['style']['fontsize'] . ' Tf ' . $form['style']['fontcolor'] . ')'); + $this->writer->write('/DV ' . $this->writer->string($form['DV'])); + $this->writer->write('/DA (/F' . $this->mpdf->fonts[$form['style']['font']]['i'] . ' ' . $form['style']['fontsize'] . ' Tf ' . $form['style']['fontcolor'] . ')'); if ($form['Q']) { - $this->mpdf->_out('/Q ' . $form['Q'] . ''); + $this->writer->write('/Q ' . $form['Q'] . ''); } - $this->mpdf->_out('/NM ' . $this->mpdf->_textstring(sprintf('%04u-%04u', $n, 5000 + $form['n']))); - $this->mpdf->_out('/M ' . $this->mpdf->_textstring('D:' . date('YmdHis'))); + $this->writer->write('/NM ' . $this->writer->string(sprintf('%04u-%04u', $n, 5000 + $form['n']))); + $this->writer->write('/M ' . $this->writer->string('D:' . date('YmdHis'))); if (isset($this->array_form_text_js[$form['T']])) { @@ -1734,11 +1797,11 @@ f Q '; $js_str .= '/C ' . ($cc + $this->mpdf->n) . ' 0 R '; $this->pdf_array_co .= $this->mpdf->n . ' 0 R '; } - $this->mpdf->_out('/AA << ' . $js_str . ' >>'); + $this->writer->write('/AA << ' . $js_str . ' >>'); } - $this->mpdf->_out('>>'); - $this->mpdf->_out('endobj'); + $this->writer->write('>>'); + $this->writer->write('endobj'); if ($put_js == 1) { if (isset($this->array_form_text_js[$form['T']]['F'])) { diff --git a/pandora_console/vendor/mpdf/mpdf/src/FpdiTrait.php b/pandora_console/vendor/mpdf/mpdf/src/FpdiTrait.php new file mode 100644 index 0000000000..69d0d30c28 --- /dev/null +++ b/pandora_console/vendor/mpdf/mpdf/src/FpdiTrait.php @@ -0,0 +1,401 @@ +_setPageSize([$format['width'], $format['height']], $orientation); + + if ($orientation != $this->DefOrientation) { + $this->OrientationChanges[$this->page] = true; + } + + $this->wPt = $this->fwPt; + $this->hPt = $this->fhPt; + $this->w = $this->fw; + $this->h = $this->fh; + + $this->CurOrientation = $orientation; + $this->ResetMargins(); + $this->pgwidth = $this->w - $this->lMargin - $this->rMargin; + $this->PageBreakTrigger = $this->h - $this->bMargin; + + $this->pageDim[$this->page]['w'] = $this->w; + $this->pageDim[$this->page]['h'] = $this->h; + } + + /** + * Set the minimal PDF version. + * + * @param string $pdfVersion + */ + protected function setMinPdfVersion($pdfVersion) + { + if (\version_compare($pdfVersion, $this->pdf_version, '>')) { + $this->pdf_version = $pdfVersion; + } + } + + /** + * Get the next template id. + * + * @return int + */ + protected function getNextTemplateId() + { + return $this->templateId++; + } + + /** + * Draws an imported page or a template onto the page or another template. + * + * Omit one of the size parameters (width, height) to calculate the other one automatically in view to the aspect + * ratio. + * + * @param mixed $tpl The template id + * @param float|int|array $x The abscissa of upper-left corner. Alternatively you could use an assoc array + * with the keys "x", "y", "width", "height", "adjustPageSize". + * @param float|int $y The ordinate of upper-left corner. + * @param float|int|null $width The width. + * @param float|int|null $height The height. + * @param bool $adjustPageSize + * @return array The size + * @see Fpdi::getTemplateSize() + */ + public function useTemplate($tpl, $x = 0, $y = 0, $width = null, $height = null, $adjustPageSize = false) + { + return $this->useImportedPage($tpl, $x, $y, $width, $height, $adjustPageSize); + } + + /** + * Draws an imported page onto the page. + * + * Omit one of the size parameters (width, height) to calculate the other one automatically in view to the aspect + * ratio. + * + * @param mixed $pageId The page id + * @param float|int|array $x The abscissa of upper-left corner. Alternatively you could use an assoc array + * with the keys "x", "y", "width", "height", "adjustPageSize". + * @param float|int $y The ordinate of upper-left corner. + * @param float|int|null $width The width. + * @param float|int|null $height The height. + * @param bool $adjustPageSize + * @return array The size. + * @see Fpdi::getTemplateSize() + */ + public function useImportedPage($pageId, $x = 0, $y = 0, $width = null, $height = null, $adjustPageSize = false) + { + if ($this->state == 0) { + $this->AddPage(); + } + + /* Extract $x if an array */ + if (is_array($x)) { + unset($x['pageId']); + extract($x, EXTR_IF_EXISTS); + if (is_array($x)) { + $x = 0; + } + } + + $newSize = $this->fpdiUseImportedPage($pageId, $x, $y, $width, $height, $adjustPageSize); + + $this->setImportedPageLinks($pageId, $x, $y, $newSize); + + return $newSize; + } + + /** + * Imports a page. + * + * @param int $pageNumber The page number. + * @param string $box The page boundary to import. Default set to PageBoundaries::CROP_BOX. + * @param bool $groupXObject Define the form XObject as a group XObject to support transparency (if used). + * @return string A unique string identifying the imported page. + * @throws CrossReferenceException + * @throws FilterException + * @throws PdfParserException + * @throws PdfTypeException + * @throws PdfReaderException + * @see PageBoundaries + */ + public function importPage($pageNumber, $box = PageBoundaries::CROP_BOX, $groupXObject = true) + { + $pageId = $this->fpdiImportPage($pageNumber, $box, $groupXObject); + + $this->importedPages[$pageId]['externalLinks'] = $this->getImportedExternalPageLinks($pageNumber); + + return $pageId; + } + + /** + * Imports the external page links + * + * @param int $pageNumber The page number. + * @return array + * @throws CrossReferenceException + * @throws PdfTypeException + * @throws \setasign\Fpdi\PdfParser\PdfParserException + */ + public function getImportedExternalPageLinks($pageNumber) + { + $links = []; + + $reader = $this->getPdfReader($this->currentReaderId); + $parser = $reader->getParser(); + + $page = $reader->getPage($pageNumber); + $page->getPageDictionary(); + + $annotations = $page->getAttribute('Annots'); + if ($annotations instanceof PdfIndirectObjectReference) { + $annotations = PdfType::resolve($parser->getIndirectObject($annotations->value), $parser); + } + + if ($annotations instanceof PdfArray) { + $annotations = PdfType::resolve($annotations, $parser); + + foreach ($annotations->value as $annotation) { + try { + $annotation = PdfType::resolve($annotation, $parser); + + $type = PdfName::ensure(PdfType::resolve(PdfDictionary::get($annotation, 'Type'), $parser)); + $subtype = PdfName::ensure(PdfType::resolve(PdfDictionary::get($annotation, 'Subtype'), $parser)); + $link = PdfDictionary::ensure(PdfType::resolve(PdfDictionary::get($annotation, 'A'), $parser)); + + /* Skip over annotations that aren't links */ + if ($type->value !== 'Annot' || $subtype->value !== 'Link') { + continue; + } + + /* Calculate the link positioning */ + $position = PdfArray::ensure(PdfType::resolve(PdfDictionary::get($annotation, 'Rect'), $parser), 4); + $rect = Rectangle::byPdfArray($position, $parser); + $uri = PdfString::ensure(PdfType::resolve(PdfDictionary::get($link, 'URI'), $parser)); + + $links[] = [ + 'x' => $rect->getLlx() / Mpdf::SCALE, + 'y' => $rect->getLly() / Mpdf::SCALE, + 'width' => $rect->getWidth() / Mpdf::SCALE, + 'height' => $rect->getHeight() / Mpdf::SCALE, + 'url' => $uri->value + ]; + } catch (PdfTypeException $e) { + continue; + } + } + } + + return $links; + } + + /** + * @param mixed $pageId The page id + * @param int|float $x The abscissa of upper-left corner. + * @param int|float $y The ordinate of upper-right corner. + * @param array $newSize The size. + */ + public function setImportedPageLinks($pageId, $x, $y, $newSize) + { + $originalSize = $this->getTemplateSize($pageId); + $pageHeightDifference = $this->h - $newSize['height']; + + /* Handle different aspect ratio */ + $widthRatio = $newSize['width'] / $originalSize['width']; + $heightRatio = $newSize['height'] / $originalSize['height']; + + foreach ($this->importedPages[$pageId]['externalLinks'] as $item) { + + $item['x'] *= $widthRatio; + $item['width'] *= $widthRatio; + + $item['y'] *= $heightRatio; + $item['height'] *= $heightRatio; + + $this->Link( + $item['x'] + $x, + /* convert Y to be measured from the top of the page */ + $this->h - $item['y'] - $item['height'] - $pageHeightDifference + $y, + $item['width'], + $item['height'], + $item['url'] + ); + } + } + + /** + * Get the size of an imported page or template. + * + * Omit one of the size parameters (width, height) to calculate the other one automatically in view to the aspect + * ratio. + * + * @param mixed $tpl The template id + * @param float|int|null $width The width. + * @param float|int|null $height The height. + * @return array|bool An array with following keys: width, height, 0 (=width), 1 (=height), orientation (L or P) + */ + public function getTemplateSize($tpl, $width = null, $height = null) + { + return $this->getImportedPageSize($tpl, $width, $height); + } + + /** + * @throws CrossReferenceException + * @throws PdfTypeException + * @throws \setasign\Fpdi\PdfParser\PdfParserException + */ + public function writeImportedPagesAndResolvedObjects() + { + $this->currentReaderId = null; + + foreach ($this->importedPages as $key => $pageData) { + $this->writer->object(); + $this->importedPages[$key]['objectNumber'] = $this->n; + $this->currentReaderId = $pageData['readerId']; + $this->writePdfType($pageData['stream']); + $this->_put('endobj'); + } + + foreach (\array_keys($this->readers) as $readerId) { + $parser = $this->getPdfReader($readerId)->getParser(); + $this->currentReaderId = $readerId; + + while (($objectNumber = \array_pop($this->objectsToCopy[$readerId])) !== null) { + try { + $object = $parser->getIndirectObject($objectNumber); + + } catch (CrossReferenceException $e) { + if ($e->getCode() === CrossReferenceException::OBJECT_NOT_FOUND) { + $object = PdfIndirectObject::create($objectNumber, 0, new PdfNull()); + } else { + throw $e; + } + } + + $this->writePdfType($object); + } + } + + $this->currentReaderId = null; + } + + public function getImportedPages() + { + return $this->importedPages; + } + + protected function _put($s, $newLine = true) + { + if ($newLine) { + $this->buffer .= $s . "\n"; + } else { + $this->buffer .= $s; + } + } + + /** + * Writes a PdfType object to the resulting buffer. + * + * @param PdfType $value + * @throws PdfTypeException + */ + public function writePdfType(PdfType $value) + { + if (!$this->encrypted) { + if ($value instanceof PdfIndirectObject) { + /** + * @var $value PdfIndirectObject + */ + $n = $this->objectMap[$this->currentReaderId][$value->objectNumber]; + $this->writer->object($n); + $this->writePdfType($value->value); + $this->_put('endobj'); + return; + } + + $this->fpdiWritePdfType($value); + return; + } + + if ($value instanceof PdfString) { + $string = PdfString::unescape($value->value); + $string = $this->protection->rc4($this->protection->objectKey($this->currentObjectNumber), $string); + $value->value = $this->writer->escape($string); + + } elseif ($value instanceof PdfHexString) { + $filter = new AsciiHex(); + $string = $filter->decode($value->value); + $string = $this->protection->rc4($this->protection->objectKey($this->currentObjectNumber), $string); + $value->value = $filter->encode($string, true); + + } elseif ($value instanceof PdfStream) { + $stream = $value->getStream(); + $stream = $this->protection->rc4($this->protection->objectKey($this->currentObjectNumber), $stream); + $dictionary = $value->value; + $dictionary->value['Length'] = PdfNumeric::create(\strlen($stream)); + $value = PdfStream::create($dictionary, $stream); + + } elseif ($value instanceof PdfIndirectObject) { + /** + * @var $value PdfIndirectObject + */ + $this->currentObjectNumber = $this->objectMap[$this->currentReaderId][$value->objectNumber]; + /** + * @var $value PdfIndirectObject + */ + $n = $this->objectMap[$this->currentReaderId][$value->objectNumber]; + $this->writer->object($n); + $this->writePdfType($value->value); + $this->_put('endobj'); + return; + } + + $this->fpdiWritePdfType($value); + } +} diff --git a/pandora_console/vendor/mpdf/mpdf/src/Gif/ImageHeader.php b/pandora_console/vendor/mpdf/mpdf/src/Gif/ImageHeader.php index 0717a9360b..0c39f6f5a7 100644 --- a/pandora_console/vendor/mpdf/mpdf/src/Gif/ImageHeader.php +++ b/pandora_console/vendor/mpdf/mpdf/src/Gif/ImageHeader.php @@ -62,7 +62,7 @@ class ImageHeader return false; } - $b = ord($lpData{8}); + $b = ord($lpData[8]); $this->m_bLocalClr = ($b & 0x80) ? true : false; $this->m_bInterlace = ($b & 0x40) ? true : false; $this->m_bSorted = ($b & 0x20) ? true : false; diff --git a/pandora_console/vendor/mpdf/mpdf/src/Gradient.php b/pandora_console/vendor/mpdf/mpdf/src/Gradient.php index fd288c10d6..95062e3c4f 100644 --- a/pandora_console/vendor/mpdf/mpdf/src/Gradient.php +++ b/pandora_console/vendor/mpdf/mpdf/src/Gradient.php @@ -3,9 +3,11 @@ namespace Mpdf; use Mpdf\Color\ColorConverter; +use Mpdf\Writer\BaseWriter; class Gradient { + const TYPE_LINEAR = 2; const TYPE_RADIAL = 3; @@ -24,11 +26,17 @@ class Gradient */ private $colorConverter; - public function __construct(Mpdf $mpdf, SizeConverter $sizeConverter, ColorConverter $colorConverter) + /** + * @var \Mpdf\Writer\BaseWriter + */ + private $writer; + + public function __construct(Mpdf $mpdf, SizeConverter $sizeConverter, ColorConverter $colorConverter, BaseWriter $writer) { $this->mpdf = $mpdf; $this->sizeConverter = $sizeConverter; $this->colorConverter = $colorConverter; + $this->writer = $writer; } // mPDF 5.3.A1 @@ -43,10 +51,13 @@ class Gradient $bpcd = 65535; //16 BitsPerCoordinate $trans = false; $this->mpdf->gradients[$n]['stream'] = ''; + for ($i = 0; $i < count($patch_array); $i++) { $this->mpdf->gradients[$n]['stream'].=chr($patch_array[$i]['f']); //start with the edge flag as 8 bit + for ($j = 0; $j < count($patch_array[$i]['points']); $j++) { - //each point as 16 bit + + // each point as 16 bit if (($j % 2) == 1) { // Y coordinate (adjusted as input is From top left) $patch_array[$i]['points'][$j] = (($patch_array[$i]['points'][$j] - $y_min) / ($y_max - $y_min)) * $bpcd; $patch_array[$i]['points'][$j] = $bpcd - $patch_array[$i]['points'][$j]; @@ -59,23 +70,25 @@ class Gradient if ($patch_array[$i]['points'][$j] > $bpcd) { $patch_array[$i]['points'][$j] = $bpcd; } - $this->mpdf->gradients[$n]['stream'].=chr(floor($patch_array[$i]['points'][$j] / 256)); - $this->mpdf->gradients[$n]['stream'].=chr(floor($patch_array[$i]['points'][$j] % 256)); + + $this->mpdf->gradients[$n]['stream'] .= chr(floor($patch_array[$i]['points'][$j] / 256)); + $this->mpdf->gradients[$n]['stream'] .= chr(floor(round($patch_array[$i]['points'][$j]) % 256)); } + for ($j = 0; $j < count($patch_array[$i]['colors']); $j++) { //each color component as 8 bit if ($colspace === 'RGB') { - $this->mpdf->gradients[$n]['stream'].= $patch_array[$i]['colors'][$j][1]; - $this->mpdf->gradients[$n]['stream'].= $patch_array[$i]['colors'][$j][2]; - $this->mpdf->gradients[$n]['stream'].= $patch_array[$i]['colors'][$j][3]; + $this->mpdf->gradients[$n]['stream'] .= $patch_array[$i]['colors'][$j][1]; + $this->mpdf->gradients[$n]['stream'] .= $patch_array[$i]['colors'][$j][2]; + $this->mpdf->gradients[$n]['stream'] .= $patch_array[$i]['colors'][$j][3]; if (isset($patch_array[$i]['colors'][$j][4]) && ord($patch_array[$i]['colors'][$j][4]) < 100) { $trans = true; } } elseif ($colspace === 'CMYK') { - $this->mpdf->gradients[$n]['stream'].=chr(ord($patch_array[$i]['colors'][$j][1]) * 2.55); - $this->mpdf->gradients[$n]['stream'].=chr(ord($patch_array[$i]['colors'][$j][2]) * 2.55); - $this->mpdf->gradients[$n]['stream'].=chr(ord($patch_array[$i]['colors'][$j][3]) * 2.55); - $this->mpdf->gradients[$n]['stream'].=chr(ord($patch_array[$i]['colors'][$j][4]) * 2.55); + $this->mpdf->gradients[$n]['stream'] .= chr(ord($patch_array[$i]['colors'][$j][1]) * 2.55); + $this->mpdf->gradients[$n]['stream'] .= chr(ord($patch_array[$i]['colors'][$j][2]) * 2.55); + $this->mpdf->gradients[$n]['stream'] .= chr(ord($patch_array[$i]['colors'][$j][3]) * 2.55); + $this->mpdf->gradients[$n]['stream'] .= chr(ord($patch_array[$i]['colors'][$j][4]) * 2.55); if (isset($patch_array[$i]['colors'][$j][5]) && ord($patch_array[$i]['colors'][$j][5]) < 100) { $trans = true; } @@ -87,39 +100,48 @@ class Gradient } } } + // TRANSPARENCY if ($trans) { $this->mpdf->gradients[$n]['stream_trans'] = ''; + for ($i = 0; $i < count($patch_array); $i++) { - $this->mpdf->gradients[$n]['stream_trans'].=chr($patch_array[$i]['f']); + + $this->mpdf->gradients[$n]['stream_trans'] .= chr($patch_array[$i]['f']); + for ($j = 0; $j < count($patch_array[$i]['points']); $j++) { - //each point as 16 bit - $this->mpdf->gradients[$n]['stream_trans'].=chr(floor($patch_array[$i]['points'][$j] / 256)); - $this->mpdf->gradients[$n]['stream_trans'].=chr(floor($patch_array[$i]['points'][$j] % 256)); + // each point as 16 bit + $this->mpdf->gradients[$n]['stream_trans'] .= chr(floor($patch_array[$i]['points'][$j] / 256)); + $this->mpdf->gradients[$n]['stream_trans'] .= chr(floor(round($patch_array[$i]['points'][$j]) % 256)); } + for ($j = 0; $j < count($patch_array[$i]['colors']); $j++) { - //each color component as 8 bit // OPACITY + // each color component as 8 bit // OPACITY if ($colspace === 'RGB') { - $this->mpdf->gradients[$n]['stream_trans'].=chr((int) (ord($patch_array[$i]['colors'][$j][4]) * 2.55)); + $this->mpdf->gradients[$n]['stream_trans'] .= chr((int) (ord($patch_array[$i]['colors'][$j][4]) * 2.55)); } elseif ($colspace === 'CMYK') { - $this->mpdf->gradients[$n]['stream_trans'].=chr((int) (ord($patch_array[$i]['colors'][$j][5]) * 2.55)); + $this->mpdf->gradients[$n]['stream_trans'] .= chr((int) (ord($patch_array[$i]['colors'][$j][5]) * 2.55)); } elseif ($colspace === 'Gray') { - $this->mpdf->gradients[$n]['stream_trans'].=chr((int) (ord($patch_array[$i]['colors'][$j][3]) * 2.55)); + $this->mpdf->gradients[$n]['stream_trans'] .= chr((int) (ord($patch_array[$i]['colors'][$j][3]) * 2.55)); } } } + $this->mpdf->gradients[$n]['trans'] = true; $s .= ' /TGS' . $n . ' gs '; } - //paint the gradient + + // paint the gradient $s .= '/Sh' . $n . ' sh' . "\n"; - //restore previous Graphic State + + // restore previous Graphic State $s .= 'Q' . "\n"; + if ($return) { return $s; } - $this->mpdf->_out($s); + $this->writer->write($s); } // type = linear:2; radial: 3; @@ -132,15 +154,16 @@ class Gradient // $stops = array('col'=>$col [, 'opacity'=>0-1] [, 'offset'=>0-1]) public function Gradient($x, $y, $w, $h, $type, $stops = [], $colorspace = 'RGB', $coords = '', $extend = '', $return = false, $is_mask = false) { - if (stripos($type, 'L') === 0) { + if ($type && stripos($type, 'L') === 0) { $type = self::TYPE_LINEAR; - } elseif (stripos($type, 'R') === 0) { + } elseif ($type && stripos($type, 'R') === 0) { $type = self::TYPE_RADIAL; } if ($colorspace !== 'CMYK' && $colorspace !== 'Gray') { $colorspace = 'RGB'; } + $bboxw = $w; $bboxh = $h; $usex = $x; @@ -151,12 +174,14 @@ class Gradient if ($type < 1) { $type = self::TYPE_LINEAR; } + if ($coords[0] !== false && preg_match('/([0-9.]+(px|em|ex|pc|pt|cm|mm|in))/i', $coords[0], $m)) { $tmp = $this->sizeConverter->convert($m[1], $this->mpdf->w, $this->mpdf->FontSize, false); if ($tmp) { $coords[0] = $tmp / $w; } } + if ($coords[1] !== false && preg_match('/([0-9.]+(px|em|ex|pc|pt|cm|mm|in))/i', $coords[1], $m)) { $tmp = $this->sizeConverter->convert($m[1], $this->mpdf->w, $this->mpdf->FontSize, false); if ($tmp) { @@ -486,7 +511,7 @@ class Gradient for ($i = 0; $i < count($stops); $i++) { if (isset($stops[$i]['offset']) && preg_match('/([0-9.]+(px|em|ex|pc|pt|cm|mm|in))/i', $stops[$i]['offset'], $m)) { $tmp = $this->sizeConverter->convert($m[1], $this->mpdf->w, $this->mpdf->FontSize, false); - $stops[$i]['offset'] = $tmp / $axis_length; + $stops[$i]['offset'] = $axis_length ? $tmp / $axis_length : 0; } } @@ -509,11 +534,11 @@ class Gradient for ($i = 0; $i < count($stops); $i++) { // mPDF 5.3.74 if ($colorspace === 'CMYK') { - $this->mpdf->gradients[$n]['stops'][$i]['col'] = sprintf('%.3F %.3F %.3F %.3F', ord($stops[$i]['col']{1}) / 100, ord($stops[$i]['col']{2}) / 100, ord($stops[$i]['col']{3}) / 100, ord($stops[$i]['col']{4}) / 100); + $this->mpdf->gradients[$n]['stops'][$i]['col'] = sprintf('%.3F %.3F %.3F %.3F', ord($stops[$i]['col'][1]) / 100, ord($stops[$i]['col'][2]) / 100, ord($stops[$i]['col'][3]) / 100, ord($stops[$i]['col'][4]) / 100); } elseif ($colorspace === 'Gray') { - $this->mpdf->gradients[$n]['stops'][$i]['col'] = sprintf('%.3F', ord($stops[$i]['col']{1}) / 255); + $this->mpdf->gradients[$n]['stops'][$i]['col'] = sprintf('%.3F', ord($stops[$i]['col'][1]) / 255); } else { - $this->mpdf->gradients[$n]['stops'][$i]['col'] = sprintf('%.3F %.3F %.3F', ord($stops[$i]['col']{1}) / 255, ord($stops[$i]['col']{2}) / 255, ord($stops[$i]['col']{3}) / 255); + $this->mpdf->gradients[$n]['stops'][$i]['col'] = sprintf('%.3F %.3F %.3F', ord($stops[$i]['col'][1]) / 255, ord($stops[$i]['col'][2]) / 255, ord($stops[$i]['col'][3]) / 255); } if (!isset($stops[$i]['opacity'])) { $stops[$i]['opacity'] = 1; @@ -585,7 +610,7 @@ class Gradient return $s; } - $this->mpdf->_out($s); + $this->writer->write($s); } private function parseMozLinearGradient($m, $repeat) @@ -704,9 +729,9 @@ class Gradient if (!$col) { $col = $this->colorConverter->convert(255, $this->mpdf->PDFAXwarnings); } - if ($col{0} == 1) { + if ($col[0] == 1) { $g['colorspace'] = 'Gray'; - } elseif ($col{0} == 4 || $col{0} == 6) { + } elseif ($col[0] == 4 || $col[0] == 6) { $g['colorspace'] = 'CMYK'; } @@ -848,9 +873,9 @@ class Gradient if (!$col) { $col = $this->colorConverter->convert(255, $this->mpdf->PDFAXwarnings); } - if ($col{0} == 1) { + if ($col[0] == 1) { $g['colorspace'] = 'Gray'; - } elseif ($col{0} == 4 || $col{0} == 6) { + } elseif ($col[0] == 4 || $col[0] == 6) { $g['colorspace'] = 'CMYK'; } $g['stops'][] = $this->getStop($col, $el); @@ -864,15 +889,15 @@ class Gradient 'col' => $col, ]; - if ($col{0} == 5) { + if ($col[0] == 5) { // transparency from rgba() - $stop['opacity'] = ord($col{4}) / 100; - } elseif ($col{0} == 6) { + $stop['opacity'] = ord($col[4]) / 100; + } elseif ($col[0] == 6) { // transparency from cmyka() - $stop['opacity'] = ord($col{5}) / 100; - } elseif ($col{0} == 1 && $col{2} == 1) { + $stop['opacity'] = ord($col[5]) / 100; + } elseif ($col[0] == 1 && $col[2] == 1) { // transparency converted from rgba or cmyka() - $stop['opacity'] = ord($col{3}) / 100; + $stop['opacity'] = ord($col[3]) / 100; } if (isset($el[1])) { @@ -942,9 +967,9 @@ class Gradient $g['colorspace'] = 'RGB'; // mPDF 5.3.74 $cor = $this->colorConverter->convert($bgr[1], $this->mpdf->PDFAXwarnings); - if ($cor{0} == 1) { + if ($cor[0] == 1) { $g['colorspace'] = 'Gray'; - } elseif ($cor{0} == 4 || $cor{0} == 6) { + } elseif ($cor[0] == 4 || $cor[0] == 6) { $g['colorspace'] = 'CMYK'; } if ($cor) { diff --git a/pandora_console/vendor/mpdf/mpdf/src/HTMLParserMode.php b/pandora_console/vendor/mpdf/mpdf/src/HTMLParserMode.php new file mode 100644 index 0000000000..ab74a3d950 --- /dev/null +++ b/pandora_console/vendor/mpdf/mpdf/src/HTMLParserMode.php @@ -0,0 +1,46 @@ +mpdf = $mpdf; - $this->loadedSHYdictionary = false; + $this->dictionaryLoaded = false; - $this->SHYpatterns = []; - $this->SHYdictionary = []; - $this->SHYdictionaryWords = []; + $this->patterns = []; + $this->dictionary = []; + $this->words = []; } /** - * @param $word - * @param $currptr + * @param string $word + * @param int $currptr * * @return int */ - function hyphenateWord($word, $currptr) + public function hyphenateWord($word, $currptr) { // Do everything inside this function in utf-8 // Don't hyphenate web addresses @@ -47,7 +50,7 @@ class Hyphenator $ptr = -1; - if (!$this->loadedSHYdictionary) { + if (!$this->dictionaryLoaded) { $this->loadDictionary(); } @@ -86,8 +89,8 @@ class Hyphenator $success = false; $preprelen = mb_strlen($prepre); - if (isset($this->SHYdictionaryWords[mb_strtolower($word)])) { - foreach ($this->SHYdictionaryWords[mb_strtolower($word)] as $i) { + if (isset($this->words[mb_strtolower($word)])) { + foreach ($this->words[mb_strtolower($word)] as $i) { if (($i + $preprelen) >= $currptr) { break; } @@ -117,18 +120,18 @@ class Hyphenator ]; for ($position = 0; $position <= ($word_length - $this->mpdf->SHYcharmin); $position++) { - $maxwins = min(($word_length - $position), $this->mpdf->SHYcharmax); + $maxwins = min($word_length - $position, $this->mpdf->SHYcharmax); for ($win = $this->mpdf->SHYcharmin; $win <= $maxwins; $win++) { - if (isset($this->SHYpatterns[mb_substr($text_word, $position, $win, 'UTF-8')])) { - $pattern = $this->SHYpatterns[mb_substr($text_word, $position, $win, 'UTF-8')]; + if (isset($this->patterns[mb_substr($text_word, $position, $win, 'UTF-8')])) { + $pattern = $this->patterns[mb_substr($text_word, $position, $win, 'UTF-8')]; $digits = 1; $pattern_length = mb_strlen($pattern, 'UTF-8'); for ($i = 0; $i < $pattern_length; $i++) { $char = $pattern[$i]; if (isset($numbers[$char])) { - $zero = ($i == 0) ? $position - 1 : $position + $i - $digits; - if (!isset($hyphenated_word[$zero]) || $hyphenated_word[$zero] != $char) { + $zero = $i === 0 ? $position - 1 : $position + $i - $digits; + if (!isset($hyphenated_word[$zero]) || $hyphenated_word[$zero] !== $char) { $hyphenated_word[$zero] = $char; } $digits++; @@ -139,7 +142,7 @@ class Hyphenator } for ($i = $this->mpdf->SHYleftmin; $i <= (mb_strlen($word, 'UTF-8') - $this->mpdf->SHYrightmin); $i++) { - if (isset($hyphenated_word[$i]) && $hyphenated_word[$i] % 2 != 0) { + if (isset($hyphenated_word[$i]) && $hyphenated_word[$i] % 2 !== 0) { if (($i + $preprelen) > $currptr) { break; } @@ -153,7 +156,7 @@ class Hyphenator private function patternsLoaded() { - return !(count($this->SHYpatterns) < 1 || ($this->loadedSHYpatterns && $this->loadedSHYpatterns != $this->mpdf->SHYlang)); + return !(count($this->patterns) < 1 || ($this->loadedPatterns && $this->loadedPatterns !== $this->mpdf->SHYlang)); } private function loadPatterns() @@ -162,20 +165,21 @@ class Hyphenator $patterns = explode(' ', $patterns); $new_patterns = []; - for ($i = 0; $i < count($patterns); $i++) { + $patternCount = count($patterns); + for ($i = 0; $i < $patternCount; $i++) { $value = $patterns[$i]; $new_patterns[preg_replace('/[0-9]/', '', $value)] = $value; } - $this->SHYpatterns = $new_patterns; - $this->loadedSHYpatterns = $this->mpdf->SHYlang; + $this->patterns = $new_patterns; + $this->loadedPatterns = $this->mpdf->SHYlang; } private function loadDictionary() { if (file_exists($this->mpdf->hyphenationDictionaryFile)) { - $this->SHYdictionary = file($this->mpdf->hyphenationDictionaryFile, FILE_SKIP_EMPTY_LINES); - foreach ($this->SHYdictionary as $entry) { + $this->dictionary = file($this->mpdf->hyphenationDictionaryFile, FILE_SKIP_EMPTY_LINES); + foreach ($this->dictionary as $entry) { $entry = trim($entry); $poss = []; $offset = 0; @@ -191,13 +195,13 @@ class Hyphenator $offset = $p + 1; } if (count($poss)) { - $this->SHYdictionaryWords[str_replace('/', '', mb_strtolower($entry))] = $poss; + $this->words[str_replace('/', '', mb_strtolower($entry))] = $poss; } } } elseif ($this->mpdf->debug) { throw new \Mpdf\MpdfException(sprintf('Unable to open hyphenation dictionary "%s"', $this->mpdf->hyphenationDictionaryFile)); } - $this->loadedSHYdictionary = true; + $this->dictionaryLoaded = true; } } diff --git a/pandora_console/vendor/mpdf/mpdf/src/Image/ImageProcessor.php b/pandora_console/vendor/mpdf/mpdf/src/Image/ImageProcessor.php index e11ae0f72f..93225151ca 100644 --- a/pandora_console/vendor/mpdf/mpdf/src/Image/ImageProcessor.php +++ b/pandora_console/vendor/mpdf/mpdf/src/Image/ImageProcessor.php @@ -6,14 +6,15 @@ use Mpdf\Cache; use Mpdf\Color\ColorConverter; use Mpdf\Color\ColorModeConverter; use Mpdf\CssManager; +use Mpdf\File\StreamWrapperChecker; use Mpdf\Gif\Gif; use Mpdf\Language\LanguageToFontInterface; use Mpdf\Language\ScriptToLanguageInterface; use Mpdf\Log\Context as LogContext; use Mpdf\Mpdf; use Mpdf\Otl; +use Mpdf\RemoteContentFetcher; use Mpdf\SizeConverter; - use Psr\Log\LoggerInterface; class ImageProcessor implements \Psr\Log\LoggerAwareInterface @@ -84,6 +85,11 @@ class ImageProcessor implements \Psr\Log\LoggerAwareInterface */ public $scriptToLanguage; + /** + * @var \Mpdf\RemoteContentFetcher + */ + private $remoteContentFetcher; + /** * @var \Psr\Log\LoggerInterface */ @@ -99,6 +105,7 @@ class ImageProcessor implements \Psr\Log\LoggerAwareInterface Cache $cache, LanguageToFontInterface $languageToFont, ScriptToLanguageInterface $scriptToLanguage, + RemoteContentFetcher $remoteContentFetcher, LoggerInterface $logger ) { @@ -111,6 +118,7 @@ class ImageProcessor implements \Psr\Log\LoggerAwareInterface $this->cache = $cache; $this->languageToFont = $languageToFont; $this->scriptToLanguage = $scriptToLanguage; + $this->remoteContentFetcher = $remoteContentFetcher; $this->logger = $logger; @@ -122,7 +130,7 @@ class ImageProcessor implements \Psr\Log\LoggerAwareInterface /** * @param \Psr\Log\LoggerInterface * - * @return \Mpdf\Mpdf + * @return self */ public function setLogger(LoggerInterface $logger) { @@ -133,35 +141,44 @@ class ImageProcessor implements \Psr\Log\LoggerAwareInterface public function getImage(&$file, $firsttime = true, $allowvector = true, $orig_srcpath = false, $interpolation = false) { - global $config; + /** + * Prevents insecure PHP object injection through phar:// wrapper + * @see https://github.com/mpdf/mpdf/issues/949 + */ + $wrapperChecker = new StreamWrapperChecker($this->mpdf); + if ($wrapperChecker->hasBlacklistedStreamWrapper($file)) { + return $this->imageError($file, $firsttime, 'File contains an invalid stream. Only ' . implode(', ', $wrapperChecker->getWhitelistedStreamWrappers()) . ' streams are allowed.'); + } + // mPDF 6 // firsttime i.e. whether to add to this->images - use false when calling iteratively // Image Data passed directly as var:varname + + $type = null; + $data = ''; + if (preg_match('/var:\s*(.*)/', $file, $v)) { if (!isset($this->mpdf->imageVars[$v[1]])) { return $this->imageError($file, $firsttime, 'Unknown image variable'); } $data = $this->mpdf->imageVars[$v[1]]; $file = md5($data); - } - if (preg_match('~data:image/(gif|jpeg|png);base64,(.*)~', $file, $v)) { + if (preg_match('/data:image\/(gif|jpe?g|png);base64,(.*)/', $file, $v)) { $type = $v[1]; - $encoded = $v[2]; - $decoded = ""; - $data = base64_decode(html_entity_decode($encoded)); + $data = base64_decode($v[2]); $file = md5($data); } // mPDF 5.7.4 URLs - if ($firsttime && $file && substr($file, 0, 5) != 'data:') { - $file = str_replace(" ", "%20", $file); + if ($firsttime && $file && strpos($file, 'data:') !== 0) { + $file = str_replace(' ', '%20', $file); } if ($firsttime && $orig_srcpath) { // If orig_srcpath is a relative file path (and not a URL), then it needs to be URL decoded - if (substr($orig_srcpath, 0, 5) != 'data:') { - $orig_srcpath = str_replace(" ", "%20", $orig_srcpath); + if (strpos($orig_srcpath, 'data:') !== 0) { + $orig_srcpath = str_replace(' ', '%20', $orig_srcpath); } if (!preg_match('/^(http|ftp)/', $orig_srcpath)) { $orig_srcpath = $this->urldecodeParts($orig_srcpath); @@ -176,21 +193,26 @@ class ImageProcessor implements \Psr\Log\LoggerAwareInterface if (isset($this->mpdf->images[$file])) { return $this->mpdf->images[$file]; - } elseif ($orig_srcpath && isset($this->mpdf->formobjects[$orig_srcpath])) { + } + + if ($orig_srcpath && isset($this->mpdf->formobjects[$orig_srcpath])) { $file = $orig_srcpath; return $this->mpdf->formobjects[$file]; - } elseif (isset($this->mpdf->formobjects[$file])) { + } + + if (isset($this->mpdf->formobjects[$file])) { return $this->mpdf->formobjects[$file]; - } elseif ($firsttime && isset($this->failedImages[$file])) { // Save re-trying image URL's which have already failed + } + + if ($firsttime && isset($this->failedImages[$file])) { // Save re-trying image URL's which have already failed return $this->imageError($file, $firsttime, ''); } if (empty($data)) { - $type = ''; $data = ''; - if ($orig_srcpath && $this->mpdf->basepathIsLocal && $check = @fopen($orig_srcpath, "rb")) { + if ($orig_srcpath && $this->mpdf->basepathIsLocal && $check = @fopen($orig_srcpath, 'rb')) { fclose($check); $file = $orig_srcpath; $this->logger->debug(sprintf('Fetching (file_get_contents) content of file "%s" with local basepath', $file), ['context' => LogContext::REMOTE_CONTENT]); @@ -198,7 +220,7 @@ class ImageProcessor implements \Psr\Log\LoggerAwareInterface $type = $this->guesser->guess($data); } - if (!$data && $check = @fopen($file, "rb")) { + if ($file && !$data && $check = @fopen($file, 'rb')) { fclose($check); $this->logger->debug(sprintf('Fetching (file_get_contents) content of file "%s" with non-local basepath', $file), ['context' => LogContext::REMOTE_CONTENT]); $data = file_get_contents($file); @@ -206,48 +228,34 @@ class ImageProcessor implements \Psr\Log\LoggerAwareInterface } if ((!$data || !$type) && function_exists('curl_init')) { // mPDF 5.7.4 - $this->mpdf->getFileContentsByCurl($file, $data); // needs full url?? even on local (never needed for local) + $data = $this->remoteContentFetcher->getFileContentsByCurl($file); // needs full url?? even on local (never needed for local) if ($data) { $type = $this->guesser->guess($data); } } if ((!$data || !$type) && !ini_get('allow_url_fopen')) { // only worth trying if remote file and !ini_get('allow_url_fopen') - $this->mpdf->getFileContentsBySocket($file, $data); // needs full url?? even on local (never needed for local) + $data = $this->remoteContentFetcher->getFileContentsBySocket($file); // needs full url?? even on local (never needed for local) if ($data) { $type = $this->guesser->guess($data); } } - - if ((!$data || !$type) && !ini_get('allow_url_fopen') && preg_match('/data:image.*;base64/', $file)) { - $base_to_php = explode(',', $file); - $img_base64 = base64_decode($base_to_php[1]); - $filepath = $config['attachment_store']."/downloads/".uniqid().".jpg"; - $result = file_put_contents($filepath, $img_base64); - if ($result !== false) { - $data = file_get_contents($filepath); - if ($data) { - $type = $this->guesser->guess($data); - } - unlink($filepath); - } - } } if (!$data) { return $this->imageError($file, $firsttime, 'Could not find image file'); } - if (empty($type)) { + if ($type === null) { $type = $this->guesser->guess($data); } - if (($type == 'wmf' || $type == 'svg') && !$allowvector) { + if (($type === 'wmf' || $type === 'svg') && !$allowvector) { return $this->imageError($file, $firsttime, 'WMF or SVG image file not supported in this context'); } // SVG - if ($type == 'svg') { + if ($type === 'svg') { $svg = new Svg($this->mpdf, $this->otl, $this->cssManager, $this, $this->sizeConverter, $this->colorConverter, $this->languageToFont, $this->scriptToLanguage); $family = $this->mpdf->FontFamily; $style = $this->mpdf->FontStyle; @@ -268,36 +276,41 @@ class ImageProcessor implements \Psr\Log\LoggerAwareInterface } // JPEG - if ($type == 'jpeg' || $type == 'jpg') { + if ($type === 'jpeg' || $type === 'jpg') { + $hdr = $this->jpgHeaderFromString($data); if (!$hdr) { return $this->imageError($file, $firsttime, 'Error parsing JPG header'); } + $a = $this->jpgDataFromHeader($hdr); - $channels = intval($a[4]); + $channels = (int) $a[4]; $j = strpos($data, 'JFIF'); + if ($j) { - //Read resolution - $unitSp = ord(substr($data, ($j + 7), 1)); + // Read resolution + $unitSp = ord(substr($data, $j + 7, 1)); if ($unitSp > 0) { - $ppUx = $this->twoBytesToInt(substr($data, ($j + 8), 2)); // horizontal pixels per meter, usually set to zero - if ($unitSp == 2) { // = dots per cm (if == 1 set as dpi) + $ppUx = $this->twoBytesToInt(substr($data, $j + 8, 2)); // horizontal pixels per meter, usually set to zero + if ($unitSp === 2) { // = dots per cm (if == 1 set as dpi) $ppUx = round($ppUx / 10 * 25.4); } } } - if ($a[2] == 'DeviceCMYK' && (($this->mpdf->PDFA && $this->mpdf->restrictColorSpace != 3) || $this->mpdf->restrictColorSpace == 2)) { + + if ($a[2] === 'DeviceCMYK' && ($this->mpdf->restrictColorSpace === 2 || ($this->mpdf->PDFA && $this->mpdf->restrictColorSpace !== 3))) { // convert to RGB image - if (!function_exists("gd_info")) { - throw new \Mpdf\MpdfException("JPG image may not use CMYK color space (" . $file . ")."); + if (!function_exists('gd_info')) { + throw new \Mpdf\MpdfException(sprintf('JPG image may not use CMYK color space (%s).', $file)); } if ($this->mpdf->PDFA && !$this->mpdf->PDFAauto) { - $this->mpdf->PDFAXwarnings[] = "JPG image may not use CMYK color space - " . $file . " - (Image converted to RGB. NB This will alter the colour profile of the image.)"; + $this->mpdf->PDFAXwarnings[] = sprintf('JPG image may not use CMYK color space - %s - (Image converted to RGB. NB This will alter the colour profile of the image.)', $file); } $im = @imagecreatefromstring($data); + if ($im) { $tempfile = $this->cache->tempFilename('_tempImgPNG' . md5($file) . random_int(1, 10000) . '.png'); imageinterlace($im, false); @@ -318,20 +331,22 @@ class ImageProcessor implements \Psr\Log\LoggerAwareInterface $this->mpdf->images[$file] = $info; } return $info; - } else { - return $this->imageError($file, $firsttime, 'Error creating GD image file from JPG(CMYK) image'); } - } elseif ($a[2] == 'DeviceRGB' && ($this->mpdf->PDFX || $this->mpdf->restrictColorSpace == 3)) { + return $this->imageError($file, $firsttime, 'Error creating GD image file from JPG(CMYK) image'); + + } + + if ($a[2] === 'DeviceRGB' && ($this->mpdf->PDFX || $this->mpdf->restrictColorSpace === 3)) { // Convert to CMYK image stream - nominally returned as type='png' - $info = $this->convImage($data, $a[2], 'DeviceCMYK', $a[0], $a[1], $ppUx, false); + $info = $this->convertImage($data, $a[2], 'DeviceCMYK', $a[0], $a[1], $ppUx, false); if (($this->mpdf->PDFA && !$this->mpdf->PDFAauto) || ($this->mpdf->PDFX && !$this->mpdf->PDFXauto)) { - $this->mpdf->PDFAXwarnings[] = "JPG image may not use RGB color space - " . $file . " - (Image converted to CMYK. NB This will alter the colour profile of the image.)"; + $this->mpdf->PDFAXwarnings[] = sprintf('JPG image may not use RGB color space - %s - (Image converted to CMYK. NB This will alter the colour profile of the image.)', $file); } - } elseif (($a[2] == 'DeviceRGB' || $a[2] == 'DeviceCMYK') && $this->mpdf->restrictColorSpace == 1) { + } elseif (($a[2] === 'DeviceRGB' || $a[2] === 'DeviceCMYK') && $this->mpdf->restrictColorSpace === 1) { // Convert to Grayscale image stream - nominally returned as type='png' - $info = $this->convImage($data, $a[2], 'DeviceGray', $a[0], $a[1], $ppUx, false); + $info = $this->convertImage($data, $a[2], 'DeviceGray', $a[0], $a[1], $ppUx, false); } else { // mPDF 6 Detect Adobe APP14 Tag @@ -343,24 +358,24 @@ class ImageProcessor implements \Psr\Log\LoggerAwareInterface $icc = []; while (($pos = strpos($data, "ICC_PROFILE\0", $offset)) !== false) { // get ICC sequence length - $length = $this->twoBytesToInt(substr($data, ($pos - 2), 2)) - 16; - $sn = max(1, ord($data[($pos + 12)])); - $nom = max(1, ord($data[($pos + 13)])); - $icc[($sn - 1)] = substr($data, ($pos + 14), $length); + $length = $this->twoBytesToInt(substr($data, $pos - 2, 2)) - 16; + $sn = max(1, ord($data[$pos + 12])); + $nom = max(1, ord($data[$pos + 13])); + $icc[$sn - 1] = substr($data, $pos + 14, $length); $offset = ($pos + 14 + $length); } // order and compact ICC segments if (count($icc) > 0) { ksort($icc); $icc = implode('', $icc); - if (substr($icc, 36, 4) != 'acsp') { + if (substr($icc, 36, 4) !== 'acsp') { // invalid ICC profile $icc = false; } $input = substr($icc, 16, 4); $output = substr($icc, 20, 4); // Ignore Color profiles for conversion to other colorspaces e.g. CMYK/Lab - if ($input != 'RGB ' || $output != 'XYZ ') { + if ($input !== 'RGB ' || $output !== 'XYZ ') { $icc = false; } } else { @@ -384,15 +399,18 @@ class ImageProcessor implements \Psr\Log\LoggerAwareInterface } return $info; - } elseif ($type == 'png') { + + } + + if ($type === 'png') { // Check signature - if (substr($data, 0, 8) != chr(137) . 'PNG' . chr(13) . chr(10) . chr(26) . chr(10)) { + if (strpos($data, chr(137) . 'PNG' . chr(13) . chr(10) . chr(26) . chr(10)) !== 0) { return $this->imageError($file, $firsttime, 'Error parsing PNG identifier'); } // Read header chunk - if (substr($data, 12, 4) != 'IHDR') { + if (substr($data, 12, 4) !== 'IHDR') { return $this->imageError($file, $firsttime, 'Incorrect PNG file (no IHDR block found)'); } @@ -404,18 +422,18 @@ class ImageProcessor implements \Psr\Log\LoggerAwareInterface $channels = 0; // if($bpc>8) { $errpng = 'not 8-bit depth'; } // mPDF 6 Allow through to be handled as native PNG - $ct = ord(substr($data, 25, 1)); - if ($ct == 0) { + + if ($ct === 0) { $colspace = 'DeviceGray'; $channels = 1; - } elseif ($ct == 2) { + } elseif ($ct === 2) { $colspace = 'DeviceRGB'; $channels = 3; - } elseif ($ct == 3) { + } elseif ($ct === 3) { $colspace = 'Indexed'; $channels = 1; - } elseif ($ct == 4) { + } elseif ($ct === 4) { $colspace = 'DeviceGray'; $channels = 1; $errpng = 'alpha channel'; @@ -432,28 +450,30 @@ class ImageProcessor implements \Psr\Log\LoggerAwareInterface $pngalpha = true; } // mPDF 6 - if ($ct == 3 && strpos($data, 'iCCP') !== false) { + if ($ct === 3 && strpos($data, 'iCCP') !== false) { $errpng = 'indexed plus ICC'; } // mPDF 6 + // $pngalpha is used as a FLAG of any kind of transparency which COULD be tranferred to an alpha channel // incl. single-color tarnsparency, depending which type of handling occurs later - - if (ord(substr($data, 26, 1)) != 0) { + if (ord(substr($data, 26, 1)) !== 0) { $errpng = 'compression method'; } // only 0 should be specified - if (ord(substr($data, 27, 1)) != 0) { + + if (ord(substr($data, 27, 1)) !== 0) { $errpng = 'filter method'; - } // only 0 should be specified - if (ord(substr($data, 28, 1)) != 0) { + } // only 0 should be specified + + if (ord(substr($data, 28, 1)) !== 0) { $errpng = 'interlaced file'; } $j = strpos($data, 'pHYs'); if ($j) { //Read resolution - $unitSp = ord(substr($data, ($j + 12), 1)); - if ($unitSp == 1) { - $ppUx = $this->fourBytesToInt(substr($data, ($j + 4), 4)); // horizontal pixels per meter, usually set to zero + $unitSp = ord(substr($data, $j + 12, 1)); + if ($unitSp === 1) { + $ppUx = $this->fourBytesToInt(substr($data, $j + 4, 4)); // horizontal pixels per meter, usually set to zero $ppUx = round($ppUx / 1000 * 25.4); } } @@ -463,7 +483,7 @@ class ImageProcessor implements \Psr\Log\LoggerAwareInterface $gAMA = 0; $j = strpos($data, 'gAMA'); if ($j && strpos($data, 'sRGB') === false) { // sRGB colorspace - overrides gAMA - $gAMA = $this->fourBytesToInt(substr($data, ($j + 4), 4)); // Gamma value times 100000 + $gAMA = $this->fourBytesToInt(substr($data, $j + 4, 4)); // Gamma value times 100000 $gAMA /= 100000; // http://www.libpng.org/pub/png/spec/1.2/PNG-Encoders.html @@ -493,257 +513,263 @@ class ImageProcessor implements \Psr\Log\LoggerAwareInterface //$j = strpos($data,'cHRM'); // Chromaticity and Whitepoint // $firsttime added mPDF 6 so when PNG Grayscale with alpha using resrtictcolorspace to CMYK // the alpha channel is sent through as secondtime as Indexed and should not be converted to CMYK - if ($firsttime && ($colspace == 'DeviceRGB' || $colspace == 'Indexed') && ($this->mpdf->PDFX || $this->mpdf->restrictColorSpace == 3)) { - // Convert to CMYK image stream - nominally returned as type='png' - $info = $this->convImage($data, $colspace, 'DeviceCMYK', $w, $h, $ppUx, $pngalpha, $gamma, $ct); // mPDF 5.7.2 Gamma correction - if (($this->mpdf->PDFA && !$this->mpdf->PDFAauto) || ($this->mpdf->PDFX && !$this->mpdf->PDFXauto)) { - $this->mpdf->PDFAXwarnings[] = "PNG image may not use RGB color space - " . $file . " - (Image converted to CMYK. NB This will alter the colour profile of the image.)"; - } - } // $firsttime added mPDF 6 so when PNG Grayscale with alpha using resrtictcolorspace to CMYK - // the alpha channel is sent through as secondtime as Indexed and should not be converted to CMYK - elseif ($firsttime && ($colspace == 'DeviceRGB' || $colspace == 'Indexed') && $this->mpdf->restrictColorSpace == 1) { - // Convert to Grayscale image stream - nominally returned as type='png' - $info = $this->convImage($data, $colspace, 'DeviceGray', $w, $h, $ppUx, $pngalpha, $gamma, $ct); // mPDF 5.7.2 Gamma correction - } elseif (($this->mpdf->PDFA || $this->mpdf->PDFX) && $pngalpha) { - // Remove alpha channel - if ($this->mpdf->restrictColorSpace == 1) { // Grayscale - $info = $this->convImage($data, $colspace, 'DeviceGray', $w, $h, $ppUx, $pngalpha, $gamma, $ct); // mPDF 5.7.2 Gamma correction - } elseif ($this->mpdf->restrictColorSpace == 3) { // CMYK - $info = $this->convImage($data, $colspace, 'DeviceCMYK', $w, $h, $ppUx, $pngalpha, $gamma, $ct); // mPDF 5.7.2 Gamma correction - } elseif ($this->mpdf->PDFA) { // RGB - $info = $this->convImage($data, $colspace, 'DeviceRGB', $w, $h, $ppUx, $pngalpha, $gamma, $ct); // mPDF 5.7.2 Gamma correction - } - if (($this->mpdf->PDFA && !$this->mpdf->PDFAauto) || ($this->mpdf->PDFX && !$this->mpdf->PDFXauto)) { - $this->mpdf->PDFAXwarnings[] = "Transparency (alpha channel) not permitted in PDFA or PDFX files - " . $file . " - (Image converted to one without transparency.)"; - } - } elseif ($firsttime && ($errpng || $pngalpha || $gamma)) { // mPDF 5.7.2 Gamma correction - if (function_exists('gd_info')) { - $gd = gd_info(); - } else { - $gd = []; - } - if (!isset($gd['PNG Support'])) { - return $this->imageError($file, $firsttime, 'GD library required for PNG image (' . $errpng . ')'); - } - $im = imagecreatefromstring($data); + if ($firsttime && ($colspace === 'DeviceRGB' || $colspace === 'Indexed') && ($this->mpdf->PDFX || $this->mpdf->restrictColorSpace === 3)) { - if (!$im) { - return $this->imageError($file, $firsttime, 'Error creating GD image from PNG file (' . $errpng . ')'); + // Convert to CMYK image stream - nominally returned as type='png' + $info = $this->convertImage($data, $colspace, 'DeviceCMYK', $w, $h, $ppUx, $pngalpha, $gamma, $ct); // mPDF 5.7.2 Gamma correction + if (($this->mpdf->PDFA && !$this->mpdf->PDFAauto) || ($this->mpdf->PDFX && !$this->mpdf->PDFXauto)) { + $this->mpdf->PDFAXwarnings[] = sprintf('PNG image may not use RGB color space - %s - (Image converted to CMYK. NB This will alter the colour profile of the image.)', $file); } + + } elseif ($firsttime && ($colspace === 'DeviceRGB' || $colspace === 'Indexed') && $this->mpdf->restrictColorSpace === 1) { + + // $firsttime added mPDF 6 so when PNG Grayscale with alpha using resrtictcolorspace to CMYK + // the alpha channel is sent through as secondtime as Indexed and should not be converted to CMYK + // Convert to Grayscale image stream - nominally returned as type='png' + $info = $this->convertImage($data, $colspace, 'DeviceGray', $w, $h, $ppUx, $pngalpha, $gamma, $ct); // mPDF 5.7.2 Gamma correction + + } elseif (($this->mpdf->PDFA || $this->mpdf->PDFX) && $pngalpha) { + + // Remove alpha channel + if ($this->mpdf->restrictColorSpace === 1) { // Grayscale + $info = $this->convertImage($data, $colspace, 'DeviceGray', $w, $h, $ppUx, $pngalpha, $gamma, $ct); // mPDF 5.7.2 Gamma correction + } elseif ($this->mpdf->restrictColorSpace === 3) { // CMYK + $info = $this->convertImage($data, $colspace, 'DeviceCMYK', $w, $h, $ppUx, $pngalpha, $gamma, $ct); // mPDF 5.7.2 Gamma correction + } elseif ($this->mpdf->PDFA) { // RGB + $info = $this->convertImage($data, $colspace, 'DeviceRGB', $w, $h, $ppUx, $pngalpha, $gamma, $ct); // mPDF 5.7.2 Gamma correction + } + if (($this->mpdf->PDFA && !$this->mpdf->PDFAauto) || ($this->mpdf->PDFX && !$this->mpdf->PDFXauto)) { + $this->mpdf->PDFAXwarnings[] = sprintf('Transparency (alpha channel) not permitted in PDFA or PDFX files - %s - (Image converted to one without transparency.)', $file); + } + + } elseif ($firsttime && ($errpng || $pngalpha || $gamma)) { // mPDF 5.7.2 Gamma correction + + $gd = function_exists('gd_info') ? gd_info() : []; + if (!isset($gd['PNG Support'])) { + return $this->imageError($file, $firsttime, sprintf('GD library with PNG support required for image (%s)', $errpng)); + } + + $im = imagecreatefromstring($data); + if (!$im) { + return $this->imageError($file, $firsttime, sprintf('Error creating GD image from PNG file (%s)', $errpng)); + } + $w = imagesx($im); $h = imagesy($im); - if ($im) { - $tempfile = $this->cache->tempFilename('_tempImgPNG' . md5($file) . random_int(1, 10000) . '.png'); - // Alpha channel set (including using tRNS for Paletted images) - if ($pngalpha) { - if ($this->mpdf->PDFA) { - throw new \Mpdf\MpdfException("PDFA1-b does not permit images with alpha channel transparency (" . $file . ")."); - } + $tempfile = $this->cache->tempFilename('_tempImgPNG' . md5($file) . random_int(1, 10000) . '.png'); - $imgalpha = imagecreate($w, $h); - // generate gray scale pallete - for ($c = 0; $c < 256; ++$c) { - imagecolorallocate($imgalpha, $c, $c, $c); - } + // Alpha channel set (including using tRNS for Paletted images) + if ($pngalpha) { + if ($this->mpdf->PDFA) { + throw new \Mpdf\MpdfException(sprintf('PDFA1-b does not permit images with alpha channel transparency (%s).', $file)); + } - // mPDF 6 - if ($colspace == 'Indexed') { // generate Alpha channel values from tRNS - // Read transparency info - $p = strpos($data, 'tRNS'); - if ($p) { - $n = $this->fourBytesToInt(substr($data, ($p - 4), 4)); - $transparency = substr($data, ($p + 4), $n); - // ord($transparency{$index}) = the alpha value for that index - // generate alpha channel - for ($ypx = 0; $ypx < $h; ++$ypx) { - for ($xpx = 0; $xpx < $w; ++$xpx) { - $colorindex = imagecolorat($im, $xpx, $ypx); - if ($colorindex >= $n) { - $alpha = 255; - } else { - $alpha = ord($transparency{$colorindex}); - } // 0-255 - if ($alpha > 0) { - imagesetpixel($imgalpha, $xpx, $ypx, $alpha); - } - } - } - } - } elseif ($ct === 0 || $ct == 2) { // generate Alpha channel values from tRNS - // Get transparency as array of RGB - $p = strpos($data, 'tRNS'); - if ($p) { - $trns = ''; - $n = $this->fourBytesToInt(substr($data, ($p - 4), 4)); - $t = substr($data, ($p + 4), $n); - if ($colspace == 'DeviceGray') { // ct===0 - $trns = [$this->translateValue(substr($t, 0, 2), $bpc)]; - } else /* $colspace=='DeviceRGB' */ { // ct==2 - $trns = []; - $trns[0] = $this->translateValue(substr($t, 0, 2), $bpc); - $trns[1] = $this->translateValue(substr($t, 2, 2), $bpc); - $trns[2] = $this->translateValue(substr($t, 4, 2), $bpc); - } + $imgalpha = imagecreate($w, $h); + // generate gray scale pallete + for ($c = 0; $c < 256; ++$c) { + imagecolorallocate($imgalpha, $c, $c, $c); + } - // generate alpha channel - for ($ypx = 0; $ypx < $h; ++$ypx) { - for ($xpx = 0; $xpx < $w; ++$xpx) { - $rgb = imagecolorat($im, $xpx, $ypx); - $r = ($rgb >> 16) & 0xFF; - $g = ($rgb >> 8) & 0xFF; - $b = $rgb & 0xFF; - if ($colspace == 'DeviceGray' && $b == $trns[0]) { - $alpha = 0; - } elseif ($r == $trns[0] && $g == $trns[1] && $b == $trns[2]) { - $alpha = 0; - } // ct==2 - else { - $alpha = 255; - } - if ($alpha > 0) { - imagesetpixel($imgalpha, $xpx, $ypx, $alpha); - } - } - } - } - } else { - // extract alpha channel + // mPDF 6 + if ($colspace === 'Indexed') { // generate Alpha channel values from tRNS + // Read transparency info + $p = strpos($data, 'tRNS'); + if ($p) { + $n = $this->fourBytesToInt(substr($data, $p - 4, 4)); + $transparency = substr($data, $p + 4, $n); + // ord($transparency[$index]) = the alpha value for that index + // generate alpha channel for ($ypx = 0; $ypx < $h; ++$ypx) { for ($xpx = 0; $xpx < $w; ++$xpx) { - $alpha = (imagecolorat($im, $xpx, $ypx) & 0x7F000000) >> 24; - if ($alpha < 127) { - imagesetpixel($imgalpha, $xpx, $ypx, (255 - ($alpha * 2))); + $colorindex = imagecolorat($im, $xpx, $ypx); + if ($colorindex >= $n) { + $alpha = 255; + } else { + $alpha = ord($transparency[$colorindex]); + } // 0-255 + if ($alpha > 0) { + imagesetpixel($imgalpha, $xpx, $ypx, $alpha); } } } } + } elseif ($ct === 0 || $ct === 2) { // generate Alpha channel values from tRNS + // Get transparency as array of RGB + $p = strpos($data, 'tRNS'); + if ($p) { + $trns = ''; + $n = $this->fourBytesToInt(substr($data, $p - 4, 4)); + $t = substr($data, $p + 4, $n); + if ($colspace === 'DeviceGray') { // ct===0 + $trns = [$this->translateValue(substr($t, 0, 2), $bpc)]; + } else /* $colspace=='DeviceRGB' */ { // ct==2 + $trns = []; + $trns[0] = $this->translateValue(substr($t, 0, 2), $bpc); + $trns[1] = $this->translateValue(substr($t, 2, 2), $bpc); + $trns[2] = $this->translateValue(substr($t, 4, 2), $bpc); + } - // NB This must happen after the Alpha channel is extracted - // imagegammacorrect() removes the alpha channel data in $im - (I think this is a bug in PHP) - if ($gamma) { - imagegammacorrect($im, $gamma, 2.2); - } - - $tempfile_alpha = $this->cache->tempFilename('_tempMskPNG' . md5($file) . random_int(1, 10000) . '.png'); - - $check = @imagepng($imgalpha, $tempfile_alpha); - - if (!$check) { - return $this->imageError($file, $firsttime, 'Failed to create temporary image file (' . $tempfile_alpha . ') parsing PNG image with alpha channel (' . $errpng . ')'); - } - - imagedestroy($imgalpha); - // extract image without alpha channel - $imgplain = imagecreatetruecolor($w, $h); - imagealphablending($imgplain, false); // mPDF 5.7.2 - imagecopy($imgplain, $im, 0, 0, 0, 0, $w, $h); - - // create temp image file - $check = @imagepng($imgplain, $tempfile); - if (!$check) { - return $this->imageError($file, $firsttime, 'Failed to create temporary image file (' . $tempfile . ') parsing PNG image with alpha channel (' . $errpng . ')'); - } - imagedestroy($imgplain); - // embed mask image - $minfo = $this->getImage($tempfile_alpha, false); - unlink($tempfile_alpha); - - if (!$minfo) { - return $this->imageError($file, $firsttime, 'Error parsing temporary file (' . $tempfile_alpha . ') created with GD library to parse PNG image'); - } - - $imgmask = count($this->mpdf->images) + 1; - $minfo['cs'] = 'DeviceGray'; - $minfo['i'] = $imgmask; - $this->mpdf->images[$tempfile_alpha] = $minfo; - // embed image, masked with previously embedded mask - $info = $this->getImage($tempfile, false); - unlink($tempfile); - - if (!$info) { - return $this->imageError($file, $firsttime, 'Error parsing temporary file (' . $tempfile . ') created with GD library to parse PNG image'); - } - - $info['masked'] = $imgmask; - if ($ppUx) { - $info['set-dpi'] = $ppUx; - } - $info['type'] = 'png'; - if ($firsttime) { - $info['i'] = count($this->mpdf->images) + 1; - $info['interpolation'] = $interpolation; // mPDF 6 - $this->mpdf->images[$file] = $info; - } - - return $info; - } else { // No alpha/transparency set (but cannot read directly because e.g. bit-depth != 8, interlaced etc) - // ICC profile - $icc = false; - $p = strpos($data, 'iCCP'); - if ($p && $colspace == "Indexed") { // Cannot have ICC profile and Indexed together - $p += 4; - $n = $this->fourBytesToInt(substr($data, ($p - 8), 4)); - $nullsep = strpos(substr($data, $p, 80), chr(0)); - $icc = substr($data, ($p + $nullsep + 2), ($n - ($nullsep + 2))); - $icc = @gzuncompress($icc); // Ignored if fails - if ($icc) { - if (substr($icc, 36, 4) != 'acsp') { - $icc = false; - } // invalid ICC profile - else { - $input = substr($icc, 16, 4); - $output = substr($icc, 20, 4); - // Ignore Color profiles for conversion to other colorspaces e.g. CMYK/Lab - if ($input != 'RGB ' || $output != 'XYZ ') { - $icc = false; + // generate alpha channel + for ($ypx = 0; $ypx < $h; ++$ypx) { + for ($xpx = 0; $xpx < $w; ++$xpx) { + $rgb = imagecolorat($im, $xpx, $ypx); + $r = ($rgb >> 16) & 0xFF; + $g = ($rgb >> 8) & 0xFF; + $b = $rgb & 0xFF; + if ($colspace === 'DeviceGray' && $b == $trns[0]) { + $alpha = 0; + } elseif ($r == $trns[0] && $g == $trns[1] && $b == $trns[2]) { + $alpha = 0; + } else { // ct==2 + $alpha = 255; + } + if ($alpha > 0) { + imagesetpixel($imgalpha, $xpx, $ypx, $alpha); } } } - // Convert to RGB colorspace so can use ICC Profile - if ($icc) { - imagepalettetotruecolor($im); - $colspace = 'DeviceRGB'; - $channels = 3; + } + } else { + // extract alpha channel + for ($ypx = 0; $ypx < $h; ++$ypx) { + for ($xpx = 0; $xpx < $w; ++$xpx) { + $alpha = (imagecolorat($im, $xpx, $ypx) & 0x7F000000) >> 24; + if ($alpha < 127) { + imagesetpixel($imgalpha, $xpx, $ypx, 255 - ($alpha * 2)); + } } } + } - if ($gamma) { - imagegammacorrect($im, $gamma, 2.2); - } + // NB This must happen after the Alpha channel is extracted + // imagegammacorrect() removes the alpha channel data in $im - (I think this is a bug in PHP) + if ($gamma) { + imagegammacorrect($im, $gamma, 2.2); + } - imagealphablending($im, false); - imagesavealpha($im, false); - imageinterlace($im, false); + $tempfile_alpha = $this->cache->tempFilename('_tempMskPNG' . md5($file) . random_int(1, 10000) . '.png'); - $check = @imagepng($im, $tempfile); - if (!$check) { - return $this->imageError($file, $firsttime, 'Failed to create temporary image file (' . $tempfile . ') parsing PNG image (' . $errpng . ')'); - } - imagedestroy($im); - $info = $this->getImage($tempfile, false); - unlink($tempfile); - if (!$info) { - return $this->imageError($file, $firsttime, 'Error parsing temporary file (' . $tempfile . ') created with GD library to parse PNG image'); - } + $check = @imagepng($imgalpha, $tempfile_alpha); - if ($ppUx) { - $info['set-dpi'] = $ppUx; - } - $info['type'] = 'png'; - if ($firsttime) { - $info['i'] = count($this->mpdf->images) + 1; - $info['interpolation'] = $interpolation; // mPDF 6 - if ($icc) { - $info['ch'] = $channels; - $info['icc'] = $icc; + if (!$check) { + return $this->imageError($file, $firsttime, 'Failed to create temporary image file (' . $tempfile_alpha . ') parsing PNG image with alpha channel (' . $errpng . ')'); + } + + imagedestroy($imgalpha); + // extract image without alpha channel + $imgplain = imagecreatetruecolor($w, $h); + imagealphablending($imgplain, false); // mPDF 5.7.2 + imagecopy($imgplain, $im, 0, 0, 0, 0, $w, $h); + + // create temp image file + $check = @imagepng($imgplain, $tempfile); + if (!$check) { + return $this->imageError($file, $firsttime, 'Failed to create temporary image file (' . $tempfile . ') parsing PNG image with alpha channel (' . $errpng . ')'); + } + imagedestroy($imgplain); + // embed mask image + $minfo = $this->getImage($tempfile_alpha, false); + unlink($tempfile_alpha); + + if (!$minfo) { + return $this->imageError($file, $firsttime, 'Error parsing temporary file (' . $tempfile_alpha . ') created with GD library to parse PNG image'); + } + + $imgmask = count($this->mpdf->images) + 1; + $minfo['cs'] = 'DeviceGray'; + $minfo['i'] = $imgmask; + $this->mpdf->images[$tempfile_alpha] = $minfo; + // embed image, masked with previously embedded mask + $info = $this->getImage($tempfile, false); + unlink($tempfile); + + if (!$info) { + return $this->imageError($file, $firsttime, 'Error parsing temporary file (' . $tempfile . ') created with GD library to parse PNG image'); + } + + $info['masked'] = $imgmask; + if ($ppUx) { + $info['set-dpi'] = $ppUx; + } + $info['type'] = 'png'; + if ($firsttime) { + $info['i'] = count($this->mpdf->images) + 1; + $info['interpolation'] = $interpolation; // mPDF 6 + $this->mpdf->images[$file] = $info; + } + + return $info; + } + + // No alpha/transparency set (but cannot read directly because e.g. bit-depth != 8, interlaced etc) + // ICC profile + $icc = false; + $p = strpos($data, 'iCCP'); + if ($p && $colspace === "Indexed") { // Cannot have ICC profile and Indexed together + $p += 4; + $n = $this->fourBytesToInt(substr($data, ($p - 8), 4)); + $nullsep = strpos(substr($data, $p, 80), chr(0)); + $icc = substr($data, ($p + $nullsep + 2), ($n - ($nullsep + 2))); + $icc = @gzuncompress($icc); // Ignored if fails + if ($icc) { + if (substr($icc, 36, 4) !== 'acsp') { + $icc = false; + } // invalid ICC profile + else { + $input = substr($icc, 16, 4); + $output = substr($icc, 20, 4); + // Ignore Color profiles for conversion to other colorspaces e.g. CMYK/Lab + if ($input !== 'RGB ' || $output !== 'XYZ ') { + $icc = false; } - $this->mpdf->images[$file] = $info; } - return $info; + } + // Convert to RGB colorspace so can use ICC Profile + if ($icc) { + imagepalettetotruecolor($im); + $colspace = 'DeviceRGB'; + $channels = 3; } } + + if ($gamma) { + imagegammacorrect($im, $gamma, 2.2); + } + + imagealphablending($im, false); + imagesavealpha($im, false); + imageinterlace($im, false); + + $check = @imagepng($im, $tempfile); + if (!$check) { + return $this->imageError($file, $firsttime, 'Failed to create temporary image file (' . $tempfile . ') parsing PNG image (' . $errpng . ')'); + } + imagedestroy($im); + $info = $this->getImage($tempfile, false); + unlink($tempfile); + if (!$info) { + return $this->imageError($file, $firsttime, 'Error parsing temporary file (' . $tempfile . ') created with GD library to parse PNG image'); + } + + if ($ppUx) { + $info['set-dpi'] = $ppUx; + } + $info['type'] = 'png'; + if ($firsttime) { + $info['i'] = count($this->mpdf->images) + 1; + $info['interpolation'] = $interpolation; // mPDF 6 + if ($icc) { + $info['ch'] = $channels; + $info['icc'] = $icc; + } + $this->mpdf->images[$file] = $info; + } + + return $info; + } else { // PNG image with no need to convert alph channels, bpc <> 8 etc. + $parms = '/DecodeParms <>'; //Scan chunks looking for palette, transparency and image data $pal = ''; @@ -751,23 +777,24 @@ class ImageProcessor implements \Psr\Log\LoggerAwareInterface $pngdata = ''; $icc = false; $p = 33; + do { $n = $this->fourBytesToInt(substr($data, $p, 4)); $p += 4; $type = substr($data, $p, 4); $p += 4; - if ($type == 'PLTE') { + if ($type === 'PLTE') { //Read palette $pal = substr($data, $p, $n); $p += $n; $p += 4; - } elseif ($type == 'tRNS') { + } elseif ($type === 'tRNS') { //Read transparency info $t = substr($data, $p, $n); $p += $n; - if ($ct == 0) { + if ($ct === 0) { $trns = [ord(substr($t, 1, 1))]; - } elseif ($ct == 2) { + } elseif ($ct === 2) { $trns = [ord(substr($t, 1, 1)), ord(substr($t, 3, 1)), ord(substr($t, 5, 1))]; } else { $pos = strpos($t, chr(0)); @@ -776,45 +803,48 @@ class ImageProcessor implements \Psr\Log\LoggerAwareInterface } } $p += 4; - } elseif ($type == 'IDAT') { + } elseif ($type === 'IDAT') { $pngdata.=substr($data, $p, $n); $p += $n; $p += 4; - } elseif ($type == 'iCCP') { + } elseif ($type === 'iCCP') { $nullsep = strpos(substr($data, $p, 80), chr(0)); - $icc = substr($data, ($p + $nullsep + 2), ($n - ($nullsep + 2))); + $icc = substr($data, $p + $nullsep + 2, $n - ($nullsep + 2)); $icc = @gzuncompress($icc); // Ignored if fails if ($icc) { - if (substr($icc, 36, 4) != 'acsp') { + if (substr($icc, 36, 4) !== 'acsp') { $icc = false; } // invalid ICC profile else { $input = substr($icc, 16, 4); $output = substr($icc, 20, 4); // Ignore Color profiles for conversion to other colorspaces e.g. CMYK/Lab - if ($input != 'RGB ' || $output != 'XYZ ') { + if ($input !== 'RGB ' || $output !== 'XYZ ') { $icc = false; } } } $p += $n; $p += 4; - } elseif ($type == 'IEND') { + } elseif ($type === 'IEND') { break; } elseif (preg_match('/[a-zA-Z]{4}/', $type)) { $p += $n + 4; } else { return $this->imageError($file, $firsttime, 'Error parsing PNG image data'); } + } while ($n); + if (!$pngdata) { return $this->imageError($file, $firsttime, 'Error parsing PNG image data - no IDAT data found'); } - if ($colspace == 'Indexed' && empty($pal)) { + + if ($colspace === 'Indexed' && empty($pal)) { return $this->imageError($file, $firsttime, 'Error parsing PNG image data - missing colour palette'); } - if ($colspace == 'Indexed' && $icc) { + if ($colspace === 'Indexed' && $icc) { $icc = false; } // mPDF 6 cannot have ICC profile and Indexed in a PDF document as both use the colorspace tag. @@ -837,13 +867,11 @@ class ImageProcessor implements \Psr\Log\LoggerAwareInterface return $info; - } elseif ($type == 'gif') { // GIF + } elseif ($type === 'gif') { // GIF - if (function_exists('gd_info')) { - $gd = gd_info(); - } else { - $gd = []; - } + $gd = function_exists('gd_info') + ? gd_info() + : []; if (isset($gd['GIF Read Support']) && $gd['GIF Read Support']) { @@ -886,48 +914,51 @@ class ImageProcessor implements \Psr\Log\LoggerAwareInterface $this->mpdf->images[$file] = $info; } return $info; - } else { - return $this->imageError($file, $firsttime, 'Error creating GD image file from GIF image'); } + + return $this->imageError($file, $firsttime, 'Error creating GD image file from GIF image'); } $gif = new Gif(); $h = 0; $w = 0; + $gif->loadFile($data, 0); + $nColors = 0; + $bgColor = -1; + $colspace = 'DeviceGray'; + $pal = ''; + if (isset($gif->m_img->m_gih->m_bLocalClr) && $gif->m_img->m_gih->m_bLocalClr) { $nColors = $gif->m_img->m_gih->m_nTableSize; $pal = $gif->m_img->m_gih->m_colorTable->toString(); - if ((isset($bgColor)) and $bgColor != -1) { // mPDF 5.7.3 + if ((isset($bgColor)) && $bgColor !== -1) { // mPDF 5.7.3 $bgColor = $gif->m_img->m_gih->m_colorTable->colorIndex($bgColor); } $colspace = 'Indexed'; } elseif (isset($gif->m_gfh->m_bGlobalClr) && $gif->m_gfh->m_bGlobalClr) { $nColors = $gif->m_gfh->m_nTableSize; $pal = $gif->m_gfh->m_colorTable->toString(); - if ((isset($bgColor)) and $bgColor != -1) { + if ((isset($bgColor)) && $bgColor != -1) { $bgColor = $gif->m_gfh->m_colorTable->colorIndex($bgColor); } $colspace = 'Indexed'; - } else { - $nColors = 0; - $bgColor = -1; - $colspace = 'DeviceGray'; - $pal = ''; } $trns = ''; + if (isset($gif->m_img->m_bTrans) && $gif->m_img->m_bTrans && ($nColors > 0)) { $trns = [$gif->m_img->m_nTrans]; } + $gifdata = $gif->m_img->m_data; $w = $gif->m_gfh->m_nWidth; $h = $gif->m_gfh->m_nHeight; $gif->ClearData(); - if ($colspace == 'Indexed' and empty($pal)) { + if ($colspace === 'Indexed' && empty($pal)) { return $this->imageError($file, $firsttime, 'Error parsing GIF image - missing colour palette'); } @@ -947,25 +978,28 @@ class ImageProcessor implements \Psr\Log\LoggerAwareInterface return $info; - } elseif ($type == 'bmp') { + } elseif ($type === 'bmp') { - if (empty($this->bmp)) { + if ($this->bmp === null) { $this->bmp = new Bmp($this->mpdf); } + $info = $this->bmp->_getBMPimage($data, $file); if (isset($info['error'])) { return $this->imageError($file, $firsttime, $info['error']); } + if ($firsttime) { $info['i'] = count($this->mpdf->images) + 1; $info['interpolation'] = $interpolation; // mPDF 6 $this->mpdf->images[$file] = $info; } + return $info; - } elseif ($type == 'wmf') { + } elseif ($type === 'wmf') { - if (empty($this->wmf)) { + if ($this->wmf === null) { $this->wmf = new Wmf($this->mpdf, $this->colorConverter); } @@ -987,11 +1021,9 @@ class ImageProcessor implements \Psr\Log\LoggerAwareInterface } else { // UNKNOWN TYPE - try GD imagecreatefromstring - if (function_exists('gd_info')) { - $gd = gd_info(); - } else { - $gd = []; - } + $gd = function_exists('gd_info') + ? gd_info() + : []; if (isset($gd['PNG Support']) && $gd['PNG Support']) { @@ -1036,8 +1068,12 @@ class ImageProcessor implements \Psr\Log\LoggerAwareInterface return $this->imageError($file, $firsttime, 'Error parsing image file - image type not recognised'); } - private function convImage(&$data, $colspace, $targetcs, $w, $h, $dpi, $mask, $gamma_correction = false, $pngcolortype = false) + private function convertImage(&$data, $colspace, $targetcs, $w, $h, $dpi, $mask, $gamma_correction = false, $pngcolortype = false) { + if (!function_exists('gd_info')) { + return $this->imageError($file, $firsttime, 'GD library needed to parse image files'); + } + if ($this->mpdf->PDFA || $this->mpdf->PDFX) { $mask = false; } @@ -1055,14 +1091,14 @@ class ImageProcessor implements \Psr\Log\LoggerAwareInterface // Need to extract alpha channel info before imagegammacorrect (which loses the data) if ($mask) { // i.e. $pngalpha for PNG // mPDF 6 - if ($colspace == 'Indexed') { // generate Alpha channel values from tRNS - only from PNG + if ($colspace === 'Indexed') { // generate Alpha channel values from tRNS - only from PNG //Read transparency info $transparency = ''; $p = strpos($data, 'tRNS'); if ($p) { - $n = $this->fourBytesToInt(substr($data, ($p - 4), 4)); - $transparency = substr($data, ($p + 4), $n); - // ord($transparency{$index}) = the alpha value for that index + $n = $this->fourBytesToInt(substr($data, $p - 4, 4)); + $transparency = substr($data, $p + 4, $n); + // ord($transparency[$index]) = the alpha value for that index // generate alpha channel for ($ypx = 0; $ypx < $h; ++$ypx) { for ($xpx = 0; $xpx < $w; ++$xpx) { @@ -1070,20 +1106,20 @@ class ImageProcessor implements \Psr\Log\LoggerAwareInterface if ($colorindex >= $n) { $alpha = 255; } else { - $alpha = ord($transparency{$colorindex}); + $alpha = ord($transparency[$colorindex]); } // 0-255 $mimgdata .= chr($alpha); } } } - } elseif ($pngcolortype === 0 || $pngcolortype == 2) { // generate Alpha channel values from tRNS + } elseif ($pngcolortype === 0 || $pngcolortype === 2) { // generate Alpha channel values from tRNS // Get transparency as array of RGB $p = strpos($data, 'tRNS'); if ($p) { $trns = ''; - $n = $this->fourBytesToInt(substr($data, ($p - 4), 4)); - $t = substr($data, ($p + 4), $n); - if ($colspace == 'DeviceGray') { // ct===0 + $n = $this->fourBytesToInt(substr($data, $p - 4, 4)); + $t = substr($data, $p + 4, $n); + if ($colspace === 'DeviceGray') { // ct===0 $trns = [$this->translateValue(substr($t, 0, 2), $bpc)]; } else /* $colspace=='DeviceRGB' */ { // ct==2 $trns = []; @@ -1099,7 +1135,7 @@ class ImageProcessor implements \Psr\Log\LoggerAwareInterface $r = ($rgb >> 16) & 0xFF; $g = ($rgb >> 8) & 0xFF; $b = $rgb & 0xFF; - if ($colspace == 'DeviceGray' && $b == $trns[0]) { + if ($colspace === 'DeviceGray' && $b == $trns[0]) { $alpha = 0; } elseif ($r == $trns[0] && $g == $trns[1] && $b == $trns[2]) { $alpha = 0; @@ -1138,23 +1174,23 @@ class ImageProcessor implements \Psr\Log\LoggerAwareInterface $p = strpos($data, 'tRNS'); if ($p) { $n = $this->fourBytesToInt(substr($data, ($p - 4), 4)); - $t = substr($data, ($p + 4), $n); - if ($colspace == 'DeviceGray') { // ct===0 + $t = substr($data, $p + 4, $n); + if ($colspace === 'DeviceGray') { // ct===0 $trns = [$this->translateValue(substr($t, 0, 2), $bpc)]; - } elseif ($colspace == 'DeviceRGB') { // ct==2 + } elseif ($colspace === 'DeviceRGB') { // ct==2 $trns[0] = $this->translateValue(substr($t, 0, 2), $bpc); $trns[1] = $this->translateValue(substr($t, 2, 2), $bpc); $trns[2] = $this->translateValue(substr($t, 4, 2), $bpc); $trnsrgb = $trns; - if ($targetcs == 'DeviceCMYK') { + if ($targetcs === 'DeviceCMYK') { $col = $this->colorModeConverter->rgb2cmyk([3, $trns[0], $trns[1], $trns[2]]); - $c1 = intval($col[1] * 2.55); - $c2 = intval($col[2] * 2.55); - $c3 = intval($col[3] * 2.55); - $c4 = intval($col[4] * 2.55); + $c1 = (int) ($col[1] * 2.55); + $c2 = (int) ($col[2] * 2.55); + $c3 = (int) ($col[3] * 2.55); + $c4 = (int) ($col[4] * 2.55); $trns = [$c1, $c2, $c3, $c4]; - } elseif ($targetcs == 'DeviceGray') { - $c = intval(($trns[0] * .21) + ($trns[1] * .71) + ($trns[2] * .07)); + } elseif ($targetcs === 'DeviceGray') { + $c = (int) (($trns[0] * .21) + ($trns[1] * .71) + ($trns[2] * .07)); $trns = [$c]; } } else { // Indexed @@ -1166,15 +1202,15 @@ class ImageProcessor implements \Psr\Log\LoggerAwareInterface $b = $pal['blue']; $trns = [$r, $g, $b]; // **** $trnsrgb = $trns; - if ($targetcs == 'DeviceCMYK') { + if ($targetcs === 'DeviceCMYK') { $col = $this->colorModeConverter->rgb2cmyk([3, $r, $g, $b]); - $c1 = intval($col[1] * 2.55); - $c2 = intval($col[2] * 2.55); - $c3 = intval($col[3] * 2.55); - $c4 = intval($col[4] * 2.55); + $c1 = (int) ($col[1] * 2.55); + $c2 = (int) ($col[2] * 2.55); + $c3 = (int) ($col[3] * 2.55); + $c4 = (int) ($col[4] * 2.55); $trns = [$c1, $c2, $c3, $c4]; - } elseif ($targetcs == 'DeviceGray') { - $c = intval(($r * .21) + ($g * .71) + ($b * .07)); + } elseif ($targetcs === 'DeviceGray') { + $c = (int) (($r * .21) + ($g * .71) + ($b * .07)); $trns = [$c]; } } @@ -1188,23 +1224,23 @@ class ImageProcessor implements \Psr\Log\LoggerAwareInterface $r = ($rgb >> 16) & 0xFF; $g = ($rgb >> 8) & 0xFF; $b = $rgb & 0xFF; - if ($colspace == 'Indexed') { + if ($colspace === 'Indexed') { $pal = imagecolorsforindex($im, $rgb); $r = $pal['red']; $g = $pal['green']; $b = $pal['blue']; } - if ($targetcs == 'DeviceCMYK') { + if ($targetcs === 'DeviceCMYK') { $col = $this->colorModeConverter->rgb2cmyk([3, $r, $g, $b]); - $c1 = intval($col[1] * 2.55); - $c2 = intval($col[2] * 2.55); - $c3 = intval($col[3] * 2.55); - $c4 = intval($col[4] * 2.55); + $c1 = (int) ($col[1] * 2.55); + $c2 = (int) ($col[2] * 2.55); + $c3 = (int) ($col[3] * 2.55); + $c4 = (int) ($col[4] * 2.55); if ($trnsrgb) { // original pixel was not set as transparent but processed color does match - if ($trnsrgb != [$r, $g, $b] && $trns == [$c1, $c2, $c3, $c4]) { - if ($c4 == 0) { + if ($trnsrgb !== [$r, $g, $b] && $trns === [$c1, $c2, $c3, $c4]) { + if ($c4 === 0) { $c4 = 1; } else { $c4--; @@ -1212,12 +1248,12 @@ class ImageProcessor implements \Psr\Log\LoggerAwareInterface } } $imgdata .= chr($c1) . chr($c2) . chr($c3) . chr($c4); - } elseif ($targetcs == 'DeviceGray') { - $c = intval(($r * .21) + ($g * .71) + ($b * .07)); + } elseif ($targetcs === 'DeviceGray') { + $c = (int) (($r * .21) + ($g * .71) + ($b * .07)); if ($trnsrgb) { // original pixel was not set as transparent but processed color does match - if ($trnsrgb != [$r, $g, $b] && $trns == [$c]) { - if ($c == 0) { + if ($trnsrgb !== [$r, $g, $b] && $trns === [$c]) { + if ($c === 0) { $c = 1; } else { $c--; @@ -1225,17 +1261,17 @@ class ImageProcessor implements \Psr\Log\LoggerAwareInterface } } $imgdata .= chr($c); - } elseif ($targetcs == 'DeviceRGB') { + } elseif ($targetcs === 'DeviceRGB') { $imgdata .= chr($r) . chr($g) . chr($b); } } } - if ($targetcs == 'DeviceGray') { + if ($targetcs === 'DeviceGray') { $ncols = 1; - } elseif ($targetcs == 'DeviceRGB') { + } elseif ($targetcs === 'DeviceRGB') { $ncols = 3; - } elseif ($targetcs == 'DeviceCMYK') { + } elseif ($targetcs === 'DeviceCMYK') { $ncols = 4; } @@ -1260,6 +1296,7 @@ class ImageProcessor implements \Psr\Log\LoggerAwareInterface } elseif ($trns) { $info['trns'] = $trns; } + imagedestroy($im); } return $info; @@ -1271,13 +1308,13 @@ class ImageProcessor implements \Psr\Log\LoggerAwareInterface $p += $this->twoBytesToInt(substr($data, $p, 2)); // Length of initial marker block $marker = substr($data, $p, 2); - while ($marker != chr(255) . chr(192) && $marker != chr(255) . chr(194) && $p < strlen($data)) { - // Start of frame marker (FFC0) or (FFC2) mPDF 4.4.004 - $p += ($this->twoBytesToInt(substr($data, $p + 2, 2))) + 2; // Length of marker block + while ($marker !== chr(255) . chr(192) && $marker !== chr(255) . chr(194) && $marker !== chr(255) . chr(193) && $p < strlen($data)) { + // Start of frame marker (FFC0) (FFC1) or (FFC2) + $p += $this->twoBytesToInt(substr($data, $p + 2, 2)) + 2; // Length of marker block $marker = substr($data, $p, 2); } - if ($marker != chr(255) . chr(192) && $marker != chr(255) . chr(194)) { + if ($marker !== chr(255) . chr(192) && $marker !== chr(255) . chr(194) && $marker !== chr(255) . chr(193)) { return false; } return substr($data, $p + 2, 10); @@ -1296,9 +1333,9 @@ class ImageProcessor implements \Psr\Log\LoggerAwareInterface $channels = ord(substr($hdr, 7, 1)); - if ($channels == 3) { + if ($channels === 3) { $colspace = 'DeviceRGB'; - } elseif ($channels == 4) { + } elseif ($channels === 4) { $colspace = 'DeviceCMYK'; } else { $colspace = 'DeviceGray'; @@ -1361,7 +1398,7 @@ class ImageProcessor implements \Psr\Log\LoggerAwareInterface $this->failedImages[$file] = true; if ($firsttime && ($this->mpdf->showImageErrors || $this->mpdf->debug)) { - throw new \Mpdf\MpdfImageException(sprintf('%s (%s)', $msg, $file)); + throw new \Mpdf\MpdfImageException(sprintf('%s (%s)', $msg, substr($file, 0, 256))); } $this->logger->warning(sprintf('%s (%s)', $msg, $file), ['context' => LogContext::IMAGES]); @@ -1387,5 +1424,4 @@ class ImageProcessor implements \Psr\Log\LoggerAwareInterface return $file . $query; } - } diff --git a/pandora_console/vendor/mpdf/mpdf/src/Image/ImageTypeGuesser.php b/pandora_console/vendor/mpdf/mpdf/src/Image/ImageTypeGuesser.php index d59e3f340d..d2e636355a 100644 --- a/pandora_console/vendor/mpdf/mpdf/src/Image/ImageTypeGuesser.php +++ b/pandora_console/vendor/mpdf/mpdf/src/Image/ImageTypeGuesser.php @@ -5,6 +5,11 @@ namespace Mpdf\Image; class ImageTypeGuesser { + /** + * @param string $data + * + * @return null|string + */ public function guess($data) { if (in_array(substr($data, 6, 4), ['JFIF', 'Exif'], true) || strpos($data, chr(255) . chr(216)) === 0) { // 0xFF 0xD8 // mpDF 5.7.2 diff --git a/pandora_console/vendor/mpdf/mpdf/src/Image/Svg.php b/pandora_console/vendor/mpdf/mpdf/src/Image/Svg.php index a853a2817a..9bc0f60731 100644 --- a/pandora_console/vendor/mpdf/mpdf/src/Image/Svg.php +++ b/pandora_console/vendor/mpdf/mpdf/src/Image/Svg.php @@ -310,7 +310,7 @@ class Svg } else { // the entire viewport is covered by the viewBox $img_h = $img_w * $info['h'] / $info['w']; } - } else if ($info['h'] / $info['w'] < $h / $w) { + } elseif ($info['h'] / $info['w'] < $h / $w) { if ($meetOrSlice == 'meet') { // the entire viewBox is visible within the viewport $img_h = $img_w * $info['h'] / $info['w']; } else { // the entire viewport is covered by the viewBox @@ -320,25 +320,25 @@ class Svg if ($ar[0] == 'xminymin') { // do nothing to x // do nothing to y - } else if ($ar[0] == 'xmidymin') { + } elseif ($ar[0] == 'xmidymin') { $img_x += $w / 2 - $img_w / 2; // xMid // do nothing to y - } else if ($ar[0] == 'xmaxymin') { + } elseif ($ar[0] == 'xmaxymin') { $img_x += $w - $img_w; // xMax // do nothing to y - } else if ($ar[0] == 'xminymid') { + } elseif ($ar[0] == 'xminymid') { // do nothing to x $img_y += $h / 2 - $img_h / 2; // yMid - } else if ($ar[0] == 'xmaxymid') { + } elseif ($ar[0] == 'xmaxymid') { $img_x += $w - $img_w; // xMax $img_y += $h / 2 - $img_h / 2; // yMid - } else if ($ar[0] == 'xminymax') { + } elseif ($ar[0] == 'xminymax') { // do nothing to x $img_y += $h - $img_h; // yMax - } else if ($ar[0] == 'xmidymax') { + } elseif ($ar[0] == 'xmidymax') { $img_x += $w / 2 - $img_w / 2; // xMid $img_y += $h - $img_h; // yMax - } else if ($ar[0] == 'xmaxymax') { + } elseif ($ar[0] == 'xmaxymax') { $img_x += $w - $img_w; // xMax $img_y += $h - $img_h; // yMax } else { // xMidYMid (the default) @@ -381,17 +381,17 @@ class Svg $h = $attribs['height']; $x_offset = $attribs['x']; $y_offset = $attribs['y']; - } else if ($element == 'ellipse') { + } elseif ($element == 'ellipse') { $w = $attribs['rx'] * 2; $h = $attribs['ry'] * 2; $x_offset = $attribs['cx'] - $attribs['rx']; $y_offset = $attribs['cy'] - $attribs['ry']; - } else if ($element == 'circle') { + } elseif ($element == 'circle') { $w = $attribs['r'] * 2; $h = $attribs['r'] * 2; $x_offset = $attribs['cx'] - $attribs['r']; $y_offset = $attribs['cy'] - $attribs['r']; - } else if ($element == 'polygon') { + } elseif ($element == 'polygon') { $pts = preg_split('/[ ,]+/', trim($attribs['points'])); $maxr = $maxb = 0; $minl = $mint = 999999; @@ -408,7 +408,7 @@ class Svg $h = $maxb - $mint; $x_offset = $minl; $y_offset = $mint; - } else if ($element == 'path') { + } elseif ($element == 'path') { if (is_array($this->pathBBox) && $this->pathBBox[2] > 0) { $w = $this->pathBBox[2]; $h = $this->pathBBox[3]; @@ -475,7 +475,7 @@ class Svg // Note angle of rotation is reversed (from SVG to PDF), so vv[1] and vv[2] are negated // cf svgDefineStyle() $transformations .= sprintf(' %.3F %.3F %.3F %.3F %.3F %.3F cm ', $vv[0], -$vv[1], -$vv[2], $vv[3], $vv[4] * $this->kp, -$vv[5] * $this->kp); - } else if ($c == 'translate' && count($vv)) { + } elseif ($c == 'translate' && count($vv)) { $tm[4] = $vv[0]; if (count($vv) == 2) { $t_y = -$vv[1]; @@ -484,7 +484,7 @@ class Svg } $tm[5] = $t_y; $transformations .= sprintf(' 1 0 0 1 %.3F %.3F cm ', $tm[4] * $this->kp, $tm[5] * $this->kp); - } else if ($c == 'scale' && count($vv)) { + } elseif ($c == 'scale' && count($vv)) { if (count($vv) == 2) { $s_y = $vv[1]; } else { @@ -493,7 +493,7 @@ class Svg $tm[0] = $vv[0]; $tm[3] = $s_y; $transformations .= sprintf(' %.3F 0 0 %.3F 0 0 cm ', $tm[0], $tm[3]); - } else if ($c == 'rotate' && count($vv)) { + } elseif ($c == 'rotate' && count($vv)) { $tm[0] = cos(deg2rad(-$vv[0])); $tm[1] = sin(deg2rad(-$vv[0])); $tm[2] = -$tm[1]; @@ -505,10 +505,10 @@ class Svg if (count($vv) == 3) { $transformations .= sprintf(' 1 0 0 1 %.3F %.3F cm ', -$vv[1] * $this->kp, $vv[2] * $this->kp); } - } else if ($c == 'skewx' && count($vv)) { + } elseif ($c == 'skewx' && count($vv)) { $tm[2] = tan(deg2rad(-$vv[0])); $transformations .= sprintf(' 1 0 %.3F 1 0 0 cm ', $tm[2]); - } else if ($c == 'skewy' && count($vv)) { + } elseif ($c == 'skewy' && count($vv)) { $tm[1] = tan(deg2rad(-$vv[0])); $transformations .= sprintf(' 1 %.3F 0 1 0 0 cm ', $tm[1]); } @@ -529,7 +529,7 @@ class Svg if (strtolower($gradient_info['spread']) == 'reflect') { $spread = 'F'; } // reflect - else if (strtolower($gradient_info['spread']) == 'repeat') { + elseif (strtolower($gradient_info['spread']) == 'repeat') { $spread = 'R'; } // repeat } @@ -606,17 +606,17 @@ class Svg $y2 = 0; } // mPDF 6 - if (stristr($x1, '%') !== false) { - $x1 = ($x1 + 0) / 100; + if (strpos($x1, '%') !== false) { + $x1 = (stristr($x1, '%', true) + 0) / 100; } - if (stristr($x2, '%') !== false) { - $x2 = ($x2 + 0) / 100; + if (strpos($x2, '%') !== false) { + $x2 = (stristr($x2, '%', true) + 0) / 100; } - if (stristr($y1, '%') !== false) { - $y1 = ($y1 + 0) / 100; + if (strpos($y1, '%') !== false) { + $y1 = (stristr($y1, '%', true) + 0) / 100; } - if (stristr($y2, '%') !== false) { - $y2 = ($y2 + 0) / 100; + if (strpos($y2, '%') !== false) { + $y2 = (stristr($y2, '%', true) + 0) / 100; } // mPDF 5.0.042 @@ -630,7 +630,7 @@ class Svg $angle = rad2deg(atan2(($gradient_info['info']['y2'] - $gradient_info['info']['y1']), ($gradient_info['info']['x2'] - $gradient_info['info']['x1']))); if ($angle < 0) { $angle += 360; - } else if ($angle > 360) { + } elseif ($angle > 360) { $angle -= 360; } if ($angle != 0 && $angle != 360 && $angle != 90 && $angle != 180 && $angle != 270) { @@ -765,9 +765,9 @@ class Svg if (!$gradient_info['color'][$i]['color']) { if ($gradient_info['colorspace'] == 'RGB') { $gradient_info['color'][$i]['color'] = '0 0 0'; - } else if ($gradient_info['colorspace'] == 'Gray') { + } elseif ($gradient_info['colorspace'] == 'Gray') { $gradient_info['color'][$i]['color'] = '0'; - } else if ($gradient_info['colorspace'] == 'CMYK') { + } elseif ($gradient_info['colorspace'] == 'CMYK') { $gradient_info['color'][$i]['color'] = '1 1 1 1'; } } @@ -799,7 +799,7 @@ class Svg } $return .= ' /Sh' . ($n) . ' sh '; $return .= " Q\n"; - } else if ($gradient_info['type'] == 'radial') { + } elseif ($gradient_info['type'] == 'radial') { if (isset($gradient_info['units']) && strtolower($gradient_info['units']) == 'userspaceonuse') { if ($w > $h) { $h = $w; @@ -838,14 +838,14 @@ class Svg } if (isset($gradient_info['info']['rx'])) { $rx = $gradient_info['info']['rx']; - } else if (isset($gradient_info['info']['r'])) { + } elseif (isset($gradient_info['info']['r'])) { $rx = $gradient_info['info']['r']; } else { $rx = 0.5; } if (isset($gradient_info['info']['ry'])) { $ry = $gradient_info['info']['ry']; - } else if (isset($gradient_info['info']['r'])) { + } elseif (isset($gradient_info['info']['r'])) { $ry = $gradient_info['info']['r']; } else { $ry = 0.5; @@ -861,23 +861,23 @@ class Svg $y1 = $y0; } - if (stristr($x1, '%') !== false) { - $x1 = ($x1 + 0) / 100; + if (strpos($x1, '%') !== false) { + $x1 = (stristr($x1, '%', true) + 0) / 100; } - if (stristr($x0, '%') !== false) { - $x0 = ($x0 + 0) / 100; + if (strpos($x0, '%') !== false) { + $x0 = (stristr($x0, '%', true) + 0) / 100; } - if (stristr($y1, '%') !== false) { - $y1 = ($y1 + 0) / 100; + if (strpos($y1, '%') !== false) { + $y1 = (stristr($y1, '%', true) + 0) / 100; } - if (stristr($y0, '%') !== false) { - $y0 = ($y0 + 0) / 100; + if (strpos($y0, '%') !== false) { + $y0 = (stristr($y0, '%', true) + 0) / 100; } - if (stristr($rx, '%') !== false) { - $rx = ($rx + 0) / 100; + if (strpos($rx, '%') !== false) { + $rx = (stristr($rx, '%', true) + 0) / 100; } - if (stristr($ry, '%') !== false) { - $ry = ($ry + 0) / 100; + if (strpos($ry, '%') !== false) { + $ry = (stristr($ry, '%', true) + 0) / 100; } $bboxw = $w; @@ -899,7 +899,7 @@ class Svg if ($angle < 0) { $angle += 360; - } else if ($angle > 360) { + } elseif ($angle > 360) { $angle -= 360; } @@ -994,9 +994,9 @@ class Svg if (!$gradient_info['color'][$i]['color']) { if ($gradient_info['colorspace'] == 'RGB') { $gradient_info['color'][$i]['color'] = '0 0 0'; - } else if ($gradient_info['colorspace'] == 'Gray') { + } elseif ($gradient_info['colorspace'] == 'Gray') { $gradient_info['color'][$i]['color'] = '0'; - } else if ($gradient_info['colorspace'] == 'CMYK') { + } elseif ($gradient_info['colorspace'] == 'CMYK') { $gradient_info['color'][$i]['color'] = '1 1 1 1'; } } @@ -1065,7 +1065,7 @@ class Svg if ($svg_w) { // if width also set, use these values to determine to set size of "pixel" $this->kp *= ($svg_w / 0.2645) / $this->svg_info['w']; $this->kf = ($svg_w / 0.2645) / $this->svg_info['w']; - } else if ($svg_h) { + } elseif ($svg_h) { $this->kp *= ($svg_h / 0.2645) / $this->svg_info['h']; $this->kf = ($svg_h / 0.2645) / $this->svg_info['h']; } @@ -1172,7 +1172,7 @@ class Svg // $transformations .= sprintf(' %.3F %.3F %.3F %.3F %.3F %.3F cm ', $ma, $mb, $mc, $md, $vv[4]*$this->kp, -$vv[5]*$this->kp); */ - } else if ($c == 'translate' && count($vv)) { + } elseif ($c == 'translate' && count($vv)) { $tm[4] = $vv[0]; if (count($vv) == 2) { $t_y = -$vv[1]; @@ -1181,7 +1181,7 @@ class Svg } $tm[5] = $t_y; $transformations .= sprintf(' 1 0 0 1 %.3F %.3F cm ', $tm[4] * $this->kp, $tm[5] * $this->kp); - } else if ($c == 'scale' && count($vv)) { + } elseif ($c == 'scale' && count($vv)) { if (count($vv) == 2) { $s_y = $vv[1]; } else { @@ -1190,7 +1190,7 @@ class Svg $tm[0] = $vv[0]; $tm[3] = $s_y; $transformations .= sprintf(' %.3F 0 0 %.3F 0 0 cm ', $tm[0], $tm[3]); - } else if ($c == 'rotate' && count($vv)) { + } elseif ($c == 'rotate' && count($vv)) { $tm[0] = cos(deg2rad(-$vv[0])); $tm[1] = sin(deg2rad(-$vv[0])); $tm[2] = -$tm[1]; @@ -1202,10 +1202,10 @@ class Svg if (count($vv) == 3) { $transformations .= sprintf(' 1 0 0 1 %.3F %.3F cm ', -$vv[1] * $this->kp, $vv[2] * $this->kp); } - } else if ($c == 'skewx' && count($vv)) { + } elseif ($c == 'skewx' && count($vv)) { $tm[2] = tan(deg2rad(-$vv[0])); $transformations .= sprintf(' 1 0 %.3F 1 0 0 cm ', $tm[2]); - } else if ($c == 'skewy' && count($vv)) { + } elseif ($c == 'skewy' && count($vv)) { $tm[1] = tan(deg2rad(-$vv[0])); $transformations .= sprintf(' 1 %.3F 0 1 0 0 cm ', $tm[1]); } @@ -1366,26 +1366,26 @@ class Svg } } } // Used as indirect setting for currentColor - else if (strtolower($critere_style['fill']) == 'currentcolor' && $element != 'line') { + elseif (strtolower($critere_style['fill']) == 'currentcolor' && $element != 'line') { $col = $this->colorConverter->convert($critere_style['color'], $this->mpdf->PDFAXwarnings); if ($col) { - if ($col{0} == 5) { - $critere_style['fill-opacity'] = ord($col{4} / 100); + if ($col[0] == 5 && is_numeric($col[4])) { + $critere_style['fill-opacity'] = ord($col[4] / 100); } // RGBa - if ($col{0} == 6) { - $critere_style['fill-opacity'] = ord($col{5} / 100); + if ($col[0] == 6 && is_numeric($col[5])) { + $critere_style['fill-opacity'] = ord($col[5] / 100); } // CMYKa $path_style .= $this->mpdf->SetFColor($col, true) . ' '; $style .= 'F'; } - } else if ($critere_style['fill'] != 'none' && $element != 'line') { + } elseif ($critere_style['fill'] != 'none' && $element != 'line') { $col = $this->colorConverter->convert($critere_style['fill'], $this->mpdf->PDFAXwarnings); if ($col) { - if ($col{0} == 5) { - $critere_style['fill-opacity'] = ord($col{4} / 100); + if ($col[0] == 5 && is_numeric($col[4])) { + $critere_style['fill-opacity'] = ord($col[4] / 100); } // RGBa - if ($col{0} == 6) { - $critere_style['fill-opacity'] = ord($col{5} / 100); + if ($col[0] == 6 && is_numeric($col[5])) { + $critere_style['fill-opacity'] = ord($col[5] / 100); } // CMYKa $path_style .= $this->mpdf->SetFColor($col, true) . ' '; $style .= 'F'; @@ -1407,30 +1407,30 @@ class Svg } */ } // Used as indirect setting for currentColor - else if (strtolower($critere_style['stroke']) == 'currentcolor') { + elseif (strtolower($critere_style['stroke']) == 'currentcolor') { $col = $this->colorConverter->convert($critere_style['color'], $this->mpdf->PDFAXwarnings); if ($col) { - if ($col{0} == 5) { - $critere_style['stroke-opacity'] = ord($col{4} / 100); + if ($col[0] == 5 && is_numeric($col[4])) { + $critere_style['stroke-opacity'] = ord($col[4] / 100); } // RGBa - if ($col{0} == 6) { - $critere_style['stroke-opacity'] = ord($col{5} / 100); + if ($col[0] == 6 && is_numeric($col[5])) { + $critere_style['stroke-opacity'] = ord($col[5] / 100); } // CMYKa $path_style .= $this->mpdf->SetDColor($col, true) . ' '; $style .= 'D'; $lw = $this->ConvertSVGSizePixels($critere_style['stroke-width']); $path_style .= sprintf('%.3F w ', $lw * $this->kp); } - } else if ($critere_style['stroke'] != 'none') { + } elseif ($critere_style['stroke'] != 'none') { $col = $this->colorConverter->convert($critere_style['stroke'], $this->mpdf->PDFAXwarnings); if ($col) { // mPDF 5.0.051 // mPDF 5.3.74 - if ($col{0} == 5) { - $critere_style['stroke-opacity'] = ord($col{4} / 100); + if ($col[0] == 5 && is_numeric($col[4])) { + $critere_style['stroke-opacity'] = ord($col[4] / 100); } // RGBa - if ($col{0} == 6) { - $critere_style['stroke-opacity'] = ord($col{5} / 100); + if ($col[0] == 6 && is_numeric($col[5])) { + $critere_style['stroke-opacity'] = ord($col[5] / 100); } // CMYKa $path_style .= $this->mpdf->SetDColor($col, true) . ' '; $style .= 'D'; @@ -1443,42 +1443,55 @@ class Svg if ($critere_style['stroke'] != 'none') { if ($critere_style['stroke-linejoin'] == 'miter') { $path_style .= ' 0 j '; - } else if ($critere_style['stroke-linejoin'] == 'round') { + } elseif ($critere_style['stroke-linejoin'] == 'round') { $path_style .= ' 1 j '; - } else if ($critere_style['stroke-linejoin'] == 'bevel') { + } elseif ($critere_style['stroke-linejoin'] == 'bevel') { $path_style .= ' 2 j '; } if ($critere_style['stroke-linecap'] == 'butt') { $path_style .= ' 0 J '; - } else if ($critere_style['stroke-linecap'] == 'round') { + } elseif ($critere_style['stroke-linecap'] == 'round') { $path_style .= ' 1 J '; - } else if ($critere_style['stroke-linecap'] == 'square') { + } elseif ($critere_style['stroke-linecap'] == 'square') { $path_style .= ' 2 J '; } if (isset($critere_style['stroke-miterlimit'])) { if ($critere_style['stroke-miterlimit'] == 'none') { - } else if (preg_match('/^[\d.]+$/', $critere_style['stroke-miterlimit'])) { + } elseif (preg_match('/^[\d.]+$/', $critere_style['stroke-miterlimit'])) { $path_style .= sprintf('%.2F M ', $critere_style['stroke-miterlimit']); } } + if (isset($critere_style['stroke-dasharray'])) { + $off = 0; $d = preg_split('/(,\s?|\s)/', $critere_style['stroke-dasharray']); + if (count($d) == 1 && $d[0] == 0) { $path_style .= '[] 0 d '; } else { + if (count($d) % 2 == 1) { $d = array_merge($d, $d); } // 5, 3, 1 => 5,3,1,5,3,1 OR 3 => 3,3 + $arr = ''; - for ($i = 0; $i < count($d); $i+=2) { + + for ($i = 0; $i < count($d); $i += 2) { + + if ($d[$i] === 'none') { + continue; + } + $arr .= sprintf('%.3F %.3F ', $d[$i] * $this->kp, $d[$i + 1] * $this->kp); } + if (isset($critere_style['stroke-dashoffset'])) { $off = $critere_style['stroke-dashoffset'] + 0; } + $path_style .= sprintf('[%s] %.3F d ', $arr, $off * $this->kp); } } @@ -1494,11 +1507,11 @@ class Svg $opacity = 1; if ($critere_style['fill-opacity'] == 0) { $opacity = 0; - } else if ($critere_style['fill-opacity'] > 1) { + } elseif ($critere_style['fill-opacity'] > 1) { $opacity = 1; - } else if ($critere_style['fill-opacity'] > 0) { + } elseif ($critere_style['fill-opacity'] > 0) { $opacity = $critere_style['fill-opacity']; - } else if ($critere_style['fill-opacity'] < 0) { + } elseif ($critere_style['fill-opacity'] < 0) { $opacity = 0; } $gs = $this->mpdf->AddExtGState(['ca' => $opacity, 'BM' => '/Normal']); @@ -1510,11 +1523,11 @@ class Svg $opacity = 1; if ($critere_style['stroke-opacity'] == 0) { $opacity = 0; - } else if ($critere_style['stroke-opacity'] > 1) { + } elseif ($critere_style['stroke-opacity'] > 1) { $opacity = 1; - } else if ($critere_style['stroke-opacity'] > 0) { + } elseif ($critere_style['stroke-opacity'] > 0) { $opacity = $critere_style['stroke-opacity']; - } else if ($critere_style['stroke-opacity'] < 0) { + } elseif ($critere_style['stroke-opacity'] < 0) { $opacity = 0; } $gs = $this->mpdf->AddExtGState(['CA' => $opacity, 'BM' => '/Normal']); @@ -1557,7 +1570,10 @@ class Svg $start = [$this->xbase, -$this->ybase]; - preg_match_all('/[\-^]?[\d.]+(e[\-]?[\d]+){0,1}/i', $arguments, $a, PREG_SET_ORDER); + // taken from https://github.com/PhenX/php-svg-lib/blob/master/src/Svg/Tag/Path.php#L47 + // Handle args like: a5.38022,5.38022,0,0,1-2.4207.72246,4.50524,4.50524,0,0,1-3.12681-1.33942,9.67442,9.67442,0,0,1-2.38273-3.016,1.87506,1.87506,0,0,1,.34979-2.43562 + preg_match_all('/([-+]?((\d+\.\d+)|((\d+)|(\.\d+)))(?:e[-+]?\d+)?)/i', $arguments, $a, PREG_PATTERN_ORDER); + $a = $a[0]; // if the command is a capital letter, the coords go absolute, otherwise relative if (strtolower($command) == $command) { @@ -1567,36 +1583,47 @@ class Svg } - $ile_argumentow = count($a); + $argumentCount = count($a); // each command may have different needs for arguments [1 to 8] switch (strtolower($command)) { + case 'm': // move - for ($i = 0; $i < $ile_argumentow; $i+=2) { - $x = $a[$i][0]; - $y = $a[$i + 1][0]; + + for ($i = 0; $i < $argumentCount; $i += 2) { + + $x = $a[$i]; + $y = $a[$i + 1]; + if ($relative) { + $pdfx = ($this->xbase + $x); $pdfy = ($this->ybase - $y); $this->xbase += $x; $this->ybase += -$y; + } else { + $pdfx = $x; $pdfy = -$y; $this->xbase = $x; $this->ybase = -$y; } + $pdf_pt = $this->svg_overflow($pdfx, $pdfy); + $minl = min($minl, $pdf_pt['x']); $maxr = max($maxr, $pdf_pt['x']); $mint = min($mint, -$pdf_pt['y']); $maxb = max($maxb, -$pdf_pt['y']); + if ($i == 0) { $path_cmd .= sprintf('%.3F %.3F m ', $pdf_pt['x'] * $this->kp, $pdf_pt['y'] * $this->kp); } else { $path_cmd .= sprintf('%.3F %.3F l ', $pdf_pt['x'] * $this->kp, $pdf_pt['y'] * $this->kp); } + // mPDF 4.4.003 Save start points of subpath if ($this->subPathInit) { $this->spxstart = $this->xbase; @@ -1604,46 +1631,68 @@ class Svg $this->subPathInit = false; } } + break; + case 'l': // a simple line - for ($i = 0; $i < $ile_argumentow; $i+=2) { - $x = ($a[$i][0]); - $y = ($a[$i + 1][0]); + + for ($i = 0; $i < $argumentCount; $i+=2) { + + $x = ($a[$i]); + $y = ($a[$i + 1]); + if ($relative) { + $pdfx = ($this->xbase + $x); $pdfy = ($this->ybase - $y); $this->xbase += $x; $this->ybase += -$y; + } else { + $pdfx = $x; $pdfy = -$y; $this->xbase = $x; $this->ybase = -$y; + } + $pdf_pt = $this->svg_overflow($pdfx, $pdfy); + $minl = min($minl, $pdf_pt['x']); $maxr = max($maxr, $pdf_pt['x']); $mint = min($mint, -$pdf_pt['y']); $maxb = max($maxb, -$pdf_pt['y']); + $path_cmd .= sprintf('%.3F %.3F l ', $pdf_pt['x'] * $this->kp, $pdf_pt['y'] * $this->kp); } + break; + case 'h': // a very simple horizontal line - for ($i = 0; $i < $ile_argumentow; $i++) { - $x = ($a[$i][0]); + + for ($i = 0; $i < $argumentCount; $i++) { + + $x = ($a[$i]); + if ($relative) { + $y = 0; $pdfx = ($this->xbase + $x); $pdfy = ($this->ybase - $y); $this->xbase += $x; $this->ybase += -$y; + } else { + $y = -$this->ybase; $pdfx = $x; $pdfy = -$y; $this->xbase = $x; $this->ybase = -$y; + } + $pdf_pt = $this->svg_overflow($pdfx, $pdfy); $minl = min($minl, $pdf_pt['x']); $maxr = max($maxr, $pdf_pt['x']); @@ -1651,44 +1700,65 @@ class Svg $maxb = max($maxb, -$pdf_pt['y']); $path_cmd .= sprintf('%.3F %.3F l ', $pdf_pt['x'] * $this->kp, $pdf_pt['y'] * $this->kp); } + break; + case 'v': // the simplest line, vertical - for ($i = 0; $i < $ile_argumentow; $i++) { - $y = ($a[$i][0]); + + for ($i = 0; $i < $argumentCount; $i++) { + + $y = ($a[$i]); + if ($relative) { + $x = 0; $pdfx = ($this->xbase + $x); $pdfy = ($this->ybase - $y); $this->xbase += $x; $this->ybase += -$y; + } else { + $x = $this->xbase; $pdfx = $x; $pdfy = -$y; $this->xbase = $x; $this->ybase = -$y; + } + $pdf_pt = $this->svg_overflow($pdfx, $pdfy); $minl = min($minl, $pdf_pt['x']); $maxr = max($maxr, $pdf_pt['x']); $mint = min($mint, -$pdf_pt['y']); $maxb = max($maxb, -$pdf_pt['y']); $path_cmd .= sprintf('%.3F %.3F l ', $pdf_pt['x'] * $this->kp, $pdf_pt['y'] * $this->kp); + } + break; + case 's': // bezier with first vertex equal first control + // mPDF 4.4.003 + if (!($this->lastcommand == 'C' || $this->lastcommand == 'c' || $this->lastcommand == 'S' || $this->lastcommand == 's')) { $this->lastcontrolpoints = [0, 0]; } - for ($i = 0; $i < $ile_argumentow; $i += 4) { + + for ($i = 0; $i < $argumentCount; $i += 4) { + $x1 = $this->lastcontrolpoints[0]; $y1 = $this->lastcontrolpoints[1]; - $x2 = ($a[$i][0]); - $y2 = ($a[$i + 1][0]); - $x = ($a[$i + 2][0]); - $y = ($a[$i + 3][0]); + + $x2 = ($a[$i]); + $y2 = ($a[$i + 1]); + + $x = ($a[$i + 2]); + $y = ($a[$i + 3]); + if ($relative) { + $pdfx1 = ($this->xbase + $x1); $pdfy1 = ($this->ybase - $y1); $pdfx2 = ($this->xbase + $x2); @@ -1697,7 +1767,9 @@ class Svg $pdfy = ($this->ybase - $y); $this->xbase += $x; $this->ybase += -$y; + } else { + $pdfx1 = $this->xbase + $x1; $pdfy1 = $this->ybase - $y1; $pdfx2 = $x2; @@ -1706,7 +1778,9 @@ class Svg $pdfy = -$y; $this->xbase = $x; $this->ybase = -$y; + } + $this->lastcontrolpoints = [($pdfx - $pdfx2), -($pdfy - $pdfy2)]; // mPDF 4.4.003 always relative $pdf_pt = $this->svg_overflow($pdfx, $pdfy); @@ -1724,18 +1798,22 @@ class Svg $path_cmd .= sprintf('%.3F %.3F %.3F %.3F %.3F %.3F c ', $pdfx1 * $this->kp, $pdfy1 * $this->kp, $pdfx2 * $this->kp, $pdfy2 * $this->kp, $pdfx * $this->kp, $pdfy * $this->kp); } } - break; - case 'c': // bezier with second vertex equal second control - for ($i = 0; $i < $ile_argumentow; $i += 6) { - $x1 = ($a[$i][0]); - $y1 = ($a[$i + 1][0]); - $x2 = ($a[$i + 2][0]); - $y2 = ($a[$i + 3][0]); - $x = ($a[$i + 4][0]); - $y = ($a[$i + 5][0]); + break; + + case 'c': // bezier with second vertex equal second control + + for ($i = 0; $i < $argumentCount; $i += 6) { + + $x1 = ($a[$i]); + $y1 = ($a[$i + 1]); + $x2 = ($a[$i + 2]); + $y2 = ($a[$i + 3]); + $x = ($a[$i + 4]); + $y = ($a[$i + 5]); if ($relative) { + $pdfx1 = ($this->xbase + $x1); $pdfy1 = ($this->ybase - $y1); $pdfx2 = ($this->xbase + $x2); @@ -1744,7 +1822,9 @@ class Svg $pdfy = ($this->ybase - $y); $this->xbase += $x; $this->ybase += -$y; + } else { + $pdfx1 = $x1; $pdfy1 = -$y1; $pdfx2 = $x2; @@ -1753,7 +1833,9 @@ class Svg $pdfy = -$y; $this->xbase = $x; $this->ybase = -$y; + } + $this->lastcontrolpoints = [($pdfx - $pdfx2), -($pdfy - $pdfy2)]; // mPDF 4.4.003 always relative // $pdf_pt2 = $this->svg_overflow($pdfx2,$pdfy2); // $pdf_pt1 = $this->svg_overflow($pdfx1,$pdfy1); @@ -1772,15 +1854,20 @@ class Svg $path_cmd .= sprintf('%.3F %.3F %.3F %.3F %.3F %.3F c ', $pdfx1 * $this->kp, $pdfy1 * $this->kp, $pdfx2 * $this->kp, $pdfy2 * $this->kp, $pdfx * $this->kp, $pdfy * $this->kp); } } + break; case 'q': // bezier quadratic avec point de control - for ($i = 0; $i < $ile_argumentow; $i += 4) { - $x1 = ($a[$i][0]); - $y1 = ($a[$i + 1][0]); - $x = ($a[$i + 2][0]); - $y = ($a[$i + 3][0]); + + for ($i = 0; $i < $argumentCount; $i += 4) { + + $x1 = ($a[$i]); + $y1 = ($a[$i + 1]); + $x = ($a[$i + 2]); + $y = ($a[$i + 3]); + if ($relative) { + $pdfx = ($this->xbase + $x); $pdfy = ($this->ybase - $y); @@ -1792,7 +1879,9 @@ class Svg $this->xbase += $x; $this->ybase += -$y; + } else { + $pdfx = $x; $pdfy = -$y; @@ -1808,7 +1897,9 @@ class Svg $this->xbase = $x; $this->ybase = -$y; + } + $this->lastcontrolpoints = [($pdfx - $pdfx2), -($pdfy - $pdfy2)]; // mPDF 4.4.003 always relative $pdf_pt = $this->svg_overflow($pdfx, $pdfy); @@ -1826,14 +1917,19 @@ class Svg $path_cmd .= sprintf('%.3F %.3F %.3F %.3F %.3F %.3F c ', $pdfx1 * $this->kp, $pdfy1 * $this->kp, $pdfx2 * $this->kp, $pdfy2 * $this->kp, $pdfx * $this->kp, $pdfy * $this->kp); } } + break; + case 't': // bezier quadratic avec point de control simetrique a lancien point de control + if (!($this->lastcommand == 'Q' || $this->lastcommand == 'q' || $this->lastcommand == 'T' || $this->lastcommand == 't')) { $this->lastcontrolpoints = [0, 0]; } - for ($i = 0; $i < $ile_argumentow; $i += 2) { - $x = ($a[$i][0]); - $y = ($a[$i + 1][0]); + + for ($i = 0; $i < $argumentCount; $i += 2) { + + $x = ($a[$i]); + $y = ($a[$i + 1]); $x1 = $this->lastcontrolpoints[0]; $y1 = $this->lastcontrolpoints[1]; @@ -1850,12 +1946,15 @@ class Svg $this->xbase += $x; $this->ybase += -$y; + } else { + $pdfx = $x; $pdfy = -$y; $pdfx1 = ($this->xbase + ($x1)); $pdfy1 = ($this->ybase - ($y1)); + // mPDF 4.4.003 $pdfx2 = $pdfx1 + 1 / 3 * ($x - $this->xbase); $pdfy2 = $pdfy1 + 1 / 3 * (-$y - $this->ybase); @@ -1877,54 +1976,73 @@ class Svg } break; + case 'a': // Elliptical arc - for ($i = 0; $i < $ile_argumentow; $i += 7) { - $rx = ($a[$i][0]); - $ry = ($a[$i + 1][0]); - $angle = ($a[$i + 2][0]); //x-axis-rotation - $largeArcFlag = ($a[$i + 3][0]); - $sweepFlag = ($a[$i + 4][0]); - $x2 = ($a[$i + 5][0]); - $y2 = ($a[$i + 6][0]); + + for ($i = 0; $i < $argumentCount; $i += 7) { + + $rx = isset($a[$i]) ? $a[$i] : 0; + $ry = isset($a[$i + 1]) ? $a[$i + 1] : 0; + + // x-axis-rotation + $angle = isset($a[$i + 2]) ? $a[$i + 2] : 0; + + $largeArcFlag = isset($a[$i + 3]) ? $a[$i + 3] : 0; + $sweepFlag = isset($a[$i + 4]) ? $a[$i + 4] : 0; + + $x2 = isset($a[$i + 5]) ? $a[$i + 5] : 0; + $y2 = isset($a[$i + 6]) ? $a[$i + 6] : 0; + $x1 = $this->xbase; $y1 = -$this->ybase; + if ($relative) { $x2 = $this->xbase + $x2; $y2 = -$this->ybase + $y2; - $this->xbase += ($a[$i + 5][0]); - $this->ybase += -($a[$i + 6][0]); + $this->xbase += isset($a[$i + 5]) ? $a[$i + 5] : 0; + $this->ybase += isset($a[$i + 6]) ? -$a[$i + 6] : 0; } else { $this->xbase = $x2; $this->ybase = -$y2; } + list($pcmd, $bounds) = $this->Arcto($x1, $y1, $x2, $y2, $rx, $ry, $angle, $largeArcFlag, $sweepFlag); + $minl = min($minl, $x2, min($bounds[0])); $maxr = max($maxr, $x2, max($bounds[0])); $mint = min($mint, $y2, min($bounds[1])); $maxb = max($maxb, $y2, max($bounds[1])); + $path_cmd .= $pcmd; + } + break; + case 'z': + $path_cmd .= 'h '; + $this->subPathInit = true; $newsubpath = true; $this->xbase = $this->spxstart; $this->ybase = $this->spystart; - break; - default: + break; } if (!$newsubpath) { $this->subPathInit = false; } + $this->lastcommand = $command; + // mPDF 5.0.039 $this->pathBBox[0] = $minl; $this->pathBBox[1] = $mint; $this->pathBBox[2] = $maxr - $this->pathBBox[0]; $this->pathBBox[3] = $maxb - $this->pathBBox[1]; + return $path_cmd; } @@ -1932,6 +2050,7 @@ class Svg { $bounds = [0 => [$x1, $x2], 1 => [$y1, $y2]]; + // 1. Treat out-of-range parameters as described in // http://www.w3.org/TR/SVG/implnote.html#ArcImplementationNotes // If the endpoints (x1, y1) and (x2, y2) are identical, then this @@ -1940,8 +2059,7 @@ class Svg return ['', $bounds]; // mPD 5.0.040 } - -// If rX = 0 or rY = 0 then this arc is treated as a straight line + // If rX = 0 or rY = 0 then this arc is treated as a straight line // segment (a "lineto") joining the endpoints. if ($rx == 0.0 || $ry == 0.0) { // return array(Lineto(x2, y2), $bounds); @@ -1952,6 +2070,7 @@ class Svg if ($rx < 0.0) { $rx = -$rx; } + if ($ry < 0.0) { $ry = -$ry; } @@ -1964,10 +2083,10 @@ class Svg $x1dash = $cosPhi * ($x1 - $x2) / 2.0 + $sinPhi * ($y1 - $y2) / 2.0; $y1dash = -$sinPhi * ($x1 - $x2) / 2.0 + $cosPhi * ($y1 - $y2) / 2.0; - $numerator = $rx * $rx * $ry * $ry - $rx * $rx * $y1dash * $y1dash - $ry * $ry * $x1dash * $x1dash; if ($numerator < 0.0) { + // If rX , rY and are such that there is no solution (basically, // the ellipse is not big enough to reach from (x1, y1) to (x2, // y2)) then the ellipse is scaled up uniformly until there is @@ -1979,6 +2098,7 @@ class Svg $rx *= $s; $ry *= $s; $root = 0.0; + } else { $root = ($largeArcFlag == $sweepFlag ? -1.0 : 1.0) * sqrt($numerator / ($rx * $rx * $y1dash * $y1dash + $ry * $ry * $x1dash * $x1dash)); } @@ -1992,9 +2112,10 @@ class Svg $theta1 = $this->CalcVectorAngle(1.0, 0.0, ($x1dash - $cxdash) / $rx, ($y1dash - $cydash) / $ry); $dtheta = $this->CalcVectorAngle(($x1dash - $cxdash) / $rx, ($y1dash - $cydash) / $ry, (-$x1dash - $cxdash) / $rx, (-$y1dash - $cydash) / $ry); + if (!$sweepFlag && $dtheta > 0) { $dtheta -= 2.0 * M_PI; - } else if ($sweepFlag && $dtheta < 0) { + } elseif ($sweepFlag && $dtheta < 0) { $dtheta += 2.0 * M_PI; } @@ -2003,10 +2124,14 @@ class Svg $delta = $dtheta / $segments; $t = 8.0 / 3.0 * sin($delta / 4.0) * sin($delta / 4.0) / sin($delta / 2.0); $coords = []; + for ($i = 0; $i < $segments; $i++) { + $cosTheta1 = cos($theta1); $sinTheta1 = sin($theta1); + $theta2 = $theta1 + $delta; + $cosTheta2 = cos($theta2); $sinTheta2 = sin($theta2); @@ -2029,8 +2154,11 @@ class Svg $x1 = $xe; $y1 = $ye; } + $path = ' '; + foreach ($coords as $c) { + $cpx1 = $c[0]; $cpy1 = $c[1]; $cpx2 = $c[2]; @@ -2043,16 +2171,19 @@ class Svg $bounds[0][] = $c[4]; $bounds[1][] = $c[5]; } - return [$path, $bounds]; // mPD 5.0.040 + + return [$path, $bounds]; // mPDF 5.0.040 } function CalcVectorAngle($ux, $uy, $vx, $vy) { $ta = atan2($uy, $ux); $tb = atan2($vy, $vx); + if ($tb >= $ta) { return ($tb - $ta); } + return (6.28318530718 - ($ta - $tb)); } @@ -2067,13 +2198,16 @@ class Svg if ($maxsize == 'y') { $maxsize = $this->svg_info['h']; - } else if ($maxsize == 'x') { + } elseif ($maxsize == 'x') { $maxsize = $this->svg_info['w']; } + $maxsize *= (25.4 / $this->mpdf->dpi); // convert pixels to mm $fontsize = $this->mpdf->FontSize / $this->kf; - //Return as pixels + + // Return as pixels $size = $this->sizeConverter->convert($size, $maxsize, $fontsize, false) * 1 / (25.4 / $this->mpdf->dpi); + return $size; } @@ -2084,16 +2218,15 @@ class Svg // For text $maxsize = Fontsize // Setting e.g. margin % will use maxsize (pagewidth) and em will use fontsize $maxsize = $this->mpdf->FontSize; - //Return as pts + + // Return as pts $size = $this->sizeConverter->convert($size, $maxsize, false, true) * 72 / 25.4; + return $size; } - // - // fonction retracant les function svgRect($arguments) { - if ($arguments['h'] == 0 || $arguments['w'] == 0) { return ''; } @@ -2105,16 +2238,20 @@ class Svg $rx = $this->ConvertSVGSizePixels($arguments['rx'], 'x'); // mPDF 4.4.003 $ry = $this->ConvertSVGSizePixels($arguments['ry'], 'y'); // mPDF 4.4.003 + // mPDF 4.4.003 if ($rx > $w / 2) { $rx = $w / 2; - } // mPDF 4.4.003 + } + + // mPDF 4.4.003 if ($ry > $h / 2) { $ry = $h / 2; - } // mPDF 4.4.003 + } if ($rx > 0 and $ry == 0) { $ry = $rx; } + if ($ry > 0 and $rx == 0) { $rx = $ry; } @@ -2148,10 +2285,11 @@ class Svg return $path_cmd; } - // - // fonction retracant les et - // le cercle est tracé grave a 4 bezier cubic, les poitn de controles - // sont deduis grace a la constante kappa * rayon + /** + * fonction retracant les et + * le cercle est tracé grave a 4 bezier cubic, les poitn de controles + * sont deduis grace a la constante kappa * rayon + */ function svgEllipse($arguments) { if ($arguments['rx'] == 0 || $arguments['ry'] == 0) { @@ -2187,8 +2325,6 @@ class Svg return $path_cmd; } - // - // fonction retracant les et les function svgPolyline($arguments, $ispolyline = true) { if ($ispolyline) { @@ -2201,7 +2337,9 @@ class Svg $xbase = $this->ConvertSVGSizePixels($arguments[0], 'x'); $ybase = - $this->ConvertSVGSizePixels($arguments[1], 'y'); } + $path_cmd = sprintf('%.3F %.3F m ', $xbase * $this->kp, $ybase * $this->kp); + for ($i = 2; $i < count($arguments); $i += 2) { if ($ispolyline) { $tmp_x = $arguments[$i]; @@ -2217,37 +2355,38 @@ class Svg return $path_cmd; } - // - // fonction retracant les function svgPolygon($arguments) { $xbase = $arguments[0]; $ybase = - $arguments[1]; $path_cmd = sprintf('%.3F %.3F m ', $xbase * $this->kp, $ybase * $this->kp); + for ($i = 2; $i < count($arguments); $i += 2) { $tmp_x = $arguments[$i]; $tmp_y = - $arguments[($i + 1)]; $path_cmd .= sprintf('%.3F %.3F l ', $tmp_x * $this->kp, $tmp_y * $this->kp); } + $path_cmd .= sprintf('%.3F %.3F l ', $xbase * $this->kp, $ybase * $this->kp); $path_cmd .= 'h '; + return $path_cmd; } - // - // write string to image function svgText() { - // $tmp = count($this->txt_style)-1; $current_style = $this->txt_style[count($this->txt_style) - 1]; // mPDF 5.7.4 $style = ''; $op = ''; $render = -1; + if (isset($this->txt_data[2])) { + // mPDF 6 // If using SVG Font if (isset($this->svg_font[$current_style['font-family']])) { + // select font $style = 'R'; $style .= (isset($current_style['font-weight']) && $current_style['font-weight'] == 'bold') ? 'B' : ''; @@ -2255,15 +2394,17 @@ class Svg $style .= (isset($current_style['font-variant']) && $current_style['font-variant'] == 'small-caps') ? 'S' : ''; $fontsize = $current_style['font-size'] * $this->mpdf->dpi / 72; + if (isset($this->svg_font[$current_style['font-family']][$style])) { $svg_font = $this->svg_font[$current_style['font-family']][$style]; - } else if (isset($this->svg_font[$current_style['font-family']]['R'])) { + } elseif (isset($this->svg_font[$current_style['font-family']]['R'])) { $svg_font = $this->svg_font[$current_style['font-family']]['R']; } if (!isset($svg_font['units-per-em']) || $svg_font['units-per-em'] < 1) { $svg_font['units-per-em'] = 1000; } + $units_per_em = $svg_font['units-per-em']; $scale = $fontsize / $units_per_em; $stroke_width = $current_style['stroke-width']; @@ -2271,29 +2412,32 @@ class Svg $opacitystr = ''; $fopacity = 1; + if (isset($current_style['fill-opacity'])) { if ($current_style['fill-opacity'] == 0) { $fopacity = 0; - } else if ($current_style['fill-opacity'] > 1) { + } elseif ($current_style['fill-opacity'] > 1) { $fopacity = 1; - } else if ($current_style['fill-opacity'] > 0) { + } elseif ($current_style['fill-opacity'] > 0) { $fopacity = $current_style['fill-opacity']; - } else if ($current_style['fill-opacity'] < 0) { + } elseif ($current_style['fill-opacity'] < 0) { $fopacity = 0; } } + $sopacity = 1; if (isset($current_style['stroke-opacity'])) { if ($current_style['stroke-opacity'] == 0) { $sopacity = 0; - } else if ($current_style['stroke-opacity'] > 1) { + } elseif ($current_style['stroke-opacity'] > 1) { $sopacity = 1; - } else if ($current_style['stroke-opacity'] > 0) { + } elseif ($current_style['stroke-opacity'] > 0) { $sopacity = $current_style['stroke-opacity']; - } else if ($current_style['stroke-opacity'] < 0) { + } elseif ($current_style['stroke-opacity'] < 0) { $sopacity = 0; } } + $gs = $this->mpdf->AddExtGState(['ca' => $fopacity, 'CA' => $sopacity, 'BM' => '/Normal']); $this->mpdf->extgstates[$gs]['fo'] = true; $opacitystr = sprintf(' /GS%d gs ', $gs); @@ -2305,6 +2449,7 @@ class Svg $render = "0"; // Fill (only) $op = 'f'; } + $strokestr = ''; if ($stroke_width > 0 && $current_style['stroke'] != 'none') { $scol = $this->colorConverter->convert($current_style['stroke'], $this->mpdf->PDFAXwarnings); @@ -2323,9 +2468,11 @@ class Svg $op .= 'S'; } } + if ($render == -1) { return ''; } + if ($op == 'fS') { $op = 'B'; } @@ -2343,9 +2490,11 @@ class Svg if ($this->textjuststarted) { $txt = ltrim($txt); } // mPDF 5.7.4 + $this->textjuststarted = false; // mPDF 5.7.4 $txt = $this->mpdf->purify_utf8_text($txt); + if ($this->mpdf->text_input_as_HTML) { $txt = $this->mpdf->all_entities_to_utf8($txt); } @@ -2354,8 +2503,10 @@ class Svg $i = 0; $sw = 0; $subpath_cmd = ''; + while ($i < $nb) { - //Get next character + + // Get next character $char = mb_substr($txt, $i, 1, 'UTF-8'); @@ -2370,12 +2521,15 @@ class Svg $d = $svg_font['d']; $horiz_adv_x = $svg_font['horiz-adv-x']; // missing glyph width } + preg_match_all('/([MZLHVCSQTAmzlhvcsqta])([eE ,\-.\d]+)*/', $d, $commands, PREG_SET_ORDER); $subpath_cmd .= sprintf('q %.4F 0 0 %.4F mPDF-AXS(%.4F) %.4F cm ', $scale, -$scale, ($x + $sw * $scale) * $this->kp, -$y * $this->kp); $this->subPathInit = true; $this->pathBBox = [999999, 999999, -999999, -999999]; + foreach ($commands as $cmd) { + if (count($cmd) == 3 || (isset($cmd[2]) && $cmd[2] == '')) { list($tmp, $command, $arguments) = $cmd; } else { @@ -2385,27 +2539,32 @@ class Svg $subpath_cmd .= $this->svgPath($command, $arguments); } + $subpath_cmd .= $op . ' Q '; + if ($this->pathBBox[2] == -1999998) { $this->pathBBox[2] = 100; } + if ($this->pathBBox[3] == -1999998) { $this->pathBBox[3] = 100; } + if ($this->pathBBox[0] == 999999) { $this->pathBBox[0] = 0; } + if ($this->pathBBox[1] == 999999) { $this->pathBBox[1] = 0; } - $sw += $horiz_adv_x; $i++; } $sw *= $scale; // convert stringwidth to units // mPDF 5.7.4 + $this->textlength = $sw; $this->texttotallength += $this->textlength; @@ -2428,46 +2587,56 @@ class Svg $opacitystr = ''; // mPDF 6 $fopacity = 1; + if (isset($current_style['fill-opacity'])) { if ($current_style['fill-opacity'] == 0) { $fopacity = 0; - } else if ($current_style['fill-opacity'] > 1) { + } elseif ($current_style['fill-opacity'] > 1) { $fopacity = 1; - } else if ($current_style['fill-opacity'] > 0) { + } elseif ($current_style['fill-opacity'] > 0) { $fopacity = $current_style['fill-opacity']; - } else if ($current_style['fill-opacity'] < 0) { + } elseif ($current_style['fill-opacity'] < 0) { $fopacity = 0; } } + $sopacity = 1; + if (isset($current_style['stroke-opacity'])) { if ($current_style['stroke-opacity'] == 0) { $sopacity = 0; - } else if ($current_style['stroke-opacity'] > 1) { + } elseif ($current_style['stroke-opacity'] > 1) { $sopacity = 1; - } else if ($current_style['stroke-opacity'] > 0) { + } elseif ($current_style['stroke-opacity'] > 0) { $sopacity = $current_style['stroke-opacity']; - } else if ($current_style['stroke-opacity'] < 0) { + } elseif ($current_style['stroke-opacity'] < 0) { $sopacity = 0; } } + $gs = $this->mpdf->AddExtGState(['ca' => $fopacity, 'CA' => $sopacity, 'BM' => '/Normal']); $this->mpdf->extgstates[$gs]['fo'] = true; $opacitystr = sprintf(' /GS%d gs ', $gs); $fillstr = ''; + if (isset($current_style['fill']) && $current_style['fill'] != 'none') { $col = $this->colorConverter->convert($current_style['fill'], $this->mpdf->PDFAXwarnings); $fillstr = $this->mpdf->SetFColor($col, true); $render = "0"; // Fill (only) } + $strokestr = ''; + if (isset($current_style['stroke-width']) && $current_style['stroke-width'] > 0 && $current_style['stroke'] != 'none') { $scol = $this->colorConverter->convert($current_style['stroke'], $this->mpdf->PDFAXwarnings); + if ($scol) { $strokestr .= $this->mpdf->SetDColor($scol, true) . ' '; } + $linewidth = $this->ConvertSVGSizePixels($current_style['stroke-width']); + if ($linewidth > 0) { $strokestr .= sprintf('%.3F w 1 J 1 j ', $linewidth * $this->kp); if ($render == -1) { @@ -2478,6 +2647,7 @@ class Svg } // fill and stroke } } + if ($render == -1) { return ''; } @@ -2495,9 +2665,11 @@ class Svg if ($this->textjuststarted) { $txt = ltrim($txt); } // mPDF 5.7.4 + $this->textjuststarted = false; // mPDF 5.7.4 $txt = $this->mpdf->purify_utf8_text($txt); + if ($this->mpdf->text_input_as_HTML) { $txt = $this->mpdf->all_entities_to_utf8($txt); } @@ -2505,6 +2677,7 @@ class Svg if ($this->mpdf->usingCoreFont) { $txt = mb_convert_encoding($txt, $this->mpdf->mb_enc, 'UTF-8'); } + if (preg_match("/([" . $this->mpdf->pregRTLchars . "])/u", $txt)) { $this->mpdf->biDirectional = true; } @@ -2512,13 +2685,17 @@ class Svg $textvar = 0; $save_OTLtags = $this->mpdf->OTLtags; $this->mpdf->OTLtags = []; + if ($this->mpdf->useKerning) { + if ($this->mpdf->CurrentFont['haskernGPOS']) { + if (isset($this->mpdf->OTLtags['Plus'])) { $this->mpdf->OTLtags['Plus'] .= ' kern'; } else { $this->mpdf->OTLtags['Plus'] = ' kern'; } + } else { $textvar = ($textvar | TextVars::FC_KERNING); } @@ -2529,6 +2706,7 @@ class Svg $txt = $this->otl->applyOTL($txt, $this->mpdf->CurrentFont['useOTL']); $OTLdata = $this->otl->OTLdata; } + $this->mpdf->OTLtags = $save_OTLtags; $this->mpdf->magic_reverse_dir($txt, $this->mpdf->directionality, $OTLdata); @@ -2536,6 +2714,7 @@ class Svg $this->mpdf->CurrentFont['used'] = true; $sw = $this->mpdf->GetStringWidth($txt, true, $OTLdata, $textvar); // also adds characters to subset + // mPDF 5.7.4 $this->textlength = $sw * 1 / (25.4 / $this->mpdf->dpi); $this->texttotallength += $this->textlength; @@ -2554,9 +2733,11 @@ class Svg if (isset($current_style['font-size-parent'])) { $this->mpdf->SetFontSize($current_style['font-size-parent']); } + } else { return ' '; } + // Reset font // mPDF 5.7.4 $prev_style = $this->txt_style[count($this->txt_style) - 1]; $style = ''; @@ -2573,7 +2754,9 @@ class Svg // get copy of current/default txt style, and modify it with supplied attributes $tmp = count($this->txt_style) - 1; $current_style = $this->txt_style[$tmp]; + if (isset($critere_style['style'])) { + if (preg_match('/fill:\s*rgb\((\d+),\s*(\d+),\s*(\d+)\)/', $critere_style['style'], $m)) { $current_style['fill'] = '#' . str_pad(dechex($m[1]), 2, "0", STR_PAD_LEFT) . str_pad(dechex($m[2]), 2, "0", STR_PAD_LEFT) . str_pad(dechex($m[3]), 2, "0", STR_PAD_LEFT); } else { @@ -2674,6 +2857,7 @@ class Svg $critere_style['text-anchor'] = $tmp; } } + if (isset($critere_style['font'])) { // [ [ <'font-style'> || <'font-variant'> || <'font-weight'> ]?<'font-size'> [ / <'line-height'> ]? <'font-family'> ] @@ -2684,6 +2868,7 @@ class Svg } $current_style['font-style'] = $tmp; } + $tmp = preg_replace("/(.*)(bold|bolder)(.*)/i", "$2", $critere_style['font']); if ($tmp != $critere_style['font']) { if ($tmp == 'bolder') { @@ -2710,20 +2895,25 @@ class Svg $current_style['fill-opacity'] = $critere_style['opacity']; $current_style['stroke-opacity'] = $critere_style['opacity']; } + // mPDF 6 if (isset($critere_style['stroke-opacity']) && $critere_style['stroke-opacity'] != 'inherit') { $current_style['stroke-opacity'] = $critere_style['stroke-opacity']; } + // mPDF 6 if (isset($critere_style['fill-opacity']) && $critere_style['fill-opacity'] != 'inherit') { $current_style['fill-opacity'] = $critere_style['fill-opacity']; } + if (isset($critere_style['fill']) && $critere_style['fill'] != 'inherit') { $current_style['fill'] = $critere_style['fill']; } + if (isset($critere_style['stroke']) && $critere_style['stroke'] != 'inherit') { $current_style['stroke'] = $critere_style['stroke']; } + if (isset($critere_style['stroke-width']) && $critere_style['stroke-width'] != 'inherit') { $current_style['stroke-width'] = $critere_style['stroke-width']; } @@ -2780,6 +2970,7 @@ class Svg break; } } + if (!$found) { foreach ($aux_fontlist as $f) { $fonttype = trim($f); @@ -2796,6 +2987,7 @@ class Svg } } } + if (isset($critere_style['text-anchor']) && $critere_style['text-anchor'] != 'inherit') { $current_style['text-anchor'] = $critere_style['text-anchor']; } @@ -2804,23 +2996,102 @@ class Svg array_push($this->txt_style, $current_style); } - // - // fonction ajoutant un gradient function svgAddGradient($id, $array_gradient) { $this->svg_gradient[$id] = $array_gradient; } - // - // Ajoute une couleur dans le gradient correspondant - // - // function ecrivant dans le svgstring function svgWriteString($content) { $this->svg_string .= $content; } + /** + * SVGs made with Adobe Illustrator use a style tag and classes instead of inline styles + * See: https://github.com/mpdf/mpdf/issues/450 + * + * This function brutally copies the styles inline + * ( Currently only looks for classes as a selector ) + * + * @param string $data svg contents + * @return string svg contents + * @author Antonio Norman - softcodex.ch + */ + function mergeStyles($data) + { + $xml = new \DOMDocument(); + if (!$xml->loadXML($data, LIBXML_NOERROR)) { + return $data; + } + + // Check it's an SVG + $svgNode = $xml->getElementsByTagName('svg'); + if ($svgNode->length === 0) { + return $data; + } + + // Find the style node + $styles = []; + /** @var $styleNode \DOMNode */ + foreach ($svgNode->item(0)->getElementsByTagName('style') as $styleNode) { + + preg_match_all('/(\.[^{]+)\s*\{\s*([^}]+)\s*}/m', $styleNode->nodeValue, $matches, PREG_SET_ORDER); + foreach ($matches as $cssBlock) { + $css = preg_replace('/\s{2,}/', ' ', $cssBlock[2]); // Clean spaces or new lines + $selector = trim($cssBlock[1]); + + $styles[$selector] = isset($styles[$cssBlock[1]]) ? + $styles[$selector] . ' ' . $css : // Append if the selector is already defined + $css; + } + } + + if (empty($styles)) { + return $data; + } + + // Recursively loop the nodes inserting the styles inline + $setStylesInline = function (\DOMNode $xml) use ($styles, &$setStylesInline) { + // Apply the styles to the elements + foreach ($xml->childNodes as $node) { + + if ($node->hasChildNodes()) { + $setStylesInline($node); + } + + if (!$node instanceof \DOMElement) { + continue; + } + + // Check the node has the a class with a style + if (!$node->hasAttribute('class')) { + continue; + } + + // Allow for class=" class1 class2 " + $classes = explode(' ', $node->getAttribute('class')); + + foreach ($classes as $class) { + + $class = '.' . trim($class); + if (!empty($class) && isset($styles[$class])) { + + $style = $node->hasAttribute('style') ? + $styles[$class] . ' ' . $node->getAttribute('style') : + $styles[$class]; + + $node->setAttribute('style', $style); + } + } + } + }; + + $setStylesInline($xml); + + return $xml->saveXML(); + } + /** * analise le svg et renvoie aux fonctions precedente our le traitement */ @@ -2832,6 +3103,8 @@ class Svg // Converts < to < when not a tag $data = preg_replace('/<([^!?\/a-zA-Z_:])/i', '<\\1', $data); // mPDF 5.7.4 + $data = $this->mergeStyles($data); + if ($this->mpdf->svgAutoFont) { $data = $this->markScriptToLang($data); } @@ -3083,7 +3356,7 @@ class Svg if ($scriptblock == 0) { $scriptblock = $sbl; $scriptblocks[$subchunk] = $scriptblock; - } else if ($scriptblock > 0 && $scriptblock != $sbl) { + } elseif ($scriptblock > 0 && $scriptblock != $sbl) { // NEW (non-common) Script encountered in this chunk. // Start a new subchunk $subchunk++; @@ -3133,20 +3406,20 @@ class Svg if ($scriptblocks[$sch] == Ucdn::SCRIPT_LATIN && $this->mpdf->autoVietnamese && preg_match("/([" . $this->scriptToLanguage->getLanguageDelimiters('viet') . "])/u", $s)) { $lang = "vi"; } // Check Arabic for different languages if Arabic script - even if Basescript - else if ($scriptblocks[$sch] == Ucdn::SCRIPT_ARABIC && $this->mpdf->autoArabic) { + elseif ($scriptblocks[$sch] == Ucdn::SCRIPT_ARABIC && $this->mpdf->autoArabic) { if (preg_match("/[" . $this->scriptToLanguage->getLanguageDelimiters('sindhi') . "]/u", $s)) { $lang = "sd"; - } else if (preg_match("/[" . $this->scriptToLanguage->getLanguageDelimiters('urdu') . "]/u", $s)) { + } elseif (preg_match("/[" . $this->scriptToLanguage->getLanguageDelimiters('urdu') . "]/u", $s)) { $lang = "ur"; - } else if (preg_match("/[" . $this->scriptToLanguage->getLanguageDelimiters('pashto') . "]/u", $s)) { + } elseif (preg_match("/[" . $this->scriptToLanguage->getLanguageDelimiters('pashto') . "]/u", $s)) { $lang = "ps"; - } else if (preg_match("/[" . $this->scriptToLanguage->getLanguageDelimiters('persian') . "]/u", $s)) { + } elseif (preg_match("/[" . $this->scriptToLanguage->getLanguageDelimiters('persian') . "]/u", $s)) { $lang = "fa"; - } else if ($this->mpdf->baseScript != Ucdn::SCRIPT_ARABIC && $this->scriptToLanguage->getLanguageByScript($scriptblocks[$sch])) { + } elseif ($this->mpdf->baseScript != Ucdn::SCRIPT_ARABIC && $this->scriptToLanguage->getLanguageByScript($scriptblocks[$sch])) { $lang = "'." . $this->scriptToLanguage->getLanguageByScript($scriptblocks[$sch]) . "'"; } } // Identify Script block if not Basescript, and mark up as language - else if ($scriptblocks[$sch] > 0 && $scriptblocks[$sch] != $this->mpdf->baseScript && $this->scriptToLanguage->getLanguageByScript($scriptblocks[$sch])) { + elseif ($scriptblocks[$sch] > 0 && $scriptblocks[$sch] != $this->mpdf->baseScript && $this->scriptToLanguage->getLanguageByScript($scriptblocks[$sch])) { $lang = $this->scriptToLanguage->getLanguageByScript($scriptblocks[$sch]); } if ($lang) { @@ -3169,44 +3442,53 @@ class Svg function xml_svg2pdf_start($parser, $name, $attribs) { global $last_gradid, $last_svg_fontid, $last_svg_fontdefw, $last_svg_fontstyle; // mPDF 6 + // mPDF 6 if (strtolower($name) == 'font') { $last_svg_fontid = ''; + if (isset($attribs['horiz-adv-x']) && $attribs['horiz-adv-x']) { $last_svg_fontdefw = $attribs['horiz-adv-x']; } + return; - } // mPDF 6 - else if (strtolower($name) == 'font-face') { + } elseif (strtolower($name) == 'font-face') { // mPDF 6 $last_svg_fontstyle = 'R'; $last_svg_fontstyle .= (isset($attribs['font-weight']) && $attribs['font-weight'] == 'bold') ? 'B' : ''; $last_svg_fontstyle .= (isset($attribs['font-style']) && $attribs['font-style'] == 'italic') ? 'I' : ''; $last_svg_fontstyle .= (isset($attribs['font-variant']) && $attribs['font-variant'] == 'small-caps') ? 'S' : ''; if (isset($attribs['font-family']) && $attribs['font-family']) { + $tmp_svg_font = [ 'units-per-em' => (isset($attribs['units-per-em']) ? $attribs['units-per-em'] : ''), 'd' => '', 'glyphs' => [] ]; + $last_svg_fontid = strtolower($attribs['font-family']); + if ($last_svg_fontdefw) { $tmp_svg_font['horiz-adv-x'] = $last_svg_fontdefw; } else { $tmp_svg_font['horiz-adv-x'] = 500; } + $this->svg_font[$last_svg_fontid][$last_svg_fontstyle] = $tmp_svg_font; } + return; - } // mPDF 6 - else if (strtolower($name) == 'missing-glyph') { + } elseif (strtolower($name) == 'missing-glyph') { // mPDF 6 + if ($last_svg_fontid && isset($attribs['horiz-adv-x'])) { $this->svg_font[$last_svg_fontid][$last_svg_fontstyle]['horiz-adv-x'] = (isset($attribs['horiz-adv-x']) ? $attribs['horiz-adv-x'] : ''); $this->svg_font[$last_svg_fontid][$last_svg_fontstyle]['d'] = (isset($attribs['d']) ? $attribs['d'] : ''); } + return; - } // mPDF 6 - else if (strtolower($name) == 'glyph') { + + } elseif (strtolower($name) == 'glyph') { // mPDF 6 + if ($last_svg_fontid && isset($attribs['unicode'])) { $this->svg_font[$last_svg_fontid][$last_svg_fontstyle]['glyphs'][$attribs['unicode']] = [ 'horiz-adv-x' => (isset($attribs['horiz-adv-x']) ? $attribs['horiz-adv-x'] : $last_svg_fontdefw), @@ -3214,8 +3496,9 @@ class Svg ]; } return; - } // mPDF 5.7.2 - else if (strtolower($name) == 'lineargradient') { + + } elseif (strtolower($name) == 'lineargradient') { // mPDF 5.7.2 + $tmp_gradient = [ 'type' => 'linear', 'transform' => (isset($attribs['gradientTransform']) ? $attribs['gradientTransform'] : ''), @@ -3223,22 +3506,30 @@ class Svg 'spread' => (isset($attribs['spreadMethod']) ? $attribs['spreadMethod'] : ''), 'color' => [] ]; + if (isset($attribs['x1'])) { $tmp_gradient['info']['x1'] = $attribs['x1']; } + if (isset($attribs['y1'])) { $tmp_gradient['info']['y1'] = $attribs['y1']; } + if (isset($attribs['x2'])) { $tmp_gradient['info']['x2'] = $attribs['x2']; } + if (isset($attribs['y2'])) { $tmp_gradient['info']['y2'] = $attribs['y2']; } + $last_gradid = $attribs['id']; $this->svgAddGradient($attribs['id'], $tmp_gradient); + return; - } else if (strtolower($name) == 'radialgradient') { + + } elseif (strtolower($name) == 'radialgradient') { + $tmp_gradient = [ 'type' => 'radial', 'transform' => (isset($attribs['gradientTransform']) ? $attribs['gradientTransform'] : ''), @@ -3246,58 +3537,71 @@ class Svg 'spread' => (isset($attribs['spreadMethod']) ? $attribs['spreadMethod'] : ''), 'color' => [] ]; + if (isset($attribs['cx'])) { $tmp_gradient['info']['x0'] = $attribs['cx']; } + if (isset($attribs['cy'])) { $tmp_gradient['info']['y0'] = $attribs['cy']; } + if (isset($attribs['fx'])) { $tmp_gradient['info']['x1'] = $attribs['fx']; } + if (isset($attribs['fy'])) { $tmp_gradient['info']['y1'] = $attribs['fy']; } + if (isset($attribs['r'])) { $tmp_gradient['info']['r'] = $attribs['r']; } + $last_gradid = $attribs['id']; $this->svgAddGradient($attribs['id'], $tmp_gradient); + return; - } else if (strtolower($name) == 'stop') { + + } elseif (strtolower($name) == 'stop') { + if (!$last_gradid) { return; } + $color = '#000000'; if (isset($attribs['style']) and preg_match('/stop-color:\s*([^;]*)/i', $attribs['style'], $m)) { $color = trim($m[1]); - } else if (isset($attribs['stop-color']) && $attribs['stop-color']) { + } elseif (isset($attribs['stop-color']) && $attribs['stop-color']) { $color = $attribs['stop-color']; } + $col = $this->colorConverter->convert($color, $this->mpdf->PDFAXwarnings); if (!$col) { $col = $this->colorConverter->convert('#000000', $this->mpdf->PDFAXwarnings); } // In case "transparent" or "inherit" returned - if ($col{0} == 3 || $col{0} == 5) { // RGB - $color_final = sprintf('%.3F %.3F %.3F', ord($col{1}) / 255, ord($col{2}) / 255, ord($col{3}) / 255); + + if ($col[0] == 3 || $col[0] == 5) { // RGB + $color_final = sprintf('%.3F %.3F %.3F', ord($col[1]) / 255, ord($col[2]) / 255, ord($col[3]) / 255); $this->svg_gradient[$last_gradid]['colorspace'] = 'RGB'; - } else if ($col{0} == 4 || $col{0} == 6) { // CMYK - $color_final = sprintf('%.3F %.3F %.3F %.3F', ord($col{1}) / 100, ord($col{2}) / 100, ord($col{3}) / 100, ord($col{4}) / 100); + } elseif ($col[0] == 4 || $col[0] == 6) { // CMYK + $color_final = sprintf('%.3F %.3F %.3F %.3F', ord($col[1]) / 100, ord($col[2]) / 100, ord($col[3]) / 100, ord($col[4]) / 100); $this->svg_gradient[$last_gradid]['colorspace'] = 'CMYK'; - } else if ($col{0} == 1) { // Grayscale - $color_final = sprintf('%.3F', ord($col{1}) / 255); + } elseif ($col[0] == 1) { // Grayscale + $color_final = sprintf('%.3F', ord($col[1]) / 255); $this->svg_gradient[$last_gradid]['colorspace'] = 'Gray'; } $stop_opacity = 1; + if (isset($attribs['style']) and preg_match('/stop-opacity:\s*([0-9.]*)/i', $attribs['style'], $m)) { $stop_opacity = $m[1]; - } else if (isset($attribs['stop-opacity'])) { + } elseif (isset($attribs['stop-opacity'])) { $stop_opacity = $attribs['stop-opacity']; - } else if ($col{0} == 5) { // RGBa - $stop_opacity = ord($col{4} / 100); - } else if ($col{0} == 6) { // CMYKa - $stop_opacity = ord($col{5} / 100); + } elseif ($col[0] == 5) { // RGBa + $stop_opacity = ord($col[4] / 100); + } elseif ($col[0] == 6) { // CMYKa + $stop_opacity = ord($col[5] / 100); } $tmp_color = [ @@ -3306,15 +3610,19 @@ class Svg 'opacity' => $stop_opacity ]; array_push($this->svg_gradient[$last_gradid]['color'], $tmp_color); + return; } + if ($this->inDefs) { return; } $this->xbase = 0; $this->ybase = 0; + switch (strtolower($name)) { + // Don't output stuff inside case 'defs': $this->inDefs = true; @@ -3325,11 +3633,13 @@ class Svg break; case 'path': + $path = Arrays::get($attribs, 'd', ''); preg_match_all('/([MZLHVCSQTAmzlhvcsqta])([eE ,\-.\d]+)*/', $path, $commands, PREG_SET_ORDER); $path_cmd = ''; $this->subPathInit = true; $this->pathBBox = [999999, 999999, -999999, -999999]; + foreach ($commands as $c) { if ((isset($c) && count($c) == 3) || (isset($c[2]) && $c[2] == '')) { list($tmp, $command, $arguments) = $c; @@ -3340,114 +3650,151 @@ class Svg $path_cmd .= $this->svgPath($command, $arguments); } + if ($this->pathBBox[2] == -1999998) { $this->pathBBox[2] = 100; } + if ($this->pathBBox[3] == -1999998) { $this->pathBBox[3] = 100; } + if ($this->pathBBox[0] == 999999) { $this->pathBBox[0] = 0; } + if ($this->pathBBox[1] == 999999) { $this->pathBBox[1] = 0; } + $critere_style = $attribs; unset($critere_style['d']); $path_style = $this->svgDefineStyle($critere_style); + break; case 'rect': if (!isset($attribs['x'])) { $attribs['x'] = 0; } + if (!isset($attribs['y'])) { $attribs['y'] = 0; } + if (!isset($attribs['rx'])) { $attribs['rx'] = 0; } + if (!isset($attribs['ry'])) { $attribs['ry'] = 0; } + $arguments = []; + if (isset($attribs['x'])) { $arguments['x'] = $attribs['x']; } + if (isset($attribs['y'])) { $arguments['y'] = $attribs['y']; } + if (isset($attribs['width'])) { $arguments['w'] = $attribs['width']; } + if (isset($attribs['height'])) { $arguments['h'] = $attribs['height']; } + if (isset($attribs['rx'])) { $arguments['rx'] = $attribs['rx']; } + if (isset($attribs['ry'])) { $arguments['ry'] = $attribs['ry']; } + $path_cmd = $this->svgRect($arguments); $critere_style = $attribs; unset($critere_style['x'], $critere_style['y'], $critere_style['rx'], $critere_style['ry'], $critere_style['height'], $critere_style['width']); $path_style = $this->svgDefineStyle($critere_style); + break; case 'circle': + if (!isset($attribs['cx'])) { $attribs['cx'] = 0; } + if (!isset($attribs['cy'])) { $attribs['cy'] = 0; } + $arguments = []; + if (isset($attribs['cx'])) { $arguments['cx'] = $attribs['cx']; } + if (isset($attribs['cy'])) { $arguments['cy'] = $attribs['cy']; } + if (isset($attribs['r'])) { $arguments['rx'] = $attribs['r']; } + if (isset($attribs['r'])) { $arguments['ry'] = $attribs['r']; } + $path_cmd = $this->svgEllipse($arguments); $critere_style = $attribs; unset($critere_style['cx'], $critere_style['cy'], $critere_style['r']); $path_style = $this->svgDefineStyle($critere_style); + break; case 'ellipse': + if (!isset($attribs['cx'])) { $attribs['cx'] = 0; } + if (!isset($attribs['cy'])) { $attribs['cy'] = 0; } + $arguments = []; + if (isset($attribs['cx'])) { $arguments['cx'] = $attribs['cx']; } + if (isset($attribs['cy'])) { $arguments['cy'] = $attribs['cy']; } + if (isset($attribs['rx'])) { $arguments['rx'] = $attribs['rx']; } + if (isset($attribs['ry'])) { $arguments['ry'] = $attribs['ry']; } + $path_cmd = $this->svgEllipse($arguments); $critere_style = $attribs; unset($critere_style['cx'], $critere_style['cy'], $critere_style['rx'], $critere_style['ry']); $path_style = $this->svgDefineStyle($critere_style); + break; case 'line': + $arguments = []; $arguments[0] = (isset($attribs['x1']) ? $attribs['x1'] : ''); $arguments[1] = (isset($attribs['y1']) ? $attribs['y1'] : ''); @@ -3457,63 +3804,79 @@ class Svg $critere_style = $attribs; unset($critere_style['x1'], $critere_style['y1'], $critere_style['x2'], $critere_style['y2']); $path_style = $this->svgDefineStyle($critere_style); + break; case 'polyline': + $path = $attribs['points']; preg_match_all('/[0-9\-\.]*/', $path, $tmp, PREG_SET_ORDER); $arguments = []; + for ($i = 0; $i < count($tmp); $i++) { if ($tmp[$i][0] != '') { array_push($arguments, $tmp[$i][0]); } } + $path_cmd = $this->svgPolyline($arguments); $critere_style = $attribs; unset($critere_style['points']); $path_style = $this->svgDefineStyle($critere_style); + break; case 'polygon': + $path = $attribs['points']; preg_match_all('/([\-]*[0-9\.]+)/', $path, $tmp); $arguments = []; + for ($i = 0; $i < count($tmp[0]); $i++) { if ($tmp[0][$i] != '') { array_push($arguments, $tmp[0][$i]); } } + $path_cmd = $this->svgPolygon($arguments); // definition du style de la forme: $critere_style = $attribs; unset($critere_style['points']); $path_style = $this->svgDefineStyle($critere_style); + break; // mPDF 5.7.4 Embedded image case 'image': + if (isset($attribs['xlink:href']) && $attribs['xlink:href']) { $this->svgImage($attribs); } + break; - case 'a': + if (isset($attribs['xlink:href'])) { unset($attribs['xlink:href']); // this should be a hyperlink // not handled like a xlink:href in other elements - } // then continue like a + } + + // fallthtough - then continue like a + case 'g': + $array_style = $this->svgDefineStyle($attribs); + if (!empty($array_style['transformations'])) { // If in the middle of element, add to textoutput, else WriteString if ($this->intext) { $this->textoutput .= ' q ' . $array_style['transformations']; - } // mPDF 5.7.4 - else { + } else { // mPDF 5.7.4 $this->svgWriteString(' q ' . $array_style['transformations']); } } + array_push($this->svg_style, $array_style); $this->svgDefineTxtStyle($attribs); @@ -3521,6 +3884,7 @@ class Svg break; case 'text': + $this->textlength = 0; // mPDF 5.7.4 $this->texttotallength = 0; // mPDF 5.7.4 $this->textoutput = ''; // mPDF 5.7.4 @@ -3531,6 +3895,7 @@ class Svg $this->intext = true; // mPDF 5.7.4 $styl = ''; + if ($this->mpdf->svgClasses && isset($attribs['class']) && $attribs['class']) { $classes = preg_split('/\s+/', trim($attribs['class'])); foreach ($classes as $class) { @@ -3589,6 +3954,7 @@ class Svg // mPDF 5.7.4 case 'tspan': + // OUTPUT CHUNK(s) UP To NOW (svgText updates $this->textlength) $p_cmd = $this->svgText(); $this->textoutput .= $p_cmd; @@ -3637,7 +4003,7 @@ class Svg // If text-anchor middle|end, adjust if ($this->textanchor == 'end') { $tx = -$this->texttotallength; - } else if ($this->textanchor == 'middle') { + } elseif ($this->textanchor == 'middle') { $tx = -$this->texttotallength / 2; } else { $tx = 0; @@ -3714,6 +4080,7 @@ class Svg if ($this->inDefs) { return; } // mPDF 5.7.2 + if (isset($this->txt_data[2])) { $this->txt_data[2] .= $data; } else { @@ -3800,7 +4167,7 @@ class Svg // If text-anchor middle|end, adjust if ($this->textanchor == 'end') { $tx = -$this->texttotallength; - } else if ($this->textanchor == 'middle') { + } elseif ($this->textanchor == 'middle') { $tx = -$this->texttotallength / 2; } else { $tx = 0; @@ -3851,37 +4218,51 @@ class Svg $bounds[1][] = $P0[1]; $bounds[0][] = $P3[0]; $bounds[1][] = $P3[1]; + for ($i = 0; $i <= 1; $i++) { $b = 6 * $P0[$i] - 12 * $P1[$i] + 6 * $P2[$i]; $a = -3 * $P0[$i] + 9 * $P1[$i] - 9 * $P2[$i] + 3 * $P3[$i]; $c = 3 * $P1[$i] - 3 * $P0[$i]; + if ($a == 0) { + if ($b == 0) { continue; } + $t = -$c / $b; + if ($t > 0 && $t < 1) { $bounds[$i][] = (pow((1 - $t), 3) * $P0[$i] + 3 * pow((1 - $t), 2) * $t * $P1[$i] + 3 * (1 - $t) * pow($t, 2) * $P2[$i] + pow($t, 3) * $P3[$i]); } + continue; } + $b2ac = pow($b, 2) - 4 * $c * $a; + if ($b2ac < 0) { continue; } + $t1 = (-$b + sqrt($b2ac)) / (2 * $a); + if ($t1 > 0 && $t1 < 1) { $bounds[$i][] = (pow((1 - $t1), 3) * $P0[$i] + 3 * pow((1 - $t1), 2) * $t1 * $P1[$i] + 3 * (1 - $t1) * pow($t1, 2) * $P2[$i] + pow($t1, 3) * $P3[$i]); } + $t2 = (-$b - sqrt($b2ac)) / (2 * $a); + if ($t2 > 0 && $t2 < 1) { $bounds[$i][] = (pow((1 - $t2), 3) * $P0[$i] + 3 * pow((1 - $t2), 2) * $t2 * $P1[$i] + 3 * (1 - $t2) * pow($t2, 2) * $P2[$i] + pow($t2, 3) * $P3[$i]); } } + $x = min($bounds[0]); $x2 = max($bounds[0]); $y = min($bounds[1]); $y2 = max($bounds[1]); + return [$x, $y, $x2, $y2]; } @@ -3892,19 +4273,15 @@ class Svg // If centre of circle is inside 0,0,1,1 square if ($cx >= 0 && $cx <= 1 && $cy >= 0 && $cy <= 1) { $maxd = 1.5; - } // distance to four corners - else { + } else { // distance to four corners $d1 = sqrt(pow(($cy - 0), 2) + pow(($cx - 0), 2)); $d2 = sqrt(pow(($cy - 1), 2) + pow(($cx - 0), 2)); $d3 = sqrt(pow(($cy - 0), 2) + pow(($cx - 1), 2)); $d4 = sqrt(pow(($cy - 1), 2) + pow(($cx - 1), 2)); $maxd = max($d1, $d2, $d3, $d4); } - if ($cr < $maxd) { - return true; - } else { - return false; - } + + return $cr < $maxd; } private function testIntersect($x1, $y1, $x2, $y2, $x3, $y3, $x4, $y4) @@ -3918,6 +4295,7 @@ class Svg $b2 = $x3 - $x4; $c2 = $a2 * $x3 + $b2 * $y3; $det = $a1 * $b2 - $a2 * $b1; + if ($det == 0) { //Lines are parallel return false; } else { @@ -3927,6 +4305,7 @@ class Svg return true; } } + return false; } diff --git a/pandora_console/vendor/mpdf/mpdf/src/Image/Wmf.php b/pandora_console/vendor/mpdf/mpdf/src/Image/Wmf.php index 10342ab5a2..36b2a978b3 100644 --- a/pandora_console/vendor/mpdf/mpdf/src/Image/Wmf.php +++ b/pandora_console/vendor/mpdf/mpdf/src/Image/Wmf.php @@ -182,7 +182,7 @@ class Wmf } if ($func == 0x0325) { $op = 's'; - } else if ($func == 0x0324) { + } elseif ($func == 0x0324) { if ($nullPen) { if ($nullBrush) { $op = 'n'; diff --git a/pandora_console/vendor/mpdf/mpdf/src/Mpdf.php b/pandora_console/vendor/mpdf/mpdf/src/Mpdf.php index c534165036..2c60309f83 100644 --- a/pandora_console/vendor/mpdf/mpdf/src/Mpdf.php +++ b/pandora_console/vendor/mpdf/mpdf/src/Mpdf.php @@ -2,44 +2,18 @@ namespace Mpdf; -use fpdi_pdf_parser; -use pdf_parser; - use Mpdf\Config\ConfigVariables; use Mpdf\Config\FontVariables; - -use Mpdf\Color\ColorConverter; -use Mpdf\Color\ColorModeConverter; -use Mpdf\Color\ColorSpaceRestrictor; - use Mpdf\Conversion; - use Mpdf\Css\Border; use Mpdf\Css\TextVars; - -use Mpdf\Image\ImageProcessor; - -use Mpdf\Language\LanguageToFont; -use Mpdf\Language\ScriptToLanguage; - use Mpdf\Log\Context as LogContext; - -use Mpdf\Fonts\FontCache; -use Mpdf\Fonts\FontFileFinder; use Mpdf\Fonts\MetricsGenerator; - use Mpdf\Output\Destination; - -use Mpdf\Pdf\Protection; -use Mpdf\Pdf\Protection\UniqidGenerator; - use Mpdf\QrCode; - use Mpdf\Utils\Arrays; -use Mpdf\Utils\PdfDate; use Mpdf\Utils\NumericString; use Mpdf\Utils\UtfString; - use Psr\Log\LoggerInterface; use Psr\Log\NullLogger; @@ -49,13 +23,15 @@ use Psr\Log\NullLogger; * based on FPDF by Olivier Plathey * and HTML2FPDF by Renato Coelho * - * @version 7.0 * @license GPL-2.0 */ class Mpdf implements \Psr\Log\LoggerAwareInterface { - const VERSION = '7.1.5'; + use Strict; + use FpdiTrait; + + const VERSION = '8.0.15'; const SCALE = 72 / 25.4; @@ -174,6 +150,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface var $list_auto_mode; // mPDF 6 var $list_indent_first_level; // mPDF 6 var $list_indent_default; // mPDF 6 + var $list_indent_default_mpdf; var $list_marker_offset; // mPDF 6 var $list_symbol_size; @@ -205,6 +182,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface var $allow_html_optional_endtags; var $img_dpi; + var $whitelistStreamWrappers; var $defaultheaderfontsize; var $defaultheaderfontstyle; @@ -246,6 +224,9 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface var $OTLtags; // mPDF 5.7.1 var $OTLdata; // mPDF 5.7.1 + var $useDictionaryLBR; + var $useTibetanLBR; + var $writingToC; var $layers; var $layerDetails; @@ -296,23 +277,14 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface var $InfoRoot; var $associatedFilesRoot; - var $current_filename; - var $parsers; - var $current_parser; - var $_obj_stack; - var $_don_obj_stack; - var $_current_obj_id; - var $tpls; - var $tpl; - var $tplprefix; - var $_res; - var $pdf_version; private $fontDir; var $tempDir; + var $cacheCleanupInterval; + var $allowAnnotationFiles; var $fontdata; @@ -407,6 +379,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface var $pageTemplate; var $docTemplate; var $docTemplateContinue; + var $docTemplateContinue2pages; var $arabGlyphs; var $arabHex; @@ -605,6 +578,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface var $enabledtags; var $lineheight; + var $default_lineheight_correction; var $basepath; var $textparam; @@ -695,6 +669,13 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface */ var $curlTimeout; + /** + * Set execution timeout for cURL + * + * @var int + */ + var $curlExecutionTimeout; + /** * Set to true to follow redirects with cURL. * @@ -702,6 +683,17 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface */ var $curlFollowLocation; + /** + * Set your own CA certificate store for SSL Certificate verification when using cURL + * + * Useful setting to use on hosts with outdated CA certificates. + * + * Download the latest CA certificate from https://curl.haxx.se/docs/caextract.html + * + * @var string The absolute path to the pem file + */ + var $curlCaCertificate; + /** * Set to true to allow unsafe SSL HTTPS requests. * @@ -711,6 +703,33 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface */ var $curlAllowUnsafeSslRequests; + /** + * Set the proxy for cURL. + * + * @see https://curl.haxx.se/libcurl/c/CURLOPT_PROXY.html + * + * @var string + */ + var $curlProxy; + + /** + * Set the proxy auth for cURL. + * + * @see https://curl.haxx.se/libcurl/c/CURLOPT_PROXYUSERPWD.html + * + * @var string + */ + var $curlProxyAuth; + + /** + * Set the User-Agent header in the HTTP requests sent by cURL. + * + * @see https://curl.haxx.se/libcurl/c/CURLOPT_USERAGENT.html + * + * @var string User Agent header + */ + var $curlUserAgent; + // Private properties FROM FPDF var $DisplayPreferences; var $flowingBlockAttr; @@ -734,8 +753,6 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface var $CurOrientation; // current orientation var $OrientationChanges; // array indicating orientation changes - var $k; // scale factor (number of points in user unit) - var $fwPt; var $fhPt; // dimensions of page format in points var $fw; @@ -809,6 +826,10 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface var $outerblocktags; var $innerblocktags; + public $exposeVersion; + + private $preambleWritten = false; + /** * @var string */ @@ -915,6 +936,11 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface */ private $protection; + /** + * @var \Mpdf\RemoteContentFetcher + */ + private $remoteContentFetcher; + /** * @var \Mpdf\Image\ImageProcessor */ @@ -935,6 +961,66 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface */ private $logger; + /** + * @var \Mpdf\Writer\BaseWriter + */ + private $writer; + + /** + * @var \Mpdf\Writer\FontWriter + */ + private $fontWriter; + + /** + * @var \Mpdf\Writer\MetadataWriter + */ + private $metadataWriter; + + /** + * @var \Mpdf\Writer\ImageWriter + */ + private $imageWriter; + + /** + * @var \Mpdf\Writer\FormWriter + */ + private $formWriter; + + /** + * @var \Mpdf\Writer\PageWriter + */ + private $pageWriter; + + /** + * @var \Mpdf\Writer\BookmarkWriter + */ + private $bookmarkWriter; + + /** + * @var \Mpdf\Writer\OptionalContentWriter + */ + private $optionalContentWriter; + + /** + * @var \Mpdf\Writer\ColorWriter + */ + private $colorWriter; + + /** + * @var \Mpdf\Writer\BackgroundWriter + */ + private $backgroundWriter; + + /** + * @var \Mpdf\Writer\JavaScriptWriter + */ + private $javaScriptWriter; + + /** + * @var \Mpdf\Writer\ResourceWriter + */ + private $resourceWriter; + /** * @var string[] */ @@ -966,80 +1052,26 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface $originalConfig = $config; $config = $this->initConfig($originalConfig); - $this->sizeConverter = new SizeConverter($this->dpi, $this->default_font_size, $this, $this->logger); - - $this->colorModeConverter = new ColorModeConverter(); - $this->colorSpaceRestrictor = new ColorSpaceRestrictor( + $serviceFactory = new ServiceFactory(); + $services = $serviceFactory->getServices( $this, - $this->colorModeConverter, - $this->restrictColorSpace - ); - $this->colorConverter = new ColorConverter($this, $this->colorModeConverter, $this->colorSpaceRestrictor); - - - $this->gradient = new Gradient($this, $this->sizeConverter, $this->colorConverter); - $this->tableOfContents = new TableOfContents($this, $this->sizeConverter); - - $this->cache = new Cache($config['tempDir']); - $this->fontCache = new FontCache(new Cache($config['tempDir'] . '/ttfontdata')); - - $this->fontFileFinder = new FontFileFinder($config['fontDir']); - - $this->cssManager = new CssManager($this, $this->cache, $this->sizeConverter, $this->colorConverter); - - $this->otl = new Otl($this, $this->fontCache); - - $this->form = new Form($this, $this->otl, $this->colorConverter); - - $this->hyphenator = new Hyphenator($this); - - $this->imageProcessor = new ImageProcessor( - $this, - $this->otl, - $this->cssManager, - $this->sizeConverter, - $this->colorConverter, - $this->colorModeConverter, - $this->cache, + $this->logger, + $config, + $this->restrictColorSpace, $this->languageToFont, $this->scriptToLanguage, - $this->logger + $this->fontDescriptor, + $this->bmp, + $this->directWrite, + $this->wmf ); - $this->tag = new Tag( - $this, - $this->cache, - $this->cssManager, - $this->form, - $this->otl, - $this->tableOfContents, - $this->sizeConverter, - $this->colorConverter, - $this->imageProcessor, - $this->languageToFont - ); + $this->services = []; - $this->services = [ - 'otl', - 'bmp', - 'cache', - 'cssManager', - 'directWrite', - 'fontCache', - 'fontFileFinder', - 'form', - 'gradient', - 'tableOfContents', - 'tag', - 'wmf', - 'sizeConverter', - 'colorConverter', - 'hyphenator', - 'imageProcessor', - 'protection', - 'languageToFont', - 'scriptToLanguage', - ]; + foreach ($services as $key => $service) { + $this->{$key} = $service; + $this->services[] = $key; + } $this->time0 = microtime(true); @@ -1053,8 +1085,8 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface $this->tableBackgrounds = []; $this->uniqstr = '20110230'; // mPDF 5.7.2 - $this->kt_y00 = ''; - $this->kt_p00 = ''; + $this->kt_y00 = 0; + $this->kt_p00 = 0; $this->BMPonly = []; $this->page = 0; $this->n = 2; @@ -1513,19 +1545,20 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface $this->specialcontent = ''; $this->selectoption = []; - - /* -- IMPORTS -- */ - $this->parsers = []; - $this->tpls = []; - $this->tpl = 0; - $this->tplprefix = "/TPL"; - /* -- END IMPORTS -- */ } public function cleanup() { mb_internal_encoding($this->originalMbEnc); @mb_regex_encoding($this->originalMbRegexEnc); + + // this will free up the readers, based on code from Setasign's FpdiTrait::cleanUp() + foreach ($this->createdReaders as $id) { + $this->readers[$id]->getParser()->getStreamReader()->cleanUp(); + unset($this->readers[$id]); + } + + $this->createdReaders = []; } /** @@ -1740,13 +1773,17 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface function SetDisplayMode($zoom, $layout = 'continuous') { - // Set display mode in viewer - if ($zoom == 'fullpage' or $zoom == 'fullwidth' or $zoom == 'real' or $zoom == 'default' or ! is_string($zoom)) { + $allowedZoomModes = ['fullpage', 'fullwidth', 'real', 'default', 'none']; + + if (in_array($zoom, $allowedZoomModes, true) || is_numeric($zoom)) { $this->ZoomMode = $zoom; } else { throw new \Mpdf\MpdfException('Incorrect zoom display mode: ' . $zoom); } - if ($layout == 'single' or $layout == 'continuous' or $layout == 'two' or $layout == 'twoleft' or $layout == 'tworight' or $layout == 'default') { + + $allowedLayoutModes = ['single', 'continuous', 'two', 'twoleft', 'tworight', 'default']; + + if (in_array($layout, $allowedLayoutModes, true)) { $this->LayoutMode = $layout; } else { throw new \Mpdf\MpdfException('Incorrect layout display mode: ' . $layout); @@ -1873,7 +1910,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface if ($return) { return sprintf('/GS%d gs', $gs); } else { - $this->_out(sprintf('/GS%d gs', $gs)); + $this->writer->write(sprintf('/GS%d gs', $gs)); } } @@ -1909,17 +1946,17 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface $this->pdf_version = '1.5'; } if ($this->visibility != 'visible') { - $this->_out('EMC'); + $this->writer->write('EMC'); $this->hasOC = intval($this->hasOC); } if ($v == 'printonly') { - $this->_out('/OC /OC1 BDC'); + $this->writer->write('/OC /OC1 BDC'); $this->hasOC = ($this->hasOC | 1); } elseif ($v == 'screenonly') { - $this->_out('/OC /OC2 BDC'); + $this->writer->write('/OC /OC2 BDC'); $this->hasOC = ($this->hasOC | 2); } elseif ($v == 'hidden') { - $this->_out('/OC /OC3 BDC'); + $this->writer->write('/OC /OC3 BDC'); $this->hasOC = ($this->hasOC | 4); } elseif ($v != 'visible') { throw new \Mpdf\MpdfException('Incorrect visibility: ' . $v); @@ -1931,11 +1968,12 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface { // Begin document if ($this->state == 0) { - // Was is function _begindoc() - // Start document $this->state = 1; - $this->_out('%PDF-' . $this->pdf_version); - $this->_out('%' . chr(226) . chr(227) . chr(207) . chr(211)); // 4 chars > 128 to show binary file + if (false === $this->preambleWritten) { + $this->writer->write('%PDF-' . $this->pdf_version); + $this->writer->write('%' . chr(226) . chr(227) . chr(207) . chr(211)); // 4 chars > 128 to show binary file + $this->preambleWritten = true; + } } } @@ -1947,15 +1985,20 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface if ($this->state == 3) { return; } + if ($this->page == 0) { $this->AddPage($this->CurOrientation); } + if (count($this->cellBorderBuffer)) { $this->printcellbuffer(); - } // *TABLES* + } + + // *TABLES* if ($this->tablebuffer) { $this->printtablebuffer(); - } // *TABLES* + } + /* -- COLUMNS -- */ if ($this->ColActive) { @@ -1965,6 +2008,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface $this->printcolumnbuffer(); } } + /* -- END COLUMNS -- */ // BODY Backgrounds @@ -1997,7 +2041,6 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface $this->tableOfContents->insertTOC(); } - // *TOC* // Close page $this->_endpage(); @@ -2214,10 +2257,10 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface if ($this->bodyBackgroundColor) { $s .= 'q ' . $this->SetFColor($this->bodyBackgroundColor, true) . "\n"; - if ($this->bodyBackgroundColor{0} == 5) { // RGBa - $s .= $this->SetAlpha(ord($this->bodyBackgroundColor{4}) / 100, 'Normal', true, 'F') . "\n"; - } elseif ($this->bodyBackgroundColor{0} == 6) { // CMYKa - $s .= $this->SetAlpha(ord($this->bodyBackgroundColor{5}) / 100, 'Normal', true, 'F') . "\n"; + if ($this->bodyBackgroundColor[0] == 5) { // RGBa + $s .= $this->SetAlpha(ord($this->bodyBackgroundColor[4]) / 100, 'Normal', true, 'F') . "\n"; + } elseif ($this->bodyBackgroundColor[0] == 6) { // CMYKa + $s .= $this->SetAlpha(ord($this->bodyBackgroundColor[5]) / 100, 'Normal', true, 'F') . "\n"; } $s .= sprintf('%.3F %.3F %.3F %.3F re f Q', ($clx * Mpdf::SCALE), ($cly * Mpdf::SCALE), $clw * Mpdf::SCALE, $clh * Mpdf::SCALE) . "\n"; } @@ -2270,9 +2313,13 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface $s = ''; ksort($this->pageBackgrounds); + foreach ($this->pageBackgrounds as $bl => $pbs) { + foreach ($pbs as $pb) { + if ((!isset($pb['image_id']) && !isset($pb['gradient'])) || isset($pb['shadowonly'])) { // Background colour or boxshadow + if ($pb['z-index'] > 0) { $this->current_layer = $pb['z-index']; $s .= "\n" . '/OCBZ-index /ZI' . $pb['z-index'] . ' BDC' . "\n"; @@ -2287,23 +2334,30 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface $s .= '/OC /OC3 BDC' . "\n"; } } + // Box shadow if (isset($pb['shadow']) && $pb['shadow']) { $s .= $pb['shadow'] . "\n"; } + if (isset($pb['clippath']) && $pb['clippath']) { $s .= $pb['clippath'] . "\n"; } + $s .= 'q ' . $this->SetFColor($pb['col'], true) . "\n"; - if ($pb['col']{0} == 5) { // RGBa - $s .= $this->SetAlpha(ord($pb['col']{4}) / 100, 'Normal', true, 'F') . "\n"; - } elseif ($pb['col']{0} == 6) { // CMYKa - $s .= $this->SetAlpha(ord($pb['col']{5}) / 100, 'Normal', true, 'F') . "\n"; + + if ($pb['col'] && $pb['col'][0] === '5') { // RGBa + $s .= $this->SetAlpha(ord($pb['col'][4]) / 100, 'Normal', true, 'F') . "\n"; + } elseif ($pb['col'] && $pb['col'][0] === '6') { // CMYKa + $s .= $this->SetAlpha(ord($pb['col'][5]) / 100, 'Normal', true, 'F') . "\n"; } + $s .= sprintf('%.3F %.3F %.3F %.3F re f Q', $pb['x'] * Mpdf::SCALE, ($this->h - $pb['y']) * Mpdf::SCALE, $pb['w'] * Mpdf::SCALE, -$pb['h'] * Mpdf::SCALE) . "\n"; + if (isset($pb['clippath']) && $pb['clippath']) { $s .= 'Q' . "\n"; } + if ($pb['visibility'] != 'visible') { $s .= 'EMC' . "\n"; } @@ -2314,13 +2368,17 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface } } } + /* -- BACKGROUNDS -- */ foreach ($pbs as $pb) { + if ((isset($pb['gradient']) && $pb['gradient']) || (isset($pb['image_id']) && $pb['image_id'])) { + if ($pb['z-index'] > 0) { $this->current_layer = $pb['z-index']; $s .= "\n" . '/OCGZ-index /ZI' . $pb['z-index'] . ' BDC' . "\n"; } + if ($pb['visibility'] != 'visible') { if ($pb['visibility'] == 'printonly') { $s .= '/OC /OC1 BDC' . "\n"; @@ -2330,29 +2388,42 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface $s .= '/OC /OC3 BDC' . "\n"; } } + } + if (isset($pb['gradient']) && $pb['gradient']) { + if (isset($pb['clippath']) && $pb['clippath']) { $s .= $pb['clippath'] . "\n"; } + $s .= $this->gradient->Gradient($pb['x'], $pb['y'], $pb['w'], $pb['h'], $pb['gradtype'], $pb['stops'], $pb['colorspace'], $pb['coords'], $pb['extend'], true); + if (isset($pb['clippath']) && $pb['clippath']) { $s .= 'Q' . "\n"; } + } elseif (isset($pb['image_id']) && $pb['image_id']) { // Background Image + $pb['y'] -= $adjustmenty; $pb['h'] += $adjustmenty; $n = count($this->patterns) + 1; + list($orig_w, $orig_h, $x_repeat, $y_repeat) = $this->_resizeBackgroundImage($pb['orig_w'], $pb['orig_h'], $pb['w'], $pb['h'], $pb['resize'], $pb['x_repeat'], $pb['y_repeat'], $pb['bpa'], $pb['size']); + $this->patterns[$n] = ['x' => $pb['x'], 'y' => $pb['y'], 'w' => $pb['w'], 'h' => $pb['h'], 'pgh' => $this->h, 'image_id' => $pb['image_id'], 'orig_w' => $orig_w, 'orig_h' => $orig_h, 'x_pos' => $pb['x_pos'], 'y_pos' => $pb['y_pos'], 'x_repeat' => $x_repeat, 'y_repeat' => $y_repeat, 'itype' => $pb['itype'], 'bpa' => $pb['bpa']]; + $x = $pb['x'] * Mpdf::SCALE; $y = ($this->h - $pb['y']) * Mpdf::SCALE; $w = $pb['w'] * Mpdf::SCALE; $h = -$pb['h'] * Mpdf::SCALE; + if (isset($pb['clippath']) && $pb['clippath']) { $s .= $pb['clippath'] . "\n"; } + if ($this->writingHTMLfooter || $this->writingHTMLheader) { // Write each (tiles) image rather than use as a pattern + $iw = $pb['orig_w'] / Mpdf::SCALE; $ih = $pb['orig_h'] / Mpdf::SCALE; @@ -2391,16 +2462,19 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface $ih = $pb['bpa']['h']; } } else { + if (NumericString::containsPercentChar($size['w'])) { $size['w'] = NumericString::removePercentChar($size['w']); $size['w'] /= 100; $size['w'] = ($pb['bpa']['w'] * $size['w']); } + if (NumericString::containsPercentChar($size['h'])) { $size['h'] = NumericString::removePercentChar($size['h']); $size['h'] /= 100; $size['h'] = ($pb['bpa']['h'] * $size['h']); } + if ($size['w'] == 'auto' && $size['h'] == 'auto') { $iw = $iw; $ih = $ih; @@ -2438,11 +2512,13 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface } $y_pos = $pb['y_pos']; + if (stristr($y_pos, '%')) { $y_pos = (float) $y_pos; $y_pos /= 100; $y_pos = ($pb['bpa']['h'] * $y_pos) - ($ih * $y_pos); } + if ($nx > 1) { while ($x_pos > ($pb['x'] - $pb['bpa']['x'])) { $x_pos -= $iw; @@ -2467,6 +2543,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface $s .= sprintf("q %s %.3F 0 0 %.3F %.3F %.3F cm /I%d Do Q", $opac, $iw * Mpdf::SCALE, $ih * Mpdf::SCALE, $x * Mpdf::SCALE, ($this->h - ($y + $ih)) * Mpdf::SCALE, $pb['image_id']) . "\n"; } } + } else { if (($pb['opacity'] > 0 || $pb['opacity'] === '0') && $pb['opacity'] < 1) { $opac = $this->SetAlpha($pb['opacity'], 'Normal', true); @@ -2494,6 +2571,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface } /* -- END BACKGROUNDS -- */ } + return $s; } @@ -2506,10 +2584,10 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface foreach ($pbs as $pb) { if ((!isset($pb['gradient']) || !$pb['gradient']) && (!isset($pb['image_id']) || !$pb['image_id'])) { $s .= 'q ' . $this->SetFColor($pb['col'], true) . "\n"; - if ($pb['col']{0} == 5) { // RGBa - $s .= $this->SetAlpha(ord($pb['col']{4}) / 100, 'Normal', true, 'F') . "\n"; - } elseif ($pb['col']{0} == 6) { // CMYKa - $s .= $this->SetAlpha(ord($pb['col']{5}) / 100, 'Normal', true, 'F') . "\n"; + if ($pb['col'][0] == 5) { // RGBa + $s .= $this->SetAlpha(ord($pb['col'][4]) / 100, 'Normal', true, 'F') . "\n"; + } elseif ($pb['col'][0] == 6) { // CMYKa + $s .= $this->SetAlpha(ord($pb['col'][5]) / 100, 'Normal', true, 'F') . "\n"; } $s .= sprintf('%.3F %.3F %.3F %.3F re %s Q', $pb['x'] * Mpdf::SCALE, ($this->h - $pb['y']) * Mpdf::SCALE, $pb['w'] * Mpdf::SCALE, -$pb['h'] * Mpdf::SCALE, 'f') . "\n"; } @@ -2694,7 +2772,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface } } $this->current_layer = $id; - $this->_out('/OCZ-index /ZI' . $id . ' BDC'); + $this->writer->write('/OCZ-index /ZI' . $id . ' BDC'); $this->pageoutput[$this->page] = []; } @@ -2702,7 +2780,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface function EndLayer() { if ($this->current_layer > 0) { - $this->_out('EMCZ-index'); + $this->writer->write('EMCZ-index'); $this->current_layer = 0; } } @@ -2901,9 +2979,9 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface $this->x = $this->lMargin; $this->y = $this->tMargin; $this->FontFamily = ''; - $this->_out('2 J'); + $this->writer->write('2 J'); $this->LineWidth = $lw; - $this->_out(sprintf('%.3F w', $lw * Mpdf::SCALE)); + $this->writer->write(sprintf('%.3F w', $lw * Mpdf::SCALE)); if ($family) { $this->SetFont($family, $style, $size, true, true); @@ -2912,13 +2990,13 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface $this->DrawColor = $dc; if ($dc != $this->defDrawColor) { - $this->_out($dc); + $this->writer->write($dc); } $this->FillColor = $fc; if ($fc != $this->defFillColor) { - $this->_out($fc); + $this->writer->write($fc); } $this->TextColor = $tc; @@ -3105,36 +3183,51 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface } // Start new page + $pageBeforeNewPage = $this->page; $this->_beginpage($orientation, $mgl, $mgr, $mgt, $mgb, $mgh, $mgf, $ohname, $ehname, $ofname, $efname, $ohvalue, $ehvalue, $ofvalue, $efvalue, $pagesel, $newformat); + $isNewPage = $pageBeforeNewPage !== $this->page; if ($this->docTemplate) { - $pagecount = $this->SetSourceFile($this->docTemplate); + $currentReaderId = $this->currentReaderId; + + $pagecount = $this->setSourceFile($this->docTemplate); if (($this->page - $this->docTemplateStart) > $pagecount) { if ($this->docTemplateContinue) { - $tplIdx = $this->ImportPage($pagecount); - $this->UseTemplate($tplIdx); + if ($this->docTemplateContinue2pages && $pagecount >= 2 && (0 === $this->page % 2)) { + $tplIdx = $this->importPage(($pagecount - 1)); + $this->useTemplate($tplIdx); + } else { + $tplIdx = $this->importPage($pagecount); + $this->useTemplate($tplIdx); + } } } else { - $tplIdx = $this->ImportPage(($this->page - $this->docTemplateStart)); - $this->UseTemplate($tplIdx); + $tplIdx = $this->importPage(($this->page - $this->docTemplateStart)); + $this->useTemplate($tplIdx); } + + $this->currentReaderId = $currentReaderId; } if ($this->pageTemplate) { - $this->UseTemplate($this->pageTemplate); + $this->useTemplate($this->pageTemplate); + } + + // Only add the headers if it's a new page + if ($isNewPage) { + // Tiling Patterns + $this->writer->write('___PAGE___START' . $this->uniqstr); + $this->writer->write('___BACKGROUND___PATTERNS' . $this->uniqstr); + $this->writer->write('___HEADER___MARKER' . $this->uniqstr); } - // Tiling Patterns - $this->_out('___PAGE___START' . $this->uniqstr); - $this->_out('___BACKGROUND___PATTERNS' . $this->uniqstr); - $this->_out('___HEADER___MARKER' . $this->uniqstr); $this->pageBackgrounds = []; // Set line cap style to square $this->SetLineCap(2); // Set line width $this->LineWidth = $lw; - $this->_out(sprintf('%.3F w', $lw * Mpdf::SCALE)); + $this->writer->write(sprintf('%.3F w', $lw * Mpdf::SCALE)); // Set font if ($family) { $this->SetFont($family, $style, $size, true, true); // forces write @@ -3143,11 +3236,11 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface // Set colors $this->DrawColor = $dc; if ($dc != $this->defDrawColor) { - $this->_out($dc); + $this->writer->write($dc); } $this->FillColor = $fc; if ($fc != $this->defFillColor) { - $this->_out($fc); + $this->writer->write($fc); } $this->TextColor = $tc; $this->ColorFlag = $cf; @@ -3158,7 +3251,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface // Restore line width if ($this->LineWidth != $lw) { $this->LineWidth = $lw; - $this->_out(sprintf('%.3F w', $lw * Mpdf::SCALE)); + $this->writer->write(sprintf('%.3F w', $lw * Mpdf::SCALE)); } // Restore font if ($family) { @@ -3168,11 +3261,11 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface // Restore colors if ($this->DrawColor != $dc) { $this->DrawColor = $dc; - $this->_out($dc); + $this->writer->write($dc); } if ($this->FillColor != $fc) { $this->FillColor = $fc; - $this->_out($fc); + $this->writer->write($fc); } $this->TextColor = $tc; $this->ColorFlag = $cf; @@ -3266,14 +3359,14 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface if (!$col) { return ''; } // mPDF 6 - if ($col{0} == 3 || $col{0} == 5) { // RGB / RGBa - $out = sprintf('%.3F %.3F %.3F rg', ord($col{1}) / 255, ord($col{2}) / 255, ord($col{3}) / 255); - } elseif ($col{0} == 1) { // GRAYSCALE - $out = sprintf('%.3F g', ord($col{1}) / 255); - } elseif ($col{0} == 2) { // SPOT COLOR - $out = sprintf('/CS%d cs %.3F scn', ord($col{1}), ord($col{2}) / 100); - } elseif ($col{0} == 4 || $col{0} == 6) { // CMYK / CMYKa - $out = sprintf('%.3F %.3F %.3F %.3F k', ord($col{1}) / 100, ord($col{2}) / 100, ord($col{3}) / 100, ord($col{4}) / 100); + if ($col[0] == 3 || $col[0] == 5) { // RGB / RGBa + $out = sprintf('%.3F %.3F %.3F rg', ord($col[1]) / 255, ord($col[2]) / 255, ord($col[3]) / 255); + } elseif ($col[0] == 1) { // GRAYSCALE + $out = sprintf('%.3F g', ord($col[1]) / 255); + } elseif ($col[0] == 2) { // SPOT COLOR + $out = sprintf('/CS%d cs %.3F scn', ord($col[1]), ord($col[2]) / 100); + } elseif ($col[0] == 4 || $col[0] == 6) { // CMYK / CMYKa + $out = sprintf('%.3F %.3F %.3F %.3F k', ord($col[1]) / 100, ord($col[2]) / 100, ord($col[3]) / 100, ord($col[4]) / 100); } if ($type == 'Draw') { $out = strtoupper($out); @@ -3295,7 +3388,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface } $this->DrawColor = $out; if ($this->page > 0 && ((isset($this->pageoutput[$this->page]['DrawColor']) && $this->pageoutput[$this->page]['DrawColor'] != $this->DrawColor) || !isset($this->pageoutput[$this->page]['DrawColor']))) { - $this->_out($this->DrawColor); + $this->writer->write($this->DrawColor); } $this->pageoutput[$this->page]['DrawColor'] = $this->DrawColor; } @@ -3312,7 +3405,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface $this->FillColor = $out; $this->ColorFlag = ($out != $this->TextColor); if ($this->page > 0 && ((isset($this->pageoutput[$this->page]['FillColor']) && $this->pageoutput[$this->page]['FillColor'] != $this->FillColor) || !isset($this->pageoutput[$this->page]['FillColor']))) { - $this->_out($this->FillColor); + $this->writer->write($this->FillColor); } $this->pageoutput[$this->page]['FillColor'] = $this->FillColor; } @@ -3405,11 +3498,8 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface if (isset($cw[$u * 2 + 1])) { $w = (ord($cw[$u * 2]) << 8) + ord($cw[$u * 2 + 1]); } - if ($w) { - return true; - } else { - return false; - } + + return (bool) $w; } function GetCharWidthCore($c) @@ -3658,7 +3748,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface $this->LineWidth = $width; $lwout = (sprintf('%.3F w', $width * Mpdf::SCALE)); if ($this->page > 0 && ((isset($this->pageoutput[$this->page]['LineWidth']) && $this->pageoutput[$this->page]['LineWidth'] != $lwout) || !isset($this->pageoutput[$this->page]['LineWidth']))) { - $this->_out($lwout); + $this->writer->write($lwout); } $this->pageoutput[$this->page]['LineWidth'] = $lwout; } @@ -3666,7 +3756,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface function Line($x1, $y1, $x2, $y2) { // Draw a line - $this->_out(sprintf('%.3F %.3F m %.3F %.3F l S', $x1 * Mpdf::SCALE, ($this->h - $y1) * Mpdf::SCALE, $x2 * Mpdf::SCALE, ($this->h - $y2) * Mpdf::SCALE)); + $this->writer->write(sprintf('%.3F %.3F m %.3F %.3F l S', $x1 * Mpdf::SCALE, ($this->h - $y1) * Mpdf::SCALE, $x2 * Mpdf::SCALE, ($this->h - $y2) * Mpdf::SCALE)); } function Arrow($x1, $y1, $x2, $y2, $headsize = 3, $fill = 'B', $angle = 25) @@ -3693,12 +3783,12 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface $s = ''; $s .= sprintf('%.3F %.3F m %.3F %.3F l S', $x1 * Mpdf::SCALE, ($this->h - $y1) * Mpdf::SCALE, $x5 * Mpdf::SCALE, $y5 * Mpdf::SCALE); - $this->_out($s); + $this->writer->write($s); $s = ''; $s .= sprintf('%.3F %.3F m %.3F %.3F l %.3F %.3F l %.3F %.3F l %.3F %.3F l ', $x5 * Mpdf::SCALE, $y5 * Mpdf::SCALE, $x3 * Mpdf::SCALE, $y3 * Mpdf::SCALE, $x2 * Mpdf::SCALE, ($this->h - $y2) * Mpdf::SCALE, $x4 * Mpdf::SCALE, $y4 * Mpdf::SCALE, $x5 * Mpdf::SCALE, $y5 * Mpdf::SCALE); $s .= $fill; - $this->_out($s); + $this->writer->write($s); } function Rect($x, $y, $w, $h, $style = '') @@ -3711,7 +3801,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface } else { $op = 'S'; } - $this->_out(sprintf('%.3F %.3F %.3F %.3F re %s', $x * Mpdf::SCALE, ($this->h - $y) * Mpdf::SCALE, $w * Mpdf::SCALE, -$h * Mpdf::SCALE, $op)); + $this->writer->write(sprintf('%.3F %.3F %.3F %.3F re %s', $x * Mpdf::SCALE, ($this->h - $y) * Mpdf::SCALE, $w * Mpdf::SCALE, -$h * Mpdf::SCALE, $op)); } function AddFontDirectory($directory) @@ -3764,66 +3854,66 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface throw new \Mpdf\MpdfException(sprintf('Font "%s%s%s" is not supported', $family, $style ? ' - ' : '', $style)); } - $name = ''; - $cw = ''; - $glyphIDtoUni = ''; - $originalsize = 0; - $sip = false; - $smp = false; - $useOTL = 0; // mPDF 5.7.1 - $fontmetrics = ''; // mPDF 6 - $haskerninfo = false; - $haskernGPOS = false; - $hassmallcapsGSUB = false; - $BMPselected = false; - $GSUBScriptLang = []; - $GSUBFeatures = []; - $GSUBLookups = []; - $GPOSScriptLang = []; - $GPOSFeatures = []; - $GPOSLookups = []; + /* Setup defaults */ + $font = [ + 'name' => '', + 'type' => '', + 'desc' => '', + 'panose' => '', + 'unitsPerEm' => '', + 'up' => '', + 'ut' => '', + 'strs' => '', + 'strp' => '', + 'sip' => false, + 'smp' => false, + 'useOTL' => 0, + 'fontmetrics' => '', + 'haskerninfo' => false, + 'haskernGPOS' => false, + 'hassmallcapsGSUB' => false, + 'BMPselected' => false, + 'GSUBScriptLang' => [], + 'GSUBFeatures' => [], + 'GSUBLookups' => [], + 'GPOSScriptLang' => [], + 'GPOSFeatures' => [], + 'GPOSLookups' => [], + 'rtlPUAstr' => '', + ]; - if ($this->fontCache->has($fontkey . '.mtx.php')) { - require $this->fontCache->tempFilename($fontkey . '.mtx.php'); + $fontCacheFilename = $fontkey . '.mtx.json'; + if ($this->fontCache->jsonHas($fontCacheFilename)) { + $font = $this->fontCache->jsonLoad($fontCacheFilename); } $ttffile = $this->fontFileFinder->findFontFile($this->fontdata[$family][$stylekey]); $ttfstat = stat($ttffile); - if (isset($this->fontdata[$family]['TTCfontID'][$stylekey])) { - $TTCfontID = $this->fontdata[$family]['TTCfontID'][$stylekey]; - } else { - $TTCfontID = 0; - } - + $TTCfontID = isset($this->fontdata[$family]['TTCfontID'][$stylekey]) ? isset($this->fontdata[$family]['TTCfontID'][$stylekey]) : 0; $fontUseOTL = isset($this->fontdata[$family]['useOTL']) ? $this->fontdata[$family]['useOTL'] : false; - - $BMPonly = false; - if (in_array($family, $this->BMPonly)) { - $BMPonly = true; - } + $BMPonly = in_array($family, $this->BMPonly) ? true : false; $regenerate = false; - if ($BMPonly && !$BMPselected) { + if ($BMPonly && !$font['BMPselected']) { $regenerate = true; - } elseif (!$BMPonly && $BMPselected) { + } elseif (!$BMPonly && $font['BMPselected']) { $regenerate = true; } - // mPDF 5.7.1 - if ($fontUseOTL && $useOTL != $fontUseOTL) { + if ($fontUseOTL && $font['useOTL'] != $fontUseOTL) { $regenerate = true; - $useOTL = $fontUseOTL; - } elseif (!$fontUseOTL && $useOTL) { + $font['useOTL'] = $fontUseOTL; + } elseif (!$fontUseOTL && $font['useOTL']) { $regenerate = true; - $useOTL = 0; + $font['useOTL'] = 0; } - if ($this->fontDescriptor != $fontmetrics) { + if ($this->fontDescriptor != $font['fontmetrics']) { $regenerate = true; } // mPDF 6 - if (empty($name) || $originalsize != $ttfstat['size'] || $regenerate) { + if (empty($font['name']) || $font['originalsize'] != $ttfstat['size'] || $regenerate) { $generator = new MetricsGenerator($this->fontCache, $this->fontDescriptor); $generator->generateMetrics( @@ -3833,11 +3923,11 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface $TTCfontID, $this->debugfonts, $BMPonly, - $useOTL, + $font['useOTL'], $fontUseOTL ); - require $this->fontCache->tempFilename($fontkey . '.mtx.php'); + $font = $this->fontCache->jsonLoad($fontCacheFilename); $cw = $this->fontCache->load($fontkey . '.cw.dat'); $glyphIDtoUni = $this->fontCache->load($fontkey . '.gid.dat'); } else { @@ -3868,92 +3958,60 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface } $i = count($this->fonts) + $this->extraFontSubsets + 1; - if ($sip || $smp) { - $this->fonts[$fontkey] = [ - 'i' => $i, - 'type' => $type, - 'name' => $name, - 'desc' => $desc, - 'panose' => $panose, - 'unitsPerEm' => $unitsPerEm, - 'up' => $up, - 'ut' => $ut, - 'strs' => $strs, - 'strp' => $strp, - 'cw' => $cw, - 'ttffile' => $ttffile, - 'fontkey' => $fontkey, - 'subsets' => [0 => range(0, 127)], - 'subsetfontids' => [$i], - 'used' => false, - 'sip' => $sip, - 'sipext' => $sipext, - 'smp' => $smp, - 'TTCfontID' => $TTCfontID, - 'useOTL' => $fontUseOTL, - 'useKashida' => (isset($this->fontdata[$family]['useKashida']) ? $this->fontdata[$family]['useKashida'] : false), - 'GSUBScriptLang' => $GSUBScriptLang, - 'GSUBFeatures' => $GSUBFeatures, - 'GSUBLookups' => $GSUBLookups, - 'GPOSScriptLang' => $GPOSScriptLang, - 'GPOSFeatures' => $GPOSFeatures, - 'GPOSLookups' => $GPOSLookups, - 'rtlPUAstr' => $rtlPUAstr, - 'glyphIDtoUni' => $glyphIDtoUni, - 'haskerninfo' => $haskerninfo, - 'haskernGPOS' => $haskernGPOS, - 'hassmallcapsGSUB' => $hassmallcapsGSUB]; // mPDF 5.7.1 // mPDF 6 + + $this->fonts[$fontkey] = [ + 'i' => $i, + 'name' => $font['name'], + 'type' => $font['type'], + 'desc' => $font['desc'], + 'panose' => $font['panose'], + 'unitsPerEm' => $font['unitsPerEm'], + 'up' => $font['up'], + 'ut' => $font['ut'], + 'strs' => $font['strs'], + 'strp' => $font['strp'], + 'cw' => $cw, + 'ttffile' => $ttffile, + 'fontkey' => $fontkey, + 'used' => false, + 'sip' => $font['sip'], + 'sipext' => $sipext, + 'smp' => $font['smp'], + 'TTCfontID' => $TTCfontID, + 'useOTL' => $fontUseOTL, + 'useKashida' => (isset($this->fontdata[$family]['useKashida']) ? $this->fontdata[$family]['useKashida'] : false), + 'GSUBScriptLang' => $font['GSUBScriptLang'], + 'GSUBFeatures' => $font['GSUBFeatures'], + 'GSUBLookups' => $font['GSUBLookups'], + 'GPOSScriptLang' => $font['GPOSScriptLang'], + 'GPOSFeatures' => $font['GPOSFeatures'], + 'GPOSLookups' => $font['GPOSLookups'], + 'rtlPUAstr' => $font['rtlPUAstr'], + 'glyphIDtoUni' => $glyphIDtoUni, + 'haskerninfo' => $font['haskerninfo'], + 'haskernGPOS' => $font['haskernGPOS'], + 'hassmallcapsGSUB' => $font['hassmallcapsGSUB'], + ]; + + + if (!$font['sip'] && !$font['smp']) { + $subsetRange = range(32, 127); + $this->fonts[$fontkey]['subset'] = array_combine($subsetRange, $subsetRange); } else { - $ss = []; - for ($s = 32; $s < 128; $s++) { - $ss[$s] = $s; - } - $this->fonts[$fontkey] = [ - 'i' => $i, - 'type' => $type, - 'name' => $name, - 'desc' => $desc, - 'panose' => $panose, - 'unitsPerEm' => $unitsPerEm, - 'up' => $up, - 'ut' => $ut, - 'strs' => $strs, - 'strp' => $strp, - 'cw' => $cw, - 'ttffile' => $ttffile, - 'fontkey' => $fontkey, - 'subset' => $ss, - 'used' => false, - 'sip' => $sip, - 'sipext' => $sipext, - 'smp' => $smp, - 'TTCfontID' => $TTCfontID, - 'useOTL' => $fontUseOTL, - 'useKashida' => (isset($this->fontdata[$family]['useKashida']) ? $this->fontdata[$family]['useKashida'] : false), - 'GSUBScriptLang' => $GSUBScriptLang, - 'GSUBFeatures' => $GSUBFeatures, - 'GSUBLookups' => $GSUBLookups, - 'GPOSScriptLang' => $GPOSScriptLang, - 'GPOSFeatures' => $GPOSFeatures, - 'GPOSLookups' => $GPOSLookups, - 'rtlPUAstr' => $rtlPUAstr, - 'glyphIDtoUni' => $glyphIDtoUni, - 'haskerninfo' => $haskerninfo, - 'haskernGPOS' => $haskernGPOS, - 'hassmallcapsGSUB' => $hassmallcapsGSUB - ]; + $this->fonts[$fontkey]['subsets'] = [0 => range(0, 127)]; + $this->fonts[$fontkey]['subsetfontids'] = [$i]; } - if ($haskerninfo) { - $this->fonts[$fontkey]['kerninfo'] = $kerninfo; + if ($font['haskerninfo']) { + $this->fonts[$fontkey]['kerninfo'] = $font['kerninfo']; } $this->FontFiles[$fontkey] = [ - 'length1' => $originalsize, + 'length1' => $font['originalsize'], 'type' => 'TTF', 'ttffile' => $ttffile, - 'sip' => $sip, - 'smp' => $smp + 'sip' => $font['sip'], + 'smp' => $font['smp'], ]; unset($cw); @@ -4028,13 +4086,15 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface $style = 'BI'; } } - if ($size == 0) { + + if (!$size) { $size = $this->FontSizePt; } $fontkey = $family . $style; $stylekey = $style; + if (!$stylekey) { $stylekey = "R"; } @@ -4140,7 +4200,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface if ($write) { $fontout = (sprintf('BT /F%d %.3F Tf ET', $this->CurrentFont['i'], $this->FontSizePt)); if ($this->page > 0 && ((isset($this->pageoutput[$this->page]['Font']) && $this->pageoutput[$this->page]['Font'] != $fontout) || !isset($this->pageoutput[$this->page]['Font']))) { - $this->_out($fontout); + $this->writer->write($fontout); } $this->pageoutput[$this->page]['Font'] = $fontout; } @@ -4208,7 +4268,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface if ($write) { $fontout = (sprintf('BT /F%d %.3F Tf ET', $this->CurrentFont['i'], $this->FontSizePt)); if ($this->page > 0 && ((isset($this->pageoutput[$this->page]['Font']) && $this->pageoutput[$this->page]['Font'] != $fontout) || !isset($this->pageoutput[$this->page]['Font']))) { - $this->_out($fontout); + $this->writer->write($fontout); } $this->pageoutput[$this->page]['Font'] = $fontout; } @@ -4234,7 +4294,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface $fontout = (sprintf('BT /F%d %.3F Tf ET', $this->CurrentFont['i'], $this->FontSizePt)); // Edited mPDF 3.0 if ($this->page > 0 && ((isset($this->pageoutput[$this->page]['Font']) && $this->pageoutput[$this->page]['Font'] != $fontout) || !isset($this->pageoutput[$this->page]['Font']))) { - $this->_out($fontout); + $this->writer->write($fontout); } $this->pageoutput[$this->page]['Font'] = $fontout; } @@ -4335,8 +4395,8 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface // IF corefonts AND NOT SmCaps AND NOT Kerning // Just output text if ($this->usingCoreFont && !($textvar & TextVars::FC_SMALLCAPS) && !($textvar & TextVars::FC_KERNING)) { - $txt2 = $this->_escape($txt2); - $s .=sprintf('BT ' . $aix . ' (%s) Tj ET', $px, $py, $txt2); + $txt2 = $this->writer->escape($txt2); + $s .= sprintf('BT ' . $aix . ' (%s) Tj ET', $px, $py, $txt2); } // IF NOT corefonts [AND NO wordspacing] AND NOT SIP/SMP AND NOT SmCaps AND NOT Kerning AND NOT OTL // Just output text elseif (!$this->usingCoreFont && !($textvar & TextVars::FC_SMALLCAPS) && !($textvar & TextVars::FC_KERNING) && !(isset($this->CurrentFont['useOTL']) && ($this->CurrentFont['useOTL'] & 0xFF) && !empty($OTLdata['GPOSinfo']))) { @@ -4346,8 +4406,8 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface $s .=sprintf('BT ' . $aix . ' %s Tj ET', $px, $py, $txt2); } // NOT SIP/SMP else { - $txt2 = $this->UTF8ToUTF16BE($txt2, false); - $txt2 = $this->_escape($txt2); + $txt2 = $this->writer->utf8ToUtf16BigEndian($txt2, false); + $txt2 = $this->writer->escape($txt2); $s .=sprintf('BT ' . $aix . ' (%s) Tj ET', $px, $py, $txt2); } } // IF NOT corefonts [AND IS wordspacing] AND NOT SIP AND NOT SmCaps AND NOT Kerning AND NOT OTL @@ -4415,7 +4475,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface if ($return) { return $s . " \n"; } - $this->_out($s); + $this->writer->write($s); } /* -- DIRECTW -- */ @@ -4506,11 +4566,11 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface function ResetSpacing() { if ($this->ws != 0) { - $this->_out('BT 0 Tw ET'); + $this->writer->write('BT 0 Tw ET'); } $this->ws = 0; if ($this->charspacing != 0) { - $this->_out('BT 0 Tc ET'); + $this->writer->write('BT 0 Tc ET'); } $this->charspacing = 0; } @@ -4521,18 +4581,18 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface $cs = 0; } if ($cs) { - $this->_out(sprintf('BT %.3F Tc ET', $cs)); + $this->writer->write(sprintf('BT %.3F Tc ET', $cs)); } elseif ($this->charspacing != 0) { - $this->_out('BT 0 Tc ET'); + $this->writer->write('BT 0 Tc ET'); } $this->charspacing = $cs; if (intval($ws * 1000) == 0) { $ws = 0; } if ($ws) { - $this->_out(sprintf('BT %.3F Tw ET', $ws)); + $this->writer->write(sprintf('BT %.3F Tw ET', $ws)); } elseif ($this->ws != 0) { - $this->_out('BT 0 Tw ET'); + $this->writer->write('BT 0 Tw ET'); } $this->ws = $ws; } @@ -4562,7 +4622,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface for ($c = 0; $c < count($cOTLdata); $c++) { for ($i = 0; $i < strlen($cOTLdata[$c]['group']); $i++) { - if ($cOTLdata[$c]['group']{$i} == 'S') { + if ($cOTLdata[$c]['group'][$i] == 'S') { // Save from last word if ($max_kashida_in_word) { $k_ctr++; @@ -4696,7 +4756,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface || ($this->y + $h > $this->PageBreakTrigger) || ( $this->y + ($h * 2) + $bottom > $this->PageBreakTrigger - && $this->blk[$this->blklvl]['page_break_after_avoid'] + && (isset($this->blk[$this->blklvl]['page_break_after_avoid']) && $this->blk[$this->blklvl]['page_break_after_avoid']) ) ) && !$this->InFooter @@ -5120,8 +5180,8 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface // IF corefonts AND NOT SmCaps AND NOT Kerning // Just output text; charspacing and wordspacing already set by charspacing (Tc) and ws (Tw) if ($this->usingCoreFont && !($textvar & TextVars::FC_SMALLCAPS) && !($textvar & TextVars::FC_KERNING)) { - $txt2 = $this->_escape($txt2); - $sub .=sprintf('BT ' . $aix . ' (%s) Tj ET', $px, $py, $txt2); + $txt2 = $this->writer->escape($txt2); + $sub .= sprintf('BT ' . $aix . ' (%s) Tj ET', $px, $py, $txt2); } // IF NOT corefonts AND NO wordspacing AND NOT SIP/SMP AND NOT SmCaps AND NOT Kerning AND NOT OTL // Just output text elseif (!$this->usingCoreFont && !$this->ws && !($textvar & TextVars::FC_SMALLCAPS) && !($textvar & TextVars::FC_KERNING) && !(isset($this->CurrentFont['useOTL']) && ($this->CurrentFont['useOTL'] & 0xFF) && !empty($OTLdata['GPOSinfo']))) { @@ -5131,8 +5191,8 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface $sub .=sprintf('BT ' . $aix . ' %s Tj ET', $px, $py, $txt2); } // NOT SIP/SMP else { - $txt2 = $this->UTF8ToUTF16BE($txt2, false); - $txt2 = $this->_escape($txt2); + $txt2 = $this->writer->utf8ToUtf16BigEndian($txt2, false); + $txt2 = $this->writer->escape($txt2); $sub .=sprintf('BT ' . $aix . ' (%s) Tj ET', $px, $py, $txt2); } } // IF NOT corefonts AND IS wordspacing AND NOT SIP AND NOT SmCaps AND NOT Kerning AND NOT OTL @@ -5140,15 +5200,15 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface // IF multibyte - Tw has no effect - need to do word spacing using an adjustment before each space elseif (!$this->usingCoreFont && $this->ws && !((isset($this->CurrentFont['sip']) && $this->CurrentFont['sip']) || (isset($this->CurrentFont['smp']) && $this->CurrentFont['smp'])) && !($textvar & TextVars::FC_SMALLCAPS) && !($textvar & TextVars::FC_KERNING) && !(isset($this->CurrentFont['useOTL']) && ($this->CurrentFont['useOTL'] & 0xFF) && (!empty($OTLdata['GPOSinfo']) || (strpos($OTLdata['group'], 'M') !== false && $this->charspacing)) )) { $space = " "; - $space = $this->UTF8ToUTF16BE($space, false); - $space = $this->_escape($space); + $space = $this->writer->utf8ToUtf16BigEndian($space, false); + $space = $this->writer->escape($space); $sub .=sprintf('BT ' . $aix . ' %.3F Tc [', $px, $py, $this->charspacing); $t = explode(' ', $txt2); $numt = count($t); for ($i = 0; $i < $numt; $i++) { $tx = $t[$i]; - $tx = $this->UTF8ToUTF16BE($tx, false); - $tx = $this->_escape($tx); + $tx = $this->writer->utf8ToUtf16BigEndian($tx, false); + $tx = $this->writer->escape($tx); $sub .=sprintf('(%s) ', $tx); if (($i + 1) < $numt) { $adj = -($this->ws) * 1000 / $this->FontSizePt; @@ -5302,12 +5362,12 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface foreach ($this->textshadow as $ts) { $s .= ' q '; $s .= $this->SetTColor($ts['col'], true) . "\n"; - if ($ts['col']{0} == 5 && ord($ts['col']{4}) < 100) { // RGBa - $s .= $this->SetAlpha(ord($ts['col']{4}) / 100, 'Normal', true, 'F') . "\n"; - } elseif ($ts['col']{0} == 6 && ord($ts['col']{5}) < 100) { // CMYKa - $s .= $this->SetAlpha(ord($ts['col']{5}) / 100, 'Normal', true, 'F') . "\n"; - } elseif ($ts['col']{0} == 1 && $ts['col']{2} == 1 && ord($ts['col']{3}) < 100) { // Gray - $s .= $this->SetAlpha(ord($ts['col']{3}) / 100, 'Normal', true, 'F') . "\n"; + if ($ts['col'][0] == 5 && ord($ts['col'][4]) < 100) { // RGBa + $s .= $this->SetAlpha(ord($ts['col'][4]) / 100, 'Normal', true, 'F') . "\n"; + } elseif ($ts['col'][0] == 6 && ord($ts['col'][5]) < 100) { // CMYKa + $s .= $this->SetAlpha(ord($ts['col'][5]) / 100, 'Normal', true, 'F') . "\n"; + } elseif ($ts['col'][0] == 1 && $ts['col'][2] == 1 && ord($ts['col'][3]) < 100) { // Gray + $s .= $this->SetAlpha(ord($ts['col'][3]) / 100, 'Normal', true, 'F') . "\n"; } $s .= sprintf(' 1 0 0 1 %.4F %.4F cm', $ts['x'] * Mpdf::SCALE, -$ts['y'] * Mpdf::SCALE) . "\n"; $s .= $sub; @@ -5328,12 +5388,12 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface } } if ($s) { - $this->_out($s); + $this->writer->write($s); } // WORD SPACING if ($this->ws && !$this->usingCoreFont) { - $this->_out(sprintf('BT %.3F Tc ET', $this->charspacing)); + $this->writer->write(sprintf('BT %.3F Tc ET', $this->charspacing)); } $this->lasth = $h; if (strpos($txt, "\n") !== false) { @@ -5543,9 +5603,9 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface if ($this->usingCoreFont) { $tx = utf8_decode($tx); } else { - $tx = $this->UTF8ToUTF16BE($tx, false); + $tx = $this->writer->utf8ToUtf16BigEndian($tx, false); } - $tx = $this->_escape($tx); + $tx = $this->writer->escape($tx); } // If any settings require a new Text Group @@ -5589,7 +5649,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface // Get YPlacement from next Base character $nextbase = $i + 1; - while ($OTLdata['group']{$nextbase} != 'C') { + while ($OTLdata['group'][$nextbase] != 'C') { $nextbase++; } if (isset($GPOSinfo[$nextbase]) && isset($GPOSinfo[$nextbase]['YPlacement']) && $GPOSinfo[$nextbase]['YPlacement']) { @@ -5622,8 +5682,8 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface } } else { $tx = UtfString::code2utf($c); - $tx = $this->UTF8ToUTF16BE($tx, false); - $tx = $this->_escape($tx); + $tx = $this->writer->utf8ToUtf16BigEndian($tx, false); + $tx = $this->writer->escape($tx); } if ($kashida > $tatw) { @@ -5710,8 +5770,8 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface if ($mode == 'MBTw') { // Multibyte requiring word spacing $space = ' '; // Convert string to UTF-16BE without BOM - $space = $this->UTF8ToUTF16BE($space, false); - $space = $this->_escape($space); + $space = $this->writer->utf8ToUtf16BigEndian($space, false); + $space = $this->writer->escape($space); $s = sprintf(' BT ' . $aix, $x * Mpdf::SCALE, ($this->h - $y) * Mpdf::SCALE); $t = explode(' ', $txt); for ($i = 0; $i < count($t); $i++) { @@ -5725,8 +5785,8 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface $tj .= sprintf(')%d(', $kern); } $tc = UtfString::code2utf($unicode[$ti]); - $tc = $this->UTF8ToUTF16BE($tc, false); - $tj .= $this->_escape($tc); + $tc = $this->writer->utf8ToUtf16BigEndian($tc, false); + $tj .= $this->writer->escape($tc); } $tj .= ')'; $s .= sprintf(' %.3F Tc [%s] TJ', $this->charspacing, $tj); @@ -5747,8 +5807,8 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface $tj .= sprintf(')%d(', $kern); } $tx = UtfString::code2utf($unicode[$i]); - $tx = $this->UTF8ToUTF16BE($tx, false); - $tj .= $this->_escape($tx); + $tx = $this->writer->utf8ToUtf16BigEndian($tx, false); + $tj .= $this->writer->escape($tx); } $tj .= ')'; $s .= sprintf(' BT ' . $aix . ' [%s] TJ ET ', $x * Mpdf::SCALE, ($this->h - $y) * Mpdf::SCALE, $tj); @@ -5761,7 +5821,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface $kern = -$this->CurrentFont['kerninfo'][$txt[($i - 1)]][$txt[$i]]; $tj .= sprintf(')%d(', $kern); } - $tj .= $this->_escape($txt[$i]); + $tj .= $this->writer->escape($txt[$i]); } $tj .= ')'; $s .= sprintf(' BT ' . $aix . ' [%s] TJ ET ', $x * Mpdf::SCALE, ($this->h - $y) * Mpdf::SCALE, $tj); @@ -5770,28 +5830,49 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface return $s; } - function MultiCell($w, $h, $txt, $border = 0, $align = '', $fill = 0, $link = '', $directionality = 'ltr', $encoded = false, $OTLdata = false, $maxrows = false) - { + function MultiCell( + $w, + $h, + $txt, + $border = 0, + $align = '', + $fill = 0, + $link = '', + $directionality = 'ltr', + $encoded = false, + $OTLdata = false, + $maxrows = false + ) { // maxrows is called from mpdfform->TEXTAREA - // Parameter (pre-)encoded - When called internally from form::textarea - mb_encoding already done and OTL - but not reverse RTL + // Parameter (pre-)encoded - When called internally from form::textarea - + // mb_encoding already done and OTL - but not reverse RTL if (!$encoded) { + $txt = $this->purify_utf8_text($txt); + if ($this->text_input_as_HTML) { $txt = $this->all_entities_to_utf8($txt); } + if ($this->usingCoreFont) { $txt = mb_convert_encoding($txt, $this->mb_enc, 'UTF-8'); } + if (preg_match("/([" . $this->pregRTLchars . "])/u", $txt)) { $this->biDirectional = true; - } // *OTL* + } + /* -- OTL -- */ - $OTLdata = []; + if (!is_array($OTLdata)) { + unset($OTLdata); + } + // Use OTL OpenType Table Layout - GSUB & GPOS if (isset($this->CurrentFont['useOTL']) && $this->CurrentFont['useOTL']) { $txt = $this->otl->applyOTL($txt, $this->CurrentFont['useOTL']); $OTLdata = $this->otl->OTLdata; } + if ($directionality == 'rtl' || $this->biDirectional) { if (!isset($OTLdata)) { $unicode = $this->UTF8StringToArray($txt, false); @@ -5801,17 +5882,20 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface } /* -- END OTL -- */ } + if (!$align) { $align = $this->defaultAlign; } // Output text with automatic or explicit line breaks $cw = &$this->CurrentFont['cw']; + if ($w == 0) { $w = $this->w - $this->rMargin - $this->x; } $wmax = ($w - ($this->cMarginL + $this->cMarginR)); + if ($this->usingCoreFont) { $s = str_replace("\r", '', $txt); $nb = strlen($s); @@ -5825,8 +5909,11 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface $nb--; } } + $b = 0; + if ($border) { + if ($border == 1) { $border = 'LTRB'; $b = 'LRT'; @@ -5842,6 +5929,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface $b = is_int(strpos($border, 'T')) ? $b2 . 'T' : $b2; } } + $sep = -1; $i = 0; $j = 0; @@ -5853,19 +5941,25 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface $start_y = $this->y; if (!$this->usingCoreFont) { + $inclCursive = false; + if (preg_match("/([" . $this->pregCURSchars . "])/u", $s)) { $inclCursive = true; } + while ($i < $nb) { + // Get next character $c = mb_substr($s, $i, 1, $this->mb_enc); - if ($c == "\n") { - // Explicit line break + + if ($c === "\n") { // Explicit line break + // WORD SPACING $this->ResetSpacing(); $tmp = rtrim(mb_substr($s, $j, $i - $j, $this->mb_enc)); $tmpOTLdata = false; + /* -- OTL -- */ if (isset($OTLdata)) { $tmpOTLdata = $this->otl->sliceOTLdata($OTLdata, $j, $i - $j); @@ -5873,21 +5967,27 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface $this->magic_reverse_dir($tmp, $directionality, $tmpOTLdata); } /* -- END OTL -- */ + $this->Cell($w, $h, $tmp, $b, 2, $align, $fill, $link, 0, 0, 0, 'M', 0, false, $tmpOTLdata); + if ($maxrows != false && isset($this->form) && ($this->y - $start_y) / $h > $maxrows) { return false; } + $i++; $sep = -1; $j = $i; $l = 0; $ns = 0; $nl++; + if ($border and $nl == 2) { $b = $b2; } + continue; } + if ($c == " ") { $sep = $i; $ls = $l; @@ -5897,15 +5997,19 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface $l += $this->GetCharWidthNonCore($c); if ($l > $wmax) { + // Automatic line break if ($sep == -1) { // Only one word + if ($i == $j) { $i++; } + // WORD SPACING $this->ResetSpacing(); $tmp = rtrim(mb_substr($s, $j, $i - $j, $this->mb_enc)); $tmpOTLdata = false; + /* -- OTL -- */ if (isset($OTLdata)) { $tmpOTLdata = $this->otl->sliceOTLdata($OTLdata, $j, $i - $j); @@ -5913,27 +6017,35 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface $this->magic_reverse_dir($tmp, $directionality, $tmpOTLdata); } /* -- END OTL -- */ + $this->Cell($w, $h, $tmp, $b, 2, $align, $fill, $link, 0, 0, 0, 'M', 0, false, $tmpOTLdata); + } else { + $tmp = rtrim(mb_substr($s, $j, $sep - $j, $this->mb_enc)); $tmpOTLdata = false; + /* -- OTL -- */ if (isset($OTLdata)) { $tmpOTLdata = $this->otl->sliceOTLdata($OTLdata, $j, $sep - $j); $this->otl->trimOTLdata($tmpOTLdata, false, true); } /* -- END OTL -- */ - if ($align == 'J') { - ////////////////////////////////////////// + + if ($align === 'J') { + // JUSTIFY J using Unicode fonts (Word spacing doesn't work) // WORD SPACING UNICODE // Change NON_BREAKING SPACE to spaces so they are 'spaced' properly + $tmp = str_replace(chr(194) . chr(160), chr(32), $tmp); $len_ligne = $this->GetStringWidth($tmp, false, $tmpOTLdata); $nb_carac = mb_strlen($tmp, $this->mb_enc); $nb_spaces = mb_substr_count($tmp, ' ', $this->mb_enc); + // Take off number of Marks // Use GPOS OTL + if (isset($this->CurrentFont['useOTL']) && ($this->CurrentFont['useOTL'])) { if (isset($tmpOTLdata['group']) && $tmpOTLdata['group']) { $nb_carac -= substr_count($tmpOTLdata['group'], 'M'); @@ -5942,118 +6054,153 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface list($charspacing, $ws, $kashida) = $this->GetJspacing($nb_carac, $nb_spaces, ((($wmax) - $len_ligne) * Mpdf::SCALE), $inclCursive, $tmpOTLdata); $this->SetSpacing($charspacing, $ws); - ////////////////////////////////////////// } + if (isset($OTLdata)) { $this->magic_reverse_dir($tmp, $directionality, $tmpOTLdata); } + $this->Cell($w, $h, $tmp, $b, 2, $align, $fill, $link, 0, 0, 0, 'M', 0, false, $tmpOTLdata); + $i = $sep + 1; } + if ($maxrows != false && isset($this->form) && ($this->y - $start_y) / $h > $maxrows) { return false; } + $sep = -1; $j = $i; $l = 0; $ns = 0; $nl++; + if ($border and $nl == 2) { $b = $b2; } + } else { $i++; } } + // Last chunk // WORD SPACING $this->ResetSpacing(); + } else { + while ($i < $nb) { + // Get next character $c = $s[$i]; - if ($c == "\n") { + if ($c === "\n") { + // Explicit line break // WORD SPACING + $this->ResetSpacing(); $this->Cell($w, $h, substr($s, $j, $i - $j), $b, 2, $align, $fill, $link); + if ($maxrows != false && isset($this->form) && ($this->y - $start_y) / $h > $maxrows) { return false; } + $i++; $sep = -1; $j = $i; $l = 0; $ns = 0; $nl++; + if ($border and $nl == 2) { $b = $b2; } + continue; } - if ($c == " ") { + + if ($c === ' ') { $sep = $i; $ls = $l; $ns++; } $l += $this->GetCharWidthCore($c); + if ($l > $wmax) { + // Automatic line break if ($sep == -1) { + if ($i == $j) { $i++; } + // WORD SPACING $this->ResetSpacing(); $this->Cell($w, $h, substr($s, $j, $i - $j), $b, 2, $align, $fill, $link); + } else { - if ($align == 'J') { + + if ($align === 'J') { + $tmp = rtrim(substr($s, $j, $sep - $j)); - ////////////////////////////////////////// + // JUSTIFY J using Unicode fonts (Word spacing doesn't work) // WORD SPACING NON_UNICODE/CJK // Change NON_BREAKING SPACE to spaces so they are 'spaced' properly + $tmp = str_replace(chr(160), chr(32), $tmp); $len_ligne = $this->GetStringWidth($tmp); $nb_carac = strlen($tmp); $nb_spaces = substr_count($tmp, ' '); $tmpOTLdata = []; + list($charspacing, $ws, $kashida) = $this->GetJspacing($nb_carac, $nb_spaces, ((($wmax) - $len_ligne) * Mpdf::SCALE), false, $tmpOTLdata); $this->SetSpacing($charspacing, $ws); - ////////////////////////////////////////// } + $this->Cell($w, $h, substr($s, $j, $sep - $j), $b, 2, $align, $fill, $link); $i = $sep + 1; } + if ($maxrows != false && isset($this->form) && ($this->y - $start_y) / $h > $maxrows) { return false; } + $sep = -1; $j = $i; $l = 0; $ns = 0; $nl++; + if ($border and $nl == 2) { $b = $b2; } + } else { $i++; } } + // Last chunk // WORD SPACING $this->ResetSpacing(); } + // Last chunk if ($border and is_int(strpos($border, 'B'))) { $b .= 'B'; } + if (!$this->usingCoreFont) { + $tmp = rtrim(mb_substr($s, $j, $i - $j, $this->mb_enc)); $tmpOTLdata = false; + /* -- OTL -- */ if (isset($OTLdata)) { $tmpOTLdata = $this->otl->sliceOTLdata($OTLdata, $j, $i - $j); @@ -6061,10 +6208,12 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface $this->magic_reverse_dir($tmp, $directionality, $tmpOTLdata); } /* -- END OTL -- */ + $this->Cell($w, $h, $tmp, $b, 2, $align, $fill, $link, 0, 0, 0, 'M', 0, false, $tmpOTLdata); } else { $this->Cell($w, $h, substr($s, $j, $i - $j), $b, 2, $align, $fill, $link); } + $this->x = $this->lMargin; } @@ -6243,7 +6392,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface $this->SetFont($saved['family'], $saved['style'], $saved['sizePt'], true, true); // force output $fontout = (sprintf('BT /F%d %.3F Tf ET', $this->CurrentFont['i'], $this->FontSizePt)); if ($this->page > 0 && ((isset($this->pageoutput[$this->page]['Font']) && $this->pageoutput[$this->page]['Font'] != $fontout) || !isset($this->pageoutput[$this->page]['Font']))) { - $this->_out($fontout); + $this->writer->write($fontout); } $this->pageoutput[$this->page]['Font'] = $fontout; } else { @@ -6439,7 +6588,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface $lastfontreqstyle = null; $lastfontstyle = null; } - if ($blockdir == 'ltr' && strpos($lastfontreqstyle, "I") !== false && strpos($lastfontstyle, "I") === false) { // Artificial italic + if ($blockdir == 'ltr' && $lastfontreqstyle && strpos($lastfontreqstyle, "I") !== false && strpos($lastfontstyle, "I") === false) { // Artificial italic $lastitalic = $this->FontSize * 0.15 * Mpdf::SCALE; } else { $lastitalic = 0; @@ -7044,7 +7193,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface if ($objattr['type'] == 'image') { // mPDF 5.7.3 TRANSFORMS if (isset($objattr['transform'])) { - $this->_out("\n" . '% BTR'); // Begin Transform + $this->writer->write("\n" . '% BTR'); // Begin Transform } if (isset($objattr['z-index']) && $objattr['z-index'] > 0 && $this->current_layer == 0) { $this->BeginLayer($objattr['z-index']); @@ -7174,7 +7323,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface // mPDF 5.7.3 TRANSFORMS / BACKGROUND COLOR // Transform also affects image background if ($tr2) { - $this->_out('q ' . $tr2 . ' '); + $this->writer->write('q ' . $tr2 . ' '); } if (isset($objattr['bgcolor']) && $objattr['bgcolor']) { $bgcol = $objattr['bgcolor']; @@ -7183,7 +7332,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface $this->SetFColor($this->colorConverter->convert(255, $this->PDFAXwarnings)); } if ($tr2) { - $this->_out('Q'); + $this->writer->write('Q'); } /* -- BACKGROUNDS -- */ @@ -7205,7 +7354,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface $outstring = sprintf("q " . $tr . $tr2 . "%.3F 0 0 %.3F %.3F %.3F cm " . $gradmask . "/I%d Do Q", $obiw * Mpdf::SCALE, $obih * Mpdf::SCALE, $objattr['INNER-X'] * Mpdf::SCALE, ($this->h - ($objattr['INNER-Y'] + $obih )) * Mpdf::SCALE, $objattr['ID']); // mPDF 5.7.3 TRANSFORMS } } - $this->_out($outstring); + $this->writer->write($outstring); // LINK if (isset($objattr['link'])) { $this->Link($objattr['INNER-X'], $objattr['INNER-Y'], $objattr['INNER-WIDTH'], $objattr['INNER-HEIGHT'], $objattr['link']); @@ -7217,13 +7366,13 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface // mPDF 5.7.3 TRANSFORMS // Transform also affects image borders if ($tr2) { - $this->_out('q ' . $tr2 . ' '); + $this->writer->write('q ' . $tr2 . ' '); } if ((isset($objattr['border_top']) && $objattr['border_top'] > 0) || (isset($objattr['border_left']) && $objattr['border_left'] > 0) || (isset($objattr['border_right']) && $objattr['border_right'] > 0) || (isset($objattr['border_bottom']) && $objattr['border_bottom'] > 0)) { $this->PaintImgBorder($objattr, $is_table); } if ($tr2) { - $this->_out('Q'); + $this->writer->write('Q'); } if (isset($objattr['visibility']) && $objattr['visibility'] != 'visible' && $objattr['visibility']) { @@ -7234,7 +7383,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface } // mPDF 5.7.3 TRANSFORMS if (isset($objattr['transform'])) { - $this->_out("\n" . '% ETR'); // End Transform + $this->writer->write("\n" . '% ETR'); // End Transform } } @@ -7285,12 +7434,16 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface } elseif ($objattr['btype'] === 'QR') { + if (!class_exists('Mpdf\QrCode\QrCode') || !class_exists('Mpdf\QrCode\Output\Mpdf')) { + throw new \Mpdf\MpdfException('Mpdf\QrCode package was not found. Install the package from Packagist with "composer require mpdf/qrcode"'); + } + $barcodeContent = str_replace('\r\n', "\r\n", $objattr['code']); $barcodeContent = str_replace('\n', "\n", $barcodeContent); - $this->qrcode = new QrCode\QrCode($barcodeContent, $objattr['errorlevel']); + $qrcode = new QrCode\QrCode($barcodeContent, $objattr['errorlevel']); if ($objattr['disableborder']) { - $this->qrcode->disableBorder(); + $qrcode->disableBorder(); } $bgColor = [255, 255, 255]; @@ -7312,7 +7465,9 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface ); } - $this->qrcode->displayFPDF( + $out = new QrCode\Output\Mpdf(); + $out->output( + $qrcode, $this, $objattr['INNER-X'], $objattr['INNER-Y'], @@ -7321,8 +7476,9 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface $color ); - } else { + unset($qrcode); + } else { $this->WriteBarcode2( $objattr['code'], $objattr['INNER-X'], @@ -7333,9 +7489,10 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface $col, $objattr['btype'], $objattr['pr_ratio'], - $k + $k, + $objattr['quiet_zone_left'], + $objattr['quiet_zone_right'] ); - } } @@ -7512,19 +7669,19 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface // x and y are the centre of the bullet; size is the width and/or height in mm $fcol = $this->SetTColor($color, true); $lcol = strtoupper($fcol); // change 0 0 0 rg to 0 0 0 RG - $this->_out(sprintf('q %s %s', $lcol, $fcol)); - $this->_out('0 j 0 J [] 0 d'); + $this->writer->write(sprintf('q %s %s', $lcol, $fcol)); + $this->writer->write('0 j 0 J [] 0 d'); if ($type == 'square') { $size *= 0.85; // Smaller to appear the same size as circle/disc - $this->_out(sprintf('%.3F %.3F %.3F %.3F re f', ($x - $size / 2) * Mpdf::SCALE, ($this->h - $y + $size / 2) * Mpdf::SCALE, ($size) * Mpdf::SCALE, (-$size) * Mpdf::SCALE)); + $this->writer->write(sprintf('%.3F %.3F %.3F %.3F re f', ($x - $size / 2) * Mpdf::SCALE, ($this->h - $y + $size / 2) * Mpdf::SCALE, ($size) * Mpdf::SCALE, (-$size) * Mpdf::SCALE)); } elseif ($type == 'disc') { $this->Circle($x, $y, $size / 2, 'F'); // Fill } elseif ($type == 'circle') { $lw = $size / 12; // Line width - $this->_out(sprintf('%.3F w ', $lw * Mpdf::SCALE)); + $this->writer->write(sprintf('%.3F w ', $lw * Mpdf::SCALE)); $this->Circle($x, $y, $size / 2 - $lw / 2, 'S'); // Stroke } - $this->_out('Q'); + $this->writer->write('Q'); } // mPDF 6 @@ -8090,7 +8247,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface // Right Trim current content - including CJK space, and for OTLdata // incl. CJK - strip CJK space at end of line   = \xe3\x80\x80 = CJK space - $currContent = rtrim($currContent); + $currContent = $currContent ? rtrim($currContent) : ''; if ($this->checkCJK) { $currContent = preg_replace("/\xe3\x80\x80$/", '', $currContent); } // *CJK-FONTS* @@ -8653,7 +8810,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface } $tr = ($mode . ' Tr'); if ($this->page > 0 && ((isset($this->pageoutput[$this->page]['TextRendering']) && $this->pageoutput[$this->page]['TextRendering'] != $tr) || !isset($this->pageoutput[$this->page]['TextRendering']))) { - $this->_out($tr); + $this->writer->write($tr); } $this->pageoutput[$this->page]['TextRendering'] = $tr; } @@ -8665,7 +8822,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface $this->SetDColor($params['outline-COLOR']); $tr = ('2 Tr'); if ($this->page > 0 && ((isset($this->pageoutput[$this->page]['TextRendering']) && $this->pageoutput[$this->page]['TextRendering'] != $tr) || !isset($this->pageoutput[$this->page]['TextRendering']))) { - $this->_out($tr); + $this->writer->write($tr); } $this->pageoutput[$this->page]['TextRendering'] = $tr; } else { // Now resets all values @@ -8674,7 +8831,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface $this->_SetTextRendering(0); $tr = ('0 Tr'); if ($this->page > 0 && ((isset($this->pageoutput[$this->page]['TextRendering']) && $this->pageoutput[$this->page]['TextRendering'] != $tr) || !isset($this->pageoutput[$this->page]['TextRendering']))) { - $this->_out($tr); + $this->writer->write($tr); } $this->pageoutput[$this->page]['TextRendering'] = $tr; } @@ -8690,8 +8847,8 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface $info = $this->imageProcessor->getImage($this->noImageFile); if ($info) { $file = $this->noImageFile; - $w = ($info['w'] * (25.4 / $this->dpi)); // 14 x 16px - $h = ($info['h'] * (25.4 / $this->dpi)); // 14 x 16px + $w = ($info['w'] * (25.4 / $this->img_dpi)); // 14 x 16px + $h = ($info['h'] * (25.4 / $this->img_dpi)); // 14 x 16px } } if (!$info) { @@ -8814,7 +8971,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface $outstring = $this->watermarkImgAlpha . "\n" . $outstring . "\n" . $this->SetAlpha(1, 'Normal', true) . "\n"; $this->pages[$this->page] = preg_replace('/(___BACKGROUND___PATTERNS' . $this->uniqstr . ')/', "\n" . $outstring . "\n" . '\\1', $this->pages[$this->page]); } else { - $this->_out($outstring); + $this->writer->write($outstring); } return 0; @@ -8885,7 +9042,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface } if ($paint) { - $this->_out($outstring); + $this->writer->write($outstring); if ($link) { $this->Link($x, $y, $w, $h, $link); } @@ -9156,7 +9313,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface { $s = sprintf('%d j', $mode); if ($this->page > 0 && ((isset($this->pageoutput[$this->page]['LineJoin']) && $this->pageoutput[$this->page]['LineJoin'] != $s) || !isset($this->pageoutput[$this->page]['LineJoin']))) { - $this->_out($s); + $this->writer->write($s); } $this->pageoutput[$this->page]['LineJoin'] = $s; } @@ -9165,7 +9322,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface { $s = sprintf('%d J', $mode); if ($this->page > 0 && ((isset($this->pageoutput[$this->page]['LineCap']) && $this->pageoutput[$this->page]['LineCap'] != $s) || !isset($this->pageoutput[$this->page]['LineCap']))) { - $this->_out($s); + $this->writer->write($s); } $this->pageoutput[$this->page]['LineCap'] = $s; } @@ -9177,15 +9334,18 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface } else { $s = '[] 0 d'; } + if ($this->page > 0 && ((isset($this->pageoutput[$this->page]['Dash']) && $this->pageoutput[$this->page]['Dash'] != $s) || !isset($this->pageoutput[$this->page]['Dash']))) { - $this->_out($s); + $this->writer->write($s); } + $this->pageoutput[$this->page]['Dash'] = $s; } function SetDisplayPreferences($preferences) { // String containing any or none of /HideMenubar/HideToolbar/HideWindowUI/DisplayDocTitle/CenterWindow/FitWindow + $this->DisplayPreferences .= $preferences; } @@ -9193,14 +9353,19 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface { // Added collapsible to allow collapsible top-margin on new page // Line feed; default value is last cell height - $this->x = $this->lMargin + $this->blk[$this->blklvl]['outer_left_margin']; + + $margin = isset($this->blk[$this->blklvl]['outer_left_margin']) ? $this->blk[$this->blklvl]['outer_left_margin'] : 0; + + $this->x = $this->lMargin + $margin; + if ($collapsible && ($this->y == $this->tMargin) && (!$this->ColActive)) { $h = 0; } + if (is_string($h)) { - $this->y+=$this->lasth; + $this->y += $this->lasth; } else { - $this->y+=$h; + $this->y += $h; } } @@ -9402,7 +9567,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface header('Content-disposition: inline; filename="' . $name . '"'); header('Cache-Control: public, must-revalidate, max-age=0'); header('Pragma: public'); - header('X-Generator: mPDF ' . static::VERSION); + header('X-Generator: mPDF' . ($this->exposeVersion ? (' ' . static::VERSION) : '')); header('Expires: Sat, 26 Jul 1997 05:00:00 GMT'); header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT'); } @@ -9421,7 +9586,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface header('Content-Transfer-Encoding: binary'); header('Cache-Control: public, must-revalidate, max-age=0'); header('Pragma: public'); - header('X-Generator: mPDF ' . static::VERSION); + header('X-Generator: mPDF' . ($this->exposeVersion ? (' ' . static::VERSION) : '')); header('Expires: Sat, 26 Jul 1997 05:00:00 GMT'); header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT'); header('Content-Type: application/pdf'); @@ -9484,6 +9649,14 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface if (!function_exists('mb_substr')) { throw new \Mpdf\MpdfException('mbstring extension must be loaded in order to run mPDF'); } + + if (!function_exists('mb_regex_encoding')) { + if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') { + $mamp = ' If using MAMP, there is a bug in its PHP build causing this.'; + } + + throw new \Mpdf\MpdfException('mbstring extension with mbregex support must be loaded in order to run mPDF.' . $mamp); + } } function _puthtmlheaders() @@ -9529,10 +9702,9 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface $this->pgwidth = $this->w - $this->lMargin - $this->rMargin; $this->x = $this->lMargin; $this->y = $this->margin_header; - $html = str_replace('{PAGENO}', $pnstr, $html); - $html = str_replace($this->aliasNbPgGp, $pntstr, $html); // {nbpg} - $html = str_replace($this->aliasNbPg, $nb, $html); // {nb} - $html = preg_replace_callback('/\{DATE\s+(.*?)\}/', [$this, 'date_callback'], $html); // mPDF 5.7 + + // Replace of page number aliases and date format + $html = $this->aliasReplace($html, $pnstr, $pntstr, $nb); $this->HTMLheaderPageLinks = []; $this->HTMLheaderPageAnnots = []; @@ -9540,7 +9712,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface $this->pageBackgrounds = []; $this->writingHTMLheader = true; - $this->WriteHTML($html, 4); // parameter 4 saves output to $this->headerbuffer + $this->WriteHTML($html, HTMLParserMode::HTML_HEADER_BUFFER); $this->writingHTMLheader = false; $this->Reset(); $this->pageoutput[$n] = []; @@ -9610,11 +9782,8 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface $top_y = $this->y = ($this->h + 0.01); } - $html = str_replace('{PAGENO}', $pnstr, $html); - $html = str_replace($this->aliasNbPgGp, $pntstr, $html); // {nbpg} - $html = str_replace($this->aliasNbPg, $nb, $html); // {nb} - $html = preg_replace_callback('/\{DATE\s+(.*?)\}/', [$this, 'date_callback'], $html); // mPDF 5.7 - + // Replace of page number aliases and date format + $html = $this->aliasReplace($html, $pnstr, $pntstr, $nb); $this->HTMLheaderPageLinks = []; $this->HTMLheaderPageAnnots = []; @@ -9623,7 +9792,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface $this->writingHTMLfooter = true; $this->InFooter = true; - $this->WriteHTML($html, 4); // parameter 4 saves output to $this->headerbuffer + $this->WriteHTML($html, HTMLParserMode::HTML_HEADER_BUFFER); $this->InFooter = false; $this->Reset(); $this->pageoutput[$n] = []; @@ -9688,514 +9857,17 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface } /* -- END FORMS -- */ } + + // Customization for https://github.com/mpdf/mpdf/issues/172 + // Replace of page number aliases and date format + $this->pages[$n] = $this->aliasReplace($this->pages[$n], $pnstr, $pntstr, $nb); } $this->page = $nb; $this->state = 1; } - function _putpages() - { - $nb = $this->page; - $filter = ($this->compress) ? '/Filter /FlateDecode ' : ''; - - if ($this->DefOrientation == 'P') { - $defwPt = $this->fwPt; - $defhPt = $this->fhPt; - } else { - $defwPt = $this->fhPt; - $defhPt = $this->fwPt; - } - $annotid = (3 + 2 * $nb); - - // Active Forms - $totaladdnum = 0; - for ($n = 1; $n <= $nb; $n++) { - if (isset($this->PageLinks[$n])) { - $totaladdnum += count($this->PageLinks[$n]); - } - /* -- ANNOTATIONS -- */ - if (isset($this->PageAnnots[$n])) { - foreach ($this->PageAnnots[$n] as $k => $pl) { - if (!empty($pl['opt']['popup']) || !empty($pl['opt']['file'])) { - $totaladdnum += 2; - } else { - $totaladdnum++; - } - } - } - /* -- END ANNOTATIONS -- */ - - /* -- FORMS -- */ - if (count($this->form->forms) > 0) { - $this->form->countPageForms($n, $totaladdnum); - } - /* -- END FORMS -- */ - } - /* -- FORMS -- */ - // Make a note in the radio button group of the obj_id it will have - $ctr = 0; - if (count($this->form->form_radio_groups)) { - foreach ($this->form->form_radio_groups as $name => $frg) { - $this->form->form_radio_groups[$name]['obj_id'] = $annotid + $totaladdnum + $ctr; - $ctr++; - } - } - /* -- END FORMS -- */ - - // Select unused fonts (usually default font) - $unused = []; - foreach ($this->fonts as $fk => $font) { - if (isset($font['type']) && $font['type'] == 'TTF' && !$font['used']) { - $unused[] = $fk; - } - } - - - for ($n = 1; $n <= $nb; $n++) { - $thispage = $this->pages[$n]; - if (isset($this->OrientationChanges[$n])) { - $hPt = $this->pageDim[$n]['w'] * Mpdf::SCALE; - $wPt = $this->pageDim[$n]['h'] * Mpdf::SCALE; - $owidthPt_LR = $this->pageDim[$n]['outer_width_TB'] * Mpdf::SCALE; - $owidthPt_TB = $this->pageDim[$n]['outer_width_LR'] * Mpdf::SCALE; - } else { - $wPt = $this->pageDim[$n]['w'] * Mpdf::SCALE; - $hPt = $this->pageDim[$n]['h'] * Mpdf::SCALE; - $owidthPt_LR = $this->pageDim[$n]['outer_width_LR'] * Mpdf::SCALE; - $owidthPt_TB = $this->pageDim[$n]['outer_width_TB'] * Mpdf::SCALE; - } - // Remove references to unused fonts (usually default font) - foreach ($unused as $fk) { - if ($this->fonts[$fk]['sip'] || $this->fonts[$fk]['smp']) { - foreach ($this->fonts[$fk]['subsetfontids'] as $k => $fid) { - $thispage = preg_replace('/\s\/F' . $fid . ' \d[\d.]* Tf\s/is', ' ', $thispage); - } - } else { - $thispage = preg_replace('/\s\/F' . $this->fonts[$fk]['i'] . ' \d[\d.]* Tf\s/is', ' ', $thispage); - } - } - // Clean up repeated /GS1 gs statements - // For some reason using + for repetition instead of {2,20} crashes PHP Script Interpreter ??? - $thispage = preg_replace('/(\/GS1 gs\n){2,20}/', "/GS1 gs\n", $thispage); - - $thispage = preg_replace('/(\s*___BACKGROUND___PATTERNS' . $this->uniqstr . '\s*)/', " ", $thispage); - $thispage = preg_replace('/(\s*___HEADER___MARKER' . $this->uniqstr . '\s*)/', " ", $thispage); - $thispage = preg_replace('/(\s*___PAGE___START' . $this->uniqstr . '\s*)/', " ", $thispage); - $thispage = preg_replace('/(\s*___TABLE___BACKGROUNDS' . $this->uniqstr . '\s*)/', " ", $thispage); - // mPDF 5.7.3 TRANSFORMS - while (preg_match('/(\% BTR(.*?)\% ETR)/is', $thispage, $m)) { - $thispage = preg_replace('/(\% BTR.*?\% ETR)/is', '', $thispage, 1) . "\n" . $m[2]; - } - - // Page - $this->_newobj(); - $this->_out('<_out('/Parent 1 0 R'); - if (isset($this->OrientationChanges[$n])) { - $this->_out(sprintf('/MediaBox [0 0 %.3F %.3F]', $hPt, $wPt)); - // If BleedBox is defined, it must be larger than the TrimBox, but smaller than the MediaBox - $bleedMargin = $this->pageDim[$n]['bleedMargin'] * Mpdf::SCALE; - if ($bleedMargin && ($owidthPt_TB || $owidthPt_LR)) { - $x0 = $owidthPt_TB - $bleedMargin; - $y0 = $owidthPt_LR - $bleedMargin; - $x1 = $hPt - $owidthPt_TB + $bleedMargin; - $y1 = $wPt - $owidthPt_LR + $bleedMargin; - $this->_out(sprintf('/BleedBox [%.3F %.3F %.3F %.3F]', $x0, $y0, $x1, $y1)); - } - $this->_out(sprintf('/TrimBox [%.3F %.3F %.3F %.3F]', $owidthPt_TB, $owidthPt_LR, ($hPt - $owidthPt_TB), ($wPt - $owidthPt_LR))); - if (isset($this->OrientationChanges[$n]) && $this->displayDefaultOrientation) { - if ($this->DefOrientation == 'P') { - $this->_out('/Rotate 270'); - } else { - $this->_out('/Rotate 90'); - } - } - } // elseif($wPt != $defwPt || $hPt != $defhPt) { - else { - $this->_out(sprintf('/MediaBox [0 0 %.3F %.3F]', $wPt, $hPt)); - $bleedMargin = $this->pageDim[$n]['bleedMargin'] * Mpdf::SCALE; - if ($bleedMargin && ($owidthPt_TB || $owidthPt_LR)) { - $x0 = $owidthPt_LR - $bleedMargin; - $y0 = $owidthPt_TB - $bleedMargin; - $x1 = $wPt - $owidthPt_LR + $bleedMargin; - $y1 = $hPt - $owidthPt_TB + $bleedMargin; - $this->_out(sprintf('/BleedBox [%.3F %.3F %.3F %.3F]', $x0, $y0, $x1, $y1)); - } - $this->_out(sprintf('/TrimBox [%.3F %.3F %.3F %.3F]', $owidthPt_LR, $owidthPt_TB, ($wPt - $owidthPt_LR), ($hPt - $owidthPt_TB))); - } - $this->_out('/Resources 2 0 R'); - - // Important to keep in RGB colorSpace when using transparency - if (!$this->PDFA && !$this->PDFX) { - if ($this->restrictColorSpace == 3) { - $this->_out('/Group << /Type /Group /S /Transparency /CS /DeviceCMYK >> '); - } elseif ($this->restrictColorSpace == 1) { - $this->_out('/Group << /Type /Group /S /Transparency /CS /DeviceGray >> '); - } else { - $this->_out('/Group << /Type /Group /S /Transparency /CS /DeviceRGB >> '); - } - } - - $annotsnum = 0; - $embeddedfiles = []; // mPDF 5.7.2 /EmbeddedFiles - - if (isset($this->PageLinks[$n])) { - $annotsnum += count($this->PageLinks[$n]); - } - /* -- ANNOTATIONS -- */ - if (isset($this->PageAnnots[$n])) { - foreach ($this->PageAnnots[$n] as $k => $pl) { - if (!empty($pl['opt']['file'])) { - $embeddedfiles[$annotsnum + 1] = true; - } // mPDF 5.7.2 /EmbeddedFiles - if (!empty($pl['opt']['popup']) || !empty($pl['opt']['file'])) { - $annotsnum += 2; - } else { - $annotsnum++; - } - $this->PageAnnots[$n][$k]['pageobj'] = $this->n; - } - } - /* -- END ANNOTATIONS -- */ - - /* -- FORMS -- */ - // Active Forms - $formsnum = 0; - if (count($this->form->forms) > 0) { - foreach ($this->form->forms as $val) { - if ($val['page'] == $n) { - $formsnum++; - } - } - } - /* -- END FORMS -- */ - if ($annotsnum || $formsnum) { - $s = '/Annots [ '; - for ($i = 0; $i < $annotsnum; $i++) { - if (!isset($embeddedfiles[$i])) { - $s .= ($annotid + $i) . ' 0 R '; - } // mPDF 5.7.2 /EmbeddedFiles - } - $annotid += $annotsnum; - /* -- FORMS -- */ - if (count($this->form->forms) > 0) { - $this->form->addFormIds($n, $s, $annotid); - } - /* -- END FORMS -- */ - $s .= '] '; - $this->_out($s); - } - - $this->_out('/Contents ' . ($this->n + 1) . ' 0 R>>'); - $this->_out('endobj'); - - // Page content - $this->_newobj(); - $p = ($this->compress) ? gzcompress($thispage) : $thispage; - $this->_out('<<' . $filter . '/Length ' . strlen($p) . '>>'); - $this->_putstream($p); - $this->_out('endobj'); - } - $this->_putannots(); // mPDF 5.7.2 - // Pages root - $this->offsets[1] = strlen($this->buffer); - $this->_out('1 0 obj'); - $this->_out('<_out($kids . ']'); - $this->_out('/Count ' . $nb); - $this->_out(sprintf('/MediaBox [0 0 %.3F %.3F]', $defwPt, $defhPt)); - $this->_out('>>'); - $this->_out('endobj'); - } - - /** - * @since 5.7.2 - */ - function _putannots() - { - $filter = ($this->compress) ? '/Filter /FlateDecode ' : ''; - - $nb = $this->page; - - for ($n = 1; $n <= $nb; $n++) { - - $annotobjs = []; - - if (isset($this->PageLinks[$n]) || isset($this->PageAnnots[$n]) || count($this->form->forms) > 0) { - - $wPt = $this->pageDim[$n]['w'] * Mpdf::SCALE; - $hPt = $this->pageDim[$n]['h'] * Mpdf::SCALE; - - // Links - if (isset($this->PageLinks[$n])) { - - foreach ($this->PageLinks[$n] as $key => $pl) { - - $this->_newobj(); - $annot = ''; - - $rect = sprintf('%.3F %.3F %.3F %.3F', $pl[0], $pl[1], $pl[0] + $pl[2], $pl[1] - $pl[3]); - - $annot .= '<_UTF16BEtextstring($pl[4]); - $annot .= ' /NM ' . $this->_textstring(sprintf('%04u-%04u', $n, $key)); - $annot .= ' /M ' . $this->_textstring('D:' . date('YmdHis')); - - $annot .= ' /Border [0 0 0]'; - - // Use this (instead of /Border) to specify border around link - - // $annot .= ' /BS <PDFA || $this->PDFX) { - $annot .= ' /F 28'; - } - - if (strpos($pl[4], '@') === 0) { - - $p = substr($pl[4], 1); - // $h=isset($this->OrientationChanges[$p]) ? $wPt : $hPt; - $htarg = $this->pageDim[$p]['h'] * Mpdf::SCALE; - $annot .= sprintf(' /Dest [%d 0 R /XYZ 0 %.3F null]>>', 1 + 2 * $p, $htarg); - - } elseif (is_string($pl[4])) { - - $annot .= ' /A <_textstring($pl[4]) . '>> >>'; - - } else { - - $l = $this->links[$pl[4]]; - // may not be set if #link points to non-existent target - if (isset($this->pageDim[$l[0]]['h'])) { - $htarg = $this->pageDim[$l[0]]['h'] * Mpdf::SCALE; - } else { - $htarg = $this->h * Mpdf::SCALE; - } // doesn't really matter - - $annot .= sprintf(' /Dest [%d 0 R /XYZ 0 %.3F null]>>', 1 + 2 * $l[0], $htarg - $l[1] * Mpdf::SCALE); - } - - $this->_out($annot); - $this->_out('endobj'); - - } - } - - /* -- ANNOTATIONS -- */ - if (isset($this->PageAnnots[$n])) { - - foreach ($this->PageAnnots[$n] as $key => $pl) { - - $fileAttachment = (bool) $pl['opt']['file']; - - if ($fileAttachment && !$this->allowAnnotationFiles) { - $this->logger->warning('Embedded files for annotations have to be allowed explicitly with "allowAnnotationFiles" config key'); - $fileAttachment = false; - } - - $this->_newobj(); - $annot = ''; - $pl['opt'] = array_change_key_case($pl['opt'], CASE_LOWER); - $x = $pl['x']; - - if ($this->annotMargin <> 0 || $x == 0 || $x < 0) { // Odd page - $x = ($wPt / Mpdf::SCALE) - $this->annotMargin; - } - - $w = $h = 0; - $a = $x * Mpdf::SCALE; - $b = $hPt - ($pl['y'] * Mpdf::SCALE); - - $annot .= '<n + 1) . ' 0 R>>'; - $annot .= '>>'; - - } else { - $annot .= '/Subtype /Text'; - $w = 20; - $h = 20; // mPDF 6 - } - - $rect = sprintf('%.3F %.3F %.3F %.3F', $a, $b - $h, $a + $w, $b); - $annot .= ' /Rect [' . $rect . ']'; - - // contents = description of file in free text - $annot .= ' /Contents ' . $this->_UTF16BEtextstring($pl['txt']); - - $annot .= ' /NM ' . $this->_textstring(sprintf('%04u-%04u', $n, (2000 + $key))); - $annot .= ' /M ' . $this->_textstring('D:' . date('YmdHis')); - $annot .= ' /CreationDate ' . $this->_textstring('D:' . date('YmdHis')); - $annot .= ' /Border [0 0 0]'; - - if ($this->PDFA || $this->PDFX) { - $annot .= ' /F 28'; - $annot .= ' /CA 1'; - } elseif ($pl['opt']['ca'] > 0) { - $annot .= ' /CA ' . $pl['opt']['ca']; - } - - $annotcolor = ' /C ['; - if (isset($pl['opt']['c']) and $pl['opt']['c']) { - $col = $pl['opt']['c']; - if ($col{0} == 3 || $col{0} == 5) { - $annotcolor .= sprintf("%.3F %.3F %.3F", ord($col{1}) / 255, ord($col{2}) / 255, ord($col{3}) / 255); - } elseif ($col{0} == 1) { - $annotcolor .= sprintf("%.3F", ord($col{1}) / 255); - } elseif ($col{0} == 4 || $col{0} == 6) { - $annotcolor .= sprintf("%.3F %.3F %.3F %.3F", ord($col{1}) / 100, ord($col{2}) / 100, ord($col{3}) / 100, ord($col{4}) / 100); - } else { - $annotcolor .= '1 1 0'; - } - } else { - $annotcolor .= '1 1 0'; - } - $annotcolor .= ']'; - $annot .= $annotcolor; - - // Usually Author - // Use as Title for fileattachment - if (isset($pl['opt']['t']) and is_string($pl['opt']['t'])) { - $annot .= ' /T ' . $this->_UTF16BEtextstring($pl['opt']['t']); - } - - if ($fileAttachment) { - $iconsapp = ['Paperclip', 'Graph', 'PushPin', 'Tag']; - } else { - $iconsapp = ['Comment', 'Help', 'Insert', 'Key', 'NewParagraph', 'Note', 'Paragraph']; - } - - if (isset($pl['opt']['icon']) and in_array($pl['opt']['icon'], $iconsapp)) { - $annot .= ' /Name /' . $pl['opt']['icon']; - } elseif ($fileAttachment) { - $annot .= ' /Name /PushPin'; - } else { - $annot .= ' /Name /Note'; - } - - if (!$fileAttachment) { - ///Subj is PDF 1.5 spec. - if (isset($pl['opt']['subj']) && !$this->PDFA && !$this->PDFX) { - $annot .= ' /Subj ' . $this->_UTF16BEtextstring($pl['opt']['subj']); - } - if (!empty($pl['opt']['popup'])) { - $annot .= ' /Open true'; - $annot .= ' /Popup ' . ($this->n + 1) . ' 0 R'; - } else { - $annot .= ' /Open false'; - } - } - - $annot .= ' /P ' . $pl['pageobj'] . ' 0 R'; - $annot .= '>>'; - $this->_out($annot); - $this->_out('endobj'); - - if ($fileAttachment) { - $file = @file_get_contents($pl['opt']['file']); - if (!$file) { - throw new \Mpdf\MpdfException('mPDF Error: Cannot access file attachment - ' . $pl['opt']['file']); - } - $filestream = gzcompress($file); - $this->_newobj(); - $this->_out('<_out('/Length ' . strlen($filestream)); - $this->_out('/Filter /FlateDecode'); - $this->_out('>>'); - $this->_putstream($filestream); - $this->_out('endobj'); - } elseif (!empty($pl['opt']['popup'])) { - $this->_newobj(); - $annot = ''; - if (is_array($pl['opt']['popup']) && isset($pl['opt']['popup'][0])) { - $x = $pl['opt']['popup'][0] * Mpdf::SCALE; - } else { - $x = $pl['x'] * Mpdf::SCALE; - } - if (is_array($pl['opt']['popup']) && isset($pl['opt']['popup'][1])) { - $y = $hPt - ($pl['opt']['popup'][1] * Mpdf::SCALE); - } else { - $y = $hPt - ($pl['y'] * Mpdf::SCALE); - } - if (is_array($pl['opt']['popup']) && isset($pl['opt']['popup'][2])) { - $w = $pl['opt']['popup'][2] * Mpdf::SCALE; - } else { - $w = 180; - } - if (is_array($pl['opt']['popup']) && isset($pl['opt']['popup'][3])) { - $h = $pl['opt']['popup'][3] * Mpdf::SCALE; - } else { - $h = 120; - } - $rect = sprintf('%.3F %.3F %.3F %.3F', $x, $y - $h, $x + $w, $y); - $annot .= '<_textstring('D:' . date('YmdHis')); - if ($this->PDFA || $this->PDFX) { - $annot .= ' /F 28'; - } - $annot .= ' /Parent ' . ($this->n - 1) . ' 0 R'; - $annot .= '>>'; - $this->_out($annot); - $this->_out('endobj'); - } - } - } - - /* -- END ANNOTATIONS -- */ - - /* -- FORMS -- */ - // Active Forms - if (count($this->form->forms) > 0) { - $this->form->_putFormItems($n, $hPt); - } - /* -- END FORMS -- */ - } - } - - /* -- FORMS -- */ - // Active Forms - Radio Button Group entries - // Output Radio Button Group form entries (radio_on_obj_id already determined) - if (count($this->form->form_radio_groups)) { - $this->form->_putRadioItems($n); - } - /* -- END FORMS -- */ - } - /* -- ANNOTATIONS -- */ - function Annotation($text, $x = 0, $y = 0, $icon = 'Note', $author = '', $subject = '', $opacity = 0, $colarray = false, $popup = '', $file = '') { if (is_array($colarray) && count($colarray) == 3) { @@ -10266,1166 +9938,6 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface /* -- END ANNOTATIONS -- */ - function _putfonts() - { - $nf = $this->n; - foreach ($this->FontFiles as $fontkey => $info) { - // TrueType embedded - if (isset($info['type']) && $info['type'] == 'TTF' && !$info['sip'] && !$info['smp']) { - $used = true; - $asSubset = false; - foreach ($this->fonts as $k => $f) { - if (isset($f['fontkey']) && $f['fontkey'] == $fontkey && $f['type'] == 'TTF') { - $used = $f['used']; - if ($used) { - $nChars = (ord($f['cw'][0]) << 8) + ord($f['cw'][1]); - $usage = intval(count($f['subset']) * 100 / $nChars); - $fsize = $info['length1']; - // Always subset the very large TTF files - if ($fsize > ($this->maxTTFFilesize * 1024)) { - $asSubset = true; - } elseif ($usage < $this->percentSubset) { - $asSubset = true; - } - } - if ($this->PDFA || $this->PDFX) { - $asSubset = false; - } - $this->fonts[$k]['asSubset'] = $asSubset; - break; - } - } - if ($used && !$asSubset) { - // Font file embedding - $this->_newobj(); - $this->FontFiles[$fontkey]['n'] = $this->n; - $originalsize = $info['length1']; - if ($this->repackageTTF || $this->fonts[$fontkey]['TTCfontID'] > 0 || $this->fonts[$fontkey]['useOTL'] > 0) { // mPDF 5.7.1 - // First see if there is a cached compressed file - if ($this->fontCache->has($fontkey . '.ps.z')) { - $font = $this->fontCache->load($fontkey . '.ps.z'); - include $this->fontCache->tempFilename($fontkey . '.ps.php'); // sets $originalsize (of repackaged font) - } else { - $ttf = new TTFontFile($this->fontCache, $this->fontDescriptor); - $font = $ttf->repackageTTF($this->FontFiles[$fontkey]['ttffile'], $this->fonts[$fontkey]['TTCfontID'], $this->debugfonts, $this->fonts[$fontkey]['useOTL']); // mPDF 5.7.1 - - $originalsize = strlen($font); - $font = gzcompress($font); - unset($ttf); - - $len = "fontCache->binaryWrite($fontkey . '.ps.z', $font); - $this->fontCache->write($fontkey . '.ps.php', $len); - } - } else { - // First see if there is a cached compressed file - if ($this->fontCache->has($fontkey . '.z')) { - $font = $this->fontCache->load($fontkey . '.z', 'rb'); - } else { - $font = file_get_contents($this->FontFiles[$fontkey]['ttffile']); - $font = gzcompress($font); - $this->fontCache->binaryWrite($fontkey . '.z', $font); - } - } - - $this->_out('<_out('/Filter /FlateDecode'); - $this->_out('/Length1 ' . $originalsize); - $this->_out('>>'); - $this->_putstream($font); - $this->_out('endobj'); - } - } - } - - $nfonts = count($this->fonts); - $fctr = 1; - foreach ($this->fonts as $k => $font) { - // Font objects - $type = $font['type']; - $name = $font['name']; - if ((!isset($font['used']) || !$font['used']) && $type == 'TTF') { - continue; - } - - // @log Writing fonts - - if (isset($font['asSubset'])) { - $asSubset = $font['asSubset']; - } else { - $asSubset = ''; - } - /* -- CJK-FONTS -- */ - if ($type == 'Type0') { // = Adobe CJK Fonts - $this->fonts[$k]['n'] = $this->n + 1; - $this->_newobj(); - $this->_out('<_putType0($font); - } else { /* -- END CJK-FONTS -- */ - if ($type == 'core') { - // Standard font - $this->fonts[$k]['n'] = $this->n + 1; - if ($this->PDFA || $this->PDFX) { - throw new \Mpdf\MpdfException('Core fonts are not allowed in PDF/A1-b or PDFX/1-a files (Times, Helvetica, Courier etc.)'); - } - $this->_newobj(); - $this->_out('<_out('/BaseFont /' . $name); - $this->_out('/Subtype /Type1'); - if ($name != 'Symbol' && $name != 'ZapfDingbats') { - $this->_out('/Encoding /WinAnsiEncoding'); - } - $this->_out('>>'); - $this->_out('endobj'); - } // TrueType embedded SUBSETS for SIP (CJK extB containing Supplementary Ideographic Plane 2) - // Or Unicode Plane 1 - Supplementary Multilingual Plane - elseif ($type == 'TTF' && ($font['sip'] || $font['smp'])) { - if (!$font['used']) { - continue; - } - $ssfaid = "AA"; - $ttf = new TTFontFile($this->fontCache, $this->fontDescriptor); - for ($sfid = 0; $sfid < count($font['subsetfontids']); $sfid++) { - $this->fonts[$k]['n'][$sfid] = $this->n + 1; // NB an array for subset - $subsetname = 'MPDF' . $ssfaid . '+' . $font['name']; - $ssfaid++; - - /* For some strange reason a subset ($sfid > 0) containing less than 97 characters causes an error - so fill up the array */ - for ($j = count($font['subsets'][$sfid]); $j < 98; $j++) { - $font['subsets'][$sfid][$j] = 0; - } - - $subset = $font['subsets'][$sfid]; - unset($subset[0]); - $ttfontstream = $ttf->makeSubsetSIP($font['ttffile'], $subset, $font['TTCfontID'], $this->debugfonts, $font['useOTL']); // mPDF 5.7.1 - $ttfontsize = strlen($ttfontstream); - $fontstream = gzcompress($ttfontstream); - $widthstring = ''; - $toUnistring = ''; - - - foreach ($font['subsets'][$sfid] as $cp => $u) { - $w = $this->_getCharWidth($font['cw'], $u); - if ($w !== false) { - $widthstring .= $w . ' '; - } else { - $widthstring .= round($ttf->defaultWidth) . ' '; - } - if ($u > 65535) { - $utf8 = chr(($u >> 18) + 240) . chr((($u >> 12) & 63) + 128) . chr((($u >> 6) & 63) + 128) . chr(($u & 63) + 128); - $utf16 = mb_convert_encoding($utf8, 'UTF-16BE', 'UTF-8'); - $l1 = ord($utf16[0]); - $h1 = ord($utf16[1]); - $l2 = ord($utf16[2]); - $h2 = ord($utf16[3]); - $toUnistring .= sprintf("<%02s> <%02s%02s%02s%02s>\n", strtoupper(dechex($cp)), strtoupper(dechex($l1)), strtoupper(dechex($h1)), strtoupper(dechex($l2)), strtoupper(dechex($h2))); - } else { - $toUnistring .= sprintf("<%02s> <%04s>\n", strtoupper(dechex($cp)), strtoupper(dechex($u))); - } - } - - // Additional Type1 or TrueType font - $this->_newobj(); - $this->_out('<_out('/BaseFont /' . $subsetname); - $this->_out('/Subtype /TrueType'); - $this->_out('/FirstChar 0 /LastChar ' . (count($font['subsets'][$sfid]) - 1)); - $this->_out('/Widths ' . ($this->n + 1) . ' 0 R'); - $this->_out('/FontDescriptor ' . ($this->n + 2) . ' 0 R'); - $this->_out('/ToUnicode ' . ($this->n + 3) . ' 0 R'); - $this->_out('>>'); - $this->_out('endobj'); - - // Widths - $this->_newobj(); - $this->_out('[' . $widthstring . ']'); - $this->_out('endobj'); - - // Descriptor - $this->_newobj(); - $s = '< $v) { - if ($kd == 'Flags') { - $v = $v | 4; - $v = $v & ~32; - } // SYMBOLIC font flag - $s .= ' /' . $kd . ' ' . $v . "\n"; - } - $s .= '/FontFile2 ' . ($this->n + 2) . ' 0 R'; - $this->_out($s . '>>'); - $this->_out('endobj'); - - // ToUnicode - $this->_newobj(); - $toUni = "/CIDInit /ProcSet findresource begin\n"; - $toUni .= "12 dict begin\n"; - $toUni .= "begincmap\n"; - $toUni .= "/CIDSystemInfo\n"; - $toUni .= "< <%02s>\n", strtoupper(dechex(count($font['subsets'][$sfid])-1))); - $toUni .= "endcodespacerange\n"; - $toUni .= count($font['subsets'][$sfid]) . " beginbfchar\n"; - $toUni .= $toUnistring; - $toUni .= "endbfchar\n"; - $toUni .= "endcmap\n"; - $toUni .= "CMapName currentdict /CMap defineresource pop\n"; - $toUni .= "end\n"; - $toUni .= "end\n"; - $this->_out('<>'); - $this->_putstream($toUni); - $this->_out('endobj'); - - // Font file - $this->_newobj(); - $this->_out('<_out('/Filter /FlateDecode'); - $this->_out('/Length1 ' . $ttfontsize); - $this->_out('>>'); - $this->_putstream($fontstream); - $this->_out('endobj'); - } // foreach subset - unset($ttf); - } // TrueType embedded SUBSETS or FULL - elseif ($type == 'TTF') { - $this->fonts[$k]['n'] = $this->n + 1; - if ($asSubset) { - $ssfaid = "A"; - $ttf = new TTFontFile($this->fontCache, $this->fontDescriptor); - $fontname = 'MPDFA' . $ssfaid . '+' . $font['name']; - $subset = $font['subset']; - unset($subset[0]); - $ttfontstream = $ttf->makeSubset($font['ttffile'], $subset, $font['TTCfontID'], $this->debugfonts, $font['useOTL']); - $ttfontsize = strlen($ttfontstream); - $fontstream = gzcompress($ttfontstream); - $codeToGlyph = $ttf->codeToGlyph; - unset($codeToGlyph[0]); - } else { - $fontname = $font['name']; - } - // Type0 Font - // A composite font - a font composed of other fonts, organized hierarchically - $this->_newobj(); - $this->_out('<_out('/Subtype /Type0'); - $this->_out('/BaseFont /' . $fontname . ''); - $this->_out('/Encoding /Identity-H'); - $this->_out('/DescendantFonts [' . ($this->n + 1) . ' 0 R]'); - $this->_out('/ToUnicode ' . ($this->n + 2) . ' 0 R'); - $this->_out('>>'); - $this->_out('endobj'); - - // CIDFontType2 - // A CIDFont whose glyph descriptions are based on TrueType font technology - $this->_newobj(); - $this->_out('<_out('/Subtype /CIDFontType2'); - $this->_out('/BaseFont /' . $fontname . ''); - $this->_out('/CIDSystemInfo ' . ($this->n + 2) . ' 0 R'); - $this->_out('/FontDescriptor ' . ($this->n + 3) . ' 0 R'); - if (isset($font['desc']['MissingWidth'])) { - $this->_out('/DW ' . $font['desc']['MissingWidth'] . ''); - } - - if (!$asSubset && $this->fontCache->has($font['fontkey'] . '.cw')) { - $w = $this->fontCache->load($font['fontkey'] . '.cw'); - $this->_out($w); - } else { - $this->_putTTfontwidths($font, $asSubset, ($asSubset ? $ttf->maxUni : 0)); - } - - $this->_out('/CIDToGIDMap ' . ($this->n + 4) . ' 0 R'); - $this->_out('>>'); - $this->_out('endobj'); - - // ToUnicode - $this->_newobj(); - $toUni = "/CIDInit /ProcSet findresource begin\n"; - $toUni .= "12 dict begin\n"; - $toUni .= "begincmap\n"; - $toUni .= "/CIDSystemInfo\n"; - $toUni .= "<_out('<>'); - $this->_putstream($toUni); - $this->_out('endobj'); - - - // CIDSystemInfo dictionary - $this->_newobj(); - $this->_out('<_out('/Ordering (UCS)'); - $this->_out('/Supplement 0'); - $this->_out('>>'); - $this->_out('endobj'); - - // Font descriptor - $this->_newobj(); - $this->_out('<_out('/FontName /' . $fontname); - foreach ($font['desc'] as $kd => $v) { - if ($asSubset && $kd == 'Flags') { - $v = $v | 4; - $v = $v & ~32; - } // SYMBOLIC font flag - $this->_out(' /' . $kd . ' ' . $v); - } - if ($font['panose']) { - $this->_out(' /Style << /Panose <' . $font['panose'] . '> >>'); - } - if ($asSubset) { - $this->_out('/FontFile2 ' . ($this->n + 2) . ' 0 R'); - } elseif ($font['fontkey']) { - // obj ID of a stream containing a TrueType font program - $this->_out('/FontFile2 ' . $this->FontFiles[$font['fontkey']]['n'] . ' 0 R'); - } - $this->_out('>>'); - $this->_out('endobj'); - - // Embed CIDToGIDMap - // A specification of the mapping from CIDs to glyph indices - if ($asSubset) { - $cidtogidmap = ''; - $cidtogidmap = str_pad('', 256 * 256 * 2, "\x00"); - foreach ($codeToGlyph as $cc => $glyph) { - $cidtogidmap[$cc * 2] = chr($glyph >> 8); - $cidtogidmap[$cc * 2 + 1] = chr($glyph & 0xFF); - } - $cidtogidmap = gzcompress($cidtogidmap); - } else { - // First see if there is a cached CIDToGIDMapfile - $cidtogidmap = ''; - if ($this->fontCache->has($font['fontkey'] . '.cgm')) { - $cidtogidmap = $this->fontCache->load($font['fontkey'] . '.cgm'); - } else { - $ttf = new TTFontFile($this->fontCache, $this->fontDescriptor); - $charToGlyph = $ttf->getCTG($font['ttffile'], $font['TTCfontID'], $this->debugfonts, $font['useOTL']); - $cidtogidmap = str_pad('', 256 * 256 * 2, "\x00"); - foreach ($charToGlyph as $cc => $glyph) { - $cidtogidmap[$cc * 2] = chr($glyph >> 8); - $cidtogidmap[$cc * 2 + 1] = chr($glyph & 0xFF); - } - unset($ttf); - $cidtogidmap = gzcompress($cidtogidmap); - $this->fontCache->binaryWrite($font['fontkey'] . '.cgm', $cidtogidmap); - } - } - $this->_newobj(); - $this->_out('<_out('/Filter /FlateDecode'); - $this->_out('>>'); - $this->_putstream($cidtogidmap); - $this->_out('endobj'); - - // Font file - if ($asSubset) { - $this->_newobj(); - $this->_out('<_out('/Filter /FlateDecode'); - $this->_out('/Length1 ' . $ttfontsize); - $this->_out('>>'); - $this->_putstream($fontstream); - $this->_out('endobj'); - unset($ttf); - } - } else { - throw new \Mpdf\MpdfException('Unsupported font type: ' . $type . ' (' . $name . ')'); - } - } - } - } - - function _putTTfontwidths(&$font, $asSubset, $maxUni) - { - if ($asSubset && $this->fontCache->has($font['fontkey'] . '.cw127.php')) { - include $this->fontCache->tempFilename($font['fontkey'] . '.cw127.php'); - $startcid = 128; - } else { - $rangeid = 0; - $range = []; - $prevcid = -2; - $prevwidth = -1; - $interval = false; - $startcid = 1; - } - if ($asSubset) { - $cwlen = $maxUni + 1; - } else { - $cwlen = (strlen($font['cw']) / 2); - } - - // for each character - for ($cid = $startcid; $cid < $cwlen; $cid++) { - if ($cid == 128 && $asSubset && (!$this->fontCache->has($font['fontkey'] . '.cw127.php'))) { - $cw127 = 'fontCache->write($font['fontkey'] . '.cw127.php', $cw127); - } - - $character1 = isset($font['cw'][$cid * 2]) ? $font['cw'][$cid * 2] : ''; - $character2 = isset($font['cw'][$cid * 2 + 1]) ? $font['cw'][$cid * 2 + 1] : ''; - - if ($character1 == "\00" && $character2 == "\00") { - continue; - } - - $width = (ord($character1) << 8) + ord($character2); - - if ($width == 65535) { - $width = 0; - } - - if ($asSubset && $cid > 255 && (!isset($font['subset'][$cid]) || !$font['subset'][$cid])) { - continue; - } - - if ($asSubset && $cid > 0xFFFF) { - continue; - } // mPDF 6 - - if (!isset($font['dw']) || (isset($font['dw']) && $width != $font['dw'])) { - if ($cid == ($prevcid + 1)) { - // consecutive CID - if ($width == $prevwidth) { - if ($width == $range[$rangeid][0]) { - $range[$rangeid][] = $width; - } else { - array_pop($range[$rangeid]); - // new range - $rangeid = $prevcid; - $range[$rangeid] = []; - $range[$rangeid][] = $prevwidth; - $range[$rangeid][] = $width; - } - $interval = true; - $range[$rangeid]['interval'] = true; - } else { - if ($interval) { - // new range - $rangeid = $cid; - $range[$rangeid] = []; - $range[$rangeid][] = $width; - } else { - $range[$rangeid][] = $width; - } - $interval = false; - } - } else { - // new range - $rangeid = $cid; - $range[$rangeid] = []; - $range[$rangeid][] = $width; - $interval = false; - } - $prevcid = $cid; - $prevwidth = $width; - } - } - $w = $this->_putfontranges($range); - $this->_out($w); - if (!$asSubset) { - $this->fontCache->binaryWrite($font['fontkey'] . '.cw', $w); - } - } - - function _putfontranges(&$range) - { - // optimize ranges - $prevk = -1; - $nextk = -1; - $prevint = false; - foreach ($range as $k => $ws) { - $cws = count($ws); - if (($k == $nextk) and ( !$prevint) and ( (!isset($ws['interval'])) or ( $cws < 4))) { - if (isset($range[$k]['interval'])) { - unset($range[$k]['interval']); - } - $range[$prevk] = array_merge($range[$prevk], $range[$k]); - unset($range[$k]); - } else { - $prevk = $k; - } - $nextk = $k + $cws; - if (isset($ws['interval'])) { - if ($cws > 3) { - $prevint = true; - } else { - $prevint = false; - } - unset($range[$k]['interval']); - --$nextk; - } else { - $prevint = false; - } - } - // output data - $w = ''; - foreach ($range as $k => $ws) { - if (count(array_count_values($ws)) == 1) { - // interval mode is more compact - $w .= ' ' . $k . ' ' . ($k + count($ws) - 1) . ' ' . $ws[0]; - } else { - // range mode - $w .= ' ' . $k . ' [ ' . implode(' ', $ws) . ' ]' . "\n"; - } - } - return '/W [' . $w . ' ]'; - } - - function _putfontwidths(&$font, $cidoffset = 0) - { - ksort($font['cw']); - unset($font['cw'][65535]); - $rangeid = 0; - $range = []; - $prevcid = -2; - $prevwidth = -1; - $interval = false; - // for each character - foreach ($font['cw'] as $cid => $width) { - $cid -= $cidoffset; - if (!isset($font['dw']) || (isset($font['dw']) && $width != $font['dw'])) { - if ($cid == ($prevcid + 1)) { - // consecutive CID - if ($width == $prevwidth) { - if ($width == $range[$rangeid][0]) { - $range[$rangeid][] = $width; - } else { - array_pop($range[$rangeid]); - // new range - $rangeid = $prevcid; - $range[$rangeid] = []; - $range[$rangeid][] = $prevwidth; - $range[$rangeid][] = $width; - } - $interval = true; - $range[$rangeid]['interval'] = true; - } else { - if ($interval) { - // new range - $rangeid = $cid; - $range[$rangeid] = []; - $range[$rangeid][] = $width; - } else { - $range[$rangeid][] = $width; - } - $interval = false; - } - } else { - // new range - $rangeid = $cid; - $range[$rangeid] = []; - $range[$rangeid][] = $width; - $interval = false; - } - $prevcid = $cid; - $prevwidth = $width; - } - } - $this->_out($this->_putfontranges($range)); - } - - /* -- CJK-FONTS -- */ - - // from class PDF_Chinese CJK EXTENSIONS - function _putType0(&$font) - { - // Type0 - $this->_out('/Subtype /Type0'); - $this->_out('/BaseFont /' . $font['name'] . '-' . $font['CMap']); - $this->_out('/Encoding /' . $font['CMap']); - $this->_out('/DescendantFonts [' . ($this->n + 1) . ' 0 R]'); - $this->_out('>>'); - $this->_out('endobj'); - // CIDFont - $this->_newobj(); - $this->_out('<_out('/Subtype /CIDFontType0'); - $this->_out('/BaseFont /' . $font['name']); - - $cidinfo = '/Registry ' . $this->_textstring('Adobe'); - $cidinfo .= ' /Ordering ' . $this->_textstring($font['registry']['ordering']); - $cidinfo .= ' /Supplement ' . $font['registry']['supplement']; - $this->_out('/CIDSystemInfo <<' . $cidinfo . '>>'); - - $this->_out('/FontDescriptor ' . ($this->n + 1) . ' 0 R'); - if (isset($font['MissingWidth'])) { - $this->_out('/DW ' . $font['MissingWidth'] . ''); - } - $this->_putfontwidths($font, 31); - $this->_out('>>'); - $this->_out('endobj'); - - // Font descriptor - $this->_newobj(); - $s = '< $v) { - if ($k != 'Style') { - $s .= ' /' . $k . ' ' . $v . ''; - } - } - $this->_out($s . '>>'); - $this->_out('endobj'); - } - - /* -- END CJK-FONTS -- */ - - function _putimages() - { - $filter = ($this->compress) ? '/Filter /FlateDecode ' : ''; - - foreach ($this->images as $file => $info) { - - $this->_newobj(); - - $this->images[$file]['n'] = $this->n; - - $this->_out('<_out('/Subtype /Image'); - $this->_out('/Width ' . $info['w']); - $this->_out('/Height ' . $info['h']); - - if (isset($info['interpolation']) && $info['interpolation']) { - $this->_out('/Interpolate true'); // mPDF 6 - image interpolation shall be performed by a conforming reader - } - - if (isset($info['masked'])) { - $this->_out('/SMask ' . ($this->n - 1) . ' 0 R'); - } - - // set color space - $icc = false; - if (isset($info['icc']) and ( $info['icc'] !== false)) { - // ICC Colour Space - $icc = true; - $this->_out('/ColorSpace [/ICCBased ' . ($this->n + 1) . ' 0 R]'); - } elseif ($info['cs'] == 'Indexed') { - if ($this->PDFX || ($this->PDFA && $this->restrictColorSpace == 3)) { - throw new \Mpdf\MpdfException("PDFA1-b and PDFX/1-a files do not permit using mixed colour space (" . $file . ")."); - } - $this->_out('/ColorSpace [/Indexed /DeviceRGB ' . (strlen($info['pal']) / 3 - 1) . ' ' . ($this->n + 1) . ' 0 R]'); - } else { - $this->_out('/ColorSpace /' . $info['cs']); - if ($info['cs'] == 'DeviceCMYK') { - if ($this->PDFA && $this->restrictColorSpace != 3) { - throw new \Mpdf\MpdfException("PDFA1-b does not permit Images using mixed colour space (" . $file . ")."); - } - if ($info['type'] == 'jpg') { - $this->_out('/Decode [1 0 1 0 1 0 1 0]'); - } - } elseif ($info['cs'] == 'DeviceRGB' && ($this->PDFX || ($this->PDFA && $this->restrictColorSpace == 3))) { - throw new \Mpdf\MpdfException("PDFA1-b and PDFX/1-a files do not permit using mixed colour space (" . $file . ")."); - } - } - - $this->_out('/BitsPerComponent ' . $info['bpc']); - - if (isset($info['f']) && $info['f']) { - $this->_out('/Filter /' . $info['f']); - } - - if (isset($info['parms'])) { - $this->_out($info['parms']); - } - - if (isset($info['trns']) and is_array($info['trns'])) { - $trns = ''; - for ($i = 0; $i < count($info['trns']); $i++) { - $trns .= $info['trns'][$i] . ' ' . $info['trns'][$i] . ' '; - } - $this->_out('/Mask [' . $trns . ']'); - } - - $this->_out('/Length ' . strlen($info['data']) . '>>'); - $this->_putstream($info['data']); - - unset($this->images[$file]['data']); - - $this->_out('endobj'); - - if ($icc) { // ICC colour profile - $this->_newobj(); - $icc = ($this->compress) ? gzcompress($info['icc']) : $info['icc']; - $this->_out('<>'); - $this->_putstream($icc); - $this->_out('endobj'); - } elseif ($info['cs'] == 'Indexed') { // Palette - $this->_newobj(); - $pal = ($this->compress) ? gzcompress($info['pal']) : $info['pal']; - $this->_out('<<' . $filter . '/Length ' . strlen($pal) . '>>'); - $this->_putstream($pal); - $this->_out('endobj'); - } - } - } - - private function getVersionString() - { - $return = self::VERSION; - $headFile = __DIR__ . '/../.git/HEAD'; - if (file_exists($headFile)) { - $ref = file($headFile); - $path = explode('/', $ref[0], 3); - $branch = isset($path[2]) ? trim($path[2]) : ''; - $revFile = __DIR__ . '/../.git/refs/heads/' . $branch; - if ($branch && file_exists($revFile)) { - $rev = file($revFile); - $rev = substr($rev[0], 0, 7); - $return .= ' (' . $rev . ')'; - } - } - - return $return; - } - - function _putinfo() - { - $this->_out('/Producer ' . $this->_UTF16BEtextstring('mPDF ' . $this->getVersionString())); - if (!empty($this->title)) { - $this->_out('/Title ' . $this->_UTF16BEtextstring($this->title)); - } - if (!empty($this->subject)) { - $this->_out('/Subject ' . $this->_UTF16BEtextstring($this->subject)); - } - if (!empty($this->author)) { - $this->_out('/Author ' . $this->_UTF16BEtextstring($this->author)); - } - if (!empty($this->keywords)) { - $this->_out('/Keywords ' . $this->_UTF16BEtextstring($this->keywords)); - } - if (!empty($this->creator)) { - $this->_out('/Creator ' . $this->_UTF16BEtextstring($this->creator)); - } - foreach ($this->customProperties as $key => $value) { - $this->_out('/' . $key . ' ' . $this->_UTF16BEtextstring($value)); - } - - $z = date('O'); // +0200 - $offset = substr($z, 0, 3) . "'" . substr($z, 3, 2) . "'"; - $this->_out('/CreationDate ' . $this->_textstring(date('YmdHis') . $offset)); - $this->_out('/ModDate ' . $this->_textstring(date('YmdHis') . $offset)); - if ($this->PDFX) { - $this->_out('/Trapped/False'); - $this->_out('/GTS_PDFXVersion(PDF/X-1a:2003)'); - } - } - - function _putmetadata() - { - $this->_newobj(); - $this->MetadataRoot = $this->n; - $Producer = 'mPDF ' . self::VERSION; - $z = date('O'); // +0200 - $offset = substr($z, 0, 3) . ':' . substr($z, 3, 2); - $CreationDate = date('Y-m-d\TH:i:s') . $offset; // 2006-03-10T10:47:26-05:00 2006-06-19T09:05:17Z - $uuid = sprintf('%04x%04x-%04x-%04x-%04x-%04x%04x%04x', random_int(0, 0xffff), random_int(0, 0xffff), random_int(0, 0xffff), random_int(0, 0x0fff) | 0x4000, random_int(0, 0x3fff) | 0x8000, random_int(0, 0xffff), random_int(0, 0xffff), random_int(0, 0xffff)); - - - $m = '' . "\n"; // begin = FEFF BOM - $m .= ' ' . "\n"; - $m .= ' ' . "\n"; - $m .= ' ' . "\n"; - $m .= ' ' . $Producer . '' . "\n"; - if (!empty($this->keywords)) { - $m .= ' ' . $this->keywords . '' . "\n"; - } - $m .= ' ' . "\n"; - - $m .= ' ' . "\n"; - $m .= ' ' . $CreationDate . '' . "\n"; - $m .= ' ' . $CreationDate . '' . "\n"; - $m .= ' ' . $CreationDate . '' . "\n"; - if (!empty($this->creator)) { - $m .= ' ' . $this->creator . '' . "\n"; - } - $m .= ' ' . "\n"; - - // DC elements - $m .= ' ' . "\n"; - $m .= ' application/pdf' . "\n"; - if (!empty($this->title)) { - $m .= ' - - ' . $this->title . ' - - ' . "\n"; - } - if (!empty($this->keywords)) { - $m .= ' - - ' . $this->keywords . ' - - ' . "\n"; - } - if (!empty($this->subject)) { - $m .= ' - - ' . $this->subject . ' - - ' . "\n"; - } - if (!empty($this->author)) { - $m .= ' - - ' . $this->author . ' - - ' . "\n"; - } - $m .= ' ' . "\n"; - - if (!empty($this->additionalXmpRdf)) { - $m .= $this->additionalXmpRdf; - } - - // This bit is specific to PDFX-1a - if ($this->PDFX) { - $m .= ' ' . "\n"; - } // This bit is specific to PDFA-1b - elseif ($this->PDFA) { - - if (strpos($this->PDFAversion, '-') === false) { - throw new \Mpdf\MpdfException(sprintf('PDFA version (%s) is not valid. (Use: 1-B, 3-B, etc.)', $this->PDFAversion)); - } - - list($part, $conformance) = explode('-', strtoupper($this->PDFAversion)); - $m .= ' ' . "\n"; - $m .= ' ' . $part . '' . "\n"; - $m .= ' ' . $conformance . '' . "\n"; - if ($part === '1' && $conformance === 'B') { - $m .= ' 2005' . "\n"; - } - $m .= ' ' . "\n"; - } - - $m .= ' ' . "\n"; - $m .= ' uuid:' . $uuid . '' . "\n"; - $m .= ' ' . "\n"; - $m .= ' ' . "\n"; - $m .= ' ' . "\n"; - $m .= str_repeat(str_repeat(' ', 100) . "\n", 20); // 2-4kB whitespace padding required - $m .= ''; // "r" read only - $this->_out('<>'); - $this->_putstream($m); - $this->_out('endobj'); - } - - function _putoutputintent() - { - $this->_newobj(); - $this->OutputIntentRoot = $this->n; - $this->_out('<ICCProfile, '.icc')); - - if ($this->PDFA) { - $this->_out('/S /GTS_PDFA1'); - if ($this->ICCProfile) { - $this->_out('/Info (' . $ICCProfile . ')'); - $this->_out('/OutputConditionIdentifier (Custom)'); - $this->_out('/OutputCondition ()'); - } else { - $this->_out('/Info (sRGB IEC61966-2.1)'); - $this->_out('/OutputConditionIdentifier (sRGB IEC61966-2.1)'); - $this->_out('/OutputCondition ()'); - } - $this->_out('/DestOutputProfile ' . ($this->n + 1) . ' 0 R'); - } elseif ($this->PDFX) { // always a CMYK profile - $this->_out('/S /GTS_PDFX'); - if ($this->ICCProfile) { - $this->_out('/Info (' . $ICCProfile . ')'); - $this->_out('/OutputConditionIdentifier (Custom)'); - $this->_out('/OutputCondition ()'); - $this->_out('/DestOutputProfile ' . ($this->n + 1) . ' 0 R'); - } else { - $this->_out('/Info (CGATS TR 001)'); - $this->_out('/OutputConditionIdentifier (CGATS TR 001)'); - $this->_out('/OutputCondition (CGATS TR 001 (SWOP))'); - $this->_out('/RegistryName (http://www.color.org)'); - } - } - $this->_out('>>'); - $this->_out('endobj'); - - if ($this->PDFX && !$this->ICCProfile) { - return; - } - - $this->_newobj(); - - if ($this->ICCProfile) { - if (!file_exists($this->ICCProfile)) { - throw new \Mpdf\MpdfException(sprintf('Unable to find ICC profile "%s"', $this->ICCProfile)); - } - $s = file_get_contents($this->ICCProfile); - } else { - $s = file_get_contents(__DIR__ . '/../data/iccprofiles/sRGB_IEC61966-2-1.icc'); - } - - if ($this->compress) { - $s = gzcompress($s); - } - - $this->_out('<<'); - - if ($this->PDFX || ($this->PDFA && $this->restrictColorSpace == 3)) { - $this->_out('/N 4'); - } else { - $this->_out('/N 3'); - } - - if ($this->compress) { - $this->_out('/Filter /FlateDecode '); - } - - $this->_out('/Length ' . strlen($s) . '>>'); - $this->_putstream($s); - $this->_out('endobj'); - } - - function _putAssociatedFiles() - { - if (!function_exists('gzcompress')) { - throw new \Mpdf\MpdfException('ext-zlib is required for compression of associated files'); - } - - // for each file, we create the spec object + the stream object - foreach ($this->associatedFiles as $k => $file) { - // spec - $this->_newobj(); - $this->associatedFiles[$k]['_root'] = $this->n; // we store the root ref of object for future reference (e.g. /EmbeddedFiles catalog) - $this->_out('<_textstring($file['name'])); - if ($file['description']) { - $this->_out('/Desc ' . $this->_textstring($file['description'])); - } - $this->_out('/Type /Filespec'); - $this->_out('/EF <<'); - $this->_out('/F ' . ($this->n + 1) . ' 0 R'); - $this->_out('/UF ' . ($this->n + 1) . ' 0 R'); - $this->_out('>>'); - if ($file['AFRelationship']) { - $this->_out('/AFRelationship /' . $file['AFRelationship']); - } - $this->_out('/UF ' . $this->_textstring($file['name'])); - $this->_out('>>'); - $this->_out('endobj'); - - $fileContent = null; - if (isset($file['path'])) { - $fileContent = @file_get_contents($file['path']); - } elseif (isset($file['content'])) { - $fileContent = $file['content']; - } - - if (!$fileContent) { - throw new \Mpdf\MpdfException(sprintf('Cannot access associated file - %s', $file['path'])); - } - - $filestream = gzcompress($fileContent); - $this->_newobj(); - $this->_out('<_out('/Subtype /' . $this->_escapeName($file['mime'])); - } - $this->_out('/Length '.strlen($filestream)); - $this->_out('/Filter /FlateDecode'); - if (isset($file['path'])) { - $this->_out('/Params <_textstring('D:'.PdfDate::format(filemtime($file['path']))).' >>'); - } else { - $this->_out('/Params <_textstring('D:'.PdfDate::format(time())).' >>'); - } - - $this->_out('>>'); - $this->_putstream($filestream); - $this->_out('endobj'); - } - - // AF array - $this->_newobj(); - $refs = []; - foreach ($this->associatedFiles as $file) { - array_push($refs, '' . $file['_root'] . ' 0 R'); - } - $this->_out('[' . join(' ', $refs) . ']'); - $this->_out('endobj'); - $this->associatedFilesRoot = $this->n; - } - - function _putcatalog() - { - $this->_out('/Type /Catalog'); - $this->_out('/Pages 1 0 R'); - if ($this->ZoomMode == 'fullpage') { - $this->_out('/OpenAction [3 0 R /Fit]'); - } elseif ($this->ZoomMode == 'fullwidth') { - $this->_out('/OpenAction [3 0 R /FitH null]'); - } elseif ($this->ZoomMode == 'real') { - $this->_out('/OpenAction [3 0 R /XYZ null null 1]'); - } elseif (!is_string($this->ZoomMode)) { - $this->_out('/OpenAction [3 0 R /XYZ null null ' . ($this->ZoomMode / 100) . ']'); - } else { - $this->_out('/OpenAction [3 0 R /XYZ null null null]'); - } - if ($this->LayoutMode == 'single') { - $this->_out('/PageLayout /SinglePage'); - } elseif ($this->LayoutMode == 'continuous') { - $this->_out('/PageLayout /OneColumn'); - } elseif ($this->LayoutMode == 'twoleft') { - $this->_out('/PageLayout /TwoColumnLeft'); - } elseif ($this->LayoutMode == 'tworight') { - $this->_out('/PageLayout /TwoColumnRight'); - } elseif ($this->LayoutMode == 'two') { - if ($this->mirrorMargins) { - $this->_out('/PageLayout /TwoColumnRight'); - } else { - $this->_out('/PageLayout /TwoColumnLeft'); - } - } - - // Bookmarks - if (count($this->BMoutlines) > 0) { - $this->_out('/Outlines ' . $this->OutlineRoot . ' 0 R'); - $this->_out('/PageMode /UseOutlines'); - } - - // Fullscreen - if (is_int(strpos($this->DisplayPreferences, 'FullScreen'))) { - $this->_out('/PageMode /FullScreen'); - } - - // Metadata - if ($this->PDFA || $this->PDFX) { - $this->_out('/Metadata ' . $this->MetadataRoot . ' 0 R'); - } - - // OutputIntents - if ($this->PDFA || $this->PDFX || $this->ICCProfile) { - $this->_out('/OutputIntents [' . $this->OutputIntentRoot . ' 0 R]'); - } - - // Associated files - if ($this->associatedFilesRoot) { - $this->_out('/AF '. $this->associatedFilesRoot .' 0 R'); - - $names = []; - foreach ($this->associatedFiles as $file) { - array_push($names, $this->_textstring($file['name']) . ' ' . $file['_root'] . ' 0 R'); - } - $this->_out('/Names << /EmbeddedFiles << /Names [' . join(' ', $names) . '] >> >>'); - } - - // Forms - if (count($this->form->forms) > 0) { - $this->form->_putFormsCatalog(); - } - - if (isset($this->js)) { - $this->_out('/Names << /JavaScript ' . ($this->n_js) . ' 0 R >> '); - } - - if ($this->DisplayPreferences || $this->directionality == 'rtl' || $this->mirrorMargins) { - $this->_out('/ViewerPreferences<<'); - if (is_int(strpos($this->DisplayPreferences, 'HideMenubar'))) { - $this->_out('/HideMenubar true'); - } - if (is_int(strpos($this->DisplayPreferences, 'HideToolbar'))) { - $this->_out('/HideToolbar true'); - } - if (is_int(strpos($this->DisplayPreferences, 'HideWindowUI'))) { - $this->_out('/HideWindowUI true'); - } - if (is_int(strpos($this->DisplayPreferences, 'DisplayDocTitle'))) { - $this->_out('/DisplayDocTitle true'); - } - if (is_int(strpos($this->DisplayPreferences, 'CenterWindow'))) { - $this->_out('/CenterWindow true'); - } - if (is_int(strpos($this->DisplayPreferences, 'FitWindow'))) { - $this->_out('/FitWindow true'); - } - ///PrintScaling is PDF 1.6 spec. - if (is_int(strpos($this->DisplayPreferences, 'NoPrintScaling')) && !$this->PDFA && !$this->PDFX) { - $this->_out('/PrintScaling /None'); - } - if ($this->directionality == 'rtl') { - $this->_out('/Direction /R2L'); - } - ///Duplex is PDF 1.7 spec. - if ($this->mirrorMargins && !$this->PDFA && !$this->PDFX) { - // if ($this->DefOrientation=='P') $this->_out('/Duplex /DuplexFlipShortEdge'); - $this->_out('/Duplex /DuplexFlipLongEdge'); // PDF v1.7+ - } - $this->_out('>>'); - } - - if ($this->open_layer_pane && ($this->hasOC || count($this->layers))) { - $this->_out('/PageMode /UseOC'); - } - - if ($this->hasOC || count($this->layers)) { - $p = $v = $h = $l = $loff = $lall = $as = ''; - if ($this->hasOC) { - if (($this->hasOC & 1) == 1) { - $p = $this->n_ocg_print . ' 0 R'; - } - if (($this->hasOC & 2) == 2) { - $v = $this->n_ocg_view . ' 0 R'; - } - if (($this->hasOC & 4) == 4) { - $h = $this->n_ocg_hidden . ' 0 R'; - } - $as = "<> <>"; - } - - if (count($this->layers)) { - foreach ($this->layers as $k => $layer) { - if (strtolower($this->layerDetails[$k]['state']) == 'hidden') { - $loff .= $layer['n'] . ' 0 R '; - } else { - $l .= $layer['n'] . ' 0 R '; - } - $lall .= $layer['n'] . ' 0 R '; - } - } - $this->_out("/OCProperties <_out("/Order [$v $p $h $lall] "); - if ($as) { - $this->_out("/AS [$as] "); - } - $this->_out(">>>>"); - } - } - function _enddoc() { // @log Writing Headers & Footers @@ -11482,76 +9994,71 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface } } - $this->_putpages(); + $this->pageWriter->writePages(); // @log Writing document resources - $this->_putresources(); + $this->resourceWriter->writeResources(); + // Info - $this->_newobj(); + $this->writer->object(); $this->InfoRoot = $this->n; - $this->_out('<<'); + $this->writer->write('<<'); // @log Writing document info + $this->metadataWriter->writeInfo(); - $this->_putinfo(); - $this->_out('>>'); - $this->_out('endobj'); + $this->writer->write('>>'); + $this->writer->write('endobj'); // METADATA if ($this->PDFA || $this->PDFX) { - $this->_putmetadata(); + $this->metadataWriter->writeMetadata(); } // OUTPUTINTENT if ($this->PDFA || $this->PDFX || $this->ICCProfile) { - $this->_putoutputintent(); + $this->metadataWriter->writeOutputIntent(); } // Associated files if ($this->associatedFiles) { - $this->_putAssociatedFiles(); + $this->metadataWriter->writeAssociatedFiles(); } // Catalog - $this->_newobj(); - $this->_out('<<'); + $this->writer->object(); + $this->writer->write('<<'); // @log Writing document catalog - $this->_putcatalog(); - $this->_out('>>'); - $this->_out('endobj'); + $this->metadataWriter->writeCatalog(); + + $this->writer->write('>>'); + $this->writer->write('endobj'); // Cross-ref $o = strlen($this->buffer); - $this->_out('xref'); - $this->_out('0 ' . ($this->n + 1)); - $this->_out('0000000000 65535 f '); + $this->writer->write('xref'); + $this->writer->write('0 ' . ($this->n + 1)); + $this->writer->write('0000000000 65535 f '); for ($i = 1; $i <= $this->n; $i++) { - $this->_out(sprintf('%010d 00000 n ', $this->offsets[$i])); + $this->writer->write(sprintf('%010d 00000 n ', $this->offsets[$i])); } // Trailer - $this->_out('trailer'); - $this->_out('<<'); - $this->_puttrailer(); - $this->_out('>>'); - $this->_out('startxref'); - $this->_out($o); + $this->writer->write('trailer'); + $this->writer->write('<<'); + + $this->metadataWriter->writeTrailer(); + + $this->writer->write('>>'); + $this->writer->write('startxref'); + $this->writer->write($o); $this->buffer .= '%%EOF'; $this->state = 3; - - // Imports - if ($this->enableImports && count($this->parsers) > 0) { - foreach ($this->parsers as $k => $_) { - $this->parsers[$k]->closeFile(); - $this->parsers[$k] = null; - unset($this->parsers[$k]); - } - } } function _beginpage( @@ -11957,19 +10464,6 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface $this->state = 1; } - function _newobj($obj_id = false, $onlynewobj = false) - { - if (!$obj_id) { - $obj_id = ++$this->n; - } - // Begin a new object - if (!$onlynewobj) { - $this->offsets[$obj_id] = strlen($this->buffer); - $this->_out($obj_id . ' 0 obj'); - $this->_current_obj_id = $obj_id; // for later use with encryption - } - } - function _dounderline($x, $y, $txt, $OTLdata = false, $textvar = 0) { // Now print line exactly where $y secifies - called from Text() and Cell() - adjust position there @@ -11979,220 +10473,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface return sprintf('%.3F %.3F m %.3F %.3F l S', $x * Mpdf::SCALE, ($this->h - $y) * Mpdf::SCALE, ($x * Mpdf::SCALE) + $w, ($this->h - $y) * Mpdf::SCALE); } - function getFileContentsByCurl($url, &$data) - { - $this->logger->debug(sprintf('Fetching (cURL) content of remote URL "%s"', $url), ['context' => LogContext::REMOTE_CONTENT]); - $ch = curl_init($url); - - curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:13.0) Gecko/20100101 Firefox/13.0.1'); // mPDF 5.7.4 - curl_setopt($ch, CURLOPT_HEADER, 0); - curl_setopt($ch, CURLOPT_NOBODY, 0); - curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); - curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $this->curlTimeout); - - if ($this->curlFollowLocation) { - curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); - } - - if ($this->curlAllowUnsafeSslRequests) { - curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); - curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); - } - - $data = curl_exec($ch); - curl_close($ch); - } - - function getFileContentsBySocket($url, &$data) - { - $this->logger->debug(sprintf('Fetching (socket) content of remote URL "%s"', $url), ['context' => LogContext::REMOTE_CONTENT]); - // mPDF 5.7.3 - - $timeout = 1; - $p = parse_url($url); - $file = $p['path']; - if ($p['scheme'] == 'https') { - $prefix = 'ssl://'; - $port = ($p['port'] ? $p['port'] : 443); - } else { - $prefix = ''; - $port = ($p['port'] ? $p['port'] : 80); - } - if ($p['query']) { - $file .= '?' . $p['query']; - } - if (!($fh = @fsockopen($prefix . $p['host'], $port, $errno, $errstr, $timeout))) { - return false; - } - - $getstring = "GET " . $file . " HTTP/1.0 \r\n" . - "Host: " . $p['host'] . " \r\n" . - "Connection: close\r\n\r\n"; - - fwrite($fh, $getstring); - - // Get rid of HTTP header - $s = fgets($fh, 1024); - if (!$s) { - return false; - } - while (!feof($fh)) { - $s = fgets($fh, 1024); - if ($s == "\r\n") { - break; - } - } - $data = ''; - - while (!feof($fh)) { - $data .= fgets($fh, 1024); - } - - fclose($fh); - } - - // ============================================================== - // Moved outside WMF as also needed for SVG - function _putformobjects() - { - foreach ($this->formobjects as $file => $info) { - - $this->_newobj(); - - $this->formobjects[$file]['n'] = $this->n; - - $this->_out('<_out('/Subtype /Form'); - $this->_out('/Group ' . ($this->n + 1) . ' 0 R'); - $this->_out('/BBox [' . $info['x'] . ' ' . $info['y'] . ' ' . ($info['w'] + $info['x']) . ' ' . ($info['h'] + $info['y']) . ']'); - - if ($this->compress) { - $this->_out('/Filter /FlateDecode'); - } - - $data = ($this->compress) ? gzcompress($info['data']) : $info['data']; - $this->_out('/Length ' . strlen($data) . '>>'); - $this->_putstream($data); - - unset($this->formobjects[$file]['data']); - - $this->_out('endobj'); - - // Required for SVG transparency (opacity) to work - $this->_newobj(); - $this->_out('<_out('/S /Transparency'); - $this->_out('>>'); - $this->_out('endobj'); - } - } - - function _freadint($f) - { - $i = ord(fread($f, 1)) << 24; - $i += ord(fread($f, 1)) << 16; - $i += ord(fread($f, 1)) << 8; - $i += ord(fread($f, 1)); - - return $i; - } - - function _UTF16BEtextstring($s) - { - $s = $this->UTF8ToUTF16BE($s, true); - if ($this->encrypted) { - $s = $this->protection->rc4($this->protection->objectKey($this->_current_obj_id), $s); - } - - return '(' . $this->_escape($s) . ')'; - } - - function _textstring($s) - { - if ($this->encrypted) { - $s = $this->protection->rc4($this->protection->objectKey($this->_current_obj_id), $s); - } - - return '(' . $this->_escape($s) . ')'; - } - - function _escape($s) - { - return strtr($s, [')' => '\\)', '(' => '\\(', '\\' => '\\\\', chr(13) => '\r']); - } - - function _escapeName($s) - { - return strtr($s, array('/' => '#2F')); - } - - function _putstream($s) - { - if ($this->encrypted) { - $s = $this->protection->rc4($this->protection->objectKey($this->_current_obj_id), $s); - } - - $this->_out('stream'); - $this->_out($s); - $this->_out('endstream'); - } - - function _out($s, $ln = true) - { - if ($this->state == 2) { - if ($this->bufferoutput) { - $this->headerbuffer.= $s . "\n"; - } /* -- COLUMNS -- */ elseif (($this->ColActive) && !$this->processingHeader && !$this->processingFooter) { - // Captures everything in buffer for columns; Almost everything is sent from fn. Cell() except: - // Images sent from Image() or - // later sent as _out($textto) in printbuffer - // Line() - if (preg_match('/q \d+\.\d\d+ 0 0 (\d+\.\d\d+) \d+\.\d\d+ \d+\.\d\d+ cm \/(I|FO)\d+ Do Q/', $s, $m)) { // Image data - $h = ($m[1] / Mpdf::SCALE); - // Update/overwrite the lowest bottom of printing y value for a column - $this->ColDetails[$this->CurrCol]['bottom_margin'] = $this->y + $h; - } /* -- TABLES -- */ elseif (preg_match('/\d+\.\d\d+ \d+\.\d\d+ \d+\.\d\d+ ([\-]{0,1}\d+\.\d\d+) re/', $s, $m) && $this->tableLevel > 0) { // Rect in table - $h = ($m[1] / Mpdf::SCALE); - // Update/overwrite the lowest bottom of printing y value for a column - $this->ColDetails[$this->CurrCol]['bottom_margin'] = max($this->ColDetails[$this->CurrCol]['bottom_margin'], ($this->y + $h)); - } /* -- END TABLES -- */ else { // Td Text Set in Cell() - if (isset($this->ColDetails[$this->CurrCol]['bottom_margin'])) { - $h = $this->ColDetails[$this->CurrCol]['bottom_margin'] - $this->y; - } else { - $h = 0; - } - } - if ($h < 0) { - $h = -$h; - } - $this->columnbuffer[] = [ - 's' => $s, // Text string to output - 'col' => $this->CurrCol, // Column when printed - 'x' => $this->x, // x when printed - 'y' => $this->y, // this->y when printed (after column break) - 'h' => $h // actual y at bottom when printed = y+h - ]; - } /* -- END COLUMNS -- */ - /* -- TABLES -- */ elseif ($this->table_rotate && !$this->processingHeader && !$this->processingFooter) { - // Captures eveything in buffer for rotated tables; - $this->tablebuffer .= $s . "\n"; - } /* -- END TABLES -- */ elseif ($this->kwt && !$this->processingHeader && !$this->processingFooter) { - // Captures eveything in buffer for keep-with-table (h1-6); - $this->kwt_buffer[] = [ - 's' => $s, // Text string to output - 'x' => $this->x, // x when printed - 'y' => $this->y, // y when printed - ]; - } elseif (($this->keep_block_together) && !$this->processingHeader && !$this->processingFooter) { - // do nothing - } else { - $this->pages[$this->page] .= $s . ($ln == true ? "\n" : ''); - } - } else { - $this->buffer .= $s . ($ln == true ? "\n" : ''); - } - } /* -- WATERMARK -- */ @@ -12312,7 +10593,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface $y = $this->y; } if ($this->angle != 0) { - $this->_out('Q'); + $this->writer->write('Q'); } $this->angle = $angle; if ($angle != 0) { @@ -12321,7 +10602,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface $s = sin($angle); $cx = $x * Mpdf::SCALE; $cy = ($this->h - $y) * Mpdf::SCALE; - $this->_out(sprintf('q %.5F %.5F %.5F %.5F %.3F %.3F cm 1 0 0 1 %.3F %.3F cm', $c, $s, -$s, $c, $cx, $cy, -$cx, -$cy)); + $this->writer->write(sprintf('q %.5F %.5F %.5F %.5F %.3F %.3F cm 1 0 0 1 %.3F %.3F cm', $c, $s, -$s, $c, $cx, $cy, -$cx, -$cy)); } } @@ -12348,34 +10629,34 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface } $MyArc = 4 / 3 * (sqrt(2) - 1); - $this->_out(sprintf('%.3F %.3F m', ($x + $r) * Mpdf::SCALE, ($hp - $y) * Mpdf::SCALE)); + $this->writer->write(sprintf('%.3F %.3F m', ($x + $r) * Mpdf::SCALE, ($hp - $y) * Mpdf::SCALE)); $xc = $x + $w - $r; $yc = $y + $r; - $this->_out(sprintf('%.3F %.3F l', $xc * Mpdf::SCALE, ($hp - $y) * Mpdf::SCALE)); + $this->writer->write(sprintf('%.3F %.3F l', $xc * Mpdf::SCALE, ($hp - $y) * Mpdf::SCALE)); $this->_Arc($xc + $r * $MyArc, $yc - $r, $xc + $r, $yc - $r * $MyArc, $xc + $r, $yc); $xc = $x + $w - $r; $yc = $y + $h - $r; - $this->_out(sprintf('%.3F %.3F l', ($x + $w) * Mpdf::SCALE, ($hp - $yc) * Mpdf::SCALE)); + $this->writer->write(sprintf('%.3F %.3F l', ($x + $w) * Mpdf::SCALE, ($hp - $yc) * Mpdf::SCALE)); $this->_Arc($xc + $r, $yc + $r * $MyArc, $xc + $r * $MyArc, $yc + $r, $xc, $yc + $r); $xc = $x + $r; $yc = $y + $h - $r; - $this->_out(sprintf('%.3F %.3F l', $xc * Mpdf::SCALE, ($hp - ($y + $h)) * Mpdf::SCALE)); + $this->writer->write(sprintf('%.3F %.3F l', $xc * Mpdf::SCALE, ($hp - ($y + $h)) * Mpdf::SCALE)); $this->_Arc($xc - $r * $MyArc, $yc + $r, $xc - $r, $yc + $r * $MyArc, $xc - $r, $yc); $xc = $x + $r; $yc = $y + $r; - $this->_out(sprintf('%.3F %.3F l', ($x) * Mpdf::SCALE, ($hp - $yc) * Mpdf::SCALE)); + $this->writer->write(sprintf('%.3F %.3F l', ($x) * Mpdf::SCALE, ($hp - $yc) * Mpdf::SCALE)); $this->_Arc($xc - $r, $yc - $r * $MyArc, $xc - $r * $MyArc, $yc - $r, $xc, $yc - $r); - $this->_out($op); + $this->writer->write($op); } function _Arc($x1, $y1, $x2, $y2, $x3, $y3) { $h = $this->h; - $this->_out(sprintf('%.3F %.3F %.3F %.3F %.3F %.3F c ', $x1 * Mpdf::SCALE, ($h - $y1) * Mpdf::SCALE, $x2 * Mpdf::SCALE, ($h - $y2) * Mpdf::SCALE, $x3 * Mpdf::SCALE, ($h - $y3) * Mpdf::SCALE)); + $this->writer->write(sprintf('%.3F %.3F %.3F %.3F %.3F %.3F c ', $x1 * Mpdf::SCALE, ($h - $y1) * Mpdf::SCALE, $x2 * Mpdf::SCALE, ($h - $y2) * Mpdf::SCALE, $x3 * Mpdf::SCALE, ($h - $y3) * Mpdf::SCALE)); } // ==================================================== @@ -12482,26 +10763,6 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface return $ret; } - // Converts UTF-8 strings to UTF16-BE. - function UTF8ToUTF16BE($str, $setbom = true) - { - if ($this->checkSIP && preg_match("/([\x{20000}-\x{2FFFF}])/u", $str)) { - if (!in_array($this->currentfontfamily, ['gb', 'big5', 'sjis', 'uhc', 'gbB', 'big5B', 'sjisB', 'uhcB', 'gbI', 'big5I', 'sjisI', 'uhcI', - 'gbBI', 'big5BI', 'sjisBI', 'uhcBI'])) { - $str = preg_replace("/[\x{20000}-\x{2FFFF}]/u", chr(0), $str); - } - } - if ($this->checkSMP && preg_match("/([\x{10000}-\x{1FFFF}])/u", $str)) { - $str = preg_replace("/[\x{10000}-\x{1FFFF}]/u", chr(0), $str); - } - $outstr = ""; // string to be returned - if ($setbom) { - $outstr .= "\xFE\xFF"; // Byte Order Mark (BOM) - } - $outstr .= mb_convert_encoding($str, 'UTF-16BE', 'UTF-8'); - return $outstr; - } - /* -- CJK-FONTS -- */ // from class PDF_Chinese CJK EXTENSIONS @@ -12823,10 +11084,15 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface // and add half to the top and half to the bottom. BUT // If an inline element has a font-size less than the block element, and the line-height is set as an em or % value // it will add too much leading below the font and expand the height of the line - so just use the block element exttop/extbottom: - if (preg_match('/mm/', $CSSlineheight) && $ypos['boxtop'] < $blockYpos['boxtop'] && $ypos['boxbottom'] > $blockYpos['boxbottom']) { + if (preg_match('/mm/', $CSSlineheight) + && ($blockYpos && $ypos['boxtop'] < $blockYpos['boxtop']) + && ($blockYpos && $ypos['boxbottom'] > $blockYpos['boxbottom'])) { + $ypos['exttop'] = $blockYpos['exttop']; $ypos['extbottom'] = $blockYpos['extbottom']; + } else { + $leading += ($lineheight - $fontheight); $ypos['exttop'] = $ypos['boxtop'] + $leading / 2; @@ -13146,7 +11412,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface $host = ''; } if (!$str) { - if ($_SERVER['SCRIPT_NAME']) { + if (isset($_SERVER['SCRIPT_NAME'])) { $currentPath = dirname($_SERVER['SCRIPT_NAME']); } else { $currentPath = dirname($_SERVER['PHP_SELF']); @@ -13206,7 +11472,10 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface return; } - if (preg_match('@^(mailto|tel|fax):.*@i', $path)) { + // Skip schemes not supported by installed stream wrappers + $wrappers = stream_get_wrappers(); + $pattern = sprintf('@^(?!%s)[a-z0-9\.\-+]+:.*@i', implode('|', $wrappers)); + if (preg_match($pattern, $path)) { return; } @@ -13229,7 +11498,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface $path = $path . "/" . $filepath; // Make it an absolute path - } elseif ((strpos($path, ":/") === false || strpos($path, ":/") > 10) && !is_file($path)) { // It is a local link + } elseif ((strpos($path, ":/") === false || strpos($path, ":/") > 10) && !@is_file($path)) { // It is a local link. Ignore potential file errors if (substr($path, 0, 1) == "/") { @@ -13393,7 +11662,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface $ppgno = $decToHebrew->convert($ppgno, $reverse); - } elseif (preg_match('/(arabic-indic|bengali|devanagari|gujarati|gurmukhi|kannada|malayalam|oriya|persian|tamil|telugu|thai|urdu|cambodian|khmer|lao)/i', $lowertype, $m)) { + } elseif (preg_match('/(arabic-indic|bengali|devanagari|gujarati|gurmukhi|kannada|malayalam|oriya|persian|tamil|telugu|thai|urdu|cambodian|khmer|lao|myanmar)/i', $lowertype, $m)) { $cp = $decToOther->getCodePage($m[1]); $ppgno = $decToOther->convert($ppgno, $cp, $checkfont); @@ -13745,7 +12014,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface } else { $opac = ''; } - $this->_out(sprintf('q /Pattern cs /P%d scn %s %.3F %.3F %.3F %.3F re f Q', $n, $opac, $px * Mpdf::SCALE, ($this->h - $py) * Mpdf::SCALE, $pw * Mpdf::SCALE, -$ph * Mpdf::SCALE)); + $this->writer->write(sprintf('q /Pattern cs /P%d scn %s %.3F %.3F %.3F %.3F re f Q', $n, $opac, $px * Mpdf::SCALE, ($this->h - $py) * Mpdf::SCALE, $pw * Mpdf::SCALE, -$ph * Mpdf::SCALE)); } else { $this->tableBackgrounds[$level * 9 + 8][] = ['x' => $px, 'y' => $py, 'w' => $pw, 'h' => $ph, 'image_id' => $tablehf['background-image']['image_id'], 'orig_w' => $tablehf['background-image']['orig_w'], 'orig_h' => $tablehf['background-image']['orig_h'], 'x_pos' => $tablehf['background-image']['x_pos'], 'y_pos' => $tablehf['background-image']['y_pos'], 'x_repeat' => $tablehf['background-image']['x_repeat'], 'y_repeat' => $tablehf['background-image']['y_repeat'], 'clippath' => '', 'resize' => $tablehf['background-image']['resize'], 'opacity' => $tablehf['background-image']['opacity'], 'itype' => $tablehf['background-image']['itype']]; } @@ -14131,19 +12400,23 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface $save_y = $this->y; $this->x = $this->lMargin; $this->y = $this->margin_header; - $html = str_replace('{PAGENO}', $this->pagenumPrefix . $this->docPageNum($this->page) . $this->pagenumSuffix, $html); - $html = str_replace($this->aliasNbPgGp, $this->nbpgPrefix . $this->docPageNumTotal($this->page) . $this->nbpgSuffix, $html); - $html = str_replace($this->aliasNbPg, $this->page, $html); - $html = preg_replace_callback('/\{DATE\s+(.*?)\}/', [$this, 'date_callback'], $html); // mPDF 5.7 + + // Replace of page number aliases and date format + $pnstr = $this->pagenumPrefix . $this->docPageNum($this->page) . $this->pagenumSuffix; + $pntstr = $this->nbpgPrefix . $this->docPageNumTotal($this->page) . $this->nbpgSuffix; + $nb = $this->page; + $html = $this->aliasReplace($html, $pnstr, $pntstr, $nb); + $this->HTMLheaderPageLinks = []; $this->HTMLheaderPageAnnots = []; $this->HTMLheaderPageForms = []; $savepb = $this->pageBackgrounds; $this->writingHTMLheader = true; - $this->WriteHTML($html, 4); // parameter 4 saves output to $this->headerbuffer + $this->WriteHTML($html, HTMLParserMode::HTML_HEADER_BUFFER); $this->writingHTMLheader = false; $h = ($this->y - $this->margin_header); $this->Reset(); + // mPDF 5.7.2 - Clear in case Float used in Header/Footer $this->blk[0]['blockContext'] = 0; $this->blk[0]['float_endpos'] = 0; @@ -14154,6 +12427,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface $this->x = $save_x; $this->y = $save_y; $this->state = $save_state; + if ($save_state == 0) { unset($this->pages[1]); $this->page = 0; @@ -14255,7 +12529,9 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface $lContent = (isset($arr['L']['content']) ? $arr['L']['content'] : ''); $cContent = (isset($arr['C']['content']) ? $arr['C']['content'] : ''); $rContent = (isset($arr['R']['content']) ? $arr['R']['content'] : ''); + list($lw, $cw, $rw) = $this->_shareHeaderFooterWidth($lContent, $cContent, $rContent); + if ($hf == 'H') { $valign = 'bottom'; $vpadding = '0 0 ' . $this->header_line_spacing . 'em 0'; @@ -14263,6 +12539,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface $valign = 'top'; $vpadding = '' . $this->footer_line_spacing . 'em 0 0 0'; } + if ($this->directionality == 'rtl') { // table columns get reversed so need different text-alignment $talignL = 'right'; $talignR = 'left'; @@ -14270,22 +12547,29 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface $talignL = 'left'; $talignR = 'right'; } + $html = ''; $html .= ''; $html .= ''; $html .= ''; $html .= ''; $html .= '
' . $lContent . '' . $cContent . '' . $rContent . '
'; + return $html; } @@ -14415,28 +12711,40 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface { $oddhtml = ''; $evenhtml = ''; + if (is_string($Harray)) { - if (strlen($Harray) == 0) { + + if (strlen($Harray) === 0) { + $oddhtml = ''; $evenhtml = ''; + } elseif (strpos($Harray, '|') !== false) { + $hdet = explode('|', $Harray); + list($lw, $cw, $rw) = $this->_shareHeaderFooterWidth($hdet[0], $hdet[1], $hdet[2]); $oddhtml = ''; $oddhtml .= ''; $oddhtml .= ''; @@ -14445,9 +12753,11 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface $oddhtml .= '
' . $hdet[0] . '
'; $evenhtml = ''; $evenhtml .= ''; $evenhtml .= ''; $evenhtml .= ''; $evenhtml .= ''; $evenhtml .= '
' . $hdet[2] . '' . $hdet[1] . '' . $hdet[0] . '
'; + } else { + $oddhtml = '
' . $Harray . '
'; + $oddhtml .= 'text-align: right; ">' . $Harray . '
'; $evenhtml = '
' . $Harray . '
'; } + } elseif (is_array($Harray) && !empty($Harray)) { - if ($side == 'O') { + + $odd = null; + $even = null; + + if ($side === 'O') { $odd = $Harray; - } elseif ($side == 'E') { + } elseif ($side === 'E') { $even = $Harray; } else { - $odd = $Harray['odd']; - $even = $Harray['even']; + $odd = Arrays::get($Harray, 'odd', null); + $even = Arrays::get($Harray, 'even', null); } - $oddhtml = $this->_createHTMLheaderFooter($odd, 'H'); + $oddhtml = $this->_createHTMLheaderFooter($odd, 'H'); $evenhtml = $this->_createHTMLheaderFooter($even, 'H'); } - if ($side == 'E') { + if ($side === 'E') { $this->SetHTMLHeader($evenhtml, 'E', $write); - } elseif ($side == 'O') { + } elseif ($side === 'O') { $this->SetHTMLHeader($oddhtml, 'O', $write); } else { $this->SetHTMLHeader($oddhtml, 'O', $write); @@ -14528,16 +12858,23 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface { $oddhtml = ''; $evenhtml = ''; + if (is_string($Farray)) { + if (strlen($Farray) == 0) { + $oddhtml = ''; $evenhtml = ''; + } elseif (strpos($Farray, '|') !== false) { + $hdet = explode('|', $Farray); $oddhtml = ''; $oddhtml .= ''; $oddhtml .= ''; @@ -14557,93 +12896,108 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface $oddhtml .= '
' . $hdet[0] . '
'; $evenhtml = ''; $evenhtml .= ''; $evenhtml .= ''; $evenhtml .= ''; $evenhtml .= ''; $evenhtml .= '
' . $hdet[2] . '' . $hdet[1] . '' . $hdet[0] . '
'; + } else { + $oddhtml = '
' . $Farray . '
'; $evenhtml = '
' . $Farray . '
'; } + } elseif (is_array($Farray)) { - if ($side == 'O') { + + $odd = null; + $even = null; + + if ($side === 'O') { $odd = $Farray; } elseif ($side == 'E') { $even = $Farray; } else { - if (isset($Farray['odd'])) { - $odd = $Farray['odd']; - } - if (isset($Farray['even'])) { - $even = $Farray['even']; - } + $odd = Arrays::get($Farray, 'odd', null); + $even = Arrays::get($Farray, 'even', null); } - if (isset($odd)) { - $oddhtml = $this->_createHTMLheaderFooter($odd, 'F'); - } - - if (isset($even)) { - $evenhtml = $this->_createHTMLheaderFooter($even, 'F'); - } + $oddhtml = $this->_createHTMLheaderFooter($odd, 'F'); + $evenhtml = $this->_createHTMLheaderFooter($even, 'F'); } - /* -- HTMLfooterS-FOOTERS -- */ - if ($side == 'E') { + + if ($side === 'E') { $this->SetHTMLFooter($evenhtml, 'E'); - } elseif ($side == 'O') { + } elseif ($side === 'O') { $this->SetHTMLFooter($oddhtml, 'O'); } else { $this->SetHTMLFooter($oddhtml, 'O'); $this->SetHTMLFooter($evenhtml, 'E'); } - /* -- END HTMLfooterS-FOOTERS -- */ } /* -- WATERMARK -- */ @@ -14705,10 +13059,10 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface if ($this->printers_info) { $hd = date('Y-m-d H:i') . ' Page ' . $this->page . ' of {nb}'; $this->SetTColor($this->colorConverter->convert(0, $this->PDFAXwarnings)); - $this->SetFont('lato', '', 7.5, true, true); + $this->SetFont('arial', '', 7.5, true, true); $this->x = $this->page_box['outer_width_LR'] + 1.5; $this->y = 1; - $this->Cell($headerpgwidth, $this->FontSize, $hd, 0, 0, 'L', 0, '', 0, 0, 0, 'M'); + $this->Cell(0, $this->FontSize, $hd, 0, 0, 'L', 0, '', 0, 0, 0, 'M'); $this->SetFont($this->default_font, '', $this->original_default_font_size); } } @@ -14779,18 +13133,16 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface /* -- HTML-CSS -- */ /** - * HTML parser + * Write HTML code to the document + * + * Also used internally to parse HTML into buffers * * @param string $html - * @param int $sub 0 = default; - * 1 = headerCSS only - * 2 = HTML body (parts) only; - * 3 = HTML parses only - * 4 = writes HTML headers/Fixed pos DIVs - stores in buffer - for single page only - * @param bool $init Clears and sets buffers to Top level block etc. - * @param bool $close If false leaves buffers etc. in current state, so that it can continue a block etc. + * @param int $mode Use HTMLParserMode constants. Controls what parts of the $html code is parsed. + * @param bool $init Clears and sets buffers to Top level block etc. + * @param bool $close If false leaves buffers etc. in current state, so that it can continue a block etc. */ - function WriteHTML($html, $sub = 0, $init = true, $close = true) + function WriteHTML($html, $mode = HTMLParserMode::DEFAULT_MODE, $init = true, $close = true) { /* Check $html is an integer, float, string, boolean or class with __toString(), otherwise throw exception */ if (is_scalar($html) === false) { @@ -14799,6 +13151,11 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface } } + // Check the mode is valid + if (in_array($mode, HTMLParserMode::getAllModes(), true) === false) { + throw new \Mpdf\MpdfException('WriteHTML() requires $mode to be one of the modes defined in HTMLParserMode'); + } + /* Cast $html as a string */ $html = (string) $html; @@ -14809,15 +13166,15 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface $this->textbuffer = []; $this->fixedPosBlockSave = []; } - if ($sub == 1) { + if ($mode === HTMLParserMode::HEADER_CSS) { $html = ''; } // stylesheet only if ($this->allow_charset_conversion) { - if ($sub < 1) { + if ($mode === HTMLParserMode::DEFAULT_MODE) { $this->ReadCharset($html); } - if ($this->charset_in && $sub != 4) { + if ($this->charset_in && $mode !== HTMLParserMode::HTML_HEADER_BUFFER) { $success = iconv($this->charset_in, 'UTF-8//TRANSLIT', $html); if ($success) { $html = $success; @@ -14837,7 +13194,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface } $zproperties = []; - if ($sub < 2) { + if ($mode === HTMLParserMode::DEFAULT_MODE || $mode === HTMLParserMode::HEADER_CSS) { $this->ReadMetaTags($html); if (preg_match('/]*href=["\']([^"\'>]*)["\']/i', $html, $m)) { @@ -14889,7 +13246,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface $this->blk[0]['InlineProperties'] = $this->saveInlineProperties(); - if ($sub == 1) { + if ($mode === HTMLParserMode::HEADER_CSS) { return ''; } if (!isset($this->cssManager->CSS['BODY'])) { @@ -14935,7 +13292,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface $parseonly = false; $this->bufferoutput = false; - if ($sub == 3) { + if ($mode == HTMLParserMode::HTML_PARSE_NO_WRITE) { $parseonly = true; // Close any open block tags $arr = []; @@ -14948,7 +13305,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface $this->printbuffer($this->textbuffer); } $this->textbuffer = []; - } elseif ($sub == 4) { + } elseif ($mode === HTMLParserMode::HTML_HEADER_BUFFER) { // Close any open block tags $arr = []; $ai = 0; @@ -14992,7 +13349,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface $html = preg_replace('//si', '', $html); $html = preg_replace('//si', '', $html); - if ($this->state == 0 && $sub != 1 && $sub != 3 && $sub != 4) { + if ($this->state == 0 && ($mode === HTMLParserMode::DEFAULT_MODE || $mode === HTMLParserMode::HTML_BODY)) { $this->AddPage($this->CurOrientation); } @@ -15215,21 +13572,30 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface $this->cell[$this->row][$this->col]['s'] += (isset($this->spanborddet['L']['w']) ? $this->spanborddet['L']['w'] : 0) + (isset($this->spanborddet['R']['w']) ? $this->spanborddet['R']['w'] : 0); } } + $this->_saveCellTextBuffer($e, $this->HREF); + if (substr($this->cell[$this->row][$this->col]['a'], 0, 1) == 'D') { + $dp = $this->decimal_align[substr($this->cell[$this->row][$this->col]['a'], 0, 2)]; $s = preg_split('/' . preg_quote($dp, '/') . '/', $e, 2); // ? needs to be /u if not core $s0 = $this->GetStringWidth($s[0], false); + if (isset($s[1]) && $s[1]) { $s1 = $this->GetStringWidth(($s[1] . $dp), false); } else { $s1 = 0; } + if (!isset($this->table[$this->tableLevel][$this->tbctr[$this->tableLevel]]['decimal_align'][$this->col]['maxs0'])) { + if ($this->table[$this->tableLevel][$this->tbctr[$this->tableLevel]]['decimal_align'] === false) { + $this->table[$this->tableLevel][$this->tbctr[$this->tableLevel]]['decimal_align'] = []; + } $this->table[$this->tableLevel][$this->tbctr[$this->tableLevel]]['decimal_align'][$this->col]['maxs0'] = $s0; } else { $this->table[$this->tableLevel][$this->tbctr[$this->tableLevel]]['decimal_align'][$this->col]['maxs0'] = max($s0, $this->table[$this->tableLevel][$this->tbctr[$this->tableLevel]]['decimal_align'][$this->col]['maxs0']); } + if (!isset($this->table[$this->tableLevel][$this->tbctr[$this->tableLevel]]['decimal_align'][$this->col]['maxs1'])) { $this->table[$this->tableLevel][$this->tbctr[$this->tableLevel]]['decimal_align'][$this->col]['maxs1'] = $s1; } else { @@ -15488,7 +13854,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface $this->Reset(); $this->pageoutput[$this->page] = []; } - $this->y = (($this->blk[$this->blklvl]['float_endpos'] * 1000) % 1000000) / 1000; // mod changes operands to integers before processing + $this->y = (round($this->blk[$this->blklvl]['float_endpos'] * 1000) % 1000000) / 1000; // mod changes operands to integers before processing } /* -- END CSS-FLOAT -- */ @@ -15498,13 +13864,21 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface // Create Internal Links, if needed if (!empty($this->internallink)) { + foreach ($this->internallink as $k => $v) { + if (strpos($k, "#") !== false) { continue; - } // ignore + } + + if (!is_array($v)) { + continue; + } + $ypos = $v['Y']; $pagenum = $v['PAGE']; $sharp = "#"; + while (array_key_exists($sharp . $k, $this->internallink)) { $internallink = $this->internallink[$sharp . $k]; $this->SetLink($internallink, $ypos, $pagenum); @@ -16026,7 +14400,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface $this->pageBackgrounds = []; $this->maxPosR = 0; $this->maxPosL = $this->w; // For RTL - $this->WriteHTML($html, 4); + $this->WriteHTML($html, HTMLParserMode::HTML_HEADER_BUFFER); $inner_w = $this->maxPosR - $this->lMargin; if ($bbox_right_auto) { $bbox_right = $cont_w - $bbox_left - $bbox_ml - $bbox_bl - $bbox_pl - $inner_w - $bbox_pr - $bbox_br - $bbox_ml; @@ -16056,7 +14430,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface $this->HTMLheaderPageAnnots = []; $this->HTMLheaderPageForms = []; $this->pageBackgrounds = []; - $this->WriteHTML($html, 4); + $this->WriteHTML($html, HTMLParserMode::HTML_HEADER_BUFFER); $inner_h = $this->y - $y; if ($overflow != 'hidden' && $overflow != 'visible') { // constrained @@ -16115,7 +14489,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface $this->pageBackgrounds = []; - $this->WriteHTML($html, 4); // parameter 4 saves output to $this->headerbuffer + $this->WriteHTML($html, HTMLParserMode::HTML_HEADER_BUFFER); $actual_h = $this->y - $y; $use_w = $w; @@ -16124,41 +14498,43 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface if ($overflow != 'hidden' && $overflow != 'visible') { $target = $h / $w; - if (($ratio / $target ) > 1) { - $nl = ceil($actual_h / $this->lineheight); - $l = $use_w * $nl; - $est_w = sqrt(($l * $this->lineheight) / $target) * 0.8; - $use_w += ($est_w - $use_w) - ($w / 100); - } - $bpcstart = ($ratio / $target); - $bpcctr = 1; - - while (($ratio / $target ) > 1) { - // @log 'Auto-sizing fixed-position block $bpcctr++ - - $this->x = $x; - $this->y = $y; - - if (($ratio / $target) > 1.5 || ($ratio / $target) < 0.6) { - $use_w += ($w / $this->incrementFPR1); - } elseif (($ratio / $target) > 1.2 || ($ratio / $target) < 0.85) { - $use_w += ($w / $this->incrementFPR2); - } elseif (($ratio / $target) > 1.1 || ($ratio / $target) < 0.91) { - $use_w += ($w / $this->incrementFPR3); - } else { - $use_w += ($w / $this->incrementFPR4); + if ($target > 0) { + if (($ratio / $target) > 1) { + $nl = ceil($actual_h / $this->lineheight); + $l = $use_w * $nl; + $est_w = sqrt(($l * $this->lineheight) / $target) * 0.8; + $use_w += ($est_w - $use_w) - ($w / 100); } + $bpcstart = ($ratio / $target); + $bpcctr = 1; - $use_h = $use_w * $target; - $this->rMargin = $this->w - $use_w - $x; - $this->pgwidth = $this->w - $this->lMargin - $this->rMargin; - $this->HTMLheaderPageLinks = []; - $this->HTMLheaderPageAnnots = []; - $this->HTMLheaderPageForms = []; - $this->pageBackgrounds = []; - $this->WriteHTML($html, 4); // parameter 4 saves output to $this->headerbuffer - $actual_h = $this->y - $y; - $ratio = $actual_h / $use_w; + while (($ratio / $target) > 1) { + // @log 'Auto-sizing fixed-position block $bpcctr++ + + $this->x = $x; + $this->y = $y; + + if (($ratio / $target) > 1.5 || ($ratio / $target) < 0.6) { + $use_w += ($w / $this->incrementFPR1); + } elseif (($ratio / $target) > 1.2 || ($ratio / $target) < 0.85) { + $use_w += ($w / $this->incrementFPR2); + } elseif (($ratio / $target) > 1.1 || ($ratio / $target) < 0.91) { + $use_w += ($w / $this->incrementFPR3); + } else { + $use_w += ($w / $this->incrementFPR4); + } + + $use_h = $use_w * $target; + $this->rMargin = $this->w - $use_w - $x; + $this->pgwidth = $this->w - $this->lMargin - $this->rMargin; + $this->HTMLheaderPageLinks = []; + $this->HTMLheaderPageAnnots = []; + $this->HTMLheaderPageForms = []; + $this->pageBackgrounds = []; + $this->WriteHTML($html, HTMLParserMode::HTML_HEADER_BUFFER); + $actual_h = $this->y - $y; + $ratio = $actual_h / $use_w; + } } } @@ -16226,9 +14602,9 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface $this->blk[1]['y0'] = $bbox_y; $this->blk[1]['startpage'] = $this->page; $this->blk[1]['y1'] = $bbox_y + $bbox_bt + $bbox_pt + $inner_h + $bbox_pb + $bbox_bb; - $this->_out($rot_start); + $this->writer->write($rot_start); $this->PaintDivBB('', 0, 1); // Prints borders and sets backgrounds in $this->pageBackgrounds - $this->_out($rot_end); + $this->writer->write($rot_end); } $s = $this->PrintPageBackgrounds(); @@ -16236,7 +14612,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface $this->pages[$this->page] = preg_replace('/___BEFORE_BORDERS___/', "\n" . $s . "\n", $this->pages[$this->page]); $this->pageBackgrounds = []; - $this->_out($rot_start); + $this->writer->write($rot_start); // Clipping Output if ($overflow == 'hidden') { @@ -16247,9 +14623,9 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface } // $op = 'W* n'; // Clipping $op = 'W n'; // Clipping alternative mode - $this->_out("q"); + $this->writer->write("q"); $ch = $clip_y1 - $y; - $this->_out(sprintf('%.3F %.3F %.3F %.3F re %s', $x * Mpdf::SCALE, ($this->h - $y) * Mpdf::SCALE, $w * Mpdf::SCALE, -$ch * Mpdf::SCALE, $op)); + $this->writer->write(sprintf('%.3F %.3F %.3F %.3F re %s', $x * Mpdf::SCALE, ($this->h - $y) * Mpdf::SCALE, $w * Mpdf::SCALE, -$ch * Mpdf::SCALE, $op)); if (!empty($block_s)) { $tmp = "q\n" . sprintf('%.3F %.3F %.3F %.3F re %s', $x * Mpdf::SCALE, ($this->h - $y) * Mpdf::SCALE, $w * Mpdf::SCALE, -$ch * Mpdf::SCALE, $op); $tmp .= "\n" . $block_s . "\nQ"; @@ -16264,7 +14640,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface $tmp .= "\n" . $block_s . "\nQ"; $block_s = $tmp; } - $this->_out($block_s); + $this->writer->write($block_s); } @@ -16274,7 +14650,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface $this->transformScale(($shrink_f * 100), ($shrink_f * 100), $x, $y); } - $this->_out($this->headerbuffer); + $this->writer->write($this->headerbuffer); if ($shrink_f != 1) { // i.e. autofit has resized the box $this->StopTransform(); @@ -16282,10 +14658,10 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface if ($overflow == 'hidden') { // End clipping - $this->_out("Q"); + $this->writer->write("Q"); } - $this->_out($rot_end); + $this->writer->write($rot_end); // Page Links @@ -16473,7 +14849,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface $prop[1] = $tmp; } } else { - return []; + return ['w' => 0, 's' => 0]; } // Size $bsize = $this->sizeConverter->convert($prop[0], $refw, $this->FontSize, false); @@ -16926,7 +15302,8 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface } $this->ResetMargins(); $this->pageoutput[$this->page] = []; - $this->y = (($end * 1000) % 1000000) / 1000; // mod changes operands to integers before processing + + $this->y = (round($end * 1000) % 1000000) / 1000; // mod changes operands to integers before processing } // Added mPDF 3.0 Float DIV @@ -17381,35 +15758,6 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface return ($blt_width + $markeroffset); } - /* -- TABLES -- */ - - // This function determines the shrink factor when resizing tables - // val is the table_height / page_height_available - // returns a scaling factor used as $shrin_k to resize the table - // Overcompensating will be quicker but may unnecessarily shrink table too much - // Undercompensating means it will reiterate more times (taking more processing time) - function tbsqrt($val, $iteration = 3) - { - $k = 4; // Alters number of iterations until it returns $val itself - Must be > 2 - // Probably best guess and most accurate - if ($iteration == 1) { - return sqrt($val); - } - // Faster than using sqrt (because it won't undercompensate), and gives reasonable results - // return 1+(($val-1)/2); - $x = 2 - (($iteration - 2) / ($k - 2)); - if ($x == 0) { - $ret = $val + 0.00001; - } elseif ($x < 0) { - $ret = 1 + ( pow(2, ($iteration - 2 - $k)) / 1000 ); - } else { - $ret = 1 + (($val - 1) / $x); - } - return $ret; - } - - /* -- END TABLES -- */ - function _saveTextBuffer($t, $link = '', $intlink = '', $return = false) { // mPDF 6 Lists @@ -18306,11 +16654,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface } } - if (isset($this->blk[$blvl]['startpage']) && $this->blk[$blvl]['startpage'] != $this->page) { - $continuingpage = true; - } else { - $continuingpage = false; - } + $continuingpage = (isset($this->blk[$blvl]['startpage']) && $this->blk[$blvl]['startpage'] != $this->page); if (isset($this->blk[$blvl]['y0'])) { $y0 = $this->blk[$blvl]['y0']; @@ -18486,13 +16830,13 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface if (isset($tbd['s']) && $tbd['s']) { if (!$brset && $tbd['style'] != 'dotted' && $tbd['style'] != 'dashed') { - $this->_out('q'); + $this->writer->write('q'); $this->SetLineWidth(0); - $this->_out(sprintf('%.3F %.3F m ', ($x0) * Mpdf::SCALE, ($this->h - ($y0)) * Mpdf::SCALE)); - $this->_out(sprintf('%.3F %.3F l ', ($x0 + $border_left) * Mpdf::SCALE, ($this->h - ($y0 + $border_top)) * Mpdf::SCALE)); - $this->_out(sprintf('%.3F %.3F l ', ($x0 + $w - $border_right) * Mpdf::SCALE, ($this->h - ($y0 + $border_top)) * Mpdf::SCALE)); - $this->_out(sprintf('%.3F %.3F l ', ($x0 + $w) * Mpdf::SCALE, ($this->h - ($y0)) * Mpdf::SCALE)); - $this->_out(' h W n '); // Ends path no-op & Sets the clipping path + $this->writer->write(sprintf('%.3F %.3F m ', ($x0) * Mpdf::SCALE, ($this->h - ($y0)) * Mpdf::SCALE)); + $this->writer->write(sprintf('%.3F %.3F l ', ($x0 + $border_left) * Mpdf::SCALE, ($this->h - ($y0 + $border_top)) * Mpdf::SCALE)); + $this->writer->write(sprintf('%.3F %.3F l ', ($x0 + $w - $border_right) * Mpdf::SCALE, ($this->h - ($y0 + $border_top)) * Mpdf::SCALE)); + $this->writer->write(sprintf('%.3F %.3F l ', ($x0 + $w) * Mpdf::SCALE, ($this->h - ($y0)) * Mpdf::SCALE)); + $this->writer->write(' h W n '); // Ends path no-op & Sets the clipping path } $this->_setBorderLine($tbd); @@ -18557,15 +16901,15 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface } /* -- END BORDER-RADIUS -- */ $s .= 'S' . "\n"; - $this->_out($s); + $this->writer->write($s); if ($tbd['style'] == 'double') { $this->SetLineWidth($tbd['w'] / 3); $this->SetDColor($tbcol); - $this->_out($s); + $this->writer->write($s); } if (!$brset && $tbd['style'] != 'dotted' && $tbd['style'] != 'dashed') { - $this->_out('Q'); + $this->writer->write('Q'); } // Reset Corners and Dash off @@ -18583,13 +16927,13 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface $tbd = $this->blk[$blvl]['border_bottom']; if (isset($tbd['s']) && $tbd['s']) { if (!$brset && $tbd['style'] != 'dotted' && $tbd['style'] != 'dashed') { - $this->_out('q'); + $this->writer->write('q'); $this->SetLineWidth(0); - $this->_out(sprintf('%.3F %.3F m ', ($x0) * Mpdf::SCALE, ($this->h - ($y0 + $h)) * Mpdf::SCALE)); - $this->_out(sprintf('%.3F %.3F l ', ($x0 + $border_left) * Mpdf::SCALE, ($this->h - ($y0 + $h - $border_bottom)) * Mpdf::SCALE)); - $this->_out(sprintf('%.3F %.3F l ', ($x0 + $w - $border_right) * Mpdf::SCALE, ($this->h - ($y0 + $h - $border_bottom)) * Mpdf::SCALE)); - $this->_out(sprintf('%.3F %.3F l ', ($x0 + $w) * Mpdf::SCALE, ($this->h - ($y0 + $h)) * Mpdf::SCALE)); - $this->_out(' h W n '); // Ends path no-op & Sets the clipping path + $this->writer->write(sprintf('%.3F %.3F m ', ($x0) * Mpdf::SCALE, ($this->h - ($y0 + $h)) * Mpdf::SCALE)); + $this->writer->write(sprintf('%.3F %.3F l ', ($x0 + $border_left) * Mpdf::SCALE, ($this->h - ($y0 + $h - $border_bottom)) * Mpdf::SCALE)); + $this->writer->write(sprintf('%.3F %.3F l ', ($x0 + $w - $border_right) * Mpdf::SCALE, ($this->h - ($y0 + $h - $border_bottom)) * Mpdf::SCALE)); + $this->writer->write(sprintf('%.3F %.3F l ', ($x0 + $w) * Mpdf::SCALE, ($this->h - ($y0 + $h)) * Mpdf::SCALE)); + $this->writer->write(' h W n '); // Ends path no-op & Sets the clipping path } $this->_setBorderLine($tbd); @@ -18621,15 +16965,15 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface } } $s .= 'S' . "\n"; - $this->_out($s); + $this->writer->write($s); if ($tbd['style'] == 'double') { $this->SetLineWidth($tbd['w'] / 3); $this->SetDColor($tbcol); - $this->_out($s); + $this->writer->write($s); } if (!$brset && $tbd['style'] != 'dotted' && $tbd['style'] != 'dashed') { - $this->_out('Q'); + $this->writer->write('Q'); } // Reset Corners and Dash off @@ -18647,13 +16991,13 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface $tbd = $this->blk[$blvl]['border_left']; if (isset($tbd['s']) && $tbd['s']) { if (!$brset && $tbd['style'] != 'dotted' && $tbd['style'] != 'dashed') { - $this->_out('q'); + $this->writer->write('q'); $this->SetLineWidth(0); - $this->_out(sprintf('%.3F %.3F m ', ($x0) * Mpdf::SCALE, ($this->h - ($y0)) * Mpdf::SCALE)); - $this->_out(sprintf('%.3F %.3F l ', ($x0 + $border_left) * Mpdf::SCALE, ($this->h - ($y0 + $border_top)) * Mpdf::SCALE)); - $this->_out(sprintf('%.3F %.3F l ', ($x0 + $border_left) * Mpdf::SCALE, ($this->h - ($y0 + $h - $border_bottom)) * Mpdf::SCALE)); - $this->_out(sprintf('%.3F %.3F l ', ($x0) * Mpdf::SCALE, ($this->h - ($y0 + $h)) * Mpdf::SCALE)); - $this->_out(' h W n '); // Ends path no-op & Sets the clipping path + $this->writer->write(sprintf('%.3F %.3F m ', ($x0) * Mpdf::SCALE, ($this->h - ($y0)) * Mpdf::SCALE)); + $this->writer->write(sprintf('%.3F %.3F l ', ($x0 + $border_left) * Mpdf::SCALE, ($this->h - ($y0 + $border_top)) * Mpdf::SCALE)); + $this->writer->write(sprintf('%.3F %.3F l ', ($x0 + $border_left) * Mpdf::SCALE, ($this->h - ($y0 + $h - $border_bottom)) * Mpdf::SCALE)); + $this->writer->write(sprintf('%.3F %.3F l ', ($x0) * Mpdf::SCALE, ($this->h - ($y0 + $h)) * Mpdf::SCALE)); + $this->writer->write(' h W n '); // Ends path no-op & Sets the clipping path } $this->_setBorderLine($tbd); @@ -18685,15 +17029,15 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface } } $s .= 'S' . "\n"; - $this->_out($s); + $this->writer->write($s); if ($tbd['style'] == 'double') { $this->SetLineWidth($tbd['w'] / 3); $this->SetDColor($tbcol); - $this->_out($s); + $this->writer->write($s); } if (!$brset && $tbd['style'] != 'dotted' && $tbd['style'] != 'dashed') { - $this->_out('Q'); + $this->writer->write('Q'); } // Reset Corners and Dash off @@ -18708,13 +17052,13 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface $tbd = $this->blk[$blvl]['border_right']; if (isset($tbd['s']) && $tbd['s']) { if (!$brset && $tbd['style'] != 'dotted' && $tbd['style'] != 'dashed') { - $this->_out('q'); + $this->writer->write('q'); $this->SetLineWidth(0); - $this->_out(sprintf('%.3F %.3F m ', ($x0 + $w) * Mpdf::SCALE, ($this->h - ($y0)) * Mpdf::SCALE)); - $this->_out(sprintf('%.3F %.3F l ', ($x0 + $w - $border_right) * Mpdf::SCALE, ($this->h - ($y0 + $border_top)) * Mpdf::SCALE)); - $this->_out(sprintf('%.3F %.3F l ', ($x0 + $w - $border_right) * Mpdf::SCALE, ($this->h - ($y0 + $h - $border_bottom)) * Mpdf::SCALE)); - $this->_out(sprintf('%.3F %.3F l ', ($x0 + $w) * Mpdf::SCALE, ($this->h - ($y0 + $h)) * Mpdf::SCALE)); - $this->_out(' h W n '); // Ends path no-op & Sets the clipping path + $this->writer->write(sprintf('%.3F %.3F m ', ($x0 + $w) * Mpdf::SCALE, ($this->h - ($y0)) * Mpdf::SCALE)); + $this->writer->write(sprintf('%.3F %.3F l ', ($x0 + $w - $border_right) * Mpdf::SCALE, ($this->h - ($y0 + $border_top)) * Mpdf::SCALE)); + $this->writer->write(sprintf('%.3F %.3F l ', ($x0 + $w - $border_right) * Mpdf::SCALE, ($this->h - ($y0 + $h - $border_bottom)) * Mpdf::SCALE)); + $this->writer->write(sprintf('%.3F %.3F l ', ($x0 + $w) * Mpdf::SCALE, ($this->h - ($y0 + $h)) * Mpdf::SCALE)); + $this->writer->write(' h W n '); // Ends path no-op & Sets the clipping path } $this->_setBorderLine($tbd); @@ -18746,15 +17090,15 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface } } $s .= 'S' . "\n"; - $this->_out($s); + $this->writer->write($s); if ($tbd['style'] == 'double') { $this->SetLineWidth($tbd['w'] / 3); $this->SetDColor($tbcol); - $this->_out($s); + $this->writer->write($s); } if (!$brset && $tbd['style'] != 'dotted' && $tbd['style'] != 'dashed') { - $this->_out('Q'); + $this->writer->write('Q'); } // Reset Corners and Dash off @@ -18860,23 +17204,23 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface if (isset($this->blk[$blvl]['box_shadow']) && $this->blk[$blvl]['box_shadow'] && $h > 0) { foreach ($this->blk[$blvl]['box_shadow'] as $sh) { // Colors - if ($sh['col']{0} == 1) { + if ($sh['col'][0] == 1) { $colspace = 'Gray'; - if ($sh['col']{2} == 1) { + if ($sh['col'][2] == 1) { $col1 = '1' . $sh['col'][1] . '1' . $sh['col'][3]; } else { $col1 = '1' . $sh['col'][1] . '1' . chr(100); } $col2 = '1' . $sh['col'][1] . '1' . chr(0); - } elseif ($sh['col']{0} == 4) { // CMYK + } elseif ($sh['col'][0] == 4) { // CMYK $colspace = 'CMYK'; $col1 = '6' . $sh['col'][1] . $sh['col'][2] . $sh['col'][3] . $sh['col'][4] . chr(100); $col2 = '6' . $sh['col'][1] . $sh['col'][2] . $sh['col'][3] . $sh['col'][4] . chr(0); - } elseif ($sh['col']{0} == 5) { // RGBa + } elseif ($sh['col'][0] == 5) { // RGBa $colspace = 'RGB'; $col1 = '5' . $sh['col'][1] . $sh['col'][2] . $sh['col'][3] . $sh['col'][4]; $col2 = '5' . $sh['col'][1] . $sh['col'][2] . $sh['col'][3] . chr(0); - } elseif ($sh['col']{0} == 6) { // CMYKa + } elseif ($sh['col'][0] == 6) { // CMYKa $colspace = 'CMYK'; $col1 = '6' . $sh['col'][1] . $sh['col'][2] . $sh['col'][3] . $sh['col'][4] . $sh['col'][5]; $col2 = '6' . $sh['col'][1] . $sh['col'][2] . $sh['col'][3] . $sh['col'][4] . chr(0); @@ -18906,12 +17250,12 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface // Set path for INNER shadow $shadow .= ' q 0 w '; $shadow .= $this->SetFColor($col1, true) . "\n"; - if ($col1{0} == 5 && ord($col1{4}) < 100) { // RGBa - $shadow .= $this->SetAlpha(ord($col1{4}) / 100, 'Normal', true, 'F') . "\n"; - } elseif ($col1{0} == 6 && ord($col1{5}) < 100) { // CMYKa - $shadow .= $this->SetAlpha(ord($col1{5}) / 100, 'Normal', true, 'F') . "\n"; - } elseif ($col1{0} == 1 && $col1{2} == 1 && ord($col1{3}) < 100) { // Gray - $shadow .= $this->SetAlpha(ord($col1{3}) / 100, 'Normal', true, 'F') . "\n"; + if ($col1[0] == 5 && ord($col1[4]) < 100) { // RGBa + $shadow .= $this->SetAlpha(ord($col1[4]) / 100, 'Normal', true, 'F') . "\n"; + } elseif ($col1[0] == 6 && ord($col1[5]) < 100) { // CMYKa + $shadow .= $this->SetAlpha(ord($col1[5]) / 100, 'Normal', true, 'F') . "\n"; + } elseif ($col1[0] == 1 && $col1[2] == 1 && ord($col1[3]) < 100) { // Gray + $shadow .= $this->SetAlpha(ord($col1[3]) / 100, 'Normal', true, 'F') . "\n"; } // Blur edges @@ -19203,9 +17547,30 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface $s .= ' W n '; // Ends path no-op & Sets the clipping path if ($this->blk[$blvl]['bgcolor']) { - $this->pageBackgrounds[$blvl][] = ['x' => $x0, 'y' => $y0, 'w' => $w, 'h' => $h, 'col' => $this->blk[$blvl]['bgcolorarray'], 'clippath' => $s, 'visibility' => $this->visibility, 'shadow' => $shadow, 'z-index' => $this->current_layer]; + $this->pageBackgrounds[$blvl][] = [ + 'x' => $x0, + 'y' => $y0, + 'w' => $w, + 'h' => $h, + 'col' => $this->blk[$blvl]['bgcolorarray'], + 'clippath' => $s, + 'visibility' => $this->visibility, + 'shadow' => $shadow, + 'z-index' => $this->current_layer, + ]; } elseif ($shadow) { - $this->pageBackgrounds[$blvl][] = ['shadowonly' => true, 'col' => '', 'clippath' => '', 'visibility' => $this->visibility, 'shadow' => $shadow, 'z-index' => $this->current_layer]; + $this->pageBackgrounds[$blvl][] = [ + 'x' => 0, + 'y' => 0, + 'w' => 0, + 'h' => 0, + 'shadowonly' => true, + 'col' => '', + 'clippath' => '', + 'visibility' => $this->visibility, + 'shadow' => $shadow, + 'z-index' => $this->current_layer, + ]; } /* -- BACKGROUNDS -- */ @@ -19214,9 +17579,24 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface if ($g) { $gx = $x0; $gy = $y0; - $this->pageBackgrounds[$blvl][] = ['gradient' => true, 'x' => $gx, 'y' => $gy, 'w' => $w, 'h' => $h, 'gradtype' => $g['type'], 'stops' => $g['stops'], 'colorspace' => $g['colorspace'], 'coords' => $g['coords'], 'extend' => $g['extend'], 'clippath' => $s, 'visibility' => $this->visibility, 'z-index' => $this->current_layer]; + $this->pageBackgrounds[$blvl][] = [ + 'gradient' => true, + 'x' => $gx, + 'y' => $gy, + 'w' => $w, + 'h' => $h, + 'gradtype' => $g['type'], + 'stops' => $g['stops'], + 'colorspace' => $g['colorspace'], + 'coords' => $g['coords'], + 'extend' => $g['extend'], + 'clippath' => $s, + 'visibility' => $this->visibility, + 'z-index' => $this->current_layer + ]; } } + if (isset($this->blk[$blvl]['background-image'])) { if (isset($this->blk[$blvl]['background-image']['gradient']) && $this->blk[$blvl]['background-image']['gradient'] && preg_match('/(-moz-)*(repeating-)*(linear|radial)-gradient/', $this->blk[$blvl]['background-image']['gradient'])) { $g = $this->gradient->parseMozGradient($this->blk[$blvl]['background-image']['gradient']); @@ -19269,9 +17649,25 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface } } } - $this->pageBackgrounds[$blvl][] = ['gradient' => true, 'x' => $gx, 'y' => $gy, 'w' => $w, 'h' => $h, 'gradtype' => $g['type'], 'stops' => $g['stops'], 'colorspace' => $g['colorspace'], 'coords' => $g['coords'], 'extend' => $g['extend'], 'clippath' => $s, 'visibility' => $this->visibility, 'z-index' => $this->current_layer]; + $this->pageBackgrounds[$blvl][] = [ + 'gradient' => true, + 'x' => $gx, + 'y' => $gy, + 'w' => $w, + 'h' => $h, + 'gradtype' => $g['type'], + 'stops' => $g['stops'], + 'colorspace' => $g['colorspace'], + 'coords' => $g['coords'], + 'extend' => $g['extend'], + 'clippath' => $s, + 'visibility' => $this->visibility, + 'z-index' => $this->current_layer + ]; } + } else { + $image_id = $this->blk[$blvl]['background-image']['image_id']; $orig_w = $this->blk[$blvl]['background-image']['orig_w']; $orig_h = $this->blk[$blvl]['background-image']['orig_h']; @@ -19284,8 +17680,11 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface $itype = $this->blk[$blvl]['background-image']['itype']; $size = $this->blk[$blvl]['background-image']['size']; // origin specifies the background-positioning-area (bpa) + $bpa = ['x' => $x0, 'y' => $y0, 'w' => $w, 'h' => $h]; + if ($this->blk[$blvl]['background-image']['origin'] == 'padding-box') { + $bpa['x'] = $x0 + $this->blk[$blvl]['border_left']['w']; $bpa['w'] = $w - ($this->blk[$blvl]['border_left']['w'] + $this->blk[$blvl]['border_right']['w']); if ($this->blk[$blvl]['border_top'] && $divider != 'pagetop' && !$continuingpage) { @@ -19299,7 +17698,9 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface $bpay = $y1; } $bpa['h'] = $bpay - $bpa['y']; + } elseif ($this->blk[$blvl]['background-image']['origin'] == 'content-box') { + $bpa['x'] = $x0 + $this->blk[$blvl]['border_left']['w'] + $this->blk[$blvl]['padding_left']; $bpa['w'] = $w - ($this->blk[$blvl]['border_left']['w'] + $this->blk[$blvl]['padding_left'] + $this->blk[$blvl]['border_right']['w'] + $this->blk[$blvl]['padding_right']); if ($this->blk[$blvl]['border_top'] && $divider != 'pagetop' && !$continuingpage) { @@ -19313,8 +17714,30 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface $bpay = $y1 - $this->blk[$blvl]['padding_bottom']; } $bpa['h'] = $bpay - $bpa['y']; + } - $this->pageBackgrounds[$blvl][] = ['x' => $x0, 'y' => $y0, 'w' => $w, 'h' => $h, 'image_id' => $image_id, 'orig_w' => $orig_w, 'orig_h' => $orig_h, 'x_pos' => $x_pos, 'y_pos' => $y_pos, 'x_repeat' => $x_repeat, 'y_repeat' => $y_repeat, 'clippath' => $s, 'resize' => $resize, 'opacity' => $opacity, 'itype' => $itype, 'visibility' => $this->visibility, 'z-index' => $this->current_layer, 'size' => $size, 'bpa' => $bpa]; + + $this->pageBackgrounds[$blvl][] = [ + 'x' => $x0, + 'y' => $y0, + 'w' => $w, + 'h' => $h, + 'image_id' => $image_id, + 'orig_w' => $orig_w, + 'orig_h' => $orig_h, + 'x_pos' => $x_pos, + 'y_pos' => $y_pos, + 'x_repeat' => $x_repeat, + 'y_repeat' => $y_repeat, + 'clippath' => $s, + 'resize' => $resize, + 'opacity' => $opacity, + 'itype' => $itype, + 'visibility' => $this->visibility, + 'z-index' => $this->current_layer, + 'size' => $size, + 'bpa' => $bpa + ]; } } /* -- END BACKGROUNDS -- */ @@ -19322,22 +17745,26 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface // Float DIV $this->blk[$blvl]['bb_painted'][$this->page] = true; } - /* -- BORDER-RADIUS -- */ function _EllipseArc($x0, $y0, $rx, $ry, $seg = 1, $part = false, $start = false) { - // Anticlockwise segment 1-4 TR-TL-BL-BR (part=1 or 2) + // Anticlockwise segment 1-4 TR-TL-BL-BR (part=1 or 2) $s = ''; + if ($rx < 0) { $rx = 0; } + if ($ry < 0) { $ry = 0; } + $rx *= Mpdf::SCALE; $ry *= Mpdf::SCALE; + $astart = 0; + if ($seg == 1) { // Top Right $afinish = 90; $nSeg = 4; @@ -19351,8 +17778,10 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface $afinish = 360; $nSeg = 16; } + $astart = deg2rad((float) $astart); $afinish = deg2rad((float) $afinish); + $totalAngle = $afinish - $astart; $dt = $totalAngle / $nSeg; // segment angle $dtm = $dt / 3; @@ -19364,6 +17793,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface $c0 = -$rx * sin($t1); $d0 = $ry * cos($t1); $op = false; + for ($i = 1; $i <= $nSeg; $i++) { // Draw this bit of the total curve $t1 = ($i * $dt) + $astart; @@ -19383,6 +17813,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface $c0 = $c1; $d0 = $d1; } + return $s; } @@ -19400,6 +17831,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface $y0 = $this->y; // top $x1 = $this->x + $w; // bottom $y1 = $this->y + $h; // bottom + $continuingpage = (isset($this->blk[$blvl]['startpage']) && $this->blk[$blvl]['startpage'] != $this->page); if ($this->blk[$blvl]['border_top'] && ($state == 1 || $state == 3)) { $tbd = $this->blk[$blvl]['border_top']; @@ -19598,10 +18030,9 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface $this->currentfontsize = ''; $this->currentfontstyle = ''; - /* -- TABLES -- */ if ($this->tableLevel && isset($this->table[1][1]['cellLineHeight'])) { - $this->SetLineHeight('', $this->table[1][1]['cellLineHeight']); // *TABLES* - } else { /* -- END TABLES -- */ + $this->SetLineHeight('', $this->table[1][1]['cellLineHeight']); + } else { if (isset($this->blk[$this->blklvl]['line_height']) && $this->blk[$this->blklvl]['line_height']) { $this->SetLineHeight('', $this->blk[$this->blklvl]['line_height']); // sets default line height } @@ -19623,15 +18054,19 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface $this->oldy = -1; $bodystyle = []; + if (isset($this->cssManager->CSS['BODY']['FONT-STYLE'])) { $bodystyle['FONT-STYLE'] = $this->cssManager->CSS['BODY']['FONT-STYLE']; } + if (isset($this->cssManager->CSS['BODY']['FONT-WEIGHT'])) { $bodystyle['FONT-WEIGHT'] = $this->cssManager->CSS['BODY']['FONT-WEIGHT']; } + if (isset($this->cssManager->CSS['BODY']['COLOR'])) { $bodystyle['COLOR'] = $this->cssManager->CSS['BODY']['COLOR']; } + if (isset($bodystyle)) { $this->setCSS($bodystyle, 'BLOCK', 'BODY'); } @@ -19697,7 +18132,8 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface // Set font size first so that e.g. MARGIN 0.83em works on font size for this element if (isset($arrayaux['FONT-SIZE'])) { $v = $arrayaux['FONT-SIZE']; - if (is_numeric($v[0])) { + $firstLetter = substr($v, 0, 1); + if (is_numeric($firstLetter) || ($firstLetter === '.')) { if ($type == 'BLOCK' && $this->blklvl > 0 && isset($this->blk[$this->blklvl - 1]['InlineProperties']) && isset($this->blk[$this->blklvl - 1]['InlineProperties']['size'])) { $mmsize = $this->sizeConverter->convert($v, $this->blk[$this->blklvl - 1]['InlineProperties']['size']); } elseif ($type == 'TABLECELL') { @@ -20960,19 +19396,19 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface $c['padding']['B'] /= $k; $c['padding']['L'] /= $k; - $c['maxs'] = isset($c['maxs']) ? $c['maxs'] /= $k : 0; - $c['w'] = isset($c['w']) ? $c['w'] /= $k : 0; + $c['maxs'] = isset($c['maxs']) ? $c['maxs'] /= $k : null; + $c['w'] = isset($c['w']) ? $c['w'] /= $k : null; $c['s'] = isset($c['s']) ? $c['s'] /= $k : 0; - $c['h'] = isset($c['h']) ? $c['h'] /= $k : 0; + $c['h'] = isset($c['h']) ? $c['h'] /= $k : null; $c['miw'] = isset($c['miw']) ? $c['miw'] /= $k : 0; $c['maw'] = isset($c['maw']) ? $c['maw'] /= $k : 0; - $c['absmiw'] = isset($c['absmiw']) ? $c['absmiw'] /= $k : 0; + $c['absmiw'] = isset($c['absmiw']) ? $c['absmiw'] /= $k : null; - $c['nestedmaw'] = isset($c['nestedmaw']) ? $c['nestedmaw'] /= $k : 0; - $c['nestedmiw'] = isset($c['nestedmiw']) ? $c['nestedmiw'] /= $k : 0; + $c['nestedmaw'] = isset($c['nestedmaw']) ? $c['nestedmaw'] /= $k : null; + $c['nestedmiw'] = isset($c['nestedmiw']) ? $c['nestedmiw'] /= $k : null; if (isset($c['textbuffer'])) { foreach ($c['textbuffer'] as $n => $tb) { @@ -21300,9 +19736,9 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface if ($minwidth < 0) { // increase minimum width if (!isset($c['colspan'])) { - $wc['miw'] = max($wc['miw'], ((-$minwidth) + $extrcw)); + $wc['miw'] = max((isset($wc['miw']) ? $wc['miw'] : 0), ((-$minwidth) + $extrcw)); } else { - $c['miw'] = max($c['miw'], ((-$minwidth) + $extrcw)); + $c['miw'] = max((isset($c['miw']) ? $c['miw'] : 0), ((-$minwidth) + $extrcw)); } } if (!isset($c['colspan'])) { @@ -21353,7 +19789,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface for ($k = $j; $k < $lc; $k++) { $wc[$k]['miw'] = $c['miw'] / $c['colspan']; } - } elseif (!count($list)) { + } elseif (!count($list) && $wis != 0) { $wi = $c['miw'] - $wis; for ($k = $j; $k < $lc; $k++) { $wc[$k]['miw'] += ($wc[$k]['miw'] / $wis) * $wi; @@ -21374,7 +19810,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface for ($k = $j; $k < $lc; $k++) { $wc[$k]['maw'] = $c['maw'] / $c['colspan']; } - } elseif (!count($list)) { + } elseif (!count($list) && $was != 0) { $wi = $c['maw'] - $was; for ($k = $j; $k < $lc; $k++) { $wc[$k]['maw'] += ($wc[$k]['maw'] / $was) * $wi; @@ -22348,8 +20784,8 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface // Precedence to darker colours at joins $coldom = 0; if (isset($details[$side]['c']) && is_array($details[$side]['c'])) { - if ($details[$side]['c']{0} == 3) { // RGB - $coldom = 10 - (((ord($details[$side]['c']{1}) * 1.00) + (ord($details[$side]['c']{2}) * 1.00) + (ord($details[$side]['c']{3}) * 1.00)) / 76.5); + if ($details[$side]['c'][0] == 3) { // RGB + $coldom = 10 - (((ord($details[$side]['c'][1]) * 1.00) + (ord($details[$side]['c'][2]) * 1.00) + (ord($details[$side]['c'][3]) * 1.00)) / 76.5); } } // 10 black - 0 white if ($coldom) { @@ -23026,7 +21462,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface $celladj = false; } - if ($celladj && $celladj['border_details']['T']['s'] == 1) { + if (isset($celladj['border_details']['T']['s']) && $celladj['border_details']['T']['s'] == 1) { $csadj = $celladj['border_details']['T']['w']; $csthis = $cbord['border_details']['B']['w']; @@ -23190,6 +21626,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface // Set maximum cell border width meeting at LRTB edges of cell - used for extended cell border // ['border_details']['mbw']['LT'] = meeting border width - Left border - Top end if (!$table['borders_separate']) { + $cbord['border_details']['mbw']['BL'] = max($cbord['border_details']['mbw']['BL'], $cbord['border_details']['L']['w']); $cbord['border_details']['mbw']['BR'] = max($cbord['border_details']['mbw']['BR'], $cbord['border_details']['R']['w']); $cbord['border_details']['mbw']['RT'] = max($cbord['border_details']['mbw']['RT'], $cbord['border_details']['T']['w']); @@ -23198,77 +21635,163 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface $cbord['border_details']['mbw']['TR'] = max($cbord['border_details']['mbw']['TR'], $cbord['border_details']['R']['w']); $cbord['border_details']['mbw']['LT'] = max($cbord['border_details']['mbw']['LT'], $cbord['border_details']['T']['w']); $cbord['border_details']['mbw']['LB'] = max($cbord['border_details']['mbw']['LB'], $cbord['border_details']['B']['w']); + if (($i + $crowsp) < $numrows && isset($cells[$i + $crowsp][$j])) { // Has Bottom adjoining cell + if ($this->packTableData) { $adjc = $cells[$i + $crowsp][$j]; $celladj = $this->_unpackCellBorder($adjc['borderbin']); } else { $celladj = & $cells[$i + $crowsp][$j]; } - $cbord['border_details']['mbw']['BL'] = max($cbord['border_details']['mbw']['BL'], $celladj['border_details']['L']['w'], $celladj['border_details']['mbw']['TL']); - $cbord['border_details']['mbw']['BR'] = max($cbord['border_details']['mbw']['BR'], $celladj['border_details']['R']['w'], $celladj['border_details']['mbw']['TR']); - $cbord['border_details']['mbw']['LB'] = max($cbord['border_details']['mbw']['LB'], $celladj['border_details']['mbw']['LT']); - $cbord['border_details']['mbw']['RB'] = max($cbord['border_details']['mbw']['RB'], $celladj['border_details']['mbw']['RT']); + + $cbord['border_details']['mbw']['BL'] = max( + $cbord['border_details']['mbw']['BL'], + $celladj ? $celladj['border_details']['L']['w'] : 0, + $celladj ? $celladj['border_details']['mbw']['TL']: 0 + ); + + $cbord['border_details']['mbw']['BR'] = max( + $cbord['border_details']['mbw']['BR'], + $celladj ? $celladj['border_details']['R']['w'] : 0, + $celladj ? $celladj['border_details']['mbw']['TR']: 0 + ); + + $cbord['border_details']['mbw']['LB'] = max( + $cbord['border_details']['mbw']['LB'], + $celladj ? $celladj['border_details']['mbw']['LT'] : 0 + ); + + $cbord['border_details']['mbw']['RB'] = max( + $cbord['border_details']['mbw']['RB'], + $celladj ? $celladj['border_details']['mbw']['RT'] : 0 + ); + unset($celladj); } + if (($j + $ccolsp) < $numcols && isset($cells[$i][$j + $ccolsp])) { // Has Right adjoining cell + if ($this->packTableData) { $adjc = $cells[$i][$j + $ccolsp]; $celladj = $this->_unpackCellBorder($adjc['borderbin']); } else { $celladj = & $cells[$i][$j + $ccolsp]; } - $cbord['border_details']['mbw']['RT'] = max($cbord['border_details']['mbw']['RT'], $celladj['border_details']['T']['w'], $celladj['border_details']['mbw']['LT']); - $cbord['border_details']['mbw']['RB'] = max($cbord['border_details']['mbw']['RB'], $celladj['border_details']['B']['w'], $celladj['border_details']['mbw']['LB']); - $cbord['border_details']['mbw']['TR'] = max($cbord['border_details']['mbw']['TR'], $celladj['border_details']['mbw']['TL']); - $cbord['border_details']['mbw']['BR'] = max($cbord['border_details']['mbw']['BR'], $celladj['border_details']['mbw']['BL']); + + $cbord['border_details']['mbw']['RT'] = max( + $cbord['border_details']['mbw']['RT'], + $celladj ? $celladj['border_details']['T']['w'] : 0, + $celladj ? $celladj['border_details']['mbw']['LT'] : 0 + ); + + $cbord['border_details']['mbw']['RB'] = max( + $cbord['border_details']['mbw']['RB'], + $celladj ? $celladj['border_details']['B']['w'] : 0, + $celladj ? $celladj['border_details']['mbw']['LB'] : 0 + ); + + $cbord['border_details']['mbw']['TR'] = max( + $cbord['border_details']['mbw']['TR'], + $celladj ? $celladj['border_details']['mbw']['TL'] : 0 + ); + + $cbord['border_details']['mbw']['BR'] = max( + $cbord['border_details']['mbw']['BR'], + $celladj ? $celladj['border_details']['mbw']['BL'] : 0 + ); + unset($celladj); } - if ($i > 0 && isset($cells[$i - 1][$j]) && (($this->packTableData && $cells[$i - 1][$j]['borderbin']) || $cells[$i - 1][$j]['border'])) { // Has Top adjoining cell + if ($i > 0 && isset($cells[$i - 1][$j]) && is_array($cells[$i - 1][$j]) && (($this->packTableData && $cells[$i - 1][$j]['borderbin']) || $cells[$i - 1][$j]['border'])) { // Has Top adjoining cell + if ($this->packTableData) { $adjc = $cells[$i - 1][$j]; $celladj = $this->_unpackCellBorder($adjc['borderbin']); } else { $celladj = & $cells[$i - 1][$j]; } - $cbord['border_details']['mbw']['TL'] = max($cbord['border_details']['mbw']['TL'], $celladj['border_details']['L']['w'], $celladj['border_details']['mbw']['BL']); - $cbord['border_details']['mbw']['TR'] = max($cbord['border_details']['mbw']['TR'], $celladj['border_details']['R']['w'], $celladj['border_details']['mbw']['BR']); - $cbord['border_details']['mbw']['LT'] = max($cbord['border_details']['mbw']['LT'], $celladj['border_details']['mbw']['LB']); - $cbord['border_details']['mbw']['RT'] = max($cbord['border_details']['mbw']['RT'], $celladj['border_details']['mbw']['RB']); + + $cbord['border_details']['mbw']['TL'] = max( + $cbord['border_details']['mbw']['TL'], + $celladj ? $celladj['border_details']['L']['w'] : 0, + $celladj ? $celladj['border_details']['mbw']['BL'] : 0 + ); + + $cbord['border_details']['mbw']['TR'] = max( + $cbord['border_details']['mbw']['TR'], + $celladj ? $celladj['border_details']['R']['w'] : 0, + $celladj ? $celladj['border_details']['mbw']['BR'] : 0 + ); + + $cbord['border_details']['mbw']['LT'] = max( + $cbord['border_details']['mbw']['LT'], + $celladj ? $celladj['border_details']['mbw']['LB'] : 0 + ); + + $cbord['border_details']['mbw']['RT'] = max( + $cbord['border_details']['mbw']['RT'], + $celladj ? $celladj['border_details']['mbw']['RB'] : 0 + ); if ($celladj['border_details']['mbw']['BL']) { $celladj['border_details']['mbw']['BL'] = max($cbord['border_details']['mbw']['TL'], $celladj['border_details']['mbw']['BL']); } + if ($celladj['border_details']['mbw']['BR']) { $celladj['border_details']['mbw']['BR'] = max($celladj['border_details']['mbw']['BR'], $cbord['border_details']['mbw']['TR']); } + if ($this->packTableData) { $cells[$i - 1][$j]['borderbin'] = $this->_packCellBorder($celladj); } unset($celladj); } - if ($j > 0 && isset($cells[$i][$j - 1]) && (($this->packTableData && $cells[$i][$j - 1]['borderbin']) || $cells[$i][$j - 1]['border'])) { // Has Left adjoining cell + + if ($j > 0 && isset($cells[$i][$j - 1]) && is_array($cells[$i][$j - 1]) && (($this->packTableData && $cells[$i][$j - 1]['borderbin']) || $cells[$i][$j - 1]['border'])) { // Has Left adjoining cell + if ($this->packTableData) { $adjc = $cells[$i][$j - 1]; $celladj = $this->_unpackCellBorder($adjc['borderbin']); } else { $celladj = & $cells[$i][$j - 1]; } - $cbord['border_details']['mbw']['LT'] = max($cbord['border_details']['mbw']['LT'], $celladj['border_details']['T']['w'], $celladj['border_details']['mbw']['RT']); - $cbord['border_details']['mbw']['LB'] = max($cbord['border_details']['mbw']['LB'], $celladj['border_details']['B']['w'], $celladj['border_details']['mbw']['RB']); - $cbord['border_details']['mbw']['BL'] = max($cbord['border_details']['mbw']['BL'], $celladj['border_details']['mbw']['BR']); - $cbord['border_details']['mbw']['TL'] = max($cbord['border_details']['mbw']['TL'], $celladj['border_details']['mbw']['TR']); + + $cbord['border_details']['mbw']['LT'] = max( + $cbord['border_details']['mbw']['LT'], + $celladj ? $celladj['border_details']['T']['w'] : 0, + $celladj ? $celladj['border_details']['mbw']['RT'] : 0 + ); + + $cbord['border_details']['mbw']['LB'] = max( + $cbord['border_details']['mbw']['LB'], + $celladj ? $celladj['border_details']['B']['w'] : 0, + $celladj ? $celladj['border_details']['mbw']['RB'] : 0 + ); + + $cbord['border_details']['mbw']['BL'] = max( + $cbord['border_details']['mbw']['BL'], + $celladj ? $celladj['border_details']['mbw']['BR'] : 0 + ); + + $cbord['border_details']['mbw']['TL'] = max( + $cbord['border_details']['mbw']['TL'], + $celladj ? $celladj['border_details']['mbw']['TR'] : 0 + ); if ($celladj['border_details']['mbw']['RT']) { $celladj['border_details']['mbw']['RT'] = max($celladj['border_details']['mbw']['RT'], $cbord['border_details']['mbw']['LT']); } + if ($celladj['border_details']['mbw']['RB']) { $celladj['border_details']['mbw']['RB'] = max($celladj['border_details']['mbw']['RB'], $cbord['border_details']['mbw']['LB']); } + if ($this->packTableData) { $cells[$i][$j - 1]['borderbin'] = $this->_packCellBorder($celladj); } + unset($celladj); } @@ -23430,7 +21953,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface if ($table['overflow'] == 'hidden' && $level == 1 && !$this->table_rotate && !$this->ColActive) { // Bounding rectangle to clip $this->tableClipPath = sprintf('q %.3F %.3F %.3F %.3F re W n', $x0 * Mpdf::SCALE, $this->h * Mpdf::SCALE, $this->blk[$this->blklvl]['inner_width'] * Mpdf::SCALE, -$this->h * Mpdf::SCALE); - $this->_out($this->tableClipPath); + $this->writer->write($this->tableClipPath); } else { $this->tableClipPath = ''; } @@ -23550,7 +22073,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface } if ($level == 1) { - $this->_out('___TABLE___BACKGROUNDS' . $this->uniqstr); + $this->writer->write('___TABLE___BACKGROUNDS' . $this->uniqstr); } $tableheaderadj = 0; $tablefooteradj = 0; @@ -23698,7 +22221,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface } if ($this->tableClipPath) { - $this->_out("Q"); + $this->writer->write("Q"); } $bx = $x0; @@ -23763,7 +22286,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface } $this->Line($blx, $this->y + ($this->splitTableBorderWidth / 2), $blx + $blw, $this->y + ($this->splitTableBorderWidth / 2)); $this->DrawColor = $prevDrawColor; - $this->_out($this->DrawColor); + $this->writer->write($this->DrawColor); $this->SetLineWidth($lw); $this->SetLineJoin(2); $this->SetLineCap(2); @@ -23841,11 +22364,11 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface $this->AddPage($this->CurOrientation); - $this->_out('___TABLE___BACKGROUNDS' . $this->uniqstr); + $this->writer->write('___TABLE___BACKGROUNDS' . $this->uniqstr); if ($this->tableClipPath) { - $this->_out($this->tableClipPath); + $this->writer->write($this->tableClipPath); } // Added to correct for OddEven Margins @@ -23862,7 +22385,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface $blx += $this->MarginCorrection; $this->Line($blx, $this->y - ($this->splitTableBorderWidth / 2), $blx + $blw, $this->y - ($this->splitTableBorderWidth / 2)); $this->DrawColor = $prevDrawColor; - $this->_out($this->DrawColor); + $this->writer->write($this->DrawColor); $this->SetLineWidth($lw); $this->SetLineJoin(2); $this->SetLineCap(2); @@ -24188,7 +22711,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface } else { $opac = ''; } - $this->_out(sprintf('q /Pattern cs /P%d scn %s %.3F %.3F %.3F %.3F re f Q', $n, $opac, $px * Mpdf::SCALE, ($this->h - $py) * Mpdf::SCALE, $pw * Mpdf::SCALE, -$ph * Mpdf::SCALE)); + $this->writer->write(sprintf('q /Pattern cs /P%d scn %s %.3F %.3F %.3F %.3F re f Q', $n, $opac, $px * Mpdf::SCALE, ($this->h - $py) * Mpdf::SCALE, $pw * Mpdf::SCALE, -$ph * Mpdf::SCALE)); } else { $image_id = $cell['background-image']['image_id']; $orig_w = $cell['background-image']['orig_w']; @@ -24619,7 +23142,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface if ($this->tableClipPath) { - $this->_out("Q"); + $this->writer->write("Q"); } $this->tableClipPath = ''; @@ -24784,774 +23307,23 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface function _putextgstates() { for ($i = 1; $i <= count($this->extgstates); $i++) { - $this->_newobj(); + $this->writer->object(); $this->extgstates[$i]['n'] = $this->n; - $this->_out('<writer->write('<extgstates[$i]['parms'] as $k => $v) { - $this->_out('/' . $k . ' ' . $v); + $this->writer->write('/' . $k . ' ' . $v); } - $this->_out('>>'); - $this->_out('endobj'); - } - } - - function _putocg() - { - if ($this->hasOC) { - $this->_newobj(); - $this->n_ocg_print = $this->n; - $this->_out('<_textstring('Print only')); - $this->_out('/Usage <> /View <>>>>>'); - $this->_out('endobj'); - $this->_newobj(); - $this->n_ocg_view = $this->n; - $this->_out('<_textstring('Screen only')); - $this->_out('/Usage <> /View <>>>>>'); - $this->_out('endobj'); - $this->_newobj(); - $this->n_ocg_hidden = $this->n; - $this->_out('<_textstring('Hidden')); - $this->_out('/Usage <> /View <>>>>>'); - $this->_out('endobj'); - } - if (count($this->layers)) { - ksort($this->layers); - foreach ($this->layers as $id => $layer) { - $this->_newobj(); - $this->layers[$id]['n'] = $this->n; - if (isset($this->layerDetails[$id]['name']) && $this->layerDetails[$id]['name']) { - $name = $this->layerDetails[$id]['name']; - } else { - $name = $layer['name']; - } - $this->_out('<_UTF16BEtextstring($name) . '>>'); - $this->_out('endobj'); - } - } - } - - /* -- IMPORTS -- */ - - // from mPDFI - function _putimportedobjects() - { - if (is_array($this->parsers) && count($this->parsers) > 0) { - foreach ($this->parsers as $filename => $p) { - $this->current_parser = $this->parsers[$filename]; - if (is_array($this->_obj_stack[$filename])) { - while ($n = key($this->_obj_stack[$filename])) { - $nObj = $this->current_parser->resolveObject($this->_obj_stack[$filename][$n][1]); - $this->_newobj($this->_obj_stack[$filename][$n][0]); - if ($nObj[0] == pdf_parser::TYPE_STREAM) { - $this->pdf_write_value($nObj); - } else { - $this->pdf_write_value($nObj[1]); - } - $this->_out('endobj'); - $this->_obj_stack[$filename][$n] = null; // free memory - unset($this->_obj_stack[$filename][$n]); - reset($this->_obj_stack[$filename]); - } - } - } - } - } - - function _putformxobjects() - { - $filter = ($this->compress) ? '/Filter /FlateDecode ' : ''; - reset($this->tpls); - foreach ($this->tpls as $tplidx => $tpl) { - $p = ($this->compress) ? gzcompress($tpl['buffer']) : $tpl['buffer']; - $this->_newobj(); - $this->tpls[$tplidx]['n'] = $this->n; - $this->_out('<<' . $filter . '/Type /XObject'); - $this->_out('/Subtype /Form'); - $this->_out('/FormType 1'); - // Left/Bottom/Right/Top - $this->_out(sprintf('/BBox [%.2F %.2F %.2F %.2F]', $tpl['box']['x'] * Mpdf::SCALE, $tpl['box']['y'] * Mpdf::SCALE, ($tpl['box']['x'] + $tpl['box']['w']) * Mpdf::SCALE, ($tpl['box']['y'] + $tpl['box']['h']) * Mpdf::SCALE)); - - - if (isset($tpl['box'])) { - $this->_out(sprintf('/Matrix [1 0 0 1 %.5F %.5F]', -$tpl['box']['x'] * Mpdf::SCALE, -$tpl['box']['y'] * Mpdf::SCALE)); - } - $this->_out('/Resources '); - - if (isset($tpl['resources'])) { - $this->current_parser = $tpl['parser']; - $this->pdf_write_value($tpl['resources']); - } else { - $this->_out('<_res['tpl'][$tplidx]['fonts']) && count($this->_res['tpl'][$tplidx]['fonts'])) { - $this->_out('/Font <<'); - foreach ($this->_res['tpl'][$tplidx]['fonts'] as $font) { - $this->_out('/F' . $font['i'] . ' ' . $font['n'] . ' 0 R'); - } - $this->_out('>>'); - } - if (isset($this->_res['tpl'][$tplidx]['images']) && count($this->_res['tpl'][$tplidx]['images']) || - isset($this->_res['tpl'][$tplidx]['tpls']) && count($this->_res['tpl'][$tplidx]['tpls'])) { - $this->_out('/XObject <<'); - if (isset($this->_res['tpl'][$tplidx]['images']) && count($this->_res['tpl'][$tplidx]['images'])) { - foreach ($this->_res['tpl'][$tplidx]['images'] as $image) { - $this->_out('/I' . $image['i'] . ' ' . $image['n'] . ' 0 R'); - } - } - if (isset($this->_res['tpl'][$tplidx]['tpls']) && count($this->_res['tpl'][$tplidx]['tpls'])) { - foreach ($this->_res['tpl'][$tplidx]['tpls'] as $i => $itpl) { - $this->_out($this->tplprefix . $i . ' ' . $itpl['n'] . ' 0 R'); - } - } - $this->_out('>>'); - } - $this->_out('>>'); - } - - $this->_out('/Length ' . strlen($p) . ' >>'); - $this->_putstream($p); - $this->_out('endobj'); - } - } - - /* -- END IMPORTS -- */ - - function _putpatterns() - { - for ($i = 1; $i <= count($this->patterns); $i++) { - $x = $this->patterns[$i]['x']; - $y = $this->patterns[$i]['y']; - $w = $this->patterns[$i]['w']; - $h = $this->patterns[$i]['h']; - $pgh = $this->patterns[$i]['pgh']; - $orig_w = $this->patterns[$i]['orig_w']; - $orig_h = $this->patterns[$i]['orig_h']; - $image_id = $this->patterns[$i]['image_id']; - $itype = $this->patterns[$i]['itype']; - - if (isset($this->patterns[$i]['bpa'])) { - $bpa = $this->patterns[$i]['bpa']; - } else { - $bpa = []; // background positioning area - } - - if ($this->patterns[$i]['x_repeat']) { - $x_repeat = true; - } else { - $x_repeat = false; - } - - if ($this->patterns[$i]['y_repeat']) { - $y_repeat = true; - } else { - $y_repeat = false; - } - - $x_pos = $this->patterns[$i]['x_pos']; - - if (stristr($x_pos, '%')) { - $x_pos = (float) $x_pos; - $x_pos /= 100; - - if (isset($bpa['w']) && $bpa['w']) { - $x_pos = ($bpa['w'] * $x_pos) - ($orig_w / Mpdf::SCALE * $x_pos); - } else { - $x_pos = ($w * $x_pos) - ($orig_w / Mpdf::SCALE * $x_pos); - } - } - - $y_pos = $this->patterns[$i]['y_pos']; - - if (stristr($y_pos, '%')) { - $y_pos = (float) $y_pos; - $y_pos /= 100; - - if (isset($bpa['h']) && $bpa['h']) { - $y_pos = ($bpa['h'] * $y_pos) - ($orig_h / Mpdf::SCALE * $y_pos); - } else { - $y_pos = ($h * $y_pos) - ($orig_h / Mpdf::SCALE * $y_pos); - } - } - - if (isset($bpa['x']) && $bpa['x']) { - $adj_x = ($x_pos + $bpa['x']) * Mpdf::SCALE; - } else { - $adj_x = ($x_pos + $x) * Mpdf::SCALE; - } - - if (isset($bpa['y']) && $bpa['y']) { - $adj_y = (($pgh - $y_pos - $bpa['y']) * Mpdf::SCALE) - $orig_h; - } else { - $adj_y = (($pgh - $y_pos - $y) * Mpdf::SCALE) - $orig_h; - } - - $img_obj = false; - - if ($itype == 'svg' || $itype == 'wmf') { - foreach ($this->formobjects as $fo) { - if ($fo['i'] == $image_id) { - $img_obj = $fo['n']; - $fo_w = $fo['w']; - $fo_h = -$fo['h']; - $wmf_x = $fo['x']; - $wmf_y = $fo['y']; - break; - } - } - } else { - foreach ($this->images as $img) { - if ($img['i'] == $image_id) { - $img_obj = $img['n']; - break; - } - } - } - - if (!$img_obj) { - throw new \Mpdf\MpdfException("Problem: Image object not found for background pattern " . $img['i']); - } - - $this->_newobj(); - $this->_out('<_out('/XObject <>'); - // ******* ADD ANY ExtGStates, Shading AND Fonts needed for the FormObject - // Set in classes/svg array['fo'] = true - // Required that _putshaders comes before _putpatterns in _putresources - // This adds any resources associated with any FormObject to every Formobject - overkill but works! - if (count($this->extgstates)) { - $this->_out('/ExtGState <<'); - foreach ($this->extgstates as $k => $extgstate) { - if (isset($extgstate['fo']) && $extgstate['fo']) { - if (isset($extgstate['trans'])) { - $this->_out('/' . $extgstate['trans'] . ' ' . $extgstate['n'] . ' 0 R'); - } else { - $this->_out('/GS' . $k . ' ' . $extgstate['n'] . ' 0 R'); - } - } - } - $this->_out('>>'); - } - /* -- BACKGROUNDS -- */ - if (isset($this->gradients) and ( count($this->gradients) > 0)) { - $this->_out('/Shading <<'); - foreach ($this->gradients as $id => $grad) { - if (isset($grad['fo']) && $grad['fo']) { - $this->_out('/Sh' . $id . ' ' . $grad['id'] . ' 0 R'); - } - } - $this->_out('>>'); - } - /* -- END BACKGROUNDS -- */ - $this->_out('/Font <<'); - foreach ($this->fonts as $font) { - if (!$font['used'] && $font['type'] == 'TTF') { - continue; - } - if (isset($font['fo']) && $font['fo']) { - if ($font['type'] == 'TTF' && ($font['sip'] || $font['smp'])) { - foreach ($font['n'] as $k => $fid) { - $this->_out('/F' . $font['subsetfontids'][$k] . ' ' . $font['n'][$k] . ' 0 R'); - } - } else { - $this->_out('/F' . $font['i'] . ' ' . $font['n'] . ' 0 R'); - } - } - } - $this->_out('>>'); - } else { - $this->_out('/XObject <>'); - } - $this->_out('>>'); - $this->_out('endobj'); - - $this->_newobj(); - $this->patterns[$i]['n'] = $this->n; - $this->_out('<< /Type /Pattern /PatternType 1 /PaintType 1 /TilingType 2'); - $this->_out('/Resources ' . ($this->n - 1) . ' 0 R'); - - $this->_out(sprintf('/BBox [0 0 %.3F %.3F]', $orig_w, $orig_h)); - if ($x_repeat) { - $this->_out(sprintf('/XStep %.3F', $orig_w)); - } else { - $this->_out(sprintf('/XStep %d', 99999)); - } - if ($y_repeat) { - $this->_out(sprintf('/YStep %.3F', $orig_h)); - } else { - $this->_out(sprintf('/YStep %d', 99999)); - } - - if ($itype == 'svg' || $itype == 'wmf') { - $this->_out(sprintf('/Matrix [1 0 0 -1 %.3F %.3F]', $adj_x, ($adj_y + $orig_h))); - $s = sprintf("q %.3F 0 0 %.3F %.3F %.3F cm /FO%d Do Q", ($orig_w / $fo_w), (-$orig_h / $fo_h), -($orig_w / $fo_w) * $wmf_x, ($orig_w / $fo_w) * $wmf_y, $image_id); - } else { - $this->_out(sprintf('/Matrix [1 0 0 1 %.3F %.3F]', $adj_x, $adj_y)); - $s = sprintf("q %.3F 0 0 %.3F 0 0 cm /I%d Do Q", $orig_w, $orig_h, $image_id); - } - - if ($this->compress) { - $this->_out('/Filter /FlateDecode'); - $s = gzcompress($s); - } - $this->_out('/Length ' . strlen($s) . '>>'); - $this->_putstream($s); - $this->_out('endobj'); - } - } - - /* -- BACKGROUNDS -- */ - - function _putshaders() - { - $maxid = count($this->gradients); // index for transparency gradients - foreach ($this->gradients as $id => $grad) { - if (($grad['type'] == 2 || $grad['type'] == 3) && empty($grad['is_mask'])) { - $this->_newobj(); - $this->_out('<<'); - $this->_out('/FunctionType 3'); - $this->_out('/Domain [0 1]'); - $fn = []; - $bd = []; - $en = []; - for ($i = 0; $i < (count($grad['stops']) - 1); $i++) { - $fn[] = ($this->n + 1 + $i) . ' 0 R'; - $en[] = '0 1'; - if ($i > 0) { - $bd[] = sprintf('%.3F', $grad['stops'][$i]['offset']); - } - } - $this->_out('/Functions [' . implode(' ', $fn) . ']'); - $this->_out('/Bounds [' . implode(' ', $bd) . ']'); - $this->_out('/Encode [' . implode(' ', $en) . ']'); - $this->_out('>>'); - $this->_out('endobj'); - $f1 = $this->n; - for ($i = 0; $i < (count($grad['stops']) - 1); $i++) { - $this->_newobj(); - $this->_out('<<'); - $this->_out('/FunctionType 2'); - $this->_out('/Domain [0 1]'); - $this->_out('/C0 [' . $grad['stops'][$i]['col'] . ']'); - $this->_out('/C1 [' . $grad['stops'][$i + 1]['col'] . ']'); - $this->_out('/N 1'); - $this->_out('>>'); - $this->_out('endobj'); - } - } - if ($grad['type'] == 2 || $grad['type'] == 3) { - if (isset($grad['trans']) && $grad['trans']) { - $this->_newobj(); - $this->_out('<<'); - $this->_out('/FunctionType 3'); - $this->_out('/Domain [0 1]'); - $fn = []; - $bd = []; - $en = []; - for ($i = 0; $i < (count($grad['stops']) - 1); $i++) { - $fn[] = ($this->n + 1 + $i) . ' 0 R'; - $en[] = '0 1'; - if ($i > 0) { - $bd[] = sprintf('%.3F', $grad['stops'][$i]['offset']); - } - } - $this->_out('/Functions [' . implode(' ', $fn) . ']'); - $this->_out('/Bounds [' . implode(' ', $bd) . ']'); - $this->_out('/Encode [' . implode(' ', $en) . ']'); - $this->_out('>>'); - $this->_out('endobj'); - $f2 = $this->n; - for ($i = 0; $i < (count($grad['stops']) - 1); $i++) { - $this->_newobj(); - $this->_out('<<'); - $this->_out('/FunctionType 2'); - $this->_out('/Domain [0 1]'); - $this->_out(sprintf('/C0 [%.3F]', $grad['stops'][$i]['opacity'])); - $this->_out(sprintf('/C1 [%.3F]', $grad['stops'][$i + 1]['opacity'])); - $this->_out('/N 1'); - $this->_out('>>'); - $this->_out('endobj'); - } - } - } - - if (empty($grad['is_mask'])) { - $this->_newobj(); - $this->_out('<<'); - $this->_out('/ShadingType ' . $grad['type']); - if (isset($grad['colorspace'])) { - $this->_out('/ColorSpace /Device' . $grad['colorspace']); // Can use CMYK if all C0 and C1 above have 4 values - } else { - $this->_out('/ColorSpace /DeviceRGB'); - } - if ($grad['type'] == 2) { - $this->_out(sprintf('/Coords [%.3F %.3F %.3F %.3F]', $grad['coords'][0], $grad['coords'][1], $grad['coords'][2], $grad['coords'][3])); - $this->_out('/Function ' . $f1 . ' 0 R'); - $this->_out('/Extend [' . $grad['extend'][0] . ' ' . $grad['extend'][1] . '] '); - $this->_out('>>'); - } elseif ($grad['type'] == 3) { - // x0, y0, r0, x1, y1, r1 - // at this this time radius of inner circle is 0 - $ir = 0; - if (isset($grad['coords'][5]) && $grad['coords'][5]) { - $ir = $grad['coords'][5]; - } - $this->_out(sprintf('/Coords [%.3F %.3F %.3F %.3F %.3F %.3F]', $grad['coords'][0], $grad['coords'][1], $ir, $grad['coords'][2], $grad['coords'][3], $grad['coords'][4])); - $this->_out('/Function ' . $f1 . ' 0 R'); - $this->_out('/Extend [' . $grad['extend'][0] . ' ' . $grad['extend'][1] . '] '); - $this->_out('>>'); - } elseif ($grad['type'] == 6) { - $this->_out('/BitsPerCoordinate 16'); - $this->_out('/BitsPerComponent 8'); - if ($grad['colorspace'] == 'CMYK') { - $this->_out('/Decode[0 1 0 1 0 1 0 1 0 1 0 1]'); - } elseif ($grad['colorspace'] == 'Gray') { - $this->_out('/Decode[0 1 0 1 0 1]'); - } else { - $this->_out('/Decode[0 1 0 1 0 1 0 1 0 1]'); - } - $this->_out('/BitsPerFlag 8'); - $this->_out('/Length ' . strlen($grad['stream'])); - $this->_out('>>'); - $this->_putstream($grad['stream']); - } - $this->_out('endobj'); - } - - $this->gradients[$id]['id'] = $this->n; - - // set pattern object - $this->_newobj(); - $out = '<< /Type /Pattern /PatternType 2'; - $out .= ' /Shading ' . $this->gradients[$id]['id'] . ' 0 R'; - $out .= ' >>'; - $out .= "\n" . 'endobj'; - $this->_out($out); - - - $this->gradients[$id]['pattern'] = $this->n; - - if (isset($grad['trans']) && $grad['trans']) { - // luminosity pattern - $transid = $id + $maxid; - $this->_newobj(); - $this->_out('<<'); - $this->_out('/ShadingType ' . $grad['type']); - $this->_out('/ColorSpace /DeviceGray'); - if ($grad['type'] == 2) { - $this->_out(sprintf('/Coords [%.3F %.3F %.3F %.3F]', $grad['coords'][0], $grad['coords'][1], $grad['coords'][2], $grad['coords'][3])); - $this->_out('/Function ' . $f2 . ' 0 R'); - $this->_out('/Extend [' . $grad['extend'][0] . ' ' . $grad['extend'][1] . '] '); - $this->_out('>>'); - } elseif ($grad['type'] == 3) { - // x0, y0, r0, x1, y1, r1 - // at this this time radius of inner circle is 0 - $ir = 0; - if (isset($grad['coords'][5]) && $grad['coords'][5]) { - $ir = $grad['coords'][5]; - } - $this->_out(sprintf('/Coords [%.3F %.3F %.3F %.3F %.3F %.3F]', $grad['coords'][0], $grad['coords'][1], $ir, $grad['coords'][2], $grad['coords'][3], $grad['coords'][4])); - $this->_out('/Function ' . $f2 . ' 0 R'); - $this->_out('/Extend [' . $grad['extend'][0] . ' ' . $grad['extend'][1] . '] '); - $this->_out('>>'); - } elseif ($grad['type'] == 6) { - $this->_out('/BitsPerCoordinate 16'); - $this->_out('/BitsPerComponent 8'); - $this->_out('/Decode[0 1 0 1 0 1]'); - $this->_out('/BitsPerFlag 8'); - $this->_out('/Length ' . strlen($grad['stream_trans'])); - $this->_out('>>'); - $this->_putstream($grad['stream_trans']); - } - $this->_out('endobj'); - - $this->gradients[$transid]['id'] = $this->n; - $this->_newobj(); - $this->_out('<< /Type /Pattern /PatternType 2'); - $this->_out('/Shading ' . $this->gradients[$transid]['id'] . ' 0 R'); - $this->_out('>>'); - $this->_out('endobj'); - $this->gradients[$transid]['pattern'] = $this->n; - $this->_newobj(); - // Need to extend size of viewing box in case of transformations - $str = 'q /a0 gs /Pattern cs /p' . $transid . ' scn -' . ($this->wPt / 2) . ' -' . ($this->hPt / 2) . ' ' . (2 * $this->wPt) . ' ' . (2 * $this->hPt) . ' re f Q'; - $filter = ($this->compress) ? '/Filter /FlateDecode ' : ''; - $p = ($this->compress) ? gzcompress($str) : $str; - $this->_out('<< /Type /XObject /Subtype /Form /FormType 1 ' . $filter); - $this->_out('/Length ' . strlen($p)); - $this->_out('/BBox [-' . ($this->wPt / 2) . ' -' . ($this->hPt / 2) . ' ' . (2 * $this->wPt) . ' ' . (2 * $this->hPt) . ']'); - $this->_out('/Group << /Type /Group /S /Transparency /CS /DeviceGray >>'); - $this->_out('/Resources <<'); - $this->_out('/ExtGState << /a0 << /ca 1 /CA 1 >> >>'); - $this->_out('/Pattern << /p' . $transid . ' ' . $this->gradients[$transid]['pattern'] . ' 0 R >>'); - $this->_out('>>'); - $this->_out('>>'); - $this->_putstream($p); - $this->_out('endobj'); - $this->_newobj(); - $this->_out('<< /Type /Mask /S /Luminosity /G ' . ($this->n - 1) . ' 0 R >>' . "\n" . 'endobj'); - $this->_newobj(); - $this->_out('<< /Type /ExtGState /SMask ' . ($this->n - 1) . ' 0 R /AIS false >>' . "\n" . 'endobj'); - if (isset($grad['fo']) && $grad['fo']) { - $this->extgstates[] = ['n' => $this->n, 'trans' => 'TGS' . $id, 'fo' => true]; - } else { - $this->extgstates[] = ['n' => $this->n, 'trans' => 'TGS' . $id]; - } - } - } - } - - /* -- END BACKGROUNDS -- */ - - function _putspotcolors() - { - foreach ($this->spotColors as $name => $color) { - $this->_newobj(); - $this->_out('[/Separation /' . str_replace(' ', '#20', $name)); - $this->_out('/DeviceCMYK <<'); - $this->_out('/Range [0 1 0 1 0 1 0 1] /C0 [0 0 0 0] '); - $this->_out(sprintf('/C1 [%.3F %.3F %.3F %.3F] ', $color['c'] / 100, $color['m'] / 100, $color['y'] / 100, $color['k'] / 100)); - $this->_out('/FunctionType 2 /Domain [0 1] /N 1>>]'); - $this->_out('endobj'); - $this->spotColors[$name]['n'] = $this->n; - } - } - - function _putresources() - { - if ($this->hasOC || count($this->layers)) { - $this->_putocg(); - } - $this->_putextgstates(); - $this->_putspotcolors(); - - // @log Compiling Fonts - - $this->_putfonts(); - - // @log Compiling Images - - $this->_putimages(); - $this->_putformobjects(); // *IMAGES-CORE* - - /* -- IMPORTS -- */ - if ($this->enableImports) { - $this->_putformxobjects(); - $this->_putimportedobjects(); - } - /* -- END IMPORTS -- */ - - /* -- BACKGROUNDS -- */ - $this->_putshaders(); - $this->_putpatterns(); - /* -- END BACKGROUNDS -- */ - - - // Resource dictionary - $this->offsets[2] = strlen($this->buffer); - $this->_out('2 0 obj'); - $this->_out('<_out('/Font <<'); - foreach ($this->fonts as $font) { - if (isset($font['type']) && $font['type'] == 'TTF' && !$font['used']) { - continue; - } - if (isset($font['type']) && $font['type'] == 'TTF' && ($font['sip'] || $font['smp'])) { - foreach ($font['n'] as $k => $fid) { - $this->_out('/F' . $font['subsetfontids'][$k] . ' ' . $font['n'][$k] . ' 0 R'); - } - } else { - $this->_out('/F' . $font['i'] . ' ' . $font['n'] . ' 0 R'); - } - } - $this->_out('>>'); - - if (count($this->spotColors)) { - $this->_out('/ColorSpace <<'); - foreach ($this->spotColors as $color) { - $this->_out('/CS' . $color['i'] . ' ' . $color['n'] . ' 0 R'); - } - $this->_out('>>'); - } - - if (count($this->extgstates)) { - $this->_out('/ExtGState <<'); - foreach ($this->extgstates as $k => $extgstate) { - if (isset($extgstate['trans'])) { - $this->_out('/' . $extgstate['trans'] . ' ' . $extgstate['n'] . ' 0 R'); - } else { - $this->_out('/GS' . $k . ' ' . $extgstate['n'] . ' 0 R'); - } - } - $this->_out('>>'); - } - - /* -- BACKGROUNDS -- */ - if ((isset($this->gradients) and ( count($this->gradients) > 0)) || ($this->enableImports && count($this->tpls))) { // mPDF 5.7.3 - - $this->_out('/Shading <<'); - - foreach ($this->gradients as $id => $grad) { - $this->_out('/Sh' . $id . ' ' . $grad['id'] . ' 0 R'); - } - - // mPDF 5.7.3 - // If a shading dictionary is in an object (tpl) imported from another PDF, it needs to be included - // in the document resources, as well as the object resources - // Otherwise get an error in some PDF viewers - if ($this->enableImports && count($this->tpls)) { - - foreach ($this->tpls as $tplidx => $tpl) { - - if (isset($tpl['resources'])) { - - $this->current_parser = $tpl['parser']; - - foreach ($tpl['resources'][1] as $k => $v) { - if ($k == '/Shading') { - foreach ($v[1] as $k2 => $v2) { - $this->_out($k2 . " ", false); - $this->pdf_write_value($v2); - } - } - } - } - } - } - - $this->_out('>>'); - - /* - // ??? Not needed !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - $this->_out('/Pattern <<'); - foreach ($this->gradients as $id => $grad) { - $this->_out('/P'.$id.' '.$grad['pattern'].' 0 R'); - } - $this->_out('>>'); - */ - } - /* -- END BACKGROUNDS -- */ - - if (count($this->images) || count($this->formobjects) || ($this->enableImports && count($this->tpls))) { - $this->_out('/XObject <<'); - foreach ($this->images as $image) { - $this->_out('/I' . $image['i'] . ' ' . $image['n'] . ' 0 R'); - } - foreach ($this->formobjects as $formobject) { - $this->_out('/FO' . $formobject['i'] . ' ' . $formobject['n'] . ' 0 R'); - } - /* -- IMPORTS -- */ - if ($this->enableImports && count($this->tpls)) { - foreach ($this->tpls as $tplidx => $tpl) { - $this->_out($this->tplprefix . $tplidx . ' ' . $tpl['n'] . ' 0 R'); - } - } - /* -- END IMPORTS -- */ - $this->_out('>>'); - } - - /* -- BACKGROUNDS -- */ - - if (count($this->patterns)) { - $this->_out('/Pattern <<'); - foreach ($this->patterns as $k => $patterns) { - $this->_out('/P' . $k . ' ' . $patterns['n'] . ' 0 R'); - } - $this->_out('>>'); - } - /* -- END BACKGROUNDS -- */ - - if ($this->hasOC || count($this->layers)) { - $this->_out('/Properties <<'); - if ($this->hasOC) { - $this->_out('/OC1 ' . $this->n_ocg_print . ' 0 R /OC2 ' . $this->n_ocg_view . ' 0 R /OC3 ' . $this->n_ocg_hidden . ' 0 R '); - } - if (count($this->layers)) { - foreach ($this->layers as $id => $layer) { - $this->_out('/ZI' . $id . ' ' . $layer['n'] . ' 0 R'); - } - } - $this->_out('>>'); - } - - $this->_out('>>'); - $this->_out('endobj'); // end resource dictionary - - $this->_putbookmarks(); - - if (isset($this->js) && $this->js) { - $this->_putjavascript(); - } - - if ($this->encrypted) { - $this->_newobj(); - $this->enc_obj_id = $this->n; - $this->_out('<<'); - $this->_putencryption(); - $this->_out('>>'); - $this->_out('endobj'); - } - } - - function _putjavascript() - { - $this->_newobj(); - $this->n_js = $this->n; - $this->_out('<<'); - $this->_out('/Names [(EmbeddedJS) ' . (1 + $this->n) . ' 0 R ]'); - $this->_out('>>'); - $this->_out('endobj'); - - $this->_newobj(); - $this->_out('<<'); - $this->_out('/S /JavaScript'); - $this->_out('/JS ' . $this->_textstring($this->js)); - $this->_out('>>'); - $this->_out('endobj'); - } - - function _putencryption() - { - $this->_out('/Filter /Standard'); - if ($this->protection->getUseRC128Encryption()) { - $this->_out('/V 2'); - $this->_out('/R 3'); - $this->_out('/Length 128'); - } else { - $this->_out('/V 1'); - $this->_out('/R 2'); - } - $this->_out('/O (' . $this->_escape($this->protection->getOValue()) . ')'); - $this->_out('/U (' . $this->_escape($this->protection->getUvalue()) . ')'); - $this->_out('/P ' . $this->protection->getPvalue()); - } - - function _puttrailer() - { - $this->_out('/Size ' . ($this->n + 1)); - $this->_out('/Root ' . $this->n . ' 0 R'); - $this->_out('/Info ' . $this->InfoRoot . ' 0 R'); - - if ($this->encrypted) { - $this->_out('/Encrypt ' . $this->enc_obj_id . ' 0 R'); - $this->_out('/ID [<' . $this->protection->getUniqid() . '> <' . $this->protection->getUniqid() . '>]'); - } else { - $uniqid = md5(time() . $this->buffer); - $this->_out('/ID [<' . $uniqid . '> <' . $uniqid . '>]'); + $this->writer->write('>>'); + $this->writer->write('endobj'); } } function SetProtection($permissions = [], $user_pass = '', $owner_pass = null, $length = 40) { - if (!$this->protection) { - $this->protection = new Protection(new UniqidGenerator()); - } - $this->encrypted = $this->protection->setProtection($permissions, $user_pass, $owner_pass, $length); } // ========================================= - /* -- BOOKMARKS -- */ // FROM class PDF_Bookmark function Bookmark($txt, $level = 0, $y = 0) { @@ -25566,132 +23338,24 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface $y = $this->y0; } // If columns are on - mark top of columns } + // else y is used as set, or =0 i.e. top of page // DIRECTIONALITY RTL $bmo = ['t' => $txt, 'l' => $level, 'y' => $y, 'p' => $this->page]; + if ($this->keep_block_together) { // do nothing - } /* -- TABLES -- */ elseif ($this->table_rotate) { + } elseif ($this->table_rotate) { $this->tbrot_BMoutlines[] = $bmo; } elseif ($this->kwt) { $this->kwt_BMoutlines[] = $bmo; - } /* -- END TABLES -- */ elseif ($this->ColActive) { // *COLUMNS* - $this->col_BMoutlines[] = $bmo; // *COLUMNS* - } // *COLUMNS* - else { + } elseif ($this->ColActive) { + $this->col_BMoutlines[] = $bmo; + } else { $this->BMoutlines[] = $bmo; } } - function _putbookmarks() - { - $nb = count($this->BMoutlines); - if ($nb == 0) { - return; - } - - $bmo = $this->BMoutlines; - $this->BMoutlines = []; - $lastlevel = -1; - for ($i = 0; $i < count($bmo); $i++) { - if ($bmo[$i]['l'] > 0) { - while ($bmo[$i]['l'] - $lastlevel > 1) { // If jump down more than one level, insert a new entry - $new = $bmo[$i]; - $new['t'] = "[" . $new['t'] . "]"; // Put [] around text/title to highlight - $new['l'] = $lastlevel + 1; - $lastlevel++; - $this->BMoutlines[] = $new; - } - } - $this->BMoutlines[] = $bmo[$i]; - $lastlevel = $bmo[$i]['l']; - } - $nb = count($this->BMoutlines); - - $lru = []; - $level = 0; - foreach ($this->BMoutlines as $i => $o) { - if ($o['l'] > 0) { - $parent = $lru[$o['l'] - 1]; - // Set parent and last pointers - $this->BMoutlines[$i]['parent'] = $parent; - $this->BMoutlines[$parent]['last'] = $i; - if ($o['l'] > $level) { - // Level increasing: set first pointer - $this->BMoutlines[$parent]['first'] = $i; - } - } else { - $this->BMoutlines[$i]['parent'] = $nb; - } - if ($o['l'] <= $level and $i > 0) { - // Set prev and next pointers - $prev = $lru[$o['l']]; - $this->BMoutlines[$prev]['next'] = $i; - $this->BMoutlines[$i]['prev'] = $prev; - } - $lru[$o['l']] = $i; - $level = $o['l']; - } - - - // Outline items - $n = $this->n + 1; - foreach ($this->BMoutlines as $i => $o) { - $this->_newobj(); - $this->_out('<_UTF16BEtextstring($o['t'])); - $this->_out('/Parent ' . ($n + $o['parent']) . ' 0 R'); - if (isset($o['prev'])) { - $this->_out('/Prev ' . ($n + $o['prev']) . ' 0 R'); - } - if (isset($o['next'])) { - $this->_out('/Next ' . ($n + $o['next']) . ' 0 R'); - } - if (isset($o['first'])) { - $this->_out('/First ' . ($n + $o['first']) . ' 0 R'); - } - if (isset($o['last'])) { - $this->_out('/Last ' . ($n + $o['last']) . ' 0 R'); - } - - - if (isset($this->pageDim[$o['p']]['h'])) { - $h = $this->pageDim[$o['p']]['h']; - } else { - $h = 0; - } - - $this->_out(sprintf('/Dest [%d 0 R /XYZ 0 %.3F null]', 1 + 2 * ($o['p']), ($h - $o['y']) * Mpdf::SCALE)); - if (isset($this->bookmarkStyles) && isset($this->bookmarkStyles[$o['l']])) { - // font style - $bms = $this->bookmarkStyles[$o['l']]['style']; - $style = 0; - if (strpos($bms, 'B') !== false) { - $style += 2; - } - if (strpos($bms, 'I') !== false) { - $style += 1; - } - $this->_out(sprintf('/F %d', $style)); - // Colour - $col = $this->bookmarkStyles[$o['l']]['color']; - if (isset($col) && is_array($col) && count($col) == 3) { - $this->_out(sprintf('/C [%.3F %.3F %.3F]', ($col[0] / 255), ($col[1] / 255), ($col[2] / 255))); - } - } - - $this->_out('/Count 0>>'); - $this->_out('endobj'); - } - // Outline root - $this->_newobj(); - $this->OutlineRoot = $this->n; - $this->_out('<_out('/Last ' . ($n + $lru[0]) . ' 0 R>>'); - $this->_out('endobj'); - } - - /* -- END BOOKMARKS -- */ - /** * Initiate, and Mark a place for the Table of Contents to be inserted */ @@ -26003,9 +23667,9 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface // Update Internal Links if (count($this->internallink)) { foreach ($this->internallink as $key => $o) { - if ($o['PAGE'] >= $start_page && $o['PAGE'] <= $end_page) { + if (is_array($o) && $o['PAGE'] >= $start_page && $o['PAGE'] <= $end_page) { $this->internallink[$key]['PAGE'] += ($target_page - $start_page); - } elseif ($o['PAGE'] >= $target_page && $o['PAGE'] < $start_page) { + } elseif (is_array($o) && $o['PAGE'] >= $target_page && $o['PAGE'] < $start_page) { $this->internallink[$key]['PAGE'] += $n_toc; } } @@ -26336,6 +24000,20 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface $this->Reference[] = ['t' => $txta . ' - see ' . $txtb, 'p' => []]; } + private function filesInDir($directory) + { + $files = []; + foreach ((new \DirectoryIterator($directory)) as $v) { + if ($v->isDir() || $v->isDot()) { + continue; + } + + $files[] = $v->getPathname(); + } + + return $files; + } + function InsertIndex($usedivletters = 1, $useLinking = false, $indexCollationLocale = '', $indexCollationGroup = '') { $size = count($this->Reference); @@ -26372,7 +24050,9 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface } if ($usedivletters) { - if ($indexCollationGroup) { + if ($indexCollationGroup && \in_array(strtolower($indexCollationGroup), array_map(function ($v) { + return strtolower(basename($v, '.php')); + }, $this->filesInDir(__DIR__ . '/../data/collations/')))) { $collation = require __DIR__ . '/../data/collations/' . $indexCollationGroup . '.php'; } else { $collation = []; @@ -27671,10 +25351,10 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface $h = $this->h; - $this->_out(sprintf('%.3F %.3F m %.3F %.3F %.3F %.3F %.3F %.3F c', ($x + $rx) * Mpdf::SCALE, ($h - $y) * Mpdf::SCALE, ($x + $rx) * Mpdf::SCALE, ($h - ($y - $ly)) * Mpdf::SCALE, ($x + $lx) * Mpdf::SCALE, ($h - ($y - $ry)) * Mpdf::SCALE, $x * Mpdf::SCALE, ($h - ($y - $ry)) * Mpdf::SCALE)); - $this->_out(sprintf('%.3F %.3F %.3F %.3F %.3F %.3F c', ($x - $lx) * Mpdf::SCALE, ($h - ($y - $ry)) * Mpdf::SCALE, ($x - $rx) * Mpdf::SCALE, ($h - ($y - $ly)) * Mpdf::SCALE, ($x - $rx) * Mpdf::SCALE, ($h - $y) * Mpdf::SCALE)); - $this->_out(sprintf('%.3F %.3F %.3F %.3F %.3F %.3F c', ($x - $rx) * Mpdf::SCALE, ($h - ($y + $ly)) * Mpdf::SCALE, ($x - $lx) * Mpdf::SCALE, ($h - ($y + $ry)) * Mpdf::SCALE, $x * Mpdf::SCALE, ($h - ($y + $ry)) * Mpdf::SCALE)); - $this->_out(sprintf('%.3F %.3F %.3F %.3F %.3F %.3F c %s', ($x + $lx) * Mpdf::SCALE, ($h - ($y + $ry)) * Mpdf::SCALE, ($x + $rx) * Mpdf::SCALE, ($h - ($y + $ly)) * Mpdf::SCALE, ($x + $rx) * Mpdf::SCALE, ($h - $y) * Mpdf::SCALE, $op)); + $this->writer->write(sprintf('%.3F %.3F m %.3F %.3F %.3F %.3F %.3F %.3F c', ($x + $rx) * Mpdf::SCALE, ($h - $y) * Mpdf::SCALE, ($x + $rx) * Mpdf::SCALE, ($h - ($y - $ly)) * Mpdf::SCALE, ($x + $lx) * Mpdf::SCALE, ($h - ($y - $ry)) * Mpdf::SCALE, $x * Mpdf::SCALE, ($h - ($y - $ry)) * Mpdf::SCALE)); + $this->writer->write(sprintf('%.3F %.3F %.3F %.3F %.3F %.3F c', ($x - $lx) * Mpdf::SCALE, ($h - ($y - $ry)) * Mpdf::SCALE, ($x - $rx) * Mpdf::SCALE, ($h - ($y - $ly)) * Mpdf::SCALE, ($x - $rx) * Mpdf::SCALE, ($h - $y) * Mpdf::SCALE)); + $this->writer->write(sprintf('%.3F %.3F %.3F %.3F %.3F %.3F c', ($x - $rx) * Mpdf::SCALE, ($h - ($y + $ly)) * Mpdf::SCALE, ($x - $lx) * Mpdf::SCALE, ($h - ($y + $ry)) * Mpdf::SCALE, $x * Mpdf::SCALE, ($h - ($y + $ry)) * Mpdf::SCALE)); + $this->writer->write(sprintf('%.3F %.3F %.3F %.3F %.3F %.3F c %s', ($x + $lx) * Mpdf::SCALE, ($h - ($y + $ry)) * Mpdf::SCALE, ($x + $rx) * Mpdf::SCALE, ($h - ($y + $ly)) * Mpdf::SCALE, ($x + $rx) * Mpdf::SCALE, ($h - $y) * Mpdf::SCALE, $op)); } /* -- DIRECTW -- */ @@ -28255,6 +25935,9 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface $prevFontSizePt = $this->FontSizePt; $this->SetFont($bsf, '', '', false); $this->SetFont($prevFontFamily, $prevFontStyle, $prevFontSizePt, false); + if ($this->fontCache->has($font . '.cw.dat')) { + $cw = $this->fontCache->load($font . '.cw.dat'); + } } if (!$cw) { @@ -28322,14 +26005,14 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface { if ($string === mb_convert_encoding(mb_convert_encoding($string, "UTF-32", "UTF-8"), "UTF-8", "UTF-32")) { return true; - } else { - if ($this->ignore_invalid_utf8) { - $string = mb_convert_encoding(mb_convert_encoding($string, "UTF-32", "UTF-8"), "UTF-8", "UTF-32"); - return true; - } else { - return false; - } } + + if ($this->ignore_invalid_utf8) { + $string = mb_convert_encoding(mb_convert_encoding($string, "UTF-32", "UTF-8"), "UTF-8", "UTF-32"); + return true; + } + + return false; } /** @@ -28589,7 +26272,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface $xtra = $fbwi - $sz; $charspacing = $xtra / (strlen($codestr) - 1); if ($charspacing) { - $this->_out(sprintf('BT %.3F Tc ET', $charspacing * Mpdf::SCALE)); + $this->writer->write(sprintf('BT %.3F Tc ET', $charspacing * Mpdf::SCALE)); } } @@ -28597,7 +26280,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface $this->Cell($fbw, $codestr_fontsize, $codestr); if ($charspacing) { - $this->_out('BT 0 Tc ET'); + $this->writer->write('BT 0 Tc ET'); } } @@ -28690,7 +26373,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface $xtra = $textw - ($cw * $chars); $charspacing = $xtra / ($chars - 1); if ($charspacing) { - $this->_out(sprintf('BT %.3F Tc ET', $charspacing * Mpdf::SCALE)); + $this->writer->write(sprintf('BT %.3F Tc ET', $charspacing * Mpdf::SCALE)); } if ($bgcol) { @@ -28712,7 +26395,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface $this->Cell($textw, $num_height, $charRI, 0, 0, '', 1); if ($charspacing) { - $this->_out('BT 0 Tc ET'); + $this->writer->write('BT 0 Tc ET'); } // Outer Right character @@ -28794,14 +26477,14 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface /** * POSTAL and OTHER barcodes */ - function WriteBarcode2($code, $x = '', $y = '', $size = 1, $height = 1, $bgcol = false, $col = false, $btype = 'IMB', $print_ratio = '', $k = 1) + function WriteBarcode2($code, $x = '', $y = '', $size = 1, $height = 1, $bgcol = false, $col = false, $btype = 'IMB', $print_ratio = '', $k = 1, $quiet_zone_left = null, $quiet_zone_right = null) { if (empty($code)) { return; } $this->barcode = new Barcode(); - $arrcode = $this->barcode->getBarcodeArray($code, $btype, $print_ratio); + $arrcode = $this->barcode->getBarcodeArray($code, $btype, $print_ratio, $quiet_zone_left, $quiet_zone_right); if (empty($x)) { $x = $this->x; @@ -28824,7 +26507,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface $rlm = $arrcode['quietR'] / $k; // Right Quiet margin $tlm = $blm = $arrcode['quietTB'] / $k; $height = 1; // Overrides - } elseif (in_array($btype, ['C128A', 'C128B', 'C128C', 'EAN128A', 'EAN128B', 'EAN128C', 'C39', 'C39+', 'C39E', 'C39E+', 'S25', 'S25+', 'I25', 'I25+', 'I25B', 'I25B+', 'C93', 'MSI', 'MSI+', 'CODABAR', 'CODE11'])) { + } elseif (in_array($btype, ['C128A', 'C128B', 'C128C', 'C128RAW', 'EAN128A', 'EAN128B', 'EAN128C', 'C39', 'C39+', 'C39E', 'C39E+', 'S25', 'S25+', 'I25', 'I25+', 'I25B', 'I25B+', 'C93', 'MSI', 'MSI+', 'CODABAR', 'CODE11'])) { $llm = $arrcode['lightmL'] * $xres; // Left Quiet margin $rlm = $arrcode['lightmR'] * $xres; // Right Quiet margin $tlm = $blm = $arrcode['lightTB'] * $xres * $height; @@ -28893,7 +26576,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface if ($returnstring) { return('q'); } else { - $this->_out('q'); + $this->writer->write('q'); } } @@ -28902,7 +26585,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface if ($returnstring) { return('Q'); } else { - $this->_out('Q'); + $this->writer->write('Q'); } } @@ -29033,7 +26716,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface if ($returnstring) { return(sprintf('%.4F %.4F %.4F %.4F %.4F %.4F cm', $tm[0], $tm[1], $tm[2], $tm[3], $tm[4], $tm[5])); } else { - $this->_out(sprintf('%.4F %.4F %.4F %.4F %.4F %.4F cm', $tm[0], $tm[1], $tm[2], $tm[3], $tm[4], $tm[5])); + $this->writer->write(sprintf('%.4F %.4F %.4F %.4F %.4F %.4F cm', $tm[0], $tm[1], $tm[2], $tm[3], $tm[4], $tm[5])); } } @@ -29268,7 +26951,15 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface function AdjustHTML($html, $tabSpaces = 8) { $limit = ini_get('pcre.backtrack_limit'); - if (strlen($html) > $limit) { + + if (0 >= (int) $limit) { + throw new \Mpdf\MpdfException(sprintf( + 'mPDF will not process HTML with disabled pcre.backtrack_limit to prevent unexpected behaviours, please set a positive backtrack limit.', + $limit + )); + } + + if (strlen($html) > (int) $limit) { throw new \Mpdf\MpdfException(sprintf( 'The HTML code size is larger than pcre.backtrack_limit %d. You should use WriteHTML() with smaller string lengths.', $limit @@ -29437,187 +27128,6 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface return date($matches[1]); } - // =========================== - /* -- IMPORTS -- */ - function SetImportUse() - { - if (!class_exists('fpdi_pdf_parser')) { - throw new \Mpdf\MpdfException('Class fpdi_pdf_parser not found. Please run composer update or require setasign/fpdi 1.6.* manually'); - } - - $this->enableImports = true; - } - - // from mPDFI - function hex2str($hex) - { - return pack("H*", str_replace(["\r", "\n", " "], "", $hex)); - } - - function str2hex($str) - { - return current(unpack("H*", $str)); - } - - /** - * Un-escapes a PDF string - * - * @param string $s - * @return string - */ - function _unescape($s) - { - $out = ''; - for ($count = 0, $n = strlen($s); $count < $n; $count++) { - if ($s[$count] != '\\' || $count == $n-1) { - $out .= $s[$count]; - } else { - switch ($s[++$count]) { - case ')': - case '(': - case '\\': - $out .= $s[$count]; - break; - case 'f': - $out .= chr(0x0C); - break; - case 'b': - $out .= chr(0x08); - break; - case 't': - $out .= chr(0x09); - break; - case 'r': - $out .= chr(0x0D); - break; - case 'n': - $out .= chr(0x0A); - break; - case "\r": - if ($count != $n-1 && $s[$count+1] == "\n") { - $count++; - } - break; - case "\n": - break; - default: - // Octal-Values - if (ord($s[$count]) >= ord('0') && - ord($s[$count]) <= ord('9')) { - $oct = ''. $s[$count]; - if (ord($s[$count+1]) >= ord('0') && - ord($s[$count+1]) <= ord('9')) { - $oct .= $s[++$count]; - if (ord($s[$count+1]) >= ord('0') && - ord($s[$count+1]) <= ord('9')) { - $oct .= $s[++$count]; - } - } - $out .= chr(octdec($oct)); - } else { - $out .= $s[$count]; - } - } - } - } - return $out; - } - - function pdf_write_value(&$value) - { - switch ($value[0]) { - case pdf_parser::TYPE_TOKEN: - $this->_out($value[1] . ' ', false); - break; - - case pdf_parser::TYPE_NUMERIC: - case pdf_parser::TYPE_REAL: - if (is_float($value[1]) && $value[1] != 0) { - $this->_out(rtrim(rtrim(sprintf('%F', $value[1]), '0'), '.') . ' ', false); - } else { - $this->_out($value[1] . ' ', false); - } - break; - - case pdf_parser::TYPE_ARRAY: - // An array. Output the proper - // structure and move on. - $this->_out("[", false); - for ($i = 0; $i < count($value[1]); $i++) { - $this->pdf_write_value($value[1][$i]); - } - $this->_out("]"); - break; - - case pdf_parser::TYPE_DICTIONARY: - // A dictionary. - $this->_out("<<", false); - - foreach ($value[1] as $k => $v) { - $this->_out($k . ' ', false); - $this->pdf_write_value($v); - } - - $this->_out(">>"); - break; - - case pdf_parser::TYPE_OBJREF: - // An indirect object reference - // Fill the object stack if needed - $cpfn = $this->current_parser->filename; - if (!isset($this->_don_obj_stack[$cpfn][$value[1]])) { - $this->_newobj(false, true); - $this->_obj_stack[$cpfn][$value[1]] = [$this->n, $value]; - $this->_don_obj_stack[$cpfn][$value[1]] = [$this->n, $value]; - } - $objid = $this->_don_obj_stack[$cpfn][$value[1]][0]; - $this->_out("{$objid} 0 R"); // {$value[2]} - break; - - case pdf_parser::TYPE_STRING: - if ($this->encrypted) { - $value[1] = $this->_unescape($value[1]); - $value[1] = $this->protection->rc4($this->protection->objectKey($this->_current_obj_id), $value[1]); - $value[1] = $this->_escape($value[1]); - } - // A string. - $this->_out('(' . $value[1] . ')'); - break; - - case pdf_parser::TYPE_STREAM: - // A stream. First, output the - // stream dictionary, then the - // stream data itself. - $this->pdf_write_value($value[1]); - if ($this->encrypted) { - $value[2][1] = $this->protection->rc4($this->protection->objectKey($this->_current_obj_id), $value[2][1]); - } - $this->_out("stream"); - $this->_out($value[2][1]); - $this->_out("endstream"); - break; - - case pdf_parser::TYPE_HEX: - if ($this->encrypted) { - $value[1] = $this->hex2str($value[1]); - $value[1] = $this->protection->rc4($this->protection->objectKey($this->_current_obj_id), $value[1]); - // remake hexstring of encrypted string - $value[1] = $this->str2hex($value[1]); - } - $this->_out("<" . $value[1] . ">"); - break; - - case pdf_parser::TYPE_BOOLEAN: - $this->_out($value[1] ? 'true' : 'false'); - break; - - case pdf_parser::TYPE_NULL: - // The null object. - $this->_out("null"); - break; - } - } - // ========== OVERWRITE SEARCH STRING IN A PDF FILE ================ function OverWrite($file_in, $search, $replacement, $dest = Destination::DOWNLOAD, $file_out = "mpdf") { @@ -29634,15 +27144,15 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface if (!$this->onlyCoreFonts && !$this->usingCoreFont) { foreach ($search as $k => $val) { - $search[$k] = $this->UTF8ToUTF16BE($search[$k], false); - $search[$k] = $this->_escape($search[$k]); - $replacement[$k] = $this->UTF8ToUTF16BE($replacement[$k], false); - $replacement[$k] = $this->_escape($replacement[$k]); + $search[$k] = $this->writer->utf8ToUtf16BigEndian($search[$k], false); + $search[$k] = $this->writer->escape($search[$k]); + $replacement[$k] = $this->writer->utf8ToUtf16BigEndian($replacement[$k], false); + $replacement[$k] = $this->writer->escape($replacement[$k]); } } else { foreach ($replacement as $k => $val) { $replacement[$k] = mb_convert_encoding($replacement[$k], $this->mb_enc, 'utf-8'); - $replacement[$k] = $this->_escape($replacement[$k]); + $replacement[$k] = $this->writer->escape($replacement[$k]); } } @@ -29778,26 +27288,6 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface } } - function GetTemplateSize($tplidx, $_w = 0, $_h = 0) - { - if (!$this->tpls[$tplidx]) { - return false; - } - $w = $this->tpls[$tplidx]['box']['w']; - $h = $this->tpls[$tplidx]['box']['h']; - if ($_w == 0 and $_h == 0) { - $_w = $w; - $_h = $h; - } - if ($_w == 0) { - $_w = $_h * $w / $h; - } - if ($_h == 0) { - $_h = $_w * $h / $w; - } - return ["w" => $_w, "h" => $_h]; - } - function Thumbnail($file, $npr = 3, $spacing = 10) { @@ -29817,13 +27307,13 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface $y = $this->y; } - $pagecount = $this->SetSourceFile($file); + $pagecount = $this->setSourceFile($file); for ($n = 1; $n <= $pagecount; $n++) { - $tplidx = $this->ImportPage($n); - $size = $this->UseTemplate($tplidx, $x, $y, $w); - $this->Rect($x, $y, $size['w'], $size['h']); - $h = max($h, $size['h']); + $tplidx = $this->importPage($n); + $size = $this->useTemplate($tplidx, $x, $y, $w); + $this->Rect($x, $y, $size['width'], $size['height']); + $h = max($h, $size['height']); $maxh = max($h, $maxh); if ($n % $npr == 0) { @@ -29843,171 +27333,24 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface $this->SetLineWidth($oldlinewidth); } - function SetSourceFile($filename) - { - $this->current_filename = $filename; - $fn = $this->current_filename; - if (!isset($this->parsers[$fn])) { - try { - $this->parsers[$fn] = new fpdi_pdf_parser($fn); - } catch (\Exception $e) { - throw new \Mpdf\MpdfException($e->getMessage()); - } - } - - $this->current_parser = $this->parsers[$fn]; - return $this->parsers[$fn]->getPageCount(); - } - - function ImportPage($pageno = 1, $crop_x = null, $crop_y = null, $crop_w = 0, $crop_h = 0, $boxName = '/CropBox') - { - $fn = $this->current_filename; - $parser = $this->parsers[$fn]; - $parser->setPageno($pageno); - - $this->tpl++; - $this->tpls[$this->tpl] = []; - $tpl = & $this->tpls[$this->tpl]; - $tpl['parser'] = $parser; - $tpl['resources'] = $parser->getPageResources(); - $tpl['buffer'] = $parser->getContent(); - - if (!in_array($boxName, $parser->availableBoxes)) { - throw new \Mpdf\MpdfException(sprintf("Unknown box: %s", $boxName)); - } - - $pageboxes = $parser->getPageBoxes($pageno, Mpdf::SCALE); - - /** - * MediaBox - * CropBox: Default -> MediaBox - * BleedBox: Default -> CropBox - * TrimBox: Default -> CropBox - * ArtBox: Default -> CropBox - */ - if (!isset($pageboxes[$boxName]) && ($boxName == "/BleedBox" || $boxName == "/TrimBox" || $boxName == "/ArtBox")) { - $boxName = "/CropBox"; - } - - if (!isset($pageboxes[$boxName]) && $boxName == "/CropBox") { - $boxName = "/MediaBox"; - } - - if (!isset($pageboxes[$boxName])) { - return false; - } - - $box = $pageboxes[$boxName]; - - $tpl['box'] = $box; - // To build an array that can be used by useTemplate() - $this->tpls[$this->tpl] = array_merge($this->tpls[$this->tpl], $box); - // An imported page will start at 0,0 everytime. Translation will be set in _putformxobjects() - $tpl['x'] = 0; - $tpl['y'] = 0; - $tpl['w'] = $tpl['box']['w']; - $tpl['h'] = $tpl['box']['h']; - - if ($crop_w) { - $tpl['box']['w'] = $crop_w; - } - if ($crop_h) { - $tpl['box']['h'] = $crop_h; - } - if (isset($crop_x)) { - $tpl['box']['x'] = $crop_x; - } - if (isset($crop_y)) { - $tpl['box']['y'] = $tpl['h'] - $crop_y - $crop_h; - } - - // fix for rotated pages - $rotation = $parser->getPageRotation($pageno); - - if (isset($rotation[1]) && ($angle = $rotation[1] % 360) != 0 && $tpl['box']['w'] == $tpl['w']) { - $steps = $angle / 90; - - $_w = $tpl['w']; - $_h = $tpl['h']; - $tpl['w'] = $steps % 2 == 0 ? $_w : $_h; - $tpl['h'] = $steps % 2 == 0 ? $_h : $_w; - if ($steps % 2 != 0) { - $x = $y = ($steps == 1 || $steps == -3) ? $tpl['h'] : $tpl['w']; - } else { - $x = $tpl['w']; - $y = $tpl['h']; - } - $cx = ($x / 2 + $tpl['box']['x']) * Mpdf::SCALE; - $cy = ($y / 2 + $tpl['box']['y']) * Mpdf::SCALE; - $angle*=-1; - $angle*=M_PI / 180; - $c = cos($angle); - $s = sin($angle); - $tpl['box']['w'] = $tpl['w']; - $tpl['box']['h'] = $tpl['h']; - $tpl['buffer'] = sprintf('q %.5F %.5F %.5F %.5F %.2F %.2F cm 1 0 0 1 %.2F %.2F cm %s Q', $c, $s, -$s, $c, $cx, $cy, -$cx, -$cy, $tpl['buffer']); - } - - return $this->tpl; - } - - function UseTemplate($tplidx, $_x = null, $_y = null, $_w = 0, $_h = 0) - { - if (!isset($this->tpls[$tplidx])) { - throw new \Mpdf\MpdfException("Template does not exist!"); - } - - if ($this->state == 0) { - $this->AddPage(); - } - - $out = 'q 0 J 1 w 0 j 0 G' . "\n"; // reset standard values - $x = $this->tpls[$tplidx]['x']; - $y = $this->tpls[$tplidx]['y']; - $w = $this->tpls[$tplidx]['w']; - $h = $this->tpls[$tplidx]['h']; - - if ($_x == null) { - $_x = $x; - } - - if ($_y == null) { - $_y = $y; - } - - if ($_x === -1) { - $_x = $this->x; - } - - if ($_y === -1) { - $_y = $this->y; - } - - $wh = $this->GetTemplateSize($tplidx, $_w, $_h); - $_w = $wh['w']; - $_h = $wh['h']; - $out .= sprintf("q %.4F 0 0 %.4F %.2F %.2F cm", ($_w / $this->tpls[$tplidx]['box']['w']), ($_h / $this->tpls[$tplidx]['box']['h']), $_x * Mpdf::SCALE, ($this->h - ($_y + $_h)) * Mpdf::SCALE) . "\n"; - $out .= $this->tplprefix . $tplidx . " Do Q\n"; - - $s = ["w" => $_w, "h" => $_h]; - $out .= "Q\n"; - $this->pages[$this->page] = $out . $this->pages[$this->page]; - return $s; - } - function SetPageTemplate($tplidx = '') { - if (!isset($this->tpls[$tplidx])) { + if (!isset($this->importedPages[$tplidx])) { $this->pageTemplate = ''; return false; } $this->pageTemplate = $tplidx; } - function SetDocTemplate($file = '', $continue = 0) + function SetDocTemplate($file = '', $continue = 0, $continue2pages = 0) { $this->docTemplate = $file; $this->docTemplateContinue = $continue; + $this->docTemplateContinue2pages = $continue2pages; + + if ($this->docTemplateContinue2pages) { // Enable continue when continue2pages is set + $this->docTemplateContinue = $this->docTemplateContinue2pages; + } } /* -- END IMPORTS -- */ @@ -30015,12 +27358,12 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface // JAVASCRIPT function _set_object_javascript($string) { - $this->_newobj(); - $this->_out('<<'); - $this->_out('/S /JavaScript '); - $this->_out('/JS ' . $this->_textstring($string)); - $this->_out('>>'); - $this->_out('endobj'); + $this->writer->object(); + $this->writer->write('<<'); + $this->writer->write('/S /JavaScript '); + $this->writer->write('/JS ' . $this->writer->string($string)); + $this->writer->write('>>'); + $this->writer->write('endobj'); } function SetJS($script) @@ -30056,4 +27399,37 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface return $this->fontDescriptor; } + /** + * Temporarily return the method to preserve example 44 yearbook + */ + public function _out($s) + { + $this->writer->write($s); + } + + /** + * @param string $html + * @param string $PAGENO + * @param string $NbPgGp + * @param string $NbPg + * @return string + */ + protected function aliasReplace($html, $PAGENO, $NbPgGp, $NbPg) + { + // Replaces for header and footer + $html = str_replace('{PAGENO}', $PAGENO, $html); + $html = str_replace($this->aliasNbPgGp, $NbPgGp, $html); // {nbpg} + $html = str_replace($this->aliasNbPg, $NbPg, $html); // {nb} + + // Replaces for the body + $html = str_replace(mb_convert_encoding('{PAGENO}', 'UTF-16BE', 'UTF-8'), mb_convert_encoding($PAGENO, 'UTF-16BE', 'UTF-8'), $html); + $html = str_replace(mb_convert_encoding($this->aliasNbPgGp, 'UTF-16BE', 'UTF-8'), mb_convert_encoding($NbPgGp, 'UTF-16BE', 'UTF-8'), $html); // {nbpg} + $html = str_replace(mb_convert_encoding($this->aliasNbPg, 'UTF-16BE', 'UTF-8'), mb_convert_encoding($NbPg, 'UTF-16BE', 'UTF-8'), $html); // {nb} + + // Date replace + $html = preg_replace_callback('/\{DATE\s+(.*?)\}/', [$this, 'date_callback'], $html); // mPDF 5.7 + + return $html; + } + } diff --git a/pandora_console/vendor/mpdf/mpdf/src/Otl.php b/pandora_console/vendor/mpdf/mpdf/src/Otl.php index e6c1a9c26c..f7e443556a 100644 --- a/pandora_console/vendor/mpdf/mpdf/src/Otl.php +++ b/pandora_console/vendor/mpdf/mpdf/src/Otl.php @@ -2,6 +2,8 @@ namespace Mpdf; +use Mpdf\Strict; + use Mpdf\Css\TextVars; use Mpdf\Fonts\FontCache; @@ -14,6 +16,8 @@ use Mpdf\Utils\UtfString; class Otl { + use Strict; + const _OTL_OLD_SPEC_COMPAT_1 = true; const _DICT_NODE_TYPE_SPLIT = 0x01; const _DICT_NODE_TYPE_LINEAR = 0x02; @@ -100,6 +104,8 @@ class Otl var $schOTLdata; + var $lastBidiStrongType; + var $debugOTL = false; public function __construct(Mpdf $mpdf, FontCache $fontCache) @@ -131,17 +137,19 @@ class Otl //============================== $this->fontkey = $this->mpdf->CurrentFont['fontkey']; $this->glyphIDtoUni = $this->mpdf->CurrentFont['glyphIDtoUni']; - if (!isset($this->GDEFdata[$this->fontkey])) { - include $this->fontCache->tempFilename($this->fontkey . '.GDEFdata.php'); - $this->GSUB_offset = $this->GDEFdata[$this->fontkey]['GSUB_offset'] = $GSUB_offset; - $this->GPOS_offset = $this->GDEFdata[$this->fontkey]['GPOS_offset'] = $GPOS_offset; - $this->GSUB_length = $this->GDEFdata[$this->fontkey]['GSUB_length'] = $GSUB_length; - $this->MarkAttachmentType = $this->GDEFdata[$this->fontkey]['MarkAttachmentType'] = $MarkAttachmentType; - $this->MarkGlyphSets = $this->GDEFdata[$this->fontkey]['MarkGlyphSets'] = $MarkGlyphSets; - $this->GlyphClassMarks = $this->GDEFdata[$this->fontkey]['GlyphClassMarks'] = $GlyphClassMarks; - $this->GlyphClassLigatures = $this->GDEFdata[$this->fontkey]['GlyphClassLigatures'] = $GlyphClassLigatures; - $this->GlyphClassComponents = $this->GDEFdata[$this->fontkey]['GlyphClassComponents'] = $GlyphClassComponents; - $this->GlyphClassBases = $this->GDEFdata[$this->fontkey]['GlyphClassBases'] = $GlyphClassBases; + $fontCacheFilename = $this->fontkey . '.GDEFdata.json'; + if (!isset($this->GDEFdata[$this->fontkey]) && $this->fontCache->jsonHas($fontCacheFilename)) { + $font = $this->fontCache->jsonLoad($fontCacheFilename); + + $this->GSUB_offset = $this->GDEFdata[$this->fontkey]['GSUB_offset'] = $font['GSUB_offset']; + $this->GPOS_offset = $this->GDEFdata[$this->fontkey]['GPOS_offset'] = $font['GPOS_offset']; + $this->GSUB_length = $this->GDEFdata[$this->fontkey]['GSUB_length'] = $font['GSUB_length']; + $this->MarkAttachmentType = $this->GDEFdata[$this->fontkey]['MarkAttachmentType'] = $font['MarkAttachmentType']; + $this->MarkGlyphSets = $this->GDEFdata[$this->fontkey]['MarkGlyphSets'] = $font['MarkGlyphSets']; + $this->GlyphClassMarks = $this->GDEFdata[$this->fontkey]['GlyphClassMarks'] = $font['GlyphClassMarks']; + $this->GlyphClassLigatures = $this->GDEFdata[$this->fontkey]['GlyphClassLigatures'] = $font['GlyphClassLigatures']; + $this->GlyphClassComponents = $this->GDEFdata[$this->fontkey]['GlyphClassComponents'] = $font['GlyphClassComponents']; + $this->GlyphClassBases = $this->GDEFdata[$this->fontkey]['GlyphClassBases'] = $font['GlyphClassBases']; } else { $this->GSUB_offset = $this->GDEFdata[$this->fontkey]['GSUB_offset']; $this->GPOS_offset = $this->GDEFdata[$this->fontkey]['GPOS_offset']; @@ -293,13 +301,12 @@ class Otl } } - //////////////////////////////////////////////////////////////// // This is just for the font_dump_OTL utility to set script and langsys override - if (isset($this->mpdf->overrideOTLsettings) && isset($this->mpdf->overrideOTLsettings[$this->fontkey])) { + // $mpdf->overrideOTLsettings does not exist, this is never called + /*if (isset($this->mpdf->overrideOTLsettings) && isset($this->mpdf->overrideOTLsettings[$this->fontkey])) { $GSUBscriptTag = $GPOSscriptTag = $this->mpdf->overrideOTLsettings[$this->fontkey]['script']; $GSUBlangsys = $GPOSlangsys = $this->mpdf->overrideOTLsettings[$this->fontkey]['lang']; - } - //////////////////////////////////////////////////////////////// + }*/ if (!$GSUBscriptTag && !$GSUBlangsys && !$GPOSscriptTag && !$GPOSlangsys) { // Remove ZWJ and ZWNJ @@ -361,16 +368,18 @@ class Otl $this->GSUBfont = $this->fontkey . '.GSUB.' . $GSUBscriptTag . '.' . $GSUBlangsys; if (!isset($this->GSUBdata[$this->GSUBfont])) { - if ($this->fontCache->has($this->mpdf->CurrentFont['fontkey'] . '.GSUB.' . $GSUBscriptTag . '.' . $GSUBlangsys . '.php')) { - include $this->fontCache->tempFilename($this->mpdf->CurrentFont['fontkey'] . '.GSUB.' . $GSUBscriptTag . '.' . $GSUBlangsys . '.php'); - $this->GSUBdata[$this->GSUBfont]['rtlSUB'] = $rtlSUB; - $this->GSUBdata[$this->GSUBfont]['finals'] = $finals; + $fontCacheFilename = $this->GSUBfont . '.json'; + if ($this->fontCache->jsonHas($fontCacheFilename)) { + $font = $this->fontCache->jsonLoad($fontCacheFilename); + + $this->GSUBdata[$this->GSUBfont]['rtlSUB'] = $font['rtlSUB']; + $this->GSUBdata[$this->GSUBfont]['finals'] = $font['finals']; if ($this->shaper == 'I') { - $this->GSUBdata[$this->GSUBfont]['rphf'] = $rphf; - $this->GSUBdata[$this->GSUBfont]['half'] = $half; - $this->GSUBdata[$this->GSUBfont]['pref'] = $pref; - $this->GSUBdata[$this->GSUBfont]['blwf'] = $blwf; - $this->GSUBdata[$this->GSUBfont]['pstf'] = $pstf; + $this->GSUBdata[$this->GSUBfont]['rphf'] = $font['rphf']; + $this->GSUBdata[$this->GSUBfont]['half'] = $font['half']; + $this->GSUBdata[$this->GSUBfont]['pref'] = $font['pref']; + $this->GSUBdata[$this->GSUBfont]['blwf'] = $font['blwf']; + $this->GSUBdata[$this->GSUBfont]['pstf'] = $font['pstf']; } } else { $this->GSUBdata[$this->GSUBfont] = ['rtlSUB' => [], 'rphf' => [], 'rphf' => [], @@ -379,9 +388,9 @@ class Otl } } - if (!isset($this->GSUBdata[$this->fontkey])) { - include $this->fontCache->tempFilename($this->fontkey . '.GSUBdata.php'); - $this->GSLuCoverage = $this->GSUBdata[$this->fontkey]['GSLuCoverage'] = $GSLuCoverage; + $fontCacheFilename = $this->fontkey . '.GSUBdata.json'; + if (!isset($this->GSUBdata[$this->fontkey]) && $this->fontCache->jsonHas($fontCacheFilename)) { + $this->GSLuCoverage = $this->GSUBdata[$this->fontkey]['GSLuCoverage'] = $this->fontCache->jsonLoad($fontCacheFilename); } else { $this->GSLuCoverage = $this->GSUBdata[$this->fontkey]['GSLuCoverage']; } @@ -1017,9 +1026,9 @@ class Otl // 6. Load GPOS data, Coverage & Lookups //================================================================= - if (!isset($this->GPOSdata[$this->fontkey])) { - include $this->fontCache->tempFilename($this->mpdf->CurrentFont['fontkey'] . '.GPOSdata.php'); - $this->LuCoverage = $this->GPOSdata[$this->fontkey]['LuCoverage'] = $LuCoverage; + $fontCacheFilename = $this->mpdf->CurrentFont['fontkey'] . '.GPOSdata.json'; + if (!isset($this->GPOSdata[$this->fontkey]) && $this->fontCache->jsonHas($fontCacheFilename)) { + $this->LuCoverage = $this->GPOSdata[$this->fontkey]['LuCoverage'] = $this->fontCache->jsonLoad($fontCacheFilename); } else { $this->LuCoverage = $this->GPOSdata[$this->fontkey]['LuCoverage']; } @@ -3092,7 +3101,7 @@ class Otl $ok = true; $matches = []; while ($ok) { - $x = ord($dict{$dictptr}); + $x = ord($dict[$dictptr]); $c = $this->OTLdata[$ptr]['uni'] & 0xFF; if ($x == static::_DICT_INTERMEDIATE_MATCH) { //echo "DICT_INTERMEDIATE_MATCH: ".dechex($c).'
'; @@ -3111,11 +3120,11 @@ class Otl } elseif ($x == static::_DICT_NODE_TYPE_LINEAR) { //echo "DICT_NODE_TYPE_LINEAR: ".dechex($c).'
'; $dictptr++; - $m = ord($dict{$dictptr}); + $m = ord($dict[$dictptr]); if ($c == $m) { $ptr++; if ($ptr > count($this->OTLdata) - 1) { - $next = ord($dict{$dictptr + 1}); + $next = ord($dict[$dictptr + 1]); if ($next == static::_DICT_INTERMEDIATE_MATCH || $next == static::_DICT_FINAL_MATCH) { // Do not match if next character in text is a Mark if (isset($this->OTLdata[$ptr]['uni']) && strpos($this->GlyphClassMarks, $this->OTLdata[$ptr]['hex']) === false) { @@ -3133,13 +3142,13 @@ class Otl } elseif ($x == static::_DICT_NODE_TYPE_SPLIT) { //echo "DICT_NODE_TYPE_SPLIT ON ".dechex($d).": ".dechex($c).'
'; $dictptr++; - $d = ord($dict{$dictptr}); + $d = ord($dict[$dictptr]); if ($c < $d) { $dictptr += 5; } else { $dictptr++; // Unsigned long 32-bit offset - $offset = (ord($dict{$dictptr}) * 16777216) + (ord($dict{$dictptr + 1}) << 16) + (ord($dict{$dictptr + 2}) << 8) + ord($dict{$dictptr + 3}); + $offset = (ord($dict[$dictptr]) * 16777216) + (ord($dict[$dictptr + 1]) << 16) + (ord($dict[$dictptr + 2]) << 8) + ord($dict[$dictptr + 3]); $dictptr = $offset; } } else { @@ -3205,7 +3214,7 @@ class Otl { // If current glyph is a mark with a defined width, any XAdvance is considered to REPLACE the character Advance Width - // Test case
င်္က္ကျြွေိ
+ // Test case
င်္က္ကျြွေိ
if (strpos($this->GlyphClassMarks, $this->OTLdata[$basepos]['hex']) !== false) { $cw = round($this->mpdf->_getCharWidth($this->mpdf->CurrentFont['cw'], $this->OTLdata[$basepos]['uni']) * $this->mpdf->CurrentFont['unitsPerEm'] / 1000); // convert back to font design units } else { @@ -3216,7 +3225,7 @@ class Otl if (isset($Value['XAdvance']) && ($Value['XAdvance'] - $cw) != 0) { // However DON'T REPLACE the character Advance Width if Advance Width is negative - // Test case
ру́сский
+ // Test case
ру́сский
if ($Value['XAdvance'] < 0) { $cw = 0; } @@ -4355,7 +4364,7 @@ class Otl $this->seek($offset); $ClassFormat = $this->read_ushort(); $GlyphClass = []; - // $GlyphByClass = array(0=>array()); // NB This forces an index[0] + $GlyphByClass = []; if ($ClassFormat == 1) { $StartGlyph = $this->read_ushort(); $GlyphCount = $this->read_ushort(); @@ -4671,7 +4680,7 @@ class Otl } else { $gpos = ''; } - $chardata[] = ['char' => $chunkOTLdata['char_data'][$i]['uni'], 'level' => $cel, 'type' => $chardir, 'group' => $chunkOTLdata['group']{$i}, 'GPOSinfo' => $gpos]; + $chardata[] = ['char' => $chunkOTLdata['char_data'][$i]['uni'], 'level' => $cel, 'type' => $chardir, 'group' => $chunkOTLdata['group'][$i], 'GPOSinfo' => $gpos]; } } @@ -5379,7 +5388,7 @@ class Otl $nc2++; $i2 = 0; } - if ($para[$nc2][18]['char_data'][$i2]['diid'] != $ir) { + if (!isset($para[$nc2][18]['char_data'][$i2]['diid']) || $para[$nc2][18]['char_data'][$i2]['diid'] != $ir) { continue; } $nexttype = $para[$nc2][18]['char_data'][$i2]['type']; @@ -5565,7 +5574,7 @@ class Otl $numchunks = count($content); $maxlevel = 0; for ($nc = 0; $nc < $numchunks; $nc++) { - $numchars = count($cOTLdata[$nc]['char_data']); + $numchars = isset($cOTLdata[$nc]['char_data']) ? count($cOTLdata[$nc]['char_data']) : 0; for ($i = 0; $i < $numchars; ++$i) { $carac = []; if (isset($cOTLdata[$nc]['GPOSinfo'][$i])) { @@ -5581,7 +5590,7 @@ class Otl if (isset($cOTLdata[$nc]['char_data'][$i]['orig_type'])) { $carac['orig_type'] = $cOTLdata[$nc]['char_data'][$i]['orig_type']; } - $carac['group'] = $cOTLdata[$nc]['group']{$i}; + $carac['group'] = $cOTLdata[$nc]['group'][$i]; $carac['chunkid'] = $chunkorder[$nc]; // gives font id and/or object ID $maxlevel = max((isset($carac['level']) ? $carac['level'] : 0), $maxlevel); @@ -5782,7 +5791,7 @@ class Otl public function trimOTLdata(&$cOTLdata, $Left = true, $Right = true) { - $len = $cOTLdata['char_data'] === null ? 0 : count($cOTLdata['char_data']); + $len = (!is_array($cOTLdata) || $cOTLdata['char_data'] === null) ? 0 : count($cOTLdata['char_data']); $nLeft = 0; $nRight = 0; for ($i = 0; $i < $len; $i++) { @@ -6126,16 +6135,25 @@ class Otl if ($available == '') { return ''; } - $tags = preg_split('/-/', $ietf); + + $tags = $ietf + ? preg_split('/-/', $ietf) + : []; + $lang = ''; $country = ''; $script = ''; - $lang = strtolower($tags[0]); + + $lang = isset($tags[0]) + ? strtolower($tags[0]) + : ''; + if (isset($tags[1]) && $tags[1]) { if (strlen($tags[1]) == 2) { $country = strtolower($tags[1]); } } + if (isset($tags[2]) && $tags[2]) { $country = strtolower($tags[2]); } @@ -6147,6 +6165,7 @@ class Otl } else { $langsys = "DFLT"; } + if (strpos($available, $langsys) === false) { if (strpos($available, "DFLT") !== false) { return "DFLT"; @@ -6154,6 +6173,7 @@ class Otl return ''; } } + return $langsys; } @@ -6161,7 +6181,7 @@ class Otl { echo '
'; echo $GPOSSUB . ' LookupID #' . $lookupID . ' Subtable#' . $subtable . ' Type: ' . $Type . ' Format: ' . $Format . '
'; - echo '
'; + echo '
'; echo 'Glyph position: ' . $ptr . ' Current Glyph: ' . $currGlyph . '
'; for ($i = 0; $i < count($this->OTLdata); $i++) { diff --git a/pandora_console/vendor/mpdf/mpdf/src/OtlDump.php b/pandora_console/vendor/mpdf/mpdf/src/OtlDump.php index edefcb69cb..30d0ecfdd2 100644 --- a/pandora_console/vendor/mpdf/mpdf/src/OtlDump.php +++ b/pandora_console/vendor/mpdf/mpdf/src/OtlDump.php @@ -178,7 +178,7 @@ class OtlDump $this->fh = fopen($file, 'rb'); if (!$this->fh) { - throw new \Mpdf\MpdfException(sprintf('Unable to open file "%s"', $file)); + throw new \Mpdf\Exception\FontException(sprintf('Unable to open file "%s"', $file)); } $this->_pos = 0; @@ -196,21 +196,21 @@ class OtlDump $this->panose = []; if ($version == 0x4F54544F) { - throw new \Mpdf\MpdfException("Postscript outlines are not supported"); + throw new \Mpdf\Exception\FontException(sprintf('Fonts with postscript outlines are not supported (%s)', $file)); } if ($version == 0x74746366 && !$TTCfontID) { - throw new \Mpdf\MpdfException("TTCfontID for a TrueType Collection has to be defined in ttfontdata configuration key (" . $file . ")"); + throw new \Mpdf\Exception\FontException("TTCfontID for a TrueType Collection has to be defined in ttfontdata configuration key (" . $file . ")"); } if (!in_array($version, [0x00010000, 0x74727565]) && !$TTCfontID) { - throw new \Mpdf\MpdfException("Not a TrueType font: version=" . $version); + throw new \Mpdf\Exception\FontException("Not a TrueType font: version=" . $version); } if ($TTCfontID > 0) { $this->version = $version = $this->read_ulong(); // TTC Header version now if (!in_array($version, [0x00010000, 0x00020000])) { - throw new \Mpdf\MpdfException("Error parsing TrueType Collection: version=" . $version . " - " . $file); + throw new \Mpdf\Exception\FontException("Error parsing TrueType Collection: version=" . $version . " - " . $file); } $this->numTTCFonts = $this->read_ulong(); for ($i = 1; $i <= $this->numTTCFonts; $i++) { @@ -259,7 +259,7 @@ class OtlDump } $xchecksum = $t['checksum']; if ($xchecksum != $checksum) { - throw new \Mpdf\MpdfException(sprintf('TTF file "%s": invalid checksum %s table: %s (expected %s)', $this->filename, dechex($checksum[0]) . dechex($checksum[1]), $t['tag'], dechex($xchecksum[0]) . dechex($xchecksum[1]))); + throw new \Mpdf\Exception\FontException(sprintf('TTF file "%s": invalid checksum %s table: %s (expected %s)', $this->filename, dechex($checksum[0]) . dechex($checksum[1]), $t['tag'], dechex($xchecksum[0]) . dechex($xchecksum[1]))); } } } @@ -473,7 +473,7 @@ class OtlDump $name_offset = $this->seek_table("name"); $format = $this->read_ushort(); if ($format != 0 && $format != 1) { - throw new \Mpdf\MpdfException("Unknown name table format " . $format); + throw new \Mpdf\Exception\FontException("Error loading font: Unknown name table format " . $format); } $numRecords = $this->read_ushort(); $string_data_offset = $name_offset + $this->read_ushort(); @@ -495,7 +495,7 @@ class OtlDump $opos = $this->_pos; $this->seek($string_data_offset + $offset); if ($length % 2 != 0) { - throw new \Mpdf\MpdfException("PostScript name is UTF-16BE string of odd length"); + throw new \Mpdf\Exception\FontException("Error loading font: PostScript name is UTF-16BE string of odd length"); } $length /= 2; $N = ''; @@ -536,14 +536,14 @@ class OtlDump } } if (!$psName) { - throw new \Mpdf\MpdfException("Could not find PostScript font name: " . $this->filename); + throw new \Mpdf\Exception\FontException("Error loading font: Could not find PostScript font name: " . $this->filename); } if ($debug) { for ($i = 0; $i < count($psName); $i++) { $c = $psName[$i]; $oc = ord($c); if ($oc > 126 || strpos(' [](){}<>/%', $c) !== false) { - throw new \Mpdf\MpdfException("psName=" . $psName . " contains invalid character " . $c . " ie U+" . ord(c)); + throw new \Mpdf\Exception\FontException("psName=" . $psName . " contains invalid character " . $c . " ie U+" . ord($c)); } } } @@ -581,14 +581,14 @@ class OtlDump $ver_maj = $this->read_ushort(); $ver_min = $this->read_ushort(); if ($ver_maj != 1) { - throw new \Mpdf\MpdfException('Unknown head table version ' . $ver_maj . '.' . $ver_min); + throw new \Mpdf\Exception\FontException('Error loading font: Unknown head table version ' . $ver_maj . '.' . $ver_min); } $this->fontRevision = $this->read_ushort() . $this->read_ushort(); $this->skip(4); $magic = $this->read_ulong(); if ($magic != 0x5F0F3CF5) { - throw new \Mpdf\MpdfException('Invalid head table magic ' . $magic); + throw new \Mpdf\Exception\FontException('Error loading font: Invalid head table magic ' . $magic); } $this->skip(2); } else { @@ -606,7 +606,7 @@ class OtlDump $indexToLocFormat = $this->read_ushort(); $glyphDataFormat = $this->read_ushort(); if ($glyphDataFormat != 0) { - throw new \Mpdf\MpdfException('Unknown glyph data format ' . $glyphDataFormat); + throw new \Mpdf\Exception\FontException('Error loading font: Unknown glyph data format ' . $glyphDataFormat); } /////////////////////////////////// @@ -635,7 +635,7 @@ class OtlDump if ($fsType == 0x0002 || ($fsType & 0x0300) != 0) { global $overrideTTFFontRestriction; if (!$overrideTTFFontRestriction) { - throw new \Mpdf\MpdfException('ERROR - Font file ' . $this->filename . ' cannot be embedded due to copyright restrictions.'); + throw new \Mpdf\Exception\FontException('Font file ' . $this->filename . ' cannot be embedded due to copyright restrictions.'); } $this->restrictedUse = true; } @@ -685,7 +685,7 @@ class OtlDump $ver_maj = $this->read_ushort(); $ver_min = $this->read_ushort(); if ($ver_maj < 1 || $ver_maj > 4) { - throw new \Mpdf\MpdfException('Unknown post table version ' . $ver_maj); + throw new \Mpdf\Exception\FontException('Error loading font: Unknown post table version ' . $ver_maj); } } else { $this->skip(4); @@ -715,7 +715,7 @@ class OtlDump $ver_maj = $this->read_ushort(); $ver_min = $this->read_ushort(); if ($ver_maj != 1) { - throw new \Mpdf\MpdfException('Unknown hhea table version ' . $ver_maj); + throw new \Mpdf\Exception\FontException(sprintf('Error loading font: Unknown hhea table version %s', $ver_maj)); } $this->skip(28); } else { @@ -723,11 +723,11 @@ class OtlDump } $metricDataFormat = $this->read_ushort(); if ($metricDataFormat != 0) { - throw new \Mpdf\MpdfException('Unknown horizontal metric data format ' . $metricDataFormat); + throw new \Mpdf\Exception\FontException('Error loading font: Unknown horizontal metric data format ' . $metricDataFormat); } $numberOfHMetrics = $this->read_ushort(); if ($numberOfHMetrics == 0) { - throw new \Mpdf\MpdfException('Number of horizontal metrics is 0'); + throw new \Mpdf\Exception\FontException('Error loading font: Number of horizontal metrics is 0'); } /////////////////////////////////// @@ -738,7 +738,7 @@ class OtlDump $ver_maj = $this->read_ushort(); $ver_min = $this->read_ushort(); if ($ver_maj != 1) { - throw new \Mpdf\MpdfException('Unknown maxp table version ' . $ver_maj); + throw new \Mpdf\Exception\FontException('Error loading font: Unknown maxp table version ' . $ver_maj); } } else { $this->skip(4); @@ -781,7 +781,7 @@ class OtlDump } if (!$unicode_cmap_offset) { - throw new \Mpdf\MpdfException('Font (' . $this->filename . ') does not have cmap for Unicode (platform 3, encoding 1, format 4, or platform 0, any encoding, format 4)'); + throw new \Mpdf\Exception\FontException('Font (' . $this->filename . ') does not have cmap for Unicode (platform 3, encoding 1, format 4, or platform 0, any encoding, format 4)'); } $sipset = false; @@ -858,7 +858,7 @@ class OtlDump $bctr++; } } else { - throw new \Mpdf\MpdfException($names[1] . " : WARNING - The font does not have enough space to map all (unmapped) included glyphs into Private Use Area U+E000 - U+F8FF"); + throw new \Mpdf\Exception\FontException(sprintf('Font "%s" does not have cmap for Unicode (platform 3, encoding 1, format 4, or platform 0, any encoding, format 4)', $this->filename)); } } $glyphToChar[$gid][] = $bctr; @@ -1568,7 +1568,7 @@ $MarkAttachmentType = ' . var_export($this->MarkAttachmentType, true) . '; } } } else { - throw new \Mpdf\MpdfException("GPOS Lookup Type " . $Lookup[$i]['Type'] . ", Format " . $SubstFormat . " not supported (ttfontsuni.php)."); + throw new \Mpdf\Exception\FontException("GPOS Lookup Type " . $Lookup[$i]['Type'] . ", Format " . $SubstFormat . " not supported (ttfontsuni.php)."); } } } // LookupType 6: Chaining Contextual Substitution Subtable @@ -1625,7 +1625,7 @@ $MarkAttachmentType = ' . var_export($this->MarkAttachmentType, true) . '; } } } else { - throw new \Mpdf\MpdfException("Lookup Type " . $Lookup[$i]['Type'] . " not supported."); + throw new \Mpdf\Exception\FontException("Lookup Type " . $Lookup[$i]['Type'] . " not supported."); } } } @@ -1807,7 +1807,7 @@ $MarkAttachmentType = ' . var_export($this->MarkAttachmentType, true) . '; $glyphs = $this->_getCoverage(); $Lookup[$i]['Subtable'][$c]['CoverageInputGlyphs'][] = implode("|", $glyphs); } - throw new \Mpdf\MpdfException("Lookup Type 5, SubstFormat 3 not tested. Please report this with the name of font used - " . $this->fontkey); + throw new \Mpdf\Exception\FontException("Lookup Type 5, SubstFormat 3 not tested. Please report this with the name of font used - " . $this->fontkey); } } } @@ -1986,7 +1986,7 @@ $MarkAttachmentType = ' . var_export($this->MarkAttachmentType, true) . '; if ($level == 1) { $html .= ''; } - $html .= 'Lookup #' . $i . ' [tag: ' . $tag . ']'; + $html .= 'Lookup #' . $i . ' [tag: ' . $tag . ']'; $ignore = $this->_getGSUBignoreString($Lookup[$i]['Flag'], $Lookup[$i]['MarkFilteringSet']); if ($ignore) { $html .= '
Ignoring: ' . $ignore . '
'; @@ -2728,7 +2728,7 @@ $MarkAttachmentType = ' . var_export($this->MarkAttachmentType, true) . '; // Flag & 0x0010 = UseMarkFilteringSet if ($flag & 0x0010) { - throw new \Mpdf\MpdfException("This font " . $this->fontkey . " contains MarkGlyphSets"); + throw new \Mpdf\Exception\FontException("This font " . $this->fontkey . " contains MarkGlyphSets"); $str = "Mark Glyph Set: "; $str .= $this->MarkGlyphSets[$MarkFilteringSet]; } @@ -3231,7 +3231,7 @@ $MarkAttachmentType = ' . var_export($this->MarkAttachmentType, true) . '; if ($level == 1) { $html .= ''; } - $html .= 'Lookup #' . $luli . ' [tag: ' . $tag . ']'; + $html .= 'Lookup #' . $luli . ' [tag: ' . $tag . ']'; $ignore = $this->_getGSUBignoreString($Lookup[$luli]['Flag'], $Lookup[$luli]['MarkFilteringSet']); if ($ignore) { $html .= '
Ignoring: ' . $ignore . '
'; @@ -3757,21 +3757,21 @@ $MarkAttachmentType = ' . var_export($this->MarkAttachmentType, true) . '; // Format 1: //=========== if ($PosFormat == 1) { - throw new \Mpdf\MpdfException("GPOS Lookup Type " . $Type . " Format " . $PosFormat . " not YET TESTED."); + throw new \Mpdf\Exception\FontException("GPOS Lookup Type " . $Type . " Format " . $PosFormat . " not YET TESTED."); } //=========== // Format 2: //=========== else { if ($PosFormat == 2) { - throw new \Mpdf\MpdfException("GPOS Lookup Type " . $Type . " Format " . $PosFormat . " not YET TESTED."); + throw new \Mpdf\Exception\FontException("GPOS Lookup Type " . $Type . " Format " . $PosFormat . " not YET TESTED."); } //=========== // Format 3: //=========== else { if ($PosFormat == 3) { - throw new \Mpdf\MpdfException("GPOS Lookup Type " . $Type . " Format " . $PosFormat . " not YET TESTED."); + throw new \Mpdf\Exception\FontException("GPOS Lookup Type " . $Type . " Format " . $PosFormat . " not YET TESTED."); } else { - throw new \Mpdf\MpdfException("GPOS Lookup Type " . $Type . ", Format " . $PosFormat . " not supported."); + throw new \Mpdf\Exception\FontException("GPOS Lookup Type " . $Type . ", Format " . $PosFormat . " not supported."); } } } @@ -3785,7 +3785,7 @@ $MarkAttachmentType = ' . var_export($this->MarkAttachmentType, true) . '; // Format 1: //=========== if ($PosFormat == 1) { - throw new \Mpdf\MpdfException("GPOS Lookup Type " . $Type . " Format " . $PosFormat . " not TESTED YET."); + throw new \Mpdf\Exception\FontException("GPOS Lookup Type " . $Type . " Format " . $PosFormat . " not TESTED YET."); } //=========== // Format 2: //=========== @@ -3794,7 +3794,7 @@ $MarkAttachmentType = ' . var_export($this->MarkAttachmentType, true) . '; $html .= '
GPOS Lookup Type 8: Format 2 not yet supported in OTL dump
'; continue; /* NB When developing - cf. GSUB 6.2 */ - throw new \Mpdf\MpdfException("GPOS Lookup Type " . $Type . " Format " . $PosFormat . " not TESTED YET."); + throw new \Mpdf\Exception\FontException("GPOS Lookup Type " . $Type . " Format " . $PosFormat . " not TESTED YET."); } //=========== // Format 3: //=========== @@ -4179,7 +4179,7 @@ $MarkAttachmentType = ' . var_export($this->MarkAttachmentType, true) . '; $this->glyphPos[] = ($arr[$n + 1]); } } else { - throw new \Mpdf\MpdfException('Unknown location table format ' . $indexToLocFormat); + throw new \Mpdf\Exception\FontException('Unknown location table format ' . $indexToLocFormat); } } } diff --git a/pandora_console/vendor/mpdf/mpdf/src/Pdf/Protection.php b/pandora_console/vendor/mpdf/mpdf/src/Pdf/Protection.php index bc0c155110..d39c77dfb4 100644 --- a/pandora_console/vendor/mpdf/mpdf/src/Pdf/Protection.php +++ b/pandora_console/vendor/mpdf/mpdf/src/Pdf/Protection.php @@ -154,7 +154,7 @@ class Protection public function rc4($key, $text) { if ($this->lastRc4Key != $key) { - $k = str_repeat($key, 256 / strlen($key) + 1); + $k = str_repeat($key, round(256 / strlen($key)) + 1); $rc4 = range(0, 255); $j = 0; for ($i = 0; $i < 256; $i++) { @@ -270,7 +270,7 @@ class Protection for ($i = 1; $i <= 19; ++$i) { $key = ''; for ($j = 0; $j < $len; ++$j) { - $key .= chr(ord($owner_rc4_key{$j}) ^ $i); + $key .= chr(ord($owner_rc4_key[$j]) ^ $i); } $enc = $this->rc4($key, $enc); } @@ -288,7 +288,7 @@ class Protection for ($i = 1; $i <= 19; ++$i) { $key = ''; for ($j = 0; $j < $len; ++$j) { - $key .= chr(ord($this->encryptionKey{$j}) ^ $i); + $key .= chr(ord($this->encryptionKey[$j]) ^ $i); } $enc = $this->rc4($key, $enc); } @@ -352,7 +352,7 @@ class Protection ++$len; } for ($i = 0; $i < $len; $i += 2) { - $s .= chr(hexdec($hs{$i} . $hs{($i + 1)})); + $s .= chr(hexdec($hs[$i] . $hs[($i + 1)])); } return $s; diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/QrCode.php b/pandora_console/vendor/mpdf/mpdf/src/QrCode/QrCode.php deleted file mode 100644 index d9d0891ded..0000000000 --- a/pandora_console/vendor/mpdf/mpdf/src/QrCode/QrCode.php +++ /dev/null @@ -1,661 +0,0 @@ - - * @version 0.99 - */ -class QrCode -{ - private $version_mx = 40; // numero de version maximal autorisé - - private $type = 'bin'; // type de donnée - - private $level = 'L'; // ECC - - private $value = ''; // valeur a encoder - - private $length = 0; // taille de la valeur - - private $version = 0; // version - - private $size = 0; // dimension de la zone data - - private $qr_size = 0; // dimension du QRcode - - private $data_bit = []; // nb de bit de chacune des valeurs - - private $data_val = []; // liste des valeurs de bit différents - - private $data_word = []; // liste des valeurs tout ramené à 8bit - - private $data_cur = 0; // position courante - - private $data_num = 0; // position de la dimension - - private $data_bits = 0; // nom de bit au total - - private $max_data_bit = 0; // lilmite de nombre de bit maximal pour les datas - - private $max_data_word = 0; // lilmite de nombre de mot maximal pour les datas - - private $max_word = 0; // lilmite de nombre de mot maximal en global - - private $ec = 0; - - private $matrix = []; - - private $matrix_remain = 0; - - private $matrix_x_array = []; - - private $matrix_y_array = []; - - private $mask_array = []; - - private $format_information_x1 = []; - - private $format_information_y1 = []; - - private $format_information_x2 = []; - - private $format_information_y2 = []; - - private $rs_block_order = []; - - private $rs_ecc_codewords = 0; - - private $byte_num = 0; - - private $final = []; - - private $disable_border = false; - - /** - * @param string $value message a encoder - * @param string $level niveau de correction d'erreur (ECC) : L, M, Q, H - */ - public function __construct($value, $level = 'L') - { - if (!in_array($level, ['L', 'M', 'Q', 'H'])) { - throw new \Mpdf\QrCode\QrCodeException('ECC not recognized : L, M, Q, H'); - } - - $this->length = strlen($value); - if (!$this->length) { - throw new \Mpdf\QrCode\QrCodeException('No data for QrCode'); - } - - $this->level = $level; - $this->value = $value; - - $this->data_bit = []; - $this->data_val = []; - $this->data_cur = 0; - $this->data_bits = 0; - - $this->encode(); - $this->loadECC(); - $this->makeECC(); - $this->makeMatrix(); - } - - /** - * permet de recuperer la taille du QRcode (le nombre de case de côté) - * - * @return int size of qrcode - */ - public function getQrSize() - { - if ($this->disable_border) { - return $this->qr_size - 8; - } else { - return $this->qr_size; - } - } - - public function disableBorder() - { - $this->disable_border = true; - } - - /** - * permet d'afficher le QRcode dans un pdf via FPDF - * - * @param \Mpdf\Mpdf $mpdf objet fpdf - * @param float $x position X - * @param float $y position Y - * @param float $w taille du qrcode - * @param array $background couleur du background (R,V,B) - * @param array $color couleur des cases et du border (R,V,B) - * - * @return boolean true; - */ - public function displayFPDF(Mpdf $mpdf, $x, $y, $w, $background = [255, 255, 255], $color = [0, 0, 0]) - { - $size = $w; - $s = $size / $this->getQrSize(); - - $mpdf->SetDrawColor($color[0], $color[1], $color[2]); - $mpdf->SetFillColor($background[0], $background[1], $background[2]); - - // rectangle de fond - if ($this->disable_border) { - $s_min = 4; - $s_max = $this->qr_size - 4; - $mpdf->Rect($x, $y, $size, $size, 'F'); - } else { - $s_min = 0; - $s_max = $this->qr_size; - $mpdf->Rect($x, $y, $size, $size, 'FD'); - } - - $mpdf->SetFillColor($color[0], $color[1], $color[2]); - for ($j = $s_min; $j < $s_max; $j++) { - for ($i = $s_min; $i < $s_max; $i++) { - if ($this->final[$i + $j * $this->qr_size + 1]) { - $mpdf->Rect($x + ($i - $s_min) * $s, $y + ($j - $s_min) * $s, $s, $s, 'F'); - } - } - } - - return true; - } - - /** - * permet d'afficher le QRcode au format HTML, à utiliser avec un style CSS - * - * @return boolean true; - */ - public function displayHTML() - { - if ($this->disable_border) { - $s_min = 4; - $s_max = $this->qr_size - 4; - } else { - $s_min = 0; - $s_max = $this->qr_size; - } - echo '' . "\n"; - for ($y = $s_min; $y < $s_max; $y++) { - echo ''; - for ($x = $s_min; $x < $s_max; $x++) { - echo ''; - } - echo '' . "\n"; - } - echo '
'; - - return true; - } - - /* - * permet d'obtenir une image PNG - * - * @param float taille du qrcode - * @param array couleur du background (R,V,B) - * @param array couleur des cases et du border (R,V,B) - * @param string nom du fichier de sortie. si null : sortie directe - * @param integer qualité de 0 (aucune compression) a 9 - * @return boolean true; - */ - public function displayPNG($w = 100, $background = [255, 255, 255], $color = [0, 0, 0], $filename = null, $quality = 0) - { - if ($this->disable_border) { - $s_min = 4; - $s_max = $this->qr_size - 4; - } else { - $s_min = 0; - $s_max = $this->qr_size; - } - $size = $w; - $s = $size / ($s_max - $s_min); - - // rectangle de fond - $im = imagecreatetruecolor($size, $size); - $c_case = imagecolorallocate($im, $color[0], $color[1], $color[2]); - $c_back = imagecolorallocate($im, $background[0], $background[1], $background[2]); - imagefilledrectangle($im, 0, 0, $size, $size, $c_back); - - for ($j = $s_min; $j < $s_max; $j++) { - for ($i = $s_min; $i < $s_max; $i++) { - if ($this->final[$i + $j * $this->qr_size + 1]) { - imagefilledrectangle($im, ($i - $s_min) * $s, ($j - $s_min) * $s, ($i - $s_min + 1) * $s - 1, ($j - $s_min + 1) * $s - 1, $c_case); - } - } - } - - if ($filename) { - imagepng($im, $filename, $quality); - } else { - header("Content-type: image/png"); - imagepng($im); - } - imagedestroy($im); - - return true; - } - - private function addData($val, $bit, $next = true) - { - $this->data_val[$this->data_cur] = $val; - $this->data_bit[$this->data_cur] = $bit; - if ($next) { - $this->data_cur++; - - return $this->data_cur - 1; - } else { - return $this->data_cur; - } - } - - private function encode() - { - // conversion des datas - if (preg_match('/[^0-9]/', $this->value)) { - if (preg_match('/[^0-9A-Z \$\*\%\+\-\.\/\:]/', $this->value)) { - // type : bin - $this->type = 'bin'; - $this->addData(4, 4); - - // taille. il faut garder l'indice, car besoin de correction - $this->data_num = $this->addData($this->length, 8); /* #version 1-9 */ - $data_num_correction = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8]; - - // datas - for ($i = 0; $i < $this->length; $i++) { - $this->addData(ord(substr($this->value, $i, 1)), 8); - } - } else { - // type : alphanum - $this->type = 'alphanum'; - $this->addData(2, 4); - - // taille. il faut garder l'indice, car besoin de correction - $this->data_num = $this->addData($this->length, 9); /* #version 1-9 */ - $data_num_correction = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4]; - - // datas - $an_hash = [ - '0' => 0, '1' => 1, '2' => 2, '3' => 3, '4' => 4, '5' => 5, '6' => 6, '7' => 7, '8' => 8, '9' => 9, - 'A' => 10, 'B' => 11, 'C' => 12, 'D' => 13, 'E' => 14, 'F' => 15, 'G' => 16, 'H' => 17, 'I' => 18, 'J' => 19, 'K' => 20, 'L' => 21, 'M' => 22, - 'N' => 23, 'O' => 24, 'P' => 25, 'Q' => 26, 'R' => 27, 'S' => 28, 'T' => 29, 'U' => 30, 'V' => 31, 'W' => 32, 'X' => 33, 'Y' => 34, 'Z' => 35, - ' ' => 36, '$' => 37, '%' => 38, '*' => 39, '+' => 40, '-' => 41, '.' => 42, '/' => 43, ':' => 44]; - - for ($i = 0; $i < $this->length; $i++) { - if (($i % 2) == 0) { - $this->addData($an_hash[substr($this->value, $i, 1)], 6, false); - } else { - $this->addData($this->data_val[$this->data_cur] * 45 + $an_hash[substr($this->value, $i, 1)], 11, true); - } - } - unset($an_hash); - - if (isset($this->data_bit[$this->data_cur])) { - $this->data_cur++; - } - } - } else { - // type : num - $this->type = 'num'; - $this->addData(1, 4); - - //taille. il faut garder l'indice, car besoin de correction - $this->data_num = $this->addData($this->length, 10); /* #version 1-9 */ - $data_num_correction = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4]; - - // datas - for ($i = 0; $i < $this->length; $i++) { - if (($i % 3) == 0) { - $this->addData(substr($this->value, $i, 1), 4, false); - } else if (($i % 3) == 1) { - $this->addData($this->data_val[$this->data_cur] * 10 + substr($this->value, $i, 1), 7, false); - } else { - $this->addData($this->data_val[$this->data_cur] * 10 + substr($this->value, $i, 1), 10); - } - } - - if (isset($this->data_bit[$this->data_cur])) { - $this->data_cur++; - } - } - - // calcul du nombre de bits - $this->data_bits = 0; - foreach ($this->data_bit as $bit) { - $this->data_bits += $bit; - } - - // code ECC - $ec_hash = ['L' => 1, 'M' => 0, 'Q' => 3, 'H' => 2]; - $this->ec = $ec_hash[$this->level]; - - // tableau de taille limite de bits - $max_bits = [ - 0, 128, 224, 352, 512, 688, 864, 992, 1232, 1456, 1728, 2032, 2320, 2672, 2920, 3320, 3624, 4056, 4504, 5016, 5352, - 5712, 6256, 6880, 7312, 8000, 8496, 9024, 9544, 10136, 10984, 11640, 12328, 13048, 13800, 14496, 15312, 15936, 16816, 17728, 18672, - - 152, 272, 440, 640, 864, 1088, 1248, 1552, 1856, 2192, 2592, 2960, 3424, 3688, 4184, 4712, 5176, 5768, 6360, 6888, - 7456, 8048, 8752, 9392, 10208, 10960, 11744, 12248, 13048, 13880, 14744, 15640, 16568, 17528, 18448, 19472, 20528, 21616, 22496, 23648, - - 72, 128, 208, 288, 368, 480, 528, 688, 800, 976, 1120, 1264, 1440, 1576, 1784, 2024, 2264, 2504, 2728, 3080, - 3248, 3536, 3712, 4112, 4304, 4768, 5024, 5288, 5608, 5960, 6344, 6760, 7208, 7688, 7888, 8432, 8768, 9136, 9776, 10208, - - 104, 176, 272, 384, 496, 608, 704, 880, 1056, 1232, 1440, 1648, 1952, 2088, 2360, 2600, 2936, 3176, 3560, 3880, - 4096, 4544, 4912, 5312, 5744, 6032, 6464, 6968, 7288, 7880, 8264, 8920, 9368, 9848, 10288, 10832, 11408, 12016, 12656, 13328, - ]; - - // determination automatique de la version necessaire - $this->version = 1; - $i = 1 + 40 * $this->ec; - $j = $i + 39; - while ($i <= $j) { - if ($max_bits[$i] >= $this->data_bits + $data_num_correction[$this->version]) { - $this->max_data_bit = $max_bits[$i]; - break; - } - $i++; - $this->version++; - } - - // verification max version - if ($this->version > $this->version_mx) { - throw new \Mpdf\QrCode\QrCodeException('QrCode version too large'); - } - - // correctif sur le nombre de bits du strlen de la valeur - $this->data_bits += $data_num_correction[$this->version]; - $this->data_bit[$this->data_num] += $data_num_correction[$this->version]; - $this->max_data_word = ($this->max_data_bit / 8); - - // nombre de mots maximal - $max_words_array = [0, 26, 44, 70, 100, 134, 172, 196, 242, 292, 346, 404, 466, 532, 581, 655, 733, 815, 901, 991, 1085, 1156, - 1258, 1364, 1474, 1588, 1706, 1828, 1921, 2051, 2185, 2323, 2465, 2611, 2761, 2876, 3034, 3196, 3362, 3532, 3706]; - - $this->max_word = $max_words_array[$this->version]; - $this->size = 17 + 4 * $this->version; - - // nettoyages divers - unset($max_bits); - unset($data_num_correction); - unset($max_words_array); - unset($ec_hash); - - // terminator - if ($this->data_bits <= $this->max_data_bit - 4) { - $this->addData(0, 4); - } elseif ($this->data_bits < $this->max_data_bit) { - $this->addData(0, $this->max_data_bit - $this->data_bits); - } elseif ($this->data_bits > $this->max_data_bit) { - throw new \Mpdf\QrCode\QrCodeException('QrCode data overflow error'); - } - - // construction des mots de 8 bit - $this->data_word = []; - $this->data_word[0] = 0; - $nb_word = 0; - - $remaining_bit = 8; - for ($i = 0; $i < $this->data_cur; $i++) { - $buffer_val = $this->data_val[$i]; - $buffer_bit = $this->data_bit[$i]; - - $flag = true; - while ($flag) { - if ($remaining_bit > $buffer_bit) { - $this->data_word[$nb_word] = ((@$this->data_word[$nb_word] << $buffer_bit) | $buffer_val); - $remaining_bit -= $buffer_bit; - $flag = false; - } else { - $buffer_bit -= $remaining_bit; - $this->data_word[$nb_word] = ((@$this->data_word[$nb_word] << $remaining_bit) | ($buffer_val >> $buffer_bit)); - $nb_word++; - - if ($buffer_bit == 0) { - $flag = false; - } else { - $buffer_val = ($buffer_val & ((1 << $buffer_bit) - 1)); - } - - if ($nb_word < $this->max_data_word - 1) { - $this->data_word[$nb_word] = 0; - } - $remaining_bit = 8; - } - } - } - - // completion du dernier mot si incomplet - if ($remaining_bit < 8) { - $this->data_word[$nb_word] = $this->data_word[$nb_word] << $remaining_bit; - } else { - $nb_word--; - } - - // remplissage du reste - if ($nb_word < $this->max_data_word - 1) { - $flag = true; - while ($nb_word < $this->max_data_word - 1) { - $nb_word++; - if ($flag) { - $this->data_word[$nb_word] = 236; - } else { - $this->data_word[$nb_word] = 17; - } - $flag = !$flag; - } - } - } - - private function loadECC() - { - $matrix_remain_bit = [0, 0, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0]; - $this->matrix_remain = $matrix_remain_bit[$this->version]; - unset($matrix_remain_bit); - - // lecture du fichier : data file of geometry & mask for version V ,ecc level N - $this->byte_num = $this->matrix_remain + 8 * $this->max_word; - $filename = __DIR__ . "/data/qrv" . $this->version . "_" . $this->ec . ".dat"; - $fp1 = fopen($filename, "rb"); - $this->matrix_x_array = unpack("C*", fread($fp1, $this->byte_num)); - $this->matrix_y_array = unpack("C*", fread($fp1, $this->byte_num)); - $this->mask_array = unpack("C*", fread($fp1, $this->byte_num)); - $this->format_information_x2 = unpack("C*", fread($fp1, 15)); - $this->format_information_y2 = unpack("C*", fread($fp1, 15)); - $this->rs_ecc_codewords = ord(fread($fp1, 1)); - $this->rs_block_order = unpack("C*", fread($fp1, 128)); - fclose($fp1); - $this->format_information_x1 = [0, 1, 2, 3, 4, 5, 7, 8, 8, 8, 8, 8, 8, 8, 8]; - $this->format_information_y1 = [8, 8, 8, 8, 8, 8, 8, 8, 7, 5, 4, 3, 2, 1, 0]; - } - - private function makeECC() - { - // lecture du fichier : data file of caluclatin tables for RS encoding - $rs_cal_table_array = []; - $filename = __DIR__ . "/data/rsc" . $this->rs_ecc_codewords . ".dat"; - $fp0 = fopen($filename, "rb"); - for ($i = 0; $i < 256; $i++) { - $rs_cal_table_array[$i] = fread($fp0, $this->rs_ecc_codewords); - } - fclose($fp0); - - $max_data_codewords = count($this->data_word); - - // preparation - $j = 0; - $rs_block_number = 0; - $rs_temp[0] = ""; - for ($i = 0; $i < $max_data_codewords; $i++) { - $rs_temp[$rs_block_number] .= chr($this->data_word[$i]); - $j++; - if ($j >= $this->rs_block_order[$rs_block_number + 1] - $this->rs_ecc_codewords) { - $j = 0; - $rs_block_number++; - $rs_temp[$rs_block_number] = ""; - } - } - - // make - $rs_block_order_num = count($this->rs_block_order); - - for ($rs_block_number = 0; $rs_block_number < $rs_block_order_num; $rs_block_number++) { - $rs_codewords = $this->rs_block_order[$rs_block_number + 1]; - $rs_data_codewords = $rs_codewords - $this->rs_ecc_codewords; - - $rstemp = $rs_temp[$rs_block_number] . str_repeat(chr(0), $this->rs_ecc_codewords); - $padding_data = str_repeat(chr(0), $rs_data_codewords); - - $j = $rs_data_codewords; - while ($j > 0) { - $first = ord(substr($rstemp, 0, 1)); - - if ($first) { - $left_chr = substr($rstemp, 1); - $cal = $rs_cal_table_array[$first] . $padding_data; - $rstemp = $left_chr ^ $cal; - } else { - $rstemp = substr($rstemp, 1); - } - $j--; - } - - $this->data_word = array_merge($this->data_word, unpack("C*", $rstemp)); - } - } - - private function makeMatrix() - { - // preparation - $this->matrix = array_fill(0, $this->size, array_fill(0, $this->size, 0)); - - // mettre les words - for ($i = 0; $i < $this->max_word; $i++) { - $word = $this->data_word[$i]; - for ($j = 8; $j > 0; $j--) { - $bit_pos = ($i << 3) + $j; - $this->matrix[$this->matrix_x_array[$bit_pos]][$this->matrix_y_array[$bit_pos]] = ((255 * ($word & 1)) ^ $this->mask_array[$bit_pos]); - $word = $word >> 1; - } - } - - for ($k = $this->matrix_remain; $k > 0; $k--) { - $bit_pos = $k + ($this->max_word << 3); - $this->matrix[$this->matrix_x_array[$bit_pos]][$this->matrix_y_array[$bit_pos]] = (255 ^ $this->mask_array[$bit_pos]); - } - - // mask select - $min_demerit_score = 0; - $hor_master = ""; - $ver_master = ""; - $k = 0; - while ($k < $this->size) { - $l = 0; - while ($l < $this->size) { - $hor_master = $hor_master . chr($this->matrix[$l][$k]); - $ver_master = $ver_master . chr($this->matrix[$k][$l]); - $l++; - } - $k++; - } - - $i = 0; - $all_matrix = $this->size * $this->size; - - while ($i < 8) { - $demerit_n1 = 0; - $ptn_temp = []; - $bit = 1 << $i; - $bit_r = (~$bit) & 255; - $bit_mask = str_repeat(chr($bit), $all_matrix); - $hor = $hor_master & $bit_mask; - $ver = $ver_master & $bit_mask; - - $ver_shift1 = $ver . str_repeat(chr(170), $this->size); - $ver_shift2 = str_repeat(chr(170), $this->size) . $ver; - $ver_shift1_0 = $ver . str_repeat(chr(0), $this->size); - $ver_shift2_0 = str_repeat(chr(0), $this->size) . $ver; - $ver_or = chunk_split(~($ver_shift1 | $ver_shift2), $this->size, chr(170)); - $ver_and = chunk_split(~($ver_shift1_0 & $ver_shift2_0), $this->size, chr(170)); - - $hor = chunk_split(~$hor, $this->size, chr(170)); - $ver = chunk_split(~$ver, $this->size, chr(170)); - $hor = $hor . chr(170) . $ver; - - $n1_search = "/" . str_repeat(chr(255), 5) . "+|" . str_repeat(chr($bit_r), 5) . "+/"; - $n3_search = chr($bit_r) . chr(255) . chr($bit_r) . chr($bit_r) . chr($bit_r) . chr(255) . chr($bit_r); - - $demerit_n3 = substr_count($hor, $n3_search) * 40; - $demerit_n4 = floor(abs(((100 * (substr_count($ver, chr($bit_r)) / ($this->byte_num))) - 50) / 5)) * 10; - - $n2_search1 = "/" . chr($bit_r) . chr($bit_r) . "+/"; - $n2_search2 = "/" . chr(255) . chr(255) . "+/"; - $demerit_n2 = 0; - preg_match_all($n2_search1, $ver_and, $ptn_temp); - foreach ($ptn_temp[0] as $str_temp) { - $demerit_n2 += (strlen($str_temp) - 1); - } - $ptn_temp = []; - preg_match_all($n2_search2, $ver_or, $ptn_temp); - foreach ($ptn_temp[0] as $str_temp) { - $demerit_n2 += (strlen($str_temp) - 1); - } - $demerit_n2 *= 3; - - $ptn_temp = []; - - preg_match_all($n1_search, $hor, $ptn_temp); - foreach ($ptn_temp[0] as $str_temp) { - $demerit_n1 += (strlen($str_temp) - 2); - } - $demerit_score = $demerit_n1 + $demerit_n2 + $demerit_n3 + $demerit_n4; - - if ($demerit_score <= $min_demerit_score || $i == 0) { - $mask_number = $i; - $min_demerit_score = $demerit_score; - } - - $i++; - } - - $mask_content = 1 << $mask_number; - - $format_information_value = (($this->ec << 3) | $mask_number); - $format_information_array = ["101010000010010", "101000100100101", - "101111001111100", "101101101001011", "100010111111001", "100000011001110", - "100111110010111", "100101010100000", "111011111000100", "111001011110011", - "111110110101010", "111100010011101", "110011000101111", "110001100011000", - "110110001000001", "110100101110110", "001011010001001", "001001110111110", - "001110011100111", "001100111010000", "000011101100010", "000001001010101", - "000110100001100", "000100000111011", "011010101011111", "011000001101000", - "011111100110001", "011101000000110", "010010010110100", "010000110000011", - "010111011011010", "010101111101101"]; - - for ($i = 0; $i < 15; $i++) { - $content = substr($format_information_array[$format_information_value], $i, 1); - - $this->matrix[$this->format_information_x1[$i]][$this->format_information_y1[$i]] = $content * 255; - $this->matrix[$this->format_information_x2[$i + 1]][$this->format_information_y2[$i + 1]] = $content * 255; - } - - $this->final = unpack("C*", file_get_contents(__DIR__ . '/data/modele' . $this->version . '.dat')); - $this->qr_size = $this->size + 8; - - for ($x = 0; $x < $this->size; $x++) { - for ($y = 0; $y < $this->size; $y++) { - if ($this->matrix[$x][$y] & $mask_content) { - $this->final[($x + 4) + ($y + 4) * $this->qr_size + 1] = true; - } - } - } - } -} diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/QrCodeException.php b/pandora_console/vendor/mpdf/mpdf/src/QrCode/QrCodeException.php deleted file mode 100644 index 028f427b37..0000000000 --- a/pandora_console/vendor/mpdf/mpdf/src/QrCode/QrCodeException.php +++ /dev/null @@ -1,8 +0,0 @@ -Q2%`UgI#JuQ=~f4qhZ!TdlEz7cc53ecI6nX;g*^@xAjqFxRpn4Xc`#garw8W`#o9LG0b-K?#8&i3T zhZW_(+sF??O_$dczMTTjo&J%h=Qaxb!(=Q+Z#)M+wU2fkO93Q+3Zt7r@Kja}tEB1{ l2eP4ENB*nZwES)j$_Xr`i~N89yjxeU5C!=ZXh|)s3EU-@0RI30 diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/modele11.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/modele11.dat deleted file mode 100644 index 3875f500337962efb3be0b98f164df8bd78ac10a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4761 zcmeHIOA>`343qm``jHktv?+qRc#Gl;BWat4=)kt+U=9==EEHj-Y^JJ6s?JfB!9mhj z32OsQaho^&anFSwG=+e{Fq5^qv^lAd@6Jd*#3^&~n=mvGq1tX;zOrm_0uo(srP zVa8I&rrMKW^M)A9B~M8G6Nu?}!t=f+m3R-+lk~(p;F16MPone7>kSbcjITEX9sI(0 zaK7#Pf4MAk_9xlO4E|WrAyCus?$+eR}<+am#@2RDTNvhD||9hu* zUB5GZk_z=Idcy<9gqRfD(Yw4N?HEzZL8Vk2p|77*456-Jqu$Xg`=$W9`#&BP(#Ccu z8x6AD4GO@{NHiYbT8@qjZ4;&=KdQ_qGx8JgJMuaDzl`j6MG(Qw*B^i&!f#hC$siKc zZHnqlFbO8YkambewO?|-vzU(j+%lug$WOrU$meLC5k6@TWJDAPSYQ=~Os*I27u^=B zn@H0%GqT-I2_*2>eIUf#QbJtw3S_h)rxu?#5k3qN(GkEVgi`+nL;#c$TA5z@xC9;r~AGA7rNzT)h>Sv zHEU<11L|isOx;rOJKJIhh-PO%SZ!)%mYLxR;EX(HnHin{%82ep7^5TW9a|Wa_Y8YI zFb2CfUy}#t(#42qFKAhHxBh&i*%_W)W|o=Z3E+%8XaA8I-;1m6n5BoJihY0P7~-C~ zQ@swU{u*QFAT#J)LtH&?>B>W?e#5Hsy3C%$h8>9ti^a(5w(`h3#-4UFW+(bn0w0{^ B0Sf>C diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/modele14.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/modele14.dat deleted file mode 100644 index 4960e7b4e9712140de2fe8f0f431adf69683dd30..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6561 zcmeHL(GtTT2&@19(-Ua%h<2d1eZt;tC8h!6PPQFKjwc)_G8U!EQ7@}dSV~^!Rp~iU z;0z}?FGx>-0)&&ArIrT@5UL;>qmkSUu&M|O;DAarcNAh{gnwa;rTDc+oQbl{Uv`(T zT=?E{x0w;vX3d=ztmwcm`NS#X+nc_^Z}a=vvO?b@kC7gF4*B!xq3_XuM)d59@&>&^ zx-D)M#S!f6B6bzhTh_1_DkO7kF~j~5_7Jq52(i8=G@sST3itg?57Wba2X+;r=UkNc z!imjY#jZ1ZiuJ>f^0e_i@)+r%=a4_29{L{LGtR$;?gfojkb%cf;0dOVRwR{6%St!q~y4`ctIVLed*ll JXbF7fzz^mz0e}Di diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/modele15.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/modele15.dat deleted file mode 100644 index 6f0612e52b87a50e8c7034e37cb5018bd82cd74d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7225 zcmeHI0S<&94AcLA`q+q*+X|5}yj(I&?x4=LRKt!V$BqQfIu@xF%gJ>0*T;MwbkPu& z0-P7DPW$8bU+3WHdzYN~vdUPL(%N^O^sxG$P)a-1=<+ zM%#*JF2)68X<1zpj9z!&__t2qQ1xh}Q%`E+XEM`qKAyXosVBA3Gw75=SZOdc3>8GF zOqU|8R_V$PTD#M?0ff=xbm;+6!sdDu=#j8Pa-EhZDbQn)D}>EC1wC>()A&!68EsCR zgqCU3>2idIATu?QECZS8a)d2GiL;!YEfO=2r{q)L(uSP;nwHiYd)%Yg5y%vFNZdCq vTHUxk@k=$kDvpXzK+0L`58+|bJyK0KwcbQZ9_;p~oay4;+t+ou{$T4-OsEm+5p_%Uvls-bmn*aiEnVU5u39&*>Ff z6sZbL+yGasBB|v=He*MN9+(pYZ9KhL$8@#Lm=vpu2J|Y4+V5-0i(wnpiq+MtOVUcD+iwnQF|!9zglI3(5q zni&sqge)@SkXQ$3W<10Zut4V((x~;4PLEDMKBO@i)Vex)S3sHoXvYp%kK7^6byhcE zJ<1Jf45kfh*v%f49+8lTBj7MdIu47rfivS4Mc5=W4vV&d|0-iX5F#8CGlI*1u?OU1 zXP!3g-N>}g&cL|~-xD~s$@dCzs{K0e3HRf$)u6ui=l?0RkMup+&e#L%M$79!FnK|# REqfd<@IDn|Rjz(6fe%U>0f+zq diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/modele17.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/modele17.dat deleted file mode 100644 index 088acfcc66fafa912c21dbac9219c2a1c720fc5f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8649 zcmeI0i3-CY5Jcnu|8(~Vl6bx(%__-`Wa; zOpKeXc8W!Fnr_@ox8g6!iOVpV%!X+i+)fvsaN^pICGhb&`ozcvz1Xt&0XCg%B z?Toe*qU(*t*9*}h3D4>s0SH?*=jH)yRerr5u9!}aV>#>8%x6jA#x-*s%UP#pK1&KU zE<5`mI&WvRr4Su*Kaqg!WEv#lS-m$;?irVw=36@y-2n_nm2hBh^B<|&$OFPix_ zw5jnwGN;pq&b?j9_j>b2#K~c2Xk^b?NtblVe+?P2XE(a|ojt;6c1U3puXR$#aVEV^Q$4@n!0gW;DMB`NjI&Yudq5Q- z>KLu!0uCr36dhx?y;(!pt`smgVM!V>i)<3>xz4c_w!a$l_yJx}7!lC%7F}n)H0Lee zdpl*X3GG!yQ*ub)kweA70?IL!-%G$bcTC2Izb|SCwdmdaHY`?dSHYpWjN7k_23!ko1`=R zy$I@e9ESZI$Dhws9prm_R-tBa=1_jTW{~gkS%sRxnM3*Uf1d%nJuv+8twIe#CNbQz z(FqcPw=pYv>HcOv70AVuGMwmK3II2l*9;d5eT=Yw@kpOJc8}GJt&z)C9pw5OVXqlP zT*}R<8RYsKVXqlPT*}H3_x+nzK?%ELz75#G+4XT<52REz(0-~raI B0gwOy diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/modele19.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/modele19.dat deleted file mode 100644 index 4cdfd2ab3df06ae5d54939d94c414263026a13e5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10201 zcmeHJ0S<#O2-N?7dQdvGmTROUGYeg^=ux=q-I8@#a=p=kRhFl;by-eR385w5PE6}s z=WSC7*gz)|qBu=Gy?XGlU9I%fYeQ0;ZIJy1*T|Tjgc~>a_9+$BE7AdKg`}DK{TSIVZWqFNm$`-%BV0)I)599_7vW_P7x_V1qdsN3 zD}*$;l7tM)lZ4o8BFRilc7<%tOhRlnkz^(&yFxZ+CLuN(NYFhA;XK-0pEakYQe+#SKQ9+z7%3WUmBsA@+w$sLgJF%QkhM^j!SlH<@@&p{-t5t(vJ|K2?Mb?v+I>8~94 E04WRslmGw# diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/modele2.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/modele2.dat deleted file mode 100644 index 8e9204c75522895c2423ed54b9726dfae9608007..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1089 zcmdr~NfN*y2!sEBx>2}@Pvj-^!XwD4nMIAk?lZ8b_3PG;Ut>0K{{fP~}++UvII`U?u|ezB?U`}Wp(ZxH^@ zL_2`KcW%gMkO*WG*-W3E-#*f?9s@O{0sLidoXEOhk1T_-7r7(lRlW9gHrlAhg7@;) zK#d`M!MbtojEBlFfFHl~!IELW-w&?JE3b?u%4=6uDUYg@&g00VymnQU@~BGbJdQld zYgbd5-Q6D7*-=2pftvGuJ64aHqq08vhCLr^{c2`~u@L?Z7UU|zh*t&n91Kk~M^|Q7 zdBjw6PA_>hM^|Q7dBjw6PA_>hM^|3gvc1lZ0y+-V9Cg1wg${dCS$Cj7r819r$Lh8d zItsUi%RZoqmbIo6lSf^OWpCusvetBB@~BI(?2SB1SYwMGTvHSMV2ST^*dzMRhoCG@ z$u-9Cw_XEj;)aSm$~jxa*{4BSi~l%xu=@Icq=7ljqdTAhIU6VhGKxs)Ed8MF?$iY( J3jId~J^&660hj;) diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/modele21.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/modele21.dat deleted file mode 100644 index 6d72ff65e1e469fab107fa7e7d977530553cb7a2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11881 zcmeHN0S>|-4BYcIb^EroZZ|yic2*K z^kud6Ypv&~=?LjTk2jq!FsTsfI)}+!4+?L-0YC*e6hWa3WfWVfNuy^}dnw7IXB1nh zN#EMDp51piR!u}BNoYP#*`XkzBn`BqAi!rkMizzNPBvIuKC-)J3J6m^_qCG~0fiDo-dy|rgO`|NP6nutb{(CR5Dos4QFR8CAiu_O&~x^nvXE|3PNZh@j)N(f~x zHcm|vJ)3H`3)vfcCYo6PyF$-pldtXb80dx6*@n+ijo+T6Y8(+ooY7Q&<@+5aswo~q tbM2@gt3q6nzfq~QF(HJWwaL83ugEi*OqsC@MLm9(?P>Jmh)fT4-~*?W0xtjn diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/modele22.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/modele22.dat deleted file mode 100644 index e053360f8703bc4211f708d4ade1bb7f0a80afc5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12769 zcmeHJK@P((2wVUE>BTUm8n_2Epi@OAO^ut{*rZ!tuNhBB;LuTI#&-6DW7eQPi#e-WxD%Lt+ zzT%@2-*x+0(1|$MEC?F|ERc>QpRCQjJJ|Z4{wb>MSOag661{| z?7xp;C@}@cma*H0VIoM@hH*W~;IVTs40ls-=7wP^=+g+}tS<}`V%)%m8PWCT@$xCF zxm>hWU>vr_T_QF;EQz(1bb8ntcZt~auq4(-Qg$9;7)naPv1RPGVVDS#wPBo{H5sPF zxZ_7?J#)jbu#@!w*K3utmUmrU zHxpQ|O7kLV@Gz;!^_*%3HJ@O7)!Tczb^mo1zklx=eqyEH&{=d3QX1`Oem!NHpFwm7 z$~4;1{CdhXKZDo~W_O;D`!+^sl&E;!c6;}zI91W%V&`N?MpoQTZ`cqASLqPyk4~CG zAf+j`Q%RL6)!vli$~47xDycH1+M7^(cDD(+Z)1c;iHcMATNh*u&7mqfT_EBnW|%Bghq*qYww-P$Re@> z=5d6Bt8@tUM<-1okkS;}siex3YHvz$Wtw6;mGmz%^}qJZl@4|cW}LRwfd5fCWe`s8E0bnU64xrxfIt8+z)8VSLYNUe92T!D}h2S@6*&3J*-ISTa8 zV`ay;Bqm(O$@?|8=%xhgxTzEob~+Xb-G~{F8^sr)$77MujhMH2%kUX zvI^;L+%q0EFjB1Hl>2m}@*uCj9NP$(jvK`np~qv9(2bb!xKVr&dOQ{h-H3Uc$NWCY zqp)RJ20}-%dDOskej>x~|2*p3&zl5vz{t4oE7jleXsIhu^QL39;(FeAtk+yk9FNtC z>v`j`UUMZ8|7G6dF~G`3zgY*-NR1fwD5aZRJ=uJ@<H)(iAsAsH13$dQ3t{LQ8XGgE0vtu_#jbY{JiT`J%vy+nZ*@@=ApP1)oG<$_&K0DF;_Y?E{ zjApO!uFU)AO+v>)$H5ai^;re&BSMGZ&z(UX0@*5VLMY(CTDJA@qL6c5)>)LqJPQfl zI>elpbrvNt&q9K?j=M4sJ-u4!ICw&b@Lb~C7wQoFo#G(jQ0Ba^G*rUd4Nl#xDCe62 z9k3(j10iiTMa(w?I$%f42SVCx%3Ya?5iw7NWAS4Ad>Z%fm9p8w_M5xzsgusNSl+4&JMOK^ zeDM=Y^@ZJ4*SKfZuRFzC@r`d&Zf^sA-==gvi$mRc#b9wWf}@>hv2!P9*Wuc^L}exL Hw*-Cwt{?(G diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/modele26.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/modele26.dat deleted file mode 100644 index 7a850d2c5687bae9873c67cf18e4d143dc3cfce6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16641 zcmeI3;f}&E41>4#e`(?bBvxWHLKi0HBB7hJ*2$ONsr_-wq9Fpyvc_mav92$Urr3z@ zc^b(&|dU%#gyf^jqY0E^sAq8WN}@B! zt>Y7xn^MWcd;-Mifn^LA`y78;#>Gzl%(mLe)1H`~2#A0Ph=2%)fCyZj06Y6J9S4!A zF*G1+0@FPKGN%-a+W@9+2h;J^)EKLj>5)KAtrTPZWV)Lmh#!(sotG@tCb3%D68O21 z2#A0Ph=2%)fCz|y2wa^2JI6B}N7$(`G$3mN(>(z)rxauNJf?>UqWSoE9;=k;r7G{a zrfaf(GTjqEFb7cHA7r@}nbp!_ehL#25CIVo0TB=Z5fA|pxHTbh<`EqApyHy@bmSa zv&`4;xP49lspXN$cS97B89~eR$NN)aUL~oso@Bd4NkHUfrP*fRHgz; diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/modele27.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/modele27.dat deleted file mode 100644 index 8927d48b0c3907e621b8f0e6baaf83d5e16fcaf2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17689 zcmeH~0dB)E2t}LwUwX#)SBYb~DXOt2y-XSjL9i2Z{PVP&gcN2{DHRBt$?KO+Z2fWYGj9L_iizKtcp$(S(!OV(+kFL<32SrR|$dg2Q}i z-M)($kl#WRt-#eLlI7~U^7BJN%pm~@5s*a_kPrb`Gyw?_kVO-a5CK^<;Uu=$J8T%y zK+bveL;^DUHmzNdAIg7D!Z3xK7hYBJg%p>TnHZRJ-=O zu6iU=M3>zD^YVP;t{-ZNXrHnOX}y4rrhcD0@gHNZrD-C}*F;Q&39#)RF%c%fwtM7C zM4dg9hPO&}6o!kVvfkxJP+IE?# za$FY7BOIFum%&6#gbA?i9x)Lnz_xqDM3?~E?vX1Ib>37O-YV5m7%q;|A`r1QO;>jn zrFDmx8Ar-`mA%r^GH)Bn{Z-wS7J*=51d`S}V(TT6%5g~`k8x@uTnZC05hlR4d&EST z0Nd^n6JY{uyGO1>)cI6tc&k)LVYoO-i$KKMG+o_El-3>kUIPy2DD9Ec&GIL1)#U*# z55PpY1SVo4On`0oh>0)(w%sEp!UWiMk6ekUbEwkrR;iA{aB-9tfrzzfy1K(CtvmF+ z1{}^&+9Ri%FbxLe%4!t&*+g^Ae?cz Y{h&aQ>)0dZ1lYmsQ^V_Qo4`^6e|F9T00000 diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/modele29.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/modele29.dat deleted file mode 100644 index f0712a4df864a1a78c08b8e5783027aa1c49d53b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19881 zcmeH~frBUE3A_o$ZBID77C`jPJEMsUYCan%oBLEG5_M@H%j4asQ#*p zw(rO5Pc2Z*+^bi2m%_|dst(nM>D1nyJsbdr>cjN5e(mT@X_Ga2shrJ30o zm;Cm+pXz^k?mnB_?|rxOdB0g%L!j;dv-@0TRPdu~vQf;$7)$=h{8xSN$7?c-vB{VW zBfxZL#$*@)raLnx!w4|lnZab(8C9Z3lTf21db=}aY7$*Spm!s6M3Rj#6C*d|DCKm2 zI#?#d*qe;WFak_>W=w_=V7fD7GK>Jzof%Aqokb;jGzm3IqD$^a6+l!ThJ--xMm9t4 zFOtj*pw!a@OKs?w`X<9#VKOGe2r%85F&RdH>CTMFFak_>W-uAmSr^ugCZR@2bl;nL zH&RDn@8aPYAZELDP*NtL{maZ8RoG-$J50u87y+g`GbY0bFx{Ck8AgEV&I~5A`%F8v zel!U+N}~JT)Vq;7GS$;qBnF7zDjh5>lh8h8W{xUsGOQgYV={~Y)14WUVFZ}&%$N)# zko9t8Bj>jK>~^J|A5Y0|oMz*L#;P;z>^jg+SVT6r>D4tn>xU7{Y@6P8j`rWEpkMZp qi9Zu;#{Tm6XtvBxGe z2TPjB&zI)Bchh2)>?jVB!~N^M>HmFqB4mtq2k#nMy{uNgGL#k;KJicm8M3Zr1&al% zwADOzl(PESx|A8y^SV!i_r}L96cn8cb6i{>#*9@CQ}18e)ArWE(n63<+6GHDksOGawP;9~KMMJgC5EwmJ@i%FoG@nr|w>1qN z!|p*eP%Rs3c@9=kDo|}}YZ3x<^5%SHHrV2|B7Wl6>;!BqLTph)NQ4*xrYl1t#0W55 z84@8zfa%JR2r&ZZI@%MUn$I#pu}IgkMzzfl7(G})J5E%~ZMAbX5)+b=fcN|OdPF(b zk&fakjt>!HYav1+#0W5584@8zfa%JR2r&XoSB6B05jfY;n?I`gEE5!qbRBC{+YEux zgB7$(MYY^kJ69tyAt?!XzmKm+lye>FD8AzO5Fxe}A|yhL0MnHr5n=?Gt_+C~BfxZJ zNQ4-Ha~-|;qngh$L9s~Ju|~Dc5EwmJLAz8`%WbuDH4+n&l7RR7_d)9I1TJGQ~LFOWo3Xa JMBtYQ`~lX80}ucJ diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/modele31.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/modele31.dat deleted file mode 100644 index e33a31413dfe63fa969e205bee72a2cecdfe94d8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22201 zcmeI3foj7r3`Eoa|LIwF3B6AxwVs`%80 z+s~mqdE#<-SHYGYA`VIOM@9NeHq?u?G3<}EHSKx2NvVA?DU(tOs5*Pfq*MZ`&Ym(Um4K?Vr%XyE zpy}A0!Qy4aiUpIW?L>NX1dGp^`^dbTHtklXgV`7n7N0|kI3&#R#alu4-sRGmF#QYryeXHS`wNz!sf{8EIw!M z^Mri26zmA|0gF%Z)V=mCBFN@j6t-OvCZ)E-q)bXBpz7=?lTrz&I(y2bR068bo-!$w zfTm+p3yV*gX2Ryk>MZUFxo`GbQemFHqG&0J&)We-Ee;`0i%Z({c#~2aV^Sui5>R#a zlu4-sRGmF#QYryeXHO}l_&0Io>31}xb8u>S=QKSl{ZHA|(+skD#8A9NU)-sVBK;fu zyXe}QlxNy~U%d6{qBui5r`)V?BH~q^dMfI?jg#W^HMn-}*{5HyDziT)XBZ1!jg#hWx2)3mZZrn&Rf@I3?KN4` z+0H`fwWgKsRvIVuQYauR&V8@dO1pmb{%$UcznFjAtSG)WN&3@-v15ldv12W7HU=@b z0T6?jOTeusV-Rx*xb9eseLVthEG1 zuf38S)6{3(rs%ZfeRnbQFz)5v(Q&i(dOCY{h`IfN7{puxZao=;m`lK|Cu0zE3ApuS z3}P+;uYR^e(OQBM(O2=;T7shY)L}Rtqa#7lYiB1uxm#h>t^H%;6z%tQt^@z+{{qW9G7#7oDzt{s~(?@~#v z?jWYl{*9AC%&Y0zTmo)A8H1Qhz^x}^5OWE5^~dg#BKj)+T1!yaiI4Z& zC3i#q$7amCR8p%|^ixfI)npKJ+XXR*xdhyLG6pf1fLl+-Am$Qq>&e*X#Oi&)Clb5< zzU|24B37QtoZdktDT-T+kF~{0S@)!!dY8UfsWiq+qP>f`{3fWICju60S4UEk`n%KL e8B>Orj~{F-)~;K*oQ#^_-Bqd1V;llsP2dMOX#)@d diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/modele33.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/modele33.dat deleted file mode 100644 index 8d0aa959d78d49096f07bf2405f880c61f7e88cf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24649 zcmeI00gA&g3<+~ z=>)p#n(F8OhMW(Albd_!#PBYyeEWP~HDR$XX$(Nil3XXC$Tcr!qC;=Vdz8^Umrz3IYcl`(H3IT!E%jAQ mBi5JL7>^Y9z3-9x#l;1a9n41{rA_;s_mfWd5rn|c6Ziuxdjk{z diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/modele34.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/modele34.dat deleted file mode 100644 index d614421f1d1385949718978ccaa4df977c56ae2b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25921 zcmeI2fo{Su3`EQS|McP{M548W;MB%tuajsSbIb93MM}19YrxmfGQX`hf>^?i4DJWLeAPZoj=`eM@J-Y`w3PXhoIU4 z2trULpz6sW1XTj6o(w`zC7|lbAOuwcs-6sL1g~EEemtKwIBIf=THB5ByO5%mf>P(> zdigjL&tGOjAN+Lx<=gp!sZtC_98#FOg$W3%ZGs>KRRXG>3_?&Ppz6sW1XTj6o(w`z zC7|lbphoc9b?Rk0YjD)$6txulFFgdVmlTwSL8qISW$9_cChXVy)6C2My_xQ#&y&ex zZZ8m2`vXA;ssvO$8HAupK-H5$2&x2BJsE_cN20rv}I(h7+N;29@Sp^ z>*2I`TsE$%>s9nHSuhqqmFLsY=JF}u_`i|-x5?U!#O_!Cn2dKpqfJ`H6(jy4J$pu&H}g6+i82Bij{6fY)y5StX22IWUPI#Qz*0g_Ja#a zRVI*xq>6xQ4xNOgihybkorI){fNBn%)R63*DXjDeI}6-Ow>n=}VBu)9tcb0t?oD>i zxmKOrfOWmx!F4ri?+cQuh#(0`6#>;8ItfV?0o5Ej2}uRSW z=k7J7(@CWrh~cr4+TW!oR_vsVmz~Ke3_(&A6C@$2BA}W>Cn2dKpqfJ`A*mvunnNcw zB=0)29NIU+&H}g6Id`uqolfddH)7LR$?Gs$Pqws^GA?!|r!WLbRZNhCq>6xQ4xNOg zihybkorI){fNBn%)Q}u~Hj&Jau(QCebk5ytN~e>ObSBKiN?sF{o{YAWvgfxmIfWre zs$zm9Bvk}dbLb=_RRmOX=p-an1kTSXU!~*s{GgE&dSC5F?s<52rI?;f#-CYwfO>iw zc$6S3!sU8(-6L5n<|Z%Jn~BUyqnOAu~)Zd|T^GI{td9QA=oOvdA94I72! Ri@BfP?k~pi5eWP~fj?I#1N#5~ diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/modele36.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/modele36.dat deleted file mode 100644 index 2c04a01197f78956cdea3780271182f13f6dd8de..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28561 zcmeI5!E(bO3`Fh!|LIyLf{JA(mmMTB>q7{VBesuKr{>UHmo5>gPvCA>F`@T;U6ZmW z@?7n;j#|?*DZ5R1IiV(VQZ`MCKz(IKglnO%KbE4mWss=pnLRo@GOOK}nLXN?t9hc< z>qps)D$MtB!`%!*=1IdmqT8Hk3yo!e=-qGrRGAwjqHOviDxz!x?0WL3h_VTA>*3!@ z81WTTGuBG6oiNgc!o3?a?NQ1Xv=JkoP0b)bj0~YO{f!y)9Y(qwOZg;>yFL>ZEjw8= zDl7K@VIs=jBoP%+HUV}$c~nH%1laZDQ4wVmVAqpJMU+i|TMwTfG2$zxW~`NBJ7J^? zg?l$<@bm*CLyqNE*M`p^Ka9Av)C~F#BVDMad=kc8p9zbWovay^m3x3N5oK?Zh>9qi z0K1+%Dxz!x?0WL3h_VT=>&c@c$|k_AhtH1~@fA}u)=IIRFw%v>y&E%l#(|L`M<*rD z;vJWJioU~$SIN(~lGGUVu_#96%Ka!=8B81X9k8COz!jIC5#>lx}q zl)X&c@c$|k_BCy$CKn*g^SK3QVKS4_=VE5&xgNEZtCZp`4h z2u6k+os>9>cUbY_iYxk#TB3YZoNdK|2GA|+cKN$s2N*cGBUPYquYeqgh qobJT-%{T5h8=p;XzoGsIE51KSXyaNDV$ihi`f!UTA|L|a2>b!zK?B6Dhl}L z0$k$VLphm;y3c-l&!f+#&S#f*Lq$87RSv(|d#EfvILDdo-DneC`-lJU%vP_B$*NYs zWKC8@KvmbCHCYt_Rb6}5WK{$-b@|`wJPHL%GuU3^7UR(nOUEZ=`pFhAyEY!hh@~0M zkVm^%wh~Dh?m-?6Nl4*gXj$JGUR*Z7IhB>WkuZ~0EtbietcrlDu03nADgvsy_N>XO z2&n4XvnHz|psCBxq&x}*OEcJB;}+x55KG4=W%vyXk9JAOv6k>1&X7lw_yq~7fP0Wf zLo8AZY?_8o;6t&0aaal)?`%#Gg#WjN7ZU+>OMUtZK1L)?`%#RCVoHlT{H=)wO3$Rz*Nn z*Pb<56#-3Mep=;GC|H`o_8PYskA_$}J}JZRUU;-i@{J5Q+!|e5?m-?!we^|XoJx1b z?NwUtM&e9XwOA%=vMK_qy7sKestBm++OsCBBA}{k&kD#ksI#-G;BCK^46VPF$on?_ zxkfv!k{7N&!%h{9auFG$nANgOsOMy-US4)r)7deC%lMs^927K4jVl!k=;s%&53w58 l!1*lB%*CDx>O5>F7U1}D*FpML5-yu~vz%B9GJ%~4`~jD31N#5~ diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/modele38.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/modele38.dat deleted file mode 100644 index 927e32d139e60fcce617f47ca5b8eea10bd3d809..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 31329 zcmeI2VUL0^5Jctw|LJ49XmWK+BJsf##}7oh=XCmZYC_M)!!HwFwq4 zxd+=yvH@z>v{+GlA3KlZxXbUZ){z(Ru6j~Z^Sid2`(C#r!uML`m8&sfn!X8}Fin8g zcZN-vCP3>u!zN40Ilx~n=nm))^~&eZ6jN&vUsmVY*)?Y{E1F zTHhHqVVVG~?+lwTO@P*ShE13z!0I1)X1(+?vE}M*Ct4{_S6Wj=E211XWJUKc&12dM z3+-Kh8GGyhQv1GMownz>+?g=lFB3LlngFfu44W`bfYx`0O_(M?>pR0HOcP-B$4{oB zmDqCiwiB(0p6|3+mEJ@-Zib8QizYPUCQK8c^_^i8rU}sc z&aes71ZaI{*o0{Utp0RQ&9UX`Z6{hOPghz~MJu8lH)KWkr^_(Ar4jXd%OO+!sHh3k zjW=NvrU}sc&aes71ZaI{*o0{Uw7xS;5{`eCPeynuyDQ(FUnB@WPuG-VRIJh%4uA6@ zc=D6{YKlp>uEppjl@{T_)T^aozAvln8z#R_4{A?nI96Jx@gM{CWBcC{?A%s2fuAGr E2Z|*F{{R30 diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/modele39.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/modele39.dat deleted file mode 100644 index 9b838fb3c440e0d94034dfb0b0da061e82e72a99..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32761 zcmeI0fo|h43`5ud|LH~cS#31>fEL@UQm_M>NOC~tnFBU|efeVopGV*}KaF4Pc6ci; zqjfaLci*q#@)mE=+H|-pE=$=F_JO&$EM=M=Daz`6!_H(PE~ks@~o7&z-?%Dx<2G z#$vdNa;2Xu^6kqVxAw*_XV9dnEi-A8rU+0v&a_EW1SlP6+N3E0l#VlP(i8zo$C+kG ztFsE#TW(s+A{;d!s+Xq4dVHqN=2Y))ET;N{J*TLu-m=+ZrZTE}X*!0hC|CNqBHzB; zacgha;2Xu^6kqVxAw*_XV9dnEi-A8rU+0v z&a_EW1SlP6+N3E0l#VlP(i8zo$C+kGtFsE#TW(s+A{;d!s+Xq4dVHqN?Nsk>%x8In z#nU^hGOBt>I)&Yj6B=22GmUGLtrGiU6hKOq(=CfYNcMO`0M=={VCS zO%b4UoN0!%I;&8<<)+0f!chaFdTCm$$7kx?PWA4_e3my@JiW6jqpFvrW4MZPrJpPE z?aLjv_Qo$~(4?s?Gij5i2v9oCv`JG0C>>|oq$vWFjx%l26oJ3jndckV%k=g*;O~*W ztZ=Xvw(0YWm-K2tqOQHgd`+xl#ZJZ+~sJGyN#m?*5{tgX3;P+cBPoM$Wb=Y--xJOyH9Ud;@I11Oos7 diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/modele4.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/modele4.dat deleted file mode 100644 index 6570452996d9570d749463700769df262a25c2bd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1681 zcmeHH(F(vI2-N@o>7_@IdO|%6HmJdv-d*ak68XncEYfU3)G2sJc0yE!QaCXnZxF3B zUOFIiHtRDzfZ~MP5i7kdro_7=wdFW@eS~HHdo%a4K^BMHJTqC0^Rr~33R*|&j?GO` ZdK@L1D`hEbp9e(HlfH)C)Rp=1%mexO0Ehqp diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/modele40.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/modele40.dat deleted file mode 100644 index 53fdf9b4fe797fdb4c278bd0f7374fce607437e3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 34225 zcmeI0focLl5JP+a|I@w9wp#5(DwOA}`?BFZ4L`-6fTD zigllRJI;i6Nl)SU7AFT6+?%9#Z>MH2xPJ~_tujlYXAN;B>pL#BpDdl5sm#mm;#uU@ zM$~Y9WaNECH4V6twYtj+ZzeSHJM-(?J|5lUM}F6=@A0Z9{vK*aKPV#Lgmb@~e4 z?-Dw5eRX<;(@-y(i+-+&FkW)(#s}XvV2IOO7vdpK6QKRl@erp8(0=K7h|>gUzjQpr zX#%ugI?fVz=O9j3x)C!Kr7MfmE4X}6D_80b?BkOdO>KB_fi|eb?E4YR| zaJ>H}#%S5G8y$MMZRAx;yZ{nGIerwP!0={QT=ou4>e z=|;>{l&&mJui)kxbmq?boW8>4>`)x)dU}UlU!5+ONwc-=z3$ytbFUTbmNvxc9SiXg zrwP!0>3E3K1Zcl>Jj7`Nv|l#Nh{GHJG!z1O|_YVNgy-O`3Qy<;IB;xqx;FC7nYngH#Wj)yo+fc8tr zL!2f+`=#S7ad$@Ibfp_HQ&GCIIK6_KXV95DBXs%-m$O50sO#w+c71iaTqe!dviG`o zU(LN%uv^*?r*|yGL!2f+`=#R{P7|R0((w?d3DAD&c!<*kIKT7Px_+{AhX3faXX^9p z?fmPrPdYoXS-R-bI$gW{@>#9K5wGp&OZoD1#YME|`f{p2nElG4f{R{v*dSHVA0i%Z`c9Fj$pd!Fht4J+h-k$3=jD*%iD diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/modele6.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/modele6.dat deleted file mode 100644 index e43a9c205ce1870b4da78c7e9a99369db344836d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2401 zcmeHI(F(vI2(E&)gmR_=l!J-Di^zPClOk|H$ut+llqTEpIK5IY}sS3gg2Jr8grgkCZ;qm4*jzarssOJ439}|03RPNg zM5NYkcmV;g`Mhwaa9UHB#bP|hPdZJ+xGK% zd4*RgUz>U6TdU{K+RVqy{i&Y$jU;!d54};j-$?dytSLzoy|8}e20o>>P1e~aZxLRl zt>rRcd-6;waoiC~P&Qn5h~GFQm+q4wd3(hk`TpHjCA?5DL%&tzx~jqvuPin9dx}VX XVu^K=B-OZsq&kPOC*}*m**~#Awiy8P diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/modele8.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/modele8.dat deleted file mode 100644 index 7ff62ed9c51cd2c5534ad77779d78f383ccc10ad..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3249 zcmeHHTMmFA41@b$+C4C`4rD;$hl+{1*{)k7r1XuIbq$Bj36NPRdhfG|lmID}O0rKR zIl^3YLPFT%k{lo*EJT?HiU1NiKZ*3L=jL}no?cPC(WOx61HwxIK44h4#ot;pB4;l~ z#l30~_OBRmX%_Q-SN&dyWXMOh#@Z9f2#I%pz4SD=&j@ib_H%6GOdC=jb(O{7PaQTW0Q|pWEEW?&MV54 f79^8H7j8ysiXcb?uUg>-k;|Cj1habPfIt^ zd1?Advh6$>&hk%t+RI0pCLEpJDkgUl|5%7C*mZaL!t_SF$38lvL2shBY5^n4Jx?NQ6kb3Aev2dOiU^8`sE8;EEycYdbaaG@5JF`PA%@BrFrlC@0TK!de-S@{ z(t^^0!qPj3GtVyb&g&w(y18=_W|(2$bDocL-nrg*EG~_!OMOHy^l={1NBE3GJB3d} z@;Et`$5GH2hXG?8_~o(hlgHk!JiH!b?6{4w?b65AcMk2ewYeb=IjixQp4F>MJ*&|R zJ*(%DKjGEL=uyzfDBqE@df=C{y6=;*YGl;w5gFC9$=|>!ou}nho6Teu68;Lhen4uT|a|Y*$j|zO835+S0kf* z2fY6Jyrzh;>X66EvOJa+<*_g?i@8}b>^6N^XY^q)kB8|SLc}HFz;`*CRfinS%JN6i zh&b?FkH&5rMjTN#YLxceSKqNb2At`Iyyc+ zISGePPeY-Tll66{b8SsgmX}vn9FEo1!$bbX=;874(Z&YT6E3%W?Vt}nisvi+H_g0&4=~rj7y1)^)5eL9 zr$jsszoAb}CZ1F@W5|g#GieRX51Mh*lVU%Jy3!jiS>Cjf zUCcG`h5m%!wDBL{T`3yH{6(Kyt#AsMV#U~{e*Yvrcvt)Wop-fR=)L*PQ)O|Hr^@aw zPnGxkhj#_1lT{4{#eNihrQa`RXL(m}yTx@T@qmBFyGca-?;rWx#2H8UTEq|MMDHpo051Ecq$vyUp z{Mqc}YW;Sz`<&;`WFmW4dwnQ$Ukd5L=(5@A6?2bDrSxPeChNodOy~KgTJKjV2j!$3 zl(X68jMuH#)F>C_Yz*3zvsY|(`ju+^`6kmD-Y4spqPkj&GglkKawcs_B@;@v)apG9 z+P96jd?Ec(zD>NQu3KD1p^Lm?J%pJuqaLb;GLJAf3SAlQ(o?@em?@_QKdENo%w5h5 z{NPdKm#`65@Y~do0Uz)%s%ispRBA_;Q{z#2q+H+^d7vZsMPBF%e!(O7)!1!|x)Q(R zx`JOqOZmBqLYg$C8k!x}l|D&H(vWg$a#q3PPkuS`B%gv`(u&pwKE{(wKtIhc1FSy{ z9&#%Cgndf*kVoVfJc|5^J|*{3hfMM*`Ud&ATdrGTe^Q^cyNPTjol?*FWTQ+M%`SWd zep%P&n@K*E_JgV!d^&1=)uGxPC}aH(;}LucdylEB2@8Q=SH|5AYHArCCRw66XMTgij6qpv^U&Zn;{j)o!R`ZIDneMiZ`k zQ?EP~>mS7f9%-KbY7U?eC;1foin^j6@Cbe}-;p14KaUIl;^?(cYLl;)-HX-W5b9Pvsq>Jbm=z@As2Yi~&V4N3F;ufL6@wO&OjIV4Y~lAxQ?g`^YfOU zq{|OnU7jH57vK{6nBK7HJx%13>!H5o_e0jD-6wV0{Z@(l<$b@|`5682=1Tp0r20R^ Q)jtVnckNsMsK>wm0V>h{M*si- diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv10_1.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv10_1.dat deleted file mode 100644 index 9a3cf4db8c1195f0d900e8cabf770dff201ee131..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8339 zcmds+yH6r*6vhQ4A_^#jh;mcB;RTSZv~+}yX4hC5LZ~)|5JP2*m{3q`0wfd^{zd)? zmKK&46qbH-I6RIsyffdfuF1FGoPy<@i_iO<-#KS=^Cx*>x7sHp0dc3aTUE7svVCsylO;;m<(PuqC-puuNu*z zCWF6;=?M4%#2XnCO!Vl`;{xk?bm(z`bv-(q4vx?AA!38pz=zU8V&mg?`7mOG>=C z#0H(yeADJbv-p&9rRtT#5${1!r#tG{heIwGu3TJnIGj#;W-u5E z(KBPQc$_q3GU+sF*xugSA`KpoBw4MqvlfflOj`bi`&_Q2rR8O}dwY9lXLomRPtUJ+ z{`v#KP!8NJ=P&q(n}6JQh1T3WwL$h$XvyUOw#h)m5KwZ7m$;Y|B^C zMTdt6^1zmdvd_1$Kv&vq@Q-&FiSX`H@n<%&xdx?25_sx7??#6OmuUJNz9d zITG1Q94AxhOg5`r9|{G7fdJ~tWHOsAmf2ain}33Q%N8-1N~P18FT4*K-`J3gTvoKS z#EPf}NXh0VD@i6+xx$t{Vyk;gMPH)AqeX07m# zcelICyUXR6y2C?u#qUSAVOOkw#eJeW(fS46;qN%fa-(6_@_AhE_pht!%4(gPv)Sh7 zyP^(EzxqD(t8uZ*Neu*88O;o;c$yich`VJpiv065+TKQ;qrSC$buum@=##ul z^qci{-sQmoF-5(Y>D$|5cep>-f)2kP)Ut{jAb2j)pPPRP4dD>?(xL&C* zp0qsm9S)xQ!5~llSnR9sL*M$dd@6Gk{Q&&~?w4j=mGElcUNJZju@?r-b8 ztJc$5wftJS>^${<^j=Drh37_f_;Pz+>kdZO#rEkyYM%eRuRSzx+K(5fgJMBCtM~42 zANt+lW2IOq_4=JkwfuB;)q1(D4jVsuPyNfzYvpwCcyZHyXx8s6wPJg8-5uQ5&VNcx zkp|KRWg;!4k+fK9^*iWbRo%hcYG>3qEn7PIv|9^!y^P zZpPY5t^QCpjAh+SD`KVW-s8ozbF5UIJteE0)7OeRi%NEz%}=tD&b{gP=0v*4oBD9fO9htrB!DQZfoC^*MTxvJkg$BrV8T;1=T zV@DNzaBkx0q^8g>v`h?N#~ zog<|p=h)H9f}#aI4eTn@K+u7Q>>Pa5`w7aPktrq-eF=F%ogxd^DVhiNt>?S(E{h-C z<=fl?$IxkG#hE=`Sad+Odv`;Ta&~f|J zsWx8Ams+2u^Z0A;3&ChO=wusdb>g^vAz4)&>c1s(7S`GZeNzgG95f16Kuf5CfT sug)1Fclr;#x>`p~(&~UuHa^CG{K?6`!^;1WEdObBvTAdG`}Y0&KVBpLKL7v# diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv10_2.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv10_2.dat deleted file mode 100644 index 4a57e8afa3fa6739d0c36c7a3cb806f2c8c1ce86..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8343 zcmcIpJx?lI6ct7SS4BZo@BY^r{Z+(oXKmF;c-p$^nsm)@jq9pw{)@V( zhqD^55!Pwyf?u4WF7Oh+M6kZDx+YzJ7cc7J{8wG2;Qy%$ZRreOp&ri0b&ur(JWq>P zT~mGi-TJ7D^H=rNo>tfV?0PT6V>hTBI|1$3_Vd`) zx9rxUb1eZKaN(>)H}}U3pBmdw@yQrJ#W&FoxN!a&AJ8p2feYu~#0Tx@40kH9NI`LI ztizoXWPAl&I2+-cAmc0G!uhxGsj+>Ak8uK>&-*=m6L)?OAKdA%8};8;{#5s#8NLZJ zzM2-_1Q}mVi*JJLZ)}t>$QL7gYHV~3eDEdCA~|Jaeh=Too!`SZaVPNUbq@j26uJ>f$jPEg$1W`aWNW=#g30pP7V(C_xJWfA)9S>R+6k%n#1qk z-ln;e$@6oXdu7Gr!FzP?>@1O>d&|piH$58&?CiwjCnv|pvDn<)A92jh@$B)q2sB|8 zpKoc&<#M~1m&M1|X(DlUwyP}2Vwn+##X@rggS)#lxA-`V)7&oCk~sK1x(u)bI>7(vBgM{P+=o7lYJHu%Bb8#b zKA+9TNZ8efhd+H!?@RodUF3F~@u2Sm=#4&;`_*Q5C~XtPeY>5Li__2V=TuB4(f`~% zPA6p`WztXI)B9gUshlM2*40&`yoA5>ISW65C-k`z%W>SdT3K06*|5X+{(x`v{e^u--Inq`z?H{=8eAV zl+UXW?t{O7)n7*a3|+xH{;bbsPa%_jDRl>Q*2XR|Y^<#SS&pUUS@pPnrb#`pP0ev*Dxd(Zct0{v`u(%D|W-gz%opQK8r zJ-S1ES~JZ-)!$3?4$X1fdM#kxs9$U`0^me_dbXTi34pE#pA zn5}x6<{<8X6ZJD`MgW|s51y+}{3O;#kZ)b6TE(Q_nNjC+O{z z1la4|tA=Ob1kb>U`X4xDm4^-B(BnjX;Q-lB%=3qz-t;^JC+Y(y>Vs#RjT{9W;2Ai< zGoFW^1jS=v(%16frrmg|w81lQqCRkS4l88R997@8Ppdn;F15IfXohLHGW-RV;WOn~mp(YQ>X%ZC&@rgF3%m z9vvj6TU>wa_U_7z%!@isHWJX3Eh}4 z(JQiU#RupHoX9cY#C+_xQH^!0_9lGsN}(Hk0pGHEx%^YHA+_^2qx;uRx%Qr`LpR_= zo&qP{N1pR8LjL63puK}U-l^rXEwLwoZ`zA!F02E(0Vi|=&JTYo^TD6s3pl|Sa3YUL zz5cLQ)%z2=0Vi|=PP|X+piG26kx$rn%=!en0Vi~0oX=v%W#zg9PNwPnIjX^5St*^V zjlSnk&Hkk9hx+`3KcO4=hHl^+x@FSZefC2)o z*Xss$f2vdNI<}(n5sUo?#J~PY diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv10_3.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv10_3.dat deleted file mode 100644 index e2de0eca3e1aaf7d3bc282cf2a75bafbd6168596..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8343 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 diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv11_2.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv11_2.dat deleted file mode 100644 index 0357a643102dfb2af812e901f8f2b857fab9526c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9738 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 PD%j3JVh;p`h>=@e?d5 zET^Eb^qzJ0S)9kfAT!Lp_k0u2H(cG{T5GSpzisA5E+eLO5jL;$Gg+r6vX1Z^9~~=y z)OC1ZUZH(`?d|F-xMN;{ZS&gNG_Q?y^YX9BGNX-Ln$cc_f5NK)ZG~4y8rs*9%Fc{7 zxMM~e*fyix+BBoxSnq_FIQees+Xk-@EB60Cya(z-H~dY!)E4h{exR;+Q(L?>+a41q z-@U|Z^nwwqaZlWx{7dW#ZuKEvzW)Tb(Zfc}*c-7L_ub-dRd>MN4Q^xY88Ku372H0r z&-+!}#LG8z=KEK;jXlGN8T)Q=19Pjjx?*0-OR^R{vOJ4;Jc|qS#^wITH8*QsGcNO* zo-(h=3G*5sGq2GR^BNv9E~kTQa6p#5UzV*;mX#yfkr&@OKM>Wqkr&@)c5}04b~7$B zyXh%2yU7VNyYaDh?8uAn9`Q3U6OQD?cW?RW?2K8%p1klTH@ts4f2u2unfn|3^z7-( zWY>;gD{kP}jX$;0Q!T1Hvlskyck0Y!*DXKhjqg_cSbKQ0?!Zktim?1MetPxk%w*SF zeq?9sV}CJnGx9U{m2Um1cNd+R?EV%%otf-<%TMnvIy2e*SNtN8%gc+4aM+{RaA9G7 zes*?l?%OxF`{d;G^z7{X9G|(}-;~Ggo}XV>z_h1~N{24j^z_u!Q26L>gJ{vHZU?WJUleyboN?5iRy5)%Nue4Zj+Oun5gLY3yV;Qd?jl;%I|GzS~eVx zK3l(ipy&Dx4h{_1?fw1j@`fD18>6G57;*X=qadGVY9f%`ej{8cR|&*u50Si&X=9^ z?373Typ^AHoj?FJ0dC^NjbkH=<{$moseInqs!kI7fu zI5sA3+}&jzv44tsv$LY!$qDoBaEK!2bB~X${f#&n$Et(YPBw6N04Z^3<>D9CeSOkJ zy-iMNvi^HSW%9dPLv1l`1_2cOw|9*8- z`iS2}f8^fo9}D%{q!u;%n##YGi`9CX@qgs*qQLl}#KxYu9}92y*;l)I25|G7n-Zd5 zC$z9G1+uy|#zhRql_;?SVjyNcU97&9Q+dWC|7#7m>pt~T%M>fbP5z7zEfJr(5;t{) zrijgRMBST`7PgVB$O()~T^X0Uf;(bTSH`2R#4Xv%z7jWewZ^Be#7#e>@^S*tk*r-; zRTHRw$R*QM_q}#sjK2Kx!T99Q`24$7U-}{zm6I6X;0v|%sBgRY)R*|FuejNc z3R3G0@s0InkBbtFPaTL?s_(sQ)!FI~#+T~*Ot-2#^b2cz>P-C98QljOSaojtL+d;3 z^2k0!pHOGBPf~fthbG9Swf?N}sRwlie$+I5@?I7tn8&ZyAAQ1pL_K(pbkTa6^~iIS zR-_)0ddXDKpqbCwlU6Zm*Zhc+w{-c(0{zB%LC=KVKXRf7bzmOrX>lIo%dMffqAH3I zx5R%dQ;&50`LX;~%2s0E>xE+GE&U^Uef3d#u;!gUrSFMDZ34;_A$f1)h(o)*o`@r+ z-8jTSoye1Vktgpl@)W(232S`Gi;`pYR!qGxF6%39kH&J1YVkF7Z!aWo8&B`g*SXKc z9rH$>a+}uFyAMhehi1DBY6D&)4!P|<;^fJ^5eM@|Jk*OknYUsExAoV3!MLcyeCo>e zRKwRqvhsLed&y>8@%Q{q`J;OGvp)q1W(8CLzM>asW5a#1+Ri`H5tujfWZsB}dXXpd z)~zoXH<1));w$pj$)CKpF|(jT*hgi0!JH!<)aoDllX)Xg<}DT#=QD4@vwqw3XP3TU z+)`GY$-Mo_pWucW4K>UDjb4b0N2VRj8PW;K^Q-=pI{8dn^Valdm%b1`r1I6GIFor3 zo}~w?KjC9&f|(9j#Gem&_7$lP%zf?r*{Z)aa`aKt?^^$C=1rU9s2Ah2p4<6?eTDwC z=FQqa*;nXK)``|vYMuOP?Qg6%`sgmI-H_V7*36qWv3KhW-tVPs>%PMN>6GW>^z1x* Yq5PYI@;^)||3spF>hv5c&yn){19{|+O#lD@ diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv12_0.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv12_0.dat deleted file mode 100644 index 636f201ce565c81250fc76249e01ee3ad330eb77..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11223 zcmeHNJ5Qop6cy0$@(uWYAu1p!DkvbR&=ER1LS+oGGR6>NWek#7P)q_O6cqD|_z9F2 zmKGM4-m|~`E%AIajAp!w-dxUv&++I!d#}CL+DB&+2MKBI@5w734Cm1P;7C6|oO zq7&#S*vyL8N8u9=D+B^Acz!2*6pa35d{kLMUf-HO@4*MU!V~TzXrmAZIDt2KepUWJ zS9q$l`D=Xv7d)TwdG=-g0Jz}!?eHNF5+)?O^USo?pF8>Te;ps@Q73eO($pm8*q?9$ zhv*3d`kl_cDu-y6L0@=^39k_7b%fej(MJ>G@)~o<%Wjj`=!m?AhvYRlAg_L_yewvU znT)*pdgW!%^V0S3Le_G&6XSBWV-7i6yG_n^bVSZ}cu3B6a6rzs-zsNoG5;=K&k6G$85te5+3fbs&8@9qFck9nR#&}VkH>25?;jW#9NgI89p#g5_lnWjqthFD z`&_Q2rRC+76^a#)$6^#~W@dU?uQwQad;7Y&Z#G*je*fCq`g$OMdUU!T@zUwkwB51T z?rt<1iA+yVO-)WtO!V~`jV6=XOtsJs)j~TC$Jp5T_{7Ba_RfyD7)JyIE6dAEOG87$ z!-QQZ#5>9-U9LrrVzId09*@_%y2_`7!+gs4c(?bpeMLP=-};OuHEmxwytA{t9SV() zkBvDTcDu#G-x-PU&cp=oOioTsO;69vM5DXAu~xZteSQhzGSspEM~LG#4a;A>G$(ae?RY#$C8&okKh5juiLGNR8S5)#QEe^ zq)B#jx0_Ef8oRxZzG~}%&xRw>-B^5Y558nH_VxAl8Vu|*v$Gx#??8{_vE(JtBY42> z>+>lh6_f)H`TV&#@+#6KySdB7r|9+F-bY`x^}uJ@O%n+*Y8IW&g$2EyCmXwr)5&b{ zdY6{?E1*lBhESj1PkeYeCl#>@>Vc2sS)@(!Zqg>7Hb0L!+UmIq^8(a%N_9I=-2(+bl0LYk(;E zJuTj}F8KZI=TW86svTY%Qpuxot(s2eGfzk7<+~cix;@P*u_!i2sWgh^hXTdCtDTph zj`A6fdQxp&h_5+L-5|apoy|NHisf7NfV*J7E8Pd%mBYJ2mnBEcJ#`QSZx1DwDc;DkP-4n@uD8MVz5p&}XhATQ8JLRYCvTVwpP( z-k=Wf1~`E?zzOky6Y>X6;0@|{Z+zg6z9Rm4Qiw{B=Wq1|Uq+vy-?lGvhrt`v0p0*7 z@CG;`9&kebzzMuT9q)~gzQUIg|5;z9>s&_obX#BS4_bY}Z=f&uGWrbts=nNOO<#OU z>jJz1PKd{@c2@&$fD?G5jz_^_nqH#Un)&$F_~n?^l@X&>8S}Ykb75o}~@R zRN;Z%Zz{*Fdhw$9~wC#>X6QR7%b3 z!<-Gc)>Buvl=snnGM{^_ULr1V%{N&2z!iC;{#25c4_uKqaIMs3|9WeD=pK9kuE<;F z!($q_vR?^}N_=S5fGfv+Is&e5^OM)&+j7u1^C2TH-i#~fUA+V!+PL!M!9C(vTzN7) z`<`<9`c-FIUB4C|Jj2}Sq%-gVxFW6~`5$#AesbX}Vh5e!=ZsD|)5ZtSzz0@aqXIqv vSMZ_xI%6i#JL!zo*5(6nMcyWUDZhl?7r*-y{~=ZU6NLI%)7Y-^ipBl`9`P{8 diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv12_1.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv12_1.dat deleted file mode 100644 index c67964856d5b2ea0924b3ece2e4cf39289383f84..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11219 zcmeI2J5OR;6vs!9@bZla3L`H8#TSBz$V2D|9i5>vhFBS62xDc8kWf%e0wxv|^NIWj zmK2s#P*~1A>ns-goWnW$&YfHxGY+eevxgo2d+p!)uN9sAah@Bwta@b9>T#4(k0iVf zS+KVW@pX_;kNr45Vtf3E?($=2n;%=7{D^GuV?E4|P>>&M0e<*>>f!Zh$LePmlDFcb z+r^KSWqvpv{8+N{W6{Qsg?WC=&B}vMcm7zN?p#)#?o3*p?xPeVTYNWqRHvG)^6B1> z^XZQ5@#&84^6B2$=F`2k$)`KA!KZsY%%?jPqZnuk1 z_sTM#Zl{A!_mZ7Y_o9tY_rkoK?zvelzO}ff^BiN+jQ<+rz&_8%k!hKoul~7&GuGL=nQ4AZS@~fx z^TT9RhG9}Y^g6Ye_@oTd&euIN&DT9;e;-b&z_Xh%NYkPaK zSUkSJPy04EBaw}b_4TDCyM1xdX0uwSrlzN7W?U|}`}5~OAR5ITFv%Y#lLz95!{Ly_ zfjf-GPZK)*qyfIeZeLo0?+6A%A^46&;@|+ZWishBXxrM_+yrfIx61|Erlzb`oldWx zoHTss{bsYp;&3>f%gZY(TU*=PJ3G6(TK6+C@kw}1Owhd!(;XhBJDE-&9i>u-hjgzl z*UHNBveRj`S}bO>$z(7XjV6=XytIVh7z%~M>+2gE2M5Bh8xB*c_qHF{ffE5cKq{~U zCjxfhM8F)J1ek-90CR8>0o8*L{JbW|jMx4;c)TlX|_yg5S8Zf(|BZ-GrJtI!dQA?{Ghny1tI2I-PhT zUyaXv48SZEQ#04X{!b_b{; zso$@zVzzd6Fk87CR#7~TRTKzNpTKPEbRT`cmY--G7dS3r+`uluS0h~_FlxV9#kt8g-yHNatE)_@ZUzkw1@gxxP1 zC2n!5+1ir&s?<-F{c<>FMCf~|@6kPB*8G0VS}X>&0lgNhX?GX1?(tB+pnm(&_iOoz z+WqMDI-TTRJzk$bAVMmPo;a;$GPDn;Rkxe`Xkr2iTApn`q10f zE1UDkm*sxU=6CgZaC{DYt9wxPajG|}GwFOLo#QCaT791C{k7*@=F|NC%RVRfb1fe? z8sBD)q5AtbU!~6}>r|^g_2*aLp04j&{mYXF+x6+!$Mep^;I`PJ^-iyURxH>mSKY_v zU3*YFDeFt8ji>vU(na_AzTU3(zSru7m(p|Prt#9O_D&x9mv^nF>#J}2^J0rV)!NN& zrC8{nb$U}b|wFygS?fY)2Q0=`mZyL{)YWc@mz5RTD(S0e^3*T!zZJ-&| zbb4wUK|5&taaJvpK2(d^VV#tA9v;t6zuK;uV$eUh)t64ngBnviI>2z9l>ScrQr&b4 zG0B2PN;zd4P6HW++=6CBx~u9GNa)baG~R%Artt=fEv-!Bx^|}V1a(bP@CKCnCCX)7 z)4Gyt;+?oAQivPmdT=YHd~n-&Ag+g4G%4>|T+q5&&5<^!MJ=vrU5jg4=V#k?O#dZT<3kWKWb|!AiuGlYXejQlU5UlA(=Md(B3rEO0M(H(91d&y%|x(ZDEC za=~~97rf|>JBa)Sl)4%3XpG|yNSVePQ0iCuHJyklCWn;!IB{Jqqi*s^Qj6}_c_1$z za{bt?6lADtaY5_SUP9VLuBpRFddhgV^(Cr1(nnmAYDNSpCI`d{B`%acK5RoJ(n6ecT} znm~(|Mw+F@vwqQq=>Z9|$ z@;#7lx)1Vs)Lk1$Pcg3h+@{oh_PtQ8ymW6y_wdSdF6mbKd#}@cY@AkXkp0@A*OBM@ z+(!36`6k_T9${j9lQ~AMZb3H@gQqB;ASX;Wokyvg&SS!t_{W2s@Vh?YKQIb^${enm Kob~#bFaH1)jWEdo diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv12_2.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv12_2.dat deleted file mode 100644 index 4544e9db159fb1f9e9bf08367f26321e5882eb54..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11226 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 diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv12_3.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv12_3.dat deleted file mode 100644 index 9adba362e5f1f674a3712923a774950b985cde9e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11225 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%0DY+6h0NR$~$ewDq}XWQ$4GI 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 Jyx^Kp*Iz*h54!*W diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv13_3.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv13_3.dat deleted file mode 100644 index 2f333926e8175e14f79188e93b9d3de314f3e6c6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12811 zcmdU!IZq>96NLeT*jKY}!@lqP4h;kr85wef5F#2OgpeaN!bk)TM#7c|9Po?y2@VMy zPT+uW-Y!=^ukFk9;03;=uS8jHZgt%{=Tue0;lW|X+P8G=?dsau*0s5%Yhyigt*z=> zS=P0*n7J0_bJQCQlGar*OOO1 zc|;>((aBfENqku9;YWC<$CzuJiedv zw?|iZSLW*M(AD0SxmsIvHG6e6HD<1cdR=w3nX9H+S5;;DswkILR$5l-DbZD2q>D2U zJ#l06i=XIQTMCU|BiGn-ji1=XW}E+1E?AKJ2{e0t>nC0ROe~usabaud=eB)0= zp2?ql<0o)VVaA_|Jd^*~#Si-%>S6!a#h=ce-X7GOZ~UpqGxhsb@soFKZt<4;Adp9+ls-@54*e=2hQlw16$x2_ic ze_H%b?IdosWWT!${pK5gDsuf)Nc{9(v4!gpdW@cyS=0-~$)zDC1Z+F1H{{Df1jg9s7wYAmNs;bJ$ii+~` z(b2K7@$rd?g@yU~xw+Zd;^HFvDlV31&(AL`OiYZAkByCvim#oW?QQW@S65pr_ZAnI zmU?@8db+#2y3~sunEv{R*W29O($d;`aByf}2M4XKEiH1kuCDIxo}S)b@nyekY>Ka% zn(FGo!J#2J;mXSL^3u}cVp&;fsmD`NGC4UlCApY!4qj5?@syU9mC3W0mseIKJ3~W* zgW^lhCcflsa&L8YZH>IBm)TkQb(^5mv}(XePmYJ+e~ z)v~k%ALOq*B5_rBMTJ?PJ}XadyvDz1Su`WHR5+%pnVaLhPI+A^FE1)C@sz%+Q=gSD zH-6(^YO*L*yT;gEK#iVAmNroAg!Dj`Sw!mD*+2*R}h$wyL^%dbC?^ZJ{S+%kVI~E-%*(r>CBt2A|?$ z?Qq&%mzPzwLqpm%YHPJ?Y;V&iv>LXwXf@p0qTcWv_K{ER{wpiePim8P=cXoA zUw?n9KIo(%vxoF}_^zifD$*%sejeP)%9K&$MOEF`r(LD7QM-y|(MPmec66kkr~QfN zun%48bg-~MA7#GKDW|UPKa=OfL;4JOlW%wpp5O!Tbjq5Uq0c7gG`qIx6jW99)p^z_ zb8nA61m5HuzJn+D(65~FbAmqXj9qK?G->}`%;Wi7KEKbio36+=Iz>0&gT9^dbc8}@8n%T`VW2F8QbOxs~g$p8J?T<%Y09vKA}hEb^4O_ z`Qc$_teeWWZseM0cy8j&9L#$R^$9)FAL&g-qNnYv=)o&FvrGlI_9m6h~yuit0Ao;^mfx52po{P_3T)pIOx_we}S zvrdjZN2fvmZSd{>Jo@YE*>mB0Nc_Nhj!upf*LNY=a}$b35*E64WePg{HeGkVUpI$Cbe|iIAyz?Vxm*2t4GtQ%L_xRV---RMK zp|fLu@c!iK_44i^7Lc6FnXs})a_h{E8Hn=2a^7Bk93HCaK?f+`?02usR!Wk5$;a8je{4~#LLtp{=pk-?*FJRfJ^$h zg@foM@k39p-Pi7~$*y=~!3*rmy?Q|Z=TYr&?APw)^;36EKkUcihy7|3*OK?(so(qL z`|@jim}S{jeX4ANF(pZgPoLnZ3;=%8cx9ANxFc%0{<;m0+aMY>k zCPe+PC#R$`WHyl*fchc5U$jY|)b5wKW{n|m)af(q=ltQTBah{~PCVTOUVdI( zc+Y-W=l-|wE&S2xA@1k-!sAHr=-7=vI==|6nf&qDGoega;7|VG4c481s$BMS{^;ZV zOE&xw&PW8#*yX(n`>m)wN13?m)EbMp;ST=fkNs+2F5LL{S^ROv?wHoq-)AQ7k5T0f z_?x(cKlyvNKRE?>F3kO=AI|?Ve^mMK#~I5Lh1CtO-{cRx!J7Ot>zAJ2XGI@Hz2Pgj z`jdP)u#39#=k5Xi^pz1w7ajQSfdFbBZ&o%V|>yCS7-GDb(bAPt=i+Mq-|Hu5HZiMc`NeI9_*SZ03 ze3o_){J@)R>sL1Xk=&d7aqn9?xqnnQ;7y_RE1f^mx0FBOTl!apUfVmnd)B`Ff8m3D R%l?<4^KC`@lygnn*FPYO54`{Y diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv14_0.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv14_0.dat deleted file mode 100644 index 956dae425abae9d99944094474391a06c6c2a444..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13993 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 MZf)l-y&Qi10|^wA8UO$Q diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv14_1.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv14_1.dat deleted file mode 100644 index 5dd0e3ed954fd3c3aedb4724a57eab49f48bda19..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13988 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 diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv14_3.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv14_3.dat deleted file mode 100644 index cdd2b21fbf1490a88e6e03c46e10a5778e2d7fb0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14000 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 A761SM diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv15_0.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv15_0.dat deleted file mode 100644 index fcbb6447e04516fdc394ee22796a447ebeb2d060..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15770 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 P75m-%TK(5q3-tOQPZYAs diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv15_1.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv15_1.dat deleted file mode 100644 index 59f7ed18a3a61a10a5f94b4de6ed08f063d8d33d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15766 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 A$^ZZW diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv15_3.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv15_3.dat deleted file mode 100644 index 4e9aa0ec0851e8a740b016c2093dc335d9c642ad..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15772 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 diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv16_1.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv16_1.dat deleted file mode 100644 index ab1be3b03c1f7ec0c034fc3caebabc5b485e1132..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17638 zcmdU1OHY(d6BR}RsE9Di-5bb7P>?&wbwFSk?mNPY5W>nBLI{iRdt-!z1q%}(alyi0 z#7|(!f~5-!1|fGtS8Cr_+R*e&!L*bGlB|>DD+uH}4&@GyX9>Zc(!gq7evxvYk& zO1~N^%8~yUdMKqAP5f$jP!dwZcO|%Yzpe+X1ULT;dI)p|r;rTv5a9R{ksOa8s0h3CmHA=ymO#WLVgK(?}_1^ z1AP+mOUQp4ujoO0fy&^bPayAoF{A~)9`Z}c^bqO|d_ClslIbDT8~A$2Fa4|@pnxBA zky;N)_72zWmu!C!EjSH`BvcncJ%suKuBWSqP+!3HboCJG3%H(^9z1(#yKlhUrvtv0 zObeOlA(<93(L*vVq_2moZt2RtL4|=nU}LB+;JVdAXkK{FKML;p$L%}GNB%AU$j!Sv zZsuGb*%AM^k#%`odX4~gej-2mg1br42e9)KT}GdqcNzW796$Q($Yu05vVh;u`uD5p z;`g)u{pxSUAIKekrV#(%k$T>l+~H?Q$-l`PtV1gPL%id9y7(>cn5V)Iyf*$4{v_J< zur6u<-iv5-tIu&oy%zTm^ZEI?x!Kv7nVz2R?yj!R&L>YEKYsM+;lup=TeoiCzH{g4 z)9UJ)nrF{?dtblq>+A2w{msoUU%q(J)KpY-?_Ocy-MbGTK6>={@slU+u7LrvsN>^f zV{hDDjg8UbVt4DkdqqXX#nJkPhUd>48=HoPhhwpkk2JB4 zo0lh#K#=4Sx_f%$5$5LUMUVWtw^tsy`sq`7+9-jYo9%2%dJ&a zm2zuA!Cm>$vS_px0|SHdqczRnfX@O20^PW~VzD=)qe8u=X&p&MZjIi*|KLGMNomuI z7cXBnH@A$wc{4UPK0d+P;Xk7?Yb<&2;Qsw+w3x`ac{3*`x3a2AB-h^2(b?J6)jc&m zJu@>qJ2$8Vx-6=xcE9EJEt0Z40`iWeERR6amq#Y)%OjKY<&kr4-i$=Dv$L)npHp2| zXK9IhA}KP24E4Z0{lpCNphgoeFE>X3MHNt!5;m%YNwFcqP?z+_M>%_#uu3JYT?v~~ z!UmNvm0gW4%WbZGOc?TxYabKFwUP(N}&+us&YXA>Vc-q z1lGMq3CmZ)iWN|!5;mfQx$698v_%QSdWhVJunHwiiZUgm6lF?ADawRIia4!>6meP$ zDdMyin&!jcGoN0J8M>iTFDu41n=wnVBg|6lsG$64iLL-ycoD9Bn%hip;8;McibF<})-n62||+87hs7+rPl?}H!3dZ1s+rhtmNm~UEa zG2gV-BOTOT>94cOO8*o; zpJ|;(J^I=GhI4--G2YX#hNM4|BO{+GzR&Gu`ugeLRLE8feH``ZPx14a*7n;9BL9-xn-9{nkPK9f41$$kUp3CKg*%E`$9_V>E|8^S)*xtWFrJ;a4+B<%g$DiFV+I5yZp<-)zeF#2rKE`KWTrhEt<4!joKXIoU-95j`vzX$tK@T$kTwcyj8 z`n0vWQ=f`*=);{();FN8A|Es2kxVG^I92}yF8m(sAHXZ0nethY@;T;Ci<@7%)8di~ zeYn%*rWZJ0rE{g|QapCLvVUabKig+Zs|(*&Y&>4u|8)L7z8l?I{>bm+yOFi^&nH{^ zN2e?CSaj)l=fmFl#^S=t>cZL5KigmFYiIT7%LaXI#=a)revYigchBGN+n88fIN$iN zcWfhF{kF2XcSca?`{7#~35o!)k)W&}5ExGsK#YxnnYd|jVQz6@o(kXY>AS^GM3&OF zxDZJ!Zxb>hiQXS7aYD|)*&%&x?tNQXr7t0HT>;n_Q2;hFjZ77<9TR3FuN@O+Bd;A3 z=8H^}ET$(~T$o#2n5V+`K?y^ifiRa6F~b4z{X<*U?Y_bp~`*#vSH(i5@sXv%|yfQ@?!;7U|LO4}DH%EYaWn=wkhqpv$Qy6zBJ z1E0$uof4dmPYzv|SU+&twfD`g^QY5yA9hc+)@`H~C6cs}AV`byL@6QKrp`@_Bj0QU zk2X?$5o8t@<`x&`9$dgH_;z(+rKwV3)^c%*zNKyTavx0`2s{R~r~qu_p3a2X$ZG}w zHZmaebsLdyHfplM(d9-xBduowQoM3 zB*F!cHfn#pPJBQ5q=?eCD5jE-2uZZa+DEAc(wgqAtkRdX2r3yuk+%Q$Ho||{X#El9 z=;t=V?;_u94Edyg10NG6MT8a;d4~GxvML^P?t3%lM6kEQoH1csW0^4PlQ6eF33K=) zMC+3}AT^fBg@-^0(jF0p^ad@^Rc&hQcx z#f0(oOz^=cx!oxDMXtE(pHW}olU&vK!6zwUy9&tqB$*SSD?UkygHJ-VJ_&Q{lQ4IE zZ1EHD11EH>-D}UTGkk}Q@EtZf_mo%+wSVJ}&M{X%lD1#6xG=Z4Fi(XKeah{oKORd{ zrNo0z(zbeH&l_|bvuE1G8uyr`z)l z^egxf^mXTxz9z8myCBE_yW)?Ou$U4CpM;1$0ev8%zuSoYpp7^`x)OEc<<%_}6!b0Z zPfzzg9G)DkC*m9DNBcX++v{u5Px1GsyEcA3_-E&AZ*>C^&m%F3QHFoF5$8HK!pMjC zM%^Ku(COIDdL-tMFE2$G7U})|+R5kTt;nv8-xf9#XWMTN5wQ-~XIzPzFz{P8Vjpf} zDjy;FLde}|#>)QjwnOgNUtU^#cmCT(WtyZt}+FkF+IE{>Y|)%#h6+%x&Ia{u6m4mW+-CC4Yo{Le3iC zTuPNUKbt>d+{nb)ypcKeSerMP!*AM%I)nYqfyWD5x z7b5Q>@92Lr=H_+G%<2eF>zJIn853_4#@M)yH={a+M|9j>^}~w0uB`cvK6CQ1Rp;it z)=gZK|LnIe*28mYkt2;RxN-W$`*+vXRe#^Qlb;i@hS(@v=bL;(&txr&A%>P^KTYD#4-#YwmpC`$`b@<&rPc{Eu z>!a>?f@R$GQFlDSGk@0C4EXgwF+6`FF8+{rdfqZT{pp_k8^db_Qq8~1yIy_gSAWzU z&p+!U1N!VA(9zqcBh;g#yGuuBhmQ8wcgL$X9jz~QylBzU{QT}{YShtCucNM3M@_Yk zXI0PSQ&FiSSbleumgy)i(NXkN$CJXlqu{ZQynG!wxjM1~IuLczctfGkKNW8k1toOy67;7f+qHpo^iWhy0XPWW$_|^CK#QW@*{zaU4rW~)sQ%Uhm+-z-2Ocjzp zdiC!^$4lfakaqbBapIY3ye=;%#4Ad4qeB)a*B7z!)77KIc+tE3boD3^&*)u#Ceb7R zcuk8qW>=4ZV|kJmdByAMkc(r)>=kcftoOy67;7f+qON#)#f!fE6R#rr->q*=HFQYK z75&Ale^FOFe`kGxWq!gWkL)2GG7B_;3QFE4X$ z3k&rd`^QtXCHaE3BvUFYD$2`)!Lp9d&aSTR?$FTS;J`qCe_yKeP!A~%C9AZwtSlHT zFTbt3e#5onT+-I$3oH9_nE@fx)6?7A*Vo_I+e^odPwRLq` zjj5^n`i6!^0x{Q;b4y#3DFjV{ilRO*cX(vv&70BDvG&)mU%hH;YfW_?>Lf*@nhHXun; zg$4&Lt<9PCH*n_i1?nV4Bhu9MdV1OoNCattmeFZLrhN{axx9gT3Rx3*N)uBvwHlBJ z(gH1_RkD#)&ob?E;LPO>)Kf^CNK~4bB5pPTAxH~ko>eN-W!mS!nadlfr;s--Ax%sX zH&8B!&MQ^z=H`NB%5<6bIdJCk2I?s!PD@A=Q^ZE=WvqHk^di2*beZ-!aOUy`>WREE zcW~+n@&Y~mTT^3;6-q>a$T-^?ioE~}FXxMEnC?82$sy)g<{su)<~k7}VtO$j#Po>2 zuU~gcR4A0>HxE9YFhME-f!!0bU-@M}!))15as z$SmH~g*@rsIy*)5NLj@6kg~u}S^JN67$Nx0GuT#$Nu&P?z-&t)aDzTlwV0fumX@zN z42U9fWFXl4u+d=e!}zoI3#K~{ypBAPGz+td$dZzY*&-#&%T*;ax|wJ*0`i-u?x(C& z)o?m&cBuq9gT7T)IzxVf%o6n(T@Z?4=`+K^o{NnQ{H(Qmak}%MBghk30bx=x5d?5C zd1SV-vs4j*OZ1uFJhRZT{&sv8TIL)XwJ>W1Il_;zcXA?O-=JT_9|qsd6Iw`U`j z?mXyL$Oyyeqp8^duC8%>EXxSPa5=AiR#)pc5B;hxe)Nsm!7Ave^a(j2v&-a{^}L{} zIXVg*Wlzb*jn5Qp-0ZlLm+n01q}jbOrH{JWRs*=Y)REy_BMdpT5Mk6BVff8Mzv}5> zXi(i|Z5?zQxUpl|Qhr{p7(i9&i3#X7dssG#e3oIOXzi7q?mT6O@^Z76lk5SQFxm~^ z>WT;Y<*-DAA%`U*4DgKKJoKxcTKam`-8MGCCkSrnq(w(PIeJ;!WT`8do`z3=e()KJ z&oY_LQ+6mRv19BE_@px+2X4rxRfa!8}Y5_sm`c?3N4tDcg&yYzJ2@`8Mc9C?sO zv-i^vrL$hTU2KG5$LDw8mvnX3)no9w^=rMJ%GzJ+sl4qK_!@b%>w$@f(pfLvR(1#k zSksv6!7u6RtgFZ1bvrIT*Hd8YOT7)~=mcNGuh_N3=tJqOmu}P1P=p5O`2r)1bamF% zWAHlP?T9rrA<$chP!IT;{ED1c;qx9!XT5Zru9nD|78LN^5EBOYGF_c@^%%U)cS>vx z^>(YFUT;162f)`jPnnGkJ(SKS(`_aUy`?HDg0Ih1XI(uOUMF+PcUf!=^;WH>T5nl~ zN6f}{;{1mGe<+=GbsK!Bw_~NHxKGSfXI(wE<9<8ep|O?G+q}vOoD29)iH$4Hi|GG{ z(pgux!H0SqS5bj`Oz1n)7w{bx8&{l9(f<#nv#xG~5Bc_w2?O`1 z(1)~iHi;hFbw)FI4?2f)0r}}dN`UZtsD4u7m|?%NB;m!Ge8RzC&~zn{h8mm3j% zEB^ERVr%_taBme$VZE!JgOdyTG5L{?e{CGl53HUC_kQl|hNGuvC-Kk6d*8N>WA6Jj zb@$}Q*{3~wA-XOr@^-gRFOClA_3P-T(;w%TpAU||?`>0PvXr}?{K)Bbbp5NmcCxXl zkzzgfeVQsM+FSp6u@yVN!g?nXb#(n~_vA1B4L487GuA_%?X^QnF^7DO_1yQ}JYzk- zJX6$?DdZdL%I2wPR;DoLiuaCnDSm8OUUl=0bqyY}_hk7#`y?6Lbo0(N<`i1Fe#tv< zg1UL-9d-7~JMxBLkbf$jKvqCXL0JBy$UoLKoX7Axz&Y}dbq(jczzz0~yt(=3-eTw~ z>aKPO>H=w{;lr#9k2XjU9bJS`B(IaKh~xEgEB-IT>N8Q zFW&IVzoIXevcCA`AARTUKUw~ngOGn^-{>dQ5x?Ws-SY3NGcIqq`8WC4=lpXIDEoTn zA9Xib)}m4Jz(2^p7jK}BBCfQ!EJ{&8*H^9Z>;X7eB(3radjZyF;1vstSP)~8w93+G zJa~ysOB~`v!iX@~=h)abn--549DS8)kpvh||rNX6xq;EhSq=p3F`h z?b!=rvH(T`g_tc$u*uQ3wPOHrqCUtM;Zh9KRXlcdamcRa%h8XM%^lzrd1DX8#13J_ zzTNs@-{3>k34)F|z48T8K%UITL{T3xcMN{Bm}{0`lfPB-ZI_5MZbE>3smt7mZEpq7 zBm0-fe|_AI{y6+}20SBg>Ndkc_Nu&h>>GGSoLpz@nTZT_0-g~k=LNe_62563ygZ0Hx%2mFk_^}{pz7Wuk7IXGi(PJ(AiwXhVKF!*2gVQeJ* z@XX$s_YB@~`5Aa-HDe2f{)g|!xrfiROc>ZV_!)5uo&gGKewUvSr{s%xoi&KL*~K$! z5OXu$hu`zlPv99o3B2R-Gw|%{HqIHqGtLRvH}LHCtrwnw3%o}f#CQ(7c-GVLegyph ze~-TP#k06#xYIz?3(rm)o++NUzu{b=r|~sUJR?r%rt3F=3-p0j_u|mSGujXD<2->l zeen!KZ3hc4Jfm-cXT`_W4s`F(2m||e@r*dn?Y;(hgx>%z@Sd{O<%x@DyQX10OR9lq z#ObATW!tushCI-BUe9xOBc`JRp1eR!^N|*RlpO^fF;gL zz%%&9-S-VY+l%O1KRk|HVH87xErCNl!eRFaVawms=m` z3i=R!!}V2uc*Z#aJcoM)S3iME@H6ln2Qk{hE}n5tP`0`~C%|vmIpOBs66X!z8F9M$ z>Eao2g74gX0nfN!#rYHGIMfGy=!IwWtrwngezkMLn#<2}xl1AnJR@H&o?ZR)!n2=l z+cmA=nF#}UMx4@z35MInGvZVicuN?_7tZ_at=Mz8{7iMu*Uv(9aq0as{aaA_e-fd8 QVP@avH+1oTg_!X9A1GH7UjP6A diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv16_3.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv16_3.dat deleted file mode 100644 index a91c7f71aab8c241c1468280073462394bf0eac4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17649 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 diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv17_0.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv17_0.dat deleted file mode 100644 index 48fd2764d17c80c4e01b1feb1b9cd4eb90a75a00..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19611 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 rR_k7fdl#5LSi&3AvZWNq~d} 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 diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv17_2.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv17_2.dat deleted file mode 100644 index 0c3b80f0af62221869b77c5ccd3b3e7d5ddea76d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19619 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 Q^oJn(PqVA|Z#K^FKgF!26#xJL diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv17_3.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv17_3.dat deleted file mode 100644 index c386c177edb718ff02607cc8b228a3d90130a89e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19616 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�GZ*9e zadC^E;D_roL?jF48|Q!%{fhBz9y{>UpY%<&%@5UUC#c7$W1@V^#jO=0(dWYto$+h0 zfWB?Zw{84QpYOf%eF;18Q&iuy4${$}jR#k^@NH(zDFS>WZt)X1Zs8liM07gJH_ibk z&H*R-O0Nc~GVh!ernAPkIk!uLQz+kvnyAK)`6pZ@?Ix=H2$ diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv18_1.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv18_1.dat deleted file mode 100644 index 8272c4186a5750007bfe5e286b112aded329b808..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21670 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 diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv18_2.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv18_2.dat deleted file mode 100644 index 0074b18b98673f3958324712875b962ddc2c5287..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21685 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 diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv18_3.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv18_3.dat deleted file mode 100644 index b8eaec68e9364dac3b91f0bc45095fc6e28b0305..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21682 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 WP0+uZo1EbPDbIeIU)Ah>wfqM>2TAAv diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv19_0.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv19_0.dat deleted file mode 100644 index 28f6107e5877fb1e8a36b3658bed505c24f2c840..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23838 zcmeI4%TH9>62_0T1`&J!3M#(eqJoNV1Z`AkTNK)7+d3eGFfzsv!pImQalpU?NEk5i zFXB&N$iSfk2M)beYt^sqz0cX~-OzaNF_$%1oQG?#`s%B%9_!ru`qk^eD!lY7|01}a zKlAH}{5+MFdmLN?gTeLikzWt`gX?~_xH5eu>t1hg-MQ;mx+l19-43pi*3-dt>SS=8IPO;v-Pf<;@KtPM@HJ#t z#+D`~_F`b;Q?{A*c`N0(%mC;jZpMbvWOSI+S8t4!*~Z`W46H zAj;35{RW&(fmhaH^p_nK24D6#oJ%qOLva3;>EyR4y+DWAgV`?KL$(87_CE<{&t2oQ@mB87`H{`j<=ii8Pph8A3*u%P^)v=XuZZE~T zw1$h~b1BAu2+n~{1YKrFpV4J@@MRC+gR6&Vh~(U1mq0qxz9Q0cW&X zcj`KHnLVt}|tGANuR-3_b7cX#aMr@G|uq*$l>5R zbkMH@`~7O!7hHSx`qjKUxOO!KSL05<>KlS<`;Oq+y3McJy5OqW5?s}r{o1(6ud0+^ ze{JyVUuBQkq89y6+he{_4+XtbTZeb>3wt^Cz%||f#O`N_3?IC&&?60UjC0b3~uoFM%0DC$1lx806`DKa!Es;GXxrex6 zCw|ZYcI;qZt39Q*=|n37J!04E*RNg`3NK$CJ9hNwkt2r>A3uKL#L1JVPVx75?b^Asv9Y0{yZhFy z+qcu{&KuX|HTlYw+Pb=}Teof7e&_Dpd-r;K`?|ZjZr<$dys>HH##E}RYD34ROP4QS zxpMWlEuCBIr%bBxh&z);)YtIc14h%ec z^l7E{cl9_#R`;Hy;^$iV;eVNSt``PS+8`rO2Q{XrJB|jTBR9(Gx z?fUf_H#)QT?`JZ7eZ38Kkhso$LR{)TEiQGRZr;6n&z`+|TLuOPbGgTlpIp3f;r#jb z_O|NHn`>&eY^in5l}q%b)3grAH=g(ibaPeY?_hR;b?H2hb;$fkJ zyRuNhUAfv0@+|3*AAgYk>v~YT9ptSZ7}&da&z{}8o0|_FJap*r;Uh<0yvXNYzAO}4 zTTh=pb?W5F?FK-f0dT_r*kAz2z}5kvzS1+*S9+!+gM7=8K`w1H*&-BmCz;u8Yvr5K zrRA1?tjts(W328^Y8u=0W)Cxu2Nj^GSTi41r7aZb5qe+v|ucj74=m(X@fWpcY+q|u$|qvXViweqgg`s~%CyGtnHuI$x(VDO9u zc2eF|TA%To6H7tVtM1mVPDCXqNJ?>vWwP5S68S{+$kNl1weqjhI^Cs7Sd@305!b8w zlb0tgz?1T?(mIXbT#^<i)6~HS1sK)qe~JsGG5u&vR?JUYV}%c5LMs? zBd$=wUD*{&a^u9kn5uCJwpbxMq$X|1m{DfxY^bp!EVZheg|xaLZP%{5(8tGK31Dhujw z`V{TmG9K(`|IYHCZBTuKAK;%{5=rBv6ObuV@da zg`VrLq+$Bq{asw#kT=jXYdd?%@9Wjy#pyP>pgp;AS9^8M722z7PpS2|W)S)oogHYQ zSN+$9s?^5#xk4QO%I)*w>TU7{dS>H}p3T*p++c;dLLC3#SEcH0bU}M_J)3-|HL?~& zzMF4q@_kEJmlb+9lg=07_*ZVfw?e(`1_tB}^vuQ{-QoE{9RJGg_u_OLzeSx3{^V(J zvoT%08{Ua{yP=*mq`po)bdb8r+Q-Mt6*gHzYU4c_0QtcUI@D%?ZR4r|bif6fkiZ3* zkiZRdq=?m-pU&R=bgAu}pE|Ydi<+k~cO)MYA2t@->V{<^l5U75!yY$8lVOk4FK#d= zZQ4^E%+bfwciK3u*R>l`yj9y^?xF>d&I)xuKsq zogM3p(*>Q7Rr>`UcqhfP(s6~~{OiE>9i}%qH%ynH@zeVD^WnOcx=lv4LV@9 zF~_A!=~TIKg&z88eB(~u8PGdF9q+glp8HcD$y11%Slcs6pN$jFS45{)5mz>Tx#C}2 zns+nTNALWr&DCq+JV+fPPY-T@ny~?@we4rus#B|tEC2e?anbV3Vdm)Qoqr|iycwQr zlkatQT_%?D-eqi@aGbd{dgoukZru*gk#(k~y`4PCxsmvw4Fs(X zJ+|KYKPs-MkL_9UH1lEfj(4Q+`v(1~Jb}5F3hGS%N_ptuy5|2C;)*)dp7GB4SI-;Q z(L3I4!tV+6f%3%ZUIyIbr@R^H%u{Qsa6J`;XSw-5F0Ocg)i+e_Is7Z*mCNWI?xZ-XRsF;GvffM>b+KQ6AU-P@yYmaeupBB6J@M@V=y7BcDO;hBZ+V;`p% zr{2wuPk)_zGy5aEI65=`{X^!{&}aW!Dmyf}G&i%5D@;y}EPNZAUw-@X)6&Gd`Nh$p z&y5rLY(D3XSXi1HnoMQ$a>RK0+t`R4ks5vXWog0=n*KhP&&grw#=;LhXl{J^=kQ4G zE9ZPkjb=W5|1cw0awoaVjHgF(KZo7bIA`MHr{%Z#`9?YC-R$Dj$4PhE*!b*Mf8xBm z-Ir88H#R*rTgZ5;ejU_k2QAq_89T`Sc<$TSc=|{7&Fnk7P~Hqyj1)62G_vqx>iy)` zLh&5Tb!aUQ8yrQP9Vqf=?uP-SldSWCvfO8bz;4L_Z zc^j(_b|J5(%fp-lf5AJf6DFIJiFG0&@8BID3Ockmay z(Fyn)s}rU-=mh7)>4oMv#aQ)1e~Z(Lr2K=&;Ei6OJ8^nZ=^ z@>?hW9vrgU8@a-UIJ&odVuk1L|4mhLxpr3%;DpmCHYkTP;!JbOW48O}ow_ir8?Ja468bDSk)O=wT;-2_ zMitz!*i?=t#g|&@YbP?SE59|XE@DArc@FxFpZW6y~J`2|y@EE+g&uVo8JfirAZop&k zA^#cPGvT@!yx}o;NJWU~`Ps@(MMj`DpVY&Q+$KXxfyxMsPaRraT zn?Bp?Mm}e{F$^AS`3H}|8{L4%aejlx=mvisJ{SDS z)9}c~bQ$Z%maz{$QCCsN(kGCmh{1ha)9xicKL+2D z;>q{H6=1LnzAaec6^9SF%!*Icmc)EBg8t&0&v;_T+xdylqe=1P``86A*ahG4%is8B z4K48qF6tAt#rXC)mTyK-&$ppTdp=lTj++!uzK>n_1-sxIe!(vE&DBkkd(k&=Q4LUA z(1EbNh5LHyBcBI;4%^r>$J~_f#^K5Lu?xRAyQI>FZ=8c&=%kx>%7h4=bhtfW={iKZ-XL-lqyVwEr`oOkp^L^Y1OE-Bx_c;XlA zf^YZ*yQ1(x2e6C!%&S2vjbGkb-hppLzgWRYog+_(ZiGag>G?J~AH_Gm3!eBTZ4OVw zH>t#_H#i5o;G0*2#UkJE3w)y_~x2qNj@K37M=K*6i@u(cp^a<$2W9!Vg$tMOSJhnyW_r3G=Fw3xPDh97fuXvp&Z$$?zVGW-udOS#U|-RB`1 zxL(Y@n8ibV&41B~%-GlTbMN(R%DyHh?Q1;jTw|jiYk0)IhMwA2XwZ8-8L+Rue*5Zu zY+v0yiL2|8TJ)EC(39TieCWM8+U=|Dfqk{!cdwRv?$z96UyTj+Re#re)!nhL+qL#p zbIZMMRwu8jO8dG|p_e?}P!D=>?Ye!HmD|_VQjc{dc*Tyw*RSj-j4jwv7@bc<;oM7& zy4e>3zgfJtqcAe#fkFoYH7@NaoS1Z>&2J&Zm^p1|*sM&Y9_FBIAlsCVrsY6lu zE)*ssQ194LSXG&bLqZ_~(t$xnrX7W4UKr%}(uqSC26^8v4!tnQ@BJzqp47hzT>=Gx&N_(d_~&qFRzm$6 z_3vlv;VI&hzH%s1jZDAw&{YSqpGF)y6sbn0Sr5%Rh}Y@Fp$mh&@3$U$VKCh|bYYP9 zf3_Y%f5zcaeF?l-pBGR$cWF`)S0ZqeIjPb?MX73Yhqn zs~%$icjM6ui|NLrt0wZkOP{*xq8AqZ<1tyCChAfujsi?84n1@!>g2h@V?;e1QyX`` z_yc%!Pi*KNSHFllXg<5@BKFgWN9)7}_0W7a>m&L{SHI}esa|+=)kfZT^^30h=!L~} zxT`$k)RWQ{6%mA~SLbAC$m9M1`=Up%_% zBKFgWN6!grVpTkSg*s?Hn{^SdO&rSWlX;CE;^;As3yZw(7mr?8OgA1~wUPJz)<-Wa z{s}y~>LT`mL)UY0iO0HJ@^wpm_pDS+I|83_p z@)B|U+4$ic)@KLy_{^^SJdK!qW#A5RH1iYZF`pC8=fN#5{8`WCk(Y>Ps^`ObjOQeF zG0%n9IG>AGu%FiRd2pv0KjT~}^9s&K&#zyty{Ud zd3pKymoDA8Q&)HQZhd_yG&ndk^z85+3&dwXxuV1@XUS38YSx`_|SVSM$(9qb}L?1akJTfxM-yWTx zpCc0q6TQxPc zy^kOF^^p_iqtS(hSnSov@bJ^8Lqmg&4Gs16ckk8}78G2%l%Jnhbop{|aY;$Ask!;y zy_S~yqhn*^Yper(;nzjpZ;V(!WJcWDHm5#*Uc`@6oab8 zpk6U(UJM!$gBryk`S|=IF{nul8Wn@)=3c&}d(+vTp6+haiCtAym6a9ryD~B^&?6&* zdi{#Z%Bm_7jgPv!dwNKnzj*m_ZY~@iA0HbV9aV>DZfYtiDK5Tzxu}S9iW7iyiW7iy ziW5NP3nc*OASVFlASXbUB!C?Mdb=dRv?RckBtV-aK&d1^wj@BUB!JG!!NFIO0DXO& zl@A}5mFb_LlvEzLFM*fznnnC5bShPHbF#BIBN2}_F=$E*nihlF#UT0kV3rtEBL)df z24iB7N`CUSN`CUSN`CUS0t;EDz(TQ6V4>K|&d#Wm#JRP13ky{e(wQ|{hleS2>Kip$ z+uC4{EB_?iGZOAj3HNmgccz59TEg8c;hvXpk8sXXxEm$hBr*O@ylYkokMmg=D*1WD z5EOT!IOSrZIOSrZIOSrMOhkx8amvMK<=>zXkj|>wTK;$@pr8;C@^C^3NJo2m8oVoX zTJ|^Nol}!*2>$G&E+V_!4Zv9F7ntjRJ(*2EEttSL5B5)=c0=Y-z# zP&cWxDJJFG!QUulss;A^>3VbC@ve#p6)movOu&dc>bh1BqhnH@r@*^fl@u4BmwIzv z@eaQ!@kHcZB!Yt^kP;kSA~>M?xIDAqs1m`EAp}$)~b&u!6D_gv_%Amz+_6~d)d+wSnb(BUav#hmwR>9vWW09Kd3mKV#i|Lzh{Am3-@BO8W6FSgeL*HPI zq^DK03o;HG1P{wNAv4|c4Zrp0y!V&z8|IT4B0w-llJVJujDx~5K5JG(ClVlthf8nv z%7Cj{23+Vf&gw7mb85&(zyV)?XEBeFvE2arSv_s->QX~dN*WnEmgzd$*M~WkjAb9w zG_0C6_uo3#{EfI*4ZMsMTG3}i=U{%!vsoSm${4s`^Kf<5-#*v;UATwe^mL@WT;CQH z6kvWlDFOt%En~ELJ^jwhMLb-(6Z16an^gNu{2b;0;NxGVkMa9bwNuq^67SIM`nI90 zobNQa)yCXW-)6MjgPxGj&^_6Edj6z?Usvj{A z#yuSD<~vC4nb7y@+sB@6efwBdsc$ceF6-OMre@3={py5N^9*xn==@auh&dbXGhsL1 zEwTocb~~aj@o2EEF7arvEp5OReG7TN6?2?a`3%1|)jY#|54tH;KO)}JzMR<2ceGs7 zac`)W3<-|v0c_!4^)`EO}; z`^)~@z3<`G(ASkWhu=3pFYg|F`#846e*(+zKP~R)oo_4ANFdCgvAA)xzkB#~Wi=Gu z+ux4FHa6eTtGzG#tK0uAy*W63x4w0>_Wn~~nLlLr;Pdk0PH-)1F+rJjVpy^%%0w~a zXl;G#_+9iMxF!aLg0c5|pEuXHVHg{AyfjAp-<3hDq3_|huqyH;_F;qfS7DE7C%MGx zDsc|G#_BTIW7?^lr0q$xQ>8K?eBw;&o5XY4r$HC-KCIwO)7oSVohON929g5I z_CzB(?{&5ZV<&!-oJTkjzxSWCWjo6UTa@-k*32SZI|6Cq4{nO10GOamBVtepjH3dWqD(aLhxBrUZC%pH4BJ_R zRO(7E=JJFSEf?GJR!7|MEG2D7<i7xp;y#16zk$t?Z@313R>OI5;IV4sOU;1bjhe=Y84V<7tAH{_9)dq1H|(_C*vf132p z^@f$Qi{5t~^#0jzofdizq^L{ZDh*GS5c~jDk4{205tQJFANbtNcjUF1@4uqnz!u~Z z;}7=w<_V{8@NO`ifs{rEyrp&N;s)zd&UtiT%b(V^xX(e|LDzHWB7`$Kp3@EtjH)Aw z_@OS^e8-%Ysy;;<28uwzPMbbWbKP<2Q&+u~w!%g8yMFsa(KYUp` zh$C{}#3Ar$;t==*f4U6vTX$UjA=}HLggvI6u*bC1B_NUr6^*_$8ZLbbzaj6ny(~s_ zqJjRC`a>y{e*42iY0wZyvpynzsE>#v_yTsK9-4I$e8GO>T8TC%UZ--cOwy_Ew$?r^ z|M~jk(y588b;@SWJ`s-c$roqQ{WcG|D2C8Gh#%||ojL}+g*e7SdUAujGV>mK#>{&c z4$q+bLs$KA^@%5Q5eI>pIE0;k`^2;6N$?x;Ue}$|J`v$WpMm)Z`U}5(BKi!(@ien^ zL=ivKNfU>#)5Ib0srBkEjq~)_5@QIhS9v<6b%f~Er4JjMhby7*Tkt#b3i|7J*B_T& zjk8D1Nnoe5Urhg8DWP9PpN;szKAAlSq5o7IW1*$NO5-tK=tTwVGadJ{W2mn4eyvWCb< zUDj9=LNlXZo#Ivk#6U!PsJj?C9@CkQ_TF#MpKu^Fwql+O=f%0c?|s<(vi)YojAOzj zR2-=$O?0JTrh7gJe}l(xFQub*yiL*DF;75#s_0SVI7c~_=DFymP{j-9LLA{QG}wOgGu{0x{C$$2@wlVNx$@II7vczi zseB;ufq0p5bmgaC+?~}Qz~9JE!ClzM&l5gD91$;^3+IKuaQ$nZ3+Hv^XS($k{7w0( tN)B@gV-ES5D(>RWo1-5u=jNjeG5Tk4^nX~U|FA%Ib1HUrcK%0?{{!h_JO=;( diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv19_2.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv19_2.dat deleted file mode 100644 index 60f41f205b3ff0100e6e3667a4d5b5178f197902..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23849 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 diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv19_3.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv19_3.dat deleted file mode 100644 index 7b98e51b5052d4512dc1b36af97794b252c5433f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23845 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 diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv1_0.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv1_0.dat deleted file mode 100644 index b941d488a76e92f008fd2a39d30b80c18d1f756e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 656 zcmb`@y^4cC6b0buC{Fwvb*%Pn?8MGatVF~r1QD^4pn`=(Km`knJduxJXUJyhPAxV;DMZs8I^FRL~WEh&JC;&*3AP#E?f+PW;D4J#%2>+V@zTf*B z+qyQoRW~$F1`Nxb!?f)4piZ*M_RNPHl~Z%77bDW{q1P>W?^o@7(F@=Qw;@i8@ocp? zcCJC)=V>{ImI(|e8=9&cU0uWWl6&1fjI_l#)l(Cd57#p%JIS8?YdfCPVu*tq@b#i< zd*8X@*lJ(f`SR?4_sbj`o0dDC=QfS|b$pUfr58Tn7C}UktgQFPiYy`Vr-kg-H_y|8 AkN^Mx diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv1_1.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv1_1.dat deleted file mode 100644 index 11df75712d8a765e5721e77700aab94c8456d3a1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 656 zcmb`@y^4cC6b0buC>npp(XraMu@gHxu@Vuh5JbdEf(jNE0TnDP@dcRjlq(Owj1@(e5t1YbMNtrV zp5u;dIF9E9K@=gBB!pyHQ7~55{Lg=uWf+>KC;&*3AP#E?f+PW;D4J#%mi=q~`+o0l zZ0p+SR^8Az889q!4%4#FgF4A3+cO_-R8GyQUW`b)hhDejy?C{kukCnFiy;nfz}Jha z?S1EpW2=2_=gYJI-7j-&Y+CMkp4&9;*YQa{m0tK@w}?9PcPs=i2-_Om0 AjQ{`u diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv1_2.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv1_2.dat deleted file mode 100644 index 851c3fa2b8b7d91e171ab0a98ed4ffd0f0be7aab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 656 zcmb`@y^4cC6b0buC>sA~#%kZjPVDT&N<^$e5D_a0Dp*(qRIsqf6Zr_17M3Y2EVBl8 zAp{pv?D?uW4BX3AvAPSveTuwK688!GXSm~MSY|_08$fP|!$wsxMhHShk!48|MM2lVQ8A703b<%IIJNEk_3RFXqsVI_OJQx`@O%h zt!txObwlH1z_83YOv^qG>LiUJyhPAxV;DMZs8I^FRL~WEh&JC;&*3AP#E?f+PW;D4J#%2>+V@zTf*B z+qyQoRW~$F1`Nxb!?f)4piZ*M_RNPHl~Z%77bDW{q1P>W?^o@7(F@=Qw;@i8@ocp? zcCJC)=V>{ImI(|e8=9&cU0uWWl6&1fjI_l#)l(Cd57#p%JIS8?YdfCPVu*tq@b#i< zd*8X@*lJ(f`SR?4_sbj`o0dDC=QfS|b$pUfr58Tn7C}UktgQFPiYy`Vr-j1TH_zFE AlK=n! diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv20_0.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv20_0.dat deleted file mode 100644 index 12963c2b70a38388348ff0dcda594ed99ff80cac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26096 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 a&D(eKZ9MrukH{Cle06BqtZNLaA& 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 diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv20_2.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv20_2.dat deleted file mode 100644 index e6074eaa9589f52bd7995ff604a883076fe30e93..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26105 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 HAAkP^@XcUu diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv20_3.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv20_3.dat deleted file mode 100644 index 60acb51ada57796086a48cc028c66b51700e300e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26100 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 BU~m8c diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv21_0.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv21_0.dat deleted file mode 100644 index 487b8f230ee88d34e1ea56f786a46295bc6f043d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 27804 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 diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv21_1.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv21_1.dat deleted file mode 100644 index 54003fc4f91b1c7f01078cdfe2711b7f68dadad4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 27795 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 QUD3RGH@iG8UJ3E~AE+MH>Hq)$ diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv21_2.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv21_2.dat deleted file mode 100644 index 33003315ee3477a6f3a414f13eaeaf33b2a48fda..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 27812 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 P{(mznTW@~&A3ggQS$Ea! diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv21_3.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv21_3.dat deleted file mode 100644 index fa344525d926c9d4ba1349dc7f76cfcfb8ef3100..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 27810 zcmeI3Nl#SU*T%1wMnO>�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 vU%oM3-d%c8iK-R*6e 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 diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv22_1.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv22_1.dat deleted file mode 100644 index 690ff6366d..0000000000 --- a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv22_1.dat +++ /dev/null @@ -1,209 +0,0 @@ -hghghghghghghghghghghghgfefefefefefefefefefefefedcdcdcdcdcdcdcdcbabababababababa_`_`_`_`_`_`_`_`]]]]]]^]^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMNMNMNMLKLKLKLKLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIGHGHGGGGGHGHGHGHFEFEFEFEFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCDCDCDCDCBABABABABABABABABABABABA@?@?@?@?@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:9:9:9:9:987878787878787878765656565656565656565654343434343434343434343432121212121212121/0/0/////0/0/0/0.-.-.-.-.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)*)*)*)*)('('('('('('('('('('('('&%&%&%&%&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!"!"!"!"!         hghghghghghghghghghghghgfefefefefefefefefefefefedcdcdcdcdcdcdcdcbabababababababa_`_`_`_`_`_`_`_`^]^]^]^]^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMNMNMNMNMLKLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIJIJIJIGGHGHGHGGHGHGHGHFEFEFEFEFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCDCDCDCDCBABABABABABABABABABABABA@?@?@?@?@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:9:987878787878787878787876565656565656565656565654343434343434343432121212121212121212121//0/0/0//0/0/0/0.-.-.-.-.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)*)*)*)*)('('('('('('('('('('('('&%&%&%&%&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!"!           hghghghghghghghghghghghgfefefefefefefefefefefefedcdcdcdcdcdcdcdcbabababababababa_`_______`_`_`_`^]^]^]^]^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMNMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIJIJIJIJIHGHGHGHGGHGGGGGGFEFEFEFEFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCDCDCDCDCBABABABABABABABABABABABA@?@?@?@?@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:9:9:9:987878787878787878787878765656565656565656565656543434343434343432121212121212121212121210/0/0/0//0//////.-.-.-.-.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)*)*)*)*)('('('('('('('('('('('('&%&%&%&%&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!"!"!"!            hghghghghghghghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcdcdcdcdcbabababababababa`_`_`_`__`_`_`_`^]^]^]^]^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMNMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCDCDCDCDCBABABABABABABABABABABABA@?@?@?@?@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:9:9:9:9:987878787878787878787878765656565656565656565656543434343434343432121212121212121210/0/0/0/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)*)*)*)*)('('('('('('('('('('('('&%&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!"!"!"!"!            hghghghghghghghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcbabababababababababababa`_`_`_`_______`_^]^]^]^]^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMNMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIHGGGGGGHHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCDCDCDCDCBABABABABABABABABABABABA@?@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:9:9:9:9:9878787878787878787878787656565656565656565656565434343434343434321212121212121210//////00/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)*)*)*)*)('('('('('('('('('&%&%&%&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!"!"!"!"!            hghghghghghghghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMNMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIGHGHGHGHHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCDCDCDCDCBABABABABABABABABA@?@?@?@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:9:9:9:9:987878787878787878787878765656565656565656565656543434343434343432121212121212121/0/0/0/00/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)*)('('('('('('('('('('('&%&%&%&%&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!"!"!"!"!            hghghghghghghghgfefefefefefefefefefefefedcdcdcdcdcdcdcdcbabababababababa_____`_``_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMNMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIGHGHGHGHGGGGGHGHHGHGHGGGFEFEFEFEFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCDCBABABABABABABABABABABA@?@?@?@?@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:9:9:9:9:987878787878787878787878765656565656565656565656543434343434343432121212121212121/0/0/0/0/////0/00/0/0///.-.-.-.-.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)*)*)*)('('('('('('('('('('('('&%&%&%&%&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!"!"!"!"!            hghghghghghghghgfefefefefefefefefefefefedcdcdcdcdcdcdcdcbabababababababa_`_`_`_``_`_`___`_`_`_`_^]^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMNMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIGHGHGHGHGHGHGHGHGGHGHGHGFEFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCDCDCDCBABABABABABABABABABABABA@?@?@?@?@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:9:9:9:9:987878787878787878787878765656565656565656565656543434343434343432121212121212121/0/0/0/0/0/0/0/0//0/0/0/.-.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)*)*)*)*)('('('('('('('('('('('('&%&%&%&%&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!"!"!"!"!            hghghghghghghghgfefefefefefefefefefefefedcdcdcdcdcdcdcdcbabababababababa_`_`_`_`___`_`_``_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMNMLKLKLKLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIGHGHGHGHGHGHGHGHHGFEFEFEFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCDCDCDCDCBABABABABABABABABABABABA@?@?@?@?@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:9:9:9:9:987878787878787878787878765656565656565656543434343434343434343432121212121212121/0/0/0/0/0/0/0/00/.-.-.-.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)*)*)*)*)('('('('('('('('('('('('&%&%&%&%&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!"!"!"!"!                        - - - - - - - - - - - -             - - - - - - - - - - - -             - - - - - - - - - - - -             - - - - - - - - -             - - - - - - - - - - -          - - - - - - - - - - - -            - - - - - - - - - - - -             - - - - - - - - - - - -             - - - - - - - - - - - - hhggffeeDDCCBBAA 99::;;<<]]^^__``FFEEDDCC""##$$%%PPQQRRSSVUUTTSSR-,,++**)(())**++LLMMNNOOaa``__^^==<<;;:: 00112233TTUUVVWWYYXXWWVV554433228899::;;\\]]^^__QQPPOONN--,,++** @@AABBCCddeeffggIIHHGGFF%%$$##""$$%%&&''HHIIJJKKee__^^]]776655// ))**++,,WWXXYYZZONNMMLKJ&%%$$##"(())**++LLMMNNOOaa``__^^==<<;;:: 00112233TTUUVVWWYYXXWWVV554433228899::;;\\]]^^__QQPPOONN--,,++** @@AABBCCddeeffggIIHHGGFF%%$$##""$$%%&&''HHIIJJKKee__^^]]776655// ))**++,,WWXXYYZZONNMMLKJ&%%$$##"(())**++LLMMNNOOaa``__^^==<<;;:: 00112233TTUUVVWWYYXXWWVV554433228899::;;\\]]^^__QQPPOONN--,,++** @@AABBCCddeeffggIIHHGGFF%%$$##""$$%%&&''HHIIJJKKee__^^]]776655// ))**++,,WWXXYYZZONNMMLKJ&%%$$##"ddccbbaa@@??>>====>>??@@aabbccddBBAA@@??&&''(())TTUUVVWWRQQPPOON)((''&&% - - ,,--..//PPQQRRSS]]\\[[ZZ9988776644556677XXYYZZ[[UUTTSSRR1100//.. - -<<==>>??``aabbccMMLLKKJJ))((''&& !!""##DDEEFFGGhhhhggffEEDDCCBB!! (())**++LLMMNNOO\\[[ZZYY..--,,++--..//55[[\\]]^^IHGGFFEE"!!  - - ,,--..//PPQQRRSS]]\\[[ZZ9988776644556677XXYYZZ[[UUTTSSRR1100//.. - -<<==>>??``aabbccMMLLKKJJ))((''&& !!""##DDEEFFGGhhhhggffEEDDCCBB!! (())**++LLMMNNOO\\[[ZZYY..--,,++--..//55[[\\]]^^IHGGFFEE"!!  - - ,,--..//PPQQRRSS]]\\[[ZZ9988776644556677XXYYZZ[[UUTTSSRR1100//.. - -<<==>>??``aabbccMMLLKKJJ))((''&& !!""##DDEEFFGGhhhhggffEEDDCCBB!! (())**++LLMMNNOO\\[[ZZYY..--,,++--..//55[[\\]]^^IHGGFFEE"!! ``__^^]]<<;;::99 AABBCCDDeeffgghh>>==<<;; **++,,--XXYYZZ[[NMMLKJIH%$$##""! 00112233TTUUVVWWYYXXWWVV554433228899::;;\\]]^^__QQPPOONN--,,++** @@AABBCCddeeffggIIHHGGFF%%$$##""$$%%&&''HHIIJJKKeeddccbbAA@@??>> - - ,,--..//PPQQRRSSXXWWVVUU**))(('' - - 66778899__eeffggDDCCBBAA 00112233TTUUVVWWYYXXWWVV554433228899::;;\\]]^^__QQPPOONN--,,++** @@AABBCCddeeffggIIHHGGFF%%$$##""$$%%&&''HHIIJJKKeeddccbbAA@@??>> - - ,,--..//PPQQRRSSXXWWVVUU**))(('' - - 66778899__eeffggDDCCBBAA 00112233TTUUVVWWYYXXWWVV554433228899::;;\\]]^^__QQPPOONN--,,++** @@AABBCCddeeffggIIHHGGFF%%$$##""$$%%&&''HHIIJJKKeeddccbbAA@@??>> - - ,,--..//PPQQRRSSXXWWVVUU**))(('' - - 66778899__eeffggDDCCBBAA\\[[ZZYY88776655!!""##$$EEFFGGHHhhggffee::998877 - - ..//5566\\]]^^__GGFFEEDD! 44556677XXYYZZ[[UUTTSSRR1100//.. - -<<==>>??``aabbccMMLLKKJJ))((''&& !!""##DDEEFFGGhhhhggffEEDDCCBB!! (())**++LLMMNNOOaa``__^^==<<;;:: 00112233TTUUVVWWTTSSRRQQ&&%%$$## ::;;<<==hhhhggff@@??>>==44556677XXYYZZ[[UUTTSSRR1100//.. - -<<==>>??``aabbccMMLLKKJJ))((''&& !!""##DDEEFFGGhhhhggffEEDDCCBB!! (())**++LLMMNNOOaa``__^^==<<;;:: 00112233TTUUVVWWTTSSRRQQ&&%%$$## ::;;<<==hhhhggff@@??>>==44556677XXYYZZ[[UUTTSSRR1100//.. - -<<==>>??``aabbccMMLLKKJJ))((''&& !!""##DDEEFFGGhhhhggffEEDDCCBB!! (())**++LLMMNNOOaa``__^^==<<;;:: 00112233TTUUVVWWTTSSRRQQ&&%%$$## ::;;<<==hhhhggff@@??>>== - - XXWWVVUU44332211 %%&&''((IIJJKKLL__^^]]\\6655//.. - - 778899::eeffgghhCCBBAA@@8899::;;\\]]^^__QQPPOONN--,,++** @@AABBCCddeeffggIIHHGGFF%%$$##""$$%%&&''HHIIJJKKeeddccbbAA@@??>> - - ,,--..//PPQQRRSS]]\\[[ZZ9988776644556677XXYYZZ[[PPOONNMM""!! >>??@@AAeedcba`_<<;;::998899::;;\\]]^^__QQPPOONN--,,++** @@AABBCCddeeffggIIHHGGFF%%$$##""$$%%&&''HHIIJJKKeeddccbbAA@@??>> - - ,,--..//PPQQRRSS]]\\[[ZZ9988776644556677XXYYZZ[[PPOONNMM""!! >>??@@AAeedcba`_<<;;::998899::;;\\]]^^__QQPPOONN--,,++** @@AABBCCddeeffggIIHHGGFF%%$$##""$$%%&&''HHIIJJKKeeddccbbAA@@??>> - - ,,--..//PPQQRRSS]]\\[[ZZ9988776644556677XXYYZZ[[PPOONNMM""!! >>??@@AAeedcba`_<<;;::99 TTSSRRQQ00//..-- - - ))**++,,MMNNOOPP[[ZZYYXX--,,++** ;;<<==>>hhggffee??>>==<<<<==>>??``aabbccMMLLKKJJ))((''&& !!""##DDEEFFGGhhhhggffEEDDCCBB!! (())**++LLMMNNOOaa``__^^==<<;;:: 00112233TTUUVVWWYYXXWWVV554433228899::;;\\]]^^__GGFFEEDDBBCCDDEE_^^]]\\[88776655 <<==>>??``aabbccMMLLKKJJ))((''&& !!""##DDEEFFGGhhhhggffEEDDCCBB!! (())**++LLMMNNOOaa``__^^==<<;;:: 00112233TTUUVVWWYYXXWWVV554433228899::;;\\]]^^__GGFFEEDDBBCCDDEE_^^]]\\[88776655 <<==>>??``aabbccMMLLKKJJ))((''&& !!""##DDEEFFGGhhhhggffEEDDCCBB!! (())**++LLMMNNOOaa``__^^==<<;;:: 00112233TTUUVVWWYYXXWWVV554433228899::;;\\]]^^__GGFFEEDDBBCCDDEE_^^]]\\[88776655 PPOONNMM,,++**)) - - --..//00QQRRSSTTWWVVUUTT))((''&&??@@AABBdcba`__^;;::9988@@AABBCCddeeffggIIHHGGFF%%$$##""$$%%&&''HHIIJJKKeeddccbbAA@@??>> - - ,,--..//PPQQRRSS]]\\[[ZZ9988776644556677XXYYZZ[[UUTTSSRR1100//.. - -<<==>>??``aabbccCCBBAA@@ FFGGMMNN[ZZYYXXW43210//. - - @@AABBCCddeeffggIIHHGGFF%%$$##""$$%%&&''HHIIJJKKeeddccbbAA@@??>> - - ,,--..//PPQQRRSS]]\\[[ZZ9988776644556677XXYYZZ[[UUTTSSRR1100//.. - -<<==>>??``aabbccCCBBAA@@ FFGGMMNN[ZZYYXXW43210//. - - @@AABBCCddeeffggIIHHGGFF%%$$##""$$%%&&''HHIIJJKKeeddccbbAA@@??>> - - ,,--..//PPQQRRSS]]\\[[ZZ9988776644556677XXYYZZ[[UUTTSSRR1100//.. - -<<==>>??``aabbccCCBBAA@@ FFGGMMNN[ZZYYXXW43210//. - - LLKKJJII((''&&%% 11223344UUVVWWXXSSRRQQPP%%$$##""CCDDEEFF^]]\\[[Z77665543 !!""##DDEEFFGGhhhhggffEEDDCCBB!! (())**++LLMMNNOOaa``__^^==<<;;:: 00112233TTUUVVWWYYXXWWVV554433228899::;;\\]]^^__QQPPOONN--,,++** @@AABBCCddeeffgg??>>==<<!!""##$$OOPPQQRRWVVUUTTS.--,,++* !!""##DDEEFFGGhhhhggffEEDDCCBB!! (())**++LLMMNNOOaa``__^^==<<;;:: 00112233TTUUVVWWYYXXWWVV554433228899::;;\\]]^^__QQPPOONN--,,++** @@AABBCCddeeffgg??>>==<<!!""##$$OOPPQQRRWVVUUTTS.--,,++* !!""##DDEEFFGGhhhhggffEEDDCCBB!! (())**++LLMMNNOOaa``__^^==<<;;:: 00112233TTUUVVWWYYXXWWVV554433228899::;;\\]]^^__QQPPOONN--,,++** @@AABBCCddeeffgg??>>==<<!!""##$$OOPPQQRRWVVUUTTS.--,,++*HHGGFFEE$$##""!!55667788YYZZ[[\\OONNMMGG!!  !!GGMMNNOOZYYXXWWV210//..- - - $$%%&&''HHIIJJKKeeddccbbAA@@??>> - - ,,--..//PPQQRRSS]]\\[[ZZ9988776644556677XXYYZZ[[UUTTSSRR1100//.. - -<<==>>??``aabbccMMLLKKJJ))((''&& !!""##DDEEFFGGhhhhggff;;::9988 - -%%&&''((SSTTUUVVSRRQQPPO*))((''&$$%%&&''HHIIJJKKeeddccbbAA@@??>> - - ,,--..//PPQQRRSS]]\\[[ZZ9988776644556677XXYYZZ[[UUTTSSRR1100//.. - -<<==>>??``aabbccMMLLKKJJ))((''&& !!""##DDEEFFGGhhhhggff;;::9988 - -%%&&''((SSTTUUVVSRRQQPPO*))((''&$$%%&&''HHIIJJKKeeddccbbAA@@??>> - - ,,--..//PPQQRRSS]]\\[[ZZ9988776644556677XXYYZZ[[UUTTSSRR1100//.. - -<<==>>??``aabbccMMLLKKJJ))((''&& !!""##DDEEFFGGhhhhggff;;::9988 - -%%&&''((SSTTUUVVSRRQQPPO*))((''& !!""##DDEEFFGGhhhhggffEEDDCCBB!! (())**++LLMMNNOOaa``__^^==<<;;:: 00112233TTUUVVWWYYXXWWVV554433228899::;;\\]]^^__DDCCBBAA$$%%&&''RRSSTTUUEEDDCCBB!! 8899::;;$$%%&&''HHIIJJKKeeddccbbAA@@??>> - - ,,--..//PPQQRRSS]]\\[[ZZ9988776644556677XXYYZZ[[UUTTSSRR1100//.. - -<<==>>??``aabbcc@@??>>==(())**++VVWWXXYYAA@@??>><<==>>??(())**++LLMMNNOOaa``__^^==<<;;:: 00112233TTUUVVWWYYXXWWVV554433228899::;;\\]]^^__QQPPOONN--,,++** @@AABBCCddeeffgg<<;;::99 ,,--..//ZZ[[\\]]==<<;;::@@AABBCC,,--..//PPQQRRSS]]\\[[ZZ9988776644556677XXYYZZ[[UUTTSSRR1100//.. - -<<==>>??``aabbccMMLLKKJJ))((''&& !!""##DDEEFFGGhh``__^^88776655 - - - -55667788]]\\[[ZZ99887766 !!""##DDEEFFGG00112233TTUUVVWWYYXXWWVV554433228899::;;\\]]^^__QQPPOONN--,,++** @@AABBCCddeeffggIIHHGGFF%%$$##""$$%%&&''HHIIJJKK]]\\[[ZZ//..--,, 99::;;<>??``aabbccMMLLKKJJ))((''&& !!""##DDEEFFGGhhhhggffEEDDCCBB!! (())**++LLMMNNOOYYXXWWVV++**))((==>>??@@UUTTSSRR1100//.. - -(())**++LLMMNNOO8899::;;\\]]^^__QQPPOONN--,,++** @@AABBCCddeeffggIIHHGGFF%%$$##""$$%%&&''HHIIJJKKeeddccbbAA@@??>> - - ,,--..//PPQQRRSSUUTTSSRR''&&%%$$AABBCCDDQQPPOONN--,,++** - - ,,--..//PPQQRRSS<<==>>??``aabbccMMLLKKJJ))((''&& !!""##DDEEFFGGhhhhggffEEDDCCBB!! (())**++LLMMNNOOaa``__^^==<<;;:: 00112233TTUUVVWWQQPPOONN##""!! EEFFGGMMMMLLKKJJ))((''&& 00112233TTUUVVWW@@AABBCCddeeffggIIHHGGFF%%$$##""$$%%&&''HHIIJJKKeeddccbbAA@@??>> - - ,,--..//PPQQRRSS]]\\[[ZZ9988776644556677XXYYZZ[[MMGGFFEE !!""##NNOOPPQQIIHHGGFF%%$$##""44556677XXYYZZ[[\\]]ZHAbZHAbZHAb|ZdQb|ZdQb|ZdQbv`fHXv`˂rXQZp˂tbdQdrtnvffH~fH~XQr˂XQr˂XQr˂btlbtlbtlHfpvHfpvHfpvZp˂Zp˂Zp˂|dr|dr|dtAfH~fH~fH~XQr˂XQr˂rbtbtlbtlHXv`~HX`pvbHAZ`ےbrtAJtbdQpfHfH~fH~XQr˂XQr˂XQr˂btlbtlbtlHfpvHfpvHfpvZp˂Zp˂Zp˂|dr|dr|dtAfH~fH~fH~XQr˂XQr˂rbtbtlbtlHXv`~HX`pvbHAZ`ےbrtAJtbdQpfHfH~fH~XQr˂XQr˂XQr˂btlbtlbtlHfpvHfpvHfpvZp˂Zp˂Zp˂|dr|dr|dtAfH~fH~fH~XQr˂XQr˂rbtbtlbtlHXv`~HX`pvbHAZ`ےbrtAJtbdQے`JXQے`JXQے`JXQtlJtlJtlJ~Hfpf~HJ`ےrXQJ`Z|dAJltf`vXf`vXf`vXpZHAbpZHAbpZHAbJtArdJtArdJtArdnXvnXvnXvrXQJ`rXQJ`rXQJ`tAJltAJlJltf`vXf`vXfZHAbpZHAbpZHAblJtAdJtArdJtArdf~Hv`fnrXQJp˂HAZp˂bdQZ|Z|df`vXf`vXf`vXpZHAbpZHAbpZHAbJtArdJtArdJtArdnXvnXvnXvrXQJ`rXQJ`rXQJ`tAJltAJlJltf`vXf`vXfZHAbpZHAbpZHAblJtAdJtArdJtArdf~Hv`fnrXQJp˂HAZp˂bdQZ|Z|df`vXf`vXf`vXpZHAbpZHAbpZHAbJtArdJtArdJtArdnXvnXvnXvrXQJ`rXQJ`rXQJ`tAJltAJlJltf`vXf`vXfZHAbpZHAbpZHAblJtAdJtArdJtArdf~Hv`fnrXQJp˂HAZp˂bdQZ|Z|dr˂pr˂pr˂ptArdtArdtArdvnXfpvbHAZpےbHArtAJbbdQZ|nvpnvpnvpے`Jے`Jے`J|ZdQ|ZdQ|ZdQ`f~`f~`fHےbHAےbHAےbHAtbdQZtbdQZbnvnvpnvpے`Jے`Jے`J|ZdQ|ZdQ|ZdQfpv~Hfp`p˂bHAZpbHAdrtArtAJbnvpnvpnvpے`Jے`Jے`J|ZdQ|ZdQ|ZdQ`f~`f~`fHےbHAےbHAےbHAtbdQZtbdQZbnvnvpnvpے`Jے`Jے`J|ZdQ|ZdQ|ZdQfpv~Hfp`p˂bHAZpbHAdrtArtAJbnvpnvpnvpے`Jے`Jے`J|ZdQ|ZdQ|ZdQ`f~`f~`fHےbHAےbHAےbHAtbdQZtbdQZbnvnvpnvpے`Jے`Jے`J|ZdQ|ZdQ|ZdQfpv~Hfp`p˂bHAZpbHAdrtArtAJbpfHZHAbZHAbZHAb|ZdQb|ZdQbf~Hv`fnXv`˂bZp˂dQZ|drtfH~fH~fH~XQr˂XQr˂XQr˂btlbtlbtlHfpvHfpvfpvZp˂Zp˂Zdr|dr|drpfHfH~fH~XQr˂XQr˂XQr˂btlbtlbtlnXv`vnXrXQJ`˂rXQZdrJltdQZ|fH~fH~fH~XQr˂XQr˂XQr˂btlbtlbtlHfpvHfpvfpvZp˂Zp˂Zdr|dr|drpfHfH~fH~XQr˂XQr˂XQr˂btlbtlbtlnXv`vnXrXQJ`˂rXQZdrJltdQZ|fH~fH~fH~XQr˂XQr˂XQr˂btlbtlbtlHfpvHfpvfpvZp˂Zp˂Zdr|dr|drpfHfH~fH~XQr˂XQr˂XQr˂btlbtlbtlnXv`vnXrXQJ`˂rXQZdrJltdQZ|f`vXے`JXQے`JXQے`JXQtlJtlJXv`f~HXvp˂rHAZp˂bHAZdrtAJAJbdQf`vXf`vXf`vXpZHAbpZHAbpZHAJtArdJtArdJtArdnXvnXvnrXQJrXQJ`rXQJ`tAJltAJltAJlf`vXf`vXf`vXpZHAbpZHAbpZHAbJtArdJtArdJtArdf~Hv`fےbHAJ`ےtAJbdbdQZ|drtAJf`vXf`vXf`vXpZHAbpZHAbpZHAJtArdJtArdJtArdnXvnXvnrXQJrXQJ`rXQJ`tAJltAJltAJlf`vXf`vXf`vXpZHAbpZHAbpZHAbJtArdJtArdJtArdf~Hv`fےbHAJ`ےtAJbdbdQZ|drtAJf`vXf`vXf`vXpZHAbpZHAbpZHAJtArdJtArdJtArdnXvnXvnrXQJrXQJ`rXQJ`tAJltAJltAJlf`vXf`vXf`vXpZHAbpZHAbpZHAbJtArdJtArdJtArdf~Hv`fےbHAJ`ےtAJbdbdQZ|drtAJnvpr˂pr˂pr˂ptArdtArd~Hf`f~XQJ`ےrXQJdrtAltbZ|dnvpnvpnvpے`Jے`Jے`JXQ|ZdQ|ZdQf~`f~`f~`ےHAےbHAےbHAtbdQZtbdQZtbdQZnvpnvpnvpے`Jے`Jے`J|ZdQ|ZdQ|ZdQXv`f~HXvZp˂bHAZpQZ|ddrtAltbnvpnvpnvpے`Jے`Jے`JXQ|ZdQ|ZdQf~`f~`f~`ےHAےbHAےbHAtbdQZtbdQZtbdQZnvpnvpnvpے`Jے`Jے`J|ZdQ|ZdQ|ZdQXv`f~HXvZp˂bHAZpQZ|ddrtAltbnvpnvpnvpے`Jے`Jے`JXQ|ZdQ|ZdQf~`f~`f~`ےHAےbHAےbHAtbdQZtbdQZtbdQZnvpnvpnvpے`Jے`Jے`J|ZdQ|ZdQ|ZdQXv`f~HXvZp˂bHAZpQZ|ddrtAltbfH~ZHAbZHAb|ZdQb|ZdQb|ZdQbpvnHfpvbHAZ`ےbJbdQdQZ|rtAJlfH~fH~fH~XQr˂XQr˂rbtbtlbtlHfpvHfpvHfpvZp˂Zp˂Zp˂|dr|dr|drfH~fH~fH~XQr˂XQr˂XQr˂btlbtlbtl~Hf`f~bHAZ˂brtAJlJbdQdQZ|fH~fH~fH~XQr˂XQr˂rbtbtlbtlHfpvHfpvHfpvZp˂Zp˂Zp˂|dr|dr|drfH~fH~fH~XQr˂XQr˂XQr˂btlbtlbtl~Hf`f~bHAZ˂brtAJlJbdQdQZ|fH~fH~fH~XQr˂XQr˂rbtbtlbtlHfpvHfpvHfpvZp˂Zp˂Zp˂|dr|dr|drfH~fH~fH~XQr˂XQr˂XQr˂btlbtlbtl~Hf`f~bHAZ˂brtAJlJbdQdQZ|f`vXے`JXQے`JXQtlJtlJtlJXv`fnXvp˂HAZp˂Z|ddrtAJtbdQf`vXf`vXfZHAbpZHAbpZHAblJtAdJtArdJtArdnXvnXvnXvrXQJ`rXQJ`rXQJ`tAJltAJltAJlf`vXf`vXf`vXpZHAbpZHAbpZHAJtArdJtArdJtArdpvnHfpvp˂rHAZp˂tbdZ|dAJltf`vXf`vXfZHAbpZHAbpZHAblJtAdJtArdJtArdnXvnXvnXvrXQJ`rXQJ`rXQJ`tAJltAJltAJlf`vXf`vXf`vXpZHAbpZHAbpZHAJtArdJtArdJtArdpvnHfpvp˂rHAZp˂tbdZ|dAJltf`vXf`vXfZHAbpZHAbpZHAblJtAdJtArdJtArdnXvnXvnXvrXQJ`rXQJ`rXQJ`tAJltAJltAJlf`vXf`vXf`vXpZHAbpZHAbpZHAJtArdJtArdJtArdpvnHfpvp˂rHAZp˂tbdZ|dAJltnvpr˂pr˂ptArdtArdtArd~HX`f~bHAZpbHArtAJl璉bdQZ|Z|dnvpnvpے`Jے`Jے`J|ZdQ|ZdQ|ZdQ`f~`f~`f~ےbHAےbHAےbHAtbdQZtbdQZtbdQZnvpnvpnvpے`Jے`Jے`JXQ|ZdQ|ZdQf~Xv`fnXvXQJ`ےrXQJQZ|drtAJlbnvnvpnvpے`Jے`Jے`J|ZdQ|ZdQ|ZdQ`f~`f~`f~ےbHAےbHAےbHAtbdQZtbdQZtbdQZnvpnvpnvpے`Jے`Jے`JXQ|ZdQ|ZdQf~Xv`fnXvXQJ`ےrXQJQZ|drtAJlbnvnvpnvpے`Jے`Jے`J|ZdQ|ZdQ|ZdQ`f~`f~`f~ےbHAےbHAےbHAtbdQZtbdQZtbdQZnvpnvpnvpے`Jے`Jے`JXQ|ZdQ|ZdQf~Xv`fnXvXQJ`ےrXQJQZ|drtAJlbnvfH~f`vXf`vXfZHAbpZHAbpZHAblJtAdJtArdJtArdnXvnXvnXvrXQJ`rXQJ`rXQJ`tAJltAJltAJlf`vXf`vXf`vXZHAb˂pZHAb㉀ۑpZQXb㉀pfH~pfH~Z|dZ|dnvpnvpے`Jے`Jے`J|ZdQ|ZdQ|ZdQ`f~`f~`f~ےbHAےbHAےbHAtbdQZtbdQZtbdQZnvpnvpnvpے`JXQbے`JAHr󙐒ۑpJAHf۝`vf۝`vrQtJlrQtJlfH~fH~XQr˂XQr˂XQr˂btlbtlbtlHfpvHfpvHfpvZp˂Zp˂Zp˂|dr|dr|dtAfH~fH~fH~r˂pJXQrˁ`ZQXr󙐂ˁ`Xnv˅Xnv˒tbAdtbAdf`vXf`vXpZHAbpZHAbpZHAbJtArdJtArdJtArdnXvnXvnXvrXQJ`rXQJ`rXQJ`tAJltAJlJltf`vXf`vXfr˂ZHAb˂p`ZAHr󙐂ˍpfH~pfH~pfH~Z|dZ|dnvpnvpے`Jے`Jے`J|ZdQ|ZdQ|ZdQ`f~`f~`fHےbHAےbHAےbHAtbdQZtbdQZbnvnvpnvppZHAb˂pZQXb㉀ہ`ZQXbㅐf۝`vf۝`vf۝`vrQtJlrQtJlfH~fH~XQr˂XQr˂XQr˂btlbtlbtlHfpvHfpvfpvZp˂Zp˂Zdr|dr|drpfHfH~fH~ے`JHAbےpJAHr󉀒ۑpJXnv˅Xnv˅Xnv˒tbAdtbAdf`vXf`vXpZHAbpZHAbpZHAJtArdJtArdJtArdnXvnXvnrXQJrXQJ`rXQJ`tAJltAJltAJlf`vXf`vXf`vXXQr˂`JXQrˁ`ZAHr󙐂ˍpfH~pfH~p|dZ|dZ|dnvpnvpے`Jے`Jے`JXQ|ZdQ|ZdQf~`f~`f~`ےHAےbHAےbHAtbdQZtbdQZtbdQZnvpnvpnvppZHAb˂pZQXAHr󙐁`ZQXAHf۝`vf۝`vrQtJlrQtJlrQtJlfH~fH~XQr˂XQr˂rbtbtlbtlHfpvHfpvHfpvZp˂Zp˂Zp˂|dr|dr|drfH~fH~fH~˂pHAbˁ`ZQXr󙐂ˁ`Xnv˅Xnv˒tbAdtbAdtbAdZ|abcdefghhgfedcb \ No newline at end of file diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv22_2.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv22_2.dat deleted file mode 100644 index 3ea03b9ad9c82f1189aedfc7142e9ff2beb3170d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 30269 zcmeI4%TJSA7sgdIUO+`F0xI6`7w`fCDr!Zfpr}<*K#_ug4o(aq#L>wKk}zOk0wfF= z_!sdfICQ|!0Rx79@9OH$+Eq61+qadYUk-b45=z%zmuIc#*?XJw?(Mte8XnR$(66g6 zq3hL4T|M2px?bpd_EguCxUR>KbUp0Q)!wG-UW+c><=xw?efs1l(Ut0>i`#kTI<-&D3o>;3aKU}-^(OvxaiM1wwVujyF z`;&N*!FT}`dLQP%fBUSAHx~|8%$o-VTc5!$JWOckLA&z`=n?zk?%e_b+YFH^+6Zpy-zA}F1+Qxk17M#d@EEu z=#TV1cbjFQcij7A>M4tBivzol?sB&oJ@wN*NhnYstJ`weCkX}DJ{H&ReOA|p^iRI~ z`03F9&wW~3SI=8tpC1nV^46LHwriiHc=y1N?>;bsbDtF8P>3$P`NhM$@!Ka`A7=7g z*nQw@=9_z;+|F0T!+-BYb=_>zb>q6OYmK@Z>aW(xs=cDC=Ay3Z3%bsq({=iku9GKp z9Y3b)@F86Xt8^XMudAY5*WNN+yLag--KlHGc3s=H>e{kdSJ4JtLH$?n3-5oq{CFY! zvHqtD@aOrzuToYDKL1YsYier3;$OZ0+5bHeS!;&>R0F5|KYK=2(EhdltM~c%fBTj! z*Zi^ln;Jhq@~_^9@;}+aZvRV)W%f)~Q!xLHehBM-l6*Z9SUdkO zUy^0@Pgwse%9VN7%769#Xa7~Vh4mlZkh}lu*U7ruthzI3|62diorU*bb*G)5;9tF8 zzYg6T!vACoyZu+)?AO1p{G*%0`;YF=od4t>{&o3}?*F&^PoG-~?Z2K|;NM@B|6k=l z=dRzw|C*Xy@$GI#+`?&nCNS?aV_a^@S>%EU3|7PD?70Un2dnw;Qx#Kdp&IRk8A#b|KA2bsRE?^U-{md`T6Vp zU-{mg`Dy!?dmsFF-5Un?-*xY=^E2JQs{HNzaoro{@Bhm8{&xPj?hV!ZhI;(Jm^^i* z?@iDTZvTJHy9NHsf8V`(`*wJEXz0?V%a^ZQsjc08=3)R&%HC0sy4(#8*Z{N_+;NY7#0|Up8pEz;yge?AXzxgM&ju z!^3ai-nrAl?5R4ie_y3X$lcvtT`yid ze}3_zdQw?g;r({+-v0hX!h0Efefsp7GiT49J9i}I*gNk>Jim9ZwY8(;;ln+9%F6cc zEic!E_K_w{G7)c<|7n!-tO?*}Z$$uF}$-JLB=kj~_jH z_^_ctJ<;Fp*x`y3drzM}d)C?c{P}?cRaIhBv(niajcP`Z9zAwUa=v57_U$Dl#l;;R z4<6jV-`;-XhI*pE-L}mYC-z>v=<4e3?&%Sq#inK@9&c%pjK*S8Q_1a?gmoHzv>g|2~8k}fWIy&0g+S~8nfABzRD%e`LenZj5 zO`A8jwA{Vh+(F1~>~`a!eO(jwT9+6lI$;w2^8Nli^RZd|{9 z?b?F}>Pb=2#*Ld+iBn=1-@N{MGti&tqaQRY(WqcUYA4v1iql_>jSUU;^;fSdN}oRU zi&J73-;&_=z(+r5R+^dw8&W&Lwp5({s;jH5y>jL9Wku4)oWVGpA3VI(717 zBB7r6#d-Fue#09f9`x_G(+`@J3m2H%)Per8bJ#D=lPC2XZOQI#X`vr9D`(E=^n3M+ zI?!Ks4*SJ<^r(IV9Mcb)l@lj~V+0`7f&L20H^k{tR+aDuIHnHDPDhRi#|S{E6a5vG zZ-^7#0LRoJMVnQ^F#-_kM1S!;H{WFPD!c)Xse`g`WuO4=i(OLRIxLLSUr{AqxIxSv2 zr@#F8#>UA!PqooWbct}YaHmec>(_N!Jbglc`SFd7v#3bhNJjS7|9YQC(P3!MubI=`ZpSlvhTEv{C;ghD=`-{fa~PcX#i^%`#zxx@#7V!VX!->G zl`F66siUdM_JhWG@gn`2IxZcdzjEbOJ#|E*wjXRAtsi#&fP1S03&m4@eIy!ButGlv z?E~saKUsZQDE{;7PtlHoLGoTG-C8JK_3L}lq%s4^d(gfGcP>3#D8BZaCvxW?vz5FD zod@93rLzmA1N`Px@{+|Et4XTIy&OxGOg}camq0TYjfw}CbC($2P zXZfA4L?a6)lJ~XZ9ee+SuCe;f@7z{gteGP3YsEXZF6bqz3;oW6a@Q-Go4l_T@4%Ow zAJAb|Z~C1xBN1h2^1fEQ17C73ap_pUxm#YYokQN&ig(~k&O0uB>~}7P-?WR1i`R;G z;7iUIF5PYQuARH^8}n|hcn7}Z+~U&nesdRoga6iwci>BOihb{~{q6D#enV$d2Rq+f zbqUKm@FhCMz9ZTGcKOA77CM_c1dTr|@4%NsLwzg0Puc!<`NcaKI-5EKjXx~!z?ZIf zFWcWPzj%LR4pE1o@rUId_|o;BX8YUam%OdW+Xr)qIs}bBEbqXVu6H`y-!8xOm9C?M zIYb?T#vhh<;7iy0pY3m#U-~*2k28m;L(urc@(wzMdsOBSex&<5^F6@&rLT^io#<@p z5H$XU-{oJ z1f9F^Vc7dG?!k!zolPB>Z+xCzm;87KJ>Yt`rN6mHw|?<^;y`Cp2j&}}+q&e-JLrM1 z_g~!G69+n*I{3w(FYllS!rp($o1?r55(he)Ixye(+}0&u-a!w9z5n9AiT5vbHg#aW z@wu%_zPy7T2z&p<`!?qp&e7C?`NrqAF8T5fdf=ery`BEH_bm9uyE*rJoTI4&^Nr7K zUBdH@&Rz5Xa}Iy-gZ_4%LwJuTKF-l{9*y+GqF)E5=f|cNXaAa6Ztsd0wI@D)nf&9GhJFXL|0-Y~o{)XI(#Co|sPkMYMfpc4}ZSK0U90@qIu& z8K3<6zH2V>VQlKV_vvB}cGCVV3{TH3{j)GJJ|(smh7+G6AG+q$i;)@i_WQudjQ+)9 z&)>IKi+`^gWVhbO1!Y~JwKg|~Fx z6j7_??dN!H-oC!qyswP6>3K!L!f>QV8v~qJyjh%N;Vqf>Sk&f?It!+y$Hr2P;li86 ziOrkzo?yl1ZD~}IB0VfU=CxMR6<6LYPHf&ZYl)9GZ!$~9qJuy3CbL8uBW&Ijt=V~F zE@|Gn=Dd-Vbj6*wOq>MG8~r7-KrrW*H}X%sLG#A^R1}PSPUg*~R z-V_C0b25Vk3fN)3fqU$LlXTwH6XLaavw2I=N)$U5_t+s`@&@k^uf^NXc@v+NoyMlH zL*Br>q9D>kyyOkuA>MSKX7V7sq3q<&n~j&e@qOYYZ^TR9h}+u9%v;x7ibfZS7dw34 z=8bsC8*y7Z|#yq!n$Q!s%(ddu7 z@p;g^B|hq$P215({PM;eChwVe8;jb!Q9trVebG6RH^IFZZ?c5sjX7-dMt@)jyx|9S zzzO;gJ31|vC%_x^wR!tKph&?Ecmwy?Azt($c9J60BM$I}pEhqJpC#gK{Xm~%hj_^w zc0|j{Od)UhNxb+=yx74XMZwZ2c8E7@-iQ}F_=7&zyiLq!=S?TJ#@jxF9sDF->P)=Y zp^oG&npF8?p2pVBAaC$bQoMV_fgSwJEpOBF7ANEl{l|Gk6quY?@DrTSAH-|(hCa7A z0dMHl)UjracyrAg`rP7#yn&O{vF2~j*ukV%Mcxv4daM4)wu~i&y>dtEcj%(aGuIFP{@1imY81ez1!! zSQ$V0^YyR74|dTTR%aJV2T&i2L;6thGd>j-Kj;{%-|6p_@e^EMP-kn0d9U3Yi)P~| zzjFcoZRby}x`jHY?PShXx%-k@+xcVbW#OMZcqa3(Y$&{GbbLee4`({(zsJWyKHmqTkWIh31{Kf2vaiKQe>h zZ(ASoXz`=nJFx(Me$*@Vu0-4}yJ2|;|6K1=wm#(1@|Vm`;V?h^P%mpYEbm~4dxWs> z8N$87VSe~=;W8}mfFI^!*msh`;3s$90YBV(_`O@Lj-O~OEPlfBPBwnDlG$}${Tw3P zo18&D^C#P`-spto9mS9PU6K0OId12VcJI`m_WlbTp!;3;N!Lry zJA5x+-a)5?z5fCSoEu&9$JU+i<;y$tPuTk}aDeW2@s|rf`SK3^6ZZaVdR}jCSI1BG zc?bOD%RAsF?EM$-jV}C%x!gyi+LN`58YlgYXNT zOMNVVaSq{q)QKO*d55^e^G;#zzg+l{KHj1~{R3|XhlbyJ|Auc^{s&p9-)`~#Hy(aJ F{{tfdW~=}J diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv22_3.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv22_3.dat deleted file mode 100644 index b23d9198ae6abbebdc79fb9c7fc67f2903139c83..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 30258 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 C&}Om# diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv23_0.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv23_0.dat deleted file mode 100644 index 827fb6eb39328dae704f5fa57c2ca8d4827f2e55..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32797 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 gkbEX$uO_Enzp?(7f!FFUZgj35DpvpNuWs%0A7E@RssI20 diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv23_1.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv23_1.dat deleted file mode 100644 index 766946efe8..0000000000 --- a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv23_1.dat +++ /dev/null @@ -1,217 +0,0 @@ -lklklklklklklklklklklklkjijijijijijijijijijijijihghghghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcdcdcdcdcbabababababababababababa`_`_`_`_`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMNMNMNMNMLKLKLKLKKLKKKKKKJIJIJIJIJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCDCDCDCDCBABABABABABABABABABABABA@?@?@?@?@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:9:9:9:9:987878787878787878787878765656565656565653434343434343434334343432121212121212121212121210/0/0/0/0/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)*)*)*)*)('('('('('('('('('('('('&%&%&%&%&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!"!"!"!"!        lklklklklklklklklklklklkjijijijijijijijijijijijihghghghghghghghgfefefefefefefefecccccdcddcdcdcdcdcdcdcdcbabababababababababababa`_`_`_`_`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMNMLKLKLKLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCDCDCDCDCBABABABABABABABABABABABA@?@?@?@?@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:9:9:9:9:987878787878787878765656565656565656565653434333334343434432121212121212121212121210/0/0/0/0/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)*)*)*)*)('('('('('('('('('('('('&%&%&%&%&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!"!"!"!"!           lklklklklklklklklklklklkjijijijijijijijijijijijihghghghghghghghgfefefefefefefefecdcdcdcddcdcdcccdcdcdcdcbabababababababababababa`_`_`_`_`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMLKKKKKKLLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCDCDCDCDCBABABABABABABABABABABABA@?@?@?@?@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:9:9:9:9:9878787878787878765656565656565656565656533434343343434342121212121212121212121210/0/0/0/0/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)*)*)*)*)('('('('('('('('('('('('&%&%&%&%&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!"!"!"!"!            lklklklklklklklklklklklkjijijijijijijijijijijijihghghghghghghghgfefefefefefefefecdcdcdcdcccdcdcddcdcdcdcbabababababababababababa`_`_`_`_`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMKLKLKLKLLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCDCDCDCDCBABABABABABABABABABABABA@?@?@?@?@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:9:9:9:9:9878787878787878765656565656565656565656543434343343333332121212121212121212121210/0/0/0/0/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)*)*)*)*)('('('('('('('('('('('('&%&%&%&%&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!"!"!"!"!            lklklklklklklklklklklklkjijijijijijijijijijijijihghghghghghghghgfefefefefefefefecdcdcdcdcdcdcdcddcdcdcdcbababababababababa`_`_`_`_`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMKLKLKLKLKKKKKLKLLKLKLKLKJIJIJIJIJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCDCDCDCDCBABABABABABABABABABABABA@?@?@?@?@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:9:9:9:9:9878787878787878765656565656565656543434343434343434343432121212121212121212121210/0/0/0/0/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)*)*)*)*)('('('('('('('('('('('('&%&%&%&%&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!"!"!"!"!         lklklklklklklklklklklklkjijijijijijijijihghghghghghghghghghghghgfefefefefefefefecdcdcdcdcdcdcdcdaaaaaabababababababababa`_`_`_`_`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMKLKLKLKLKLKLKLKLLKLKLKKKJIJIJIJIJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCDCDCDCDCBABABABABABABABABABABABA@?@?@?@?@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:9:9:9:9:9878787878787878765656565656565654333333443434343434343432121212121212121212121210/0/0/0/0/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)*)*)*)*)('('('('('('('('('('('('&%&%&%&%&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!"!"!"!"!        lklklklklklklklklklklklkjijijijijijijijihghghghghghghghghghghghgfefefefefefefefecdcccccccdcdcdcdbabababababababababababa`_`_`_`_`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMKLKLKLKLKLKLKLKLKKLKLKLKJIJIJIJIJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCDCDCDCDCBABABABABABABABABABABABA@?@?@?@?@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:9:9:9:9:9878787878787878765656565656565653434343443434343434343432121212121212121212121210/0/0/0/0/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)*)*)*)*)('('('('('('('('('('('('&%&%&%&%&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!"!"!"!"!        lklklklklklklklkjijijijijijijijijijijijihghghghghghghghgfefefefefefefefefefefefedcdcdcdccdcdcdcdbabababababababababababa`_`_`_`_`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMNMNMNMKLKLKKKKKLKLKLKLLKJIJIJIJIJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCDCDCDCDCBABABABABABABABABABABABA@?@?@?@?@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:9:9:9:9:9878787878787878787878765656565656565653434343433333434434343432121212121212121212121210/0/0/0/0/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)*)*)*)*)('('('('('('('('('('('('&%&%&%&%&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!"!"!"!"!        lklklklklklklklkjijijijijijijijijijijijihghghghghghghghgfefefefefefefefefefefefedcdcdcdcccccccdcbabababababababababababa`_`_`_`_`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMNMNMNMNMKKLKLKLKKLKLKLKLJIJIJIJIJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCDCDCDCDCBABABABABABABABABABABABA@?@?@?@?@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:9:9:9:9:987878787878787878787878765656565656565653434343434343434434343332121212121212121212121210/0/0/0/0/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)*)*)*)*)('('('('('('('('('('('('&%&%&%&%&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!"!"!"!"!                    - - - - - - - - - - - -             - - - - - - - - - - - -             - - - - - - - - - - - -             - - - - - - - - - - - -             - - - - - - - - - - - -             - - - - - - - - - - - -             - - - - - - - - - - - -             - - - - - - - - - - - -             - - - - - - - - - - - - llkkjjiiHHGGFFEE$$##""!!55667788YYZZ[[\\WWVVUUTT))((''&&??@@AABBllkkjjiiCCBBAA@@8899::;;\\]]^^__YYXXWWVV554433228899::;;\\]]^^__YYXXWWVV554433228899::;;\\]]^^__YYXXWWVV554433228899::;;\\]]^^__YYXXWWVV554433228899::;;\\]]^^__TTSSRRQQ&&%%$$## ::;;<<==cciijjkkHHGGFFEE"!!  - - ,,--..//PPQQRRSSeeddccbbAA@@??>> - - ,,--..//PPQQRRSSeeddccbbAA@@??>> - - ,,--..//PPQQRRSSeeddccbbAA@@??>> - - ,,--..//PPQQRRSSeeddccbbAA@@??>> - - ,,--..//PPQQRRSS``__^^]]221100// ))**++,,WWXXYYZZWVVUUTTS.--,,++* !!""##DDEEFFGGhhiijjkkMMLLKKJJ))((''&& !!""##DDEEFFGGhhiijjkkMMLLKKJJ))((''&& !!""##DDEEFFGGhhiijjkkMMLLKKJJ))((''&& !!""##DDEEFFGGhhiijjkkMMLLKKJJ))((''&& !!""##DDEEFFGGhhiijjkkCCBBAA@@FFGGHHIIcbbaa``_<<;;::998899::;;\\]]^^__YYXXWWVV55443322hhggffeeDDCCBBAA 99::;;<<]]^^__``SSRRQQKK%%$$##""CCDDEEFFhgfedccb??>>==<<<<==>>??``aabbccUUTTSSRR1100//.. - -<<==>>??``aabbccUUTTSSRR1100//.. - -<<==>>??``aabbccUUTTSSRR1100//.. - -<<==>>??``aabbccUUTTSSRR1100//.. - -<<==>>??``aabbccKKJJIIHH""!!>>??@@AAllllkkjjDDCCBBAA 00112233TTUUVVWWaa``__^^==<<;;:: 00112233TTUUVVWWaa``__^^==<<;;:: 00112233TTUUVVWWaa``__^^==<<;;:: 00112233TTUUVVWWaa``__^^==<<;;:: 00112233TTUUVVWW\\[[ZZYY..--,,++--..//00[[\\]]^^SRRQQPON*))((''&$$%%&&''HHIIJJKKllllkkjjIIHHGGFF%%$$##""$$%%&&''HHIIJJKKllllkkjjIIHHGGFF%%$$##""$$%%&&''HHIIJJKKllllkkjjIIHHGGFF%%$$##""$$%%&&''HHIIJJKKllllkkjjIIHHGGFF%%$$##""$$%%&&''HHIIJJKKllllkkjj??>>==<<!!""##$$JJKKQQRR_^^]]\\[87654332 <<==>>??``aabbccUUTTSSRR1100//..ddccbbaa@@??>>====>>??@@aabbccddJJIIHHGG!!!!GGHHIIJJbaa``__^;;::9987@@AABBCCddeeffggQQPPOONN--,,++** @@AABBCCddeeffggQQPPOONN--,,++** @@AABBCCddeeffggQQPPOONN--,,++** @@AABBCCddeeffggQQPPOONN--,,++** @@AABBCCddeeffggGGFFEEDDBBCCDDEEiihgfedc@@??>>==44556677XXYYZZ[[]]\\[[ZZ9988776644556677XXYYZZ[[]]\\[[ZZ9988776644556677XXYYZZ[[]]\\[[ZZ9988776644556677XXYYZZ[[]]\\[[ZZ9988776644556677XXYYZZ[[XXWWVVUU**))(('' - - 11223399__``aabbMLKKJJII&%%$$##"(())**++LLMMNNOOiihhggffEEDDCCBB!! (())**++LLMMNNOOiihhggffEEDDCCBB!! (())**++LLMMNNOOiihhggffEEDDCCBB!! (())**++LLMMNNOOiihhggffEEDDCCBB!! (())**++LLMMNNOOiiccbbaa;;::9933 - -%%&&''((SSTTUUVV[ZZYYXXW21100//. - - @@AABBCCddeeffggQQPPOONN--,,++**``__^^]]<<;;::99 AABBCCDDeeffgghhFFEEDDCC""##$$%%KKQQRRSS^]]\\[[Z65433221 !!""##DDEEFFGGhhiijjkkMMLLKKJJ))((''&& !!""##DDEEFFGGhhiijjkkMMLLKKJJ))((''&& !!""##DDEEFFGGhhiijjkkMMLLKKJJ))((''&& !!""##DDEEFFGGhhiijjkkMMLLKKJJ))((''&& !!""##DDEEFFGGhhiijjkkCCBBAA@@FFGGHHIIcbbaa``_<<;;::998899::;;\\]]^^__YYXXWWVV554433228899::;;\\]]^^__YYXXWWVV554433228899::;;\\]]^^__YYXXWWVV554433228899::;;\\]]^^__YYXXWWVV554433228899::;;\\]]^^__TTSSRRQQ&&%%$$## ::;;<<==cciijjkkHHGGFFEE"!!  - - ,,--..//PPQQRRSSeeddccbbAA@@??>> - - ,,--..//PPQQRRSSeeddccbbAA@@??>> - - ,,--..//PPQQRRSSeeddccbbAA@@??>> - - ,,--..//PPQQRRSSeeddccbbAA@@??>> - - ,,--..//PPQQRRSS``__^^]]221100// ))**++,,WWXXYYZZWVVUUTTS.--,,++* !!""##DDEEFFGGhhiijjkkMMLLKKJJ))((''&&\\[[ZZYY88776655!!""##$$EEFFGGHHiijjkkllBBAA@@??&&''(())TTUUVVWWZYYXXWWV100//..- - - $$%%&&''HHIIJJKKllllkkjjIIHHGGFF%%$$##""$$%%&&''HHIIJJKKllllkkjjIIHHGGFF%%$$##""$$%%&&''HHIIJJKKllllkkjjIIHHGGFF%%$$##""$$%%&&''HHIIJJKKllllkkjjIIHHGGFF%%$$##""$$%%&&''HHIIJJKKllllkkjj??>>==<<!!""##$$JJKKQQRR_^^]]\\[87654332 <<==>>??``aabbccUUTTSSRR1100//.. - -<<==>>??``aabbccUUTTSSRR1100//.. - -<<==>>??``aabbccUUTTSSRR1100//.. - -<<==>>??``aabbccUUTTSSRR1100//.. - -<<==>>??``aabbccKKJJIIHH""!!>>??@@AAllllkkjjDDCCBBAA 00112233TTUUVVWWaa``__^^==<<;;:: 00112233TTUUVVWWaa``__^^==<<;;:: 00112233TTUUVVWWaa``__^^==<<;;:: 00112233TTUUVVWWaa``__^^==<<;;:: 00112233TTUUVVWW\\[[ZZYY..--,,++--..//00[[\\]]^^SRRQQPON*))((''&$$%%&&''HHIIJJKKllllkkjjIIHHGGFF%%$$##""XXWWVVUU44332211 %%&&''((IIJJKKLLllkkjjii>>==<<;; **++,,--XXYYZZ[[VUUTTSSR-,,++**)(())**++LLMMNNOOiihhggffEEDDCCBB!! (())**++LLMMNNOOiihhggffEEDDCCBB!! (())**++LLMMNNOOiihhggffEEDDCCBB!! (())**++LLMMNNOOiihhggffEEDDCCBB!! (())**++LLMMNNOOiiccbbaa;;::9933 - -%%&&''((SSTTUUVV[ZZYYXXW21100//. - - @@AABBCCddeeffggQQPPOONN--,,++** @@AABBCCddeeffggQQPPOONN--,,++** @@AABBCCddeeffggQQPPOONN--,,++** @@AABBCCddeeffggQQPPOONN--,,++** @@AABBCCddeeffggGGFFEEDDBBCCDDEEiihgfedc@@??>>==44556677XXYYZZ[[]]\\[[ZZ9988776644556677XXYYZZ[[]]\\[[ZZ9988776644556677XXYYZZ[[]]\\[[ZZ9988776644556677XXYYZZ[[]]\\[[ZZ9988776644556677XXYYZZ[[XXWWVVUU**))(('' - - 11223399__``aabbMLKKJJII&%%$$##"(())**++LLMMNNOOiihhggffEEDDCCBB!!  - -TTSSRRQQ00//..-- - - ))**++,,MMNNOOPPccbbaa``::993322 - - ..//0011\\]]^^__RQQPONML)((''&&% - - ,,--..//PPQQRRSSeeddccbbAA@@??>> - - ,,--..//PPQQRRSSeeddccbbAA@@??>> - - ,,--..//PPQQRRSSeeddccbbAA@@??>> - - ,,--..//PPQQRRSSeeddccbbAA@@??>> - - ,,--..//PPQQRRSS``__^^]]221100// ))**++,,WWXXYYZZWVVUUTTS.--,,++* !!""##DDEEFFGGhhiijjkkMMLLKKJJ))((''&& !!""##DDEEFFGGhhiijjkkMMLLKKJJ))((''&& !!""##DDEEFFGGhhiijjkkMMLLKKJJ))((''&& !!""##DDEEFFGGhhiijjkkMMLLKKJJ))((''&& !!""##DDEEFFGGhhiijjkkCCBBAA@@FFGGHHIIcbbaa``_<<;;::998899::;;\\]]^^__YYXXWWVV554433228899::;;\\]]^^__YYXXWWVV554433228899::;;\\]]^^__YYXXWWVV554433228899::;;\\]]^^__YYXXWWVV554433228899::;;\\]]^^__TTSSRRQQ&&%%$$## ::;;<<==cciijjkkHHGGFFEE"!!  - - ,,--..//PPQQRRSSeeddccbbAA@@??>> PPOONNMM,,++**)) - - --..//00QQRRSSTT__^^]]\\1100//.. - - 223399::``aabbccKKJJIIHH%$$##""! 00112233TTUUVVWWaa``__^^==<<;;:: 00112233TTUUVVWWaa``__^^==<<;;:: 00112233TTUUVVWWaa``__^^==<<;;:: 00112233TTUUVVWWaa``__^^==<<;;:: 00112233TTUUVVWW\\[[ZZYY..--,,++--..//00[[\\]]^^SRRQQPON*))((''&$$%%&&''HHIIJJKKllllkkjjIIHHGGFF%%$$##""$$%%&&''HHIIJJKKllllkkjjIIHHGGFF%%$$##""$$%%&&''HHIIJJKKllllkkjjIIHHGGFF%%$$##""$$%%&&''HHIIJJKKllllkkjjIIHHGGFF%%$$##""$$%%&&''HHIIJJKKllllkkjj??>>==<<!!""##$$JJKKQQRR_^^]]\\[87654332 <<==>>??``aabbccUUTTSSRR1100//.. - -<<==>>??``aabbccUUTTSSRR1100//.. - -<<==>>??``aabbccUUTTSSRR1100//.. - -<<==>>??``aabbccUUTTSSRR1100//.. - -<<==>>??``aabbccKKJJIIHH""!!>>??@@AAllllkkjjDDCCBBAA 00112233TTUUVVWWaa``__^^==<<;;::LLKKJJII((''&&%% 11223344UUVVWWXX[[ZZYYXX--,,++** ;;<<==>>iijjkkllGGFFEEDD! 44556677XXYYZZ[[]]\\[[ZZ9988776644556677XXYYZZ[[]]\\[[ZZ9988776644556677XXYYZZ[[]]\\[[ZZ9988776644556677XXYYZZ[[]]\\[[ZZ9988776644556677XXYYZZ[[XXWWVVUU**))(('' - - 11223399__``aabbMLKKJJII&%%$$##"(())**++LLMMNNOOiihhggffEEDDCCBB!! (())**++LLMMNNOOiihhggffEEDDCCBB!! (())**++LLMMNNOOiihhggffEEDDCCBB!! (())**++LLMMNNOOiihhggffEEDDCCBB!! (())**++LLMMNNOOiiccbbaa;;::9933 - -%%&&''((SSTTUUVV[ZZYYXXW21100//. - - @@AABBCCddeeffggQQPPOONN--,,++** @@AABBCCddeeffggQQPPOONN--,,++** @@AABBCCddeeffggQQPPOONN--,,++** @@AABBCCddeeffggQQPPOONN--,,++** @@AABBCCddeeffggGGFFEEDDBBCCDDEEiihgfedc@@??>>==44556677XXYYZZ[[]]\\[[ZZ99887766(())**++LLMMNNOOiihhggffEEDDCCBB!! (())**++LLMMNNOOiihhggffEEDDCCBB!! (())**++LLMMNNOOiihhggffEEDDCCBB!! (())**++LLMMNNOOaa``__^^33221100 - - - -00112233^^__``aaAA@@??>><<==>>?? - - ,,--..//PPQQRRSSeeddccbbAA@@??>> - - ,,--..//PPQQRRSSeeddccbbAA@@??>> - - ,,--..//PPQQRRSSeeddccbbAA@@??>> - - ,,--..//PPQQRRSS]]\\[[ZZ//..--,, 99::;;<>??@@]]\\[[ZZ99887766 !!""##DDEEFFGG44556677XXYYZZ[[]]\\[[ZZ9988776644556677XXYYZZ[[]]\\[[ZZ9988776644556677XXYYZZ[[]]\\[[ZZ9988776644556677XXYYZZ[[UUTTSSRR''&&%%$$AABBCCDDYYXXWWVV55443322$$%%&&''HHIIJJKK8899::;;\\]]^^__YYXXWWVV554433228899::;;\\]]^^__YYXXWWVV554433228899::;;\\]]^^__YYXXWWVV554433228899::;;\\]]^^__QQKKJJII##""!!EEFFGGHHUUTTSSRR1100//.. - -(())**++LLMMNNOO<<==>>??``aabbccUUTTSSRR1100//.. - -<<==>>??``aabbccUUTTSSRR1100//.. - -<<==>>??``aabbccUUTTSSRR1100//.. - -<<==>>??``aabbccHHGGFFEE!!""##IIJJKKQQQQPPOONN--,,++** - - ,,--..//PPQQRRSS@@AABBCCddeeffggQQPPOONN--,,++** @@AABBCCddeeffggQQPPOONN--,,++** @@AABBCCddeeffggQQPPOONN--,,++** @@AABBCCddeeffggDDCCBBAA$$%%&&''RRSSTTUUMMLLKKJJ))((''&& 00112233TTUUVVWW !!""##DDEEFFGGhhiijjkkMMLLKKJJ))((''&& !!""##DDEEFFGGhhiijjkkMMLLKKJJ))((''&& !!""##DDEEFFGGhhiijjkkMMLLKKJJ))((''&& !!""##DDEEFFGGhhiijjkk@@??>>==(())**++VVWWXXYYIIHHGGFF%%$$##""44556677XXYYZZ[[$$%%&&''HHIIJJKKllllkkjjIIHHGGFF%%$$##""$$%%&&''HHIIJJKKllllkkjjIIHHGGFF%%$$##""$$%%&&''HHIIJJKKllllkkjjIIHHGGFF%%$$##""$$%%&&''HHIIJJKKllddccbb<<;;::99 ,,--..//ZZ[[\\]]EEDDCCBB!! 8899::;;\\]]^^__``aabdQZ|bdQZ|bdQZ|H~fH~fH~f`JXQrے`JtArdlJtArnXv`~HfvnXZp˂Zp˂Zp˂tAJltAJltAJlf`vXf`vXf`vXے`Jے`Jے`J|ZdQ|ZdQ|ZdQHfpvHfpvHfpvZp˂Zp˂Zp˂tAJltAJltAJlf`vXf`vXf`vXr˂pJXQrbtlZdQbtl|ZdQnXv`v`f~fZp˂Zp˂Zp˂tAJltAJltAJlf`vXf`vXf`vXے`Jے`Jے`J|ZdQ|ZdQ|ZdQHfpvHfpvHfpvZp˂Zp˂Zp˂tAJltAJltAJlf`vXf`vXf`vXr˂pJXQrp`JXQtArdlJtArvnXv`ffpvZp˂Zp˂Zp˂tAJltAJlJltf`vXf`vXf`vXے`Jے`Jے`JXQ|ZdQ|ZdQ|ZdQHfpvHfpvfpvZp˂Zp˂Zp˂tAJltAJlJltf`vXf`vXf`vXHAbےpZHAbbtlZdQbtvnXnXv`~HfZp˂Zp˂Zp˂tAJltAJldrtAdrtAdrtA`vXn`vXn`vXn˂p`XQr˂|ZdQbd|Zf~fppvnv`frXQJ`rXQJ`rXQJ`tbdQZtbdQZtbdQZnvpnvpnvpXQr˂XQr˂XQr˂btlbtlbtlnXvnXvnXvrXQJ`rXQJ`rXQJ`tbdQZtbdQZtbdQZnvpnvpnvp`JXQr˂p`JJtArdlJtAbnXvf~HpvnrXQJ`rXQJ`rXQJ`tbdQZtbdQZtbdQZnvpnvpnvpXQr˂XQr˂XQr˂btlbtlbtlnXvnXvnXvrXQJ`rXQJ`rXQJ`tbdQZtbdQZtbdQZnvpnvpnvpZHAb˂pZHArbt|ZdQbd|Zv`f~~HfpnrXQJrXQJ`rXQJ`rbdQZtbdQZtbdQZbnvnvpnvpnr˂XQr˂XQr˂rbtbtlbtlbnXvnXvnXvnrXQJrXQJ`rXQJ`rbdQZtbdQZtbdQZbnvnvpnvpnr˂`JXQrے`J|ZdQbl|Zv`ff~fppvnrXQJ`rXQJ`rXQJ`tbdQZtbdQZJltJltJltvpfvpfvpfJXQrp`JXQtl|dQbtvnXXv`f~HfpےbHAےbHAےbHA|dr|dr|dtAfH~fH~fH~pZHAbpZHAbpZHAJtArdJtArdJtArd`f~`f~`fHےbHAےbHAےbHA|dr|dr|dtAfH~fH~fH~˂pZXQr˂|ZdQrd|`f~fpfpvXv`fےbHAےbHAےbHA|dr|dr|drfH~fH~fH~pZHAbpZHAbpZHAbJtArdJtArdJtArd`f~`f~`f~ےbHAےbHAےbHA|dr|dr|drfH~fH~fH~ے`JXQbے`l|ZdQtl|dQbt璅fpvvnX`ےHAےbHAےbHA|dr|dr|drpfHfH~fH~pZHAbpZHAbpZHAblJtAdJtArdJtArd`f~`f~`f~`ےHAےbHAےbHA|dr|dr|drpfHfH~fH~p`JXQ˂p`XQr˂tlJdQbt璕~HfpvnXXv`fےbHAےbHAےbHA|dr|drbdQZ|bdQZ|bdQZ|H~fH~fH~f˂pZHAr˂pZdQbtl|ZdQv`f~fpvvnXZp˂Zp˂Zp˂tAJltAJlJltf`vXf`vXf`vXے`Jے`Jے`JXQ|ZdQ|ZdQ|ZdQHfpvHfpvfpvZp˂Zp˂Zp˂tAJltAJlJltf`vXf`vXf`vXHAbےpZHAbbtlZdQbtvnXnXv`~HfZp˂Zp˂Zp˂tAJltAJltAJlf`vXf`vXf`vXے`Jے`Jے`J|ZdQ|ZdQ|ZdQHfpvHfpvHfpvZp˂Zp˂Zp˂tAJltAJltAJlf`vXf`vXf`vXr˂pJXQrbtlZdQbtl|ZdQnXv`v`f~fZp˂Zp˂Zp˂tAJltAJltAJlf`vXf`vXf`vXے`Jے`Jے`J|ZdQ|ZdQ|ZdQHfpvHfpvHfpvZp˂Zp˂Zp˂tAJltAJltAJlf`vXf`vXf`vXr˂pJXQrp`JXQtArdlJtArvnXv`ffpvZp˂Zp˂Zp˂tAJltAJldrtAdrtAdrtA`vXn`vXn`vXnbے`ZHAblJtAbtl~HfpۅnXv`v`frXQJ`rXQJ`rbdQZtbdQZtbdQZbnvnvpnvpnr˂XQr˂XQr˂rbtbtlbtlbnXvnXvnXvnrXQJrXQJ`rXQJ`rbdQZtbdQZtbdQZbnvnvpnvpnr˂`JXQrے`J|ZdQbl|Zv`ff~fppvnrXQJ`rXQJ`rXQJ`tbdQZtbdQZtbdQZnvpnvpnvpXQr˂XQr˂XQr˂btlbtlbtlnXvnXvnXvrXQJ`rXQJ`rXQJ`tbdQZtbdQZtbdQZnvpnvpnvp`JXQr˂p`JJtArdlJtAbnXvf~HpvnrXQJ`rXQJ`rXQJ`tbdQZtbdQZtbdQZnvpnvpnvpXQr˂XQr˂XQr˂btlbtlbtlnXvnXvnXvrXQJ`rXQJ`rXQJ`tbdQZtbdQZtbdQZnvpnvpnvpZHAb˂pZHArbt|ZdQbd|Zv`f~~HfpnrXQJrXQJ`rXQJ`rbdQZtbdQZtbdQZtAJlJltJltJltvpfvpfr˂pJXQrے`JXQrd|JtArdvnXf~HrQJHAےbHAےbHA|dr|dr|drpfHfH~fH~pZHAbpZHAbpZHAblJtAdJtArdJtArd`f~`f~`f~`ےHAےbHAےbHA|dr|dr|drpfHfH~fH~p`JXQ˂p`XQr˂tlJdQbt璕~HfpvnXXv`fےbHAےbHAےbHA|dr|dr|dtAfH~fH~fH~pZHAbpZHAbpZHAJtArdJtArdJtArd`f~`f~`fHےbHAےbHAےbHA|dr|dr|dtAfH~fH~fH~˂pZXQr˂|ZdQrd|`f~fpfpvXv`fےbHAےbHAےbHA|dr|dr|drfH~fH~fH~pZHAbpZHAbpZHAbJtArdJtArdJtArd`f~`f~`f~ےbHAےbHAےbHA|dr|dr|drfH~fH~fH~ے`JXQbے`l|ZdQtl|dQbt璅fpvvnX`ےHAےbHAےbHA|dr|dr|drtbdQZbdQZ|bdQZ|bdQZ|H~fH~f`JXQr˂p`Jr˂pZdQbt|ZdQv`f~ffpvZp˂Zp˂Zp˂tAJltAJltAJlf`vXf`vXf`vXے`Jے`Jے`J|ZdQ|ZdQ|ZdQHfpvHfpvHfpvZp˂Zp˂Zp˂tAJltAJltAJlf`vXf`vXf`vXr˂pJXQrp`JXQtArdlJtArvnXv`ffpvZp˂Zp˂Zp˂tAJltAJlJltf`vXf`vXf`vXے`Jے`Jے`JXQ|ZdQ|ZdQ|ZdQHfpvHfpvfpvZp˂Zp˂Zp˂tAJltAJlJltf`vXf`vXf`vXHAbےpZHAbbtlZdQbtvnXnXv`~HfZp˂Zp˂Zp˂tAJltAJltAJlf`vXf`vXf`vXے`Jے`Jے`J|ZdQ|ZdQ|ZdQHfpvHfpvHfpvZp˂Zp˂Zp˂tAJltAJltAJlf`vXf`vXf`vXr˂pJXQrbtlZdQbtl|ZdQnXv`v`f~fZp˂Zp˂Zp˂tAJltAJltAJl|dtAdrtAdrtA`vXn`vXn`vXn˂pZXQr˂|ZdQbl|ZbtlpvnnXv`rXQJ`rXQJ`rXQJ`tbdQZtbdQZtbdQZnvpnvpnvpXQr˂XQr˂XQr˂btlbtlbtlnXvnXvnXvrXQJ`rXQJ`rXQJ`tbdQZtbdQZtbdQZnvpnvpnvpZHAb˂pZHArbt|ZdQbd|Zv`f~~HfpnrXQJrXQJ`rXQJ`rbdQZtbdQZtbdQZbnvnvpnvpnr˂XQr˂XQr˂rbtbtlbtlbnXvnXvnXvnrXQJrXQJ`rXQJ`rbdQZtbdQZtbdQZbnvnvpnvpnr˂`JXQrے`J|ZdQbl|Zv`ff~fppvnrXQJ`rXQJ`rXQJ`tbdQZtbdQZtbdQZnvpnvpnvpXQr˂XQr˂XQr˂btlbtlbtlnXvnXvnXvrXQJ`rXQJ`rXQJ`tbdQZtbdQZtbdQZnvpnvpnvp`JXQr˂p`JJtArdlJtAbnXvf~HpvnrXQJ`rXQJ`rXQJ`tbdQZtbdQZtbdQZJltJltJltvpfvpfvpfHAbےpZHAbtlJdQbt|ZdQbXv`ff~fpےbHAےbHAےbHA|dr|dr|drfH~fH~fH~pZHAbpZHAbpZHAbJtArdJtArdJtArd`f~`f~`f~ےbHAےbHAےbHA|dr|dr|drfH~fH~fH~ے`JXQbے`l|ZdQtl|dQbt璅fpvvnX`ےHAےbHAےbHA|dr|dr|drpfHfH~fH~pZHAbpZHAbpZHAblJtAdJtArdJtArd`f~`f~`f~`ےHAےbHAےbHA|dr|dr|drpfHfH~fH~p`JXQ˂p`XQr˂tlJdQbt璕~HfpvnXXv`fےbHAےbHAےbHA|dr|dr|dtAfH~fH~fH~pZHAbpZHAbpZHAJtArdJtArdJtArd`f~`f~`fHےbHAےbHAےbHA|dr|dr|dtAfH~fH~fH~˂pZXQr˂|ZdQrd|`f~fpfpvXv`fےbHAےbHAےbHA|dr|dr|drbnvpfHfH~fH~pZHAbpZHAbpZHAblJtAdJtArdJtArd`f~`f~`f~`ےHAےbHAےbHA|dr|dr|drpfHfH~fH~XQr˂`JXQr˂p`Zb㉀ۑpZQXb㉀f۝`vf۝`vrQtJlrQtJlf`vXf`vXf`vXے`Jے`Jے`J|ZdQ|ZdQ|ZdQHfpvHfpvHfpvZp˂Zp˂Zp˂tAJltAJltAJlf`vXf`vXf`vXpZHAb˂pZQXb㉀ہ`ZQXbXnv˅Xnv˅Xnv˒tbAdtbAdnvpnvpnvpXQr˂XQr˂XQr˂btlbtlbtlnXvnXvnXvrXQJ`rXQJ`rXQJ`tbdQZtbdQZtbdQZnvpnvpnvpے`JHAbےpJAHr󉀒ۑpJpfH~pfH~pfH~Z|dZ|dfH~fH~fH~pZHAbpZHAbpZHAbJtArdJtArdJtArd`f~`f~`f~ےbHAےbHAےbHA|dr|dr|drfH~fH~fH~XQr˂`JXQrˁ`ZAHr󙐂˅f۝`vf۝`vf۝`vrQtJlrQtJlf`vXf`vXf`vXے`Jے`Jے`J|ZdQ|ZdQ|ZdQHfpvHfpvHfpvZp˂Zp˂Zp˂tAJltAJltAJlf`vXf`vXf`vXp`JXQ˂p`QXb㉀ہ`ZQXbXnv˅Xnv˅Xnv˒tbAdtbAdnvpnvpnvpXQr˂XQr˂XQr˂btlbtlbtlnXvnXvnXvrXQJ`rXQJ`rXQJ`tbdQZtbdQZtbdQZnvpnvpnvpr˂pJXQrp`ZQXۑp`pfH~pfH~p|dZ|dZ|dfH~fH~fH~pZHAbpZHAbpZHAJtArdJtArdJtArd`f~`f~`fHےbHAےbHAےbHA|dr|dr|dtAfH~fH~fH~ZHAb˂pZHAb㉀ۑpZQXb㉀f۝`vf۝`vrQtJlrQtJlrQtJlf`vXf`vXf`vXے`Jے`Jے`JXQ|ZdQ|ZdQ|ZdQHfpvHfpvfpvZp˂Zp˂Zp˂tAJltAJlJltf`vXf`vXf`vXے`JXQbے`JAHr󙐒ۑpJAHXnv˅Xnv˒tbAdtbAdtbAdnvpnvpnr˂XQr˂XQr˂rbtbtlbtlbnXvnXvnXvnrXQJrXQJ`rXQJ`rbdQZtbdQZtbdQZbnvnvpnvpnے`Jr˂pJXQrˁ`ZQXr󙐂ˁ`pfH~pfH~Z|dZ|dZ|drQtefghijkllkjihgf \ No newline at end of file diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv23_2.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv23_2.dat deleted file mode 100644 index 50e0b3e29276cee8584dc0d0ea51eecce9c2661f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32809 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 pTCHqLeWrUp$zL`a{}SeeZSkzSH%# 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:9:9:9:9:9:9:9:9:9:9:9:9878787878787878765656565656565656543434343434343434343432121212121212121212121210/0/0/0/0/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)*)*)*)*)('('('('('('('('('('('('&%&%&%&%&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!"!"!"!"!            popopopopopopopopopopoponmnmnmnmnmnmnmnmnmnmnmnmlklklklklklklklkjijijijijijijijigggghghgghghghghfefefefefefefefefefefefedcdcdcdcdcdcdcdcdcdcdcdcbababababababababa`_`_`_`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPOPONMNMNMMNMNMNMNMNMNMNMNLKLKLKLKLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCDCDCDCDCBABABABABABABABABABABABA@?@?@?@?@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:9:9:9:9:9878787878787878765656565656565654333333443434343434343432121212121212121212121210/0/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)*)*)*)*)('('('('('('('('('('('('&%&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!"!"!"!"!            popopopopopopopopopopoponmnmnmnmnmnmnmnmlklklklklklklklklklklklkjijijijijijijijihghghghgghghggggfefefefefefefefefefefefedcdcdcdcdcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPONMMMMMNMMNMNMNMMMNMNMNMNLKLKLKLKLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCDCDCDCDCBABABABABABABABABABABABA@?@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:9:9:9:9:9878787878787878765656565656565653434343443434343434343432121212121212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)*)*)*)*)('('('('('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!"!"!"!"!            popopopopopopopopopopoponmnmnmnmnmnmnmnmlklklklklklklklkjijijijijijijijijijijijihghghghggghghghgfefefefefefefefefefefefedcdcdcdcdcdcdcdcdcbababababababababababa`_`_`_`_`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMMMMMNMNMMNMNMNMNLKLKLKLKLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCDCDCDCDCBABABABABABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:9:9:9:9:9878787878787878765656565656565653434343433333434434343332121212121212121210/0/0/0/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)*)*)*)*)('('('('('('('('('&%&%&%&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!"!"!"!"!            popopopopopopopopopopoponmnmnmnmnmnmnmnmlklklklklklklklkjijijijijijijijihghghghghghghghghghghghgfefefefefefefefefefefefedcdcdcdcdcdcdcdcbabababababababababababa`_`_`_`_`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMMNMNMMMMLKLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCDCDCDCDCBABABABABABABABABA@?@?@?@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:9:9:9:9:98787878787878787656565656565656534343434343434343343434321212121212121210/0/0/0/0/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!"!"!"!"!            popopopopopopopopopopoponmnmnmnmnmnmnmnmlklklklklklklklkjijijijijijijijiggggghghhghghghghghghghgfefefefefefefefefedcdcdcdcdcdcdcdcdcdcdcbabababababababababababa`_`_`_`_`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMMMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:9:9:9:9:98787878787878787656565656565656534343434343434344321212121212121212121210/0/0/0/0/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)*)('('('('('('('('('('('&%&%&%&%&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!"!"!"!"!         popopopopopopoponmnmnmnmnmnmnmnmnmnmnmnmlklklklklklklklkjijijijijijijijighghghghhghghggghghghghgfefefefefefefefedcdcdcdcdcdcdcdcdcdcdcdcbabababababababababababa`_`_`_`_`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMNMLKLKLKLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCDCBABABABABABABABABABABA@?@?@?@?@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:9:98787878787878787878787656565656565656534343434343434342121212121212121212121210/0/0/0/0/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('('('('('&%&%&%&%&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!"!"!"!"!        popopopopopopoponmnmnmnmnmnmnmnmnmnmnmnmlklklklklklklklkjijijijijijijijighghghghggghghghhghghghgfefefefefefefefedcdcdcdcdcdcdcdcdcdcdcdcbabababababababababababa`_`_`_`_`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPOMMMMMNMNNMNMNMNMLKLKLKLKLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABABABABABABABABABA@?@?@?@?@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:9878787878787878787878787656565656565656533333343343434342121212121212121212121210/0/0/0/0/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)*)*)*)('('('('('('('('('('('('&%&%&%&%&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!"!           popopopopopopoponmnmnmnmnmnmnmnmnmnmnmnmlklklklklklklklkjijijijijijijijighghghghghghghgheeeeeefefefefefefefefefedcdcdcdcdcdcdcdcdcdcdcdcbabababababababababababa`_`_`_`_`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPOMNMNMNMNNMNMNMMMLKLKLKLKLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCDCDCDCBABABABABABABABABABABABA@?@?@?@?@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:9:9:9:9878787878787878787656565656565656565656543434343343434332121212121212121212121210/0/0/0/0/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)*)*)*)*)('('('('('('('('('('('('&%&%&%&%&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!            popopopopopopoponmnmnmnmnmnmnmnmnmnmnmnmlklklklklklklklkjijijijijijijijighghghghghghghghfefefefefefefefefefefefedcdcdcdcdcdcdcdcdcdcdcdcbabababababababababababa`_`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPOPOPOPOMNMNMNMNMMMNMNMNLKLKLKLKLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCDCDCDCDCBABABABABABABABABABABABA@?@?@?@?@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:9:9:9:9:9878787878787878765656565656565656565656543434343333343432121212121212121212121210/0/0/0/0/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)*)*)*)*)('('('('('('('('('('('('&%&%&%&%&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!"!"!"!                       - - - - - - - - - - - -             - - - - - - - - - - - -             - - - - - - - - - - - -             - - - - - - - - - - - -             - - - - - - - - -             - - - - - - - -             - - - - - - - - - - -             - - - - - - - - - - - -          - - - - - - - - - - - -         - - - - - - - - - - - - ppoonnmmHHGGFFEE AABBCCDDiijjkkllFFEEDDCC**++,,--\\]]^^__VUUTTSSR)((''&&% 44556677\\]]^^__]]\\[[ZZ55443322 - -DDEEFFGGllmmnnooMMLLKKJJ%%$$##"",,--..//TTUUVVWWeeddccbb==<<;;::<<==>>??ddeeffggUUTTSSRR--,,++**$$%%&&''LLMMNNOOmmllkkjjEEDDCCBBBBCCDDEEmmggffee;;::9933 ())**++,UVVWWXXYaa``__^^99887766@@AABBCChhiijjkkQQPPOONN))((''&&(())**++PPQQRRSSiihhggffAA@@??>>8899::;;``aabbccYYXXWWVV1100//..  !!""##HHIIJJKKppppoonnIIHHGGFF!!  - - 00112233XXYYZZ[[\\[[ZZYY**))(('' >>??@@AAppppoonnDDCCBBAA<<==>>??ddeeffggUUTTSSRR--,,++**$$%%&&''LLMMNNOOmmllkkjjEEDDCCBB 44556677\\]]^^__]]\\[[ZZ55443322 - -DDEEFFGGllmmnnooMMLLKKJJ%%$$##"",,--..//TTUUVVWWeeddccbb==<<;;:: JJKKLLMM``__^^]]..--,,++ 01122334]^^__``allkkjjiiDDCCBBAA EEFFGGHHmmnnooppBBAA@@?? ..//0011``aabbccQPONMMLL%$$##""!8899::;;``aabbccYYXXWWVV1100//..  !!""##HHIIJJKKppppoonnIIHHGGFF!!  - - 00112233XXYYZZ[[aa``__^^99887766@@AABBCChhiijjkkQQPPOONN))((''&&(())**++PPQQRRSSiihhggffAA@@??>>FFGGHHIIddccbbaa221100//,--..//0YZZ[[\\]]]\\[[ZZ55443322 - -DDEEFFGGllmmnnooMMLLKKJJ%%$$##"",,--..//TTUUVVWWeeddccbb==<<;;::<<==>>??ddeeffggUUTTSSRR--,,++**$$%%&&''LLMMNNOOmmllkkjjEEDDCCBB 44556677\\]]^^__XXWWVVUU&&%%$$##BBCCDDEEmmlkjihg@@??>>==@@AABBCChhiijjkkQQPPOONN))((''&&(())**++PPQQRRSSiihhggffAA@@??>>8899::;;``aabbccYYXXWWVV1100//..  !!""##HHIIJJKKppppoonnIIHHGGFF!!  - - 00112233XXYYZZ[[aa``__^^99887766!!""##$$SSTTUUVV\\[[ZZYY**))(('' - - 567899::abbccddehhggffee@@??>>==!!""##$$IIJJKKLLppoonnmm>>==<<;; - - 223399::ddeeffggKKJJIIHH! <<==>>??ddeeffggUUTTSSRR--,,++**$$%%&&''LLMMNNOOmmllkkjjEEDDCCBB 44556677\\]]^^__]]\\[[ZZ55443322 - -DDEEFFGGllmmnnooMMLLKKJJ%%$$##"",,--..//TTUUVVWWeeddccbb==<<;;:: JJKKLLMM``__^^]]..--,,++ 01122334]^^__``aYYXXWWVV1100//..  !!""##HHIIJJKKppppoonnIIHHGGFF!!  - - 00112233XXYYZZ[[aa``__^^99887766@@AABBCChhiijjkkQQPPOONN))((''&&(())**++PPQQRRSSiihhggffAA@@??>>8899::;;``aabbccTTSSMMLL""!! FFGGHHIIgffeeddc<<;;::99 DDEEFFGGllmmnnooMMLLKKJJ%%$$##"",,--..//TTUUVVWWeeddccbb==<<;;::<<==>>??ddeeffggUUTTSSRR--,,++**$$%%&&''LLMMNNOOmmllkkjjEEDDCCBB 44556677\\]]^^__]]\\[[ZZ55443322 - -%%&&''((WWXXYYZZXXWWVVUU&&%%$$##;;<<==>>effgghijddccbbaa<<;;::99%%&&''((MMNNOOPPggffeedd::993322 - - ;;<<==>>mmnnooppGGFFEEDD@@AABBCChhiijjkkQQPPOONN))((''&&(())**++PPQQRRSSiihhggffAA@@??>>8899::;;``aabbccYYXXWWVV1100//..  !!""##HHIIJJKKppppoonnIIHHGGFF!!  - - 00112233XXYYZZ[[aa``__^^99887766!!""##$$SSTTUUVV\\[[ZZYY**))(('' - - 567899::abbccddeUUTTSSRR--,,++**$$%%&&''LLMMNNOOmmllkkjjEEDDCCBB 44556677\\]]^^__]]\\[[ZZ55443322 - -DDEEFFGGllmmnnooMMLLKKJJ%%$$##"",,--..//TTUUVVWWeeddccbb==<<;;::<<==>>??ddeeffggKKJJIIHH JJKKLLMMcbbaa``_87654332 - -  !!""##HHIIJJKKppppoonnIIHHGGFF!!  - - 00112233XXYYZZ[[aa``__^^99887766@@AABBCChhiijjkkQQPPOONN))((''&&(())**++PPQQRRSSiihhggffAA@@??>>8899::;;``aabbccYYXXWWVV1100//.. ))**++,,[[\\]]^^TTSSMMLL""!! ??@@AABBklmmnnoo``__^^]]88776655 ))**++,,QQRRSSTTccbbaa``1100//.. ??@@AABBppoonnmmCCBBAA@@DDEEFFGGllmmnnooMMLLKKJJ%%$$##"",,--..//TTUUVVWWeeddccbb==<<;;::<<==>>??ddeeffggUUTTSSRR--,,++**$$%%&&''LLMMNNOOmmllkkjjEEDDCCBB 44556677\\]]^^__]]\\[[ZZ55443322 - -%%&&''((WWXXYYZZXXWWVVUU&&%%$$##;;<<==>>effgghijQQPPOONN))((''&&(())**++PPQQRRSSiihhggffAA@@??>>8899::;;``aabbccYYXXWWVV1100//..  !!""##HHIIJJKKppppoonnIIHHGGFF!!  - - 00112233XXYYZZ[[aa``__^^99887766@@AABBCChhiijjkkGGFFEEDD!!""##$$SSTTUUVV_^^]]\\[21100//.$$%%&&''LLMMNNOOmmllkkjjEEDDCCBB 44556677\\]]^^__]]\\[[ZZ55443322 - -DDEEFFGGllmmnnooMMLLKKJJ%%$$##"",,--..//TTUUVVWWeeddccbb==<<;;::<<==>>??ddeeffggUUTTSSRR--,,++**--..//00__``aabbKKJJIIHHCCDDEEFFppppoonn\\[[ZZYY44332211 - - --..//00UUVVWWXX__^^]]\\--,,++**CCDDEEFFlkjihggf??>>==<< !!""##HHIIJJKKppppoonnIIHHGGFF!!  - - 00112233XXYYZZ[[aa``__^^99887766@@AABBCChhiijjkkQQPPOONN))((''&&(())**++PPQQRRSSiihhggffAA@@??>>8899::;;``aabbccYYXXWWVV1100//.. ))**++,,[[\\]]^^TTSSMMLL""!! ??@@AABBklmmnnooMMLLKKJJ%%$$##"",,--..//TTUUVVWWeeddccbb==<<;;::<<==>>??ddeeffggUUTTSSRR--,,++**$$%%&&''LLMMNNOOmmllkkjjEEDDCCBB 44556677\\]]^^__]]\\[[ZZ55443322 - -DDEEFFGGllmmnnooCCBBAA@@%%&&''((WWXXYYZZ[ZZYYXXW.--,,++*(())**++PPQQRRSSiihhggffAA@@??>>8899::;;``aabbccYYXXWWVV1100//..  !!""##HHIIJJKKppppoonnIIHHGGFF!!  - - 00112233XXYYZZ[[aa``__^^99887766@@AABBCChhiijjkkQQPPOONN))((''&&11223399ccddeeffGGFFEEDD GGHHIIJJmmllkkjjXXWWVVUU00//..-- - - 11223344YYZZ[[\\[[ZZYYXX))((''&&GGHHIIJJfeeddccb;;::9987 $$%%&&''LLMMNNOOmmllkkjjEEDDCCBB 44556677\\]]^^__]]\\[[ZZ55443322 - -DDEEFFGGllmmnnooMMLLKKJJ%%$$##"",,--..//TTUUVVWWeeddccbb==<<;;::<<==>>??ddeeffggUUTTSSRR--,,++**--..//00__``aabbKKJJIIHHCCDDEEFFppppoonnIIHHGGFF!!  - - 00112233XXYYZZ[[aa``__^^99887766@@AABBCChhiijjkkQQPPOONN))((''&&(())**++PPQQRRSSiihhggffAA@@??>>8899::;;``aabbccYYXXWWVV1100//..  !!""##HHIIJJKKppppoonn??>>==<< - -))**++,,[[\\]]^^WVVUUTTS*))((''&,,--..//TTUUVVWWeeddccbb==<<;;::<<==>>??ddeeffggUUTTSSRR--,,++**$$%%&&''LLMMNNOOmmllkkjjEEDDCCBB 44556677\\]]^^__]]\\[[ZZ55443322 - -DDEEFFGGllmmnnooMMLLKKJJ%%$$##"" - - ::;;<<==ggmmnnooCCBBAA@@ !!""##$KKLLMMNOiihhggffYYXXWWVVTTSSRRQQ,,++**)) 55667788]]^^__``WWVVUUTT%%$$##"" !!KKLLMMSSbaa``__^65433221 - - (())**++PPQQRRSSiihhggffAA@@??>>8899::;;``aabbccYYXXWWVV1100//..  !!""##HHIIJJKKppppoonnIIHHGGFF!!  - - 00112233XXYYZZ[[aa``__^^99887766@@AABBCChhiijjkkQQPPOONN))((''&&11223399ccddeeffGGFFEEDD GGHHIIJJmmllkkjjEEDDCCBB 44556677\\]]^^__]]\\[[ZZ55443322 - -DDEEFFGGllmmnnooMMLLKKJJ%%$$##"",,--..//TTUUVVWWeeddccbb==<<;;::<<==>>??ddeeffggUUTTSSRR--,,++**$$%%&&''LLMMNNOOmmggffee;;::9933 --..//00__``aabbSRQPONMM&%%$$##" - - 00112233XXYYZZ[[aa``__^^99887766@@AABBCChhiijjkkQQPPOONN))((''&&(())**++PPQQRRSSiihhggffAA@@??>>8899::;;``aabbccYYXXWWVV1100//..  !!""##HHIIJJKKppppoonnIIHHGGFF!!  >>??@@AAppppoonn??>>==<< - -$%%&&''(PQRSSTTUeeddccbbUUTTSSRRPPOONNMM((''&&%%99::;;<>??ddeeffggUUTTSSRR--,,++**$$%%&&''LLMMNNOOmmllkkjjEEDDCCBB 44556677\\]]^^__]]\\[[ZZ55443322 - -DDEEFFGGllmmnnooMMLLKKJJ%%$$##"" - - ::;;<<==ggmmnnooCCBBAA@@ !!""##$KKLLMMNOiihhggffAA@@??>>8899::;;``aabbccYYXXWWVV1100//..  !!""##HHIIJJKKppppoonnIIHHGGFF!!  - - 00112233XXYYZZ[[aa``__^^99887766@@AABBCChhiijjkkQQPPOONN))((''&&(())**++PPQQRRSSddccbbaa221100//11223399ccddeeffLLKKJJII"!!  44556677\\]]^^__]]\\[[ZZ55443322 - -DDEEFFGGllmmnnooMMLLKKJJ%%$$##"",,--..//TTUUVVWWeeddccbb==<<;;::<<==>>??ddeeffggUUTTSSRR--,,++**$$%%&&''LLMMNNOOmmllkkjjEEDDCCBBBBCCDDEEmmggffee;;::9933 ())**++,UVVWWXXYaa``__^^QQPPOONNLLKKJJII$$##""!!==>>??@@eeffgghhJJIIHHGG&&''(())XXYYZZ[[ZYYXXWWV-,,++**) - - 00112233XXYYZZ[[aa``__^^99887766@@AABBCChhiijjkkQQPPOONN))((''&&(())**++PPQQRRSSiihhggffAA@@??>>8899::;;``aabbccYYXXWWVV1100//..  !!""##HHIIJJKKppppoonnIIHHGGFF!!  >>??@@AAppppoonn??>>==<< - -$%%&&''(PQRSSTTUeeddccbb==<<;;::<<==>>??ddeeffggUUTTSSRR--,,++**$$%%&&''LLMMNNOOmmllkkjjEEDDCCBB 44556677\\]]^^__]]\\[[ZZ55443322 - -DDEEFFGGllmmnnooMMLLKKJJ%%$$##"",,--..//TTUUVVWW``__^^]]..--,,++ - - ::;;<<==ggmmnnooHHGGFFEE8899::;;``aabbccYYXXWWVV1100//..  !!""##HHIIJJKKppppoonnIIHHGGFF!!  - - 00112233XXYYZZ[[aa``__^^99887766@@AABBCChhiijjkkQQPPOONN))((''&&(())**++PPQQRRSSiihhggffAA@@??>>FFGGHHIIddccbbaa221100//,--..//0YZZ[[\\]]]\\[[ZZMMLLKKJJIIHHGGFF!!  - - 00112233XXYYZZ[[aa``__^^99887766@@AABBCChhiijjkkQQPPOONN))((''&&(())**++PPQQRRSSiihhggffAA@@??>>8899::;;``aabbccLLKKJJII$$%%&&''VVWWXXYYMMLLKKJJ%%$$##""<<==>>??EEDDCCBB 44556677\\]]^^__]]\\[[ZZ55443322 - -DDEEFFGGllmmnnooMMLLKKJJ%%$$##"",,--..//TTUUVVWWeeddccbb==<<;;::<<==>>??ddeeffggHHGGFFEE(())**++ZZ[[\\]]IIHHGGFF!! @@AABBCCAA@@??>>8899::;;``aabbccYYXXWWVV1100//..  !!""##HHIIJJKKppppoonnIIHHGGFF!!  - - 00112233XXYYZZ[[aa``__^^99887766@@AABBCChhiijjkkDDCCBBAA,,--..//^^__``aaEEDDCCBBDDEEFFGG==<<;;::<<==>>??ddeeffggUUTTSSRR--,,++**$$%%&&''LLMMNNOOmmllkkjjEEDDCCBB 44556677\\]]^^__]]\\[[ZZ55443322 - -DDEEFFGGllmmnnoo@@??>>== 00112233bbccddeeAA@@??>> !!""##HHIIJJKK99887766@@AABBCChhiijjkkQQPPOONN))((''&&(())**++PPQQRRSSiihhggffAA@@??>>8899::;;``aabbccYYXXWWVV1100//..  !!""##HHIIJJKKpphhggff<<;;::99 - - - -99::;;<>??ddeeffggUUTTSSRR--,,++**$$%%&&''LLMMNNOOeeddccbb33221100 ==>>??@@aa``__^^99887766(())**++PPQQRRSS1100//..  !!""##HHIIJJKKppppoonnIIHHGGFF!!  - - 00112233XXYYZZ[[aa``__^^99887766@@AABBCChhiijjkkQQPPOONN))((''&&(())**++PPQQRRSSaa``__^^//..--,,AABBCCDD]]\\[[ZZ55443322 - -,,--..//TTUUVVWW--,,++**$$%%&&''LLMMNNOOmmllkkjjEEDDCCBB 44556677\\]]^^__]]\\[[ZZ55443322 - -DDEEFFGGllmmnnooMMLLKKJJ%%$$##"",,--..//TTUUVVWW]]\\[[ZZ++**))((EEFFGGHHYYXXWWVV1100//.. - - 00112233XXYYZZ[[))((''&&(())**++PPQQRRSSiihhggffAA@@??>>8899::;;``aabbccYYXXWWVV1100//..  !!""##HHIIJJKKppppoonnIIHHGGFF!!  - - 00112233XXYYZZ[[YYXXWWVV''&&%%$$IIJJKKLLUUTTSSRR--,,++** 44556677\\]]^^__%%$$##"",,--..//TTUUVVWWeeddccbb==<<;;::<<==>>??ddeeffggUUTTSSRR--,,++**$$%%&&''LLMMNNOOmmllkkjjEEDDCCBB 44556677\\]]^^__UUTTSSMM##""!! !!""##MMSSTTUUQQPPOONN))((''&&8899::;;``aabbccddeefpvnXv`f~HXQJ`ےbHAZp˂rZ|ddrtA~f`f`vXJXQrے`JXbtlJtArd|ZdQ`f~HfpvnXvےbHAZp˂rXQJ`tAJltbdQZpfHf`vXnvpے`JXQr˂pZHAb|ZdQbtlJtArdnXv`f~fpvrXQJ`ےbHAtbdQZ|drtAJlfH~~f`XQHAb˂p`p`JXQJtArdlJtnXv`f~HfpvrXQJ`ےbHAZp˂|drtAJlbnvfH~f`vXpZHAbے`JXQr˂JtArd|ZdQbtlHfpvnXv`fHZp˂rXQJ`ےJltbdQZ|drf`vXnvpfH~ZHAbbے`btllJtAJfpvf~HXv`fZp˂rXQJ`ےbHAtbdQZ|drJltnvpfH~XQr˂pZHAbے`JbtlJtArd|ZdQ`f~HfpvnXvےbHAZp˂rXQJ`tAJltbdQZpfHf`vXnvpے`JXQr˂pZHAbbtdlJtAnXv`v`f`AZprXQJ`˂rXnXv`f~HfpvbHAZp˂rXQJ`ےrtAJlJltvXnnvpZAbےQr˂pJtArd|ZdQbtlHfpvnXv`fHZp˂rXQJ`ےJltbdQZ|drf`vXnvpfH~XQr˂pZHAbے`JbtlJtArd|ZdQ`f~HfpvnrXQJےbHAZp˂|drtAJltbdQZf`vXvXnے`JXQJXQrrbt璂|ZdQArd|`f~HfpvnXvےbHAZp˂rXQJ`tAJltbdQZpfHf`vXnvpے`JXQr˂pZHAb|ZdQbtlJtArdnXv`f~fpvrXQJ`ےbHAtbdQZ|drtAJlnvpfH~f`vXے`JXQJXQrJtArdrd|nvffpv~HfrXQJ`ےbHAZp˂|drtAJlbnvfH~f`vXpZHAbے`JXQr˂JtArd|ZdQbtlHfpvnXv`fHZp˂rXQJ`ےJltbdQZ|drf`vXnvpfH~XQr˂pZHAbے`J|ZdQbdQbtf~H~Hfp˂rXQbAZp˂QJ`ےf~HfpvnXv`p˂rXQJ`ےJlttbdQbdQZ|vp`vfH~`JXQrZHAb|ZdQbtlJtArdnXv`f~fpvrXQJ`ےbHAtbdQZ|drtAJlnvpfH~f`vXpZHAbے`JXQr˂JtArd|ZdQbtlHfpvnXv`ےHAZp˂rXQJ`tAJltbdQZ|drnfvpfHr˂p˂pZHAlJA|btlJZdQbtHfpvnXv`fHZp˂rXQJ`ےJltbdQZ|drf`vXnvpfH~XQr˂pZHAbے`JbtlJtArd|ZdQ`f~HfpvnrXQJےbHAZp˂|drtAJltbdQZfH~f`vXnvprے˂pZHA|ZdQZdQbt~HfpnXv`pvnےbHAZp˂rXQJ`tAJltbdQZpfHf`vXnvpے`JXQr˂pZHAb|ZdQbtlJtArdnXv`f~fpvrXQJ`ےbHAtbdQZ|drtAJlnvpfH~f`vXpZHAbے`JXQr˂tlJlJtArfpvvnXJ`ےrXQJbHAZfpvnXv`f~HXQJ`ےbHAZdrtAJZ|l`vXnXnvvpf˂pZJXQrbtlJtArd|ZdQ`f~HfpvnrXQJےbHAZp˂|drtAJltbdQZfH~f`vXnvpے`JXQr˂pZHA|ZdQbtlJfpvnXv`f~Zp˂rXQJ`ےbHAtbdQZ|drtAJl`vXnXnvZHAbbے`ZdQbtAr|ZlJtnXv`f~fpvrXQJ`ےbHAtbdQZ|drtAJlnvpfH~f`vXpZHAbے`JXQr˂JtArd|ZdQbtlHfpvnXv`ےHAZp˂rXQJ`tAJltbdQZ|drf`vXnvpfH~`JXQrXQr˂btdlJtAvnXf~fpXv`fZp˂rXQJ`ےJltbdQZ|drf`vXnvpfH~XQr˂pZHAbے`JbtlJtArd|ZdQ`f~HfpvnrXQJےbHAZp˂|drtAJltbdQZfH~f`vXnvpے`JXQr˂pZHAtArdd|ZnXHfv`fbHAZp`ےbrXQJ`nXv`f~HfpvbHAZp˂rltbtbdQZvpfpfH~ے`JXQHAbے˂pZHAJtArd|ZdQbtlHfpvnXv`ےHAZp˂rXQJ`tAJltbdQZ|drf`vXnvpfH~XQr˂pZHAbے`JXQbtlJtArdnXv`f~HfpvrXQJ`ےbHAZp˂|drtAJltbdQZvpfpfH~ے`JXQJXQrlJtAdQbtArdZ`f~HfpvnrXQJےbHAZp˂|drtAJltbdQZfH~f`vXnvpے`JXQr˂pZHA|ZdQbtlJfpvnXv`f~Zp˂rXQJ`ےbHAtbdQZ|drtAJlnvpfH~f`vX˂pZpZHAb|ZdQbdQbt璕v`fvnXfpvrXQJ`ےbHAtbdQZ|drtAJlnvpfH~f`vXpZHAbے`JXQr˂JtArd|ZdQbtlHfpvnXv`ےHAZp˂rXQJ`tAJltbdQZ|drf`vXnvpfH~XQr˂pZHAbے`JXQ|ZdQbdQbtpvnnXv˂rXQHAZp˂ےJlf~HfpvnXv`p˂rXQJ`ےdQZ||drH~ff`vrZHA`JXQrbے`|ZdQbtlJfpvnXv`f~Zp˂rXQJ`ےbHAtbdQZ|drtAJlnvpfH~f`vXpZHAbے`JrbtJtArd|ZdQ`f~HfpvnXvےbHAZp˂rXQJ`tAJltbdQZ|dtAH~ff`vrے˂pZHArd|lJtArQbtlHfpvnXv`ےHAZp˂rXQJ`tAJltbdQZ|drf`vXnvpfH~XQr˂pZHAbے`JXQbtlJtArdnXv`f~HfpvrXQJ`ےbHAZp˂|drtAJltbdQZfH~f`vXnvpHAbےے`JtlJlJtAr~Hfpv`fnrXQJےbHAZp˂|drtAJltbdQZfH~f`vXnvpے`JXQr˂pZHA|ZdQbtlJfpvnXv`f~Zp˂rXQJ`ےbHAtbdQZ|drtAJlnvpfH~f`vXpZHAbے`Jrbttl|lJtArXv`f`f~JbHArXQJtbdQZfpvnXv`p˂rXQJ`ےbHAZdrtAJtAJl`vXnXnvbے`˂pZAJXQrbtlJtArdnXv`f~HfpvrXQJ`ےbHAZp˂|drtAJltbdQZfH~f`vXnvpے`JXQr˂lJtAd|ZdQbtlHfpvnXv`f~Zp˂rXQJ`ےbHAtbdQZ|drJlt`vXnXnv`JXQrXQr˂ZdQbtd|ZJfpvnXv`f~Zp˂rXQJ`ےbHAtbdQZ|drtAJlnvpfH~f`vXpZHAbے`JrbtJtArd|ZdQ`f~HfpvnXvےbHAZp˂rXQJ`tAJltbdQZ|dtAf`vXnvpfے`J`JXQrXQr˂tArdd|ZvnX~Hfp`ےHAZp˂rXQJ`tAJltbdQZ|drf`vXnvpfH~XQr˂pZHAbے`JXQbtlJtArdnXv`f~HfpvrXQJ`ےbHAZp˂|drtAJltbdQZfH~f`vXnvpے`JXQr˂l|ZdQZdQbtdtl~HfHfpvZp˂`ےbA|drtAJlnXv`f~HXQJ`ےbHAZp˂rltbtbdQZf`pfHXJXQrb`JX˂pZHAJtArd|ZdQ`f~HfpvnXvےbHAZp˂rXQJ`tAJltbdQZ|dtAf`vXnvpfے`JXQr˂pZHAb|ZdQbtlJtArdnXv`f~HfpvrXQJ`ےbHAZp˂|drtAJlbnvvp`pfH~˂pZpZHAbJArddQbt璀nXv`f~HfpvrXQJ`ےbHAZp˂|drtAJltbdQZfH~f`vXnvpے`JXQr˂lJtAd|ZdQbtlHfpvnXv`f~Zp˂rXQJ`ےbHAtbdQZ|drJltnvpfH~XQHAb˂p`p`JXQ|ZdQbdQbt璕vf~HvnXZp˂rXQJ`ےbHAtbdQZ|drtAJlnvpfH~f`vXpZHAbے`JrbtJtArd|ZdQ`f~HfpvnXvےbHAZp˂rXQJ`tAJltbdQZ|dtAf`vXnvpfے`JXQr˂pZHAbbtllJtAJfpvpvnnXvrXQJ`ZrXtAJltbdQZf~HfpvbHAZp˂rXQJ`ےdQtAJl|dtvXnnvppZHAQr˂pbJAd|ZdQbtlHfpvnXv`f~Zp˂rXQJ`ےbHAtbdQZ|drJltnvpfH~XQr˂pZHAbے`JbtlJtArd|ZdQ`f~HfpvnXvےbHAZp˂rXQJ`tAJltbdQZp`vXvXnvpHAbےے`J|ZdQlJtAr`f~HfpvnXvےbHAZp˂rXQJ`tAJltbdQZ|dtAf`vXnvpfے`JXQr˂pZHAb|ZdQbtlJtArdnXv`f~HfpvrXQJ`ےbHAZp˂|drtAJlbnvfH~f`vXے`JXQJXQrrbttl|lJtArfpvv`f~rXQJ`ےbHAZp˂|drtAJltbdQZfH~f`vXnvpے`JXQr˂lJtAd|ZdQbtlHfpvnXv`f~Zp˂rXQJ`ےbHAtbdQZ|drJltnvpfH~XQr˂pZHAbے`JJtArdrd|~HXv`p`pvbHAQJ`ےtbdQZ|drfpvnXv`p˂rXQJ`ےbHAZtbdQbdQZ|vpfHfH~bے`ZHAb|ZdQbtlJtArdnXv`f~HfpvrXQJ`ےbHAZp˂|drtAJlbnvfH~f`vXpZHAbے`JXQr˂JtArd|ZdQbtlHfpvnXv`fHZp˂rXQJ`ےJltbdQZ|drnvpvpfHfے`J`JXQrXQr˂btlZdQbtHfpvnXv`f~Zp˂rXQJ`ےbHAtbdQZ|drJltnvpfH~XQr˂pZHAbے`JbtlJtArd|ZdQ`f~HfpvnXvےbHAZp˂rXQJ`tAJltbdQZpfHf`vXnvpr˂p˂pZHAl|ZdQZdQbtdtlnXv`fvnےbHAZp˂rXQJ`tAJltbdQZ|dtAf`vXnvpfے`JXQr˂pZHAb|ZdQbtlJtArdnXv`f~HfpvrXQJ`ےbHAZp˂|drtAJlbnvfH~f`vXpZHAbے`JXQr˂|ZdQZdQbtfpvvnXnrXQJZp˂bHAZp|drtAJltbdQZ|drf`vXnvpfH~XQr˂pZHAbے`JbtlJtArd|ZdQ`f~HfpvnrXQJےbHAZp˂|drtAJltbdQZfH~f`vXnvpے`JXQHAXQrb㉀ۑpۑpJAHf۝`vXnvZ|drQtJl|drtAJlnvpfH~f`vXpZHAbے`JXQr˂JtArd|ZdQbtlHfpvnXv`ےHAZp˂rXQJ`tAJltbdQZ|drf`vXnvpfH~r˂p˂pZHAJAHrr󙐂ˁ`XnvˍpfH~rQtJltbAdtAJltbdQZfH~f`vXnvpے`JXQr˂pZHA|ZdQbtlJfpvnXv`f~Zp˂rXQJ`ےbHAtbdQZ|drtAJlnvpfH~f`vXZHAbbے`ˁ`ZQXZQXb㉀pfH~ㅐf۝`vtbAdZ|dtbdQZ|drf`vXnvpfH~XQr˂pZHAbے`JXQbtlJtArdnXv`f~HfpvrXQJ`ےbHAZp˂|drtAJltbdQZfH~f`vXnvpے`JXQJXQrb㉀ۑpۑpJAHf۝`vXnvZ|drQtJl|drtAJlnvpfH~f`vXpZHAbے`JrbtJtArd|ZdQ`f~HfpvnXvےbHAZp˂rXQJ`tAJltbdQZ|dtAf`vXnvpfZHAbr˂p˂p`Z`ZQXbㅐf۝`vXnvˍpfH~rQtJltbAdtAJltbdQZfH~f`vXnvpے`JXQr˂lJtAd|ZdQbtlHfpvnXv`f~Zp˂rXQJ`ےbHAtbdQZ|drJltnvpfH~ے`J`JXQrQXb㉀ۉۑpJXnvˍpfH~ㅐf۝`vtbAdZ|dtbdQZ|dtAf`vXnvpfے`JXQr˂pZHAb|ZdQbtlJtArdnXv`f~HfpvrXQJ`ےbHAZp˂|drtAJlbnvfH~f`vXXQr˂˂pZpJAHrAHr󙐂ˍpfH~ㅐf۝`vXnvZ|drQtJl|drJltnvpfH~XQr˂pZHAbے`JbtlJtArd|ZdQ`f~HfpvnXvےbHAZp˂rXQJ`tAJltbdQZpfHf`vXnvppZHAbHAbےˁ`Z`ZQXbㅐf۝`vXnvˍp|drQtJltbAdtAJlbnvfH~f`vXpZHAbے`JXQr˂JtArd|ZdQbtlHfpvnXv`fHZp˂rXQJ`ےJltbdQZ|drf`vXnvpfH~ے`J`JXQrQXb㉀ۑpJXnvˍpfH~rQtJltbAdZ|dtbdQZpfHf`vXnvpے`JXQr˂pZHAb|ZdQbtlJtArdnXv`f~fpvrXQJ`ےbHAtbdQZ|drtAJlnvpfH~f`vXXQr˂pZˁ`ZQXAHQXb㉀pfH~ㅐf۝`vtbAdZ|drQtJltijklmnopponmlkj \ No newline at end of file diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv24_2.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv24_2.dat deleted file mode 100644 index 405fb37a7331eb89642df47549c7b91586a30a27..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 35451 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 diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv24_3.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv24_3.dat deleted file mode 100644 index f270bac41a22e94501c344c19c5d304908082708..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 35446 zcmeI4OH&kC6NX38P`o4FP*71(@qSmlx7W74wxG6%+9IMTVh2IEG7KPs1q&m92o@~- zMf?PoEL^%^!P4(!Wj*$A^jKBh)eIB!aUyg^t52Ui`R1E%X4XvZL(W@W?{#&))AhDP z*XuXB+F$8vd#S7Sg|6&#UC*BCYI&lo`LV9dBV7+4=xS=zbw91^-d$a{Z{NNn>()(O zsT;bI*L7XHs_V*SU6&HN^z^w8|M>a6)Bpec{}_HsdH=6pzb-lcOLcxffM@0WCWzyX zU!Q(TfB#B9|Jw84`FZkq`E$1JAKcu!3G>Ip|D`{_1}^8%pPtNBT>g6H{YdnZdE?E$ zcTCJm>b1|GKRubZu>5QDPTNbALp=Jyr%mVi^QT8S%+wDTFX#%=5w;z9D^Nhi>7cN7 zF+^ygpGsjbCg_RdM>IRc`LBs&;Br}__d@omp|}E-U<|HSY4`mv`{-{T5<7$ z3s;5e>Xs)c>p$!3zv*gES-aw!_yAYr4&Nbj)sDOsR5~;3oqwAh zc`K;c^!HNRVbz_n>%OK&tL`iju728~bQQZDztqoaM_?X|8t2#%Hh;jour6^0L_`e-t^Z3j-kJ}%1pF`uL^nHTj?Kpo8fD9QY-Smo;|}l-SGEy;<&D3M|B-Jtn1K0T?h8-+P7ENo_bxocj?+$r)$S{UE6AP zZQY`4bB(U*O}eT!daG)~dR^<*>RMB&YjuULRV#I^Sgvc?Qe8{RbuC_`YvBT2W%G4m z@vqjNIw@<`?X9Zv44!R!)!Ny&SKYgD*8TfmxA&<0m=G>?{FctY^Zt_MieKBmK3)B5 z?Nw{%s=ZaQ$M0OV*Qe)=ar5(>wbu{exa=kG7HIF$QuCFsH)8W|!S*UW|7Yx-Wj*j&`Mu=i-m<2SFI)#767qr&-0JzQ#j#;+UJV`<^_pj3i|+I#G$ zXG>N8YU0J-ytP!m(du8j?v0v%@#~SpRQmDO`x^~MN#$$Xo41xqKU}?ExV^u}@u7os zHsa}TgsqEKSJ2t`bAO{ydyjdApt}w{u%Av&as8aI_U5gnlk@w2PNDXOtpoS%rE^tS z|0=4zd28uh&Fo*5+TOgibn3$P>$Fc-sJ(e>>D1}(vt@7IS~`<|?oa;gODbIzts|F| z|GqC7%+K1H42x&{i@kYk>BRoNAN$i@-@z_^hMkFD@Qi=)uB#6lWG{W#V(raaOXqoJ z|9Q^Y>+y45ZIFG*MzFKXzu23%mQK6=KKu64Y1iMGE#Ti$)d^d-{C2KTbo>V4S#X`p zefZGT_5S_x((t>HgCRl%e=~R z=kDG5`rW&C?b^BX%9X2EuU)%-odcacd+yx%^A|33cD{S}_H9Q;MaAmXm6dDOJb(V| z+0&;jE%M!RBLBGcVfSljICbje$rC4z9Xo#f#EFw96N!r#FI+f(e&4?R`{hn<+(;&` zU%z%u|LxGBJ$v+o4<0^z^eB^gTvJnBy=l|NjrZ=Q)Ax-@b#*&-Y~Q|Zo9q7GyfJgc z_E)dgu3fio{rU|Xo;+!8e*8F-IdeuW^v$meyI)v;sCOC~cJ9;@K5lM)@}#BZsj0>{ ztY5!wopFU{QjkB|+7vNHA8*{Wsk-{nqlXV4JZNgVa6u8`n_nAtKij`9e+bs(hPG|f z6FzCB^LN8xd#3>wWs>ALV zHa-Nqazotri`LecFWcH)RaC56wQ}W(6~+~wN&LO*{#sfTF}1bZwr$_OV@E2b2)%w? z5x2<{FXGX#`vt`t{*c(08{)oSwYQsTa>v`{%a<)%x^&4B;|k9t{@!(enT#T)u5Rbf zUAuPgzIII+vV^(`vt`t@gZCyH^hCv>wN#dtLwvu^76%t7cE-2(73`g ziNANTG<lP_3MRyKeBym@cl zbacFZ`|cfo@4CNx_wL@kV_pn~&(5D$2FG73R_G34_X~V84-Mtpc=Zx}|-x@_6<<)T@H$>pC#$%OR>e5P6cocU2^ z#?Q(Mxm?tJgW`@j@krk=jjFGT3ehgY=&M$#q6zC4cumz;LxZZbD_8J0Ixp(JVfpa& zYrQE|VQbflh7o38vqqIoSpR^3Rbj`EtLjT8)$dhRo$uauh-8YoZ&+R=ZdHv{Rf(1n zhTpJ36;4?H5C^J`4#5b~$z5TCt&uex&Mrs^6IHtDo7eRZ`e zov{8P4*W7;zpCg!dVH#Mo+ zTE5&X8cg6t-8U@1p)+^*LWeqHhyMp*{R97LRa94}Dm{}?)m2{Z6%QuxqV5}(-_VU{j%GZw3MqS;yW!H~E`v&uy-juMD?C+P`$HLa%_C2B-w0fAe|fjjm;e&VFpNgyu=)#3I%q95Q{Rq=1$XcpSAL27rwY}9>&_zm2#KlM9# zIck3d{Q%FZn(yqas*)Mv?c3;h@(g_Gs&BwOb=h3!Ywnvm9=%UKf>(d7gA}>M2ld-r z=XLlOJW>~sw_JEb2NOrsd2^lr;c4(FJw54-k>9|(U00!(>8r`x|H4djJx{>r;L#ro zJT5ms(yIXPcKwB}rVr=Sa$F-j)$ z#||&xDe!LBbLe#D7XH|1XVkpM_q*yY;^jb*b2VE(9F!rT8K(JTidXOyc(?0v^gMG8 zf6TOPuFm0Xogp($(OBdicnZAR^*g$sxrjfO+B{e1cDA0E8LMb9bPhb_!W;DgbCjBD zois7`pifb(zloP^Mb7zb-7hm)IU{)oo^t62>Imj8G9wj@!kmPDMzQ`TUeJ4m&IRrI zV9OTWk-P&>x%30|26GyjsftEnuEP0>^*8Z?-YayDXx9U(6ZFJMffCKad}o1If(R)ar|v+i<>O{Y|`}_j2Z^kU6Ct zU(6-RJMffCKk%Lgb0hP1b)-3|{rxuH;1}Yh*tw=1U*a86kmMbB%B3Ha&9`r7zC_*M z8FH>_f4_}4_=R|3e^*^f|0L`jS*Lm{R-kj>DOWxrKQM=)KM)t*@Hg>N?A+9jFM0P$ zdad-K;VD->!9Um+)CZvt7d5_#mtyCv#6Ns0?`la;mVPxn<;o}UubE4G6F};VxbQ}N z6EDTiW9|Evce|t`iLQpHT=@iicrS;U;-C5gJsOw4iI-yMwsw4@r_j~#lq;Wr5C8SU z=hPSI(YX9gyc9d%h40`~^c1=po&xXS7k`r<{MQwqP+y=&U%EeDe@jX z<>D9a%YVJ`5%mRnG%kPBCo6VdOneb<=qd6ZJmtz~Wo6p$@n45*Bp%SCarv7*S+R3v z;){4gPm%Y)EqJ&2jnA9^<(4<`Bp%WQzITwv+f2PkpRCyVGx0^d@%|Dz2cCj2Y<}bO z^sR{p^k`iErcYMvoSOI|-gwW6ya!K7{Fb%nzD|7X9mu51QrW(Vkj3{ayIUebp0{3P0cz{CJlW3w{*Qg3X`!X&oC0!b4R22-f6=h?ltV zqtV-z20wkie}nK46+ari*)PP4haVHf#o|Y!w{6V7ol*Q7#3xbt2mBB(=^6Z%90<#A zHvee!b`FCF_@UJJnNDdW5|3f|&E_BQ10LXqxbXu%bHmv_`3`V1*`>@jlizw0oCkk# z9_%H534Z>bkA9Dz@cwn>BlvBqTan3gl0%2al8Fh!7;+B%wP(9=Nt;VDUn1-wE(yE8eIER1<4RR$ zPr{cMOp)J z1?$Nq_KQ6t})!FdoL+PH-uY`y|lUNgfq z1%hzGxu|b~p2vUeud3wR2YP9#`xE~uzbUL$j5!z=E`)Yb@EHDy>c}9dD4z+_z8WhxBsJ+_;f$73XJoI zfBWd?0U1>U;gj=+>RVrDI6Qyq zGb0?2vRuy>%Fo1$%(&!270<1SV)2Y_QMNKsJU!Oa`aRL+!l&R_IFY`B7hEO4Gw~ub zF}cv@VKd}1hbk7&=vwgHJpE@pb3gR8N{we_tK3(Aj5$;+Kcj!);GID zJb&r~&)yK$d`Vn*hL?lz%>97pf%dPSi(UASst0(U{lT+0w2cwZ=!~d%Mi0cz&%_J) zD?U7H#)yXJe7%7lh#Swu3wq4Mvmvcw@yy&OES_i9CEvTz1Es<>xacN=V2~vu^L`teKq&`cZ)UrXiap7RFrr;TTQ8*XR}JX4qQoQ-4fKl5Dq_)ofwcnQKYeIFMu+wmnm4XKU7@-y$fcrP!SLTx5)g5T#0!W;OJF1XZ2DZ^Ld;;?wO z&y$ZY?NlgRg~v1a42$QecmvPyj{kb+R9HN_;){EXif8)5VeuRlZ;EI0)~o;it1lxb zT>KogKfKI6hQo87-|&}^^Qgg_jh`U?w4cx8O_c-sfxfo?`f=>=>=>=<;<;<;<;:9:9:9:9:9:9:9:987878787656565654343434343434343212121210/0/0/0/.-.-.-.-tstststststststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijijijijijihghghghgfefefefedcdcdcdcdcdcdcdcbabababa`_`_`_`_`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQRQPOPOPOPOPOPOPONMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCBABABABABABABABA@?@?@?@?>=>=>=>=<;<;<;<;:9:9:9:9:987878787878787656565654343434343212121212121210/0/0/0/.-.-.-.-tstststststststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijijijijijihghghghgfefefefedcdcdcdcdcdcdcdcbabababa`_`_`_`_`_^]^]^]^]^]^]^]\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCBABABABABA@?@?@?@?@?@?@?>=>=>=>=<;<;<;<;:9:9:9:98777777887878787656565654343434321212121212121210/0/0/0/.-.-.-.-tstststststststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijijijijijihghghghgfefefefedcdcdcdcdcdcdcdcbabababa`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSQQQQQRQRPOPOPOPOPOPOPOPONMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCBABABABA@?@?@?@?@?@?@?@?>=>=>=>=<;<;<;<;:9:9:9:97878787887878787656565654343434321212121212121210/0/0/0/.-.-.-.-tstststststststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijijihghghghghghghgfefefefedcdcdcdcdcdcdcdcbabababa`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSQRQRQRQRPOPOPOPOPOPOPOPONMNMNMNMLKLKLKLKLKJIJIJIJIJIJIJIHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCBABABABA@?@?@?@?@?@?@?@?>=>=>=>=<;<;<;<;:9:9:9:97878787887878777656565654343434321212121212121210/0/0/0/.-.-.-.-tstststststststsrqrqrqrqpopopoponmnmnmnmlklklkkkjijijijihghghghghghghghgfefefefedcdcdcdcdcdcdcdcbabababa`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[ZYZYZYZYZYXWXWXWXWXWXWXWVUVUVUVUTSTSTSTSQRQRQRQRPOPOPOPOPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCBABABABA@?@?@?@?@?@?@?@?>=>=>=>=<;<;<;<;:9:9:9:97878787877878787656565654343434321212121212121210/0/0/0/.-.-.-.-tstststsrqrqrqrqrqrqrqrqpopopoponmnmnmnmkkklklkljijijijihghghghghghghghgfefefefedcdcdcdcdcdcdcdcbabababa`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUTSTSTSTSQRQRQRQRPOPOPOPOPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCBABABABA@?@?@?@?@?@?@?@?>=>=>=>=<;<;<;<;:9:9:9:97878787887656565656565654343434321212121212121210/0/0/0/.-.-.-.-tstststsrqrqrqrqrqrqrqrqpopopoponmnmnmnmklklklkljijijijihghghghghghghghgfefefefedcdcdcdcdcbababababababa`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUTSTSTSTSQRQRQRQRPOPOPOPOPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGFEFEFEFEFEDCDCDCDCDCDCDCBABABABA@?@?@?@?@?@?@?@?>=>=>=>=<;<;<;<;:9:9:9:97878787865656565656565654343434321212121212121210/0/0/0/.-.-.-.-tstststsrqrqrqrqrqrqrqrqpopopoponmnmnmnmklklklkljijijijihghghghghghghghgfefefefedcdcdcdcbabababababababa`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUTSTSTSTSQRQRQRQQPOPOPOPOPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCDCDCDCDCBABABABA@?@?@?@?@?@?@?@?>=>=>=>=<;<;<;<;:9:9:9:97777778765656565656565654343434321212121212121210/0/0/0/.-.-.-.-.-.-.-.-tstststsrqrqrqrqrqrqrqrqpopopoponmnmnmnmklklklkljijijijihghghghghghghghgfefefefedcdcdcdcbabababababababa`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUTSTSTSTSQQQQRQRQPOPOPOPOPONMNMNMNMNMNMNMLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCDCDCDCDCBABABABA@?@?@?@?@?@?@?@?>=>=>=>=<;<;<;<;:9:9:9:98787878765656565656565654343434321212121210/0/0/0/0/0/0/.-.-.-.-.-.-.-.-tstststsrqrqrqrqrqrqrqrqpopopoponmnmnmnmklklklkljijijijihghghghghghghghgfefefefedcdcdcdcbabababababababa`_`_`_`_^]^]^]^]^]\[\[\[\[\[\[\[ZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMNMNMNMNMLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCDCDCDCDCBABABABA@?@?@?@?@?>=>=>=>=>=>=>=<;<;<;<;:9:9:9:987878787656565656565656543434343212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-tstststsrqrqrqrqrqrqrqrqpopopoponmnmnmnmklklkkkkjijijijihghghghghghghghgfefefefedcdcdcdcbabababababababa`_`_`_`_^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMNMNMNMNMLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCDCDCDCDCBABABABA@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;:9:9:9:987878787656565656565656543434343212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-tstststsrqrqrqrqpopopopopopopoponmnmnmnmkklklklkjijijijihghghghghgfefefefefefefedcdcdcdcbabababababababa`_`_`_`_^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMNMNMNMNMLKLKLKLKJIJIJIJIJIHGHGHGHGHGHGHGFEFEFEFEDCDCDCDCDCDCDCDCBABABABA@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;:9:9:9:987878787656565656565656543434343212121210/0/0/0/0/0/0/0/.-.-.-.-.-,+,+,+tstststsrqrqrqrqpopopoponmnmnmnmnmnmnmnmlklklklkjijijijihghghghgfefefefefefefefedcdcdcdcbabababababababa`_`_`_`_^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYXWXWXWXWXWVUVUVUVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMNMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEDCDCDCDCDCDCDCDCBABABABA@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;:9:9:9:987878787656565656565656543434343212121210/0/0/0/0/0/0/0/.-.-.-.-,+,+,+,+tstststsrqrqrqrqpopopoponmnmnmnmlklklklklklklklkjijijijihghghghgfefefefefefefefedcdcdcdcbabababababababa`_`_`_`_^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSRQRQRQQQPOPOPOPONMNMNMNMNMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEDCDCDCDCDCDCDCDCBABABABA@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;:9:9:9:977777878656565656543434343434343212121210/0/0/0/0/0/0/0/.-.-.-.-,+,+,+,+tstststsrqrqrqrqpopopoponmnmnmnmkkkkklkllklklklkjijijijihghghghgfefefefefefefefedcdcdcdcbababababa`_`_`_`_`_`_`_^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUVUTSTSTSTSTSTSTSQQQRQRQRPOPOPOPONMNMNMNMNMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEDCDCDCDCDCBABABABABABABA@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;:9:9:9:978787878656565654343434343434343212121210/0/0/0/0/0/0/0/.-.-.-.-,+,+,+,+tstststsrqrqrqrqpopopoponmnmnmnmklklklkllklklklkjijijijihghghghgfefefefefefefefedcdcdcdcbabababa`_`_`_`_`_`_`_`_^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSTSTSTSTSQRQRQRQRPOPOPOPONMNMNMNMNMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEDCDCDCDCBABABABABABABABA@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;:9:9:9:978787878656565654343434343434343212121210/0/0/0/0/0/0/0/.-.-.-.-,+,+,+,+tstststsrqrqrqrqpopopoponmnmnmnmklklklkllklklklkjijijijihghghghgfefefefefefefefedcdcdcdcbabababa`_`_`_`_`_`_`_`_^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSTSRQRQRQQRQRQRQRPOPOPOPONMNMNMNMNMLKLKLKLKLKLKLKJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEDCDCDCDCBABABABABABABABA@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;:9:9:9:978787878656565654343434343434343212121210/0/0/0/0/.-.-.-.-.-.-.-,+,+,+,+tstststsrqrqrqrqpopopoponmnmnmnmklklklkliiiiiijijijijijihghghghgfefefefefefefefedcdcdcdcbabababa`_`_`_`_`_`_`_`_^]^]^]^]\[\[\[\[\[ZYZYZYZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQQQQQRQQRQRQRQRPOPOPOPONMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEDCDCDCDCBABABABABABABABA@?@?@?@?>=>=>=>=>=<;<;<;<;<;<;<;:9:9:9:978787878656565654343434343434343212121210/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+tstststsrqrqrqrqpopopoponmnmnmnmklklklkljijijijijijijijihghghghgfefefefefefefefedcdcdcdcbabababa`_`_`_`_`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQQRQRQRQRPOPOPOPONMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEDCDCDCDCBABABABABABABABA@?@?@?@?>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:978787877656565654343434343434343212121210/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+tstststsrqrqrqrqpopopoponmnmnmnmklklklkkjijijijijijijijihghghghgfefefefefedcdcdcdcdcdcdcbabababa`_`_`_`_`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQQRQRQQQQPOPOPOPONMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIHGHGHGHGHGFEFEFEFEFEFEFEDCDCDCDCBABABABABABABABA@?@?@?@?>=>=>=>=<;<;<;<;<;:9:9:9:9:9:9:977778787656565654343434343434343212121210/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('&%&%&%&%&%&%&%&%$#$#$#$#"!"!"!"!        - - - - ,+,+,+,+*)*)*)*)*)*)*)*)('('('('&%&%&%&%&%&%&%&%$#$#$#$#"!"!"!"!        - - - - ,+,+,+,+*)*)*)*)*)*)*)*)('('('('&%&%&%&%&%$#$#$#$#$#$#$#"!"!"!"!        - - - - ,+,+,+,+*)*)*)*)*)*)*)*)('('('('&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!        - - - - ,+,+,+,+*)*)*)*)*)*)*)*)('('('('&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!        - - - - ,+,+,+,+*)*)*)*)*)*)*)*)('('('('&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!        - - - - ,+,+,+,+*)*)*)*)*)*)*)*)('('('('&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!        - - - - ,+,+,+,+*)*)*)*)*)('('('('('('('&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!        - - - - - - - ,+,+,+,+*)*)*)*)('('('('('('('('&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!        - - - - - - - - ,+,+,+,+*)*)*)*)('('('('('('('('&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!        - - - - - - - - ,+,+,+,+*)*)*)*)('('('('('('('('&%&%&%&%$#$#$#$#$#"!"!"!"!"!"!"!        - - - - - - - - ,+,+,+,+*)*)*)*)('('('('('('('('&%&%&%&%$#$#$#$#"!"!"!"!"!"!"!"!        - - - - - - - - ,+,+,+,+*)*)*)*)('('('('('('('('&%&%&%&%$#$#$#$#"!"!"!"!"!              - - - - - - - - ,+,+,+,+*)*)*)*)('('('('('('('('&%&%&%&%$#$#$#$#"!"!"!"!                - - - - - - - - ,+,+,+,+*)*)*)*)('('('('('('('('&%&%&%&%$#$#$#$#"!"!"!"!             - - - - - - - - ,+,+,+,+*)*)*)*)('('('('('&%&%&%&%&%&%&%$#$#$#$#"!"!"!"!            - - - - - ,+,+,+,+*)*)*)*)('('('('&%&%&%&%&%&%&%&%$#$#$#$#"!"!"!"!            - - - - ,+,+,+,+*)*)*)*)('('('('&%&%&%&%&%&%&%&%$#$#$#$#"!"!"!"!            - - - - ,+,+,+,+*)*)*)*)('('('('&%&%&%&%&%&%&%&%$#$#$#$#"!"!"!"!            - - - - ,+,+,+,+*)*)*)*)('('('('&%&%&%&%&%&%&%&%$#$#$#$#"!"!"!"!            - - - - ,+*)*)*)*)*)*)*)('('('('&%&%&%&%&%&%&%&%$#$#$#$#"!"!"!"!         - - - - ttssrrqq EEFFGGHHFFEEDDCC..//0011UTSRQQPPddeeffgg1100//..$$%%&&''qqppoonn8899::;;]]\\[[ZZ LLMMNNOOIIHHGGFF ``aabbcc55443322))**++,,XXWWQQPPopqqrrss%%$$##""00112233eeddccbbDDEEFFGGQQPPOONNXXYYZZ[[==<<;;::llmmnnoo))((''&&,,--..//ddccbbaa - - kkqqrrss<<==>>??YYXXWWVVPPQQRRSSEEDDCCBBppoonnmmIIJJKKLLBBAA@@??22334455OONNMMLLhhiijjkk--,,++**(())**++mmllkkjj<<==>>??YYXXWWVVPPQQRRSSEEDDCCBBddeeffgg1100//..--..//00OONNMMLLttttssrr!! 44556677aa``__^^ - -HHIIJJKKMMLLKKJJ - - \\]]^^__99887766ppqqrrss%%$$##""00112233``__^^]] ttttssrr@@AABBCCUUTTSSRRTTUUVVWWAA@@??>>llkkjjiiMMNNOOPP>>==77666677==>>KKJJIIHHllmmnnoo))((''&&,,--..//iihhggff@@AABBCCUUTTSSRRTTUUVVWWAA@@??>>hhiijjkk--,,++**11223344KKJJIIHHqqppoonn8899::;;]]\\[[ZZ LLMMNNOOIIHHGGFF ``aabbcc55443322 !!""##ttttssrr!! 44556677\\[[ZZYYqqponmlkDDEEFFGGQQPPOONNXXYYZZ[[==<<;;::hhggffeeQQRRSSTT55443322??@@AABBGGFFEEDDppqqrrss%%$$##""00112233eeddccbbDDEEFFGGQQPPOONNXXYYZZ[[==<<;;::llmmnnoo))((''&&556677==GGFFEEDD !"##$mmllkkjj<<==>>??YYXXWWVVPPQQRRSSEEDDCCBBddeeffgg1100//..$$%%&&''qqppoonn8899::;;XXWWQQPPkjjiihhg HHIIJJKKMMLLKKJJ - - \\]]^^__99887766ddccbbaa UUVVWWXX1100//..CCDDEEFFCCBBAA@@ !!""##ttttssrr!! 44556677aa``__^^ - -HHIIJJKKMMLLKKJJ - - \\]]^^__99887766ppqqrrss%%$$##"">>??@@AACCBBAA@@$%%&&''(iihhggff@@AABBCCUUTTSSRRTTUUVVWWAA@@??>>hhiijjkk--,,++**(())**++mmllkkjj<<==>>??OONNMMLLgffeeddc - - LLMMNNOOIIHHGGFF ``aabbcc55443322 !!""##``__^^]] - - YYZZ[[\\--,,++**GGHHIIJJ??>>==<;$$%%&&''qqppoonn8899::;;]]\\[[ZZ LLMMNNOOIIHHGGFF ``aabbcc55443322 !!""##ttttssrr!! BBCCDDEE??>>==77())**++,eeddccbbDDEEFFGGQQPPOONNXXYYZZ[[==<<;;::llmmnnoo))((''&&,,--..//iihhggff@@AABBCCKKJJIIHH##$$cbbaa``_PPQQRRSSEEDDCCBBddeeffgg1100//..$$%%&&''\\[[ZZYY - - ]]^^__``))((''&&KKLLMMNN:9877665(())**++mmllkkjj<<==>>??YYXXWWVVPPQQRRSSEEDDCCBBddeeffgg1100//..$$%%&&''qqppoonnFFGGHHII66554433,--..//0aa``__^^ - -HHIIJJKKMMLLKKJJ - - \\]]^^__99887766ppqqrrss%%$$##""00112233eeddccbbDDEEFFGGGGFFEEDD%%&&''((_^^]]\\[TTUUVVWWAA@@??>>hhiijjkk--,,++**(())**++XXWWVVUU aabbccdd%%$$##OOPPQQWW54433221,,--..//iihhggff@@AABBCCUUTTSSRRTTUUVVWWAA@@??>>hhiijjkk--,,++**(())**++mmllkkjjJJKKLLMM221100//01122334]]\\[[ZZ LLMMNNOOIIHHGGFF ``aabbcc55443322 !!""##ttttssrr!! 44556677aa``__^^ - -HHIIJJKKCCBBAA@@))**++,,[ZZYYXXWXXYYZZ[[==<<;;::llmmnnoo))((''&&,,--..//TTSSRRQQeeffgghhXXYYZZ[[100//..-00112233eeddccbbDDEEFFGGQQPPOONNXXYYZZ[[==<<;;::llmmnnoo))((''&&,,--..//iihhggffNNOOPPQQ..--,,++45566778YYXXWWVVPPQQRRSSEEDDCCBBddeeffgg1100//..$$%%&&''qqppoonn8899::;;]]\\[[ZZ LLMMNNOO??>>==77--..//00WVUTSRQQ - - \\]]^^__99887766ppqqrrss%%$$##""00112233ddeeffggPPOONNMMiijjkkll\\]]^^__-,,++**)44556677aa``__^^ - -HHIIJJKKMMLLKKJJ - - \\]]^^__99887766ppqqrrss%%$$##""00112233eeddccbbWWXXYYZZ**))((''9:;<==>>UUTTSSRRTTUUVVWWAA@@??>>hhiijjkk--,,++**(())**++mmllkkjj<<==>>??YYXXWWVVPPQQRRSS6655443311223344PPOONNMM ``aabbcc55443322 !!""##ttttssrr!! 44556677hhiijjkkLLKKJJIImmnnoopp``aabbcc)((''&&%8899::;;]]\\[[ZZ LLMMNNOOIIHHGGFF ``aabbcc55443322 !!""##ttttssrr!! 44556677aa``__^^ - -[[\\]]^^&&%%$$##??@@AABBQQPPOONNXXYYZZ[[==<<;;::llmmnnoo))((''&&,,--..//iihhggff@@AABBCCUUTTSSRRTTUUVVWW221100//556677==LLKKJJIIddeeffgg1100//..$$%%&&''qqppoonn8899::;;llmmnnooHHGGFFEE qqrrsstt ddeeffgg%$$##"! <<==>>??YYXXWWVVPPQQRRSSEEDDCCBBddeeffgg1100//..$$%%&&''qqppoonn8899::;;]]\\[[ZZ __``aabbCCDDEEFFMMLLKKJJ - - \\]]^^__99887766ppqqrrss%%$$##""00112233eeddccbbDDEEFFGGQQPPOONNXXYYZZ[[..--,,++>>??@@AAHHGGFFEEhhiijjkk--,,++**(())**++mmllkkjj<<==>>??ppqqrrssDDCCBBAA!!""##$$ttssrrqq - - hhiijjkk@@AABBCCUUTTSSRRTTUUVVWWAA@@??>>hhiijjkk--,,++**(())**++mmllkkjj<<==>>??YYXXWWVVccddeeffGGHHIIJJIIHHGGFF ``aabbcc55443322 !!""##ttttssrr!! 44556677aa``__^^ - -HHIIJJKKMMLLKKJJ - - \\]]^^__**))((''BBCCDDEEDDCCBBAAllmmnnoo))((''&&,,--..//iihhggff@@AABBCCttttssrr@@??>>==%%&&''((kkjjiihh - - qqrrssttDDEEFFGGQQPPOONNXXYYZZ[[==<<;;::llmmnnoo))((''&&,,--..//iihhggff@@AABBCCUUTTSSRRgghhiijjKKLLMMNNEEDDCCBBddeeffgg1100//..$$%%&&''qqppoonn8899::;;]]\\[[ZZ LLMMNNOOIIHHGGFF ``aabbcc&&%%$$##FFGGHHII@@??>>==ppqqrrss%%$$##""00112233eeddccbbDDEEFFGGqqppoonn<<;;::99))**++,,ggffeedd ttssrrqqHHIIJJKKMMLLKKJJ - - \\]]^^__99887766ppqqrrss%%$$##""00112233eeddccbbDDEEFFGGQQPPOONN - - kkqqrrssOOPPQQRSAA@@??>>hhiijjkk--,,++**(())**++mmllkkjj<<==>>??YYXXWWVVPPQQRRSSEEDDCCBBddeeffggJJKKLLMM<;:98776 !!""##ttttssrr!! 44556677aa``__^^ - -HHIIJJKKmmllkkjj88776655--..//00ccbbaa``ponmlkkjLLMMNNOOIIHHGGFF ``aabbcc55443322 !!""##ttttssrr!! 44556677aa``__^^ - -HHIIJJKKMMLLKKJJ ttttssrr - -TUVWWXXY==<<;;::llmmnnoo))((''&&,,--..//iihhggff@@AABBCCUUTTSSRRTTUUVVWWAA@@??>>hhiijjkkNNOOPPQQ65544332$$%%&&''qqppoonn8899::;;]]\\[[ZZ LLMMNNOOiihhggff4433221111223344__^^]]\\jiihhggf PPQQRRSSEEDDCCBBddeeffgg1100//..$$%%&&''qqppoonn8899::;;]]\\[[ZZ LLMMNNOOIIHHGGFFqqkkjjii YZZ[[\\]99887766ppqqrrss%%$$##""00112233eeddccbbDDEEFFGGQQPPOONNXXYYZZ[[==<<;;::llmmnnooWWXXYYZZ21100//.(())**++mmllkkjj<<==>>??YYXXWWVVPPQQRRSSeeddccbb00//..--55667788[[ZZYYXXfeeddccb - - TTUUVVWWAA@@??>>hhiijjkk--,,++**(())**++mmllkkjj<<==>>??YYXXWWVVPPQQRRSSEEDDCCBBhhggffee]^^__``a55443322 !!""##ttttssrr!! 44556677aa``__^^ - -HHIIJJKKMMLLKKJJ - - \\]]^^__99887766ppqqrrss[[\\]]^^.--,,++*,,--..//iihhggff@@AABBCCUUTTSSRRTTUUVVWWaa``__^^,,++**))99::;;<>ddccbbaa abbccdde1100//..$$%%&&''qqppoonn8899::;;]]\\[[ZZ LLMMNNOOIIHHGGFF ``aabbcc55443322 !!""##ttttssrr - -__``aabb*))((''&00112233eeddccbbDDEEFFGGQQPPOONNXXYYZZ[[]]\\[[ZZ((''&&%%==>>??@@NNMMLLKK&&''(())^]]\\[[Z - - \\]]^^__99887766ppqqrrss%%$$##""00112233eeddccbbDDEEFFGGQQPPOONNXXYYZZ[[==<<;;::##$$``__^^]] - - effgghhi--,,++**(())**++mmllkkjj<<==>>??YYXXWWVVPPQQRRSSEEDDCCBBddeeffgg1100//..$$%%&&''qqkkjjii ccddeeff&%%$$##"44556677aa``__^^ - -HHIIJJKKMMLLKKJJ - - \\]]^^__YYXXWWVV$$##""!!AABBCCDDJJIIHHGG**++,,--ZYYXXWWV ``aabbcc55443322 !!""##ttttssrr!! 44556677aa``__^^ - -HHIIJJKKMMLLKKJJ - - \\]]^^__99887766%%&&''((\\[[ZZYYijjkklmn))((''&&,,--..//iihhggff@@AABBCCUUTTSSRRTTUUVVWWAA@@??>>hhiijjkk--,,++**(())**++hhggffeegghhiijj! 8899::;;]]\\[[ZZ LLMMNNOOIIHHGGFF ``aabbccUUTTSSRRQQPPOONNXXYYZZ[[==<<;;::llmmnnoo))((''&&556677==GGFFEEDD !"##$mmllkkjj<<==>>??YYXXWWVVPPQQRRSSEEDDCCBBddeeffgg1100//..$$%%&&''qqppoonn8899::;;PPOONNMM$$%%&&''QQPPOONNMMLLKKJJ - - \\]]^^__99887766ppqqrrss%%$$##"">>??@@AACCBBAA@@$%%&&''(iihhggff@@AABBCCUUTTSSRRTTUUVVWWAA@@??>>hhiijjkk--,,++**(())**++mmllkkjj<<==>>??LLKKJJII(())**++MMLLKKJJIIHHGGFF ``aabbcc55443322 !!""##ttttssrr!! BBCCDDEE??>>==77())**++,eeddccbbDDEEFFGGQQPPOONNXXYYZZ[[==<<;;::llmmnnoo))((''&&,,--..//iihhggff@@AABBCCHHGGFFEE,,--..//IIHHGGFFEEDDCCBBddeeffgg1100//..$$%%&&''qqppoonnFFGGHHII66554433,--..//0aa``__^^ - -HHIIJJKKMMLLKKJJ - - \\]]^^__99887766ppqqrrss%%$$##""00112233eeddccbbDDEEFFGGDDCCBBAA00112233EEDDCCBB !!""##AA@@??>>hhiijjkk--,,++**(())**++mmllkkjjJJKKLLMM221100//01122334]]\\[[ZZ LLMMNNOOIIHHGGFF ``aabbcc55443322 !!""##ttttssrr!! 44556677aa``__^^ - -HHIIJJKK@@??>>==44556677AA@@??>>$$%%&&''==<<;;::llmmnnoo))((''&&,,--..//iihhggffNNOOPPQQ..--,,++45566778YYXXWWVVPPQQRRSSEEDDCCBBddeeffgg1100//..$$%%&&''qqppoonn8899::;;]]\\[[ZZ LLMMNNOO77665544==>>??@@==<<;;::(())**++99887766ppqqrrss%%$$##""00112233eeddccbbWWXXYYZZ**))((''9:;<==>>UUTTSSRRTTUUVVWWAA@@??>>hhiijjkk--,,++**(())**++mmllkkjj<<==>>??YYXXWWVVPPQQRRSS33221100AABBCCDD99887766,,--..//55443322 !!""##ttttssrr!! 44556677aa``__^^ - -[[\\]]^^&&%%$$##??@@AABBQQPPOONNXXYYZZ[[==<<;;::llmmnnoo))((''&&,,--..//iihhggff@@AABBCCUUTTSSRRTTUUVVWW//..--,,EEFFGGHH55443322001122331100//..$$%%&&''qqppoonn8899::;;]]\\[[ZZ __``aabbCCDDEEFFMMLLKKJJ - - \\]]^^__99887766ppqqrrss%%$$##""00112233eeddccbbDDEEFFGGQQPPOONNXXYYZZ[[++**))((IIJJKKLL1100//..44556677--,,++**(())**++mmllkkjj<<==>>??YYXXWWVVccddeeffGGHHIIJJIIHHGGFF ``aabbcc55443322 !!""##ttttssrr!! 44556677aa``__^^ - -HHIIJJKKMMLLKKJJ - - \\]]^^__''&&%%$$MMNNOOPP--,,++**8899::;;))((''&&,,--..//iihhggff@@AABBCCUUTTSSRRgghhiijjKKLLMMNNEEDDCCBBddeeffgg1100//..$$%%&&''qqppoonn8899::;;]]\\[[ZZ LLMMNNOOIIHHGGFF ``aabbcc##QQWWXXYY))((''&&<<==>>??%%$$##""00112233eeddccbbDDEEFFGGQQPPOONN - - kkqqrrssOOPPQQRSAA@@??>>hhiijjkk--,,++**(())**++mmllkkjj<<==>>??YYXXWWVVPPQQRRSSEEDDCCBBddeeffggZZ[[\\]]%%$$##""@@AABBCC!! 44556677aa``__^^ - -HHIIJJKKMMLLKKJJ ttttssrr - -TUVWWXXY==<<;;::llmmnnoo))((''&&,,--..//iihhggff@@AABBCCUUTTSSRRTTUUVVWWAA@@??>>hhiijjkk^^__``aa!! DDEEFFGG8899::;;]]\\[[ZZ LLMMNNOOIIHHGGFFqqkkjjii YZZ[[\\]99887766ppqqrrss%%$$##""00112233eeddccbbDDEEFFGGQQPPOONNXXYYZZ[[==<<;;::llmmnnoobbccddeeHHIIJJKK<<==>>??YYXXWWVVPPQQRRSSEEDDCCBBhhggffee]^^__``a55443322 !!""##ttttssrr!! 44556677aa``__^^ - -HHIIJJKKMMLLKKJJ - - \\]]^^__99887766ppqqrrss ffgghhiiLLMMNNOO@@AABBCCUUTTSSRRTTUUVVWWAA@@??>>ddccbbaa abbccdde1100//..$$%%&&''qqppoonn8899::;;]]\\[[ZZ LLMMNNOOIIHHGGFF ``aabbcc55443322 !!""##ttllkkjj - - - -iihhggffPPQQRRSSDDEEFFGGQQPPOONNXXYYZZ[[==<<;;::##$$``__^^]] - - effgghhi--,,++**(())**++mmllkkjj<<==>>??YYXXWWVVPPQQRRSSEEDDCCBBddeeffgg1100//..$$%%&&''iihhggff eeddccbbTTUUVVWW - -HHIIJJKKMMLLKKJJ - - \\]]^^__99887766%%&&''((\\[[ZZYYijjkklmn))((''&&,,--..//iihhggff@@AABBCCUUTTSSRRTTUUVVWWAA@@??>>hhiijjkk--,,++**(())**++eeddccbbaa``__^^ - -XXYYZZ[[ LLMMNNOOIIHHGGFF ``aabbcc55443322))**++,,XXWWQQPPopqqrrss%%$$##""00112233eeddccbbDDEEFFGGQQPPOONNXXYYZZ[[==<<;;::llmmnnoo))((''&&,,--..//aa``__^^]]\\[[ZZ - - \\]]^^__PPQQRRSSEEDDCCBBddeeffgg1100//..--..//00OONNMMLLttttssrr!! 44556677aa``__^^ - -HHIIJJKKMMLLKKJJ - - \\]]^^__99887766ppqqrrss%%$$##""00112233]]\\[[ZZYYXXWWVV ``aabbccTTUUVVWWAA@@??>>hhiijjkk--,,++**11223344KKJJIIHHqqppoonn8899::;;]]\\[[ZZ LLMMNNOOIIHHGGFF ``aabbcc55443322 !!""##ttttssrr!! 44556677YYXXWWQQ##UUTTSSRRddeeffgghhiiZHAbZHAb|ZdQbv`f˂rXQbQZ|fH~fH~XQr˂btlHfpvHfpvZp˂|dr|dtAfH~XQr˂btlbtlHfpvbHAZJl|~f`fH~XQr˂btlHfpvHfpvZp˂|drpfHfH~XQr˂btlbtlHfpvZp˂Jltp`vXXH~`JXQrbtlHfpvfpvZp˂|drfH~ے`JXQے`JXQtlJ~HfpJ`ےdrtAJf`vXf`vXpZHAbJtArdnXvnXvrXQJ`tAJlJltf`vXpZHAbJtArdJtArdnXvp˂rdrtAJvXnfZHAbpZHAbJtArdnXvnXvrXQJ`tAJlf`vXf`vXpZHAbJtArdJtArdnXvrXQJ`bdQZ|nvpfZHAb˂pZJtArdnXvnrXQJrXQJ`tAJlf`vXr˂pr˂ptArdv~bHAXQJltbnvpnvpے`J|ZdQ`f~`f~ےbHAtbdQZbnvnvpے`J|ZdQ|ZdQ`f~XQJ`ےltbvpfHے`Jے`J|ZdQ`f~`fHےbHAtbdQZnvpnvpے`J|ZdQf~`f~ےbHAdrtAfH~JQrHAbے|ZdQ`f~`ےHAےbHAtbdQZnvpZHAbZHAb|ZdQbHfpv`ےbdQZ|fH~fH~XQr˂btlHfpvHfpvZp˂|drpfHfH~XQr˂btlbtlHfpvbHAXQdQZ|~fvXXQr˂XQr˂btlHfpvfpvZp˂|drfH~fH~XQr˂btlHfpvHfpvZp˂Jl|f`vX˂pZH`JXQrbtlHfpvZp˂Zp˂|drfH~ے`JXQے`JXQtlJnXvHAZp˂drtAJf`vXfZHAbpZHAbJtArdnXvnXvrXQJ`tAJlf`vXf`vXpZHAbJtArdJtArdnXvJ`ےdrtAJnvppZHAbpZHAbJtArdnXvnrXQJrXQJ`tAJlf`vXf`vXpZHAbJtArdnXvnXvrXQJ`drtAJnvpAbے`˂pZAJtArdnXvrXQJ`rXQJ`tAJlf`vXr˂pr˂ptArd`f~rXQJltbQnvpے`Jے`J|ZdQ`f~`fHےbHAtbdQZnvpnvpے`J|ZdQf~`f~bHAZpltdfH~ːے`Jے`J|ZdQ`f~`ےHAےbHAtbdQZnvpnvpے`J|ZdQ`f~`f~ےbHAltbfHXnJXQr`JXQ|ZdQ`f~ےbHAےbHAtbdQZnvpZHAb|ZdQb|ZdQbHfpv`ےbZdrtfH~XQr˂XQr˂btlHfpvfpvZp˂|drfH~fH~XQr˂btlHfpvHfpv˂rXQrtAJlf`vXXQr˂XQr˂btlHfpvZp˂Zp˂|drfH~fH~XQr˂btlHfpvHfpvZp˂dQZ|vpf˂pZHrbtbtlHfpvZp˂Zp˂|drfH~ے`JXQtlJtlJnXHHAZp`AJltf`vXpZHAbpZHAbJtArdnXvnrXQJrXQJ`tAJlf`vXf`vXpZHAbJtArdnXvnXvJ`ےtbdQnvppZHAbpZHAJtArdnXvrXQJ`rXQJ`tAJlf`vXfZHAbpZHAbJtArdnXvnXvrXQJ`drtAJH~fAbے`lJtAdJtArdnXvrXQJ`rXQJ`tAJlf`vXr˂ptArdtArdfpvےbHAbdQZ|nvpے`Jے`J|ZdQ`f~`ےHAےbHAtbdQZnvpnvpے`J|ZdQ`f~`f~bHAZpZ|dfH~fے`Jے`JXQ|ZdQ`f~ےbHAےbHAtbdQZnvpے`Jے`J|ZdQ`f~`fHےbHAltd`vXnJQrp|ZdQ|ZdQ`f~ےbHAےbHAtbdQZnvpfH~ZHAb|ZdQb|ZdQbnXv`Zp˂drtfH~XQr˂XQr˂btlHfpvZp˂Zp˂|drfH~fH~XQr˂btlHfpvHfpv`ےbrtAJlvnvXQr˂rbtbtlHfpvZp˂Zp˂|drfH~XQr˂XQr˂btlHfpvfpvZp˂rtAJlvpfZHAbbtlbtlHfpvZp˂Zdr|drfH~f`vXے`JXQtlJtlJf~HrXQJ`AJltf`vXpZHAbpZHAJtArdnXvrXQJ`rXQJ`tAJlf`vXfZHAbpZHAbJtArdnXvnXvHAZp˂tbdQpfH~pZHAblJtAdJtArdnXvrXQJ`rXQJ`tAJlf`vXpZHAbpZHAbJtArdnXvnrXQJrXQJ`tbdQH~ے`JXQJtArdJtArdnXvrXQJ`tAJltAJlf`vXnvpr˂ptArdtArdfpvےbHAbdQZnvpے`Jے`JXQ|ZdQ`f~ےbHAےbHAtbdQZnvpے`Jے`J|ZdQ`f~`fHrXQJtAJl璐f`vے`J|ZdQ|ZdQ`f~ےbHAےbHAtbdQZnvpے`Jے`J|ZdQ`f~`ےHAےbHAZ|dvpfHr˂p|ZdQ|ZdQ`f~ےbHAtbdQZtbdQZnvpfH~ZHAb|ZdQbf~HnXv`Zp˂rtAJlfH~XQr˂rbtbtlHfpvZp˂Zp˂|drfH~XQr˂XQr˂btlHfpvfpv`ےbtbdQZXnvXQr˂btlbtlHfpvZp˂Zdr|drfH~XQr˂XQr˂btlHfpvZp˂Zp˂rtAJl~f`ZHAbbtlbtlHfpvZp˂|dr|drfH~fZHAbے`JXQtlJXv`fp˂rbHAZtbdQf`vXpZHAblJtAdJtArdnXvrXQJ`rXQJ`tAJlf`vXpZHAbpZHAbJtArdnXvnrXQJHAZp˂|drpfH~pZHAbJtArdJtArdnXvrXQJ`tAJltAJlf`vXpZHAbpZHAJtArdnXvrXQJ`rXQJ`tbdQvXnے`JXQJtArdJtArdnXvrXQJ`tAJltAJlf`vXے`Jr˂ptArd~HfXQJ`ےdrtAZ|dnvpے`J|ZdQ|ZdQ`f~ےbHAےbHAtbdQZnvpے`Jے`J|ZdQ`f~`p˂bHAtAJl璐f`vے`J|ZdQ|ZdQ`f~ےbHAtbdQZtbdQZnvpے`Jے`JXQ|ZdQ`f~ےbHAےbHAtAJlvpfHrZHA|ZdQf~`f~ےbHAtbdQZtbdQZnvpXQr˂ZHAb|ZdQbpvnbHAZJbdQrtAJlfH~XQr˂btlbtlHfpvZp˂Zdr|drfH~XQr˂XQr˂btlHfpvrXQJ`ZdrtbdQZnvpfHXQr˂btlbtlHfpvZp˂|dr|drfH~XQr˂rbtbtlHfpvZp˂Zp˂tbdQZ~f`bے`btlHfpvHfpvZp˂|dr|dtAfH~pZHAbے`JXQtlJXv`fp˂rZ|dtbdQf`vXpZHAbJtArdJtArdnXvrXQJ`tAJltAJlf`vXpZHAbpZHAJtArdnXvےbHAtAdQZ||lt~f`pZHAbJtArdJtArdnXvrXQJ`tAJltAJlf`vXpZHAblJtAdJtArdnXvrXQJ`rXQJ`|drpfH~JXQrJtArdnXvnXvrXQJ`tAJlJltf`vXے`Jr˂ptArd~HfXQJ`ےrtAJlZ|dnvpے`J|ZdQ|ZdQ`f~ےbHAtbdQZtbdQZnvpے`Jے`JXQ|ZdQ`f~Zp˂drtAbnvvXnے`J|ZdQf~`f~ےbHAtbdQZtbdQZnvpے`J|ZdQ|ZdQ`f~ےbHAےbHAtAJl璐f`vpZHA|ZdQ`f~`f~ےbHAtbdQZbnvnvpXQr˂ZHAb|ZdQbp`frXQtbdQnvffH~XQr˂btlbtlHfpvZp˂|dr|drfH~XQr˂rbtbtlHfpvrXQJ`Jltpff`vpfHXQr˂btlHfpvHfpvZp˂|dr|dtAfH~XQr˂btlbtlHfpvZp˂ZdrtbdQZXnvbے`btlHfpvHfpvZp˂|drpfHfH~pZHAbے`JXQtlJ~HfpJ`ےZ|df`vXf`vXpZHAbJtArdJtArdnXvrXQJ`tAJltAJlf`vXpZHAblJtAdJtArdnXvےrbdQZ|vXn~f`pZHAbJtArdnXvnXvrXQJ`tAJlJltf`vXpZHAbJtArdJtArdnXvrXQJ`tAdQZ||ltpfH~JXQrJtArdnXvnXvrXQJ`tAJlf`vXf`vXے`Jr˂ptArdvnXbHAZprtAJlnvpnvpے`J|ZdQf~`f~ےbHAtbdQZtbdQZnvpے`J|ZdQ|ZdQ`f~XQJ`ےdrtAvpfHvXnvے`J|ZdQ`f~`f~ےbHAtbdQZbnvnvpے`J|ZdQ|ZdQ`f~ےbHAdrtAbnvf`vZAbے|ZdQ`f~`fHےbHAtbdQZnvpnvpXQr˂pZHAblJtAdJtArdnXvrXQJ`rXQJ`tAJlH~˂pZrZdQnXvnXvrXQJ`tAJlJltf`vXpZHAbJtArdJtArdnXvrXQJ`tAJltAJlf`vXZHAbb㉀ۑppfH~Z|dے`J|ZdQ|ZdQ`f~ےbHAےbHAtbdQZvpfHHAbےbtl`f~`f~ےbHAtbdQZbnvnvpے`J|ZdQ|ZdQ`f~ےbHAtbdQZtbdQZnvpے`JXQJAHr󙐅f۝`vrQtJlXQr˂btlbtlHfpvZp˂Zdr|dr~f``JXQHAJtArdHfpvHfpvZp˂|drpfHfH~XQr˂btlbtlHfpvZp˂|dr|drfH~r˂pˁ`ZQXXnv˒tbAdpZHAbJtArdJtArdnXvrXQJ`tAJltAJlvXnbے`|ZdQnXvnXvrXQJ`tAJlf`vXf`vXpZHAbJtArdJtArdnXvrXQJ`tAJltAJlf`vXZHAbb㉀ۑppfH~Z|dے`J|ZdQ|ZdQ`f~ےbHAtbdQZtbdQZvpfHJXQrbtl`f~`fHےbHAtbdQZnvpnvpے`J|ZdQf~`f~ےbHAtbdQZtbdQZnvpے`JXQJAHr󙐅f۝`vrQtJlXQr˂btlbtlHfpvZp˂|dr|dr~f`˂pZHAJtArdHfpvfpvZp˂|drfH~fH~XQr˂btlHfpvHfpvZp˂|dr|dtAfH~HAbےۑpJXnv˒tbAdpZHAbJtArdJtArdnXvrXQJ`tAJltAJlpfH~bے`ZQbt璀nXvnrXQJrXQJ`tAJlf`vXf`vXpZHAbJtArdnXvnXvrXQJ`tAJlJltf`vX`JXQrAHr󙐂ˍpfH~Z|dے`J|ZdQf~`f~ےbHAtbdQZtbdQZf`vJXQrlJtAr`f~`ےHAےbHAtbdQZnvpnvpے`J|ZdQ`f~`f~ےbHAtbdQZbnvnvp˂pZ`ZQXbㅐf۝`vrQtJlXQr˂btlHfpvHfpvZp˂|dr|dtAXnvے`Jd|ZHfpvZp˂Zp˂|drfH~fH~XQr˂btlHfpvHfpvZp˂|drpfHfH~HAbےۑpJXnv˒tbAdpZHAbJtArdnXvnXvrXQJ`tAJlJltpfH~XQr˂dQbt璀nXvrXQJ`rXQJ`tAJlf`vXfZHAbpZHAbJtArdnXvnXvrXQJ`tAJlf`vXf`vX`JXQrAHr󙐂ˍpfH~Z|dے`J|ZdQ`f~`f~ےbHAtbdQZbnvf`vpZHAblJtAr`f~ےbHAےbHAtbdQZnvpے`Jے`J|ZdQ`f~`fHےbHAtbdQZnvpnvpے``pJAHf۝`vrQtJlXQr˂btlHfpvHfpvZp˂|drp`vXXH~ے`Jd|ZQHfpvZp˂Zp˂|drfH~XQr˂XQr˂btlHfpvfpvZp˂|drfH~fH~JXQrr󙐂ˁ`Xnv˒tbAdpZHAbJtArdnXvnXvrXQJ`tAJlnvpfZHAbXQr˂blJtnXvrXQJ`rXQJ`tAJlf`vXpZHAbpZHAbJtArdnXvnrXQJrXQJ`tAJlf`vXf`vX˂pZHAZQXb㉀pfH~Z|dے`J|ZdQ`f~`fHےbHAtbdQZfH~˂pp`JXQArd|`f~ےbHAےbHAtbdQZnvpے`Jے`J|ZdQ`f~`ےHAےbHAtbdQZnvpnvpbے`ۑpJAHf۝`vrQtJlXQr˂btlHfpvfpvZp˂|drf`vXZHAbrbt璁ZdQbtHfpvZp˂Zdr|drfH~XQr˂XQr˂btlHfpvZp˂Zp˂|drfH~fH~JXQrr󙐂ˁ`Xnv˒tbAdpZHAbJtArdnXvnrXQJrXQJ`tAJlnvpے`JXQlJA|lJtnXvrXQJ`tAJltAJlf`vXpZHAbpZHAJtArdnXvrXQJ`rXQJ`tAJlf`vXfr˂˂p`ZpfH~pfH~Z|dے`J|ZdQ`f~`ےHAےbHAtbdQZfHXnr˂pZdQbtArd|`f~ےbHAtbdQZtbdQZnvpے`Jے`JXQ|ZdQ`f~ےbHAےbHAtbdQZnvppZHAbQXb㉀ۅf۝`vf۝`vrQtJlXQr˂btlHfpvZp˂Zp˂|drvpfZHAblJtAZdQbHfpvZp˂|dr|drfH~XQr˂rbtbtlHfpvZp˂Zp˂|drfH~ے`JpJAHrXnv˅Xnv˒tbAdpZHAJtArdnXvrXQJ`rXQJ`tAJlH~fے`pZrd|JtArdnXvrXQJ`tAJltAJlf`vXpZHAblJtAdJtArdnXvrXQJ`rXQJ`tAJlf`vXXQr˂ˁ`ZpfH~p|dZ|dے`JXQ|ZdQ`f~ےbHAےbHAtbdQZ`vXnHAbےZdQbtf~`f~ےbHAtbdQZtbdQZnvpے`J|ZdQ|ZdQ`f~ےbHAےbHAtbdQZnvppZHAbQXb㉀ۅf۝`vrQtJlrQtJlrbtbtlHfpvZp˂Zp˂|drvpf`JXQrlJtAHfpvHfpvZp˂|dr|dtAfH~XQr˂btlbtlHfpvZp˂Zdr|drfH~ے`ppJAHQXXnv˒tbAdtbAdZ|mnopqrsttsrqponKKKKKKKKLLLLLLLLLLLLL \ No newline at end of file diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv25_1.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv25_1.dat deleted file mode 100644 index 6d2446efa4..0000000000 --- a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv25_1.dat +++ /dev/null @@ -1,233 +0,0 @@ -tstststststststststststsrqrqrqrqrqrqrqrqpopopopopopopoponmnmnmnmnmnmnmnmlklklklklklklklkjijijijijijijijihghghghghghghghghgfefefefefefefefefefefedcdcdcdcdcdcdcdcbabababababababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSQRQRQRQRQRQRQRQRPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMNMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:98787878787878787656565656565656543434343434343434343434321212121212121210/0/0/0/0/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!        tstststststststststststsrqrqrqrqrqrqrqrqpopopopopopopoponmnmnmnmnmnmnmnmlklklklklklklklkjijijijijijijijihghghghghghghghgfefefefefefefefefefefefedcdcdcdcdcdcdcdcbabababababababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSQRQRQRQRQRQRQRQRPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMNMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:98787878787878787656565656565656543434343434343434343434321212121212121210/0/0/0/0/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!        tstststststststststststsrqrqrqrqrqrqrqrqpopopopopopopoponmnmnmnmlklklklklklklkkklklklklkjijijijijijijijihghghghghghghghgfefefefefefefefefefefefedcdcdcdcdcdcdcdcbabababababababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSRQRQRQQRQRQRQQQRQRQQQQPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMNMLKLKLKLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:98787878787878787656565656565656543434343434343434343434321212121212121210/0/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!        tstststststststsrqrqrqrqrqrqrqrqrqrqrqrqpopopopopopopoponmnmnmnmkkkkklklkkklklkliiiiiijijijijijijijijijihghghghghghghghgfefefefefefefefefefefefedcdcdcdcdcdcdcdcbababababababababa`_`_`_`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWXWXWXWXWVUVUVUVUVUTSTSTSTSTSTSTSRQQQQQRQQQQQRQRQQQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMLKLKLKLKLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCDCBABABABABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:98787878787878787656565656565656543434343434343434343434321212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!        tstststststststsrqrqrqrqrqrqrqrqrqrqrqrqpopopoponmnmnmnmnmnmnmnmklklklklklklklkljijijijijijijijijijijijihghghghghghghghgfefefefefefefefefefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMLKLKLKLKLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABABABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:9:98787878787878787878777656565656565656543434343434343434321212121212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!        tstststststststsrqrqrqrqrqrqrqrqrqrqrqrqpopopoponmnmnmnmnmnmnmnmklklklklklklklkljijijijijijijijijijijijihghghghghghghghgfefefefefefefefefedcdcdcdcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMLKLKLKLKLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABABABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=>=>=>=>=<;<;<;<;<;:9:9:9:9:9:9:9877777787777787877878787656565656565656543434343434343432121212121212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)*)('('('('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!        tstststststststsrqrqrqrqrqrqrqrqpopopopopopopoponmnmnmnmnmnmnmnmklklklklklklklkljijijijijijijijijijijijihghghghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMLKLKLKLKLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABABABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;:9:9:9:9:9:9:9:9787878787878787887656565656565656565656543434343434343432121212121212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!     tstststststststsrqrqrqrqrqrqrqrqpopopopopopopoponmnmnmnmnmnmnmnmklklklklklklklkljijijijijijijijijihghghghghghghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMLKLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABABABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:9787878787878787865656565656565656565656543434343434343432121212121212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#$#$#$#$#"!"!"!"!"!       tstststststststsrqrqrqrqrqrqrqrqpopopopopopopoponmnmnmnmnmnmnmnmklklklkkklklkkkkjijijijijijijijihghghghghghghghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQQQPOPOPOPOPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABABABABABABA@?@?@?@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:9787878787878787865656565656565656565656543434343434343432121212121212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!        tstststststststsrqrqrqrqrqrqrqrqpopopopopopopoponmnmnmnmnmnmnmnmkkkklklkkklklklkjijijijijijijijihghghghghghghghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSQQQQQRQRQQQRQRQRPOPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:9787878787878787865656565656565656565656543434343434343432121212121212121210/0/0/0/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!        tstststststststsrqrqrqrqrqrqrqrqpopopopopopopoponmnmnmnmnmnmnmnmlklklklklklklklkjijijijijijijijihghghghghghghghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcdcbababababababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSQRQRQRQRQRQRQRQRPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMNMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:97878787878787877656565656565656565656565434343434343434321212121212121210/0/0/0/0/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('('&%&%&%&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!        tstststststststsrqrqrqrqrqrqrqrqpopopopopopopoponmnmnmnmnmnmnmnmlklklklklklklklkjijijijijijijijihghghghghghghghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcbabababababababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSQRQRQRQRQRQRQRQRPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMNMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:97777778777778787656565656565656565434343434343434343434321212121212121210/0/0/0/0/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!                - - - - - - - -         - - - - - - - - - - -         - - - - - - - - - - - -            - - - - - - - - - - - -             - - - - - - - - - - - -             - - - - - - - - - - - -             - - - - - - - - -             - - - - - - - -          - - - - - - - -         - - - - - - - -         - - - - - - - -         - - - - - - - - ttssrrqqDDCCBBAA--..//00]]^^__``WWQQPPOO..//0011hhiijjkkGGFFEEDD(())**++XXYYZZ[[aa``__^^1100//..00112233``aabbccYYXXWWVV))((''&& - - 8899::;;hhiijjkkQQPPOONN!! @@AABBCCppqqrrssIIHHGGFFHHIIJJKKqqppoonnAA@@??>>))**++,,ccddeeffGGFFEEDD - -,--..//0abbccddeUUTTSSRR%%$$##"" <<==>>??llmmnnooMMLLKKJJDDEEFFGGttttssrrEEDDCCBBLLMMNNOOmmllkkjj==<<;;:: - -$$%%&&''TTUUVVWWeeddccbb55443322,,--..//\\]]^^__XXWWQQPP%%&&''((__``aabbPPOONNMMHHIIJJKKqqppoonnAA@@??>> !!""##PPQQRRSSiihhggff99887766 (())**++XXYYZZ[[aa``__^^1100//..00112233``aabbccYYXXWWVV))((''&& - - 8899::;;hhiijjkkQQPPOONN!! NNOOPPQQ\\[[ZZYYOOPPQQRSeeddccbb55443322,,--..//\\]]^^__ppoonnmm@@??>>== 11223344aabbccddNNMMLLKK22334455qqrrssttCCBBAA@@ ,,--..//\\]]^^__]]\\[[ZZ--,,++**44556677ddeeffggUUTTSSRR%%$$##"" <<==>>??llmmnnooMMLLKKJJDDEEFFGGttttssrrEEDDCCBBLLMMNNOOmmllkkjj==<<;;:: - ---..//00gghhiijjCCBBAA@@ 01122334effgghhiQQPPOONN!! @@AABBCCppqqrrssIIHHGGFFHHIIJJKKqqppoonnAA@@??>> !!""##PPQQRRSSiihhggff99887766 (())**++XXYYZZ[[aa``__^^1100//..00112233``aabbccOONNMMLL))**++,,ccddeeffLLKKJJIILLMMNNOOmmllkkjj==<<;;:: - -$$%%&&''TTUUVVWWeeddccbb55443322,,--..//\\]]^^__]]\\[[ZZ--,,++**44556677ddeeffggUUTTSSRR%%$$##"" <<==>>??llmmnnooMMLLKKJJWWXXYYZZXXWWQQPP !"##$TUVWWXXYaa``__^^1100//..00112233``aabbccllkkjjii<<;;::99 - - 55667788eeffgghhJJIIHHGG 6677==>>ttssrrqq??>>==<; - - 00112233``aabbccYYXXWWVV))((''&& - - 8899::;;hhiijjkkQQPPOONN!! @@AABBCCppqqrrssIIHHGGFFHHIIJJKKqqppoonnAA@@??>> !!""##PPQQRRSSiihhggff99887766 11223344kkqqrrss??>>==7745566778ijjkklmnMMLLKKJJDDEEFFGGttttssrrEEDDCCBBLLMMNNOOmmllkkjj==<<;;:: - -$$%%&&''TTUUVVWWeeddccbb55443322,,--..//\\]]^^__]]\\[[ZZ--,,++**44556677ddeeffggKKJJIIHH--..//00gghhiijjHHGGFFEE !!""##PPQQRRSSiihhggff99887766 (())**++XXYYZZ[[aa``__^^1100//..00112233``aabbccYYXXWWVV))((''&& - - 8899::;;hhiijjkkQQPPOONN!! @@AABBCCppqqrrssIIHHGGFF##$$[[\\]]^^OONNMMLL$%%&&''(YZZ[[\\]]]\\[[ZZ--,,++**44556677ddeeffgghhggffee88776655 - - 99::;;<>??llmmnnooMMLLKKJJDDEEFFGGttttssrrEEDDCCBBLLMMNNOOmmllkkjj==<<;;:: - -$$%%&&''TTUUVVWWeeddccbb55443322556677==ttttssrr66554433 9:;<==>>opqqrrssIIHHGGFFHHIIJJKKqqppoonnAA@@??>> !!""##PPQQRRSSiihhggff99887766 (())**++XXYYZZ[[aa``__^^1100//..00112233``aabbccYYXXWWVV))((''&& - - 8899::;;hhiijjkkGGFFEEDD - -11223344kkqqrrssDDCCBBAA $$%%&&''TTUUVVWWeeddccbb55443322,,--..//\\]]^^__]]\\[[ZZ--,,++**44556677ddeeffggUUTTSSRR%%$$##"" <<==>>??llmmnnooMMLLKKJJDDEEFFGGttttssrrEEDDCCBB%%&&''((__``aabbKKJJIIHH())**++,]^^__``aYYXXWWVV))((''&& - - 8899::;;hhiijjkkddccbbaa44332211 ==>>??@@mmnnooppBBAA@@?? - - CCDDEEFFjiihhggf54433221 - - 8899::;;hhiijjkkQQPPOONN!! @@AABBCCppqqrrssIIHHGGFFHHIIJJKKqqppoonnAA@@??>> !!""##PPQQRRSSiihhggff99887766 (())**++XXYYZZ[[aa``__^^1100//..>>??@@AAqqkkjjii221100// - - ??@@AABBttttssrrEEDDCCBBLLMMNNOOmmllkkjj==<<;;:: - -$$%%&&''TTUUVVWWeeddccbb55443322,,--..//\\]]^^__]]\\[[ZZ--,,++**44556677ddeeffggUUTTSSRR%%$$##"" <<==>>??llmmnnooCCBBAA@@ 556677==ttttssrr@@??>>== - - (())**++XXYYZZ[[aa``__^^1100//..00112233``aabbccYYXXWWVV))((''&& - - 8899::;;hhiijjkkQQPPOONN!! @@AABBCCppqqrrssIIHHGGFFHHIIJJKKqqppoonnAA@@??>>))**++,,ccddeeffGGFFEEDD - -,--..//0abbccddeUUTTSSRR%%$$##"" <<==>>??llmmnnoo``__^^]]00//..--AABBCCDDqqrrsstt>>==7766 GGHHIIJJfeeddccb100//..- <<==>>??llmmnnooMMLLKKJJDDEEFFGGttttssrrEEDDCCBBLLMMNNOOmmllkkjj==<<;;:: - -$$%%&&''TTUUVVWWeeddccbb55443322,,--..//\\]]^^__]]\\[[ZZ--,,++** - - BBCCDDEEhhggffee..--,,++CCDDEEFFqqppoonnAA@@??>> !!""##PPQQRRSSiihhggff99887766 (())**++XXYYZZ[[aa``__^^1100//..00112233``aabbccYYXXWWVV))((''&& - - 8899::;;hhiijjkkQQPPOONN!! @@AABBCCppqqrrss??>>==77>>??@@AAqqponmlk<;:98776,,--..//\\]]^^__]]\\[[ZZ--,,++**44556677ddeeffggUUTTSSRR%%$$##"" <<==>>??llmmnnooMMLLKKJJDDEEFFGGttttssrrEEDDCCBBLLMMNNOOmmllkkjj==<<;;:: - ---..//00gghhiijjCCBBAA@@ 01122334effgghhiQQPPOONN!! @@AABBCCppqqrrss\\[[ZZYY,,++**))EEFFGGHHttssrrqq55443322KKLLMMNNbaa``__^-,,++**)@@AABBCCppqqrrssIIHHGGFFHHIIJJKKqqppoonnAA@@??>> !!""##PPQQRRSSiihhggff99887766 (())**++XXYYZZ[[aa``__^^1100//..00112233``aabbccYYXXWWVV))((''&& FFGGHHIIddccbbaa**))((''GGHHIIJJmmllkkjj==<<;;:: - -$$%%&&''TTUUVVWWeeddccbb55443322,,--..//\\]]^^__]]\\[[ZZ--,,++**44556677ddeeffggUUTTSSRR%%$$##"" <<==>>??llmmnnooMMLLKKJJDDEEFFGGttttssrr66554433 - - BBCCDDEEkjjiihhg6554433200112233``aabbccYYXXWWVV))((''&& - - 8899::;;hhiijjkkQQPPOONN!! @@AABBCCppqqrrssIIHHGGFFHHIIJJKKqqppoonnAA@@??>> !!""##PPQQRRSSiihhggff99887766 11223344kkqqrrss??>>==7745566778ijjkklmnMMLLKKJJDDEEFFGGttttssrrXXWWVVUU((''&&%%IIJJKKLLkkjjiihh1100//..OOPPQQWW^]]\\[[Z)((''&&%DDEEFFGGttttssrrEEDDCCBBLLMMNNOOmmllkkjj==<<;;:: - -$$%%&&''TTUUVVWWeeddccbb55443322,,--..//\\]]^^__]]\\[[ZZ--,,++**44556677ddeeffggUUTTSSRR%%$$##""JJKKLLMM``__^^]]&&%%$$##KKLLMMNNiihhggff99887766 (())**++XXYYZZ[[aa``__^^1100//..00112233``aabbccYYXXWWVV))((''&& - - 8899::;;hhiijjkkQQPPOONN!! @@AABBCCppqqrrssIIHHGGFFHHIIJJKKqqkkjjii221100// FFGGHHIIgffeeddc21100//.44556677ddeeffggUUTTSSRR%%$$##"" <<==>>??llmmnnooMMLLKKJJDDEEFFGGttttssrrEEDDCCBBLLMMNNOOmmllkkjj==<<;;:: - -$$%%&&''TTUUVVWWeeddccbb55443322556677==ttttssrr66554433 9:;<==>>opqqrrssIIHHGGFFHHIIJJKKqqppoonnTTSSRRQQ$$##""!! MMNNOOPPggffeedd--,,++**XXYYZZ[[ZYYXXWWV%$$##"! HHIIJJKKqqppoonnAA@@??>> !!""##PPQQRRSSiihhggff99887766 (())**++XXYYZZ[[aa``__^^1100//..00112233``aabbccYYXXWWVV))((''&& - - 8899::;;hhiijjkkQQPPOONN!! NNOOPPQQ\\[[ZZYYOOPPQQRSeeddccbb55443322,,--..//\\]]^^__]]\\[[ZZ--,,++**44556677ddeeffggUUTTSSRR%%$$##"" <<==>>??llmmnnooMMLLKKJJDDEEFFGGttttssrrEEDDCCBBLLMMNNOOhhggffee..--,,++JJKKLLMMcbbaa``_.--,,++* - - 8899::;;hhiijjkkQQPPOONN!! @@AABBCCppqqrrssIIHHGGFFHHIIJJKKqqppoonnAA@@??>> !!""##PPQQRRSSiihhggff99887766 (())**++XXYYZZ[[aa``__^^1100//..>>??@@AAqqkkjjii221100// - - ??@@AABBttttssrrEEDDCCBBLLMMNNOOmmllkkjj]]\\[[ZZPPOONNMM !!""##$$QQRRSSTTccbbaa``))((''&&##$$%%\\]]^^__UTSRQQPPLLMMNNOOmmllkkjj==<<;;:: - -$$%%&&''TTUUVVWWeeddccbb55443322,,--..//\\]]^^__]]\\[[ZZ--,,++**44556677ddeeffggUUTTSSRR%%$$##"" <<==>>??llmmnnooMMLLKKJJWWXXYYZZXXWWQQPP !"##$TUVWWXXYaa``__^^1100//..00112233``aabbccYYXXWWVV))((''&& - - 8899::;;hhiijjkkQQPPOONN!! @@AABBCCppqqrrssIIHHGGFFHHIIJJKKqqppoonnAA@@??>> !!""##PPQQRRSSddccbbaa**))((''NNOOPPQQ_^^]]\\[*))((''& <<==>>??llmmnnooMMLLKKJJDDEEFFGGttttssrrEEDDCCBBLLMMNNOOmmllkkjj==<<;;:: - -$$%%&&''TTUUVVWWeeddccbb55443322,,--..//\\]]^^__]]\\[[ZZ--,,++** - - BBCCDDEEhhggffee..--,,++CCDDEEFFqqppoonnAA@@??>> !!""##PPQQRRSSiihhggffYYXXWWVVLLKKJJII%%&&''((UUVVWWXX__^^]]\\%%$$##&&''(())``aabbccOONNMMLL !!""##PPQQRRSSiihhggff99887766 (())**++XXYYZZ[[aa``__^^1100//..00112233``aabbccYYXXWWVV))((''&& - - 8899::;;hhiijjkkQQPPOONN!! @@AABBCCppqqrrssIIHHGGFF##$$[[\\]]^^OONNMMLL$%%&&''(YZZ[[\\]]]\\[[ZZ--,,++**44556677ddeeffggUUTTSSRR%%$$##"" <<==>>??llmmnnooMMLLKKJJDDEEFFGGttttssrrEEDDCCBBLLMMNNOOmmllkkjj==<<;;:: - -$$%%&&''TTUUVVWW``__^^]]&&%%$$##WWXXYYZZ[ZZYYXXW&%%$$##"@@AABBCCppqqrrssIIHHGGFFHHIIJJKKqqppoonnAA@@??>> !!""##PPQQRRSSiihhggff99887766 (())**++XXYYZZ[[aa``__^^1100//..00112233``aabbccYYXXWWVV))((''&& FFGGHHIIddccbbaa**))((''GGHHIIJJmmllkkjj==<<;;:: - -$$%%&&''TTUUVVWWeeddccbbUUTTSSRRHHGGFFEE))**++,,YYZZ[[\\[[ZZYYXX**++,,--ddeeffggKKJJIIHH$$%%&&''TTUUVVWWeeddccbb55443322,,--..//\\]]^^__]]\\[[ZZ--,,++**44556677ddeeffggUUTTSSRR%%$$##"" <<==>>??llmmnnooMMLLKKJJDDEEFFGGttttssrrEEDDCCBB%%&&''((__``aabbKKJJIIHH())**++,]^^__``aYYXXWWVV))((''&& - - 8899::;;hhiijjkkQQPPOONN!! @@AABBCCppqqrrssIIHHGGFFHHIIJJKKqqppoonnAA@@??>> !!""##PPQQRRSSiihhggff99887766 (())**++XXYYZZ[[\\[[ZZYY##$$[[\\]]^^WVUTSRQQ! DDEEFFGGttttssrrEEDDCCBBLLMMNNOOmmllkkjj==<<;;:: - -$$%%&&''TTUUVVWWeeddccbb55443322,,--..//\\]]^^__]]\\[[ZZ--,,++**44556677ddeeffggUUTTSSRR%%$$##""JJKKLLMM``__^^]]&&%%$$##KKLLMMNNiihhggff99887766 (())**++XXYYZZ[[aa``__^^QQPPOONNMMLLKKJJDDEEFFGGttttssrrEEDDCCBBLLMMNNOOmmllkkjj==<<;;:: - -$$%%&&''TTUUVVWWeeddccbb55443322,,--..//\\]]^^__PPOONNMM00112233iihhggff99887766 - - 8899::;;IIHHGGFFHHIIJJKKqqppoonnAA@@??>> !!""##PPQQRRSSiihhggff99887766 (())**++XXYYZZ[[aa``__^^1100//..00112233``aabbccLLKKJJII44556677eeddccbb55443322 <<==>>??EEDDCCBBLLMMNNOOmmllkkjj==<<;;:: - -$$%%&&''TTUUVVWWeeddccbb55443322,,--..//\\]]^^__]]\\[[ZZ--,,++**44556677ddeeffggHHGGFFEE ==>>??@@aa``__^^1100//..@@AABBCCAA@@??>> !!""##PPQQRRSSiihhggff99887766 (())**++XXYYZZ[[aa``__^^1100//..00112233``aabbccYYXXWWVV))((''&& - - 8899::;;hhiijjkkDDCCBBAA - - - -AABBCCDD]]\\[[ZZ--,,++**DDEEFFGG==<<;;:: - -$$%%&&''TTUUVVWWeeddccbb55443322,,--..//\\]]^^__]]\\[[ZZ--,,++**44556677ddeeffggUUTTSSRR%%$$##"" <<==>>??llmmnnoo@@??>>== EEFFGGHHYYXXWWVV))((''&&HHIIJJKK99887766 (())**++XXYYZZ[[aa``__^^1100//..00112233``aabbccYYXXWWVV))((''&& - - 8899::;;hhiijjkkQQPPOONN!! @@AABBCCppqqrrss77665544IIJJKKLLUUTTSSRR%%$$##""LLMMNNOO55443322,,--..//\\]]^^__]]\\[[ZZ--,,++**44556677ddeeffggUUTTSSRR%%$$##"" <<==>>??llmmnnooMMLLKKJJDDEEFFGGttllkkjj33221100MMNNOOPPQQPPOONN!!  !!""##PPQQRRSS1100//..00112233``aabbccYYXXWWVV))((''&& - - 8899::;;hhiijjkkQQPPOONN!! @@AABBCCppqqrrssIIHHGGFFHHIIJJKKiihhggff//..--,,QQWWXXYYMMLLKKJJ$$%%&&''TTUUVVWW--,,++**44556677ddeeffggUUTTSSRR%%$$##"" <<==>>??llmmnnooMMLLKKJJDDEEFFGGttttssrrEEDDCCBBLLMMNNOOeeddccbb++**))((##ZZ[[\\]]IIHHGGFF(())**++XXYYZZ[[))((''&& - - 8899::;;hhiijjkkQQPPOONN!! @@AABBCCppqqrrssIIHHGGFFHHIIJJKKqqppoonnAA@@??>> !!""##PPQQRRSSaa``__^^''&&%%$$$$%%&&''^^__``aaEEDDCCBB,,--..//\\]]^^__%%$$##"" <<==>>??llmmnnooMMLLKKJJDDEEFFGGttttssrrEEDDCCBBLLMMNNOOmmllkkjj==<<;;:: - -$$%%&&''TTUUVVWW]]\\[[ZZ##(())**++bbccddeeAA@@??>>00112233``aabbcc!! @@AABBCCppqqrrssIIHHGGFFHHIIJJKKqqppoonnAA@@??>> !!""##PPQQRRSSiihhggff99887766 (())**++XXYYZZ[[YYXXWWQQ,,--..//ffgghhii==<<;;:: - -44556677ddeeffgghhiiZHAbZHAbZHAb|ZdQb|ZdQbp`fnXv`˂rXQZp˂dQZ|rtAJlfH~fH~XQr˂XQr˂rbtbtlbtlHfpvHfpvZp˂Zp˂Zp˂|dr|drfH~fH~fH~XQr˂XQr˂btlbtlHfpvHfpvHfpvbHAZ`ےbdQZ|tbdQZf`vXvpfHXQr˂XQr˂btlbtlbtlHfpvHfpvZp˂Zp˂Zdr|dr|drfH~fH~XQr˂XQr˂XQr˂btlbtlHfpvHfpvfpvZp˂Zp˂Jl|tbdQZvpfXnvZHAb`JXQrbtlbtlHfpvHfpvHfpvZp˂Zp˂|dr|dr|dtAfH~fH~XQr˂XQr˂rbtbtlbtlHfpvHfpvZp˂Zp˂Zp˂|dr|drf`vX~f`ZHAbے`JlJtAd|ZQHfpvHfpvfpvZp˂Zp˂ے`JXQے`JXQے`JXQtlJtlJ~Hfpf~HJ`ےbHAZdrtAJtbdQf`vXf`vXpZHAbpZHAblJtAdJtArdJtArdnXvnXvrXQJ`rXQJ`rXQJ`tAJltAJlf`vXf`vXfZHAbpZHAbpZHAbJtArdJtArdnXvnXvnXvp˂rHAZp˂drtAJ|ltnvp~f`pZHAbpZHAbJtArdJtArdJtArdnXvnXvrXQJ`rXQJ`tAJltAJltAJlf`vXf`vXpZHAbpZHAbpZHAJtArdJtArdnXvnXvnrXQJrXQJ`rXQJ`drtAJ|drH~fpfH~ے`JXQ˂pZJtArdJtArdnXvnXvnXvrXQJ`rXQJ`tAJltAJlJltf`vXf`vXpZHAbpZHAblJtAdJtArdJtArdnXvnXvrXQJ`rXQJ`rXQJ`tAJltAJlnvppfH~ے`pZXQr˂rZdQblJtnXvnXvnrXQJrXQJ`rXQJ`r˂pr˂pr˂ptArdtArdvnXfpvbHAXQJdrtAltbQZ|dnvpnvpے`Jے`J|ZdQ|ZdQ|ZdQ`f~`f~ےbHAےbHAےbHAtbdQZtbdQZnvpnvpے`Jے`Jے`J|ZdQ|ZdQ`f~`f~`fHXQJ`ےbHAltdbnvfH~fvXnvے`Jے`J|ZdQ|ZdQf~`f~`f~ےbHAےbHAtbdQZtbdQZtbdQZnvpnvpے`Jے`Jے`JXQ|ZdQ|ZdQ`f~`f~`ےHAےbHAےbHAltbtAJl`vXnf`vr˂pHAbے|ZdQ|ZdQ`f~`f~`fHےbHAےbHAtbdQZtbdQZbnvnvpnvpے`Jے`J|ZdQ|ZdQ|ZdQ`f~`f~ےbHAےbHAےbHAtbdQZtbdQZfHXnf`vHAbےpZHAbbtlArd|`f~`f~`ےHAےbHAےbHAZHAbZHAb|ZdQb|ZdQb|ZdQbv`fnXv``ےbJbdQZdrtnvffH~fH~XQr˂XQr˂btlbtlbtlHfpvHfpvZp˂Zp˂Zdr|dr|drfH~fH~XQr˂XQr˂XQr˂btlbtlHfpvHfpvfpvbHAXQZdrrtAJlpff`vnvfH~XQr˂XQr˂btlbtlHfpvHfpvHfpvZp˂Zp˂|dr|dr|dtAfH~fH~XQr˂XQr˂rbtbtlbtlHfpvHfpvZp˂Zp˂Zp˂dQZ|tbdQZvpfXH~ZHAb`JXQrbtlbtlHfpvHfpvfpvZp˂Zp˂|dr|drpfHfH~fH~XQr˂XQr˂btlbtlbtlHfpvHfpvZp˂Zp˂Zdr|dr|drvpfXnv`JXQrے`JJtArdZdQbtHfpvHfpvZp˂Zp˂Zp˂ے`JXQے`JXQtlJtlJtlJ~Hfpp˂rHAZp˂Z|dAJltf`vXf`vXf`vXpZHAbpZHAbJtArdJtArdJtArdnXvnXvrXQJ`rXQJ`tAJltAJltAJlf`vXf`vXpZHAbpZHAbpZHAJtArdJtArdnXvnXvnrXQJJ`ےtAdQZ|tbdQvXnpfH~fZHAbpZHAbpZHAbJtArdJtArdnXvnXvnXvrXQJ`rXQJ`tAJltAJlJltf`vXf`vXpZHAbpZHAblJtAdJtArdJtArdnXvnXvrXQJ`rXQJ`rXQJ`drtAJ|ltH~fZHAbے`JXQ˂pZAJtArdJtArdnXvnXvnrXQJrXQJ`rXQJ`tAJltAJlf`vXf`vXf`vXpZHAbpZHAbJtArdJtArdJtArdnXvnXvrXQJ`rXQJ`tAJltAJltAJlH~fpfH~˂pZXQr˂|ZdQlJtnXvnXvrXQJ`rXQJ`rXQJ`r˂pr˂ptArdtArdtArdv~XQJ`ےrXQJrtAJlbdQZ|nvpnvpnvpے`Jے`J|ZdQ|ZdQf~`f~`f~ےbHAےbHAtbdQZtbdQZtbdQZnvpnvpے`Jے`Jے`JXQ|ZdQ|ZdQ`f~`f~`p˂bHAZpdrtAZ|dvpfHf`vے`Jے`Jے`J|ZdQ|ZdQ`f~`f~`fHےbHAےbHAtbdQZtbdQZbnvnvpnvpے`Jے`J|ZdQ|ZdQ|ZdQ`f~`f~ےbHAےbHAےbHAltdbnvvpfHJQrrZHA㙒`JXQ|ZdQ|ZdQ`f~`f~`ےHAےbHAےbHAtbdQZtbdQZnvpnvpnvpے`Jے`J|ZdQ|ZdQf~`f~`f~ےbHAےbHAtbdQZtbdQZtbdQZ`vXnf`vHAbےp`JXQbtlArd|`f~`f~ےbHAےbHAےbHAZHAbZHAb|ZdQb|ZdQbf~HHfpvbHAZ`ےbtbdQdrtfH~fH~fH~XQr˂XQr˂btlbtlHfpvHfpvHfpvZp˂Zp˂|dr|dr|dtAfH~fH~XQr˂XQr˂rbtbtlbtlHfpvHfpvrXQJ`˂rXQJltrtAJl~f`XnvXQr˂XQr˂XQr˂btlbtlHfpvHfpvfpvZp˂Zp˂|dr|drpfHfH~fH~XQr˂XQr˂btlbtlbtlHfpvHfpvZp˂Zp˂ZdrrtAJlp`vX~f`˂pZHbے`rbtbtlbtlHfpvHfpvZp˂Zp˂Zp˂|dr|drfH~fH~fH~XQr˂XQr˂btlbtlHfpvHfpvHfpvZp˂Zp˂|dr|dr|dtAvpfXH~`JXQHArbtJtArdZdQbHfpvHfpvZp˂Zp˂Zdrے`JXQے`JXQtlJtlJXv`fnXvp˂rHAZp`Z|dAJltf`vXf`vXfZHAbpZHAbpZHAbJtArdJtArdnXvnXvnXvrXQJ`rXQJ`tAJltAJlJltf`vXf`vXpZHAbpZHAblJtAdJtArdJtArdnXvnXvےbHAJ`ےbdQZ|tbdQvXnpfH~pZHAbpZHAbpZHAJtArdJtArdnXvnXvnrXQJrXQJ`rXQJ`tAJltAJlf`vXf`vXf`vXpZHAbpZHAbJtArdJtArdJtArdnXvnXvrXQJ`rXQJ`tAdQZ|tbdQnvpvXnAbے`JXQrlJtAdJtArdJtArdnXvnXvrXQJ`rXQJ`rXQJ`tAJltAJlf`vXf`vXfZHAbpZHAbpZHAbJtArdJtArdnXvnXvnXvrXQJ`rXQJ`tAJltAJlJltH~fZHAbbے`lJA|ZQbt璑JtArdnXvnXvrXQJ`rXQJ`tAJlr˂pr˂ptArdtArd~Hf`f~XQJ`ےےbHArtAJlbdQZnvpnvpے`Jے`Jے`J|ZdQ|ZdQ`f~`f~`fHےbHAےbHAtbdQZtbdQZbnvnvpnvpے`Jے`J|ZdQ|ZdQ|ZdQ`f~`f~Zp˂bHAZpdrtAtAJlvpfHf`vے`Jے`Jے`JXQ|ZdQ|ZdQ`f~`f~`ےHAےbHAےbHAtbdQZtbdQZnvpnvpnvpے`Jے`J|ZdQ|ZdQf~`f~`f~ےbHAےbHAdrtAZ|dfH~vpfHJXQrpZHA|ZdQ|ZdQ|ZdQ`f~`f~ےbHAےbHAےbHAtbdQZtbdQZnvpnvpے`Jے`Jے`J|ZdQ|ZdQ`f~`f~`fHےbHAےbHAtbdQZtbdQZbnvvpfH˂pJXQrZdQbtlJtArf~`f~`f~ےbHAےbHAtbdQZ|drZHAbZHAb|ZdQb|ZdQbpvnHfpvrXQZp˂bQZ|rtAJlfH~fH~XQr˂XQr˂XQr˂btlbtlHfpvHfpvfpvZp˂Zp˂|dr|drpfHfH~fH~XQr˂XQr˂btlbtlbtlHfpvHfpvrXQJ``ےbJl|tbdQZ~fvXnvpfHXQr˂XQr˂rbtbtlbtlHfpvHfpvZp˂Zp˂Zp˂|dr|drfH~fH~fH~XQr˂XQr˂btlbtlHfpvHfpvHfpvZp˂Zp˂JltrtAJlf`vX~f`˂pZHbے`btlbtlbtlHfpvHfpvZp˂Zp˂Zdr|dr|drfH~fH~XQr˂XQr˂XQr˂btlbtlHfpvHfpvfpvZp˂Zp˂|dr|drp`vX~f`ZHAb˂pZHAlJtAd|ZHfpvHfpvHfpvZp˂Zp˂|drtAJlے`JXQے`JXQtlJtlJXv`fnXHJ`ےrXQJ`drtAJtbdQf`vXf`vXpZHAbpZHAbpZHAJtArdJtArdnXvnXvnrXQJrXQJ`rXQJ`tAJltAJlf`vXf`vXf`vXpZHAbpZHAbJtArdJtArdJtArdnXvnXvےrHAZp˂drtAJ|drnvp~f`pZHAbpZHAblJtAdJtArdJtArdnXvnXvrXQJ`rXQJ`rXQJ`tAJltAJlf`vXf`vXfZHAbpZHAbpZHAbJtArdJtArdnXvnXvnXvrXQJ`rXQJ`bdQZ|tbdQnvppfH~Abے`JXQrJtArdJtArdJtArdnXvnXvrXQJ`rXQJ`tAJltAJltAJlf`vXf`vXpZHAbpZHAbpZHAJtArdJtArdnXvnXvnrXQJrXQJ`rXQJ`tAJltAJlnvpvXnے`JXQbے`rd|dQbt璀nXvnXvnXvrXQJ`rXQJ`tAJltbdQZr˂pr˂ptArdtArd~HffpvbHAZpےbHAltbZ|dnvpnvpے`Jے`Jے`JXQ|ZdQ|ZdQ`f~`f~`ےHAےbHAےbHAtbdQZtbdQZnvpnvpnvpے`Jے`J|ZdQ|ZdQf~`f~`f~XQJ`ےrXQJltbtAJlfH~ˍvXnے`Jے`J|ZdQ|ZdQ|ZdQ`f~`f~ےbHAےbHAےbHAtbdQZtbdQZnvpnvpے`Jے`Jے`J|ZdQ|ZdQ`f~`f~`fHےbHAےbHAdrtAtAJlfHXnf`vJQrpZAbے|ZdQ|ZdQf~`f~`f~ےbHAےbHAtbdQZtbdQZtbdQZnvpnvpے`Jے`Jے`JXQ|ZdQ|ZdQ`f~`f~`ےHAےbHAےbHAtbdQZtbdQZfH~vpfHr˂pJXQrZdQbtlJtAr`f~`f~`fHےbHAےbHAtbdQZ|drtAJltAJlf`vXf`vXfZHAbpZHAbpZHAbJtArdJtArdnXvnXvnXvrXQJ`rXQJ`tAJltAJlJltf`vXf`vXZHAb˂pZHAb㉀ۑppfH~pfH~p|dZ|dtbdQZtbdQZnvpnvpے`Jے`Jے`J|ZdQ|ZdQ`f~`f~`fHےbHAےbHAtbdQZtbdQZbnvnvpnvpے`JXQbے`JAHr󙐅f۝`vf۝`vrQtJlrQtJl|dr|drfH~fH~XQr˂XQr˂XQr˂btlbtlHfpvHfpvfpvZp˂Zp˂|dr|drpfHfH~fH~r˂pJXQrۑpJXnv˅Xnv˒tbAdtbAdtAJltAJlf`vXf`vXpZHAbpZHAbpZHAJtArdJtArdnXvnXvnrXQJrXQJ`rXQJ`tAJltAJlf`vXf`vXf`vXZHAb˂p`ZAHr󙐂ˍpfH~pfH~Z|dZ|dtbdQZtbdQZnvpnvpے`Jے`Jے`JXQ|ZdQ|ZdQ`f~`f~`ےHAےbHAےbHAtbdQZtbdQZnvpnvpnvpے`JXQQXb㉀ہ`ZQXbㅐf۝`vf۝`vrQtJlrQtJl|dr|dtAfH~fH~XQr˂XQr˂rbtbtlbtlHfpvHfpvZp˂Zp˂Zp˂|dr|drfH~fH~fH~HAbےpJAHr󉀒ۑpJXnv˅Xnv˒tbAdtbAdtAJlJltf`vXf`vXpZHAbpZHAblJtAdJtArdJtArdnXvnXvrXQJ`rXQJ`rXQJ`tAJltAJlf`vXf`vXfr˂`JXQrˁ`ZAHr󙐂ˍpfH~pfH~Z|dZ|dtbdQZbnvnvpnvpے`Jے`J|ZdQ|ZdQ|ZdQ`f~`f~ےbHAےbHAےbHAtbdQZtbdQZnvpnvppZHAb˂pZQXb㉀ہ`pJAHf۝`vf۝`vrQtJlrQtJl|drpfHfH~fH~XQr˂XQr˂btlbtlbtlHfpvHfpvZp˂Zp˂Zdr|dr|drfH~fH~ے`JHAbےpJAHQXr󙐂ˁ`Xnv˅Xnv˒tbAdtbAdtAJlf`vXf`vXf`vXpZHAbpZHAbJtArdJtArdJtArdnXvnXvrXQJ`rXQJ`tAJltAJltAJlf`vXf`vXXQr˂`JXQrb㉀ۑpZQXb㉀pfH~pfH~Z|dZ|dtbdQZnvpnvpnvpے`Jے`J|ZdQ|ZdQf~`f~`f~ےbHAےbHAtbdQZtbdQZtbdQZnvpnvppZHAbے`JAHr󙐒ۑpJAHf۝`vf۝`vrQtJlrQtJl|drfH~fH~fH~XQr˂XQr˂btlbtlHfpvHfpvHfpvZp˂Zp˂|dr|dr|dtAfH~fH~ے`pJXQrˁ`ZQXr󙐂ˁ`Xnv˅Xnv˒tbAdtbAdZ|mnopqrsttsrqpon \ No newline at end of file diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv25_2.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv25_2.dat deleted file mode 100644 index 2de8eb367a37833709146ae7a3d6f12b4e6e1043..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 38190 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 M^T+r=>=>=>=<;<;<;<;:9:9:9:987878787656565656565656543434343212121210/0/0/0/xwxwxwxwxwxwxwxwvuvuvuvutstststsrqrqrqrqooopopopnmnmnmnmlklklklklklklklkjijijijihghghghgfefefefefedcdcdcdcdcdcdcbabababa`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUSTSTSTSTTSTSTSSSRQRQRQRQPOPOPOPONMNMNMNMNMLKLKLKLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCBABABABA@?@?@?@?@?@?@?@?>=>=>=>=<;<;<;<;:9:9:9:987878787656565656543434343434343212121210/0/0/0/xwxwxwxwxwxwxwxwvuvuvuvutstststsrqrqrqrqopopopopnmnmnmnmlklklklklklklklkjijijijihghghghgfefefefedcdcdcdcdcdcdcdcbabababa`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUSTSTSTSTSSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCBABABABA@?@?@?@?@?@?@?@?>=>=>=>=<;<;<;<;:9:9:9:987878787656565654343434343434343212121210/0/0/0/xwxwxwxwxwxwxwxwvuvuvuvutstststsrqrqrqrqopopopopnmnmnmnmlklklklklkjijijijijijijihghghghgfefefefedcdcdcdcdcdcdcdcbabababa`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUSTSTSTSTTSRQRQRQRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCBABABABA@?@?@?@?@?@?@?@?>=>=>=>=<;<;<;<;:9:9:9:987878787656565654343434343434343212121210/0/0/0/xwxwxwxwxwxwxwxwvuvuvuvutstststsrqrqrqrqopopopopnmnmnmnmlklklklkjijijijijijijijihghghghgfefefefedcdcdcdcdcdcdcdcbabababa`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUSTSTSTSTRQRQRQRQRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCBABABABA@?@?@?@?@?>=>=>=>=>=>=>=<;<;<;<;:9:9:9:977777878656565654343434343434343212121210/0/0/0/xwxwxwxwvuvuvuvuvuvuvuvutstststsrqrqrqrqopopopopnmnmnmnmlklklklkjijijijijijijijihghghghgfefefefedcdcdcdcdcdcdcdcbabababa`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUSTSTSTSTRQRQRQRQRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCBABABABA@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;:9:9:9:978787878656565654343434343434343212121210/0/0/0/xwxwxwxwvuvuvuvuvuvuvuvutstststsrqrqrqrqopopopopnmnmnmnmlklklklkjijijijijijijijihghghghgfefefefedcdcdcdcdcdcdcdcbabababa`_`_`_`_^]^]^]^]^]\[\[\[\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUSTSTSSSSRQRQRQRQRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEFEDCDCDCDCDCDCDCBABABABA@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;:9:9:9:978787878656565654343434343434343212121210/0/0/0/xwxwxwxwvuvuvuvuvuvuvuvutstststsrqrqrqrqooooooponmnmnmnmlklklklkjijijijijijijijihghghghgfefefefedcdcdcdcdcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUSSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCDCDCDCDCBABABABA@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;:9:9:9:978787878656565654343434343434343212121210/0/0/0/xwxwxwxwvuvuvuvuvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijijijijijihghghghgfefefefedcdcdcdcdcbababababababa`_`_`_`_^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKLKJIJIJIJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCDCDCDCDCBABABABA@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;:9:9:9:978787878656565654343434343212121212121210/0/0/0/xwxwxwxwvuvuvuvuvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijijijijijihghghghgfefefefedcdcdcdcbabababababababa`_`_`_`_^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCDCDCDCDCBABABABA@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;:9:9:9:978787878656565654343434321212121212121210/0/0/0/xwxwxwxwvuvuvuvutstststsrqrqrqrqpopopopopopopoponmnmnmnmlklklklkjijijijijihghghghghghghgfefefefedcdcdcdcbabababababababa`_`_`_`_^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQRQPOPOPOPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCDCDCDCDCBABABABA@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;:9:9:9:978777777656565654343434321212121212121210/0/0/0/xwxwxwxwvuvuvuvutstststsrqrqrqrqooooopoppopopoponmnmnmnmlklklklkjijijijihghghghghghghghgfefefefedcdcdcdcbabababababababa`_`_`_`_^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCDCDCDCDCBABABABA@?@?@?@?>=>=>=>=>=<;<;<;<;<;<;<;:9:9:9:987878787656565654343434321212121212121210/0/0/0/xwxwxwxwvuvuvuvutstststsrqrqrqrqopopopoppopopoponmnmnmnmlklklklkjijijijihghghghghghghghgfefefefedcdcdcdcbabababababababa`_`_`_`_^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCDCDCDCDCBABABABA@?@?@?@?>=>=>=>=<;<;<;<;<;:9:9:9:9:9:9:987878787656565654343434321212121212121210/0/0/0/xwxwxwxwvuvuvuvutstststsrqrqrqrqopopopopmmmmmmnmnmnmnmnmlklklklkjijijijihghghghghghghghgfefefefedcdcdcdcbabababababababa`_`_`_`_^]^]^]^]\[\[\[\[\[ZYZYZYZYZYZYZYXWXWXWXWVUVUVUVUSSSSSTSTRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCDCBABABABABABABA@?@?@?@?>=>=>=>=<;<;<;<;:9:9:9:9:987878787878787656565654343434321212121212121210/0/0/0/xwxwxwxwvuvuvuvutstststsrqrqrqrqopopopopnmnmnmnmnmnmnmnmlklklklkjijijijihghghghghghghghgfefefefedcdcdcdcbabababababababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWVUVUVUVUSTSTSTSTRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABABABABABA@?@?@?@?>=>=>=>=<;<;<;<;:9:9:9:98777777887878787656565654343434321212121212121210/0/0/0/xwxwxwxwvuvuvuvutstststsrqrqrqrqopopopopnmnmnmnmnmnmnmnmlklklklkjijijijihghghghghghghghgfefefefedcdcdcdcbababababa`_`_`_`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWVUVUVUVUSTSTSTSTRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIJIHGHGHGHGHGHGHGFEFEFEFEDCDCDCDCBABABABABABABABA@?@?@?@?>=>=>=>=<;<;<;<;:9:9:9:97878787887878777656565654343434321212121210/0/0/0/0/0/0/xwxwxwxwvuvuvuvutstststsrqrqrqrqopopopopnmnmnmnmnmnmnmnmlklklklkjijijijihghghghghghghghgfefefefedcdcdcdcbabababa`_`_`_`_`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWVUVUVUVUSTSTSTSTRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEDCDCDCDCBABABABABABABABA@?@?@?@?>=>=>=>=<;<;<;<;:9:9:9:978787878778787876565656543434343212121210/0/0/0/0/0/0/0/xwxwxwxwvuvuvuvutstststsrqrqrqrqopoooooonmnmnmnmnmnmnmnmlklklklkjijijijihghghghghgfefefefefefefedcdcdcdcbabababa`_`_`_`_`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWVUVUVUVUSTSTSTSTRQRQRQRQPOPOPOPOPONMNMNMNMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEDCDCDCDCBABABABABABABABA@?@?@?@?>=>=>=>=<;<;<;<;:9:9:9:978787878876565656565656543434343212121210/0/0/0/0/0/0/0/xwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmnmnmnmnmlklklklkjijijijihghghghgfefefefefefefefedcdcdcdcbabababa`_`_`_`_`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWVUVUVUVUSTSTSTSTRQRQRQRQPOPOPOPONMNMNMNMNMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEDCDCDCDCBABABABABABABABA@?@?@?@?>=>=>=>=<;<;<;<;:9:9:9:978787878656565656565656543434343212121210/0/0/0/0/0/0/0/xwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmnmlklklklklklklkjijijijihghghghgfefefefefefefefedcdcdcdcbabababa`_`_`_`_`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWVUVUVUVUSTSSSSSSRQRQRQRQPOPOPOPONMNMNMNMNMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEDCDCDCDCBABABABABABABABA@?@?@?@?>=>=>=>=<;<;<;<;:9:9:9:978787878656565656565656543434343212121210/0/0/0/0/0/0/0/.-.-.-.-xwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmlklklklklklklklkjijijijihghghghgfefefefefefefefedcdcdcdcbabababa`_`_`_`_`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYZYXWXWXWXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMNMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEDCDCDCDCBABABABABA@?@?@?@?@?@?@?>=>=>=>=<;<;<;<;:9:9:9:978787777656565656565656543434343212121210/0/0/0/0/0/0/0/.-.-.-.-xwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmlklklklklklklklkjijijijihghghghgfefefefefefefefedcdcdcdcbabababa`_`_`_`_`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWXWVUVUVUVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMNMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEDCDCDCDCBABABABA@?@?@?@?@?@?@?@?>=>=>=>=<;<;<;<;:9:9:9:977878787656565656565656543434343212121210/0/0/0/0/0/0/0/.-.-.-.-xwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmlklklklklklklklkjijijijihghghghgfefefefefefefefedcdcdcdcbabababa`_`_`_`_`_^]^]^]^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUVUTSTSTSTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMNMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGHGFEFEFEFEFEFEFEDCDCDCDCBABABABA@?@?@?@?@?@?@?@?>=>=>=>=<;<;<;<;:9:9:9:987878787656565656565656543434343212121210/0/0/0/0/.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-,+,+,+,+*)*)*)*)('('('('('&%&%&%&%&%&%&%$#$#$#$#"!"!"!"!           - - - - .-.-.-.-.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%&%&%&%&%$#$#$#$#"!"!"!"!            - - - - .-.-.-.-.-,+,+,+,+,+,+,+*)*)*)*)('('('('&%&%&%&%&%&%&%&%$#$#$#$#"!"!"!"!            - - - - .-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)('('('('&%&%&%&%&%&%&%&%$#$#$#$#"!"!"!"!            - - - - .-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)('('('('&%&%&%&%&%&%&%&%$#$#$#$#"!"!"!"!            - - - - .-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)('('('('&%&%&%&%&%&%&%&%$#$#$#$#"!"!"!"!            - - - - .-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)('('('('&%&%&%&%&%&%&%&%$#$#$#$#"!"!"!"!            - - - - .-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)('('('('&%&%&%&%&%$#$#$#$#$#$#$#"!"!"!"!         - - - - .-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!        - - - - .-.-.-.-,+,+,+,+,+*)*)*)*)*)*)*)('('('('&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!        - - - - .-.-.-.-,+,+,+,+*)*)*)*)*)*)*)*)('('('('&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!        - - - - .-.-.-.-,+,+,+,+*)*)*)*)*)*)*)*)('('('('&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!        - - - - .-.-.-.-,+,+,+,+*)*)*)*)*)*)*)*)('('('('&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!        - - - - .-.-.-.-,+,+,+,+*)*)*)*)*)*)*)*)('('('('&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!        - - - - .-.-.-.-,+,+,+,+*)*)*)*)*)*)*)*)('('('('&%&%&%&%$#$#$#$#$#"!"!"!"!"!"!"!        - - - - - - - .-.-.-.-,+,+,+,+*)*)*)*)*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!"!"!"!"!        - - - - - - - - .-.-.-.-,+,+,+,+*)*)*)*)*)('('('('('('('&%&%&%&%$#$#$#$#"!"!"!"!"!"!"!"!        - - - - - - - - .-.-.-.-,+,+,+,+*)*)*)*)('('('('('('('('&%&%&%&%$#$#$#$#"!"!"!"!"!"!"!"!        - - - - - - - - .-.-.-.-,+,+,+,+*)*)*)*)('('('('('('('('&%&%&%&%$#$#$#$#"!"!"!"!"!"!"!"!        - - - - - - - - .-.-.-.-,+,+,+,+*)*)*)*)('('('('('('('('&%&%&%&%$#$#$#$#"!"!"!"!"!"!"!"!        - - - - - - - - .-.-.-.-,+,+,+,+*)*)*)*)('('('('('('('('&%&%&%&%$#$#$#$#"!"!"!"!"!"!"!"!        - - - - - - - - .-.-.-.-,+,+,+,+*)*)*)*)('('('('('('('('&%&%&%&%$#$#$#$#"!"!"!"!"!           - - - - - .-.-.-.-,+,+,+,+*)*)*)*)('('('('('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - - - xxwwvvuuQQRRSSTT55443322GGHHIIJJ??>>==<;,,--..//iihhggff - -PPQQRRSSEEDDCCBBttuuvvww!! <<==>>??YYXXWWVV``aabbcc55443322(())**++hhggffee uutsrqpo PPQQRRSSEEDDCCBBttuuvvww!! <<==>>??YYXXWWVV``aabbcc55443322(())**++mmllkkjjLLMMNNOO??>>==77556677==LLKKJJIIttuuvvww!! <<==>>??YYXXWWVVttssrrqqUUVVWWXX1100//..KKLLMMNN:987766500112233eeddccbb TTUUVVWWAA@@??>>xxxxwwvv@@AABBCCUUTTSSRR - - ddeeffgg1100//..,,--..//ddccbbaaonnmmllk - - TTUUVVWWAA@@??>>xxxxwwvv@@AABBCCUUTTSSRR - - ddeeffgg1100//..,,--..//iihhggff - -PPQQRRSS66554433>>??@@AAHHGGFFEExxxxwwvv@@AABBCCUUTTSSRRppoonnmmYYZZ[[\\--,,++**OOPPQQRR5443322144556677aa``__^^XXYYZZ[[==<<;;:: !!""##uuttssrrDDEEFFGGQQPPOONN hhiijjkk--,,++**00112233``__^^]]kjjiihhgXXYYZZ[[==<<;;:: !!""##uuttssrrDDEEFFGGQQPPOONN hhiijjkk--,,++**00112233eeddccbb TTUUVVWW221100//BBCCDDEEDDCCBBAA !!""##uuttssrrDDEEFFGGQQPPOONNllkkjjii ]]^^__``))((''&&SSYYZZ[[100//..-8899::;;]]\\[[ZZ\\]]^^__99887766$$%%&&''qqppoonnHHIIJJKKMMLLKKJJllmmnnoo))((''&&44556677\\[[ZZYYgffeeddc\\]]^^__99887766$$%%&&''qqppoonnHHIIJJKKMMLLKKJJllmmnnoo))((''&&44556677aa``__^^XXYYZZ[[..--,,++FFGGHHII@@??>>==$$%%&&''qqppoonnHHIIJJKKMMLLKKJJhhggffee - - aabbccdd%%$$##""\\]]^^__-,,++**)<<==>>??YYXXWWVV``aabbcc55443322(())**++mmllkkjjLLMMNNOOIIHHGGFFppqqrrss%%$$##""8899::;;SSRRQQPP!!""##$$cbbaa``_``aabbcc55443322(())**++mmllkkjjLLMMNNOOIIHHGGFFppqqrrss%%$$##""8899::;;]]\\[[ZZ\\]]^^__**))((''JJKKLLMM<;:98776(())**++mmllkkjjLLMMNNOOIIHHGGFFddccbbaa - - eeffgghh!!``aabbcc)((''&&%@@AABBCCUUTTSSRR - - ddeeffgg1100//..,,--..//iihhggff - -PPQQRRSSEEDDCCBBttuuvvww!! <<==>>??OONNMMLL%%&&''((_^^]]\\[ - - ddeeffgg1100//..,,--..//iihhggff - -PPQQRRSSEEDDCCBBttuuvvww!! <<==>>??YYXXWWVV``aabbcc&&%%$$##NNOOPPQQ65544332,,--..//iihhggff - -PPQQRRSSEEDDCCBB``__^^]] iijjkkllddeeffgg%$$##""!DDEEFFGGQQPPOONN hhiijjkk--,,++**00112233eeddccbb TTUUVVWWAA@@??>>xxxxwwvv@@AABBCCKKJJIIHH))**++,,[ZZYYXWV hhiijjkk--,,++**00112233eeddccbb TTUUVVWWAA@@??>>xxxxwwvv@@AABBCCUUTTSSRR - - ddeeffgg""!!RRSSYYZZ21100//.00112233eeddccbb TTUUVVWWAA@@??>>\\[[ZZYYmmnnoopphhiijjkk! HHIIJJKKMMLLKKJJllmmnnoo))((''&&44556677aa``__^^XXYYZZ[[==<<;;:: !!""##uuttssrrDDEEFFGGGGFFEEDD--..//00UTSSRRQQllmmnnoo))((''&&44556677aa``__^^XXYYZZ[[==<<;;:: !!""##uuttssrrDDEEFFGGQQPPOONN hhiijjkk[[\\]]^^.--,,++*44556677aa``__^^XXYYZZ[[==<<;;::XXWWVVUUqqrrsstt llmmnnooLLMMNNOOIIHHGGFFppqqrrss%%$$##""8899::;;]]\\[[ZZ\\]]^^__99887766$$%%&&''qqppoonnHHIIJJKKCCBBAA@@11223344PPOONNMMppqqrrss%%$$##""8899::;;]]\\[[ZZ\\]]^^__99887766$$%%&&''qqppoonnHHIIJJKKMMLLKKJJllmmnnoo__``aabb*))((''&8899::;;]]\\[[ZZ\\]]^^__99887766TTSSRRQQuuvvwwxx - - uuvvwwxxPPQQRRSSEEDDCCBBttuuvvww!! <<==>>??YYXXWWVV``aabbcc55443322(())**++mmllkkjjLLMMNNOO??>>==77556677==LLKKJJIIttuuvvww!! <<==>>??YYXXWWVV``aabbcc55443322(())**++mmllkkjjLLMMNNOOIIHHGGFFppqqrrssccddeeff&%%$$##"<<==>>??YYXXWWVV``aabbcc55443322PPOONNMM xxwwvvuu - - xxwwvvuuTTUUVVWWAA@@??>>xxxxwwvv@@AABBCCUUTTSSRR - - ddeeffgg1100//..,,--..//iihhggff - -PPQQRRSS66554433>>??@@AAHHGGFFEExxxxwwvv@@AABBCCUUTTSSRR - - ddeeffgg1100//..,,--..//iihhggff - -PPQQRRSSEEDDCCBBttuuvvww - -gghhiijj"!! @@AABBCCUUTTSSRR - - ddeeffgg1100//..LLKKJJII!!""##$$oonnmmll tsrqpoon XXYYZZ[[==<<;;:: !!""##uuttssrrDDEEFFGGQQPPOONN hhiijjkk--,,++**00112233eeddccbb TTUUVVWW221100//BBCCDDEEDDCCBBAA !!""##uuttssrrDDEEFFGGQQPPOONN hhiijjkk--,,++**00112233eeddccbb TTUUVVWWAA@@??>>xxxxwwvv kkllmmnnDDEEFFGGQQPPOONN hhiijjkk--,,++**HHGGFFEE%%&&''((kkjjiihhnmmllkkj - - \\]]^^__99887766$$%%&&''qqppoonnHHIIJJKKMMLLKKJJllmmnnoo))((''&&44556677aa``__^^XXYYZZ[[..--,,++FFGGHHII@@??>>==$$%%&&''qqppoonnHHIIJJKKMMLLKKJJllmmnnoo))((''&&44556677aa``__^^XXYYZZ[[==<<;;:: !!""##uuoonnmmoouuvvwwHHIIJJKKMMLLKKJJllmmnnoo))((''&&DDCCBBAA))**++,,ggffeeddjiihhggf``aabbcc55443322(())**++mmllkkjjLLMMNNOOIIHHGGFFppqqrrss%%$$##""8899::;;]]\\[[ZZ\\]]^^__**))((''JJKKLLMM<;:98776(())**++mmllkkjjLLMMNNOOIIHHGGFFppqqrrss%%$$##""8899::;;]]\\[[ZZ\\]]^^__99887766$$%%&&''llkkjjii - - xxxxwwvvLLMMNNOOIIHHGGFFppqqrrss%%$$##""@@??>>==--..//00ccbbaa``!!feeddccb - - ddeeffgg1100//..,,--..//iihhggff - -PPQQRRSSEEDDCCBBttuuvvww!! <<==>>??YYXXWWVV``aabbcc&&%%$$##NNOOPPQQ65544332,,--..//iihhggff - -PPQQRRSSEEDDCCBBttuuvvww!! <<==>>??YYXXWWVV``aabbcc55443322(())**++hhggffee uutsrqpo PPQQRRSSEEDDCCBBttuuvvww!! <<;;::9911223344__^^]]\\""##$$%%baa``__^ hhiijjkk--,,++**00112233eeddccbb TTUUVVWWAA@@??>>xxxxwwvv@@AABBCCUUTTSSRR - - ddeeffgg""!!RRSSYYZZ21100//.00112233eeddccbb TTUUVVWWAA@@??>>xxxxwwvv@@AABBCCUUTTSSRR - - ddeeffgg1100//..,,--..//ddccbbaaonnmmllk - - TTUUVVWWAA@@??>>xxxxwwvv8877665555667788[[ZZYYSS&&''(())^]]\\[[Zllmmnnoo))((''&&44556677aa``__^^XXYYZZ[[==<<;;:: !!""##uuttssrrDDEEFFGGQQPPOONN hhiijjkk[[\\]]^^.--,,++*44556677aa``__^^XXYYZZ[[==<<;;:: !!""##uuttssrrDDEEFFGGQQPPOONN hhiijjkk--,,++**00112233``__^^]]kjjiihhgXXYYZZ[[==<<;;:: !!""##uuttssrr4433221199::;;<>??@@NNMMLLKK..//0011SSRRQQPPttuuvvww!! <<==>>??YYXXWWVV``aabbcc55443322(())**++mmllkkjjLLMMNNOOIIHHGGFFppqqrrssccddeeff&%%$$##"<<==>>??YYXXWWVV``aabbcc55443322(())**++mmllkkjjLLMMNNOOIIHHGGFFppqqrrss%%$$##""8899::;;SSRRQQPP!!""##$$cbbaa``_``aabbcc55443322(())**++mmllkkjj,,++**))AABBCCDDJJIIHHGG22334455OONNMMLLxxxxwwvv@@AABBCCUUTTSSRR - - ddeeffgg1100//..,,--..//iihhggff - -PPQQRRSSEEDDCCBBttuuvvww - -gghhiijj"!! @@AABBCCUUTTSSRR - - ddeeffgg1100//..,,--..//iihhggff - -PPQQRRSSEEDDCCBBttuuvvww!! <<==>>??OONNMMLL%%&&''((_^^]]\\[ - - ddeeffgg1100//..,,--..//iihhggff - -((''&&%%EEFFGGHHFFEEDDCC6677==>>KKJJIIHH !!""##uuttssrrDDEEFFGGQQPPOONN hhiijjkk--,,++**00112233eeddccbb TTUUVVWWAA@@??>>xxxxwwvv kkllmmnnDDEEFFGGQQPPOONN hhiijjkk--,,++**00112233eeddccbb TTUUVVWWAA@@??>>xxxxwwvv@@AABBCCKKJJIIHH))**++,,[ZZYYXWV hhiijjkk--,,++**00112233eeddccbb  - - $$##""!!IIJJKKLLBBAA@@????@@AABBGGFFEEDD$$%%&&''qqppoonnHHIIJJKKMMLLKKJJllmmnnoo))((''&&44556677aa``__^^XXYYZZ[[==<<;;:: !!""##uuoonnmmoouuvvwwHHIIJJKKMMLLKKJJllmmnnoo))((''&&44556677aa``__^^XXYYZZ[[==<<;;:: !!""##uuttssrrDDEEFFGGGGFFEEDD--..//00UTSSRRQQllmmnnoo))((''&&44556677aa``__^^  MMNNOOPP>>==7766CCDDEEFFCCBBAA@@(())**++mmllkkjjLLMMNNOOIIHHGGFFppqqrrss%%$$##""8899::;;]]\\[[ZZ\\]]^^__99887766$$%%&&''llkkjjii - - xxxxwwvvLLMMNNOOIIHHGGFFppqqrrss%%$$##""8899::;;]]\\[[ZZ\\]]^^__99887766$$%%&&''qqppoonnHHIIJJKKCCBBAA@@11223344PPOONNMMppqqrrss%%$$##""8899::;;]]\\[[ZZppqqrrss%%$$##""8899::;;]]\\[[ZZ\\]]^^__99887766$$%%&&''llkkjjii - - xxxxwwvvLLMMNNOOIIHHGGFFppqqrrss%%$$##""8899::;;]]\\[[ZZ\\]]^^__99887766$$%%&&''iihhggff]]\\[[ZZttuuvvww!! <<==>>??YYXXWWVV``aabbcc55443322(())**++hhggffee uutsrqpo PPQQRRSSEEDDCCBBttuuvvww!! <<==>>??YYXXWWVV``aabbcc55443322(())**++eeddccbbYYXXWWVVxxxxwwvv@@AABBCCUUTTSSRR - - ddeeffgg1100//..,,--..//ddccbbaaonnmmllk - - TTUUVVWWAA@@??>>xxxxwwvv@@AABBCCUUTTSSRR - - ddeeffgg1100//..,,--..//aa``__^^!!""##UUTTSSRR !!""##uuttssrrDDEEFFGGQQPPOONN hhiijjkk--,,++**00112233``__^^]]kjjiihhgXXYYZZ[[==<<;;:: !!""##uuttssrrDDEEFFGGQQPPOONN hhiijjkk--,,++**00112233]]\\[[ZZ$$%%&&''QQPPOONN$$%%&&''qqppoonnHHIIJJKKMMLLKKJJllmmnnoo))((''&&44556677\\[[ZZYYgffeeddc\\]]^^__99887766$$%%&&''qqppoonnHHIIJJKKMMLLKKJJllmmnnoo))((''&&44556677YYSSRRQQ(())**++MMLLKKJJ !!""##(())**++mmllkkjjLLMMNNOOIIHHGGFFppqqrrss%%$$##""8899::;;SSRRQQPP!!""##$$cbbaa``_``aabbcc55443322(())**++mmllkkjjLLMMNNOOIIHHGGFFppqqrrss%%$$##""8899::;;PPOONNMM,,--..//IIHHGGFF$$%%&&'',,--..//iihhggff - -PPQQRRSSEEDDCCBBttuuvvww!! <<==>>??OONNMMLL%%&&''((_^^]]\\[ - - ddeeffgg1100//..,,--..//iihhggff - -PPQQRRSSEEDDCCBBttuuvvww!! <<==>>??LLKKJJII00112233EEDDCCBB(())**++00112233eeddccbb TTUUVVWWAA@@??>>xxxxwwvv@@AABBCCKKJJIIHH))**++,,[ZZYYXWV hhiijjkk--,,++**00112233eeddccbb TTUUVVWWAA@@??>>xxxxwwvv@@AABBCCHHGGFFEE44556677AA@@??>>,,--..//44556677aa``__^^XXYYZZ[[==<<;;:: !!""##uuttssrrDDEEFFGGGGFFEEDD--..//00UTSSRRQQllmmnnoo))((''&&44556677aa``__^^XXYYZZ[[==<<;;:: !!""##uuttssrrDDEEFFGGDDCCBBAA==>>??@@==<<;;::001122338899::;;]]\\[[ZZ\\]]^^__99887766$$%%&&''qqppoonnHHIIJJKKCCBBAA@@11223344PPOONNMMppqqrrss%%$$##""8899::;;]]\\[[ZZ\\]]^^__99887766$$%%&&''qqppoonnHHIIJJKK@@??>>==AABBCCDD9988776644556677<<==>>??YYXXWWVV``aabbcc55443322(())**++mmllkkjjLLMMNNOO??>>==77556677==LLKKJJIIttuuvvww!! <<==>>??YYXXWWVV``aabbcc55443322(())**++mmllkkjjLLMMNNOO77665544EEFFGGHH554433228899::;;@@AABBCCUUTTSSRR - - ddeeffgg1100//..,,--..//iihhggff - -PPQQRRSS66554433>>??@@AAHHGGFFEExxxxwwvv@@AABBCCUUTTSSRR - - ddeeffgg1100//..,,--..//iihhggff - -PPQQRRSS33221100IIJJKKLL1100//..<<==>>??DDEEFFGGQQPPOONN hhiijjkk--,,++**00112233eeddccbb TTUUVVWW221100//BBCCDDEEDDCCBBAA !!""##uuttssrrDDEEFFGGQQPPOONN hhiijjkk--,,++**00112233eeddccbb TTUUVVWW//..--,,MMNNOOPP--,,++**@@AABBCCHHIIJJKKMMLLKKJJllmmnnoo))((''&&44556677aa``__^^XXYYZZ[[..--,,++FFGGHHII@@??>>==$$%%&&''qqppoonnHHIIJJKKMMLLKKJJllmmnnoo))((''&&44556677aa``__^^XXYYZZ[[++**))((QQRRSSYY))((''&&DDEEFFGGLLMMNNOOIIHHGGFFppqqrrss%%$$##""8899::;;]]\\[[ZZ\\]]^^__**))((''JJKKLLMM<;:98776(())**++mmllkkjjLLMMNNOOIIHHGGFFppqqrrss%%$$##""8899::;;]]\\[[ZZ\\]]^^__''&&%%$$ZZ[[\\]]%%$$##""HHIIJJKKPPQQRRSSEEDDCCBBttuuvvww!! <<==>>??YYXXWWVV``aabbcc&&%%$$##NNOOPPQQ65544332,,--..//iihhggff - -PPQQRRSSEEDDCCBBttuuvvww!! <<==>>??YYXXWWVV``aabbcc##""!!^^__``aa!! LLMMNNOOTTUUVVWWAA@@??>>xxxxwwvv@@AABBCCUUTTSSRR - - ddeeffgg""!!RRSSYYZZ21100//.00112233eeddccbb TTUUVVWWAA@@??>>xxxxwwvv@@AABBCCUUTTSSRR - - ddeeffggbbccddeePPQQRRSSXXYYZZ[[==<<;;:: !!""##uuttssrrDDEEFFGGQQPPOONN hhiijjkk[[\\]]^^.--,,++*44556677aa``__^^XXYYZZ[[==<<;;:: !!""##uuttssrrDDEEFFGGQQPPOONN hhiijjkkffgghhiiTTUUVVWW\\]]^^__99887766$$%%&&''qqppoonnHHIIJJKKMMLLKKJJllmmnnoo__``aabb*))((''&8899::;;]]\\[[ZZ\\]]^^__99887766$$%%&&''qqppoonnHHIIJJKKMMLLKKJJllmmnnoojjkkllmmXXYYZZ[[``aabbcc55443322(())**++mmllkkjjLLMMNNOOIIHHGGFFppqqrrssccddeeff&%%$$##"<<==>>??YYXXWWVV``aabbcc55443322(())**++mmllkkjjLLMMNNOOIIHHGGFFppqqrrss mmllkkjj\\]]^^__ddeeffgg1100//..,,--..//iihhggff - -PPQQRRSSEEDDCCBBttuuvvww - -gghhiijj"!! @@AABBCCUUTTSSRR - - ddeeffgg1100//..,,--..//iihhggff - -PPQQRRSSEEDDCCBBttuuvvww - - - -iihhggff - -``aabbcchhiijjkk--,,++**00112233eeddccbb TTUUVVWWAA@@??>>xxxxwwvv kkllmmnnDDEEFFGGQQPPOONN hhiijjkk--,,++**00112233eeddccbb TTUUVVWWAA@@??>>xxppoonn eeddccbb - - ddeeffggllmmnnoo))((''&&44556677aa``__^^XXYYZZ[[==<<;;:: !!""##uuoonnmmoouuvvwwHHIIJJKKMMLLKKJJllmmnnoo))((''&&44556677aa``__^^XXYYZZ[[==<<;;:: !!""##mmllkkjjaa``__^^ hhiijjkkllmmbdQZ|Jlt`vXnے`JdQbtpvnZp˂|drtbdQZf`vXpZHAbbtl|ZdQ`f~rXQJ`tAJlpfHnvpے`JJtArdf~HrXQJ`|rAJlltbf`vXpZHAbbtl|ZdQ`f~rXQJ`tAJlpfHnvpے`JJtArdnXvHfpvےbHAltdH~ے`JXQbtl|ZdQ`f~rXQJ`tAJldrtAbdQZ|vpfXQr˂lJtArvf~HrXQJ`tAJl|dtAnvpے`JJtArdbnXvHfpvےbHAtbdQZf`vXfH~XQr˂|ZdQfpvےbHAtbddQZ|nvpے`JJtArdbnXvHfpvےbHAtbdQZf`vXfH~XQr˂|ZdQ`f~nXvZp˂rtAJlvpfHr˂pJtArdbnXvHfpvےbHAtbdQZJltdrtAH~fpZHAbd|ZfpvےbHAtbdQZJltfH~XQr˂|ZdQ`f~nXvZp˂|drnvpf`vXpZHAbbtlnXv`Zp˂QZ|dAJltfH~XQr˂|ZdQ`f~nXvZp˂|drnvpf`vXpZHAbbtlHfpv`fHrXQJ`tbdQ~f`ZHAb|ZdQ`f~nXvZp˂|drbdQZ|Jlt`vXnے`JdQtArdnXv`Zp˂|drbnvf`vXpZHAbbtlHfpv`f~rXQJ`tAJlfH~nvpے`JJtArdf~HrXQJ`rtAJlbnvf`vXpZHAbbtlHfpv`f~rXQJ`tAJlfH~nvpے`JJtArdnXvfpvےbHAZ|dvXnے`JXQbtlHfpv`f~rXQJ`tAJldrtAbdQZ|vpfXQr˂|ZdQf~HrXQJ`tAJlpfHnvpے`JJtArdnXvHfpvےbHAtbdQZf`vXfH~XQr˂|ZdQXv`fp˂rtbdpfHnvpے`JJtArdnXvHfpvےbHAtbdQZf`vXfH~XQr˂|ZdQ`f~nrXQJZp˂rtAJlvpfHrZHAJtArdnXvHfpvےbHAtbdQZJlt`vXnH~fp`JXQbtlfpvےbHAtbdQZf`vXfH~XQr˂|ZdQ`f~nXvZp˂|drnvpf`vXpZHAbbtl~HfXQJ`ےQZ|df`vXfH~XQr˂|ZdQ`f~nXvZp˂|drnvpf`vXpZHAbbtlHfpv`ےHArXQJ`tbdQ~f`bے`|ZdQ`f~nXvZp˂|drbdQZ|vpf`vXnr˂pJtArdnXv`Zp˂|drnvpf`vXpZHAbbtlHfpv`fHrXQJ`tAJlfH~nr˂ے`JJtArdpvnbHAZrtAJnvpf`vXpZHAbbtlHfpv`fHrXQJ`tAJlfH~nr˂ے`JJtArdnXvZp˂ےbHAZ|lvXH~JXQrbtlHfpv`fHrXQJ`tAJldrtAH~fvpfZHAb|ZdQf~fprXQJ`tAJlfH~nvpے`JJtArdnXvfpvےbHAtbdQZf`vXpZHAbXQr˂|ZdQXv`fp˂rbdQZ|fH~nvpے`JJtArdnXvfpvےbHAtbdQZf`vXpZHAbXQr˂|ZdQ`f~rXQJ`Zp˂tbdQZf`vpZHAJtArdnXvfpvےbHAtbdQZJlt`vXnH~fے`JXQbtlvnXےbHAtbdQZf`vXfH~XQr˂|ZdQ`f~nrXQJZp˂|drnvpے`JpZHAbbtl~HfXQJ`ےdrtAf`vXfH~XQr˂|ZdQ`f~nrXQJZp˂|drnvpے`JpZHAbbtlHfpvےbHArXQJ`|drXnvbے`|ZdQ`f~nrXQJZp˂|drbdQZ|vpf`vXnr˂p|ZdQbv`fZp˂|drnvpf`vXpZHAbbtlHfpv`ےHArXQJ`tAJlfH~XQr˂ے`JJtArdpvbHAXQJltnvpf`vXpZHAbbtlHfpv`ےHArXQJ`tAJlfH~XQr˂ے`JJtArdnXvZp˂ےbHAtAJlpfH~JXQrbtlHfpv`ےHArXQJ`tAJldrtAH~fr˂p|ZdQbnXv`~HfprXQJ`tAJlfH~nr˂ے`JJtArdnXvZp˂ےbHAtbdQZf`vXpZHAbXQr˂|ZdQ~HfpJ`ےbdQZ|fH~nr˂ے`JJtArdnXvZp˂ےbHAtbdQZf`vXpZHAbXQr˂|ZdQ`f~rXQJ`Zp˂tbdQZf`vpZAbJtArdnXvZp˂ےbHAtbdQZJlt`vXn`JXQrtlJf~fpvnXےbHAtbdQZf`vXpZHAbXQr˂|ZdQ`f~rXQJ`Zp˂|drnvpے`JpZHAbtlvnXbHAZpdrtAf`vXpZHAbXQr˂|ZdQ`f~rXQJ`Zp˂|drnvpے`JpZHAbtlHfpvےbHArbdQZ|ltXnv`JXQr|ZdQ`f~rXQJ`Zp˂|drbdQZ|vpf˂pZtArdvnXv`fZp˂|drnvpے`JpZHAbbtlHfpvےbHArXQJ`tAJlfH~XQr˂ے`JXQJtArdv`f˂rXQJltnvpے`JpZHAbbtlHfpvےbHArXQJ`tAJlfH~XQr˂ے`JXQJtArdnXvZp˂|ltbnvp`vX˂pZbtlHfpvےbHArXQJ`tAJldrtAH~fHAbے|ZdQbv`frQJHArXQJ`tAJlfH~XQr˂ے`JJtArdnXvZp˂ےbHAtbdQZf`vXpZHAbrbt|ZdQ~HfpJ`ےbQZdfH~XQr˂ے`JJtArdnXvZp˂ےbHAtbdQZf`vXpZHAbrbt|ZdQ`f~rXQJ`bdQZ|p`vXnr˂HAbےJtArdnXvZp˂ےbHAtbdQZJlt`vXn`JXQrtl|~HfpZp˂ےbHAtbdQZf`vXpZHAbXQr˂|ZdQ`f~rXQJ`Zp˂|drnvpے`JlJtAdbtlvnXbHAZprtAJlf`vXpZHAbXQr˂|ZdQ`f~rXQJ`Zp˂|drnvpے`JlJtAdbtlHfpvےbHAdrtAnvppZAb``JXQr|ZdQ`f~rXQJ`Zp˂|drbdQZ|vpf˂pZZdQbtvnXrXQJ`Zp˂|drnvpے`JpZHAbtlHfpvےbHArbdQZtAJlfH~XQr˂|ZdQJtArdv`pv˂btbdQnvpے`JpZHAbtlHfpvےbHArbdQZtAJlfH~XQr˂|ZdQJtArdnXvZp˂JltfH~JXQr˂pZAbtlHfpvےbHArbdQZtAJldrtAH~fHAblJtAv`fےbHArXQJ`tAJlfH~XQr˂ے`JXQJtArdnXvZp˂|drtbdQZf`vXpZHAbbtl|ZdQnXvHAZp˂Z|dfH~XQr˂ے`JXQJtArdnXvZp˂|drtbdQZf`vXpZHAbbtl|ZdQ`f~rXQJ`bdQZ|f`vX˂pZH`JXQJtArdnXvZp˂|drtbdQZJlt`vXn˂pZHArd|~HfvnZp˂ےbHAtbdQZf`vXpZHAbrbt|ZdQ`f~rXQJ`tAJl|drnvpے`JJtArdbtl`f~rXQJrtAJlf`vXpZHAbrbt|ZdQ`f~rXQJ`tAJl|drnvpے`JJtArdbtlHfpvےbHAdrtAnvpAbے`rbt|ZdQ`f~rXQJ`tAJl|drbdQZ|vpfbے`ZdQbtXv`frXQJ`Zp˂|drnvpے`JlJtAdbtlHfpvےbHAtbdQZtAJlfH~XQr˂|ZdQJtArdHfpv`ےbtbdQnvpے`JlJtAdbtlHfpvےbHAtbdQZtAJlfH~XQr˂|ZdQJtArdnXvZp˂dQZ|`vXnJXQrlJtAdbtlHfpvےbHAtbdQZtAJldrtAH~fJXQrlJtA~HfےbHArbdQZtAJlfH~XQr˂|ZdQJtArdnXvZp˂|drtbdQZf`vXpZHAbbtl|ZdQnXvHAZp˂Z|rAJfH~XQr˂|ZdQJtArdnXvZp˂|drtbdQZf`vXpZHAbbtl|ZdQ`f~rXQJ`drtAJvpf˂pZH|ZdQJtArdnXvZp˂|drtbdQZpfHJlt`vXn˂pZHArdtpvnZp˂|drtbdQZf`vXpZHAbbtl|ZdQ`f~rXQJ`tAJl|dtAnvpے`JJtArdbnXv`pvrXQJltbf`vXpZHAbbtl|ZdQ`f~rXQJ`tAJl|dtAnvpے`JJtArdbnXvHfpvےbHAltbH~fAbJbtl|ZdQ`f~rXQJ`tAJl|dtAf`vXbdQZ|vpfbے`lJtArXv`frXQJ`tAJl|drnvpے`JJtArdbtlHfpvےbHAtbdQZJltfH~XQr˂|ZdQ`pvnrXQJ`p˂dQZ|nvpے`JJtArdbtlHfpvےbHAtbdQZJltfH~XQr˂|ZdQ`f~nXvZp˂dQZ|`vXnQr˂pJtArdbtlHfpvےbHAtbdQZJltnvpdrtAH~fJXQHAbd|Z~HfےbHAtbdQZtAJlfH~XQr˂|ZdQJtArdnXvZp˂|drbnvf`vXpZHAbbtlnXv``p˂rbdQZdrtAJfH~XQr˂|ZdQJtArdnXvZp˂|drbnvf`vXpZHAbbtlHfpv`f~rXQJ`drtAJvpfZHAb|ZdQJtArdnXvZp˂|drbnvfH~f`vXfH~XQr˂|ZdQ`f~nrXQJZp˂|drnvpr˂pl|ZdQbnXv~HfےbHAtbdQZf`vXfH~XQr˂|ZdQ`f~nrXQJZp˂|drnvppZHAbˁ`ZpfH~tbAdnvpf`vXpZHAbbtlHfpv`ےHArXQJ`tAJlfH~ZHAbbtl`f~fppvnZp˂|drnvpf`vXpZHAbbtlHfpv`ےHArXQJ`tAJlfH~ے`JQXb㉀ۅf۝`vZ|dfH~nr˂ے`JJtArdnXvZp˂ےbHAtbdQZf`vXے`JXQJtArdvnXXv`frXQJ`tAJlfH~nr˂ے`JJtArdnXvZp˂ےbHAtbdQZf`vXXQr˂p`ZQXXnvrQtJlf`vXpZHAbXQr˂|ZdQ`f~rXQJ`Zp˂|drnvpr˂p|ZdQv`ffpvےbHAtbdQZf`vXpZHAbXQr˂|ZdQ`f~rXQJ`Zp˂|drnvppZHAbb㉀ۑppfH~tbAdnvpے`JpZHAbbtlHfpvےbHArXQJ`tAJlfH~ZHAbbtl~HfpnrXQJZp˂|drnvpے`JpZHAbbtlHfpvےbHArXQJ`tAJlfH~˂pJAHr󙐅f۝`vZ|dfH~XQr˂ے`JJtArdnXvZp˂ےbHAtbdQZf`vX˂pZ|ZdQbvnX`ےHArXQJ`tAJlfH~XQr˂ے`JJtArdnXvZp˂ےbHAtbdQZf`vXZHAbˁ`ZQXXnvrQtJlf`vXpZHAbXQr˂|ZdQ`f~rXQJ`Zp˂|drnvpHAbےtlJv`fZp˂ےbHAtbdQZf`vXpZHAbXQr˂|ZdQ`f~rXQJ`Zp˂|drnvpے`JXQb㉀ۑppfH~tbAdnvpے`JpZHAbtlHfpvےbHArbdQZtAJlfH~`JXQrtArd~HfvrXQJ`Zp˂|drnvpے`JpZHAbtlHfpvےbHArbdQZtAJlfH~r˂pJAHr󙐅f۝`vZ|dfH~XQr˂ے`JXQJtArdnXvZp˂|drtbdQZf`vX˂pZ|ZdQbnXv`ےbHArXQJ`tAJlfH~XQr˂ے`JXQJtArdnXvZp˂|drtbdQZf`vXZHAbۑpJXnvrQtJlf`vXpZHAbrbt|ZdQ`f~rXQJ`tAJl|drnvpHAbےtlJf~HZp˂ےbHAtbdQZf`vXpZHAbrbt|ZdQ`f~rXQJ`tAJl|drnvpے`JXQAHr󙐂ˍpfH~tbAdnvpے`JlJtAdbtlHfpvےbHAtbdQZtAJlfH~`JXQHAtArdtfpvrXQJ`Zp˂|drnvpے`JlJtAdbtlHfpvےbHAtbdQZtAJlfH~HAbے`ZQXbㅐf۝`vZ|dfH~XQr˂|ZdQJtArdnXvZp˂|drtbdQZf`vXbے`lJtAnXv`ےbHArbdQZtAJlfH~XQr˂|ZdQJtArdnXvZp˂|drtbdQZf`vX`JXQrۑpJXnvrQtJlf`vXpZHAbbtl|ZdQ`f~rXQJ`tAJl|dtAnvpJXQrrd|f~HZp˂|drtbdQZf`vXpZHAbbtl|ZdQ`f~rXQJ`tAJl|dtAnvp˂pZAHr󙐂ˍpfH~tbAdnvpے`JJtArdbtlHfpvےbHAtbdQZJltfH~˂pZHAZdQbtfpvrXQJ`tAJl|drnvpے`JJtArdbtlHfpvےbHAtbdQZJltfH~HAbے`ZQXAHf۝`vZ|dfH~XQr˂|ZdQJtArdnXvZp˂|drbnvf`vXbے`lJtAnvfےbHAtbdQZtAJlfH~XQr˂|ZdQJtArdnXvZp˂|drbnvf`vX`JXQrr󙐂ˁ`XnvrQtJlf`vXpZHAbbtl|ZdQ`f~rXQJ`tAJlpfHnvpJXQrrd|~HfpZp˂|drtbdQZf`vXpZHAbbtl|ZdQ`f~rXQJ`tAJlpfHnvp˂p`ZQXb㉀pfH~tbAdnvpے`JJtArdbnXvHfpvےbHAtbdQZf`vXfH~˂p`JZdQtArvnXrXQJ`tAJl|dtAnvpے`JJtArdbnXvHfpvےbHAtbdQZf`vXfH~JXQrۑpJAHf۝`vZ|dfH~XQr˂|ZdQ`f~nXvZp˂|drnvpf`vXXQr˂d|Zv`fےbHAtbdQZJltfH~XQr˂|ZdQ`f~nXvZp˂|drnvpf`vX˂pZHAr󙐂ˁ`XnvrQtJlf`vXpZHAbbtlHfpv`f~rXQJ`tAJlfH~nvppZHAbdQbt~HfpZp˂|drbnvf`vXpZHAbbtlHfpv`f~rXQJ`tAJlfH~nvpbے`ZQXb㉀pfH~tbAdnvpے`JJtArdnXvHfpvےbHAtbdQZf`vXfH~ے`JlJtArvnXrXQJ`tAJlpfHnvpے`JJtArdnXvHfpvےbHAtbdQZf`vXfH~JXQrXnv˅f۝`vZ|dfH~XQr˂|ZdQ`f~nXvZp˂|drnvpf`vXXQr˂d|Zv`f~fےbHAtbdQZf`vXfH~XQr˂|ZdQ`f~nXvZp˂|drnvpf`vX˂p`ZpfH~XnvrQtJlf`vXpZHAbbtlHfpv`fHrXQJ`tAJlfH~nr˂p`JXQdQbtpvnZp˂|drnvpf`vXpZHAbbtlHfpv`fHrXQJ`tAJlfH~nے`JQXb㉀ۅf۝`vp|dtbAdnvpے`JJtArdnXvfpvےbHAtbdQZf`vXp`JXQrbtl|ZdQXv`frXQJ`tAJlfH~nvpے`JJtArdnXvfpvےbHAtbdQZf`vXXQr˂pJAHrXnvrQtJlZ|drQtqrstuvwxxwvutsrJJJJJJJJJJJJJJJJJJJKKKK \ No newline at end of file diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv26_1.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv26_1.dat deleted file mode 100644 index b8939ddc14..0000000000 --- a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv26_1.dat +++ /dev/null @@ -1,241 +0,0 @@ -xwxwxwxwxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvutstststststststsrqrqrqrqrqrqrqrqopopopopopopopopnmnmnmnmnmnmnmnmnmnmnmnmlklklklklklklklkjijijijijijijijijijijijihghghghghghghghgfefefefefefefefefefefefedcdcdcdcdcdcdcdcbabababababababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMLKLKLKLKLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:9787878787777787877878787656565656565656543434343434343434343434321212121212121210/0/0/0/0/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!        xwxwxwxwxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvutstststststststsrqrqrqrqrqrqrqrqopooooooopopopopnmnmnmnmnmnmnmnmnmlklklklklklklklklklklkjijijijijijijijijihghghghghghghghghghghgfefefefefefefefefedcdcdcdcdcdcdcdcdcdcdcbababababababababa`_`_`_`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMLKLKLKLKLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:9787878787878787887656565656565656565656543434343434343434321212121212121212121210/0/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)*)*)*)('('('('('('('('('&%&%&%&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!"!"!"!        xwxwxwxwxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvutstststststststsrqrqrqrqrqrqrqrqpopopopoooooooponmnmnmnmnmnmnmnmlklklklklklklklklklklklkjijijijijijijijihghghghghghghghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSSSSSSTTSTSTSTSTSTSTSSSRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMLKLKLKLKLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:9787878787878787865656565656565656565656543434343434343432121212121212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!"!"!"!"!        xwxwxwxwxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvutstststststststsrqrqrqrqrqrqrqrqpopopopopopopoponmnmnmnmnmnmnmnmlklklklklklklklklklklklkjijijijijijijijihghghghghghghghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUSTSTSTSTSSSSSTSTSSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMLKLKLKLKLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:9787878787878787865656565656565656565656543434343434343432121212121212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!"!"!"!"!        xwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvuvuvuvuvutstststststststsrqrqrqrqrqrqrqrqpopopopopopopoponmnmnmnmnmnmnmnmlklklklklklklklklklklklkjijijijijijijijihghghghghghghghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUSTSTSTSTSTSTSTSTTSRQRQRQRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMNMNMNMLKLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCDCBABABABABABABABABABABA@?@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:9787878787878787865656565656565656565656543434343434343432121212121212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!"!"!"!"!        xwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvuvuvuvuvutstststststststsrqrqrqrqrqrqrqrqpopopopopopopoponmnmnmnmnmnmnmnmlklklklklklklklklklklklkjijijijijijijijihghghghghghghghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUSTSTSTSTSTSTSTSTRQRQRQRQRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMNMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABABABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:9787877777878787865656565656565656565656543434343434343432121212121212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!"!"!"!"!        xwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvuvuvuvuvutstststststststsrqrqrqrqpopopopopopopopopopopoponmnmnmnmnmnmnmnmlklklklklklklklklklklklkjijijijijijijijihghghghghghghghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUSTSTSTSTSTSTSTSTRQRQRQRQRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMNMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABABABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:9778787877877777765656565656565656565656543434343434343432121212121212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!"!"!"!"!        xwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvuvuvuvuvutstststsrqrqrqrqrqrqrqrqooooopoppopopooopopopoponmnmnmnmnmnmnmnmlklklklklklklklklkjijijijijijijijijijijihghghghghghghghghgfefefefefefefefefefefedcdcdcdcdcdcdcdcdcbababababababababababa`_`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUSTSTSTSTSTSTSTSTRQRQRQRQRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMNMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABABABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:9878787878787878765656565656565656543434343434343434343432121212121212121210/0/0/0/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)*)('('('('('('('('('('('&%&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!"!        xwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvutstststststststsrqrqrqrqrqrqrqrqopopopopooopopopmmmmmmnmnmnmnmnmnmnmnmnmlklklklklklklklkjijijijijijijijijijijijihghghghghghghghgfefefefefefefefefefefefedcdcdcdcdcdcdcdcbabababababababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUSTSTSSSSSTSTSTSTRQRQRQRQRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMNMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABABABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:98787878787878787656565656565656543434343434343434343434321212121212121210/0/0/0/0/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!        xwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvutstststststststsrqrqrqrqrqrqrqrqopopopopopopopopnmnmnmnmnmnmnmnmnmnmnmnmlklklklklklklklkjijijijijijijijijijijijihghghghghghghghgfefefefefefefefefefefefedcdcdcdcdcdcdcdcbabababababababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUSSTSTSTSSTSSSSSSRQRQRQRQRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMNMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABABABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:98787878787878787656565656565656543434343434343434343434321212121212121210/0/0/0/0/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!        xwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvutstststststststsrqrqrqrqrqrqrqrqopopopopopopopopnmnmnmnmnmnmnmnmnmnmnmnmlklklklklklklklkjijijijijijijijijijijijihghghghghghghghgfefefefefefefefefefefefedcdcdcdcdcdcdcdcbabababababababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMNMLKLKLKLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCDCDCDCBABABABABABABABABA@?@?@?@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:98787878787878787878787656565656565656543434343434343434343434321212121212121210/0/0/0/0/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!        xwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvutstststststststsrqrqrqrqrqrqrqrqopopopopopopopopnmnmnmnmnmnmnmnmnmnmnmnmlklklklklklklklkjijijijijijijijijijijijihghghghghghghghgfefefefefefefefefefefefedcdcdcdcdcdcdcdcbabababababababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMLKLKLKLKLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:9877777788787878787878777656565656565656543434343434343434343434321212121212121210/0/0/0/0/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!                    - - - - - - - - - - - -             - - - - - - - - - - - -          - - - - - - - - -         - - - - - - - -         - - - - - - - -         - - - - - - - -         - - - - - - - -         - - - - - - - -            - - - - - - - - - - -             - - - - - - - - - - - -             - - - - - - - - - - - -             - - - - - - - - - - - - xxwwvvuuHHGGFFEE))**++,,YYZZ[[\\ccbbaa``))((''&&""##$$%%\\]]^^__^]]\\[[Z)((''&&%DDEEFFGGttuuvvwwMMLLKKJJDDEEFFGGttuuvvwwMMLLKKJJDDEEFFGGttuuvvwwMMLLKKJJDDEEFFGGttuuvvwwMMLLKKJJDDEEFFGGttuuvvwwMMLLKKJJDDEEFFGGttuuvvwwCCBBAA@@ 556677==oouuvvwwHHGGFFEE !!""##PPQQRRSSqqppoonnAA@@??>> !!""##PPQQRRSSqqppoonnAA@@??>> !!""##PPQQRRSSqqppoonnAA@@??>> !!""##PPQQRRSSqqppoonnAA@@??>> !!""##PPQQRRSSqqppoonnAA@@??>> !!""##PPQQRRSSllkkjjii221100// FFGGHHIIonnmmllk<;:98776,,--..//\\]]^^__eeddccbb55443322,,--..//\\]]^^__eeddccbb55443322,,--..//\\]]^^__eeddccbb55443322,,--..//\\]]^^__eeddccbb55443322,,--..//\\]]^^__eeddccbb55443322,,--..//\\]]^^__``__^^]]&&%%$$##RRSSYYZZcbbaa``_.--,,++* - - 8899::;;ttssrrqqDDCCBBAA--..//00]]^^__``__^^]]\\%%$$##""&&''(())``aabbccZYYXWVUT%$$##""!HHIIJJKKxxxxwwvvIIHHGGFFHHIIJJKKxxxxwwvvIIHHGGFFHHIIJJKKxxxxwwvvIIHHGGFFHHIIJJKKxxxxwwvvIIHHGGFFHHIIJJKKxxxxwwvvIIHHGGFFHHIIJJKKxxxxwwvv??>>==77>>??@@AAxxxxwwvvDDCCBBAA $$%%&&''TTUUVVWWmmllkkjj==<<;;:: - -$$%%&&''TTUUVVWWmmllkkjj==<<;;:: - -$$%%&&''TTUUVVWWmmllkkjj==<<;;:: - -$$%%&&''TTUUVVWWmmllkkjj==<<;;:: - -$$%%&&''TTUUVVWWmmllkkjj==<<;;:: - -$$%%&&''TTUUVVWWhhggffee..--,,++JJKKLLMMkjjiihhg6554433200112233``aabbccaa``__^^1100//..00112233``aabbccaa``__^^1100//..00112233``aabbccaa``__^^1100//..00112233``aabbccaa``__^^1100//..00112233``aabbccaa``__^^1100//..00112233``aabbcc\\[[ZZYY""!!!!""##$$[[\\]]^^_^^]]\\[*))((''& <<==>>??ppoonnmm@@??>>== 11223344aabbccdd[[ZZYYSS!!**++,,--ddeeffggSSRRQQPP! LLMMNNOOuuttssrrEEDDCCBBLLMMNNOOuuttssrrEEDDCCBBLLMMNNOOuuttssrrEEDDCCBBLLMMNNOOuuttssrrEEDDCCBBLLMMNNOOuuttssrrEEDDCCBBLLMMNNOOuuoonnmm66554433 - - BBCCDDEEuutsrqpo@@??>>== - - (())**++XXYYZZ[[iihhggff99887766 (())**++XXYYZZ[[iihhggff99887766 (())**++XXYYZZ[[iihhggff99887766 (())**++XXYYZZ[[iihhggff99887766 (())**++XXYYZZ[[iihhggff99887766 (())**++XXYYZZ[[ddccbbaa**))((''NNOOPPQQgffeeddc21100//.44556677ddeeffgg]]\\[[ZZ--,,++**44556677ddeeffgg]]\\[[ZZ--,,++**44556677ddeeffgg]]\\[[ZZ--,,++**44556677ddeeffgg]]\\[[ZZ--,,++**44556677ddeeffgg]]\\[[ZZ--,,++**44556677ddeeffggSSRRQQPP%%&&''((__``aabb[ZZYYXWV&%%$$##"@@AABBCCllkkjjii<<;;::99 - - 55667788eeffgghhRRQQPPOO..//0011hhiijjkkOONNMMLL !!""##PPQQRRSSqqppoonnAA@@??>> !!""##PPQQRRSSqqppoonnAA@@??>> !!""##PPQQRRSSqqppoonnAA@@??>> !!""##PPQQRRSSqqppoonnAA@@??>> !!""##PPQQRRSSqqppoonnAA@@??>> !!""##PPQQRRSSllkkjjii221100// FFGGHHIIonnmmllk<;:98776,,--..//\\]]^^__eeddccbb55443322,,--..//\\]]^^__eeddccbb55443322,,--..//\\]]^^__eeddccbb55443322,,--..//\\]]^^__eeddccbb55443322,,--..//\\]]^^__eeddccbb55443322,,--..//\\]]^^__``__^^]]&&%%$$##RRSSYYZZcbbaa``_.--,,++* - - 8899::;;hhiijjkkYYXXWWVV))((''&& - - 8899::;;hhiijjkkYYXXWWVV))((''&& - - 8899::;;hhiijjkkYYXXWWVV))((''&& - - 8899::;;hhiijjkkYYXXWWVV))((''&& - - 8899::;;hhiijjkkYYXXWWVV))((''&& - - 8899::;;hhiijjkkOONNMMLL))**++,,ccddeeffUTSSRRQQ"!! DDEEFFGGhhggffee88776655 - - 99::;;<>??llmmnnooUUTTSSRR%%$$##"" <<==>>??llmmnnooUUTTSSRR%%$$##"" <<==>>??llmmnnooUUTTSSRR%%$$##"" <<==>>??llmmnnooUUTTSSRR%%$$##"" <<==>>??llmmnnooUUTTSSRR%%$$##"" <<==>>??llmmnnooKKJJIIHH--..//00gghhiijjPPOONNMMHHIIJJKKddccbbaa44332211 ==>>??@@mmnnooppJJIIHHGG 6677==>>uuvvwwxxGGFFEEDD(())**++XXYYZZ[[iihhggff99887766 (())**++XXYYZZ[[iihhggff99887766 (())**++XXYYZZ[[iihhggff99887766 (())**++XXYYZZ[[iihhggff99887766 (())**++XXYYZZ[[iihhggff99887766 (())**++XXYYZZ[[ddccbbaa**))((''NNOOPPQQgffeeddc21100//.44556677ddeeffgg]]\\[[ZZ--,,++**44556677ddeeffgg]]\\[[ZZ--,,++**44556677ddeeffgg]]\\[[ZZ--,,++**44556677ddeeffgg]]\\[[ZZ--,,++**44556677ddeeffgg]]\\[[ZZ--,,++**44556677ddeeffggSSRRQQPP%%&&''((__``aabb[ZZYYXWV&%%$$##"@@AABBCCppqqrrssQQPPOONN!! @@AABBCCppqqrrssQQPPOONN!! @@AABBCCppqqrrssQQPPOONN!! @@AABBCCppqqrrssQQPPOONN!! @@AABBCCppqqrrssQQPPOONN!! @@AABBCCppqqrrssGGFFEEDD - -11223344kkllmmnnLLKKJJIILLMMNNOO``__^^]]00//..--AABBCCDDqqrrssttFFEEDDCC - - ??@@AABBxxwwvvuuCCBBAA@@ ,,--..//\\]]^^__eeddccbb55443322,,--..//\\]]^^__eeddccbb55443322,,--..//\\]]^^__eeddccbb55443322,,--..//\\]]^^__eeddccbb55443322,,--..//\\]]^^__eeddccbb55443322,,--..//\\]]^^__``__^^]]&&%%$$##RRSSYYZZcbbaa``_.--,,++* - - 8899::;;hhiijjkkYYXXWWVV))((''&& - - 8899::;;hhiijjkkYYXXWWVV))((''&& - - 8899::;;hhiijjkkYYXXWWVV))((''&& - - 8899::;;hhiijjkkYYXXWWVV))((''&& - - 8899::;;hhiijjkkYYXXWWVV))((''&& - - 8899::;;hhiijjkkOONNMMLL))**++,,ccddeeffUTSSRRQQ"!! DDEEFFGGttuuvvwwMMLLKKJJDDEEFFGGttuuvvwwMMLLKKJJDDEEFFGGttuuvvwwMMLLKKJJDDEEFFGGttuuvvwwMMLLKKJJDDEEFFGGttuuvvwwMMLLKKJJDDEEFFGGttuuvvwwCCBBAA@@ 556677==oouuvvwwHHGGFFEE !!""##PPQQRRSS\\[[ZZYY,,++**))EEFFGGHHuuvvwwxxBBAA@@?? - - CCDDEEFFtsrqpoon??>>==<; - - 00112233``aabbccaa``__^^1100//..00112233``aabbccaa``__^^1100//..00112233``aabbccaa``__^^1100//..00112233``aabbccaa``__^^1100//..00112233``aabbccaa``__^^1100//..00112233``aabbcc\\[[ZZYY""!!!!""##$$[[\\]]^^_^^]]\\[*))((''& <<==>>??llmmnnooUUTTSSRR%%$$##"" <<==>>??llmmnnooUUTTSSRR%%$$##"" <<==>>??llmmnnooUUTTSSRR%%$$##"" <<==>>??llmmnnooUUTTSSRR%%$$##"" <<==>>??llmmnnooUUTTSSRR%%$$##"" <<==>>??llmmnnooKKJJIIHH--..//00gghhiijjPPOONNMMHHIIJJKKxxxxwwvvIIHHGGFFHHIIJJKKxxxxwwvvIIHHGGFFHHIIJJKKxxxxwwvvIIHHGGFFHHIIJJKKxxxxwwvvIIHHGGFFHHIIJJKKxxxxwwvvIIHHGGFFHHIIJJKKxxxxwwvv??>>==77>>??@@AAxxxxwwvvDDCCBBAA $$%%&&''TTUUVVWWXXWWVVUU((''&&%%IIJJKKLLxxwwvvuu>>==7766 GGHHIIJJnmmllkkj:987766544556677ddeeffgg]]\\[[ZZ--,,++**44556677ddeeffgg]]\\[[ZZ--,,++**44556677ddeeffgg]]\\[[ZZ--,,++**44556677ddeeffgg]]\\[[ZZ--,,++**44556677ddeeffgg]]\\[[ZZ--,,++**44556677ddeeffggSSRRQQPP%%&&''((__``aabb[ZZYYXWV&%%$$##"@@AABBCCppqqrrssQQPPOONN!! @@AABBCCppqqrrssQQPPOONN!! @@AABBCCppqqrrssQQPPOONN!! @@AABBCCppqqrrssQQPPOONN!! @@AABBCCppqqrrssQQPPOONN!! @@AABBCCppqqrrssGGFFEEDD - -11223344kkllmmnnLLKKJJIILLMMNNOOuuttssrrEEDDCCBBLLMMNNOOuuttssrrEEDDCCBBLLMMNNOOuuttssrrEEDDCCBBLLMMNNOOuuttssrrEEDDCCBBLLMMNNOOuuttssrrEEDDCCBBLLMMNNOOuuoonnmm66554433 - - BBCCDDEEuutsrqpo@@??>>== - - (())**++XXYYZZ[[TTSSRRQQ$$##""!! MMNNOOPPoonnmmll55443322KKLLMMNNjiihhggf54433221 - - 8899::;;hhiijjkkYYXXWWVV))((''&& - - 8899::;;hhiijjkkYYXXWWVV))((''&& - - 8899::;;hhiijjkkYYXXWWVV))((''&& - - 8899::;;hhiijjkkYYXXWWVV))((''&& - - 8899::;;hhiijjkkYYXXWWVV))((''&& - - 8899::;;hhiijjkkOONNMMLL))**++,,ccddeeffUTSSRRQQ"!! DDEEFFGGttuuvvwwMMLLKKJJDDEEFFGGttuuvvwwMMLLKKJJDDEEFFGGttuuvvwwMMLLKKJJDDEEFFGGttuuvvwwMMLLKKJJDDEEFFGGttuuvvwwMMLLKKJJDDEEFFGGttuuvvwwCCBBAA@@ 556677==oouuvvwwHHGGFFEE !!""##PPQQRRSSqqppoonnAA@@??>> !!""##PPQQRRSSqqppoonnAA@@??>> !!""##PPQQRRSSqqppoonnAA@@??>> !!""##PPQQRRSSqqppoonnAA@@??>> !!""##PPQQRRSSqqppoonnAA@@??>> !!""##PPQQRRSSllkkjjii221100// FFGGHHIIonnmmllk<;:98776,,--..//\\]]^^__PPOONNMM !!""##$$QQRRSSTTkkjjiihh1100//..OOPPQQRRfeeddccb100//..- <<==>>??llmmnnooUUTTSSRR%%$$##"" <<==>>??llmmnnooUUTTSSRR%%$$##"" <<==>>??llmmnnooUUTTSSRR%%$$##"" <<==>>??llmmnnooUUTTSSRR%%$$##"" <<==>>??llmmnnooUUTTSSRR%%$$##"" <<==>>??llmmnnooKKJJIIHH--..//00gghhiijjPPOONNMMHHIIJJKKxxxxwwvvIIHHGGFFHHIIJJKKxxxxwwvvIIHHGGFFHHIIJJKKxxxxwwvvIIHHGGFFHHIIJJKKxxxxwwvvIIHHGGFFHHIIJJKKxxxxwwvvIIHHGGFFHHIIJJKKxxxxwwvv??>>==77>>??@@AAxxxxwwvvDDCCBBAA $$%%&&''TTUUVVWWmmllkkjj==<<;;:: - -$$%%&&''TTUUVVWWmmllkkjj==<<;;:: - -$$%%&&''TTUUVVWWmmllkkjj==<<;;:: - -$$%%&&''TTUUVVWWmmllkkjj==<<;;:: - -$$%%&&''TTUUVVWWmmllkkjj==<<;;:: - -$$%%&&''TTUUVVWWhhggffee..--,,++JJKKLLMMkjjiihhg6554433200112233``aabbcchhiijjkkLLKKJJII%%&&''((UUVVWWXXggffeedd--,,++**!!SSYYZZ[[baa``__^-,,++**)@@AABBCCppqqrrssQQPPOONN!! @@AABBCCppqqrrssQQPPOONN!! @@AABBCCppqqrrssQQPPOONN!! @@AABBCCppqqrrssQQPPOONN!! @@AABBCCppqqrrssQQPPOONN!! @@AABBCCppqqrrssGGFFEEDD - -11223344kkllmmnnLLKKJJIILLMMNNOOuuttssrrEEDDCCBBLLMMNNOOuuttssrrEEDDCCBBLLMMNNOOuuttssrrEEDDCCBBLLMMNNOOuuttssrrEEDDCCBBLLMMNNOOuuttssrrEEDDCCBBLLMMNNOOuuoonnmm66554433 - - BBCCDDEEuutsrqpo@@??>>== - - (())**++XXYYZZ[[iihhggff99887766 (())**++XXYYZZ[[iihhggff99887766 (())**++XXYYZZ[[iihhggff99887766 (())**++XXYYZZ[[iihhggff99887766 (())**++XXYYZZ[[iihhggff99887766 (())**++XXYYZZ[[ddccbbaa**))((''NNOOPPQQgffeeddc21100//.44556677ddeeffggllmmnnooppqqrrssQQPPOONN!! @@AABBCCppqqrrssQQPPOONN!! @@AABBCCppqqrrssQQPPOONN!! @@AABBCCppqqrrssQQPPOONN!! @@AABBCCppqqrrssDDCCBBAA - - - -AABBCCDDeeddccbb55443322 <<==>>??ttuuvvwwMMLLKKJJDDEEFFGGttuuvvwwMMLLKKJJDDEEFFGGttuuvvwwMMLLKKJJDDEEFFGGttuuvvwwMMLLKKJJDDEEFFGGttuuvvww@@??>>== EEFFGGHHaa``__^^1100//..@@AABBCCxxxxwwvvIIHHGGFFHHIIJJKKxxxxwwvvIIHHGGFFHHIIJJKKxxxxwwvvIIHHGGFFHHIIJJKKxxxxwwvvIIHHGGFFHHIIJJKKxxppoonn77665544IIJJKKLL]]\\[[ZZ--,,++**DDEEFFGGuuttssrrEEDDCCBBLLMMNNOOuuttssrrEEDDCCBBLLMMNNOOuuttssrrEEDDCCBBLLMMNNOOuuttssrrEEDDCCBBLLMMNNOOmmllkkjj33221100MMNNOOPPYYXXWWVV))((''&&HHIIJJKKqqppoonnAA@@??>> !!""##PPQQRRSSqqppoonnAA@@??>> !!""##PPQQRRSSqqppoonnAA@@??>> !!""##PPQQRRSSqqppoonnAA@@??>> !!""##PPQQRRSSiihhggff//..--,,QQRRSSYYUUTTSSRR%%$$##""LLMMNNOOmmllkkjj==<<;;:: - -$$%%&&''TTUUVVWWmmllkkjj==<<;;:: - -$$%%&&''TTUUVVWWmmllkkjj==<<;;:: - -$$%%&&''TTUUVVWWmmllkkjj==<<;;:: - -$$%%&&''TTUUVVWWeeddccbb++**))((!!""##ZZ[[\\]]QQPPOONN!!  !!""##PPQQRRSSiihhggff99887766 (())**++XXYYZZ[[iihhggff99887766 (())**++XXYYZZ[[iihhggff99887766 (())**++XXYYZZ[[iihhggff99887766 (())**++XXYYZZ[[aa``__^^''&&%%$$$$%%&&''^^__``aaMMLLKKJJ$$%%&&''TTUUVVWWeeddccbb55443322,,--..//\\]]^^__eeddccbb55443322,,--..//\\]]^^__eeddccbb55443322,,--..//\\]]^^__eeddccbb55443322,,--..//\\]]^^__]]\\[[ZZ##""!!(())**++bbccddeeIIHHGGFF(())**++XXYYZZ[[aa``__^^1100//..00112233``aabbccaa``__^^1100//..00112233``aabbccaa``__^^1100//..00112233``aabbccaa``__^^1100//..00112233``aabbccYYSSRRQQ,,--..//ffgghhiiEEDDCCBB,,--..//\\]]^^__]]\\[[ZZ--,,++**44556677ddeeffgg]]\\[[ZZ--,,++**44556677ddeeffgg]]\\[[ZZ--,,++**44556677ddeeffgg]]\\[[ZZ--,,++**44556677ddeeffggPPOONNMM00112233jjkkllmmAA@@??>>00112233``aabbccYYXXWWVV))((''&& - - 8899::;;hhiijjkkYYXXWWVV))((''&& - - 8899::;;hhiijjkkYYXXWWVV))((''&& - - 8899::;;hhiijjkkYYXXWWVV))((''&& - - 8899::;;hhiijjkkLLKKJJII44556677mmllkkjj==<<;;:: - -44556677ddeeffggUUTTSSRR%%$$##"" <<==>>??llmmnnooUUTTSSRR%%$$##"" <<==>>??llmmnnooUUTTSSRR%%$$##"" <<==>>??llmmnnooUUTTSSRR%%$$##"" <<==>>??llmmnnooHHGGFFEE ==>>??@@iihhggff99887766 - - 8899::;;hhiijjkkllmmbdQZ|bdQZ|bdQZ|H~fH~f`JXQrے`JZdQbt|ZdQv`ffpvZp˂Zp˂Zp˂tAJltAJlf`vXf`vXf`vXے`Jے`J|ZdQ|ZdQ|ZdQHfpvHfpvZp˂Zp˂Zp˂tAJltAJlf`vXf`vXf`vXے`Jے`J|ZdQ|ZdQ|ZdQ~Hf`pvbHAXQ`p˂bdQZ|drtAJf`vXf`vXے`Jے`Jے`J|ZdQ|ZdQHfpvHfpvHfpvZp˂Zp˂tAJltAJltAJlf`vXf`vXے`Jے`Jے`J|ZdQ|ZdQHfpvHfpvHfpvZp˂Zp˂bdQZ|tbdQnvpvXnJXQrrZHA㙒`JXQ|ZdQ|ZdQHfpvHfpvfpvZp˂Zp˂tAJltAJlJltf`vXf`vXے`Jے`Jے`JXQ|ZdQ|ZdQHfpvHfpvfpvZp˂Zp˂tAJltAJlJltf`vXf`vXr˂pJXQrbtlZdQtArvnXv`fZp˂Zp˂drtAdrtAdrtA`vXn`vXn˂pZXQr˂lJtAbtl~HfvnnXv`rXQJ`rXQJ`rbdQZtbdQZtbdQZnvpnvpnr˂XQr˂XQr˂btlbtlbnXvnXvnXvrXQJ`rXQJ`rbdQZtbdQZtbdQZnvpnvpnr˂XQr˂XQr˂btlbtlbnXvpvnrXQJJ`ےrbdQZdrtAltbnvpnvpXQr˂XQr˂XQr˂btlbtlnXvnXvnXvrXQJ`rXQJ`tbdQZtbdQZtbdQZnvpnvpXQr˂XQr˂XQr˂btlbtlnXvnXvnXvrXQJ`rXQJ`drtAZ|dfH~vpfH˂pZHbے`rbtbtlbtlnXvnXvnrXQJrXQJ`rXQJ`tbdQZtbdQZbnvnvpnvpXQr˂XQr˂rbtbtlbtlnXvnXvnrXQJrXQJ`rXQJ`tbdQZtbdQZbnvnvpnvpZHAb˂p`J|ZdQbd|Zv`f~HfprXQJ`rXQJ`JltJltJltvpfvpfHAbp`JXQrd|JtArdXv`ff~fpےbHAےbHA|dr|dr|drfH~fH~pZHAbpZHAbpZHAbJtArdJtArd`f~`f~`f~ےbHAےbHA|dr|dr|drfH~fH~pZHAbpZHAbpZHAbJtArdJtArd`pv~Hfp`p˂bHAZp|rAJlJltdQZ|fH~fH~pZHAbpZHAbpZHAJtArdJtArd`f~`f~`fHےbHAےbHA|dr|dr|dtAfH~fH~pZHAbpZHAbpZHAJtArdJtArd`f~`f~`fHےbHAےbHAJltrtAJlf`vX~f`Abے`JXQrlJtAdJtArdJtArd`f~`f~`ےHAےbHAےbHA|dr|drpfHfH~fH~pZHAbpZHAblJtAdJtArdJtArd`f~`f~`ےHAےbHAےbHA|dr|drpfHfH~fH~˂pZXQr˂tlJdQbt璕~HfvvnXےbHAےbHAbdQZ|bdQZ|bdQZ|H~fH~f˂pZHAr˂pZdQbt|ZdQ~HfvnXZp˂Zp˂tAJltAJltAJlf`vXf`vXے`Jے`Jے`J|ZdQ|ZdQHfpvHfpvHfpvZp˂Zp˂tAJltAJltAJlf`vXf`vXے`Jے`Jے`J|ZdQ|ZdQnXv`vnXrXQJ`˂rXQtbdbQZdAJltf`vXf`vXے`Jے`Jے`JXQ|ZdQ|ZdQHfpvHfpvfpvZp˂Zp˂tAJltAJlJltf`vXf`vXے`Jے`Jے`JXQ|ZdQ|ZdQHfpvHfpvfpvZp˂Zp˂bdQZ|tbdQnvpvXH~JXQrpZHA|ZdQ|ZdQ|ZdQHfpvHfpvZp˂Zp˂Zp˂tAJltAJlf`vXf`vXf`vXے`Jے`J|ZdQ|ZdQ|ZdQHfpvHfpvZp˂Zp˂Zp˂tAJltAJlf`vXf`vXf`vXHAbےpZHAbtArdlJtArnXv`v`f~fZp˂Zp˂drtAdrtA`vXn`vXn`vXnbے`ZHAblJtAbtlpvnv`frXQJ`rXQJ`tbdQZtbdQZtbdQZnvpnvpXQr˂XQr˂XQr˂btlbtlnXvnXvnXvrXQJ`rXQJ`tbdQZtbdQZtbdQZnvpnvpXQr˂XQr˂XQr˂btlbtlf~Hv`fےbHAJ`ےQZ|drtAJlbnvnvpnvpXQr˂XQr˂rbtbtlbtlnXvnXvnrXQJrXQJ`rXQJ`tbdQZtbdQZbnvnvpnvpXQr˂XQr˂rbtbtlbtlnXvnXvnrXQJrXQJ`rXQJ`drtAZ|l`vXnf`v˂pZHbے`btlbtlbtlnXvnXvrXQJ`rXQJ`rXQJ`tbdQZtbdQZnvpnvpnvpXQr˂XQr˂btlbtlbtlnXvnXvrXQJ`rXQJ`rXQJ`tbdQZtbdQZnvpnvpnvp`JXQrے`J|ZdQbd|Zf~HpvnrXQJ`rXQJ`JltJltvpfvpfvpfJXQrے`JXQrdt|ZdQbXv`f~HfpےbHAےbHA|dr|dr|dtAfH~fH~pZHAbpZHAbpZHAJtArdJtArd`f~`f~`fHےbHAےbHA|dr|dr|dtAfH~fH~pZHAbpZHAbpZHAJtArdJtArdfpv~HfpZp˂bHAZprtAJltbdQpfHfH~fH~pZHAbpZHAblJtAdJtArdJtArd`f~`f~`ےHAےbHAےbHA|dr|drpfHfH~fH~pZHAbpZHAblJtAdJtArdJtArd`f~`f~`ےHAےbHAےbHAdQZ|tbdQZvpfXnvAbJJXQrJtArdJtArdJtArd`f~`f~ےbHAےbHAےbHA|dr|drfH~fH~fH~pZHAbpZHAbJtArdJtArdJtArd`f~`f~ےbHAےbHAےbHA|dr|drfH~fH~fH~˂pZXQr˂tlJdQbtfpvXv`fےbHAےbHAbdQZ|bdQZ|H~fH~fH~f˂pZHAr˂plJtArnXv`~HfvnXZp˂Zp˂tAJltAJlJltf`vXf`vXے`Jے`Jے`JXQ|ZdQ|ZdQHfpvHfpvfpvZp˂Zp˂tAJltAJlJltf`vXf`vXے`Jے`Jے`JXQ|ZdQ|ZdQnXv`vnXrXQJ`˂btbdZ|df`vXf`vXf`vXے`Jے`J|ZdQ|ZdQ|ZdQHfpvHfpvZp˂Zp˂Zp˂tAJltAJlf`vXf`vXf`vXے`Jے`J|ZdQ|ZdQ|ZdQHfpvHfpvZp˂Zp˂Zp˂drtAJ|drH~fpfH~Qr˂ppZAb|ZdQ|ZdQ|ZdQHfpvHfpvZp˂Zp˂Zp˂tAJltAJlf`vXf`vXf`vXے`Jے`J|ZdQ|ZdQ|ZdQHfpvHfpvZp˂Zp˂Zp˂tAJltAJlf`vXf`vXf`vXHAbےp`JXQtArdtl|ZdQnXv`~HfZp˂Zp˂drtAdrtA`vXn`vXn`vXnbے`|ZdQbd|Zf~fppvnv`frXQJ`rXQJ`tbdQZtbdQZbnvnvpnvpXQr˂XQr˂rbtbtlbtlnXvnXvnrXQJrXQJ`rXQJ`tbdQZtbdQZbnvnvpnvpXQr˂XQr˂rbtbtlbtlf~Hv`pvp˂rHAZp˂QZ|drtAJlnvpnvpnvpXQr˂XQr˂btlbtlbtlnXvnXvrXQJ`rXQJ`rXQJ`tbdQZtbdQZnvpnvpnvpXQr˂XQr˂btlbtlbtlnXvnXvrXQJ`rXQJ`rXQJ`ltbtAJl`vXnf`vZHAb`JXQrbtlbtlbnXvnXvnXvrXQJ`rXQJ`rbdQZtbdQZtbdQZnvpnvpnr˂XQr˂XQr˂btlbtlbnXvnXvnXvrXQJ`rXQJ`rbdQZtbdQZtbdQZnvpnvpnr˂`JXQHArbtlJtAbnXvf~HpvnrXQJ`rXQJ`JltJltvpfvpfr˂pJXQHAbtlJdQbtvnXvf~HrQJHAےbHAےbHA|dr|drpfHfH~fH~pZHAbpZHAblJtAdJtArdJtArd`f~`f~`ےHAےbHAےbHA|dr|drpfHfH~fH~pZHAbpZHAblJtAdJtArdJtArdXv`fnXvXQJ`ےrXQJrtAJtbdQfH~fH~fH~pZHAbpZHAbJtArdJtArdJtArd`f~`f~ےbHAےbHAےbHA|dr|drfH~fH~fH~pZHAbpZHAbJtArdJtArdJtArd`f~`f~ےbHAےbHAےbHAdQZ|tbdQZvpfXnvے`JXQ˂pZJtArdJtArd`f~`f~`f~ےbHAےbHA|dr|dr|drfH~fH~pZHAbpZHAbpZHAbJtArdJtArd`f~`f~`f~ےbHAےbHA|dr|dr|drfH~fH~p`JXQbے`l|ZdQrd|`f~fpfpvXv`fےbHAےbHAbdQZ|bdQZ|H~fH~f`JXQrے`JtArdlJtArv`ffpvZp˂Zp˂Zp˂tAJltAJlf`vXf`vXf`vXے`Jے`J|ZdQ|ZdQ|ZdQHfpvHfpvZp˂Zp˂Zp˂tAJltAJlf`vXf`vXf`vXے`Jے`J|ZdQ|ZdQ|ZdQ~Hf`f~bHAZ`ےbbdQZ|Z|rAJf`vXf`vXf`vXے`Jے`J|ZdQ|ZdQ|ZdQHfpvHfpvZp˂Zp˂Zp˂tAJltAJlf`vXf`vXf`vXے`Jے`J|ZdQ|ZdQ|ZdQHfpvHfpvZp˂Zp˂Zp˂drtAJ|ltH~p`vXr˂pHAbے|ZdQ|ZdQHfpvHfpvHfpvZp˂Zp˂tAJltAJltAJlf`vXf`vXے`Jے`Jے`J|ZdQ|ZdQHfpvHfpvHfpvZp˂Zp˂tAJltAJltAJlf`vXf`vXr˂pJXQrbtlZdQbtvnXnvffpvZp˂Zp˂drtAdrtA`vXn`vXn˂pZXQr˂|ZdQbd|Z~HfpۅnXv`rXQJ`rXQJ`rXQJ`tbdQZtbdQZnvpnvpnvpXQr˂XQr˂btlbtlbtlnXvnXvrXQJ`rXQJ`rXQJ`tbdQZtbdQZnvpnvpnvpXQr˂XQr˂btlbtlbtlpvnHfpvp˂rHAZp˂drtAltbnvpnvpnr˂XQr˂XQr˂btlbtlbnXvnXvnXvrXQJ`rXQJ`rbdQZtbdQZtbdQZnvpnvpnr˂XQr˂XQr˂btlbtlbnXvnXvnXvrXQJ`rXQJ`rbdQZltdbnvvpfHnr˂ZHAb`JXQrbtlbtlnXvnXvnXvrXQJ`rXQJ`tbdQZtbdQZtbdQZnvpnvpXQr˂XQr˂XQr˂btlbtlnXvnXvnXvrXQJ`rXQJ`tbdQZtbdQZtbdQZnvpnvpZHAb˂pZHAJtArdlJtAv`f~HfpnrXQJrXQJ`rXQJ`Zp˂JltJltvpfvpfHAbےpZHAbtl|dQtArdvnXf~HےbHAےbHAےbHA|dr|drfH~fH~fH~pZHAbpZHAbJtArdJtArdJtArd`f~`f~ےbHAےbHAےbHA|dr|drfH~fH~fH~pZHAbpZHAbJtArdJtArdJtArdXv`fnXvXQJ`ےrXQJJltdQZ|fH~fH~pZHAbpZHAbpZHAbJtArdJtArd`f~`f~`f~ےbHAےbHA|dr|dr|drfH~fH~pZHAbpZHAbpZHAbJtArdJtArd`f~`f~`f~ےbHAےbHA|ltrtAJlp`vX~f`pZAb`ے`JXQ˂pZAJtArdJtArd`f~`f~`fHےbHAےbHA|dr|dr|dtAfH~fH~pZHAbpZHAbpZHAJtArdJtArd`f~`f~`fHےbHAےbHA|dr|dr|dtAfH~fH~ے`JXQbے`|ZdQrd|~HfpvnX`ےHAےbHAےbHArXQJ`ےbHA|dr|drfH~fH~fH~pZHAbpZHAbJtArdJtArdJtArd`f~`f~ےbHAےbHAےbHA|dr|drfH~fH~fH~ZHAb˂p`ZAHr󙐂˅f۝`vf۝`vrQtJlrQtJlZp˂tAJltAJlf`vXf`vXf`vXے`Jے`J|ZdQ|ZdQ|ZdQHfpvHfpvZp˂Zp˂Zp˂tAJltAJlf`vXf`vXf`vXے`JXQQXb㉀ہ`ZQXbXnv˅Xnv˒tbAdtbAdrbdQZtbdQZtbdQZnvpnvpnr˂XQr˂XQr˂btlbtlbnXvnXvnXvrXQJ`rXQJ`rbdQZtbdQZtbdQZnvpnvpnے`JHAbےpJAHr󉀒ۑpJpfH~pfH~Z|dZ|d|dr|dr|drfH~fH~pZHAbpZHAbpZHAbJtArdJtArd`f~`f~`f~ےbHAےbHA|dr|dr|drfH~fH~XQr˂`JXQrˁ`ZAHr󙐂˅f۝`vf۝`vrQtJlrQtJltAJltAJltAJlf`vXf`vXے`Jے`Jے`J|ZdQ|ZdQHfpvHfpvHfpvZp˂Zp˂tAJltAJltAJlf`vXf`vXpZHAb˂pZQXb㉀ہ`ZQXAHXnv˅Xnv˒tbAdtbAdtbdQZtbdQZtbdQZnvpnvpXQr˂XQr˂XQr˂btlbtlnXvnXvnXvrXQJ`rXQJ`tbdQZtbdQZtbdQZnvpnvpے`JHAbےp`ZQXr󙐂ˁ`pfH~pfH~Z|dZ|d|dr|dr|dtAfH~fH~pZHAbpZHAbpZHAJtArdJtArd`f~`f~`fHےbHAےbHA|dr|dr|dtAfH~fH~XQr˂`JXQrb㉀ۑpZQXb㉀f۝`vf۝`vrQtJlrQtJltAJltAJlJltf`vXf`vXے`Jے`Jے`JXQ|ZdQ|ZdQHfpvHfpvfpvZp˂Zp˂tAJltAJlJltf`vXf`vXpZHAb˂p`JAHr󙐒ۑpJAHXnv˅Xnv˒tbAdtbAdtbdQZtbdQZbnvnvpnvpXQr˂XQr˂rbtbtlbtlnXvnXvnrXQJrXQJ`rXQJ`tbdQZtbdQZbnvnvpnvp˂pJXQrˁ`ZQXr󙐂ˁ`pfH~pfH~Z|dZ|d|dr|drpfHfH~fH~pZHAbpZHAblJtAdJtArdJtArd`f~`f~`ےHAےbHAےbHA|dr|drpfHfH~fH~ZHAb˂pZHAb㉀ۑpZQXb㉀f۝`vf۝`vrQtJlrQtJltAJltAJlf`vXf`vXf`vXے`Jے`J|ZdQ|ZdQ|ZdQHfpvHfpvZp˂Zp˂Zp˂tAJltAJlf`vXf`vXf`vXے`JXQbے`JAHr󙐅Xnv˅Xnv˅Xnv˒tbAdtbAdtbdQZtbdQZnvpnvpnvpXQr˂XQr˂btlbtlbtlnXvnXvrXQJ`rXQJ`rXQJ`tbdQZtbdQZnvpnvpnvpr˂pJXQrۑpJpfH~pfH~p|dZ|dZ|drQtqrstuvwxxwvutsr \ No newline at end of file diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv26_2.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv26_2.dat deleted file mode 100644 index 9b026a0438e3d64d2f3e4f7cf834cdc55565974e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 41024 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 diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv26_3.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv26_3.dat deleted file mode 100644 index 35f67462b4..0000000000 --- a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv26_3.dat +++ /dev/null @@ -1,241 +0,0 @@ -xwxwxwxwvuvuvuvutstststspopopoponmnmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdc`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWSTSTSTSTRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIFEFEFEFExwxwxwxwvuvuvuvutstststsooooopopnmnmnmnmlklklklkjijijijihghghghgfefefefedcbababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWSTSTSTSTRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIFEFEFEFExwxwxwxwvuvuvuvutstststsopopopopnmnmnmnmlklklklkjijijijihghghghgfefefefebabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWSTSTSSSSRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKJIHGHGHGFEFEFEFExwxwxwxwvuvuvuvutstststsopopopopnmnmnmnmlklklklkjijijijihghghghgfefefefebabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWSSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKHGHGHGHGFEFEFEFExwxwxwxwvuvuvuvutstststsopopopopnmnmnmnmlklklklkjijijijihghghghgfefefefebabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKHGHGHGHGFEFEFEFExwxwxwxwvuvuvuvutstststsopopopopnmnmnmnmlklklklkjijijijihghghghgfedcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKHGHGHGHGFEFEFEFExwxwxwxwvuvuvuvutstststsopopopopnmnmnmnmlklklklkjijijijihghghghgdcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKJIJIJIHGHGHGHGFEFEFEFExwxwxwxwvuvuvuvutstststsopoooooonmnmnmnmlklklklkjijijijihghghghgdcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMJIJIJIJIHGHGHGHGFEFEFEFExwxwxwxwvuvuvuvutstststspopopoponmnmnmnmlklklklkjijijijihghghghgdcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMJIJIJIJIHGHGHGHGFEFEFEFExwxwxwxwvuvuvuvutstststspopopoponmnmnmnmlklklklkjijijijihgfefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYVUVUVUVUSSSSSTSTRQRQRQRQPOPOPOPONMNMNMNMJIJIJIJIHGHGHGHGFEFEFEFExwxwxwxwvuvuvuvutstststspopopoponmnmnmnmlklklklkjijijijifefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYVUVUVUVUSTSTSTSTRQRQRQRQPOPOPOPONMLKLKLKJIJIJIJIHGHGHGHGFEFEFEFExwxwxwxwvuvuvuvurqrqrqrqpopopoponmnmnmnmlklklklkjijijijifefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYVUVUVUVUSTSTSTSTRQRQRQRQPOPOPOPOLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFExwxwxwxwvuvuvuvurqrqrqrqpopopoponmnmnmnmlklklklkjijijijifefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYVUVUVUVUSTSTSTSTRQRQRQRQPOPOPOPOLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFExwxwxwxwvuvuvuvurqrqrqrqpopopooonmnmnmnmlklklklkjihghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYVUVUVUVUSTSTSTSTRQRQRQRQPOPOPOPOLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFExwxwxwxwvuvuvuvurqrqrqrqooopopopnmnmnmnmlklklklkhghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYVUVUVUVUSTSTSTSTRQRQRQRQPONMNMNMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFExwxwxwxwvuvuvuvurqrqrqrqopopopopnmnmnmnmlklklklkhghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYXWXWXWVUVUVUVUSTSSSSSSRQRQRQRQNMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFExwxwxwxwvuvuvuvurqrqrqrqopopopopnmnmnmnmlklklklkhghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[XWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQNMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFExwxwxwxwvuvuvuvurqrqrqrqopopopopnmnmnmnmlkjijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[XWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQNMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFExwxwxwxwvuvuvuvurqrqrqrqopopopopnmnmnmnmjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[XWXWXWXWVUVUVUVUTSTSTSTSRQPOPOPONMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFExwxwxwxwvuvuvuvurqrqrqrqopopopopnmnmnmnmjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[ZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFExwxwxwxwvuvuvuvurqrqrqrqooooooponmnmnmnmjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSSSPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFExwxwxwxwvuvuvuvurqrqrqrqpopopoponmlklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]ZYZYZYZYXWXWXWXWVUVUVUVUSSTSTSTSPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFExwxwxwxwtstststsrqrqrqrqpopopopolklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]ZYZYZYZYXWXWXWXWVUVUVUVUTSRQRQRQPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFExwxwxwxwtstststsrqrqrqrqpopopopolklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVURQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFExwxwxwxwtstststsrqrqrqrqpopopopolklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVURQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFExwxwxwxwtstststsrqrqrqrqpopopopolklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVURQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFExwxwxwxwtstststsrqrqrqrqmmmmmmnmlklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVURQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFExwxwxwxwtstststsrqrqrqrqnmnmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVURQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEvuvuvuvutstststsrqrqrqrqnmnmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdcbabababa^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVURQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGFEDCDCDCDCDCDCDCvuvuvuvutstststsrqrqrqrqnmnmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdcbabababa^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGDCDCDCDCDCDCDCDCvuvuvuvutstststsrqrqrqrqnmnmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdcbabababa^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWTSSSSSSTRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGDCDCDCDCDCDCDCDCvuvuvuvutstststsrqrqrqrqnmnmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdcba`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWSTSTSTSTRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGDCDCDCDCDCDCDCDCvuvuvuvutstststsrqrqrqrqnmnmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdc`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWSTSTSTSTRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIHGFEFEFEDCDCDCDCDCDCDCDCvuvuvuvutstststsrqrqrqrqnmnmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdc`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWSTSTSTSTRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIFEFEFEFEDCDCDCDCDCDCDCDCDCDCDCDCBABABABA@?@?@?@?>=>=>=>=:9:9:9:977777878656565654343434321212121.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!    - - - - DCDCDCDCBABABABA@?@?@?@?>=>=>=>=:9:9:9:9787878786565656543434343210/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!    - - - - DCDCDCDCBABABABA@?@?@?@?>=>=>=>=:9:9:9:97878787865656565434343430/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!    - - - - DCDCDCDCBABABABA@?@?@?@?>=>=>=>=:9:9:9:97878787865656565434343430/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!       - - - - DCDCDCDCBABABABA@?@?@?@?>=>=>=>=:9:9:9:97878787865656565434343430/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#        - - - - DCDCDCDCBABABABA@?@?@?@?>=>=>=>=:9:9:9:97878787865656565432121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#        - - - - DCDCDCDCBABABABA@?@?@?@?>=<;<;<;:9:9:9:97877777765656565212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#        - - - - DCDCDCDCBABABABA@?@?@?@?<;<;<;<;:9:9:9:98787878765656565212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#"!"!"!        - - - - DCDCDCDCBABABABA@?@?@?@?<;<;<;<;:9:9:9:98787878765656565212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%"!"!"!"!        - DCDCDCDCBABABABA@?@?@?@?<;<;<;<;:9:9:9:98787878765434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%"!"!"!"!        DCDCDCDCBABABABA@?>=>=>=<;<;<;<;:9:9:9:98787878743434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%"!"!"!"!        DCDCDCDCBABABABA>=>=>=>=<;<;<;<;:9:9:9:98787877743434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%$#$#$#"!"!"!"!        DCDCDCDCBABABABA>=>=>=>=<;<;<;<;:9:9:9:97787878743434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"!        - - - DCDCDCDCBABABABA>=>=>=>=<;<;<;<;:9:9:9:98765656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"!        - - - - DCDCDCDCBA@?@?@?>=>=>=>=<;<;<;<;:9:9:9:96565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"!        - - - - DCDCDCDC@?@?@?@?>=>=>=>=<;<;<;<;:9:9:9:96565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('&%&%&%$#$#$#$#"!"!"!"!        - - - - DCDCDCDC@?@?@?@?>=>=>=>=<;<;<;<;:9:9:9:96565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#"!"!"!"!     - - - - DCDCDCDC@?@?@?@?>=>=>=>=<;<;<;<;:9:9:9:96565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#"!"!"!"!     - - - - DCBABABA@?@?@?@?>=>=>=>=<;<;<;<;:9:9:9:96565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#"!"!"!"!     - - - - BABABABA@?@?@?@?>=>=>=>=<;<;<;<;:9:9:9:96565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)('('('&%&%&%&%$#$#$#$#"!"!"!"!     - - - - BABABABA@?@?@?@?>=>=>=>=<;<;<;<;:98787876565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#$#"!"!"!"!       - - - - BABABABA@?@?@?@?>=>=>=>=<;<;<;<;877777786565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - BABABABA@?@?@?@?>=>=>=>=<;<;<;<;787878786565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - BABABABA@?@?@?@?>=>=>=>=<;<;<;<;787878786565656543434343212121210/0/0/0/.-.-.-.-,+*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - BABABABA@?@?@?@?>=>=>=>=<;<;<;<;787878786565656543434343212121210/0/0/0/.-.-.-.-*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - BABABABA@?@?@?@?>=>=>=>=<;<;<;<;787878786565656543434343212121210/0/0/0/.-.-.-.-*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - BABABABA@?@?@?@?>=>=>=>=<;<;<;<;787878786565656543434343212121210/0/0/0/.-.-.-.-*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - BABABABA@?@?@?@?>=>=>=>=<;<;<;<;787877776565656543434343212121210/0/0/0/.-,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!     - - - - BABABABA@?@?@?@?>=>=>=>=<;<;<;<;778787876565656543434343212121210/0/0/0/,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!    - - - - BABABABA@?@?@?@?>=>=>=>=<;<;<;<;878787876565656543434343212121210/0/0/0/,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!    - - - - BABABABA@?@?@?@?>=>=>=>=<;:9:9:9878787876565656543434343212121210/0/0/0/,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!    - - - - BABABABA@?@?@?@?>=>=>=>=:9:9:9:9878787876565656543434343212121210/.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!    - - - - BABABABA@?@?@?@?>=>=>=>=:9:9:9:987878787656565654343434321212121.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!    - - - - BABABABA@?@?@?@?>=>=>=>=:9:9:9:987878787656565654343434321212121.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!    - - - - xxwwvvuu!!""##$$>>==7766xxwwvvuu$$%%&&''EEDDCCBBDDEEFFGG%%$$##""ddeeffggmmllkkjjMMLLKKJJ<<==>>??cbbaa``_0011223399887766PPQQRRSSppqqrrss - - ttssrrqq%%&&''((55443322tsrqpoon(())**++AA@@??>>HHIIJJKK!! hhiijjkkiihhggff !!""##IIHHGGFF@@AABBCC_^^]]\\[4455667755443322TTUUVVWWttuuvvww ppoonnmm))**++,,1100//..nmmllkkj,,--..//==<<;;::LLMMNNOOllmmnnooeeddccbb$$%%&&''EEDDCCBBDDEEFFGG[ZZYYXWV8899::;;1100//..XXYYZZ[[xxxxwwvvllkkjjii--..//00--,,++**jiihhggf0011223399887766PPQQRRSSppqqrrss - - aa``__^^(())**++AA@@??>>HHIIJJKK - -UTSSRRQQ<<==>>??--,,++**\\]]^^__ - -uuttssrrhhggffee11223344))((''&&feeddccb4455667755443322TTUUVVWWttuuvvww ]]\\[[ZZ,,--..//==<<;;::LLMMNNOO PPOONNMM@@AABBCC))((''&&``aabbcc qqppoonnddccbbaa55667788%%$$##""baa``__^8899::;;1100//..XXYYZZ[[xxxxwwvvYYXXWWVV0011223399887766PPQQRRSSLLKKJJIIDDEEFFGG%%$$##""ddeeffggmmllkkjj``__^^]]99::;;<>??--,,++**\\]]^^__ - -uuttssrrUUTTSSRR4455667755443322TTUUVVWW - - HHGGFFEEHHIIJJKK!! hhiijjkkiihhggff !!""##\\[[ZZYY==>>??@@ZYYXWVUT@@AABBCC))((''&&``aabbcc qqppoonnQQPPOONN8899::;;1100//..XXYYZZ[[ DDCCBBAALLMMNNOOllmmnnooeeddccbb$$%%&&''XXWWVVUUAABBCCDDSSRRQQPPDDEEFFGG%%$$##""ddeeffggmmllkkjjMMLLKKJJ<<==>>??--,,++**\\]]^^__@@??>>==PPQQRRSSppqqrrss - - aa``__^^(())**++TTSSRRQQEEFFGGHH OONNMMLLHHIIJJKK!! hhiijjkkiihhggff !!""##IIHHGGFF@@AABBCC))((''&&``aabbcc<;:98776TTUUVVWWttuuvvww ]]\\[[ZZ,,--..//PPOONNMMIIJJKKLL - - KKJJIIHHLLMMNNOOllmmnnooeeddccbb$$%%&&''EEDDCCBBDDEEFFGG%%$$##""ddeeffgg65544332XXYYZZ[[xxxxwwvvYYXXWWVV00112233LLKKJJIIMMNNOOPP - - GGFFEEDDPPQQRRSSppqqrrss - - aa``__^^(())**++AA@@??>>HHIIJJKK!! hhiijjkk!!""##$$21100//.\\]]^^__ - -uuttssrrUUTTSSRR44556677HHGGFFEEQQRRSSTT CCBBAA@@TTUUVVWWttuuvvww ]]\\[[ZZ,,--..//==<<;;::LLMMNNOOllmmnnoo%%&&''((.--,,++*``aabbcc qqppoonnQQPPOONN8899::;;DDCCBBAAUUVVWWXX??>>==<;XXYYZZ[[xxxxwwvvYYXXWWVV0011223399887766PPQQRRSSppqqrrss))**++,,*))((''&ddeeffggmmllkkjjMMLLKKJJ<<==>>??@@??>>==YYZZ[[\\:9877665\\]]^^__ - -uuttssrrUUTTSSRR4455667755443322TTUUVVWWttuuvvww--..//00&%%$$##"hhiijjkkiihhggff !!""##IIHHGGFF@@AABBCC<<;;::99]]^^__``!!54433221``aabbcc qqppoonnQQPPOONN8899::;;1100//..XXYYZZ[[xxxxwwvv11223344"!! llmmnnooeeddccbb$$%%&&''EEDDCCBBDDEEFFGG88776655aabbccdd""##$$%%100//..-ddeeffggmmllkkjjMMLLKKJJ<<==>>??--,,++**\\]]^^__ - -uuoonnmm556677==ppqqrrss - - aa``__^^(())**++AA@@??>>HHIIJJKK44332211eeffgghh&&''(())-,,++**)hhiijjkkiihhggff !!""##IIHHGGFF@@AABBCC))((''&&``aabbcc llkkjjii>>??@@AAttuuvvww ]]\\[[ZZ,,--..//==<<;;::LLMMNNOO00//..--iijjkkll**++,,--)((''&&%llmmnnooeeddccbb$$%%&&''EEDDCCBBDDEEFFGG%%$$##""ddeeffgghhggffeeBBCCDDEExxxxwwvvYYXXWWVV0011223399887766PPQQRRSS,,++**))mmnnoopp..//0011%$$##""!ppqqrrss - - aa``__^^(())**++AA@@??>>HHIIJJKK!! hhiijjkkddccbbaaFFGGHHII uuttssrrUUTTSSRR4455667755443322TTUUVVWW((''&&%%qqrrsstt22334455! ttuuvvww ]]\\[[ZZ,,--..//==<<;;::LLMMNNOOllmmnnoo``__^^]]JJKKLLMM - - qqppoonnQQPPOONN8899::;;1100//..XXYYZZ[[$$##""!!uuvvwwxx6677==>>xxxxwwvvYYXXWWVV0011223399887766PPQQRRSSppqqrrss - - \\[[ZZYYNNOOPPQQmmllkkjjMMLLKKJJ<<==>>??--,,++**\\]]^^__ xxwwvvuu??@@AABBuuttssrrUUTTSSRR4455667755443322TTUUVVWWttuuvvww SSRRQQPPRRSSYYZZiihhggff !!""##IIHHGGFF@@AABBCC))((''&&``aabbccoonnmmllCCDDEEFFqqppoonnQQPPOONN8899::;;1100//..XXYYZZ[[xxxxwwvvOONNMMLL[[\\]]^^eeddccbb$$%%&&''EEDDCCBBDDEEFFGG%%$$##""ddeeffggkkjjiihhGGHHIIJJ mmllkkjjMMLLKKJJ<<==>>??--,,++**\\]]^^__ - -uuttssrrKKJJIIHH__``aabb - - aa``__^^(())**++AA@@??>>HHIIJJKK!! hhiijjkkggffeeddKKLLMMNN - - iihhggff !!""##IIHHGGFF@@AABBCC))((''&&``aabbcc qqppoonnGGFFEEDDccddeeff ]]\\[[ZZ,,--..//==<<;;::LLMMNNOOllmmnnoo ccbbaa``OOPPQQRReeddccbb$$%%&&''EEDDCCBBDDEEFFGG%%$$##""ddeeffggmmllkkjjCCBBAA@@gghhiijjYYXXWWVV0011223399887766PPQQRRSSppqqrrss - - __^^]]\\SSYYZZ[[ - - aa``__^^(())**++AA@@??>>HHIIJJKK!! hhiijjkkiihhggff !!""##??>>==77kkllmmnnUUTTSSRR4455667755443322TTUUVVWWttuuvvww - - [[ZZYYSS\\]]^^__ ]]\\[[ZZ,,--..//==<<;;::LLMMNNOOllmmnnooeeddccbb$$%%&&''66554433oouuvvwwQQPPOONN8899::;;1100//..XXYYZZ[[xxxxwwvvaa``__^^ RRQQPPOO``aabbccYYXXWWVV0011223399887766PPQQRRSSppqqrrss - - aa``__^^(())**++221100//xxxxwwvvMMLLKKJJ<<==>>??--,,++**\\]]^^__ - -uuttssrr]]\\[[ZZNNMMLLKKddeeffggUUTTSSRR4455667755443322TTUUVVWWttuuvvww ]]\\[[ZZ,,--..//..--,,++uutsrqpo !!""##IIHHGGFF@@AABBCC))((''&&``aabbcc qqppoonnYYXXWWVVJJIIHHGGhhiijjkkQQPPOONN8899::;;1100//..XXYYZZ[[xxxxwwvvYYXXWWVV00112233**))((''onnmmllk$$%%&&''EEDDCCBBDDEEFFGG%%$$##""ddeeffggmmllkkjjUUTTSSRRFFEEDDCCllmmnnooMMLLKKJJ<<==>>??--,,++**\\]]^^__ - -uuttssrrUUTTSSRR44556677&&%%$$##kjjiihhg(())**++AA@@??>>HHIIJJKK!! hhiijjkkiihhggffQQPPOONN BBAA@@??uuvvwwxx !!""##IIHHGGFF@@AABBCC))((''&&``aabbcc qqppoonnQQPPOONN8899::;;""!!gffeeddc,,--..//==<<;;::LLMMNNOOllmmnnooeeddccbbMMLLKKJJIIHHGGFF@@AABBCC))((''&&``aabbcc<;:98776TTUUVVWWttuuvvww ]]\\[[ZZ,,--..//==<<;;::LLMMNNOOllmmnnoo%%&&''((.--,,++*``aabbcc qqppoonnQQPPOONN8899::;;1100//..XXYYZZ[[--,,++**EEDDCCBBDDEEFFGG%%$$##""ddeeffgg65544332XXYYZZ[[xxxxwwvvYYXXWWVV0011223399887766PPQQRRSSppqqrrss))**++,,*))((''&ddeeffggmmllkkjjMMLLKKJJ<<==>>??--,,++**\\]]^^__!!""##))((''&&AA@@??>>HHIIJJKK!! hhiijjkk!!""##$$21100//.\\]]^^__ - -uuttssrrUUTTSSRR4455667755443322TTUUVVWWttuuvvww--..//00&%%$$##"hhiijjkkiihhggff !!""##IIHHGGFF@@AABBCC))((''&&``aabbcc$$%%&&''%%$$##""==<<;;::LLMMNNOOllmmnnoo%%&&''((.--,,++*``aabbcc qqppoonnQQPPOONN8899::;;1100//..XXYYZZ[[xxxxwwvv11223344"!! llmmnnooeeddccbb$$%%&&''EEDDCCBBDDEEFFGG%%$$##""ddeeffgg(())**++!! 99887766PPQQRRSSppqqrrss))**++,,*))((''&ddeeffggmmllkkjjMMLLKKJJ<<==>>??--,,++**\\]]^^__ - -uuoonnmm556677==ppqqrrss - - aa``__^^(())**++AA@@??>>HHIIJJKK!! hhiijjkk,,--..//55443322TTUUVVWWttuuvvww--..//00&%%$$##"hhiijjkkiihhggff !!""##IIHHGGFF@@AABBCC))((''&&``aabbcc llkkjjii>>??@@AAttuuvvww ]]\\[[ZZ,,--..//==<<;;::LLMMNNOOllmmnnoo001122331100//..XXYYZZ[[xxxxwwvv11223344"!! llmmnnooeeddccbb$$%%&&''EEDDCCBBDDEEFFGG%%$$##""ddeeffgghhggffeeBBCCDDEExxxxwwvvYYXXWWVV0011223399887766PPQQRRSSppqqrrss44556677--,,++**\\]]^^__ - -uuoonnmm556677==ppqqrrss - - aa``__^^(())**++AA@@??>>HHIIJJKK!! hhiijjkkddccbbaaFFGGHHII uuttssrrUUTTSSRR4455667755443322TTUUVVWWttuuvvww==>>??@@))((''&&``aabbcc llkkjjii>>??@@AAttuuvvww ]]\\[[ZZ,,--..//==<<;;::LLMMNNOOllmmnnoo``__^^]]JJKKLLMM - - qqppoonnQQPPOONN8899::;;1100//..XXYYZZ[[xxppoonnAABBCCDD - -%%$$##""ddeeffgghhggffeeBBCCDDEExxxxwwvvYYXXWWVV0011223399887766PPQQRRSSppqqrrss - - \\[[ZZYYNNOOPPQQmmllkkjjMMLLKKJJ<<==>>??--,,++**\\]]^^__ - -mmllkkjjEEFFGGHH - - !! hhiijjkkddccbbaaFFGGHHII uuttssrrUUTTSSRR4455667755443322TTUUVVWWttuuvvww SSRRQQPPRRSSYYZZiihhggff !!""##IIHHGGFF@@AABBCC))((''&&``aabbcc iihhggffIIJJKKLL llmmnnoo``__^^]]JJKKLLMM - - qqppoonnQQPPOONN8899::;;1100//..XXYYZZ[[xxxxwwvvOONNMMLL[[\\]]^^eeddccbb$$%%&&''EEDDCCBBDDEEFFGG%%$$##""ddeeffggeeddccbbMMNNOOPPppqqrrss - - \\[[ZZYYNNOOPPQQmmllkkjjMMLLKKJJ<<==>>??--,,++**\\]]^^__ - -uuttssrrKKJJIIHH__``aabb - - aa``__^^(())**++AA@@??>>HHIIJJKK!! hhiijjkkaa``__^^QQRRSSYYttuuvvww SSRRQQPPRRSSYYZZiihhggff !!""##IIHHGGFF@@AABBCC))((''&&``aabbcc qqppoonnGGFFEEDDccddeeff ]]\\[[ZZ,,--..//==<<;;::LLMMNNOOllmmnnoo]]\\[[ZZZZ[[\\]]xxxxwwvvOONNMMLL[[\\]]^^eeddccbb$$%%&&''EEDDCCBBDDEEFFGG%%$$##""ddeeffggmmllkkjjCCBBAA@@gghhiijjYYXXWWVV0011223399887766PPQQRRSSppqqrrss - - YYSSRRQQ^^__``aa - -uuttssrrKKJJIIHH__``aabb - - aa``__^^(())**++AA@@??>>HHIIJJKK!! hhiijjkkiihhggff !!""##??>>==77kkllmmnnUUTTSSRR4455667755443322TTUUVVWWttuuvvww PPOONNMMbbccddee !!""## qqppoonnGGFFEEDDccddeeff ]]\\[[ZZ,,--..//==<<;;::LLMMNNOOllmmnnooeeddccbb$$%%&&''66554433oouuvvwwQQPPOONN8899::;;1100//..XXYYZZ[[xxxxwwvvLLKKJJIIffgghhii$$%%&&''mmllkkjjCCBBAA@@gghhiijjYYXXWWVV0011223399887766PPQQRRSSppqqrrss - - aa``__^^(())**++221100//xxxxwwvvMMLLKKJJ<<==>>??--,,++**\\]]^^__ - -uuttssrrHHGGFFEEjjkkllmm(())**++iihhggff !!""##??>>==77kkllmmnnUUTTSSRR4455667755443322TTUUVVWWttuuvvww ]]\\[[ZZ,,--..//..--,,++uutsrqpo !!""##IIHHGGFF@@AABBCC))((''&&``aabbcc qqppoonnDDCCBBAAmmllkkjj,,--..//eeddccbb$$%%&&''66554433oouuvvwwQQPPOONN8899::;;1100//..XXYYZZ[[xxxxwwvvYYXXWWVV00112233**))((''onnmmllk$$%%&&''EEDDCCBBDDEEFFGG%%$$##""ddeeffggmmllkkjj@@??>>==iihhggff00112233 - - aa``__^^(())**++221100//xxxxwwvvMMLLKKJJ<<==>>??--,,++**\\]]^^__ - -uuttssrrUUTTSSRR44556677&&%%$$##kjjiihhg(())**++AA@@??>>HHIIJJKK!! hhiijjkkiihhggff !!""##77665544eeddccbb44556677 ]]\\[[ZZ,,--..//..--,,++uutsrqpo !!""##IIHHGGFF@@AABBCC))((''&&``aabbcc qqppoonnQQPPOONN8899::;;""!!gffeeddc,,--..//==<<;;::LLMMNNOOllmmnnooeeddccbb$$%%&&''33221100aa``__^^8899::;;YYXXWWVV00112233**))((''onnmmllk$$%%&&''EEDDCCBBDDEEFFGG%%$$##""ddeeffggmmllkkjjMMLLKKJJ<<==>>??cbbaa``_0011223399887766PPQQRRSSppqqrrss - - aa``__^^(())**++//..--,,]]\\[[ZZ<<==>>??UUTTSSRR44556677&&%%$$##kjjiihhg(())**++AA@@??>>HHIIJJKK!! hhiijjkkiihhggff !!""##IIHHGGFF@@AABBCC_^^]]\\[4455667755443322TTUUVVWWttuuvvww ]]\\[[ZZ,,--..//++**))((YYXXWWVV@@AABBCCQQPPOONN8899::;;""!!gffeeddc,,--..//==<<;;::LLMMNNOOllmmnnooeeddccbb$$%%&&''EEDDCCBBDDEEFFGG[ZZYYXWV8899::;;1100//..XXYYZZ[[xxxxwwvvYYXXWWVV00112233''&&%%$$UUTTSSRRDDEEFFGGMMLLKKJJ<<==>>??cbbaa``_0011223399887766PPQQRRSSppqqrrss - - aa``__^^(())**++AA@@??>>HHIIJJKK - -UTSSRRQQ<<==>>??--,,++**\\]]^^__ - -uuttssrrUUTTSSRR44556677##""!!QQPPOONNHHIIJJKK !!""##IIHHGGFF@@AABBCC_^^]]\\[4455667755443322TTUUVVWWttuuvvww ]]\\[[ZZ,,--..//==<<;;::LLMMNNOO PPOONNMM@@AABBCC))((''&&``aabbcc qqppoonnQQPPOONN8899::;;MMLLKKJJLLMMNNOO$$%%&&''EEDDCCBBDDEEFFGG[ZZYYXWV8899::;;1100//..XXYYZZ[[xxxxwwvvYYXXWWVV0011223399887766PPQQRRSSLLKKJJIIDDEEFFGG%%$$##""ddeeffggmmllkkjjMMLLKKJJ<<==>>??IIHHGGFFPPQQRRSS(())**++AA@@??>>HHIIJJKK - -UTSSRRQQ<<==>>??--,,++**\\]]^^__ - -uuttssrrUUTTSSRR4455667755443322TTUUVVWW - - HHGGFFEEHHIIJJKK!! hhiijjkkiihhggff !!""##IIHHGGFF@@AABBCCEEDDCCBBTTUUVVWW,,--..//==<<;;::LLMMNNOO PPOONNMM@@AABBCC))((''&&``aabbcc qqppoonnQQPPOONN8899::;;1100//..XXYYZZ[[ DDCCBBAALLMMNNOOllmmnnooeeddccbb$$%%&&''EEDDCCBBDDEEFFGG AA@@??>>XXYYZZ[[0011223399887766PPQQRRSSLLKKJJIIDDEEFFGG%%$$##""ddeeffggmmllkkjjMMLLKKJJ<<==>>??--,,++**\\]]^^__@@??>>==PPQQRRSSppqqrrss - - aa``__^^(())**++AA@@??>>HHIIJJKK - - - -==<<;;::\\]]^^__4455667755443322TTUUVVWW - - HHGGFFEEHHIIJJKK!! hhiijjkkiihhggff !!""##IIHHGGFF@@AABBCC))((''&&``aabbcc<;:98776TTUUVVWWttuuvvww ]]\\[[ZZ,,--..//==<<;;::LLMMNNOO 99887766``aabbcc8899::;;1100//..XXYYZZ[[ DDCCBBAALLMMNNOOllmmnnooeeddccbb$$%%&&''EEDDCCBBDDEEFFGG%%$$##""ddeeffgg65544332XXYYZZ[[xxxxwwvvYYXXWWVV0011223399887766PPQQRRSS55443322ddeeffgg<<==>>??--,,++**\\]]^^__@@??>>==PPQQRRSSppqqrrss - - aa``__^^(())**++AA@@??>>HHIIJJKK!! hhiijjkk!!""##$$21100//.\\]]^^__ - -uuttssrrUUTTSSRR4455667755443322TTUUVVWW1100//..hhiijjkkllmmbdQZ|`vXnJXQHAbnXv`rXQJ`|drf`vXXQr˂JtArdfpvtbdQZfH~ے`JbtlnXvtbdnvppZHAb|ZdQnXvےbHAf`vXdrtAvpfے`Jf~fpےbHAtAJlnvppZHAb|ZdQnrXQJ|drf`vXXQr˂JtArd`f~QZ|dfH~ے`Jbtl`f~Zp˂nvpJltH~fXQr˂vnXZp˂tbdQZfH~ے`Jbtl`ےHAtAJlnvppZHAb|ZdQHfpvrtAJf`vXXQr˂JtArdHfpvrbdQZfH~bdQZ|`vXnpZHAbv`frXQJ`|drf`vXXQr˂JtArdZp˂tbdQZfH~ے`JbtlnXvbdQZ|nvppZHAb|ZdQnXv|drf`vXdrtAvpfے`J~HfpےbHAtAJlnvppZHAb|ZdQrXQJ`|drf`vXXQr˂JtArd`pvdrtAfH~ے`Jbtl`fHtAJlnvpJltH~fXQr˂vnXZp˂tbdQZfH~ے`JbnXvےbHAtAJlnvppZHAb|ZdQnrXQJJltf`vXXQr˂JtArdfpvtbdQZfH~bdQZ|`vXnp`JXQv`frXQJ`|drf`vXXQr˂`f~Zp˂tbdQZfH~ے`Jbtl`p˂bdQZ|nvppZHAb|ZdQnrXQJ|drf`vXdrtAvpfr˂p~HfvnےbHAtAJlnvppZHAHfpvrXQJ`|drf`vXXQr˂JtArdrXQJ`drtAfH~ے`Jbtl`ےHAtAJlnvpJltH~fZHAbXv`fZp˂tbdQZfH~ے`JXQnXvےbHAtAJlnvppZHAb|ZdQےbHAJltf`vXXQr˂JtArdZp˂tbdQZfH~bdQZ|`vXnے`JXQ~HfrXQJ`|drf`vXrbt`f~Zp˂tbdQZfH~ے`JbtlZp˂bQZdnvppZHAb|ZdQrXQJ`|drf`vXdrtAvpfr˂ppvnےbHAtAJlnvplJtAdHfpvrXQJ`|drf`vXXQr˂JtArdrXQJ`rtAJlfH~ے`JbnXvےbHAtAJlnvpJltH~f|ZdQbXv`fZp˂tbdQZfH~|ZdQnXvےbHAtAJlnvppZHAb|ZdQp˂rtbdQf`vXXQr˂`f~Zp˂tbdQZfH~bdQZ|`vXntlJ~HfrXQJ`|drf`vXbtl`f~Zp˂tbdQZfH~ے`JbtlXQJ`ےZ|dnvppZHAHfpvrXQJ`|drf`vXdrtAvpftArdpvnےbHAtAJlnr˂JtArdHfpvrXQJ`|drf`vXXQr˂JtArdbHAZrtAJlfH~ے`JXQnXvےbHAtAJlnvpJltH~f|ZdQbvf~HZp˂tbdQZpZHAb|ZdQnXvےbHAtAJlnvppZHAb|ZdQp˂rtbdQf`vXrbt`f~Zp˂tbdQZfH~bdQZ|`vXntl|fpvrXQJ`|dtAے`Jbtl`f~Zp˂tbdQZfH~ے`JbnXvXQJ`ےZ|rAJnvplJtAdHfpvrXQJ`|drf`vXdrtAvpfZdQbtnXv`ےbHAJltXQr˂JtArdHfpvrXQJ`|drf`vXXQr˂`pvbHAXQltbfH~|ZdQnXvےbHAtAJlnvpJltH~flJtAf~HZp˂bnvpZHAb|ZdQnXvےbHAtAJlnvppZHAnXv`J`ےdQZ|f`vXbtl`f~Zp˂tbdQZfH~bdQZ|`vXnrd|fpvrXQJ`pfHے`Jbtl`f~Zp˂tbdQZfH~ے`JXQf~HbHAZpdrtAJnr˂JtArdHfpvrXQJ`|drf`vXdrtAvpfZdQbtnXv`ےbHAf`vXXQr˂JtArdHfpvrXQJ`|drf`vXrbtfpv˂rXQltbpZHAb|ZdQnXvےbHAtAJlnvpJltH~flJtAf~fpZp˂nvppZHAb|ZdQnXvےbHAtAJlnvplJtAdnXv`J`ےdQZ|ے`Jbtl`f~Zp˂tbdQZfH~bdQZ|`vXnrdtvnXrbdQZfH~ے`Jbtl`f~Zp˂tbdQZfH~|ZdQf~HbHAZpAJltXQr˂JtArdHfpvrXQJ`|drf`vXdrtAr˂plJtArv`f|drf`vXXQr˂JtArdHfpvrXQJ`|drf`vXbtlXv`f˂bbnvpZHAb|ZdQnXvےbHAtAJlnvpJlt`JXQrd|Z~HfptAJlnvppZHAb|ZdQnXvےbHAtAJlnr˂JtArd~HfHAZp˂pfHے`Jbtl`f~Zp˂tbdQZfH~bdQZ|˂pZdQbtvnXtbdQZfH~ے`Jbtl`f~Zp˂tbdQZpZHAb|ZdQpvnrXQJf`vXXQr˂JtArdHfpvrXQJ`|drf`vXdrtAHAbےlJtArv`f|drf`vXXQr˂JtArdHfpvrXQJ`|dtAے`JbtlXv`f`ےbnvppZHAb|ZdQnXvےbHAtAJlnvpJlt`JXQrd|ZrQJHAtAJlnvppZHAb|ZdQnXvےbHAJltXQr˂JtArd~HfHAZp˂fH~ے`Jbtl`f~Zp˂tbdQZfH~bdQZ|˂pZdQtArdZp˂tbdQZfH~ے`Jbtl`f~Zp˂bnvpZHAb|ZdQpvrXQJf`vXXQr˂JtArdHfpvrXQJ`|drf`vX`vXnHAb|ZdQrXQJ`|drf`vXXQr˂JtArdHfpvrXQJ`pfHے`Jbtl~Hfp`p˂nvppZHAb|ZdQnXvےbHAtAJlnr˂XQr˂vpf˂pZHAbtlےbHAtAJlnvppZHAb|ZdQnXvےbHAf`vXXQr˂JtArdvnXrbdQZfH~ے`Jbtl`f~Zp˂tbdQZpZHAbpZHAbH~fbے`JtArdZp˂tbdQZfH~ے`Jbtl`f~Zp˂nvppZHAb|ZdQv`f|rAJlf`vXXQr˂JtArdHfpvrXQJ`|dtAے`Jے`J`vXnJXQr|ZdQrXQJ`|drf`vXXQr˂JtArdHfpvrbdQZfH~ے`Jbtl~HfptbdnvppZHAb|ZdQnXvےbHAJltXQr˂XQr˂vpf˂pZHAbtlےbHAtAJlnvppZHAb|ZdQnXv|drf`vXXQr˂JtArdvnXQZ|dfH~ے`Jbtl`f~Zp˂bnvpZHAbpZHAbH~fbے`|ZdQbZp˂tbdQZfH~ے`Jbtl`fHtAJlnvppZHAb|ZdQv`pvrtAJlf`vXXQr˂JtArdHfpvrXQJ`pfHے`Jے`JXQr˂JtArdHfpvrXQJ`f`vXrZHAbtl`f~Zp˂nvppZHAb|ZdQnXvےbHAtAJlnvptlJv`frXQJ`|dtAے`Jbtl`f~Zp˂tbdQZfH~QXb㉀ۍpfH~pZHAb|ZdQnXvےbHAnvpbے`JtArdHfpvrbdQZfH~ے`Jbtl`f~Zp˂tbdQZfH~tArd~HfpےbHAJltXQr˂JtArdHfpvrXQJ`|drf`vXp`ZQXf۝`vے`Jbtl`f~Zp˂`vXnJXQr|ZdQnXv|drf`vXXQr˂JtArdHfpvrXQJ`|drf`vX|ZdQbvnXZp˂bnvpZHAb|ZdQnXvےbHAtAJlnvpb㉀ۑpXnvXQr˂JtArdHfpvrXQJ`vpfpZHAbtl`fHtAJlnvppZHAb|ZdQnXvےbHAtAJlnr˂tlJv`f~frXQJ`pfHے`Jbtl`f~Zp˂tbdQZfH~JAHr󙐍pfH~pZHAb|ZdQnXvےbHAH~fbے`JtArdfpvtbdQZfH~ے`Jbtl`f~Zp˂tbdQZp`JXQtArdtpvnےbHAf`vXXQr˂JtArdHfpvrXQJ`|drf`vXˁ`ZQXf۝`vے`Jbtl`f~Zp˂`vXnJXQr|ZdQnrXQJ|drf`vXXQr˂JtArdHfpvrXQJ`|dtAr˂plJtAXv`fZp˂nvppZHAb|ZdQnXvےbHAtAJlnvpb㉀ۑpXnvXQr˂JtArdHfpvrbdQZvpfpZAbbtl`ےHAtAJlnvppZHAb|ZdQnXvےbHAJltZHAbrd|~HfrbdQZfH~ے`Jbtl`f~Zp˂tbdQZfH~JAHr󙐍pfH~pZHAb|ZdQnXv|ltH~`JXQrJtArdZp˂tbdQZfH~ے`Jbtl`f~Zp˂bnvے`JXQZdQbtpvn|drf`vXXQr˂JtArdHfpvrXQJ`|drf`vXۑpJf۝`vے`Jbtl`fHbdQZ|vpfH˂pZ|ZdQrXQJ`|drf`vXXQr˂JtArdHfpvrXQJ`pfHr˂plJtAXv`ftAJlnvppZHAb|ZdQnXvےbHAtAJlnے`JAHr󙐂˅XnvXQr˂JtArdfpvdrtA~f`HAbےbnXvےbHAtAJlnvppZHAb|ZdQnXvےbHAf`vXZHAbrd|fpvtbdQZfH~ے`Jbtl`f~Zp˂tbdQZXQr˂`ZQXbp|dpZHAb|ZdQnrXQJJltvXn`JXQr`f~Zp˂tbdQZfH~ے`Jbtl`f~Zp˂nvp˂pZZdQtArnrXQJ|drf`vXXQr˂JtArdHfpvrXQJ`|dtApZHAbۑpJrQtJlے`Jbtl`ےHAbdQZ|vpfH˂pZAHfpvrXQJ`|drf`vXXQr˂JtArdHfpvrbdQZfH~HAbےd|Z`ےHAtAJlnvppZHAb|ZdQnXvےbHAJltے`JAHr󙐂˒tbAdXQr˂JtArdZp˂drtA~f``JXQnXvےbHAtAJlnvppZHAb|ZdQnXv|drf`vX`JXQrdQbtZp˂tbdQZfH~ے`Jbtl`f~Zp˂bnvXQr˂`ZQXAHZ|dpZHAb|ZdQrXQJ`dQZ|vXH~rbt`f~Zp˂tbdQZfH~ے`Jbtl`fHtAJlnvp˂pZlJtArrXQJ`|drf`vXXQr˂JtArdHfpvrXQJ`pfHpZHAbr󙐂ˁ`rQtJlے`JbnXvےbHAdrtAJf`vlJtAdHfpvrXQJ`|drf`vXXQr˂JtArdfpvtbdQZfH~HAbےd|ZےbHAtAJlnvppZHAb|ZdQnXvےbHAf`vX˂pZQXb㉀tbAdXQr˂`f~Zp˂ltbXnv|ZdQnXvےbHAtAJlnvppZHAb|ZdQnrXQJ|drf`vX`JXQHAdQbtZp˂tbdQZfH~ے`Jbtl`f~Zp˂nvpZHAbۑpJAHZ|dpZHAHfpvrXQJ`dQZ|pfH~btl`f~Zp˂tbdQZfH~ے`Jbtl`ےHAtAJlnvpbے`l|ZdQrXQJ`|drf`vXXQr˂JtArdHfpvrbdQZfH~ے`JXQr󙐂ˁ`rQtJlے`JXQnXvےbHAdrtAJf`vJtArdHfpvrXQJ`|drf`vXXQr˂JtArdZp˂tbdQZfH~JXQrbnXvےbHAtAJlnvppZHAb|ZdQnXv|drf`vXr˂pZQXb㉀tbAdrbt`f~Zp˂ltdXnv|ZdQnXvےbHAtAJlnvppZHAb|ZdQrXQJ`|drf`vX˂pZHA`f~fpZp˂tbdQZfH~ے`Jbtl`fHtAJlnvpZHAbXnvZ|dlJtAdHfpvrXQJ`rtAJlp`vXbtl`f~Zp˂tbdQZfH~ے`JbnXvےbHAtAJlnvpbے`vnXrXQJ`|drf`vXXQr˂JtArdfpvtbdQZfH~ے`JXQpfH~rQtJl|ZdQnXvےbHAtbdQnr˂JtArdHfpvrXQJ`|drf`vXXQr˂`f~Zp˂tbdQZfH~JXQrv`fےbHAtAJlnvppZHAb|ZdQnrXQJ|drf`vXHAbےf۝`vtbAdbtl`f~Zp˂Z|dpZAb`|ZdQnXvےbHAtAJlnvppZHAHfpvrXQJ`|drf`vX˂p`J~HfpZp˂tbdQZfH~ے`Jbtl`ےHAtAJlnvp`JXQrXnvZ|dJtArdHfpvrXQJ`rtAJlJXQrbtl`f~Zp˂tbdQZfH~ے`JXQnXvےbHAtAJlnvpXQr˂vnXrXQJ`|drf`vXXQr˂JtArdZp˂tbdQZfH~˂pZpfH~rQtJl|ZdQnXvےbHAtbdQ˂pZHJtArdHfpvrXQJ`|drf`vXrbt`f~Zp˂tbdQZfH~pZHAbv`fےbHAtAJlnvppZHAb|ZdQrXQJ`|drf`vXHAbےf۝`vtbAdbtl`f~Zp˂Z|lAbے`|ZdQnXvےbHAtAJlnvplJtAdHfpvrXQJ`|drf`vXے`J~HfvZp˂tbdQZfH~ے`JbnXvےbHAtAJlnvp`JXQrXnvZ|dJtArdHfpvrXQJ`tbdQZJXQrbtl`f~Zp˂tbdQZfH~|ZdQnXvےbHAtAJlnvpXQr˂nXv`rXQJ`|drf`vXXQr˂`f~Zp˂tbdQZfH~˂p`pfH~rQtJl|ZdQnXvےbHA|dr˂pZHJtArdHfpvrXQJ`|drf`vXbtl`f~Zp˂tbdQZfH~p`JXQf~HےbHAtAJlnvppZHAHfpvrXQJ`|drf`vXJXQrf۝`vtbAdbtl`f~Zp˂tAJlAbJ|ZdQnXvےbHAtAJlnr˂JtArdHfpvrXQJ`|drf`vXrbtfpvZp˂tbdQZfH~ے`JXQnXvےbHAtAJlnvp˂pZHAXnvZ|dJtArdHfpvrXQJ`tbdQZQr˂pbtl`f~Zp˂tbdQZpZHAb|ZdQnXvےbHAtAJlnvpl|ZdQnXv`rXQJ`|drf`vXrbt`f~Zp˂tbdQZfH~bے`pfH~rQtJl|ZdQnXvےbHA|ltZHAbJtArdHfpvrXQJ`|dtAے`Jbtl`f~Zp˂tbdQZfH~btlf~HےbHAtAJlnvplJtAdHfpvrXQJ`|drf`vXJXQrf۝`vtbAdbtl`f~Zp˂bnvے`JXQ|ZdQnXvےbHAJltXQr˂JtArdHfpvrXQJ`|drf`vXJtArdfpvZp˂tbdQZfH~|ZdQnXvےbHAtAJlnvp˂p`ZXnvZ|dJtArdHfpvrXQJ`p`vXr˂pbtl`f~Zp˂bnvpZHAb|ZdQnXvےbHAtAJlnvp|ZdQnvfrXQJ`|drf`vXbtl`f~Zp˂tbdQZfH~QXb㉀ۍpfH~rQtJl|ZdQnXvےbHAnvpZHAbJtArdHfpvrXQJ`pfHے`Jbtl`f~Zp˂tbdQZfH~btl~HfpےbHAtAJlnr˂JtArdHfpvrXQJ`|drf`vXpJAHrf۝`vtbAdbtl`f~Zp˂fH~ے`JXQ|ZdQnXvےbHAf`vXXQr˂JtArdHfpvrXQJ`|drf`vX|ZdQbvnXZp˂tbdQZpZHAb|ZdQnXvےbHAtAJlnvpˁ`ZXnvZ|drQtqrstuvwxxwvutsr2222222222222222222222222222333333 \ No newline at end of file diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv27_0.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv27_0.dat deleted file mode 100644 index 7fde28104e..0000000000 --- a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv27_0.dat +++ /dev/null @@ -1,249 +0,0 @@ -|{|{|{|{|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvuststststrqrqrqrqpopopoponmnmnmnmnmlklklklklklklkjijijijihghghghgfefefefedcdcdcdcdcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYWXWXWXWXWWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPOPONMNMNMNMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCBABABABA@?@?@?@?>=>=>=>=;;<;<;<;:9:9:9:9:9:9:9:987878787656565654343434321212121|{|{|{|{|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvusssssstsrqrqrqrqpopopoponmnmnmnmlklklklklklklklkjijijijihghghghgfefefefedcdcdcdcdcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYWXWXWXWXXWVUVUVUVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMNMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCBABABABA@?@?@?@?>=>=>=>=<;<;<;<;:9:9:9:9:987878787878787656565654343434321212121|{|{|{|{|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmlklklklklklklklkjijijijihghghghgfefefefedcdcdcdcdcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYWXWXWXWXVUVUVUVUVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMNMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCBABABABA@?@?@?@?>=>=>=>=<;<;<;<;:9:9:9:98787878787878787656565654343434321212121|{|{|{|{|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmlklklklklklklklkjijijijihghghghgfefefefedcdcdcdcdcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYWXWXWXWXVUVUVUVUVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMNMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCBABABABA@?@?@?@?>=>=>=>=<;<;<;<;:9:9:9:98787878787878787656565654343434321212121|{|{|{|{zyzyzyzyzyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmlklklklklklklklkjijijijihghghghgfefefefedcdcdcdcdcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYWXWXWXWXVUVUVUVUVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMNMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCBABABABA@?@?@?@?>=>=>=>=<;<;<;<;:9:9:9:98787878787878787656565654343434321212121|{|{|{|{zyzyzyzyzyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmlklklklklklklklkjijijijihghghghgfefefefedcdcdcdcdcbababababababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYWXWXWWWWVUVUVUVUVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMNMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEFEDCDCDCDCDCDCDCBABABABA@?@?@?@?>=>=>=>=<;<;<;<;:9:9:9:98787878787878787656565654343434321212121|{|{|{|{zyzyzyzyzyzyzyzyxwxwxwxwtstststststststsrqrqrqrqpopopoponmnmnmnmlklklklklkjijijijijijijihghghghgfefefefedcdcdcdcbabababababababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYWWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMNMLKLKLKLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCDCDCDCDCBABABABA@?@?@?@?>=>=>=>=;;;;;<;<:9:9:9:98787878787878787656565654343434321212121|{|{|{|{zyzyzyzyzyzyzyzyvuvuvuvussssststtstststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijijijijijihghghghgfefefefedcdcdcdcbabababababababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUVUTSTSTSTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCDCDCDCDCBABABABA@?@?@?@?>=>=>=>=;<;<;<;<:9:9:9:98787878787656565656565654343434321212121|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvuststststqqqqqqrqrqrqrqrqpopopoponmnmnmnmlklklklkjijijijijijijijihghghghgfefefefedcdcdcdcbabababababababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCDCDCDCDCBABABABA@?@?@?@?>=>=>=>=;<;<;<;<:9:9:9:98787878765656565656565654343434321212121|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvuststststrqrqrqrqrqrqrqrqpopopoponmnmnmnmlklklklkjijijijijijijijihghghghgfefefefedcdcdcdcbabababababababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCDCDCDCDCBABABABA@?@?@?@?>=>=>=>=;<;<;<;<:9:9:9:98787878765656565656565654343434321212121|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvuststststrqrqrqrqrqrqrqrqpopopoponmnmnmnmlklklklkjijijijijijijijihghghghgfefefefedcdcdcdcbabababababababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCDCDCDCDCBABABABA@?@?@?@?>=>=>=>=;<;<;<;<:9:9:9:98787878765656565656565654343434321212121|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvuststststrqrqrqrqrqrqrqrqpopopoponmnmnmnmlklklklkjijijijijijijijihghghghgfefefefedcdcdcdcbababababa`_`_`_`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCDCBABABABABABABA@?@?@?@?>=>=>=>=;<;<;<;<:9:9:9:98787878765656565656565654343434321212121|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvuststststrqrqrqrqrqrqrqrqpopopoponmnmnmnmlklklklkjijijijijihghghghghghghgfefefefedcdcdcdcbabababa`_`_`_`_`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYWWWWWXWXVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKLKJIJIJIJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABABABABABA@?@?@?@?>=>=>=>=;<;;;;;;:9:9:9:98787878765656565656565654343434321212121|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvustssssssrqrqrqrqrqpopopopopopoponmnmnmnmlklklklkjijijijihghghghghghghghgfefefefedcdcdcdcbabababa`_`_`_`_`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYWXWXWXWXVUVUVUVUTSTSTSTSTSRQRQRQRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABABABABABA@?@?@?@?>=>=>=>=<;<;<;<;:9:9:9:98787878765656565654343434343434321212121|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopopopopopoponmnmnmnmlklklklkjijijijihghghghghghghghgfefefefedcdcdcdcbabababa`_`_`_`_`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYWXWXWXWXVUVUVUVUTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABABABABABA@?@?@?@?>=>=>=>=<;<;<;<;:9:9:9:98787878765656565434343434343434321212121|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopopopopopoponmnmnmnmlklklklkjijijijihghghghghghghghgfefefefedcdcdcdcbabababa`_`_`_`_`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYWXWXWXWXVUVUVUVUTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABABABABABA@?@?@?@?>=>=>=>=<;<;<;<;:9:9:9:98787878765656565434343434343434321212121|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopopopopopoponmnmnmnmlklklklkjijijijihghghghghghghghgfefefefedcdcdcdcbabababa`_`_`_`_`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYWXWXWXWXVUVUVUVUTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABABABABABA@?@?@?@?>=>=>=>=<;<;<;<;:9:9:9:98787878765656565434343434343434321212121|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopopopopopoponmnmnmnmlklklklkjijijijihghghghghghghghgfefefefedcdcdcdcbabababa`_`_`_`_`_^]^]^]^]^]^]^]\[\[\[\[ZYZYZYZYWXWXWXWXVUVUVUVUTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABABA@?@?@?@?>=>=>=>=<;<;<;<;<;<;<;:9:9:9:98787878765656565434343434343434321212121|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopopopopopoponmnmnmnmlklklklkjijijijihghghghghgfefefefefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[ZYZYZYZYWXWWWWWWVUVUVUVUTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIJIHGHGHGHGHGHGHGFEFEFEFEDCDCDCDCBABABABA@?@?@?@?>=>=>=>=<;;;;;;<<;<;<;;;:9:9:9:98787878765656565434343434343434321212121|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutststsssrqrqrqrqpopopopoponmnmnmnmnmnmnmlklklklkjijijijihghghghgfefefefefefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQRQPOPOPOPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEDCDCDCDCBABABABA@?@?@?@?>=>=>=>=;<;<;<;<;;<;<;<;:9:9:9:98787878765656565434343434321212121212121|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvussstststrqrqrqrqpopopoponmnmnmnmnmnmnmnmlklklklkjijijijihghghghgfefefefefefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEDCDCDCDCBABABABA@?@?@?@?>=>=>=>=;<;<;<;<<;:9:9:9:9:9:9:98787878765656565434343432121212121212121|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvuststststrqrqrqrqpopopoponmnmnmnmnmnmnmnmlklklklkjijijijihghghghgfefefefefefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEDCDCDCDCBABABABA@?@?@?@?>=>=>=>=;<;<;<;<:9:9:9:9:9:9:9:98787878765656565434343432121212121212121|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvuststststrqrqrqrqpopopoponmnmnmnmnmnmnmnmlklklklkjijijijihghghghgfefefefefefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEDCDCDCDCBABABABA@?@?@?@?>=>=>=>=;<;<;<;<:9:9:9:9:9:9:9:98787878765656565434343432121212121212121210/0/0/|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvuststststrqrqrqrqpopopoponmnmnmnmnmnmnmnmlklklklkjijijijihghghghgfefefefefefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEDCDCDCDCBABABABA@?@?@?@?>=>=>=>=;<;<;<;<:9:9:9:9:9:9:9:987878787656565654343434321212121212121210/0/0/0/|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvuststststrqrqrqrqpopopoponmnmnmnmnmnmnmnmlklklklkjijijijihghghghgfefefefefedcdcdcdcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWWWWWWXXWXWXWWWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGHGFEFEFEFEFEFEFEDCDCDCDCBABABABA@?@?@?@?>=>=>=>=;<;<;;;;:9:9:9:9:9:9:9:987878787656565654343434321212121212121210/0/0/0/0/0/0/0/0/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - - - - - 0/0/0/0/0/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - - - - - 0/0/0/0/0/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('('&%&%&%&%&%&%&%$#$#$#$#"!"!"!"!        - - - - - 0/0/0/0/0/.-.-.-.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%&%&%&%&%$#$#$#$#"!"!"!"!     - - - - 0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%&%&%&%&%$#$#$#$#"!"!"!"!        - - - - 0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%&%&%&%&%$#$#$#$#"!"!"!"!        - - - - 0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%&%&%&%&%$#$#$#$#"!"!"!"!        - - - - 0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%&%&%&%&%$#$#$#$#"!"!"!"!        - - - - 0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%&%$#$#$#$#"!"!"!"!           - - - - 0/0/0/0/.-.-.-.-.-,+,+,+,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!           - - - - 0/0/0/0/.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!               - - - - 0/0/0/0/.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!            - - - - 0/0/0/0/.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!            - - - - 0/0/0/0/.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!            - - - - 0/0/0/0/.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!            - - - - 0/0/0/0/.-.-.-.-,+,+,+,+,+*)*)*)*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!       - - - - 0/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!       - - - - 0/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - 0/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - 0/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - 0/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - 0/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)*)('('('('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - - - - 0/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('('('('('&%&%&%&%$#$#$#$#"!"!"!"!      - - - - - - - - 0/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - - - - - 0/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - - - - - ||{{zzyy]]^^__``))((''&&``aabbcc)((''&&%HHIIJJKKMMLLKKJJ||||{{zzLLMMNNOOIIHHGGFFyyxxwwvvPPQQRRSSEEDDCCBB !!""##ppoonnmm srrqqppo``aabbcc5544332200112233eeddccbbddeeffgg1100//..44556677aa``__^^hhiijjkk--,,++**8899::;;SSRRQQPP))**++,,YXWWVVUUxxyyzz{{HHIIJJKKMMLLKKJJxxwwvvuuaabbccdd%%ddeeffgg%$#"! LLMMNNOOIIHHGGFFyyxxwwvvPPQQRRSSEEDDCCBB !!""##uuttssrrTTUUVVWWAA@@??>>$$%%&&''llkkjjiionnmmllkddeeffgg1100//..44556677aa``__^^hhiijjkk--,,++**8899::;;]]\\[[ZZ - - llmmnnoo))((''&&<<==>>??OONNMMLL--..//00TTSSRRQQ||||{{zzLLMMNNOOIIHHGGFFttssrrqq eeffgghhhhiijjkkPPQQRRSSEEDDCCBB !!""##uuttssrrTTUUVVWWAA@@??>>$$%%&&''qqppoonn - -XXYYZZ[[==<<;;::(())**++hhggffeekjjiihhghhiijjkk--,,++**8899::;;]]\\[[ZZ - - llmmnnoo))((''&&<<==>>??YYXXWWVV ppqqrrss%%$$##""@@AABBCCKKJJIIHH11223344PPOONNMMyyxxwwvvPPQQRRSSEEDDCCBB !!""##ppoonnmm - - iijjkkllllmmnnooTTUUVVWWAA@@??>>$$%%&&''qqppoonn - -XXYYZZ[[==<<;;::(())**++mmllkkjj \\]]^^__99887766,,--..//ddccbbaagffeeddc - - llmmnnoo))((''&&<<==>>??YYXXWWVV ppqqrrss%%$$##""@@AABBCCUUTTSSRRttuuvvww!! DDEEFFGGGGFFEEDD55667788LLKKJJII !!""##uuttssrrTTUUVVWWAA@@??>>$$%%&&''llkkjjii - - mmnnooppppqqrrssXXYYZZ[[==<<;;::(())**++mmllkkjj \\]]^^__99887766,,--..//iihhggff``aabbcc5544332200112233``__^^]]cbbaa``_ ppqqrrss%%$$##""@@AABBCCUUTTSSRRttuuvvww!! DDEEFFGGQQPPOONNxxyyzz{{HHIIJJKKCCBBAA;;99::;;AAHHGGFFEE$$%%&&''qqppoonn - -XXYYZZ[[==<<;;::(())**++hhggffee qqrrsstt yyzz{{||\\]]^^__99887766,,--..//iihhggff``aabbcc5544332200112233eeddccbbddeeffgg1100//..44556677WWVVUUTT%%&&''((_^^]]\[Zttuuvvww!! DDEEFFGGQQPPOONNxxyyzz{{HHIIJJKKMMLLKKJJ||||{{zzLLMMNNOO::998877BBCCDDEEDDCCBBAA(())**++mmllkkjj \\]]^^__99887766,,--..//ddccbbaauuvvwwxx - - ||{{zzyy ``aabbcc5544332200112233eeddccbbddeeffgg1100//..44556677aa``__^^hhiijjkk--,,++**8899::;;SSRRQQPP))**++,,YXWWVVUUxxyyzz{{HHIIJJKKMMLLKKJJ||||{{zzLLMMNNOOIIHHGGFFyyxxwwvvPPQQRRSS66554433FFGGHHII@?>=<;;:,,--..//iihhggff``aabbcc5544332200112233``__^^]]yyzz{{|| - - xwvutssr - - ddeeffgg1100//..44556677aa``__^^hhiijjkk--,,++**8899::;;]]\\[[ZZ - - llmmnnoo))((''&&<<==>>??OONNMMLL--..//00TTSSRRQQ||||{{zzLLMMNNOOIIHHGGFFyyxxwwvvPPQQRRSSEEDDCCBB !!""##uuttssrrTTUUVVWW221100//JJKKLLMM:998877600112233eeddccbbddeeffgg1100//..44556677\\[[ZZYY||{{zzyy rqqppoonhhiijjkk--,,++**8899::;;]]\\[[ZZ - - llmmnnoo))((''&&<<==>>??YYXXWWVV ppqqrrss%%$$##""@@AABBCCKKJJIIHH11223344PPOONNMMyyxxwwvvPPQQRRSSEEDDCCBB !!""##uuttssrrTTUUVVWWAA@@??>>$$%%&&''qqppoonn - -XXYYZZ[[..--,,++NNOOPPQQ6554433244556677aa``__^^hhiijjkk--,,++**8899::;;XXWWVVUU ssrrqqppnmmllkkj - - llmmnnoo))((''&&<<==>>??YYXXWWVV ppqqrrss%%$$##""@@AABBCCUUTTSSRRttuuvvww!! DDEEFFGGGGFFEEDD55667788LLKKJJII !!""##uuttssrrTTUUVVWWAA@@??>>$$%%&&''qqppoonn - -XXYYZZ[[==<<;;::(())**++mmllkkjj \\]]^^__**))((''RRSSTTUU21100//.8899::;;]]\\[[ZZ - - llmmnnoo))((''&&<<==>>??TTSSRRQQ!!""##$$oonnmmlljiihhggf ppqqrrss%%$$##""@@AABBCCUUTTSSRRttuuvvww!! DDEEFFGGQQPPOONNxxyyzz{{HHIIJJKKCCBBAA;;99::;;AAHHGGFFEE$$%%&&''qqppoonn - -XXYYZZ[[==<<;;::(())**++mmllkkjj \\]]^^__99887766,,--..//iihhggff``aabbcc&&%%VVWW]]^^.--,,++*<<==>>??YYXXWWVV ppqqrrss%%$$##""@@AABBCCPPOONNMM%%&&''((kkjjiihhfeeddccbttuuvvww!! DDEEFFGGQQPPOONNxxyyzz{{HHIIJJKKMMLLKKJJ||||{{zzLLMMNNOO::998877BBCCDDEEDDCCBBAA(())**++mmllkkjj \\]]^^__99887766,,--..//iihhggff``aabbcc5544332200112233eeddccbbddeeffgg__``aabb*))((''&@@AABBCCUUTTSSRRttuuvvww!! DDEEFFGGLLKKJJII))**++,,ggffeedd%%baa``__^xxyyzz{{HHIIJJKKMMLLKKJJ||||{{zzLLMMNNOOIIHHGGFFyyxxwwvvPPQQRRSS66554433FFGGHHII@?>=<;;:,,--..//iihhggff``aabbcc5544332200112233eeddccbbddeeffgg1100//..44556677aa``__^^hhiijjkkccddeeff&%%$#"! DDEEFFGGQQPPOONNxxyyzz{{HHIIJJKKHHGGFFEE--..//00ccbbaa``&&''(())^]]\[ZYX||||{{zzLLMMNNOOIIHHGGFFyyxxwwvvPPQQRRSSEEDDCCBB !!""##uuttssrrTTUUVVWW221100//JJKKLLMM:998877600112233eeddccbbddeeffgg1100//..44556677aa``__^^hhiijjkk--,,++**8899::;;]]\\[[ZZ - - llmmnnoogghhiijjHHIIJJKKMMLLKKJJ||||{{zzLLMMNNOODDCCBBAA11223344__^^]]WW**++,,--WWVVUUTTyyxxwwvvPPQQRRSSEEDDCCBB !!""##uuttssrrTTUUVVWWAA@@??>>$$%%&&''qqppoonn - -XXYYZZ[[..--,,++NNOOPPQQ6554433244556677aa``__^^hhiijjkk--,,++**8899::;;]]\\[[ZZ - - llmmnnoo))((''&&<<==>>??YYXXWWVV ppqqrrsskkllmmnnLLMMNNOOIIHHGGFFyyxxwwvvPPQQRRSS@@??>>==55667788VVUUTTSS..//0011SSRRQQPP !!""##uuttssrrTTUUVVWWAA@@??>>$$%%&&''qqppoonn - -XXYYZZ[[==<<;;::(())**++mmllkkjj \\]]^^__**))((''RRSSTTUU21100//.8899::;;]]\\[[ZZ - - llmmnnoo))((''&&<<==>>??YYXXWWVV ppqqrrss%%$$##""@@AABBCCUUTTSSRRttuuvvww - -ooppqqrrPPQQRRSSEEDDCCBB !!""##uuttssrrTTUUVVWW<<;;::9999::;;<>??YYXXWWVV ppqqrrss%%$$##""@@AABBCCUUTTSSRRttuuvvww!! DDEEFFGGQQPPOONNxxyyzz{{ ssyyzz{{TTUUVVWWAA@@??>>$$%%&&''qqppoonn - -XXYYZZ[[88776655==>>??@@NNMMLLKK66778899KKJJIIHH(())**++mmllkkjj \\]]^^__99887766,,--..//iihhggff``aabbcc5544332200112233eeddccbbddeeffgg__``aabb*))((''&@@AABBCCUUTTSSRRttuuvvww!! DDEEFFGGQQPPOONNxxyyzz{{HHIIJJKKMMLLKKJJ||||{{zz||||{{zz XXYYZZ[[==<<;;::(())**++mmllkkjj \\]]^^__44332211AABBCCDDJJIIHHGG::;;AABBGGFFEEDD,,--..//iihhggff``aabbcc5544332200112233eeddccbbddeeffgg1100//..44556677aa``__^^hhiijjkkccddeeff&%%$#"! DDEEFFGGQQPPOONNxxyyzz{{HHIIJJKKMMLLKKJJ||||{{zzLLMMNNOOIIHHGGFFyyssrrqq - - yyxwvuts - - \\]]^^__99887766,,--..//iihhggff``aabbcc00//..--EEFFGGHHFFEEDDCCCCDDEEFFCCBBAA@?00112233eeddccbbddeeffgg1100//..44556677aa``__^^hhiijjkk--,,++**8899::;;]]\\[[ZZ - - llmmnnoogghhiijjHHIIJJKKMMLLKKJJ||||{{zzLLMMNNOOIIHHGGFFyyxxwwvvPPQQRRSSEEDDCCBB !!""##ppoonnmm srrqqppo``aabbcc5544332200112233eeddccbbddeeffgg,,++**))IIJJKKLLBBAA;;::GGHHIIJJ>=<;;::944556677aa``__^^hhiijjkk--,,++**8899::;;]]\\[[ZZ - - llmmnnoo))((''&&<<==>>??YYXXWWVV ppqqrrsskkllmmnnLLMMNNOOIIHHGGFFyyxxwwvvPPQQRRSSEEDDCCBB !!""##uuttssrrTTUUVVWWAA@@??>>$$%%&&''llkkjjiionnmmllkddeeffgg1100//..44556677aa``__^^hhiijjkk((''&&%%MMNNOOPP99887766KKLLMMNN988776658899::;;]]\\[[ZZ - - llmmnnoo))((''&&<<==>>??YYXXWWVV ppqqrrss%%$$##""@@AABBCCUUTTSSRRttuuvvww - -ooppqqrrPPQQRRSSEEDDCCBB !!""##uuttssrrTTUUVVWWAA@@??>>$$%%&&''qqppoonn - -XXYYZZ[[==<<;;::(())**++hhggffeekjjiihhghhiijjkk--,,++**8899::;;]]\\[[ZZ - - llmmnnoo$$##""!!QQRRSSTT55443322OOPPQQRR54433221<<==>>??YYXXWWVV ppqqrrss%%$$##""@@AABBCCUUTTSSRRttuuvvww!! DDEEFFGGQQPPOONNxxyyzz{{ ssyyzz{{TTUUVVWWAA@@??>>$$%%&&''qqppoonn - -XXYYZZ[[==<<;;::(())**++mmllkkjj \\]]^^__99887766,,--..//ddccbbaagffeeddc - - llmmnnoo))((''&&<<==>>??YYXXWWVV ppqqrrss||||{{zz UUVVWWXX1100//..SSTTUUVV100//..-@@AABBCCUUTTSSRRttuuvvww!! DDEEFFGGQQPPOONNxxyyzz{{HHIIJJKKMMLLKKJJ||||{{zz||||{{zz XXYYZZ[[==<<;;::(())**++mmllkkjj \\]]^^__99887766,,--..//iihhggff``aabbcc5544332200112233``__^^]]cbbaa``_ ppqqrrss%%$$##""@@AABBCCUUTTSSRRttuuvvwwyyxxwwvvYYZZ[[\\--,,++**WW]]^^__-,,++**)DDEEFFGGQQPPOONNxxyyzz{{HHIIJJKKMMLLKKJJ||||{{zzLLMMNNOOIIHHGGFFyyssrrqq - - yyxwvuts - - \\]]^^__99887766,,--..//iihhggff``aabbcc5544332200112233eeddccbbddeeffgg1100//..44556677WWVVUUTT%%&&''((_^^]]\[Zttuuvvww!! DDEEFFGGQQPPOONNxxyyzz{{uuttssrrqqppoonn - -XXYYZZ[[==<<;;::(())**++mmllkkjj \\]]^^__**))((''RRSSTTUU21100//.8899::;;]]\\[[ZZ - - llmmnnoo))((''&&<<==>>??YYXXWWVV ppqqrrss%%$$##""@@AABBCCUUTTSSRRttuuvvww - - - -iihhggff mmllkkjj \\]]^^__99887766,,--..//iihhggff``aabbcc&&%%VVWW]]^^.--,,++*<<==>>??YYXXWWVV ppqqrrss%%$$##""@@AABBCCUUTTSSRRttuuvvww!! DDEEFFGGQQPPOONNxxyyzz{{ eeddccbbiihhggff``aabbcc5544332200112233eeddccbbddeeffgg__``aabb*))((''&@@AABBCCUUTTSSRRttuuvvww!! DDEEFFGGQQPPOONNxxyyzz{{HHIIJJKKMMLLKKJJ||ttssrraa``__^^eeddccbbddeeffgg1100//..44556677aa``__^^hhiijjkkccddeeff&%%$#"! DDEEFFGGQQPPOONNxxyyzz{{HHIIJJKKMMLLKKJJ||||{{zzLLMMNNOOIIHHGGFFqqppoonn]]\\[[ZZaa``__^^hhiijjkk--,,++**8899::;;]]\\[[ZZ - - llmmnnoogghhiijjHHIIJJKKMMLLKKJJ||||{{zzLLMMNNOOIIHHGGFFyyxxwwvvPPQQRRSSEEDDCCBB !!""##mmllkkjjYYXXWWVV]]\\[[ZZ - - llmmnnoo))((''&&<<==>>??YYXXWWVV ppqqrrsskkllmmnnLLMMNNOOIIHHGGFFyyxxwwvvPPQQRRSSEEDDCCBB !!""##uuttssrrTTUUVVWWAA@@??>>$$%%&&''iihhggffUUTTSSRR !!""##YYXXWWVV ppqqrrss%%$$##""@@AABBCCUUTTSSRRttuuvvww - -ooppqqrrPPQQRRSSEEDDCCBB !!""##uuttssrrTTUUVVWWAA@@??>>$$%%&&''qqppoonn - -XXYYZZ[[==<<;;::(())**++eeddccbb%%&&''QQPPOONN$$%%&&''UUTTSSRRttuuvvww!! DDEEFFGGQQPPOONNxxyyzz{{ ssyyzz{{TTUUVVWWAA@@??>>$$%%&&''qqppoonn - -XXYYZZ[[==<<;;::(())**++mmllkkjj \\]]^^__99887766,,--..//aa``__^^(())**++MMLLKKJJ(())**++QQPPOONNxxyyzz{{HHIIJJKKMMLLKKJJ||||{{zz||||{{zz XXYYZZ[[==<<;;::(())**++mmllkkjj \\]]^^__99887766,,--..//iihhggff``aabbcc5544332200112233]]WWVVUU,,--..//IIHHGGFF,,--..//MMLLKKJJ||||{{zzLLMMNNOOIIHHGGFFyyssrrqq - - yyxwvuts - - \\]]^^__99887766,,--..//iihhggff``aabbcc5544332200112233eeddccbbddeeffgg1100//..44556677TTSSRRQQ00112233EEDDCCBB00112233IIHHGGFFyyxxwwvvPPQQRRSSEEDDCCBB !!""##ppoonnmm srrqqppo``aabbcc5544332200112233eeddccbbddeeffgg1100//..44556677aa``__^^hhiijjkk--,,++**8899::;;PPOONNMM44556677AA@@??>>44556677EEDDCCBB !!""##uuttssrrTTUUVVWWAA@@??>>$$%%&&''llkkjjiionnmmllkddeeffgg1100//..44556677aa``__^^hhiijjkk--,,++**8899::;;]]\\[[ZZ - - llmmnnoo))((''&&<<==>>??LLKKJJII8899::;;==<<;;::8899::;;AA@@??>>$$%%&&''qqppoonn - -XXYYZZ[[==<<;;::(())**++hhggffeekjjiihhghhiijjkk--,,++**8899::;;]]\\[[ZZ - - llmmnnoo))((''&&<<==>>??YYXXWWVV ppqqrrss%%$$##""@@AABBCCHHGGFFEEAABBCCDD99887766<<==>>??==<<;;::(())**++mmllkkjj \\]]^^__99887766,,--..//ddccbbaagffeeddc - - llmmnnoo))((''&&<<==>>??YYXXWWVV ppqqrrss%%$$##""@@AABBCCUUTTSSRRttuuvvww!! DDEEFFGGDDCCBBAAEEFFGGHH55443322@@AABBCC99887766,,--..//iihhggff``aabbcc5544332200112233``__^^]]cbbaa``_ ppqqrrss%%$$##""@@AABBCCUUTTSSRRttuuvvww!! DDEEFFGGQQPPOONNxxyyzz{{HHIIJJKK;;::9988IIJJKKLL1100//..DDEEFFGG5544332200112233eeddccbbddeeffgg1100//..44556677WWVVUUTT%%&&''((_^^]]\[Zttuuvvww!! DDEEFFGGQQPPOONNxxyyzz{{HHIIJJKKMMLLKKJJ||||{{zzLLMMNNOO77665544MMNNOOPP--,,++**HHIIJJKK1100//..44556677aa``__^^hhiijjkk--,,++**8899::;;SSRRQQPP))**++,,YXWWVVUUxxyyzz{{HHIIJJKKMMLLKKJJ||||{{zzLLMMNNOOIIHHGGFFyyxxwwvvPPQQRRSS33221100QQRRSSTT))((''&&LLMMNNOO--,,++**8899::;;]]\\[[ZZ - - llmmnnoo))((''&&<<==>>??OONNMMLL--..//00TTSSRRQQ||||{{zzLLMMNNOOIIHHGGFFyyxxwwvvPPQQRRSSEEDDCCBB !!""##uuttssrrTTUUVVWW//..--,,UUVVWW]]%%$$##""PPQQRRSS))((''&&<<==>>??YYXXWWVV ppqqrrss%%$$##""@@AABBCCKKJJIIHH11223344PPOONNMMyyxxwwvvPPQQRRSSEEDDCCBB !!""##uuttssrrTTUUVVWWAA@@??>>$$%%&&''qqppoonn - -XXYYZZ[[++**))((^^__``aa!! TTUUVVWW%%$$##""@@AABBCCUUTTSSRRttuuvvww!! DDEEFFGGGGFFEEDD55667788LLKKJJII !!""##uuttssrrTTUUVVWWAA@@??>>$$%%&&''qqppoonn - -XXYYZZ[[==<<;;::(())**++mmllkkjj \\]]^^__''&&%%bbccddeeXXYYZZ[[!! DDEEFFGGQQPPOONNxxyyzz{{HHIIJJKKCCBBAA;;99::;;AAHHGGFFEE$$%%&&''qqppoonn - -XXYYZZ[[==<<;;::(())**++mmllkkjj \\]]^^__99887766,,--..//iihhggff``aabbccffgghhii\\]]^^__HHIIJJKKMMLLKKJJ||||{{zzLLMMNNOO::998877BBCCDDEEDDCCBBAA(())**++mmllkkjj \\]]^^__99887766,,--..//iihhggff``aabbcc5544332200112233eeddccbbddeeffggjjkkllmm``aabbccLLMMNNOOIIHHGGFFyyxxwwvvPPQQRRSS66554433FFGGHHII@?>=<;;:,,--..//iihhggff``aabbcc5544332200112233eeddccbbddeeffgg1100//..44556677aa``__^^hhiijjkknnooppqqddeeffggPPQQRRSSEEDDCCBB !!""##uuttssrrTTUUVVWW221100//JJKKLLMM:998877600112233eeddccbbddeeffgg1100//..44556677aa``__^^hhiijjkk--,,++**8899::;;]]\\[[ZZ - - llmmnnooqqppoonn - -hhiijjkkTTUUVVWWAA@@??>>$$%%&&''qqppoonn - -XXYYZZ[[..--,,++NNOOPPQQ6554433244556677aa``__^^hhiijjkk--,,++**8899::;;]]\\[[ZZ - - llmmnnoo))((''&&<<==>>??YYXXWWVV ppqqrrss mmllkkjj - - llmmnnooppqqfpvnXv`p˂rtAJlnvpے`JXbtlHfpvrXQJ`ےJltbdQZfH~XQr˂JtArdnXv`f~Zp˂|drf`vXے`JXQbtl~HfpfpvrXQJ`tAJlnvpے`JrbtJtArdnXvےbHAtbdQZpfHf`vXpZHAb|ZdQXv`fbHAZAJltf`vXnvpے`JbtlHfpvrXQJ`nXv`f~HXQJ`ےtdrtAfH~QrZHAJtArdnXvےbHAtbdQZ|drf`vXpZHAb|ZdQ`f~HfpvrXQJ`tAJlnvpr˂pJtArdvnXnrXQJےbHAtbdQZfH~XQr˂lJtAd|ZdQ`f~Zp˂|drf`vXnvpے`Jbtl~Hfp˂rbdQZ|nvpfے`JXQr˂JtArdnXvےbHAf~HfpvbHAZJltf`vXbے`|ZdQ`f~Zp˂|drtAJlnvpے`JbtlHfpvnXvےbHAtbdQZfH~ZHAb|ZdQv`f`ےHAZp˂|drf`vXpZHAb|ZdQbtlHfpvrXQJ`tAJlnvpfH~XQr˂JtArdpvnXQJ`ےdrtAfH~XQr˂pZHAb|ZdQ`f~Zp˂fpvnXv`p˂rbdQZ|nvpJXQrbtlHfpvrXQJ`tAJltbdQZfH~XQr˂JtArdnXv`fHZp˂|drf`vXے`JXQbtl~HfpZp˂rXQJ`tAJlnvpے`JbtlJtArdnXvےbHAtbdQZfH~f`vXpZHAb|ZdQXv`fbHAZJltf`vXpZHAbے`JbtlHfpvrXQJ`nXv`p˂rXQJ`ےdrtAfH~˂pZHAJtArdnXvےbHAtbdQZ|dtAf`vXpZHAb|ZdQ`f~fpvrXQJ`tAJlnvpr˂pJtArdvnXrXQJ`ےbHAtbdQZfH~XQr˂JtArd|ZdQ`f~Zp˂|drf`vXnvpے`Jbtl~HXp˂bdQZ|nvpے`JXQr˂JtArdnXvےbHAf~HXQJ`ےbHAZJltvpfbے`|ZdQ`f~Zp˂|drJltnvpے`JbtlHfpvnrXQJےbHAtbdQZfH~`JXQrtlJv`f~ےbHAZp˂|drf`vXpZHAb|ZdQbtlHfpvrXQJ`tAJlnvpfے`JXQr˂JtArdv`fbHAZpdrtAfH~XQr˂pZHA|ZdQ`f~Zp˂fpvbHAZp˂rbdQZ|ے`JXQJXQrbtlHfpvrXQJ`tAJlbnvfH~XQr˂JtArdnXv`ےHAZp˂|drf`vX˂pZtArdfpvZp˂rXQJ`tAJlnvpے`JbtlJfpvnXvےbHAtbdQZfH~XQr˂pZHAb|ZdQ~Hfp˂rXQJbdQf`vXpZHAbے`JXQbtlHfpvrXQJ`nXv`p˂rXQJ`ے`vXnrZHA˂pZHAJtArdnXvےbHAtbdQZpfHf`vXpZHAb|ZdQ`f~Zp˂rXQJ`tAJlnvpHAbے|ZdQbnXv`rXQJ`ےJltbdQZfH~XQr˂JtArdnXv`f~Zp˂|drf`vXpZHAbے`JbtlvnXJ`ےZ|dnvpے`JrbtJtArdnXvےbHAf~HXQJ`ےJltvpfbے`bJAd|ZdQ`f~Zp˂|drf`vXnvpے`JbtlHfpvrXQJ`ےbHAtbdQZfH~`JXQrtlJf~HےbHAtbdQZ|drf`vXpZHAb|ZdQ`f~HfpvrXQJ`tAJlnvpے`JXQr˂JtArdv`fbHAZprtAJlfH~XQr˂lJtAd|ZdQ`f~Zp˂fpvbHAZdrtAJH~fJXQr|ZdQbtlHfpvrXQJ`tAJlnvpfH~XQr˂JtArdnXvےbHAZp˂|drf`vX˂pZtArdfpvZp˂|drtAJlnvpے`JbtlHfpvnXvےbHAtbdQZfH~XQr˂pZHA|ZdQ~Hfp˂rXQtbdQf`vXpZHAb|ZdQbtlHfpvrXQJ`nXv`p˂rltb`vXnpZHAbtlJtArdnXvےbHAtbdQZfH~f`vXpZHAb|ZdQ`f~Zp˂rXQJ`tAJlnvpHAb|ZdQtAnXv`rXQJ`tAJltbdQZfH~XQr˂JtArdnXv`fHZp˂|drf`vXpZHAbے`JXQbtlv~J`p˂Z|dnvpے`JbtlJtArdnXvےbHAf~HXQJ`ےdQZ|vpfbے`JtArd|ZdQ`f~Zp˂|drf`vXnvpے`JbtlHfpvrXQJ`ےJltbdQZfH~˂pZHArd|f~HےbHAtbdQZ|dtAf`vXpZHAb|ZdQ`f~fpvrXQJ`tAJlnvpے`JrbtJtArdHfpvrXQJrtAJlfH~XQr˂JtArd|ZdQ`f~Zp˂fpvbHAZdrtAJH~JXQr|ZdQbtlHfpvrXQJ`tAJlnvpfے`JXQr˂JtArdnXvےbHAtbdQZ|drf`vXbے`ZdQbtfvnXZp˂|drJltnvpے`JbtlHfpvnrXQJےbHAtbdQZfH~XQr˂lJtAd|ZdQnXv`ےbtbQZf`vXpZHAb|ZdQbtlHfpvrXQJ`nXv`p˂rltbvpfHpZAbbtlJfpvnXvےbHAtbdQZfH~XQr˂pZHAb|ZdQ`f~Zp˂|drtAJlnvpJXQrlJtAv`frXQJ`tAJlbnvfH~XQr˂JtArdnXv`ےHAZp˂|drf`vXpZHAb|ZdQbtl`f~HAZp˂drtAJnvpے`JbtlJfpvnXvےbHAf~HXQJ`ےdQZ|l~f``JXQrJtArdnXv`f~Zp˂|drf`vXpZHAbے`JbtlHfpvrXQJ`tAJltbdQZfH~˂pZHArd|~HfpےbHAtbdQZpfHf`vXpZHAb|ZdQ`f~Zp˂rXQJ`tAJlnvpے`JbtlJtArdHfpvrXQJltbfH~XQr˂JtArdnXv`f~Zp˂fpvbHAZtbdQvXn˂pZ|ZdQ`f~HfpvrXQJ`tAJlnvpے`JXQr˂JtArdnXvےbHAtbdQZ|dtAf`vXbے`ZdQbtvnXZp˂|drf`vXnvpے`JbtlHfpvrXQJ`ےbHAtbdQZfH~XQr˂JtArd|ZdQnXv`ےbdQZ|f`vXpZHAb|ZdQ`f~HfpvrXQJ`nXv`p˂rZ|dvpfHHAbےbtlHfpvnXvےbHAtbdQZfH~XQr˂pZHA|ZdQ`f~Zp˂|drJltnvpJXQHAbl|Zv`frXQJ`tAJlnvpfH~XQr˂JtArdnXvےbHAZp˂|drf`vXpZHAb|ZdQbtl`pvHAXQJ`drtAJnvpے`JbtlHfpvnXvےbHAf~HXQJ`ےrtAJl~f``JXQrJtArdnXv`fHZp˂|drf`vXpZHAbے`JXQbtlHfpvrXQJ`tAJlbnvfH~ے`JdQbt~HfpےbHAtbdQZfH~f`vXpZHAb|ZdQ`f~Zp˂rXQJ`tAJlnvpے`JbtlJfpvnrXQJےJlltbfH~XQr˂JtArdnXv`fHZp˂fpvbHAZtbdQvXH~˂pZ|ZdQ`f~fpvrXQJ`tAJlnvpے`JrbtJtArdnXvےbHAtbdQZpfHf`vXXQr˂lJtArvnvfZp˂|drf`vXnvpے`JbtlHfpvrXQJ`ےJltbdQZfH~XQr˂JtArd~H`p˂tbQZddQZ|f`vXpZHAb|ZdQ`f~fpvrXQJ`nXv`p˂rZ|df`vHAbbtlHfpvnrXQJےbHAtbdQZfH~XQr˂lJtAd|ZdQ`f~Zp˂|drf`vXnvppZHAbd|Z~HfrXQJ`tAJlnvpfے`JXQr˂JtArdnXvےbHAtbdQZ|drf`vXpZHAb|ZdQfpvrXQJ`rtAJlAJltnvpے`JbtlHfpvnrXQJےbHAf~HXQJ`ےrtAdQZXnvJQr˂pJtArdnXv`ےHAZp˂|drf`vXpZHAb|ZdQbtlHfpvrXQJ`tAJlnvpfH~ے`JdQbtpvnےbHAtbdQZfH~XQr˂pZHAb|ZdQ`f~Zp˂|drtAJlnvpے`JbtlnXv`ےbHAtbdbnvfH~XQr˂JtArdnXv`ےHAZp˂fpvbHAZ|drpfH~ZHAb|ZdQ`f~Zp˂rXQJ`tAJlnvpے`JbtlJtArdnXvےbHAtbdQZfH~f`vXXQr˂lJtArXv`fZp˂|drf`vXpZHAbے`JbtlHfpvrXQJ`tAJltbdQZfH~XQr˂JtArdf~HZp˂QZ|dpfHf`vXpZHAb|ZdQ`f~Zp˂rXQJ`nXv`p˂rtAJl璐f`vے`JXbtlHfpvrXQJ`ےbHAtbdQZfH~XQr˂JtArd|ZdQ`f~Zp˂|drf`vXnvpp`JXQdtl~HfrXQJ`tAJlnvpے`JXQr˂JtArdnXvےbHAtbdQZ|dtAf`vXpZHAb|ZdQfpvrXQJ`rtAJlf`vXnvpے`JbtlHfpvrXQJ`ےbHAےJlf~HXQJ`ےtbdQZXnvQr˂pJtArdnXvےbHAZp˂|drf`vXpZHAb|ZdQbtlHfpvrXQJ`tAJlnvpfے`JrbtJfpvpvnےbHAtbdQZfH~XQr˂pZHA|ZdQ`f~Zp˂|drJltnvpے`JbtlnXv`ےbHAtbdnvpfH~XQr˂JtArdnXvےbHAZp˂tbdQZfpvbHAZ|drp`vXZHAb|ZdQ`f~Zp˂rXQJ`tAJlnvpے`JbtlJfpvnXvےbHAtbdQZfH~XQHAbl|ZdQnvfXv`fZp˂|drf`vXpZHAbے`JXQbtlHfpvrXQJ`tAJlbnvfH~XQr˂JtArdpvnXQJ`ےQZ|rfH~f`vXpZHAb|ZdQ`f~Zp˂rXQJ`|drtAJltbdQZfH~XQr˂JtArdnXv`fHZp˂rtAJlvXnJXQr|ZdQ`f~Zp˂rXQJ`tAJlnvpے`JbtlJtArdnXvےbHAtbdQZfH~f`vX˂p`ZpfH~rQtJltbdQZ|dtAf`vXpZHAb|ZdQ`f~fpvrXQJ`tdrvp`vpZHAbtlHfpvrXQJ`ےbHAtbdQZfH~XQr˂JtArd|ZdQ`f~Zp˂|drf`vXnvpQXb㉀ۅf۝`vtbAd|drJltnvpے`JbtlHfpvnrXQJےbHAtAJlXnvbے`JtArdnXvےbHAZp˂|drf`vXpZHAb|ZdQbtlHfpvrXQJ`tAJlnvpfZHAbpJAHrXnvZ|dtAJlbnvfH~XQr˂JtArdnXv`ےHAZp˂tbdQZpfH~JXQrZ|ZdQ`f~Zp˂rXQJ`tAJlnvpے`JbtlJfpvnXvےbHAtbdQZfH~ے`Jˁ`ZpfH~rQtJltbdQZpfHf`vXpZHAb|ZdQ`f~Zp˂rXQJ`|drf`vHAbےbtlHfpvrXQJ`ےJltbdQZfH~XQr˂JtArdnXv`f~Zp˂|drf`vXXQr˂QXb㉀ۅf۝`vtbAd|drf`vXnvpے`JbtlHfpvrXQJ`ےbHAtAJlXnv`JXQrJtArdnXvےbHAtbdQZ|drf`vXpZHAb|ZdQ`f~HfpvrXQJ`tAJlnvppZHAbpJAHrXnvZ|dtAJlnvpfH~XQr˂JtArdnXvےbHAZp˂tbdQZpfH~˂pZ|ZdQ`f~Zp˂|drtAJlnvpے`JbtlHfpvnXvےbHAtbdQZfH~ے`JۑppfH~rQtJltbdQZfH~f`vXpZHAb|ZdQ`f~Zp˂rXQJ`|ltvpHAbےbtlHfpvrXQJ`tAJltbdQZfH~XQr˂JtArdnXv`fHZp˂|drf`vXXQr˂JAHr󙐅f۝`vtbAd|drf`vXnvpے`JbtlHfpvrXQJ`ےJlbnvfے`J`JXQrJtArdnXvےbHAtbdQZ|dtAf`vXpZHAb|ZdQ`f~fpvrXQJ`tAJlnvpp`JXQˁ`ZQXXnvZ|dtAJlnvpfے`JXQr˂JtArdnXvےbHAtdrtAp`vXXQrZH˂pZA|ZdQ`f~Zp˂|drJltnvpے`JbtlHfpvnrXQJےbHAtbdQZfH~r˂pb㉀ۑppfH~rQtJltbdQZfH~XQr˂pZHAb|ZdQ`f~Zp˂JltnvpAbے``JXQbtlHfpvrXQJ`tAJlbnvfH~XQr˂JtArdnXv`ےHAZp˂|drf`vXZHAbJAHr󙐅f۝`vtbAd|drf`vXpZHAbے`JbtlHfpvrXQJ`bdQZ|fH~JXQrrbtJtArdnXvےbHAtbdQZpfHf`vXpZHAb|ZdQ`f~Zp˂rXQJ`tAJlnvpے`JXQˁ`ZQXXnvZ|dtAJlnvpے`JXQr˂JtArdnXvےbHAdrtAf`vX˂pZHlJtAd|ZdQ`f~Zp˂|drf`vXnvpے`JbtlHfpvrXQJ`ےbHAtbdQZfH~r˂pAHr󙐂ˍpfH~rQtJltbdQZfH~XQr˂pZHA|ZdQ`f~Zp˂JltnvpAbے`|ZdQbtlHfpvrXQJ`tAJlnvpfH~XQr˂JtArdnXvےbHAZp˂|drf`vXZHAb`ZQXbㅐf۝`vtbAd|drf`vXpZHAbے`JXQbtlHfpvrXQJ`bdQZ|fH~JXQrbtlJtArdnXvےbHAtbdQZfH~f`vXpZHAb|ZdQ`f~Zp˂rXQJ`tAJlnvp˂pZۑpJXnvZ|dtAJlnvpے`JrbtJtArdnXvےbHAltbvpf˂pZAbJtArd|ZdQ`f~Zp˂|drf`vXnvpے`JbtlHfpvrXQJ`ےJltbdQZfH~HAbےAHr󙐂ˍpfH~rQtJltbdQZfH~XQr˂lJtAd|ZdQ`f~Zp˂dQZ|H~f`JXQ|ZdQbtlHfpvrXQJ`tAJlnvpfے`JXQr˂JtArdnXvےbHAtbdQZ|drf`vX`JXQr`ZQXbㅐf۝`vtbAd|drf`vXpZHAb|ZdQbtlHfpvrXQJ`drtAJ`vXnr˂pbtlJfpvnXvےbHAtbdQZfH~XQr˂pZHAb|ZdQ`f~Zp˂|drtAJlnvp˂pZۑp`XnvZ|dtAJlnvpے`JbtlJtArdnXvےbHAltbvpfZHAbJtArdnXv`f~Zp˂|drf`vXpZHAbے`JbtlHfpvrXQJ`tAJltbdQZfH~HAbےZQXb㉀pfH~rQtJltbdQZfH~XQr˂JtArd|ZdQ`f~Zp˂dQZ|H~fے`JXQ|ZdQ`f~HfpvrXQJ`tAJlnvpے`JXQr˂JtArdnXvےbHAtbdQZ|dtAf`vX`JXQHAۑpJAHf۝`vtbAd|drf`vXpZHAb|ZdQbtlHfpvrXQJ`drtAdQ`vXHr˂pbtlHfpvnXvےbHAtbdQZfH~XQr˂pZHA|ZdQ`f~Zp˂|drJltnvpbے`r󙐂ˁ`XnvZ|dtAJlnvpے`JbtlJfpvnXvےbHAZ|d~f`ZHAbJtArdnXv`fHZp˂|drf`vXpZHAbے`JXQbtlHfpvrXQJ`tAJlbnvfH~JXQrZQXb㉀pfH~rQtJltbdQZfH~XQr˂JtArdnXv`f~Zp˂rtAJlvXnJQr|ZdQ`f~fpvrXQJ`tAJlnvpے`JrbtJtArdnXvےbHAtbdQZpfHf`vX˂pZHAۑpJAHf۝`vtbAd|drf`vXpZHAb|ZdQ`f~HfpvrXQJ`tbdQvpfHpZHAbtlHfpvnrXQJےbHAtbdQZfH~XQr˂lJtAd|ZdQ`f~Zp˂|drf`vXnvpbے`f۝`vXnvZ|dtAJlnvpے`JbtlHfpvnXvےbHAZ|d~f`bے`JtArdnXv`ےHAZp˂|drf`vXpZHAb|ZdQbtlHfpvrXQJ`tAJlnvpfH~JXQrXnvˍp|drQtJltuvwxyz{||{zyxwvIIIIIIIIIIIIIIIIIIIIIIJJJ \ No newline at end of file diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv27_1.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv27_1.dat deleted file mode 100644 index 7dd3081924..0000000000 --- a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv27_1.dat +++ /dev/null @@ -1,249 +0,0 @@ -|{|{|{|{|{|{|{|{|{|{|{|{zyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvuststststssstststtstststsrqrqrqrqrqrqrqrqpopopopopopopopopopopoponmnmnmnmnmnmnmnmlklklklklklklklklklklklkjijijijijijijijihghghghghghghghghghghghgfefefefefefefefefefefefedcdcdcdcdcdcdcdcbabababababababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYWXWXWXWXWXWXWXWXVUVUVUVUVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMLKLKLKLKLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABABABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=;<;<;<;<;<;<;<;<:9:9:9:9:9:9:9:9:9:9:9:9878787878787878787656565656565656565656543434343434343434343434321212121212121210/0/0/0/0/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!      |{|{|{|{|{|{|{|{|{|{|{|{zyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvuststststststststqqqqqqrqrqrqrqrqrqrqrqrqpopopopopopopopopopopoponmnmnmnmnmnmnmnmlklklklklklklklklklklklkjijijijijijijijihghghghghghghghghghghghgfefefefefefefefefedcdcdcdcdcdcdcdcdcdcdcbabababababababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYWXWXWXWXWXWXWXWXVUVUVUVUVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMLKLKLKLKLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABABABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=;<;<;;;;;<;<;<;<:9:9:9:9:9:9:9:9:9:9:9:9878787878787878765656565656565656565656543434343434343434343434321212121212121210/0/0/0/0/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)*)('('('('('('('('('('('&%&%&%&%&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!    |{|{|{|{|{|{|{|{|{|{|{|{zyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvuststststststststrqrqrqrqrqrqrqrqrqrqrqrqpopopopopopopopoponmnmnmnmnmnmnmnmnmnmnmlklklklklklklklklklklklkjijijijijijijijihghghghghghghghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcdcdcdcdcbabababababababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYWXWXWWWWWXWXWXWXVUVUVUVUVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMLKLKLKLKLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCDCDCDCBABABABABABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=;;<;<;<;;<;;;;;;:9:9:9:9:9:9:9:9:9:9:9:9878787878787878765656565656565656565656543434343434343434321212121212121212121210/0/0/0/0/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('('('('('&%&%&%&%&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!        |{|{|{|{|{|{|{|{|{|{|{|{zyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvuststststststststrqrqrqrqrqrqrqrqrqrqrqrqpopopopopopopoponmnmnmnmnmnmnmnmnmnmnmnmlklklklklklklklklklklklkjijijijijijijijihghghghghghghghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcdcdcdcdcbababababababababa`_`_`_`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYWWXWXWXWWXWWWWWWVUVUVUVUVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMNMNMNMLKLKLKLKLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCDCDCDCDCBABABABABABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:9:9:9:9:9878787878787878765656565656565656565656543434343434343432121212121212121212121210/0/0/0/0/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('('('('('&%&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!        |{|{|{|{|{|{|{|{|{|{|{|{zyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvuststststststststrqrqrqrqrqrqrqrqrqrqrqrqpopopopopopopoponmnmnmnmnmnmnmnmnmnmnmnmlklklklklklklklklkjijijijijijijijijijijihghghghghghghghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMNMNMNMNMLKLKLKLKLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCDCDCDCDCBABABABABABABABABA@?@?@?@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:9:9:9:9:9878787878787878765656565656565656565656543434343434343432121212121212121212121210/0/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!"!"!"!        |{|{|{|{|{|{|{|{zyzyzyzyzyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvustssssssststststrqrqrqrqrqrqrqrqrqrqrqrqpopopopopopopoponmnmnmnmnmnmnmnmnmnmnmnmlklklklklklklklkjijijijijijijijijijijijihghghghghghghghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMNMNMNMNMLKLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:9:9878787878787878787878765656565656565656565656543434343434343432121212121212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!"!           |{|{|{|{|{|{|{|{zyzyzyzyzyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvutstststssssssstsrqrqrqrqrqrqrqrqrqrqrqrqpopopopopopopoponmnmnmnmnmnmnmnmnmnmnmnmlklklklklklklklkjijijijijijijijijijijijihghghghghghghghghgfefefefefefefefefefefedcdcdcdcdcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMNMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:987878787878787878787878765656565656565656565656543434343434343432121212121212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)*)*)*)('('('('('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!         |{|{|{|{|{|{|{|{zyzyzyzyzyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvutstststststststsrqrqrqrqrqrqrqrqrqpopopopopopopopopopoponmnmnmnmnmnmnmnmnmnmnmnmlklklklklklklklkjijijijijijijijijijijijihghghghghghghghgfefefefefefefefefefefefedcdcdcdcdcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMNMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=<;;;;;;<<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:987878787878787878787878765656565656565656543434343434343434343432121212121212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)*)*)*)*)('('('('('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!        |{|{|{|{|{|{|{|{zyzyzyzyzyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvutstststststststsrqrqrqrqrqrqrqrqpopopopopopopopopopopoponmnmnmnmnmnmnmnmnmnmnmnmlklklklklklklklkjijijijijijijijijijijijihghghghghghghghgfefefefefefefefefefefefedcdcdcdcdcdcdcdcdcbababababababababababa`_`_`_`_`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWWWWWWXXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMNMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=;<;<;<;<;;;;;<;<<;<;<;;;:9:9:9:9:9:9:9:987878787878787878787878765656565656565654343434343434343434343432121212121212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)*)*)*)*)('('('('('('('('('&%&%&%&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!           |{|{|{|{|{|{|{|{zyzyzyzyzyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvutstststststststsrqrqrqrqrqrqrqrqpopopopopopopopopopopoponmnmnmnmnmnmnmnmnmlklklklklklklklklklklkjijijijijijijijijijijijihghghghghghghghgfefefefefefefefefefefefedcdcdcdcdcdcdcdcbabababababababababababa`_`_`_`_`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYWXWXWXWXWWWWWXWXXWXWXWWWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMNMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCDCBABABABABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=;<;<;<;<;<;<;<;<;;<;<;<;:9:9:9:9:9:9:9:987878787878787878787878765656565656565654343434343434343434343432121212121212121210/0/0/0/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!        |{|{|{|{|{|{|{|{zyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvutstststststststststststsrqrqrqrqrqrqrqrqpopopopopopopopopopopoponmnmnmnmnmnmnmnmlklklklklklklklklklklklkjijijijijijijijijijijijihghghghghghghghgfefefefefefefefefefefefedcdcdcdcdcdcdcdcbabababababababababababa`_`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYWXWXWXWXWXWXWXWXWWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMNMLKLKLKLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABABABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=;<;<;<;<;<;<;<;<<;:9:9:9:9:9:9:9:9:9:9:9878787878787878787878787656565656565656543434343434343434343434321212121212121210/0/0/0/0/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!        |{|{|{|{|{|{|{|{zyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvussssststtststssststststsrqrqrqrqrqrqrqrqpopopopopopopopopopopoponmnmnmnmnmnmnmnmlklklklklklklklklklklklkjijijijijijijijijihghghghghghghghghghghgfefefefefefefefefefefefedcdcdcdcdcdcdcdcbabababababababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYWXWXWXWXWXWXWXWXXWVUVUVUVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMLKLKLKLKLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABABABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=;<;<;<;<;<;<;<;<:9:9:9:9:9:9:9:9:9:9:9:9878787878787878787878787656565656565656543434343434343434343434321212121212121210/0/0/0/0/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!                - - - - - - - -            - - - - - - - -             - - - - - - - -             - - - - - - - - - - -             - - - - - - - - - - - -             - - - - - - - - - - - -             - - - - - - - - - - - -             - - - - - - - - - - - -          - - - - - - - - - - - -         - - - - - - - - - - - -         - - - - - - - - -         - - - - - - - - ||{{zzyyLLKKJJII%%&&''((UUVVWWXXoonnmmll55443322KKLLMMNNrqqppoon>=<;;::9 - - 00112233``aabbcciihhggff99887766 (())**++XXYYZZ[[qqppoonnAA@@??>> !!""##PPQQRRSSyyxxwwvvIIHHGGFFHHIIJJKKxxyyzz{{QQPPOONN!! @@AABBCCppqqrrssYYXXWWVV))((''&& - - 8899::;;hhiijjkkWWVVUUTTVVWW]]^^gffeeddc21100//.44556677ddeeffggeeddccbb55443322,,--..//\\]]^^__mmllkkjj==<<;;:: - -$$%%&&''TTUUVVWWuuttssrrEEDDCCBBLLMMNNOO||||{{zzMMLLKKJJDDEEFFGGttuuvvwwUUTTSSRR%%$$##"" <<==>>??llmmnnooSSRRQQPP%%&&''((__``aabbcbbaa``_.--,,++* - - 8899::;;hhiijjkkaa``__^^1100//..00112233``aabbcciihhggff99887766 (())**++XXYYZZ[[qqppoonnAA@@??>> !!""##PPQQRRSSyyxxwwvvIIHHGGFFHHIIJJKKxxyyzz{{QQPPOONN!! @@AABBCCppqqrrssOONNMMLL))**++,,ccddeeff_^^]]\[Z*))((''& <<==>>??llmmnnoo]]\\[[ZZ--,,++**xxwwvvuuHHGGFFEE))**++,,YYZZ[[\\kkjjiihh1100//..OOPPQQRRnmmllkkj9887766544556677ddeeffggeeddccbb55443322,,--..//\\]]^^__mmllkkjj==<<;;:: - -$$%%&&''TTUUVVWWuuttssrrEEDDCCBBLLMMNNOO||||{{zzMMLLKKJJDDEEFFGGttuuvvwwUUTTSSRR%%$$##"" <<==>>??llmmnnooSSRRQQPP%%&&''((__``aabbcbbaa``_.--,,++* - - 8899::;;hhiijjkkaa``__^^1100//..00112233``aabbcciihhggff99887766 (())**++XXYYZZ[[qqppoonnAA@@??>> !!""##PPQQRRSSyyxxwwvvIIHHGGFFHHIIJJKKxxyyzz{{QQPPOONN!! @@AABBCCppqqrrssOONNMMLL))**++,,ccddeeff_^^]]\[Z*))((''& <<==>>??llmmnnoo]]\\[[ZZ--,,++**44556677ddeeffggeeddccbb55443322,,--..//\\]]^^__mmllkkjj==<<;;:: - -$$%%&&''TTUUVVWWuuttssrrEEDDCCBBLLMMNNOO||||{{zzMMLLKKJJDDEEFFGGttuuvvwwKKJJIIHH--..//00gghhiijjYXWWVVUU&%%$#"! @@AABBCCppqqrrssYYXXWWVV))((''&& - - ttssrrqqDDCCBBAA--..//00]]^^__``ggffeedd--,,++**SSTTUUVVjiihhggf54433221 - - 8899::;;hhiijjkkaa``__^^1100//..00112233``aabbcciihhggff99887766 (())**++XXYYZZ[[qqppoonnAA@@??>> !!""##PPQQRRSSyyxxwwvvIIHHGGFFHHIIJJKKxxyyzz{{QQPPOONN!! @@AABBCCppqqrrssOONNMMLL))**++,,ccddeeff_^^]]\[Z*))((''& <<==>>??llmmnnoo]]\\[[ZZ--,,++**44556677ddeeffggeeddccbb55443322,,--..//\\]]^^__mmllkkjj==<<;;:: - -$$%%&&''TTUUVVWWuuttssrrEEDDCCBBLLMMNNOO||||{{zzMMLLKKJJDDEEFFGGttuuvvwwKKJJIIHH--..//00gghhiijjYXWWVVUU&%%$#"! @@AABBCCppqqrrssYYXXWWVV))((''&& - - 8899::;;hhiijjkkaa``__^^1100//..00112233``aabbcciihhggff99887766 (())**++XXYYZZ[[qqppoonnAA@@??>> !!""##PPQQRRSSyyxxwwvvIIHHGGFFHHIIJJKKxxyyzz{{GGFFEEDD - -11223344kkllmmnnTTSSRRQQDDEEFFGGttuuvvwwUUTTSSRR%%$$##"" ppoonnmm@@??>>== 11223344aabbccddccbbaa``))((''&&%%WW]]^^__feeddccb100//..- <<==>>??llmmnnoo]]\\[[ZZ--,,++**44556677ddeeffggeeddccbb55443322,,--..//\\]]^^__mmllkkjj==<<;;:: - -$$%%&&''TTUUVVWWuuttssrrEEDDCCBBLLMMNNOO||||{{zzMMLLKKJJDDEEFFGGttuuvvwwKKJJIIHH--..//00gghhiijjYXWWVVUU&%%$#"! @@AABBCCppqqrrssYYXXWWVV))((''&& - - 8899::;;hhiijjkkaa``__^^1100//..00112233``aabbcciihhggff99887766 (())**++XXYYZZ[[qqppoonnAA@@??>> !!""##PPQQRRSSyyxxwwvvIIHHGGFFHHIIJJKKxxyyzz{{GGFFEEDD - -11223344kkllmmnnTTSSRRQQDDEEFFGGttuuvvwwUUTTSSRR%%$$##"" <<==>>??llmmnnoo]]\\[[ZZ--,,++**44556677ddeeffggeeddccbb55443322,,--..//\\]]^^__mmllkkjj==<<;;:: - -$$%%&&''TTUUVVWWuuttssrrEEDDCCBBLLMMNNOO||||{{zzCCBBAA;; 55667788ooppqqrrPPOONNMMHHIIJJKKxxyyzz{{QQPPOONN!! llkkjjii<<;;::99 - - 55667788eeffgghh__^^]]WW%%&&''(())``aabbccbaa``__^-,,++**)@@AABBCCppqqrrssYYXXWWVV))((''&& - - 8899::;;hhiijjkkaa``__^^1100//..00112233``aabbcciihhggff99887766 (())**++XXYYZZ[[qqppoonnAA@@??>> !!""##PPQQRRSSyyxxwwvvIIHHGGFFHHIIJJKKxxyyzz{{GGFFEEDD - -11223344kkllmmnnTTSSRRQQDDEEFFGGttuuvvwwUUTTSSRR%%$$##"" <<==>>??llmmnnoo]]\\[[ZZ--,,++**44556677ddeeffggeeddccbb55443322,,--..//\\]]^^__mmllkkjj==<<;;:: - -$$%%&&''TTUUVVWWuuttssrrEEDDCCBBLLMMNNOO||||{{zzCCBBAA;; 55667788ooppqqrrPPOONNMMHHIIJJKKxxyyzz{{QQPPOONN!! @@AABBCCppqqrrssYYXXWWVV))((''&& - - 8899::;;hhiijjkkaa``__^^1100//..00112233``aabbcciihhggff99887766 (())**++XXYYZZ[[qqppoonnAA@@??>> !!""##PPQQRRSSyyssrrqq::99887799::;;AAssyyzz{{LLKKJJIILLMMNNOO||||{{zzMMLLKKJJhhggffee88776655 - - 99::;;<>??llmmnnoo]]\\[[ZZ--,,++**44556677ddeeffggeeddccbb55443322,,--..//\\]]^^__mmllkkjj==<<;;:: - -$$%%&&''TTUUVVWWuuttssrrEEDDCCBBLLMMNNOO||||{{zzCCBBAA;; 55667788ooppqqrrPPOONNMMHHIIJJKKxxyyzz{{QQPPOONN!! @@AABBCCppqqrrssYYXXWWVV))((''&& - - 8899::;;hhiijjkkaa``__^^1100//..00112233``aabbcciihhggff99887766 (())**++XXYYZZ[[qqppoonnAA@@??>> !!""##PPQQRRSSyyssrrqq::99887799::;;AAssyyzz{{LLKKJJIILLMMNNOO||||{{zzMMLLKKJJDDEEFFGGttuuvvwwUUTTSSRR%%$$##"" <<==>>??llmmnnoo]]\\[[ZZ--,,++**44556677ddeeffggeeddccbb55443322,,--..//\\]]^^__mmllkkjj==<<;;:: - -$$%%&&''TTUUVVWWppoonnmm66554433 - - BBCCDDEE||||{{zzHHGGFFEE !!""##PPQQRRSSyyxxwwvvIIHHGGFFddccbbaa44332211 ==>>??@@mmnnooppRRQQPPOO..//0011hhiijjkkWWVVUUTT%$#"! HHIIJJKKxxyyzz{{QQPPOONN!! @@AABBCCppqqrrssYYXXWWVV))((''&& - - 8899::;;hhiijjkkaa``__^^1100//..00112233``aabbcciihhggff99887766 (())**++XXYYZZ[[qqppoonnAA@@??>> !!""##PPQQRRSSyyssrrqq::99887799::;;AAssyyzz{{LLKKJJIILLMMNNOO||||{{zzMMLLKKJJDDEEFFGGttuuvvwwUUTTSSRR%%$$##"" <<==>>??llmmnnoo]]\\[[ZZ--,,++**44556677ddeeffggeeddccbb55443322,,--..//\\]]^^__mmllkkjj==<<;;:: - -$$%%&&''TTUUVVWWppoonnmm66554433 - - BBCCDDEE||||{{zzHHGGFFEE !!""##PPQQRRSSyyxxwwvvIIHHGGFFHHIIJJKKxxyyzz{{QQPPOONN!! @@AABBCCppqqrrssYYXXWWVV))((''&& - - 8899::;;hhiijjkkaa``__^^1100//..00112233``aabbcciihhggff99887766 (())**++XXYYZZ[[llkkjjii221100// FFGGHHIIyyxwvutsDDCCBBAA $$%%&&''TTUUVVWWuuttssrrEEDDCCBB``__^^]]00//..--AABBCCDDqqrrssttNNMMLLKK22334455llmmnnooSSRRQQPPLLMMNNOO||||{{zzMMLLKKJJDDEEFFGGttuuvvwwUUTTSSRR%%$$##"" <<==>>??llmmnnoo]]\\[[ZZ--,,++**44556677ddeeffggeeddccbb55443322,,--..//\\]]^^__mmllkkjj==<<;;:: - -$$%%&&''TTUUVVWWppoonnmm66554433 - - BBCCDDEE||||{{zzHHGGFFEE !!""##PPQQRRSSyyxxwwvvIIHHGGFFHHIIJJKKxxyyzz{{QQPPOONN!! @@AABBCCppqqrrssYYXXWWVV))((''&& - - 8899::;;hhiijjkkaa``__^^1100//..00112233``aabbcciihhggff99887766 (())**++XXYYZZ[[llkkjjii221100// FFGGHHIIyyxwvutsDDCCBBAA $$%%&&''TTUUVVWWuuttssrrEEDDCCBBLLMMNNOO||||{{zzMMLLKKJJDDEEFFGGttuuvvwwUUTTSSRR%%$$##"" <<==>>??llmmnnoo]]\\[[ZZ--,,++**44556677ddeeffggeeddccbb55443322,,--..//\\]]^^__hhggffee..--,,++JJKKLLMMsrrqqppo@?>=<;;: - - (())**++XXYYZZ[[qqppoonnAA@@??>> !!""##\\[[ZZYY,,++**))EEFFGGHHuuvvwwxxJJIIHHGG 66778899ppqqrrssOONNMMLL !!""##PPQQRRSSyyxxwwvvIIHHGGFFHHIIJJKKxxyyzz{{QQPPOONN!! @@AABBCCppqqrrssYYXXWWVV))((''&& - - 8899::;;hhiijjkkaa``__^^1100//..00112233``aabbcciihhggff99887766 (())**++XXYYZZ[[llkkjjii221100// FFGGHHIIyyxwvutsDDCCBBAA $$%%&&''TTUUVVWWuuttssrrEEDDCCBBLLMMNNOO||||{{zzMMLLKKJJDDEEFFGGttuuvvwwUUTTSSRR%%$$##"" <<==>>??llmmnnoo]]\\[[ZZ--,,++**44556677ddeeffggeeddccbb55443322,,--..//\\]]^^__hhggffee..--,,++JJKKLLMMsrrqqppo@?>=<;;: - - (())**++XXYYZZ[[qqppoonnAA@@??>> !!""##PPQQRRSSyyxxwwvvIIHHGGFFHHIIJJKKxxyyzz{{QQPPOONN!! @@AABBCCppqqrrssYYXXWWVV))((''&& - - 8899::;;hhiijjkkaa``__^^1100//..00112233``aabbccddccbbaa**))((''NNOOPPQQonnmmllk:9988776,,--..//\\]]^^__mmllkkjj==<<;;:: - -$$%%&&''44556677XXWWVVUU((''&&%%IIJJKKLLyyzz{{||FFEEDDCC - - ::;;AABByyzz{{||KKJJIIHH$$%%&&''TTUUVVWWuuttssrrEEDDCCBBLLMMNNOO||||{{zzMMLLKKJJDDEEFFGGttuuvvwwUUTTSSRR%%$$##"" <<==>>??llmmnnoo]]\\[[ZZ--,,++**44556677ddeeffggeeddccbb55443322,,--..//\\]]^^__hhggffee..--,,++JJKKLLMMsrrqqppo@?>=<;;: - - (())**++XXYYZZ[[qqppoonnAA@@??>> !!""##PPQQRRSSyyxxwwvvIIHHGGFFHHIIJJKKxxyyzz{{QQPPOONN!! @@AABBCCppqqrrssYYXXWWVV))((''&& - - 8899::;;hhiijjkkaa``__^^1100//..00112233``aabbccddccbbaa**))((''NNOOPPQQonnmmllk:9988776,,--..//\\]]^^__mmllkkjj==<<;;:: - -$$%%&&''TTUUVVWWuuttssrrEEDDCCBBLLMMNNOO||||{{zzMMLLKKJJDDEEFFGGttuuvvwwUUTTSSRR%%$$##"" <<==>>??llmmnnoo]]\\[[ZZ--,,++**44556677ddeeffgg``__^^]]&&%%RRSSTTUUkjjiihhg6554433200112233``aabbcciihhggff99887766 (())**++8899::;;TTSSRRQQ$$##""!! MMNNOOPP||{{zzyyBBAA;;:: - - CCDDEEFF||{{zzyyGGFFEEDD(())**++XXYYZZ[[qqppoonnAA@@??>> !!""##PPQQRRSSyyxxwwvvIIHHGGFFHHIIJJKKxxyyzz{{QQPPOONN!! @@AABBCCppqqrrssYYXXWWVV))((''&& - - 8899::;;hhiijjkkaa``__^^1100//..00112233``aabbccddccbbaa**))((''NNOOPPQQonnmmllk:9988776,,--..//\\]]^^__mmllkkjj==<<;;:: - -$$%%&&''TTUUVVWWuuttssrrEEDDCCBBLLMMNNOO||||{{zzMMLLKKJJDDEEFFGGttuuvvwwUUTTSSRR%%$$##"" <<==>>??llmmnnoo]]\\[[ZZ--,,++**44556677ddeeffgg``__^^]]&&%%RRSSTTUUkjjiihhg6554433200112233``aabbcciihhggff99887766 (())**++XXYYZZ[[qqppoonnAA@@??>> !!""##PPQQRRSSyyxxwwvvIIHHGGFFHHIIJJKKxxyyzz{{QQPPOONN!! @@AABBCCppqqrrssYYXXWWVV))((''&& - - 8899::;;hhiijjkkWWVVUUTTVVWW]]^^gffeeddc21100//.44556677ddeeffggeeddccbb55443322,,--..//<<==>>??PPOONNMM !!""##$$QQRRSSTTssrrqqpp99887766 GGHHIIJJxwvutssrCCBBAA@? ,,--..//\\]]^^__mmllkkjj==<<;;:: - -$$%%&&''TTUUVVWWuuttssrrEEDDCCBBLLMMNNOO||||{{zzMMLLKKJJDDEEFFGGttuuvvwwUUTTSSRR%%$$##"" <<==>>??llmmnnoo]]\\[[ZZ--,,++**44556677ddeeffgg``__^^]]&&%%RRSSTTUUkjjiihhg6554433200112233``aabbcciihhggff99887766 (())**++XXYYZZ[[qqppoonnAA@@??>> !!""##PPQQRRSSyyxxwwvvIIHHGGFFHHIIJJKKxxyyzz{{QQPPOONN!! @@AABBCCppqqrrssYYXXWWVV))((''&& - - 8899::;;hhiijjkkWWVVUUTTVVWW]]^^gffeeddc21100//.44556677ddeeffggeeddccbb55443322,,--..//\\]]^^__mmllkkjj==<<;;:: - -$$%%&&''TTUUVVWWuuttssrrEEDDCCBBLLMMNNOO||||{{zzMMLLKKJJDDEEFFGGttuuvvwwUUTTSSRR%%$$##"" <<==>>??llmmnnooSSRRQQPP%%&&''((__``aabbcbbaa``_.--,,++* - - 8899::;;hhiijjkkaa``__^^1100//..00112233@@AABBCCDDEEFFGGttuuvvwwUUTTSSRR%%$$##"" <<==>>??llmmnnoo]]\\[[ZZ--,,++**44556677ddeeffggeeddccbb55443322,,--..//\\]]^^__mmllkkjj==<<;;:: - -$$%%&&''TTUUVVWWmmllkkjj33221100MMNNOOPPaa``__^^1100//..@@AABBCCHHIIJJKKxxyyzz{{QQPPOONN!! @@AABBCCppqqrrssYYXXWWVV))((''&& - - 8899::;;hhiijjkkaa``__^^1100//..00112233``aabbcciihhggff99887766 (())**++XXYYZZ[[iihhggff//..--,,QQRRSSTT]]\\[[ZZ--,,++**DDEEFFGGLLMMNNOO||||{{zzMMLLKKJJDDEEFFGGttuuvvwwUUTTSSRR%%$$##"" <<==>>??llmmnnoo]]\\[[ZZ--,,++**44556677ddeeffggeeddccbb55443322,,--..//\\]]^^__eeddccbb++**))((UUVVWW]]YYXXWWVV))((''&&HHIIJJKKPPQQRRSSyyxxwwvvIIHHGGFFHHIIJJKKxxyyzz{{QQPPOONN!! @@AABBCCppqqrrssYYXXWWVV))((''&& - - 8899::;;hhiijjkkaa``__^^1100//..00112233``aabbccaa``__^^''&&%%%%&&''^^__``aaUUTTSSRR%%$$##""LLMMNNOOTTUUVVWWuuttssrrEEDDCCBBLLMMNNOO||||{{zzMMLLKKJJDDEEFFGGttuuvvwwUUTTSSRR%%$$##"" <<==>>??llmmnnoo]]\\[[ZZ--,,++**44556677ddeeffgg]]WWVVUU(())**++bbccddeeQQPPOONN!!  !!""##PPQQRRSSXXYYZZ[[qqppoonnAA@@??>> !!""##PPQQRRSSyyxxwwvvIIHHGGFFHHIIJJKKxxyyzz{{QQPPOONN!! @@AABBCCppqqrrssYYXXWWVV))((''&& - - 8899::;;hhiijjkkTTSSRRQQ,,--..//ffgghhiiMMLLKKJJ$$%%&&''TTUUVVWW\\]]^^__mmllkkjj==<<;;:: - -$$%%&&''TTUUVVWWuuttssrrEEDDCCBBLLMMNNOO||||{{zzMMLLKKJJDDEEFFGGttuuvvwwUUTTSSRR%%$$##"" <<==>>??llmmnnooPPOONNMM00112233jjkkllmmIIHHGGFF(())**++XXYYZZ[[``aabbcciihhggff99887766 (())**++XXYYZZ[[qqppoonnAA@@??>> !!""##PPQQRRSSyyxxwwvvIIHHGGFFHHIIJJKKxxyyzz{{QQPPOONN!! @@AABBCCppqqrrssLLKKJJII44556677nnooppqqEEDDCCBB,,--..//\\]]^^__ddeeffggeeddccbb55443322,,--..//\\]]^^__mmllkkjj==<<;;:: - -$$%%&&''TTUUVVWWuuttssrrEEDDCCBBLLMMNNOO||||{{zzMMLLKKJJDDEEFFGGttuuvvwwHHGGFFEE 8899::;;qqppoonnAA@@??>>00112233``aabbcchhiijjkkaa``__^^1100//..00112233``aabbcciihhggff99887766 (())**++XXYYZZ[[qqppoonnAA@@??>> !!""##PPQQRRSSyyxxwwvvIIHHGGFFHHIIJJKKxxyyzz{{DDCCBBAA - - - -AABBCCDDmmllkkjj==<<;;:: - -44556677ddeeffggllmmnnoo]]\\[[ZZ--,,++**44556677ddeeffggeeddccbb55443322,,--..//\\]]^^__mmllkkjj==<<;;:: - -$$%%&&''TTUUVVWWuuttssrrEEDDCCBBLLMMNNOO||ttssrr;;::9988 EEFFGGHHiihhggff99887766 - - 8899::;;hhiijjkkppqqrrssYYXXWWVV))((''&& - - 8899::;;hhiijjkkaa``__^^1100//..00112233``aabbcciihhggff99887766 (())**++XXYYZZ[[qqppoonnAA@@??>> !!""##PPQQRRSSqqppoonn77665544IIJJKKLLeeddccbb55443322 <<==>>??llmmnnooppqqfpvfpvfpvXQJ`ےXQJ`ےltbtAJlH~fpfH~bے`JQr˂p˂pZHAbtlbtl`f~`f~`fHےbHAےbHAtAJltAJltAJlf`vXf`vXXQr˂XQr˂XQr˂btlbtlbtl`f~`f~ےbHAےbHAےbHAtAJltAJlf`vXf`vXf`vX`JXQrے`JJtArdl|Z~HfpvnX`ےHAےbHAےbHAtAJltAJlJltf`vXf`vXXQr˂XQr˂XQr˂btlbtl`f~`f~`f~ےbHAےbHAےJltAJltAJlf`vXf`vXf`vXXQr˂XQr˂btlbtlbtlXv`fnXvXQJ`ےrXQJtbdZ|df`vXf`vXf`vXXQr˂XQr˂rbtbtlbtl`f~`f~`fHےbHAےbHAtAJltAJltAJlf`vXf`vXXQr˂XQr˂XQr˂btlbtlbtl`f~`f~ےbHAےbHAےbHAdrtAJ|drH~fpfH~˂pZAbbے`btlbtlbtl`f~`f~`ےHAnXv`nXv`nXv`bHAZbHAZdQZ|tbdQZ`vXnf`vJXQrˑZHAbbJAdJtArdJtArdHfpvHfpvfpvZp˂Zp˂tbdQZtbdQZtbdQZnvpnvppZHAbpZHAbpZHAbJtArdJtArdJfpvHfpvHfpvZp˂Zp˂Zp˂tbdQZtbdQZnvpnvpnvp˂pZXQr˂tlJdQbt璝vnXv`fZp˂Zp˂Zp˂tbdQZtbdQZbnvnvpnvppZHAbpZHAbpZHAJtArdJtArdHfpvHfpvHfpvZp˂Zp˂tbdQZtbdQZtbdQZnvpnvpnvppZHAbpZHAbJtArdJtArdJtArd~Hf`f~bHAZ`ےbQZ|rrtAJlnvpnvpnvppZHAbpZHAblJtAdJtArdJtArdHfpvHfpvfpvZp˂Zp˂tbdQZtbdQZtbdQZnvpnvppZHAbpZHAbpZHAbJtArdJtArdJfpvHfpvHfpvZp˂Zp˂Zp˂ltbtAJl`vXnf`v`JXQJXQrZJtArdJtArdJtArdHfpvHfpvZp˂f~Hf~Hf~Hp˂rp˂rdrtAJ|drvpfXnvpZHAے`JX|ZdQ|ZdQ|ZdQnXvnXvnrXQJrXQJ`rXQJ`|dr|dr|dtAfH~fH~ے`Jے`Jے`J|ZdQ|ZdQnXvnXvnXvrXQJ`rXQJ`rXQJ`|dr|drfH~fH~fH~HAbےpZHAbtArdlJtArv`f~~HfprXQJ`rXQJ`rXQJ`|dr|drpfHfH~fH~ے`Jے`Jے`JXQ|ZdQ|ZdQnXvnXvnXvrXQJ`rXQJ`|dr|dr|drfH~fH~fے`Jے`Jے`J|ZdQ|ZdQ|ZdQpvnHfpvp˂rHAZp˂AJlttbQZfH~fH~fH~ے`Jے`J|ZdQ|ZdQ|ZdQnXvnXvnrXQJrXQJ`rXQJ`|dr|dr|dtAfH~fH~ے`Jے`Jے`J|ZdQ|ZdQnXvnXvnXvrXQJ`rXQJ`rXQJ`dQZ|tbdQZvpfXnvr˂pHAbے|ZdQ|ZdQ|ZdQnXvnXvrXQJ`fpvfpvfpvXQJ`ےXQJ`ےltbtAJlH~p`vXbے`Qr˂pbtlbtlbtl`f~`f~`ےHAےbHAےbHAtAJltAJlJltf`vXf`vXXQr˂XQr˂XQr˂btlbtl`f~`f~`f~ےbHAےbHAےJltAJltAJlf`vXf`vXf`vX`JXQrے`J|ZdQbd|ZfpvvnvfےbHAےbHAےbHAtAJltAJlf`vXf`vXf`vXXQr˂XQr˂rbtbtlbtl`f~`f~`fHےbHAےbHAtAJltAJltAJlf`vXf`vXXQr˂XQr˂XQr˂btlbtlbtlXv`fnXvXQJ`ےrXQJbdQZ|drtAJf`vXf`vXf`vXXQr˂XQr˂btlbtlbtl`f~`f~`ےHAےbHAےbHAtAJltAJlJltf`vXf`vXXQr˂XQr˂XQr˂btlbtl`f~`f~`f~ےbHAےbHAےJldrtAdQ|ltH~fpfH~ZHAb`JXQrbtlbtlbtl`f~`f~ےbHAnXv`nXv`nXv`bHAZbHAZdQZ|ltdrtAvpfHnvpJXQrˑZHAbJtArdJtArdJtArdHfpvHfpvZp˂Zp˂Zp˂tbdQZtbdQZbnvnvpnvppZHAbpZHAbpZHAJtArdJtArdHfpvHfpvHfpvZp˂Zp˂tbdQZtbdQZtbdQZnvpnvpnvp˂pZXQr˂tlJdQbtnXv`~HfZp˂Zp˂Zp˂tbdQZtbdQZnvpnvpnvppZHAbpZHAblJtAdJtArdJtArdHfpvHfpvfpvZp˂Zp˂tbdQZtbdQZtbdQZnvpnvppZHAbpZHAbpZHAbJtArdJtArdJfpv~HX`pvbHAZ`ےbdrtAltbnvpnvpnvppZHAbpZHAbJtArdJtArdJtArdHfpvHfpvZp˂Zp˂Zp˂tbdQZtbdQZbnvnvpnvppZHAbpZHAbpZHAJtArdJtArdHfpvHfpvHfpvZp˂Zp˂tdrtAZ|dbnv`vXHvpے`JXQ˂pZJtArdJtArdJfpvHfpvHfpvZp˂f~Hf~Hp˂rp˂rp˂rtbdQJlt~f`fH~pZAbے`JX|ZdQ|ZdQ|ZdQnXvnXvrXQJ`rXQJ`rXQJ`|dr|drpfHfH~fH~ے`Jے`Jے`JXQ|ZdQ|ZdQnXvnXvnXvrXQJ`rXQJ`|dr|dr|drfH~fH~fے`JHAbp`JXQtArdlJtArf~HpvnrXQJ`rXQJ`rXQJ`|dr|drfH~fH~fH~ے`Jے`J|ZdQ|ZdQ|ZdQnXvnXvnrXQJrXQJ`rXQJ`|dr|dr|dtAfH~fH~ے`Jے`Jے`J|ZdQ|ZdQ~Hv`fnrXQJp˂HAXQJ`JltdQZ|fH~fH~fے`Jے`Jے`J|ZdQ|ZdQ|ZdQnXvnXvrXQJ`rXQJ`rXQJ`|dr|drpfHfH~fH~ے`Jے`Jے`JXQ|ZdQ|ZdQnXvnXvnXvrXQJ`rXQJ`JltrtAJlp`vX~f`fے`Jr˂pHAbے|ZdQ|ZdQnXvnXvnXvrXQJ`fpvfpvXQJ`ےXQJ`ےXQJ`ےZ|dbdQZ|vXnf`vX`JXQrQrZHAbtlbtlbtl`f~`f~ےbHAےbHAےbHAtAJltAJlf`vXf`vXf`vXXQr˂XQr˂rbtbtlbtl`f~`f~`fHےbHAےbHAtAJltAJltAJlf`vXf`vXXQHAb˂pZHArbt|ZdQtAdtlfpvXv`fےbHAےbHAےJltAJltAJlf`vXf`vXf`vXXQr˂XQr˂btlbtlbtl`f~`f~`ےHAےbHAےbHAtAJltAJlJltf`vXf`vXXQr˂XQr˂XQr˂btlbtlfpv~Hfp`p˂bHAZpےJlbdQZ|drtAJf`vXf`vXXQr˂XQr˂XQr˂btlbtlbtl`f~`f~ےbHAےbHAےbHAtAJltAJlf`vXf`vXf`vXXQr˂XQr˂rbtbtlbtl`f~`f~`fHےbHAےbHAbdQZ|tbdQnvpvXnXQrZHZHAb`JXQrbtlbtl`f~`f~`f~ےbHAnXv`nXv`bHAZbHAZbHAZrtAJldrtAvpfHnvp˂pZbے`JtArdJtArdJfpvHfpvHfpvZp˂Zp˂Zp˂tbdQZtbdQZnvpnvpnvppZHAbpZHAblJtAdJtArdJtArdHfpvHfpvfpvZp˂Zp˂tbdQZtbdQZtbdQZnvpnvpے`JXQbے`l|ZdQrd|JfpvnXv`~HfZp˂Zp˂tbdQZtbdQZtbdQZnvpnvpnvppZHAbpZHAbJtArdJtArdJtArdHfpvHfpvZp˂Zp˂Zp˂tbdQZtbdQZbnvnvpnvppZHAbpZHAbpZHAJtArdJtArdnXv`vnXrXQJ`˂rXQtbQZddrtAltbnvpnvppZHAbpZHAbpZHAbJtArdJtArdJfpvHfpvHfpvZp˂Zp˂Zp˂tbdQZtbdQZnvpnvpnvppZHAbpZHAblJtAdJtArdJtArdHfpvHfpvfpvZp˂Zp˂drtAZ|dfH~vpfHAbے`JQrˀ˂pZAJtArdJtArdHfpvHfpvHfpvZp˂f~Hf~Hp˂rp˂rp˂rtbdQJlt~f`fH~HAbےJXQr|ZdQ|ZdQnXvnXvnXvrXQJ`rXQJ`rXQJ`|dr|drfH~fH~fH~ے`Jے`J|ZdQ|ZdQ|ZdQnXvnXvnrXQJrXQJ`rXQJ`|dr|dr|dtAfH~fH~r˂pJXQrbtlZdQbtnvff~HpvnrXQJ`rXQJ`|dr|dr|drfH~fH~fے`Jے`Jے`J|ZdQ|ZdQ|ZdQnXvnXvrXQJ`rXQJ`rXQJ`|dr|drpfHfH~fH~ے`Jے`Jے`JXQ|ZdQ|ZdQf~Hv`fےbHAJ`ےrtAJlJbdQdQZ|fH~fH~ے`Jے`Jے`J|ZdQ|ZdQnXvnXvnXvrXQJ`rXQJ`rXQJ`|dr|drfH~fH~fH~ے`Jے`J|ZdQ|ZdQ|ZdQnXvnXvnrXQJrXQJ`rXQJ`JltrtAJlf`vX~f`JXQrpZHA㙒`JXQ|ZdQ|ZdQnXvnXvnXvrXQJ`ےbHAfpvfpvXQJ`ےXQJ`ےXQJ`ےZ|dbdQZ|vXH~vpf`JXQr˂pZHAbtlbtl`f~`f~`f~ےbHAےbHAےJltAJltAJlf`vXf`vXf`vXXQr˂XQr˂btlbtlbtl`f~`f~`ےHAےbHAےbHAtAJltAJlJltf`vXf`vXZHAb˂pZHAJtArdlJtA~HfpfvnXXv`fےbHAےbHAtAJltAJltAJlf`vXf`vXXQr˂XQr˂XQr˂btlbtlbtl`f~`f~ےbHAےbHAےbHAtAJltAJlf`vXf`vXf`vXXQr˂XQr˂rbtbtlbtlfpv~HfpZp˂bHAZptbdZ|dAJltf`vXf`vXXQr˂XQr˂XQr˂btlbtl`f~`f~`f~ےbHAےbHAےJltAJltAJlf`vXf`vXf`vXXQr˂XQr˂btlbtlbtl`f~`f~`ےHAےbHAےbHAbdQZ|tdrnvpvXn˂pZHbے`rbtbtlbtl`f~`f~`fHےbHAZp˂nXv`nXv`bHAZbHAZJltrtAdQZ`vXnf`vے`JXQ˂pZbے`JtArdJtArdHfpvHfpvHfpvZp˂Zp˂tbdQZtbdQZtbdQZnvpnvpnvppZHAbpZHAbJtArdJtArdJtArdHfpvHfpvZp˂Zp˂Zp˂tbdQZtbdQZbnvnvpnvpے`JXQbے`|ZdQrd|vnXv`ffpvZp˂Zp˂tbdQZtbdQZtbdQZnvpnvppZHAbpZHAbpZHAbJtArdJtArdJfpvHfpvHfpvZp˂Zp˂Zp˂tbdQZtbdQZnvpnvpnvppZHAbpZHAblJtAdJtArdJtArdnXv`v~rXQJ`˂rXQQZ|drtAJlbnvnvpnvppZHAbpZHAbpZHAJtArdJtArdHfpvHfpvHfpvZp˂Zp˂tbdQZtbdQZtbdQZnvpnvpnvppZHAbpZHAbJtArdJtArdJtArdHfpvHfpvZp˂Zp˂Zp˂ltbtAJlfH~vp`vAbے`JXQrlJtAdJtArdJtArdHfpvHfpvfpvZp˂rXQJ`f~Hf~Hp˂rp˂rdrtAJ|drvpfXnvrZHAHAbJXQr|ZdQ|ZdQnXvnXvnXvrXQJ`rXQJ`|dr|dr|drfH~fH~fے`Jے`Jے`J|ZdQ|ZdQ|ZdQnXvnXvrXQJ`rXQJ`rXQJ`|dr|drpfHfH~fH~r˂pJXQHAbbtlZdQbtv`f~HfpnrXQJrXQJ`rXQJ`|dr|dr|dtAfH~fH~ے`Jے`Jے`J|ZdQ|ZdQnXvnXvnXvrXQJ`rXQJ`rXQJ`|dr|drfH~fH~fH~ے`Jے`J|ZdQ|ZdQ|ZdQpvnHfpvےbHAJ`p˂rtAJltbdQpfHfH~fH~ے`Jے`Jے`JXQ|ZdQ|ZdQnXvnXvnXvrXQJ`rXQJ`|dr|dr|drfH~fH~fے`Jے`Jے`J|ZdQ|ZdQ|ZdQnXvnXvrXQJ`rXQJ`rXQJ`dQZ|tbdQZvpfXnvJXQrpZHA|ZdQ|ZdQ|ZdQnXvnXvnrXQJrXQJ`ےbHAZp˂Zp˂tbdQZtbdQZnvpnvpnvppZHAbpZHAblJtAdJtArdJtArdHfpvHfpvfpvZp˂Zp˂tbdQZtbdQZtbdQZnvpnvpXQr˂`JXQrˁ`ZAHr󙐂˅Xnv˅Xnv˒tbAdtbAdrXQJ`rXQJ`|dr|drfH~fH~fH~ے`Jے`J|ZdQ|ZdQ|ZdQnXvnXvnrXQJrXQJ`rXQJ`|dr|dr|dtAfH~fH~pZHAb˂pZQXb㉀ہ`ZQXbpfH~pfH~Z|dZ|dےbHAےJltAJltAJlf`vXf`vXf`vXXQr˂XQr˂btlbtlbtl`f~`f~`ےHAےbHAےbHAtAJltAJlJltf`vXf`vXے`JHAbےpJAHr󉀒ۑp`f۝`vf۝`vrQtJlrQtJlZp˂tbdQZtbdQZtbdQZnvpnvpnvppZHAbpZHAbJtArdJtArdJtArdHfpvHfpvZp˂Zp˂Zp˂tbdQZtbdQZbnvnvpnvpXQr˂`JXQHAۑpZQXb㉀Xnv˅Xnv˒tbAdtbAdrXQJ`|dr|dr|drfH~fH~fے`Jے`Jے`J|ZdQ|ZdQ|ZdQnXvnXvrXQJ`rXQJ`rXQJ`|dr|drpfHfH~fH~p`JXQbے`JAHr󙐒ۑpJAHpfH~pfH~Z|dZ|dےbHAtAJltAJltAJlf`vXf`vXXQr˂XQr˂XQr˂btlbtlbtl`f~`f~ےbHAےbHAےbHAtAJltAJlf`vXf`vXf`vXr˂pJXQrˁ`ZQXr󙐂ˁ`f۝`vf۝`vrQtJlrQtJlZp˂tbdQZtbdQZtbdQZnvpnvppZHAbpZHAbpZHAbJtArdJtArdJfpvHfpvHfpvZp˂Zp˂Zp˂tbdQZtbdQZnvpnvpnvpZHAb˂pZHAb㉀ۑpZQXb㉀Xnv˅Xnv˒tbAdtbAdrXQJ`|dr|dr|dtAfH~fH~ے`Jے`Jے`J|ZdQ|ZdQnXvnXvnXvrXQJ`rXQJ`rXQJ`|dr|drfH~fH~fH~ے`JXQbے`JAHr󙐒ۑpJAHpfH~pfH~Z|dZ|dےbHAtAJltAJlJltf`vXf`vXXQr˂XQr˂XQr˂btlbtl`f~`f~`f~ےbHAےbHAےJltAJltAJlf`vXf`vXf`vXr˂pJXQrˁ`ZQXf۝`vf۝`vf۝`vrQtJlrQtJlZp˂tbdQZtbdQZbnvnvpnvppZHAbpZHAbpZHAJtArdJtArdHfpvHfpvHfpvZp˂Zp˂tbdQZtbdQZtbdQZnvpnvpnvpZHAb˂p`ZAHr󙐂˅Xnv˅Xnv˅Xnv˒tbAdtbAdrXQJ`|dr|drpfHfH~fH~ے`Jے`Jے`JXQ|ZdQ|ZdQnXvnXvnXvrXQJ`rXQJ`|dr|dr|drfH~fH~fZHAb˂pZQXb㉀ہ`ZQXbpfH~pfH~p|dZ|dZ|dےbHAtAJltAJlf`vXf`vXf`vXXQr˂XQr˂rbtbtlbtl`f~`f~`fHےbHAےbHAtAJltAJltAJlf`vXf`vXے`JHAbےpJAHr󉀒ۑpJf۝`vf۝`vrQtJlrQtJlrQtJltuvwxyz{||{zyxwv \ No newline at end of file diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv27_2.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv27_2.dat deleted file mode 100644 index 536c7cab18..0000000000 --- a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv27_2.dat +++ /dev/null @@ -1,249 +0,0 @@ -|{|{|{|{zyzyzyzyxwxwxwxwssstststrqrqrqrqnmnmnmnmlklklklkjijijijifefefefedcdcdcdcbabababa`_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVU|{|{|{|{zyzyzyzyxwxwxwxwststststrqrqrqrqnmnmnmnmlklklklkjijijijifefefefedcdcdcdcbabababa`_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVU|{|{|{|{zyzyzyzyvuvuvuvuststststrqrqrqrqnmnmnmnmlklklklkjijijijifefefefedcdcdcdcbabababa`_^]^]^]\[\[\[\[ZYZYZYZYVUVUVUVU|{|{|{|{zyzyzyzyvuvuvuvuststststrqpopoponmnmnmnmlklklklkjijijijifefefefedcdcdcdcbabababa^]^]^]^]\[\[\[\[ZYXWXWXWVUVUVUVU|{|{|{|{zyzyzyzyvuvuvuvuststststpopopoponmnmnmnmlklklklkjijijijifefefefedcdcdcdcbabababa^]^]^]^]\[\[\[\[XWWWWWWXVUVUVUVU|{|{|{|{zyzyzyzyvuvuvuvuststststpopopoponmnmnmnmlklklklkjijijijifefefefedcdcdcdcbabababa^]^]^]^]\[\[\[\[WXWXWXWXVUVUVUVU|{|{|{|{zyzyzyzyvuvuvuvusssssstspopopoponmnmnmnmlklklklkjijijijifefefefedcdcdcdcbabababa^]^]^]^]\[\[\[\[WXWXWXWXVUVUVUVU|{|{|{|{zyzyzyzyvuvuvuvutstststspopopoponmnmnmnmlklklklkjihghghgfefefefedcdcdcdcbabababa^]^]^]^]\[\[\[\[WXWXWXWXVUVUVUVU|{|{|{|{zyzyzyzyvuvuvuvutstststspopopoponmnmnmnmlklklklkhghghghgfefefefedcdcdcdcbabababa^]^]^]^]\[\[\[\[WXWXWXWXVUVUVUVU|{|{|{|{zyzyzyzyvuvuvuvutstststspopopoponmnmnmnmlklklklkhghghghgfefefefedcdcdcdcbabababa^]^]^]^]\[\[\[\[WXWXWXWXVUVUVUVU|{|{|{|{zyzyzyzyvuvuvuvutstststspopopoponmnmnmnmlklklklkhghghghgfefefefedcdcdcdcbabababa^]^]^]^]\[\[\[\[WXWXWWWWVUVUVUVU|{|{|{|{zyzyzyzyvuvuvuvutstststspopopoponmnmnmnmlklklklkhghghghgfefefefedcdcdcdcba`_`_`_^]^]^]^]\[\[\[\[WWXWXWXWVUVUVUVU|{|{|{|{zyzyzyzyvuvuvuvutstststspopopoponmnmnmnmlklklklkhghghghgfefefefedcdcdcdc`_`_`_`_^]^]^]^]\[\[\[\[XWXWXWXWVUVUVUVUTSTSTSTS|{|{|{|{zyzyzyzyvuvuvuvuqqqqqqrqpopopoponmnmnmnmlklklklkhghghghgfefefefedcdcdcdc`_`_`_`_^]^]^]^]\[\[\[\[XWXWXWXWVUVUVUVUTSTSTSTS|{|{|{|{zyzyzyzyvuvuvuvurqrqrqrqpopopoponmnmnmnmlklklklkhghghghgfefefefedcdcdcdc`_`_`_`_^]^]^]^]\[\[\[\[XWXWXWXWVUVUVUVUTSTSTSTS|{|{|{|{zyzyzyzyvuvuvuvurqrqrqrqpopopoponmnmnmnmlklklklkhghghghgfefefefedcdcdcdc`_`_`_`_^]^]^]^]\[\[\[\[XWXWXWXWVUVUVUVUTSTSTSTS|{|{|{|{zyzyzyzyvuvuvuvurqrqrqrqpopopoponmnmnmnmlkjijijihghghghgfefefefedcdcdcdc`_`_`_`_^]^]^]^]\[\[\[\[XWXWXWXWVUVUVUVUTSTSTSTS|{|{|{|{zyzyzyzyvuvuvuvurqrqrqrqpopopoponmnmnmnmjijijijihghghghgfefefefedcdcdcdc`_`_`_`_^]^]^]^]\[\[\[\[WWWWWXWXVUVUVUVUTSTSTSTS|{|{|{|{xwxwxwxwvuvuvuvurqrqrqrqpopopoponmnmnmnmjijijijihghghghgfefefefedcdcdcdc`_`_`_`_^]^]^]^]\[ZYZYZYWXWXWXWXVUVUVUVUTSTSTSTS|{|{|{|{xwxwxwxwvuvuvuvurqrqrqrqpopopoponmnmnmnmjijijijihghghghgfefefefedcdcdcdc`_`_`_`_^]^]^]^]ZYZYZYZYWXWXWXWXVUVUVUVUTSTSTSTS|{|{|{|{xwxwxwxwvuvuvuvurqrqrqrqpopopoponmnmnmnmjijijijihghghghgfefefefedcbababa`_`_`_`_^]^]^]^]ZYZYZYZYWXWXWXWXVUVUVUVUTSTSTSTS|{|{|{|{xwxwxwxwvuvuvuvurqrqrqrqpopopoponmnmnmnmjijijijihghghghgfefefefebabababa`_`_`_`_^]^]^]^]ZYZYZYZYWXWXWXWXVUVUVUVUTSTSTSTS|{|{|{|{xwxwxwxwvuvuvuvurqrqrqrqpopopoponmnmnmnmjijijijihghghghgfefefefebabababa`_`_`_`_^]^]^]^]ZYZYZYZYWXWXWXWXVUTSTSTSTSTSTSTS|{|{|{|{xwxwxwxwvuvuvuvurqrqrqrqpopopoponmnmnmnmjijijijihghghghgfefefefebabababa`_`_`_`_^]^]^]^]ZYZYZYZYWXWWWWWWTSTSTSTSTSTSTSTS|{|{|{|{xwxwxwxwvuvuvuvurqrqrqrqpopopoponmnmnmnmjijijijihghghghgfefefefebabababa`_`_`_`_^]^]^]^]ZYZYZYZYXWXWXWXWTSTSTSTSTSTSTSTS|{|{|{|{xwxwxwxwvuvuvuvurqrqrqrqpopopoponmlklklkjijijijihghghghgfefefefebabababa`_`_`_`_^]^]^]^]ZYZYZYZYXWXWXWXWTSTSTSTSTSRQRQRQ|{|{|{|{xwxwxwxwtstststsrqrqrqrqpopopopolklklklkjijijijihghghghgfefefefebabababa`_`_`_`_^]^]^]^]ZYZYZYZYXWXWXWXWTSTSTSTSRQRQRQRQ|{|{|{|{xwxwxwxwssssststrqrqrqrqpopopopolklklklkjijijijihghghghgfefefefebabababa`_`_`_`_^]^]^]^]ZYZYZYZYXWXWXWXWTSTSTSTSRQRQRQRQ|{|{|{|{xwxwxwxwststststrqrqrqrqpopopopolklklklkjijijijihghghghgfefefefebabababa`_`_`_`_^]^]^]^]ZYZYZYZYXWXWXWXWTSTSTSTSRQRQRQRQzyzyzyzyxwxwxwxwststststrqrqrqrqpopopopolklklklkjijijijihghghghgfedcdcdcbabababa`_`_`_`_^]^]^]^]ZYZYZYZYXWXWXWWWTSTSTSTSRQRQRQRQzyzyzyzyxwxwxwxwststststrqrqrqrqpopopopolklklklkjijijijihghghghgdcdcdcdcbabababa`_`_`_`_^]^]^]^]ZYZYZYZYWWXWXWXWTSTSTSTSRQRQRQRQzyzyzyzyxwxwxwxwststststrqrqrqrqpopopopolklklklkjijijijihghghghgdcdcdcdcbabababa`_`_`_`_^]^]^]^]ZYZYZYZYXWVUVUVUTSTSTSTSRQRQRQRQzyzyzyzyxwxwxwxwststststrqrqrqrqpopopopolklklklkjijijijihghghghgdcdcdcdcbabababa`_`_`_`_^]^]^]^]ZYZYZYZYVUVUVUVUTSTSTSTSRQRQRQRQzyzyzyzyxwxwxwxwstssssssrqrqrqrqpopopopolklklklkjijijijihghghghgdcdcdcdcbabababa`_`_`_`_^]\[\[\[ZYZYZYZYVUVUVUVUTSTSTSTSRQRQRQRQzyzyzyzyxwxwxwxwtstststsrqrqrqrqponmnmnmlklklklkjijijijihghghghgdcdcdcdcbabababa`_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVUTSTSTSTSRQRQRQRQzyzyzyzyxwxwxwxwtstststsrqrqrqrqnmnmnmnmlklklklkjijijijihghghghgdcdcdcdcbabababa`_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVUTSTSTSTSRQRQRQRQzyzyzyzyxwxwxwxwtstststsrqrqrqrqnmnmnmnmlklklklkjijijijihghghghgdcdcdcdcbabababa`_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVUTSTSTSTSRQRQRQRQzyzyzyzyxwxwxwxwtstststsrqrqrqrqnmnmnmnmlklklklkjijijijihghghghgdcdcdcdcbabababa`_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVUTSTSTSTSRQRQRQRQzyzyzyzyxwxwxwxwtstststsrqrqrqrqnmnmnmnmlklklklkjijijijihgfefefedcdcdcdcbabababa`_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVUTSTSTSTSRQRQRQRQzyzyzyzyxwxwxwxwtststsssrqrqrqrqnmnmnmnmlklklklkjijijijifefefefedcdcdcdcbabababa`_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVUTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPOLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEBABABABA@?@?@?@?;<;<;<;<:9:9:9:98787878743434343212121210/0/0/0/,+,+,+,+*)*)*)*)('('('('&%&%&%&%"!"!"!"!    - - - - RQRQRQRQPOPOPOPOLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEBABABABA@?@?@?@?;<;<;;;;:9:9:9:98787878743434343212121210/0/0/0/,+,+,+,+*)*)*)*)('('('('&%&%&%&%"!"!"!"!  - - - - RQRQRQRQPOPOPOPOLKLKLKLKJIJIJIJIHGHGHGHGFEDCDCDCBABABABA@?@?@?@?;;<;<;<;:9:9:9:98787878743434343212121210/0/0/0/,+,+,+,+*)*)*)*)('('('('&%&%&%&%"!"!"!"! - - - - RQRQRQRQPOPOPOPOLKLKLKLKJIJIJIJIHGHGHGHGDCDCDCDCBABABABA@?@?@?@?<;<;<;<;:9:9:9:98787878743434343212121210/0/0/0/,+,+,+,+*)*)*)*)('('('('&%$#$#$#"!"!"!"! - - - - RQRQRQRQPOPOPOPOLKLKLKLKJIJIJIJIHGHGHGHGDCDCDCDCBABABABA@?@?@?@?<;<;<;<;:9:9:9:98765656543434343212121210/0/0/0/,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"! - - - - RQRQRQRQPOPOPOPOLKLKLKLKJIJIJIJIHGHGHGHGDCDCDCDCBABABABA@?@?@?@?<;<;<;<;:9:9:9:96565656543434343212121210/0/0/0/,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"! - - - - RQRQRQRQPOPOPOPOLKLKLKLKJIJIJIJIHGHGHGHGDCDCDCDCBABABABA@?@?@?@?<;<;<;<;:9:9:9:96565656543434343212121210/0/0/0/,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"! - - - - RQRQRQRQPONMNMNMLKLKLKLKJIJIJIJIHGHGHGHGDCDCDCDCBABABABA@?@?@?@?<;<;<;<;:9:9:9:96565656543434343212121210/0/0/0/,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"! - - - - RQRQRQRQNMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGDCDCDCDCBABABABA@?@?@?@?;;;;;<;<:9:9:9:96565656543434343212121210/.-.-.-,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"! - - - - RQRQRQRQNMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGDCDCDCDCBABABABA@?>=>=>=;<;<;<;<:9:9:9:9656565654343434321212121.-.-.-.-,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"!   - - - - RQRQRQRQNMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGDCDCDCDCBABABABA>=>=>=>=;<;<;<;<:9:9:9:9656565654343434321212121.-.-.-.-,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"!    - - - - RQRQRQRQNMNMNMNMLKLKLKLKJIJIJIJIHGFEFEFEDCDCDCDCBABABABA>=>=>=>=;<;<;<;<:9:9:9:9656565654343434321212121.-.-.-.-,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"!    - - - - RQRQRQRQNMNMNMNMLKLKLKLKJIJIJIJIFEFEFEFEDCDCDCDCBABABABA>=>=>=>=;<;<;<;<:9:9:9:9656565654343434321212121.-.-.-.-,+,+,+,+*)*)*)*)('&%&%&%$#$#$#$#"!"!"!"!    - - - - RQRQRQRQNMNMNMNMLKLKLKLKJIJIJIJIFEFEFEFEDCDCDCDCBABABABA>=>=>=>=;<;<;<;<:9878787656565654343434321212121.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#"!       - - - - RQRQRQRQNMNMNMNMLKLKLKLKJIJIJIJIFEFEFEFEDCDCDCDCBABABABA>=>=>=>=;<;;;;;;87878787656565654343434321212121.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#      - - - - RQRQRQRQNMNMNMNMLKLKLKLKJIJIJIJIFEFEFEFEDCDCDCDCBABABABA>=>=>=>=<;<;<;<;87878787656565654343434321212121.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#        - - - - RQPOPOPONMNMNMNMLKLKLKLKJIJIJIJIFEFEFEFEDCDCDCDCBABABABA>=>=>=>=<;<;<;<;87878787656565654343434321212121.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#        - - - - POPOPOPONMNMNMNMLKLKLKLKJIJIJIJIFEFEFEFEDCDCDCDCBABABABA>=>=>=>=<;<;<;<;878787876565656543434343210/0/0/.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#        - - - - POPOPOPONMNMNMNMLKLKLKLKJIJIJIJIFEFEFEFEDCDCDCDCBABABABA>=>=>=>=<;<;<;<;8787878765656565434343430/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#        - - - - POPOPOPONMNMNMNMLKLKLKLKJIJIJIJIFEFEFEFEDCDCDCDCBABABABA>=>=>=>=<;<;<;<;8787878765656565434343430/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#        - - - - POPOPOPONMNMNMNMLKLKLKLKJIHGHGHGFEFEFEFEDCDCDCDCBABABABA>=>=>=>=<;<;<;;;8787878765656565434343430/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#      - - - - POPOPOPONMNMNMNMLKLKLKLKHGHGHGHGFEFEFEFEDCDCDCDCBABABABA>=>=>=>=;;<;<;<;8787878765656565434343430/0/0/0/.-.-.-.-,+,+,+,+*)('('('&%&%&%&%$#$#$#$#       - - - - POPOPOPONMNMNMNMLKLKLKLKHGHGHGHGFEFEFEFEDCDCDCDCBABABABA>=>=>=>=<;:9:9:98787878765656565434343430/0/0/0/.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#$#        - POPOPOPONMNMNMNMLKLKLKLKHGHGHGHGFEFEFEFEDCDCDCDCBABABABA>=>=>=>=:9:9:9:98787878765656565434343430/0/0/0/.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#$#        POPOPOPONMNMNMNMLKLKLKLKHGHGHGHGFEFEFEFEDCDCDCDCBA@?@?@?>=>=>=>=:9:9:9:98787878765656565434343430/0/0/0/.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#$#        POPOPOPONMNMNMNMLKLKLKLKHGHGHGHGFEFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:98787878765656565434343430/0/0/0/.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#$#        POPOPOPONMNMNMNMLKLKLKLKHGHGHGHGFEFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:98787878765656565432121210/0/0/0/.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#$#        POPOPOPONMNMNMNMLKLKLKLKHGHGHGHGFEFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:98787878765656565212121210/0/0/0/.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#$#      POPOPOPONMNMNMNMLKLKLKLKHGHGHGHGFEFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:98787878765656565212121210/0/0/0/.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#"!"!"!        POPOPOPONMNMNMNMLKJIJIJIHGHGHGHGFEFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:98787878765656565212121210/0/0/0/.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!        POPOPOPONMNMNMNMJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:98787878765656565212121210/0/0/0/.-.-.-.-,+*)*)*)('('('('&%&%&%&%"!"!"!"!        POPOPOPONMNMNMNMJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:98787878765656565212121210/0/0/0/.-.-.-.-*)*)*)*)('('('('&%&%&%&%"!"!"!"!        - - - POPOPOPONMNMNMNMJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:98787878765656565212121210/0/0/0/.-.-.-.-*)*)*)*)('('('('&%&%&%&%"!"!"!"!        - - - - POPOPOPONMNMNMNMJIJIJIJIHGHGHGHGFEFEFEFEDCBABABA@?@?@?@?>=>=>=>=:9:9:9:98787878765656565212121210/0/0/0/.-.-.-.-*)*)*)*)('('('('&%&%&%&%"!"!"!"!     - - - - POPOPOPONMNMNMNMJIJIJIJIHGHGHGHGFEFEFEFEBABABABA@?@?@?@?>=<;<;<;:9:9:9:98787878765656565212121210/0/0/0/.-.-.-.-*)*)*)*)('('('('&%&%&%&%"!"!"!"!        - - - - POPOPOPONMNMNMNMJIJIJIJIHGHGHGHGFEFEFEFEBABABABA@?@?@?@?<;;;;;;<:9:9:9:98787878765434343212121210/0/0/0/.-.-.-.-*)*)*)*)('('('('&%&%&%&%"!"!"!"!        - - - - POPOPOPONMNMNMNMJIJIJIJIHGHGHGHGFEFEFEFEBABABABA@?@?@?@?;<;<;<;<:9:9:9:98787878743434343212121210/0/0/0/.-.-.-.-*)*)*)*)('('('('&%&%&%&%"!"!"!"!        - - - - POPOPOPONMNMNMNMJIJIJIJIHGHGHGHGFEFEFEFEBABABABA@?@?@?@?;<;<;<;<:9:9:9:98787878743434343212121210/0/0/0/.-.-.-.-*)*)*)*)('('('('&%&%&%&%"!"!"!"!        - - - - POPOPOPONMLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEBABABABA@?@?@?@?;<;<;<;<:9:9:9:98787878743434343212121210/0/0/0/.-.-.-.-*)*)*)*)('('('('&%&%&%&%"!"!"!"!        - - - - POPOPOPOLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEBABABABA@?@?@?@?;<;<;<;<:9:9:9:98787878743434343212121210/0/0/0/.-,+,+,+*)*)*)*)('('('('&%&%&%&%"!"!"!"!       - - - - ||{{zzyy55667788 >=<;;::9ppqqrrssAA@@??>>``aabbcc - - QQPPOONNPPQQRRSS WWVVUUTTkkllmmnn$$%%&&''xxwwvvuu99::;;<< - - 98877665ttuuvvww==<<;;::ddeeffgg MMLLKKJJTTUUVVWWSSRRQQPPooppqqrr(())**++ttssrrqq==>>??@@ - - 54433221xxyyzz{{ !!""##99887766hhiijjkkIIHHGGFFXXYYZZ[[OONNMMLLssyyzz{{,,--..//ppoonnmmAABBCCDD 100//..-||||{{zz$$%%&&''55443322llmmnnooEEDDCCBB\\]]^^__KKJJIIHH||||{{zz00112233llkkjjiiEEFFGGHH-,,++**)yyxxwwvv(())**++1100//..ppqqrrssAA@@??>>``aabbcc - - GGFFEEDDyyxwvuts44556677hhggffeeIIJJKKLL)((''&&%uuttssrr,,--..//--,,++**ttuuvvww==<<;;::ddeeffgg CCBBAA;;srrqqppo8899::;;ddccbbaaMMNNOOPP%$#"! qqppoonn00112233))((''&&xxyyzz{{ !!""##99887766hhiijjkk::998877onnmmllk<<==>>??``__^^]]QQRRSSTT%%mmllkkjj44556677%%$$##""||||{{zz$$%%&&''55443322llmmnnoo66554433kjjiihhg@@AABBCC\\[[ZZYYUUVVWWXX&&''(())iihhggff8899::;;!! yyxxwwvv(())**++1100//..ppqqrrss221100//gffeeddcDDEEFFGGXXWWVVUUYYZZ[[\\**++,,--eeddccbb<<==>>??uuttssrr,,--..//--,,++**ttuuvvww..--,,++cbbaa``_HHIIJJKKTTSSRRQQ]]^^__``..//0011aa``__^^@@AABBCCqqppoonn00112233))((''&&xxyyzz{{ !!""##**))((''_^^]]\[ZLLMMNNOOPPOONNMMaabbccdd22334455 ]]\\[[ZZDDEEFFGGmmllkkjj44556677%%$$##""||||{{zz$$%%&&''&&%%YXWWVVUUPPQQRRSSLLKKJJIIeeffgghh66778899 - - YYXXWWVVHHIIJJKKiihhggff8899::;;!! yyxxwwvv(())**++TTSSRRQQTTUUVVWW55443322HHGGFFEEiijjkkll::;;AABBUUTTSSRRLLMMNNOO - -eeddccbb<<==>>??uuttssrr,,--..//PPOONNMMXXYYZZ[[1100//..DDCCBBAAmmnnooppCCDDEEFF - - QQPPOONNPPQQRRSS aa``__^^@@AABBCCqqppoonn00112233LLKKJJII\\]]^^__--,,++**@@??>>==qqrrssttGGHHIIJJ MMLLKKJJTTUUVVWW]]\\[[ZZDDEEFFGGmmllkkjj44556677HHGGFFEE``aabbcc))((''&&<<;;::99uuvvwwxxKKLLMMNNIIHHGGFFXXYYZZ[[YYXXWWVVHHIIJJKKiihhggff8899::;; - -DDCCBBAAddeeffgg%%$$##""88776655yyzz{{||OOPPQQRREEDDCCBB\\]]^^__UUTTSSRRLLMMNNOO - -eeddccbb<<==>>?? @?>=<;;:hhiijjkk!! 44332211||{{zzyySSTTUUVVAA@@??>>``aabbcc - - QQPPOONNPPQQRRSS aa``__^^@@AABBCC:9988776llmmnnoo00//..--ssrrqqppWW]]^^__==<<;;::ddeeffgg MMLLKKJJTTUUVVWW]]\\[[ZZDDEEFFGG - - 65544332ppqqrrss,,++**))oonnmmll``aabbcc !!""##99887766hhiijjkkIIHHGGFFXXYYZZ[[YYXXWWVVHHIIJJKK 21100//.ttuuvvww((''&&%%kkjjiihhddeeffgg$$%%&&''55443322llmmnnooEEDDCCBB\\]]^^__UUTTSSRRLLMMNNOO.--,,++*xxyyzz{{$$##""!!ggffeeddhhiijjkk(())**++1100//..ppqqrrssAA@@??>>``aabbcc - - QQPPOONNPPQQRRSS*))((''&||||{{zz - - ccbbaa``llmmnnoo,,--..//--,,++**ttuuvvww==<<;;::ddeeffgg MMLLKKJJTTUUVVWW&%%$#"! yyxxwwvv __^^]]WWppqqrrss00112233))((''&&xxyyzz{{ !!""##99887766hhiijjkkIIHHGGFFXXYYZZ[[uuttssrrVVUUTTSSyyzz{{||44556677%%$$##""||||{{zz$$%%&&''55443322llmmnnooEEDDCCBB\\]]^^__%%&&''((qqppoonnRRQQPPOO||{{zzyy8899::;;!! yyxxwwvv(())**++1100//..ppqqrrssAA@@??>>``aabbcc))**++,,mmllkkjj NNMMLLKKxwvutssr<<==>>??uuttssrr,,--..//--,,++**ttuuvvww==<<;;::ddeeffgg--..//00iihhggff - - - - JJIIHHGGrqqppoon@@AABBCCqqppoonn00112233))((''&&xxyyzz{{ !!""##99887766hhiijjkk11223344 eeddccbb  - - FFEEDDCCnmmllkkjDDEEFFGGmmllkkjj44556677%%$$##""||||{{zz$$%%&&''55443322llmmnnoo55667788 - - aa``__^^ BBAA;;::jiihhggfHHIIJJKKiihhggff8899::;;!! yyxxwwvv(())**++1100//..ppqqrrss99::;;AA]]\\[[ZZ99887766feeddccbLLMMNNOO - -eeddccbb<<==>>??uuttssrr,,--..//--,,++**ttuuvvwwBBCCDDEEYYXXWWVV55443322baa``__^PPQQRRSS aa``__^^@@AABBCCqqppoonn00112233))((''&&xxyyzz{{FFGGHHIIUUTTSSRR1100//..^]]\[ZYXTTUUVVWW]]\\[[ZZDDEEFFGGmmllkkjj44556677%%$$##""||||{{zzJJKKLLMM - - QQPPOONN !!""## --,,++**WWVVUUTTXXYYZZ[[YYXXWWVVHHIIJJKKiihhggff8899::;;!! yyssrrqqNNOOPPQQ MMLLKKJJ$$%%&&''!!""##$$))((''&&SSRRQQPP\\]]^^__UUTTSSRRLLMMNNOO - -eeddccbb<<==>>??ppoonnmmRRSSTTUUIIHHGGFF(())**++%%&&''((%%OONNMMLL``aabbcc - - QQPPOONNPPQQRRSS aa``__^^@@AABBCCllkkjjiiVVWW]]^^EEDDCCBB,,--..//))**++,,KKJJIIHHddeeffgg MMLLKKJJTTUUVVWW]]\\[[ZZDDEEFFGGhhggffee__``aabbAA@@??>>00112233--..//00GGFFEEDDhhiijjkkIIHHGGFFXXYYZZ[[YYXXWWVVHHIIJJKKddccbbaaccddeeff==<<;;::4455667711223344CCBBAA@?llmmnnooEEDDCCBB\\]]^^__UUTTSSRRLLMMNNOO - -``__^^]]gghhiijj !!""##998877668899::;;<<==>>??uuttssrr,,--..//--,,++**ttuuvvww..--,,++cbbaa``_HHIIJJKKiihhggff8899::;;!! yyxxwwvv(())**++1100//..ppqqrrss99::;;AA]]\\[[ZZDDEEFFGGmmllkkjj44556677%%$$##""||||{{zz$$%%&&''AA@@??>>@@AABBCCqqppoonn00112233))((''&&xxyyzz{{ !!""##**))((''_^^]]\[ZLLMMNNOO - -eeddccbb<<==>>??uuttssrr,,--..//--,,++**ttuuvvwwBBCCDDEEYYXXWWVVHHIIJJKKiihhggff8899::;;!! yyxxwwvv(())**++==<<;;::DDEEFFGGmmllkkjj44556677%%$$##""||||{{zz$$%%&&''&&%%YXWWVVUUPPQQRRSS aa``__^^@@AABBCCqqppoonn00112233))((''&&xxyyzz{{FFGGHHIIUUTTSSRRLLMMNNOO - -eeddccbb<<==>>??uuttssrr,,--..//99887766HHIIJJKKiihhggff8899::;;!! yyxxwwvv(())**++TTSSRRQQTTUUVVWW]]\\[[ZZDDEEFFGGmmllkkjj44556677%%$$##""||||{{zzJJKKLLMM - - QQPPOONNPPQQRRSS aa``__^^@@AABBCCqqppoonn0011223355443322LLMMNNOO - -eeddccbb<<==>>??uuttssrr,,--..//PPOONNMMXXYYZZ[[YYXXWWVVHHIIJJKKiihhggff8899::;;!! yyssrrqqNNOOPPQQ MMLLKKJJTTUUVVWW]]\\[[ZZDDEEFFGGmmllkkjj44556677 1100//..PPQQRRSS aa``__^^@@AABBCCqqppoonn00112233LLKKJJII\\]]^^__UUTTSSRRLLMMNNOO - -eeddccbb<<==>>??ppoonnmmRRSSTTUUIIHHGGFFXXYYZZ[[YYXXWWVVHHIIJJKKiihhggff8899::;; - - - ---,,++**TTUUVVWW]]\\[[ZZDDEEFFGGmmllkkjj44556677HHGGFFEE``aabbcc - - QQPPOONNPPQQRRSS aa``__^^@@AABBCCllkkjjiiVVWW]]^^EEDDCCBB\\]]^^__UUTTSSRRLLMMNNOO - -eeddccbb<<==>>?? ))((''&&XXYYZZ[[YYXXWWVVHHIIJJKKiihhggff8899::;; - -DDCCBBAAddeeffgg MMLLKKJJTTUUVVWW]]\\[[ZZDDEEFFGGhhggffee__``aabbAA@@??>>``aabbcc - - QQPPOONNPPQQRRSS aa``__^^@@AABBCC%%$$##""\\]]^^__UUTTSSRRLLMMNNOO - -eeddccbb<<==>>?? @?>=<;;:hhiijjkkIIHHGGFFXXYYZZ[[YYXXWWVVHHIIJJKKddccbbaaccddeeff==<<;;::ddeeffgg MMLLKKJJTTUUVVWW]]\\[[ZZDDEEFFGG!! ``aabbcc - - QQPPOONNPPQQRRSS aa``__^^@@AABBCC:9988776llmmnnooEEDDCCBB\\]]^^__UUTTSSRRLLMMNNOO - -``__^^]]gghhiijj !!""##99887766hhiijjkkIIHHGGFFXXYYZZ[[YYXXWWVVHHIIJJKKddeeffgg MMLLKKJJTTUUVVWW]]\\[[ZZDDEEFFGG - - 65544332ppqqrrssAA@@??>>``aabbcc - - QQPPOONNPPQQRRSS WWVVUUTTkkllmmnn$$%%&&''55443322llmmnnooEEDDCCBB\\]]^^__UUTTSSRRLLMMNNOOhhiijjkkIIHHGGFFXXYYZZ[[YYXXWWVVHHIIJJKK 21100//.ttuuvvww==<<;;::ddeeffgg MMLLKKJJTTUUVVWWSSRRQQPPooppqqrr(())**++1100//..ppqqrrssAA@@??>>``aabbcc - - QQPPOONNPPQQRRSS%%&&''llmmnnooEEDDCCBB\\]]^^__UUTTSSRRLLMMNNOO.--,,++*xxyyzz{{ !!""##99887766hhiijjkkIIHHGGFFXXYYZZ[[OONNMMLLssyyzz{{,,--..//--,,++**ttuuvvww==<<;;::ddeeffgg MMLLKKJJTTUUVVWW(())**++ppqqrrssAA@@??>>``aabbcc - - QQPPOONNPPQQRRSS*))((''&||||{{zz$$%%&&''55443322llmmnnooEEDDCCBB\\]]^^__KKJJIIHH||||{{zz00112233))((''&&xxyyzz{{ !!""##99887766hhiijjkkIIHHGGFFXXYYZZ[[,,--..// - -ttuuvvww==<<;;::ddeeffgg MMLLKKJJTTUUVVWW&%%$#"! yyxxwwvv(())**++1100//..ppqqrrssAA@@??>>``aabbcc - - GGFFEEDDyyxwvuts44556677%%$$##""||||{{zz$$%%&&''55443322llmmnnooEEDDCCBB\\]]^^__00112233 - - xxyyzz{{ !!""##99887766hhiijjkkIIHHGGFFXXYYZZ[[uuttssrr,,--..//--,,++**ttuuvvww==<<;;::ddeeffgg CCBBAA;;srrqqppo8899::;;!! yyxxwwvv(())**++1100//..ppqqrrssAA@@??>>``aabbcc44556677 ||||{{zz$$%%&&''55443322llmmnnooEEDDCCBB\\]]^^__%%&&''((qqppoonn00112233))((''&&xxyyzz{{ !!""##99887766hhiijjkk::998877onnmmllk<<==>>??uuttssrr,,--..//--,,++**ttuuvvww==<<;;::ddeeffgg8899::;;yyxxwwvv(())**++1100//..ppqqrrssAA@@??>>``aabbcc))**++,,mmllkkjj44556677%%$$##""||||{{zz$$%%&&''55443322llmmnnoo66554433kjjiihhg@@AABBCCqqppoonn00112233))((''&&xxyyzz{{ !!""##99887766hhiijjkkAABBCCDDuuttssrr,,--..//--,,++**ttuuvvww==<<;;::ddeeffgg--..//00iihhggff8899::;;!! yyxxwwvv(())**++1100//..ppqqrrss221100//gffeeddcDDEEFFGGmmllkkjj44556677%%$$##""||||{{zz$$%%&&''55443322llmmnnooEEFFGGHHqqppoonn00112233))((''&&xxyyzz{{ !!""##99887766hhiijjkk11223344 eeddccbb<<==>>??uuttssrr,,--..//--,,++**ttuuvvww..--,,++cbbaa``_HHIIJJKKiihhggff8899::;;!! yyxxwwvv(())**++1100//..ppqqrrssIIJJKKLLmmllkkjj44556677%%$$##""||||{{zz$$%%&&''55443322llmmnnoo55667788 - - aa``__^^@@AABBCCqqppoonn00112233))((''&&xxyyzz{{ !!""##**))((''_^^]]\[ZLLMMNNOO - -eeddccbb<<==>>??uuttssrr,,--..//--,,++**ttuuvvwwMMNNOOPP !!""##iihhggff8899::;;!! yyxxwwvv(())**++1100//..ppqqrrss99::;;AA]]\\[[ZZDDEEFFGGmmllkkjj44556677%%$$##""||||{{zz$$%%&&''&&%%YXWWVVUUPPQQRRSS aa``__^^@@AABBCCqqppoonn00112233))((''&&xxyyzz{{QQRRSSTT$$%%&&''eeddccbb<<==>>??uuttssrr,,--..//--,,++**ttuuvvwwBBCCDDEEYYXXWWVVHHIIJJKKiihhggff8899::;;!! yyxxwwvv(())**++TTSSRRQQTTUUVVWW]]\\[[ZZDDEEFFGGmmllkkjj44556677%%$$##""||ttssrrUUVVWW]](())**++aa``__^^@@AABBCCqqppoonn00112233))((''&&xxyyzz{{FFGGHHIIUUTTSSRRLLMMNNOO - -eeddccbb<<==>>??uuttssrr,,--..//PPOONNMMXXYYZZ[[YYXXWWVVHHIIJJKKiihhggff8899::;;!! qqppoonn^^__``aa,,--..//]]\\[[ZZDDEEFFGGmmllkkjj44556677%%$$##""||||{{zzJJKKLLMM - - QQPPOONNPPQQRRSS aa``__^^@@AABBCCqqppoonn00112233LLKKJJII\\]]^^__UUTTSSRRLLMMNNOO - -eeddccbb<<==>>??mmllkkjjbbccddee00112233YYXXWWVVHHIIJJKKiihhggff8899::;;!! yyssrrqqNNOOPPQQ MMLLKKJJTTUUVVWW]]\\[[ZZDDEEFFGGmmllkkjj44556677HHGGFFEE``aabbcc - - QQPPOONNPPQQRRSS aa``__^^@@AABBCCiihhggffffgghhii44556677UUTTSSRRLLMMNNOO - -eeddccbb<<==>>??ppoonnmmRRSSTTUUIIHHGGFFXXYYZZ[[YYXXWWVVHHIIJJKKiihhggff8899::;; - -DDCCBBAAddeeffgg MMLLKKJJTTUUVVWW]]\\[[ZZDDEEFFGGeeddccbbjjkkllmm8899::;;QQPPOONNPPQQRRSS aa``__^^@@AABBCCllkkjjiiVVWW]]^^EEDDCCBB\\]]^^__UUTTSSRRLLMMNNOO - -eeddccbb<<==>>?? @?>=<;;:hhiijjkkIIHHGGFFXXYYZZ[[YYXXWWVVHHIIJJKKaa``__^^nnooppqq<<==>>??MMLLKKJJTTUUVVWW]]\\[[ZZDDEEFFGGhhggffee__``aabbAA@@??>>``aabbcc - - QQPPOONNPPQQRRSS aa``__^^@@AABBCC:9988776llmmnnooEEDDCCBB\\]]^^__UUTTSSRRLLMMNNOO - -]]WWVVUUqqppoonn@@AABBCCIIHHGGFFXXYYZZ[[YYXXWWVVHHIIJJKKddccbbaaccddeeff==<<;;::ddeeffgg MMLLKKJJTTUUVVWW]]\\[[ZZDDEEFFGG - - 65544332ppqqrrssAA@@??>>``aabbcc - - QQPPOONNPPQQRRSS TTSSRRQQmmllkkjjDDEEFFGGEEDDCCBB\\]]^^__UUTTSSRRLLMMNNOO - -``__^^]]gghhiijj !!""##99887766hhiijjkkIIHHGGFFXXYYZZ[[YYXXWWVVHHIIJJKK 21100//.ttuuvvww==<<;;::ddeeffgg MMLLKKJJTTUUVVWWPPOONNMMiihhggffHHIIJJKKAA@@??>>``aabbcc - - QQPPOONNPPQQRRSS WWVVUUTTkkllmmnn$$%%&&''55443322llmmnnooEEDDCCBB\\]]^^__UUTTSSRRLLMMNNOO.--,,++*xxyyzz{{ !!""##99887766hhiijjkkIIHHGGFFXXYYZZ[[LLKKJJIIeeddccbbLLMMNNOO==<<;;::ddeeffgg MMLLKKJJTTUUVVWWSSRRQQPPooppqqrr(())**++1100//..ppqqrrssAA@@??>>``aabbcc - - QQPPOONNPPQQRRSS*))((''&||||{{zz$$%%&&''55443322llmmnnooEEDDCCBB\\]]^^__HHGGFFEEaa``__^^PPQQRRSS99887766hhiijjkkIIHHGGFFXXYYZZ[[OONNMMLLssyyzz{{,,--..//--,,++**ttuuvvww==<<;;::ddeeffgg MMLLKKJJTTUUVVWW&%%$#"! yyxxwwvv(())**++1100//..ppqqrrssAA@@??>>``aabbcc - - DDCCBBAA]]\\[[ZZTTUUVVWW55443322llmmnnooEEDDCCBB\\]]^^__KKJJIIHH||||{{zz00112233))((''&&xxyyzz{{ !!""##99887766hhiijjkkIIHHGGFFXXYYZZ[[uuttssrr,,--..//--,,++**ttuuvvww==<<;;::ddeeffgg ;;::9988YYXXWWVVXXYYZZ[[1100//..ppqqrrssAA@@??>>``aabbcc - - GGFFEEDDyyxwvuts44556677%%$$##""||||{{zz$$%%&&''55443322llmmnnooEEDDCCBB\\]]^^__%%&&''((qqppoonn00112233))((''&&xxyyzz{{ !!""##99887766hhiijjkk77665544UUTTSSRR\\]]^^__--,,++**ttuuvvww==<<;;::ddeeffgg CCBBAA;;srrqqppo8899::;;!! yyxxwwvv(())**++1100//..ppqqrrssAA@@??>>``aabbcc))**++,,mmllkkjj44556677%%$$##""||||{{zz$$%%&&''55443322llmmnnoo33221100QQPPOONN``aabbcc))((''&&xxyyzz{{ !!""##99887766hhiijjkk::998877onnmmllk<<==>>??uuttssrr,,--..//--,,++**ttuuvvww==<<;;::ddeeffgg--..//00iihhggff8899::;;!! yyxxwwvv(())**++1100//..ppqqrrss//..--,,MMLLKKJJddeeffgg%%$$##""||||{{zz$$%%&&''55443322llmmnnoo66554433kjjiihhg@@AABBCCqqppoonn00112233))((''&&xxyyzz{{ !!""##99887766hhiijjkk11223344 eeddccbb<<==>>??uuttssrr,,--..//--,,++**ttuuvvww++**))((IIHHGGFFhhiijjkk!! yyxxwwvv(())**++1100//..ppqqrrss221100//gffeeddcDDEEFFGGmmllkkjj44556677%%$$##""||||{{zz$$%%&&''55443322llmmnnoo55667788 - - aa``__^^@@AABBCCqqppoonn00112233))((''&&xxyyzz{{ !!""##''&&%%EEDDCCBBllmmnnooppqqfpvbHAZJltJQr˂pJtArdrXQJ`tAJlnvp|ZdQ`f~Zp˂|dtA`JXQrdQbtrXQJ`nXv`p˂rbdQZ|ZHAb|ZdQےbHAtbdQZfH~btlHfpvrXQJ`Jlt˂pZlJtArےbHAf~HXQJ`ے`vXnے`JXbtlZp˂|drf`vXJtArdnXvےbHAbnvHAbےdtlZp˂fpvbHAZvpfQr˂pJfpvrXQJ`tAJlnvp|ZdQ`f~Zp˂pfH`JXQrJfpvrXQJ`nXv`p˂rH~fZHAbnXvےbHAtbdQZfH~btlHfpvrXQJ`f`vX˂pZnvfےbHAf~HXQJ`ے`vXnے`JX`f~Zp˂|drf`vXJtArdnXvےbHAnvpHAb~HfpZp˂fpvbHAZvpfQrZHAHfpvrXQJ`tAJlnvp|ZdQ`f~Zp˂fH~˂pZHAvnXrXQJ`nXv`p˂rH~bے`nXvےbHAtbdQZfے`JbtlHfpvrXQJ`f`vXbے`v`fےbHAf~HXQJ`ےvpfHJXQr`f~Zp˂|drXQr˂JtArdnXvےbHAnvpJXQr~HfpZp˂fpvbHAZ~f`˂pZHAHfpvrXQJ`tAJlpZHAb|ZdQ`f~Zp˂fH~˂pZHAvnXrXQJ`nXv`p˂rvXnbے`nXvےbHAtbdQZے`JbtlHfpvrXQJ`f`vXbے`v`f~ےbHAf~HXQJ`ےvpfHJXQr`f~Zp˂|drXQr˂JtArdnXvےJlnvpJXQHAbfpvZp˂fpvbHAZ~f`˂pZHAHfpvrXQJ`tAJlpZHAb|ZdQ`f~tbdQZfH~ے`JnXv`rXQJ`tAJlnXv`p˂rvXH~bJAdnXvےbHAtbdQZے`JbtlHfpv|drf`vXXQr˂f~HےbHAtbdQZf~HXQJ`ےf`v|ZdQ`f~Zp˂|dtAXQr˂JtArdnXvtAJlnvppZHAbfpvZp˂|drfpvbHAZXnvbtlHfpvrXQJ`JltpZHAb|ZdQ`f~tbdQZfH~ے`JnXv`rXQJ`tAJlnXv`p˂rpfH~JtArdnXvےbHAbnvے`JbtlHfpv|drf`vXXQr˂f~HےbHAtbdQZf~HXQJ`ےf`v|ZdQ`f~Zp˂pfHXQr˂JtArdnXvtAJlnvpp`JXQfvnXZp˂|drfpvJltXnvbtlHfpvrXQJ`f`vXpZHAb|ZdQ`fHtbdQZfH~rbtv`frXQJ`tAJlnXv`drtAJp`vXJtArdnXvےbHAnvpے`Jbtlfpv|drf`vXl|ZdQ~HfpےbHAtbdQZf~Hltbnvp|ZdQ`f~Zp˂fH~XQr˂JtArdnrXQJtAJlnvpbtlvnXZp˂|drfpvdQZ|fH~btlHfpvrXQJ`f`vXpZHAb|ZdQ`ےHAtbdQZfH~JtArdv`frXQJ`tAJlnXv`drtAJf`vXJtArdnXvےbHAnvpے`JbtlZp˂|drf`vX|ZdQ~HfpےJltbdQZf~Hltbnvp|ZdQ`f~Zp˂fH~XQr˂JtArdrXQJ`tAJlnvpbtlvnvftbdQZ|dtAfpvdQZ|lfH~btlHfpvrXQJ`f`vXpZHAb|ZdQےbHAtbdQZfH~JtArd~Hf|drJltnXv`tbdQvpfJtArdnXvےJlnvpے`JbtlZp˂|drf`vXtlJpvntAJlbnvf~HZ|dے`JXQ|ZdQ`f~tbdQZfH~XQr˂JtArdrXQJ`tAJlnvptArdXv`ftbdQZpfHfpvrtAJlrZHAbtlHfpv|drf`vXpZHAb|ZdQےbHAtbdQZfH~|ZdQb~Hf|drf`vXnXv`tbdQbے`JtArdnXvtAJlnvpے`JbtlZp˂|drf`vXtlJpvntAJlnvpp˂rZ|dJXQr|ZdQ`f~tbdQZfH~XQr˂JfpvrXQJ`tAJlnvptArdXv`ftbdQZfH~XQJ`ےrtAdQZpZHAbtlHfpv|drf`vXpZHAbnXvےbHAtbdQZfH~|ZdQtAfpv|drf`vXbHAZ|drbے`JtArdnXvtAJlnvpے`J`f~Zp˂|drf`vXrd|nrXQJtAJlnvpp˂rtAJlJXQr|ZdQ`fHtbdQZfH~XQr˂HfpvrXQJ`tAJlnvpZdQbt`ےHAtbdQZfH~XQJ`ےtbdQZpZAbbtlfpv|drf`vXpZHAbnXvےbHAtbdQZfے`JlJtAZp˂|drf`vXbHAZ|dr`JXQrJtArdnrXQJtAJlnvpے`J`f~Zp˂|drXQHAbrd|rXQJ`tAJlnvpp˂rtAJl璀˂pZ|ZdQ`ےHAtbdQZfH~XQr˂HfpvrXQJ`tAJlے`JXQZdQbtےbHAtbdQZfH~XQJ`ےtdrtAHAbےbtlZp˂|drf`vXpZHAnXvےbHAtbdQZr˂pl|ZZp˂|drf`vXbHAZJlt`JXQrJtArdrXQJ`tAJlnvpے`JXQ`f~Zp˂|drZHAbdQbtrXQJ`tAJlnvpp˂rbdQZ|˂pZ|ZdQےbHAtbdQZfH~rbtHfpvrXQJ`tAJlے`JXQlJtArےbHAtbdQZfH~XQJ`ےdrtAHAbbtlZp˂|drf`vXlJtAdnXvےbHAtbdQZr˂pd|ZZp˂|drf`vXnvpے`J`f~Zp˂|drf`vXJtArdv`ftbdnvpے`J`f~Zp˂|drXQr˂JtArdnXvےbHA`vXH`JXQ`f~Zp˂|drXQr˂JtArdnXvےJlnvpbے`f۝`vfH~XQr˂HfpvrXQJ`tAJlnvp|ZdQ~HfpQZ|rfH~XQr˂HfpvrXQJ`tAJlpZHAb|ZdQ`f~Zp˂~f`rbtHfpvrXQJ`tAJlpZHAb|ZdQ`f~tbdQZfH~JXQrXnvf`vXpZHAbnXvےbHAtbdQZfے`Jbtlv~AJltf`vXpZHAnXvےbHAtbdQZے`JbtlHfpvrXQJ`vXnlJtAdnXvےbHAtbdQZے`JbtlHfpv|drf`vX˂pZHApfH~nvpے`J`f~Zp˂|drXQr˂JtArdHfpvbdQZ|nvpے`JXQ`f~Zp˂|drXQr˂JtArdnXvےJlvpfH|ZdQ`f~Zp˂|dtAXQr˂JtArdnXvtAJlnvpbے`f۝`vfH~XQr˂HfpvrXQJ`tAJlpZHAb|ZdQnXvdrtAfH~rbtHfpvrXQJ`tAJlpZHAb|ZdQ`f~tdrtA~f`btlHfpvrXQJ`JltpZHAb|ZdQ`f~tbdQZfH~JXQrXnvf`vXpZHAnXvےbHAtbdQZے`Jbtl`f~Jltf`vXlJtAdnXvےbHAtbdQZے`JbtlHfpvJltvXnJtArdnXvےbHAbnvے`JbtlHfpv|drf`vX˂p`ZpfH~nvpے`JXQ`f~Zp˂|drXQr˂JtArdHfpvbdQZ|nvp|ZdQ`f~Zp˂|dtAXQr˂JtArdnXvbdQZ|vp`v|ZdQ`f~Zp˂pfHXQr˂JtArdnXvtAJlnvpQXb㉀ۅf۝`vfH~rbtHfpvrXQJ`tAJlpZHAb|ZdQnXvdrtAfH~btlHfpvrXQJ`JltpZHAb|ZdQ`f~drtAXnvbtlHfpvrXQJ`f`vXpZHAb|ZdQ`fHtbdQZfH~pJAHrXnvf`vXlJtAdnXvےbHAtbdQZے`Jbtl`pvJbdQf`vXJtArdnXvےbHAbnvے`JbtlHfpvJltpfH~JtArdnXvےbHAnvpے`Jbtlfpv|drf`vXˁ`ZpfH~nvp|ZdQ`f~Zp˂|dtAXQr˂JtArdnrXQJZ|dnvp|ZdQ`f~Zp˂pfHXQr˂JtArdnXvbdQZ|f`v|ZdQ`f~Zp˂fH~XQr˂JtArdnrXQJtAJlnvpQXb㉀ۅf۝`vfH~btlHfpvrXQJ`JltpZHAb|ZdQ`p˂rtAJlfH~btlHfpvrXQJ`f`vXpZHAb|ZdQ`fHltbXnvbtlHfpvrXQJ`f`vXpZHAb|ZdQ`ےHAtbdQZfH~pJAHrXnvf`vXJtArdnXvےbHAbnvے`JbtlrXQJ`tbdQf`vXJtArdnXvےbHAnvpے`JbtlfpvdQZ|pfH~JtArdnXvےbHAnvpے`JbtlZp˂|drf`vXۑppfH~nvp|ZdQ`f~Zp˂pfHXQr˂JtArdےbHAZ|dnvp|ZdQ`f~Zp˂fH~XQr˂JtArdnrXQJdrtAJvp|ZdQ`f~Zp˂fH~XQr˂JtArdrXQJ`tAJlnvpJAHr󙐅f۝`vfH~btlHfpvrXQJ`f`vXpZHAb|ZdQZp˂rtAJlfے`JbtlHfpvrXQJ`f`vXpZHAb|ZdQ`ےHAltbfے`JbtlHfpvrXQJ`f`vXpZHAb|ZdQےbHAtbdQZfH~ˁ`ZQXXnvf`vXJtArdnXvےbHAnvpے`JbtlrXQJ`tbQZXQr˂JtArdnXvےbHAnvpے`JbtlZp˂dQZ|XQrZHJtArdnXvےJlnvpے`JbtlZp˂|drf`vXb㉀ۑpp|dnvp|ZdQ`f~Zp˂fH~XQr˂JtArdےbHAdrtAJpZHAb|ZdQ`f~Zp˂fH~XQr˂JtArdrXQJ`drtAdQAbے`|ZdQ`f~tbdQZfH~XQr˂JtArdrXQJ`tAJlnvpJAHrrQtJlfے`JbtlHfpvrXQJ`f`vXpZHAb|ZdQXQJ`ےltbے`JbtlHfpvrXQJ`f`vXpZHAb|ZdQےbHAZ|dJXQrbtlHfpv|drf`vXpZHAb|ZdQےbHAtbdQZfH~ˁ`ZQXtbAdXQr˂JtArdnXvےbHAnvpے`JbtlbHAZdQZ|XQr˂JtArdnXvےJlnvpے`JbtlZp˂rtAJl˂pZHJtArdnXvtAJlnvpے`JbtlZp˂|drf`vXAHr󙐂Z|dpZHAb|ZdQ`f~Zp˂fH~XQr˂JtArdp˂rdrtAJpZHAb|ZdQ`f~tbdQZfH~XQr˂JtArdrXQJ`tbdQAbے`|ZdQ`f~tbdQZfH~XQr˂JfpvrXQJ`tAJlnvp`ZQXbrQtJlے`JbtlHfpvrXQJ`f`vXpZHAb|ZdQXQJ`ےltbے`JbtlHfpv|drf`vXpZHAb|ZdQےbHAZ|dJXQrbtlHfpv|drf`vXpZHAbnXvےbHAtbdQZfH~ۑpJtbAdXQr˂JtArdnXvےJlnvpے`JbtlbHAZdQZ|XQr˂JtArdnXvtAJlnvpے`JbtlZp˂rtAJl˂pZAbJtArdnXvtAJlnvpے`J`f~Zp˂|drf`vXAHr󙐂Z|dpZHAb|ZdQ`f~tbdQZfH~XQr˂JtArdp˂AJltpZHAb|ZdQ`f~tbdQZfH~XQr˂JfpvrXQJ`tdr`JXQ|ZdQ`fHtbdQZfH~XQr˂HfpvrXQJ`tAJlnvp`ZQXbrQtJlے`JbtlHfpv|drf`vXpZHAb|ZdQbHAZpbnvے`JbtlHfpv|drf`vXpZHAbnXvےbHAtAJlr˂pbtlfpv|drf`vXpZHAbnXvےbHAtbdQZfZHAbۑp`tbAdXQr˂JtArdnXvtAJlnvpے`Jbtl˂rXQpfHXQr˂JtArdnXvtAJlnvpے`J`f~Zp˂tbdQZZHAbJtArdnrXQJtAJlnvpے`J`f~Zp˂|drے`JZQXb㉀Z|dpZHAb|ZdQ`f~tbdQZfH~XQr˂JfpvJ`ےf`vXpZHAb|ZdQ`fHtbdQZfH~XQr˂HfpvrXQJ`|drے`JXQ|ZdQ`ےHAtbdQZfH~XQr˂HfpvrXQJ`tAJlXQr˂ۑpJAHrQtJlے`JbtlHfpv|drf`vXpZHAb~HbHAZpnvpے`Jbtlfpv|drf`vXpZHAbnXvےbHAtAJlr˂pbtlZp˂|drf`vXpZHAnXvےbHAtbdQZpZHAbr󙐂ˁ`tbAdXQr˂JtArdnXvtAJlnvpے`Jfpv˂rXQfH~XQr˂JtArdnrXQJtAJlnvpے`J`f~Zp˂tbdQZZHAbJtArdrXQJ`tAJlnvpے`JXQ`f~Zp˂|drے`JZQXb㉀Z|dpZHAb|ZdQ`fHtbdQZfH~XQr˂nXv`J`p˂f`vXpZHAb|ZdQ`ےHAtbdQZfH~XQr˂HfpvrXQJ`|ltJQr|ZdQےbHAtbdQZfH~rbtHfpvrXQJ`tAJlXQr˂ۑpJAHrQtJlے`Jbtlfpv|drf`vXpZHAbf~HrXQJnvpے`JbtlZp˂|drf`vXpZHAnXvےbHAbnvpZHAbtlZp˂|drf`vXlJtAdnXvےbHAtbdQZp`JXQf۝`vtbAdXQr˂JtArdnrXQJtAJlnvpے`Jfpv`ےbfH~XQr˂JtArdrXQJ`tAJlnvpے`JXQ`f~Zp˂p`vXbے`JtArdrXQJ`tAJlnvp|ZdQ`f~Zp˂|dtAr˂pXnvZ|dpZHAb|ZdQ`ےHAtbdQZfH~XQr˂nXv`HAZp˂f`vXpZHAb|ZdQےbHAtbdQZfH~rbtHfpvrXQJ`nvpJXQr|ZdQےbHAtbdQZfH~btlHfpvrXQJ`JltZHAbpfH~rQtJlے`JbtlZp˂|drf`vXpZHApvnrXQJnvpے`JbtlZp˂|drf`vXlJtAdnXvےbHAfH~pZHAbtlZp˂|drf`vXJtArdnXvےbHAbnvے`JXQf۝`vtbAdXQr˂JtArdrXQJ`tAJlnvpے`JXQXv`f`ےbfH~XQr˂JtArdrXQJ`tAJlnvp|ZdQ`f~Zp˂f`vXbے`JfpvrXQJ`tAJlnvp|ZdQ`f~Zp˂pfHr˂pXnvZ|dpZHAb|ZdQےbHAtbdQZfH~rbt璐~HfHAXQJ`f`vXpZHAb|ZdQےbHAtbdQZfH~btlHfpvrXQJ`nvpJXQrZnXvےbHAtbdQZfH~btlHfpvrXQJ`f`vXZHAbpfH~rQtJlے`JbtlZp˂|drf`vXlJtAdpvnےJlnvpے`JbtlZp˂|drf`vXJtArdnXvےbHAfH~HAbے`f~Zp˂|drf`vXJtArdnXvےbHAnvp˂pZf۝`vtbAdXQr˂JtArdrXQJ`tAJlnvp|ZdQXv`ftbQZdfH~XQr˂JfpvrXQJ`tAJlnvp|ZdQ`f~Zp˂vpf`JXQrHfpvrXQJ`tAJlnvp|ZdQ`f~Zp˂fH~HAbےXnvZ|dpZHAb|ZdQےbHAtbdQZfH~btl~HXrtAJlf`vXpZHAbnXvےbHAtbdQZfH~btlHfpvrXQJ`H~f˂pZnXvےbHAtbdQZfے`JbtlHfpvrXQJ`f`vX`JXQrpfH~rQtJlے`JbtlZp˂|drf`vXJtArdv`ftbdnvpے`J`f~Zp˂|drf`vXJtArdnXvےbHA`vXnHAbے`f~Zp˂|drXQr˂JtArdnXvےbHAnvp˂pZf۝`vtbAdXQr˂JfpvrXQJ`tAJlnvp|ZdQ~HfpQZ|dfH~XQr˂HfpvrXQJ`tAJlnvp|ZdQ`f~Zp˂vpf`JXQrHfpvrXQJ`tAJlpZHAb|ZdQ`f~Zp˂fH~HAbےXnvZ|dpZHAbnXvےbHAtbdQZfH~btlvnXrtAJlf`vXpZHAbnXvےbHAtbdQZfے`JbtlHfpvrXQJ`H~f˂pZAnXvےbHAtbdQZے`JbtlHfpvrXQJ`f`vX`JXQHApfH~rQtJltuvwxyz{||{zyxwv------------............................ \ No newline at end of file diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv27_3.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv27_3.dat deleted file mode 100644 index 468ef041aa..0000000000 --- a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv27_3.dat +++ /dev/null @@ -1,249 +0,0 @@ -|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvurqrqrqrqpopopoponmnmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJI|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvurqrqrqrqpopopoponmnmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdcbabababa^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSRQRQRQPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJI|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvurqrqrqrqpopopoponmnmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdcbabababa^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVURQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJI|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvurqrqrqrqpopopoponmnmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdcba`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVURQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJI|{|{|{|{zyzyzyzyxwxwxwxwtstststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdc`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJI|{|{|{|{zyzyzyzyxwxwxwxwssssststrqrqrqrqpopopoponmnmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdc`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWWWTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJI|{|{|{|{zyzyzyzyxwxwxwxwststststrqrqrqrqpopopoponmnmnmnmlklklklkjijijijihghghghgfefefefedcbababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYWWXWXWXWTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJI|{|{|{|{zyzyzyzyxwxwxwxwststststrqrqrqrqpopopoponmnmnmnmlklklklkjijijijihghghghgfefefefebabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJI|{|{|{|{zyzyzyzyxwxwxwxwststststrqrqrqrqpopopoponmnmnmnmlklklklkjijijijihghghghgfefefefebabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHG|{|{|{|{zyzyzyzyxwxwxwxwststststrqrqrqrqpopopoponmnmnmnmlklklklkjijijijihghghghgfedcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHG|{|{|{|{zyzyzyzyxwxwxwxwststststrqrqrqrqpopopoponmnmnmnmlklklklkjijijijihghghghgdcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHG|{|{|{|{zyzyzyzyxwxwxwxwstssssssrqrqrqrqpopopoponmnmnmnmlklklklkjijijijihghghghgdcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHG|{|{|{|{zyzyzyzyxwxwxwxwtstststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijihgfefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHG|{|{|{|{zyzyzyzyxwxwxwxwtstststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijifefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHG|{|{|{|{zyzyzyzyvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijifefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[XWWWWWWXVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHG|{|{|{|{zyzyzyzyvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmlklklklkjihghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[WXWXWXWXVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHG|{|{|{|{zyzyzyzyvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmlklklklkhghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[WXWXWXWXVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHG|{|{|{|{zyzyzyzyvuvuvuvutststsssrqrqrqrqpopopoponmnmnmnmlklklklkhghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[WXWXWXWXVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHG|{|{|{|{zyzyzyzyvuvuvuvussstststrqrqrqrqpopopoponmnmnmnmlkjijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[WXWXWXWXVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHG|{|{|{|{zyzyzyzyvuvuvuvuststststrqrqrqrqpopopoponmnmnmnmjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[WXWXWXWXVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHG|{|{|{|{zyzyzyzyvuvuvuvuststststrqrqrqrqpopopoponmnmnmnmjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[WXWXWWWWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKJIHGHGHGHGHGHGHG|{|{|{|{zyzyzyzyvuvuvuvuststststrqrqrqrqpopopoponmlklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[WWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKHGHGHGHGHGHGHGHG|{|{|{|{zyzyzyzyvuvuvuvuststststrqrqrqrqpopopopolklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[ZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKHGHGHGHGHGHGHGHG|{|{|{|{zyzyzyzyvuvuvuvuststststrqrqrqrqpopopopolklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKJIJIJIHGHGHGHGHGHGHGHG|{|{|{|{xwxwxwxwvuvuvuvusssssstsrqrqrqrqponmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMJIJIJIJIHGHGHGHGHGHGHGHG|{|{|{|{xwxwxwxwvuvuvuvutstststsrqrqrqrqnmnmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMJIJIJIJIHGHGHGHGHGFEFEFE|{|{|{|{xwxwxwxwvuvuvuvutstststsrqrqrqrqnmnmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMLKLKLKJIJIJIJIHGHGHGHGFEFEFEFE|{|{|{|{xwxwxwxwvuvuvuvutstststsrqpopoponmnmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]ZYZYZYZYWWWWWXWXVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPOLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFE|{|{|{|{xwxwxwxwvuvuvuvutstststspopopoponmnmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]ZYZYZYZYWXWXWXWXVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPOLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEzyzyzyzyxwxwxwxwvuvuvuvutstststspopopoponmnmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]ZYZYZYZYWXWXWXWXVUVUVUVUTSTSTSTSRQRQRQRQPONMNMNMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEzyzyzyzyxwxwxwxwvuvuvuvutstststspopopoponmnmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]ZYZYZYZYWXWXWXWXVUVUVUVUTSTSTSTSRQRQRQRQNMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEzyzyzyzyxwxwxwxwvuvuvuvuqqqqqqrqpopopoponmnmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]\[\[\[ZYZYZYZYWXWXWXWXVUVUVUVUTSTSTSTSRQRQRQRQNMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEzyzyzyzyxwxwxwxwvuvuvuvurqrqrqrqpopopoponmnmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_\[\[\[\[ZYZYZYZYWXWXWXWXVUVUVUVUTSTSTSTSRQPOPOPONMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEzyzyzyzyxwxwxwxwvuvuvuvurqrqrqrqpopopoponmnmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_\[\[\[\[ZYZYZYZYWXWWWWWWVUVUVUVUTSTSTSTSPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCBABABABA@?@?@?@?;<;<;<;<:9:9:9:9878787876565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - FEFEFEFEDCDCDCDCBABABABA@?@?@?@?;<;<;<;<:9:9:9:9878787876565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#$#"!"!"!"!       - - - - FEFEFEFEDCDCDCDCBABABABA@?@?@?@?;<;<;<;<:9:9:9:9878787876565656543434343212121210/0/0/0/.-.-.-.-,+*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!       - - - - FEFEFEFEDCDCDCDCBABABABA@?@?@?@?;<;<;<;<:9:9:9:9878787876565656543434343212121210/0/0/0/.-.-.-.-*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!     - - - - FEFEFEFEDCDCDCDCBABABABA@?@?@?@?;<;<;<;<:9:9:9:9878787876565656543434343212121210/0/0/0/.-.-.-.-*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!    - FEFEFEFEDCDCDCDCBABABABA@?@?@?@?;<;<;;;;:9:9:9:9878787876565656543434343212121210/0/0/0/.-,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!    FEFEFEFEDCDCDCDCBABABABA@?@?@?@?;;<;<;<;:9:9:9:9878787876565656543434343212121210/0/0/0/,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!    FEFEFEFEDCDCDCDCBABABABA@?>=>=>=<;<;<;<;:9:9:9:9878787876565656543434343212121210/0/0/0/,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!    - - - FEFEFEFEDCDCDCDCBABABABA>=>=>=>=<;<;<;<;:9:9:9:9878787876565656543434343212121210/.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!    - - - - FEFEFEFEDCDCDCDCBABABABA>=>=>=>=<;<;<;<;:9:9:9:987878787656565654343434321212121.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!       - - - - FEFEFEFEDCDCDCDCBABABABA>=>=>=>=<;<;<;<;:9:9:9:987878787656565654343434321212121.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#   - - - - FEFEFEFEDCDCDCDCBABABABA>=>=>=>=<;<;<;<;:9:9:9:9878787876565656543434343210/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#     - - - - FEFEFEFEDCDCDCDCBABABABA>=>=>=>=;;;;;<;<:9:9:9:98787878765656565434343430/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#     - - - - FEFEFEFEDCDCDCDCBABABABA>=>=>=>=;<;<;<;<:9:9:9:98787878765656565434343430/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#       - - - - FEFEFEFEDCDCDCDCBABABABA>=>=>=>=;<;<;<;<:9:9:9:98787878765656565432121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#        - - - - FEFEFEFEDCDCDCDCBABABABA>=>=>=>=;<;<;<;<:9:9:9:98787878765656565212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#        - - - - FEFEFEFEDCDCDCDCBA@?@?@?>=>=>=>=;<;<;<;<:9:9:9:98787878765656565212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#      - - - - FEFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=;<;<;<;<:9:9:9:98787878765434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#       - - - - FEFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=;<;;;;;;:9:9:9:98787878743434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#"!"!"!        - - - - FEFEFEFEDCBABABA@?@?@?@?>=>=>=>=<;<;<;<;:9:9:9:98787878743434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%"!"!"!"!        - - - - FEFEFEFEBABABABA@?@?@?@?>=>=>=>=<;<;<;<;:9:9:9:98765656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%"!"!"!"!        - - - - FEFEFEFEBABABABA@?@?@?@?>=>=>=>=<;<;<;<;:9:9:9:96565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%"!"!"!"!        - - - - FEDCDCDCBABABABA@?@?@?@?>=>=>=>=<;<;<;<;:9:9:9:96565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%"!"!"!"!        - - - - DCDCDCDCBABABABA@?@?@?@?>=>=>=>=<;<;<;<;:98787876565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%"!"!"!"!      - - - - DCDCDCDCBABABABA@?@?@?@?>=>=>=>=<;<;<;;;878787876565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%"!"!"!"!        - - - - DCDCDCDCBABABABA@?@?@?@?>=>=>=>=;;<;<;<;878787876565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%"!"!"!"!        - - - - DCDCDCDCBABABABA@?@?@?@?>=>=>=>=<;:9:9:9878787876565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%"!"!"!"!        - - - - DCDCDCDCBABABABA@?@?@?@?>=>=>=>=:9:9:9:9878787876565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%$#$#$#"!"!"!"!        - - - - DCDCDCDCBABABABA@?@?@?@?>=>=>=>=:9:9:9:9878787876565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"!        - - - - DCDCDCDCBABABABA@?@?@?@?>=>=>=>=:9:9:9:9878787876565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"!     - - - - DCDCDCDCBABABABA@?@?@?@?>=>=>=>=:9:9:9:9878787876565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('&%&%&%$#$#$#$#"!"!"!"!        - - - - DCDCDCDCBABABABA@?@?@?@?>=>=>=>=:9:9:9:9878787876565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#"!"!"!"!        - - - - DCDCDCDCBABABABA@?@?@?@?>=<;<;<;:9:9:9:9878787876565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#"!"!"!"!        - - - - DCDCDCDCBABABABA@?@?@?@?<;;;;;;<:9:9:9:9878787876565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - ||{{zzyy JJIIHHGGhhiijjkkaa``__^^(())**++IIHHGGFF@@AABBCC1100//..XXYYZZ[[ppqqrrssllkkjjii99::;;AAllmmnnoouuttssrr]]\\[[ZZ,,--..//xxwwvvuu!!""##$$FFEEDDCCllmmnnoo]]\\[[ZZ,,--..//EEDDCCBBDDEEFFGG--,,++**\\]]^^__ttuuvvwwhhggffeeBBCCDDEEppqqrrssqqppoonnYYXXWWVV00112233ttssrrqq%%&&''((BBAA;;::ppqqrrssYYXXWWVV00112233AA@@??>>HHIIJJKK))((''&&``aabbccxxyyzz{{ - - ddccbbaaFFGGHHIIttuuvvwwmmllkkjjUUTTSSRR44556677ppoonnmm))**++,,99887766yyzz{{||UUTTSSRR44556677==<<;;::LLMMNNOO%%$$##""ddeeffgg - -||||{{zz ``__^^]]JJKKLLMMxxyyzz{{ - - iihhggff !!""##QQPPOONN8899::;;llkkjjii--..//0055443322||{{zzyy !!""##QQPPOONN8899::;;99887766PPQQRRSS!! hhiijjkk yyxxwwvvWWVVUUTTNNOOPPQQ ||||{{zz eeddccbb$$%%&&''MMLLKKJJ<<==>>??hhggffee112233441100//..xwvutssr$$%%&&''MMLLKKJJ<<==>>??55443322TTUUVVWWllmmnnoouuttssrrSSRRQQPPRRSSTTUU - - yyxxwwvvaa``__^^(())**++IIHHGGFF@@AABBCCddccbbaa55667788--,,++**rqqppoon(())**++IIHHGGFF@@AABBCC1100//..XXYYZZ[[ppqqrrssqqppoonnOONNMMLLVVWW]]^^uuttssrr]]\\[[ZZ,,--..//EEDDCCBBDDEEFFGG``__^^]]99::;;<<))((''&&nmmllkkj,,--..//EEDDCCBBDDEEFFGG--,,++**\\]]^^__ttuuvvwwmmllkkjjKKJJIIHH__``aabbqqppoonnYYXXWWVV00112233AA@@??>>HHIIJJKK\\[[ZZYY==>>??@@%%jiihhggf00112233AA@@??>>HHIIJJKK))((''&&``aabbccxxyyzz{{ - - iihhggff !!""##GGFFEEDDccddeeffmmllkkjjUUTTSSRR44556677==<<;;::LLMMNNOOEEDDCCBBXXWWVVUUAABBCCDDfeeddccb44556677==<<;;::LLMMNNOO%%$$##""ddeeffgg - -||||{{zz eeddccbb$$%%&&''CCBBAA;;gghhiijj - - iihhggff !!""##QQPPOONN8899::;;99887766PPQQRRSSAA@@??>>TTSSRRQQEEFFGGHHbaa``__^8899::;;99887766PPQQRRSS!! hhiijjkk yyxxwwvvaa``__^^(())**++::998877kkllmmnn eeddccbb$$%%&&''MMLLKKJJ<<==>>??55443322TTUUVVWW==<<;;::PPOONNMMIIJJKKLL^]]\[ZYX<<==>>??55443322TTUUVVWWllmmnnoouuttssrr]]\\[[ZZ,,--..//66554433ooppqqrraa``__^^(())**++IIHHGGFF@@AABBCC1100//..XXYYZZ[[99887766LLKKJJIIMMNNOOPP WWVVUUTT@@AABBCC1100//..XXYYZZ[[ppqqrrssqqppoonnYYXXWWVV00112233221100//ssyyzz{{]]\\[[ZZ,,--..//EEDDCCBBDDEEFFGG--,,++**\\]]^^__55443322HHGGFFEEQQRRSSTT - - SSRRQQPPDDEEFFGG--,,++**\\]]^^__ttuuvvwwmmllkkjjUUTTSSRR44556677..--,,++||||{{zzYYXXWWVV00112233AA@@??>>HHIIJJKK))((''&&``aabbcc1100//..DDCCBBAAUUVVWWXX - - OONNMMLLHHIIJJKK))((''&&``aabbccxxyyzz{{ - - iihhggff !!""##QQPPOONN8899::;;**))((''yyxwvutsUUTTSSRR44556677==<<;;::LLMMNNOO%%$$##""ddeeffgg--,,++**@@??>>==YYZZ[[\\ KKJJIIHHLLMMNNOO%%$$##""ddeeffgg - -||||{{zz eeddccbb$$%%&&''MMLLKKJJ<<==>>??&&%%srrqqppo !!""##QQPPOONN8899::;;99887766PPQQRRSS!! hhiijjkk))((''&&<<;;::99]]^^__``GGFFEEDDPPQQRRSS!! hhiijjkk yyxxwwvvaa``__^^(())**++IIHHGGFF@@AABBCConnmmllk$$%%&&''MMLLKKJJ<<==>>??55443322TTUUVVWWllmmnnoo%%$$##""88776655aabbccddCCBBAA@?TTUUVVWWllmmnnoouuttssrr]]\\[[ZZ,,--..//EEDDCCBBDDEEFFGGkjjiihhg(())**++IIHHGGFF@@AABBCC1100//..XXYYZZ[[ppqqrrss!! 44332211eeffgghh>=<;;::9XXYYZZ[[ppqqrrssqqppoonnYYXXWWVV00112233AA@@??>>HHIIJJKKgffeeddc,,--..//EEDDCCBBDDEEFFGG--,,++**\\]]^^__ttuuvvww00//..--iijjkkll%%98877665\\]]^^__ttuuvvwwmmllkkjjUUTTSSRR44556677==<<;;::LLMMNNOOcbbaa``_00112233AA@@??>>HHIIJJKK))((''&&``aabbccxxyyzz{{,,++**))mmnnoopp&&''(())54433221``aabbccxxyyzz{{ - - iihhggff !!""##QQPPOONN8899::;;99887766PPQQRRSS - -_^^]]\[Z44556677==<<;;::LLMMNNOO%%$$##""ddeeffgg - -||||{{zz((''&&%%qqrrsstt**++,,--100//..-ddeeffgg - -||||{{zz eeddccbb$$%%&&''MMLLKKJJ<<==>>??55443322TTUUVVWW YXWWVVUU8899::;;99887766PPQQRRSS!! hhiijjkk yyxxwwvv$$##""!!uuvvwwxx..//0011-,,++**)hhiijjkk yyxxwwvvaa``__^^(())**++IIHHGGFF@@AABBCC1100//..XXYYZZ[[TTSSRRQQ<<==>>??55443322TTUUVVWWllmmnnoouuttssrr - - yyzz{{||22334455)((''&&%llmmnnoouuttssrr]]\\[[ZZ,,--..//EEDDCCBBDDEEFFGG--,,++**\\]]^^__ - - PPOONNMM@@AABBCC1100//..XXYYZZ[[ppqqrrssqqppoonn ||{{zzyy66778899%$#"! ppqqrrssqqppoonnYYXXWWVV00112233AA@@??>>HHIIJJKK))((''&&``aabbcc LLKKJJIIDDEEFFGG--,,++**\\]]^^__ttuuvvwwmmllkkjjssrrqqpp::;;AABBttuuvvwwmmllkkjjUUTTSSRR44556677==<<;;::LLMMNNOO%%$$##""ddeeffggHHGGFFEEHHIIJJKK))((''&&``aabbccxxyyzz{{ - - iihhggffoonnmmllCCDDEEFFxxyyzz{{ - - iihhggff !!""##QQPPOONN8899::;;99887766PPQQRRSS!! hhiijjkkDDCCBBAALLMMNNOO%%$$##""ddeeffgg - -||||{{zz eeddccbb kkjjiihhGGHHIIJJ||||{{zz eeddccbb$$%%&&''MMLLKKJJ<<==>>??55443322TTUUVVWWllmmnnoo@?>=<;;:PPQQRRSS!! hhiijjkk yyxxwwvvaa``__^^ - - - - ggffeeddKKLLMMNNyyxxwwvvaa``__^^(())**++IIHHGGFF@@AABBCC1100//..XXYYZZ[[ppqqrrss:9988776TTUUVVWWllmmnnoouuttssrr]]\\[[ZZ  - - ccbbaa``OOPPQQRR uuttssrr]]\\[[ZZ,,--..//EEDDCCBBDDEEFFGG--,,++**\\]]^^__ttuuvvww%%&&''((65544332XXYYZZ[[ppqqrrssqqppoonnYYXXWWVV __^^]]WWSSTTUUVV - - qqppoonnYYXXWWVV00112233AA@@??>>HHIIJJKK))((''&&``aabbccxxyyzz{{))**++,,21100//.\\]]^^__ttuuvvwwmmllkkjjUUTTSSRRVVUUTTSSWW]]^^__mmllkkjjUUTTSSRR44556677==<<;;::LLMMNNOO%%$$##""ddeeffgg - -||||{{zz--..//00.--,,++*``aabbccxxyyzz{{ - - iihhggff !!""##QQPPOONNRRQQPPOO``aabbcc - - iihhggff !!""##QQPPOONN8899::;;99887766PPQQRRSS!! hhiijjkk yyssrrqq11223344*))((''&ddeeffgg - -||||{{zz eeddccbb$$%%&&''MMLLKKJJNNMMLLKKddeeffgg eeddccbb$$%%&&''MMLLKKJJ<<==>>??55443322TTUUVVWWllmmnnooppoonnmm55667788&%%$#"! hhiijjkk yyxxwwvvaa``__^^(())**++IIHHGGFF !!""##$$%%&&''MMLLKKJJ<<==>>??&&%%srrqqppo !!""##QQPPOONN8899::;;99887766PPQQRRSS!! hhiijjkk yyxxwwvvWWVVUUTTNNOOPPQQ ||||{{zz eeddccbb$$%%&&''MMLLKKJJ<<==>>??55443322TTUUVVWWllmmnnoo(())**++))((''&&(())**++IIHHGGFF@@AABBCConnmmllk$$%%&&''MMLLKKJJ<<==>>??55443322TTUUVVWWllmmnnoouuttssrrSSRRQQPPRRSSTTUU - - yyxxwwvvaa``__^^(())**++IIHHGGFF@@AABBCC1100//..XXYYZZ[[ppqqrrss,,--..//%%$$##"",,--..//EEDDCCBBDDEEFFGGkjjiihhg(())**++IIHHGGFF@@AABBCC1100//..XXYYZZ[[ppqqrrssqqppoonnOONNMMLLVVWW]]^^uuttssrr]]\\[[ZZ,,--..//EEDDCCBBDDEEFFGG--,,++**\\]]^^__ttuuvvww00112233!! 00112233AA@@??>>HHIIJJKKgffeeddc,,--..//EEDDCCBBDDEEFFGG--,,++**\\]]^^__ttuuvvwwmmllkkjjKKJJIIHH__``aabbqqppoonnYYXXWWVV00112233AA@@??>>HHIIJJKK))((''&&``aabbccxxyyzz{{4455667744556677==<<;;::LLMMNNOOcbbaa``_00112233AA@@??>>HHIIJJKK))((''&&``aabbccxxyyzz{{ - - iihhggff !!""##GGFFEEDDccddeeffmmllkkjjUUTTSSRR44556677==<<;;::LLMMNNOO%%$$##""ddeeffgg - -||ttssrr8899::;;8899::;;99887766PPQQRRSS - -_^^]]\[Z44556677==<<;;::LLMMNNOO%%$$##""ddeeffgg - -||||{{zz eeddccbb$$%%&&''CCBBAA;;gghhiijj - - iihhggff !!""##QQPPOONN8899::;;99887766PPQQRRSS!! hhiijjkk qqppoonnAABBCCDD<<==>>??55443322TTUUVVWW YXWWVVUU8899::;;99887766PPQQRRSS!! hhiijjkk yyxxwwvvaa``__^^(())**++::998877kkllmmnn eeddccbb$$%%&&''MMLLKKJJ<<==>>??55443322TTUUVVWWllmmnnoommllkkjjEEFFGGHH@@AABBCC1100//..XXYYZZ[[TTSSRRQQ<<==>>??55443322TTUUVVWWllmmnnoouuttssrr]]\\[[ZZ,,--..//66554433ooppqqrraa``__^^(())**++IIHHGGFF@@AABBCC1100//..XXYYZZ[[ppqqrrssiihhggffIIJJKKLL - -DDEEFFGG--,,++**\\]]^^__ - - PPOONNMM@@AABBCC1100//..XXYYZZ[[ppqqrrssqqppoonnYYXXWWVV00112233221100//ssyyzz{{]]\\[[ZZ,,--..//EEDDCCBBDDEEFFGG--,,++**\\]]^^__ttuuvvwweeddccbbMMNNOOPP - - HHIIJJKK))((''&&``aabbcc LLKKJJIIDDEEFFGG--,,++**\\]]^^__ttuuvvwwmmllkkjjUUTTSSRR44556677..--,,++||||{{zzYYXXWWVV00112233AA@@??>>HHIIJJKK))((''&&``aabbccxxyyzz{{ - - aa``__^^QQRRSSTT LLMMNNOO%%$$##""ddeeffggHHGGFFEEHHIIJJKK))((''&&``aabbccxxyyzz{{ - - iihhggff !!""##QQPPOONN8899::;;**))((''yyxwvutsUUTTSSRR44556677==<<;;::LLMMNNOO%%$$##""ddeeffgg - -||||{{zz ]]WWVVUUUUVVWW]]PPQQRRSS!! hhiijjkkDDCCBBAALLMMNNOO%%$$##""ddeeffgg - -||||{{zz eeddccbb$$%%&&''MMLLKKJJ<<==>>??&&%%srrqqppo !!""##QQPPOONN8899::;;99887766PPQQRRSS!! hhiijjkk yyxxwwvvTTSSRRQQ^^__``aaTTUUVVWWllmmnnoo@?>=<;;:PPQQRRSS!! hhiijjkk yyxxwwvvaa``__^^(())**++IIHHGGFF@@AABBCConnmmllk$$%%&&''MMLLKKJJ<<==>>??55443322TTUUVVWWllmmnnoouuttssrrPPOONNMMbbccddeeXXYYZZ[[ppqqrrss:9988776TTUUVVWWllmmnnoouuttssrr]]\\[[ZZ,,--..//EEDDCCBBDDEEFFGGkjjiihhg(())**++IIHHGGFF@@AABBCC1100//..XXYYZZ[[ppqqrrssqqppoonnLLKKJJIIffgghhii\\]]^^__ttuuvvww%%&&''((65544332XXYYZZ[[ppqqrrssqqppoonnYYXXWWVV00112233AA@@??>>HHIIJJKKgffeeddc,,--..//EEDDCCBBDDEEFFGG--,,++**\\]]^^__ttuuvvwwmmllkkjjHHGGFFEEjjkkllmm !!""##``aabbccxxyyzz{{))**++,,21100//.\\]]^^__ttuuvvwwmmllkkjjUUTTSSRR44556677==<<;;::LLMMNNOOcbbaa``_00112233AA@@??>>HHIIJJKK))((''&&``aabbccxxyyzz{{ - - iihhggff !!""##DDCCBBAAnnooppqq$$%%&&''ddeeffgg - -||||{{zz--..//00.--,,++*``aabbccxxyyzz{{ - - iihhggff !!""##QQPPOONN8899::;;99887766PPQQRRSS - -_^^]]\[Z44556677==<<;;::LLMMNNOO%%$$##""ddeeffgg - -||||{{zz eeddccbb$$%%&&'';;::9988qqppoonn(())**++hhiijjkk yyssrrqq11223344*))((''&ddeeffgg - -||||{{zz eeddccbb$$%%&&''MMLLKKJJ<<==>>??55443322TTUUVVWW YXWWVVUU8899::;;99887766PPQQRRSS!! hhiijjkk yyxxwwvvaa``__^^(())**++77665544mmllkkjj,,--..//llmmnnooppoonnmm55667788&%%$#"! hhiijjkk yyxxwwvvaa``__^^(())**++IIHHGGFF@@AABBCC1100//..XXYYZZ[[TTSSRRQQ<<==>>??55443322TTUUVVWWllmmnnoouuttssrr]]\\[[ZZ,,--..//33221100iihhggff00112233ppqqrrssllkkjjii99::;;AAllmmnnoouuttssrr]]\\[[ZZ,,--..//EEDDCCBBDDEEFFGG--,,++**\\]]^^__ - - PPOONNMM@@AABBCC1100//..XXYYZZ[[ppqqrrssqqppoonnYYXXWWVV00112233//..--,,eeddccbb44556677ttuuvvwwhhggffeeBBCCDDEEppqqrrssqqppoonnYYXXWWVV00112233AA@@??>>HHIIJJKK))((''&&``aabbcc LLKKJJIIDDEEFFGG--,,++**\\]]^^__ttuuvvwwmmllkkjjUUTTSSRR44556677++**))((aa``__^^8899::;;xxyyzz{{ - - ddccbbaaFFGGHHIIttuuvvwwmmllkkjjUUTTSSRR44556677==<<;;::LLMMNNOO%%$$##""ddeeffggHHGGFFEEHHIIJJKK))((''&&``aabbccxxyyzz{{ - - iihhggff !!""##QQPPOONN8899::;;''&&%%]]\\[[ZZ<<==>>??||||{{zz ``__^^]]JJKKLLMMxxyyzz{{ - - iihhggff !!""##QQPPOONN8899::;;99887766PPQQRRSS!! hhiijjkkDDCCBBAALLMMNNOO%%$$##""ddeeffgg - -||||{{zz eeddccbb$$%%&&''MMLLKKJJ<<==>>??YYXXWWVV@@AABBCCyyxxwwvvWWVVUUTTNNOOPPQQ ||||{{zz eeddccbb$$%%&&''MMLLKKJJ<<==>>??55443322TTUUVVWWllmmnnoo@?>=<;;:PPQQRRSS!! hhiijjkk yyxxwwvvaa``__^^(())**++IIHHGGFF@@AABBCCUUTTSSRRDDEEFFGGuuttssrrSSRRQQPPRRSSTTUU - - yyxxwwvvaa``__^^(())**++IIHHGGFF@@AABBCC1100//..XXYYZZ[[ppqqrrss:9988776TTUUVVWWllmmnnoouuttssrr]]\\[[ZZ,,--..//EEDDCCBBDDEEFFGGQQPPOONNHHIIJJKKqqppoonnOONNMMLLVVWW]]^^uuttssrr]]\\[[ZZ,,--..//EEDDCCBBDDEEFFGG--,,++**\\]]^^__ttuuvvww%%&&''((65544332XXYYZZ[[ppqqrrssqqppoonnYYXXWWVV00112233AA@@??>>HHIIJJKKMMLLKKJJLLMMNNOOmmllkkjjKKJJIIHH__``aabbqqppoonnYYXXWWVV00112233AA@@??>>HHIIJJKK))((''&&``aabbccxxyyzz{{))**++,,21100//.\\]]^^__ttuuvvwwmmllkkjjUUTTSSRR44556677==<<;;::LLMMNNOO IIHHGGFFPPQQRRSSiihhggff !!""##GGFFEEDDccddeeffmmllkkjjUUTTSSRR44556677==<<;;::LLMMNNOO%%$$##""ddeeffgg - -||||{{zz--..//00.--,,++*``aabbccxxyyzz{{ - - iihhggff !!""##QQPPOONN8899::;;99887766PPQQRRSS - - - -EEDDCCBBTTUUVVWWeeddccbb$$%%&&''CCBBAA;;gghhiijj - - iihhggff !!""##QQPPOONN8899::;;99887766PPQQRRSS!! hhiijjkk yyssrrqq11223344*))((''&ddeeffgg - -||||{{zz eeddccbb$$%%&&''MMLLKKJJ<<==>>??55443322TTUUVVWW AA@@??>>XXYYZZ[[aa``__^^(())**++::998877kkllmmnn eeddccbb$$%%&&''MMLLKKJJ<<==>>??55443322TTUUVVWWllmmnnooppoonnmm55667788&%%$#"! hhiijjkk yyxxwwvvaa``__^^(())**++IIHHGGFF@@AABBCC1100//..XXYYZZ[[==<<;;::\\]]^^__]]\\[[ZZ,,--..//66554433ooppqqrraa``__^^(())**++IIHHGGFF@@AABBCC1100//..XXYYZZ[[ppqqrrssllkkjjii99::;;AAllmmnnoouuttssrr]]\\[[ZZ,,--..//EEDDCCBBDDEEFFGG--,,++**\\]]^^__99887766``aabbccYYXXWWVV00112233221100//ssyyzz{{]]\\[[ZZ,,--..//EEDDCCBBDDEEFFGG--,,++**\\]]^^__ttuuvvwwhhggffeeBBCCDDEEppqqrrssqqppoonnYYXXWWVV00112233AA@@??>>HHIIJJKK))((''&&``aabbcc55443322ddeeffggUUTTSSRR44556677..--,,++||||{{zzYYXXWWVV00112233AA@@??>>HHIIJJKK))((''&&``aabbccxxyyzz{{ - - ddccbbaaFFGGHHIIttuuvvwwmmllkkjjUUTTSSRR44556677==<<;;::LLMMNNOO%%$$##""ddeeffgg1100//..hhiijjkkQQPPOONN8899::;;**))((''yyxwvutsUUTTSSRR44556677==<<;;::LLMMNNOO%%$$##""ddeeffgg - -||||{{zz ``__^^]]JJKKLLMMxxyyzz{{ - - iihhggff !!""##QQPPOONN8899::;;99887766PPQQRRSS!! hhiijjkk%%&&''--,,++**llmmnnooppqqfpvbHAZtbdQf`vXJtArdnXvےbHAtbdQZfH~XQr˂JtArdnXvےbHAbnvr˂p|ZdQtA~HfrXQJ`JltpZHAb|ZdQ`f~Zp˂nXv`p˂rZ|dnvp|ZdQ`f~Zp˂|drf`vXpZHAb|ZdQ`f~Zp˂pfHZHAbrd|pvnےbHAbnvے`JbtlHfpvrXQJ`f~HXQJ`ےrtAdQZfH~btlHfpvrXQJ`tAJlnvpے`JbtlHfpvrXQJ`f`vXے`JXQZdQbtXv`fZp˂pfHXQr˂JtArdnXvےbHAfpvbHAZ|drvpfJtArdnXvےbHAtbdQZfH~XQr˂JtArdnXvےJlnvpr˂plJtA~HfrXQJ`f`vXpZHAb|ZdQ`f~Zp˂nXv`p˂rtAJlے`JXQ|ZdQ`f~Zp˂|drf`vXpZHAb|ZdQ`fHtbdQZfH~`JXQrrd|pvnےJlnvpے`JbtlHfpvrXQJ`f~HXQJ`ےtbdQZrZHAbtlHfpvrXQJ`tAJlnvpے`Jbtlfpv|drf`vX˂pZZdQbtXv`ftbdQZfH~XQr˂JtArdnXvےbHAfpvbHAZ|drbے`JtArdnXvےbHAtbdQZfH~XQr˂JtArdnrXQJtAJlnvpHAbےl|Zfpv|drf`vXpZHAb|ZdQ`f~Zp˂nXv`p˂rtAJlJXQr|ZdQ`f~Zp˂|drf`vXpZHAb|ZdQ`ےHAtbdQZfH~`JXQrdQbtnrXQJtAJlnvpے`JbtlHfpvrXQJ`f~HXQJ`ےtdrtApZHAbtlHfpvrXQJ`tAJlnvpے`JbtlZp˂|drf`vX˂pZlJtAr`ےHAtbdQZfH~XQr˂JtArdnXvےbHA|drfpvbHAZJltbے`JtArdnXvےbHAtbdQZfH~XQr˂JfpvrXQJ`tAJlnvpHAbd|ZZp˂|drf`vXpZHAb|ZdQ`f~Zp˂tAJlnXv`p˂rbdQZ|JXQr|ZdQ`f~Zp˂|drf`vXpZHAnXvےbHAtbdQZfH~˂pZHAdQbtrXQJ`tAJlnvpے`JbtlHfpvrXQJ`tbdQZf~HXQJ`ےdrtApZAbbtlHfpvrXQJ`tAJlnvpے`JXQ`f~Zp˂|drf`vXbے`lJtArےbHAtbdQZfH~XQr˂JtArdnXvےbHA|drfpvbHAZJlt`JXQrJtArdnXvےbHAtbdQZfH~rbtHfpvrXQJ`tAJlnvpJXQrdtlZp˂|drf`vXpZHAb|ZdQ`f~Zp˂tAJlnXv`p˂rbdQZ|˂pZ|ZdQ`f~Zp˂|drf`vXlJtAdnXvےbHAtbdQZfH~˂pZHAJfpvrXQJ`tAJlnvpے`JbtlHfpvrXQJ`tbdQZf~HXQJ`ے`vXnHAbےbtlHfpvrXQJ`tAJlnvp|ZdQ`f~Zp˂|drf`vXbے`nvfےbHAtbdQZfH~XQr˂JtArdnXvےbHA|drfpvbHAZvpf`JXQrJtArdnXvےbHAtbdQZfے`JbtlHfpvrXQJ`tAJlnvpJXQHAb~HfpZp˂|drf`vXpZHAb|ZdQ`f~Zp˂tAJlnXv`p˂rH~f˂pZ|ZdQ`f~Zp˂|dtAXQr˂JtArdnXvےbHAtbdQZfH~ے`JvnXrXQJ`tAJlnvpے`JbtlHfpvrXQJ`tbdQZf~HXQJ`ے`vXnHAbbtlHfpvrXQJ`JltpZHAb|ZdQ`f~Zp˂|drf`vXXQr˂v`fےbHAtbdQZfH~XQr˂JtArdnXvےbHA|drfpvbHAZvpfJQr˂pJtArdnXvےbHAbnvے`JbtlHfpvrXQJ`tAJlnvppZHAb~HfpZp˂|drf`vXpZHAb|ZdQ`f~Zp˂tAJlnXv`p˂rH~ZHAb|ZdQ`f~Zp˂pfHXQr˂JtArdnXvےbHAtbdQZfH~ے`JvnXrXQJ`tAJlnvpے`JbtlHfpvrXQJ`tbdQZf~HXQJ`ےvpfHے`JXbtlHfpvrXQJ`f`vXpZHAb|ZdQ`f~Zp˂|drf`vXXQr˂v`f~ےbHAtbdQZfH~XQr˂JtArdnXvےJl|drfpvbHAZ~f`Qr˂pJtArdnXvےJlnvpے`JbtlHfpvrXQJ`tAJlnvpp`JXQfpvZp˂|drf`vXpZHAb|ZdQ`fHtbdQZtAJlnXv`p˂rvXnZHAb|ZdQ`fHtbdQZfH~XQr˂JtArdnXvےbHAtbdQZfH~rbtnXv`rXQJ`tAJlnvpے`Jbtlfpv|drtbdQZf~HXQJ`ےvpfHے`JXbtlfpv|drf`vXpZHAb|ZdQ`f~Zp˂|drf`vXl|ZdQf~HےbHAtbdQZfH~XQr˂JtArdnrXQJtAJl|dtAfpvJlt~f`QrZHAJtArdnrXQJtAJlnvpے`JbtlHfpvrXQJ`tAJlnvpbtlfpvZp˂|drf`vXpZHAb|ZdQ`ےHAtbdQZJltnXv`drtAJvXH~bے`|ZdQ`ےHAtbdQZfH~XQr˂JtArdnXvےbHAtbdQZfH~JtArdnXv`rXQJ`tAJlnvpے`JbtlZp˂|drbnvf~Hltbf`vJXQrbtlZp˂|drf`vXpZHAb|ZdQ`f~Zp˂|drf`vX|ZdQf~HےbHAtbdQZfH~XQr˂JfpvrXQJ`tAJlpfHfpvdQZ|Xnv˂pZHAJfpvrXQJ`tAJlnvpے`JbtlHfpvrXQJ`tAJlnvpbtlfvnXZp˂|drf`vXpZHAnXvےbHAtbdQZf`vXnXv`drtAJpfH~bے`nXvےbHAtbdQZfH~XQr˂JtArdnXvےbHAtbdQZfH~JtArdv`frXQJ`tAJlnvpے`JXQ`f~Zp˂|drnvpp˂rltbf`vJXQr`f~Zp˂|drf`vXpZHAb|ZdQ`f~Zp˂|drf`vXtlJ~HfpےbHAtbdQZfH~rbtHfpvrXQJ`tAJlfH~XQJ`ےdQZ|lXnv˂pZHAHfpvrXQJ`tAJlnvpے`JbtlHfpvrXQJ`tAJlnvptArdvnXZp˂|drf`vXlJtAdnXvےbHAtbdQZf`vXbHAZtbdQp`vXbJAdnXvےbHAtbdQZfH~XQr˂JtArdnXvےbHAtbdQZfے`J|ZdQbv`frXQJ`tAJlnvp|ZdQ`f~Zp˂|drnvpp˂rZ|dnvp|ZdQ`f~Zp˂|drf`vXpZHAb|ZdQ`f~Zp˂|dtAXQHAbtlJ~HfpےbHAtbdQZfے`JbtlHfpvrXQJ`tAJlfH~XQJ`ےrtAJlfH~btlHfpvrXQJ`tAJlnvpے`JbtlHfpvrXQJ`Jltے`JXQtArdvnvfZp˂|dtAXQr˂JtArdnXvےbHAtbdQZf`vXnvpے`Jbtlv~rtAJlf`vXpZHAb|ZdQ`f~Zp˂|drf`vXpZHAnXvےbHAltb~f``JXQrJfpvrXQJ`tAJlnvpے`JbtlHfpvrXQJ`tAJlnvpJAHr󙐅f۝`vfH~XQr˂JtArdHfpvtbdnvpے`JbtlHfpvrXQJ`tAJlnvpے`JXQ`f~Zp˂dQZ|vXn˂pZAnXvےbHAtbdQZfH~XQr˂JtArdnXvےbHAtbdQZfH~ˁ`ZQXXnvf`vXpZHAb|ZdQnXvQZ|dfH~XQr˂JtArdnXvےbHAtbdQZfH~rbtHfpvrXQJ`drtAJvp`v`JXQ`f~Zp˂|drf`vXpZHAb|ZdQ`f~Zp˂|drf`vXb㉀ۑppfH~nvpے`Jbtl`f~rtAJlf`vXpZHAb|ZdQ`f~Zp˂|drf`vXlJtAdnXvےbHAltbXnvrbtHfpvrXQJ`tAJlnvpے`JbtlHfpvrXQJ`tAJlnvpJAHr󙐅f۝`vfH~XQr˂JtArdHfpvtbdnvpے`JbtlHfpvrXQJ`tAJlnvp|ZdQ`f~Zp˂dQZ|pfH~lJtAdnXvےbHAtbdQZfH~XQr˂JtArdnXvےbHAtbdQZfZHAbˁ`ZQXXnvf`vXpZHAb|ZdQnXvQZ|rfH~XQr˂JtArdnXvےbHAtbdQZfے`JbtlHfpvrXQJ`drtAdQf`v|ZdQ`f~Zp˂|drf`vXpZHAb|ZdQ`f~Zp˂|dtAے`JAHr󙐂ˍpfH~nvpے`Jbtl`pvAJltf`vXpZHAb|ZdQ`f~Zp˂|dtAXQr˂JtArdnXvےbHAZ|dXnvbtlHfpvrXQJ`tAJlnvpے`JbtlHfpvrXQJ`JltXQr˂`ZQXbㅐf۝`vfH~XQr˂JtArdnrXQJbdQZ|nvpے`JbtlHfpvrXQJ`JltpZHAb|ZdQ`f~Zp˂rtAJlpfH~JtArdnXvےbHAtbdQZfH~XQr˂JtArdnXvےbHAbnvpZHAbۑpJXnvf`vXpZHAb|ZdQ`p˂drtAfH~XQr˂JtArdnXvےbHAbnvے`JbtlHfpvrXQJ`tbdQvp|ZdQ`f~Zp˂|drf`vXpZHAb|ZdQ`f~Zp˂pfHے`JAHr󙐂ˍp|dnvpے`JbtlrXQJ`Jltf`vXpZHAb|ZdQ`f~Zp˂pfHXQr˂JtArdnXvےbHAZ|dfے`JbtlHfpvrXQJ`tAJlnvpے`JbtlHfpvrXQJ`f`vXXQr˂`ZQXbrQtJlfH~XQr˂JtArdےbHAbdQZ|nvpے`JbtlHfpvrXQJ`f`vXpZHAb|ZdQ`f~Zp˂rtAJlXQrZHJtArdnXvےbHAtbdQZfH~XQr˂JtArdnXvےJlnvpp`JXQۑp`tbAdf`vXpZHAb|ZdQZp˂drtAfH~XQr˂JtArdnXvےJlnvpے`JbtlHfpvrXQJ`tdrAbے`|ZdQ`f~Zp˂|drf`vXpZHAb|ZdQ`fHtbdQZfH~r˂pZQXb㉀Z|dnvpے`JbtlrXQJ`JbdQf`vXpZHAb|ZdQ`fHtbdQZfH~XQr˂JtArdnXvےbHAtAJl璁JXQrbtlHfpvrXQJ`tAJlnvpے`Jbtlfpv|drf`vXZHAbۑpJAHrQtJlfH~XQr˂JtArdےbHAZ|dnvpے`Jbtlfpv|drf`vXpZHAb|ZdQ`f~Zp˂tbdQZ˂pZHJtArdnXvےbHAtbdQZfH~XQr˂JtArdnrXQJtAJlnvpے`JXQr󙐂ˁ`tbAdf`vXpZHAb|ZdQXQJ`ےrtAJlfH~XQr˂JtArdnrXQJtAJlnvpے`JbtlHfpvrXQJ`|drAbے`|ZdQ`f~Zp˂|drf`vXpZHAb|ZdQ`ےHAtbdQZfH~r˂pZQXb㉀Z|dnvpے`JbtlbHAZtbdQf`vXpZHAb|ZdQ`ےHAtbdQZfH~XQr˂JtArdnXvےbHAtAJl璁JXQrbtlHfpvrXQJ`tAJlnvpے`JbtlZp˂|drf`vXZHAbۑpJAHrQtJlfH~XQr˂Jfpvp˂rZ|dnvpے`JbtlZp˂|drf`vXpZHAb|ZdQ`f~Zp˂tbdQZ˂pZAbJtArdnXvےbHAtbdQZfH~XQr˂JfpvrXQJ`tAJlnvp˂pZf۝`vtbAdf`vXpZHA~HXQJ`ےrtAJlfH~XQr˂JfpvrXQJ`tAJlnvpے`JbtlHfpvrXQJ`|lt`JXQ|ZdQ`f~Zp˂|drf`vXpZHAnXvےbHAtbdQZfH~HAbےXnvZ|dnvpے`JXQfpvbHAZtbQZf`vXpZHAnXvےbHAtbdQZfH~XQr˂JtArdnXvےbHAbnvr˂pbtlHfpvrXQJ`tAJlnvpے`JXQ`f~Zp˂|drf`vX`JXQrpfH~rQtJlfH~rbtnXv`p˂drtAJnvpے`JXQ`f~Zp˂|drf`vXpZHAb|ZdQ`f~Zp˂p`vXZHAbJtArdnXvےbHAtbdQZfH~rbtHfpvrXQJ`tAJlnvp˂pZf۝`vtbAdf`vXlJtAdf~HbHAZpltbfH~rbtHfpvrXQJ`tAJlnvpے`JbtlHfpvrXQJ`nvpے`JXQ|ZdQ`f~Zp˂|drf`vXlJtAdnXvےbHAtbdQZfH~HAbےXnvZ|dnvp|ZdQfpv˂rXQdQZ|f`vXlJtAdnXvےbHAtbdQZfH~XQr˂JtArdnXvےbHAfH~r˂pbtlHfpvrXQJ`tAJlnvp|ZdQ`f~Zp˂|drf`vX`JXQHApfH~rQtJlfے`JbtlnXv`J`ےdrtAJnvp|ZdQ`f~Zp˂|drf`vXpZHAb|ZdQ`f~Zp˂f`vXZHAbJtArdnXvےbHAtbdQZfے`JbtlHfpvrXQJ`tAJlnvpbے`f۝`vtbAdXQr˂JtArdpvnbHAZpltbfے`JbtlHfpvrXQJ`tAJlnvpے`JbtlHfpvrXQJ`nvpJQr|ZdQ`f~Zp˂|dtAXQr˂JtArdnXvےbHAtbdQZfH~JXQrXnvZ|dpZHAb|ZdQXv`f˂rXQdQZ|XQr˂JtArdnXvےbHAtbdQZfH~XQr˂JtArdnXvےbHAfH~pZHAbtlHfpvrXQJ`JltpZHAb|ZdQ`f~Zp˂|drf`vX˂pZHApfH~rQtJlے`Jbtl~HfJ`p˂AJltpZHAb|ZdQ`f~Zp˂|drf`vXpZHAb|ZdQ`f~Zp˂vpfbے`JtArdnXvےbHAbnvے`JbtlHfpvrXQJ`tAJlnvpbے`f۝`vtbAdXQr˂JtArdpvnrXQJbnvے`JbtlHfpvrXQJ`tAJlnvpے`JbtlHfpvrXQJ`H~fJXQr|ZdQ`f~Zp˂pfHXQr˂JtArdnXvےbHAtbdQZfH~JXQrXnvZ|dpZHAb|ZdQXv`f`ےbpfHXQr˂JtArdnXvےbHAtbdQZfH~XQr˂JtArdnXvےJl`vXnpZHAbtlHfpvrXQJ`f`vXpZHAb|ZdQ`f~Zp˂|drf`vX˂p`ZpfH~rQtJlے`Jbtl~HXHAZp˂f`vXpZHAb|ZdQ`f~Zp˂|drf`vXpZHAb|ZdQ`fHtdrtAvpfbے`JtArdnXvےJlnvpے`JbtlHfpvrXQJ`tAJlnvpQXb㉀ۅf۝`vtbAdXQr˂JtArdv`frXQJnvpے`JbtlHfpvrXQJ`tAJlnvpے`JbtlfpvJltH~fJXQrZ|ZdQ`fHtbdQZfH~XQr˂JtArdnXvےbHAtbdQZfH~pJAHrXnvZ|dpZHAb|ZdQ~Hfp`ےbfH~XQr˂JtArdnXvےbHAtbdQZfH~XQr˂JtArdnrXQJbdQZ|`vXHHAbےbtlfpv|drf`vXpZHAb|ZdQ`f~Zp˂|drf`vXˁ`ZpfH~rQtJlے`JbtlvnXHAXQJ`f`vXpZHAb|ZdQ`f~Zp˂|drf`vXpZHAb|ZdQ`ےHAdrtA~f``JXQrJtArdnrXQJtAJlnvpے`JbtlHfpvrXQJ`tAJlnvpQXb㉀ۅf۝`vtbAdXQr˂JtArdv`fےJlnvpے`JbtlHfpvrXQJ`tAJlnvpے`JbtlZp˂JltvXn˂pZ|ZdQ`ےHAtbdQZfH~XQr˂JtArdnXvےbHAtbdQZfH~pJAHrXnvZ|dpZHAb|ZdQ~HfptbQZdfH~XQr˂JtArdnXvےbHAtbdQZfH~XQr˂JfpvrXQJ`bdQZ|vpfHHAbےbtlZp˂|drf`vXpZHAb|ZdQ`f~Zp˂|drf`vXۑppfH~rQtJltuvwxyz{||{zyxwv5555555566666666666666666666666666 \ No newline at end of file diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv28_0.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv28_0.dat deleted file mode 100644 index 2f3b6460de..0000000000 --- a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv28_0.dat +++ /dev/null @@ -1,257 +0,0 @@ -~}~}~}~}|{|{|{|{zyzyzyzywwwwwxwxuvuvuvuvststststqrqrqrqropopopopopopopopmnmnmnmnklklklklijijijijghghghghgfefefefefefefefcdcdcdcdabababab______`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGEFEFEFEFCDCDCDCDABABABAB?@?@?@?@?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:787878787878787856565656~}~}~}~}|{|{|{|{zyzyzyzywxwxwxwxuvuvuvuvststststqrqrqrqropopopopopopopopmnmnmnmnklklklklijijijijghghghghefefefefefefefefcdcdcdcdabababab`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGEFEFEFEFCDCDCDCDABABABAB?@?@?@?@?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:787878787878787856565656~}~}~}~}|{|{|{|{zyzyzyzywxwxwxwxuvuvuvuvststststqrqrqrqropopopoponmnmnmnmnmnmnmnklklklklijijijijghghghghefefefefefefefefcdcdcdcdabababab`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMNMNMNMNMLKLKLKLKJIJIJIJIGGGGGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:787878787878787856565656~}~}~}~}|{|{|{|{zyzyxwxwwxwxwxwxuvuvuvuvststststqrqrqrqropopopopmnmnmnmnmnmnmnmnklklklklijijijijghghghghefefefefefefefefcdcdcdcdababa`_``_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMNMNMNMNMLKLKLKLKJIJIJIJIGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:78787878787878765656565634343434~}~}~}~}~}~}~}~}|{|{|{|{xwxwwwwwwxwxwxwuuvuvuvuvststststqrqrqrqropopopopmnmnmnmnmnmnmnmnklklklklijijijijghghghghefefefefefefefefcdcdcdcb_`_`____`_`_____^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMNMNMNMNMLKLKLKLKJIJIJIJIGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:78787878565656565656565634343434~}~}~}~}~}~}~}~}|{|{|{zywxwxwxwxuuuuuvuvuvuvuvuvststststqrqrqrqropopopopmnmnmnmnmnmnmnmnklklklklijijijijghghghghefefefefefefefefabababab__`_`_`_`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMNMNMNMNMLKLKLKLKJIJIHGHGGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@?@?@?@?>=>=>=>=>;<;<;<;<9:9:9:9:78787878565656565656565634343434~}~}~}~}~}~}~}~}zyzyzyzywxwxwxwxuvuvuvuvuvuvuvuvststststqrqrqrqropopopopmnmnmnmnmnmnmnmnklklklklijijijijghghghghefefefefedcdcdcdabababab`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMNMNMNMNMLKLKLKJIHGHGGGGGGHGGGGGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>=>=>=>=>;<;<;<;<9:9:9:9:78787878565656565656565634343434~}~}~}~}~}~}~}~}zyzyzyzywxwxwxwxuvuvuvuvuvuvuvuvststststqrqrqrqropopopopmnmnmnmnmnmnmnmnklklklklijijijijghghghghefefefefcdcdcdcdabababab`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMNMNMNMNMJIJIJIJIGHGHGHGHGHGHGHGFEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>=>=>=>=>;<;<;<;<9:9:9:9:78787878565656565656565634343434~}~}~}~}|{|{|{|{zyzyzyzywxwxwxwxuvuvuvuvuvuvuvuvststststqrqrqrqropopopopmnmnmnmnmlklklklklklklklijijijijghghghghefefefefcdcdcdcdabababab`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIGHGHGHGHEFEFEFEFEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>=>=>=>=>;<;<;<;<9:9:9:9:78787878565656565656565634343434~}~}~}~}|{|{|{|{zyzyzyzywxwxwxwwuvuvuvuvuvuvuvuvststststqrqrqrqropopopopmnmnmnmnklklklklklklklklijijijijghghghghefefefefcdcdcdcdabababab`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIGHGHGHGHEFEFEFEFEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>=>=>=>=>;<;<;<;<9:9:9:9:78787878565656565656565434343434~}~}~}~}|{|{|{|{zyzyzyzywwwwxwxwuvuvuvuvutstststststststqrqrqrqropopopopmnmnmnmnklklklklklklklklijijijijghghghghefefefefcdcdcdcdabababab_____`_`^]^]^]^]^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIGHGHGHGHEFEFEFEFEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>=>=>=>=>;<;<;<;<9:9:9:9:78787878565656563434343434343434~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwuvuvuvuvststststststststqrqrqrqropopopopmnmnmnmnklklklklklklklklijijijijghghghghefefefefcdcdcdcdabababab_`_`_`_`^]^]^]^]^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIGHGHGHGGEFEFEFEFEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>=>=>=>=<;<;<;<;<9:9:9:9:78787878565656563434343434343212~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwuvuvuvuvststststststststqrqrqrqropopopopmnmnmnmnklklklklklklklklijijijijghghghghefefefefcdcdcdcdabababab_`_`_`_`^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIGGGGHGHGEFEFEFEFEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<;<;<;<;<9:9:9:9:78787878565656563434343412121212~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwuvuvuvuvststststststststqrqrqrqropopopopmnmnmnmnklklklklklklklklijijijijghghghghefefefefcdcdcdcdabababab_`_`_`_`^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGEFEFEFEFEFEFEFEDCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<;<;<;<;<9:9:9:9:78787878565656563434343412121212~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwuvuvuvuvststststststststqrqrqrqropopopopmnmnmnmnklklklklkjijijijijijijijghghghghefefefefcdcdcdcdabababab_`_`_`_`^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGEFEFEFEFCDCDCDCDCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<;<;<;<;<9:9:9:9:78787878565656563434343412121212~}~}~}~}|{|{|{|{zyzyzyzyxwwwwwwxuvuvuvuvststststststststqrqrqrqropopopopmnmnmnmnklklklklijijijijijijijijghghghghefefefefcdcdcdcdabababab_`______^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGEFEFEFEFCDCDCDCDCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<;<;<;<;<9:9:9:9:78787878565656563434343412121212~}~}~}~}|{|{|{|{zyzyzyzywxwxwxwxuvuvuvuvststststsrqrqrqrqrqrqrqropopopopmnmnmnmnklklklklijijijijijijijijghghghghefefefefcdcdcdcdabababab`_`_`_`_^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGEFEFEFEFCDCDCDCDCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<;<;<;<;<9:9:9:9:78787878565656563434343412121212~}~}~}~}|{|{|{|{zyzyzyzywxwxwxwxuvuvuvuvststststqrqrqrqrqrqrqrqropopopopmnmnmnmnklklklklijijijijijijijijghghghghefefefefcdcdcdcdabababab`_`_`_`_^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIHGGGGGGHEFEFEFEFCDCDCDCDCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<;<;<;<;:9:9:9:9:78787878565656563434343412121212~}~}~}~}|{|{|{|{zyzyzyzywxwxwxwxuvuvuvuvststststqrqrqrqrqrqrqrqropopopopmnmnmnmnklklklklijijijijijijijijghghghghefefefefcdcdcdcdabababab`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIGHGHGHGHEFEFEFEFCDCDCDCDCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:9:9:9:9:78787878565656563434343412121212~}~}~}~}|{|{|{|{zyzyzyzywxwxwxwxuvuvuvuvststststqrqrqrqrqrqrqrqropopopopmnmnmnmnklklklklijijijijijijijijghghghghefefefefcdcdcdcdabababab`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIGHGHGHGHEFEFEFEFCDCDCDCDCDCDCDCBABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:9:9:9:9:78787878565656563434343412121212~}~}~}~}|{|{|{|{zyzyzyzywxwxwwwwuvuvuvuvststststqrqrqrqrqrqrqrqropopopopmnmnmnmnklklklklijijijijihghghghghghghghefefefefcdcdcdcdabababab`_`_`___^]^]^]^]\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIGHGHGHGHEFEFEFEFCDCDCDCDABABABABABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:9:9:9:9:78787878565656563434343412121212~}~}~}~}|{|{|{|{zyzyzyzywwxwxwxwuvuvuvuvststststqrqrqrqrqrqrqrqropopopopmnmnmnmnklklklklijijijijghghghghghghghghefefefefcdcdcdcdabababab___`_`_`^]^]^]^]\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIGHGHGHGHEFEFEFEFCDCDCDCDABABABABABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:9:9:9:9:78787878565656563434343412121212~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwuvuvuvuvststststqrqrqrqrqpopopopopopopopmnmnmnmnklklklklijijijijghghghghghghghghefefefefcdcdcdcdabababab_`_`_`_`^]^]^]^]\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIGHGHGGGGEFEFEFEFCDCDCDCDABABABABABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:9:9:9:9:78787878565656563434343412121212~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwuvuvuvuvststststqrqrqrqropopopopopopopopmnmnmnmnklklklklijijijijghghghghghghghghefefefefcdcdcdcdabababab_`_`_`_`^]^]^]^]\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIGGHGHGHGEFEFEFEFCDCDCDCDABABABABABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:9:9:9:9878787878565656563434343412121212~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwuvuvuvuvststststqrqrqrqropopopopopopopopmnmnmnmnklklklklijijijijghghghghghghghghefefefefcdcdcdcdabababab_`_`_`_`^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGEFEFEFEFCDCDCDCDABABABABABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:7878787878787878565656563434343412121212~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwuvuvuvuvststststqrqrqrqropopopopopopopopmnmnmnmnklklklklijijijijghghghghghghghghefefefefcdcdcdcdabababab_`_`_`_`^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGEFEFEFEFCDCDCDCDABABABABABABABA@?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:7878787878787878565656563434343412121212121212120/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!"!"!"!"!         - - - - - - - -121212120/0/////.-.-.-.-,+,+,+,+*)*)*)*)*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!"!"!"!"!         - - - - - - - -12121212/0/0/0/0.-.-.-.-,+,+,+,+*)*)*)*)*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!"!"!"!          - - - - - - - -12121212/0/0/0/0.-.-.-.-,+,+,+,+*)*)*)*)*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!             - - - - - - - -12121212/0/0/0/0.-.-.-.-,+,+,+,+*)*)*)*)*)*)*)('('('('('&%&%&%&%$#$#$#$#"!"!"!"!             - - - - - - 12121212/0/0/0/0.-.-.-.-,+,+,+,+*)*)*)*)('('('('('('('('&%&%&%&%$#$#$#$#"!"!"!"!             - - - -12121212/0/0/0//.-.-.-.-,+,+,+,+*)*)*)*)('('('('('('('('&%&%&%&%$#$#$#$#"!"!"!"!             - - - -12121212////0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('('('('('&%&%&%&%$#$#$#$#"!"!"!"!             - - - -121212120/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('('('('('&%&%&%&%$#$#$#$#"!"!"!"!            - - - -121212120/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - - -1210/0/00/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('('('('&%&%&%&%&%$#$#$#$#"!"!"!"!         - - - -/0//////0/////0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%&%&%&%&%$#$#$#$#"!"!"!"!         - - - -0/0/0/0/0/0/0/.-.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%&%&%&%&%$#$#$#$#"!"!"!"!          - - - -0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%&%&%&%&%$#$#$#$#"!"!"!"!             - - - -0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%&%&%&%&%$#$#$#$#"!"!"!"!             - - - -0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%&%&%&%&%$#$#$#$#"!"!"!"!             - - - -0/0/0///.-.-.-.-.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%&%&%&%$#$#$#$#$#"!"!"!"!             - - - -///0/0/0.-.-.-.-.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!             - - - -/0/0/0/0.-.-.-.-.-.-.-,+,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!           - - - -/0/0/0/0.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!         - - - -/0/0/0/0.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!         - - - -/0/0/0/0.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!         - - - -//////0/.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#$#$#$#"!"!"!"!"!         - - - -0/0/0/0/.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!"!"!"!"!         - - - -0/0/0/0/.-.-.-.-,+,+,+,+,+,+,+*)*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!"!"!"!"!         - - - - - -0/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!"!"!"!"!         - - - - - - - -~~}}aabbccdd$$##""!!nnooppqqXYYZZ[[\A@@??>>=())**++,qppoonnm `aabbccd9887766501122334ihhggffehiijjkklmnnooppqQQRRSSTTHHGGFFEE!!""##$$xxwwvvuu YYZZ[[\\@@??>>==))**++,,ppoonnmmaabbccdd$$##""!!ffgghhii$$##""!!IJJKKLLMPOONNMML~~}}|QRRSSTTUHGGFFEED!""##$$%xwwvvuut YZZ[[\\]||{{zzyyeeffgghh rrssttuu\]]^^__`=<<;;::9,--..//0mllkkjjideeffggh5443322145566778eddccbbalmmnnoopqrrssttuUUVVWWXXDDCCBBAA%%&&''((ttssrrqq - - ]]^^__``<<;;::99--..//00llkkjjiieeffgghh jjkkllmm MNNOOPPQLKKJJIIH !|{{zzyyxUVVWWXXYDCCBBAA@%&&''(()tssrrqqp - - ]^^__``axxwwvvuu iijjkkllvvww}}~~`aabbccd9887766501122334ihhggffehiijjkkl100//..-899::;;>==))**++,,ppoonnmmaabbccdd8877665511223344hhggffeeiijjkkllnnooppqqQRRSSTTUHGGFFEED!""##$$%xwwvvuut YZZ[[\\]@??>>==<)**++,,-poonnmmlabbccddettssrrqq - - mmnnoopp -deeffggh5443322145566778eddccbbalmmnnoop-,,++**)<==>>??@]\\[[ZZY tuuvvwwx - - ~ ]]^^__``<<;;::99--..//00llkkjjiieeffgghh4433221155667788ddccbbaammnnoopprrssttuuUVVWWXXYDCCBBAA@%&&''(()tssrrqqp - - ]^^__``a<;;::998-..//001lkkjjiiheffgghhi,++**))(ppoonnmm - - qqrrsstt ~~}}|{zy - hiijjkkl100//..-899::;;>==<)**++,,-poonnmmlabbccdde8776655412233445hggffeedijjkkllm(''&&%%$llkkjjii uuvvwwxx - - xwwvvuutlmmnnoop-,,++**)<==>>??@]\\[[ZZY tuuvvwwx%$$##""!DEEFFGGHUTTSSRRQ|}}~~ yxwwvvuueeffgghh4433221155667788ddccbbaammnnoopp,,++**))==>>??@@\\[[ZZYY uuvvwwxx - -  -]^^__``a<;;::998-..//001lkkjjiiheffgghhi4332211056677889dccbbaa` mnnooppq$##""!! hhggffeeyyzz{{|| - - tssrrqqp - - pqqrrsst)((''&&%@AABBCCDYXXWWVVUxyyzz{{|! HIIJJKKLQPPOONNM~~} - - ttssrrqqiijjkkll00//..--99::;;<<``__^^]] - - qqrrsstt((''&&%%AABBCCDDXXWWVVUUyyzz{{||~~}}|{zy - abbccdde8776655412233445hggffeedijjkkllm0//..--,9::;;<<=`__^^]]\ - - qrrssttu ddccbbaa}}~~poonnmml tuuvvwwx%$$##""!DEEFFGGHUTTSSRRQ|}}~~LMMNNOOPMLLKKJJI }wwvvuut ppoonnmmmmnnoopp,,++**))==>>??@@\\[[ZZYY uuvvwwxx$$##""!!EEFFGGHHTTSSRRQQ}}~~ xwwvvuuteffgghhi4332211056677889dccbbaa` mnnooppq,++**))(=>>??@@A\[[ZZYYX uvvwwxxy``__^^]]~~}}lkkjjiihxyyzz{{|! HIIJJKKLQPPOONNM~~}PQQRRSSTIHHGGFFE !!""##$tssrrqqpllkkjjii - - qqrrsstt((''&&%%AABBCCDDXXWWVVUUyyzz{{|| IIJJKKLLPPOONNMM~~}} - - tssrrqqpijjkkllm0//..--,9::;;<<=`__^^]]\ - - qrrssttu(''&&%%$ABBCCDDEXWWVVUUTyzz{{||}\\[[ZZYY wwvvuutthggffeed|}}~~LMMNNOOPMLLKKJJI }||{{zzyTUUVVWWXEDDCCBBA$%%&&''(poonnmmlhhggffee uuvvwwxx$$##""!!EEFFGGHHTTSSRRQQ}}~~MMNNOOPPLLKKJJII wwvvuuttpoonnmml mnnooppq,++**))(=>>??@@A\[[ZZYYX uvvwwxxy$##""!! EFFGGHHITSSRRQQP}~~ XXWWVVUU!!""##$$ssrrqqpp !!""cba`__^^~~}PQQRRSSTIHHGGFFE !!""##$yxxwwvvu XYYZZ[[\A@@??>>=())**++,lkkjjiih !!"dcba`__^yyzz{{|| IIJJKKLLPPOONNMM~~}}QQRRSSTTHHGGFFEE!!""##$$ssrrqqpplkkjjiih - - qrrssttu(''&&%%$ABBCCDDEXWWVVUUTyzz{{||} IJJKKLLMPOONNMML~~}}w - - TTSSRRQQ%%&&''((oonnmmll##$$%%&&]]\\[[ZZ }||{{zzyTUUVVWWXEDDCCBBA$%%&&''(uttssrrq - - \]]^^__`=<<;;::9,--..//0hggffee_"##$$%%&^]]\\[[Z}}~~MMNNOOPPLLKKJJII ||{{zzyyUUVVWWXXDDCCBBAA%%&&''((oonnmmllhggffeed uvvwwxxy$##""!! EFFGGHHITSSRRQQP}~~MNNOOPPQLKKJJIIH !wvvuuttsPPOONNMM))**++,,kkjjiihh''(())**YYXXWWVV !!""##$yxxwwvvu XYYZZ[[\A@@??>>=())**++,qppoonnm `aabbccd9887766501122334_^^]]\\[&''(())*ZYYXXWWV~~}}QQRRSSTTHHGGFFEE!!""##$$xxwwvvuu YYZZ[[\\@@??>>==))**++,,kkjjiihh !!""cba`__^^yzz{{||} IJJKKLLMPOONNMML~~}}|QRRSSTTUHGGFFEED!""##$$%srrqqppo -LLKKJJII--..//00ggffee__++,,--..UUTTSSRR$%%&&''(uttssrrq - - \]]^^__`=<<;;::9,--..//0mllkkjjideeffggh5443322145566778[ZZYYXXW*++,,--.VUUTTSSR ||{{zzyyUUVVWWXXDDCCBBAA%%&&''((ttssrrqq - - ]]^^__``<<;;::99--..//00ggffee__##$$%%&&]]\\[[ZZ}~~MNNOOPPQLKKJJIIH !|{{zzyyxUVVWWXXYDCCBBAA@%&&''(()onnmmllk - HHGGFFEE11223344^^]]\\[[//556677QQPPOONN())**++,qppoonnm `aabbccd9887766501122334ihhggffehiijjkkl100//..-899::;;>==))**++,,ppoonnmmaabbccdd8877665511223344^^]]\\[[''(())**YYXXWWVV~~}}|QRRSSTTUHGGFFEED!""##$$%xwwvvuut YZZ[[\\]@??>>==<)**++,,-kjjiihhgDDCCBBAA55667788ZZYYXXWW8899::;;MMLKJIHG,--..//0mllkkjjideeffggh5443322145566778eddccbbalmmnnoop-,,++**)<==>>??@SRRQQPPO78899::;NMMLKJIH%%&&''((ttssrrqq - - ]]^^__``<<;;::99--..//00llkkjjiieeffgghh4433221155667788ZZYYXXWW++,,--..UUTTSSRR !|{{zzyyxUVVWWXXYDCCBBAA@%&&''(()tssrrqqp - - ]^^__``a<;;::998-..//001gffee__^@@??>>==99::;;<>??GFFEEDDC01122334ihhggffehiijjkkl100//..-899::;;>?GGFFEEDD))**++,,ppoonnmmaabbccdd8877665511223344hhggffeeiijjkkll00//..--99::;;<>==<)**++,,-poonnmmlabbccdde8776655412233445^]]\\[[Z<<;;::99==>>??@@RRQQPPOO@@AABBCCCBBAA@@?45566778eddccbbalmmnnoop-,,++**)<==>>??@]\\[[ZZY tuuvvwwx%$$##""!DEEFFGGHFEEDDCCB?@@AABBCCCBBAA@@--..//00llkkjjiieeffgghh4433221155667788ddccbbaammnnoopp,,++**))==>>??@@RRQQPPOO8899::;;MMLKJIHG%&&''(()tssrrqqp - - ]^^__``a<;;::998-..//001lkkjjiiheffgghhi4332211056677889ZYYXXWWV !!""#88776655AABBCCDDNNMMGGFFDDEEFFGG?>>==<<;899::;;CDDEEFFG??>>==<<11223344hhggffeeiijjkkll00//..--99::;;<<``__^^]] - - qqrrsstt((''&&%%AABBCCDDNNMMGGFF<<==>>??GFFEEDDC)**++,,-poonnmmlabbccdde8776655412233445hggffeedijjkkllm0//..--,9::;;<<=VUUTTSSR#$$%%&&'44332211EEFFGGHHEEDDCCBBMMNNOOPP;::99887<==>>??@]\\[[ZZY tuuvvwwx%$$##""!DEEFFGGHUTTSSRRQ|}}~~LMMNNOOP>==<<;;:GMMNNOOP;;::998855667788ddccbbaammnnoopp,,++**))==>>??@@\\[[ZZYY uuvvwwxx$$##""!!EEFFGGHHEEDDCCBB@@AABBCCCBBAA@@?-..//001lkkjjiiheffgghhi4332211056677889dccbbaa` mnnooppq,++**))(=>>??@@ARQQPPOON'(())**+00//..--IIJJKKLLAA@@??>>QQRRSSTT76655432@AABBCCDYXXWWVVUxyyzz{{|! HIIJJKKLQPPOONNM~~}PQQRRSST:9988776PQQRRSST7766554399::;;<<``__^^]] - - qqrrsstt((''&&%%AABBCCDDXXWWVVUUyyzz{{|| IIJJKKLLAA@@??>>DDEEFFGG?>>==<<;12233445hggffeedijjkkllm0//..--,9::;;<<=`__^^]]\ - - qrrssttu(''&&%%$ABBCCDDENMMGGFFE+,,--../,,++**))MMNNOOPP==<<;;::UUVVWWXX10//..--DEEFFGGHUTTSSRRQ|}}~~LMMNNOOPMLLKKJJI }||{{zzyTUUVVWWX655//..-TUUVVWWX210//..-==>>??@@\\[[ZZYY uuvvwwxx$$##""!!EEFFGGHHTTSSRRQQ}}~~MMNNOOPP==<<;;::MMNNOOPP;::9988756677889dccbbaa` mnnooppq,++**))(=>>??@@A\[[ZZYYX uvvwwxxy$##""!! EFFGGHHIEDDCCBBA/5566778((''&&%%QQRRSSTT99887766YYZZ[[\\,,++**))HIIJJKKLQPPOONNM~~}PQQRRSSTIHHGGFFE !!""##$yxxwwvvu XYYZZ[[\-,,++**)XYYZZ[[\-,,++**)AABBCCDDXXWWVVUUyyzz{{|| IIJJKKLLPPOONNMM~~}}QQRRSSTT99887766QQRRSSTT766554329::;;<<=`__^^]]\ - - qrrssttu(''&&%%$ABBCCDDEXWWVVUUTyzz{{||} IJJKKLLMA@@??>>=899::;;<$$##""!!UUVVWWXX55//..--]]^^__ee((''&&%%LMMNNOOPMLLKKJJI }||{{zzyTUUVVWWXEDDCCBBA$%%&&''(uttssrrq - - \]]^^__`)((''&&%\]]^^__e)((''&&%EEFFGGHHTTSSRRQQ}}~~MMNNOOPPLLKKJJII ||{{zzyyUUVVWWXX55//..--UUVVWWXX10//..--=>>??@@A\[[ZZYYX uvvwwxxy$##""!! EFFGGHHITSSRRQQP}~~MNNOOPPQ=<<;;::9<==>>??@ YYZZ[[\\,,++**))ffgghhii$$##""!!PQQRRSSTIHHGGFFE !!""##$yxxwwvvu XYYZZ[[\A@@??>>=())**++,qppoonnm `aabbccd%$$##""!effgghhi%$$##""!IIJJKKLLPPOONNMM~~}}QQRRSSTTHHGGFFEE!!""##$$xxwwvvuu YYZZ[[\\,,++**))YYZZ[[\\,,++**))ABBCCDDEXWWVVUUTyzz{{||} IJJKKLLMPOONNMML~~}}|QRRSSTTU98877665@AABBCCD]]^^__``((''&&%%jjkkllmm TUUVVWWXEDDCCBBA$%%&&''(uttssrrq - - \]]^^__`=<<;;::9,--..//0mllkkjjideeffggh! ijjkkllm! MMNNOOPPLLKKJJII ||{{zzyyUUVVWWXXDDCCBBAA%%&&''((ttssrrqq - - ]]^^__``((''&&%%]]^^__ee((''&&%%EFFGGHHITSSRRQQP}~~MNNOOPPQLKKJJIIH !|{{zzyyxUVVWWXXY5//..--,DEEFFGGMMNNOOPPQ::99887766778899ccbbaa`` nnooppqq++**))((>>??@@AA[[ZZYYXXvvwwxxyy##""!! FFGGHHIIDDCCBBAAAABBCCDDBAA@@??>.//00112kjjiihhgfgghhiij3221100/6778899:cbbaa``_ -nooppqqr mllkkjji QRRSSTTU66554321::;;<<==__^^]]\\ - - rrssttuu''&&%%$$BBCCDDEEWWVVUUTTzz{{||}}JJKKLLMM@@??>>==EEFFGGMM>==<<;;:23344556gffeeddcjkkllmmn/..--,,+:;;<<==>_^^]]\\[ - rssttuuv - - -ihhggffeUVVWWXXY0//..--,>>??@@AA[[ZZYYXXvvwwxxyy##""!! FFGGHHIISSRRQQPP~~NNOOPPQQ<<;;::99NNOOPPQQ:99887766778899:cbbaa``_ -nooppqqr+**))(('>??@@AAB[ZZYYXXWvwwxxyyz - eddccbbaYZZ[[\\],++**))(BBCCDDEEWWVVUUTTzz{{||}}JJKKLLMMOONNMMLL~~}}||RRSSTTUU88776655RRSSTTUU65543210:;;<<==>_^^]]\\[ - rssttuuv'&&%%$$#BCCDDEEFWVVUUTTSz{{||}}~a``__^^]]^^__eef(''&&%%$FFGGHHIISSRRQQPP~~NNOOPPQQKKJJIIHH !!{{zzyyxxVVWWXXYY//..--,,VVWWXXYY//..--,,>??@@AAB[ZZYYXXWvwwxxyyz#""!! FGGHHIIJSRRQQPPO~xxw]\\[[ZZY fgghhiij$##""!! JJKKLLMMOONNMMLL~~}}||RRSSTTUUGGFFEEDD""##$$%%wwvvuutt ZZ[[\\]]++**))((ZZ[[\\]]++**))((BCCDDEEFWVVUUTTSz{{||}}~JKKLLMMNONNMMLLKwvvuuttsYXXWWVVU !!""##$jkkllmmn NNOOPPQQKKJJIIHH !!{{zzyyxxVVWWXXYYCCBBAA@@&&''(())ssrrqqpp - - ^^__``aa''&&%%$$^^__eeff''&&%%$$FGGHHIIJSRRQQPPO~NOOPPQQRKJJIIHHG !!"srrqqppo !!""#UTTSSRRQ$%%&&''(nooppqqrRRSSTTUUGGFFEEDD""##$$%%wwvvuutt ZZ[[\\]]??>>==<<**++,,--oonnmmllbbccddee##""!! gghhiijj##""!! JKKLLMMNONNMMLLK~~}}||{RSSTTUUVGFFEEDDC"##$$%%&onnmmllk#$$%%&&'QPPOONNM())**++,rssttuuvVVWWXXYYCCBBAA@@&&''(())ssrrqqpp - - ^^__``aa;;::9988..//0011kkjjiihhffgghhiikkllmmnnNOOPPQQRKJJIIHHG !!"{zzyyxxwVWWXXYYZCBBAA@@?&''(())*kjjiihhg'(())**+MLLKKJJI,--..//0vww}}~~ZZ[[\\]]??>>==<<**++,,--oonnmmllbbccddee7766554422334455ggffeeddjjkkllmmooppqqrrRSSTTUUVGFFEEDDC"##$$%%&wvvuutts Z[[\\]]^?>>==<<;*++,,--.gffee__^+,,--../IHHGGFFE01122334~ - -^^__``aa;;::9988..//0011kkjjiihhffgghhii3322110066778899ccbbaa`` nnooppqqssttuuvvVWWXXYYZCBBAA@@?&''(())*srrqqppo - - ^__``aab;::99887.//00112^]]\\[[Z/5566778EDDCCBBA45566778~}}|{zyx bbccddee7766554422334455ggffeeddjjkkllmm//..--,,::;;<<==__^^]]\\ - - rrssttuu ww}}~~ Z[[\\]]^?>>==<<;*++,,--.onnmmllkbccddeef7665544323344556ZYYXXWWV899::;;>=899::;;>??@@AA[[ZZYYXXvvwwxxyy - - ~~ - - ^__``aab;::99887.//00112kjjiihhgfgghhiij3221100/6778899:VUUTTSSR<==>>??@=<<;;::9<==>>??@ssrrqqppjjkkllmm//..--,,::;;<<==__^^]]\\ - - rrssttuu''&&%%$$BBCCDDEEWWVVUUTTzz{{||}}}}|{zyxw bccddeef7665544323344556gffeeddcjkkllmmn/..--,,+:;;<<==>RQQPPOON@AABBCCD98877665@AABBCCDoonnmmll nnooppqq++**))((>>??@@AA[[ZZYYXXvvwwxxyy##""!! FFGGHHIISSRRQQPP~~ - -wvvuuttsfgghhiij3221100/6778899:cbbaa``_ -nooppqqr+**))(('>??@@AABNMMGGFFEDEEFFGGM54433221DEEFFGGHkkjjiihh - - rrssttuu''&&%%$$BBCCDDEEWWVVUUTTzz{{||}}JJKKLLMMOONNMMLL~~}}ww srrqqppojkkllmmn/..--,,+:;;<<==>_^^]]\\[ - rssttuuv'&&%%$$#BCCDDEEFEDDCCBBAMNNOOPPQ100//..-HIIJJKKLggffeedcvvwwxxyy##""!! FFGGHHIISSRRQQPP~~NNOOPPQQKKJJIIHH !!vvuuttssonnmmllk -nooppqqr+**))(('>??@@AAB[ZZYYXXWvwwxxyyz#""!! FGGHHIIJA@@??>>=QRRSSTTU-,,++**)LMMNNOOPba`__^^]zz{{||}}JJKKLLMMOONNMMLL~~}}||RRSSTTUUGGFFEEDD""##$$%%rrqqppookjjiihhg - rssttuuv'&&%%$$#BCCDDEEFWVVUUTTSz{{||}}~JKKLLMMN=<<;;::9UVVWWXXY)((''&&%PQQRRSST]\\[[ZZY~~NNOOPPQQKKJJIIHH !!{{zzyyxxVVWWXXYYCCBBAA@@&&''(())nnmmllkkgffeedcbvwwxxyyz#""!! FGGHHIIJSRRQQPPO~NOOPPQQR98877665YZZ[[\\]%$$##""!TUUVVWWXYXXWWVVU~~}}||RRSSTTUUGGFFEEDD""##$$%%wwvvuutt ZZ[[\\]]??>>==<<**++,,--jjiihhgg !!""##a`__^^]]z{{||}}~JKKLLMMNONNMMLLK~~}}||{RSSTTUUV5//..--,]^^__eef! XYYZZ[[\UTTSSRRQ !!{{zzyyxxVVWWXXYYCCBBAA@@&&''(())ssrrqqpp - - ^^__``aa;;::9988..//0011ffee__^^$$%%&&''\\[[ZZYY~NOOPPQQRKJJIIHHG !!"{zzyyxxwVWWXXYYZ,++**))(fgghhiij\]]^^__`QPPOONNM""##$$%%wwvvuutt ZZ[[\\]]??>>==<<**++,,--oonnmmllbbccddee7766554422334455]]\\[[ZZ(())**++XXWWVVUU~~}}||{RSSTTUUVGFFEEDDC"##$$%%&wvvuutts Z[[\\]]^(''&&%%$jkkllmmn`aabbccdMLKJIHGG&&''(())ssrrqqpp - - ^^__``aa;;::9988..//0011kkjjiihhffgghhii3322110066778899YYXXWWVV,,--..//TTSSRRQQ !!"{zzyyxxwVWWXXYYZCBBAA@@?&''(())*srrqqppo - - ^__``aab$##""!! nooppqqrdeeffgghFFEEDDCC**++,,--oonnmmllbbccddee7766554422334455ggffeeddjjkkllmm//..--,,::;;<<==UUTTSSRR55667788PPOONNMM"##$$%%&wvvuutts Z[[\\]]^?>>==<<;*++,,--.onnmmllkbccddeef rssttuuu hiijjkklBBAA@@??..//0011kkjjiihhffgghhii3322110066778899ccbbaa`` nnooppqq++**))((>>??@@AAQQPPOONN99::;;<>==<<;;22334455ggffeeddjjkkllmm//..--,,::;;<<==__^^]]\\ - - rrssttuu''&&%%$$BBCCDDEEMMGGFFEE==>>??@@FEEDDCCB*++,,--.onnmmllkbccddeef7665544323344556gffeeddcjkkllmmnqppoonnm - - pqqrrssttuuZHAbr˂ptlJnXv`J`ےJbdQfH~˙ے`JXJtArdfpvfHrXQJ`ہdrtnvpZHAbrbtl|ZdQXv`QJ`ےAJbdQ`vXnr˂p|ZdQbnXv`fpvbHAZJltH~fے`JXQZHAےtlJnXv`bHAZpbdQZ|vpfHZHAbۉlJtf~HnXv`ˑ˂rXbdQZ|vXnr˂p`JXQArd|ے`JXQZHAbtArdf~HbHAZpZ|df`vXQr˂p|ZdQnXv`fpv㒐bHAAJltfH~˙ے`JXJtAdbtlf~HbHAZpZ|dvpfZHAbtlJf~HnXv`p˂rbdQZ|`vXnr˂p`JXQrtArdf~H˂rXQdrtA~f``JXQArd|fpvf~HQJ`ےdrtAvpfHZHAbr˂pZdQbtr˂pے`JXQ|ZdQbXv`f˂brtAJlnvpZHAbbtlf~HnrXQJ`Zp˂bdQZ|f`vXQr˂p|ZdQJtArdfpv˂rtAJlH~fے`JXQtArdfpvfHfXQJ`ےdrtAvpfZHAbbtl|ZdQbXv`fJ`ےJbdQvXnr˂pZdQbtnXv`fpvbHAZpJlt~f``JXQZHAے`lJtZHAbr˂ptlJ~HfHAZdtbdQfH~˙ے`JXJtArdfpvےHArXQJ`ہdrtnvpZHAbbtl|ZdQnXv`pbHAZdtbdQ`vXnr˂p|ZdQbnXv`pvnbHAZJltH~fے`JXQJtAdtlJ~HfbHAZpZ|dvpfHZHAbۉlJtf~HnXv`ˑ˂rXbdQZ|vXnr˂pJXQrArd|f~Hے`JXQ|ZdQbtArdpvnrtAJZ|dnf`vXQr˂p|ZdQnXv`Zp˂󒐙bHAAJltfH~˙ے`JXJtArdbtlvnrtAJZ|AJvpfZHAbtlJf~HrXQJ`p˂rbdQZ|`vXnr˂p|ZdQbtArdpvn˂brtAJl~f``JXQArd|fpvfHfpQJ`ےdrtAvpfHZHAbbtlZdQbtfpvr˂ptlJ|ZdQbXv`pbdQZ|vfnvpZHAbbtlf~HrXQJ`Zp˂bdQZ|f`vXQr˂p|ZdQJtArdrXQJ`pbdQZ|ltbH~fے`JXQtArdfpvےHAZXQJ`ےdrtAvpfZHAbtlJ|ZdQbXv`pHAZdtbdQvXnr˂pZdQbtnXv`˝vnbHAZpJlt~f``JXQJtAd|lJtnXv`ZHAbtArdtlJ˂rXQdrtAf`vXfH~˙ے`JXJtArdfpvbHArXQJ`ہdrtnvpZHAbbtlf~H˂rXdrtAnvp`vXnr˂p|ZdQbnXv`p˂rbHAZJltH~fے`JXQtArdtlJvnrrtAJZ|AJlvpfHZHAbۉlJtf~HrXQJ`ۑ˂rXbdQZ|vXnr˂pZdQbtArd|f~HXے`JXQ|ZdQbtArdJ`ےJltnvpf`vXQr˂p|ZdQnXv`Zp˂󒐙bHAAJltfH~˙ے`JXJtArdXv`QJ`ےJltfHfvpfZHAbtlJf~HXQJ`ےp˂rbdQZ|`vXnr˂p|ZdQbtArdXQJ`pbdQZ|tb~f``JXQArd|fpv㒐HAZpQJ`ےdrtAvpfHZHAbۉlJtZdQbtv`fr˂ptlJf~HbHAZpbdQZ|fH~nvpZHAbbtlf~HrXQJ`ZdrtbdQZ|f`vXQr˂p|ZdQf~HbHAZpbdQZ|`vXnH~fے`JXQtArdfpvbHAZXQJ`ےdrtAvpfZHAbtlJf~H˂rXQdrtAnvpvXnr˂pZdQbtnXv`ˑ˂rXbHAZpJlt~f``JXQArd|lJt~HfpZHAbtArdXv`f˂bdrtAJf`vXfH~˙ے`JXJtArdfpvbHAAJltdrtnvpZHAbbtlfpv˂drtAvpf`vXnr˂p|ZdQbnXv`p˂rbHAZJltH~fے`JXQtArdXv`fJ`ےJltfHf`vpfHZHAbۉlJtf~HQJ`ے˂rXbdQZ|vXnr˂pZdQbtArd˝vnXے`JXQ|ZdQb~HfHAZp˂bdQZnvpfZHAbQr˂p|ZdQnXv`Zp˂bdQZ|AJltfH~˙ے`JXJtArdnXv`bHAZpJbdQH~fvpfZHAbtlJf~HXQJ`ےdrtAbdQZ|`vXnr˂p|ZdQb~HfbHAZpbdQZ|vXn~f``JXQArd|fpvbHAZpQJ`ےdrtAvpfHZHAbۉlJtf~HXv`pr˂ptlJpvnrXQJ|drfH~˙ے`JXZHAbbtlf~HrXQJ`ہdrtbdQZ|f`vXQr˂p|ZdQf~HXrXQZ|d`vXnH~fے`JXQtArdfpvbHAZJltdrtAvpfZHAbtlJpvn˂bdrtAJvpfHvXnr˂pZdQbtnXv`ˑ˂rXbHAZJlt~f``JXQArd|v`fvnrXZHAbtArdXv`f`ےbtAJlf`vXQr˂pے`JXJtArdfpvbHAAJltdtAnvpZHAbbtlv`fJ`ےrtAJl瀅vpfZHAbr˂p|ZdQbnXv`p˂rbdQZ|JltH~fے`JXQtArdXv`fHAZp˂bdQZ~f`vpfHZHAbۉlJtf~HQJ`ےdrtAbdQZ|vXnr˂pZdQbt~HfpQJ`pے`JXQ|ZdQb~HXHAZp˂tbdQZnvpZHAbQr˂p|ZdQnXv`Zp˂bdQZ|JltfH~˙ے`JXJtArd~HfpbHAZp˒tbdQH~fے`JXQZHAbtlJf~HXQJ`ےdrtAbdQZ|`vXnr˂p|ZdQb~HXrXQJ|drvXn~f`JXQArd|fpvbHAZpJltdrtAvpfHZHAbۉlJtvnXrXQr˂ptlJv`fbHA|drfH~˙ے`JXZHAbtlf~HrXQJ`ہdrtbnvpf`vXQr˂p|ZdQvnXbHZ|d`vXnr˂pے`JXQtArdfpvbHAZJltdtAJvpfZHAbtlJv`f`ےbtAJl璅vpfHZHAbr˂pZdQbtnXv`ˑ˂rXbdQZ|Jlt~f``JXQArd|v`fJ`ےZHAbtArd~HfpZp˂tAJbdf`vXQr˂p`JXQJtArdfpvbHAAJltfHnvpZHAbbtlv`fAZp˂rtAJbvpfZHAbr˂p|ZdQbnXv`p˂rbdQZ|ltbH~fے`JXQtArd~HfpHAZp˂tbdQZ~f``JXQZHAbۉlJtf~HQJ`ےdrtAbdQZ|vXnr˂pZdQbt~HXbHAZpے`JXQ|ZdQbvnXrXQJ`QZ|dnvpZHAbrbtl|ZdQnXv`Zp˂bdQZ|f`vXfH~˙ے`JXJtArd~HXrXQJ`dQZ|H~fے`JXQZHAےtlJf~HXQJ`ےdrtAnvp`vXnr˂p|ZdQbvnXbHA|drvXnr˂p`JXQArd|fpvbHAZpJltdtAJlvpfHZHAbۉlJtv`f󂀉bHr˂ptlJv`fےbHArtAJlfH~˙ے`JXJtAdbtlf~HrXQJ`ہdrtnvpf`vXQr˂p|ZdQv`fےbHdrtAJ`vXnr˂p`JXQrtArdfpvbHAZJltfHfvpfZHAbtlJv`fZp˂tAJbdvpfHZHAbr˂pZdQbtnXv`ˑ˂rXbdQZ|tb~f``JXQArd|~HfpAZp˂ZHAbtArd~HXvZp˂tbdf`vXQr˂p|ZdQJtArdfpvbHAAJltfH~nvpZHAbbtl~HfpAZp˂ltbvpfZHAbbtl|ZdQbnXv`p˂rbdQZ|`vXnH~fے`JXQtArd~HXvrXQJ`QZ|d~f``JXQZHAے`lJtf~HQJ`ےdrtAnvpvXnr˂pZdQbtvnXrXQJ`ے`JXQ|ZdQb`f~bHAZQZ|dnvpZHAbbtl|ZdQnXv`Zp˂bdQZ|f`vXfH~˙ے`JXJtArdvnXbHAdQZ|H~fے`JXQJtAdtlJf~HXQJ`ےdrtAvpf`vXnr˂p|ZdQb`f~ےbHArtAJlvXnr˂pJXQrArd|fpvbHAZpJltfHf`vpfHZHAbۉlJtv`fےbHr˂ptlJHfpvp˂rrtAJfH~˙ے`JXJtArdbtlf~HrXQJ`ہdrtnvpfZHAbQr˂p|ZdQv`fZp˂drtAJ`vXnr˂p|ZdQbtArdfpvbHAZJltH~fvpfZHAbtlJHfpvZp˂tbdvpfHZHAbbtlZdQbtnXv`ˑ˂rXbdQZ|vXn~f``JXQArd|~HXv`AZp˂ZHAbtArdnXvXQJ`ےbdQZ|f`vXQr˂p|ZdQJtArdfpvbHAAJltfH~˙ے`JXZHAbbtl~HXv`rXQJ`ےbdQZ|vpfZHAbtlJ|ZdQbnXv`p˂rbdQZ|`vXnH~fے`JXQtArdnXvbHAZQZ|d~f``JXQJtAd|lJtf~HQJ`ےdrtAvpfHvXnr˂pZdQbtf~HbHAے`JXQ|ZdQb`f~bHAZdrtAnvpZHAbbtlf~HnXv`Zp˂bdQZ|f`vXQr˂pے`JXJtArdf~HbHAdrtH~fے`JXQtArdtlJf~HXQJ`ےdrtAvpfZHAbr˂p|ZdQb`f~p˂rrtAJvXnr˂pZdQbtArd|fpvbHAZpJlt~f`vpfHZHAbۉlJtfpvZp˂r˂ptlJHXv`p˂JltfH~˙ے`JXJtArdfpvf~HrXQJ`ہdrtnvpZHAbQr˂p|ZdQfpvZp˂AJlt`vXnr˂p|ZdQbtArdfpvbHAZJltH~fے`JXQZHAbtlJHXv`XQJ`ےbdQZ|vpfHZHAbۉlJtZdQbtnXv`ˑ˂rXbdQZ|vXn~f`JXQArd|nXv`rXQJ`ZHAbtArdf~HbHAZpbdQZ|f`vXQr˂p|ZdQnXv`fpvbHAAJltfH~˙ے`JXZHAbtlnXv`bHAZpbdQZ|vpfZHAbtlJf~HnXv`p˂rbdQZ|`vXnr˂pے`JXQtArdf~HbHAZdrtA~f``JXQArd|lJtf~HQJ`ےdrtAvpfHZHAbr˂pZdQbtf~HbHAے`JXQ|ZdQbfpv˂rXQdrtAnvpZHAbbtlf~HnXv`Zp˂bdQZ|f`vXQr˂p`JXQJtArdf~H˂rXdrtH~fے`JXQtArdfpvf~HXQJ`ےdrtAvpfZHAbr˂p|ZdQbfpvp˂JltvXnr˂pZdQbtArdfpvbHAZpJlt~f``JXQZHAbۉlJtXv`Zp˂bHAZpZ|d~f``JXQrtAd|lJtA~HfJ`ےdrtAJvpfHvXn˂pZZdQbtf~HbHAZrtAJlvXnۉ˂pZHJXQrbtrd|vnXbHAZpˑtbdf`vpfHJXQrXnvˍQtJl˂rXrtAJvXn˂pZZdQbtrd|pvnbHAZpltb~f`vpfHHAbےlJtAfpvp˂tbdQvpfHAbے`lJtZdQbtv`frXQQZ|dvXn~f`˂p`ZpfH~tbAdZQJ`ےbdQZ|vpfHHAbےlJtAZdQbtXv`f˂rXQdQZ|vXn~fZ`JXQrrd|nXv`bHAZpZ|d~f`JXQrAd|lJtA~HfpJ`ےrtAJlvpfHvXnQXb㉀f۝`v|drbHAZpdrtA~f``JXQrrd|lJtA~HfJ`ےdrtAJvpfHHAbے˂pZZdQbtf~H˂rXQrtAJbvXnۉ˂pZHZdQbtrd|vnXbHAZpˑtbd~f`vpfHۑpJAHrXnvˍQtJl˂JltvXn˂pZZdQbtrdfpvnbHAZpltb~f``JXQrHAbےlJtAXv`fJ`ےdQZ|vpfHAbے`lJtAZdQbtv`frXQQZ|dvXn~fr󙐂ˁ`ZpfH~tbAdZbHAZpbdQZ|vpfHHAbےlJtA~HfXv`f˂rXQdQZ|vXn˂pZ`JXQrrd|~HfbHAZpdrtAJ~f`JXQrrd|lJtA~HfpJ`ےrtAJlvpfH˂pZHQXAHrf۝`v|drrXQdrtAJ~f``JXQrrd|pvn~HfJ`ےdrtAJvpfHHAbے˂pZZdQbtpvn˂bltbvXnۉ˂pZHZdQbtrdfvnXbHAZpˑtbd~f`Abے`ˁ`ZQXnvˍQtJlJ`ے㑒bdQZvXn˂pZZdQbtXv`fpvnbHAZpltb~f``JXQrHAے`lJtAXv`fHAZp˂dQZ|vpfHAbے`lJtA~Hfpv`frXQQZ|dvXnہJXQrXb㉀ۑpfH~tbAdZbHAZp|drvpfHHAbےlJtA~HfXv`f˂rXQdQZ|vXn˂pZJXQrbrd|~HXrXQJdrtAJ~f`JXQrrd|vnX~HfpJ`ےrtAJlvpfH˂pZHpJAHrf۝`v|drbHtAJl~f``JXQrrd|pvnHfpJ`ےdrtAJvpfHHAbےtlJZdQbtv`f`ےbbdQZ|vXnۉ˂pZHZdQbtv`fvnXbHAZpˑtbd~f`Abːˁ`ZQXnvˍQtJlAZdtbdQZvXn˂pZZdQbtXv`fvnrbHAZpltb~f``JXQrtAd|lJtA~HfpHAZp˂drtvpfHAbے`lJtA~Hfpv`frXQQZ|dvXnۂpZHAXAHr󙐂pfH~tbAdZrtAJb|AJlvpfHHAbےlJtA~HfXQJ`ے˂rXQdQZ|vXn˂pZZdQbtrd|vnXbHAAJlt~f`JXQrrd|vnXHfpJ`ےrtAJlvpfHbے`ˁ`ZQXbf۝`v|drdQZ|tbn~f``JXQrrd|pvnHAZpJ`ےdrtAJvpfHHAbےlJtAZdQbtv`pvZdrbdQZ|vXnۉ˂pZHZdQbtv`fvnrXbHAZpˑtbd~f`JXQr㉀ۑpJXnvˍQtJldrtAJvpfvXn˂pZZdQbtXv`f˂rXQbHAZpltb~f``JXQrrd|lJtAnrXQtAJbdAJlvpfHAbے`lJtA~HfpQJ`ےrXQQZ|dvXnۂpZHAAHr󙐂pfH~tbAdZltbHf`vpfHHAbےlJtA~HfJ`ے˂rXQdQZ|vXn˂pZZdQbtrdfJ`p˂QZ|dtbn~f`JXQrrd|vnXHAZpJ`ےrtAJlvpfHb˂pˁ`ZQXAf۝`v|drdQZ|vXn~f``JXQrrd|pvnbHAZpJ`ےdrtAJvpfHHAbےlJtA~HXrXQJrtAJlvpfHvXnۉ˂pZHZdQbtv`frXQbHAZpˑtbd~f`ZHAbHr󙐂ˁXnvˍQtJldrtAJvpfHvXn˂pZZdQbtXv`f˂rXQbHAZltb~f``JXQrrd|v`f`ےbtbdf`vpfHAbے`lJtA~HfpJ`ےむrXQQZ|dvXnۙے`JX`ZQXbpfH~tbAdZbdQZ|~f`vpfHHAbےlJtA~HfJ`ےdrtAJdQZ|vXn˂pZZdQbt~HfpHAZp˂QZ|dvXn~f`JXQrrd|vnXbHAZpJ`ےrtAJlvpfHQr˂pۑpJAf۝`v|drdrtvXn~fZ`JXQrrd|pvnbHAZpltbdrtAJvpfHHAbےlJtAvnXbHArtAJvpfHvXnۉ˂pZHZdQbtv`frXQbHAZdtbd~f`ZHAbHr󙐂ˁXnvˍQtJlAJltvpfHHAbے˂pZZdQbtXv`f˂rXQdQZ|ltb~f``JXQrrd|v`fZp˂bdQZ|~f`vpfHAbے`lJtA~HfpJ`ےrtAJlQZ|dvXnۙ˂p`ZQXAHrpfH~tbAdZbdQZ|~f``JXQrHAbےlJtA~HfJ`ےdrtAJdQZ|vXn˂pZZdQbt~HXvrXQJ`drtAvXn~fZHJXQrrd|vnXbHAZpˑtbdrtAJlvpfHZHAb󙐂ˁ`Zf۝`v|drdrtvXn˂pZ`JXQrrd|pvnbHAZpltbdtAJlvpfHHAbےlJtA`f~ےbHAJltvpfHAbے`˂pZHZdQbtv`frXQQZ|dtbd~f``JXQQXb㉀XnvˍQtJlAJbdQvpfHHAbے˂pZZdQbtXv`f˂rXQdQZ|tbn~f``JXQrrd|HfpvZp˂bdQZ|~f`JXQrAbے`lJtA~HfpJ`ےrtAJlQZ|dvXnr˂pۑpJAHrpfH~tbAdZZ|d~f``JXQrHAے`lJtA~HfJ`ےdrtAJvpfvXn˂pZZdQbtnXvbHAZdrtAvXnۉ˂pZHJXQrrd|vnXbHAZpˑtbdtAJlvpfHZHAb󙐂ˁ`f۝`v|drrtAJlvXn˂pZJXQrbrd|pvnbHAZpltbHf`vpfHHAbےlJtA`f~p˂rJbdQvpfHAbے`˂pZHZdQbtv`frXQQZ|dtbn~f`˂pZHpfH~XnvˍQtJltbdQvpfHHAbےtlJZdQbtXv`f˂rXQdQZ|vXn~f``JXQrrd|HXv`XQJ`ےZ|d~f`JXQrAے`lJtA~HfpJ`ےrtAJlvpfHvXnAbے`f۝`vp|drtbAdZ|yz{|}~~}|{zIIIJJJJJJJJJJJJJJJJJJJJJJJ \ No newline at end of file diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv28_1.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv28_1.dat deleted file mode 100644 index ac9d23bbd7..0000000000 --- a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv28_1.dat +++ /dev/null @@ -1,257 +0,0 @@ -~}~}~}~}~}~}~}~}|{|{|{|{|{|{|{|{zyzyzyzyzyzyzyzyxwxwxwxwwwwwwxwxuvuvuvuvuvuvuvuvststststststststststststqrqrqrqrqrqrqrqropopopopopopopopopopopopmnmnmnmnmnmnmnmnklklklklklklklklklklklklijijijijijijijijghghghghghghghghgfefefefefefefefefefefefcdcdcdcdcdcdcdcdabababababababab_`_`_`_`______`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGEFEFEFEFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCDABABABABABABABAB?@?@?@?@?@?@?@?@?@?@?@?@=>=>=>=>=>=>=>=>;<;<;<;<;<;<;<;<;<;<;<;<9:9:9:9:9:9:9:9:7878787878787878787878785656565656565656343434343434343412121212121212120/0/0////0/0/0/0.-.-.-.-.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!            ~}~}~}~}~}~}~}~}|{|{|{|{|{|{|{|{zyzyzyzyzyzyzyzyxwxwxwxwwxwxwxwxuvuvuvuvuvuvuvuvststststststststststststqrqrqrqrqrqrqrqropopopopopopopopopopopopmnmnmnmnmnmnmnmnklklklklklklklklkjijijijijijijijijijijijghghghghghghghghefefefefefefefefefefefefcdcdcdcdcdcdcdcdabababababababab_`_`_`_``_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGEFEFEFEFEFEFEFEFCDCDCDCDCDCDCDCDCDCDCDCDABABABABABABABAB?@?@?@?@?@?@?@?@?@?@?@?@=>=>=>=>=>=>=>=>;<;<;<;<;<;<;<;<;<;<;<;<9:9:9:9:9:9:9:9:787878787878787878787878565656565656565634343434343434341212121212121212///0/0/0/0/0/0/0.-.-.-.-.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)*)*)*)('('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!            ~}~}~}~}~}~}~}~}|{|{|{|{|{|{|{|{zyzyzyzyzyzyzyzyxwwwwwwxwxwxwxwxuvuvuvuvuvuvuvuvststststststststststststqrqrqrqrqrqrqrqropopopopopopopoponmnmnmnmnmnmnmnmnmnmnmnklklklklklklklklijijijijijijijijijijijijghghghghghghghghefefefefefefefefefefefefcdcdcdcdcdcdcdcdabababababababab_`______`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMNMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGGGGGGHGHEFEFEFEFEFEFEFEFCDCDCDCDCDCDCDCDCDCDCDCDABABABABABABABAB?@?@?@?@?@?@?@?@?@?@?@?@=>=>=>=>=>=>=>=>;<;<;<;<;<;<;<;<;<;<;<;<9:9:9:9:9:9:9:9:787878787878787878787878565656565656565634343434343434341212121212121212/0/0/0/0/0/0/0/0.-.-.-.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!            ~}~}~}~}~}~}~}~}|{|{|{|{|{|{|{|{zyzyzyzyzyzyxwxwwxwxwxwxwxwxwxwxuvuvuvuvuvuvuvuvststststststststsrqrqrqrqrqrqrqrqrqrqrqropopopopopopopopmnmnmnmnmnmnmnmnmnmnmnmnklklklklklklklklijijijijijijijijijijijijghghghghghghghghefefefefefefefefefefefefcdcdcdcdcdcdcdcdababababababa`_``_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMNMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGGHGHGHGHEFEFEFEFEFEFEFEFCDCDCDCDCDCDCDCDCDCDCDCDABABABABABABABAB?@?@?@?@?@?@?@?@?@?@?@?@=>=>=>=>=>=>=>=>;<;<;<;<;<;<;<;<;<;<;<;<9:9:9:9:9:9:9:9:787878787878787878787876565656565656565634343434343434341212121212121212/0/0/0/0/0/0/0//.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!            ~}~}~}~}~}~}~}~}~}~}~}~}|{|{|{|{|{|{|{|{zyzyzyzyxwxwwwwwwxwxwxwxwxwxwxwuuvuvuvuvuvuvuvuvststststststststqrqrqrqrqrqrqrqrqrqrqrqropopopopopopopopmnmnmnmnmnmnmnmnmnmnmnmnklklklklklklklklijijijijijijijijijijijijghghghghghghghghefefefefefefefefefefefefcdcdcdcdcdcdcdcbabababab_`_`____`_`_`_`_`_`_____^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMNMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIHGGGGGGHGHGHGHGHEFEFEFEFEFEFEFEFCDCDCDCDCDCDCDCDCDCDCDCDABABABABABABABAB?@?@?@?@?@?@?@?@?@?@?@?@=>=>=>=>=>=>=>=>;<;<;<;<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:9:787878787878787856565656565656565656565634343434343434341212121212121212/0/0/0/0////0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!            ~}~}~}~}~}~}~}~}~}~}~}~}|{|{|{|{|{|{|{zyzyzyzyzywxwxwxwxwxwxwxwxuuuuuvuvuvuvuvuvuvuvuvuvststststststststqrqrqrqrqrqrqrqrqrqrqrqropopopopopopopopmnmnmnmnmnmnmnmnmnmnmnmnklklklklklklklklijijijijijijijijijijijijghghghghghghghghefefefefefefefefefefefefcdcdcdcdabababababababab__`_`_`_`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMNMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIJIJIHGHGGHGHGHGHGHGHGHGHEFEFEFEFEFEFEFEFCDCDCDCDCDCDCDCDCDCDCDCDABABABABABABABAB?@?@?@?@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=>;<;<;<;<;<;<;<;<9:9:9:9:9:9:9:9:9:9:9:9:787878787878787856565656565656565656565634343434343434341212121212121212/0/0/0/00/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!           ~}~}~}~}~}~}~}~}~}~}~}~}|{|{|{|{zyzyzyzyzyzyzyzywxwxwxwxwxwxwxwxuvuvuvuvuvuvuvuvuvuvuvuvststststststststqrqrqrqrqrqrqrqrqrqrqrqropopopopopopopopmnmnmnmnmnmnmnmnmnmnmnmnklklklklklklklklijijijijijijijijijijijijghghghghghghghghefefefefefefefefedcdcdcdcdcdcdcdabababababababab`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMNMNMNMNMLKLKLKLKLKLKLKJIJIJIJIJIHGHGGGGGGHGHGHGHGHGGGGGHEFEFEFEFEFEFEFEFCDCDCDCDCDCDCDCDCDCDCDCBABABABABABABABAB?@?@?@?@?@?@?@?@=>=>=>=>=>=>=>=>=>=>=>=>;<;<;<;<;<;<;<;<9:9:9:9:9:9:9:9:9:9:9:9:787878787878787856565656565656565656565634343434343434341212121212121212//////0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!"!        ~}~}~}~}~}~}~}~}~}~}~}~}|{|{|{|{zyzyzyzyzyzyzyzywxwxwxwxwxwxwwwwuvuvuvuvuvuvuvuvuvuvuvuvststststststststqrqrqrqrqrqrqrqrqrqrqrqropopopopopopopopmnmnmnmnmnmnmnmnmnmnmnmnklklklklklklklklijijijijijijijijihghghghghghghghghghghghefefefefefefefefcdcdcdcdcdcdcdcdabababababababab`_`_`_`_`_`_`___^]^]^]^]^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMNMNMNMNMLKLKLKLKJIJIJIJIJIJIJIJIGHGHGHGHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEFCDCDCDCDCDCDCDCDABABABABABABABABABABABAB?@?@?@?@?@?@?@?@=>=>=>=>=>=>=>=>=>=>=>=>;<;<;<;<;<;<;<;<9:9:9:9:9:9:9:9:9:9:9:9:78787878787878785656565656565656565656563434343434343434121212121210/0/00/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('('('('&%&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!"!"!"!"!        ~}~}~}~}~}~}~}~}|{|{|{|{|{|{|{|{zyzyzyzyzyzyzyzywxwxwxwxwwxwxwxwuvuvuvuvuvuvuvuvuvuvuvuvststststststststqrqrqrqrqrqrqrqrqrqrqrqropopopopopopopopmnmnmnmnmnmnmnmnmlklklklklklklklklklklklijijijijijijijijghghghghghghghghghghghghefefefefefefefefcdcdcdcdcdcdcdcdabababababababab`_`_`_`____`_`_`^]^]^]^]^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIGHGHGHGHGHGHGHGHEFEFEFEFEFEFEFEFEFEFEFEFCDCDCDCDCDCDCDCDABABABABABABABABABABABAB?@?@?@?@?@?@?@?@=>=>=>=>=>=>=>=>=>=>=>=>;<;<;<;<;<;<;<;<9:9:9:9:9:9:9:9:9:9:9:9:7878787878787878565656565656565656565656343434343434321212121212/0//////0/0/0/0/0/////0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!"!"!"!"!        ~}~}~}~}~}~}~}~}|{|{|{|{|{|{|{|{zyzyzyzyzyzyzyzywxwxwxwwxwxwxwxwuvuvuvuvuvuvuvuvuvuvuvuvststststststststqrqrqrqrqrqrqrqrqpopopopopopopopopopopopmnmnmnmnmnmnmnmnklklklklklklklklklklklklijijijijijijijijghghghghghghghghghghghghefefefefefefefefcdcdcdcdcdcdcdcdabababababababab`_`_`_`__`_`_`_`^]^]^]^]^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIGHGHGHGHGHGHGGGGEFEFEFEFEFEFEFEFEFEFEFEFCDCDCDCDCDCDCDCDABABABABABABABABABABABAB?@?@?@?@?@?@?@?@=>=>=>=>=>=>=>=>=>=>=>=>;<;<;<;<;<;<;<;<9:9:9:9:9:9:9:9:9:9:9:9:78787878787878785656565656565656565656543434343412121212121212120/0/0/0/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!"!"!"!"!        ~}~}~}~}~}~}~}~}|{|{|{|{|{|{|{|{zyzyzyzyzyzyzyzywwwwxwxwxwxwxwxwuvuvuvuvuvuvuvuvutstststststststststststqrqrqrqrqrqrqrqropopopopopopopopopopopopmnmnmnmnmnmnmnmnklklklklklklklklklklklklijijijijijijijijghghghghghghghghghghghghefefefefefefefefcdcdcdcdcdcdcdcdabababababababab_____`_`_`_`_`_`^]^]^]^]^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIGHGHGHGHGGHGHGHGEFEFEFEFEFEFEFEFEFEFEFEFCDCDCDCDCDCDCDCDABABABABABABABABABABABAB?@?@?@?@?@?@?@?@=>=>=>=>=>=>=>=>=>=>=>=>;<;<;<;<;<;<;<;<9:9:9:9:9:9:9:9:9:9:9:9878787878787878785656565656565656343434343434343412121212121212120/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!"!"!"!"!        ~}~}~}~}~}~}~}~}|{|{|{|{|{|{|{|{zyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwuvuvuvuvuvuvuvuvststststststststststststqrqrqrqrqrqrqrqropopopopopopopopopopopopmnmnmnmnmnmnmnmnklklklklklklklklklklklklijijijijijijijijghghghghghghghghghghghghefefefefefefefefcdcdcdcdcdcdcdcdabababababababab_`_`_`_`_`_`_`_`^]^]^]^]^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIGHGHGHGGHGHGHGHGEFEFEFEFEFEFEFEFEFEFEFEFCDCDCDCDCDCDCDCDABABABABABABABABABABABAB?@?@?@?@?@?@?@?@=>=>=>=>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;<9:9:9:9:9:9:9:9:7878787878787878787878785656565656565656343434343434343412121212121212120/0/0/0/0/0/////.-.-.-.-.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!"!"!"!"!        ~}~}~}~}~}~}~}~}|{|{|{|{|{|{|{|{zyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwuvuvuvuvuvuvuvuvststststststststststststqrqrqrqrqrqrqrqropopopopopopopopopopopopmnmnmnmnmnmnmnmnklklklklklklklklklklklklijijijijijijijijghghghghghghghghghghghghefefefefefefefefcdcdcdcdcdcdcdcdabababababababab_`_`_`_`_`_`_`_`^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIGGGGHGHGHGHGHGHGEFEFEFEFEFEFEFEFEFEFEFEFCDCDCDCDCDCDCDCDABABABABABABABABABABABA@?@?@?@?@?@?@?@?@=>=>=>=>=>=>=>=>;<;<;<;<;<;<;<;<;<;<;<;<9:9:9:9:9:9:9:9:7878787878787878787878785656565656565656343434343434343412121212121212120/0/0/0//0/0/0/0.-.-.-.-.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!"!"!"!                      - - - - - - - - - - - -             - - - - - - - - - - - -             - - - - - - - - - - - -             - - - - - - - - - - - -             - - - - - - - - - -            - - - - - - - -         - - - - - - - -         - - - - - - - -         - - - - - - - -         - - - - - - - -         - - - - - - - -         - - - - - - - - - -          - - - - - - - - - - - -~~}}LLKKJJII--..//00aabbccddggffee__$$##""!!++,,--..nnooppqqUUTTSSRR$%%&&''(XYYZZ[[\uttssrrqA@@??>>= - - ())**++,\]]^^__`qppoonnm=<<;;::9 ,--..//0`aabbccdmllkkjji9887766501122334deeffgghihhggffe5443322145566778hiijjkkl[ZZYYXXW*++,,--.mnnooppqVUUTTSSR QQRRSSTT||{{zzyyHHGGFFEE!!""##$$UUVVWWXXxxwwvvuuDDCCBBAA %%&&''((YYZZ[[\\ttssrrqq@@??>>== - - ))**++,,]]^^__``ppoonnmm<<;;::99--..//00aabbccddggffee__$$##""!!##$$%%&&ffgghhii]]\\[[ZZ$$##""!!IJJKKLLM}~~POONNMMLMNNOOPPQ~~}}|LKKJJIIH !QRRSSTTU|{{zzyyxHGGFFEED!""##$$%UVVWWXXYxwwvvuutDCCBBAA@ %&&''(()YZZ[[\\]onnmmllk,++**))(YZZ[[\\]ggffeedc,++**))(BBCCDDEEvvwwxxyyWWVVUUTT##""!! FFGGHHIIzz{{||}}SSRRQQPPJJKKLLMM~~OONNMMLLNNOOPPQQ~~}}||KKJJIIHH !!RRSSTTUU||{{zzyyHHGGFFEE11223344eeffgghh^^]]\\[[ //556677rrssttuuQQPPOONN())**++,\]]^^__`qppoonnm=<<;;::9 ,--..//0`aabbccdmllkkjji9887766501122334deeffgghihhggffe5443322145566778hiijjkkleddccbba100//..-899::;;>== - - ))**++,,]]^^__``ppoonnmm<<;;::99--..//00aabbccddllkkjjii8877665511223344eeffgghh^^]]\\[[ ''(())**jjkkllmmYYXXWWVV MNNOOPPQ~~}}|LKKJJIIH !QRRSSTTU|{{zzyyxHGGFFEED!""##$$%UVVWWXXYxwwvvuutDCCBBAA@ %&&''(()YZZ[[\\]tssrrqqp@??>>==< - - )**++,,-]^^__``akjjiihhg(''&&%%$ !!""#]^^__eefba`__^^](''&&%%$FFGGHHIIzz{{||}}SSRRQQPPJJKKLLMM~~OONNMMLLNNOOPPQQ~~}}||KKJJIIHH !!RRSSTTUU{{zzyyxxGGFFEEDD""##$$%%VVWWXXYYxxwwvvuuDDCCBBAA 55667788iijjkkllZZYYXXWW8899::;;vvww}}~~MMLKJIHG,--..//0`aabbccdmllkkjji9887766501122334deeffgghihhggffe5443322145566778hiijjkkleddccbba100//..-899::;;>??@pqqrrsstSRRQQPPO 78899::;uvvww}}~NMMLKJIH%%&&''((YYZZ[[\\ttssrrqq@@??>>== - - ))**++,,]]^^__``ppoonnmm<<;;::99--..//00aabbccddllkkjjii8877665511223344eeffgghhhhggffee4433221155667788iijjkkllZZYYXXWW++,,--..nnooppqqUUTTSSRR !QRRSSTTU|{{zzyyxHGGFFEED!""##$$%UVVWWXXYxwwvvuutDCCBBAA@ %&&''(()YZZ[[\\]tssrrqqp@??>>==< - - )**++,,-]^^__``apoonnmml<;;::998-..//001abbccddegffee__^$##""!! #$$%%&&'fgghhiij]\\[[ZZY$##""!! JJKKLLMM~~OONNMMLLNNOOPPQQ~~}}||KKJJIIHH !!RRSSTTUU{{zzyyxxGGFFEEDD""##$$%%VVWWXXYYwwvvuuttCCBBAA@@ &&''(())ZZ[[\\]]ttssrrqq@@??>>== - - 99::;;<>??GFFEEDDC -01122334deeffgghihhggffe5443322145566778hiijjkkleddccbba100//..-899::;;>??@pqqrrsst]\\[[ZZY)((''&&% @AABBCCDtuuvvwwxONNMMGGF - - ;<<==>>?~GGFFEEDD ))**++,,]]^^__``ppoonnmm<<;;::99--..//00aabbccddllkkjjii8877665511223344eeffgghhhhggffee4433221155667788iijjkkllddccbbaa00//..--99::;;<>==< - - )**++,,-]^^__``apoonnmml<;;::998-..//001abbccddelkkjjiih8776655412233445effgghhi^]]\\[[Z '(())**+jkkllmmnYXXWWVVU NNOOPPQQ~~}}||KKJJIIHH !!RRSSTTUU{{zzyyxxGGFFEEDD""##$$%%VVWWXXYYwwvvuuttCCBBAA@@ &&''(())ZZ[[\\]]ssrrqqpp??>>==<< - - **++,,--^^__``aavvuuttssppoonnmm<<;;::99 - - ==>>??@@qqrrssttRRQQPPOO @@AABBCC~~}}|{zyCBBAA@@? - 45566778hiijjkkleddccbba100//..-899::;;>??@pqqrrsst]\\[[ZZY)((''&&% @AABBCCDtuuvvwwxYXXWWVVU%$$##""!DEEFFGGHxyyzz{{|FEEDDCCB?@@AABBC~~}}|{zCCBBAA@@ - - --..//00aabbccddllkkjjii8877665511223344eeffgghhhhggffee4433221155667788iijjkkllddccbbaa00//..--99::;;<>??@@qqrrssttRRQQPPOO 8899::;;vvww}}~~MMLKJIHG%&&''(()YZZ[[\\]tssrrqqp@??>>==< - - )**++,,-]^^__``apoonnmml<;;::998-..//001abbccddelkkjjiih8776655412233445effgghhihggffeed4332211056677889ijjkkllmZYYXXWWV+,,--../nooppqqrUTTSSRRQ !!RRSSTTUU{{zzyyxxGGFFEEDD""##$$%%VVWWXXYYwwvvuuttCCBBAA@@ &&''(())ZZ[[\\]]ssrrqqpp??>>==<< - - **++,,--^^__``aaoonnmmll;;::9988..//0011bbccddeerrqqppoollkkjjii88776655 AABBCCDDuuvvwwxxNNMMGGFF - - DDEEFFGGxwwvvuut?>>==<<;899::;;>??@pqqrrsst]\\[[ZZY)((''&&% @AABBCCDtuuvvwwxYXXWWVVU%$$##""!DEEFFGGHxyyzz{{|UTTSSRRQ! HIIJJKKL|}}~~BAA@@??> CDDEEFFGyxwwvvuu??>>==<<11223344eeffgghhhhggffee4433221155667788iijjkkllddccbbaa00//..--99::;;<>??@@qqrrsstt\\[[ZZYY((''&&%% AABBCCDDuuvvwwxxNNMMGGFF - - <<==>>??GFFEEDDC -)**++,,-]^^__``apoonnmml<;;::998-..//001abbccddelkkjjiih8776655412233445effgghhihggffeed4332211056677889ijjkkllmdccbbaa`0//..--, 9::;;<<=mnnooppqVUUTTSSR/5566778rssttuuvQPPOONNM""##$$%%VVWWXXYYwwvvuuttCCBBAA@@ &&''(())ZZ[[\\]]ssrrqqpp??>>==<< - - **++,,--^^__``aaoonnmmll;;::9988..//0011bbccddeekkjjiihh7766554422334455ffgghhiinnmmllkkhhggffee44332211EEFFGGHHyyzz{{||EEDDCCBB - - MMNNOOPPtssrrqqp;::99887 - - <==>>??@pqqrrsst]\\[[ZZY)((''&&% @AABBCCDtuuvvwwxYXXWWVVU%$$##""!DEEFFGGHxyyzz{{|UTTSSRRQ! HIIJJKKL|}}~~QPPOONNMLMMNNOOP~~}>==<<;;: - - GMMNNOOPttssrrqq;;::998855667788iijjkkllddccbbaa00//..--99::;;<>??@@qqrrsstt\\[[ZZYY((''&&%% AABBCCDDuuvvwwxxXXWWVVUU$$##""!!EEFFGGHHyyzz{{||EEDDCCBB@@AABBCC~~}}|{zyCBBAA@@? - -..//001abbccddelkkjjiih8776655412233445effgghhihggffeed4332211056677889ijjkkllmdccbbaa`0//..--, 9::;;<<=mnnooppq`__^^]]\,++**))( - - =>>??@@AqrrssttuRQQPPOON 899::;;>==<< - - **++,,--^^__``aaoonnmmll;;::9988..//0011bbccddeekkjjiihh7766554422334455ffgghhiiggffeedd3322110066778899jjkkllmmjjiihhggddccbbaa00//..--IIJJKKLL}}~~AA@@??>>QQRRSSTTpoonnmml76655432 @AABBCCDtuuvvwwxYXXWWVVU%$$##""!DEEFFGGHxyyzz{{|UTTSSRRQ! HIIJJKKL|}}~~QPPOONNMLMMNNOOP~~}MLLKKJJI PQQRRSST}wwvvuut:9988776 PQQRRSSTppoonnmm7766554399::;;<>??@@qqrrsstt\\[[ZZYY((''&&%% AABBCCDDuuvvwwxxXXWWVVUU$$##""!!EEFFGGHHyyzz{{||TTSSRRQQ IIJJKKLL}}~~AA@@??>> DDEEFFGGxwwvvuut?>>==<<;12233445effgghhihggffeed4332211056677889ijjkkllmdccbbaa`0//..--, 9::;;<<=mnnooppq`__^^]]\,++**))( - - =>>??@@Aqrrssttu\[[ZZYYX(''&&%%$ ABBCCDDEuvvwwxxyNMMGGFFE - - <==>>??@~FFEEDDCC - -**++,,--^^__``aaoonnmmll;;::9988..//0011bbccddeekkjjiihh7766554422334455ffgghhiiggffeedd3322110066778899jjkkllmmccbbaa``//..--,, ::;;<<==nnooppqqffee__^^``__^^]],,++**))MMNNOOPP~~}}==<<;;::UUVVWWXXlkkjjiih10//..--DEEFFGGHxyyzz{{|UTTSSRRQ! HIIJJKKL|}}~~QPPOONNMLMMNNOOP~~}MLLKKJJI PQQRRSST}||{{zzyIHHGGFFE !!""##$TUUVVWWXtssrrqqp655//..-TUUVVWWXllkkjjii210//..- - - ==>>??@@qqrrsstt\\[[ZZYY((''&&%% AABBCCDDuuvvwwxxXXWWVVUU$$##""!!EEFFGGHHyyzz{{||TTSSRRQQ IIJJKKLL}}~~PPOONNMMMMNNOOPP~~}}==<<;;:: - - MMNNOOPPtssrrqqp;::9988756677889ijjkkllmdccbbaa`0//..--, 9::;;<<=mnnooppq`__^^]]\,++**))( - - =>>??@@Aqrrssttu\[[ZZYYX(''&&%%$ ABBCCDDEuvvwwxxyXWWVVUUT$##""!! EFFGGHHIyzz{{||}EDDCCBBA@AABBCCD~}}|{zyxBBAA@@?? ..//0011bbccddeekkjjiihh7766554422334455ffgghhiiggffeedd3322110066778899jjkkllmmccbbaa``//..--,, ::;;<<==nnooppqq__^^]]\\++**))(( - - >>??@@AArrssttuu]]\\[[ZZ\\[[ZZYY((''&&%% QQRRSSTTwwvvuutt99887766YYZZ[[\\hggffeed,,++**))HIIJJKKL|}}~~QPPOONNMLMMNNOOP~~}MLLKKJJI PQQRRSST}||{{zzyIHHGGFFE !!""##$TUUVVWWXyxxwwvvuEDDCCBBA $%%&&''(XYYZZ[[\poonnmml-,,++**)XYYZZ[[\hhggffee-,,++**) AABBCCDDuuvvwwxxXXWWVVUU$$##""!!EEFFGGHHyyzz{{||TTSSRRQQ IIJJKKLL}}~~PPOONNMMMMNNOOPP~~}}LLKKJJII QQRRSSTTwwvvuutt99887766QQRRSSTTpoonnmml76655432 9::;;<<=mnnooppq`__^^]]\,++**))( - - =>>??@@Aqrrssttu\[[ZZYYX(''&&%%$ ABBCCDDEuvvwwxxyXWWVVUUT$##""!! EFFGGHHIyzz{{||}TSSRRQQP IJJKKLLM}~~A@@??>>= -DEEFFGGMwwvvuutt>>==<<;;22334455ffgghhiiggffeedd3322110066778899jjkkllmmccbbaa``//..--,, ::;;<<==nnooppqq__^^]]\\++**))(( - - >>??@@AArrssttuu[[ZZYYXX''&&%%$$BBCCDDEEvvwwxxyyYYXXWWVVXXWWVVUU$$##""!!!!""##$$UUVVWWXXssrrqqpp55//..-- !!""]]^^__eecba`__^^((''&&%%LMMNNOOP~~}MLLKKJJI PQQRRSST}||{{zzyIHHGGFFE !!""##$TUUVVWWXyxxwwvvuEDDCCBBA $%%&&''(XYYZZ[[\uttssrrqA@@??>>= - - ())**++,\]]^^__`lkkjjiih)((''&&% !!"\]]^^__edcba`__^)((''&&%EEFFGGHHyyzz{{||TTSSRRQQ IIJJKKLL}}~~PPOONNMMMMNNOOPP~~}}LLKKJJII QQRRSSTT||{{zzyyHHGGFFEE!!""##$$UUVVWWXXssrrqqpp55//..--UUVVWWXXlkkjjiih10//..-- - - =>>??@@Aqrrssttu\[[ZZYYX(''&&%%$ ABBCCDDEuvvwwxxyXWWVVUUT$##""!! EFFGGHHIyzz{{||}TSSRRQQP IJJKKLLM}~~POONNMMLMNNOOPPQ~~}}w=<<;;::9 - MNNOOPPQssrrqqpp::99887766778899jjkkllmmccbbaa``//..--,, ::;;<<==nnooppqq__^^]]\\++**))(( - - >>??@@AArrssttuu[[ZZYYXX''&&%%$$BBCCDDEEvvwwxxyyWWVVUUTT##""!! FFGGHHIIzz{{||}}UUTTSSRRTTSSRRQQ %%&&''((YYZZ[[\\oonnmmll,,++**))##$$%%&&ffgghhii]]\\[[ZZ$$##""!! PQQRRSST}||{{zzyIHHGGFFE !!""##$TUUVVWWXyxxwwvvuEDDCCBBA $%%&&''(XYYZZ[[\uttssrrqA@@??>>= - - ())**++,\]]^^__`qppoonnm=<<;;::9 ,--..//0`aabbccdhggffee_%$$##""!"##$$%%&effgghhi^]]\\[[Z%$$##""!IIJJKKLL}}~~PPOONNMMMMNNOOPP~~}}LLKKJJII QQRRSSTT||{{zzyyHHGGFFEE!!""##$$UUVVWWXXxxwwvvuuDDCCBBAA %%&&''((YYZZ[[\\oonnmmll,,++**))YYZZ[[\\hggffeed,,++**)) ABBCCDDEuvvwwxxyXWWVVUUT$##""!! EFFGGHHIyzz{{||}TSSRRQQP IJJKKLLM}~~POONNMMLMNNOOPPQ~~}}|LKKJJIIH !QRRSSTTUwvvuutts98877665QRRSSTTUoonnmmll66554321 ::;;<<==nnooppqq__^^]]\\++**))(( - - >>??@@AArrssttuu[[ZZYYXX''&&%%$$BBCCDDEEvvwwxxyyWWVVUUTT##""!! FFGGHHIIzz{{||}}SSRRQQPPJJKKLLMM~~QQPPOONNPPOONNMM))**++,,]]^^__``kkjjiihh((''&&%%''(())**jjkkllmmYYXXWWVV  !!""##$TUUVVWWXyxxwwvvuEDDCCBBA $%%&&''(XYYZZ[[\uttssrrqA@@??>>= - - ())**++,\]]^^__`qppoonnm=<<;;::9 ,--..//0`aabbccdmllkkjji9887766501122334deeffggh_^^]]\\[! &''(())*ijjkkllmZYYXXWWV! MMNNOOPP~~}}LLKKJJII QQRRSSTT||{{zzyyHHGGFFEE!!""##$$UUVVWWXXxxwwvvuuDDCCBBAA %%&&''((YYZZ[[\\ttssrrqq@@??>>== - - ))**++,,]]^^__``kkjjiihh((''&&%% !!""]]^^__eecba`__^^((''&&%%EFFGGHHIyzz{{||}TSSRRQQP IJJKKLLM}~~POONNMMLMNNOOPPQ~~}}|LKKJJIIH !QRRSSTTU|{{zzyyxHGGFFEED!""##$$%UVVWWXXYsrrqqppo5//..--,UVVWWXXYkkjjiihh0//..--, - - >>??@@AArrssttuu[[ZZYYXX''&&%%$$BBCCDDEEvvwwxxyyWWVVUUTT##""!! FFGGHHIIzz{{||}}SSRRQQPPJJKKLLMM~~OONNMMLLNNOOPPQQ~~}}wwMMGGFFEEDDCCBBAAAABBCCDD}}|{zyxwBAA@@??> .//00112bccddeefkjjiihhg7665544323344556fgghhiijgffeeddc3221100/6778899:jkkllmmncbbaa``_/..--,,+ -:;;<<==>nooppqqrRQQPPOON @AABBCCDmllkkjji98877665 @AABBCCD@@??>>== - -EEFFGGMMwvvuutts>==<<;;:23344556fgghhiijgffeeddc3221100/6778899:jkkllmmncbbaa``_/..--,,+ -:;;<<==>nooppqqr_^^]]\\[+**))((' - >??@@AABrssttuuvNMMGGFFE - - -DEEFFGGMihhggffe54433221DEEFFGGH<<;;::99 NNOOPPQQsrrqqppo:99887766778899:jkkllmmncbbaa``_/..--,,+ -:;;<<==>nooppqqr_^^]]\\[+**))((' - >??@@AABrssttuuv[ZZYYXXW'&&%%$$#BCCDDEEFvwwxxyyzEDDCCBBA - MNNOOPPQeddccbba100//..-HIIJJKKL88776655RRSSTTUUonnmmllk65543210 -:;;<<==>nooppqqr_^^]]\\[+**))((' - >??@@AABrssttuuv[ZZYYXXW'&&%%$$#BCCDDEEFvwwxxyyzWVVUUTTS#""!! FGGHHIIJz{{||}}~A@@??>>=QRRSSTTUa``__^^]-,,++**)LMMNNOOP//..--,,VVWWXXYYkjjiihhg//..--,, - >??@@AABrssttuuv[ZZYYXXW'&&%%$$#BCCDDEEFvwwxxyyzWVVUUTTS#""!! FGGHHIIJz{{||}}~SRRQQPPOJKKLLMMN~xxw=<<;;::9UVVWWXXY]\\[[ZZY)((''&&% PQQRRSST++**))((ZZ[[\\]]gffeedcb++**))((BCCDDEEFvwwxxyyzWVVUUTTS#""!! FGGHHIIJz{{||}}~SRRQQPPOJKKLLMMN~ONNMMLLKNOOPPQQRwvvuutts98877665YZZ[[\\]YXXWWVVU%$$##""! !!""##$TUUVVWWX''&&%%$$ !!""##^^__eeffa`__^^]]''&&%%$$FGGHHIIJz{{||}}~SRRQQPPOJKKLLMMN~ONNMMLLKNOOPPQQR~~}}||{KJJIIHHG !!"RSSTTUUVsrrqqppo5//..--, !!""#]^^__eefUTTSSRRQ! $%%&&''(XYYZZ[[\##""!! $$%%&&''gghhiijj\\[[ZZYY##""!! JKKLLMMN~ONNMMLLKNOOPPQQR~~}}||{KJJIIHHG !!"RSSTTUUV{zzyyxxwGFFEEDDC"##$$%%&VWWXXYYZonnmmllk,++**))(#$$%%&&'fgghhiijQPPOONNM())**++,\]]^^__`(())**++kkllmmnnXXWWVVUUNOOPPQQR~~}}||{KJJIIHHG !!"RSSTTUUV{zzyyxxwGFFEEDDC"##$$%%&VWWXXYYZwvvuuttsCBBAA@@? &''(())*Z[[\\]]^kjjiihhg(''&&%%$'(())**+jkkllmmnMLLKKJJI,--..//0`aabbccd,,--..//ooppqqrrTTSSRRQQ !!"RSSTTUUV{zzyyxxwGFFEEDDC"##$$%%&VWWXXYYZwvvuuttsCBBAA@@? &''(())*Z[[\\]]^srrqqppo?>>==<<; - - *++,,--.^__``aabgffee__^$##""!! +,,--../nooppqqrIHHGGFFE01122334deeffggh55667788ssttuuvvPPOONNMM"##$$%%&VWWXXYYZwvvuuttsCBBAA@@? &''(())*Z[[\\]]^srrqqppo?>>==<<; - - *++,,--.^__``aabonnmmllk;::99887.//00112bccddeef^]]\\[[Z /5566778rssttuuuEDDCCBBA 45566778hiijjkkl 99::;;<>==<<; - - *++,,--.^__``aabonnmmllk;::99887.//00112bccddeefkjjiihhg7665544323344556fgghhiijZYYXXWWV899::;;>= - - 899::;;>??@@~~FEEDDCCB - - *++,,--.^__``aabonnmmllk;::99887.//00112bccddeefkjjiihhg7665544323344556fgghhiijgffeeddc3221100/6778899:jkkllmmnVUUTTSSR<==>>??@qppoonnm=<<;;::9 - - <==>>??@pqqrrssttuuZHAbے`JXQr˂p|ZdQbtlJ~HXnXv`HAZp˂J`ےtbdQZJbdQnvpfH~ˑZHAbے`JXQr˂pJtArd|ZdQfpvnXv`fHZp˂rXQJ`ۉbdQZ|drtJltnvpfH~ˑZHAbے`JXrbtlJtArd|ZdQ~HfpXv`bHAZpQJ`ےtbdQAJbdQH~f`vXnے`JXQr˂pZHAb|ZdQbtlJnXv`f~HfpvXQJ`ےbHAZdrtAJltbdQZ|H~f`vXnے`JXQr˂pZHAے|ZdQbtlJ~HXnXv`rXQJbHAZp|drbdQZ|vXnvpfH~fZHAbے`JXQlJtArd|f~HfpvnXv`˙bHAZp˂rXJltbdQZ|drtAvXnvpfHr˂pZHAbے`JXQlJtArd|vnXf~HbHbHAZpdrtAJdrtAvpfH~f`vXn`JXQr˂pZrd|ZdQbtlJtAXv`f~Hf˂rXQJ`ےbHAZdrtAJltbvpfH~f`HAbے`JXQr˂pZrd|ZdQbtے`JXQr˂pZHAbtlJtArdv`ff~HbHAbHAZp|drZ|dfH~f`vXے`JXQr˂pZHAۂ|ZdQbtlnXv`f~HfpvrXQJ`ےbHAdrtAJltbnvpfH~f`vXے`JXQr˂pJtAd|ZdQbtlvnXf~HbHbHAZpZ|dZ|d`vXnvpfr˂pZHAbے`JXQtlJtArdf~HfpvnXv`bHAZp˂rJltbdQZ|dtAJ`vXnvpfr˂pZHAb`JXQrtlJtArdv`ff~H`ےb˂rXQtAJldrtAvpfH~f`ZHAbے`JXQr˂pArd|ZdQbtfpvnXv`f~H˂rXQJ`ےbdQZ|drtAJltvpfH~f`ZHAbے`JXQr˂pArd|ZdQbtv`ffpvAZp˂˂㒉bdQZ|Jlt~f`vXnvpfH˂pZHAbےZdQbtlJtArdf~HfpvnJ`ےbHAZpdrtAJltbdQZ|~f`vXn`JXQr˂pZHAbےZdQbtlJtAr˂pZHAbے`JXQtArd|ZdQb~HfpXv`fZp˂˂btAJbdrtAJlf`vXnvpQr˂pZHAb`JXQbtlJtArdf~HfpvnrXQJ`bHAZp˂AJltbdQZ|fHf`vXnvpQr˂pZHAb|ZdQbtlJtArdv`ffpvAZp˂˂rtAJbrtAJlvpfH~fZHAbے`JXQr˂ptArd|ZdQbfpvnXv`fHfp˂rXQJ`ےbdQZ|drtAltbvpfH~fZHAbے`JXQbtltArd|ZdQb~HfpXv`fHAZp˂J`ےtbdQZJbdQ~f`vXn`JXQr˂pZHAbہZdQbtlJtnXv`f~HfpvQJ`ےbHAZpdrtAJltbdQZ|~f`vXn`JXQr˂pZHAے`ZdQbtlJt~HXnXv`ˉrXQJ`bHAZpˁdrtbdQZ|vXnvpfH~fZHAbے`JXQrlJtArd|~HfpvnXv`fbHAZp˂rXQltbdQZ|drtAJvXnvpfH˂pZHAbے`JXQrlJtArd|ZHAbے`JXQr˂p|ZdQbtlJvnX~HfrXQJ`HAZdQZ|dtbdQnvpfH~ˑZHAbے`JXrbtlJtArd|ZdQfpvnXv`ےHAZp˂rXQJ`ۉbdQZ|drtf`vXnvpfH~ˑZHAbے`JXbtlJtArd|ZdQ~HXnXv`prXQJ`bHAZddQZ|tbdQH~f`vXnے`JXQr˂pZHAے|ZdQbtlJnXv`f~HpvnXQJ`ےbHAZdrtAJltnvpH~f`vXnے`JXQr˂pJtAd|ZdQbtlJvnX~HfbHAbHAZp|drZ|dvXnvpfHr˂pZHAbے`JXQlJtArd|f~HfpvnXv`˙bHAZp˂rXJltbdQZ|dtAJlvXnvpfHr˂pZHAbہJXQrlJtArd|v`ff~HXےbHrXQAJltdrtAJvpfH~f`HAbے`JXQr˂pZrd|ZdQbtpvnXv`f~Hf˂rXQJ`ےdQZ|drtAJltbvpfH~f`HAbے`JXQr˂pZrd|ZdQbtv`fے`JXQr˂p|ZdQbtlJtArdv`fpvnےbHArtAJrtAJlZ|dnfH~f`vXے`JXQr˂pJtAd|ZdQbtlnXv`f~HZp˂rXQJ`ےbHAdrtAJltnvpfH~f`vXے`JXQr˂pJtArd|ZdQbtlv`fvnےbHrtAJdrtAJZ|AJ`vXnvpfr˂pZHAb`JXQrtlJtArdf~HfpvrXQJ`bHAZp˂rJltbdQZ|fHf`vXnvpfr˂pZHAb|ZdQbtlJtArdv`fpvnZp˂˂btAJbdrtAJlvpfH~f`ZHAbے`JXQr˂pArd|ZdQbtfpvnXv`fHfp˂rXQJ`ےbdQZ|drtAtbvpfH~f`ZHAbے`JXQbtlArd|ZdQbt~Hfpەv`fAZp˂J`ےbdQZ|bdQZ~f`vXn`JXQr˂pZHAbےZdQbtlJtAXv`f~HfpvnJ`ےbHAZpdrtAJltbdQZ|~f`vXn`JXQr˂pZHAے`ZdQbtlJtA~Hfpr˂pZHAbtlJtArd|ZdQb~HXvXv`pZp˂bdQZ|tbdvff`vXnvpQr˂pZHAb|ZdQbtlJtArdf~HfpvrXQJ`ےbHAZp˂AJltbdQZ|fH~f`vXnvpQr˂pZHAb|ZdQbtlJtArd~HfprXQJ`pAZp˂bdQZ|ltbltbvpfH~fZHAbے`JXQbtltArd|ZdQbfpvnXv`ےHAZp˂rXQJ`ےbdQZ|drtA`vXnvpfH~fZHAbے`JXQtlJtArd|ZdQb~HXvXv`prXQJ`HAZdQZ|dtbdQ~f`vXn`JXQr˂pZHAے`ZdQbtlJtnXv`f~HvnQJ`ےbHAZpdrtAJltnvp~f`vXn`JXQr˂pJtAd|ZdQbtlJtvnX~HfpbHAbHAZpˁdrt|drvXnvpfH˂pZHAbے`JXQrlJtArd|~HfpvnXv`fbHAZp˂rXQltbdQZ|dtAJlvXnvpfH˂pZHAbےJXQrblJtArd|vnXZHAbے`JXQtArd|ZdQbtlJ`f~˂rXQbHAZdrtAQZ|df`vXnvpfH~ˑZHAbے`JXbtlJtArd|ZdQfpvnXv`bHAZp˂rXQJ`ۉbdQZ|drtf`vXnvpfH~ˑZHAbے`JXbtlJtArdf~HvnX˂rXbHAdrtAdQZ|nvpH~f`vXnے`JXQr˂pJtAd|ZdQbtlJnXv`f~Hp˂rXQJ`ےbHAZdrtAJltvpfH~f`vXnے`JXQr˂ptArd|ZdQbtlJ`f~vnrےbHArtAJrtAJlZ|AJlvXnvpfHr˂pZHAbہJXQrlJtArd|f~HfpvrXQJ`ۙbHAZp˂rXJltbdQZ|fHf`vXnvpfHr˂pZHAbہZdQbtlJtArd|v`fvnXZp˂󂀉bHAJbdQtAJlvpfH~f`HAbے`JXQr˂pZrd|ZdQbtpvnXv`fHfp˂rXQJ`ےdQZ|drtAJtbnvpfH~f`HAbے`JXQrtlJrd|ZdQbtv`fے`JXQr˂p|ZdQbtlJtArdHfpvJ`ےp˂rJltrtAJnvpfH~f`vXے`JXQr˂pJtArd|ZdQbtlnXv`f~HZp˂rXQJ`ےbHAdrtAJltnvpfH~fZHAbے`JXQr˂pJtArd|ZdQXv`v`fQJ`ےZp˂JltdrtAJfHf`vXnvpfr˂pZHAb|ZdQbtlJtArdf~HfpvXQJ`ےbHAZp˂rJltbdQZ|H~f`vXnvpfr˂pZHAb|ZdQbtlJtArdHfpvXQJ`pZp˂bdQZ|tbdtbvpfH~f`ZHAbے`JXQbtlArd|ZdQbtfpvnXv`˒HAZp˂rXQJ`ےbdQZ|drtAvXnvpfH~f`ZHAbے`JXQlJtArd|ZdQbt~HXv`v`prXQJ`AZdZ|dtbdQZ~f`vXn`JXQr˂pZHAے`ZdQbtlJtAXv`f~HfvnrJ`ےbHAZpdrtAJltbvpf~f`vXn`JXQr˂pZtAd|ZdQbtlJtA~HXvr˂pZHAbtlJtArdf~HnXvbHAZpXQJ`ےbdQZ|bdQZ|fH~f`vXnvpQr˂pZHAb|ZdQbtlJtArdf~HfpvrXQJ`ےbHAZdrtAJltbdQZ|fH~f`vXے`JXQr˂pZHAb|ZdQbtlf~H~HXv`bHAZprXQJ`bdQZ|bdQZ|`vXnvpfH~fZHAbے`JXQtlJtArd|ZdQbfpvnXv`bHAZp˂rXQJ`ےbdQZ|drtA`vXnvpfH~fZHAbے`JXQtlJtArdf~HnXv˂rXQbHAZdrtAQZ|dnvp~f`vXn`JXQr˂pJtAd|ZdQbtlJtnXv`f~H˂rXQJ`ےbHAZpdrtAJltvpfH~f`vXn`JXQr˂pArd|ZdQbtlJtf~HvnrXbHArtAJbrtAJl|AJlvXnvpfH˂pZHAbےJXQrblJtArd|~HfpvnXQJ`ےbHAZp˂rXQltbdQZ|Hf`vXnvpfH˂pZHAbےZdQbtlJtArd|`f~ZHAbے`JXQtArd|ZdQbXv`f`f~˂bbHAZdrtAJdrtAf`vXnvpfH~ˑZHAbے`JXbtlJtArdf~HfpvnXv`bHAZp˂AJltbdQZ|drtf`vXnvpQr˂pZHAbے`JXbtlJtArdfpvf~H˂㒐bHAdrtAdrtvpfH~f`vXnے`JXQr˂ptArd|ZdQbtlJnXv`f~Hp˂rXQJ`ےbHAZdrtAJltvpfH~fZHAbے`JXQr˂ptArd|ZdQbXv`f`f~J`ےp˂rJltrtAJfHf`vXnvpfHr˂pZHAbہZdQbtlJtArd|f~HfpvQJ`ےbHAZp˂rXJltbdQZ|~f`vXnvpfHr˂pZHAbہZdQbtlJtArd˅fpvQJ`pZp˂dQZ|tbdQtbnvpfH~f`HAbے`JXQrtlJrd|ZdQbtpvnXv`fHAZp˂rXQJ`ےdQZ|drtAJvXnvpfH~f`HAbے`JXQrlJtArd|ZdQbtHfpvے`JXQr˂p|ZdQbtlJ~HfHXv`HAZp˂p˂bdQZJltnvpfH~fZHAbے`JXQr˂pJtArd|ZdQfpvnXv`f~HZp˂rXQJ`ۉbdQZ|drtAJltnvpfH~ˑZHAbے`JXQr˂pJtArd|ZdQnXv`˅fpvbHAZpZp˂JbdQAJltH~f`vXnvpfr˂pZHAb|ZdQbtlJtArdf~HfpvXQJ`ےbHAZdrtAJltbdQZ|H~f`vXnے`JXQr˂pZHAb|ZdQbtlJ~HfHXv`bHAZpXQJ`ےbdQZ|bdQZ|vXnvpfH~f`ZHAbے`JXQlJtArd|ZdQbtfpvnXv`˙bHAZp˂rXQJ`ےbdQZ|drtAvXnvpfH~fZHAbے`JXQlJtArd|f~HXnXv`rXQbHAZpdrtAJZ|dvpf~f`vXn`JXQr˂pZtAd|ZdQbtlJtAXv`f~Hf˂rXQJ`ےbHAZpdrtAJltbvpfH~f`vXn`JXQr˂pZrd|ZdQbtlJtAnXvr˂pZHAbtlJtArdpvnf~HrXQJbHAZp|drbdQZ|fH~f`vXے`JXQr˂pZHAb|ZdQbtlnXv`f~HfpvrXQJ`ےbHAdrtAJltbdQZ|fH~f`vXے`JXQr˂pZHAۂ|ZdQbtlf~HXnXv`rXQbHAZpZ|dbdQZ|`vXnvpfH~fZHAbے`JXQtlJtArdf~HfpvnXv`bHAZp˂rJltbdQZ|drtA`vXnvpfr˂pZHAbے`JXQtlJtArdpvnf~H˂bbHAZdrtAJdrtAvpfH~f`vXn`JXQr˂pArd|ZdQbtlJtnXv`f~H˂rXQJ`ےbHAZdrtAJltvpfH~f`ZHAbے`JXQr˂pArd|ZdQbtv`ff~HJ`ے˂rXltbrtAJHf`vXnvpfH˂pZHAbےZdQbtlJtArd|~HfpvnJ`ےbHAZp˂rXQltbdQZ|~f`vXnvpfH˂pZHAbےZdQbtlJtArdf`f~ZHAbے`JXQtArd|ZdQbXv`ffpv`ےb˂rXQtAJldrtAf`vXnvpQr˂pZHAbے`JXbtlJtArdf~HfpvnXv`bHAZp˂AJltbdQZ|dtAf`vXnvpQr˂pZHAb`JXQbtlJtArdv`ff~HJ`ے˂rXrtAJldrtvpfH~fZHAbے`JXQr˂ptArd|ZdQbfpvnXv`f~Hp˂rXQJ`ےbdQZ|drtAJltvpfH~fZHAbے`JXQr˂ptArd|ZdQbXv`ffpvHAZp˂p˂bdQZJlt~f`vXnvpfHr˂pZHAbہZdQbtlJtArdf~HfpvQJ`ےbHAZpdrtAJltbdQZ|~f`vXn`JXQr˂pZHAbہZdQbtlJt~HfpXv`bHAZpQJ`ےdQZ|bdQZ|vXnvpfH~f`HAbے`JXQrlJtArd|ZdQbtpvnXv`fbHAZp˂rXQJ`ےdQZ|drtAJvXnvpfH~fZHAbے`JXQrlJtArd|~HXHXv`f~HnrXQbHAZtAJbdrtAJl灂AJlvXnvpfH˂pZHAbے`JXQrbtlJtArd|~HfpvnXQJ`ےbHAZp˂rXQtbdQZ|df`vXnvpfHpZHAJXQrAHr󙐂XnvˍpfH~QtJltbAdZfpvJ`p˂p˂QZ|dtbdQtbnvpfH~f`Abے`JXQrlJtrd|ZdQbtvnXv`fHAZp˂rXQJ`ےQZ|drtAJlvXnvpfH~f`b˂p˂p`Zˁ`ZQXApfH~ㅐf۝`vtbAdZ|drnXv`rXQJbHAZprtAJlZ|dvpfH~f`vXnہJXQr˂pZHAd|ZdQbtlJtAv`f~HfprXQJ`ےbHAZp˙rtAJltbdvpfH~f`vXnۑZHAbQXb㉀Hr󙐂ˁf۝`vXnvˍ|drQtJlf~H`ےb˂rXQtbdrtAJbf`vXnvpfH˂pZHAbے`ZdQbtlJtArd|~HfpvnXJ`ےbHAZp˂rXQtbdQZ|d~f`vXnvpfHے`JXۑpJAHr`ZQXbXnvˍpfH~QtJltbAdZXv`fHAZp˂J`ےQZ|ddQZ|vXnvpfH~f`Abے`JXQrlJtArd|ZdQbtvnXv`fbHAZp˂rXQJ`ےQZ|drtAJlvXnvpfH~frQr˂p󙐂ˁ`ZۑpJApfH~ㅐf۝`vtbAdZ|dr~HfbHAbHAZprtAJdrtAJvpfH~f`vXnہJXQr˂pZHrd|ZdQbtlJtAv`f~HfprXQJ`ےbHAZdrtAJltbdvpfH~f`˂pZHZHAbQXAHrHr󙐂ˁf۝`vXnvˍ|drQtJlpvnZp˂˂bbdQZ|ltb~f`vXnvpfH˂pZHAbے`ZdQbtlJtArdf~HfpvnXJ`ےbHAZp˙rtAJltbdQZ|d~f`vXnAbے`˂pˁ`ZQ`ZQXAHrXnvˍpfH~QtJltbAdZXv`frXQJ`HAZp˂drtAdQZ|vXnvpfH~fZHAbے`JXQrlJtArd|~HfpvnXv`fbHAZp˂rXQtbdQZ|drtAJlvXnvpfHJXQrZHAbXb㉀ۑ󙐂ˁ`ZpfH~ㅐf۝`vtbAdZ|dr~HXےbHArXQJJltdrtAJvpfH~f`Abے`JXQr˂pZHrd|ZdQbtvnXv`f~HfprXQJ`ےQZ|drtAJltbdvpfH~f`˂pZH`JXQpJAHrQXb㉀f۝`vXnvˍ|drQtJlv`fZp˂`ےbbdQZ|bdQZ|~f`vXnہJXQr˂pZHAbے`ZdQbtlJtAv`f~HfpvnXJ`ےbHAZp˙rtAJltbdQZ|d~f`vXnAbr˂pˁ`ZQۑpJAHrXnvˍpfH~QtJltbAdZ~HfpbHAZHAZp˂drtAdrtvXnvpfH˂pZHAbے`JXQrlJtArd|~HfpvnXv`fbHAZp˂rXQtbdQZ|dtAJlvXnvpfHpZHAZHAbXAHr󙐂󙐂ˁ`pfH~ㅐf۝`vtbAdZ|drvnXp˂rbHAJbdQAJltvpfH~f`Abے`JXQr˂pZHrd|ZdQbtvnXv`fHfpۂrXQJ`ےQZ|drtAJltbnvpfH~f`bے`˂pZHˁ`ZQXbpfH~ㅐf۝`vXnvˍ|drQtJlv`pvXQJ`ےZdrZ|dbdQZ|~f`vXnہJXQr˂pZHAے`ZdQbtlJtAv`f~HfpvnrXJ`ےbHAZp˙rtAJltbdvpfH~f`vXnJXQrAbے`㉀ۑpJf۝`vXnvˍp|drQtJltbAdZ|yz{|}~~}|{z \ No newline at end of file diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv28_2.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv28_2.dat deleted file mode 100644 index 5122e09dde..0000000000 --- a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv28_2.dat +++ /dev/null @@ -1,257 +0,0 @@ -~}~}~}~}zyzyzyzyxwxwxwxwststststqrqrqrqropopopopmlklklklijijijijghghghghefefefefabababab^]^]^]^]\[\[\[\[ZYZYZYZY~}~}~}~}zyzyzyzyxwxwxwxwststststqrqrqrqropopopopklklklklijijijijghghghghefefefefabababab^]^]^]^]\[\[\[\[ZYZYZYZY~}~}~}~}zyzyzyzyxwxwxwxwststststqrqrqrqropopopopklklklklijijijijghghghghedcdcdcdabababab^]^]^]^]\[\[\[\[ZYZYZYZY~}~}~}~}zyzyzyzyxwxwxwxwststststqrqrqrqropopopopklklklklijijijijghghghghcdcdcdcdabababab^]^]^]^]\[\[\[\[ZYZYZYZY~}~}~}~}zyzyzyzywwwwwxwxststststqrqrqrqropopopopklklklklijijijijghghghghcdcdcdcdabababab^]^]^]^]\[\[\[\[ZYZYZYZY~}~}~}~}zyzyzyzywxwxwxwxststststqrqrqrqropopopopklklklklijijijijghghghghcdcdcdcdabababab^]^]^]^]\[\[\[\[ZYZYZYZY~}~}~}~}zyzyzyzywxwxwxwxststststqrqrqrqropopopopklklklklijijijijghghghghcdcdcdcdabababab^]^]^]^]\[\[\[\[ZYZYZYZY~}~}~}~}zyzyzyzywxwxwxwxststststqrqrqrqropopopopklklklklijijijijghghghghcdcdcdcdabababab^]^]^]^]\[\[\[\[ZYZYZYZY~}~}~}~}zyzyzyzywxwxwxwuststststqrqrqrqropopopopklklklklijijijijghghghghcdcdcdcdabababab^]^]^]^]\[\[\[\[XWXWXWXW~}~}~}~}zyzyzyzyuuuuuvuvststststqrqrqrqropopopopklklklklijijijijghghghghcdcdcdcdababa`_`^]^]^]^]\[\[\[\[XWXWXWXW~}~}~}~}zyzyzyzyuvuvuvuvststststqrqrqrqronmnmnmnklklklklijijijijghghghghcdcdcdcd_`_`____^]^]^]^]\[\[\[\[XWXWXWXW~}~}~}~}zyzyzyzyuvuvuvuvststststqrqrqrqrmnmnmnmnklklklklijijijijghghghghcdcdcdcd__`_`_`_^]^]^]^]\[\[\[\[XWXWXWXWVUVUVUVU~}~}~}~}zyzyzyzyuvuvuvuvststststqrqrqrqrmnmnmnmnklklklklijijijijgfefefefcdcdcdcd`_`_`_`_^]^]^]^]\[\[\[\[XWXWXWXWVUVUVUVU~}~}~}~}zyzyzyzyuvuvuvuvststststqrqrqrqrmnmnmnmnklklklklijijijijefefefefcdcdcdcd`_`_`_`_^]^]^]^]\[\[\[\[XWXWXWXWVUVUVUVU~}~}~}~}zyzyzyzyuvuvuvuvststststqrqrqrqrmnmnmnmnklklklklijijijijefefefefcdcdcdcd`_`_`_`_^]^]^]^]\[\[\[\[XWXWXWXWVUVUVUVU~}~}~}~}zyzyzyzyuvuvuvuvststststqrqrqrqrmnmnmnmnklklklklijijijijefefefefcdcdcdcd`_`_`_`_^]^]^]^]\[\[\[\[XWXWXWXWVUVUVUVU~}~}~}~}zyzyzyzyuvuvuvuvststststqrqrqrqrmnmnmnmnklklklklijijijijefefefefcdcdcdcd_____`_`^]^]^]^]\[\[\[\[XWXWXWXWVUVUVUVU~}~}~}~}zyzyzyzyuvuvuvuvststststqrqrqrqrmnmnmnmnklklklklijijijijefefefefcdcdcdcd_`_`_`_`^]^]^]^]\[\[\[\[XWXWXWXWVUVUVUVU|{|{|{|{zyzyzyzyuvuvuvuvststststqrqrqrqrmnmnmnmnklklklklijijijijefefefefcdcdcdcd_`_`_`_`^]^]^]^]ZYZYZYZYXWXWXWXWVUVUVUVU|{|{|{|{zyzyzyzyuvuvuvuvststststqrqrqrqrmnmnmnmnklklklklijijijijefefefefcdcdcdcd_`_`_`_`^]^]^]^]ZYZYZYZYXWXWXWXWVUVUVUVU|{|{|{|{zyzyzyzyuvuvuvuvststststqpopopopmnmnmnmnklklklklijijijijefefefefcdcdcdcd_`_`_`_`^]^]^]^]ZYZYZYZYXWXWXWXWVUVUVUVU|{|{|{|{zyzyzyzyuvuvuvuvststststopopopopmnmnmnmnklklklklijijijijefefefefcdcdcdcd_`______^]^]^]^]ZYZYZYZYXWXWXWXWVUVUVUVU|{|{|{|{zyzyzyzyuvuvuvuvststststopopopopmnmnmnmnklklklklihghghghefefefefcdcdcdcd`_`_`_`_^]^]^]^]ZYZYZYZYXWXWXWXWVUVUVUVU|{|{|{|{zyzyxwxwuvuvuvuvststststopopopopmnmnmnmnklklklklghghghghefefefefcdcdcdcd`_`_`_`_^]^]^]^]ZYZYZYZYXWXWXWXWVUVUVUVU|{|{|{|{xwxwwwwwuvuvuvuvststststopopopopmnmnmnmnklklklklghghghghefefefefcdcdcdcd`_`_`_`_^]^]^]^]ZYZYZYZYXWXWXWXWVUVUVUVU|{|{|{|{wxwxwxwxuvuvuvuvststststopopopopmnmnmnmnklklklklghghghghefefefefcdcdcdcd`_`_`_`_^]^]^]^]ZYZYZYZYXWXWXWXWVUVUVUVU|{|{|{|{wxwxwxwxuvuvuvuvststststopopopopmnmnmnmnklklklklghghghghefefefefcdcdcdcb`_`_`___^]^]^]^]ZYZYZYZYXWXWXWXWVUVUVUVU|{|{|{|{wxwxwxwxuvuvuvuvststststopopopopmnmnmnmnklklklklghghghghefefefefabababab___`_`_`^]^]^]^]ZYZYZYZYXWXWXWXWVUVUVUVU|{|{|{|{wxwxwxwxuvuvuvuvststststopopopopmnmnmnmnklklklklghghghghefefefefabababab_`_`_`_`\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVU|{|{|{|{wxwxwxwwuvuvuvuvststststopopopopmnmnmnmnklklklklghghghghefefefefabababab_`_`_`_`\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVU~}~}~}~}|{|{|{|{wwwwxwxwuvuvuvuvsrqrqrqropopopopmnmnmnmnklklklklghghghghefefefefabababab_`_`_`_`\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVU~}~}~}~}|{|{|{|{xwxwxwxwuvuvuvuvqrqrqrqropopopopmnmnmnmnklklklklghghghghefefefefabababab_`_`_`_`\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVU~}~}~}~}|{|{|{|{xwxwxwxwuvuvuvuvqrqrqrqropopopopmnmnmnmnkjijijijghghghghefefefefabababab______`_\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVU~}~}~}~}|{|{|{|{xwxwxwxwuvuvuvuvqrqrqrqropopopopmnmnmnmnijijijijghghghghefefefefabababab`_`_`_`_\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVU~}~}~}~}|{|{|{|{xwxwxwxwuvuvuvuvqrqrqrqropopopopmnmnmnmnijijijijghghghghefefefefabababab`_`_`_`_\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVU~}~}~}~}|{|{|{|{xwwwwwwxuvuvuvuvqrqrqrqropopopopmnmnmnmnijijijijghghghghefefefefabababab`_`_`_`_\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVU~}~}~}~}|{|{|{|{wxwxwxwxuvuvuvuvqrqrqrqropopopopmnmnmnmnijijijijghghghghefefefefabababab`_`_____\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVU~}~}~}~}|{|{|{|{wxwxwxwxuvuvuvuvqrqrqrqropopopopmnmnmnmnijijijijghghghghefefefefabababab`_`_`_`_\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVU~}~}~}~}|{|{|{|{wxwxwxwxuvuvuvuvqrqrqrqropopopopmnmnmnmnijijijijghghghghefefefefabababab^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVU~}~}~}~}|{|{|{|{wxwxwxwxuvuvuvuvqrqrqrqropopopopmnmnmnmnijijijijghghghghefefefefabababab^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVU~}~}~}~}|{|{|{|{wxwxwwwwutstststqrqrqrqropopopopmnmnmnmnijijijijghghghghefefefefabababab^]^]^]^]\[\[\[\[ZYZYZYZYVUVUVUVUVUVUVUVU~}~}~}~}|{|{|{zywwxwxwxwststststqrqrqrqropopopopmnmnmnmnijijijijghghghghefefefefabababab^]^]^]^]\[\[\[\[ZYZYZYZYVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMJIJIJIJIEFEFEFEFCDCDCDCDABABABAB=>=>=>=>;<;<;<;<9:9:9:9:56565656343434340/0/0/0/.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#$#         - - - -TSTSTSTSRQRQRQRQPOPOPOPOLKLKLKLKJIJIJIJIEFEFEFEFCDCDCDCDABABABAB=>=>=>=>;<;<;<;<9:9:9:9:56565656343434340/0/0/0/.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#$#         - - - -TSTSTSTSRQRQRQRQPOPOPOPOLKLKLKLKJIJIJIJIEFEFEFEFCDCDCDCDABABABAB=>=>=>=>;<;<;<;<9:9:9:9:56565656343434340/0/0///.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#$#         - - - -TSTSTSTSRQRQRQRQPOPOPOPOLKLKLKLKJIJIJIJIEFEFEFEFCDCDCDCDABABABAB=>=>=>=>;<;<;<;<9:9:9:9:5656565634343434///0/0/0.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#$#         - - - -TSTSTSTSRQRQRQRQPOPOPOPOLKLKLKLKJIJIJIJIEFEFEFEFCDCDCDCDABABABAB=>=>=>=>;<;<;<;<9:9:9:9:5656565634343434/0/0/0/0.-.-.-.-,+,+,+*)('('('('&%&%&%&%$#$#$#$#       - - - -TSTSTSTSRQRQRQRQPOPOPOPOLKLKLKLKJIJIJIJIEFEFEFEFCDCDCDCDABABABAB=>=>=>=>;<;<;<;<9:9:9:9:5656565634343434/0/0/0/0.-.-.-.-*)*)*)*)('('('('&%&%&%&%$#$#$#$#     - - - -TSTSTSTSRQRQRQRQPOPOPOPOLKLKLKLKJIJIJIJIEFEFEFEFCDCDCDCDABABABA@=>=>=>=>;<;<;<;<9:9:9:9:5656565634343434/0/0/0/0.-.-.-.-*)*)*)*)('('('('&%&%&%&%$#$#$#"!     - - - -TSTSTSTSRQRQRQRQPOPOPOPOLKLKLKLKJIJIJIJIEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:5656565634343434/0/0/0/0.-.-.-.-*)*)*)*)('('('('&%&%&%&%"!"!"!"!     - - - -TSTSTSTSRQRQRQRQPOPOPOPOLKLKLKLKJIJIHGHGEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:985656565634343434//////0/.-.-.-.-*)*)*)*)('('('('&%&%&%&%"!"!"!"!     - - - -TSTSTSTSRQRQRQRQPOPOPOPOLKLKLKLKHGHGGGGGEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>;<;<;<;<7878787856565656343434340/0/0/0/.-.-.-.-*)*)*)*)('('('('&%&%&%&%"!"!"!"!     - - - -TSTSTSTSRQRQRQRQPOPOPOPOLKLKLKLKGHGHGHGHEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>;<;<;<;<7878787856565656343434340/0/0/0/.-.-.-.-*)*)*)*)('('('('&%&%&%&%"!"!"!"!     - - - -TSTSTSTSRQRQRQRQNMNMNMNMLKLKLKLKGHGHGHGHEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>;<;<;<;<7878787856565656343434340/0/0/0/.-.-.-.-*)*)*)*)('('('('&%&%&%&%"!"!"!"!     - - - -TSTSTSTSRQRQRQRQNMNMNMNMLKLKLKLKGHGHGHGHEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>;<;<;<;<7878787856565656343434340/0/0/0/.-.-.-.-*)*)*)*)('('('('&%&%&%&%"!"!"!"!     - - - -TSTSTSTSRQRQRQRQNMNMNMNMLKLKLKLKGHGHGHGHEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>;<;<;<;<7878787856565656343432120/0/////.-.-.-.-*)*)*)*)('('('('&%&%&%&%"!"!"!"!     - - - -TSTSTSTSRQRQRQRQNMNMNMNMLKLKLKLKGHGHGHGGEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>;<;<;<;<787878785656565612121212/0/0/0/0.-.-.-,+*)*)*)*)('('('('&%&%&%&%"!"!"!"!      - - - -TSTSTSTSRQRQRQRQNMNMNMNMLKLKLKLKGGGGHGHGEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>;<;<;<;<787878785656565612121212/0/0/0/0,+,+,+,+*)*)*)*)('('('('&%&%&%&%"!"!"!"!         - - - -TSTSTSTSRQRQRQRQNMNMNMNMLKLKLKLKHGHGHGHGEFEFEFEFCDCDCDCB?@?@?@?@=>=>=>=>;<;<;<;<787878785656565612121212/0/0/0/0,+,+,+,+*)*)*)*)('('('('&%&%&%$#"!"!"!"!         - - - -TSTSTSTSRQRQRQRQNMNMNMNMLKLKLKLKHGHGHGHGEFEFEFEFABABABAB?@?@?@?@=>=>=>=>;<;<;<;<787878785656565612121212/0/0/0/0,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"!         - - - -TSTSTSTSRQRQRQRQNMNMNMNMLKLKLKLKHGHGHGHGEFEFEFEFABABABAB?@?@?@?@=>=>=>=>;<;<;<;:787878785656565612121212/0/0/0//,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"!         - - - -TSTSTSTSRQRQRQRQNMNMNMNMLKLKLKLKHGHGHGHGEFEFEFEFABABABAB?@?@?@?@=>=>=>=>9:9:9:9:787878785656565612121212////0/0/,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"!         - - - -TSTSTSTSRQRQRQRQNMNMNMNMLKLKLKLKHGGGGGGHEFEFEFEFABABABAB?@?@?@?@=>=>=>=>9:9:9:9:7878787856565656121212120/0/0/0/,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"!         - - - -TSTSTSTSPOPOPOPONMNMNMNMLKLKLKLKGHGHGHGHEFEFEFEFABABABAB?@?@?@?@=>=>=>=>9:9:9:9:7878787856565656121212120/0/0/0/,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"!         - - - -TSTSTSTSPOPOPOPONMNMNMNMLKLKLKLKGHGHGHGHEFEFEFEFABABABAB?@?@?@?@=>=>=>=>9:9:9:9:7878787856565656121212120/0/0/0/,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"!         - - - -TSTSTSTSPOPOPOPONMNMNMNMLKLKLKLKGHGHGHGHEFEFEFEFABABABAB?@?@?@?@=>=>=>=>9:9:9:9:7878787856565656121212120/////0/,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"!         - - - -TSTSTSTSPOPOPOPONMNMNMNMLKLKLKLKGHGHGHGHEFEFEFEFABABABAB?@?@?@?@=>=>=>=>9:9:9:9:7878787856565656121212120/0/0/.-,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"!         - - - -TSTSTSTSPOPOPOPONMNMNMNMLKLKLKJIGHGHGGGGEFEFEFEFABABABAB?@?@?@?@=>=>=>=>9:9:9:9:787878785656565612121212.-.-.-.-,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"!         - - - -TSTSTSTSPOPOPOPONMNMNMNMJIJIJIJIGGHGHGHGEFEFEFEDABABABAB?@?@?@?@=>=>=>=>9:9:9:9:787878785656565612121212.-.-.-.-,+,+,+,+*)*)*)*)('('('&%$#$#$#$#"!"!"!"!         - - TSTSTSTSPOPOPOPONMNMNMNMJIJIJIJIHGHGHGHGCDCDCDCDABABABAB?@?@?@?@=>=>=>=>9:9:9:9:787878785656565612121212.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#"!"!"!"!         TSTSTSTSPOPOPOPONMNMNMNMJIJIJIJIHGHGHGHGCDCDCDCDABABABAB?@?@?@?@=>=>=>=<9:9:9:9:787878785656565612121212.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#"!"!"!"!        TSTSTSTSPOPOPOPONMNMNMNMJIJIJIJIHGHGHGHGCDCDCDCDABABABAB?@?@?@?@;<;<;<;<9:9:9:9:787878785656565612121212.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#"!"!"!"!     TSTSTSTSPOPOPOPONMNMNMNMJIJIJIJIHGHGHGHGCDCDCDCDABABABAB?@?@?@?@;<;<;<;<9:9:9:9:787878785656565412121212.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#"!"!"!"!     RQRQRQRQPOPOPOPONMNMNMNMJIJIJIJIGGGGGHGHCDCDCDCDABABABAB?@?@?@?@;<;<;<;<9:9:9:9:787878783434343412121212.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#"!"!"!"!     RQRQRQRQPOPOPOPONMNMNMNMJIJIJIJIGHGHGHGHCDCDCDCDABABABAB?@?@?@?@;<;<;<;<9:9:9:9:787878783434343412121212.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#"!"!"!"!     RQRQRQRQPOPOPOPONMNMNMNMJIJIJIJIGHGHGHGHCDCDCDCDABABABAB?@?@?@?@;<;<;<;<9:9:9:9:787878783434343412121212.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#"!"!"!"!     RQRQRQRQPOPOPOPONMNMNMNMJIJIJIJIGHGHGHGHCDCDCDCDABABABAB?@?@?@?@;<;<;<;<9:9:9:9:787878783434343412121212.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#"!"!"!"!     RQRQRQRQPOPOPOPONMNMNMNMJIJIJIJIGHGGGGGHCDCDCDCDABABABAB?@?@?@?@;<;<;<;<9:9:9:9:787878783434343412121212.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#"!"!"!"!     RQRQRQRQPOPOPOPONMNMNMNMJIJIJIJIGHGHGHGFCDCDCDCDABABABAB?@?@?@?@;<;<;<;<9:9:9:9:787878783434343412121212.-.-.-.-,+,+,+,+*)*)*)('&%&%&%&%$#$#$#$#"!"!"!"!     - -RQRQRQRQPOPOPOPONMNMNMNMJIJIJIJIEFEFEFEFCDCDCDCDABABABAB?@?@?@?@;<;<;<;<9:9:9:9:787878783434343412121212.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#$#"!"!"!"!     - - - -RQRQRQRQPOPOPOPONMNMNMNMJIJIJIJIEFEFEFEFCDCDCDCDABABABAB?@?@?@?>;<;<;<;<9:9:9:9:78787878343434341210/0/0.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#$#"!"!"!      - - - -RQRQRQRQPOPOPOPONMNMNMNMJIJIJIJIEFEFEFEFCDCDCDCDABABABAB=>=>=>=>;<;<;<;<9:9:9:9:7878787834343434/0//////.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#$#         - - - -RQRQRQRQPOPOPOPONMNMNMNMJIJIJIJIEFEFEFEFCDCDCDCDABABABAB=>=>=>=>;<;<;<;<9:9:9:9:78787876343434340/0/0/0/.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#$#         - - - -RQRQRQRQPOPOPOPONMNMNMNMJIJIJIJIEFEFEFEFCDCDCDCDABABABAB=>=>=>=>;<;<;<;<9:9:9:9:56565656343434340/0/0/0/.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#$#         - - - -~~}}99::;;<< - - ,,++**))yxxwwvvu01122334)((''&&%~~}())**++,100//..-xyyzz{{|PQQRRSSTHHGGFFEEaabbccdd||{{zzyy==>>??@@((''&&%%uttssrrq45566778%$$##""!}||{{zzy,--..//0-,,++**)|}}~~TUUVVWWXDDCCBBAAeeffgghhxxwwvvuuAABBCCDD$$##""!!qppoonnm899::;;>==iijjkkllttssrrqqEEFFGGHH mllkkjji<==>>??@uttssrrq45566778%$$##""!}wwvvuut\]]^^__e <<;;::99mmnnooppppoonnmmIIJJKKLL !!""ihhggffe@AABBCCDqppoonnm899::;;>??@poonnmmlijjkkllm%%&&''((44332211uuvvwwxxhhggffeeQQRRSSTT''(())**a``__^^]HIIJJKKL ihhggffe@AABBCCDlkkjjiihmnnooppq))**++,,00//..--yyzz{{||ddccbbaaUUVVWWXX++,,--.. -]\\[[ZZYLMMNNOOP - - eddccbbaDEEFFGGHhggffee_qrrssttu--..//00,,++**))}}~~``__^^]]YYZZ[[\\//556677 - YXXWWVVUPQQRRSST a``__^^]HIIJJKKL _^^]]\\[uvvww}}~11223344((''&&%%~~}}\\[[ZZYY]]^^__``8899::;;UTTSSRRQTUUVVWWX]\\[[ZZYLMMNNOOP - - [ZZYYXXW~55667788$$##""!!||{{zzyyXXWWVVUUaabbccdd<<==>>?? - - QPPOONNMXYYZZ[[\YXXWWVVUPQQRRSST WVVUUTTS~~}}|{z99::;;<< xxwwvvuuTTSSRRQQeeffgghh@@AABBCC MLLKKJJI\]]^^__`UTTSSRRQTUUVVWWXSRRQQPPOyxwwvvuu==>>??@@ttssrrqq - - PPOONNMMiijjkkllDDEEFFGGIHHGGFFE`aabbccd - - QPPOONNMXYYZZ[[\ONNMMGGFttssrrqqAABBCCDDppoonnmm LLKKJJIImmnnooppMMNNOOPPEDDCCBBAdeeffggh MLLKKJJI\]]^^__`FEEDDCCBppoonnmmEEFFGGHHllkkjjiiHHGGFFEEqqrrssttQQRRSSTTA@@??>>=hiijjkklIHHGGFFE`aabbccd - - BAA@@??>llkkjjiiIIJJKKLL hhggffeeDDCCBBAAuuvvwwxxUUVVWWXX =<<;;::9lmmnnoopEDDCCBBAdeeffggh >==<<;;:hhggffeeMMNNOOPP - - ddccbbaa@@??>>==yyzz{{||YYZZ[[\\ !!""##$98877665pqqrrsstA@@??>>=hiijjkkl:9988776dcba`__^QQRRSSTT``__^^]] <<;;::99}}~~]]^^__ee$%%&&''(54433221tuuvvwwx =<<;;::9lmmnnoop655//..-^]]\\[[ZUUVVWWXX\\[[ZZYY!!""##$$88776655~~}}ffgghhii())**++,100//..-xyyzz{{| !!""##$98877665pqqrrsst-,,++**)ZYYXXWWVYYZZ[[\\XXWWVVUU%%&&''((44332211wwvvuuttjjkkllmm,--..//0-,,++**)|}}~~$%%&&''(54433221tuuvvwwx )((''&&%VUUTTSSR]]^^__``TTSSRRQQ))**++,,00//..--ssrrqqppnnooppqq01122334)((''&&%~~}())**++,100//..-xyyzz{{| !!""##$%$$##""!RQQPPOONaabbccdd - - PPOONNMM--..//00,,++**))oonnmmllrrssttuu45566778%$$##""!}||{{zzy,--..//0-,,++**)|}}~~$%%&&''(! NMMLKJIHeeffgghh LLKKJJII11223344((''&&%%kkjjiihhvvww}}~~899::;;>??@uttssrrq45566778%$$##""!}||{{zzy,--..//0CCBBAA@@mmnnooppDDCCBBAA99::;;<< ^^]]\\[[~~}}|{zy@AABBCCDqppoonnm899::;;>==<>====>>??@@ZZYYXXWWxwwvvuutDEEFFGGHmllkkjji<==>>??@uttssrrq45566778 - - ;;::9988uuvvwwxx <<;;::99AABBCCDDVVUUTTSStssrrqqpHIIJJKKL ihhggffe@AABBCCDqppoonnm899::;;<77665543yyzz{{||!!""##$$88776655EEFFGGHHRRQQPPOOpoonnmmlLMMNNOOP - - eddccbbaDEEFFGGHmllkkjji<==>>??@ 210//..-}}~~%%&&''((44332211IIJJKKLL NNMMGGFFlkkjjiihPQQRRSST a``__^^]HIIJJKKL ihhggffe@AABBCCD - - -,,++**)~~}}))**++,,00//..--MMNNOOPP - - EEDDCCBBhggffeedTUUVVWWX]\\[[ZZYLMMNNOOP - - eddccbbaDEEFFGGH )((''&&%||{{zzyy--..//00,,++**))QQRRSSTT - - AA@@??>>cba`__^^XYYZZ[[\YXXWWVVUPQQRRSST a``__^^]HIIJJKKL%$$##""!xxwwvvuu11223344((''&&%%UUVVWWXX ==<<;;::]]\\[[ZZ\]]^^__`UTTSSRRQTUUVVWWX]\\[[ZZYLMMNNOOP! ttssrrqq55667788$$##""!!YYZZ[[\\99887766YYXXWWVV`aabbccd - - QPPOONNMXYYZZ[[\YXXWWVVUPQQRRSST !!"ppoonnmm99::;;<< ]]^^__``55//..--UUTTSSRRdeeffggh MLLKKJJI\]]^^__`UTTSSRRQTUUVVWWX"##$$%%&llkkjjii==>>??@@aabbccdd,,++**))QQPPOONNhiijjkklIHHGGFFE`aabbccd - - QPPOONNMXYYZZ[[\&''(())*hhggffeeAABBCCDDeeffgghh ((''&&%%MMLKJIHGlmmnnoopEDDCCBBAdeeffggh MLLKKJJI\]]^^__`*++,,--. ddccbbaaEEFFGGHHiijjkkll!!""##$$$$##""!!GFFEEDDCpqqrrsstA@@??>>=hiijjkklIHHGGFFE`aabbccd.//55667 - - ``__^^]]IIJJKKLL mmnnoopp%%&&''(( CBBAA@@?tuuvvwwx =<<;;::9lmmnnoopEDDCCBBAdeeffggh78899::;\\[[ZZYYMMNNOOPP - - qqrrsstt))**++,,?>>==<<;xyyzz{{| !!""##$98877665pqqrrsstA@@??>>=hiijjkkl;<<==>>?XXWWVVUUQQRRSSTTuuvvwwxx--..//00;::99887|}}~~$%%&&''(54433221tuuvvwwx =<<;;::9lmmnnoop?@@AABBCTTSSRRQQUUVVWWXXyyzz{{||11223344 76655432~~}())**++,100//..-xyyzz{{| !!""##$98877665pqqrrsstCDDEEFFG - - PPOONNMMYYZZ[[\\}}~~55667788 - - 10//..--}||{{zzy,--..//0-,,++**)|}}~~$%%&&''(54433221tuuvvwwxGMMNNOOP LLKKJJII]]^^__``~~}}||{{zzyy--..//00,,++**))}}~~UUVVWWXXDCCBBAA@effgghhi LKKJJIIH]^^__``a EDDCCBBAoonnmmllFFGGHHIIkkjjiihh>>??@@AAssrrqqpp66778899 - - :9988776vwwxxyyz !!";::99887nooppqqr,++**))(EDDCCBBAxxwwvvuu11223344((''&&%%~~}}YYZZ[[\\@??>>==>=kkjjiihhJJKKLLMM ggffeeddBBCCDDEEoonnmmll::;;<<==65543210z{{||}}~"##$$%%&76655443rssttuuv(''&&%%$A@@??>>=ttssrrqq55667788$$##""!!wwvvuutt]]^^__ee !<;;::998mnnooppqDCCBBAA@effgghhi =<<;;::9ggffeedcNNOOPPQQ - - ccbbaa``FFGGHHIIkkjjiihh>>??@@AA - -//..--,,~&''(())*3221100/vwwxxyyz !!"$##""!! =<<;;::9ppoonnmm99::;;<< ssrrqqppffgghhii!""##$$%87766554qrrssttu@??>>==>??@@oonnmmlljjkkllmm%&&''(()43322110uvvwwxxy !<;;::998mnnooppq5//..--,]\\[[ZZYVVWWXXYY[[ZZYYXXNNOOPPQQ - - ccbbaa``FFGGHHII''&&%%$${zzyyxxw.//00112+**))(('~&''(())*54433221hhggffeeAABBCCDDkkjjiihhnnooppqq)**++,,-0//..--,yzz{{||}!""##$$%87766554qrrssttu,++**))(YXXWWVVUZZ[[\\]]WWVVUUTTRRSSTTUU__^^]]\\JJKKLLMM##""!! wvvuutts23344556'&&%%$$#~~}}||{*++,,--.100//..-ddccbbaaEEFFGGHHggffee__rrssttuu-..//001,++**))(}~~%&&''(()43322110uvvwwxxy !(''&&%%$UTTSSRRQ^^__``aa SSRRQQPPVVWWXXYY[[ZZYYXXNNOOPPQQsrrqqppo6778899:#""!! {zzyyxxw.//00112 -,,++**)``__^^]]IIJJKKLL ^^]]\\[[vvww}}~~12233445(''&&%%$~~}}|)**++,,-0//..--,yzz{{||}!""##$$%$##""!! QPPOONNMbbccddee - - OONNMMLLZZ[[\\]]WWVVUUTTRRSSTTUU !!""##onnmmllk:;;<<==>wvvuutts23344556 - - -)((''&&%\\[[ZZYYMMNNOOPP - - ZZYYXXWW56677889$##""!! |{{zzyyx-..//001,++**))(}~~%&&''(() MLKJIHGGffgghhiiKKJJIIHH^^__``aa SSRRQQPPVVWWXXYY$$%%&&''kjjiihhg>??@@AABsrrqqppo6778899: - %$$##""!XXWWVVUUQQRRSSTTVVUUTTSS~~}}|{zy9::;;<<= xwwvvuut12233445(''&&%%$~~}}|)**++,,-FFEEDDCCjjkkllmmGGFFEEDDbbccddee - - OONNMMLLZZ[[\\]](())**++ gffeeddcBCCDDEEFonnmmllk:;;<<==>! TTSSRRQQUUVVWWXXRRQQPPOOxwwvvuut=>>??@@Atssrrqqp56677889$##""!! |{{zzyyx-..//001BBAA@@??nnooppqqCCBBAA@@ffgghhiiKKJJIIHH^^__``aa,,--..// - - cbbaa``_FGGHHIIJkjjiihhg>??@@AABPPOONNMMYYZZ[[\\NNMMGGFFtssrrqqpABBCCDDEpoonnmml9::;;<<= xwwvvuut12233445 >>==<<;;rrssttuu??>>==<>??@@Atssrrqqp56677889 - - ::998877vvwwxxyy !!;;::9988nnooppqqCCBBAA@@ffgghhii99::;;<<[ZZYYXXWNOOPPQQR - - cbbaa``_FGGHHIIJ !!""#HHGGFFEEaabbccdd - - AA@@??>>lkkjjiihIJJKKLLM hggffeedABBCCDDEpoonnmml9::;;<<=66554321zz{{||}}""##$$%%77665544rrssttuu??>>==<>??@@WVVUUTTSRSSTTUUV_^^]]\\[JKKLLMMN#$$%%&&' DDCCBBAAeeffgghh ==<<;;::hggffeedMNNOOPPQ - - dccbbaa`EFFGGHHIlkkjjiih=>>??@@A -0//..--,~~&&''(())33221100vvwwxxyy !!;;::9988nnooppqqAABBCCDD -SRRQQPPOVWWXXYYZ[ZZYYXXWNOOPPQQR'(())**+ - - @@??>>==iijjkkll99887766cba`__^^QRRSSTTU`__^^]]\IJJKKLLM hggffeedABBCCDDE - ,++**))(~~}}||**++,,--//..--,,zz{{||}}""##$$%%77665544rrssttuuEEFFGGMM - ONNMMLLKZ[[\\]]^WVVUUTTSRSSTTUUV+,,--../ - - <<;;::99mmnnoopp55//..--]]\\[[ZZUVVWWXXY\[[ZZYYXMNNOOPPQ - - dccbbaa`EFFGGHHI(''&&%%${{zzyyxx..//0011++**))((~~&&''(())33221100vvwwxxyyNNOOPPQQKJJIIHHG^__``aab -SRRQQPPOVWWXXYYZ/5566778 88776655qqrrsstt,,++**))YYXXWWVVYZZ[[\\]XWWVVUUTQRRSSTTU`__^^]]\IJJKKLLM$##""!! wwvvuutt22334455''&&%%$$~~}}||**++,,--//..--,,zz{{||}}RRSSTTUUGFFEEDDCbccddeef - ONNMMLLKZ[[\\]]^899::;;<44332211uuvvwwxx ((''&&%%UUTTSSRR]^^__``a TSSRRQQPUVVWWXXY\[[ZZYYXMNNOOPPQ ssrrqqpp66778899##""!! {{zzyyxx..//0011++**))((~~VVWWXXYYCBBAA@@?fgghhiijKJJIIHHG^__``aab<==>>??@00//..--yyzz{{||!!""##$$$$##""!!QQPPOONNabbccdde - - POONNMMLYZZ[[\\]XWWVVUUTQRRSSTTU !!""#oonnmmll::;;<<==wwvvuutt22334455''&&%%$$~~}}wwZZ[[\\]]?>>==<<;jkkllmmnGFFEEDDCbccddeef@AABBCCD,,++**))}}~~%%&&''(( MMLKJIHGeffgghhi LKKJJIIH]^^__``a TSSRRQQPUVVWWXXY#$$%%&&'kkjjiihh>>??@@AAssrrqqpp66778899##""!! vvuuttss^^__eeff !!";::99887nooppqqrCBBAA@@?fgghhiijDEEFFGGM ((''&&%%~~}}))**++,,GFFEEDDCijjkkllmHGGFFEEDabbccdde - - POONNMMLYZZ[[\\]'(())**+ggffeeddBBCCDDEEoonnmmll::;;<<==rrqqppoogghhiijj"##$$%%&76655443rssttuuv?>>==<<;jkkllmmnMNNOOPPQ !!""##$$$##""!!||{{zzyy--..//00CBBAA@@?mnnooppqDCCBBAA@effgghhi LKKJJIIH]^^__``a+,,--../ - -ccbbaa``FFGGHHIIkkjjiihh>>??@@AAnnmmllkkkkllmmnn&''(())*3221100/vwwxxyyz !!";::99887nooppqqrQRRSSTTU$%%&&''( xxwwvvuu11223344 ?>>==<<;qrrssttu@??>>==>==>??@WWVVUUTTRRSSTTUU__^^]]\\JJKKLLMM ]]\\[[ZZww}}~~23344556'&&%%$$#~~}}||{*++,,--./..--,,+z{{||}}~]^^__eef01122334llkkjjii==>>??@@ 10//..--}~~%&&''(()43322110uvvwwxxy !<;;::998mnnooppq@AABBCCD SSRRQQPPVVWWXXYY[[ZZYYXXNNOOPPQQ - - YYXXWWVV~~6778899:#""!! {zzyyxxw.//00112+**))(('~xxwfgghhiij45566778 hhggffeeAABBCCDD - - ,,++**))~~}}|)**++,,-0//..--,yzz{{||}!""##$$%87766554qrrssttuDEEFFGGM - - OONNMMLLZZ[[\\]]WWVVUUTTRRSSTTUUUUTTSSRR}}|{zyxw:;;<<==>wvvuutts23344556'&&%%$$#wvvuuttsjkkllmmn899::;;< - - ddccbbaaEEFFGGHH((''&&%%|{{zzyyx-..//001,++**))(}~~%&&''(()43322110uvvwwxxyMNNOOPPQKKJJIIHH^^__``aa SSRRQQPPVVWWXXYYQQPPOONNwvvuutts>??@@AABsrrqqppo6778899:#""!! srrqqpponooppqqr<==>>??@``__^^]]IIJJKKLL$$##""!!xwwvvuut12233445(''&&%%$~~}}|)**++,,-0//..--,yzz{{||}QRRSSTTUGGFFEEDDbbccddee - - OONNMMLLZZ[[\\]]MMGGFFEEsrrqqppoBCCDDEEFonnmmllk:;;<<==>onnmmllkrssttuuu@AABBCCD\\[[ZZYYMMNNOOPP tssrrqqp56677889$##""!! |{{zzyyx-..//001,++**))(}~~UVVWWXXYCCBBAA@@ffgghhiiKKJJIIHH^^__``aa DDCCBBAAonnmmllkFGGHHIIJkjjiihhg>??@@AABkjjiihhguttssrrqDEEFFGGHXXWWVVUUQQRRSSTT !!""poonnmml9::;;<<= xwwvvuut12233445(''&&%%$~~}}wYZZ[[\\]??>>==<>==kjjiihhgJKKLLMMN gffeeddcBCCDDEEFgffee__^qppoonnmHIIJJKKLTTSSRRQQUUVVWWXX##$$%%&&lkkjjiih=>>??@@Atssrrqqp56677889$##""!! wvvuutts]^^__eef !!;;::9988nnooppqqCCBBAA@@ffgghhii<<;;::99gffeedcbNOOPPQQR - - cbbaa``_FGGHHIIJ^]]\\[[ZmllkkjjiLMMNNOOP - - PPOONNMMYYZZ[[\\''(())**hggffeedABBCCDDEpoonnmml9::;;<<= srrqqppofgghhiij""##$$%%77665544rrssttuu??>>==<>??@@Aonnmmllkjkkllmmn&&''(())33221100vvwwxxyy !!;;::9988nnooppqq//..--,,\\[[ZZYYVWWXXYYZ[ZZYYXXWNOOPPQQR - - VUUTTSSReddccbbaTUUVVWWXHHGGFFEEaabbccdd//556677 - `__^^]]\IJJKKLLM hggffeedABBCCDDEkjjiihhgnooppqqr**++,,--//..--,,zz{{||}}""##$$%%77665544rrssttuu++**))((XXWWVVUUZ[[\\]]^WVVUUTTSRSSTTUUVRQQPPOONa``__^^]XYYZZ[[\DDCCBBAAeeffgghh8899::;;\[[ZZYYXMNNOOPPQ - - dccbbaa`EFFGGHHIgffee__^rssttuuv..//0011++**))((~~&&''(())33221100vvwwxxyy !!''&&%%$$TTSSRRQQ^__``aab -SRRQQPPOVWWXXYYZNMMGGFFE]\\[[ZZY\]]^^__`@@??>>==iijjkkll<<==>>??XWWVVUUTQRRSSTTU`__^^]]\IJJKKLLM ^]]\\[[Zvww}}~~22334455''&&%%$$~~}}||**++,,--//..--,,zz{{||}}""##$$%%##""!! PPOONNMMbccddeef - ONNMMLLKZ[[\\]]^EDDCCBBAYXXWWVVU`aabbccd <<;;::99mmnnoopp@@AABBCC TSSRRQQPUVVWWXXY\[[ZZYYXMNNOOPPQ - - ZYYXXWWV~66778899##""!! {{zzyyxx..//0011++**))((~~&&''(())LKJIHGGFfgghhiijKJJIIHHG^__``aab -A@@??>>=UTTSSRRQdeeffggh!!""##$$88776655qqrrssttDDEEFFGG - - POONNMMLYZZ[[\\]XWWVVUUTQRRSSTTUVUUTTSSR~}}|{zyx::;;<<==wwvvuutt22334455''&&%%$$~~}}||**++,,--FEEDDCCBjkkllmmnGFFEEDDCbccddeef - =<<;;::9QPPOONNMhiijjkkl%%&&''((44332211uuvvwwxxMMNNOOPP LKKJJIIH]^^__``a TSSRRQQPUVVWWXXYRQQPPOONwwvvuutt>>??@@AAssrrqqpp66778899##""!! {{zzyyxx..//0011BAA@@??>nooppqqrCBBAA@@?fgghhiij98877665MLLKKJJIlmmnnoop))**++,,00//..--yyzz{{||QQRRSSTTHGGFFEEDabbccdde - - POONNMMLYZZ[[\\]NMMGGFFEssrrqqppBBCCDDEEoonnmmll::;;<<==wwvvuutt22334455 >==<<;;:rssttuuv?>>==<<;jkkllmmn5//..--,IHHGGFFEpqqrrssttuuZHAb|ZdQb˂rXQdrtAQr˂pbtlfpvZdrtfH~Qr˂pbtlZp˂H~fr˂ptlJے`JXQtlJJ`ےJltZHAbJtArdnXv`AJltf`vXZHAbJtArdrXQJ``vXnZHAbtArdr˂ptArdbHAZpbdQZ|ے`JX|ZdQf~HbdQZ|nvpے`JXf~HbHAvpfے`JXQ|ZdQbZHAb|ZdQb˂bdrtAQr˂pbtlfpvdrtfH~Qr˂pXv`Zp˂H~fr˂ptlJے`JXQtlJHAZp˂JbdQZHAbJtArdnXv`AJltf`vXZHAbf~HbHAZp`vXnZHAbtArdr˂ptArdrXQJZ|dے`JX|ZdQf~HbdQZ|nvpے`JXfpv˂rXvpfے`JXQ|ZdQbZHAb|ZdQb`ےbrtAJlQr˂pbtlfpvdrtfH~Qr˂pnXv`QJ`ےH~fr˂ptlJے`JXQtlJHAZp˂tbdQZHAbJtArdnXv`AJltf`vXZHAbf~HXbHAZp`vXnZHAbtArdr˂ptArdbHAZ|dnے`JX|ZdQfHbdQZ|nvpے`JXv`f˂々vpfے`JXQf~HZHAb|ZdQbZp˂vfQr˂pbtlfpvdrtfH~Qr˂p~HfpbHAZdH~fr˂pfpvے`JXQtlJrXQJ`f`vXZHAbJtArdnrXQJ`AJltf`vXZHA۝vnXrtAJ`vXnZHAbnXv`r˂ptArdےbHAnvpے`JX|ZdQےHAbdQZ|nvp`JXQv`fbdQZ|vpfے`JXQf~Hp˂rZHAb|ZdQbZp˂fH~Qr˂pbtlZp˂drtfH~rbtl~HXdrtAH~fr˂pfpvXQJ`ےے`JXQtlJbHAZf`vXZHAbJtArdrXQJ`AJltf`vXJtAdv`fJlt`vXnZHAbnXv`bHAZr˂ptArdp˂rnvpے`JX|ZdQbHAbdQZ|nvp|ZdQ~HfpbdQZ|vpfے`JXQf~Hp˂rZHAb|ZdQbXQJ`ےfH~Qr˂pbtlZp˂drtfH~btlvnXdrtAH~fr˂pfpvXQJ`ےے`JXQtlJbHAZf`vXZHAbJtArdrXQJ`AJltf`vXJtArdv`fJbdQ`vXnZHAےnXv`bHAZr˂ptArdp˂nvpے`JX|ZdQbHAbdQZ|nvp|ZdQ~HXv`Z|dvpf`JXQrf~Hp˂rZHAbf~HbHAZpfH~Qr˂pbtlZp˂drtfH~btlf~HrtAJlH~fbtlfpvXQJ`ےے`JXQXv`f˂rXQf`vXZHAbJtArdrXQJ`AJltf`vXJtArdfpvtbdQ`vXnJtAdnXv`bHAZr˂p~HfJ`ےnvpے`JXf~HbHAbdQZ|nvp|ZdQnXv`Z|dvpf|ZdQbf~Hp˂rZHAbpvnbHAZpfH~Qr˂pfpvZp˂drtfH~btlf~HrtAJbH~ftlJfpvXQJ`ےے`JXQXv`f˂bf`vXZHAbnXv`rXQJ`AJltfZHAbJtArdXv`dQZ|`vXntArdnXv`bHAZr˂p~HXHAZdnvpے`JXf~HbHAbdQZ|ے`JX|ZdQf~HdrtAJvpf|ZdQbf~Hp˂rZHAbv`frtAJfH~Qr˂pfpvZp˂drtQr˂pbtlfpvltbH~ftlJfpvXQJ`ےے`JXQ~HfpbdQZ|f`vXZHAbnXv`rXQJ`AJltZHAbJtArdnXv`pdQZ|`vXntArdnXv`bHAZr˂pvnXdrtAnvpے`JXf~HbHAbdQZ|ے`JX|ZdQvndrtAJvpf|ZdQbf~Hp˂rZHAbv`fJltfH~Qr˂pfpvZp˂drtQr˂pbtlrXQJ`pbdQZ|H~ftlJfpvXQJ`ےے`JXQ~HXvbdQZ|f`vXZHAۅnXv`rXQJ`AJltZHAbJtArd˂rXdrtZHAbtArdnXv`bHAZr˂p`f~drtAJnvp`JXQf~HbHAbdQZ|ے`JX|ZdQQJ`ےAJltے`JXQ|ZdQbf~Hp˂r|ZdQbHfpvbdQZfH~rbtlfpvZp˂dtAQr˂pbtlbHAZpbdQZ|r˂ptlJfpvXQJ`ےtlJnXv|drf`vXJtAdnXv`rXQJ`JltZHAbJtArd˂drtZHAbtArdnXv`bHAZtArd`f~tAJlnvp|ZdQf~HbHAbnvpے`JX|ZdQbHAZpAJbdQے`JXQ|ZdQbf~Hp˂r|ZdQbHXv`tbdQZfH~btlfpvZp˂fHQr˂pbtlrXQZ|dr˂ptlJfpvXQJ`ےtlJf~H|drf`vXJtArdnXv`rXQJ`f`vXZHAbJtArdJ`ےrtAJlZHAbtArdnXv`bHAZtArdfpvtAJbdnvp|ZdQf~HbHAnvpے`JX|ZdQbHAZptbdQے`JXQ|ZdQbf~Hp˂r|ZdQbnXv`QZ|dfH~btlfpvZp˂fH~Qr˂pbtlbHZ|AJr˂ptlJfpvXQJ`ےtlJf~HrtAJlf`vXJtArdnXv`rXQJ`f`vXZHAbJtArdAZp˂ltbZHAbtArdnXv`bHAZtArdXv`ftbdnvp|ZdQf~HbHAnvpے`JX|ZdQrXQJ`nvpے`JXQ|ZdQbfHfp˂r|ZdQb~HfQZ|dfH~btlfpvZp˂fH~Qr˂pbtlےbHfHfr˂ptlJpvnXQJ`ےtlJpvnrtAJfZHAbJtArdnXv`rXQJ`f`vXZHAbJtArdAZp˂`vXnZHAbtArdrXQJ`bHAZtArdXv`pbdQZ|ے`JX|ZdQf~HbHAnvpے`JX|ZdQbHAvpfے`JXQ|ZdQbےHAZdrtAJlt`vXnZHAbtArdXQJ`ےvXnZHAbArd|QJ`ےJltvXnJtAd|f~HltbvXnHAbےXv`fJ`ےltbHAbےrd|v`pvZ|dvXnrd|v`fJ`ےvXnZHAbpfH~bdQZ|vpfے`JXQf~HbHAZvpfH`JXQZdQbtbHAZpbdQZ|vpfHZdQbtfpvdQZ|vpfH`JXQr~HfbHAZpdQZ|`JXQrZdQbtnrXQrtAJbvpfHZdQbt~HfpbHAZpvpfH`JXQf۝`vdrtAH~fr˂pXv`fp˂~f`r˂plJt˂rXdrtA~f`lJtnXv`drtAJ~f`˂pZpvn˂rXQdrtAJ˂pZlJtAJ`p˂dQZ|~fZHlJtAvnXrXQ~f`r˂pXnvˍJlt`vXnZHAb~HfbHAZpvXnZHAbArd|QJ`ےJltvXnArd|f~HbdQZ|vXnHAے`Xv`fJ`ےltbHAbےrd|rXQJdrtAJAbے`rd|v`fJ`ےvXnZHAbpfH~bdQZ|vpfے`JXQpvn˂rXQvpfH`JXQZdQbtbHAZpbdQZ|vpfHZdQbtXv`ˁdrtvpfHJXQrb~HfbHAZpdQZ|`JXQrZdQbt`ےbltbJXQrZdQbt~HfpbHAZdvpfH˂pZHf۝`vdrtAH~fr˂pXv`fJ`ے~f`r˂plJt˂rXdrtA~f`lJtf~HAJlt~f`tlJpvn˂rXQdtAJl˂pZlJtAHAZp˂dQZ|˂pZHlJtAvnXrtAJl~f`Abے`XnvˍJlt`vXnZHAb~HXbHAZpvXnZHAbArdQJ`ےJltvXnArd|fpvbdQZ|vXntAd|Xv`fJ`ےtbnHAbےrd|bHAdrtAJAbے`rd|v`ftbdvXnہJXQrpfH~bdQZ|vpfے`JXQv`f˂bvpfH`JXQf~HbHAZpbdQZ|vpfHZdQbtnXv`ˁdrtvpfHZdQbt~HfbHAZpvpf`JXQrZdQbtZp˂bdQZ|JXQrZdQbt~HfpQZ|dvpfH˂p`Zf۝`vdrtAH~fr˂p~HfpHAZd~f`r˂pfpv˂rXdrtA~flJtf~HXAJbdQ~f`lJtApvn˂rXQHf`˂pZlJtArXQJ`drt˂pZHlJtAvnXrtAJl~f`QXb㉀XnvˍJlt`vXnZHAےvnXrtAJvXnZHAbnXv`QJ`ےJltZHAbArd|v`fZ|dvXnrd|Xv`fJ`ےvXnHAbےrd|ےbHAAJltAbے`rd|v`ftbdvXnۑpJAHrpfH~bdQZ|vpf`JXQrv`fbdQZ|vpfH`JXQf~HbHAZpbdQZ|`JXQZdQbt~HfprtAJlvpfHZdQbt~HfbHAZpvpfH`JXQrZdQbtZp˂bdQZ|JXQrZdQbt~HfpQZ|dvpfH󙐂ˁ`Zf۝`vdrtAH~fbtl~HXvdrtA~f`r˂pfpv˂rXdrtAr˂plJtvnXtbdQ~f`lJtApvn˂rXQ~f`˂pZlJtAbHAZAJl˂pZHlJtAvnXrtAJl~f`QXAHrXnvˍJlt`vXnJtAd`f~JltvXnZHAbnXv`QJ`ےJltZHAbArd|v`pZ|dvXnrd|Xv`fJ`ےvXnHAbےrd|p˂rtbnAbے`rd|v`ftbdvXnېˁ`ZQpfH~bdQZ|vpf|ZdQbHfpvbdQZ|vpfH`JXQf~HbHAZpbdQZ|`JXQZdQbtvnrXrtAJvpfHZdQbt~HfbHAZpvpfH`JXQrZdQbtXQJ`ےvpfHJXQrZdQbtHfpQZ|dvpfHXb㉀ۑf۝`vdrtAH~ftlJnXvdrtAJ~f`r˂pfpv˂rXdrtAr˂plJtQJ`pbdQZ|~fZlJtApvn˂rXQ~f`˂pZlJtAbHAZf`˂pZHlJtAvnrXrtAJl~f`pJAHrXnvˍJlt`vXntArd`f~bdQZvXnZHAے`nXv`QJ`ےJltZHAbArd|rXQdrtAHAbےrd|Xv`fJ`ےvXnHAbےrd|p˂vXnAbے`rd|QJ`ےtbdvXnېˁ`ZQp|drbdQZ|vpf|ZdQbHXv`|drvpfHJXQrf~HbHAZpbdQZ|`JXQZdQbtJ`ےJlt`JXQrZdQbt~HfbHAZvpfH`JXQrZdQbtbHAZpvpfHJXQrZdQbtHAZpQZ|dvpfHXAHr󙐂QtJldrtAH~ftlJf~HtAJl璅~f`btlfpv˂rXdtAJlr˂plJtbHAZpbdQZ|˂pZlJtApvndrtAJ~f`˂pZlJtA˂rXQ~f`˂pZHlJtArXQrtAJl~f`ˁ`ZQXbtbAdZJlt`vXntArdfpvtbdQZvXnJtAd|nXv`QJ`ےtbZHAbArd|bHdrtAJHAbےrd|Xv`fltbvXnHAbےrdfJ`ےvXnAbے`rd|J`ےtbdvXn㉀ۑpJ|drbdQZ|vpf|ZdQbnXv`|drvpfHZdQbtf~HbHAZpnvp`JXQZdQbtAZp˂bdQZ`JXQrZdQbt~HfdQZ|vpfH`JXQr~HXbHAZpvpfHJXQrZdQbtbHAZpQZ|dvpfHAHr󙐂QtJldrtAH~ftlJf~HtAJbd~f`lJtfpv˂rXfHf`r˂plJtrXQJ`|dr˂pZlJtApvndrtAJ~f`˂pZv`f˂b~f`˂pZHlJtArXQrtAJl~f`ˁ`ZQXAtbAdZJltZHAbtArdXv`fQZ|dvXnArd|nXv`QJ`ےvXnZHAbArd|ےbHtAJlHAbےrd|Xv`fltbvXnHAbے~HfpHAZp˂vXnAbے`rd|J`ےtbdvXnHr󙐂ˁ|drbdQZ|ے`JXQ|ZdQb~HfrtAJlvpfHZdQbtf~HbHAZpvpfH`JXQZdQbtAZp˂tbdQZ`JXQrZdQbt~HfdQZ|vpfH`JXQrvnXrXQJvpfHJXQrZdQbtbHAZpQZ|dvpfH`ZQXbQtJldrtAr˂ptlJpvntbd~f`lJtfpv˂rX~f`r˂plJtbHA|AJl˂pZlJtApvndrtAJ~f`˂pZv`f`ےb~f`˂pZHlJtArXQrtAJl~f`ۑpJAtbAdZJltZHAbtArdXv`pQZ|dvXnArd|nXv`QJ`ےvXnZHAbArd|Zp˂tbnHAbےrd|Xv`fltbvXnHAbے~HXvHAZp˂vXnAbے`rdfJ`ےtbdvXnHr󙐂ˁ|drbdQZ|ے`JXQ|ZdQbvnrrtAJvpfHZdQbtf~HbHAZpvpfH`JXQZdQbtrXQJ`ۀvpf`JXQrZdQbtHfpdQZ|vpfH`JXQr`f~bHAvpfHJXQr~HfpbHAZpQZ|dvpfH`ZQXAHrQtJldrtAr˂ptlJXQJ`pbdQZ|~flJtfpv˂rX~f`r˂plJtbHAHf`˂pZlJtAvnrdrtAJ~f`˂pZHfpvZdr~f`˂pZHvnXrXQrtAJl~fr󙐂ˁ`ZtbAdZJltZHAbtArd˂rXQdrtAZHAbArd|nXv`QJ`ےvXnZHAbArd|Zp˂vXnHAbےrd|XQJ`ےltbvXnHAے`nXvtAJbdvXnAbے`v`fJ`ےtbd˂pZHQXb㉀|drbdQZ|ے`JXQ|ZdQbJ`ےJlt`JXQZdQbtf~HbHAZvpfH`JXQZdQbtbHAZpvpfH`JXQrZdQbtHAZpdQZ|vpfHJXQrb`f~QZ|dvpfHJXQr~HfpbHAZpQZ|dAbے`ۑpJAHrQtJldtAJr˂ptlJbHAZpbdQZ|r˂plJtfpvdrtA~f`r˂plJt˂rX~f`˂pZlJtA˂rXQdrtAJ~f`tlJHXv`rtAJl~f`˂pZHvnXrXQrtAJlJXQr󙐂ˁ`tbAdZltbZHAbtArd˂bdrtAZHAbArd|nXv`JltvXnZHAbArdQJ`ےvXnHAbےrd|J`ےltbvXntAd|f~HtbdvXnAbے`v`fJ`ےtbd˂pZHpfH~|drnvpے`JXQ|ZdQbHAZp˂JbdQ`JXQZdQbtf~HbdQZ|vpfH`JXQf~HXbHAZpvpfH`JXQrZdQbtbHAZpdQZ|vpfHZdQbtfpvQZ|dvpfHJXQr~HfpbHAZpQZ|dAbːf۝`vQtJlfHfr˂ptlJrXQJZ|dr˂plJtfpvdrtA~f`r˂pv`f˂~f`˂pZlJtA˂rXQdrtAJ~f`lJtAnXv`rtAJ~f`˂pZHvnXrXQrtAJlpZHAXnvˍtbAdZ`vXnZHAbtArd`ےbrtAJlZHAbArd|nXv`JltvXnZHAbە~HfpbHAZpvXnHAbےrd|J`ےltbvXnrd|f~HbdQZ|vXnAے`v`fJ`ےtbdbے`pfH~|drvpfے`JXQ|ZdQbHAZp˂tbdQ`JXQZdQbtf~HbdQZ|vpfH`JXQvnXrXQvpfH`JXQrZdQbtbHAZpdQZ|vpfHZdQbtXv`fdrtAvpfHJXQrbt~HfpbHAZpQZ|dJXQrːf۝`vQtJlH~fr˂ptlJbHAZ|AJlr˂plJtfpvdrtA~f`r˂pv`fJ`ے~f`˂pZlJtA˂rXQdrtAJ~f`lJtA~HfJlt~f`lJtvnXrXQtAJlpZHAXnvˍtbAdZ`vXnZHAbtArdZp˂tbZHAbArd|nXv`JltvXnZHAbە~HXbHAZpvXnHAbےrdfJ`ےltbvXnrd|pvnbdQZ|vXnAd|v`fJ`ےtbnb˂ppfH~|drvpfے`JXQ|ZdQbrXQJ`nvp`JXQZdQbtfHfpbdQZ|vpfH`JXQv`f󂀉bHvpfH`JXQr~HfbHAZpdQZ|vpfHZdQbtXv`fdrtAvpfHZdQbt~HfpbHAZp˅vpfHZHAbf۝`vQtJlH~fr˂ptlJےbHAfHf`r˂plJtvndrtA~f`r˂p~HfpAZd~f`˂pZpvn˂rXQdrtAJ~fZlJtA~HXJbdQ~f`lJtAvnXrXQf`ے`JXXnvˍtbAdZ`vXnZHAbtArdZp˂vXnZHAbArd|rXQJ`JltvXnZHAے`vnXrtAJbvXnHAbےXv`fJ`ےltbHAbےrd|v`fZ|dvXnrd|v`fJ`ےvXnQr˂ppfH~|drvpfے`JXQ|ZdQbbHAZvpfH`JXQZdQbtHAZpbdQZ|vpfHJXQrv`fdQZ|vpfH`JXQr~HfbHAZpdQZ|`JXQrZdQbt~HfprtAJlvpfHZdQbt~HfpbHAZpvpfHZHAbf۝`vQtJlH~fr˂ptlJp˂r~f`r˂plJt˂rXdrtA~f`btl~HXv`drtAJ~f`˂pZpvn˂rXQdrtAJ˂pZlJtAvnXtbdQ~f`lJtAvnXrXQ~f`˂pXnvˍtbAdZ|yz{|}~~}|{z-----------............................... \ No newline at end of file diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv28_3.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv28_3.dat deleted file mode 100644 index f1fc12977a..0000000000 --- a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv28_3.dat +++ /dev/null @@ -1,257 +0,0 @@ -~}~}~}~}|{|{|{|{zyzyzyzyuvuvuvuvststststqrqrqrqropopopopmnmnmnmnklklklklijijijijghghghghefefefefabababab_`_`_`_`^]^]^]^]\[\[\[\[ZYZYZYZYVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLK~}~}~}~}|{|{|{|{zyzyzyzyuvuvuvuvststststqrqrqrqropopopopmnmnmnmnklklklklijijijijghghghghefefefefabababab_`_`_`_`^]^]^]^]\[\[\[\[XWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLK~}~}~}~}|{|{|{|{zyzyxwxwuvuvuvuvststststqrqrqrqropopopopmnmnmnmnklklklklijijijijghghghghedcdcdcdabababab_`_`_`_`^]^]^]^]\[\[\[\[XWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLK~}~}~}~}|{|{|{|{xwxwwwwwuvuvuvuvststststqrqrqrqropopopopmnmnmnmnklklklklijijijijghghghghcdcdcdcdabababab_`_`_`_`^]^]^]^]\[\[\[\[XWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLK~}~}~}~}|{|{|{|{wxwxwxwxuvuvuvuvststststqrqrqrqropopopopmnmnmnmnklklklklijijijijghghghghcdcdcdcdabababab______`_^]^]^]^]ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKGHGHGHGH~}~}~}~}|{|{|{|{wxwxwxwxuvuvuvuvststststqrqrqrqropopopopmnmnmnmnklklklklijijijijgfefefefcdcdcdcdabababab`_`_`_`_^]^]^]^]ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKGHGHGHGH~}~}~}~}|{|{|{|{wxwxwxwxuvuvuvuvststststqrqrqrqropopopopmnmnmnmnklklklklijijijijefefefefcdcdcdcdabababab`_`_`_`_^]^]^]^]ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKGHGHGHGH~}~}~}~}|{|{|{|{wxwxwxwxuvuvuvuvststststqrqrqrqropopopopmnmnmnmnklklklklijijijijefefefefcdcdcdcdabababab`_`_`_`_\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKLKLKJIGHGHGHGG~}~}~}~}|{|{|{|{wxwxwxwwuvuvuvuvststststqrqrqrqropopopopmnmnmnmnklklklklihghghghefefefefcdcdcdcdabababab`_`_____\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMJIJIJIJIGGGGHGHG~}~}~}~}|{|{|{|{wwwwxwxwuvuvuvuvststststqrqrqrqropopopopmnmnmnmnklklklklghghghghefefefefcdcdcdcdabababab`_`_`_`_\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMJIJIJIJIHGHGHGHG~}~}~}~}|{|{|{|{xwxwxwxwuvuvuvuvststststqrqrqrqropopopopmnmnmnmnklklklklghghghghefefefefcdcdcdcdabababab^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMJIJIJIJIHGHGHGHG~}~}~}~}|{|{|{|{xwxwxwxwuvuvuvuvststststqrqrqrqropopopopmnmnmnmnkjijijijghghghghefefefefcdcdcdcdabababab^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMJIJIJIJIHGHGHGHG~}~}~}~}|{|{|{|{xwxwxwxwuvuvuvuvststststqrqrqrqropopopopmnmnmnmnijijijijghghghghefefefefcdcdcdcdabababab^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMJIJIJIJIHGHGHGHG~}~}~}~}|{|{|{zyxwxwxwxwuvuvuvuvststststqrqrqrqropopopopmnmnmnmnijijijijghghghghefefefefcdcdcdcdabababab^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMJIJIJIJIHGGGGGGH~}~}~}~}zyzyzyzyxwwwwwwxuvuvuvuvststststqrqrqrqropopopopmlklklklijijijijghghghghefefefefcdcdcdcdabababab^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMJIJIJIJIGHGHGHGH~}~}~}~}zyzyzyzywxwxwxwxuvuvuvuvststststqrqrqrqropopopopklklklklijijijijghghghghefefefefcdcdcdcdabababab^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMJIJIJIJIGHGHGHGH~}~}~}~}zyzyzyzywxwxwxwxuvuvuvuvststststqrqrqrqropopopopklklklklijijijijghghghghefefefefcdcdcdcdababa`_`^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMJIJIJIJIGHGHGHGH~}~}~}~}zyzyzyzywxwxwxwxuvuvuvuvststststqrqrqrqronmnmnmnklklklklijijijijghghghghefefefefcdcdcdcd_`_`____^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMJIJIJIJIGHGHGHGH~}~}~}~}zyzyzyzywxwxwxwxuvuvuvuvststststqrqrqrqrmnmnmnmnklklklklijijijijghghghghefefefefcdcdcdcd__`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPOLKLKLKLKJIJIJIJIGHGHGGGG~}~}~}~}zyzyzyzywxwxwwwwuvuvuvuvststststqrqrqrqrmnmnmnmnklklklklijijijijghghghghefefefefcdcdcdcd`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPOLKLKLKLKJIJIJIJIGGHGHGHG~}~}~}~}zyzyzyzywwxwxwxwuvuvuvuvststststqpopopopmnmnmnmnklklklklijijijijghghghghefefefefcdcdcdcd`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPOLKLKLKLKJIJIJIJIHGHGHGHG~}~}~}~}zyzyzyzyxwxwxwxwuvuvuvuvststststopopopopmnmnmnmnklklklklijijijijghghghghefefefefcdcdcdcd`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQNMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHG~}~}~}~}zyzyzyzyxwxwxwxwuvuvuvuvststststopopopopmnmnmnmnklklklklijijijijghghghghefefefefcdcdcdcd`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQNMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHG~}~}~}~}zyzyzyzyxwxwxwxwuvuvuvuvsrqrqrqropopopopmnmnmnmnklklklklijijijijghghghghefefefefcdcdcdcd_____`_`^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQNMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHG~}~}~}~}zyzyzyzyxwxwxwxwuvuvuvuvqrqrqrqropopopopmnmnmnmnklklklklijijijijghghghghefefefefcdcdcdcd_`_`_`_`^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIGGGGGHGH|{|{|{|{zyzyzyzywwwwwxwxuvuvuvuvqrqrqrqropopopopmnmnmnmnklklklklijijijijghghghghefefefefcdcdcdcd_`_`_`_`^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIGHGHGHGH|{|{|{|{zyzyzyzywxwxwxwxutstststqrqrqrqropopopopmnmnmnmnklklklklijijijijghghghghefefefefcdcdcdcb_`_`_`_`^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIGHGHGHGH|{|{|{|{zyzyzyzywxwxwxwxststststqrqrqrqropopopopmnmnmnmnklklklklijijijijghghghghefefefefabababab_`_`_`_`^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVURQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIGHGHGHGH|{|{|{|{zyzyzyzywxwxwxwxststststqrqrqrqropopopopmnmnmnmnklklklklijijijijghghghghefefefefabababab_`______^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVURQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIGHGGGGGH|{|{|{|{zyzyzyzywxwxwxwuststststqrqrqrqropopopopmnmnmnmnklklklklijijijijghghghghefefefefabababab`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVURQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIGHGHGHGF~}~}~}~}|{|{|{|{zyzyzyzyuuuuuvuvststststqrqrqrqropopopopmnmnmnmnklklklklijijijijghghghghefefefefabababab`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIEFEFEFEF~}~}~}~}|{|{|{|{zyzyzyzyuvuvuvuvststststqrqrqrqropopopopmnmnmnmnklklklklijijijijghghghghefefefefabababab`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIEFEFEFEF~}~}~}~}|{|{|{|{zyzyzyzyuvuvuvuvststststqrqrqrqropopopopmnmnmnmnklklklklijijijijghghghghefefefefabababab`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKJIJIHGHGEFEFEFEF~}~}~}~}|{|{|{|{zyzyzyzyuvuvuvuvststststqrqrqrqropopopopmnmnmnmnklklklklijijijijghghghghefefefefabababab`_`_`___^]^]^]^]\[\[\[\[ZYZYZYZYVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKHGHGGGGGEFEFEFEF~}~}~}~}|{|{|{|{zyzyzyzyuvuvuvuvststststqrqrqrqropopopopmnmnmnmnklklklklijijijijghghghghefefefefabababab___`_`_`^]^]^]^]\[\[\[\[ZYZYZYZYVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKGHGHGHGHEFEFEFEFEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:787878785656565612121212/0/0/0/0.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#"!"!"!"!         - - - -EFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:787878785656565612121212/0/0/0/0.-.-.-.-,+,+,+,+*)*)*)('&%&%&%&%$#$#$#$#"!"!"!"!         - - - -EFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:787878785656565412121212/0/0/0/0.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - - -EFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:787878783434343412121212/0/0/0/0.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - - -EFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:787878783434343412121212/0/0/0//.-.-.-.-,+,+,+*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - - -EFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:787878763434343412121212////0/0/.-.-.-.-*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - EFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:5656565634343434121212120/0/0/0/.-.-.-.-*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!         EFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:5656565634343434121212120/0/0/0/.-.-.-,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!         EFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:985656565634343434121212120/0/0/0/,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - -EFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<787878785656565634343434121212120/////0/,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - - -EFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<787878785656565634343434121212120/0/0/.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - - -EFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;:78787878565656563434343412121212.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!       - - - -EFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>9:9:9:9:78787878565656563434343412121212.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!     - - - -EFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>9:9:9:9:78787878565656563434343412121212.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!     - - - -EFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=<9:9:9:9:78787878565656563434343412121212.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!      - - - -EFEFEFEFCDCDCDCDABABABAB?@?@?@?@;<;<;<;<9:9:9:9:78787878565656563434343412121212.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - - -EFEFEFEFCDCDCDCDABABABAB?@?@?@?@;<;<;<;<9:9:9:9:78787878565656563434343412121212.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - - -EFEFEFEFCDCDCDCDABABABAB?@?@?@?>;<;<;<;<9:9:9:9:7878787856565656343434341210/0/0.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - - -EFEFEFEFCDCDCDCDABABABAB=>=>=>=>;<;<;<;<9:9:9:9:787878785656565634343434/0//////.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - - -EFEFEFEFCDCDCDCDABABABAB=>=>=>=>;<;<;<;<9:9:9:9:7878787856565656343434340/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - - -EFEFEFEFCDCDCDCDABABABA@=>=>=>=>;<;<;<;<9:9:9:9:7878787856565656343434340/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - - -EFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:7878787856565656343434340/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - -EFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:7878787856565656343434340/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!     - - - -EFEFEFEFCDCDCDCB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:7878787856565656343434340/0/0///.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!     - - - -EFEFEFEFABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:787878785656565634343434///0/0/0.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!      - - - -EFEFEFEFABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:787878785656565634343434/0/0/0/0.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#         - - - -EFEFEFEDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:787878785656565634343434/0/0/0/0.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#         - - - -CDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:787878785656565634343212/0/0/0/0.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#"!         - - - -CDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:787878785656565612121212/0/0/0/0.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%"!"!"!"!         - - - -CDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:787878785656565612121212//////0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%"!"!"!"!         - - - -CDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:7878787856565656121212120/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%$#"!"!"!"!         - - - -CDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:7878787856565656121212120/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"!         - - - -CDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:7878787856565656121212120/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"!         - - - -CDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:7878787856565656121212120/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('&%$#$#$#$#"!"!"!"!         - - - -CDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:7878787856565656121212120/0/////.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#"!"!"!"!         - - - -~~}} NNMMGGFFrrssttuu]\\[[ZZY01122334EDDCCBBAHIIJJKKL-,,++**)`aabbccdxyyzz{{|*++,,--.-,,++**)eeffgghh }}~~ - - llkkjjii!!""##$$TTSSRRQQ99::;;<<((''&&%%||{{zzyy!!""##$$EEDDCCBBvvww}}~~ YXXWWVVU45566778A@@??>>=LMMNNOOP)((''&&%deeffggh |}}~~.//55667)((''&&%iijjkkll - - ~~}} hhggffee%%&&''((PPOONNMM==>>??@@$$##""!!xxwwvvuu%%&&''((AA@@??>> !!""##$UTTSSRRQ899::;;<=<<;;::9PQQRRSST%$$##""!hiijjkkl - - ~~}78899::;%$$##""!mmnnoopp||{{zzyyddccbbaa))**++,,LLKKJJIIAABBCCDD ttssrrqq))**++,,==<<;;::~~}}|{zy$%%&&''(QPPOONNM<==>>??@98877665TUUVVWWX! lmmnnoop }wwvvuut;<<==>>?! qqrrssttxxwwvvuu``__^^]]--..//00HHGGFFEEEEFFGGHHppoonnmm--..//0099887766xwwvvuut())**++,MLLKKJJI@AABBCCD54433221XYYZZ[[\pqqrrssttssrrqqp?@@AABBCuuvvwwxxttssrrqq\\[[ZZYY11223344DDCCBBAAIIJJKKLLtssrrqqpllkkjjii1122334455//..--tssrrqqp,--..//0IHHGGFFEDEEFFGGH100//..-\]]^^__`tuuvvwwxpoonnmmlCDDEEFFGyyzz{{||ppoonnmm XXWWVVUU55667788@@??>>==MMNNOOPP poonnmmlhhggffee55667788,,++**))poonnmml01122334EDDCCBBAHIIJJKKL-,,++**)`aabbccdxyyzz{{|lkkjjiihGMMNNOOP}}~~ - - llkkjjii!!""##$$TTSSRRQQ99::;;<<<<;;::99QQRRSSTT - - lkkjjiihddccbbaa99::;;<<((''&&%%lkkjjiih45566778A@@??>>=LMMNNOOP)((''&&%deeffggh |}}~~ - - hggffee_PQQRRSST ~~}} hhggffee%%&&''((PPOONNMM==>>??@@88776655UUVVWWXXhggffeed``__^^]]==>>??@@$$##""!!hggffeed899::;;<=<<;;::9PQQRRSST%$$##""!hiijjkkl - - ~~} _^^]]\\[TUUVVWWX - - ||{{zzyyddccbbaa))**++,,LLKKJJIIAABBCCDD44332211YYZZ[[\\ cba`__^^\\[[ZZYYAABBCCDD cba`__^^<==>>??@98877665TUUVVWWX! lmmnnoop }||{{zzy[ZZYYXXWXYYZZ[[\xxwwvvuu``__^^]]--..//00HHGGFFEEEEFFGGHH00//..--]]^^__`` - - ]]\\[[ZZXXWWVVUUEEFFGGHH]]\\[[ZZ@AABBCCD54433221XYYZZ[[\pqqrrsstyxxwwvvuWVVUUTTS\]]^^__ettssrrqq\\[[ZZYY11223344DDCCBBAAIIJJKKLL,,++**))aabbccddYYXXWWVVTTSSRRQQIIJJKKLLYYXXWWVVDEEFFGGH100//..-\]]^^__`tuuvvwwxuttssrrqSRRQQPPOeffgghhippoonnmm XXWWVVUU55667788@@??>>==MMNNOOPP((''&&%%eeffgghhUUTTSSRRPPOONNMMMMNNOOPP UUTTSSRRHIIJJKKL-,,++**)`aabbccdxyyzz{{|qppoonnm ONNMMGGFijjkkllm - - llkkjjii!!""##$$TTSSRRQQ99::;;<<<<;;::99QQRRSSTT$$##""!!iijjkkllQQPPOONNLLKKJJIIQQRRSSTT - - QQPPOONNLMMNNOOP)((''&&%deeffggh |}}~~ - - mllkkjji !!""##$FEEDDCCBmnnooppq hhggffee%%&&''((PPOONNMM==>>??@@88776655UUVVWWXX mmnnoopp !!""MMLKJIHGHHGGFFEEUUVVWWXX - - MMLKJIHGPQQRRSST%$$##""!hiijjkkl - - ~~} ihhggffe$%%&&''(BAA@@??>qrrssttuddccbbaa))**++,,LLKKJJIIAABBCCDD44332211YYZZ[[\\qqrrsstt##$$%%&&GFFEEDDCDDCCBBAAYYZZ[[\\GFFEEDDCTUUVVWWX! lmmnnoop }||{{zzyeddccbba())**++,>==<<;;:uvvww}}~``__^^]]--..//00HHGGFFEEEEFFGGHH00//..--]]^^__``uuvvwwxx''(())**CBBAA@@?@@??>>==]]^^__``CBBAA@@?XYYZZ[[\pqqrrsstyxxwwvvua``__^^],--..//0:9988776~\\[[ZZYY11223344DDCCBBAAIIJJKKLL,,++**))aabbccddyyzz{{||++,,--..?>>==<<;<<;;::99aabbccdd?>>==<<;\]]^^__`tuuvvwwxuttssrrq]\\[[ZZY01122334655//..-~~}}|{z XXWWVVUU55667788@@??>>==MMNNOOPP((''&&%%eeffgghh }}~~//556677;::9988788776655eeffgghh !!"";::99887`aabbccdxyyzz{{|qppoonnm YXXWWVVU45566778-,,++**)yxwwvvuu!!""##$$TTSSRRQQ99::;;<<<<;;::99QQRRSSTT$$##""!!iijjkkll - - ~~}}8899::;;7665543244332211iijjkkll##$$%%&&76655432deeffggh |}}~~ - - mllkkjji !!""##$UTTSSRRQ899::;;<)((''&&%ttssrrqq%%&&''((PPOONNMM==>>??@@88776655UUVVWWXX mmnnooppwwvvuutt<<==>>??10//..--00//..--mmnnoopp''(())**10//..--hiijjkkl - - ~~} ihhggffe$%%&&''(QPPOONNM<==>>??@%$$##""!ppoonnmm))**++,,LLKKJJIIAABBCCDD44332211YYZZ[[\\qqrrssttssrrqqpp@@AABBCC,,++**)),,++**))qqrrsstt++,,--..,,++**))lmmnnoop }||{{zzyeddccbba())**++,MLLKKJJI@AABBCCD! llkkjjii--..//00HHGGFFEEEEFFGGHH00//..--]]^^__``uuvvwwxxoonnmmllDDEEFFGG((''&&%%((''&&%%uuvvwwxx//556677((''&&%%pqqrrsstyxxwwvvua``__^^],--..//0IHHGGFFEDEEFFGGHhhggffee11223344DDCCBBAAIIJJKKLL,,++**))aabbccddyyzz{{||kkjjiihhMMNNOOPP$$##""!!$$##""!!yyzz{{||8899::;;$$##""!!tuuvvwwxuttssrrq]\\[[ZZY01122334EDDCCBBAHIIJJKKLdcba`__^55667788@@??>>==MMNNOOPP((''&&%%eeffgghh }}~~ - - ggffee__QQRRSSTT  }}~~<<==>>?? xyyzz{{|qppoonnm YXXWWVVU45566778A@@??>>=LMMNNOOP ^]]\\[[Z99::;;<<<<;;::99QQRRSSTT$$##""!!iijjkkll - - ~~}} ^^]]\\[[UUVVWWXX~~}}@@AABBCC|}}~~ - - mllkkjji !!""##$UTTSSRRQ899::;;<=<<;;::9PQQRRSST - - ZYYXXWWV==>>??@@88776655UUVVWWXX mmnnoopp||{{zzyyZZYYXXWWYYZZ[[\\wwvvuuttDDEEFFGG~~} ihhggffe$%%&&''(QPPOONNM<==>>??@98877665TUUVVWWXVUUTTSSRAABBCCDD44332211YYZZ[[\\qqrrssttxxwwvvuuVVUUTTSS]]^^__eessrrqqppMMNNOOPP}||{{zzyeddccbba())**++,MLLKKJJI@AABBCCD54433221XYYZZ[[\ RQQPPOONEEFFGGHH00//..--]]^^__``uuvvwwxxttssrrqqRRQQPPOOffgghhii - oonnmmllQQRRSSTT -yxxwwvvua``__^^],--..//0IHHGGFFEDEEFFGGH100//..-\]]^^__` - - NMMLKJIHIIJJKKLL,,++**))aabbccddyyzz{{||ppoonnmm NNMMGGFFjjkkllmm -  - - kkjjiihhUUVVWWXX - uttssrrq]\\[[ZZY01122334EDDCCBBAHIIJJKKL-,,++**)`aabbccd GGFFEEDDMMNNOOPP((''&&%%eeffgghh }}~~ - - llkkjjii!!""##$$EEDDCCBBnnooppqq - - ggffee__YYZZ[[\\qppoonnm YXXWWVVU45566778A@@??>>=LMMNNOOP)((''&&%deeffgghCCBBAA@@QQRRSSTT$$##""!!iijjkkll - - ~~}} hhggffee%%&&''((AA@@??>>rrssttuu ^^]]\\[[]]^^__ee - - mllkkjji !!""##$UTTSSRRQ899::;;<=<<;;::9PQQRRSST%$$##""!hiijjkkl??>>==<>??@98877665TUUVVWWX! lmmnnoop !!";;::9988YYZZ[[\\qqrrssttxxwwvvuu``__^^]]--..//0099887766 - - VVUUTTSSjjkkllmmeddccbba())**++,MLLKKJJI@AABBCCD54433221XYYZZ[[\pqqrrsst"##$$%%&77665543]]^^__``uuvvwwxxttssrrqq\\[[ZZYY1122334455//..--~~}}|{zy RRQQPPOOnnooppqqa``__^^],--..//0IHHGGFFEDEEFFGGH100//..-\]]^^__`tuuvvwwx&''(())*210//..-aabbccddyyzz{{||ppoonnmm XXWWVVUU55667788,,++**))xwwvvuut`__^^]]\-..//001HGGFFEEDEFFGGHHI0//..--,]^^__``auvvwwxxy'(())**+0//..--,bbccddeezz{{||}} oonnmmll !!WWVVUUTT66778899++**))((wvvuutts"##$$%%&SRRQQPPO:;;<<==>;::99887RSSTTUUV#""!! jkkllmmn'(())**+)((''&&%\[[ZZYYX12233445DCCBBAA@IJJKKLLM,++**))(abbccddeyzz{{||}+,,--../,++**))(ffgghhii ~~ - - kkjjiihh""##$$%%SSRRQQPP::;;<<==''&&%%$$srrqqppo&''(())*ONNMMLLK>??@@AAB76655443VWWXXYYZnooppqqr+,,--../%$$##""! !XWWVVUUT56677889@??>>==>??@@AA##""!! onnmmllk*++,,--.KJJIIHHGBCCDDEEF3221100/Z[[\\]]^rssttuuv/5566778! !""##$$%TSSRRQQP9::;;<<=<;;::998QRRSSTTU$##""!! ijjkkllm - - ~~}}w899::;;<$##""!! nnooppqq{{zzyyxxccbbaa``**++,,--KKJJIIHHBBCCDDEEkjjiihhg.//00112GFFEEDDCFGGHHIIJ/..--,,+^__``aabvwwxxyyz899::;;<%&&''(()POONNMML=>>??@@A87766554UVVWWXXY mnnooppqwvvuutts<==>>??@ rrssttuuwwvvuutt__^^]]\\..//0011GGFFEEDDFFGGHHIIgffeedcb23344556CBBAA@@?JKKLLMMN+**))(('bccddeefz{{||}}~<==>>??@)**++,,-LKKJJIIHABBCCDDE43322110YZZ[[\\]qrrssttusrrqqppo@AABBCCDvvwwxxyyssrrqqpp[[ZZYYXX22334455CCBBAA@@JJKKLLMMa`__^^]]6778899:?>>==<<;NOOPPQQR'&&%%$$#fgghhiij ~xxw@AABBCCD-..//001HGGFFEEDEFFGGHHI0//..--,]^^__``auvvwwxxyonnmmllkDEEFFGGMzz{{||}} oonnmmll !!WWVVUUTT66778899??>>==<;::99887RSSTTUUV#""!! jkkllmmn - - wvvuuttsDEEFFGGM 12233445DCCBBAA@IJJKKLLM,++**))(abbccddeyzz{{||} kjjiihhgMNNOOPPQ~~ - - kkjjiihh""##$$%%SSRRQQPP::;;<<==;;::9988RRSSTTUU - - XXWWVVUU>??@@AAB76655443VWWXXYYZnooppqqrsrrqqppoMNNOOPPQ - - 56677889@??>>==>??@@AA77665544VVWWXXYYTTSSRRQQBCCDDEEF3221100/Z[[\\]]^rssttuuvonnmmllkQRRSSTTU - - 9::;;<<=<;;::998QRRSSTTU$##""!! ijjkkllm - - ~~}}| ^]]\\[[ZUVVWWXXY {{zzyyxxccbbaa``**++,,--KKJJIIHHBBCCDDEE33221100ZZ[[\\]] - -PPOONNMMFGGHHIIJ/..--,,+^__``aabvwwxxyyzkjjiihhgUVVWWXXY =>>??@@A87766554UVVWWXXY mnnooppq|{{zzyyxZYYXXWWVYZZ[[\\]wwvvuutt__^^]]\\..//0011GGFFEEDDFFGGHHII//..--,,^^__``aa LKJIHGGFJKKLLMMN+**))(('bccddeefz{{||}}~ -gffee__^YZZ[[\\]ABBCCDDE43322110YZZ[[\\]qrrssttuxwwvvuutVUUTTSSR]^^__eefssrrqqpp[[ZZYYXX22334455CCBBAA@@JJKKLLMM++**))((bbccddeeFEEDDCCBNOOPPQQR'&&%%$$#fgghhiij ~ - ^]]\\[[Z]^^__eefEFFGGHHI0//..--,]^^__``auvvwwxxytssrrqqpRQQPPOONfgghhiij oonnmmll !!WWVVUUTT66778899??>>==<RSSTTUUV#""!! jkkllmmn - - ~~}}||{ZYYXXWWVfgghhiijIJJKKLLM,++**))(abbccddeyzz{{||} poonnmml !NMMGGFFEjkkllmmn - - kkjjiihh""##$$%%SSRRQQPP::;;<<==;;::9988RRSSTTUU##""!! jjkkllmm>==<<;;:VWWXXYYZnooppqqr{zzyyxxwVUUTTSSRjkkllmmn MNNOOPPQ(''&&%%$effgghhi }~~ - - lkkjjiih!""##$$%EDDCCBBAnooppqqrggffeedd&&''(())OONNMMLL>>??@@AA77665544VVWWXXYYnnooppqq !!""##:9988776Z[[\\]]^rssttuuvwvvuuttsRQQPPOONnooppqqr !!""##$QRRSSTTU$##""!! ijjkkllm - - ~~}}| hggffeed%&&''(()A@@??>>=rssttuuvccbbaa``**++,,--KKJJIIHHBBCCDDEE33221100ZZ[[\\]]rrssttuu$$%%&&''65543210^__``aabvwwxxyyzsrrqqppoNMMGGFFErssttuuu$%%&&''(UVVWWXXY mnnooppq|{{zzyyxdccbbaa`)**++,,-=<<;;::9vww}}~~__^^]]\\..//0011GGFFEEDDFFGGHHII//..--,,^^__``aavvwwxxyy(())**++//..--,,bccddeefz{{||}}~ -onnmmllk !!"EDDCCBBAuttssrrq())**++,YZZ[[\\]qrrssttuxwwvvuut`__^^]]\-..//00198877665~[[ZZYYXX22334455CCBBAA@@JJKKLLMM++**))((bbccddeezz{{||}},,--..//++**))((fgghhiij ~ - kjjiihhg"##$$%%&A@@??>>=qppoonnm,--..//0]^^__``auvvwwxxytssrrqqp\[[ZZYYX122334455//..--,~}}|{zyx !!WWVVUUTT66778899??>>==<>??@@AA77665544VVWWXXYYnnooppqqvvuuttss==>>??@@rssttuuvwvvuutts_^^]]\\[.//001125//..--,eddccbba899::;;>??@@A$##""!! oonnmmll**++,,--KKJJIIHHBBCCDDEE33221100ZZ[[\\]]rrssttuurrqqppooAABBCCDDvwwxxyyzsrrqqppo[ZZYYXXW23344556,++**))(a``__^^]<==>>??@mnnooppq|{{zzyyxdccbbaa`)**++,,-LKKJJIIHABBCCDDE kkjjiihh..//0011GGFFEEDDFFGGHHII//..--,,^^__``aavvwwxxyynnmmllkkEEFFGGMMz{{||}}~ -onnmmllk !!"WVVUUTTS6778899:(''&&%%$]\\[[ZZY@AABBCCDqrrssttuxwwvvuut`__^^]]\-..//001HGGFFEEDEFFGGHHIggffeedc22334455CCBBAA@@JJKKLLMM++**))((bbccddeezz{{||}} jjiihhggNNOOPPQQ ~ - kjjiihhg"##$$%%&SRRQQPPO:;;<<==>$##""!! YXXWWVVUDEEFFGGHuvvwwxxytssrrqqp\[[ZZYYX12233445DCCBBAA@IJJKKLLMba`__^^]66778899??>>==<??@@AAB UTTSSRRQHIIJJKKLyzz{{||} poonnmml !XWWVVUUT56677889@??>>==>??@@AA77665544VVWWXXYYnnooppqq{{zzyyxxYYXXWWVVZZ[[\\]]wvvuutts_^^]]\\[.//00112GFFEEDDCFGGHHIIJMLLKKJJIPQQRRSST~~}}| hggffeed%&&''(()POONNMML=>>??@@A87766554UVVWWXXYUTTSSRRQBBCCDDEE33221100ZZ[[\\]]rrssttuuwwvvuuttUUTTSSRR^^__eeffsrrqqppo[ZZYYXXW23344556CBBAA@@?JKKLLMMN IHHGGFFETUUVVWWX|{{zzyyxdccbbaa`)**++,,-LKKJJIIHABBCCDDE43322110YZZ[[\\] -QPPOONNMFFGGHHII//..--,,^^__``aavvwwxxyyssrrqqppQQPPOONNgghhiijj -onnmmllk !!"WVVUUTTS6778899:?>>==<<;NOOPPQQR - - -EDDCCBBAXYYZZ[[\xwwvvuut`__^^]]\-..//001HGGFFEEDEFFGGHHI0//..--,]^^__``a - MLKJIHGGJJKKLLMM++**))((bbccddeezz{{||}} oonnmmll !!MMGGFFEEkkllmmnn - kjjiihhg"##$$%%&SRRQQPPO:;;<<==>;::99887RSSTTUUV - A@@??>>=\]]^^__`tssrrqqp\[[ZZYYX12233445DCCBBAA@IJJKKLLM,++**))(abbccddeFFEEDDCCNNOOPPQQ''&&%%$$ffgghhii ~~ - - kkjjiihh""##$$%%DDCCBBAAooppqqrrgffeeddc&''(())*ONNMMLLK>??@@AAB76655443VWWXXYYZ=<<;;::9`aabbccdpoonnmml !XWWVVUUT56677889@??>>==>==ssttuuvvcbbaa``_*++,,--.KJJIIHHGBCCDDEEF3221100/Z[[\\]]^98877665deeffgghlkkjjiih!""##$$%TSSRRQQP9::;;<<=<;;::998QRRSSTTU$##""!! ijjkkllm>>==<<;;VVWWXXYYnnooppqq{{zzyyxxccbbaa``**++,,--<<;;::99ww}}~~_^^]]\\[.//00112GFFEEDDCFGGHHIIJ/..--,,+^__``aab54433221hiijjkklhggffeed%&&''(()POONNMML=>>??@@A87766554UVVWWXXY mnnooppq !!""#::998877ZZ[[\\]]rrssttuuwwvvuutt__^^]]\\..//001188776655~~[ZZYYXXW23344556CBBAA@@?JKKLLMMN+**))(('bccddeef !!""#100//..-lmmnnoopdccbbaa`)**++,,-LKKJJIIHABBCCDDE43322110YZZ[[\\]qrrssttu#$$%%&&'66554321^^__``aavvwwxxyyssrrqqpp[[ZZYYXX22334455//..--,,}}|{zyxw !!"WVVUUTTS6778899:?>>==<<;NOOPPQQR'&&%%$$#fgghhiij#$$%%&&'-,,++**)pqqrrssttuuZHAbtArd~HXvbHAZpnvpZHAbbtlf~HrXQJ`ہdrtnvpZHAbbtlbHAZpˁdrtH~fے`JXQtArdp˂rbdQZ|`vXnr˂p|ZdQbfpvے`JXQ|ZdQb`f~˂bfH~˙ے`JXJtArdfpvbHAAJltfH~˙ے`JXJtArdbHAJlt`vXnr˂pf~HXQJ`ےdrtAvpfZHAbtlJnXv`r˂ptlJHfpvHAZdf`vXQr˂p|ZdQnXv`Zp˂bdQZ|f`vXQr˂pf~HAZp˂bdQZ|vpfZHAےfpvbHAZJltH~fے`JXQtArdf~HZHAbtArdnXvrtAJnvpZHAbbtlf~HrXQJ`ہdrtnvpZHAۅXv`ˉrXQJ`drtH~f`JXQrnXv`p˂rbdQZ|`vXnr˂p|ZdQbXv`fے`JXQ|ZdQb`f~bdQZ|fH~˙ے`JXJtArdfpvbHAAJltfH~˒`JXQf~HےbHAJbdQ`vXnbtlf~HXQJ`ےdrtAvpfZHAbtlJ~HfdrtAr˂ptlJHXv`drtAf`vXQr˂p|ZdQnXv`Zp˂bdQZ|f`vXrbtlfpvAZp˂Z|dvpfJtAdfpvbHAZJltH~fے`JXQtArdpvnJltZHAbtArdf~HJltnvpZHAbbtlf~HrXQJ`ہdrtnvpJtAdnXv`ˉbHArtAJlH~f|ZdQbnXv`p˂rbdQZ|`vXnr˂p|ZdQbXv`pbdQZ|ے`JXQ|ZdQbfpvbdQZ|fH~˙ے`JXJtArdfpvbHAAJltfH~˂|ZdQf~HXZp˂tbdQZHAbtlJf~HXQJ`ےdrtAvpfZHAbtlJvnrdrtAJr˂ptlJnXv`drtAJf`vXQr˂p|ZdQnXv`Zp˂bdQZ|fZHAbbtlv`frXQJ`Z|AJے`JXQtArdfpvbHAZJltH~fے`JXQtArdXQJ`pbdQZZHAbtArdf~HbdQZnvpZHAbbtlf~HrXQJ`ہdtAے`JXJtArd~HfpbHAltbr˂p|ZdQbnXv`p˂rbdQZ|`vXnr˂p|ZdQb˂rXQ|drے`JXQ|ZdQbXv`f|drfH~˙ے`JXJtArdfpvbHAJltQr˂p|ZdQvnXZp˂nvpZHAbtlJf~HXQJ`ےdrtAvpfZHAbtlJJ`ےtAJlr˂ptlJ~HftAJlf`vXQr˂p|ZdQnXv`Zp˂bnvpZHAbbtlv`fbHAZpfHfے`JXQtArdfpvbHAZJltH~fے`JXQtArdbHAZptbdQZZHAbtArdpvntbdQZnvpZHAbbtlf~HrXQJ`۝fH˙ے`JXJtArd~HX˂rX`vXnr˂p|ZdQbnXv`p˂rbdQZ|`vXnr˂p|ZdQb˂b|drے`JXQ|ZdQbXv`p|drfH~˙ے`JXJtArdfpvbHAf`vXQr˂p|ZdQv`fQJ`ےvpfZHAbtlJf~HXQJ`ےdrtAvpfZHAbtlJHAZp˂tAJbdr˂ptlJ˂rXQtAJbdf`vXQr˂p|ZdQnXv`ZdrtnvpZHAbbtl~HfpۙbHAZpH~fے`JXQtArdfpvbHAZJltH~fے`JXQtArdrXQJQZ|dZHAbtArdJ`ےQZ|dnvpZHAbbtlfHAJltfH~˙ے`JXJtArdvnX˂`vXnr˂p|ZdQbnXv`p˂rbdQZ|`vXnr˂p|ZdQb`ےbrtAJlے`JXQ|ZdQbbHAZprtAJlfH~˙ے`JXJtArdfpvbdQZ|f`vXQr˂p|ZdQv`fbHAZdvpfZHAbtlJf~HXQJ`ےdrtAvpfZHAbtlJHAZp˂tbdr˂ptlJ˂btbdf`vXQr˂p|ZdQnrXQJ`drtnvpZHAbbtl~HXv`rtAJH~fے`JXQtArdfpvbHAZJltH~fے`JXQtArdbHAQZ|dZHAbtArdHAZp˂QZ|dnvpZHAbbtlےHAAJltfH~˙ے`JXJtArdf~HbdQZ|`vXnr˂p|ZdQbnXv`p˂rbdQZ|`vXnr˂pf~HZp˂rtAJے`JXQ|ZdQbrXQJrtAJfH~˙ے`JXJtArdZp˂bdQZ|f`vXQr˂p|ZdQfpvdrtAvpfZHAbtlJf~HXQJ`ےdrtAvpfZHAےXv`frXQJ`bdQZ|r˂ptlJ`ےbbdQZ|f`vXQr˂pf~HrXQJ`ہdrtnvpZHAbbtlnXv`JltH~fے`JXQtArdfpvbHAZJltH~f`JXQr~HfےbHAdrtAZHAbtArdHAZp˂drtAnvpZHAۅfpvbHAAJltfH~˙ے`JXJtArdf~HbdQZ|`vXnr˂p|ZdQbnXv`p˂rbdQZ|`vXnbtlpvnZp˂Jltے`JXQ|ZdQbbHAJltfH~˒`JXQnXv`Zp˂bdQZ|f`vXQr˂p|ZdQXv`drtAvpfZHAbtlJf~HXQJ`ےdrtAvpfJtAdXv`fbHAZbdQZ|r˂ptlJZp˂bdQZ|f`vXrbtlf~HrXQJ`ہdrtnvpZHAbbtlf~HJbdQH~fے`JXQtArdfpvbHAZJltH~f|ZdQb~HXp˂rdrtAZHAbtArdrXQJ`drtAnvpJtAdfpvbHAAJltfH~˙ے`JXJtArdfpvZ|d`vXnr˂p|ZdQbnXv`p˂rbdQZ|ZHAbtlJv`fXQJ`ےJbdQے`JXQf~HےbHAJbdQfH~˂|ZdQnXv`Zp˂bdQZ|f`vXQr˂p|ZdQnXv`prtAJl瀅vpfZHAbtlJf~HXQJ`ےdtAJے`JXQtArd~HfpbHAZZ|dr˂pXv`fZp˂Z|dfZHAbbtlf~HrXQJ`ہdrtnvpZHAbbtlvntbdQH~fے`JXQtArdfpvbHAZltbr˂p|ZdQbvnXp˂rtAJlZHAb~HfbHAZrtAJlے`JXJtArdfpvbHAAJltfH~˙ے`JXJtArdrXQJ`pZ|d`vXnr˂p|ZdQbnXv`p˂rnvpZHAbtlJv`fbHAZptbdQے`JXQpvnp˂rtbdQQr˂p|ZdQnXv`Zp˂bdQZ|f`vXQr˂p|ZdQ˂rXrtAJbvpfZHAbtlJf~HXQJ`ےfHfے`JXQtArd~HXv˂rXQZ|AJlr˂pXv`fXQJ`ےZ|dnZHAbbtlf~HrXQJ`ہdrtnvpZHAbbtlQJ`ےdQZ|H~fے`JXQtArdfpvbHAZ`vXnr˂p|ZdQb`f~J`ےtb|ZdQb~HXbHAZvf˙ے`JXJtArdfpvbHAAJltfH~˙ے`JXJtArdbHAZpdrtAJ`vXnr˂p|ZdQbnXv`drtAvpfZHAbtlJHfpvbHAZpnvptlJv`fp˂f`vXQr˂p|ZdQnXv`Zp˂bdQZ|f`vXQr˂p|ZdQ˂ltbvpfZHAbtlJfHfJltH~fے`JXQtArdnXv˂bfHf`tArd~HfpbHAZpnvpZHAbbtlf~HrXQJ`ہdrtnvpZHAbbtlbHAZpdQZ|H~fے`JXQtArdpvnbdQZ|`vXnr˂p|ZdQb`f~HAZdvXn|ZdQbvnX˂rXQfH~˙ے`JXJtArdfpvbHAAJltfH~˙ے`JXJtArdrXQdrtAJ`vXnr˂p|ZdQbrXQJ`drtAvpfZHAbtlJHXv`rtAJvpfHtlJv`fJ`ےf`vXQr˂p|ZdQnXv`Zp˂bdQZ|f`vXQr˂p|ZdQJ`ے㒉bdQZ|vpfZHAbtlJےHAZJltH~fے`JXQtArdf~HbdQZ|~f`vXnr˂pZdQbtnXv`ˑ˂rXbdQZ|vXnr˂pZdQbtےbHbdQZ|vpfHHAbےlJtAHAZpltb~f``JXQrrd|~HfQZ|dvXnۉ˂pZHZdQbtv`frXQQZ|dvXnpJAHrf۝`vvpfHZHAbۉlJtf~HQJ`ےdrtAvpfHZHAbۉlJtAZp˂drtA~f``JXQrrdf˂rXQdQZ|vXn˂pZZdQbtpvnrtAJlvpfHAbے`lJtA~HfpJ`ےrtAJlvpfHˁ`ZQXnvˍ~f``JXQArd|fpvbHAZpJlt~f``JXQArdˉbHAJltvXn˂pZ~HfJ`ےdrtAJvpfHHAbےlJtAXv`ftbd~f`JXQrrd|vnXbHAZpˑtbd~f`XAHr󙐂pfH~ㅍvXnr˂pZdQbtnXv`ˑ˂rXbdQZ|vXnr˂pf~HXZp˂bdQZ|vpfHHAے`pvnbHAZpltb~f``JXQrrd|~HXQZ|dvXnۉ˂pZHZdQbtv`frXQQZ|dvXnˁ`ZQXbf۝`vvpfHZHAbۉlJtf~HQJ`ےdrtAvpfHZHAے`v`frXQJ`ۂdrtAJ~f`JXQrbXv`f˂rXQdQZ|vXn˂pZZdQbtv`frtAJvpfHAbے`lJtA~HfpJ`ےrtAJlvpfH㉀ۑpJXnvˍ~f``JXQArd|fpvbHAZpJlt~f`JXQr~HfpbHAbdQZvXntlJ~HfJ`ےdrtAJvpfHHAbےlJtA~HfpbdQZ|~f`JXQrrd|vnXbHAZpˑtbd~frAHr󙐂pfH~ㅍvXnr˂pZdQbtnXv`ˑ˂rXbdQZ|vXnbtlvnXZp˂|drvpfHtAd|pvnbHAZpltb~f``JXQrrd|vnXdrtAvXnۉ˂pZHZdQbtv`frXQQZ|d˂pZHˁ`ZQXAf۝`vvpfHZHAbۉlJtf~HQJ`ےdrtAvpfHJtAd|v`fbHAZptAJl~fZZdQbtXv`f˂rXQdQZ|vXn˂pZZdQbtv`pvJltvpfHAbے`lJtA~HfpJ`ےtAJlAbے`Hr󙐂ˁXnvˍ~f``JXQArd|fpvbHAZpJlt~fZdQbt~HX˂rXtbdQZHAbےlJtA~HfJ`ےdrtAJvpfHHAbےlJtAnrXQbdQZ|~f`JXQrrd|vnXbHAZp˒tbnJXQr`ZQXbp|drvXnr˂pZdQbtnXv`ˑ˂rXbdQZ|ZHAbۉlJtv`fQJ`ے|AJl`JXQrrd|pvnbHAZpltb~f``JXQrrd|J`p˂drtAvXnۉ˂pZHZdQbtv`frXQvpfH˂pZHۑpJAQtJlvpfHZHAbۉlJtf~HQJ`ےdtAJl`JXQArd|~HfpۙbHAZptbn˂pZZdQbtXv`f˂rXQdQZ|vXn˂pZZdQbtrXQJJbdQvpfHAbے`lJtA~HfpJ`ےㅐf`AbHr󙐂ˁtbAdZ~f``JXQArd|fpvbHAZptbr˂pZdQbtvnX˂々vpfHAbےlJtA~HfJ`ےdrtAJvpfHHAbےlJtA`ےbZ|d~f`JXQrrd|vnXbHAZdvXnۂpZHA`ZQXAHr|drvXnr˂pZdQbtnXv`ˑ˂rXnvpZHAbۉlJtv`fbHAZpHf``JXQrrd|pvnbHAZpltb~f``JXQrrd|HAZp˂rtAJlvXnۉ˂pZHZdQbtv`frtAJlvpfHbے`󙐂ˁ`ZQtJlvpfHZHAbۉlJtf~HQJ`ےfHf``JXQArd|~HXv`rXQvXn˂pZZdQbtXv`f˂rXQdQZ|vXn˂pZZdQbtbHAtbdQvpfHAbے`lJtAHfpۑtbd~f`JXQrQXb㉀tbAdZ~f``JXQArd|fpvbHAZvXnr˂pZdQbtf~HJ`ےvpfHHAbےlJtA~HfJ`ےdrtAJvpfHHAbےlJtAZp˂Z|d~f`JXQrrd|vnrXQZ|dvXnۂpZHAۑpJAHr|drvXnr˂pZdQbtnXv`˂drtAvpfHZHAbۉlJtfpvbHAZp~f``JXQrrd|pvnbHAZpltb~f``JXQrrd|rXQJ`rtAJbvXnۉ˂pZHZdQbtQJ`ےrtAJlvpfHb˂p󙐂ˁ`QtJlvpfHZHAbۉlJtfHfpJlt~f``JXQArd|nXv`bHvXn˂pZZdQbtXv`f˂rXQdQZ|vXn˂pZZdQbtےbHAdQZ|vpfHAbے`lJtAHAZpˑtbd~f`ZHAbpfH~tbAdZ~f``JXQArd|vnbdQZ|vXnr˂pZdQbtf~HAZdvpfHHAbےlJtA~HfJ`ےdrtAJvpfHHAbےlJtAZp˂drtAJ~f`JXQrrdfrXQQZ|dvXnۙے`JXf۝`v|drvXnr˂pZdQbtrXQJ`ۂdrtAvpfHZHAbۉlJtXv`rtAJb~f``JXQrrd|pvnbHAZpltb~f``JXQrrdfbHAZltbvXnۉ˂pZH~HfpJ`ےrtAJlvpfHQr˂pXnvˍQtJlvpfHZHAbۉlJtHAZpJlt~f``JXQArd|f~HdQZ|vXn˂pZZdQbtXv`f˂rXQdQZ|vXn˂pZ~HXp˂rdQZ|vpfHAے`vnXbHAZpˑtbd~f`ZHAbpfH~tbAdZ~f``JXQArdˑ˂rXbdQZ|vXnr˂pZdQbtfpvdrtAJvpfHHAbےlJtA~HfJ`ےdrtAJvpfHHAے`v`fXQJ`ےdrtAJ~f`JXQrbtv`frXQQZ|dvXnۙ˂pf۝`v|drvXnr˂pf~HQJ`ےdrtAvpfHZHAbۉlJtnXv`ltb~f``JXQrrd|pvnbHAZpltb~f`JXQrb~HfpbHAZbdQZ|vXnۉlJt~HfpJ`ےrtAJlvpfHZHAbXnvˍQtJlvpfHZHAے`fpvbHAZpJlt~f``JXQArd|f~HXdQZ|vXn˂pZZdQbtXv`f˂rXQdQZ|vXntlJvnXp˂drtvpfHAd|vnXbHAZpˑtbd~f``JXQpfH~tbAdZ~f`JXQrnXv`ˑ˂rXbdQZ|vXnr˂pZdQbtv`fdrtAJvpfHHAbےlJtA~HfJ`ےdrtAJvpfHtAd|v`fbHAZpAJlt~fZHZdQbtv`frXQQZ|dvXnr˂pf۝`v|drvXnbtlf~HQJ`ےdrtAvpfHZHAbۉlJt~HfpbdQZ|~f``JXQrrd|pvnbHAZpltb~fZZdQbt~HXv˂rXQbdQZ|Abے`lJtA~HfpJ`ےrtAJlvpfHZHAbXnvˍQtJlvpfHJtAd|fpvbHAZpJlt~f``JXQArd|vnXdrtvXn˂pZZdQbtXv`f˂rXQdQZ|HAbےlJtA`f~J`ےAJlJXQrrd|vnXbHAZpˑtbd~f`˂pZHpfH~tbAdZ~fZdQbtnXv`ˑ˂rXbdQZ|vXnr˂pZdQbtv`pAJltvpfHHAbےlJtA~HfJ`ےdtAJl`JXQrrd|HfpvbHAZptbn˂pZHZdQbtv`frXQQZ|dvXnAbے`f۝`v|drZHAbۉlJtf~HQJ`ےdrtAvpfHZHAbۉlJtvnrXbdQZ|~f``JXQrrd|pvnbHAZptbn˂pZZdQbtnXv˂bvpfHAbے`lJtA~HfpJ`ےrtAJlvpfHJXQrXnvˍQtJl`JXQArd|fpvbHAZpJlt~f``JXQArd|QJ`pˁdrtvXn˂pZZdQbtXv`f˂rXQvpfHAbےlJtA`f~HAZp˂f`JXQrrd|vnXbHAZpˑtbd~f`˂p`ZpfH~tbAdZr˂pZdQbtnXv`ˑ˂rXbdQZ|vXnr˂pZdQbtrXQAJbdQvpfHHAbےlJtA~HfJ`ےHf``JXQrrd|HXv`rXQJvXnۉ˂pZHZdQbtv`frXQQZ|dvXnQXb㉀f۝`v|drZHAbۉlJtf~HQJ`ےdrtAvpfHZHAbۉlJtJ`ےZ|d~f``JXQrrd|pvnbHAZvXn˂pZZdQbtf~H`ےbvpfHAbے`lJtA~HfpJ`ےrtAJlvpfHۑpJAHrXnvˍQtJl`JXQArd|fpvbHAZpJlt~f``JXQArd|bHAZprtAJlvXn˂pZZdQbtXv`fdrtAJvpfHHAbےlJtAfpvHAZp˂~f`JXQrrd|vnXbHAZpˑtbd~f`󙐂ˁ`ZpfH~tbAdZr˂pZdQbtnXv`ˑ˂rXbdQZ|vXnr˂pZdQbtbHtbdQvpfHHAbےlJtAHfpltb~f``JXQrrd|nXv`bHAvXnۉ˂pZHZdQbtv`frXQQZ|dvXnQXAHrf۝`v|drZHAbۉlJtf~HQJ`ےdrtAvpfHZHAbۉlJtAZp˂Z|d~f``JXQrrd|vnrdQZ|vXn˂pZZdQbtf~HZdrvpfHAbے`lJtA~HfpJ`ےrtAJlvpfHˁ`ZQXnvˍQtJl`JXQArd|fpvbHAZpJlt~f``JXQArd|rXQJ`rtAJvXn˂pZZdQbtXQJ`ےdrtAJvpfHHAbےlJtAXv`ftAJbd~f`JXQrrd|vnXbHAZpˑtbd~f`Xb㉀ۑpfH~tbAdZ|yz{|}~~}|{z66667777777777777777777777777777777 \ No newline at end of file diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv29_0.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv29_0.dat deleted file mode 100644 index b6cc568c6f..0000000000 --- a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv29_0.dat +++ /dev/null @@ -1,265 +0,0 @@ -|{|{{{{{yyyyyzyzyzyzyzyzwxwxwxwxuvuvuvuvststststqrqrqrqropopopopopopopopmnmnmnmnklklklklijijijijghghghghefefefefdcdcdcccbabababa`_`_`_`_^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQRQRQRQRQNMNMNMNMKLKLKLKLIJIJIJIJIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@?@?@?@?>=>=>=>=>;<;<;<;<9:9:9:9:7878787856565656{|{|{|{|yzyzyzyzyzyzyzyzwxwxwxwxuvuvuvuvststststqrqrqrqropopopoponmnmnmnmnmnmnmnklklklklijijijijghghghghefefefefcccdcdcdbabababa`_`_`_`_^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQRQRQRQRQNMNMNMNMKLKLKLKLIJIJIJIJIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>=>=>=>=>;<;<;<;<9:9:9:9:7878787856565656~}{|{|{|{|yzyzyzyzyzyzyzyzwxwxwxwxuvuvuvuvststststqrqrqrqropopopopmnmnmnmnmnmnmnmnklklklklijijijijghghghghefefefefcdcdcdcdbabababa`_`_`_`_^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMKLKLKLKLIJIJIJIJIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>=>=>=>=>;<;<;<;<9:9:9:9:7878787856565656~}~}~}~}{|{|{|{|yzyzyzyzyzyzyzyzwxwxwxwxuvuvuvuvststststqrqrqrqropopopopmnmnmnmnmnmnmnmnklklklklijijijijghghghghefefefefcdcdcdcdbabababa`_`_`_`_^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMKLKLKLKKIJIJIJIJIJIJIJIHGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>=>=>=>=>;<;<;<;<9:9:9:9:7878787856565656~}~}~}~}{|{|{|{|yzyzyzyzyxwxwxwxwxwxwxwxuvuvuvuvststststqrqrqrqropopopopmnmnmnmnmnmnmnmnklklklklijijijijghghghghefefefefcdcdcdcdbabababa`_`_`_`_^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMKKKKLKLKIJIJIJIJGHGHGHGHGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>=>=>=>=>;<;<;<;<9:9:9:9:7878787856565656~}~}~}~}{|{|{|{{yzyzyzyzwxwxwxwxwxwxwxwxuvuvuvuvststststqrqrqrqropopopopmnmnmnmnmnmnmnmnklklklklijijijijghghghghefefefefcdcdcdcdbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKIJIJIJIJGHGHGHGHGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>=>=>=>=<;<;<;<;<9:9:9:9:7878787856565656~}~}~}~}{{{{|{|{yzyzyzyzwxwxwxwxwxwxwxwxuvuvuvuvststststqrqrqrqropopopopmnmnmnmnmlklklklklklklklijijijijghghghghefefefefccccccdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKIJIJIJIJGHGHGHGHGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<;<;<;<;<9:9:9:9:7878787856565656~}~}~}~}|{|{|{|{yzyzyzyzwxwxwxwxwxwxwxwxuvuvuvuvststststqrqrqrqropopopopmnmnmnmnklklklklklklklklijijijijghghghghefefefefdcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKIJIJIJIJGHGHGHGHGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<;<;<;<;<9:9:9:9:7878787856565656~}~}~}~}|{|{|{|{yzyzyzyzwxwxwxwxwxwxwxwxuvuvuvuvststststqrqrqrqropopopopmnmnmnmnklklklklklklklklijijijijghghghghefefefefdcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKIJIJIJIJGHGHGHGHGHGHGHGFEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<;<;<;<;<9:9:9:9:7878787856565656~}~}~}~}|{|{|{|{yzyzyzyzwxwxwxwxwvuvuvuvuvuvuvuvststststqrqrqrqropopopopmnmnmnmnklklklklklklklklijijijijghghghghefefefefdcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKKKKKKLIJIJIJIJGHGHGHGHEFEFEFEFEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<;<;<;<;<9:9:9:9:7878787856565656~}~}~}~}|{|{|{|{yzyzyzyzwxwxwxwxuvuvuvuvuvuvuvuvststststqrqrqrqropopopopmnmnmnmnklklklklklklklklijijijijghghghghefefefefdcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<;<;<;<;:9:9:9:9:7878787856565656~}~}~}~}|{{{{{{|yzyzyzyzwxwxwxwxuvuvuvuvuvuvuvuvststststqrqrqrqropopopopmnmnmnmnklklklklkjijijijijijijijghghghghefefedcddcdcccccbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:9:9:9:9:7878787856543434~}~}~}~}{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvuvuvuvuvststststqrqrqrqropopopopmnmnmnmnklklklklijijijijijijijijghghghghcdcdccccdcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:9:9:9:9:7878787834333333~}~}~}~}{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvuvuvuvuvststststqrqrqrqropopopopmnmnmnmnklklklklijijijijijijijijghghghgfccdcdcdcbabababababababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFEFEFEFEDCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:9:9:9:9:7878765643434343~}~}~}~}{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvutstststststststqrqrqrqropopopopmnmnmnmnklklklklijijijijijijijijefefefefdcdcdcdcbabababababababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMKLKLKKKKIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:9:9:9:9:5656565643434343~}~}~}~}{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvststststststststqrqrqrqropopopopmnmnmnmnklklklklijijijijijijijijefefefefdcdcdcdcbabababababababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMKKLKLKLKIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:9:9:9:985656565643434343~}~}~}~}{|{|{{{{yzyzyzyzwxwxwxwxuvuvuvuvststststststststqrqrqrqropopopopmnmnmnmnklklklklijijijijihghghghefefefefdcdcdcdcbabababababababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:787878785656565643434343~}~}~}~}{{|{|{|{yzyzyzyzwxwxwxwxuvuvuvuvststststststststqrqrqrqropopopopmnmnmnmnklklklklijijijijghghghghefefefefdcdcdcdcbabababababababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:787878785656565643434333~}~}~}~}|{|{|{|{yzyzyzyzwxwxwxwxuvuvuvuvststststststststqrqrqrqropopopopmnmnmnmnklklklklijijijijghghghghefefefefcccccdcdbabababa`_`_`_`_`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDCDCDCDCBABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:787878785656565633343434~}~}~}~}|{|{|{|{yzyzyzyzwxwxwxwxuvuvuvuvststststsrqrqrqrqrqrqrqropopopopmnmnmnmnklklklklijijijijghghghghefefefefcdcdcdcdbabababa`_`_`_`_`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABABABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:787878785656565634343434~}~}~}~}|{|{|{|{yzyzyzyzwxwxwxwxuvuvuvuvststststqrqrqrqrqrqrqrqropopopopmnmnmnmnklklklklijijijijghghghghefefefefcdcdcdcdbabababa`_`_`_`_`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMKKKKKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABABABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:787878785656565634343434~}~}~}~}|{|{|{|{yzyzyzyzwxwxwxwxuvuvuvuvststststqrqrqrqrqrqrqrqropopopopmnmnmnmnklklklklijijijijghghghghefefefefcdcdcdcdbabababa`_`_`_`_`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABABABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:78787878565656563434343443433333~}~}~}~}{{{{{|{|yzyzyzyzwxwxwxwxuvuvuvuvststststqrqrqrqrqrqrqrqropopopopmnmnmnmnklklklklijijijijghghghghefefefefcdcdcdcdbabababa`_`_`_`_`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABABABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:78787878565656563434343434343434~}~}~}~}{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvststststqrqrqrqrqrqrqrqropopopopmnmnmnmnklklklklijijijijghghghghefefefefcdccccccbabababa`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABABABABABA@?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:78787878565656563333334334343434~}~}~}~}{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvststststqrqrqrqrqpopopopopopopopmnmnmnmnklklklklijijijijghghghghefefefefdcdcdcdcbabababa`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:78787878565656564343434334343434~}~}~}~}{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvststststqrqrqrqropopopopopopopopmnmnmnmnklklklklijijijijghghghghefefefefdcdcdcdcbabababa`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPONMNMLKLKKLKKKKKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:78787878565656564343434334343434~}~}~}~}{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvststststqrqrqrqropopopopopopopopmnmnmnmnklklklklijijijijghghghghefefefefdcdcdcdcbabababa`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPOLKLKKKKKKLKLKLKJIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:78787878565656564343434334343433~}~}|{|{{|{|{|{yyzyzyzyzwxwxwxwxuvuvuvuvststststqrqrqrqropopopopopopopopmnmnmnmnklklklklijijijijghghghghefefefefdcdcdcdcbabababa`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQRQRQRQRQPOPOPONMKLKLKLKLIJIJIJIJIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:7878787856565656434343433333434343434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - - -43434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - - -43434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)*)*)*)('('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - - -43434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - - - - -43333343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - - - - - - -43434321212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - - - - - - -21212121212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - - - - - - -21212121212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('('('('&%&%&%&%&%$#$#$#$#"!"!"!"!         - - - - - - - -21212121212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%&%&%&%&%$#$#$#$#"!"!"!"!         - - - - - - 21212121212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%&%&%&%&%$#$#$#$#"!"!"!"!         - - - -212121212121210/0/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%&%&%&%&%$#$#$#$#"!"!"!"!         - - - -212121210/0/0/0/0/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%&%&%&%&%$#$#$#$#"!"!"!"!         - - - -212121210/0/0/0/0/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%&%&%&%$#$#$#$#$#"!"!"!"!         - - - -212121210/0/0/0/0/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!         - - - -212121210/0/0/0/0/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!         - - - -212121210/0/0/0/0/0/0/.-.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!         - - - -212121210/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!         - - - -212121210/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#$#$#$#"!"!"!"!"!         - - - -212121210/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!"!"!"!"!         - - - -212121210/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!"!"!"!"!         - - - -212121210/0/0/0/.-.-.-.-.-.-.-,+,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!"!"!"!"!       - - - -212121210/0/0/0/.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!"!"!"!"!      - - - -212121210/0/0/0/.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!"!"!"!          - - - -212121210/0/0/0/.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!             - - - -212121210/0/0/0/.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!             - - - -212121210/0/0/0/.-.-.-.-,+,+,+,+,+,+,+*)*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!             - - - -212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!           - - - -212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - - -mmnnoopp~}tuuvvwwx%$$##""!LMMNNOOPMLLKKJJI$%%&&''(uttssrrqlmmnnoop-,,++**)DEEFFGGHFEEDDCCBGHHIIJJK;;::9987==>>??@@\\[[ZZYY]]^^__``<<;;::9955667788ddccbbaa }}~~ xwwvvuut uvvwwxxy$##""!! MNNOOPPQLKKJJIIH%&&''(()tssrrqqpmnnooppq,++**))(EFFGGHHIEDDCCBBAHIIJJKKQ~~}} qqrrsstt |{{zzyyx - - xyyzz{{|! PQQRRSSTIHHGGFFE())**++,qppoonnmpqqrrsst)((''&&%HIIJJKKLBAA@@??>KQQRRSST65433221AABBCCDDXXWWVVUU~~}} aabbccdd8877665599::;;<<``__^^]] - - tssrrqqp - - yzz{{||} QRRSSTTUHGGFFEED)**++,,-poonnmmlqrrssttu(''&&%%$IJJKKLLMA@@??>>=QRRSSTTU||{{zzyy - - uuvvwwxx - - xwwvvuut |}}~~TUUVVWWXEDDCCBBA,--..//0mllkkjjituuvvwwx%$$##""!LMMNNOOP>==<<;;:TUUVVWWX100//..-EEFFGGHHTTSSRRQQ ||{{zzyy - - eeffgghh44332211==>>??@@\\[[ZZYYpoonnmml }~~UVVWWXXYDCCBBAA@-..//001lkkjjiih uvvwwxxy$##""!! MNNOOPPQ=<<;;::9UVVWWXXYxxwwvvuu - - yyzz{{|| - - tssrrqqpXYYZZ[[\A@@??>>=01122334ihhggffe - - xyyzz{{|! PQQRRSST:9933221XYYZZ[[\-,,++**)IIJJKKLLPPOONNMM!!""##$$xxwwvvuuiijjkkll00//..--AABBCCDDXXWWVVUU{{zzyyxxlkkjjiihYZZ[[\\]@??>>==<12233445hggffeed - - yzz{{||} QRRSSTTU93322110YZZ[[\\]ttssrrqq }}~~poonnmml\]]^^__`=<<;;::945566778eddccbba |}}~~TUUVVWWX100//..-\]]^^__`)((''&&%MMNNOOPPLLKKJJII%%&&''((ttssrrqqmmnnoopp,,++**))EEFFGGHHTTSSRRQQ wwvvuuttgfedccbb]^^__``a<;;::99856677889dccbbaa` }~~UVVWWXXY0//..--,]^^__``appoonnmmlkkjjiih~~} `aabbccd98877665899::;;>??@]\\[[ZZY\]]^^__`)((''&&%ijjkkllm! UUVVWWXXDDCCBBAA--..//00llkkjjiiuuvvwwxx$$##""!!MMNNOOPPLLKKJJII%%&&''((oonnmmll##$$%%&&]]\\[[ZZ !|{{zzyyx - - effgghhi43322110=>>??@@A\[[ZZYYX]^^__``a(''&&%%$jkkllmmnhhggffee{{zzyyxx!!""aa``__^^ !!""##$yxxwwvvu hiijjkkl100//..-@AABBCCDYXXWWVVU~~} `aabbccd%$$##""!mnnooppqYYZZ[[\\@@??>>==11223344hhggffee - - yyzz{{|| QQRRSSTTHHGGFFEE))**++,,kkjjiicc''(())**YYXXWWVV!""##$$%xwwvvuutijjkkllm0//..--,ABBCCDDEXWWVVUUT~~}}| abbccdde$##""!!nooppqqrddccbbaa wwvvuutt##$$%%&&]]\\[[ZZ$%%&&''(uttssrrqlmmnnoop-,,++**)DEEFFGGHUTTSSRRQ }||{{zzy - - deeffggh!qrrssttu]]^^__``<<;;::9955667788ddccbbaa }}~~UUVVWWXXDDCCBBAA--..//00bbaa``__++,,--..UUTTSSRR%&&''(()tssrrqqpmnnooppq,++**))(EFFGGHHITSSRRQQP !|{{zzyyx - - effgghhirssttuuv``__^^]]!!""##$$ssrrqqpp''(())**YYXXWWVV())**++,qppoonnmpqqrrsst)((''&&%HIIJJKKLQPPOONNM !!""##$yxxwwvvu hiijjkkluvvwwxxyaabbccdd8877665599::;;<<``__^^]]YYZZ[[\\@@??>>==11223344^^]]\\[[//001122QQPONMLK)**++,,-poonnmmlqrrssttu(''&&%%$IJJKKLLMPOONNMML!""##$$%xwwvvuutijjkkllmvwwxxyyz\\[[ZZYY%%&&''((oonnmmll++,,--..UUTTSSRR,--..//0mllkkjjituuvvwwx%$$##""!LMMNNOOPMLLKKJJI$%%&&''(uttssrrqlmmnnoopyzz{{ eeffgghh44332211==>>??@@\\[[ZZYY]]^^__``<<;;::9955667788ZZYYXXWW3399::;;KJJIIHHG-..//001lkkjjiih uvvwwxxy$##""!! MNNOOPPQLKKJJIIH%&&''(()tssrrqqpmnnooppqz{{XXWWVVUU))**++,,kkjjiicc//001122QQPONMLK01122334ihhggffe - - xyyzz{{|! PQQRRSSTIHHGGFFE())**++,qppoonnmpqqrrsst - - iijjkkll00//..--AABBCCDDXXWWVVUU~~}} aabbccdd8877665599::;;<>??GFFEEDDC12233445hggffeed - - yzz{{||} QRRSSTTUHGGFFEED)**++,,-poonnmmlqrrssttu TTSSRRQQ--..//00bbaa``__3399::;;KJJIIHHG45566778eddccbba |}}~~TUUVVWWXEDDCCBBA,--..//0mllkkjjituuvvwwx - - ~mmnnoopp,,++**))EEFFGGHHTTSSRRQQ ||{{zzyy - - eeffgghh44332211==>>??@@RRQQKKJJ@@AABBCCCBBAA@@?56677889dccbbaa` }~~UVVWWXXYDCCBBAA@-..//001lkkjjiih uvvwwxxy - - ~}|PPOONNMM11223344^^]]\\[[<<==>>??GFFEEDDC899::;;>=01122334ihhggffe - - xyyzz{{|}|{{zzyyqqrrsstt((''&&%%IIJJKKLLPPOONNMM!!""##$$xxwwvvuuiijjkkll00//..--AABBCCDDIIHHGGFFDDEEFFGG?>>==<<;9::;;<<=`__^^]]\YZZ[[\\]@??>>==<12233445hggffeed - - yzz{{||}{{zzyyxxLLKKJJII55667788ZZYYXXWW@@AABBCCCBBAA@@?<==>>??@]\\[[ZZY\]]^^__`=<<;;::945566778eddccbba |}}~~ xxwwvvuuuuvvwwxx$$##""!!MMNNOOPPLLKKJJII%%&&''((ttssrrqqmmnnoopp,,++**))EEFFGGHHEEDDCCBBHHIIJJKK;::99876=>>??@@A\[[ZZYYX]^^__``a<;;::99856677889dccbbaa` }~~ -wwvvuuttHHGGFFEE99::;;<>==<<;@AABBCCDYXXWWVVU~~} `aabbccd98877665899::;;>QQRRSSTT54332211ABBCCDDEXWWVVUUT~~}}| abbccdde877665549::;;<<=`__^^]]\ - ssrrqqppDDCCBBAA==>>??@@RRQQKKJJHHIIJJKK;::99876DEEFFGGHUTTSSRRQ }||{{zzy - - deeffggh54433221<==>>??@]\\[[ZZY ppoonnmm }}~~UUVVWWXXDDCCBBAA--..//00llkkjjiiuuvvwwxx$$##""!!MMNNOOPP==<<;;::UUVVWWXX00//..--EFFGGHHITSSRRQQP !|{{zzyyx - - effgghhi43322110=>>??@@A\[[ZZYYX{oonnmmll@@??>>==AABBCCDDIIHHGGFFQQRRSSTT54332211HIIJJKKLQPPOONNM !!""##$yxxwwvvu hiijjkkl100//..-@AABBCCDYXXWWVVU{{zzyyxllkkjjiiYYZZ[[\\@@??>>==11223344hhggffee - - yyzz{{|| QQRRSSTT99332211YYZZ[[\\,,++**))IJJKKLLMPOONNMML!""##$$%xwwvvuutijjkkllm0//..--,ABBCCDDEXWWVVUUT{zzyyxxwkkjjiihg<<;;::99EEFFGGHHEEDDCCBBUUVVWWXX00//..--LMMNNOOPMLLKKJJI$%%&&''(uttssrrqlmmnnoop-,,++**)DEEFFGGHUTTSSRRQ xwwvvuuthgfedccb]]^^__``<<;;::9955667788ddccbbaa }}~~UUVVWWXX00//..--]]^^__``((''&&%%MNNOOPPQLKKJJIIH%&&''(()tssrrqqpmnnooppq,++**))(EFFGGHHITSSRRQQP !wvvuuttsfedccbba88776655IIJJKKLLAA@@??>>YYZZ[[\\,,++**))PQQRRSSTIHHGGFFE())**++,qppoonnmpqqrrsst)((''&&%HIIJJKKLQPPOONNM !!""##$tssrrqqp!!"baa``__^~~}} aabbccdd8877665599::;;<<``__^^]]YYZZ[[\\,,++**))aabbccii$$##""!!QRRSSTTUHGGFFEED)**++,,-poonnmmlqrrssttu(''&&%%$IJJKKLLMPOONNMML!""##$$%srrqqppo!!""#a``__^^]44332211MMNNOOPP==<<;;::]]^^__``((''&&%%TUUVVWWXEDDCCBBA,--..//0mllkkjjituuvvwwx%$$##""!LMMNNOOPMLLKKJJI$%%&&''(poonnmml"##$$%%&^]]\\[[Z ||{{zzyy - - eeffgghh44332211==>>??@@\\[[ZZYY]]^^__``((''&&%%jjkkllmm UVVWWXXYDCCBBAA@-..//001lkkjjiih uvvwwxxy$##""!! MNNOOPPQLKKJJIIH%&&''(()onnmmllk#$$%%&&']\\[[ZZY00//..--QQRRSSTT99332211aabbccii$$##""!!XYYZZ[[\A@@??>>=01122334ihhggffe - - xyyzz{{|! PQQRRSSTIHHGGFFE())**++,lkkjjiic&''(())*ZYYXXWWV!!""##$$xxwwvvuuiijjkkll00//..--AABBCCDDXXWWVVUU~~}} aabbccdd$$##""!!nnooppqqYZZ[[\\]@??>>==<12233445hggffeed - - yzz{{||} QRRSSTTUHGGFFEED)**++,,-kjjiiccb'(())**+YXXWWVVU::998765,,++**))UUVVWWXX00//..--jjkkllmm \]]^^__`=<<;;::945566778eddccbba |}}~~TUUVVWWXEDDCCBBA,--..//0cbbaa``_*++,,--.VUUTTSSR%%&&''((ttssrrqqmmnnoopp,,++**))EEFFGGHHTTSSRRQQ ||{{zzyy - - eeffgghhrrssttuu]^^__``a<;;::99856677889dccbbaa` }~~UVVWWXXYDCCBBAA@-..//001baa``__^+,,--../UTTSSRRQ43322110((''&&%%YYZZ[[\\,,++**))nnooppqq`aabbccd98877665899::;;>=01122334_^^]]\\[.//00112RQQPONML))**++,,ppoonnmmqqrrsstt((''&&%%IIJJKKLLPPOONNMM!!""##$$xxwwvvuuiijjkkllvvwwxxyyabbccdde877665549::;;<<=`__^^]]\YZZ[[\\]@??>>==<12233445^]]\\[[Z/0011223QPONMLKK0//..--,$$##""!!]]^^__``((''&&%%rrssttuudeeffggh54433221<==>>??@]\\[[ZZY\]]^^__`=<<;;::945566778[ZZYYXXW23399::;KKJJIIHH--..//00llkkjjiiuuvvwwxx$$##""!!MMNNOOPPLLKKJJII%%&&''((ttssrrqqmmnnooppzz{{ -effgghhi43322110=>>??@@A\[[ZZYYX]^^__``a<;;::99856677889ZYYXXWWV399::;;>?GGFFEEDD11223344hhggffee - - yyzz{{|| QQRRSSTTHHGGFFEE))**++,,ppoonnmmqqrrsstt - ijjkkllm0//..--,ABBCCDDEXWWVVUUT~~}}| abbccdde877665549::;;<<=VUUTTSSR<==>>??@FFEEDDCC(''&&%%$eeffgghhzz{{ -lmmnnoop-,,++**)DEEFFGGHUTTSSRRQ }||{{zzy - - deeffggh54433221<==>>??@SRRQQKKJ?@@AABBCCCBBAA@@55667788ddccbbaa }}~~UUVVWWXXDDCCBBAA--..//00llkkjjiiuuvvwwxx - - ~}mnnooppq,++**))(EFFGGHHITSSRRQQP !|{{zzyyx - - effgghhi43322110=>>??@@ARQQKKJJI@AABBCCDBBAA@@??$##""!! iijjkkll - pqqrrsst)((''&&%HIIJJKKLQPPOONNM !!""##$yxxwwvvu hiijjkkl100//..-@AABBCCDJIIHHGGFCDDEEFFG??>>==<<99::;;<<``__^^]]YYZZ[[\\@@??>>==11223344hhggffee - - yyzz{{|||{{zzyyxqrrssttu(''&&%%$IJJKKLLMPOONNMML!""##$$%xwwvvuutijjkkllm0//..--,ABBCCDDEIHHGGFFEDEEFFGGH>>==<<;;ZZ[[\\]]??>>==<<22334455ggffeedd - - zz{{||}}RRSSTTUUGGFFEEDD**++,,--jjiiccbb(())**++XXWWVVUU"##$$%%&wvvuuttsjkkllmmn/..--,,+BCCDDEEFWVVUUTTS~~}}||{ bccddeefyxxwwvvu - - ^^__``aa;;::998866778899ccbbaa``~~VVWWXXYYCCBBAA@@..//0011aa``__^^,,--..//TTSSRRQQ&''(())*srrqqpponooppqqr+**))(('FGGHHIIJSRRQQPPO !!"{zzyyxxw - - fgghhiijuttssrrq bbccddee77665544::;;<<==__^^]]\\ZZ[[\\]]??>>==<<22334455]]\\[[ZZ00112233PONMLKKJ*++,,--.onnmmllkrssttuuv'&&%%$$#JKKLLMMNONNMMLLK"##$$%%&wvvuuttsjkkllmmnqppoonnm - -ffgghhii33221100>>??@@AA[[ZZYYXX^^__``aa;;::998866778899YYXXWWVV99::;;<>??@@FEEDDCCB23344556gffeeddc - z{{||}}~RSSTTUUVGFFEEDDC*++,,--.onnmmllkrssttuuv - - -ihhggffennooppqq++**))((FFGGHHIISSRRQQPP !!{{zzyyxx - - ffgghhii33221100>>??@@AAQQKKJJIIAABBCCDDBAA@@??>6778899:cbbaa``_~VWWXXYYZCBBAA@@?.//00112kjjiihhg -vwwxxyyz - eddccbba rrssttuu''&&%%$$JJKKLLMMOONNMMLL""##$$%%wwvvuuttjjkkllmm//..--,,BBCCDDEEHHGGFFEEEEFFGGHH>==<<;;::;;<<==>_^^]]\\[Z[[\\]]^?>>==<<;23344556gffeeddc - z{{||}}~a``__^^] !!""##$ vvwwxxyy##""!! NNOOPPQQKKJJIIHH&&''(())ssrrqqppnnooppqq++**))((FFGGHHIIDDCCBBAAIIJJKKQQ:9987654>??@@AAB[ZZYYXXW^__``aab;::998876778899:cbbaa``_~]\\[[ZZY$%%&&''( - - zz{{||}}RRSSTTUUGGFFEEDD**++,,--oonnmmllrrssttuu''&&%%$$JJKKLLMM@@??>>==RRSSTTUU33221100BCCDDEEFWVVUUTTS~~}}||{ bccddeef76655443:;;<<==>_^^]]\\[||{YXXWWVVU())**++,~~VVWWXXYYCCBBAA@@..//0011kkjjiihh vvwwxxyy##""!! NNOOPPQQ<<;;::99VVWWXXYY//..--,,FGGHHIIJSRRQQPPO !!"{zzyyxxw - - fgghhiij3221100/>??@@AAB[ZZYYXXW{zzyyxxw!!""#UTTSSRRQ,--..//0ZZ[[\\]]??>>==<<22334455ggffeedd - - zz{{||}}RRSSTTUU33221100ZZ[[\\]]++**))((JKKLLMMNONNMMLLK"##$$%%&wvvuuttsjkkllmmn/..--,,+BCCDDEEFWVVUUTTSwvvuutts#$$%%&&'QPPOONNM01122334^^__``aa;;::998866778899ccbbaa``~~VVWWXXYY//..--,,^^__``aa''&&%%$$NOOPPQQRKJJIIHHG&''(())*srrqqpponooppqqr+**))(('FGGHHIIJSRRQQPPO !!"srrqqppo'(())**+MLLKKJJI45566778~~}}|| bbccddee77665544::;;<<==__^^]]\\ZZ[[\\]]++**))((bbcciijj##""!! RSSTTUUVGFFEEDDC*++,,--.onnmmllkrssttuuv'&&%%$$#JKKLLMMNONNMMLLK"##$$%%&onnmmllk+,,--../IHHGGFFE899::;;< !!{{zzyyxx - - ffgghhii33221100>>??@@AA[[ZZYYXX^^__``aa''&&%%$$kkllmmnnVWWXXYYZCBBAA@@?.//00112kjjiihhg -vwwxxyyz#""!! NOOPPQQRKJJIIHHG&''(())*kjjiiccb/0011223EDDCCBBA<==>>??@""##$$%%wwvvuuttjjkkllmm//..--,,BBCCDDEEWWVVUUTT~~}}|| bbccddee##""!!ooppqqrrZ[[\\]]^?>>==<<;23344556gffeeddc - z{{||}}~RSSTTUUVGFFEEDDC*++,,--.baa``__^399::;;>=@AABBCCD&&''(())ssrrqqppnnooppqq++**))((FFGGHHIISSRRQQPP !!{{zzyyxx - - ffgghhiissttuuvv^__``aab;::998876778899:cbbaa``_~VWWXXYYZCBBAA@@?.//00112^]]\\[[Z<==>>??@=<<;;::9DEEFFGGH**++,,--oonnmmllrrssttuu''&&%%$$JJKKLLMMOONNMMLL""##$$%%wwvvuuttjjkkllmmwwxxyyzz bccddeef76655443:;;<<==>_^^]]\\[Z[[\\]]^?>>==<<;23344556ZYYXXWWV@AABBCCD98877665HIIJJKKL..//0011kkjjiihh vvwwxxyy##""!! NNOOPPQQKKJJIIHH&&''(())ssrrqqppnnooppqq{{ - - fgghhiij3221100/>??@@AAB[ZZYYXXW^__``aab;::998876778899:VUUTTSSRDEEFFGGH54433221LMMNNOOP22334455ggffeedd - - zz{{||}}RRSSTTUUGGFFEEDD**++,,--oonnmmllrrssttuu jkkllmmn/..--,,+BCCDDEEFWVVUUTTS~~}}||{ bccddeef76655443:;;<<==>RQQKKJJIHIIJJKKQ100//..-PQQRRSST66778899ccbbaa``~~VVWWXXYYCCBBAA@@..//0011kkjjiihh vvwwxxyy - - ~}|{nooppqqr+**))(('FGGHHIIJSRRQQPPO !!"{zzyyxxw - - fgghhiij3221100/>??@@AABIHHGGFFEQRRSSTTU-,,++**)TUUVVWWX::;;<<==__^^]]\\ZZ[[\\]]??>>==<<22334455ggffeedd - - zz{{||}}{zzyyxxwrssttuuv'&&%%$$#JKKLLMMNONNMMLLK"##$$%%&wvvuuttsjkkllmmn/..--,,+BCCDDEEFEDDCCBBAUVVWWXXY)((''&&%XYYZZ[[\>>??@@AA[[ZZYYXX^^__``aa;;::998866778899ccbbaa``~~ - -wvvuutts -vwwxxyyz#""!! NOOPPQQRKJJIIHHG&''(())*srrqqpponooppqqr+**))(('FGGHHIIJA@@??>>=YZZ[[\\]%$$##""!\]]^^__`BBCCDDEEWWVVUUTT~~}}|| bbccddee77665544::;;<<==__^^]]\\ srrqqppo - z{{||}}~RSSTTUUVGFFEEDDC*++,,--.onnmmllkrssttuuv'&&%%$$#JKKLLMMN=<<;;::9]^^__``a! `aabbccdFFGGHHIISSRRQQPP !!{{zzyyxx - - ffgghhii33221100>>??@@AA[[ZZYYXX{{onnmmllk~VWWXXYYZCBBAA@@?.//00112kjjiihhg -vwwxxyyz#""!! NOOPPQQR93322110abbcciijdeeffgghJJKKLLMMOONNMMLL""##$$%%wwvvuuttjjkkllmm//..--,,BBCCDDEEWWVVUUTTzzyyxxwwkjjiihgfZ[[\\]]^?>>==<<;23344556gffeeddc - z{{||}}~RSSTTUUV0//..--,jkkllmmnhiijjkklNNOOPPQQKKJJIIHH&&''(())ssrrqqppnnooppqq++**))((FFGGHHIISSRRQQPP !!vvuuttssedccbbaa^__``aab;::998876778899:cbbaa``_~VWWXXYYZ,++**))(nooppqqrlmmnnoopRRSSTTUUGGFFEEDD**++,,--oonnmmllrrssttuu''&&%%$$JJKKLLMMOONNMMLL""##$$%%rrqqppoo!!""##``__^^]]~~}}||{ bccddeef76655443:;;<<==>_^^]]\\[Z[[\\]]^(''&&%%$rssttuuv pqqrrsstVVWWXXYYCCBBAA@@..//0011kkjjiihh vvwwxxyy##""!! NNOOPPQQKKJJIIHH&&''(())nnmmllkk$$%%&&''\\[[ZZYY !!"{zzyyxxw - - fgghhiij3221100/>??@@AAB[ZZYYXXW^__``aab$##""!!vwwxxyyy - - tuuvvwwxxyybdQZ|drtAvpfHAbےv`f~QJHAZp˂bdQZ|fH~˙ے`JXbtlf~HfpvrXQJ`ہdrtf`vXpZHAQbtlXv`fXQJ`ےdrtA`vXnr˂pZHAb|ZdQbnXv`bHAZJltvpfH~ftl|nXv`˒HAZp˂rXbdQZ|~f``JXQlJtf~HvnQJ`ےdrtAvXnZHAbbtl|drtAJltH~f`JXQrfpvZp˂rXQJ`ہdrtf`vXQr˂pJtArdfpvnrXQJ`bHAAJltnvpbے`|ZdQ~fpvbHAZJltvpfZHAbے`JXQtlJf~Hp˂rbdQZ|H~f`vXnZdQbtf~H˂rXQJ`ےdrtAvXnr˂pArd|fpvrXQJ`ۙbHAZpJltvpfHے`JXZdQbtJltbdQZ|`vXn˂p|nXv`rXQJ`ےbHAAJltnvpZHAb|ZdQnXv`ےHAZp˂bdQZ|fH~JXQrbtlnXv`p˂rbdQZ|H~fے`JXQr˂ptArdfpvXQJ`ےdrtA`vXnr˂plJtAfpvQJ`ےbHAZpJltvpfHZHAbہZdQbtnXv`˒HAZp˂rXbdQZ|~f`Qr˂plJtbdQZ|`vXnvpfZdQbtf~HbHAZp˂bdQZ|fH~˙ے`JXbtlf~HZp˂rXQJ`ہdrtf`vXp`JXJtArdf~HXQJ`ےdrtA`vXnr˂pZHAے|ZdQbnXv`bHAZJltvpf`JXQrrd|nXv`fbHAZp˂rbdQZ|~f``JXQlJtf~H˂rXQJ`ےdrtAvXn`JXQArd|drtAvpfH~flJtAfpvZp˂rbdQZ|drtf`vXQr˂pJtArdfpvrXQJ`ےbHAAJltnvpQr˂p|ZdQfpvbHAZJltvpfZHAb`JXQrtlJf~Hp˂rbdQZ|H~f˂pZZdQbt~fpv˂rXbdQZ|drtAvXnr˂pArd|fpvQJ`ےbHAZpJltvpfHr˂pZdQbtJltH~f`vXnrd|nXv`frXQJ`ہdrtAJltnvpZHAb|ZdQnXv`bHAZp˂bdQZ|fH~ˑZHAbbtl|nXv`p˂rbdQZ|H~fے`JXQbtltArdfpvXQJ`ےdrtA`vXnHAbےl|ZnXvQJ`ےdrtAJltvpfHZHAbہZdQbtnXv`˙bHAZp˂rbdQZ|~f`ZHAbۉl|bdQZ|`vXnr˂pZdQbt~fpvbHAAJltbdQZ|fH~˙ے`JXbtlf~HZp˂rbdQZ|drtf`vXے`JXZdQbtf~fpXQJ`ےdrtA`vXnr˂pJtAd|ZdQbnXv`bHAZJltvpf`JXQrdQbt`f~bHAZpJltbdQZ|~f``JXQlJtf~H˂rXbdQZ|drtAvXn`JXQZdQbtdrtAvpf`JXQrl|ZnXvZp˂bdQZ|dtAf`vXQr˂pJtArdfpvrXQJ`ہdrtAJltnvpQr˂plJtvnXbHAZJltvpfZHAb|ZdQbtlJf~Hp˂rbdQZ|H~f˂p`lJtArHfpv˂rXbdQZ|dtAJlvXnr˂pArd|fpvQJ`ےdrtAJltvpfHr˂p`lJtAJltH~f˂pZdQbt`f~rXQJ`ہdrtJltnvpZHAb|ZdQnXv`bHAAJltbdQZ|fH~ˑ`JXQArd|v`fp˂rbdQZ|H~fے`JXQtlJtArdfpvXQJ`ےdrtA`vXnJXQrd|ZnXvQJ`ےdrtAtbvpfHZHAbہZdQbtnXv`˙bHAZpJltbdQZ|~f`JXQrrd|bdQZ|`vXnHAbےlJtArHfpvbHAAJltbnvpfH~˙ے`JXbtlf~HZp˂bdQZ|dtAf`vXr˂pZdQbt~HfpXQJ`ےdrtA`vXnr˂ptArd|ZdQbnXv`bHAZJltvpf˂pZHAdQbt`f~fpbHAZpJltnvp~f``JXQlJtf~H˂rXbdQZ|dtAJlvXn˂pZHZdQbtdrtAvpf`JXQrd|ZnXvZp˂bdQZ|fHf`vXQr˂pJtArdfpvrXQJ`ہdrtJltnvpZHAbۉl|vnXbHAZJltvpfZHAb|ZdQbnXv`f~Hp˂rbdQZ|H~fbے`l|ZdQvnX˂rXbdQZ|fHf`vXnr˂pArd|fpvQJ`ےdrtAtbvpfHAbے`l|ZdJltH~f˂p`dQbt`f~fprXQJ`ہdrtf`vXnvpZHAb|ZdQnXv`bHAAJltbnvpfH~˒`JXQZdQbnXv`ffp˂rbdQZ|H~fے`JXQtlJf~HfpvXQJ`ےdrtA`vXnJXQrbtlv`fQJ`ےdrtAvXnvpfHZHAbہZdQbtnXv`˙bHAZpJltnvp~f`JXQrQbnXbdQZ|`vXnJXQrl|ZdQvnXbHAAJltnvpfH~˙ے`JXbtlf~HZp˂bdQZ|fHf`vXr˂p`v`f~pvnXQJ`ےdrtA`vXnr˂ptArdfpvnXv`bHAZJltvpf˂p`JJtArd~HfpbHAZpJltvpfH~f``JXQlJtf~H˂rXbdQZ|fHf`vXn˂p`v`f~fdrtAvpf˂pZHAbtlv`fZp˂bdQZ|fH~f`vXQr˂pJtArdfpvrXQJ`ہdrtf`vXnvpJXQrfpvrXQJ`bHAZJltvpfZHAb|ZdQbnXv`fHfp˂rbdQZ|H~fXQr˂|ZdQvnX˂rXbdQZ|~f`vXnr˂pArd|fpvQJ`ےdrtAvXnvpfHJXQrbtpvnJltH~fbے`JtArd~HfprXQJ`ہdrtf`vXnr˂pZHAb|ZdQnXv`bHAAJltnvpfH~btl|nXv`ےHAZp˂rbdQZ|H~fے`JXQtlJf~HpvnXQJ`ےdrtA`vXnpZHAbbtlv`f~QJ`ےdrtAvXnr˂pZHAbہZdQbtnXv`˙bHAZpJltvpfH~f`l|Xv`fbdQZ|`vXnJXQr|ZdQvnXbHAAJltnvpZHAbے`JXbtlf~HZp˂bdQZ|fH~f`vXZdQbtf~Hp˂rXQJ`ےdrtA`vXnr˂ptArdfpvrXQJ`bHAZJltvpfے`J|ZdQbfpvbHAZpJltvpfHZHAbے`JXQlJtf~H˂rXbdQZ|~f`vXnZdQbt琕~HfdrtAvpf˂p`Jbtlv`f~Zp˂bdQZ|fH~˙ے`JXQr˂pJtArdfpvrXQJ`ہdrtf`vXnr˂plJtfpvXQJ`ےbHAZJltvpfZHAb|ZdQbnXv`ےHAZp˂rbdQZ|H~fXQr˂tlJnXv`˂rXbdQZ|~f``JXQr˂pArd|fpvQJ`ےdrtAvXnr˂p`lJtApvnJltH~fXQr˂|ZdQbfpvrXQJ`ہdrtf`vXQr˂pZHAۂ|ZdQnXv`bHAAJltnvp`JXQArd|nXv`bHAZp˂rbdQZ|H~fے`JXQtlJf~Hp˂rXQJ`ےdrtA`vXnp`JXQtArdf~HQJ`ےdrtAvXnr˂pZHAے`ZdQbtnXv`˙bHAZpJltvpfHJXQrrd|Xv`fbdQZ|`vXnpZHAbtlJnXv`bHAAJltnvpZHAb`JXQbtlf~HZp˂bdQZ|fH~r˂pZdQbtf~fpp˂rbdQZ|drtA`vXnr˂ptArdfpvXQJ`ےbHAZJltvpfr˂p|ZdQbfpvbHAZpJltvpfHZHAbہJXQrlJtf~H˂rXbdQZ|~f`˂pZHZdQbt~fpvdrtAvpfے`JtArdf~HZp˂bdQZ|fH~˙ے`JXrbtlJtArdfpvrXQJ`ہdrtf`vXZHAbۉl|vnXXQJ`ےdrtAJltvpfZHAb|ZdQbnXv`bHAZp˂rbdQZ|H~fZHAbtl|nXv`˂rXbdQZ|~f``JXQbtlArd|fpvQJ`ےdrtAvXnAbے`l|ZdnXv`JltH~fXQr˂|ZdQbfpvrXQJ`ہdrtf`vXQr˂pJtAd|ZdQnXv`bHAAJltnvp`JXQZdQbtv`fbHAZJltbdQZ|H~fے`JXQtlJf~Hp˂rbdQZ|drtA`vXnے`JXQZdQbtf~fpQJ`ےdrtAvXnr˂pJtAd|ZdQbtnXv`˙bHAZpJltvpfHJXQrQbtlf~HbdQZ|`vXnp`JXQtl|nXv`bHAAJltnvpZHAb|ZdQbtlf~HZp˂bdQZ|fH~r˂p`lJtA~Hfpp˂rbdQZ|dtAJ`vXnr˂ptArdfpvXQJ`ےdrtAJltvpfr˂plJtAvnXbHAZpJltvpfHZHAbہZdQbtlJtf~H˂rXbdQZ|~f`˂p`JtArdfpvv`f~drtAvpfr˂pZdQbtf~fpZp˂bdQZ|fH~˙ے`JXbtlJtArdfpvrXQJ`ہdrtf`vXJXQrrd|vnXXQJ`ےdrtAltbvpfZHAb|ZdQbnXv`bHAZJltbdQZ|H~f`JXQrrd|v`f˂rXbdQZ|~f``JXQlJtArd|fpvQJ`ےdrtAvXnJXQr˙|ZdnXv`fpvJltH~fZHAblJtAvnXrXQJ`ہdrtf`vXQr˂pJtArd|ZdQnXv`bHAAJltnvp˂pZHZdQbtv`f~fbHAZJltnvpH~fے`JXQtlJf~Hp˂rbdQZ|dtAJ`vXn˂pZZdQbt~HfpQJ`ےdrtAvXnr˂pArd|ZdQbnXv`˙bHAZpJltvpfHpZHAQbtlf~fpnXv`bdQZ|`vXnے`JXQrd|v`f󒐙bHAAJltnvpZHAb|ZdQbnXv`f~HZp˂bdQZ|fH~Abے`l|Zdpvnp˂rbdQZ|fHf`vXnr˂ptArdfpvXQJ`ےdrtAltbvpfHAbےl|ZvnXbHAZpJltvpfHZHAbہZdQbtnXv`f~H˂rXbdQZ|~f`bے`|ZdQvnXf~HdrtAvpfr˂pZdQbt~HfpZp˂bdQZ|fH~˙ے`JXbtlf~HfpvrXQJ`ہdrtf`vXJXQrQbtlXv`fXQJ`ےdrtA`vXnvpfZHAb|ZdQbnXv`bHAZJltnvpH~f`JXQrdQbnXv`ffp˂rXbdQZ|~f``JXQlJtf~HfpvQJ`ےdrtAvXnJXQrbtlv`ffpvJltH~f`JXQrl|ZvnXrXQJ`ہdrtf`vXQr˂pJtArdfpvnXv`bHAAJltnvp˂p`JtArd~HfbHAZJltvpfH~fے`JXQtlJf~Hp˂rbdQZ|fHf`vXn˂p`v`f~vnQJ`ےdrtAvXnr˂pArd|fpvnXv`˙bHAZpJltvpfHp`JXJtArd~HfpnXv`fbdQZ|`vXn˂pZdQbnXv`frbHAAJltnvpZHAb|ZdQnXv`fHZp˂bdQZ|fH~JXQr˙|Zdpvnp˂rbdQZ|H~f`vXnr˂ptArdfpvXQJ`ےdrtA`vXnvpfJXQrbfpvrXQJ`ۙbHAZpJltvpfHZHAbہZdQbtnXv`fHfp˂rXbdQZ|~f`Qr˂p|ZdQvnX~fpvnXvbHAZpltbvpfHHAbےZdQbtlJtA~Hf˂rXQdQZ|~f`˂p`JJtArdfpvrXQQZ|dtAJlvXnۉ˂pZHrd|vnXJ`ےrtAJltbdvpfHJXQrXnvˍp|dr`f~˂rXQdQZ|~f``JXQrlJtArd|pvnJ`ےdrtAJvXnXQr˂|ZdQnXv`J`ےrtAJltbnvpfHAbے`ZdQbtv`fbHAZpˑtbdQZ|d~f`˂pZHpfH~QtJlHfpvJ`ےdrtAJvXn˂pZrd|ZdQbnXv`fbHAZpltbvpfHpZHAbbtlf~fpbHAZpˑtbdvpfH~f`JXQrlJtA~HfprXQQZ|dtAJlvXnAbے`f۝`vtbAdZnXvbHAZpltbvpfHHAbےZdQbtXv`f~Hf˂rXQdQZ|~f`ے`J|ZdQbvnXrXQQZ|df`vXnۉ˂pZHrd|vnXJ`ےrtAJltbnvpfHJXQrXnvˍ|dr`ffp˂rXQdQZ|~f``JXQrlJtA~HfpvnJ`ےdrtAJvXnXQr˂tlJv`fJ`ےrtAJlvXnvpfHAbے`ZdQbtv`fbHAZpˑtbdvpfH~f`˂p`ZpfH~QtJlvnrJ`ےdrtAJvXn˂pZrd|pvnXv`fbHAZpltbvpfHp`JXQtArd~HfpbHAZpˑtbdvpfH~f`JXQrlJtA~HfprXQQZ|df`vXnQXb㉀f۝`vtbAdZXQJ`ےbHAZpltbvpfHHAbےZdQbtXv`fHfp˂rXQdQZ|~f`r˂p|ZdQbvnXrXQQZ|d~f`vXnr˂pZHrd|vnXJ`ےrtAJlvXnvpfHۑpJAHrXnvˍ|drHAZp˂rXQdQZ|~f``JXQrlJtA~HfvnrJ`ےdrtAJvXnZHAbtl|v`f~fJ`ےrtAJlvXnۉ˂pZHAbے`ZdQbtv`fbHAZpˑtbdvpfH~f`󙐂ˁ`ZpfH~QtJl˂rXQJ`ےdrtAJvXn˂pZrd|pvnXQJ`ےbHAZpltbvpfHے`JXQZdQbtpvnbHAZpˑtbdvpfHAbے`JXQrlJtA~HfprXQQZ|d~f`vXnے`QXb㉀f۝`vtbAdZJ`ےbHAZpltbvpfHHAbےZdQbtXv`fHAZp˂rXQdQZ|~f`r˂plJtAXv`frXQQZ|d~f`JXQr˂pZHrd|vnXJ`ےrtAJlvXnہJXQrۑp`ZQXnvˍ|drbHAZp˂rbdQZ|~f``JXQrlJtA~Hf˂rXQJ`ےdrtAJvXn`JXQrrd|~HfJ`ےrtAJlvXnۉ˂pZHAے`ZdQbtv`fbHAZpˑtbdvpfH˂pZHXb㉀ۑpfH~QtJl˂rXQdQZ|drtAJvXn˂pZrd|pvnJ`ےbHAZpltbvpfH˂pZZdQbtpvnbHAZpˑtbdvpfHAbے`JXQrbtlJtA~HfprXQQZ|d~f`Abے`pJAHrf۝`vtbAdZJ`ےdrtAJltbvpfHHAbےZdQbtXv`fbHAZp˂rbdQZ|~f`HAbےl|ZXv`frXQQZ|d~f`JXQrlJtrd|vnXJ`ےrtAJlvXnہJXQrˁ`ZQXnvˍ|drbHAZpltbdQZ|~f``JXQrlJtA~Hf˂rXQdQZ|drtAJvXn`JXQrdQbt~fpvJ`ےrtAJlvXnۉ˂pZHAd|ZdQbtv`fbHAZpˑtbdvpfH˂p`Xb㉀ۑpfH~QtJl˂rXQdQZ|dtAJlvXn˂pZrd|pvnJ`ےdrtAJltbvpfH˂p`lJtArnXv`bHAZpˑtbdvpfHAbے`ZdQbtlJtA~HfprXQQZ|d~f`JXQrp`ZQXbf۝`vtbAdZJ`ےdrtAJtbnvpfHHAbےZdQbtXv`fbHAZpltbdQZ|~f`JXQrd|Zf~HrXQQZ|d~f`JXQrlJtArd|vnXJ`ےrtAJlvXnۂpZHA㉀ۑpJXnvˍ|drbHAZpltbvpf~f``JXQrlJtA~Hf˂rXQdQZ|dtAJlvXn˂pZHAdQbt璅fpvJ`ےrtAJlvXnۉ˂pZHrd|ZdQbnXv`fbHAZpˑtbdvpfHbے`AHr󙐂pfH~QtJl˂rXQdQZ|Hf`vXn˂pZrd|pvnJ`ےdrtAJtbnvpfHbے`l|ZdQnXv`bHAZpˑtbdvpfHAbے`ZdQbtv`f~HfprXQQZ|d~f`JXQrˁ`ZQXbf۝`vtbAdZJ`ےdrtAJvXnvpfHHAbےZdQbtXv`fbHAZpltbvpf~f`JXQrbnXvffpۂrXQQZ|d~f`JXQrlJtA~HfpvnXJ`ےrtAJlvXnۂp`JX㉀ۑpXnvˍ|drbHAZpltbvpfH~f``JXQrlJtA~Hf˂rXQdQZ|Hf`vXn˂p`J`f~fpvnrXJ`ےrtAJlvXnۉ˂pZHrd|vnXv`fbHAZpˑtbdvpfHQr˂p`ZQXbpfH~QtJl˂rXQdQZ|~f`vXnr˂pZrd|pvnJ`ےdrtAJvXnvpfHXQrbtvnXQJ`ےbHAZpˑtbdvpfHAbے`ZdQbtv`fHfpۂrXQQZ|d~f`ZHAbۑpJAf۝`vtbAdZJ`ےdrtAJvXn˂pZHAbےZdQbtXv`fbHAZpltbvpfH~f`l|Zv`fHAZp˂rXQQZ|d~f`JXQrlJtA~HfpvnrXJ`ےrtAJlvXnۙے`JXHr󙐂ˁXnvˍ|drbHAZpltbvpfHHAbے`JXQrlJtA~Hf˂rXQdQZ|~f`vXnrdQbt璕~HfprXQJ`ےrtAJlvXnۉ˂pZHrd|vnXQJ`ےbHAZpˑtbdvpfHQr˂p`ZQXbpfH~QtJl˂rXQdQZ|~f``JXQr˂pZrd|pvnJ`ےdrtAJvXn˂p`lJtArvnXJ`ےbHAZpˑtbdvpfHAbے`ZdQbtv`fHAZp˂rXQQZ|d~f``JXQۑp`Zf۝`vtbAdZJ`ےdrtAJvXn˂pZHAے`ZdQbtXv`fbHAZpltbvpfHJXQrd|Zv`f~bHAZp˂rbdQZ|d~f`JXQrlJtA~HfprXQJ`ےrtAJlvXnr˂pQXb㉀Xnvˍ|drbHAZpltbvpfHHAbےJXQrblJtA~Hf˂rXQdQZ|~f`˂pZHAdQbt璅fpvrXQQZ|drtAJlvXnۉ˂pZHrd|vnXJ`ےbHAZpˑtbdvpfHZHAbۑpJAHrpfH~QtJl˂rXQdQZ|~f``JXQrtlJrd|pvnJ`ےdrtAJvXnbے`l|ZdQnXv`J`ےrtAJltbdvpfHAbے`ZdQbtv`fbHAZp˂rbdQZ|d~f``JXQ󙐂ˁ`Zf۝`vtbAdZJ`ےdrtAJvXn˂pZtAd|ZdQbtXv`fbHAZpltbvpfHJXQrbtlf~HbHAZpˑtbdQZ|d~f`JXQrlJtA~HfprXQQZ|drtAJlvXnr˂p`QXb㉀Xnvˍ|drQt}~~IIIIIIIIIIIIIIIIIIIIIJJJJJJJ \ No newline at end of file diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv29_1.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv29_1.dat deleted file mode 100644 index 294c49ad5a..0000000000 --- a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv29_1.dat +++ /dev/null @@ -1,265 +0,0 @@ -~}~}~}~}|{|{{{{{{|{|{|{|yyyyyzyzyzyzyzyzyzyzyzyzwxwxwxwxwxwxwxwxuvuvuvuvuvuvuvuvutstststststststststststqrqrqrqrqrqrqrqropopopopopopopopopopopopmnmnmnmnmnmnmnmnklklklklklklklklijijijijijijijijijijijijghghghghefefefefefefefefdcdcdcdcdcdcdcccbabababababababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQRQRQRQRQPOPOPOPONMNMNMNMNMNMNMNMKLKLKLKLKLKLKKKKIJIJIJIJIJIJIJIJIJIJIJIJGHGHGHGHGHGHGHGHEFEFEFEFEFEFEFEFCDCDCDCDCDCDCDCDCDCDCDCDABABABABABABABAB?@?@?@?@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=>;<;<;<;<;<;<;<;<9:9:9:9:9:9:9:9:9:9:9:9:78787878565656565656565643434343434333332121212121212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('('('('&%&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!"!"!"!"!    ~}~}~}~}{|{|{|{|{|{|{|{|yzyzyzyzyzyzyzyzyzyzyzyzwxwxwxwxwxwxwxwxuvuvuvuvuvuvuvuvststststststststststststqrqrqrqrqrqrqrqropopopopopopopoponmnmnmnmnmnmnmnmnmnmnmnklklklklklklklklijijijijijijijijijijijijghghghghefefefefefefefefdcdcdcdccccdcdcdbabababababababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQRQRQRQRQPOPOPOPONMNMNMNMNMNMNMNMKLKLKLKLKKLKLKLKIJIJIJIJIJIJIJIJIJIJIJIJGHGHGHGHGHGHGHGHEFEFEFEFEFEFEFEFCDCDCDCDCDCDCDCDCDCDCDCDABABABABABABABAB?@?@?@?@?@?@?@?@=>=>=>=>=>=>=>=>=>=>=>=>;<;<;<;<;<;<;<;<9:9:9:9:9:9:9:9:9:9:9:9878787878565656565656565643434343343434342121212121212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!"!"!"!     ~}~}~}~}~}{|{|{|{|{|{|{{{{yzyzyzyzyzyzyzyzyzyzyzyzwxwxwxwxwxwxwxwxuvuvuvuvuvuvuvuvststststststststststststqrqrqrqrqrqrqrqropopopopopopopopmnmnmnmnmnmnmnmnmnmnmnmnklklklklklklklklijijijijijijijijihghghghghghghghefefefefefefefefdcdcdcdccdcdcdcdbabababababababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMKLKLKLKLLKLKLKLKIJIJIJIJIJIJIJIJIJIJIJIJGHGHGHGHGHGHGHGHEFEFEFEFEFEFEFEFCDCDCDCDCDCDCDCDCDCDCDCDABABABABABABABAB?@?@?@?@?@?@?@?@=>=>=>=>=>=>=>=>=>=>=>=>;<;<;<;<;<;<;<;<9:9:9:9:9:9:9:9:7878787878787878565656565656565643434343343434342121212121212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!        ~}~}~}~}~}~}~}~}{|{|{|{|{{|{|{|{yzyzyzyzyzyzyzyzyzyzyzyzwxwxwxwxwxwxwxwxuvuvuvuvuvuvuvuvststststststststststststqrqrqrqrqrqrqrqropopopopopopopopmnmnmnmnmnmnmnmnmnmnmnmnklklklklklklklklijijijijijijijijghghghghghghghghefefefefefefefefdcdcdcdccdcdcdcdbabababababababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMKLKLKLKKLKLKLKLKIJIJIJIJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGHEFEFEFEFEFEFEFEFCDCDCDCDCDCDCDCDCDCDCDCDABABABABABABABAB?@?@?@?@?@?@?@?@=>=>=>=>=>=>=>=>=>=>=>=>;<;<;<;<;<;<;<;<9:9:9:9:9:9:9:9:78787878787878785656565656565656434343333434343421212121212121212121210/0/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!        ~}~}~}~}~}~}~}~}{|{|{|{||{|{|{|{yzyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwxwxwxwxuvuvuvuvuvuvuvuvststststststststststststqrqrqrqrqrqrqrqropopopopopopopopmnmnmnmnmnmnmnmnmnmnmnmnklklklklklklklklijijijijijijijijghghghghghghghghefefefefefefefefcccccdcdcdcdcdcdbabababababababa`_`_`_`_`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMKKKKLKLKLKLKLKLKIJIJIJIJIJIJIJIJGHGHGHGHGHGHGHGHGHGHGHGHEFEFEFEFEFEFEFEFCDCDCDCDCDCDCDCDCDCDCDCBABABABABABABABAB?@?@?@?@?@?@?@?@=>=>=>=>=>=>=>=>=>=>=>=>;<;<;<;<;<;<;<;<9:9:9:9:9:9:9:9:78787878787878785656565656565656333434343434343421212121212121210/0/0/0/0/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!        ~}~}~}~}~}~}~}~}{|{|{|{{|{|{|{|{yzyzyzyzyzyzyzyzwxwxwxwxwxwxwxwxwxwxwxwxuvuvuvuvuvuvuvuvststststststststsrqrqrqrqrqrqrqrqrqrqrqropopopopopopopopmnmnmnmnmnmnmnmnmnmnmnmnklklklklklklklklijijijijijijijijghghghghghghghghefefefefefefefefcdcdcdcdcdcdcdcdbabababababababa`_`_`_`_`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMLKLKLKLKLKLKLKLKIJIJIJIJIJIJIJIJGHGHGHGHGHGHGHGHGHGHGHGHEFEFEFEFEFEFEFEFCDCDCDCDCDCDCDCDABABABABABABABABABABABAB?@?@?@?@?@?@?@?@=>=>=>=>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;<9:9:9:9:9:9:9:9:78787878787878785656565656565656343434343434343321212121212121210/0/0/0/0/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!        ~}~}~}~}~}~}~}~}{{{{|{|{|{|{|{|{yzyzyzyzyzyzyzyzwxwxwxwxwxwxwxwxwxwxwxwxuvuvuvuvuvuvuvuvststststststststqrqrqrqrqrqrqrqrqrqrqrqropopopopopopopopmnmnmnmnmnmnmnmnmlklklklklklklklklklklklijijijijijijijijghghghghghghghghefefefefefefefefcdcdcdcdccccccdcbabababababababa`_`_`_`_`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMLKLKLKLKKKKKKLKLIJIJIJIJIJIJIJIJGHGHGHGHGHGHGHGHGHGHGHGHEFEFEFEFEFEFEFEFCDCDCDCDCDCDCDCDABABABABABABABABABABABAB?@?@?@?@?@?@?@?@=>=>=>=>=>=>=>=>;<;<;<;<;<;<;<;<;<;<;<;<9:9:9:9:9:9:9:9:78787878787878785656565656565656343434343333434321212121212121210/0/0/0/0/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!        ~}~}~}~}~}~}~}~}|{|{|{|{|{|{|{|{yzyzyzyzyzyzyzyzwxwxwxwxwxwxwxwxwxwxwxwxuvuvuvuvuvuvuvuvststststststststqrqrqrqrqrqrqrqrqrqrqrqropopopopopopopopmnmnmnmnmnmnmnmnklklklklklklklklklklklklijijijijijijijijghghghghghghghghefefefefefefefefcdcdcdcddcdcdcdcbabababababababa`_`_`_`_`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMLKLKLKLKKLKLKLKLIJIJIJIJIJIJIJIJGHGHGHGHGHGHGHGHGHGHGHGHEFEFEFEFEFEFEFEFCDCDCDCDCDCDCDCDABABABABABABABABABABABAB?@?@?@?@?@?@?@?@=>=>=>=>=>=>=>=>;<;<;<;<;<;<;<;<;<;<;<;<9:9:9:9:9:9:9:9:78787878787878785656565656565656343434344343434321212121212121210/0/0/0/0/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!        ~}~}~}~}~}~}~}~}|{|{|{|{{{{{{|{|yzyzyzyzyzyzyzyzwxwxwxwxwxwxwxwxwxwxwxwxuvuvuvuvuvuvuvuvststststststststqrqrqrqrqrqrqrqrqrqrqrqropopopopopopopopmnmnmnmnmnmnmnmnklklklklklklklklklklklklijijijijijijijijghghghghghghghghefefefefefefefefcdcdcdcddcdcdcdcbabababababababa`_`_`_`_`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMLKLKLKLKKLKLKLKLIJIJIJIJIJIJIJIJGHGHGHGHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEFCDCDCDCDCDCDCDCDABABABABABABABABABABABAB?@?@?@?@?@?@?@?@=>=>=>=>=>=>=>=>;<;<;<;<;<;<;<;<;<;<;<;<9:9:9:9:9:9:9:9:78787878787878785656565656565656343434344343434321212121212121210/0/0/0/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!        ~}~}~}~}~}~}~}~}|{|{|{|{{|{|{|{|yzyzyzyzyzyzyzyzwxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvuvuvuvuvststststststststqrqrqrqrqrqrqrqrqrqrqrqropopopopopopopopmnmnmnmnmnmnmnmnklklklklklklklklklklklklijijijijijijijijghghghghghghghghefefefefefefefefcdccccccdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMLKKKKKKLKLKLKLKLIJIJIJIJIJIJIJIJGHGHGHGHGHGHGHGHEFEFEFEFEFEFEFEFEFEFEFEFCDCDCDCDCDCDCDCDABABABABABABABABABABABA@?@?@?@?@?@?@?@?@=>=>=>=>=>=>=>=>;<;<;<;<;<;<;<;<;<;<;<;<9:9:9:9:9:9:9:9:78787878787878785656565656565656333333434343434321212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)*)*)*)('('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!        ~}~}~}~}~}~}~}~}|{|{|{|{{|{|{|{|yzyzyzyzyzyzyzyzwxwxwxwxwxwxwxwxuvuvuvuvuvuvuvuvuvuvuvuvststststststststqrqrqrqrqrqrqrqrqpopopopopopopopopopopopmnmnmnmnmnmnmnmnklklklklklklklklklklklklijijijijijijijijghghghghghghghghefefefefefefefefdcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMKLKLKLKLKLKLKLKLIJIJIJIJIJIJIJIJGHGHGHGHGHGHGHGHEFEFEFEFEFEFEFEFEFEFEFEFCDCDCDCDCDCDCDCDABABABABABABABAB?@?@?@?@?@?@?@?@?@?@?@?@=>=>=>=>=>=>=>=>;<;<;<;<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:9:78787878787878785656565656565656434343434343434321212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!"!        ~}~}~}~}~}~}~}~}|{{{{{{|{|{|{|{|yzyzyzyzyzyzyzyzwxwxwxwxwxwxwxwxuvuvuvuvuvuvuvuvuvuvuvuvststststststststqrqrqrqrqrqrqrqropopopopopopopopopopopopmnmnmnmnmnmnmnmnklklklklklklklklkjijijijijijijijijijijijghghghghghghghghefefefefefefedcddcdcdcdcdcdcccccbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMNMNMLKLKKLKLKLKLKLKKKKKLIJIJIJIJIJIJIJIJGHGHGHGHGHGHGHGHEFEFEFEFEFEFEFEFEFEFEFEFCDCDCDCDCDCDCDCDABABABABABABABAB?@?@?@?@?@?@?@?@?@?@?@?@=>=>=>=>=>=>=>=>;<;<;<;<;<;<;<;<9:9:9:9:9:9:9:9:9:9:9:9:78787878787878785656565656543434434343434333334321212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!"!"!"!"!        ~}~}~}~}~}~}~}~}{|{|{|{|{|{|{|{|yzyzyzyzyzyzyzyzwxwxwxwxwxwxwxwxuvuvuvuvuvuvuvuvuvuvuvuvststststststststqrqrqrqrqrqrqrqropopopopopopopopopopopopmnmnmnmnmnmnmnmnklklklklklklklklijijijijijijijijijijijijghghghghghghghghefefefefcdcdccccdcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMLKLKKKKKKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIJGHGHGHGHGHGHGHGHEFEFEFEFEFEFEFEFEFEFEFEFCDCDCDCDCDCDCDCDABABABABABABABAB?@?@?@?@?@?@?@?@?@?@?@?@=>=>=>=>=>=>=>=>;<;<;<;<;<;<;<;<9:9:9:9:9:9:9:9:9:9:9:9:78787878787878785656565634333333434343434343432121212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!"!"!"!"!        ~}~}~}~}~}~}|{|{{|{|{|{|{|{|{|{yyzyzyzyzyzyzyzyzwxwxwxwxwxwxwxwxuvuvuvuvuvuvuvuvuvuvuvuvststststststststqrqrqrqrqrqrqrqropopopopopopopopopopopopmnmnmnmnmnmnmnmnklklklklklklklklijijijijijijijijijijijijghghghghghghghgfefefefefccdcdcdcdcdcdcdcbabababababababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQRQRQRQRQPOPOPOPOPOPOPONMNMNMNMNMKLKLKLKLKLKLKLKLIJIJIJIJIJIJIJIJIJIJIJIJGHGHGHGHGHGHGHGHEFEFEFEFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCDABABABABABABABAB?@?@?@?@?@?@?@?@?@?@?@?@=>=>=>=>=>=>=>=>;<;<;<;<;<;<;<;<9:9:9:9:9:9:9:9:9:9:9:9:78787878787876565656565643434343434343432121212121212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!"!"!"!"!               - - - - - - - -         - - - - - - - -         - - - - - - - -         - - - - - - - - - -         - - - - - - - - - - - -         - - - - - - - - - - - -         - - - - - - - - - - - -          - - - - - - - - - - - -             - - - - - - - - - -              - - - - - - - -             - - - - - - - -             - - - - - - - -           - - - - - - - -         - - - - - - - -LLKKJJII55667788mmnnooppZZYYXXWW@@AABBCC~}CBBAA@@?<==>>??@tuuvvwwx]\\[[ZZY%$$##""!LMMNNOOPMLLKKJJI$%%&&''(\]]^^__`uttssrrq=<<;;::945566778lmmnnoopeddccbba-,,++**) DEEFFGGH|}}~~FEEDDCCB GHHIIJJKxxwwvvuu;;::9987==>>??@@uuvvwwxx\\[[ZZYY$$##""!!MMNNOOPPLLKKJJII%%&&''((]]^^__``ttssrrqq<<;;::9955667788mmnnooppddccbbaa,,++**)) EEFFGGHH}}~~EEDDCCBB HHIIJJKKxwwvvuut;::99876 =>>??@@Auvvwwxxy\[[ZZYYX$##""!! MNNOOPPQLKKJJIIH%&&''(()]^^__``atssrrqqp<;;::99856677889mnnooppqdccbbaa`,++**))( EFFGGHHI}~~EDDCCBBA -HIIJJKKQwwvvuutt::998765 >>??@@AAvvwwxxyy[[ZZYYXX##""!! NNOOPPQQKKJJIIHH&&''(())^^__``aassrrqqpp;;::998866778899nnooppqqccbbaa``++**))((FFGGHHII~~DDCCBBAA - -IIJJKKQQ~~}}HHGGFFEE 99::;;<>==<<; - - @AABBCCDxyyzz{{|YXXWWVVU! PQQRRSST~~}IHHGGFFE ())**++,`aabbccdqppoonnm98877665899::;; - - KQQRRSSTttssrrqq65433221 - - AABBCCDDyyzz{{||XXWWVVUU QQRRSSTT~~}}HHGGFFEE ))**++,,aabbccddppoonnmm8877665599::;;<> - - QQRRSSTTtssrrqqp54332211 - - ABBCCDDEyzz{{||}XWWVVUUT QRRSSTTU~~}}|HGGFFEED )**++,,-abbccddepoonnmml877665549::;;<<=qrrssttu`__^^]]\(''&&%%$IJJKKLLMA@@??>>= - QRRSSTTUssrrqqpp43322110 - - BBCCDDEEzz{{||}}WWVVUUTTRRSSTTUU~~}}||GGFFEEDD **++,,--bbccddeeoonnmmll77665544::;;<<==rrssttuu__^^]]\\''&&%%$$JJKKLLMM@@??>>== RRSSTTUU||{{zzyyDDCCBBAA - - ==>>??@@uuvvwwxxRRQQKKJJ - - HHIIJJKKxwwvvuut;::99876 DEEFFGGH|}}~~UTTSSRRQ TUUVVWWX}||{{zzyEDDCCBBA - - ,--..//0deeffgghmllkkjji54433221<==>>??@tuuvvwwx]\\[[ZZY%$$##""!LMMNNOOP>==<<;;: TUUVVWWXppoonnmm100//..- EEFFGGHH}}~~TTSSRRQQ UUVVWWXX||{{zzyyDDCCBBAA - - --..//00eeffgghhllkkjjii44332211==>>??@@uuvvwwxx\\[[ZZYY$$##""!!MMNNOOPP==<<;;::UUVVWWXXpoonnmml00//..-- EFFGGHHI}~~TSSRRQQP !UVVWWXXY|{{zzyyxDCCBBAA@ - - -..//001effgghhilkkjjiih43322110 =>>??@@Auvvwwxxy\[[ZZYYX$##""!! MNNOOPPQ{=<<;;::9UVVWWXXYoonnmmll0//..--,FFGGHHII~~SSRRQQPP !!VVWWXXYY{{zzyyxxCCBBAA@@ - - ..//0011ffgghhiikkjjiihh33221100 >>??@@AAvvwwxxyy[[ZZYYXX##""!! NNOOPPQQ{{<<;;::99VVWWXXYYxxwwvvuu@@??>>== - - AABBCCDDyyzz{{||IIHHGGFF - - QQRRSSTTtssrrqqp54332211HIIJJKKLQPPOONNM !!""##$XYYZZ[[\yxxwwvvuA@@??>>= 01122334hiijjkklihhggffe100//..- - - @AABBCCDxyyzz{{|YXXWWVVU! PQQRRSST{{zzyyx:9933221XYYZZ[[\llkkjjii-,,++**)IIJJKKLLPPOONNMM!!""##$$YYZZ[[\\xxwwvvuu@@??>>==11223344iijjkkllhhggffee00//..-- - - AABBCCDDyyzz{{||XXWWVVUU QQRRSSTT{{zzyyxx99332211YYZZ[[\\lkkjjiih,,++**))IJJKKLLMPOONNMML!""##$$%YZZ[[\\]xwwvvuut@??>>==<12233445ijjkkllmhggffeed0//..--, - - ABBCCDDEyzz{{||}XWWVVUUT QRRSSTTU{zzyyxxw93322110YZZ[[\\]kkjjiihg,++**))(JJKKLLMMOONNMMLL""##$$%%ZZ[[\\]]wwvvuutt??>>==<<22334455jjkkllmmggffeedd//..--,, - - BBCCDDEEzz{{||}}WWVVUUTTRRSSTTUUzzyyxxww33221100ZZ[[\\]]ttssrrqq<<;;::99 EEFFGGHH}}~~EEDDCCBBUUVVWWXXpoonnmml00//..--LMMNNOOPMLLKKJJI$%%&&''(\]]^^__`uttssrrq=<<;;::945566778lmmnnoopeddccbba-,,++**) DEEFFGGH|}}~~UTTSSRRQ TUUVVWWXxwwvvuut100//..-\]]^^__`hgfedccb)((''&&%MMNNOOPPLLKKJJII%%&&''((]]^^__``ttssrrqq<<;;::9955667788mmnnooppddccbbaa,,++**)) EEFFGGHH}}~~TTSSRRQQ UUVVWWXXwwvvuutt00//..--]]^^__``gfedccbb((''&&%%MNNOOPPQLKKJJIIH%&&''(()]^^__``atssrrqqp<;;::99856677889mnnooppqdccbbaa`,++**))( EFFGGHHI}~~TSSRRQQP !UVVWWXXYwvvuutts0//..--,]^^__``afedccbba(''&&%%$NNOOPPQQKKJJIIHH&&''(())^^__``aassrrqqpp;;::998866778899nnooppqqccbbaa``++**))((FFGGHHII~~SSRRQQPP !!VVWWXXYYvvuuttss//..--,,^^__``aappoonnmm88776655IIJJKKLLAA@@??>>YYZZ[[\\lkkjjiih,,++**))PQQRRSST~~}IHHGGFFE ())**++,`aabbccdqppoonnm98877665899::;;>??@tuuvvwwx]\\[[ZZY%$$##""!LMMNNOOPMLLKKJJI$%%&&''(\]]^^__`poonnmml)((''&&%"##$$%%&ijjkkllm^]]\\[[Z!  UUVVWWXX||{{zzyyDDCCBBAA - - --..//00eeffgghhllkkjjii44332211==>>??@@uuvvwwxx\\[[ZZYY$$##""!!MMNNOOPPLLKKJJII%%&&''((]]^^__``oonnmmll((''&&%%##$$%%&&jjkkllmm]]\\[[ZZ  !UVVWWXXY|{{zzyyxDCCBBAA@ - - -..//001effgghhilkkjjiih43322110 =>>??@@Auvvwwxxy\[[ZZYYX$##""!! MNNOOPPQLKKJJIIH%&&''(()]^^__``aonnmmllk(''&&%%$#$$%%&&'jkkllmmn]\\[[ZZY !!VVWWXXYY{{zzyyxxCCBBAA@@ - - ..//0011ffgghhiikkjjiihh33221100 >>??@@AAvvwwxxyy[[ZZYYXX##""!! NNOOPPQQKKJJIIHH&&''(())^^__``aannmmllkk''&&%%$$$$%%&&''kkllmmnnhhggffee00//..--QQRRSSTT{{zzyyxx99332211!!""aabbcciiaa``__^^$$##""!! !!""##$XYYZZ[[\yxxwwvvuA@@??>>= 01122334hiijjkklihhggffe100//..- - - @AABBCCDxyyzz{{|YXXWWVVU! PQQRRSST~~}IHHGGFFE ())**++,`aabbccdlkkjjiic%$$##""!&''(())*mnnooppqZYYXXWWV!!""##$$YYZZ[[\\xxwwvvuu@@??>>==11223344iijjkkllhhggffee00//..-- - - AABBCCDDyyzz{{||XXWWVVUU QQRRSSTT~~}}HHGGFFEE ))**++,,aabbccddkkjjiicc$$##""!!''(())**nnooppqqYYXXWWVV!""##$$%YZZ[[\\]xwwvvuut@??>>==<12233445ijjkkllmhggffeed0//..--, - - ABBCCDDEyzz{{||}XWWVVUUT QRRSSTTU~~}}|HGGFFEED )**++,,-abbccddekjjiiccb$##""!!'(())**+nooppqqrYXXWWVVU""##$$%%ZZ[[\\]]wwvvuutt??>>==<<22334455jjkkllmmggffeedd//..--,, - - BBCCDDEEzz{{||}}WWVVUUTTRRSSTTUU~~}}||GGFFEEDD **++,,--bbccddeejjiiccbb##""!!(())**++ooppqqrrwvvuuttsddccbbaa,,++**)) UUVVWWXXwwvvuutt00//..--##$$%%&&jjkkllmm]]\\[[ZZ $%%&&''(\]]^^__`uttssrrq=<<;;::945566778lmmnnoopeddccbba-,,++**) DEEFFGGH|}}~~UTTSSRRQ TUUVVWWX}||{{zzyEDDCCBBA - - ,--..//0deeffgghcbbaa``_!*++,,--.qrrssttuVUUTTSSR%%&&''((]]^^__``ttssrrqq<<;;::9955667788mmnnooppddccbbaa,,++**)) EEFFGGHH}}~~TTSSRRQQ UUVVWWXX||{{zzyyDDCCBBAA - - --..//00eeffgghhbbaa``__++,,--..rrssttuuUUTTSSRR%&&''(()]^^__``atssrrqqp<;;::99856677889mnnooppqdccbbaa`,++**))( EFFGGHHI}~~TSSRRQQP !UVVWWXXY|{{zzyyxDCCBBAA@ - - -..//001effgghhibaa``__^+,,--../rssttuuvUTTSSRRQ&&''(())^^__``aassrrqqpp;;::998866778899nnooppqqccbbaa``++**))((FFGGHHII~~SSRRQQPP !!VVWWXXYY{{zzyyxxCCBBAA@@ - - ..//0011ffgghhiiaa``__^^,,--..//ssttuuvvsrrqqppo``__^^]]((''&&%%!!""##$$YYZZ[[\\ssrrqqpp,,++**))''(())**nnooppqqYYXXWWVV())**++,`aabbccdqppoonnm98877665899::;;>= 01122334hiijjkkl_^^]]\\[.//00112uvvwwxxyRQQPONML))**++,,aabbccddppoonnmm8877665599::;;<>==11223344iijjkkll^^]]\\[[//001122vvwwxxyyQQPONMLK)**++,,-abbccddepoonnmml877665549::;;<<=qrrssttu`__^^]]\(''&&%%$IJJKKLLMPOONNMML!""##$$%YZZ[[\\]xwwvvuut@??>>==<12233445ijjkkllm^]]\\[[Z/0011223vwwxxyyzQPONMLKK**++,,--bbccddeeoonnmmll77665544::;;<<==rrssttuu__^^]]\\''&&%%$$JJKKLLMMOONNMMLL""##$$%%ZZ[[\\]]wwvvuutt??>>==<<22334455jjkkllmm]]\\[[ZZ00112233wwxxyyzzonnmmllk\\[[ZZYY$$##""!!%%&&''((]]^^__``oonnmmll((''&&%%++,,--..rrssttuuUUTTSSRR,--..//0deeffgghmllkkjji54433221<==>>??@tuuvvwwx]\\[[ZZY%$$##""!LMMNNOOPMLLKKJJI$%%&&''(\]]^^__`uttssrrq=<<;;::945566778lmmnnoop[ZZYYXXW23399::;yzz{{KKJJIIHH --..//00eeffgghhllkkjjii44332211==>>??@@uuvvwwxx\\[[ZZYY$$##""!!MMNNOOPPLLKKJJII%%&&''((]]^^__``ttssrrqq<<;;::9955667788mmnnooppZZYYXXWW3399::;;zz{{KJJIIHHG --..//001effgghhilkkjjiih43322110 =>>??@@Auvvwwxxy\[[ZZYYX$##""!! MNNOOPPQLKKJJIIH%&&''(()]^^__``atssrrqqp<;;::99856677889mnnooppqZYYXXWWV399::;;>??@@AAvvwwxxyy[[ZZYYXX##""!! NNOOPPQQKKJJIIHH&&''(())^^__``aassrrqqpp;;::998866778899nnooppqqYYXXWWVV99::;;<<{{kjjiihgfXXWWVVUU ))**++,,aabbccddkkjjiicc$$##""!!//001122vvwwxxyyQQPONMLK01122334hiijjkklihhggffe100//..- - - @AABBCCDxyyzz{{|YXXWWVVU! PQQRRSST~~}IHHGGFFE ())**++,`aabbccdqppoonnm98877665899::;;>?GGFFEEDD - - 11223344iijjkkllhhggffee00//..-- - - AABBCCDDyyzz{{||XXWWVVUU QQRRSSTT~~}}HHGGFFEE ))**++,,aabbccddppoonnmm8877665599::;;<>??GFFEEDDC - 12233445ijjkkllmhggffeed0//..--, - - ABBCCDDEyzz{{||}XWWVVUUT QRRSSTTU~~}}|HGGFFEED )**++,,-abbccddepoonnmml877665549::;;<<=qrrssttuVUUTTSSR <==>>??@FFEEDDCC 22334455jjkkllmmggffeedd//..--,, - - BBCCDDEEzz{{||}}WWVVUUTTRRSSTTUU~~}}||GGFFEEDD **++,,--bbccddeeoonnmmll77665544::;;<<==rrssttuuUUTTSSRR ==>>??@@edccbbaaTTSSRRQQ--..//00eeffgghhbbaa``__3399::;;zz{{KJJIIHHG -45566778lmmnnoopeddccbba-,,++**) DEEFFGGH|}}~~UTTSSRRQ TUUVVWWX}||{{zzyEDDCCBBA - - ,--..//0deeffgghmllkkjji54433221<==>>??@tuuvvwwxSRRQQKKJ - - ?@@AABBC~CCBBAA@@55667788mmnnooppddccbbaa,,++**)) EEFFGGHH}}~~TTSSRRQQ UUVVWWXX||{{zzyyDDCCBBAA - - --..//00eeffgghhllkkjjii44332211==>>??@@uuvvwwxxRRQQKKJJ - - @@AABBCC~}CBBAA@@?56677889mnnooppqdccbbaa`,++**))( EFFGGHHI}~~TSSRRQQP !UVVWWXXY|{{zzyyxDCCBBAA@ - - -..//001effgghhilkkjjiih43322110 =>>??@@AuvvwwxxyRQQKKJJI - - @AABBCCD~}|BBAA@@??66778899nnooppqqccbbaa``++**))((FFGGHHII~~SSRRQQPP !!VVWWXXYY{{zzyyxxCCBBAA@@ - - ..//0011ffgghhiikkjjiihh33221100 >>??@@AAvvwwxxyyQQKKJJII - - AABBCCDD~}|{``__^^]]PPOONNMM11223344iijjkkll^^]]\\[[<<==>>??GFFEEDDC - 899::;;>= 01122334hiijjkklihhggffe100//..- - - @AABBCCDxyyzz{{|JIIHHGGFCDDEEFFG}|{{zzyy??>>==<<99::;;<>==11223344iijjkkllhhggffee00//..-- - - AABBCCDDyyzz{{||IIHHGGFFDDEEFFGG|{{zzyyx?>>==<<;9::;;<<=qrrssttu`__^^]]\(''&&%%$IJJKKLLMPOONNMML!""##$$%YZZ[[\\]xwwvvuut@??>>==<12233445ijjkkllmhggffeed0//..--, - - ABBCCDDEyzz{{||}IHHGGFFEDEEFFGGH{{zzyyxx>>==<<;;::;;<<==rrssttuu__^^]]\\''&&%%$$JJKKLLMMOONNMMLL""##$$%%ZZ[[\\]]wwvvuutt??>>==<<22334455jjkkllmmggffeedd//..--,, - - BBCCDDEEzz{{||}}HHGGFFEEEEFFGGHH{zzyyxxw\\[[ZZYYXXWWVVUU"##$$%%&Z[[\\]]^wvvuutts?>>==<<;23344556jkkllmmngffeeddc/..--,,+ - BCCDDEEFz{{||}}~WVVUUTTSRSSTTUUV~~}}||{GFFEEDDC *++,,--.bccddeefbaa``__^399::;;>= - - @AABBCCDTTSSRRQQ&''(())*^__``aabsrrqqppo;::998876778899:nooppqqrcbbaa``_+**))(('FGGHHIIJ~SRRQQPPO !!"VWWXXYYZ{zzyyxxwCBBAA@@? - - .//00112fgghhiij^]]\\[[Z<==>>??@uttssrrq=<<;;::9 DEEFFGGHPONMLKKJ *++,,--.bccddeefonnmmllk76655443:;;<<==>rssttuuv_^^]]\\['&&%%$$#JKKLLMMNONNMMLLK"##$$%%&Z[[\\]]^wvvuutts?>>==<<;23344556jkkllmmnZYYXXWWV@AABBCCDqppoonnm98877665HIIJJKKLJIIHHGGF - - .//00112fgghhiijkjjiihhg3221100/ ->??@@AABvwwxxyyz[ZZYYXXW#""!! NOOPPQQRKJJIIHHG&''(())*^__``aabsrrqqppo;::998876778899:nooppqqrVUUTTSSR DEEFFGGHmllkkjji54433221LMMNNOOPFEEDDCCB 23344556jkkllmmngffeeddc/..--,,+ - BCCDDEEFz{{||}}~WVVUUTTSRSSTTUUV~~}}||{GFFEEDDC *++,,--.bccddeefonnmmllk76655443:;;<<==>rssttuuvRQQKKJJI - - -HIIJJKKQihhggffe100//..-PQQRRSSTBAA@@??>6778899:nooppqqrcbbaa``_+**))(('FGGHHIIJ~SRRQQPPO !!"VWWXXYYZ{zzyyxxwCBBAA@@? - - .//00112fgghhiijkjjiihhg3221100/ ->??@@AABvwwxxyyzIHHGGFFE - QRRSSTTUeddccbba-,,++**) TUUVVWWX>==<<;;::;;<<==>rssttuuv_^^]]\\['&&%%$$#JKKLLMMNONNMMLLK"##$$%%&Z[[\\]]^wvvuutts?>>==<<;23344556jkkllmmngffeeddc/..--,,+ - BCCDDEEFz{{||}}~EDDCCBBAUVVWWXXYa``__^^])((''&&% !!""##$XYYZZ[[\:9987654 ->??@@AABvwwxxyyz[ZZYYXXW#""!! NOOPPQQRKJJIIHHG&''(())*^__``aabsrrqqppo;::998876778899:nooppqqrcbbaa``_+**))(('FGGHHIIJ~A@@??>>=YZZ[[\\]]\\[[ZZY%$$##""!$%%&&''(\]]^^__`33221100 - BCCDDEEFz{{||}}~WVVUUTTSRSSTTUUV~~}}||{GFFEEDDC *++,,--.bccddeefonnmmllk76655443:;;<<==>rssttuuv_^^]]\\['&&%%$$#JKKLLMMN||{=<<;;::9]^^__``aYXXWWVVU! ())**++,`aabbccd//..--,,FGGHHIIJ~SRRQQPPO !!"VWWXXYYZ{zzyyxxwCBBAA@@? - - .//00112fgghhiijkjjiihhg3221100/ ->??@@AABvwwxxyyz[ZZYYXXW#""!! NOOPPQQR{zzyyxxw93322110!!""#abbcciijUTTSSRRQ,--..//0deeffggh++**))((JKKLLMMNONNMMLLK"##$$%%&Z[[\\]]^wvvuutts?>>==<<;23344556jkkllmmngffeeddc/..--,,+ - BCCDDEEFz{{||}}~WVVUUTTSRSSTTUUVwvvuutts0//..--,#$$%%&&'jkkllmmnQPPOONNM01122334hiijjkkl''&&%%$$NOOPPQQRKJJIIHHG&''(())*^__``aabsrrqqppo;::998876778899:nooppqqrcbbaa``_+**))(('FGGHHIIJ~SRRQQPPO !!"VWWXXYYZsrrqqppo,++**))('(())**+nooppqqrMLLKKJJI45566778lmmnnoop##""!! RSSTTUUV~~}}||{GFFEEDDC *++,,--.bccddeefonnmmllk76655443:;;<<==>rssttuuv_^^]]\\['&&%%$$#JKKLLMMNONNMMLLK"##$$%%&Z[[\\]]^onnmmllk(''&&%%$+,,--../rssttuuvIHHGGFFE 899::;;??@@AABvwwxxyyz[ZZYYXXW#""!! NOOPPQQRKJJIIHHG&''(())*^__``aabkjjiiccb$##""!!/0011223vwwxxyyyEDDCCBBA - - <==>>??@tuuvvwwxxyybdQZ|JltdrtAH~fvpfbے`HAbےJtArdv`f~~HfpQJHArXQJ`Zp˂drtbdQZ|f`vXfH~nr˂pے`JXZHAbbtl|ZdQf~HnXv`fpv㒐bHArXQJ`AJltdrtnvpf`vXfH~˂pZHAbtl|QbtlnXv`Xv`fےHAZXQJ`ےp˂rdrtAbdQZ|`vXnH~fr˂pے`JXQZHAbtlJ|ZdQbf~HnXv`pvnbHAZXQJ`ےJltdrtAvpf`vXnH~fpZHAbtl|btlnXv`˕v`f~HAZpQJ`ے˂rXdrtAbdQZ|vXn~f`r˂p`JXQZHAbۉlJtZdQbtf~HnXv`˝vnbHAZpQJ`ےJltdrtAvpfHvXn~f`ZHAbl|btl|Xv`fv`f~HAZpJ`ے˂rXQdrtAJdQZ|vXn~f`˂pZ`JXQrHAbےlJtAZdQbt~HfXv`fvnrbHAZpJ`ےltbdrtAJvpfHvXn~f`ZHAbl|Ztl|drtAbdQZ|Jlt`vXnH~fJXQr`JXQr|ZdQfpvvnXZp˂󒐙bHArXQJ`AJltdrtnvpf`vXZHAbQr˂pے`JXJtArdbtlfpvf~HnrXQJ`Zp˂󒐙bHAbdQZ|AJltfH~nvpf`vXbے`ZdQbt|ZdQf~H~fpvp˂rbHAZXQJ`ےJltdrtAvpf`vXnZHAbr˂pے`JXQtArdtlJfpvf~HrXQJ`p˂rbHAZbdQZ|JltH~fvpf`vXnے`JZdQbt|ZdQbf~Hfpv˂rXbHAZpQJ`ےJltdrtAvpfHvXnZHAbr˂p`JXQArd|lJtfpvf~HrXQJ`ۑ˂rXbHAZpbdQZ|Jlt~f`vpfHvXnے`JXZdQbtZdQbt~Hffpv˂rXQbHAZpJ`ےltbdrtAJvpfHvXnHAbے˂pZ`JXQrrd|lJtApvn~HfXQJ`ے˂rXQbHAZpdQZ|ltb~f`vpfHvXnrے`JXQdQbtZdQbtJltdrtAbdQZ|vpf`vXn˂p`J˂p|btlnXv`˕v`f~rXQJ`Zp˂󒐙bHAbdQZ|AJltfH~nvpے`JXZHAbQr˂p|ZdQJtArdnXv`fpvےHArXQJ`Zp˂drtbdQZ|f`vXfH~nr˂pJXQrˉlJtbtlfpvnXv`XQJ`ےp˂rbHAZbdQZ|JltH~fvpfے`JXQZHAbr˂p|ZdQbtArdnXv`fpvےHAZXQJ`ےp˂rdrtAbdQZ|`vXnH~fr˂pXQr˂lJtAtlJfpvnXv`QJ`ے˂rXbHAZpbdQZ|Jlt~f`vpfH`JXQZHAbr˂pZdQbtArd|nXv`fpv㒐HAZpQJ`ے˂rXdrtAbdQZ|vXn~f`r˂p`Qr˂plJtAlJtpvnnXv`J`ے˂rXQbHAZpdQZ|ltb~f`vpfH`JXQrHAbے˂pZZdQbtrd|Xv`fpvnHAZpJ`ے˂rXQdrtAJdQZ|vXn~f`˂p`r˂plJtArlJtAbdQZ|Jlt`vXnH~fvpfXQr˂ZdQbt|ZdQbf~HfpvbHArXQJ`Zp˂drtbdQZ|f`vXfH~Qr˂pے`JXZHAbtl|ZdQf~HnXv`Zp˂󒐙bHArXQJ`AJltdrtnvpf`vX`JXQp`JXArd|JtArdnXv`f~HbHAZXQJ`ےp˂rdrtAbdQZ|`vXnH~fr˂pے`JXQZHAےtlJ|ZdQbf~HnXv`p˂rbHAZXQJ`ےJltdrtAvpf`vXn`JXQrp`JXQrd|tArdnXv`ff~HbHAZpQJ`ے˂rdrtAbdQZ|vXn~f`r˂p`JXQZHAے`lJtZdQbtf~HnXv`ˑ˂rXbHAZpQJ`ےJltdrtAvpfHvXnJXQr`JXQrd|Ard|Xv`ff~HbHAZpJ`ے˂rbdrtAJdQZ|vXn~f`˂pZ`JXQrHAے`lJtAZdQbt~HfXv`f˂rXQbHAZpJ`ےltbdrtAJvpfHvXnJXQr`JXQrd|Zrd|drtAbdQZ|vpf`vXnH~fpZHAblJtAtlJfpvnXv`Zp˂󒐙bHArbdQZ|AJltdrtnvpf`vXZHAbQr˂p`JXQJtArdbtlfpvf~HrXQJ`Zp˂󒐙bHAbdQZ|AJltfH~nvpr˂pQr˂pZdQbt|ZdQf~fpۅfpvp˂rbHAZbdQZ|JltdrtAvpf`vXnZHAbr˂p`JXQrtArdtlJfpvf~HXQJ`ےp˂rbHAZbdQZ|JltH~fvpf˂pZr˂pZdQbt|ZdQb~fpvfpv˂rXbHAZpbdQZ|JltdrtAvpfHvXnZHAbr˂pJXQrArd|lJtfpvf~HQJ`ے˂rXbHAZpbdQZ|Jlt~f`vpfH˂pZHr˂pZdQbtZdQbt~fpvfpv˂rXQbHAZpdQZ|ltbdrtAJvpfHvXnHAbے˂pZJXQrbrd|lJtApvn~HfJ`ے˂rXQbHAZpdQZ|ltb~f`vpfH˂pZHA˂pZdQbtZdQbtJltdrtAH~fvpf`vXnے`Jrd|tArdnXv`ff~HrXQJ`Zp˂drtbdQZ|AJltfH~nvpے`JXZHAbrbtl|ZdQJtArdnXv`fpvbHArXQJ`Zp˂drtbdQZ|f`vXfH~ZHAbۑZHAbl|btl|vnXnXv`XQJ`ےp˂rdrtAbdQZ|JltH~fvpfے`JXQZHAbbtl|ZdQbtArdnXv`fpvbHAZXQJ`ےp˂rdrtAbdQZ|`vXnH~fHAbےZHAbl|Ztl|nXvnXv`QJ`ے˂rXdrtAbdQZ|Jlt~f`vpfH`JXQZHAbbtlZdQbtArd|nXv`fpvbHAZpQJ`ے˂rdrtAbdQZ|vXn~f`Abے`ZHAbےl|Zdl|nXv`nXv`fJ`ے˂rXQdrtAJdQZ|ltb~f`vpfH`JXQrHAbےtlJZdQbtrd|Xv`fpvnbHAZpJ`ے˂rbdrtAJdQZ|vXn~f`bے`HAbےl|ZdQl|ZbdQZ|Jlt`vXnH~fr˂pXQr˂ZdQbt|ZdQb~fpvfpvbHArXQJ`AJltdrtbdQZ|f`vXfH~Qr˂pے`JXJtAdbtl|ZdQf~HnXv`Zp˂󒐙bHArbdQZ|AJltdrtnvpf`vX`JXQے`JXZdQbtZdQbtv`ff~fpbHAZXQJ`ےJltdrtAbdQZ|`vXnH~fr˂pے`JXQJtAdtlJ|ZdQbf~HnXv`p˂rbHAZbdQZ|JltdrtAvpf`vXn`JXQrے`JXQdQbtZdQbt`f~f~fpۙbHAZpQJ`ےJltdrtAbdQZ|vXn~f`r˂p`JXQJtAd|lJtZdQbtf~HnXv`ˑ˂rXbHAZpbdQZ|JltdrtAvpfHvXnJXQr`JXQQbtlZdQbtf~H~fpvbHAZpJ`ےltbdrtAJdQZ|vXn~f`˂pZ`JXQrtAd|lJtAZdQbt~HfXv`f˂rXQbHAZpdQZ|ltbdrtAJvpfHvXnJXQr`JXQrbtldQbtdrtAbdQZ|vpf`vXn`JXQrp`JXQl|Ztl|nXvnXv`Zp˂󒐙bHAbdQZ|AJltdtAnvpf`vXZHAbQr˂p|ZdQJtArdbtlfpvf~HrXQJ`Zp˂drtbdQZ|AJltfH~nvpr˂p`Qr˂plJtAlJt~HfpvnXp˂rbHAZbdQZ|JltdtAJvpf`vXnZHAbr˂p|ZdQbtArdtlJfpvf~HXQJ`ےp˂rdrtAbdQZ|JltH~fvpf˂p`r˂plJtArlJtAHfpvvnX˂rXbHAZpbdQZ|JltdtAJlvpfHvXnZHAbr˂pZdQbtArd|lJtfpvf~HQJ`ے˂rXdrtAbdQZ|Jlt~f`vpfH˂p`r˂p`JtArdlJtAfpvnXv˂rXQbHAZpdQZ|ltbdtAJlvpfHvXnHAbے˂pZZdQbtrd|lJtApvn~HfJ`ے˂rXQdrtAJdQZ|ltb~f`vpfH˂p`J˂p`JtArdlJtArv`fJltdrtAH~fvpf˂pZr˂pdQbtZdQbt`f~f~fprXQJ`Zp˂drtbdQZ|JltfH~nvpے`JXZHAbbtl|ZdQJtArdnXv`fpvbHArXQJ`AJltdrtbdQZ|f`vXfH~ˁJXQr`JXQrd|Ard|vnXv`fXQJ`ےp˂rdrtAbdQZ|ltbH~fvpfے`JXQZHAbtlJ|ZdQbtArdnXv`fpvbHAZXQJ`ےJltdrtAbdQZ|`vXnH~fJXQr`JXQrd|Zrd|nXvv`fQJ`ے˂rXdrtAbdQZ|tb~f`vpfH`JXQZHAbۉlJtZdQbtArd|nXv`fpvbHAZpQJ`ےJltdrtAbdQZ|vXn~f`JXQrˁJXQr|Zdrd|nXv``f~J`ے˂rXQdrtAJdQZ|tbn~f`vpfH`JXQrHAbےlJtAZdQbtrd|Xv`fpvnbHAZpJ`ےltbdrtAJdQZ|vXn~f`XQr˂JXQr|ZdQd|Z~HfpbdQZ|Jlt`vXnH~fHAbےZHAblJtArlJtAHfpvvnXbHArXQJ`AJltdrtbnvpf`vXfH~Qr˂pے`JXJtArdbtl|ZdQf~HnXv`Zp˂󒐙bHAbdQZ|AJltdtAnvpf`vX˂pZHr˂pZdQbtZdQbtv`f~f~HfpbHAZXQJ`ےJltdrtAnvp`vXnH~fr˂pے`JXQtArdtlJ|ZdQbf~HnXv`p˂rbHAZbdQZ|JltdtAJvpf`vXn˂pZHA˂pZdQbtZdQbt`f~fp~HfpۙbHAZpQJ`ےJltdrtAnvpvXn~f`r˂p`JXQArd|lJtZdQbf~HnXv`ˑ˂rXbHAZpbdQZ|JltdtAJlvpfHvXnpZHA˂pZHQbtlZdQbtf~fpHfpvbHAZpJ`ےltbdrtAJvpfvXn~f`˂pZ`JXQrrd|lJtAZdQbn~HfXv`f˂rXQbHAZpdQZ|ltbdtAJlvpfHvXnpZHAb˂pZHAbtldQbt璝vnXdrtAbdQZ|vpf`vXn`JXQrے`JXQd|Zrd|nXvv`fZp˂󒐙bHAbdQZ|AJltfHnvpf`vXZHAbQr˂p|ZdQJtArdbnXv`fpvf~HrXQJ`Zp˂drtbdQZ|JltfH~nvpAbے`ZHAbےl|Zdl|pvnvnXp˂rbHAZbdQZ|JltfHfvpf`vXnZHAbr˂p|ZdQbtArdnXv`fpvf~HXQJ`ےp˂rdrtAbdQZ|ltbH~fvpfbے`HAbےl|ZdQl|ZvnXvnX˂rXbHAZpbdQZ|JltfHf`vpfHvXnZHAbr˂pZdQbtArd|nXv`fpvf~HQJ`ے˂rXdrtAbdQZ|tb~f`vpfHbے`Abے`|ZdQl|ZdvnXnXv˂rXQbHAZpdQZ|ltbHf`vpfHvXnHAbے˂pZZdQbtrd|Xv`fpvn~HfJ`ے˂rXQdrtAJdQZ|tbn~f`vpfHے`Jbے`|ZdQbl|ZdQv`f~JltdrtAH~fvpf˂p`r˂pdQbtZdQbt`f~fp~HfprXQJ`Zp˂drtbdQZ|f`vXfH~nvpے`JXZHAbbtl|ZdQf~HnXv`fpvbHArXQJ`AJltdrtbnvpf`vXfH~ˁJXQr`JXQQbtlZdQbnXXv`fv`ffXQJ`ےp˂rdrtAbdQZ|`vXnH~fvpfے`JXQZHAbtlJ|ZdQbf~HnXv`fpvbHAZXQJ`ےJltdrtAnvp`vXnH~fJXQr`JXQrbtldQbnXv`fv`ffpQJ`ے˂rXdrtAbdQZ|vXn~f`vpfH`JXQZHAbۉlJtZdQbtf~HnXv`fpvbHAZpQJ`ےJltdrtAnvpvXn~f`JXQrˁJXQrbtlQbnXv`f`ffpJ`ے˂rXQdrtAJdQZ|vXn~f`vpfH`JXQrHAbےlJtAZdQbt~HfXv`fpvnbHAZpJ`ےltbdrtAJvpfvXn~f`XQr˂JXQrtlJbnXvfpvbdQZ|Jlt`vXnH~fJXQr`JXQrl|ZdQl|ZvnXvnXbHArXQJ`AJltdrtnvpf`vXfH~Qr˂pے`JXJtArdbtlfpvf~HnXv`Zp˂󒐙bHAbdQZ|AJltfHnvpf`vX˂p`r˂p`JtArdv`f~~HfpvnbHAZXQJ`ےJltdrtAvpf`vXnH~fr˂pے`JXQtArdtlJfpvf~HnXv`p˂rbHAZbdQZ|JltfHfvpf`vXn˂p`J˂p`JtArdv`f~~HfpvnbHAZpQJ`ےJltdrtAvpfHvXn~f`r˂p`JXQArd|lJtfpvf~HnXv`ˑ˂rXbHAZpbdQZ|JltfHf`vpfHvXnp`JX˂p`JtArdv`f~f~HfpvnrbHAZpJ`ےltbdrtAJvpfHvXn~f`˂pZ`JXQrrd|lJtApvn~HfXv`f˂rXQbHAZpdQZ|ltbHf`vpfHvXnp`JXQ˂p`JtArd`f~fpnXv`drtAbdQZ|vpf`vXn˂pZHA˂pZbtldQbnXv`fv`frZp˂󒐙bHAbdQZ|AJltfH~nvpf`vXZHAbQr˂p|ZdQJtArdnXv`fpvfHrXQJ`Zp˂drtbdQZ|f`vXfH~nvpJXQrˁJXQr|ZdfpvpvnrXQJ`p˂rbHAZbdQZ|JltH~fvpf`vXnZHAbr˂p|ZdQbtArdnXv`fpvfHfXQJ`ےp˂rdrtAbdQZ|`vXnH~fvpfXQr˂JXQrb|ZdQfpvvnXrXQJ`ۑ˂rXbHAZpbdQZ|Jlt~f`vpfHvXnZHAbr˂pZdQbtArd|nXv`fpvfHfpQJ`ے˂rXdrtAbdQZ|vXn~f`vpfHQr˂pJXQrbt|ZdQpvnvnXXQJ`ے˂rXQbHAZpdQZ|ltb~f`vpfHvXnrHAbے˂pZZdQbtrd|Xv`fpvnHfpJ`ے˂rXQdrtAJdQZ|vXn~f`vpfHr˂pXQrbt|ZdQbvnXf~HfpvnXv`rXQbHAZpQZ|dtbdtAJlvpfHvXnAbے`˂pZHZdQbtrd|lJtAvnX~HfpJ`ےむrXQrtAJlQZ|dtbd~f`vpfHJXQrˁJXQrp`ZQXbXnvˍf۝`vp|drtbAdZnXv`f~HJ`ےむrXQrtAJlQZ|dtbn~f`vpfHJXQrAbے`lJtAZdQbtrd|v`fvnXbHAZpJ`ےtbdrtAJlQZ|dvXn~f`pZHA˂pZH㉀ۑpJpfH~XnvˍQtJl|drf~fpۅfpvbHAZpJ`ےtbdrtAJlvpfHvXn~f`˂pZHJXQrrd|lJtAZdQbnX~Hfpv`frXQbHAZpQZ|dtbdtAJlvpfHvXnbے`Abے`AHr󙐂f۝`vpfH~tbAdZQtJlvnXnXv`rXQbHAZpQZ|dtbdf`vpfHvXnAbے`˂pZHZdQbtrd|v`fvnX~HfpJ`ےむrXQrtAJlQZ|dtbn~f`vpfHJXQrˁJXQrˁ`ZQXbXnvˍf۝`v|drtbAdZv`fffpJ`ےむrXQrtAJlQZ|dvXn~f`vpfHJXQrAbے`lJtAZdQbt~Hfpv`fvnXbHAZpJ`ےtbdrtAJlvpfHvXn~f`p`JX˂p`Z㉀ۑppfH~XnvˍQtJl|dr~HfpvnrXbHAZpJ`ےtbdrtAJlvpfHvXn~f`˂pZHJXQrrd|lJtAvnX~Hfpv`frXQbHAZpQZ|dtbdf`vpfHvXnQr˂pQXb㉀`ZQXb㉐f۝`vpfH~tbAdZQtJlvnXQJ`ےrXQbHAZpQZ|dtbd~f`vpfHvXnrAbے`˂pZHZdQbtrd|v`fvnXHfpJ`ےむrXQrtAJlQZ|dvXn~f`vpfHZHAbۑpJAHrۑpJAXnvˍf۝`v|drtbAdZv`f~fHAZpJ`ےむrXQrtAJlQZ|dvXn~f`˂pZHJXQrAbے`lJtAZdQbt~Hfpv`fvnrXbHAZpJ`ےtbdrtAJlvpfHvXn~f`ے`JX󙐂ˁ`ZHr󙐂ˁpfH~XnvˍQtJl|drpvnrXQbHAZpJ`ےtbdrtAJlvpfHvXnAbے`˂pZHJXQrrd|lJtAvnX~HfpQJ`ےrXQbHAZpQZ|dtbd~f`vpfHvXnے`Qr˂pQXb㉀`ZQXb㉐f۝`vpfH~tbAdZQtJlXv`fJ`ےむrXQbHAZpQZ|dtbd~f`vpfHJXQrAbے`˂pZHZdQbtrd|v`fvnXHAZpJ`ےむrXQrtAJlQZ|dvXn~f`JXQr`JXQۑp`ZQۑp`ZXnvˍf۝`v|drtbAdZ~HfbHAZpJ`ےむrbdrtAJlQZ|dvXn~f`˂pZHJXQrAے`lJtAZdQbt~Hfpv`frXQbHAZpJ`ےtbdrtAJlvpfHvXnۉ˂pZHr˂pXb㉀ۑQXb㉀pfH~XnvˍQtJl|drpvnrXQbHAZpQZ|dtbdrtAJlvpfHvXnAbے`˂pZHJXQrbtrd|lJtAvnX~HfpJ`ےむrXQbHAZpQZ|dtbd~f`vpfHAbے`ZHAbpJAHrۑpJAHrf۝`vpfH~tbAdZQtJlXv`fJ`ےむrXQrtAJlQZ|dtbd~f`vpfHJXQrAbے`lJtZdQbtrd|v`fvnXbHAZpJ`ےむrbdrtAJlQZ|dvXn~f`JXQr`JXQˁ`ZQ󙐂ˁ`ZXnvˍf۝`v|drtbAdZ~fpvbHAZpJ`ےtbdrtAJlQZ|dvXn~f`˂pZHJXQrAd|lJtAZdQbt~Hfpv`frXQbHAZpQZ|dtbdrtAJlvpfHvXnۉ˂p`r˂p`Xb㉀ۑQXb㉀pfH~XnvˍQtJl|drQt}~~ \ No newline at end of file diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv29_2.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv29_2.dat deleted file mode 100644 index 2b36dd3c32..0000000000 --- a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv29_2.dat +++ /dev/null @@ -1,265 +0,0 @@ -~}~}~}~}{|{|{|{|wxwxwxwxuvuvuvuvststststopopopopmnmnmnmnijijijijghghghghcdcdcdcdbabababa^]^]^]^]\[\[\[\[~}~}~}~}{|{|{|{|wxwxwxwxuvuvuvuvsrqrqrqropopopopmnmnmnmnijijijijghghghghcdcdcdcdbabababa^]^]^]^]\[\[\[\[~}~}~}~}{|{|{|{|wxwxwxwxuvuvuvuvqrqrqrqropopopopmnmnmnmnijijijijghghghghcdcdcdcdbabababa^]^]^]^]\[\[\[\[~}~}~}~}{|{|{|{|wxwxwxwxuvuvuvuvqrqrqrqropopopopmnmnmnmnijijijijghghghghcdcdcdcdbabababa^]^]^]^]\[\[\[\[~}~}~}~}{|{|{|{ywxwxwxwxuvuvuvuvqrqrqrqropopopopmnmnmnmnijijijijghghghghcdccccccbabababa^]^]^]^]\[\[\[\[~}~}~}~}yyyyyzyzwxwxwxwxuvuvuvuvqrqrqrqropopopopmnmnmnmnijijijijghghghghdcdcdcdcbabababa^]^]^]^]\[\[\[\[~}~}~}~}yzyzyzyzwxwxwxwxuvuvuvuvqrqrqrqropopopopmnmnmnmnijijijijghghghghdcdcdcdcbabababa^]^]^]^]\[\[\[\[~}~}~}~}yzyzyzyzwxwxwxwxuvuvuvuvqrqrqrqropopopopmnmnmnmnijijijijghghghghdcdcdcdcbabababa^]^]^]^]\[\[\[\[~}~}~}~}yzyzyzyzwxwxwxwxuvuvuvuvqrqrqrqropopopopmnmnmnmnijijijijghghghghdcdcdcdcbabababa^]^]^]^]\[\[\[\[~}~}~}~}yzyzyzyzwxwxwxwxuvuvuvuvqrqrqrqropopopopmnmnmnmnijijijijghghghghdcdcdcccbabababa^]^]^]^]\[\[\[\[~}~}~}~}yzyzyzyzwxwxwxwxuvuvuvuvqrqrqrqropopopopmlklklklijijijijghghghghcccdcdcd`_`_`_`_^]^]^]^]\[\[\[\[~}~}~}~}yzyzyzyzwxwxwxwxuvuvuvuvqrqrqrqropopopopklklklklijijijijghghghgfcdcdcdcd`_`_`_`_^]^]^]^]\[\[\[\[~}~}~}~}yzyzyzyzwxwxwxwxuvuvuvuvqrqrqrqropopopopklklklklijijijijefefefefcdcdcdcd`_`_`_`_^]^]^]^]\[\[\[\[~}~}~}~}yzyzyzyzwxwxwxwxutstststqrqrqrqropopopopklklklklijijijijefefefefcdcdcdcd`_`_`_`_^]^]^]^]\[\[\[\[~}~}~}~}yzyzyzyzwxwxwxwxststststqrqrqrqropopopopklklklklijijijijefefefefcdcdcdcd`_`_`_`_^]^]^]^]\[\[\[\[~}~}~}~}yzyzyzyzwxwxwxwxststststqrqrqrqropopopopklklklklijijijijefefefefccccccdc`_`_`_`_^]^]^]^]\[\[\[\[~}~}~}~}yzyzyzyzwxwxwxwxststststqrqrqrqropopopopklklklklijijijijefefefefdcdcdcdc`_`_`_`_^]^]^]^]\[\[\[\[~}~}~}~}yzyzyzyzwxwxwxwxststststqrqrqrqropopopopklklklklijijijijefefefefdcdcdcdc`_`_`_`_^]^]^]^]\[\[\[\[~}~}~}~}yzyzyzyzwxwxwxwxststststqrqrqrqropopopopklklklklijijijijefefefefdcdcdcdc`_`_`_`_^]^]^]^]\[\[\[\[~}~}~}~}yzyzyzyzwxwxwxwxststststqrqrqrqropopopopklklklklijijijijefefefefdcdcdcdc`_`_`_`_^]^]^]^]ZYZYZYZYZYZYZYZY~}~}~}~}yzyzyzyzwxwxwxwxststststqrqrqrqropopopopklklklklijijijijefefefefdcdccccc`_`_`_`_^]^]^]^]ZYZYZYZYZYZYZYZY~}~}|{|{yzyzyzyzwxwxwxwxststststqrqrqrqropopopopklklklklijijijijefefefefdcdcdcdc`_`_`_`_^]^]^]^]ZYZYZYZYZYZYZYZY|{|{{{{{yzyzyzyzwxwxwxwxststststqrqrqrqronmnmnmnklklklklijijijijefefefefbabababa`_`_`_`_^]^]^]^]ZYZYZYZYZYZYZYZY{|{|{|{|yzyzyzyzwxwxwxwxststststqrqrqrqrmnmnmnmnklklklklijijijijefefefefbabababa`_`_`_`_^]^]^]^]ZYZYZYZYZYZYZYZY{|{|{|{|yzyzyzyzwxwxwxwxststststqrqrqrqrmnmnmnmnklklklklijijijijefefefefbabababa`_`_`_`_^]^]^]^]ZYZYZYZYZYZYZYZY{|{|{|{|yzyzyzyzwvuvuvuvststststqrqrqrqrmnmnmnmnklklklklijijijijefefefefbabababa`_`_`_`_^]^]^]^]ZYZYZYZYZYZYZYZY{|{|{|{|yzyzyzyzuvuvuvuvststststqrqrqrqrmnmnmnmnklklklklijijijijefefefefbabababa`_`_`_`_^]^]^]^]ZYZYZYZYXWXWXWXW{|{|{|{{yzyzyzyzuvuvuvuvststststqrqrqrqrmnmnmnmnklklklklijijijijefefefefbabababa`_`_`_`_^]^]^]^]ZYZYZYZYXWXWXWXW{{{{|{|{yzyzyzyzuvuvuvuvststststqrqrqrqrmnmnmnmnklklklklijijijijefefefefbabababa`_`_`_`_^]^]^]^]ZYZYZYZYXWXWXWXW|{|{|{|{yzyzyzyzuvuvuvuvststststqrqrqrqrmnmnmnmnklklklklijijijijefefefefbabababa`_`_`_`_^]^]^]^]ZYZYZYZYXWXWXWXW|{|{|{|{yzyzyzyzuvuvuvuvststststqrqrqrqrmnmnmnmnklklklklijijijijefefefefbabababa`_`_`_`_^]^]^]^]ZYZYZYZYXWXWXWXW|{|{|{|{yzyzyzyzuvuvuvuvststststqrqrqrqrmnmnmnmnklklklklihghghghefefefefbabababa`_`_`_`_\[\[\[\[ZYZYZYZYXWXWXWXW|{|{|{|{yzyzyzyzuvuvuvuvststststqrqrqrqrmnmnmnmnklklklklghghghghefefefefbabababa`_`_`_`_\[\[\[\[ZYZYZYZYXWXWXWXW|{{{{{{|yzyzyzyzuvuvuvuvststststqrqrqrqrmnmnmnmnklklklklghghghghefefefefbabababa`_`_`_`_\[\[\[\[ZYZYZYZYXWXWXWXW{|{|{|{|yzyzyzyzuvuvuvuvststststqpopopopmnmnmnmnklklklklghghghghefefefefbabababa`_`_`_`_\[\[\[\[ZYZYZYZYXWXWXWXW{|{|{|{|yzyzyzyzuvuvuvuvststststopopopopmnmnmnmnklklklklghghghghefefefefbabababa`_`_`_`_\[\[\[\[ZYZYZYZYXWXWXWXW{|{|{|{|yzyzyzyzuvuvuvuvststststopopopopmnmnmnmnklklklklghghghghefefefefbabababa`_`_`_`_\[\[\[\[ZYZYZYZYXWXWXWXW{|{|{|{|yxwxwxwxuvuvuvuvststststopopopopmnmnmnmnklklklklghghghghefefedcdbabababa`_`_`_`_\[\[\[\[ZYZYZYZYXWXWXWXW{|{|{{{{wxwxwxwxuvuvuvuvststststopopopopmnmnmnmnklklklklghghghghcdcdccccbabababa`_`_`_`_\[\[\[\[ZYZYZYZYXWXWXWXW{{|{|{|{wxwxwxwxuvuvuvuvststststopopopopmnmnmnmnklklklklghghghghccdcdcdcbabababa`_`_`_`_\[\[\[\[ZYZYZYZYXWXWXWXW|{|{|{|{wxwxwxwxuvuvuvuvststststopopopopmnmnmnmnklklklklghghghghdcdcdcdcbabababa`_`_`_`_\[\[\[\[ZYZYZYZYXWXWXWXW~}|{|{|{|{wxwxwxwxuvuvuvuvststststopopopopmnmnmnmnklklklklghghghghdcdcdcdcbabababa`_`_`_`_\[\[\[\[ZYZYZYZYXWXWXWXW~}~}~}~}|{|{|{|{wxwxwxwxuvuvuvuvststststopopopopmnmnmnmnklklklklghghghghdcdcdcdcbabababa`_`_`_`_\[\[\[\[ZYZYZYZYXWXWXWXW~}~}~}~}|{|{|{|{wxwxwxwxuvuvuvuvststststopopopopmnmnmnmnkjijijijghghghghdcdcdcdcbabababa^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXW~}~}~}~}{{{{{|{|wxwxwxwxuvuvuvuvststststopopopopmnmnmnmnijijijijghghghghcccccdcdbabababa^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVURQRQRQRQPOPOPOPOKLKLKLKLIJIJIJIJEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>;<;<;<;<7878787856565656212121210/0/0/0/,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"!     - - - -XWXWXWXWVUVUVUVURQRQRQRQPOPOPOPOKLKLKKKKIJIJIJIHEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>;<;<;<;<7878787856565656212121210/0/0/0/,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"!     - - - -XWXWXWXWTSTSTSTSRQRQRQRQPOPOPOPOKKLKLKLKGHGHGHGHEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>;<;<;<;<7878787856543434212121210/0/0/0/,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"!     - - - -XWXWXWXWTSTSTSTSRQRQRQRQPOPOPONMLKLKLKLKGHGHGHGHEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>;<;<;<;<7878787834333333212121210/0/0/0/,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"!     - - - -XWXWXWXWTSTSTSTSRQRQRQRQNMNMNMNMLKLKLKLKGHGHGHGHEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>;<;<;<;<7878787843434343212121210/0/0/0/,+,+,+,+*)*)*)*)('('('&%$#$#$#$#"!"!"!"!     - - - -XWXWXWXWTSTSTSTSRQRQRQRQNMNMNMNMLKLKLKLKGHGHGHGHEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>;<;<;<;<7878787843434343212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#"!"!"!"!     - - - -XWXWXWXWTSTSTSTSRQRQRQRQNMNMNMNMLKLKLKLKGHGHGHGHEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>;<;<;<;<7878787843434343212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#"!"!"!"!     - - - -XWXWXWXWTSTSTSTSRQRQRQRQNMNMNMNMKKKKKLKLGHGHGHGHEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>;<;<;<;:7878787843434343212121210/0/0/.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#"!"!"!"!     - - - -XWXWXWXWTSTSTSTSRQRQRQRQNMNMNMNMKLKLKLKLGHGHGHGHEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>9:9:9:9:787878784343433321212121.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#"!"!"!"!     - - - -XWXWXWXWTSTSTSTSRQRQRQRQNMNMNMNMKLKLKLKLGHGHGHGHEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>9:9:9:9:787878783334343421212121.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#"!"!"!"!     - - - -XWXWXWXWTSTSTSTSRQRQRQRQNMNMNMNMKLKLKLKLGHGHGHGHEFEFEFEFCDCDCDCB?@?@?@?@=>=>=>=>9:9:9:9:787878783434343421212121.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#"!"!"!"!   - - - -XWXWXWXWTSTSTSTSRQRQRQRQNMNMNMNMKLKLKLKLGHGHGHGHEFEFEFEFABABABAB?@?@?@?@=>=>=>=>9:9:9:9:787878783434343421212121.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#"!"!"!"! - - - -XWXWXWXWTSTSTSTSRQRQRQRQNMNMNMNMKLKKKKKLGHGHGHGHEFEFEFEFABABABAB?@?@?@?@=>=>=>=>9:9:9:9:787878783434343421212121.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#"!"!"!"! - - - -XWXWXWXWTSTSTSTSRQRQRQRQNMNMNMNMKLKLKLKJGHGHGHGHEFEFEFEFABABABAB?@?@?@?@=>=>=>=>9:9:9:9:787878783434343421212121.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#"!"!"!  - - - -VUVUVUVUTSTSTSTSRQRQRQRQNMNMNMNMIJIJIJIJGHGHGHGHEFEFEFEFABABABAB?@?@?@?@=>=>=>=>9:9:9:9:787878783333334321212121.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#     - - - -VUVUVUVUTSTSTSTSRQRQRQRQNMNMNMNMIJIJIJIJGHGHGHGHEFEFEFEFABABABAB?@?@?@?@=>=>=>=>9:9:9:9:787878784343434321212121.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#     - - - -VUVUVUVUTSTSTSTSRQRQRQRQNMNMNMNMIJIJIJIJGHGHGHGHEFEFEFEFABABABAB?@?@?@?@=>=>=>=>9:9:9:9:787878784343434321212121.-.-.-.-,+,+,+,+*)*)*)('&%&%&%&%$#$#$#$#     - - - -VUVUVUVUTSTSTSTSRQRQRQRQNMNMNMNMIJIJIJIJGHGHGHGHEFEFEFEFABABABAB?@?@?@?@=>=>=>=>9:9:9:9:787878784343434321212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#$#     - - - -VUVUVUVUTSTSTSTSRQRQRQRQNMNMNMNMIJIJIJIJGHGHGHGHEFEFEFEFABABABAB?@?@?@?@=>=>=>=>9:9:9:9:787878784343434321212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#$#     - - - -VUVUVUVUTSTSTSTSRQRQRQRQNMNMNMNMIJIJIJIJGHGHGHGHEFEFEFEFABABABAB?@?@?@?@=>=>=>=<9:9:9:9:78787878434333332121210/.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#$#     - - - -VUVUVUVUTSTSTSTSRQRQRQRQNMNMNMNMIJIJIJIJGHGHGHGHEFEFEFEFABABABAB?@?@?@?@;<;<;<;<9:9:9:9:78787878343434340/0/0/0/.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#$#     - - - -VUVUVUVUTSTSTSTSRQRQRQRQNMNMNMNMIJIJIJIJGHGHGHGHEFEFEFEFABABABAB?@?@?@?@;<;<;<;<9:9:9:9:78787656343434340/0/0/0/.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#$#     - - - -VUVUVUVUTSTSTSTSRQRQRQRQNMNMNMNMIJIJIJIJGHGHGHGHEFEFEFEDABABABAB?@?@?@?@;<;<;<;<9:9:9:9:56565656343434340/0/0/0/.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#$#      - - - -VUVUVUVUTSTSTSTSPOPOPOPONMNMNMNMIJIJIJIJGHGHGHGHCDCDCDCDABABABAB?@?@?@?@;<;<;<;<9:9:9:9:56565656343434340/0/0/0/.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#$#         - - - -VUVUVUVUTSTSTSTSPOPOPOPONMNMNMNMIJIJIJIJGHGHGHGHCDCDCDCDABABABAB?@?@?@?@;<;<;<;<9:9:9:9:56565656343434330/0/0/0/.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#$#         - - - -VUVUVUVUTSTSTSTSPOPOPOPONMNMNMNMIJIJIJIJGHGHGHGHCDCDCDCDABABABAB?@?@?@?@;<;<;<;<9:9:9:9:56565656333343430/0/0/0/.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#"!         - - - -VUVUVUVUTSTSTSTSPOPOPOPONMNMNMNMIJIJIJIJGHGHGHGHCDCDCDCDABABABAB?@?@?@?@;<;<;<;<9:9:9:9:56565656434343430/0/0/0/.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!         - - - -VUVUVUVUTSTSTSTSPOPOPOPONMNMNMNMIJIJIJIJGHGHGHGHCDCDCDCDABABABAB?@?@?@?@;<;<;<;<9:9:9:9:56565656434343430/0/0/0/.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!         - - - -VUVUVUVUTSTSTSTSPOPOPOPONMNMNMNMIJIJIJIJGHGHGHGHCDCDCDCDABABABAB?@?@?@?@;<;<;<;<9:9:9:9:56565656434343430/0/0/0/.-.-.-.-,+,+,+*)('('('('&%&%&%&%"!"!"!"!         - - - -VUVUVUVUTSTSTSTSPOPOPOPONMNMLKLKIJIJIJIJGHGHGHGHCDCDCDCDABABABAB?@?@?@?@;<;<;<;<9:9:9:9:56565656434343430/0/0/0/.-.-.-.-*)*)*)*)('('('('&%&%&%&%"!"!"!"!         - - - -VUVUVUVUTSTSTSTSPOPOPOPOLKLKKKKKIJIJIJIJGHGHGHGHCDCDCDCDABABABAB?@?@?@?@;<;<;<;<9:9:9:9:56565656433333430/0/0/0/.-.-.-.-*)*)*)*)('('('('&%&%&%&%"!"!"!"!         - - - -VUVUVUVUTSTSTSTSPOPOPOPOKLKLKLKLIJIJIJIJGHGHGHGHCDCDCDCDABABABAB?@?@?@?>;<;<;<;<9:9:9:9:56565656434343210/0/0/0/.-.-.-.-*)*)*)*)('('('('&%&%&%&%"!"!"!"!         - - VUVUVUVUTSTSTSTSPOPOPOPOKLKLKLKLIJIJIJIJGHGHGHGHCDCDCDCDABABABAB=>=>=>=>;<;<;<;<9:9:9:9:56565656212121210/0/0/0/.-.-.-.-*)*)*)*)('('('('&%&%&%&%"!"!"!"!         VUVUVUVUTSTSTSTSPOPOPOPOKLKLKLKLIJIJIJIJGHGHGHGHCDCDCDCDABABABAB=>=>=>=>;<;<;<;<9:9:9:9:56565656212121210/0/0/0/.-.-.-.-*)*)*)*)('('('('&%&%&%&%"!"!"!"!         VUVUVUVUTSTSTSTSPOPOPOPOKLKLKLKLIJIJIJIJGHGHGHGFCDCDCDCDABABABAB=>=>=>=>;<;<;<;<9:9:9:9:56565656212121210/0/0/0/.-.-.-.-*)*)*)*)('('('('&%&%&%&%"!"!"!"!         VUVUVUVURQRQRQRQPOPOPOPOKLKLKLKKIJIJIJIJEFEFEFEFCDCDCDCDABABABAB=>=>=>=>;<;<;<;<9:9:9:9:56565656212121210/0/0/0/.-.-.-.-*)*)*)*)('('('('&%&%&%&%"!"!"!"!         VUVUVUVURQRQRQRQPOPOPOPOKKKKLKLKIJIJIJIJEFEFEFEFCDCDCDCDABABABAB=>=>=>=>;<;<;<;<9:9:9:9:56565656212121210/0/0/0/.-.-.-.-*)*)*)*)('('('('&%&%&%&%"!"!"!"!         VUVUVUVURQRQRQRQPOPOPOPOLKLKLKLKIJIJIJIJEFEFEFEFCDCDCDCDABABABAB=>=>=>=>;<;<;<;<9:9:9:9:56565656212121210/0/0/0/.-.-.-.-*)*)*)*)('('('('&%&%&%$#"!"!"!"!         VUVUVUVURQRQRQRQPOPOPOPOLKLKLKLKIJIJIJIJEFEFEFEFCDCDCDCDABABABAB=>=>=>=>;<;<;<;<9:9:9:9:56565656212121210/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!"!"!"!         VUVUVUVURQRQRQRQPOPOPOPOLKLKLKLKIJIJIJIJEFEFEFEFCDCDCDCDABABABAB=>=>=>=>;<;<;<;<9:9:9:9:56565656212121210/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!"!"!"!       VUVUVUVURQRQRQRQPOPOPOPOLKLKLKLKIJIJIJIJEFEFEFEFCDCDCDCDABABABAB=>=>=>=>;<;<;<;<9:9:9:9856565656212121210/0/0/0/.-.-.-,+*)*)*)*)('('('('$#$#$#$#"!"!"!"!     VUVUVUVURQRQRQRQPOPOPOPOLKKKKKKLIJIJIJIJEFEFEFEFCDCDCDCDABABABAB=>=>=>=>;<;<;<;<7878787856565656212121210/0/0/0/,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"!     VUVUVUVURQRQRQRQPOPOPOPOKLKLKLKLIJIJIJIJEFEFEFEFCDCDCDCDABABABAB=>=>=>=>;<;<;<;<7878787856565656212121210/0/0/0/,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"!     VUVUVUVURQRQRQRQPOPOPOPOKLKLKLKLIJIJIJIJEFEFEFEFCDCDCDCDABABABA@=>=>=>=>;<;<;<;<7878787856565656212121210/0/0/0/,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"!     - -VUVUVUVURQRQRQRQPOPOPOPOKLKLKLKLIJIJIJIJEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>;<;<;<;<7878787856565656212121210/0/0/0/,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"!     - - - -AABBCCDDeddccbbaPQQRRSSTYXXWWVVU\]]^^__` - - >==<<;;:baa``__^]]^^__`` - - LLKKJJII~~}}EEFFGGHH!!""a``__^^]TUUVVWWXUTTSSRRQ`aabbccd :9933221^]]\\[[Zaabbccdd HHGGFFEE||{{zzyyIIJJKKLL##$$%%&&]\\[[ZZYXYYZZ[[\QPPOONNMdeeffggh100//..-ZYYXXWWVeeffgghhDDCCBBAAxxwwvvuuMMNNOOPP''(())** -YXXWWVVU\]]^^__` - - MLLKKJJIhiijjkkl-,,++**)VUUTTSSRiijjkkll@@??>>==ttssrrqqQQRRSSTT++,,--.. - UTTSSRRQ`aabbccd IHHGGFFElmmnnoop)((''&&%RQQPONMLmmnnoopp<<;;::99ppoonnmmUUVVWWXX//001122QPPOONNMdeeffgghEDDCCBBApqqrrsst %$$##""!KKJJIIHHqqrrsstt 88776655llkkjjiiYYZZ[[\\3399::;; - - MLLKKJJIhiijjkklA@@??>>=tuuvvwwx !!""##$!GGFFEEDDuuvvwwxx!!""##$$44332211hhggffee]]^^__``<<==>>?? IHHGGFFElmmnnoop=<<;;::9xyyzz{{|$%%&&''(CCBBAA@@yyzz{{||%%&&''((00//..--ddccbbaaaabbccdd@@AABBCCEDDCCBBApqqrrsst 98877665|}}~~())**++,??>>==<<}}~~))**++,,,,++**))``__^^]]eeffgghhDDEEFFGGA@@??>>=tuuvvwwx !!""##$54433221,--..//0 ;;::9987--..//00((''&&%%\\[[ZZYYiijjkkllHHIIJJKK=<<;;::9xyyzz{{|$%%&&''(100//..-01122334 - - 6543322111223344$$##""!!XXWWVVUUmmnnooppQQRRSSTT 98877665|}}~~())**++,-,,++**)~~}45566778100//..-~~}}55667788 TTSSRRQQqqrrssttUUVVWWXX !!""##$54433221,--..//0)((''&&%}||{{zzy899::;;< -,,++**)||{{zzyy99::;;<<PPOONNMMuuvvwwxxYYZZ[[\\$%%&&''(100//..-01122334%$$##""!yxxwwvvu<==>>??@ - - )((''&&%xxwwvvuu==>>??@@LLKKJJIIyyzz{{||]]^^__``())**++,-,,++**)~~}45566778! uttssrrq@AABBCCD %$$##""!ttssrrqqAABBCCDDHHGGFFEE}}~~aabbccii,--..//0)((''&&%}||{{zzy899::;;<qppoonnmDEEFFGGH! ppoonnmmEEFFGGHH DDCCBBAAjjkkllmm01122334%$$##""!yxxwwvvu<==>>??@mllkkjjiHIIJJKKLllkkjjiiIIJJKKLL - - @@??>>==nnooppqq45566778! uttssrrq@AABBCCDihhggffeLMMNNOOP!!"hhggffeeMMNNOOPP<<;;::99{{zzyyxxrrssttuu899::;;<qppoonnmDEEFFGGH eddccbbaPQQRRSST"##$$%%&ddccbbaaQQRRSSTT88776655wwvvuuttvvwwxxyy<==>>??@mllkkjjiHIIJJKKL - - a``__^^]TUUVVWWX&''(())* ``__^^]]UUVVWWXXiijjkkll44332211ssrrqqppzz{{@AABBCCDihhggffeLMMNNOOP ]\\[[ZZYXYYZZ[[\*++,,--. - - \\[[ZZYYYYZZ[[\\mmnnoopp00//..--oonnmmllDEEFFGGH eddccbbaPQQRRSSTYXXWWVVU\]]^^__`.//00112XXWWVVUU]]^^__`` - - qqrrsstt,,++**))kkjjiicc~}HIIJJKKL - - a``__^^]TUUVVWWXUTTSSRRQ`aabbccd23399::;TTSSRRQQaabbccdd uuvvwwxx((''&&%%bbaa``__|{{zzyyxLMMNNOOP ]\\[[ZZYXYYZZ[[\QPPOONNMdeeffggh;<<==>>?PPOONNMMeeffgghhyyzz{{||$$##""!!^^]]\\[[xwwvvuutPQQRRSSTYXXWWVVU\]]^^__` - - MLLKKJJIhiijjkkl?@@AABBC - - LLKKJJIIiijjkkll}}~~ ZZYYXXWWtssrrqqpTUUVVWWXUTTSSRRQ`aabbccd IHHGGFFElmmnnoopCDDEEFFG HHGGFFEEmmnnooppVVUUTTSSpoonnmmlXYYZZ[[\QPPOONNMdeeffgghEDDCCBBApqqrrsstGHHIIJJKDDCCBBAAqqrrsstt RRQQKKJJlkkjjiih\]]^^__` - - MLLKKJJIhiijjkklA@@??>>=tuuvvwwxKQQRRSST@@??>>==uuvvwwxx!!""##$$~~}}IIHHGGFFgfedccbb`aabbccd IHHGGFFElmmnnoop=<<;;::9xyyzz{{|TUUVVWWX<<;;::99yyzz{{||%%&&''((||{{zzyy EEDDCCBBaa``__^^deeffgghEDDCCBBApqqrrsst 98877665|}}~~XYYZZ[[\ 88776655}}~~))**++,,xxwwvvuu - - AA@@??>>]]\\[[ZZhiijjkklA@@??>>=tuuvvwwx !!""##$54433221\]]^^__`!!""##$$44332211--..//00ttssrrqq - - ==<<;;::YYXXWWVVlmmnnoop=<<;;::9xyyzz{{|$%%&&''(100//..-`aabbcci%%&&''((00//..--11223344ppoonnmm 99332211UUTTSSRRpqqrrsst 98877665|}}~~())**++,-,,++**){{zzyyxijjkkllm))**++,,,,++**))~~}}55667788llkkjjii00//..--QQPONMLKtuuvvwwx !!""##$54433221,--..//0)((''&&%xwwvvuutmnnooppq--..//00((''&&%%||{{zzyy99::;;<>??@@ddccbbaa((''&&%%GFFEEDDC|}}~~())**++,-,,++**)~~}45566778! poonnmmluvvwwxxy55667788 ttssrrqqAABBCCDD``__^^]] $$##""!!CBBAA@@?,--..//0)((''&&%}||{{zzy899::;;<lkkjjiicyzz{{99::;;<<ppoonnmmEEFFGGHH\\[[ZZYY!!""##$$?>>==<<;01122334%$$##""!yxxwwvvu<==>>??@cbbaa``_==>>??@@llkkjjiiIIJJKKLLXXWWVVUU%%&&''((;::99876~~}45566778! uttssrrq@AABBCCD_^^]]\\[~AABBCCDDhhggffeeMMNNOOPPTTSSRRQQ))**++,,54332211}||{{zzy899::;;<qppoonnmDEEFFGGH [ZZYYXXW}|{{zzyyEEFFGGHH ddccbbaaQQRRSSTTPPOONNMM--..//00 00//..--yxxwwvvu<==>>??@mllkkjjiHIIJJKKL - - WVVUUTTSxxwwvvuuIIJJKKLL - - ``__^^]]UUVVWWXXLLKKJJII11223344 - - ,,++**))uttssrrq@AABBCCDihhggffeLMMNNOOP SRRQQKKJttssrrqqMMNNOOPP\\[[ZZYYYYZZ[[\\HHGGFFEE55667788 - - ((''&&%%qppoonnmDEEFFGGH eddccbbaPQQRRSSTJIIHHGGFppoonnmmQQRRSSTTXXWWVVUU]]^^__``DDCCBBAA99::;;<<$$##""!!mllkkjjiHIIJJKKL - - a``__^^]TUUVVWWXFEEDDCCBllkkjjiiUUVVWWXXTTSSRRQQaabbccdd@@??>>====>>??@@ ihhggffeLMMNNOOP ]\\[[ZZYXYYZZ[[\BAA@@??>hgfedccbYYZZ[[\\PPOONNMMeeffgghh<<;;::9988776655}}~~))**++,,?>>==<<;}~~)**++,,-,++**))(~~}}|56677889 onnmmllkvwwxxyyz66778899ssrrqqppBBCCDDEEggffeeddNNOOPPQQ!!""##gffeeddcNOOPPQQR[ZZYYXXWZ[[\\]]^ -=<<;;::9MLLKKJJI44332211--..//00 ;::99876-..//001(''&&%%$|{{zzyyx9::;;<<=kjjiiccbz{{::;;<<==oonnmmllFFGGHHII ccbbaa``RRSSTTUU$$%%&&'' cbbaa``_RSSTTUUVWVVUUTTS^__``aab - 93322110IHHGGFFE00//..--11223344 - - 5433221112233445$##""!! xwwvvuut=>>??@@Abaa``__^>>??@@AAkkjjiihhJJKKLLMM - - __^^]]\\VVWWXXYY(())**++ - - _^^]]\\[VWWXXYYZSRRQQPPObccddeef0//..--,EDDCCBBA,,++**))~~}}5566778800//..--~~}}|56677889 tssrrqqpABBCCDDE^]]\\[[Z~}|BBCCDDEEggffeeddNNOOPPQQ[[ZZYYXXZZ[[\\]],,--..// [ZZYYXXWZ[[\\]]^ -ONNMMLLKfgghhiij,++**))(A@@??>>=((''&&%%||{{zzyy99::;;<< ,,++**))|{{zzyyx9::;;<<=poonnmmlEFFGGHHI ZYYXXWWV{{zzyyxxFFGGHHII ccbbaa``RRSSTTUUWWVVUUTT^^__``aa00112233WVVUUTTS^__``aab - KJJIIHHGjkkllmmn(''&&%%$=<<;;::9$$##""!!xxwwvvuu==>>??@@ - - ((''&&%%xwwvvuut=>>??@@AlkkjjiihIJJKKLLM - - VUUTTSSRwwvvuuttJJKKLLMM - - __^^]]\\VVWWXXYYSSRRQQPPbbccddee99::;;<<SRRQQPPObccddeefGFFEEDDCnooppqqr$##""!!98877665 ttssrrqqAABBCCDD$$##""!!tssrrqqpABBCCDDEhggffeedMNNOOPPQRQQKKJJIssrrqqppNNOOPPQQ[[ZZYYXXZZ[[\\]] OONNMMLLffgghhii==>>??@@ -ONNMMLLKfgghhiijCBBAA@@?rssttuuv !!"54433221ppoonnmmEEFFGGHH poonnmmlEFFGGHHI dccbbaa`QRRSSTTUIHHGGFFEoonnmmllRRSSTTUUWWVVUUTT^^__``aa - - KKJJIIHHjjkkllmmAABBCCDD - KJJIIHHGjkkllmmn?>>==<<;vwwxxyyz"##$$%%&100//..-llkkjjiiIIJJKKLLlkkjjiihIJJKKLLM - - `__^^]]\UVVWWXXYEDDCCBBAkkjjiihgVVWWXXYYSSRRQQPPbbccddeeGGFFEEDDnnooppqqEEFFGGHHGFFEEDDCnooppqqr;::99887z{{||}}~&''(())*-,,++**)hhggffeeMMNNOOPP!!""hggffeedMNNOOPPQ\[[ZZYYXYZZ[[\\] A@@??>>=fedccbbaZZ[[\\]] OONNMMLLffgghhiiCCBBAA@@rrssttuuIIJJKKQQCBBAA@@?rssttuuv !!"76655443~*++,,--. )((''&&% ddccbbaaQQRRSSTT##$$%%&&dccbbaa`QRRSSTTUXWWVVUUT]^^__``a - - =<<;;::9a``__^^]^^__``aa - - KKJJIIHHjjkkllmm??>>==<>==<<;vwwxxyyz"##$$%%&3221100/.//00112 - - -%$$##""! - - ``__^^]]UUVVWWXX''(())** -`__^^]]\UVVWWXXYTSSRRQQPabbccdde 93322110]\\[[ZZYbbccddeeGGFFEEDDnnooppqq;;::9988zz{{||}}VVWWXXYY;::99887z{{||}}~&''(())*/..--,,+23344556 - ! \\[[ZZYYYYZZ[[\\++,,--.. - \[[ZZYYXYZZ[[\\] POONNMMLeffgghhi0//..--,YXXWWVVUffgghhiiCCBBAA@@rrssttuu !!77665544~~ZZ[[\\]] !!"76655443~*++,,--.+**))(('~~}}||{6778899:XXWWVVUU]]^^__``//001122XWWVVUUT]^^__``a - - LKKJJIIHijjkkllm,++**))(UTTSSRRQjjkkllmm??>>==<TTSSRRQQaabbccdd3399::;;TSSRRQQPabbccdde HGGFFEEDmnnooppq(''&&%%$QPONMLKKnnooppqq;;::9988zz{{||}}&&''(())//..--,,{{bbcciijj&''(())*/..--,,+23344556#""!! wvvuutts>??@@AABPPOONNMMeeffgghh<<==>>?? POONNMMLeffgghhiDCCBBAA@qrrssttu !$##""!!JJIIHHGGrrssttuu !!77665544~~**++,,--++**))((zzyyxxwwkkllmmnn*++,,--.+**))(('~~}}||{6778899:srrqqppoBCCDDEEF!!""# - - LLKKJJIIiijjkkll@@AABBCC - - LKKJJIIHijjkkllm@??>>==onnmmllkFGGHHIIJ#$$%%&&' - - HHGGFFEEmmnnooppDDEEFFGG HGGFFEEDmnnooppq<;;::998yzz{{||}%&&''(()BBAA@@??zz{{||}}&&''(())//..--,,22334455##""!! rrqqppoossttuuvv23344556#""!! wvvuutts>??@@AABkjjiihhgJKKLLMMN'(())**+ - - DDCCBBAAqqrrssttHHIIJJKKDCCBBAA@qrrssttu !87766554}~~)**++,,->>==<<;;~~**++,,--++**))((~~}}||66778899nnmmllkkwwxxyyzz6778899:srrqqppoBCCDDEEFgffeeddcNOOPPQQR+,,--../ @@??>>==uuvvwwxxQQRRSSTT@??>>==onnmmllkFGGHHIIJ cbbaa``_RSSTTUUV/0011223<<;;::99yyzz{{||UUVVWWXX<;;::998yzz{{||}%&&''(()0//..--,12233445 - - 4332211022334455##""!! wwvvuutt>>??@@AAaa``__^^>??@@AABkjjiihhgJKKLLMMN - - _^^]]\\[VWWXXYYZ399::;;< 88776655}}~~YYZZ[[\\ !87766554}~~)**++,,-,++**))(~~}}|566778890//..--,~~}}||66778899ssrrqqppBBCCDDEE]]\\[[ZZ~}|{BCCDDEEFgffeeddcNOOPPQQR[ZZYYXXWZ[[\\]]^<==>>??@!!""##$$44332211]]^^__``!""##$$%43322110-..//001(''&&%%$|{{zzyyx9::;;<<= -,++**))({{zzyyxx::;;<<==oonnmmllFFGGHHII YYXXWWVV{zzyyxxwFGGHHIIJ cbbaa``_RSSTTUUVWVVUUTTS^__``aab@AABBCCD %%&&''((00//..--aabbccii%&&''(()0//..--,12233445$##""!! xwwvvuut=>>??@@A - (''&&%%$wwvvuutt>>??@@AAkkjjiihhJJKKLLMM - - UUTTSSRRwvvuuttsJKKLLMMN - - _^^]]\\[VWWXXYYZSRRQQPPObccddeefDEEFFGGH !!""##$))**++,,,,++**)){{zzyyxxjjkkllmm)**++,,-,++**))(~~}}|56677889 tssrrqqpABBCCDDE$##""!! ssrrqqppBBCCDDEEggffeeddNNOOPPQQQQKKJJIIsrrqqppoNOOPPQQR[ZZYYXXWZ[[\\]]^ -ONNMMLLKfgghhiijHIIJJKKQ$%%&&''(--..//00((''&&%%wwvvuuttnnooppqq-..//001(''&&%%$|{{zzyyx9::;;<<=poonnmmlEFFGGHHIoonnmmllFFGGHHII ccbbaa``RRSSTTUUHHGGFFEEonnmmllkRSSTTUUVWVVUUTTS^__``aab - KJJIIHHGjkkllmmnQRRSSTTU())**++,11223344$$##""!!ssrrqqpprrssttuu12233445$##""!! xwwvvuut=>>??@@AlkkjjiihIJJKKLLMkkjjiihhJJKKLLMM - - __^^]]\\VVWWXXYYDDCCBBAAkjjiihgfVWWXXYYZSRRQQPPObccddeefGFFEEDDCnooppqqrUVVWWXXY,--..//055667788 oonnmmllvvwwxxyy56677889 tssrrqqpABBCCDDEhggffeedMNNOOPPQ!!""#ggffeeddNNOOPPQQ[[ZZYYXXZZ[[\\]] @@??>>==edccbbaaZ[[\\]]^ -ONNMMLLKfgghhiijCBBAA@@?rssttuuvYZZ[[\\]0112233499::;;<<kkjjiicczz{{9::;;<<=poonnmmlEFFGGHHI dccbbaa`QRRSSTTU#$$%%&&'ccbbaa``RRSSTTUUWWVVUUTT^^__``aa - - <<;;::99``__^^]]^__``aab - KJJIIHHGjkkllmmn?>>==<<;vwwxxyyz]^^__``a45566778==>>??@@bbaa``__=>>??@@AlkkjjiihIJJKKLLM - - `__^^]]\UVVWWXXY'(())**+ - -__^^]]\\VVWWXXYYSSRRQQPPbbccddee33221100\\[[ZZYYbccddeefGFFEEDDCnooppqqr;::99887z{{||}}~abbcciij899::;;>??@EEFFGGHH ZZYYXXWW|{{zzyyxEFFGGHHI dccbbaa`QRRSSTTUXWWVVUUT]^^__``a/0011223WWVVUUTT^^__``aa - - KKJJIIHHjjkkllmm++**))((TTSSRRQQjkkllmmn?>>==<<;vwwxxyyz"##$$%%&3221100/||{nooppqqr@AABBCCDIIJJKKLL - - VVUUTTSSxwwvvuutIJJKKLLM - - `__^^]]\UVVWWXXYTSSRRQQPabbccdde399::;;<SSRRQQPPbbccddeeGGFFEEDDnnooppqq''&&%%$$PONMLKKJnooppqqr;::99887z{{||}}~&''(())*/..--,,+{zzyyxxwrssttuuvDEEFFGGHMMNNOOPPRRQQKKJJtssrrqqpMNNOOPPQ\[[ZZYYXYZZ[[\\] POONNMMLeffgghhi<==>>??@ OONNMMLLffgghhiiCCBBAA@@rrssttuu !!##""!!JIIHHGGFrssttuuv !!"76655443~*++,,--.+**))(('wvvuuttsvwwxxyyyHIIJJKKLQQRRSSTTIIHHGGFFpoonnmmlQRRSSTTUXWWVVUUT]^^__``a - - LKKJJIIHijjkkllm@AABBCCD - - KKJJIIHHjjkkllmm??>>==<z{{||}}~&''(())*/..--,,+23344556#""!! onnmmllkuttssrrqPQQRRSSTYYZZ[[\\AA@@??>>gfedccbbYZZ[[\\] POONNMMLeffgghhiDCCBBAA@qrrssttuHIIJJKKQCCBBAA@@rrssttuu !!77665544~~**++,,-->==<<;;:~*++,,--.+**))(('~~}}||{6778899:kjjiiccbqppoonnmTUUVVWWX]]^^__`` - - ==<<;;::aa``__^^]^^__``a - - LKKJJIIHijjkkllm@??>>==>==<baa``__^mllkkjjiXYYZZ[[\aabbccdd 99332211]]\\[[ZZabbccdde HGGFFEEDmnnooppq<;;::998yzz{{||}UVVWWXXY;;::9988zz{{||}}&&''(())//..--,,22334455 - - 3322110023344556#""!! wvvuutts>??@@AAB^]]\\[[Zihhggffe\]]^^__`eeffgghh00//..--YYXXWWVVeffgghhiDCCBBAA@qrrssttu !87766554}~~YZZ[[\\] !!77665544~~**++,,--++**))((~~}}||66778899//..--,,~~}}||{6778899:srrqqppoBCCDDEEFZYYXXWWVeddccbba`aabbccdiijjkkll,,++**))UUTTSSRRijjkkllm@??>>==onnmmllkFGGHHIIJ VUUTTSSRa``__^^]deeffgghmmnnoopp((''&&%%QQPONMLKmnnooppq<;;::998yzz{{||}%&&''(()0//..--,{abbcciij&&''(())//..--,,22334455##""!! wwvvuutt>>??@@AA ''&&%%$$wvvuutts>??@@AABkjjiihhgJKKLLMMN - - RQQKKJJI]\\[[ZZYhiijjkklqqrrsstt $$##""!!KJJIIHHGqrrssttu !87766554}~~)**++,,-,++**))({zzyyxxwjkkllmmn**++,,--++**))((~~}}||66778899ssrrqqppBBCCDDEE##""!! srrqqppoBCCDDEEFgffeeddcNOOPPQQRIHHGGFFEYXXWWVVUlmmnnoopuuvvwwxx!!""##$$GFFEEDDCuvvwwxxy!""##$$%43322110-..//001(''&&%%$wvvuuttsnooppqqr..//0011''&&%%$${{zzyyxx::;;<<==oonnmmllFFGGHHIIonnmmllkFGGHHIIJ cbbaa``_RSSTTUUVEDDCCBBAUTTSSRRQpqqrrsstyyzz{{||%%&&''((CBBAA@@?yzz{{||}%&&''(()0//..--,12233445$##""!! srrqqpporssttuuv22334455##""!! wwvvuutt>>??@@AAkkjjiihhJJKKLLMMkjjiihhgJKKLLMMN - - _^^]]\\[VWWXXYYZA@@??>>=QPPOONNMtuuvvwwxxyybdQZ|H~fZdQbtvnXAJltf`vX`JXQfpvZp˂f`vXJXQrvnXp˂r`vXnے`JXQdrtA`vXnl|Zv`fbdQZ|nvprbtlnXv`rXQJ`nvpp`JXv`fXQJ`ےvpfr˂pJltvpfdQbt~HfpہdrtfH~ˑJtAdf~HbHAfH~Qr˂p~HfpېbHAZH~fZHAbbdQZ|H~flJtArvnXAJltf`vX|ZdQfpvZp˂f`vXZHAbvnXp˂r`vXnے`JXQdrtA`vXnd|Zv`frbdQZ|nvpbtlnXv`rXQJ`nvpے`JXv`f~fXQJ`ےvpfr˂pJltvpfdQbtQJHAdrtfH~JtArdf~HbHAfH~Qr˂ppvnbHAZH~fZHAbbdQZ|H~fl|ZdQZp˂AJltf`vX|ZdQfpvZp˂f`vX`JXQXv`fp˂r`vXnے`JXQdrtA`vXnbtlrXQJ`ۉbdQZ|nvpbtlnXv`rXQJ`nvpr˂p~HfXQJ`ےvpfr˂pJltvpfJtArdbHAdrtfH~JtArdf~HbHAfH~ZHAbpvnbHAZH~fZHAbbdQZ|H~f|ZdQZp˂AJltf`vX|ZdQfpvZp˂f`vX`JXQXv`fp˂r`vXnے`JXQdrtA`vXnbtlrXQJ`ۉbdQZ|nvpbtlnXv`rbdQZ|nvpr˂p`~fpvbdQZ|vpfr˂pJltvpf|ZdQbbHAdrtfH~JtArdf~HdrtfH~ˁJXQrnXv`drtAH~fZHAbbdQZ|H~ftlJZp˂AJltf`vX|ZdQfpvAJltf`vXbtl|f~HJlt`vXnے`JXQdrtA`vXntArdrXQJ`ۉbdQZ|nr˂pbtlnXv`bdQZ|nvpZdQbtfpvbdQZ|vpfr˂pJltvpf|ZdQbbHAdrtZHAbJtArdf~HdrtfH~ˉlJtnXv`drtAH~fZHAbbdQZ|H~ftl|Zp˂AJltے`JX|ZdQfpvAJltf`vXArd|f~fpJlt`vXnے`JXQdrtA`vXnZdQbtrXQJ`ۉbdQZ|Qr˂pbtlnXv`bdQZ|nvpZdQbtvnXbdQZ|vpfr˂pJltr˂plJtAbHAdrtZHAbJtArdf~HdrtfH~ˉl|v`fdrtAH~fZHAےbdQZ|`JXQrrd|Zp˂AJltے`JX|ZdQfpvAJltf`vXZdQbt~HfpJlt`vXn`JXQrdrtA˂pZZdQbtrXQJ`ۉbdQZ|Qr˂pbtlnXv`bdQZ|nvplJtAvnXbdQZ|vpfbtl|ZdQbJltHAbےl|ZbHAdrtZHAbJtArdfHdrtfH~rd|v`ffdrtAH~fJtAdtlJbdQZ|`JXQrdQbnXZp˂AJltے`JX|ZdQfpvAJltf`vXZdQbtpvnJlt`vXn|ZdQbtArddrtA˂p`v`f~rXQJ`ۉbdQZ|Qr˂pbtlnrXQJ`bdQZ|nvpl|ZdrXQJ`bdQZ|vpftlJ|ZdQbJltJXQrfpv㒐bHAdtAZHAbJtArdےHAdrtfH~QbtlےHAZdrtAH~ftArdtlJbdQZ|˂pZHAnXv`Zp˂Jltے`JX|ZdQZp˂AJltf`vXJtArdp˂rJlt`vXn|ZdQbtArddrtAbے`f~HrXQJ`bnvpQr˂pbtlrXQJ`ۉbdQZ|nvp|ZdXQJ`ےbdQZ|vpftlJ|ZdQbJltJXQrfpv㒐bHAfHˑZHAbJtArdbHAdrtfH~QbtlbHAZdrtAH~ftArdnXv`bdQZ|˂p`JnXv`fZp˂f`vXے`JX|ZdQZp˂AJltf`vX|ZdQp˂rJlt`vXn|ZdQbf~HdrtAXQr˂~fpvrXQJ`nvpQr˂pbtlrXQJ`ۉbdQZ|nvpbtlXQJ`ےbdQZ|vpftlJfpvJltpZHAbnXvbHAfH~ˑZHAbJtArdbHAdrtfH~JtArdbHAZdrtAH~ftArdnXv`bdQZ|ے`J`f~Zp˂f`vXے`JX|ZdQZp˂AJltf`vX|ZdQp˂rJlt`vXn|ZdQbf~H`vXnXQr˂HfpvrXQJ`nvpQr˂pbtlrXQJ`ۉbdQZ|nr˂pbtl|XQJ`ےbdQZ|r˂ptlJfpvvpfp`JXQnXvbHAfH~ˑZHAbJtArdbHAdrt`JXQZdQbtbHAZdrtAZHAbtArdnXv`H~fr˂p`f~fpZp˂f`vXے`JX|ZdQZp˂AJltr˂plJtp˂rJltے`JXQ|ZdQbf~H`vXnZHAbvnXrXQJ`nvpQr˂pbnXv`rXQJ`ۉbdQZ|ZHAbArd|XQJ`ےbdQZ|r˂ptlJfpvvpfے`JXQv`fbHAfH~ˑZHAbf~HbHAdrt`JXQZdQbtbHAZdrtAZHAbtArdnXv`H~fr˂p~HfpZp˂f`vXے`JXfpvZp˂AJltr˂p`l|p˂rJltے`JXQ|ZdQbf~H`vXn`JXQrvnXrbdQZ|nvpQr˂pnXv`rXQJ`ۉbdQZ|JXQrZdQbnXXQJ`ےbdQZ|r˂ptlJfpvvpf˂pZv`f~drtfH~ˑZHAbf~HbHAdrt˂pZHv`f~bHAZdrtAZHAbtArdnXv`H~fHAbےfpvAJltf`vXے`JXfpvZp˂AJltAbے`fpvp˂rJltے`JXQ|ZdQbf~H`vXn`JXQrnXv`bdQZ|nvpQr˂pnXv`rXQJ`ۉbdQZ|JXQrnXv`XQJ`ےbdQZ|r˂ptlJfpvvpf˂p|f~HdrtfH~ˑZHAbf~HbHAdtA˂p`f~HbHAZdtAJZHAbtArdnXv`H~fZdQbtfpvAJltf`vXے`JXfpvZp˂JltJXQrfpvp˂rltbے`JXQ|ZdQbf~H`vXnlJtAnXv`bdQZ|nvpQr˂pnXv`rXQJ`bnvppZHAnXv`XQJ`ےnvpr˂ptlJfpvvpfrd|f~fpہdrtfH~ˑZHAۍf~HbHAfHbے`f~fpېbHAZfHfZHAbtArdnXv`f~HbHAZH~fHAbےvnXbHAZp~f`ZHAbf~HbHAZpdrtAJXQrZdQbtbHAZpdrtAJHAbےrd|~HfdrtAJ~f`l|ZdQf~HrtAJl~f`Aے`~HfpbHAZp˅f`Qr˂pf۝`vfpvp˂r`vXn`JXQrv`f~˂rvXn`JXQfpv˂rXJlt˂p`l|Zd˂rXQltb`JXQrZdQbtpvnltbvXnbtlfpvtbdvXnJXQrbtvnXrXQvXnۑ`JXQXnvˍnXv`bdQZ|vpf˂p`fpvbdQZ|vpfHr˂pnXv`QJ`ےbdQZ|JXQrQbnXJ`ےdQZ|˂pZlJtAXv`fdQZ|vpfHJtArdnXv`QZ|dvpfHlJtv`fJ`ےvpfHr˂ppfH~f~HdrtAH~fJXQrbnXv`drtA~f`ZHAbf~HbHAZpdrtApZHAv`f~fbHAZpdrtAJHAbےrd|HfpdrtAJ~f`|ZdQffpۙrtAJl~f`Ad|~HfpbHAZp~f`ZHAbېf۝`vfpvJlt`vXntl|f~HJltvXn`JXQfpv˂rXJltbے`pvn˂rXQltb`JXQrZdQbtvnrltbvXnbtlvnrXtbdvXnZdQbtvnXrXQvXnے`JXQXnvˍnXv`bdQZ|vpfZdQbtfpvbdQZ|vpfHr˂pnXv`QJ`ےbdQZ|JXQrXv`fJ`ےdQZ|˂pZlJtAXQJ`ےdQZ|vpfH|ZdQbQJ`ےQZ|dvpfHlJtAv`fJ`ےvpfHr˂p`pfH~f~HdrtAH~flJtAnXv`drtA~f`ZHAbf~HbHAZpdtAJlp`JX~HfbHAZpdtAJlHAbےrd|HAZpdrtAJ~f`tlJHAZp˙rtAJl~f`rd|~HfpbHAZp~f`JXQrf۝`vfpvJlt`vXnrd|f~fpJltvXn`JXQfpv˂rXtbQr˂ppvn˂rXQtbn`JXQrZdQbt˂rXQltbvXntArdrXQtbdvXnZdQbtvnXrXQvXnۉ˂pZHXnvˍnXv`bdQZ|vpfZdQbtvnXbdQZ|vpfHr˂pnXv`QJ`ےnvpZHAbXv`fJ`ےvpf˂pZlJtAJ`ےdQZ|vpfH|ZdQbJ`ےQZ|dvpfHlJtAv`fJ`ےvpfHAbے`pfH~f~HdrtAH~fl|Zv`fdrtA~f`ZHAے`f~HbHAZpfHf`ے`JX~fpvbHAZpHf`HAbےrd|bHAZpdrtAJ~f`tl|bHAZp˙rtAJl~f`rd|~HfpbHAZp~f`JXQrf۝`vfpvJlt`vXndQbt~HfpJltvXnJXQrfpv˂rXvXnQr˂pnXv`˂rXQvXn`JXQrZdQbt˂rXQltbvXnZdQbtrXQtbdvXnZdQbtvnXrbdvXnۉ˂p`ZXnvˍnXv`bdQZ|vpflJtArvnXbdQZ|vpfHbtlnXv`QJ`ےvpfH`JXQf~HJ`ےvpfH˂pZlJtAJ`ےdQZ|vpfHlJtAJ`ےQZ|dvpfHlJtAv`fQZ|dvpfHQXb㉀pfH~fHfdrtAH~fd|Zv`ffpdrtA~f`JtAd|f~HbHAZp~f`r˂pfpvbHAZp~f`HAbےrd|bHAZpdrtAJ~f`rd|bHAZp˙rtAJl~f`rd|~HfprtAJl~f`ۑpJAHrf۝`vpvnJlt`vXndQbt璝vnJltvXnZdQbtfpv˂rXvXnZHAbۅnXv`˂rXQvXn`JXQrZdQbt˂rXQltbvXnrZdQbtrXQtbdvXnrZdQbtvnXtbdvXn󙐂ˁ`ZXnvˍrXQJ`bdQZ|vpfl|ZdQrXQJ`bdQZ|vpfHlJtnXv`QJ`ےvpfH`JXQf~fpJ`ےvpfH˂pZlJtAJ`ےdQZ|˂p`l|ZJ`ےQZ|d˂pZHlJtAv`fQZ|dvpfHQXb㉀pfH~ےHAZdrtAH~fbtlHAZpdrtA~f`Ard|f~HbHAZp~f`r˂p`vnXbHAZp~f`HAbےrd|bHAZpdrtAJJXQrdQbtbHAZp˙rtAJlAbے`rd|~HfprtAJl~f`ۑp`ZQf۝`vp˂rJlt`vXnJtArd˂rXJltvXnZdQbtfpv˂rXvXnJXQrv`f˂rXQvXn`JXQrZdQbn˂rXQltb˂pZHAlJtArrXQtbdJXQrZdQbtvnXtbdvXnXb㉀ۑXnvˍXQJ`ےbdQZ|vpf|ZdQQJ`ےbdQZ|vpfHlJtnXv`QJ`ےvpfH˂pZH~HfpJ`ےvpfH˂pZXv`fJ`ےdQZ|bے`d|ZJ`ےQZ|d˂pZHlJtAv`fQZ|dvpfHpJAHrp|drbHAZdrtAH~fbtlbHAZpdrtA~f`Ard|f~HbHAZp~f`Abے`vnXbHAZp~f`HAbے~HfbHAZpdrtAJJXQrdQbtbHAZp˙rtAJlAbے`rd|~HfprtAJl~f`ˁ`ZQQtJlp˂rJlt`vXn|ZdQb˂rXJltvXnZdQbtfpv˂rvXnJXQrv`f~˂rbvXn`JXQrpvn˂rXQltb˂p`Jl|ZdQrXQtbdJXQrZdQbtvnXtbdvXnXb㉀ۑtbAdZXQJ`ےbdQZ|vpftlJQJ`ےbdQZ|vpfHlJtnXv`bdQZ|vpfH˂p`fpvdQZ|vpfH˂pZXv`fJ`ےdQZ|XQr˂bnXvJ`ےQZ|d˂pZHlJtAv`fQZ|dvpfHp`ZQXb|drbHAZdrtAH~ftArdbHAZpdrtA~f`Ard|f~HdrtA~f`JXQrbtnXv`drtAJ~f`HAbے~HfbHAZpdrtAJpZHAb`f~fpbHAZp˙rtAJlAbے`rd|HfpۙrtAJl~f`㉀ۑpJQtJlp˂rJlt`vXn|ZdQb˂rXJltvXnZdQbtfpvJltvXnl|f~HltbvXn`JXQrpvn˂rXQltbے`JvnXrXQtbdJXQrZdQbtvnrXtbdvXnAHr󙐂tbAdZXQJ`ےbdQZ|r˂ptl|QJ`ےbdQZ|r˂plJtnXv`bdQZ|vpfHZdQbtfpvdQZ|vpfH˂pZXv`fJ`ےdQZ|XQr˂v`fJ`ےQZ|d˂pZHlJtAQJ`ےQZ|dvpfHˁ`ZQXb|drbHAZdrtA`JXQrZdQbtbHAZpdrtAZHAbArd|f~HdrtA~f`lJtAnXv`fdrtAJ~f`HAbے~HfbHAZpdtAJlp`JXQ~HfpbHAZp˙tAJlAbے`rd|HAZp˙rtAJl~f`㉀ۑpQtJlp˂rJlt˂pZlJtA˂rXJlt`JXQZdQbtfpvJltvXnrd|~fpvltbvXn`JXQrpvn˂rXQtbnr˂pvnXrXQtbnJXQrZdQbt炀rXQtbdvXn`ZQXbtbAdZXQJ`ےbdQZ|HAbےrd|QJ`ےbdQZ|r˂plJtnXv`bdQZ|vpfHZdQbt瀅nXvdQZ|vpfH˂pZXv`fJ`ےvpfZHAbv`f~J`ےvpfH˂pZHlJtAJ`ےQZ|dvpfHۑpJA|drbHAZdrtA`JXQrZdQbtbHAZpdrtAZHAbArd|f~HdrtA~f`l|Zd`f~drtAJ~f`HAے`~HfbHAZpHf`ے`JXQfpvbHAZp˅f`Abے`rd|bHAZp˙rtAJl~f`Hr󙐂ˁQtJlp˂rJlt˂p`l|Z˂rXJlt`JXQZdQbtfpvJltvXnQbtlHfpvltbvXnJXQrbpvn˂rXQvXnr˂pnXv`rXQvXnہJXQrZdQbt炀rXQtbdvXn`ZQXbtbAdZXQJ`ےbdQZ|JXQrdQbnXQJ`ےbdQZ|r˂plJtnXv`bdQZ|vpfHJtArdnXvdQZ|vpfHtlJXv`fJ`ےvpfH`JXQrf~HJ`ےvpfH˂pZHlJtAJ`ےQZ|dvpfHۑp`Z|drbHAZdrtA˂pZHAv`f~bHAZpdrtAZHAbArd|fHfpdrtA~f`|Zd`ffpdrtAJ~f`tAd|~HfbHAZp~f`˂pZfpvbHAZp~f`Abے`rd|bHAZp˙rtAJl~f`QXb㉀QtJlp˂rJltbے`fpv˂rXJlt`JXQZdQbtvnJltvXnQbtlvnrltbvXnZdQbtpvn˂rXQvXnHAbےnXv`rXQvXnہJXQrZdQbt炀rXQtbdvXnے`ۑpJAHrtbAdZXQJ`ےbdQZ|JXQrnXv`QJ`ےbdQZ|r˂plJtrXQJ`bdQZ|vpfH|ZdQXQJ`ےdQZ|vpfHlJtAXv`fJ`ےvpfH`JXQrf~fpJ`ےvpfH˂pZHlJtAJ`ےQZ|dJXQr󙐂ˁ`Z|drbHAZdtAJ˂p`Jf~HbHAZpdtAJlZHAbArd|HAZpdrtA~f`btlHAZpdrtAJ~f`rd|~HfbHAZp~f`˂p`vnXbHAZp~f`Abے`rd|bHAZp˙rtAJl˂pZHQXb㉀QtJlp˂rltbXQr˂fpv˂rXtb`JXQZdQbt˂rXJltvXnJtArd˂rXQltbvXnZdQbtpvn˂rXQvXnJXQrv`f󂀉rXQvXnہJXQrZdQbnXrXQtbdAbے`XnvˍtbAdZXQJ`ےnvppZHAbnXv`fQJ`ےnvpr˂plJtQJ`ےbdQZ|vpfH|ZdQJ`ےdQZ|vpfHlJtAXv`fJ`ےvpfH˂pZHA~HfpJ`ےvpfH˂pZHv`fJ`ےQZ|dJXQrpfH~|drbHAZfHfے`J~fpvbHAZpfHf`ZHAbArd|bHAZpdrtA~f`btl|bHAZpdrtAJ~f`rd|~HfbHAZp~f`bے`vnXbHAZp~f`Abے`~HfpbHAZp˙rtAJl˂p`f۝`vQtJlp˂r`vXnXQr˂nXv˂rXvXn`JXQZdQbt˂rXJltvXnZdQbt˂rXQltbvXnZdQbtpvn˂rbvXnJXQrv`f~frbdvXnہJXQrvnXrXQtbdJXQrXnvˍtbAdZXQJ`ےvpfp`JXQ`f~QJ`ےvpfHr˂plJtQJ`ےbdQZ|vpfHlJtJ`ےdQZ|vpfHlJtAXv`fdQZ|vpfH˂p`JpvnQZ|dvpfH˂pZHv`fJ`ےQZ|dpZHApfH~|drbHAZH~fr˂pHfpvbHAZp~f`ZHAbArd|bHAZpdrtA~f`Ard|bHAZpdrtAJ~f`rd|~HfdrtAJ~f`XQrbtXv`frtAJl~f`Abے`~HfpbHAZp˙rtAJlbے`f۝`vQtJlp˂r`vXnZHAbnXv˂rXvXn`JXQZdQbt˂rXJltvXnZdQbt˂rXQltbvXnrZdQbtpvnltbvXnl|Z~HftbdvXnہJXQrvnXrXQtbdJXQrXnvˍtbAdZXQJ`ےvpfے`JXQ`f~fpQJ`ےvpfHr˂plJtQJ`ےbdQZ|r˂p`l|J`ےdQZ|˂pZlJtAXv`fdQZ|vpfHdQbtpvnQZ|dvpfH˂pZHv`fJ`ےQZ|dp`JXpfH~|drbHAZH~fr˂pvnXbHAZp~f`ZHAbArd|bHAZpdrtAJXQrZdQbtbHAZpdrtAJHAbےrd|~HfdrtAJ~f`lJtArXv`frtAJl~f`Abے`~HfpbHAZp˙tAJlQr˂pf۝`vQtJlp˂r`vXn`JXQrv`f˂rXvXn`JXQZdQb˂rXJlt˂pZHlJtA˂rXQltb`JXQrZdQbtpvnltbvXnd|Z~fpvtbdvXnہJXQrvnXrXQtbnZHAbXnvˍtbAdZXQJ`ےvpf˂pZ~HfpQJ`ےvpfHr˂pnXv`QJ`ےbdQZ|Abے`rd|J`ےdQZ|˂pZlJtAXv`fdQZ|vpfHdQbt璅nXv`QZ|dvpfH˂pZHv`fJ`ےvpfHے`JXpfH~|drQt}~~-------------------.......................... \ No newline at end of file diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv29_3.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv29_3.dat deleted file mode 100644 index 5670535c84..0000000000 --- a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv29_3.dat +++ /dev/null @@ -1,265 +0,0 @@ -{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvststststqpopopopmnmnmnmnklklklklijijijijghghghghcccccdcdbabababa`_`_`_`_^]^]^]^]\[\[\[\[XWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPO{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvststststopopopopmnmnmnmnklklklklijijijijghghghghcdcdcdcdbabababa`_`_`_`_^]^]^]^]\[\[\[\[XWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPOLKLKLKLK{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvststststopopopopmnmnmnmnklklklklijijijijghghghghcdcdcdcdbabababa`_`_`_`_^]^]^]^]\[\[\[\[XWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPOLKLKLKLK{|{|{|{{yzyzyzyzwxwxwxwxuvuvuvuvststststopopopopmnmnmnmnklklklklijijijijghghghghcdcdcdcdbabababa`_`_`_`_^]^]^]^]ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPONMLKLKLKLK{{{{|{|{yzyzyzyzwxwxwxwxuvuvuvuvststststopopopopmnmnmnmnklklklklijijijijghghghghcdcdcdcdbabababa`_`_`_`_^]^]^]^]ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQNMNMNMNMLKKKKKKL|{|{|{|{yzyzyzyzwxwxwxwxuvuvuvuvsrqrqrqropopopopmnmnmnmnklklklklijijijijghghghgfcdccccccbabababa`_`_`_`_^]^]^]^]ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQNMNMNMNMKLKLKLKL|{|{|{|{yzyzyzyzwxwxwxwxuvuvuvuvqrqrqrqropopopopmnmnmnmnklklklklijijijijefefefefdcdcdcdcbabababa`_`_`_`_^]^]^]^]ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQNMNMNMNMKLKLKLKL|{|{|{|{yzyzyzyzwxwxwxwxuvuvuvuvqrqrqrqropopopopmnmnmnmnklklklklijijijijefefefefdcdcdcdcbabababa`_`_`_`_^]^]^]^]ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQNMNMNMNMKLKLKLKL|{|{|{|{yzyzyzyzwxwxwxwxuvuvuvuvqrqrqrqropopopopmnmnmnmnklklklklijijijijefefefefdcdcdcdcbabababa`_`_`_`_\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQNMNMNMNMKLKLKLKL|{{{{{{|yzyzyzyzwxwxwxwxuvuvuvuvqrqrqrqropopopopmnmnmnmnklklklklijijijijefefefefdcdcdcdcbabababa`_`_`_`_\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQNMNMNMNMKLKLKKKK~}{|{|{|{|yzyzyzyzwxwxwxwxutstststqrqrqrqropopopopmnmnmnmnklklklklijijijijefefefefdcdcdcccbabababa`_`_`_`_\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQNMNMNMNMKKLKLKLK~}~}~}~}{|{|{|{|yzyzyzyzwxwxwxwxststststqrqrqrqropopopopmnmnmnmnklklklklijijijijefefefefcccdcdcdbabababa`_`_`_`_\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQNMNMNMNMLKLKLKLK~}~}~}~}{|{|{|{|yzyzyzyzwxwxwxwxststststqrqrqrqropopopopmnmnmnmnklklklklijijijijefefefefcdcdcdcdbabababa`_`_`_`_\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQNMNMNMNMLKLKLKLK~}~}~}~}{|{|{|{|yzyzyzyzwxwxwxwxststststqrqrqrqropopopopmnmnmnmnklklklklijijijijefefefefcdcdcdcdbabababa^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQNMNMNMNMLKLKLKLK~}~}~}~}{|{|{{{{yzyzyzyzwxwxwxwxststststqrqrqrqropopopopmnmnmnmnklklklklijijijijefefefefcdcdcdcdbabababa^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQNMNMNMNMLKLKLKLK~}~}~}~}{{|{|{|{yzyzyzyzwvuvuvuvststststqrqrqrqropopopopmnmnmnmnklklklklijijijijefefefefcdcdcdcdbabababa^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQNMNMNMNMKKKKKLKL~}~}~}~}|{|{|{|{yzyzyzyzuvuvuvuvststststqrqrqrqropopopopmnmnmnmnklklklklijijijijefefefefccccccdcbabababa^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSPOPOPOPONMNMNMNMKLKLKLKL~}~}~}~}|{|{|{|{yzyzyzyzuvuvuvuvststststqrqrqrqropopopopmnmnmnmnklklklklijijijijefefefefdcdcdcdcbabababa^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSPOPOPOPONMNMNMNMKLKLKLKL~}~}~}~}|{|{|{|{yzyzyzyzuvuvuvuvststststqrqrqrqropopopopmnmnmnmnklklklklihghghghefefefefdcdcdcdc`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSPOPOPOPONMNMNMNMKLKLKLKL~}~}~}~}|{|{|{|{yzyzyzyzuvuvuvuvststststqrqrqrqropopopopmnmnmnmnklklklklghghghghefefefefdcdcdcdc`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSPOPOPOPONMNMNMNMKLKLKLKL~}~}~}~}{{{{{|{|yxwxwxwxuvuvuvuvststststqrqrqrqropopopopmnmnmnmnklklklklghghghghefefefefdcdcdcdc`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSPOPOPOPONMNMNMNMKLKKKKKL~}~}~}~}{|{|{|{|wxwxwxwxuvuvuvuvststststqrqrqrqropopopopmnmnmnmnklklklklghghghghefefefefdcdccccc`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVURQRQRQRQPOPOPOPONMNMNMNMKLKLKLKJ~}~}~}~}{|{|{|{|wxwxwxwxuvuvuvuvststststqrqrqrqropopopopmnmnmnmnklklklklghghghghefefefefdcdcdcdc`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVURQRQRQRQPOPOPOPONMNMNMNMIJIJIJIJ~}~}~}~}{|{|{|{|wxwxwxwxuvuvuvuvststststqrqrqrqropopopopmnmnmnmnkjijijijghghghghefefefefbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVURQRQRQRQPOPOPOPONMNMNMNMIJIJIJIJ~}~}~}~}{|{|{|{|wxwxwxwxuvuvuvuvststststqrqrqrqropopopopmnmnmnmnijijijijghghghghefefefefbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVURQRQRQRQPOPOPOPONMNMNMNMIJIJIJIJ~}~}~}~}{|{|{|{ywxwxwxwxuvuvuvuvststststqrqrqrqropopopopmnmnmnmnijijijijghghghghefefefefbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVURQRQRQRQPOPOPOPONMNMNMNMIJIJIJIJ~}~}~}~}yyyyyzyzwxwxwxwxuvuvuvuvststststqrqrqrqropopopopmnmnmnmnijijijijghghghghefefefefbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMIJIJIJIJ~}~}~}~}yzyzyzyzwxwxwxwxuvuvuvuvststststqrqrqrqropopopopmnmnmnmnijijijijghghghghefefefefbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMIJIJIJIJ~}~}~}~}yzyzyzyzwxwxwxwxuvuvuvuvststststqrqrqrqropopopopmlklklklijijijijghghghghefefefefbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMIJIJIJIJ~}~}~}~}yzyzyzyzwxwxwxwxuvuvuvuvststststqrqrqrqropopopopklklklklijijijijghghghghefefefefbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWTSTSTSTSRQRQRQRQPOPOPOPONMNMLKLKIJIJIJIJ~}~}~}~}yzyzyzyzwxwxwxwxuvuvuvuvststststqrqrqrqropopopopklklklklijijijijghghghghefefefefbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWTSTSTSTSRQRQRQRQPOPOPOPOLKLKKKKKIJIJIJIJ~}~}~}~}yzyzyzyzwxwxwxwxuvuvuvuvststststqrqrqrqropopopopklklklklijijijijghghghghefefedcdbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPOKLKLKLKLIJIJIJIJ~}~}~}~}yzyzyzyzwxwxwxwxuvuvuvuvststststqrqrqrqropopopopklklklklijijijijghghghghcdcdccccbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPOKLKLKLKLIJIJIJIJ~}~}~}~}yzyzyzyzwxwxwxwxuvuvuvuvststststqrqrqrqronmnmnmnklklklklijijijijghghghghccdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPOKLKLKLKLIJIJIJIJ~}~}~}~}yzyzyzyzwxwxwxwxuvuvuvuvststststqrqrqrqrmnmnmnmnklklklklijijijijghghghghdcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPOKLKLKLKLIJIJIJIJ~}~}|{|{yzyzyzyzwxwxwxwxuvuvuvuvststststqrqrqrqrmnmnmnmnklklklklijijijijghghghghdcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPOKLKLKLKKIJIJIJIJ|{|{{{{{yzyzyzyzwxwxwxwxuvuvuvuvststststqrqrqrqrmnmnmnmnklklklklijijijijghghghghdcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[XWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPOKKKKLKLKIJIJIJIJ{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvststststqrqrqrqrmnmnmnmnklklklklijijijijghghghghdcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[XWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPOLKLKLKLKIJIJIJIJIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:7878787834343434212121210/0/0/0/.-.-.-.-*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!       - - - -IJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:7878787834343434212121210/0/0/0/.-.-.-.-*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!     - - - -IJIJIJIJGHGHGHGHEFEFEFEFABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:7878765633333343212121210/0/0/0/.-.-.-.-*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!     - - - -IJIJIJIJGHGHGHGHEFEFEFEFABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:5656565643434343212121210/0/0/0/.-.-.-.-*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!     - - - -IJIJIJIJGHGHGHGHEFEFEFEFABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:5656565643434343212121210/0/0/0/.-.-.-,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!     - - - -IJIJIJIJGHGHGHGHEFEFEFEFABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:5656565643434343212121210/0/0/0/,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!     - - - -IJIJIJIJGHGHGHGHEFEFEFEDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:5656565643434343212121210/0/0/0/,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!     - - - -IJIJIJIJGHGHGHGHCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:5656565643433333212121210/0/0/0/,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!     - - - -IJIJIJIJGHGHGHGHCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:5656565634343434212121210/0/0/0/,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!     - - - -IJIJIJIJGHGHGHGHCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:5656565634343434212121210/0/0/.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!     - - - -IJIJIJIJGHGHGHGHCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:565656563434343421212121.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!     - - IJIJIJIJGHGHGHGFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:565656563434343421212121.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!     IJIJIJIJEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:565656563434343321212121.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!      IJIJIJIJEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:565656563333434321212121.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#         IJIJIJIJEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9856565656434343432121210/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#         IJIJIJIJEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<7878787856565656434343430/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#         - -IJIJIJIHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<7878787856565656434343430/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#         - - - -GHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<7878787856565656434343430/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#"!         - - - -GHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<7878787856565656433333430/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%"!"!"!"!         - - - -GHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;:7878787856565656434343210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%"!"!"!"!         - - - -GHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>9:9:9:9:7878787856565656212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%"!"!"!"!       - - - -GHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>9:9:9:9:7878787856565656212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%"!"!"!"!     - - - -GHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>9:9:9:9:7878787856565656212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%$#"!"!"!"!     - - - -GHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>9:9:9:9:7878787856565656212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"!     - - - -GHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=<9:9:9:9:7878787856565656212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"!     - - - -GHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@;<;<;<;<9:9:9:9:7878787856565656212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"!      - - - -GHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@;<;<;<;<9:9:9:9:7878787856565656212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"!         - - - -GHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@;<;<;<;<9:9:9:9:7878787856565656212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('&%$#$#$#$#"!"!"!"!         - - - -GHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@;<;<;<;<9:9:9:9:7878787856543434212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#"!"!"!"!         - - - -GHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?>;<;<;<;<9:9:9:9:7878787834333333212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#"!"!"!"!         - - - -GHGHGHGHEFEFEFEFCDCDCDCDABABABAB=>=>=>=>;<;<;<;<9:9:9:9:7878787843434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#"!"!"!"!         - - - -GHGHGHGHEFEFEFEFCDCDCDCDABABABAB=>=>=>=>;<;<;<;<9:9:9:9:7878787843434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#"!"!"!"!         - - - -GHGHGHGHEFEFEFEFCDCDCDCDABABABAB=>=>=>=>;<;<;<;<9:9:9:9:7878787843434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)('&%&%&%&%$#$#$#$#"!"!"!"!         - - - -GHGHGHGHEFEFEFEFCDCDCDCDABABABAB=>=>=>=>;<;<;<;<9:9:9:9:7878787843434343212121210/0/0/0/.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - - -GHGHGHGHEFEFEFEFCDCDCDCDABABABA@=>=>=>=>;<;<;<;<9:9:9:9:7878787843434333212121210/0/0/0/.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - - -GHGHGHGHEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:7878787833343434212121210/0/0/0/.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - - -GHGHGHGHEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:7878787834343434212121210/0/0/0/.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - - -GHGHGHGHEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:7878787834343434212121210/0/0/0/.-.-.-.-,+,+,+*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - - -%%&&''((==<<;;::xwwvvuut45566778=<<;;::9\]]^^__`]\\[[ZZY<==>>??@!hgfedccb==>>??@@44332211eeffgghh - - ||{{zzyy TTSSRRQQEEFFGGHH~~}}))**++,,99332211tssrrqqp899::;;<98877665`aabbccd ~~}YXXWWVVU@AABBCCDbaa``__^AABBCCDD00//..--iijjkkllxxwwvvuu!!""##$$PPOONNMMIIJJKKLL ]]\\[[ZZ||{{zzyy--..//0000//..--poonnmml<==>>??@54433221deeffggh - - }||{{zzy UTTSSRRQDEEFFGGH^]]\\[[ZEEFFGGHH,,++**))mmnnooppttssrrqq%%&&''((LLKKJJIIMMNNOOPP - - YYXXWWVVxxwwvvuu11223344,,++**))lkkjjiih@AABBCCD100//..-hiijjkkl yxxwwvvu !!""##$QPPOONNMHIIJJKKL ZYYXXWWVIIJJKKLL((''&&%%qqrrssttppoonnmm))**++,,HHGGFFEEQQRRSSTTUUTTSSRRttssrrqq55667788((''&&%%gfedccbbDEEFFGGH-,,++**)lmmnnooputtssrrq$%%&&''(MLLKKJJILMMNNOOP - - VUUTTSSRMMNNOOPP$$##""!!uuvvwwxxllkkjjii--..//00DDCCBBAAUUVVWWXX QQPONMLKppoonnmm99::;;<<$$##""!!aa``__^^HIIJJKKL)((''&&%pqqrrsstqppoonnm())**++,IHHGGFFEPQQRRSSTRQQPONMLQQRRSSTT yyzz{{|| - - hhggffee11223344@@??>>==YYZZ[[\\ - - KJJIIHHGllkkjjii==>>??@@]]\\[[ZZLMMNNOOP%$$##""!tuuvvwwxmllkkjji,--..//0EDDCCBBATUUVVWWX KKJJIIHHUUVVWWXX}}~~ ddccbbaa55667788<<;;::99]]^^__``GFFEEDDChhggffeeAABBCCDDYYXXWWVVPQQRRSST! xyyzz{{| - - ihhggffe01122334A@@??>>=XYYZZ[[\ - - GGFFEEDDYYZZ[[\\``__^^]]99::;;<<88776655aabbccddCBBAA@@?ddccbbaaEEFFGGHHUUTTSSRRTUUVVWWX|}}~~ eddccbba45566778=<<;;::9\]]^^__` CCBBAA@@]]^^__``\\[[ZZYY==>>??@@44332211eeffgghh?>>==<<;``__^^]]IIJJKKLL QQPONMLKXYYZZ[[\a``__^^]899::;;<98877665`aabbccd??>>==<>??@54433221deeffggh;;::9987eeffgghh - - ||{{zzyy TTSSRRQQEEFFGGHH,,++**))mmnnoopp##$$%%&&54332211XXWWVVUUQQRRSSTT - - GFFEEDDC`aabbccd ~~}YXXWWVVU@AABBCCD100//..-hiijjkkl!!"65433221iijjkkllxxwwvvuu!!""##$$PPOONNMMIIJJKKLL((''&&%%qqrrsstt''(())**00//..--TTSSRRQQUUVVWWXXCBBAA@@?deeffggh - - }||{{zzy UTTSSRRQDEEFFGGH-,,++**)lmmnnoop"##$$%%&100//..-mmnnooppttssrrqq%%&&''((LLKKJJIIMMNNOOPP$$##""!!uuvvwwxx++,,--..,,++**))PPOONNMMYYZZ[[\\?>>==<<;hiijjkkl yxxwwvvu !!""##$QPPOONNMHIIJJKKL)((''&&%pqqrrsst&''(())*-,,++**)qqrrssttppoonnmm))**++,,HHGGFFEEQQRRSSTT yyzz{{||//001122((''&&%%LLKKJJII]]^^__``;::99876lmmnnooputtssrrq$%%&&''(MLLKKJJILMMNNOOP%$$##""!tuuvvwwx*++,,--.)((''&&%uuvvwwxxllkkjjii--..//00DDCCBBAAUUVVWWXX}}~~3399::;;$$##""!!HHGGFFEEaabbccdd!!""54332211pqqrrsstqppoonnm())**++,IHHGGFFEPQQRRSST! xyyzz{{|.//00112%$$##""!yyzz{{|| - - hhggffee11223344@@??>>==YYZZ[[\\<<==>>?? DDCCBBAAeeffgghh##$$%%&&00//..--tuuvvwwxmllkkjji,--..//0EDDCCBBATUUVVWWX|}}~~23399::;! }}~~ ddccbbaa55667788<<;;::99]]^^__``@@AABBCC@@??>>==iijjkkll''(())**,,++**))xyyzz{{| - - ihhggffe01122334A@@??>>=XYYZZ[[\;<<==>>?``__^^]]99::;;<<88776655aabbccdd {{zzyyxxDDEEFFGG<<;;::99mmnnoopp++,,--..((''&&%%|}}~~ eddccbba45566778=<<;;::9\]]^^__`?@@AABBC\\[[ZZYY==>>??@@44332211eeffgghh - - wwvvuuttHHIIJJKK88776655qqrrsstt//001122$$##""!!a``__^^]899::;;<98877665`aabbccd {{zzyyxCDDEEFFG~~}}XXWWVVUUAABBCCDD00//..--iijjkkllssrrqqppQQRRSSTT -44332211uuvvwwxx3399::;; ]\\[[ZZY<==>>??@54433221deeffggh - - xwwvvuutGHHIIJJK ||{{zzyy TTSSRRQQEEFFGGHH,,++**))mmnnooppoonnmmllUUVVWWXX - 00//..--yyzz{{||<<==>>??~~}YXXWWVVU@AABBCCD100//..-hiijjkkl tssrrqqpKQQRRSST - - xxwwvvuu!!""##$$PPOONNMMIIJJKKLL((''&&%%qqrrssttkkjjiiccYYZZ[[\\,,++**))}}~~@@AABBCC}||{{zzy UTTSSRRQDEEFFGGH-,,++**)lmmnnooppoonnmmlTUUVVWWXttssrrqq%%&&''((LLKKJJIIMMNNOOPP$$##""!!uuvvwwxxbbaa``__]]^^__``((''&&%%DDEEFFGGyxxwwvvu !!""##$QPPOONNMHIIJJKKL)((''&&%pqqrrsstlkkjjiicXYYZZ[[\ppoonnmm))**++,,HHGGFFEEQQRRSSTT yyzz{{|| - - ^^]]\\[[aabbccii $$##""!!HHIIJJKK -uttssrrq$%%&&''(MLLKKJJILMMNNOOP%$$##""!tuuvvwwxcbbaa``_\]]^^__`llkkjjii--..//00DDCCBBAAUUVVWWXX}}~~ ZZYYXXWWjjkkllmm - - {{zzyyxxQQRRSSTT - qppoonnm())**++,IHHGGFFEPQQRRSST! xyyzz{{| - - _^^]]\\[`aabbcci - - hhggffee11223344@@??>>==YYZZ[[\\VVUUTTSSnnooppqq wwvvuuttUUVVWWXXmllkkjji,--..//0EDDCCBBATUUVVWWX|}}~~ [ZZYYXXWijjkkllm ddccbbaa55667788<<;;::99]]^^__``RRQQKKJJrrssttuussrrqqppYYZZ[[\\ - - ihhggffe01122334A@@??>>=XYYZZ[[\WVVUUTTSmnnooppq``__^^]]99::;;<<88776655aabbccdd ~~}}IIHHGGFFvvwwxxyyoonnmmll]]^^__`` eddccbba45566778=<<;;::9\]]^^__`SRRQQKKJqrrssttu\\[[ZZYY==>>??@@44332211eeffgghh - - ||{{zzyy EEDDCCBBzz{{ kkjjiiccaabbcciia``__^^]899::;;<98877665`aabbccd ~~}JIIHHGGFuvvwwxxyXXWWVVUUAABBCCDD00//..--iijjkkllxxwwvvuu!!""##$$AA@@??>> ! - - bbaa``__jjkkllmm]\\[[ZZY<==>>??@54433221deeffggh - - }||{{zzy FEEDDCCByzz{{ TTSSRRQQEEFFGGHH,,++**))mmnnooppttssrrqq%%&&''((==<<;;::~}!""##$$% - - ^^]]\\[[nnooppqqYXXWWVVU@AABBCCD100//..-hiijjkkl yxxwwvvu !!""##$BAA@@??>!!""##$$PPOONNMMIIJJKKLL((''&&%%qqrrssttppoonnmm))**++,,99332211|{{zzyyx%&&''(() ZZYYXXWWrrssttuu UTTSSRRQDEEFFGGH-,,++**)lmmnnooputtssrrq$%%&&''(>==<<;;:~%%&&''((LLKKJJIIMMNNOOPP$$##""!!uuvvwwxxllkkjjii--..//0000//..--xwwvvuut)**++,,-VVUUTTSSvvwwxxyy !!""##$QPPOONNMHIIJJKKL)((''&&%pqqrrsstqppoonnm())**++,:9933221}|{{zzyy))**++,,HHGGFFEEQQRRSSTT yyzz{{|| - - hhggffee11223344,,++**))tssrrqqp-..//001RRQQKKJJzz{{$%%&&''(MLLKKJJILMMNNOOP%$$##""!tuuvvwwxmllkkjji,--..//0100//..-xxwwvvuu--..//00DDCCBBAAUUVVWWXX}}~~ ddccbbaa55667788((''&&%%poonnmml12233445IIHHGGFF())**++,IHHGGFFEPQQRRSST! xyyzz{{| - - ihhggffe01122334-,,++**)ttssrrqq11223344@@??>>==YYZZ[[\\``__^^]]99::;;<<$$##""!!lkkjjiih56677889 EEDDCCBB~},--..//0EDDCCBBATUUVVWWX|}}~~ eddccbba45566778)((''&&%ppoonnmm55667788<<;;::99]]^^__``\\[[ZZYY==>>??@@gfedccbb9::;;<<=!!""##$$AA@@??>>|{{zzyyx01122334A@@??>>=XYYZZ[[\a``__^^]899::;;<%$$##""!llkkjjii99::;;<<88776655aabbccdd ~~}}XXWWVVUUAABBCCDDaa``__^^=>>??@@AABBCCDDE0//..--,ijjkkllmxwwvvuut!""##$$%POONNMMLIJJKKLLM YXXWWVVUJJKKLLMM''&&%%$$rrssttuuoonnmmll**++,,--GGFFEEDDRRSSTTUUPONMLKKJRSSTTUUVz{{||}}~ - gffeeddc23344556?>>==<<;Z[[\\]]^100//..-EFFGGHHI,++**))(mnnooppqtssrrqqp%&&''(()LKKJJIIHMNNOOPPQ - - UTTSSRRQNNOOPPQQ##""!! vvwwxxyy kkjjiihh..//0011CCBBAA@@VVWWXXYY - -JIIHHGGFVWWXXYYZ~cbbaa``_6778899:;::99887^__``aab!!""#-,,++**)IJJKKLLM(''&&%%$qrrssttupoonnmml)**++,,-HGGFFEEDQRRSSTTUQPONMLKKRRSSTTUUzz{{||}} - - ggffeedd22334455??>>==<76655443bccddeef#$$%%&&')((''&&%MNNOOPPQ$##""!! uvvwwxxy lkkjjiih-..//001DCCBBAA@UVVWWXXY -JJIIHHGGVVWWXXYY~~ccbbaa``66778899;;::9988^^__``aaBAA@@??>^__``aab[ZZYYXXW>??@@AAB3221100/fgghhiij'(())**+%$$##""!QRRSSTTU yzz{{||} - - hggffeed12233445@??>>====<<;;:bccddeef ~~}}||{WVVUUTTSBCCDDEEF/..--,,+jkkllmmn+,,--../! UVVWWXXY}~~ dccbbaa`56677889<;;::998]^^__``aBBAA@@??^^__``aa[[ZZYYXX>>??@@AA33221100ffgghhii:9987654fgghhiij - - {zzyyxxw !!"SRRQQPPOFGGHHIIJ+**))(('nooppqqr/0011223YZZ[[\\]`__^^]]\9::;;<<=87766554abbccdde>>==<<;;bbccddee ~~}}||WWVVUUTTBBCCDDEE//..--,,jjkkllmm!!""##33221100jkkllmmnwvvuutts"##$$%%&ONNMMLLKJKKLLMMN'&&%%$$#rssttuuv399::;;<]^^__``a\[[ZZYYX=>>??@@A43322110effgghhi::998765ffgghhii - - {{zzyyxx !!SSRRQQPPFFGGHHII++**))((nnooppqq$$%%&&''//..--,,nooppqqrsrrqqppo&''(())*KJJIIHHGNOOPPQQR#""!! vwwxxyyz<==>>??@abbccdde ~~}}|XWWVVUUTABBCCDDE0//..--,ijjkkllm!!""#43322110jjkkllmmwwvvuutt""##$$%%OONNMMLLJJKKLLMM''&&%%$$rrssttuu(())**++++**))((rssttuuvonnmmllk*++,,--.GFFEEDDCRSSTTUUVz{{||}}~@AABBCCD effgghhi - - |{{zzyyx !TSSRRQQPEFFGGHHI,++**))(mnnooppq#$$%%&&'0//..--,nnooppqqssrrqqpp&&''(())KKJJIIHHNNOOPPQQ##""!! vvwwxxyy,,--..//''&&%%$$vwwxxyyz -kjjiihhg.//00112CBBAA@@?VWWXXYYZ~DEEFFGGH - - ijjkkllmxwwvvuut!""##$$%POONNMMLIJJKKLLM(''&&%%$qrrssttu'(())**+,++**))(rrssttuuoonnmmll**++,,--GGFFEEDDRRSSTTUUzz{{||}}00112233##""!! z{{||}}~ - gffeeddc23344556?>>==<<;Z[[\\]]^||{HIIJJKKQ - - mnnooppqtssrrqqp%&&''(()LKKJJIIHMNNOOPPQ$##""!! uvvwwxxy+,,--../(''&&%%$vvwwxxyy kkjjiihh..//0011CCBBAA@@VVWWXXYY~~99::;;<<~cbbaa``_6778899:;::99887^__``aab{zzyyxxwQRRSSTTU qrrssttupoonnmml)**++,,-HGGFFEEDQRRSSTTU yzz{{||}/0011223$##""!! zz{{||}} - - ggffeedd22334455??>>==<>??@@_^^]]\\[:;;<<==>76655443bccddeef wvvuuttsUVVWWXXYuvvwwxxy lkkjjiih-..//001DCCBBAA@UVVWWXXY}~~399::;;<~~ccbbaa``66778899;;::9988^^__``aa{{AABBCCDD[ZZYYXXW>??@@AAB3221100/fgghhiij - - srrqqppoYZZ[[\\]yzz{{||} - - hggffeed12233445@??>>==>??@__^^]]\\::;;<<==77665544bbccddee zzyyxxwwEEFFGGHH ~~}}||{WVVUUTTSBCCDDEEF/..--,,+jkkllmmnonnmmllk]^^__``a}~~ dccbbaa`56677889<;;::998]^^__``a{@AABBCCD[[ZZYYXX>>??@@AA33221100ffgghhii - - vvuuttssIIJJKKQQ - - {zzyyxxw !!"SRRQQPPOFGGHHIIJ+**))(('nooppqqrkjjiiccbabbcciij `__^^]]\9::;;<<=87766554abbccdde {zzyyxxwDEEFFGGH~~}}||WWVVUUTTBBCCDDEE//..--,,jjkkllmmrrqqppooRRSSTTUU wvvuutts"##$$%%&ONNMMLLKJKKLLMMN'&&%%$$#rssttuuvbaa``__^jkkllmmn !!""##$\[[ZZYYX=>>??@@A43322110effgghhi - - wvvuuttsHIIJJKKQ - -{{zzyyxx !!SSRRQQPPFFGGHHII++**))((nnooppqqnnmmllkkVVWWXXYYsrrqqppo&''(())*KJJIIHHGNOOPPQQR#""!! vwwxxyyz -^]]\\[[Znooppqqr$%%&&''(~~}}|XWWVVUUTABBCCDDE0//..--,ijjkkllmsrrqqppoQRRSSTTU wwvvuutt""##$$%%OONNMMLLJJKKLLMM''&&%%$$rrssttuujjiiccbbZZ[[\\]]onnmmllk*++,,--.GFFEEDDCRSSTTUUVz{{||}}~ - ZYYXXWWVrssttuuv())**++,|{{zzyyx !TSSRRQQPEFFGGHHI,++**))(mnnooppqonnmmllkUVVWWXXYssrrqqpp&&''(())KKJJIIHHNNOOPPQQ##""!! vvwwxxyy aa``__^^^^__``aa -kjjiihhg.//00112CBBAA@@?VWWXXYYZ~VUUTTSSRvwwxxyyy,--..//0xwwvvuut!""##$$%POONNMMLIJJKKLLM(''&&%%$qrrssttukjjiiccbYZZ[[\\]oonnmmll**++,,--GGFFEEDDRRSSTTUUzz{{||}} - - ]]\\[[ZZbbcciijj - gffeeddc23344556?>>==<<;Z[[\\]]^RQQKKJJIyxxwwvvu01122334tssrrqqp%&&''(()LKKJJIIHMNNOOPPQ$##""!! uvvwwxxy baa``__^]^^__``a kkjjiihh..//0011CCBBAA@@VVWWXXYY~~YYXXWWVVkkllmmnncbbaa``_6778899:;::99887^__``aabIHHGGFFEuttssrrq45566778poonnmml)**++,,-HGGFFEEDQRRSSTTU yzz{{||} - - ^]]\\[[Zabbcciij - - ggffeedd22334455??>>==<76655443bccddeef ~~}}||{EDDCCBBAqppoonnm899::;;??@@AAB3221100/fgghhiij - - {zzyyxxw !!"A@@??>>=mllkkjji<==>>??@hggffeed12233445@??>>==>??@@AA33221100ffgghhii - - {{zzyyxx !!DDCCBBAA{{ !!"SRRQQPPOFGGHHIIJ+**))(('nooppqqrsrrqqppo&''(())*93322110eddccbbaDEEFFGGH`__^^]]\9::;;<<=87766554abbccdde ~~}}|IHHGGFFEvwwxxyyzWWVVUUTTBBCCDDEE//..--,,jjkkllmmwwvvuutt""##$$%%@@??>>=="##$$%%&ONNMMLLKJKKLLMMN'&&%%$$#rssttuuvonnmmllk*++,,--.0//..--,a``__^^]HIIJJKKL\[[ZZYYX=>>??@@A43322110effgghhi - - |{{zzyyx !EDDCCBBAz{{ !!SSRRQQPPFFGGHHII++**))((nnooppqqssrrqqpp&&''(())<<;;::99~}|{&''(())*KJJIIHHGNOOPPQQR#""!! vwwxxyyz -kjjiihhg.//00112,++**))(]\\[[ZZYLMMNNOOPXWWVVUUTABBCCDDE0//..--,ijjkkllmxwwvvuut!""##$$%A@@??>>=""##$$%%OONNMMLLJJKKLLMM''&&%%$$rrssttuuoonnmmll**++,,--33221100{zzyyxxw*++,,--.GFFEEDDCRSSTTUUVz{{||}}~ - gffeeddc23344556(''&&%%$YXXWWVVUPQQRRSSTTSSRRQQPEFFGGHHI,++**))(mnnooppqtssrrqqp%&&''(()=<<;;::9~}|&&''(())KKJJIIHHNNOOPPQQ##""!! vvwwxxyy kkjjiihh..//0011//..--,,wvvuutts.//00112CBBAA@@?VWWXXYYZ~cbbaa``_6778899:$##""!!UTTSSRRQTUUVVWWXPOONNMMLIJJKKLLM(''&&%%$qrrssttupoonnmml)**++,,-93322110{{zzyyxx**++,,--GGFFEEDDRRSSTTUUzz{{||}} - - ggffeedd22334455++**))((srrqqppo23344556?>>==<<;Z[[\\]]^_^^]]\\[:;;<<==>QPPOONNMXYYZZ[[\LKKJJIIHMNNOOPPQ$##""!! uvvwwxxy lkkjjiih-..//0010//..--,wwvvuutt..//0011CCBBAA@@VVWWXXYY~~ccbbaa``66778899''&&%%$$onnmmllk6778899:;::99887^__``aab[ZZYYXXW>??@@AABMLLKKJJI\]]^^__`HGGFFEEDQRRSSTTU yzz{{||} - - hggffeed12233445,++**))(ssrrqqpp22334455??>>==<76655443bccddeef ~~}}||{WVVUUTTSBCCDDEEFIHHGGFFE`aabbccdDCCBBAA@UVVWWXXY}~~ dccbbaa`56677889(''&&%%$oonnmmll66778899;;::9988^^__``aa[[ZZYYXX>>??@@AAedccbbaa>??@@AAB3221100/fgghhiij - - {zzyyxxw !!"SRRQQPPOFGGHHIIJ EDDCCBBAdeeffggh@??>>==>=hiijjkkl<;;::998]^^__``a\[[ZZYYX=>>??@@Afedccbba>>??@@AA33221100ffgghhii - - {{zzyyxx !!SSRRQQPPFFGGHHII\\[[ZZYYFGGHHIIJ+**))(('nooppqqrsrrqqppo&''(())*KJJIIHHGNOOPPQQR - =<<;;::9lmmnnoop87766554abbccdde ~~}}|XWWVVUUTABBCCDDEa``__^^]BBCCDDEE//..--,,jjkkllmmwwvvuutt""##$$%%OONNMMLLJJKKLLMM XXWWVVUUJKKLLMMN'&&%%$$#rssttuuvonnmmllk*++,,--.GFFEEDDCRSSTTUUV98877665pqqrrsst43322110effgghhi - - |{{zzyyx !TSSRRQQPEFFGGHHI]\\[[ZZYFFGGHHII++**))((nnooppqqssrrqqpp&&''(())KKJJIIHHNNOOPPQQ - - TTSSRRQQNOOPPQQR#""!! vwwxxyyz -kjjiihhg.//00112CBBAA@@?VWWXXYYZ54433221tuuvvwwxxyybdQZ|vpfXQr˂nXv`˒bHAbdQZ|f`vXZHAbbnXv`Zp˂drtnvp`JXQf~fpXQJ`ےJltH~fr˂pfpvbHAZbdQZ|`vXnHAbےdrtAH~fp`JXQf~HZp˂drtnvpے`JXf~HrXQJ`AJltfH~r˂pvnXbHAZbdQZ|`vXnZHAےnXv`p˂rdrtAvpf`JXQr`f~Jlt`vXnr˂pfpvrXQJ`AJltfH~Qr˂pfpvbHAbdQZ|f`vXZHAbv`fp˂rdrtAvpf`JXQrf~HXQJ`ےJltH~f˂p`HfpvbdQZ|vpfZHAbnXv`fbHAbdQZ|f`vXZHAۅnXv`Zp˂drtnvp`JXQ~HfpXQJ`ےJltH~fbtlfpvbHAZbdQZ|`vXnJXQrbnXvdrtAH~fے`JXQ~fpvZp˂drtnvp`JXQf~HrXQJ`AJltfH~r˂p`vnXbHAZbdQZ|`vXnJtAdnXv`p˂rdrtAvpftl|`f~fpJlt`vXnr˂pnXvrXQJ`AJltfH~rbtlfpvbHAbdQZ|f`vXJXQrv`f~fp˂rdrtAvpf|ZdQbf~HXQJ`ےJltH~fZdQbtvnXbdQZ|vpf`JXQr`f~bHAbdQZ|f`vXJtAdnXv`Zp˂drtnvpbtl|pvnXQJ`ےJltH~ftlJfpvbHAZbdQZ|`vXnlJtAv`fdrtAH~f˂pZHfpvZp˂drtnvp|ZdQf~HrXQJ`AJltfH~ˁZdQbtXv`fbHAZbdQZ|`vXntArdnXv`p˂rdrtAvpfrd|~HfpJlt`vXnHAbےnXvrXQJ`AJltfH~btlfpvbHAbdQZ|f`vXlJt~Hfp˂rdrtAr˂p|ZdQbf~HXQJ`ےJltH~fZdQbtvnXbdQZ|vpf`JXQr`f~fpbHAbdQZ|f`vXJtArdnXv`Zp˂drtnvpArd|pvnXQJ`ےJltZHAbtlJfpvbHAZbdQZ|`vXnl|Zv`f~drtAH~f˂p|vnXZp˂drtnr˂p|ZdQf~HrXQJ`AJltfH~ˁZdQbtXv`fbHAZbdQZ|ے`JXQtArdnXv`p˂rdrtAvpfdQbt璅fpvJlt`vXnZdQbtv`frXQJ`AJltZHAbbtlfpvbHAbdQZ|f`vXl|~fpvp˂rdtAJr˂p|ZdQbf~HXQJ`ےJltH~flJtArnXv`bdQZ|vpflJtA~HfpbHAbdQZ|ے`JXJtArdnXv`Zp˂drtnvpZdQbtnXv`XQJ`ےltbZHAbtlJfpvbHAZbdQZ|`vXnd|Zf~HdrtAH~frd|vnXZp˂dtAQr˂p|ZdQf~HrXQJ`AJltfH~˒lJtAf~HbHAZnvpے`JXQtArdnXv`p˂rdrtAvpfdQbtfpvJlt`vXnZdQbtv`f~rXQJ`JltZHAbbtlfpvbHAbdQZ|f`vXrd|fpvp˂rfHfr˂p|ZdQbf~HXQJ`ےJltH~fl|ZdQnXv`bdQZ|vpfl|ZfpvbHAbnvpے`JXJtArdnXv`Zp˂drtnvpZdQbtnXv`XQJ`ے`vXnZHAbtlJfpvbHAZbdQZ|`vXnbtlf~fpdrtAH~fdQbtnXv`Zp˂fHQr˂p|ZdQf~HrXQJ`AJltfH~˒l|Zdf~fpbHAZvpfے`JXQtArdnXv`p˂rdrtAr˂pJtArdvnXJlt`vXnlJtArf~HrXQJ`f`vXZHAbbtlfpvbHAbdQZ|f`vXQbtlvnXp˂rH~fr˂p|ZdQbf~HXQJ`ےJlt`JXQr|ZdQv`fbdQZ|vpfd|ZfpvbHAnvpے`JXJtArdnXv`Zp˂drtnr˂pJtArdv`fbdQZ|`vXnZHAbtlJfpvbHAZbdQZ|˂pZbtl~HfpdrtAH~fdQbtnXv`Zp˂fH~Qr˂p|ZdQf~HrXQJ`AJlt`JXQ|Zd~HfpdrtAvpfے`JXQtArdnXv`p˂rdtAJHAbے|ZdQbvnXJlt`vXnl|ZdQf~fprbdQZ|f`vXZHAbbtlfpvbHAbdQZ|r˂pQbtlvnXJltH~fr˂p|ZdQbf~HXQJ`ےltb`JXQrtlJv`ffpbdQZ|vpfbtlvnXdrtnvpے`JXJtArdnXv`Zp˂dtAZHAbۑ|ZdQv`ffbdQZ|`vXnZHAbtlJfpvbHAZnvp˂p`tArdvndrtAH~fJtArdv`fAJltfH~Qr˂p|ZdQf~HrXQJ`Jlt`JXQbtlpvndrtAvpfے`JXQtArdnXv`p˂rfHfJXQr|ZdQbrXQJ`Jlt`vXn|ZdQ~HfpۉbdQZ|f`vXZHAbbtlfpvbHAbnvpr˂p`JtArdrXQJ`JltH~fr˂p|ZdQbf~HXQJ`ے`vXn˂pZHAtl|HAZpbdQZ|r˂pbtlvnXdrtnvpے`JXJtArdnXv`Zp˂fHˁJXQr|ZdQےHAZbdQZ|`vXnZHAbtlJfpvbHAZvpfbے`ZdQbt˂rXdrtA`JXQr|ZdQbv`frAJltfH~Qr˂p|ZdQf~HrXQJ`f`vX˂pZHbtl|p˂rdrtAvpfے`JXQtArdnXv`p˂rH~fJXQrlJtAQJ`ےJlt˂pZtlJQJHAbdQZ|f`vXZHAbbtlfpvbHAnvpAbے`ZdQbtXQJ`ےJltH~fr˂p|ZdQbf~HbdQZ|`vXn˂p`Jrd|bHAZpbdQZ|HAbےtArdZp˂drtnvpے`JXJtArdnXv`Zp˂fH~ˁJXQrlJtbHAZbdQZ|`vXnZHAbtlJfpvdrtAvpfXQr˂ZdQbt˂rXdrtA`JXQr|ZdQbrXQJ`AJltfH~Qr˂p|ZdQf~HrbdQZ|f`vX˂p`Ard|p˂rdrtAvpfے`JXQtArdnXv`JltH~fpZHAbl|ZQJ`ےJlt˂p`tl|bHAbdQZ|f`vXZHAbbtlfpvdrtnvpJXQrˁZdQbtXQJ`ےJltH~fr˂p|ZdQbfHfbdQZ|`vXnے`JdQbnXbHAZpbdQZ|JXQrZdQbtZp˂drtnvpے`JXJtArdnXv`AJltfH~˂pZHAl|琙bHAZbdQZ|`vXnZHAbtlJpvndrtAvpfXQr˂v`f~˂rX`vXn˂pZHAlJtArXQJ`AJltfH~Qr˂p|ZdQfHbdQZ|f`vXbے`ZdQbnXp˂rdrtAvpfے`JXQtArdrXQJ`JltH~fp`JXQfpvQJ`ےvpfbے`rd|bHAbdQZ|f`vXZHAbbtlfpvdrtnvpJXQr˕v`f~XQJ`ےJltH~fr˂p|ZdQbےHAZbdQZ|`vXnr˂pnXv`˙bHAZpH~fJXQrZdQbtZp˂drtnvpے`JXJtArdnrXQJ`AJltfH~˂p`JXfpvbHAZbdQZ|`vXnZHAbtlJp˂rdrtAvpfZHAbf~H˂rX`vXn˂p`Jl|ZrXQJ`AJltfH~Qr˂p|ZdQےHAbdQZ|f`vXQr˂pnXv`p˂rdrtAvpfے`JXQtArdXQJ`ےJltH~fے`JXQfpvQJ`ےvpfXQr˂dQbnXbHAbdQZ|f`vXZHAbbtlZp˂drtnvpZHAbf~HXQJ`ےJltH~fr˂p|ZdQbbHAZbdQZ|`vXnr˂pnXv`fbHAZpH~fpZHAbv`f~Zp˂drtnvpے`JXJtArdrXQJ`AJltfH~˙ے`JXfpvbHAZbdQZ|`vXnZHAbnXv`p˂rdrtAvpf`JXQr~fpv˂rX`vXnے`JfpvrXQJ`AJltfH~Qr˂p|ZdQbHAbdQZ|f`vXQr˂pnXv`p˂rdrtAvpfے`JXQf~HXQJ`ےJltH~f˂pZnXvQJ`ےbHAZpbdQZ|vXnZHAے`nXv`ˑ˂rXdrtAvpfHJXQrfpvJ`ےltb~f`tlJpvnbHAZpdQZ|vXnXQrbtf~fpۂrXQrtAJlvpfHZdQbt~HfpJ`ےtbd~f`QXb㉀Xnvˍ˂rXdrtAvpfHJXQrf~HQJ`ےJlt~f`˂p`nXv`bHAZpdQZ|vXntAd|Xv`f˂rXQdrtAJvpfHl|ZvnXJ`ےtbd~f`lJtAvnXbHAZpQZ|dvXnۑp`ZQpfH~QJ`ےJlt~f`btlfpvbHAZpbdQZ|vXnJXQrbtf~fp˂rXQdrtAJvpfHZdQbt~HfJ`ےltb~f`dQbtv`fbHAZpQZ|dvXnrrd|v`frXQrtAJlvpfHXb㉀ۑf۝`vbHAZpbdQZ|vXnJtAd|nXv`ˑ˂rXdrtAvpfHl|vnXJ`ےltb~f`lJtApvnbHAZpdQZ|vXnlJtAr~HfpۂrXQrtAJl˂pZHZdQbt~HfpJ`ےtbd~f`pJAHrXnvˍ˂rXdrtAvpfHZdQbtf~HQJ`ےJlt~f`ZdQbtv`fbHAZpdQZ|vXnrrd|Xv`f˂rXQdrtAJvpfHd|ZvnXJ`ےtbdAbے`lJtAvnXbHAZpQZ|dvXnېˁ`ZQpfH~QJ`ےJlt~f`lJtfpvbHAZpbdQZ|vXnlJtA~Hfp˂rXQdrtAJ˂pZZdQbt~HfJ`ےltb~f`dQbtv`f~fbHAZpQZ|dJXQrrd|v`frXQrtAJlvpfHXb㉀ۑf۝`vbHAZpbdQZ|vXnArd|nXv`ˑ˂rXdrtAvpfHrd|vnXJ`ےltbHAbےlJtApvnbHAZpdQZ|vXnl|ZdQpvnrXQtAJl˂pZHZdQbt~HfpJ`ےtbd~f`p`ZQXbXnvˍ˂rXdrtAr˂pZdQbtf~HQJ`ےJlt~f`ZdQbtv`f~bHAZpdQZ|`JXQrrd|Xv`f˂rXQdrtAJvpfHbtlXv`fJ`ےtbnAbے`lJtAvnXbHAZpQZ|dvXn㉀ۑpJpfH~QJ`ےJltZHAbۉlJtfpvbHAZpbdQZ|vXnl|Zdfpv˂rXQdtAJl˂pZZdQbt~HfJ`ےltb~f`JtArd~HfbHAZp˅vpfHJXQrrd|v`frXQrtAJlvpfHAHr󙐂f۝`vbHAZpbdQZ|`JXQArd|nXv`ˑ˂rXdrtAvpfHQbtlnXv`J`ےtbnHAbےlJtApvnbHAZpdQZ|vXn|ZdQpvnrXQf`˂pZHZdQbt~HfpJ`ےtbd~f`ˁ`ZQXbXnvˍ˂rXdtAJlr˂pZdQbtf~HQJ`ےJlt~f`JtArdf~HbHAZpvpf`JXQrrd|Xv`f˂rXQdrtAJvpfHbtlXv`fJ`ےvXnAbے`lJtAvnXbHAZpQZ|dvXnے`㉀ۑpp|drQJ`ےtbZHAbۉlJtfpvbHAZpbdQZ|vXn|Zdfpv˂rXQHf`˂pZZdQbt~HfJ`ےltb~f`|ZdQb~fpvbHAZpvpfHJXQrrd|v`frXQrtAJlJXQr`ZQXbQtJlbHAZpnvp`JXQArd|nXv`ˑ˂rXdrtAvpfHQbtlnXv`fJ`ےvXnHAbےlJtApvnbHAZpdQZ|vXnrtlJnXv`rbd~f`˂pZHZdQbt~HfpJ`ےtbd˂pZHۑpJAtbAdZ˂rXfHf`r˂pZdQbtf~HQJ`ےJlt~f`|ZdQ~fpvbHAZpvpfH`JXQrrd|Xv`f˂rXQdrtAJ˂p`tArdf~HQZ|dvXnAbے`lJtAvnXbHAZpQZ|dAbے`Hr󙐂ˁ|drQJ`ےvXnZHAbۉlJtfpvbHAZpbdQZ|vXnbtlnXv˂rb~f`˂pZZdQbt~HfJ`ےltbJXQr|ZdQbfpvrtAJlvpfHJXQrrd|v`frXQtAJlJXQr`ZQXbQtJlbHAZpvpfH`JXQArd|nXv`ˑ˂rXdrtAr˂p`JtArd`f~dQZ|vXnHAbےlJtApvnbHAZpdQZ|˂pZHAtl|nXv`tbd~f`˂pZHZdQbt~HfpJ`ےtbn˂p`ۑp`ZtbAdZ˂r~f`r˂pZdQbtf~HQJ`ےJltJXQr|ZdQHfpvdrtAJvpfH`JXQrrd|Xv`f˂rXQdtAJlbے`ZdQbtffpQZ|dvXnAbے`lJtAvnXbHAZp˅vpfHJXQrQXb㉀|drbdQZ|vXnZHAbۉlJtfpvbHAZpbdQZ|˂pZHbtl|nXvltb~f`˂pZZdQbt~HfJ`ےtbnJXQrlJtAvnrXrtAJlvpfHJXQrrd|v`frXQf`pZHAۑpJAHrQtJldrtAvpfH`JXQArd|nXv`ˑ˂rXdtAJlAbے`ZdQbt`ffpdQZ|vXnHAbےlJtApvnbHAZpvpf˂p`Jrd|QJ`ےtbd~f`˂pZHZdQbt~HfpJ`ےvXnbے`󙐂ˁ`ZtbAdZJlt~f`r˂pZdQbtf~HQJ`ےtbJXQrlJtvnrdrtAJvpfH`JXQrrd|Xv`f˂rXQHf`XQr˂ZdQbtHAZpQZ|dvXnAbے`lJtAvnXbHAZpvpfHJXQrQXb㉀|drbdQZ|vXnZHAbۉlJtfpvbHAZpnvp˂p`Ard|XQJ`ےltb~f`˂pZZdQbt~HfJ`ےvXnpZHAbl|ZrXQrtAJlvpfHJXQrrd|v`frbd~f`p`JXXnvˍQtJldrtAvpfH`JXQArd|nXv`ˑ˂rXfHf`JXQrˁZdQbtHAZpdQZ|vXnHAbےlJtApvnbHAZpvpfHے`JdQbtJ`ےtbd~f`˂pZHZdQbt~HfpQZ|dvXnQr˂ppfH~tbAdZJlt~f`r˂pZdQbtf~HQJ`ےvXnpZHAl|˂rXQdrtAJvpfH`JXQrrd|Xv`f˂rb~f`XQr˂lJtArbHAZpQZ|dvXnAbے`lJtAvnXrtAJlvpfHZHAbf۝`v|drbdQZ|vXnZHAbۉlJtfpvbHAZpvpfHbے`ZdQbtJ`ےltb~f`˂pZZdQbt~HfdQZ|vXnp`JXQd|ZrXQrtAJlvpfHJXQrrd|v`ftbd~f`ے`JXXnvˍQtJldrtAvpfH`JXQArd|nXv`ˑ˂r~f`JXQr˒lJtAbHAZpdQZ|vXnHAbےlJtApvndrtAJvpfHr˂pdQbtJ`ےtbd~f`˂pZHZdQbtHfpQZ|dvXnQr˂ppfH~tbAdZJlt~f`r˂pZdQbtf~HbdQZ|vXnp`JXrd|˂rXQdrtAJvpfH`JXQrrd|Xv`fltb~f`ZHAbl|ZdQbHAZpQZ|dvXnAbے`lJtAvnrXrtAJlvpfH`JXQf۝`v|drbdQZ|vXnZHAbۉlJtfpvdrtAvpfHQr˂pZdQbtJ`ےltb~f`˂pZZdQbtHfpdQZ|vXnے`JXQbnXvrXQrtAJlvpfHJXQrrd|QJ`ےtbd~f`r˂pXnvˍQtJldrtAvpfH`JXQArd|nXv`Jlt~f`ZHAbl|ZdbHAZpdQZ|vXnHAbےlJtAvnrdrtAJvpfHr˂p`f~fpJ`ےtbd~f`˂pZHZdQbtHAZpQZ|dvXnZHAbpfH~tbAdZJlt~f`r˂pZdQbtfHfpbdQZ|vXnے`JXQbnX˂rXQdrtAJvpfH`JXQrrd|XQJ`ےltb~f``JXQrvnXbHAZpQZ|dvXnAbے`lJtArXQrtAJlvpfH`JXQf۝`v|drbdQZ|vXnZHAbۉlJtvndrtAvpfHQr˂pv`f~fJ`ےltb~f`˂pZZdQbtHAZpdQZ|vXn˂pZv`frXQrtAJlvpfHJXQrrd|J`ےtbd~f`r˂p`XnvˍQtJldrtAvpfH`JXQArd|rXQJ`Jlt~f``JXQpvnbHAZpdQZ|vXnHAbےlJtA˂rXQdrtAJvpfHHAbے~HfpJ`ےtbd~f`˂pZHZdQbnXbHAZpQZ|dvXnہJXQrpfH~tbAdZJlt~f`r˂pZdQbtHAZpbdQZ|vXnr˂pXv`f˂rXQdrtAJvpfH`JXQrrd|J`ےltb~f``JXQrvnXbHAZpQZ|dvXnAbے`v`frXQrtAJlvpfH˂pZHf۝`v|drbdQZ|vXnZHAbۉlJt˂rXdrtAvpfHZHAbې~HfJ`ےltb~f`˂pZZdQbnbHAZpdQZ|vXn˂p`v`f~rXQrtAJlvpfHJXQr~HfpJ`ےtbd~f`Abے`XnvˍQtJldrtAvpfH`JXQArd|QJ`ےJlt~f``JXQpvnbHAZpdQZ|vXnHAbےXv`f˂rXQdrtAJvpfHJXQrfpvJ`ےtbd~f`˂pZHvnXbHAZpQZ|dvXnہJXQrpfH~tbAdZJlt~f`r˂pZdQbbHAZpbdQZ|vXnr˂p`Xv`f˂rXQdrtAJvpfH`JXQr~HfJ`ےltb~f`˂pZHAnXv`bHAZpQZ|dvXnAے`v`frXQrtAJlvpfH˂p`Zf۝`v|drbdQZ|vXnZHAbnXv`ˑ˂rXdrtAvpfHJXQr~fpvJ`ےltb~f`˂pZpvnbHAZpdQZ|vXnbے`f~HrXQrtAJlvpfHJXQrbt~HfpJ`ےtbd~f`QXb㉀XnvˍQtJldrtAvpfH`JXQf~HQJ`ےJlt~f`˂pZHnXv`bHAZpdQZ|vXnHAے`Xv`f˂rXQdrtAJvpfHJXQrfpvJ`ےtbd~f`lJtvnXbHAZpQZ|dvXnۑpJAHrpfH~tbAdZJlt~f`r˂pfpvbHAZpbdQZ|vXnAbے`f~H˂rXQdrtAJvpfHJXQrb~HfJ`ےltb~f`˂p`JnXv`bHAZpQZ|dvXnAd|v`frXQrtAJlvpfH󙐂ˁ`Zf۝`v|drQt}~~56666666666666666666666666666666666666 \ No newline at end of file diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv2_0.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv2_0.dat deleted file mode 100644 index e82090e914896d7baf87ab7240c6acef44d8e407..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1109 zcmbu7yNZKA7=>3y(RhnG-X3CKB3-bvlT;#N6@rLZg`k3kMIZ_mDe^=)wVJ1W|-gl4My?R8{MA z?SIyFyHw_Y{;!_p)%@9ZjCQe( zPl>bt@`Kq)U*>HQWW8@~VQ7}kDoX3nI{b z`|Cc6aq)-YhJl809>uJSalqJGK*O|~EGp{U(}7zbtPrH;>R3i$we|9K(q@i-HUhnk Zm&J*^N)VwWE8Xu@6}kItKQ76Cegk?X;IRMz diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv2_1.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv2_1.dat deleted file mode 100644 index 5fc94c09a3664313078c79ca5fc488c422a4718c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1109 zcmbu7yNZKA7=>3y(RhnG-X3CKB3-bvlT;#N6@rLZg`k3kMIZ_mDe^=)wVJ1W|-gl4My?R8{MA z?SIyFyHw_Y{;!_p)%@9ZjCQe( zPl>bt@`Kq)U*>HQWW8@~VQ7}kDoX3nI{b z`|Cc6aq)-YhJl809>uJSalqJGK*O|~EGp{U(}7zbtPrH;>R3i$we|9K(q@i-HUhnk Zm&J*^N)VwWE8Xu@6}kItKQ2jqegk?L;Hv-t diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv2_2.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv2_2.dat deleted file mode 100644 index 2beed99d81965521cf4ba3e19510550833ca1b0b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1109 zcmbu7yNZKA7=@#wXuL%oZ^b^szC^lUXD3z?f>j72Vikf478ZdhSft1k`3RO4mRqDq znKfixG~}{j&sPlpnfYht45O*qQxy3*61;~f+=HK7nOxKr_eYL>4~BjZYWyA~F$Bkk z0CWg48lq{cswlE7Nf3&nAn^QT!f`CiFf>h3<5me~OT>vpXKMd9Wck|YQm$1ng;6hTI<5Cla5z%U#q2$KBkH6F$I@BXiz<<$^HCw-YUxu15vy@i2U)T=P50`~x%S#sR$iqh%)qZg)S>}GZZbkpdnb<|i3 z<2?7%CSPVR<;TF;~YT49cyWt>Y$LcxS`c an`oJz$g2bqO0v@aPF0cH&-UYzAD`cPJ>b0n diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv2_3.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv2_3.dat deleted file mode 100644 index fd8bc282bc60f5fd9d57728404a31159909bb8a8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1109 zcmbu7yNZKA7=>3y(RhnG-X3CKB3-bvlT;#N6@rLZg`k3kMIZ_mDe^=)wVJ1W|-gl4My?R8{MA z?SIyFyHw_Y{;!_p)%@9ZjCQe( zPl>bt@`Kq)U*>HQWW8@~VQ7}kDoX3nI{b z`|Cc6aq)-YhJl809>uJSalqJGK*O|~EGp{U(}7zbtPrH;>R3i$we|9K(q@i-HUhnk Zm&J*^N)VwWE8Xu@6}kItKQ5_!egk?j;I{w( diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv30_0.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv30_0.dat deleted file mode 100644 index 45c75896d4..0000000000 --- a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv30_0.dat +++ /dev/null @@ -1,273 +0,0 @@ -}}}}}~}~}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvststststsrqrqrqrqrqrqrqropopopopmnmnmnmnklklklklijijijijghghghghefefefefdcdcdcdcbabababa`_`_`_`_`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMKKKKKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABABABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:7878787856565656}~}~}~}~}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvststststqrqrqrqrqrqrqrqropopopopmnmnmnmnklklklklijijijijghghghghefefefefdcdcdcdcbabababa`_`_`_`_`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABABABABABA@?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:7878787856565656}~}~}~}~}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvststststqrqrqrqrqrqrqrqropopopopmnmnmnmnklklklklijijijijghghghghefefefefdcdcdcdcbabababa`_`_`_`_`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:7878787856565656}~}~}~}~}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvststststqrqrqrqrqrqrqrqropopopopmnmnmnmnklklklklijijijijghghghghefefeeeedcdcdcdcbabababa`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:7878787856565656}~}~}~}~}|{|{|{|{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvststststqrqrqrqrqrqrqrqropopopopmnmnmnmnklklklklijijijijghghghgheefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPONMNMLKLKKLKKKKKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:7878787856565656}~}~}~}~{|{|{|{|{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvststststqrqrqrqrqpopopopopopopopmnmnmnmnklklklklijijijijghghghghfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPOLKLKKKKKKLKLKLKJIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:7878787856565656}~}~}~}~{|{|{|{|{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvststststqrqrqrqropopopopopopopopmnmnmnmnklklklklijijijijghghghghfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQRQRQRQRQPOPOPONMKLKLKLKLIJIJIJIJIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@?@?@?@?>=>=>=>=>;<;<;<;<9:9:9:9:7878787856565656}~}~}~}~{|{|{|{|{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvststststqrqrqrqropopopopopopopopmnmnmnmnklklklklijijijijghghghghfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQRQRQRQRQNMNMNMNMKLKLKLKLIJIJIJIJIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>=>=>=>=>;<;<;<;<9:9:9:9:7878787856565656}~}~}~}~{|{|{|{|{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvststststqrqrqrqropopopopopopopopmnmnmnmnklklklklijijijijghghghghfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQRQRQRQRQNMNMNMNMKLKLKLKLIJIJIJIJIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>=>=>=>=>;<;<;<;<9:9:9:9:7878787856565656}~}~}~}~{|{|{|{|{zyzyzyzyzyzyzyzwxwxwxwxuvuvuvuvststststqrqrqrqropopopopopopopopmnmnmnmnklklklklijijijijghghghghfefeeeeedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMKLKLKLKLIJIJIJIJIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>=>=>=>=>;<;<;<;<9:9:9:9:7878787856565656}~}~}~}~{|{|{|{|yzyzyzyzyzyzyzyzwxwxwxwxuvuvuvuvststststqrqrqrqropopopoponmnmnmnmnmnmnmnklklklklijijijijghghghghefefefefdcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMKLKLKLKLIJIJIJIJIJIJIJIHGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>=>=>=>=>;<;<;<;<9:9:9:9:7878787856565656}~}~}~}~{|{|{|{|yzyzyzyzyzyzyzyzwxwxwxwxuvuvuvuvststststqrqrqrqropopopopmnmnmnmnmnmnmnmnklklklklijijijijghghghghefefefefdcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMKLKKKKKKIJIJIJIJGHGHGHGHGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>=>=>=>=<;<;<;<;<9:9:9:9:7878787856565656}~}~}~}~{|{|{|{|yzyzyzyzyzyzyzyzwxwxwxwxuvuvuvuvststststqrqrqrqropopopopmnmnmnmnmnmnmnmnklklklklijijijijghghghghefefefefdcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKIJIJIJIJGHGHGHGHGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<;<;<;<;<9:9:9:9:7878787856565656}~}~}~}~{|{|{|{|yzyzyzyzyzyzyzyzwxwxwxwxuvuvuvuvststststqrqrqrqropopopopmnmnmnmnmnmnmnmnklklklklijijijijghghghghefefefefdcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKIJIJIJIJGHGHGHGHGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<;<;<;<;<9:9:9:9:7878787856565656}~}~}~}~{|{|{|{|yzyzyzyzyxwxwxwxwxwxwxwxuvuvuvuvststststqrqrqrqropopopopmnmnmnmnmnmnmnmnklklklklijijijijghghghghefefefefdcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKIJIJIJIJGHGHGHGHGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<;<;<;<;<9:9:9:9:7878787856565656}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxwxwxwxwxuvuvuvuvststststqrqrqrqropopopopmnmnmnmnmlklklklklklklklijijijijghghgfefefeeeeeedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKIJIJIJIJGHGHGHGHGHGHGHGFEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<;<;<;<;<9:9:9:9:7878787856565656}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxwxwxwxwxuvuvuvuvststststqrqrqrqropopopopmnmnmnmnklklklklklklklklijijijijefefeeeefefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKIJIJIJIJGHGHGHGHEFEFEFEFEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<;<;<;<;:9:9:9:9:7878787856565656}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxwxwxwxwxuvuvuvuvststststqrqrqrqropopopopmnmnmnmnklklklklklklklklijijijihefefefefdcdcdcdcdcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKKKKKKLIJIJIJIJGHGHGHGHEFEFEFEFEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:9:9:9:9:7878787856565656}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxwxwxwxwxuvuvuvuvststststqrqrqrqropopopopmnmnmnmnklklklklklklklklghghghghefefefefdcdcdcdcdcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:9:9:9:9:7878787856565656}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxwvuvuvuvuvuvuvuvststststqrqrqrqropopopopmnmnmnmnklklklklklklklklghghghghefefefefdcdcdcdcdcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:9:9:9:9:787878785656565634343434}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvuvuvuvuvststststqrqrqrqropopopopmnmnmnmnklklklklkjijijijghghghghefefefeedcdcdcdcdcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFEFEFEFEDCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:9:9:9:9:787878785656565634343434}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvuvuvuvuvststststqrqrqrqropopopopmnmnmnmnklklklklijijijijghghghgheeeefefedcdcdcdcdcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:9:9:9:98787878785656565634343434}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvuvuvuvuvststststqrqrqrqropopopopmnmnmnmnklklklklijijijijghghghghfefefefedcdcdcdcbabababababababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:78787878787878785656565634343434}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvuvuvuvuvststststqrqrqrqropopopopmnmnmnmnklklklklijijijijghghghghfefefefedcdcdcdcbabababababababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMKKKKKKLKIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:78787878787878785656565634343434}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvutstststststststqrqrqrqropopopopmnmnmnmnklklklklijijijijghghghghfefefefedcdcdcdcbabababababababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:78787878787878785656543434343434}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvststststststststqrqrqrqropopopopmnmnmnmnklklklklijijijijghghghghfefefefedcdcdcdcbabababababababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDCDCDCDCBABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:78787878787878783434343434343434}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvststststststststqrqrqrqropopopopmnmnmnmnklklklklijijijijghghghghfefefeeedcdcdcdcbabababababababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABABABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:78787878787878763434343434343434}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvststststststststqrqrqrqropopopopmnmnmnmnklklklklijijijijghghghgheeefefefdcdcdcdcbabababa`_`_`_`_`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABABABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:78787878565656563434343434343434}}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvststststststststqrqrqrqropopopopmnmnmnmnklklklklijijijijghghghghefefefefdcdcdcdcbabababa`_`_`_`_`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABABABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:7878787856565656343434343434343434343434121111110/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!            - - - -34343434212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - - -34343434212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - - -34343434212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - - - - -34343434212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)*)*)*)('('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - - - - - - -34343434212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - - - - - - -34343434211111120/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - - - - - - -34343434121212120/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - - - - - - -34343434121212120/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - - - - - 34343434121212120/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('('('('&%&%&%&%&%$#$#$#$#"!"!"!"!         - - - -34343434121212120/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%&%&%&%&%$#$#$#$#"!"!"!"!         - - - -34343434121212120/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%&%&%&%&%$#$#$#$#"!"!"!"!         - - - -34321212111111210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%&%&%&%&%$#$#$#$#"!"!"!"!         - - - -121111122121210/0/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%&%&%&%&%$#$#$#$#"!"!"!"!         - - - -121212120/0/0/0/0/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%&%&%&%$#$#$#$#$#"!"!"!"!         - - - -121212120/0/0/0/0/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!         - - - -121212120/0/0/0/0/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!         - - - -121211110/0/0/0/0/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!         - - - -112121210/0/0/0/0/0/0/.-.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!         - - - -212121210/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#$#$#$#"!"!"!"!"!         - - - -212121210/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!"!"!"!"!         - - - -212121210/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!"!"!"!"!         - - - -212121210/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!"!"!"!"!          - - - -212111110/0/0/0/.-.-.-.-.-.-.-,+,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!"!"!"!"!             - - - -121212120/0/0/0/.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!"!"!"!              - - - -121212120/0/0/0/.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!                 - - - -121212120/0/0/0/.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!                 - - - -121212120/0/0/0/.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!               - - - -121212120/0/0/0/.-.-.-.-,+,+,+,+,+,+,+*)*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!             - - - -qqrrssttxyyzz{{|%$$##""!PQQRRSSTMLLKKJJI())**++,uttssrrqtuuvvwwx)((''&&%LMMNNOOPQPPOONNM-..//001RQQKKJJI=>>??@@AXXWWVVUU ~~}} - - iijjkkll44332211AABBCCDD\\[[ZZYY eeffgghh$$##""!!rrssttuu]^^__``a@??>>==<56677889hggffeed YZZ[[\\]DCCBBAA@12233445lkkjjiih  uuvvwwxx ~~}}| - - |}}~~! TUUVVWWXIHHGGFFE,--..//0qppoonnmxyyzz{{|%$$##""!PQQRRSSTMLLKKJJI1778899:IHHGGFFEABBCCDDETTSSRRQQ!!""##$$||{{zzyymmnnoopp00//..--EEFFGGHHXXWWVVUU ~~}} - - iijjkkll vvwwxxyyabbccdde<;;::9989::;;<<=dccbbaa`]^^__``a@??>>==<56677889hggffeed~~}} - - yyzz{{|| - - |{{zzyyx XYYZZ[[\EDDCCBBA01122334mllkkjji - - |}}~~! TUUVVWWXIHHGGFFE:;;<<==>EDDCCBBAEFFGGHHIPPOONNMM%%&&''((xxwwvvuuqqrrsstt,,++**))IIJJKKLLTTSSRRQQ!!""##$$||{{zzyymmnnooppzz{{||}}effgghhi87766554=>>??@@A`__^^]]\abbccdde<;;::9989::;;<<=dccbbaa`||{{zzyy - - }}~~ - - xwwvvuut\]]^^__`A@@??>>=45566778ihhggffe XYYZZ[[\EDDCCBBA>??@@AABA@@??>>=IJJKKLMNLLKKJJII))**++,,ttssrrqquuvvwwxx((''&&%%MMNNOOPPPPOONNMM%%&&''((xxwwvvuuqqrrsstt~~ -ijjkkllm43322110ABBCCDDE\[[ZZYYX effgghhi87766554=>>??@@A`__^^]]\ !!"xxwwvvuu tssrrqqp`aabbccd=<<;;::9899::;;>=BCCDDEEF=<<;;::9OPQQRRSSHHGGFFEE--..//00ppoonnmmyyzz{{||$$##""!!QQRRSSTTLLKKJJII))**++,,ttssrrqquuvvwwxx - mnnooppq0//..--,EFFGGHHIXWWVVUUT !~~}}| - - ijjkkllm43322110ABBCCDDE\[[ZZYYX"##$$%%&ttssrrqqpoonnmml deeffggh98877665<==>>??@a``__^^]`aabbccd=<<;;::9FGGHHIIJ98877110TTUUVVWWDDCCBBAA11223344llkkjjii - - }}~~ UUVVWWXXHHGGFFEE--..//00ppoonnmmyyzz{{|| - - qrrssttu,++**))(IJJKKLLMTSSRRQQP!""##$$%|{{zzyyxmnnooppq0//..--,EFFGGHHIXWWVVUUT&''(())*ppoonnmmlkkjihgf ~~} - - hiijjkkl54433221@AABBCCD]\\[[ZZY deeffggh98877665JKKQQRRS0//..--,XXYYZZ[[@@??>>==55667788hhggffee YYZZ[[\\DDCCBBAA11223344llkkjjii - - }}~~~~}}|uvvwwxxy(''&&%%$MNNOOPPQPOONNMML%&&''(()xwwvvuutqrrssttu,++**))(IJJKKLLMTSSRRQQP*++,,--.llkkjjii~~}}|| !!""eeddccbb !!""##$}||{{zzy lmmnnoop100//..-DEEFFGGHYXXWWVVU ~~} - - hiijjkkl54433221STTUUVVW,++**))(\\]]^^__<<;;::9999::;;<>==55667788hhggffee  |{{zzyyx yzz{{||}$##""!! QRRSSTTULKKJJIIH)**++,,-tssrrqqpuvvwwxxy(''&&%%$MNNOOPPQPOONNMML.//00117hhggffee {{zzyyxx##$$%%&&aa``__^^$%%&&''(yxxwwvvupqqrrsst-,,++**)HIIJJKKLUTTSSRRQ !!""##$}||{{zzy lmmnnoop100//..-WXXYYZZ[(''&&%%$``aabbcc88776655==>>??@@``__^^]]aabbccdd<<;;::9999::;;<>??@@``__^^]]tssrrqqp YZZ[[\\]DCCBBAA@12233445lkkjjiih - - }~~ UVVWWXXYHGGFFEED;<<==>>?``__^^]]%%&&''((ssrrqqpp++,,--..YYXXWWVV,--..//0qppoonnmxyyzz{{|%$$##""!PQQRRSSTMLLKKJJI())**++,uttssrrqtuuvvwwx)((''&&%_``aabbc jkkllmmn00//..--EEFFGGHHXXWWVVUU ~~}} - - iijjkkll44332211AABBCCDD\\[[ZZYY~~}}||poonnmml]^^__``a@??>>==<56677889hggffeed YZZ[[\\]DCCBBAA@?@@AABBC\\[[ZZYY))**++,,oonnmmll//001177UUTTSSRR01122334mllkkjji - - |}}~~! TUUVVWWXIHHGGFFE,--..//0qppoonnmxyyzz{{|%$$##""!cddeekklnooppqqr,,++**))IIJJKKLLTTSSRRQQ!!""##$$||{{zzyymmnnoopp00//..--EEFFGGHHXXWWVVUU {{zzyyxxlkkjihgfabbccdde<;;::9989::;;<<=dccbbaa`]^^__``a@??>>==>??@@A`__^^]]\abbccdde<;;::998GHHIIJJKTTSSRRQQ11223344bbaa``__<<==>>??KJJIIHHG899::;;>=45566778ihhggffe pqqrrsst vwwxxyyz$$##""!!QQRRSSTTLLKKJJII))**++,,ttssrrqquuvvwwxx((''&&%%MMNNOOPPPPOONNMM%%&&''((ssrrqqpp##$$%%&&aa``__^^ !~~}}| - - ijjkkllm43322110ABBCCDDE\[[ZZYYX effgghhi87766554KQQRRSSTPPOONNMM55667788^^]]\\[[@@AABBCCGFFEEDDC<==>>??@a``__^^]`aabbccd=<<;;::9899::;;>??@a``__^^]xyyzz{{|~YYZZ[[\\DDCCBBAA11223344llkkjjii - - }}~~ UUVVWWXXHHGGFFEE--..//00kkeeddcc++,,--..YYXXWWVV%&&''(()xwwvvuutqrrssttu,++**))(IJJKKLLMTSSRRQQP!""##$$%|{{zzyyxmnnooppq0//..--,XYYZZ[[\HHGGFFEE==>>??@@VVUUTTSSHHIIJJKK?>>==<<;DEEFFGGHYXXWWVVU ~~} - - hiijjkkl54433221@AABBCCD]\\[[ZZY |}}~~]]^^__``@@??>>==55667788hhggffee YYZZ[[\\DDCCBBAA11223344bbaa``__//001177UUTTSSRR)**++,,-tssrrqqpuvvwwxxy(''&&%%$MNNOOPPQPOONNMML%&&''(()xwwvvuutqrrssttu,++**))(\]]^^__`DDCCBBAAAABBCCDDRRQQKKJJQQRRSSTT;::99887HIIJJKKLUTTSSRRQ !!""##$}||{{zzy lmmnnoop100//..-DEEFFGGHYXXWWVVU ~~} - -  - - aabbccdd<<;;::9999::;;<>==55667788^^]]\\[[8899::;;QQPONMLK-..//001poonnmml yzz{{||}$##""!! QRRSSTTULKKJJIIH)**++,,-tssrrqqpuvvwwxxy(''&&%%$`aabbccd@@??>>==EEFFGGHHIIHHGGFFUUVVWWXX76543211LMMNNOOPQPPOONNM$%%&&''(yxxwwvvupqqrrsst-,,++**)HIIJJKKLUTTSSRRQ !!""##$}||{{zzy   eeffgghh88776655==>>??@@``__^^]]aabbccdd<<;;::9999::;;<>??KJJIIHHG12233445lkkjjiih - - }~~ UVVWWXXYHGGFFEED-..//001poonnmml yzz{{||}$##""!! deekkllm<<;;::99IIJJKKLLEEDDCCBBYYZZ[[\\00//..--PQQRRSSTMLLKKJJI())**++,uttssrrqtuuvvwwx)((''&&%LMMNNOOPQPPOONNM$%%&&''(yxxwwvvu~~}}||{~~}} - - iijjkkll44332211AABBCCDD\\[[ZZYY eeffgghh88776655==>>??@@VVUUTTSS@@AABBCCGFFEEDDC56677889hggffeed YZZ[[\\]DCCBBAA@12233445lkkjjiih - - }~~ mnnooppqrqqppoon88776655MMNNOOPPAA@@??>>]]^^__``,,++**))TUUVVWWXIHHGGFFE,--..//0qppoonnmxyyzz{{|%$$##""!PQQRRSSTMLLKKJJI())**++,uttssrrq{zzyyxxw||{{zzyymmnnoopp00//..--EEFFGGHHXXWWVVUU ~~}} - - iijjkkll44332211AABBCCDDRRQQKKJJDDEEFFGGCBBAA@@?9::;;<<=dccbbaa`]^^__``a@??>>==<56677889hggffeed qrrssttunmmllkke44332211QQRRSSTT==<<;;::aabbccdd((''&&%%XYYZZ[[\EDDCCBBA01122334mllkkjji - - |}}~~! TUUVVWWXIHHGGFFE,--..//0qppoonnm - - wvvuuttsxxwwvvuuqqrrsstt,,++**))IIJJKKLLTTSSRRQQ!!""##$$||{{zzyymmnnoopp00//..--EEFFGGHHIIHHGGFFHHIIJJKK?>>==<<;=>>??@@A`__^^]]\abbccdde<;;::9989::;;<<=dccbbaa`uvvwwxxyeddccbba00//..--UUVVWWXX99887711eekkllmm$$##""!!\]]^^__`A@@??>>=45566778ihhggffe XYYZZ[[\EDDCCBBA01122334mllkkjji srrqqppo !!""ttssrrqquuvvwwxx((''&&%%MMNNOOPPPPOONNMM%%&&''((xxwwvvuuqqrrsstt,,++**))IIJJKKLLEEDDCCBBQQRRSSTT;::99887ABBCCDDE\[[ZZYYX effgghhi87766554=>>??@@A`__^^]]\yzz{{||}a``__^^],,++**))YYZZ[[\\00//..--nnooppqq `aabbccd=<<;;::9899::;;>=45566778ihhggffeonnmmllk##$$%%&&ppoonnmmyyzz{{||$$##""!!QQRRSSTTLLKKJJII))**++,,ttssrrqquuvvwwxx((''&&%%MMNNOOPPAA@@??>>UUVVWWXX76543211EFFGGHHIXWWVVUUT !~~}}| - - ijjkkllm43322110ABBCCDDE\[[ZZYYX }~~]\\[[ZZY((''&&%%]]^^__``,,++**))rrssttuudeeffggh98877665<==>>??@a``__^^]`aabbccd=<<;;::9899::;;>??@a``__^^] !baa``__^++,,--..hhggffee YYZZ[[\\DDCCBBAA11223344llkkjjii - - }}~~ UUVVWWXX99887711]]^^__``,,++**))MNNOOPPQPOONNMML%&&''(()xwwvvuutqrrssttu,++**))(IJJKKLLMTSSRRQQP!""##$$%|{{zzyyx~UTTSSRRQ eeffgghh$$##""!!zz{{||}}lmmnnoop100//..-DEEFFGGHYXXWWVVU ~~} - - hiijjkkl54433221@AABBCCD]\\[[ZZY!""##$$%^]]\\[[Z//001123ddccbbaa]]^^__``@@??>>==55667788hhggffee YYZZ[[\\00//..--aabbccdd((''&&%%QRRSSTTULKKJJIIH)**++,,-tssrrqqpuvvwwxxy(''&&%%$MNNOOPPQPOONNMML%&&''(()xwwvvuut~}}||{{zQKKJJIIHiijjkkll ~~ -pqqrrsst-,,++**)HIIJJKKLUTTSSRRQ !!""##$}||{{zzy lmmnnoop100//..-DEEFFGGHYXXWWVVU%&&''(()ZYYXXWWV45677889``__^^]]aabbccdd<<;;::9999::;;<>??@@``__^^]]aabbccdd((''&&%%nnooppqq YZZ[[\\]DCCBBAA@12233445lkkjjiih - - }~~ UVVWWXXYHGGFFEED-..//001poonnmml - - vuuttssrDCCBBAA@@??>>==>==<<66778899ggffeeddZZ[[\\]]CCBBAA@@22334455kkjjiihh - - ~~~~}}||{vwwxxyyz'&&%%$$#NOOPPQQRONNMMLLK&''(())*wvvuuttsrssttuuv qppoonnm+**))((']]^^__``;;::9988::;;<<==ccbbaa``^^__``aa??>>==<<66778899ggffeedd - -{zzyyxxw -z{{||}}~#""!! RSSTTUUVKJJIIHHG*++,,--.srrqqppovwwxxyyz - - -mllkkjji'&&%%$$#aabbccdd77665544>>??@@AA__^^]]\\bbccddee;;::9988::;;<<==ccbbaa`` wvvuutts - ~VWWXXYYZGFFEEDDC.//00112onnmmllk -z{{||}}~ - ihhggffe #""!! eefghijk33221100BBCCDDEE[[ZZYYXX ffgghhii77665544>>??@@AA__^^]]\\srrqqppoZ[[\\]]^CBBAA@@?23344556kjjiihhg - ~eddccbba !!""##$kllmmnno//..--,,FFGGHHIIWWVVUUTT !!~~}}|| - - jjkkllmm33221100BBCCDDEE[[ZZYYXX~~}}||{{onnmmllk^__``aab?>>==<<;6778899:gffeeddca``__^^]$%%&&''(oppqqrrs++**))((JJKKLLMMSSRRQQPP""##$$%%{{zzyyxxnnooppqq//..--,,FFGGHHIIWWVVUUTT !!zzyyxxwwkjihgfeebccddeef;::99887:;;<<==>cbbaa``_]\\[[ZZY())**++,sttuuvvw''&&%%$$NNOOPPQQOONNMMLL&&''(())wwvvuuttrrssttuu++**))((JJKKLLMMSSRRQQPP""##$$%%vvuuttss !!""##ddccbbaa fgghhiij76655443>??@@AAB_^^]]\\[~~}}||{ !!""#YXXWWVVU,--..//0 -wxxyyzz{##""!! RRSSTTUUKKJJIIHH**++,,--ssrrqqppvvwwxxyy''&&%%$$NNOOPPQQOONNMMLL&&''(())rrqqppoo$$%%&&''``__^^]] !!"~~}}||{ - - jkkllmmn3221100/BCCDDEEF[ZZYYXXW{zzyyxxw#$$%%&&'UTTSSRRQ01122334 - {||}}~~VVWWXXYYGGFFEEDD..//0011oonnmmll zz{{||}}##""!! RRSSTTUUKKJJIIHH**++,,--nnmmllkk(())**++\\[[ZZYY"##$$%%&{zzyyxxwnooppqqr/..--,,+FGGHHIIJWVVUUTTS !!"wvvuutts'(())**+QPPOONNM45566778ZZ[[\\]]CCBBAA@@22334455kkjjiihh - - ~~VVWWXXYYGGFFEEDD..//0011eeddccbb,,--..//XXWWVVUU&''(())*wvvuuttsrssttuuv+**))(('JKKLLMMNSRRQQPPO"##$$%%&srrqqppo+,,--../MLLKKJJI899::;;< ^^__``aa??>>==<<66778899ggffeeddZZ[[\\]]CCBBAA@@22334455aa``__^^00117788TTSSRRQQ*++,,--.srrqqppovwwxxyyz'&&%%$$#NOOPPQQRONNMMLLK&''(())*onnmmllk/0011778IHHGGFFE<==>>??@ - - bbccddee;;::9988::;;<<==ccbbaa``^^__``aa??>>==<<66778899]]\\[[ZZ99::;;<>??@@AA__^^]]\\bbccddee;;::9988::;;<<==YYXXWWVV==>>??@@JIIHHGGF23344556kjjiihhg - ~VWWXXYYZGFFEEDDC.//00112baa``__^<==>>??@A@@??>>=DEEFFGGH~~}}|| - - jjkkllmm33221100BBCCDDEE[[ZZYYXX ffgghhii77665544>>??@@AAUUTTSSRRAABBCCDDFEEDDCCB6778899:gffeeddcZ[[\\]]^CBBAA@@?23344556^]]\\[[Z@AABBCCD=<<;;::9HIIJJKKL{{zzyyxxnnooppqq//..--,,FFGGHHIIWWVVUUTT !!~~}}|| - - jjkkllmm33221100BBCCDDEEQQKKJJIIEEFFGGHHBAA@@??>:;;<<==>cbbaa``_^__``aab?>>==<<;6778899:ZYYXXWWVDEEFFGGH98877665LMMNNOOPwwvvuuttrrssttuu++**))((JJKKLLMMSSRRQQPP""##$$%%{{zzyyxxnnooppqq//..--,,FFGGHHIIHHGGFFEEIIJJKKQQ>==<<;;:>??@@AAB_^^]]\\[bccddeef;::99887:;;<<==>VUUTTSSRHIIJJKKQ54433221PQQRRSST !!""##ssrrqqppvvwwxxyy''&&%%$$NNOOPPQQOONNMMLL&&''(())wwvvuuttrrssttuu++**))((JJKKLLMMDDCCBBAARRSSTTUU:9988776BCCDDEEF[ZZYYXXW fgghhiij76655443>??@@AABRQQKKJJIQRRSSTTU100//..-TUUVVWWX$$%%&&''oonnmmll zz{{||}}##""!! RRSSTTUUKKJJIIHH**++,,--ssrrqqppvvwwxxyy''&&%%$$NNOOPPQQ@@??>>==VVWWXXYY54321100FGGHHIIJWVVUUTTS !!"~~}}||{ - - jkkllmmn3221100/BCCDDEEFIHHGGFFEUVVWWXXY-,,++**)XYYZZ[[\(())**++kkjjiihh - - ~~VVWWXXYYGGFFEEDD..//0011oonnmmll zz{{||}}##""!! RRSSTTUU<<;;::99ZZ[[\\]]//..--,,JKKLLMMNSRRQQPPO"##$$%%&{zzyyxxwnooppqqr/..--,,+FGGHHIIJEDDCCBBAYZZ[[\\])((''&&%\]]^^__`,,--..//ggffeeddZZ[[\\]]CCBBAA@@22334455kkjjiihh - - ~~VVWWXXYY88771100^^__``aa++**))((NOOPPQQRONNMMLLK&''(())*wvvuuttsrssttuuv+**))(('JKKLLMMNA@@??>>=]^^__``a%$$##""!`aabbccd00112345ccbbaa``^^__``aa??>>==<<66778899ggffeeddZZ[[\\]]//..--,,bbccddee''&&%%$$RSSTTUUVKJJIIHHG*++,,--.srrqqppovwwxxyyz'&&%%$$#NOOPPQQR=<<;;::9abbccdde! deeffggh6778899:__^^]]\\bbccddee;;::9988::;;<<==ccbbaa``^^__``aa++**))((kkllmmnn##""!! VWWXXYYZGFFEEDDC.//00112onnmmllk -z{{||}}~#""!! RSSTTUUV98877110ekkllmmnhiijjkkl:;;<<==>[[ZZYYXX ffgghhii77665544>>??@@AA__^^]]\\bbccddee''&&%%$$ooppqqrrZ[[\\]]^CBBAA@@?23344556kjjiihhg - ~VWWXXYYZ0//..--,nooppqqrlmmnnoop>??@@AABWWVVUUTT !!~~}}|| - - jjkkllmm33221100BBCCDDEE[[ZZYYXX ffgghhii##""!! ssttuuvv^__``aab?>>==<<;6778899:gffeeddcZ[[\\]]^,++**))(rssttuuvpqqrrsstBCCDDEEFSSRRQQPP""##$$%%{{zzyyxxnnooppqq//..--,,FFGGHHIIWWVVUUTT !!~~}}|| - - jjkkllmmwwxxyyzzbccddeef;::99887:;;<<==>cbbaa``_^__``aab(''&&%%$vwwxxyyz tuuvvwwxFGGHHIIJOONNMMLL&&''(())wwvvuuttrrssttuu++**))((JJKKLLMMSSRRQQPP""##$$%%{{zzyyxxnnooppqq{{||}}~~ fgghhiij76655443>??@@AAB_^^]]\\[bccddeef$##""!! z{{||}}} - - xyyzz{{||}}fpvf~HbHAZdrtAJJXQrJAdbtlnXv`Zp˂AJltfH~ˑZHAbrbtl|ZdQfpvbHAdrtvXnp`JXlJtfpvbHAZdrtAbdQZ|`vXnے`JXQtArdf~HXQJ`ےbdQZ|JltH~fr˂prd|fvnX˂rXJlt~f`ZHAbۉlJtZdQbtfpvbHAZpdrtAvpfHr˂plJtnXv`fpvp˂rltbZHAbۂ|ZdQJtArdf~HrXQJ`ۉbdQZ|f`vXے`JXJtAdbtlnXv`Zp˂AJltf`Qr˂pArd|nXv`p˂rJltdtAJvpfr˂p|ZdQbfpvbHAZdrtAbdQZ|`vXnZHAbZdQbtv`fQJ`ےbdQZ|vXn`JXQArd|lJnXv`ˑ˂rXJlt~f`ZHAbArd|f~HnXv`XQJ`ےdQZ|``JXQbtl|ZdQfpvbHAdrtnvpQr˂p|ZdQJtArdf~HrXQJ`ۉbdQZ|vXnۑZHAbZdQbtf~HXQJ`ےbdQZ|ltbH~fZHAbtlJnXv`p˂rJltdtAJvpf˂pZlJtA~HfpۙbHAZpdrtAvpfHr˂pZdQbtfpvf~HQJ`ےbdQZ|vXn`JXQZdQtAfpvp˂rbHAZvXnr˂pJtArdbtlnXv`Zp˂AJltfH~ˑZHAbbtl|ZdQfpvbHAdrtvpfHے`JXlJArfpvbHAZdrtAnvp`vXnے`JXQtArdf~HXQJ`ےbdQZ|ltbH~fHAbےrdtvnX˂rXJlt~f`ZHAbۉlJtnXv`fpvbHAZpdrtAvpfHr˂prd|nXv`XQJ`ےp˂rvpfHZHAbۂ|ZdQJfpvf~HrXQJ`ۉbdQZ|f`vXے`JXJtArdbtlnXv`Zp˂AJlt~f`Qr˂p|ZdQnXv`p˂rJltfHfvpfr˂p|ZdQbfpvbHAZdrtAnvp`vXn`JXQrlJfpv`ffpQJ`ےbdQZ|vXn`JXQArd|f~HnXv`ˑ˂rXJlt~f`ZHAbZdQbtf~HbHAZXQJ`ے~f``JXQbtlnXv`fpvbHAdrtnvpQr˂p|ZdQJfpvf~HrXQJ`ۉbdQZ|vXnۑZHAXQbtlf~HXQJ`ےbdQZ|`vXnH~fZHAbtlJnXv`p˂rJltfHfvpf˂p`vnvvnbHAZpdrtAvpfHr˂pZdQbtfpvfHfpQJ`ےbdQZ|vXn`JXQlJtAfpvp˂rJltvXH~rZAbJtArdf~HnXv`Zp˂AJltfH~ˑZHAbbtlnXv`fpvbHAdrtvp`vXr˂pJtArdfpvbHAZdrtAvpf`vXnے`JXQtArdf~HXQJ`ےbdQZ|`vXnH~fJXQrbf~HrXQJ`ۑ˂rXJlt~f`ZHAbۉlJtnXv`˝vnbHAZpdrtAvpfHr˂prd|nXv`XQJ`ےdrtAJf`vے`J|ZdQfpvfHrXQJ`ۉbdQZ|f`vXے`JXJtArdf~HnXv`Zp˂AJltnvpZHAb|ZdQnXv`p˂rJltH~fvpfr˂p|ZdQbfpvbHAZdrtAvpf`vXntl|fpv㒐HAZpQJ`ےbdQZ|vXn`JXQArd|f~HrXQJ`ۑ˂rXJlt~f`ZHAbZdQbtdf~HbHAZltbXnvXQr˂btlnXv`fpv㒐bHAdrtnvpQr˂p|ZdQfpvfHrXQJ`ۉbdQZ|fH~`JXQbtlf~HXQJ`ےbdQZ|`vXnے`JXQZHAbtlJnXv`p˂rJltH~fvpfZdQbtnXv`ˑ˂rXbHAZpdrtAvpfHr˂pZdQbtfpv㒐HAZpQJ`ےbdQZ|vXn`JXQ|Zdfpvp˂rdQZ|pfH~pZHAbJtArdf~HnrXQJ`Zp˂AJltfH~ˑZHAbbtlnXv`fpv㒐bHAdrtf`vXr˂pJtArfpvbHAZdrtAvpfr˂pے`JXQtArdf~HXQJ`ےbdQZ|`vXnے`JXQlJtAf~HQJ`ے˂rXJlt~f`ZHAbۉlJtnXv`ˑ˂rXbHAZpdrtAvpfHr˂pQbtlnXv`XQJ`ےdrtAJf`vے`J|ZdQfpvےHArXQJ`ۉbdQZ|f`vXے`JXJtArdf~HnrXQJ`Zp˂AJltnvpZHAbZdQbtnXv`p˂rJltH~fZHAbr˂p|ZdQbfpvbHAZdrtAvpfHAbےrd|fpvbHAZpQJ`ےbdQZ|vXn`JXQArd|f~HQJ`ے˂rXJlt~f`ZHAbۑJtArdf~HbHAZltbXnXQr˂btlnXv`Zp˂󒐙bHAdrtnvpQr˂p|ZdQfpvےHArXQJ`ۉbdQZ|fHX˂pZHlJtAf~HXQJ`ےbdQZ|`vXnے`JXQZHAےtlJnXv`p˂rJltH~f`JXQrZdQtArnXvf~˂rXJltdrtAvpfHr˂pZdQbtfpvbHAZpQJ`ےbdQZ|vXn`JXQ|Zdfpvp˂rdQtAJlf`vXpZAb`JtArdf~HrXQJ`Zp˂AJltfH~ˑZHAbbtlnXv`Zp˂󒐙bHAdrtnvpAbے`rd|fpvbHAZdrtAvpfr˂p`JXQrtArdf~HXQJ`ےbdQZ|`vXn˂pZd|ZHfpvQJ`ےbdQZ|Jlt~f`ZHAbۉlJtnXv`ˑ˂rXJltdrtAvpfHr˂pQbtlnXv`XQJ`ےtbdQnvpJXQr|ZdQfpvbHArXQJ`ۉbdQZ|f`vXے`JXJtArdf~HrXQJ`Zp˂AJltfH~ˁJXQrZdQbtnXv`p˂rJltH~fZHAbbtl|ZdQbfpvbHAZdrtAvpfHAbےdQbt璀nXvbHAZpdrtAbdQZ|vXn`JXQArd|f~HQJ`ےbdQZ|Jlt~f`ZHAbۑ|ZdQf~HbHAZZ|dfH~˂pZHbtlnXv`Zp˂JltdrtnvpQr˂p|ZdQfpvbHArXQJ`ۉbdQZ|f`vX˂p`lJtAf~HXQJ`ےbdQZ|`vXnے`JXQJtAdtlJnXv`p˂rJltH~f`JXQrlJtAr`f~˂rXJltdtAJlvpfHr˂pZdQbtfpvbHAZpdrtAbdQZ|vXn`JXQbtlfpvp˂rrtAJlf`vXAbے`JtArdf~HrXQJ`ۉbdQZ|AJltfH~ˑZHAbbtlnXv`Zp˂JltdrtnvpJXQrbtrdZQbfpvbHAZdrtAvpfr˂p|ZdQbtArdf~HXQJ`ےbdQZ|`vXnے`d|ZHfpvQJ`ےbdQZ|tb~f`ZHAbۉlJtnXv`ˑ˂rXJltdtAJlvpfHr˂pJtArdnXv`XQJ`ےtbdQnvpJXQr|ZdQfpvbHAdrtbdQZ|f`vXے`JXJtArdf~HrXQJ`ۉbdQZ|AJltfH~lJAtlJnXv`p˂rJltH~fZHAbtlJ|ZdQbfpvbHAZdrtAvpfJXQrdQbtdnXvbHAZpdrtAnvpvXn`JXQArd|f~HQJ`ےbdQZ|tb~f`ZHAbۂ|ZdQf~HbHAZZ|l`vXn˂pZHbtlnXv`Zp˂AJltdtAnvpQr˂p|ZdQfpvbHAdrtbdQZ|vpfۂ|ZdQfpvf~HXQJ`ےbdQZ|`vXnے`JXQtArdtlJnXv`p˂rJltH~f˂pZHA|ZdQ`f~fp˂rXJltfHf`vpfHr˂pZdQbtfpvbHAZpdrtAnvpvXn`JXQbtlfpvp˂rtbdQZvpfAbJXQJtArdf~HrXQJ`ۉbdQZ|JltfH~ˑZHAbbtlnXv`Zp˂AJltdtA`JXQHbtlnXv`fpvbHAZdrtAvpfr˂p|ZdQbfpvf~HXQJ`ےbdQZ|`vXnbے`btlvnXQJ`ےbdQZ|vXn~f`ZHAbۉlJtnXv`ˑ˂rXJltfHf`vpfHr˂pJtAdQbtnXv`XQJ`ے|drH~fr˂p|ZdQfpvbHAdrtbnvpf`vXے`JXJtArdf~HrXQJ`ۉbdQZ|JltAbے`JtArdf~HnXv`p˂rJltH~fZHAbtlJnXv`fpvbHAZdrtAvpfJXQrJtArdv`fbHAZpdrtAvpfHvXn`JXQArd|f~HQJ`ےbdQZ|vXn~f`ZHAbۉlJt~Hfpf~HbHAZtAJl`vXnZHAbbtlnXv`Zp˂AJltfHnvpQr˂p|ZdQfpvbHAdrtbnvpJXQr|ZdQbfpvfHfXQJ`ےbdQZ|`vXnے`JXQtArdf~HnXv`p˂rJltH~f˂p`J|ZdQ~Hfp˂rXJlt~f`vpfr˂pZdQbtfpvbHAZpdrtAvpfHvXn`JXQArd|vnXHfpvp˂rtbdQZvpfے`JXQJtArdf~HrXQJ`ۉbdQZ|f`vXfH~ˑZHAbbtlnXv`Zp˂AJlt`vX˂pZHJtArnXv`pvnbHAZdrtAvpfr˂p|ZdQbfpvfHfXQJ`ےbdQZ|`vXnXQr˂btlvnXQJ`ےbdQZ|vXn`JXQZHAbۉlJtnXv`ˑ˂rXJlt~f`vpfr˂pZdQbtfpvnXv`XQJ`ے|dtHXnr˂p|ZdQfpvbHAdrtnvpf`vXے`JXJtArdf~HrXQJ`ۉbdQZ|nvpAbے`d|Zf~HrXQJ`p˂rJltH~fZHAbtlJnXv`pvnbHAZdrtAvpfpZHAb|ZdQbv`fbHAZpdrtAvpfHr˂p`JXQArd|f~HQJ`ےbdQZ|vXn`JXQZHAbۉlJtnXv`f~HbHAZbdQZ|vpfHZHAbbtlnXv`Zp˂AJltfH~nvpQr˂p|ZdQfpvbHAdrtfH~ˁJXQrdQbtfpvےHAZXQJ`ےbdQZ|`vXnے`JXQtArdf~HrXQJ`p˂rJltH~fے`JtlJ~fv˂rXJlt~f`ZHAbr˂pZdQbtfpvbHAZpdrtAvpfHr˂p`JXQArdtf~Hfpvp˂rdrtA~f`JQrJtArdf~HrXQJ`ۉbdQZ|f`vXfے`JXZHAbbtlnXv`Zp˂AJltf`vXHے`lJtArnXv`p˂rbHAZdrtAvpfr˂p|ZdQbfpvےHAZXQJ`ےbdQZ|`vXnXQr˂tArdnXv`QJ`ےbdQZ|vXn`JXQZHAے`lJtnXv`ˑ˂rXJlt~f`ZHAbr˂plJfpfpvnXv`XQJ`ےJltvXnpZHA|ZdQfpvbHAdrtnvpQr˂pے`JXJtArdf~HrXQJ`ۉbdQZ|~f`JXQrd|Zf~HXQJ`ےp˂rJltH~fZHAbtlJnXv`p˂rbHAZdrtAvpfpZHAXQ|ZdQbf~HbHAZpdrtAvpfHr˂pJXQrArd|f~HQJ`ےbdQZ|vXn`JXQZHAے`vnXv`f~HbHAZbdQZ|vpfHbے`btlnXv`Zp˂AJltfH~ˑZHAbQr˂p|ZdQfpvbHAdrtvXnpZHAdQbtfpvbHAZXQJ`ےbdQZ|`vXnے`JXQtArdf~HXQJ`ےp˂rJltH~fr˂ptlJfpv˂rXJlt~f`ZHAbbtlZdQbtfpvbHAZpdrtAvpfHr˂pJXQr~Hfpۍpvfpvp˂rdrtA~vJXQrJtArdf~HrXQJ`ۉbdQZ|f`vXے`JXZHAbtlnXv`Zp˂AJltvpfHbے`JArd|nXv`p˂rJltdrtAvpfr˂p|ZdQbfpvbHAZXQJ`ےbdQZ|`vXnZHAbtAdQbtnXv`QJ`ےbdQZ|vXn`JXQJtAd|lJtnXv`ˑ˂rXJlt~f`ZHAbbtl|vnXnXv`nXv`XQJ`ےdQZ|pfے`pZHAb|ZdQfpvbHAdrtnvpQr˂p`JXQJtArdf~HrXQJ`ۉbdQZ|~f`JXQrˁZdQbtf~HXQJ`ےbdQZ|JltH~fZHAbtlJnXv`p˂rJltdrtAvpfے`JXQlJtAf~HbHAZpdrtAvpfHr˂pZdQbtArd|f~HQJ`ےbdQZ|vXn`JXQZdQbtv`ff~HfpvJ`bAZltb~f`HAbےtlJZdQbtpvnbHAZpdrtAJvpfH˂pZJXQrbrd|~HfpHAXQJ`bdQZ|vXnہJXQrrd|~HfpJ`ےQZ|dtbd~f`ZHAbf۝`vp|drnXv`p˂rdQZ|vXn`JXQrtAd|lJtAXv`f˂rXQltb~f`HAbےtlJZdQbtvnXےJl璁AJlvpfH˂pZHZdQbtvnXbHAZp˙rtAJlQZ|dvXnۉ˂pZHXnvˍQtJlfnXXQJ`ےdrtAJvpfH˂pZZdQbtrd|~HfJ`ےdQZ|vXn`JXQrtAd|lJtAv`pvtbQZdtbn~f`Abے`lJtAv`frXQtbdtAJlvpfHAbے`pfH~tbAdZv`fbHAZltb~f`HAbےlJtAZdQbtpvnbHAZpdrtAJvpfH˂pZZdQbtrd|nrXQrtAJlvpfHvXnہJXQrrd|~HfpJ`ےQZ|dtbn~f`JXQrf۝`v|dr~Hfpp˂rdQZ|vXn`JXQrrd|lJfXv`f˂rXQltb~f`HAbےlJtAZdQbtJ`p˂tbdf`vpfH˂pZHZdQbtvnXbHAZp˙rtAJlvpfHvXnۉ˂p`ZXnvˍQtJlvnXXQJ`ےdrtAJvpfH˂pZZdQbtpvn~HfJ`ےdQZ|vXn`JXQrrd|lJfrXQJQZ|dvXn~f`Abے`lJtAv`frXQtbdf`vpfHQXb㉀pfH~tbAdZv`fbAZltb~f`HAbےlJtAXv`fpvnbHAZpdrtAJvpfH˂pZZdQbtpv`ےbrtAJlvpfHvXnہJXQrrd|~HfpJ`ےQZ|dvXn~f`ۑpJAHrf۝`v|dr~HXrXQJ`dQZ|vXn`JXQrrd|~HfXv`f˂rXQltb~f`HAbےlJtA~HfpHAZp˂tbd~f`vpfے`˂pZHZdQbtvnXbHAZp˙rtAJlvpfHvXn󙐂ˁ`ZXnvˍQtJlv`fےbHdrtAJvpfH˂pZZdQbtpvnHfpJ`ےdQZ|vXn`JXQrrd|vnXbHAQZrtAvXnہJXQrAbے`lJtAv`frXQtbd~f`vpfZHQXAHrpfH~tbAdZ~HfpAZp˂ltb~f`HAbےlJtAXv`fvnrbHAZpdrtAJvpfH˂pZZdQbtv`fZp˂JltvpfH˂pZHJXQrrd|~HfpJ`ےQZ|dvXnAbے`ˁ`ZQf۝`v|drvnXrXQJ`dQZ|vXn`JXQrrd|~HfXQJ`ے˂rXQltb~f`HAbےlJtA~HfprXQJ`bdQZ|~f`Abے`˂pZHZdQbtvnXbHAZp˙rtAJlvpfHJXQrXb㉀ۑXnvˍQtJlv`pvےbHdrtAJvpfH˂pZZdQbtpvnHAZpJ`ےdQZ|vXn`JXQrrd|vnXےbHAdrtAvXnہJXQrAے`lJtAv`frXQtbd~f`˂pZHpJAHrpfH~tbAdZnrXQAZrXQltb~f`HAbےlJtAXv`f˂rXQbHAZpdrtAJvpfH˂pZZdQbtHfpvZp˂JltvpfH˂pZHJXQrbtrd|~HfpJ`ےQZ|dvXnAbے`ˁ`ZQf۝`v|drJ`AZpJ`ےJdQZ|vXn`JXQrrd|~HfJ`ے˂rXQltb~f`HAbےlJtAnXvrXQHAZbdQZ|~f`Abے`lJtZdQbtvnXbHAZp˙rtAJlvpfHJXQrXb㉀XnvˍQtJl˂rXltbdrtAJvpfH˂pZZdQbtpvnbHAZpJ`ےJdQZ|vXn`JXQrrd|`f~p˂rrAJlvXnہJXQrAd|lJtAv`frXQtbd~f`ے`ˁ`ZQXbpfH~tbAdZQJ`ےdQZ|ltb~f`HAbےlJtAXv`f˂rXQltbdrtAJvpfH˂pZZdQbtHfpvXQJ`ےtbdQvpfH˂pZHZdQbtrd|~HfpJ`ےQZ|dvXnJXQr㉀ۑpJf۝`v|drbHAZpdrtAJdQZ|vXn`JXQrrd|~HfJ`ےdQZ|ltb~f`HAbےlJtAnXvbHAZZ|d~f`Abے`lJtAZdQbtvnXbHAZp˙rtAJlvpfHpZHAAHr󙐂XnvˍQtJl˂rQJltbdtAJlvpfH˂pZZdQbtpvnbHAZpdrtAJdQZ|vXn`JXQrrd|`pvp˂rrtAJlvXnہJXQrrd|lJfpv`frXQtbd~f`bے`ˁ`ZQXbpfH~tbAdZbHAdQZ|tbn~f`HAbےlJtAXv`f˂rXQltbdtAJlvpfH˂pZZdQbtnXv`XQJ`ptbdQvpfH˂pZHZdQbtvnX~HfpJ`ےQZ|dvXnJXQr㉀ۑpf۝`v|drZp˂drtAJvpfvXn`JXQrrd|~HfJ`ےdQZ|tbn~f`HAbےlJtAf~H˂rXQZ|dr~f`Abے`lJtAv`fvnXbHAZp˙rtAJlvpfHp`JX`ZQXbXnvˍQtJlrXQJ`ltbHf`vpfH˂pZZdQbtpvnbHAZpdrtAJvpfvXn`JXQrrd|fpvJ`ےAJtbvXnہJXQrrd|~Hfpv`frXQtbd~f`Qr˂pۑpJApfH~tbAdZےbHAdQZ|vXn~f`HAbےlJtAXv`f˂rXQltbHf`vpfH˂pZZdQbtnXv`bHAZpdQZ|vpfH˂pZHZdQbtvnXHfpJ`ےQZ|dvXnۑZHAbHr󙐂ˁf۝`v|drZp˂drtAJvpfHvXn`JXQrrd|~HfJ`ےdQZ|vXn~f`HAbےlJtAfn˂rXQdrtAJ~f`Abے`lJtAv`fvnrXbHAZp˙rtAJlvpfHے`JX`ZQXbXnvˍQtJlrXQJltb~f`vpfے˂pZZdQbtpvnbHAZpdrtAJvpfHvXn`JXQrrd|Xv`fJ`ےltbvXnہJXQrrd|~HfpQJ`ےrXQtbd~f`Qr˂pۑpJApfH~tbAdZbHAZpdQZ|vXn`JXQrHAbےlJtAXv`f˂rXQltb~f`vpfے˂pZZdQbt~HfrXQJdQZ|vpfH˂pZHZdQbtvnXHAZpJ`ےQZ|dvXnۑZHAXQHQXb㉀f۝`v|drrXQdrtAJvpfH˂pZ`JXQrrd|~HfJ`ےdQZ|vXn`JXQrHAbےlJtApvn`ےbdrtAJ~f`Abے`lJtAv`frXQbHAZp˙rtAJlvpfHr˂pۑpJAHrXnvˍQtJlJ`ےltb~f`HAbے˂pZZdQbtpvnbHAZpdrtAJvpfH˂pZ`JXQrrd|Xv`fHAZp˂bdQZ|vXnہJXQrrd|~HfpJ`ےむrXQtbd~f`ZHAb󙐂ˁ`ZpfH~tbAdZbHAZpdQZ|vXn`JXQrHAے`lJtAXv`f˂rXQltb~f`HAbے˂pZZdQbt~HXrXQJdrtvpfH˂pZHZdQbtvnXbHAZpJ`ےJlQZ|dvXnے`JXQQXb㉀f۝`v|drrXQdrtAJvpfH˂pZJXQrbrd|~HfJ`ےdQZ|vXn`JXQrHAے`lJtAv`f`ےbAJlt~f`Abے`lJtAv`frXQtbdrtAJlvpfHr˂pۑpJAHXnvˍQtJltKKKKKKKKKKKKKKKKKKKLLLLLLLLLL \ No newline at end of file diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv30_1.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv30_1.dat deleted file mode 100644 index e50183cc4a..0000000000 --- a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv30_1.dat +++ /dev/null @@ -1,273 +0,0 @@ -}~}~}~}~}~}~}~}~{|{|{|{|{|{|{|{|{|{|{|{|yzyzyzyzyzyzyzyzwxwxwxwxwxwxwxwxuvuvuvuvuvuvuvuvststststststststststststqrqrqrqrqrqrqrqropopopopopopopopmnmnmnmnmnmnmnmnmlklklklklklklklklklklklijijijijijijijihghghghghefefefefeefefefedcdcdcdcdcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMKLKLKLKLKLKKKKKLIJIJIJIJIJIJIJIJGHGHGHGHGHGHGHGHEFEFEFEFEFEFEFEFCDCDCDCDCDCDCDCDCDCDCDCDABABABABABABABAB?@?@?@?@?@?@?@?@=>=>=>=>=>=>=>=>;<;<;<;<;<;<;<;<;<;<;<;<9:9:9:9:9:9:9:9:78787878787878785656565656565656343434343434343421212121121212120/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!        }~}~}~}~}~}~}~}~{|{|{|{|{|{|{|{|{|{|{|{|yzyzyzyzyzyzyzyzwxwxwxwxwxwxwxwxuvuvuvuvuvuvuvuvststststststststststststqrqrqrqrqrqrqrqropopopopopopopopmnmnmnmnmnmnmnmnklklklklklklklklklklklklijijijijghghghghghghghghefefefeffefefefedcdcdcdcdcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMNMNMLKLKKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIJGHGHGHGHGHGHGHGHEFEFEFEFEFEFEFEFCDCDCDCDCDCDCDCDCDCDCDCDABABABABABABABAB?@?@?@?@?@?@?@?@=>=>=>=>=>=>=>=>;<;<;<;<;<;<;<;<;<;<;<;<9:9:9:9:9:9:9:9:78787878787878785656565656565656343434343434343421211111121212120/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!        }~}~}~}~}~}~}~}~{|{|{|{|{|{|{|{|{zyzyzyzyzyzyzyzyzyzyzyzwxwxwxwxwxwxwxwxuvuvuvuvuvuvuvuvststststststststststststqrqrqrqrqrqrqrqropopopopopopopopmnmnmnmnmnmnmnmnklklklklklklklklklklklklijijijijghghghghghghghghefefefeefefefefedcdcdcdcdcdcdcdcbabababababababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMLKLKKKKKKLKLKLKLIJIJIJIJIJIJIJIJIJIJIJIJGHGHGHGHGHGHGHGHEFEFEFEFEFEFEFEFCDCDCDCDCDCDCDCDCDCDCDCBABABABABABABABAB?@?@?@?@?@?@?@?@=>=>=>=>=>=>=>=>;<;<;<;<;<;<;<;<;<;<;<;<9:9:9:9:9:9:9:9:78787878787878785656565656565656343434343434343412121212121212120/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!        }~}~}~}~}~}~}~}~{|{|{|{|{|{|{|{|yzyzyzyzyzyzyzyzyzyzyzyzwxwxwxwxwxwxwxwxuvuvuvuvuvuvuvuvststststststststsrqrqrqrqrqrqrqrqrqrqrqropopopopopopopopmnmnmnmnmnmnmnmnklklklklklklklklklklklklijijijijghghghghghghghgheeeefefefefefefedcdcdcdcdcdcdcdcbabababababababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMKLKLKLKLKLKLKLKLIJIJIJIJIJIJIJIJIJIJIJIJGHGHGHGHGHGHGHGHEFEFEFEFEFEFEFEFCDCDCDCDCDCDCDCDABABABABABABABABABABABAB?@?@?@?@?@?@?@?@=>=>=>=>=>=>=>=>;<;<;<;<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:9:78787878787878785656565656565656343434343434343412121212121212120/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!"!        }~}~}~}~}~}~}~}~{|{|{|{|{|{|{|{|yzyzyzyzyzyzyzyzyzyzyzyzwxwxwxwxwxwxwxwxuvuvuvuvuvuvuvuvststststststststqrqrqrqrqrqrqrqrqrqrqrqropopopopopopopopmnmnmnmnmnmnmnmnklklklklklklklklkjijijijijijijijghghghghghghghghfefefefefefefefedcdcdcdcdcdcdcdcbabababababababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQRQRQRQRQPOPOPOPOPOPOPONMNMNMNMNMKLKLKLKLKLKLKLKLIJIJIJIJIJIJIJIJIJIJIJIJGHGHGHGHGHGHGHGHEFEFEFEFEFEFEFEFCDCDCDCDCDCDCDCDABABABABABABABABABABABAB?@?@?@?@?@?@?@?@=>=>=>=>=>=>=>=>;<;<;<;<;<;<;<;<9:9:9:9:9:9:9:9:9:9:9:9:78787878787878785656565656565656343434343434343412121212111111210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!"!"!"!"!        }~}~}~}~}~}~}~}~{|{|{|{|{|{|{|{|yzyzyzyzyzyzyzyzyzyzyzyzwxwxwxwxwxwxwxwxuvuvuvuvuvuvuvuvststststststststqrqrqrqrqrqrqrqrqrqrqrqropopopopopopopopmnmnmnmnmnmnmnmnklklklklklklklklijijijijijijijijghghghghghghghghfefefefefefeeeeedcdcdcdcdcdcdcdcbabababababababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQRQRQRQRQPOPOPOPONMNMNMNMNMNMNMNMKLKLKLKLKKKKKKLKIJIJIJIJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGHEFEFEFEFEFEFEFEFCDCDCDCDCDCDCDCDABABABABABABABABABABABAB?@?@?@?@?@?@?@?@=>=>=>=>=>=>=>=>;<;<;<;<;<;<;<;<9:9:9:9:9:9:9:9:9:9:9:9:787878787878787856565656565656563434343434321212121212122121210/0/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!"!"!"!"!        }~}~}~}~}~}~}~}~{|{|{|{|{|{|{|{|yzyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwxwxwxwxuvuvuvuvuvuvuvuvststststststststqrqrqrqrqrqrqrqrqrqrqrqropopopopopopopopmnmnmnmnmnmnmnmnklklklklklklklklijijijijijijijijghghghghghghghghfefefefeefefefefdcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQRQRQRQRQPOPOPOPONMNMNMNMNMNMNMNMKLKLKLKLLKLKLKLKIJIJIJIJIJIJIJIJGHGHGHGHGHGHGHGHGHGHGHGHEFEFEFEFEFEFEFEFCDCDCDCDCDCDCDCDABABABABABABABABABABABA@?@?@?@?@?@?@?@?@=>=>=>=>=>=>=>=>;<;<;<;<;<;<;<;<9:9:9:9:9:9:9:9:9:9:9:9:787878787878787856565656565656563434343412111112121212120/0/0/0/0/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)*)*)*)('('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!"!"!"!"!        }~}~}~}~}~}~}~}~{|{|{|{|{|{|{|{|yzyzyzyzyzyzyzyzwxwxwxwxwxwxwxwxwxwxwxwxuvuvuvuvuvuvuvuvststststststststqrqrqrqrqrqrqrqrqpopopopopopopopopopopopmnmnmnmnmnmnmnmnklklklklklklklklijijijijijijijijghghghghghghghghfefefefeefefefefdcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQRQRQRQRQPOPOPOPONMNMNMNMNMNMNMNMKLKLKLKLLKLKLKLKIJIJIJIJIJIJIJIJGHGHGHGHGHGHGHGHGHGHGHGHEFEFEFEFEFEFEFEFCDCDCDCDCDCDCDCDABABABABABABABAB?@?@?@?@?@?@?@?@?@?@?@?@=>=>=>=>=>=>=>=>;<;<;<;<;<;<;<;<9:9:9:9:9:9:9:9:9:9:9:98787878787878787856565656565656563434343412121212121111110/0/0/0/0/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!"!"!"!         }~}~}~}~}~}~}~}~{|{|{|{|{|{|{|{|yzyzyzyzyzyzyzyzwxwxwxwxwxwxwxwxwxwxwxwxuvuvuvuvuvuvuvuvststststststststqrqrqrqrqrqrqrqropopopopopopopopopopopopmnmnmnmnmnmnmnmnklklklklklklklklijijijijijijijijghghghghghghghghfefefeeeefefefefdcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMKLKKKKKKLKLKLKLKIJIJIJIJIJIJIJIJGHGHGHGHGHGHGHGHGHGHGHGHEFEFEFEFEFEFEFEFCDCDCDCDCDCDCDCDABABABABABABABAB?@?@?@?@?@?@?@?@?@?@?@?@=>=>=>=>=>=>=>=>;<;<;<;<;<;<;<;<9:9:9:9:9:9:9:9:78787878787878787878787856565656565654343434343412121212212121210/0/0/0/0/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!            }}~}~}~}~}~}~}~}~{|{|{|{|{|{|{|{|yzyzyzyzyzyzyzyzwxwxwxwxwxwxwxwxwxwxwxwxuvuvuvuvuvuvuvuvststststststststqrqrqrqrqrqrqrqropopopopopopopopopopopopmnmnmnmnmnmnmnmnklklklklklklklklijijijijijijijijghghghghghghghgheeefefefefefefefdcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMLKLKLKLKLKLKLKLKIJIJIJIJIJIJIJIJGHGHGHGHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEFCDCDCDCDCDCDCDCDABABABABABABABAB?@?@?@?@?@?@?@?@?@?@?@?@=>=>=>=>=>=>=>=>;<;<;<;<;<;<;<;<9:9:9:9:9:9:9:9:78787878787878787878787856565656343434343434343412121212212121210/0/0/0/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!            }}}}}~}~}~}~}~}~}~}~}~}~{|{|{|{|{|{|{|{|yzyzyzyzyzyzyzyzwxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvuvuvuvuvststststststststqrqrqrqrqrqrqrqropopopopopopopopopopopopmnmnmnmnmnmnmnmnklklklklklklklklijijijijijijijijghghghghghghghghefefefefefefefefdcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMLKLKLKLKLKLKLKLKIJIJIJIJIJIJIJIJGHGHGHGHGHGHGHGHEFEFEFEFEFEFEFEFEFEFEFEFCDCDCDCDCDCDCDCDABABABABABABABAB?@?@?@?@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=>;<;<;<;<;<;<;<;<9:9:9:9:9:9:9:9:78787878787878787878787856565656343434343434343412121111212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('('('('&%&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!            }~}~}~}~}~}~}~}~}~}~}~}~{|{|{|{|{|{|{|{|yzyzyzyzyzyzyzyzwxwxwxwxwxwxwxwxuvuvuvuvuvuvuvuvuvuvuvuvststststststststqrqrqrqrqrqrqrqropopopopopopopoponmnmnmnmnmnmnmnmnmnmnmnklklklklklklklklijijijijijijijijghghghghghghghghefefefefefeeeeeedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMLKLKLKLKKKKKKLKLIJIJIJIJIJIJIJIJGHGHGHGHGHGHGHGHEFEFEFEFEFEFEFEFEFEFEFEFCDCDCDCDCDCDCDCDABABABABABABABAB?@?@?@?@?@?@?@?@=>=>=>=>=>=>=>=>=>=>=>=>;<;<;<;<;<;<;<;<9:9:9:9:9:9:9:9:78787878787878787878787656565656343434343434343411212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!           }~}~}~}~}~}~}~}~}~}~}~}~{|{|{|{|{|{|{|{|yzyzyzyzyzyzyzyzwxwxwxwxwxwxwxwxuvuvuvuvuvuvuvuvuvuvuvuvststststststststqrqrqrqrqrqrqrqropopopopopopopopmnmnmnmnmnmnmnmnmnmnmnmnklklklklklklklklijijijijijijijijghghghghghghgfefefefefeffefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMLKLKLKLKKLKLKLKLIJIJIJIJIJIJIJIJGHGHGHGHGHGHGHGHEFEFEFEFEFEFEFEFEFEFEFEFCDCDCDCDCDCDCDCDABABABABABABABAB?@?@?@?@?@?@?@?@=>=>=>=>=>=>=>=>=>=>=>=>;<;<;<;<;<;<;<;<9:9:9:9:9:9:9:9:78787878787878785656565656565656343434343434343421212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!        }~}~}~}~}~}~}~}~}|{|{|{|{|{|{|{|{|{|{|{|yzyzyzyzyzyzyzyzwxwxwxwxwxwxwxwxuvuvuvuvuvuvuvuvuvuvuvuvststststststststqrqrqrqrqrqrqrqropopopopopopopopmnmnmnmnmnmnmnmnmnmnmnmnklklklklklklklklijijijijijijijijghghghghefefeeeeefefefefdcdcdcdcdcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMLKLKLKLKKLKLKLKLIJIJIJIJIJIJIJIJGHGHGHGHGHGHGHGHEFEFEFEFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCDABABABABABABABAB?@?@?@?@?@?@?@?@=>=>=>=>=>=>=>=>=>=>=>=>;<;<;<;<;<;<;<;<9:9:9:9:9:9:9:9:78787878787878785656565656565656343434343434343421212121211111120/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!        }~}~}~}~}~}~}~}~{|{|{|{|{|{|{|{|{|{|{|{|yzyzyzyzyzyzyzyzwxwxwxwxwxwxwxwxuvuvuvuvuvuvuvuvutstststststststststststqrqrqrqrqrqrqrqropopopopopopopopmnmnmnmnmnmnmnmnmnmnmnmnklklklklklklklklijijijijijijijijghghghghefefefefefefeeeedcdcdcdcdcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMLKKKKKKLKLKLKLKLIJIJIJIJIJIJIJIJGHGHGHGHGHGHGHGHEFEFEFEFEFEFEFEFCDCDCDCDCDCDCDCDCDCDCDCDABABABABABABABAB?@?@?@?@?@?@?@?@=>=>=>=>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;<9:9:9:9:9:9:9:9:78787878787878785656565656565656343434343434343421212121121212120/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!                  - - - - - - - -             - - - - - - - -             - - - - - - - -             - - - - - - - -           - - - - - - - -         - - - - - - - -         - - - - - - - -         - - - - - - - -         - - - - - - - - - -         - - - - - - - - - - - -         - - - - - - - - - - - -         - - - - - - - - - - - -         - - - - - - - - - -          - - - - - - - -         - - - - - - - -LLKKJJII ==>>??@@yyzz{{||RRQQKKJJ - - UUVVWWXXtssrrqqp00//..--TUUVVWWX~~}EDDCCBBA 45566778pqqrrssteddccbba)((''&&%PQQRRSSTIHHGGFFE - - 01122334lmmnnoopihhggffe-,,++**)LMMNNOOPMLLKKJJI :;;<<==>A@@??>>= OPQQRRSS~~}}DDCCBBAA55667788qqrrssttddccbbaa((''&&%%QQRRSSTTHHGGFFEE - - 11223344mmnnoopphhggffee,,++**))MMNNOOPPLLKKJJII --..//00iijjkkllbbaa``__8899::;;~~KJJIIHHG - 56677889qrrssttudccbbaa`(''&&%%$QRRSSTTUHGGFFEED - - 12233445mnnooppqhggffeed,++**))(MNNOOPPQLKKJJIIH -..//001ijjkkllmlkkjjiih0//..--,\]]^^__`eddccbba,,--..//oppqqrrsccbbaa``''&&%%$$RRSSTTUUGGFFEEDD - - 22334455nnooppqqggffeedd++**))((NNOOPPQQKKJJIIHH ..//0011jjkkllmmkkjjiihh//..--,,HHGGFFEE - - AABBCCDD}}~~IIHHGGFFYYZZ[[\\poonnmml,,++**)) XYYZZ[[\}||{{zzyA@@??>>=899::;;??@@AAB=<<;;::9TTUUVVWW||{{zzyy@@??>>==99::;;<>??GFFEEDDC9::;;<<=uvvwwxxy`__^^]]\$##""!! UVVWWXXY~~}}|DCCBBAA@56677889qrrssttudccbbaa`(''&&%%$QRRSSTTUHGGFFEED - - 12233445mnnooppqhggffeed,++**))(`aabbccda``__^^]00112345sttuuvvw__^^]]\\##""!! VVWWXXYY~~}}||CCBBAA@@66778899rrssttuuccbbaa``''&&%%$$RRSSTTUUGGFFEEDD - - 22334455nnooppqqggffeedd++**))((~~}}DDCCBBAA - - EEFFGGHHEEDDCCBB]]^^__``lkkjihgf((''&&%% !!""##$\]]^^__`yxxwwvvu=<<;;::9<==>>??@xyyzz{{|]\\[[ZZY!  XYYZZ[[\}||{{zzyA@@??>>=899::;;>??@@yyzz{{||\\[[ZZYY  YYZZ[[\\||{{zzyy@@??>>==99::;;<>??@@Ayzz{{||}\[[ZZYYX  !YZZ[[\\]|{{zzyyx@??>>==<9::;;<<=uvvwwxxy`__^^]]\$##""!! UVVWWXXY~~}}|DCCBBAA@56677889qrrssttudccbbaa`(''&&%%$ !!"deekkllm]\\[[ZZY6778899:wxxyyzz{[[ZZYYXX !!ZZ[[\\]]{{zzyyxx??>>==<<::;;<<==vvwwxxyy__^^]]\\##""!! VVWWXXYY~~}}||CCBBAA@@66778899rrssttuuccbbaa``''&&%%$$||{{zzyy@@??>>== IIJJKKLLAA@@??>>aabbccddeeddccbb$$##""!!$%%&&''(`aabbccduttssrrq98877665@AABBCCD|}}~~YXXWWVVU !!""##$\]]^^__`yxxwwvvu=<<;;::9<==>>??@xyyzz{{|]\\[[ZZY!  XYYZZ[[\}||{{zzyA@@??>>=FGGHHIIJ{zzyyxxw0//..--,\\]]^^__ttssrrqq88776655AABBCCDD}}~~XXWWVVUU!!""##$$]]^^__``xxwwvvuu<<;;::99==>>??@@yyzz{{||\\[[ZZYY  YYZZ[[\\||{{zzyy@@??>>==99::;;<>==<<; ABBCCDDE}~~XWWVVUUT!""##$$%]^^__``axwwvvuut<;;::998=>>??@@Ayzz{{||}\[[ZZYYX  !YZZ[[\\]|{{zzyyx@??>>==<9::;;<<=uvvwwxxy`__^^]]\$##""!! "##$$%%&mnnooppqYXXWWVVU -:;;<<==>{||}}~~WWVVUUTT""##$$%%^^__``aawwvvuutt;;::9988>>??@@AAzz{{||}}[[ZZYYXX !!ZZ[[\\]]{{zzyyxx??>>==<<::;;<<==vvwwxxyy__^^]]\\##""!! xxwwvvuu<<;;::99MMNNOOPP==<<;;:: !!""eekkllmmaa``__^^ ())**++,deeffgghqppoonnm54433221 - - DEEFFGGHUTTSSRRQ$%%&&''(`aabbccduttssrrq98877665@AABBCCD|}}~~YXXWWVVU !!""##$\]]^^__`yxxwwvvu=<<;;::9JKKQQRRSwvvuutts,++**))( !!""``aabbccppoonnmm44332211 - - EEFFGGHHTTSSRRQQ%%&&''((aabbccddttssrrqq88776655AABBCCDD}}~~XXWWVVUU!!""##$$]]^^__``xxwwvvuu<<;;::99==>>??@@yyzz{{||RRQQKKJJHHIIJJKK|{{zzyyx;::99887 - - EFFGGHHITSSRRQQP%&&''(()abbccddetssrrqqp87766554 ABBCCDDE}~~XWWVVUUT!""##$$%]^^__``axwwvvuut<;;::998=>>??@@Ayzz{{||}\[[ZZYYX &''(())*qrrssttuUTTSSRRQ - >??@@AABSSRRQQPP&&''(())bbccddeessrrqqpp77665544 BBCCDDEE~~WWVVUUTT""##$$%%^^__``aawwvvuutt;;::9988>>??@@AAzz{{||}}[[ZZYYXXttssrrqq88776655QQRRSSTT~~}}||99887711##$$%%&&nnooppqq]]\\[[ZZ,--..//0hiijjkklmllkkjji100//..- HIIJJKKLQPPOONNM())**++,deeffgghqppoonnm54433221 - - DEEFFGGHUTTSSRRQ$%%&&''(`aabbccduttssrrq98877665 - - STTUUVVWsrrqqppo(''&&%%$##$$%%&&ddeefghillkkjjii00//..-- IIJJKKLLPPOONNMM))**++,,eeffgghhppoonnmm44332211 - - EEFFGGHHTTSSRRQQ%%&&''((aabbccddttssrrqq88776655AABBCCDD}}~~IIHHGGFF QQRRSSTTxwwvvuut76543211 IJJKKLLMPOONNMML)**++,,-effgghhipoonnmml43322110 - - EFFGGHHITSSRRQQP%&&''(()abbccddetssrrqqp87766554 ABBCCDDE}~~XWWVVUUT*++,,--.uvvwwxxyQKKJJIIHBCCDDEEFOONNMMLL**++,,--ffgghhiioonnmmll33221100 - - FFGGHHIISSRRQQPP&&''(())bbccddeessrrqqpp77665544 BBCCDDEE~~WWVVUUTTppoonnmm44332211UUVVWWXX{{zzyyxx00//..--''(())**rrssttuuYYXXWWVV01122334lmmnnoopihhggffe-,,++**)LMMNNOOPMLLKKJJI ,--..//0hiijjkklmllkkjji100//..- HIIJJKKLQPPOONNM())**++,deeffgghqppoonnm54433221 WXXYYZZ[onnmmllk$##""!! ''(())**jkkllmmnhhggffee,,++**))MMNNOOPPLLKKJJII --..//00iijjkkllllkkjjii00//..-- IIJJKKLLPPOONNMM))**++,,eeffgghhppoonnmm44332211 - - EEFFGGHHEEDDCCBB - - UUVVWWXXtssrrqqp00//..--MNNOOPPQLKKJJIIH -..//001ijjkkllmlkkjjiih0//..--, IJJKKLLMPOONNMML)**++,,-effgghhipoonnmml43322110 - - EFFGGHHITSSRRQQP.//00117yzz{{||}HGGFFEED FGGHHIIJKKJJIIHH ..//0011jjkkllmmkkjjiihh//..--,,JJKKLLMMOONNMMLL**++,,--ffgghhiioonnmmll33221100 - - FFGGHHIISSRRQQPPllkkjjii00//..-- YYZZ[[\\wwvvuutt,,++**))++,,--..vvwwxxyyUUTTSSRR45566778pqqrrssteddccbba)((''&&%PQQRRSSTIHHGGFFE - - 01122334lmmnnoopihhggffe-,,++**)LMMNNOOPMLLKKJJI ,--..//0hiijjkklmllkkjji100//..-[\\]]^^_keeddccb ++,,--..nooppqqrddccbbaa((''&&%%QQRRSSTTHHGGFFEE - - 11223344mmnnoopphhggffee,,++**))MMNNOOPPLLKKJJII --..//00iijjkkllllkkjjii00//..-- IIJJKKLLAA@@??>>YYZZ[[\\poonnmml,,++**))QRRSSTTUHGGFFEED - - 12233445mnnooppqhggffeed,++**))(MNNOOPPQLKKJJIIH -..//001ijjkkllmlkkjjiih0//..--, IJJKKLLMPOONNMML78899::;}~~DCCBBAA@ - - JKKLMNOPGGFFEEDD - - 22334455nnooppqqggffeedd++**))((NNOOPPQQKKJJIIHH ..//0011jjkkllmmkkjjiihh//..--,,JJKKLLMMOONNMMLLhhggffee,,++**))!!""##$$]]^^__``ssrrqqpp((''&&%%//001177zz{{||}}QQPONMLK -899::;;>?@??>>==< QQRRSSTT~~}}||CCBBAA@@66778899rrssttuuccbbaa``''&&%%$$RRSSTTUUGGFFEEDD - - 22334455nnooppqqggffeedd++**))((NNOOPPQQKKJJIIHH ddccbbaa((''&&%%%%&&''((aabbccddoonnmmll$$##""!!8899::;;~~KJJIIHHG - <==>>??@xyyzz{{|]\\[[ZZY!  XYYZZ[[\}||{{zzyA@@??>>=899::;;>==99::;;<>==<9::;;<<=uvvwwxxy`__^^]]\$##""!! UVVWWXXY~~}}|DCCBBAA@56677889qrrssttudccbbaa`(''&&%%$QRRSSTTUHGGFFEED - - ?@@AABBC~<;;::998UUVVWWXX{{zzyyxx??>>==<<::;;<<==vvwwxxyy__^^]]\\##""!! VVWWXXYY~~}}||CCBBAA@@66778899rrssttuuccbbaa``''&&%%$$RRSSTTUUGGFFEEDD - -  !!``__^^]]$$##""!!))**++,,eeffgghhkkeeddcc <<==>>??GFFEEDDC@AABBCCD|}}~~YXXWWVVU !!""##$\]]^^__`yxxwwvvu=<<;;::9<==>>??@xyyzz{{|]\\[[ZZY!  XYYZZ[[\}||{{zzyA@@??>>=899::;;>??@@yyzz{{||\\[[ZZYY  YYZZ[[\\||{{zzyy@@??>>==99::;;<>??@@Ayzz{{||}\[[ZZYYX  !YZZ[[\\]|{{zzyyx@??>>==<9::;;<<=uvvwwxxy`__^^]]\$##""!! UVVWWXXY~~}}|DCCBBAA@CDDEEFFG~}}||{{z8771100/YYZZ[[\\wwvvuutt;;::9988>>??@@AAzz{{||}}[[ZZYYXX !!ZZ[[\\]]{{zzyyxx??>>==<<::;;<<==vvwwxxyy__^^]]\\##""!! VVWWXXYY~~}}||CCBBAA@@""##$$%%\\[[ZZYY --..//00iijjkkllbbaa``__@@AABBCCCBBAA@@? - - DEEFFGGHUTTSSRRQ$%%&&''(`aabbccduttssrrq98877665@AABBCCD|}}~~YXXWWVVU !!""##$\]]^^__`yxxwwvvu=<<;;::9<==>>??@xyyzz{{|]\\[[ZZY! %&&''(()pqqrrsstVUUTTSSR - - =>>??@@A~TTSSRRQQ%%&&''((aabbccddttssrrqq88776655AABBCCDD}}~~XXWWVVUU!!""##$$]]^^__``xxwwvvuu<<;;::99==>>??@@yyzz{{||\\[[ZZYY  YYZZ[[\\wwvvuutt,,++**))##$$%%&&nnooppqq]]\\[[ZZ%&&''(()abbccddetssrrqqp87766554 ABBCCDDE}~~XWWVVUUT!""##$$%]^^__``axwwvvuut<;;::998=>>??@@Ayzz{{||}\[[ZZYYX  !YZZ[[\\]|{{zzyyx@??>>==<GHHIIJJKzyyxxwwv/..--,,+]]^^__``ssrrqqpp77665544 BBCCDDEE~~WWVVUUTT""##$$%%^^__``aawwvvuutt;;::9988>>??@@AAzz{{||}}[[ZZYYXX !!ZZ[[\\]]{{zzyyxx??>>==<<&&''(())XXWWVVUU11223344mmnnoopp^^]]\\[[DDEEFFGG~~}}|?>>==<<; HIIJJKKLQPPOONNM())**++,deeffgghqppoonnm54433221 - - DEEFFGGHUTTSSRRQ$%%&&''(`aabbccduttssrrq98877665@AABBCCD|}}~~YXXWWVVU)**++,,-tuuvvwwxRQQKKJJIABBCCDDEPPOONNMM))**++,,eeffgghhppoonnmm44332211 - - EEFFGGHHTTSSRRQQ%%&&''((aabbccddttssrrqq88776655AABBCCDD}}~~XXWWVVUU!!""##$$]]^^__``ssrrqqpp((''&&%%''(())**rrssttuuYYXXWWVV)**++,,-effgghhipoonnmml43322110 - - EFFGGHHITSSRRQQP%&&''(()abbccddetssrrqqp87766554 ABBCCDDE}~~XWWVVUUT!""##$$%]^^__``axwwvvuut<;;::998 KQQRRSSTvuuttssr+**))((' !!""##aabbccddoonnmmll33221100 - - FFGGHHIISSRRQQPP&&''(())bbccddeessrrqqpp77665544 BBCCDDEE~~WWVVUUTT""##$$%%^^__``aawwvvuutt;;::9988**++,,--TTSSRRQQ55667788qqrrssttZZYYXXWW HHIIJJKK|{{zzyyx;::99887LMMNNOOPMLLKKJJI ,--..//0hiijjkklmllkkjji100//..- HIIJJKKLQPPOONNM())**++,deeffgghqppoonnm54433221 - - DEEFFGGHUTTSSRRQ-..//001xyyzz{{|IHHGGFFEEFFGGHHILLKKJJII --..//00iijjkkllllkkjjii00//..-- IIJJKKLLPPOONNMM))**++,,eeffgghhppoonnmm44332211 - - EEFFGGHHTTSSRRQQ%%&&''((aabbccddoonnmmll$$##""!!++,,--..vvwwxxyyUUTTSSRR-..//001ijjkkllmlkkjjiih0//..--, IJJKKLLMPOONNMML)**++,,-effgghhipoonnmml43322110 - - EFFGGHHITSSRRQQP%&&''(()abbccddetssrrqqp87766554 - - TUUVVWWXrqqppoon'&&%%$$#$$%%&&''eefghijkkkjjiihh//..--,,JJKKLLMMOONNMMLL**++,,--ffgghhiioonnmmll33221100 - - FFGGHHIISSRRQQPP&&''(())bbccddeessrrqqpp77665544 ..//0011PPOONNMM99::;;<>??@@AABz{{||}}~[ZZYYXXW !!"Z[[\\]]^{zzyyxxw?>>==<<;:;;<<==>vwwxxyyz_^^]]\\[#""!! VWWXXYYZwvvuutts,++**))(+,,--../vwwxxyyzIHHGGFFE - - @AABBCCD::;;<<==vvwwxxyyUUTTSSRR - - EEFFGGHH~~}}||{>==<<;;: -BCCDDEEF~WVVUUTTS"##$$%%&^__``aabwvvuutts;::99887>??@@AABz{{||}}~[ZZYYXXW !!"Z[[\\]]^srrqqppo(''&&%%$/0011778z{{||}}}EDDCCBBA - - DEEFFGGH>>??@@AAzz{{||}}QQKKJJIIIIJJKKQQ{zzyyxxw:9988776 - FGGHHIIJSRRQQPPO&''(())*bccddeefsrrqqppo76655443 -BCCDDEEF~WVVUUTTS"##$$%%&^__``aabonnmmllk$##""!! 899::;;<}||{{zzyA@@??>>= HIIJJKKLBBCCDDEE~~HHGGFFEE - -RRSSTTUUwvvuutts54321100JKKLLMMNONNMMLLK*++,,--.fgghhiijonnmmllk3221100/ - FGGHHIIJSRRQQPPO&''(())*bccddeefkeeddccb <==>>??@yxxwwvvu=<<;;::9LMMNNOOPFFGGHHIIDDCCBBAA VVWWXXYYsrrqqppo//..--,,NOOPPQQRKJJIIHHG .//00112jkkllmmnkjjiihhg/..--,,+JKKLLMMNONNMMLLK*++,,--.fgghhiijbaa``__^@AABBCCDuttssrrq98877665PQQRRSSTJJKKLLMM@@??>>==ZZ[[\\]]onnmmllk++**))((RSSTTUUVGFFEEDDC - - 23344556nooppqqrgffeeddc+**))(('NOOPPQQRKJJIIHHG .//00112jkkllmmn^]]\\[[ZDEEFFGGHqppoonnm54433221TUUVVWWXNNOOPPQQ<<;;::99^^__``aakjihgfee''&&%%$$VWWXXYYZ~~}}||{CBBAA@@?6778899:rssttuuvcbbaa``_'&&%%$$#RSSTTUUVGFFEEDDC - - 23344556nooppqqrZYYXXWWV HIIJJKKQmllkkjji100//..- XYYZZ[[\RRSSTTUU~~}}||{{88771100bbccddeeddccbbaa##""!!  !!"Z[[\\]]^{zzyyxxw?>>==<<;:;;<<==>vwwxxyyz_^^]]\\[#""!! VWWXXYYZ~~}}||{CBBAA@@?6778899:rssttuuvVUUTTSSR - - -QRRSSTTUihhggffe-,,++**) !!""##$\]]^^__`VVWWXXYYzzyyxxww//..--,, !!""##kkllmmnn``__^^]]"##$$%%&^__``aabwvvuutts;::99887>??@@AABz{{||}}~[ZZYYXXW !!"Z[[\\]]^{zzyyxxw?>>==<<;:;;<<==>vwwxxyyzRQQKKJJI - UVVWWXXYeddccbba)((''&&%$%%&&''(`aabbccdZZ[[\\]]vvuuttss++**))(($$%%&&''ooppqqrr\\[[ZZYY&''(())*bccddeefsrrqqppo76655443 -BCCDDEEF~WVVUUTTS"##$$%%&^__``aabwvvuutts;::99887>??@@AABz{{||}}~IHHGGFFEYZZ[[\\]a``__^^]%$$##""!())**++,deeffggh^^__``aarrqqppoo''&&%%$$(())**++ssttuuvvXXWWVVUU*++,,--.fgghhiijonnmmllk3221100/ - FGGHHIIJSRRQQPPO&''(())*bccddeefsrrqqppo76655443 -BCCDDEEF~EDDCCBBA]^^__``a]\\[[ZZY! ,--..//0hiijjkklbbccddeennmmllkk##""!! ,,--..//wwxxyyzzTTSSRRQQ .//00112jkkllmmnkjjiihhg/..--,,+JKKLLMMNONNMMLLK*++,,--.fgghhiijonnmmllk3221100/ - FGGHHIIJA@@??>>=abbccddeYXXWWVVU01122334lmmnnoopffgghhiieeddccbb00117788{{||}}~~PONMLKKJ - - 23344556nooppqqrgffeeddc+**))(('NOOPPQQRKJJIIHHG .//00112jkkllmmnkjjiihhg/..--,,+JKKLLMMN=<<;;::9 !!""#ekkllmmnUTTSSRRQ45566778pqqrrsstjjkkllmmaa``__^^99::;;<<JIIHHGGF 6778899:rssttuuvcbbaa``_'&&%%$$#RSSTTUUVGFFEEDDC - - 23344556nooppqqrgffeeddc+**))(('NOOPPQQR~~}}||{98877110#$$%%&&'nooppqqrQPPOONNM899::;;>??@@FEEDDCCB:;;<<==>vwwxxyyz_^^]]\\[#""!! VWWXXYYZ~~}}||{CBBAA@@?6778899:rssttuuvcbbaa``_'&&%%$$#RSSTTUUV{zzyyxxw0//..--,'(())**+rssttuuvMLLKKJJI <==>>??@xyyzz{{||}}fpvfpvfpvXQJ`ےXQJ`ےZ|lvXnvpfZHAbr˂pbtlbtlf~Hf~HfHbHAbHAAJltAJltf`vXf`vXQr˂pQr˂pQr˂pbtlbtlf~Hf~HbHAbHAJltAJltAJltvXnۅvpfۙے`JXbtl|ZdQf~Hf~HfHfbHAZbHAZJltJlt`vXn`vXnr˂pr˂pr˂ptlJtlJf~Hf~HbHAZbHAZJltJltJlt`vXn`vXnJXQr˂pZ|ZdQrdt璝vnXv`ffpbHAZpbHAZpJltJltvXnvXnr˂pr˂pr˂plJtlJtf~Hf~HbHAZpbHAZpJltJltJltvXnvXnr˂pr˂pArd||ZdQfpv~HXZp˂ےbHltbltbvXnvXn˂pZ˂pZ˂pZlJtAlJtA~Hf~HfbHAZpbHAZpltbltbltbvXnvXn˂pZ˂pZnXv`nXv`nXv`bHAZbHAZtbdQZvpfHH~f`JXQZHAbJtArdJtArdfpvfpvfpvZp˂Zp˂bdQZ|bdQZ|nvpnvpZHAbZHAbZHAJtArdJtArdfpvfpvZp˂Zp˂bdQZ|bdQZ|bdQZ|vpfH`JXQHQr˂pJtArdbtlfpvfpvpvnp˂rp˂rbdQZ|bdQZ|vpfvpfZHAbZHAbZHAےtArdtArdfpvfpvp˂rp˂rbdQZ|bdQZ|bdQZ|vpfvpf˂pZHAHAbےbtllJfpv`fvn˂rX˂rXbdQZ|bdQZ|vpfHvpfHZHAbZHAbZHAے`Ard|Ard|fpvfpv˂rX˂rXbdQZ|bdQZ|bdQZ|vpfHvpfHZHAbZHAbہZdQtAbtlnXv`v`frXQJAZp˂dQZ|dQZ|vpfHvpfHHAbےHAbےHAے`rd|rd|pvnpvn˂rXQ˂rXQdQZ|dQZ|dQZ|vpfHvpfHHAbےHAbےf~Hf~Hp˂rp˂rp˂r|dr~f``vXnrZAbے`JXQ|ZdQ|ZdQnXv`nXv`nrXQJ`rXQJ`rXQJ`ہdrtdrtfH~fH~˙ے`JXے`JX`JXQ|ZdQ|ZdQnXv`nXv`rXQJ`rXQJ`ہdrtdrtdtA~f`Abے`ZHAXQ|ZdQbJtArdnXv`nXv`rXQJ`XQJ`ےXQJ`ےdrtAdrtAH~fH~fے`JXQے`JXQ`JXQr|ZdQb|ZdQbnXv`nXv`XQJ`ےXQJ`ےdrtAdrtAdtAJH~fH~fbے``JXQrJtArdvnv~HfprXQJ`QJ`ےQJ`ےdrtAdrtA~f`~f``JXQ`JXQJXQrZdQbtZdQbtnXv`nXv`QJ`ےQJ`ےdrtAdrtAdtAJl~f`~f``JXQ`JXQrd|JtAdQbtf~H~HfpbHAZpˉrXQJ`drtAJdrtAJ~f`~f``JXQr`JXQrJXQrbZdQbtZdQbtXv`fXv`fJ`ےJ`ےdrtAJdrtAJdtAJl~f`~f``JXQr`JXQrfpvfpvXQJ`ےXQJ`ےXQJ`ےtAJlvXH~vpfے`Jr˂pbtlbtlf~Hf~HےHAbHAbHAAJltAJltf`vXf`vXQr˂pQr˂prbtlbtlbtlf~Hf~HbHAbHAAJltAJltJltvXnہJXQrr˂pJtAr|ZdQf~Hf~HےHAZbHAZbHAZJltJlt`vXn`vXnr˂pr˂pbtltlJtlJf~Hf~HbHAZbHAZJltJltltb`vXn`vXnJXQr˂p`|ZdQf~HvnXHAZpbHAZpbHAZpJltJltvXnvXnr˂pr˂pbtllJtlJtf~Hf~HbHAZpbHAZpJltJlttbvXnvXnr˂pr˂pZdQbtlJtfpvvnXrXQےbHltbltbvXnvXn˂pZ˂pZtlJlJtAlJtA~Hf~HfbHAZpbHAZpltbltbtbnvXnvXn˂pZ˂pZnXv`nXv`bHAZbHAZJlttbdQZf`vHXnXQr˂ZHAbJtArdJtArdfpvfpvZp˂Zp˂Zp˂bdQZ|bdQZ|nvpnvpZHAbZHAbJtAdJtArdJtArdfpvfpvZp˂Zp˂bdQZ|bdQZ|bnvpvp`vX˂pZHZHAbd|Zbtlfpvfpvp˂rp˂rp˂rbdQZ|bdQZ|vpfvpfZHAbZHAbJtAdtArdtArdfpvfpvp˂rp˂rbdQZ|bdQZ|nvpvpfvpf˂p`JJXQrbbtlfpvv`f˂rX˂rX˂rXbdQZ|bdQZ|vpfHvpfHZHAbZHAbJtAd|Ard|Ard|fpvfpv˂rX˂rXbdQZ|bdQZ|nvpvpfHvpfHZHAbZHAbےlJtAArd|nXv`v`pvJ`ےAZrXQdQZ|dQZ|vpfHvpfHHAbےHAbےtAd|rd|rd|pvnpvn˂rXQ˂rXQdQZ|dQZ|vpfvpfHvpfHHAbےHAbےf~Hf~Hp˂rp˂rdrtAJ|dtXnvvpfHpZHAbJQr˂|ZdQ|ZdQnXv`nXv`rXQJ`rXQJ`rXQJ`ہdrtdrtfH~fH~˙ے`JXے`JX|ZdQ|ZdQ|ZdQnXv`nXv`rXQJ`rXQJ`ہdrtdrt`vXnvpAbے``JXQdQbtJtArnXv`nXv`XQJ`ےXQJ`ےXQJ`ےdrtAdrtAH~fH~fے`JXQے`JXQ|ZdQb|ZdQb|ZdQbnXv`nXv`XQJ`ےXQJ`ےdrtAdrtAfHfH~fH~fXQr˂tl||ZdQbnXv`˕~fvQJ`ےQJ`ےQJ`ےdrtAdrtA~f`~f``JXQ`JXQZdQbtZdQbtZdQbtnXv`nXv`QJ`ےQJ`ےdrtAdrtAfHf`~f`~f``JXQ`JXQrd|ZdQbtpvnrXQbHAZpJ`ےJdrtAJdrtAJ~f`~f``JXQr`JXQrZdQbtZdQbtZdQbtXv`fXv`fJ`ےJ`ےdrtAJdrtAJHf`~f`~f``JXQr`JXQrlJtAfpvfpvXQJ`ےXQJ`ےltbbdQZ|pfH~~f`ے`JpZHAbtlbtlf~Hf~HbHAbHAJltAJltAJltf`vXf`vXQr˂pQr˂pbtlbtlbtlf~Hf~HbHAbHAAJltAJltnvpfH~JXQrr˂plJtArZdQbtf~Hf~HbHAZbHAZJltJltJlt`vXn`vXnr˂pr˂ptlJtlJtlJf~Hf~HbHAZbHAZJltJlt`vXn`vXn`vXnpZHAbZdQbttlJf~HnXv`bHAZpbHAZpJltJltJltvXnvXnr˂pr˂plJtlJtlJf~Hf~HbHAZpbHAZpJltJltvXnvXnvXnr˂pr˂pZdQbtdlJtnXv`J`AZprXQltbltbltbvXnvXn˂pZ˂pZlJtAlJtAlJf~Hf~HfbHAZpbHAZpltbltbvXnvXnvXn˂pZ˂pZrd|nXv`nXv`bHAZbHAZdQZ|drtAf`vvXnXQr˂bے`JtArdJtArdfpvfpvZp˂Zp˂bdQZ|bdQZ|bdQZ|nvpnvpZHAbZHAbJtArdJtArdJfpvfpvfpvZp˂Zp˂bdQZ|bdQZ|fH~˕f`vXے`ZHAbd|ZlJtAfpvfpvp˂rp˂rbdQZ|bdQZ|bdQZ|vpfvpfZHAbZHAbtArdtArdfpvfpvfpvp˂rp˂rbdQZ|bdQZ|vpfvpfvpfے`JlJtAtArdfpvf~H˂rX˂rXbdQZ|bdQZ|bdQZ|vpfHvpfHZHAbZHAbArd|Ard|fpvfpvfpv˂rX˂rXbdQZ|bdQZ|vpfHvpfHvpfZHAbZHAbۙ|ZdArdtf~H˂rXJ`bAZdQZ|dQZ|dQZ|vpfHvpfHHAbےHAbےrd|rd|pvnpvnpvn˂rXQ˂rXQdQZ|dQZ|vpfHvpfHvpfےHAbےHAbےZdQbtf~Hf~Hp˂rp˂rdrtAJJltXnvpfHpZAb`JXQr˂|ZdQ|ZdQnXv`nXv`rXQJ`rXQJ`ہdrtdrtdtAfH~fH~˙ے`JXے`JX|ZdQ|ZdQnXv`nXv`nXv`rXQJ`rXQJ`ہdrtdrtf`vXHnvpJXQrˉ˂pZHdQbtrd|nXv`nXv`XQJ`ےXQJ`ےdrtAdrtAdtAJH~fH~fے`JXQے`JXQ|ZdQb|ZdQbnXv`nXv`nXv`XQJ`ےXQJ`ےdrtAdrtAH~fH~fے`JXQXQr˂rd||ZdQbnXvf~fpvQJ`ےQJ`ےdrtAdrtAdtAJl~f`~f``JXQ`JXQZdQbtZdQbtnXv`nXv`nXv`QJ`ےQJ`ےdrtAdrtA~f`~f``JXQ`JXQ`JXQQbtllJfpfpvQJ`ےp˂rdrtAJdrtAJdtAJl~f`~f``JXQr`JXQrZdQbtZdQbtXv`fXv`fXv`fJ`ےJ`ےdrtAJdrtAJ~f`~f``JXQr`JXQr`JXQrlJtAfpvfpvXQJ`ےXQJ`ےltbbdQZ|f`vX~vJXQrpZHAbbtlbtlf~Hf~HbHAbHAAJltAJltJltf`vXf`vXQr˂pQr˂pbtlbtlf~Hf~HfHbHAbHAAJltAJlt~f`fHXpZHAAbے`JArd|ZdQbtf~Hf~HbHAZbHAZJltJltltb`vXn`vXnr˂pr˂ptlJtlJf~Hf~HfHfbHAZbHAZJltJlt`vXn`vXnHAbےpZHAXQZdQtArtlJHfpvnXv`bHAZpbHAZpJltJlttbvXnvXnr˂pr˂plJtlJtf~Hf~HfHfpbHAZpbHAZpJltJltvXnvXnr˂pr˂pr˂pJtArdvnXv`˙bHAZpXQJ`ےltbltbtbnvXnvXn˂pZ˂pZlJtAlJtA~Hf~HfHfpbHAZpbHAZpltbltbvXnvXn˂pZ˂pZ˂pZrd|nXv`nXv`bHAZbHAZdQtAJldrtAnvppfے`˂pZHJAdJtArdJtArdfpvfpvZp˂Zp˂bdQZ|bdQZ|bnvpnvpnvpZHAbZHAbJtArdJtArdfpvfpvfpvZp˂Zp˂bdQZ|bdQZ|vXnnvpbے`JXQrZdQbtlJtAfpvfpvp˂rp˂rbdQZ|bdQZ|nvpvpfvpfZHAbZHAbtArdtArdfpvfpvpvnp˂rp˂rbdQZ|bdQZ|vpfvpf`JXQrr˂pd|ZtAdQbtnXvf~H˂rX˂rXbdQZ|bdQZ|nvpvpfHvpfHZHAbZHAbArd|Ard|fpvfpvvn˂rX˂rXbdQZ|bdQZ|vpfHvpfHZHAbZHAbZHAے`|Zd~HfpfnX˂rQJbHAZdQZ|dQZ|vpfvpfHvpfHHAbےHAbےrd|rd|pvnpvnvnr˂rXQ˂rXQdQZ|dQZ|vpfHvpfHHAbےHAbےHAے`ZdQbtf~Hf~Hp˂rp˂rtbdQdQZ|fH~JXQrAbے`|ZdQ|ZdQ|ZdQnXv`nXv`rXQJ`rXQJ`ہdrtdrtfHfH~fH~˙ے`JXے`JX|ZdQ|ZdQnXv`nXv`nrXQJ`rXQJ`rXQJ`ہdrtdrtvpfHfH~JXQrˉ˂p`lJtrdZQbnXv`nXv`XQJ`ےXQJ`ےdrtAdrtAfHfH~fH~fے`JXQے`JXQ|ZdQb|ZdQbnXv`nXv`rXQJ`XQJ`ےXQJ`ےdrtAdrtAH~fH~f˂pZZHAbdQbtlJtA`f~fvnXQJ`ےQJ`ےdrtAdrtAfHf`~f`~f``JXQ`JXQZdQbtZdQbtnXv`nXv`rXQJ`QJ`ےQJ`ےdrtAdrtA~f`~f``JXQ`JXQJXQrQbtlvnXv`fbHAp˂rdrtAJdrtAJHf`~f`~f``JXQr`JXQrZdQbtZdQbtXv`fXv`fXQJ`ےJ`ےJ`ےdrtAJdrtAJ~f`~f``JXQr`JXQrJXQrblJtAfpvfpvXQJ`ےXQJ`ےZ|ddrtAJf`vXZHAbہJXQrbtlbtlbtlf~Hf~HbHAbHAAJltAJltf`vXf`vXf`vXQr˂pQr˂pbtlbtlf~Hf~HےHAbHAbHAAJltAJlt~f`f`vXp`JXJXQrbtArd|tlJf~Hf~HbHAZbHAZJltJlt`vXn`vXn`vXnr˂pr˂ptlJtlJf~Hf~HےHAZbHAZbHAZJltJlt`vXn`vXnHAbےے`JXQlJtArrd|Hfpvv`fbHAZpbHAZpJltJltvXnvXnvXnr˂pr˂plJtlJtf~Hf~HHAZpbHAZpbHAZpJltJltvXnvXnr˂pr˂pbtl||ZdQv`f~HfpZp˂XQJ`ےltbltbvXnvXnvXn˂pZ˂pZlJtAlJtA~Hf~HfHAZpbHAZpbHAZpltbltbvXnvXn˂pZ˂pZtlJrd|nXv`nXv`bHAZbHAZrtAJlltbnvp`JXQ˂pZHJtArdJtArdJfpvfpvfpvZp˂Zp˂bdQZ|bdQZ|nvpnvpnvpZHAbZHAbJtArdJtArdfpvfpvZp˂Zp˂Zp˂bdQZ|bdQZ|vXnnvpQr˂plJAZdQbtfpvfpvfpvp˂rp˂rbdQZ|bdQZ|vpfvpfvpfZHAbZHAbtArdtArdfpvfpvp˂rp˂rp˂rbdQZ|bdQZ|vpfvpf`JXQrr˂pd|ZZdQbtnXv~Hfpۑ˂rX˂rXbdQZ|bdQZ|vpfHvpfHvpfZHAbZHAbArd|Ard|fpvfpv˂rX˂rX˂rXbdQZ|bdQZ|vpfHvpfHZHAbZHAbہZdQbtbtl~Hfp۝vnXrXQJ`bAZdQZ|dQZ|vpfHvpfHvpfےHAbےHAbےrd|rd|pvnpvn˂rXQ˂rXQ˂rXQdQZ|dQZ|vpfHvpfHHAbےHAbےtAd|ZdQbtf~Hf~Hp˂rp˂rtbdQdQZ|``vXnr˂pAbJXQ|ZdQ|ZdQnXv`nXv`nXv`rXQJ`rXQJ`ہdrtdrtfH~fH~fے`JXے`JXے`JX|ZdQ|ZdQnXv`nXv`rXQJ`rXQJ`rXQJ`ہdrtdrtf`fH~ZHAb|ZdQlJArnXv`nXv`nXv`XQJ`ےXQJ`ےdrtAdrtAH~fH~fے`JXQے`JXQے`JXQ|ZdQb|ZdQbnXv`nXv`XQJ`ےXQJ`ےXQJ`ےdrtAdrtAH~fH~fے`ZHAbdQbtdlJtA`f~fpvnXQJ`ےQJ`ےdrtAdrtA~f`~f``JXQ`JXQ`JXQZdQbtZdQbtnXv`nXv`QJ`ےQJ`ےQJ`ےdrtAdrtA~f`~f``JXQ`JXQlJtJtArdvnXHv`fےbHArXQJ`drtAJdrtAJ~f`~f``JXQr`JXQr`JXQrZdQbtZdQbtXv`fXv`fJ`ےJ`ےJ`ےJdrtAJdrtAJ~f`~f``JXQr`JXQrZdQbtlJtArd|rd|HfpvvnXbHAZtbQZdrtAJlvpfHvpfHvpfHAbے`Abے`rd|rd|vnXvnXvnrXrXQrXQQZ|dQZ|dvpfHvpfH˂pZHZHAbېˁ`ZQQXb㉀XnvˍXnvˍtbAdZZdQbtZdQbtnXvv`pvp˂rrtAJltbdQ煐f`~f`~f`JXQrJXQrZdQbtZdQbtv`fv`fQJ`ےJ`ےJ`ےrtAJlrtAJl~f`~f`Abے``JXQXb㉀ۑpJAHpfH~p|dr|drlJtAlJtA`pvnrXQXQJ`ptbdZ|drvXnvXnvXnۉ˂pZH˂pZHlJtAlJtA~Hfp~HfpHAZpbHAZpbHAZpˑtbdtbdvXnvXnہJXQrr˂pˁ`ZQXbf۝`vf۝`vQtJlQtJlrd|rd|nXv`J`p˂˂rXQQZ|dAJtbvpfHvpfHvpfے`Abے`Abے`rd|rd|vnXvnXrXQrXQrXQQZ|dQZ|dvpfHvpfH󉐙ے`ZHAb㉀ۑpJXnvˍXnvˍtbAdZtbAdZZdQbtZdQbtf~HrXQJJ`ےrtAJldQZ|~f`~f`JXQrJXQrJXQrZdQbtZdQbtv`fv`fJ`ےJ`ےJ`ےJlrtAJlrtAJl~f`~f`JXQrˉ˂pZHAHr󙐂pfH~pfH~|dr|drlJtAlJffpv`ےbbHAZptbddrtAJvXnvXnۉ˂pZH˂pZH˂pZHlJtAlJtA~Hfp~HfpbHAZpbHAZpˑtbdtbdtbdvXnvXnۂpZHAAbے`ˁ`ZQXbf۝`vf۝`vQtJlQtJlrd|pvnXv`HAZp˂˂rXQQZrtAltbvpfHvpfHAbے`Abے`Aے`rd|rd|vnXvnXrXQrXQQZ|dQZ|dQZ|dvpfHvpfHbے`JXQr㉀ۑpXnvˍXnvˍtbAdZtbAdZZdQbt~HfpfnbHAJ`ےJltdQZ|~f`~f`JXQrJXQrJXQrbtZdQbtZdQbtv`fv`fJ`ےJ`ےrtAJlrtAJltAJl~f`~f`JXQrˉ˂p`Z`ZQXbpfH~pfH~|dr|drlJtAvnXXv`fZp˂rXQJbdQZ|drtAJvXnvXnۉ˂pZH˂pZHlJtlJtAlJtA~Hfp~HfpbHAZpbHAZpˑtbdtbdtbnvXnvXnۂp`JXQXb㉀ۑpJAf۝`vf۝`vQtJlQtJlrd|v`f~HfrXQJ``ےbdrtAbdQZ|vpfHvpfHAbے`Abے`Ad|rd|rd|vnXvnXrXQrXQQZ|dQZ|dvpfHvpfHvpfHQr˂pۑpJAHrHr󙐂ˁXnvˍXnvˍtbAdZtbAdZZdQbt~HfppvnےbHAHAZp˂Jltdrt~f`~f`JXQrJXQrZdQbtZdQbtZdQbtv`fv`fJ`ےJ`ےrtAJlrtAJlf`~f`~f`ZHAb󙐂ˁ`Z`ZQXbpfH~pfH~|dr|drlJtAvnXXv`fZp˂rXQJbdQZ|AJltvXnvXnۉ˂pZH˂pZHlJtAlJtAlJfp~Hfp~HfpbHAZpbHAZpˑtbdtbdvXnvXnvXnۙے`JXQXAHr󙀒ۑpJAf۝`vf۝`vQtJlQtJlrd|Hfpv~HXrXQHAZ`ےbrAJlbdQZ|vpfHvpfHAbے`Abے`rd|rd|vnXvnXvnXrXQrXQQZ|dQZ|dvpfHvpfHvpfZHQr˂pˁ`ZQHQXb㉀XnvˍXnvˍtbAdZtbAdZZdQbtnXvv`fp˂rHAXQJ`tbdQ灂AJl~f`~f`JXQrJXQrZdQbtZdQbtv`fv`fv`fJ`ےJ`ےrtAJlrtAJl~f`~f`Abے`ZHAXQXb㉀ۑۑpJAHrpfH~pfH~|dr|drlJtA`f~~HfpXQJ`ےےJlZ|dtbnvXnvXnۉ˂pZH˂pZHlJtAlJtA~Hfp~HfpHfpbHAZpbHAZpˑtbdtbdvXnvXnہJXQrr˂ppJAHr󙐂ˁ`Zf۝`vf۝`vQtJlQtJlt \ No newline at end of file diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv30_2.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv30_2.dat deleted file mode 100644 index 2211b28953..0000000000 --- a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv30_2.dat +++ /dev/null @@ -1,273 +0,0 @@ -}{|{|{|{|yzyzyzyzuvuvuvuvststststopopopopmnmnmnmnklklklklghghghghdcdcdcdcbabababa^]^]^]^]}}}}}~}~{|{|{|{|yzyzyzyzuvuvuvuvststststopopopopmnmnmnmnklklklklghghghghdcdcdcdcbabababa^]^]^]^]}~}~}~}~{|{|{|{|yzyzyzyzuvuvuvuvststststopopopopmnmnmnmnklklklklghghghghdcdcdcdcbabababa^]^]^]^]}~}~}~}~{|{|{|{|yzyzyzyzuvuvuvuvststststopopopopmnmnmnmnklklklklghghghghdcdcdcdcbabababa^]^]^]^]}~}~}~}~{|{|{|{|yzyzyzyzuvuvuvuvststststopopopopmnmnmnmnkjijijijghghghghdcdcdcdcbabababa^]^]^]^]}~}~}~}~{|{|{|{|yzyzyzyzuvuvuvuvststststopopopopmnmnmnmnijijijijghghghghdcdcdcdcbabababa^]^]^]^]}~}~}~}~{|{|{|{|yxwxwxwxuvuvuvuvststststopopopopmnmnmnmnijijijijghghghghdcdcdcdcbabababa^]^]^]^]}~}~}~}~{|{|{|{|wxwxwxwxuvuvuvuvststststopopopopmnmnmnmnijijijijghghghghdcdcdcdcbabababa^]^]^]^]}~}~}~}~{|{|{|{|wxwxwxwxuvuvuvuvststststopopopopmnmnmnmnijijijijghghghghdcdcdcdcbabababa^]^]^]^]}~}~}~}~{|{|{|{|wxwxwxwxuvuvuvuvststststopopopopmnmnmnmnijijijijghghgfefdcdcdcdcbabababa^]^]^]^]}~}~}~}~{|{|{|{|wxwxwxwxuvuvuvuvststststopopopopmnmnmnmnijijijijefefeeeedcdcdcdcbabababa^]^]^]^]}~}~}~}~{|{|{|{|wxwxwxwxuvuvuvuvststststopopopopmnmnmnmnijijijijefefefefdcdcdcdcbabababa^]^]^]^]}~}~}~}~{|{|{|{|wxwxwxwxuvuvuvuvsrqrqrqropopopopmnmnmnmnijijijijefefefefdcdcdcdc`_`_`_`_^]^]^]^]}~}~}~}~{|{|{|{|wxwxwxwxuvuvuvuvqrqrqrqropopopopmnmnmnmnijijijijefefefefdcdcdcdc`_`_`_`_^]^]^]^]}~}~}~}~{|{|{|{|wxwxwxwxuvuvuvuvqrqrqrqropopopopmnmnmnmnijijijijefefefeedcdcdcdc`_`_`_`_^]^]^]^]}~}~}~}~{|{|{|{|wxwxwxwxuvuvuvuvqrqrqrqropopopopmnmnmnmnijijijijeeeefefedcdcdcdc`_`_`_`_^]^]^]^]}~}~}~}~{|{|{|{|wxwxwxwxuvuvuvuvqrqrqrqropopopopmnmnmnmnijijijijfefefefedcdcdcdc`_`_`_`_^]^]^]^]}~}~}~}~{|{|{|{|wxwxwxwxuvuvuvuvqrqrqrqropopopopmnmnmnmnijijijijfefefefedcdcdcdc`_`_`_`_^]^]^]^]}~}~}~}~{|{|{|{|wxwxwxwxuvuvuvuvqrqrqrqropopopopmlklklklijijijijfefefefedcdcdcdc`_`_`_`_^]^]^]^]}~}~}~}~{|{|{|{|wxwxwxwxuvuvuvuvqrqrqrqropopopopklklklklijijijijfefefefedcdcdcdc`_`_`_`_^]^]^]^]}~}~}~}~{zyzyzyzwxwxwxwxuvuvuvuvqrqrqrqropopopopklklklklijijijijfefefeeedcdcdcdc`_`_`_`_^]^]^]^]}~}~}~}~yzyzyzyzwxwxwxwxuvuvuvuvqrqrqrqropopopopklklklklijijijijeeefefefdcdcdcdc`_`_`_`_^]^]^]^]}~}~}~}~yzyzyzyzwxwxwxwxuvuvuvuvqrqrqrqropopopopklklklklijijijijefefefefdcdcdcdc`_`_`_`_^]^]^]^]}~}~}~}~yzyzyzyzwxwxwxwxuvuvuvuvqrqrqrqropopopopklklklklijijijijefefefefdcdcdcdc`_`_`_`_^]^]^]^]\[\[\[\[}~}~}~}~yzyzyzyzwxwxwxwxuvuvuvuvqrqrqrqropopopopklklklklijijijijefefefefdcdcdcdc`_`_`_`_^]^]^]^]\[\[\[\[}~}~}~}~yzyzyzyzwxwxwxwxuvuvuvuvqrqrqrqropopopopklklklklijijijijefefefefdcdcdcdc`_`_`_`_^]^]^]^]\[\[\[\[}~}~}~}~yzyzyzyzwxwxwxwxutstststqrqrqrqropopopopklklklklijijijijefefeeeebabababa`_`_`_`_^]^]^]^]\[\[\[\[}~}~}~}~yzyzyzyzwxwxwxwxststststqrqrqrqropopopopklklklklijijijijeefefefebabababa`_`_`_`_^]^]^]^]\[\[\[\[}~}~}~}~yzyzyzyzwxwxwxwxststststqrqrqrqropopopopklklklklijijijijfefefefebabababa`_`_`_`_^]^]^]^]\[\[\[\[}~}~}~}~yzyzyzyzwxwxwxwxststststqrqrqrqropopopopklklklklijijijijfefefefebabababa`_`_`_`_^]^]^]^]\[\[\[\[}~}~}~}~yzyzyzyzwxwxwxwxststststqrqrqrqropopopopklklklklijijijihfefefefebabababa`_`_`_`_^]^]^]^]\[\[\[\[}~}~}~}~yzyzyzyzwxwxwxwxststststqrqrqrqropopopopklklklklghghghghfefefefebabababa`_`_`_`_^]^]^]^]\[\[\[\[}~}~}~}~yzyzyzyzwxwxwxwxststststqrqrqrqronmnmnmnklklklklghghghghfefeeeeebabababa`_`_`_`_\[\[\[\[\[\[\[\[}~}~}~}~yzyzyzyzwxwxwxwxststststqrqrqrqrmnmnmnmnklklklklghghghghefefefefbabababa`_`_`_`_\[\[\[\[\[\[\[\[}|{|{|{|yzyzyzyzwxwxwxwxststststqrqrqrqrmnmnmnmnklklklklghghghghefefefefbabababa`_`_`_`_\[\[\[\[\[\[\[\[{|{|{|{|yzyzyzyzwxwxwxwxststststqrqrqrqrmnmnmnmnklklklklghghghghefefefefbabababa`_`_`_`_\[\[\[\[\[\[\[\[{|{|{|{|yzyzyzyzwxwxwxwxststststqrqrqrqrmnmnmnmnklklklklghghghghefefefefbabababa`_`_`_`_\[\[\[\[\[\[\[\[{|{|{|{|yzyzyzyzwxwxwxwxststststqrqrqrqrmnmnmnmnklklklklghghghghefefefefbabababa`_`_`_`_\[\[\[\[\[\[\[\[{|{|{|{|yzyzyzyzwxwxwxwxststststqrqrqrqrmnmnmnmnklklklklghghghghefeeeeeebabababa`_`_`_`_\[\[\[\[\[\[\[\[{|{|{|{|yzyzyzyzwxwxwxwxststststqrqrqrqrmnmnmnmnklklklklghghghghfefefefebabababa`_`_`_`_\[\[\[\[\[\[\[\[{|{|{|{|yzyzyzyzwvuvuvuvststststqrqrqrqrmnmnmnmnklklklklghghghghdcdcdcdcbabababa`_`_`_`_\[\[\[\[\[\[\[\[{|{|{|{|yzyzyzyzuvuvuvuvststststqrqrqrqrmnmnmnmnklklklklghghghghdcdcdcdcbabababa`_`_`_`_\[\[\[\[ZYZYZYZY{|{|{|{|yzyzyzyzuvuvuvuvststststqrqrqrqrmnmnmnmnklklklklghghghghdcdcdcdcbabababa`_`_`_`_\[\[\[\[ZYZYZYZY{|{|{|{|yzyzyzyzuvuvuvuvststststqrqrqrqrmnmnmnmnklklklklghghghghdcdcdcdcbabababa`_`_`_`_\[\[\[\[ZYZYZYZY{|{|{|{|yzyzyzyzuvuvuvuvststststqrqrqrqrmnmnmnmnklklklklghghghghdcdcdcdcbabababa`_`_`_`_\[\[\[\[ZYZYZYZY{|{|{|{|yzyzyzyzuvuvuvuvststststqrqrqrqrmnmnmnmnklklklklghghghghdcdcdcdcbabababa`_`_`_`_\[\[\[\[ZYZYZYZY{|{|{|{|yzyzyzyzuvuvuvuvststststqpopopopmnmnmnmnklklklklghghghghdcdcdcdcbabababa^]^]^]^]\[\[\[\[ZYZYZYZY{|{|{|{|yzyzyzyzuvuvuvuvststststopopopopmnmnmnmnklklklklghghghghdcdcdcdcbabababa^]^]^]^]\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWTSTSTSTSRQRQRQRQNMNMNMNMLKLKLKLKGHGHGHGHEFEFEFEFABABABAB?@?@?@?@=>=>=>=>9:9:9:9:78787878343434340/0/0/0/.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!         ZYZYZYZYXWXWXWXWTSTSTSTSRQRQRQRQNMNMNMNMKKKKKLKLGHGHGHGHEFEFEFEFABABABAB?@?@?@?@=>=>=>=>9:9:9:9:78787878343434340/0/0/0/.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!         ZYZYZYZYXWXWXWXWTSTSTSTSRQRQRQRQNMNMNMNMKLKLKLKLGHGHGHGHEFEFEFEFABABABAB?@?@?@?@=>=>=>=>9:9:9:9:78787878343434340/0/0/0/.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!         - -ZYZYZYZYXWXWXWXWTSTSTSTSRQRQRQRQNMNMNMNMKLKLKLKLGHGHGHGHEFEFEFEFABABABAB?@?@?@?@=>=>=>=>9:9:9:9:78787878343434340/0/0/0/.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!         - - - -ZYZYZYZYXWXWXWXWTSTSTSTSRQRQRQRQNMNMNMNMKLKLKLKLGHGHGHGHEFEFEFEFABABABAB?@?@?@?@=>=>=>=<9:9:9:9:78787878343434340/0/0/0/.-.-.-.-,+,+,+*)('('('('&%&%&%&%"!"!"!"!         - - - -ZYZYZYZYXWXWXWXWTSTSTSTSRQRQRQRQNMNMNMNMKLKKKKKLGHGHGHGHEFEFEFEFABABABAB?@?@?@?@;<;<;<;<9:9:9:9:78787878343434340/0/0/0/.-.-.-.-*)*)*)*)('('('('&%&%&%&%"!"!"!"!         - - - -ZYZYZYZYXWXWXWXWTSTSTSTSRQRQRQRQNMNMNMNMKLKLKLKJGHGHGHGHEFEFEFEFABABABAB?@?@?@?@;<;<;<;<9:9:9:9:78787878343434340/0/0/0/.-.-.-.-*)*)*)*)('('('('&%&%&%&%"!"!"!"!         - - - -ZYZYZYZYXWXWXWXWTSTSTSTSRQRQRQRQNMNMNMNMIJIJIJIJGHGHGHGHEFEFEFEFABABABAB?@?@?@?@;<;<;<;<9:9:9:9:78787878343434340/0/0/0/.-.-.-.-*)*)*)*)('('('('&%&%&%&%"!"!"!"!         - - - -ZYZYZYZYXWXWXWXWTSTSTSTSRQRQRQRQNMNMNMNMIJIJIJIJGHGHGHGHEFEFEFEFABABABAB?@?@?@?@;<;<;<;<9:9:9:9:78787878343434340/0/0/0/.-.-.-.-*)*)*)*)('('('('&%&%&%&%"!"!"!"!         - - - -ZYZYZYZYXWXWXWXWTSTSTSTSRQRQRQRQNMNMNMNMIJIJIJIJGHGHGHGHEFEFEFEFABABABAB?@?@?@?@;<;<;<;<9:9:9:9:78787878343434340/0/0/0/.-.-.-.-*)*)*)*)('('('('&%&%&%&%"!"!"!"!         - - - -ZYZYZYZYXWXWXWXWTSTSTSTSRQRQRQRQNMNMNMNMIJIJIJIJGHGHGHGHEFEFEFEFABABABAB?@?@?@?@;<;<;<;<9:9:9:9:78787876343434340/0/0/0/.-.-.-.-*)*)*)*)('('('('&%&%&%$#"!"!"!"!         - - - -ZYZYZYZYXWXWXWXWTSTSTSTSRQRQRQRQNMNMNMNMIJIJIJIJGHGHGHGHEFEFEFEFABABABAB?@?@?@?@;<;<;<;<9:9:9:9:56565656343434340/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!"!"!"!         - - - -ZYZYZYZYXWXWXWXWTSTSTSTSRQRQRQRQNMNMNMNMIJIJIJIJGHGHGHGHEFEFEFEDABABABAB?@?@?@?@;<;<;<;<9:9:9:9:56565656343434340/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!"!"!"!         - - - -ZYZYZYZYVUVUVUVUTSTSTSTSRQRQRQRQNMNMNMNMIJIJIJIJGHGHGHGHCDCDCDCDABABABAB?@?@?@?@;<;<;<;<9:9:9:9:56565656343434340/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!"!"!"!         - - - -ZYZYZYZYVUVUVUVUTSTSTSTSRQRQRQRQNMNMNMNMIJIJIJIJGHGHGHGHCDCDCDCDABABABAB?@?@?@?@;<;<;<;<9:9:9:9:56565656343434340/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!"!"!"!         - - - -ZYZYZYZYVUVUVUVUTSTSTSTSRQRQRQRQNMNMNMNMIJIJIJIJGHGHGHGHCDCDCDCDABABABAB?@?@?@?@;<;<;<;<9:9:9:9:56565656343434340/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!"!"!"!         - - - -ZYZYZYZYVUVUVUVUTSTSTSTSRQRQRQRQNMNMNMNMIJIJIJIJGHGHGHGHCDCDCDCDABABABAB?@?@?@?@;<;<;<;<9:9:9:9:56565656343212120/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!"!"!"!      - - - -ZYZYZYZYVUVUVUVUTSTSTSTSRQRQRQRQNMNMNMNMIJIJIJIJGHGHGHGHCDCDCDCDABABABAB?@?@?@?@;<;<;<;<9:9:9:9:56565656121111120/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!"!"!"! - - - -ZYZYZYZYVUVUVUVUTSTSTSTSRQRQRQRQNMNMNMNMIJIJIJIJGHGHGHGHCDCDCDCDABABABAB?@?@?@?>;<;<;<;<9:9:9:9:56565656121212120/0/0/0/.-.-.-,+*)*)*)*)('('('('$#$#$#$#"!"!"!"! - - - -ZYZYZYZYVUVUVUVUTSTSTSTSPOPOPOPONMNMNMNMIJIJIJIJGHGHGHGHCDCDCDCDABABABAB=>=>=>=>;<;<;<;<9:9:9:9:56565656121212120/0/0/0/,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"! - - - -ZYZYZYZYVUVUVUVUTSTSTSTSPOPOPOPONMNMNMNMIJIJIJIJGHGHGHGHCDCDCDCDABABABAB=>=>=>=>;<;<;<;<9:9:9:9:56565656121212120/0/0/0/,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"! - - - -ZYZYZYZYVUVUVUVUTSTSTSTSPOPOPOPONMNMNMNMIJIJIJIJGHGHGHGHCDCDCDCDABABABAB=>=>=>=>;<;<;<;<9:9:9:9:56565656121211110/0/0/0/,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"! - - - -ZYZYZYZYVUVUVUVUTSTSTSTSPOPOPOPONMNMNMNMIJIJIJIJGHGHGHGHCDCDCDCDABABABAB=>=>=>=>;<;<;<;<9:9:9:9:56565656112121210/0/0/0/,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"! - - - -ZYZYZYZYVUVUVUVUTSTSTSTSPOPOPOPONMNMNMNMIJIJIJIJGHGHGHGHCDCDCDCDABABABAB=>=>=>=>;<;<;<;<9:9:9:9:56565656212121210/0/0/0/,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"! - - - -ZYZYZYZYVUVUVUVUTSTSTSTSPOPOPOPONMNMLKLKIJIJIJIJGHGHGHGHCDCDCDCDABABABAB=>=>=>=>;<;<;<;<9:9:9:9856565656212121210/0/0/0/,+,+,+,+*)*)*)*)('('('&%$#$#$#$#"!"!"!"! - - - -ZYZYZYZYVUVUVUVUTSTSTSTSPOPOPOPOLKLKKKKKIJIJIJIJGHGHGHGHCDCDCDCDABABABAB=>=>=>=>;<;<;<;<7878787856565656212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#"!"!"!"! - - - -ZYZYZYZYVUVUVUVUTSTSTSTSPOPOPOPOKLKLKLKLIJIJIJIJGHGHGHGFCDCDCDCDABABABAB=>=>=>=>;<;<;<;<7878787856565656212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#"!"!"!"! - - - -XWXWXWXWVUVUVUVUTSTSTSTSPOPOPOPOKLKLKLKLIJIJIJIJEFEFEFEFCDCDCDCDABABABAB=>=>=>=>;<;<;<;<7878787856565656212111110/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#"!"!"!"! - - - -XWXWXWXWVUVUVUVUTSTSTSTSPOPOPOPOKLKLKLKLIJIJIJIJEFEFEFEFCDCDCDCDABABABAB=>=>=>=>;<;<;<;<7878787856565656121212120/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#"!"!"!"! - - - -XWXWXWXWVUVUVUVUTSTSTSTSPOPOPOPOKLKLKLKLIJIJIJIJEFEFEFEFCDCDCDCDABABABAB=>=>=>=>;<;<;<;<7878787856565656121212120/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#"!"!"!"! - - - -XWXWXWXWVUVUVUVUTSTSTSTSPOPOPOPOKLKLKLKLIJIJIJIJEFEFEFEFCDCDCDCDABABABAB=>=>=>=>;<;<;<;<7878787856565656121212120/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#"!"!"!   - - - -XWXWXWXWVUVUVUVUTSTSTSTSPOPOPOPOKLKKKKKKIJIJIJIJEFEFEFEFCDCDCDCDABABABAB=>=>=>=>;<;<;<;<7878787856565656121212120/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#         - - - -XWXWXWXWVUVUVUVUTSTSTSTSPOPOPOPOLKLKLKLKIJIJIJIJEFEFEFEFCDCDCDCDABABABA@=>=>=>=>;<;<;<;<7878787856565656121212120/0/0/.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#         - - - -XWXWXWXWVUVUVUVURQRQRQRQPOPOPOPOLKLKLKLKIJIJIJIJEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>;<;<;<;<787878785656565612111111.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#         - - - -XWXWXWXWVUVUVUVURQRQRQRQPOPOPOPOLKLKLKLKIJIJIJIJEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>;<;<;<;<787878785656565621212121.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#         - - - -XWXWXWXWVUVUVUVURQRQRQRQPOPOPOPOLKLKLKLKIJIJIJIJEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>;<;<;<;<787878785656565621212121.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#         - - - -XWXWXWXWVUVUVUVURQRQRQRQPOPOPOPOLKLKLKLKIJIJIJIJEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>;<;<;<;<787878785656565621212121.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#         - - XWXWXWXWVUVUVUVURQRQRQRQPOPOPOPOLKKKKKKLIJIJIJIJEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>;<;<;<;<787878785656543421212121.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#         XWXWXWXWVUVUVUVURQRQRQRQPOPOPOPOKLKLKLKLIJIJIJIJEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>;<;<;<;:787878783434343421212121.-.-.-.-,+,+,+,+*)*)*)('&%&%&%&%$#$#$#$#         XWXWXWXWVUVUVUVURQRQRQRQPOPOPOPOKLKLKLKLIJIJIJIJEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>9:9:9:9:787878783434343421111112.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#$#         XWXWXWXWVUVUVUVURQRQRQRQPOPOPOPOKLKLKLKLIJIJIJIHEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>9:9:9:9:787878783434343412121212.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#$#         XWXWXWXWVUVUVUVURQRQRQRQPOPOPOPOKLKLKLKLGHGHGHGHEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>9:9:9:9:787878783434343412121212.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#$#         XWXWXWXWVUVUVUVURQRQRQRQPOPOPOPOKLKLKLKLGHGHGHGHEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>9:9:9:9:787878783434343412121212.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#$#         XWXWXWXWVUVUVUVURQRQRQRQPOPOPOPOKKKKKKLKGHGHGHGHEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>9:9:9:9:787878783434343412121212.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#$#         XWXWXWXWVUVUVUVURQRQRQRQPOPOPOPOLKLKLKLKGHGHGHGHEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>9:9:9:9:787878783434343412121212.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#"!         XWXWXWXWVUVUVUVURQRQRQRQPOPOPONMLKLKLKLKGHGHGHGHEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>9:9:9:9:787878783434343411111121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!         XWXWXWXWVUVUVUVURQRQRQRQNMNMNMNMLKLKLKLKGHGHGHGHEFEFEFEFCDCDCDCB?@?@?@?@=>=>=>=>9:9:9:9:78787878343434342121210/.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!         XWXWXWXWTSTSTSTSRQRQRQRQNMNMNMNMLKLKLKLKGHGHGHGHEFEFEFEFABABABAB?@?@?@?@=>=>=>=>9:9:9:9:78787878343434340/0/0/0/.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!         IIJJKKLL''(())** - QPPOONNMpqqrrsst !!""##$100//..-~~}@AABBCCD 0//..--,hhggffeeYYZZ[[\\ - - MMNNOOPP++,,--..MLLKKJJItuuvvwwx$%%&&''(-,,++**)}||{{zzyDEEFFGGH - - ,++**))(ddccbbaa]]^^__`` ~~}}QQRRSSTT//001177 - - IHHGGFFExyyzz{{|())**++,)((''&&%yxxwwvvuHIIJJKKL (''&&%%$``__^^]]aabbccdd||{{zzyyUUVVWWXX8899::;; EDDCCBBA|}}~~,--..//0%$$##""!uttssrrqLMMNNOOP$##""!! \\[[ZZYYeeffgghhxxwwvvuuYYZZ[[\\<<==>>??A@@??>>=01122334! qppoonnmPQQRRSST XXWWVVUUiijjkkllttssrrqq]]^^__``@@AABBCC=<<;;::945566778mllkkjjiTUUVVWWX - - TTSSRRQQmmnnoopp ppoonnmmaabbccddDDEEFFGG98877665899::;;<ihhggffeXYYZZ[[\ PPOONNMMqqrrsstt!!""##$$llkkjjiieeffgghhHHIIJJKK 54433221<==>>??@eddccbba\]]^^__` LLKKJJIIuuvvwwxx%%&&''((hhggffeeiijjkkllQQRRSSTT !!""##$100//..-~~}@AABBCCD a``__^^]`aabbccd - - HHGGFFEEyyzz{{||))**++,,ddccbbaammnnooppUUVVWWXX$%%&&''(-,,++**)}||{{zzyDEEFFGGH - - ]\\[[ZZYdeeffggh !DDCCBBAA}}~~--..//00``__^^]]qqrrssttYYZZ[[\\())**++,)((''&&%yxxwwvvuHIIJJKKL YXXWWVVUhiijjkkl!""##$$%@@??>>==11223344\\[[ZZYYuuvvwwxx]]^^__``,--..//0%$$##""!uttssrrqLMMNNOOPUTTSSRRQlmmnnoop%&&''(() - - <<;;::9955667788XXWWVVUUyyzz{{||aabbccdd01122334! qppoonnmPQQRRSSTQPPOONNMpqqrrsst)**++,,- 8877665599::;;<>??@@PPOONNMMnnooppqq899::;;<ihhggffeXYYZZ[[\ - - IHHGGFFExyyzz{{|1778899:00//..--~~}}AABBCCDDLLKKJJIIrrssttuu<==>>??@eddccbba\]]^^__` EDDCCBBA|}}~~:;;<<==>,,++**))||{{zzyyEEFFGGHHHHGGFFEEvvwwxxyy@AABBCCD a``__^^]`aabbccdA@@??>>=>??@@AAB !!""((''&&%%xxwwvvuuIIJJKKLLDDCCBBAA~~}}||zz{{||}}DEEFFGGH - - ]\\[[ZZYdeeffggh=<<;;::9BCCDDEEF##$$%%&&$$##""!!ttssrrqqMMNNOOPP@@??>>=={{zzyyxx~~HIIJJKKL YXXWWVVUhiijjkkl98877665FGGHHIIJ''(())** ppoonnmmQQRRSSTT<<;;::99wwvvuuttLMMNNOOPUTTSSRRQlmmnnoop 54433221JKKQQRRS++,,--..llkkjjiiUUVVWWXX88776655ssrrqqppPQQRRSSTQPPOONNMpqqrrsst !!""##$100//..-~~}STTUUVVW//001123hhggffeeYYZZ[[\\44332211oonnmmll~~}}|TUUVVWWXMLLKKJJItuuvvwwx$%%&&''(-,,++**)}||{{zzyWXXYYZZ[45677889ddccbbaa]]^^__``00//..--kkeeddcc|{{zzyyxXYYZZ[[\ - - IHHGGFFExyyzz{{|())**++,)((''&&%yxxwwvvu[\\]]^^_9::;;<<= ``__^^]]aabbccdd,,++**))bbaa``__xwwvvuut\]]^^__` EDDCCBBA|}}~~,--..//0%$$##""!uttssrrq_``aabbc=>>??@@A - - \\[[ZZYYeeffgghhHHGGFFEE((''&&%%^^]]\\[[tssrrqqp`aabbccdA@@??>>=01122334! qppoonnmcddeekklABBCCDDEXXWWVVUUiijjkkllDDCCBBAA$$##""!!ZZYYXXWWpoonnmmldeeffggh=<<;;::945566778mllkkjjilmmnnoopEFFGGHHITTSSRRQQmmnnoopp@@??>>== VVUUTTSSlkkjihgfhiijjkkl98877665899::;;<ihhggffepqqrrsstIJJKKLMNPPOONNMMqqrrsstt<<;;::99RRQQKKJJeeddccbblmmnnoop 54433221<==>>??@eddccbbatuuvvwwxOPQQRRSSLLKKJJIIuuvvwwxx88776655IIHHGGFFaa``__^^pqqrrsst !!""##$100//..-~~}@AABBCCD a``__^^]xyyzz{{|TTUUVVWW - - HHGGFFEEyyzz{{||44332211EEDDCCBB]]\\[[ZZtuuvvwwx$%%&&''(-,,++**)}||{{zzyDEEFFGGH - - ]\\[[ZZY|}}~~XXYYZZ[[ DDCCBBAA}}~~00//..-- AA@@??>>YYXXWWVVxyyzz{{|())**++,)((''&&%yxxwwvvuHIIJJKKL YXXWWVVU\\]]^^__@@??>>==,,++**)) - - ==<<;;::UUTTSSRR|}}~~,--..//0%$$##""!uttssrrqLMMNNOOPUTTSSRRQ``aabbcc<<;;::99((''&&%% - - 99887711QQPONMLK01122334! qppoonnmPQQRRSSTQPPOONNM~~}}||{ddeefghi88776655$$##""!! 00//..--KJJIIHHG45566778mllkkjjiTUUVVWWXMLLKKJJI{zzyyxxwjkkllmmn 44332211 ,,++**))GFFEEDDC899::;;<ihhggffeXYYZZ[[\ - - IHHGGFFEwvvuuttsnooppqqr!!""##$$00//..--~~}}((''&&%%CBBAA@@?<==>>??@eddccbba\]]^^__` EDDCCBBAsrrqqpporssttuuv%%&&''((,,++**))||{{zzyy$$##""!!?>>==<<;~~}@AABBCCD a``__^^]`aabbccdA@@??>>=onnmmllkvwwxxyyz))**++,,((''&&%%xxwwvvuu ;::99887}||{{zzyDEEFFGGH - - ]\\[[ZZYdeeffggh=<<;;::9keeddccbz{{||}}~--..//00$$##""!!ttssrrqq !!""##$$76543211yxxwwvvuHIIJJKKL YXXWWVVUhiijjkkl98877665baa``__^~11223344 ppoonnmm - - %%&&''((00//..--uttssrrqLMMNNOOPUTTSSRRQlmmnnoop 54433221^]]\\[[Z55667788llkkjjii))**++,, ,,++**))qppoonnmPQQRRSSTQPPOONNMpqqrrsst !!""##$100//..-ZYYXXWWV99::;;<<hhggffee--..//00 - - ((''&&%%mllkkjjiTUUVVWWXMLLKKJJItuuvvwwx$%%&&''(-,,++**)VUUTTSSR==>>??@@ddccbbaa11223344 - - $$##""!!ihhggffeXYYZZ[[\ - - IHHGGFFExyyzz{{|())**++,)((''&&%RQQKKJJI~~}}AABBCCDD ``__^^]]55667788 eddccbba\]]^^__` EDDCCBBA|}}~~,--..//0%$$##""!IHHGGFFE||{{zzyyEEFFGGHH - - \\[[ZZYY - - 99::;;<<a``__^^]`aabbccdA@@??>>=01122334! EDDCCBBAxxwwvvuuIIJJKKLLXXWWVVUU ==>>??@@]\\[[ZZYdeeffggh=<<;;::945566778A@@??>>=ttssrrqqMMNNOOPPTTSSRRQQAABBCCDD !!""YXXWWVVUhiijjkkl98877665899::;;<=<<;;::9ppoonnmmQQRRSSTTPPOONNMMEEFFGGHH##$$%%&& -UTTSSRRQlmmnnoop 54433221<==>>??@98877110llkkjjiiUUVVWWXXLLKKJJII 44332211==>>??@@ lkkjjiihUVVWWXXY LKKJJIIHuvvwwxxy%&&''((),++**))(UTTSSRRQ>>??@@AAccbbaa``^^__``aaCCBBAA@@~~^^__``aa&''(())*+**))(('{zzyyxxwFGGHHIIJ - - IHHGGFFEUTTSSRRQ!!""##$$00//..--~~}}AABBCCDDhggffeedYZZ[[\\] - - HGGFFEEDyzz{{||})**++,,-(''&&%%$QKKJJIIH~~}}||BBCCDDEE __^^]]\\bbccddee??>>==<>=MLLKKJJI))**++,,((''&&%%xxwwvvuuIIJJKKLL !!""`__^^]]\abbccdde@??>>==<12233445 DCCBBAA@wwvvuuttJJKKLLMMWWVVUUTTjjkkllmm77665544ooppqqrr23344556onnmmllkRSSTTUUV=<<;;::9IHHGGFFE--..//00$$##""!!ttssrrqqMMNNOOPP##$$%%&& -\[[ZZYYXeffgghhi<;;::99856677889@??>>==gffeeddcZ[[\\]]^ - 0//..--,A@@??>>=55667788llkkjjiiUUVVWWXX++,,--..TSSRRQQPmnnooppq !43322110=>>??@@A8771100/kkjjiihhVVWWXXYY KKJJIIHHvvwwxxyy&&''(())++**))((vvuuttss{{||}}~~>??@@AABcbbaa``_^__``aab,++**))(=<<;;::999::;;<<hhggffeeYYZZ[[\\//001177POONNMMLqrrssttu!""##$$%0//..--,~~}}|ABBCCDDE /..--,,+ggffeeddZZ[[\\]] - - GGFFEEDDzz{{||}}**++,,--''&&%%$$rrqqppooBCCDDEEF _^^]]\\[bccddeef(''&&%%$98877665==>>??@@ddccbbaa]]^^__``8899::;; LKKJJIIHuvvwwxxy%&&''((),++**))(|{{zzyyxEFFGGHHI - - +**))(('ccbbaa``^^__``aaCCBBAA@@~~..//0011##""!! nnmmllkkFGGHHIIJ - - [ZZYYXXWfgghhiij$##""!! 54433221AABBCCDD ``__^^]]aabbccdd<<==>>?? - - HGGFFEEDyzz{{||})**++,,-(''&&%%$xwwvvuutIJJKKLLM'&&%%$$#__^^]]\\bbccddee??>>==<<22334455eeddccbbJKKLLMMNWVVUUTTSjkkllmmn 100//..-EEFFGGHH - - \\[[ZZYYeeffgghh@@AABBCC DCCBBAA@}~~-..//001$##""!! tssrrqqpMNNOOPPQ#""!! [[ZZYYXXffgghhii;;::998866778899aa``__^^~~}}||{NOOPPQQRSRRQQPPOnooppqqr !!"-,,++**)IIJJKKLLXXWWVVUUiijjkkllDDEEFFGG@??>>==<12233445 poonnmmlQRRSSTTU WWVVUUTTjjkkllmm77665544::;;<<==]]\\[[ZZ{zzyyxxwRSSTTUUVONNMMLLKrssttuuv"##$$%%&)((''&&%MMNNOOPPTTSSRRQQmmnnooppHHIIJJKK<;;::99856677889lkkjjiihUVVWWXXY - - SSRRQQPPnnooppqq !!33221100>>??@@AAYYXXWWVVwvvuuttsVWWXXYYZ -KJJIIHHGvwwxxyyz&''(())* %$$##""!QQRRSSTTPPOONNMMqqrrssttQQRRSSTT877665549::;;<<=hggffeedYZZ[[\\] OONNMMLLrrssttuu""##$$%%//..--,,~~}}||BBCCDDEE UUTTSSRRsrrqqppoZ[[\\]]^ - GFFEEDDCz{{||}}~*++,,--. - - -! UUVVWWXXLLKKJJIIuuvvwwxxUUVVWWXX !43322110=>>??@@Adccbbaa`]^^__``a -KKJJIIHHvvwwxxyy&&''(())++**))(({{zzyyxxFFGGHHII - - QQKKJJIIonnmmllk^__``aabCBBAA@@?~.//00112 - YYZZ[[\\ - - HHGGFFEEyyzz{{||YYZZ[[\\!""##$$%0//..--,~~}}|ABBCCDDE `__^^]]\abbccdde - GGFFEEDDzz{{||}}**++,,--''&&%%$$wwvvuuttJJKKLLMMHHGGFFEEkjihgfeebccddeef?>>==<<;23344556]]^^__`` DDCCBBAA}}~~]]^^__``%&&''((),++**))(|{{zzyyxEFFGGHHI - - \[[ZZYYXeffgghhi !!"CCBBAA@@~~..//0011##""!! ssrrqqppNNOOPPQQDDCCBBAAddccbbaafgghhiij;::998876778899:aabbccdd@@??>>==aabbccdd)**++,,-(''&&%%$xwwvvuutIJJKKLLMXWWVVUUTijjkkllm"##$$%%& ??>>==<<22334455oonnmmllRRSSTTUU@@??>>==``__^^]]jkkllmmn76655443:;;<<==> eeffgghh<<;;::99eekkllmm-..//001$##""!! tssrrqqpMNNOOPPQTSSRRQQPmnnooppq&''(())* - - ;;::998866778899kkjjiihhVVWWXXYY <<;;::99\\[[ZZYYnooppqqr !!"3221100/>??@@AAB !!""# - - iijjkkll88776655nnooppqq12233445 poonnmmlQRRSSTTUPOONNMMLqrrssttu*++,,--. 77665544::;;<<==ggffeeddZZ[[\\]] - - 88771100XXWWVVUUrssttuuv"##$$%%&/..--,,+~~}}||{BCCDDEEF#$$%%&&' - - mmnnoopp 44332211~~}}||rrssttuu56677889lkkjjiihUVVWWXXY LKKJJIIHuvvwwxxy.//0011733221100>>??@@AAccbbaa``^^__``aa//..--,,TTSSRRQQvwwxxyyz&''(())*+**))(('{zzyyxxwFGGHHIIJ'(())**+ qqrrsstt!!""##$$00//..--{{zzyyxxvvwwxxyy9::;;<<=hggffeedYZZ[[\\] - - HGGFFEEDyzz{{||}78899::;//..--,,~~}}||BBCCDDEE __^^]]\\bbccddee++**))((PONMLKKJz{{||}}~*++,,--.'&&%%$$#wvvuuttsJKKLLMMN+,,--../uuvvwwxx%%&&''((,,++**))wwvvuuttzz{{||}}=>>??@@Adccbbaa`]^^__``a DCCBBAA@}~~;<<==>>?++**))(({{zzyyxxFFGGHHII - - [[ZZYYXXffgghhii''&&%%$$JIIHHGGF~.//00112#""!! srrqqppoNOOPPQQR/0011778yyzz{{||))**++,,((''&&%%ssrrqqpp~~ABBCCDDE `__^^]]\abbccdde@??>>==6778899:kjjiihhgVWWXXYYZ<==>>??@ 11223344 kkeeddccIJJKKLLMXWWVVUUTijjkkllm87766554GHHIIJJK(())**++oonnmmllRRSSTTUUOONNMMLLrrssttuu""##$$%%>==<<;;::;;<<==>gffeeddcZ[[\\]]^@AABBCCD !!""##$55667788bbaa``__~~}}|MNNOOPPQTSSRRQQPmnnooppq !43322110KQQRRSST,,--..//kkjjiihhVVWWXXYY KKJJIIHHvvwwxxyy&&''(()):9988776>??@@AABcbbaa``_^__``aabDEEFFGGH$%%&&''(99::;;<<^^]]\\[[|{{zzyyxQRRSSTTUPOONNMMLqrrssttu!""##$$%0//..--,~~}}|TUUVVWWX00112345ggffeeddZZ[[\\]] - - GGFFEEDDzz{{||}}**++,,-- 54321100~~}}||{BCCDDEEF _^^]]\\[bccddeefHIIJJKKQ())**++,==>>??@@ZZYYXXWWxwwvvuutUVVWWXXY LKKJJIIHuvvwwxxy%&&''((),++**))(|{{zzyyxXYYZZ[[\6778899:ccbbaa``^^__``aaCCBBAA@@~~..//0011 - - //..--,,{zzyyxxwFGGHHIIJ - - [ZZYYXXWfgghhiijQRRSSTTU,--..//0~~}}AABBCCDD VVUUTTSStssrrqqpYZZ[[\\] - - HGGFFEEDyzz{{||})**++,,-(''&&%%$xwwvvuut\]]^^__`:;;<<==> __^^]]\\bbccddee??>>==<<22334455++**))((wvvuuttsJKKLLMMNWVVUUTTSjkkllmmnUVVWWXXY01122334||{{zzyyEEFFGGHH - - RRQQKKJJpoonnmml]^^__``a DCCBBAA@}~~-..//001$##""!! tssrrqqp`aabbccd>??@@AAB - - [[ZZYYXXffgghhii;;::998866778899 - -''&&%%$$srrqqppoNOOPPQQRSRRQQPPOnooppqqrYZZ[[\\]45566778xxwwvvuuIIJJKKLLIIHHGGFFlkkjihgfabbccdde@??>>==<12233445 poonnmmldeekkllmBCCDDEEFWWVVUUTTjjkkllmm77665544::;;<<== ##""!! onnmmllkRSSTTUUVONNMMLLKrssttuuv]^^__``a899::;;>??@@AAkjjiihhgVWWXXYYZ -KJJIIHHGvwwxxyyzabbccdde<==>>??@ppoonnmmQQRRSSTTAA@@??>>aa``__^^ijjkkllm877665549::;;<<=hggffeedqrrssttuJKKLMNOPOONNMMLLrrssttuu""##$$%%//..--,,~~}}||BBCCDDEEgffeeddcZ[[\\]]^ - GFFEEDDCz{{||}}~ekkllmmn@AABBCCDllkkjjiiUUVVWWXX==<<;;::]]\\[[ZZmnnooppq !43322110=>>??@@Adccbbaa`uvvwwxxyQQRRSSTT KKJJIIHHvvwwxxyy&&''(())++**))(({{zzyyxxFFGGHHIIcbbaa``_^__``aabCBBAA@@?~nooppqqrDEEFFGGHhhggffeeYYZZ[[\\ - - 99887711YYXXWWVVqrrssttu!""##$$%0//..--,~~}}|ABBCCDDE `__^^]]\yzz{{||}UUVVWWXX - - GGFFEEDDzz{{||}}**++,,--''&&%%$$wwvvuuttJJKKLLMM !!""## _^^]]\\[bccddeef?>>==<<;rssttuuvHIIJJKKLddccbbaa]]^^__`` 00//..--UUTTSSRRuvvwwxxy%&&''((),++**))(|{{zzyyxEFFGGHHI - - \[[ZZYYX}~~YYZZ[[\\CCBBAA@@~~..//0011##""!! ssrrqqppNNOOPPQQ$$%%&&'' - - [ZZYYXXWfgghhiij;::99887vwwxxyyzLMMNNOOP``__^^]]aabbccdd,,++**))QQPONMLKyzz{{||})**++,,-(''&&%%$xwwvvuutIJJKKLLMXWWVVUUT]]^^__``??>>==<<22334455oonnmmllRRSSTTUU(())**++ WVVUUTTSjkkllmmn76655443~~}}||{z{{||}}}PQQRRSST\\[[ZZYYeeffgghh((''&&%%KJJIIHHG}~~-..//001$##""!! tssrrqqpMNNOOPPQTSSRRQQP~aabbccdd;;::998866778899kkjjiihhVVWWXXYY,,--..//SRRQQPPOnooppqqr !!"3221100/{zzyyxxw}||{{zzyTUUVVWWXXXWWVVUUiijjkkll$$##""!!GFFEEDDC12233445 poonnmmlQRRSSTTUPOONNMML~}}||{{zeefghijk77665544::;;<<==ggffeeddZZ[[\\]]00117788ONNMMLLKrssttuuv"##$$%%&/..--,,+wvvuuttsyxxwwvvuXYYZZ[[\TTSSRRQQmmnnoopp CBBAA@@?56677889lkkjjiihUVVWWXXY LKKJJIIHzyyxxwwvkllmmnno !!33221100>>??@@AAccbbaa``^^__``aa99::;;<< -KJJIIHHGvwwxxyyz&''(())*+**))(('srrqqppouttssrrq\]]^^__`PPOONNMMqqrrsstt!!""##$$?>>==<<;9::;;<<=hggffeedYZZ[[\\] - - HGGFFEEDvuuttssroppqqrrs""##$$%%//..--,,~~}}||BBCCDDEE __^^]]\\bbccddee==>>??@@ - GFFEEDDCz{{||}}~*++,,--.'&&%%$$#onnmmllkqppoonnm`aabbccdLLKKJJIIuuvvwwxx%%&&''((;::99887=>>??@@Adccbbaa`]^^__``a DCCBBAA@rqqppoonsttuuvvw&&''(())++**))(({{zzyyxxFFGGHHII - - [[ZZYYXXffgghhiiAABBCCDDCBBAA@@?~.//00112#""!! keeddccbmllkkjjideeffgghHHGGFFEEyyzz{{||))**++,, 76543211~~}}|ABBCCDDE `__^^]]\abbccdde@??>>==>==<<;23344556baa``__^ihhggffehiijjkklDDCCBBAA}}~~--..//00 - - 00//..--|{{zzyyxEFFGGHHI - - \[[ZZYYXeffgghhi<;;::998eddccbba{||}}~~..//0011##""!! ssrrqqppNNOOPPQQSSRRQQPPnnooppqqIIJJKKQQ;::998876778899:^]]\\[[Zeddccbbalmmnnoop@@??>>==11223344,,++**))xwwvvuutIJJKKLLMXWWVVUUTijjkkllm87766554a``__^^]22334455oonnmmllRRSSTTUUOONNMMLLrrssttuuRRSSTTUU76655443:;;<<==>ZYYXXWWVa``__^^]pqqrrsst<<;;::9955667788 ((''&&%%tssrrqqpMNNOOPPQTSSRRQQPmnnooppq !43322110]\\[[ZZY66778899kkjjiihhVVWWXXYY KKJJIIHHvvwwxxyyVVWWXXYY !!"3221100/>??@@AABVUUTTSSR]\\[[ZZYtuuvvwwx8877665599::;;<< - - $$##""!!poonnmmlQRRSSTTUPOONNMMLqrrssttu!""##$$%0//..--,YXXWWVVU::;;<<==ggffeeddZZ[[\\]] - - GGFFEEDDzz{{||}}ZZ[[\\]]"##$$%%&/..--,,+~~}}||{BCCDDEEF RQQKKJJIYXXWWVVUxyyzz{{||}}fpvXQJ`ےpfH~pZHAbf~HbHAf`vXQr˂pf~HbHAAJltr˂pf~HbHAZ`vXnnXv`bHAZf`vJAdfpvZp˂nvpZHAbfpvZp˂bdQZ|ZHAbfpvp˂rvpff~Hp˂rXn|ZdQnXv`rXQJ`fH~˙ے`JXnXv`rXQJ`ہdtA`JXQnXv`XQJ`ےH~ffpvXQJ`ےf`vXbtlf~HbHAf`vXQr˂pf~HbHAJltr˂pf~HbHAZ`vXnnXv`bHAZnvpJtArdfpvZp˂nvpZHAbfpvZp˂bnvpZHAbfpvp˂rvpff~Hp˂rfH~|ZdQnXv`rXQJ`fH~˙ے`JXnXv`rXQJ`۝`vX˂pZHnXv`XQJ`ےH~ffpvXQJ`ےf`vXbtlf~HJltf`vXQr˂pf~HbHAnvpAbے`f~HbHAZ`vXnnXv`bHAZnvpJtArdfpvbdQZ|nvpZHAbfpvZp˂fH~ˁJXQrfpvp˂rvpff~Hp˂r`vXn|ZdQnXv`drtfH~˙ے`JXnXv`rXQJ`f`vXH˂p`nXv`XQJ`ےH~ffpvXQJ`ےvpfbtlf~HAJltf`vXQr˂pf~HbHA~f`JXQrbtf~HbHAZ`vXnnXv`bHAZH~fJtArdfpvbdQZ|nvpZHAۅfpvZp˂vXnlJAfpvp˂rvpff~Hp˂r`vXn|ZdQnXv`drtfH~˒`JXQnXv`rXQJ`ۅvpfH|ZdQnXv`XQJ`ےH~ffpvXQJ`ےvpfbtlf~HAJltf`vXrbtlf~HbHA~f`btlf~HJlt`vXnnXv`bHAZHXnJtArdfpvbdQZ|nvpJtAdfpvZp˂vXnJtArdfpvbdQZ|vpff~Hp˂rvpfH|ZdQnXv`drtfH~˂|ZdQnXv`rXQJ`ۅf`|ZdQbnXv`drtAH~ffpvXQJ`ے~f`btlf~HAJltf`vXbtlf~HbHAvXnۉJtArf~HJlt`vXnnXv`JltvXnJtArdfpvbdQZ|nvpJtArdfpvZp˂vpfHd|ZfpvbdQZ|vpff~HdrtAJvpfH|ZdQnXv`drtfH~˂|ZdQnXv`rXQJ`~f`dQbtnXv`drtAH~ffpvltb~vbtlfHAJltf`vXbtlf~HJltvXnlJtArf~HJlt`vXnnXv`dQZ|pfے`JtArdfpvbdQZ|nvpJtArdfpvbdQZ|vp`vXd|ZfpvbdQZ|vpff~HdrtAJJXQr|ZdQnrXQJ`drtfH~˂|ZdQnXv`drtnvpdQbtnXv`drtAH~ffpvltbZHAbbtlےHAAJltf`vXbtlf~HAJltfH~JArd|f~HJlt`vXnnXv`dQtAJl`JXQJtArdZp˂bdQZ|nvpJtArdfpvbdQZ|f`vXZdQbtfpvbdQZ|vpff~HtbdQr˂p|ZdQrXQJ`ہdrtfH~˂|ZdQnXv`drtnvplJtnXv`drtAH~fr˂pfpvZ|dZHAbbtlbHAAJltf`vXbtlf~HAJltfHXArd|fHfJlt`vXnZHAbnXv`rtAJl`JXQJtArdZp˂bdQZ|nvpJtArdfpvbdQZ|nvpZdQbtpvnbdQZ|vpfے`JXQf~HtbdQrZAb|ZdQrXQJ`ہdrtfے`JX|ZdQnXv`drtfH~ˉlJArrXQJ`drtAH~fr˂pfpvZ|l璐ے`JbtlbHAAJltQr˂pbtlf~HAJltf`vX㙂|ZdQےHAZJlt`vXnZHAbnXv`tbdQZXQr˂JtArdZp˂bdQZ|ZHAbJtArdfpvbdQZ|nvpbtlp˂rbdQZ|vpfے`JXQf~H|drpZHAb|ZdQrXQJ`ہdrtے`JX|ZdQnXv`drtfH~JtArdXQJ`ےdrtAH~fr˂pfpvtAJl璐ے`JbtlbHAAJltQr˂pbtlfHAJltvpf|ZdQbHAZJlt`vXnZHAbnXv`tbdQZXQr˂JtArdZp˂bdQZ|ZHAbJtArdfpvbdQZ|`JXQHbtlp˂rbdQZ|vpfے`JXQp˂r|dtpZAb`|ZdQrXQJ`ہdrtے`JX|ZdQnrXQJ`drtAbے`JtArXQJ`ےdrtAے`JXQr˂pXQJ`ےbdQZ|JXQrbtlbHAAJltQr˂pbtlےHAAJltJXQrZdQbt琙bHAZJltr˂pZHAbbHAZdrtA˂pZHJfpvZp˂bdQZ|ZHAbJtArdZp˂bdQZ|˂pZHlJtAp˂rbdQZ|ZHAbے`JXQp˂rJltAbے`nXv`rXQJ`ہdrtے`JX|ZdQrXQJ`ہdrtAbے`rd|XQJ`ےdrtAے`JXQr˂pXQJ`ےbdQZ|JXQrf~HbHAAJltQr˂pbtlbHAAJltJXQrZdQbt琙bHAZJltr˂pZHAbbHAZdrtA˂pZHfpvZp˂bdQZ|ZHAbJtArdZp˂bdQZ|ے`lJtAp˂rbdQZ|ZHAbے`JXQp˂rdQZ|AbJXQnXv`rXQJ`ہdtAے`JX|ZdQrXQJ`ہdrtJXQrrdZQbXQJ`ےdrtAے`JXQr˂pXQJ`ےdrtAJr˂pf~HbHAJltQr˂pbtlbHAAJltpZHAtlJbHAZJltr˂pZHAےbHAZltbZHAbfpvZp˂bnvpZHAbJtArdZp˂bdQZ|bے`fpvp˂rbdQZ|ZHAb`JXQrp˂rdQZ|`ے`JXQnXv`rXQJ`۝fH˙ے`JX|ZdQrXQJ`ہdrtJXQrnXv`XQJ`ےdrtAے`JXQbtlXQJ`ےvXnr˂pf~HbHAf`vXQr˂pbtlbHAAJltp`JXf~HbHAZJltr˂pJtAdbHAZvpfHZHAbfpvZp˂nvpZHAbJtArdZp˂bdQZ|Qr˂pfpvp˂rbdQZ|ZHAb|ZdQbp˂r~f`JQr˅nXv`rXQJ`fH~˙ے`JX|ZdQrXQJ`ہdrtZHAbnXv`XQJ`ےdtAJے`JXQtlJXQJ`ےvXH~pZHAf~HbHAf`vXQr˂pbtlbHAAJltے`JXf~HbHAZltbr˂ptArdbHAZf`vbے`fpvZp˂nvpZHAbJfpvZp˂bdQZ|Qr˂pfpvp˂rnvpZHAb|ZdQbp˂rXnvJXQr˅nXv`rXQJ`fH~˙ے`JXnXv`rXQJ`ہdrtZHAXQnXv`XQJ`ےfHfے`JXQtlJtArdfpvbdQZ|vpflJtAf~HbdQZ|vpfHJtAd|fpv˂rXvpfHZHAbۅnXv`dQZ|vpfHHAbےpvn˂rXQvpfHHAbےrd|˂rXQvpfHAbے`vnXrXQQZ|dQr˂pXnvˍ|ZdQbnXv`drtAH~frd|fvnXdrtA~f`ZdQbtnXv`QJ`ے~f``JXQpvdrtAJ~f``JXQrXv`fJ`ے~f``JXQrZdQbtJ`ے~f`JXQrv`fJ`ےtAJlZHAbpfH~tlJf~HJlt`vXnZdQtArv`fJltvXnlJtf~HbHAZpvXnr˂pnXv`ltbvXn˂pZ~HfbHAZpvXn˂pZlJfrXQJvXnۉ˂pZH~HfpbHAZp˒tbnے`JXf۝`vtArdfpvbdQZ|vpfd|Z~HfpbdQZ|vpfHArd|fpv˂rXvpfHZHAbf~HdQZ|vpfHHAے`pvn˂rXQvpfHHAbےpv`ےbvpfHAbے`vnXrXQvpfHQr˂pXnvˍ|ZdQbnXv`drtAH~fdQbtvnXdrtA~f`ZdQbtnXv`QJ`ے~f``JXQfpvdrtAJ~f`JXQrbXv`fJ`ے~f``JXQr~HfpHAZp˂~f`JXQrv`fJ`ےㅐf`ZHAXQpfH~tlJf~HJlt`vXnlJtArv`ffpJltvXnlJtf~HJltvXnr˂pnXv`ltbvXntlJ~HfbHAZpvXn˂pZvnXrXQJvXnۉ˂pZH~HfpbHAZpvXnr˂pf۝`vtArdfpvbdQZ|vpfd|ZvnbdQZ|vpfHArd|fpvbdQZ|vpfHZHAbfnXdQZ|vpfHtAd|pvn˂rXQvpfHHAbےv`f`ےbvpfHAbے`vnXrXQvpfHZHAbXnvˍ|ZdQbnXv`drtAH~fdQbtdrXQJ`ۂdrtA~f`ZdQbtnXv`˂drtA~f``JXQv`fdrtAJ~f`ZdQbtXv`fJ`ے~f``JXQr~HfpHAXQJ`~f`JXQrv`fJ`ے~f``JXQpfH~tlJf~HJlt`vXn|ZdQHAZpJltvXnlJtf~HJltvXnr˂p~HfpltbvXnlJtA~HfbHAZpvXn˂pZvnXےJlvXnۉ˂pZH~HfpbHAZpvXnr˂pf۝`vtArdfpvbdQZ|vpfbtl˂rXbdQZ|vpfHArd|fpvbdQZ|vpfHZHAے`vnXdQZ|vpfHrd|pvn˂rXQvpfHHAbےHfpvtbQZdvpfHAے`vnXrXQvpfHZHAbXnvˍ|ZdQbnXv`drtAH~fJtArdQJ`ےdrtA~f`ZdQbtnXv`˂drtA~f`JXQrv`fdrtAJ~f`ZdQbtXv`fJ`ےJ~f``JXQrnXvrtAJl~f`JXQrbtv`fJ`ے~f`˂pZHpfH~tlJfHfJlt`vXn|ZdQbHAZpJltvXnlJtf~HJltvXnbtl|~HXltbvXnlJtA~HfltbvXn˂pZ`f~tbdvXnۉlJt~HfpbHAZpvXnAbے`f۝`vtArdpvnbdQZ|vpfbtl˂rXbdQZ|vpfArd|fpvbdQZ|vpfHZdQbtv`fdQZ|vpfHrd|pvndQZ|vpfHHAbےHfpvQZ|dvpfHAd|vnXrXQvpfHJXQrXnvˍ|ZdQbrXQJ`drtAH~f|ZdQbQJ`ےdrtA`JXQZdQbtnXv`˂drtA~f`lJt~HfpdrtAJ~f`ZdQbtXv`fdrtAJ~f``JXQrnXvrtAJl~f`ZdQbtv`fJ`ے~f`˂p`ZpfH~tlJےHAZJlt`vXntlJbHAZpJltr˂plJtf~HJltvXnArd|vnXltbvXnlJtA~HfltbvXn˂pZ`pvtbdvXnےlJtA~HfpbHAZpvXnQXb㉀f۝`vtArdp˂rbdQZ|vpftArd˂rXbdQZ|ZHAbArd|fpvbdQZ|vpfHZdQtAv`pvdQZ|vpfHrd|pvndQZ|vpfHHAے`nXv`QZrtAvpfHrd|vnXrXQvpfHۑpJAHrXnvˍ|ZdQbXQJ`ےdrtAH~f|ZdQbQJ`ےdrtA`JXQZdQbtnXv`˂drtA~f`rd|nrXQdrtAJ~f`ZdQbtXv`fdrtAJ~f`JXQrbf~HJlt~f`ZdQbtv`fJ`ےJl~f`󙐂ˁ`ZpfH~tlJbHAZJlt`vXntlJbHAZpJltr˂plJtfHfpJltvXnZdQbtJ`AZpltbvXnlJtA~HfltbvXntlJfpvbdQZ|vXnےlJtA~HfptbdvXnQXAHrf۝`vtArdp˂rbdQZ|vpftAdQbt˂rXbdQZ|ZHAbArd|vnbdQZ|vpfHlJtA˂rXdQZ|vpfےrd|pvndQZ|vpfHtAd|nXv`drtAvpfHrd|vnXQZ|dvpfHˁ`ZQXnvˍ|ZdQbXQJ`ےdrtAے`JXQlJtAQJ`ےdrtA`JXQZdQbtrXQJ`ۂdrtA~f`rd|QJ`ےdrtAJ`JXQrZdQbtXv`fdrtAJ~f`ZdQbtfnJlt~f`ZdQbtv`frtAJl~f`Xb㉀ۑp|drtlJbHAZJltHAbےrd|bHAZpJltr˂plJtHAZpJltvXnZdQbtdbHAZpltb˂pZlJtA~HfltbvXnlJtAXv`fbdQZ|vXnےlJtA~HfptbdvXnpJAHrQtJltArdp˂rbdQZ|`JXQrZdQbt˂rXbdQZ|ZHAbArd|˂rXbdQZ|vpfH|Zd˂rQJdQZ|HAbےrd|pvndQZ|vpfHrd|~HfrAJlvpfHrd|vnXQZ|dvpfHˁ`ZQtbAdZ|ZdQbXQJ`ےdrtA˂pZlJtAQJ`ےdrtA`JXQZdQbtQJ`ےdrtA~f`QbtlbHAdrtAJ`JXQrZdQbtXv`fdrtAJ~f`ZdQbtpvntbdQ~f`ZdQbtv`frtAJl~f`Xb㉀|drtlJbHAZJltHAbےrdt璙bHAZpJltr˂plJtbHAZpJltvXnJtArdZp˂ltb˂pZlJtAHfpltbvXnlJtAXv`fZ|dvXnےlJtA~HfptbdvXnˁ`ZQXbQtJltArdp˂rbdQZ|`JXQrlJfp˂rXbdQZ|ZHAbArd|˂rXbdQZ|vpfۙ|ZdrXQJ`dQZ|HAbےrd|vnrdQZ|vpfHrd|~HXrtAJlvpfے`rd|vnXQZ|dvpfH㉀ۑpJtbAdZ|ZdQbXQJ`ےdrtAے`vnvQJ`ےdtAJl`JXQZdQbtQJ`ےdrtA`JXQQbtlےbHAdrtAJ`JXQrZdQbtXQJ`ےdrtAJ~f`ZdQbtv`ftbdQJXQrZdQbtv`frtAJl~f`AHr󙐂|drtlJbHAZJltJXQrf~HbHAZptbr˂plJtbHAZpJltr˂p|ZdQZp˂ltb˂pZlJtAHAZpltbvXnlJtA~HfpZ|dr˂pZHlJtA~HfptbdvXnˁ`ZQXbQtJlfpvp˂rbdQZ|˂pZHAfpv˂rXnvpZHAbArd|˂rXbdQZ|ZHAbbtlrXQJdQZ|HAbےrd|˂rXQdQZ|vpfHrd|vnXAJtbAbے`rd|vnXQZ|dvpfH㉀ۑptbAdZnXv`XQJ`ےdrtAbے`nXv`QJ`ےfHf``JXQZdQbtQJ`ےdrtA`JXQJtArdbHAZpdrtAJ`JXQrZdQbtJ`ےdrtAJ~f`ZdQbtv`pvdQZ|JXQrZdQbtv`frtAJl~f``ZQXb|drf~HbHAZJltJXQrf~HbHAZpvXnr˂plJtbHAZpJltr˂p|ZdQrXQltb˂pZlJtAbHAZpltbvXnlJtAnrXQdrtAJ˂pZHlJtAHfpۑtbdvXnۀۑpJAQtJlfpvp˂rbdQZ|˂p`Jfpv˂rXvpfHZHAbArd|˂rXbdQZ|ZHAbbtlJ`ےdQZ|HAbےrd|˂rXQdQZ|vpfےrd|J`p˂ltbAbے`rd|vnrXQZ|dvpfHHr󙐂ˁtbAdZnXv`XQJ`ےdtAJXQr˂nXvf~QJ`ے~f``JXQZdQbtQJ`ےdrtA`JXQJtAdQbtbHAZpdtAJl`JXQrZdQbtJ`ےdrtAJ`JXQrZdQbtrXQJdQZ|JXQrZdQbtQJ`ےrtAJl~f``ZQXb|drf~HbHAZltbpZHAbHfpvbHAZpvXnr˂plJbHAZpJltr˂plJtrXQtbn˂pZlJtAbHAZpltb˂pZlJtA`ےbdrtAJ˂pZHlJtAHAZpˑtbdvXnۀۑpJAQtJlfpvp˂rnvpے`JnXv˂rXvpfHZHAbfpv˂rXbdQZ|ZHAbArd|J`bAZvpfHAbےrd|˂rXQdQZ|HAbےrd|HAZp˂bdQZ|Abے`rd|炀rXQQZ|dvpfHHQXb㉀tbAdZnXv`XQJ`ےfHfXQr˂`f~QJ`ے~f``JXQnXv`QJ`ےdrtA`JXQZdQbtp˂rHf``JXQrZdQbtJ`ےdrtAJ`JXQrZdQbtbHAdrtJXQrZdQbtJ`ےrtAJl~f`ۑpJAHr|drf~HbHAZ`vXnpZHAXQHfpvbHAZpvXnr˂pf~HbHAZpJltr˂plJtXQJ`ےvXn˂pZlJtAbHAZpltb˂pZlJtAZp˂AJlt˂pZHlJtAbHAZpˑtbdvXn󙐂ˁ`ZQtJlfpvp˂rvpfr˂pnXv˂rXvpfHZHAbfpv˂rXbdQZ|ZHAbArdt琙bHAZvpfHHAbےrd|˂rXQdQZ|HAbےrd|rXQJ`bdQZ|Abے`rd|炀rXQQZ|dvpfZHQXb㉀tbAdZnXv`XQJ`ےH~fZHAb`f~fpQJ`ے~f``JXQnXv`QJ`ےdtAJl`JXQlJfpp˂r~f``JXQrZdQbtJ`ےdrtAJ`JXQrZdQbtےbHAAJlJXQrZdQbtJ`ےrtAJlAbے`ۑpJAH|drf~HbHAZ`vXnے`JXQvnXbHAZpvXnr˂pf~HbHAZptbr˂pvXQJ`ےvXn˂pZlJfbHAZpltb˂pZlJtAZp˂tbn˂pZHlJtAbHAZpˑtbdJXQrf۝`vQtJlfpvp˂rvpfr˂pv`f˂rXvpfHZHAbfpv˂rXnvpZHAb~HfpېbAZvpfHHAbےpvn˂rXQdQZ|HAbےrd|rXQHAZvpfHAbے`rd|炀rXQQZ|d˂pZHXnvˍtbAdZnXv`XQJ`ےH~fZHAb~HfpQJ`ے~f``JXQnXv`QJ`ےfHf``JXQvnXrXQJ`~f``JXQrXv`fJ`ےdrtAJ`JXQrZdQbtp˂rf`JXQrZdQbtJ`ےrtAJlAbے`pfH~|drf~HbHAZ`vXn˂pZvnXJltvXnr˂pf~HbHAZpvXnr˂pv`fےbHvXn˂pZ~HfbHAZpltb˂pZlJtAXQJ`ےvXnۉ˂pZHlJtAbHAZpˑtbdJXQrf۝`vQtJlfpvp˂rvpfHAbےv`fbdQZ|vpfHZHAbfpv˂rXvpfHZHAb~HfpAZp˂vpfHHAbےpvn˂rXQdQZ|HAbےrd|bHAZvpfHAbے`rd|炀rXQQZ|dے`XnvˍtbAdZnXv`XQJ`ےH~f`JXQr~fvdrtA~f``JXQnXv`QJ`ے~f``JXQvnXHrXQJ`~f``JXQrXv`fJ`ےdtAJl`JXQrZdQbtp˂r~f`JXQrZdQbtJ`ےrtAJlJXQrpfH~|drf~HbHAZ`vXn˂p`nXv`JltvXnr˂pf~HbHAZpvXnr˂pfpvےbHvXn˂pZ~HfbHAZptbn˂pZlJtAXQJ`pvXnۉ˂pZHlJfpbHAZpˑtbdpZHAf۝`vQtJlfpvp˂rvpfJXQrbf~HbdQZ|vpfHZHAے`fpv˂rXvpfHZHAbۅnXv`AZrXQvpfHHAbےpvn˂rXQvpfHAbےrd|˂rXQvpfHAbے`vnXrXQQZ|dbے`XnvˍtbAdZnXv`XQJ`ےH~ftl|fpvdrtA~f`JXQrnXv`QJ`ے~f``JXQf~HJ`ےJ~f``JXQrXv`fJ`ےHf``JXQrZdQbtJ`ے~f`JXQrv`fJ`ےrtAJlJXQrpfH~|drf~HJlt`vXnZdQbtnXv`JltvXnbtlf~HbHAZpvXnr˂pfpvltbvXn˂pZ~HfbHAZpvXn˂pZlJtAbHAZpvXnۉ˂pZH~HfpbHAZpˑtbdp`JXf۝`vQtJlt-----------------------......................... \ No newline at end of file diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv30_3.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv30_3.dat deleted file mode 100644 index 29e3e0dd42..0000000000 --- a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv30_3.dat +++ /dev/null @@ -1,273 +0,0 @@ -}~}~}~}~{|{|{|{|yzyzyzyzwvuvuvuvststststqrqrqrqropopopopmnmnmnmnklklklklghghghghfefeeeeedcdcdcdc`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWTSTSTSTSRQRQRQRQPOPOPOPO}~}~}~}~{|{|{|{|yzyzyzyzuvuvuvuvststststqrqrqrqropopopopmnmnmnmnklklklklghghghghefefefefdcdcdcdc`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWTSTSTSTSRQRQRQRQPOPOPOPO}~}~}~}~{|{|{|{|yzyzyzyzuvuvuvuvststststqrqrqrqropopopopmnmnmnmnklklklklghghghghefefefefbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWTSTSTSTSRQRQRQRQPOPOPOPO}~}~}~}~{|{|{|{|yzyzyzyzuvuvuvuvststststqrqrqrqropopopopmnmnmnmnklklklklghghghghefefefefbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWTSTSTSTSRQRQRQRQPOPOPOPO}~}~}~}~{|{|{|{|yzyzyzyzuvuvuvuvststststqrqrqrqropopopopmnmnmnmnkjijijijghghghghefefefefbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWTSTSTSTSRQRQRQRQPOPOPOPO}~}~}~}~{|{|{|{|yzyzyzyzuvuvuvuvststststqrqrqrqropopopopmnmnmnmnijijijijghghghghefefefefbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWTSTSTSTSRQRQRQRQPOPOPOPO}~}~}~}~{|{|{|{|yxwxwxwxuvuvuvuvststststqrqrqrqropopopopmnmnmnmnijijijijghghghghefeeeeeebabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPO}~}~}~}~{|{|{|{|wxwxwxwxuvuvuvuvststststqrqrqrqropopopopmnmnmnmnijijijijghghghghfefefefebabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPO}~}~}~}~{|{|{|{|wxwxwxwxuvuvuvuvststststqrqrqrqropopopopmnmnmnmnijijijijghghghghdcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPO}~}~}~}~{|{|{|{|wxwxwxwxuvuvuvuvststststqrqrqrqropopopopmnmnmnmnijijijijghghghghdcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPO}~}~}~}~{|{|{|{|wxwxwxwxuvuvuvuvststststqrqrqrqropopopopmlklklklijijijijghghghghdcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPO}~}~}~}~{|{|{|{|wxwxwxwxuvuvuvuvststststqrqrqrqropopopopklklklklijijijijghghghghdcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPO}~}~}~}~{zyzyzyzwxwxwxwxuvuvuvuvststststqrqrqrqropopopopklklklklijijijijghghghghdcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[XWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPO}~}~}~}~yzyzyzyzwxwxwxwxuvuvuvuvststststqrqrqrqropopopopklklklklijijijijghghghghdcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[XWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPO}~}~}~}~yzyzyzyzwxwxwxwxuvuvuvuvststststqrqrqrqropopopopklklklklijijijijghghghghdcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[XWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPONM}~}~}~}~yzyzyzyzwxwxwxwxuvuvuvuvststststqrqrqrqropopopopklklklklijijijijghghghghdcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[XWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQNMNMNMNMNMNMNMNM}~}~}~}~yzyzyzyzwxwxwxwxuvuvuvuvststststqrqrqrqronmnmnmnklklklklijijijijghghghghdcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[XWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQNMNMNMNMNMNMLKLK}~}~}~}~yzyzyzyzwxwxwxwxuvuvuvuvststststqrqrqrqrmnmnmnmnklklklklijijijijghghgfefdcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[XWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQNMNMNMNMLKLKKKKK}|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvststststqrqrqrqrmnmnmnmnklklklklijijijijefefeeeedcdcdcdcbabababa`_`_`_`_^]^]^]^]ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQNMNMNMNMKLKLKLKL{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvststststqrqrqrqrmnmnmnmnklklklklijijijijefefefefdcdcdcdcbabababa`_`_`_`_^]^]^]^]ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQNMNMNMNMKLKLKLKL{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvststststqrqrqrqrmnmnmnmnklklklklijijijijefefefefdcdcdcdcbabababa`_`_`_`_^]^]^]^]ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQNMNMNMNMKLKLKLKL{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvststststqrqrqrqrmnmnmnmnklklklklijijijijefefefefdcdcdcdcbabababa`_`_`_`_^]^]^]^]ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQNMNMNMNMKLKLKLKL{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvststststqpopopopmnmnmnmnklklklklijijijijefefefeedcdcdcdcbabababa`_`_`_`_^]^]^]^]ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQNMNMNMNMKLKLKLKL{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvststststopopopopmnmnmnmnklklklklijijijijeeeefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQNMNMNMNMKLKKKKKK}{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvststststopopopopmnmnmnmnklklklklijijijijfefefefedcdcdcdcbabababa`_`_`_`_\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQNMNMNMNMLKLKLKLK}}}}}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvststststopopopopmnmnmnmnklklklklijijijijfefefefedcdcdcdcbabababa`_`_`_`_\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQNMNMNMNMLKLKLKLK}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvststststopopopopmnmnmnmnklklklklijijijijfefefefedcdcdcdcbabababa`_`_`_`_\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQNMNMNMNMLKLKLKLK}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvststststopopopopmnmnmnmnklklklklijijijijfefefefedcdcdcdcbabababa`_`_`_`_\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQNMNMNMNMLKLKLKLK}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvsrqrqrqropopopopmnmnmnmnklklklklijijijijfefefeeedcdcdcdcbabababa`_`_`_`_\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSPOPOPOPONMNMNMNMLKLKLKLK}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvqrqrqrqropopopopmnmnmnmnklklklklijijijijeeefefefdcdcdcdcbabababa`_`_`_`_\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSPOPOPOPONMNMNMNMLKKKKKKL}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvqrqrqrqropopopopmnmnmnmnklklklklijijijihefefefefdcdcdcdcbabababa^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSPOPOPOPONMNMNMNMKLKLKLKL}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvqrqrqrqropopopopmnmnmnmnklklklklghghghghefefefefdcdcdcdcbabababa^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSPOPOPOPONMNMNMNMKLKLKLKL}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvqrqrqrqropopopopmnmnmnmnklklklklghghghghefefefefdcdcdcdcbabababa^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSPOPOPOPONMNMNMNMKLKLKLKL}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvqrqrqrqropopopopmnmnmnmnklklklklghghghghefefefefdcdcdcdcbabababa^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSPOPOPOPONMNMNMNMKLKLKLKL}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxutstststqrqrqrqropopopopmnmnmnmnklklklklghghghghefefeeeedcdcdcdcbabababa^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVURQRQRQRQPOPOPOPONMNMNMNMKLKLKLKL}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxststststqrqrqrqropopopopmnmnmnmnklklklklghghghgheefefefedcdcdcdcbabababa^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVURQRQRQRQPOPOPOPONMNMNMNMKKKKKKLK}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxststststqrqrqrqropopopopmnmnmnmnklklklklghghghghfefefefedcdcdcdc`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVURQRQRQRQPOPOPOPONMNMNMNMLKLKLKLK}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxststststqrqrqrqropopopopmnmnmnmnklklklklghghghghfefefefedcdcdcdc`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVURQRQRQRQPOPOPOPONMNMNMNMLKLKLKLK}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxststststqrqrqrqropopopopmnmnmnmnklklklklghghghghfefefefedcdcdcdc`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVURQRQRQRQPOPOPOPONMNMNMNMLKLKLKLK}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxststststqrqrqrqropopopopmnmnmnmnklklklklghghghghfefefefedcdcdcdc`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVURQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKLKLKLKLKIJIJIJIHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>9:9:9:9:7878787856565656343212120/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('&%$#$#$#$#"!"!"!"!         - - - -KKKKKLKLGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>9:9:9:9:7878787856565656121111120/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#"!"!"!"!         - - - -KLKLKLKLGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>9:9:9:9:7878787856565656121212120/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#"!"!"!"!         - - - -KLKLKLKLGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>9:9:9:9:7878787856565656121212120/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#"!"!"!"!         - - - -KLKLKLKLGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=<9:9:9:9:7878787856565656121212120/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#"!"!"!"!         - - - -KLKKKKKLGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@;<;<;<;<9:9:9:9:7878787856565656121211110/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#"!"!"!"!         - - - -KLKLKLKJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@;<;<;<;<9:9:9:9:7878787856565656112121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)('&%&%&%&%$#$#$#$#"!"!"!"!         - - - -IJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@;<;<;<;<9:9:9:9:7878787856565656212121210/0/0/0/.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - - -IJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@;<;<;<;<9:9:9:9:7878787856565656212121210/0/0/0/.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - - -IJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@;<;<;<;<9:9:9:9:7878787856565656212121210/0/0/0/.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - - -IJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?>;<;<;<;<9:9:9:9:7878787856565656212121210/0/0/0/.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - - -IJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB=>=>=>=>;<;<;<;<9:9:9:9:7878787856565656212111110/0/0/0/.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - - -IJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB=>=>=>=>;<;<;<;<9:9:9:9:7878787856565656121212120/0/0/0/.-.-.-.-,+,+,+*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - IJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB=>=>=>=>;<;<;<;<9:9:9:9:7878787856565434121212120/0/0/0/.-.-.-.-*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!         IJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB=>=>=>=>;<;<;<;<9:9:9:9:7878787834343434121212120/0/0/0/.-.-.-.-*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!         IJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB=>=>=>=>;<;<;<;<9:9:9:9:7878787834343434121212120/0/0/0/.-.-.-.-*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!         IJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABA@=>=>=>=>;<;<;<;<9:9:9:9:7878787834343434121212120/0/0/0/.-.-.-.-*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        IJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:7878787834343434121111110/0/0/0/.-.-.-.-*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!     IJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:7878787834343434212121210/0/0/0/.-.-.-,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!     - -IJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:7878787834343434212121210/0/0/0/,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!     - - - -IJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:7878787834343434212121210/0/0/0/,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!     - - - -IJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:7878787834343434212121210/0/0/0/,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!     - - - -IJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:7878787834343434212121210/0/0/0/,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!      - - - -IJIJIJIJGHGHGHGHEFEFEFEFABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:7878787834343434211111120/0/0/0/,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#         - - - -IJIJIJIJGHGHGHGHEFEFEFEFABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:7878787834343434121212120/0/0/.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#       - - - -IJIJIJIJGHGHGHGHEFEFEFEFABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:787878783434343412121212.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#     - - - -IJIJIJIJGHGHGHGHEFEFEFEFABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:787878763434343412121212.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#     - - - -IJIJIJIJGHGHGHGHEFEFEFEFABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:565656563434343412121212.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#     - - - -IJIJIJIJGHGHGHGHEFEFEFEDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:565656563434343412121212.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#"!     - - - -IJIJIJIJGHGHGHGHCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:565656563434343411111121.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%"!"!"!"!     - - - -IJIJIJIJGHGHGHGHCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:56565656343434342121210/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%"!"!"!"!      - - - -IJIJIJIJGHGHGHGHCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:56565656343434340/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%"!"!"!"!         - - - -IJIJIJIJGHGHGHGHCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9856565656343434340/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%"!"!"!"!         - - - -IJIJIJIJGHGHGHGHCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<7878787856565656343434340/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%"!"!"!"!         - - - -IJIJIJIJGHGHGHGFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<7878787856565656343434340/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%$#"!"!"!"!         - - - -IJIJIJIJEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<7878787856565656343434340/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"!         - - - -IJIJIJIJEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<7878787856565656343434340/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"!         - - - -IJIJIJIJEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<7878787856565656343434340/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"!         - - - -IJIJIJIJEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;:7878787856565656343434340/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"!         - - - -IJIJIJIJEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>9:9:9:9:7878787856565656343434340/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"!         - - - -))**++,,99887711tssrrqqp@AABBCCD100//..-pqqrrsstqppoonnm01122334A@@??>>=`aabbccd ZYYXXWWVddeefghixxwwvvuu))**++,,HHGGFFEEYYZZ[[\\IIHHGGFF--..//0000//..--poonnmmlDEEFFGGH-,,++**)tuuvvwwxmllkkjji45566778=<<;;::9deeffggh - - VUUTTSSRjkkllmmnttssrrqq--..//00DDCCBBAA]]^^__`` EEDDCCBB~~}}11223344,,++**))lkkjihgfHIIJJKKL)((''&&%xyyzz{{| - - ihhggffe899::;;<98877665hiijjkkl RQQKKJJInooppqqrppoonnmm11223344@@??>>==aabbccdd ~~}}!!""##$$AA@@??>>||{{zzyy55667788((''&&%%eeddccbbLMMNNOOP%$$##""!|}}~~ eddccbba<==>>??@54433221lmmnnoopIHHGGFFErssttuuvllkkjjii55667788<<;;::99eeffgghh - - ||{{zzyy%%&&''((==<<;;::xxwwvvuu99::;;<<$$##""!!aa``__^^PQQRRSST! a``__^^]@AABBCCD100//..-pqqrrsstEDDCCBBAvwwxxyyz - - hhggffee99::;;<<88776655iijjkkllxxwwvvuu))**++,,99887711ttssrrqq==>>??@@ ]]\\[[ZZTUUVVWWX]\\[[ZZYDEEFFGGH-,,++**)tuuvvwwx - - A@@??>>=z{{||}}~ ddccbbaa==>>??@@44332211mmnnooppttssrrqq--..//0000//..--ppoonnmmAABBCCDDYYXXWWVVXYYZZ[[\YXXWWVVUHIIJJKKL)((''&&%xyyzz{{| =<<;;::9~``__^^]]AABBCCDD00//..--qqrrssttppoonnmm11223344,,++**))llkkjjiiEEFFGGHHUUTTSSRR\]]^^__` UTTSSRRQLMMNNOOP%$$##""!|}}~~98877110\\[[ZZYYEEFFGGHH,,++**))uuvvwwxxllkkjjii55667788((''&&%%hhggffeeIIJJKKLL QQPONMLK`aabbccd ~~} !!""##$QPPOONNMPQQRRSST! 0//..--,XXWWVVUUIIJJKKLL((''&&%%yyzz{{|| - - hhggffee99::;;<<$$##""!!ddccbbaaMMNNOOPP - - KJJIIHHGdeeffggh - - }||{{zzy$%%&&''(MLLKKJJITUUVVWWX !,++**))( TTSSRRQQMMNNOOPP$$##""!!}}~~ ddccbbaa==>>??@@ ``__^^]]QQRRSSTT - - GFFEEDDChiijjkkl yxxwwvvu())**++,IHHGGFFEXYYZZ[[\!""##$$%(''&&%%$~~}}!!""##$$PPOONNMMQQRRSSTT ``__^^]]AABBCCDD\\[[ZZYYUUVVWWXXCBBAA@@?lmmnnooputtssrrq,--..//0EDDCCBBA\]]^^__`%&&''(()$##""!! ||{{zzyy%%&&''((LLKKJJIIUUVVWWXX\\[[ZZYYEEFFGGHHXXWWVVUUYYZZ[[\\?>>==<<;pqqrrsstqppoonnm01122334A@@??>>=`aabbccd ~~})**++,,- xxwwvvuu))**++,,HHGGFFEEYYZZ[[\\XXWWVVUUIIJJKKLL TTSSRRQQ]]^^__``;::99887tuuvvwwxmllkkjji45566778=<<;;::9deeffggh - - }||{{zzy-..//001ttssrrqq--..//00DDCCBBAA]]^^__`` TTSSRRQQMMNNOOPP - - PPOONNMMaabbccdd !!""76543211xyyzz{{| - - ihhggffe899::;;<98877665hiijjkkl yxxwwvvu1778899:ppoonnmm11223344@@??>>==aabbccdd ~~}}!!""##$$PPOONNMMQQRRSSTTLLKKJJIIeeffgghh##$$%%&&00//..--|}}~~ eddccbba<==>>??@54433221lmmnnooputtssrrq:;;<<==> llkkjjii55667788<<;;::99eeffgghh - - ||{{zzyy%%&&''((LLKKJJIIUUVVWWXX ~~HHGGFFEEiijjkkll''(())**,,++**))a``__^^]@AABBCCD100//..-pqqrrsstqppoonnm>??@@AAB - - hhggffee99::;;<<88776655iijjkkllxxwwvvuu))**++,,HHGGFFEEYYZZ[[\\ - - DDCCBBAAmmnnoopp++,,--..((''&&%%]\\[[ZZYDEEFFGGH-,,++**)tuuvvwwxmllkkjjiBCCDDEEFddccbbaa==>>??@@44332211mmnnooppttssrrqq--..//00DDCCBBAA]]^^__``@@??>>==qqrrsstt//001177$$##""!!YXXWWVVUHIIJJKKL)((''&&%xyyzz{{| - - ihhggffeFGGHHIIJ``__^^]]AABBCCDD00//..--qqrrssttppoonnmm11223344@@??>>==aabbccdd~~}}|<<;;::99uuvvwwxx8899::;;  UTTSSRRQLMMNNOOP%$$##""!|}}~~ eddccbbaJKKQQRRS - - \\[[ZZYYEEFFGGHH,,++**))uuvvwwxxllkkjjii55667788<<;;::99eeffgghh|{{zzyyx88776655yyzz{{||<<==>>??~~} !!""##$QPPOONNMPQQRRSST! a``__^^]STTUUVVW XXWWVVUUIIJJKKLL((''&&%%yyzz{{|| - - hhggffee99::;;<<88776655iijjkkll !!""xwwvvuut44332211}}~~@@AABBCC}||{{zzy$%%&&''(MLLKKJJITUUVVWWX]\\[[ZZYWXXYYZZ[TTSSRRQQMMNNOOPP$$##""!!}}~~ ddccbbaa==>>??@@44332211mmnnoopp##$$%%&&tssrrqqp00//..--DDEEFFGGyxxwwvvu())**++,IHHGGFFEXYYZZ[[\YXXWWVVU[\\]]^^_PPOONNMMQQRRSSTT ``__^^]]AABBCCDD00//..--qqrrsstt''(())**poonnmml,,++**))HHIIJJKK -uttssrrq,--..//0EDDCCBBA\]]^^__` UTTSSRRQ_``aabbcLLKKJJIIUUVVWWXX\\[[ZZYYEEFFGGHH,,++**))uuvvwwxx++,,--..lkkjihgf((''&&%%QQRRSSTT - qppoonnm01122334A@@??>>=`aabbccd ~~} !!""##$QPPOONNMcddeekkl !!""HHGGFFEEYYZZ[[\\XXWWVVUUIIJJKKLL((''&&%%yyzz{{||//001177eeddccbb$$##""!!~~}}||UUVVWWXXmllkkjji45566778=<<;;::9deeffggh - - }||{{zzy$%%&&''(MLLKKJJIlmmnnoop##$$%%&&DDCCBBAA]]^^__`` TTSSRRQQMMNNOOPP$$##""!!}}~~8899::;;aa``__^^ {{zzyyxxYYZZ[[\\ - - ihhggffe899::;;<98877665hiijjkkl yxxwwvvu())**++,IHHGGFFEpqqrrsst''(())**@@??>>==aabbccdd ~~}}!!""##$$PPOONNMMQQRRSSTT <<==>>??]]\\[[ZZwwvvuutt]]^^__`` eddccbba<==>>??@54433221lmmnnooputtssrrq,--..//0EDDCCBBAtuuvvwwx++,,--..<<;;::99eeffgghh - - ||{{zzyy%%&&''((LLKKJJIIUUVVWWXX@@AABBCCYYXXWWVVssrrqqppaabbccdda``__^^]@AABBCCD100//..-pqqrrsstqppoonnm01122334A@@??>>=xyyzz{{|//00112388776655iijjkkllxxwwvvuu))**++,,HHGGFFEEYYZZ[[\\DDEEFFGGUUTTSSRRoonnmmlleekkllmm]\\[[ZZYDEEFFGGH-,,++**)tuuvvwwxmllkkjji45566778=<<;;::9|}}~~4567788944332211mmnnooppttssrrqq--..//00DDCCBBAA]]^^__``~~}}||HHIIJJKKQQPONMLK kkeeddccnnooppqqYXXWWVVUHIIJJKKL)((''&&%xyyzz{{| - - ihhggffe899::;;<988776659::;;<<=00//..--qqrrssttppoonnmm11223344@@??>>==aabbccdd {{zzyyxxQQRRSSTTKJJIIHHG - - bbaa``__rrssttuu UTTSSRRQLMMNNOOP%$$##""!|}}~~ eddccbba<==>>??@54433221=>>??@@A,,++**))uuvvwwxxllkkjjii55667788<<;;::99eeffgghh - - wwvvuuttUUVVWWXXGFFEEDDC - - ^^]]\\[[vvwwxxyy !!""##$QPPOONNMPQQRRSST! a``__^^]@AABBCCD100//..-~~}}||{ABBCCDDE((''&&%%yyzz{{|| - - hhggffee99::;;<<88776655iijjkkllssrrqqppYYZZ[[\\CBBAA@@? ZZYYXXWWzz{{||}}$%%&&''(MLLKKJJITUUVVWWX]\\[[ZZYDEEFFGGH-,,++**){zzyyxxwEFFGGHHI$$##""!!}}~~ ddccbbaa==>>??@@44332211mmnnooppoonnmmll]]^^__``?>>==<<;VVUUTTSS~~())**++,IHHGGFFEXYYZZ[[\YXXWWVVUHIIJJKKL)((''&&%wvvuuttsIJJKKLMN ``__^^]]AABBCCDD00//..--qqrrssttkkeeddccaabbccdd;::99887RRQQKKJJ,--..//0EDDCCBBA\]]^^__` UTTSSRRQLMMNNOOP%$$##""!srrqqppoOPQQRRSS\\[[ZZYYEEFFGGHH,,++**))uuvvwwxxbbaa``__eekkllmm76543211IIHHGGFF01122334A@@??>>=`aabbccd ~~} !!""##$QPPOONNMPQQRRSST! onnmmllkTTUUVVWWXXWWVVUUIIJJKKLL((''&&%%yyzz{{|| - - ^^]]\\[[nnooppqq00//..-- EEDDCCBB~~}}|45566778=<<;;::9deeffggh - - }||{{zzy$%%&&''(MLLKKJJITUUVVWWXkeeddccbXXYYZZ[[ TTSSRRQQMMNNOOPP$$##""!!}}~~ ZZYYXXWWrrssttuu,,++**))!!""##$$AA@@??>>|{{zzyyx899::;;<98877665hiijjkkl yxxwwvvu())**++,IHHGGFFEXYYZZ[[\baa``__^\\]]^^__ ~~}}!!""##$$PPOONNMMQQRRSSTT VVUUTTSSvvwwxxyy((''&&%%%%&&''((==<<;;::xwwvvuut<==>>??@54433221lmmnnooputtssrrq,--..//0EDDCCBBA\]]^^__`^]]\\[[Z``aabbcc - - ||{{zzyy%%&&''((LLKKJJIIUUVVWWXXRRQQKKJJzz{{||}}$$##""!! \[[ZZYYXEFFGGHHI,++**))(uvvwwxxy lkkjjiihCDDEEFFGccbbaa``>>??@@AA33221100nnooppqqssrrqqpp..//0011CCBBAA@@^^__``aaBAA@@??>fgghhiij - - {zzyyxxw&''(())*KJJIIHHGVWWXXYYZ54433221XWWVVUUTIJJKKLLM(''&&%%$yzz{{||} - - hggffeedGHHIIJJK __^^]]\\BBCCDDEE//..--,,rrssttuuoonnmmll22334455??>>==<==<<;;:jkkllmmnwvvuutts*++,,--.GFFEEDDCZ[[\\]]^100//..- !TSSRRQQPMNNOOPPQ$##""!! }~~ dccbbaa`KQQRRSST - - [[ZZYYXXFFGGHHII++**))((vvwwxxyy kkjjiihh66778899;;::9988ffgghhii:9988776nooppqqrsrrqqppo.//00112CBBAA@@?^__``aab !!""#-,,++**)~~}}|!""##$$%POONNMMLQRRSSTTU `__^^]]\TUUVVWWX WWVVUUTTJJKKLLMM''&&%%$$zz{{||}} - - ggffeedd::;;<<==77665544jjkkllmm !!""##54321100rssttuuvonnmmllk23344556?>>==<<;bccddeef#$$%%&&')((''&&% -|{{zzyyx%&&''(()LKKJJIIHUVVWWXXY\[[ZZYYXXYYZZ[[\SSRRQQPPNNOOPPQQ##""!! ~~ccbbaa``>>??@@AA33221100nnooppqq$$%%&&''//..--,,vwwxxyyz -kjjiihhg6778899:;::99887fgghhiij'(())**+%$$##""! - xwwvvuut)**++,,-HGGFFEEDYZZ[[\\]XWWVVUUT\]]^^__`OONNMMLLRRSSTTUU__^^]]\\BBCCDDEE//..--,,rrssttuu(())**++++**))((z{{||}}~ - gffeeddc:;;<<==>76655443jkkllmmn+,,--../! tssrrqqp-..//001DCCBBAA@]^^__``a !TSSRRQQP`aabbccdKKJJIIHHVVWWXXYY[[ZZYYXXFFGGHHII++**))((vvwwxxyy,,--..//''&&%%$$~cbbaa``_>??@@AAB3221100/nooppqqr/0011778poonnmml12233445@??>>==>??@ - - hggffeed9::;;<<=87766554ijjkkllmxwwvvuut)**++,,-HGGFFEEDqrrssttu(())**++??>>==<>??@@WVVUUTTSJKKLLMMN'&&%%$$#z{{||}}~@AABBCCD dccbbaa`=>>??@@A43322110mnnooppqtssrrqqp-..//001DCCBBAA@uvvwwxxy,,--..//;;::9988ffgghhii - - {{zzyyxx&&''(())KKJJIIHHVVWWXXYYAABBCCDD !!"SRRQQPPONOOPPQQR#""!! ~DEEFFGGH - - `__^^]]\ABBCCDDE0//..--,qrrssttupoonnmml12233445@??>>==//..--,,rrssttuuoonnmmll22334455??>>==<>??@@A43322110~>??@@AAB++**))((vvwwxxyy kkjjiihh66778899;;::9988ffgghhii - - vvuuttssVVWWXXYYsrrqqppo.//00112CBBAA@@?^__``aab{zzyyxxwYZZ[[\\]!""##$$%POONNMMLQRRSSTTU `__^^]]\ABBCCDDE0//..--,~}}||{{zBCCDDEEF''&&%%$$zz{{||}} - - ggffeedd::;;<<==77665544jjkkllmmrrqqppooZZ[[\\]]onnmmllk23344556?>>==<<;bccddeef wvvuutts]^^__``a%&&''(()LKKJJIIHUVVWWXXY\[[ZZYYXEFFGGHHI,++**))(zyyxxwwvFGGHHIIJ##""!! ~~ccbbaa``>>??@@AA33221100nnooppqqnnmmllkk^^__``aa -kjjiihhg6778899:;::99887fgghhiij - - srrqqppoabbccdde )**++,,-HGGFFEEDYZZ[[\\]XWWVVUUTIJJKKLLM(''&&%%$vuuttssrJKKLMNOP__^^]]\\BBCCDDEE//..--,,rrssttuueeddccbbbbccddee - gffeeddc:;;<<==>76655443jkkllmmnonnmmllkekkllmmn !!""##$-..//001DCCBBAA@]^^__``a !TSSRRQQPMNNOOPPQ$##""!! rqqppoonQQRRSSTT[[ZZYYXXFFGGHHII++**))((vvwwxxyy aa``__^^kkllmmnncbbaa``_>??@@AAB3221100/nooppqqrkeeddccbnooppqqr$%%&&''(12233445@??>>==>??@@A43322110mnnooppqtssrrqqp-..//001DCCBBAA@]^^__``a]\\[[ZZYaabbccdd - - {{zzyyxx&&''(())KKJJIIHHVVWWXXYYQQKKJJII{{||}}~~ !!"SRRQQPPONOOPPQQR#""!! ~VUUTTSSR}||{{zzy45566778ABBCCDDE0//..--,qrrssttupoonnmml12233445@??>>==>??@IJJKKLLM(''&&%%$yzz{{||} - - hggffeed9::;;<<=87766554ijjkkllmQKKJJIIHoppqqrrsoonnmmll22334455??>>==<>==*++,,--.GFFEEDDCZ[[\\]]^EDDCCBBAqppoonnm@AABBCCDMNNOOPPQ$##""!! }~~ dccbbaa`=>>??@@A43322110mnnooppqHGGFFEEDsttuuvvw kkjjiihh66778899;;::9988ffgghhii - - {{zzyyxx&&''(())<<;;::99~~}}||{.//00112CBBAA@@?^__``aab !!"A@@??>>=mllkkjjiDEEFFGGHQRRSSTTU `__^^]]\ABBCCDDE0//..--,qrrssttu DCCBBAA@wxxyyzz{ - - ggffeedd::;;<<==77665544jjkkllmmwwvvuutt**++,,--88771100{zzyyxxw23344556?>>==<<;bccddeef ~~}}||{"##$$%%&=<<;;::9ihhggffeHIIJJKKLUVVWWXXY\[[ZZYYXEFFGGHHI,++**))(uvvwwxxy - - @??>>==<{||}}~~ccbbaa``>>??@@AA33221100nnooppqqssrrqqpp..//0011//..--,,wvvuutts6778899:;::99887fgghhiij - - {zzyyxxw&''(())*98877110eddccbbaLMMNNOOPYZZ[[\\]XWWVVUUTIJJKKLLM(''&&%%$yzz{{||} <;;::998__^^]]\\BBCCDDEE//..--,,rrssttuuoonnmmll22334455++**))((srrqqppo:;;<<==>76655443jkkllmmnwvvuutts*++,,--.0//..--,a``__^^]PQQRRSST]^^__``a !TSSRRQQPMNNOOPPQ$##""!! }~~8771100/[[ZZYYXXFFGGHHII++**))((vvwwxxyy kkjjiihh66778899''&&%%$$onnmmllk>??@@AAB3221100/nooppqqrsrrqqppo.//00112,++**))(]\\[[ZZYTUUVVWWXabbccdde ~~}}|!""##$$%POONNMMLQRRSSTTU /..--,,+WWVVUUTTJJKKLLMM''&&%%$$zz{{||}} - - ggffeedd::;;<<==##""!! kjihgfeeBCCDDEEF/..--,,+rssttuuvonnmmllk23344556(''&&%%$YXXWWVVUXYYZZ[[\effgghhi - - |{{zzyyx%&&''(()LKKJJIIHUVVWWXXY !!"+**))((' !!SSRRQQPPNNOOPPQQ##""!! ~~ccbbaa``>>??@@AAddccbbaaFGGHHIIJ+**))(('vwwxxyyz -kjjiihhg6778899:$##""!! UTTSSRRQ\]]^^__`ijjkkllmxwwvvuut)**++,,-HGGFFEEDYZZ[[\\]"##$$%%&'&&%%$$#~~}}||""##$$%%OONNMMLLRRSSTTUU__^^]]\\BBCCDDEE``__^^]]JKKLLMMN'&&%%$$#z{{||}}~ - gffeeddc:;;<<==> QPPOONNM`aabbccdmnnooppqtssrrqqp-..//001DCCBBAA@]^^__``a&''(())*#""!! {{zzyyxx&&''(())KKJJIIHHVVWWXXYY[[ZZYYXXFFGGHHII\\[[ZZYYNOOPPQQR#""!! ~cbbaa``_>??@@AABMLLKKJJIdeeffgghqrrssttupoonnmml12233445@??>>==>==<>=pqqrrsst}~~ dccbbaa`=>>??@@A43322110mnnooppqtssrrqqp;<<==>>? -kkjjiihh66778899;;::9988ffgghhii - - {{zzyyxx&&''(())KKJJIIHHVVWWXXYY - -JIIHHGGF^__``aab !!"SRRQQPPONOOPPQQR - =<<;;::9tuuvvwwx`__^^]]\ABBCCDDE0//..--,qrrssttupoonnmml?@@AABBC - ggffeedd::;;<<==77665544jjkkllmmwwvvuutt**++,,--GGFFEEDDZZ[[\\]] FEEDDCCBbccddeef ~~}}||{"##$$%%&ONNMMLLKRSSTTUUV98877665xyyzz{{||}}fpvbHAZ|dtZHAbJtArdnXv`bHAbnvpے`JXbtlfpvrXQJ`AJltbے`JtArfHfbdQZ|H~fr˂ptArdnXv`JltvpfXQr˂nXv`p˂rbdQZ|`JXQ|ZdQf~HZp˂fHQr˂pJtArdnXv`bHAbdQZ|JXQrZdQbtpvndrtA`vXnZHAb|ZdQbf~HbdQZ|H~fpZHAbf~HXQJ`ےdrtArZAbbtlfpvrXQJ`f`vXZHAb|ZdQf~HZp˂dtAp`JXlJtArXQJ`Jltvpfے`JXQtlJfpvdrtA`vXnے`JfpvbHAZJltے`JJtArdnXv`bHAnvpے`JXbtlfpvrXQJ`JltQr˂prd|ےHAZbdQZ|H~fr˂ptArdnXv`JltvpfXQr˂nXv`p˂rbdQZ|XQr˂|ZdQf~HZp˂fH~Qr˂pJtArdnXv`bHAbnvpZHAbZdQbtp˂rdrtA`vXnZHAb|ZdQbfHfbdQZ|H~fpZHAXQf~HXQJ`ےdrtApZHAbbtlfpvrXQJ`f`vXZHAb|ZdQf~HZp˂`vXے`JXlJtAXQJ`ےJltvpfے`JXQtlJpvndrtA`vXnr˂pfpvbHAZdQZ|ے`JJtArdnXv`Jltnvpے`JXbtlfpvrXQJ`nvpQr˂prdZQbbHAZbdQZ|H~fr˂ptArdrXQJ`JltvpfZHAbnXv`p˂rdrtAJXQr˂|ZdQf~HbdQZ|fH~Qr˂pJtArdnXv`bHAfH~ˑZHAXQtlJp˂rdrtA`vXnZHAb|ZdQbےHAZbdQZ|H~fے`JXQf~HXQJ`ےltbpZAb`btlfpvdrtf`vXZHAb|ZdQf~HZp˂f`vXHr˂pfpvXQJ`ےJltvpfے`JXQtlJp˂rdrtA`vXnr˂pfpvbHAZdQZ|`JXQrJtArdnXv`AJltnvpے`JXbtlfpvrXQJ`ۅ~f`ZHAbnXv`bHAZbdQZ|H~fr˂ptArdXQJ`ےJltvpfZHAbnXv`p˂rvXn˂pZH|ZdQfHbdQZ|fH~Qr˂pJtArdnXv`JltvXn`JXQf~Hp˂rdrtA`vXnZHAb|ZdQbbHAZbdQZ|H~f˂pZf~HXQJ`ےvpfHAbے`btlfpvdrtf`vXZHAb|ZdQf~HbdQZ|vpfHr˂pfpvXQJ`ےJltvpfے`JXQtlJp˂rdrtA`vXnHAbےfpvbHAZ~f`JXQrJtArdnrXQJ`AJltnvpے`JXbtlfpvdrt~f`ZHAbnXv`bHAZbdQZ|H~fr˂pfpvXQJ`ےJltvpf`JXQrnXv`p˂rvXH~˂pZH|ZdQےHAbdQZ|fH~Qr˂pJtArdnXv`AJltvXn˂pZHf~Hp˂rdrtA`vXnZHAbnXv`bHAZbdQZ|H~f˂p`f~HXQJ`ےf`vAbJXQbtlZp˂drtf`vXZHAb|ZdQfHbdQZ|f`Abے`fpvXQJ`ےJltvpfے`JXQf~Hp˂rdrtA`vXnJXQrbfpvbHAZXnvr˂pJtArdrXQJ`AJltnvpے`JXbtlfpvdrtvXnہJXQrnXv`bHAZbdQZ|H~fr˂pfpvXQJ`ےJltvpftl|rdtnXv`p˂rpfH~ZHAb|ZdQbHAbdQZ|fH~Qr˂pJtArdnrXQJ`AJltvpfH˂p`f~Hp˂rdrtA`vXnZHAےnXv`bHAZbdQZ|H~fZdQbtlJfpf~HXQJ`ےf`vے`JXQbtlZp˂drtf`vXZHAb|ZdQےHAbdQZ|~f`JXQrbtfpvXQJ`ےJltvpf`JXQrf~Hp˂rdrtA`vXnlJtAvnvfpvbHAZXnr˂pJfpvrXQJ`AJltnvpے`JXbtlZp˂drtvXnۉlJAnXv`bHAZbdQZ|H~fbtlfpvXQJ`ےJltvpfrd|f~HnXv`p˂rf`vXZHAbnXv`bHAbdQZ|fH~Qr˂pJtArdrXQJ`AJltvp`vX|ZdQf~Hp˂rdrtA`vXnJtAdnXv`bHAZbdQZ|H~fZdQtArfpvf~HXQJ`ےnvpJQrˍf~HZp˂drtf`vXZHAb|ZdQbHAbdQZ|nvpbtlfpvXQJ`ےJltvpf|ZdQbf~Hp˂rdrtA`vXnd|ZnXv`fpvbHAZfH~pZHAfpvrXQJ`AJltnvpے`JXbtlZp˂drtfH~JtArdnXv`bHAZbdQZ|H~ftlJfpvXQJ`ےJltvpfdQbtf~HnXv`p˂rf`vXbے`nXv`bHAbdQZ|fH~Qr˂pJfpvrXQJ`AJltf`vX|ZdQbf~Hp˂rdrtA`vXntArdnXv`bHAZbdQZ|H~flJtArfpvf~HXQJ`ےnvpJXQrˍf~HZp˂drtf`vXZHAbnXv`bHAbdQZ|nvpJtArfpvXQJ`ےJltvpf|ZdQbf~Hp˂rdrtA`vXnd|ZnXvf~fpvJlt`vXnpZHAbfpvrXQJ`AJltnvpے`JXf~HZp˂drtfHXd|ZnXv`bHAZbdQZ|ے`JXQtlJfpvXQJ`ےJltvpfdQbtdHfpvnXv`drtAJvpfJAdnXv`bHAbdQZ|fH~Qr˂pfpvrXQJ`AJltnvpdQbtf~Hp˂rdrtAr˂ptArdnXv`bHAZbdQZ|H~f|ZdQnXvf~HltbH~f|ZdQf~HZp˂drtf`vXZHAۅnXv`bHAbdQZ|fH~lJtArfpvXQJ`ےJltZHAb|ZdQbf~Hp˂rdrtA`vXnbtl`f~fpvdQZ|`vXnbtlfpvrXQJ`AJltnvp`JXQf~HZp˂drtf`vXd|ZnXv`bHAZbdQZ|ے`JXQtlJfpvXQJ`ےJltvpfJtArdHfpvnXv`drtAJvpfJtArdnXv`bHAbdQZ|fH~rbtlfpvrXQJ`AJltnvpdQbtf~Hp˂rdtAJr˂ptArdnXv`bHAZbdQZ|ے`JXQ|ZdQnXvf~HltbHXn|ZdQf~HZp˂drtf`vXJtAdnXv`bHAbdQZ|fH~JArd|fpvXQJ`ےltbZHAb|ZdQbf~Hp˂rdrtAHAbےbtl`f~fpfpvdQtAJlvpfHbtlfpvrXQJ`AJltnvp|ZdQf~HZp˂drtvpfہZdQbtnXv`bHAZnvpے`JXQtlJfpvXQJ`ےJlt`JXQr|ZdQbvnXnXv`tbdQ~f`JtArdnXv`bHAbdQZ|fH~btlfpvrXQJ`AJlt`JXQHlJtf~Hp˂rfHfr˂ptArdnXv`bHAZbdQZ|˂pZtlJv`fp˂rZ|dvXn|ZdQf~HZp˂drtf`vXJtArdnXv`bHAbdQZ|Abے`Ard|fpvXQJ`ے`vXnZHAb|ZdQbf~Hp˂rdtAJHAbےtArd~HfpXQJ`ےrtAJlvpfHbtlfpvrXQJ`AJltnvp|ZdQf~HZp˂drtJXQrZdQbtnXv`bHAZvpfے`JXQtlJfpvXQJ`ےltb`JXQr|ZdQbvnXbHAZtbdQ~vJtArdnXv`bHAbdQZ|fے`JXbtlfpvrXQJ`AJlt˂pZHlJArf~Hp˂rH~fr˂ptArdnXv`bHAZnvpے`tlJv`fp˂rZ|lpfے`|ZdQf~HZp˂drtQr˂pJtArdnXv`bHAbdQZ|Abے`|ZdQfpvXQJ`ے`vXnZHAb|ZdQbf~Hp˂rfHfJXQrtAdQbt~fvXQJ`ےtbdQZJXQrbtlfpvrXQJ`AJltZHAb|ZdQf~HZp˂drtJXQrbtlnXv`Jltvpfے`JXQtlJfpvXQJ`ے`vXn˂pZHAlJtAnXv`bHAZ|drZHAbJtArdnXv`bHAbdQZ|ے`JXbtlfpvrXQJ`AJltے`JtArdf~HbdQZ|H~fr˂ptArdnXv`bHAZvpfbے`rd|f~Hp˂rtAJl璒`JXQ|ZdQf~HZp˂dtAQr˂pJtArdnXv`bHAbdQZ|JXQr|ZdQfpvdrtA`vXnZHAb|ZdQbf~Hp˂rH~fJXQrZdQbtfpvXQJ`ےtbdQZr˂pbtlfpvrXQJ`JltZHAb|ZdQf~HZp˂drtpZHAbtlnXv`Jltvpfے`JXQtlJfpvXQJ`ے`vXn˂p`JlJtAnXv`f~HQJ`ےvXnZHAbہZdQbtf~H˂rXfHf`r˂p|ZdnrXQltbvpfH`JXQrlJtAvnrdrtAJvXnHAbےZdQbt`ےbrtAJl~f`˂pZHvnXJ`ےtbdvpfH󙐂ˁ`Zf۝`vfvnXJltvpfH`JXQlJtfpvQJ`ےvXnZHAbQbtlJ`AZpdQZ|~f`˂pZrd|XQJ`ےltbvpfH`JXQrlJtAHAZp˂tbdQvXnAے`v`fbHAZpQZ|d~f`QXAHrXnvˍv`fbdQZ|~f`r˂pArd|nXv`˙bHAZpvpfH`JXQ|ZdQ˂rXdrtAJvXnHAbےZdQbtHAZpdQZ|~f`˂pZrd|bHAZ|drvpfHJXQrbt~HfprXQrtAJlvXnېˁ`ZQpfH~~HfpۂdrtAvXnZHAbہZdQbtf~H˂rX~f`r˂pbtlQJ`ےltbvpfH`JXQrlJtA˂rXQdrtAJvXnHAbےZdQbtZp˂AJtb~f`lJtvnXJ`ےtbdvpfHXb㉀ۑf۝`vvnXJltvpfH`JXQlJtfpvQJ`ےvXnZHAbJtArdbHAZpdQZ|~f`˂pZrd|J`ےltbvpfH`JXQrlJtArXQJ`dQZ|vXnAd|v`fbHAZpQZ|d~f`pJAHrXnvˍv`ffpbdQZ|~f`r˂pArd|nXv`JltvpfH`JXQ|ZdQ˂rQJdrtAJvXnHAbےZdQbtbHAZpdQZ|~f`˂pZrd|ےbHAdrtAJvpfHZdQbt~HfprXQrtAJlvXnېˁ`ZQpfH~ㅝvndrtAvXnZHAbہZdQbtf~HbdQZ|~f`r˂pbtlbHAltbvpfH`JXQrlJf˂rXQdrtAJvXnHAbےZdQbtZp˂ltb~f`lJtAvnXJ`ےtbdvpfHXb㉀f۝`vrXQJ`JltvpfH`JXQlJtfpvdrtAvXnZHAbJtAdQbtZp˂dQZ|~f`˂pZpvnJ`ےltbvpfH`JXQrlJtArXQHAZdQZ|vXnrd|v`fbHAZpQZ|d~f`ˁ`ZQXbXnvˍHAZpbdQZ|~f`r˂pArd|nXv`JltvpfH`JXQlJtrXQJ`drtAJvXnHAbےXv`fbHAZpdQZ|~f`˂pZrd|p˂rdrtAJvpfے`ZdQbt~HfprXQrtAJlvXn㉀ۑpJpfH~ㅑ˂rXdrtAvXnZHAbہZdQbtfHfpbdQZ|~f`r˂pArd|ےbHAltbvpfH`JXQr~Hf˂rXQdrtAJvXnHAbےZdQbtXQJ`ےbdQZ|JXQrlJtAvnXJ`ےtbdvpfHAHr󙐂f۝`vQJ`ےJltvpfH`JXQlJtvndrtAvXnZHAbہZdQbtZp˂dQZ|~f`˂pZpvnJ`ےltbvpfH`JXQrlJfbHAZdrt˂pZHrd|v`fbHAZpQZ|d~f`ˁ`ZQXbXnvˍbHAZpbdQZ|~f`r˂pArd|rXQJ`JltvpfH`JXQlJtrXQJdrtAJvXnHAے`Xv`fbHAZpdQZ|~f`˂pZpvp˂rAJltAbے`ZdQbt~HfprXQrtAJlvXn㉀ۑpp|dr˂rXdrtAvXnZHAbہZdQbtHAZpbdQZ|~f`r˂pArdtbHAZpltbvpfHJXQrb~Hf˂rXQdrtAJvXnHAbے~HfpXQJ`pbdQZ|JXQrlJtAvnXJ`ےtbdvpfZH`ZQXbQtJlQJ`ےJltvpfH`JXQlJt˂rXdrtAvXnZHAbےlJfprXQdQZ|~f`tlJpvnJ`ےltbvpfH`JXQrvnX˂rXQAJl˂pZHrd|v`fbHAZpQZ|dAbے`ۑpJAtbAdZbHAZpbdQZ|~f`r˂pArd|QJ`ےJltvpfH`JXQvJ`ےdrtAJvXntAd|Xv`fbHAZpdQZ|~f`˂pZv`fJ`ےtbnAbے`ZdQbt~HfprXQrtAJlJXQrHr󙐂ˁ|dr˂rXdrtAvXnZHAbہZdQbtbHAZpbdQZ|~f`r˂p~HfpbHAZpltbvpfHZdQbt~Hf˂rXQdrtAJvXnHAے`~HfpbHAZpvpfHJXQrlJtAvnXJ`ےtbd˂pZH`ZQXbQtJlQJ`ےJltvpfH`JXQlJ˂rXdrtAvXnZHAbvnXrXQdQZ|~f`lJtApvnJ`ےltbvpfHJXQrbvnX˂rXQf`˂pZHrd|v`fbHAZpQZ|dAbے`ۑpJAtbAdZbHAZpbdQZ|~f`r˂pfpvQJ`ےJltvpfH`JXQv`fJ`bAZdrtAJvXnrd|Xv`fbHAZpdQZ|~f`tlJHfpvJ`ےvXnAbے`ZdQbt~HfprXQtAJlJXQrHQXb㉀|dr˂rXdrtAvXnZHAbnXv`˙bHAZpbdQZ|~f`r˂p~Hfpp˂rltbvpfےZdQbt~Hf˂rXQdrtAJvXntAd|nXvrXQJvpfHJXQrlJtAvnXJ`ےtbnے`ۑpJAHrQtJlQJ`ےJltvpfH`JXQf~H˂rXdrtAvXnZHAbvnXHXQJ`ےdQZ|`JXQrlJtApvnJ`ےltbvpfHZdQbt`f~`ےb~f`˂pZHrd|v`fbHAZp˅vpfHJXQr󙐂ˁ`ZtbAdZbHAZpbdQZ|~f`r˂pfpvQJ`ےJltvpfH`JXQfpvbHAZdrtAJ˂pZrd|Xv`fbHAZpdQZ|~f`lJtAHfpvHAZp˂vXnAbے`ZdQbt~HfprXQf`pZHAQXb㉀|dr˂rXdrtAvXnZHAے`nXv`˙bHAZpbdQZ|~f`r˂pnXv`p˂rltbHAbےZdQbt~Hf˂rXQdrtAJvXnrd|nXvrXQJvpfHJXQrlJtAvnXJ`ےvXnbے`ۑpJAHQtJlQJ`ےJltvpfHJXQrf~H˂rXdrtAvXnZHAbۍf~HXQJ`ےdQZ|`JXQrlJtApvnJ`ےltbvpfےZdQbt`pv`ےb~f`˂pZHrd|v`fbHAZpvpfHJXQrːf۝`vtbAdZbHAZpbdQZ|~f`btlfpvQJ`ےJltvpfH`JXQfpvbAZdtAJl˂pZrd|Xv`fbHAZpdQZ|`JXQrlJtAnXv`HAXQJ`vXnAbے`ZdQbt~HfprXQ~f`p`JXXnvˍ|dr˂rXdrtAvXnJtAd|nXv`˙bHAZpbdQZ|~f`r˂pnXv`rXQJ`tbnHAbےZdQbt~Hf˂rXQdrtAJ˂pZrd|f~HےJlvpfHJXQrlJtAvnXJ`ےJlvXnQr˂ppfH~QtJlQJ`ےJltvpfHZdQbtf~H˂rXdrtAvXnZHAے`pvےbHvpf`JXQrlJtApvnJ`ےltbHAbےZdQbtfpvtbQZd~f`˂pZHrd|v`ftbdvpfHZHAbf۝`vtbAdZbHAZpbdQZ|~f`lJtfpvQJ`ےJltvpfHJXQrnXv`AZp˂Hf`˂pZrd|Xv`fbHAZpdQZ|`JXQrlJtAnXv`rtAJlvXnAbے`ZdQbt~HfpQZ|d~f`ے`JXXnvˍ|dr˂rXdrtAvXnArd|nXv`˙bHAZpbdQZ|~f`btl|f~HrXQJ`vXnHAbےZdQbt~Hf˂rXQdtAJl˂pZrd|fntbdvpfHJXQrlJtAvnXrtAJlvXnQr˂ppfH~QtJlQJ`ےJltvpfہZdQbtf~H˂rXdrtAvXnZdQbtfpvےbHvpfH`JXQrlJtApvnJ`ےtbnHAbےZdQbtXv`fQZ|d~f`˂pZHrd|v`ftbdvpfHZHAXQf۝`vtbAdZbHAZpbdQZ|`JXQlJtfpvQJ`ےJltvpfHlJtnXv`AZrXQ~f`˂pZrd|Xv`fbHAZpvpf`JXQrlJtA~HfrtAJlvXnAbے`ZdQbtHfpQZ|d~f`r˂pXnvˍ|dr˂rXdrtAr˂pArd|nXv`˙bHAZpbdQZ|~f`Ard|fnXJ`ےJvXnHAbےZdQbt~Hf˂rXQHf`˂pZrd|pvntbdvpfHJXQrlJtAvnrXrtAJlvXnZHAbpfH~QtJlQJ`ےJltZHAbہZdQbtf~H˂rXdrtAvXnZdQtAv`fltbvpfH`JXQrlJtApvnJ`ےvXnHAbےZdQbtXv`fQZrtA~f`˂pZHrd|QJ`ےtbdvpfH`JXQf۝`vtbAdZbHAZpbdQZ|`JXQlJtfpvQJ`ےJltvpfrd|~HfpdQZ|~f`˂pZrd|Xv`fbHAZpvpfH`JXQrlJtA~HXJltvXnAbے`ZdQbtHAZpQZ|d~f`r˂pXnvˍ|dr˂rXdtAJlr˂pArd|nXv`˙bHAZpbdQZ|`JXQZdQbtvnXdrtAJvXnHAbےZdQbt~Hf˂rXQ~f`˂pZrd|v`fbdQZ|vpfHJXQrlJtArXQrtAJlvXnZHAbpfH~QtJlQJ`ےtbZHAbہZdQbtf~H˂rXdrtAr˂plJtAv`fltbvpfH`JXQrlJtApvnJ`ےJvXnHAbےZdQbt~HfpdrtA~f`˂pZHrd|J`ےtbdvpfH˂pZHf۝`vtbAdZbHAZpnvp`JXQlJtfpvQJ`ےJltZHAbrd|~HXdQZ|~f`˂pZrd|Xv`fltbvpfH`JXQrlJtAvnXJltvXnAbے`ZdQbtbHAZpQZ|d~f`Abے`Xnvˍ|dr˂rXfHf`r˂pArd|nXv`˙bHAZpbdQZ|`JXQZdQbtdv`fdrtAJvXnHAbےZdQbt~HfdQZ|~f`˂pZrd|v`pvbdQZ|vpfHJXQrlJfprXQrtAJlvXnہJXQrpfH~QtJlQJ`ےvXnZHAbہZdQbtf~H˂rXdtAJlr˂p|Zd~HfpltbvpfH`JXQrlJtApvndrtAJvXnHAbےZdQbtnrXQrAJl~f`˂pZHvnXJ`ےtbdvpfH˂p`Zf۝`vtbAdZbHAZpvpfH`JXQlJtfpvQJ`ےtbZHAbQbtlvnXdQZ|~f`˂pZrd|Xv`fltbvpfH`JXQrlJtAJ`p˂tbdQvXnAbے`v`fbHAZpQZ|d~f`QXb㉀Xnvˍ|dr˂rX~f`r˂pArd|nXv`˙bHAZpnvp`JXQJtArdv`pvdrtAJvXnHAbےZdQbtHfpdQZ|~f`˂pZrd|rXQJZ|dvpfHJXQr~HfprXQrtAJlvXnۑpJAHrpfH~QtJlt6666666666666667777777777777777777777777 \ No newline at end of file diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv31_0.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv31_0.dat deleted file mode 100644 index 0449f38ff6..0000000000 --- a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv31_0.dat +++ /dev/null @@ -1,281 +0,0 @@ -}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvststststqrqrqrqropopopopopopopopklklklklijijijijhghghghghghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUTSTSTSTSPOPOOOOOMNMNMNMNMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@?@?@?@?>=>=>=>=>;<;<;<;<9:9:9:9:}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvststststqrqrqrqropopopopopopopopklklklklijijijijhghghghgfefefefefefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUTSTSTSTSOPOPOPOPMNMNMNMNMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>=>=>=>=>;<;<;<;<9:9:9:9:~}~}~}~}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvststststqrqrqrqropopopopopopopopklklklklijijijiihghghghgfefefefefefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSRQOPOPOPOPMNMNMNMNMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>=>=>=>=>;<;<;<;<9:9:9:9:78787878}~}~}~}~}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvststststqrqrqrqropopopoponmnmnmnklklklkliiiijijihghghghgfefefefefefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUVUVUVUVURQRQRQRQOPOPOPOPMNMNMNMNMNMNMNMLKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>=>=>=>=>;<;<;<;<9:9:9:9:78787878}~}~}~}~}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvststststqrqrqrqropopopopmnmnmnmnklklklkljijijijihghghghgfefefefefefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUVUVUVUVURQRQRQRQOPOPOPOPMNMNMNMNKLKLKLKLKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>=>=>=>=<;<;<;<;<9:9:9:9:78765656}~}~}~}~}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvststststqrqrqrqropopopopmnmnmnmnklklklkljijijijihghghghgfefefefedcdcdcdcdcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUVUVUVUVURQRQRQRQOPOPOPOPMNMNMNMNKLKLKLKLKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<;<;<;<;<9:9:987856555556}~}~}~}~}|{|{|{|{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvststststqrqrqrqropopopopmnmnmnmnklklklkljijijijihghghghgfefefefedcdcdcdcdcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQOPOOOOOOMNMNMNMNKLKLKLKLKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<;<;<;<;<7878787856565656}~}~}~}~{|{|{|{|{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvststststqrqrqrqropopopopmnmnmnmnklklklkljijijijihghghghgfefefefedcdcdcdcdcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPOMNMNMNMNKLKLKLKLKLKLKLKJIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<;<;<;<;<7878787856565656}~}~}~}~{|{|{|{|{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvststststqrqrqrqropopopopmnmnmnmnklklklkljijijiiihghghghgfefefefedcdcdcdcdcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPOMNMNMNMNKLKLKLKLIJIJIJIJIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<;<;<;<;:7878787856565656}~}~}~}~{|{|{|{|{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvststststqrqrqrqropopopopmnmnmnmnklklklkliiijijijhghghghgfefefefedcdcdcdcbabababababababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPOMNMNMNMNKLKLKLKLIJIJIJIJIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:7878787856565656}~}~}~}~{|{|{|{|{zyzyzyzyzyzyzyzwxwxwxwxuvuvuvuvststststqrqrqrqropopopopmnmnmnmnklklklklijijijijhghghghgfefefefedcdcdcdcbabababababababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPOMNMNMNMNKLKLKLKLIJIJIJIJIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:7878787856565555}~}~}~}~{|{|{|{|yzyzyzyzyzyzyzyzwxwxwxwxuvuvuvuvststststqrqrqrqropopopopmnmnmnmnklklklklijijijijhghghghgfefefefedcdcdcdcbabababababababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPOMNMNMNMNKLKLKLKLIJIJIJIJIJIJIJIHGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:7878787855656565}~}~}~}~{|{|{|{|yzyzyzyzyzyzyzyzwxwxwxwxuvuvuvuvststststqrqrqrqropopopopmnmnmnmnklklklklijijijijhghghghgfefefefedcdcdcdcbabababababababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOOOOOOPMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:7878787865656565}~}~}~}~{|{|{|{|yzyzyzyzyzyzyzyzwxwxwxwxuvuvuvuvststststqrqrqrqropopopopmnmnmnmnklklklklijijijijhghghghgfefefefedcdcdcdcbabababa`_`_`_`_`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQOPOPOPOPMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:7878787865656565}~}~}~}~{|{|{|{|yzyzyzyzyxwxwxwxwxwxwxwxuvuvuvuvststststqrqrqrqropopopopmnmnmnmnklklklklijijiiiihghghghgfefefefedcdcdcdcbabababa`_`_`_`_`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQOPOPOPOPMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:7878787865656565}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxwxwxwxwxuvuvuvuvststststqrqrqrqropopopopmnmnmnmnklklklkliijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQOPOPOPOPMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHGHGHGHGFEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:7878787865656565}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxwxwxwxwxuvuvuvuvststststqrqrqrqropopopopmnmnmnmnklklklkljijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQOPOPOPOPMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:7878787865655555}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxwxwxwxwxuvuvuvuvststststqrqrqrqropopopopmnmnmnmnklklklkljijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQOPOPOPOPMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:7878787856565656}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxwvuvuvuvuvuvuvuvststststqrqrqrqropopopopmnmnmnmnklklklkljijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQOOOOOOPOMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:7878787856565656}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvuvuvuvuvststststqrqrqrqropopopopmnmnmnmnklklklkljijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPOMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFEFEFEFEDCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:7878787856565656}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvuvuvuvuvststststqrqrqrqropopopopmnmnmnmnklklklkljijiiiiihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPOMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:7878787856565656}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvuvuvuvuvststststqrqrqrqropopopopmnmnmnmnklklklklijijijijhghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPOMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:7878787856565656}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvutstststststststqrqrqrqropopopopmnmnmnmnklklklklijijijijhghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPOMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:7878787856555555}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvststststststststqrqrqrqropopopopmnmnmnmnklklklklijijijijhghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPOMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDCDCDCDCBABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:7878787865656565}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvststststststststqrqrqrqropopopopmnmnmnmnklklklklijijijijhghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQOOOOOPOPMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABABABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:7878787865656565}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvststststststststqrqrqrqropopopopmnmnmnmnklklklklijijijijhghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQOPOPOPOPMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABABABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:7878787865656565}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvststststsrqrqrqrqrqrqrqropopopopmnmnmnmnklklklklijiiiiiihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQOPOPOPOPMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABABABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:7878787865656565}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvststststqrqrqrqrqrqrqrqropopopopmnmnmnmnklklkjijjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQOPOPOPOPMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABABABABABA@?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:7878787865656565}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvststststqrqrqrqrqrqrqrqropopopopmnmnmnmnijijiiiihghghghghghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQOPOPOPOPMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:7878787865555556}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvststststqrqrqrqrqrqrqrqropopopopmnmnmnmnijijijijhghghghghghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQOPOOOOOPMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:7878787856565656}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvststststqrqrqrqrqpopopopopopopopmnmnmnmlijijijijhghghghghghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUTSTSTSTSRQRQPOPOOPOPOPONMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:78787878565656565656565643434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('('('('('&%&%&%&%$#$#$#$#"!"!"!"!          - - - -5656565643434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('('('('&%&%&%&%&%$#$#$#$#"!"!"!"!             - - - -5656565643434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%&%&%&%&%$#$#$#$#"!"!"!"!             - - - -5555556543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%&%&%&%&%$#$#$#$#"!"!"!"!             - - - -6565654343434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%&%&%&%&%$#$#$#$#"!"!"!"!           - - - -4343434343434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%&%&%&%$#$#$#$#$#"!"!"!"!         - - - -4343434343434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!         - - - -4343434343434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!         - - - -4343434343434321212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!         - - - - - -4343434321212121212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#$#$#$#"!"!"!"!"!         - - - - - - - -4343434321212121212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!"!"!"!"!       - - - - - - - -4343434321212121212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!"!"!"!"!     - - - - - - - -43434343212121212121210/0/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!"!"!"!"!     - - - - - - 43434343212121210/0/0/0/0/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!"!"!"!      - - - -43434343212121210/0/0/0/0/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - - -43434343212121210/0/0/0/0/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - - -43434343212121210/0/0/0/0/0/0/.-.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - - -43434343212121210/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - - -43434343212121210/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - - -43434343212121210/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - - -43434343212121210/0/0/0/.-.-.-.-.-.-.-,+,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - - -43434343212121210/0/0/0/.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - - -43434343212121210/0/0/0/.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - - -43434343212121210/0/0/0/.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - - -43434343212121210/0/0/0/.-.-.-.-,+,+,+,+,+,+,+*)*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - - -43434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - - -43434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - - -43434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - - -43434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)*)*)*)('('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - - -43434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - - -43434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - - - }}~~ - - xwwvvuut tuuvvwwx)((''&&%TUUVVWWXIHHGGFFE45566778ihhggffe - - ~~}}yyzz{{||$$##""!!YYZZ[[\\DDCCBBAA99::;;<>==<=>>??@@A`__^^]]\ !~~}}|yzz{{||}$##""!! qrrssttu - - tssrrqqp ~~}xyyzz{{|%$$##""!XYYZZ[[\EDDCCBBA899::;;>====>>??@@``__^^]] ~~}}yyzz{{|| - -  abbccdde<;;::998ABBCCDDE\[[ZZYYX!""##$$%|{{zzyyx}~~ uvvwwxxy - - poonmlkj !!""##$}||{{zzy|}}~~! \]]^^__`A@@??>>=<==>>??@a``__^^] ~~}~~}}||{xxwwvvuuaabbccdd<<;;::99AABBCCDD\\[[ZZYY!!""##$$||{{zzyy}}~~~~}}| - - effgghhi87766554EFFGGHHIXWWVVUUT%&&''(()xwwvvuut yzz{{||} -~~}} iihhggff$%%&&''(yxxwwvvu`aabbccd=<<;;::9@AABBCCD]\\[[ZZY !!""##$}||{{zzy{zzyyxxw !!""ttssrrqq - - eeffgghh88776655EEFFGGHHXXWWVVUU%%&&''((xxwwvvuu |{{zzyyx ijjkkllm43322110IJJKKLLMTSSRRQQP)**++,,-tssrrqqp - - }~~ - ||{{zzyy!!""eeddccbb())**++,uttssrrq - - deeffggh98877665DEEFFGGHYXXWWVVU$%%&&''(yxxwwvvu - - wvvuutts##$$%%&&ppoonnmm iijjkkll44332211IIJJKKLLTTSSRRQQ))**++,,ttssrrqq - - - - xwwvvuut mnnooppq0//..--,MNNOOPPQPOONNMML-..//001poonnmml xxwwvvuu##$$%%&&aa``__^^,--..//0qppoonnm hiijjkkl54433221HIIJJKKLUTTSSRRQ())**++,uttssrrq srrqqppo''(())**llkkjjii mmnnoopp00//..--MMNNOOPPPPOONNMM--..//00ppoonnmm tssrrqqp - - qrrssttu,++**))(QRRSSTTULKKJJIIH12233445lkkjjiih  ttssrrqq~~}}||''(())**]]\\[[ZZ01122334mllkkjji lmmnnoop100//..-LMMNNOOPQPPOONNM,--..//0qppoonnmoiihhggf++,,--..hhggffee - - qqrrsstt,,++**))QQRRSSTTLLKKJJII11223344llkkjjiipoonmlkjuvvwwxxy(''&&%%$UVVWWXXYHGGFFEED56677889hggffeed - -  - - ppoonnmm {{zzyyxx++,,--..YYXXWWVV45566778ihhggffe - - pqqrrsst-,,++**)PQQRRSSTMLLKKJJI01122334mllkkjjifeeddccb//001122ddccbbaauuvvwwxx((''&&%%UUVVWWXXHHGGFFEE55667788hhggffeeiihhggff !~~}}|yzz{{||}$##""!! YZZ[[\\]DCCBBAA@9::;;<<=dccbbaa`~ llkkjjii!!""##$$wwvvuutt//001122UUTSRQPO899::;;>==<=>>??@@A`__^^]]\ !~~}}|~}}||{{zhhggffee%%&&''((ssrrqqpp334455;;ONNMMLLK<==>>??@a``__^^] ~~}xyyzz{{|%$$##""!XYYZZ[[\EDDCCBBA899::;;>====>>??@@``__^^]] {{zzyyxx##$$%%&&aa``__^^%&&''(()xwwvvuut abbccdde<;;::998ABBCCDDE\[[ZZYYX!""##$$%|{{zzyyx zyyxxwwvddccbbaa))**++,,ooiihhgg<<==>>??KJJIIHHG@AABBCCD]\\[[ZZY !!""##$}||{{zzy|}}~~! \]]^^__`A@@??>>=<==>>??@a``__^^]%&&''(()ZYYXXWWV=>>??@@AXXWWVVUU%%&&''((xxwwvvuuaabbccdd<<;;::99AABBCCDD\\[[ZZYY!!""##$$wwvvuutt''(())**]]\\[[ZZ)**++,,-tssrrqqp - - effgghhi87766554EFFGGHHIXWWVVUUT%&&''(()xwwvvuut - - vuuttssr``__^^]]--..//00ffeeddcc@@AABBCCGFFEEDDCDEEFFGGHYXXWWVVU$%%&&''(yxxwwvvu`aabbccd=<<;;::9@AABBCCD]\\[[ZZY)**++,,-VUUOONNMABBCCDDETTSSRRQQ))**++,,ttssrrqq - - eeffgghh88776655EEFFGGHHXXWWVVUU%%&&''((ssrrqqpp++,,--..YYXXWWVV-..//001poonnmml ijjkkllm43322110IJJKKLLMTSSRRQQP)**++,,-tssrrqqp rqqppooi !!""##\\[[ZZYY11223344bbaa``__DDEEFFGGCBBAA@@?HIIJJKKLUTTSSRRQ())**++,uttssrrq - - deeffggh98877665DEEFFGGHYXXWWVVU-..//001MLLKKJJIEFFGGHHIPPOONNMM--..//00ppoonnmm iijjkkll44332211IIJJKKLLTTSSRRQQ))**++,,ooiihhgg//001122UUTSRQPO12233445lkkjjiih mnnooppq0//..--,MNNOOPPQPOONNMML-..//001poonnmmlihhggffe$$%%&&''XXWWVVUU55667788^^]]\\[[HHIIJJKK?>>==<<;LMMNNOOPQPPOONNM,--..//0qppoonnm hiijjkkl54433221HIIJJKKLUTTSSRRQ12233445IHHGGFFEIJJKKLLMLLKKJJII11223344llkkjjii mmnnoopp00//..--MMNNOOPPPPOONNMM--..//00ffeeddcc334455;;ONNMMLLK56677889hggffeed - - qrrssttu,++**))(QRRSSTTULKKJJIIH12233445lkkjjiiheddccbba(())**++TTSSRRQQ99::;;<EDDCCBBAMNNOOPQRHHGGFFEE55667788hhggffee - - qqrrsstt,,++**))QQRRSSTTLLKKJJII11223344bbaa``__<<==>>??KJJIIHHG9::;;<<=dccbbaa`uvvwwxxy(''&&%%$UVVWWXXYHGGFFEED56677889hggffeed!!"a``__^^],,--..//PPOONNMM==>>??@@VVUUOONNUUVVWWXX44332211TUUVVWWXIHHGGFFE45566778ihhggffe - - pqqrrsst-,,++**)PQQRRSSTMLLKKJJI>??@@AABA@@??>>=STUUVVWWDDCCBBAA99::;;<>??@@A`__^^]]\ !~~}}|yzz{{||}$##""!! YZZ[[\\]DCCBBAA@9::;;<<=dccbbaa`"##$$%%&]\\[[ZZY00112233LLKKJJIIAABBCCDDMMLLKKJJYYZZ[[\\00//..--XYYZZ[[\EDDCCBBA899::;;>====>>??@@``__^^]] ~~}}yyzz{{||$$##""!!YYZZ[[\\DDCCBBAA99::;;<>==<=>>??@@A`__^^]]\&''(())*YXXWWVVU44556789HHGGFFEEEEFFGGHHIIHHGGFF]]^^__``,,++**))\]]^^__`A@@??>>=<==>>??@a``__^^] ~~}xyyzz{{|%$$##""!XYYZZ[[\EDDCCBBAFGGHHIIJ43322110\\]]^^__<<;;::99AABBCCDD\\[[ZZYY!!""##$$||{{zzyy}}~~ ]]^^__``@@??>>====>>??@@VVUUOONNHHIIJJKK?>>==<<;EFFGGHHIXWWVVUUT%&&''(()xwwvvuut abbccdde<;;::998ABBCCDDE\[[ZZYYX*++,,--.UOONNMML:;;<<==>DDCCBBAAIIJJKKLLEEDDCCBBaabbccdd((''&&%%`aabbccd=<<;;::9@AABBCCD]\\[[ZZY !!""##$}||{{zzy|}}~~! \]]^^__`A@@??>>=JKKLLMMN0//..--,``aabbcc88776655EEFFGGHHXXWWVVUU%%&&''((xxwwvvuuaabbccdd<<;;::99AABBCCDDMMLLKKJJLLMMNNOO;:987655IJJKKLLMTSSRRQQP)**++,,-tssrrqqp - - effgghhi87766554EFFGGHHIXWWVVUUT.//00112LKKJJIIH>??@@AAB@@??>>==MMNNOOPPAA@@??>>eeffgghh$$##""!!deeffggh98877665DEEFFGGHYXXWWVVU$%%&&''(yxxwwvvu`aabbccd=<<;;::9NOOUUVVW,++**))(ddeeffgg44332211IIJJKKLLTTSSRRQQ))**++,,ttssrrqq - - eeffgghh88776655EEFFGGHHIIHHGGFFUUVVWWXX44332211MNNOOPPQPOONNMML-..//001poonnmml ijjkkllm43322110IJJKKLLMTSSRRQQP2334455;HGGFFEEDBCCDDEEF<<;;::99QQRRSSTT==<<;;55iiooppqq hiijjkkl54433221HIIJJKKLUTTSSRRQ())**++,uttssrrq - - deeffggh98877665WXXYYZZ[(''&&%%$hhiijklm00//..--MMNNOOPPPPOONNMM--..//00ppoonnmm iijjkkll44332211IIJJKKLLEEDDCCBBYYZZ[[\\00//..--QRRSSTTULKKJJIIH12233445lkkjjiih mnnooppq0//..--,MNNOOPPQPOONNMML;<<==>>?DCCBBAA@FGGHHIIJ88776655UUVVWWXX44332211rrssttuulmmnnoop100//..-LMMNNOOPQPPOONNM,--..//0qppoonnm hiijjkkl54433221[\\]]^^_$##""!!nooppqqr,,++**))QQRRSSTTLLKKJJII11223344llkkjjii mmnnoopp00//..--MMNNOOPPAA@@??>>]]^^__``,,++**))UVVWWXXYHGGFFEED56677889hggffeed - - qrrssttu,++**))(QRRSSTTULKKJJIIH?@@AABBC@??>>==>==<=>>??@@A`__^^]]\ !~~}}|yzz{{||}$##""!! YZZ[[\\]DCCBBAA@GHHIIJJK3221100/UUVVWWXX,,++**))aabbccdd((''&&%%~~ -xyyzz{{|%$$##""!XYYZZ[[\EDDCCBBA899::;;>====>>??@@``__^^]] ~~}}yyzz{{||$$##""!!YYZZ[[\\00//..--iiooppqq abbccdde<;;::998ABBCCDDE\[[ZZYYX!""##$$%|{{zzyyx}~~ ]^^__``a@??>>==>=<==>>??@a``__^^] ~~}xyyzz{{|%$$##""!pqqrrsst ~aabbccdd<<;;::99AABBCCDD\\[[ZZYY!!""##$$||{{zzyy}}~~ ]]^^__``,,++**))rrssttuueffgghhi87766554EFFGGHHIXWWVVUUT%&&''(()xwwvvuut abbccdde<;;::998OUUVVWWX+**))((']]^^__``$$##""!!iijjkkll`aabbccd=<<;;::9@AABBCCD]\\[[ZZY !!""##$}||{{zzy|}}~~! tuuvvwwx - - eeffgghh88776655EEFFGGHHXXWWVVUU%%&&''((xxwwvvuuaabbccdd((''&&%%vvwwxxyyijjkkllm43322110IJJKKLLMTSSRRQQP)**++,,-tssrrqqp - - effgghhi87766554XYYZZ[[\'&&%%$$#aabbccdd mmnnoopp - - deeffggh98877665DEEFFGGHYXXWWVVU$%%&&''(yxxwwvvuxyyzz{{|iijjkkll44332211IIJJKKLLTTSSRRQQ))**++,,ttssrrqq - - eeffgghh$$##""!!zz{{||}}mnnooppq0//..--,MNNOOPPQPOONNMML-..//001poonnmml ijjkkllm43322110\]]^^__`#""!!eeffgghhqqrrsstt hiijjkkl54433221HIIJJKKLUTTSSRRQ())**++,uttssrrq - - |}}~~ mmnnoopp00//..--MMNNOOPPPPOONNMM--..//00ppoonnmm iijjkkll~~ -qrrssttu,++**))(QRRSSTTULKKJJIIH12233445lkkjjiih mnnooppq0//..--,`aabbccdiijklmnouuvvwwxx ~~}}| lmmnnoop100//..-LMMNNOOPQPPOONNM,--..//0qppoonnm  - - - - qqrrsstt,,++**))QQRRSSTTLLKKJJII11223344llkkjjii mmnnoopp - uvvwwxxy(''&&%%$UVVWWXXYHGGFFEED56677889hggffeed - - qrrssttu,++**))(deeffgghoppqqrrsyyzz{{|| - - |{{zzyyx - - pqqrrsst-,,++**)PQQRRSSTMLLKKJJI01122334mllkkjji uuvvwwxx((''&&%%UUVVWWXXHHGGFFEE55667788hhggffee - - qqrrssttyzz{{||}$##""!! YZZ[[\\]DCCBBAA@9::;;<<=dccbbaa`uvvwwxxy(''&&%%$hiiooppqsttuuvvwwxxyyzz{##""!! ZZ[[\\]]CCBBAA@@::;;<<==ccbbaa``vvwwxxyy''&&%%$$VVWWXXYY33221100ffgghhii##""!! ^__``aab?>>==<<;>??@@AAB_^^]]\\[ !!"~~}}||{z{{||}}~#""!! Z[[\\]]^,++**))(z{{||}}~ - - {||}}~~^^__``aa??>>==<<>>??@@AA__^^]]\\ !!~~}}||zz{{||}}##""!! ZZ[[\\]]//..--,,ooppqqrrbccddeef;::99887BCCDDEEF[ZZYYXXW"##$$%%&{zzyyxxw~^__``aab(''&&%%$~ - - bbccddee;;::9988BBCCDDEE[[ZZYYXX""##$$%%{{zzyyxx~~^^__``aa++**))((ssttuuvvfgghhiij76655443FGGHHIIJWVVUUTTS&''(())*wvvuutts -bccddeef$##""!!~~} ffgghhii77665544FFGGHHIIWWVVUUTT&&''(())wwvvuutt bbccddee''&&%%$$wwxxyyzzjkkllmmn3221100/JKKLLMMNSRRQQPPO*++,,--.srrqqppo - fgghhiij}||{{zzyjjkkllmm33221100JJKKLLMMSSRRQQPP**++,,--ssrrqqpp - - ffgghhii##""!!{{||}}~~ nooppqqr/..--,,+NOOPPQQRONNMMLLK.//00112onnmmllkjkkllmmnyxxwwvvu nnooppqq//..--,,NNOOPPQQOONNMMLL..//0011oonnmmlljjkkllmm - - rssttuuv+**))(('RSSTTUUVKJJIIHHG23344556kjjiihhg nooppqqruttssrrq - - rrssttuu++**))((RRSSTTUUKKJJIIHH22334455kkjjiihh nnooppqq vwwxxyyz'&&%%$$#VWWXXYYZGFFEEDDC6778899:gffeeddc - - rssttuuv qppoonnm vvwwxxyy''&&%%$$VVWWXXYYGGFFEEDD66778899ggffeedd - - rrssttuuz{{||}}~#""!! Z[[\\]]^CBBAA@@?:;;<<==>cbbaa``_vwwxxyyz - - -mllkkjji !!""##$~~}}||zz{{||}}##""!! ZZ[[\\]]CCBBAA@@::;;<<==ccbbaa``vvwwxxyy ~^__``aab?>>==<<;>??@@AAB_^^]]\\[ !!"~~}}||{z{{||}}~ - ihhggffe$%%&&''({{zzyyxx~~^^__``aa??>>==<<>>??@@AA__^^]]\\ !!~~}}||zz{{||}} - -  -bccddeef;::99887BCCDDEEF[ZZYYXXW"##$$%%&{zzyyxxw~eddccbba())**++,wwvvuutt bbccddee;;::9988BBCCDDEE[[ZZYYXX""##$$%%{{zzyyxx~~~~}}||{ - fgghhiij76655443FGGHHIIJWVVUUTTS&''(())*wvvuutts -a``__^^],--..//0ssrrqqpp - - ffgghhii77665544FFGGHHIIWWVVUUTT&&''(())wwvvuutt  - -{zzyyxxwjkkllmmn3221100/JKKLLMMNSRRQQPPO*++,,--.srrqqppo - ]\\[[ZZY01122334oonnmmlljjkkllmm33221100JJKKLLMMSSRRQQPP**++,,--ssrrqqpp - - wvvuutts nooppqqr/..--,,+NOOPPQQRONNMMLLK.//00112onnmmllk!!""#YXXWWVVU45566778kkjjiihh nnooppqq//..--,,NNOOPPQQOONNMMLL..//0011oonnmmllsrrqqppo - - rssttuuv+**))(('RSSTTUUVKJJIIHHG23344556kjjiihhg#$$%%&&'UTTSSRRQ899::;;>??@ccbbaa``vvwwxxyy''&&%%$$VVWWXXYYGGFFEEDD66778899ggffeeddhhggffee !!"~~}}||{z{{||}}~#""!! Z[[\\]]^CBBAA@@?:;;<<==>cbbaa``_{zzyyxxw+,,--../MLLKKJJI@AABBCCD__^^]]\\ !!~~}}||zz{{||}}##""!! ZZ[[\\]]CCBBAA@@::;;<<==ccbbaa``~~}}||{{!!""##ddccbbaa"##$$%%&{zzyyxxw~^__``aab?>>==<<;>??@@AAB_^^]]\\[ !!"wvvuutts/0011223IHHGGFFEDEEFFGGH[[ZZYYXX""##$$%%{{zzyyxx~~^^__``aa??>>==<<>>??@@AA__^^]]\\ !!zzyyxxww$$%%&&''``__^^]]&''(())*wvvuutts -bccddeef;::99887BCCDDEEF[ZZYYXXW"##$$%%&srrqqppo34455;;>??@A@@??>>=LMMNNOOPSSRRQQPP**++,,--ssrrqqpp - - ffgghhii77665544FFGGHHIIWWVVUUTT&&''(())rrqqppoo,,--..//XXWWVVUU.//00112onnmmllkjkkllmmn3221100/JKKLLMMNSRRQQPPO*++,,--.feeddccb@AABBCCD=<<;;::9PQQRRSSTOONNMMLL..//0011oonnmmlljjkkllmm33221100JJKKLLMMSSRRQQPP**++,,--iihhggff00112233TSRQPOON23344556kjjiihhg nooppqqr/..--,,+NOOPPQQRONNMMLLK.//00112baa``__^DEEFFGGH98877665TUUVVWWXKKJJIIHH22334455kkjjiihh nnooppqq//..--,,NNOOPPQQOONNMMLL..//0011eeddccbb4455;;<>??@@JIIHHGGF:;;<<==>cbbaa``_vwwxxyyz'&&%%$$#VWWXXYYZGFFEEDDC6778899:ZYYXXWWVLMMNNOOU100//..-\]]^^__`CCBBAA@@::;;<<==ccbbaa``vvwwxxyy''&&%%$$VVWWXXYYGGFFEEDD66778899]]\\[[ZZAABBCCDDFEEDDCCB>??@@AAB_^^]]\\[ !!"~~}}||{z{{||}}~#""!! Z[[\\]]^CBBAA@@?:;;<<==>VUUOONNMUVVWWXXY-,,++**)`aabbccd??>>==<<>>??@@AA__^^]]\\ !!~~}}||zz{{||}}##""!! ZZ[[\\]]CCBBAA@@::;;<<==YYXXWWVVEEFFGGHHBAA@@??>BCCDDEEF[ZZYYXXW"##$$%%&{zzyyxxw~^__``aab?>>==<<;>??@@AABMLLKKJJIYZZ[[\\])((''&&%deeffggh;;::9988BBCCDDEE[[ZZYYXX""##$$%%{{zzyyxx~~^^__``aa??>>==<<>>??@@AAUUOONNMMIIJJKKLL>==<<;;:FGGHHIIJWVVUUTTS&''(())*wvvuutts -bccddeef;::99887BCCDDEEFIHHGGFFE]^^__``a%$$##""!hiijjkkl77665544FFGGHHIIWWVVUUTT&&''(())wwvvuutt bbccddee;;::9988BBCCDDEELLKKJJIIMMNNOOUU98765544JKKLLMMNSRRQQPPO*++,,--.srrqqppo - fgghhiij76655443FGGHHIIJEDDCCBBAabbccdde! lmmnnoop33221100JJKKLLMMSSRRQQPP**++,,--ssrrqqpp - - ffgghhii77665544FFGGHHIIHHGGFFEEVVWWXXYY33221100NOOPPQQRONNMMLLK.//00112onnmmllkjkkllmmn3221100/JKKLLMMNA@@??>>=effgghhipqqrrsst//..--,,NNOOPPQQOONNMMLL..//0011oonnmmlljjkkllmm33221100JJKKLLMMDDCCBBAAZZ[[\\]]//..--,,RSSTTUUVKJJIIHHG23344556kjjiihhg nooppqqr/..--,,+NOOPPQQR=<<;;554iooppqqrtuuvvwwx++**))((RRSSTTUUKKJJIIHH22334455kkjjiihh nnooppqq//..--,,NNOOPPQQ@@??>>==^^__``aa++**))((VWWXXYYZGFFEEDDC6778899:gffeeddc - - rssttuuv+**))(('RSSTTUUV43322110rssttuuvxyyzz{{|''&&%%$$VVWWXXYYGGFFEEDD66778899ggffeedd - - rrssttuu++**))((RRSSTTUU<<;;5544bbccddee''&&%%$$Z[[\\]]^CBBAA@@?:;;<<==>cbbaa``_vwwxxyyz'&&%%$$#VWWXXYYZ0//..--,vwwxxyyz |}}~~ZHAbے`JXQtArd˂rXQbdQZ|nvpQr˂pZHAۂ|ZdQfpvrXQJ`ۉbdQZ|fH~ˑZHAb|ZdQfpvnXv`drtAdfH~ZHAb`JXQrtlJnXv`bHAZdrtA`vXnے`JXQtlJnXv`fHfp˂rltbbJQbtlArd|f~H˂rXJltvpfHr˂pArd|f~HvnQJ`ےbdQZ|~f`ے`JXQr˂p|ZdQbJ`ےdrtAfH~ˑZHAb`JXQbtlnXv`bHAdrtf`vXے`JXbtlnXv`fHQZ|df`vXے`JXQbtltArdf~Hp˂rJltvpfr˂ptArdf~HpvnXQJ`ےdQZ|lr˂pJtAd|ZdQbtfpvQJ`ےbdQZ|~f`ZHAbہZdQbtfpvrXQJ`ۙbHAZpdrtAvXnr˂p|ZdQbtlJbHAZpJlbQZf`vXے`JXrbtlJtArdf~HZp˂AJltnvpQr˂pJtArdf~HfpvrtAJlnvpfr˂pJtAd|ZdQbfpvXQJ`ےbdQZ|H~fZHAb|ZdQbfpvrXQJ`bHAZtbnZHAbہZdQbtlJtnXv`˙bHAZpdrtAvXn`JXQlJtnXv`˒HAZp˂rXJltvpfHJXQrZHAbtlJtArd˂rXQ|drnvpQr˂pJtAd|ZdQfpvrXQJ`ۉbdQZ|fH~ˑZHAb|ZdQfpvnrXQJ`tbd~f`vZHAb|ZdQbtlJnXv`bHAZdrtA`vXnے`JXQtlJnXv`ےHAZp˂rvp``JXQlJtArdf~H˂rXJltvpfHr˂pArd|f~H˂rXQJ`ےbdQZ|~f`p`JXے`JXQtArdf~HJ`p˂tAJlfH~ˑZHAb|ZdQbtlnXv`bHAdrtf`vXے`JXbtlnXv`p˂QZ|dXnvے`JXQtlJtArdf~Hp˂rJltvpfr˂ptArdf~Hp˂rXQJ`ےvXnr˂pArd|f~HfpvQJ`ےbdQZ|~f`ZHAbہZdQbtfpvQJ`ےbHAZdrtAvXHQrbtr˂p|ZdQbXv`frXQJtbdQZf`vXے`JXbtlJtArdf~HZp˂AJltnvpQr˂pJtArdf~HrXQJ`ۙrtAJlpfH~r˂ptArdf~HfpvXQJ`ےbdQZ|H~fZHAb|ZdQbfpvXQJ`ےbHAZvpfHZHAbہZdQbtfpvnXv`˙bHAZpdrtAvXn`JXQlJtnXv`˙bHAZpdrtAJlt~fZHlJA|ZHAbtlJ~Hf`ےb|drnvpQr˂pJtArdf~HfpvrXQJ`ۉbdQZ|fH~ˑZHAb|ZdQfpvbHA|df`vZHAb|ZdQbfpvnXv`bHAZdrtA`vXnے`JXQtlJnXv`bHAZdrtA~f``JQrlJtnXv`fHfp˂rXJltvpfHr˂pArd|f~H˂rXJltbdQZ|AbˁZdQbtے`JXQtArdpvnHAZp˂tAJlfH~ˑZHAb|ZdQfpvnXv`bHAdrtf`vXے`JXbtlnXv`Zp˂rtAJlXnvے`JXQtlJnXv`fHfp˂rJltvpfr˂ptArdf~Hp˂rdQZ|vXnpZHAbArd|f~HvnQJ`ےbdQZ|~f`ZHAbہZdQbtfpvQJ`ےbdQZ|dtAJlpZHAlJtr˂p|ZdQbXv`frXQJtbQZdf`vXے`JXbtlnXv`fHZp˂AJltnvpQr˂pJtArdf~HrXQJ`ptbdQpfH~r˂ptArdf~HpvnXQJ`ےbdQZ|H~fZHAb|ZdQbfpvXQJ`ےdrtAJvp`vے`JZdQbtfpvrXQJ`ۙbHAZpdrtAvXn`JXQlJtnXv`˙bHAZpdrtAtbbے`Ard|ZHAbtlJ~Hf`ےrtAJlnvpQr˂pJtArdf~HfpvrXQJ`ۉbdQZ|fH~ˑZHAb|ZdQfpv˂rXZ|dfvXnZHAb|ZdQbfpvrXQJ`bHAZdrtA`vXnے`JXQtlJnXv`bHAZltbXnvXQr˂lJtnXv`˒HAZp˂rXJltvpfHr˂pArd|f~H˂rXJltnvp`JXQrˁZdQbtے`JXQtArdp`frXQJ`tbdfH~ˑZHAb|ZdQfpvnrXQJ`bHAdrtf`vXے`JXbtlnXv`QJ`ےrtAJlvpfHے`JXQtlJnXv`ےHAZp˂rJltvpfr˂ptArdf~Hp˂rdQZ|pfH~pZHAbArd|f~H˂rXQJ`ےbdQZ|~f`ZHAbہZdQbtfpvQJ`ےbdQZ|vXnpZHAlJArr˂p|ZdQb~HfpےbHAQZ|df`vXے`JXbtlnXv`ےHAZp˂AJltnvpQr˂pJtArdf~HbHAZptdrt~f`r˂ptArdf~Hp˂rXQJ`ےbdQZ|H~fZHAb|ZdQbfpvXQJ`ےdrtAJf`vے`JZdQbtfpvQJ`ےbHAZdrtAvXn`JXQlJtnXv`˙bHAZpdrtAvpfHbے`p|ZdQZHAbtlJvnXZp˂rtAJlnvpQr˂pJtArdf~HZp˂rXQJ`ۉbdQZ|fH~ˑZHAb|ZdQfpv˂rXAJltvXnZHAb|ZdQbfpvXQJ`ےbHAZdrtA`vXnے`JXQtlJnXv`bHAZl|dXnvXQrZHlJtnXv`˙bHAZpdrtAJltvpfHr˂pArd|f~H˂rXJlt~f`ZHAbbtlے`JXQtArdv`frXQJ`tbdfH~ˑZHAb|ZdQfpvrXQJ`ےbHAdrtf`vXے`JXbtlnXv`QJ`ےbdQZ|vpfHے`JXQtlJnXv`bHAZdrtAJltvpfr˂ptArdf~Hp˂rrtAJlpfHXAbے`Ard|f~H˂rXJltbdQZ|~f`ZHAbہZdQbtfpvQJ`ےbdQZ|vXnے`JXJtArdr˂p|ZdQb~HfpےbHAQZrtAf`vXے`JXbtlnXv`bHAZdrtAJltnvpQr˂pJtArdf~HrXQdrt~fvr˂ptArdf~Hp˂rJltbdQZ|H~fZHAb|ZdQbfpvXQJ`ےtbdQnvpJXQrZdQbtfpvQJ`ےbdQZ|dtAJlvXn`JXQlJtnXv`˙bHAZpdrtAvp`Qr˂p|ZdQZHAbtlJv~XQJ`ےJltnvpQr˂pJtArdf~HZp˂AJltbdQZ|fH~ˑZHAb|ZdQfpvJ`ےAJltnvpZHAb|ZdQbfpvXQJ`ےbdQZ|dtAJ`vXnے`JXQtlJnXv`bHAZZ|dfH~˂pZHlJtnXv`˙bHAZpdrtAtbvpfHr˂pArd|f~H˂rXJltvXnۑZHAbbtlے`JXQtArdHfpvbHAZbdQZ|fH~ˑZHAb|ZdQfpvrXQJ`ۉbdQZ|dtAf`vXے`JXbtlnXv`bHAZpˉbdQtAfH~ے`JXQtlJnXv`bHAZdrtAltbvpfr˂ptArdf~Hp˂rrtAJlf`vXAbے`Ard|f~H˂rXJltnvp~f`ZHAbہZdQbtfpvQJ`ےbdQZ|vpfHے`JXJtArr˂p|ZdQbnXvp˂rdrtAf`vXے`JXbtlnXv`bHAdrtJltnvpQr˂pJtArdf~HrXQJltf`vXr˂ptArdf~Hp˂rJltnvpH~fZHAb|ZdQbfpvXQJ`ےtdrnvpJXQrZdQbtfpvQJ`ےbdQZ|fHf`vXn`JXQlJtnXv`˙bHAZpdrtA~f`QHAbZdQbtZHAbtlJ`f~XQJ`ےJltnvpQr˂pJtArdf~HZp˂AJltbnvpfH~ˑZHAb|ZdQfpvJ`ےbdQZ|nvpZHAb|ZdQbfpvXQJ`ےbdQZ|fHf`vXnے`JXQtlJnXv`bHAZtAJlfH~ZAblJtnXv`˙bHAZpdrtAvXnvpfHr˂pArd|f~H˂rXJltvXnے`JXQlJtAے`JXQtArdHfpvbHAZbdQZ|fH~ˑZHAb|ZdQfpvrXQJ`ۉbdQZ|fHf`vXے`JXbtlnXv`bHAXQJ`drtAfH~ے`JXQtlJnXv`bHAZdrtA`vXnvpfr˂ptArdf~Hp˂rtbdQZvpfے`JXQArd|f~H˂rXJltvpfH~fZHAbہZdQbtfpvQJ`ےbdQZ|vpfHXr˂prd|r˂p|ZdQbnXHp`ےrAJlf`vXے`JXbtlnXv`bHAdrtf`vXnvpQr˂pJtArdf~HےbHJltf`vnr˂ptArdf~Hp˂rJltvpfH~fZHAb|ZdQbfpvXQJ`ے|drH~fr˂pZdQbtfpvQJ`ےbdQZ|~f`ZHAbے`JXQlJtnXv`˙bHAZpdrtAnvpZHAbZdQbtZHAbtlJfpvbHAZptbdQnvpQr˂pJtArdf~HZp˂AJltnvpfH~ˑZHAb|ZdQfpvAZp˂bdQZ|lvpfHZHAb|ZdQbfpvXQJ`ےbdQZ|H~fZHAbے`JXQtlJnXv`bHAZtAJl`vXnZHAblJtnXv`˙bHAZpdrtAvXn`JXQr˂pArd|f~H˂rXJltfH~`JXQlJtAے`JXQtArdnXv`˂rXQZ|dfH~ˑZHAb|ZdQfpvrXQJ`ۉbdQZ|fH~fZHAbے`JXbtlnXv`rXQJ`tbd~f`ے`JXQtlJnXv`bHAZdrtA`vXnے`JXQr˂ptArdf~Hp˂rtbdQtAvpfے`JXQArd|f~H˂rXJltvpfHr˂pZHAے`ZdQbtfpvQJ`ےbdQZ|f`vXrے`rdZQbr˂p|ZdQbf~HJ`ےrtAJlf`vXے`JXbtlnXv`bHAdrtf`vXے`JXQr˂pJtArdf~HےbHQZ|dvXnr˂ptArdf~Hp˂rJltvpfr˂pZHAے|ZdQbfpvXQJ`ےJltH~fr˂pZdQbtfpvQJ`ےbdQZ|~f`ZHAbہJXQrlJtnXv`˙bHAZpdrtAnvpJXQrtlJZHAbtlJfpvbHAZptbdQnvpQr˂pJtArdf~HZp˂AJltnvpQr˂pZHAۂ|ZdQfpvAZp`ۙrtAJlvpfHZHAb|ZdQbfpvXQJ`ےbdQZ|H~fZHAb`JXQrtlJnXv`bHAZbdQZ|`pfHZAb`lJtnXv`˙bHAZpdrtAvXn`JXQbtlArd|f~H˂rXJltfH~˂pZHtArdے`JXQtArdnXv`˂bZ|dnfH~ˑZHAb|ZdQfpvrXQJ`ۉbdQZ|fH~ˑZHAb`JXQbtlnXv`bHAtbd~f`ے`JXQtlJnXv`bHAZdrtA`vXnے`JXQbtltArdf~Hp˂rdrtA~f`JXQrArd|f~H˂rXJltvpfHr˂pJtAd|ZdQbtfpvQJ`ےbdQZ|vpAbے`|ZdQbr˂p|ZdQbpvnHAZdvff`vXے`JXbtlnXv`bHAdrtf`vXے`JXrbtlJtArdf~HZp˂QZ|lvXnvfr˂ptArdf~Hp˂rJltvpfr˂pJtAd|ZdQbfpvXQJ`ےJltvXnpZHAZdQbtfpvQJ`ےbdQZ|~f`ZHAbہZdQbtlJtnXv`˙bHAZpdrtAfH~ˁJXQrtlJZHAbtlJXv`frtAJf`vXnvpQr˂pJtArdf~HZp˂AJltnvpQr˂pJtAd|ZdQfpvrXQJ`ےtbnH~fZHAb|ZdQbfpvXQJ`ےbdQZ|H~fZHAb|ZdQbtlJnXv`bHAZbdQZ|vpfHbے`lJtnXv`˙bHAZpdrtAvXn`JXQlJtArdf~H˂rXJltf`vX˂p`tArdے`JXQtArd~HfbdQZ|nvpfH~ˑZHAb|ZdQfpvrXQJ`ۉbdQZ|fH~ˑZHAb|ZdQbtlnXv`bHAvpfZHAbے`JXQtlJnXv`bHAZdrtA`vXnے`JXQtlJtArdf~Hp˂rltb~f`JXQrArd|f~H˂rXJltvpfHr˂pArd|f~HfpvQJ`ےbdQZ|nvpJXQr|ZQblr˂p|ZdQbpvndrtAfH~fZHAbے`JXbtlnXv`bHAdrtf`vXے`JXbtlJtArdf~HZp˂f`vXے`JXQr˂ptArdf~Hp˂rJltvpfr˂ptArdf~HfpvXQJ`ےdQZ|vXH~pZA`ZdQbtfpvQJ`ےbdQZ|~f`ZHAbہZdQbtfpvnXv`˙bHAZpdrtAfH~˂pZHAJtArdZHAbtlJXv`pJltf`vXے`JXQr˂pJtArdf~HZp˂AJltnvpQr˂pJtArdf~HfpvbHAZnvpr˂pZHAے|ZdQbfpvXQJ`ےbdQZ|H~fZHAb|ZdQbfpvnXv`bHAZdrtAJfZHAJXQrlJtnXv`˙bHAZpdrtAvXn`JXQlJtnXv`fHfp˂rXJltf`pfHbے`|ZdQbtlXv`fbHAZpdrtAJvXn`JXQrlJtAXv`fHfp˂rXQltbvpfH`JXQrrd|Xv`frXQtbdvpfH˂pZHrd|~HfpvnrXJ`ےQZ|d~f`ZHAbۑpJAHrXnvˍJtArd~Hf˂rXQltbvpfH˂pZrd|~HfvnrJ`ےdQZ|~f`˂pZlJtAr~fpvJ`ےQZ|d~f`Abے`ZdQbtvnXQJ`ےbHAZp˙rtAJlvXnے`JXQ󙐂ˁ`p|dr|ZdpvnJ`ےdQZ|~f`HAbےZdQbtpvnXQJ`ےbHAZpdrtAJvXnHAbےd|ZnXv`bHAZp˙rtAJlvXnہJXQrlJtAv`fHAZp˂rXQtbdvpfHr˂p`pfH~QtJlQbJtAXv`fbHAZpdrtAJvXn`JXQrlJtAXv`fHAZp˂rXQltbvpfH`JXQrdQbt璍f~HrXQtbdvpfH˂pZHrd|~HfprXQJ`ےQZ|d~f`JXQrf۝`vtbAdZrdf~Hf˂rXQltbvpfH˂pZrd|~Hf˂rXQJ`ےdQZ|~f`˂p`lJtArfpvJ`ےQZ|d~f`Abے`ZdQbtvnXJ`ےbHAZdrtAJlvXnۉ˂pZHXnvˍ|dr~HfpvnJ`ےdQZ|~f`HAbےZdQbtpvnJ`ےbHAZdrtAJvXnJXQrd|ZnXv`bHAZp˙rtAJlvXnہJXQrlJtAv`fbHAZp˙rtAJltbdvpfHAbے`pfH~QtJlpvnXv`fbHAZpdrtAJvXn`JXQrlJtAXv`fbHAZpdrtAJltbvpfH˂pZHAdQtArdffpۂrXQtbdvpfH˂pZHrd|~HfprXQtbdQZ|d~f`JXQrf۝`vtbAdZXv`fHfp˂rXQltbvpfH˂pZrd|~Hf˂rXQltbdQZ|~f`bے`f~vnrXJ`ےQZ|d~f`Abے`ZdQbtvnXJ`ےQZ|dtAJlvXnۉ˂p`ZXnvˍ|dr~HfvnrJ`ےdQZ|~f`HAbےZdQbtpvnJ`ےdQZ|dtAJlvXnJXQrHfvnXQJ`ےbHAZp˙rtAJlvXnہJXQrlJtAv`fbHAZp˙rtAJltbnvpfHQXb㉀pfH~QtJlpvnXQJ`ےbHAZpdrtAJvXn`JXQrlJtAXv`fbHAZpdrtAJtbnvpfH˂p`Jv`fHAZp˂rXQtbdvpfH˂pZHrd|~HfprXQtbdvpfH~f`ۑpJAHrf۝`vtbAdZXv`fHAZp˂rXQltbvpfH˂pZrd|~Hf˂rXQltbvpf~f`XQrbt~HfprXQJ`ےQZ|d~f`Abے`ZdQbtvnXJ`ےQZ|df`vXn󙐂ˁ`ZXnvˍ|dr~Hf˂rXQJ`ےdQZ|~f`HAbےZdQbtpvnJ`ےdQZ|Hf`vXnl|ZvnXJ`ےbHAZdrtAJlvXnہJXQrlJtAv`fbHAZp˙rtAJlvXnvpfHQXb㉀pfH~QtJlpvnJ`ےbHAZdrtAJvXn`JXQrlJtAXv`fbHAZpdrtAJvXnvpfHdQbt璕v`fbHAZp˙rtAJltbdvpfH˂pZHrd|~HfprXQtbdvpfH~frۑp`ZQf۝`vtbAdZXv`fbHAZpdrtAJltbvpfH˂pZrd|~Hf˂rXQltbvpfH~fZlJtAr~HfprXQtbdQZ|d~f`Abے`ZdQbtvnXJ`ےQZ|d~f`˂pZHXb㉀ۑXnvˍ|dr~Hf˂rXQltbdQZ|~f`HAbےZdQbtpvnJ`ےdQZ|~f`HAbd|Zvnv`J`ےQZ|dtAJlvXnہJXQrlJtAv`fbHAZp˙rtAJlvXnAbے`pJAHrpfH~QtJlpvnJ`ےdQZ|dtAJlvXn`JXQrlJtAXv`fbHAZpdrtAJvXn˂pZHAdQbtf~HbHAZp˙rtAJltbnvpfH˂pZHrd|~HfprXQtbdvpfHJXQrˁ`ZQf۝`vtbAdZXv`fbHAZpdrtAJtbnvpfH˂pZrd|~Hf˂rXQltbvpfHbے`l|ZdQfpvrXQtbdvpfH~f`Abے`ZdQbtvnXJ`ےQZ|d~f`˂pZHXb㉀ۑXnvˍ|dr~Hf˂rXQltbvpf~f`HAbےZdQbtpvnJ`ےdQZ|~f`JXQrbtlnXv`J`ےQZ|df`vXnہJXQrlJtAv`fbHAZp˙rtAJlvXnAbے`pJAHQXbpfH~QtJlpvnJ`ےdQZ|Hf`vXn`JXQrlJtAXv`fbHAZpdrtAJvXn˂pZHAJtArdf~HbHAZp˙rtAJlvXnvpfH˂pZHrd|~HfprXQtbdvpfHpZHA㉀ۑpJf۝`vtbAdZXv`fbHAZpdrtAJvXnvpfH˂pZrd|~Hf˂rXQltbvpfHbے`|ZdQfpvrXQtbdvpfH~fZHAbے`ZdQbtvnXJ`ےQZ|d~f`bے`AHr󙐂Xnvˍ|dr~Hf˂rXQltbvpfH~fZHAbےZdQbtpvnJ`ےdQZ|~f`pZHAbbtlnvfJ`ےQZ|d~f`Abے`JXQrlJtAv`fbHAZp˙rtAJlvXnJXQrˁ`ZQXbpfH~QtJlpvnJ`ےdQZ|~f`HAbے`JXQrlJtAXv`fbHAZpdrtAJvXnے`JJtAdQb~HfpbHAZp˙rtAJlvXnہJXQr˂pZHrd|~HfprXQtbdvpfHpZHA㉀ۑpJf۝`vtbAdZXv`fbHAZpdrtAJvXn`JXQr˂pZrd|~Hf˂rXQltbvpfHXQr˂tlJvnXrXQtbdvpfH˂pZHAے`ZdQbtvnXJ`ےQZ|d~f`bے`AHr󙐉Xnvˍ|dr~Hf˂rXQltbvpfH˂pZHAے`ZdQbtpvnJ`ےdQZ|~f`pZHAbtArdv`fJ`ےQZ|d~f`Abے`JXQrbtlJtAv`fbHAZp˙rtAJlvXnJXQHAbۑpJApfH~QtJlpvnJ`ےdQZ|~f`HAbےJXQrblJtAXv`fbHAZpdrtAJvXnے`J|ZdQb~HfpbHAZp˙rtAJlvXnہJXQrlJtrd|~HfprXQtbdvpfHے`JXHr󙐂ˁf۝`vtbAdZXv`fbHAZpdrtAJvXn`JXQrtlJrd|~Hf˂rXQltbvpfHXQHAbtlJvnXvrXQtbdvpfH˂pZHAd|ZdQbtvnXJ`ےQZ|d~f`Qr˂p`ZQXbXnvˍ|dr~Hf˂rXQltbvpfH˂pZtAd|ZdQbtpvnJ`ےdQZ|~f`ے`JXQtArdtf~HfJ`ےQZ|d~f`Abے`ZdQbtlJtAv`fbHAZp˙rtAJlvXnۑZHAbۑpJApfH~QtJlpvnJ`ےdQZ|~f`HAbےZdQbtlJtAXv`fbHAZpdrtAJvXnr˂plJtApvnbHAZp˙rtAJlvXnہJXQrlJtArdf~HfprXQtbdvpfHے`JXHr󙐂ˁf۝`vtbAdZXv`fbHAZpdrtAJvXn`JXQrlJtArdf~Hf˂rXQltbvpfHZHAbrd|Xv`frXQtbdvpfH˂pZHrd|~HfpvnXJ`ےQZ|d~f`Qr`pJAHrXnvˍ|dr~Hf˂rXQltbvpfH˂pZrd|~HfpvnJ`ےdQZ|~f`ے`JXQZdQbt~HfJ`ےQZ|d~f`Abے`ZdQbtvnXv`fbHAZp˙rtAJlvXnے`JXQ󙐂ˁ`ZpfH~QtJlpvnJ`ےdQZ|~f`HAbےZdQbtpvnXv`fbHAZpdrtAJvXnrےlJtApvnbHAZp˙rtAJlvXnہJXQrlJtAv`fHfpۂrXQtbdvpfHr˂pQXb㉀f۝`vtbAdZ|JJKKKKKKKKKKKKKKKKKKKKKKKKKKKKK \ No newline at end of file diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv31_1.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv31_1.dat deleted file mode 100644 index 98ce5641aa..0000000000 --- a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv31_1.dat +++ /dev/null @@ -1,281 +0,0 @@ -}~}~}~}~}~}~}~}~{|{|{|{|{|{|{|{|{|{|{|{|yzyzyzyzyzyzyzyzwxwxwxwxwxwxwxwxuvuvuvuvuvuvuvuvststststststststqrqrqrqrqrqrqrqrqpopopopopopopopopopopopmnmnmnmnklklklklklklklklijijijiijijijijihghghghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQPOPOOOOOOPOPOPOPMNMNMNMNMNMNMNMNMNMNMNMNKLKLKLKLKLKLKLKLIJIJIJIJIJIJIJIJGHGHGHGHGHGHGHGHEFEFEFEFEFEFEFEFCDCDCDCDCDCDCDCDCDCDCDCBABABABABABABABAB?@?@?@?@?@?@?@?@=>=>=>=>=>=>=>=>;<;<;<;<;<;<;<;<9:9:9:9:9:9:9:9:78787878787878786565555556565656434343434343434321212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!"!"!"!"!    }~}~}~}~}~}~}~}~{|{|{|{|{|{|{|{|{zyzyzyzyzyzyzyzyzyzyzyzwxwxwxwxwxwxwxwxuvuvuvuvuvuvuvuvststststststststqrqrqrqrqrqrqrqropopopopopopopopopopopopmnmnmnmnklklklklklklklkliiiijijijijijijihghghghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQOPOPOPOPOPOPOPOPMNMNMNMNMNMNMNMNMNMNMNMLKLKLKLKLKLKLKLKLIJIJIJIJIJIJIJIJGHGHGHGHGHGHGHGHEFEFEFEFEFEFEFEFCDCDCDCDCDCDCDCDABABABABABABABABABABABAB?@?@?@?@?@?@?@?@=>=>=>=>=>=>=>=>;<;<;<;<;<;<;<;<9:9:9:9:9:9:9:9:78787878787878785656565656565656434343434343434321212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!"!"!"!     }~}~}~}~}~}~}~}~{|{|{|{|{|{|{|{|yzyzyzyzyzyzyzyzyzyzyzyzwxwxwxwxwxwxwxwxuvuvuvuvuvuvuvuvststststststststqrqrqrqrqrqrqrqropopopopopopopopopopopopmnmnmnmnklklklklklklklkljijijijijijiiiiihghghghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQOPOPOPOPOOOOOOPOMNMNMNMNMNMNMNMNKLKLKLKLKLKLKLKLKLKLKLKLIJIJIJIJIJIJIJIJGHGHGHGHGHGHGHGHEFEFEFEFEFEFEFEFCDCDCDCDCDCDCDCDABABABABABABABABABABABAB?@?@?@?@?@?@?@?@=>=>=>=>=>=>=>=>;<;<;<;<;<;<;<;<9:9:9:9:9:9:9:9:78787878787878785656565655555565434343434343434321212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!        }~}~}~}~}~}~}~}~{|{|{|{|{|{|{|{|yzyzyzyzyzyzyzyzyzyzyzyzwxwxwxwxwxwxwxwxuvuvuvuvuvuvuvuvststststststststqrqrqrqrqrqrqrqropopopopopopopoponmnmnmnmnmnmnmnklklklklklklklkljijijijiijijijijhghghghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcbabababababababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSRQRQRQRQRQOPOPOPOPPOPOPOPOMNMNMNMNMNMNMNMNKLKLKLKLKLKLKLKLKLKLKLKLIJIJIJIJIJIJIJIJGHGHGHGHGHGHGHGHEFEFEFEFEFEFEFEFCDCDCDCDCDCDCDCDABABABABABABABABABABABA@?@?@?@?@?@?@?@?@=>=>=>=>=>=>=>=>;<;<;<;<;<;<;<;<9:9:9:9:9:9:9:9:78787878787878785656565665656543434343434343434321212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!        }~}~}~}~}~}~}~}~{|{|{|{|{|{|{|{|yzyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwxwxwxwxuvuvuvuvuvuvuvuvststststststststqrqrqrqrqrqrqrqropopopopopopopopmnmnmnmnmnmnmnmnklklklklklklklkljijijijiijijijijhghghghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcbabababababababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSRQRQRQRQRQRQRQRQOPOPOPOPPOPOPOPOMNMNMNMNMNMNMNMNKLKLKLKLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIJGHGHGHGHGHGHGHGHEFEFEFEFEFEFEFEFCDCDCDCDCDCDCDCDABABABABABABABAB?@?@?@?@?@?@?@?@?@?@?@?@=>=>=>=>=>=>=>=>;<;<;<;<;<;<;<;<9:9:9:9:9:9:9:9:78787878787656565656565643434343434343434343434321212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!        }~}~}~}~}~}~}~}~{|{|{|{|{|{|{|{|yzyzyzyzyzyzyzyzwxwxwxwxwxwxwxwxwxwxwxwxuvuvuvuvuvuvuvuvststststststststqrqrqrqrqrqrqrqropopopopopopopopmnmnmnmnmnmnmnmnklklklklklklklkljijijijiijijijijhghghghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcbabababababababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUVUVUVUVUTSTSTSTSRQRQRQRQRQRQRQRQOPOPOPOPPOPOPOPOMNMNMNMNMNMNMNMNKLKLKLKLKLKLKLKLIJIJIJIJIJIJIJIJIJIJIJIJGHGHGHGHGHGHGHGHEFEFEFEFEFEFEFEFCDCDCDCDCDCDCDCDABABABABABABABAB?@?@?@?@?@?@?@?@?@?@?@?@=>=>=>=>=>=>=>=>;<;<;<;<;<;<;<;<9:9:9:9:9:9:9:9:78787878565555565656565643434343434343434343434321212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)*)*)*)('('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!        }~}~}~}~}~}~}~}~{|{|{|{|{|{|{|{|yzyzyzyzyzyzyzyzwxwxwxwxwxwxwxwxwxwxwxwxuvuvuvuvuvuvuvuvststststststststqrqrqrqrqrqrqrqropopopopopopopopmnmnmnmnmnmnmnmnklklklklklklklkljijijiiiijijijijhghghghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUVUVUVUVUTSTSTSTSRQRQRQRQRQRQRQRQOPOOOOOOPOPOPOPOMNMNMNMNMNMNMNMNKLKLKLKLKLKLKLKLIJIJIJIJIJIJIJIJIJIJIJIJGHGHGHGHGHGHGHGHEFEFEFEFEFEFEFEFCDCDCDCDCDCDCDCDABABABABABABABAB?@?@?@?@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=>;<;<;<;<;<;<;<;<9:9:9:9:9:9:9:9:78787878565656565655555543434343434343434343432121212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!        }~}~}~}~}~}~}~}~{|{|{|{|{|{|{|{|yzyzyzyzyzyzyzyzwxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvuvuvuvuvststststststststqrqrqrqrqrqrqrqropopopopopopopopmnmnmnmnmnmnmnmnklklklklklklklkliiijijijijijijijhghghghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUVUVUVUVUTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPOMNMNMNMNMNMNMNMNKLKLKLKLKLKLKLKLIJIJIJIJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGHEFEFEFEFEFEFEFEFCDCDCDCDCDCDCDCDABABABABABABABAB?@?@?@?@?@?@?@?@=>=>=>=>=>=>=>=>=>=>=>=>;<;<;<;<;<;<;<;<9:9:9:9:9:9:9:9:78787878565656566565656543434343434343432121212121212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!        }~}~}~}~}~}~}~}~{|{|{|{|{|{|{|{|yzyzyzyzyzyzyzyzwxwxwxwxwxwxwxwxuvuvuvuvuvuvuvuvuvuvuvuvststststststststqrqrqrqrqrqrqrqropopopopopopopopmnmnmnmnmnmnmnmnklklklklklklklklijijijijijiiiiiihghghghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPOOOOOOPOPMNMNMNMNMNMNMNMNKLKLKLKLKLKLKLKLIJIJIJIJIJIJIJIJGHGHGHGHGHGHGHGHGHGHGHGHEFEFEFEFEFEFEFEFCDCDCDCDCDCDCDCDABABABABABABABAB?@?@?@?@?@?@?@?@=>=>=>=>=>=>=>=>=>=>=>=>;<;<;<;<;<;<;<;<9:9:9:9:9:9:987878787878565656566565656543434343434343432121212121212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('('('('&%&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!        }~}~}~}~}~}~}~}~{|{|{|{|{|{|{|{|yzyzyzyzyzyzyzyzwxwxwxwxwxwxwxwxuvuvuvuvuvuvuvuvuvuvuvuvststststststststqrqrqrqrqrqrqrqropopopopopopopopmnmnmnmnmnmnmnmnklklklklklklklklijijijijjijijijihghghghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPOOPOPOPOPMNMNMNMNMNMNMNMNKLKLKLKLKLKLKLKLIJIJIJIJIJIJIJIJGHGHGHGHGHGHGHGHGHGHGHGHEFEFEFEFEFEFEFEFCDCDCDCDCDCDCDCDABABABABABABABAB?@?@?@?@?@?@?@?@=>=>=>=>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;<9:9:9:9:78787878787878785656565665656565434343434343434321212121212121212121210/0/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!        }~}~}~}~}~}~}~}~{|{|{|{|{|{|{|{|yzyzyzyzyzyzyzyzwxwxwxwxwxwxwxwxuvuvuvuvuvuvuvuvutstststststststststststqrqrqrqrqrqrqrqropopopopopopopopmnmnmnmnmnmnmnmnklklklklklklkjijijijijijhghghghghghghghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPOOPOPOPOPMNMNMNMNMNMNMNMNKLKLKLKLKLKLKLKLIJIJIJIJIJIJIJIJGHGHGHGHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEFCDCDCDCDCDCDCDCDABABABABABABABAB?@?@?@?@?@?@?@?@=>=>=>=>=>=>=>=>;<;<;<;<;<;<;<;<;<;<;<;<9:9:9:9:78787878787878785656555565656565434343434343434321212121212121210/0/0/0/0/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!        ~}~}~}~}~}~}~}~}~}~}~}~{|{|{|{|{|{|{|{|yzyzyzyzyzyzyzyzwxwxwxwxwxwxwxwxuvuvuvuvuvuvuvuvststststststststststststqrqrqrqrqrqrqrqropopopopopopopopmnmnmnmnmnmnmnmnklklklklijijiiiiijijijijhghghghghghghghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPOOPOPOPOPMNMNMNMNMNMNMNMNKLKLKLKLKLKLKLKLIJIJIJIJIJIJIJIJGHGHGHGHGHGHGHGHEFEFEFEFEFEFEFEFEFEFEFEFCDCDCDCDCDCDCDCDABABABABABABABAB?@?@?@?@?@?@?@?@=>=>=>=>=>=>=>=>;<;<;<;<;<;<;<;<;<;<;<;<9:9:9:9:78787878787878785565656565656565434343434343434321212121212121210/0/0/0/0/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!        }~}~}~}~}~}~}~}~}~}~}~}~{|{|{|{|{|{|{|{|yzyzyzyzyzyzyzyzwxwxwxwxwxwxwxwxuvuvuvuvuvuvuvuvststststststststststststqrqrqrqrqrqrqrqropopopopopopopopmnmnmnmnmnmnmnmnklklklklijijijijijijiiiihghghghghghghghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQPOOOOOOPOPOPOPOPMNMNMNMNMNMNMNMNKLKLKLKLKLKLKLKLIJIJIJIJIJIJIJIJGHGHGHGHGHGHGHGHEFEFEFEFEFEFEFEFEFEFEFEFCDCDCDCDCDCDCDCDABABABABABABABAB?@?@?@?@?@?@?@?@=>=>=>=>=>=>=>=>;<;<;<;<;<;<;<;<;<;<;<;:9:9:9:9:78787878787878786565656565555556434343434343434321212121212121210/0/0/0/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!        }~}~}~}~}~}~}~}~}~}~}~}~{|{|{|{|{|{|{|{|yzyzyzyzyzyzyzyzwxwxwxwxwxwxwxwxuvuvuvuvuvuvuvuvststststststststsrqrqrqrqrqrqrqrqrqrqrqropopopopopopopopmnmnmnmnmnmnmnmnklklklklijijijijiijijijihghghghghghghghgfefefefefefefefefefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQOPOPOPOPOPOOOOOPMNMNMNMNMNMNMNMNKLKLKLKLKLKLKLKLIJIJIJIJIJIJIJIJGHGHGHGHGHGHGHGHEFEFEFEFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCDABABABABABABABAB?@?@?@?@?@?@?@?@=>=>=>=>=>=>=>=>;<;<;<;<;<;<;<;<9:9:9:9:9:9:9:9:78787878787878786565656556565656434343434343434321212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!      }~}~}~}~}~}~}~}~}|{|{|{|{|{|{|{|{|{|{|{|yzyzyzyzyzyzyzyzwxwxwxwxwxwxwxwxuvuvuvuvuvuvuvuvststststststststqrqrqrqrqrqrqrqrqrqrqrqropopopopopopopopmnmnmnmnmnmnmnmlklklklklijijijijjijijijihghghghghghghghgfefefefefefefefefefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMNKLKLKLKLKLKLKLKLIJIJIJIJIJIJIJIJGHGHGHGHGHGHGHGHEFEFEFEFEFEFEFEFCDCDCDCDCDCDCDCDCDCDCDCDABABABABABABABAB?@?@?@?@?@?@?@?@=>=>=>=>=>=>=>=>;<;<;<;<;<;<;<;<9:9:9:9:9:9:9:9:78787878787878786565656556565656434343434343434321212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!"!    }~}~}~}~}~}~}~}~{|{|{|{|{|{|{|{|{|{|{|{|yzyzyzyzyzyzyzyzwxwxwxwxwxwxwxwxuvuvuvuvuvuvuvuvststststststststqrqrqrqrqrqrqrqrqrqrqrqropopopopopopopopmnmnmnmnklklklklklklklklijijijijjijijijihghghghghghghghgfefefefefefefefefefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQRQRQPOPOOPOPOPOPMNMNMNMNMNMNMNMNMNMNMNMNKLKLKLKLKLKLKLKLIJIJIJIJIJIJIJIJGHGHGHGHGHGHGHGHEFEFEFEFEFEFEFEFCDCDCDCDCDCDCDCDCDCDCDCDABABABABABABABAB?@?@?@?@?@?@?@?@=>=>=>=>=>=>=>=>;<;<;<;<;<;<;<;<9:9:9:9:9:9:9:9:78787878787878786565656556565656434343434343434321212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!"!"!"!"!             - - - - - - - - - -          - - - - - - - -         - - - - - - - -         - - - - - - - -         - - - - - - - -         - - - - - - - -         - - - - - - - -          - - - - - - - -             - - - - - - - -             - - - - - - - -           - - - - - - - -         - - - - - - - -         - - - - - - - -         - - - - - - - - - -         - - - - - - - - - - - -         - - - - - - - - - - - -LLKKJJII - - EEFFGGHHEEDDCCBBeeffgghheeddccbb ,--..//0lmmnnoopmllkkjji-,,++**)TUUVVWWXEDDCCBBA<==>>??@|}}~~]\\[[ZZY$%%&&''(deeffgghuttssrrq54433221 LMMNNOOPMLLKKJJI - - BCCDDEEF43322110``aabbccttssrrqq44332211 MMNNOOPPLLKKJJII - - 55667788uuvvwwxxddccbbaa$$##""!! ]]^^__``||{{zzyy<<;;::99EEFFGGHHTTSSRRQQ--..//00mmnnooppbbaa``__@@AABBCCCBBAA@@? EFFGGHHITSSRRQQP-..//001mnnooppqlkkjjiih,++**))(UVVWWXXYDCCBBAA@=>>??@@A}~~\[[ZZYYX%&&''(()effgghhitssrrqqp43322110`aabbccdeddccbba44556789{||}}~~[[ZZYYXX&&''(())ffgghhiissrrqqpp33221100NNOOPPQQKKJJIIHH - - 66778899vvwwxxyyccbbaa``##""!!  !!^^__``aa{{zzyyxx;;::9988 FFGGHHIIDDCCBBAAHHGGFFEE - - IIJJKKLLAA@@??>>!!""iiooppqqaa``__^^01122334pqqrrsstihhggffe)((''&&%XYYZZ[[\~~}A@@??>>=@AABBCCDYXXWWVVU())**++,hiijjkklqppoonnm100//..-PQQRRSSTIHHGGFFE FGGHHIIJ~~}}||{0//..--, !!""ddeeffggppoonnmm00//..--QQRRSSTTHHGGFFEE99::;;<>==<<; - - IJJKKLLMPOONNMML 12233445qrrssttuhggffeed(''&&%%$YZZ[[\\]~~}}|@??>>==<ABBCCDDEXWWVVUUT)**++,,-ijjkkllmpoonnmml0//..--,deeffggha``__^^]:;;<<==>WWVVUUTT**++,,--jjkkllmmoonnmmll//..--,,RRSSTTUUGGFFEEDD::;;<<==zz{{||}}__^^]]\\""##$$%%bbccddeewwvvuutt77665544 - - JJKKLLMM@@??>>==DDCCBBAA MMNNOOPP==<<;;55##$$%%&&rrssttuu]]\\[[ZZ45566778tuuvvwwxeddccbba%$$##""! \]]^^__`}||{{zzy=<<;;::9DEEFFGGHUTTSSRRQ,--..//0lmmnnoopmllkkjji-,,++**)TUUVVWWXEDDCCBBAJKKLLMMN{zzyyxxw,++**))(##$$%%&&hhiijklmllkkjjii,,++**))UUVVWWXXDDCCBBAA==>>??@@}}~~\\[[ZZYY%%&&''((eeffgghhttssrrqq44332211 MMNNOOPPLLKKJJII - - 55667788uuvvwwxxZZYYXXWW - - HHIIJJKK~~}}|;:987655 MNNOOPPQLKKJJIIH - - 56677889uvvwwxxydccbbaa`$##""!!  !]^^__``a|{{zzyyx<;;::998 EFFGGHHITSSRRQQP-..//001mnnooppqlkkjjiih,++**))(!!"hiiooppq]\\[[ZZY ->??@@AABSSRRQQPP..//0011nnooppqqkkjjiihh++**))((VVWWXXYYCCBBAA@@>>??@@AA~~[[ZZYYXX&&''(())ffgghhiissrrqqpp33221100NNOOPPQQ<<;;5544~~}}@@??>>==QQRRSSTT44332211''(())**vvwwxxyyYYXXWWVV899::;;>=NOOUUVVWwvvuutts(''&&%%$''(())**nooppqqrhhggffee((''&&%%YYZZ[[\\~~}}@@??>>==AABBCCDDXXWWVVUU))**++,,iijjkkllppoonnmm00//..--QQRRSSTTHHGGFFEE99::;;<>==<<BBCCDDEEWWVVUUTT**++,,--jjkkllmmoonnmmll//..--,,RRSSTTUU33221100||{{zzyy<<;;::99UUVVWWXX~~}}||00//..--++,,--..zz{{||}}UUTSRQPO -<==>>??@|}}~~]\\[[ZZY$%%&&''(deeffgghuttssrrq54433221 LMMNNOOPMLLKKJJI - - 45566778tuuvvwwxeddccbba%$$##""! \]]^^__`}||{{zzy=<<;;::9 - - WXXYYZZ[srrqqppo$##""!!++,,--..rssttuuvddccbbaa$$##""!! ]]^^__``||{{zzyy<<;;::99EEFFGGHHTTSSRRQQ--..//00mmnnooppllkkjjii,,++**))UUVVWWXXDDCCBBAA==>>??@@}}~~MMLLKKJJ UUVVWWXXxwwvvuut00//..--UVVWWXXYDCCBBAA@=>>??@@A}~~\[[ZZYYX%&&''(()effgghhitssrrqqp43322110 MNNOOPPQLKKJJIIH - - 56677889uvvwwxxydccbbaa`$##""!! &''(())*uvvwwxxyUOONNMMLFGGHHIIJKKJJIIHH - - 66778899vvwwxxyyccbbaa``##""!!  !!^^__``aa{{zzyyxx;;::9988 FFGGHHIISSRRQQPP..//0011nnooppqqkkjjiihh++**))((VVWWXXYY~~}}||{{//..--,,xxwwvvuu88776655YYZZ[[\\{{zzyyxx,,++**))//001122~~ONNMMLLK - @AABBCCDYXXWWVVU())**++,hiijjkklqppoonnm100//..-PQQRRSSTIHHGGFFE 899::;;>==AABBCCDDIIHHGGFF - - YYZZ[[\\tssrrqqp,,++**))YZZ[[\\]~~}}|@??>>==<ABBCCDDEXWWVVUUT)**++,,-ijjkkllmpoonnmml0//..--,QRRSSTTUHGGFFEED9::;;<<=yzz{{||}`__^^]]\ *++,,--.yzz{{||}LKKJJIIH JKKLLMMNGGFFEEDD::;;<<==zz{{||}}__^^]]\\""##$$%%bbccddeewwvvuutt77665544 - - JJKKLLMMOONNMMLL 22334455rrssttuuggffeedd''&&%%$$ZZ[[\\]]zzyyxxww++**))((ttssrrqq44332211 ]]^^__``wwvvuutt((''&&%%334455;;KJJIIHHGDEEFFGGHUTTSSRRQ,--..//0lmmnnoopmllkkjji-,,++**)TUUVVWWXEDDCCBBA<==>>??@|}}~~]\\[[ZZY$%%&&''(deeffgghuttssrrq54433221_``aabbcfeeddccb33445567z{{||}}~\\[[ZZYY%%&&''((eeffgghhttssrrqq44332211 MMNNOOPPLLKKJJII - - 55667788uuvvwwxxddccbbaa$$##""!! ]]^^__``||{{zzyy<<;;::99EEFFGGHHEEDDCCBB]]^^__``poonmlkj((''&&%% !]^^__``a|{{zzyyx<;;::998 EFFGGHHITSSRRQQP-..//001mnnooppqlkkjjiih,++**))(UVVWWXXYDCCBBAA@=>>??@@A}~~\[[ZZYYX.//00112}~~HGGFFEED - - NOOPQRSTCCBBAA@@>>??@@AA~~[[ZZYYXX&&''(())ffgghhiissrrqqpp33221100NNOOPPQQKKJJIIHH - - 66778899vvwwxxyyccbbaa``##""!!  !!^^__``aavvuuttss''&&%%$$ppoonnmm00//..--!!""##$$aabbccddssrrqqpp$$##""!!<<==>>??GFFEEDDC - - HIIJJKKLQPPOONNM 01122334pqqrrsstihhggffe)((''&&%XYYZZ[[\~~}A@@??>>=@AABBCCDYXXWWVVU())**++,hiijjkklqppoonnm100//..-cddeeffgbaa``__^89:;;<<=~XXWWVVUU))**++,,iijjkkllppoonnmm00//..--QQRRSSTTHHGGFFEE99::;;<>aabbccddiihhggff$$##""!!!""##$$%abbccddexwwvvuut87766554 - - IJJKKLLMPOONNMML 12233445qrrssttuhggffeed(''&&%%$YZZ[[\\]~~}}|@??>>==<ABBCCDDEXWWVVUUT2334455;DCCBBAA@ UUVVWWXX~~}}||??>>==<<BBCCDDEEWWVVUUTT**++,,--jjkkllmmoonnmmll//..--,,RRSSTTUUGGFFEEDD::;;<<==zz{{||}}__^^]]\\""##$$%%bbccddeerrqqppoo##""!!llkkjjii,,++**))%%&&''((eeffgghhooiihhgg@@AABBCCCBBAA@@? LMMNNOOPMLLKKJJI - - 45566778tuuvvwwxeddccbba%$$##""! \]]^^__`}||{{zzy=<<;;::9DEEFFGGHUTTSSRRQ,--..//0lmmnnoopmllkkjji-,,++**)!ghhiioop^]]\\[[Z =>>??@@ATTSSRRQQ--..//00mmnnooppllkkjjii,,++**))UUVVWWXXDDCCBBAA==>>??@@}}~~\\[[ZZYY%%&&''((eeffgghhttssrrqq44332211 MMNNOOPP==<<;;55eeffgghheeddccbb %&&''(()effgghhitssrrqqp43322110 MNNOOPPQLKKJJIIH - - 56677889uvvwwxxydccbbaa`$##""!!  !]^^__``a|{{zzyyx<;;::998 EFFGGHHITSSRRQQP;<<==>>?@??>>==<YYZZ[[\\{{zzyyxx;;::9988 FFGGHHIISSRRQQPP..//0011nnooppqqkkjjiihh++**))((VVWWXXYYCCBBAA@@>>??@@AA~~[[ZZYYXX&&''(())ffgghhiiiihhggffhhggffee((''&&%%))**++,,iijjkkllffeeddccDDEEFFGG?>>==<<;PQQRRSSTIHHGGFFE 899::;;>==AABBCCDDXXWWVVUU))**++,,iijjkkllppoonnmm00//..--QQRRSSTT44332211!!""iiooppqqaa``__^^)**++,,-ijjkkllmpoonnmml0//..--,QRRSSTTUHGGFFEED9::;;<<=yzz{{||}`__^^]]\ !""##$$%abbccddexwwvvuut87766554 - - IJJKKLLMPOONNMML ?@@AABBC<;;55443]]^^__``wwvvuutt77665544 - - JJKKLLMMOONNMMLL 22334455rrssttuuggffeedd''&&%%$$ZZ[[\\]]~~}}||??>>==<<BBCCDDEEWWVVUUTT**++,,--jjkkllmmeeddccbbddccbbaa$$##""!!--..//00mmnnooppbbaa``__HHIIJJKK~~}}|;:987655TUUVVWWXEDDCCBBA<==>>??@|}}~~]\\[[ZZY$%%&&''(deeffgghuttssrrq54433221 LMMNNOOPMLLKKJJI - - 45566778tuuvvwwxeddccbba%$$##""!%&&''(()tuuvvwwxVUUOONNMEFFGGHHILLKKJJII - - 55667788uuvvwwxxddccbbaa$$##""!! ]]^^__``||{{zzyy<<;;::99EEFFGGHHTTSSRRQQ--..//00mmnnooppllkkjjii,,++**))UUVVWWXX~~}}||00//..--##$$%%&&rrssttuu]]\\[[ZZ-..//001mnnooppqlkkjjiih,++**))(UVVWWXXYDCCBBAA@=>>??@@A}~~\[[ZZYYX%&&''(()effgghhitssrrqqp43322110 MNNOOPPQLKKJJIIH - - CDDEEFFG~3221100/aabbccddssrrqqpp33221100NNOOPPQQKKJJIIHH - - 66778899vvwwxxyyccbbaa``##""!!  !!^^__``aa{{zzyyxx;;::9988 FFGGHHIISSRRQQPP..//0011nnooppqqaa``__^^``__^^]] 11223344qqrrsstt^^]]\\[[ LLMMNNOO|{{zzyyx44332211XYYZZ[[\~~}A@@??>>=@AABBCCDYXXWWVVU())**++,hiijjkklqppoonnm100//..-PQQRRSSTIHHGGFFE 899::;;>==<ABBCCDDEXWWVVUUT)**++,,-ijjkkllmpoonnmml0//..--,QRRSSTTUHGGFFEEDGHHIIJJK~}}||{{z/..--,,+ !!""##eeffgghhoonnmmll//..--,,RRSSTTUUGGFFEEDD::;;<<==zz{{||}}__^^]]\\""##$$%%bbccddeewwvvuutt77665544 - - JJKKLLMMOONNMMLL 22334455rrssttuu]]\\[[ZZ \\[[ZZYY55667788uuvvwwxxZZYYXXWW - - UUVVWWXXxwwvvuut00//..-- \]]^^__`}||{{zzy=<<;;::9DEEFFGGHUTTSSRRQ,--..//0lmmnnoopmllkkjji-,,++**)TUUVVWWXEDDCCBBA<==>>??@|}}~~]\\[[ZZY-..//001|}}~~IHHGGFFE - - MNNOOPQRDDCCBBAA==>>??@@}}~~\\[[ZZYY%%&&''((eeffgghhttssrrqq44332211 MMNNOOPPLLKKJJII - - 55667788uuvvwwxxddccbbaa$$##""!! ]]^^__``wwvvuutt((''&&%%++,,--..zz{{||}}UUTSRQPO -56677889uvvwwxxydccbbaa`$##""!!  !]^^__``a|{{zzyyx<;;::998 EFFGGHHITSSRRQQP-..//001mnnooppqlkkjjiih,++**))(UVVWWXXYDCCBBAA@KLLMMNNOzyyxxwwv+**))(('$$%%&&''iijklmnokkjjiihh++**))((VVWWXXYYCCBBAA@@>>??@@AA~~[[ZZYYXX&&''(())ffgghhiissrrqqpp33221100NNOOPPQQKKJJIIHH - - 66778899vvwwxxyyYYXXWWVV - - XXWWVVUU99::;;<>=@AABBCCDYXXWWVVU12233445EDDCCBBA STUUVVWW~~}}@@??>>==AABBCCDDXXWWVVUU))**++,,iijjkkllppoonnmm00//..--QQRRSSTTHHGGFFEE99::;;<>==< OUUVVWWXvuuttssr'&&%%$$#(())**++oppqqrrsggffeedd''&&%%$$ZZ[[\\]]~~}}||??>>==<<BBCCDDEEWWVVUUTT**++,,--jjkkllmmoonnmmll//..--,,RRSSTTUUGGFFEEDD::;;<<==zz{{||}}UUOONNMMTTSSRRQQ==>>??@@}}~~MMLLKKJJ]]^^__``poonmlkj((''&&%%$%%&&''(deeffgghuttssrrq54433221 LMMNNOOPMLLKKJJI - - 45566778tuuvvwwxeddccbba%$$##""! \]]^^__`}||{{zzy=<<;;::9DEEFFGGHUTTSSRRQ5;;<<==>A@@??>>=XXYYZZ[[||{{zzyy<<;;::99EEFFGGHHTTSSRRQQ--..//00mmnnooppllkkjjii,,++**))UUVVWWXXDDCCBBAA==>>??@@}}~~\\[[ZZYY%%&&''((eeffgghhooiihhgg334455;;KJJIIHHG=>>??@@A}~~\[[ZZYYX%&&''(()effgghhitssrrqqp43322110 MNNOOPPQLKKJJIIH - - 56677889uvvwwxxydccbbaa`$##""!!  !]^^__``a|{{zzyyx<;;::998 - - XYYZZ[[\rqqppooi#""!!,,--..//sttuuvvwccbbaa``##""!!  !!^^__``aa{{zzyyxx;;::9988 FFGGHHIISSRRQQPP..//0011nnooppqqkkjjiihh++**))((VVWWXXYYCCBBAA@@>>??@@AA~~LLKKJJII - -PPOONNMM AABBCCDDIIHHGGFFaabbccddiihhggff$$##""!!())**++,hiijjkklqppoonnm100//..-PQQRRSSTIHHGGFFE 899::;;??@@AAB=<<;;554\\]]^^__xxwwvvuu88776655 - - IIJJKKLLPPOONNMM 11223344qqrrsstthhggffee((''&&%%YYZZ[[\\~~}}@@??>>==AABBCCDDXXWWVVUU))**++,,iijjkkllffeeddcc<<==>>??GFFEEDDCABBCCDDEXWWVVUUT)**++,,-ijjkkllmpoonnmml0//..--,QRRSSTTUHGGFFEED9::;;<<=yzz{{||}`__^^]]\ !""##$$%abbccddexwwvvuut87766554 \]]^^__`ihhggffe00112233wxxyyzz{__^^]]\\""##$$%%bbccddeewwvvuutt77665544 - - JJKKLLMMOONNMMLL 22334455rrssttuuggffeedd''&&%%$$ZZ[[\\]]~~}}||??>>==<<BBCCDDEEHHGGFFEE !!""##ooppqqrr``__^^]]*++,,--.jkkllmmnonnmmllk/..--,,+RSSTTUUVGFFEEDDC:;;<<==>z{{||}}~_^^]]\\["##$$%%&bccddeefwvvuutts76655443 - JKKLLMMN=<<;;554#$$%%&&'rssttuuvQPPOONNM @AABBCCD$$%%&&''ssttuuvv\\[[ZZYY.//00112nooppqqrkjjiihhg+**))(('VWWXXYYZCBBAA@@?>??@@AAB~[ZZYYXXW&''(())*fgghhiijsrrqqppo3221100/NOOPPQQR43322110'(())**+vwwxxyyzMLLKKJJI - - DEEFFGGH(())**++wwxxyyzzXXWWVVUU 23344556rssttuuvgffeeddc'&&%%$$#Z[[\\]]^~~}}||{?>>==<<;BCCDDEEFWVVUUTTS*++,,--.jkkllmmnonnmmllk/..--,,+RSSTTUUV~~}}||{0//..--,+,,--../z{{||}}~IHHGGFFE - - HIIJJKKL,,--..//{{||}}~~TSRQPOON - - 6778899:vwwxxyyzcbbaa``_#""!!  !!"^__``aab{zzyyxxw;::99887 -FGGHHIIJSRRQQPPO.//00112nooppqqrkjjiihhg+**))(('VWWXXYYZ{zzyyxxw,++**))(/0011223~EDDCCBBA LMMNNOOP00112233NMMLLKKJ :;;<<==>z{{||}}~_^^]]\\["##$$%%&bccddeefwvvuutts76655443 - JKKLLMMNONNMMLLK 23344556rssttuuvgffeeddc'&&%%$$#Z[[\\]]^wvvuutts(''&&%%$34455;;<~~}A@@??>>=PQQRRSST4455;;<??@@AAB~[ZZYYXXW&''(())*fgghhiijsrrqqppo3221100/NOOPPQQRKJJIIHHG - - 6778899:vwwxxyyzcbbaa``_#""!!  !!"^__``aabsrrqqppo$##""!!<==>>??@}||{{zzy=<<;;::9TUUVVWWX==>>??@@FEEDDCCBBCCDDEEFWVVUUTTS*++,,--.jkkllmmnonnmmllk/..--,,+RSSTTUUVGFFEEDDC:;;<<==>z{{||}}~_^^]]\\["##$$%%&bccddeefoiihhggf@AABBCCDyxxwwvvu98877665XYYZZ[[\AABBCCDDBAA@@??> -FGGHHIIJSRRQQPPO.//00112nooppqqrkjjiihhg+**))(('VWWXXYYZCBBAA@@?>??@@AAB~[ZZYYXXW&''(())*fgghhiijfeeddccbDEEFFGGHuttssrrq54433221 \]]^^__`EEFFGGHH>==<<;;: - JKKLLMMNONNMMLLK 23344556rssttuuvgffeeddc'&&%%$$#Z[[\\]]^~~}}||{?>>==<<;BCCDDEEFWVVUUTTS*++,,--.jkkllmmnbaa``__^HIIJJKKLqppoonnm100//..- !!""##$`aabbccdIIJJKKLL~~}}||{98765544NOOPPQQRKJJIIHHG - - 6778899:vwwxxyyzcbbaa``_#""!!  !!"^__``aab{zzyyxxw;::99887 -FGGHHIIJSRRQQPPO.//00112nooppqqr^]]\\[[Z LMMNNOOUmllkkjji-,,++**)$%%&&''(deeffgghMMNNOOUU{zzyyxxw33221100RSSTTUUVGFFEEDDC:;;<<==>z{{||}}~_^^]]\\["##$$%%&bccddeefwvvuutts76655443 - JKKLLMMNONNMMLLK 23344556rssttuuvZYYXXWWV - - -UVVWWXXYihhggffe)((''&&%())**++,hiijjkklVVWWXXYYwvvuutts//..--,,VWWXXYYZCBBAA@@?>??@@AAB~[ZZYYXXW&''(())*fgghhiijsrrqqppo3221100/NOOPPQQRKJJIIHHG - - 6778899:vwwxxyyzVUUOONNM - YZZ[[\\]eddccbba%$$##""!,--..//0lmmnnoopZZ[[\\]]srrqqppo++**))((Z[[\\]]^~~}}||{?>>==<<;BCCDDEEFWVVUUTTS*++,,--.jkkllmmnonnmmllk/..--,,+RSSTTUUVGFFEEDDC:;;<<==>z{{||}}~MLLKKJJI]^^__``aa``__^^]! 01122334pqqrrsst^^__``aaonmlkjii''&&%%$$ !!"^__``aab{zzyyxxw;::99887 -FGGHHIIJSRRQQPPO.//00112nooppqqrkjjiihhg+**))(('VWWXXYYZCBBAA@@?>??@@AAB~IHHGGFFEabbccdde]\\[[ZZY45566778tuuvvwwxbbccddeehhggffee##""!! "##$$%%&bccddeefwvvuutts76655443 - JKKLLMMNONNMMLLK 23344556rssttuuvgffeeddc'&&%%$$#Z[[\\]]^~~}}||{?>>==<<;BCCDDEEFEDDCCBBAeffgghhiYXXWWVVU899::;;>=!!""#iooppqqrUTTSSRRQ<==>>??@|}}~~ZHAbے`JXQr˂p|ZdQbtlJ`f~˂rXQbHAZtAJl璂rAJlf`vXnvpQr˂pZHAb|ZdQbtlnXv`f~HfpvrXQJ`ےbHAdrtAJltnvpfH~ˑZHAbے`JXbtlJtArdf~HfpvnXv`bHAZpQZ|dJltnvpfnvpZHAbے`JXQtlJtArdf~HfpvnXv`bHAZp˂rJltbdQZ|H~f`vXnے`JXQr˂pJtAd|ZdQbtlJnXv`f~Hp˂rXQJ`ےtbdQdrtAJfH~bJQAbے`JtAd|ZdQbtlJtnXv`f~H˂rXQJ`ےbdQZ|drtAvXnvpfHr˂pZHAbہJXQrlJtArd|f~HfpvQJ`ےbHAZpdrtAJlt~f`nvpے`JXpZHAJtArJtArd~HfpvnJ`ےbHAZpdrtAJltbvpfH~f`HAbے`JXQr˂pZrd|ZdQbtpvnXv`fbHAZp˂rXQltbdQZ|Hf`vXnvpfHZHAbے`JXQr˂p|ZdQbtlJtArdHfpvJ`p˂p`ےtbdQZtbdQnvpfH~ˑZHAbے`JXbtlJtArdf~HfpvnrXQJ`bHAZp˂AJltbdQZ|fH~f`vXے`JXQr˂pJtArd|ZdQfpvnXv`fHrXQrtAJlbdQZ|~f`vfH~ے`JXQr˂ptArd|ZdQbfpvnXv`fHfp˂rXQJ`ےbdQZ|drtA`vXnvpfr˂pZHAb|ZdQbtlJtArdf~HfpvXQJ`ےbHAZZ|dltbf`vXr˂pJXQrZdQbtlJtArdf~HfpvQJ`ےbHAZpdrtAJltvpfH~f`ZHAbے`JXQbtlArd|ZdQbtfpvnXv`˙bHAZp˂rXJltbdQZ|vXnfH~Qr˂pbے`ZdQbt|ZdpvnXv`fbHAZp˂rXQltbdQZ|~f`vXn`JXQr˂pZHAے`ZdQbtlJtAXv`f~Hf˂rXQJ`ےdQZ|drtAJvXnvpfH~fZے`JXQr˂pZHAbtlJtArdf~HnXHrXQJbHAZp|drZ|dfH~f`vXے`JXQr˂pJtArd|ZdQfpvnXv`ےHAZp˂rXQJ`ۉbdQZ|drtf`vXnvpQr˂pZHAb|ZdQbtlnXv`f~HfpvJ`ےtbddrtAXnvf`vnr˂pZHAb|ZdQbtlJnXv`f~HpvnXQJ`ےbHAZdrtAJltvpfH~fZHAbے`JXQtlJtArdf~HfpvnXv`bHAZp˂rrtAJldQZ|lnvpZHAbۉZAblJtArd|f~HfpvnXv`˙bHAZp˂rXJltbdQZ|~f`vXn`JXQr˂pJtAd|ZdQbtlJtnXv`f~H˂rXQJ`ےbdQZ|drtAvp`f`pfHZHAbJXQr˒lJtAQbJtAXv`f~Hf˂rXQJ`ےdQZ|drtAJvXnvpfH˂pZHAbےJXQrblJtArd|~HfpvnJ`ےbHAZpdrtAJltbvpfH~f`HAbrےZHAbے`JXQtArd|ZdQbXv`ffpv`ےb˂rXQtAJlrtAJlf`vXnvpQr˂pZHAb|ZdQbtlnXv`f~HZp˂rXQJ`ےbHAdrtAJltnvpfH~ˑZHAbے`JXbtlJtArdf~HfpvnrXQJ`bHAXQJ`QZ|dJltpfH~vpfHZHAbے`JXQtlJtArdf~HfpvrXQJ`bHAZp˂rJltbdQZ|H~f`vXnے`JXQr˂ptArd|ZdQbfpvnXv`fHfp˂rXQJ`ےtdrtbnfH~`JXQے`JXQArd|ZdQbtfpvnXv`fHfp˂rXQJ`ےbdQZ|drtAvXnvpfHr˂pZHAbہZdQbtlJtArdf~HfpvQJ`ےbHAZpdrtAJltvXnۅ~f`ے`JXp`JXrd|rdf~HfpvnJ`ےbHAZpdrtAJltbvpfH~f`HAbے`JXQrtlJrd|ZdQbtpvnXv`fbHAZp˂rXQltbdQZ|~f`vXn˂pZHA`JXQrے`JXQr˂p|ZdQbtlJ~HfnXv`HAZp˂J`ےtbQZdtbdQnvpfH~ˑZHAbے`JXbtlJtArdf~HfpvrXQJ`ےbHAZdrtAJltbdQZ|fH~f`vXے`JXQr˂pJtArd|ZdQfpvnXv`p˂ےbHrtAJlbdQZ|lf`v~f`ے`JXQr˂ptArd|ZdQbfpvnXv`ےHAZp˂rXQJ`ےbdQZ|drtA`vXnvpfr˂pZHAb|ZdQbtlJnXv`f~HpvnXQJ`ےbHAZtAJl璀vp`vpfr˂pr˂pZdQbtlJtnXv`f~HvnQJ`ےbHAZpdrtAJltvpfH~f`ZHAbے`JXQlJtArd|f~HfpvnXv`˙bHAZp˂rXJltbdQZ|vpfHvXnQHAbQrbtZdQbt琕~HfpvnXv`fbHAZp˂rXQltbdQZ|~f`vXn`JXQr˂pZtAd|ZdQbtlJtAXv`f~Hf˂rXQJ`ےdQZ|drtAJvXnvpfHbے`˂pZr˂pZHAbtlJtArdpvnf~HrXQJbHAZprtAJlZ|dnfH~f`vXے`JXQr˂pJtArd|ZdQfpvnXv`bHAZp˂AJltbdQZ|dtAf`vXnvpQr˂pZHAb|ZdQbtlnXv`f~HrXQJ`AZp˂|dtbdXnvvXnr˂pZHAb|ZdQbtlJnXv`f~Hp˂rXQJ`ےbHAZdrtAJltvpfH~fZHAbے`JXQtlJtArdf~HfpvrXQJ`bHAZp˂rtbdQZvXnH~fZHAbZHAblJtArd|f~HfpvrXQJ`ۙbHAZp˂rXJltbdQZ|~f`vXn`JXQr˂pArd|ZdQbtfpvnXv`fHfp˂rXQJ`ےbdQZ|drtA~f`vpfH`JXQlJA|lJtApvnXv`fHfp˂rXQJ`ےdQZ|drtAJvXnvpfH˂pZHAbےZdQbtlJtArdf~HfpvnJ`ےbHAZpdrtAJltbvpfH~f`JXQrHAbےZHAbے`JXQtArd|ZdQbXv`ffpv`ے˂btbdvff`vXnvpQr˂pZHAb|ZdQbtlnXv`f~HZp˂rXQJ`ۉbdQZ|drtJltnvpfH~ˑZHAbے`JXbtlJtArdf~HfpvbHArXQJ`rtAJlQZ|dpfH~vpfHZHAbے`JXQtlJtArdf~HfpvXQJ`ےbHAZdrtAJltbdQZ|H~f`vXnے`JXQr˂ptArd|ZdQbfpvnXv`ےHAZp˂rXQJ`ے|drvpfH`vXn`JQrے`JXQArd|ZdQbtfpvnXv`˒HAZp˂rXQJ`ےbdQZ|drtAvXnvpfHr˂pZHAbہZdQbtlJtnXv`f~HvnQJ`ےbHAZpdrtAJltvXnۅ~f`r˂pZdQbtrdZQbXv`f~HfvnrJ`ےbHAZpdrtAJltbvpfH~f`HAbے`JXQrlJtArd|~HfpvnXv`fbHAZp˂rXQltbdQZ|~f`vXn˂pZHA`JXQrے`JXQr˂p|ZdQbtlJ~HfnXv`rXQJ`HAZdQZ|df`vXnvpfH~ˑZHAbے`JXbtlJtArdf~HfpvrXQJ`ےbHAdrtAJltbnvpfH~f`vXے`JXQr˂pJtArd|ZdQfpvnXv`Zp˂ےbHtbdQrtAJlfvXn~f`ے`JXQr˂ptArd|ZdQbfpvnXv`bHAZp˂rJltbdQZ|dtAJ`vXnvpfr˂pZHAb|ZdQbtlJnXv`f~Hp˂rXQJ`ےbHAZtAJl~f`vpfpZHAbr˂pZdQbtlJtnXv`f~H˂rXQJ`ےbHAZdrtAJltvpfH~f`ZHAbے`JXQlJtArd|f~HfpvrXQJ`ۙbHAZp˂rXJltbdQZ|vpfHXvXHZHAbۉlJttlJ~HfpvnXQJ`ےbHAZp˂rXQltbdQZ|~f`vXn`JXQr˂pZrd|ZdQbtpvnXv`fHfp˂rXQJ`ےdQZ|drtAJvXnvpfHbے`˂p`r˂pZHAbtlJtArdp`fpvnےbHArtAJrtAJlnvpfH~fZHAbے`JXQr˂pJtArd|ZdQfpvnXv`bHAZp˂AJltbdQZ|fHf`vXnvpQr˂pZHAb|ZdQbtlnXv`f~HrXQJ`pAZp`Z|dtbdvpfHvXnvfr˂pZHAb|ZdQbtlJnXv`f~Hp˂rXQJ`ےbdQZ|drtAltbvpfH~fZHAbے`JXQtlJtArdf~HfpvXQJ`ےbHAZdrtAtbdQtAvXnH~fے`JZAb`lJtArd|f~HfpvQJ`ےbHAZpdrtAJltbdQZ|~f`vXn`JXQr˂pArd|ZdQbtfpvnXv`˒HAZp˂rXQJ`ےbdQZ|drtAnvp~fZH`JXQArd|tArdpvnXv`fHAZp˂rXQJ`ےdQZ|drtAJvXnvpfH˂pZHAbےZdQbtlJtAXv`f~HfvnrJ`ےbHAZpdrtAJltbvpfH~f`pZHAbJXQrZHAbے`JXQtArd|ZdQb~HfpXv`fZp˂bdQZ|tbdfH~f`vXے`JXQr˂pZHAۂ|ZdQbtlnXv`f~HZp˂rXQJ`ۉbdQZ|drtf`vXnvpfH~ˑZHAbے`JXbtlJtArdf~Hfpv˂rXbHArtAJlQZ|l~f`H~fZHAbے`JXQtlJtArdf~HfpvXQJ`ےbHAZdrtAJltnvpH~f`vXnے`JXQr˂ptArd|ZdQbfpvnXv`bHAZp˂rdQZ|Jltvp`v`pfHXQr˂JXQrArd|ZdQbtfpvnXv`˙bHAZp˂rXJltbdQZ|dtAJlvXnvpfHr˂pZHAbہZdQbtlJtnXv`f~H˂rXQJ`ےbHAZdrtAJltfH~Abrے`ZdQbt|ZdQbXv`f~Hf˂rXQJ`ےbHAZdrtAJltbvpfH~f`HAbے`JXQrlJtArd|~HfpvnXQJ`ےbHAZp˂rXQltbdQZ|~f`vXnے`J˂pZHAے`JXQr˂p|ZdQbtlJvnX~HfrXQJ`drtAQZrtAf`vXnvpQr˂pZHAb`JXQbtlJtArdf~HfpvrXQJ`ےbHAdrtAJltnvpfH~fZHAbے`JXQr˂pJtArd|ZdQfpvnXv`QJ`ےZp˂tdrttbnvXnZHAbے`JXQr˂ptArd|ZdQbfpvnXv`bHAZp˂rJltbdQZ|fHf`vXnvpfr˂pZHAb|ZdQbtlJnXv`f~Hp˂rXQJ`ےdrtAJbdQZ|Xnv~f`pZHAbpZHAZdQbtlJtnXv`f~H˂rXQJ`ےbdQZ|drtAtbvpfH~f`ZHAbے`JXQlJtArd|f~HfpvQJ`ےbHAZpdrtAJltbdQZ|f`vXpZHAJXQrlJArtlJ~HfpvnJ`ےbHAZpdrtAJltbdQZ|~f`vXn`JXQr˂pZrd|ZdQbtpvnXv`fHAZp˂rXQJ`ےdQZ|drtAJvXnvpfHXQr˂bے`r˂pZHAbtlJtArdv`fpvnےbHAJltJltnvpfH~ˑZHAbے`JXrbtlJtArd|ZdQfpvnXv`bHAZp˂AJltbdQZ|fH~f`vXے`JXQr˂pZHAۂ|ZdQbtlnXv`f~HbHAZprXQJ`AJltvpfvpfHے`JXQr˂pZHAے|ZdQbtlJnXv`f~Hp˂rXQJ`ےbdQZ|drtA`vXnvpfH~fZHAbے`JXQtlJtArdf~HfpvXQJ`ےbHAZltbdrtApfH~vXnے`Jbے`lJtArd|f~HfpvQJ`ےbHAZpdrtAJltnvp~f`vXn`JXQr˂pArd|ZdQbtfpvnXv`˙bHAZp˂rXJltbdQZ|dtAJlnvpbے`˂pZH|ZdQtArdpvnXv`fbHAZp˂rXQltbdQZ|dtAJlvXnvpfH˂pZHAbےZdQbtlJtAXv`f~Hf˂rXQJ`ےbHAZdrtAJltbvpfH~f`pZHAbJXQrZHAbے`JXQtArd|ZdQb~HfpXv`pXQJ`ےbdQZ|bdQZ|fH~f`vXے`JXQr˂pJtAd|ZdQbtlnXv`f~HZp˂rXQJ`ۉbdQZ|drtf`vXnvpQr˂pZHAb`JXQbtlJtArdf~Hfpv˂rXbHAbdQZ|f`vX~fvr˂pZHAb`JXQrtlJtArdf~HfpvXQJ`ےbHAZdrtAJltvpfH~fZHAbے`JXQr˂ptArd|ZdQbfpvnXv`bHAZp˂rdQZ|Jltf`vvpfHXQrZHJXQrArd|ZdQbtfpvnXv`˙bHAZp˂rXJltbdQZ|fHf`vXnvpfHr˂pZHAbہZdQbtlJtnXv`f~H˂rXQJ`ےbdQZ|drtAtbfH~JXQrAbے`btl|ZQblXv`f~Hf˂rXQJ`ےdQZ|drtAJtbnvpfH~f`HAbے`JXQrlJtArd|~HfpvnJ`ےbHAZpdrtAJltbdQZ|~f`vXnے`J˂p`Jے`JXQr˂p|ZdQbtlJv~˂rXQbHAZdrtAdrtAf`vXnvpQr˂pZHAb|ZdQbtlJtArdf~HfpvrXQJ`ےbHAdrtAJltnvpfH~ˑZHAbے`JXrbtlJtArd|ZdQfpvnXv`QJ`ےZp˂drtnvpnvpZHAbے`JXQbtltArd|ZdQbfpvnXv`bHAZp˂rJltbdQZ|H~f`vXnے`JXQr˂pZHAے|ZdQbtlJnXv`f~Hp˂rXQJ`ےdrtAJbdQZ|Xnv~f`Abے`pZA`ZdQbtlJtnXv`f~H˂rXQJ`ےbdQZ|drtAvXnvpfH~fZHAbے`JXQlJtArd|f~HfpvQJ`ےbHAZpdrtAJltnvp`vppZHAJXQrJtArdJtArd~HfpvnJ`ےbHAZpdrtAJltbvpf~f`vXn`JXQr˂pZrd|ZdQbtpvnXv`fbHAZp˂rXQltbdQZ|dtAJlvXnvpfHXQHAbXQrbtlJtArr˂pZHAbtlJtArdHfpvJ`ےp˂rJlbQZJltnvpfH~ˑZHAbے`JXbtlJtArdf~HfpvnXv`bHAZp˂AJltbdQZ|fH~f`vXے`JXQr˂pJtAd|ZdQbtlnXv`f~HrXQbHAZAJltfH~fH~ے`JXQr˂pJtAd|ZdQbtlJnXv`f~Hp˂rXQJ`ےbdQZ|drtA`vXnvpfr˂pZHAb`JXQrtlJtArdf~HfpvXQJ`ےbHAZl|dltbpfHXvXH~JXQrJXQrlJtArd|f~HfpvQJ`ےbHAZpdrtAJltvpfH~f`ZHAbے`JXQr˂pArd|ZdQbtfpvnXv`˙bHAZp˂rXJltbdQZ|vXnfH~bے`p˂p`|ZdQ|ZdpvnXv`fbHAZp˂rXQltbdQZ|Hf`vXnvpfH˂pZHAbےZdQbtlJtAXv`f~Hf˂rXQJ`ےdQZ|drtAJtbnvpfH~f`ے`JXQl|Zd|ZZHAbے`JXQtArd|ZdQbnXvbHAZpXQJ`ے|drbdQZ|fH~f`vXے`JXQr˂pJtArd|ZdQfpvnXv`fHZp˂rXQJ`ۉbdQZ|drtf`vXnvpQr˂pZHAb|ZdQbtlJtArdf~HfpvJ`ےdrtAdbdQtAf`vXf`vXr˂pZHAb|ZdQbtlJtArdf~HfpvXQJ`ےbHAZdrtAJltvpfH~fZHAbے`JXQbtltArd|ZdQbfpvnXv`bHAZp˂rrtAJldQZ|nvpfZHA˂pZHbtlArd|ZdQbtfpvnXv`˙bHAZp˂rXJltbdQZ|~f`vXn`JXQr˂pZHAے`ZdQbtlJtnXv`f~H˂rXQJ`ےbdQZ|drtAvpfHf`vXZHAbJXQrbtlQbtlXv`f~Hf˂rXQJ`ےdQZ|drtAJvXnvpfH~fZHAbے`JXQrlJtArd|~HfpvnJ`ےbHAZpdrtAJltbvpf~f`vXnr˂pdQbtdQbtl|ZdQlJtArnXv`nXv`bHAZp˂rXQtbdQZ|d~f`vXnہJXQr˂pZHAے`ZdQbtlJtAv`f~HfprXQJ`ےQZ|drtAJlvXnvpfH~frQrXb㉀ۑ󙐂ˁ`ZpfH~ㅐf۝`vtbAdZbtld|Zf~Hf~HrXQJ`ےQZ|drtAJlvXnvpfH˂pZHAbے`JXQrbtlJtArd|~HfpvnXJ`ےbHAZp˙rtAJltbdvpfH~f`˂pZH`JXQpJAHrQXb㉀f۝`vXnvˍ|drJtArddQbtfpvfpvJ`ےbHAZp˙rtAJltbdvpfH~f`Abے`JXQrlJtrd|ZdQbtvnXv`fbHAZp˂rXQtbdQZ|d~f`vXnAbے`r˂pˁ`ZQۑpJAHrXnvˍp|drQtJl|ZdQlJtArnvfnXv`bHAZp˂rXQtbdQZ|d~f`vXnہJXQr˂pZHAd|ZdQbtlJtAv`f~HfprXQJ`ےQZ|drtAJlvXnvpfHJXQrZHAbXb㉀ۑ󙐂ˁ`pfH~QtJltbAdZbtld|Z~HfpۍffpۂrXQJ`ےQZ|drtAJlvXnvpfH˂pZHAbے`ZdQbtlJtArdf~HfpvnXJ`ےbHAZp˙rtAJltbdvpfH~f`˂pZH`JXQpJAHQXbpfH~ㅐf۝`vtbAdZ|drJtAdQbdQtArdvnXvnrXJ`ےbHAZp˙rtAJltbdvpfH~f`Abے`JXQrlJtArd|~HfpvnXv`fbHAZp˂rXQtbdQZ|d~f`vXnAbے`r˂p`㉀ۑpJf۝`vXnvˍ|drQtJltlJf~v`fQJ`ےbHAZp˂rXQtbdQZ|d~f`vXnہJXQr˂pZHrd|ZdQbtvnXv`fHfpۂrXQJ`ےQZ|drtAJlvXnvpfHpZHAJXQrAHr󙐂XnvˍpfH~QtJltbAdZtArdHfvnX~HfpۙHAZp˂rXQJ`ےQZ|drtAJlvXnvpfH˂pZHAbے`ZdQbtlJtAv`f~HfpvnrXJ`ےbHAZp˙rtAJltbdvpfH~f`bے`˂pZHˁ`ZQXbpfH~ㅐf۝`vtbAdZ|dr|ZdQbv`fvnXvrXQJ`ےbHAZdrtAJltbdvpfH~f`Abے`JXQrlJtArd|~HfpvnXQJ`ےbHAZp˂rXQtbdQZ|d~f`vXnJXQrAbے`㉀ۑpJf۝`vXnvˍ|drQtJltlJ~Hfpf~HfJ`ےbHAZp˙rtAJltbdQZ|d~f`vXnہJXQr˂pZHrd|ZdQbtvnXv`fHAZp˂rXQJ`ےQZ|drtAJlvXnvpfHpZHAJXQrAHr󙐉XnvˍpfH~QtJltbAdZtArdtvnXpvnbHAZp˂rXQtbdQZ|dtAJlvXnvpfH˂pZHAbے`ZdQbtlJtAv`f~HfprXQJ`ےbHAZdrtAJltbdvpfH~f`bے`˂p`ZۑpJApfH~ㅐf۝`vtbAdZ|drlJtAv`fXv`frXQJ`ےQZ|drtAJltbnvpfH~f`Abے`JXQrlJtArd|~HfpvnXJ`ےbHAZp˙rtAJltbdQZ|d~f`vXnJXQHAbQXb㉀Hr󙐂ˁf۝`vXnvˍ|drQtJlrd|~Hfp~HfJ`ےbHAZp˙rtAJltbdvpfH~f`vXnہJXQr˂pZHrd|ZdQbtvnXv`fbHAZp˂rXQtbdQZ|dtAJlvXnvpfHے`JXۑpJAHr`ZQXbXnvˍpfH~QtJltbAdZZdQbtvnv`pvnbHAZp˂rXQtbdQZ|df`vXnvpfH˂pZHAbے`ZdQbtlJtAv`f~HfprXQJ`ےQZ|drtAJltbnvpfH~f`Qr˂p󙐂ˁ`ZۑpJApfH~ㅐf۝`vtbAdZ|drlJtAf~HXv`frXQJ`ےQZ|drtAJlvXnvpfH~fZHAbے`JXQrlJtArd|~HfpvnXJ`ےbHAZp˙rtAJltbdvpfH~f`vXnۑZHAbQXb㉀Hr󙐂ˁf۝`vXnvˍ|drQtJlrd|fpv~fpvJ`ےbHAZp˙rtAJltbdvpfH~f`Abے`JXQr˂pZHrd|ZdQbtvnXv`fbHAZp˂rXQtbdQZ|df`vXnvpfHے`JXۑp`ZQ`pJAHrXnvˍpfH~QtJltbAdZ| \ No newline at end of file diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv31_2.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv31_2.dat deleted file mode 100644 index 8bfc630228..0000000000 --- a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv31_2.dat +++ /dev/null @@ -1,281 +0,0 @@ -{|{|{|{|yzyzyzyzwxwxwxwxststststqrqrqrqrmnmnmnmniiiijijihghghghgdcdcdcdcbabababa{|{|{|{|yzyzyzyzwxwxwxwxststststqrqrqrqrmnmnmnmnjijijijihghghghgdcdcdcdcbabababa{|{|{|{|yzyzyzyzwvuvuvuvststststqrqrqrqrmnmnmnmnjijijijihghghghgdcdcdcdcbabababa{|{|{|{|yzyzyzyzuvuvuvuvststststqrqrqrqrmnmnmnmnjijijijihghghghgdcdcdcdcbabababa{|{|{|{|yzyzyzyzuvuvuvuvststststqrqrqrqrmnmnmnmnjijijijihghghghgdcdcdcdcbabababa{|{|{|{|yzyzyzyzuvuvuvuvststststqpopopopmnmnmnmnjijijiiihghghghgdcdcdcdcbabababa{|{|{|{|yzyzyzyzuvuvuvuvststststopopopopmnmnmnmniiijijijhghghghgdcdcdcdcbabababa{|{|{|{|yzyzyzyzuvuvuvuvststststopopopopmnmnmnmnijijijijhghghghgdcdcdcdcbabababa{|{|{|{|yzyzyzyzuvuvuvuvststststopopopopmnmnmnmnijijijijhghghghgdcdcdcdcbabababa{|{|{|{|yzyzyzyzuvuvuvuvststststopopopopmnmnmnmnijijijijfefefefedcdcdcdcbabababa{|{|{|{|yzyzyzyzuvuvuvuvststststopopopopmnmnmnmnijijijijfefefefedcdcdcdcbabababa{|{|{|{|yzyzyzyzuvuvuvuvststststopopopopmnmnmnmnijijiiiifefefefedcdcdcdcbabababa{|{|{|{|yzyzyzyzuvuvuvuvststststopopopopmnmnmnmniijijijifefefefedcdcdcdc`_`_`_`_{|{|{|{|yzyzyzyzuvuvuvuvststststopopopopmnmnmnmnjijijijifefefefedcdcdcdc`_`_`_`_{|{|{|{|yzyzyzyzuvuvuvuvststststopopopopmnmnmnmnjijijijifefefefedcdcdcdc`_`_`_`_~}~}~}~{|{|{|{|yzyzyzyzuvuvuvuvststststopopopopmnmnmnmnjijijijifefefefedcdcdcdc`_`_`_`_}~}~}~}~{|{|{|{|yzyzyzyzuvuvuvuvststststopopopopmnmnmnmljijijijifefefefedcdcdcdc`_`_`_`_}~}~}~}~{|{|{|{|yzyzyzyzuvuvuvuvststststopopopopklklklkljijiiiiifefefefedcdcdcdc`_`_`_`_}~}~}~}~{|{|{|{|yxwxwxwxuvuvuvuvststststopopopopklklklklijijijijfefefefedcdcdcdc`_`_`_`_}~}~}~}~{|{|{|{|wxwxwxwxuvuvuvuvststststopopopopklklklklijijijijfefefefedcdcdcdc`_`_`_`_}~}~}~}~{|{|{|{|wxwxwxwxuvuvuvuvststststopopopopklklklklijijijijfefefefedcdcdcdc`_`_`_`_}~}~}~}~{|{|{|{|wxwxwxwxuvuvuvuvsrqrqrqropopopopklklklklijijijijfefefefedcdcdcdc`_`_`_`_}~}~}~}~{|{|{|{|wxwxwxwxuvuvuvuvqrqrqrqropopopopklklklklijijijijfefefefedcdcdcdc`_`_`_`_}~}~}~}~{|{|{|{|wxwxwxwxuvuvuvuvqrqrqrqropopopopklklklklijiiiiiifefefefedcdcdcdc`_`_`_`_^]^]^]^]}~}~}~}~{|{|{|{|wxwxwxwxuvuvuvuvqrqrqrqropopopopklklklkljijijijifefefefedcdcdcdc`_`_`_`_^]^]^]^]}~}~}~}~{|{|{|{|wxwxwxwxuvuvuvuvqrqrqrqropopopopklklklklhghghghgfefefefedcdcdcdc`_`_`_`_^]^]^]^]}~}~}~}~{|{|{|{|wxwxwxwxuvuvuvuvqrqrqrqropopopopklklklklhghghghgfefefefedcdcdcdc`_`_`_`_^]^]^]^]}~}~}~}~{|{|{|{|wxwxwxwxuvuvuvuvqrqrqrqropopopopklklklklhghghghgfefefefedcdcdcdc`_`_`_`_^]^]^]^]}~}~}~}~{|{|{|{|wxwxwxwxuvuvuvuvqrqrqrqropopopopklklklklhghghghgfefefefebabababa`_`_`_`_^]^]^]^]}~}~}~}~{|{|{|{|wxwxwxwxuvuvuvuvqrqrqrqropopopopklklklklhghghghgfefefefebabababa`_`_`_`_^]^]^]^]}~}~}~}~{|{|{|{|wxwxwxwxuvuvuvuvqrqrqrqropopopopklklklklhghghghgfefefefebabababa`_`_`_`_^]^]^]^]}~}~}~}~{|{|{|{|wxwxwxwxuvuvuvuvqrqrqrqropopopopklklklklhghghghgfefefefebabababa`_`_`_`_^]^]^]^]}~}~}~}~{|{|{|{|wxwxwxwxuvuvuvuvqrqrqrqropopopopklklklklhghghghgfefefefebabababa`_`_`_`_^]^]^]^]}~}~}~}~{|{|{|{|wxwxwxwxuvuvuvuvqrqrqrqropopopopklklklklhghghghgfefefefebabababa`_`_`_`_^]^]^]^]}~}~}~}~{zyzyzyzwxwxwxwxuvuvuvuvqrqrqrqropopopopklklklklhghghghgfefefefebabababa`_`_`_`_^]^]^]^]}~}~}~}~yzyzyzyzwxwxwxwxuvuvuvuvqrqrqrqropopopopklklklklhghghghgfefefefebabababa`_`_`_`_^]^]^]^]}~}~}~}~yzyzyzyzwxwxwxwxuvuvuvuvqrqrqrqropopopopklklklklhghghghgfefefefebabababa`_`_`_`_^]^]^]^]}~}~}~}~yzyzyzyzwxwxwxwxutstststqrqrqrqropopopopklklklklhghghghgfefefefebabababa`_`_`_`_^]^]^]^]}~}~}~}~yzyzyzyzwxwxwxwxststststqrqrqrqropopopopklklklklhghghghgfefefefebabababa`_`_`_`_^]^]^]^]}~}~}~}~yzyzyzyzwxwxwxwxststststqrqrqrqropopopopklklklklhghghghgfefefefebabababa`_`_`_`_^]^]^]^]}~}~}~}~yzyzyzyzwxwxwxwxststststqrqrqrqronmnmnmnklklklklhghghghgfefefefebabababa`_`_`_`_^]^]^]^]}~}~}~}~yzyzyzyzwxwxwxwxststststqrqrqrqrmnmnmnmnklklklklhghghghgfefefefebabababa`_`_`_`_^]^]^]^]}~}~}~}~yzyzyzyzwxwxwxwxststststqrqrqrqrmnmnmnmnklklklklhghghghgfefefefebabababa`_`_`_`_^]^]^]^]}~}~}~}~yzyzyzyzwxwxwxwxststststqrqrqrqrmnmnmnmnklklklklhghghghgfefefefebabababa`_`_`_`_^]^]^]^]}~}~}~}~yzyzyzyzwxwxwxwxststststqrqrqrqrmnmnmnmnklklkjijhghghghgdcdcdcdcbabababa`_`_`_`_^]^]^]^]}~}~}~}~yzyzyzyzwxwxwxwxststststqrqrqrqrmnmnmnmnijijiiiihghghghgdcdcdcdcbabababa`_`_`_`_^]^]^]^]}~}~}~}~yzyzyzyzwxwxwxwxststststqrqrqrqrmnmnmnmnijijijijhghghghgdcdcdcdcbabababa`_`_`_`_^]^]^]^]}~}~}~}~yzyzyzyzwxwxwxwxststststqrqrqrqrmnmnmnmnijijijijhghghghgdcdcdcdcbabababa^]^]^]^]^]^]^]^]}~}~}~}~yzyzyzyzwxwxwxwxststststqrqrqrqrmnmnmnmnijijijijhghghghgdcdcdcdcbabababa^]^]^]^]^]^]^]^]}~}~}~}~yzyzyzyzwxwxwxwxststststqrqrqrqrmnmnmnmnijijijijhghghghgdcdcdcdcbabababa^]^]^]^]^]^]^]^]}|{|{|{|yzyzyzyzwxwxwxwxststststqrqrqrqrmnmnmnmnijijijiihghghghgdcdcdcdcbabababa^]^]^]^]^]^]^]^]^]^]^]^]ZYZYZYZYXWXWXWXWTSTSTSTSOPOPOPOPMNMNMNMNIJIJIJIJGHGHGHGHCDCDCDCDABABABAB=>=>=>=>;<;<;<;<7878787856565656212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#         ^]^]^]^]ZYZYZYZYXWXWXWXWTSTSTSTSOPOOOOOOMNMNMNMNIJIJIJIJGHGHGHGHCDCDCDCDABABABAB=>=>=>=>;<;<;<;<7878787856565656212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#         ^]^]^]^]ZYZYZYZYXWXWXWXWTSTSTSTSPOPOPOPOMNMNMNMNIJIJIJIJGHGHGHGHCDCDCDCDABABABAB=>=>=>=>;<;<;<;<7878787855555565212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#         \[\[\[\[ZYZYZYZYXWXWXWXWTSTSTSTSPOPOPOPOMNMNMNMNIJIJIJIJGHGHGHGHCDCDCDCDABABABAB=>=>=>=>;<;<;<;<7878787865656543212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#         \[\[\[\[ZYZYZYZYXWXWXWXWTSTSTSTSPOPOPOPOMNMNMNMNIJIJIJIJGHGHGHGHCDCDCDCDABABABAB=>=>=>=>;<;<;<;<7878787843434343212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#         \[\[\[\[ZYZYZYZYXWXWXWXWTSTSTSTSPOPOPOPOMNMNMNMNIJIJIJIJGHGHGHGHCDCDCDCDABABABAB=>=>=>=>;<;<;<;<7878787843434343212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#         \[\[\[\[ZYZYZYZYVUVUVUVUTSTSTSTSPOPOPOPOMNMNMNMNIJIJIJIJGHGHGHGHCDCDCDCDABABABAB=>=>=>=>;<;<;<;<7878787843434343212121210/0/0/.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#         - -\[\[\[\[ZYZYZYZYVUVUVUVUTSTSTSTSPOOOOOOPMNMNMNMNIJIJIJIJGHGHGHGHCDCDCDCDABABABAB=>=>=>=>;<;<;<;<787878784343434321212121.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#         - - - -\[\[\[\[ZYZYZYZYVUVUVUVUTSTSTSTSOPOPOPOPMNMNMNMNIJIJIJIJGHGHGHGHCDCDCDCDABABABAB=>=>=>=>;<;<;<;<787878784343434321212121.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#         - - - -\[\[\[\[ZYZYZYZYVUVUVUVUTSTSTSTSOPOPOPOPMNMNMNMLIJIJIJIJGHGHGHGHCDCDCDCDABABABAB=>=>=>=>;<;<;<;<787878784343434321212121.-.-.-.-,+,+,+,+*)*)*)('&%&%&%&%$#$#$#$#         - - - -\[\[\[\[ZYZYZYZYVUVUVUVUTSTSTSTSOPOPOPOPKLKLKLKLIJIJIJIJGHGHGHGHCDCDCDCDABABABAB=>=>=>=>;<;<;<;<787878784343434321212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#$#         - - - -\[\[\[\[ZYZYZYZYVUVUVUVUTSTSTSTSOPOPOPOPKLKLKLKLIJIJIJIJGHGHGHGHCDCDCDCDABABABAB=>=>=>=>;<;<;<;<787878784343434321212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#$#         - - - -\[\[\[\[ZYZYZYZYVUVUVUVUTSTSTSTSOPOPOPOPKLKLKLKLIJIJIJIJGHGHGHGFCDCDCDCDABABABAB=>=>=>=>;<;<;<;<787878784343434321212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#"!         - - - -\[\[\[\[ZYZYZYZYVUVUVUVUTSTSTSTSOOOOOOPOKLKLKLKLIJIJIJIJEFEFEFEFCDCDCDCDABABABAB=>=>=>=>;<;<;<;<787878784343434321212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!         - - - -\[\[\[\[ZYZYZYZYVUVUVUVUTSTSTSTSPOPOPOPOKLKLKLKLIJIJIJIJEFEFEFEFCDCDCDCDABABABAB=>=>=>=>;<;<;<;<787878784343434321212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!         - - - -\[\[\[\[ZYZYZYZYVUVUVUVUTSTSTSTSPOPOPOPOKLKLKLKLIJIJIJIJEFEFEFEFCDCDCDCDABABABA@=>=>=>=>;<;<;<;<787878784343434321212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!         - - - -\[\[\[\[ZYZYZYZYVUVUVUVUTSTSTSTSPOPOPOPOKLKLKLKLIJIJIJIJEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>;<;<;<;<787878784343434321212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!         - - - -\[\[\[\[ZYZYZYZYVUVUVUVUTSTSTSRQPOPOPOPOKLKLKLKLIJIJIJIJEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>;<;<;<;<787878784343434321212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!         - - - -\[\[\[\[ZYZYZYZYVUVUVUVURQRQRQRQPOPOPOPOKLKLKLKLIJIJIJIJEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>;<;<;<;:787878784343434321212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!         - - - -\[\[\[\[ZYZYZYZYVUVUVUVURQRQRQRQOOOOOPOPKLKLKLKLIJIJIJIJEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>9:9:9:9:787878784343434321212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!         - - - -\[\[\[\[ZYZYZYZYVUVUVUVURQRQRQRQOPOPOPOPKLKLKLKLIJIJIJIJEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>9:9:9:9:787878784343434321212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!         - - - -\[\[\[\[ZYZYZYZYVUVUVUVURQRQRQRQOPOPOPOPKLKLKLKLIJIJIJIJEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>9:9:9:9:787878784343434321212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!         - - - -\[\[\[\[XWXWXWXWVUVUVUVURQRQRQRQOPOPOPOPKLKLKLKLIJIJIJIJEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>9:9:9:9:78787878434343432121210/.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!       - - - -\[\[\[\[XWXWXWXWVUVUVUVURQRQRQRQOPOPOPOPKLKLKLKLIJIJIJIJEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>9:9:9:9:78765656434343430/0/0/0/.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!     - - - -\[\[\[\[XWXWXWXWVUVUVUVURQRQRQRQOPOOOOOPKLKLKLKLIJIJIJIJEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>9:9:9:9:56555556434343430/0/0/0/.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!   - - - -\[\[\[\[XWXWXWXWVUVUVUVURQRQRQRQOPOPOPONKLKLKLKLIJIJIJIJEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>9:9:9:9:56565656434343430/0/0/0/.-.-.-.-,+,+,+*)('('('('&%&%&%&%"!"!"!"! - - - -\[\[\[\[XWXWXWXWVUVUVUVURQRQRQRQMNMNMNMNKLKLKLKLIJIJIJIJEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>9:9:9:9:56565656434343430/0/0/0/.-.-.-.-*)*)*)*)('('('('&%&%&%&%"!"!"!"! - - - -\[\[\[\[XWXWXWXWVUVUVUVURQRQRQRQMNMNMNMNKLKLKLKLIJIJIJIJEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>9:9:9:9:56565656434343430/0/0/0/.-.-.-.-*)*)*)*)('('('('&%&%&%&%"!"!"!"! - - - -\[\[\[\[XWXWXWXWVUVUVUVURQRQRQRQMNMNMNMNKLKLKLKLIJIJIJIHEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>9:9:9:9:56565656434343430/0/0/0/.-.-.-.-*)*)*)*)('('('('&%&%&%$#"!"!"!"! - - - -\[\[\[\[XWXWXWXWVUVUVUVURQRQRQRQMNMNMNMNKLKLKLKLGHGHGHGHEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>9:9:9:9:56565555434343430/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!"!"!"! - - - -\[\[\[\[XWXWXWXWVUVUVUVURQRQRQRQMNMNMNMNKLKLKLKLGHGHGHGHEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>9:9:9:9:55656565434343430/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!"!"!"! - - - -\[\[\[\[XWXWXWXWVUVUVUVURQRQRQRQMNMNMNMNKLKLKLKLGHGHGHGHEFEFEFEFCDCDCDCB?@?@?@?@=>=>=>=>9:9:9:9:65656565434343430/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!"!"!"! - - - -\[\[\[\[XWXWXWXWVUVUVUVURQRQRQRQMNMNMNMNKLKLKLKLGHGHGHGHEFEFEFEFABABABAB?@?@?@?@=>=>=>=>9:9:9:9:65656565434343430/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!"!"!"! - - - -\[\[\[\[XWXWXWXWVUVUVUVURQRQRQRQMNMNMNMNKLKLKLKLGHGHGHGHEFEFEFEFABABABAB?@?@?@?@=>=>=>=>9:9:9:9:65656565434343430/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!"!"!"! - - - -\[\[\[\[XWXWXWXWVUVUVUVURQRQRQRQMNMNMNMNKLKLKLKLGHGHGHGHEFEFEFEFABABABAB?@?@?@?@=>=>=>=<9:9:9:9:65656565434343430/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!"!"!"! - - - -\[\[\[\[XWXWXWXWVUVUVUVURQRQRQRQMNMNMNMNKLKLKLKLGHGHGHGHEFEFEFEFABABABAB?@?@?@?@;<;<;<;<9:9:9:9:65655555434343430/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!"!"!"! - - - -\[\[\[\[XWXWXWXWVUVUVUVURQRQRQRQMNMNMNMNKLKLKLKLGHGHGHGHEFEFEFEFABABABAB?@?@?@?@;<;<;<;<9:9:9:9:56565656434343430/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!"!"!"! - - - -\[\[\[\[XWXWXWXWVUVUVUVURQRQRQRQMNMNMNMNKLKLKLKLGHGHGHGHEFEFEFEFABABABAB?@?@?@?@;<;<;<;<9:9:9:9:56565656434343430/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!"!"!"! - - - -ZYZYZYZYXWXWXWXWVUVUVUVURQRQRQRQMNMNMNMNKLKLKLKLGHGHGHGHEFEFEFEFABABABAB?@?@?@?@;<;<;<;<9:9:9:9:56565656434343210/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!"!"!"!  - - - -ZYZYZYZYXWXWXWXWVUVUVUVURQRQRQRQMNMNMNMNKLKLKLKLGHGHGHGHEFEFEFEFABABABAB?@?@?@?@;<;<;<;<9:9:9:9:56565656212121210/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!"!"!"!     - - - -ZYZYZYZYXWXWXWXWVUVUVUVURQRQRQRQMNMNMNMNKLKLKLKLGHGHGHGHEFEFEFEFABABABAB?@?@?@?@;<;<;<;<9:9:9:9:56565656212121210/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!"!"!"!     - - - -ZYZYZYZYXWXWXWXWTSTSTSTSRQRQRQRQMNMNMNMNKLKLKLKLGHGHGHGHEFEFEFEFABABABAB?@?@?@?@;<;<;<;<9:9:9:9:56555555212121210/0/0/0/.-.-.-,+*)*)*)*)('('('('$#$#$#$#"!"!"!"!     - - ZYZYZYZYXWXWXWXWTSTSTSTSRQRQRQRQMNMNMNMNKLKLKLKLGHGHGHGHEFEFEFEFABABABAB?@?@?@?@;<;<;<;<9:9:9:9:65656565212121210/0/0/0/,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"!     ZYZYZYZYXWXWXWXWTSTSTSTSRQRQRQRQMNMNMNMNKLKLKLKLGHGHGHGHEFEFEFEFABABABAB?@?@?@?@;<;<;<;<9:9:9:9:65656565212121210/0/0/0/,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"!     ZYZYZYZYXWXWXWXWTSTSTSTSRQRQRQRQMNMNMNMNKLKLKLKJGHGHGHGHEFEFEFEFABABABAB?@?@?@?@;<;<;<;<9:9:9:9:65656565212121210/0/0/0/,+,+,+,+*)*)*)*)('('('&%$#$#$#$#"!"!"!"!     ZYZYZYZYXWXWXWXWTSTSTSTSRQRQPOPOMNMNMNMNIJIJIJIJGHGHGHGHEFEFEFEFABABABAB?@?@?@?@;<;<;<;<9:9:9:9:65656565212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#"!"!"!"!     ZYZYZYZYXWXWXWXWTSTSTSTSPOPOOOOOMNMNMNMNIJIJIJIJGHGHGHGHEFEFEFEFABABABAB?@?@?@?@;<;<;<;<9:9:987865656565212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#"!"!"!"!     ZYZYZYZYXWXWXWXWTSTSTSTSOPOPOPOPMNMNMNMNIJIJIJIJGHGHGHGHEFEFEFEDABABABAB?@?@?@?@;<;<;<;<7878787865555556212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#"!"!"!      ZYZYZYZYXWXWXWXWTSTSTSTSOPOPOPOPMNMNMNMNIJIJIJIJGHGHGHGHCDCDCDCDABABABAB?@?@?@?@;<;<;<;<7878787856565656212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#         ZYZYZYZYXWXWXWXWTSTSTSTSOPOPOPOPMNMNMNMNIJIJIJIJGHGHGHGHCDCDCDCDABABABAB?@?@?@?@;<;<;<;<7878787856565656212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#         ZYZYZYZYXWXWXWXWTSTSTSTSOPOPOPOPMNMNMNMNIJIJIJIJGHGHGHGHCDCDCDCDABABABAB?@?@?@?>;<;<;<;<7878787856565656212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#         QQRRSSTT334455;;=<<;;::9DEEFFGGH UTTSSRRQxyyzz{{|5;;<<==> !!""$$##""!!ppoonnmm]]^^__``UUVVWWXX<<==>>??98877665HIIJJKKLQPPOONNM|}}~~>??@@AAB##$$%%&& llkkjjiiaabbccddYYZZ[[\\@@AABBCC54433221~~}LMMNNOOPMLLKKJJIBCCDDEEF''(())**hhggffeeeeffgghh~~}}]]^^__``DDEEFFGG 100//..-}||{{zzyPQQRRSSTIHHGGFFEFGGHHIIJ++,,--..ddccbbaaiijjkkll||{{zzyyaabbccddHHIIJJKK !!""##$-,,++**)yxxwwvvuTUUVVWWX - - EDDCCBBAJKKLLMMN//001122``__^^]]mmnnooppxxwwvvuueeffgghhLLMMNNOO$%%&&''()((''&&%uttssrrqXYYZZ[[\ A@@??>>=NOOUUVVW33445567 \\[[ZZYYqqrrssttttssrrqqiijjkkllUUVVWWXX())**++,%$$##""!qppoonnm\]]^^__`=<<;;::9WXXYYZZ[89:;;<<= - - XXWWVVUUuuvvwwxxppoonnmmmmnnooppYYZZ[[\\,--..//0! mllkkjji`aabbccd98877665[\\]]^^_=>>??@@ATTSSRRQQyyzz{{||llkkjjiiqqrrsstt]]^^__``01122334ihhggffedeeffggh54433221~~}_``aabbcABBCCDDEPPOONNMM}}~~hhggffeeuuvvwwxxaabbccdd45566778eddccbbahiijjkkl 100//..-}||{{zzycddeeffgEFFGGHHILLKKJJIIddccbbaayyzz{{||eeffgghh899::;;<a``__^^]lmmnnoop !!""##$-,,++**)yxxwwvvughhiioopIJJKKLLMHHGGFFEE``__^^]]}}~~iiooppqq<==>>??@ ]\\[[ZZYpqqrrsst$%%&&''()((''&&%uttssrrqpqqrrsstMNNOOPQR - - DDCCBBAA\\[[ZZYYrrssttuu@AABBCCD - - YXXWWVVUtuuvvwwx())**++,%$$##""!qppoonnmtuuvvwwxSTUUVVWW @@??>>==XXWWVVUUvvwwxxyyDEEFFGGH UTTSSRRQxyyzz{{|,--..//0! mllkkjjixyyzz{{|XXYYZZ[[<<;;::99TTSSRRQQzz{{||}}HIIJJKKLQPPOONNM|}}~~01122334ihhggffe|}}~~\\]]^^__88776655PPOONNMM~~LMMNNOOPMLLKKJJI45566778eddccbba``aabbcc44332211~~}}LLKKJJIIPQQRRSSTIHHGGFFE899::;;<a``__^^]ddeeffgg 00//..--||{{zzyyHHGGFFEE~~}}||TUUVVWWX - - EDDCCBBA<==>>??@ ]\\[[ZZYhhiijklm!!""##$$,,++**))xxwwvvuuDDCCBBAA{{zzyyxxXYYZZ[[\ A@@??>>=@AABBCCD - - YXXWWVVUnooppqqr%%&&''((((''&&%%ttssrrqq@@??>>==wwvvuutt\]]^^__`=<<;;::9DEEFFGGH UTTSSRRQ~~}}||{rssttuuv))**++,,$$##""!!ppoonnmm<<;;::99ssrrqqpp~~}}|`aabbccd98877665HIIJJKKLQPPOONNM{zzyyxxwvwwxxyyz--..//00 llkkjjii88776655ooiihhgg|{{zzyyxdeeffggh54433221~~}LMMNNOOPMLLKKJJIwvvuuttsz{{||}}~11223344hhggffee44332211ffeeddccxwwvvuuthiijjkkl 100//..-}||{{zzyPQQRRSSTIHHGGFFEsrrqqppo~55667788ddccbbaa00//..--bbaa``__tssrrqqplmmnnoop !!""##$-,,++**)yxxwwvvuTUUVVWWX - - EDDCCBBAoiihhggf99::;;<<``__^^]],,++**))^^]]\\[[poonmlkjpqqrrsst$%%&&''()((''&&%uttssrrqXYYZZ[[\ A@@??>>=feeddccb==>>??@@ \\[[ZZYY((''&&%%ZZYYXXWWiihhggfftuuvvwwx())**++,%$$##""!qppoonnm\]]^^__`=<<;;::9baa``__^AABBCCDD - - XXWWVVUU$$##""!!VVUUOONNeeddccbbxyyzz{{|,--..//0! mllkkjji`aabbccd98877665^]]\\[[ZEEFFGGHHTTSSRRQQ MMLLKKJJaa``__^^|}}~~01122334ihhggffedeeffggh54433221ZYYXXWWVIIJJKKLLPPOONNMM!!""##$$IIHHGGFF]]\\[[ZZ45566778eddccbbahiijjkkl 100//..-VUUOONNM~~}}MMNNOOPPLLKKJJII%%&&''((EEDDCCBBYYXXWWVV899::;;<a``__^^]lmmnnoop !!""##$-,,++**)MLLKKJJI||{{zzyyQQRRSSTTHHGGFFEE))**++,,AA@@??>>UUTSRQPO<==>>??@ ]\\[[ZZYpqqrrsst$%%&&''()((''&&%IHHGGFFExxwwvvuuUUVVWWXX - - DDCCBBAA--..//00 ==<<;;55ONNMMLLK@AABBCCD - - YXXWWVVUtuuvvwwx())**++,%$$##""!EDDCCBBAttssrrqqYYZZ[[\\ @@??>>==11223344 - - 44332211KJJIIHHGDEEFFGGH UTTSSRRQxyyzz{{|,--..//0! A@@??>>=ppoonnmm]]^^__``<<;;::9955667788 - - 00//..--GFFEEDDCHIIJJKKLQPPOONNM|}}~~01122334=<<;;554llkkjjiiaabbccdd8877665599::;;<< ,,++**))CBBAA@@?~~}LMMNNOOPMLLKKJJI4556677843322110hhggffeeeeffgghh44332211==>>??@@((''&&%%?>>==<<;}||{{zzyPQQRRSSTIHHGGFFE899::;;<0//..--,ddccbbaaiijjkkll 00//..--AABBCCDD$$##""!!;:987655yxxwwvvuTUUVVWWX - - EDDCCBBA<==>>??@ ,++**))(``__^^]]mmnnoopp!!""##$$,,++**))EEFFGGHH44332211uttssrrqXYYZZ[[\ A@@??>>=@AABBCCD - - (''&&%%$\\[[ZZYYqqrrsstt%%&&''((((''&&%%IIJJKKLL 00//..--qppoonnm\]]^^__`=<<;;::9DEEFFGGH $##""!!XXWWVVUUuuvvwwxx))**++,,$$##""!!MMNNOOPP!!""##$$,,++**))mllkkjji`aabbccd98877665HIIJJKKLTTSSRRQQyyzz{{||--..//00 QQRRSSTT%%&&''(( ((''&&%%ihhggffedeeffggh54433221~~}LMMNNOOPPPOONNMM}}~~11223344UUVVWWXX))**++,, - - $$##""!!eddccbbahiijjkkl 100//..-}||{{zzyPQQRRSST - - LLKKJJII55667788YYZZ[[\\--..//00 - - a``__^^]lmmnnoop !!""##$-,,++**)yxxwwvvuTUUVVWWX  HHGGFFEE99::;;<<]]^^__``11223344]\\[[ZZYpqqrrsst$%%&&''()((''&&%uttssrrqXYYZZ[[\ - - DDCCBBAA==>>??@@ aabbccdd55667788YXXWWVVUtuuvvwwx())**++,%$$##""!qppoonnm\]]^^__`@@??>>==AABBCCDD - - eeffgghh99::;;<<UTTSSRRQxyyzz{{|,--..//0! mllkkjji`aabbccd!<<;;::99EEFFGGHHiijjkkll==>>??@@!!"" -QPPOONNM|}}~~01122334ihhggffedeeffggh!""##$$% - - 88776655IIJJKKLLmmnnooppAABBCCDD##$$%%&& - MLLKKJJI45566778eddccbbahiijjkkl%&&''(() 44332211~~}}MMNNOOPPqqrrssttEEFFGGHH''(())**IHHGGFFE899::;;<a``__^^]lmmnnoop)**++,,-00//..--||{{zzyyQQRRSSTTuuvvwwxxIIJJKKLL++,,--.. - - EDDCCBBA<==>>??@ ]\\[[ZZYpqqrrsst-..//001,,++**))xxwwvvuuUUVVWWXX - - yyzz{{||MMNNOOPP//001122 A@@??>>=@AABBCCD - - YXXWWVVUtuuvvwwx12233445((''&&%%ttssrrqqYYZZ[[\\ }}~~55667788ZZYYXXWWtssrrqqpeffgghhi43322110~~}}|MNNOOPPQLKKJJIIHvuuttssr{||}}~~22334455ggffeeddffgghhii33221100zzyyxxwwJKKLLMMNONNMMLLK~23344556ZYYXXWWV]\\[[ZZY99::;;<<VVUUOONNpoonmlkjijjkkllm !0//..--,|{{zzyyxQRRSSTTU HGGFFEEDrqqppooi66778899ccbbaa``jjkkllmm !!//..--,,vvuuttssNOOPPQQRKJJIIHHG6778899:VUUOONNMYXXWWVVU==>>??@@ MMLLKKJJiihhggffmnnooppq!""##$$%,++**))(xwwvvuutUVVWWXXY - - DCCBBAA@ihhggffe::;;<<==__^^]]\\nnooppqq""##$$%%++**))((rrqqppooRSSTTUUV -GFFEEDDC:;;<<==>MLLKKJJIUTTSSRRQAABBCCDD - - IIHHGGFFeeddccbbqrrssttu%&&''(()(''&&%%$tssrrqqpYZZ[[\\] @??>>==>??@@AA [[ZZYYXXrrssttuu&&''(())''&&%%$$iihhggffVWWXXYYZ - CBBAA@@?>??@@AAB IHHGGFFEQPPOONNMEEFFGGHHEEDDCCBBaa``__^^uvvwwxxy)**++,,-$##""!! poonnmml]^^__``a<;;::998a``__^^]BBCCDDEE - - WWVVUUTTvvwwxxyy**++,,--##""!! eeddccbb~~}}||{Z[[\\]]^?>>==<<;BCCDDEEF - - EDDCCBBAMLLKKJJIIIJJKKLLAA@@??>>]]\\[[ZZyzz{{||}-..//001 lkkjjiihabbccdde87766554]\\[[ZZYFFGGHHIISSRRQQPPzz{{||}}..//0011aa``__^^{zzyyxxw^__``aab;::99887FGGHHIIJA@@??>>=IHHGGFFE~~}}MMNNOOPP==<<;;55YYXXWWVV}~~12233445hggffeedeffgghhi43322110YXXWWVVUJJKKLLMMOONNMMLL~~22334455]]\\[[ZZwvvuuttsbccddeef76655443JKKLLMMN=<<;;554EDDCCBBA||{{zzyyQQRRSSTT44332211UUTSRQPO56677889dccbbaa`ijjkkllm !0//..--,UOONNMML~~}}||NNOOPPQQKKJJIIHH66778899YYXXWWVVsrrqqppofgghhiij3221100/~~}}||{NOOPPQQR43322110A@@??>>=xxwwvvuuUUVVWWXX - - 00//..--ONNMMLLK9::;;<<=`__^^]]\mnnooppq!""##$$%,++**))(LKKJJIIH{{zzyyxxRRSSTTUU GGFFEEDD::;;<<==UUOONNMMonmlkjiijkkllmmn !!"/..--,,+{zzyyxxwRSSTTUUV -0//..--,=<<;;::9ttssrrqqYYZZ[[\\ ,,++**))KJJIIHHG=>>??@@A \[[ZZYYXqrrssttu%&&''(()(''&&%%$HGGFFEEDwwvvuuttVVWWXXYY - - CCBBAA@@>>??@@AA LLKKJJIIhhggffeenooppqqr"##$$%%&+**))(('wvvuuttsVWWXXYYZ - ,++**))(98877665ppoonnmm]]^^__``((''&&%%GFFEEDDCABBCCDDE - - XWWVVUUTuvvwwxxy)**++,,-$##""!! DCCBBAA@ssrrqqppZZ[[\\]]??>>==<>==>==<<;IJJKKLLMPOONNMML}~~12233445<;;55443kkjjiihhbbccddee77665544JJKKLLMM@@??>>==\\[[ZZYYz{{||}}~.//00112kjjiihhgbccddeef-,,++**)ddccbbaaiijjkkll ;:987655~~}}|MNNOOPPQLKKJJIIH566778893221100/ggffeeddffgghhii33221100~~}}||NNOOPPQQ<<;;5544XXWWVVUU~23344556gffeeddcfgghhiij)((''&&%``__^^]]mmnnoopp!!""##$$44332211|{{zzyyxQRRSSTTU HGGFFEED9::;;<<=/..--,,+ccbbaa``jjkkllmm !!//..--,,{{zzyyxxRRSSTTUU 33221100TSRQPOON6778899:cbbaa``_jkkllmmn !!"%$$##""!\\[[ZZYYqqrrsstt%%&&''(( 00//..--xwwvvuutUVVWWXXY - - DCCBBAA@=>>??@@A +**))(('__^^]]\\nnooppqq""##$$%%++**))((wwvvuuttVVWWXXYY - - //..--,,NMMLLKKJ:;;<<==>_^^]]\\[nooppqqr"##$$%%& ! XXWWVVUUuuvvwwxx))**++,, - - ,,++**))tssrrqqpYZZ[[\\] @??>>==??@@AAB [ZZYYXXWrssttuuv&''(())* - - -TTSSRRQQyyzz{{||--..//00((''&&%%poonnmml]^^__``a<;;::998EFFGGHHI#""!!WWVVUUTTvvwwxxyy**++,,--##""!! oonnmmll^^__``aa''&&%%$$FEEDDCCBBCCDDEEF - - WVVUUTTSvwwxxyyz*++,,--. - PPOONNMM}}~~11223344 $$##""!!lkkjjiihabbccdde87766554IJJKKLLMSSRRQQPPzz{{||}}..//0011kkjjiihhbbccddee##""!!BAA@@??>FGGHHIIJSRRQQPPOz{{||}}~.//00112LLKKJJII55667788 - - hggffeedeffgghhi43322110~~}}|MNNOOPPQ OONNMMLL~~22334455ggffeeddffgghhii>==<<;;:JKKLLMMNONNMMLLK~23344556 HHGGFFEE99::;;<<dccbbaa`ijjkkllm !0//..--,|{{zzyyxQRRSSTTU - - KKJJIIHH66778899ccbbaa``jjkkllmm !!98765544~~}}||{NOOPPQQRKJJIIHHG6778899: - - DDCCBBAA==>>??@@`__^^]]\mnnooppq!""##$$%,++**))(xwwvvuutUVVWWXXY  -GGFFEEDD::;;<<==__^^]]\\nnooppqq""##$$%%33221100{zzyyxxwRSSTTUUV -GFFEEDDC:;;<<==>!!""# - - @@??>>==AABBCCDD\[[ZZYYXqrrssttu%&&''(()(''&&%%$tssrrqqpYZZ[[\\] - CCBBAA@@>>??@@AA [[ZZYYXXrrssttuu&&''(()) //..--,,wvvuuttsVWWXXYYZ - CBBAA@@?>??@@AAB#$$%%&&' <<;;::99EEFFGGHH!!"" -XWWVVUUTuvvwwxxy)**++,,-$##""!! poonnmml]^^__``a??>>==<>==<<;BCCDDEEF'(())**+88776655IIJJKKLL##$$%%&& - TSSRRQQPyzz{{||}-..//001 lkkjjiihabbccdde!!" ;;::9988FFGGHHIISSRRQQPPzz{{||}}..//0011''&&%%$$onnmmllk^__``aab;::99887FGGHHIIJ+,,--../44332211~~}}MMNNOOPP''(())**POONNMML}~~12233445hggffeedeffgghhi"##$$%%& - - 77665544JJKKLLMMOONNMMLL~~22334455 - -##""!! kjjiihhgbccddeef76655443JKKLLMMN/001122300//..--||{{zzyyQQRRSSTT++,,--..LKKJJIIH56677889dccbbaa`ijjkkllm&''(())* 33221100~~}}||NNOOPPQQKKJJIIHH66778899 gffeeddcfgghhiij3221100/~~}}||{NOOPPQQR34455;;< ,,++**))xxwwvvuuUUVVWWXX//001122 HGGFFEED9::;;<<=`__^^]]\mnnooppq*++,,--.//..--,,{{zzyyxxRRSSTTUU GGFFEEDD::;;<<==cbbaa``_jkkllmmn !!"/..--,,+{zzyyxxwRSSTTUUV<==>>??@ !!""##$((''&&%%ttssrrqqYYZZ[[\\334455;; - - DCCBBAA@=>>??@@A \[[ZZYYXqrrssttu.//00112++**))((wwvvuuttVVWWXXYY - - CCBBAA@@>>??@@AA_^^]]\\[nooppqqr"##$$%%&+**))(('wvvuuttsVWWXXYYZ@AABBCCD$%%&&''($$##""!!ppoonnmm]]^^__``<<==>>?? @??>>==>==<>? !!""####""!! oonnmmll^^__``aa;;::9988FFGGHHII!!""## - - WVVUUTTSvwwxxyyz*++,,--.#""!! onnmmllk^__``aabHIIJJKKL,--..//0hhggffeeeeffgghhDDEEFFGG87766554IJJKKLLMPOONNMML}~~?@@AABBC$$%%&&''kkjjiihhbbccddee77665544JJKKLLMM$$%%&&'' SRRQQPPOz{{||}}~.//00112kjjiihhgbccddeefLMMNNOOU01122334ddccbbaaiijjkkllHHIIJJKK43322110~~}}|MNNOOPPQLKKJJIIHCDDEEFFG(())**++ggffeeddffgghhii33221100~~}}||NNOOPPQQ(())**++ONNMMLLK~23344556gffeeddcfgghhiijUVVWWXXY45566778``__^^]]mmnnooppLLMMNNOO !0//..--,|{{zzyyxQRRSSTTU HGGFFEEDGHHIIJJK,,--..//ccbbaa``jjkkllmm !!//..--,,{{zzyyxxRRSSTTUU,,--..//KJJIIHHG6778899:cbbaa``_jkkllmmnYZZ[[\\]899::;;< \\[[ZZYYqqrrssttUUVVWWXX!""##$$%,++**))(xwwvvuutUVVWWXXY - - DCCBBAA@KLLMMNNO00112233__^^]]\\nnooppqq""##$$%%++**))((wwvvuuttVVWWXXYY00112233 -GFFEEDDC:;;<<==>_^^]]\\[nooppqqr]^^__``a<==>>??@ - - XXWWVVUUuuvvwwxxYYZZ[[\\%&&''(()(''&&%%$tssrrqqpYZZ[[\\] @??>>==??@@AAB [ZZYYXXWrssttuuvabbccdde@AABBCCDTTSSRRQQyyzz{{||]]^^__``)**++,,-$##""!! poonnmml]^^__``a<;;::998XYYZZ[[\:;;<<==> - - WWVVUUTTvvwwxxyy**++,,--##""!! oonnmmll^^__``aa==>>??@@?>>==<<;BCCDDEEF - - WVVUUTTSvwwxxyyzeffgghhiDEEFFGGHPPOONNMM}}~~aabbccdd-..//001 lkkjjiihabbccdde87766554\]]^^__`>??@@AABSSRRQQPPzz{{||}}..//0011kkjjiihhbbccddeeAABBCCDD;::99887FGGHHIIJSRRQQPPOz{{||}}~iooppqqrHIIJJKKLLLKKJJIIeeffgghh12233445hggffeedeffgghhi43322110~~}}|`aabbccdBCCDDEEFOONNMMLL~~22334455ggffeeddffgghhiiEEFFGGHH76655443JKKLLMMNONNMMLLK~rssttuuvLMMNNOOPHHGGFFEEiiooppqq56677889dccbbaa`ijjkkllm !0//..--,|{{zzyyxdeeffgghFGGHHIIJKKJJIIHH66778899ccbbaa``jjkkllmmIIJJKKLL3221100/~~}}||{NOOPPQQRKJJIIHHGvwwxxyyzPQQRRSST - - DDCCBBAArrssttuu9::;;<<=`__^^]]\mnnooppq!""##$$%,++**))(xwwvvuuthiiooppqJKKLLMMN GGFFEEDD::;;<<==__^^]]\\nnooppqqMMNNOOUU !!"/..--,,+{zzyyxxwRSSTTUUV -GFFEEDDCz{{||}}~TUUVVWWX @@??>>==vvwwxxyy=>>??@@A \[[ZZYYXqrrssttu%&&''(()(''&&%%$tssrrqqpqrrssttuNOOPQRST - - CCBBAA@@>>??@@AA [[ZZYYXXrrssttuuVVWWXXYY"##$$%%&+**))(('wvvuuttsVWWXXYYZ - CBBAA@@?~XYYZZ[[\<<;;::99zz{{||}}ABBCCDDE - - XWWVVUUTuvvwwxxy)**++,,-$##""!! poonnmmluvvwwxxyUUVVWWXX??>>==<>==<<;~~}\]]^^__`88776655~~}}||~~EFFGGHHITSSRRQQPyzz{{||}-..//001 lkkjjiihyzz{{||}YYZZ[[\\;;::9988FFGGHHIISSRRQQPPzz{{||}}^^__``aa*++,,--.#""!! onnmmllk^__``aab;::99887~~}}||{}||{{zzy`aabbccd44332211{{zzyyxxIJJKKLLMPOONNMML}~~12233445hggffeed}~~]]^^__``77665544JJKKLLMMOONNMMLL~~bbccddee.//00112kjjiihhgbccddeef76655443{zzyyxxwyxxwwvvudeeffggh 00//..--wwvvuuttMNNOOPPQLKKJJIIH56677889dccbbaa`aabbccdd33221100~~}}||NNOOPPQQKKJJIIHHffgghhii23344556gffeeddcfgghhiij3221100/wvvuuttsuttssrrqhiijjkkl!!""##$$,,++**))ssrrqqppQRRSSTTU HGGFFEED9::;;<<=`__^^]]\eeffgghh !!//..--,,{{zzyyxxRRSSTTUU GGFFEEDDooppqqrr6778899:cbbaa``_jkkllmmn !!"/..--,,+srrqqppoqppoonnmlmmnnoop%%&&''((((''&&%%ooiihhggUVVWWXXY - - DCCBBAA@=>>??@@A \[[ZZYYXiijklmno""##$$%%++**))((wwvvuuttVVWWXXYY - - CCBBAA@@ssttuuvv:;;<<==>_^^]]\\[nooppqqr"##$$%%&+**))(('oiihhggfmllkkjjipqqrrsst))**++,,$$##""!!ffeeddcc~~}}|YZZ[[\\] @??>>==>==<??@@AAB [ZZYYXXWrssttuuv&''(())*'&&%%$$#feeddccbihhggffetuuvvwwx--..//00 bbaa``__|{{zzyyx]^^__``a<;;::998EFFGGHHITSSRRQQP~}}||{{zsttuuvvw**++,,--##""!! oonnmmll^^__``aa;;::9988{{||}}~~BCCDDEEF - - WVVUUTTSvwwxxyyz*++,,--.#""!! baa``__^eddccbbaxyyzz{{|11223344^^]]\\[[xwwvvuutabbccdde87766554IJJKKLLMPOONNMMLzyyxxwwvwxxyyzz{..//0011kkjjiihhbbccddee77665544~~}}||{{FGGHHIIJSRRQQPPOz{{||}}~.//00112^]]\\[[Za``__^^]|}}~~ZHAb|ZdQb`ےfH~Qr˂pfpvZp˂dtAQr˂pbtlrXQ~f`vr˂pfpvp˂rے`JXQtlJrXQJ`f`vXZHAbnXv`rXQJ`JltZHAbJtArdJ`ےXnvZHAbnXv`XQJ`ےr˂ptArdےbHAnvpے`JXf~HbHAbnvpے`JX|ZdQbHAZppfH~ے`JXQf~HbHAZZHAb|ZdQbZp˂fH~Qr˂pfpvZp˂fHQr˂pbtlrXQf`vr˂pfpvp˂rے`JXQtlJrXQJ`f`vXZHAbnXv`rXQJ`f`vXZHAbJtArdJ`ےXnvZHAbnXv`XQJ`ےr˂ptArdےbHAnvpے`JXf~HbHAnvpے`JXf~HbHAXQJ`pfH~ے`JXQf~HbHAZZHAb|ZdQbXQJ`ےfH~Qr˂pfpvZp˂fH~Qr˂pfpvےbHfvXnr˂pfpvp˂rے`JXQtlJbHAZf`vXZHAbnXv`rXQJ`f`vXZHAbnXv`AZp˂vpfHZHAےnXv`XQJ`ےr˂ptArdp˂rnvpے`JXf~HbHAnvpے`JXf~HrXQJ`~f``JXQrf~HbHAZZHAb|ZdQbXQJ`ےfH~Qr˂pfpvZp˂fH~Qr˂pfpvےbHvXnbtlfpvp˂rے`JXQtlJbHAZf`vXZHAbnXv`rXQJ`f`vXZHAbnXv`AZp`ۅvpfHJtAdnXv`XQJ`ےr˂ptArdp`ےnvpے`JXf~HbHAnvpے`JXf~HbHA~fv|ZdQbf~HbHAZZHAb|ZdQbbHAZpfH~Qr˂pfpvZp˂fH~Qr˂pfpvZp˂nvptlJfpvdrtAے`JXQtlJ˂rXQf`vXZHAۅnXv`rXQJ`f`vXZHAbnXv`rXQJ`fH~tArdnXv`Jltr˂ptArdJ`ےnvp`JXQf~HbHAnvpے`JXf~HbHAf`vX|ZdQbf~HbdQZ|ZHAbf~HbHAZpfH~rbtlfpvZp˂fH~Qr˂pfpvZp˂nvptlJfpvdrtAے`JXQXv`f˂bf`vXJtAdnXv`rXQJ`f`vXZHAbnXv`bHAZfH~tArdnXv`Jltr˂p~HfHAZdnvp|ZdQf~HbHAnvpے`JXf~HdrtAdf`vn|ZdQbf~HbdQZ|ZHAbpvnrtAJfH~btlfpvZdrtfH~Qr˂pfpvQZ|dvpfHtlJfpvdrtAے`JXQXv`fbdQZ|f`vXJtArdnXv`AJltf`vXZHAۅnXv`rtAJl~f`tArdnXv`Jltr˂p~HfdrtAnvp|ZdQf~HbdQZ|nvp`JXQf~HtbdvXn|ZdQbf~HbdQZ|ZHAbp`fJltfH~btlfpvdrtfH~rbtlfpvQZ|dvpfHtlJfpvdrtAے`JXQ~HfpbdQZ|f`vXJtArdnXv`AJltf`vXJtAdnXv`rtAJl~f`tArdnXv`Jltr˂pvnXdrtAnvp|ZdQf~HbdQZ|nvp|ZdQf~H|dvXnvf|ZdQbf~HbdQZ|H~fZHAbv`fJlbQZfH~btlfpvdrtfH~btlfpvrtAJlH~ftlJfpvdrtA`vXnے`JXQ~Hfp|drf`vXJtArdnXv`AJltf`vXJtArdnXv`tbdQZHAbtArdnXv`Jltvpfr˂pv~tAJlnvp|ZdQf~HbdQZ|nvp|ZdQf~HZ|dے`JXQ|ZdQbfHfbdQZ|H~fZHAbHfpvtbdQZfH~btlfpvdrtfH~btlfpvrtAJlr˂ptlJpvndrtA`vXnے`JXQnXv|drf`vXJtArdnXv`AJltf`vXJtArdnXv`tdrtZHAbtArdrXQJ`Jltvpfr˂p`f~tAJlnvp|ZdQf~HbdQZ|nvp|ZdQf~HAJltے`JXQ|ZdQbےHAZbdQZ|H~fZHAbHfpvtbQZdfH~btlfpvdrtfH~btlfpvbdQZ|r˂ptlJp˂rdrtA`vXnے`JXQnXHrtAJlfZHAbJtArdnXv`AJltf`vXJtArdnXv`drtZHAbtArdXQJ`ےJltvpfr˂pfpvtbdے`JX|ZdQfHbdQZ|nvp|ZdQf~HAJltے`JXQ|ZdQbbHAZbdQZ|H~f|ZdQbnXv`QZ|dQr˂pbtlfpvdrtfH~btlfpvbdQtAr˂ptlJp˂rdrtA`vXntlJf~HrtAJlZHAbJtArdnrXQJ`AJltf`vXJtArdnXv`JltZHAbtArdXQJ`ےJltvpftArdfpvtbdے`JX|ZdQےHAbdQZ|nvp|ZdQf~HbdQZ|ے`JXQ|ZdQbbHAZbdQZ|H~f|ZdQbnXv`QZrtAQr˂pbtlZp˂drtfH~btlfpvdrtAr˂ptlJp˂rdrtA`vXntlJpvnJltZHAbJtArdrXQJ`AJltfZHAbJtArdnXv`JltZHAbtArdXQJ`ےJltvpftArdXv`fbdQZ|ے`JX|ZdQbHAbdQZ|ے`JX|ZdQfHbdQZ|lے`JXQ|ZdQbbHAZbdQZ|H~f|ZdQb~HfdrtAQr˂pbtlZp˂drtQr˂pbtlfpvtbdr˂ptlJp˂rdrtA`vXntlJpvnJltZHAbJtArdrXQJ`AJltZHAbJtArdnrXQJ`QZ|dZHAbtArdXQJ`ےJltvpftArdXv`pbdQZ|ے`JX|ZdQbHAbdQZ|ے`JX|ZdQp˂rtAJlے`JXQ|ZdQbbHAZbdQZ|H~f|ZdQb˂rXQrAJlQr˂pbtlZp˂drtQr˂pbtlrXQJ`ۑtbdr˂ptlJp˂rdrtA`vXntlJJ`ےtbdQZHAbJtArdrXQJ`AJltZHAbJtArdbHAQZ|lZHAbtArdXQJ`ےJltvpftArdbHAZpZ|dے`JX|ZdQbHAbdQZ|ے`JX|ZdQZp˂tbnے`JXQf~HbHAZbdQZ|H~f|ZdQb˂rXQrtAJlQr˂pbtlZp˂drtQr˂pbtlrXQJ`pvpfr˂pfpvp˂rdtAJ`vXntlJJ`p˂tbdQZHAbJtArdrXQJ`AJltZHAbJtArd˂rXf`vXZHAbnXv`XQJ`ےltbvpftArdrXQJZ|dnے`JX|ZdQbHAbdQZ|ے`JX|ZdQQJ`ےnvpے`JXQf~HbHAZnvpH~f|ZdQb`ےbvfQr˂pbtlZp˂drtQr˂pbtlbHAZpfH~r˂pfpvp˂rfHf`vXntlJHAZp˂f`vXZHAbJtArdrXQJ`AJltZHAbJtArd˂rXf`vXZHAbnXv`XQJ`ے`vXnvpftArdrXQJnvpے`JXf~HbHAbdQZ|ے`JX|ZdQQJ`ےnvpfے`JXQf~HbHAZvpfH~f`vXntArdnXv`rtAJlZHAbArd|QJ`ےJltZHAbArd|rXQJ`JltpZHAJtArdJ`ےltbHAbےrd|J`ےltbJXQrdQtArdJ`ےtbnAbے`rd|J`ےtbdbے`pfH~ㅀvpf|ZdQbf~Htdr`JQrZdQbtbHAZpbdQZ|`JXQZdQbtHAZpbdQZ|bے`p|ZdbHAZpdQZ|`JXQrZdQbtbHAZpdQZ|˂pZHAf~bHAZp˅vpfHJXQrZdQbtbHAZpQZ|dJXQHAbf۝`vH~ftlJfpvtAJlpZHAblJt˂rXdrtAr˂plJt˂rXdrtAZHAbQbJtA˂rXQdrtAJ˂pZlJtA˂rXQdrtAJbے`HfvnXrXQf`˂pZHlJtArXQrtAJlے`JXXnvˍZHAbtArdnXv`tbdQZے`JArd|QJ`ےJltZHAbArd|QJ`ےJltے`JXrdfJ`ےltbHAbےrd|J`ےltbpZHAbv`fJ`ےvXnAbے`rdfJ`ےtbdQr˂ppfH~ے`JXQ|ZdQbfHf|drXQr˂ZdQbtbHAZpbdQZ|`JXQZdQbtbHAZpbdQZ|Qr˂p~HfbHAZpdQZ|`JXQrZdQbtbHAZpdQZ|ے`J~HfpbHAZpvpfHJXQr~HfpbHAZpQZ|dZHAbf۝`vr˂ptlJpvntAJlpZHAblJt˂rXdrtAr˂plJt˂rXdrtAZHAbpvn˂rXQdtAJl˂pZlJtA˂rXQdrtAJXQr˂vnXrXQ~f`˂pZHvnXrXQtAJlے`JXXnvˍZHAbtArdrXQJ`tbdQtAے`JArd|QJ`ےJltZHAbArd|QJ`ےJltے`JXXv`fJ`ےtbnHAbےrd|J`ےltbpZHAbv`fJ`ےvXnAbے`v`fJ`ےtbnQrpfH~ے`JXQ|ZdQbےHAZJltXQrZHZdQbtbHAZpbdQZ|`JXQZdQbtbHAZpbdQZ|QHAbې~HfbHAZpvpf`JXQrZdQbtbHAZpdQZ|ے`J~HfpbHAZpvpfHJXQr~HfpbHAZp˅vpfH`JXQf۝`vr˂ptlJp˂rbdQZ|Abے`lJt˂rXdrtAr˂plJt˂rXdrtA`JXQpvn˂rXQHf`˂pZlJtA˂rXQdrtAJXQHAbvnv`rXQ~f`˂pZHvnXrXQf`r˂pXnvˍZHAbtArdXQJ`ےdrtAJXQrArdQJ`ےJltZHAbArd|QJ`ےJltr˂pXv`fJ`ےvXnHAbےrdfJ`ےltbے`JXQf~HJ`ےvXnAbے`v`fJ`ےvXnZHAbpfH~ے`JXQ|ZdQbbHAZJlt˂pZHf~HbHAZpbdQZ|`JXQZdQbtbHAZpbdQZ|ZHAbې~HfbHAZpvpfH`JXQr~HfbHAZpdQZ|r˂pfpvbHAZpvpfHJXQr~HfpbHAZpvpfH`JXQf۝`vr˂ptlJp˂rbdQZ|Abے`fpv˂rXdtAJlr˂plJt˂rXdrtA`JXQpvn˂rXQ~f`˂pZpvn˂rXQdtAJlZHAbnXv`rXQ~f`˂pZHvnXrXQ~f`r˂p`XnvˍZHAbtArdXQJ`ےltbJXQrnXv`QJ`ےtbZHAbArd|QJ`ےJltrے`Xv`fJ`ےvXnHAbےXv`fJ`ےtbnے`JXQf~HJ`ےvXnAbے`v`fJ`ےvXnہJXQrpfH~ے`JXQ|ZdQbbHAZdQZ|ZAbf~HbHAZpnvp`JXQZdQbtbHAZpbdQZ|JXQr~HfbHAZpvpfH`JXQr~HfbHAZpvpfrےfpvbHAZpvpfHJXQr~HfpbHAZpvpfH˂pZHf۝`vr˂ptlJp˂rdrtAJے`JXQfpv˂rXfHf`r˂plJt˂rXdrtA˂pZHpvn˂rXQ~f`˂pZpvn˂rXQHf``JXQrnvf󂀉rXQ~f`˂pZHvnXrXQ~f`Abے`XnvˍZHAbtArdXQJ`ےltbr˂pnXv`QJ`ےvXnZHAbArdQJ`ےJltAbے`Xv`fJ`ےvXnHAbےXv`fJ`ےvXn˂pZ~HfpJ`ےvXnAbے`v`fJ`ےvXnہJXQrpfH~ے`JXQ|ZdQbbHAZdQZ|lZHAbf~HbHAZpvpfH`JXQf~HbHAZpbdQZ|JXQr~HfbHAZpvpfH`JXQr~HfbHAZpvpfHHAbےvnXbHAZdvpfHJXQr~HfpbHAZpvpfH˂p`Zf۝`vr˂ptlJp˂rtbnے`JXQfpv˂rX~f`r˂pfpv˂rXdtAJl˂p`pvn˂rXQ~f`˂pZpvn˂rXQ~f``JXQrv`frtAJl~f`˂pZHvnXrXQ~f`QXb㉀XnvˍZHAbtArdXQJ`ےvp`r˂pnXv`QJ`ےvXnZHAbnXv`QJ`ےtbJXQrXv`fJ`ےvXnHAbےXv`fJ`ےvXn˂p`~HfpۑtbdvXnAے`v`fJ`ےvXnۑpJAHrpfH~ے`JXQ|ZdQbbHAZvXnZAb`f~HbHAZpvpfH`JXQf~HbHAZpnvp`pZHA㐕~HfbHAZpvpfH`JXQr~HfbHAZpvpfHJXQrvnXvQZ|dvpfHJXQrbt~HfpbHAZpvpfH󙐂ˁ`Zf۝`vr˂ptlJp˂rvpfHJXQrfpv˂rX~f`r˂pfpv˂rXvXnbے`pvn˂rXQ~f`˂pZpvn˂rXQ~f`˂pZHAf~HfrtAJl~f`lJtvnXrXQ~f`QXb㉀XnvˍZHAbtArdXQJ`ے~f`pZHAnXv`QJ`ےvXnZHAbnXv`QJ`ےvpfHJXQrXv`fJ`ےvXnHAbےXv`fJ`ےvXnbے`pvntbdvXnAd|v`fJ`ےvXnۑp`ZQp|drے`JXQf~HbHAZvXnbے`f~HbHAZpvpfH`JXQf~HbHAZp~f`p`JX~HfbHAZvpfH`JXQr~HfbHAZpvpfHJXQrXv`fQZ|dvpfHZdQbt~HfpbHAZdvpfHXb㉀ۑQtJlr˂pfpvp˂rvp`vJXQrfpv˂rX~f`r˂pfpv˂rXvXnQrbtpvndrtAJ~f`˂pZpvn˂rXQ~f`˂p`J~HfrtAJl~f`lJtAvnXrtAJl~f`pJAHrtbAdZZHAbnXv`XQJ`ےXnvpZA`nXv`QJ`ےvXnZHAbnXv`QJ`ےvp`lJA|Xv`fltbvXnHAے`Xv`fJ`ےvXnXQrbtpvntbdvXnrd|v`ftbdvXnېˁ`ZQ|drے`JXQf~HbHAZpfH~JXQrf~HbHAZpvpfH`JXQf~HbHAZpvXnہZdQbt~HfdQZ|vpfHJXQrb~HfbHAZpvpfHl|ZXv`fQZ|dvpfHZdQbt~HfpQZ|dvpfHXb㉀ۑQtJlr˂pfpvp˂rf`vbtlfpv˂rX~f`r˂pfpv˂rXvpfHlJtpvndrtAJ~f`tlJpvn˂rXQ~f`dQbt~fpvrtAJl~f`lJtAvnXrtAJl~f`pJAHQXbtbAdZZHAbnXv`XQJ`ےXnvJtAd|nXv`QJ`ےvXnZHAbnXv`QJ`ے~f`Ard|Xv`fltbvXntAd|Xv`fJ`ےvXnlJtArnXv`tbdvXnrd|v`ftbdvXn㉀ۑpJ|drے`JXQf~HbHAZpfHXZdQbtf~HbHAZvpfH`JXQf~HbHAZpvXnہZdQbt~HfdQZ|vpfHZdQbt~HfbHAZvpfHd|Zf~HQZ|dvpfHZdQbt~HfpQZ|dvpfHAHr󙐂QtJlr˂pfpvp˂rnvplJtfpvdrtA~f`r˂pfpv˂rXvpfHXlJArpvndrtAJ~f`lJtApvndrtAJ~f`dQbt璅fpvrtAJl~f`lJtAvnXrtAJl~f`ˁ`ZQXbtbAdZZHAbnXv`XQJ`ےfH~Ard|nXv`JltvXnZHAے`nXv`QJ`ےnvp|ZdQXv`fltbvXnrd|Xv`fltbvXnl|ZdQnXv`tbdvXnrd|v`ftbdvXn㉀ۑpJ|drے`JXQf~HbHAZf`vXZdQbtf~HbdQZ|vpfHJXQrf~HbHAZpfH~btl~HfdQZ|vpfHZdQbt~HfdQZ|vpfHbtlffpQZ|dvpfHZdQbt~HfpQZ|dvpfHAHr󙐉QtJlr˂pfpvp˂rnvplJtfpvdrtA~f`btlfpv˂rXf`vXJtArdpvndrtAJ~f`lJtApvndrtAJ~f`JtArdvnrXrtAJl~f`lJtAvnXrtAJl~f`ۑpJAtbAdZZHAbnXv`XQJ`ےfH~Ard|nXv`JltvXnJtAd|nXv`QJ`ےnvp|ZdQXv`fltbvXnrd|Xv`fltbvXn|ZdQQJ`ےtbdvXnrd|v`ftbdvXnHr󙐂ˁ|drے`JXQf~HbHAZvpfZdQbtf~HbdQZ|vpfHZdQbtf~HbHAZfH~btl~HfdQZ|vpfHZdQbt~HfdQZ|vpfHbtlHAZpQZ|dvpfHZdQbt~HfpQZ|dvpfH`ZQXbQtJlr˂pfpvp˂rH~flJtfpvdrtA~f`lJtfpvdrtAvpJtArpvndrtAJ~f`lJtApvndrtAJ~f`JtAdQbrXQrtAJl~fZHlJtAvnXrtAJl~f`ۑpJAtbAdZZHAےnXv`XQJ`ے`vXnArd|nXv`JltvXnArd|nXv`JltfH~ZdQbtXv`fltbvXnrd|Xv`fltbvXntlJJ`ےtbdAbے`rd|v`ftbdvXnHr󙐂ˁ|dr`JXQrf~HbHAZvpfZdQbtf~HbdQZ|vpfHZdQbtf~HbdQZ|f`vXlJtAHfpdQZ|vpfHZdQbt~HfdQZ|vpfHtArdbHAZpQZ|dJXQrZdQbtHfpQZ|dvpfH`pJAHrQtJlbtlfpvp˂rH~flJtfpvdrtA~f`lJtfpvdrtAnvprd|vnrdrtAJ~f`lJtApvndrtAJ~f`|ZdQbrXQrtAJl˂pZHlJtAvnrXrtAJl~f`󙐂ˁ`ZtbAdZJtAdnXv`XQJ`ے`pfHArd|nXv`JltvXnArd|nXv`JltfH~ZdQbtXQJ`ےltbvXnrd|Xv`fltbvXntlJJ`ےtbdAbے`rd|QJ`ےtbdvXnQXb㉀|dr|ZdQbf~HbHAZ~f`ZdQbtf~HbdQZ|vpfHZdQbtf~HbdQZ|f`pfHlJtAHAZpdQZ|vpfHZdQbt~HfdQZ|vpfHtArdtbHAZpQZ|dJXQrZdQbtHAZpQZ|dvpfHۑpJAHrQtJltlJfpvdrtAvXnlJtfpvdrtA~f`lJtfpvdrtA~f`rdZQb˂rXQdrtAJ~fZlJtApvndrtAJ~f`lJtArXQrtAJl˂pZHlJtArXQrtAJl~fr󙐂ˁ`tbAdZtArdnXv`dQZ|vpfHArd|nXv`JltvXnArd|nXv`JltvXntlJJ`ےltbHAbےrd|Xv`fltbvXnrd|J`ےtbdAbے`rd|J`ےtbd˂pZHpfH~|dr|ZdQbf~HdrtAJ~f`ZdQbtfHfpbdQZ|vpfHZdQbtf~HbdQZ|vpfHtArdbHAZpdQZ|`JXQrZdQbtHfpdQZ|vpfHZdQbtbHAZpQZ|dJXQrZdQbtbHAZpQZ|dAbے`f۝`vQtJltlJfpvltbvXH~lJtvndrtA~f`lJtfpvdrtA~f`|ZdQb˂rXQdrtAJ˂pZlJtAvnrdrtAJ~f`lJtArXQrtAJl˂pZHlJtArXQrtAJlJXQrXnvˍtbAdZtArdnXv`dQZ|fZHAArd|rXQJ`JltvXnArd|nXv`JltvXHtlJJ`ےltbHAbےrd|XQJ`ےltbvXnrd|J`ےtbdAbے`rd|J`ےtbd˂pZHpfH~|dr|ZdQbf~HdrtAJbJQZdQbtHAZpbdQZ|vpfHZdQbtf~HbdQZ|~fZHtArdbHAZpdQZ|`JXQrZdQbtHAZpdQZ|vpfHlJtArbHAZpQZ|dJXQrZdQbtbHAZpQZ|dAbے`f۝`vQtJltlJfpvl|dr˂plJt˂rXdrtA~flJtfpvdrtAAb|ZQbl˂rXQdrtAJ˂pZlJtA˂rXQdrtAJ~fZd|ZrXQrtAJl˂pZHlJtArXQrtAJlpZHAXnvˍtbAdZtArdnXv`rtAJlZHAbArd|QJ`ےJltZHAbArd|nXv`JltpZHAJtArdJ`ےltbHAbےrd|J`ےltbHAbdQbtJ`ےtbdAbے`rd|J`ےtbdbے`pfH~|dr|ZdQbf~HtbdQ`JXQZdQbtbHAZpbdQZ|`JXQZdQbtfHfpbdQZ|bے`|ZdbHAZpdQZ|`JXQrZdQbtbHAZpdQZ|˂pZHAlJtArbHAZpQZ|dJXQrZdQbtbHAZpQZ|dJXQrːf۝`vQtJltlJfpvZ|dr˂plJt˂rXdrtAr˂plJtvndrtAJXQrQbtl˂rXQdrtAJ˂pZlJtA˂rXQdrtAJbے`d|ZrXQtAJl˂pZHlJtArXQrtAJlpZHAXnvˍtbAdZ|-----------------------............................ \ No newline at end of file diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv31_3.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv31_3.dat deleted file mode 100644 index c72dfda015..0000000000 --- a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv31_3.dat +++ /dev/null @@ -1,281 +0,0 @@ -{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvqrqrqrqropopopopmnmnmnmnijijijijhghghghgfefefefedcdcdcdc`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYVUVUVUVUTSTSTSTSRQRQRQRQ{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvqrqrqrqropopopopmnmnmnmnijijijiihghghghgfefefefedcdcdcdc`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYVUVUVUVUTSTSTSTSRQRQRQRQ{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvqrqrqrqropopopopmnmnmnmniiiijijihghghghgfefefefedcdcdcdc`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYVUVUVUVUTSTSTSTSRQRQPOPO{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvqrqrqrqropopopopmnmnmnmnjijijijihghghghgfefefefebabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYVUVUVUVUTSTSTSTSPOPOOOOO~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvqrqrqrqropopopopmnmnmnmnjijijijihghghghgfefefefebabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYVUVUVUVUTSTSTSTSOPOPOPOP}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvqrqrqrqropopopopmnmnmnmnjijijijihghghghgfefefefebabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYVUVUVUVUTSTSTSTSOPOPOPOP}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvqrqrqrqropopopopmnmnmnmnjijijijihghghghgfefefefebabababa`_`_`_`_^]^]^]^]\[\[\[\[XWXWXWXWVUVUVUVUTSTSTSTSOPOPOPOP}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxutstststqrqrqrqropopopopmnmnmnmnjijijiiihghghghgfefefefebabababa`_`_`_`_^]^]^]^]\[\[\[\[XWXWXWXWVUVUVUVUTSTSTSTSOPOPOPOP}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxststststqrqrqrqropopopopmnmnmnmniiijijijhghghghgfefefefebabababa`_`_`_`_^]^]^]^]\[\[\[\[XWXWXWXWVUVUVUVUTSTSTSTSOPOPOPOP}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxststststqrqrqrqropopopopmnmnmnmnijijijijhghghghgfefefefebabababa`_`_`_`_^]^]^]^]\[\[\[\[XWXWXWXWVUVUVUVUTSTSTSTSOPOOOOOO}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxststststqrqrqrqropopopopmnmnmnmlijijijijhghghghgfefefefebabababa`_`_`_`_^]^]^]^]\[\[\[\[XWXWXWXWVUVUVUVUTSTSTSTSPOPOPOPO}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxststststqrqrqrqropopopopklklklklijijijijhghghghgdcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[XWXWXWXWVUVUVUVUTSTSTSTSPOPOPOPO}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxststststqrqrqrqropopopopklklklklijijijijhghghghgdcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[XWXWXWXWVUVUVUVUTSTSTSTSPOPOPOPO}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxststststqrqrqrqropopopopklklklklijijiiiihghghghgdcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[XWXWXWXWVUVUVUVUTSTSTSTSPOPOPOPO}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxststststqrqrqrqropopopopklklklkliijijijihghghghgdcdcdcdcbabababa`_`_`_`_^]^]^]^]ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSPOPOPOPO}~}~}~}~{|{|{|{|yzyzyzyzwvuvuvuvststststqrqrqrqropopopopklklklkljijijijihghghghgdcdcdcdcbabababa`_`_`_`_^]^]^]^]ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSPOOOOOOP}~}~}~}~{|{|{|{|yzyzyzyzuvuvuvuvststststqrqrqrqropopopopklklklkljijijijihghghghgdcdcdcdcbabababa`_`_`_`_^]^]^]^]ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSOPOPOPOP}~}~}~}~{|{|{|{|yzyzyzyzuvuvuvuvststststqrqrqrqropopopopklklklkljijijijihghghghgdcdcdcdcbabababa`_`_`_`_^]^]^]^]ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSRQOPOPOPOP}~}~}~}~{|{|{|{|yzyzyzyzuvuvuvuvststststqrqrqrqropopopopklklklkljijijijihghghghgdcdcdcdcbabababa`_`_`_`_^]^]^]^]ZYZYZYZYXWXWXWXWVUVUVUVURQRQRQRQOPOPOPOP}~}~}~}~{|{|{|{|yzyzyzyzuvuvuvuvststststqrqrqrqropopopopklklklkljijiiiiifefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]ZYZYZYZYXWXWXWXWVUVUVUVURQRQRQRQOPOPOPOP}~}~}~}~{|{|{|{|yzyzyzyzuvuvuvuvststststqrqrqrqropopopopklklklklijijijijfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]ZYZYZYZYXWXWXWXWVUVUVUVURQRQRQRQOPOPOPOP}~}~}~}~{|{|{|{|yzyzyzyzuvuvuvuvststststqrqrqrqropopopopklklklklijijijijfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]ZYZYZYZYXWXWXWXWVUVUVUVURQRQRQRQOOOOOOPO}~}~}~}~{|{|{|{|yzyzyzyzuvuvuvuvststststqrqrqrqropopopopklklklklijijijijfefefefedcdcdcdcbabababa`_`_`_`_\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVURQRQRQRQPOPOPOPO}~}~}~}~{|{|{|{|yxwxwxwxuvuvuvuvststststqrqrqrqropopopopklklklklijijijijfefefefedcdcdcdcbabababa`_`_`_`_\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVURQRQRQRQPOPOPOPO}~}~}~}~{|{|{|{|wxwxwxwxuvuvuvuvststststqrqrqrqropopopopklklklklijijijijfefefefedcdcdcdcbabababa`_`_`_`_\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVURQRQRQRQPOPOPOPO}~}~}~}~{|{|{|{|wxwxwxwxuvuvuvuvststststqrqrqrqropopopopklklklklijiiiiiifefefefedcdcdcdcbabababa`_`_`_`_\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVURQRQRQRQPOPOPOPO}~}~}~}~{|{|{|{|wxwxwxwxuvuvuvuvststststqrqrqrqronmnmnmnklklklkljijijijifefefefedcdcdcdcbabababa`_`_`_`_\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVURQRQRQRQPOPOPOPO}~}~}~}~{|{|{|{|wxwxwxwxuvuvuvuvststststqrqrqrqrmnmnmnmnklklklklhghghghgfefefefedcdcdcdcbabababa`_`_`_`_\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVURQRQRQRQOOOOOPOP}~}~}~}~{|{|{|{|wxwxwxwxuvuvuvuvststststqrqrqrqrmnmnmnmnklklklklhghghghgfefefefedcdcdcdcbabababa`_`_`_`_\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVURQRQRQRQOPOPOPOP}~}~}~}~{|{|{|{|wxwxwxwxuvuvuvuvststststqrqrqrqrmnmnmnmnklklklklhghghghgfefefefedcdcdcdcbabababa`_`_`_`_\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVURQRQRQRQOPOPOPOP}~}~}~}~{|{|{|{|wxwxwxwxuvuvuvuvststststqrqrqrqrmnmnmnmnklklklklhghghghgfefefefedcdcdcdcbabababa^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVURQRQRQRQOPOPOPOP}~}~}~}~{zyzyzyzwxwxwxwxuvuvuvuvststststqrqrqrqrmnmnmnmnklklklklhghghghgfefefefedcdcdcdcbabababa^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVURQRQRQRQOPOPOPOP}~}~}~}~yzyzyzyzwxwxwxwxuvuvuvuvststststqrqrqrqrmnmnmnmnklklklklhghghghgfefefefedcdcdcdcbabababa^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVURQRQRQRQOPOOOOOP}~}~}~}~yzyzyzyzwxwxwxwxuvuvuvuvststststqrqrqrqrmnmnmnmnklklklklhghghghgfefefefedcdcdcdcbabababa^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWTSTSTSTSRQRQRQRQOPOPOPON}~}~}~}~yzyzyzyzwxwxwxwxuvuvuvuvststststqpopopopmnmnmnmnklklklklhghghghgfefefefedcdcdcdcbabababa^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWTSTSTSTSRQRQRQRQMNMNMNMN}~}~}~}~yzyzyzyzwxwxwxwxuvuvuvuvststststopopopopmnmnmnmnklklklklhghghghgfefefefedcdcdcdcbabababa^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWTSTSTSTSRQRQRQRQMNMNMNMN}~}~}~}~yzyzyzyzwxwxwxwxuvuvuvuvststststopopopopmnmnmnmnklklklklhghghghgfefefefedcdcdcdcbabababa^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWTSTSTSTSRQRQRQRQMNMNMNMN}~}~}~}~yzyzyzyzwxwxwxwxuvuvuvuvststststopopopopmnmnmnmnklklklklhghghghgfefefefedcdcdcdcbabababa^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWTSTSTSTSRQRQRQRQMNMNMNMN}~}~}~}~yzyzyzyzwxwxwxwxuvuvuvuvststststopopopopmnmnmnmnklklkjijhghghghgfefefefedcdcdcdc`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWTSTSTSTSRQRQRQRQMNMNMNMN}|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvststststopopopopmnmnmnmnijijiiiihghghghgfefefefedcdcdcdc`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWTSTSTSTSRQRQRQRQMNMNMNMN{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvststststopopopopmnmnmnmnijijijijhghghghgfefefefedcdcdcdc`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWTSTSTSTSRQRQRQRQMNMNMNMN{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvststststopopopopmnmnmnmnijijijijhghghghgfefefefedcdcdcdc`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYVUVUVUVUTSTSTSTSRQRQRQRQMNMNMNMN{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvsrqrqrqropopopopmnmnmnmnijijijijhghghghgfefefefedcdcdcdc`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYVUVUVUVUTSTSTSTSRQRQRQRQMNMNMNMNMNMNMNMNMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>9:9:9:9:7878787843434343212121210/0/0/0/.-.-.-.-*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!     - - - -MNMNMNMNKLKLKLKLIJIJIJIJEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>9:9:9:9:7878787843434343212121210/0/0/0/.-.-.-.-*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!     - - - -MNMNMNMNKLKLKLKLIJIJIJIJEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>9:9:9:9:7878787843434343212121210/0/0/0/.-.-.-.-*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!      - - - -MNMNMNMNKLKLKLKLIJIJIJIJEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=<9:9:9:9:7878787843434343212121210/0/0/0/.-.-.-.-*)*)*)*)('('('('&%&%&%&%$#$#$#$#         - - - -MNMNMNMNKLKLKLKLIJIJIJIJEFEFEFEFCDCDCDCDABABABAB?@?@?@?@;<;<;<;<9:9:9:9:7878787843434343212121210/0/0/0/.-.-.-.-*)*)*)*)('('('('&%&%&%&%$#$#$#$#         - - - -MNMNMNMNKLKLKLKLIJIJIJIJEFEFEFEFCDCDCDCDABABABAB?@?@?@?@;<;<;<;<9:9:9:9:7878787843434343212121210/0/0/0/.-.-.-.-*)*)*)*)('('('('&%&%&%&%$#$#$#$#         - - - -MNMNMNMNKLKLKLKLIJIJIJIJEFEFEFEFCDCDCDCDABABABAB?@?@?@?@;<;<;<;<9:9:9:9:7878787843434343212121210/0/0/0/.-.-.-.-*)*)*)*)('('('('&%&%&%&%$#$#$#$#         - - - -MNMNMNMNKLKLKLKLIJIJIJIJEFEFEFEFCDCDCDCDABABABAB?@?@?@?@;<;<;<;<9:9:9:9:7878787843434343212121210/0/0/0/.-.-.-,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#         - - - -MNMNMNMNKLKLKLKLIJIJIJIHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@;<;<;<;<9:9:9:9:7876565643434343212121210/0/0/0/,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#         - - - -MNMNMNMNKLKLKLKLGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@;<;<;<;<9:9:9:9:5655555643434343212121210/0/0/0/,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#         - - - -MNMNMNMNKLKLKLKLGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@;<;<;<;<9:9:9:9:5656565643434343212121210/0/0/0/,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#"!         - - - -MNMNMNMNKLKLKLKLGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?>;<;<;<;<9:9:9:9:5656565643434343212121210/0/0/0/,+,+,+,+*)*)*)*)('('('('&%&%&%&%"!"!"!"!         - - - -MNMNMNMNKLKLKLKLGHGHGHGHEFEFEFEFCDCDCDCDABABABAB=>=>=>=>;<;<;<;<9:9:9:9:5656565643434343212121210/0/0/0/,+,+,+,+*)*)*)*)('('('('&%&%&%&%"!"!"!"!         - - - -MNMNMNMNKLKLKLKLGHGHGHGHEFEFEFEFCDCDCDCDABABABAB=>=>=>=>;<;<;<;<9:9:9:9:5656565643434343212121210/0/0/0/,+,+,+,+*)*)*)*)('('('('&%&%&%&%"!"!"!"!         - - - -MNMNMNMNKLKLKLKLGHGHGHGHEFEFEFEFCDCDCDCDABABABAB=>=>=>=>;<;<;<;<9:9:9:9:5656555543434343212121210/0/0/0/,+,+,+,+*)*)*)*)('('('('&%&%&%&%"!"!"!"!         - - - -MNMNMNMNKLKLKLKLGHGHGHGHEFEFEFEFCDCDCDCDABABABAB=>=>=>=>;<;<;<;<9:9:9:9:5565656543434343212121210/0/0/.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%"!"!"!"!         - - - -MNMNMNMNKLKLKLKJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB=>=>=>=>;<;<;<;<9:9:9:9:656565654343434321212121.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%"!"!"!"!         - - - -MNMNMNMNIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB=>=>=>=>;<;<;<;<9:9:9:9:656565654343434321212121.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%"!"!"!"!         - - MNMNMNMNIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB=>=>=>=>;<;<;<;<9:9:9:9:656565654343434321212121.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%$#"!"!"!"!         MNMNMNMNIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABA@=>=>=>=>;<;<;<;<9:9:9:9:656565654343434321212121.-.-.-.-,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"!         MNMNMNMNIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:656555554343434321212121.-.-.-.-,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"!         MNMNMNMNIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:565656564343434321212121.-.-.-.-,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"!         MNMNMNMNIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:565656564343434321212121.-.-.-.-,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"!         MNMNMNMNIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>;<;<;<;<9:9:987856565656434343432121210/.-.-.-.-,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"!         MNMNMNMLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>;<;<;<;<7878787856565656434343430/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"!         KLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>;<;<;<;<7878787856565656434343430/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"!         - -KLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>;<;<;<;<7878787856555555434343430/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('&%$#$#$#$#"!"!"!"!         - - - -KLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCB?@?@?@?@=>=>=>=>;<;<;<;<7878787865656565434343430/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#"!"!"!"!         - - - -KLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFABABABAB?@?@?@?@=>=>=>=>;<;<;<;<7878787865656565434343430/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#"!"!"!"!         - - - -KLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFABABABAB?@?@?@?@=>=>=>=>;<;<;<;<7878787865656565434343430/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#"!"!"!"!         - - - -KLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFABABABAB?@?@?@?@=>=>=>=>;<;<;<;<7878787865656565434343430/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#"!"!"!"!       - - - -KLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFABABABAB?@?@?@?@=>=>=>=>;<;<;<;<7878787865656565434343210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#"!"!"!"!     - - - -KLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFABABABAB?@?@?@?@=>=>=>=>;<;<;<;<7878787865555556212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#"!"!"!"!     - - - -KLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFABABABAB?@?@?@?@=>=>=>=>;<;<;<;<7878787856565656212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#"!"!"!"!   - - - -KLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFABABABAB?@?@?@?@=>=>=>=>;<;<;<;<7878787856565656212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)('&%&%&%&%$#$#$#$#"!"!"!"! - - - -KLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<7878787856565656212121210/0/0/0/.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#$#"!"!"!"! - - - -KLKLKLKLIJIJIJIJGHGHGHGHCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<7878787856565656212121210/0/0/0/.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#$#"!"!"!"! - - - -KLKLKLKLIJIJIJIJGHGHGHGHCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<7878787856565656212121210/0/0/0/.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#$#"!"!"!"! - - - -KLKLKLKLIJIJIJIJGHGHGHGHCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;:7878787855555565212121210/0/0/0/.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#$#"!"!"!"! - - - -KLKLKLKLIJIJIJIJGHGHGHGHCDCDCDCDABABABAB?@?@?@?@=>=>=>=>9:9:9:9:7878787865656543212121210/0/0/0/.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#$#"!"!"!"! - - - -KLKLKLKLIJIJIJIJGHGHGHGHCDCDCDCDABABABAB?@?@?@?@=>=>=>=>9:9:9:9:7878787843434343212121210/0/0/0/.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#$#"!"!"!"! - - - -KLKLKLKLIJIJIJIJGHGHGHGHCDCDCDCDABABABAB?@?@?@?@=>=>=>=>9:9:9:9:7878787843434343212121210/0/0/0/.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#$#"!"!"!"!  - - - -KLKLKLKLIJIJIJIJGHGHGHGHCDCDCDCDABABABAB?@?@?@?@=>=>=>=>9:9:9:9:7878787843434343212121210/0/0/0/.-.-.-.-,+,+,+*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!     - - - -11223344((''&&%%aa``__^^\]]^^__` }||{{zzy01122334=<<;;::9pqqrrsstihhggffeWXXYYZZ[LLKKJJIIaabbccdd - - xxwwvvuu5566778888776655uuvvwwxx - - ZZYYXXWW~~55667788$$##""!!]]\\[[ZZ`aabbccd - - yxxwwvvu4556677898877665tuuvvwwx - - eddccbba[\\]]^^_HHGGFFEEeeffgghhttssrrqq99::;;<<44332211yyzz{{|| VVUUOONN99::;;<<YYXXWWVVdeeffggh uttssrrq899::;;<54433221xyyzz{{| a``__^^]_``aabbc !!""DDCCBBAAiijjkkllppoonnmm==>>??@@00//..--}}~~MMLLKKJJ~~}}==>>??@@UUTSRQPOhiijjkklqppoonnm<==>>??@100//..-|}}~~]\\[[ZZYcddeeffg##$$%%&&@@??>>==mmnnooppllkkjjiiAABBCCDD,,++**))IIHHGGFF||{{zzyyAABBCCDDONNMMLLKlmmnnoopmllkkjji@AABBCCD-,,++**)YXXWWVVUghhiioop''(())**<<;;::99qqrrsstthhggffeeEEFFGGHH((''&&%%EEDDCCBBxxwwvvuuEEFFGGHH KJJIIHHGpqqrrsstihhggffeDEEFFGGH)((''&&%UTTSSRRQpqqrrsst++,,--..88776655uuvvwwxx - - ddccbbaaIIJJKKLL$$##""!! AA@@??>>~~}}|ttssrrqqIIJJKKLL - - GFFEEDDCtuuvvwwx - - eddccbbaHIIJJKKL%$$##""! QPPOONNMtuuvvwwx//00112244332211yyzz{{|| ``__^^]]MMNNOOPP !!""##$$==<<;;55|{{zzyyxppoonnmmMMNNOOPP - - CBBAA@@?xyyzz{{| a``__^^]LMMNNOOP!  !!""##$MLLKKJJIxyyzz{{|3344556700//..--}}~~\\[[ZZYYQQRRSSTT%%&&''((44332211xwwvvuutllkkjjiiQQRRSSTT?>>==<<;|}}~~]\\[[ZZYPQQRRSST$%%&&''(IHHGGFFE|}}~~89:;;<<=,,++**))XXWWVVUUUUVVWWXX))**++,,00//..--tssrrqqphhggffeeUUVVWWXX;:987655YXXWWVVUTUUVVWWX())**++,EDDCCBBA=>>??@@A((''&&%%TTSSRRQQYYZZ[[\\~~}}--..//00,,++**))poonmlkjddccbbaaYYZZ[[\\44332211UTTSSRRQXYYZZ[[\~~},--..//0A@@??>>=ABBCCDDE$$##""!! PPOONNMM]]^^__`` ||{{zzyy11223344((''&&%%iihhggff``__^^]]]]^^__``!!""00//..-- QPPOONNM\]]^^__` }||{{zzy01122334=<<;;::9EFFGGHHI !!""##$$LLKKJJIIaabbccdd - - xxwwvvuu55667788$$##""!!eeddccbb\\[[ZZYYaabbccdd##$$%%&&,,++**)) !!""##$MLLKKJJI`aabbccd - - yxxwwvvu4556677898877665IJJKKLLM%%&&''((HHGGFFEEeeffgghhttssrrqq99::;;<<aa``__^^XXWWVVUUeeffgghh''(())**((''&&%%$%%&&''(IHHGGFFEdeeffggh uttssrrq899::;;<54433221~~}}||{MNNOOPQR))**++,,DDCCBBAAiijjkkllppoonnmm==>>??@@]]\\[[ZZTTSSRRQQiijjkkll++,,--..$$##""!!())**++,EDDCCBBAhiijjkklqppoonnm<==>>??@100//..-{zzyyxxwSTUUVVWW~~}}--..//00@@??>>==mmnnooppllkkjjiiAABBCCDDYYXXWWVVPPOONNMMmmnnoopp//001122 ~~},--..//0A@@??>>=lmmnnoopmllkkjji@AABBCCD-,,++**)wvvuuttsXXYYZZ[[ ||{{zzyy11223344<<;;::99qqrrsstthhggffeeEEFFGGHH UUTSRQPOLLKKJJIIqqrrsstt334455;;}||{{zzy01122334=<<;;::9pqqrrsstihhggffeDEEFFGGH)((''&&%srrqqppo\\]]^^__ - - xxwwvvuu5566778888776655uuvvwwxx - - ddccbbaaIIJJKKLL - - ONNMMLLKHHGGFFEEuuvvwwxx<<==>>??yxxwwvvu4556677898877665tuuvvwwx - - eddccbbaHIIJJKKL%$$##""!oiihhggf``aabbccttssrrqq99::;;<<44332211yyzz{{|| ``__^^]]MMNNOOPPKJJIIHHGDDCCBBAAyyzz{{||@@AABBCCuttssrrq899::;;<54433221xyyzz{{| a``__^^]LMMNNOOP! feeddccbddeeffggppoonnmm==>>??@@00//..--}}~~\\[[ZZYYQQRRSSTT GFFEEDDC@@??>>==}}~~DDEEFFGG -qppoonnm<==>>??@100//..-|}}~~]\\[[ZZYPQQRRSSTbaa``__^hhiijklmllkkjjiiAABBCCDD,,++**))XXWWVVUUUUVVWWXX - - CBBAA@@?<<;;::99HHIIJJKK - mllkkjji@AABBCCD-,,++**)YXXWWVVUTUUVVWWX^]]\\[[ZnooppqqrhhggffeeEEFFGGHH((''&&%%TTSSRRQQYYZZ[[\\?>>==<<;88776655LLMMNNOOihhggffeDEEFFGGH)((''&&%UTTSSRRQXYYZZ[[\ZYYXXWWVrssttuuv - - ddccbbaaIIJJKKLL$$##""!! PPOONNMM]]^^__``;:98765544332211UUVVWWXX - - eddccbbaHIIJJKKL%$$##""! QPPOONNM\]]^^__` VUUOONNMvwwxxyyz ``__^^]]MMNNOOPP !!""##$$LLKKJJIIaabbccdd4433221100//..--YYZZ[[\\ a``__^^]LMMNNOOP!  !!""##$MLLKKJJI`aabbccd - - MLLKKJJIz{{||}}~\\[[ZZYYQQRRSSTT%%&&''((HHGGFFEEeeffgghh!!""00//..--,,++**))]]^^__``]\\[[ZZYPQQRRSST$%%&&''(IHHGGFFEdeeffggh IHHGGFFE~XXWWVVUUUUVVWWXX))**++,,DDCCBBAAiijjkkll##$$%%&&,,++**))((''&&%%~~}}||aabbccddYXXWWVVUTUUVVWWX())**++,EDDCCBBAhiijjkklEDDCCBBATTSSRRQQYYZZ[[\\~~}}--..//00@@??>>==mmnnoopp''(())**((''&&%%$$##""!!{{zzyyxxeeffgghhUTTSSRRQXYYZZ[[\~~},--..//0A@@??>>=lmmnnoopA@@??>>= PPOONNMM]]^^__`` ||{{zzyy11223344<<;;::99qqrrsstt++,,--..$$##""!! wwvvuuttiiooppqq QPPOONNM\]]^^__` }||{{zzy01122334=<<;;::9pqqrrsst - - =<<;;554!!""##$$LLKKJJIIaabbccdd - - xxwwvvuu5566778888776655uuvvwwxx//001122 ssrrqqpprrssttuu !!""##$MLLKKJJI`aabbccd - - yxxwwvvu4556677898877665tuuvvwwx 43322110%%&&''((HHGGFFEEeeffgghhttssrrqq99::;;<<44332211yyzz{{||334455;;ooiihhggvvwwxxyy$%%&&''(IHHGGFFEdeeffggh uttssrrq899::;;<54433221xyyzz{{|0//..--,))**++,,DDCCBBAAiijjkkllppoonnmm==>>??@@00//..--}}~~<<==>>??ffeeddcczz{{||}}())**++,EDDCCBBAhiijjkklqppoonnm<==>>??@100//..-|}}~~,++**))(~~}}--..//00@@??>>==mmnnooppllkkjjiiAABBCCDD,,++**))@@AABBCC bbaa``__~~,--..//0A@@??>>=lmmnnoopmllkkjji@AABBCCD-,,++**)!(''&&%%$||{{zzyy11223344<<;;::99qqrrsstthhggffeeEEFFGGHH((''&&%%DDEEFFGG - - - ^^]]\\[[01122334=<<;;::9pqqrrsstihhggffeDEEFFGGH)((''&&%!""##$$%$##""!!xxwwvvuu5566778888776655uuvvwwxx - - ddccbbaaIIJJKKLL$$##""!!HHIIJJKK -  - - ZZYYXXWW4556677898877665tuuvvwwx - - eddccbbaHIIJJKKL%$$##""!%&&''(()ttssrrqq99::;;<<44332211yyzz{{|| ``__^^]]MMNNOOPP LLMMNNOO VVUUOONN899::;;<54433221xyyzz{{| a``__^^]LMMNNOOP! )**++,,-ppoonnmm==>>??@@00//..--}}~~\\[[ZZYYQQRRSSTTUUVVWWXXMMLLKKJJ<==>>??@100//..-|}}~~]\\[[ZZYPQQRRSST-..//001llkkjjiiAABBCCDD,,++**))XXWWVVUUUUVVWWXX~~}}||YYZZ[[\\ IIHHGGFF~~}}|@AABBCCD-,,++**)YXXWWVVUTUUVVWWX12233445 hhggffeeEEFFGGHH((''&&%%TTSSRRQQYYZZ[[\\{{zzyyxx]]^^__`` - - EEDDCCBB|{{zzyyxDEEFFGGH)((''&&%UTTSSRRQXYYZZ[[\~~}5;;<<==> - - ddccbbaaIIJJKKLL$$##""!! PPOONNMM]]^^__`` wwvvuuttaabbccdd  AA@@??>>xwwvvuutHIIJJKKL%$$##""! QPPOONNM\]]^^__` }||{{zzy>??@@AAB``__^^]]MMNNOOPP !!""##$$LLKKJJIIaabbccdd - - ssrrqqppeeffgghh!!""##$$==<<;;55tssrrqqpLMMNNOOP!  !!""##$MLLKKJJI`aabbccd - - yxxwwvvuBCCDDEEF\\[[ZZYYQQRRSSTT%%&&''((HHGGFFEEeeffgghhooiihhggiiooppqq%%&&''((44332211poonmlkjPQQRRSST$%%&&''(IHHGGFFEdeeffggh uttssrrqFGGHHIIJ - - XXWWVVUUUUVVWWXX))**++,,DDCCBBAAiijjkkllffeeddccrrssttuu))**++,,00//..--iihhggffTUUVVWWX())**++,EDDCCBBAhiijjkklqppoonnmJKKLLMMN TTSSRRQQYYZZ[[\\~~}}--..//00@@??>>==mmnnooppbbaa``__vvwwxxyy !--..//00,,++**))eeddccbbXYYZZ[[\~~},--..//0A@@??>>=lmmnnoopmllkkjjiNOOUUVVWPPOONNMM]]^^__`` ||{{zzyy11223344<<;;::99qqrrsstt^^]]\\[[zz{{||}}!""##$$%%&&''(())**++,,-DCCBBAA@ijjkkllmpoonnmml=>>??@@A0//..--,}~~+**))(('~~}}||..//0011??>>==<>==3221100/z{{||}}~_^^]]\\[NOOPPQQR544332215667788987766554uvvwwxxy - - dccbbaa`IJJKKLLM$##""!! &''(())*ssrrqqpp::;;<<==33221100zz{{||}}__^^]]\\NNOOPPQQMMNNOOUUonnmmllk>??@@AAB/..--,,+~[ZZYYXXWRSSTTUUV100//..-9::;;<<=43322110yzz{{||} `__^^]]\MNNOOPPQ *++,,--.oonnmmll>>??@@AA//..--,,~~[[ZZYYXXRRSSTTUUVVWWXXYYkjjiihhgBCCDDEEF+**))(('WVVUUTTSVWWXXYYZ-,,++**)=>>??@@A0//..--,}~~\[[ZZYYXQRRSSTTU.//00112kkjjiihhBBCCDDEE++**))((WWVVUUTTVVWWXXYY~~}}||{{ZZ[[\\]] -gffeeddcFGGHHIIJ'&&%%$$#SRRQQPPOZ[[\\]]^!!""#)((''&&%ABBCCDDE,++**))(XWWVVUUTUVVWWXXY2334455; -ggffeeddFFGGHHII''&&%%$$SSRRQQPPZZ[[\\]]zzyyxxww^^__``aa - cbbaa``_JKKLLMMN#""!!  !!"ONNMMLLK^__``aab#$$%%&&'%$$##""!EFFGGHHI(''&&%%$TSSRRQQPYZZ[[\\]~~}}|;<<==>>? - ccbbaa``JJKKLLMM##""!!  !!OONNMMLL^^__``aa vvuuttssbbccddee_^^]]\\[NOOPPQQR"##$$%%&KJJIIHHGbccddeef'(())**+! IJJKKLLM$##""!!  !POONNMML]^^__``a |{{zzyyx?@@AABBC__^^]]\\NNOOPPQQ""##$$%%KKJJIIHHbbccddee - - rrqqppooffgghhii[ZZYYXXWRSSTTUUV&''(())*GFFEEDDCfgghhiij+,,--../MNNOOPPQ !""##$$%LKKJJIIHabbccdde - - xwwvvuutCDDEEFFG [[ZZYYXXRRSSTTUU&&''(())GGFFEEDDffgghhiiiihhggffooppqqrrWVVUUTTSVWWXXYYZ*++,,--.CBBAA@@?jkkllmmn/0011223QRRSSTTU%&&''(()HGGFFEEDeffgghhitssrrqqpGHHIIJJK - - WWVVUUTTVVWWXXYY**++,,--CCBBAA@@jjkkllmmeeddccbbssttuuvvSRRQQPPOZ[[\\]]^~~}}||{.//00112?>>==<<;nooppqqr34455;;<UVVWWXXY)**++,,-DCCBBAA@ijjkkllmpoonnmmlKLLMMNNO SSRRQQPPZZ[[\\]]~~}}||..//0011??>>==<>??@ YZZ[[\\]~~}}|-..//001@??>>==3221100/z{{||}}~DEEFFGGH - - abbccdde - - xwwvvuut5667788987766554uvvwwxxy - - dccbbaa`\]]^^__`GGFFEEDDffgghhiissrrqqpp::;;<<==33221100zz{{||}}UUOONNMM*++,,--.CBBAA@@?jkkllmmnonnmmllk>??@@AAB/..--,,+~HIIJJKKL effgghhitssrrqqp9::;;<<=43322110yzz{{||} `__^^]]\`aabbccd !!""##CCBBAA@@jjkkllmmoonnmmll>>??@@AA//..--,,~~LLKKJJII.//00112?>>==<<;nooppqqrkjjiihhgBCCDDEEF+**))(('LMMNNOOUijjkkllmpoonnmml=>>??@@A0//..--,}~~\[[ZZYYXdeeffggh$$%%&&''??>>==<>==~~}}||{:;;<<==>3221100/z{{||}}~_^^]]\\[NOOPPQQR]^^__``a uvvwwxxy - - dccbbaa`IJJKKLLM$##""!!  !POONNMMLuvvwwxxy0011223333221100zz{{||}}__^^]]\\NNOOPPQQ""##$$%%<<;;5544{zzyyxxw>??@@AAB/..--,,+~[ZZYYXXWRSSTTUUV~~}}||{abbccdde !!""##$yzz{{||} `__^^]]\MNNOOPPQ !""##$$%LKKJJIIHyzz{{||}44556789//..--,,~~[[ZZYYXXRRSSTTUU&&''(())33221100wvvuuttsBCCDDEEF+**))(('WVVUUTTSVWWXXYYZ{zzyyxxweffgghhi$%%&&''(}~~\[[ZZYYXQRRSSTTU%&&''(()HGGFFEED}~~:;;<<==>++**))((WWVVUUTTVVWWXXYY**++,,--//..--,,srrqqppoFGGHHIIJ'&&%%$$#SRRQQPPOZ[[\\]]^wvvuuttsiooppqqr())**++,XWWVVUUTUVVWWXXY)**++,,-DCCBBAA@>??@@AAB''&&%%$$SSRRQQPPZZ[[\\]]~~}}||..//0011++**))((onmlkjiiJKKLLMMN#""!!  !!"ONNMMLLK^__``aab srrqqpporssttuuv,--..//0TSSRRQQPYZZ[[\\]~~}}|-..//001@??>>==>??@@AA\\[[ZZYYZ[[\\]]^~~}}||{.//00112?>>==<<;nooppqqr^]]\\[[Z~~}<==>>??@)**++,,-DCCBBAA@ijjkkllmpoonnmml=>>??@@A0//..--,zyyxxwwvUUVVWWXX~~}}||..//0011??>>==<>==3221100/z{{||}}~MLLKKJJIuttssrrqHIIJJKKLxwwvvuut5667788987766554uvvwwxxy - - dccbbaa`IJJKKLLM$##""!! ihhggffeaabbccddssrrqqpp::;;<<==33221100zz{{||}}__^^]]\\NNOOPPQQJIIHHGGFjkkllmmnonnmmllk>??@@AAB/..--,,+~IHHGGFFEqppoonnmLMMNNOOPtssrrqqp9::;;<<=43322110yzz{{||} `__^^]]\MNNOOPPQ eddccbbaeeffgghhoonnmmll>>??@@AA//..--,,~~[[ZZYYXXRRSSTTUU - -FEEDDCCBnooppqqrkjjiihhgBCCDDEEF+**))(('EDDCCBBAmllkkjjiPQQRRSSTpoonnmml=>>??@@A0//..--,}~~\[[ZZYYXQRRSSTTUa``__^^]iijklmnokkjjiihhBBCCDDEE++**))((WWVVUUTTVVWWXXYY BAA@@??>rssttuuv -gffeeddcFGGHHIIJ'&&%%$$#A@@??>>=ihhggffeTUUVVWWXlkkjjiihABBCCDDE,++**))(XWWVVUUTUVVWWXXY]\\[[ZZYoppqqrrs ggffeeddFFGGHHII''&&%%$$SSRRQQPPZZ[[\\]]>==<<;;:vwwxxyyz - cbbaa``_JKKLLMMN#""!!  !!"=<<;;554eddccbbaXYYZZ[[\hggffeedEFFGGHHI(''&&%%$TSSRRQQPYZZ[[\\]YXXWWVVUsttuuvvw - - ccbbaa``JJKKLLMM##""!!  !!OONNMMLL^^__``aa98765544z{{||}}~_^^]]\\[NOOPPQQR"##$$%%&43322110a``__^^]\]]^^__`dccbbaa`IJJKKLLM$##""!!  !POONNMML]^^__``a UOONNMMLwxxyyzz{__^^]]\\NNOOPPQQ""##$$%%KKJJIIHHbbccddee33221100~[ZZYYXXWRSSTTUUV&''(())*0//..--,]\\[[ZZY`aabbccd`__^^]]\MNNOOPPQ !""##$$%LKKJJIIHabbccdde - - LKKJJIIH{||}}~~[[ZZYYXXRRSSTTUU&&''(())GGFFEEDDffgghhii!!""##//..--,,WVVUUTTSVWWXXYYZ*++,,--.,++**))(YXXWWVVUdeeffggh\[[ZZYYXQRRSSTTU%&&''(()HGGFFEEDeffgghhiHGGFFEEDWWVVUUTTVVWWXXYY**++,,--CCBBAA@@jjkkllmm$$%%&&''++**))((SRRQQPPOZ[[\\]]^~~}}||{.//00112(''&&%%$UTTSSRRQhiijjkklXWWVVUUTUVVWWXXY)**++,,-DCCBBAA@ijjkkllmDCCBBAA@SSRRQQPPZZ[[\\]]~~}}||..//0011??>>==<>==>==< !!OONNMMLL^^__``aa {{zzyyxx22334455;;::9988rrssttuu,,--..//##""!! "##$$%%&KJJIIHHGbccddeef - - wvvuutts6778899:MLLKKJJIpqqrrsstPOONNMML]^^__``a |{{zzyyx12233445<;;::998qrrssttu - - <;;55443""##$$%%KKJJIIHHbbccddee - - wwvvuutt6677889977665544vvwwxxyy00112233&''(())*GFFEEDDCfgghhiijsrrqqppo:;;<<==>IHHGGFFEtuuvvwwxLKKJJIIHabbccdde - - xwwvvuut5667788987766554uvvwwxxy 3221100/&&''(())GGFFEEDDffgghhiissrrqqpp::;;<<==33221100zz{{||}}4455;;<<*++,,--.CBBAA@@?jkkllmmnonnmmllk>??@@AABEDDCCBBAxyyzz{{|HGGFFEEDeffgghhitssrrqqp9::;;<<=43322110yzz{{||}/..--,,+**++,,--CCBBAA@@jjkkllmmoonnmmll>>??@@AA//..--,,~~==>>??@@~~}}||{.//00112?>>==<<;nooppqqrkjjiihhgBCCDDEEF A@@??>>=|}}~~ZHAbtlJfpvtbdQZf`vXے`JXfpvrXQJ`ۉbdQZ|fH~ˑJtAdf~HےbHf`vXے`JXQtlJnXv`bdQZ|H~fZHAb|ZdQbp˂rrtAJl~f`ے`JXQtArdnXv`|drnvpQr˂pnXv`bHAdrtf`vX|ZdQfpvAZp˂nvpfr˂ptArdfHfdrtA`vXnے`JXQtlJXQJ`ےtdrvXH~r˂p|ZdQbpvntAJlfH~ˑZHAۍf~HZp˂AJltnvpbtlnXv`rXQJ`~f`vZHAb|ZdQbpvnJltvpfr˂ptArdbHAZtAJl璐fZHAZHAbtlJXv`ftbQZdf`vX`JXQfpvrXQJ`ۉbdQZ|fH~JtArdf~HےbHXnvے`JXQtlJrXQJ`bdQZ|H~fZHAb|ZdQbp˂rtbdQZbJQے`JXQtArd~HfrtAJlnvprbtlnXv`bHAdrtf`vX|ZdQfpvAZp`pfH~r˂ptArdےHAZdrtA`vXnے`JXQtlJXQJ`ے|drr˂pr˂p|ZdQbpvntbdfH~ˑJtAdf~HZp˂AJltnvpbtlnXv`bHAf`vZHAb|ZdQbp˂rJltvpfr˂ptArdbHAZtAJlZHAbZHAbtlJXv`pQZ|df`vX|ZdQfpvrXQJ`ۉbdQZ|fH~JtArdf~HZp˂Xnvے`JXQtlJXQJ`ےbdQZ|H~fZHAbf~Hp˂rtbdQtA`JXQے`JXQtArd˂rXQrtAJlnvpbtlnXv`bHAdrtfZHAb|ZdQfpvrXQJ`pfH~r˂ptArdbHAZdrtA`vXnے`JXQfpvXQJ`ےJltr˂pr˂p|ZdQbJ`ےtbdfH~JtArdf~HZp˂AJltے`JXbtlnXv`bHAfvXnZHAb|ZdQbp˂rJltvpfr˂pnXv`bHAZbdQZ|ZHAbZHAbtlJbHAZpQZrtAf`vX|ZdQfpvrXQJ`ۉbdQZ|Qr˂pJtArdf~HZp˂vpfHے`JXQtlJXQJ`ےbdQZ|H~fZHAbf~Hp˂rdrtA`JQrے`JXQtArd˂rXQJltnvpbtlnXv`bHAdrtZHAb|ZdQfpvbHAZ~f`r˂ptArdbHAZdrtA`vXnے`JXQfpvXQJ`ےJltpZHAbr˂p|ZdQbJ`p˂bdQZ|fH~JtArdf~HZp˂AJltے`JXbtlnXv`drtAdvXnZHAbf~Hp˂rJltvpfr˂pnXv`bHAZbdQZ|ے`JZHAbtlJrXQJdrtAfZHAb|ZdQfpvrXQJ`ۉbdQZ|Qr˂pJtArdf~HQZ|dvpfHے`JXQfpvXQJ`ےbdQZ|H~fZHAےf~Hp˂rltbXQr˂ے`JXQtArd`ےbJltے`JXbtlnXv`bHAdtAZHAb|ZdQfpvrtAJl~fvr˂pnXv`bHAZdrtA`vXn`JXQrfpvXQJ`ےdQZ|pZHAbr˂p|ZdQbHAZp˂bdQZ|Qr˂pJtArdf~HZp˂Jltے`JXbtlnXv`tbdnvpZHAbf~Hp˂rJltvpfbtlnXv`bHAZdrtAJے`JZHAbtlJrXQJrAJlZHAb|ZdQfpvrXQJ`bnvpQr˂pJtArdf~HQZ|dfH~ے`JXQfpvXQJ`ےbdQZ|H~fJtAdf~Hp˂rltbXQrZHے`JXQtArd`ےtbdQے`JXbtlnXv`bHAfHˑZHAb|ZdQfpvrtAJlf`vXr˂pnXv`bHAZdrtA`vXn|ZdQbfpvXQJ`ےdQZ|lAbے`r˂p|ZdQbrXQJ`Z|dQr˂pJtArdf~HZp˂f`vXے`JXbtlnXv`|dnvpZHAےf~Hp˂rJltvpftlJnXv`bHAZtbnJXQrZHAbtlJےbHArtAJlZHAb|ZdQfpvrXQJ`nvpQr˂pJtArdf~HrtAJlfH~`JXQrfpvXQJ`ےbdQZ|H~ftArdf~Hp˂rvp`˂pZHے`JXQtArdZp˂tbdQے`JXbtlnXv`bHAfH~ˑZHAb|ZdQfpvtbdQf`vnbtlnXv`bHAZdrtA`vXn|ZdQbfpvXQJ`ےvXnAbے`r˂p|ZdQbrXQJ`Z|dnQr˂pJtArdf~HZp˂f`vXے`JXbtlnXv`Z|dvpfHJtAdf~Hp˂rJltvpftlJnXv`bHAZvpfHJXQrZHAbtlJےbHAvfˑZHAb|ZdQfpvrXQJ`nvpQr˂pJtArdf~HrtAJl~f`|ZdQbfpvXQJ`ےbdQZ|H~ftArdf~Hp˂r~f`ZAbے`JXQtArdXQJ`ےf`vXے`JXbtlnXv`bHAfH~ˑZHAb|ZdQfpvtdrtvXntlJnXv`bHAZdrtAZHAb|ZdQbfpvXQJ`ےvXnے`JXQr˂pf~HbHAZnvpQr˂pJtArdf~HZdrtf`vXے`JXbtlnXv`AJltvpfHtArdf~Hp˂rJltے`JXQtlJnXv`bHAZvp`vr˂pZHAbXv`fp˂rfH~ˑZHAb|ZdQfpvAJltnvpQr˂pJtArdfHbdQZ|~f`|ZdQbfpvXQJ`ےbdQZ|r˂ptArdf~Hp˂rXnvZHAbے`JXQ~HfXQJ`ےf`vXے`JXbtlnXv`bdQZ|fH~ˑZHAb|ZdQfpvdrtvXnvftlJnXv`bHAZdrtAZHAb|ZdQbfpvXQJ`ےpfH~ے`JXQr˂ppvnbHAZnvpQr˂pJtArdf~Hdrtf`vXے`JXbtlnrXQJ`AJltH~ftArdf~Hp˂rJltے`JXQtlJnXv`bHAZf`vr˂pZHAbXv`fp`ےfH~ˑZHAb|ZdQfpvAJltnvpQr˂pJtArdp˂bdQtAZHAb|ZdQbfpvXQJ`ےbdQZ|r˂ptArdf~Hp˂rXnvZAb`ے`JXQ~HfbHAZpf`vXے`JXbtlnXv`bdQZ|fH~ˑZHAb|ZdQrXQJ`Jltے`JXQtlJnXv`bHAZdtAJZHAb|ZdQbfpvXQJ`ےpfHXJXQrr˂pp`f˂rXQnvpQr˂pJtArdfHdrtf`vXے`JXbtlbHAbdQZ|r˂ptArdf~Hp˂rltbے`JXQtlJnXv`bHAZnvppZHAZHAb~HfpJ`ےfH~ˑZHAb|ZdQfpvAJltnvpQr˂pJtArdZp˂drtAZHAb|ZdQbfpvXQJ`ےnvpr˂ptArdf~Hp˂rfH~bے`ے`JXQvnXbHAZpf`vXے`JXbtlnrXQJ`bdQZ|fH~ˑZHAb|ZdQrXQJ`pJltے`JXQtlJnXv`bHAZfHfZHAb|ZdQbfpvXQJ`ےf`vXJXQrr˂pv`f˂bnvpQr˂pJtArdےHAdrtf`vXے`JXbtl˂rXbdQZ|lr˂ptArdf~Hp˂r`vXnے`JXQtlJnXv`bHAZnvppZA`|ZdQb~HfpHAZdfH~ˑZHAb|ZdQZp˂AJltnvpQr˂pJtArdQJ`ےtbdZHAb|ZdQbfpvXQJ`ےvpfr˂ptArdf~HdrtAfH~JXQrtlJv~rtAJf`vXے`JXbtlrXQJ`ۉbdQZ|fH~ˑZHAbf~HbHAZpQZ|dے`JXQtlJnXv`bHAZH~fZHAb|ZdQbfpvdQZ|vpfbtltArdHfpvbdQZ|nvpQr˂pJtArdbHAdrtf`vXے`JXfpv˂rXrtAJlr˂ptArdf~Hp˂r`vXnے`JXQtlJnXv`drtAJH~fJtAd||ZdQbnXvdrtAfH~ˑZHAb|ZdQZp˂AJltnvpQr˂pnXv`QJ`ےtbdZHAb|ZdQbfpvXQJ`ےvpfr˂ptArdf~Hltb`vXnZdQbttlJ`f~Jltf`vXے`JXbtlrXQJ`ۉbdQZ|fH~ˑZHAbf~HrXQQZ|lے`JXQtlJnXv`bHAZH~fZHAb|ZdQbfpvdQZ|vpflJttArdHfpvbdQZ|nvpQr˂pJtArdbHAdrtf`vXے`JXfpvJ`ےtbnr˂ptArdf~HdrtA`vXnے`JXQtlJnXv`drtAJH~fArd||ZdQbnXHdrtAfH~ˑZHAbf~HZp˂AJltnvpQr˂pnXv`bHAZp˅vpfZHAb|ZdQbfpvJltvpfr˂ptArdfHfl|d`pfHZdQbttlJfpvJlbQZf`vXے`JXfpvrXQJ`ۉbdQZ|fH~ˑZHAۍf~HrXQf`vXے`JXQtlJnXv`bdQZ|H~fZHAb|ZdQbpvnrtAJl~f`lJttArdnXv`|drnvpQr˂pnXv`bHAdrtf`vX`JXQfpvJ`ےnvpr˂ptArdf~HdrtA`vXnے`JXQtlJrXQJ`tbdQvXnArd||ZdQbf~HtAJlfH~ˑZHAbf~HZp˂AJltnvprbtlnXv`bHAXQJ`fH~ZHAb|ZdQbfpvJltvpfr˂ptArdےHAZZ|dvpfHZdQbtlJtArd|f~H˂rXtb`JXQlJtnXv`˙bHAZpvXnAbے`~Hf˂rXQltbvpfHtlJXv`fbHAZpdrtAJvXntArdfpvtbdvpfH˂pZHrd|HAZp˙rtAJlvXnۉ˂p`ZXnvˍZdQbtfpvQJ`ےnvpr˂pArd|f~H˂rXvp`JXQrpvnJ`ےdQZ|~f`tAd|~Hf˂rXQltbvpfH|ZdQbnXv`QZ|d~f`Abے`ZdQbt炀rXQtbdvpfHQXb㉀pfH~ㅉlJtnXv`˙bHAZpfHf`ZHAbہZdQbtfpvQJ`ےvXnۉ˂p`Xv`fbHAZpdrtAJvXnZdQbtpvnJ`ےdQZ|~fZtlJffpۙrtAJlvXnہJXQrlJtAJ`ےQZ|d~f`ۑpJAHrf۝`vArd|f~H˂rXvXn`JXQlJtnXv`˙bHAZvpfHJXQrː~Hf˂rXQltbvpfHlJtAXv`fbHAZpdrtAJHAbtArdtvnrXtbdvpfH˂pZHrd|bHAZp˙rtAJlvXn󙐂ˁ`ZXnvˍZdQbtfpvQJ`ےvpfHr˂pArd|f~HdrtA~f`pZHApvnJ`ےdQZ|~f`rd|~Hf˂rXQltb˂pZHAlJtAQJ`ےQZ|d~f`Abے`ZdQbt炀rXQtbdvpfHQXb㉀pfH~ㅉlJtnXv`˙bHAZp~f`ZHAbہZdQbtfpvJltvXnbے`Xv`fbHAZpdrtAJvXnZdQbtpvnJ`ےdQZ|bے`rd|HAZp˙rtAJlvXnہJXQrlJtAJ`ےQZ|d~f`ۑp`ZQf۝`vArd|f~H˂rXvXn`JXQlJtnXv`bdQZ|vpfHXJXQrː~Hf˂rXQltbvpfHlJtAXv`fbHAZpdrtAJJXQrZdQbtrXQtbdvpfH˂pZHrdfbHAZp˙rtAJlvXnXb㉀ۑXnvˍZdQbtfpvQJ`ےvpfHr˂pArd|f~HdrtAnvpp`JXpvnJ`ےdQZ|~fZrd|~Hf˂rXQltb˂pZHAlJtAJ`ےQZ|d~f`Abے`~HfprXQtbdvpfHpJAHrpfH~ㅉlJtnXv`˙bHAZ~f`ZHAbہZdQbtfpvJltfH~QrbtXv`fbHAZpdrtAJHAbےZdQbtpvnJ`ےdQZ|bے`rd|bHAZp˙rtAJlvXnہJXQrvnXJ`ےQZ|d~f`ˁ`ZQf۝`vArd|f~HdrtAvXn`JXQlJtnXv`bdQZ|f`vXlJA|~Hf˂rXQltb`JXQrlJtAXv`fbHAZpdtAJlpZHAblJtArrXQtbdvpfH˂pZHv`fbHAZp˙rtAJlvXnXb㉀ۑXnvˍZdQbtfpvJltvpfHr˂pArd|fHfpdrtAnvpZdQbtpvnJ`ےdQZ|˂pZrd|~Hf˂rXQtbnے`Jd|ZJ`ےQZ|d~f`Abے`~HfprXQtbdvpfHpJAHQXbpfH~ㅉlJtnXv`bdQZ|~f`ZHAbہZdQbtvnJltfH~lJtXv`fbHAZpdrtAJHAbےZdQbtpvnJ`ےvpfXQr˂dQbtbHAZp˙rtAJlvXnہJXQrvnXJ`ےQZ|d~f`㉀ۑpJf۝`vArd|f~HdrtAvXn`JXQlJtrXQJ`bdQZ|vpArd|~Hf˂rXQltb`JXQrlJtAXv`fbHAZpHf`pZHAblJtArrXQtbdvpfH˂pZHv`fbHAZp˙rtAJlvXnAHr󙐂XnvˍZdQbtfpvJltvpfHr˂pArd|HAZpdrtAfH~ˁZdQbtpvnJ`ےdQZ|˂pZrd|~Hf˂rXQvXnے`Jd|ZJ`ےQZ|d~f`Aے`~HfprXQtbdvpfHˁ`ZQXbp|drlJtnXv`bdQZ|~f`ZHAbہZdQbt˂rXJltf`vXlJArXv`fbHAZpdtAJlHAbےZdQbtpvnJ`ےvpfHXQHAbdQtArdbHAZp˙rtAJlvXnJXQrbtvnXJ`ےQZ|d~f`㉀ۑpJQtJlArd|fHfpdrtAvXn`JXQlJtQJ`ےbdQZ|nvp|ZdQ~Hf˂rXQtbn`JXQrlJtAXv`fbHAZp~f`ے`JXQf~rXQtbdvpfHlJtv`fbHAZp˙rtAJlvXnAHr󙐉tbAdZZdQbtvnJltvpfHr˂pArd|bHAZpdrtAfH~btlpvnJ`ےvpf˂pZrd|~Hf˂rXQvXnr˂pHfvnXJ`ےQZ|d~f`Ad|~HfprXQtbdvpfHۑpJA|drlJtrXQJ`bdQZ|~f`ZHAbہZdQbt˂rXJltf`pfHJtArdXv`fbHAZpHf`HAbےZdQbtpvnJ`ےvpfHZHAbv`fbHAZp˙rtAJlvXnZdQbtvnXJ`ےQZ|d~frHr󙐂ˁQtJlArd|HAZpdrtAvXn`JXQlJtQJ`ےbdQZ|~f`|ZdQ~Hf˂rXQvXn`JXQrlJtAXv`fbHAZ~f`ے`JXQ~HfprXQtbdvpfHlJtAv`fbHAZp˙rtAJl˂pZH`ZQXbtbAdZZdQbt˂rXJltvpfHr˂pArd˙bHAZpdrtAvXnbtlpvnJ`ےvpfH˂pZrd|~HfdrtAJvXnrےvnXJ`ےQZ|d~f`rd|~HfprXQtbdAbے`ۑpJA|drlJtQJ`ےbdQZ|~f`ZHAbf~H˂rXJltvpfHJtArXv`fbHAZp~f`HAbےZdQbtpvnltbvpfH`JXQrv`fbHAZp˙rtAJlvXnZdQbtvnXJ`ےQZ|dJXQrHr󙐂ˁQtJlArd|bHAZpdrtAvXn`JXQfpvQJ`ےbdQZ|~f`ZdQbt琕~Hf˂rXQvXn`JXQrlJtAXv`fdQZ|~f`˂pZ~HfprXQtbdvpfHlJtAv`fbHAZp˙rtAJl˂pZH`pJAHrtbAdZZdQbt˂rXJltvpfHr˂pnXv`˙bHAZpdrtAvXHlJtApvnJ`ےvpfH˂pZrd|~HfdrtAJvXnHAbےvnv`J`ےQZ|d~fZHrd|~HfprXQtbdAbے`󙐂ˁ`Z|drlJtQJ`ےbdQZ|~f`ZHAbf~H˂rXJlt~fZHrd|Xv`fbHAZ~f`HAbےZdQbtpvnltbvpfH`JXQrf~HbHAZp˙rtAJlAbے`ZdQbtvnXJ`ےQZ|dpZHAQXb㉀QtJlArd˙bHAZpdrtAvXn`JXQfpvQJ`ےbdQZ|AbZdQbt琕~HfdrtAJvXn`JXQrlJtAXv`fdQZ|~f`˂p`fpvrXQtbdJXQrlJtAv`fbHAZp˙tAJlbے`ۑpJAHrtbAdZf~H˂rXJltvpfHr˂pnXv`˙bHAZpdrtApZHAlJtApvnltbvpfH˂pZrd|HfpdrtAJvXnJXQrnXv`J`ےQZ|d˂pZHrd|~HfprXQtbnJXQr󙐂ˁ`|drfpvQJ`ےbdQZ|~f`ZHAے`f~H˂rXJltbے`rdZQbXv`fdQZ|~f`HAbےZdQbtvnrltbvpfH˂pZHAf~HbHAZp˙rtAJlAbے`ZdQbtvnXJ`ےvpfHpZHApfH~QtJlnXv`˙bHAZpdrtAvXnJXQrfpvQJ`ےbdQZ|JXQrtlJ~HfdrtAJvXn`JXQrlJtAXQJ`ےdQZ|~f`bے`fpvrXQtbdJXQrlJtAv`fbHAZp˅f`bے`f۝`vtbAdZf~H˂rXJltvpfHbtlnXv`˙bHAZpdrtApZHAtArdpvnltbvpfH˂pZrd|HAZpdrtAJvXnJXQrnvfJ`ےQZ|d˂pZHrd|~HfprXQvXnJXQHAbXnvˍ|drfpvQJ`ےbdQZ|~f`JtAd|f~H˂rXJltbے`p|ZdQbXv`fdQZ|~f`HAbےZdQbt˂rXQltbvpfH˂p`J~HfpbHAZp˙tAJlAbے`ZdQbtvnXJ`ےvpfHے`JXpfH~QtJlnXv`˙bHAZpdrtAvXnZdQbtfpvQJ`ےbdQZ|ZHAbtlJHfpdrtAJvXn`JXQrlJtAJ`ےdQZ|~f`XQrbtvnXrXQtbnJXQrlJtAv`fbHAZp~f`Qr˂pf۝`vtbAdZf~H˂rXJltvpfHlJtnXv`˙bHAZpdrtAے`JXtArdvnrltbvpfH˂pZrd|bHAZpdrtAJvXnl|Zv`fJ`ےvpfH˂pZHrd|~HfprXQvXnۑZHAbXnvˍ|drfpvQJ`ےbdQZ|~f`Ard|f~H˂rXJltQr˂p|ZQblXQJ`ےdQZ|~f`HAbےZdQbt˂rXQltbvpfHdQbt~HfpbHAZp˅f`Abے`ZdQbtvnXJ`ےvpfHے`JXpfH~QtJlnXv`˙bHAZpdrtAvXnZdQbtfpvQJ`ےbdQZ|ZHAbJtArdHAZpdrtAJvXn`JXQrlJtAJ`ےdQZ|~f`lJtArvnXvrXQvXnہJXQrlJtAv`fbHAZd~f`Qrېf۝`vtbAdZf~H˂rXJltvpfHlJtnXv`˙bHAZpdrtAے`JX|Zd˂rXQltbvpfH˂pZrdfbHAZpdrtAJvXnd|Zf~HfJ`ےvpfH˂pZHrd|~HfprtAJlvXnے`JXQXnvˍ|drfpvQJ`ےbdQZ|~fArd|f~H˂rXJltQHAbQbtlJ`ےdQZ|~f`HAbے~Hf˂rXQltbvpfHdQbtpvnbHAZp~f`Abے`ZdQbtvnXtbdvpfHr˂ppfH~QtJlnXv`˙bHAZpdrtAZHAbہZdQbtfpvQJ`ےbdQZ|`JXQJtArdbHAZpdrtAJvXn`JXQrpvnJ`ےdQZ|~f`l|ZdQXv`frXQvXnہJXQrlJtAv`fQZ|d~f`ZHAbېf۝`vtbAdZf~H˂rXJlt`JXQlJtnXv`˙bHAZpdtAJlr˂p|Zd˂rXQltbvpfH˂pZXv`fbHAZpdrtAJvXnbtl~HfJ`ےvpfH˂pZHrd|~HfprtAJlvXnے`JXQXnvˍ|drfpvQJ`ےbdQZ|r˂pArd|f~H˂rXtbZHAbQbJtAJ`ےdQZ|~f`HAbے~Hf˂rXQltbvpfHJtArdpvnbHAZd~f`Abے`ZdQbtvnXtbdvpfHr˂p`pfH~QtJlnXv`˙bHAZpdrtAZHAbہZdQbtfpvQJ`ےnvp``JXQrdfbHAZpdrtAJvXn`JXQrpvnJ`ےdQZ|~f`|ZdQXv`frtAJlvXnہJXQrlJtAv`fQZ|d~f`JXQrf۝`vtbAdZf~H˂rXJlt`JXQlJtnXv`˙bHAZpvXnrے`~Hf˂rXQltbvpfH˂pZXv`fbHAZpdrtAJvXnbtl~fpvtbdvpfH˂pZHrd|HfpۙrtAJlvXnۉ˂pZHXnvˍ|drfpvQJ`ےbdQZ|r˂pArd|f~H˂rXvpfHJXQrpvnJ`ےdQZ|~f`HAے`~Hf˂rXQltbvpfHJtAdQbnXv`QZ|d~f`Abے`ZdQbtvnrXtbdvpfHAbے`pfH~QtJlnXv`˙bHAZpdtAJlZHAbہZdQbtfpvQJ`ے~f`˂pZHXv`fbHAZpdrtAJvXnJXQrbpvnJ`ےdQZ|~f`tlJf~HrtAJlvXnہJXQrlJtAQJ`ےQZ|d~f`JXQrf۝`vtbAdZ|6666666666666666666666666666666666666666667 \ No newline at end of file diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv32_0.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv32_0.dat deleted file mode 100644 index b72bdaa206..0000000000 --- a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv32_0.dat +++ /dev/null @@ -1,289 +0,0 @@ -}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvststststqrqrqrqropopopopnmnmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWSTSTSTSTQRQRQRQRQRQRQRQPOPOPOPOPMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:~}~}~}~}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvststststqrqrqrqropopopopnmnmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYXWXWXWXWSTSTSTSTQRQRQRQROPOPOPOPOPOPOPOPMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:}~}~}~}~}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvststststqrqrqrqropopopopnmnmmmmmlklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYXWXWXWVUSTSTSTSTQRQRQRQROPOPOPOPOPOPOPOPMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:}~}~}~}~}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvststststqrqrqrqropopopopmnmnmnmnlklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYVUVUVUVUSTSTSTSTQRQRQRQROPOPOPOPOPOPOPONMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:}~}~}~}~}|{|{|{|{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvststststqrqrqrqropopopopmnmnmnmnlklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYZYZYZYZYVUVUVUVUSTSTSTSTQRQRQRQROPOPOPOPMNMNMNMNMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:}~}~}~}~{|{|{|{|{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvststststqrqrqrqropopopopmnmnmnmnlklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYZYZYZYZYVUVUVUVUSTSSSSSSQRQRQRQROPOPOPOPMNMNMNMNMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:999999}~}~}~}~{|{|{|{|{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvststststqrqrqrqropopopopmnmnmnmnlklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYZYZYZYZYVUVUVUVUTSTSTSTSQRQRQRQROPOPOPOPMNMNMNMNMNMNMNMLKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<:9:9:9:9}~}~}~}~{|{|{|{|{zyzyzyzyzyzyzyzwxwxwxwxuvuvuvuvststststqrqrqrqropopopopmnmnmnmnlklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSQRQRQRQROPOPOPOPMNMNMNMNKLKLKLKLKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<:9:9:9:9}~}~}~}~{|{|{|{|yzyzyzyzyzyzyzyzwxwxwxwxuvuvuvuvststststqrqrqrqropopopopmnmmmmmmlklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSQRQRQRQROPOPOPOPMNMNMNMNKLKLKLKLKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<:9:9:9:9}~}~}~}~{|{|{|{|yzyzyzyzyzyzyzyzwxwxwxwxuvuvuvuvststststqrqrqrqropopopopnmnmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSQRQRQRQROPOPOPOPMNMNMNMNKLKLKLKLKLKLKLKJIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<:9:9:9:9}~}~}~}~{|{|{|{|yzyzyzyzyxwxwxwxwxwxwxwxuvuvuvuvststststqrqrqrqropoponmnlklklklklklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSQRQRQRQROPOPOPOPMNMNMNMNKLKLKLKLIJIJIJIJIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<:9:9:9:987878787}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxwxwxwxwxuvuvuvuvststststqrqrqrqrmnmnmmmmlklklklklklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSSSSSSTQRQRQRQROPOPOPOPMNMNMNMNKLKLKLKLIJIJIJIJIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<:999999:87878787}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxwxwxwxwxuvuvuvuvststststqrqrqrqrmnmnmnmnlklklklklklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUSTSTSTSTQRQRQRQROPOPOPOPMNMNMNMNKLKLKLKLIJIJIJIJIJIJIJIHGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:87878787}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxwvuvuvuvuvuvuvuvststststqrqrqrqrmnmnmnmnlklklklkjijijijijijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUSTSTSTSTQRQRQRQROPOPOPOPMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:87878787}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvuvuvuvuvststststqrqrqrqpmnmnmnmnlklklklkjijijijijijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUSTSTSTSTQRQRQRQROPOPOPOPMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:87878787}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvuvuvuvuvststststopopopopmnmnmnmnlklklklkjijijijijijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUSTSTSTSTQRQRQRQROPOPOPOPMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHGHGHGHGFEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:87878787}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvutstststststststopopopopmnmnmnmnlklklklkjijijijihghghghghghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUSTSTSTSTQRQRQRQROPOPOPOPMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:87878787}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvststststststststopopopopmnmnmnmmlklklklkjijijijihghghghghghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUSSSSSSTSQRQRQRQROPOPOPOPMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<999999:987878787}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvststststststststopopopopmmmmnmnmlklklklkjijijijihghghghghghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSQRQRQRQROPOPOPOPMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFEFEFEFEDCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<:9:9:98787878787}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvststststsrqrqrqropopopopnmnmnmnmlklklklkjijijijihghghghgfefefefefefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSQRQRQRQROPOPOPOPMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;:9:9:8787878787878787}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvststststqrqrqrqropopopopnmnmnmnmlklklklkjijijijihghghghgfefefefefefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSQRQRQRQROPOPOPOPMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDCDCDCDCDABABABAB?@?@?@?@=>=>=>=>9:99999:8787878787878787}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvststststqrqrqrqropopopopnmnmnmnmlklklklkjijijijihghghghgfefefefefefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSQRQRQRQROPOPOPOPMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDCDCDCDCBABABABAB?@?@?@?@=>=>=>=>9:9:9:9:8787878787878787}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvststststqrqrqrqropopopopnmnmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdcdcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSQRQRQRQROPOPOPOPMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABABABABABAB?@?@?@?@=>=>=>=>9:9:9:9:8787878787878787}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvststststqrqrqrqropopopopnmnmnmmmlklklklkjijijijihghghghgfefefefedcdcdcdcdcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUSSSSSTSTQRQRQRQROPOPOPOPMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABABABABABAB?@?@?@?@=>=>=<;<9:9:9:9:8787878787878787}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvststststqrqrqrqropopopopmmmnmnmnlklklklkjijijijihghghghgfefefefedcdcdcdcdcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUSTSTSTSTQRQRQRQROPOPOPOPMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABABABABABA@?@?@?@?@;<;<;<;<9:9:9:9:8787878787878787}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvststststqrqrqrqropopopopmnmnmnmnlklklklkjijijijihghghghgfefefefedcdcdcdcbabababababababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUSTSTSTSTQRQRQRQROPOPOPOPMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@?@?@?@?@;<;<;<;<9:9:9:9:8787878787878787}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvststststqrqrqrqropopopopmnmnmnmnlklklklkjijijijihghghghgfefefefedcdcdcdcbabababababababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUSTSTSTSTQRQRQRQROPOPOPOPMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@?@?@?@?@;<;<;<;<9:9:99998787878787878787}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvststststqrqrqrqropopopopmnmnmnmnlklklklkjijijijihghghghgfefefefedcdcdcdcbabababababababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUSTSTSTSTQRQRQRQROPOPOPOPMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@?@?@?@?>;<;<;<;<99:9:9:98787878787878787}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvststststqrqrqrqropopopopmnmnmnmnlklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUSTSTSTSTQRQRQRQROPOPOPOPMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<:9:9:9:98787878787878787}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvststststqrqrqrqropopopopmnmnmmmmlklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUSTSSSSSTQRQRQRQROPOPOPOPMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<:9:9:9:98787878787878787}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvststststqrqrqrqropopopopmmnmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUSTSTSTSRQRQRQRQROPOPOPOPMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<:9:9:9:98787878787878787}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvststststqrqrqrqropopopopnmnmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUTSTSQRQRQRQRQRQRQRQROPOPOPOPMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<:9:9:9:98787878787878765}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvststststqrqrqrqropopopopnmnmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWTSTSSSSSQRQRQRQRQRQRQRQROPOPOPOPMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<:9:999998787878765656565656565656565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - - -656565656565654343434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - - -656565654343434343434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - -656565654343434343434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!       - - - -656565654343434343434321212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - - -656565654343434321212121212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - - -656565654343434321212121212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - - -6565656543434343212121212121210/0/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!          - - - -6565656543434343212121210/0/0/0/0/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!            - - - -6565656543434343212121210/0/0/0/0/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!            - - - -6565656543434343212121210/0/0/0/0/0/0/.-.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!           - - - -6565656543434343212121210/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - - -6565656543434343212121210/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - - -6565656543434343212121210/0/0/0/.-.-.-.-.-.-.-,+,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - - - - -6565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - - - - - - -6565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!       - - - - - - - -6565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+,+,+,+*)*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!       - - - - - - 6565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!        - - - -6565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)*)*)*)*)('('('('&%&%&%&%$#$#$#$#       - - - -6565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)*)*)*)('('('('('&%&%&%&%$#$#$#$#         - - - -6565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('('('('('&%&%&%&%$#$#$#$#         - - - -6565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('('('('('&%&%&%&%$#$#"!"!         - - - -6565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('('('('&%&%&%&%&%"!"!"!"!         - - - -6565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%&%&%&%&%"!"!"!"!         - - - -6565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%&%&%&%&%"!"!"!"!      - - - -6565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%&%&%&%$#"!"!"!"!         - - - -6565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - - -6565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - - -6565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - - -6565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - - -6565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!       - - - -6565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - - -6565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - - - - - iihhggff,--..//0qppoonnmhiijjkkl54433221PQQRRSSTMLLKKJJIFGGHHIIJ43322110ddeeffgg44332211QQRRSSTTLLKKJJII99::;;<>==??@@AAB - - eeddccbb01122334mllkkjjilmmnnoop100//..-TUUVVWWXIHHGGFFEJKKLLMMN0//..--,hhiijjkk00//..--UUVVWWXXHHGGFFEE==>>??@@``__^^]]%%&&''((xxwwvvuu  - - yyzz{{|| - -   - - yzz{{||}$##""!! abbccdde<;;::998IJJKKLLMTSSRRQQP12233445lkkjjiih%%&]\\[[ZZYBCCDDEEF %%&&aa``__^^45566778ihhggffe ~~}pqqrrsst-,,++**)XYYZZ[[\EDDCCBBANOOPPQQR,++**))(llmmnopq,,++**))YYZZ[[\\DDCCBBAAAABBCCDD\\[[ZZYY))**++,,ttssrrqq}}~~~~}}|}~~ effgghhi87766554MNNOOPPQPOONNMML56677889hggffeed&''(())*YSSRRQQPFGGHHIIJ''(())**]]\\[[ZZ899::;;>=RSSYYZZ[(''&&%%rssttuuv((''&&%%]]^^__``@@??>>==EEFFGGHHXXWWVVUU--..//00ppoonnmm |{{zzyyxijjkkllm43322110QRRSSTTULKKJJIIH9::;;<<=dccbbaa`*++,,--.POONNMMLJKKLLMMN~~}}++,,--..YYXWVUTS<==>>??@a``__^^]$%%&&''(yxxwwvvu  - - xyyzz{{|%$$##""!`aabbccd=<<;;::9[\\]]^^_vwwxxyyz$$##""!!aabbccdd<<;;::99IIJJKKLLTTSSRRQQ11223344llkkjjii - - xwwvvuutmnnooppq0//..--,UVVWWXXYHGGFFEED=>>??@@A`__^^]]\.//00112LKKJJIIHNOOPPQQR||{{zzyy~~}}||//001122SRRQQPPO@AABBCCD]\\[[ZZY())**++,uttssrrq |}}~~! deeffggh98877665_``aabbcz{{||}}~ eeffgghh88776655MMNNOOPPPPOONNMM55667788hhggffee ~~}}tssrqpon !~~}}| qrrssttu,++**))(YZZ[[\\]DCCBBAA@ABBCCDDE\[[ZZYYX23344556HGGFFEEDRSSTUVWXxxwwvvuu {{zzyyxx33445566ONNMMLLKDEEFFGGHYXXWWVVU,--..//0qppoonnmhiijjkkl54433221cddeeffg~iijjkkll44332211QQRRSSTTLLKKJJII99::;;<>==>??@@``__^^]]%%&&''((xxwwvvuu iihhggff%&&''(()xwwvvuut  - - yzz{{||}$##""!! abbccdde<;;::998IJJKKLLMTSSRRQQP?@@AABBC@??99887]]^^__``ppoonnmm%%&&''((ssmmllkk@@AABBCCGFFEEDDCLMMNNOOPQPPOONNM45566778ihhggffe ~~}pqqrrsst-,,++**)kllmmsst qqrrsstt,,++**))YYZZ[[\\DDCCBBAAAABBCCDD\\[[ZZYY))**++,,ttssrrqqeeddccbb)**++,,-tssrrqqp}~~ effgghhi87766554MNNOOPPQPOONNMMLCDDEEFFG76655443aabbccddllkkjjii))**++,,jjiihhggDDEEFFGGCBBAA@@?PQQRRSSTMLLKKJJI899::;;>==EEFFGGHHXXWWVVUU--..//00ppoonnmm%%&&aa``__^^-..//001poonnmmlijjkkllm43322110QRRSSTTULKKJJIIHGHHIIJJK3221100/eeffgghhhhggffee--..//00ffeeddccHHIIJJKK?>=<;:99TUUVVWWXIHHGGFFE<==>>??@a``__^^]$%%&&''(yxxwwvvu  - - xyyzz{{|%$$##""!xyyzz{{| - - yyzz{{||$$##""!!aabbccdd<<;;::99IIJJKKLLTTSSRRQQ11223344llkkjjii~~}}||''(())**]]\\[[ZZ12233445lkkjjiihmnnooppq0//..--,UVVWWXXYHGGFFEEDKLLMMNNO/..--,,+iijjkkllWWVVUUTTddccbbaa11223344bbaa``__LLMMNNOO88776655XYYZZ[[\EDDCCBBA@AABBCCD]\\[[ZZY())**++,uttssrrq |}}~~! |}}~~}}~~ eeffgghh88776655MMNNOOPPPPOONNMM55667788hhggffee {{zzyyxx++,,--..YYXWVUTS56677889hggffeed !~~}}| qrrssttu,++**))(YZZ[[\\]DCCBBAA@OPPQQRRS+**))(('mmnopqrsSSRRQQPP``__^^]]55667788^^]]\\[[PPQQRRSS44332211\]]^^__`A@@??>>=DEEFFGGHYXXWWVVU,--..//0qppoonnm - - iijjkkll44332211QQRRSSTTLLKKJJII99::;;<>==>??@@``__^^]]%%&&''((ssmmllkk33445566ONNMMLLK=>>??@@A`__^^]]\%&&''(()xwwvvuut  - - yzz{{||}$##""!! abbccdde<;;::998\]]^^__`wxxyyzz{KKJJIIHHXXWWVVUU==>>??@@QQPPOONN]]^^__``,,++**))deeffggh98877665LMMNNOOPQPPOONNM45566778ihhggffe ~~}~~}}qqrrsstt,,++**))YYZZ[[\\DDCCBBAAAABBCCDD\\[[ZZYY))**++,,jjiihhgg778899??KJJIIHHGABBCCDDE\[[ZZYYX)**++,,-tssrrqqp}~~ effgghhi87766554`aabbccd{||}}~~GGFFEEDDTTSSRRQQAABBCCDDMMLLKKJJaabbccdd((''&&%%hiijjkkl54433221PQQRRSSTMLLKKJJI899::;;>==EEFFGGHHXXWWVVUU--..//00ffeeddcc@@AABBCCGFFEEDDCEFFGGHHIXWWVVUUT-..//001poonnmmlijjkkllm43322110deeffgghCCBBAA@@PPOONNMMEEFFGGHHIIHHGGFFeeffgghh$#"! lmmnnoop100//..-TUUVVWWXIHHGGFFE<==>>??@a``__^^]$%%&&''(yxxwwvvu  - - xxwwvvuu  - - yyzz{{||$$##""!!aabbccdd<<;;::99IIJJKKLLTTSSRRQQ11223344bbaa``__DDEEFFGGCBBAA@@?IJJKKLLMTSSRRQQP12233445lkkjjiihmnnooppq0//..--,hiijjkkl??>>==<=<;:99MNNOOPPQPOONNMML56677889hggffeed !~~}}| qrrssttu,++**))(lmmssttu -;;::9988HHGGFFEEMMNNOOPPAA@@??99mmssttuutuuvvwwx)((''&&%\]]^^__`A@@??>>=DEEFFGGHYXXWWVVU,--..//0qppoonnm~~}}||{!"#$%%&&ppoonnmmiijjkkll44332211QQRRSSTTLLKKJJII99::;;<>??@@QQPPOONNPPQQRRSS44332211UVVWWXXYHGGFFEED=>>??@@A`__^^]]\%&&''(()xwwvvuut  - - yzz{{||}$##""!! yzz{{||}33221100@@??>>==UUVVWWXX44332211zz{{||}}|}}~~! deeffggh98877665LMMNNOOPQPPOONNM45566778ihhggffe ~~} - - wvvuutts++,,--..hhggffee ~~}}qqrrsstt,,++**))YYZZ[[\\DDCCBBAAAABBCCDDMMLLKKJJYYZZ[[\\00//..--YZZ[[\\]DCCBBAA@ABBCCDDE\[[ZZYYX)**++,,-tssrrqqp}~~ }~~ //..--,,<<;;::99YYZZ[[\\00//..--~~ -hiijjkkl54433221PQQRRSSTMLLKKJJI899::;;>==EEFFGGHHIIHHGGFF]]^^__``,,++**))]^^__``a@??>>==>??@a``__^^]$%%&&''(yxxwwvvujiihhggf33445566``__^^]]%%&&''((xxwwvvuu  - - yyzz{{||$$##""!!aabbccdd<<;;::99IIJJKKLLEEDDCCBBaabbccdd((''&&%%abbccdde<;;::998IJJKKLLMTSSRRQQP12233445lkkjjiih ''&&%%$$44332211aabbccdd((''&&%%pqqrrsst-,,++**)XYYZZ[[\EDDCCBBA@AABBCCD]\\[[ZZY())**++,uttssrrqfeeddccb778899:;\\[[ZZYY))**++,,ttssrrqq}}~~ eeffgghh88776655MMNNOOPPAA@@??99eeffgghh$#"! effgghhi87766554MNNOOPPQPOONNMML56677889hggffeed !~~}}| ~~}}||##""!! 00//..--eeffgghh - -  tuuvvwwx)((''&&%\]]^^__`A@@??>>=DEEFFGGHYXXWWVVU,--..//0qppoonnmbaa``__^<=>??@@AXXWWVVUU--..//00ppoonnmmiijjkkll44332211QQRRSSTT88776655iijjkkllijjkkllm43322110QRRSSTTULKKJJIIH9::;;<<=dccbbaa`!""##$$%|{{zzyyx - -  {{zzyyxx,,++**))iijjkkll  - - xyyzz{{|%$$##""!`aabbccd=<<;;::9HIIJJKKLUTTSSRRQ01122334mllkkjji%^]]\\[[ZABBCCDDETTSSRRQQ11223344llkkjjiimmnnoopp00//..--UUVVWWXX44332211mmssttuumnnooppq0//..--,UVVWWXXYHGGFFEED=>>??@@A`__^^]]\%&&''(()xwwvvuut  - - wwvvuutt((''&&%%mmnnoopp |}}~~! deeffggh98877665LMMNNOOPQPPOONNM45566778ihhggffe%&&''(()ZYYSSRRQEFFGGHHIPPOONNMM55667788hhggffee ~~}}qqrrsstt,,++**))YYZZ[[\\00//..--vvwwxxyyqrrssttu,++**))(YZZ[[\\]DCCBBAA@ABBCCDDE\[[ZZYYX)**++,,-tssrrqqp~ !"ssrrqqpp$$##""!!qqrrsstthiijjkkl54433221PQQRRSSTMLLKKJJI899::;;>==>??@a``__^^]-..//001MLLKKJJIMNNOOPPQHHGGFFEE==>>??@@``__^^]]%%&&''((xxwwvvuu  - - yyzz{{||$$##""!!aabbccdd((''&&%%~~ -yzz{{||}$##""!! abbccdde<;;::998IJJKKLLMTSSRRQQP12233445lkkjjiih zyyxxwwv(())**++kkjjiihh yyzz{{|| - - |{{zzyyx ~~}pqqrrsst-,,++**)XYYZZ[[\EDDCCBBA@AABBCCD]\\[[ZZY12233445IHHGGFFEQRRSSTUVDDCCBBAAAABBCCDD\\[[ZZYY))**++,,ttssrrqq}}~~ eeffgghh - }~~ effgghhi87766554MNNOOPPQPOONNMML56677889hggffeed !~~}}| - - vuuttssm,,--..//ggffeedd - - }}~~ - - xwwvvuut !!""##$}||{{zzy - -  tuuvvwwx)((''&&%\]]^^__`A@@??>>=DEEFFGGHYXXWWVVU56677889EDDCCBBAWXYYZZ[[@@??>>==EEFFGGHHXXWWVVUU--..//00ppoonnmmiijjkkllijjkkllm43322110QRRSSTTULKKJJIIH9::;;<<=dccbbaa`!""##$$%|{{zzyyx mllkkjji00112233ccbbaa``tssrqpon$%%&&''(yxxwwvvu  - - xyyzz{{|%$$##""!`aabbccd=<<;;::9HIIJJKKLUTTSSRRQ9??@@AABA@@??998\\]]^^__<<;;::99IIJJKKLLTTSSRRQQ11223344llkkjjiimmnnooppmnnooppq0//..--,UVVWWXXYHGGFFEED=>>??@@A`__^^]]\%&&''(()xwwvvuutihhggffe44556677__^^]]\\ mmllkkjj())**++,uttssrrq |}}~~! deeffggh98877665LMMNNOOPQPPOONNMBCCDDEEF87766554``aabbcc88776655MMNNOOPPPPOONNMM55667788hhggffee ~~}}qqrrsstt qrrssttu,++**))(YZZ[[\\]DCCBBAA@ABBCCDDE\[[ZZYYX)**++,,-tssrrqqpeddccbba8899:;<=[[ZZYYXX rrssttuu++**))((ZZ[[\\]]CCBBAA@@BBCCDDEE[[ZZYYXX**++,,--iihhggff8899??@@JIIHHGGFBCCDDEEF[ZZYYXXW*++,,--.srrqqppo~fgghhiij76655443NOOPPQQR87766554vwwxxyyz - -  vvwwxxyy''&&%%$$^^__``aa??>>==<JKKLLMMNSRRQQPPO23344556kjjiihhgnooppqqr/..--,,+VWWXXYYZ0//..--,~ - - ~~ffgghhii77665544NNOOPPQQOONNMMLL66778899]]\\[[ZZIIJJKKLL=<;:9988NOOPPQQRONNMMLLK6778899:gffeeddc !!"~~}}||{ -rssttuuv+**))(('Z[[\\]]^,++**))( jjkkllmm33221100RRSSTTUUKKJJIIHH::;;<<==YYSSRRQQMMNNOOPP77665544RSSTTUUVKJJIIHHG:;;<<==>cbbaa``_"##$$%%&{zzyyxxw -  vwwxxyyz'&&%%$$#^__``aab(''&&%%nnooppqq//..--,,VVWWXXYYGGFFEEDD>>??@@AAPPOONNMMQQRRSSYY33221100VWWXXYYZGFFEEDDC>??@@AAB_^^]]\\[&''(())*wvvuutts - - z{{||}}~#""!! bccddeef~~} !!~~}}|| rrssttuu++**))((ZZ[[\\]]CCBBAA@@BBCCDDEELLKKJJIIZZ[[\\]]//..--,,Z[[\\]]^CBBAA@@?BCCDDEEF[ZZYYXXW*++,,--.srrqqppo~fgghhiij}||{{zzy""##$$%%{{zzyyxx - -  vvwwxxyy''&&%%$$^^__``aa??>>==<>==<<;FGGHHIIJWVVUUTTS.//00112onnmmllkjkkllmmnyxxwwvvu &&''(())wwvvuutt - - zz{{||}}##""!! bbccddee;;::9988JJKKLLMMDDCCBBAAbbccddee''&&%%$#bccddeef;::99887JKKLLMMNSRRQQPPO23344556kjjiihhgnooppqqruttssrrq !!""##$**++,,--ssrrqqpp~~ffgghhii77665544NNOOPPQQ@@??9988ffgghhii"! fgghhiij76655443NOOPPQQRONNMMLLK6778899:gffeeddc !!"~~}}||{ -rssttuuv qppoonnm$%%&&''(..//0011oonnmmlljjkkllmm33221100RRSSTTUU77665544jjkkllmmjkkllmmn3221100/RSSTTUUVKJJIIHHG:;;<<==>cbbaa``_"##$$%%&{zzyyxxw -  vwwxxyyz - - -mllkkjji())**++,22334455kkjjiihhnnooppqq//..--,,VVWWXXYY33221100ssttuuvvnooppqqr/..--,,+VWWXXYYZGFFEEDDC>??@@AAB_^^]]\\[&''(())*wvvuutts - - z{{||}}~ - ihhggffe,--..//066778899ggffeedd !!~~}}|| rrssttuu++**))((ZZ[[\\]]//..--,,wwxxyyzzrssttuuv+**))(('Z[[\\]]^CBBAA@@?BCCDDEEF[ZZYYXXW*++,,--.srrqqppo~eddccbba01122334::;;<<==ccbbaa``""##$$%%{{zzyyxx - -  vvwwxxyy''&&%%$$^^__``aa++**))(({{||}}~~ vwwxxyyz'&&%%$$#^__``aab?>>==<<;FGGHHIIJWVVUUTTS.//00112onnmmllka``__^^]45566778>>??@@AA__^^]]\\&&''(())wwvvuutt - - zz{{||}}##""!! bbccddee''&&%% - - z{{||}}~#""!! bccddeef;::99887JKKLLMMNSRRQQPPO23344556kjjiihhg]\\[[ZZY899::;;>??@FFGGHHIIWWVVUUTT..//0011oonnmmlljjkkllmmjkkllmmn3221100/RSSTTUUVKJJIIHHG:;;<<==>cbbaa``_"##$$%%&{zzyyxxw - %%&&'UTTSSRRQ@AABBCCDJJKKLLMMSSRRQQPP22334455kkjjiihhnnooppqqnooppqqr/..--,,+VWWXXYYZGFFEEDDC>??@@AAB_^^]]\\[&''(())*wvvuutts'(())**+QPPOONNMDEEFFGGHNNOOPPQQOONNMMLL66778899ggffeedd !!~~}}|| rrssttuu -rssttuuv+**))(('Z[[\\]]^CBBAA@@?BCCDDEEF[ZZYYXXW*++,,--.srrqqppo+,,--../MLLKKJJIHIIJJKKLRRSSTTUUKKJJIIHH::;;<<==ccbbaa``""##$$%%{{zzyyxx - -  vvwwxxyy -  vwwxxyyz'&&%%$$#^__``aab?>>==<<;FGGHHIIJWVVUUTTS.//00112onnmmllk~~}}||{/0011223IHHGGFFELMMNNOOPVVWWXXYYGGFFEEDD>>??@@AA__^^]]\\&&''(())wwvvuutt - - zz{{||}} - -  - - z{{||}}~#""!! bccddeef;::99887JKKLLMMNSRRQQPPO23344556kjjiihhg{zzyyxxw34455667EDDCCBBAPQQRRSSTZZ[[\\]]CCBBAA@@BBCCDDEE[[ZZYYXX**++,,--ssrrqqpp~~~~}}||{~fgghhiij76655443NOOPPQQRONNMMLLK6778899:gffeeddc !!"wvvuutts78899??@A@@??>>=TUUVVWWX^^__``aa??>>==<cbbaa``_"##$$%%&smmllkkj@AABBCCD=<<;;::9XYYZZ[[\bbccddee;;::9988JJKKLLMMSSRRQQPP22334455kkjjiihh wvvuuttsnooppqqr/..--,,+VWWXXYYZGFFEEDDC>??@@AAB_^^]]\\[&''(())*jiihhggfDEEFFGGH98877665\]]^^__`ffgghhii77665544NNOOPPQQOONNMMLL66778899ggffeedd !!~~}}|| srqponmm !!"~~}}||{ -rssttuuv+**))(('Z[[\\]]^CBBAA@@?BCCDDEEF[ZZYYXXW*++,,--.feeddccbHIIJJKKL54433221`aabbccdjjkkllmm33221100RRSSTTUUKKJJIIHH::;;<<==ccbbaa``""##$$%%{{zzyyxx - - llkkjjii"##$$%%&{zzyyxxw -  vwwxxyyz'&&%%$$#^__``aab?>>==<<;FGGHHIIJWVVUUTTS.//00112baa``__^LMMNNOOP100//..-deeffgghnnooppqq//..--,,VVWWXXYYGGFFEEDD>>??@@AA__^^]]\\&&''(())wwvvuutthhggffee&''(())*wvvuutts - - z{{||}}~#""!! bccddeef;::99887JKKLLMMNSRRQQPPO23344556^]]\\[[ZPQQRRSSY-,,++**)hiijjkklrrssttuu++**))((ZZ[[\\]]CCBBAA@@BBCCDDEE[[ZZYYXX**++,,--ssrrqqppddccbbaa*++,,--.srrqqppo~fgghhiij76655443NOOPPQQRONNMMLLK6778899:ZYYSSRRQYZZ[[\\])((''&&%lmmnnoopvvwwxxyy''&&%%$$^^__``aa??>>==<QPPOONNM]^^__``a%$$##""!pqqrrsstzz{{||}}##""!! bbccddee;;::9988JJKKLLMMSSRRQQPP22334455kkjjiihh~~}}||{{(())**++\\[[ZZYY23344556kjjiihhgnooppqqr/..--,,+VWWXXYYZGFFEEDDC>??@@AABMLLKKJJIabbccdde! tuuvvwwx~~ffgghhii77665544NNOOPPQQOONNMMLL66778899ggffeedd !!zzyyxxww,,--..//XWVUTSSR6778899:gffeeddc !!"~~}}||{ -rssttuuv+**))(('Z[[\\]]^CBBAA@@?BCCDDEEFIHHGGFFEeffgghhixyyzz{{|jjkkllmm33221100RRSSTTUUKKJJIIHH::;;<<==ccbbaa``""##$$%%vvuuttss00112233RQQPPOON:;;<<==>cbbaa``_"##$$%%&{zzyyxxw -  vwwxxyyz'&&%%$$#^__``aab?>>==<<;FGGHHIIJEDDCCBBAijjkkllm|}}~~nnooppqq//..--,,VVWWXXYYGGFFEEDD>>??@@AA__^^]]\\&&''(())mmllkkjj44556677NMMLLKKJ>??@@AAB_^^]]\\[&''(())*wvvuutts - - z{{||}}~#""!! bccddeef;::99887JKKLLMMNA@@??998mssttuuvbdQZ|bdQZ|H~fZdQbt`f~Zp˂AJltf`vXے`JX`JXQ|ZdQfpvZp˂AJltf`vXے`JXZdQbtfpvےbHAJlt`vXnے`JXQ|ZdQbfpvp˂rJlt`vXn`vXnے`JXQ|ZdQbpvnJltvXnvXn`JXQZdQbtfpv˂rXJltvXn`JXQZdQbtfpvQJ`ےbdQZ|vpfHdrtA`vXn`vXnlJtAHfpvrXQJ`ۉbdQZ|nvpQr˂prbtlbtlnXv`rXQJ`ۉbdQZ|nvpQr˂plJtAnXv`Zp˂bdQZ|vpfr˂ptlJnXv`XQJ`ےbdQZ|vpfr˂pr˂ptlJXv`pbdQZ|vpfHr˂pr˂plJtnXv`QJ`ےbdQZ|vpfHr˂plJtnXv`˙bHAXQdrt~f`Jltvpfr˂prdt璀nXvbHAdrtfH~ˑZHAbJtAdJtArdf~HbHAdrtfH~ˑZHAbrd|f~HrXQJdrtAH~fZHAbtArdf~HbHAZdrtAH~fZHAbZHAےtArdvnrdrtA~f`ZHAbZHAے`Ard|f~HbHAZpdrtA~f`ZHAbArd|f~HJ`ےAdQZ|vXnbdQZ|H~f`JXQrlJtAr`f~Zp˂AJltf`vXے`JX|ZdQ|ZdQfpvZp˂AJltf`vXے`JXZdQtArdfpvbHAZpJlt`vXnے`JXQ|ZdQbfpvp˂rJlt`vXnے`JXQ`JXQr|ZdQbXQJ`pJltvXn`JXQJXQrZdQbtfpv˂rXJltvXn`JXQZdQbtfpvbHAZp˂drtAvpfHdrtA`vXn˂pZd|ZHfvnXrXQJ`ۉbdQZ|nvpQr˂pbtlbnXv`nXv`rXQJ`ۉbdQZ|nvpQr˂p|Zd~HfprXQbdQZ|vpfr˂ptlJnXv`XQJ`ےbdQZ|vpfr˂pbtltlJ˂rXQbdQZ|vpfHr˂pbtllJtnXv`QJ`ےbdQZ|vpfHr˂plJtnXv`˂rXQJlt~f`JltvpfHAbےdQbt璕v`fbHAdrtfH~ˑZHAbJtArdf~HfHbHAdrtfH~ˑZHAbQbtlvnXJ`ےdrtAH~fZHAbtArdf~HbHAZdrtAH~fZHAbJtAdtArdJ`ےdrAJ~f`ZHAbJtAd|Ard|f~HbHAZpdrtA~f`ZHAbArd|f~HJ`ےbdQZ|vXnvfbdQZ|H~f`JXQrlJtAr~HfpZp˂AJltf`vXے`JX|ZdQfpvfpvZp˂AJltf`vXے`JXJtArdv`fbHAZpJlt`vXnے`JXQ|ZdQbfpvp˂rJlt`vXnے`JXQ|ZdQb|ZdQbbHAZptbdQZvXn`JXQZdQbtZdQbfpv˂rXJltvXn`JXQZdQbtfpvbHAZp`drtAH~fdrtA`vXn˂pZd|lvnXrXQJ`ۉbdQZ|nvpQr˂pbtlnXv`nrXQJ`rXQJ`ۉbdQZ|nvpQr˂p|Zd~HfprXQbdQZ|vpfr˂ptlJnXv`XQJ`ےbdQZ|vpfr˂ptlJnXv`˂rXQ|drvpfHr˂plJtnXv`nXv`QJ`ےbdQZ|vpfHr˂plJtnXv`ˁےbHJl|d`vXnJltvpfHAXQrJtArdv`fbHAdrtfH~ˑZHAbJtArdf~HےHAbHAdrtfH~ˑZHAbQbtdvnXJ`bAZdrtAH~fZHAbtArdf~HbHAZdrtAH~fZHAbtArdpvnJ`ےtAJl璅~f`ZHAbArd|f~HfHfpbHAZpdrtA~f`ZHAbArd|f~HAZp˂rtAJlvpfbdQZ|H~f˂pZHA|ZdQ~HfpZp˂AJltf`vXے`JX|ZdQfpvZp˂Zp˂AJltf`vXے`JX|ZdQv`pp˂rJlt`vXnے`JXQ|ZdQbfpvp˂rJlt`vXnے`JXQ|ZdQbXv`fbHAXQJtbdQZvXn`JXQZdQbtfpvvn˂rXJltvXn`JXQZdQbtfpvrXQJ`tbdH~fdrtA`vXnbے`btlvnv`rXQJ`ۉbdQZ|nvpQr˂pbtlnXv`rXQJ`rbdQZ|bdQZ|nvpQr˂pbtlvnrXbdQZ|bdQZ|vpfr˂ptlJnXv`XQJ`ےbdQZ|vpfr˂ptlJ~Hf`ےb|drvpfHr˂plJtnXv`rXQJ`QJ`ےbdQZ|vpfHr˂plJtnXv`ˁےbHQZ|d`vXn`JXQrJltvpfJXQrJtArdf~HbHAdrtfH~ˑZHAbJtArdf~HbHAdrtdtAfH~ˑZHAbJtArdQJ`AdrtAdtAJH~fZHAbtArdf~HbHAZdrtAH~fZHAbtArdpvnHAZp˂tAJbd~f`ZHAbArd|f~HHAZpbHAZpdrtA~f`ZHAbArd|f~HAZp˂rtAJlvf~˂pZbdQZ|H~f˂pZHA|ZdQfpvZp˂AJltf`vXے`JX|ZdQfpvZp˂AJltJltf`vXے`JX|ZdQZp˂Jltltb`vXnے`JXQ|ZdQbfpvp˂rJlt`vXnے`JXQ|ZdQbXv`frXQJQZ|dvXn`JXQZdQbtfpv˂rX˂rJltvXn`JXQZdQbtfpv㉐bHAtdf`vXHAbےdrtA`vXnb˂tArdnXv`rXQJ`ۉbdQZ|nvpQr˂pbtlnXv`rXQJ`ۉbdQZ|bnvpnvpQr˂pbtl|rXQJ`bdQZ|nvpvpfr˂ptlJnXv`XQJ`ےbdQZ|vpfr˂ptlJnX`ےbrtAJlvpfHr˂plJtnXv`QJ`ےbdQZ|bdQZ|vpfHr˂plJtnXv`Zp˂rtAJlnvp`JXQrJltvpfpZHAb|ZdQbf~HbHAdrtfH~ˑZHAbJtArdf~HbHAdrtfHfH~ˑZHAbZdQb㒐bHAdrtAfHfH~fZHAbtArdf~HbHAZdrtAH~fZHAbtArdv`fHAZp`tbd~f`ZHAbArd|f~HbHAZpdrtAdtAJl~f`ZHAbArd|f~HrXQJ`ےtbdQfH~˂pZbdQZ|H~fے`JtlJfpvZp˂AJltf`vXے`JX|ZdQfpvZp˂AJltf`vXf`vXے`JXnXv`pZp˂Jlt`vXn`vXnے`JXQ|ZdQbfpvp˂rJlt`vXnے`JXQ|ZdQb~HfpےbHAQZ|dvXn`JXQZdQbtfpv˂rXJlttbvXn`JXQZdQbtfpv㒐bHAZ|df`vXHAbےdrtA`vXnXQr˂tArdnvfrXQJ`ۉbdQZ|nvpQr˂pbtlnXv`rXQJ`ۉbdQZ|nvpnr˂pQr˂pvnXrXQJ`bdQZ|vpfr˂pr˂ptlJnXv`XQJ`ےbdQZ|vpfr˂ptlJvnXZp˂rtAJlvpfHr˂plJtnXv`QJ`ےbdQZ|nvpvpfHr˂plJtnXv`Zp˂rtAJlnvp`JXQrJltvpfpZHAb|ZdQb~HfpےbHAdrtfH~ˑZHAbJtArdf~HbHAdrtfH~ˑZHAbZHAەv`fbHAZdrtAH~fZHAbZHAےtArdf~HbHAZdrtAH~fZHAbtArdv`frXQJ`bQZ|~f`ZHAbArd|f~HbHAZpdrtAfHf`~f`ZHAbArd|f~HrXQHAZptbdQf~f`˂pZbdQZ|H~fے`ptd|vnXZp˂AJltf`vXے`JX|ZdQfpvZp˂AJltf`vXے`JX`JXQ~HfprXQJJlt`vXnے`JXQ`JXQr|ZdQbfpvp˂rJlt`vXnے`JXQ|ZdQb~HXvےbHAdrtAvXn`JXQZdQbtfpv˂rXJltvXnvXn`JXQZdQbtfpv˂rXZ|ltvXnrHAbےdrtA`vXnZHAbZdQbtv`frXQJ`ۉbdQZ|nvpQr˂pbtlnXv`rXQJ`ۉbdQZ|nvpQr˂prbtlvnX`ےbbdQZ|vpfr˂pbtltlJnXv`XQJ`ےbdQZ|vpfr˂ptlJ`f~Zp˂JltvpfHr˂plJtnXv`QJ`ےbdQZ|vpfHr˂pr˂plJtnXv`QJ`ےbnۀ˂pZ`JXQrJltvpfے`JXQlJtA~HfpےbHAdrtfH~ˑZHAbJtArdf~HbHAdrtfH~ˑZHAb|ZdQv`fHAZp˂drtAH~fZHAbJtAdtArdf~HbHAZdrtAH~fZHAbtArdHfpvbHAZbdQZ|~f`ZHAbArd|f~HbHAZpdrtA~f`ZHAbZHAے`Ard|f~HbHAZpvpff`HAbے˂pZbdQZ|H~fr˂prd|vnXZp˂AJltf`vXے`JX|ZdQfpvZp˂AJltf`vXے`JXbtlnXrXQJJlt`vXnے`JXQ|ZdQb|ZdQbfpvp˂rJlt`vXnے`JXQ|ZdQbnXvp˂rdrtAvXn`JXQZdQbtfpv˂rXJltvXn`JXQJXQrZdQbtfpv˂rXvXn`JXQrHAbےdrtA`vXnZHAbZdQbtv`frrXQJ`ۉbdQZ|nvpQr˂pbtlnXv`rXQJ`ۉbdQZ|nvpQr˂pJtArdv`f`ےbbdQZ|vpfr˂ptlJnXv`nXv`XQJ`ےbdQZ|vpfr˂ptlJ`f~XQJ`ےJltvpfHr˂plJtnXv`QJ`ےbdQZ|vpfHr˂pbtllJtnXv`QJ`p˅vpfH˂pZ`JXQrJltvpfے`JXQl|ZQJHAbHAdrtfH~ˑZHAbJtArdf~HbHAdrtfH~ˑZHAb|ZdQ~HfpHAZpdrtAH~fZHAbtArdf~HfHfbHAZdrtAH~fZHAbtArdHfp`bHAZbQZd~f`ZHAbArd|f~HbHAZpdrtA~f`ZHAbJtAd|Ard|f~Hrbd~f`HAbے˂pZbdQZ|H~fHAbےdQbnXZp˂Zp˂AJltf`vXے`JX|ZdQfpvZp˂AJltf`vXے`JXbtlvnXrQJ`ےJlt`vXnے`JXQ|ZdQbfpvpvnp˂rJlt`vXnے`JXQ|ZdQbf~Hp˂rrtAJlvXn`JXQZdQbtfpv˂rXJltvXn`JXQZdQbtZdQbfpvQZ|lvXn`JXQrHAbےdrtA`vXn`JXQrv`f~rXQJ`rbdQZ|bdQZ|nvpQr˂pbtlnXv`rXQJ`ۉbdQZ|nvpQr˂pJtArdtv`fbHAZpbdQZ|vpfr˂ptlJnXv`rXQJ`XQJ`ےbdQZ|vpfr˂ptlJfpvXQHAZptbdQvpfHr˂plJtnXv`QJ`ےbdQZ|vpfHr˂plJtnXv`nXv`˒tbdQvpfH˂pZ`JXQrJltvpf˂pZfpv㒐bHAdrtdtAfH~ˑZHAbJtArdf~HbHAdrtfH~ˑZHAblJt~HXv`˂rXdrtAH~fZHAbtArdf~HےHAZbHAZdrtAH~fZHAbtArdnXv`˂rXQZ|d~f`ZHAbArd|f~HbHAZpdrtA~f`ZHAbArd|f~HfHfpZ|d~fvHAbے˂pZbdQZ|H~fHAbےnXv`Zp˂AJltJltf`vXے`JX|ZdQfpvZp˂AJltf`vXے`JXArd|f~HQJ`ےJlt`vXnے`JXQ|ZdQbfpvp˂rp˂rJlt`vXnے`JXQ|ZdQbf~HJ`ےrtAJlvXn`JXQZdQbtfpv˂rXJltvXn`JXQZdQbtfpvvnrtAJlnvp`JXQrHAbےdrtA`vXn`JXQrf~HrXQJ`ۉbdQZ|bnvpnvpQr˂pbtlnXv`rXQJ`ۉbdQZ|nvpQr˂pZdQbtfpvbHAZpbdQZ|vpfr˂ptlJnXv`XQJ`ےbdQZ|bdQZ|vpfr˂ptlJfpvbHAZptbdQvpfHr˂plJtnXv`QJ`ےbdQZ|vpfHr˂plJtnXv`rXQJ`ptbdQfH~˂pZ`JXQrJltvpf˂p|fpv㒐bHAdrtfHfH~ˑZHAbJtArdf~HbHAdrtfH~ˑZHAblJtnXv`˂rQJdrtAH~fZHAbtArdf~HbHAZdrtAdtAJH~fZHAbtArd~Hf˂rXQZ|AJl~f`ZHAbArd|f~HbHAZpdrtA~f`ZHAbArd|f~H˂rXZ|dtf`vXHAbے˂pZbdQZ|H~fZdQbtnXv`Zp˂AJltf`vXf`vXے`JX|ZdQfpvZp˂AJltf`vXے`JXArd|f~HbHAJlt`vXnے`JXQ|ZdQbfpvp˂rJltltb`vXnے`JXQ|ZdQbpvnJ`p˂tbvXn`JXQZdQbtfpv˂rXJltvXn`JXQZdQbtfpvQJ`ےbdQZ|nvp`JXQrHAے`drtA`vXnlJtAf~fvrXQJ`ۉbdQZ|nvpnr˂pQr˂pbtlnXv`rXQJ`ۉbdQZ|nvpQr˂plJtAfp`Zp˂bdQZ|vpfr˂ptlJnXv`XQJ`ےbdQZ|nvpvpfr˂ptlJXv`frbdQnvpvpfHr˂plJtnXv`QJ`ےbdQZ|vpfHr˂plJtnXv`˙bHAZpdrtfH~˂pZJXQrbJltvpfrd|nXvbHAdrtfH~ˑZHAbZHAJtArdf~HbHAdrtfH~ˑZHAbrd|f~HrXQJ`drtAH~fZHAbtArdf~HbHAZdrtAfHfH~fZHAbtArd~HfZ|rAfHf`~f`ZHAbArd|f~HbHAZpdrtA~f`ZHAbArd|f~H˂rXAJltf`vnHAbےtlJtAd|rd|~HfbHAZpdrtAJ~f`HAbےrd|~HfbHAZp|drf`pfJXQrrd|~HfpbHAZp˙rtAJl~f`Abے`Aے`rd|~HfpbHAZp˙rtAJl~f`ZHAbQXb㉀f۝`vZdQbtZdQbnpvn˂rXQltbvXn`JXQrZdQbtpvn˂rXQtAJlH~fpZHAZdQbtvnXrXQtbdvXnہJXQrJXQrbtZdQbtvnXrXQtbdvXnے`JXQۑpJAHrXnvˍlJtAXv`fXv`fJ`ےdQZ|vpfH˂pZlJtAXv`fJ`ےtbdQZ`vXnbے`JlJtAv`fJ`ےQZ|dvpfH˂pZHlJtlJtAv`fJ`ےQZ|dvpfHr˂p󙐂ˁ`Zp|drrd|~HfHfpbHAZpdrtAJ~f`HAbےrd|~HfbHAZp|drvpfQrpZrd|~HfpbHAZp˙rtAJl~f`Abے`Ad|rd|~HfpbHAZp˙rtAJl~f`ZHAbQXb㉀QtJlZdQbtpvnvnr˂rXQltbvXn`JXQrZdQbtpvn˂rXQtAdQZ|H~fHAbےZdQbtvnXrXQtbdvXnہJXQrZdQbtZdQbnXvnXrXQtbdvXnے`JXQHXnvˍtbAdZlJtAXv`fXQJ`ےJ`ےdQZ|vpfH˂pZlJtAXv`fJ`ےdrtA`vXH`JXQrlJtAv`fJ`ےQZ|dvpfH˂pZHlJtAv`fv`fJ`ےQZ|dvpfHAbے`pfH~|drrd|~HfHAZpbHAZpdrtAJ~f`HAbےrd|~HfbHAZpJlt~f`˂pZrd|~HfpbHAZp˙rtAJl~f`Abے`rd|~HfpHfpbHAZp˙rtAJl~f`JXQrf۝`vQtJlZdQbtpvn˂rXQ˂rbltbvXn`JXQrZdQbtpvn˂rXQbdQZ|vXnHAbےZdQbtvnXrXQtbdvXnہJXQrZdQbtvnXvnrXrXQtbdvXnۉ˂pZHXnvˍtbAdZlJtAXv`fJ`ےdQZ|dQZ|vpfH˂pZlJtAXv`fJ`ےdrtAvpfH`JXQrlJtAv`fJ`ےQZ|dvpfH˂pZHlJtAv`fQJ`ےJ`ےQZ|dvpfHAbے`pfH~|drrd|~HfbHAZpdrtAJdtAJl~f`HAbےrd|~HfbHAZpJl|~f`ZHAbrd|~HfpbHAZp˙rtAJl~f`Abے`rd|~HfpHAZpbHAZp˙rtAJl~f`JXQrf۝`vQtJlZdQbtpvn˂rXQltbtbnvXn`JXQrZdQbtpvn˂rXQdrtAJvXnے`JXZdQbtvnXrXQtbdvXnہJXQrZdQbtvnXrXQrbdtbdvXnۉ˂p`ZXnvˍtbAdZlJtAXv`fJ`ےdQZ|vpfvpfH˂pZlJtAXv`fJ`ےltbf`vQr˂plJtAv`fJ`ےQZ|dvpfH˂pZHlJtAv`fJ`ےQZ|dQZ|dvpfHQXb㉀pfH~|drrd|~HfbHAZpdrtAJHf`~f`HAbےrd|~HfbHAZpdQZ|XnvZHAbrd|~HfpbHAZp˙rtAJl~f`Abے`rd|~HfpbHAZp˙rtAJltAJl~f`ۑpJAHrf۝`vQtJlZdQbtpvn˂rXQltbvXnvXnr`JXQrZdQbtpvn˂rXQdrtAJpfH~ے`JXZdQbtvnXrXQtbdvXnہJXQrZdQbtvnXrXQtbdtbnvXn󙐂ˁ`ZXnvˍtbAdZlJtAXv`fJ`ےdQZ|vpfH˂pZ˂pZlJtAXv`fJ`ےltdf`vQr˂plJtAv`fJ`ےQZ|dvpfH˂pZHlJtAv`fJ`ےQZ|dvpfHvpfHQXb㉀pfH~|drrd|~HfbHAZpdrtAJ~f`HAbےHAے`rd|~HfbHAZprtAJlXnvZA`rd|~HfpbHAZp˙rtAJl~f`Abے`rd|~HfpbHAZp˙rtAJlf`~f`ۑpJAHrf۝`vQtJlZdQbtpvn˂rXQltbvXn`JXQrJXQrbZdQbtpvn˂rXQtbdQp`vXJXQrbtZdQbtvnXrXQtbdvXnہJXQrZdQbtvnXrXQtbdvXnvXnے`󙐉ۑXnvˍtbAdZlJtAXv`fJ`ےdQZ|vpfH˂pZtlJlJtAXv`fJ`ےZ|dnr˂lJtlJtAv`fJ`ےQZ|dvpfH˂pZHlJtAv`fJ`ےQZ|dvpfHJXQrpJAHrpfH~|drrd|~HfbHAZpdrtAJ~f`HAbےtAd|rd|~HfbHAZprtAJlpZAb`Ad|rd|~HfpbHAZp˙rtAJl~f`Abے`rd|~HfpbHAZp˙rtAJl~f`˂pZHˁ`ZQf۝`vQtJlZdQbtpvn˂rXQltbvXn`JXQrZdQbtZdQbnpvn˂rXQtbdQJXQrZdQbtZdQbnXvnXrXQtbdvXnہJXQrZdQbtvnXrXQtbdvXnAbے`Xb㉀ۑXnvˍtbAdZlJtAXv`fJ`ےdQZ|vpfH˂pZlJtAXv`fXv`fJ`ےZ|l璉˂pZHlJtAv`fv`fJ`ےQZ|dvpfH˂pZHlJtAv`fJ`ےQZ|dvpfHJXQrpJAHrpfH~|drrd|~HfbHAZpdrtAJ~f`HAbےrd|~HfHfpbHAZptbnAbے`rd|~HfpHfpbHAZp˙rtAJl~f`Abے`rd|~HfpbHAZp˙rtAJl~f`˂pZHˁ`pJf۝`vQtJlZdQbtpvn˂rXQltbvXn`JXQrZdQbtpvnvnr˂rXQvp`vJXQrZdQbtvnXvnrXrXQtbdvXnہJXQrZdQbtvnXrXQtbdvXnAXQrAHr󙐂XnvˍtbAdZlJtAXv`fJ`ےdQZ|vpfH˂pZlJtAXv`fXQJ`ےJ`ےXnv˂pZHlJtAv`fQJ`ےJ`ےQZ|dvpfH˂pZHlJtAv`fJ`ےQZ|dvpfHpZHAˁ`ZQXbpfH~|drrd|~HfbHAZpdrtAJ~f`HAbےrd|~HfHAZpbHAZppfH~AbJXQrd|~HfpHAZpbHAZp˙rtAJl~f`Abے`rd|~HfpbHAZp˙rtAJl~f`bے`㉀ۑpJf۝`vQtJlZdQbtpvn˂rXQltbvXn`JXQrZdQbtpvn˂rXQ˂rbf`vr˂pZdQbtvnXrXQrbdtbdvXnہJXQrZdQbtvnXrXQtbdvXnJXQrAHr󙐂XnvˍtbAdZlJtAXv`fJ`ےdQZ|vpfH˂pZlJtAXv`fJ`ےdQZ|lXnvZHAblJtAv`fJ`ےQZ|dQZ|dvpfH˂pZHlJtAv`fJ`ےQZ|dvpfHpZHAˁ`ZQXApfH~|drrd|~HfbHAZpdrtAJ~f`HAbےrd|~HfbHAZptbdQpfH~ے`JXQrd|~HfpbHAZp˙rtAJltAJl~f`Abے`rd|~HfpbHAZp˙rtAJl~f`b˂pHr󙐂ˁf۝`vQtJlZdQbtpvn˂rXQltbvXn`JXQrZdQbtpvn˂rXQZ|dvpr˂pZdQbtvnXrXQtbdtbnvXnہJXQrZdQbtvnXrXQtbdvXnۑZHAb`ZQXbXnvˍtbAdZlJtAXv`fJ`ےdQZ|vpfH˂pZlJtAXv`fJ`ےrtAJlfH~ZHAblJtAv`fJ`ےQZ|dvpfHvpfH˂pZHlJtAv`fJ`ےQZ|dvpfHے`JXۑpJApfH~|drrd|~HfbHAZpdrtAJ~f`HAbےrd|~HfbHAZptbdQf`vXJQrrd|~HfpbHAZp˙rtAJlf`~f`Abے`rd|~HfpbHAZp˙rtAJl~f`Qr˂pHr󙐂ˁf۝`vQtJlZdQbtpvn˂rXQltbvXn`JXQrZdQbtpvn˂rXQZ|dnvppZHAZdQbtvnXrXQtbdvXnvXnrJXQrZdQbtvnXrXQtbdvXnۑZHAb`ZQXbXnvˍtbAdZlJtAXv`fJ`ےdQZ|vpfH˂pZlJtAXv`fJ`ےtbdQZfH~bے`lJtAv`fJ`ےQZ|dvpfH˂pZH˂pZHlJtAv`fJ`ےQZ|dvpfHے`pˁ`ZpfH~|drQtJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKK \ No newline at end of file diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv32_1.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv32_1.dat deleted file mode 100644 index d19aed9658..0000000000 --- a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv32_1.dat +++ /dev/null @@ -1,289 +0,0 @@ -}~}~}~}~}~}~}~}~{|{|{|{|{|{|{|{|yzyzyzyzyzyzyzyzwxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvuvuvuvuvststststststststqrqrqrqropopopopopopopopmnmnmnmmnmnmnmnmlklklklklklklklkjijijijijijijijihghghghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUSTSTSTSTQRQRQRQRQRQRQRQRQRQRQRQROPOPOPOPOPOPOPOPMNMNMNMNMNMNMNMNKLKLKLKLKLKLKLKLIJIJIJIJIJIJIJIJGHGHGHGHGHGHGHGHEFEFEFEFEFEFEFEFCDCDCDCDCDCDCDCDABABABABABABABABABABABA@?@?@?@?@?@?@?@?@=>=>=>=>;<;<;<;<;<;<;<;<99:9:9:9:999999:87878787878787876565656565656565434343434343434321212121212121210/0/0/0/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!       }~}~}~}~}~}~}~}~{|{|{|{|{|{|{|{|yzyzyzyzyzyzyzyzwxwxwxwxwxwxwxwxuvuvuvuvuvuvuvuvuvuvuvuvststststststststqrqrqrqropopopopopopopopmmmmnmnmnmnmmmmmlklklklklklklklkjijijijijijijijihghghghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUTSTSSTSTSTSTQRQRQRQRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPOPMNMNMNMNMNMNMNMNKLKLKLKLKLKLKLKLIJIJIJIJIJIJIJIJGHGHGHGHGHGHGHGHEFEFEFEFEFEFEFEFCDCDCDCDCDCDCDCDABABABABABABABAB?@?@?@?@?@?@?@?@?@?@?@?@=>=>=>=>;<;<;<;<;<;<;<;<:9:9:9:99:9:9:9:87878787878787876565656565656565434343434343434321212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!     }~}~}~}~}~}~}~}~{|{|{|{|{|{|{|{|yzyzyzyzyzyzyzyzwxwxwxwxwxwxwxwxuvuvuvuvuvuvuvuvutstststststststststststqrqrqrqropopopopopopopopnmnmnmnmmnmnmnmnlklklklklklklklkjijijijijijijijihghghghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcbabababababababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUTSTSSSSSSTSTSTSTQRQRQRQRQRQRQRQROPOPOPOPOPOPOPOPOPOPOPOPMNMNMNMNMNMNMNMNKLKLKLKLKLKLKLKLIJIJIJIJIJIJIJIJGHGHGHGHGHGHGHGHEFEFEFEFEFEFEFEFCDCDCDCDCDCDCDCDABABABABABABABAB?@?@?@?@?@?@?@?@?@?@?@?>=>=>=>=>;<;<;<;<;<;<;<;<:9:9:9:99:9:9:9:87878787878787876565656565656565434343434343434321212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!      }~}~}~}~}~}~}~}~{|{|{|{|{|{|{|{|yzyzyzyzyzyzyzyzwxwxwxwxwxwxwxwxuvuvuvuvuvuvuvuvststststststststststststqrqrqrqropopopopopopopopnmnmnmnmmnmnmnmnlklklklklklklklkjijijijijijijijihghghghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcbabababababababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUSTSTSTSTSSSSSSTSQRQRQRQRQRQRQRQROPOPOPOPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMNKLKLKLKLKLKLKLKLIJIJIJIJIJIJIJIJGHGHGHGHGHGHGHGHEFEFEFEFEFEFEFEFCDCDCDCDCDCDCDCDABABABABABABABAB?@?@?@?@?@?@?@?@=>=>=>=>=>=>=>=>;<;<;<;<;<;<;<;<:9:9:9:99:9:9:9:87878787878787876565656565656565434343434343434321212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!       }~}~}~}~}~}~}~}~{|{|{|{|{|{|{|{|yzyzyzyzyzyzyzyzwxwxwxwxwxwxwxwxuvuvuvuvuvuvuvuvststststststststsrqrqrqrqrqrqrqropopopopopopopopnmnmnmnmmnmnmnmnlklklklklklklklkjijijijijijijijihghghghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUSTSTSTSTTSTSTSTSQRQRQRQRQRQRQRQROPOPOPOPOPOPOPOPMNMNMNMNMNMNMNMNMNMNMNMNKLKLKLKLKLKLKLKLIJIJIJIJIJIJIJIJGHGHGHGHGHGHGHGHEFEFEFEFEFEFEFEFCDCDCDCDCDCDCDCDABABABABABABABAB?@?@?@?@?@?@?@?@=>=>=>=>=>=>=>=>;<;<;<;<;<;<;<;<:9:9:9:99:9:9:9:87878787878787876565656565656565434343434343434321212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!       }~}~}~}~}~}~}~}~{|{|{|{|{|{|{|{|yzyzyzyzyzyzyzyzwxwxwxwxwxwxwxwxuvuvuvuvuvuvuvuvststststststststqrqrqrqrqrqrqrqropopopopopopopopnmnmnmnmmnmnmnmnlklklklklklklklkjijijijijijijijihghghghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUSTSTSTSTTSTSTSTSQRQRQRQRQRQRQRQROPOPOPOPOPOPOPOPMNMNMNMNMNMNMNMNMNMNMNMLKLKLKLKLKLKLKLKLIJIJIJIJIJIJIJIJGHGHGHGHGHGHGHGHEFEFEFEFEFEFEFEFCDCDCDCDCDCDCDCDABABABABABABABAB?@?@?@?@?@?@?@?@=>=>=>=>=>=>=>=>;<;<;<;<;<;<;<;<:9:999999:9:9:9:87878787878787876565656565656565434343434343434321212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#"!"!"!"!"!"!       }~}~}~}~}~}~}~}~{|{|{|{|{|{|{|{|yzyzyzyzyzyzyzyzwxwxwxwxwxwxwxwxuvuvuvuvuvuvuvuvststststststststqrqrqrqrqrqrqrqropopopopopopopopnmnmnmmmmnmnmnmnlklklklklklklklkjijijijijijijijihghghghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWVUVUVUVUVUSTSTSTSTTSTSTSTSQRQRQRQRQRQRQRQROPOPOPOPOPOPOPOPMNMNMNMNMNMNMNMNKLKLKLKLKLKLKLKLKLKLKLKLIJIJIJIJIJIJIJIJGHGHGHGHGHGHGHGHEFEFEFEFEFEFEFEFCDCDCDCDCDCDCDCDABABABABABABABAB?@?@?@?@?@?@?@?@=>=>=>=>=>=>=>=>;<;<;<;<;<;<;<;<9:9:9:9:999999:987878787878787876565656565656565434343434343434321212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)*)*)*)('('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#"!"!"!"!"!"!"!"!       }~}~}~}~}~}~}~}~{|{|{|{|{|{|{|{|yzyzyzyzyzyzyzyzwxwxwxwxwxwxwxwxuvuvuvuvuvuvuvuvststststststststqrqrqrqrqrqrqrqropopopopopopopopmmmnmnmnmnmmmmmmlklklklklklklklkjijijijijijijijihghghghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWVUVUVUVUVUVUVUVUSTSTSTSTTSTSTSTSQRQRQRQRQRQRQRQROPOPOPOPOPOPOPOPMNMNMNMNMNMNMNMNKLKLKLKLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIJGHGHGHGHGHGHGHGHEFEFEFEFEFEFEFEFCDCDCDCDCDCDCDCDABABABABABABABAB?@?@?@?@?@?@?@?@=>=>=>=>=>=>=>=>;<;<;<;<;<;<;<;<9:9:9:9::9:9:98787878787878787876565656565656565434343434343434321212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#"!"!"!"!"!"!"!"!    }~}~}~}~}~}~}~}~{|{|{|{|{|{|{|{|yzyzyzyzyzyzyzyzwxwxwxwxwxwxwxwxuvuvuvuvuvuvuvuvststststststststqrqrqrqrqrqrqrqropopopopopopopopmnmnmnmnnmnmnmnmlklklklklklklklkjijijijijijijijihghghghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWVUVUVUVUVUVUVUVUSTSSSSSSTSTSTSTSQRQRQRQRQRQRQRQROPOPOPOPOPOPOPOPMNMNMNMNMNMNMNMNKLKLKLKLKLKLKLKLIJIJIJIJIJIJIJIJIJIJIJIJGHGHGHGHGHGHGHGHEFEFEFEFEFEFEFEFCDCDCDCDCDCDCDCDABABABABABABABAB?@?@?@?@?@?@?@?@=>=>=>=>=>=>=>=>;<;<;<;<;<;<;<;<9:9:9:9:8787878787878787878787876565656565656565434343434343434321212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('('('('&%&%&%&%&%&%&%&%&%$#$#$#$#"!"!"!"!"!"!"!"!       ~}~}~}~}~}~}~}~}~}~}~}~{|{|{|{|{|{|{|{|yzyzyzyzyzyzyzyzwxwxwxwxwxwxwxwxuvuvuvuvuvuvuvuvststststststststqrqrqrqrqrqrqrqropopopopopopopopmnmnmnmnlklklklklklklklklklklklkjijijijijijijijihghghghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSSSSSSTSTQRQRQRQRQRQRQRQROPOPOPOPOPOPOPOPMNMNMNMNMNMNMNMNKLKLKLKLKLKLKLKLIJIJIJIJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGHEFEFEFEFEFEFEFEFCDCDCDCDCDCDCDCDABABABABABABABAB?@?@?@?@?@?@?@?@=>=>=>=>=>=>=>=>;<;<;<;<;<;:9:9:9:9:9:9:8787878787878787878787656565656565656565434343434343434321212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%&%&%&%&%$#$#$#$#"!"!"!"!"!"!"!"!        }~}~}~}~}~}~}~}~}~}~}~}~{|{|{|{|{|{|{|{|yzyzyzyzyzyzyzyzwxwxwxwxwxwxwxwxuvuvuvuvuvuvuvuvststststststststqrqrqrqrqrqrqrqropopopopopoponmnmnmnmnmnlklklklklklklklklklklklkjijijijijijijijihghghghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYZYZYZYZYXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSSTSTSTSTQRQRQRQRQRQRQRQROPOPOPOPOPOPOPOPMNMNMNMNMNMNMNMNKLKLKLKLKLKLKLKLIJIJIJIJIJIJIJIJGHGHGHGHGHGHGHGHGHGHGHGHEFEFEFEFEFEFEFEFCDCDCDCDCDCDCDCDABABABABABABABAB?@?@?@?@?@?@?@?@=>=>=>=>=>=>=>=>;<;<;<;<9:99999:9:9:9:9:8787878787878787656565656565656565656565434343434343434321212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%&%&%&%$#$#$#$#$#"!"!"!"!"!"!"!"!        }~}~}~}~}~}~}~}~}|{|{|{|{|{|{|{|{|{|{|{|yzyzyzyzyzyzyzyzwxwxwxwxwxwxwxwxuvuvuvuvuvuvuvuvststststststststqrqrqrqrqrqrqrqropopopopmnmnmmmmmnmnmnmnlklklklklklklklkjijijijijijijijijijijijihghghghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYZYZYZYZYXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSSTSTSTSTQRQRQRQRQRQRQRQROPOPOPOPOPOPOPOPMNMNMNMNMNMNMNMNKLKLKLKLKLKLKLKLIJIJIJIJIJIJIJIJGHGHGHGHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEFCDCDCDCDCDCDCDCDABABABABABABABAB?@?@?@?@?@?@?@?@=>=>=>=>=>=>=>=>;<;<;<;<9:9:9:9:9:9999998787878787878787656565656565656565656543434343434343434321212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!        }~}~}~}~}~}~}~}~{|{|{|{|{|{|{|{|{|{|{|{|yzyzyzyzyzyzyzyzwxwxwxwxwxwxwxwxuvuvuvuvuvuvuvuvststststststststqrqrqrqrqrqrqrqropopopopmnmnmnmnmnmnmmmmlklklklklklklklkjijijijijijijijijijijijihghghghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSSTSTSTSTQRQRQRQRQRQRQRQROPOPOPOPOPOPOPOPMNMNMNMNMNMNMNMNKLKLKLKLKLKLKLKLIJIJIJIJIJIJIJIJGHGHGHGHGHGHGHGHEFEFEFEFEFEFEFEFEFEFEFEFCDCDCDCDCDCDCDCDABABABABABABABAB?@?@?@?@?@?@?@?@=>=>=>=>=>=>=>=>;<;<;<;<9:9:9:9::9:9:9:98787878787878787656565656565656543434343434343434343434321212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!        }~}~}~}~}~}~}~}~{|{|{|{|{|{|{|{|{zyzyzyzyzyzyzyzyzyzyzyzwxwxwxwxwxwxwxwxuvuvuvuvuvuvuvuvststststststststqrqrqrqrqrqrqrqropopopopmnmnmnmnmmnmnmnmlklklklklklklklkjijijijijijijijihghghghghghghghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSSTSTSTSTQRQRQRQRQRQRQRQROPOPOPOPOPOPOPOPMNMNMNMNMNMNMNMNKLKLKLKLKLKLKLKLIJIJIJIJIJIJIJIJGHGHGHGHGHGHGHGHEFEFEFEFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCDABABABABABABABAB?@?@?@?@?@?@?@?@=>=>=>=>=>=>=>=>;<;<;<;<9:9:9:9::9:9:9:98787878787878787656565656565656543434343434343434343432121212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!      }~}~}~}~}~}~}~}~{|{|{|{|{|{|{|{|yzyzyzyzyzyzyzyzyzyzyzyzwxwxwxwxwxwxwxwxuvuvuvuvuvuvuvuvststststststststqrqrqrqrqrqrqrqropopopopmnmnmnmnnmnmnmnmlklklklklklklklkjijijijijijijijihghghghghghghghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSSSSSSTSTSTSTSTQRQRQRQRQRQRQRQROPOPOPOPOPOPOPOPMNMNMNMNMNMNMNMNKLKLKLKLKLKLKLKLIJIJIJIJIJIJIJIJGHGHGHGHGHGHGHGHEFEFEFEFEFEFEFEFCDCDCDCDCDCDCDCDCDCDCDCDABABABABABABABAB?@?@?@?@?@?@?@?@=>=>=>=>=>=>=<;<;<;<;<;<9:9:9:9::9:9:9:98787878787878787656565656565656543434343434343432121212121212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!      }~}~}~}~}~}~}~}~{|{|{|{|{|{|{|{|yzyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwxwxwxwxuvuvuvuvuvuvuvuvststststststststqrqrqrqrqrqrqrqpopopopopmnmnmnmnnmnmnmnmlklklklklklklklkjijijijijijijijihghghghghghghghgfefefefefefefefefefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUSTSTSTSTSTSSSSSTQRQRQRQRQRQRQRQROPOPOPOPOPOPOPOPMNMNMNMNMNMNMNMNKLKLKLKLKLKLKLKLIJIJIJIJIJIJIJIJGHGHGHGHGHGHGHGHEFEFEFEFEFEFEFEFCDCDCDCDCDCDCDCDCDCDCDCBABABABABABABABAB?@?@?@?@?@?@?@?@=>=>=>=>;<;<;<;<;<;<;<;<9:9:9:9::9:9:9:987878787878787876565656565656565434343434343434321212121212121212121210/0/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!      }~}~}~}~}~}~}~}~{|{|{|{|{|{|{|{|yzyzyzyzyzyzyzyzwxwxwxwxwxwxwxwxwxwxwxwxuvuvuvuvuvuvuvuvststststststststqrqrqrqropopopopopopopopmnmnmnmnnmnmnmnmlklklklklklklklkjijijijijijijijihghghghghghghghgfefefefefefefefefefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQROPOPOPOPOPOPOPOPMNMNMNMNMNMNMNMNKLKLKLKLKLKLKLKLIJIJIJIJIJIJIJIJGHGHGHGHGHGHGHGHEFEFEFEFEFEFEFEFCDCDCDCDCDCDCDCDABABABABABABABABABABABAB?@?@?@?@?@?@?@?@=>=>=>=>;<;<;<;<;<;<;<;<9:9:9999:9:9:9:987878787878787876565656565656565434343434343434321212121212121210/0/0/0/0/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!             - - - - - - - -         - - - - - - - - - -         - - - - - - - - - - - -         - - - - - - - - - -          - - - - - - - -         - - - - - - - -         - - - - - - - -         - - - - - - - -         - - - - - - - -         - - - - - - - -         - - - - - - - -         - - - - - - - -         - - - - - - - -         - - - - - - - -          - - - - - - - -             - - - - - - - -           - - - - - - - -LLKKJJII - - MMNNOOPP88776655''(())**zz{{||}}YYXWVUTS -@AABBCCDYXXWWVVU01122334tuuvvwwxihhggffe%$$##""! !!""##$deeffgghyxxwwvvu54433221TUUVVWWXEDDCCBBADEEFFGGHUTTSSRRQ BCCDDEEF43322110 hhiijjkkppoonnmm,,++**))]]^^__``~~}}<<;;::99 - - MMNNOOPPLLKKJJII==>>??@@\\[[ZZYY--..//00qqrrssttllkkjjii((''&&%% aabbccddwwvvuutt33445566KJJIIHHGEFFGGHHITSSRRQQP 56677889yzz{{||}dccbbaa` %&&''(()ijjkkllmtssrrqqp0//..--,YZZ[[\\]@??>>==< IJJKKLLMPOONNMML - - GHHIIJJK~/..--,,+#$%%&&''mmnopqrskkjjiihh''&&%%$$ !!bbccddee{{zzyyxx77665544RRSSTTUUGGFFEEDDBBCCDDEEWWVVUUTT22334455vvwwxxyyggffeedd##""!! ""##$$%%ffgghhiimmllkkjj8899??@@FEEDDCCBHHGGFFEE QQRRSSTT44332211++,,--..~~SRRQQPPO - DEEFFGGHUTTSSRRQ 45566778xyyzz{{|eddccbba! $%%&&''(hiijjkkluttssrrq100//..-XYYZZ[[\A@@??>>=HIIJJKKLQPPOONNM - - FGGHHIIJ0//..--,!"#$%%&&llmmnopqllkkjjii((''&&%% aabbccdd||{{zzyy88776655 QQRRSSTTHHGGFFEEAABBCCDDXXWWVVUU11223344uuvvwwxxhhggffee$$##""!!!!""##$$eeffgghhssmmllkk778899??GFFEEDDC IJJKKLLMPOONNMML - - 9::;;<<=}~~`__^^]]\)**++,,-mnnooppqpoonnmml,++**))(]^^__``a~~}}|<;;::998 - - MNNOOPPQLKKJJIIHKLLMMNNO~}}||{{z+**))(('(())**++sttuuvvwggffeedd##""!! ""##$$%%ffgghhiiwwvvuutt33221100VVWWXXYYCCBBAA@@FFGGHHIISSRRQQPP 66778899zz{{||}}ccbbaa``&&''(())jjkkllmmiihhggffAABBCCDDBAA@@??>DDCCBBAAUUVVWWXX00//..--//001122ONNMMLLKHIIJJKKLQPPOONNM - - 899::;;<|}}~~a``__^^]())**++,lmmnnoopqppoonnm-,,++**)\]]^^__`~~}=<<;;::9 - - LMMNNOOPMLLKKJJI JKKLLMMN~~}}||{,++**))(''(())**rssttuuvhhggffee$$##""!!!!""##$$eeffgghhxxwwvvuu44332211UUVVWWXXDDCCBBAAEEFFGGHHTTSSRRQQ 55667788yyzz{{||ddccbbaa %%&&''((iijjkklljjiihhgg@@AABBCCCBBAA@@? - - MNNOOPPQLKKJJIIH=>>??@@A\[[ZZYYX-..//001qrrssttulkkjjiih(''&&%%$ !abbccdde|{{zzyyx87766554 QRRSSTTUHGGFFEEDOPPQQRRSzyyxxwwv'&&%%,,--..//wxxyyzz{ccbbaa``&&''(())jjkkllmmssrrqqpp//..--,,ZZ[[\\]]??>>==<< JJKKLLMMOONNMMLL - - ::;;<<==~~__^^]]\\**++,,--nnooppqqeeddccbbEEFFGGHH=<;:9988@@??>>==YYZZ[[\\~~}}||,,++**))33445566KJJIIHHG - - LMMNNOOPMLLKKJJI <==>>??@]\\[[ZZY,--..//0pqqrrsstmllkkjji)((''&&% `aabbccd}||{{zzy98877665 PQQRRSSTIHHGGFFENOOPPQQR{zzyyxxw(''&&%%++,,--..vwwxxyyzddccbbaa %%&&''((iijjkkllttssrrqq00//..--YYZZ[[\\@@??>>==IIJJKKLLPPOONNMM - - 99::;;<<}}~~``__^^]]))**++,,mmnnooppffeeddccDDEEFFGG?>=<;:99 QRRSSTTUHGGFFEEDABBCCDDEXWWVVUUT12233445uvvwwxxyhggffeed$##""!! !""##$$%effgghhixwwvvuut43322110UVVWWXXYDCCBBAA@ SYYZZ[[\vuuttssm00112233{||}}~~__^^]]\\**++,,--nnooppqqoonnmmll++**))((^^__``aa~~}}||;;::9988 - - NNOOPPQQKKJJIIHH>>??@@AA[[ZZYYXX..//0011rrssttuuaa``__^^ IIJJKKLL77665544~~}}<<;;::99]]^^__``{{zzyyxx((''&&%%778899??GFFEEDDC PQQRRSSTIHHGGFFE@AABBCCDYXXWWVVU01122334tuuvvwwxihhggffe%$$##""! !!""##$deeffgghyxxwwvvu54433221TUUVVWWXEDDCCBBARSSYYZZ[wvvuutts//001122z{{||}}~``__^^]]))**++,,mmnnooppppoonnmm,,++**))]]^^__``~~}}<<;;::99 - - MMNNOOPPLLKKJJII==>>??@@\\[[ZZYY--..//00qqrrssttbbaa``__ HHIIJJKK88776655UVVWWXXYDCCBBAA@EFFGGHHITSSRRQQP 56677889yzz{{||}dccbbaa` %&&''(()ijjkkllmtssrrqqp0//..--,YZZ[[\\]@??>>==< - - \]]^^__`mllkkjji44556677[[ZZYYXX..//0011rrssttuukkjjiihh''&&%%$$ !!bbccddee{{zzyyxx77665544RRSSTTUUGGFFEEDDBBCCDDEEWWVVUUTT22334455vvwwxxyy]]\\[[ZZ - - MMNNOOPP~~}}||{33221100||{{zzyy88776655 aabbccddwwvvuutt@@AABBCCCBBAA@@?TUUVVWWXEDDCCBBADEEFFGGHUTTSSRRQ 45566778xyyzz{{|eddccbba! $%%&&''(hiijjkkluttssrrq100//..-XYYZZ[[\A@@??>>= - - [\\]]^^_smmllkkj33445566~\\[[ZZYY--..//00qqrrssttllkkjjii((''&&%% aabbccdd||{{zzyy88776655 QQRRSSTTHHGGFFEEAABBCCDDXXWWVVUU11223344uuvvwwxx^^]]\\[[ - - LLMMNNOO~~}}|44332211YZZ[[\\]@??>>==< IJJKKLLMPOONNMML - - 9::;;<<=}~~`__^^]]\)**++,,-mnnooppqpoonnmml,++**))(]^^__``a~~}}|<;;::998 `aabbccdihhggffe8899:;<=WWVVUUTT22334455vvwwxxyyggffeedd##""!! ""##$$%%ffgghhiiwwvvuutt33221100VVWWXXYYCCBBAA@@FFGGHHIISSRRQQPP 66778899zz{{||}}YYSSRRQQQQRRSSYY{zzyyxxw//..--,,xxwwvvuu44332211!!""##$$eeffgghhssmmllkkDDEEFFGG?>=<;:99XYYZZ[[\A@@??>>=HIIJJKKLQPPOONNM - - 899::;;<|}}~~a``__^^]())**++,lmmnnoopqppoonnm-,,++**)\]]^^__`~~}=<<;;::9 _``aabbcjiihhggf778899:;XXWWVVUU11223344uuvvwwxxhhggffee$$##""!!!!""##$$eeffgghhxxwwvvuu44332211UUVVWWXXDDCCBBAAEEFFGGHHTTSSRRQQ 55667788yyzz{{||ZZYYSSRRPPQQRRSS|{{zzyyx00//..--]^^__``a~~}}|<;;::998 - - MNNOOPPQLKKJJIIH=>>??@@A\[[ZZYYX-..//001qrrssttulkkjjiih(''&&%%$ !abbccdde|{{zzyyx87766554deeffggheddccbba>??@@AABSSRRQQPP 66778899zz{{||}}ccbbaa``&&''(())jjkkllmmssrrqqpp//..--,,ZZ[[\\]]??>>==<< JJKKLLMMOONNMMLL - - ::;;<<==~~PPOONNMM - -ZZ[[\\]]wvvuutts++**))((ttssrrqq00//..--%%&&''((iijjkklljjiihhggHHIIJJKK88776655\]]^^__`~~}=<<;;::9 - - LMMNNOOPMLLKKJJI <==>>??@]\\[[ZZY,--..//0pqqrrsstmllkkjji)((''&&% `aabbccd}||{{zzy98877665cddeeffgfeeddccb<=>??@@ATTSSRRQQ 55667788yyzz{{||ddccbbaa %%&&''((iijjkkllttssrrqq00//..--YYZZ[[\\@@??>>==IIJJKKLLPPOONNMM - - 99::;;<<}}~~QQPPOONN YYZZ[[\\xwwvvuut,,++**)) !abbccdde|{{zzyyx87766554 QRRSSTTUHGGFFEEDABBCCDDEXWWVVUUT12233445uvvwwxxyhggffeed$##""!! !""##$$%effgghhixwwvvuut43322110hiijjkkla``__^^] -BCCDDEEFOONNMMLL - - ::;;<<==~~__^^]]\\**++,,--nnooppqqoonnmmll++**))((^^__``aa~~}}||;;::9988 - - NNOOPPQQKKJJIIHH>>??@@AALLKKJJII ^^__``aasrqponmm''&&%%$#ppoonnmm,,++**))))**++,,mmnnooppffeeddccLLMMNNOO~~}}|44332211 `aabbccd}||{{zzy98877665 PQQRRSSTIHHGGFFE@AABBCCDYXXWWVVU01122334tuuvvwwxihhggffe%$$##""! !!""##$deeffgghyxxwwvvu54433221ghhiijjkbaa``__^ ABBCCDDEPPOONNMM - - 99::;;<<}}~~``__^^]]))**++,,mmnnooppppoonnmm,,++**))]]^^__``~~}}<<;;::99 - - MMNNOOPPLLKKJJII==>>??@@MMLLKKJJ - - ]]^^__``tssrqpon((''&&%%!""##$$%effgghhixwwvvuut43322110UVVWWXXYDCCBBAA@EFFGGHHITSSRRQQP 56677889yzz{{||}dccbbaa` %&&''(()ijjkkllmtssrrqqp0//..--,lmmssttu]\\[[ZZY - FGGHHIIJKKJJIIHH>>??@@AA[[ZZYYXX..//0011rrssttuukkjjiihh''&&%%$$ !!bbccddee{{zzyyxx77665544RRSSTTUUGGFFEEDDBBCCDDEEHHGGFFEEbbccddeellkkjjii"! llkkjjii((''&&%%--..//00qqrrssttbbaa``__ PPQQRRSS|{{zzyyx00//..-- !!""##$deeffgghyxxwwvvu54433221TUUVVWWXEDDCCBBADEEFFGGHUTTSSRRQ 45566778xyyzz{{|eddccbba! $%%&&''(hiijjkkluttssrrq100//..-kllmmsst^]]\\[[Z - - EFFGGHHILLKKJJII==>>??@@\\[[ZZYY--..//00qqrrssttllkkjjii((''&&%% aabbccdd||{{zzyy88776655 QQRRSSTTHHGGFFEEAABBCCDDIIHHGGFFaabbccddmmllkkjj$#"! %&&''(()ijjkkllmtssrrqqp0//..--,YZZ[[\\]@??>>==< IJJKKLLMPOONNMML - - 9::;;<<=}~~`__^^]]\)**++,,-mnnooppqpoonnmml,++**))(%%&uvvwwxxyYSSRRQQPJKKLLMMNGGFFEEDDBBCCDDEEWWVVUUTT22334455vvwwxxyyggffeedd##""!! ""##$$%%ffgghhiiwwvvuutt33221100VVWWXXYYCCBBAA@@FFGGHHIIDDCCBBAAffgghhiihhggffeehhggffee$$##""!!11223344uuvvwwxx^^]]\\[[ - - YYZZ[[\\xwwvvuut,,++**))$%%&&''(hiijjkkluttssrrq100//..-XYYZZ[[\A@@??>>=HIIJJKKLQPPOONNM - - 899::;;<|}}~~a``__^^]())**++,lmmnnoopqppoonnm-,,++**)%tuuvvwwxZYYSSRRQIJJKKLLMHHGGFFEEAABBCCDDXXWWVVUU11223344uuvvwwxxhhggffee$$##""!!!!""##$$eeffgghhxxwwvvuu44332211UUVVWWXXDDCCBBAAEEFFGGHHEEDDCCBBeeffgghhiihhggff)**++,,-mnnooppqpoonnmml,++**))(]^^__``a~~}}|<;;::998 - - MNNOOPPQLKKJJIIH=>>??@@A\[[ZZYYX-..//001qrrssttulkkjjiih(''&&%%$&''(())*yzz{{||}POONNMML NOOPPQQRCCBBAA@@FFGGHHIISSRRQQPP 66778899zz{{||}}ccbbaa``&&''(())jjkkllmmssrrqqpp//..--,,ZZ[[\\]]??>>==<< JJKKLLMM@@??9988jjkkllmmddccbbaaddccbbaa 55667788yyzz{{||ZZYYSSRR - - ]]^^__``tssrqpon((''&&%%())**++,lmmnnoopqppoonnm-,,++**)\]]^^__`~~}=<<;;::9 - - LMMNNOOPMLLKKJJI <==>>??@]\\[[ZZY,--..//0pqqrrsstmllkkjji)((''&&%%&&''(()xyyzz{{|QPPOONNMMNNOOPPQDDCCBBAAEEFFGGHHTTSSRRQQ 55667788yyzz{{||ddccbbaa %%&&''((iijjkkllttssrrqq00//..--YYZZ[[\\@@??>>==IIJJKKLLAA@@??99iijjkklleeddccbb-..//001qrrssttulkkjjiih(''&&%%$ !abbccdde|{{zzyyx87766554 QRRSSTTUHGGFFEEDABBCCDDEXWWVVUUT12233445uvvwwxxyhggffeed$##""!! *++,,--.}~~LKKJJIIH - - RSSTUVWX??>>==<< JJKKLLMMOONNMMLL - - ::;;<<==~~__^^]]\\**++,,--nnooppqqoonnmmll++**))((^^__``aa~~}}||;;::9988 - - NNOOPPQQ77665544ssttuuvv``__^^]]``__^^]]99::;;<<}}~~QQPPOONNaabbccddmmllkkjj$#"! ,--..//0pqqrrsstmllkkjji)((''&&% `aabbccd}||{{zzy98877665 PQQRRSSTIHHGGFFE@AABBCCDYXXWWVVU01122334tuuvvwwxihhggffe%$$##""!)**++,,-|}}~~MLLKKJJI - - QRRSSTUV@@??>>==IIJJKKLLPPOONNMM - - 99::;;<<}}~~``__^^]]))**++,,mmnnooppppoonnmm,,++**))]]^^__``~~}}<<;;::99 - - MMNNOOPP88776655mmssttuuaa``__^^12233445uvvwwxxyhggffeed$##""!! !""##$$%effgghhixwwvvuut43322110UVVWWXXYDCCBBAA@EFFGGHHITSSRRQQP 56677889yzz{{||}dccbbaa` .//00112HGGFFEED YYZZ[[\\~~}}||;;::9988 - - NNOOPPQQKKJJIIHH>>??@@AA[[ZZYYXX..//0011rrssttuukkjjiihh''&&%%$$ !!bbccddee{{zzyyxx77665544RRSSTTUU33221100%%&&''wwxxyyzz\\[[ZZYY \\[[ZZYY==>>??@@MMLLKKJJeeffgghhiihhggff01122334tuuvvwwxihhggffe%$$##""! !!""##$deeffgghyxxwwvvu54433221TUUVVWWXEDDCCBBADEEFFGGHUTTSSRRQ 45566778xyyzz{{|eddccbba! -..//001IHHGGFFE WXYYZZ[[~~}}<<;;::99 - - MMNNOOPPLLKKJJII==>>??@@\\[[ZZYY--..//00qqrrssttllkkjjii((''&&%% aabbccdd||{{zzyy88776655 QQRRSSTT44332211%%&&vvwwxxyy]]\\[[ZZ56677889yzz{{||}dccbbaa` %&&''(()ijjkkllmtssrrqqp0//..--,YZZ[[\\]@??>>==< IJJKKLLMPOONNMML - - 9::;;<<=}~~`__^^]]\23344556DCCBBAA@]]^^__``{{zzyyxx77665544RRSSTTUUGGFFEEDDBBCCDDEEWWVVUUTT22334455vvwwxxyyggffeedd##""!! ""##$$%%ffgghhiiwwvvuutt33221100VVWWXXYY//..--,,(())**++{{||}}~~XWVUTSSR - - XXWWVVUUAABBCCDDIIHHGGFFiijjkklleeddccbb45566778xyyzz{{|eddccbba! $%%&&''(hiijjkkluttssrrq100//..-XYYZZ[[\A@@??>>=HIIJJKKLQPPOONNM - - 899::;;<|}}~~a``__^^]12233445EDDCCBBA\\]]^^__||{{zzyy88776655 QQRRSSTTHHGGFFEEAABBCCDDXXWWVVUU11223344uuvvwwxxhhggffee$$##""!!!!""##$$eeffgghhxxwwvvuu44332211UUVVWWXX00//..--''(())**zz{{||}}YYXWVUTS -9::;;<<=}~~`__^^]]\)**++,,-mnnooppqpoonnmml,++**))(]^^__``a~~}}|<;;::998 - - MNNOOPPQLKKJJIIH=>>??@@A\[[ZZYYX6778899?@??99887aabbccddwwvvuutt33221100VVWWXXYYCCBBAA@@FFGGHHIISSRRQQPP 66778899zz{{||}}ccbbaa``&&''(())jjkkllmmssrrqqpp//..--,,ZZ[[\\]]~~}}||{{++**))((,,--..//RQQPPOON TTSSRRQQ EEFFGGHHEEDDCCBBmmssttuuaa``__^^899::;;<|}}~~a``__^^]())**++,lmmnnoopqppoonnm-,,++**)\]]^^__`~~}=<<;;::9 - - LMMNNOOPMLLKKJJI <==>>??@]\\[[ZZY56677889A@@??998``aabbccxxwwvvuu44332211UUVVWWXXDDCCBBAAEEFFGGHHTTSSRRQQ 55667788yyzz{{||ddccbbaa %%&&''((iijjkkllttssrrqq00//..--YYZZ[[\\~~}}||,,++**))++,,--..~~SRRQQPPO - =>>??@@A\[[ZZYYX-..//001qrrssttulkkjjiih(''&&%%$ !abbccdde|{{zzyyx87766554 QRRSSTTUHGGFFEEDABBCCDDEXWWVVUUT?@@AABBC76655443eeffgghhssrrqqpp//..--,,ZZ[[\\]]??>>==<< JJKKLLMMOONNMMLL - - ::;;<<==~~__^^]]\\**++,,--nnooppqqoonnmmll++**))((^^__``aazzyyxxww''&&%%00112233NMMLLKKJPPOONNMM - - IIJJKKLLAA@@??99%%&&vvwwxxyy]]\\[[ZZ<==>>??@]\\[[ZZY,--..//0pqqrrsstmllkkjji)((''&&% `aabbccd}||{{zzy98877665 PQQRRSSTIHHGGFFE@AABBCCDYXXWWVVU9??@@AAB87766554ddeeffggttssrrqq00//..--YYZZ[[\\@@??>>==IIJJKKLLPPOONNMM - - 99::;;<<}}~~``__^^]]))**++,,mmnnooppppoonnmm,,++**))]]^^__``{{zzyyxx((''&&%%//001122ONNMMLLKABBCCDDEXWWVVUUT12233445uvvwwxxyhggffeed$##""!! !""##$$%effgghhixwwvvuut43322110UVVWWXXYDCCBBAA@EFFGGHHITSSRRQQP CDDEEFFG3221100/ !"iijjkklloonnmmll++**))((^^__``aa~~}}||;;::9988 - - NNOOPPQQKKJJIIHH>>??@@AA[[ZZYYXX..//0011rrssttuukkjjiihh''&&%%$$ !!bbccddeevvuuttss44556677JIIHHGGF -JKKLLMMNONNMMLLK - - :;;<<==>~_^^]]\\[*++,,--.nooppqqronnmmllk+**))(('^__``aab~~}}||{;::99887 - NOOPPQQRKJJIIHHG>??@@AABIHHGGFFEijjkkllmYXXWWVVU@AABBCCD - NOOPPQQRKJJIIHHG>??@@AAB[ZZYYXXW.//00112rssttuuvkjjiihhg'&&%%$$# !!"bccddeef{zzyyxxw76655443RSSTTUUVGFFEEDDCBCCDDEEFEDDCCBBAmssttuuvUTTSSRRQ DEEFFGGHRSSTTUUVGFFEEDDCBCCDDEEFWVVUUTTS23344556vwwxxyyzgffeeddc#""!! "##$$%%&fgghhiijwvvuutts3221100/VWWXXYYZCBBAA@@?FGGHHIIJA@@??998%%&&'vwwxxyyzQPPOONNM - - HIIJJKKLVWWXXYYZCBBAA@@?FGGHHIIJSRRQQPPO 6778899:z{{||}}~cbbaa``_&''(())*jkkllmmnsrrqqppo/..--,,+Z[[\\]]^?>>==<<; -JKKLLMMN87766554'(())**+z{{||}}~MLLKKJJI - - LMMNNOOPZ[[\\]]^?>>==<<; -JKKLLMMNONNMMLLK - - :;;<<==>~_^^]]\\[*++,,--.nooppqqronnmmllk+**))(('^__``aab~~}}||{;::99887 - NOOPPQQR43322110+,,--../~IHHGGFFE PQQRRSST^__``aab~~}}||{;::99887 - NOOPPQQRKJJIIHHG>??@@AAB[ZZYYXXW.//00112rssttuuvkjjiihhg'&&%%$$# !!"bccddeef{zzyyxxw76655443RSSTTUUV0//..--,/0011223EDDCCBBATUUVVWWX !!"bccddeef{zzyyxxw76655443RSSTTUUVGFFEEDDCBCCDDEEFWVVUUTTS23344556vwwxxyyzgffeeddc#""!! "##$$%%&fgghhiijwvvuutts3221100/VWWXXYYZ~~}}||{,++**))(34455667A@@??>>=XYYZZ[[\"##$$%%&fgghhiijwvvuutts3221100/VWWXXYYZCBBAA@@?FGGHHIIJSRRQQPPO 6778899:z{{||}}~cbbaa``_&''(())*jkkllmmnsrrqqppo/..--,,+Z[[\\]]^{zzyyxxw(''&&%%78899??@~~}=<<;;::9\]]^^__`&''(())*jkkllmmnsrrqqppo/..--,,+Z[[\\]]^?>>==<<; -JKKLLMMNONNMMLLK - - :;;<<==>~_^^]]\\[*++,,--.nooppqqronnmmllk+**))(('^__``aabwvvuutts@AABBCCD}||{{zzy98877665 `aabbccd*++,,--.nooppqqronnmmllk+**))(('^__``aab~~}}||{;::99887 - NOOPPQQRKJJIIHHG>??@@AAB[ZZYYXXW.//00112rssttuuvkjjiihhg'&&%%$$# !!"bccddeefsmmllkkjDEEFFGGHyxxwwvvu54433221 !!""##$deeffggh.//00112rssttuuvkjjiihhg'&&%%$$# !!"bccddeef{zzyyxxw76655443RSSTTUUVGFFEEDDCBCCDDEEFWVVUUTTS23344556vwwxxyyzgffeeddc#""!! "##$$%%&fgghhiijjiihhggfHIIJJKKLuttssrrq100//..-$%%&&''(hiijjkkl23344556vwwxxyyzgffeeddc#""!! "##$$%%&fgghhiijwvvuutts3221100/VWWXXYYZCBBAA@@?FGGHHIIJSRRQQPPO 6778899:z{{||}}~cbbaa``_&''(())*jkkllmmnfeeddccbLMMNNOOPqppoonnm-,,++**)())**++,lmmnnoop6778899:z{{||}}~cbbaa``_&''(())*jkkllmmnsrrqqppo/..--,,+Z[[\\]]^?>>==<<; -JKKLLMMNONNMMLLK - - :;;<<==>~_^^]]\\[*++,,--.nooppqqrbaa``__^ PQQRRSSYmllkkjji)((''&&%,--..//0pqqrrsst:;;<<==>~_^^]]\\[*++,,--.nooppqqronnmmllk+**))(('^__``aab~~}}||{;::99887 - NOOPPQQRKJJIIHHG>??@@AAB[ZZYYXXW.//00112rssttuuv^]]\\[[Z - - -YZZ[[\\]ihhggffe%$$##""!01122334tuuvvwwx>??@@AAB[ZZYYXXW.//00112rssttuuvkjjiihhg'&&%%$$# !!"bccddeef{zzyyxxw76655443RSSTTUUVGFFEEDDCBCCDDEEFWVVUUTTS23344556vwwxxyyzZYYSSRRQ - ]^^__``aeddccbba! 45566778xyyzz{{|BCCDDEEFWVVUUTTS23344556vwwxxyyzgffeeddc#""!! "##$$%%&fgghhiijwvvuutts3221100/VWWXXYYZCBBAA@@?FGGHHIIJSRRQQPPO 6778899:z{{||}}~QPPOONNMabbccddea``__^^]899::;;<|}}~~FGGHHIIJSRRQQPPO 6778899:z{{||}}~cbbaa``_&''(())*jkkllmmnsrrqqppo/..--,,+Z[[\\]]^?>>==<<; -JKKLLMMNONNMMLLK - - :;;<<==>~MLLKKJJIeffgghhi]\\[[ZZY<==>>??@bdQZ|Jlt`vXnH~fr˂pZHAblJtArlJtAHfvnXvnXbHArXQJ`AJltdrtnvpf`vXZHAbQr˂p|ZdQJtArdnXv`fpvbHArXQJ`AJltdrtbnvpf`vXfH~Qr˂pے`JXrd|vnXfpv㒐bHAZZp˂JltdrtAvpf`vXnZHAbr˂p|ZdQbtArdnXv`fpvfHfXQJ`ےp˂rdrtAbdQZ|`vXnH~fr˂pے`JXQtArdtlJXv`f~Hf`ےbJ`p˂tbdnvpvXn~f`r˂p`JXQArd|lJtfpvf~HQJ`ے˂rXdrtAbdQZ|vXn~f`r˂p`JXQJtAd|lJtZdQbf~HnXv`ˉrXQJ`Z|dQZ|dnvpvf~˂pZ`JXQrrd|lJtApvn~HfJ`ے˂rXQdrtAJdQZ|tbn~f`vpfH`JXQrHAbےlJtAZdQbt~HfXv`f˂rXQbHAZptbdQZtbdQf`pfnr˂pZHAdrtAbdQZ|vpf`vXn`JXQrے`JXQd|Zrd|v`fv`frZp˂󒐙bHAbdQZ|AJltfH~nvpے`JXZHAbbtl|ZdQf~HnXv`Zp˂󒐙bHAbdQZ|AJltfHnvpf`vXZHAbQr˂pZdQbtv`fnXv`ˑrXQJrXQJbdQZ|JltH~fvpfے`JXQZHAbtlJ|ZdQbf~HnXv`pvnbHAZXQJ`ےJltdrtAvpf`vXnZHAbr˂p|ZdQbtArdnXpvnHAZp`rbdQQZ|dfHf`vpfHvXnZHAbr˂pZdQbtArd|nXv`fpvbHAZpQJ`ےJltdrtAvpfHvXnZHAbr˂pZdQbtArd|nXv`fpvfHfpےbHrtAJlrtAJlfH~f`vXHAbے˂pZZdQbtrd|Xv`fpvnbHAZpJ`ےltbdrtAJvpfvXn~f`˂pZ`JXQrrd|lJtApvn~HfJ`ے˂rXQ|drZ|dH~fpZAb`bے`JJltdrtAH~fvpf˂pZr˂pdQbtZdQbt~HfpQJHArXQJ`Zp˂drtbdQZ|f`vXfH~Qr˂pے`JXJtArdbtlfpvf~HrXQJ`Zp˂drtbdQZ|f`vXfH~nr˂pے`JXZHAےlJtA~Hfpf~H`ےbbHAZpdrtAbdQZ|`vXnH~fr˂pے`JXQtArdtlJfpvf~HrXQJ`p˂rbHAZbdQZ|JltH~fvpfے`JXQZHAbtlJ|ZdQbv`fXv`fےbHAZ|rArtAJlvXn~f`r˂p`JXQZHAے`lJtZdQbtf~HnXv`ˑ˂rXbHAZpbdQZ|Jlt~f`vpfH`JXQZHAbۉlJtZdQbtf~HnXv`˝vnAZp˂tbdQtdf`vXnvp`JXQrHAbےlJtAZdQbt~HfXv`f˂rXQbHAZpdQZ|ltbHf`vpfHvXnrHAbے˂pZZdQbtrd|Xv`fpvnbHAZpJ`ےtAJlrtAJl`vXnJXQrQrpZbdQZ|Jlt`vXnH~fHAbےZHAblJtArl|ZvnXZp˂󒐙bHArbdQZ|AJltdtAnvpf`vXZHAbQr˂p|ZdQJtArdnXv`fpvbHArXQJ`AJltdrtnvpf`vXZHAbQr˂p`JXQrd|vnXfpvHAZp˂rXQJltdrtAvpf`vXnZHAbr˂p|ZdQbtArdnXv`fpvےHAZXQJ`ےp˂rdrtAbdQZ|`vXnH~fr˂pے`JXQtArdtlJ~Hfp~HfZp˂JltbQZ|vpfHvXnZHAbr˂pJXQrArd|lJtfpvf~HQJ`ے˂rXdrtAbdQZ|vXn~f`r˂p`JXQArd|lJtfpvf~HrXQJ`pbHAZ|dtrtAJlnvpfH~˂pZ`JXQrrd|lJtApvn~HfJ`ے˂rXQdrtAJdQZ|vXn~f`˂pZ`JXQrHAے`lJtAZdQbt~HfXv`f˂rXQbHAZptbdQZtbdQvpf˂pZHHAbےdrtAbdQZ|vpf`vXn`JXQrے`JXQd|ldQbnXv`frXQJ`Zp˂drtbdQZ|JltfH~nvpے`JXZHAbbtl|ZdQf~HnXv`Zp˂󒐙bHAbdQZ|AJltfH~nvpے`JXZHAbrbtlZdQtArdv`f~HfprXQJJ`ےbdQZ|JltH~fvpfے`JXQZHAbtlJ|ZdQbf~HnXv`p˂rbHAZbdQZ|JltdtAJvpf`vXnZHAbr˂p|ZdQbtArdvnXpvnrXQJ`bdQZ|drtA~f`vpfH`JXQZHAbbtlZdQbtArd|nXv`fpvbHAZpQJ`ےJltdrtAvpfHvXnZHAbr˂pZdQbtArd|nXv`fpv˂rXZp˂bdQZ|tbdQfH~f`vXHAbے˂pZZdQbtrd|Xv`fpvnbHAZpJ`ےltbdrtAJvpfHvXnHAbے˂pZJXQrbrd|lJtApvn~HfJ`ے˂rXQ|drZ|lH~fAbے``JXQrJltdrtAH~fvpf˂pZHAbےJtArdv`f~~HfpbHArXQJ`AJltdrtbnvpf`vXfH~Qr˂pے`JXJtArdbtlfpvf~HrXQJ`Zp˂drtbdQZ|f`vXfH~Qr˂pے`JX|ZdQ|ZdnXvnX`ےbbHAZpdrtAbdQZ|`vXnH~fr˂pے`JXQtArdtlJfpvf~HXQJ`ےp˂rdrtAbdQZ|ltbH~fvpfے`JXQZHAbtlJ|ZdQbv`fXv`pےbHAdrtAJltvXn~f`r˂p`JXQJtAd|lJtZdQbf~HnXv`ˑ˂rXbHAZpbdQZ|Jlt~f`vpfH`JXQZHAbۉlJtZdQbtf~HnXv`QJ`ےrXQJ`ہdrtZ|df`vnnvp`JXQrHAbےlJtAZdQbt~HfXv`f˂rXQbHAZpdQZ|ltb~f`vpfH`JXQrHAbےtlJZdQbtrd|Xv`fpvnbHAZpJ`ےtAdQZ|tbn`vXHJXQr˂pZbdQZ|Jlt`vXnH~fHAXQr`JXQr|ZdQfpvvnv`Zp˂󒐙bHAbdQZ|AJltfHnvpf`vXZHAbQr˂p|ZdQJtArdnXv`fpvbHArXQJ`AJltdrtnvpf`vXZHAbQr˂pbtlQbtlv`fv`fHAZprXQJltdrtAvpf`vXnZHAbr˂p|ZdQbtArdnXv`fpvbHAZXQJ`ےJltdrtAnvp`vXnH~fr˂pے`JXQtArdtlJ~HXvvnrZp˂JltbdQZ|vpfHvXnZHAbr˂pZdQbtArd|nXv`fpvfHfpQJ`ے˂rXdrtAbdQZ|vXn~f`r˂p`JXQArd|lJtfpvf~HbHAZpbHAAJltrtAJlvpfHf~f`˂pZ`JXQrrd|lJtApvn~HfJ`ے˂rXQdrtAJdQZ|vXn~f`˂pZ`JXQrtAd|lJtAZdQbn~HfXv`f˂rXQbHAZpdrtAvp`v~f`˂pZHHAbےdrtAbdQZ|vpf`vXn˂pZHA˂pZbtlnXv`f~HrXQJ`Zp˂drtbdQZ|f`vXfH~nr˂pے`JXZHAbtl|ZdQf~HnXv`Zp˂󒐙bHAbdQZ|AJltfH~nvpے`JXZHAbJtArdJtArd~Hfpە~HfprQJ`ےJ`bAZbdQZ|JltH~fvpfے`JXQZHAbtlJ|ZdQbf~HnXv`p˂rbHAZbdQZ|JltfHfvpf`vXnZHAbr˂p|ZdQbtArd`f~XQJ`pbHAZbdQZ|drtA~f`vpfH`JXQZHAbۉlJtZdQbtf~HnXv`˝vnbHAZpQJ`ےJltdrtAvpfHvXnZHAbr˂pZdQbtArd|nXv`fpv˂rXZp˂bdQZ|tbdQ~f`vXnrHAbے˂pZZdQbtrd|Xv`fpvnbHAZpJ`ےltbdrtAJvpfHvXnHAbے˂pZZdQbtrd|Xv`fpvnHfpJ`ے˂rXQJltXnvvXnAbJXQ`JXQrJltdrtAH~fvpfbے`HAbےJtArdf~HfpvbHArXQJ`AJltdrtnvpf`vXZHAbQr˂p`JXQJtArdbtlfpvf~HrXQJ`Zp˂drtbdQZ|f`vXfH~Qr˂pے`JX|ZdQ|ZdvnXvnXbHAZpp˂rdrtAbdQZ|`vXnH~fr˂pے`JXQtArdtlJfpvf~HXQJ`ےp˂rdrtAbdQZ|`vXnH~fr˂pے`JXQZHAےtlJ|ZdQbHfpv˂rXQp˂rdrAJJltvXn~f`r˂p`JXQArd|lJtfpvf~HrXQJ`ۑ˂rXbHAZpbdQZ|Jlt~f`vpfH`JXQZHAbۉlJtZdQbtf~HnXv`QJ`ےrXQHAZpdrtZ|ltvXnۀ˂pZ`JXQrHAے`lJtAZdQbt~HfXv`f˂rXQbHAZpdQZ|ltb~f`vpfH`JXQrHAbےlJtAZdQbt~HfXv`fvnrbHAZpJ`ےbdQZ|pfH~vpfHr˂pZHAbbdQZ|Jlt`vXnH~fJXQr`JXQr|ZdQfpvnXv`Zp˂󒐙bHAbdQZ|AJltfH~nvpے`JXZHAbrbtl|ZdQJtArdnXv`fpvbHArXQJ`AJltdrtnvpf`vXZHAbQr˂pbtlQbtdv`fv`pۑ˂rXbdQZ|JltdtAJvpf`vXnZHAbr˂p|ZdQbtArdnXv`fpvbHAZXQJ`ےJltdrtAvpf`vXnZHAbr˂p`JXQrtArdtlJnXvJ`ےXQJ`ےtbdQZbQZdvpfHvXnZHAbr˂pZdQbtArd|nXv`fpv㒐HAZpQJ`ے˂rdrtAbdQZ|vXn~f`r˂p`JXQArd|lJtfpvf~HbHAXQ˂rXAdQZ|bnvpfHHAbے˂pZJXQrbrd|lJtApvn~HfJ`ے˂rXQdrtAJdQZ|vXn~f`˂pZ`JXQrrd|lJtApvn~HfXQJ`ے˂rXQbHAZpdrtAf`v~f`ZHAbے`JXdrtAbdQZ|vpf`vXn˂pZHA˂p|tArdnXv`f~HrXQJ`Zp˂drtbdQZ|f`vXfH~Qr˂pے`JXJtAdbtl|ZdQf~HnXv`Zp˂󒐙bHAbdQZ|AJltfH~nvpے`JXZHAbJtArdt|ZdQ~HXv`vnrXQJ`ےdrtAbdQZ|ltbH~fvpfے`JXQZHAbtlJ|ZdQbf~HnXv`p˂rbHAZbdQZ|JltH~fvpfے`JXQZHAbbtl|ZdQbtArd`f~bHAZpbHAZ|drrtAJl~f`vpfH`JXQZHAbۉlJtZdQbtf~HnXv`ˑ˂rXbHAZpbdQZ|JltdtAJlvpfHvXnZHAbr˂pZdQbtArd|nXv`fpvJ`ےQJ`ےdrtAvpff`~f``JXQrHAbےtlJZdQbtrd|Xv`fpvnbHAZpJ`ےltbdrtAJvpfHvXnHAbے˂pZZdQbtrd|Xv`fpvnHAZpJ`ے˂rbJl|XnvvXnے`JXQQr˂pJltdrtAH~fvpfb˂ZdQbt|ZdQbf~fvfpvbHArXQJ`AJltdrtnvpf`vXZHAbQr˂p|ZdQJtArdbnXv`fpvfHrXQJ`Zp˂drtbdQZ|f`vXfH~Qr˂pے`JXlJtbtlf~HQJ`AbHAZpJltdrtAnvp`vXnH~fr˂pے`JXQtArdtlJfpvf~HXQJ`ےp˂rdrtAbdQZ|`vXnH~fr˂pے`JXQJtAdtlJ|ZdQbHfp`˂rXQp˂rtAJl璒tbdQvXn~f`r˂p`JXQArd|lJtfpvf~HQJ`ے˂rXdrtAbdQZ|tb~f`vpfH`JXQZHAbۉlJtZdQbtf~HnXv`bHAZp˙bHAZpJltvXnvXnvf˂pZ`JXQrtAd|lJtAZdQbn~HfXv`f˂rXQbHAZpdQZ|ltb~f`vpfH`JXQrHAbےlJtAZdQbt~HfXv`f˂rXQbHAZpdQZ|ldrtAJpfH~f`vr˂pZHAbbdQZ|Jlt`vXnH~fpZHAblJtAtlJnXvnvfZp˂󒐙bHAbdQZ|AJltfH~nvpے`JXZHAbbtl|ZdQf~HnXv`fpv㒐bHArXQJ`AJltdrtnvpf`vXZHAbQr˂pArd|JtArdfpvZp˂˂rQJbdQZ|JltfHfvpf`vXnZHAbr˂p|ZdQbtArdnXv`fpvbHAZXQJ`ےJltdrtAvpf`vXnZHAbr˂p|ZdQbtArdnXv`f~HJ`ےXQHAZptbdQZZ|dvpfHvXnZHAbr˂pZdQbtArd|nXv`fpvbHAZpQJ`ےJltdrtAnvpvXn~f`r˂p`JXQArd|lJtfpvf~HrXQ˂rXbdQZ|vpfHH~fHAbے˂pZZdQbtrd|Xv`fpvnHfpJ`ے˂rXQdrtAJdQZ|vXn~f`˂pZ`JXQrrd|lJtApvn~HfJ`ے˂rXQtbdQltbvpXnvZHAbے`JXdrtAbdQZ|vpf`vXnے`Jrd|tArd`f~~HfprXQJ`Zp˂drtbdQZ|f`vXfH~Qr˂pے`JXJtArdbtlfpvf~HnrXQJ`Zp˂󒐙bHAbdQZ|AJltfH~nvpے`JXZHAbZdQbt|ZdQnXv`rXQJ`ہbHAdrtAbdQZ|`vXnH~fr˂pے`JXQZHAےtlJ|ZdQbf~HnXv`p˂rbHAZbdQZ|JltH~fvpfے`JXQZHAbtlJ|ZdQbpvnfpvbHAXQJ˂rXQ|drrtAJl~f`vpfH`JXQZHAbۉlJtZdQbtf~HnXv`ˑ˂rXbHAZpbdQZ|JltfHf`vpfHvXnZHAbr˂pZdQbtArd|nXv`fpvJ`ےQJ`p˂drtA~f``vXn`JXQrHAbےlJtAZdQbt~HfXv`fvnrbHAZpJ`ےltbdrtAJvpfHvXnHAbے˂pZZdQbtrd|Xv`fpvnbHAZpJ`ےZ|ddQZ|fH~pfH~JQrQr˂pJltdrtAH~fvpfXQr˂ZdQbt|ZdQbHfpvvnXbHArXQJ`AJltdrtnvpf`vXZHAbQr˂p|ZdQJtArdnXv`fpvےHArXQJ`Zp˂drtbdQZ|f`vXfH~Qr˂pے`JXlJtbtl|f~HbHAZp˂JltdrtAvpf`vXnZHAbr˂p`JXQrtArdtlJfpvf~HXQJ`ےp˂rdrtAbdQZ|`vXnH~fr˂pے`JXQtArdtlJXv`fnXv``ےbJ`ےtAJbdtbdQvXn~f`r˂p`JXQArd|lJtfpvf~HQJ`ے˂rXdrtAbdQZ|vXn~f`r˂p`JXQZHAے`lJtZdQbtf~HnXv`bHAZp`rbdJl|dvXnvpf˂pZ`JXQrrd|lJtApvn~HfXQJ`ے˂rXQbHAZpdQZ|ltb~f`vpfH`JXQrHAbےlJtAZdQbt~HfXv`f˂rXQbHAZprtAJldrtAJf`vXf`vpZHAZA`bdQZ|Jlt`vXnH~fpZHAblJtAtd|nXvv`fZp˂󒐙bHAbdQZ|AJltfH~nvpے`JXZHAbbtl|ZdQf~HnXv`Zp˂󒐙bHArbdQZ|AJltdtAnvpf`vXZHAbQr˂pArd|ZdQbfp`Zp˂rXQJ`bdQZ|JltH~fvpfے`JXQZHAbbtl|ZdQbtArdnXv`fpvbHAZXQJ`ےJltdrtAvpf`vXnZHAbr˂p|ZdQbtArd~Hff~HHAZp˂bHAZpQZ|dZ|AJlvpfHvXnZHAbr˂pZdQbtArd|nXv`fpvbHAZpQJ`ےJltdrtAvpfHvXnZHAbr˂pJXQrArd|lJtfpvf~HےbHQZ|lrtAJlvpfHH~fHAbے˂pZZdQbtrd|Xv`fpvnHAZpJ`ے˂rbdrtAJdQZ|vXn~f`˂pZ`JXQrrd|lJtApvn~HfJ`ے˂rXQtbdQltdnvpXnvbے`JXQrbtdrtAbdQZ|vpf`vXnے`prdtZdQbt`f~~HfprXQJ`Zp˂drtbdQZ|f`vXfH~Qr˂pے`JXJtArdbtlfpvf~HrXQJ`Zp˂drtbdQZ|JltfH~nvpے`JXZHAblJtAnXv`pf~HrXQJ`ےbHAdrtAbdQZ|`vXnH~fr˂pے`JXQJtAdtlJ|ZdQbf~HnXv`p˂rbHAZbdQZ|JltH~fvpfے`JXQZHAbtlJ|ZdQbpvnfpvrXQJ˂rXQrtAJltb~f`vpfH`JXQZHAbۉlJtZdQbtf~HnXv`ˑ˂rXbHAZpbdQZ|Jlt~f`vpfH`JXQZHAbbtlZdQbtArd|nXv`fpvAZp˂tbdQtbd~fv`vXn`JXQrHAbےlJtAZdQbt~HfXv`f˂rXQbHAZpdQZ|ltbdtAJlvpfHvXnHAbے˂pZZdQbtrd|Xv`fpvnbHAZpJ`ےZ|drtAJlfH~p`vXJXQrˉlJtAd|lJtAZdQbnX~Hfpv`frXQbHAZpQZ|dtbd~f`vpfHJXQrAbے`lJtAZdQbt~Hfpv`frXQbHAZpQZ|dtbdtAJlvpfHvXnQr˂pQXb㉀`ZQXb㉐f۝`vpfH~tbAdZZdQbtrd|v`fvnXHfpJ`ےむrXQrtAJlQZ|dvXn~f`˂pZHJXQrrd|lJtAvnX~HfpJ`ےむrXQrtAJlQZ|dtbn~f`vpfHZHAbۑpJAHrˁ`ZXnvˍf۝`v|drlJtAZdQbt~Hfpv`fvnrXbHAZpJ`ےtbdrtAJlvpfHvXnAbے`˂pZHZdQbtrd|v`fvnXbHAZpJ`ےtbdrtAJlvpfHvXn~f`ے`p󙐉ۑQXb㉀pfH~XnvˍQtJlrd|lJtAvnX~HfpQJ`ےrXQbHAZpQZ|dtbd~f`vpfHJXQrAbے`lJtAZdQbt~Hfpv`frXQbHAZpQZ|dtbdf`vpfHvXnے`ZHAbpJAHrۑpJAHrf۝`vp|drtbAdZZdQbtrd|v`fvnXHAZpJ`ےむrbdrtAJlQZ|dvXn~f`˂pZHJXQrrd|lJtAvnX~HfpJ`ےむrXQrtAJlQZ|dvXn~f`JXQr`JXQˁ`ZQ󙐂ˁ`ZXnvˍQtJl|drlJtAZdQbt~Hfpv`frXQbHAZpQZ|dtbdtAJlvpfHvXnAbے`˂pZHZdQbtrd|v`fvnXbHAZpJ`ےtbdrtAJlvpfHvXnۉ˂pZHr˂pXb㉀ۑQXb㉀pfH~tbAdZQtJlrd|lJtAvnX~HfpJ`ےむrXQrtAJlQZ|dtbn~f`vpfHJXQrAbے`lJtAZdQbt~Hfpv`frXQbHAZpQZ|dtbd~f`vpfHAbے`ZHAbpJAHrXnvˍf۝`v|drtbAdZZdQbtrd|v`fvnXbHAZpJ`ےtbdrtAJlvpfHvXn~f`˂pZHJXQrrd|lJtAvnX~HfpJ`ےむrXQrtAJlQZ|dvXn~f`JXQr`JXQHˁ`pJpfH~XnvˍQtJl|drlJtAZdQbt~Hfpv`frXQbHAZpQZ|dtbdf`vpfHvXnrAbے`˂pZHZdQbtrd|v`fvnXbHAZpJ`ےtbdrtAJlvpfHvXnۉ˂pZHAbے`AHr󙐂f۝`vpfH~tbAdZQtJlrd|lJtAvnX~HfpJ`ےむrXQrtAJlQZ|dvXn~f`˂pZHJXQrAے`lJtAZdQbt~Hfpv`frXQbHAZpQZ|dtbd~f`vpfHAXQrˁJXQrˁ`ZQXbXnvˍf۝`v|drtbAdZZdQbtrd|v`fvnXbHAZpJ`ےtbdrtAJlvpfHvXnAbے`˂pZHJXQrbtrd|lJtAvnX~HfpJ`ےむrXQrtAJlQZ|dvXn~f`pZHA˂pZH㉀ۑpJpfH~XnvˍQtJl|drlJtAZdQbt~Hfpv`frXQbHAZpQZ|dtbd~f`vpfHJXQrAbے`lJtZdQbtrd|v`fvnXbHAZpJ`ےtbdrtAJlvpfHvXnbے`Abے`AHr󙐂f۝`vpfH~tbAdZQtJlrd|lJtAvnX~HfpJ`ےむrXQrtAJlQZ|dvXn~f`˂pZHJXQrAd|lJtAZdQbnX~Hfpv`frXQbHAZpQZ|dtbd~f`vpfHJXQrˁJXQrˁ`ZQXAXnvˍf۝`v|drtbAdZZdQbtrd|v`fvnXbHAZpJ`ےtbdrtAJlvpfHvXnAbے`˂pZHZdQbtrd|v`fvnXHfpJ`ےむrXQrtAJlQZ|dvXn~f`pZHA˂p`ZHr󙐂ˁpfH~XnvˍQtJl|drlJtAZdQbt~Hfpv`frXQbHAZpQZ|dtbd~f`vpfHJXQrAbے`lJtAZdQbt~Hfpv`fvnrXbHAZpJ`ےtbdrtAJlvpfHvXnb˂pQXb㉀`ZQXb㉐f۝`vpfH~tbAdZQtJlrd|lJtAvnX~HfpJ`ےむrXQrtAJlQZ|dvXn~f`˂pZHJXQrrd|lJtAvnX~HfpQJ`ےrXQbHAZpQZ|dtbd~f`vpfHZHAbۑpJAHrۑpJAXnvˍf۝`v|drtbAdZZdQbtrd|v`fvnXbHAZpJ`ےtbdrtAJlvpfHvXnAbے`˂pZHZdQbtrd|v`fvnXHAZpJ`ےむrbdrtAJlQZ|dvXn~f`ے`JX󙐂ˁ`ZHr󙐂ˁpfH~XnvˍQtJl|drQt \ No newline at end of file diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv32_2.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv32_2.dat deleted file mode 100644 index d254d2962d..0000000000 --- a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv32_2.dat +++ /dev/null @@ -1,289 +0,0 @@ -}~}~}~}~yzyzyzyzwxwxwxwxststststqrqrqrqrnmnmnmnmjijijijihghghghgdcdcdcdc}~}~}~}~yzyzyzyzwxwxwxwxststststqrqrqrqrnmnmnmnmjijijijihghghghgdcdcdcdc}~}~}~}~yzyzyzyzwxwxwxwxststststqrqrqrqpnmnmmmmmjijijijihghghghgdcdcdcdc}~}~}~}~yzyzyzyzwxwxwxwxststststopopopopmnmnmnmnjijijijihghghghgdcdcdcdc}~}~}~}~yzyzyzyzwxwxwxwxststststopopopopmnmnmnmnjijijijihghghghgdcdcdcdc}~}~}~}~yzyzyzyzwxwxwxwxststststopopopopmnmnmnmnjijijijihghghghgdcdcdcdc}~}~}~}~yzyzyzyzwxwxwxwxststststopopopopmnmnmnmnjijijijihghghghgdcdcdcdc}~}~}~}~yzyzyzyzwxwxwxwxststststopopopopmnmnmnmnjijijijihghghghgdcdcdcdc}~}~}~}~yzyzyzyzwxwxwxwxststststopopopopmnmmmmmmjijijijihghghghgdcdcdcdc}~}~}~}~yzyzyzyzwxwxwxwxststststopopopopnmnmnmnmjijijijihghghghgdcdcdcdc}|{|{|{|yzyzyzyzwvuvuvuvststststopopopoplklklklkjijijijifefefefedcdcdcdc{|{|{|{|yzyzyzyzuvuvuvuvststststopopopoplklklklkjijijijifefefefedcdcdcdc{|{|{|{|yzyzyzyzuvuvuvuvststststopopopoplklklklkjijijijifefefefedcdcdcdc{|{|{|{|yzyzyzyzuvuvuvuvststststopopopoplklklklkjijijijifefefefedcdcdcdc{|{|{|{|yzyzyzyzuvuvuvuvststststopopopoplklklklkjijijijifefefefedcdcdcdc{|{|{|{|yzyzyzyzuvuvuvuvststststopopopoplklklklkjijijijifefefefedcdcdcdc{|{|{|{|yzyzyzyzuvuvuvuvststststopopopoplklklklkjijijijifefefefedcdcdcdc{|{|{|{|yzyzyzyzuvuvuvuvststststopopopoplklklklkjijijijifefefefedcdcdcdc{|{|{|{|yzyzyzyzuvuvuvuvststststopopopoplklklklkjijijijifefefefedcdcdcdc{|{|{|{|yzyzyzyzuvuvuvuvststststopopopoplklklklkjijijijifefefefedcdcdcdcbabababa{|{|{|{|yzyzyzyzuvuvuvuvststststopopopoplklklklkjijijijifefefefedcdcdcdcbabababa{|{|{|{|yzyzyzyzuvuvuvuvststststopopopoplklklklkjijijijifefefefedcdcdcdcbabababa{|{|{|{|yzyzyzyzuvuvuvuvststststopopopoplklklklkjijijijifefefefedcdcdcdcbabababa{|{|{|{|yzyzyzyzuvuvuvuvststststopopopoplklklklkjijijijifefefefedcdcdcdcbabababa{|{|{|{|yzyzyzyzuvuvuvuvststststopopopoplklklklkjijijijifefefefedcdcdcdcbabababa{|{|{|{|yzyzyzyzuvuvuvuvststststopopopoplklklklkjijijijifefefefedcdcdcdcbabababa{|{|{|{|yzyzyzyzuvuvuvuvststststopopopoplklklklkjijijijifefefefedcdcdcdcbabababa{|{|{|{|yzyzyzyzuvuvuvuvststststopopopoplklklklkjijijijifefefefedcdcdcdcbabababa~}~}~}~{|{|{|{|yxwxwxwxuvuvuvuvsrqrqrqropopopoplklklklkhghghghgfefefefebabababababababa}~}~}~}~{|{|{|{|wxwxwxwxuvuvuvuvqrqrqrqropopopoplklklklkhghghghgfefefefebabababa`_`_`_`_}~}~}~}~{|{|{|{|wxwxwxwxuvuvuvuvqrqrqrqropopopoplklklklkhghghghgfefefefebabababa`_`_`_`_}~}~}~}~{|{|{|{|wxwxwxwxuvuvuvuvqrqrqrqropoponmnlklklklkhghghghgfefefefebabababa`_`_`_`_}~}~}~}~{|{|{|{|wxwxwxwxuvuvuvuvqrqrqrqrmnmnmmmmlklklklkhghghghgfefefefebabababa`_`_`_`_}~}~}~}~{|{|{|{|wxwxwxwxuvuvuvuvqrqrqrqrmnmnmnmnlklklklkhghghghgfefefefebabababa`_`_`_`_}~}~}~}~{|{|{|{|wxwxwxwxuvuvuvuvqrqrqrqrmnmnmnmnlklklklkhghghghgfefefefebabababa`_`_`_`_}~}~}~}~{|{|{|{|wxwxwxwxuvuvuvuvqrqrqrqrmnmnmnmnlklklklkhghghghgfefefefebabababa`_`_`_`_}~}~}~}~{|{|{|{|wxwxwxwxuvuvuvuvqrqrqrqrmnmnmnmnlklklklkhghghghgfefefefebabababa`_`_`_`_}~}~}~}~{|{|{|{|wxwxwxwxuvuvuvuvqrqrqrqrmnmnmnmnlklklklkhghghghgfefefefebabababa`_`_`_`_}~}~}~}~{|{|{|{|wxwxwxwxuvuvuvuvqrqrqrqrmnmnmnmmlklklklkhghghghgfefefefebabababa`_`_`_`_}~}~}~}~{|{|{|{|wxwxwxwxuvuvuvuvqrqrqrqrmmmmnmnmlklklklkhghghghgfefefefebabababa`_`_`_`_}~}~}~}~{|{|{|{|wxwxwxwxuvuvuvuvqrqrqrqrnmnmnmnmlklklklkhghghghgfefefefebabababa`_`_`_`_}~}~}~}~{|{|{|{|wxwxwxwxuvuvuvuvqrqrqrqrnmnmnmnmlklklklkhghghghgfefefefebabababa`_`_`_`_}~}~}~}~{|{|{|{|wxwxwxwxuvuvuvuvqrqrqrqrnmnmnmnmlklklklkhghghghgfefefefebabababa`_`_`_`_}~}~}~}~{|{|{|{|wxwxwxwxuvuvuvuvqrqrqrqrnmnmnmnmlklklklkhghghghgfefefefebabababa`_`_`_`_}~}~}~}~{|{|{|{|wxwxwxwxuvuvuvuvqrqrqrqrnmnmnmmmlklklklkhghghghgfefefefebabababa`_`_`_`_}~}~}~}~{|{|{|{|wxwxwxwxuvuvuvuvqrqrqrqrmmmnmnmnlklklklkhghghghgfefefefebabababa`_`_`_`_}~}~}~}~{zyzyzyzwxwxwxwxutstststqrqrqrqrmnmnmnmnjijijijihghghghgdcdcdcdcbabababa`_`_`_`_}~}~}~}~yzyzyzyzwxwxwxwxststststqrqrqrqrmnmnmnmnjijijijihghghghgdcdcdcdcbabababa`_`_`_`_}~}~}~}~yzyzyzyzwxwxwxwxststststqrqrqrqrmnmnmnmnjijijijihghghghgdcdcdcdcbabababa`_`_`_`_}~}~}~}~yzyzyzyzwxwxwxwxststststqrqrqrqrmnmnmnmnjijijijihghghghgdcdcdcdcbabababa`_`_`_`_}~}~}~}~yzyzyzyzwxwxwxwxststststqrqrqrqrmnmnmmmmjijijijihghghghgdcdcdcdcbabababa`_`_`_`_}~}~}~}~yzyzyzyzwxwxwxwxststststqrqrqrqrmmnmnmnmjijijijihghghghgdcdcdcdcbabababa`_`_`_`_}~}~}~}~yzyzyzyzwxwxwxwxststststqrqrqrqrnmnmnmnmjijijijihghghghgdcdcdcdcbabababa`_`_`_`_}~}~}~}~yzyzyzyzwxwxwxwxststststqrqrqrqrnmnmnmnmjijijijihghghghgdcdcdcdcbabababa`_`_`_`_`_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVUQRQRQRQROPOPOPOPKLKLKLKLIJIJIJIJEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>:9:9:9:965656565434343430/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#         `_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVUQRQRQRQROPOPOPOPKLKLKLKLIJIJIJIJEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>:9:9:9:965656565434343430/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#         `_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVUQRQRQRQROPOPOPOPKLKLKLKLIJIJIJIJEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>:9:9:9:965656565434343430/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#         `_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVUQRQRQRQROPOPOPOPKLKLKLKLIJIJIJIJEFEFEFEFCDCDCDCD?@?@?@?@=>=>=<;<:999999:65656565434343430/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#      `_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVUQRQRQRQROPOPOPOPKLKLKLKLIJIJIJIJEFEFEFEFCDCDCDCD?@?@?@?@;<;<;<;<9:9:9:9:65656565434343430/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#         `_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVUQRQRQRQROPOPOPOPKLKLKLKLIJIJIJIJEFEFEFEFCDCDCDCD?@?@?@?@;<;<;<;<9:9:9:9:65656565434343430/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#         `_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVUQRQRQRQROPOPOPOPKLKLKLKLIJIJIJIJEFEFEFEFCDCDCDCD?@?@?@?@;<;<;<;<9:9:9:9:65656565434343430/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#         `_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVUQRQRQRQROPOPOPOPKLKLKLKLIJIJIJIJEFEFEFEFCDCDCDCD?@?@?@?@;<;<;<;<9:9:9:9:65656565434343430/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#         `_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVUQRQRQRQROPOPOPOPKLKLKLKLIJIJIJIJEFEFEFEFCDCDCDCD?@?@?@?@;<;<;<;<9:9:9:9:65656565434343430/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#         `_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVUQRQRQRQROPOPOPOPKLKLKLKLIJIJIJIJEFEFEFEFCDCDCDCD?@?@?@?@;<;<;<;<999999:965656565434343430/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#       `_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVUQRQRQRQROPOPOPONKLKLKLKLIJIJIJIHEFEFEFEFCDCDCDCB?@?@?@?@;<;<;<;<:9:9:98765656565434343210/0/0/0/.-.-.-,+*)*)*)*)('('('&%$#$#$#$#         - -^]^]^]^]\[\[\[\[XWXWXWXWVUVUVUVUQRQRQRQRMNMNMNMNKLKLKLKLGHGHGHGHEFEFEFEFABABABAB?@?@?@?@;<;<;<;<8787878765656565212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#         - - - -^]^]^]^]\[\[\[\[XWXWXWXWVUVUVUVUQRQRQRQRMNMNMNMNKLKLKLKLGHGHGHGHEFEFEFEFABABABAB?@?@?@?@;<;<;<;<8787878765656565212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#         - - - -^]^]^]^]\[\[\[\[XWXWXWXWVUVUVUVUQRQRQRQRMNMNMNMNKLKLKLKLGHGHGHGHEFEFEFEFABABABAB?@?@?@?@;<;<;<;<8787878765656565212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#         - - - -^]^]^]^]\[\[\[\[XWXWXWXWVUVUTSTSQRQRQRQRMNMNMNMNKLKLKLKLGHGHGHGHEFEFEFEFABABABAB?@?@?@?@;<;<;<;<8787878765656565212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#        - - - -^]^]^]^]\[\[\[\[XWXWXWXWTSTSSSSSQRQRQRQRMNMNMNMNKLKLKLKLGHGHGHGHEFEFEFEFABABABAB?@?@?@?@;<;<;<;<8787878765656565212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#       - - - -^]^]^]^]\[\[\[\[XWXWXWXWSTSTSTSTQRQRQRQRMNMNMNMNKLKLKLKLGHGHGHGHEFEFEFEFABABABAB?@?@?@?@;<;<;<;<8787878765656565212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#         - - - -^]^]^]^]\[\[\[\[XWXWXWXWSTSTSTSTQRQRQRQRMNMNMNMNKLKLKLKLGHGHGHGHEFEFEFEFABABABAB?@?@?@?@;<;<;<;<8787878765656565212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#         - - - -^]^]^]^]\[\[\[\[XWXWXWXWSTSTSTSTQRQRQRQRMNMNMNMNKLKLKLKLGHGHGHGHEFEFEFEFABABABAB?@?@?@?@;<;<;<;<8787878765656565212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#         - - - -^]^]^]^]\[\[\[\[XWXWXWXWSTSTSTSTQRQRQRQRMNMNMNMNKLKLKLKLGHGHGHGHEFEFEFEFABABABAB?@?@?@?@;<;<;<;<8787878765656565212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#         - - - -^]^]^]^]\[\[\[\[XWXWXWXWSTSTSTSTQRQRQRQRMNMNMNMNKLKLKLKLGHGHGHGHEFEFEFEFABABABAB?@?@?@?@;<;<;<;<8787878765656565212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#        - - - -^]^]^]^]\[\[\[\[XWXWXWXWSTSSSSSSQRQRQRQRMNMNMNMNKLKLKLKLGHGHGHGHEFEFEFEFABABABAB?@?@?@?@;<;<;<;<8787878765656565212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#"!"!        - - - -^]^]^]^]\[\[\[\[XWXWXWXWTSTSTSTSQRQRQRQRMNMNMNMNKLKLKLKLGHGHGHGHEFEFEFEFABABABAB?@?@?@?@;<;<;<;<8787878765656565212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%"!"!"!"!         - - - -^]^]^]^]\[\[\[\[XWXWXWXWTSTSTSTSQRQRQRQRMNMNMNMNKLKLKLKLGHGHGHGHEFEFEFEFABABABAB?@?@?@?@;<;<;<;<8787878765656565212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%"!"!"!"!         - - - -^]^]^]^]\[\[\[\[XWXWXWXWTSTSTSTSQRQRQRQRMNMNMNMNKLKLKLKLGHGHGHGHEFEFEFEFABABABAB?@?@?@?@;<;<;<;<8787878765656565212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%"!"!"!"!         - - - -^]^]^]^]\[\[\[\[XWXWXWXWTSTSTSTSQRQRQRQRMNMNMNMNKLKLKLKLGHGHGHGHEFEFEFEFABABABAB?@?@?@?@;<;<;<;<8787878765656565212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%"!"!"!"!         - - - -^]^]^]^]\[\[\[\[XWXWXWXWTSTSTSTSQRQRQRQRMNMNMNMNKLKLKLKLGHGHGHGHEFEFEFEFABABABAB?@?@?@?@;<;<;<;<8787878765656565212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%"!"!"!"!         - - - -^]^]^]^]\[\[\[\[XWXWXWXWTSSSSSSTQRQRQRQRMNMNMNMNKLKLKLKLGHGHGHGHEFEFEFEFABABABAB?@?@?@?@;<;<;<;<8787878765656565212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%"!"!"!"!       - - - -^]^]^]^]\[\[\[\[XWXWXWXWSTSTSTSTQRQRQRQPMNMNMNMNKLKLKLKJGHGHGHGHEFEFEFEDABABABAB?@?@?@?>;<;<;<;<8787878765656543212121210/0/0/.-,+,+,+,+*)*)*)('&%&%&%&%"!"!"!"!     - - - -^]^]^]^]ZYZYZYZYXWXWXWXWSTSTSTSTOPOPOPOPMNMNMNMNIJIJIJIJGHGHGHGHCDCDCDCDABABABAB=>=>=>=>;<;<;<;<878787874343434321212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"! - - - -^]^]^]^]ZYZYZYZYXWXWXWXWSTSTSTSTOPOPOPOPMNMNMNMNIJIJIJIJGHGHGHGHCDCDCDCDABABABAB=>=>=>=>;<;<;<;<878787874343434321212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"! - - - -^]^]^]^]ZYZYZYZYXWXWXWXWSTSTSTSTOPOPOPOPMNMNMNMNIJIJIJIJGHGHGHGHCDCDCDCDABABABAB=>=>=>=>;<;<;<;<878787874343434321212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"! - - - -^]^]^]^]ZYZYZYZYXWXWXWXWSTSTSTSTOPOPOPOPMNMNMNMNIJIJIJIJGHGHGHGHCDCDCDCDABABABAB=>=>=>=>;<;:9:9:878787874343434321212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"! - - - -^]^]^]^]ZYZYZYZYXWXWXWXWSSSSSSTSOPOPOPOPMNMNMNMNIJIJIJIJGHGHGHGHCDCDCDCDABABABAB=>=>=>=>9:99999:878787874343434321212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"! - - - -^]^]^]^]ZYZYZYZYXWXWXWXWTSTSTSTSOPOPOPOPMNMNMNMNIJIJIJIJGHGHGHGHCDCDCDCDABABABAB=>=>=>=>9:9:9:9:878787874343434321212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"! - - - -^]^]^]^]ZYZYZYZYXWXWXWXWTSTSTSTSOPOPOPOPMNMNMNMNIJIJIJIJGHGHGHGHCDCDCDCDABABABAB=>=>=>=>9:9:9:9:878787874343434321212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"! - - - -^]^]^]^]ZYZYZYZYXWXWXWXWTSTSTSTSOPOPOPOPMNMNMNMNIJIJIJIJGHGHGHGHCDCDCDCDABABABAB=>=>=>=>9:9:9:9:878787874343434321212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"! - - - -^]^]^]^]ZYZYZYZYXWXWXWXWTSTSTSTSOPOPOPOPMNMNMNMNIJIJIJIJGHGHGHGHCDCDCDCDABABABAB=>=>=>=>9:9:9:9:878787874343434321212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"! - - - -^]^]^]^]ZYZYZYZYXWXWXWXWTSTSTSTSOPOPOPOPMNMNMNMNIJIJIJIJGHGHGHGHCDCDCDCDABABABAB=>=>=>=>9:9:9:9:878787874343434321212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"! - - - -^]^]^]^]ZYZYZYZYXWXWXWVUSSSSSTSTOPOPOPOPMNMNMNMNIJIJIJIJGHGHGHGHCDCDCDCDABABABAB=>=>=>=>9:9:9999878787874343434321212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"! - - - -^]^]^]^]ZYZYZYZYVUVUVUVUSTSTSTSTOPOPOPOPMNMNMNMNIJIJIJIJGHGHGHGHCDCDCDCDABABABAB=>=>=>=>99:9:9:9878787874343434321212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"! - - - -^]^]^]^]ZYZYZYZYVUVUVUVUSTSTSTSTOPOPOPOPMNMNMNMNIJIJIJIJGHGHGHGHCDCDCDCDABABABAB=>=>=>=>:9:9:9:9878787874343434321212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"! - - - -^]^]^]^]ZYZYZYZYVUVUVUVUSTSTSTSTOPOPOPOPMNMNMNMNIJIJIJIJGHGHGHGHCDCDCDCDABABABAB=>=>=>=>:9:9:9:9878787874343434321212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"! - - - -^]^]^]^]ZYZYZYZYVUVUVUVUSTSTSTSTOPOPOPOPMNMNMNMNIJIJIJIJGHGHGHGHCDCDCDCDABABABAB=>=>=>=>:9:9:9:9878787874343434321212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"! - - - -^]^]^]^]ZYZYZYZYVUVUVUVUSTSTSTSTOPOPOPOPMNMNMNMNIJIJIJIJGHGHGHGHCDCDCDCDABABABAB=>=>=>=>:9:9:9:9878787874343434321212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"! - - - -^]^]^]^]ZYZYZYZYVUVUVUVUSTSSSSSTOPOPOPOPMNMNMNMNIJIJIJIJGHGHGHGHCDCDCDCDABABABAB=>=>=>=>:9:99999878787874343434321212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"! - - - -^]^]^]^]ZYZYZYZYVUVUVUVUSTSTSTSROPOPOPOPMNMNMNMLIJIJIJIJGHGHGHGFCDCDCDCDABABABA@=>=>=>=>9:9:9:9:87878765434343432121210/.-.-.-.-,+,+,+*)('('('('&%&%&%$#"!"!"!"!  - - \[\[\[\[ZYZYZYZYVUVUVUVUQRQRQRQROPOPOPOPKLKLKLKLIJIJIJIJEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>9:9:9:9:65656565434343430/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!"!"!"!     \[\[\[\[ZYZYZYZYVUVUVUVUQRQRQRQROPOPOPOPKLKLKLKLIJIJIJIJEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>9:9:9:9:65656565434343430/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!"!"!"!     \[\[\[\[ZYZYZYZYVUVUVUVUQRQRQRQROPOPOPOPKLKLKLKLIJIJIJIJEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>9:9:9:9:65656565434343430/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!"!"!"!     \[\[\[\[ZYZYZYZYVUVUVUVUQRQRQRQROPOPOPOPKLKLKLKLIJIJIJIJEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>9:9:9:9:65656565434343430/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!        \[\[\[\[ZYZYZYZYVUVUVUVUQRQRQRQROPOPOPOPKLKLKLKLIJIJIJIJEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>9:99999965656565434343430/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#       \[\[\[\[ZYZYZYZYVUVUVUVUQRQRQRQROPOPOPOPKLKLKLKLIJIJIJIJEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>:9:9:9:965656565434343430/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#         \[\[\[\[ZYZYZYZYVUVUVUVUQRQRQRQROPOPOPOPKLKLKLKLIJIJIJIJEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>:9:9:9:965656565434343430/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#         YYZZ[[\\DDEEFFGG !!""##$)((''&&%qppoonnmhiijjkkl !!""##$)((''&&%qppoonnmddeeffgg!!""##$$((''&&%%ppoonnmm]]^^__``HHIIJJKK$%%&&''(%$$##""!mllkkjjilmmnnoop$%%&&''(%$$##""!mllkkjjihhiijjkk%%&&''(($$##""!!llkkjjiiaabbccddLLMMNNOO())**++,! ihhggffepqqrrsst())**++,! ihhggffellmmnopq))**++,, hhggffeeeeffgghhPPQQRRSS,--..//0eddccbbatuuvvwwx,--..//0eddccbbarssttuuv--..//00ddccbbaa~~}}iijjkkllYYZZ[[\\01122334a``__^^]xyyzz{{|01122334a``__^^]vwwxxyyz11223344``__^^]]||{{zzyymmnnoopp]]^^__``45566778]\\[[ZZY|}}~~45566778]\\[[ZZYz{{||}}~55667788\\[[ZZYYxxwwvvuuqqrrssttaabbccdd899::;;< YXXWWVVU899::;;< YXXWWVVU~~}}||{~99::;;<< XXWWVVUUttssrrqquuvvwwxxeeffgghh<==>>??@ - - UTTSSRRQ<==>>??@ - - UTTSSRRQ{zzyyxxw==>>??@@ - - TTSSRRQQppoonnmmyyzz{{||iijjkkll@AABBCCD QPPOONNM@AABBCCD QPPOONNMwvvuuttsAABBCCDDPPOONNMMllkkjjii}}~~mmssttuuDEEFFGGHMLLKKJJIDEEFFGGHMLLKKJJIsmmllkkjEEFFGGHHLLKKJJIIhhggffeevvwwxxyyHIIJJKKLIHHGGFFEHIIJJKKLIHHGGFFEjiihhggfIIJJKKLLHHGGFFEEddccbbaazz{{||}}LMMNNOOPEDDCCBBALMMNNOOPEDDCCBBAfeeddccbMMNNOOPPDDCCBBAA``__^^]]~~PQQRRSST - - A@@??>>=PQQRRSST - - A@@??>>=baa``__^QQRRSSTT - - @@??>>==\\[[ZZYYTUUVVWWX =<<;;::9TUUVVWWX =<<;;::9^]]\\[[ZUUVVWWXX <<;;::99XXWWVVUUXYYZZ[[\98877665~~}XYYZZ[[\98877665ZYYSSRRQ~~}}YYZZ[[\\88776655TTSSRRQQ\]]^^__`54433221}||{{zzy\]]^^__`54433221QPPOONNM||{{zzyy]]^^__``44332211PPOONNMM`aabbccd100//..-yxxwwvvu`aabbccd100//..-MLLKKJJIxxwwvvuuaabbccdd00//..--LLKKJJII~~}}||deeffggh -,,++**)uttssrrqdeeffggh -,,++**)IHHGGFFEttssrrqqeeffgghh ,,++**))HHGGFFEE{{zzyyxxhiijjkkl !!""##$)((''&&%qppoonnmhiijjkkl !!""##$)((''&&%EDDCCBBAppoonnmmiijjkkll!!""##$$((''&&%%DDCCBBAAwwvvuutt~~}}|lmmnnoop$%%&&''(%$$##""!mllkkjjilmmnnoop$%%&&''(%$$##""!A@@??998llkkjjiimmnnoopp%%&&''(($$##""!!iijjkkll@@??>>==ssmmllkk|{{zzyyxpqqrrsst())**++,! ihhggffepqqrrsst())**++,! 87766554hhggffeeqqrrsstt))**++,, mmnnoopp<<;;::99jjiihhggxwwvvuuttuuvvwwx,--..//0eddccbbatuuvvwwx,--..//043322110ddccbbaauuvvwwxx--..//00qqrrsstt88776655ffeeddcctssrqponxyyzz{{|01122334a``__^^]xyyzz{{|011223340//..--,``__^^]]yyzz{{||11223344uuvvwwxx44332211bbaa``__mmllkkjj|}}~~45566778]\\[[ZZY|}}~~45566778,++**))(\\[[ZZYY}}~~55667788yyzz{{||00//..--^^]]\\[[iihhggff899::;;< YXXWWVVU899::;;< (''&&%%XXWWVVUU99::;;<< }}~~,,++**))ZZYYSSRReeddccbb<==>>??@ - - UTTSSRRQ<==>>??@ - - TTSSRRQQ==>>??@@ - - ((''&&%%QQPPOONNaa``__^^@AABBCCD QPPOONNM@AABBCCD PPOONNMMAABBCCDD$$##""!!MMLLKKJJ]]\\[[ZZDEEFFGGHMLLKKJJIDEEFFGGHLLKKJJIIEEFFGGHH IIHHGGFFYYXWVUTSHIIJJKKLIHHGGFFEHIIJJKKLHHGGFFEEIIJJKKLLEEDDCCBBSRRQQPPOLMMNNOOPEDDCCBBALMMNNOOP - -  DDCCBBAAMMNNOOPPAA@@??99ONNMMLLKPQQRRSST - - A@@??>>=PQQRRSST  - - @@??>>==QQRRSSTT - - 88776655KJJIIHHGTUUVVWWX =<<;;::9TUUVVWWX<<;;::99UUVVWWXX  44332211GFFEEDDC~~}XYYZZ[[\98877665~~}XYYZZ[[\88776655~~}}YYZZ[[\\ - - 00//..--CBBAA@@?}||{{zzy\]]^^__`54433221}||{{zzy\]]^^__` - - 44332211||{{zzyy]]^^__``~~}} - - ,,++**))?>=<;:99yxxwwvvu`aabbccd100//..-yxxwwvvu`aabbccd% 00//..--xxwwvvuuaabbccdd||{{zzyy ((''&&%%88776655uttssrrqdeeffggh -,,++**)uttssrrqdeeffggh%&&''((),,++**))ttssrrqqeeffgghh xxwwvvuu44332211qppoonnmhiijjkkl !!""##$)((''&&%qppoonnmhiijjkkl)**++,,-((''&&%%ppoonnmmiijjkkll!!""##$$ttssrrqq00//..--mllkkjjilmmnnoop$%%&&''(%$$##""!mllkkjjilmmnnoop-..//001$$##""!!llkkjjiimmnnoopp%%&&''((ppoonnmm,,++**))ihhggffepqqrrsst())**++,! ihhggffepqqrrsst12233445 hhggffeeqqrrsstt))**++,,llkkjjii ((''&&%%eddccbbatuuvvwwx,--..//0eddccbbatuuvvwwx56677889!"#$%%&&ddccbbaauuvvwwxx--..//00hhggffee!!""##$$ $#"! a``__^^]xyyzz{{|01122334a``__^^]xyyzz{{|9??@@AAB''(())**``__^^]]yyzz{{||11223344ddccbbaa%%&&''(( - - ]\\[[ZZY|}}~~45566778]\\[[ZZY|}}~~BCCDDEEF++,,--..\\[[ZZYY}}~~55667788``__^^]]))**++,, - - YXXWWVVU899::;;< YXXWWVVUFGGHHIIJ//001122 XXWWVVUU99::;;<<\\[[ZZYY--..//00UTTSSRRQ<==>>??@ - - UTTSSRRQJKKLLMMN33445566 - - TTSSRRQQ==>>??@@XXWWVVUU11223344QPPOONNM@AABBCCD QPPOONNMNOOPPQQR778899:;PPOONNMMAABBCCDDTTSSRRQQ55667788 -MLLKKJJIDEEFFGGHMLLKKJJIRSSYYZZ[<=>??@@ALLKKJJIIEEFFGGHHPPOONNMM99::;;<< - IHHGGFFEHIIJJKKLIHHGGFFE[\\]]^^_ABBCCDDEHHGGFFEEIIJJKKLLLLKKJJII==>>??@@%%&&EDDCCBBALMMNNOOPEDDCCBBA_``aabbcEFFGGHHIDDCCBBAAMMNNOOPPHHGGFFEEAABBCCDD''(())** - - A@@??>>=PQQRRSST - - A@@??>>=cddeeffgIJJKKLLM - - @@??>>==QQRRSSTTDDCCBBAAEEFFGGHH++,,--.. =<<;;::9TUUVVWWX =<<;;::9ghhiijjkMNNOOPPQ <<;;::99UUVVWWXX@@??>>==IIJJKKLL//00112298877665~~}XYYZZ[[\98877665~~}kllmmsstQRRSSTUV88776655~~}}YYZZ[[\\<<;;::99MMNNOOPP3344556654433221}||{{zzy\]]^^__`54433221}||{{zzytuuvvwwxWXYYZZ[[44332211||{{zzyy]]^^__``88776655QQRRSSTT778899??100//..-yxxwwvvu`aabbccd100//..-yxxwwvvuxyyzz{{|\\]]^^__00//..--xxwwvvuuaabbccdd44332211UUVVWWXX@@AABBCC -,,++**)uttssrrqdeeffggh -,,++**)uttssrrq|}}~~``aabbcc ,,++**))ttssrrqqeeffgghh00//..--,,++**))ttssrrqqeeffgghhHHIIJJKK !,++**))(tssrrqqpeffgghhi !,++**))(tssrrqqp}~~aabbccdd !!++**))((ssrrqqppffgghhii !!++**))((iihhggff~~}}||{fgghhiij !!"+**))(('srrqqppofgghhiij !!"+**))(('feeddccbeddccbba((''&&%%ppoonnmmiijjkkllLLMMNNOO!""##$$%(''&&%%$poonnmmlijjkkllm!""##$$%(''&&%%$poonnmmleeffgghh""##$$%%''&&%%$$oonnmmlljjkkllmm""##$$%%''&&%%$$eeddccbb{zzyyxxwjkkllmmn"##$$%%&'&&%%$$#onnmmllkjkkllmmn"##$$%%&'&&%%$$#baa``__^a``__^^]$$##""!!llkkjjiimmnnooppPPQQRRSS%&&''(()$##""!! lkkjjiihmnnooppq%&&''(()$##""!! lkkjjiihiijjkkll&&''(())##""!! kkjjiihhnnooppqq&&''(())##""!! aa``__^^wvvuuttsnooppqqr&''(())*#""!! kjjiihhgnooppqqr&''(())*#""!! ^]]\\[[Z]\\[[ZZY hhggffeeqqrrssttYYZZ[[\\)**++,,- hggffeedqrrssttu)**++,,- hggffeedmmnopqrs**++,,--ggffeeddrrssttuu**++,,--]]\\[[ZZsrqponmmrssttuuv*++,,--.gffeeddcrssttuuv*++,,--.ZYYSSRRQYXXWWVVUddccbbaauuvvwwxx]]^^__``-..//001dccbbaa`uvvwwxxy-..//001dccbbaa`sttuuvvw..//0011ccbbaa``vvwwxxyy..//0011YYSSRRQQllkkjjiivwwxxyyz.//00112cbbaa``_vwwxxyyz.//00112QPPOONNMUTTSSRRQ``__^^]]yyzz{{||aabbccdd12233445`__^^]]\yzz{{||}12233445`__^^]]\wxxyyzz{22334455__^^]]\\zz{{||}}22334455PPOONNMMhhggffeez{{||}}~23344556_^^]]\\[z{{||}}~23344556MLLKKJJIQPPOONNM\\[[ZZYY}}~~eeffgghh56677889\[[ZZYYX}~~56677889\[[ZZYYX~{||}}~~66778899[[ZZYYXX~~66778899LLKKJJIIddccbbaa~6778899:[ZZYYXXW~6778899:IHHGGFFEMLLKKJJI XXWWVVUUiijjkkll9::;;<<= XWWVVUUT9::;;<<= XWWVVUUT~}}||{{z::;;<<== WWVVUUTT::;;<<== HHGGFFEE``__^^]]:;;<<==> WVVUUTTS:;;<<==> EDDCCBBAIHHGGFFE - - TTSSRRQQmmssttuu=>>??@@A - - TSSRRQQP=>>??@@A - - TSSRRQQPzyyxxwwv>>??@@AA - - SSRRQQPP>>??@@AA - - DDCCBBAA\\[[ZZYY>??@@AAB - - SRRQQPPO>??@@AAB - - A@@??998EDDCCBBAPPOONNMMvvwwxxyyABBCCDDEPOONNMMLABBCCDDEPOONNMMLvuuttssmBBCCDDEEOONNMMLLBBCCDDEE@@??9988XWVUTSSRBCCDDEEFONNMMLLKBCCDDEEF87766554A@@??>>=LLKKJJIIzz{{||}}EFFGGHHILKKJJIIHEFFGGHHILKKJJIIHmllkkjjiFFGGHHIIKKJJIIHHFFGGHHII77665544RQQPPOONFGGHHIIJKJJIIHHGFGGHHIIJ43322110=<<;;::9HHGGFFEE~~IJJKKLLMHGGFFEEDIJJKKLLMHGGFFEEDihhggffeJJKKLLMMGGFFEEDDJJKKLLMM33221100NMMLLKKJJKKLLMMNGFFEEDDCJKKLLMMN0//..--,98877665DDCCBBAAMNNOOPPQ DCCBBAA@MNNOOPPQ DCCBBAA@eddccbbaNNOOPPQQ CCBBAA@@NNOOPPQQ //..--,,JIIHHGGFNOOPPQQR -CBBAA@@?NOOPPQQR -,++**))(54433221 - - @@??>>==QRRSSTTU - - @??>>==>==>==<>==<<;RSSTTUUV - (''&&%%100//..- <<;;::99~~}}||UVVWWXXY <;;::998UVVWWXXY <;;::998]\\[[ZZYVVWWXXYY;;::9988VVWWXXYY''&&%%BAA@@??>VWWXXYYZ;::99887VWWXXYYZ-,,++**)88776655{{zzyyxxYZZ[[\\]87766554~~}}|YZZ[[\\]87766554YSSRRQQP~~}}||ZZ[[\\]]77665544~~}}||ZZ[[\\]]=<;:9988~~}}||{Z[[\\]]^76655443~~}}||{Z[[\\]]^)((''&&%44332211wwvvuutt]^^__``a43322110|{{zzyyx]^^__``a43322110POONNMML{{zzyyxx^^__``aa33221100{{zzyyxx^^__``aa77665544{zzyyxxw^__``aab3221100/{zzyyxxw^__``aab%$$##""!00//..--ssmmllkkabbccdde0//..--,xwwvvuutabbccdde0//..--,LKKJJIIHwwvvuuttbbccddee//..--,,wwvvuuttbbccddee33221100wvvuuttsbccddeef/..--,,+wvvuuttsbccddeef!  ,,++**))jjiihhgg~~}}|effgghhi !,++**))(tssrrqqpeffgghhi !,++**))(HGGFFEEDssrrqqppffgghhii !!++**))((ssrrqqppffgghhii !!//..--,,srrqqppofgghhiij !!"+**))(('srrqqppofgghhiij !!" !!""##$$((''&&%%ffeeddcc|{{zzyyxijjkkllm!""##$$%(''&&%%$poonnmmlijjkkllm!""##$$%(''&&%%$DCCBBAA@oonnmmlljjkkllmm""##$$%%''&&%%$$oonnmmlljjkkllmm""##$$%% ++**))((onnmmllkjkkllmmn"##$$%%&'&&%%$$#onnmmllkjkkllmmn"##$$%%& - - -%%&&''(($$##""!!bbaa``__xwwvvuutmnnooppq%&&''(()$##""!! lkkjjiihmnnooppq%&&''(()$##""!! @??99887kkjjiihhnnooppqq&&''(())##""!! kkjjiihhnnooppqq&&''(()) - - ''&&%%$#kjjiihhgnooppqqr&''(())*#""!! kjjiihhgnooppqqr&''(())* - ))**++,, ^^]]\\[[tssrqponqrrssttu)**++,,- hggffeedqrrssttu)**++,,- 76655443ggffeeddrrssttuu**++,,--ggffeeddrrssttuu**++,,--"! gffeeddcrssttuuv*++,,--.gffeeddcrssttuuv*++,,--. --..//00ZZYYSSRRmmllkkjjuvvwwxxy-..//001dccbbaa`uvvwwxxy-..//0013221100/ccbbaa``vvwwxxyy..//0011ccbbaa``vvwwxxyy..//0011 - -cbbaa``_vwwxxyyz.//00112cbbaa``_vwwxxyyz.//00112 - - 11223344QQPPOONNiihhggffyzz{{||}12233445`__^^]]\yzz{{||}12233445/..--,,+__^^]]\\zz{{||}}22334455__^^]]\\zz{{||}}22334455 _^^]]\\[z{{||}}~23344556_^^]]\\[z{{||}}~23344556 - - 55667788MMLLKKJJeeddccbb}~~56677889\[[ZZYYX}~~56677889+**))(('[[ZZYYXX~~66778899[[ZZYYXX~~66778899[ZZYYXXW~6778899:[ZZYYXXW~6778899: 99::;;<< IIHHGGFFaa``__^^9::;;<<= XWWVVUUT9::;;<<= '&&%%WWVVUUTT::;;<<== WWVVUUTT::;;<<== WVVUUTTS:;;<<==> WVVUUTTS:;;<<==>%%&&'==>>??@@ - - EEDDCCBB]]\\[[ZZ=>>??@@A - - TSSRRQQP=>>??@@A - - SSRRQQPP>>??@@AA - - SSRRQQPP>>??@@AA - - SRRQQPPO>??@@AAB - - SRRQQPPO>??@@AAB'(())**+AABBCCDDAA@@??99YYXWVUTSABBCCDDEPOONNMMLABBCCDDEOONNMMLLBBCCDDEEOONNMMLLBBCCDDEE ONNMMLLKBCCDDEEFONNMMLLKBCCDDEEF+,,--../EEFFGGHH88776655SRRQQPPOEFFGGHHILKKJJIIHEFFGGHHIKKJJIIHHFFGGHHIIKKJJIIHHFFGGHHII%%&&''KJJIIHHGFGGHHIIJKJJIIHHGFGGHHIIJ/0011223 IIJJKKLL44332211ONNMMLLKIJJKKLLMHGGFFEEDIJJKKLLM GGFFEEDDJJKKLLMMGGFFEEDDJJKKLLMM(())**++GFFEEDDCJKKLLMMNGFFEEDDCJKKLLMMN34455667 !!""##$MMNNOOPP00//..--KJJIIHHGMNNOOPPQ DCCBBAA@MNNOOPPQ - -  -CCBBAA@@NNOOPPQQ CCBBAA@@NNOOPPQQ,,--..// -CBBAA@@?NOOPPQQR -CBBAA@@?NOOPPQQR78899??@$%%&&''(QQRRSSTT - - ,,++**))GFFEEDDCQRRSSTTU - - @??>>==>==<>==<>==<<;RSSTTUUV - ?>>==<<;RSSTTUUV@AABBCCD())**++,UUVVWWXX ((''&&%%CBBAA@@?UVVWWXXY <;;::998UVVWWXXY;;::9988VVWWXXYY;;::9988VVWWXXYY44556677;::99887VWWXXYYZ;::99887VWWXXYYZDEEFFGGH,--..//0YYZZ[[\\?>=<;:99~~}}|YZZ[[\\]87766554~~}}|YZZ[[\\] 77665544~~}}||ZZ[[\\]]77665544~~}}||ZZ[[\\]]8899??@@76655443~~}}||{Z[[\\]]^76655443~~}}||{Z[[\\]]^HIIJJKKL01122334]]^^__``88776655|{{zzyyx]^^__``a43322110|{{zzyyx]^^__``a - - 33221100{{zzyyxx^^__``aa33221100{{zzyyxx^^__``aaAABBCCDD3221100/{zzyyxxw^__``aab3221100/{zzyyxxw^__``aabLMMNNOOP45566778aabbccdd44332211xwwvvuutabbccdde0//..--,xwwvvuutabbccdde%%& //..--,,wwvvuuttbbccddee//..--,,wwvvuuttbbccddeeEEFFGGHH/..--,,+wvvuuttsbccddeef/..--,,+wvvuuttsbccddeefPQQRRSSY899::;;>??@iijjkkll!!""##$$ ,,++**))poonnmmlijjkkllm!""##$$%(''&&%%$poonnmmlijjkkllm*++,,--.''&&%%$$oonnmmlljjkkllmm""##$$%%''&&%%$$oonnmmlljjkkllmmMMNNOOPP"##$$%%&'&&%%$$#onnmmllkjkkllmmn"##$$%%&'&&%%$$#onnmmllkjkkllmmn]^^__``a@AABBCCDmmnnoopp%%&&''(( - - ((''&&%%lkkjjiihmnnooppq%&&''(()$##""!! lkkjjiihmnnooppq.//00112##""!! kkjjiihhnnooppqq&&''(())##""!! kkjjiihhnnooppqqQQRRSSYY&''(())*#""!! kjjiihhgnooppqqr&''(())*#""!! kjjiihhgnooppqqrabbccddeDEEFFGGHqqrrsstt))**++,,$#"! hggffeedqrrssttu)**++,,- hggffeedqrrssttu23344556 !"ggffeeddrrssttuu**++,,--ggffeeddrrssttuuZZ[[\\]]*++,,--.gffeeddcrssttuuv*++,,--.gffeeddcrssttuuveffgghhiHIIJJKKLuuvvwwxx--..//00 dccbbaa`uvvwwxxy-..//001dccbbaa`uvvwwxxy6778899?#$%%&&''ccbbaa``vvwwxxyy..//0011ccbbaa``vvwwxxyy^^__``aa.//00112cbbaa``_vwwxxyyz.//00112cbbaa``_vwwxxyyzijjkkllmLMMNNOOPyyzz{{||11223344 - - `__^^]]\yzz{{||}12233445`__^^]]\yzz{{||}?@@AABBC(())**++__^^]]\\zz{{||}}22334455__^^]]\\zz{{||}}bbccddee23344556_^^]]\\[z{{||}}~23344556_^^]]\\[z{{||}}~mssttuuvPQQRRSST}}~~55667788\[[ZZYYX}~~56677889\[[ZZYYX}~~CDDEEFFG,,--..//[[ZZYYXX~~66778899[[ZZYYXX~~ffgghhii6778899:[ZZYYXXW~6778899:[ZZYYXXW~vwwxxyyzTUUVVWWX99::;;<<XWWVVUUT9::;;<<= XWWVVUUTGHHIIJJK00112233 WWVVUUTT::;;<<== WWVVUUTTjjkkllmm:;;<<==> WVVUUTTS:;;<<==> WVVUUTTSz{{||}}~XYYZZ[[\==>>??@@ -TSSRRQQP=>>??@@A - - TSSRRQQPKLLMMNNO44556677 - - SSRRQQPP>>??@@AA - - SSRRQQPPssttuuvv>??@@AAB - - SRRQQPPO>??@@AAB - - SRRQQPPO~\]]^^__`AABBCCDD - POONNMMLABBCCDDEPOONNMMLOPPQQRRS8899:;<=OONNMMLLBBCCDDEEOONNMMLLwwxxyyzzBCCDDEEFONNMMLLKBCCDDEEFONNMMLLK`aabbccdEEFFGGHH%%&&LKKJJIIHEFFGGHHILKKJJIIHSYYZZ[[\>??@@AABKKJJIIHHFFGGHHIIKKJJIIHH{{||}}~~FGGHHIIJKJJIIHHGFGGHHIIJKJJIIHHGdeeffgghIIJJKKLL''(())**HGGFFEEDIJJKKLLMHGGFFEED\]]^^__`BCCDDEEFGGFFEEDDJJKKLLMMGGFFEEDDJKKLLMMNGFFEEDDCJKKLLMMNGFFEEDDC~~}hiijjkklMMNNOOPP++,,--.. DCCBBAA@MNNOOPPQ DCCBBAA@`aabbccdFGGHHIIJ CCBBAA@@NNOOPPQQ CCBBAA@@NOOPPQQR -CBBAA@@?NOOPPQQR -CBBAA@@?}||{{zzylmmnnoopQQRRSSTT//001122 - - @??>>==>==>==<>==<<RSSTTUUV - ?>>==<<;RSSTTUUV - ?>>==<<;~~}}||{yxxwwvvupqqrrsstUUVVWWXX33445566 <;;::998UVVWWXXY <;;::998hiijjkklNOOPPQQR;;::9988VVWWXXYY;;::9988~~}}||{{VWWXXYYZ;::99887VWWXXYYZ;::99887{zzyyxxwuttssrrqtuuvvwwx~~}}YYZZ[[\\778899??87766554~~}}|YZZ[[\\]87766554~~}}|lmmssttuRSSTUVWX77665544~~}}||ZZ[[\\]]77665544zzyyxxwwZ[[\\]]^76655443~~}}||{Z[[\\]]^76655443wvvuuttsqppoonnmxyyzz{{|||{{zzyy]]^^__``@@AABBCC43322110|{{zzyyx]^^__``a43322110|{{zzyyxuvvwwxxyYYZZ[[\\33221100{{zzyyxx^^__``aa33221100vvuuttss^__``aab3221100/{zzyyxxw^__``aab3221100/smmllkkjmllkkjji|}}~~xxwwvvuuaabbccddDDEEFFGG0//..--,xwwvvuutabbccdde0//..--,xwwvvuutyzz{{||}]]^^__``//..--,,wwvvuuttbbccddee//..--,,mmllkkjjbccddeef/..--,,+wvvuuttsbccddeef/..--,,+jiihhggfihhggffebdQZ|H~f|ZdQZp˂AJltے`JX|ZdQZp˂AJltے`JX|ZdQےbHA`vXnے`JXQfpvdrtA`vXnbtlrXQJ`ۉbdQZ|Qr˂pbtlrXQJ`ۉbdQZ|Qr˂pbtl|Zp˂vpfr˂pnXv`JltvpfJtArdbHAdrtZHAbJtArdbHAdrtZHAbZdQbrXQJH~fZHAbf~HbdQZ|H~f|ZdQZp˂AJltے`JX|ZdQZp˂AJltے`JXnXv`pbHAZp`vXnے`JXQfpvdrtA`vXntArdrXQJ`ۉbdQZ|Qr˂pbtlrXQJ`ۉbdQZ|Qr˂pvnXrXQvpfr˂pnXv`Jltvpf|ZdQbbHAdrtZHAbJtArdbHAdrtZHAbv`fJ`ےH~fZHAbf~HbdQZ|H~ftlJZp˂AJltے`JX|ZdQZp˂AJltے`JX~HfpbHAZp`vXnے`JXQfpvdrtA`vXntArdrXQJ`ۉbdQZ|Qr˂pbtlrXQJ`ۉbdQZ|Qr˂pvnXrXQvpfr˂pnXv`Jltvpf|ZdQbbHAdtAZHAbJtArdbHAdtAZHAbv`fJ`bAZH~fZHAےf~HbdQZ|H~ftd|Zp˂Jltے`JX|ZdQZp˂Jltے`JXnXp˂r`vXn`JXQrfpvdrtA`vXnZdQbtrXQJ`bnvpQr˂pbnXv`rXQJ`bnvpQr˂pv`fbdQZ|vpfbtlnXv`JltvpflJtAbHAfHˑZHAbf~HbHAfHˑZHAb~HfpdrtAH~fJtAdf~HbdQZ|H~frd|Zp˂f`vXے`JXfpvZp˂f`vXے`JXvnXJlt`vXn|ZdQbfpvdrtA`vXnZdQbtrXQJ`nvpQr˂pnXv`rXQJ`nvpQr˂pv`fbdQZ|vpftlJnXv`Jltr˂pl|ZbHAfH~ˑZHAbf~HbHAfH~ˑZHAb~HXv`drtAH~ftArdf~HbdQZ|`JXQrdQbnXZp˂f`vXے`JXfpvZp˂f`vXے`JXf~HJlt`vXn|ZdQbfpvdrtA˂pZv`f~rXQJ`nvpQr˂pnXv`rXQJ`nvpQr˂pfpvbdQZ|vpftlJnXv`JltHAbےfpv㒐bHAfH~ˑZHAbf~HbHAfH~ˑZHAbnXv`drtAH~ftArdf~HbdQZ|`JXQrnXv`Zp˂f`vXے`JXfpvZp˂f`vXے`JXf~HJlt`vXn|ZdQbfpvdrtA˂pZf~HrXQJ`nvpQr˂pnXv`rXQJ`nvpQr˂pfp`bdQZ|vpftlJnXv`p˂rJltHAXQrfpv㒐bHAfH~ˑZHAbf~HbHAfH~ˑZHAbf~HdrtAH~ftArdf~HXQJ`ےbdQZ|˂pZHAnXv`Zp˂f`vXے`JXfpvZp˂f`vXے`JXfpvJlt`vXn|ZdQbfpvbHAZdrtAbے`f~fvrXQJ`nvpQr˂pnXv`rXQJ`nvpQr˂pnXv`bdQZ|vpftlJnXv`p˂rJltJXQrnXvbHAfH~ˑZHAbf~HbHAfH~ˑZHAbf~HdrtAH~ftArdf~HXQJ`ےbdQZ|˂pZHA`f~Zp˂f`vXے`JXfpvZp˂f`vXے`JXfpvJlt`vXn|ZdQbfpvbHAZdrtAb˂HfpvrXQJ`nvpQr˂pnXv`rXQJ`nvpQr˂p~HfpbdQZ|vpftlJnXv`p˂rJltpZHAbnXvbHAfH~ˑZHAۍf~HbHAfH~ˑZHA۝vnXdrtAH~ftArdfHfXQJ`ےbdQZ|ے`J`f~Zp˂f`vX`JXQfpvZp˂f`vX`JXQv`fJlt`vXn|ZdQbpvnbHAZdrtAXQr˂HfvnXrbdQZ|nvprbtlnXv`rbdQZ|nvprbtl~HfpbdQZ|r˂ptlJrXQJ`p˂rJltpZHAbv`fdrtfH~ˑJtAdf~HdrtfH~ˑ|ZdQvnXdrtAZHAbtArdےHAZbdQZ|bdQZ|ے`p~HfpAJltf`vX|ZdQfpvAJltf`vXbtlv`pJltے`JXQ|ZdQbp˂rdrtAdrtAZHAbvnXbdQZ|nvpbtlnXv`bdQZ|nvpJtArdvnrXbdQZ|r˂ptlJXQJ`ےJltJltے`JXQv`fdrtfH~JtArdf~HdrtfH~˂|ZdQQJ`AdrtAZHAbtArdbHAZbdQZ|bdQZ|r˂p~HfpAJltf`vX|ZdQfpvAJltf`vXbtlZp˂Jltے`JXQ|ZdQbp˂rdrtA`vXnZHAbvnv`bdQZ|nvpbtlnXv`bdQZ|nvpJtArdtrXQJ`bdQZ|r˂ptlJXQJ`ےJltvpfے`JXQf~HdrtfH~JtArdf~HdrtfH~ˉlJtbHAdrtAZHAbtArdbHAZbdQZ|H~fHAbےfpvAJltf`vX|ZdQfpvAJltf`vXArd|Zp˂Jltے`JXQ|ZdQbp˂rdrtA`vXn`JXQrnXv`bdQZ|nvpbtlnXv`bdQZ|nvpZdQbtrXQJ`bdQZ|r˂ptlJXQJ`ےJltvpf˂pZf~HdrtfH~JtArdf~HdrtfH~ˉlJtbHAZdrtAZHAbtArdbHAZbdQZ|H~fHAbےfpvAJltf`vX|ZdQfpvAJltf`vXArd|rXQJJltے`JXQ|ZdQbp˂rdrtA`vXn`JXQrnvfbdQZ|nvpbtlnXv`bdQZ|nvplJtA`ےbbdQZ|r˂ptlJXQJ`ےJltvpf˂p|~HfpہdrtfH~JtArdf~HdrtfH~rd|HAZp˂drtAZHAbtArdbHAZbdQZ|H~fZdQbtvnXAJltf`vX|ZdQfpvAJltf`vXZdQbt瀉rXQJJltے`JXQ|ZdQbp˂rdrtA`vXnlJtAv`fbdQZ|nvpbtlnXv`bdQZ|nvplJtA`ےbbdQZ|r˂ptlJXQJ`ےJltvpfrd|~HfpہdrtfH~JtArdfHdrtfH~rd|HAZpdtAJZHAbtArdbHAZbdQZ|H~fZdQbtvnXAJltf`vX|ZdQfpvAJltf`vXZdQtArdrQJ`ےltbے`JXQ|ZdQbp˂rdrtA`vXnlJtAv`frbdQZ|nr˂pbtlnrXQJ`bdQZ|nr˂p|ZdbHAZpnvpr˂pnXv`XQJ`ےJltvpfrdtQJHAdrtZHAbJtArdےHAdrtZHAbQbtl˂rXfHfZHAbf~HbHAZbdQZ|H~flJtArZp˂AJltے`JX|ZdQZp˂AJltے`JXJtArdQJ`ے`vXnے`JXQfpvp˂rdrtA`vXnd|ZrXQJ`ۉbdQZ|Qr˂pbtlrXQJ`ۉbdQZ|Qr˂p|ZdbHAZpvpfr˂pnXv`XQJ`ےJltvpfdQbt璒bHAdrtZHAbJtArdbHAdrtZHAbQbtd˂rQJH~fZHAbf~HbHAZbdQZ|H~flJtArZp˂AJltے`JX|ZdQZp˂AJltے`JX|ZdQbHA`vXnے`JXQfpvp˂rdrtA`vXnd|lrXQJ`ۉbdQZ|Qr˂pbtlrXQJ`ۉbdQZ|Qr˂pbtlZp˂vpfr˂pnXv`XQJ`ےJltvpfJtArdbHAdrtZHAbJtArdbHAdrtZHAbJtArdrXQJ`H~fZHAbf~HbHAZbdQZ|drtAZHAbtArdrXQJ`~f`ZHAbf~HbHAZp~f`ZHAbf~HbHAZpvpfrd|~HfdrtAJ~f`rd|~Hf|drAbے`rd|bHAZp˙rtAJlAbے`rd|bHAZp˙rtAJlbے`f۝`vJltے`JXQ|ZdQbےbHAvXn`JXQfpv˂rXvXn`JXQfpv˂rXH~fZdQbtpvnltbvXnZdQbtpvntAJl璁JXQrZdQbt炀rXQtbdJXQrZdQbt炀rXQtbdJXQrXnvˍbdQZ|r˂ptlJZp˂vpfHr˂pnXv`QJ`ےvpfHr˂pnXv`QJ`p`vXnlJtAXv`fdQZ|vpfHlJtAXv`ftbdQZ˂pZHlJtAJ`ےQZ|d˂pZHlJtAJ`ےQZ|dpZHApfH~drtAZHAbtArdbHAZ~f`ZHAbf~HbHAZp~f`ZHAbf~Hrbdvf~rd|~HfdrtAJ~f`rd|~Hf|drAbJXQrd|bHAZp˙rtAJlAbے`rd|bHAZp˙rtAJlb˂pf۝`vJltے`JXQ|ZdQbp˂rvXn`JXQfpv˂rXvXn`JXQfpvQZ|lf`vXZdQbtpvnltbvXnZdQbtpvntAdQZ|r˂pZdQbt炀rXQtbdJXQrZdQbt炀rXQtbdZHAbXnvˍbdQZ|r˂ptlJXQJ`ےvpfHr˂pnXv`QJ`ےvpfHr˂pnXv`˒tbdQnvplJtAXv`fdQZ|vpfHlJtAXv`fdrtAZHAblJtAJ`ےQZ|d˂pZHlJtAJ`ےQZ|dے`JXpfH~drtAZHAbtArdbHAZ~f`ZHAbf~HbHAZp~f`ZHAbf~HZ|dfH~rd|~HfdrtAJ~f`rd|~HfJltے`JXQrd|bHAZp˙rtAJlAbے`rd|bHAZp˙rtAJlQr˂pf۝`vJltے`JXQ|ZdQbp˂rvXn`JXQfpv˂rXvXn`JXQfpvrtAJlf`vXZdQbtpvnltbvXnZdQbtpvnbdQZ|r˂pZdQbt炀rXQtbdJXQrZdQbt炀rXQtbdZHAbXnvˍbdQZ|r˂ptlJXQHAZpvpfHr˂pnXv`QJ`ےvpfHr˂pnXv`˒tbdQnvplJtAXv`fdQZ|vpfHlJtAXv`fdrtAZHAblJtAJ`ےQZ|d˂pZHlJtAJ`ےQZ|dے`ppfH~dtAJZHAbtArd˂rXQ~f`ZHAے`f~HbHAZp~f`ZHAے`f~HZ|dtf~f`rd|HfpdrtAJ~f`rd|HfpJl|JQrrd|bHAZp˙tAJlAbے`rd|bHAZp˙tAJlZHAbېf۝`vltbے`JXQ|ZdQbJ`ےvXnJXQrfpv˂rvXnJXQrfpvbdQZ|vXnrZdQbtvnrltbvXnrZdQbtvnrdrtAJpZHAZdQbnXrXQtbnJXQrZdQbnXrXQtbn`JXQXnvˍnvpr˂pnXv`bHAZpvpfHbtlnXv`bdQZ|vpfHbtlnXv`ˁdrt˂pZlJtAXQJ`ےdQZ|˂pZlJtAXQJ`ےltbbے`v`fJ`ےvpfH˂pZHv`fJ`ےvpfHr˂ppfH~fHfZHAbpvn˂rXQ~f`JtAd|f~HdrtA~f`JtAd|f~HAJltHAbےrd|HAZpdrtAJHAbےrd|HAZpdQZ|JXQr˕~HfpbHAZp˅f`Abے`~HfpbHAZp˅f`ZHAbېf۝`v`vXnے`JXQXv`fJ`p˂vXnZdQbtfpvJltvXnZdQbtfpvbdQZ|`JXQrZdQbt˂rXQltb`JXQrZdQbt˂rXQdrtAJpZHAvnXrXQvXnہJXQrvnXrXQvXnے`JXQHXnvˍvpfr˂p~HfrbdQvpfHlJtnXv`bdQZ|vpfHlJtnXv`ˁdrt˂pZlJtAJ`ےdQZ|˂pZlJtAJ`ےltdbے`Jv`fJ`ےvpfH˂pZHv`fJ`ےvpfHAbے`pfH~H~fZHAbpvnZ|rA~f`Ard|f~HdrtA~f`Ard|f~HAdQZ|HAbےrd|bHAZpdrtAJHAbےrd|bHAZprtAJlQrpZ~HfpbHAZp~f`Abے`~HfpbHAZp~f`JXQrf۝`v`vXnے`JXQXv`fJltvXnZdQbtfpvJltvXnZdQbtfpvdrtA`JXQrZdQbt˂rXQltb`JXQrZdQbt˂rXQtbdQHAbےvnXrXQvXnہJXQrvnXrXQvXnۉ˂pZHXnvˍvpfr˂pnXbdQZ|vpfHlJtnXv`bdQZ|vpfHlJtnXv`Jlt˂pZlJtAJ`ےdQZ|˂pZlJtAJ`ےZ|d`JXQrv`fJ`ےvpfH˂pZHv`fJ`ےvpfHAbے`pfH~H~fZHAbv`fdrtA~f`Ard|f~HdrtA~f`Ard|f~HbdQZ|HAbےrd|bHAZpdrtAJHAbےrd|bHAZprtAJl˂pZ~HfpbHAZp~f`Abے`~HfpbHAZp~f`JXQrf۝`v`vXnے`JXQ~HfpJltvXnZdQbtfpvJltvXnZdQbtfpvdrtA`JXQrZdQbt˂rXQltb`JXQrZdQbt˂rXQtbdQHAbےvnXrXQvXnہJXQrvnXrXQvXnۉ˂p`ZXnvˍvpfr˂pvnXbdQZ|vpfHlJtnXv`bdQZ|vpfHlJtnXv`Jl|d˂pZlJtAJ`ےdQZ|˂pZlJtAJ`ےZ|l`JXQrv`fJ`ےvpfH˂pZHv`fJ`ےvpfHQXb㉀pfH~H~fZHAbv`fdrAJ~f`Ard|f~HdrtA~f`Ard|f~HrtAJlHAbےrd|bHAZpdrtAJHAbےrd|bHAZptbnZHAb~HfpbHAZp~f`Abے`~HfpbHAZp~f`ۑpJAHrf۝`v`vXnے`JXQ~HXvtbdQZvXnZdQbtfpvJltvXnZdQbtfpvtbd`JXQrZdQbt˂rXQltb`JXQrZdQbt˂rXQvp`vے`JXvnXrXQvXnہJXQrvnXrXQvXn󙐂ˁ`ZXnvˍvpfr˂p`f~|drvpfHlJtnXv`bdQZ|vpfHlJtnXv`QZ|d˂pZlJtAJ`ےdQZ|˂pZlJtAJ`ےXnvQr˂pv`fJ`ےvpfH˂pZHv`fJ`ےvpfHQXb㉀p|drH~fZHAbHfpvtAJl璅~f`Ard|f~HdrtA~f`Ard|f~HrtAJlHAbےrd|bHAZpdrtAJHAbےrd|bHAZppfH~ZHAb~HfpbHAZp~f`Abے`~HfpbHAZp~f`ۑpJAHrQtJl`vXnے`JXQnXvtbdQZvXnZdQbtfpvJltvXnZdQbtfpvtd`JXQrZdQbt˂rXQltb`JXQrZdQbt˂rXQf`vے`JXvnXrXQvXnہJXQrvnXrXQvXn󙐉ۑtbAdZvpfr˂p`f~|drvpfHlJtnXv`bdQZ|vpfHlJtnXv`rtAJl瀉˂pZlJtAJ`ےdQZ|˂pZlJtAJ`ےXnvQr˂pv`fJ`ےvpfH˂pZHv`fJ`ےvpfHpJAHr|drH~fZHAےHfp`tAJbd~f`Ard|fHfpdrtA~f`Ard|fHfptbdQHAbےrd|bHAZpdtAJlHAbےrd|bHAZppfH~ZA`~HfpbHAZp~f`Aے`~HfpbHAZp~f`ˁ`ZQQtJl`vXn`JXQrf~HQZ|dvXnZdQbtvnJltvXnZdQbtvnZ|d`JXQrZdQbn˂rXQtbn`JXQrZdQbn˂rXQvpJXQrbtvnXrbdvXnJXQrbtvnXrbdvXnXb㉀ۑtbAdZvpfbtlfpvrtAJlr˂plJtrXQJ`bdQZ|r˂plJtrXQJ`prtAJl瀉˂pZXv`fJ`ےvpf˂pZXv`fJ`ےfH~lJtv`fQZ|dvpfHlJtv`fQZ|dvpfHpJAHr|drH~fJtAdnXv`tbdZHAbArd|HAZpdrtAZHAbArd|˂rXtbdQHAbے~HfbHAZpHf`HAbے~HfbHAZpf`vXAd|~HfprtAJl~f`Ad|~HfprtAJl~f`ˁ`pJQtJl`vXn|ZdQbf~HQZ|d`JXQZdQbt˂rXJlt`JXQZdQbtQJ`ےZ|lt`JXQrpvn˂rXQvXn`JXQrpvn˂rXQnvpZdQbtvnXtbdvXnZdQbtvnXtbdvXnAHr󙐂tbAdZvpftlJfpvrtAJlr˂plJtQJ`ےbdQZ|r˂plJtbHAZpbnۀ˂pZXv`fJ`ےvpfH˂pZXv`fJ`ےfH~lJtAv`fQZ|dvpfHlJtAv`fQZ|dvpfHˁ`ZQXb|drH~ftArd~HfbQZ|ZHAbArd|bHAZpdrtAZHAbArd|˂rXvpff`HAbے~HfbHAZp~f`HAbے~HfbHAZpf`pfrd|~HfprtAJl~f`rd|~HfprtAJl~f`㉀ۑpJQtJl`vXn|ZdQbpvndrtA`JXQZdQbt˂rXJlt`JXQZdQbtQJ`ےvXn`JXQrpvn˂rXQvXn`JXQrpvn˂rXQH~fZdQbtvnXtbdvXnZdQbtvnXtbdvXnAHr󙐂tbAdZvpftlJXv`fJltr˂plJtQJ`ےbdQZ|r˂plJtbHAXQvpfH˂pZXv`fJ`ےvpfH˂pZXv`fJ`ے`vXnlJtAv`fQZ|dvpfHlJtAv`fQZ|dvpfHˁ`ZQXA|drH~ftArd~HfbdQZ|ZHAbArd|bHAZpdrtAZHAbArd|J`ے~f`HAbے~HfbHAZp~f`HAbے~HfbHAZpvpfrd|~HfprtAJl~f`rd|~HfprtAJl~f`Hr󙐂ˁQtJl`vXn|ZdQbpvndrtA`JXQZdQbt˂rXJlt`JXQZdQbtbHAZpˍvXn`JXQrpvn˂rXQvXn`JXQrpvn˂rXQH~fZdQbtvnXtbdvXnZdQbtvnXtbdvXn`ZQXbtbAdZvpftlJXv`pJltr˂plJtQJ`ےbdQZ|r˂plJtrXQvpfH˂pZXv`fJ`ےvpfH˂pZXv`fJ`ے`vXHlJtAv`fQZ|dvpfHlJtAv`fQZ|dvpfHۑpJA|drH~ftArdvnrbQZdZHAbArd|bHAZpdrtAZHAbArd|J`ے~fvHAbے~HfbHAZp~f`HAbے~HfbHAZp~f`rd|~HfprtAJl~f`rd|~HfprtAJl~f`Hr󙐂ˁQtJl`vXn|ZdQbXQJ`prtAJl`JXQZdQbt˂rXJlt`JXQZdQbtbHAZp`nvp`JXQrpvn˂rXQvXn`JXQrpvn˂rXQvXnZdQbtvnXtbdvXnZdQbtvnXtbdvXn`ZQXbtbAdZvpftlJ˂rXQtbdQr˂plJtQJ`ےbdQZ|r˂plJtےbHfH~˂pZXv`fJ`ےvpfH˂pZXv`fJ`ےvpfHlJtAv`fQZ|dvpfHlJtAv`fQZ|dvpfH󀙐ˁ`Z|drH~ftArdJ`ےZ|dZHAbArd|bHAZpdrtAZHAbArd|AZp˂f`vXHAbے~HfbHAZp~f`HAbے~HfbHAZp~f`rd|~HfprtAJl~f`rd|~HfprtAJl~f`QXb㉀QtJl`vXn|ZdQbbHAZprtAJl`JXQZdQbt˂rXJlt`JXQZdQbtrXQJ`nvp`JXQrpvn˂rXQvXn`JXQrpvn˂rXQvXnZdQbtvnXtbdvXnZdQbtvnXtbdvXnۑpJAHrtbAdZvpftlJ˂rXQtbdQr˂plJtQJ`ےbdQZ|r˂plJtےbHfH~˂pZXv`fJ`ےvpfH˂pZXv`fJ`ےf`vlJtAv`fQZ|dvpfHlJtAv`fQZ|dvpfH󙐂ˁ`Z|drH~ftArdJ`ےZ|AJlZHAbArd|bHAZpdtAJlZHAbArd|AZp˂f`vnHAے`~HfbHAZp~f`HAے`~HfbHAZpXnvrd|HfpۙrtAJl~f`rd|HfpۙrtAJl~f`QXb㉀QtJl`vXn|ZdQbbHAXQJtb`JXQZdQb˂rXtb`JXQZdQb㉐bHAvpfHJXQrbpvn˂rbvXnJXQrbpvn˂rbpfH~ZdQbtvnrXtbdvXnrZdQbtvnrXtbdvXnے`XnvˍtbAdZr˂ptlJ`ےbnvpr˂pnXv`QJ`ےnvpr˂pnXv`Zp˂~f`tlJXv`fdQZ|vpfHtlJXv`fdQZ|lf`vlJtAQJ`ےQZ|d˂pZHlJtAQJ`ےQZ|dJXQrpfH~|drZHAbtArdHAZp˂fHf`ZHAbf~HbHAZpfHf`ZHAbf~HrXQJ`vXntAd|~HfdrtAJ~f`tAd|~HftbdQXnvrd|HAZp˙rtAJlAbے`rd|HAZp˙rtAJl˂pZHf۝`vQtJlے`JXQ|ZdQbrXQJvXn`JXQfpv˂rXvXn`JXQfpv㒐bHAvpfHZdQbtpvnltbvXnZdQbtpvnZ|dp`vXZdQbt炀rXQtbdJXQrZdQbt炀rXQtbdAbے`XnvˍtbAdZr˂ptlJ`ےbvpfHr˂pnXv`QJ`ےvpfHr˂pnXv`Zp˂~f`lJtAXv`fdQZ|vpfHlJtAXv`frtAJlnr˂lJtAJ`ےQZ|d˂pZHlJtAJ`ےQZ|dJXQrpfH~|drZHAbtArdHAZp`~f`ZHAbf~HbHAZp~f`ZHAbf~HrXQHAZpvXnvfrd|~HfdrtAJ~f`rd|~HftbdQpZAb`rd|bHAZp˙rtAJlAbے`rd|bHAZp˙rtAJl˂pZHf۝`vQtJlے`JXQ|ZdQbےbHAvXn`JXQfpv˂rXvXn`JXQfpv˂rXH~fZdQbtpvnltbvXnZdQbtpvnZ|dJXQrZdQbt炀rXQtbdJXQrZdQbt炀rXQtbdAXQrXnvˍtbAdZr˂ptlJZp˂vpfHr˂pnXv`QJ`ےvpfHr˂pnXv`QJ`ے`vXnlJtAXv`fdQZ|vpfHlJtAXv`ftbdQZ˂pZHlJtAJ`ےQZ|d˂pZHlJtAJ`ےQZ|dpZHApfH~|drQt-------------------................................... \ No newline at end of file diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv32_3.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv32_3.dat deleted file mode 100644 index 5487dd475e..0000000000 --- a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv32_3.dat +++ /dev/null @@ -1,289 +0,0 @@ -}~}~}~}~{|{|{|{|yzyzyzyzuvuvuvuvststststqrqrqrqrmmmnmnmnlklklklkjijijijifefefefedcdcdcdcbabababa`_`_`_`_\[\[\[\[ZYZYZYZYXWXWXWXWSTSTSTST}~}~}~}~{|{|{|{|yxwxwxwxuvuvuvuvststststqrqrqrqrmnmnmnmnlklklklkhghghghgfefefefedcdcdcdcbabababa^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWSTSTSTST}~}~}~}~{|{|{|{|wxwxwxwxuvuvuvuvststststqrqrqrqpmnmnmnmnlklklklkhghghghgfefefefedcdcdcdcbabababa^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWVUSTSTSTST}~}~}~}~{|{|{|{|wxwxwxwxuvuvuvuvststststopopopopmnmnmnmnlklklklkhghghghgfefefefedcdcdcdcbabababa^]^]^]^]\[\[\[\[ZYZYZYZYVUVUVUVUSTSTSTST}~}~}~}~{|{|{|{|wxwxwxwxuvuvuvuvststststopopopopmnmnmnmnlklklklkhghghghgfefefefedcdcdcdcbabababa^]^]^]^]\[\[\[\[ZYZYZYZYVUVUVUVUSTSTSTST}~}~}~}~{|{|{|{|wxwxwxwxuvuvuvuvststststopopopopmnmnmmmmlklklklkhghghghgfefefefedcdcdcdcbabababa^]^]^]^]\[\[\[\[ZYZYZYZYVUVUVUVUSSSSSSTS}~}~}~}~{|{|{|{|wxwxwxwxuvuvuvuvststststopopopopmmnmnmnmlklklklkhghghghgfefefefedcdcdcdcbabababa^]^]^]^]\[\[\[\[ZYZYZYZYVUVUVUVUTSTSTSTS}~}~}~}~{|{|{|{|wxwxwxwxuvuvuvuvststststopopopopnmnmnmnmlklklklkhghghghgfefefefedcdcdcdcbabababa^]^]^]^]\[\[\[\[ZYZYZYZYVUVUVUVUTSTSTSTS}~}~}~}~{|{|{|{|wxwxwxwxuvuvuvuvststststopopopopnmnmnmnmlklklklkhghghghgfefefefedcdcdcdcbabababa^]^]^]^]\[\[\[\[ZYZYZYZYVUVUVUVUTSTSTSTS}~}~}~}~{|{|{|{|wxwxwxwxuvuvuvuvststststopopopopnmnmnmnmlklklklkhghghghgfefefefedcdcdcdcbabababa^]^]^]^]\[\[\[\[ZYZYZYZYVUVUVUVUTSTSTSTS}~}~}~}~{zyzyzyzwxwxwxwxuvuvuvuvststststopopopopnmnmnmnmjijijijihghghghgfefefefedcdcdcdc`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYVUVUVUVUTSTSTSTSQRQRQRQR}~}~}~}~yzyzyzyzwxwxwxwxuvuvuvuvststststopopopopnmnmmmmmjijijijihghghghgfefefefedcdcdcdc`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYVUVUVUVUSSSSSTSTQRQRQRQR}~}~}~}~yzyzyzyzwxwxwxwxuvuvuvuvststststopopopopmnmnmnmnjijijijihghghghgfefefefedcdcdcdc`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYVUVUVUVUSTSTSTSTQRQRQRQR}~}~}~}~yzyzyzyzwxwxwxwxuvuvuvuvststststopopopopmnmnmnmnjijijijihghghghgfefefefedcdcdcdc`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYVUVUVUVUSTSTSTSTQRQRQRQR}~}~}~}~yzyzyzyzwxwxwxwxuvuvuvuvststststopopopopmnmnmnmnjijijijihghghghgfefefefedcdcdcdc`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYVUVUVUVUSTSTSTSTQRQRQRQR}~}~}~}~yzyzyzyzwxwxwxwxuvuvuvuvststststopopopopmnmnmnmnjijijijihghghghgfefefefedcdcdcdc`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYVUVUVUVUSTSTSTSTQRQRQRQR}~}~}~}~yzyzyzyzwxwxwxwxuvuvuvuvststststopopopopmnmnmnmnjijijijihghghghgfefefefedcdcdcdc`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYVUVUVUVUSTSTSTSTQRQRQRQR}~}~}~}~yzyzyzyzwxwxwxwxuvuvuvuvststststopopopopmnmmmmmmjijijijihghghghgfefefefedcdcdcdc`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYVUVUVUVUSTSSSSSTQRQRQRQR}~}~}~}~yzyzyzyzwxwxwxwxuvuvuvuvststststopopopopnmnmnmnmjijijijihghghghgfefefefedcdcdcdc`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYVUVUVUVUSTSTSTSRQRQRQRQR}|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvsrqrqrqropopopoplklklklkjijijijihghghghgfefefefebabababa`_`_`_`_^]^]^]^]\[\[\[\[XWXWXWXWVUVUVUVUQRQRQRQRQRQRQRQP{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvqrqrqrqropopopoplklklklkjijijijihghghghgfefefefebabababa`_`_`_`_^]^]^]^]\[\[\[\[XWXWXWXWVUVUVUVUQRQRQRQROPOPOPOP{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvqrqrqrqropopopoplklklklkjijijijihghghghgfefefefebabababa`_`_`_`_^]^]^]^]\[\[\[\[XWXWXWXWVUVUVUVUQRQRQRQROPOPOPOP{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvqrqrqrqropopopoplklklklkjijijijihghghghgfefefefebabababa`_`_`_`_^]^]^]^]\[\[\[\[XWXWXWXWVUVUVUVUQRQRQRQROPOPOPOP{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvqrqrqrqropopopoplklklklkjijijijihghghghgfefefefebabababa`_`_`_`_^]^]^]^]\[\[\[\[XWXWXWXWVUVUVUVUQRQRQRQROPOPOPOP{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvqrqrqrqropopopoplklklklkjijijijihghghghgfefefefebabababa`_`_`_`_^]^]^]^]\[\[\[\[XWXWXWXWVUVUVUVUQRQRQRQROPOPOPOP{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvqrqrqrqropopopoplklklklkjijijijihghghghgfefefefebabababa`_`_`_`_^]^]^]^]\[\[\[\[XWXWXWXWVUVUVUVUQRQRQRQROPOPOPOP{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvqrqrqrqropopopoplklklklkjijijijihghghghgfefefefebabababa`_`_`_`_^]^]^]^]\[\[\[\[XWXWXWXWVUVUVUVUQRQRQRQROPOPOPOP{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvqrqrqrqropopopoplklklklkjijijijihghghghgfefefefebabababa`_`_`_`_^]^]^]^]\[\[\[\[XWXWXWXWVUVUVUVUQRQRQRQROPOPOPOP~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxutstststqrqrqrqropopopoplklklklkjijijijihghghghgdcdcdcdcbabababa`_`_`_`_^]^]^]^]ZYZYZYZYXWXWXWXWVUVUVUVUQRQRQRQROPOPOPOP}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxststststqrqrqrqropopopoplklklklkjijijijihghghghgdcdcdcdcbabababa`_`_`_`_^]^]^]^]ZYZYZYZYXWXWXWXWVUVUVUVUQRQRQRQROPOPOPOP}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxststststqrqrqrqropopopoplklklklkjijijijihghghghgdcdcdcdcbabababa`_`_`_`_^]^]^]^]ZYZYZYZYXWXWXWXWVUVUVUVUQRQRQRQROPOPOPOP}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxststststqrqrqrqropoponmnlklklklkjijijijihghghghgdcdcdcdcbabababa`_`_`_`_^]^]^]^]ZYZYZYZYXWXWXWXWVUVUTSTSQRQRQRQROPOPOPOP}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxststststqrqrqrqrmnmnmmmmlklklklkjijijijihghghghgdcdcdcdcbabababa`_`_`_`_^]^]^]^]ZYZYZYZYXWXWXWXWTSTSSSSSQRQRQRQROPOPOPOP}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxststststqrqrqrqrmnmnmnmnlklklklkjijijijihghghghgdcdcdcdcbabababa`_`_`_`_^]^]^]^]ZYZYZYZYXWXWXWXWSTSTSTSTQRQRQRQROPOPOPOP}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxststststqrqrqrqrmnmnmnmnlklklklkjijijijihghghghgdcdcdcdcbabababa`_`_`_`_^]^]^]^]ZYZYZYZYXWXWXWXWSTSTSTSTQRQRQRQROPOPOPOP}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxststststqrqrqrqrmnmnmnmnlklklklkjijijijihghghghgdcdcdcdcbabababa`_`_`_`_^]^]^]^]ZYZYZYZYXWXWXWXWSTSTSTSTQRQRQRQROPOPOPOP}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxststststqrqrqrqrmnmnmnmnlklklklkjijijijihghghghgdcdcdcdcbabababa`_`_`_`_^]^]^]^]ZYZYZYZYXWXWXWXWSTSTSTSTQRQRQRQROPOPOPOP}~}~}~}~{|{|{|{|yzyzyzyzwvuvuvuvststststqrqrqrqrmnmnmnmnlklklklkjijijijifefefefedcdcdcdcbabababa`_`_`_`_\[\[\[\[ZYZYZYZYXWXWXWXWSTSTSTSTQRQRQRQROPOPOPOP}~}~}~}~{|{|{|{|yzyzyzyzuvuvuvuvststststqrqrqrqrmnmnmnmmlklklklkjijijijifefefefedcdcdcdcbabababa`_`_`_`_\[\[\[\[ZYZYZYZYXWXWXWXWSTSSSSSSQRQRQRQROPOPOPOP}~}~}~}~{|{|{|{|yzyzyzyzuvuvuvuvststststqrqrqrqrmmmmnmnmlklklklkjijijijifefefefedcdcdcdcbabababa`_`_`_`_\[\[\[\[ZYZYZYZYXWXWXWXWTSTSTSTSQRQRQRQROPOPOPOP}~}~}~}~{|{|{|{|yzyzyzyzuvuvuvuvststststqrqrqrqrnmnmnmnmlklklklkjijijijifefefefedcdcdcdcbabababa`_`_`_`_\[\[\[\[ZYZYZYZYXWXWXWXWTSTSTSTSQRQRQRQROPOPOPOP}~}~}~}~{|{|{|{|yzyzyzyzuvuvuvuvststststqrqrqrqrnmnmnmnmlklklklkjijijijifefefefedcdcdcdcbabababa`_`_`_`_\[\[\[\[ZYZYZYZYXWXWXWXWTSTSTSTSQRQRQRQROPOPOPOP}~}~}~}~{|{|{|{|yzyzyzyzuvuvuvuvststststqrqrqrqrnmnmnmnmlklklklkjijijijifefefefedcdcdcdcbabababa`_`_`_`_\[\[\[\[ZYZYZYZYXWXWXWXWTSTSTSTSQRQRQRQROPOPOPOP}~}~}~}~{|{|{|{|yzyzyzyzuvuvuvuvststststqrqrqrqrnmnmnmnmlklklklkjijijijifefefefedcdcdcdcbabababa`_`_`_`_\[\[\[\[ZYZYZYZYXWXWXWXWTSTSTSTSQRQRQRQROPOPOPOP}~}~}~}~{|{|{|{|yzyzyzyzuvuvuvuvststststqrqrqrqrnmnmnmmmlklklklkjijijijifefefefedcdcdcdcbabababa`_`_`_`_\[\[\[\[ZYZYZYZYXWXWXWXWTSSSSSSTQRQRQRQROPOPOPOPOPOPOPOPMNMNMNMNIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>9:9:9:9:8787878765656565434343430/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#     - - - -OPOPOPOPMNMNMNMLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCB?@?@?@?@=>=>=>=>9:9:9:9:8787878765656565434343210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)('&%&%&%&%$#$#$#$#      - - - -OPOPOPOPKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFABABABAB?@?@?@?@=>=>=>=>9:9:9:9:8787878765656565212121210/0/0/0/.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#$#         - - - -OPOPOPOPKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFABABABAB?@?@?@?@=>=>=>=>9:9:99998787878765656565212121210/0/0/0/.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#$#      - - - -OPOPOPOPKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFABABABAB?@?@?@?@=>=>=>=>99:9:9:98787878765656565212121210/0/0/0/.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#$#         - - - -OPOPOPOPKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFABABABAB?@?@?@?@=>=>=>=>:9:9:9:98787878765656565212121210/0/0/0/.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#$#         - - - -OPOPOPOPKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFABABABAB?@?@?@?@=>=>=>=>:9:9:9:98787878765656565212121210/0/0/0/.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#$#         - - - -OPOPOPOPKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFABABABAB?@?@?@?@=>=>=>=>:9:9:9:98787878765656565212121210/0/0/0/.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#$#         - - - -OPOPOPOPKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFABABABAB?@?@?@?@=>=>=>=>:9:9:9:98787878765656565212121210/0/0/0/.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#$#         - - - -OPOPOPOPKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFABABABAB?@?@?@?@=>=>=>=>:9:999998787878765656565212121210/0/0/0/.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#$#       - - - -OPOPOPONKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEDABABABAB?@?@?@?@=>=>=>=>9:9:9:9:8787878765656543212121210/0/0/0/.-.-.-.-,+,+,+*)('('('('&%&%&%&%$#$#$#$#         - - - -MNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHCDCDCDCDABABABAB?@?@?@?@=>=>=>=>9:9:9:9:8787878743434343212121210/0/0/0/.-.-.-.-*)*)*)*)('('('('&%&%&%&%$#$#$#$#         - - - -MNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHCDCDCDCDABABABAB?@?@?@?@=>=>=<;<9:9:9:9:8787878743434343212121210/0/0/0/.-.-.-.-*)*)*)*)('('('('&%&%&%&%$#$#"!"!         - - - -MNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHCDCDCDCDABABABAB?@?@?@?@;<;<;<;<9:9:9:9:8787878743434343212121210/0/0/0/.-.-.-.-*)*)*)*)('('('('&%&%&%&%"!"!"!"!         - - - -MNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHCDCDCDCDABABABAB?@?@?@?@;<;<;<;<9:9:9:9:8787878743434343212121210/0/0/0/.-.-.-.-*)*)*)*)('('('('&%&%&%&%"!"!"!"!        - - - -MNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHCDCDCDCDABABABAB?@?@?@?@;<;<;<;<9:9999998787878743434343212121210/0/0/0/.-.-.-.-*)*)*)*)('('('('&%&%&%&%"!"!"!"!       - - - -MNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHCDCDCDCDABABABAB?@?@?@?@;<;<;<;<:9:9:9:98787878743434343212121210/0/0/0/.-.-.-.-*)*)*)*)('('('('&%&%&%&%"!"!"!"!         - - - -MNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHCDCDCDCDABABABAB?@?@?@?@;<;<;<;<:9:9:9:98787878743434343212121210/0/0/0/.-.-.-.-*)*)*)*)('('('('&%&%&%&%"!"!"!"!         - - - -MNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHCDCDCDCDABABABAB?@?@?@?@;<;<;<;<:9:9:9:98787878743434343212121210/0/0/0/.-.-.-.-*)*)*)*)('('('('&%&%&%&%"!"!"!"!         - - - -MNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGFCDCDCDCDABABABAB?@?@?@?@;<;<;<;<:9:9:9:98787876543434343212121210/0/0/0/.-.-.-,+*)*)*)*)('('('('&%&%&%&%"!"!"!"!         - - MNMNMNMNKLKLKLKLIJIJIJIJEFEFEFEFCDCDCDCDABABABAB?@?@?@?@;<;<;<;<:9:9:9:96565656543434343212121210/0/0/0/,+,+,+,+*)*)*)*)('('('('&%&%&%&%"!"!"!"!        MNMNMNMNKLKLKLKLIJIJIJIJEFEFEFEFCDCDCDCDABABABAB?@?@?@?@;<;<;<;<:999999:6565656543434343212121210/0/0/0/,+,+,+,+*)*)*)*)('('('('&%&%&%&%"!"!"!"!        MNMNMNMNKLKLKLKLIJIJIJIJEFEFEFEFCDCDCDCDABABABAB?@?@?@?@;<;<;<;<9:9:9:9:6565656543434343212121210/0/0/0/,+,+,+,+*)*)*)*)('('('('&%&%&%&%"!"!"!"!         MNMNMNMNKLKLKLKLIJIJIJIJEFEFEFEFCDCDCDCDABABABAB?@?@?@?@;<;<;<;<9:9:9:9:6565656543434343212121210/0/0/0/,+,+,+,+*)*)*)*)('('('('&%&%&%&%"!"!"!"!         MNMNMNMNKLKLKLKLIJIJIJIJEFEFEFEFCDCDCDCDABABABAB?@?@?@?@;<;<;<;<9:9:9:9:6565656543434343212121210/0/0/0/,+,+,+,+*)*)*)*)('('('('&%&%&%&%"!"!"!"!         MNMNMNMNKLKLKLKLIJIJIJIJEFEFEFEFCDCDCDCDABABABAB?@?@?@?@;<;<;<;<9:9:9:9:6565656543434343212121210/0/0/0/,+,+,+,+*)*)*)*)('('('('&%&%&%&%"!"!"!"!         MNMNMNMNKLKLKLKLIJIJIJIJEFEFEFEFCDCDCDCDABABABAB?@?@?@?@;<;<;<;<9:9:9:9:6565656543434343212121210/0/0/0/,+,+,+,+*)*)*)*)('('('('&%&%&%&%"!"!"!"!         MNMNMNMNKLKLKLKLIJIJIJIJEFEFEFEFCDCDCDCDABABABAB?@?@?@?@;<;<;<;<999999:96565656543434343212121210/0/0/0/,+,+,+,+*)*)*)*)('('('('&%&%&%&%"!"!"!"!       MNMNMNMNKLKLKLKLIJIJIJIHEFEFEFEFCDCDCDCDABABABAB?@?@?@?>;<;<;<;<:9:9:9876565656543434343212121210/0/0/.-,+,+,+,+*)*)*)*)('('('('&%&%&%$#"!"!"!"!       - -MNMNMNMNKLKLKLKLGHGHGHGHEFEFEFEFCDCDCDCDABABABAB=>=>=>=>;<;<;<;<87878787656565654343434321212121.-.-.-.-,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"!     - - - -MNMNMNMNKLKLKLKLGHGHGHGHEFEFEFEFCDCDCDCDABABABAB=>=>=>=>;<;<;<;<87878787656565654343434321212121.-.-.-.-,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"!     - - - -MNMNMNMNKLKLKLKLGHGHGHGHEFEFEFEFCDCDCDCDABABABAB=>=>=>=>;<;<;<;<87878787656565654343434321212121.-.-.-.-,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"!     - - - -MNMNMNMNKLKLKLKLGHGHGHGHEFEFEFEFCDCDCDCDABABABAB=>=>=>=>;<;<;<;<87878787656565654343434321212121.-.-.-.-,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"!     - - - -MNMNMNMNKLKLKLKLGHGHGHGHEFEFEFEFCDCDCDCDABABABAB=>=>=>=>;<;<;<;<87878787656565654343434321212121.-.-.-.-,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"!     - - - -MNMNMNMNKLKLKLKLGHGHGHGHEFEFEFEFCDCDCDCDABABABAB=>=>=>=>;<;<;<;<87878787656565654343434321212121.-.-.-.-,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"!     - - - -MNMNMNMNKLKLKLKLGHGHGHGHEFEFEFEFCDCDCDCDABABABAB=>=>=>=>;<;<;<;<87878787656565654343434321212121.-.-.-.-,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"!     - - - -MNMNMNMNKLKLKLKLGHGHGHGHEFEFEFEFCDCDCDCDABABABAB=>=>=>=>;<;<;<;<87878787656565654343434321212121.-.-.-.-,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"!     - - - -MNMNMNMNKLKLKLKJGHGHGHGHEFEFEFEFCDCDCDCDABABABA@=>=>=>=>;<;<;<;<8787878765656565434343432121210/.-.-.-.-,+,+,+,+*)*)*)*)('('('&%$#$#$#$#"!"!"!"!   - - - -MNMNMNMNIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>;<;<;<;<8787878765656565434343430/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#"!"!"!"! - - - -MNMNMNMNIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>;<;<;<;<8787878765656565434343430/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#"!"!"!"! - - - -MNMNMNMNIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>;<;<;<;<8787878765656565434343430/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#"!"!"!"! - - - -MNMNMNMNIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>;<;:9:9:8787878765656565434343430/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#"!    - - - -MNMNMNMNIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>9:99999:8787878765656565434343430/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#   - - - -MNMNMNMNIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>9:9:9:9:8787878765656565434343430/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#     - - - -MNMNMNMNIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>9:9:9:9:8787878765656565434343430/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#     - - - -55667788]]\\[[ZZhiijjkklqppoonnmDEEFFGGH)((''&&% !!""##$MLLKKJJI<=>??@@A((''&&%%!!""##$$LLKKJJIIiijjkkllppoonnmmEEFFGGHH SRRQQPPO99::;;<<YYXWVUTSlmmnnoopmllkkjjiHIIJJKKL%$$##""!$%%&&''(IHHGGFFEABBCCDDE$$##""!!%%&&''((HHGGFFEEmmnnooppllkkjjiiIIJJKKLL - - ONNMMLLK==>>??@@SRRQQPPOpqqrrsstihhggffeLMMNNOOP! ())**++,EDDCCBBAEFFGGHHI ))**++,,DDCCBBAAqqrrsstthhggffeeMMNNOOPPKJJIIHHGAABBCCDDONNMMLLKtuuvvwwx - - eddccbbaPQQRRSST,--..//0A@@??>>=IJJKKLLM--..//00@@??>>==uuvvwwxx - - ddccbbaaQQRRSSTT GFFEEDDC~~}}EEFFGGHH KJJIIHHGxyyzz{{| a``__^^]TUUVVWWX01122334=<<;;::9MNNOOPPQ11223344<<;;::99yyzz{{|| ``__^^]]UUVVWWXX - - CBBAA@@?||{{zzyyIIJJKKLL - - GFFEEDDC|}}~~]\\[[ZZYXYYZZ[[\~~}4556677898877665QRRSSTUV~~}}5566778888776655}}~~\\[[ZZYYYYZZ[[\\?>=<;:99xxwwvvuuMMNNOOPP - - CBBAA@@?YXXWWVVU\]]^^__` }||{{zzy899::;;<54433221~~}}||{WXYYZZ[[ ||{{zzyy99::;;<<44332211XXWWVVUU]]^^__``88776655ttssrrqqQQRRSSTT?>=<;:99UTTSSRRQ`aabbccd - - yxxwwvvu<==>>??@100//..-{zzyyxxw\\]]^^__ - - xxwwvvuu==>>??@@00//..--TTSSRRQQaabbccdd44332211ppoonnmmUUVVWWXX88776655 QPPOONNMdeeffggh uttssrrq@AABBCCD-,,++**)wvvuutts``aabbccttssrrqqAABBCCDD,,++**)) PPOONNMMeeffgghh00//..--llkkjjiiYYZZ[[\\44332211 !!""##$MLLKKJJIhiijjkklqppoonnmDEEFFGGH)((''&&%smmllkkjddeeffggppoonnmmEEFFGGHH((''&&%%!!""##$$LLKKJJIIiijjkkll%%&&,,++**))hhggffee]]^^__``00//..--$%%&&''(IHHGGFFElmmnnoopmllkkjjiHIIJJKKL%$$##""!jiihhggfhhiijjkkllkkjjiiIIJJKKLL$$##""!!%%&&''((HHGGFFEEmmnnoopp''(())**((''&&%%ijjkkllmddccbbaaaabbccdd%%&&,,++**))())**++,EDDCCBBApqqrrsstihhggffeLMMNNOOP! feeddccbllmmnopqhhggffeeMMNNOOPP ))**++,,DDCCBBAAqqrrsstt++,,--..$#"! mnnooppq``__^^]]eeffgghh''(())**((''&&%%,--..//0A@@??>>=tuuvvwwx - - eddccbbaPQQRRSSTbaa``__^rssttuuv - - ddccbbaaQQRRSSTT--..//00@@??>>==uuvvwwxx//001122qrrssttu\\[[ZZYYiijjkkll++,,--..$#"! 01122334=<<;;::9xyyzz{{| a``__^^]TUUVVWWX^]]\\[[Zvwwxxyyz ``__^^]]UUVVWWXX11223344<<;;::99yyzz{{||33445566uvvwwxxyXXWWVVUUmmnnoopp//001122~~}4556677898877665|}}~~]\\[[ZZYXYYZZ[[\ZYYSSRRQz{{||}}~\\[[ZZYYYYZZ[[\\~~}}5566778888776655}}~~778899??yzz{{||}TTSSRRQQqqrrsstt33445566}||{{zzy899::;;<54433221YXXWWVVU\]]^^__` QPPOONNM~XXWWVVUU]]^^__`` ||{{zzyy99::;;<<44332211@@AABBCC}~~PPOONNMMuuvvwwxx778899??yxxwwvvu<==>>??@100//..-UTTSSRRQ`aabbccd - - MLLKKJJITTSSRRQQaabbccdd - - xxwwvvuu==>>??@@00//..--DDEEFFGG -LLKKJJIIyyzz{{||@@AABBCCuttssrrq@AABBCCD-,,++**) QPPOONNMdeeffggh IHHGGFFE PPOONNMMeeffgghhttssrrqqAABBCCDD,,++**))HHIIJJKK - HHGGFFEE}}~~DDEEFFGG -qppoonnmDEEFFGGH)((''&&% !!""##$MLLKKJJIhiijjkklEDDCCBBA!!""##$$LLKKJJIIiijjkkllppoonnmmEEFFGGHH((''&&%%LLMMNNOODDCCBBAAHHIIJJKK - mllkkjjiHIIJJKKL%$$##""!$%%&&''(IHHGGFFElmmnnoopA@@??998%%&&''((HHGGFFEEmmnnooppllkkjjiiIIJJKKLL$$##""!!PPQQRRSS@@??>>==LLMMNNOOihhggffeLMMNNOOP! ())**++,EDDCCBBApqqrrsst - - 87766554))**++,,DDCCBBAAqqrrsstthhggffeeMMNNOOPP YYZZ[[\\ <<;;::99PPQQRRSS - - eddccbbaPQQRRSST,--..//0A@@??>>=tuuvvwwx 43322110--..//00@@??>>==uuvvwwxx - - ddccbbaaQQRRSSTT]]^^__`` - - 88776655YYZZ[[\\ a``__^^]TUUVVWWX01122334=<<;;::9xyyzz{{|0//..--,11223344<<;;::99yyzz{{|| ``__^^]]UUVVWWXX~~}}||aabbccdd 44332211]]^^__``]\\[[ZZYXYYZZ[[\~~}4556677898877665|}}~~,++**))(~~}}5566778888776655}}~~\\[[ZZYYYYZZ[[\\{{zzyyxxeeffgghh00//..--aabbccddYXXWWVVU\]]^^__` }||{{zzy899::;;<54433221(''&&%%||{{zzyy99::;;<<44332211XXWWVVUU]]^^__`` wwvvuuttiijjkkll~~}}|,,++**))eeffgghhUTTSSRRQ`aabbccd - - yxxwwvvu<==>>??@100//..-%xxwwvvuu==>>??@@00//..--TTSSRRQQaabbccdd - - ssmmllkkmmssttuu|{{zzyyx((''&&%%~~}}||iijjkkll QPPOONNMdeeffggh uttssrrq@AABBCCD-,,++**)%&&''(()ttssrrqqAABBCCDD,,++**)) PPOONNMMeeffgghhjjiihhggvvwwxxyy !xwwvvuut$$##""!!{{zzyyxxmmssttuu !!""##$MLLKKJJIhiijjkklqppoonnmDEEFFGGH)((''&&%)**++,,-ppoonnmmEEFFGGHH((''&&%%!!""##$$LLKKJJIIiijjkkllffeeddcczz{{||}}!""##$$%tssrrqqp wwvvuuttvvwwxxyy$%%&&''(IHHGGFFElmmnnoopmllkkjjiHIIJJKKL%$$##""!-..//001llkkjjiiIIJJKKLL$$##""!!%%&&''((HHGGFFEEmmnnooppbbaa``__~~%&&''(()poonnmmlssmmllkkzz{{||}}())**++,EDDCCBBApqqrrsstihhggffeLMMNNOOP! 12233445 hhggffeeMMNNOOPP ))**++,,DDCCBBAAqqrrsstt^^]]\\[[)**++,,-lkkjjiihjjiihhgg~~,--..//0A@@??>>=tuuvvwwx - - eddccbbaPQQRRSST56677889 - - ddccbbaaQQRRSSTT--..//00@@??>>==uuvvwwxx - - ZZYYSSRR-..//001hggffeedffeeddcc01122334=<<;;::9xyyzz{{| a``__^^]TUUVVWWX9??@@AAB``__^^]]UUVVWWXX11223344<<;;::99yyzz{{|| QQPPOONN12233445dccbbaa` bbaa``__4556677898877665|}}~~]\\[[ZZYXYYZZ[[\~~}BCCDDEEF\\[[ZZYYYYZZ[[\\~~}}5566778888776655}}~~MMLLKKJJ56677889`__^^]]\ - - ^^]]\\[[899::;;<54433221YXXWWVVU\]]^^__` }||{{zzyFGGHHIIJ - - XXWWVVUU]]^^__`` ||{{zzyy99::;;<<44332211IIHHGGFF9::;;<<=\[[ZZYYX - - ZZYYSSRR<==>>??@100//..-UTTSSRRQ`aabbccd - - yxxwwvvuJKKLLMMN TTSSRRQQaabbccdd - - xxwwvvuu==>>??@@00//..--EEDDCCBB=>>??@@AXWWVVUUT QQPPOONN@AABBCCD-,,++**) QPPOONNMdeeffggh uttssrrqNOOPPQQRPPOONNMMeeffgghhttssrrqqAABBCCDD,,++**)) AA@@??99~~}}|ABBCCDDETSSRRQQPMMLLKKJJDEEFFGGH)((''&&% !!""##$MLLKKJJIhiijjkklqppoonnmRSSYYZZ[LLKKJJIIiijjkkllppoonnmmEEFFGGHH((''&&%%!!""##$$88776655|{{zzyyxEFFGGHHIPOONNMMLIIHHGGFF~~}}|HIIJJKKL%$$##""!$%%&&''(IHHGGFFElmmnnoopmllkkjji[\\]]^^_HHGGFFEEmmnnooppllkkjjiiIIJJKKLL$$##""!!%%&&''((44332211xwwvvuutIJJKKLLMLKKJJIIHEEDDCCBB|{{zzyyxLMMNNOOP! ())**++,EDDCCBBApqqrrsstihhggffe_``aabbc DDCCBBAAqqrrsstthhggffeeMMNNOOPP ))**++,,00//..--tssrqponMNNOOPPQHGGFFEED AA@@??99xwwvvuutPQQRRSST,--..//0A@@??>>=tuuvvwwx - - eddccbbacddeeffg!"#$%%&&@@??>>==uuvvwwxx - - ddccbbaaQQRRSSTT--..//00,,++**))mmllkkjjQRRSSTTUDCCBBAA@!!""##$$88776655tssrqponTUUVVWWX01122334=<<;;::9xyyzz{{| a``__^^]ghhiijjk''(())**<<;;::99yyzz{{|| ``__^^]]UUVVWWXX11223344((''&&%%iihhggffUVVWWXXY@??>>==<%%&&''((44332211mmllkkjjXYYZZ[[\~~}4556677898877665|}}~~]\\[[ZZYkllmmsst++,,--..88776655}}~~\\[[ZZYYYYZZ[[\\~~}}55667788eeddccbbYZZ[[\\]<;;::998))**++,,00//..--iihhggff\]]^^__` }||{{zzy899::;;<54433221YXXWWVVUtuuvvwwx//00112244332211XXWWVVUU]]^^__`` ||{{zzyy99::;;<<aa``__^^]^^__``a87766554--..//00,,++**))eeddccbb`aabbccd - - yxxwwvvu<==>>??@100//..-UTTSSRRQxyyzz{{|3344556600//..--TTSSRRQQaabbccdd - - xxwwvvuu==>>??@@]]\\[[ZZabbccdde4332211011223344((''&&%%aa``__^^deeffggh uttssrrq@AABBCCD-,,++**) QPPOONNM|}}~~778899:;,,++**)) PPOONNMMeeffgghhttssrrqqAABBCCDDYYXWVUTSeffgghhi0//..--,,++**))( !POONNMMLeffgghhitssrrqqpOPPQQRRSOONNMMLLffgghhiissrrqqppBBCCDDEE++**))(( !!@@??9988~~}}||{BCCDDEEF+**))((' !!"ONNMMLLKfgghhiijsrrqqppoBCCDDEEF A@@??>>=(''&&%%$!""##$$%LKKJJIIHijjkkllmpoonnmmlSYYZZ[[\KKJJIIHHjjkkllmmoonnmmllFFGGHHII''&&%%$$""##$$%%77665544{zzyyxxwFGGHHIIJ'&&%%$$#"##$$%%&KJJIIHHGjkkllmmnonnmmllkFGGHHIIJ - - -=<<;;::9$##""!! %&&''(()HGGFFEEDmnnooppqlkkjjiih\]]^^__`GGFFEEDDnnooppqqkkjjiihhJJKKLLMM##""!! &&''(())33221100wvvuuttsJKKLLMMN#""!! &''(())*GFFEEDDCnooppqqrkjjiihhgJKKLLMMN - 98877665 )**++,,-DCCBBAA@qrrssttu hggffeed`aabbccd !"CCBBAA@@rrssttuu ggffeeddNNOOPPQQ**++,,--//..--,,srqponmmNOOPPQQR*++,,--.CBBAA@@?rssttuuv -gffeeddcNOOPPQQR54433221-..//001@??>>==>==<>==<<;vwwxxyyz - cbbaa``_RSSTTUUV100//..-12233445<;;::998yzz{{||} `__^^]]\hiijjkkl(())**++;;::9988zz{{||}}__^^]]\\VVWWXXYY22334455''&&%%hhggffeeVWWXXYYZ23344556;::99887z{{||}}~_^^]]\\[VWWXXYYZ-,,++**)~~}}|5667788987766554}~~\[[ZZYYXlmmssttu,,--..//77665544~~[[ZZYYXXZZ[[\\]]~~}}||66778899ddccbbaaZ[[\\]]^~~}}||{6778899:76655443~[ZZYYXXWZ[[\\]]^)((''&&% |{{zzyyx9::;;<<=43322110XWWVVUUTuvvwwxxy0011223333221100WWVVUUTT^^__``aa {{zzyyxx::;;<<==``__^^]]^__``aab {zzyyxxw:;;<<==>3221100/WVVUUTTS^__``aab%%&&'%$$##""! - - xwwvvuut=>>??@@A0//..--,TSSRRQQPyzz{{||}44556677//..--,,SSRRQQPPbbccddee - - wwvvuutt>>??@@AA\\[[ZZYYbccddeef - - wvvuutts>??@@AAB/..--,,+SRRQQPPObccddeef'(())**+! tssrrqqpABBCCDDE,++**))( !POONNMML}~~8899:;<=++**))(( !!OONNMMLLffgghhiissrrqqppBBCCDDEEXWVUTSSRfgghhiijsrrqqppoBCCDDEEF+**))((' !!"ONNMMLLKfgghhiij+,,--../poonnmmlEFFGGHHI(''&&%%$!""##$$%LKKJJIIH>??@@AAB''&&%%$$""##$$%%KKJJIIHHjjkkllmmoonnmmllFFGGHHII RQQPPOONjkkllmmnonnmmllkFGGHHIIJ'&&%%$$#"##$$%%&KJJIIHHGjkkllmmn/0011223lkkjjiihIJJKKLLM$##""!! %&&''(()HGGFFEEDBCCDDEEF##""!! &&''(())GGFFEEDDnnooppqqkkjjiihhJJKKLLMM - - NMMLLKKJnooppqqrkjjiihhgJKKLLMMN#""!! &''(())*GFFEEDDCnooppqqr34455667 hggffeedMNNOOPPQ )**++,,-DCCBBAA@FGGHHIIJ**++,,--CCBBAA@@rrssttuu ggffeeddNNOOPPQQJIIHHGGFrssttuuv -gffeeddcNOOPPQQR*++,,--.CBBAA@@?rssttuuv78899??@ - - dccbbaa`QRRSSTTU-..//001@??>>==>==<>==<<;vwwxxyyz@AABBCCD - - `__^^]]\UVVWWXXY12233445<;;::998NOOPPQQR22334455;;::9988zz{{||}}__^^]]\\VVWWXXYY BAA@@??>z{{||}}~_^^]]\\[VWWXXYYZ23344556;::99887z{{||}}~DEEFFGGH - - \[[ZZYYXYZZ[[\\]~~}}|5667788987766554~RSSTUVWX~~}}||6677889977665544~~[[ZZYYXXZZ[[\\]]=<;:9988~[ZZYYXXWZ[[\\]]^~~}}||{6778899:76655443~HIIJJKKL XWWVVUUT]^^__``a |{{zzyyx9::;;<<=43322110~}}||{{zYYZZ[[\\ {{zzyyxx::;;<<==33221100WWVVUUTT^^__``aa77665544WVVUUTTS^__``aab {zzyyxxw:;;<<==>3221100/LMMNNOOPTSSRRQQPabbccdde - - xwwvvuut=>>??@@A0//..--,zyyxxwwv]]^^__`` - - wwvvuutt>>??@@AA//..--,,SSRRQQPPbbccddee33221100SRRQQPPObccddeef - - wvvuutts>??@@AAB/..--,,+PQQRRSSY !POONNMMLeffgghhitssrrqqpABBCCDDE,++**))(vuuttssmaabbccddssrrqqppBBCCDDEE++**))(( !!OONNMMLLffgghhii//..--,, !!"ONNMMLLKfgghhiijsrrqqppoBCCDDEEF+**))(('YZZ[[\\]!""##$$%LKKJJIIHijjkkllmpoonnmmlEFFGGHHI(''&&%%$mllkkjjieeffgghhoonnmmllFFGGHHII''&&%%$$""##$$%%KKJJIIHHjjkkllmm%%&&''++**))(("##$$%%&KJJIIHHGjkkllmmnonnmmllkFGGHHIIJ'&&%%$$#]^^__``a %&&''(()HGGFFEEDmnnooppqlkkjjiihIJJKKLLM$##""!! ihhggffeiijjkkllkkjjiihhJJKKLLMM##""!! &&''(())GGFFEEDDnnooppqq(())**++''&&%%$#&''(())*GFFEEDDCnooppqqrkjjiihhgJKKLLMMN#""!! abbccdde !!""##$)**++,,-DCCBBAA@qrrssttu hggffeedMNNOOPPQ eddccbbammnopqrs ggffeeddNNOOPPQQ**++,,--CCBBAA@@rrssttuu,,--..//"! *++,,--.CBBAA@@?rssttuuv -gffeeddcNOOPPQQReffgghhi$%%&&''(-..//001@??>>==>==<>==<<;vwwxxyyz - cbbaa``_RSSTTUUV~~}}||{ijjkkllm())**++,12233445<;;::998yzz{{||} `__^^]]\UVVWWXXY]\\[[ZZYwxxyyzz{__^^]]\\VVWWXXYY22334455;;::9988zz{{||}}4455667723344556;::99887z{{||}}~_^^]]\\[VWWXXYYZ{zzyyxxwmssttuuv,--..//05667788987766554}~~\[[ZZYYXYZZ[[\\]YSSRRQQP{||}}~~[[ZZYYXXZZ[[\\]]~~}}||6677889977665544~~8899??@@~~}}||{6778899:76655443~[ZZYYXXWZ[[\\]]^wvvuuttsvwwxxyyz011223349::;;<<=43322110XWWVVUUT]^^__``a POONNMMLWWVVUUTT^^__``aa {{zzyyxx::;;<<==33221100AABBCCDD {zzyyxxw:;;<<==>3221100/WVVUUTTS^__``aab smmllkkjz{{||}}~45566778=>>??@@A0//..--,TSSRRQQPabbccdde - - LKKJJIIHSSRRQQPPbbccddee - - wwvvuutt>>??@@AA//..--,,EEFFGGHH - - wvvuutts>??@@AAB/..--,,+SRRQQPPObccddeef - - jiihhggf~899::;;>??@EFFGGHHI(''&&%%$!""##$$%LKKJJIIHijjkkllmDCCBBAA@""##$$%%KKJJIIHHjjkkllmmoonnmmllFFGGHHII''&&%%$$MMNNOOPPonnmmllkFGGHHIIJ'&&%%$$#"##$$%%&KJJIIHHGjkkllmmnbaa``__^@AABBCCDIJJKKLLM$##""!! %&&''(()HGGFFEEDmnnooppq @??99887&&''(())GGFFEEDDnnooppqqkkjjiihhJJKKLLMM##""!! QQRRSSYYkjjiihhgJKKLLMMN#""!! &''(())*GFFEEDDCnooppqqr^]]\\[[Z~~}DEEFFGGHMNNOOPPQ )**++,,-DCCBBAA@qrrssttu - - 76655443**++,,--CCBBAA@@rrssttuu ggffeeddNNOOPPQQZZ[[\\]] -gffeeddcNOOPPQQR*++,,--.CBBAA@@?rssttuuv -ZYYSSRRQ}||{{zzyHIIJJKKLQRRSSTTU-..//001@??>>==>==<>==<<;vwwxxyyz - QPPOONNMyxxwwvvuLMMNNOOPUVVWWXXY12233445<;;::998yzz{{||}/..--,,+22334455;;::9988zz{{||}}__^^]]\\VVWWXXYY~~}}||{{bbccddee_^^]]\\[VWWXXYYZ23344556;::99887z{{||}}~MLLKKJJIuttssrrqPQQRRSSTYZZ[[\\]~~}}|5667788987766554}~~+**))(('~~}}||6677889977665544~~[[ZZYYXXZZ[[\\]]zzyyxxwwffgghhii[ZZYYXXWZ[[\\]]^~~}}||{6778899:76655443~IHHGGFFEqppoonnmTUUVVWWX]^^__``a |{{zzyyx9::;;<<=43322110'&&%%{{zzyyxx::;;<<==33221100WWVVUUTT^^__``aa vvuuttssjjkkllmmWVVUUTTS^__``aab {zzyyxxw:;;<<==>3221100/EDDCCBBAmllkkjjiXYYZZ[[\abbccdde - - xwwvvuut=>>??@@A0//..--,%%&wwvvuutt>>??@@AA//..--,,SSRRQQPPbbccddee - - mmllkkjjssttuuvvSRRQQPPObccddeef - - wvvuutts>??@@AAB/..--,,+A@@??998ihhggffe\]]^^__`effgghhitssrrqqpABBCCDDE,++**))(&''(())*ssrrqqppBBCCDDEE++**))(( !!OONNMMLLffgghhiiiihhggffwwxxyyzz !!"ONNMMLLKfgghhiijsrrqqppoBCCDDEEF+**))((' !!"87766554eddccbba`aabbccdijjkkllmpoonnmmlEFFGGHHI(''&&%%$*++,,--.oonnmmllFFGGHHII''&&%%$$""##$$%%KKJJIIHHjjkkllmmeeddccbb{{||}}~~"##$$%%&KJJIIHHGjkkllmmnonnmmllkFGGHHIIJ'&&%%$$#"##$$%%&43322110a``__^^]deeffgghmnnooppqlkkjjiihIJJKKLLM$##""!! .//00112kkjjiihhJJKKLLMM##""!! &&''(())GGFFEEDDnnooppqqaa``__^^&''(())*GFFEEDDCnooppqqrkjjiihhgJKKLLMMN#""!! &''(())*0//..--,]\\[[ZZYhiijjkklqrrssttu hggffeedMNNOOPPQ 23344556 -ggffeeddNNOOPPQQ**++,,--CCBBAA@@rrssttuu ]]\\[[ZZ*++,,--.CBBAA@@?rssttuuv -gffeeddcNOOPPQQR*++,,--.,++**))(YXXWWVVUlmmnnoopuvvwwxxy - - dccbbaa`QRRSSTTU6778899? - ccbbaa``RRSSTTUU..//0011??>>==<>==<<;vwwxxyyz - cbbaa``_RSSTTUUV.//00112(''&&%%UTTSSRRQpqqrrsstyzz{{||} `__^^]]\UVVWWXXY?@@AABBC__^^]]\\VVWWXXYY22334455;;::9988zz{{||}}PPOONNMM23344556;::99887z{{||}}~_^^]]\\[VWWXXYYZ23344556QPPOONNMtuuvvwwx}~~\[[ZZYYXYZZ[[\\]~~}}|CDDEEFFG [[ZZYYXXZZ[[\\]]~~}}||6677889977665544~~LLKKJJII6778899:76655443~[ZZYYXXWZ[[\\]]^~~}}||{6778899:MLLKKJJIxyyzz{{|XWWVVUUT]^^__``a |{{zzyyxGHHIIJJK - - WWVVUUTT^^__``aa {{zzyyxx::;;<<==33221100HHGGFFEE:;;<<==>3221100/WVVUUTTS^__``aab {zzyyxxw:;;<<==>IHHGGFFE|}}~~TSSRRQQPabbccdde - - xwwvvuutKLLMMNNO SSRRQQPPbbccddee - - wwvvuutt>>??@@AA//..--,,DDCCBBAA>??@@AAB/..--,,+SRRQQPPObccddeef - - wvvuutts>??@@AABEDDCCBBAbdQZ|H~fHAbے`f~Zp˂Jltے`JX|ZdQfpvZp˂f`vXے`JX|ZdQrQJ`ےJlt`vXn|ZdQbfpvp˂rltbے`JXQ|ZdQbpvnQZ|ddrtA`vXn`JXQrHfvnXrXQJ`bnvpQr˂pbtlnXv`rbdQZ|nvpQr˂pbtl|bHAZpbdQZ|r˂ptlJnXv`XQJ`ےnvpr˂ptlJXv`prtAJlJltvpf˂pZv`fbHAfHˑZHAbJtArdf~HdrtfH~ˑZHAbZdQb˂rXdrtAZHAbtArdf~HbHAZfHfZHAbtArdvnrtbdbdQZ|H~fHAbے~HfpZp˂f`vXے`JX|ZdQfpvAJltf`vXے`JXnXv`pQJ`ےJltے`JXQ|ZdQbfpvp˂r`vXnے`JXQ|ZdQbXQJ`pQZ|ddrtA`vXn`JXQrvnXrXQJ`nvpQr˂pbtlnXv`bdQZ|nvpQr˂pvnXbHAZpbdQZ|r˂ptlJnXv`XQJ`ےvpfr˂ptlJ˂rXQrtAJlJltvpf˂p|v`fbHAfH~ˑZHAbJtArdf~HdrtfH~ˑZHAbv`f˂rQJdrtAZHAbtArdf~HbHAZH~fZHAbtArdJ`ےbQZ|bdQZ|H~fZdQbt~HfpZp˂f`vXے`JX|ZdQfpvAJltf`vXے`JX~HfpbHAJltے`JXQ|ZdQbfpvp˂r`vXnے`JXQ|ZdQbbHAZpdrtAdrtA`vXnlJtAvnv`rXQJ`nvpQr˂pbtlnXv`bdQZ|nvpQr˂pvnXZp˂bdQZ|r˂ptlJnXv`XQJ`ےvpfr˂ptlJ˂rXQJltJltvpfrd|f~HbHAfH~ˑZHAbJtArdfHdrtfH~ˑZHAbv`frXQJ`dtAJZHAbtArdf~HbHAZH~fZHAbtArdJ`ےbdQZ|bdQZ|H~fZdQbtfpvZp˂f`vXے`JX|ZdQfpvAJltf`vXے`JXnXےbHAltbے`JXQ|ZdQbfpvp˂r`vXnے`JXQ|ZdQbbHAXQJdrtAdrtA`vXnlJtAnXv`rbdQZ|nvpQr˂pbtlnrXQJ`bdQZ|nvpQr˂pv`fZp˂nvpr˂ptlJnXv`bdQZ|vpfr˂ptlJ`ےbJltvXnJltvpfrdtf~HdrtfH~ˑZHAbJtArdےHAdrtfH~ˑZHAb~HfprXQJfHfZHAbtArdf~HdrtAH~fZHAbtArdHAZp˂bQZdvpfHbdQZ|H~flJtArfpvAJltf`vXے`JX|ZdQZp˂AJltf`vXے`JXvnXbHAZp`vXnے`JXQ|ZdQbfpvJlt`vXnے`JXQ|ZdQbrXQJrtAJl~f`drtA`vXnd|ZnvfbdQZ|nvpQr˂pbtlrXQJ`ۉbdQZ|nvpQr˂pv`f󂀉rXQvpfr˂ptlJnXv`bdQZ|vpfr˂ptlJ`ےbtbdQvXnJltvpfdQbt~HfpہdrtfH~ˑZHAbJtArdbHAdrtfH~ˑZHAb~HXv`J`ےH~fZHAbtArdf~HdrtAH~fZHAbtArdHAZp`Z|dvpfHbdQZ|H~flJtArvnXAJltf`vXے`JX|ZdQZp˂AJltf`vXے`JXf~HbHAZp`vXnے`JXQ|ZdQbfpvJlt`vXnے`JXQ|ZdQbےbHArtAJl~f`drtA`vXnd|lv`fbdQZ|nvpQr˂pbtlrXQJ`ۉbdQZ|nvpQr˂pfpvrXQvpfr˂ptlJnXv`bdQZ|vpfr˂ptlJZp˂tbdQvXnJltvpfJtArd~HfpہdrtfH~ˑZHAbJtArdbHAdrtfH~ˑZHAۅnXv`J`bAZH~fZHAbtArdfHfdrtAH~fZHAbtArdrXQJ`Z|AJlvpfHbdQZ|H~f|ZdQvnXAJltf`vXے`JX|ZdQZp˂AJltf`vX`JXQf~Hp˂r`vXnے`JXQ|ZdQbpvnJlt`vXnے`JXQ|ZdQbےbHAtb~f`drtA`vXnbtlv`frbdQZ|nvpQr˂pbnXv`rXQJ`ۉbdQZ|nvprbtlfp`bdQZ|vpfr˂ptlJrXQJ`bdQZ|vpfr˂pnXv`Zp˂nvpvXnJltvpfJtArdQJHAdrtfH~ˑZHAbf~HbHAdrtfH~ˑ|ZdQf~HdrtAH~fZHAbtArdےHAZdrtAH~fZHAbpvnbHAZfHf`r˂pbdQZ|H~f|ZdQZp˂AJltf`vXے`JXfpvZp˂AJltf`vXbtlfpvJlt`vXnے`JXQ|ZdQbp˂rJlt`vXnے`JXQXv`fp˂rvXnZHAbdrtA`vXntArdrXQJ`ۉbdQZ|nvpQr˂pnXv`rXQJ`ۉbdQZ|nvpJtArdnXv`bdQZ|vpfr˂ptlJXQJ`ےbdQZ|vpfr˂p~HfXQJ`ےvpfH`JXQJltr˂p|ZdQbbHAdrtfH~ˑZHAbf~HbHAdrtfH~˂|ZdQf~HdrtAH~fZHAbtArdbHAZdrtAH~fZHAbpvnbHAZ~f`r˂pbdQZ|`JXQrtlJZp˂AJltf`vXے`JXfpvZp˂AJltf`vXbtlfpvJlt`vXnے`JXQ|ZdQbp˂rJlt`vXnے`JXQXv`fp˂rvXnZHAbdrtA˂pZtArdrXQJ`ۉbdQZ|nvpQr˂pnXv`rXQJ`ۉbdQZ|nvpJtArdt~HfpbdQZ|vpfr˂ptlJXQJ`ےbdQZ|vpfr˂pnXXQHAZpvpfH`JXQJltHAbے|ZdQbbHAdrtfH~ˑZHAۍf~HbHAdrtfH~ˉlJtvnXdrtAH~fZHAbtArdbHAZdrtAH~fZHAےv`f˂rXQ~f`r˂pbdQZ|`JXQrtd|Zp˂AJltf`vX`JXQfpvZp˂AJltf`vXArd|v`fJlt`vXnے`JXQ|ZdQbp˂rJlt`vXn`JXQr~HfpJ`ےvXnZHAbdrtA˂pZZdQbtrXQJ`ۉbdQZ|nvprbtlnXv`rXQJ`ۉbdQZ|nr˂pZdQbt~HfpbdQZ|vpfr˂pnXv`XQJ`ےbdQZ|vpfbtlvnXbHAZpvpfH`JXQJltHAXQrlJtAbHAdrtfH~ˑJtAdf~HbHAdrtZHAblJtvnXdrtAH~fZHAbf~HbHAZdrtAH~fJtAdv`f˂rXQ~f`r˂pbdQZ|˂pZHArd|Zp˂AJltf`vX|ZdQfpvZp˂AJltے`JXArd|v`pJlt`vXnے`JXQfpvp˂rJlt`vXn|ZdQb~HXvJ`p˂vXnZHAbdrtAbے`ZdQbtrXQJ`ۉbdQZ|nvpbtlnXv`rXQJ`ۉbdQZ|Qr˂plJtAvnrXbdQZ|vpfr˂pnXv`XQJ`ےbdQZ|vpftlJ`f~rbdQvpfH`JXQJltJXQrl|ZbHAdrtfH~JtArdf~HbHAdrtZHAbrd|QJ`AdrtAH~fZHAbf~HbHAZdrtAH~ftArdHfpvZ|rA~f`r˂pbdQZ|˂pZHAdQbnXZp˂AJltf`vX|ZdQfpvZp˂AJltے`JXZdQbtZp˂Jlt`vXnے`JXQfpvp˂rJlt`vXn|ZdQbnXvJltvXnZHAb`vXnb˂v`f~rXQJ`ۉbdQZ|nvpbtlnXv`rXQJ`ۉbdQZ|Qr˂plJtArXQJ`bdQZ|vpfr˂pnXv`XQJ`ےbdQZ|vpftlJ`f~bdQZ|vpfH`JXQvpfpZHAbfpv㒐bHAdrtfH~JtArdf~HbHAdtAZHAbrd|璐bHAdrtAH~fZHAےf~HbHAZdrtAH~ftArdHfp`drtA~f`r˂pH~fے`JnXv`Zp˂AJltf`vX|ZdQfpvZp˂Jltے`JXZdQtArdZp˂Jlt`vXn`JXQrfpvp˂rJlt`vXn|ZdQbf~HJltvXnZHAb`vXnXQr˂f~HrXQJ`ۉbdQZ|nr˂pbtlnXv`rXQJ`bnvpQr˂p|ZdrXQJ`bdQZ|vpfbtlnXv`XQJ`ےbdQZ|r˂ptlJfpvbdQZ|vpfH`JXQvpfpZHAbfpv㒐bHAdrtZHAbJtArdf~HbHAfHˑZHAbQbtlbHAZdrtAH~fJtAdf~HbHAZdrtAZHAbtArdnXv`drAJ~f`r˂pH~fے`pnXv`Zp˂AJltے`JX|ZdQfpvZp˂f`vXے`JXJtArdrXQJJlt`vXn|ZdQbfpvp˂rJltے`JXQ|ZdQbf~HtbdQZvXnZHAb`vXnZHAbf~fvrXQJ`ۉbdQZ|Qr˂pbtlnXv`rXQJ`nvpQr˂p|Zd`ےbbdQZ|vpftlJnXv`XQJ`ےbdQZ|r˂ptlJfpv|drvpfH`JXQvpfے`JXQnXvbHAdrtZHAbJtArdf~HbHAfH~ˑZHAbQbtdHAZp˂drtAH~ftArdf~HbHAZdrtAZHAbtArd~HftAJl璅~f`r˂pH~fr˂p`f~Zp˂AJltے`JX|ZdQfpvZp˂f`vXے`JX|ZdQrXQJJlt`vXn|ZdQbfpvp˂rJltے`JXQ|ZdQbpvntbdQZvXnZHAb`vXnZHAbHfpvrXQJ`ۉbdQZ|Qr˂pbtlnXv`rXQJ`nvpQr˂pbtl`ےbbdQZ|vpftlJnXv`XQJ`ےbdQZ|r˂ptlJXv`f|drvpfH`JXQvpfے`JXQnXvbHAdtAZHAbJtArdf~HbHAfH~ˑZHAbJtArdHAZpdrtAH~ftArdf~HbHAZdtAJZHAbtArd~HftAJbd~f`r˂pZHAbArd|bHAZpdrtA~f`ZHAے`f~HAZp˂~f`HAbےrd|HfpdrtAJ~f`HAbےrd|bHAZpJl|Abے`rd|~HfpbHAZp~f`Abے`rd|HfpۙrtAJl~f`JXQrf۝`v`JXQZdQb˂rXJltvXnJXQrfpv㉐bHAvXn`JXQrZdQbtvnrltbvXn`JXQrZdQbn˂rXQdrtAJJXQrZdQbtvnXrbdvXnہJXQrZdQbtvnrXtbdvXnۉ˂p`ZXnvˍr˂pnXv`QJ`ےbdQZ|vpfHbtlnXv`Zp˂vpfH˂pZlJtAXQJ`ےdQZ|vpfH˂pZXv`fJ`ےltb˂pZHlJtAv`fQZ|dvpfH˂pZHlJtAQJ`ےQZ|dvpfHQXb㉀pfH~ZHAbf~HbHAZpdrtA~f`JtAd|f~HrXQJ`ۅ~fvHAbےrd|HAZpdrtAJ~f`HAbے~HfbHAZpdQZ|AbJXQrd|~HfprtAJl~f`Abے`rd|HAZp˙rtAJl~f`ۑpJAHrf۝`v`JXQfpv˂rXJltvXnZdQbtfpv㒐bHAnvp`JXQrZdQbt˂rXQltbvXn`JXQrpvn˂rXQdrtAJr˂pZdQbtvnXtbdvXnہJXQrZdQbt炀rXQtbdvXn󙐂ˁ`ZXnvˍr˂pnXv`QJ`ےbdQZ|vpfHlJtnXv`Zp˂fH~˂pZlJtAJ`ےdQZ|vpfH˂pZXv`fJ`ےltdZHAblJtAv`fQZ|dvpfH˂pZHlJtAJ`ےQZ|dvpfHQXb㉀pfH~ZHAbf~HbHAZpdrtA~f`Ard|f~HrXQHAZpf`vXHAbےrd|bHAZpdrtAJ~f`HAbے~HfbHAZprtAJlے`JXQrd|~HfprtAJl~f`Abے`rd|bHAZp˙rtAJl~f`ۑpJAHrf۝`v`JXQfpv˂rXJltvXnZdQbtfpv˂rXnvp`JXQrZdQbt˂rXQltbvXn`JXQrpvn˂rXQtbdQr˂pZdQbtvnXtbdvXnہJXQrZdQbt炀rXQtbdvXn󙐉ۑXnvˍr˂pnXv`QJ`ےbdQZ|vpfHlJtnXv`QJ`ےfH~˂pZlJtAJ`ےdQZ|vpfH˂pZXv`fJ`ےZ|dZHAblJtAv`fQZ|dvpfH˂pZHlJtAJ`ےQZ|dvpfHpJAHrpfH~ZHAے`f~HbHAZpdrtA~f`Ard|f~HbHAZpf`vnHAbےrd|bHAZpdrtAJ~f`HAے`~HfbHAZprtAJlJQrrd|HfpۙrtAJl~f`Abے`rd|bHAZp˙rtAJl~f`ˁ`ZQf۝`vJXQrfpv˂rXJltvXnZdQbtfpv˂rXvpfH`JXQrZdQbn˂rXQltbvXnJXQrbpvn˂rXQtbdQpZHAZdQbtvnrXtbdvXnہJXQrZdQbnXrXQtbdvXnXb㉀ۑXnvˍbtlnXv`QJ`ےbdQZ|r˂plJtnXv`QJ`p~f`˂pZXv`fJ`ےdQZ|vpfHtlJXv`fJ`ےZ|lbے`lJtAQJ`ےQZ|dvpfH˂pZHv`fJ`ےQZ|dvpfHpJAHrpfH~JtAd|f~HbHAZpdrtAZHAbArd|f~HrbdvXnHAbے~HfbHAZpdrtAJ~f`tAd|~HfbHAZptbnJXQrrd|HAZp˙rtAJl~f`Abے`~HfpbHAZp˙rtAJl~f`ˁ`pJf۝`vZdQbtfpv˂rXJlt`JXQZdQbtfpvQZ|lvpfH`JXQrpvn˂rXQltbvXnZdQbtpvn˂rXQvp`vpZHAZdQbt炀rXQtbdvXnہJXQrvnXrXQtbdvXnAHr󙐂XnvˍlJtnXv`QJ`ےbdQZ|r˂plJtnXv`˒tbdQ~f`˂pZXv`fJ`ےdQZ|vpfHlJtAXv`fJ`ےXnvbے`JlJtAJ`ےQZ|dvpfH˂pZHv`fJ`ےQZ|dvpfHˁ`ZQXbp|drArd|f~HbHAZpdrtAZHAbArd|f~HZ|dvXnvfHAbے~HfbHAZpdrtAJ~f`rd|~HfbHAZppfH~QrpZrd|bHAZp˙rtAJl~f`Abے`~HfpbHAZp˙rtAJl~f`㉀ۑpJQtJlZdQbtfpv˂rXJlt`JXQZdQbtfpvrtAJlH~f`JXQrpvn˂rXQltbvXnZdQbtpvn˂rXQf`vHAbےZdQbt炀rXQtbdvXnہJXQrvnXrXQtbdvXnAHr󙐂tbAdZlJtnXv`QJ`ےbdQZ|r˂plJtnXv`˒tbdQ`vXn˂pZXv`fJ`ےdQZ|vpfHlJtAXv`fJ`ےXnv`JXQrlJtAJ`ےQZ|dvpfH˂pZHv`fJ`ےQZ|dvpfHˁ`ZQXA|drArd|f~HbHAZpdtAJlZHAbArd|f~HZ|dtvpfHAے`~HfbHAZpdrtAJ~f`rd|~HfbHAZppfH~˂pZrd|bHAZp˙rtAJl~f`Aے`~HfpbHAZp˙rtAJl~f`Hr󙐂ˁQtJlZdQbtfpv˂rXtb`JXQZdQbtfpvbdQZ|H~fJXQrbpvn˂rXQltbvXnrZdQbtpvn˂rXQvpHAbےZdQbnXrXQtbdvXnJXQrbtvnXrXQtbdvXnے``ZQXbtbAdZlJtnXv`QJ`ےnvpr˂plJtnXv`ˁdrt`vXntlJXv`fJ`ےdQZ|˂pZlJtAXv`fJ`ےfH~`JXQrv`fJ`ےQZ|dvpfHlJtv`fJ`ےQZ|dJXQrۑpJA|drArd|f~HbHAZpfHf`ZHAbArd|f~HAJltvf~tAd|~HfbHAZpdrtAJHAbےrd|~HfbHAZpf`vXZHAb~HfpbHAZp˙rtAJl~f`Ad|~HfpbHAZp˙rtAJl˂pZHHr󙐂ˁQtJlZdQbtfpv˂rXvXn`JXQZdQbtfpvbdQZ|f`vXZdQbtpvn˂rXQltb`JXQrZdQbtpvn˂rXQnvpے`JXvnXrXQtbdvXnZdQbtvnXrXQtbdAbے``ZQXbtbAdZlJtnXv`QJ`ےvpfHr˂plJtnXv`ˁdrtnvplJtAXv`fJ`ےdQZ|˂pZlJtAXv`fJ`ےfH~Qr˂pv`fJ`ےQZ|dvpfHlJtAv`fJ`ےQZ|dJXQrˁ`Z|drArd|f~HbHAZp~f`ZHAbArd|f~HAdQZ|fH~rd|~HfbHAZpdrtAJHAbےrd|~HfbHAZpf`pfZHAb~HfpbHAZp˙rtAJl~f`rd|~HfpbHAZp˙rtAJl˂pZHQXb㉀QtJlZdQbtfpv˂rXvXn`JXQZdQbtfpvdrtAf`vXZdQbtpvn˂rXQltb`JXQrZdQbtpvn˂rXQH~fے`JXvnXrXQtbdvXnZdQbtvnXrXQtbdAXQrۑpJAHrtbAdZlJtnXv`QJ`ےvpfHr˂plJtnXv`JltnvplJtAXv`fJ`ےdQZ|˂pZlJtAXv`fJ`ے`vXnQr˂pv`fJ`ےQZ|dvpfHlJtAv`fJ`ےQZ|dpZHA󙐂ˁ`Z|drArd|f~HbHAZp~f`ZHAbArd|fHfpbdQZ|f~f`rd|~HfbHAZpdtAJlHAbےrd|~HfbHAZpvpfZA`~HfpbHAZp˙rtAJl~f`rd|~HfpbHAZp˙tAJlbے`QXb㉀QtJlZdQbtfpv˂rvXn`JXQZdQbtvndrtAvXnrZdQbtpvn˂rXQtbn`JXQrZdQbtpvn˂rbH~fJXQrbtvnXrXQtbdvXnrZdQbtvnXrXQtbnJXQrXnvˍtbAdZlJtnXv`bdQZ|vpfHr˂plJtrXQJ`pJl|d˂pZlJtAXv`fJ`ےvpf˂pZlJtAXv`fdQZ|l`vXHlJtv`fJ`ےQZ|d˂pZHlJtAv`fJ`ےvpfHpZHApfH~|drArd|f~HdrtA~f`ZHAbArd|˂rXrtAJlHAbےrd|~HfbHAZpHf`HAbےrd|~HftbdQ~f`Ad|~HfpbHAZp˙rtAJlAbے`rd|~HfpbHAZp˅f`b˂pf۝`vQtJlZdQbtfpvJltvXn`JXQZdQbtQJ`ےtbd`JXQrZdQbtpvn˂rXQvXn`JXQrZdQbtpvnZ|dvXnZdQbtvnXrXQtbdJXQrZdQbtvnXrXQvXnۑZHAbXnvˍtbAdZlJtnXv`bdQZ|vpfHr˂plJtbHAZpQZ|d˂pZlJtAXv`fJ`ےvpfH˂pZlJtAXv`frtAJlvpfHlJtAv`fJ`ےQZ|d˂pZHlJtAv`fJ`ےvpfHے`JXpfH~|drArd|f~HdrtA~f`ZHAbArd|˂rXrtAJlHAbےrd|~HfbHAZp~f`HAbےrd|~HftbdQ~f`rd|~HfpbHAZp˙rtAJlAbے`rd|~HfpbHAZp~f`Qr˂pf۝`vQtJlZdQbtfpvJltvXn`JXQZdQbtQJ`ےtd`JXQrZdQbtpvn˂rXQvXn`JXQrZdQbtpvnZ|dvXnZdQbtvnXrXQtbdJXQrZdQbtvnXrXQvXnۑZHAbXnvˍtbAdZlJtnXv`bdQZ|vpfHr˂plJtbHAXQrtAJl瀉˂pZlJtAXv`fJ`ےvpfH˂pZlJtAXv`ftbdQZf`vlJtAv`fJ`ےQZ|d˂pZHlJtAv`fJ`ےvpfHے`ppfH~|drArd|fHfpdrtA~f`ZHAbArd|J`ےtbdQHAbےrd|~HfbHAZp~f`HAbےrd|Hfp|drXnvrd|~HfpbHAZp˙tAJlAbے`rd|~HfpbHAZp~f`ZHAbېf۝`vQtJlZdQbtvnJltvXn`JXQZdQbbHAZpZ|d`JXQrZdQbtpvn˂rbvXn`JXQrZdQbtvnrtAJlpfH~ZdQbtvnXrXQtbnJXQrZdQbtvnXrbdvXnے`JXQXnvˍtbAdZlJtrXQJ`bdQZ|vpfHr˂pnXv`˂rXQrtAJl瀉˂pZlJtAXv`fdQZ|vpfH˂pZlJtAXQJ`ےtbdQZf`vlJtAv`fJ`ےvpfH˂pZHlJtAv`fQZ|dvpfHr˂ppfH~|drArd|HAZpdrtA~f`ZHAbf~HJ`ےtbdQHAbےrd|~HfdrtAJ~f`HAbےrd|HAZp|drXnvrd|~HfpbHAZp˅f`Abے`rd|~HfprtAJl~f`ZHAbېf۝`vQtJlZdQbt˂rXJltvXn`JXQfpvbHAZp`Z|lt`JXQrZdQbtpvnltbvXn`JXQrZdQbt˂rXQtAdQZ|p`vXZdQbtvnXrXQvXnہJXQrZdQbtvnXtbdvXnے`JXQHXnvˍtbAdZlJtQJ`ےbdQZ|vpfHr˂pnXv`ˁےbHbnۀ˂pZlJtAXv`fdQZ|vpfH˂pZlJtAJ`ےdrtAnr˂lJtAv`fJ`ےvpfH˂pZHlJtAv`fQZ|dvpfHAbے`pfH~|drArd|bHAZpdrtA~f`ZHAbf~HAZp˂vpff`HAbےrd|~HfdrtAJ~f`HAbےrd|bHAZpJltpZAb`rd|~HfpbHAZp~f`Abے`rd|~HfprtAJl~f`JXQrf۝`vQtJlZdQbt˂rXJltvXn`JXQfpvrXQJ`vXn`JXQrZdQbtpvnltbvXn`JXQrZdQbt˂rXQbdQZ|JXQrZdQbtvnXrXQvXnہJXQrZdQbtvnXtbdvXnۉ˂pZHXnvˍtbAdZlJtQJ`ےbdQZ|vpfHr˂pnXv`ˁےbHvpfH˂pZlJtAXv`fdQZ|vpfH˂pZlJtAJ`ےdrtA˂pZHlJtAv`fJ`ےvpfH˂pZHlJtAv`fQZ|dvpfHAbے`pfH~|drQt666666666677777777777777777777777777777777777 \ No newline at end of file diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv33_0.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv33_0.dat deleted file mode 100644 index 42ea5d54fb..0000000000 --- a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv33_0.dat +++ /dev/null @@ -1,297 +0,0 @@ -}~}~}~}~{|{|{|{|{zyzyzyzyzyzyzyzwxwxwxwxuvuvuvuvstststsrpopopoponmnmnmnmlklklklkjijijijihghghghghghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUSTSTSTSTQRQRQRQROPOPOPOPMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<}~}~}~}~{|{|{|{|yzyzyzyzyzyzyzyzwxwxwxwxuvuvuvuvqrqrqrqrpopopoponmnmnmnmlklklklkjijijijihghghghghghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUSTSTSTSTQRQRQRQROPOPOPOPMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<}~}~}~}~{|{|{|{|yzyzyzyzyxwxwxwxwxwxwxwxuvuvuvuvqrqrqrqrpopopoponmnmnmnmlklklklkjijijijihghghghgfefefefefefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUSTSSSSSTQRQRQRQROPOPOPOPMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxwxwxwxwxuvuvuvuvqrqrqrqrooooopopnmnmnmnmlklklklkjijijijihghghghgfefefefefefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUSTSTSTSRQRQRQRQROPOPOPOPMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxwvuvuvuvuvuvuvuvqrqrqrqropopopopnmnmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdcdcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUQRQRQRQRQRQRQRQROPOPOPOPMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvuvuvuvuvqrqrqrqropopopopnmnmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdcdcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUTSTSQRQRQRQRQRQRQRQPOPOPOPOPMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvutstststqrqrqrqropopopopnmnmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdcbabababababababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWTSTSSSSSQRQRQRQROPOPOPOPOPOPOPOPMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvststststqrqrqrqropopopopnmnmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdcbabababababababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWSTSTSTSTQRQRQRQROPOPOPOPOPOPOPONMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvststststqrqrqrqropopopopnmnmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWSTSTSTSTQRQRQRQROPOPOPOPMNMNMNMNMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvststststqrqrqrqropoooooonmnmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWSTSTSTSTQRQRQRQROPOPOPOPMNMNMNMNMNMNMNMLKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvststststqrqrqrqrpopopoponmnmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWVUSTSTSTSTQRQRQRQROPOPOPOPMNMNMNMNKLKLKLKLKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvststststqrqrqrqrpopopoponmnmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[ZYZYZYZYVUVUVUVUSTSTSTSTQRQRQRQROPOPOPOPMNMNMNMNKLKLKLKLKLKLKLKJIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvststststqrqrqrqrpopopoponmnmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYVUVUVUVUSTSTSTSSQRQRQRQROPOPOPOPMNMNMNMNKLKLKLKLIJIJIJIJIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvststststqrqrqrqrpopopoponmnmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYVUVUVUVUSSSSTSTSQRQRQRQROPOPOPOPMNMNMNMNKLKLKLKLIJIJIJIJIJIJIJIHGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvststststqrqrqrqrpopopoponmnmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYZYZYZYZYVUVUVUVUTSTSTSTSQRQRQRQROPOPOPOPMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvststststqrqrqrqrpopopooonmnmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYZYZYZYZYVUVUVUVUTSTSTSTSQRQRQRQROPOPOPOPMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHGHGHGHGFEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvststststqrqrqrqrooopopopnmnmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSQRQRQRQROPOPOPOPMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvststststqrqrqrqropopopopnmnmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSQRQRQRQROPOPOPOPMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFEFEFEFEDCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvststststqrqrqrqropopopopnmnmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSQRQRQRQROPOPOPOPMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvststststqrqrqrqropopopopnmnmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSSSSSSTQRQRQRQROPOPOPOPMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDCDCDCDCBABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvststststqrqrqrqropopopopnmnmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUSTSTSTSTQRQRQRQROPOPOPOPMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABABABABABAB?@?@?@?@=>=>=>=>;<;<;:9:9:9:9:9:}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvststststqrqrqrqropopopopnmnmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUSTSTSTSTQRQRQRQROPOPOPOPMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABABABABABA@?@?@?@?@=>=>=>=>9:9:9:9:9:9:9:9:}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvststststqrqrqrqrooooooponmnmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUSTSTSTSTQRQRQRQROPOPOPOPMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@?@?@?@?@=>=>=>=>9:9:9:9:9:9:9:9:}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvststststqrqrqrqrpopopoponmnmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUSTSTSTSTQRQRQRQROPOPOPOPMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@?@?@?@?>=>=>=>=>9:9:9:9:9:9:9:9:}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvststststqrqrqrqrpopopoponmnmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUSTSTSTSTQRQRQRQROPOPOPOPMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>=>=>=>=>9:9:9:9:9:9:9:9:}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvststststqrqrqrqrpopopoponmnmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUSTSTSSSSQRQRQRQROPOPOPOPMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>=>=>=>=<9:9:9:9:9:9:9:9:}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvststststqrqrqrqrpopopoponmnmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUSSTSTSTSQRQRQRQROPOPOPOPMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:9:9:9:9:}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvststststqrqrqrqrpopooooonmnmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSQRQRQRQROPOPOPOPMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:9:9:9:9:}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvststststqrqrqrqrpopopoponmnmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSQRQRQRQROPOPOPOPMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:9:9:9:9:}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvststststqrqrqrqrnmnmnmnmnmnmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSQRQRQRQROPOPOPOPMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:9:987878}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvststststqrqrqpopnmnmnmnmnmnmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSQRQRQRQROPOPOPOPMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:78777777~}~}~}~}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvststststopopoooonmnmnmnmlklklklklklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSQRQRQRQROPOPOPOPMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:87878787}~}~}~}~}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvststststoopopoponmnmnmnmlklklklklklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUSSSSSTSTQRQRQRQROPOPOPOPMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:87878787}~}~}~}~}|{|{|{|{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvststststpopopoponmnmnmnmlklklklkjijijijijijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUSTSTSTSTQRQRQRQROPOPOPOPMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:87878787}~}~}~}~{|{|{|{|{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvststststpopopoponmnmnmnmlklklklkjijijijijijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUSTSTSTSTQRQRQRQROPOPOPOPMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<9:9:9:9:87878787878787876565656543434343212121210/0/0/0/0/0/0/.-.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - - -878787776565656543434343212121210/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - - -777878786565656543434343212121210/0/0/0/.-.-.-.-.-.-.-,+,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - - -787878786565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - - -787878786565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+,+,+,+*)*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - - -787878786565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - - -787878786565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)*)*)*)('('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - - -787878786565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - - -777777876565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('('('('&%&%&%&%&%$#$#$#$#"!"!"!"!         - - - -878787876565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%&%&%&%&%$#$#$#$#"!"!"!"!       - - - -878787876565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%&%&%&%$#$#$#$#$#"!"!"!"!     - - - -878787876565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!     - - - -878787876565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#$#$#$#"!"!"!"!"!     - - - -878787876565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!"!"!"!"!     - - - -878777776565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!"!"!"!       - - - -787878786565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!             - - - -787878786565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!           - - - -787878786565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - - -787878786565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - - - - -787878786565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - - - - - - -787878776565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - - - - - 777787876565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - - -878787876565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - - -878787876565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - - -878787876565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - - -878787876565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - - -877777876565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - - -878787656565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - - -656565656565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - - -656565656565654343434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - - -656565654343434343434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - - -656565654343434343434321212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - - -656565654343434321212121212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - - -6565656543434343212121212121210/0/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - - -6565656543434343212121210/0/0/0/0/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - - - - - ''(())**]]\\[[ZZ@AABBCCD]\\[[ZZY01122334mllkkjji !!""##$}||{{zzy |}}~~~~}} - - uuvvwwxx((''&&%%eeffgghh88776655UUVVWWXX44332211zz{{||}}}~~ mnnooppq0//..--,]^^__``a@??>>==>??@@A`__^^]]\-..//001feeddccb ++,,--..YYXWVUTSDEEFFGGHYXXWWVVU45566778ihhggffe$%%&&''(yxxwwvvu - -  ||{{zzyy ~~}} yyzz{{||$$##""!!iijjkkll44332211YYZZ[[\\00//..--~~ -qrrssttu,++**))(abbccdde<;;::998QRRSSTTULKKJJIIHABBCCDDE\[[ZZYYX12233445baa``__^//001122SRRQQPPOHIIJJKKLUTTSSRRQ899::;;>??@a``__^^],--..//0qppoonnm ~~}  tsrqpoon%%&&''((xxwwvvuu - - qqrrsstt,,++**))aabbccdd((''&&%%yzz{{||}$##""!! ijjkkllm43322110YZZ[[\\]DCCBBAA@IJJKKLLMTSSRRQQP9::;;<<=ZYYSSRRQ~~}}||77==>>??KJJIIHHGPQQRRSSTMLLKKJJI@AABBCCD]\\[[ZZY01122334mllkkjji !!""##$}||{{zzynmmllkkj))**++,,ttssrrqq - - uuvvwwxx((''&&%%eeffgghh$$##""!! }~~ mnnooppq0//..--,]^^__``a@??>>==>??@@AQPPOONNM~~}} {{zzyyxx@@AABBCCGFFEEDDCTUUVVWWXIHHGGFFEDEEFFGGHYXXWWVVU45566778ihhggffe$%%&&''(yxxwwvvujiihhggf--..//00ppoonnmm ~~}} yyzz{{||$$##""!!iijjkkll - - qrrssttu,++**))(abbccdde<;;::998QRRSSTTULKKJJIIHABBCCDDEMLLKKJJI||{{zzyy!!""##$$wwvvuuooDDEEFFGGCBBAA@@?XYYZZ[[\EDDCCBBAHIIJJKKLUTTSSRRQ899::;;>==<;:\]]^^__`A@@??>>=LMMNNOOPQPPOONNM<==>>??@a``__^^],--..//0qppoonnm ~~} "##$$%%&baa``__^55667788hhggffee%%&&''((xxwwvvuu - - qqrrsstt yzz{{||}$##""!! ijjkkllm43322110YZZ[[\\]DCCBBAA@IJJKKLLMEDDCCBBAttssrrqq))**++,,jjiihhggLLMMNNOO98776655`aabbccd=<<;;::9PQQRRSSTMLLKKJJI@AABBCCD]\\[[ZZY01122334mllkkjji !!""##$}||{{zzy&''(())*^]]\\[[Z99::;;<>==>=ppoonnmm--..//00ffeeddccPPQQRRSS44332211deeffggh98877665TUUVVWWXIHHGGFFEDEEFFGGHYXXWWVVU45566778ihhggffe$%%&&''(yxxwwvvu*++,,--.ZYYXWVUT==>>??@@``__^^]]--..//00ppoonnmm ~~}} yyzz{{|| - -  - - qrrssttu,++**))(abbccdde<;;::998QRRSSTTU=7766554llkkjjii11223344bbaa``__YYZZ[[\\00//..--hiijjkkl54433221XYYZZ[[\EDDCCBBAHIIJJKKLUTTSSRRQ899::;;>=LMMNNOOPQPPOONNM<==>>??@a``__^^],--..//0qppoonnm |{{zzyyx23344556OONNMMLLEEFFGGHHXXWWVVUU55667788hhggffee%%&&''((xxwwvvuu - -  |{{zzyyx !~~}}| yzz{{||}$##""!! ijjkkllm43322110YZZ[[\\]0//..--,ddccbbaa99::;;<>?KKJJIIHHIIJJKKLLTTSSRRQQ99::;;<>??@@QQPPOONNeeffgghh$$##""!!tuuvvwwx)((''&&%deeffggh98877665TUUVVWWXIHHGGFFEDEEFFGGHYXXWWVVU45566778ihhggffe$%%&&''(onnmmllk?@@AABBCGGFFEEDDMMNNOOPPPPOONNMM==>>??@@``__^^]]--..//00ppoonnmm ~~}} srqpoonn%&&''(()xwwvvuut - - qrrssttu,++**))(abbccdde(''&&%%$\\[[ZZYYAABBCCDDMMLLKKJJiijjkkll xyyzz{{|%$$##""!hiijjkkl54433221XYYZZ[[\EDDCCBBAHIIJJKKLUTTSSRRQ899::;;>=LMMNNOOPQPPOONNM<==>>??@a``__^^],--..//0gffeeddcGHHIIJJK??>>==<;UUVVWWXXHHGGFFEEEEFFGGHHXXWWVVUU55667788hhggffee%%&&''((xxwwvvuuiihhggff-..//001poonnmml !~~}}| yzz{{||}$##""!! ijjkkllmLMMNNOOPTTSSRRQQIIJJKKLLEEDDCCBBvvwwxxyypqqrrsst-,,++**)`aabbccd=<<;;::9PQQRRSSTMLLKKJJI@AABBCCD]\\[[ZZY01122334cbbaa``_KLLMMNNO:9877665YYZZ[[\\DDCCBBAAIIJJKKLLTTSSRRQQ99::;;<>zz{{||}}tuuvvwwx)((''&&%deeffggh98877665TUUVVWWXIHHGGFFEDEEFFGGHYXXWWVVU45566778_^^]]\\[OPPQQRRS54433221]]^^__``@@??>>==MMNNOOPPPPOONNMM==>>??@@``__^^]]--..//00ppoonnmm ~~}} ##$$%%&&aa``__^^56677889hggffeed%&&''(()xwwvvuut - - qrrssttuYZZ[[\\]LLKKJJIIQQRRSSTT==776655~~ -xyyzz{{|%$$##""!hiijjkkl54433221XYYZZ[[\EDDCCBBAHIIJJKKLUTTSSRRQ899::;;<[ZZYYSSRSYYZZ[[\100//..-aabbccdd<<;;::99QQRRSSTTLLKKJJIIAABBCCDD\\[[ZZYY11223344llkkjjii!!""##$$||{{zzyy''(())**]]\\[[ZZ9::;;<<=dccbbaa`)**++,,-tssrrqqp - - uvvwwxxy ]^^__``aHHGGFFEEUUVVWWXX44332211 -  |}}~~! lmmnnoop100//..-\]]^^__`A@@??>>=LMMNNOOPQPPOONNM<==>>??@RQQPPOON\]]^^__`-,,++**)eeffgghh88776655UUVVWWXXHHGGFFEEEEFFGGHHXXWWVVUU55667788hhggffee%%&&''((xxwwvvuu++,,--..YYXWVUTS=>>??@@A`__^^]]\-..//001poonnmml !~~}}| yzz{{||} - - abbccddeDDCCBBAAYYZZ[[\\00//..-- - - pqqrrsst-,,++**)`aabbccd=<<;;::9PQQRRSSTMLLKKJJI@AABBCCDNMMLLKKJ`aabbccd)((''&&%iijjkkll44332211YYZZ[[\\DDCCBBAAIIJJKKLLTTSSRRQQ99::;;<>==]]^^__``,,++**)) - - tuuvvwwx)((''&&%deeffggh98877665TUUVVWWXIHHGGFFEDEEFFGGHJIIHHGGFdeeffggh%$$##""!mmnnoopp00//..--]]^^__``@@??>>==MMNNOOPPPPOONNMM==>>??@@``__^^]]--..//00ppoonnmm {{zzyyxx33445566ONNMMLLKEFFGGHHIXWWVVUUT56677889hggffeed%&&''(()xwwvvuut - -  -ijjkkllm<<;;::99aabbccdd((''&&%% xyyzz{{|%$$##""!hiijjkkl54433221XYYZZ[[\EDDCCBBAHIIJJKKLFEEDDCCBhiijjkkl! qqrrsstt,,++**))aabbccdd<<;;::99QQRRSSTTLLKKJJIIAABBCCDD\\[[ZZYY11223344llkkjjii!!""##$$wwvvuuoo77==>>??KJJIIHHGIJJKKLLMTSSRRQQP9::;;<<=dccbbaa`)**++,,-tssrrqqp - -  - mnnoouuv88776655eeffgghh$$##""!! |}}~~! lmmnnoop100//..-\]]^^__`A@@??>>=LMMNNOOPBAA@@??>lmmnnoouuuvvwwxx((''&&%%eeffgghh88776655UUVVWWXXHHGGFFEEEEFFGGHHXXWWVVUU55667788hhggffee%%&&''((nnmmllkk@@AABBCCGFFEEDDCMNNOOPPQPOONNMML=>>??@@A`__^^]]\-..//001poonnmml !~~}}| vwwxxyyz44332211iijjkkll - - pqqrrsst-,,++**)`aabbccd=<<;;::9PQQRRSST>==77665uvvwwxxyyyzz{{||$$##""!!iijjkkll44332211YYZZ[[\\DDCCBBAAIIJJKKLLTTSSRRQQ99::;;<>==MMNNOOPPPPOONNMM==>>??@@``__^^]]--..//00ffeeddccHHIIJJKK?>>==<;:UVVWWXXYHGGFFEEDEFFGGHHIXWWVVUUT56677889hggffeed%&&''(()xwwvvuut ~,,++**))qqrrsstt ~~} xyyzz{{|%$$##""!hiijjkkl54433221XYYZZ[[\100//..-}~~ qqrrsstt,,++**))aabbccdd<<;;::99QQRRSSTTLLKKJJIIAABBCCDD\\[[ZZYY11223344bbaa``__LLMMNNOO98776655YZZ[[\\]DCCBBAA@IJJKKLLMTSSRRQQP9::;;<<=dccbbaa`)**++,,-tssrrqqp - - !!""#((''&&%%uuvvwwxx ~~}}| !!""##$}||{{zzy |}}~~! lmmnnoop100//..-\]]^^__`-,,++**) - - uuvvwwxx((''&&%%eeffgghh88776655UUVVWWXXHHGGFFEEEEFFGGHHXXWWVVUU55667788^^]]\\[[PPQQRRSS44332211]^^__``a@??>>==>??@@A`__^^]]\-..//001poonnmml !~~}}| #$$%%&&'$$##""!!yyzz{{|| - - |{{zzyyx$%%&&''(yxxwwvvu - - pqqrrsst-,,++**)`aabbccd)((''&&%yyzz{{||$$##""!!iijjkkll44332211YYZZ[[\\DDCCBBAAIIJJKKLLTTSSRRQQ99::;;<>==MMNNOOPPPPOONNMM==>>??@@QQPPOONN]]^^__``,,++**))effgghhi87766554UVVWWXXYHGGFFEEDEFFGGHHIXWWVVUUT56677889hggffeed%&&''(()xwwvvuut+,,--../srqpoonn,--..//0qppoonnm ~~} xyyzz{{|%$$##""!hiijjkkl! - - qqrrsstt,,++**))aabbccdd<<;;::99QQRRSSTTLLKKJJIIAABBCCDDMMLLKKJJaabbccdd((''&&%%ijjkkllm43322110YZZ[[\\]DCCBBAA@IJJKKLLMTSSRRQQP9::;;<<=dccbbaa`)**++,,-tssrrqqp~~}}||{/0011223mmllkkjj01122334mllkkjji !!""##$}||{{zzy |}}~~! lmmnnoop - - uuvvwwxx((''&&%%eeffgghh88776655UUVVWWXXHHGGFFEEEEFFGGHHIIHHGGFFeeffgghh$$##""!!mnnooppq0//..--,]^^__``a@??>>==>??@@A`__^^]]\-..//001poonnmml !{zzyyxxw34455667iihhggff45566778ihhggffe$%%&&''(yxxwwvvu - - pqqrrsst yyzz{{||$$##""!!iijjkkll44332211YYZZ[[\\DDCCBBAAIIJJKKLLEEDDCCBBiijjkkll qrrssttu,++**))(abbccdde<;;::998QRRSSTTULKKJJIIHABBCCDDE\[[ZZYYX12233445lkkjjiih!""##$$%wvvuuoon7==>>??@ !!""eeddccbb899::;;>==MMNNOOPPAA@@??>>mmnnoouuuvvwwxxy(''&&%%$effgghhi87766554UVVWWXXYHGGFFEEDEFFGGHHIXWWVVUUT56677889hggffeed%&&''(()nmmllkkj@AABBCCD - - ##$$%%&&aa``__^^<==>>??@a``__^^],--..//0qppoonnm ~~} xyyzz{{| - -  - - qqrrsstt,,++**))aabbccdd<<;;::99QQRRSSTT==776655vvwwxxyyyzz{{||}$##""!! ijjkkllm43322110YZZ[[\\]DCCBBAA@IJJKKLLMTSSRRQQP9::;;<<=dccbbaa`)**++,,-jiihhggfDEEFFGGH~~}}||{{zzyyxx !!~~}}||zz{{||}}##""!! jjkkllmm33221100ZZ[[\\]]//..--,, - - rssttuuv+**))(('bccddeef;::99887RSSTTUUVKJJIIHHGBCCDDEEFIHHGGFFEmnnoouuvwwvvuuts""##$$%%{{zzyyxx ~~nnooppqq//..--,,^^__``aa++**))(( vwwxxyyz'&&%%$$#fgghhiij76655443VWWXXYYZGFFEEDDCFGGHHIIJEDDCCBBAvwwxxyyz rqpoonnm&&''(())wwvvuutt - - rrssttuu++**))((bbccddee''&&%%$$z{{||}}~#""!! jkkllmmn3221100/Z[[\\]]^CBBAA@@?JKKLLMMNA@@??>>=z{{||}}~ - - mllkkjji**++,,--ssrrqqpp - - vvwwxxyy''&&%%$$ffgghhii##""!! ~nooppqqr/..--,,+^__``aab?>>==<<;NOOPPQQR=7766554~ - - ihhggffe..//0011oonnmmll !!~~}}||zz{{||}}##""!! jjkkllmm - - - rssttuuv+**))(('bccddeef;::99887RSSTTUUV43322110 eddccbba22334455kkjjiihh""##$$%%{{zzyyxx ~~nnooppqq - vwwxxyyz'&&%%$$#fgghhiij76655443VWWXXYYZ0//..--,a``__^^]66778899ggffeedd&&''(())wwvvuutt - - rrssttuuz{{||}}~#""!! jkkllmmn3221100/Z[[\\]]^,++**))(]\\[[ZZY::;;<<==ccbbaa``**++,,--ssrrqqpp - - vvwwxxyy  ~nooppqqr/..--,,+^__``aab(''&&%%$YXWVUTSS>>??@@AA__^^]]\\..//0011oonnmmll !!~~}}||zz{{||}} - -  - - - rssttuuv+**))(('bccddeef$##""!!~~} RRQQPPOOBBCCDDEE[[ZZYYXX22334455kkjjiihh""##$$%%{{zzyyxx ~~~~}}||{ - vwwxxyyz'&&%%$$#fgghhiij}||{{zzy !!""##$NNMMLLKKFFGGHHIIWWVVUUTT66778899ggffeedd&&''(())wwvvuutt - -  - -{zzyyxxw !!"~~}}||{z{{||}}~#""!! jkkllmmnyxxwwvvu$%%&&''(JJIIHHGGJJKKLLMMSSRRQQPP::;;<<==ccbbaa``**++,,--ssrrqqpp - -  wvvuutsr"##$$%%&{zzyyxxw ~nooppqqruttssrrq())**++,FFEEDDCCNNOOPPQQOONNMMLL>>??@@AA__^^]]\\..//0011oonnmmll !!~~}}||qpoonnmm&''(())*wvvuutts - - - rssttuuv qppoonnm,--..//0BBAA@@??RRSSTTUUKKJJIIHHBBCCDDEE[[ZZYYXX22334455kkjjiihh""##$$%%{{zzyyxxllkkjjii*++,,--.srrqqppo - vwwxxyyz - - -mllkkjji01122334>>==<;:9VVWWXXYYGGFFEEDDFFGGHHIIWWVVUUTT66778899ggffeedd&&''(())wwvvuutt hhggffee.//00112onnmmllk !!"~~}}||{z{{||}}~ - ihhggffe4556677887766554ZZ[[\\]]CCBBAA@@JJKKLLMMSSRRQQPP::;;<<==ccbbaa``**++,,--ssrrqqpp - - !!""##ddccbbaa23344556kjjiihhg"##$$%%&{zzyyxxw ~eddccbba899::;;<43322110^^__``aa??>>==<>??@@AA__^^]]\\..//0011oonnmmll !!~~}}||$$%%&&''``__^^]]6778899:gffeeddc&''(())*wvvuutts - - - a``__^^]<==>>??@0//..--,bbccddee;;::9988RRSSTTUUKKJJIIHHBBCCDDEE[[ZZYYXX22334455kkjjiihh""##$$%%{{zzyyxx(())**++\\[[ZZYY:;;<<==>cbbaa``_*++,,--.srrqqppo - ]\\[[ZZY@AABBCCD,++**))(ffgghhii77665544VVWWXXYYGGFFEEDDFFGGHHIIWWVVUUTT66778899ggffeedd&&''(())wwvvuutt,,--..//XWVUTSSR>??@@AAB_^^]]\\[.//00112onnmmllk !!"~~}}||{!!""#YXXWWVVUDEEFFGGH(''&&%%$jjkkllmm33221100ZZ[[\\]]CCBBAA@@JJKKLLMMSSRRQQPP::;;<<==ccbbaa``**++,,--ssrrqqpp~~}}||{{00112233RQQPPOONBCCDDEEF[ZZYYXXW23344556kjjiihhg"##$$%%&{zzyyxxw#$$%%&&'UTTSSRRQHIIJJKKL$##""!! nnooppqq//..--,,^^__``aa??>>==<>??@@AA__^^]]\\..//0011oonnmmll !!zzyyxxww44556677NMMLLKKJFGGHHIIJWVVUUTTS6778899:gffeeddc&''(())*wvvuutts -'(())**+QPPOONNMLMMNNOOPrrssttuu++**))((bbccddee;;::9988RRSSTTUUKKJJIIHHBBCCDDEE[[ZZYYXX22334455kkjjiihh""##$$%%vvuuoonn==>>??@@JIIHHGGFJKKLLMMNSRRQQPPO:;;<<==>cbbaa``_*++,,--.srrqqppo - +,,--../MLLKKJJIPQQRRSSTvvwwxxyy''&&%%$$ffgghhii77665544VVWWXXYYGGFFEEDDFFGGHHIIWWVVUUTT66778899ggffeedd&&''(())mmllkkjjAABBCCDDFEEDDCCBNOOPPQQRONNMMLLK>??@@AAB_^^]]\\[.//00112onnmmllk !!"~~}}||{/0011223IHHGGFFETUUVVWWXzz{{||}}##""!! jjkkllmm33221100ZZ[[\\]]CCBBAA@@JJKKLLMMSSRRQQPP::;;<<==ccbbaa``**++,,--iihhggffEEFFGGHHBAA@@??>RSSTTUUVKJJIIHHGBCCDDEEF[ZZYYXXW23344556kjjiihhg"##$$%%&{zzyyxxw34455667EDDCCBBAXYYZZ[[\~~nnooppqq//..--,,^^__``aa??>>==<>??@@AA__^^]]\\..//0011eeddccbbIIJJKKLL>==<;:98VWWXXYYZGFFEEDDCFGGHHIIJWVVUUTTS6778899:gffeeddc&''(())*wvvuutts~~}}||{7==>>??@A@@??>>=\]]^^__` - -rrssttuu++**))((bbccddee;;::9988RRSSTTUUKKJJIIHHBBCCDDEE[[ZZYYXX22334455aa``__^^MMNNOOPP77665544Z[[\\]]^CBBAA@@?JKKLLMMNSRRQQPPO:;;<<==>cbbaa``_*++,,--.srrqqppo{zzyyxxw@AABBCCD=<<;;::9`aabbccd vvwwxxyy''&&%%$$ffgghhii77665544VVWWXXYYGGFFEEDDFFGGHHIIWWVVUUTT66778899]]\\[[ZZQQRRSSYY33221100^__``aab?>>==<<;NOOPPQQRONNMMLLK>??@@AAB_^^]]\\[.//00112onnmmllk !!"wvvuuoonDEEFFGGH98877665deeffgghzz{{||}}##""!! jjkkllmm33221100ZZ[[\\]]CCBBAA@@JJKKLLMMSSRRQQPP::;;<<==YYSSRRQQZZ[[\\]]//..--,,bccddeef;::99887RSSTTUUVKJJIIHHGBCCDDEEF[ZZYYXXW23344556kjjiihhg"##$$%%&nmmllkkjHIIJJKKL54433221hiijjkkl ~~nnooppqq//..--,,^^__``aa??>>==<>??@@AAPPOONNMM^^__``aa++**))((fgghhiij76655443VWWXXYYZGFFEEDDCFGGHHIIJWVVUUTTS6778899:gffeeddc&''(())*jiihhggfLMMNNOOP100//..-lmmnnoop - - rrssttuu++**))((bbccddee;;::9988RRSSTTUUKKJJIIHHBBCCDDEELLKKJJIIbbccddee''&&%%$$jkkllmmn3221100/Z[[\\]]^CBBAA@@?JKKLLMMNSRRQQPPO:;;<<==>cbbaa``_*++,,--.feeddccbPQQRRSSY-,,++**)pqqrrsst - - vvwwxxyy''&&%%$$ffgghhii77665544VVWWXXYYGGFFEEDDFFGGHHIIHHGGFFEEffgghhii##""!! nooppqqr/..--,,+^__``aab?>>==<<;NOOPPQQRONNMMLLK>??@@AAB_^^]]\\[.//00112baa``__^YZZ[[\\])((''&&%tuuvvwwxzz{{||}}##""!! jjkkllmm33221100ZZ[[\\]]CCBBAA@@JJKKLLMMDDCCBBAAjjkkllmmrssttuuv+**))(('bccddeef;::99887RSSTTUUVKJJIIHHGBCCDDEEF[ZZYYXXW23344556^]]\\[[Z]^^__``a%$$##""!xyyzz{{| ~~nnooppqq//..--,,^^__``aa??>>==<>==nnoouuvvvwwxxyyz'&&%%$$#fgghhiij76655443VWWXXYYZGFFEEDDCFGGHHIIJWVVUUTTS6778899:ZYYSSRRQabbccdde! |}}~~ - - rrssttuu++**))((bbccddee;;::9988RRSSTTUU77665544wwxxyyzzz{{||}}~#""!! jkkllmmn3221100/Z[[\\]]^CBBAA@@?JKKLLMMNSRRQQPPO:;;<<==>QPPOONNMeffgghhi - - vvwwxxyy''&&%%$$ffgghhii77665544VVWWXXYY33221100{{||}}~~ ~nooppqqr/..--,,+^__``aab?>>==<<;NOOPPQQRONNMMLLK>??@@AABMLLKKJJIijjkkllmfpvp˂rJltpfH~pZHAbJtArdf~HrXQJ`ۉbdQZ|f`vXے`JXJtArdf~HnrXQJ`Zp˂AJltfH~ˁJXQrf~HXQJ`ےbdQZ|`vXnے`JXQZHAےtlJnXv`p˂rJltH~fZHAbtlJfpvJ`ےrtAJl~f`ZHAbۉlJtnXv`ˑ˂rXJlt~f`ZHAbۉlJtnXv`ˑ˂rXrtAJlnXv`XQJ`ےdrtAJf`vJQr|ZdQfpvbHAdrtnvpQr˂p|ZdQfpvےHArXQJ`ۉbdQZ|f`vXbtl|fpvbHAZdrtAvpfr˂p`JXQrtArdf~HXQJ`ےbdQZ|`vXnے`JXQtArdnXv`bHAZptbdQvXn`JXQArd|f~HQJ`ےbdQZ|vXn`JXQArd|f~HQJ`ےtbdQf~HbHAZltbXnv˂pZHbtlnXv`Zp˂AJltfH~ˑZHAbbtlnXv`Zp˂JltdtAnvpZdQbtnXv`p˂rJltH~fZHAbbtl|ZdQbfpvbHAZdrtAvpfr˂p|ZdQbf~H˂rXQZ|AJlvpfHr˂pZdQbtfpvbHAZpdrtAvpfHr˂pZdQbtfpvbHAZpZ|dfpvp˂rdQZ|pfH~Abے`JtArdf~HrXQJ`ۉbdQZ|f`vXے`JXJtArdf~HrXQJ`ۉbdQZ|JltfH~ˉlJtf~fpXQJ`ےbdQZ|`vXnے`JXQJtAdtlJnXv`p˂rJltH~fZHAbtlJfpvJ`ےtb~f`ZHAbۉlJtnXv`ˑ˂rXJlt~f`ZHAbۉlJtnXv`ˑ˂rXrtAdQZ|nXv`XQJ`ےdrtAJvpJXQr|ZdQfpvbHAdrtnvpQr˂p|ZdQfpvbHAdrtbnvpf`vXArd|vnXbHAZdrtAvpfr˂p|ZdQbfpvfHfXQJ`ےbdQZ|`vXnے`JXQtArdnXv`bHAXQJnvpvXn`JXQArd|f~HQJ`ےbdQZ|vXn`JXQArd|f~HQJ`ےdrtf~HbHAZltbfH~˂pZHbtlnXv`Zp˂AJltfH~ˑZHAbbtlnXv`Zp˂AJltfHnvpZdQbtv`fp˂rJltH~fZHAbtlJnXv`pvnbHAZdrtAvpfr˂p|ZdQbpvn`ےJlfHf`vpfr˂pZdQbtfpvbHAZpdrtAvpfHr˂pZdQbtfpvbHAZpAJltfpvp˂rdQZ|lf`vXAbے`JtArdf~HrXQJ`ۉbdQZ|f`vXے`JXJtArdf~HrXQJ`ۉbdQZ|f`vXfے`JXl|~HfpXQJ`ےbdQZ|`vXnے`JXQtArdf~HrXQJ`p˂rJltH~fZHAbtlJXv`ftbQZvXn`JXQZHAے`lJtnXv`ˑ˂rXJlt~f`ZHAbۉlJtnXv`ˑ˂rXbdQZ|nXv`XQJ`ےtbdQnvpJXQr|ZdQfpvbHAdrtnvpQr˂p|ZdQfpvbHAdrtnvpQHAbZdQbtvnXbHAZdrtAvpfr˂p|ZdQbfpvےHAZXQJ`ےbdQZ|`vXnے`JXQtArd~HfdrtAvpfHr˂pJXQrArd|f~HQJ`ےbdQZ|vXn`JXQArd|f~HQJ`ےdrtf~HbHAZZ|dfH~ZHAbbtlnXv`Zp˂AJltfH~ˑZHAbbtlnXv`Zp˂AJltfH~˒`JXQlJtAv`fp˂rJltH~fZHAbtlJnXv`p˂rJltdtAJvpfr˂p|ZdQbpvnJlt~f`ZHAbbtlZdQbtfpvbHAZpdrtAvpfHr˂pZdQbtfpvbHAZpAJltfpvp˂rrtAJlf`vXے`JXQJtArdf~HrXQJ`ۉbdQZ|f`vXے`JXJtArdf~HrXQJ`ۉbdQZ|f`vXr˂prd|~HfvnXQJ`ےbdQZ|`vXnے`JXQtArdf~HXQJ`ےbdQZ|ltbH~fZHAbtlJXv`pbdQZ|vXn`JXQJtAd|lJnXv`ˑ˂rXJlt~f`ZHAbۉlJtnXv`ˑ˂rXdrtAnXv`XQJ`ےtbdQH~fr˂p|ZdQfpvbHAdrtnvpQr˂p|ZdQfpvbHAdrtnvpZHAbZdQbtXv`fbHAZdrtAvpfr˂p|ZdQbfpvbHAZdrtAnvp`vXnے`JXQtArdvnrdrtAvpfHr˂pZdQbtfpvfHfpQJ`ےbdQZ|vXn`JXQArd|f~HQJ`ےJltf~HbHAZZ|d`vXnZHAbbtlnXv`Zp˂AJltfH~ˑZHAbbtlnXv`Zp˂AJltfH~˒`JXQlJtA~Hfp˂rJltH~fZHAbtlJnXv`p˂rJltfHfvpfr˂p|ZdQbXQJ`pJlt~f`ZHAbۉlJtnXv`˝vnbHAZpdrtAvpfHr˂pZdQbtfpvbHAZpbdQZ|fpvp˂rrtAdQZvpfے`JXQJtArdf~HrXQJ`ۉbdQZ|f`vXے`JXJtArdf~HrXQJ`ۉbdQZ|f`vXr˂p`rdtlpvnXQJ`ےbdQZ|`vXnے`JXQtArdf~HXQJ`ےbdQZ|`vXnے`JXQZHAےtlJ˂rXQbdQZ|vXn`JXQArd|f~HrXQJ`ۑ˂rXJlt~f`ZHAbۉlJtnXv`ˑ˂rXdrtAnXv`XQJ`ے|drH~fr˂p|ZdQfpvbHAdrtnvpQr˂p|ZdQfpvbHAdrtnvpJXQrJtArdXv`fbHAZdrtAvpfr˂p|ZdQbfpvbHAZdrtAvpfr˂p`JXQrtArdJ`ےrAJl璅vpfHr˂pZdQbtfpv㒐HAZpQJ`ےbdQZ|vXn`JXQArd|f~HQJ`ےJltf~HbHAZtAJl`vXnZAb`btlnXv`Zp˂AJltfH~ˑZHAbbtlnXv`Zp˂AJltfH~ˉ˂pZH|Zd~Hfp˂rJltH~fZHAbtlJnXv`p˂rJltH~fZHAbbtl|ZdQbbHAZptbdQZ~f`ZHAbۉlJtnXv`ˑ˂rXJltdtAJlvpfHr˂pZdQbtfpvbHAZpbdQZ|lnvpfpvp˂rtbdQZvp`JXQrJtArdf~HrXQJ`ۉbdQZ|f`vXے`JXJtArdf~HrXQJ`ۉbdQZ|f`vXAbے`QbtlpvnXQJ`ےbdQZ|`vXnے`JXQtArdf~HXQJ`ےbdQZ|`vXnے`JXQJtAdtlJ˂rXQ|drvXn`JXQArd|f~HQJ`ےbdQZ|tb~f`ZHAbۉlJtnXv`ˑ˂rXtbdfH~nXv`XQJ`ے|drvXnpZHA|ZdQfpvbHAdrtnvpQr˂p|ZdQfpvbHAdrtnvpJXQrJtArdvf~HbHAZdrtAvpfr˂p|ZdQbfpvbHAZdrtAvpfr˂p|ZdQbfpvJ`p˂tAJl璅vpfHr˂pZdQbtfpvbHAZpdrtAnvpvXn`JXQArd|f~HQJ`ےQZ|df`vXHf~HbHAZtAJlvpfHbے`btlnXv`Zp˂AJltfH~ˑZHAbbtlnXv`Zp˂AJltfH~ˉ˂pZH|Zdfpvp˂rJltH~fZHAbtlJnXv`p˂rJltH~fZHAbtlJ~HfrXQJtbdQZ~f`ZHAbۉlJtnXv`ˑ˂rXJltfHf`vpfr˂pZdQbtfpvbHAZprtAJl~f`fpvp˂rtdrtA~f`JXQrJtArdf~HrXQJ`ۉbdQZ|f`vXے`JXJtArdf~HrXQJ`ۉbdQZ|f`vXAbQtArdnXv`XQJ`ےbdQZ|`vXnے`JXQtArdf~HXQJ`ےbdQZ|`vXnے`JXQtArdpvn`ےb|drvXn`JXQArd|f~HQJ`ےbdQZ|vXn`JXQZHAے`lJtnXv`ˑ˂rXtbdvXnnXv`XQJ`ےJltvXnpZHAb|ZdQfpvbHAdrtnvpQr˂p|ZdQfpvbHAdrtnvppZHA|ZdQf~HbHAZdrtAvpfr˂p|ZdQbfpvbHAZdrtAvpfr˂p|ZdQbXv`fHAZp˂tAJbdvpfHr˂pZdQbtfpvbHAZpdrtAvpfHr˂pJXQrArd|f~HQJ`ےQZ|lvpfHf~HbHAZbdQZ|vpfHJAdbtlnXv`Zp˂AJltfH~ˑZHAbbtlnXv`Zp˂AJltfH~bے`btlfpvp˂rJltH~fZHAbtlJnXv`p˂rJltH~fZHAbtlJ~HfrXQJQZ|d~f`ZHAbۉlJtnXv`ˑ˂rXJlt~f`ZHAbbtlZdQbtfpvbHAZptbn~f`fpvp˂rdrtA~v|ZdQJfpvfHrXQJ`ۉbdQZ|f`vXے`JXJtArdf~HrXQJ`ۉbdQZ|f`vXJXQrJtArdnXv`XQJ`ےbdQZ|`vXnے`JXQtArdf~HXQJ`ےbdQZ|`vXnے`JXQtArdpvn`ےbrtAJlvXn`JXQArd|f~HQJ`ےbdQZ|vXn`JXQJtAd|lJnXv`ˑ˂rXvp`vXnnXv`XQJ`ےJltpfے`btlnXv`fpv㒐bHAdrtnvpQr˂p|ZdQfpvbHAdrtnvppZHA|ZdQf~fpbHAZdrtAvpfr˂p|ZdQbfpvbHAZdrtAvpfr˂p|ZdQbXv`pHAXQJ`tbdvpfHr˂pZdQbtfpvbHAZpdrtAvpfHr˂pZdQbtfpvfHfpQJ`ےvXnۅvp`f~HbHAZbdQZ|JXQrJtArdf~HnrXQJ`Zp˂AJltfH~ˑZHAbbtlnXv`Zp˂AJltfH~bے`btl|vnXp˂rJltH~fZHAbtlJnXv`p˂rJltH~fZHAbtlJvnXےbHAQZ|d~f`ZHAbۉlJtnXv`ˑ˂rXJlt~f`ZHAbۉlJtnXv`˝vnbHAZpvpfHvXnfpvp˂rltbZHAbۂ|ZdQfpvےHArXQJ`ۉbdQZ|f`vXے`JXJtArdf~HrXQJ`ۉbdQZ|f`vXJXQHAbZdQbtv`fXQJ`ےbdQZ|`vXnے`JXQtArdf~HXQJ`ےbdQZ|`vXnے`JXQtArdv`fZp˂rtAJlvXn`JXQArd|f~HQJ`ےbdQZ|vXn`JXQArd|f~HrXQJ`ۑ˂rX~f`vpfHnXv`XQJ`ےdQZ|`JXQbtlnXv`Zp˂JltdtAnvpQr˂p|ZdQfpvbHAdrtnvpے`JXlJt~HfpbHAZdrtAvpfr˂p|ZdQbfpvbHAZdrtAvpfr˂p|ZdQb~HfprXQJ`tbQZvpfHr˂pZdQbtfpvbHAZpdrtAvpfHr˂pZdQbtfpv㒐HAZpQJ`ےvXn~f`f~HbHAZdrtAJr˂pJtArdf~HrXQJ`ۉbdQZ|JltfH~ˑZHAbbtlnXv`Zp˂AJltfH~Qr˂pArd|vnXp˂rJltH~fZHAbtlJnXv`p˂rJltH~fZHAbtlJvnXےbHAdrtA~f`ZHAbۉlJtnXv`ˑ˂rXJlt~f`ZHAbۉlJtnXv`ˑ˂rXJltdvp`vXvXnfpvp˂rltbZHAbۂ|ZdQfpvbHAdrtbnvpf`vXے`JXJtArdf~HrXQJ`ۉbdQZ|f`vXZHAbZdQbtv`ffXQJ`ےbdQZ|`vXnے`JXQtArdf~HXQJ`ےbdQZ|`vXnے`JXQtArdv`fZp˂JltvXn`JXQArd|f~HQJ`ےbdQZ|vXn`JXQArd|f~HQJ`ےrtAJlnvpvpfHnXv`XQJ`ےdQZ|``JXQbtlnXv`Zp˂AJltfHnvpQr˂p|ZdQfpvbHAdrtnvpے`JXlJtpvnbHAZdrtAvpfr˂p|ZdQbfpvbHAZdrtAvpfr˂p|ZdQb~HXvbHAZbdQZ|vpfHr˂pZdQbtfpvbHAZpdrtAvpfHr˂pZdQbtfpvbHAZptbdfH~~vpf~HbHAZvXnr˂pZJtArdf~HrXQJ`ۉbdQZ|f`vXfے`JXZHAbtlnXv`Zp˂AJltfH~Qr˂pArdtrXQJ`p˂rJltH~fZHAbtlJnXv`p˂rJltH~fZHAbtlJ`f~p˂rdrtA~f`ZHAbۉlJtnXv`ˑ˂rXJlt~f`ZHAbۉlJtnXv`ˑ˂rXQZ|df`vXfے`fpvp˂rvpfHAb`J|ZdQfpvbHAdrtnvpQr˂p`JXQJtArdf~HrXQJ`ۉbdQZ|f`vX`JXQlJfpےHAZXQJ`ےbdQZ|`vXnے`JXQtArdf~HXQJ`ےbdQZ|`vXnے`JXQtArdHfpvXQJ`ےJltvXn`JXQArd|f~HQJ`ےbdQZ|vXn`JXQArd|f~HQJ`ےrtAJlnvpJXQrZnXv`XQJ`ے~f`XQr˂btlnXv`Zp˂AJltfH~ˑZHAbrbtl|ZdQfpvbHAdrtnvpr˂pvnvp˂rJltdtAJvpfr˂p|ZdQbfpvbHAZdrtAvpfr˂p|ZdQbnXvbHAZbdQZ|vpfHr˂pZdQbtfpvbHAZpdrtAvpfHr˂pZdQbtfpvbHAZptbdfH~HAbےf~HbHAZvXnpZHAbJtArdf~HrXQJ`ۉbdQZ|f`vXے`JXJtAdbtlnXv`Zp˂AJltfH~ZHAbۍf~HXQJ`ےbdQZ|ltbH~fZHAbtlJnXv`p˂rJltH~fZHAbtlJ`f~p˂rrAJl~f`ZHAbۉlJtnXv`ˑ˂rXJlt~f`ZHAbۉlJtnXv`ˑ˂rXQZ|l畀vp`JXQrfpvp˂rvp`vے`J|ZdQfpvbHAdrtnvpQr˂p|ZdQJfpvfHrXQJ`ۉbdQZ|f`vX`JXQfpvbHAZdrtAnvp`vXnے`JXQtArdf~HXQJ`ےbdQZ|`vXnے`JXQtArdHfpvXQJ`ptbdQvXn`JXQArd|f~HQJ`ےbdQZ|vXn`JXQArd|f~HQJ`ےtbdQfH~ˀ˂pZnXv`XQJ`ےXnvXQr˂btlnXv`Zp˂AJltfH~ˑZHAbbtlnXv`fpv㒐bHAdrtnvpr˂p`nXv`p˂rJltfHfvpfr˂p|ZdQbfpvbHAZdrtAvpfr˂p|ZdQb~H˂rXQZ|dvpfHr˂pZdQbtfpvbHAZpdrtAvpfHr˂pZdQbtfpvbHAZpZ|df`vXHAbے`JXQrrd|~HfJ`ےdQZ|tbn~f`HAbےlJtAXv`f˂rXQltb~f`˂pZd|ZnXv`rXQtbd~f`Abے`lJtAv`frXQtbd~f`Qr˂pۑp`ZpfH~ㅀ˂pZAZdQbtpvnbHAZpdrtAJvpfvXn`JXQrrd|~HfJ`ےdQZ|vXnHAbےdQbt璍ffpJ`ےQZ|dvXnہJXQrrd|~HfpJ`ےQZ|dvXnۑZHAbQXb㉀f۝`vb`JXlJtAXv`f˂rXQltbHf`vpfے˂pZZdQbtpvnbHAZpdrtAJvpfH`JXQrlJtArvnrXbHAZp˙rtAJlvpfH˂pZHZdQbtvnXbHAZp˙rtAJlvpfHے`JXۑpJAHrXnvˍQr˂prd|~HfJ`ےdQZ|vXn`JXQrHAے`lJtAXv`f˂rXQltb~f`˂p`dtlQJ`ےrXQtbd~f`Abے`lJtAv`frXQtbd~f`QHAb󙐂ˁ`Zp|drZHAbZdQbtpvnbHAZpdrtAJvpfH˂pZJXQrbrd|~HfJ`ےdQZ|vXnJXQrJfpvHAZpJ`ےJlQZ|dvXnہJXQrrd|~HfpJ`ےQZ|dvXnے`JXQQXb㉀QtJlے`JXlJtAXv`f˂rXQltb~f`HAbےtlJZdQbtpvnbHAZpdrtAJvpfH˂pZHAnvfrXQtbdtAJlvpfH˂pZHZdQbtvnXbHAZp˙rtAJlvpfHr˂pۑpJAHtbAdZQr˂prd|~HfJ`ےdQZ|vXn`JXQrtAd|lJfXv`f˂rXQltb~f`bے`~HfpJ`ےQZ|dtbn~f`Abے`lJtAv`frXQtbd~f`ZHAbېf۝`v|drZHAbZdQbtpvnbHAZpdrtAJvpfH˂pZZdQbtpvnHfpJ`ےdQZ|vXnJXQrvnXbHAZp˙rtAJlvpfHvXnہJXQrrd|~HfpJ`ےQZ|dvXnے`JXQXnvˍQtJlJQrlJtAXv`f˂rXQltb~f`HAbےlJtAXv`fvnrbHAZpdrtAJvpfH˂p`Jv`frXQtbdf`vpfے`˂pZHZdQbtvnXbHAZp˙rtAJlvpfHr˂p`pfH~tbAdZ˂pZHArd|~HfJ`ےdQZ|vXn`JXQrrd|~HfXQJ`ے˂rXQltb~f`XQrbt~HfpJ`ےQZ|dvXnہJXQrAے`lJtAv`frXQtbd~f`JXQrf۝`v|drbے`ZdQbtpvnbHAZpdrtAJvpfH˂pZZdQbtpvnHAZpJ`ےJdQZ|vXnl|ZvnXbHAZp˙rtAJlvpfH˂pZHJXQrbtrd|~HfpJ`ےQZ|dvXnۉ˂pZHXnvˍQtJlJXQrlJtAXv`f˂rXQltb~f`HAbےlJtAXv`f˂rXQltbdtAJlvpfHdQbt璕v`f~rXQtbd~f`Abے`lJtZdQbtvnXbHAZp˙rtAJlvpfHAbے`pfH~tbAdZ˂pZHArd|~HfJ`ےdQZ|vXn`JXQrrd|~HfJ`ےdQZ|tbn~f`lJtArfpvJ`ےQZ|dvXnہJXQrAd|lJfpv`frXQtbd~f`JXQrf۝`v|drbے`ZdQbtpvnbHAZpdrtAJvpfH˂pZZdQbtpvnbHAZpdrtAJvpfvXnd|ZnXv`bHAZp˙rtAJlvpfH˂pZHZdQbtvnXHfpJ`ےQZ|dvXnۉ˂p`ZXnvˍQtJlJXQrlJtAXv`f˂rXQltb~f`HAbےlJtAXv`f˂rXQltbHf`vpfےdQbtf~HrXQtbd~f`Abے`lJtAv`fvnrXbHAZp˙rtAJlvpfHQXb㉀pfH~tbAdZZHAbrd|~HfJ`ےdQZ|vXn`JXQrrd|~HfJ`ےdQZ|vXn`JXQHAl|ZdQfpvJ`ےQZ|dvXnہJXQrrd|~HfpQJ`ےrXQtbd~f`ۑpJAHrf۝`v|dr`JXQZdQbtpvnbHAZpdrtAJvpfH˂pZZdQbtpvnbHAZpdrtAJvpfHbے`btlnXv`bHAZp˙rtAJlvpfH˂pZHZdQbtvnXHAZpJ`ےJlQZ|dvXn󙐂ˁ`ZXnvˍQtJlr˂plJtAXv`f˂rXQltb~f`HAbےlJtAXv`f˂rXQltb~f`JXQrJtArdf~HrXQtbd~f`Abے`lJtAv`frXQtbdtAJlvpfHQXb㉀pfH~tbAdZZHAbrd|~HfJ`ےdQZ|vXn`JXQrrd|~HfJ`ےdQZ|vXn˂pZHA|ZdQfvnXJ`ےQZ|dvXnہJXQrrd|~HfpJ`ےQZ|dtbn~f`ۑp`ZQf۝`v|dr`JXQZdQbtpvnbHAZpdrtAJvpfH˂pZZdQbtpvnbHAZpdrtAJvpfHbے`btlv`fbHAZp˙rtAJlvpfH˂pZHZdQbtvnXbHAZp˙rtAJlvpfHvXnXb㉀ۑXnvˍQtJlr˂pZlJtAXv`f˂rXQltb~f`HAbےlJtAXv`f˂rXQltb~f`JXQrJtArd~HfpۂrXQtbd~f`Abے`lJtAv`frXQtbdf`vpfZHpJAHrpfH~tbAdZAb`Jrd|~HfJ`ےdQZ|vXn`JXQrrd|~HfJ`ےdQZ|vXn˂p`JtlJvnXJ`ےQZ|dvXnہJXQrrd|~HfpJ`ےQZ|dvXnAbے`ˁ`ZQf۝`v|drXQr˂ZdQbtpvnbHAZpdrtAJvpfH˂pZZdQbtpvnbHAZpdrtAJvpfHXQr˂tArdv`fbHAZp˙rtAJlvpfH˂pZHZdQbtvnXbHAZp˙rtAJlvpfHJXQrXb㉀ۑXnvˍQtJlpZHAblJtAXv`f˂rXQltb~f`HAbےlJtAXv`f˂rXQltb~f`pZHAb|ZdQb~HfpۂrXQtbd~f`Abے`lJtAv`frXQtbd~f`˂pZHpJAHrpfH~tbAdZے`Jrd|~HfJ`ےdQZ|vXn`JXQrrd|~HfJ`ےdQZ|vXnے`JtlJvnvfJ`ےQZ|dvXnہJXQrrd|~HfpJ`ےQZ|dvXnAbے`ۑpJf۝`v|drXQr˂ZdQbtpvnbHAZpdrtAJvpfH˂pZZdQbtpvnbHAZpdrtAJvpfHXQr˂tArd~HfbHAZp˙rtAJlvpfH˂pZHZdQbtvnXbHAZp˙rtAJlvpfHJXQrAHr󙐂XnvˍQtJlpZA`lJtAXv`f˂rXQltb~f`HAbےlJtAXv`f˂rXQltb~f`pZHAb|ZdQtApvnrXQtbd~f`Abے`lJtAv`frXQtbd~f`˂p`ˁ`ZQXbpfH~tbAdZJXQrbrd|~HfJ`ےdQZ|vXn`JXQrrd|~HfJ`ےdQZ|vXn˂prd|Xv`fJ`ےQZ|dvXnہJXQrrd|~HfpJ`ےQZ|dvXnJXQr㉀ۑpJf۝`v|drtlJZdQbtpvnbHAZpdrtAJvpfH˂pZZdQbtpvnbHAZpdrtAJvpfHZHAbZdQbt~HfbHAZp˙rtAJlvpfH˂pZHZdQbtvnXbHAZp˙rtAJlvpfHpZHAAHr󙐂XnvˍQtJltAd|lJfXv`f˂rXQltb~f`HAbےlJtAXv`f˂rXQltb~f`ے`JXQlJtApvnrXQtbd~f`Abے`lJtAv`frXQtbd~f`bے`ˁ`ZQXApfH~tbAdZZdQbtpvnHfpJ`ےdQZ|vXn`JXQrrd|~HfJ`ےdQZ|vXnr˂prd|Xv`fJ`ےQZ|dvXnہJXQrrd|~HfpJ`ےQZ|dvXnJXQrHr󙐂ˁf۝`v|drlJtAXv`fvnrbHAZpdrtAJvpfH˂pZZdQbtpvnbHAZpdrtAJvpfHZHAbZdQbt~fpvbHAZp˙rtAJlvpfH˂pZHZdQbtvnXbHAZp˙rtAJlvpfHpZHA`ZQXbXnvˍQtJlrd|~HfXQJ`ے˂rXQltb~f`HAbےlJtAXv`f˂rXQltb~f`ے`JXQl|ZnXv`rXQtbd~f`Abے`lJtAv`frXQtbd~f`b˂pۑpJApfH~tbAdZZdQbtpvnHAZpJ`ےJdQZ|vXn`JXQrrd|~HfJ`ےdQZ|vXnHAbےdQbt璍f~HJ`ےQZ|dvXnہJXQrrd|~HfpJ`ےQZ|dvXnۑZHAbHr󙐂ˁf۝`v|drlJtAXv`f˂rXQltbdtAJlvpfH˂pZZdQbtpvnbHAZpdrtAJvpfH`JXQrlJtArfpvbHAZp˙rtAJlvpfH˂pZHZdQbtvnXbHAZp˙rtAJlvpfHے`JX`ZQXbXnvˍQtJltJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKK \ No newline at end of file diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv33_1.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv33_1.dat deleted file mode 100644 index 128d06bae7..0000000000 --- a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv33_1.dat +++ /dev/null @@ -1,297 +0,0 @@ -}~}~}~}~}~}~}~}~{|{|{|{|{|{|{|{|yzyzyzyzyzyzyzyzwxwxwxwxwxwxwxwxuvuvuvuvuvuvuvuvststststststststqrqrqrqrpopopopoopopopopnmnmnmnmnmnmnmnmlklklklklklklklkjijijijijijijijihghghghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSSSSSSTSTQRQRQRQRQRQRQRQROPOPOPOPOPOPOPOPMNMNMNMNMNMNMNMNKLKLKLKLKLKLKLKLIJIJIJIJIJIJIJIJGHGHGHGHGHGHGHGHEFEFEFEFEFEFEFEFCDCDCDCDCDCDCDCDABABABABABABABAB?@?@?@?@?@?@?@?@=>=>=>=>=>=>=>=>;<;<;<;<;<;<;<;<9:9:9:9:9:9:9:9:78787878878787876565656565656565434343434343434321212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!}~}~}~}~}~}~}~}~{|{|{|{|{|{|{|{|yzyzyzyzyzyzyzyzwxwxwxwxwxwxwxwxuvuvuvuvuvuvuvuvstststststststsrqrqrqrqrpopopopoopopopopnmnmnmnmnmnmnmnmlklklklklklklklkjijijijijijijijihghghghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSSTSTSTSTQRQRQRQRQRQRQRQROPOPOPOPOPOPOPOPMNMNMNMNMNMNMNMNKLKLKLKLKLKLKLKLIJIJIJIJIJIJIJIJGHGHGHGHGHGHGHGHEFEFEFEFEFEFEFEFCDCDCDCDCDCDCDCDABABABABABABABAB?@?@?@?@?@?@?@?@=>=>=>=>=>=>=>=>;<;<;<;<;<;<;<;<9:9:9:9:9:9:9:9:77777787877777876565656565656565434343434343434321212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!}~}~}~}~}~}~}~}~{|{|{|{|{|{|{|{|yzyzyzyzyzyzyzyzwxwxwxwxwxwxwxwxuvuvuvuvuvuvuvuvststststqrqrqrqrqrqrqrqrpopopopoopopopopnmnmnmnmnmnmnmnmlklklklklklklklkjijijijijijijijihghghghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSSTSTSTSTQRQRQRQRQRQRQRQROPOPOPOPOPOPOPOPMNMNMNMNMNMNMNMNKLKLKLKLKLKLKLKLIJIJIJIJIJIJIJIJGHGHGHGHGHGHGHGHEFEFEFEFEFEFEFEFCDCDCDCDCDCDCDCDABABABABABABABAB?@?@?@?@?@?@?@?@=>=>=>=>=>=>=>=>;<;<;<;<;<;<;<;<9:9:9:9:9:9:9:9:87878787878787656565656565656565434343434343434321212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!~}~}~}~}~}~}~}~}~}~}~}~{|{|{|{|{|{|{|{|yzyzyzyzyzyzyzyzwxwxwxwxwxwxwxwxuvuvuvuvuvuvuvuvststststqrqrqrqrqrqrqrqrooooopopopopopopnmnmnmnmnmnmnmnmlklklklklklklklkjijijijijijijijihghghghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYZYZYZYZYXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSSTSTSTSTQRQRQRQRQRQRQRQROPOPOPOPOPOPOPOPMNMNMNMNMNMNMNMNKLKLKLKLKLKLKLKLIJIJIJIJIJIJIJIJGHGHGHGHGHGHGHGHEFEFEFEFEFEFEFEFCDCDCDCDCDCDCDCDABABABABABABABAB?@?@?@?@?@?@?@?@=>=>=>=>=>=>=>=>;<;<;<;<;<;<;<;<9:9:9:9:9:9:9:9:87878787656565656565656565656543434343434343434321212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!}~}~}~}~}~}~}~}~}|{|{|{|{|{|{|{|{|{|{|{|yzyzyzyzyzyzyzyzwxwxwxwxwxwxwxwxuvuvuvuvuvuvuvuvststststqrqrqrqrqrqrqrqropopopopooooooponmnmnmnmnmnmnmnmlklklklklklklklkjijijijijijijijihghghghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSSTSTSTSTQRQRQRQRQRQRQRQROPOPOPOPOPOPOPOPMNMNMNMNMNMNMNMNKLKLKLKLKLKLKLKLIJIJIJIJIJIJIJIJGHGHGHGHGHGHGHGHEFEFEFEFEFEFEFEFCDCDCDCDCDCDCDCDABABABABABABABAB?@?@?@?@?@?@?@?@=>=>=>=>=>=>=>=>;<;<;<;<;<;<;<;<9:9:9:9:9:9:9:9:87878787656565656565656543434343434343434343432121212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!}~}~}~}~}~}~}~}~{|{|{|{|{|{|{|{|{zyzyzyzyzyzyzyzyzyzyzyzwxwxwxwxwxwxwxwxuvuvuvuvuvuvuvuvststststqrqrqrqrqrqrqrqropopopoppopopoponmnmnmnmnmnmnmnmlklklklklklklklkjijijijijijijijihghghghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSSSSSSTSTSSSSSTQRQRQRQRQRQRQRQROPOPOPOPOPOPOPOPMNMNMNMNMNMNMNMNKLKLKLKLKLKLKLKLIJIJIJIJIJIJIJIJGHGHGHGHGHGHGHGHEFEFEFEFEFEFEFEFCDCDCDCDCDCDCDCDABABABABABABABAB?@?@?@?@?@?@?@?@=>=>=>=>=>=>=>=>;<;<;<;<;<;<;<;<9:9:9:9:9:987878878787876565656565656565434343434343434321212121212121212121210/0/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!}~}~}~}~}~}~}~}~{|{|{|{|{|{|{|{|yzyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwxwxwxwxuvuvuvuvuvuvuvuvststststqrqrqrqrqrqrqrqropopopoppopopoponmnmnmnmnmnmnmnmlklklklklklklklkjijijijijijijijihghghghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQROPOPOPOPOPOPOPOPMNMNMNMNMNMNMNMNKLKLKLKLKLKLKLKLIJIJIJIJIJIJIJIJGHGHGHGHGHGHGHGHEFEFEFEFEFEFEFEFCDCDCDCDCDCDCDCDABABABABABABABAB?@?@?@?@?@?@?@?@=>=>=>=>=>=>=>=>;<;<;<;<;<;<;<;<9:9:9:9:78777777878787876565656565656565434343434343434321212121212121210/0/0/0/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!}~}~}~}~}~}~}~}~{|{|{|{|{|{|{|{|yzyzyzyzyzyzyzyzwxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvuvuvuvuvststststqrqrqrqrqrqrqrqropopopoppopopoponmnmnmnmnmnmnmnmlklklklklklklklkjijijijijijijijihghghghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUSTSTSTSTQRQRQRQRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPOPMNMNMNMNMNMNMNMNKLKLKLKLKLKLKLKLIJIJIJIJIJIJIJIJGHGHGHGHGHGHGHGHEFEFEFEFEFEFEFEFCDCDCDCDCDCDCDCDABABABABABABABAB?@?@?@?@?@?@?@?@=>=>=>=>=>=>=>=>;<;<;<;<;<;<;<;<9:9:9:9:87878787878777776565656565656565434343434343434321212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!}~}~}~}~}~}~}~}~{|{|{|{|{|{|{|{|yzyzyzyzyzyzyzyzwxwxwxwxwxwxwxwxuvuvuvuvuvuvuvuvutstststststststqrqrqrqrqrqrqrqropopopoppopopoponmnmnmnmnmnmnmnmlklklklklklklklkjijijijijijijijihghghghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUSTSTSTSTQRQRQRQRQRQRQRQROPOPOPOPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMNKLKLKLKLKLKLKLKLIJIJIJIJIJIJIJIJGHGHGHGHGHGHGHGHEFEFEFEFEFEFEFEFCDCDCDCDCDCDCDCDABABABABABABABAB?@?@?@?@?@?@?@?@=>=>=>=>=>=>=>=>;<;<;<;<;<;<;<;<9:9:9:9:87878787787878786565656565656565434343434343434321212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!}~}~}~}~}~}~}~}~{|{|{|{|{|{|{|{|yzyzyzyzyzyzyzyzwxwxwxwxwxwxwxwxuvuvuvuvuvuvuvuvststststststststqrqrqrqrqrqrqrqropoooooopopooooonmnmnmnmnmnmnmnmlklklklklklklklkjijijijijijijijihghghghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUTSTSSTSTSTSTQRQRQRQRQRQRQRQROPOPOPOPOPOPOPOPMNMNMNMNMNMNMNMNMNMNMNMLKLKLKLKLKLKLKLKLIJIJIJIJIJIJIJIJGHGHGHGHGHGHGHGHEFEFEFEFEFEFEFEFCDCDCDCDCDCDCDCDABABABABABABABAB?@?@?@?@?@?@?@?@=>=>=>=>=>=>=>=>;<;<;<;<;<;<;<;<9:9:9:9:87878787787878786565656565656565434343434343434321212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)*)*)*)('('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!}~}~}~}~}~}~}~}~{|{|{|{|{|{|{|{|yzyzyzyzyzyzyzyzwxwxwxwxwxwxwxwxuvuvuvuvuvuvuvuvststststststststqrqrqrqrqrqrqrqrpopopopopopopoponmnmnmnmnmnmnmnmlklklklklklklklkjijijijijijijijihghghghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUTSTSSSSSSTSTSTSTQRQRQRQRQRQRQRQROPOPOPOPOPOPOPOPMNMNMNMNMNMNMNMNKLKLKLKLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIJGHGHGHGHGHGHGHGHEFEFEFEFEFEFEFEFCDCDCDCDCDCDCDCDABABABABABABABAB?@?@?@?@?@?@?@?@=>=>=>=>=>=>=>=>;<;<;<;<;<;<;<;<9:9:9:9:87878787787878786565656565656565434343434343434321212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('('('('&%&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!}~}~}~}~}~}~}~}~{|{|{|{|{|{|{|{|yzyzyzyzyzyzyzyzwxwxwxwxwxwxwxwxuvuvuvuvuvuvuvuvststststststststqrqrqrqrqrqrqrqrpopopoponmnmnmnmnmnmnmnmnmnmnmnmlklklklklklklklkjijijijijijijijihghghghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUSTSTSTSTSTSTSSSSQRQRQRQRQRQRQRQROPOPOPOPOPOPOPOPMNMNMNMNMNMNMNMNKLKLKLKLKLKLKLKLIJIJIJIJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGHEFEFEFEFEFEFEFEFCDCDCDCDCDCDCDCDABABABABABABABAB?@?@?@?@?@?@?@?@=>=>=>=>=>=>=>=>;<;<;<;<;<;<;:9:9:9:9:9:87878787787878786565656565656565434343434343434321212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!}~}~}~}~}~}~}~}~{|{|{|{|{|{|{|{|yzyzyzyzyzyzyzyzwxwxwxwxwxwxwxwxuvuvuvuvuvuvuvuvststststststststqrqrqrqrqrqrqrqrpopopoponmnmnmnmnmnmnmnmlklklklklklklklklklklklkjijijijijijijijihghghghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUSTSTSTSTSSTSTSTSQRQRQRQRQRQRQRQROPOPOPOPOPOPOPOPMNMNMNMNMNMNMNMNKLKLKLKLKLKLKLKLIJIJIJIJIJIJIJIJGHGHGHGHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEFCDCDCDCDCDCDCDCDABABABABABABABAB?@?@?@?@?@?@?@?@=>=>=>=>=>=>=>=>;<;<;<;<9:9:9:9:9:9:9:9:87878777787878786565656565656565434343434343434321212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!"!}~}~}~}~}~}~}~}~{|{|{|{|{|{|{|{|yzyzyzyzyzyzyzyzwxwxwxwxwxwxwxwxuvuvuvuvuvuvuvuvststststststststqrqrqrqrqrqrqpoppopopoponmnmnmnmnmnmnmnmlklklklklklklklkjijijijijijijijijijijijihghghghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUSTSTSTSTTSTSTSTSQRQRQRQRQRQRQRQROPOPOPOPOPOPOPOPMNMNMNMNMNMNMNMNKLKLKLKLKLKLKLKLIJIJIJIJIJIJIJIJGHGHGHGHGHGHGHGHEFEFEFEFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCDABABABABABABABAB?@?@?@?@?@?@?@?@=>=>=>=>=>=>=>=>;<;<;<;<9:9:9:9:9:9:9:9:77787878787878776565656565656565434343434343434321212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!"!"!"! }~}~}~}~}~}~}~}~{|{|{|{|{|{|{|{|yzyzyzyzyzyzyzyzwxwxwxwxwxwxwxwxuvuvuvuvuvuvuvuvststststststststqrqrqrqropopoooopopopoponmnmnmnmnmnmnmnmlklklklklklklklkjijijijijijijijihghghghghghghghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUSTSTSTSTTSTSTSTSQRQRQRQRQRQRQRQROPOPOPOPOPOPOPOPMNMNMNMNMNMNMNMNKLKLKLKLKLKLKLKLIJIJIJIJIJIJIJIJGHGHGHGHGHGHGHGHEFEFEFEFEFEFEFEFCDCDCDCDCDCDCDCDCDCDCDCBABABABABABABABAB?@?@?@?@?@?@?@?@=>=>=>=>=>=>=>=>;<;<;<;<9:9:9:9:9:9:9:9:78787878777787876565656565656565434343434343434321212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!    }~}~}~}~}~}~}~}~{|{|{|{|{|{|{|{|yzyzyzyzyzyzyzyzwxwxwxwxwxwxwxwxuvuvuvuvuvuvuvuvststststststststqrqrqrqroopopopopopopooonmnmnmnmnmnmnmnmlklklklklklklklkjijijijijijijijihghghghghghghghgfefefefefefefefefefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWVUVUVUVUVUSTSTSTSTTSTSTSTSQRQRQRQRQRQRQRQROPOPOPOPOPOPOPOPMNMNMNMNMNMNMNMNKLKLKLKLKLKLKLKLIJIJIJIJIJIJIJIJGHGHGHGHGHGHGHGHEFEFEFEFEFEFEFEFCDCDCDCDCDCDCDCDABABABABABABABABABABABA@?@?@?@?@?@?@?@?@=>=>=>=>=>=>=>=>;<;<;<;<9:9:9:9:9:9:9:9:78787878878787876565656565656565434343434343434321212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!    }~}~}~}~}~}~}~}~{|{|{|{|{|{|{|{|yzyzyzyzyzyzyzyzwxwxwxwxwxwxwxwxuvuvuvuvuvuvuvuvststststststststqrqrqrqrpopopopoooopopopnmnmnmnmnmnmnmnmlklklklklklklklkjijijijijijijijihghghghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWVUVUVUVUVUVUVUVUSTSTSTSSTSTSTSTSQRQRQRQRQRQRQRQROPOPOPOPOPOPOPOPMNMNMNMNMNMNMNMNKLKLKLKLKLKLKLKLIJIJIJIJIJIJIJIJGHGHGHGHGHGHGHGHEFEFEFEFEFEFEFEFCDCDCDCDCDCDCDCDABABABABABABABAB?@?@?@?@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=>;<;<;<;<9:9:9:9:9:9:9:9:78787878878787876565656565656565434343434343434321212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!    }~}~}~}~}~}~}~}~{|{|{|{|{|{|{|{|yzyzyzyzyzyzyzyzwxwxwxwxwxwxwxwxuvuvuvuvuvuvuvuvststststststststqrqrqrqrpopopopoopopopopnmnmnmnmnmnmnmnmlklklklklklklklkjijijijijijijijihghghghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcbabababababababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWVUVUVUVUVUVUVUVUSSSSTSTSTSTSTSTSQRQRQRQRQRQRQRQROPOPOPOPOPOPOPOPMNMNMNMNMNMNMNMNKLKLKLKLKLKLKLKLIJIJIJIJIJIJIJIJGHGHGHGHGHGHGHGHEFEFEFEFEFEFEFEFCDCDCDCDCDCDCDCDABABABABABABABAB?@?@?@?@?@?@?@?@=>=>=>=>=>=>=>=>=>=>=>=<;<;<;<;<9:9:9:9:9:9:9:9:78787878878787876565656565656565434343434343434321212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!                         - - - - - - - -                 - - - - - - - -                 - - - - - - - -                  - - - - - - - -                   - - - - - - - -                 - - - - - - - - - -               - - - - - - - - - -              - - - - - - - -             - - - - - - - -             - - - - - - - -             - - - - - - - -             - - - - - - - -             - - - - - - - -             - - - - - - - -             - - - - - - - -             - - - - - - - -             - - - - - - - -             - - - - - - - -LLKKJJII UUVVWWXX00//..--33445566KJJIIHHG TUUVVWWXEDDCCBBALMMNNOOPMLLKKJJIDEEFFGGHUTTSSRRQ - - <==>>??@]\\[[ZZY45566778|}}~~eddccbba,--..//0tuuvvwwxcbbaa``_ - - OPPQQRRS~~}}100//..- eeffgghh||{{zzyy44332211]]^^__``<<;;::99 UUVVWWXXDDCCBBAAMMNNOOPPLLKKJJIIEEFFGGHHTTSSRRQQ - - ==>>??@@MMLLKKJJeeffgghhmmllkkjj -..//001uvvwwxxylkkjjiih$##""!! %&&''(()mnnooppqtssrrqqp,++**))( !effgghhi|{{zzyyx43322110]^^__``a<;;::998 UVVWWXXYDCCBBAA@ MNNOOPPQ=7766554#$$%%&&'z{{||}}~]\\[[ZZY - ->>??@@AA[[ZZYYXX66778899~~ccbbaa``..//0011vvwwxxyykkjjiihh##""!! &&''(())nnooppqqssrrqqpp++**))(( !!ffgghhii{{zzyyxx33221100^^__``aaHHGGFFEEYYZZ[[\\,,++**))77==>>??GFFEEDDCXYYZZ[[\A@@??>>= - - PQQRRSSTIHHGGFFEHIIJJKKLQPPOONNM @AABBCCDYXXWWVVU 899::;;>== - - QQRRSSTTHHGGFFEEIIJJKKLLPPOONNMMAABBCCDDIIHHGGFFiijjkklliihhggff12233445yzz{{||}hggffeed )**++,,-qrrssttupoonnmml(''&&%%$!""##$$%ijjkkllmxwwvvuut0//..--,abbccdde~~}}|87766554YZZ[[\\]@??>>==< - - QRRSSTTU43322110'(())**+~YXWVUTSS BBCCDDEEWWVVUUTT ::;;<<==__^^]]\\22334455zz{{||}}ggffeedd**++,,--rrssttuuoonnmmll''&&%%$$""##$$%%jjkkllmmwwvvuutt//..--,,bbccddeeDDCCBBAA]]^^__``~~}}||((''&&%%@@AABBCCCBBAA@@?\]]^^__`=<<;;::9 TUUVVWWXEDDCCBBALMMNNOOPMLLKKJJIDEEFFGGHUTTSSRRQ - - <==>>??@]\\[[ZZY45566778|}}~~[ZZYYSSR \]]^^__`xxwwvvuu)((''&&%%%&&''((mmnnooppttssrrqq,,++**)) eeffgghh||{{zzyy44332211]]^^__``<<;;::99 UUVVWWXXDDCCBBAAMMNNOOPPLLKKJJIIEEFFGGHHEEDDCCBBmmnnoouueeddccbb56677889}~~dccbbaa`-..//001uvvwwxxylkkjjiih$##""!! %&&''(()mnnooppqtssrrqqp,++**))( !effgghhi|{{zzyyx43322110]^^__``a<;;::998 UVVWWXXY0//..--,+,,--../RRQQPPOOFFGGHHIISSRRQQPP - - >>??@@AA[[ZZYYXX66778899~~ccbbaa``..//0011vvwwxxyykkjjiihh##""!! &&''(())nnooppqqssrrqqpp++**))(( !!ffgghhii@@??>>==aabbccdd{{zzyyxx$$##""!!DDEEFFGG?>>==<;:`aabbccd~~}98877665XYYZZ[[\A@@??>>= - - PQQRRSSTIHHGGFFEHIIJJKKLQPPOONNM @AABBCCDYXXWWVVU 899::;;>== - - QQRRSSTTHHGGFFEEIIJJKKLLAA@@??>>!!""vvwwxxyyaa``__^^9::;;<<=`__^^]]\12233445yzz{{||}hggffeed )**++,,-qrrssttupoonnmml(''&&%%$!""##$$%ijjkkllmxwwvvuut0//..--,abbccdde~~}}|87766554YZZ[[\\],++**))(/0011223NNMMLLKKJJKKLLMMOONNMMLLBBCCDDEEWWVVUUTT ::;;<<==__^^]]\\22334455zz{{||}}ggffeedd**++,,--rrssttuuoonnmmll''&&%%$$""##$$%%jjkkllmm<<;;::99 eeffgghhwwvvuuooHHIIJJKK98776655 deeffggh}||{{zzy54433221\]]^^__`=<<;;::9 TUUVVWWXEDDCCBBALMMNNOOPMLLKKJJIDEEFFGGHUTTSSRRQ - - <==>>??@NMMLLKKJ deeffgghnmmllkkj! --..//00uuvvwwxxllkkjjii$$##""!!%%&&''((mmnnooppttssrrqq,,++**)) eeffgghh||{{zzyy44332211]]^^__``<<;;::99 UUVVWWXXDDCCBBAAMMNNOOPP==776655##$$%%&&zz{{||}}]]\\[[ZZ -=>>??@@A\[[ZZYYX56677889}~~dccbbaa`-..//001uvvwwxxylkkjjiih$##""!! %&&''(()mnnooppqtssrrqqp,++**))( !effgghhi|{{zzyyx43322110]^^__``a~~}}||{(''&&%%$34455667JJIIHHGG NNOOPPQQKKJJIIHHFFGGHHIISSRRQQPP - - >>??@@AA[[ZZYYXX66778899~~ccbbaa``..//0011vvwwxxyykkjjiihh##""!! &&''(())nnooppqq~~}}88776655!!""##$$iijjkkllnnmmllkkLLMMNNOO44332211 !!""##$hiijjkklyxxwwvvu100//..-`aabbccd~~}98877665XYYZZ[[\A@@??>>= - - PQQRRSSTIHHGGFFEHIIJJKKLQPPOONNM @AABBCCDJIIHHGGFhiijjkkljiihhggf11223344yyzz{{||hhggffee ))**++,,qqrrssttppoonnmm((''&&%%!!""##$$iijjkkllxxwwvvuu00//..--aabbccdd~~}}88776655YYZZ[[\\@@??>>== - - QQRRSSTT44332211''(())**~~YYXWVUTS - ABBCCDDEXWWVVUUT 9::;;<<=`__^^]]\12233445yzz{{||}hggffeed )**++,,-qrrssttupoonnmml(''&&%%$!""##$$%ijjkkllmxwwvvuut0//..--,abbccdde{zzyyxxw$##""!!7==>>??@FFEEDDCC - - RRSSTTUUGGFFEEDDJJKKLLMMOONNMMLLBBCCDDEEWWVVUUTT ::;;<<==__^^]]\\22334455zz{{||}}ggffeedd**++,,--rrssttuu||{{zzyy44332211%%&&''((mmnnooppjjiihhggPPQQRRSS~~}}|00//..--$%%&&''(lmmnnooputtssrrq-,,++**) deeffggh}||{{zzy54433221\]]^^__`=<<;;::9 TUUVVWWXEDDCCBBALMMNNOOPMLLKKJJIDEEFFGGHFEEDDCCBlmmnnooufeeddccb55667788}}~~ddccbbaa--..//00uuvvwwxxllkkjjii$$##""!!%%&&''((mmnnooppttssrrqq,,++**)) eeffgghh||{{zzyy44332211]]^^__``<<;;::99 UUVVWWXX00//..--++,,--..SRRQQPPOEFFGGHHITSSRRQQP - - =>>??@@A\[[ZZYYX56677889}~~dccbbaa`-..//001uvvwwxxylkkjjiih$##""!! %&&''(()mnnooppqtssrrqqp,++**))( !effgghhiwvvuuoon@AABBCCDBBAA@@??VVWWXXYYCCBBAA@@ NNOOPPQQKKJJIIHHFFGGHHIISSRRQQPP - - >>??@@AA[[ZZYYXX66778899~~ccbbaa``..//0011vvwwxxyyxxwwvvuu00//..--))**++,,qqrrssttffeeddcc YYZZ[[\\|{{zzyyx,,++**))())**++,pqqrrsstqppoonnm)((''&&% !!""##$hiijjkklyxxwwvvu100//..-`aabbccd~~}98877665XYYZZ[[\A@@??>>= - - PQQRRSSTIHHGGFFEHIIJJKKLBAA@@??>!!"uvvwwxxybaa``__^99::;;<<``__^^]]11223344yyzz{{||hhggffee ))**++,,qqrrssttppoonnmm((''&&%%!!""##$$iijjkkllxxwwvvuu00//..--aabbccdd~~}}88776655YYZZ[[\\,,++**))//001122ONNMMLLKIJJKKLLMPOONNMMLABBCCDDEXWWVVUUT 9::;;<<=`__^^]]\12233445yzz{{||}hggffeed )**++,,-qrrssttupoonnmml(''&&%%$!""##$$%ijjkkllmnmmllkkjDEEFFGGH>>==<;:9ZZ[[\\]]??>>==<< - - RRSSTTUUGGFFEEDDJJKKLLMMOONNMMLLBBCCDDEEWWVVUUTT ::;;<<==__^^]]\\22334455zz{{||}}ttssrrqq,,++**))--..//00uuvvwwxxbbaa``__ - - ]]^^__``xwwvvuut((''&&%%,--..//0tuuvvwwxmllkkjji%$$##""!$%%&&''(lmmnnooputtssrrq-,,++**) deeffggh}||{{zzy54433221\]]^^__`=<<;;::9 TUUVVWWXEDDCCBBALMMNNOOP>==77665"##$$%%&yzz{{||}^]]\\[[Z ==>>??@@\\[[ZZYY55667788}}~~ddccbbaa--..//00uuvvwwxxllkkjjii$$##""!!%%&&''((mmnnooppttssrrqq,,++**)) eeffgghh||{{zzyy44332211]]^^__``~~}}||((''&&%%33445566KJJIIHHG MNNOOPPQLKKJJIIHEFFGGHHITSSRRQQP - - =>>??@@A\[[ZZYYX56677889}~~dccbbaa`-..//001uvvwwxxylkkjjiih$##""!! %&&''(()mnnooppqjiihhggfHIIJJKKL87766554^^__``aa;;::9988VVWWXXYYCCBBAA@@ NNOOPPQQKKJJIIHHFFGGHHIISSRRQQPP - - >>??@@AA[[ZZYYXX66778899~~ppoonnmm((''&&%%11223344yyzz{{||^^]]\\[[ - - aabbccddsrqpoonn$$##""!!01122334xyyzz{{|ihhggffe! ())**++,pqqrrsstqppoonnm)((''&&% !!""##$hiijjkklyxxwwvvu100//..-`aabbccd~~}98877665XYYZZ[[\A@@??>>= - - PQQRRSST54433221&''(())*}~~ZYYXWVUT - - AABBCCDDXXWWVVUU 99::;;<<``__^^]]11223344yyzz{{||hhggffee ))**++,,qqrrssttppoonnmm((''&&%%!!""##$$iijjkkllxxwwvvuu00//..--aabbccdd{{zzyyxx$$##""!!77==>>??GFFEEDDC - - QRRSSTTUHGGFFEEDIJJKKLLMPOONNMMLABBCCDDEXWWVVUUT 9::;;<<=`__^^]]\12233445yzz{{||}hggffeed )**++,,-qrrssttufeeddccb LMMNNOOP43322110bbccddee~~}}||77665544ZZ[[\\]]??>>==<< - - RRSSTTUUGGFFEEDDJJKKLLMMOONNMMLLBBCCDDEEWWVVUUTT ::;;<<==llkkjjii$$##""!!55667788}}~~ZZYYSSRReeffgghhmmllkkjj 45566778|}}~~eddccbba,--..//0tuuvvwwxmllkkjji%$$##""!$%%&&''(lmmnnooputtssrrq-,,++**) deeffggh}||{{zzy54433221\]]^^__`=<<;;::9 TUUVVWWX100//..-*++,,--.SSRRQQPPEEFFGGHHTTSSRRQQ - - ==>>??@@\\[[ZZYY55667788}}~~ddccbbaa--..//00uuvvwwxxllkkjjii$$##""!!%%&&''((mmnnooppttssrrqq,,++**)) eeffgghhwwvvuuoo@@AABBCCCBBAA@@? UVVWWXXYDCCBBAA@ MNNOOPPQLKKJJIIHEFFGGHHITSSRRQQP - - =>>??@@A\[[ZZYYX56677889}~~dccbbaa`-..//001uvvwwxxybaa``__^ - - PQQRRSSY~~}}||0//..--, !!ffgghhii{{zzyyxx33221100^^__``aa;;::9988VVWWXXYYCCBBAA@@ NNOOPPQQKKJJIIHHFFGGHHIISSRRQQPP - - >>??@@AAhhggffee 99::;;<>==<;:YZZ[[\\]@??>>==< - - QRRSSTTUHGGFFEEDIJJKKLLMPOONNMMLABBCCDDEXWWVVUUT 9::;;<<=`__^^]]\12233445yzz{{||}^]]\\[[ZYZZ[[\\]{{zzyyxx,++**))(""##$$%%jjkkllmmwwvvuutt//..--,,bbccddee~~}}||77665544ZZ[[\\]]??>>==<< - - RRSSTTUUGGFFEEDDJJKKLLMMOONNMMLLBBCCDDEEddccbbaa==>>??@@MMLLKKJJmmnnoouueeddccbb<==>>??@]\\[[ZZY45566778|}}~~eddccbba,--..//0tuuvvwwxmllkkjji%$$##""!$%%&&''(lmmnnooputtssrrq-,,++**) deeffggh}||{{zzy54433221\]]^^__`~~}}|)((''&&%23344556KKJJIIHHMMNNOOPPLLKKJJIIEEFFGGHHTTSSRRQQ - - ==>>??@@\\[[ZZYY55667788}}~~ddccbbaa--..//00uuvvwwxxllkkjjii$$##""!!%%&&''((mmnnooppjjiihhggHHIIJJKK98776655]^^__``a<;;::998 UVVWWXXYDCCBBAA@ MNNOOPPQLKKJJIIHEFFGGHHITSSRRQQP - - =>>??@@A\[[ZZYYX56677889}~~ZYYSSRRQ -]^^__``awwvvuuts(''&&%%$&&''(())nnooppqqssrrqqpp++**))(( !!ffgghhii{{zzyyxx33221100^^__``aa;;::9988VVWWXXYYCCBBAA@@ NNOOPPQQKKJJIIHHFFGGHHII``__^^]]AABBCCDDIIHHGGFF!!""vvwwxxyyaa``__^^@AABBCCDYXXWWVVU 899::;;>?GGFFEEDD - - QQRRSSTTHHGGFFEEIIJJKKLLPPOONNMMAABBCCDDXXWWVVUU 99::;;<<``__^^]]11223344yyzz{{||hhggffee ))**++,,qqrrssttffeeddcc LLMMNNOO44332211abbccdde~~}}|87766554YZZ[[\\]@??>>==< - - QRRSSTTUHGGFFEEDIJJKKLLMPOONNMMLABBCCDDEXWWVVUUT 9::;;<<=QPPOONNM - abbccdderqpoonnm$##""!! **++,,--rrssttuuoonnmmll''&&%%$$""##$$%%jjkkllmmwwvvuutt//..--,,bbccddee~~}}||77665544ZZ[[\\]]??>>==<< - - RRSSTTUUGGFFEEDDJJKKLLMM\\[[ZZYYEEFFGGHHEEDDCCBB##$$%%&&zz{{||}}]]\\[[ZZ -DEEFFGGHUTTSSRRQ - - <==>>??@]\\[[ZZY45566778|}}~~eddccbba,--..//0tuuvvwwxmllkkjji%$$##""!$%%&&''(lmmnnooputtssrrq-,,++**) deeffgghxwwvvuuo!?@@AABBCCCBBAA@@ UUVVWWXXDDCCBBAAMMNNOOPPLLKKJJIIEEFFGGHHTTSSRRQQ - - ==>>??@@\\[[ZZYY55667788}}~~ddccbbaa--..//00uuvvwwxxbbaa``__ - - PPQQRRSS~~}}|00//..-- !effgghhi|{{zzyyx43322110]^^__``a<;;::998 UVVWWXXYDCCBBAA@ MNNOOPPQLKKJJIIHEFFGGHHITSSRRQQP - - =>>??@@AMLLKKJJIeffgghhimllkkjji..//0011vvwwxxyykkjjiihh##""!! &&''(())nnooppqqssrrqqpp++**))(( !!ffgghhii{{zzyyxx33221100^^__``aa;;::9988VVWWXXYYCCBBAA@@ NNOOPPQQXXWWVVUU IIJJKKLLAA@@??>>''(())**~~YYXWVUTS - HIIJJKKLQPPOONNM @AABBCCDYXXWWVVU 899::;;>==<;YYZZ[[\\@@??>>== - - QQRRSSTTHHGGFFEEIIJJKKLLPPOONNMMAABBCCDDXXWWVVUU 99::;;<<``__^^]]11223344yyzz{{||^^]]\\[[YYZZ[[\\|{{zzyyx,,++**))!""##$$%ijjkkllmxwwvvuut0//..--,abbccdde~~}}|87766554YZZ[[\\]@??>>==< - - QRRSSTTUHGGFFEEDIJJKKLLMPOONNMMLABBCCDDEIHHGGFFEijjkkllmihhggffe22334455zz{{||}}ggffeedd**++,,--rrssttuuoonnmmll''&&%%$$""##$$%%jjkkllmmwwvvuutt//..--,,bbccddee~~}}||77665544ZZ[[\\]]??>>==<< - - RRSSTTUUTTSSRRQQ - - MMNNOOPP==776655++,,--..SRRQQPPOLMMNNOOPMLLKKJJIDEEFFGGHUTTSSRRQ - - <==>>??@]\\[[ZZY45566778|}}~~eddccbba,--..//0tuuvvwwxmllkkjji%$$##""!$%%&&''(lmmnnoopkjjiihhgGHHIIJJK:9877665]]^^__``<<;;::99 UUVVWWXXDDCCBBAAMMNNOOPPLLKKJJIIEEFFGGHHTTSSRRQQ - - ==>>??@@\\[[ZZYY55667788}}~~ZZYYSSRR ]]^^__``xwwvvuut((''&&%%%&&''(()mnnooppqtssrrqqp,++**))( !effgghhi|{{zzyyx43322110]^^__``a<;;::998 UVVWWXXYDCCBBAA@ MNNOOPPQLKKJJIIHEFFGGHHIEDDCCBBAmnnoouuveddccbba66778899~~ccbbaa``..//0011vvwwxxyykkjjiihh##""!! &&''(())nnooppqqssrrqqpp++**))(( !!ffgghhii{{zzyyxx33221100^^__``aa;;::9988VVWWXXYYPPOONNMM - - QQRRSSTT44332211//001122ONNMMLLK - - PQQRRSSTIHHGGFFEHIIJJKKLQPPOONNM @AABBCCDYXXWWVVU 899::;;>== - - QQRRSSTTHHGGFFEEIIJJKKLLPPOONNMMAABBCCDDXXWWVVUU 99::;;<>==< - - QRRSSTTUHGGFFEEDIJJKKLLMA@@??>>=!!""#vwwxxyyza``__^^]::;;<<==__^^]]\\22334455zz{{||}}ggffeedd**++,,--rrssttuuoonnmmll''&&%%$$""##$$%%jjkkllmmwwvvuutt//..--,,bbccddee~~}}||77665544ZZ[[\\]]~~}}||{{zzyyxxww##""!!==>>??@@FEEDDCCB - RSSTTUUVGFFEEDDCJKKLLMMNONNMMLLKBCCDDEEFWVVUUTTS :;;<<==>_^^]]\\[23344556z{{||}}~ZYYSSRRQeffgghhia``__^^]@AABBCCDvvuuoonnAABBCCDDBAA@@??>VWWXXYYZCBBAA@@? -NOOPPQQRKJJIIHHGFGGHHIIJSRRQQPPO - - >??@@AAB[ZZYYXXW6778899:~QPPOONNMijjkkllm]\\[[ZZYDEEFFGGHmmllkkjjEEFFGGHH>==<;:98Z[[\\]]^?>>==<<; - RSSTTUUVGFFEEDDCJKKLLMMNONNMMLLKBCCDDEEFWVVUUTTS :;;<<==>MLLKKJJImnnoouuvYXXWWVVU HIIJJKKLiihhggffIIJJKKLL77665544^__``aab;::99887VWWXXYYZCBBAA@@? -NOOPPQQRKJJIIHHGFGGHHIIJSRRQQPPO - - >??@@AABIHHGGFFE!!""#vwwxxyyzUTTSSRRQ - - LMMNNOOPeeddccbb MMNNOOPP33221100bccddeef~~}}||{76655443Z[[\\]]^?>>==<<; - RSSTTUUVGFFEEDDCJKKLLMMNONNMMLLKBCCDDEEFEDDCCBBA#$$%%&&'z{{||}}~QPPOONNM - - PQQRRSSTaa``__^^ - - QQRRSSYY~~}}||{//..--,, !!"fgghhiij{zzyyxxw3221100/^__``aab;::99887VWWXXYYZCBBAA@@? -NOOPPQQRKJJIIHHGFGGHHIIJA@@??>>='(())**+~MLLKKJJI TUUVVWWX]]\\[[ZZZZ[[\\]]{zzyyxxw++**))(("##$$%%&jkkllmmnwvvuutts/..--,,+bccddeef~~}}||{76655443Z[[\\]]^?>>==<<; - RSSTTUUVGFFEEDDCJKKLLMMN=7766554+,,--../IHHGGFFEXYYZZ[[\YYSSRRQQ - -^^__``aawvvuutsr''&&%%$$&''(())*nooppqqrsrrqqppo+**))((' !!"fgghhiij{zzyyxxw3221100/^__``aab;::99887VWWXXYYZCBBAA@@? -NOOPPQQR43322110/0011223EDDCCBBA\]]^^__`PPOONNMM bbccddeeqpoonnmm##""!! *++,,--.rssttuuvonnmmllk'&&%%$$#"##$$%%&jkkllmmnwvvuutts/..--,,+bccddeef~~}}||{76655443Z[[\\]]^?>>==<<; - RSSTTUUV0//..--,34455667A@@??>>=`aabbccdLLKKJJIIffgghhiillkkjjii.//00112vwwxxyyzkjjiihhg#""!! &''(())*nooppqqrsrrqqppo+**))((' !!"fgghhiij{zzyyxxw3221100/^__``aab;::99887VWWXXYYZ,++**))(7==>>??@=<<;;::9 deeffgghHHGGFFEEjjkkllmmhhggffee23344556z{{||}}~gffeeddc*++,,--.rssttuuvonnmmllk'&&%%$$#"##$$%%&jkkllmmnwvvuutts/..--,,+bccddeef~~}}||{76655443Z[[\\]]^~~}}||{(''&&%%$@AABBCCD~~}98877665 !!""##$hiijjkklDDCCBBAAnnoouuvvddccbbaa6778899:~cbbaa``_.//00112vwwxxyyzkjjiihhg#""!! &''(())*nooppqqrsrrqqppo+**))((' !!"fgghhiij{zzyyxxw3221100/^__``aab{zzyyxxw$##""!!DEEFFGGH}||{{zzy54433221$%%&&''(lmmnnoop@@??>>==!!""##wwxxyyzz``__^^]] :;;<<==>_^^]]\\[23344556z{{||}}~gffeeddc*++,,--.rssttuuvonnmmllk'&&%%$$#"##$$%%&jkkllmmnwvvuutts/..--,,+bccddeefwvvuuoonHIIJJKKLyxxwwvvu100//..-())**++,pqqrrsst77665544$$%%&&''{{||}}~~\\[[ZZYY - - >??@@AAB[ZZYYXXW6778899:~cbbaa``_.//00112vwwxxyyzkjjiihhg#""!! &''(())*nooppqqrsrrqqppo+**))((' !!"fgghhiijnmmllkkjLMMNNOOPuttssrrq-,,++**),--..//0tuuvvwwx33221100(())**++XWVUTSSR BCCDDEEFWVVUUTTS :;;<<==>_^^]]\\[23344556z{{||}}~gffeeddc*++,,--.rssttuuvonnmmllk'&&%%$$#"##$$%%&jkkllmmnjiihhggfPQQRRSSYqppoonnm)((''&&%01122334xyyzz{{|//..--,,,,--..//RQQPPOONFGGHHIIJSRRQQPPO - - >??@@AAB[ZZYYXXW6778899:~cbbaa``_.//00112vwwxxyyzkjjiihhg#""!! &''(())*nooppqqrfeeddccb YZZ[[\\]mllkkjji%$$##""!45566778|}}~~++**))((00112233NMMLLKKJJKKLLMMNONNMMLLKBCCDDEEFWVVUUTTS :;;<<==>_^^]]\\[23344556z{{||}}~gffeeddc*++,,--.rssttuuvbaa``__^ - - -]^^__``aihhggffe! 899::;;<''&&%%$$44556677JIIHHGGF -NOOPPQQRKJJIIHHGFGGHHIIJSRRQQPPO - - >??@@AAB[ZZYYXXW6778899:~cbbaa``_.//00112vwwxxyyz^]]\\[[Z - abbccddeeddccbba<==>>??@fpvfpvXQJ`ےXQJ`ےltbbdQZ|pfH~~vJXQrbtlbtlf~Hf~HےHAbHAJltAJltJltf`vXf`vXQr˂pQr˂pbtlbtlf~Hf~HbHAbHAAJltAJltf`vXf`vXJXQrr˂p`|Zdf~HnXv`bHAZbHAZJltJlt`vXn`vXnr˂pr˂ptlJtlJf~Hf~HےHAZbHAZJltJltltb`vXn`vXnr˂pr˂ptlJtlJHfpvJ`ےbHAZtbdQZrAJlvXnvXnr˂pr˂plJtlJtf~Hf~HbHAZpbHAZpJltJltvXnvXnr˂pr˂plJtlJtf~Hf~HHAZpbHAZpJltddrtAnvpvpfHZHAbXQr˂lJtAlJtA~Hf~HfbHAZpbHAZpltbltbvXnvXn˂pZ˂pZlJtAlJtA~Hf~HfbHAZpbHAZpltbltbvXnvXnnXv`nXv`bHAZbHAZdQZ|drtAvppfے`˂pZHJtArdJtArdfpvfpvZp˂Zp˂bdQZ|bdQZ|bnvpnvpnvpZHAbZHAJtArdJtArdfpvfpvZp˂Zp˂bdQZ|bdQZ|nvpnvp˂pZHJXQrQtArdfpvf~Hp˂rp˂rbdQZ|bdQZ|vpfvpfZHAbZHAbtArdtArdfpvfpvp˂rp˂rbdQZ|bdQZ|nvpvpfvpfZHAbZHAےtArdtArdnXvbHAZpp˂r|drtbdQvpfHvpfHZHAbZHAbArd|Ard|fpvfpv˂rX˂rXbdQZ|bdQZ|vpfHvpfHZHAbZHAbArd|Ard|fpvfpv˂rX˂rXrtAJlJltfH~~f`JQrpZA`rd|rd|pvnpvn˂rXQ˂rXQdQZ|dQZ|vpfHvpfHHAbےHAbےrd|rd|pvnpvn˂rXQ˂rXQdQZ|dQZ|vpfHvpfHf~Hf~Hp˂rp˂rdrtAJJltfH~JXQrAbے`|ZdQ|ZdQnXv`nXv`rXQJ`rXQJ`ہdrtdrtfHfH~fے`JXے`JX`JXQ|ZdQ|ZdQnXv`nXv`rXQJ`rXQJ`ہdrtdrtfH~fH~Abbtl||ZdQnXv`fpvXQJ`ےXQJ`ےdrtAdrtAH~fH~fے`JXQے`JXQ|ZdQb|ZdQbnXv`nXv`XQJ`ےXQJ`ےdrtAdrtAfHfH~fے`JXQے`JXQ`JXQr|ZdQb|ZdQb`f~˂rXQXQJ`ptAJlZ|d~f`~f``JXQ`JXQZdQbtZdQbtnXv`nXv`QJ`ےQJ`ےdrtAdrtA~f`~f``JXQ`JXQZdQbtZdQbtnXv`nXv`QJ`ےQJ`ےtbdbdQZ|f`vXvXn˂pZHAJXQrbZdQbtZdQbtXv`fXv`fJ`ےJ`ےdrtAJdrtAJ~f`~f``JXQr`JXQrZdQbtZdQbtXv`fXv`fJ`ےJ`ےdrtAJdrtAJ~f`~f`fpvfpvXQJ`ےXQJ`ےltbbdQZ|f`vXZHAbہJXQrbtlbtlf~Hf~HbHAbHAAJltAJltf`vXf`vXQr˂pQr˂prbtlbtlbtlf~HfHbHAbHAAJltAJltf`vXf`vXpZHAZdQbtbtlf~fpۅnXv`bHAZbHAZJltJlt`vXn`vXnr˂pr˂ptlJtlJf~Hf~HbHAZbHAZJltJlt`vXn`vXnr˂pr˂pbtltlJtlJHfpvJ`p˂˂rXQtbdQZrtAJlvXnvXnr˂pr˂plJtlJtf~Hf~HbHAZpbHAZpJltJltvXnvXnr˂pr˂plJtlJtf~Hf~HbHAZpbHAZpQZ|ddrtAnvpvpfHbے`tlJlJtAlJf~HfHfpbHAZpbHAZpltbltbvXnvXn˂pZ˂pZlJtAlJtA~Hf~HfbHAZpbHAZpltbltbvXnvXnnXv`nXv`bHAZbHAZdQZ|lltbnvp`JXQZHAbJtArdJtArdfpvfpvZp˂Zp˂bdQZ|bdQZ|nvpnvpZHAbZHAbJtAdJtArdJfpvfpvfpvZp˂Zp˂bdQZ|bdQZ|nvpnvpbے`lJtJtArdvnXf~fpp˂rp˂rbdQZ|bdQZ|vpfvpfZHAbZHAbtArdtArdfpvfpvp˂rp˂rbdQZ|bdQZ|vpfvpfZHAbZHAbJtAdtArdfpv~HrXQJJ`ے|drtbdQvpfHvpfHZHAbZHAbArd|Ard|fpvfpv˂rX˂rXbdQZ|bdQZ|vpfHvpfHZHAbZHAbArd|Ard|fpvfpv˂rX˂rXrtAJlJltfH~~vpJXQrtAd|rd|pvnpvnvnr˂rXQ˂rXQdQZ|dQZ|vpfHvpfHHAbےHAbےrd|rd|pvnpvn˂rXQ˂rXQdQZ|dQZ|vpfHvpfHf~Hf~Hp˂rp˂rtbdQdQZ|fH~r˂pے`JXQ|ZdQ|ZdQnXv`nXv`rXQJ`rXQJ`ہdrtdrtfH~fH~˙ے`JXے`JX|ZdQ|ZdQnXv`nXv`nrXQJ`rXQJ`rXQJ`ہdrtdtAfH~fH~JXQrArd||ZdQv`fvnXXQJ`ےXQJ`ےdrtAdrtAH~fH~fے`JXQے`JXQ|ZdQb|ZdQbnXv`nXv`XQJ`ےXQJ`ےdrtAdrtAH~fH~fے`JXQے`JXQ|ZdQb|ZdQb~Hffpv`ےbbHAZptAJbdZ|AJl~f`~f``JXQ`JXQZdQbtZdQbtnXv`nXv`QJ`ےQJ`ےdrtAdrtA~f`~f``JXQ`JXQZdQbtZdQbtnXv`nXv`QJ`ےQJ`ےtbdbdQZ|lvpfے`˂pZHAZdQbtZdQbtXv`fXv`fXQJ`ےJ`ےJ`ےJdrtAJdtAJl~f`~f``JXQr`JXQrZdQbtZdQbtXv`fXv`fJ`ےJ`ےdrtAJdrtAJ~f`~f`fpvfpvXQJ`ےXQJ`ےZ|ddrtAJf`vXZHAbr˂pbtlbtlf~Hf~HbHAbHAAJltAJltf`vXf`vXQr˂pQr˂pbtlbtlf~Hf~HےHAbHAJltAJltJltf`vXf`vXpZHAZdQbtbtl|~Hfpv`fbHAZbHAZJltJlt`vXn`vXnr˂pr˂ptlJtlJf~Hf~HbHAZbHAZJltJlt`vXn`vXnr˂pr˂ptlJtlJpvnnXv`HAZp˂˂rXQQZ|dtbvXnvXnr˂pr˂plJtlJtf~Hf~HbHAZpbHAZpJltJltvXnvXnr˂pr˂plJtlJtf~Hf~HbHAZpbHAZpQZ|ltbdfH~JXQrZbے`lJtAlJtA~Hf~HfHAZpbHAZpltbltbtbnvXnvXn˂pZ˂pZlJtAlJtA~Hf~HfbHAZpbHAZpltbltbvXnvXnnXv`nXv`bHAZbHAZrtAJlltbH~f`JXQZHAbJtArdJtArdfpvfpvZp˂Zp˂bdQZ|bdQZ|nvpnvpZHAbZHAbJtArdJtArdfpvfpvZp˂Zp˂bdQZ|bdQZ|bnvpnvpnvpbے`l|ZdQbtvnX~Hfpp˂rp˂rbdQZ|bdQZ|vpfvpfZHAbZHAbtArdtArdfpvfpvp˂rp˂rbdQZ|bdQZ|vpfvpfZHAbZHAbtArdtArdXv`ff~HrXQJJ`ےrtAJlnvpvpfHvpfZHAbZHAے`Ard|Ard|fpvfpv˂rX˂rXbdQZ|bdQZ|vpfHvpfHZHAbZHAbArd|Ard|fpvfpv˂rX˂rXtbdQQZ|df`vXHAbےJXQrrd|rd|pvnpvn˂rXQ˂rXQdQZ|dQZ|vpfvpfHvpfےHAbےHAے`rd|rd|pvnpvn˂rXQ˂rXQdQZ|dQZ|vpfHvpfHf~Hf~Hp˂rp˂rtbdQdQZ|``vXnr˂pZے`JXQ|ZdQ|ZdQnXv`nXv`rXQJ`rXQJ`ہdrtdrtfH~fH~˙ے`JXے`JX|ZdQ|ZdQnXv`nXv`rXQJ`rXQJ`ہdrtdrtfHfH~fے`JXJXQHAbZdQbtlJtv`fvnXXQJ`ےXQJ`ےdrtAdrtAH~fH~fے`JXQے`JXQ|ZdQb|ZdQbnXv`nXv`XQJ`ےXQJ`ےdrtAdrtAH~fH~fے`JXQے`JXQ|ZdQb|ZdQb~Hffpv`ےbbHAXQJtbdfHf`~f``JXQ`JXQJXQrZdQbtZdQbtnXv`nXv`QJ`ےQJ`ےdrtAdrtA~f`~f``JXQ`JXQZdQbtZdQbtnXv`nXv`QJ`ےQJ`ےZ|drtAJlnvp`JXQrZHAbZdQbtZdQbtXv`fXv`fJ`ےJ`ےdrtAJdrtAJHf`~f``JXQr`JXQrJXQrbZdQbtZdQbtXv`fXv`fJ`ےJ`ےdrtAJdrtAJ~f`~f`fpvfpvXQJ`ےXQJ`ےZ|dvXnvpfAb`Jr˂pbtlbtlf~Hf~HbHAbHAAJltAJltf`vXf`vXQr˂pQr˂pbtlbtlf~Hf~HbHAbHAAJltAJltf`vXf`vXQHAbۙے`JXlJtAArd|~Hfvnv`ffbHAZbHAZJltJlt`vXn`vXnr˂pr˂ptlJtlJf~Hf~HbHAZbHAZJltJlt`vXn`vXnr˂pr˂ptlJtlJpvnnXv`HAXQJ``ےJlQZ|dvXnvXnr˂pr˂pbtllJtlJf~HfHfpbHAZpbHAZpJltJltvXnvXnr˂pr˂plJtlJtf~Hf~HbHAZpbHAZprtAJltbdfH~ˀ˂pZ`JXQlJtAlJtA~Hf~HfbHAZpbHAZpltbltbvXnvXn˂pZ˂pZtlJlJtAlJf~HfHfpbHAZpbHAZpltbltbvXnvXnnXv`nXv`bHAZbHAZrtAdQZvpfHH~fXQr˂ZAb`JtArdJtArdfpvfpvZp˂Zp˂bdQZ|bdQZ|nvpnvpZHAbZHAbJtArdJtArdfpvfpvZp˂Zp˂bdQZ|bdQZ|nvpnvp`JXQQr˂prd|ZdQbtXv`fpvnp˂rp˂rbdQZ|bdQZ|vpfvpfZHAbZHAbtArdtArdfpvfpvp˂rp˂rbdQZ|bdQZ|vpfvpfZHAbZHAbtArdtArdXv`ppvnےbHAtbQZrtAJlvpfHvpfHZHAbZHAbJtAd|Ard|fpvfpvvn˂rX˂rXbdQZ|bdQZ|vpfHvpfHZHAbZHAbArd|Ard|fpvfpv˂rX˂rXtbdQQZ|lf`vXHHAbےr˂prd|rd|pvnpvn˂rXQ˂rXQdQZ|dQZ|vpfHvpfHHAbےHAbےtAd|rd|pvnpvnvnr˂rXQ˂rXQdQZ|dQZ|vpfHvpfHf~Hf~Hp˂rp˂r|dr~f``vXnpZHAbJXQr˂|ZdQ|ZdQnXv`nXv`rXQJ`rXQJ`ہdrtdrtfH~fH~˙ے`JXے`JX|ZdQ|ZdQnXv`nXv`rXQJ`rXQJ`ہdrtdrtfH~fH~r˂pZHAbZdQbtlJt~HfrXQJ`XQJ`ےXQJ`ےdrtAdtAJH~fH~fے`JXQے`JXQ|ZdQb|ZdQbnXv`nXv`XQJ`ےXQJ`ےdrtAdrtAH~fH~fے`JXQے`JXQ|ZdQb|ZdQbvnXXv`fZp˂drtAtbQZ~f`~f``JXQ`JXQZdQbtZdQbtnXv`nXv`rXQJ`QJ`ےQJ`ےdrtAdtAJl~f`~f``JXQ`JXQZdQbtZdQbtnXv`nXv`QJ`ےQJ`ےZ|dtbn~f``JXQrZHAbZdQbtZdQbtXv`fXv`fJ`ےJ`ےdrtAJdrtAJ~f`~f``JXQr`JXQrZdQbtZdQbtXv`fXv`fXQJ`ےJ`ےJ`ےJdrtAJdtAJl~f`~f`fpvfpvXQJ`ےXQJ`ےtAJlvXnvp`ے`JpZHAbtlbtlf~Hf~HbHAbHAAJltAJltf`vXf`vXQr˂pQr˂pbtlbtlf~Hf~HbHAbHAAJltAJltf`vXf`vXZHAbۙے`JXlJtAArdtpvnےHAZbHAZJltJltltb`vXn`vXnr˂pr˂ptlJtlJf~Hf~HbHAZbHAZJltJlt`vXn`vXnr˂pr˂ptlJtlJv`f~HfrXQJ`JltdrtAvXnvXnr˂pr˂plJtlJtf~Hf~HHAZpbHAZpJltJlttbvXnvXnr˂pr˂plJtlJtf~Hf~HbHAZpbHAZprtAdQZ|vp`vXn˂pZA`JXQlJtAlJtA~Hf~HfbHAZpbHAZpltbltbvXnvXn˂pZ˂pZlJtAlJtA~Hf~HfHAZpbHAZpltbltbtbnvXnvXnnXv`nXv`bHAZbHAZtbdQZvp`vvXnXQr˂bے`JtArdJtArdfpvfpvZp˂Zp˂bdQZ|bdQZ|nvpnvpZHAbZHAbJtArdJtArdfpvfpvZp˂Zp˂bdQZ|bdQZ|nvpnvp`JXQQr˂prdtllJfpXv`fp˂rp˂rbdQZ|bdQZ|nvpvpfvpfZHAbZHAےtArdtArdfpvfpvp˂rp˂rbdQZ|bdQZ|vpfvpfZHAbZHAbtArdtArd~HfppvnےbHAbdQZ|JltvpfHvpfHZHAbZHAbArd|Ard|fpvfpv˂rX˂rXbdQZ|bdQZ|nvpvpfHvpfZHAbZHAے`Ard|Ard|fpvfpv˂rX˂rXdrtvXnۅvpfHb`JXr˂pZrd|rd|pvnpvn˂rXQ˂rXQdQZ|dQZ|vpfHvpfHHAbےHAbےrd|rd|pvnpvn˂rXQ˂rXQdQZ|dQZ|vpfvpfHvpfےf~Hf~Hp˂rp˂r|drXnvvpfHpZHAbJXQr˂|ZdQ|ZdQnXv`nXv`rXQJ`rXQJ`ہdrtdrtfH~fH~˙ے`JXے`JX|ZdQ|ZdQnXv`nXv`rXQJ`rXQJ`ہdrtdrtfH~fH~r˂p``JXQJtArdvnv~HfXQJ`ےXQJ`ےdrtAdrtAfHfH~fے`JXQے`JXQ`JXQr|ZdQb|ZdQbnXv`nXv`XQJ`ےXQJ`ےdrtAdrtAH~fH~fے`JXQے`JXQ|ZdQb|ZdQbvnXXv`pZp˂drtAbdQZ|~f`~f``JXQ`JXQZdQbtZdQbtnXv`nXv`QJ`ےQJ`ےdrtAdrtAfHf`~f``JXQ`JXQJXQrZdQbtZdQbtnXv`nXv`QJ`ےQJ`ےAJltvpfH~f`Qr˂pAb`JZdQbtZdQbtXv`fXv`fJ`ےJ`ےdrtAJdrtAJ~f`~f``JXQr`JXQrZdQbtZdQbtXv`fXv`fJ`ےJ`ےdrtAJdrtAJHf`~f``JXQHAfpvfpvXQJ`ےXQJ`ےtAJlpfH~~f`JQrpZHAbbtlbtlf~HfHbHAbHAAJltAJltf`vXf`vXQr˂pQr˂pbtlbtlf~Hf~HbHAbHAAJltAJltf`vXf`vXJXQrr˂p|Zdf~HpvnbHAZbHAZJltJlt`vXn`vXnr˂pr˂pbtltlJtlJf~HfHfbHAZbHAZJltJlt`vXn`vXnr˂pr˂ptlJtlJv`fvnrbHAZJltdrtAvXnvXnr˂pr˂plJtlJtf~Hf~HbHAZpbHAZpJltJltvXnvXnr˂pr˂pbtllJtlJf~HfHfpbHAZpbHAZpbdQZ|~f`vXnZHAbXQr˂lJtAlJtA~Hf~HfbHAZpbHAZpltbltbvXnvXn˂pZ˂pZlJtAlJtA~Hf~HfbHAZpbHAZpltbltbvXnvXnbے`nXv`nXv`bHAZJlttdrtAf`vvXn˂pZHJAdJtArdJfpvfpvfpvZp˂Zp˂bdQZ|bdQZ|nvpnvpZHAbZHAbJtArdJtArdfpvfpvZp˂Zp˂bdQZ|bdQZ|nvpnvp˂pZHZHAbQbtlfpvvf~Hp˂rp˂rbdQZ|bdQZ|vpfvpfZHAbZHAbJtAdtArdfpvfpvpvnp˂rp˂rbdQZ|bdQZ|vpfvpfZHAbZHAbtArdtArd~HXvXQJ`pp˂rbdQZ|JltvpfHvpfHZHAbZHAbArd|Ard|fpvfpv˂rX˂rXbdQZ|bdQZ|vpfHvpfHZHAbZHAbJtAd|Ard|fpvfpvvn˂rX˂rXdrtvXnۅvp`ے`JXpZHAbrd|rd|pvnpvn˂rXQ˂rXQdQZ|dQZ|vpfHvpfHHAbےHAbےrd|rd|pvnpvn˂rXQ˂rXQdQZ|dQZ|vpfHvpfHJXQrf~Hp˂rp˂rdrtAJJltXnvvpfHAbے`|ZdQ|ZdQnXv`nXv`nrXQJ`rXQJ`rXQJ`ہdrtdtAfH~fH~˙ے`JXے`JX|ZdQ|ZdQnXv`nXv`rXQJ`rXQJ`ہdrtdrtfH~fH~Abے``JXQJtArdnXv`fpvXQJ`ےXQJ`ےdrtAdrtAH~fH~fے`JXQے`JXQ|ZdQb|ZdQbnXv`nXv`rXQJ`XQJ`ےXQJ`ےdrtAdtAJH~fH~fے`JXQے`JXQ|ZdQb|ZdQb`f~˂rXQXQJ`ےrAJlbdQZ|~f`~f``JXQ`JXQZdQbtZdQbtnXv`nXv`QJ`ےQJ`ےdrtAdrtA~f`~f``JXQ`JXQZdQbtZdQbtnXv`nXv`rXQJ`QJ`ےQJ`ےAJltvp`vXvXnQr˂pے`JZdQbtZdQbtXv`fXv`fJ`ےJ`ےdrtAJdrtAJ~f`~f``JXQr`JXQrZdQbtZdQbtXv`fXv`fJ`ےJ`ےdrtAJdrtAJ~f`~f`˂pZHAbے`JXQr˂p`tlJJfpvv`f󂀉rXQrXQQZ|dQZ|dvpfHvpfHvpfے`Abے`Aے`rd|rd|vnXvnXrXQrXQQZ|dQZ|dvpfHvpfHb˂pۑpJAHrHr󙐂ˁXnvˍXnvˍtbAdZ˂p`JJXQrtArdnvf~HfpJ`ےJ`ےrtAJlrtAJlf`~f`JXQrJXQrJXQrbtZdQbtZdQbtv`fv`fJ`ےJ`ےrtAJlrtAJl~f`~f`ZHAb󙐂ˁ`Z`ZQXbpfH~pfH~|drXQr˂˂pZHA|ZdQb~HfpvnvfbHAZpbHAZpˑtbdtbdvXnvXnۉ˂pZH˂pZHlJtlJtAlJfp~HfpHfpbHAZpbHAZpˑtbdtbdvXnvXnۙے`JXQXb㉀ۑp`Zf۝`vf۝`vQtJlpZHAbbے`tlJvnX~HfrXQrXQQZ|dQZ|dvpfHvpfHAbے`Abے`Ad|rd|vnXvnXvnrXrXQrXQQZ|dQZ|dvpfHvpfHQr˂pۑp`ZQQXb㉀XnvˍXnvˍtbAdZے`JJXQrtArdv`fpvnJ`ےJ`ےrtAJlrtAJl~f`~f`JXQrJXQrZdQbtZdQbtv`fv`fQJ`ےJ`ےJ`ےJlrtAJltAJl~f`~f`ZHAbXb㉀ۑۑpJAHrpfH~p|dr|drXQr˂˂p`J|ZdQtA~HfpXv`fbHAZpbHAZpˑtbdtbdvXnvXnۉ˂pZH˂pZHlJtAlJtA~Hfp~HfpHAZpbHAZpˑtbdtbdtbnvXnvXnۙے`JXpJAHr󙐂ˁ`Zf۝`vQtJlQtJlpZHAbXQrbtrd|vnX~HfrXQrXQQZ|dQZ|dvpfHvpfHAbے`Abے`rd|rd|vnXvnXrXQrXQQZ|dQZ|dvpfHvpfHvpfZHQHAbېˁ`ZQQXb㉀XnvˍtbAdZtbAdZ˂pl|ZZdQbtv`f~pvnJ`ےJ`ےrtAJlrtAJl~f`~f`JXQrJXQrZdQbtZdQbtv`fv`fJ`ےJ`ےrtAJlrtAJlf`~f`Abے``JXQXb㉀ۑۑpJAHpfH~|dr|drZHAbdQbtlJtAfpvXv`fbHAZpbHAZpˑtbdtbdvXnvXnۉ˂pZH˂pZHlJtAlJtA~Hfp~HfpbHAZpbHAZpˑtbdtbdvXnvXnہJXQrr˂ppJAHrf۝`vf۝`vQtJlQtJlے`JXQlJtArrd|nXv`~fpvrXQrXQQZ|dQZ|dvpfHvpfHAbے`Abے`rd|rd|vnXvnXrXQrXQQZ|dQZ|dvpfHvpfH˂pZHZHAbېۑpJXnvˍXnvˍtbAdZtbAdZr˂pd|ZZdQbtf~HnXv`J`ےJ`ےrtAJlrtAJl~f`~f`JXQrJXQrZdQbtZdQbtv`fv`fJ`ےJ`ےrtAJlrtAJl~f`~f`Abے``JXQAHr󙐂pfH~pfH~|dr|drZHAbdQbtl|Zfpvf~HbHAZpbHAZpˑtbdtbdvXnvXnۉ˂pZH˂pZHlJtAlJtA~Hfp~HfpbHAZpbHAZpˑtbdtbdvXnvXnہJXQrr˂p`ˁ`ZQXbf۝`vf۝`vQtJlQtJlے`JXQl|ZdQdQbtnXv`fpvrXQrXQQZ|dQZ|dvpfHvpfHAbے`Abے`rd|rd|vnXvnXrXQrXQQZ|dQZ|dvpfHvpfH˂p`JXQr㉀ۑpJXnvˍXnvˍtbAdZtbAdZHAbےbtllJtArf~HnXv`J`ےJ`ےrtAJlrtAJl~f`~f`JXQrJXQrZdQbtZdQbtv`fv`fJ`ےJ`ےrtAJlrtAJl~f`~f`JXQrˉ˂pZHAHr󙐂pfH~pfH~|dr|dr`JXQrJtArdd|ZfvnXffpbHAZpbHAZpˑtbdtbdvXnvXnۉ˂pZH˂pZHlJtAlJtA~Hfp~HfpbHAZpbHAZpˑtbdtbdvXnvXnۂpZHAAbے`ˁ`ZQXAf۝`vf۝`vQtJlQtJl˂pZ|ZdQdQbtv`fvnrXrXQrXQQZ|dQZ|dvpfHvpfHAbے`Abے`rd|rd|vnXvnXrXQrXQQZ|dQZ|dvpfHvpfHbے`JXQrHr󙐂ˁXnvˍXnvˍtbAdZtbAdZHAbےbtllJtAr~HfpQJ`ےJ`ےJ`ےJlrtAJltAJl~f`~f`JXQrJXQrZdQbtZdQbtv`fv`fJ`ےJ`ےrtAJlrtAJl~f`~f`JXQrˉ˂p`Z`ZQXbpfH~pfH~|dr|dr`JXQrJtArddtlvnXHAZpbHAZpˑtbdtbdtbnvXnvXnۉ˂pZH˂pZHlJtAlJtA~Hfp~HfpbHAZpbHAZpˑtbdtbdvXnvXnۂpZHAQXb㉀ۑpJAf۝`vf۝`vQtJlQtJlt \ No newline at end of file diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv33_2.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv33_2.dat deleted file mode 100644 index cc3686817e..0000000000 --- a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv33_2.dat +++ /dev/null @@ -1,297 +0,0 @@ -}~}~}~}~yzyzyzyzwxwxwxwxststststoopopoponmnmnmnmjijijijihghghghg}~}~}~}~yzyzyzyzwxwxwxwxststststpopopoponmnmnmnmjijijijihghghghg}~}~}~}~yzyzyzyzwxwxwxwxststststpopopoponmnmnmnmjijijijihghghghg}~}~}~}~yzyzyzyzwxwxwxwxststststpopopoponmnmnmnmjijijijihghghghg}~}~}~}~yzyzyzyzwxwxwxwxststststpopopoponmnmnmnmjijijijihghghghg}~}~}~}~yzyzyzyzwxwxwxwxststststpopopoponmnmnmnmjijijijihghghghg}~}~}~}~yzyzyzyzwxwxwxwxststststooooopopnmnmnmnmjijijijihghghghg}~}~}~}~yzyzyzyzwxwxwxwxststststopopopopnmnmnmnmjijijijihghghghg}~}~}~}~yzyzyzyzwxwxwxwxststststopopopopnmnmnmnmjijijijihghghghg}~}~}~}~yzyzyzyzwxwxwxwxststststopopopopnmnmnmnmjijijijifefefefe}~}~}~}~yzyzyzyzwxwxwxwxststststopopopopnmnmnmnmjijijijifefefefe}~}~}~}~yzyzyzyzwxwxwxwxststststopopopopnmnmnmnmjijijijifefefefedcdcdcdc}~}~}~}~yzyzyzyzwxwxwxwxststststopoooooolklklklkjijijijifefefefedcdcdcdc}~}~}~}~yzyzyzyzwxwxwxwxststststpopopopolklklklkjijijijifefefefedcdcdcdc}~}~}~}~yzyzyzyzwxwxwxwxststststpopopopolklklklkjijijijifefefefedcdcdcdc}~}~}~}~yzyzyzyzwxwxwxwxststststpopopopolklklklkjijijijifefefefedcdcdcdc}~}~}~}~yzyzyzyzwvuvuvuvststststpopopopolklklklkjijijijifefefefedcdcdcdc}~}~}~}~yzyzyzyzuvuvuvuvststststpopopopolklklklkjijijijifefefefedcdcdcdc}~}~}~}~yzyzyzyzuvuvuvuvststststpopopooolklklklkjijijijifefefefedcdcdcdc}|{|{|{|yzyzyzyzuvuvuvuvststststooopopoplklklklkjijijijifefefefedcdcdcdc{|{|{|{|yzyzyzyzuvuvuvuvststststopopopoplklklklkjijijijifefefefedcdcdcdc{|{|{|{|yzyzyzyzuvuvuvuvststststopopopoplklklklkjijijijifefefefedcdcdcdc{|{|{|{|yzyzyzyzuvuvuvuvststststopopopoplklklklkjijijijifefefefedcdcdcdc{|{|{|{|yzyzyzyzuvuvuvuvststststopopopoplklklklkjijijijifefefefedcdcdcdc{|{|{|{|yzyzyzyzuvuvuvuvststststopopopoplklklklkjijijijifefefefedcdcdcdc{|{|{|{|yzyzyzyzuvuvuvuvstststsroooooopolklklklkjijijijifefefefedcdcdcdc{|{|{|{|yzyzyzyzuvuvuvuvqrqrqrqrpopopopolklklklkjijijijifefefefedcdcdcdc{|{|{|{|yzyzyzyzuvuvuvuvqrqrqrqrpopopopolklklklkjijijijifefefefedcdcdcdc{|{|{|{|yzyzyzyzuvuvuvuvqrqrqrqrpopopopolklklklkjijijijifefefefedcdcdcdc{|{|{|{|yzyzyzyzuvuvuvuvqrqrqrqrpopopopolklklklkhghghghgfefefefedcdcdcdc{|{|{|{|yzyzyzyzuvuvuvuvqrqrqrqrpopooooolklklklkhghghghgfefefefedcdcdcdc{|{|{|{|yzyzyzyzuvuvuvuvqrqrqrqrpopopopolklklklkhghghghgfefefefedcdcdcdc{|{|{|{|yzyzyzyzuvuvuvuvqrqrqrqrnmnmnmnmlklklklkhghghghgfefefefedcdcdcdc{|{|{|{|yzyzyzyzuvuvuvuvqrqrqrqrnmnmnmnmlklklklkhghghghgfefefefedcdcdcdc{|{|{|{|yzyzyzyzuvuvuvuvqrqrqrqrnmnmnmnmlklklklkhghghghgfefefefedcdcdcdc{|{|{|{|yzyzyzyzuvuvuvuvqrqrqrqrnmnmnmnmlklklklkhghghghgfefefefedcdcdcdc{|{|{|{|yxwxwxwxuvuvuvuvqrqrqrqrnmnmnmnmlklklklkhghghghgfefefefedcdcdcdc{|{|{|{|wxwxwxwxuvuvuvuvqrqrqrqrnmnmnmnmlklklklkhghghghgfefefefebabababa{|{|{|{|wxwxwxwxuvuvuvuvqrqrqrqrnmnmnmnmlklklklkhghghghgfefefefebabababa~}~}~}~{|{|{|{|wxwxwxwxuvuvuvuvqrqrqrqrnmnmnmnmlklklklkhghghghgfefefefebabababa}~}~}~}~{|{|{|{|wxwxwxwxuvuvuvuvqrqrqrqrnmnmnmnmlklklklkhghghghgfefefefebabababa}~}~}~}~{|{|{|{|wxwxwxwxuvuvuvuvqrqrqrqrnmnmnmnmlklklklkhghghghgfefefefebabababa}~}~}~}~{|{|{|{|wxwxwxwxuvuvuvuvqrqrqrqrnmnmnmnmlklklklkhghghghgfefefefebabababa}~}~}~}~{|{|{|{|wxwxwxwxuvuvuvuvqrqrqrqrnmnmnmnmlklklklkhghghghgfefefefebabababa}~}~}~}~{|{|{|{|wxwxwxwxuvuvuvuvqrqrqrqrnmnmnmnmlklklklkhghghghgfefefefebabababa}~}~}~}~{|{|{|{|wxwxwxwxuvuvuvuvqrqrqrqrnmnmnmnmlklklklkhghghghgfefefefebabababa}~}~}~}~{|{|{|{|wxwxwxwxuvuvuvuvqrqrqrqrnmnmnmnmlklklklkhghghghgdcdcdcdcbabababa}~}~}~}~{|{|{|{|wxwxwxwxuvuvuvuvqrqrqrqrnmnmnmnmlklklklkhghghghgdcdcdcdcbabababa}~}~}~}~{|{|{|{|wxwxwxwxuvuvuvuvqrqrqrqrnmnmnmnmlklklklkhghghghgdcdcdcdcbabababa}~}~}~}~{|{|{|{|wxwxwxwxuvuvuvuvqrqrqrqrnmnmnmnmjijijijihghghghgdcdcdcdcbabababa}~}~}~}~{|{|{|{|wxwxwxwxuvuvuvuvqrqrqrqrnmnmnmnmjijijijihghghghgdcdcdcdcbabababa}~}~}~}~{|{|{|{|wxwxwxwxuvuvuvuvqrqrqrqrnmnmnmnmjijijijihghghghgdcdcdcdcbabababa}~}~}~}~{|{|{|{|wxwxwxwxuvuvuvuvqrqrqrqrnmnmnmnmjijijijihghghghgdcdcdcdcbabababa}~}~}~}~{|{|{|{|wxwxwxwxutstststqrqrqrqrnmnmnmnmjijijijihghghghgdcdcdcdcbabababa}~}~}~}~{|{|{|{|wxwxwxwxststststqrqrqrqrnmnmnmnmjijijijihghghghgdcdcdcdcbabababa}~}~}~}~{|{|{|{|wxwxwxwxststststqrqrqpopnmnmnmnmjijijijihghghghgdcdcdcdcbabababa}~}~}~}~{zyzyzyzwxwxwxwxststststopopoooonmnmnmnmjijijijihghghghgdcdcdcdcbabababababababa^]^]^]^]\[\[\[\[XWXWXWXWSTSTSTSTQRQRQRQRMNMNMNMNKLKLKLKLGHGHGHGHEFEFEFEFABABABAB?@?@?@?>;<;<;<;<878787874343434321212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!     babababa^]^]^]^]\[\[\[\[XWXWXWXWSTSTSTSTQRQRQRQRMNMNMNMNKLKLKLKLGHGHGHGHEFEFEFEFABABABAB=>=>=>=>;<;<;<;<878787874343434321212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!     babababa^]^]^]^]\[\[\[\[XWXWXWXWSTSTSTSTQRQRQRQRMNMNMNMNKLKLKLKLGHGHGHGHEFEFEFEFABABABAB=>=>=>=>;<;<;<;<878787874343434321212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!     babababa^]^]^]^]\[\[\[\[XWXWXWXWSTSTSTSSQRQRQRQRMNMNMNMNKLKLKLKLGHGHGHGHEFEFEFEDABABABAB=>=>=>=>;<;<;<;<878777774343434321212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!     babababa^]^]^]^]\[\[\[\[XWXWXWXWSSSSTSTSQRQRQRQRMNMNMNMNKLKLKLKLGHGHGHGHCDCDCDCDABABABAB=>=>=>=>;<;<;<;<787878784343434321212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!     babababa^]^]^]^]\[\[\[\[XWXWXWXWTSTSTSTSQRQRQRQRMNMNMNMNKLKLKLKLGHGHGHGHCDCDCDCDABABABAB=>=>=>=>;<;<;<;<787878784343434321212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!     babababa^]^]^]^]\[\[\[\[XWXWXWXWTSTSTSTSQRQRQRQRMNMNMNMNKLKLKLKJGHGHGHGHCDCDCDCDABABABAB=>=>=>=>;<;<;<;<787878784343434321212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!     babababa^]^]^]^]\[\[\[\[XWXWXWXWTSTSTSTSQRQRQRQRMNMNMNMNIJIJIJIJGHGHGHGHCDCDCDCDABABABAB=>=>=>=>;<;<;<;<787878784343434321212121.-.-.-.-,+,+,+,+('('('('&%&%&%$#"!"!"!"!     babababa^]^]^]^]\[\[\[\[XWXWXWXWTSTSTSTSQRQRQRQRMNMNMNMNIJIJIJIJGHGHGHGHCDCDCDCDABABABAB=>=>=>=>;<;<;<;<787878784343434321212121.-.-.-.-,+,+,+,+('('('('$#$#$#$#"!"!"!"!     babababa^]^]^]^]\[\[\[\[XWXWXWXWTSTSTSTSQRQRQRQPMNMNMNMNIJIJIJIJGHGHGHGHCDCDCDCDABABABAB=>=>=>=>;<;<;<;<787878774343434321212121.-.-.-.-,+,+,+,+('('('('$#$#$#$#"!"!"!"!     babababa^]^]^]^]\[\[\[\[XWXWXWXWTSSSSSSTOPOPOPOPMNMNMNMNIJIJIJIJGHGHGHGHCDCDCDCDABABABAB=>=>=>=>;<;<;:9:777787874343434321212121.-.-.-.-,+,+,+*)('('('('$#$#$#$#"!"!"!"!     babababa^]^]^]^]\[\[\[\[XWXWXWXWSTSTSTSTOPOPOPOPMNMNMNMNIJIJIJIJGHGHGHGHCDCDCDCDABABABAB=>=>=>=>9:9:9:9:878787874343434321212121.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!"!"!"!     babababa^]^]^]^]\[\[\[\[XWXWXWXWSTSTSTSTOPOPOPOPMNMNMNMNIJIJIJIJGHGHGHGHCDCDCDCDABABABAB=>=>=>=>9:9:9:9:878787874343434321212121.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!"!"!"!     babababa^]^]^]^]\[\[\[\[XWXWXWXWSTSTSTSTOPOPOPOPMNMNMNMNIJIJIJIJGHGHGHGHCDCDCDCDABABABAB=>=>=>=>9:9:9:9:87878787434343432121210/.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!"!"!"!     babababa^]^]^]^]ZYZYZYZYXWXWXWXWSTSTSTSTOPOPOPOPMNMNMNMNIJIJIJIJGHGHGHGHCDCDCDCDABABABAB=>=>=>=>9:9:9:9:87878787434343430/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!"!"!"!     - -babababa^]^]^]^]ZYZYZYZYXWXWXWXWSTSTSTSTOPOPOPOPMNMNMNMNIJIJIJIJGHGHGHGHCDCDCDCDABABABAB=>=>=>=>9:9:9:9:87777787434343430/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!"!"!"!     - - - -babababa^]^]^]^]ZYZYZYZYXWXWXWXWSTSTSSSSOPOPOPOPMNMNMNMNIJIJIJIJGHGHGHGHCDCDCDCDABABABAB=>=>=>=>9:9:9:9:87878765434343430/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!"!"!"!     - - - -`_`_`_`_^]^]^]^]ZYZYZYZYXWXWXWXWSSTSTSTSOPOPOPOPMNMNMNMNIJIJIJIJGHGHGHGHCDCDCDCDABABABAB=>=>=>=>9:9:9:9:65656565434343430/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!"!"!"!     - - - -`_`_`_`_^]^]^]^]ZYZYZYZYXWXWXWXWTSTSTSTSOPOPOPOPMNMNMNMNIJIJIJIJGHGHGHGHCDCDCDCDABABABAB=>=>=>=>9:9:9:9:65656565434343430/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!"!"!"!     - - - -`_`_`_`_^]^]^]^]ZYZYZYZYXWXWXWXWTSTSTSTSOPOPOPOPMNMNMNMNIJIJIJIJGHGHGHGHCDCDCDCDABABABAB=>=>=>=>9:9:9:9:65656565434343430/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!"!"!"!     - - - -`_`_`_`_^]^]^]^]ZYZYZYZYXWXWXWXWTSTSTSTSOPOPOPOPMNMNMNMNIJIJIJIJGHGHGHGHCDCDCDCDABABABA@=>=>=>=>9:9:9:9:65656565434343430/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!"!"!"!     - - - -`_`_`_`_^]^]^]^]ZYZYZYZYXWXWXWXWTSTSTSTSOPOPOPOPMNMNMNMNIJIJIJIJGHGHGHGHCDCDCDCD?@?@?@?@=>=>=>=>9:9:9:9:65656565434343430/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!"!"!"!     - - - -`_`_`_`_^]^]^]^]ZYZYZYZYXWXWXWXWTSTSTSTSOPOPOPOPMNMNMNMNIJIJIJIJGHGHGHGHCDCDCDCD?@?@?@?@=>=>=>=>9:9:9:9:65656565434343430/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!"!"!"!     - - - -`_`_`_`_^]^]^]^]ZYZYZYZYXWXWXWVUSSSSSTSTOPOPOPOPMNMNMNMNIJIJIJIJGHGHGHGFCDCDCDCD?@?@?@?@=>=>=>=>9:9:9:9:65656565434343430/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!"!"!"!     - - - -`_`_`_`_^]^]^]^]ZYZYZYZYVUVUVUVUSTSTSTSTOPOPOPOPMNMNMNMNIJIJIJIJEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>9:9:9:9:65656565434343430/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!"!"!      - - - -`_`_`_`_^]^]^]^]ZYZYZYZYVUVUVUVUSTSTSTSTOPOPOPOPMNMNMNMNIJIJIJIJEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>9:9:9:9:65656565434343430/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#         - - - -`_`_`_`_^]^]^]^]ZYZYZYZYVUVUVUVUSTSTSTSTOPOPOPOPMNMNMNMLIJIJIJIJEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>9:9:9:9:65656565434343430/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#         - - - -`_`_`_`_^]^]^]^]ZYZYZYZYVUVUVUVUSTSTSTSTOPOPOPOPKLKLKLKLIJIJIJIJEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>9:9:9:9:65656565434343430/0/0/0/.-.-.-.-*)*)*)*)('('('&%$#$#$#$#         - - - -`_`_`_`_^]^]^]^]ZYZYZYZYVUVUVUVUSTSSSSSTOPOPOPOPKLKLKLKLIJIJIJIJEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>9:9:9:9:65656565434343430/0/0/0/.-.-.-.-*)*)*)*)&%&%&%&%$#$#$#$#         - - - -`_`_`_`_^]^]^]^]ZYZYZYZYVUVUVUVUSTSTSTSROPOPOPOPKLKLKLKLIJIJIJIJEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>9:9:9:9:65656565434343430/0/0/0/.-.-.-.-*)*)*)*)&%&%&%&%$#$#$#$#         - - - -`_`_`_`_^]^]^]^]ZYZYZYZYVUVUVUVUQRQRQRQROPOPOPOPKLKLKLKLIJIJIJIJEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>9:9:9:9:65656565434343430/0/0/0/.-.-.-,+*)*)*)*)&%&%&%&%$#$#$#$#         - - - -`_`_`_`_^]^]^]^]ZYZYZYZYVUVUVUVUQRQRQRQROPOPOPOPKLKLKLKLIJIJIJIJEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>9:9:9:9:65656565434343430/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#         - - - -`_`_`_`_^]^]^]^]ZYZYZYZYVUVUVUVUQRQRQRQROPOPOPOPKLKLKLKLIJIJIJIJEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>9:9:9:9:65656565434343430/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#         - - - -`_`_`_`_^]^]^]^]ZYZYZYZYVUVUVUVUQRQRQRQROPOPOPOPKLKLKLKLIJIJIJIJEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>9:9:9:9:65656565434343210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#         - - - -`_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVUQRQRQRQROPOPOPOPKLKLKLKLIJIJIJIJEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>9:9:9:9:65656565212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#       - - - -`_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVUQRQRQRQROPOPOPOPKLKLKLKLIJIJIJIJEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>9:9:9:9:65656565212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#     - - - -`_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVUQRQRQRQROPOPOPOPKLKLKLKLIJIJIJIJEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>9:9:9:9:65656565212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#     - - - -`_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVUQRQRQRQROPOPOPOPKLKLKLKLIJIJIJIJEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=<9:9:9:9:65656565212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#     - - - -`_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVUQRQRQRQROPOPOPOPKLKLKLKLIJIJIJIJEFEFEFEFCDCDCDCD?@?@?@?@;<;<;<;<9:9:9:9:65656565212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#     - - - -`_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVUQRQRQRQROPOPOPOPKLKLKLKLIJIJIJIJEFEFEFEFCDCDCDCD?@?@?@?@;<;<;<;<9:9:9:9:65656565212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#     - - - -`_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVUQRQRQRQROPOPOPOPKLKLKLKLIJIJIJIJEFEFEFEFCDCDCDCB?@?@?@?@;<;<;<;<9:98787865656565212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#     - - - -`_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVUQRQRQRQROPOPOPOPKLKLKLKLIJIJIJIJEFEFEFEFABABABAB?@?@?@?@;<;<;<;<7877777765656565212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#     - - - -`_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVUQRQRQRQROPOPOPOPKLKLKLKLIJIJIJIJEFEFEFEFABABABAB?@?@?@?@;<;<;<;<8787878765656565212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#     - - - -`_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVUQRQRQRQROPOPOPOPKLKLKLKLIJIJIJIHEFEFEFEFABABABAB?@?@?@?@;<;<;<;<8787878765656565212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#     - - - -`_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVUQRQRQRQROPOPOPOPKLKLKLKLGHGHGHGHEFEFEFEFABABABAB?@?@?@?@;<;<;<;<8787878765656565212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#"!     - - - -`_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVUQRQRQRQROPOPOPOPKLKLKLKLGHGHGHGHEFEFEFEFABABABAB?@?@?@?@;<;<;<;<8787878765656565212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%"!"!"!"!     - - - -`_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVUQRQRQRQROPOPOPONKLKLKLKLGHGHGHGHEFEFEFEFABABABAB?@?@?@?@;<;<;<;<8787878765656565212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%"!"!"!"!     - - - -`_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVUQRQRQRQRMNMNMNMNKLKLKLKLGHGHGHGHEFEFEFEFABABABAB?@?@?@?@;<;<;<;<8787877765656565212121210/0/0/0/,+,+,+,+*)*)*)('&%&%&%&%"!"!"!"!     - - - -`_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVUQRQRQRQRMNMNMNMNKLKLKLKLGHGHGHGHEFEFEFEFABABABAB?@?@?@?@;<;<;<;<7778787865656565212121210/0/0/0/,+,+,+,+('('('('&%&%&%&%"!"!"!"!     - - - -`_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVUQRQRQRQRMNMNMNMNKLKLKLKLGHGHGHGHEFEFEFEFABABABAB?@?@?@?@;<;<;<;<7878787865656565212121210/0/0/0/,+,+,+,+('('('('&%&%&%&%"!"!"!"!     - - - -`_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVUQRQRQRQRMNMNMNMNKLKLKLKLGHGHGHGHEFEFEFEFABABABAB?@?@?@?@;<;<;<;<7878787865656565212121210/0/0/.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!     - - - -`_`_`_`_\[\[\[\[XWXWXWXWVUVUVUVUQRQRQRQRMNMNMNMNKLKLKLKLGHGHGHGHEFEFEFEFABABABAB?@?@?@?@;<;<;<;<787878786565656521212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!     - - `_`_`_`_\[\[\[\[XWXWXWXWVUVUVUVUQRQRQRQRMNMNMNMNKLKLKLKLGHGHGHGHEFEFEFEFABABABAB?@?@?@?@;<;<;<;<787878786565656521212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!     `_`_`_`_\[\[\[\[XWXWXWXWVUVUTSTSQRQRQRQRMNMNMNMNKLKLKLKLGHGHGHGHEFEFEFEFABABABAB?@?@?@?@;<;<;<;<787878786565654321212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!     ^]^]^]^]\[\[\[\[XWXWXWXWTSTSSSSSQRQRQRQRMNMNMNMNKLKLKLKLGHGHGHGHEFEFEFEFABABABAB?@?@?@?@;<;<;<;<777777874343434321212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!    ^]^]^]^]\[\[\[\[XWXWXWXWSTSTSTSTQRQRQRQRMNMNMNMNKLKLKLKLGHGHGHGHEFEFEFEFABABABAB?@?@?@?@;<;<;<;<878787874343434321212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!     ^]^]^]^]\[\[\[\[XWXWXWXWSTSTSTSTQRQRQRQRMNMNMNMNKLKLKLKLGHGHGHGHEFEFEFEFABABABAB?@?@?@?@;<;<;<;<878787874343434321212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!     aabbccddPPQQRRSS01122334YXXWWVVUHIIJJKKLA@@??>>=~~}}|eeffgghh!!""##$$$$##""!!eeffgghhYYZZ[[\\45566778 UTTSSRRQLMMNNOOP - - =<<;;::9|{{zzyyxiijjkkll%%&&''(( iijjkkll]]^^__``899::;;< - - QPPOONNMPQQRRSST 98877665xwwvvuuommnnoopp))**++,,mmnnooppaabbccdd<==>>??@ MLLKKJJITUUVVWWX54433221onnmmllk~~}}qqrrsstt--..//00qqrrsstteeffgghh@AABBCCDIHHGGFFEXYYZZ[[\100//..-kjjiihhg||{{zzyyuuvvwwxx11223344~~}}uuvvwwxxiijjkkllDEEFFGGHEDDCCBBA\]]^^__`-,,++**)gffeeddcxxwwvvuuyyzz{{||55667788 ||{{zzyyyyzz{{||mmnnoouuHIIJJKKLA@@??>>=`aabbccd )((''&&%cbbaa``_tsrqpoon}}~~99::;;<< - - xxwwvvuu}}~~vvwwxxyyLMMNNOOP - - =<<;;::9~~}deeffggh !!""##$%$$##""!_^^]]\\[nmmllkkj==>>??@@ttssrrqqzz{{||}}PQQRRSST 98877665}||{{zzyhiijjkkl$%%&&''(! [ZZYYSSRjiihhggfAABBCCDDppoonnmm~~TUUVVWWX54433221yxxwwvvulmmnnoop())**++,RQQPPOONfeeddccbEEFFGGHHllkkjjiiXYYZZ[[\100//..-uttssrrqpqqrrsst,--..//0NMMLLKKJbaa``__^IIJJKKLLhhggffee\]]^^__`-,,++**)qppoonnmtuuvvwwx01122334JIIHHGGF^]]\\[[ZMMNNOOPP - - hhggffeeddccbbaa`aabbccd )((''&&%mllkkjjixyyzz{{|45566778 FEEDDCCBZYYXWVUTQQRRSSTT ddccbbaa``__^^]]deeffggh !!""##$%$$##""!ihhggffe|}}~~899::;;< - - BAA@@??>SSRRQQPPUUVVWWXX``__^^]]\\[[ZZYYhiijjkkl$%%&&''(! eddccbba<==>>??@ >==77665OONNMMLLYYZZ[[\\\\[[ZZYYXXWWVVUUlmmnnoop())**++,a``__^^]@AABBCCD54433221KKJJIIHH]]^^__``XXWWVVUUTTSSRRQQpqqrrsst,--..//0]\\[[ZZYDEEFFGGH100//..-GGFFEEDDaabbccdd TTSSRRQQPPOONNMM~~}}||tuuvvwwx01122334YXXWWVVUHIIJJKKL-,,++**)CCBBAA@@~~}}eeffgghh!!""##$$PPOONNMMLLKKJJII{{zzyyxx~~}}|xyyzz{{|45566778 UTTSSRRQLMMNNOOP - - )((''&&%??>>==<;||{{zzyyiijjkkll%%&&''((LLKKJJIIHHGGFFEEwwvvuuoo|{{zzyyx|}}~~899::;;< - - QPPOONNMPQQRRSST %$$##""!:9877665xxwwvvuummnnoopp))**++,,HHGGFFEEDDCCBBAAnnmmllkkxwwvvuut<==>>??@ MLLKKJJITUUVVWWX!54433221ttssrrqqqqrrsstt--..//00DDCCBBAA@@??>>==jjiihhggsrqpoonn@AABBCCDIHHGGFFEXYYZZ[[\100//..-ppoonnmmuuvvwwxx11223344@@??>>==<<;;::99ffeeddccmmllkkjjDEEFFGGHEDDCCBBA\]]^^__`-,,++**)llkkjjiiyyzz{{||55667788<<;;::9988776655bbaa``__iihhggffHIIJJKKLA@@??>>=`aabbccd  )((''&&%hhggffee}}~~99::;;<<8877665544332211^^]]\\[[eeddccbbLMMNNOOP - - =<<;;::9~~}deeffggh !!""##$ - - %$$##""!ddccbbaa==>>??@@4433221100//..--ZZYYSSRRaa``__^^PQQRRSST 98877665}||{{zzyhiijjkkl$%%&&''(! ``__^^]]AABBCCDD00//..--,,++**))QQPPOONN]]\\[[ZZTUUVVWWX54433221yxxwwvvulmmnnoop())**++, \\[[ZZYYEEFFGGHH,,++**))((''&&%%MMLLKKJJYYXWVUTSXYYZZ[[\100//..-uttssrrqpqqrrsst,--..//0 - - XXWWVVUUIIJJKKLL((''&&%%$$##""!!IIHHGGFFSRRQQPPO\]]^^__`-,,++**)qppoonnmtuuvvwwx01122334 TTSSRRQQMMNNOOPP$$##""!! EEDDCCBBONNMMLLK`aabbccd )((''&&%mllkkjjixyyzz{{|45566778 PPOONNMMQQRRSSTT AA@@??>>KJJIIHHG~~}deeffggh !!""##$%$$##""!ihhggffe|}}~~899::;;< - - LLKKJJIIUUVVWWXX==776655GFFEEDDC}||{{zzyhiijjkkl$%%&&''(! eddccbba<==>>??@!!"HHGGFFEEYYZZ[[\\44332211CBBAA@@?yxxwwvvulmmnnoop())**++,a``__^^]@AABBCCD"##$$%%&DDCCBBAA]]^^__`` 00//..--?>>==<;:uttssrrqpqqrrsst,--..//0]\\[[ZZYDEEFFGGH&''(())*@@??>>==aabbccdd - - ,,++**))98776655qppoonnmtuuvvwwx01122334YXXWWVVUHIIJJKKL*++,,--. - - <<;;::99~~}}eeffgghh - - - - ((''&&%%44332211mllkkjjixyyzz{{|45566778 UTTSSRRQLMMNNOOP.//00112 88776655||{{zzyyiijjkkll $$##""!!00//..--ihhggffe|}}~~899::;;< - - QPPOONNMPQQRRSST2334455644332211xxwwvvuummnnoopp,,++**))eddccbba<==>>??@ MLLKKJJITUUVVWWX677==>>?00//..--ttssrrqqqqrrsstt((''&&%%a``__^^]@AABBCCDIHHGGFFEXYYZZ[[\?@@AABBC,,++**))ppoonnmmuuvvwwxx$$##""!!]\\[[ZZYDEEFFGGHEDDCCBBA\]]^^__`CDDEEFFG ((''&&%%llkkjjiiyyzz{{|| - -   YXXWWVVUHIIJJKKLA@@??>>=`aabbccdGHHIIJJK!!""##$$$$##""!!hhggffee}}~~ !!""##$$ - - UTTSSRRQLMMNNOOP - - =<<;;::9~~}deeffgghKLLMMNNO%%&&''(( ddccbbaa%%&&''(( - - QPPOONNMPQQRRSST 98877665}||{{zzyhiijjkklOPPQQRRS))**++,,``__^^]]))**++,,MLLKKJJITUUVVWWX54433221yxxwwvvulmmnnoopSYYZZ[[\--..//00\\[[ZZYY--..//00 -IHHGGFFEXYYZZ[[\100//..-uttssrrqpqqrrsst\]]^^__`11223344XXWWVVUU 11223344 - EDDCCBBA\]]^^__`-,,++**)qppoonnmtuuvvwwx`aabbccd55667788 TTSSRRQQ!!""##$$55667788!!""A@@??>>=`aabbccd )((''&&%mllkkjjixyyzz{{|deeffggh99::;;<< - - PPOONNMM%%&&''((99::;;<<##$$%%&& - - =<<;;::9~~}deeffggh !!""##$%$$##""!ihhggffe|}}~~hiijjkkl==>>??@@LLKKJJII))**++,,==>>??@@''(())** 98877665}||{{zzyhiijjkkl$%%&&''(! eddccbbalmmnnoouAABBCCDDHHGGFFEE--..//00AABBCCDD++,,--..54433221yxxwwvvulmmnnoop())**++,a``__^^]uvvwwxxyEEFFGGHHDDCCBBAA11223344EEFFGGHH//001122100//..-uttssrrqpqqrrsst,--..//0]\\[[ZZYyzz{{||}IIJJKKLL@@??>>==55667788IIJJKKLL33445566-,,++**)qppoonnmtuuvvwwx01122334YXXWWVVU}~~MMNNOOPP - - <<;;::99~~}}99::;;<>?? )((''&&%mllkkjjixyyzz{{|45566778 UTTSSRRQQQRRSSTT 88776655||{{zzyy==>>??@@QQRRSSTT@@AABBCC !!""##$%$$##""!ihhggffe|}}~~899::;;< - - QPPOONNMUUVVWWXX44332211xxwwvvuuAABBCCDDUUVVWWXXDDEEFFGG$%%&&''(! eddccbba<==>>??@ MLLKKJJIYYZZ[[\\00//..--ttssrrqqEEFFGGHHYYZZ[[\\HHIIJJKK())**++,a``__^^]@AABBCCDIHHGGFFE]]^^__``,,++**))ppoonnmmIIJJKKLL]]^^__``LLMMNNOO,--..//0]\\[[ZZYDEEFFGGHEDDCCBBAaabbccdd ((''&&%%llkkjjiiMMNNOOPPQQRRSSTT 88776655wwvvuuoomnnooppq)**++,,-`__^^]]\ABBCCDDE43322110JJIIHHGG^^__``aa++**))((oonnmmllvvwwxxyy22334455 SRRQQPPONOOPPQQR - ;::99887wvvuuoonmllkkjjiUUVVWWXX44332211nnmmllkk~~}}|qrrssttu-..//001\[[ZZYYXEFFGGHHI0//..--,FFEEDDCCbbccddee !!''&&%%$$kkjjiihhzz{{||}}66778899 - - ONNMMLLKRSSTTUUV76655443nmmllkkjihhggffeYYZZ[[\\00//..--jjiihhgg|{{zzyyxuvvwwxxy12233445XWWVVUUTIJJKKLLM ,++**))(BBAA@@??~~}}||ffgghhii""##$$%%##""!! ggffeedd~~::;;<<== KJJIIHHGVWWXXYYZ3221100/jiihhggfeddccbba]]^^__``,,++**))ffeeddccxwwvvuutyzz{{||}56677889 TSSRRQQPMNNOOPPQ - - (''&&%%$>>==<;:9{{zzyyxxjjkkllmm&&''(())ccbbaa``>>??@@AA!!""##GFFEEDDCZ[[\\]]^/..--,,+feeddccba``__^^]aabbccdd ((''&&%%bbaa``__srqpoonn}~~9::;;<<= - - POONNMMLQRRSSTTU $##""!!87766554wwvvuuttnnooppqq**++,,--__^^]]\\BBCCDDEE$$%%&&''CBBAA@@?^__``aab+**))(('baa``__^]\\[[ZZYeeffgghh!!""##$$$$##""!!^^]]\\[[mmllkkjj=>>??@@ALKKJJIIHUVVWWXXY43322110ssrrqqpprrssttuu..//0011[[ZZYYXXFFGGHHII(())**++ -?>>==<<;bccddeef !!"'&&%%$$#^]]\\[[ZYXXWWVVUiijjkkll%%&&''(( ZZYYSSRRiihhggffABBCCDDEHGGFFEEDYZZ[[\\]0//..--,oonnmmllvvwwxxyy22334455WWVVUUTTJJKKLLMM,,--..// - ;::99887~~}}||{fgghhiij"##$$%%&#""!! ZYYSSRRQUTTSSRRQmmnnoopp))**++,,QQPPOONNeeddccbbEFFGGHHIDCCBBAA@]^^__``a,++**))(kkjjiihhzz{{||}}66778899 SSRRQQPPNNOOPPQQ0011223376655443{zzyyxxwjkkllmmn&''(())*QPPOONNMQPPOONNMqqrrsstt--..//00MMLLKKJJaa``__^^IJJKKLLM @??>>==>??@@AAKKJJIIHHVVWWXXYY==>>??@@/..--,,+srrqqpporssttuuv.//00112IHHGGFFEIHHGGFFEyyzz{{||55667788 EEDDCCBBYYXWVUTSQRRSSTTU 87766554|{{zzyyxijjkkllm%&&''(()__^^]]\\BBCCDDEEGGFFEEDDZZ[[\\]]AABBCCDD+**))(('onnmmllkvwwxxyyz23344556EDDCCBBAEDDCCBBA}}~~99::;;<< - - AA@@??>>SRRQQPPOUVVWWXXY43322110xwwvvuutmnnooppq)**++,,- -[[ZZYYXXFFGGHHIICCBBAA@@^^__``aaEEFFGGHH !!"'&&%%$$#kjjiihhgz{{||}}~6778899: A@@??>>=A@@??>>===>>??@@==776655ONNMMLLKYZZ[[\\]0//..--,tssrrqqpqrrssttu-..//001 - WWVVUUTTJJKKLLMM ??>>==< - - =7766554=<<;;::9AABBCCDD44332211KJJIIHHG]^^__``a,++**))(poonnmmluvvwwxxy12233445SSRRQQPPNNOOPPQQ - - ;;::9988~~}}||ffgghhiiMMNNOOPP&''(())*cbbaa``_>??@@AAB4332211098877665EEFFGGHH00//..--GFFEEDDCabbccdde !(''&&%%$lkkjjiihyzz{{||}56677889 - -OONNMMLLRRSSTTUU77665544{{zzyyxxjjkkllmmQQRRSSYY*++,,--._^^]]\\[BCCDDEEF0//..--,54433221IIJJKKLL,,++**))CBBAA@@?~~}}|effgghhi!""##$$%$##""!! hggffeed}~~9::;;<<= KKJJIIHHVVWWXXYY33221100wwvvuuttnnooppqqZZ[[\\]].//00112[ZZYYXXWFGGHHIIJ,++**))(100//..-MMNNOOPP - - ((''&&%%?>>==<;:|{{zzyyxijjkkllm%&&''(() dccbbaa`=>>??@@A!!""#GGFFEEDDZZ[[\\]]//..--,,ssrrqqpprrssttuu^^__``aa23344556WVVUUTTSJKKLLMMN -(''&&%%$-,,++**)QQRRSSTT $$##""!!98776655xwwvvuutmnnooppq)**++,,-`__^^]]\ABBCCDDE#$$%%&&'CCBBAA@@^^__``aa++**))((oonnmmllvvwwxxyybbccddee6778899: SRRQQPPONOOPPQQR - $##""!!)((''&&%UUVVWWXX44332211tssrrqqpqrrssttu-..//001\[[ZZYYXEFFGGHHI'(())**+ ??>>==< - - ONNMMLLKRSSTTUUV%$$##""!YYZZ[[\\00//..--poonnmmluvvwwxxy12233445XWWVVUUTIJJKKLLM+,,--../ - - ;;::9988~~}}||ffgghhii""##$$%%##""!! ggffeedd~~jjkkllmm>??@@AABKJJIIHHGVWWXXYYZ! ]]^^__``,,++**))lkkjjiihyzz{{||}56677889 TSSRRQQPMNNOOPPQ/001122377665544{{zzyyxxjjkkllmm&&''(())ccbbaa``nnoouuvvBCCDDEEFGFFEEDDCZ[[\\]]^aabbccdd  ((''&&%%hggffeed}~~9::;;<<= - - POONNMMLQRRSSTTU3445566733221100wwvvuuttnnooppqq**++,,--__^^]]\\wwxxyyzzFGGHHIIJCBBAA@@?^__``aab ~~}}eeffgghh!!""##$$ - - $$##""!!dccbbaa`=>>??@@ALKKJJIIHUVVWWXXY7==>>??@//..--,,ssrrqqpprrssttuu..//0011[[ZZYYXX{{||}}~~JKKLLMMN -?>>==<<;bccddeef !!" - - -||{{zzyyiijjkkll%%&&''(( `__^^]]\ABBCCDDEHGGFFEEDYZZ[[\\]@AABBCCD++**))((oonnmmllvvwwxxyy22334455WWVVUUTTNOOPPQQR - ;::99887~~}}||{fgghhiij"##$$%%& -  xxwwvvuummnnoopp))**++,, \[[ZZYYXEFFGGHHIDCCBBAA@]^^__``aDEEFFGGH !!''&&%%$$kkjjiihhzz{{||}}66778899 SSRRQQPPRSSTTUUV76655443{zzyyxxwjkkllmmn&''(())* - - ttssrrqqqqrrsstt--..//00 - - XWWVVUUTIJJKKLLM @??>>==>??@@AAKKJJIIHHZ[[\\]]^/..--,,+srrqqpporssttuuv.//00112 llkkjjiiyyzz{{||55667788 -POONNMMLQRRSSTTU 87766554|{{zzyyxijjkkllmPQQRRSSY**++,,--__^^]]\\BBCCDDEEGGFFEEDD^__``aab+**))(('onnmmllkvwwxxyyz23344556!!""#hhggffee}}~~99::;;<< - LKKJJIIHUVVWWXXY43322110xwwvvuutmnnooppqYZZ[[\\]..//0011[[ZZYYXXFFGGHHIICCBBAA@@bccddeef !!"'&&%%$$#kjjiihhgz{{||}}~6778899:#$$%%&&'ddccbbaa==>>??@@!!""HGGFFEEDYZZ[[\\]0//..--,tssrrqqpqrrssttu]^^__``a22334455WWVVUUTTJJKKLLMM ??>>==<<~~}}||{{fgghhiij"##$$%%&#""!! gffeeddc~:;;<<==>'(())**+``__^^]]AABBCCDD##$$%%&&DCCBBAA@]^^__``a,++**))(poonnmmluvvwwxxyabbccdde66778899 SSRRQQPPNNOOPPQQ - - ;;::9988zzyyxxwwjkkllmmn&''(())*cbbaa``_>??@@AAB+,,--../ \\[[ZZYYEEFFGGHH''(())** @??>>==>??@@AAKKJJIIHHVVWWXXYY33221100mmllkkjj~~}}||{rssttuuv.//00112[ZZYYXXWFGGHHIIJ34455667$%%&&''(TTSSRRQQMMNNOOPP//001122 87766554|{{zzyyxijjkkllm%&&''(() dccbbaa`mnnoouuvBBCCDDEEGGFFEEDDZZ[[\\]]//..--,,iihhggff{zzyyxxwvwwxxyyz23344556WVVUUTTSJKKLLMMN7==>>??@())**++,PPOONNMMQQRRSSTT3344556643322110xwwvvuutmnnooppq)**++,,-`__^^]]\vwwxxyyzFFGGHHIICCBBAA@@^^__``aa++**))((eeddccbbwvvuutsrz{{||}}~6778899: SRRQQPPONOOPPQQR@AABBCCD,--..//0LLKKJJIIUUVVWWXX77==>>??0//..--,tssrrqqpqrrssttu-..//001\[[ZZYYXz{{||}}~JJKKLLMM ??>>==< - - ONNMMLLKRSSTTUUVDEEFFGGH01122334HHGGFFEEYYZZ[[\\@@AABBCC,++**))(poonnmmluvvwwxxy12233445XWWVVUUT~NNOOPPQQ - - ;;::9988~~}}||ffgghhii""##$$%%##""!! ]]\\[[ZZllkkjjii>??@@AABKJJIIHHGVWWXXYYZHIIJJKKL45566778DDCCBBAA]]^^__``DDEEFFGG !(''&&%%$lkkjjiihyzz{{||}56677889 TSSRRQQPRRSSTTUU77665544{{zzyyxxjjkkllmm&&''(())YYSSRRQQhhggffeeBCCDDEEFGFFEEDDCZ[[\\]]^LMMNNOOP899::;;<@@??>>==aabbccddHHIIJJKK!""##$$%$##""!! hggffeed}~~9::;;<<= - - POONNMMLVVWWXXYY33221100wwvvuuttnnooppqq**++,,--PPOONNMMddccbbaaFGGHHIIJCBBAA@@?^__``aabPQQRRSSY<==>>??@<<;;::99~~}}eeffgghhLLMMNNOO%&&''(() dccbbaa`=>>??@@ALKKJJIIHZZ[[\\]]//..--,,ssrrqqpprrssttuu..//0011LLKKJJII``__^^]]JKKLLMMN -?>>==<<;bccddeefYZZ[[\\]@AABBCCD88776655||{{zzyyiijjkkllPPQQRRSS)**++,,-`__^^]]\ABBCCDDEHGGFFEED^^__``aa++**))((oonnmmllvvwwxxyy22334455HHGGFFEE\\[[ZZYYNOOPPQQR - ;::99887~~}}||{fgghhiij]^^__``aDEEFFGGH44332211xxwwvvuummnnooppYYZZ[[\\-..//001\[[ZZYYXEFFGGHHIDCCBBAA@bbccddee !!''&&%%$$kkjjiihhzz{{||}}66778899 DDCCBBAAXWVUTSSRRSSTTUUV76655443{zzyyxxwjkkllmmnabbccddeHIIJJKKL00//..--ttssrrqqqqrrsstt]]^^__``12233445XWWVVUUTIJJKKLLM @??>>==<~~}}||{ffgghhii""##$$%%##""!! ggffeedd~~::;;<<== - - @@??>>==RQQPPOONVWWXXYYZ3221100/wvvuuttsnooppqqreffgghhiLMMNNOOP,,++**))ppoonnmmuuvvwwxxaabbccdd56677889 TSSRRQQPMNNOOPPQ - - <;;::998{zzyyxxwjjkkllmm&&''(())ccbbaa``>>??@@AA77665544NMMLLKKJZ[[\\]]^/..--,,+srrqqpporssttuuvijjkkllmPQQRRSST((''&&%%llkkjjiiyyzz{{||eeffgghh9::;;<<= - - POONNMMLQRRSSTTU 87766554wvvuuoonnnooppqq**++,,--__^^]]\\BBCCDDEE33221100JIIHHGGF^__``aab+**))(('onnmmllkvwwxxyyzmnnoouuvTUUVVWWX$$##""!!hhggffee}}~~iijjkkll=>>??@@ALKKJJIIHUVVWWXXY43322110nmmllkkj~~}}||rrssttuu..//0011[[ZZYYXXFFGGHHII//..--,,FEEDDCCBbccddeef !!"'&&%%$$#kjjiihhgz{{||}}~vwwxxyyzXYYZZ[[\ ddccbbaammnnoouuABBCCDDEHGGFFEEDYZZ[[\\]0//..--,jiihhggf{{zzyyxxvvwwxxyy22334455WWVVUUTTJJKKLLMM ++**))((BAA@@??>~~}}||{fgghhiij"##$$%%&#""!! gffeeddc~z{{||}}~\]]^^__```__^^]]vvwwxxyyEFFGGHHIDCCBBAA@]^^__``a,++**))(feeddccbwwvvuutszz{{||}}66778899 SSRRQQPPNNOOPPQQ - - ''&&%%$$>==<;:98{zzyyxxwjkkllmmn&''(())*cbbaa``_~`aabbccd\\[[ZZYYzz{{||}}IJJKKLLM @??>>==>??@@AAKKJJIIHHVVWWXXYY33221100srrqqpporssttuuv.//00112[ZZYYXXWhiijjkkl TTSSRRQQQRRSSTTU 87766554|{{zzyyxijjkkllm%&&''(() ZYYSSRRQihhggffeBBCCDDEEGGFFEEDDZZ[[\\]]//..--,,onnmmllkvwwxxyyz23344556WVVUUTTSlmmnnoop - - PPOONNMMUVVWWXXY43322110xwwvvuutmnnooppq)**++,,-QPPOONNMeddccbbaFFGGHHIICCBBAA@@^^__``aa++**))((kjjiihhgz{{||}}~6778899: SRRQQPPOpqqrrsstLLKKJJIIYZZ[[\\]0//..--,tssrrqqpqrrssttu-..//001MLLKKJJIa``__^^]JJKKLLMM ??>>==< - - ONNMMLLK~~}tuuvvwwxHHGGFFEE]^^__``a,++**))(poonnmmluvvwwxxy12233445IHHGGFFE]\\[[ZZYNNOOPPQQ - - ;;::9988~~}}||ffgghhii""##$$%% - - ##""!! cbbaa``_>??@@AABKJJIIHHG}||{{zzyxyyzz{{|DDCCBBAAabbccdde !(''&&%%$lkkjjiihyzz{{||}56677889 EDDCCBBAYXWVUTSSRRSSTTUU77665544{{zzyyxxjjkkllmm&&''(())_^^]]\\[BCCDDEEFGFFEEDDCyxxwwvvu|}}~~@@??>>==~~}}||effgghhi!""##$$%$##""!! hggffeed}~~9::;;<<= - - A@@??>>=RRQQPPOOVVWWXXYY33221100wwvvuuttnnooppqq**++,,-- - -[ZZYYXXWFGGHHIIJCBBAA@@?~~}}||{uttssrrq - - <<;;::99{{zzyyxxijjkkllm%&&''(() dccbbaa`=>>??@@A=7766554NNMMLLKKZZ[[\\]]//..--,,ssrrqqpprrssttuu..//0011 WVVUUTTSJKKLLMMN -?>>==<<;{zzyyxxwqppoonnmfpvXQJ`ےf`vXbtlf~HAJltf`vXbtlےHAAJltZHAbۍf~HbHAZ`vXnr˂pnXv`bHAZH~fJtArdfpvbdQZ|nvpJtArdZp˂bdQZ|`JXQfpvp˂rvpfZHAbf~Hp˂r`vXn|ZdQnXv`drtfے`JX|ZdQrXQJ`ہdrtr˂p`nXv`XQJ`ےH~fے`JXQfpvXQJ`ےvpfbtlfHAJltQr˂pbtlbHAAJltJXQrf~HbHAZ`vXnr˂pnXv`bHAZH~fJtArdfpvbdQZ|ZHAbJtArdZp˂bdQZ|˂pZHfpvp˂rvpfZHAbf~Hp˂r`vXn|ZdQnrXQJ`drtے`JX|ZdQrXQJ`ہdrtAbے`nXv`XQJ`ےH~fے`JXQfpvXQJ`ےvp`btlےHAAJltQr˂pbtlbHAAJltJXQrf~fpېbHAZ`vXnr˂pnXv`bHAZvXnJtArdZp˂bdQZ|ZHAbJtArdZp˂bdQZ|˂pZHvnXp˂rvpfZHAےf~Hp˂rvpfH|ZdQrXQJ`ہdrtے`JX|ZdQrXQJ`ہdrtAbv`fXQJ`ےH~f`JXQrfpvXQJ`ے~f`btlbHAAJltQr˂pbtlbHAAJltpZHA~HfpېbHAZ`vXnbtlnXv`bHAZvXnJtArdZp˂bdQZ|ZHAbJtArdZp˂bdQZ|bے`vnXp˂rvpfJtAdf~Hp˂rvpfH|ZdQrXQJ`ہdrtے`JX|ZdQrXQJ`ہdrtJXQrv`fXQJ`ےH~f|ZdQbf~HfpvXQJ`ے~vbtlbHAAJltQr˂pbtlbHAAJltpZHA~HfvnJlt`vXntlJfpvnXv`Jltpfے`JtArdZp˂bdQZ|ZHAbJtArdZp˂bdQZ|bے`Xv`fbdQZ|vpftArdnXv`f~HdrtAJJXQr|ZdQrXQJ`ہdrtے`JX|ZdQrXQJ`ہdtAJXQHAb~HfdrtAH~f|ZdQbf~HfpvltbZHAbbtlbHAAJltQr˂pbtlbHAJltے`JXpvnJlt`vXntlJfpvnXv`dQZ|`JXQJtArdZp˂bdQZ|ZHAbJtArdZp˂bnvpQr˂pXv`fbdQZ|vpftArdnXv`f~HdrtAJr˂p|ZdQrXQJ`ہdrtے`JX|ZdQrXQJ`۝fHˑZHAb~HfdrtAH~f|ZdQbf~HfpvltbZHAbbtlbHAAJltQr˂pbtlbHAf`vXے`JXpvnJlt`vXntlJfpvnXv`dQZ|l`JXQJtArdZp˂bdQZ|ZHAbJfpvZp˂nvpQr˂pvf~HbdQZ|vpftArdnXv`f~HtbdQr˂pZ|ZdQrXQJ`ہdtAے`JXnXv`rXQJ`fH~ˑ`JXQfpvdrtAH~f|ZdQbf~HfpvZ|dAb`JbtlbHAJltQr˂pf~HbHAf`vXr˂pnXv`Jlt`vXntlJfpvnXv`rtAJlXQr˂JtArdZp˂bnvpZHAbfpvZp˂nvpZHAbۍf~HbdQZ|vpftArdnXv`f~HtbdQpZHAb|ZdQrXQJ`۝fH˙ے`JXnXv`rXQJ`fH~˒`JXQfpvdrtAH~f|ZdQbf~HfpvZ|dے`JbtlbHAf`vXQr˂pf~HbHAf`vXr˂p`nXv`Jlt`vXntlJfpvnXv`rtAdQZXQr˂JfpvZp˂nvpZHAbfpvZp˂nvpJXQrf~fpbdQZ|vpftArdnXv`f~H|drpZHAbnXv`rXQJ`fH~˙ے`JXnXv`rXQJ`fH~btl|vnXdrtAH~f|ZdQbf~HfpvtAJl璐JQrf~HbHAf`vXQr˂pf~HbHAf`vXZdQbtv`fJlt`vXntlJfpvnXv`tbdQZ˂pZHfpvZp˂nvpZHAbfpvZp˂nvplJt~HfpbdQZ|vpftArdnXv`f~H|drAbے`nXv`rXQJ`fH~˙ے`JXnXv`rXQJ`fH~Ard|vnXdrtAے`JXQ|ZdQbf~HfpvtAJl璁JXQrf~HbHAf`vXQr˂pf~HbHAf`vXZdQbtv`ffJltr˂ptlJfpvnXv`tdrtA˂pZHfpvZp˂nvpZHAbfpvZp˂nvpl|pvnbdQZ|ZHAbtArdnXv`f~HJltAbے`nXv`rXQJ`fH~˙ے`JXnXv`rXQJ`fH~ZdQbtrXQJ`drtAے`JXQ|ZdQbf~HfpvbdQZ|JXQrf~HbHAf`vXQr˂pf~HbHAf`vXlJtAےHAZJltr˂ptlJfpvnXv`drtAZHAbfpvZp˂nvpZHAbfpvZp˂nvprd|p˂rbdQZ|ZHAbtArdnXv`p˂rJltے`JXQnXv`rXQJ`fH~˙ے`JXnXv`rXQJ`fH~ZdQbtXQJ`ےdrtAے`JXQ|ZdQbfHfXQJ`ےbdQZ|r˂pf~HbHAf`vXQr˂pf~HJltf`vXlJtAbHAZJltr˂ptlJpvnbHAZltbZHAbfpvZp˂nvpZHAۅfpvbdQZ|nvprdtlp˂rbdQZ|ZHAbtArdrXQJ`p˂rdQZ|ے`JXQnXv`rXQJ`fH~˒`JXQnXv`drtfH~ˑJtArdXQJ`ےdrtAے`JXQ|ZdQbےHAZXQJ`ےdrtAJr˂pf~HbHAf`vXrbtlf~HAJltf`vX|ZdbHAZJltr˂ptlJp˂rbHAZltbZAb`fpvZp˂nvpJtAdfpvbdQZ|nvpQbtlp˂rbdQZ|ZHAbtArdXQJ`ےp˂rdQZ|`JXQr˅nXv`rXQJ`fH~˂|ZdQnXv`drtfH~ˑJtArdXQJ`ےdrtAے`JXQ|ZdQbbHAZXQJ`ےvXnpZHAf~HJltf`vXbtlf~HAJltf`vX|ZdbHAZJltr˂ptlJp˂rbHAZvpfHbے`fpvbdQZ|nvpJtArdfpvbdQZ|nvpQtArdp˂rbdQZ|ZHAbtArdXQJ`ےp˂r~f`JXQr˅nXv`drtfH~˂|ZdQnXv`drtfH~˂|ZdQXQJ`ےdrtAے`JXQ|ZdQbbHAZXQJ`ےvXnpZHAbf~HAJltf`vXbtlf~HAJltf`vXbtlbHAZJltr˂ptlJp˂rbHAZvp`vJAdfpvbdQZ|nvpJtArdfpvbdQZ|nvpJtArdp˂rbdQZ|ZHAbfpvXQJ`ےp˂rXnv|ZdQnXv`drtfH~˂|ZdQnXv`drtfH~˂|ZdQXQJ`ےdtAJے`JXQnXv`bHAZXQJ`ےpfH~btlf~HAJltf`vXbtlf~HAJltf`vXbtl|bHAZltbr˂pf~Hp˂rbHAZf`vJtArdfpvbdQZ|nvpJtArdfpvbdQZ|nvpZdQbtp˂rnvpZHAbfpvXQJ`ےp˂rXnv|ZdQnXv`drtfH~˂|ZdQnXv`drtfH~ˉlJtXQJ`ےfHfے`JXQnXv`bHAZXQJ`ےpfH~btlf~HAJltf`vXbtlf~HAJltf`vXArd|bHAZ`vXnr˂pf~Hp˂rbHAZvpJtArdfpvbdQZ|nvpJtArdfpvbdQZ|nvpZdQbtp˂rvpfZHAbfpvXQJ`ےp˂rfH~|ZdQnXv`drtfH~˂|ZdQnXv`drtfے`JXlJtXQJ`ےH~fے`JXQnXv`bHAZXQJ`ےf`vXbtlf~HAJltf`vXbtlfHAJltQHAbArdt琙bHAZ`vXnr˂pf~Hp˂rbHAZnvpJtArdfpvbdQZ|nvpJtArdfpvbdQZ|`JXQlJfpp˂rvpfZHAbfpvXQJ`ےp˂rfH~|ZdQnXv`drtfH~˂|ZdQnrXQJ`drtr˂pvnvXQJ`ےH~fے`JXQnXv`bHAZp˂rvpfZHAbXv`pbdQZ|vpfHArd|fpvbdQZ|vpfHArd|vnJltJXQrpvn˂rXQvpfHHAbےpvn˂rXQvpfHlJtArfpvQZ|dvpfے`rd|炀rXQQZ|d˂p`XnvˍXQJ`ےH~fے`JXQvnXdrtA~f`ZdQbtnXv`˂drtA~f`ZdQbtrXQJ`bdQZ|˂pZHAXv`fJ`ے~f``JXQrXv`fJ`ے~f`d|ZnXv`rtAJlJXQrZdQbtJ`ےrtAJlJXQrpfH~ㅐbHAZ`vXnr˂pv`fJltvXnlJtf~HJltvXnlJtHAZpdrtAbے`~HfbHAZpvXn˂pZ~HfbHAZpvXndQbt璍ffpۑtbd˂pZHlJtAbHAZpˑtbdpZHAf۝`vp˂rvpfZHAb~HfpbdQZ|vpfHArd|fpvbdQZ|vpfArd|˂rXJltJXQrpvn˂rXQvpfHHAbےpvn˂rXQvpfHl|ZdQvnrXQZ|dAbے`rd|炀rXQQZ|dbے`XnvˍXQJ`ےH~fے`JXQvnXrAJl璅~f`ZdQbtnXv`˂drtA`JXQZdQbtQJ`ےbdQZ|lZHAbXv`fJ`ے~f``JXQrXv`fJ`ے~f`btlQJ`ےrtAJlJXQrZdQbtJ`ےrtAJlJXQrpfH~ㅐbHAZ`vXnr˂pv`ftbdQZvXnlJtfHfpJltr˂plJtbHAZptbd`JXQ~HfbHAZpvXn˂pZ~HfbHAZpvXnJtArdHAZpˑtbd˂pZHlJtAbHAZpˑtbdpZHAf۝`vp˂rvpfZHAb~HXv|drvpfHArd|vnbdQZ|ZHAbArd|˂rXQZ|dr˂ppvn˂rXQvpfHHAbےpvn˂rXQvpfH|ZdQrXQQZ|dAbے`rd|炀rXQQZ|db˂pXnvˍXQJ`ےH~fے`JXQ`f~tAJl璅~f`ZdQbtrXQJ`ۂdrtA`JXQZdQbtQJ`ےrtAJlZHAbXv`fJ`ے~f``JXQrXv`fJ`ےJ~f`btlJ`ےrtAJlJXQrZdQbtJ`ےrtAJlZHAbpfH~ㅐbHAZ`vXnr˂pHfpvtbdQZvXnlJtHAZpJltr˂plJtbHAZptbd`JXQ~HfbHAZpvXn˂pZ~HfltbvXnJtArdbHAZpˑtbd˂pZHlJtAbHAZpˑtbdے`JXf۝`vp˂rvpfZHAbnXv|drvpfArd|˂rXbdQZ|ZHAbArd|˂rXQZ|lr˂pZpvn˂rXQvpfHHAے`pvndQZ|vpfHtlJrXQQZ|dAbے`rd|炀rXQQZ|dQr˂pXnvˍXQJ`ےH~fے`JXQ`f~tAJbd`JXQZdQbtQJ`ےdrtA`JXQZdQbtQJ`ےtbnAb`JXv`fJ`ے~f`JXQrbXv`fdrtAJ~f`tArdJ`ےrtAJlJXQrZdQbtJ`ےrtAJlZHAbpfH~ㅐbHAZ`vXnr˂pHfpvQZ|dr˂plJtbHAZpJltr˂plJtbHAZpvp`XQr˂~HfbHAZpvXntlJ~HfltbvXn|ZdQbbHAZpˑtbd˂pZHlJtAbHAZpˑtbdے`JXf۝`vp˂rvpfZHAے~HrtAJlZHAbArd|˂rXbdQZ|ZHAbArd|˂rXvXnpZHAbpvn˂rXQvpfHtAd|pvndQZ|vpfHtlJrXQQZ|dAbے`rd|炀rXQQZ|dQHAbXnvˍXQJ`ےH~f`JXQrfpvtbd`JXQZdQbtQJ`ےdrtA`JXQZdQbtQJ`ےvpfHے`JXv`fJ`ےJ~f`ZdQbtXv`fdrtAJ~f`tArdJ`ےrtAJlJXQrZdQbtJ`ےtAJl`JXQpfH~ㅐbHAZ`vXnbtlnXv`QZ|dr˂plJtbHAZpJltr˂plJtbHAZp~f`XQr˂~HfltbvXnlJtA~HfltbvXn|ZdQtAbHAZpˑtbd˂pZHlJtAbHAZp˒tbnr˂pf۝`vp˂rvpfJtAdf~HrtAJlZHAbArd|˂rXbdQZ|ZHAbArd|˂rXvXnpZA`pvndQZ|vpfHrd|pvndQZ|vpfHrd|rXQQZ|dAbے`rd|炀rXQvpfHZHAbXnvˍXQJ`ےH~f|ZdQbfpvtbQZ`JXQZdQbtQJ`ےdrtA`JXQZdQbtQJ`ےvp`vXJXQrbXv`fdrtAJ~f`ZdQbtXv`fdrtAJ~f`ZdQbtJ`ےrtAJlJXQrZdQbtJ`ےㅐf``JXQpfH~Jlt`vXntlJnXv`drtAr˂plJtbHAZpJltr˂plJtbHAZpnvptlJ~HfltbvXnlJtA~HfltbvXnlJtAbHAZpˑtbd˂pZHlJfpbHAZpvXnr˂p`f۝`vbdQZ|vpftArdpvnJltZHAbArd|˂rXbdQZ|ZHAbArd|˂rXfH~tAd|pvndQZ|vpfHrd|pvndQZ|vpfHrd|rXQQZ|dAbے`vnXrXQvpfHJXQrXnvˍdrtAH~f|ZdQbXv`fbdQZ|`JXQZdQbtQJ`ےdrtA`JXQZdQbtQJ`ےf`vXZdQbtXv`fdrtAJ~f`ZdQbtXv`fdrtAJ~f`ZdQbtJ`ےtAJlJXQrv`fJ`ے~f`˂pZHpfH~Jlt`vXntlJ~HfdrtAr˂plJtbHAZpJltr˂plJbHAZpnvplJtA~HfltbvXnlJtA~HfltbvXnl|ZbHAZp˒tbn˂pZH~HfpbHAZpvXnAbے`f۝`vbdQZ|vpftArdpvnJltZHAbArd|˂rXbdQZ|ZHAbfpv˂rXfH~rd|pvndQZ|vpfHrd|pvndQZ|vpfHdQbt璂rXQvpfHAbے`vnXrXQvpfHJXQrXnvˍdrtAH~f|ZdQbXv`pbdQZ|`JXQZdQbtQJ`ےdtAJl`JXQnXv`QJ`ےvpZdQbtXv`fdrtAJ~f`ZdQbtXv`fdrtAJ~f`lJtArJ`ےㅐf`JXQrv`fJ`ے~f`˂p`ZpfH~Jlt`vXntlJvnrrAJlr˂plJtbHAZptbr˂pf~HbHAZpfH~lJtA~HfltbvXnlJtA~HfltbvXnd|ZbHAZpvXnۉ˂pZH~HfpbHAZpvXnQXb㉀f۝`vbdQZ|vpftArdXQJ`ptbdQZHAbArd|˂rXnvpZHAbfpv˂rXf`vXrd|pvndQZ|vpfHrd|pvndQZ|vpfےdQbt璂rXQvpfHAbے`vnXrXQvpfHۑpJAHrXnvˍdrtAH~f|ZdQb˂rXQZ|d`JXQZdQbtQJ`ےfHf``JXQnXv`QJ`ےnvpZdQbtXv`fdrtAJ~f`ZdQbtXv`fdrtAJ`JXQHAlJtArJ`ے~f`JXQrv`fJ`ے~f`󙐂ˁ`Zp|drJlt`vXntlJJ`ےrtAJlr˂plJbHAZpvXnr˂pf~HbHAZpfH~lJtA~HfltbvXnlJtAHfpltbbے`dtlbHAZpvXnۉ˂pZH~HfpbHAZpvXnQXb㉀QtJlbdQZ|vpftArdbHAZptbdQZHAbfpv˂rXvpfHZHAbfpv˂rXf`vXHrd|pvndQZ|vpfHrd|vnrdQZ|JXQrJfpvrXQvpfHAbے`vnXrXQvpfHۑp`ZQtbAdZdrtAH~f|ZdQb˂rXQZ|AJl`JXQnXv`QJ`ے~f``JXQnXv`QJ`ے~f`ZdQbtXv`fdrtAJ~f`ZdQbtXQJ`ےdrtAJ˂pZHAnvfJ`ے~f`JXQrv`fJ`ے~f`Xb㉀ۑ|drJlt`vXntlJJ`p˂tbr˂pf~HbHAZpvXnr˂pf~HbHAZpvXnlJtA~HfltbvXnlJtAHAZpltbbے`~HfpbHAZpvXnۉ˂pZH~HfpbHAZpvXnpJAHrQtJlbdQZ|vpftArdrXQJnvpZHAbfpv˂rXvpfHZHAbfpv˂rXvpfHrd|pvndQZ|vpfےrd|˂rXQdQZ|JXQrvnXrXQvpfHAbے`vnXrXQvpfHˁ`ZQtbAdZdrtAH~f|ZdQb`ےbfHf``JXQnXv`QJ`ے~f``JXQnXv`QJ`ے~f`ZdQbtXv`fdrtAJ`JXQrZdQbtJ`ےdrtAJ˂p`Jv`fJ`ے~f`JXQrv`fJ`ے~f`Xb㉀ۑ|drJlt`vXntlJHAZp˂vXnr˂pf~HbHAZpvXnr˂pf~HbHAZpvXnlJtAHfpltb˂pZlJtAbHAZpltbXQr˂~HfpbHAZpvXnۉ˂pZH~HfpbHAZpvXnpJAHrQtJlbdQZ|vpftArdrXQJvpfHZHAbfpv˂rXvpfHZHAbfpv˂rXvp`rd|vnrdQZ|HAbےrd|˂rXQdQZ|pZHAbvnXrXQvpfHAbے`vnXrXQvpfH󐉀ۑpJtbAdZdrtAے`JXQ|ZdQb`ےb~f``JXQnXv`QJ`ے~f``JXQnXv`QJ`ےvXnZdQbtXQJ`ےdrtAJ`JXQrZdQbtJ`ےdrtAJے`Jv`f~J`ے~f`JXQrv`fJ`ےJl~f`AHr󙐂|drJltr˂ptlJHAXQJ`vXnr˂pf~HbHAZpvXnr˂pf~HbHAZpvpfHlJtAHAZpltb˂pZlJtAbHAZpltbXQr˂fpvbHAZpvXnۉ˂pZH~HfptbdvXnˁ`ZQXbQtJlbdQZ|ZHAbtArdےbHAvpfHZHAbfpv˂rXvpfHZHAbfpv˂rX~f`rd|˂rXQdQZ|HAbےrd|˂rXQdQZ|pZHAbnXv`rXQvpfHAے`vnXQZ|dvpfH㉀ۑpJtbAdZdrtAے`JXQ|ZdQbZp˂~f``JXQnXv`QJ`ے~f``JXQnXv`QJ`ےvXnZdQbtJ`ےdrtAJ`JXQrZdQbtJ`ےdrtAJ˂pf~HJ`ے~f`JXQrbtv`frtAJl~f`AHr󙐂|drJltr˂ptlJrXQJ`vXnr˂pf~HbHAZpvXnr˂pf~HJltdvpfHlJtAbHAZpltb˂pZlJtAbHAZpltbZHAbfpvbHAZpvXnۉlJt~HfptbdvXnˁ`ZQXAQtJlbdQZ|ZHAbtArdےbHAvpfHZHAbfpv˂rXvpfHZHAے`fpvrtAJl~vprd|˂rXQdQZ|HAbےrd|˂rXQdQZ|ے`JXQnXv`rXQvpfHAd|vnXQZ|dvpfHHr󙐂ˁtbAdZdrtAے`JXQ|ZdQbZp˂~f``JXQnXv`QJ`ے~f`JXQrnXv`ˑtbdfے`ZdQbtJ`ےdrtAJ`JXQrZdQbtJ`ےdrtAJr˂pf~HJ`ےJl~f`ZdQbtv`frtAJl~f``ZQXb|drJltr˂ptlJbHAZvXnr˂pf~HbHAZpvXnbtlf~HQZ|dJXQrZlJtAbHAZpltb˂pZlJtAbHAZpltbZHAbfvnXtbdvXnےlJtA~HfptbdvXnۀۑpJAQtJlbdQZ|ZHAbtArdp˂rvpfHZHAbfpv˂rXvpfHJtAd|fpvrtAJlHAbےrd|˂rXQdQZ|HAbےrd|˂rXQdQZ|ے`JXQv`fQZ|dvpfHrd|vnXQZ|dvpfHHr󙐂ˁtbAdZdrtAے`JXQ|ZdQbXQJ`ے~f``JXQnXv`QJ`ے~f`ZdQbtnXv`ˑtbd`JXQrZdQbtJ`ےdrtAJ`JXQrZdQbtJ`ےdtAJlHAbے~HfpۙrtAJl~f`ZdQbtv`frtAJl~f``ZQXb|drJltr˂ptlJbHAZvXnr˂pf~HJltvXnlJtf~HQZ|l瀉˂pZlJtAbHAZpltb˂pZlJtAbHAZptbn`JXQrvnXtbdvXnےlJtA~HfptbdvXnۀۑp`ZQtJlbdQZ|ZHAbtArdp˂rvpfHZHAے`fpvbdQZ|vpfHArd|fpvtbdQHAbےrd|˂rXQdQZ|HAbےrd|˂rXQvpf˂pZv`fQZ|dvpfHrd|vnXQZ|dvpfHQXb㉀tbAdZdrtAے`JXQ|ZdQbXQJ`p~f`JXQrnXv`˂drtA~f`ZdQbtnXv`Z|d`JXQrZdQbtJ`ےdrtAJ`JXQrZdQbtJ`ےHf`HAbے~HfpۙrtAJl~f`ZdQbtv`frtAJl~f`ۑpJAHr|drJltr˂ptlJ˂rXQvXnbtlf~HJltvXnlJtf~HrtAJl瀉˂pZAlJtAbHAZpltb˂pZlJfbHAZpvXn`JXQrvnvftbdvXnےlJtA~HfptbdvXn󙐂ˁ`ZQtJlbdQZ|ZHAbtArdJ`ےvpfHJtAd|fpvbdQZ|vpfHArd|fpvtbdQb`JXrd|˂rXQdQZ|HAbےpvn˂rXQvpfH˂p`~HfQZ|dvpfHrd|vnXQZ|dvpfHQXb㉀tbAdZdrtAے`JXQ|ZdQbbHAZp~f`ZdQbtnXv`˂drtA~f`ZdQbtnXv`Z|dQr˂pZdQbtJ`ےdtAJl`JXQrXv`fJ`ے~f`JXQrpvnrtAJl~f`ZdQbtv`frtAJl~f`ۑpJAH|drJltr˂ptlJ˂rXQvXnlJtf~HJltvXnlJtf~HrtAdQZ|ZHAblJtAbHAZptbn˂pZ~HfbHAZpvXn˂pZHAXv`ftbdvXnےlJtA~HfptbdvXnېf۝`vQtJlbdQZ|ZHAbfpvJ`ےvpfHArd|fpvbdQZ|vpfHArd|fpvdrtے`JXrd|˂rXQvpfHAbےpvn˂rXQvpfHbے`~HfQZ|dvpfHrd|vnXQZ|dvpfZHXnvˍtbAdZdtAJے`JXQ~HfbHAXQJ~f`ZdQbtnXv`˂drtA~f`ZdQbtnXv`AJltQr˂pZdQbtJ`ےHf``JXQrXv`fJ`ے~f`JXQrpvnrtAJl~f`ZdQbtv`frtAJlAbے`pfH~|drltbr˂ppvn`ےJlvXnlJtf~HJltvXnlJtf~HbdQZ|ZHAblJfbHAZpvXn˂pZ~HfbHAZpvXn˂p`JXv`ftbdvXnےlJtAHfpۑtbdJXQrf۝`vQtJlnvpZHAbXv`ftbQZvpfHArd|fpvbdQZ|vpfHArd|fpvdrtJQrpvn˂rXQvpfHHAbےpvn˂rXQvpfHXQrbt~fpvQZ|dvpfHrd|vnrXQZ|d˂pZHXnvˍtbAdZfHfے`JXQ~HfdrtA~f`ZdQbtnXv`˂drtA~f`ZdQbtnXv`AJlt˂pZHAXv`fJ`ے~f``JXQrXv`fJ`ے~f`l|ZnXv`rtAJl~f`ZdQbtQJ`ےrtAJlAbے`pfH~|dr`vXnr˂ppvnJltvXnlJtf~HJltvXnlJtfHfpdrtAbے`~HfbHAZpvXn˂pZ~HfbHAZpvXndQbt璍f~HtbdvXnےlJtAHAZpˑtbdJXQrf۝`vQtJlt-----------.............................................. \ No newline at end of file diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv33_3.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv33_3.dat deleted file mode 100644 index 815f34988f..0000000000 --- a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv33_3.dat +++ /dev/null @@ -1,297 +0,0 @@ -}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxststststqrqrqrqrnmnmnmnmlklklklkjijijijifefefefedcdcdcdcbabababa^]^]^]^]\[\[\[\[ZYZYZYZYVUVUVUVU}~}~}~}~{|{|{|{|yzyzyzyzwvuvuvuvststststqrqrqpopnmnmnmnmlklklklkjijijijifefefefedcdcdcdcbabababa^]^]^]^]\[\[\[\[ZYZYZYZYVUVUVUVU}~}~}~}~{|{|{|{|yzyzyzyzuvuvuvuvststststopopoooonmnmnmnmlklklklkhghghghgfefefefedcdcdcdcbabababa^]^]^]^]\[\[\[\[ZYZYZYZYVUVUVUVU}~}~}~}~{|{|{|{|yzyzyzyzuvuvuvuvststststoopopoponmnmnmnmlklklklkhghghghgfefefefedcdcdcdcbabababa^]^]^]^]\[\[\[\[ZYZYZYZYVUVUVUVU}~}~}~}~{|{|{|{|yzyzyzyzuvuvuvuvststststpopopoponmnmnmnmlklklklkhghghghgfefefefedcdcdcdcbabababa^]^]^]^]\[\[\[\[ZYZYZYZYVUVUVUVU}~}~}~}~{|{|{|{|yzyzyzyzuvuvuvuvststststpopopoponmnmnmnmlklklklkhghghghgfefefefedcdcdcdcbabababa^]^]^]^]\[\[\[\[ZYZYZYZYVUVUVUVU}~}~}~}~{|{|{|{|yzyzyzyzuvuvuvuvststststpopopoponmnmnmnmlklklklkhghghghgfefefefedcdcdcdc`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYVUVUVUVU}~}~}~}~{|{|{|{|yzyzyzyzuvuvuvuvststststpopopoponmnmnmnmlklklklkhghghghgfefefefedcdcdcdc`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYVUVUVUVU}~}~}~}~{|{|{|{|yzyzyzyzuvuvuvuvststststpopopoponmnmnmnmlklklklkhghghghgfefefefedcdcdcdc`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYVUVUVUVU}~}~}~}~{|{|{|{|yzyzyzyzuvuvuvuvststststooooopopnmnmnmnmlklklklkhghghghgfefefefedcdcdcdc`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYVUVUVUVU}~}~}~}~{|{|{|{|yzyzyzyzuvuvuvuvststststopopopopnmnmnmnmlklklklkhghghghgfefefefedcdcdcdc`_`_`_`_^]^]^]^]\[\[\[\[XWXWXWXWVUVUVUVU}~}~}~}~{|{|{|{|yzyzyzyzuvuvuvuvststststopopopopnmnmnmnmlklklklkhghghghgfefefefedcdcdcdc`_`_`_`_^]^]^]^]\[\[\[\[XWXWXWXWVUVUVUVU}~}~}~}~{|{|{|{|yxwxwxwxuvuvuvuvststststopopopopnmnmnmnmlklklklkhghghghgfefefefedcdcdcdc`_`_`_`_^]^]^]^]\[\[\[\[XWXWXWXWVUVUVUVU}~}~}~}~{|{|{|{|wxwxwxwxuvuvuvuvststststopopopopnmnmnmnmjijijijihghghghgfefefefedcdcdcdc`_`_`_`_^]^]^]^]\[\[\[\[XWXWXWXWVUVUVUVU}~}~}~}~{|{|{|{|wxwxwxwxuvuvuvuvststststopopopopnmnmnmnmjijijijihghghghgfefefefedcdcdcdc`_`_`_`_^]^]^]^]\[\[\[\[XWXWXWXWVUVUVUVU}~}~}~}~{|{|{|{|wxwxwxwxuvuvuvuvststststopoooooonmnmnmnmjijijijihghghghgfefefefedcdcdcdc`_`_`_`_^]^]^]^]\[\[\[\[XWXWXWXWVUVUVUVU}~}~}~}~{|{|{|{|wxwxwxwxuvuvuvuvststststpopopoponmnmnmnmjijijijihghghghgfefefefedcdcdcdc`_`_`_`_^]^]^]^]\[\[\[\[XWXWXWXWVUVUVUVU}~}~}~}~{|{|{|{|wxwxwxwxuvuvuvuvststststpopopoponmnmnmnmjijijijihghghghgfefefefebabababa`_`_`_`_^]^]^]^]\[\[\[\[XWXWXWXWVUVUVUVU}~}~}~}~{|{|{|{|wxwxwxwxuvuvuvuvststststpopopoponmnmnmnmjijijijihghghghgfefefefebabababa`_`_`_`_^]^]^]^]\[\[\[\[XWXWXWXWVUVUVUVU}~}~}~}~{|{|{|{|wxwxwxwxuvuvuvuvstststsrpopopoponmnmnmnmjijijijihghghghgfefefefebabababa`_`_`_`_^]^]^]^]\[\[\[\[XWXWXWXWVUVUVUVU}~}~}~}~{|{|{|{|wxwxwxwxuvuvuvuvqrqrqrqrpopopoponmnmnmnmjijijijihghghghgfefefefebabababa`_`_`_`_^]^]^]^]\[\[\[\[XWXWXWXWVUVUVUVU}~}~}~}~{|{|{|{|wxwxwxwxuvuvuvuvqrqrqrqrpopopooonmnmnmnmjijijijihghghghgfefefefebabababa`_`_`_`_^]^]^]^]ZYZYZYZYXWXWXWXWVUVUTSTS}~}~}~}~{|{|{|{|wxwxwxwxuvuvuvuvqrqrqrqrooopopopnmnmnmnmjijijijihghghghgfefefefebabababa`_`_`_`_^]^]^]^]ZYZYZYZYXWXWXWXWTSTSSSSS}~}~}~}~{zyzyzyzwxwxwxwxuvuvuvuvqrqrqrqropopopopnmnmnmnmjijijijihghghghgfefefefebabababa`_`_`_`_^]^]^]^]ZYZYZYZYXWXWXWXWSTSTSTST}~}~}~}~yzyzyzyzwxwxwxwxuvuvuvuvqrqrqrqropopopoplklklklkjijijijihghghghgfefefefebabababa`_`_`_`_^]^]^]^]ZYZYZYZYXWXWXWXWSTSTSTST}~}~}~}~yzyzyzyzwxwxwxwxuvuvuvuvqrqrqrqropopopoplklklklkjijijijihghghghgfefefefebabababa`_`_`_`_^]^]^]^]ZYZYZYZYXWXWXWXWSTSTSTST}~}~}~}~yzyzyzyzwxwxwxwxuvuvuvuvqrqrqrqropopopoplklklklkjijijijihghghghgfefefefebabababa`_`_`_`_^]^]^]^]ZYZYZYZYXWXWXWXWSTSTSTST}~}~}~}~yzyzyzyzwxwxwxwxuvuvuvuvqrqrqrqropopopoplklklklkjijijijihghghghgfefefefebabababa`_`_`_`_^]^]^]^]ZYZYZYZYXWXWXWXWSTSTSTST}~}~}~}~yzyzyzyzwxwxwxwxuvuvuvuvqrqrqrqroooooopolklklklkjijijijihghghghgdcdcdcdcbabababa`_`_`_`_^]^]^]^]ZYZYZYZYXWXWXWXWSTSTSTSS}~}~}~}~yzyzyzyzwxwxwxwxuvuvuvuvqrqrqrqrpopopopolklklklkjijijijihghghghgdcdcdcdcbabababa`_`_`_`_^]^]^]^]ZYZYZYZYXWXWXWXWSSSSTSTSSSSSSTST}~}~}~}~yzyzyzyzwxwxwxwxuvuvuvuvqrqrqrqrpopopopolklklklkjijijijihghghghgdcdcdcdcbabababa`_`_`_`_^]^]^]^]ZYZYZYZYXWXWXWXWTSTSTSTSSTSTSTST}~}~}~}~yzyzyzyzwxwxwxwxuvuvuvuvqrqrqrqrpopopopolklklklkjijijijihghghghgdcdcdcdcbabababa`_`_`_`_^]^]^]^]ZYZYZYZYXWXWXWXWTSTSTSTSSTSTSTST}~}~}~}~yzyzyzyzwxwxwxwxuvuvuvuvqrqrqrqrpopopopolklklklkjijijijihghghghgdcdcdcdcbabababa`_`_`_`_\[\[\[\[ZYZYZYZYXWXWXWXWTSTSTSTSSTSTSTST}~}~}~}~yzyzyzyzwxwxwxwxuvuvuvuvqrqrqrqrpopooooolklklklkjijijijihghghghgdcdcdcdcbabababa`_`_`_`_\[\[\[\[ZYZYZYZYXWXWXWXWTSTSTSTSSTSTSTST}|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvqrqrqrqrpopopopolklklklkjijijijihghghghgdcdcdcdcbabababa`_`_`_`_\[\[\[\[ZYZYZYZYXWXWXWXWTSTSTSTSSTSSSSST{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvqrqrqrqrnmnmnmnmlklklklkjijijijihghghghgdcdcdcdcbabababa`_`_`_`_\[\[\[\[ZYZYZYZYXWXWXWXWTSSSSSSTSTSTSTSR{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvqrqrqrqrnmnmnmnmlklklklkjijijijihghghghgdcdcdcdcbabababa`_`_`_`_\[\[\[\[ZYZYZYZYXWXWXWXWSTSTSTSTQRQRQRQR{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvqrqrqrqrnmnmnmnmlklklklkjijijijihghghghgdcdcdcdcbabababa`_`_`_`_\[\[\[\[ZYZYZYZYXWXWXWXWSTSTSTSTQRQRQRQR{|{|{|{|yzyzyzyzwxwxwxwxutstststqrqrqrqrnmnmnmnmlklklklkjijijijihghghghgdcdcdcdcbabababa`_`_`_`_\[\[\[\[ZYZYZYZYXWXWXWXWSTSTSTSTQRQRQRQR{|{|{|{|yzyzyzyzwxwxwxwxststststqrqrqrqrnmnmnmnmlklklklkjijijijifefefefedcdcdcdcbabababa`_`_`_`_\[\[\[\[ZYZYZYZYXWXWXWVUSTSTSTSTQRQRQRQR{|{|{|{|yzyzyzyzwxwxwxwxststststqrqrqrqrnmnmnmnmlklklklkjijijijifefefefedcdcdcdcbabababa`_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVUSTSTSTSTQRQRQRQR{|{|{|{|yzyzyzyzwxwxwxwxststststqrqrqrqrnmnmnmnmlklklklkjijijijifefefefedcdcdcdcbabababa`_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVUSTSTSSSSQRQRQRQR{|{|{|{|yzyzyzyzwxwxwxwxststststqrqrqrqrnmnmnmnmlklklklkjijijijifefefefedcdcdcdcbabababa`_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVUSSTSTSTSQRQRQRQR{|{|{|{|yzyzyzyzwxwxwxwxststststqrqrqrqrnmnmnmnmlklklklkjijijijifefefefedcdcdcdcbabababa^]^]^]^]\[\[\[\[ZYZYZYZYVUVUVUVUTSTSTSTSQRQRQRQR{|{|{|{|yzyzyzyzwxwxwxwxststststqrqrqrqrnmnmnmnmlklklklkjijijijifefefefedcdcdcdcbabababa^]^]^]^]\[\[\[\[ZYZYZYZYVUVUVUVUTSTSTSTSQRQRQRQR~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxststststqrqrqrqrnmnmnmnmlklklklkjijijijifefefefedcdcdcdcbabababa^]^]^]^]\[\[\[\[ZYZYZYZYVUVUVUVUTSTSTSTSQRQRQRQR}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxststststqrqrqrqrnmnmnmnmlklklklkjijijijifefefefedcdcdcdcbabababa^]^]^]^]\[\[\[\[ZYZYZYZYVUVUVUVUTSTSTSTSQRQRQRQR}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxststststqrqrqrqrnmnmnmnmlklklklkjijijijifefefefedcdcdcdcbabababa^]^]^]^]\[\[\[\[ZYZYZYZYVUVUVUVUTSTSTSTSQRQRQRQRQRQRQRQROPOPOPOPMNMNMNMNIJIJIJIJGHGHGHGHEFEFEFEFABABABAB?@?@?@?@=>=>=>=>9:9:9:9:7878787743434343212121210/0/0/0/.-.-.-,+*)*)*)*)('('('('&%&%&%&%"!"!"!"!     - - - -QRQRQRQROPOPOPOPMNMNMNMNIJIJIJIJGHGHGHGHEFEFEFEFABABABAB?@?@?@?@=>=>=>=>9:9:9:9:7777878743434343212121210/0/0/0/,+,+,+,+*)*)*)*)('('('('&%&%&%&%"!"!"!"!     - - - -QRQRQRQROPOPOPOPMNMNMNMLIJIJIJIJGHGHGHGHEFEFEFEFABABABAB?@?@?@?@=>=>=>=>9:9:9:9:8787878743434343212121210/0/0/0/,+,+,+,+*)*)*)*)('('('('&%&%&%&%"!"!"!"!     - - - -QRQRQRQROPOPOPOPKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFABABABAB?@?@?@?@=>=>=>=>9:9:9:9:8787878743434343212121210/0/0/0/,+,+,+,+*)*)*)*)('('('('&%&%&%&%"!"!"!"!     - - - -QRQRQRQROPOPOPOPKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFABABABAB?@?@?@?@=>=>=>=>9:9:9:9:8787878743434343212121210/0/0/0/,+,+,+,+*)*)*)*)('('('('&%&%&%$#"!"!"!"!     - - - -QRQRQRQROPOPOPOPKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFABABABAB?@?@?@?@=>=>=>=>9:9:9:9:8787878743434343212121210/0/0/0/,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"!     - - - -QRQRQRQROPOPOPOPKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEDABABABAB?@?@?@?@=>=>=>=>9:9:9:9:8777778743434343212121210/0/0/0/,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"!     - - - -QRQRQRQROPOPOPOPKLKLKLKLIJIJIJIJGHGHGHGHCDCDCDCDABABABAB?@?@?@?@=>=>=>=>9:9:9:9:8787876543434343212121210/0/0/0/,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"!     - - - -QRQRQRQROPOPOPOPKLKLKLKLIJIJIJIJGHGHGHGHCDCDCDCDABABABAB?@?@?@?@=>=>=>=>9:9:9:9:6565656543434343212121210/0/0/0/,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"!     - - - -QRQRQRQROPOPOPOPKLKLKLKLIJIJIJIJGHGHGHGHCDCDCDCDABABABAB?@?@?@?@=>=>=>=>9:9:9:9:6565656543434343212121210/0/0/0/,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"!      - - - -QRQRQRQROPOPOPOPKLKLKLKLIJIJIJIJGHGHGHGHCDCDCDCDABABABAB?@?@?@?@=>=>=>=<9:9:9:9:6565656543434343212121210/0/0/0/,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"!         - - - -QRQRQRQROPOPOPOPKLKLKLKLIJIJIJIJGHGHGHGHCDCDCDCDABABABAB?@?@?@?@;<;<;<;<9:9:9:9:6565656543434343212121210/0/0/.-,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"!         - - - -QRQRQRQROPOPOPOPKLKLKLKLIJIJIJIJGHGHGHGHCDCDCDCDABABABAB?@?@?@?@;<;<;<;<9:9:9:9:656565654343434321212121.-.-.-.-,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"!       - - - -QRQRQRQROPOPOPONKLKLKLKLIJIJIJIJGHGHGHGHCDCDCDCDABABABAB?@?@?@?@;<;<;<;<9:9:9:9:656565654343434321212121.-.-.-.-,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"!     - - - -QRQRQRQRMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHCDCDCDCDABABABAB?@?@?@?@;<;<;<;<9:9:9:9:656565654343434321212121.-.-.-.-,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"!     - - - -QRQRQRQRMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHCDCDCDCDABABABAB?@?@?@?@;<;<;<;<9:9:9:9:656565654343434321212121.-.-.-.-,+,+,+,+*)*)*)*)('('('&%$#$#$#$#"!"!"!"!     - - - -QRQRQRQRMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHCDCDCDCDABABABAB?@?@?@?@;<;<;<;<9:9:9:9:656565654343434321212121.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#"!"!"!"!     - - - -QRQRQRQRMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGFCDCDCDCDABABABAB?@?@?@?@;<;<;<;<9:9:9:9:656565654343434321212121.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#"!"!"!"!     - - - -QRQRQRQRMNMNMNMNKLKLKLKLIJIJIJIJEFEFEFEFCDCDCDCDABABABAB?@?@?@?@;<;<;<;<9:9:9:9:656565654343434321212121.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#"!"!"!"!     - - - -QRQRQRQRMNMNMNMNKLKLKLKLIJIJIJIJEFEFEFEFCDCDCDCDABABABAB?@?@?@?@;<;<;<;<9:9:9:9:656565654343434321212121.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#"!"!"!"!     - - - -QRQRQRQRMNMNMNMNKLKLKLKLIJIJIJIJEFEFEFEFCDCDCDCDABABABAB?@?@?@?@;<;<;<;<9:9:9:9:656565654343434321212121.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#"!"!"!"!     - - - -QRQRQRQRMNMNMNMNKLKLKLKLIJIJIJIJEFEFEFEFCDCDCDCDABABABAB?@?@?@?>;<;<;<;<9:9:9:9:656565654343434321212121.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#"!"!"!"!     - - - -QRQRQRQRMNMNMNMNKLKLKLKLIJIJIJIJEFEFEFEFCDCDCDCDABABABAB=>=>=>=>;<;<;<;<9:98787865656565434343432121210/.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#"!"!"!"!     - - - -QRQRQRQRMNMNMNMNKLKLKLKLIJIJIJIJEFEFEFEFCDCDCDCDABABABAB=>=>=>=>;<;<;<;<7877777765656565434343430/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#"!"!"!"!     - - - -QRQRQRQPMNMNMNMNKLKLKLKLIJIJIJIJEFEFEFEFCDCDCDCDABABABAB=>=>=>=>;<;<;<;<8787878765656565434343430/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#"!"!"!"!     - - OPOPOPOPMNMNMNMNKLKLKLKLIJIJIJIJEFEFEFEFCDCDCDCDABABABAB=>=>=>=>;<;<;<;<8787878765656565434343430/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#"!"!"!"!     OPOPOPOPMNMNMNMNKLKLKLKLIJIJIJIJEFEFEFEFCDCDCDCDABABABAB=>=>=>=>;<;<;<;<8787878765656565434343430/0/0/0/.-.-.-.-,+,+,+,+*)*)*)('&%&%&%&%$#$#$#$#"!"!"!"!     OPOPOPOPMNMNMNMNKLKLKLKLIJIJIJIJEFEFEFEFCDCDCDCDABABABAB=>=>=>=>;<;<;<;<8787878765656565434343430/0/0/0/.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#$#"!"!"!"!     OPOPOPOPMNMNMNMNKLKLKLKLIJIJIJIHEFEFEFEFCDCDCDCDABABABAB=>=>=>=>;<;<;<;<8787878765656565434343430/0/0/0/.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#$#"!"!"!"!     OPOPOPOPMNMNMNMNKLKLKLKLGHGHGHGHEFEFEFEFCDCDCDCDABABABAB=>=>=>=>;<;<;<;<8787877765656565434343430/0/0/0/.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#$#"!"!"!"!     OPOPOPOPMNMNMNMNKLKLKLKLGHGHGHGHEFEFEFEFCDCDCDCDABABABAB=>=>=>=>;<;<;<;<7778787865656565434343430/0/0/0/.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#$#"!"!"!      OPOPOPOPMNMNMNMNKLKLKLKLGHGHGHGHEFEFEFEFCDCDCDCDABABABAB=>=>=>=>;<;<;<;<7878787865656565434343430/0/0/0/.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#$#         OPOPOPOPMNMNMNMNKLKLKLKLGHGHGHGHEFEFEFEFCDCDCDCDABABABA@=>=>=>=>;<;<;<;<7878787865656565434343430/0/0/0/.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#$#         OPOPOPOPMNMNMNMNKLKLKLKLGHGHGHGHEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>;<;<;<;<7878787865656565434343210/0/0/0/.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#$#         OPOPOPOPMNMNMNMNKLKLKLKLGHGHGHGHEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>;<;<;<;<7878787865656565212121210/0/0/0/.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#$#         OPOPOPOPMNMNMNMNKLKLKLKLGHGHGHGHEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>;<;<;<;<7878787865656565212121210/0/0/0/.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#$#         - -OPOPOPOPMNMNMNMNKLKLKLKLGHGHGHGHEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>;<;<;<;<7777778765656565212121210/0/0/0/.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#$#         - - - -OPOPOPOPMNMNMNMNKLKLKLKLGHGHGHGHEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>;<;<;<;<8787878765656565212121210/0/0/0/.-.-.-.-,+,+,+*)('('('('&%&%&%&%$#$#$#$#         - - - -OPOPOPOPMNMNMNMNKLKLKLKLGHGHGHGHEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>;<;<;<;<8787878765656565212121210/0/0/0/.-.-.-.-*)*)*)*)('('('('&%&%&%&%$#$#$#$#         - - - -OPOPOPOPMNMNMNMNKLKLKLKJGHGHGHGHEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>;<;<;<;<8787878765656565212121210/0/0/0/.-.-.-.-*)*)*)*)('('('('&%&%&%&%$#$#$#$#         - - - -OPOPOPOPMNMNMNMNIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>;<;<;:9:8787878765656565212121210/0/0/0/.-.-.-.-*)*)*)*)('('('('&%&%&%&%$#$#$#$#         - - - -OPOPOPOPMNMNMNMNIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>9:9:9:9:8787878765656565212121210/0/0/0/.-.-.-.-*)*)*)*)('('('('&%&%&%&%$#$#$#"!         - - - -OPOPOPOPMNMNMNMNIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>9:9:9:9:8787777765656565212121210/0/0/0/.-.-.-.-*)*)*)*)('('('('&%&%&%&%"!"!"!"!         - - - -OPOPOPOPMNMNMNMNIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCB?@?@?@?@=>=>=>=>9:9:9:9:7878787865656565212121210/0/0/0/.-.-.-.-*)*)*)*)('('('('&%&%&%&%"!"!"!"!         - - - -OPOPOPOPMNMNMNMNIJIJIJIJGHGHGHGHEFEFEFEFABABABAB?@?@?@?@=>=>=>=>9:9:9:9:7878787865656543212121210/0/0/0/.-.-.-.-*)*)*)*)('('('('&%&%&%&%"!"!"!"!         - - - -OPOPOPOPMNMNMNMNIJIJIJIJGHGHGHGHEFEFEFEFABABABAB?@?@?@?@=>=>=>=>9:9:9:9:7878787843434343212121210/0/0/0/.-.-.-.-*)*)*)*)('('('('&%&%&%&%"!"!"!"!         - - - -OPOPOPOPMNMNMNMNIJIJIJIJGHGHGHGHEFEFEFEFABABABAB?@?@?@?@=>=>=>=>9:9:9:9:7878787843434343212121210/0/0/0/.-.-.-.-*)*)*)*)('('('('&%&%&%&%"!"!"!"!       - - - -OPOPOPOPMNMNMNMNIJIJIJIJGHGHGHGHEFEFEFEFABABABAB?@?@?@?@=>=>=>=>9:9:9:9:7878787843434343212121210/0/0/0/.-.-.-.-*)*)*)*)('('('('&%&%&%&%"!"!"!"!     - - - -==>>??@@KJJIIHHG MLLKKJJItuuvvwwx ]\\[[ZZYdeeffgghcbbaa``_5566778844332211%%&&''((DDCCBBAA}}~~TTSSRRQQmmnnoopp++,,--..AABBCCDD GFFEEDDC !!""##$IHHGGFFExyyzz{{|YXXWWVVUhiijjkkl_^^]]\\[99::;;<<00//..--))**++,,@@??>>==PPOONNMMqqrrsstt//001122EEFFGGHH - - CBBAA@@?$%%&&''(EDDCCBBA|}}~~UTTSSRRQlmmnnoop[ZZYYSSR==>>??@@,,++**))--..//00<<;;::99 LLKKJJIIuuvvwwxx33445566IIJJKKLL - - ?>>==<;:())**++,A@@??>>=QPPOONNMpqqrrsst - - RQQPPOONAABBCCDD((''&&%%1122334488776655!!""##$$HHGGFFEEyyzz{{||77==>>??MMNNOOPP98776655,--..//0=<<;;::9 MLLKKJJItuuvvwwx NMMLLKKJEEFFGGHH$$##""!!5566778844332211%%&&''((DDCCBBAA}}~~@@AABBCC~~}}QQRRSSTT443322110112233498877665 !!""##$IHHGGFFExyyzz{{|JIIHHGGFIIJJKKLL 99::;;<<00//..--))**++,,@@??>>==DDEEFFGG||{{zzyyUUVVWWXX00//..--4556677854433221$%%&&''(EDDCCBBA|}}~~FEEDDCCB~~}}MMNNOOPP==>>??@@,,++**))--..//00<<;;::99HHIIJJKKxxwwvvuuYYZZ[[\\!!"",,++**))899::;;<100//..-())**++,A@@??>>=BAA@@??>||{{zzyyQQRRSSTT~~}}AABBCCDD((''&&%%1122334488776655LLMMNNOOttssrrqq]]^^__``##$$%%&&((''&&%%<==>>??@-,,++**),--..//0=<<;;::9 >==77665xxwwvvuuUUVVWWXX||{{zzyyEEFFGGHH$$##""!!5566778844332211PPQQRRSSppoonnmmaabbccdd''(())**$$##""!!~~}@AABBCCD)((''&&%0112233498877665 !!""##$54433221tsrqpoonYYZZ[[\\ xxwwvvuuIIJJKKLL 99::;;<<00//..--YYZZ[[\\llkkjjiieeffgghh++,,--.. }||{{zzyDEEFFGGH%$$##""!4556677854433221$%%&&''(100//..-nmmllkkj]]^^__`` - - ttssrrqqMMNNOOPP==>>??@@,,++**))]]^^__``hhggffeeiijjkkll//001122yxxwwvvuHIIJJKKL! 899::;;<100//..-())**++,-,,++**)jiihhggfaabbccddppoonnmmQQRRSSTT~~}}AABBCCDD((''&&%%aabbccddddccbbaammnnoopp33445566uttssrrqLMMNNOOP<==>>??@-,,++**),--..//0)((''&&%feeddccbeeffgghhllkkjjiiUUVVWWXX||{{zzyyEEFFGGHH$$##""!!eeffgghh``__^^]]qqrrsstt77==>>??qppoonnmPQQRRSST~~}@AABBCCD)((''&&%01122334%$$##""!baa``__^iijjkkllhhggffeeYYZZ[[\\ xxwwvvuuIIJJKKLL iijjkkll\\[[ZZYYuuvvwwxx@@AABBCC -mllkkjjiTUUVVWWX}||{{zzyDEEFFGGH%$$##""!45566778!^]]\\[[Zmmnnooppddccbbaa]]^^__`` - - ttssrrqqMMNNOOPP~~}}||mmnnoouuXXWWVVUUyyzz{{||DDEEFFGG - ihhggffeXYYZZ[[\ yxxwwvvuHIIJJKKL! 899::;;<ZYYXWVUTqqrrsstt - - ``__^^]]aabbccddppoonnmmQQRRSSTT{{zzyyxxvvwwxxyyTTSSRRQQ}}~~HHIIJJKKeddccbba\]]^^__` - - uttssrrqLMMNNOOP<==>>??@SSRRQQPPuuvvwwxx \\[[ZZYYeeffgghhllkkjjiiUUVVWWXXwwvvuuoozz{{||}}PPOONNMMLLMMNNOO - - a``__^^]`aabbccd qppoonnmPQQRRSST~~}@AABBCCD OONNMMLLyyzz{{||XXWWVVUUiijjkkllhhggffeeYYZZ[[\\ nnmmllkk~~LLKKJJIIPPQQRRSS ]\\[[ZZYdeeffgghmllkkjjiTUUVVWWX}||{{zzyDEEFFGGH - - KKJJIIHH}}~~TTSSRRQQmmnnooppddccbbaa]]^^__`` - - jjiihhggHHGGFFEEYYZZ[[\\YXXWWVVUhiijjkklihhggffeXYYZZ[[\ yxxwwvvuHIIJJKKLGGFFEEDDPPOONNMMqqrrsstt - - ``__^^]]aabbccddffeeddccDDCCBBAA]]^^__``UTTSSRRQlmmnnoopeddccbba\]]^^__` - - uttssrrqLMMNNOOP CCBBAA@@ LLKKJJIIuuvvwwxx \\[[ZZYYeeffgghhbbaa``__@@??>>==aabbccddQPPOONNMpqqrrsst - - a``__^^]`aabbccd qppoonnmPQQRRSST - - ??>>==<;!!""##$$HHGGFFEEyyzz{{||XXWWVVUUiijjkkll^^]]\\[[<<;;::99eeffgghh MLLKKJJItuuvvwwx ]\\[[ZZYdeeffgghmllkkjjiTUUVVWWX :9877665%%&&''((DDCCBBAA}}~~TTSSRRQQmmnnooppZZYYSSRR88776655iijjkkll !!""##$IHHGGFFExyyzz{{|YXXWWVVUhiijjkklihhggffeXYYZZ[[\54433221))**++,,@@??>>==PPOONNMMqqrrsstt - - QQPPOONN44332211mmnnoouu$%%&&''(EDDCCBBA|}}~~UTTSSRRQlmmnnoopeddccbba\]]^^__`100//..---..//00<<;;::99 LLKKJJIIuuvvwwxx MMLLKKJJ00//..--vvwwxxyy())**++,A@@??>>=QPPOONNMpqqrrsst - - a``__^^]`aabbccd!!"-,,++**)1122334488776655!!""##$$HHGGFFEEyyzz{{||IIHHGGFF,,++**))~~}}||zz{{||}},--..//0=<<;;::9 MLLKKJJItuuvvwwx ]\\[[ZZYdeeffggh"##$$%%&)((''&&%5566778844332211%%&&''((DDCCBBAA}}~~EEDDCCBB~~}}|((''&&%%{{zzyyxx~~0112233498877665 !!""##$IHHGGFFExyyzz{{|YXXWWVVUhiijjkkl&''(())*%$$##""!99::;;<<00//..--))**++,,@@??>>==AA@@??>>|{{zzyyx$$##""!!wwvvuuoo4556677854433221$%%&&''(EDDCCBBA|}}~~UTTSSRRQlmmnnoop*++,,--.! ==>>??@@,,++**))--..//00<<;;::99 ==776655xwwvvuut nnmmllkk899::;;<100//..-())**++,A@@??>>=QPPOONNMpqqrrsst.//00112~~}}AABBCCDD((''&&%%1122334488776655!!""##$$44332211srqpoonn jjiihhgg<==>>??@-,,++**),--..//0=<<;;::9 MLLKKJJItuuvvwwx23344556||{{zzyyEEFFGGHH$$##""!!5566778844332211%%&&''((00//..--mmllkkjjffeeddcc@AABBCCD)((''&&%0112233498877665 !!""##$IHHGGFFExyyzz{{|677==>>?xxwwvvuuIIJJKKLL 99::;;<<00//..--))**++,,,,++**))iihhggffbbaa``__DEEFFGGH%$$##""!4556677854433221$%%&&''(EDDCCBBA|}}~~?@@AABBC ttssrrqqMMNNOOPP==>>??@@,,++**))--..//00((''&&%%eeddccbb ^^]]\\[[HIIJJKKL! 899::;;<100//..-())**++,A@@??>>=CDDEEFFG - - ppoonnmmQQRRSSTT~~}}AABBCCDD((''&&%%11223344$$##""!!aa``__^^ - - - ZZYYSSRRLMMNNOOP<==>>??@-,,++**),--..//0=<<;;::9GHHIIJJKllkkjjiiUUVVWWXX||{{zzyyEEFFGGHH$$##""!!55667788]]\\[[ZZ -  - - QQPPOONNPQQRRSST~~}@AABBCCD)((''&&%0112233498877665KLLMMNNOhhggffeeYYZZ[[\\ xxwwvvuuIIJJKKLL 99::;;<<YYXWVUTS MMLLKKJJ~~}}|TUUVVWWX}||{{zzyDEEFFGGH%$$##""!4556677854433221OPPQQRRSddccbbaa]]^^__`` - - ttssrrqqMMNNOOPP==>>??@@SRRQQPPOIIHHGGFF|{{zzyyxXYYZZ[[\ yxxwwvvuHIIJJKKL! 899::;;<100//..-SYYZZ[[\ - - ``__^^]]aabbccddppoonnmmQQRRSSTT~~}}AABBCCDD ONNMMLLK EEDDCCBBxwwvvuut\]]^^__` - - uttssrrqLMMNNOOP<==>>??@-,,++**)\]]^^__` \\[[ZZYYeeffgghhllkkjjiiUUVVWWXX||{{zzyyEEFFGGHH - - KJJIIHHG - - AA@@??>>srqpoonn`aabbccd qppoonnmPQQRRSST~~}@AABBCCD)((''&&%`aabbccdXXWWVVUUiijjkkllhhggffeeYYZZ[[\\ xxwwvvuuIIJJKKLLGFFEEDDC  ==776655mmllkkjjdeeffgghmllkkjjiTUUVVWWX}||{{zzyDEEFFGGH%$$##""!deeffgghTTSSRRQQmmnnooppddccbbaa]]^^__`` - - ttssrrqqMMNNOOPP CBBAA@@?!!""##$$44332211iihhggffhiijjkklihhggffeXYYZZ[[\ yxxwwvvuHIIJJKKL! hiijjkklPPOONNMMqqrrsstt - - ``__^^]]aabbccddppoonnmmQQRRSSTT - - ?>>==<;:%%&&''((00//..--eeddccbblmmnnoopeddccbba\]]^^__` - - uttssrrqLMMNNOOP~~}}|lmmnnoou LLKKJJIIuuvvwwxx \\[[ZZYYeeffgghhllkkjjiiUUVVWWXX98776655))**++,,,,++**))aa``__^^pqqrrsst - - a``__^^]`aabbccd qppoonnmPQQRRSST|{{zzyyxuvvwwxxy!!""##$$HHGGFFEEyyzz{{||XXWWVVUUiijjkkllhhggffeeYYZZ[[\\44332211 !--..//00((''&&%%]]\\[[ZZtuuvvwwx ]\\[[ZZYdeeffgghmllkkjjiTUUVVWWXxwwvvuuoyzz{{||}%%&&''((DDCCBBAA}}~~TTSSRRQQmmnnooppddccbbaa]]^^__``00//..--!""##$$%11223344$$##""!!YYXWVUTSxyyzz{{|YXXWWVVUhiijjkklihhggffeXYYZZ[[\ onnmmllk}~~))**++,,@@??>>==PPOONNMMqqrrsstt - - ``__^^]]aabbccdd!!"",,++**))%&&''(()55667788SRRQQPPO|}}~~UTTSSRRQlmmnnoopeddccbba\]]^^__` - - kjjiihhg--..//00<<;;::99 LLKKJJIIuuvvwwxx \\[[ZZYYeeffgghh##$$%%&&((''&&%%)**++,,-99::;;<<ONNMMLLKQPPOONNMpqqrrsst - - a``__^^]`aabbccd gffeeddc1122334488776655!!""##$$HHGGFFEEyyzz{{||XXWWVVUUiijjkkll''(())**$$##""!!-..//0011223344587766554!""##$$%HGGFFEEDyzz{{||}XWWVVUUTijjkkllm'(())**+$##""!! ::;;<<==//..--,,**++,,--??>>==<<@@??>>=={zzyyxxwRSSTTUUV~~}}||{BCCDDEEF'&&%%$$#23344556IHHGGFFE5667788943322110%&&''(()DCCBBAA@}~~TSSRRQQPmnnooppq+,,--../>>??@@AA++**))((..//0011;;::9988 !!77665544wvvuutsrVWWXXYYZ{zzyyxxwFGGHHIIJ#""!! 6778899:EDDCCBBA9::;;<<=0//..--,)**++,,-@??>>==<POONNMMLqrrssttu/0011223~~}}||BBCCDDEE''&&%%$$2233445577665544""##$$%%33221100qpoonnmmZ[[\\]]^ wvvuuttsJKKLLMMN:;;<<==>A@@??>>==>>??@@A,++**))(-..//001<;;::998 !LKKJJIIHuvvwwxxy34455667{{zzyyxxFFGGHHII##""!! 6677889933221100&&''(())//..--,,llkkjjii^__``aab - - srrqqppoNOOPPQQR>??@@AAB =<<;;::9ABBCCDDE(''&&%%$1223344587766554!""##$$%HGGFFEEDyzz{{||}7==>>??@wwvvuuttJJKKLLMM::;;<<==//..--,,**++,,--++**))((hhggffeebccddeefonnmmllkRSSTTUUV~~}}||{BCCDDEEF - - -98877665EFFGGHHI$##""!! 5667788943322110%&&''(()DCCBBAA@}~~@AABBCCD - -ssrrqqppNNOOPPQQ>>??@@AA++**))((..//0011''&&%%$$ddccbbaafgghhiijkjjiihhgVWWXXYYZ{zzyyxxwFGGHHIIJ - 54433221IJJKKLLM 9::;;<<=0//..--,)**++,,-@??>>==>??@@A,++**))(-..//001<;;::998HIIJJKKLkkjjiihhVVWWXXYY{{zzyyxxFFGGHHII##""!! 66778899\\[[ZZYYnooppqqr -cbbaa``_^__``aab - - srrqqppoNOOPPQQR-,,++**)QRRSSTTU~~}}|ABBCCDDE(''&&%%$1223344587766554LMMNNOOPggffeeddZZ[[\\]] wwvvuuttJJKKLLMM::;;<<==XWVUTSSRrssttuuv - _^^]]\\[bccddeefonnmmllkRSSTTUUV)((''&&%UVVWWXXY|{{zzyyxEFFGGHHI$##""!! 5667788943322110PQQRRSSY ccbbaa``^^__``aa - - ssrrqqppNNOOPPQQ>>??@@AARQQPPOONvwwxxyyz[ZZYYXXWfgghhiijkjjiihhgVWWXXYYZ!!""#%$$##""!YZZ[[\\] xwwvvuutIJJKKLLM 9::;;<<=0//..--,YZZ[[\\] - - __^^]]\\bbccddeeoonnmmllRRSSTTUU~~}}||BBCCDDEE NMMLLKKJz{{||}}~WVVUUTTSjkkllmmngffeeddcZ[[\\]]^#$$%%&&'! ]^^__``a - - tssrrqqpMNNOOPPQ=>>??@@A,++**))(]^^__``a[[ZZYYXXffgghhiikkjjiihhVVWWXXYY{{zzyyxxFFGGHHII - - JIIHHGGF~SRRQQPPOnooppqqr -cbbaa``_^__``aab'(())**+abbccddepoonnmmlQRRSSTTU~~}}|ABBCCDDE(''&&%%$abbccddeWWVVUUTTjjkkllmmggffeeddZZ[[\\]] wwvvuuttJJKKLLMMFEEDDCCBONNMMLLKrssttuuv - _^^]]\\[bccddeef+,,--../effgghhilkkjjiihUVVWWXXY|{{zzyyxEFFGGHHI$##""!! effgghhiSSRRQQPPnnooppqq ccbbaa``^^__``aa - - ssrrqqppNNOOPPQQ - -BAA@@??> !!"KJJIIHHGvwwxxyyz[ZZYYXXWfgghhiij/0011223ijjkkllmhggffeedYZZ[[\\] xwwvvuutIJJKKLLM ijjkkllmOONNMMLLrrssttuu - - __^^]]\\bbccddeeoonnmmllRRSSTTUU >==<;:98"##$$%%&GFFEEDDCz{{||}}~WVVUUTTSjkkllmmn34455667 mnnooppq dccbbaa`]^^__``a - - tssrrqqpMNNOOPPQ~~}}||{mnnoouuv !!KKJJIIHHvvwwxxyy[[ZZYYXXffgghhiikkjjiihhVVWWXXYY77665544&''(())*CBBAA@@?~SRRQQPPOnooppqqr7==>>??@ - - qrrssttu - - `__^^]]\abbccddepoonnmmlQRRSSTTU{zzyyxxwvwwxxyyz""##$$%%GGFFEEDDzz{{||}}WWVVUUTTjjkkllmmggffeeddZZ[[\\]]33221100*++,,--.?>>==<<;ONNMMLLKrssttuuv@AABBCCD - - uvvwwxxy \[[ZZYYXeffgghhilkkjjiihUVVWWXXYwvvuuoonz{{||}}~&&''(())CCBBAA@@~~SSRRQQPPnnooppqq ccbbaa``^^__``aa//..--,,.//00112;::99887 !!"KJJIIHHGvwwxxyyzDEEFFGGH yzz{{||}XWWVVUUTijjkkllmhggffeedYZZ[[\\] nmmllkkj~**++,,--??>>==<<OONNMMLLrrssttuu - - __^^]]\\bbccddee!!""##++**))((2334455676655443"##$$%%&GFFEEDDCz{{||}}~HIIJJKKL}~~TSSRRQQPmnnooppq dccbbaa`]^^__``a - - jiihhggf..//0011;;::9988 !!KKJJIIHHvvwwxxyy[[ZZYYXXffgghhii$$%%&&''''&&%%$$6778899:3221100/&''(())*CBBAA@@?~LMMNNOOPPOONNMMLqrrssttu - - `__^^]]\abbccddefeeddccb2233445577665544""##$$%%GGFFEEDDzz{{||}}WWVVUUTTjjkkllmm(())**++##""!! :;;<<==>/..--,,+*++,,--.?>>==<<;PQQRRSSY !LKKJJIIHuvvwwxxy \[[ZZYYXeffgghhibaa``__^6677889933221100&&''(())CCBBAA@@~~SSRRQQPPnnooppqq,,--..//>??@@AAB+**))(('.//00112;::99887YZZ[[\\] !""##$$%HGGFFEEDyzz{{||}XWWVVUUTijjkkllm^]]\\[[Z::;;<<==//..--,,**++,,--??>>==<<OONNMMLLrrssttuu00112233~~}}||{BCCDDEEF'&&%%$$#2334455676655443]^^__``a !!""##$%&&''(()DCCBBAA@}~~TSSRRQQPmnnooppq ZYYSSRRQ>>??@@AA++**))((..//0011;;::9988 !!KKJJIIHHvvwwxxyy44556677{zzyyxxwFGGHHIIJ#""!! 6778899:3221100/abbccdde$%%&&''()**++,,-@??>>==<POONNMMLqrrssttu - - QPPOONNMBBCCDDEE''&&%%$$2233445577665544""##$$%%GGFFEEDDzz{{||}}==>>??@@ wvvuuttsJKKLLMMN:;;<<==>/..--,,+effgghhi())**++,-..//001<;;::998 !LKKJJIIHuvvwwxxy MLLKKJJIFFGGHHII##""!! 6677889933221100&&''(())CCBBAA@@~~AABBCCDD - - srrqqppoNOOPPQQR>??@@AAB+**))(('ijjkkllm,--..//01223344587766554!""##$$%HGGFFEEDyzz{{||}IHHGGFFEJJKKLLMM::;;<<==//..--,,**++,,--??>>==<>??@@AA++**))((..//0011;;::9988IIJJKKLLkjjiihhgVWWXXYYZ{zzyyxxwFGGHHIIJ#""!! vwwxxyyz455667789::;;<<=0//..--,)**++,,-@??>>==<A@@??>>={{zzyyxxRRSSTTUU~~}}||BBCCDDEE''&&%%$$2233445577665544MMNNOOPPgffeeddcZ[[\\]]^ wvvuuttsJKKLLMMN~~}}||{z{{||}}~899::;;<=>>??@@A,++**))(-..//001<;;::998 !=7766554wwvvuutsVVWWXXYY{{zzyyxxFFGGHHII##""!! 6677889933221100QQRRSSYY -cbbaa``_^__``aab - - srrqqppoNOOPPQQR{zzyyxxw~<==>>??@~~}}|ABBCCDDE(''&&%%$1223344587766554!""##$$%43322110rqpoonnmZZ[[\\]] wwvvuuttJJKKLLMM::;;<<==//..--,,ZZ[[\\]] - _^^]]\\[bccddeefonnmmllkRSSTTUUVwvvuuoon@AABBCCD|{{zzyyxEFFGGHHI$##""!! 5667788943322110%&&''(()0//..--,mllkkjji^^__``aa - - ssrrqqppNNOOPPQQ>>??@@AA++**))((^^__``aa[ZZYYXXWfgghhiijkjjiihhgVWWXXYYZnmmllkkjDEEFFGGHxwwvvuutIJJKKLLM 9::;;<<=0//..--,)**++,,-,++**))(ihhggffebbccddeeoonnmmllRRSSTTUU~~}}||BBCCDDEE''&&%%$$bbccddeeWVVUUTTSjkkllmmngffeeddcZ[[\\]]^ jiihhggfHIIJJKKLtssrrqqpMNNOOPPQ=>>??@@A,++**))(-..//001(''&&%%$eddccbbaffgghhiikkjjiihhVVWWXXYY{{zzyyxxFFGGHHII##""!! ffgghhiiSRRQQPPOnooppqqr -cbbaa``_^__``aab - - feeddccbLMMNNOOPpoonnmmlQRRSSTTU~~}}|ABBCCDDE(''&&%%$12233445$##""!!a``__^^]jjkkllmmggffeeddZZ[[\\]] wwvvuuttJJKKLLMMjjkkllmmONNMMLLKrssttuuv - _^^]]\\[bccddeefbaa``__^~~}PQQRRSSTlkkjjiihUVVWWXXY|{{zzyyxEFFGGHHI$##""!! 56677889]\\[[ZZYnnooppqq ccbbaa``^^__``aa - - ssrrqqppNNOOPPQQ~~}}||{{nnoouuvv !!"KJJIIHHGvwwxxyyz[ZZYYXXWfgghhiij^]]\\[[Z}||{{zzyTUUVVWWXhggffeedYZZ[[\\] xwwvvuutIJJKKLLM 9::;;<<=YXWVUTSSrrssttuu - - __^^]]\\bbccddeeoonnmmllRRSSTTUUzzyyxxwwwwxxyyzz"##$$%%&GFFEEDDCz{{||}}~WVVUUTTSjkkllmmnZYYSSRRQyxxwwvvuXYYZZ[[\dccbbaa`]^^__``a - - tssrrqqpMNNOOPPQ=>>??@@ARRQQPPOOvvwwxxyy[[ZZYYXXffgghhiikkjjiihhVVWWXXYYvvuuoonn{{||}}~~&''(())*CBBAA@@?~SRRQQPPOnooppqqr -QPPOONNMuttssrrq\]]^^__``__^^]]\abbccddepoonnmmlQRRSSTTU~~}}|ABBCCDDE NNMMLLKKzz{{||}}WWVVUUTTjjkkllmmggffeeddZZ[[\\]] mmllkkjj*++,,--.?>>==<<;ONNMMLLKrssttuuv - MLLKKJJIqppoonnm`aabbccd\[[ZZYYXeffgghhilkkjjiihUVVWWXXY|{{zzyyxEFFGGHHI - - JJIIHHGG~~SSRRQQPPnnooppqq ccbbaa``^^__``aa - - iihhggff.//00112;::99887 !!"KJJIIHHGvwwxxyyzIHHGGFFEmllkkjjideeffgghXWWVVUUTijjkkllmhggffeedYZZ[[\\] xwwvvuutIJJKKLLMFFEEDDCCOONNMMLLrrssttuu - - __^^]]\\bbccddeeeeddccbb2334455676655443"##$$%%&GFFEEDDCz{{||}}~EDDCCBBAihhggffehiijjkklTSSRRQQPmnnooppq dccbbaa`]^^__``a - - tssrrqqpMNNOOPPQ -BBAA@@?? !!KKJJIIHHvvwwxxyy[[ZZYYXXffgghhiiaa``__^^6778899:3221100/&''(())*CBBAA@@?~A@@??>>=eddccbbalmmnnoopPOONNMMLqrrssttu - - `__^^]]\abbccddepoonnmmlQRRSSTTU - >>==<;:9""##$$%%GGFFEEDDzz{{||}}WWVVUUTTjjkkllmm]]\\[[ZZ:;;<<==>/..--,,+*++,,--.?>>==<<;=7766554a``__^^]pqqrrsstLKKJJIIHuvvwwxxy \[[ZZYYXeffgghhilkkjjiihUVVWWXXY87766554&&''(())CCBBAA@@~~SSRRQQPPnnooppqq YYSSRRQQ>??@@AAB+**))(('.//00112;::99887 !!"43322110]\\[[ZZYtuuvvwwxHGGFFEEDyzz{{||}XWWVVUUTijjkkllmhggffeedYZZ[[\\]43322110**++,,--??>>==<<OONNMMLLrrssttuu - - PPOONNMMBCCDDEEF'&&%%$$#2334455676655443"##$$%%&0//..--,YXXWWVVUxyyzz{{|DCCBBAA@}~~TSSRRQQPmnnooppq dccbbaa`]^^__``a0//..--,..//0011;;::9988 !!KKJJIIHHvvwwxxyyLLKKJJIIFGGHHIIJ#""!! 6778899:3221100/&''(())*,++**))(UTTSSRRQ|}}~~@??>>==<POONNMMLqrrssttu - - `__^^]]\abbccdde!!""#,++**))(2233445577665544""##$$%%GGFFEEDDzz{{||}}HHGGFFEEJKKLLMMN:;;<<==>/..--,,+*++,,--.(''&&%%$QPPOONNM<;;::998 !LKKJJIIHuvvwwxxy \[[ZZYYXeffgghhi#$$%%&&'(''&&%%$6677889933221100&&''(())CCBBAA@@~~DDCCBBAA~~}}||{NOOPPQQR>??@@AAB+**))(('.//00112$##""!!MLLKKJJIfpvXQJ`ےdrtAJJXQrbtlbHAAJltf`vXbtlf~HbHAJltJXQrArdt琙bHAZJlt`vXntlJf~HbHAZ`vXnr˂ptlJHAZp˂nXv`bHAZltb˂pZHJtArdZp˂bdQZ|nvpJtArdfpvZp˂bnvp˂pZHlJfpp˂rbdQZ|vpftArdfpvp˂rvpfZHAbtArdrXQJf~Hp˂rdQZ|`Abے`|ZdQrXQJ`ہdrtfH~˂|ZdQnXv`rXQJ`۝fHAb˝vnvXQJ`ےdrtAے`JXQ|ZdQbnXv`XQJ`ےH~fے`JXQ|ZdQb`ےbfpvXQJ`ےvXnJXQrbtlbHAAJltf`vXbtlf~HbHAf`vXpZHAf~HbHAZJltr˂ptlJf~HbHAZ`vXnr˂ptlJHAXQJ`nXv`bHAZvpfHZHAbJfpvZp˂bdQZ|nvpJtArdfpvZp˂nvpbے`fpvp˂rbdQZ|ZHAbtArdfpvp˂rvpfZHAbtArdےbHAf~Hp˂r~f`ے`JXQnXv`rXQJ`ہdrtfH~˂|ZdQnXv`rXQJ`fH~JXQrnXv`XQJ`ےdrtAے`JXQ|ZdQbnXv`XQJ`ےH~fے`JXQ|ZdQbZp˂fpvXQJ`ےvXnr˂pf~HbHAAJltf`vXbtlf~HbHAf`vXpZHAf~HbHAZJltr˂ptlJf~HJlt`vXnr˂ptlJrXQJ`nXv`bHAZvp`vZHAbfpvZp˂bdQZ|nvpJtArdfpvZp˂nvpbے`fpvp˂rbdQZ|ZHAbtArdfpvbdQZ|vpfZHAbtArdےbHAf~Hp˂rXnvے`JXQnXv`rXQJ`ہdrtfے`JX|ZdQnXv`rXQJ`fH~JXQHAbnXv`XQJ`ےdrtAے`JXQ|ZdQbnXv`drtAH~fے`JXQ|ZdQbZp˂fpvXQJ`ےpfH~r˂pf~HbHAAJltQr˂pbtlf~HbHAf`vXے`JXf~fpېbHAZJltr˂ptlJf~HJlt`vXnr˂ptlJbHAZnXv`bHAZf`vZAb`fpvZp˂bdQZ|ZHAbJtArdfpvZp˂nvpQr˂pvnXp˂rbdQZ|ZHAbtArdfpvbdQZ|vpfZHAbfpvp˂rf~Hp˂rXnvJXQr˅nXv`rXQJ`ہdrtے`JX|ZdQnXv`rXQJ`fH~ˑZHAbv`fXQJ`ےdtAJے`JXQ|ZdQbnXv`drtAH~fے`JXQ~HfXQJ`ےfpvXQJ`ےpfH~pZHAf~HbHAAJltQr˂pbtlf~HJltf`vXے`JX~HfpېbHAZltbr˂ptlJf~HJlt`vXnr˂ppvnbHAZnXv`bHAZvpbے`fpvZp˂bdQZ|ZHAbJtArdfpvbdQZ|nvpQr˂pvnXp˂rnvpZHAbtArdfpvbdQZ|vpfZHAbXv`fp˂rf~Hp˂rfH~JXQr˅nXv`rXQJ`ہdrtے`JX|ZdQnXv`drtfH~ˑ`JXQv`fXQJ`ےfHfے`JXQ|ZdQbnXv`drtAH~fے`JXQ~HfXQJ`pfpvXQJ`ےf`vXpZHAbf~HbHAAJltQr˂pbtlf~HAJltf`vXr˂p~HfvnbHAZ`vXnr˂ptlJfHfJlt`vXnr˂ppvn˂rXQnXv`bHAZnvpJAdfpvZp˂bdQZ|ZHAbJtArdfpvbdQZ|nvpZHAbXv`fp˂rvpfZHAbtArdpvnbdQZ|vpfZHAbXv`pJ`ےf~Hp˂rfH~|ZdQnXv`rXQJ`ہdtAے`JX|ZdQnXv`drtfH~˒`JXQ~HfXQJ`ےH~fے`JXQ|ZdQbrXQJ`drtAH~fے`JXQvnXbHAZpfpvXQJ`ےf`vXbtlf~HbHAJltQr˂pbtlf~HAJltf`vXr˂p`pvnbHAZ`vXnr˂ptlJےHAZJlt`vXnr˂pv`f˂rXQnXv`bHAZH~fJtArdfpvZp˂bnvpZHAbJtArdfpvbdQZ|nvpJXQrXv`fp˂rvpfZHAbtArdp˂rbdQZ|vpfZHAے~HfpJ`ےf~Hp˂r`vXn|ZdQnXv`rXQJ`۝fH˙ے`JX|ZdQnXv`drtfH~btl|~HfXQJ`ےH~fے`JXQ|ZdQbXQJ`ےdrtAH~f`JXQrvnXbHAXQJfpvXQJ`ےvpfbtlf~HbHAf`vXQr˂pbtlfHAJltf`vXZdQbtpvnbHAZ`vXnr˂ptlJbHAZJlt`vXnbtlv`f`ےJlnXv`JltH~fJtArdfpvZp˂nvpZHAbJtArdfpvbdQZ|nvplJtvf~Hp˂rvpfZHAbtArdp˂rbdQZ|vpfJtAd~HXvtbQZf~HdrtAJ`vXn|ZdQnXv`rXQJ`fH~˙ے`JX|ZdQnrXQJ`drtfH~Ard|fpvXQJ`ےH~fے`JXQ|ZdQbXQJ`ےdrtAH~f|ZdQb`f~drtAfpvltbvp`btlf~HbHAf`vXQr˂pbtlےHAAJltf`vXZdQbtnXv`Jlt`vXnr˂ptlJbHAZJlt`vXntlJHfpvJltnXv`dQZ|vXnJtArdfpvZp˂nvpZHAbJtArdZp˂bdQZ|nvpl|f~HbdQZ|vpfZHAbtArdp˂rbdQZ|vpftArdnXvbdQZ|f~HdrtAJvpfH|ZdQnXv`rXQJ`fH~˙ے`JX|ZdQrXQJ`ہdrtfH~ZdQbtfpvdrtAH~fے`JXQ|ZdQbXQJ`ےdrtAH~f|ZdQb`f~drtAfpvltb~f`btlf~HbHAf`vXQr˂pbtlbHAAJltf`vXlJtAnXv`Jlt`vXnr˂ptlJbHAZJlt`vXntlJHfpvJltnXv`dQZ|lvXnJtArdfpvZp˂nvpZHAbJtArdZp˂bdQZ|nvprd|f~fpbdQZ|vpfZHAbfpvp˂rbdQZ|vpftArd~HbdQZ|f~HtbdQvpfH|ZdQnXv`rXQJ`fH~˙ے`JX|ZdQrXQJ`ہdrtfH~ZdQbtvnXdrtAH~fے`JXQnXv`XQJ`ےdrtAH~f|ZdQbfpvrAJl璂rAJlfpvZ|d~vbtlf~HJltf`vXQr˂pbtlbHAAJltf`vXlJtAv`fJlt`vXnr˂pf~HbHAZJlt`vXntlJnXv`tbdQZtbdQnXv`rtAJlpfے`JtArdfpvbdQZ|nvpZHAbJtArdZp˂bdQZ|nvprdtl~HfpbdQZ|vpfZHAbfpvp˂rbdQZ|vpftArdf~H|drZ|df~HtbdQJXQr|ZdQnXv`drtfH~˙ے`JX|ZdQrXQJ`ہdrtfH~ˑJtArdvnXdrtAH~fے`JXQnXv`XQJ`ےdrtAے`JXQ|ZdQbfpvtAJlrtAJlfpvZ|dZHAbbtlf~HAJltf`vXQr˂pbtlbHAAJltf`vX|Zdv`ffJlt`vXnr˂pf~HbHAZJltr˂ptlJnXv`tbdQZtbdQnXv`rtAdQZ`JXQJtArdfpvbdQZ|nvpZHAbJfpvZp˂bdQZ|nvpQbtlpvnbdQZ|vpfZHAbfpvp˂rbdQZ|ZHAbtArdpvn|drZ|AJlp˂r|drr˂p|ZdQnXv`drtfH~˙ے`JXnXv`rXQJ`ہdrtfH~ˑJtArdrXQJ`drtAH~fے`JXQnXv`XQJ`ےdrtAے`JXQ|ZdQbXv`ftAJbdtbXQJ`ےtAJlZHAbbtlf~HAJltf`vXQr˂pf~HbHAAJltf`vX|ZdےHAZJlt`vXnr˂pf~HbHAZJltr˂ptlJ~HfQZ|dnvpbHAZtbdQZ`JXQJtArdfpvbdQZ|nvpZHAbfpvZp˂bdQZ|nvpQtArdp˂rbdQZ|vpfZHAےfpvp˂rbdQZ|ZHAbtArdpvnrtAJlfHf`p˂r|drr˂pZ|ZdQnXv`drtfH~˙ے`JXnXv`rXQJ`ہdrtfے`JX|ZdQXQJ`ےdrtAH~f`JXQrnXv`XQJ`ےdrtAے`JXQ|ZdQbXv`ptbdvXnXQJ`ےtAJlAb`JbtlfHAJltf`vXQr˂pf~HbHAAJltQHAbbtlbHAZJlt`vXnbtlf~HbHAZJltr˂ptlJvnrQZ|dvpfHbHAZtdrtAXQr˂JtArdfpvbdQZ|nvpZHAbfpvZp˂bdQZ|`JXQJtArdp˂rbdQZ|vpfJtAdfpvp˂rbdQZ|ZHAbtArdXQJ`prtAJl~f`p˂rJltpZHAb|ZdQnrXQJ`drtfH~˙ے`JXnXv`rXQJ`ہdrtr˂p|ZdQXQJ`ےdrtAH~f|ZdQbnXv`XQJ`ےdtAJے`JXQ|ZdQb˂rXQtbQZvXnXQJ`ےbdQZ|ے`JbtlےHAAJltf`vXQr˂pf~HbHAAJltZHAbbtl|bHAZJlt`vXntlJf~HbHAZltbr˂ptlJJ`ےdrtAvpfHbHAZdrtAXQr˂JtArdZp˂bdQZ|nvpZHAۅfpvZp˂bdQZ|`JXQZdQbtp˂rbdQZ|vpftArdfpvp˂rnvpZHAbtArdbHAZpJlt~f`p˂rJltpZHAb|ZdQrXQJ`ہdrtfH~˒`JXQnXv`rXQJ`ہdrtr˂p`lJtXQJ`ےdrtAH~f|ZdQbnXv`XQJ`ےfHfے`JXQ|ZdQb˂rXQbdQZ|vXnXQJ`ےbdQZ|JQrbtlbHAAJltf`vXrbtlf~HbHAAJltJXQrArd|bHAZJlt`vXntlJf~HbHAZ`vXnr˂ptlJJ`p˂drtAvpfHbHAZltb˂pZHJtArdZp˂bdQZ|nvpJtAdfpvZp˂bdQZ|˂pZHZdQbtp˂rbdQZ|vpftArdfpvp˂rvpfZHAbtArdrXQJJlt~f`p˂rdQZ|Abے`|ZdQrXQJ`ہdrtfH~˂|ZdQnXv`rXQJ`ہdtAAbے`lJtXQJ`ےdrtAH~f|ZdQbnXv`XQJ`ےH~fے`JXQ|ZdQb`ےbbdQZ|vXnvpfHZHAbArd|˂rXbdQZ|vpfHArd|fpv˂rXfH~r˂pZpvn˂rXQdQZ|vpfےrd|pvn˂rXQvpfHے`JXQvnXrXQQZ|dAbے`rd|vnXQZ|dvpfHJXQrXnvˍ~f``JXQZdQbtQJ`ےdrtA~f`ZdQbtnXv`QJ`ےf`vXAb`JXv`fJ`ےdrtAJ`JXQrZdQbtXv`fJ`ے~f`HAbےv`f~J`ےrtAJlJXQrZdQbtv`frtAJl~f`˂pZHpfH~ㅍvXnr˂plJbHAZpJltvXnlJtf~HbHAZpnvpXQr˂~HfbHAZpltb˂pZlJtA~HfbHAZpvXn`JXQrfpvbHAZpˑtbd˂pZHlJtA~HfptbdvXnAbے`f۝`vvpfHZHAbfpv˂rXbdQZ|vpfHArd|fpv˂rXfH~pZHAbpvn˂rXQdQZ|HAbےrd|pvn˂rXQvpfH˂pZnXv`rXQQZ|dAbے`rd|vnXQZ|dvpfHJXQrXnvˍ~f``JXQnXv`QJ`ےdrtA~f`ZdQbtnXv`QJ`ےvpے`JXv`fJ`ےdrtAJ`JXQrZdQbtXv`fJ`ےJ~f`HAbےf~HJ`ےtAJlJXQrZdQbtv`frtAJl~f`˂p`ZpfH~ㅍvXnr˂pf~HbHAZpJltvXnlJtf~HbHAZpfH~XQr˂~HfbHAZpltb˂pZlJtA~HfltbvXn`JXQrfpvbHAZp˒tbn˂pZHlJtA~HfptbdvXnQXb㉀f۝`vvpfHZHAbfpv˂rXbdQZ|vpfArd|fpv˂rXf`vXpZA`pvn˂rXQdQZ|HAbےrd|pvndQZ|vpfH˂p`nXv`rXQvpfHAbے`rd|vnXQZ|dvpfHۑpJAHrXnvˍ~f``JXQnXv`QJ`ےdrtA`JXQZdQbtnXv`QJ`ےnvpJXQrbXv`fJ`ےdrtAJ`JXQrZdQbtXv`fdrtAJ~f`JXQrf~HJ`ےㅐf`JXQrZdQbtv`frtAJl~f`󙐂ˁ`ZpfH~ㅍvXnr˂pf~HbHAZpJltr˂plJtf~HbHAZpfH~tlJ~HfbHAZpltb˂pZlJtA~HfltbvXn˂pZHAfvnXbHAZpvXnۉ˂pZHlJtAHfpۑtbdvXnQXb㉀f۝`vvpfHZHAbfpv˂rXbdQZ|ZHAbArd|fpv˂rXf`vXHtAd|pvn˂rXQdQZ|HAbےrd|pvndQZ|vpfHbے`v`f󂀉rXQvpfHAbے`rd|vnrXQZ|dvpfHۑp`ZQXnvˍ~f``JXQnXv`QJ`ےdrtA`JXQZdQbtnXv`QJ`ے~f`ZdQbtXv`fJ`ےdtAJl`JXQrZdQbtXv`fdrtAJ~f`JXQr~HfpJ`ے~f`JXQrZdQbtQJ`ےrtAJl~f`Xb㉀ۑpfH~ㅍvXnr˂pf~HbHAZpJltr˂plJtf~HJltdvXnlJtA~HfbHAZptbn˂pZlJtA~HfltbvXn˂p`JvnXbHAZpvXnۉ˂pZHlJtAHAZpˑtbdvXnpJAHrf۝`vvpfHZHAے`fpv˂rXbdQZ|ZHAbArd|fpvrtAJlvpfHrd|pvn˂rXQvpfHAbےrd|pvndQZ|vpfHXQrbtv`f󂀉rXQvpfHAbے`rd|炀rXQQZ|dvpfHˁ`ZQXnvˍ~f`JXQrnXv`QJ`ےdrtA`JXQZdQbtnXv`ˑtbd~f`ZdQbtXv`fJ`ےHf``JXQrZdQbtXv`fdrtAJ~f`l|Z~HfpJ`ے~f`JXQrZdQbtJ`ےrtAJl~f`Xb㉀ۑpfH~ㅍvXnbtlf~HbHAZpJltr˂plJtf~HQZ|dvXnlJtA~HfbHAZpvXn˂pZlJtAHfpltbvXndQbtvnvfbHAZpvXnۉ˂pZHlJtAbHAZpˑtbdvXnpJAHrf۝`vvpfHJtAd|fpv˂rXbdQZ|ZHAbArd|fpvrtAJlvp`rd|pvn˂rXQvpfHHAbےrd|vnrdQZ|vpfHlJtAr~HfrXQvpfHAbے`rd|炀rXQQZ|dvpfH󐉀ۑpJXnvˍ~f`ZdQbtnXv`QJ`ےdtAJl`JXQZdQbtnXv`ˑtbdvXnZdQbtXv`fJ`ے~f``JXQrZdQbtXQJ`ےdrtAJ~f`d|ZpvnJ`ےJl~f`JXQrZdQbtJ`ےrtAJl~f`AHr󙐂p|drvXnlJtf~HbHAZptbr˂plJtf~HQZ|lvpfHlJtA~HfbHAZpvXn˂pZlJtAHAZpltbvXndQbtXv`ftbdvXnۉ˂pZHlJtAbHAZpˑtbdvXnˁ`ZQXbQtJlvpfHArd|fpv˂rXnvpZHAbArd|fpvtbdQ~f`rd|pvn˂rXQvpfHHAbےrd|˂rXQdQZ|vpfHl|ZdQ~HfQZ|dvpfHAbے`rd|炀rXQQZ|dvpfH㉀ۑpJtbAdZ~f`ZdQbtnXv`QJ`ےfHf``JXQZdQbtnXv`Z|dvXnZdQbtXv`fJ`ے~f``JXQrZdQbtJ`ےdrtAJ~f`btlpvnrtAJl~f`JXQrZdQbtJ`ےrtAJl~f`AHr󙐂|drvXnlJtf~HbHAZpvXnr˂plJtfHfprtAJlvpfHlJtA~HfbHAZpvXn˂pZlJtAbHAZpltbvXnJtArdXv`ftbdvXnۉ˂pZHlJfpbHAZpˑtbdvXnˁ`ZQXAQtJlvpfHArd|fpv˂rXvpfHZHAbArd|vntbdQ~vprd|pvn˂rXQvpfHHAbےrd|˂rXQdQZ|vpfH|ZdQ~fpvQZ|dvpfHAbے`vnXrXQQZ|dvpfHHr󙐂ˁtbAdZ~f`ZdQbtnXv`QJ`ے~f``JXQZdQbtrXQJ`Z|dfے`ZdQbtXv`fJ`ےJ~f``JXQrZdQbtJ`ےdrtAJ~f`btlnXv`rtAJl~f`JXQrv`fJ`ےrtAJl~f``ZQXb|drvXnlJtf~HbHAZpvXnr˂plJtHAZprtAdQZ|JXQrZlJtA~HfltbvXn˂pZlJtAbHAZpltbvXnJtArdf~HtbdvXnۉ˂pZH~HfpbHAZpˑtbdvXnۀۑpJAQtJlvpfArd|fpv˂rXvpfHZHAbArd|˂rXdrtHAbےrd|pvndQZ|vpfHHAbےrd|˂rXQdQZ|vpfHtlJfpvQZ|dvpfHAbے`vnXrXQQZ|dvpfZHHr󙐂ˁtbAdZ`JXQZdQbtnXv`QJ`ے~f``JXQZdQbtQJ`ےAJlt`JXQrZdQbtXv`fdrtAJ~f``JXQrZdQbtJ`ےdrtAJ~f`tArdnXv`rtAJl~f`JXQrv`fJ`ےrtAJlAbے``ZQXb|drr˂plJtf~HbHAZpvXnr˂plJtbHAZpbdQZ|˂pZlJtA~HfltbvXn˂pZlJfbHAZpltbvXn|ZdQbffpۑtbdvXnۉ˂pZH~HfpbHAZpˑtbdJXQrۑp`ZQtJlZHAbArd|fpv˂rXvpfHZHAbArd|˂rXdrtHAbےrd|pvndQZ|vpfHHAbےpvn˂rXQdQZ|vpfHtlJvnrXQZ|dvpfHAbے`vnXrXQQZ|d˂pZHQXb㉀tbAdZ`JXQZdQbtnXv`QJ`ے~f``JXQZdQbtQJ`ےAJlt`JXQrZdQbtXv`fdrtAJ~f``JXQrXv`fJ`ےdrtAJ~f`tArdQJ`ےrtAJl~f`JXQrv`fJ`ےrtAJlAbے`ۑpJAHr|drr˂plJtf~HJltvXnr˂plJtbHAZpdrtA˂pZAlJtA~HfltbvXn˂pZ~HfbHAZpltbvXn|ZdQtAHAZpˑtbdvXnۉ˂pZH~HfpbHAZpˑtbdJXQr󙐂ˁ`ZQtJlZHAbArd|fpvbdQZ|vpfHZHAbArd|˂rXJltb`JXrd|pvndQZ|vpfHHAbےpvn˂rXQdQZ|vpfےrd|rXQQZ|dvpfHAے`vnXrXQQZ|d˂p`QXb㉀tbAdZ`JXQZdQbtnXv`˂drtA~f``JXQZdQbtQJ`ےbdQZ|Qr˂pZdQbtXv`fdrtAJ~f``JXQrXv`fJ`ےdrtAJ`JXQHAZdQbtJ`ےrtAJl~f`JXQrbtv`fJ`ےrtAJlJXQrۑpJAH|drr˂plJtf~HJltvXnr˂plJbHAZpdrtAZHAblJtAHfpltbvXn˂pZ~HfbHAZpltbbے`lJtAbHAZpˑtbdvXnۉlJt~HfpbHAZpˑtbdpZHAf۝`vQtJlZHAbArd|fpvbdQZ|vpfHZHAbfpv˂rXJltے`JXrd|vnrdQZ|vpfHHAbےpvn˂rXQdQZ|JXQrrd|rXQQZ|dvpfHAd|vnXrXQQZ|dbے`XnvˍtbAdZ`JXQZdQbtnXv`˂drtA~f``JXQnXv`QJ`ےbdQZ|lQr˂pZdQbtXQJ`ےdrtAJ~f``JXQrXv`fJ`ےdrtAJ˂pZHAZdQbtJ`ےrtAJl~f`ZdQbtv`fJ`ےtAJlJXQrpfH~|drr˂plJtf~HJltvXnr˂pf~HbHAZptbdZHAblJtAHAZpltbvXn˂pZ~HfbHAZpltbbے`l|ZbHAZpˑtbdvXnےlJtA~HfpbHAZp˒tbnpZHAf۝`vQtJlZHAbArd|fpvbdQZ|vpfHZHAbfpv˂rXQZ|dJQrrd|˂rXQdQZ|vpfHHAے`pvn˂rXQdQZ|JXQrdQbt璂rXQQZ|dvpfHrd|vnXrXQvpfHb˂pXnvˍtbAdZ`JXQZdQbtnXv`˂drtA~f``JXQnXv`QJ`ےrtAJl˂pZHAZdQbtJ`ےdrtAJ~f`JXQrbXv`fJ`ےdrtAJ˂p`JlJtArJ`ےrtAJl~f`ZdQbtv`fJ`ےㅐf`ZHAbpfH~|drr˂plJtfHfpJltvXnr˂pf~HbHAZptbdbے`lJtAbHAZpltbvXntlJ~HfbHAZpltbXQr˂d|ZbHAZpˑtbdvXnےlJtA~HfpbHAZpvXnۙے`JXf۝`vQtJlZHAbArd|vnbdQZ|vpfHZHAbfpv˂rXQZ|lJXQrrd|˂rXQdQZ|vpfHtAd|pvn˂rXQdQZ|pZHAbdQbt璂rXQQZ|dvpfHrd|vnXrXQvpfHQr˂pXnvˍtbAdZ`JXQZdQbtrXQJ`ۂdrtA~f``JXQnXv`QJ`ےtbn˂pZHAZdQbtJ`ےdrtAJ~f`ZdQbtXv`fJ`ےdtAJlے`JlJtArJ`ےrtAJl~f`ZdQbtv`fJ`ے~f`ZHAbpfH~|drr˂plJtHAZpJltvXnr˂pf~HbHAZpvp`bے`lJtAbHAZpltbvXnlJtA~HfbHAZptbnXQr˂dtlbHAZpˑtbdvXnےlJtA~HfpbHAZpvXnۙے`JXf۝`vQtJlZHAbArd|˂rXbdQZ|vpfHZHAے`fpv˂rXvXnJXQrrd|˂rXQdQZ|vpfHrd|pvn˂rXQvpfpZHAbJfpvrXQQZ|dvpfے`rd|vnXrXQvpfHQHAbXnvˍtbAdZ`JXQZdQbtQJ`ےdrtA~f`JXQrnXv`QJ`ےvpfHZHAbZdQbtJ`ےdrtAJ~f`ZdQbtXv`fJ`ےHf`˂pnvfJ`ےrtAJlJXQrZdQbtv`fJ`ے~f``JXQpfH~|drr˂plJtbHAZpJltvXnbtlf~HbHAZp~f``JXQlJfbHAZpltbvXnlJtA~HfbHAZpvXnZHAb~HfpbHAZpˑtbd˂pZHlJtA~HfpbHAZpvXnr˂pf۝`vQtJlZHAbArd|˂rXbdQZ|vpfHJtAd|fpv˂rXvXnr˂ppvn˂rXQdQZ|vpfHrd|pvn˂rXQvpfHے`JXQvnXrXQQZ|dAbے`rd|vnXrXQvpfHZHAbXnvˍtbAdZ`JXQZdQbtQJ`ےdrtA~f`ZdQbtnXv`QJ`ےvp`vXZHAbXv`fJ`ےdrtAJ~f`ZdQbtXv`fJ`ے~f`r˂pv`fJ`ےrtAJlJXQrZdQbtv`fJ`ےJl~f``JXQpfH~|drr˂plJtbHAZpJltvXnlJtf~HbHAZpnvp`JXQ~HfbHAZpltbvXnlJtA~HfbHAZpvXnZHAb~HfpbHAZpˑtbd˂pZHlJtA~HfptbdvXnr˂p`f۝`vQtJlt666666666666666666666666666667777777777777777777 \ No newline at end of file diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv34_0.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv34_0.dat deleted file mode 100644 index 6904005621..0000000000 --- a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv34_0.dat +++ /dev/null @@ -1,305 +0,0 @@ -}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvststststrqrqrqrqpopopoponmnmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYWWWWWXWXUVUVUVUVSTSTSTSTQRQRQRQROPOPOPOPMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvststststrqrqrqrqpopopoponmnmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYWXWXWXWXUVUVUVUVSTSTSTSTQRQRQRQROPOPOPOPMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvststststrqrqrqrqpopopoponmnmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYWXWXWXWXUVUVUVUVSTSTSTSTQRQRQRQROPOPOPOPMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvststststrqrqrqrqpopopoponmnmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYWXWXWXWXUVUVUVUVSTSTSTSTQRQRQRQROPOPOPOPMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvsssssstsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYWXWXWXWXUVUVUVUVSTSTSTSTQRQRQRQROPOPOPOPMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvtstststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYWXWXWXWXUVUVUVUVSTSTSTSTQRQRQRQROPOPOPOPMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvtstststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYWXWWWWWXUVUVUVUVSTSTSTSTQRQRQRQROPOPOPOPMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=<;<;<}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvtstststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYWXWXWXWVUVUVUVUVSTSTSTSTQRQRQRQROPOPOPOPMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@;<;;;;;;}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvtstststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYUVUVUVUVUVUVUVUTSTSTSTSTQRQRQRQROPOPOPOPMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@<;<;<;<;}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvtstststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYUVUVUVUVSTSTSTSTSTSTSTSRQRQRQRQROPOPOPOPMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@<;<;<;<;}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvtstsssssrqrqrqrqpopopoponmnmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYXWXWUVUVUVUVSTSTSTSTQRQRQRQRQRQRQRQPOPOPOPOPMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@<;<;<;<;}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvtstststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[XWXWWWWWUVUVUVUVSTSTSTSTQRQRQRQROPOPOPOPOPOPOPONMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@<;<;<;<;}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvrqrqrqrqrqrqrqrqpopopoponmnmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[WXWXWXWXUVUVUVUVSTSTSTSTQRQRQRQROPOPOPOPMNMNMNMNMNMNMNMLKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?>=><;<;<;<;}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvrqrqrqrqpopopopopopopoponmnmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[WXWXWXWXUVUVUVUVSTSTSTSTQRQRQRQROPOPOPOPMNMNMNMNKLKLKLKLKLKLKLKJIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB=>=>=>=><;<;<;;;}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvutstrqrqrqrqpopopoponmnmnmnmnmnmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[WXWXWXWXUVUVUVUVSTSTSTSTQRQRQRQROPOPOPOPMNMNMNMNKLKLKLKLIJIJIJIJIJIJIJIHGHGHGHGHEFEFEFEFCDCDCDCDABABABAB=>=>=>=>;;;<;<;<<;<;<;<;}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxststssssrqrqrqrqpopopoponmnmnmnmlklklklklklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[WXWXWXWXUVUVUVUVSTSTSTSTQRQRQRQROPOPOPOPMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHGHGHGHGFEFEFEFEFCDCDCDCDABABABAB=>=>=>=>;<;<;<;<<;<;<;<;}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxsstststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijijijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[ZYWXWXWXWXUVUVUVUVSTSTSTSTQRQRQRQROPOPOPOPMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFEFEFEFEDCDCDCDCDABABABAB=>=>=>=>;<;<;<;<<;;;;;<;}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxtstststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijihghghghghghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]ZYZYZYZYWXWXWXWWUVUVUVUVSTSTSTSTQRQRQRQROPOPOPOPMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDCDCDCDCBABABABAB=>=>=>=>;<;<;<;<<;<;<;:9}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxtstststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijihghghghgfefefefefefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]ZYZYZYZYWWWWXWXWUVUVUVUVSTSTSTSTQRQRQRQROPOPOPOPMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABABABABABA@=>=>=>=>;<;<;<;<:9:9:9:9}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxtstststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdcdcdcdcdcbabababa`_`_`_`_^]^]^]^]ZYZYZYZYXWXWXWXWUVUVUVUVSTSTSTSTQRQRQRQROPOPOPOPMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<:9:9:9:9}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwvtstststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdcbabababababababa`_`_`_`_^]^]^]^]ZYZYZYZYXWXWXWXWUVUVUVUVSTSTSTSTQRQRQRQROPOPOPOPMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;;;;;;<;:9:9:9:9}~}~}~}~{|{|{|{|yzyzyzyzuvuvuvuvtstststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_`_`_`_`_^]^]^]^]ZYZYZYZYXWXWXWXWUVUVUVUVSTSTSTSTQRQRQRQROPOPOPOPMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=><;<;<;<;:9:9:9:9}~}~}~}~{|{|{|{|yzyzyzyzuvuvuvuvssssststrqrqrqrqpopopoponmnmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]^]^]^]^]ZYZYZYZYXWXWXWXWUVUVUVUVSTSTSTSTQRQRQRQROPOPOPOPMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=><;<;<;<;:9:9:9:9}~}~}~}~{|{|{|{|yzyzyzyzuvuvuvuvststststrqrqrqrqpopopoponmnmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWUVUVUVUVSTSTSTSTQRQRQRQROPOPOPOPMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=><;<;<;<;:9:9:9:9~}~}~}~}~}~}~}~{|{|{|{|yzyzyzyzuvuvuvuvststststrqrqrqrqpopopoponmnmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWWWWWWXUVUVUVUVSTSTSTSTQRQRQRQROPOPOPOPMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=><;<;<;<;:9:9:9:9}~}~}~}~}|{|{|{|{|{|{|{|yzyzyzyzuvuvuvuvststststrqrqrqrqpopopoponmnmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYWXWXWXWXUVUVUVUVSTSTSTSTQRQRQRQROPOPOPOPMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=><;<;<;<;:9:9:9:9}~}~}~}~{|{|{|{|{zyzyzyzyzyzyzyzuvuvuvuvststststrqrqrqrqpopopoponmnmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYWXWXWXWXUVUVUVUVSTSTSTSTQRQRQRQROPOPOPOPMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=><;<;;;;;:9:9:9:9}~}~}~}~{|{|{|{|yzyzyzyzyxwxwxwxuvuvuvuvststststrqrqrqrqpopopoponmnmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYWXWXWXWXUVUVUVUVSTSTSTSTQRQRQRQROPOPOPOPMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<:9:9:9:9}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvstssssssrqrqrqrqpopopoponmnmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYWXWXWXWXUVUVUVUVSTSTSTSTQRQRQRQROPOPOPOPMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<:9:9:9:9}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvtstststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYWXWXWXWXUVUVUVUVSTSTSTSTQRQRQRQROPOPOPOPMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<:9:9:9:9}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvtstststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYWXWXWWWWUVUVUVUVSTSTSTSTQRQRQRQROPOPOPOPMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<:9:9:9:9}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvtstststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYWWXWXWXWUVUVUVUVSTSTSTSTQRQRQRQROPOPOPOPMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;<:9:9:9:9}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvtstststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWUVUVUVUVSTSTSTSTQRQRQRQROPOPOPOPMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;<;<;<;;:9:9:9:9}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvtstststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWUVUVUVUVSTSTSTSTQRQRQRQROPOPOPOPMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=>;;;;<;<;:9:9:9:9}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvtststsssrqrqrqrqpopopoponmnmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWUVUVUVUVSTSTSTSTQRQRQRQROPOPOPOPMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=><;<;<;<;:9:9:9:9}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvssstststrqrqrqrqpopopoponmnmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWUVUVUVUVSTSTSTSTQRQRQRQROPOPOPOPMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=><;<;<;<;:9:9:9:9}~}~}~}~{|{|{|{|yzyzyzyzwxwxwxwxuvuvuvuvststststrqrqrqrqpopopoponmnmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWUVUVUVUVSTSTSTSTQRQRQRQROPOPOPOPMNMNMNMNKLKLKLKLIJIJIJIJGHGHGHGHEFEFEFEFCDCDCDCDABABABAB?@?@?@?@=>=>=>=><;<;<;<;:9:9:9:9:9:9:9:9878787876565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - - -:9:9:9:9878787876565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - - -:9:9:9:9878787876565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - - -:9:9:9:9878787876565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - - -:9:9:9:9878787876565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - - -:9:9:9:9878787876565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - -:9:9:9:9878787876565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - -:9:9:9:9878787876565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - - -:9:9:9:9878787876565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - - -:9:9:9:9878787876565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - - -:9:9:9:9878787876565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - - -:9:9:9:9878787876565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - - -:9:9:9:9878787876565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!       - - - -:9:9:9:9878787876565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!       - - - -:9:9:9:9878787876565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!     - - - -:9:9:9:9878787876565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!     - - - -:9:9:9:9878787876565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!        - - - -:9:9:9:9878787876565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#       - - - -:9:9:987878787876565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#         - - - -87878787878787656565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#         - - - -87878787656565656565654343434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#         - - - -87878787656565654343434343434321212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#          - - - -878787876565656543434343212121212121210/0/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#"!"!           - - - -878787876565656543434343212121210/0/0/0/0/0/0/.-.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%"!"!"!"!       - - - - - -878787876565656543434343212121210/0/0/0/.-.-.-.-.-.-.-,+,+,+,+,+*)*)*)*)('('('('&%&%&%&%"!"!"!"!        - - - - - - 878787876565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+,+,+,+*)*)*)*)*)('('('('&%&%&%&%"!"!"!"!         - - - -878787876565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)*)*)*)('('('('('&%&%&%&%"!"!"!"!         - - - -878787876565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('('('('&%&%&%&%&%"!"!"!"!         - - - -878787876565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%&%&%&%$#"!"!"!"!         - - - -878787876565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - - -878787876565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!       - - - -878787876565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - - -878787876565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - - -878787876565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - - -878787876565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - - -878787876565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - - -878787876565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!      - - - - 33445566ONNMMLLKTUUVVWWXIHHGGFFELMMNNOOPQPPOONNMDEEFFGGHYXXWWVVU<==>>??@a``__^^]45566778ihhggffe,--..//0gffeeddcOPPQQRRS54433221eeffgghh88776655]]^^__``@@??>>==UUVVWWXXHHGGFFEEMMNNOOPPPPOONNMMEEFFGGHHXXWWVVUU==>>??@@QQPPOONNeeffgghh$#"! uvvwwxxy(''&&%%$mnnooppq0//..--,effgghhi87766554]^^__``a@??>>==>=TUUVVWWXIHHGGFFELMMNNOOPQPPOONNMDEEFFGGHYXXWWVVU<==>>??@a``__^^]45566778_^^]]WWVW]]^^__`-,,++**)mmnnoopp00//..--eeffgghh88776655]]^^__``@@??>>==UUVVWWXXHHGGFFEEMMNNOOPPPPOONNMMEEFFGGHHIIHHGGFFmmnnoopp}~~ uvvwwxxy(''&&%%$mnnooppq0//..--,effgghhi87766554]^^__``a@??>>==`aabbccd=<<;;::9XYYZZ[[\EDDCCBBAPQQRRSSTMLLKKJJIHIIJJKKLUTTSSRRQ@AABBCCD]\\[[ZZY899::;;>=TUUVVWWXIHHGGFFELMMNNOOPQPPOONNMDEEFFGGHYXXWWVVU<==>>??@RQQPPOONdeeffggh%$#"! uuvvwwxx((''&&%%mmnnoopp00//..--eeffgghh88776655]]^^__``@@??>>==UUVVWWXXHHGGFFEEMMNNOOPPAA;;::99zz{{||}}}~~ uvvwwxxy(''&&%%$mnnooppq0//..--,effgghhi87766554]^^__``a,++**))(!!""##$$rrqqppooLLMMNNOO88776655hiijjkkl54433221`aabbccd=<<;;::9XYYZZ[[\EDDCCBBAPQQRRSSTMLLKKJJIHIIJJKKLUTTSSRRQ@AABBCCDNMMLLKKJhiijjkklyyzz{{||$$##""!!qqrrsstt,,++**))iijjkkll44332211aabbccdd<<;;::99YYZZ[[\\DDCCBBAAQQRRSSTT88776655~~ -yzz{{||}$##""!! qrrssttu,++**))(ijjkkllm43322110abbccdde(''&&%%~~}}%%&&''((nnmmllkkPPQQRRSS44332211lmmnnoop100//..-deeffggh98877665\]]^^__`A@@??>>=TUUVVWWXIHHGGFFELMMNNOOPQPPOONNMDEEFFGGHJIIHHGGFlmmnnoop}}~~ uuvvwwxx((''&&%%mmnnoopp00//..--eeffgghh88776655]]^^__``@@??>>==UUVVWWXX44332211 -  }~~ uvvwwxxy(''&&%%$mnnooppq0//..--,effgghhi||{{zzyy))**++,,jjiihhggTTUUVVWW00//..--pqqrrsst-,,++**)hiijjkkl54433221`aabbccd=<<;;::9XYYZZ[[\EDDCCBBAPQQRRSSTMLLKKJJIHIIJJKKLFEEDDCCBpqqrrssyyyzz{{||$$##""!!qqrrsstt,,++**))iijjkkll44332211aabbccdd<<;;::99YYZZ[[\\00//..-- - - yzz{{||}$##""!! qrrssttu,++**))(ijjkkllmxxwwvvuu--..//00ffeeddcc]]^^__``,,++**))tuuvvwwx)((''&&%lmmnnoop100//..-deeffggh98877665\]]^^__`A@@??>>=TUUVVWWXIHHGGFFELMMNNOOPBAA;;::9yzz{{||}}}~~ uuvvwwxx((''&&%%mmnnoopp00//..--eeffgghh88776655]]^^__``,,++**)) }~~ uvvwwxxy(''&&%%$mnnooppqttssrrqq11223344bbaa``__aabbccdd((''&&%%xyyzz{{|%$$##""!pqqrrsst-,,++**)hiijjkkl54433221`aabbccd=<<;;::9XYYZZ[[\EDDCCBBAPQQRRSST98877665}~~ yyzz{{||$$##""!!qqrrsstt,,++**))iijjkkll44332211aabbccdd((''&&%%  - - yzz{{||}$##""!! qrrssttuppoonnmm55667788^^]]WWVVeeffgghh$#"! |}}~~! tuuvvwwx)((''&&%lmmnnoop100//..-deeffggh98877665\]]^^__`A@@??>>=TUUVVWWX54433221 - -  }}~~ uuvvwwxx((''&&%%mmnnoopp00//..--eeffgghh - -  }~~ uvvwwxxy llkkjjii99::;;<>??@@QQPPOONNmmnnoopp|}}~~! tuuvvwwx)((''&&%lmmnnoop100//..-deeffggh98877665\]]^^__`-,,++**) }}~~ uuvvwwxx((''&&%%mmnnoopp - -  }~~~~}}||ddccbbaaAABBCCDDMMLLKKJJqqrrssyyxyyzz{{|%$$##""!pqqrrsst-,,++**)hiijjkkl54433221`aabbccd)((''&&% - - yyzz{{||$$##""!!qqrrsstt   - -  -{{zzyyxw``__^^]]EEFFGGHHIIHHGGFFzz{{||}} |}}~~! tuuvvwwx)((''&&%lmmnnoop100//..-deeffggh% - -  }}~~ uuvvwwxx  - -  - vutssrrq\\[[ZZYYIIJJKKLLEEDDCCBB~~ - - - xyyzz{{|%$$##""!pqqrrsst-,,++**)hiijjkkl  - - yyzz{{|| - -  !~~}}|   - - qppoonnm - -XXWWVVUUMMNNOOPPAA;;::99 -   |}}~~! tuuvvwwx)((''&&%lmmnnoop - -  }}~~~~}}|!""##$$%|{{zzyyx - - mllkkjji TTSSRRQQQQRRSSTT88776655 - - xyyzz{{|%$$##""!pqqrrsst  - -  |{{zzyyx%&&''(()xwwvvuut !~~}}|  ihhggffePPOONNMMUUVVWWXX44332211 - -   |}}~~! tuuvvwwx  - -  - - wvutssrr)**++,,-tssrrqqp!""##$$%|{{zzyyx - - eddccbbaLLKKJJIIYYZZ[[\\00//..--  - - xyyzz{{| - -  ~~}}  - - qqppoonn-..//001poonnmml%&&''(()xwwvvuut !~~}}|  %%&&'a``__^^] HHGGFFEE]]^^__``,,++**)) - -   |}}~~~~}}!!""##$$||{{zzyy - - mmllkkjj12233445lkkjjiih)**++,,-tssrrqqp!""##$$%|{{zzyyx - - '(())**+]\[ZYXWW - - DDCCBBAAaabbccdd((''&&%%  - -  ||{{zzyy%%&&''((xxwwvvuu ~~}} iihhggff56677889hggffeed-..//001poonnmml%&&''(()xwwvvuut !~~}}| +,,--../VVUUTTSS@@??>>==eeffgghh - -   - - xwvutssr))**++,,ttssrrqq!!""##$$||{{zzyy - - eeddccbb9::;;<<=dccbbaa`12233445lkkjjiih)**++,,-tssrrqqp!""##$$%|{{zzyyx/0011223RRQQPPOO<<;;::99iijjkkll ~~}  - - rqqppoon--..//00ppoonnmm%%&&''((xxwwvvuu ~~}} %%&&aa``__^^=>>??@@A`__^^]]\56677889hggffeed-..//001poonnmml%&&''(()xwwvvuut !~~}}|34455667NNMMLLKK88776655mmnnoopp !!""##$}||{{zzy - -  nmmllkkj11223344llkkjjii))**++,,ttssrrqq!!""##$$||{{zzyy - - ''(())**]]\[ZYXWABBCCDDE\[[ZZYYX9::;;<<=dccbbaa`12233445lkkjjiih)**++,,-tssrrqqp!""##$$%|{{zzyyx~~}}||{78899::;JJIIHHGG44332211qqrrsstt$%%&&''(yxxwwvvu ~~} jiihhggf55667788hhggffee--..//00ppoonnmm%%&&''((xxwwvvuu ~~}} ++,,--..WVVUUTTSEFFGGHHIXWWVVUUT=>>??@@A`__^^]]\56677889hggffeed-..//001poonnmml%&&''(()xwwvvuut !{zzyyssr;AABBCCDFFEEDDCC !!00//..--uuvvwwxx ~~}}|())**++,uttssrrq !!""##$}||{{zzy - - feeddccb99::;;<=""##$$%%,,++**))yyzz{{|| - - |{{zzyyx,--..//0qppoonnm$%%&&''(yxxwwvvu ~~} %%&baa``__^==>>??@@``__^^]]55667788hhggffee--..//00ppoonnmm%%&&''((xxwwvvuu ~~}}33445566ONNMMLLKMNNOOPPQPOONNMMLEFFGGHHIXWWVVUUT=>>??@@A`__^^]]\56677889hggffeed-..//001poonnmml%&&''(()nmmllkkjHIIJJKKL<;;::998&&''(())((''&&%%}}~~ - - wvutssrr01122334mllkkjji())**++,uttssrrq !!""##$}||{{zzy - - &''(())*^]]\[ZYXAABBCCDD\\[[ZZYY99::;;<>??@@``__^^]]55667788hhggffee--..//00ppoonnmm%%&&''((xxwwvvuu {{zzyyss;;AABBCCGFFEEDDCUVVWWXXYHGGFFEEDMNNOOPPQPOONNMMLEFFGGHHIXWWVVUUT=>>??@@A`__^^]]\56677889hggffeed-..//001feeddccbPQQRRSST43322110..//0011 mmllkkjj899::;;YZZ[[\\]DCCBBAA@QRRSSTTULKKJJIIHIJJKKLLMTSSRRQQPABBCCDDE\[[ZZYYX9::;;<<=dccbbaa`12233445baa``__^TUUVVWW]0//..--,22334455iihhggff<==>>??@a``__^^]45566778ihhggffe,--..//0qppoonnm$%%&&''(yxxwwvvu ~~}23344556OONNMMLLMMNNOOPPPPOONNMMEEFFGGHHXXWWVVUU==>>??@@``__^^]]55667788hhggffee--..//00ppoonnmm%%&&''((nnmmllkkHHIIJJKK=<;;::99]^^__``a@??>>==>??@@A`__^^]]\56677889^]]WWVVU]^^__``a,++**))(66778899eeddccbb@AABBCCD]\\[[ZZY899::;;>??@a``__^^]45566778ihhggffe,--..//0qppoonnm$%%&&''(yxxwwvvu |{{zzyys:;;AABBCGGFFEEDDUUVVWWXXHHGGFFEEMMNNOOPPPPOONNMMEEFFGGHHXXWWVVUU==>>??@@``__^^]]55667788hhggffee--..//00ffeeddccPPQQRRSS44332211effgghhi87766554]^^__``a@??>>==>??@@AQPPOONNMeffgghhi#"! >>??@@AA ''(())**]]\[ZYXWHIIJJKKLUTTSSRRQ@AABBCCD]\\[[ZZY899::;;>??@a``__^^]45566778ihhggffe,--..//0qppoonnm$%%&&''(onnmmllkGHHIIJJK>=<;;::9]]^^__``@@??>>==UUVVWWXXHHGGFFEEMMNNOOPPPPOONNMMEEFFGGHHXXWWVVUU==>>??@@``__^^]]55667788^^]]WWVV]]^^__``,,++**))mnnooppq0//..--,effgghhi87766554]^^__``a@??>>==>??@@AA__^^]]\\66778899ggffeedd..//0011oonnmmll&&''(())mmllkkjjIIJJKKLL;;::9988^__``aab?>>==<<;VWWXXYYZGFFEEDDCNOOPPQQRONNMMLLKFGGHHIIJWVVUUTTS>??@@AAB_^^]]\\[6778899:UTTSSRRQijjkkllmRRSSTTUUKKJJIIHHJJKKLLMMSSRRQQPPBBCCDDEE[[ZZYYXX::;;<<==ccbbaa``22334455kkjjiihh**++,,--iihhggffMMNNOOPP77665544bccddeef;::99887Z[[\\]]^CBBAA@@?RSSTTUUVKJJIIHHGJKKLLMMNSRRQQPPOBCCDDEEF[ZZYYXXW:;;<<==>QPPOONNMmnnooppqVVWWXXYYGGFFEEDDNNOOPPQQOONNMMLLFFGGHHIIWWVVUUTT>>??@@AA__^^]]\\66778899ggffeedd..//0011eeddccbbQQRRSSTT33221100fgghhiij76655443^__``aab?>>==<<;VWWXXYYZGFFEEDDCNOOPPQQRONNMMLLKFGGHHIIJWVVUUTTS>??@@AABMLLKKJJIqrrssyyz ZZ[[\\]]CCBBAA@@RRSSTTUUKKJJIIHHJJKKLLMMSSRRQQPPBBCCDDEE[[ZZYYXX::;;<<==ccbbaa``22334455aa``__^^UUVVWW]]//..--,,jkkllmmn3221100/bccddeef;::99887Z[[\\]]^CBBAA@@?RSSTTUUVKJJIIHHGJKKLLMMNSRRQQPPOBCCDDEEFIHHGGFFEz{{||}}~ - - ^^__``aa??>>==<>??@@AA__^^]]\\66778899]]WWVVUU^^__``aa++**))((nooppqqr/..--,,+fgghhiij76655443^__``aab?>>==<<;VWWXXYYZGFFEEDDCNOOPPQQRONNMMLLKFGGHHIIJEDDCCBBA~ - - bbccddee;;::9988ZZ[[\\]]CCBBAA@@RRSSTTUUKKJJIIHHJJKKLLMMSSRRQQPPBBCCDDEE[[ZZYYXX::;;<<==TTSSRRQQbbccddee''&&%%$#rssttuuv+**))(('jkkllmmn3221100/bccddeef;::99887Z[[\\]]^CBBAA@@?RSSTTUUVKJJIIHHGJKKLLMMNA;;::998 ffgghhii77665544^^__``aa??>>==<>??@@AAPPOONNMMffgghhii"! vwwxxyyz'&&%%$$#nooppqqr/..--,,+fgghhiij76655443^__``aab?>>==<<;VWWXXYYZGFFEEDDCNOOPPQQR87766554jjkkllmm33221100bbccddee;;::9988ZZ[[\\]]CCBBAA@@RRSSTTUUKKJJIIHHJJKKLLMMSSRRQQPPBBCCDDEELLKKJJIIjjkkllmmz{{||}}~#""!! rssttuuv+**))(('jkkllmmn3221100/bccddeef;::99887Z[[\\]]^CBBAA@@?RSSTTUUV43322110nnooppqq//..--,,ffgghhii77665544^^__``aa??>>==<>==<<;VWWXXYYZ0//..--,rrssttuu++**))((jjkkllmm33221100bbccddee;;::9988ZZ[[\\]]CCBBAA@@RRSSTTUUKKJJIIHHJJKKLLMMDDCCBBAArrssyyzzz{{||}}~#""!! rssttuuv+**))(('jkkllmmn3221100/bccddeef;::99887Z[[\\]]^,++**))( vvwwxxyy''&&%%$$nnooppqq//..--,,ffgghhii77665544^^__``aa??>>==<>==<>??@ ~~vvwwxxyy''&&%%$$nnooppqq -  ~eddccbba@AABBCCD - - zz{{||}}##""!! rrssttuu - - - a``__^^]DEEFFGGH ~~vvwwxxyy  -  ]\\[[ZZYHIIJJKKL  - - zz{{||}} - -  !!"~~}}||{ - - - YXXWWVVULMMNNOOP - -  ~~~~}}||{"##$$%%&{zzyyxxw - %%&&'UTTSSRRQPQQRRSST  - -  - -{zzyyxwv&''(())*wvvuutts !!"~~}}||{ -'(())**+QPPOONNMTUUVVWWX - -  utssrrqq*++,,--.srrqqppo"##$$%%&{zzyyxxw - +,,--../MLLKKJJIXYYZZ[[\~~}}||  - - ppoonnmm.//00112onnmmllk&''(())*wvvuutts !!"~~}}||{ -/0011223IHHGGFFE\]]^^__`{{zzyyxx - - llkkjjii23344556kjjiihhg*++,,--.srrqqppo"##$$%%&{zzyyxxw - 34455667EDDCCBBA`aabbccdwwvvuutt !!~~}}|| hhggffee6778899:gffeeddc.//00112onnmmllk&''(())*wvvuutts !!"~~}}||{78899::;A@@??>>=deeffgghssrrqqpp""##$$%%{{zzyyxx - - ddccbbaa:;;<<==>cbbaa``_23344556kjjiihhg*++,,--.srrqqppo"##$$%%&{zzyyxxw;AABBCCD=<<;;::9hiijjkkloonnmmll&&''(())wwvvuutt !!~~}}|| %%&&''``__^^]]>??@@AAB_^^]]\\[6778899:gffeeddc.//00112onnmmllk&''(())*wvvuutts !!"~~}}||{~~}}||{DEEFFGGH98877665lmmnnoopkkjjiihh**++,,--ssrrqqpp""##$$%%{{zzyyxx - - (())**++\[ZYXWWVBCCDDEEF[ZZYYXXW:;;<<==>cbbaa``_23344556kjjiihhg*++,,--.srrqqppo"##$$%%&{zzyyxxw{zzyyssrHIIJJKKL54433221pqqrrsstggffeedd..//0011oonnmmll&&''(())wwvvuutt !!~~}}||,,--..//VUUTTSSRFGGHHIIJWVVUUTTS>??@@AAB_^^]]\\[6778899:gffeeddc.//00112onnmmllk&''(())*wvvuutts !!"rqqppoonLMMNNOOP100//..-tuuvvwwxccbbaa``22334455kkjjiihh**++,,--ssrrqqpp""##$$%%{{zzyyxx00112233RQQPPOONJKKLLMMNSRRQQPPOBCCDDEEF[ZZYYXXW:;;<<==>cbbaa``_23344556kjjiihhg*++,,--.srrqqppo"##$$%%&nmmllkkjPQQRRSST-,,++**)xyyzz{{|__^^]]\\66778899ggffeedd..//0011oonnmmll&&''(())wwvvuutt !!~~}}||44556677NMMLLKKJNOOPPQQRONNMMLLKFGGHHIIJWVVUUTTS>??@@AAB_^^]]\\[6778899:gffeeddc.//00112onnmmllk&''(())*jiihhggfTUUVVWW])((''&&%|}}~~[[ZZYYXX::;;<<==ccbbaa``22334455kkjjiihh**++,,--ssrrqqpp""##$$%%{{zzyyxx~~}}||{{8899::;;JIIHHGGFRSSTTUUVKJJIIHHGJKKLLMMNSRRQQPPOBCCDDEEF[ZZYYXXW:;;<<==>cbbaa``_23344556kjjiihhg*++,,--.feeddccb]^^__``a%$$##""!WWVVUUTT>>??@@AA__^^]]\\66778899ggffeedd..//0011oonnmmll&&''(())wwvvuutt !!zzyyssrrAABBCCDDFEEDDCCBVWWXXYYZGFFEEDDCNOOPPQQRONNMMLLKFGGHHIIJWVVUUTTS>??@@AAB_^^]]\\[6778899:gffeeddc.//00112baa``__^abbccdde! SSRRQQPPBBCCDDEE[[ZZYYXX::;;<<==ccbbaa``22334455kkjjiihh**++,,--ssrrqqpp""##$$%%qqppoonnEEFFGGHHBAA@?>=cbbaa``_23344556^]]WWVVUeffgghhiZHAbtlJ~Hf`ےbrtAJlnvpQr˂pJtArdf~HZp˂AJltnvpQr˂pJtArdf~HZp˂rtAJlf`vXے`JXtArdf~Hp˂rJltvpfr˂ptArdf~Hp˂rJltvpfpZHAbtArdnvf˂rXJltvpfHr˂pArd|f~H˂rXJltvpfHr˂pArd|Xv`J`ےے`JXQtArdpvnHAZp˂tbdfH~ˑZHAb|ZdQfpvrXQJ`ۉbdQZ|fH~ˑZHAb|ZdQfpvrXQJ`ۑtbdnvpQr˂p|ZdQbfpvXQJ`ےbdQZ|H~fZHAb|ZdQbfpvXQJ`ےbdQZ|H~fے`J|ZdQb~HfpQJ`ےbdQZ|~f`ZHAbہZdQbtfpvQJ`ےbdQZ|~f`ZHAbہZdQbtf~HbHAZpr˂p|ZdQbXv`fbHAQZ|df`vXے`JXbtlnXv`bHAdrtf`vXے`JXbtlnXv`bHAQZ|l`vXZHAbtlJnXv`bHAZdrtA`vXnے`JXQtlJnXv`bHAZdrtA`vXnXQr˂tlJvnXbHAZpdrtAvXn`JXQlJtnXv`˙bHAZpdrtAvXn`JXQlJtfpvむrXQZHAbtlJ~HfZp˂rtAJnvpQr˂pJtArdf~HZp˂AJltnvpQr˂pJtArdf~HZp˂tbdQnvpے`JXtArdf~Hp˂rJltvpfr˂ptArdf~Hp˂rJltvpfpZHAbtArdtv`f˂rXJltvpfHr˂pArd|f~H˂rXJltvpfHr˂pArd|nXv`J`ےے`JXQtArdpvrXQJ`bdQZ|fH~ˑZHAb|ZdQfpvrXQJ`ۉbdQZ|fH~ˑZHAb|ZdQfpvrXQJ`Z|dfH~QrZHA|ZdQbfpvXQJ`ےbdQZ|H~fZHAb|ZdQbfpvXQJ`ےbdQZ|H~f˂plJtA~HfpQJ`ےbdQZ|~f`ZHAbہZdQbtfpvQJ`ےbdQZ|~f`ZHAbہZdQbtf~HbHAZpr˂p|ZdQb~HfpےbHAdrtAf`vXے`JXbtlnXv`bHAdrtf`vXے`JXbtlnXv`bHArtAJlf`vXbے`tlJnXv`bHAZdrtA`vXnے`JXQtlJnXv`bHAZdrtA`vXnZHAbrd|vnXbHAZpdrtAvXn`JXQlJtnXv`˙bHAZpdrtAvXn`JXQlJtfpvbHZHAbtlJvnXZp˂JltnvpQr˂pJtArdf~HZp˂AJltnvpQr˂pJtArdf~HZp˂tbdQnvpJXQrtArdf~Hp˂rJltvpfr˂ptArdf~Hp˂rJltvpfے`JXQZdQbtv`ffp˂rXJltvpfHr˂pArd|f~H˂rXJltvpfHr˂pArd|~HfpAZdے`JXQtArdv`frXQJ`bdQZ|fH~ˑZHAb|ZdQfpvrXQJ`ۉbdQZ|fH~ˑZHAb|ZdQfpvrXQJ`Z|dfH~˂pZHA|ZdQbfpvXQJ`ےbdQZ|H~fZHAb|ZdQbfpvXQJ`ےbdQZ|H~fr˂plJtAvnQJ`ےbdQZ|~f`ZHAbہZdQbtfpvQJ`ےbdQZ|~f`ZHAbہZdQbtvnXrtAJbr˂p|ZdQb~Hfpp˂rdrtAf`vXے`JXbtlnXv`bHAdrtf`vXے`JXbtlnXv`bHArtAdQZ|vpfHbے`tlJnXv`bHAZdrtA`vXnے`JXQtlJnXv`bHAZdrtA`vXnZHAbrd|rXQJ`ۙbHAZdtAJlvXn`JXQlJtnXv`˙bHAZpdrtAvXn`JXQlJtv`fdQZ|ZHAbtlJvnXXQJ`ےJltnvpQr˂pJtArdf~HZp˂AJltnvpQr˂pJtArdf~HZp˂drt~f`JXQrtArdf~Hp˂rJltvpfr˂ptArdf~Hp˂rJltvpfے`JXQZdQtArHAZpdrtAtbvpfHr˂pArd|f~H˂rXJltvpfHr˂pArd|~HfpdrtAJے`JXQtArdv`pvbHAZbQZdfH~ˑZHAb|ZdQfpvrXQJ`ۉbdQZ|fH~ˑZHAb|ZdQfpvrXQJ`AJltvXn˂pZA|ZdQbfpvXQJ`ےbdQZ|H~fZHAb|ZdQbfpvXQJ`ےbdQZ|H~fHAbےdf˂rXJltnvp~fZHAے`ZdQbtfpvQJ`ےbdQZ|~f`ZHAbہZdQbtvnXltbr˂p|ZdQbnXvp˂rrtAJlf`vXے`JXbtlnXv`bHAdrtf`vXے`JXbtlnXv`bHAbdQZ|vpfH`JXQrtlJnXv`bHAZdrtA`vXnے`JXQtlJnXv`bHAZdrtA`vXn`JXQr~HfvQJ`ےbdQZ|fHf`ZHAbہJXQrlJtnXv`˙bHAZpdrtAvXn`JXQlJtv`pdQZ|ZHAbtlJ`f~XQJ`ےtbdQnvpQr˂pJtArdf~HZp˂AJltnvpQr˂pJtArdf~HZp˂drt~f`btltArdfHfp˂rJltvpfr˂ptArdf~Hp˂rJltvpf˂pZnXv`˙bHAZpdrtAvXn`JXQbtlArdfHfp˂rXJltvpfHr˂pArd|vnrXdrtAJے`JXQtArdHfpvbHAXQZ|dfH~ˑZHAb|ZdQfpvrXQJ`ۉbdQZ|fH~ˑZHAb|ZdQfpvrXQJ`AJltvXHJtAdf~HpvnXQJ`ےbdQZ|H~fZHAb|ZdQbfpvXQJ`ےbdQZ|H~fHAbےf~H˂rXJltvpfHr˂pJtAd|f~HvnQJ`ےbdQZ|~f`ZHAbہZdQbtQJ`pltbQr˂p|ZdQbnXvJ`ےrtAJlf`vXے`JXbtlnXv`bHAdrtf`vXے`JXbtlnXv`bHAdrtA~fZH|ZdQbfpvrXQJ`bHAZdtAJ`vXnے`JXQtlJnXv`bHAZdrtA`vXn`JXQrfpvQJ`ےbdQZ|~f`ZHAbہZdQbtfpvrXQJ`ۙbHAZdtAJlvXn`JXQlJtrXQZdrttAJlZHAbtlJ`f~bHAZptbdQnvpQr˂pJtArdf~HZp˂AJltnvpQr˂pJtArdf~HZp˂JltAbJtlJnXv`ےHAZdrtAltbvpfr˂ptArdf~Hp˂rJltvpf˂p`nXv`˙bHAZpdrtAvXn`JXQlJtnXv`˒HAZpdrtAtbvpfHr˂pArd|J`ےAJlttbdQZے`JXQtArdHXv`˂rXQZ|dnfH~ˑZHAۂ|ZdQfpvrXQJ`ۉbdQZ|fH~ˑZHAb|ZdQfpvrXQJ`bdQZ|Qr˂ptArdf~Hp˂rJltnvpH~fZHAے|ZdQbfpvXQJ`ےbdQZ|H~fJXQrbf~H˂rXJltvpfHr˂pArd|f~H˂rXJltnvp~fZHAے`ZdQbtbHAZpˉbdQZ||AJlr˂p|ZdQbf~HJ`ےvffZHAb`JXQbtlnXv`bHAdrtf`vXے`JXbtlnXv`bHAdrtAZHAb|ZdQbfpvXQJ`ےbdQZ|fHfZHAb`JXQrtlJnXv`bHAZdrtA`vXntl|fpvnQJ`ےbdQZ|~f`ZHAbہZdQbtfpvQJ`ےbdQZ|fHf`ZHAbہJXQrlJtrXQdrttbnZHAbtlJfpvbHAZpf`vXے`JXrbtlJtArdfHZp˂AJltnvpQr˂pJtArdf~HZp˂Jltے`JXQtlJnXv`bHAZdrtA`vXnے`JXQbtltArdfHfp˂rJltvpfZdQbtvf~bHAZpdrtAvXn`JXQlJtnXv`˙bHAZpdrtAvXn`JXQbtlArdJ`ےAJltvpfے`JXQtArdnXv`˂bnvpQr˂pJtAdf~HfpvrXQJ`ۉbdQZ|fH~ˑZHAb|ZdQfpvrXQJ`bdQZ|lr˂ptArdf~Hp˂rJltvpfr˂pJtAdf~HpvnXQJ`ےbdQZ|H~flJtAHfpv˂rXJltvpfHr˂pArd|f~H˂rXJltvpfHr˂pJtAd|f~HXbHAXQJ`bdQZ|Hf`r˂p|ZdQbf~HHAZdfH~ˑZHAb|ZdQfpvnrXQJ`bHAdtAf`vXے`JXbtlnXv`bHAtbZHAb|ZdQbfpvXQJ`ےbdQZ|H~fZHAb|ZdQbfpvrXQJ`bHAZdtAJ`vXnrd|nXvQJ`ےbdQZ|~f`ZHAbہZdQbtfpvQJ`ےbdQZ|~f`ZHAbہZdQbtv`fےbHrAJlvXnZHAbtlJfpvrtAJf`vXے`JXbtlnXv`ےHAZdrtJltnvpQr˂pJtArdf~HZp˂nvp`ے`JXQtlJnXv`bHAZdrtA`vXnے`JXQtlJnXv`ےHAZdrtAltbvpfZdQbt`f~bHAZpdrtAvXn`JXQlJtnXv`˙bHAZpdrtAvXn`JXQlJt~HfpAZp˂tbdQvpfHے`JXQtArd~HfbdQZ|nvpQr˂pJtArdf~HZp˂AJltbnvpfH~ˑZHAۂ|ZdQfpvrXQJ`ۍvXnrZHAtArdf~Hp˂rJltvpfr˂ptArdf~Hp˂rJltnvpH~flJtAHfpv˂rXJltvpfHr˂pArd|f~H˂rXJltvpfHr˂pArd|vnXrXQJ`Z|d~f`r˂p|ZdQbpvndrtAfH~ˑZHAb|ZdQfpvrXQJ`ۉbdQZ|fHfZHAb`JXQbtlnXv`bHAvpfHbے`|ZdQbfpvXQJ`ےbdQZ|H~fZHAb|ZdQbfpvXQJ`ےbdQZ|fHfZHAbrdt璀nXvQJ`ےbdQZ|~f`ZHAbہZdQbtfpvQJ`ےbdQZ|~f`ZHAbہZdQbtv`fےbHrtAJlvXnZHAbtlJXv`fJltf`vXے`JXbtlnXv`bHAdrtf`vXے`JXrbtlJtArdfHZp˂~f`JXQrtlJnXv`bHAZdrtA`vXnے`JXQtlJnXv`bHAZdrtA`vXn˂pZlJtAr`f~fpbHAZpdrtAvXn`JXQlJtnXv`˙bHAZpdrtAvXn`JXQlJt~HfpAZp˂tbdQvpfHے`JXQtArd~HfbdQZ|nvpQr˂pJtArdf~HZp˂AJltnvpQr˂pJtAdf~HfpvrXQJ`ۍvXnpZHAtArdf~Hp˂rJltvpfr˂ptArdf~Hp˂rJltvpfHAbےd|ZvnX˂rXJltvpfHr˂pArd|f~H˂rXJltvpfHr˂pArd|v󉐙bHAZ|d~f`r˂p|ZdQbpvndrtAfH~ˑZHAb|ZdQfpvrXQJ`ۉbdQZ|fH~ˑZHAb|ZdQfpvnrXQJ`bHAvpfHbے`|ZdQbfpvXQJ`ےbdQZ|H~fZHAb|ZdQbfpvXQJ`ےbdQZ|H~f`JXQrdQbt璕v`fQJ`ےbdQZ|~f`ZHAbہZdQbtfpvQJ`ےbdQZ|~f`ZHAbہZdQbt~HfpZp˂rtAJvXnZHAbtlJXv`pJltbf`vXے`JXbtlnXv`bHAdrtf`vXے`JXbtlnXv`ےHAZdrt~JXQrtlJnXv`bHAZdrtA`vXnے`JXQtlJnXv`bHAZdrtA`vXn˂pZlJtAr~HfpbHAZpdrtAvXn`JXQlJtnXv`˙bHAZpdrtAvXn`JXQlJtvnXrXQJ`bdQZ|vpfHے`JXQtArd˂rXQQZdrnvpQr˂pJtArdf~HZp˂AJltnvpQr˂pJtArdf~HZp˂AdQZ|vpfHpZAbtArdf~Hp˂rJltvpfr˂ptArdf~Hp˂rJltvpfHAbےd|ZvnX˂rXJltvpfHr˂pArd|f~H˂rXJltvpfHr˂pArd|v`f󒐙bHAdrtA~f`r˂p|ZdQbJ`ےtAJlfH~ˑZHAb|ZdQfpvrXQJ`ۉbdQZ|fH~ˑZHAb|ZdQfpvrXQJ`ۂdrtA~f``JXQr|ZdQbfpvXQJ`ےbdQZ|H~fZHAb|ZdQbfpvXQJ`ےbdQZ|H~f`JXQHAdQtArdv`fQJ`ےbdQZ|~f`ZHAbہZdQbtfpvQJ`ےbdQZ|~f`ZHAbہZdQbt~HfpZp˂JltvXnZHAbtlJbHAZptbdQZf`vXے`JXbtlnXv`bHAdrtf`vXے`JXbtlnXv`bHAJltvXnۀ˂pZtlJnXv`bHAZdrtA`vXnے`JXQtlJnXv`bHAZdrtA`vXnbے`|ZdQ~HfvbHAZpdrtAvXn`JXQlJtnXv`˙bHAZpdrtAvXn`JXQlJtvnXrXQJ`pbdQZ|vpfHے`JXQtArd˂rXQ|drnvpQr˂pJtArdf~HZp˂AJltnvpQr˂pJtArdf~HZp˂bdQZ|vpfHHAbےtArdf~Hp˂rJltvpfr˂ptArdf~Hp˂rJltvpfJXQrbtlnXv`˂rXJltvpfHr˂pArd|f~H˂rXJltvpfHr˂pArd|v`pv˂rXdrtA~f`r˂p|ZdQbJ`ےtAJlfH~ˑZHAb|ZdQfpvrXQJ`ۉbdQZ|fH~ˑZHAb|ZdQfpvrXQJ`ۂdrtA~f``JXQr|ZdQbfpvXQJ`ےbdQZ|H~fZHAb|ZdQbfpvXQJ`ےbdQZ|H~f˂pZHAJtArdf~HQJ`ےbdQZ|~f`ZHAbہZdQbtfpvQJ`ےbdQZ|~f`ZHAbہZdQbtnXv`QJ`ےJltbvXnZHAbtlJbHAXQJtbdQZf`vXے`JXbtlnXv`bHAdrtf`vXے`JXbtlnXv`bHAJltdvXH~˂pZtlJnXv`bHAZdrtA`vXnے`JXQtlJnXv`bHAZdrtA`vXnbے`|ZdQfpvbHAZpdrtAvXn`JXQlJtnXv`˙bHAZpdrtAvXn`JXQlJtf~HbHAZpQZdrvpfHے`JXQtArd`ےb|rAJlnvpQr˂pJtArdf~HZp˂AJltnvpQr˂pJtArdf~HZp˂rtAJlf`vXHAbtArdf~Hp˂rJltvpfr˂ptArdf~Hp˂rJltvpfJXQrbtlnXv`˂rXJltvpfHr˂pArd|f~H˂rXJltvpfHr˂pArd|fpv˂rXtAJl~f`r˂pf~HHAZp˂tbdfH~ˑZHAb|ZdQfpvrXQJ`ۉbdQZ|fH~ˑZHAb|ZdQfpvrXQJ`ۑtbdnvpJQr˂p|ZdQbfpvXQJ`ےbdQZ|H~fZHAb|ZdQbfpvXQJ`ےbdQZ|H~f˂p`J|ZdQbf~HQJ`ےbdQZ|~f`ZHAbہZdQbtfpvQJ`ےbdQZ|~f`ZHAbہZdQbtnXv`QJ`ےtbdQZvXn|ZdQbXv`frXQJQZ|df`vXے`JXbtlnXv`bHAdrtf`vXے`JXbtlnXv`bHAQZ|dfH~ZHAbtlJnXv`bHAZdrtA`vXnے`JXQtlJnXv`bHAZdrtA`vXnXQr˂tlJfpvbHAZpdrtAvXn`JXQlJtnXv`˙bHAZpdrtAvXn`JXQlJtf~HbHAXQ|drvpfH~f`HAbےZdQbtpvnJ`ےdQZ|~f`HAbےZdQbtpvnJ`ےtbdQZvpf˂pZZdQbtvnXJ`ےQZ|d~f`Abے`ZdQbtvnXJ`ےQZ|d~f`Qr˂p`ZQXbXnvˍvXn`JXQrlJtAXv`fbHAZpdrtAJvXn`JXQrlJtAXv`fbHAZp|drH~fHAbےlJtAv`fbHAZp˙rtAJlvXnہJXQrlJtAv`fbHAZp˙rtAJlvXnۑZHAbۑpJApfH~vpfH˂pZrd|~Hf˂rXQltbvpfH˂pZrd|~Hf˂rXQtAJl`vXn`JXQrrd|~HfprXQtbdvpfH˂pZHrd|~HfprXQtbdvpfHے`JXHr󙐉f۝`v~f`HAbےZdQbtpvnJ`ےdQZ|~f`HAbےZdQbtpvnJ`ےtbdQZvp`˂pZZdQbtvnXJ`ےQZ|d~f`Abے`ZdQbtvnXJ`ےQZ|d~f`Qr˂pۑpJAHrXnvˍvXn`JXQrlJtAXv`fbHAZpdrtAJvXn`JXQrlJtAXv`fbHAZp|ltvXnHAbےlJtAv`fbHAZp˙rtAJlvXnہJXQrlJtAv`fbHAZp˙rtAJlvXnۑZHAb󙐂ˁ`Zp|drvpfH˂pZrd|~Hf˂rXQltbvpfH˂pZrd|~Hf˂rXQbdQZ|vpfH`JXQrrd|~HfprXQtbdvpfH˂pZHrd|~HfprXQtbdvpfH󙀉˂pQXb㉀QtJl~f`HAbےZdQbtpvnJ`ےdQZ|~f`HAbےZdQbtpvnJ`ےdrtA~f`ZHAbZdQbtvnXJ`ےQZ|d~f`Abے`ZdQbtvnXJ`ےQZ|d~f`ZHAbۑpJAHrtbAdZvXn`JXQrlJtAXv`fbHAZpdrtAJvXn`JXQrlJtAXv`fbHAZpJltvXnے`JXlJtAv`fbHAZp˙rtAJlvXnہJXQrlJtAv`fbHAZp˙rtAJlvXnے`JXQ󙐂ˁ`|drvpfH˂pZrd|~Hf˂rXQltbvpfH˂pZrd|~Hf˂rXQbdQZ|vpfHQr˂prd|~HfprXQtbdvpfH˂pZHrd|~HfprXQtbdvpfHr˂ppfH~QtJl~f`HAbےZdQbtpvnJ`ےdQZ|~f`HAbےZdQbtpvnJ`ےdrtA~vZHAbZdQbtvnXJ`ےQZ|d~f`Abے`ZdQbtvnXJ`ےQZ|d~f`ZHAbېf۝`vtbAdZvXn`JXQrlJtAXv`fbHAZpdrtAJvXn`JXQrlJtAXv`fbHAZpdQZ|pfH~ے`JXlJtAv`fbHAZp˙rtAJlvXnہJXQrlJtAv`fbHAZp˙rtAJlvXnے`JXQHXnvˍ|drvpfH˂pZrd|~Hf˂rXQltbvpfH˂pZrd|~Hf˂rXQdrtAJf`vQr˂prd|~HfprXQtbdvpfH˂pZHrd|~HfprXQtbdvpfHAbے`pfH~QtJl~f`HAbےZdQbtpvnJ`ےdQZ|~f`HAbےZdQbtpvnJ`ےltbXnvZA`ZdQbtvnXJ`ےQZ|d~f`Abے`ZdQbtvnXJ`ےQZ|d~f`JXQrf۝`vtbAdZvXn`JXQrlJtAXv`fbHAZpdrtAJvXn`JXQrlJtAXv`fbHAZpdQZ|pfH~JXQrbtlJtAv`fbHAZp˙rtAJlvXnہJXQrlJtAv`fbHAZp˙rtAJlvXnۉ˂pZHXnvˍ|drvpfH˂pZrd|~Hf˂rXQltbvpfH˂pZrd|~Hf˂rXQdrtAJf`vlJtrdfHfpۂrXQtbdvpfH˂pZHrd|~HfprXQtbdvpfHAbے`pfH~QtJl~f`HAbےZdQbtpvnJ`ےdQZ|~f`HAbےZdQbtpvnJ`ےltdXH~Ad|~HfpvnrXJ`ےQZ|d~f`Abے`ZdQbtvnXJ`ےQZ|d~f`JXQrf۝`vtbAdZvXn`JXQrlJtAXv`fbHAZpdrtAJvXn`JXQrlJtAXv`fbHAZprtAJlfZHAbZdQbtvnXQJ`ےbHAZdtAJlvXnہJXQrlJtAv`fbHAZp˙rtAJlvXnۉ˂p`ZXnvˍ|drvpfH˂pZrd|~Hf˂rXQltbvpfH˂pZrd|~Hf˂rXQtbdQJQrlJtAv`fHAZp˙rtAJltbnvpfH˂pZHrd|~HfprXQtbdvpfHQXb㉀pfH~QtJl~fZHAے`ZdQbtpvnJ`ےdQZ|~f`HAbےZdQbtpvnJ`ےZ|d˂pZHrd|~HfprXQtbdvpfH~fZHAے`ZdQbtvnXJ`ےQZ|d~f`ۑpJAHrf۝`vtbAdZHAbےJXQrblJtAXv`fbHAZpdrtAJvXn`JXQrlJtAXv`fbHAZprtAJlAbے`ZdQbtvnXJ`ےQZ|df`Abے`JXQrbtlJtAv`fbHAZp˙rtAJlvXn󙐂ˁ`ZXnvˍ|dr`JXQrtlJrdfHfp˂rXQltbvpfH˂pZrd|~Hf˂rXQtbdQJXQrlJtAv`fbHAZp˙rtAJlvXnہJXQrlJtrdfHfpۂrXQtbdvpfHQXb㉀pfH~QtJl˂pZtAd|~HfvnrJ`ےdQZ|~f`HAbےZdQbtpvnJ`ےZ|l璉˂pZHrd|~HfprXQtbdvpfH˂pZHAd|~HfpvnrXJ`ےQZ|d~f`ۑpJAHrf۝`vtbAdZHAbےZdQbtpvnXQJ`ےbHAZdtAJlvXn`JXQrlJtAXv`fbHAZptbnAbے`ZdQbtvnXJ`ےQZ|d~f`Abے`ZdQbtvnXQJ`ےbHAZdtAJlvXn󙐉ۑXnvˍ|dr`JXQrlJtAXv`fHAZpdrtAJtbnvpfH˂pZrd|~Hf˂rXQvp`vJXQrlJtAv`fbHAZp˙rtAJlvXnہJXQrlJtAv`fHAZp˙rtAJltbnvpfHpJAHrpfH~QtJl˂pZrd|~Hf˂rXQltbvpf~fZHAے`ZdQbtpvnJ`ےXnvZHAbrd|~HfprXQtbdvpfH˂pZHrd|~HfprXQtbdvpfH~frˁ`ZQf۝`vtbAdZHAbےZdQbtpvnJ`ےdQZ|Hf`HAbےJXQrblJtAXv`fbHAZppfH~ے`JXQZdQbtvnXJ`ےQZ|d~f`Abے`ZdQbtvnXJ`ےQZ|df`˂pZHXb㉀ۑXnvˍ|dr`JXQrlJtAXv`fbHAZpdrtAJvXn`JXQrtlJrdfHfp˂rXQf`vr˂plJtAv`fbHAZp˙rtAJlvXnہJXQrlJtAv`fbHAZp˙rtAJlvXnAbے`pJAHrpfH~QtJl˂pZrd|~Hf˂rXQltbvpfH˂pZtAd|~HfvnrJ`ےXnvZHAbrd|~HfprXQtbdvpfH˂pZHrd|~HfprXQtbdvpfHJXQrˁ`ZQf۝`vtbAdZHAbےZdQbtpvnJ`ےdQZ|~f`HAbےZdQbtpvnXQJ`ےbHAZpfH~ے`JXQZdQbtvnXJ`ےQZ|d~f`Abے`ZdQbtvnXJ`ےQZ|d~f`˂pZHXAHr󙐂Xnvˍ|dr`JXQrlJtAXv`fbHAZpdrtAJvXn`JXQrlJtAXv`fHAZpdrtAdQvpr˂plJtAv`fbHAZp˙rtAJlvXnہJXQrlJtAv`fbHAZp˙rtAJlvXnAbے`ˁ`ZQXbpfH~QtJl˂pZrd|~Hf˂rXQltbvpfH˂pZrd|~Hf˂rXQZ|dfH~ZAb`rd|~HfprXQtbdvpfH˂pZHrd|~HfprXQtbdvpfHJXQHA㉀ۑpJf۝`vtbAdZHAbےZdQbtpvnJ`ےdQZ|~f`HAbےZdQbtpvnJ`ےrtAJlf`vXJXQrZdQbtvnXJ`ےQZ|d~f`Abے`ZdQbtvnXJ`ےQZ|d~f`bے`AHr󙐂Xnvˍ|dr`JXQrlJtAXv`fbHAZpdrtAJvXn`JXQrlJtAXv`fbHAZptbdQnvppZHAlJtAv`fbHAZp˙rtAJlvXnہJXQrlJtAv`fbHAZp˙rtAJlvXnJXQrˁ`ZQXbpfH~QtJl˂pZrd|~Hf˂rXQltbvpfH˂pZrd|~Hf˂rXQZ|dfH~bے`rd|~HfprXQtbdvpfH˂pZHrd|~HfprXQtbdvpfHpZHA㉀ۑpf۝`vtbAdZHAbےZdQbtpvnJ`ےdQZ|~f`HAbےZdQbtpvnJ`ےrtAJlf`vXJXQrZdQbtvnXJ`ےQZ|d~f`Abے`ZdQbtvnXJ`ےQZ|d~f`bے``ZQXbXnvˍ|dr`JXQrlJtAXv`fbHAZpdrtAJvXn`JXQrlJtAXv`fbHAZptdrH~fpZHAlJtAv`fbHAZp˙rtAJlvXnہJXQrlJtAv`fbHAZp˙rtAJlvXnJXQrˀۑpJApfH~QtJl˂pZrd|~Hf˂rXQltbvpfH˂pZrd|~Hf˂rXQtAJl`vXnbJQrrd|~HfprXQtbdvpfH˂pZHrd|~HfprXQtbdvpfHp`JXHr󙐂ˁf۝`vtbAdZ|JJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKK \ No newline at end of file diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv34_1.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv34_1.dat deleted file mode 100644 index 2cf2bf90e6..0000000000 --- a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv34_1.dat +++ /dev/null @@ -1,305 +0,0 @@ -}~}~}~}~}~}~}~}~{|{|{|{|{|{|{|{|yzyzyzyzyzyzyzyzwxwxwxwxwxwxwxwxuvuvuvuvtstststsststststrqrqrqrqrqrqrqrqpopopopopopopoponmnmnmnmnmnmnmnmlklklklklklklklkjijijijijijijijihghghghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYWXWXWXWXWWXWXWXWUVUVUVUVUVUVUVUVSTSTSTSTSTSTSTSTQRQRQRQRQRQRQRQROPOPOPOPOPOPOPOPMNMNMNMNMNMNMNMNKLKLKLKLKLKLKLKLIJIJIJIJIJIJIJIJGHGHGHGHGHGHGHGHEFEFEFEFEFEFEFEFCDCDCDCDCDCDCDCDABABABABABABABAB?@?@?@?@?@?@?@?@=>=>=>=>;<;;;;;;<;<;;;;;:9:9:9:9:9:9:9:987878787878787876565656565656565434343434343434321212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!}~}~}~}~}~}~}~}~{|{|{|{|{|{|{|{|yzyzyzyzyzyzyzyzwxwxwxwxwxwxwxwxuvuvuvuvtstststsststststrqrqrqrqrqrqrqrqpopopopopopopoponmnmnmnmnmnmnmnmlklklklklklklklkjijijijijijijijihghghghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYWXWXWXWXXWXWXWXWUVUVUVUVUVUVUVUVSTSTSTSTSTSTSTSTQRQRQRQRQRQRQRQROPOPOPOPOPOPOPOPMNMNMNMNMNMNMNMNKLKLKLKLKLKLKLKLIJIJIJIJIJIJIJIJGHGHGHGHGHGHGHGHEFEFEFEFEFEFEFEFCDCDCDCDCDCDCDCDABABABABABABABAB?@?@?@?@?@?@?@?@=>=>=>=><;<;<;<;;<;<;<;<:9:9:9:9:9:9:9:987878787878787876565656565656565434343434343434321212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!}~}~}~}~}~}~}~}~{|{|{|{|{|{|{|{|yzyzyzyzyzyzyzyzwxwxwxwxwxwxwxwxuvuvuvuvtstststsststststrqrqrqrqrqrqrqrqpopopopopopopoponmnmnmnmnmnmnmnmlklklklklklklklkjijijijijijijijihghghghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYWXWXWXWXXWXWXWXWUVUVUVUVUVUVUVUVSTSTSTSTSTSTSTSTQRQRQRQRQRQRQRQROPOPOPOPOPOPOPOPMNMNMNMNMNMNMNMNKLKLKLKLKLKLKLKLIJIJIJIJIJIJIJIJGHGHGHGHGHGHGHGHEFEFEFEFEFEFEFEFCDCDCDCDCDCDCDCDABABABABABABABAB?@?@?@?@?@?@?@?@=>=>=>=><;<;<;<;;<;<;<;<:9:9:9:9:9:9:9:987878787878787876565656565656565434343434343434321212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!}~}~}~}~}~}~}~}~{|{|{|{|{|{|{|{|yzyzyzyzyzyzyzyzwxwxwxwxwxwxwxwxuvuvuvuvtstststsststststrqrqrqrqrqrqrqrqpopopopopopopoponmnmnmnmnmnmnmnmlklklklklklklklkjijijijijijijijihghghghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYWXWXWXWXXWXWXWXWUVUVUVUVUVUVUVUVSTSTSTSTSTSTSTSTQRQRQRQRQRQRQRQROPOPOPOPOPOPOPOPMNMNMNMNMNMNMNMNKLKLKLKLKLKLKLKLIJIJIJIJIJIJIJIJGHGHGHGHGHGHGHGHEFEFEFEFEFEFEFEFCDCDCDCDCDCDCDCDABABABABABABABAB?@?@?@?@?@?@?@?@=>=>=>=><;<;<;<;;<;<;<;<:9:9:9:9:9:9:9:987878787878787876565656565656565434343434343434321212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!}~}~}~}~}~}~}~}~{|{|{|{|{|{|{|{|yzyzyzyzyzyzyzyzwxwxwxwxwxwxwxwvuvuvuvuvtstststsststststrqrqrqrqrqrqrqrqpopopopopopopoponmnmnmnmnmnmnmnmlklklklklklklklkjijijijijijijijihghghghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYWXWXWXWXXWXWXWXWUVUVUVUVUVUVUVUVSTSTSTSTSTSTSTSTQRQRQRQRQRQRQRQROPOPOPOPOPOPOPOPMNMNMNMNMNMNMNMNKLKLKLKLKLKLKLKLIJIJIJIJIJIJIJIJGHGHGHGHGHGHGHGHEFEFEFEFEFEFEFEFCDCDCDCDCDCDCDCDABABABABABABABAB?@?@?@?@?@?@?@?@=>=>=>=><;<;<;<;;<;<;<;<:9:9:9:9:9:9:9:987878787878787876565656565656565434343434343434321212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!}~}~}~}~}~}~}~}~{|{|{|{|{|{|{|{|yzyzyzyzyzyzyzyzwxwxwxwxuvuvuvuvuvuvuvuvssssststsssssstsrqrqrqrqrqrqrqrqpopopopopopopoponmnmnmnmnmnmnmnmlklklklklklklklkjijijijijijijijihghghghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[ZYZYZYZYZYWXWXWXWWXWXWXWXWUVUVUVUVUVUVUVUVSTSTSTSTSTSTSTSTQRQRQRQRQRQRQRQROPOPOPOPOPOPOPOPMNMNMNMNMNMNMNMNKLKLKLKLKLKLKLKLIJIJIJIJIJIJIJIJGHGHGHGHGHGHGHGHEFEFEFEFEFEFEFEFCDCDCDCDCDCDCDCDABABABABABABABAB?@?@?@?@?@?@?@?@=>=>=>=><;<;<;<;;<;<;<;<:9:9:9:9:9:9:9:987878787878787876565656565656565434343434343434321212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!}~}~}~}~}~}~}~}~{|{|{|{|{|{|{|{|yzyzyzyzyzyzyzyzwxwxwxwxuvuvuvuvuvuvuvuvststststtstststsrqrqrqrqrqrqrqrqpopopopopopopoponmnmnmnmnmnmnmnmlklklklklklklklkjijijijijijijijihghghghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[ZYZYZYZYZYZYZYZYWWWWXWXWWWWWWXWXUVUVUVUVUVUVUVUVSTSTSTSTSTSTSTSTQRQRQRQRQRQRQRQROPOPOPOPOPOPOPOPMNMNMNMNMNMNMNMNKLKLKLKLKLKLKLKLIJIJIJIJIJIJIJIJGHGHGHGHGHGHGHGHEFEFEFEFEFEFEFEFCDCDCDCDCDCDCDCDABABABABABABABAB?@?@?@?@?@?@?>=>=>=>=>=><;<;<;;;;<;<;<;;:9:9:9:9:9:9:9:987878787878787876565656565656565434343434343434321212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!}~}~}~}~}~}~}~}~{|{|{|{|{|{|{|{|yzyzyzyzyzyzyzyzwxwxwxwxuvuvuvuvuvuvuvuvststststtstststsrqrqrqrqrqrqrqrqpopopopopopopoponmnmnmnmnmnmnmnmlklklklklklklklkjijijijijijijijihghghghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWWXWXWXWXUVUVUVUVUVUVUVUVSTSTSTSTSTSTSTSTQRQRQRQRQRQRQRQROPOPOPOPOPOPOPOPMNMNMNMNMNMNMNMNKLKLKLKLKLKLKLKLIJIJIJIJIJIJIJIJGHGHGHGHGHGHGHGHEFEFEFEFEFEFEFEFCDCDCDCDCDCDCDCDABABABABABABABAB?@?@?@?@=>=>=>=>=>=>=>=>;;;<;<;<;;;;<;<;:9:9:9:9:9:9:9:987878787878787876565656565656565434343434343434321212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#"!"!"!"!"!"!}~}~}~}~}~}~}~}~{|{|{|{|{|{|{|{|yzyzyzyzyzyzyzyzwxwxwxwxuvuvuvuvuvuvuvuvststststtstststsrqrqrqrqrqrqrqrqpopopopopopopoponmnmnmnmnmnmnmnmlklklklklklklklkjijijijijijijijihghghghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWWXWXWXWXUVUVUVUVUVUVUVUVSTSTSTSTSTSTSTSTQRQRQRQRQRQRQRQROPOPOPOPOPOPOPOPMNMNMNMNMNMNMNMNKLKLKLKLKLKLKLKLIJIJIJIJIJIJIJIJGHGHGHGHGHGHGHGHEFEFEFEFEFEFEFEFCDCDCDCDCDCDCDCDABABABABABABABAB?@?@?@?@=>=>=>=>=>=>=>=>;<;<;<;<<;<;<;<;:9:9:9:9:9:9:9:987878787878787876565656565656565434343434343434321212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#"!"!"!"!"!"!"!"!}~}~}~}~}~}~}~}~{|{|{|{|{|{|{|{|yzyzyzyzyzyzyzyzwxwxwxwxuvuvuvuvuvuvuvuvststststtstststsrqrqrqrqrqrqrqrqpopopopopopopoponmnmnmnmnmnmnmnmlklklklklklklklkjijijijijijijijihghghghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWWXWXWXWXUVUVUVUVUVUVUVUVSTSTSTSTSTSTSTSTQRQRQRQRQRQRQRQROPOPOPOPOPOPOPOPMNMNMNMNMNMNMNMNKLKLKLKLKLKLKLKLIJIJIJIJIJIJIJIJGHGHGHGHGHGHGHGHEFEFEFEFEFEFEFEFCDCDCDCDCDCDCDCDABABABABABABABAB?@?@?@?@=>=>=>=>=>=>=>=>;<;<;<;<<;<;<;<;:9:9:9:9:9:9:9:987878787878787876565656565656565434343434343434321212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#"!"!"!"!"!"!"!"!}~}~}~}~}~}~}~}~{|{|{|{|{|{|{|{|yzyzyzyzyzyzyzyzwxwxwxwxuvuvuvuvuvuvuvuvststststtstststsrqrqrqrqrqrqrqrqpopopopopopopoponmnmnmnmnmnmnmnmlklklklklklklklkjijijijijijijijihghghghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWWXWXWXWXUVUVUVUVUVUVUVUVSTSTSTSTSTSTSTSTQRQRQRQRQRQRQRQROPOPOPOPOPOPOPOPMNMNMNMNMNMNMNMNKLKLKLKLKLKLKLKLIJIJIJIJIJIJIJIJGHGHGHGHGHGHGHGHEFEFEFEFEFEFEFEFCDCDCDCDCDCDCDCDABABABABABABABAB?@?@?@?@=>=>=>=>=>=>=>=>;<;<;<;<<;<;<;<;:9:9:9:9:9:9:9:987878787878787876565656565656565434343434343434321212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#"!"!"!"!"!"!"!"!}~}~}~}~}~}~}~}~{|{|{|{|{|{|{|{|yzyzyzyzyzyzyzyzwxwxwxwxuvuvuvuvuvuvuvuvstsssssststsssssrqrqrqrqrqrqrqrqpopopopopopopoponmnmnmnmnmnmnmnmlklklklklklklklkjijijijijijijijihghghghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWWXWXWXWXUVUVUVUVUVUVUVUVSTSTSTSTSTSTSTSTQRQRQRQRQRQRQRQROPOPOPOPOPOPOPOPMNMNMNMNMNMNMNMNKLKLKLKLKLKLKLKLIJIJIJIJIJIJIJIJGHGHGHGHGHGHGHGHEFEFEFEFEFEFEFEFCDCDCDCDCDCDCDCDABABABABABABABAB?@?@?@?@=>=>=>=>=>=>=>=>;<;<;<;<<;<;<;<;:9:9:9:9:9:9:9:987878787878787876565656565656565434343434343434321212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#"!"!"!"!"!"!"!"!~}~}~}~}~}~}~}~}|{|{|{|{|{|{|{|{zyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxuvuvuvuvuvuvuvuvtstststststststsrqrqrqrqrqrqrqrqpopopopopopopoponmnmnmnmnmnmnmnmlklklklklklklklkjijijijijijijijihghghghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[ZYZYZYZYZYZYZYZYXWWWWWWXWXWWWWWXUVUVUVUVUVUVUVUVSTSTSTSTSTSTSTSTQRQRQRQRQRQRQRQROPOPOPOPOPOPOPOPMNMNMNMNMNMNMNMNKLKLKLKLKLKLKLKLIJIJIJIJIJIJIJIJGHGHGHGHGHGHGHGHEFEFEFEFEFEFEFEFCDCDCDCDCDCDCDCDABABABABABABABAB?@?@?@?@=>=>=>=>=>=>=>=>;<;<;<;<<;<;<;<;:9:9:9:9:9:9:9:987878787878787876565656565656565434343434343434321212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#"!"!"!"!"!"!"!"!}~}~}~}~}~}~}~}~{|{|{|{|{|{|{|{|yzyzyzyzyzyzyzyzwxwxwxwxwxwxwxwxuvuvuvuvuvuvuvuvtstststsrqrqrqrqrqrqrqrqpopopopopopopoponmnmnmnmnmnmnmnmlklklklklklklklkjijijijijijijijihghghghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?@=>=>=>=>=>=>=>=>;;;;;;<;<;;;;;<;:9:9:9:9:9:9:9:987878787878787876565656565656565434343434343434321212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#"!"!"!"!"!"!"!"!"!   }~}~}~}~}~}~}~}~{|{|{|{|{|{|{|{|yzyzyzyzyzyzyzyzwxwxwxwxwxwxwxwxuvuvuvuvuvuvuvuvtstststsrqrqrqrqrqrqrqrqpopopopopopopoponmnmnmnmnmnmnmnmlklklklklklklklkjijijijijijijijihghghghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYWXWXWXWXUVUVUVUVUVUVUVUVSTSTSTSTSTSTSTSTQRQRQRQRQRQRQRQROPOPOPOPOPOPOPOPMNMNMNMNMNMNMNMNKLKLKLKLKLKLKLKLIJIJIJIJIJIJIJIJGHGHGHGHGHGHGHGHEFEFEFEFEFEFEFEFCDCDCDCDCDCDCDCDABABABABABABABAB?@?@?@?@?@?@?@?@=>=>=>=>=>=>=>=><;<;<;<;<;<;<;:9:9:9:9:9:9:9:987878787878787876565656565656565434343434343434321212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#"!"!"!"!"!"!"!"!  }~}~}~}~}~}~}~}~{|{|{|{|{|{|{|{|yzyzyzyzyzyzyzyzwxwxwxwxwxwxwxwxuvuvuvuvuvuvuvuvtstststsrqrqrqrqrqrqrqrqpopopopopopopoponmnmnmnmnmnmnmnmlklklklklklklklkjijijijijijijijihghghghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYWXWXWXWXUVUVUVUVUVUVUVUVSTSTSTSTSTSTSTSTQRQRQRQRQRQRQRQROPOPOPOPOPOPOPOPMNMNMNMNMNMNMNMNKLKLKLKLKLKLKLKLIJIJIJIJIJIJIJIJGHGHGHGHGHGHGHGHEFEFEFEFEFEFEFEFCDCDCDCDCDCDCDCDABABABABABABABAB?@?@?@?@?@?@?@?@=>=>=>=>=>=>=>=><;<;<;<;:9:9:9:9:9:9:9:987878787878787876565656565656565434343434343434321212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!    }~}~}~}~}~}~}~}~{|{|{|{|{|{|{|{|yzyzyzyzyzyzyzyzwxwxwxwxwxwxwxwxuvuvuvuvuvuvutsttstststsrqrqrqrqrqrqrqrqpopopopopopopoponmnmnmnmnmnmnmnmlklklklklklklklkjijijijijijijijihghghghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYWXWXWXWXUVUVUVUVUVUVUVUVSTSTSTSTSTSTSTSTQRQRQRQRQRQRQRQROPOPOPOPOPOPOPOPMNMNMNMNMNMNMNMNKLKLKLKLKLKLKLKLIJIJIJIJIJIJIJIJGHGHGHGHGHGHGHGHEFEFEFEFEFEFEFEFCDCDCDCDCDCDCDCDABABABABABABABAB?@?@?@?@?@?@?@?@=>=>=>=>=>=>=>=><;<;<;<;:9:9:9:9:9:9:9:987878787878787876565656565656565434343434343434321212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!    }~}~}~}~}~}~}~}~{|{|{|{|{|{|{|{|yzyzyzyzyzyzyzyzwxwxwxwxwxwxwxwxuvuvuvuvststsssstststsssrqrqrqrqrqrqrqrqpopopopopopopoponmnmnmnmnmnmnmnmlklklklklklklklkjijijijijijijijihghghghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYXWXWWXWXWXWXUVUVUVUVUVUVUVUVSTSTSTSTSTSTSTSTQRQRQRQRQRQRQRQROPOPOPOPOPOPOPOPMNMNMNMNMNMNMNMNKLKLKLKLKLKLKLKLIJIJIJIJIJIJIJIJGHGHGHGHGHGHGHGHEFEFEFEFEFEFEFEFCDCDCDCDCDCDCDCDABABABABABABABAB?@?@?@?@?@?@?@?@=>=>=>=>=>=>=>=><;<;<;<;:9:9:9:9:9:9:9:987878787878787876565656565656565434343434343434321212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!    }~}~}~}~}~}~}~}~{|{|{|{|{|{|{|{|yzyzyzyzyzyzyzyzwxwxwxwxwxwxwxwxuvuvuvuvsstststsssstststrqrqrqrqrqrqrqrqpopopopopopopoponmnmnmnmnmnmnmnmlklklklklklklklkjijijijijijijijihghghghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYXWXWWWWWWXWXWWWWUVUVUVUVUVUVUVUVSTSTSTSTSTSTSTSTQRQRQRQRQRQRQRQROPOPOPOPOPOPOPOPMNMNMNMNMNMNMNMNKLKLKLKLKLKLKLKLIJIJIJIJIJIJIJIJGHGHGHGHGHGHGHGHEFEFEFEFEFEFEFEFCDCDCDCDCDCDCDCDABABABABABABABAB?@?@?@?@?@?@?@?@=>=>=>=>=>=<;<;<<;<;<;<;:9:9:9:9:9:9:9:987878787878787876565656565656565434343434343434321212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!                    - - - - - - - -              - - - - - - - -               - - - - - - - -                 - - - - - - - -                 - - - - - - - -                 - - - - - - - -                 - - - - - - - -                 - - - - - - - -             - - - - - - - -              - - - - - - - -              - - - - - - - -             - - - - - - - -             - - - - - - - -             - - - - - - - -          - - - - - - - -             - - - - - - - -             - - - - - - - -             - - - - - - - -             - - - - - - - -LLKKJJII]]^^__``((''&&%%DDEEFFGG=<;;::99 hiijjkkl}||{{zzy100//..- hiijjkkl}||{{zzy100//..- hiijjkkl}||{{zzy100//..- hiijjkkl}||{{zzy100//..- hiijjkkl}||{{zzy100//..- hiijjkklsrrqqppoGHHIIJJK98877665eeffgghh~~}}44332211eeffgghh~~}}44332211eeffgghh~~}}44332211eeffgghh~~}}44332211eeffgghh~~}}44332211eeffgghh{{zzyyssDDEEFFGG=<;;::99abbccdde87766554abbccdde87766554abbccdde87766554abbccdde87766554abbccdde87766554abbccdde~~}}||{;AABBCCDBBAA@?>=^^__``aa;;::9988^^__``aa;;::9988^^__``aa;;::9988^^__``aa;;::9988^^__``aa;;::9988^^__``aa''&&%%8899::;;HHGGFFEEaabbccdd~~}}||HHIIJJKK88776655 !!""##$lmmnnoopyxxwwvvu-,,++**) !!""##$lmmnnoopyxxwwvvu-,,++**) !!""##$lmmnnoopyxxwwvvu-,,++**) !!""##$lmmnnoopyxxwwvvu-,,++**) !!""##$lmmnnoopyxxwwvvu-,,++**) !!""##$lmmnnooponnmmllkKLLMMNNO54433221 iijjkkll||{{zzyy00//..-- iijjkkll||{{zzyy00//..-- iijjkkll||{{zzyy00//..-- iijjkkll||{{zzyy00//..-- iijjkkll||{{zzyy00//..-- iijjkkllrrqqppooHHIIJJKK88776655effgghhi~~}}|43322110effgghhi~~}}|43322110effgghhi~~}}|43322110effgghhi~~}}|43322110effgghhi~~}}|43322110effgghhi{zzyyssrDEEFFGGH<;;::998bbccddee77665544bbccddee77665544bbccddee77665544bbccddee77665544bbccddee77665544bbccddee~~}}||{{AABBCCDDDDCCBBAAeeffgghh{{zzyyssLLMMNNOO44332211$%%&&''(pqqrrsstuttssrrq)((''&&%$%%&&''(pqqrrsstuttssrrq)((''&&%$%%&&''(pqqrrsstuttssrrq)((''&&%$%%&&''(pqqrrsstuttssrrq)((''&&%$%%&&''(pqqrrsstuttssrrq)((''&&%$%%&&''(pqqrrsstkjjiihhg OPPQQRRS100//..-!!""##$$mmnnooppxxwwvvuu,,++**))!!""##$$mmnnooppxxwwvvuu,,++**))!!""##$$mmnnooppxxwwvvuu,,++**))!!""##$$mmnnooppxxwwvvuu,,++**))!!""##$$mmnnooppxxwwvvuu,,++**))!!""##$$mmnnooppnnmmllkkLLMMNNOO44332211 !ijjkkllm|{{zzyyx0//..--, !ijjkkllm|{{zzyyx0//..--, !ijjkkllm|{{zzyyx0//..--, !ijjkkllm|{{zzyyx0//..--, !ijjkkllm|{{zzyyx0//..--, !ijjkkllmrqqppoonHIIJJKKL87766554ffgghhii~~}}||33221100ffgghhii~~}}||33221100ffgghhii~~}}||33221100ffgghhii~~}}||33221100ffgghhii~~}}||33221100ffgghhiizzyyssrrEEFFGGHH@@??>>== iijjkkllrrqqppooPPQQRRSS00//..--())**++,tuuvvwwxqppoonnm%$$##""!())**++,tuuvvwwxqppoonnm%$$##""!())**++,tuuvvwwxqppoonnm%$$##""!())**++,tuuvvwwxqppoonnm%$$##""!())**++,tuuvvwwxqppoonnm%$$##""!())**++,tuuvvwwxgffeeddc - - STTUUVVW~~}}-,,++**)%%&&''((qqrrssttttssrrqq((''&&%%%%&&''((qqrrssttttssrrqq((''&&%%%%&&''((qqrrssttttssrrqq((''&&%%%%&&''((qqrrssttttssrrqq((''&&%%%%&&''((qqrrssttttssrrqq((''&&%%%%&&''((qqrrssttjjiihhgg PPQQRRSS00//..--!""##$$%mnnooppqxwwvvuut,++**))(!""##$$%mnnooppqxwwvvuut,++**))(!""##$$%mnnooppqxwwvvuut,++**))(!""##$$%mnnooppqxwwvvuut,++**))(!""##$$%mnnooppqxwwvvuut,++**))(!""##$$%mnnooppqnmmllkkjLMMNNOOP43322110 !!jjkkllmm{{zzyyxx//..--,, !!jjkkllmm{{zzyyxx//..--,, !!jjkkllmm{{zzyyxx//..--,, !!jjkkllmm{{zzyyxx//..--,, !!jjkkllmm{{zzyyxx//..--,, !!jjkkllmmqqppoonnIIJJKKLL<<;;::99!!""##$$mmnnooppnnmmllkkTTUUVVWW~~}}|,,++**)),--..//0xyyzz{{|mllkkjji! ,--..//0xyyzz{{|mllkkjji! ,--..//0xyyzz{{|mllkkjji! ,--..//0xyyzz{{|mllkkjji! ,--..//0xyyzz{{|mllkkjji! ,--..//0xyyzz{{|cbbaa``_W]]^^__`||{{zzyy)((''&&%))**++,,uuvvwwxxppoonnmm$$##""!!))**++,,uuvvwwxxppoonnmm$$##""!!))**++,,uuvvwwxxppoonnmm$$##""!!))**++,,uuvvwwxxppoonnmm$$##""!!))**++,,uuvvwwxxppoonnmm$$##""!!))**++,,uuvvwwxxffeeddcc - - TTUUVVWW~~}}|,,++**))%&&''(()qrrssttutssrrqqp(''&&%%$%&&''(()qrrssttutssrrqqp(''&&%%$%&&''(()qrrssttutssrrqqp(''&&%%$%&&''(()qrrssttutssrrqqp(''&&%%$%&&''(()qrrssttutssrrqqp(''&&%%$%&&''(()qrrssttujiihhggf PQQRRSST0//..--,""##$$%%nnooppqqwwvvuutt++**))((""##$$%%nnooppqqwwvvuutt++**))((""##$$%%nnooppqqwwvvuutt++**))((""##$$%%nnooppqqwwvvuutt++**))((""##$$%%nnooppqqwwvvuutt++**))((""##$$%%nnooppqqmmllkkjjMMNNOOPP88776655%%&&''((qqrrssttjjiihhgg ]]^^__``|{{zzyyx((''&&%%01122334|}}~~ihhggffe01122334|}}~~ihhggffe01122334|}}~~ihhggffe01122334|}}~~ihhggffe01122334|}}~~ihhggffe01122334|}}~~_^^]]WWV `aabbccdxwvutssr%$#"! --..//00yyzz{{||llkkjjii --..//00yyzz{{||llkkjjii --..//00yyzz{{||llkkjjii --..//00yyzz{{||llkkjjii --..//00yyzz{{||llkkjjii --..//00yyzz{{||bbaa``__]]^^__``|{{zzyyx((''&&%%)**++,,-uvvwwxxypoonnmml$##""!! )**++,,-uvvwwxxypoonnmml$##""!! )**++,,-uvvwwxxypoonnmml$##""!! )**++,,-uvvwwxxypoonnmml$##""!! )**++,,-uvvwwxxypoonnmml$##""!! )**++,,-uvvwwxxyfeeddccb - - TUUVVWW]~~}}||,++**))(&&''(())rrssttuussrrqqpp''&&%%$$&&''(())rrssttuussrrqqpp''&&%%$$&&''(())rrssttuussrrqqpp''&&%%$$&&''(())rrssttuussrrqqpp''&&%%$$&&''(())rrssttuussrrqqpp''&&%%$$&&''(())rrssttuuiihhggff QQRRSSTT~~}}44332211))**++,,uuvvwwxxffeeddcc - - aabbccddwvutssrr$#"! 45566778eddccbba45566778eddccbba45566778eddccbba45566778eddccbba45566778eddccbba45566778VUUTTSSR - - deeffgghrqqppoon11223344}}~~hhggffee11223344}}~~hhggffee11223344}}~~hhggffee11223344}}~~hhggffee11223344}}~~hhggffee11223344}}~~^^]]WWVV aabbccddwvutssrr$#"! -..//001yzz{{||}lkkjjiih -..//001yzz{{||}lkkjjiih -..//001yzz{{||}lkkjjiih -..//001yzz{{||}lkkjjiih -..//001yzz{{||}lkkjjiih -..//001yzz{{||}baa``__^]^^__``a{{zzyyxw(''&&%%$**++,,--vvwwxxyyoonnmmll##""!! **++,,--vvwwxxyyoonnmmll##""!! **++,,--vvwwxxyyoonnmmll##""!! **++,,--vvwwxxyyoonnmmll##""!! **++,,--vvwwxxyyoonnmmll##""!! **++,,--vvwwxxyyeeddccbb - - UUVVWW]]||{{zzyy00//..----..//00yyzz{{||bbaa``__ - - eeffgghhqqppoonn899::;;>??@]\\[[ZZY <==>>??@]\\[[ZZY <==>>??@]\\[[ZZY <==>>??@]\\[[ZZY <==>>??@]\\[[ZZY <==>>??@NMMLLKKJlmmnnoopjiihhggf99::;;<<``__^^]]99::;;<<``__^^]]99::;;<<``__^^]]99::;;<<``__^^]]99::;;<<``__^^]]99::;;<>??@@\\[[ZZYY ==>>??@@\\[[ZZYY ==>>??@@\\[[ZZYY ==>>??@@\\[[ZZYY ==>>??@@\\[[ZZYY ==>>??@@MMLLKKJJmmnnooppiihhggff9::;;<<=`__^^]]\9::;;<<=`__^^]]\9::;;<<=`__^^]]\9::;;<<=`__^^]]\9::;;<<=`__^^]]\9::;;<<=QPPOONNMijjkkllmmllkkjji66778899ccbbaa``66778899ccbbaa``66778899ccbbaa``66778899ccbbaa``66778899ccbbaa``66778899TTSSRRQQ ffgghhiippoonnmm$$##""!!99::;;<>??@@A\[[ZZYYX =>>??@@A\[[ZZYYX =>>??@@A\[[ZZYYX =>>??@@A\[[ZZYYX =>>??@@A\[[ZZYYX =>>??@@AMLLKKJJImnnooppqihhggffe::;;<<==__^^]]\\::;;<<==__^^]]\\::;;<<==__^^]]\\::;;<<==__^^]]\\::;;<<==__^^]]\\::;;<<==PPOONNMMjjkkllmmllkkjjii ==>>??@@MMLLKKJJzz{{||}}aa``__^^ -HIIJJKKLQPPOONNMHIIJJKKLQPPOONNMHIIJJKKLQPPOONNMHIIJJKKLQPPOONNMHIIJJKKLQPPOONNMHIIJJKKLBAA;;::9%%&}~~^]]\[ZYX - - EEFFGGHHTTSSRRQQEEFFGGHHTTSSRRQQEEFFGGHHTTSSRRQQEEFFGGHHTTSSRRQQEEFFGGHHTTSSRRQQEEFFGGHHEEDDCCBBzz{{||}}aa``__^^ -ABBCCDDEXWWVVUUT - - ABBCCDDEXWWVVUUT - - ABBCCDDEXWWVVUUT - - ABBCCDDEXWWVVUUT - - ABBCCDDEXWWVVUUT - - ABBCCDDEIHHGGFFEqrrssyyzeddccbba>>??@@AA[[ZZYYXX >>??@@AA[[ZZYYXX >>??@@AA[[ZZYYXX >>??@@AA[[ZZYYXX >>??@@AA[[ZZYYXX >>??@@AALLKKJJIInnooppqqhhggffeeAABBCCDDIIHHGGFF%%&&~~]]\[ZYXW - LMMNNOOPMLLKKJJILMMNNOOPMLLKKJJILMMNNOOPMLLKKJJILMMNNOOPMLLKKJJILMMNNOOPMLLKKJJILMMNNOOP98877665&''(())*WWVVUUTTIIJJKKLLPPOONNMMIIJJKKLLPPOONNMMIIJJKKLLPPOONNMMIIJJKKLLPPOONNMMIIJJKKLLPPOONNMMIIJJKKLLAA;;::99%%&&~~]]\[ZYXW - EFFGGHHITSSRRQQPEFFGGHHITSSRRQQPEFFGGHHITSSRRQQPEFFGGHHITSSRRQQPEFFGGHHITSSRRQQPEFFGGHHIEDDCCBBAz{{||}}~a``__^^] - -BBCCDDEEWWVVUUTT - - BBCCDDEEWWVVUUTT - - BBCCDDEEWWVVUUTT - - BBCCDDEEWWVVUUTT - - BBCCDDEEWWVVUUTT - - BBCCDDEEHHGGFFEErrssyyzzddccbbaaEEFFGGHHEEDDCCBB''(())**WVVUUTTSPQQRRSSTIHHGGFFEPQQRRSSTIHHGGFFEPQQRRSSTIHHGGFFEPQQRRSSTIHHGGFFEPQQRRSSTIHHGGFFEPQQRRSST54433221*++,,--.SSRRQQPPMMNNOOPPLLKKJJIIMMNNOOPPLLKKJJIIMMNNOOPPLLKKJJIIMMNNOOPPLLKKJJIIMMNNOOPPLLKKJJIIMMNNOOPP88776655''(())**WVVUUTTSIJJKKLLMPOONNMMLIJJKKLLMPOONNMMLIJJKKLLMPOONNMMLIJJKKLLMPOONNMMLIJJKKLLMPOONNMMLIJJKKLLMA;;::998%%&&'~]\[ZYXWW FFGGHHIISSRRQQPPFFGGHHIISSRRQQPPFFGGHHIISSRRQQPPFFGGHHIISSRRQQPPFFGGHHIISSRRQQPPFFGGHHIIDDCCBBAA{{||}}~~``__^^]]IIJJKKLLAA;;::99++,,--..SRRQQPPO - - TUUVVWWXEDDCCBBA - - TUUVVWWXEDDCCBBA - - TUUVVWWXEDDCCBBA - - TUUVVWWXEDDCCBBA - - TUUVVWWXEDDCCBBA - - TUUVVWWX100//..-.//00112OONNMMLLQQRRSSTTHHGGFFEEQQRRSSTTHHGGFFEEQQRRSSTTHHGGFFEEQQRRSSTTHHGGFFEEQQRRSSTTHHGGFFEEQQRRSSTT44332211++,,--..SRRQQPPOMNNOOPPQLKKJJIIHMNNOOPPQLKKJJIIHMNNOOPPQLKKJJIIHMNNOOPPQLKKJJIIHMNNOOPPQLKKJJIIHMNNOOPPQ87766554'(())**+VVUUTTSSJJKKLLMMOONNMMLLJJKKLLMMOONNMMLLJJKKLLMMOONNMMLLJJKKLLMMOONNMMLLJJKKLLMMOONNMMLLJJKKLLMM;;::9988%%&&''\\[[ZZYY MMNNOOPP88776655//001122ONNMMLLK XYYZZ[[\A@@??>>= XYYZZ[[\A@@??>>= XYYZZ[[\A@@??>>= XYYZZ[[\A@@??>>= XYYZZ[[\A@@??>>= XYYZZ[[\-,,++**)23344556KKJJIIHH - - UUVVWWXXDDCCBBAA - - UUVVWWXXDDCCBBAA - - UUVVWWXXDDCCBBAA - - UUVVWWXXDDCCBBAA - - UUVVWWXXDDCCBBAA - - UUVVWWXX00//..--//001122ONNMMLLK QRRSSTTUHGGFFEED QRRSSTTUHGGFFEED QRRSSTTUHGGFFEED QRRSSTTUHGGFFEED QRRSSTTUHGGFFEED QRRSSTTU43322110+,,--../RRQQPPOONNOOPPQQKKJJIIHHNNOOPPQQKKJJIIHHNNOOPPQQKKJJIIHHNNOOPPQQKKJJIIHHNNOOPPQQKKJJIIHHNNOOPPQQ77665544(())**++XXWWVVUU - - QQRRSSTT4433221133445566KJJIIHHG\]]^^__`=<<;;::9\]]^^__`=<<;;::9\]]^^__`=<<;;::9\]]^^__`=<<;;::9\]]^^__`=<<;;::9\]]^^__`)((''&&%6778899:GGFFEEDD YYZZ[[\\@@??>>== YYZZ[[\\@@??>>== YYZZ[[\\@@??>>== YYZZ[[\\@@??>>== YYZZ[[\\@@??>>== YYZZ[[\\,,++**))33445566KJJIIHHG - - UVVWWXXYDCCBBAA@ - - UVVWWXXYDCCBBAA@ - - UVVWWXXYDCCBBAA@ - - UVVWWXXYDCCBBAA@ - - UVVWWXXYDCCBBAA@ - - UVVWWXXY0//..--,/0011223NNMMLLKK RRSSTTUUGGFFEEDD RRSSTTUUGGFFEEDD RRSSTTUUGGFFEEDD RRSSTTUUGGFFEEDD RRSSTTUUGGFFEEDD RRSSTTUU33221100,,--..//TTSSRRQQ - - UUVVWWXX00//..--778899::GFFEEDDC`aabbccd98877665`aabbccd98877665`aabbccd98877665`aabbccd98877665`aabbccd98877665`aabbccd~~}}|%:;;AABBCCCBBAA@?]]^^__``<<;;::99]]^^__``<<;;::99]]^^__``<<;;::99]]^^__``<<;;::99]]^^__``<<;;::99]]^^__``((''&&%%778899::GFFEEDDC YZZ[[\\]@??>>==< YZZ[[\\]@??>>==< YZZ[[\\]@??>>==< YZZ[[\\]@??>>==< YZZ[[\\]@??>>==< YZZ[[\\],++**))(34455667JJIIHHGG - - VVWWXXYYCCBBAA@@ - - VVWWXXYYCCBBAA@@ - - VVWWXXYYCCBBAA@@ - - VVWWXXYYCCBBAA@@ - - VVWWXXYYCCBBAA@@ - - VVWWXXYY//..--,,00112233PPOONNMM YYZZ[[\\,,++**));;AABBCCCBBAA@?>deeffggh~~}54433221deeffggh~~}54433221deeffggh~~}54433221deeffggh~~}54433221deeffggh~~}54433221deeffggh|{{zzyysCDDEEFFG>=<;;::9aabbccdd88776655aabbccdd88776655aabbccdd88776655aabbccdd88776655aabbccdd88776655aabbccdd~~}}||;;AABBCCCBBAA@?>]^^__``a<;;::998]^^__``a<;;::998]^^__``a<;;::998]^^__``a<;;::998]^^__``a<;;::998]^^__``a(''&&%%78899::;FFEEDDCCZZ[[\\]]??>>==<<ZZ[[\\]]??>>==<<ZZ[[\\]]??>>==<<ZZ[[\\]]??>>==<<ZZ[[\\]]??>>==<<ZZ[[\\]]++**))((44556677~~}}||{++**))((&''(())*rssttuuvsrrqqppo'&&%%$$#&''(())*rssttuuvsrrqqppo'&&%%$$#&''(())*rssttuuvsrrqqppo'&&%%$$#&''(())*rssttuuvsrrqqppo'&&%%$$#&''(())*rssttuuvsrrqqppo'&&%%$$#&''(())*rssttuuvfeeddccb - - -abbccddeihhggffe@AABBCCD{zzyyxwv''&&%%$#*++,,--.vwwxxyyzonnmmllk#""!! *++,,--.vwwxxyyzonnmmllk#""!! *++,,--.vwwxxyyzonnmmllk#""!! *++,,--.vwwxxyyzonnmmllk#""!! *++,,--.vwwxxyyzonnmmllk#""!! *++,,--.vwwxxyyzbaa``__^ - effgghhieddccbbaDEEFFGGHutssrrqq"! .//00112z{{||}}~kjjiihhg.//00112z{{||}}~kjjiihhg.//00112z{{||}}~kjjiihhg.//00112z{{||}}~kjjiihhg.//00112z{{||}}~kjjiihhg.//00112z{{||}}~^]]WWVVUijjkkllma``__^^]HIIJJKKLppoonnmm23344556~gffeeddc23344556~gffeeddc23344556~gffeeddc23344556~gffeeddc23344556~gffeeddc23344556~UTTSSRRQmnnooppq]\\[[ZZY LMMNNOOPllkkjjii6778899:cbbaa``_6778899:cbbaa``_6778899:cbbaa``_6778899:cbbaa``_6778899:cbbaa``_6778899:QPPOONNMqrrssyyzYXXWWVVU - - PQQRRSSThhggffee:;;<<==>_^^]]\\[:;;<<==>_^^]]\\[:;;<<==>_^^]]\\[:;;<<==>_^^]]\\[:;;<<==>_^^]]\\[:;;<<==>MLLKKJJIz{{||}}~UTTSSRRQ - - TUUVVWWXddccbbaa >??@@AAB[ZZYYXXW >??@@AAB[ZZYYXXW >??@@AAB[ZZYYXXW >??@@AAB[ZZYYXXW >??@@AAB[ZZYYXXW >??@@AABIHHGGFFE%%&&'~QPPOONNM XYYZZ[[\``__^^]] - - BCCDDEEFWVVUUTTS - - BCCDDEEFWVVUUTTS - - BCCDDEEFWVVUUTTS - - BCCDDEEFWVVUUTTS - - BCCDDEEFWVVUUTTS - - BCCDDEEFEDDCCBBA'(())**+MLLKKJJI\]]^^__`\[ZYXWWV FGGHHIIJSRRQQPPOFGGHHIIJSRRQQPPOFGGHHIIJSRRQQPPOFGGHHIIJSRRQQPPOFGGHHIIJSRRQQPPOFGGHHIIJA;;::998+,,--../IHHGGFFE`aabbccdVUUTTSSRJKKLLMMNONNMMLLKJKKLLMMNONNMMLLKJKKLLMMNONNMMLLKJKKLLMMNONNMMLLKJKKLLMMNONNMMLLKJKKLLMMN87766554/0011223EDDCCBBAdeeffgghRQQPPOONNOOPPQQRKJJIIHHGNOOPPQQRKJJIIHHGNOOPPQQRKJJIIHHGNOOPPQQRKJJIIHHGNOOPPQQRKJJIIHHGNOOPPQQR4332211034455667A@@??>>= hiijjkklNMMLLKKJ -RSSTTUUVGFFEEDDC -RSSTTUUVGFFEEDDC -RSSTTUUVGFFEEDDC -RSSTTUUVGFFEEDDC -RSSTTUUVGFFEEDDC -RSSTTUUV0//..--,78899::;=<<;;::9 !!""##$lmmnnoopJIIHHGGF - VWWXXYYZCBBAA@@? - VWWXXYYZCBBAA@@? - VWWXXYYZCBBAA@@? - VWWXXYYZCBBAA@@? - VWWXXYYZCBBAA@@? - VWWXXYYZ,++**))(;AABBCCD98877665$%%&&''(pqqrrsstFEEDDCCBZ[[\\]]^?>>==<<;Z[[\\]]^?>>==<<;Z[[\\]]^?>>==<<;Z[[\\]]^?>>==<<;Z[[\\]]^?>>==<<;Z[[\\]]^(''&&%%DEEFFGGH~~}54433221())**++,tuuvvwwxBAA@?>=<^__``aab;::99887^__``aab;::99887^__``aab;::99887^__``aab;::99887^__``aab;::99887^__``aab~~}}||{HIIJJKKL}||{{zzy100//..-,--..//0xyyzz{{|;;::9988bccddeef76655443bccddeef76655443bccddeef76655443bccddeef76655443bccddeef76655443bccddeef{zzyyssrLMMNNOOPyxxwwvvu-,,++**)01122334|}}~~77665544fgghhiij~~}}||{3221100/fgghhiij~~}}||{3221100/fgghhiij~~}}||{3221100/fgghhiij~~}}||{3221100/fgghhiij~~}}||{3221100/fgghhiijrqqppoonPQQRRSSTuttssrrq)((''&&%4556677833221100 !!"jkkllmmn{zzyyxxw/..--,,+ !!"jkkllmmn{zzyyxxw/..--,,+ !!"jkkllmmn{zzyyxxw/..--,,+ !!"jkkllmmn{zzyyxxw/..--,,+ !!"jkkllmmn{zzyyxxw/..--,,+ !!"jkkllmmnnmmllkkjTUUVVWW]qppoonnm%$$##""!899::;;>??@ZHAbے`JXQtArd|ZdQbXv`ffpvZp˂bdQZ|bdQZ|fH~f`vXے`JXQr˂pJtArd|ZdQfpvnXv`bHAZp˂AJltbdQZ|fH~f`vXے`JXQr˂pJtArd|ZdQfpvnXv`bHAZp˂rtAJlbdQZ|nvpZHAbZHAbtlJtArdf~HfpvXQJ`ےbHAZdrtAJltvpfH~fZHAbے`JXQtlJtArdf~HfpvXQJ`ےbHAZdrtAJltvpfH~f`JXQHA`JXQr|ZdQnXv`˅nXv`˂rXQJ`ےbdQZ|drtAvXnvpfHr˂pZHAbہZdQbtlJtnXv`f~H˂rXQJ`ےbdQZ|drtAvXnvpfHr˂pZHAbہZdQbtlJt~Hfp~HfpbHArtAJbrtAJ~f`vXn`JXQr˂pZrd|ZdQbtpvnXv`fbHAZp˂rXQltbdQZ|~f`vXn`JXQr˂pZrd|ZdQbtpvnXv`fbHAZp˂rXQZ|dltdf`vXے`JXQr˂p|ZdQbtlJ~Hf~HfrXQJ`drtAdrtAf`vXnvpQr˂pZHAb|ZdQbtlnXv`f~HZp˂rXQJ`ۉbdQZ|drtf`vXnvpQr˂pZHAb|ZdQbtlnXv`f~HZp˂rXQJ`ۑtbddrtAfH~ے`JXQے`JXtArd|ZdQbfpvnXv`bHAZp˂rJltbdQZ|H~f`vXnے`JXQr˂ptArd|ZdQbfpvnXv`bHAZp˂rJltbdQZ|H~f`vXnbے`˂pZbtlf~Hf~HQJ`ےbHAZpdrtAJltvpfH~f`ZHAbے`JXQlJtArd|f~HfpvQJ`ےbHAZpdrtAJltvpfH~f`ZHAbے`JXQlJtArd|vvnXZp˂dQZ|bdQZ|vXnvpfH˂pZHAbےZdQbtlJtAXv`f~Hf˂rXQJ`ےdQZ|drtAJvXnvpfH˂pZHAbےZdQbtlJtAXv`f~Hf˂rXQJ`ےrtAJlrtAJlH~fr˂pZHAbtlJtArdpvpvnےbHAJltJltnvpfH~ˑZHAbے`JXbtlJtArdf~HfpvrXQJ`ےbHAdrtAJltnvpfH~ˑZHAbے`JXbtlJtArdf~HfpvrXQJ`ےbHAQZ|dJltf`vXr˂pQr˂p|ZdQbtlJnXv`f~Hp˂rXQJ`ےbdQZ|drtA`vXnvpfr˂pZHAb|ZdQbtlJnXv`f~Hp˂rXQJ`ےbdQZ|drtA`vXnvpfJXQrHAbےJtArdfpvfpvbHAZp˂rXJltbdQZ|~f`vXn`JXQr˂pArd|ZdQbtfpvnXv`˙bHAZp˂rXJltbdQZ|~f`vXn`JXQr˂pArd|ZdQbt~Hfpەv`frXQJ`drtAJdrtAvpfH~f`HAbے`JXQrlJtArd|~HfpvnJ`ےbHAZpdrtAJltbvpfH~f`HAbے`JXQrlJtArd|~HfpvnJ`ےbHAZptdrtbdQ`vXnZHAbے`JXQtArd|ZdQb~HfpXv`fZp˂bdQZ|bdQZ|fH~f`vXے`JXQr˂pJtArd|ZdQfpvnXv`bHAZp˂AJltbdQZ|fH~f`vXے`JXQr˂pJtArd|ZdQfpvnXv`bHAZp˂rtAJlbdQZ|lnvpZHAbZHAbtlJtArdf~HfpvXQJ`ےbHAZdrtAJltvpfH~fZHAbے`JXQtlJtArdf~HfpvXQJ`ےbHAZdrtAJltvpfH~f˂pZHA`JXQr|ZdQnXv`nXv`˂rXQJ`ےbdQZ|drtAvXnvpfHr˂pZHAbہZdQbtlJtnXv`f~H˂rXQJ`ےbdQZ|drtAvXnvpfHr˂pZHAbہZdQbtlJtvnX~HfpbHAltbJlt~f`vXn`JXQr˂pZrd|ZdQbtpvnXv`fbHAZp˂rXQltbdQZ|~f`vXn`JXQr˂pZrd|ZdQbtpvnXv`fbHAZp˂rXQtAJlZ|dvpfے`JXQr˂p|ZdQbtlJvnX~HfrXQJ`drtAdrtAf`vXnvpQr˂pZHAb|ZdQbtlnXv`f~HZp˂rXQJ`ۉbdQZ|drtf`vXnvpQr˂pZHAb|ZdQbtlnXv`f~HZp˂rXQJ`ۑtbdtb`vXے`JXQے`JXtArd|ZdQbfpvnXv`bHAZp˂rJltbdQZ|H~f`vXnے`JXQr˂ptArd|ZdQbfpvnXv`bHAZp˂rJltbdQZ|H~f`vXnbے`˂p`btlf~Hf~HQJ`ےbHAZpdrtAJltvpfH~f`ZHAbے`JXQlJtArd|f~HfpvQJ`ےbHAZpdrtAJltvpfH~f`ZHAbے`JXQlJtArd|v`fvnXZp˂dQZ|bdQZ|vXnvpfH˂pZHAbےZdQbtlJtAXv`f~Hf˂rXQJ`ےdQZ|drtAJvXnvpfH˂pZHAbےZdQbtlJtAXv`f~Hf˂rXQJ`ےtbdQZrtAJlH~fr˂pZHAbtlJtArdv`fpvnp˂rJltbJltnvpfH~ˑZHAbے`JXbtlJtArdf~HfpvrXQJ`ےbHAdrtAJltnvpfH~ˑZHAbے`JXbtlJtArdf~HfpvrXQJ`ےbHAQZ|lnvp`nvprZHAQrZHA|ZdQbtlJnXv`f~Hp˂rXQJ`ےbdQZ|drtA`vXnvpfr˂pZHAb|ZdQbtlJnXv`f~Hp˂rXQJ`ےbdQZ|drtA`vXnvpfJXQrJXQrb|ZdQbfpvnfpvbHAZp˂rXJltbdQZ|~f`vXn`JXQr˂pArd|ZdQbtfpvnXv`˙bHAZp˂rXJltbdQZ|~f`vXn`JXQr˂pArd|ZdQbt~Hfpەv`prXQJ`pdrtAJdrtAvpfH~f`HAbے`JXQrlJtArd|~HfpvnJ`ےbHAZpdrtAJltbvpfH~f`HAbے`JXQrlJtArd|~HfpvnJ`ےbHAZp|drtbdQ`vXnZHAbے`JXQtArd|ZdQb~HfpXv`pXQJ`ےQZdrbQZdfH~f`vXے`JXQr˂pJtArd|ZdQfpvnXv`bHAZp˂AJltbdQZ|fH~f`vXے`JXQr˂pJtArd|ZdQfpvnXv`bHAZp˂tbdQvXnfH~bے`bے`tlJtArdf~HfpvXQJ`ےbHAZdrtAJltvpfH~fZHAbے`JXQtlJtArdf~HfpvXQJ`ےbHAZdrtAJltvpfH~f˂p`Jtl|tlJvf~nvf˂rXQJ`ےbdQZ|drtAvXnvpfHr˂pZHAbہZdQbtlJtnXv`f~H˂rXQJ`ےbdQZ|drtAvXnvpfHr˂pZHAbہZdQbtlJtvnXvnrX˂rXltbQJltb~f`vXn`JXQr˂pZrd|ZdQbtpvnXv`fbHAZp˂rXQltbdQZ|~f`vXn`JXQr˂pZrd|ZdQbtpvnXv`fbHAZp˂rXQtAJlZ|l璀vp`ے`JXQr˂p|ZdQbtlJvnX˂rXQbHAZtAJlrtAJlf`vXnvpQr˂pZHAb|ZdQbtlnXv`f~HZp˂rXQJ`ۉbdQZ|drtf`vXnvpQr˂pZHAb|ZdQbtlnXv`f~HZp˂rXQJ`Z|dvpfHf`vXJXQrJXQrtArd|ZdQbfpvnXv`bHAZp˂rJltbdQZ|H~f`vXnے`JXQr˂ptArd|ZdQbfpvnXv`bHAZp˂rJltbdQZ|H~f`vXnXQr˂ZdQbttArdHfpv~HfpQJ`ےbHAZpdrtAJltvpfH~f`ZHAbے`JXQlJtArd|f~HfpvQJ`ےbHAZpdrtAJltvpfH~f`ZHAbے`JXQlJtArd|v`pvQJ`pQJ`ےZdrtQZdrvXnvpfH˂pZHAbےZdQbtlJtAXv`f~Hf˂rXQJ`ےdQZ|drtAJvXnvpfH˂pZHAbےZdQbtlJtAXv`f~Hf˂rXQJ`ےtbdQZtbnvXnr˂pZHAbtlJtArdv`pvJ`ےp˂rtbdQZtbdQnvpfH~ˑZHAbے`JXbtlJtArdf~HfpvrXQJ`ےbHAdrtAJltnvpfH~ˑZHAbے`JXbtlJtArdf~HfpvrXQJ`ےbHArtAJl~f`nvppZHA˂pZHA|ZdQbtlJnXv`f~Hp˂rXQJ`ےbdQZ|drtA`vXnvpfr˂pZHAb|ZdQbtlJnXv`f~Hp˂rXQJ`ےbdQZ|drtA`vXnvpfpZHAblJtA|ZdQbnXvvnXbHAZp˂rXJltbdQZ|~f`vXn`JXQr˂pArd|ZdQbtfpvnXv`˙bHAZp˂rXJltbdQZ|~f`vXn`JXQr˂pArd|ZdQbtnXv`rXQbHAZpAJlttAJlvpfH~f`HAbے`JXQrlJtArd|~HfpvnJ`ےbHAZpdrtAJltbvpfH~f`HAbے`JXQrlJtArd|~HfpvnJ`ےbHAZp|ltvp`vvpfHZHAbے`JXQtArd|ZdQbnXvbHAZpXQJ`ے|drZ|dfH~f`vXے`JXQr˂pJtArd|ZdQfpvnXv`bHAZp˂AJltbdQZ|fH~f`vXے`JXQr˂pJtArd|ZdQfpvnXv`bHAZp˂tbdQvXnfH~bے`bے`tlJtArdf~HfpvXQJ`ےbHAZdrtAJltvpfH~fZHAbے`JXQtlJtArdf~HfpvXQJ`ےbHAZdrtAJltvpfH~fے`Jrd|tlJ`f~v`f˂rXQJ`ےbdQZ|drtAvXnvpfHr˂pZHAbہZdQbtlJtnXv`f~H˂rXQJ`ےbdQZ|drtAvXnvpfHr˂pZHAbہZdQbtlJtf~HJ`ے˂rXbdQZ|tbdQZ~f`vXn`JXQr˂pZrd|ZdQbtpvnXv`fbHAZp˂rXQltbdQZ|~f`vXn`JXQr˂pZrd|ZdQbtpvnXv`fbHAZp˂rXQbdQZ|Xnv~f`ے`JXQr˂p|ZdQbtlJ`f~˂rXQbHAXQtAJlrtAJlf`vXnvpQr˂pZHAۂ|ZdQbtlnXv`fHZp˂rXQJ`ۉbdQZ|dtAf`vXnvpQr˂pZHAۂ|ZdQbtlnXv`fHZp˂rXQJ`Z|dvpfHvpfHJXQrJXQrtArd|ZdQbfpvnXv`bHAZp˂rJltbdQZ|H~f`vXnے`JXQr˂ptArd|ZdQbfpvnXv`bHAZp˂rJltbdQZ|H~f`vXnXQr˂ZdQbttArdtHfpv~HfpQJ`ےbHAZpdrtAJltvpfH~f`ZHAbے`JXQlJtArd|f~HfpvQJ`ےbHAZpdrtAJltvpfH~f`ZHAbے`JXQlJtArd|fpvbHAZpQJ`ےdrt|drvXnvpfH˂pZHAbےZdQbtlJtAXv`f~Hf˂rXQJ`ےdQZ|drtAJvXnvpfH˂pZHAbےZdQbtlJtAXv`f~Hf˂rXQJ`ےdrtApfH~vXnr˂pZHAbtlJtArdHfpvJ`ےJ`ےtbdQZtbdQnvpfH~ˑZHAb`JXQbtlJtArdf~HfpvrXQJ`ےbHAdrtJltnvpfH~ˑZHAb`JXQbtlJtArdf~HfpvrXQJ`ےbHArtAdQZ|~ۅ~f`pZAb˂pZA|ZdQbtlJnXv`fHfp˂rXQJ`ےbdQZ|dtAJ`vXnvpfr˂pZHAے|ZdQbtlJnXv`fHfp˂rXQJ`ےbdQZ|dtAJ`vXnvpfpZHAblJtAlJtAnXvvnXbHAZp˂rXJltbdQZ|~f`vXn`JXQr˂pArd|ZdQbtfpvnXv`˙bHAZp˂rXJltbdQZ|~f`vXn`JXQr˂pArd|ZdQbtnXv`rXQbHAXQAJlttAJlvpfH~f`HAbے`JXQrlJtArd|~HfpvnJ`ےbHAZpdrtAJltbvpfH~f`HAbے`JXQrlJtArd|~HfpvnJ`ےbHAZpJltf`vvpfHZHAbے`JXQtArd|ZdQbnXvbHAXQJbHAZp|rAJlZ|dnfH~fZHAbے`JXrbtlJtArdf~HfpvnrXQJ`bHAZdrtAJltbnvpfH~fZHAbے`JXrbtlJtArdf~HfpvnrXQJ`bHAZdrtdrtvpfHvXn`JXQr`JXQrtlJtArdf~HpvnXQJ`ےbHAZdrtAltbvpfH~fZHAb`JXQrtlJtArdf~HpvnXQJ`ےbHAZdrtAltbvpfH~f˂prdtrd|`f~fpv`ffp˂rXQJ`ےbdQZ|dtAJlvXnvpfHr˂pZHAے`ZdQbtlJtnXv`fHfp˂rXQJ`ےbdQZ|dtAJlvXnvpfHr˂pZHAے`ZdQbtlJtf~HJ`ےJ`ےbdQZ|tbdQZ~f`vXn`JXQr˂pZrd|ZdQbtpvnXv`fbHAZp˂rXQltbdQZ|~f`vXn`JXQr˂pZrd|ZdQbtpvnXv`fbHAZp˂rXQbdQZ|Xnv~vے`JXQr˂p|ZdQbtlJ`f~`ےb˂rXQtbdvff`vXے`JXQr˂pJtAd|ZdQfpvnXv`ےHAZp˂AJltbdQZ|fHf`vXے`JXQr˂pJtAd|ZdQfpvnXv`ےHAZp˂AdQZ|AJlt~f`vpfH˂pZbtltArdf~HfpvrXQJ`bHAZdrtAJltnvpH~fZHAbے`JXQbtltArdf~HfpvrXQJ`bHAZdrtAJltnvpH~fZHAbZHAblJtArZdQbtvnXvnQJ`ےbHAZdrtAtbvpfH~fZHAbہJXQrlJtArdf~HvnQJ`ےbHAZdrtAtbvpfH~fZHAbہJXQrlJtArd˅Xv`bHAXQJ`bHAZpˁrAJl|AJlvXnvpfH˂pZHAے`ZdQbtlJtAXv`fHfp˂rXQJ`ےdQZ|dtAJlvXnvpfH˂pZHAے`ZdQbtlJtAXv`fHfp˂rXQJ`ےdrtApfH~pfH~fZHAbr˂pZHAbtlJtArdHXv`HAZp˂J`ےQZ|df`vXnvpQr˂pZHAb|ZdQbtlnXv`f~HZp˂rXQJ`ۉbdQZ|drtf`vXnvpQr˂pZHAb|ZdQbtlnXv`f~HZp˂rXQJ`ۂdrtAbdQZ|vXnۅ~f`HAbےJtAd|ZdQbfpvnXv`ےHAZp˂rJltbdQZ|fHf`vXnے`JXQr˂pJtAd|ZdQbfpvnXv`ےHAZp˂rJltbdQZ|fHf`vXn˂pZے`JXQd|ZlJtAv`frXQJ`ۙbHAZpdrtAJltnvp~f`ZHAbے`JXQbtlArd|f~HfpvrXQJ`ۙbHAZpdrtAJltnvp~f`ZHAbے`JXQbtlArd|f~HXf~HےbHrXQtbdQtbnvpfH~fZHAbےJXQrblJtArdf~HfvnrJ`ےbHAZdrtAJtbnvpfH~fZHAbےJXQrblJtArdf~HfvnrJ`ےbHAZdQZ|vpf`vJQrZHAbے`JXQtArdf~Hf~HrXQJbHAZprtAJlnvpfH~ˑZHAbے`JXbtlJtArdf~HfpvrXQJ`ےbHAdrtAJltnvpfH~ˑZHAbے`JXbtlJtArdf~HfpvrXQJ`ےbHAJltdrtvpfHvXH`JXQr|ZdQbtlJnXv`f~Hp˂rXQJ`ےbdQZ|drtA`vXnvpfr˂pZHAb|ZdQbtlJnXv`f~Hp˂rXQJ`ےbdQZ|drtA`vXnvpfHAbےr˂pdQbtrd|~HfpHAZp˂rXJltbdQZ|fHf`vXn`JXQr˂pJtAd|ZdQbtfpvnXv`˒HAZp˂rXJltbdQZ|fHf`vXn`JXQr˂pJtAd|ZdQbtv`ffpvAZp˂J`ےZ|dvpf~f`HAbے`JXQrtlJrd|~HfpvnXQJ`ےbHAZpdrtAJltbvpf~f`HAbے`JXQrtlJrd|~HfpvnXQJ`ےbHAZpdrtAdQdrtAJfH~Xnv˂pZHے`JXQr˂p|ZdQbXv`ffpv`ےb˂btbdfH~f`vXے`JXQr˂pJtArd|ZdQfpvnXv`bHAZp˂AJltbdQZ|fH~f`vXے`JXQr˂pJtArd|ZdQfpvnXv`bHAZp˂bdQZ|AJlt~f`~fZH˂pZtlJtArdf~HfpvXQJ`ےbHAZdrtAJltvpfH~fZHAbے`JXQtlJtArdf~HfpvXQJ`ےbHAZdrtAJltvpfH~f`JXQrZHAblJtArZdQtArvnX˂rXQJ`ےbdQZ|drtAvXnvpfHr˂pZHAbہZdQbtlJtnXv`f~H˂rXQJ`ےbdQZ|drtAvXnvpfHr˂pZHAbہZdQbtlJt~HfpnXv`ˉrXQJ`bHAZprtAJlHf`vXn`JXQr˂pZtAd|ZdQbtpvnXv`fHAZp˂rXQltbdQZ|Hf`vXn`JXQr˂pZtAd|ZdQbtpvnXv`fHAZp˂rXQZ|dltbf`vXpfH~Abے`r˂p|ZdQbtlJ~HfnXv`HAZp˂HAZdQZ|df`vXnvpQr˂pZHAb|ZdQbtlnXv`f~HZp˂rXQJ`ۉbdQZ|drtf`vXnvpQr˂pZHAb|ZdQbtlnXv`f~HZp˂rXQJ`ۂdrtAdrtAvXH~AbJHAbtArd|ZdQbfpvnXv`bHAZp˂rJltbdQZ|H~f`vXnے`JXQr˂ptArd|ZdQbfpvnXv`bHAZp˂rJltbdQZ|H~f`vXn˂pZے`JXQd|Zdfv`fQJ`ےbHAZpdrtAJltvpfH~f`ZHAbے`JXQlJtArd|f~HfpvQJ`ےbHAZpdrtAJltvpfH~f`ZHAbے`JXQlJtArd|vnXf~HےbHbHtbdQvXnvpfH˂pZHAbےZdQbtlJtAXv`f~Hf˂rXQJ`ےdQZ|drtAJvXnvpfH˂pZHAbےZdQbtlJtAXv`f~Hf˂rXQJ`ےrtAJldQZ|nvpf`vJXQrZHAbtlJtArdpvnf~HbHArtAJrtAJnvpfH~ˑZHAbے`JXbtlJtArdf~HfpvrXQJ`ےbHAdrtAJltnvpfH~ˑZHAbے`JXbtlJtArdf~HfpvrXQJ`ےbHAJltdJltf`vXQr˂pJQr˂p|ZdQbtlJnXv`f~Hp˂rXQJ`ےbdQZ|drtA`vXnvpfr˂pZHAb|ZdQbtlJnXv`f~Hp˂rXQJ`ےbdQZ|drtA`vXnvpfHAbےHAbےdQtArd~Hfv~HfvbHAZp˂rXJltbdQZ|~f`vXn`JXQr˂pArd|ZdQbtfpvnXv`˙bHAZp˂rXJltbdQZ|~f`vXn`JXQr˂pArd|ZdQbtv`ffpvAZp˂AZdZ|dvpfH~f`HAbے`JXQrlJtArd|~HfpvnJ`ےbHAZpdrtAJltbvpfH~f`HAbے`JXQrlJtArd|~HfpvnJ`ےbHAZptbdQdrtAJfH~XH~˂pZHAbے`HAbےlJtArd|~HfpvnXJ`ےbHAZp˙rtAJltbdvpfH~f`Abے`JXQrlJtArd|~HfpvnXJ`ےbHAZp˙rtAJltbdvpfH~f`bے`˂p`ZۑpJApfH~ㅐf۝`vtbAdZJXQr`JXQrrd|ZdQbtvnXv`fbHAZp˂rXQtbdQZ|d~f`vXnہJXQr˂pZHrd|ZdQbtvnXv`fbHAZp˂rXQtbdQZ|d~f`vXnJXQrQXb㉀Hr󙐂ˁf۝`vXnvˍ|drZHAbZHAbZdQbtlJtAv`f~HfprXQJ`ےQZ|drtAJlvXnvpfH˂pZHAbے`ZdQbtlJtAv`f~HfprXQJ`ےQZ|drtAJlvXnvpfHp`JXۑpJAHr`ZQXbXnvˍpfH~QtJlے`JXQے`JXlJtArd|~HfpvnXJ`ےbHAZp˙rtAJltbdvpfH~f`Abے`JXQrlJtArd|~HfpvnXJ`ےbHAZp˙rtAJltbdvpfH~f`Qr˂p󙐂ˁ`ZۑpJApfH~ㅐf۝`vtbAdZr˂pQr˂prd|ZdQbtvnXv`fbHAZp˂rXQtbdQZ|d~f`vXnہJXQr˂pZHrd|ZdQbtvnXv`fbHAZp˂rXQtbdQZ|d~f`vXnۑZHAbQXb㉀Hr󙐉f۝`vXnvˍ|drZHAbZHAbZdQbtlJtAv`f~HfprXQJ`ےQZ|drtAJlvXnvpfH˂pZHAbے`ZdQbtlJtAv`f~HfprXQJ`ےQZ|drtAJlvXnvpfHے`JXۑpJAHrۑpJAHrXnvˍp|drQtJlے`JXQے`JXlJtArd|~HfpvnXJ`ےbHAZp˙rtAJltbdvpfH~f`Abے`JXQrlJtArd|~HfpvnXJ`ےbHAZp˙rtAJltbdvpfH~f`Qr˂p󙐉ۑ󙐂ˁ`ZpfH~QtJltbAdZr˂pQr˂prd|ZdQbtvnXv`fbHAZp˂rXQtbdQZ|d~f`vXnہJXQr˂pZHrd|ZdQbtvnXv`fbHAZp˂rXQtbdQZ|d~f`vXnۑZHAbpJAHrQXb㉀f۝`vtbAdZ|drZAb`ZA`ZdQbtlJtAv`fHfpۂrXQJ`ےQZ|dtAJlvXnvpfH˂pZHAے`ZdQbtlJtAv`fHfpۂrXQJ`ےQZ|dtAJlvXnvpfH󙀉˂pˁ`ZQۑpJAHrXnvˍ|drQtJlJXQrJXQrbtlJtArdf~HfpvnrXJ`ےbHAZdrtAJltbnvpfH~fZHAbے`JXQrbtlJtArdf~HfpvnrXJ`ےbHAZdrtAJltbnvpfH~frZHAbXb㉀ۑ󙐂ˁ`pfH~QtJltbAdZpZHAlJtrd|~HfpvnXQJ`ےbHAZp˙rtAJltbdvpfH~f`Abے`JXQrlJtrd|~HfpvnXQJ`ےbHAZp˙rtAJltbdvpfH~f`˂pZH`JXQpJAHrpfH~ㅐf۝`vtbAdZ|drbے`Ad|ZdQbtvnXv`fHAZp˂rXQtbdQZ|df`vXnہJXQr˂pZHAd|ZdQbtvnXv`fHAZp˂rXQtbdQZ|df`vXnAbے`r˂pˁ`ZQf۝`vXnvˍ|drQtJlJXQrZdQbtlJtAv`f~HfprXQJ`ےQZ|drtAJlvXnvpfH˂pZHAbے`ZdQbtlJtAv`f~HfprXQJ`ےQZ|drtAJlvXnvpfHJXQrZHAbXAHr󙐂XnvˍpfH~QtJltbAdZpZHAlJtArd|~HfpvnXJ`ےbHAZp˙rtAJltbdvpfH~f`Abے`JXQrlJtArd|~HfpvnXJ`ےbHAZp˙rtAJltbdvpfH~f`˂pZH`JXQHˁ`ZQXbpfH~ㅐf۝`vtbAdZ|drbJQrrd|ZdQbtvnXv`fbHAZp˂rXQtbdQZ|d~f`vXnہJXQr˂pZHrd|ZdQbtvnXv`fbHAZp˂rXQtbdQZ|d~f`vXnAbے`Abے`㉀ۑpJf۝`vXnvˍ|drQtJl˂pZZdQbtlJtAv`f~HfprXQJ`ےQZ|drtAJlvXnvpfH˂pZHAbے`ZdQbtlJtAv`f~HfprXQJ`ےQZ|drtAJlvXnvpfHJXQHAJXQrAHr󙐂XnvˍpfH~QtJltbAdZHAbےlJtArd|~HfpvnXJ`ےbHAZp˙rtAJltbdvpfH~f`Abے`JXQrlJtArd|~HfpvnXJ`ےbHAZp˙rtAJltbdvpfH~f`bے`˂pZHˁ`ZQXbpfH~ㅐf۝`vtbAdZ|dr`JXQrrd|ZdQbtvnXv`fbHAZp˂rXQtbdQZ|d~f`vXnہJXQr˂pZHrd|ZdQbtvnXv`fbHAZp˂rXQtbdQZ|d~f`vXnJXQrAbے`㉀ۑpf۝`vXnvˍ|drQtJl˂pZZdQbtlJtAv`f~HfprXQJ`ےQZ|drtAJlvXnvpfH˂pZHAbے`ZdQbtlJtAv`f~HfprXQJ`ےQZ|drtAJlvXnvpfHpZHAJXQr`ZQXbXnvˍpfH~QtJltbAdZ| \ No newline at end of file diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv34_2.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv34_2.dat deleted file mode 100644 index 4829b3148c..0000000000 --- a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv34_2.dat +++ /dev/null @@ -1,305 +0,0 @@ -}~}~}~}~{|{|{|{|wxwxwxwxtstststspopopoponmnmnmnmjijijijihghghghg}~}~}~}~{|{|{|{|wxwxwxwxtstststspopopoponmnmnmnmjijijijihghghghg}~}~}~}~{|{|{|{|wxwxwxwxtstststspopopoponmnmnmnmjijijijihghghghg}~}~}~}~{|{|{|{|wxwxwxwxtststssspopopoponmnmnmnmjijijijihghghghg}~}~}~}~{zyzyzyzwxwxwxwxssstststpopopoponmnmnmnmjijijijihghghghg}~}~}~}~yzyzyzyzwxwxwxwxststststpopopoponmnmnmnmjijijijihghghghg}~}~}~}~yzyzyzyzwxwxwxwxststststpopopoponmnmnmnmjijijijifefefefe}~}~}~}~yzyzyzyzwxwxwxwxststststpopopoponmnmnmnmjijijijifefefefe}~}~}~}~yzyzyzyzwxwxwxwxststststpopopoponmnmnmnmjijijijifefefefe}~}~}~}~yzyzyzyzwxwxwxwxststststpopopoponmnmnmnmjijijijifefefefe}~}~}~}~yzyzyzyzwxwxwxwxsssssstspopopoponmnmnmnmjijijijifefefefe}~}~}~}~yzyzyzyzwxwxwxwxtstststspopopoponmnmnmnmjijijijifefefefe}~}~}~}~yzyzyzyzwxwxwxwvtstststspopopopolklklklkjijijijifefefefe}~}~}~}~yzyzyzyzuvuvuvuvtstststspopopopolklklklkjijijijifefefefe}~}~}~}~yzyzyzyzuvuvuvuvtstststspopopopolklklklkjijijijifefefefe}~}~}~}~yzyzyzyzuvuvuvuvtstststspopopopolklklklkjijijijifefefefe}~}~}~}~yzyzyzyzuvuvuvuvtstssssspopopopolklklklkjijijijifefefefe}~}~}~}~yzyzyzyzuvuvuvuvtstststspopopopolklklklkjijijijifefefefe}~}~}~}~yzyzyzyzuvuvuvuvrqrqrqrqpopopopolklklklkjijijijifefefefe}~}~}~}~yzyzyzyzuvuvuvuvrqrqrqrqpopopopolklklklkjijijijifefefefe}~}~}~}~yzyzyzyzuvuvuvuvrqrqrqrqpopopopolklklklkjijijijifefefefe}~}~}~}~yzyzyzyzuvuvuvuvrqrqrqrqpopopopolklklklkjijijijifefefefe}~}~}~}~yzyzyzyzuvuvuvuvrqrqrqrqpopopopolklklklkjijijijifefefefe}~}~}~}~yzyzyzyzuvuvuvuvrqrqrqrqpopopopolklklklkjijijijifefefefe}~}~}~}~yzyzyzyzuvuvuvuvrqrqrqrqpopopopolklklklkjijijijifefefefe}~}~}~}~yzyzyzyzuvuvuvuvrqrqrqrqpopopopolklklklkjijijijifefefefe}|{|{|{|yzyzyzyzuvuvuvuvrqrqrqrqpopopopolklklklkjijijijifefefefe{|{|{|{|yzyzyzyzuvuvuvuvrqrqrqrqpopopopolklklklkjijijijifefefefe{|{|{|{|yzyzyzyzuvuvuvuvrqrqrqrqpopopopolklklklkhghghghgfefefefe{|{|{|{|yzyzyzyzuvuvuvuvrqrqrqrqpopopopolklklklkhghghghgfefefefe{|{|{|{|yzyzyzyzuvuvuvuvrqrqrqrqpopopopolklklklkhghghghgfefefefe{|{|{|{|yzyzyzyzuvuvuvuvrqrqrqrqpopopopolklklklkhghghghgfefefefe{|{|{|{|yzyzyzyzuvuvuvuvrqrqrqrqpopopopolklklklkhghghghgfefefefe{|{|{|{|yzyzyzyzuvuvuvuvrqrqrqrqpopopopolklklklkhghghghgfefefefe{|{|{|{|yzyzyzyzuvuvuvuvrqrqrqrqnmnmnmnmlklklklkhghghghgfefefefe{|{|{|{|yzyzyzyzuvuvuvuvrqrqrqrqnmnmnmnmlklklklkhghghghgfefefefe{|{|{|{|yzyzyzyzuvuvuvuvrqrqrqrqnmnmnmnmlklklklkhghghghgfefefefe{|{|{|{|yzyzyzyzuvuvuvuvrqrqrqrqnmnmnmnmlklklklkhghghghgfefefefe{|{|{|{|yzyzyzyzuvuvuvuvrqrqrqrqnmnmnmnmlklklklkhghghghgfefefefe{|{|{|{|yzyzyzyzuvuvuvuvrqrqrqrqnmnmnmnmlklklklkhghghghgfefefefe{|{|{|{|yzyzyzyzuvuvuvuvrqrqrqrqnmnmnmnmlklklklkhghghghgfefefefe{|{|{|{|yzyzyzyzuvuvuvuvrqrqrqrqnmnmnmnmlklklklkhghghghgfefefefe{|{|{|{|yxwxwxwxuvuvuvuvrqrqrqrqnmnmnmnmlklklklkhghghghgfefefefe{|{|{|{|wxwxwxwxuvuvutstrqrqrqrqnmnmnmnmlklklklkhghghghgfefefefe{|{|{|{|wxwxwxwxststssssrqrqrqrqnmnmnmnmlklklklkhghghghgdcdcdcdc{|{|{|{|wxwxwxwxsstststsrqrqrqrqnmnmnmnmlklklklkhghghghgdcdcdcdc{|{|{|{|wxwxwxwxtstststsrqrqrqrqnmnmnmnmlklklklkhghghghgdcdcdcdc{|{|{|{|wxwxwxwxtstststsrqrqrqrqnmnmnmnmlklklklkhghghghgdcdcdcdc~}~}~}~{|{|{|{|wxwxwxwxtstststsrqrqrqrqnmnmnmnmlklklklkhghghghgdcdcdcdc}~}~}~}~{|{|{|{|wxwxwxwxtstststsrqrqrqrqnmnmnmnmlklklklkhghghghgdcdcdcdc}~}~}~}~{|{|{|{|wxwxwxwxtstststsrqrqrqrqnmnmnmnmjijijijihghghghgdcdcdcdc}~}~}~}~{|{|{|{|wxwxwxwxssssststrqrqrqrqnmnmnmnmjijijijihghghghgdcdcdcdc}~}~}~}~{|{|{|{|wxwxwxwxststststrqrqrqrqnmnmnmnmjijijijihghghghgdcdcdcdc}~}~}~}~{|{|{|{|wxwxwxwxststststrqrqrqrqnmnmnmnmjijijijihghghghgdcdcdcdc}~}~}~}~{|{|{|{|wxwxwxwxststststrqrqrqrqnmnmnmnmjijijijihghghghgdcdcdcdc}~}~}~}~{|{|{|{|wxwxwxwxststststrqrqrqrqnmnmnmnmjijijijihghghghgdcdcdcdc}~}~}~}~{|{|{|{|wxwxwxwxststststpopopoponmnmnmnmjijijijihghghghgdcdcdcdc}~}~}~}~{|{|{|{|wxwxwxwxstsssssspopopoponmnmnmnmjijijijihghghghgdcdcdcdc}~}~}~}~{|{|{|{|wxwxwxwxtstststspopopoponmnmnmnmjijijijihghghghgdcdcdcdc}~}~}~}~{|{|{|{|wxwxwxwxtstststspopopoponmnmnmnmjijijijihghghghgdcdcdcdcdcdcdcdcdcdcdcdc`_`_`_`_^]^]^]^]ZYZYZYZYUVUVUVUVSTSTSTSTOPOPOPOPMNMNMNMLIJIJIJIJEFEFEFEFCDCDCDCD?@?@?@?@;<;<;<;<:9:9:9:965656565212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%"!"!"!"! dcdcdcdc`_`_`_`_^]^]^]^]ZYZYZYZYUVUVUVUVSTSTSTSTOPOPOPOPKLKLKLKLIJIJIJIJEFEFEFEFCDCDCDCD?@?@?@?@;<;<;<;<:9:9:9:965656565212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%"!"!"!"! dcdcdcdc`_`_`_`_^]^]^]^]ZYZYZYZYUVUVUVUVSTSTSTSTOPOPOPOPKLKLKLKLIJIJIJIJEFEFEFEFCDCDCDCD?@?@?@?@;<;<;<;<:9:9:98765656565212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%"!"!"!"!  dcdcdcdc`_`_`_`_^]^]^]^]ZYZYZYZYUVUVUVUVSTSTSTSTOPOPOPOPKLKLKLKLIJIJIJIJEFEFEFEFCDCDCDCD?@?@?@?@;<;<;<;<8787878765656565212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%"!"!"!"!     dcdcdcdc`_`_`_`_^]^]^]^]ZYZYZYZYUVUVUVUVSTSTSTSTOPOPOPOPKLKLKLKLIJIJIJIJEFEFEFEFCDCDCDCD?@?@?@?@;;;;;;<;8787878765656565212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%"!"!"!"!     dcdcdcdc`_`_`_`_^]^]^]^]ZYZYZYZYUVUVUVUVSTSTSTSTOPOPOPOPKLKLKLKLIJIJIJIJEFEFEFEFCDCDCDCD?@?@?@?@<;<;<;<;8787878765656565212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%"!"!"!"!     dcdcdcdc`_`_`_`_^]^]^]^]ZYZYZYZYUVUVUVUVSTSTSTSROPOPOPOPKLKLKLKLIJIJIJIJEFEFEFEFCDCDCDCD?@?@?@?@<;<;<;<;8787878765656565212121210/0/0/0/,+,+,+,+*)*)*)('&%&%&%&%"!"!"!"!     dcdcdcdc`_`_`_`_^]^]^]^]ZYZYZYZYUVUVUVUVQRQRQRQROPOPOPOPKLKLKLKLIJIJIJIJEFEFEFEFCDCDCDCD?@?@?@?@<;<;<;<;8787878765656565212121210/0/0/0/,+,+,+,+('('('('&%&%&%&%"!"!"!"!     dcdcdcdc`_`_`_`_^]^]^]^]ZYZYZYZYUVUVUVUVQRQRQRQROPOPOPOPKLKLKLKLIJIJIJIJEFEFEFEFCDCDCDCD?@?@?@?@<;<;<;<;8787878765656565212121210/0/0/0/,+,+,+,+('('('('&%&%&%&%"!"!"!"!     dcdcdcdc`_`_`_`_^]^]^]^]ZYZYZYZYUVUVUVUVQRQRQRQROPOPOPOPKLKLKLKLIJIJIJIJEFEFEFEFCDCDCDCD?@?@?@?@<;<;<;<;8787878765656565212121210/0/0/0/,+,+,+,+('('('('&%&%&%&%"!"!"!"!     dcdcdcdc`_`_`_`_^]^]^]^]ZYZYZYZYUVUVUVUVQRQRQRQROPOPOPOPKLKLKLKLIJIJIJIJEFEFEFEFCDCDCDCB?@?@?@?@<;<;;;;;8787878765656565212121210/0/0/0/,+,+,+,+('('('('&%&%&%&%"!"!"!"!     dcdcdcdc`_`_`_`_^]^]^]^]ZYZYZYZYUVUVUVUVQRQRQRQROPOPOPOPKLKLKLKLIJIJIJIJEFEFEFEFABABABAB?@?@?@?@;<;<;<;<8787878765656565212121210/0/0/0/,+,+,+,+('('('('&%&%&%&%"!"!"!"!     dcdcdcdc`_`_`_`_^]^]^]^]ZYZYZYZYUVUVUVUVQRQRQRQROPOPOPOPKLKLKLKLIJIJIJIJEFEFEFEFABABABAB?@?@?@?@;<;<;<;<8787878765656565212121210/0/0/.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!     dcdcdcdc`_`_`_`_^]^]^]^]ZYZYZYZYUVUVUVUVQRQRQRQROPOPOPOPKLKLKLKLIJIJIJIJEFEFEFEFABABABAB?@?@?@?@;<;<;<;<878787876565656521212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!     dcdcdcdc`_`_`_`_^]^]^]^]ZYZYZYZYUVUVUVUVQRQRQRQROPOPOPOPKLKLKLKLIJIJIJIJEFEFEFEFABABABAB?@?@?@?@;<;<;<;<878787876565656521212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!     dcdcdcdc`_`_`_`_\[\[\[\[ZYZYZYZYUVUVUVUVQRQRQRQROPOPOPOPKLKLKLKLIJIJIJIJEFEFEFEFABABABAB?@?@?@?@;<;<;<;<878787876565656521212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!     dcdcdcdc`_`_`_`_\[\[\[\[ZYZYXWXWUVUVUVUVQRQRQRQROPOPOPOPKLKLKLKLIJIJIJIHEFEFEFEFABABABAB?@?@?@?@;<;<;<;;878787876565656521212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!     dcdcdcdc`_`_`_`_\[\[\[\[XWXWWWWWUVUVUVUVQRQRQRQROPOPOPOPKLKLKLKLGHGHGHGHEFEFEFEFABABABAB?@?@?@?@;;;;<;<;878787876565656521212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!     dcdcdcdc`_`_`_`_\[\[\[\[WXWXWXWXUVUVUVUVQRQRQRQROPOPOPOPKLKLKLKLGHGHGHGHEFEFEFEFABABABAB?@?@?@?@<;<;<;<;878787876565654321212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!     - -dcdcdcdc`_`_`_`_\[\[\[\[WXWXWXWXUVUVUVUVQRQRQRQROPOPOPOPKLKLKLKLGHGHGHGHEFEFEFEFABABABAB?@?@?>=><;<;<;<;878787874343434321212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!     - - - -dcdcdcdc`_`_`_`_\[\[\[\[WXWXWXWXUVUVUVUVQRQRQRQROPOPOPOPKLKLKLKLGHGHGHGHEFEFEFEFABABABAB=>=>=>=><;<;<;<;878787874343434321212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!     - - - -babababa`_`_`_`_\[\[\[\[WXWXWXWXUVUVUVUVQRQRQRQROPOPOPOPKLKLKLKLGHGHGHGHEFEFEFEFABABABAB=>=>=>=><;<;<;<;878787874343434321212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!     - - - -babababa`_`_`_`_\[\[\[\[WXWXWXWXUVUVUVUVQRQRQRQROPOPOPONKLKLKLKLGHGHGHGHEFEFEFEFABABABAB=>=>=>=><;<;<;<;878787874343434321212121.-.-.-.-,+,+,+,+('('('('&%&%&%$#"!"!"!"!     - - - -babababa`_`_`_`_\[\[\[\[WXWXWXWWUVUVUVUVQRQRQRQRMNMNMNMNKLKLKLKLGHGHGHGHEFEFEFEFABABABAB=>=>=>=><;;;;;<;878787874343434321212121.-.-.-.-,+,+,+,+('('('('$#$#$#$#"!"!"!"!     - - - -babababa`_`_`_`_\[\[\[\[WWWWXWXWUVUVUVUVQRQRQRQRMNMNMNMNKLKLKLKLGHGHGHGHEFEFEFEFABABABAB=>=>=>=><;<;<;:9878787874343434321212121.-.-.-.-,+,+,+,+('('('('$#$#$#$#"!        - - - -babababa`_`_`_`_\[\[\[\[XWXWXWXWUVUVUVUVQRQRQRQRMNMNMNMNKLKLKLKLGHGHGHGHEFEFEFEFABABABAB=>=>=>=>:9:9:9:9878787874343434321212121.-.-.-.-,+,+,+,+('('('('$#$#$#$#       - - - -babababa`_`_`_`_\[\[\[\[XWXWXWXWUVUVUVUVQRQRQRQRMNMNMNMNKLKLKLKLGHGHGHGHEFEFEFEFABABABAB=>=>=>=>:9:9:9:9878787874343434321212121.-.-.-.-,+,+,+,+('('('('$#$#$#$#         - - - -babababa`_`_`_`_\[\[\[\[XWXWXWXWUVUVUVUVQRQRQRQRMNMNMNMNKLKLKLKLGHGHGHGHEFEFEFEFABABABAB=>=>=>=>:9:9:9:9878787874343434321212121.-.-.-.-,+,+,+,+('('('('$#$#$#$#         - - - -babababa`_`_`_`_\[\[\[\[XWXWXWXWUVUVUVUTQRQRQRQRMNMNMNMNKLKLKLKLGHGHGHGHEFEFEFEFABABABAB=>=>=>=>:9:9:9:9878787874343434321212121.-.-.-.-,+,+,+*)('('('('$#$#$#$#         - - - -babababa`_`_`_`_\[\[\[\[XWXWXWXWSTSTSTSTQRQRQRQRMNMNMNMNKLKLKLKLGHGHGHGHEFEFEFEFABABABAB=>=>=>=>:9:9:9:9878787874343434321212121.-.-.-.-*)*)*)*)('('('('$#$#$#$#         - - - -babababa`_`_`_`_\[\[\[\[XWWWWWWXSTSTSTSTQRQRQRQRMNMNMNMNKLKLKLKLGHGHGHGHEFEFEFEFABABABAB=>=>=>=>:9:9:9:9878787874343434321212121.-.-.-.-*)*)*)*)('('('('$#$#$#$#         - - - -babababa`_`_`_`_\[\[\[\[WXWXWXWXSTSTSTSTQRQRQRQRMNMNMNMNKLKLKLKLGHGHGHGHEFEFEFEFABABABAB=>=>=>=>:9:9:9:9878787874343434321212121.-.-.-.-*)*)*)*)('('('('$#$#$#$#       - - - -babababa`_`_`_`_\[\[\[\[WXWXWXWXSTSTSTSTQRQRQRQRMNMNMNMNKLKLKLKLGHGHGHGHEFEFEFEDABABABAB=>=>=>=>:9:9:9:9878787874343434321212121.-.-.-.-*)*)*)*)('('('('$#$#$#$#        - - - -babababa`_`_`_`_\[\[\[\[WXWXWXWXSTSTSTSTQRQRQRQRMNMNMNMNKLKLKLKLGHGHGHGHCDCDCDCDABABABAB=>=>=>=>:9:9:9:9878787874343434321212121.-.-.-.-*)*)*)*)('('('('$#$#$#$#         - - - -babababa`_`_`_`_\[\[\[\[WXWXWXWXSTSTSTSTQRQRQRQRMNMNMNMNKLKLKLKLGHGHGHGHCDCDCDCDABABABAB=>=>=>=>:9:9:9:987878787434343432121210/.-.-.-.-*)*)*)*)('('('('$#$#$#$#         - - - -babababa`_`_`_`_\[\[\[\[WXWXWXWXSTSTSTSTQRQRQRQRMNMNMNMNKLKLKLKLGHGHGHGHCDCDCDCDABABABAB=>=>=>=>:9:9:9:987878787434343430/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#         - - - -babababa`_`_`_`_\[\[\[\[WXWXWWWWSTSTSTSTQRQRQRQRMNMNMNMNKLKLKLKLGHGHGHGHCDCDCDCDABABABAB=>=>=>=>:9:9:9:987878787434343430/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#         - - - -babababa^]^]^]^]\[\[\[\[WWXWXWXWSTSTSTSTQRQRQRQRMNMNMNMNKLKLKLKLGHGHGHGHCDCDCDCDABABABAB=>=>=>=>:9:9:9:987878787434343430/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#         - - - -babababa^]^]^]^]\[\[\[\[XWXWXWXWSTSTSTSTQRQRQRQRMNMNMNMNKLKLKLKJGHGHGHGHCDCDCDCDABABABAB=>=>=>=>:9:9:9:987878787434343430/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#       - - - -babababa^]^]^]^]\[\[\[\[XWXWXWXWSTSTSTSTQRQRQRQRMNMNMNMNIJIJIJIJGHGHGHGHCDCDCDCDABABABAB=>=>=>=>:9:9:9:987878787434343430/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#         - - - -babababa^]^]^]^]\[\[\[\[XWXWXWXWSTSTSTSTQRQRQRQRMNMNMNMNIJIJIJIJGHGHGHGHCDCDCDCDABABABAB=>=>=>=>:9:9:9:987878765434343430/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#       - - - -babababa^]^]^]^]\[\[\[\[XWXWXWXWSTSTSTSTQRQRQRQRMNMNMNMNIJIJIJIJGHGHGHGHCDCDCDCDABABABAB=>=>=>=>:9:9:9:965656565434343430/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#     - - - -babababa^]^]^]^]\[\[\[\[XWXWXWXWSTSTSTSTQRQRQRQRMNMNMNMNIJIJIJIJGHGHGHGHCDCDCDCDABABABAB=>=>=>=>:9:9:9:965656565434343430/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#     - - - -babababa^]^]^]^]\[\[\[\[WWWWWXWXSTSTSTSTQRQRQRQRMNMNMNMNIJIJIJIJGHGHGHGHCDCDCDCDABABABAB=>=>=>=>:9:9:9:965656565434343430/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#     - - - -babababa^]^]^]^]\[\[\[\[WXWXWXWXSTSTSTSTQRQRQRQPMNMNMNMNIJIJIJIJGHGHGHGHCDCDCDCDABABABAB=>=>=>=>:9:9:9:965656565434343430/0/0/0/.-.-.-.-*)*)*)*)('('('&%$#$#$#$#  - - - -babababa^]^]^]^]\[\[\[ZYWXWXWXWXSTSTSTSTOPOPOPOPMNMNMNMNIJIJIJIJGHGHGHGHCDCDCDCDABABABAB=>=>=>=>:9:9:9:965656565434343430/0/0/0/.-.-.-.-*)*)*)*)&%&%&%&%$#$#$#$#     - - - -babababa^]^]^]^]ZYZYZYZYWXWXWXWXSTSTSTSTOPOPOPOPMNMNMNMNIJIJIJIJGHGHGHGHCDCDCDCDABABABAB=>=>=>=>:9:9:9:965656565434343430/0/0/0/.-.-.-.-*)*)*)*)&%&%&%&%$#$#$#$#     - - - -babababa^]^]^]^]ZYZYZYZYWXWXWXWXSTSTSTSTOPOPOPOPMNMNMNMNIJIJIJIJGHGHGHGHCDCDCDCDABABABAB=>=>=>=>:9:9:9:965656565434343430/0/0/0/.-.-.-.-*)*)*)*)&%&%&%&%$#$#$#$#     - - - -babababa^]^]^]^]ZYZYZYZYWXWXWXWXSTSTSTSTOPOPOPOPMNMNMNMNIJIJIJIJGHGHGHGHCDCDCDCDABABABA@=>=>=>=>:9:9:9:965656565434343430/0/0/0/.-.-.-.-*)*)*)*)&%&%&%&%$#$#$#$#     - - - -babababa^]^]^]^]ZYZYZYZYWXWWWWWXSTSTSTSTOPOPOPOPMNMNMNMNIJIJIJIJGHGHGHGHCDCDCDCD?@?@?@?@=>=>=>=>:9:9:9:965656565434343430/0/0/0/.-.-.-.-*)*)*)*)&%&%&%&%$#$#$#$#     - - - -babababa^]^]^]^]ZYZYZYZYWXWXWXWVSTSTSTSTOPOPOPOPMNMNMNMNIJIJIJIJGHGHGHGHCDCDCDCD?@?@?@?@=>=<;<;<:9:9:9:965656565434343430/0/0/0/.-.-.-,+*)*)*)*)&%&%&%&%$#$#$#$#    - - - -babababa^]^]^]^]ZYZYZYZYUVUVUVUVSTSTSTSTOPOPOPOPMNMNMNMNIJIJIJIJGHGHGHGHCDCDCDCD?@?@?@?@;<;;;;;;:9:9:9:965656565434343430/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#    - - - -babababa^]^]^]^]ZYZYZYZYUVUVUVUVSTSTSTSTOPOPOPOPMNMNMNMNIJIJIJIJGHGHGHGHCDCDCDCD?@?@?@?@<;<;<;<;:9:9:9:965656565434343430/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#     - - - -babababa^]^]^]^]ZYZYZYZYUVUVUVUVSTSTSTSTOPOPOPOPMNMNMNMNIJIJIJIJGHGHGHGHCDCDCDCD?@?@?@?@<;<;<;<;:9:9:9:965656565434343430/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#"!"!     - - - -babababa^]^]^]^]ZYZYZYZYUVUVUVUVSTSTSTSTOPOPOPOPMNMNMNMNIJIJIJIJGHGHGHGFCDCDCDCD?@?@?@?@<;<;<;<;:9:9:9:965656565434343430/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%"!"!"!"!     - - - -babababa^]^]^]^]ZYZYZYZYUVUVUVUVSTSTSTSTOPOPOPOPMNMNMNMNIJIJIJIJEFEFEFEFCDCDCDCD?@?@?@?@<;<;<;<;:9:9:9:965656565434343430/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%"!"!"!"!     - - - -babababa^]^]^]^]ZYZYZYZYUVUVUVUVSTSTSTSTOPOPOPOPMNMNMNMNIJIJIJIJEFEFEFEFCDCDCDCD?@?@?@?@<;<;<;<;:9:9:9:965656565434343210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%"!"!"!"!     - - babababa^]^]^]^]ZYZYZYZYUVUVUVUVSTSTSTSTOPOPOPOPMNMNMNMNIJIJIJIJEFEFEFEFCDCDCDCD?@?@?@?@<;<;<;;;:9:9:9:965656565212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%"!"!"!"!   babababa^]^]^]^]ZYZYZYZYUVUVUVUVSTSTSTSTOPOPOPOPMNMNMNMNIJIJIJIJEFEFEFEFCDCDCDCD?@?@?@?@;;;<;<;<:9:9:9:965656565212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%"!"!"!"!   `_`_`_`_^]^]^]^]ZYZYZYZYUVUVUVUVSTSTSTSTOPOPOPOPMNMNMNMNIJIJIJIJEFEFEFEFCDCDCDCD?@?@?@?@;<;<;<;<:9:9:9:965656565212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%"!"!"!"! iijjkkllaabbccdd@AABBCCDA@@??>>=~~}pqqrrsst01122334 BAA;;::9OONNMMLLiijjkkll))**++,,mmnnooppeeffgghhDEEFFGGH=<<;;::9}||{{zzytuuvvwwx45566778 - - 98877665KKJJIIHHmmnnoopp--..//00qqrrssttiijjkkllHIIJJKKL - - 98877665yxxwwvvuxyyzz{{|899::;;< 54433221GGFFEEDD~~}}qqrrsstt11223344 uuvvwwxxmmnnooppLMMNNOOP 54433221uttssrrq|}}~~<==>>??@100//..-CCBBAA@?||{{zzyyuuvvwwxx55667788 - - yyzz{{||qqrrssyyPQQRRSST100//..-qppoonnm@AABBCCD-,,++**)>=<;;::9xxwwvvuuyyzz{{||99::;;<<}}~~zz{{||}}TUUVVWWX-,,++**)mllkkjjiDEEFFGGH)((''&&%98877665ttssrrqq}}~~==>>??@@~~}}~~XYYZZ[[\)((''&&%ihhggffeHIIJJKKL - - %54433221ppoonnmmAABBCCDD||{{zzyy\]]^^__` %$$##""!eddccbbaLMMNNOOP 100//..-llkkjjiiEEFFGGHHxxwwvvuu`aabbccd !!""##$! a``__^^]PQQRRSST-,,++**)hhggffeeIIJJKKLL - - ttssrrqqdeeffggh$%%&&''(]\\[[ZZYTUUVVWWX)((''&&%ddccbbaaMMNNOOPP ppoonnmmhiijjkkl())**++,YXXWWVVUXYYZZ[[\ %$#"! ``__^^]]QQRRSSTTllkkjjiilmmnnoop,--..//0UTTSSRRQ\]]^^__` - - \\[[ZZYYUUVVWWXXhhggffeepqqrrsst01122334 QPPOONNM`aabbccd !!""##$XXWWVVUUYYZZ[[\\ddccbbaatuuvvwwx45566778 - - MLLKKJJIdeeffggh$%%&&''( TTSSRRQQ]]^^__`` ``__^^]]xyyzz{{|899::;;< IHHGGFFEhiijjkkl())**++, - - PPOONNMMaabbccdd!!""##$$\\[[ZZYY|}}~~<==>>??@EDDCCBBAlmmnnoop,--..//0  LLKKJJIIeeffgghh%%&&''((XXWWVVUU@AABBCCDA@@??>>=~~}pqqrrsst01122334 - - HHGGFFEEiijjkkll))**++,,TTSSRRQQ~~}}||~~}}|DEEFFGGH=<<;;::9}||{{zzytuuvvwwx45566778DDCCBBAAmmnnoopp--..//00PPOONNMM{{zzyyss|{{zzyyxHIIJJKKL - - 98877665yxxwwvvuxyyzz{{|899::;;<@@??>>==~~}}qqrrsstt11223344LLKKJJIIrrqqppoowvutssrrLMMNNOOP 54433221uttssrrq|}}~~<==>>??@%%&<<;;::99||{{zzyyuuvvwwxx55667788HHGGFFEEnnmmllkkqqppoonnPQQRRSST100//..-qppoonnm@AABBCCD&''(())* - - 88776655xxwwvvuuyyzz{{||99::;;<>??@@@@??>>==ffeeddcciihhggffXYYZZ[[\)((''&&%ihhggffeHIIJJKKL.//0011200//..--ppoonnmmAABBCCDD<<;;::99bbaa``__eeddccbb\]]^^__` %$$##""!eddccbbaLMMNNOOP23344556,,++**))llkkjjiiEEFFGGHH88776655^^]]WWVVaa``__^^`aabbccd !!""##$! a``__^^]PQQRRSST6778899:((''&&%%hhggffeeIIJJKKLL44332211UUTTSSRR]]\[ZYXWdeeffggh$%%&&''(]\\[[ZZYTUUVVWWX:;;AABBC $$##""!!ddccbbaaMMNNOOPP00//..--QQPPOONNWVVUUTTShiijjkkl())**++,YXXWWVVUXYYZZ[[\CDDEEFFG!!""##$$ ``__^^]]QQRRSSTT,,++**))MMLLKKJJSRRQQPPOlmmnnoop,--..//0UTTSSRRQ\]]^^__`GHHIIJJK%%&&''((\\[[ZZYYUUVVWWXX((''&&%%IIHHGGFFONNMMLLK~~}pqqrrsst01122334 QPPOONNM`aabbccdKLLMMNNO))**++,,XXWWVVUUYYZZ[[\\$$##""!!EEDDCCBBKJJIIHHG}||{{zzytuuvvwwx45566778 - - MLLKKJJIdeeffgghOPPQQRRS--..//00TTSSRRQQ]]^^__`` AA;;::99GFFEEDDCyxxwwvvuxyyzz{{|899::;;< IHHGGFFEhiijjkklSTTUUVVW11223344 PPOONNMMaabbccdd88776655CBBAA@?>uttssrrq|}}~~<==>>??@EDDCCBBAlmmnnoopW]]^^__`55667788 - - LLKKJJIIeeffgghh44332211=<;;::99qppoonnm@AABBCCDA@@??>>=~~}pqqrrsst`aabbccd99::;;<<HHGGFFEEiijjkkll00//..--88776655mllkkjjiDEEFFGGH=<<;;::9}||{{zzytuuvvwwxdeeffggh==>>??@@DDCCBBAAmmnnoopp ,,++**))44332211ihhggffeHIIJJKKL - - 98877665yxxwwvvuxyyzz{{|hiijjkklAABBCCDD@@??>>==~~}}qqrrsstt - - ((''&&%%00//..--eddccbbaLMMNNOOP 54433221uttssrrq|}}~~lmmnnoopEEFFGGHH<<;;::99||{{zzyyuuvvwwxx - - ,,++**))a``__^^]PQQRRSST100//..-qppoonnmpqqrrssyIIJJKKLL - - 88776655xxwwvvuuyyzz{{|| ((''&&%%]\\[[ZZYTUUVVWWX-,,++**)mllkkjjiyzz{{||}MMNNOOPP 44332211ttssrrqq}}~~$#"! YXXWWVVUXYYZZ[[\)((''&&%ihhggffe}~~QQRRSSTT00//..--ppoonnmmUTTSSRRQ\]]^^__` %$$##""!eddccbbaUUVVWWXX,,++**))llkkjjii QPPOONNM`aabbccd !!""##$! a``__^^]YYZZ[[\\((''&&%%hhggffee - - MLLKKJJIdeeffggh$%%&&''(]\\[[ZZY]]^^__`` $$##""!!ddccbbaa!!""##$$ - - IHHGGFFEhiijjkkl())**++,YXXWWVVUaabbccdd!!""##$$ ``__^^]]%%&&''(( -EDDCCBBAlmmnnoop,--..//0UTTSSRRQeeffgghh%%&&''((\\[[ZZYY))**++,, - A@@??>>=~~}pqqrrsst01122334 QPPOONNMiijjkkll))**++,,XXWWVVUU--..//00=<<;;::9}||{{zzytuuvvwwx45566778 - - MLLKKJJImmnnoopp--..//00TTSSRRQQ11223344 - - 98877665yxxwwvvuxyyzz{{|899::;;< IHHGGFFEqqrrsstt11223344 PPOONNMM55667788%%&& 54433221uttssrrq|}}~~<==>>??@EDDCCBBA~~}}|uuvvwwxx55667788 - - LLKKJJII99::;;<<''(())**100//..-qppoonnm@AABBCCDA@@??>>=|{{zzyysyyzz{{||99::;;<<HHGGFFEE==>>??@@++,,--..-,,++**)mllkkjjiDEEFFGGH=<<;;::9srrqqppo~~}}}}~~==>>??@@DDCCBBAAAABBCCDD//001122)((''&&%ihhggffeHIIJJKKL - - 98877665onnmmllk||{{zzyyAABBCCDD@@??>>==~~}}EEFFGGHH33445566 %$$##""!eddccbbaLMMNNOOP 54433221kjjiihhgxwvutssrEEFFGGHH<<;;::99||{{zzyyIIJJKKLL778899:: !!""##$! a``__^^]PQQRRSST100//..-gffeeddcrqqppoonIIJJKKLL - - 88776655xxwwvvuuMMNNOOPP;;AABBCC$%%&&''(]\\[[ZZYTUUVVWWX-,,++**)cbbaa``_nmmllkkjMMNNOOPP 44332211ttssrrqqQQRRSSTTDDEEFFGG())**++,YXXWWVVUXYYZZ[[\)((''&&%_^^]]WWVjiihhggfQQRRSSTT00//..--ppoonnmmUUVVWWXXHHIIJJKK,--..//0UTTSSRRQ\]]^^__` %$$##""!VUUTTSSRfeeddccbUUVVWWXX,,++**))llkkjjiiYYZZ[[\\LLMMNNOO01122334 QPPOONNM`aabbccd !!""##$! RQQPPOONbaa``__^YYZZ[[\\((''&&%%hhggffee]]^^__``PPQQRRSS45566778 - - MLLKKJJIdeeffggh$%%&&''(NMMLLKKJ^]]\[ZYX]]^^__`` $$##""!!ddccbbaaaabbccddTTUUVVWW899::;;< IHHGGFFEhiijjkkl())**++,JIIHHGGFWWVVUUTTaabbccdd!!""##$$ ``__^^]]eeffgghh]]^^__``<==>>??@EDDCCBBAlmmnnoop,--..//0FEEDDCCBSSRRQQPPeeffgghh%%&&''((\\[[ZZYYXXWWVVUUTTSSRRQQ]]^^__``HHIIJJKK%&&''(()\[[ZZYYXUVVWWXXY,++**))(baa``__^mllkkjjiNNOOPPQQ33221100ssrrqqpp~~>>??@@AA%%&&'' -;::99887{zzyyxxwvwwxxyyz6778899: - - KJJIIHHGuttssrrqPPOONNMMaabbccddLLMMNNOO)**++,,-XWWVVUUTYZZ[[\\](''&&%%$^]]WWVVUihhggffeRRSSTTUU//..--,,oonnmmllBBCCDDEE(())**++ - 76655443wvvuuttsz{{||}}~:;;<<==>GFFEEDDC~~}}||{qppoonnmLLKKJJIIeeffgghhPPQQRRSS-..//001TSSRRQQP]^^__``a !$##""!! UTTSSRRQeddccbbaVVWWXXYY++**))((kkjjiihhFFGGHHII,,--..//3221100/srrqqppo~>??@@AABCBBAA@@?{zzyyssrmllkkjjiHHGGFFEEiijjkkllTTUUVVWW12233445 POONNMMLabbccdde!""##$$% QPPOONNMa``__^^]ZZ[[\\]]''&&%%$$ggffeeddJJKKLLMM00112233/..--,,+onnmmllkBCCDDEEF?>>==<<;rqqppoonihhggffeDDCCBBAAmmnnoopp]]^^__``56677889 - - LKKJJIIHeffgghhi%&&''(()MLLKKJJI]\[ZYXWW^^__``aa !!##""!! ccbbaa``NNOOPPQQ44556677+**))(('kjjiihhgFGGHHIIJ -;::99887nmmllkkjeddccbba@@??>>==~~}}qqrrssttaabbccdd9::;;<<=HGGFFEEDijjkkllm)**++,,-IHHGGFFEVVUUTTSSbbccddee""##$$%%__^^]]\\RRSSTTUU8899::;;'&&%%$$#gffeeddcJKKLLMMN - 76655443jiihhggfa``__^^]<<;;::99||{{zzyyuuvvwwxxeeffgghh=>>??@@ADCCBBAA@mnnooppq-..//001EDDCCBBARRQQPPOOffgghhii&&''(())[[ZZYYXXVVWWXXYYAABBCCDD !!"#""!! cbbaa``_NOOPPQQR3221100/feeddccb]\\[[ZZY88776655xxwwvvuuyyzz{{||iijjkkllABBCCDDE@??>>==<~~}}|qrrssttu12233445 A;;::998NNMMLLKKjjkkllmm**++,,--WWVVUUTTZZ[[\\]]EEFFGGHH"##$$%%&_^^]]\\[RSSTTUUV/..--,,+baa``__^YXXWWVVU44332211ttssrrqq}}~~mmnnooppEFFGGHHI <;;::998|{{zzyyxuvvwwxxy56677889 - - 87766554JJIIHHGGnnooppqq..//0011SSRRQQPP^^__``aaIIJJKKLL&''(())*[ZZYYXXWVWWXXYYZ+**))(('^]]WWVVUUTTSSRRQ00//..--ppoonnmmqqrrssyyIJJKKLLM - - 87766554xwwvvuutyzz{{||}9::;;<<=43322110FFEEDDCC~~}}||rrssttuu22334455 OONNMMLLbbccddeeMMNNOOPP*++,,--.WVVUUTTSZ[[\\]]^'&&%%$$#UTTSSRRQQPPOONNM,,++**))llkkjjiizz{{||}}MNNOOPPQ 43322110tssrrqqp}~~=>>??@@A0//..--,BBAA@?>={{zzyyxxvvwwxxyy66778899 - - KKJJIIHHffgghhiiQQRRSSTT.//00112SRRQQPPO^__``aab !!"#""!! QPPOONNMMLLKKJJI((''&&%%hhggffee~~QRRSSTTU0//..--,poonnmmlABBCCDDE,++**))(<;;::998wwvvuuttzz{{||}}::;;<<==GGFFEEDDjjkkllmmUUVVWW]]23344556 ONNMMLLKbccddeef"##$$%%&MLLKKJJIIHHGGFFE$$##""!!ddccbbaaUVVWWXXY,++**))(lkkjjiihEFFGGHHI (''&&%%87766554ssrrqqpp~~>>??@@AACCBBAA@@nnooppqq^^__``aa6778899: - - KJJIIHHGfgghhiij&''(())*IHHGGFFEEDDCCBBA ``__^^]]YZZ[[\\](''&&%%$hggffeedIJJKKLLM - - 43322110oonnmmllBBCCDDEE??>>==<<~~}}||rrssttuubbccddee:;;<<==>GFFEEDDCjkkllmmn*++,,--.EDDCCBBAA@@??>>=\\[[ZZYY]^^__``a !$##""!! dccbbaa`MNNOOPPQ 0//..--,kkjjiihhFFGGHHII ;;::9988{{zzyyxxvvwwxxyyffgghhii>??@@AABCBBAA@@?nooppqqr.//00112A;;::998=<<;;::9XXWWVVUUabbccdde!""##$$% `__^^]]\QRRSSTTU,++**))(ggffeeddJJKKLLMM - - 77665544wwvvuuttzz{{||}}jjkkllmmBCCDDEEF?>>==<<;~~}}||{rssttuuv23344556 8776655498877665TTSSRRQQeffgghhi%&&''(()\[[ZZYYXUVVWWXXY(''&&%%$ccbbaa``NNOOPPQQ33221100ssrrqqpp~~nnooppqqFGGHHIIJ -;::99887{zzyyxxwvwwxxyyz6778899: - - 4332211054433221 PPOONNMMijjkkllm)**++,,-XWWVVUUTYZZ[[\\] #"! __^^]]\\RRSSTTUU//..--,,oonnmmllrrssyyzzJKKLLMMN - 76655443wvvuuttsz{{||}}~:;;<<==>0//..--,100//..- - - LLKKJJIImnnooppq-..//001TSSRRQQP]^^__``a ! - - [[ZZYYXXVVWWXXYY++**))((kkjjiihh{{||}}~~NOOPPQQR3221100/srrqqppo~>??@@AAB,++**))(-,,++**)HHGGFFEEqrrssttu12233445 POONNMMLabbccdde!""##$$%WWVVUUTTZZ[[\\]]''&&%%$$ggffeeddRSSTTUUV/..--,,+onnmmllkBCCDDEEF(''&&%%)((''&&%DDCCBBAA~~}}||uvvwwxxy56677889 - - LKKJJIIHeffgghhi%&&''(() -SSRRQQPP^^__``aa !!##""!! ccbbaa``VWWXXYYZ+**))(('kjjiihhgFGGHHIIJ -%$$##""!@@??>>=={{zzyyssyzz{{||}9::;;<<=HGGFFEEDijjkkllm)**++,,- - OONNMMLLbbccddee""##$$%%__^^]]\\Z[[\\]]^'&&%%$$#gffeeddcJKKLLMMN - ! <<;;::99rrqqppoo~~}}|}~~=>>??@@ADCCBBAA@mnnooppq-..//001 - -KKJJIIHHffgghhii&&''(())[[ZZYYXX^__``aab !!"#""!! cbbaa``_NOOPPQQR - - 88776655nnmmllkk|{{zzyyxABBCCDDE@??>>==<~~}}|qrrssttu12233445 GGFFEEDDjjkkllmm**++,,--WWVVUUTTbccddeef"##$$%%&_^^]]\\[RSSTTUUV 44332211jjiihhggwvutssrrEFFGGHHI <;;::998|{{zzyyxuvvwwxxy56677889CCBBAA@@nnooppqq..//0011SSRRQQPPfgghhiij&''(())*[ZZYYXXWVWWXXYYZ 00//..--ffeeddccqqppoonnIJJKKLLM - - 87766554xwwvvuutyzz{{||}9::;;<<=??>>==<<~~}}||rrssttuu22334455 OONNMMLLjkkllmmn*++,,--.WVVUUTTSZ[[\\]]^ - - - ,,++**))bbaa``__mmllkkjjMNNOOPPQ 43322110tssrrqqp}~~=>>??@@A%%&&' ;;::9988{{zzyyxxvvwwxxyy66778899 - - KKJJIIHHnooppqqr.//00112SRRQQPPO^__``aab !!" -  - - ((''&&%%^^]]WWVViihhggffQRRSSTTU0//..--,poonnmmlABBCCDDE'(())**+ - - 77665544wwvvuuttzz{{||}}::;;<<==GGFFEEDDrssttuuv23344556 ONNMMLLKbccddeef"##$$%%& - -  $$##""!!UUTTSSRReeddccbbUVVWWXXY,++**))(lkkjjiihEFFGGHHI+,,--../33221100ssrrqqpp~~>>??@@AACCBBAA@@~~}}||{{vwwxxyyz6778899: - - KJJIIHHGfgghhiij&''(())* !!""##$$ QQPPOONNaa``__^^YZZ[[\\](''&&%%$hggffeedIJJKKLLM/0011223//..--,,oonnmmllBBCCDDEE??>>==<GFFEEDDCjkkllmmn*++,,--.%%&&''((MMLLKKJJ]]\[ZYXW]^^__``a !$##""!! dccbbaa`MNNOOPPQ34455667++**))((kkjjiihhFFGGHHII ;;::9988qqppoonn~~}}||{~>??@@AABCBBAA@@?nooppqqr.//00112))**++,,IIHHGGFFWVVUUTTSabbccdde!""##$$% `__^^]]\QRRSSTTU78899::;''&&%%$$ggffeeddJJKKLLMM - - 77665544mmllkkjj{zzyyxwvBCCDDEEF?>>==<<;~~}}||{rssttuuv23344556%%&&'--..//00EEDDCCBBSRRQQPPOeffgghhi%&&''(()\[[ZZYYXUVVWWXXY;AABBCCD !!##""!! ccbbaa``NNOOPPQQ33221100iihhggffutssrrqqFGGHHIIJ -;::99887{zzyyxxwvwwxxyyz6778899:'(())**+ 11223344 AA;;::99ONNMMLLKijjkkllm)**++,,-XWWVVUUTYZZ[[\\]DEEFFGGH""##$$%%__^^]]\\RRSSTTUU//..--,,eeddccbbppoonnmmJKKLLMMN - 76655443wvvuuttsz{{||}}~:;;<<==>+,,--../ !!""##$55667788 - - 88776655KJJIIHHGmnnooppq-..//001TSSRRQQP]^^__``aHIIJJKKL&&''(())[[ZZYYXXVVWWXXYY++**))((aa``__^^llkkjjiiNOOPPQQR3221100/srrqqppo~>??@@AAB/0011223$%%&&''(99::;;<<44332211GFFEEDDC~~}}|qrrssttu12233445 POONNMMLabbccddeLMMNNOOP**++,,--WWVVUUTTZZ[[\\]]''&&%%$$]]WWVVUUhhggffeeRSSTTUUV/..--,,+onnmmllkBCCDDEEF34455667())**++,==>>??@@00//..--CBBAA@?>|{{zzyyxuvvwwxxy56677889 - - LKKJJIIHeffgghhiPQQRRSST..//0011SSRRQQPP^^__``aa !!##""!! TTSSRRQQddccbbaaVWWXXYYZ+**))(('kjjiihhgFGGHHIIJ78899::;,--..//0AABBCCDD,,++**))=<;;::99xwwvvuutyzz{{||}9::;;<<=HGGFFEEDijjkkllmTUUVVWW]22334455 OONNMMLLbbccddee""##$$%%PPOONNMM``__^^]]Z[[\\]]^'&&%%$$#gffeeddcJKKLLMMN;AABBCCD01122334EEFFGGHH((''&&%%88776655tssrrqqp}~~=>>??@@ADCCBBAA@mnnooppq]^^__``a66778899 - - KKJJIIHHffgghhii&&''(())LLKKJJII\[ZYXWWV^__``aab !!"#""!! cbbaa``_NOOPPQQRDEEFFGGH45566778IIJJKKLL - - 44332211poonnmmlABBCCDDE@??>>==<~~}}|qrrssttuabbccdde::;;<<==GGFFEEDDjjkkllmm**++,,--HHGGFFEEVUUTTSSRbccddeef"##$$%%&_^^]]\\[RSSTTUUVHIIJJKKL899::;;>??@@AACCBBAA@@nnooppqq..//0011DDCCBBAARQQPPOONfgghhiij&''(())*[ZZYYXXWVWWXXYYZLMMNNOOP<==>>??@QQRRSSTT,,++**))hggffeedIJJKKLLM - - 87766554xwwvvuutyzz{{||}ijjkkllmBBCCDDEE??>>==<<~~}}||rrssttuu22334455 ;;::9988NMMLLKKJjkkllmmn*++,,--.WVVUUTTSZ[[\\]]^PQQRRSST@AABBCCDUUVVWWXX((''&&%%dccbbaa`MNNOOPPQ 43322110tssrrqqp}~~mnnooppqFFGGHHII ;;::9988{{zzyyxxvvwwxxyy66778899 - - 77665544JIIHHGGFnooppqqr.//00112SRRQQPPO^__``aabTUUVVWW]DEEFFGGHYYZZ[[\\ $#"! `__^^]]\QRRSSTTU0//..--,poonnmmlqrrssyyzJJKKLLMM - - 77665544wwvvuuttzz{{||}}::;;<<==33221100FEEDDCCB~~}}||{rssttuuv23344556 ONNMMLLKbccddeef]^^__``aHIIJJKKL]]^^__`` - - \[[ZZYYXUVVWWXXY,++**))(lkkjjiihz{{||}}~NNOOPPQQ33221100ssrrqqpp~~>>??@@AA//..--,,BAA@?>=<{zzyyxxwvwwxxyyz6778899: - - KJJIIHHGfgghhiijabbccddeLMMNNOOPaabbccdd!!""##$$XWWVVUUTYZZ[[\\](''&&%%$hggffeed~RRSSTTUU//..--,,oonnmmllBBCCDDEE++**))((;;::9988wvvuuttsz{{||}}~:;;<<==>GFFEEDDCjkkllmmneffgghhiPQQRRSSTeeffgghh%%&&''(( TSSRRQQP]^^__``a !$##""!! dccbbaa`VVWWXXYY++**))((kkjjiihhFFGGHHII ''&&%%77665544srrqqppo~>??@@AABCBBAA@@?nooppqqrijjkkllmTUUVVWWXiijjkkll))**++,, - - POONNMMLabbccdde!""##$$% `__^^]]\ZZ[[\\]]''&&%%$$ggffeeddJJKKLLMM - - 33221100onnmmllkBCCDDEEF?>>==<<;~~}}||{rssttuuvmnnooppqXYYZZ[[\mmnnoopp--..//00 -LKKJJIIHeffgghhi%&&''(()\[[ZZYYX^^__``aa !!##""!! ccbbaa``NNOOPPQQ//..--,,kjjiihhgFGGHHIIJ -;::99887{zzyyxxwvwwxxyyzqrrssyyz\]]^^__`qqrrsstt11223344 - HGGFFEEDijjkkllm)**++,,-XWWVVUUTbbccddee""##$$%%__^^]]\\RRSSTTUU++**))((gffeeddcJKKLLMMN - 76655443wvvuuttsz{{||}}~z{{||}}~`aabbccduuvvwwxx55667788DCCBBAA@mnnooppq-..//001TSSRRQQPffgghhii&&''(())[[ZZYYXXVVWWXXYY''&&%%$#cbbaa``_NOOPPQQR3221100/srrqqppo~~deeffgghyyzz{{||99::;;<<@??>>==<~~}}|qrrssttu12233445 POONNMMLjjkkllmm**++,,--WWVVUUTTZZ[[\\]] "! _^^]]\\[RSSTTUUV/..--,,+onnmmllkhiijjkkl}}~~==>>??@@%%&& <;;::998|{{zzyyxuvvwwxxy56677889 - - LKKJJIIHnnooppqq..//0011SSRRQQPP^^__``aa !! - - [ZZYYXXWVWWXXYYZ+**))(('kjjiihhglmmnnoopAABBCCDD''(())** - - 87766554xwwvvuutyzz{{||}9::;;<<=HGGFFEEDrrssttuu22334455 OONNMMLLbbccddee""##$$%%WVVUUTTSZ[[\\]]^'&&%%$$#gffeeddcpqqrrsstEEFFGGHH++,,--.. 43322110tssrrqqp}~~=>>??@@ADCCBBAA@~~}}||{vvwwxxyy66778899 - - KKJJIIHHffgghhii&&''(()) - -SRRQQPPO^__``aab !!"#""!! cbbaa``_tuuvvwwxIIJJKKLL//0011220//..--,poonnmmlABBCCDDE@??>>==<{zzyyssrzz{{||}}::;;<<==GGFFEEDDjjkkllmm**++,,--  ONNMMLLKbccddeef"##$$%%&_^^]]\\[xyyzz{{|MMNNOOPP33445566,++**))(lkkjjiihEFFGGHHI <;;::998rqqppoon~~}}||~~>>??@@AACCBBAA@@nnooppqq..//0011 - - KJJIIHHGfgghhiij&''(())*[ZZYYXXW|}}~~QQRRSSTT778899::(''&&%%$hggffeedIJJKKLLM - - 87766554nmmllkkj{{zzyyxwBBCCDDEE??>>==<<~~}}||rrssttuu22334455 GFFEEDDCjkkllmmn*++,,--.WVVUUTTS~~}UUVVWWXX;;AABBCC !$##""!! dccbbaa`MNNOOPPQ 43322110jiihhggfvutssrrqFFGGHHII ;;::9988{{zzyyxxvvwwxxyy66778899CBBAA@@?nooppqqr.//00112SRRQQPPO}||{{zzyYYZZ[[\\DDEEFFGG!""##$$% `__^^]]\QRRSSTTU0//..--,feeddccbqppoonnmJJKKLLMM - - 77665544wwvvuuttzz{{||}}::;;<<==?>>==<<;~~}}||{rssttuuv23344556 ONNMMLLKyxxwwvvuZHAb|ZdQbXQJ`ےfH~rbtlfpvdrtfH~btlfpvrtAdQZ|HAbےfpvp˂rH~fr˂pے`JXQtlJbHAZf`vXJtAdnXv`AJltf`vXJtArdnXv`drt`JXQrnXv`XQJ`ے`vXnZHAbr˂ptArdp˂rnvp|ZdQf~HbdQZ|nvp|ZdQfHAJlt˂pZf~HbHAZvpfے`JXQZHAb|ZdQbXQJ`ےfH~btlfpvdrtfH~btlfpvbdQZ|HAbfpvp˂rH~fr˂pے`JXQtlJbHAXQf`vXJtArdnXv`AJltf`vXJtArdnrXQJ`drtJQr˂pnXv`XQJ`ے`vXnZHAےr˂ptArdJ`ےnvp|ZdQf~HbdQZ|nvp|ZdQےHAAJltZHAbf~HbHAZvpf`JXQrZHAb|ZdQbbHAZpfH~btlfpvdrtfH~btlZp˂drtAے`JXfpvp˂rH~fbtlے`JXQtlJ˂rXQf`vXJtArdnXv`AJltf`vXJtArdrXQJ`JltQr˂pnXv`XQJ`ے`vXnJtAdr˂ptArdJ`ےnvp|ZdQf~HbdQZ|nvp|ZdQbHAbdQZ|ZHAbf~HbHAZvpf|ZdQbZHAb|ZdQbbHAZpfH~btlfpvdrtfH~btlZp˂drtAے`JXfpvp˂rH~ftlJے`JXQtlJ˂bf`vXJtArdnXv`AJltfZHAbJtArdrXQJ`JltQrZHAnXv`XQJ`ے`vXntArdr˂ptArdHAZdnvp|ZdQf~HbdQZ|ے`JX|ZdQbHAbdQZ|lbے`f~HbHAZvpf|ZdQbZHAbf~HrtAJfH~btlfpvdrtQr˂pbtlZp˂tbJXQrfpvdrtAH~ftlJے`JXQXv`fbdQZ|f`vXJtArdnXv`AJltZHAbJtArdrXQJ`nvp`˂pZHAnXv`Jlt`vXntArdr˂p~HfdrtAnvp|ZdQfHbdQZ|ے`JX|ZdQbHAvXnbے`f~HbdQZ|vpf|ZdQbZHAbpvnJltfH~btlfpvdrtQr˂pbtlZp˂vpfHJXQrfpvdrtAH~ftlJے`JXQXv`fbdQZ|f`vXJtArdnrXQJ`AJltZHAbJtArdrXQJ`ۅ~f`˂pZAnXv`Jlt`vXntArdr˂p~HfdrtAnvp|ZdQےHAbdQZ|ے`JX|ZdQbHAvXn`JXQrf~HbdQZ|vpf|ZdQbZHAbpvJltbfH~btlZp˂drtQr˂pbtlZp˂vpfHbtlfpvdrtAH~ftlJے`JXQ~HfpQZdrf`vXJtArdrXQJ`AJltZHAbJtArdrXQJ`ۅ~JtAdnXv`Jlt`vXntArdr˂pvnXtAJlnvp|ZdQbHAbdQZ|ے`JX|ZdQbHAvpfH|ZdQbf~HbdQZ|vpf|ZdQbZHAbv`ftbdQZfH~btlZp˂drtQr˂pbtlZp˂~f`tlJfpvdrtAH~ftlJے`JXQ~Hfp|drfZHAbJtArdrXQJ`AJltZHAbJtArdrXQJ`vXntArdnXv`Jlt`vXntArdr˂pvnXtAJl璙ے`JX|ZdQbHAbdQZ|ے`JX|ZdQbHAvpfH|ZdQbf~HbdQZ|vpf|ZdQbZHAbv`pvtbdQZQr˂pbtlZp˂drtQr˂pbtlZp˂~f`tlJfpvdrtAH~ftlJے`JXQnXv|rAJlZHAbJtArdrXQJ`AJltZHAbJtArdrXQJ`vXH~tArdnXv`Jlt`vXntArdr˂p`f~tbdے`JX|ZdQbHAbdQZ|ے`JXf~HbHAf`vX|ZdQbf~HbdQZ|vpf|ZdQbZHAbHfpvQZ|dQr˂pbtlZp˂drtQr˂pfpvZp˂nvptlJfpvdrtAH~ftlJے`JXQnXvrtAJlZHAbJtArdrXQJ`AJltZHAbnXv`rXQJ`۝fH~tArdnXv`JltZHAbtArdr˂p`f~tbdے`JX|ZdQbHAbdQZ|ے`JXf~HbHAf`vX|ZdQbf~HbdQZ|ے`JXQ|ZdQbZHAbHXv`QZ|dQr˂pbtlZp˂dtAQr˂pfpvZp˂nvptlJfpvdrtAr˂ptlJے`JXQf~HrtAJZHAbJtArdrXQJ`JltZHAbnXv`rXQJ`۝`vXtArdnXv`JltZHAbtArdr˂pfpvbdQZ|ے`JX|ZdQbHAbnvpے`JXf~HbHAnvp|ZdQbfHfbdQZ|ے`JXQ|ZdQbZHAbnXv`drtAQr˂pbtlZp˂fHQr˂pfpvZp˂fH~tlJpvndrtAr˂ptlJے`JXQf~HJltZHAbJtArdrXQJ`f`vXZHAbnXv`rXQJ`f`vXtArdrXQJ`JltZHAbtArdr˂pfpvbdQZ|ے`JX|ZdQbHAnvpے`JXf~HbHAnvp|ZdQbےHAZbdQZ|ے`JXQ|ZdQb|ZdQb~HfdrtAQr˂pbtlZp˂fH~Qr˂pfpvZp˂fH~tlJp˂rdrtAr˂ptlJtlJpvnJltZHAbJtArdrXQJ`f`vXZHAbnXv`rXQJ`ۅvpfHtArdXQJ`ےJltZHAbtArdtArdXv`fbQZdے`JXf~HbHAnvpے`JXf~HbHA~f`|ZdQbbHAZbdQZ|ے`JXQ|ZdQb|ZdQb~HfrtAJlQr˂pfpvZp˂fH~Qr˂pfpvZp˂vXntlJp˂rdrtAr˂ptlJtlJpvntbdQZHAbnXv`rXQJ`f`vXZHAbnXv`rXQJ`ۅvpfHtArdXQJ`ےJltZHAbtArdtArdXv`pZ|dے`JXf~HbHAnvpے`JXf~HbHA~f`|ZdQbbHAZbdQZ|ے`JXQ|ZdQb|ZdQb˂rXQrtAJlQr˂pfpvZp˂fH~Qr˂pfpvZdrtvXHtlJp˂rdrtAr˂ptlJtlJJ`ےtbdQZHAbnXv`rXQJ`f`vXZHAbnXv`AdQZ|~fZHtArdXQJ`ےJltZHAbtArdtArdbHAZpZ|dnے`JXf~HbHAnvpے`JXf~HdrtAAbJ|ZdQbbHAZbdQZ|ے`JXQf~H|ZdQb˂rXQvfQr˂pfpvZp˂fH~Qr˂pfpvJltQr˂ptlJp˂rdrtAr˂pfpvtlJJ`ےf`vXZHAbnXv`rXQJ`f`vXZHAۅnXv`bdQZ|ZHAbtArdXQJ`ےJltZHAbnXv`tArdbHAXQJnvpے`JXf~HbHAnvp`JXQf~HdrtAے`JXQ|ZdQbbHAZbdQZ|ے`JXQf~H|ZdQb`ےbfH~Qr˂pfpvZp˂fH~rbtlfpvJltdr˂ptlJp˂rdtAJr˂pfpvtlJHAZp˂f`vXZHAbnXv`rXQJ`f`vXJtAdnXv`rtAJlZHAbtArdXQJ`ےltbZHAbnXv`tArdrXQJnvpے`JXf~HbHAnvp|ZdQf~Htbdے`JXQ|ZdQbbHAZnvpے`JXQf~H|ZdQb`ےbfH~Qr˂pfpvZp˂fH~btlfpvQZ|drZHAtlJp˂rfHfr˂pfpvtlJHAZp˂f`vXZHAbnXv`rXQJ`f`vXJtArdnXv`rtAJlbے`tArdXQJ`ے`vXnZHAbnXv`tArdbHAnvpے`JXf~HbHAnvp|ZdQf~HtbdJXQr|ZdQbbHAZvpfے`JXQf~H|ZdQbZp˂fH~Qr˂pfpvZdrtfH~btlfpvQZ|lpZHAtlJp˂rH~fr˂pfpvtlJrXQJ`f`vXZHAbnXv`AJltf`vXJtArdnXv`tbdQbے`tArdXQJ`ے`vXnZHAbnXv`tArdےbHAnvpے`JXf~HbdQZ|nvp|ZdQf~HZ|dJXQrf~HbHAZvpfے`JXQf~H|ZdQbZp˂fH~Qr˂pfpvdrtfH~btlfpvrtAJlpZAbfpvp˂rH~fr˂pfpvtlJrXQJ`f`vXZHAۅnXv`AJltf`vXJtArdnXv`tbdQ`JXQrnXv`XQJ`ے`vXnZHAbnXv`tArdp˂rnvp`JXQf~HbdQZ|nvp|ZdQf~HZ|d˂pZf~HbHAZvpfے`JXQf~HfpvnXv`Jlt`vXnbtlQJ`ےJltZHAbArdQJ`ےvXnZHAbvnXbdQZ|vXnrd|J`ےltbHAbےrd|J`ےvpAd|v`ftbdvXnrd|v`ftbd˂pZHpfH~f~HbdQZ|vpfJtArdbHAZpbdQZ|`JXQf~HbHAZpvpfH`JXQv`pvdrtvpfHZdQbtbHAZpdQZ|`JXQrZdQbtbHAZpfH~ZdQbt~HfpQZ|dvpfHZdQbtHfpQZ|dAbے`f۝`vfpvdrtAH~f|ZdQ˂rXdrtAr˂pfpv˂rX~f`r˂pnXv`AJlt~fZlJtA˂rXQdrtAJ˂pZlJtA˂rXQf`vXlJtAvnXrtAJl~f`lJtAvnrXrtAJlJXQHAXnvˍnXv`Jlt`vXnbtlQJ`ےJltZHAbnXv`QJ`ےvXnZHAbۍf~HbdQZ|HAbےrd|J`ےltbHAbےrd|J`ےnvprd|v`ftbdvXnrd|QJ`ےtbdbے`pfH~f~HbdQZ|vpf|ZdQbbHAZpbdQZ|`JXQf~HbHAZpvpfH`JXQfpvrAJl`JXQrZdQbtbHAZpdQZ|`JXQrZdQbtbHAZpfH~ZdQbt~HfpQZ|dvpfHZdQbtHAZpQZ|dJXQrːf۝`vfpvdrtAH~ftlJ˂rXdtAJlr˂pfpv˂rX~f`r˂pnXv`tbdQ˂pZlJtA˂rXQdrtAJ˂pZlJtA˂rXQf`vXlJtAvnXrtAJl~f`lJtArXQrtAJlpZHAXnvˍnXv`Jlt`vXntArdQJ`ےtbZHAbnXv`QJ`ےvXnZHAbۍf~HZ|dHAbےrd|J`ےltbHAbےrdfJ`ےH~frd|v`ftbdvXnrd|J`ےtbdbے`pfH~f~HbdQZ|vpf|ZdQbbHAZpnvp`JXQf~HbHAZpvpfH`JXQXv`rtAJl`JXQrZdQbtbHAZpdQZ|`JXQr~HfbHAZp`vXnZdQbt~HfpQZ|dvpfHZdQbtbHAZpQZ|dJXQrːf۝`vfpvdrtAH~ftlJ˂rXfHf`r˂pfpv˂rX~f`r˂pf~HtbdQ˂pZlJtA˂rXQdrtAJ˂pZpvn˂rXQvpflJtAvnXrtAJl~fZHlJtArXQrtAJlp`JXXnvˍnXv`Jlt`vXntArdtQJ`ےvXnZHAbnXv`QJ`ےvXnZHAے`fpvZ|dHAbےrd|J`ےltbHAbےXv`fJ`ےH~frd|v`ftbdAbے`rd|J`ےtbdQr˂ppfH~f~HbdQZ|vpflJtAbHAZpvpfH`JXQf~HbHAZpvpfHJXQrnXv`rtAJ`JXQrZdQbtbHAZpdQZ|`JXQr~HfbHAZp`vXnZdQbt~HfpQZ|dJXQrZdQbtbHAZpQZ|dZHAbf۝`vfpvdrtAH~frd|˂rX~f`r˂pfpv˂rX~f`btlf~HbdQZ|˂pZlJtA˂rXQdtAJl˂pZpvn˂rXQvp`lJtAvnXrtAJl˂pZHlJtArXQrtAJlے`JXXnvˍnXv`Jlt`vXnZdQbtQJ`ےvXnZHAbnXv`QJ`ےvXnJtAd|fpvdrtAHAbےrd|J`ےtbnHAbےXv`fJ`ےvXnrd|v`ftbdAbے`rd|J`ےtbdQr˂ppfH~f~HbdQZ|vpflJtAbHAZpvpfH`JXQf~HbHAZpvpfHZdQbt~HfpJlt`JXQrZdQbtbHAZpvpf`JXQr~HfbHAZpvpfHZdQbtHfpQZ|dJXQrZdQbtbHAZpQZ|dZHAbf۝`vfpvdrtAH~frd|˂rX~f`r˂pfpv˂rX~f`lJtvnXbdQZ|˂pZlJtA˂rXQHf`˂pZpvn˂rXQ~f`lJtAvnrXrtAJl˂pZHlJtArXQrtAJl˂pXnvˍnXv`JltZHAbZdQtArQJ`ےvXnZHAbnXv`QJ`ےvXnArd|v`fdrtAHAbےrd|J`ےvXnHAbےXv`fJ`ےvXnrd|QJ`ےtbdAbے`rd|J`ےtbdZHAbpfH~f~HbdQZ|˂pZdfbHAZpvpfH`JXQf~HbHAZvpfHZdQbt~HfpJltb`JXQrZdQbtbHAZpvpfH`JXQr~HfbHAZpvpfHZdQbtHAZpQZ|dJXQrZdQbtbHAZpQZ|d`JXQf۝`vfpvdrtAHAbے~Hfv˂rX~f`r˂pfpvdrtA~f`lJtvnXQZdr˂pZlJtA˂rXQ~f`˂pZpvn˂rXQ~vlJtArXQrtAJl˂pZHlJtArXQtAJlr˂pXnvˍnXv`Jlt`JXQrnXv`QJ`ےvXnZHAbnXv`JltvXnArd|v`ptAJlHAbےrdfJ`ےvXnHAbےXv`fJ`ےpfH~rd|J`ےtbdAbے`rd|J`ےtbnZHAbpfH~fHfbdQZ|˂pZf~HbHAZpvpfH`JXQf~HbdQZ|vpfHZdQbtvnrXtbdQZ`JXQr~HfbHAZpvpfH`JXQr~HfbHAZpf`vZdQbtbHAZpQZ|dJXQrZdQbtbHAZp˅vpfH`JXQHf۝`vpvndrtAHAbےfpv˂rX~f`r˂pfpvdrtA~f`lJtQJ`p|dr˂pZpvn˂rXQ~f`˂pZpvn˂rXQXnvlJtArXQrtAJl˂pZHlJtArXQf`Abے`XnvˍrXQJ`Jlt`JXQHAnXv`QJ`ےvXnZHAے`nXv`JltvXnArd|rXQtAJlHAbےXv`fJ`ےvXnHAbےXv`fJ`ےpfH~rd|J`ےtbdAbے`rd|J`ےvXnہJXQrpfH~ےHAZbdQZ|bے`f~HbHAZpvpfHJXQrf~HbdQZ|vpfHZdQbtJ`ےtbdQZ`JXQr~HfbHAZpvpfH`JXQr~HfbHAZf`vZdQbtbHAZpQZ|dJXQrZdQbtbHAZpvpfH˂pZHf۝`vp˂rdrtAJXQrfpvn˂rX~f`btlfpvdrtA~f`lJtbHAZp|AJl˂pZpvn˂rXQ~f`˂pZpvndrtAdQXH~lJtArXQrtAJl˂pZHlJtArXQ~f`Abے`XnvˍXQJ`ےJlt˂pZHAvf~QJ`ےvXnJtAd|nXv`JltvXnArd|rXQtbnHAbےXv`fJ`ےvXnHAbےXv`fZ|dfZHAbrd|J`ےtbdAbے`rdfJ`ےvXnہJXQrpfH~ㅐbHAZbdQZ|bے`HfpvbHAZpvpfHZdQbtf~HbdQZ|vpfHZdQbtJ`ے々vpf`JXQr~HfbHAZpvpfH`JXQr~HfrtAJlJQrZdQbtbHAZpQZ|dJXQr~HfpbHAZpvpfH˂p`Zf۝`vp˂rdrtAJXQrnXv˂rX~f`lJtfpvdrtA~f`lJtbHAXQJ`Hf`˂pZpvn˂rXQ~f`˂pZpvntbdQ˂pZHlJtArXQrtAJl˂pZHvnXrXQ~f`QXb㉀XnvˍXQJ`ےJlt˂p`J`f~QJ`ےvXnArd|nXv`JltvXnArd|ےbHvXnHAbےXv`fJ`ےvXnHAے`Xv`fZ|dAbے`rd|J`ےtbdAbے`v`fJ`ےvXnۑpJAHrp|drbHAZbdQZ|XQr˂HfpvbHAZvpfHZdQbtf~HbdQZ|vpfHZdQbtAZp˂vpfH`JXQr~HfbHAZpvpfHJXQrb~HfrtAJlJXQrZdQbtbHAZpQZ|dJXQr~HfpbHAZpvpfH󙐂ˁ`ZQtJlp˂rdrtApZHAbnXvdrtA~f`lJtfpvdrtA~f`lJtrXQJ`~f`˂pZpvn˂rXQ~f`tlJpvntdr˂pZHlJtArXQtAJl˂pZHvnXrXQ~f`QXb㉀tbAdZXQJ`ےJltے`J`f~fpJltvXnArd|nXv`JltvXnArd|ےbHvXnHAbےXv`fJ`ےvXntAd|Xv`ftAJlAbے`rd|J`ےtbnAbے`v`fJ`ےvXnۑpJAHr|drbHAZbdQZ|XQr˂vnXbdQZ|vpfHZdQbtf~HbdQZ|vpfHZdQbtAZp˂vpfH`JXQr~HfbHAZpvpfHZdQbt~HftbdQZJXQrZdQbtbHAZp˅vpfHJXQr~HfpbHAZpvpfH󙐉ۑQtJlp˂rdrtApZHAbv`fdrtA~f`lJtfpvdrtA~flJtbHA~f`˂pZpvn˂rXQ~f`lJtApvn|drZHAblJtArXQf`˂pZHvnXrXQ~f`pJAHrtbAdZXQJ`ےJlt˂p~HfpJltvXnArd|nXv`JltZHAbArd|Zp˂vXnHAbےXv`fJ`ےvXnrd|Xv`ftAJlے`JXQrd|J`ےvXnAbے`v`fJ`ےvXnېˁ`ZQ|drbHAZbdQZ|ZHAbvnXbdQZ|vpfHZdQbtf~HbdQZ|`JXQZdQbtrXQJ`vpfH`JXQr~HfbHAZvpfHZdQbt~HftbdQZr˂pZdQbtbHAZpvpfHJXQr~HfpbHAZpvpfHXb㉀ۑQtJlp˂rdtAJے`JXQv`fdrtA~f`lJtfpvdrtAr˂plJtbHA~f`˂pZpvndrtAJ~f`lJtApvn|ltZHAblJtArXQ~f`˂pZHvnXrXQ~f`pJAHrtbAdZXQJ`ےltbr˂p~HfvJltvXnArd|nXv`JltZHAbArd|Zp˂vXnHAbےXv`fltbvXnrd|Xv`fbdQZ|ے`JXQrdfJ`ےvXnAbے`v`fJ`ےvXnېˁ`ZQ|drbHAZnvpZHAbnXv`bdQZ|vpfHZdQbtfHfpbdQZ|`JXQZdQbtrXQJ`pvpfH`JXQr~HfdQZ|vpfHZdQbt~HfdrtAr˂p~HfpbHAZpvpfHJXQr~HfpbHAZpvpfHXAHr󙐂QtJlp˂rfHfے`JXQf~HdrtA~f`lJtvndrtAr˂plJt˂rX~f`˂pZpvndrtAJ~f`lJtApvnJltZAb`vnXrXQ~f`˂pZHvnXrXQ~f`ˁ`ZQXbtbAdZXQJ`ے`vXnHAbےfpvJltvXnArd|rXQJ`JltZHAbArd|QJ`ےvXnHAے`Xv`fltbvXnrd|Xv`fbdQZ|JXQr˕v`fJ`ےvXnAbے`v`fJ`ےvXn㉀ۑpJ|drbHAZvpf`JXQrnXv`bdQZ|vpfHZdQbtHAZpbdQZ|`JXQZdQbtbHAZpvpfHJXQrb~HfdQZ|vpfHZdQbt~HfdrtApZHA~HfpbHAZpvpfHJXQr~HfpbHAZdvpfHAHr󙐂QtJlp˂rH~f˂pZf~HdrtA~f`lJt˂rXdrtAr˂plJt˂rX~f`tlJpvndrtAJ~f`lJtApvndQZ|bے`vnXrXQ~f`˂pZHvnXrtAJl~f`ˁ`ZQXbtbAdZXQJ`ے`vXnHAbےfpvJltvXnArd|QJ`ےJltZHAbArd|QJ`ےvXntAd|Xv`fltbvXnrd|Xv`fdrtAJJXQr˕v`fJ`ےvXnAbے`v`ftbdvXn㉀ۑp|drbHAZvpf`JXQrnvfbdQZ|vpfHZdQbtbHAZpbdQZ|`JXQZdQbtbHAXQvpfHZdQbt~HfdQZ|vpfHZdQbtHfpltbpZHA~HfpbHAZpvpfHJXQr~HfpQZ|dvpfH`ZQXbQtJlp˂rH~f˂p`~HfpۂdrtA~flJt˂rXdrtAr˂plJtJ`ے~f`lJtApvndrtAJ~f`lJtAvnrdQZ|bJQrvnXrXQ~f`˂pZHvnXrtAJl~f`ۑpJAtbAdZXQJ`ے`vXnJXQrbvnXJltZHAbArd|QJ`ےJltZHAbArd|bHAZpvXnrd|Xv`fltbvXnrd|XQJ`ےdrtAJ˂pZv`fJ`ےvXnAے`v`ftbdvXnHr󙐂ˁ|drbHAZvpftl|v`fbdQZ|`JXQZdQbtbHAZpbdQZ|`JXQZdQbtrXQvpfHZdQbt~HfdQZ|vpfHZdQbtHAZpltdHAbے~HfpbHAZpvpfHJXQrbt~HfpQZ|dvpfH`ZQXbQtJlp˂rH~fZdQbt~HfpۂdrtAr˂plJt˂rXdrtAr˂plJtJ`ے~f`lJtApvndrtAJ~f`lJtA˂rXQrtAJl`JXQrvnXrXQ~f`lJtvnXrtAJl~f`ۑpJAtbAdZXQJ`ے`vXnlJtAvnXJltZHAbArd|QJ`ےJltZHAbArdbHAZpvXnrd|Xv`fltbvXnrd|J`ےtbdQ˂pZv`fJ`ےvXnAd|v`ftbdvXnHr󙐉|drbHAZvpfrd|v`ffpbdQZ|`JXQZdQbtbHAZpbdQZ|`JXQf~HXbHvpfHZdQbt~HfdQZ|vpfHZdQbtbHAZpZ|dHAbے~HfpbHAZpvpfHZdQbt~HfpQZ|dvpfHۑpJAHrQtJlp˂rH~fZdQbtvndrtAr˂plJt˂rXdrtAr˂pv`fAZd~f`lJtApvndrtAJ~fZlJtA˂rXQrtAJl`JXQrvnXrXQ~f`lJtAvnXrtAJl~f`󙐂ˁ`ZtbAdZXQJ`ے`vXnlJtArXQJ`JltZHAbArd|QJ`ےJltZHAbە~HfprtAJbvXnrd|Xv`fltbHAbےrd|J`ےtbdQZHAbv`fJ`ےvXnrd|v`ftbdvXnQXb㉀|drbHAZvpfrdt璒HAZpbdQZ|`JXQZdQbtbHAZpbdQZ|`JXQvnXdQZ|vpfHZdQbt~HfdQZ|`JXQrZdQbtbHAZpZ|l璙ے`JX~HfpbHAZdvpfHZdQbt~HfpQZ|dvpfHۑpJAHrQtJlp˂rH~flJtAr˂rXdrtAr˂plJt˂rXdtAJlr˂pv`fdrtAJ~f`lJtApvndrtAJ˂pZlJtA˂rXQtbnQr˂pvnXrtAJl~f`lJtAvnXrtAJl~f`󙐂ˁ`tbAdZXQJ`ے`vXnd|ZQJ`ےJltZHAbArd|QJ`ےtbZHAbە~HfpltbvXnrd|Xv`fltbHAbےrd|J`ےvp`vZHAbv`ftbdvXnrd|v`ftbdvXnpfH~|drbHAZvpfdQbt璙bHAZpbdQZ|`JXQZdQbtbHAZpnvp`JXQvdQZ|vpfHZdQbtHfpdQZ|`JXQrZdQbtbHAZpXnvے`JX~HfpQZ|dvpfHZdQbt~HfpQZ|dvpfHf۝`vQtJlp˂rH~flJtAr˂rXdrtAr˂plJt˂rXfHf`r˂p~HfpdrtAJ~f`lJtAvnrdrtAJ˂pZlJtA˂rXQpfH~Qr˂pvnXrtAJl~f`lJtAvnXrtAJl~frXnvˍtbAdZXQJ`ے`vXnd|ZQJ`ےJltZHAbArd|QJ`ےvXnZHAbvnXltbQvXnrd|XQJ`ےltbHAbےrd|J`ےf`vZA`v`ftbdvXnrd|v`ftbd˂pZHpfH~|drbHAZvpfdQtArdbHAZpbdQZ|`JXQZdQbtbHAZpvpfH`JXQv`fZdrtvpfHZdQbtHAZpdQZ|`JXQrZdQbtbHAZpXnvJXQrbt~HfpQZ|dvpfHZdQbt~HfpQZ|dAbے`f۝`vQtJldrtAH~f|ZdQ˂rXdrtAr˂plJt˂rX~f`r˂p~HfpAJlt~f`lJtA˂rXQdrtAJ˂pZlJtA˂rXQpfH~lJtvnXrtAJl~f`lJtAvnXrtAJlJXQrXnvˍtbAdZ|.........................................................../ \ No newline at end of file diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv34_3.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv34_3.dat deleted file mode 100644 index a9e264c6a5..0000000000 --- a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv34_3.dat +++ /dev/null @@ -1,305 +0,0 @@ -{|{|{|{|yzyzyzyzwxwxwxwvtststsssrqrqrqrqnmnmnmnmlklklklkjijijijifefefefedcdcdcdc`_`_`_`_^]^]^]^]\[\[\[\[WXWXWXWX{|{|{|{|yzyzyzyzuvuvuvuvssstststrqrqrqrqnmnmnmnmlklklklkhghghghgfefefefedcdcdcdc`_`_`_`_^]^]^]^]\[\[\[\[WXWXWXWX{|{|{|{|yzyzyzyzuvuvuvuvststststpopopoponmnmnmnmlklklklkhghghghgfefefefedcdcdcdc`_`_`_`_^]^]^]^]\[\[\[\[WXWXWXWX{|{|{|{|yzyzyzyzuvuvuvuvststststpopopoponmnmnmnmlklklklkhghghghgfefefefedcdcdcdc`_`_`_`_^]^]^]^]\[\[\[\[WXWXWXWX{|{|{|{|yzyzyzyzuvuvuvuvststststpopopoponmnmnmnmlklklklkhghghghgfefefefedcdcdcdc`_`_`_`_^]^]^]^]\[\[\[ZYWXWXWWWW{|{|{|{|yzyzyzyzuvuvuvuvststststpopopoponmnmnmnmlklklklkhghghghgfefefefedcdcdcdc`_`_`_`_^]^]^]^]ZYZYZYZYWWXWXWXW{|{|{|{|yzyzyzyzuvuvuvuvststststpopopoponmnmnmnmlklklklkhghghghgfefefefedcdcdcdc`_`_`_`_^]^]^]^]ZYZYZYZYXWXWXWXW{|{|{|{|yzyzyzyzuvuvuvuvsssssstspopopoponmnmnmnmlklklklkhghghghgfefefefedcdcdcdc`_`_`_`_^]^]^]^]ZYZYZYZYXWXWXWXW{|{|{|{|yzyzyzyzuvuvuvuvtstststspopopoponmnmnmnmlklklklkhghghghgfefefefedcdcdcdc`_`_`_`_^]^]^]^]ZYZYZYZYXWXWXWXW~}~}~}~{|{|{|{|yzyzyzyzuvuvuvuvtstststspopopoponmnmnmnmlklklklkhghghghgfefefefedcdcdcdc`_`_`_`_^]^]^]^]ZYZYZYZYXWXWXWXW}~}~}~}~{|{|{|{|yzyzyzyzuvuvuvuvtstststspopopoponmnmnmnmlklklklkhghghghgfefefefedcdcdcdc`_`_`_`_^]^]^]^]ZYZYZYZYXWXWXWXW}~}~}~}~{|{|{|{|yzyzyzyzuvuvuvuvtstststspopopoponmnmnmnmlklklklkhghghghgfefefefedcdcdcdc`_`_`_`_^]^]^]^]ZYZYZYZYWWWWWXWX}~}~}~}~{|{|{|{|yzyzyzyzuvuvuvuvtstststspopopoponmnmnmnmlklklklkhghghghgfefefefedcdcdcdc`_`_`_`_^]^]^]^]ZYZYZYZYWXWXWXWX}~}~}~}~{|{|{|{|yzyzyzyzuvuvuvuvtstssssspopopoponmnmnmnmlklklklkhghghghgfefefefebabababa`_`_`_`_^]^]^]^]ZYZYZYZYWXWXWXWX}~}~}~}~{|{|{|{|yzyzyzyzuvuvuvuvtstststspopopoponmnmnmnmjijijijihghghghgfefefefebabababa`_`_`_`_^]^]^]^]ZYZYZYZYWXWXWXWX}~}~}~}~{|{|{|{|yzyzyzyzuvuvuvuvrqrqrqrqpopopoponmnmnmnmjijijijihghghghgfefefefebabababa`_`_`_`_^]^]^]^]ZYZYZYZYWXWXWXWX}~}~}~}~{|{|{|{|yzyzyzyzuvuvuvuvrqrqrqrqpopopoponmnmnmnmjijijijihghghghgfefefefebabababa`_`_`_`_^]^]^]^]ZYZYZYZYWXWXWXWX}~}~}~}~{|{|{|{|yzyzyzyzuvuvuvuvrqrqrqrqpopopoponmnmnmnmjijijijihghghghgfefefefebabababa`_`_`_`_^]^]^]^]ZYZYZYZYWXWWWWWX}~}~}~}~{|{|{|{|yzyzyzyzuvuvuvuvrqrqrqrqpopopoponmnmnmnmjijijijihghghghgfefefefebabababa`_`_`_`_^]^]^]^]ZYZYZYZYWXWXWXWV}~}~}~}~{|{|{|{|yzyzyzyzuvuvuvuvrqrqrqrqpopopoponmnmnmnmjijijijihghghghgfefefefebabababa`_`_`_`_^]^]^]^]ZYZYZYZYUVUVUVUV}~}~}~}~{|{|{|{|yzyzyzyzuvuvuvuvrqrqrqrqpopopoponmnmnmnmjijijijihghghghgfefefefebabababa`_`_`_`_^]^]^]^]ZYZYZYZYUVUVUVUV}~}~}~}~{|{|{|{|yxwxwxwxuvuvuvuvrqrqrqrqpopopoponmnmnmnmjijijijihghghghgfefefefebabababa`_`_`_`_^]^]^]^]ZYZYZYZYUVUVUVUV}~}~}~}~{|{|{|{|wxwxwxwxuvuvuvuvrqrqrqrqpopopoponmnmnmnmjijijijihghghghgfefefefebabababa`_`_`_`_^]^]^]^]ZYZYZYZYUVUVUVUV}~}~}~}~{|{|{|{|wxwxwxwxuvuvuvuvrqrqrqrqpopopoponmnmnmnmjijijijihghghghgfefefefebabababa`_`_`_`_^]^]^]^]ZYZYZYZYUVUVUVUV}~}~}~}~{|{|{|{|wxwxwxwxuvuvuvuvrqrqrqrqpopopoponmnmnmnmjijijijihghghghgfefefefebabababa`_`_`_`_^]^]^]^]ZYZYZYZYUVUVUVUV}~}~}~}~{|{|{|{|wxwxwxwxuvuvuvuvrqrqrqrqpopopoponmnmnmnmjijijijihghghghgfefefefebabababa`_`_`_`_\[\[\[\[ZYZYZYZYUVUVUVUV}~}~}~}~{|{|{|{|wxwxwxwxuvuvuvuvrqrqrqrqpopopoponmnmnmnmjijijijihghghghgdcdcdcdcbabababa`_`_`_`_\[\[\[\[ZYZYZYZYUVUVUVUV}~}~}~}~{|{|{|{|wxwxwxwxuvuvuvuvrqrqrqrqpopopopolklklklkjijijijihghghghgdcdcdcdcbabababa`_`_`_`_\[\[\[\[ZYZYZYZYUVUVUVUV}~}~}~}~{|{|{|{|wxwxwxwxuvuvuvuvrqrqrqrqpopopopolklklklkjijijijihghghghgdcdcdcdcbabababa`_`_`_`_\[\[\[\[ZYZYZYZYUVUVUVUV}~}~}~}~{|{|{|{|wxwxwxwxuvuvuvuvrqrqrqrqpopopopolklklklkjijijijihghghghgdcdcdcdcbabababa`_`_`_`_\[\[\[\[ZYZYZYZYUVUVUVUV}~}~}~}~{|{|{|{|wxwxwxwxuvuvuvuvrqrqrqrqpopopopolklklklkjijijijihghghghgdcdcdcdcbabababa`_`_`_`_\[\[\[\[ZYZYZYZYUVUVUVUV}~}~}~}~{|{|{|{|wxwxwxwxuvuvutstrqrqrqrqpopopopolklklklkjijijijihghghghgdcdcdcdcbabababa`_`_`_`_\[\[\[\[ZYZYZYZYUVUVUVUV}~}~}~}~{|{|{|{|wxwxwxwxststssssrqrqrqrqpopopopolklklklkjijijijihghghghgdcdcdcdcbabababa`_`_`_`_\[\[\[\[ZYZYZYZYUVUVUVUV}~}~}~}~{|{|{|{|wxwxwxwxsstststsrqrqrqrqpopopopolklklklkjijijijihghghghgdcdcdcdcbabababa`_`_`_`_\[\[\[\[ZYZYZYZYUVUVUVUV}~}~}~}~{zyzyzyzwxwxwxwxtstststsrqrqrqrqpopopopolklklklkjijijijihghghghgdcdcdcdcbabababa`_`_`_`_\[\[\[\[ZYZYZYZYUVUVUVUV}~}~}~}~yzyzyzyzwxwxwxwxtstststsrqrqrqrqpopopopolklklklkjijijijihghghghgdcdcdcdcbabababa`_`_`_`_\[\[\[\[ZYZYXWXWUVUVUVUV}~}~}~}~yzyzyzyzwxwxwxwxtstststsrqrqrqrqpopopopolklklklkjijijijihghghghgdcdcdcdcbabababa`_`_`_`_\[\[\[\[XWXWWWWWUVUVUVUV}~}~}~}~yzyzyzyzwxwxwxwxtstststsrqrqrqrqpopopopolklklklkjijijijihghghghgdcdcdcdcbabababa`_`_`_`_\[\[\[\[WXWXWXWXUVUVUVUV}~}~}~}~yzyzyzyzwxwxwxwxtstststsrqrqrqrqpopopopolklklklkjijijijihghghghgdcdcdcdcbabababa^]^]^]^]\[\[\[\[WXWXWXWXUVUVUVUV}~}~}~}~yzyzyzyzwxwxwxwxssssststrqrqrqrqpopopopolklklklkjijijijifefefefedcdcdcdcbabababa^]^]^]^]\[\[\[\[WXWXWXWXUVUVUVUV}~}~}~}~yzyzyzyzwxwxwxwxststststrqrqrqrqnmnmnmnmlklklklkjijijijifefefefedcdcdcdcbabababa^]^]^]^]\[\[\[\[WXWXWXWXUVUVUVUV}~}~}~}~yzyzyzyzwxwxwxwxststststrqrqrqrqnmnmnmnmlklklklkjijijijifefefefedcdcdcdcbabababa^]^]^]^]\[\[\[\[WXWXWXWXUVUVUVUV}~}~}~}~yzyzyzyzwxwxwxwxststststrqrqrqrqnmnmnmnmlklklklkjijijijifefefefedcdcdcdcbabababa^]^]^]^]\[\[\[\[WXWXWXWWUVUVUVUV}~}~}~}~yzyzyzyzwxwxwxwxststststrqrqrqrqnmnmnmnmlklklklkjijijijifefefefedcdcdcdcbabababa^]^]^]^]\[\[\[\[WWWWXWXWUVUVUVUV}~}~}~}~yzyzyzyzwxwxwxwxststststrqrqrqrqnmnmnmnmlklklklkjijijijifefefefedcdcdcdcbabababa^]^]^]^]\[\[\[\[XWXWXWXWUVUVUVUVUVUVUVUV}~}~}~}~yzyzyzyzwxwxwxwxstssssssrqrqrqrqnmnmnmnmlklklklkjijijijifefefefedcdcdcdcbabababa^]^]^]^]\[\[\[\[XWXWXWXWUVUVUVUVUVUVUVUV}~}~}~}~yzyzyzyzwxwxwxwxtstststsrqrqrqrqnmnmnmnmlklklklkjijijijifefefefedcdcdcdcbabababa^]^]^]^]\[\[\[\[XWXWXWXWUVUVUVUVUVUVUVUV}|{|{|{|yzyzyzyzwxwxwxwxtstststsrqrqrqrqnmnmnmnmlklklklkjijijijifefefefedcdcdcdcbabababa^]^]^]^]\[\[\[\[XWXWXWXWUVUVUVUVUVUVUVUV{|{|{|{|yzyzyzyzwxwxwxwxtstststsrqrqrqrqnmnmnmnmlklklklkjijijijifefefefedcdcdcdcbabababa^]^]^]^]\[\[\[\[XWXWXWXWUVUVUVUVUVUVUVUV{|{|{|{|yzyzyzyzwxwxwxwxtstststsrqrqrqrqnmnmnmnmlklklklkjijijijifefefefedcdcdcdcbabababa^]^]^]^]\[\[\[\[XWWWWWWXUVUVUVUVUVUVUVUT{|{|{|{|yzyzyzyzwxwxwxwxtstststsrqrqrqrqnmnmnmnmlklklklkjijijijifefefefedcdcdcdcbabababa^]^]^]^]\[\[\[\[WXWXWXWXUVUVUVUVSTSTSTSTSTSTSTSTQRQRQRQROPOPOPOPKLKLKLKLIJIJIJIJGHGHGHGHCDCDCDCDABABABAB?@?@?@?@<;<;<;<;:9:9:9:9656565654343434321212121.-.-.-.-,+,+,+,+*)*)*)('&%&%&%&%$#$#$#$#         - - - -STSTSTSTQRQRQRQROPOPOPOPKLKLKLKLIJIJIJIJGHGHGHGHCDCDCDCDABABABAB?@?@?>=><;<;;;;;:9:9:9:965656565434343432121210/.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#$#         - - - -STSTSTSTQRQRQRQROPOPOPOPKLKLKLKLIJIJIJIJGHGHGHGHCDCDCDCDABABABAB=>=>=>=>;<;<;<;<:9:9:98765656565434343430/0/0/0/.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#$#         - - - -STSTSTSTQRQRQRQROPOPOPOPKLKLKLKLIJIJIJIJGHGHGHGHCDCDCDCDABABABAB=>=>=>=>;<;<;<;<8787878765656565434343430/0/0/0/.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#$#         - - - -STSTSTSTQRQRQRQROPOPOPOPKLKLKLKLIJIJIJIJGHGHGHGHCDCDCDCDABABABAB=>=>=>=>;<;<;<;<8787878765656565434343430/0/0/0/.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#$#       - - - -STSTSTSTQRQRQRQROPOPOPOPKLKLKLKLIJIJIJIJGHGHGHGHCDCDCDCDABABABAB=>=>=>=>;<;<;<;<8787878765656565434343430/0/0/0/.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#"!"!  - - - -STSTSTSTQRQRQRQROPOPOPOPKLKLKLKLIJIJIJIJGHGHGHGHCDCDCDCDABABABAB=>=>=>=>;<;<;<;<8787878765656565434343430/0/0/0/.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!     - - - -STSTSTSTQRQRQRQROPOPOPOPKLKLKLKLIJIJIJIJGHGHGHGHCDCDCDCDABABABAB=>=>=>=>;<;<;<;;8787878765656565434343430/0/0/0/.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!     - - - -STSTSTSTQRQRQRQROPOPOPOPKLKLKLKLIJIJIJIJGHGHGHGHCDCDCDCDABABABAB=>=>=>=>;;;;<;<;8787878765656565434343430/0/0/0/.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!     - - - -STSTSTSTQRQRQRQROPOPOPOPKLKLKLKLIJIJIJIJGHGHGHGFCDCDCDCDABABABAB=>=>=>=><;<;<;<;8787878765656565434343430/0/0/0/.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!     - - - -STSTSTSTQRQRQRQROPOPOPONKLKLKLKLIJIJIJIJEFEFEFEFCDCDCDCDABABABAB=>=>=>=><;<;<;<;8787878765656565434343430/0/0/0/.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!     - - - -STSTSTSTQRQRQRQRMNMNMNMNKLKLKLKLIJIJIJIJEFEFEFEFCDCDCDCDABABABAB=>=>=>=><;<;<;<;8787878765656565434343430/0/0/0/.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!    - - - -STSTSTSTQRQRQRQRMNMNMNMNKLKLKLKLIJIJIJIJEFEFEFEFCDCDCDCDABABABAB=>=>=>=><;<;<;<;8787878765656565434343430/0/0/0/.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!    - - - -STSTSTSTQRQRQRQRMNMNMNMNKLKLKLKLIJIJIJIJEFEFEFEFCDCDCDCDABABABAB=>=>=>=><;<;<;<;8787878765656565434343430/0/0/0/.-.-.-.-,+,+,+*)('('('('&%&%&%&%"!"!"!"!     - - - -STSTSTSTQRQRQRQRMNMNMNMNKLKLKLKLIJIJIJIJEFEFEFEFCDCDCDCDABABABAB=>=>=>=><;;;;;<;8787878765656565434343210/0/0/0/.-.-.-.-*)*)*)*)('('('('&%&%&%&%"!"!"!"!     - - - -STSTSTSTQRQRQRQRMNMNMNMNKLKLKLKLIJIJIJIJEFEFEFEFCDCDCDCDABABABAB=>=>=>=><;<;<;:98787878765656565212121210/0/0/0/.-.-.-.-*)*)*)*)('('('('&%&%&%&%"!"!"!"!     - - - -STSTSTSTQRQRQRQRMNMNMNMNKLKLKLKLIJIJIJIJEFEFEFEFCDCDCDCDABABABAB=>=>=>=>:9:9:9:98787878765656565212121210/0/0/0/.-.-.-.-*)*)*)*)('('('('&%&%&%&%"!"!"!"!     - - - -STSTSTSTQRQRQRQRMNMNMNMNKLKLKLKLIJIJIJIJEFEFEFEFCDCDCDCDABABABAB=>=>=>=>:9:9:9:98787878765656565212121210/0/0/0/.-.-.-.-*)*)*)*)('('('('&%&%&%&%"!"!"!"!      - - - -STSTSTSTQRQRQRQRMNMNMNMNKLKLKLKLIJIJIJIJEFEFEFEFCDCDCDCDABABABAB=>=>=>=>:9:9:9:98787878765656565212121210/0/0/0/.-.-.-.-*)*)*)*)('('('('&%&%&%&%"!"!"!"!       - - - -STSTSTSTQRQRQRQRMNMNMNMNKLKLKLKLIJIJIJIJEFEFEFEFCDCDCDCDABABABAB=>=>=>=>:9:9:9:98787878765656565212121210/0/0/0/.-.-.-.-*)*)*)*)('('('('&%&%&%&%"!"!"!"!       - - - -STSTSTSTQRQRQRQRMNMNMNMNKLKLKLKLIJIJIJIJEFEFEFEFCDCDCDCDABABABAB=>=>=>=>:9:9:9:98787878765656565212121210/0/0/0/.-.-.-.-*)*)*)*)('('('('&%&%&%&%"!"!"!"!     - - - -STSTSTSTQRQRQRQRMNMNMNMNKLKLKLKLIJIJIJIJEFEFEFEFCDCDCDCDABABABA@=>=>=>=>:9:9:9:98787878765656565212121210/0/0/0/.-.-.-.-*)*)*)*)('('('('&%&%&%&%"!"!"!"!     - - - -STSTSTSTQRQRQRQRMNMNMNMNKLKLKLKLIJIJIJIHEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>:9:9:9:98787878765656565212121210/0/0/0/.-.-.-.-*)*)*)*)('('('('&%&%&%&%"!"!"!"!     - - - -STSTSTSTQRQRQRQPMNMNMNMNKLKLKLKLGHGHGHGHEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>:9:9:9:98787878765656565212121210/0/0/0/.-.-.-.-*)*)*)*)('('('('&%&%&%&%"!"!"!"!     - - - -STSTSTSTOPOPOPOPMNMNMNMNKLKLKLKLGHGHGHGHEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>:9:9:9:98787878765656565212121210/0/0/0/.-.-.-.-*)*)*)*)('('('('&%&%&%&%"!"!"!"!     - - - -STSTSTSTOPOPOPOPMNMNMNMNKLKLKLKLGHGHGHGHEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>:9:9:9:98787878765656565212121210/0/0/0/.-.-.-.-*)*)*)*)('('('('&%&%&%$#"!"!"!"!     - - - -STSTSTSTOPOPOPOPMNMNMNMNKLKLKLKLGHGHGHGHEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>:9:9:9:98787878765656565212121210/0/0/0/.-.-.-,+*)*)*)*)('('('('$#$#$#$#"!"!"!"!     - - - -STSTSTSTOPOPOPOPMNMNMNMNKLKLKLKLGHGHGHGHEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>:9:9:9:98787878765656543212121210/0/0/0/,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"!     - - - -STSTSTSTOPOPOPOPMNMNMNMNKLKLKLKLGHGHGHGHEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>:9:9:9:98787878743434343212121210/0/0/0/,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"!     - - - -STSTSTSTOPOPOPOPMNMNMNMNKLKLKLKLGHGHGHGHEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>:9:9:9:98787878743434343212121210/0/0/0/,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"!     - - STSTSTSTOPOPOPOPMNMNMNMNKLKLKLKLGHGHGHGHEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>:9:9:9:98787878743434343212121210/0/0/0/,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"!     STSTSTSTOPOPOPOPMNMNMNMNKLKLKLKLGHGHGHGHEFEFEFEFCDCDCDCD?@?@?@?@=>=>=>=>:9:9:9:98787878743434343212121210/0/0/0/,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"!     STSTSTSTOPOPOPOPMNMNMNMNKLKLKLKLGHGHGHGHEFEFEFEFCDCDCDCD?@?@?@?@=>=<;<;<:9:9:9:98787878743434343212121210/0/0/0/,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"!     STSTSTSTOPOPOPOPMNMNMNMNKLKLKLKLGHGHGHGHEFEFEFEFCDCDCDCD?@?@?@?@;<;;;;;;:9:9:9:98787878743434343212121210/0/0/0/,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"!     STSTSTSTOPOPOPOPMNMNMNMNKLKLKLKLGHGHGHGHEFEFEFEFCDCDCDCB?@?@?@?@<;<;<;<;:9:9:9:98787878743434343212121210/0/0/0/,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"!     STSTSTSTOPOPOPOPMNMNMNMNKLKLKLKJGHGHGHGHEFEFEFEFABABABAB?@?@?@?@<;<;<;<;:9:9:9:98787878743434343212121210/0/0/0/,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"!     STSTSTSROPOPOPOPMNMNMNMNIJIJIJIJGHGHGHGHEFEFEFEFABABABAB?@?@?@?@<;<;<;<;:9:9:9:98787878743434343212121210/0/0/0/,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!        QRQRQRQROPOPOPOPMNMNMNMNIJIJIJIJGHGHGHGHEFEFEFEFABABABAB?@?@?@?@<;<;<;<;:9:9:9:98787878743434343212121210/0/0/0/,+,+,+,+*)*)*)*)('('('('$#$#$#$#       QRQRQRQROPOPOPOPMNMNMNMNIJIJIJIJGHGHGHGHEFEFEFEFABABABAB?@?@?@?@<;<;<;<;:9:9:9:98787878743434343212121210/0/0/0/,+,+,+,+*)*)*)*)('('('&%$#$#$#$#         QRQRQRQROPOPOPOPMNMNMNMNIJIJIJIJGHGHGHGHEFEFEFEFABABABAB?@?@?@?@<;<;<;;;:9:9:9:98787878743434343212121210/0/0/.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#         QRQRQRQROPOPOPOPMNMNMNMNIJIJIJIJGHGHGHGHEFEFEFEFABABABAB?@?@?@?@;;;<;<;<:9:9:9:9878787654343434321212121.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#         QRQRQRQROPOPOPOPMNMNMNMNIJIJIJIJGHGHGHGHEFEFEFEFABABABAB?@?@?@?@;<;<;<;<:9:9:9:9656565654343434321212121.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#         QRQRQRQROPOPOPOPMNMNMNMNIJIJIJIJGHGHGHGHEFEFEFEFABABABAB?@?@?@?@;<;<;<;<:9:9:9:9656565654343434321212121.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#         - -QRQRQRQROPOPOPOPMNMNMNMNIJIJIJIJGHGHGHGHEFEFEFEFABABABAB?@?@?@?@;<;<;<;<:9:9:9:9656565654343434321212121.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#       - - - -QRQRQRQROPOPOPOPMNMNMNMNIJIJIJIJGHGHGHGHEFEFEFEFABABABAB?@?@?@?@;<;<;<;<:9:9:9:9656565654343434321212121.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#        - - - -QRQRQRQROPOPOPOPMNMNMNMNIJIJIJIJGHGHGHGHEFEFEFEFABABABAB?@?@?@?@;<;<;<;<:9:9:9:9656565654343434321212121.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#         - - - -QRQRQRQROPOPOPOPMNMNMNMNIJIJIJIJGHGHGHGHEFEFEFEFABABABAB?@?@?@?@;;;;;;<;:9:9:9:9656565654343434321212121.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#         - - - -QRQRQRQROPOPOPOPMNMNMNMNIJIJIJIJGHGHGHGHEFEFEFEDABABABAB?@?@?@?@<;<;<;<;:9:9:9:9656565654343434321212121.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#         - - - -QRQRQRQROPOPOPOPMNMNMNMLIJIJIJIJGHGHGHGHCDCDCDCDABABABAB?@?@?@?@<;<;<;<;:9:9:9:9656565654343434321212121.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#         - - - -QRQRQRQROPOPOPOPKLKLKLKLIJIJIJIJGHGHGHGHCDCDCDCDABABABAB?@?@?@?@<;<;<;<;:9:9:9:9656565654343434321212121.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#         - - - -QRQRQRQROPOPOPOPKLKLKLKLIJIJIJIJGHGHGHGHCDCDCDCDABABABAB?@?@?@?@<;<;<;<;:9:9:9:9656565654343434321212121.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#       - - - -EEFFGGHH - - 88776655<==>>??@)((''&&%@AABBCCD%$$##""!DEEFFGGHCCBBAA@?--..//0088776655112233444433221155667788SRRQQPPOIIJJKKLL44332211@AABBCCD%$$##""!DEEFFGGH! HIIJJKKL >=<;;::911223344443322115566778800//..--99::;;<<ONNMMLLKMMNNOOPP00//..--DEEFFGGH! HIIJJKKL~~}LMMNNOOP - - 988776655566778800//..--99::;;<<,,++**))==>>??@@ KJJIIHHGQQRRSSTT,,++**))HIIJJKKL~~}LMMNNOOP}||{{zzyPQQRRSST 5443322199::;;<<,,++**))==>>??@@((''&&%%AABBCCDD - - GFFEEDDCUUVVWWXX((''&&%%~~}LMMNNOOP}||{{zzyPQQRRSSTyxxwwvvuTUUVVWWX100//..-==>>??@@((''&&%%AABBCCDD$$##""!!EEFFGGHHCBBAA@?>YYZZ[[\\%%&&$#"! }||{{zzyPQQRRSSTyxxwwvvuTUUVVWWX uttssrrqXYYZZ[[\-,,++**)AABBCCDD$$##""!!EEFFGGHH IIJJKKLL =<;;::99~~}}]]^^__``''(())**yxxwwvvuTUUVVWWX uttssrrqXYYZZ[[\ - - qppoonnm\]]^^__`)((''&&%EEFFGGHH IIJJKKLL~~}}MMNNOOPP - - 88776655||{{zzyyaabbccdd++,,--..uttssrrqXYYZZ[[\ - - qppoonnm\]]^^__` mllkkjji`aabbccd%%&%$#"! IIJJKKLL~~}}MMNNOOPP||{{zzyyQQRRSSTT44332211xxwwvvuueeffgghh//001122qppoonnm\]]^^__` mllkkjji`aabbccdihhggffedeeffggh&''(())*~~}}MMNNOOPP||{{zzyyQQRRSSTTxxwwvvuuUUVVWWXX00//..--ttssrrqqiijjkkll33445566mllkkjji`aabbccdihhggffedeeffggheddccbbahiijjkkl*++,,--.||{{zzyyQQRRSSTTxxwwvvuuUUVVWWXX ttssrrqqYYZZ[[\\,,++**))ppoonnmmmmnnoopp778899:: -ihhggffedeeffggheddccbbahiijjkkla``__^^]lmmnnoop.//00112xxwwvvuuUUVVWWXX ttssrrqqYYZZ[[\\ - - ppoonnmm]]^^__``((''&&%%llkkjjiiqqrrsstt;;AABBCC - eddccbbahiijjkkla``__^^]lmmnnoop - - ]\\[[ZZYpqqrrsst23344556ttssrrqqYYZZ[[\\ - - ppoonnmm]]^^__``llkkjjiiaabbccdd%%&&$#"! hhggffeeuuvvwwxxDDEEFFGGa``__^^]lmmnnoop - - ]\\[[ZZYpqqrrsst YXXWWVVUtuuvvwwx6778899: ppoonnmm]]^^__``llkkjjiiaabbccddhhggffeeeeffgghh''(())**ddccbbaayyzz{{||HHIIJJKK - - ]\\[[ZZYpqqrrsst YXXWWVVUtuuvvwwxUTTSSRRQxyyzz{{|:;;AABBC - - llkkjjiiaabbccddhhggffeeeeffgghhddccbbaaiijjkkll++,,--..``__^^]]}}~~LLMMNNOO YXXWWVVUtuuvvwwxUTTSSRRQxyyzz{{|QPPOONNM|}}~~CDDEEFFGhhggffeeeeffgghhddccbbaaiijjkkll``__^^]]mmnnoopp//001122\\[[ZZYYPPQQRRSSUTTSSRRQxyyzz{{|QPPOONNM|}}~~MLLKKJJIGHHIIJJKddccbbaaiijjkkll``__^^]]mmnnoopp - - \\[[ZZYYqqrrsstt33445566XXWWVVUUTTUUVVWWQPPOONNM|}}~~MLLKKJJI IHHGGFFEKLLMMNNO``__^^]]mmnnoopp - - \\[[ZZYYqqrrsstt XXWWVVUUuuvvwwxx778899:: -TTSSRRQQ]]^^__``MLLKKJJI IHHGGFFE !!""##$EDDCCBBAOPPQQRRS - - \\[[ZZYYqqrrsstt XXWWVVUUuuvvwwxxTTSSRRQQyyzz{{||;;AABBCC - PPOONNMMaabbccdd IHHGGFFE !!""##$EDDCCBBA$%%&&''(A@@??>>=STTUUVVW XXWWVVUUuuvvwwxxTTSSRRQQyyzz{{||PPOONNMM}}~~DDEEFFGGLLKKJJIIeeffgghh !!""##$EDDCCBBA$%%&&''(A@@??>>=())**++,=<<;;::9W]]^^__`TTSSRRQQyyzz{{||PPOONNMM}}~~LLKKJJIIHHIIJJKKHHGGFFEEiijjkkll$%%&&''(A@@??>>=())**++,=<<;;::9,--..//098877665`aabbccdPPOONNMM}}~~LLKKJJII HHGGFFEELLMMNNOO DDCCBBAAmmnnoopp())**++,=<<;;::9,--..//0988776650112233454433221deeffgghLLKKJJII HHGGFFEE!!""##$$DDCCBBAAPPQQRRSS - - @@??>>==qqrrssyy,--..//098877665011223345443322145566778100//..-hiijjkkl HHGGFFEE!!""##$$DDCCBBAA%%&&''((@@??>>==TTUUVVWW <<;;::99zz{{||}}011223345443322145566778100//..-899::;;<-,,++**)lmmnnoop!!""##$$DDCCBBAA%%&&''((@@??>>==))**++,,<<;;::99]]^^__``88776655~~45566778100//..-899::;;<-,,++**)<==>>??@)((''&&%pqqrrssy%%&&''((@@??>>==))**++,,<<;;::99--..//0088776655aabbccdd44332211899::;;<-,,++**)<==>>??@)((''&&%@AABBCCD%$$##""!yzz{{||}))**++,,<<;;::99--..//00887766551122334444332211eeffgghh00//..--~~}}||<==>>??@)((''&&%@AABBCCD%$$##""!DEEFFGGH! ~~}}|}~~--..//008877665511223344443322115566778800//..--iijjkkll !,,++**)){{zzyyss@AABBCCD%$$##""!DEEFFGGH! HIIJJKKL|{{zzyys11223344443322115566778800//..--99::;;<<,,++**))mmnnoopp!""##$$%((''&&%%rrqqppooDEEFFGGH! HIIJJKKL~~}LMMNNOOPsrrqqppo5566778800//..--99::;;<<,,++**))==>>??@@((''&&%%qqrrssyy%&&''(()$$##""!!nnmmllkkHIIJJKKL~~}LMMNNOOP}||{{zzyPQQRRSSTonnmmllk99::;;<<,,++**))==>>??@@((''&&%%AABBCCDD$$##""!!zz{{||}})**++,,- jjiihhggLMMNNOOP}||{{zzyPQQRRSSTyxxwwvvuTUUVVWWX kjjiihhg==>>??@@((''&&%%AABBCCDD$$##""!!EEFFGGHH ~~}}||~~-..//001ffeeddccPQQRRSSTyxxwwvvuTUUVVWWX uttssrrqXYYZZ[[\ - - gffeeddcAABBCCDD$$##""!!EEFFGGHH IIJJKKLL{{zzyyss12233445bbaa``__TUUVVWWX uttssrrqXYYZZ[[\ - - qppoonnm\]]^^__` cbbaa``_EEFFGGHH IIJJKKLL~~}}MMNNOOPPrrqqppoo56677889^^]]WWVVXYYZZ[[\ - - qppoonnm\]]^^__` mllkkjji`aabbccd_^^]]WWVIIJJKKLL~~}}MMNNOOPP||{{zzyyQQRRSSTTnnmmllkk9::;;<<= UUTTSSRR\]]^^__` mllkkjji`aabbccdihhggffedeeffgghVUUTTSSRMMNNOOPP||{{zzyyQQRRSSTTxxwwvvuuUUVVWWXX jjiihhgg=>>??@@A - - QQPPOONN~~}}|`aabbccdihhggffedeeffggheddccbbahiijjkklRQQPPOONQQRRSSTTxxwwvvuuUUVVWWXX ttssrrqqYYZZ[[\\ - - ffeeddccABBCCDDE - - MMLLKKJJ|{{zzyyxdeeffggheddccbbahiijjkkla``__^^]lmmnnoop - - NMMLLKKJUUVVWWXX ttssrrqqYYZZ[[\\ - - ppoonnmm]]^^__``bbaa``__EFFGGHHI IIHHGGFFwvutssrrhiijjkkla``__^^]lmmnnoop - - ]\\[[ZZYpqqrrsst JIIHHGGF~~}}YYZZ[[\\ - - ppoonnmm]]^^__``llkkjjiiaabbccdd^^]]WWVVIJJKKLLMEEDDCCBBqqppoonnlmmnnoop - - ]\\[[ZZYpqqrrsst YXXWWVVUtuuvvwwxFEEDDCCB||{{zzyy]]^^__``llkkjjiiaabbccddhhggffeeeeffgghhUUTTSSRRMNNOOPPQAA;;::99mmllkkjjpqqrrsst YXXWWVVUtuuvvwwxUTTSSRRQxyyzz{{|BAA;;::9xwvutssraabbccddhhggffeeeeffgghhddccbbaaiijjkkllQQPPOONNQRRSSTTU88776655iihhggfftuuvvwwxUTTSSRRQxyyzz{{|QPPOONNM|}}~~98877665rqqppooneeffgghhddccbbaaiijjkkll``__^^]]mmnnoopp - - MMLLKKJJUVVWWXXY 44332211eeddccbbxyyzz{{|QPPOONNM|}}~~MLLKKJJI 54433221nmmllkkjiijjkkll``__^^]]mmnnoopp - - \\[[ZZYYqqrrsstt IIHHGGFF~~}}|YZZ[[\\]!!""##$$00//..--aa``__^^|}}~~MLLKKJJI IHHGGFFE !!""##$100//..-jiihhggfmmnnoopp - - \\[[ZZYYqqrrsstt XXWWVVUUuuvvwwxxEEDDCCBB|{{zzyyx]^^__``a%%&&''((,,++**))]]\[ZYXW IHHGGFFE !!""##$EDDCCBBA$%%&&''(-,,++**)feeddccbqqrrsstt XXWWVVUUuuvvwwxxTTSSRRQQyyzz{{||AA;;::99wvutssrrabbccdde))**++,,((''&&%%WVVUUTTS !!""##$EDDCCBBA$%%&&''(A@@??>>=())**++,)((''&&%baa``__^uuvvwwxxTTSSRRQQyyzz{{||PPOONNMM}}~~88776655qqppoonneffgghhi--..//00SRRQQPPO$%%&&''(A@@??>>=())**++,=<<;;::9,--..//0%^]]\[ZYXyyzz{{||PPOONNMM}}~~LLKKJJII 44332211mmllkkjjijjkkllm11223344ONNMMLLK())**++,=<<;;::9,--..//09887766501122334WWVVUUTT}}~~LLKKJJII HHGGFFEE!!""##$$00//..--iihhggffmnnooppq55667788KJJIIHHG,--..//098877665011223345443322145566778SSRRQQPP HHGGFFEE!!""##$$DDCCBBAA%%&&''((,,++**))eeddccbbqrrssttu99::;;<<GFFEEDDC011223345443322145566778100//..-899::;;<OONNMMLL!!""##$$DDCCBBAA%%&&''((@@??>>==))**++,,((''&&%%aa``__^^uvvwwxxy==>>??@@ CBBAA@?>45566778100//..-899::;;<-,,++**)<==>>??@ KKJJIIHH%%&&''((@@??>>==))**++,,<<;;::99--..//00]]\[ZYXWyzz{{||}AABBCCDD - - =<;;::99899::;;<-,,++**)<==>>??@)((''&&%@AABBCCD - - GGFFEEDD))**++,,<<;;::99--..//008877665511223344WVVUUTTS}~~9::;;<<=,++**))(=>>??@@A(''&&%%$ABBCCDDE - - FFEEDDCC**++,,--;;::9988..//00117766554422334455VUUTTSSR~KJJIIHHG !!"GFFEEDDC"##$$%%&,++**))(QPPOONNM=>>??@@A(''&&%%$ABBCCDDE$##""!! EFFGGHHIBBAA@?>=..//001177665544223344553322110066778899RQQPPOON !!"GFFEEDDC"##$$%%&CBBAA@@?&''(())*(''&&%%MLLKKJJIABBCCDDE$##""!! EFFGGHHI IJJKKLLM -<;;::998223344553322110066778899//..--,,::;;<<==NMMLLKKJ"##$$%%&CBBAA@@?&''(())*?>>==<<;*++,,--.IHHGGFFEEFFGGHHI IJJKKLLM~~}}|MNNOOPPQ - 8776655466778899//..--,,::;;<<==++**))((>>??@@AA JIIHHGGF&''(())*?>>==<<;*++,,--.;::99887.//00112EDDCCBBAIJJKKLLM~~}}|MNNOOPPQ|{{zzyyxQRRSSTTU43322110::;;<<==++**))((>>??@@AA''&&%%$$BBCCDDEE - - FEEDDCCB*++,,--.;::99887.//001127665544323344556A@@??>>=~~}}|MNNOOPPQ|{{zzyyxQRRSSTTUxwwvvuutUVVWWXXY0//..--,>>??@@AA''&&%%$$BBCCDDEE##""!! FFGGHHIIBAA@?>=<.//0011276655443233445563221100/6778899:=<<;;::9|{{zzyyxQRRSSTTUxwwvvuutUVVWWXXY tssrrqqpYZZ[[\\],++**))(BBCCDDEE##""!! FFGGHHIIJJKKLLMM - -;;::9988233445563221100/6778899:/..--,,+:;;<<==> 98877665xwwvvuutUVVWWXXY tssrrqqpYZZ[[\\] - - poonnmml]^^__``a(''&&%%$FFGGHHIIJJKKLLMM~~}}||NNOOPPQQ 776655446778899:/..--,,+:;;<<==>+**))(('>??@@AAB - - -54433221tssrrqqpYZZ[[\\] - - poonnmml]^^__``alkkjjiihabbccdde%%&&'#"! JJKKLLMM~~}}||NNOOPPQQ{{zzyyxxRRSSTTUU33221100:;;<<==>+**))(('>??@@AAB'&&%%$$#BCCDDEEF - 100//..-poonnmml]^^__``alkkjjiihabbccddehggffeedeffgghhi'(())**+~~}}||NNOOPPQQ{{zzyyxxRRSSTTUUwwvvuuttVVWWXXYY//..--,,>??@@AAB'&&%%$$#BCCDDEEF#""!! FGGHHIIJ-,,++**)lkkjjiihabbccddehggffeedeffgghhidccbbaa`ijjkkllm+,,--../{{zzyyxxRRSSTTUUwwvvuuttVVWWXXYY ssrrqqppZZ[[\\]]++**))((BCCDDEEF#""!! FGGHHIIJJKKLLMMN)((''&&%hggffeedeffgghhidccbbaa`ijjkkllm `__^^]]\mnnooppq/0011223wwvvuuttVVWWXXYY ssrrqqppZZ[[\\]] - - oonnmmll^^__``aa''&&%%$#FGGHHIIJJKKLLMMN~~}}||{NOOPPQQR%$$##""!dccbbaa`ijjkkllm `__^^]]\mnnooppq - - \[[ZZYYXqrrssttu34455667ssrrqqppZZ[[\\]] - - oonnmmll^^__``aakkjjiihhbbccddee%%&&''"! JKKLLMMN~~}}||{NOOPPQQR{zzyyxxwRSSTTUUV! `__^^]]\mnnooppq - - \[[ZZYYXqrrssttu XWWVVUUTuvvwwxxy78899::; - -oonnmmll^^__``aakkjjiihhbbccddeeggffeeddffgghhii(())**++~~}}||{NOOPPQQR{zzyyxxwRSSTTUUVwvvuuttsVWWXXYYZ%%&&'\[[ZZYYXqrrssttu XWWVVUUTuvvwwxxyTSSRRQQPyzz{{||};AABBCCD kkjjiihhbbccddeeggffeeddffgghhiiccbbaa``jjkkllmm,,--..//{zzyyxxwRSSTTUUVwvvuuttsVWWXXYYZ srrqqppoZ[[\\]]^'(())**+XWWVVUUTuvvwwxxyTSSRRQQPyzz{{||}POONNMML}~~DEEFFGGHggffeeddffgghhiiccbbaa``jjkkllmm __^^]]\\nnooppqq00112233wvvuuttsVWWXXYYZ srrqqppoZ[[\\]]^ - - onnmmllk^__``aab+,,--../TSSRRQQPyzz{{||}POONNMML}~~LKKJJIIHHIIJJKKLccbbaa``jjkkllmm __^^]]\\nnooppqq - - [[ZZYYXXrrssttuu44556677 srrqqppoZ[[\\]]^ - - onnmmllk^__``aabkjjiihhgbccddeef/0011223 POONNMML}~~LKKJJIIH !HGGFFEEDLMMNNOOP __^^]]\\nnooppqq - - [[ZZYYXXrrssttuuWWVVUUTTvvwwxxyy8899::;; - - onnmmllk^__``aabkjjiihhgbccddeefgffeeddcfgghhiij34455667 - - LKKJJIIH !HGGFFEED!""##$$%DCCBBAA@PQQRRSST - - [[ZZYYXXrrssttuuWWVVUUTTvvwwxxyySSRRQQPPzz{{||}}AABBCCDD kjjiihhgbccddeefgffeeddcfgghhiijcbbaa``_jkkllmmn78899::; - - HGGFFEED!""##$$%DCCBBAA@%&&''(()@??>>==>==<)**++,,-<;;::998]^^__``aSSRRQQPPzz{{||}}OONNMMLL~~KKJJIIHHIIJJKKLLcbbaa``_jkkllmmn -_^^]]\\[nooppqqr - [ZZYYXXWrssttuuvDEEFFGGH@??>>==<)**++,,-<;;::998-..//00187766554abbccddeOONNMMLL~~KKJJIIHH !!GGFFEEDDMMNNOOPP -_^^]]\\[nooppqqr - [ZZYYXXWrssttuuvWVVUUTTSvwwxxyyzHIIJJKKL<;;::998-..//001877665541223344543322110effgghhiKKJJIIHH !!GGFFEEDD""##$$%%CCBBAA@@QQRRSSTT - [ZZYYXXWrssttuuvWVVUUTTSvwwxxyyzSRRQQPPOz{{||}}~LMMNNOOP877665541223344543322110566778890//..--,ijjkkllm !!GGFFEEDD""##$$%%CCBBAA@@&&''(())??>>==<>==<<**++,,--;;::9988^^__``aaSRRQQPPOz{{||}}~ONNMMLLK~KJJIIHHGTUUVVWW] !!""##$0//..--,9::;;<<=,++**))(=>>??@@A(''&&%%$qrrssyyz&&''(())??>>==<<**++,,--;;::9988..//001177665544bbccddeeONNMMLLK~KJJIIHHG !!"GFFEEDDC]^^__``a$%%&&''(,++**))(=>>??@@A(''&&%%$ABBCCDDE$##""!! z{{||}}~**++,,--;;::9988..//0011776655442233445533221100ffgghhiiKJJIIHHG !!"GFFEEDDC"##$$%%&CBBAA@@?abbccdde())**++,(''&&%%$ABBCCDDE$##""!! EFFGGHHI ~~}}||{~..//001177665544223344553322110066778899//..--,,jjkkllmm !!"GFFEEDDC"##$$%%&CBBAA@@?&''(())*?>>==<<;effgghhi,--..//0$##""!! EFFGGHHI IJJKKLLM{zzyyssr223344553322110066778899//..--,,::;;<<==++**))((nnooppqq"##$$%%&CBBAA@@?&''(())*?>>==<<;*++,,--.;::99887ijjkkllm01122334 IJJKKLLM~~}}|MNNOOPPQrqqppoon66778899//..--,,::;;<<==++**))((>>??@@AA''&&%%$$rrssyyzz&''(())*?>>==<<;*++,,--.;::99887.//0011276655443mnnooppq45566778~~}}|MNNOOPPQ|{{zzyyxQRRSSTTUnmmllkkj::;;<<==++**))((>>??@@AA''&&%%$$BBCCDDEE##""!! {{||}}~~*++,,--.;::99887.//0011276655443233445563221100/qrrssyyz899::;;<|{{zzyyxQRRSSTTUxwwvvuutUVVWWXXY jiihhggf>>??@@AA''&&%%$$BBCCDDEE##""!! FFGGHHII~~}}||{{.//0011276655443233445563221100/6778899:/..--,,+z{{||}}~<==>>??@xwwvvuutUVVWWXXY tssrrqqpYZZ[[\\] - - feeddccbBBCCDDEE##""!! FFGGHHIIJJKKLLMMzzyyssrr233445563221100/6778899:/..--,,+:;;<<==>+**))(('~@AABBCCD tssrrqqpYZZ[[\\] - - poonnmml]^^__``abaa``__^FFGGHHIIJJKKLLMM~~}}||NNOOPPQQqqppoonn6778899:/..--,,+:;;<<==>+**))(('>??@@AAB'&&%%$$#DEEFFGGH - - poonnmml]^^__``alkkjjiihabbccdde^]]WWVVUJJKKLLMM~~}}||NNOOPPQQ{{zzyyxxRRSSTTUUmmllkkjj:;;<<==>+**))(('>??@@AAB'&&%%$$#BCCDDEEF#""!! ~~}}||{HIIJJKKLlkkjjiihabbccddehggffeedeffgghhiUTTSSRRQNNOOPPQQ{{zzyyxxRRSSTTUUwwvvuuttVVWWXXYY iihhggff>??@@AAB'&&%%$$#BCCDDEEF#""!! FGGHHIIJ{zzyyssrLMMNNOOPhggffeedeffgghhidccbbaa`ijjkkllm QPPOONNMRRSSTTUUwwvvuuttVVWWXXYY ssrrqqppZZ[[\\]] - - eeddccbbBCCDDEEF#""!! FGGHHIIJJKKLLMMNrqqppoonPQQRRSSTdccbbaa`ijjkkllm `__^^]]\mnnooppq - - MLLKKJJIVVWWXXYY ssrrqqppZZ[[\\]] - - oonnmmll^^__``aaaa``__^^FGGHHIIJJKKLLMMN~~}}||{NOOPPQQRnmmllkkjTUUVVWWX `__^^]]\mnnooppq - - \[[ZZYYXqrrssttu IHHGGFFE~~}}||ZZ[[\\]] - - oonnmmll^^__``aakkjjiihhbbccddee]]WWVVUUJKKLLMMN~~}}||{NOOPPQQR{zzyyxxwRSSTTUUVjiihhggfXYYZZ[[\ - - \[[ZZYYXqrrssttu XWWVVUUTuvvwwxxyEDDCCBBA{{zzyyxw^^__``aakkjjiihhbbccddeeggffeeddffgghhiiTTSSRRQQNOOPPQQR{zzyyxxwRSSTTUUVwvvuuttsVWWXXYYZ feeddccb~~}\]]^^__` XWWVVUUTuvvwwxxyTSSRRQQPyzz{{||}A;;::998vutssrrqbbccddeeggffeeddffgghhiiccbbaa``jjkkllmm PPOONNMMRSSTTUUVwvvuuttsVWWXXYYZ srrqqppoZ[[\\]]^ - - baa``__^}||{{zzy`aabbccdTSSRRQQPyzz{{||}POONNMML}~~87766554qppoonnmffgghhiiccbbaa``jjkkllmm __^^]]\\nnooppqq - - LLKKJJIIVWWXXYYZ srrqqppoZ[[\\]]^ - - onnmmllk^__``aab^]]WWVVUyxxwwvvudeeffgghPOONNMML}~~LKKJJIIH !43322110mllkkjjijjkkllmm __^^]]\\nnooppqq - - [[ZZYYXXrrssttuuHHGGFFEE~~}}||{Z[[\\]]^ - - onnmmllk^__``aabkjjiihhgbccddeefUTTSSRRQuttssrrqhiijjkklLKKJJIIH !HGGFFEED!""##$$%0//..--,ihhggffennooppqq - - [[ZZYYXXrrssttuuWWVVUUTTvvwwxxyyDDCCBBAA{zzyyxwv^__``aabkjjiihhgbccddeefgffeeddcfgghhiijQPPOONNMqppoonnmlmmnnoop !HGGFFEED!""##$$%DCCBBAA@%&&''((),++**))(eddccbbarrssttuuWWVVUUTTvvwwxxyySSRRQQPPzz{{||}};;::9988utssrrqqbccddeefgffeeddcfgghhiijcbbaa``_jkkllmmn -MLLKKJJImllkkjjipqqrrsst!""##$$%DCCBBAA@%&&''(()@??>>==<)**++,,-(''&&%%a``__^^]vvwwxxyySSRRQQPPzz{{||}}OONNMMLL~~77665544ppoonnmmfgghhiijcbbaa``_jkkllmmn -_^^]]\\[nooppqqr - IHHGGFFEihhggffetuuvvwwx%&&''(()@??>>==<)**++,,-<;;::998-..//001]\[ZYXWWzz{{||}}OONNMMLL~~KKJJIIHH !!33221100llkkjjiijkkllmmn -_^^]]\\[nooppqqr - [ZZYYXXWrssttuuvEDDCCBBAeddccbbaxyyzz{{|)**++,,-<;;::998-..//0018776655412233445VVUUTTSS~~KKJJIIHH !!GGFFEEDD""##$$%%//..--,,hhggffeenooppqqr - [ZZYYXXWrssttuuvWVVUUTTSvwwxxyyzA;;::998a``__^^]|}}~~-..//00187766554122334454332211056677889RRQQPPOO !!GGFFEEDD""##$$%%CCBBAA@@&&''(())++**))((ddccbbaarssttuuvWVVUUTTSvwwxxyyzSRRQQPPOz{{||}}~87766554]\\[[ZZY1223344543322110566778890//..--,9::;;<<=NNMMLLKK""##$$%%CCBBAA@@&&''(())??>>==<<**++,,--''&&%%``__^^]]vwwxxyyzSRRQQPPOz{{||}}~ONNMMLLK~43322110YXXWWVVU566778890//..--,9::;;<<=,++**))(=>>??@@A JJIIHHGG&&''(())??>>==<<**++,,--;;::9988..//0011\[ZYXWWVz{{||}}~ONNMMLLK~KJJIIHHG !!"0//..--,UTTSSRRQZHAb|ZdQb˂rXQdrtAQr˂pbtlfpvdrtfH~Qr˂pfpvZp˂tbHAbtlJp˂rdrtAH~ftlJfpvdrtAH~f˂pZv`fے`JXQtlJJ`ےJltZHAbJtArdnXv`AJltf`vXZHAbnXv`rXQJ`nvp`JQr˂ptArdXQJ`ےJltZHAbtArdnXv`Jlt`vXnHAbے~Hfpr˂ptArdbHAZpbdQZ|ے`JX|ZdQf~HbdQZ|nvpے`JXf~HbHAvXnZHAbf~HbHAZbdQZ|ے`JXQ|ZdQbf~HbdQZ|vpf`JXQrvnXZHAb|ZdQb˂rXQdrtAQr˂pbtlfpvdrtfH~Qr˂pfpvZp˂vpfHے`JXfpvp˂rdrtAr˂ptlJfpvdrtAH~f˂p`v`fے`JXQtlJJ`ےJltZHAbJtArdnXv`AJltf`vXZHAbnXv`rXQJ`ۅ~f`Qr˂pnXv`XQJ`ےJltZHAbtArdnXv`Jlt`vXnJXQrb~Hfvr˂ptArdbHAXQJbQZdے`JX|ZdQf~HbdQZ|nvpے`JXf~HbHAvXnZHAbf~HbHAZbdQZ|ے`JXQ|ZdQbf~HbdQZ|vpftl|nXv`ZHAb|ZdQb`ےbrtAJlQr˂pbtlfpvdrtfH~Qr˂pfpvZp˂vpfHے`JXfpvp˂rdrtAr˂ptlJfpvdrtAH~fZdQbtf~Hے`JXQtlJHAZp˂tbdQZHAbJtArdnXv`AJltf`vXZHAۅnXv`rXQJ`ۅ~QrZHAnXv`XQJ`ےJltZHAbtArdnXv`Jlt`vXnlJtAfpvr˂ptArdrXQJZ|dے`JX|ZdQfHbdQZ|nvp`JXQf~HbHAvpfHbے`f~HbHAZbdQZ|ے`JXQ|ZdQbf~HbdQZ|vpfrd|nXv`ZHAb|ZdQb`ےbrtAJlQr˂pbtlfpvdrtfH~rbtlfpvZp˂~f`JXQrfpvp˂rdrtAr˂ptlJfpvdrtAH~fZdQbtf~Hے`JXQtlJHAZp˂tbdQZHAbJtArdnrXQJ`AJltf`vXJtAdnXv`rXQJ`vXn˂pZHAnXv`XQJ`ےJltZHAbtArdnXv`Jlt`vXnlJtAfpvr˂ptArdbHAZ|dnے`JX|ZdQےHAbdQZ|nvp|ZdQf~HbHAvpfHbے`f~HbHAZbdQZ|ے`JXQ|ZdQbfHfbdQZ|vpfrdtnvfZHAb|ZdQbZp˂vfQr˂pbtlZp˂drtfH~btlfpvZp˂~f`JXQrfpvp˂rdtAJr˂ptlJpvndrtAH~flJtAr~Hfpے`JXQtlJrXQJ`f`vXZHAbJtArdrXQJ`AJltf`vXJtArdnXv`rXQJ`vXH~˂pZAnXv`XQJ`ےltbZHAbtArdrXQJ`Jlt`vXnd|ZvnXr˂ptArdےbHAnvpے`JX|ZdQbHAbdQZ|nvp|ZdQf~HbHAf`vX`JXQrf~HbHAZnvpے`JXQ|ZdQbےHAZbdQZ|vpfdQbtv`fZHAb|ZdQbZp˂fH~Qr˂pbtlZp˂drtfH~btlfpvZp˂nvpbtlfpvp˂rfHfr˂ptlJp˂rdrtAH~flJtAr~Hfpے`JXQtlJrXQJ`f`vXZHAbJtArdrXQJ`AJltf`vXJtArdnXv`rXQJ`۝fH~JtAdnXv`XQJ`ے`vXnZHAbtArdXQJ`ےJlt`vXnd|ZvnXr˂ptArdp˂rnvpے`JX|ZdQbHAbdQZ|nvp|ZdQf~HbHAf`vX|ZdQbf~HbHAZvpfے`JXQ|ZdQbbHAZbdQZ|vpfdQtArdv`ffpZHAb|ZdQbXQJ`ےfH~Qr˂pbtlZp˂drtfH~btlfpvZp˂nvptlJfpvp˂rH~fr˂ptlJp˂rdrtAH~f|ZdQvnے`JXQtlJbHAZf`vXZHAbJtArdrXQJ`AJltf`vXJtArdnXv`rXQJ`۝`vXtArdnXv`XQJ`ے`vXnZHAbtArdXQJ`ےJlt`vXnbtlrXQJ`r˂ptArdp˂rnvpے`JX|ZdQbHAbdQZ|nvp|ZdQf~HbHAnvp|ZdQbf~HbHAZvpfے`JXQ|ZdQbbHAZbdQZ|vpfJtArdHAZpZHAbf~HXQJ`ےfH~Qr˂pbtlZp˂drtfH~btlfpvZdrtfH~tlJfpvp˂rH~fr˂ptlJp˂rdrtAH~f|ZdQ˂rXے`JXQXv`fbHAXQf`vXZHAbJtArdrXQJ`AJltfZHAbJtArdnXv`AdQZ|f`vXtArdnXv`XQJ`ے`vXnZHAbtArdXQJ`ےJlt`vXnbtlQJ`ےr˂p~HfJ`ےnvpے`JXf~HbHAbdQZ|ے`JX|ZdQf~HdrtAnvp|ZdQbf~HbHAZvpfے`JXQ|ZdQbbHAZbdQZ|vpf|ZdQbbHAZpZHAbpvnbHAZpfH~Qr˂pfpvZp˂drtQr˂pbtlfpvJltfH~tlJfpvp˂rH~fr˂ptlJp˂rdrtAH~ftlJ˂rXے`JXQXv`f˂rXQf`vXZHAbnXv`rXQJ`AJltZHAbJtArdnXv`bdQZ|vpfHtArdnXv`XQJ`ے`vXnZHAbtArdXQJ`ےJltZHAbtArdQJ`ےr˂p~HfJ`ےnvpے`JXf~HbHAbdQZ|ے`JX|ZdQf~HdrtA~f`|ZdQbf~HbHAZvpfے`JXQf~HbHAZbdQZ|˂pZ|ZdQbbHAZpZHAbpvbHAZpfH~Qr˂pfpvZp˂drtQr˂pbtlfpvJltdvXntlJfpvdrtAH~fr˂pfpvp˂rdrtAHAbےtlJ˂rXے`JXQ~Hfp˂bf`vXZHAbnXv`rXQJ`AJltZHAbJtArdnXv`rtAJlvpfHtArdnXv`Jlt`vXnZHAbnXv`XQJ`ےJlt`JXQrtArdtQJ`ےr˂pvnXHAZdnvpے`JXf~HbHAbdQZ|ے`JX|ZdQf~Htbd~f`|ZdQbf~HbdQZ|vpfے`JXQf~HbHAZbdQZ|˂pZlJtAbHAZpZHAbv`frtAJfH~Qr˂pfpvZp˂drtQr˂pbtlfpvQZ|dvXHtlJfpvdrtAH~fr˂pfpvp˂rdrtAHAbےrd|˂rXے`JXQ~HfpbdQZ|f`vXZHAbnXv`rXQJ`AJltZHAbJtArdnXv`rtAJl~fZHtArdnXv`Jlt`vXnZHAbnXv`XQJ`ےJlt`JXQHAZdQbtQJ`ےr˂pvnXdrtAnvpے`JXf~HbHAbdQZ|ے`JX|ZdQfHtbdAbJ|ZdQbf~HbdQZ|vpfے`JXQf~HbHAZbdQZ|bے`lJtAbHAZpZHAbv`pvJltfH~Qr˂pfpvZp˂dtAQr˂pbtlfpvQZ|lQr˂ptlJfpvdrtAH~fr˂pfpvp˂rdrtAJXQrrd|˂rXے`JXQnXvbdQZ|f`vXZHAۅnXv`rXQJ`JltZHAbJtArdnrXQJ`tbdQZHAbtArdnXv`Jlt`vXnZHAbnXv`XQJ`ےJlt˂pZHAZdQtArQJ`ےr˂p`f~drtAnvp`JXQf~HbHAbnvpے`JX|ZdQےHAZ|dے`JXQ|ZdQbf~HbdQZ|vpfے`JXQf~HbHAZbdQZ|bے`dfbHAZp|ZdQbHfpvJltbfH~rbtlfpvZp˂fHQr˂pbtlZp˂rtAJlr˂ptlJfpvdrtAH~fr˂pfpvp˂rdtAJJXQr~Hfv˂rXtlJnXvQZdrf`vXJtAdnXv`rXQJ`f`vXZHAbJtArdrXQJ`ےtbdQZHAbtArdnXv`Jlt`vXnZHAےnXv`XQJ`ےltb˂p`JnXv`QJ`ےtArd`f~tAJlnvp|ZdQf~HbHAnvpے`JX|ZdQbHAZ|dے`JXQ|ZdQbfHfbdQZ|vpf`JXQrf~HbHAZnvpXQr˂f~HbHAZp|ZdQbHXv`tbdQZfH~btlfpvZp˂fH~Qr˂pbtlZp˂rtAdQZ|rZHAtlJpvndrtAH~fbtlfpvp˂rfHfpZHAbfpv˂rXtlJf~H|drf`vXJtArdnXv`rXQJ`f`vXZHAbJtArdrXQJ`ہdrtbے`tArdrXQJ`Jlt`vXnJtAdnXv`XQJ`ے`vXnے`JnXv`QJ`ےtArdfpvtAJlnvp|ZdQf~HbHAnvpے`JX|ZdQbHAAJltJXQr|ZdQbےHAZbdQZ|vpf|ZdQbf~HbHAZvpfXQr˂f~HbHAZp|ZdQbnXv`tbdQZfH~btlfpvZp˂fH~Qr˂pbtlZp˂bdQZ|pZHAtlJp˂rdrtAH~ftlJfpvp˂rH~fpZHAbfpvn˂rXtlJf~H|rAJlf`vXJtArdnXv`rXQJ`f`vXZHAbJtArdrXQJ`ہdrtbے`tArdXQJ`ےJlt`vXntArdnXv`XQJ`ے`vXn˂pvf~QJ`ےtArdfpvtbdnvp|ZdQf~HbHAnvpے`JX|ZdQbHAAJltJXQr|ZdQbbHAZbdQZ|vpf|ZdQbf~HbHAZvpfZHAbHfpvbHAZp˂rX|ZdQb~HfQZ|dfH~btlfpvZp˂fH~Qr˂pbtlZp˂drtApZAbtlJp˂rdrtAH~ftlJfpvp˂rH~fے`JXQnXv˂rXQJ`ےtlJpvnrtAJlf`vXJtArdnXv`rXQJ`f`vXZHAbJtArdrXQJ`Jlt`JXQrtArdXQJ`ےJlt`vXntArdnXv`XQJ`ے`vXnr˂p`f~QJ`ےbHAZptArdXv`ftbdnvp|ZdQf~HbHAnvpے`JXf~HbHAbdQZ|˂pZ|ZdQbbHAZbdQZ|vpf|ZdQbf~HbHAZvpfZHAbHfpvbHAZp˂rX|ZdQb~HfQZ|dfH~btlfpvZdrtfH~Qr˂pfpvZp˂drtAHAbےtlJp˂rdrtAH~ftlJfpvp˂rH~fے`JXQnXv˂rXQJ`ےtlJpvnrtAJfZHAbJtArdnXv`AJltf`vXZHAbnXv`rXQJ`Jlt`JXQrtArdXQJ`ےJlt`vXntArdnXv`XQJ`ے`vXnHAbے`f~fpQJ`ےbHAZtArdXv`pbdQZ|ے`JX|ZdQf~HbdQZ|nvpے`JXf~HbHAbdQZ|l˂pZ|ZdQbbHAZbdQZ|vpf|ZdQbf~HbHAZvpf`JXQrvnXbHAZpdrtAJltvXnZHAbnXv`QJ`ےJltZHAbArd|v`pZ|dvXnrd|Xv`fJ`ےvXnHAbےrdfJ`ےtbdQJXQrrd|J`ےtbdvXnrd|v`fJ`ےvXnZHAbpfH~bdQZ|vpfH`JXQf~HbHAZpbdQZ|`JXQZdQbtvnrXrtAJvpfHZdQbt~HfbHAZvpfH`JXQr~HfbHAZpZ|dpZHAZdQbtbHAZpQZ|dvpfHZdQbt~HfpbHAZpvpfH`JXQHf۝`vdrtA~f`r˂pfpv˂rXdrtAr˂plJtQJ`pbdQZ|~fZlJtApvndrtAJ~f`˂pZpvn˂rXQrtAJlbے`lJtArXQrtAJl~f`lJtAvnXrXQ~f`Abے`XnvˍJltvXnZHAbnXv`QJ`ےJltZHAbArd|rXQdrtAHAbےrd|Xv`fltbvXnHAbےXv`fJ`ےtbdQJXQrrd|J`ےtbdvXnrd|v`fJ`ےvXnہJXQrpfH~bdQZ|vpfH`JXQf~HbHAZpbdQZ|`JXQZdQbtJ`ےJlt`JXQrZdQbt~HfdQZ|vpfH`JXQr~HfbHAZpZ|l璂pZHAZdQbtbHAZpQZ|dvpfHZdQbt~HfpbHAZdvpfH˂pZHf۝`vdrtA~f`r˂pfpv˂rXdrtAr˂plJtbHAZpbdQZ|˂pZlJtApvndrtAJ~f`˂pZpvn˂rXQtbnbJQrlJtArXQrtAJl~fZHlJtAvnXrtAJl~f`Abے`XnvˍJltvXnZHAbnXv`QJ`ےJltZHAbArd|rXQdrtAHAbےrd|Xv`fltbvXnHAbےXv`fJ`ےvp`v˂pZrdfJ`ےtbdAbے`rd|v`ftbdvXnہJXQrpfH~bdQZ|vpfH`JXQf~HbHAZpbdQZ|`JXQZdQbtJ`ےJltb`JXQrZdQbt~HfdQZ|vpfH`JXQr~HfbHAZpXnvHAbے~HfpbHAZpQZ|dJXQrZdQbt~HfpQZ|dvpfH˂p`Zf۝`vdrtA~f`r˂pfpv˂rXdtAJlr˂plJtbHAXQJ`QZdr˂pZlJtApvndrtAJ~f`˂pZpvn˂rXQpfH~`JXQrvnXrXQrtAJl˂pZHlJtAvnXrtAJl~f`QXb㉀XnvˍJltvXnZHAے`nXv`QJ`ےtbZHAbArd|ےbHtAJlHAbےrd|Xv`fltbvXnHAbےXv`fJ`ےf`v˂pZv`fJ`ےtbdAbے`rd|v`ftbdvXnۑpJAHrpfH~bdQZ|vpfHJXQrf~HbHAZpnvp`JXQZdQbtAZp˂tbdQZ`JXQrZdQbt~HfdQZ|vpfH`JXQr~HfbHAZpXnvHAbے~HfpbHAZpQZ|dJXQrZdQbt~HfpQZ|dvpfH󙐂ˁ`Zf۝`vdrtA~f`btlfpv˂rXfHf`r˂plJtrXQJ`|dr˂pZlJtApvndrtAJ~f`˂pZpvn˂rXQpfH~`JXQrvnXrXQrtAJl˂pZHlJtAvnXrtAJl~f`QXb㉀XnvˍJltvXnJtAd|nXv`QJ`ےvXnZHAbArd|ےbHtAJlHAbےrd|Xv`fltbvXnHAے`Xv`fJ`ےvpZHAbv`fJ`ےtbdAbے`rd|v`ftbdvXnۑpJAHrpfH~bdQZ|vpfHZdQbtf~HbHAZpvpfH`JXQZdQbtAZp˂tbdQZ`JXQrZdQbtHfpdQZ|vpfHJXQrb~HfbHAZpfH~ے`JX~HfpbHAZpQZ|dJXQrZdQbt~HfpQZ|dvpfH󙐉ۑf۝`vdrtA~f`lJtfpv˂rX~f`r˂plJtbHA|AJl˂pZlJtAvnrdrtAJ~f`tlJpvn˂rXQf`vXQr˂pvnXrXQrtAJl˂pZHlJtAvnXrtAJl~f`pJAHrXnvˍJltvXnArd|nXv`QJ`ےvXnZHAbArd|Zp˂tbnHAbےrd|XQJ`ےltbvXntAd|Xv`fJ`ےnvpZHAbv`fJ`ےtbdAbے`rd|v`ftbdvXnېˁ`ZQpfH~bdQZ|vpfHZdQbtf~HbHAZpvpfH`JXQZdQbtrXQJ`ۀvpf`JXQrZdQbtHAZpdQZ|vpfHZdQbt~HfbHAZpfH~ے`JX~HfpbHAZpQZ|dJXQrZdQbtHfpQZ|dvpfHXb㉀ۑf۝`vdrtA~f`lJtfpv˂rX~f`r˂plJtbHAHf`˂pZlJtA˂rXQdrtAJ~f`lJtApvn˂rXQf`vXQr˂pvnXrXQtAJl˂pZHlJtAvnrXrtAJl~f`pJAHrXnvˍJltvXnArd|nXv`QJ`ےvXnZHAbArd|Zp˂vXnHAbےrd|J`ےltbvXnrd|Xv`fJ`ےH~fZA`v`fJ`ےtbnAbے`rd|QJ`ےtbdvXnېˁ`ZQp|drbdQZ|vpfHZdQbtf~HbHAZpvpfH`JXQZdQbtrXQJ`pvpfH`JXQrZdQbtbHAZpdQZ|vpfHZdQbt~HfbHAZp`vXnJXQrbt~HfpbHAZp˅vpfHJXQrZdQbtHAZpQZ|dvpfHXAHr󙐂QtJldrtA~f`lJtfpv˂rX~f`r˂plJt˂rX~f`˂pZlJtA˂rXQdrtAJ~f`lJtApvn˂rXQvpflJtvnXrXQf`˂pZHlJtArXQrtAJl~f`ˁ`ZQXbtbAdZJltvXnArd|nXv`QJ`ےvXnZHAbArdQJ`ےvXnHAbےrd|J`ےltbvXnrd|Xv`fJ`ےH~fAd|v`fJ`ےvXnAbے`rd|J`ےtbdvXn㉀ۑpJ|drbdQZ|vpfHZdQbtf~HbHAZvpfH`JXQf~HXbHAZpvpfH`JXQrZdQbtbHAZpdQZ|vpfHZdQbt~HfbHAZp`vXnZdQbt~HfpbHAZpvpfHJXQrZdQbtbHAZpQZ|dvpfHAHr󙐂QtJldrtA~flJtfpvdrtA~f`r˂pv`f˂rX~f`˂pZlJtA˂rXQdrtAJ~f`lJtApvn˂rXQvp`lJtAvnXrXQ~f`˂pZHlJtArXQrtAJl~f`ˁ`ZQXbtbAdZJltZHAbArd|nXv`JltvXnZHAbە~HfpQJ`ےvXnHAbےrd|J`ےltbvXnrd|Xv`fJ`ےvXnrd|v`fJ`ےvXnAbے`rd|J`ےtbdvXn㉀ۑp|drbdQZ|`JXQZdQbtf~HbdQZ|vpfH`JXQvnXbHAXQvpfH`JXQrZdQbtbHAZpdQZ|vpfHZdQbt~HfbHAZvpfHZdQbt~HfpbHAZpvpfHJXQrZdQbtbHAZpQZ|dvpfH`ZQXbQtJldrtAr˂plJtfpvdrtA~f`r˂pv`fJ`ے~f`˂pZlJtA˂rXQdrtAJ~fZlJtApvndrtAdQ~f`lJtAvnXrXQ~f`˂pZHlJtArXQrtAJl~f`ۑpJAtbAdZJltZHAbArd|nXv`JltvXnZHAbە~HfpbHAZpvXnHAbےrdfJ`ےltbHAbےrd|Xv`fZ|dvXnrd|v`fJ`ےvXnAbے`rd|J`ےtbdvXnHr󙐂ˁ|drbdQZ|`JXQZdQbtf~HbdQZ|vpfH`JXQv󂀉rXQvpfH`JXQr~HfbHAZpdQZ|`JXQrZdQbt~HfrtAJlvpfHZdQbt~HfpbHAZpvpfHJXQrZdQbtbHAZpQZ|dvpfH`ZQXbQtJldrtAr˂plJtfpvdrtA~f`r˂p~HfpJ`ے~f`˂pZpvn˂rXQdrtAJ˂pZlJtApvntbdQ~vlJtAvnXrXQ~f`˂pZHlJtArXQrtAJl~frۑpJAtbAdZJltZHAbArd|nXv`JltvXnZHAbvnXbHAZpvXnHAbےXv`fJ`ےltbHAbےrd|Xv`fZ|dpfH~rd|v`fJ`ےvXnAbے`rdfJ`ےtbd˂pZHHr󙐉|drbdQZ|`JXQZdQbtf~HbdQZ|vpfH`JXQv`f󂀉bHvpfH`JXQr~HfbHAZpdQZ|`JXQrZdQbt~HfrtAJlf`vZdQbt~HfpbHAZdvpfHJXQr~HfpbHAZpQZ|dAbے`ۑpJAHrQtJldrtAr˂plJtfpvdrtA~f`r˂p~HfpAZd~f`˂pZpvn˂rXQdrtAJ˂pZlJtApvntdrXnvlJtAvnXrtAJl~f`˂pZHvnXrXQrtAJlJXQr󙐂ˁ`ZtbAdZJltZHAbArd|nXv`JltvXnZHAے`vnXrtAJbvXnHAbےXv`fJ`ےltbHAbےrd|Xv`ftAJlpfH~rd|v`ftbdvXnAbے`v`fJ`ےtbd˂pZHQXb㉀|drbdQZ|`JXQZdQbtfHfpbdQZ|vpfHJXQrv`pvdQZ|vpfH`JXQr~HfbHAZpdQZ|`JXQrZdQbt~HftbdQZf`vZdQbt~HfpQZ|dvpfHJXQr~HfpbHAZpQZ|dAbے`ۑpJAHrQtJldtAJlr˂plJtvndrtA~f`btlnXv`drtAJ~f`˂pZpvn˂rXQdrtAJ˂pZlJtApvn|drXH~lJtAvnXrtAJl~f`˂pZHvnXrXQrtAJlJXQHA󙐂ˁ`tbAdZtbZHAbArd|rXQJ`JltvXnJtAd|f~HltbvXnHAbےXv`fJ`ےltbHAbےrd|Xv`ftAJlfZHAbrd|v`ftbdvXnAbے`v`fJ`ےtbdbے`pfH~|drnvp`JXQZdQbtHAZpbdQZ|vpfHZdQbtfpvdQZ|vpfH`JXQr~HfbHAZpdQZ|`JXQrZdQbtHfptbdQZJQrZdQbt~HfpQZ|dvpfHJXQr~HfpbHAZpQZ|dJXQrːf۝`vQtJlfHf`r˂plJt˂rXdrtA~f`lJtnXv`drtAJ~f`˂pZpvn˂rXQdtAJl˂pZlJtAvnr|lt˂pZHlJtAvnXrtAJl~f`˂pZHvnXrXQrtAJlpZHAXnvˍtbAdZvXnZHAbArd|QJ`ےJltvXnArd|f~HltbQvXnHAے`Xv`fJ`ےtbnHAbےrd|XQJ`ےbdQZ|Abے`rd|v`ftbdvXnAbے`v`fJ`ےtbdbے`pfH~|drvpfH`JXQZdQbtbHAZpbdQZ|vpfHZdQbtXv`ZdrtvpfHJXQrb~HfbHAZpvpf`JXQrZdQbtHAZpdrtAJXQrZdQbt~HfpQZ|dvpfHJXQr~HfpbHAZpQZ|dJXQrːf۝`vQtJl~f`r˂plJt˂rXdrtA~f`lJtf~HAJlt~f`tlJpvn˂rXQHf`˂pZlJtA˂rXQJlt˂pZHlJtAvnXrtAJl~f`˂pZHvnXrXQtAJlp`JXXnvˍtbAdZvXnZHAbArd|QJ`ےJltvXnArd|fpvbdQZ|vXntAd|Xv`fJ`ےvXnHAbےrd|J`ےbdQZ|Abے`rd|v`ftbdvXnAے`v`fJ`ےtbnQr˂ppfH~|drvpfH`JXQZdQbtbHAZpbdQZ|vpfHZdQbtnXv`ˁdrtvpfHZdQbt~HfbHAZpvpfH`JXQrZdQbtbHAZpdrtAJXQrZdQbtHfpQZ|dvpfHJXQrbt~HfpbHAZp˅vpfHZHAbf۝`vQtJl~f`r˂plJt˂rXdrtA~f`lJtf~HAJlt~f`lJtApvn˂rXQ~f`˂pZlJtA˂rXQdQZ|ZHAblJtAvnrXrtAJl~f`lJtvnXrXQf`ے`JXXnvˍtbAdZvXnZHAbArd|QJ`ےJltvXnArd|fpvbdQZ|vXnrd|Xv`fJ`ےvXnHAbےrd|J`ےdrtAJے`JXQrd|QJ`ےtbdvXnAd|v`fJ`ےvXnQr˂ppfH~|drvpfH`JXQZdQbtbHAZpbdQZ|vpfHZdQbt~HfprAJlvpfHZdQbt~HfbHAZpvpfH`JXQrZdQbtbHAZpltbr˂pZdQbtHAZpQZ|dvpfHZdQbt~HfpbHAZpvpfHZHAbf۝`vQtJl~f`r˂plJt˂rXdrtA~flJtvnXtbdQ~f`lJtApvn˂rXQ~f`˂pZlJtA˂rXQdQZ|ZHAblJtArXQrtAJl~f`lJtAvnXrXQ~f`˂pXnvˍtbAdZvXnZHAbArdQJ`ےJltZHAbArd|v`fZ|dvXnrd|Xv`fJ`ےvXnHAbےrd|J`ےdrtAJے`JXQrd|J`ےtbdvXnrd|v`fJ`ےvXnZHAbpfH~|drvpfH`JXQf~HbHAZpbdQZ|`JXQZdQbt~HfprtAJlvpfHZdQbt~HfbHAZpvpfH`JXQrZdQbtbHAZpltdr˂pZdQbtbHAZpQZ|dvpfHZdQbt~HfpbHAZpvpfH`JXQf۝`vQtJl~f`r˂pfpv˂rXdrtAr˂plJtvnXtbdQ~f`lJtApvn˂rXQ~f`˂pZlJtA˂rXQrtAJlZAb`lJtArXQrtAJl~f`lJtAvnXrXQ~f`r˂pXnvˍtbAdZ|666666666666666666666666666666666666666666667777777 \ No newline at end of file diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv35_0.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv35_0.dat deleted file mode 100644 index 712d99df8a..0000000000 --- a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv35_0.dat +++ /dev/null @@ -1,313 +0,0 @@ -~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijihghghghgcccdcdcdbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYZYZYXWXWXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQNMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABA@?@?@?@?>=>=>=>=~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijihghghghgcdcdcdcdbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWXWXWVUVUVUVUVUVUTSTSTSTSRQRQRQRQNMNMNMNMLKKKKKKLJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABA@?@?@?@?>=>=>=>=~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijihghghghgcdcdcdcdbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUVUVUTSTSTSTSTSTSRQRQRQRQNMNMNMNMKLKLKLKLJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABA@?@?@?@?>=>=>=>=~}~}~}~}|{{{{{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijihghghghgcdcdcdcdbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSTSTSRQRQRQRQRQRQNMNMNMNMKLKLKLKLJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABA@?@?@?@?>=>=>=>=~}~}~}~}|{|{|{zyzyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijihghghghgcdcdcdcdbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQRQRQPOPONMNMNMNMKLKLKLKLJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABA@?@?@?@?>=>=>=>=~}~}~}~}zyzyzyzyzyzyzyxwxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijihghghghgccccccdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMKLKLKLKLJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABA@?@?@?@?>=>=>=>=~}~}~}~}zyzyzyzyxwxwxwxwxwxwxwvuvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijihgfefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMKLKLKKKKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABA@?@?@?@?>=>=>=>=~}~}~}~}zyzyzyzyxwxwxwxwvuvuvuvuvuvuvutststststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijifefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMKKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABA@?@?@?@?>=>=>=>=|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutststststststsrqrqrqrqrqpopopoponmnmnmnmlklklklkjijijijifefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABA@?@?@?@?>=>=>=>={{{{{|{|zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqrqrqrqpopopopoponmnmnmnmlklklklkjijijijifefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABA@?@?@?@?>=>=>=>={|{|{|{|zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopopopopoponmnmnmnmnmlklklklkjijijijifefefefedcdcccccbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABA@?@?@?@?>=>=>=>={|{|{|{|zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmnmnmnmlklklklklkjijijijifefefefecdcdcdcdbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABA@?@?@?@?>=>=>=>={|{|{|{|zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmlklklklklklklkjijijijijifefefefecdcdcdcdbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMKKKKKLKLJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABA@?@?@?@?>=>=>=>=<;<;<;<;{|{|{|{|zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijijijijihgfefefefecdcdcdcdbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMKLKLKLKLJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABA@?@?@?@?>=>=>=>=<;<;<;<;{|{{{{{{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijihghghghgfefefefecdcdcdcdbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMKLKLKLKLJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABA@?@?@?@?>=>=>=>=<;<;<;<;~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijihghghghgfefefefecdcdcdccbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMKLKLKLKLJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABA@?@?@?@?>=>=>=>=<;<;<;<;~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijihghghghgfefefefeccccdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMKLKLKLKLJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABA@?@?@?@?>=>=>=>=<;<;<;<;~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMKLKKKKKKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABA@?@?@?@?>=>=>=>=<;<;<;<;~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABA@?@?@?@?>=>=>=>=<;<;<;<;~}~}~}~}|{|{|{{{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABA@?@?@?@?>=>=>=>=<;<;<;<;~}~}~}~}{{{|{|{|zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABA@?@?@?@?>=>=>=>=<;<;<;<;~}~}~}~}{|{|{|{|zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijihghghghgfefefefedccccccdbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABA@?@?@?@?>=>=>=>=<;<;<;<;~}~}~}~}{|{|{|{|zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijihghghghgfefefefecdcdcdcdbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKLKLKKKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABA@?@?@?@?>=>=>=>=<;<;<;<;~}~}~}~}{|{|{|{|zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijihghghghgfefefefecdcdcdcdbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMKKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABA@?@?@?@?>=>=>=>=<;<;<;<;~}~}~}~}{|{|{|{|zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijihghghghgfefefefecdcdcdcdbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKJIJIJIJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABA@?@?@?@?>=>=>=>=<;<;<;<;~}~}~}~}{{{{{{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijihghghghgfefefefecdcdcdcdbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMJIJIJIJIJIHGHGHGHGHGHGHGFEFEFEFEDCDCDCDCBABABABA@?@?@?@?>=>=>=>=<;<;<;<;~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijihghghghgfefefefecdcdccccbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMJIJIJIJIHGHGHGHGHGFEFEFEFEFEFEFEDCDCDCDCBABABABA@?@?@?@?>=>=>=>=<;<;<;<;~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijihghghghgfefefefeccdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMLKLKJIJIJIJIHGHGHGHGFEFEFEFEFEDCDCDCDCDCDCDCBABABABA@?@?@?@?>=>=>=>=<;<;<;<;~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPOLKLKKKKKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCDCBABABABABABABA@?@?@?@?>=>=>=>=<;<;<;<;~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPOKLKLKLKLJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABABA@?@?@?@?@?@?@?>=>=>=>=<;<;<;<;~}~}~}~}|{|{{{{{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPOKLKLKLKLJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABA@?@?@?@?@?>=>=>=>=>=>=>=<;<;<;<;~}~}~}~}{|{|{|{|zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPOKLKLKLKLJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABA@?@?@?@?>=>=>=>=>=<;<;<;<;<;<;<;~}~}~}~}{|{|{|{|zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijihghghghgfefefefeccccdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPOKLKLKLKLJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABA@?@?@?@?>=>=>=>=<;<;<;<;<;<;<;<;~}~}~}~}{|{|{|{|zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijihghghghgfefefefedcdcbabababababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPOKLKLKLKKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABA@?@?@?@?>=>=>=>=<;<;<;<;<;<;<;<;~}~}~}~}{|{|{|{|zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijihghghghgfefefefebabababababa`_`_`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPOKKKKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABA@?@?@?@?>=>=>=>=<;<;<;<;<;<;<;<;~}~}~}~}{|{|{|{{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijihghghghgfefefefebabababa`_`_`_`_`_`_^]^]^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQNMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABA@?@?@?@?>=>=>=>=<;<;<;<;<;<;<;<;~}~}~}~}{{{{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijihghghghgfefefedcbabababa`_`_`_`_^]^]^]^]^]^]\[\[\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQNMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABA@?@?@?@?>=>=>=>=<;<;<;<;<;<;<;<;~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijihghghghgdcdcdcccbabababa`_`_`_`_^]^]^]^]\[\[\[\[\[\[ZYZYZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQNMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABA@?@?@?@?>=>=>=>=<;<;<;<;<;<;<;<;<;<;<;<;:9:9:9:96565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - <;<;<;<;:9:9:9:96565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - <;<;<;<;:9:9:9:96565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - <;<;<;<;:9:9:9:96565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - <;<;<;<;:9:9:9:96565656533333434212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - <;<;<;<;:9:9:9:96565656534343434212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - <;:9:9:9:9:9:9:96565656534343434212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - :9:9:9:9:98787876565656534343434212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - :9:9:9:9878787876565656534343434212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - :9:9:9:9878787876565656534333333212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - :9:9:9:9878787876565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - :9:9:9:9878787876565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - :9:9:9:9878787876565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - :9:9:9:9878787876565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - :9:9:9:9878787876565656543434333212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - :9:9:9:9878787876565656533343434212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - :9:9:9:9878787876565656534343434212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - :9:9:9:9878787876565656534343434212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - :9:9:9:9878787876565656534343434212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - :9:9:9:9878787876565656534343434212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - :9:9:9:9878787876565656533333343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - :9:9:9:9878787876565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - :9:9:9:9878787876565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - :9:9:9:9878787876565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!         - - - - :9:9:9:9878787876565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!           - - - - :9:9:9:9878787876565656543433333212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - - :9:9:9:9878787876565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - - - - :9:9:9:9878787876565656521212121212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - :9:9:9:98787878765656565212121210/0/0/0/0/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!      - - - - :9:9:9:98787878765656565212121210/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!    - - - - :9:9:9:98787878765434343212121210/0/0/0/.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!    - - - - :9:9:9:98787878743333334212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!    - - - - :9:9:9:98787878734343434212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('('('('('&%&%&%&%$#$#$#$#"!"!"!"!    - - - - :9:9:9:98787878734343434212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%&%&%&%&%$#$#$#$#"!"!"!"!    - - - - :9:9:9:98787878734343434212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!    - - - - :9:9:9:98787878734343434212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!"!"!"!"!    - - - - :9:9:9:98787878734343333212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - :9:9:9:98787876533434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - -  ==>>??@@FFEEDDCCaabbccdd@@??>>==YYZZ[[\\HHGGFFEEQQRRSSTTPPOONNMMIIJJKKLLXXWWVVUUAABBCCDDQQKKJJIIssttuuvv~~##""!! vvwwxxyy++**))((nnooppqq33221100ffgghhii""!!  mmllkkjj8899::;;iihhggff00112233qqppoonn(())**++yyxxwwvv !!""##AABBCCDDBBAA@@??eeffgghh<<;;::99]]^^__``DDCCBBAAUUVVWWXXLLKKJJIIMMNNOOPPTTSSRRQQEEFFGGHHHHGGFFEEwwxxyyzzzz{{||}}''&&%%$$rrssttuu//..--,,jjkkllmm - - - - iihgfedc<<==>>??eeddccbb44556677mmllkkjj,,--..//uuttssrr$$%%&&''EEFFGGHH>>==<<;;iijjkkll88776655aabbccdd@@??>>==YYZZ[[\\HHGGFFEEQQRRSSTTPPOONNMMIIJJKKLLDDCCBBAA{{ - -~~##""!! vvwwxxyy++**))((nnooppqq !!cbbaa``_@@AABBCCaa``__^^8899::;;iihhggff00112233qqppoonn(())**++{{IIJJKKQQ::998765mmnnoopp44332211eeffgghh<<;;::99]]^^__``DDCCBBAAUUVVWWXXLLKKJJIIMMNNOOPP@@??>>==  zz{{||}}''&&%%$$rrssttuu !!"" - -""##$$%%_^^]]\\[DDEEFFGG]]\\[[ZZ<<==>>??eeddccbb44556677mmllkkjj,,--..// zzyyxxwwRRSSTTUU43322110qqrrsstt00//..--iijjkkll88776655aabbccdd@@??>>==YYZZ[[\\HHGGFFEEQQRRSSTT<<;;::99 - - ~~##""!! vvwwxxyy - -##$$%%&&~~}}||{{ &&''(())[ZZYYXXWHHIIJJKKYYXXWWVV@@AABBCCaa``__^^8899::;;iihhggff00112233!!""##$$vvuuttssVVWWXXYY0//..--,uuvvwwxx,,++**))mmnnoopp44332211eeffgghh<<;;::99]]^^__``DDCCBBAAUUVVWWXX33221100 zz{{||}} ~}|{{''(())**zzyyxxww !!"" - -**++,,--WVVUUTTSLLMMNNOOUUTTSSRRDDEEFFGG]]\\[[ZZ<<==>>??eeddccbb44556677%%&&''((rrqqppooZZ[[\\]],++**))(yyzz{{||((''&&%%qqrrsstt00//..--iijjkkll88776655aabbccdd@@??>>==YYZZ[[\\//..--,,  - - ~~zzyyxxww++,,--..vvuuttss##$$%%&&~~}}||{{ ..//0011SRRQQPONPPQQRRSSQQPPOONNHHIIJJKKYYXXWWVV@@AABBCCaa``__^^8899::;;~~}}))**++,,nnmmllkk^^__``aa(''&&%%$}}~~$$##""!!uuvvwwxx,,++**))mmnnoopp44332211eeffgghh<<;;::99]]^^__``++**))(( - -   - - vvuuttss//001122rrqqppoo''(())**zzyyxxww !!""223399::MLKKJJIITTUUVVWWMMLLKKJJLLMMNNOOUUTTSSRRDDEEFFGG]]\\[[ZZ<<==>>??||{{zzyy--..//00jjiiccbbbbcciijj$##""!! yyzz{{||((''&&%%qqrrsstt00//..--iijjkkll88776655aabbccdd''&&%%$$  - -  rrqqppoo33445566nnmmllkk++,,--..vvuuttss##$$%%&&~~}}||{{;;<<==>>HHGGFFEEXXYYZZ[[IIHHGGFFPPQQRRSSQQPPOONNHHIIJJKKYYXXWWVV@@AABBCCxxwwvvuu11223344aa``__^^kkllmmnn}}~~$$##""!!uuvvwwxx,,++**))mmnnoopp44332211eeffgghh##""!! - -  nnmmllkk778899::jjiihhgg//001122rrqqppoo''(())**zzyyxxww !!""??@@AABBDDCCBBAA\\]]^^__EEDDCCBBTTUUVVWWMMLLKKJJLLMMNNOOUUTTSSRRDDEEFFGGttssrrqq55667788]]\\[[ZZooppqqrr yyzz{{||((''&&%%qqrrsstt00//..--iijjkkll  - - jjiihgfe;;<<==>>ffeeddcc33445566nnmmllkk++,,--..vvuuttss##$$%%&&~~}}||{{{{zzyyCCDDEEFF@@??>>==``aabbccAA@@??>>XXYYZZ[[IIHHGGFFPPQQRRSSQQPPOONNHHIIJJKKppoonnmm99::;;<>??@@UUTTSSRRwwxxyyzz  yyzz{{||((''&&%%qqrrsstt !! !!""##$$`__^^]]\CCDDEEFF^^]]\\[[;;<<==>>ffeeddcc33445566nnmmllkk++,,--..vvuuttss##$$%%&&ttssrrqqKKQQRRSS87654332hhiijjkk99887766``aabbccAA@@??>>XXYYZZ[[IIHHGGFFPPQQRRSS~~hhggffeeAABBCCDDQQKKJJII{{ - - - - }}~~$$##""!!uuvvwwxx ""##$$%%~~}}|| - - %%&&''((\[[ZZYYXGGHHIIJJZZYYXXWW??@@AABBbbaa``__778899::jjiihhgg//001122rrqqppoo''(())**ppoonnmmTTUUVVWW21100//.llmmnnoo55443322ddeeffgg==<<;;::\\]]^^__EEDDCCBBTTUUVVWW}}||{{zzddccbbaaEEFFGGHHHHGGFFEE   yyzz{{|| - - ~}|&&''(()){{zzyyxx !! ))**++,,XWWVVUUTKKLLMMNNVVUUTTSSCCDDEEFF^^]]\\[[;;<<==>>ffeeddcc33445566nnmmllkk++,,--..llkkjjiiXXYYZZ[[.--,,++*ppqqrrss1100//..hhiijjkk99887766``aabbccAA@@??>>XXYYZZ[[yyxxwwvv``__^^]]IIJJKKLLDDCCBBAA - - }}~~{{zzyyxx**++,,--wwvvuutt""##$$%%~~}}|| - - --..//00TSSRRQQPOOPPQQRRRRQQPPOOGGHHIIJJZZYYXXWW??@@AABBbbaa``__778899::jjiihhgg//001122ccbbaa``\\]]^^__*))((''&ttuuvvww--,,++**llmmnnoo55443322ddeeffgg==<<;;::\\]]^^__uuttssrr\\[[ZZYYMMNNOOPP@@??>>== - -   - -wwvvuutt..//0011ssrrqqpp&&''(()){{zzyyxx !!11223399ONMLKKJJSSTTUUVVNNMMLLKKKKLLMMNNVVUUTTSSCCDDEEFF^^]]\\[[;;<<==>>ffeeddcc33445566__^^]]\\``aabbcc&%%$$##"xxyyzz{{))((''&&ppqqrrss1100//..hhiijjkk99887766``aabbccqqppoonnXXWWVVUUQQRRSSTT<<;;::99  - -  ssrrqqpp22334455oonnmmll**++,,--wwvvuutt""##$$%%~~}}||::;;<<==IIHHGGFFWWXXYYZZJJIIHHGGOOPPQQRRRRQQPPOOGGHHIIJJZZYYXXWW??@@AABBbbaa``__778899::[[ZZYYXXiijjkkll"!! ||}}~~%%$$##""ttuuvvww--,,++**llmmnnoo55443322ddeeffggmmllkkjjTTSSRRQQUUVVWWXX33221100 - -  oonnmmll66778899kkjjiihh..//0011ssrrqqpp&&''(()){{zzyyxx !!>>??@@AAEEDDCCBB[[\\]]^^FFEEDDCCSSTTUUVVNNMMLLKKKKLLMMNNVVUUTTSSCCDDEEFF^^]]\\[[;;<<==>>WWVVUUTTmmnnoopp!! xxyyzz{{))((''&&ppqqrrss1100//..hhiijjkkiihhggffPPOONNMMYYZZ[[\\//..--,,  - - kkjjiihg::;;<<==ggffeedd22334455oonnmmll**++,,--wwvvuutt""##$$%%~~}}||{{zzBBCCDDEEAA@@??>>__``aabbBBAA@@??WWXXYYZZJJIIHHGGOOPPQQRRRRQQPPOOGGHHIIJJZZYYXXWW??@@AABBSSRRQQKKqqrrsstt||}}~~%%$$##""ttuuvvww--,,++**llmmnnooeeddccbbLLKKJJII]]^^__``++**))(( - - fedccbba>>??@@AAccbbaa``66778899kkjjiihh..//0011ssrrqqpp&&''(()){{zzyyxx !!yyxxwwvvFFGGHHII==<<;;::ccddeeff>>==<<;;[[\\]]^^FFEEDDCCSSTTUUVVNNMMLLKKKKLLMMNNVVUUTTSSCCDDEEFFJJIIHHGGuuvvwwxx!! xxyyzz{{))((''&&ppqqrrssaa``__^^HHGGFFEEaabbccdd''&&%%$$  !!""##a``__^^]BBCCDDEE__^^]]\\::;;<<==ggffeedd22334455oonnmmll**++,,--wwvvuutt""##$$%%uuttssrrJJKKQQRR99876543gghhiijj::998877__``aabbBBAA@@??WWXXYYZZJJIIHHGGOOPPQQRRRRQQPPOOGGHHIIJJFFEEDDCCyyzz{{ ||}}~~%%$$##""ttuuvvww]]\\[[ZZDDCCBBAAeeffgghh##""!!!!""##$$~~}} - - $$%%&&'']\\[[ZZYFFGGHHII[[ZZYYXX>>??@@AAccbbaa``66778899kkjjiihh..//0011ssrrqqpp&&''(())qqppoonnSSTTUUVV3221100/kkllmmnn66554433ccddeeff>>==<<;;[[\\]]^^FFEEDDCCSSTTUUVVNNMMLLKKKKLLMMNNBBAA@@?? - - !! xxyyzz{{YYXXWWVV@@??>>==iijjkkll%%&&''((||{{zzyy  (())**++YXXWWVVUJJKKLLMMWWVVUUTTBBCCDDEE__^^]]\\::;;<<==ggffeedd22334455oonnmmll**++,,--mmllkkjjWWXXYYZZ/..--,,+ooppqqrr221100//gghhiijj::998877__``aabbBBAA@@??WWXXYYZZJJIIHHGGOOPPQQRR>>==<<;; - -||}}~~UUTTSSRR<<;;::99mmnnoopp))**++,,xxwwvvuu!!""##$$~~}} - - ,,--..//UTTSSRRQNNOOPPQQSSRRQQPPFFGGHHII[[ZZYYXX>>??@@AAccbbaa``66778899kkjjiihh..//0011iiccbbaa[[\\]]^^+**))(('ssttuuvv..--,,++kkllmmnn66554433ccddeeff>>==<<;;[[\\]]^^FFEEDDCCSSTTUUVV::993322 QQPPOONN88776655qqrrsstt~}|--..//00ttssrrqq%%&&''((||{{zzyy  00112233QPONMLKKRRSSTTUUOONNMMLLJJKKLLMMWWVVUUTTBBCCDDEE__^^]]\\::;;<<==ggffeedd22334455``__^^]]__``aabb'&&%%$$#wwxxyyzz**))((''ooppqqrr221100//gghhiijj::998877__``aabbBBAA@@??WWXXYYZZ1100//.. - -MMLLKKJJ44332211uuvvwwxx {{zzyyxx11223344ppoonnmm))**++,,xxwwvvuu!!""##$$~~}}99::;;<>??@@AAccbbaa``66778899\\[[ZZYYcciijjkk#""!! {{||}}~~&&%%$$##ssttuuvv..--,,++kkllmmnn66554433ccddeeff>>==<<;;[[\\]]^^--,,++** - -  IIHHGGFF00//..--yyzz{{|| - - - -wwvvuutt55667788llkkjjii--..//00ttssrrqq%%&&''((||{{zzyy ==>>??@@FFEEDDCCZZ[[\\]]GGFFEEDDRRSSTTUUOONNMMLLJJKKLLMMWWVVUUTTBBCCDDEE__^^]]\\::;;<<==XXWWVVUUllmmnnoo""!! wwxxyyzz**))((''ooppqqrr221100//gghhiijj::998877__``aabb))((''&&  - -EEDDCCBB,,++**))}}~~ ssrrqqpp99::;;<>??@@AATTSSRRQQppqqrrss{{||}}~~&&%%$$##ssttuuvv..--,,++kkllmmnn66554433ccddeeff%%$$##"" - -  AA@@??>>((''&&%%oonnmmll==>>??@@ddccbbaa55667788llkkjjii--..//00ttssrrqq%%&&''((||{{zzyy zzyyxxwwEEFFGGHH>>==<<;;bbccddee??>>==<>??@@ddccbbaa55667788llkkjjii--..//00ttssrrqq%%&&''((rrqqppooRRSSTTUU43322110jjkkllmm77665544bbccddee??>>==<>==<< {{||}}~~&&%%$$##ssttuuvv !!""##~~ - - 1100//..$$%%&&'']\\[[ZZYMMNNOOPPTTSSRRQQEEFFGGHH\\[[ZZYY==>>??@@ddccbbaa55667788llkkjjii--..//00jjiiccbbZZ[[\\]],++**))(rrssttuu//..--,,jjkkllmm77665544bbccddee??>>==<>??@@ddccbbaa55667788]]\\[[ZZbbcciijj$##""!! zz{{||}}''&&%%$$rrssttuu//..--,,jjkkllmm77665544bbccddee??>>==<>??@@UUTTSSRRooppqqrrzz{{||}}''&&%%$$rrssttuu//..--,,jjkkllmm77665544bbccddee&&%%$$## - - - -  qqppoonn44556677mmllkkjj,,--..//uuttssrr$$%%&&''}}||{{zz xxwwvvuu--..//00ttssrrqq%%&&''((||{{zzyy  00112233QPONMLKKRRSSTTUUOONNMMLLJJKKLLMMWWVVUUTTBBCCDDEE__^^]]\\::;;<<==ggffeedd22334455]]\\[[ZZooppqqrr - - ttssrrqq11223344ppoonnmm))**++,,xxwwvvuu!!""##$$~~}}99::;;<>??@@AAccbbaa``66778899YYXXWWVVssttuuvvppoonnmm55667788llkkjjii--..//00ttssrrqq%%&&''((||{{zzyy ==>>??@@FFEEDDCCZZ[[\\]]GGFFEEDDRRSSTTUUOONNMMLLJJKKLLMMWWVVUUTTBBCCDDEE__^^]]\\::;;<<==UUTTSSRRwwxxyyzz - -llkkjjii99::;;<>??@@AAQQKKJJII{{ - - hgfedccb==>>??@@ddccbbaa55667788llkkjjii--..//00ttssrrqq%%&&''((||{{zzyy zzyyxxwwEEFFGGHH>>==<<;;bbccddee??>>==<>??@@ddccbbaa55667788llkkjjii--..//00ttssrrqq%%&&''((rrqqppooRRSSTTUU43322110jjkkllmm77665544bbccddee??>>==<>==''(())**ZYYXXWWVIIJJKKLLXXWWVVUUAABBCCDD``__^^]]99::;;<>??@@ddccbbaa55667788llkkjjii--..//00jjiiccbbZZ[[\\]],++**))(rrssttuu//..--,,jjkkllmm77665544bbccddee??>>==<>??@@ddccbbaa55667788]]\\[[ZZbbcciijj$##""!! zz{{||}}''&&%%$$rrssttuu//..--,,jjkkllmm77665544bbccddee??>>==<>??GGFFEEDDYYZZ[[\\HHGGFFEEQQRRSSTTPPOONNMMIIJJKKLLXXWWVVUUAABBCCDD``__^^]]99::;;<>??@@UUTTSSRRooppqqrrzz{{||}}''&&%%$$rrssttuu//..--,,jjkkllmm77665544bbccddee##""!!~~}}||**++,,--{{zzyyxxDDEEFFGG??>>==<>==YYZZ[[\\HHGGFFEEQQRRSSTTPPOONNMMIIJJKKLLXXWWVVUUAABBCCDDQQKKJJIIssttuuvv~~##""!! vvwwxxyy++**))((nnooppqq33221100ffgghhii{{zzyyxx..//0011 !!""##wwvvuuttHHIIJJKK;;::9987eeffgghh<<;;::99]]^^__``DDCCBBAAUUVVWWXXLLKKJJIIMMNNOOPPTTSSRRQQEEFFGGHHHHGGFFEEwwxxyyzzzz{{||}}''&&%%$$rrssttuu//..--,,jjkkllmmwwvvuutt22334455$$%%&&''ssrrqqppQQRRSSTT65433221iijjkkll88776655aabbccdd@@??>>==YYZZ[[\\HHGGFFEEQQRRSSTTPPOONNMMIIJJKKLLDDCCBBAA{{ - -~~##""!! vvwwxxyy++**))((nnooppqqssrrqqpp66778899(())**++oonnmmllUUVVWWXX100//..-mmnnoopp44332211eeffgghh<<;;::99]]^^__``DDCCBBAAUUVVWWXXLLKKJJIIMMNNOOPP@@??>>==  zz{{||}}''&&%%$$rrssttuu oonnmmll::;;<<==,,--..//kkjjiiccYYZZ[[\\-,,++**)qqrrsstt00//..--iijjkkll88776655aabbccdd@@??>>==YYZZ[[\\HHGGFFEEQQRRSSTT<<;;::99 - - ~~##""!! vvwwxxyy - - - -kkjjiihh>>??@@AA00112233bbaa``__]]^^__``)((''&&%uuvvwwxx,,++**))mmnnoopp44332211eeffgghh<<;;::99]]^^__``DDCCBBAAUUVVWWXX33221100 zz{{||}} ggffeeddBBCCDDEE44556677^^]]\\[[aabbccii%$$##""!yyzz{{||((''&&%%qqrrsstt00//..--iijjkkll88776655aabbccdd@@??>>==YYZZ[[\\//..--,,  - - ~~ccbbaa``FFGGHHII8899::;;ZZYYXXWWjjkkllmm! }}~~$$##""!!uuvvwwxx,,++**))mmnnoopp44332211eeffgghh<<;;::99]]^^__``++**))(( - -  __^^]]\\JJKKLLMM<<==>>??VVUUTTSSnnooppqq yyzz{{||((''&&%%qqrrsstt00//..--iijjkkll88776655aabbccdd''&&%%$$  - - [[ZZYYXXNNOOPPQQ@@AABBCCRRQQKKJJrrssttuu}}~~$$##""!!uuvvwwxx,,++**))mmnnoopp44332211eeffgghh##""!! - -  !!""##WWVVUUTTRRSSTTUUDDEEFFGGIIHHGGFFvvwwxxyy yyzz{{||((''&&%%qqrrsstt00//..--iijjkkll  - - $$%%&&''SSRRQQPPVVWWXXYYHHIIJJKKEEDDCCBBzz{{ }}~~$$##""!!uuvvwwxx,,++**))mmnnoopp - - (())**++OONNMMLLZZ[[\\]]LLMMNNOOAA@@??>> - -   yyzz{{||((''&&%%qqrrsstt !! ,,--..//KKJJIIHH^^__``aaPPQQRRSS==<<;;:: - - }}~~$$##""!!uuvvwwxx ""##$$%%~~}}|| - - 00112233GGFFEEDDbbccddeeTTUUVVWW99332211  yyzz{{|| - - ~}|&&''(()){{zzyyxx !! 99::;;<>??@@??>>==<>??@@AAccbbaa``66778899kkjjiihh..//0011ssrrqqpp&&''(()){{zzyyxx !!vvuuttssVVWWXXYY++**))((~~ppqqrrss  !!""##a``__^^]BBCCDDEE__^^]]\\::;;<<==ggffeedd22334455oonnmmll**++,,--wwvvuutt""##$$%%rrqqppooZZ[[\\]]''&&%%$$ttuuvvww !!""##$$~~}} - - $$%%&&'']\\[[ZZYFFGGHHII[[ZZYYXX>>??@@AAccbbaa``66778899kkjjiihh..//0011ssrrqqpp&&''(())nnmmllkk^^__``aa##""!! xxyyzz{{ - - ~%%&&''((||{{zzyy  (())**++YXXWWVVUJJKKLLMMWWVVUUTTBBCCDDEE__^^]]\\::;;<<==ggffeedd22334455oonnmmll**++,,--jjiiccbbbbcciijj||}}~~}|{{zzyy))**++,,xxwwvvuu!!""##$$~~}} - - ,,--..//UTTSSRRQNNOOPPQQSSRRQQPPFFGGHHII[[ZZYYXX>>??@@AAccbbaa``66778899kkjjiihh..//0011aa``__^^kkllmmnnbdQZ|vpf˂pZtlJv`fXQJ`ےJltH~fr˂p|ZdQbf~HXQJ`ےJltH~fp`JXQd|Z`f~J`ےltb~f`˂pZZdQbt~HfJ`ےltb~f`˂p`J~fpvHAZp˂Z|dXnvbے`lJtAdQbnXHfpv`ےbtbdQf`vtArdnXvZp˂|drnvpے`JJtArdnXvZp˂drtAH~fHAbےtArd~HfpbHAZbdQZ|`vXnZHAbtlJfpvbHAZbdQZ|`vXnr˂pdQbtHfpvbHAZpdQZ|vXnHAbےlJtApvnbHAZpdQZ|vXnXQr˂nXv`rXQJrtAJlpfH~JXQrd|Zv`fnrXQHAZp˂Z|dXnv|ZdQb`f~fprXQJ`tAJlfH~XQr˂|ZdQ`f~rXQJ`Jlt`vXn`JXQr|ZdQbvnXp˂rdrtAvpfے`JXQtArdnXv`p˂rdrtAvpfZHAbl|ZdQnXv˂rXQdrtAJvpfH`JXQrrd|Xv`f˂rXQdrtAJvpfHpZHAbf~H`ےbtbdQf`v˂pZHAdQbt~HfpJ`ےrbdQtAJlpfH~tl|vnXےbHAtbdQZf`vXpZHAbbtlHfpvےbHAbdQZ|vpf˂p`tl|v`f~XQJ`ےJltH~fr˂p|ZdQbf~HXQJ`ےJltH~fے`JXQbtl`ffpJ`ےltb~f`˂pZZdQbt~HfJ`ےltb~f`ے`JfpvHAZp˂Z|dXnvbے`lJtArvnXHAZp˂Z|dtbnf`vZdQbtv`fZp˂|drnvpے`JJtArdnXvZp˂drtAH~fJXQrZdQbtfpv㐙bHAZbdQZ|`vXnZHAbtlJfpvbHAZbdQZ|`vXnr˂pJtArdvnrbHAZpdQZ|vXnHAbےlJtApvnbHAZpdQZ|vXnXQr˂nXv`rXQJrtAJlpfH~JXQrd|Zv`frXQJrtAJlvpfHXnrlJtA~HfprXQJ`tAJlfH~XQr˂|ZdQ`f~rXQJ`Jlt`vXn˂pZHAlJtAnXv`p˂rdrtAvpfے`JXQtArdnXv`p˂rdrtAvpf`JXQr|ZdQXQJ`ے˂rbdtAJlvpfH`JXQrrd|Xv`f˂rXQdrtAJvpfHp`JXQf~fp`ےbtbdQf`v˂pZHAdQbt~Hfp`ےbtbdQf`v˂p`Jrd|vnXےbHAtbdQZf`vXpZHAbbtlHfpvےbHAbdQZ|vpfbے`rd|f~HXQJ`ےJltH~fr˂p|ZdQbf~HXQJ`ےJltH~f˂pZbtlHAZpdQZ|tbn~f`˂pZZdQbt~HfJ`ےltb~f`rbtvnXHAZp˂Z|dXnvbے`lJtArvnXHAZp˂Z|dXnvXQr˂ZdQbtv`f~Zp˂|drnvpے`JJtArdnXvZp˂drtAH~fJXQrZdQbtfpv㐙bHAZbdQZ|`vXnZHAbtlJfpvbHAZbdQZ|`vXnHAbے|ZdQb˂rXQdrtAJvpfvXnrHAے`lJtApvnbHAZpdQZ|vXnl|ZdQv`frXQJrtAJlpfH~JXQrd|Zv`frXQJrtAJlpfH~pZHAbl|ZfpvrXQJ`tAJlfH~XQr˂|ZdQ`f~rXQJ`Jlt`vXn˂p`Jl|ZnXv`fp˂rdrtAvpfے`JXQtArdnXv`p˂rdrtAvpf`JXQrnXv`J`ےltbHf`˂pZJXQrbrd|Xv`f˂rXQdrtAJvpfHbtl~Hfp`ےbtbdQf`v˂pZHAdQbt~Hfp`ےbtbdQf`vے`JdQbtnXv`ےbHAtbdQZf`vXpZHAbbtlHfpvےbHAbdQZ|vpfXQr˂dQbt璕~fpvXQJ`ےJltH~fr˂p|ZdQbf~HXQJ`ےJltH~f˂p`f~fpbHAZpdQZ|vXnHAbےtlJZdQbnHfpJ`ےltb~f`JtArdvnXHAZp˂Z|dXnvbے`lJtArvnXHAZp˂Z|dXnvXQr˂lJtArf~HZp˂|drnvpے`JJtArdnXvZp˂drtAH~fpZHAblJtArnXvbHAZbdQZ|`vXnZHAbtlJfpvbHAZbdQZ|`vXnJXQrvnX˂rXQdrtAJvpfH`JXQrtAd|Xv`fvnrbHAZpdQZ|vXn|ZdQv`f~rXQJrtAJlpfH~JXQrd|Zv`frXQJrtAJlpfH~p`JXQd|ZfpvrXQJ`tAJlfH~XQr˂|ZdQ`f~rXQJ`Jlt`vXnے`Jd|Z`f~p˂rdrtAvpfے`JXQtArdnXv`p˂rdrtAvpf˂pZHAv`fJ`ےltb~f`˂pZZdQbt~HfXQJ`ے˂rbdtAJlvpfHbtlfpv`ےbtbdQf`v˂pZHAdQbt~Hfp`ےbtbdQf`vr˂pdQbtnXv`ےbHAtbdQZf`vXpZHAbbtlHfpvےbHAbdQZ|vpfXQr˂dQbtHfpvXQJ`ےJltH~fr˂p|ZdQbf~HXQJ`ےJltH~fbے`~HfpbHAZpdQZ|vXnHAbےlJtApvnHAZpdQZ|tbn~f`|ZdQbnXv`HAZp˂Z|dXnvbے`lJtArvnXHAZp˂Z|dXnvZHAbl|ZdQf~fpZp˂|drnvpے`JJtArdnXvZp˂|drdrtAH~fp`JXQl|ZdQnXvbHAZbdQZ|`vXnZHAbtlJfpvbHAZbdQZ|`vXnJXQrvnX˂rXQdrtAJvpfH`JXQrrd|Xv`f˂rXQdrtAJvpfvXnrtlJf~HrXQJrtAJlpfH~JXQrd|Zv`frXQJrtAJlpfH~ے`JXQbtlvnXrXQJ`tAJlfH~XQr˂|ZdQ`f~rXQJ`tAJlJlt`vXnr˂pbtl`frQp˂rdtAJvpfے`JXQtArdnXv`p˂rdrtAvpf˂p`Jv`f~fJ`ےltb~f`˂pZZdQbt~HfJ`ےltbHf`˂p`tArdfpv`ےbtbdQf`v˂pZHAdQbt~Hfp`ےbtbdQf`vr˂pJtArdv`fےbHAtbdQZf`vXpZHAbbtlHfpvےbHAtbdQZbdQZ|vpfZHAbJtArdJHAZbdQZ|ltbH~fr˂p|ZdQbf~HXQJ`ےJltH~fXQrbtpvnbHAZpdQZ|vXnHAbےlJtApvnbHAZpdQZ|vXnJXQr|ZdQbnXv`fHAZp˂Z|dXnvbے`lJtArvnXHAZp˂Z|dXnv`JXQr|ZdQ~HfpZp˂|drnvpے`JJtArdnXvZp˂|drdrtAH~fے`JXQ|ZdQp˂rdrtAnvp`vXnZHAےtlJfpvbHAZbdQZ|`vXnl|ZXv`f˂rXQdrtAJvpfH`JXQrrd|Xv`f˂rXQdrtAJvpfH˂pZHAtl|~fpvrXQJrtAJlpfH~JXQrd|Zv`frXQJrtAJlpfH~˂pZbtlvnXrXQJ`tAJlfH~XQr˂|ZdQ`f~rXQJ`tAJlJlt`vXnr˂pbtlXQJ`ےJltfHfr˂p`JXQrtArdnXv`p˂rdrtAvpfdQbt璐~HfJ`ےltb~f`˂pZZdQbt~HfJ`ےltb~f`bے`ZdQbtnXv`ےbtbdQf`v˂pZHAdQbt~Hfp`ےbtbdQf`vHAbے|ZdQbv`f~fےbHAtbdQZf`vXpZHAbbtlHfpvےbHAtbdQZbdQZ|vpf`JXQr|ZdQbbHAZbdQZ|`vXnZHAbbtl|ZdQbfHfXQJ`ےJltH~flJtArpvnbHAZpdQZ|vXnHAbےlJtApvnbHAZpdQZ|vXnJXQrlJtA`f~HAZp˂Z|dXnvbے`lJtArvnXHAZp˂Z|dXnv`JXQrtlJpvnZp˂|drnvpے`JJtArdnXvZp˂|drdrtAH~f˂pZnXv`p˂rdrtAvpfے`JXQJtAdnXv`pvnbHAZbdQZ|`vXnd|ZXv`f˂rXQdrtAJvpfH`JXQrrd|Xv`f˂rXQdrtAJvpfH˂p`Jrd|HfpvrXQJrtAJlpfH~JXQrd|Zv`frXQJrtAJlpfH~˂p`tArdXv`frXQJ`tAJlfH~XQr˂|ZdQ`f~rXQJ`tAJlJlt`vXnHAbےf~fpXQJ`ےJltH~fr˂p|ZdQbf~HrXQJ`p˂rdtAJvpfdQbt~fpvJ`ےltb~f`˂pZZdQbt~HfJ`ےltb~f`XQr˂ZdQbtnXv`ےbtbdQf`v˂pZHAdQbt~Hfp`ےbtbdQf`vJXQr|ZdQb~HfےbHAtbdQZf`vXpZHAbbtlHfpvےbHAtbdQZbdQZ|vpf`JXQrvnXbHAZbdQZ|`vXnZHAbtlJfpvےHAZbdQZ|ltbH~fl|ZdQnXv`bHAZpdQZ|vXnHAbےlJtApvnbHAZpdQZ|vXnpZHAbl|Z`f~fpHAZp˂Z|dXnvbے`lJtArvnXHAZp˂Z|dXnv˂pZHAtl|pvnZp˂|drnvpے`JJtArdnXvZp˂|drdrtAH~f˂p`v`fp˂rdrtAvpfے`JXQtArdnXv`p˂rdrtAnvp`vXnbtlf~H˂rXQdrtAJvpfH`JXQrrd|Xv`f˂rXQdrtAJvpfHے`JdQbt璝vnXrXQJrtAJlpfH~JXQrd|Zv`frXQJrtAJlpfH~bے`ZdQbtXv`frXQJ`tAJlfH~XQr˂|ZdQ`f~rXQJ`tAJlJlt`vXnJXQr~HfpXQJ`ےJltH~fr˂p|ZdQbf~HXQJ`ےJltfHfr˂pJtArdfpvJ`ےltb~f`˂pZZdQbt~HfJ`ےltb~f`XQr˂lJtArv`f`ےbtbdQf`v˂pZHAdQbt~Hfp`ےbtbdQf`vJXQrlJtAfpvےbHAtbdQZf`vXpZHAbbtlHfpvےbHAtbdQZbdQZ|vpf˂pZHAvnXbHAZbdQZ|`vXnZHAbtlJfpvbHAZbdQZ|`vXn`JXQr|ZdQnXv`bHAZpdQZ|vXnHAbےlJtApvnbHAZpdQZ|vXnp`JXQd|Z~HfpHAZp˂Z|dXnvbے`lJtArvnXHAZp˂Z|dXnv˂p`Jrd|nrXQJZp˂|dtAnvpے`JJtArdnXvZp˂|drdrtAH~fbے`v`f~fp˂rdrtAvpfے`JXQtArdnXv`p˂rdrtAvpf˂pZbtlf~fp˂rXQdrtAJvpfH`JXQrrd|Xv`f˂rXQdrtAJvpfHr˂pdQbt璝vnXrXQJrtAJlpfH~JXQrd|Zv`frXQJrtAJlpfH~XQr˂ZdQbt`ےHArbdQZJltfH~XQr˂|ZdQ`f~rXQJ`tAJlJlt`vXnJXQrpvnXQJ`ےJltH~fr˂p|ZdQbf~HXQJ`ےJltH~fHAbے|ZdQbvnXJ`ےltb~f`˂pZZdQbt~HfJ`ےltb~f`ZHAbl|ZdQv`f~`ےbtbdQf`v˂pZHAdQbt~Hfp`ےbtbdQf`vpZHAbl|ZZp˂|drbnvf`vXpZHAbtlHfpvےbHAtbdQZbdQZ|vpf˂p|ZXv`fbHAZbdQZ|`vXnZHAbtlJfpvbHAZbdQZ|`vXn`JXQrtlJv`fbHAZpdQZ|vXnHAbےlJtApvnbHAZpdQZ|vXnے`JXQbtlfpvHAZp˂Z|dXnvbے`lJtArvnXHAZp˂Z|dXnvے`JdQbnXrXQJ`tAJlpfHnr˂ے`JXQJtArdnXvZp˂|drdrtAH~fdQbt璐~Hfp˂rdrtAvpfے`JXQtArdnXv`p˂rdrtAvpf˂p`tArd~Hfp˂rXQdrtAJvpfH`JXQrrd|Xv`f˂rXQdrtAJvpfHr˂pJtArdnXv`rXQJrtAJlpfH~JXQrd|Zv`frXQJrtAJlpfH~XQr˂v`f~ےbHAtbdQZf`vXpZHAbrbt|ZdQ`fHrXQJ`tAJlJlt`vXnlJtArpvnXQJ`ےJltH~fr˂p|ZdQbf~HXQJ`ےJltH~fJXQr|ZdQbvnXJ`ےltb~f`˂pZZdQbt~HfJ`ےltb~f``JXQr|ZdQf~H`ےbtbdQf`v˂pZHAdQbt~Hfp`ےbtbdQf`vp`JXQfpvZp˂|drnvpے`JlJtAdbnXvfpvےbHAtbdQZbdQZ|vpfd|ZXv`fbHAZbdQZ|`vXnZHAbtlJfpvbHAZbdQZ|`vXn˂pZHAtl|v`f~bHAZpdQZ|vXnHAbےlJtApvnbHAZpdQZ|vXn˂pZbtlfpvHAZp˂Z|dXnvbے`lJtArvnXHAZp˂Z|dXnvr˂pnXv`rXQJ`tAJlfH~XQr˂|ZdQ`f~nrXQJZp˂|drdrtAH~fdQbt~fpvp˂rdrtAvpfے`JXQtArdnXv`p˂rdrtAvpfbے`ZdQbtfpv˂rXQdrtAJvpfH`JXQrrd|Xv`f˂rXQdrtAJvpfHHAbے|ZdQbnXv`rXQJrtAJlpfH~JXQrd|Zv`frXQJrtAJlpfH~ZHAbf~HےbHAtbdQZf`vXpZHAbbtlHfpv`ےHArbdQZtAJlJlt`vXnl|ZdQnXv`XQJ`ےJltH~fr˂p|ZdQbf~HXQJ`ےJltH~fJXQrlJtAnXv`J`ےltb~f`˂pZZdQbt~HfJ`ےltb~f``JXQrtlJffpv`ےbtbdQf`v˂pZHAdQbt~Hfp`ےbtbdQf`vے`JXQfpvZp˂|drnvpے`JJtArdnXvZp˂|drtbdQZbdQZ|vpfbtlf~HbHAZbdQZ|`vXnZHAbtlJfpvbHAZbdQZ|`vXn˂p`Jrd|f~HbHAZpdQZ|vXnHAbےlJtApvnbHAZpdQZ|vXn˂p`tArdnrXQHAZp˂Z|dXnvbے`lJtArvnXHAZp˂Z|dXnvr˂pnXv`frXQJ`tAJlfH~XQr˂|ZdQ`f~rXQJ`tAJl|drdrtAH~fJtArdfpvp˂rdrtAvpfے`JXQtArdnXv`p˂rdrtAvpfXQr˂ZdQbtfpv˂rXQdrtAJvpfH`JXQrrd|Xv`f˂rXQdrtAJvpfHJXQr|ZdQbJ`ےrbdQtAJlpfH~JXQrd|Zv`frXQJrtAJlpfH~`JXQr~fpvےbHAtbdQZf`vXpZHAbbtlHfpvےbHAtbdQZtAJlJlt`vXn|ZdQnXv`XQJ`ےJltH~fr˂p|ZdQbf~HXQJ`ےJltH~fpZHAbl|ZnXv`fJ`ےltb~f`˂pZZdQbt~HfJ`ےltb~f`˂pZHAtl|HAZp˂Z|dtbnf`v˂pZHAdQbt~Hfp`ےbtbdQf`vbtlnXvZp˂|drnvpے`JJtArdnXvZp˂|drtbdQZbdQZ|r˂pbtlf~fpbHAZbdQZ|`vXnZHAbtlJfpvbHAZbdQZ|`vXnے`JdQbt璕~fpvbHAZpdQZ|vXnHAbےlJtApvnbHAZpdQZ|vXnbے`ZdQbnrXQJrtAJlvpfHXnrے`JlJtArvnXHAZp˂Z|dXnv|ZdQb`f~rXQJ`tAJlfH~XQr˂|ZdQ`f~rXQJ`tAJl|dr`vXn`JXQr|ZdQbvnXp˂rdrtAvpfے`JXQtArdnXv`p˂rdrtAvpfXQr˂lJtArnXv˂rXQdrtAJvpfH`JXQrrd|Xv`f˂rXQdrtAJvpfHJXQrXv`f`ےbtbdQf`v˂pZHAXQrbtd|Zv`frXQJrtAJlpfH~tlJHfpvےbHAtbdQZf`vXpZHAbbtlHfpvےbHAtbdQZtAJltbdQZf`vXtl|nXv`p˂rdrtAvpfے`JXQtArdnXv`p˂rdrtAvpf˂pZbtlf~fp˂rXQdrtAJvpfH`JXQrrd|Xv`f˂rXQdrtAJvpfHpZHAbpJAHrvˍpf|drnvpZdQbtf~HXQJ`ےJltH~fr˂p|ZdQbf~HXQJ`ےJltH~fHAbے|ZdQbvnXJ`ےltb~f`˂pZZdQbt~HfJ`ےltb~f`ے`Jˁ`ZH~ㅐftAJlfH~lJtAfpvbHAZbdQZ|`vXnZHAbtlJfpvbHAZbdQZ|`vXn`JXQrtlJv`fbHAZpdQZ|vXnHAbےlJtApvnbHAZpdQZ|vXnXQr˂QXb㉀۝`vXntbdQZf`vXrd|nXv`p˂rdrtAvpfے`JXQtArdnXv`p˂rdrtAvpf˂p`tArd~Hfp˂rXQdrtAJvpfH`JXQrrd|Xv`f˂rXQdrtAJvpfHp`JXQp`ZQXvˍp||dtAnvpZdQbtf~fpXQJ`ےJltH~fr˂p|ZdQbf~HXQJ`ےJltH~fJXQr|ZdQbvnXJ`ےltb~f`˂pZZdQbt~HfJ`ےltb~f`r˂pb㉀ۑpdrQtJltfH~l|ZvnXbHAZbdQZ|`vXnZHAbtlJfpvbHAZbdQZ|`vXn˂pZHAtl|v`f~bHAZpdQZ|vXnHAbےlJtApvnbHAZpdQZ|vXnZHAbJAHrJltbnvf`vXdQbtv`fp˂rdrtAvpfے`JXQtArdnXv`p˂rdrtAvpfbے`ZdQbtfpv˂rXQdrtAJvpfH`JXQrrd|Xv`f˂rXQdrtAJvpfHے`JXQˁ`ZQXbAdZ|pfHnr˂lJtAr~HfpXQJ`ےJltH~fr˂p|ZdQbf~HXQJ`ےJltH~fJXQrlJtAnXv`J`ےltb~f`˂pZZdQbt~HfJ`ےltb~f`r˂pb㉀XndrQtf`vXp`JXQd|ZvnXbHAZbdQZ|`vXnZHAbtlJfpvbHAZbdQZ|`vXn˂p`Jrd|f~HbHAZpdQZ|vXnHAbےlJtApvnbHAZpdQZ|vXn`JXQrvˍpfJltnvpr˂pdQbtv`f~fp˂rdrtAvpfے`JXQtArdnXv`p˂rdrtAvpfXQr˂ZdQbtfpv˂rXQdrtAJvpfH`JXQrrd|Xv`f˂rXQdrtAJvpfH˂pZH~ㅐfbAdZ|fH~ZHAbl|ZdQpvnXQJ`ےJltH~fr˂p|ZdQbf~HXQJ`ےJltH~fpZHAbl|ZnXv`fJ`ےltb~f`˂pZZdQbt~HfJ`ےltb~f`HAbے`vXndrQtf`vXے`JXQbtlXv`fbHAZbdQZ|`vXnZHAbtlJfpvbHAZbdQZ|`vXnے`JdQbt璕~fpvbHAZpdQZ|vXnHAbےlJtApvnbHAZpdQZ|vXn`JXQrvˍpfJltnvpr˂pJtArd~Hfp˂rdrtAvpfے`JXQtArdnXv`p˂rdrtAvpfXQr˂lJtArnXv˂rXQdrtAJvpfH`JXQrrd|Xv`f˂rXQdrtAJvpfH˂p`H~ㅐfbAdZ|fH~`JXQr|ZdQpvnXQJ`ےJltH~fr˂p|ZdQbf~HXQJ`ےJltH~fp`JXQd|Z`f~J`ےltb~f`˂pZZdQbt~HfJ`ےltb~f`JXQr`vXndrQtf`vX˂pZbtlXv`fbHAZbdQZ|`vXnZHAbtlJfpvbHAZbdQZ|`vXnr˂pdQbtHfpvbHAZpdQZ|vXnHAbےlJtApvnbHAZpdQZ|vXn˂pZHAvˍpfJltnvpHAbے|ZdQb~fpvp˂rdrtAvpfے`JXQtArdnXv`p˂rdrtAvpfZHAbl|ZdQnXv˂rXQdrtAJvpfH`JXQrrd|Xv`f˂rXQdrtAJvpfHbے`H~ㅐfbAdZ|fH~`JXQrtlJnXv`XQJ`ےJltH~fr˂p|ZdQbf~HXQJ`ےJltH~fے`JXQbtl`ffpJ`ےltb~f`˂pZZdQbt~HfJ`ےltb~f`JXQr`vXndrQtf`vX˂p`tArdf~HbHAZbdQZ|`vXnZHAbtlJfpvbHAZbdQZ|`vXnr˂pJtArdvnrbHAZpdQZ|vXnHAbےlJtApvnbHAZpdQZ|vXn˂p`ZvˍpfJltnvpJXQr|ZdQbfpvp˂rdrtAvpfے`JXQtArdnXv`p˂rdrtAvpf`JXQr|ZdQXQJ`ے˂rbdtAJlvpfH`JXQrrd|Xv`f˂rXQdrtAJvpfHQXb㉀ەH~ㅐfbAdZ|fH~˂pZHAtl|nXv`XQJ`ےJltH~fr˂p|ZdQbf~HXQJ`ےJltH~f˂pZbtlHAZpdQZ|tbn~f`˂pZZdQbt~HfJ`ےltb~f`pJAHr`vXndrQtf`vXbے`ZdQbtf~fpbHAZbdQZ|`vXnZHAbtlJfpvbHAZbdQZ|`vXnHAbے|ZdQb˂rXQdrtAJvpfvXnrHAے`lJtApvnbHAZpdQZ|vXnˁ`ZvˍpfJltnvpJXQrlJtAvnXp˂rdrtAvpfے`JXQtArdnXv`p˂rdrtAvpf`JXQrnXv`J`ےltbHf`˂pZJXQrbrd|Xv`f˂rXQdrtAJvpfHQXb㉀ەH~ㅐfbAdZ|fH~˂p`Jrd|v`fXQJ`ےJltH~fr˂p|ZdQbf~HXQJ`ےJltH~f˂p`f~fpbHAZpdQZ|vXnHAbےtlJZdQbnHfpJ`ےltb~f`p`ZQX`vXndrQtf`vXXQr˂ZdQbt~HfpbHAZbdQZ|`vXnZHAbtlJfpvbHAZbdQZ|`vXnJXQrvnX˂rXQdrtAJvpfH`JXQrtAd|Xv`fvnrbHAZpdQZ|vXnb㉀ۑpvˍpfJltnvppZHAbl|ZvnXp˂rdrtAvpfے`JXQtArdnXv`p˂rdrtAvpf˂pZHAv`fJ`ےltb~f`˂pZZdQbt~HfXQJ`ے˂rbdtAJlvpfHJAHr󙐕H~ㅐfbAdZ|fH~ے`JdQbtv`ffXQJ`ےJltH~fr˂p|ZdQbf~HXQJ`ےJltH~fbے`~HfpbHAZpdQZ|vXnHAbےlJtApvnHAZpdQZ|tbn~f`ˁ`ZQX`vXndrQtf`vXXQr˂lJtArpvnbHAZbdQZ|`vXnZHAbtlJfpvbHAZbdQZ|`vXnJXQrvnX˂rXQdrtAJvpfH`JXQrrd|Xv`f˂rXQdrtAJvpfvXnےb㉀ۑpvˍpfJltnvpp`JXQd|ZrXQJ`p˂rdtAJvpfے`JXQtArdnXv`p˂rdrtAvpf˂p`Jv`f~fJ`ےltb~f`˂pZZdQbt~HfJ`ےltbHf``JXQr`ZQXbH~ㅐfbAdZ|fH~r˂pdQbtےHAZbdQZ|ltbH~fr˂p|ZdQbf~HXQJ`ےJltH~fXQrbtpvnbHAZpdQZ|vXnHAbےlJtApvnbHAZpdQZ|vXn˂pZۑpJ`vXndrQtf`vXZHAbl|ZdQp˂rdrtAnvp`vXnZHAےtlJfpvbHAZbdQZ|`vXnl|ZXv`f˂rXQdrtAJvpfH`JXQrrd|Xv`f˂rXQdrtAJvpfHHAbےAHr󙐂˕vˍpfJltnvpے`JXQbnXvXQJ`ےJltfHfr˂p`JXQrtArdnXv`p˂rdrtAvpfdQbt璐~HfJ`ےltb~f`˂pZZdQbt~HfJ`ےltb~f``JXQr`ZQXbH~ㅐfbAdZ|fH~r˂p`f~fpbHAZbdQZ|`vXnZHAbbtl|ZdQbfHfXQJ`ےJltH~flJtArpvnbHAZpdQZ|vXnHAbےlJtApvnbHAZpdQZ|vXn˂p`ۑp``vXndrQtf`vX`JXQrvnXp˂rdrtAvpfے`JXQJtAdnXv`pvnbHAZbdQZ|`vXnd|ZXv`f˂rXQdrtAJvpfH`JXQrrd|Xv`f˂rXQdrtAJvpfHJXQrZQXb㉀vˍpfJltnvp˂pZv`fXQJ`ےJltH~fr˂p|ZdQbf~HrXQJ`p˂rdtAJvpfdQbt~fpvJ`ےltb~f`˂pZZdQbt~HfJ`ےltb~f`˂pZHAۑpJAHH~ㅐfbAdZ|fH~HAbے~HfpbHAZbdQZ|`vXnZHAbtlJfpvےHAZbdQZ|ltbH~fl|ZdQnXv`bHAZpdQZ|vXnHAbےlJtApvnbHAZpdQZ|vXnbے`r󙐂ˁ``vXndrQtf`vX`JXQrvnXp˂rdrtAvpfے`JXQtArdnXv`p˂rdrtAnvp`vXnbtlf~H˂rXQdrtAJvpfH`JXQrrd|Xv`f˂rXQdrtAJvpfHJXQrZQXb㉀vˍpfJltnvp˂p`v`f~XQJ`ےJltH~fr˂p|ZdQbf~HXQJ`ےJltfHfr˂pJtArdfpvJ`ےltb~f`˂pZZdQbt~HfJ`ےltb~f`˂p`Jۑp`ZH~ㅐfbAdZ|fH~JXQrbfpvbHAZbdQZ|`vXnZHAbtlJfpvbHAZbdQZ|`vXn`JXQr|ZdQnXv`bHAZpdQZ|vXnHAbےlJtApvnbHAZpdQZ|vXnXQr˂QXb㉀۝`vXndrQtKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLL \ No newline at end of file diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv35_1.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv35_1.dat deleted file mode 100644 index 76cb198115..0000000000 --- a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv35_1.dat +++ /dev/null @@ -1,313 +0,0 @@ -~}~}~}~}~}~}~}~}|{|{|{{{|{|{|{|{zyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvutstststststststsrqrqrqrqrqrqrqrqpopopopopopopoponmnmnmnmnmnmnmnmlklklklklklklklkjijijijijijijijihghghghghghghghgfefefefecccdcdcddcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPONMNMNMNMNMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:9878787878787878765656565433333344343434321212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!~}~}~}~}~}~}~}~}{{{|{|{||{|{|{|{zyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvutstststststststsrqrqrqrqrqrqrqrqpopopopopopopoponmnmnmnmnmnmnmnmlklklklklklklklkjijijijijijijijihghghghghghghghgfefefefecdcdcdcddcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPONMNMNMNMNMNMNMNMLKKKKKKLLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:9878787878787878765656565343434344343434321212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!~}~}~}~}~}~}~}~}{|{|{|{||{|{|{|{zyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvutstststststststsrqrqrqrqrqrqrqrqpopopopopopopoponmnmnmnmnmnmnmnmlklklklklklklklkjijijijijijijijihghghghghghghghgfefefefecdcdcdcddccccccdbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPONMNMNMNMNMNMNMNMKLKLKLKLLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:9878787878787878765656565343434344343433321212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!~}~}~}~}~}~}~}~}{|{|{|{||{{{{{|{zyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvutstststststststsrqrqrqrqrqrqrqrqpopopopopopopoponmnmnmnmnmnmnmnmlklklklklklklklkjijijijijijijijihghghghghghghghgfefefefecdcdcdcdcdcdcdcdbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQRQRQPOPOPOPONMNMNMNMNMNMNMNMKLKLKLKLLKLKLKKKJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:9878787878787878765656565343434343334343421212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#$#$#$#$#"!"!"!"!~}~}~}~}~}~}~}~}{|{|{|{||{|{|{zyzyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvutstststststststsrqrqrqrqrqrqrqrqpopopopopopopoponmnmnmnmnmnmnmnmlklklklklklklklkjijijijijijijijihghghghghghghghgfefefefecdcdcdcdcdcdcdcdbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQRQRQPOPOPOPOPOPONMNMNMNMNMNMNMNMKLKLKLKLKKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:9878787878787878765656565343434343434343421212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!~}~}~}~}~}~}~}~}{|{|{|{|zyzyzyzyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvutstststststststsrqrqrqrqrqrqrqrqpopopopopopopoponmnmnmnmnmnmnmnmlklklklklklklklkjijijijijijijijihghghghghghghghgfefefefeccccccdccdcdcdcdbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMKLKLKLKLLKJIJIJIJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:9878787878787878765656565343433333434343421212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!~}~}~}~}~}~}~}~}{{{{{{|{zyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvuvutstststststststsrqrqrqrqrqrqrqrqpopopopopopopoponmnmnmnmnmnmnmnmlklklklklklklklkjijijijijijijijihghghghghgfefefefefefefedcdcdcdccdcdcdcdbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMKLKLKKKKJIJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:9878787878787876565656565334343433434343421212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!~}~}~}~}~}~}~}~}|{|{|{|{zyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvuvuvuvutststststststststsrqrqrqrqrqrqrqrqpopopopopopopoponmnmnmnmnmnmnmnmlklklklklklklklkjijijijijijijijihghghghgfefefefefefefefedcdcdcdccdcdccccbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMKKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:9878787876565656565656565434343433434343421212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!~}~}~}~}|{|{|{|{|{|{|{|{zyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvutststststststststststsrqrqrqrqrqrqrqrqrqpopopopopopopoponmnmnmnmnmnmnmnmlklklklklklklklkjijijijijijijijihghghghgfefefefefefefefedcdcdcdcccdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMNMNMLKLKLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:9878787876565656565656565434343433333334321212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!~}~}~}~}{{{{{|{||{|{|{|{zyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvutstststststststsrqrqrqrqrqrqrqrqrqrqrqpopopopopopopopoponmnmnmnmnmnmnmnmlklklklklklklklkjijijijijijijijihghghghgfefefefefefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMLKLKKKKKLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCDCBABABABABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:9878787876565656565656565434343434343434321212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!~}~}~}~}{|{|{|{||{|{|{|{zyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvutstststststststsrqrqrqrqrqrqrqrqpopopopopopopopopopoponmnmnmnmnmnmnmnmnmlklklklklklklklkjijijijijijijijihghghghgfefefefefefefefedcdcccccdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMKLKLKLKLLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABABABABABABA@?@?@?@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:9878787876565656565656565434343434343434321212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!~}~}~}~}{|{|{|{||{|{{{{{zyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvutstststststststsrqrqrqrqrqrqrqrqpopopopopopopoponmnmnmnmnmnmnmnmnmnmnmlklklklklklklklklkjijijijijijijijihghghghgfefefefefefefefecdcdcdcddcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMKLKLKLKLLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:9878787876565656565656565333334344343434321212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!~}~}~}~}{|{|{|{|{|{|{|{|zyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvutstststststststsrqrqrqrqrqrqrqrqpopopopopopopoponmnmnmnmnmnmnmnmlklklklklklklklklklklkjijijijijijijijijihghghghgfefefefefefefefecdcdcdcddcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMKLKLKLKLKKKKKLKLJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:9878787876565656565656565343434344343434321212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!"!"!"!"!~}~}~}~}{|{|{|{|{|{|{|{|zyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvutstststststststsrqrqrqrqrqrqrqrqpopopopopopopoponmnmnmnmnmnmnmnmlklklklklklklklkjijijijijijijijijijijihghghghghgfefefefefefefefecdcdcdcdccccdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMKLKLKLKLKLKLKLKLJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:9:9:9:9878787876565656565656565343434344343333321212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!"!"!"!"!~}~}~}~}{|{{{{{{{|{|{|{|zyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvutstststststststsrqrqrqrqrqrqrqrqpopopopopopopoponmnmnmnmnmnmnmnmlklklklklklklklkjijijijijijijijihghghghghghghghgfefefefefefefefecdcdcdcddcdcbabababababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMKLKLKLKKKLKLKLKLJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:9:9878787878787876565656565656565343434344343434321212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!"!"!"!"!~}~}~}~}~}~}|{|{|{|{{|{|{|{|zyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvutstststststststsrqrqrqrqrqrqrqrqpopopopopopopoponmnmnmnmnmnmnmnmlklklklklklklklkjijijijijijijijihghghghghghghghgfefefefefefefefecdcdcdccbabababababababababa`_`_`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMKKKKLKLKKLKLKLKLJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:987878787878787876565656565656565343434342121212121212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!"!"!"!"!~}~}~}~}~}~}~}~}|{|{|{|{{|{|{|{{zyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvutstststststststsrqrqrqrqrqrqrqrqpopopopopopopoponmnmnmnmnmnmnmnmlklklklklklklklkjijijijijijijijihghghghghghghghgfefefefefefefefeccccdcdcbabababababababa`_`_`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPONMNMNMNMNMNMNMNMLKLKLKLKKLKLKLKLJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:9878787878787878765656565656565653433333321212121212121210/0/0/0/0/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!"!"!"!"!~}~}~}~}~}~}~}~}|{|{|{|{{{{{|{|{zyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvutstststststststsrqrqrqrqrqrqrqrqpopopopopopopoponmnmnmnmnmnmnmnmlklklklklklklklkjijijijijijijijihghghghghghghghgfefefefefefefedcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPONMNMNMNMNMNMNMNMLKLKLKLKKLKKKKKKJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:9878787878787878765656565656565654343434321212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!    ~}~}~}~}~}~}~}~}|{|{|{|{|{|{|{|{zyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvutstststststststsrqrqrqrqrqrqrqrqpopopopopopopoponmnmnmnmnmnmnmnmlklklklklklklklkjijijijijijijijihghghghghghghghgfefefefedcdcdcccdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPONMNMNMNMNMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:9878787878787878765656565654343434343434321212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!                    - - - - - - - -                 - - - - - - - -                 - - - - - - - -                 - - - - - - - -                  - - - - - - - -                    - - - - - - - -                 - - - - - - - - -                 - - - - - - - - - - -                 - - - - - - - -               - - - - - - - -             - - - - - - - -             - - - - - - - -             - - - - - - - -             - - - - - - - -             - - - - - - - -             - - - - - - - -             - - - - - - - -             - - - - - - - -             - - - - - - - - PPOONNMM YYZZ[[\\//..--,,==>>??@@FFEEDDCCaabbccdd@@??>>== YYZZ[[\\HHGGFFEEQQRRSSTTPPOONNMMIIJJKKLLXXWWVVUU - - AABBCCDDQQKKJJIIssttuuvvkkjjiihg::;;<<==ggffeedd22334455~~oonnmmll##""!! **++,,--vvwwxxyywwvvuutt++**))((""##$$%%nnooppqq~~}}||33221100ffgghhii{{zz""!!BBCCDDEEAA@@??>>__``aabbBBAA@@?? WWXXYYZZJJIIHHGGOOPPQQRRRRQQPPOOGGHHIIJJZZYYXXWW ??@@AABBSSRRQQKKqqrrssttmmllkkjj8899::;;iihhggff00112233||}}~~qqppoonn%%$$##""(())**++ttuuvvwwyyxxwwvv--,,++** !!""##llmmnnoo~~55443322ddeeffgg$$##""!!@@AABBCCCCBBAA@@]]^^__``DDCCBBAA - - UUVVWWXXLLKKJJIIMMNNOOPPTTSSRRQQEEFFGGHH\\[[ZZYY ==>>??@@LLKKJJII]]^^__``++**))((AABBCCDDBBAA@@??eeffgghh<<;;::99]]^^__``DDCCBBAA - - UUVVWWXXLLKKJJIIMMNNOOPPTTSSRRQQEEFFGGHHHHGGFFEEwwxxyyzzfedccbba>>??@@AAccbbaa``66778899kkjjiihh..//0011zz{{||}}ssrrqqpp''&&%%$$&&''(())rrssttuu{{zzyyxx//..--,, !!jjkkllmmyyxxwwvvFFGGHHII==<<;;::ccddeeff>>==<<;;[[\\]]^^FFEEDDCC - -SSTTUUVVNNMMLLKKKKLLMMNNVVUUTTSS - - CCDDEEFFJJIIHHGGuuvvwwxxiihgfedc<<==>>??eeddccbb44556677mmllkkjj!! ,,--..//xxyyzz{{uuttssrr))((''&&$$%%&&''ppqqrrss}}||{{zz1100//..hhiijjkk{{zzyyxxDDEEFFGG??>>==<<aabbccdd@@??>>== YYZZ[[\\HHGGFFEEQQRRSSTTPPOONNMMIIJJKKLLXXWWVVUU - - AABBCCDDHHGGFFEEaabbccdd''&&%%$$EEFFGGHH>>==<<;; iijjkkll88776655aabbccdd@@??>>== YYZZ[[\\HHGGFFEEQQRRSSTTPPOONNMMIIJJKKLLDDCCBBAA!!""##{{a``__^^] - -BBCCDDEE__^^]]\\::;;<<==ggffeedd22334455~~oonnmmll##""!! **++,,--vvwwxxyywwvvuutt++**))((""##$$%%nnooppqquuttssrrJJKKQQRR99876543gghhiijj::998877__``aabbBBAA@@?? WWXXYYZZJJIIHHGGOOPPQQRRRRQQPPOOGGHHIIJJFFEEDDCC!!yyzz{{cbbaa``_ @@AABBCCaa``__^^8899::;;iihhggff00112233||}}~~qqppoonn%%$$##""(())**++ttuuvvwwyyxxwwvv--,,++** !!""##llmmnnoowwvvuuttHHIIJJKK;;::9987eeffgghh<<;;::99]]^^__``DDCCBBAA - - UUVVWWXXLLKKJJIIMMNNOOPPTTSSRRQQEEFFGGHHDDCCBBAAeeffgghh{{##""!!IIJJKKQQ::998765!!""##$$mmnnoopp~~}}44332211eeffgghh<<;;::99]]^^__``DDCCBBAA - - UUVVWWXXLLKKJJIIMMNNOOPP@@??>>==$$%%&&'']\\[[ZZY FFGGHHII[[ZZYYXX >>??@@AAccbbaa``66778899kkjjiihh..//0011zz{{||}}ssrrqqpp''&&%%$$&&''(())rrssttuuqqppoonnSSTTUUVV3221100/ !!""kkllmmnn66554433ccddeeff>>==<<;;[[\\]]^^FFEEDDCC - -SSTTUUVVNNMMLLKKKKLLMMNNBBAA@@??""##$$%%_^^]]\\[ - - DDEEFFGG]]\\[[ZZ<<==>>??eeddccbb44556677mmllkkjj!! ,,--..//xxyyzz{{uuttssrr))((''&&$$%%&&''ppqqrrssssrrqqppQQRRSSTT65433221 iijjkkll88776655aabbccdd@@??>>== YYZZ[[\\HHGGFFEEQQRRSSTTPPOONNMMIIJJKKLL@@??>>== iijjkkllzzyyxxwwRRSSTTUU43322110%%&&''((qqrrsstt||{{zzyy00//..-- iijjkkll88776655aabbccdd@@??>>== YYZZ[[\\HHGGFFEEQQRRSSTT<<;;::99(())**++YXXWWVVUJJKKLLMMWWVVUUTT - - BBCCDDEE__^^]]\\::;;<<==ggffeedd22334455~~oonnmmll##""!! **++,,--vvwwxxyymmllkkjj - -WWXXYYZZ/..--,,+##$$%%&&ooppqqrr~~}}||{{221100//gghhiijj::998877__``aabbBBAA@@?? WWXXYYZZJJIIHHGGOOPPQQRR>>==<<;;&&''(())[ZZYYXXWHHIIJJKKYYXXWWVV - -@@AABBCCaa``__^^8899::;;iihhggff00112233||}}~~qqppoonn%%$$##""(())**++ttuuvvwwoonnmmll UUVVWWXX100//..-!!""##$$mmnnoopp~~}}44332211eeffgghh<<;;::99]]^^__``DDCCBBAA - - UUVVWWXXLLKKJJIIMMNNOOPP<<;;::99!!""##$$mmnnooppvvuuttssVVWWXXYY0//..--,))**++,,uuvvwwxxxxwwvvuu,,++**))!!""##$$mmnnoopp~~}}44332211eeffgghh<<;;::99]]^^__``DDCCBBAA - - UUVVWWXX33221100,,--..//UTTSSRRQNNOOPPQQSSRRQQPPFFGGHHII[[ZZYYXX >>??@@AAccbbaa``66778899kkjjiihh..//0011zz{{||}}iiccbbaa [[\\]]^^~}|{{+**))(('''(())**ssttuuvvzzyyxxww..--,,++ !!""kkllmmnn66554433ccddeeff>>==<<;;[[\\]]^^FFEEDDCC - -SSTTUUVV::993322**++,,--WVVUUTTSLLMMNNOOUUTTSSRR DDEEFFGG]]\\[[ZZ<<==>>??eeddccbb44556677mmllkkjj!! ,,--..//xxyyzz{{kkjjiicc - - YYZZ[[\\~-,,++**)%%&&''((qqrrsstt||{{zzyy00//..-- iijjkkll88776655aabbccdd@@??>>== YYZZ[[\\HHGGFFEEQQRRSSTT88776655%%&&''((qqrrssttrrqqppooZZ[[\\]]~}|,++**))(--..//00yyzz{{||ttssrrqq((''&&%%%%&&''((qqrrsstt||{{zzyy00//..-- iijjkkll88776655aabbccdd@@??>>== YYZZ[[\\//..--,,00112233QPONMLKK RRSSTTUUOONNMMLLJJKKLLMMWWVVUUTT - - BBCCDDEE__^^]]\\::;;<<==ggffeedd22334455~~``__^^]]__``aabbzzyyxxww'&&%%$$#++,,--..wwxxyyzzvvuuttss**))((''##$$%%&&ooppqqrr~~}}||{{221100//gghhiijj::998877__``aabbBBAA@@?? WWXXYYZZ1100//....//0011SRRQQPONPPQQRRSSQQPPOONNHHIIJJKKYYXXWWVV - -@@AABBCCaa``__^^8899::;;iihhggff00112233||}}~~bbaa``__]]^^__``}|{{zzyy)((''&&%))**++,,uuvvwwxxxxwwvvuu,,++**))!!""##$$mmnnoopp~~}}44332211eeffgghh<<;;::99]]^^__``DDCCBBAA - - UUVVWWXX~~}}44332211))**++,,uuvvwwxxnnmmllkk ^^__``aa{{zzyyxx(''&&%%$11223344}}~~ppoonnmm$$##""!!))**++,,uuvvwwxxxxwwvvuu,,++**))!!""##$$mmnnoopp~~}}44332211eeffgghh<<;;::99]]^^__``++**))((99::;;<>??@@AAccbbaa``66778899\\[[ZZYY - - cciijjkkvvuuttss#""!! //001122{{||}}~~rrqqppoo&&%%$$##''(())**ssttuuvvzzyyxxww..--,,++ !!""kkllmmnn66554433ccddeeff>>==<<;;[[\\]]^^--,,++**223399::MLKKJJII - - TTUUVVWWMMLLKKJJLLMMNNOOUUTTSSRR DDEEFFGG]]\\[[ZZ<<==>>??eeddccbb44556677^^]]\\[[ aabbcciixxwwvvuu%$$##""!--..//00yyzz{{||ttssrrqq((''&&%%%%&&''((qqrrsstt||{{zzyy00//..-- iijjkkll88776655aabbccdd@@??>>== YYZZ[[\\||{{zzyy00//..----..//00yyzz{{||jjiiccbb - - - -bbcciijjwwvvuutt$##""!! 55667788llkkjjii --..//00yyzz{{||ttssrrqq((''&&%%%%&&''((qqrrsstt||{{zzyy00//..-- iijjkkll88776655aabbccdd''&&%%$$==>>??@@FFEEDDCCZZ[[\\]]GGFFEEDD RRSSTTUUOONNMMLLJJKKLLMMWWVVUUTT - - BBCCDDEE__^^]]\\::;;<<==XXWWVVUU llmmnnoorrqqppoo33445566nnmmllkk""!! ++,,--..wwxxyyzzvvuuttss**))((''##$$%%&&ooppqqrr~~}}||{{221100//gghhiijj::998877__``aabb))((''&&;;<<==>>HHGGFFEE XXYYZZ[[IIHHGGFFPPQQRRSSQQPPOONNHHIIJJKKYYXXWWVV - -@@AABBCCaa``__^^8899::;;ZZYYXXWW - - jjkkllmmttssrrqq! 11223344}}~~ppoonnmm$$##""!!))**++,,uuvvwwxxxxwwvvuu,,++**))!!""##$$mmnnoopp~~}}44332211eeffgghh<<;;::99]]^^__``xxwwvvuu,,++**))11223344}}~~aa``__^^ kkllmmnnssrrqqpp99::;;<>??@@AATTSSRRQQppqqrrssnnmmllkk778899::jjiihhgg//001122{{||}}~~rrqqppoo&&%%$$##''(())**ssttuuvvzzyyxxww..--,,++ !!""kkllmmnn66554433ccddeeff%%$$##""??@@AABBDDCCBBAA\\]]^^__EEDDCCBB - - TTUUVVWWMMLLKKJJLLMMNNOOUUTTSSRR DDEEFFGG]]\\[[ZZ<<==>>??VVUUTTSSnnooppqqppoonnmm55667788llkkjjii --..//00yyzz{{||ttssrrqq((''&&%%%%&&''((qqrrsstt||{{zzyy00//..-- iijjkkll88776655aabbccddttssrrqq((''&&%%55667788]]\\[[ZZooppqqrroonnmmll==>>??@@ddccbbaa55667788llkkjjii --..//00yyzz{{||ttssrrqq((''&&%%%%&&''((qqrrsstt||{{zzyy00//..-- iijjkkllzzyyxxwwEEFFGGHH>>==<<;;bbccddee??>>==<<ZZ[[\\]]GGFFEEDD RRSSTTUUOONNMMLLJJKKLLMMWWVVUUTT - - BBCCDDEEKKJJIIHHttuuvvwwjjiihgfe;;<<==>>ffeeddcc33445566nnmmllkk""!! ++,,--..wwxxyyzzvvuuttss**))((''##$$%%&&ooppqqrr~~}}||{{221100//gghhiijj{{zzyy!!CCDDEEFF@@??>>==``aabbccAA@@??>> XXYYZZ[[IIHHGGFFPPQQRRSSQQPPOONNHHIIJJKKYYXXWWVV - -@@AABBCCRRQQKKJJrrssttuullkkjjii99::;;<>??@@ddccbbaa55667788llkkjjii --..//00yyzz{{||ttssrrqq((''&&%%%%&&''((qqrrsstt||{{zzyy00//..-- iijjkkllllkkjjii ==>>??@@UUTTSSRRwwxxyyzzfedccbbaEEFFGGHH\\[[ZZYY ==>>??@@ddccbbaa55667788llkkjjii --..//00yyzz{{||ttssrrqq((''&&%%%%&&''((qqrrssttrrqqppooRRSSTTUU43322110 !!jjkkllmm77665544bbccddee??>>==<<ZZ[[\\]]GGFFEEDD RRSSTTUUOONNMMLLJJKKLLMMCCBBAA@@!!""##$$`__^^]]\ - - CCDDEEFF^^]]\\[[;;<<==>>ffeeddcc33445566nnmmllkk""!! ++,,--..wwxxyyzzvvuuttss**))((''##$$%%&&ooppqqrrttssrrqqKKQQRRSS87654332hhiijjkk99887766``aabbccAA@@??>> XXYYZZ[[IIHHGGFFPPQQRRSSQQPPOONNHHIIJJKKEEDDCCBB!!""zz{{baa``__^ AABBCCDD``__^^]]99::;;<>==<<%%&&''((\[[ZZYYXGGHHIIJJZZYYXXWW ??@@AABBbbaa``__778899::jjiihhgg//001122{{||}}~~rrqqppoo&&%%$$##''(())**ssttuuvvppoonnmm TTUUVVWW21100//. !!""##llmmnnoo~~55443322ddeeffgg==<<;;::\\]]^^__EEDDCCBB - - TTUUVVWWMMLLKKJJLLMMNNOOAA@@??>>##$$%%&&^]]\\[[Z - - EEFFGGHH\\[[ZZYY ==>>??@@ddccbbaa55667788llkkjjii --..//00yyzz{{||ttssrrqq((''&&%%%%&&''((qqrrssttddccbbaaEEFFGGHHHHGGFFEE$$%%&&'']\\[[ZZY MMNNOOPPTTSSRRQQEEFFGGHH\\[[ZZYY ==>>??@@ddccbbaa55667788llkkjjii --..//00yyzz{{||jjiiccbb - - ZZ[[\\]]~}|,++**))(&&''(())rrssttuu{{zzyyxx//..--,, !!jjkkllmm77665544bbccddee??>>==<<ZZ[[\\]]GGFFEEDD RRSSTTUU;;::9933))**++,,XWWVVUUTKKLLMMNNVVUUTTSS - - CCDDEEFF^^]]\\[[;;<<==>>ffeeddcc33445566nnmmllkk""!! ++,,--..wwxxyyzzllkkjjii - - XXYYZZ[[.--,,++*$$%%&&''ppqqrrss}}||{{zz1100//..hhiijjkk99887766``aabbccAA@@??>> XXYYZZ[[IIHHGGFFPPQQRRSS==<<;;::''(())**ZYYXXWWVIIJJKKLLXXWWVVUU - - AABBCCDD``__^^]]99::;;<>??@@ddccbbaa55667788llkkjjii --..//00yyzz{{||\\[[ZZYY MMNNOOPP@@??>>==,,--..//UTTSSRRQ - - UUVVWWXXLLKKJJIIMMNNOOPPTTSSRRQQEEFFGGHH\\[[ZZYY ==>>??@@ddccbbaa55667788]]\\[[ZZ - -bbcciijjwwvvuutt$##""!! ..//0011zz{{||}}ssrrqqpp''&&%%$$&&''(())rrssttuu{{zzyyxx//..--,, !!jjkkllmm77665544bbccddee??>>==<<ZZ[[\\]]..--,,++11223399ONMLKKJJ - -SSTTUUVVNNMMLLKKKKLLMMNNVVUUTTSS - - CCDDEEFF^^]]\\[[;;<<==>>ffeeddcc33445566__^^]]\\``aabbccyyxxwwvv&%%$$##",,--..//xxyyzz{{uuttssrr))((''&&$$%%&&''ppqqrrss}}||{{zz1100//..hhiijjkk99887766``aabbccAA@@??>> XXYYZZ[[00//..--//001122RQQPONMLQQRRSSTTPPOONNMMIIJJKKLLXXWWVVUU - - AABBCCDD``__^^]]99::;;<>??@@ddccbbaa55667788TTSSRRQQ - - UUVVWWXX3322110099::;;<>??@@UUTTSSRRooppqqrroonnmmll66778899kkjjiihh..//0011zz{{||}}ssrrqqpp''&&%%$$&&''(())rrssttuu{{zzyyxx//..--,, !!jjkkllmm77665544bbccddee&&%%$$##>>??@@AAEEDDCCBB[[\\]]^^FFEEDDCC - -SSTTUUVVNNMMLLKKKKLLMMNNVVUUTTSS - - CCDDEEFF^^]]\\[[;;<<==>>WWVVUUTT mmnnooppqqppoonn44556677mmllkkjj!! ,,--..//xxyyzz{{uuttssrr))((''&&$$%%&&''ppqqrrss}}||{{zz1100//..hhiijjkk99887766``aabbcc((''&&%%<<==>>??GGFFEEDD YYZZ[[\\HHGGFFEEQQRRSSTTPPOONNMMIIJJKKLLXXWWVVUU - - AABBCCDD``__^^]]99::;;<>??@@AAccbbaa``66778899YYXXWWVVssttuuvv__^^]]\\JJKKLLMM''&&%%$$==>>??@@FFEEDDCCZZ[[\\]]GGFFEEDD RRSSTTUUOONNMMLLJJKKLLMMWWVVUUTT - - BBCCDDEE__^^]]\\::;;<<==UUTTSSRRwwxxyyzz[[ZZYYXX NNOOPPQQ{{##""!!AABBCCDDBBAA@@??^^__``aaCCBBAA@@ - - VVWWXXYYKKJJIIHHNNOOPPQQSSRRQQPPFFGGHHII[[ZZYYXX >>??@@AAQQKKJJII!!""##{{WWVVUUTT - - RRSSTTUUzzyyxxwwEEFFGGHH>>==<<;;bbccddee??>>==<<ZZ[[\\]]GGFFEEDD RRSSTTUUOONNMMLLJJKKLLMMWWVVUUTT - - BBCCDDEEHHGGFFEE$$%%&&''SSRRQQPP - - VVWWXXYYvvuuttssIIJJKKQQ::998765ffgghhii;;::9988^^__``aaCCBBAA@@ - - VVWWXXYYKKJJIIHHNNOOPPQQSSRRQQPPFFGGHHIIDDCCBBAA(())**++OONNMMLLZZ[[\\]]rrqqppooRRSSTTUU43322110 !!jjkkllmm77665544bbccddee??>>==<<ZZ[[\\]]GGFFEEDD RRSSTTUUOONNMMLLJJKKLLMM@@??>>==,,--..//KKJJIIHH^^__``aannmmllkk VVWWXXYY0//..--,""##$$%%nnooppqq~~}}||33221100ffgghhii;;::9988^^__``aaCCBBAA@@ - - VVWWXXYYKKJJIIHHNNOOPPQQ<<;;::9900112233GGFFEEDDbbccddeejjiiccbb - - ZZ[[\\]]~}|,++**))(&&''(())rrssttuu{{zzyyxx//..--,, !!jjkkllmm77665544bbccddee??>>==<<ZZ[[\\]]GGFFEEDD RRSSTTUU3322110099::;;<>??@@??>>==<< !!jjkkllmm]]\\[[ZZ - -bbcciijjwwvvuutt$##""!! ..//0011zz{{||}}ssrrqqpp''&&%%$$&&''(())rrssttuu{{zzyyxx//..--,, !!jjkkllmm77665544bbccddee??>>==<<ZZ[[\\]]++**))((AABBCCDD;;::9988""##$$%%nnooppqqYYXXWWVV kkllmmnnssrrqqpp22334455~~oonnmmll##""!! **++,,--vvwwxxyywwvvuutt++**))((""##$$%%nnooppqq~~}}||33221100ffgghhii;;::9988^^__``aa''&&%%$$EEFFGGHH77665544&&''(())rrssttuuUUTTSSRRooppqqrroonnmmll66778899kkjjiihh..//0011zz{{||}}ssrrqqpp''&&%%$$&&''(())rrssttuu{{zzyyxx//..--,, !!jjkkllmm77665544bbccddee{{##""!!IIJJKKQQ~~}}||33221100**++,,--vvwwxxyyQQKKJJIIssttuuvvkkjjiihg::;;<<==ggffeedd22334455~~oonnmmll##""!! **++,,--vvwwxxyywwvvuutt++**))((""##$$%%nnooppqq~~}}||33221100ffgghhiizzyyxxwwRRSSTTUU{{zzyyxx//..--,,..//0011zz{{||}}HHGGFFEEwwxxyyzzfedccbba>>??@@AAccbbaa``66778899kkjjiihh..//0011zz{{||}}ssrrqqpp''&&%%$$&&''(())rrssttuu{{zzyyxx//..--,, !!jjkkllmmvvuuttssVVWWXXYYwwvvuutt++**))((22334455~~DDCCBBAA!!""##{{a``__^^] - -BBCCDDEE__^^]]\\::;;<<==ggffeedd22334455~~oonnmmll##""!! **++,,--vvwwxxyywwvvuutt++**))((""##$$%%nnooppqqrrqqppooZZ[[\\]]ssrrqqpp''&&%%$$66778899@@??>>==$$%%&&'']\\[[ZZY FFGGHHII[[ZZYYXX >>??@@AAccbbaa``66778899kkjjiihh..//0011zz{{||}}ssrrqqpp''&&%%$$&&''(())rrssttuunnmmllkk ^^__``aaoonnmmll##""!! ::;;<<==<<;;::99(())**++YXXWWVVUJJKKLLMMWWVVUUTT - - BBCCDDEE__^^]]\\::;;<<==ggffeedd22334455~~oonnmmll##""!! **++,,--vvwwxxyyjjiiccbb - - - -bbcciijjkkjjiihh>>??@@AA33221100,,--..//UTTSSRRQNNOOPPQQSSRRQQPPFFGGHHII[[ZZYYXX >>??@@AAccbbaa``66778899kkjjiihh..//0011zz{{||}}aa``__^^ kkllmmnnggffeeddBBCCDDEEbdQZ|drtAvpfH~f˂pZ˂pZtlJnXv`v`fp˂rXQJ`ےdrtAJltvpfH~fے`JXQr˂pJtAd|ZdQbnXv`f~HpvnXQJ`ےbHAZJltbdQZ|H~f`vXnp`JXQd|Zd|ZXv`f`f~˂rXQJ`ےdrtAJltbvpfH~f``JXQr˂pZrd|ZdQbtXv`f~Hf˂rXQJ`ےdrtAJltbvpfH~f`˂p`J˂p`Jrd|~fpvHfpvHAZp˂rXQJZ|drtAJlXnvpfH~bے`JXQrlJtAd|ZdQbnXv`fHfpvrXQJ`ےbrtAJltbdQpfH~f`v˂p`tArdtArdnXvXv`fZp˂rXQJ`|drtAJlnvpfH~ے`JXQr˂JtArd|ZdQnXv`f~Zp˂rXQJ`|drtAJlnvpfH~r˂pr˂pJtArd`f~fp~HfbHAZp˂rbdQZ|drtA`vXnvpfZHAbے`JXQbtltArd|ZdQbnXv`fHfp˂rXQJ`ےdrtAJltvpfdrtAJltH~f`vXnHAbےHAbےtArdf~fp~HfpXQJ`ےbHAZJltbdQZ|H~f`vXnr˂pZHAb|ZdQbtlJf~HfpvrXQJ`bHAZp˂rbdQZ|dtAJ`vXnvpfr˂pdQbtdQbt~fpvHfpvJ`ےbHAZpltbdQZ|~f`vXn˂pZHAbےZdQbtlJtA~HfpvnJ`ےbHAZpltbdQZ|~f`vXnXQr˂XQr˂ZdQbtnXv`nXvrXQJ`ےbrtAJltbdQpfH~f`vJXQr˂pZHAd|ZdQbtv`f~HfpnrXQ`ےbHAZp˂tbdQZ|df`vXnvJXQr|ZdQb|ZdQb`f~fp~HfrXQJ`ےbHAtAJltbdQZfH~f`vXXQr˂pZHAb|ZdQbtl`f~HfpvrXQJ`ےbHAtAJltbdQZfH~f`vX`JXQr`JXQr|ZdQvnXpvnp˂rXQJ`ےdrtAJltvpfH~fے`JXQr˂pJtAd|ZdQbnXv`f~HpvnXQJ`ےbHAZJltbdQZ|H~fJltbdQZ|`vXnvpf`JXQr`JXQr|ZdQbvnXvnXbHAZp˂rbdQZ|drtA`vXnvpfZHAbے`JXQtlJtArdfpvnXv`ےHAZp˂rbdQZ|drtAltbvpfH~fZHAbl|ZdQl|ZdQnXv`nXvbHAZp˂rXQdQZ|drtAJvXnvpfHHAbے`JXQrlJtArd|pvnXv`fbHAZp˂rXQdQZ|drtAJvXnvpfHpZHAbpZHAbl|Zf~H`f~fp`ےbHAZp˂tbdQZ|df`vXnv˂pZHAbے`dQbtlJtAr~HfpvnXJ`ےHAZp˂rbdQZ|dtAJlXnvpfH~˂pZHAtl|tl|vnXpvnےbHAZp˂tbdQZ|drf`vXnvppZHAbے`JbtlJtArdHfpvnXvےbHAZp˂tbdQZ|drf`vXnvp˂pZ˂pZbtlv`fXv`fXQJ`ےbHAZJltbdQZ|H~f`vXnr˂pZHAb|ZdQbtlJf~HfpvrXQJ`bHAZp˂rbdQZ|dtAJ`vXnbdQZ|drtAvpfH~f˂p`˂p`tl|v`fv`f~p˂rXQJ`ےdrtAJltvpfH~fے`JXQr˂ptArd|ZdQbnXv`f~Hp˂rXQJ`ےdrtAJltnvpH~f`vXnے`JXQbtlbtlf~H`ffp˂rXQJ`ےdrtAJltbvpfH~f``JXQr˂pZrd|ZdQbtXv`f~Hf˂rXQJ`ےdrtAJltbvpfH~f`ے`Jے`JdQbt璅fpvvnXHAZp˂rXQJZ|drtAJlXnvpfH~bے`JXQrlJtArd|ZvnXv`fHAZp˂rXQJZ|drtAJltbnpfH~f`vbے`ZdQbtZdQbtv`fXv`fZp˂rXQJ`|drtAJlnvpfH~ے`JXQr˂JtArd|ZdQnXv`f~Zp˂rXQJ`|drtAJlnvpfH~HAbےHAbے|ZdQb~Hfp~fpvbHAZp˂rbdQZ|drtA`vXnvpfZHAbے`JXQtlJtArdfpvnXv`ےHAZp˂rbdQZ|drtAltbvpfdrtAJltH~f`vXnJXQrJXQrZdQbt~HfpfpvXQJ`ےbHAZJltbdQZ|H~f`vXnr˂pZHAb|ZdQbtlJf~HfpvXQJ`ےbHAZJltbdQZ|fHf`vXnr˂pr˂pJtArdJtArdfpvvnrJ`ےbHAZpltbdQZ|~f`vXn˂pZHAbےZdQbtlJtA~HfpvnJ`ےbHAZpltbdQZ|~f`vXnXQr˂XQr˂lJtArnXv`v`frXQJ`ےbrtAJltbdQpfH~f`vJXQr˂pZHAd|ZdQbtv`f~HfprXQJ`ےbrtAJltbdQvpfHf`vXnrJXQrlJtAlJtA~HfpfpvrXQJ`ےbHAtAJltbdQZfH~f`vXXQr˂pZHAb|ZdQbtl`f~HfpvrXQJ`ےbHAtAJltbdQZfH~f`vX`JXQr`JXQrtlJvnXnXv`p˂rXQJ`ےdrtAJltvpfH~fے`JXQr˂ptArd|ZdQbnXv`f~Hp˂rXQJ`ےdrtAJltnvpH~fJltbdQZ|`vXnvpf˂pZHA˂pZHAlJtAvnXnXv`ːbHAZp˂rbdQZ|drtA`vXnvpfZHAbے`JXQtlJtArdfpvnXv`bHAZp˂rbdQZ|drtA`vXnvpf`JXQr`JXQr|ZdQ|ZdQnXv`XQJ`ےbHAZp˂rbdQZ|dtAJlvXnvpfHHAbے`JXQrlJtArd|pvnXv`fbHAZp˂rXQdQZ|drtAJvXnvpfHp`JXQp`JXQd|Zf~fp~Hfp`ےbHAZp˂tbdQZ|df`vXnv˂pZHAbے`dQbtlJtAr~HfpvnX`ےbHAZp˂tbdQZ|df`vXnv˂p`J˂p`Jrd|rd|vnXnrXQJےbHAZp˂tbdQZ|dtAf`vXnvppZHAbے`JbtlJtArdHfpvnXvےbHAZp˂tbdQZ|drf`vXnvp˂p`˂p`tArdv`f~f~HXQJ`ےbHAZJltbdQZ|H~f`vXnr˂pZHAb|ZdQbtlJf~HfpvXQJ`ےbHAZJltbdQZ|fHf`vXnbdQZ|drtAvpfH~fbے`bے`rd|v`f~ff~Hp˂rXQJ`ےdrtAJltvpfH~fے`JXQr˂ptArd|ZdQbnXv`f~Hp˂rXQJ`ےdrtAJltvpfH~f˂pZ˂pZbtlbtlf~fpHAZp˂rXQdQZ|drtAJtbnvpfH~f``JXQr˂pZrd|ZdQbtXv`f~Hf˂rXQJ`ےdrtAJltbvpfH~f`r˂prbtdQbtvnXvnXHAZp˂rXQJZ|drtAJlXnvpfH~bے`JXQrlJtArd|ZvnXv`fHAZp˂rXQJZ|drtAJlXnvpfH~XQr˂XQr˂ZdQbtZdQbtv`f~`ےHAZp˂rbdQZ|drJltnvpfH~ے`JXQr˂JtArd|ZdQnXv`f~Zp˂rXQJ`|drtAJlnvpfH~JXQrJXQrb|ZdQbfpvfpvbHAZp˂rbdQZ|drtA`vXnvpfZHAbے`JXQtlJtArdfpvnXv`bHAZp˂rbdQZ|drtA`vXnvpfdrtAJltH~f`vXnJXQrJXQrZdQbtpvnfpvXQJ`ےbHAZJltbdQZ|H~f`vXnr˂pZHAb|ZdQbtlJf~HfpvXQJ`ےbHAZJltbdQZ|H~f`vXnHAbےHAbے|ZdQb|ZdQbvnX˂rXQJ`ےdrtAJltbvpf~f`vXnr˂pZHAے`ZdQbtlJtA~HfpvnJ`ےbHAZpltbdQZ|~f`vXnZHAbl|ZdQl|ZdQv`fv`f~rXQJ`ےbrtAJltbdQpfH~f`vJXQr˂pZHAd|ZdQbtv`f~HfprXQJ`ےbrtAJltbdQpfH~f`vpZHAbpZHAbl|Zl|ZfpvZp˂rXQJ`|drtAJlbnvfH~f`vXXQr˂pZHA|ZdQbtl`f~HfpvrXQJ`ےbHAtAJltbdQZfH~f`vX˂pZHAtl|tl|nXv`nXv`p˂rXQJ`ےdrtAJltvpfH~fے`JXQr˂ptArd|ZdQbnXv`f~Hp˂rXQJ`ےdrtAJltvpfH~fJltbdQZ|`vXnvpf˂p`J˂p|Zl|ZXv`fnXv`fbHAZp˂rbdQZ|drtA`vXnvpfZHAbے`JXQtlJtArdfpvnXv`bHAZp˂rbdQZ|drtA`vXnvpf`JXQr`JXQrtlJnXv`v`fJ`ےbHAZpltbdQZ|Hf`vXn˂pZHAbےJXQrblJtArd|pvnXv`fbHAZp˂rXQdQZ|drtAJvXnvpfHے`JXQbtlbtl~Hfpfpv`ےbHAZp˂tbdQZ|df`vXnv˂pZHAbے`dQbtlJtAr~HfpvnX`ےbHAZp˂tbdQZ|df`vXnvے`Jے`JdQbtdQbnXnXv`rXQJ`ےbHAtAJltbdQZpfHf`vXnr˂pZHAbے`JXQbtlJtArdHfpvnXvےbHAZp˂tbdQZ|drf`vXnvpbے`ZdQbtZdQbtf~Hf~fpXQJ`ےbHAZJltbdQZ|H~f`vXnr˂pZHAb|ZdQbtlJf~HfpvXQJ`ےbHAZJltbdQZ|H~f`vXnbdQZ|drtAvpfH~fXQr˂dQbtdQbt璐~Hf~fpvp˂rXQJ`ےdrtAJltvpfH~fے`JXQr˂ptArd|ZdQbnXv`f~Hp˂rXQJ`ےdrtAJltvpfH~f˂p`˂p`tArdf~fp~HfpbHAZp˂rXQdQZ|drtAJvXnvpfHHAbے`JXQrtlJrd|ZdQbnXv`fHfp˂rXQJ`ےdrtAJltbvpfH~f`r˂pJtArdJtArdvnXnXv`HAZp˂rXQJZ|drtAJlXnvpfH~bے`JXQrlJtArd|ZvnXv`fHAZp˂rXQJZ|drtAJlXnvpfH~XQr˂XQr˂lJtArv`f~f~HےbHAZp˂tbdQZ|drf`vXnvppZHAbے`JrbtJtArd|ZdQnXv`fHZp˂rXQJ`|drtAJlnvpfH~JXQrlJtAlJtAfpvvnXbHAZp˂rbdQZ|drtA`vXnvpfZHAbے`JXQtlJtArdfpvnXv`bHAZp˂rbdQZ|drtA`vXnvpfdrtAJltH~f`vXnpZHAblJtArlJtArpvnnXvXQJ`ےbHAZJltbdQZ|H~f`vXnr˂pZHAb|ZdQbtlJf~HfpvXQJ`ےbHAZJltbdQZ|H~f`vXnJXQrJXQr|ZdQbvnXvnX˂rXQJ`ےdrtAJltbvpfH~f``JXQr˂pZtAd|ZdQbtXv`f~HfvnrJ`ےbHAZpltbdQZ|~f`vXn`JXQr|ZdQ|ZdQv`f~f~HrXQJ`ےbrtAJltbdQpfH~f`vJXQr˂pZHAd|ZdQbtv`f~HfprXQJ`ےbrtAJltbdQpfH~f`vp`JXQp`JXQd|ZfpvfpvZp˂rXQJ`|drtAJlnvpfH~ے`JXQr˂lJtAd|ZdQbnXv`f~fpvrXQJ`ےbHAtAJltbdQZfH~f`vX˂p`Jrd|rd|nXv`v`fp˂rXQJ`ےdrtAJltvpfH~fے`JXQr˂ptArd|ZdQbnXv`f~Hp˂rXQJ`ےdrtAJltvpfH~fJltbdQZ|`vXnvpfے`Jd|Zd|ZXv`f`f~bHAZp˂rbdQZ|drtA`vXnvpfZHAbے`JXQtlJtArdfpvnXv`bHAZp˂rbdQZ|drtA`vXnvpf˂pZHA˂pZHAtl|v`fv`f~J`ےbHAZpltbdQZ|~f`vXn˂pZHAbےZdQbtlJtA~HfpvnXQJ`ےbHAZp˂rbdQZ|dtAJlvXnvpfH˂pZbtlbtlfpvfpv`ےbHAZp˂tbdQZ|df`vXnv˂pZHAbے`dQbtlJtAr~HfpvnX`ےbHAZp˂tbdQZ|df`vXnvr˂pr˂pdQbtnXv`nXv`rXQJ`ےbHAtAJltbdQZfH~f`vXXQr˂pZHAb|ZdQbtl`f~HfpvnrXQJےbHAZp˂tbdQZ|dtAf`vXnvpXQr˂ZdQbtZdQbtf~fp~HfpXQJ`ےbHAZJltbdQZ|H~f`vXnr˂pZHAb|ZdQbtlJf~HfpvXQJ`ےbHAZJltbdQZ|H~f`vXnbdQZ|drtAvpfH~fXQr˂dQbtdQbt~fpvHfpvp˂rXQJ`ےdrtAJltvpfH~fے`JXQr˂ptArd|ZdQbnXv`f~Hp˂rXQJ`ےdrtAJltvpfH~fbے`bے`ZdQbt~HfpfpvbHAZp˂rXQdQZ|drtAJvXnvpfHHAbے`JXQrlJtArd|pvnXv`fHAZp˂rXQdQZ|drtAJtbnvpfH~f`HAbے|ZdQb|ZdQbnXv`nXv`HAZp˂rXQJZ|drtAJlXnvpfH~bے`JXQrlJtArd|ZvnXv`fHAZp˂rXQJZ|drtAJlXnvpfH~ZHAbZHAbl|ZdQf~Hf~fpےbHAZp˂tbdQZ|drf`vXnvppZHAbے`JbtlJtArdHfpvnXv`ےHAZp˂rbdQZ|drJltnvpfH~pZHAbl|Zl|ZvnXvnXbHAZp˂rbdQZ|drtA`vXnvpfZHAbے`JXQtlJtArdfpvnXv`bHAZp˂rbdQZ|drtA`vXnvpfH~fdrtAJltH~f`vXnp`JXQl|ZdQl|ZdQnXv`nXvXQJ`ےbHAZJltbdQZ|H~f`vXnr˂pZHAb|ZdQbtlJf~HfpvXQJ`ےbHAZJltbdQZ|H~f`vXnJXQrJXQrlJtAvnXnXv`˂rXQJ`ےdrtAJltbvpfH~f``JXQr˂pZrd|ZdQbtXv`f~Hf˂rXQJ`ےdrtAJltbvpf~f`vXnr`JXQrtlJtlJf~HffpvrXQJ`ےbrtAJltbdQpfH~f`vJXQr˂pZHAd|ZdQbtv`f~HfprXQJ`ےbrtAJltbdQpfH~f`vے`JXQے`JXQbtlfpvvnXZp˂rXQJ`|drtAJlnvpfH~ے`JXQr˂JtArd|ZdQnXv`f~Zp˂rXQJ`|drtAJlbnvfH~f`vXے`JdQbtdQbtv`fv`ffp˂rXQJ`ےdrtAJltvpfH~fے`JXQr˂ptArd|ZdQbnXv`f~Hp˂rXQJ`ےdrtAJltvpfH~f`vXnJltbdQZ|`vXnvpfr˂pbtlbtlf~H`frQbHAZp˂rbdQZ|dtAJ`vXnvpfZHAbے`JXQtlJtArdfpvnXv`bHAZp˂rbdQZ|drtA`vXnvpf˂p`J˂p`Jrd|v`f~ff~HJ`ےbHAZpltbdQZ|~f`vXn˂pZHAbےZdQbtlJtA~HfpvnJ`ےbHAZpltbdQZ|Hf`vXn˂p`˂p`tArdtArdfpv々nrXQ`ےbHAZp˂tbdQZ|df`vXnv˂pZHAbے`dQbtlJtAr~HfpvnX`ےbHAZp˂tbdQZ|df`vXnvr˂pr˂pJtArdnXv`fv`frXQJ`ےbHAtAJltbdQZfH~f`vXXQr˂pZHAb|ZdQbtl`f~HfpvrXQJ`ےbHAtAJltbdQZpfHf`vXnr˂XQr˂lJtArlJtAr~HfppvnXQJ`ےbHAZJltbdQZ|H~f`vXnr˂pZHAb|ZdQbtlJf~HfpvXQJ`ےbHAZJltbdQZ|H~f`vXnvpfbdQZ|drtAvpfH~fZHAbJtArdJtArdfpvJHAZp˂rbdQZ|drtAltbvpfH~fے`JXQr˂ptArd|ZdQbnXv`f~Hp˂rXQJ`ےdrtAJltvpfH~fXQr˂XQrbtZdQbtpvnfpvbHAZp˂rXQdQZ|drtAJvXnvpfHHAbے`JXQrlJtArd|pvnXv`fbHAZp˂rXQdQZ|drtAJvXnvpfHJXQrJXQr|ZdQb|ZdQbnXv`fJ`ےHAZp˂rbdQZ|dtAJlXnvpfH~bے`JXQrlJtArd|ZvnXv`fHAZp˂rXQJZ|drtAJlXnvpfH~`JXQr`JXQr|ZdQ~fpv~HfpےbHAZp˂tbdQZ|drf`vXnvppZHAbے`JbtlJtArdHfpvnXvےbHAZp˂tbdQZ|drf`vXnvpp`JXQp`JXQd|Zd|ZvnXrXQJ`bHAZp˂rbdQZ|dtAJ`vXnvpfZHAbے`JXQtlJtArdfpvnXv`bHAZp˂rbdQZ|drtA`vXnvpfH~fdrtAJltH~f`vXnے`JXQ|ZdQ|ZdQnXv`p˂rXQJ`ےdrtAJltnvpH~f`vXnr˂pZHAے|ZdQbtlJf~HfpvXQJ`ےbHAZJltbdQZ|H~f`vXnpZHAbl|Zl|ZXv`fnXv`f˂rXQJ`ےdrtAJltbvpfH~f``JXQr˂pZrd|ZdQbtXv`f~Hf˂rXQJ`ےdrtAJltbvpfH~f`˂pZHA˂pZHAtl|tl|~fpvHAZp˂rXQJZ|drtAJltbnpfH~f`vJXQr˂pZHAd|ZdQbtv`f~HfprXQJ`ےbrtAJltbdQpfH~f`v˂pZbtlbtlnXvvnXZp˂rXQJ`|drtAJlnvpfH~ے`JXQr˂JtArd|ZdQnXv`f~Zp˂rXQJ`|drtAJlnvpfH~r˂pr˂pdQbtdQbtv`f~fےHAZp˂rbdQZ|drtAltbvpfH~fے`JXQr˂ptArd|ZdQbnXv`f~Hp˂rXQJ`ےdrtAJltvpfH~f`vXnJltbdQZ|`vXnr˂pr˂pbtlbtlf~fpXQJ`ےbHAZJltbdQZ|fHf`vXnr˂pZHAb`JXQrtlJtArdfpvnXv`bHAZp˂rbdQZ|drtA`vXnvpfے`JdQbtdQbt璐~Hf~fpvJ`ےbHAZpltbdQZ|~f`vXn˂pZHAbےZdQbtlJtA~HfpvnJ`ےbHAZpltbdQZ|~f`vXnbے`bے`ZdQbtZdQbnnXvrXQJ`ےbrtAJltbdQvpfHf`vXnr˂pZHAے`JdQbtlJtAr~HfpvnX`ےbHAZp˂tbdQZ|df`vXnvHAbے|ZdQb|ZdQb`f~v`f~frXQJ`ےbHAtAJltbdQZfH~f`vXXQr˂pZHAb|ZdQbtl`f~HfpvrXQJ`ےbHAtAJltbdQZfH~f`vXZHAbZHAbl|ZdQl|ZdQpvnp˂rXQJ`ےdrtAJltnvpH~f`vXnr˂pZHAے|ZdQbtlJf~HfpvXQJ`ےbHAZJltbdQZ|H~f`vXnr˂pbdQZ|`vXnvpf`JXQr`JXQr|ZdQb|ZdQbvnXbHAZp˂rbdQZ|drtA`vXnvpfZHAbے`JXQbtltArd|ZdQbnXv`fHfp˂rXQJ`ےdrtAJltvpfH~fXQr˂lJtArlJtArpvnnXvbHAZp˂rXQdQZ|drtAJvXnvpfHHAbے`JXQrlJtArd|pvnXv`fbHAZp˂rXQdQZ|drtAJvXnvpfHJXQrJXQrlJtAXv`f`f~`ےbHAZp˂tbdQZ|df`vXnv˂pZHAbے`XQrbtlJtArd|ZvnXv`fHAZp˂rXQJZ|drtAJlXnvpfH~`JXQrtlJtlJHfpvpvnےbHAZp˂tbdQZ|drf`vXnvppZHAbے`JbtlJtArdHfpvnXvےbHAZp˂tbdQZ|drf`vXnvpے`JXQے`JXQbtlbnXvXv`fXQJ`ےbHAZJltbdQZ|fHf`vXnr˂pZHAb`JXQrtlJtArdfpvnXv`bHAZp˂rbdQZ|drtA`vXnvpf`JXQr˂pZ˂pZbtlbtlf~fpHAZp˂rXQdQZ|drtAJtbnvpfH~f``JXQr˂pZrd|ZdQbtXv`f~Hf˂rXQJ`ےdrtAJltbvpfH~f`pZHAbpJAHrpJAHr`vXnvˍpfdrQtHAbےHAbے|ZdQb|ZdQbvnX˂rXQJ`ےdrtAJltbvpf~f`vXnr˂pZHAے`ZdQbtlJtA~HfpvnJ`ےbHAZpltbdQZ|~f`vXnے`Jˁ`Zˁ`ZvˍpfH~ㅐfJlt`JXQr`JXQrtlJnXv`v`fJ`ےbHAZpltbdQZ|Hf`vXn˂pZHAbےJXQrblJtArd|pvnXv`fbHAZp˂rXQdQZ|drtAJvXnvpfHXQr˂QXb㉀QXb㉀ەH~ㅐf۝`vXnbAdZ|˂p`˂p`tArdf~fp~HfpbHAZp˂rXQdQZ|drtAJvXnvpfHHAbے`JXQrtlJrd|ZdQbnXv`fHfp˂rXQJ`ےdrtAJltbvpfH~f`p`JXQp`ZQXp`ZQX`vXnvˍp|drQtJXQrJXQr|ZdQbvnXvnX˂rXQJ`ےdrtAJltbvpfH~f``JXQr˂pZtAd|ZdQbtXv`f~HfvnrJ`ےbHAZpltbdQZ|~f`vXnr˂pb㉀ۑpb㉀ۑpvˍpfdrQtJlt˂pZHA˂pZHAtl|v`fv`f~J`ےbHAZpltbdQZ|~f`vXn˂pZHAbےZdQbtlJtA~HfpvnXQJ`ےbHAZp˂rbdQZ|dtAJlvXnvpfHZHAbJAHrJAHr󙐕H~ㅐfJltbAdZ|bے`bے`ZdQbt~HfpfpvbHAZp˂rXQdQZ|drtAJvXnvpfHHAbے`JXQrlJtArd|pvnXv`fHAZp˂rXQdQZ|drtAJtbnvpfH~f`ے`JXQˁ`ZQXˁ`ZQX`vXnbAdZ|drQtJXQrJXQrlJtAvnXnXv`˂rXQJ`ےdrtAJltbvpfH~f``JXQr˂pZrd|ZdQbtXv`f~Hf˂rXQJ`ےdrtAJltbvpf~f`vXnےr˂pb㉀ۑpb㉀XnvˍpfdrQtJlt˂p`J˂p`Jrd|v`f~ff~HJ`ےbHAZpltbdQZ|~f`vXn˂pZHAbےZdQbtlJtA~HfpvnJ`ےbHAZpltbdQZ|Hf`vXn`JXQr`JXQr`ZQXb㕀vˍpfH~ㅐfJltbAdZ|XQr˂XQrbtZdQbtpvnfpvbHAZp˂rXQdQZ|drtAJvXnvpfHHAbے`JXQrlJtArd|pvnXv`fbHAZp˂rXQdQZ|drtAJvXnvpfH˂pZ˂pZۑpJH~ㅐf۝`vXnbAdZ|drQtpZHAbl|Zl|ZXv`fnXv`f˂rXQJ`ےdrtAJltbvpfH~f``JXQr˂pZrd|ZdQbtXv`f~Hf˂rXQJ`ےdrtAJltbvpfH~f`HAbےHAbےAHr󙐂˝`vXnvˍpfdrQtJltے`JdQbtdQbt璐~Hf~fpvJ`ےbHAZpltbdQZ|~f`vXn˂pZHAbےZdQbtlJtA~HfpvnJ`ےbHAZpltbdQZ|~f`vXn`JXQr`JXQr`ZQXb㕀vˍpfH~ㅐfJltbAdZ|XQr˂lJtArlJtArpvnnXvbHAZp˂rXQdQZ|drtAJvXnvpfHHAbے`JXQrlJtArd|pvnXv`fbHAZp˂rXQdQZ|drtAJvXnvpfH˂p`˂p`ۑp`H~ㅐf۝`vXnbAdZ|drQtp`JXQd|Zd|ZXv`f`f~˂rXQJ`ےdrtAJltbvpfH~f``JXQr˂pZrd|ZdQbtXv`f~Hf˂rXQJ`ےdrtAJltbvpfH~f`JXQrJXQrZQXb㉀`vXnvˍpfdrQtJltr˂pdQbtdQbt~fpvHfpvJ`ےbHAZpltbdQZ|~f`vXn˂pZHAbےZdQbtlJtA~HfpvnJ`ےbHAZpltbdQZ|~f`vXn˂pZHA˂pZHAۑpJAHvˍpfH~ㅐfJltbAdZ|ZHAbl|ZdQl|ZdQnXv`nXvbHAZp˂rXQdQZ|drtAJvXnvpfHHAbے`JXQrlJtArd|pvnXv`fbHAZp˂rXQdQZ|drtAJvXnvpfHbے`bے`r󙐂ˁ`H~ㅐf۝`vXnbAdZ|drQtے`JXQbtlbtlf~H`ffp˂rXQJ`ےdrtAJltbvpfH~f``JXQr˂pZrd|ZdQbtXv`f~Hf˂rXQJ`ےdrtAJltbvpfH~f`JXQrJXQrZQXb㉀`vXnvˍpfdrQtJltr˂pJtArdJtArdfpvvnrJ`ےbHAZpltbdQZ|~f`vXn˂pZHAbےZdQbtlJtA~HfpvnJ`ےbHAZpltbdQZ|~f`vXn˂p`J˂p`Zۑp`ZvˍpfH~ㅐfJltbAdZ|`JXQr|ZdQ|ZdQnXv`XQJ`ےbHAZp˂rbdQZ|dtAJlvXnvpfHHAbے`JXQrlJtArd|pvnXv`fbHAZp˂rXQdQZ|drtAJvXnvpfHXQr˂QXb㉀QXb㉀ەH~ㅐf۝`vXnbAdZ|drQt \ No newline at end of file diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv35_2.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv35_2.dat deleted file mode 100644 index 3a3ac08d3c..0000000000 --- a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv35_2.dat +++ /dev/null @@ -1,313 +0,0 @@ -~}~}~}~}zyzyzyzyvuvuvuvutstststspopopoponmnmnmnm~}~}~}~}zyzyzyzyvuvuvuvutstststspopopoponmnmnmnm~}~}~}~}zyzyzyzyvuvuvuvutstststspopopoponmnmnmnm~}~}~}~}zyzyzyzyvuvuvuvutstststspopopoponmnmnmlk~}~}~}~}zyzyzyzyvuvuvuvutstststspopopopolklklklk~}~}~}~}zyzyzyzyvuvuvuvutstststspopopopolklklklk~}~}~}~}zyzyzyzyvuvuvuvutstststspopopopolklklklk~}~}~}~}zyzyzyzyvuvuvuvutstststspopopopolklklklk~}~}~}~}zyzyzyzyvuvuvuvutstststspopopopolklklklk~}~}~}~}zyzyzyzyvuvuvuvutstststspopopopolklklklk~}~}~}~}zyzyzyzyvuvuvuvutstststspopopopolklklklk|{|{|{|{zyzyzyzyvuvuvuvutstststspopopopolklklklk{{{{{|{|zyzyzyzyvuvuvuvutststsrqpopopopolklklklk{|{|{|{|zyzyzyzyvuvuvuvurqrqrqrqpopopopolklklklk{|{|{|{|zyzyzyzyvuvuvuvurqrqrqrqpopopopolklklklk{|{|{|{|zyzyzyzyvuvuvuvurqrqrqrqpopopopolklklklk{|{|{|{|zyzyzyzyvuvuvuvurqrqrqrqpopopopolklklklk{|{{{{{{zyzyzyzyvuvuvuvurqrqrqrqpopopopolklklklk|{|{|{|{zyzyzyzyvuvuvuvurqrqrqrqpopopopolklklklk|{|{|{|{zyzyzyzyvuvuvuvurqrqrqrqpopopopolklklklk|{|{|{|{zyzyzyzyvuvuvuvurqrqrqrqpopopopolklklklk|{|{|{|{zyzyzyxwvuvuvuvurqrqrqrqpopopopolklklklk|{|{|{{{xwxwxwxwvuvuvuvurqrqrqrqpopopopolklklklkjijijiji{{{|{|{|xwxwxwxwvuvuvuvurqrqrqrqpopopopolklklklkjijijiji{|{|{|{|xwxwxwxwvuvuvuvurqrqrqrqpopopopolklklklkjijijiji{|{|{|{|xwxwxwxwvuvuvuvurqrqrqrqpopopopolklklklkjijijiji{|{|{|{|xwxwxwxwvuvuvuvurqrqrqrqpopopopolklklklkjijijiji{|{|{|{|xwxwxwxwvuvuvuvurqrqrqrqpopoponmlklklklkjijijiji{{{{{{|{xwxwxwxwvuvuvuvurqrqrqrqnmnmnmnmlklklklkjijijiji|{|{|{|{xwxwxwxwvuvuvuvurqrqrqrqnmnmnmnmlklklklkjijijiji|{|{|{|{xwxwxwxwvuvuvuvurqrqrqrqnmnmnmnmlklklklkjijijiji|{|{|{|{xwxwxwxwvuvuvuvurqrqrqrqnmnmnmnmlklklklkjijijiji|{|{|{|{xwxwxwxwvuvuvuvurqrqrqrqnmnmnmnmlklklklkjijijiji|{|{{{{{xwxwxwxwvuvuvuvurqrqrqrqnmnmnmnmlklklklkjijijiji{|{|{|{|xwxwxwxwvuvuvuvurqrqrqrqnmnmnmnmlklklklkjijijiji{|{|{|{|xwxwxwxwvuvuvuvurqrqrqrqnmnmnmnmlklklklkjijijiji{|{|{|{|xwxwxwxwvuvuvutsrqrqrqrqnmnmnmnmlklklklkjijijiji{|{|{|{|xwxwxwxwtstststsrqrqrqrqnmnmnmnmlklklklkjijijiji{|{|{|{{xwxwxwxwtstststsrqrqrqrqnmnmnmnmlklklklkjijijiji{{{{|{|{xwxwxwxwtstststsrqrqrqrqnmnmnmnmlklklklkjijijiji|{|{|{|{xwxwxwxwtstststsrqrqrqrqnmnmnmnmlklklklkjijijihg|{|{|{|{xwxwxwxwtstststsrqrqrqrqnmnmnmnmlklklklkhghghghg|{|{|{|{xwxwxwxwtstststsrqrqrqrqnmnmnmnmlklklkjihghghghg~}~}|{|{|{|{xwxwxwxwtstststsrqrqrqrqnmnmnmnmjijijijihghghghg~}~}~}~}|{{{{{|{xwxwxwxwtstststsrqrqrqrqnmnmnmnmjijijijihghghghg~}~}~}~}|{|{|{zyxwxwxwxwtstststsrqrqrqrqnmnmnmnmjijijijihghghghg~}~}~}~}zyzyzyzyxwxwxwxwtstststsrqrqrqrqnmnmnmnmjijijijihghghghg~}~}~}~}zyzyzyzyxwxwxwxwtstststsrqrqrqrqnmnmnmnmjijijijihghghghg~}~}~}~}zyzyzyzyxwxwxwxwtstststsrqrqrqrqnmnmnmnmjijijijihghghghg~}~}~}~}zyzyzyzyxwxwxwxwtstststsrqrqrqrqnmnmnmnmjijijijihghghghg~}~}~}~}zyzyzyzyxwxwxwxwtstststsrqrqrqrqnmnmnmnmjijijijihghghghg~}~}~}~}zyzyzyzyxwxwxwxwtstststsrqrqrqponmnmnmnmjijijijihghghghg~}~}~}~}zyzyzyzyxwxwxwxwtstststspopopoponmnmnmnmjijijijihghghghg~}~}~}~}zyzyzyzyxwxwxwxwtstststspopopoponmnmnmnmjijijijihghghghg~}~}~}~}zyzyzyzyxwxwxwxwtstststspopopoponmnmnmnmjijijijihghghghg~}~}~}~}zyzyzyzyxwxwxwxwtstststspopopoponmnmnmnmjijijijihghghghg~}~}~}~}zyzyzyzyxwxwxwxwtstststspopopoponmnmnmnmjijijijihghghghg~}~}~}~}zyzyzyzyxwxwxwxwtstststspopopoponmnmnmnmjijijijihghghghg~}~}~}~}zyzyzyzyxwxwxwxwtstststspopopoponmnmnmnmjijijijihghghghg~}~}~}~}zyzyzyzyxwxwxwxwtstststspopopoponmnmnmnmjijijijihghghghg~}~}~}~}zyzyzyzyxwxwxwvutstststspopopoponmnmnmnmjijijijihghghghg~}~}~}~}zyzyzyzyvuvuvuvutstststspopopoponmnmnmnmjijijijihghghghg~}~}~}~}zyzyzyzyvuvuvuvutstststspopopoponmnmnmnmjijijijihghghghghghghghgcdcdcdcd`_`_`_`_^]^]^]^]ZYZYZYZYVUVUVUVUTSTSTSTSPOPOPOPOLKLKLKLKHGHGHGHGFEFEFEFEBABABABA>=>=>=>=<;<;<;<;87878787343434340/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#     - - - hghghghgcdcdcdcd`_`_`_`_^]^]\[\[ZYZYZYZYVUVUVUVUTSTSTSTSPOPOPOPOLKLKLKLKHGHGHGHGFEFEFEFEBABABABA>=>=>=>=<;<;<;<;87878787343434340/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#     hghghghgcdcdcdcd`_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVUTSTSTSTSPOPOPOPOLKLKLKLKHGHGHGHGFEFEFEFEBABABABA>=>=>=>=<;<;<;<;87878787343434340/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#     hghghghgcdcdcccc`_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVUTSTSTSTSPOPOPOPOLKLKLKLKHGHGHGHGFEFEFEFEBABABABA>=>=>=>=<;<;<;<;87878787343434340/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#     hghghghgccdcdcdc`_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVUTSTSTSTSPOPOPOPOKKKKKLKLHGHGHGHGFEFEFEFEBABABABA>=>=>=>=<;<;<;<;87878787343333330/0/0/0/.-.-.-.-*)*)*)*)&%&%&%&%$#$#$#$#     hghghghgdcdcdcdc`_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVUTSTSTSTSPOPOPOPOKLKLKLKLHGHGHGHGFEFEFEFEBABABABA>=>=>=>=<;<;<;<;87878787434343430/0/0/0/.-.-.-.-*)*)*)*)&%&%&%&%$#$#$#$#     hghghghgdcdcdcdc`_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVUTSTSTSTSPOPOPOPOKLKLKLKLHGHGHGHGFEFEFEFEBABABABA>=>=>=>=<;<;<;<;87878787434343430/0/0/0/.-.-.-.-*)*)*)*)&%&%&%&%$#$#$#$#     hghghghgdcdcdcdc`_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVUTSTSRQRQPOPOPOPOKLKLKLKLHGHGHGHGFEDCDCDCBABABABA>=>=>=>=<;<;<;<;87878787434343430/0/0/0/.-.-.-.-*)*)*)*)&%&%&%&%$#$#$#$#     hgfefefedcdcdcdc`_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVURQRQRQRQPOPOPOPOKLKLKLKLHGHGHGHGDCDCDCDCBABABABA>=>=>=>=<;<;<;<;87878787434343430/0/0/0/.-.-.-.-*)*)*)*)&%&%&%&%$#$#$#$#     fefefefeccccdcdc`_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVURQRQRQRQPOPOPOPOKLKKKKKKHGHGHGHGDCDCDCDCBABABABA>=>=>=>=<;<;<;<;87878787434343330/0/0/0/.-.-.-.-*)*)*)*)&%&%&%&%$#$#$#$#     fefefefedcdcbaba`_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVURQRQRQRQPOPOPOPOLKLKLKLKHGHGHGHGDCDCDCDCBABABABA>=>=>=>=<;<;<;<;87878787333434340/0/0/0/.-.-.-.-*)*)*)*)&%&%&%&%$#$#$#$#        fefefefebabababa`_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVURQRQRQRQPOPOPOPOLKLKLKLKHGHGHGHGDCDCDCDCBABABABA>=>=>=>=<;<;<;<;87878787343434340/0/0/0/.-.-.-.-*)*)*)*)&%&%&%&%$#$#$#$#        fefefefebabababa`_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVURQRQRQRQPOPOPOPOLKLKLKLKHGHGHGHGDCDCDCDCBABABABA>=>=>=>=<;<;<;<;87878787343434340/0/0/0/.-.-.-.-*)*)*)*)&%&%&%&%$#$#$#$#        fefefefebabababa`_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVURQRQRQRQPOPOPOPOLKLKLKLKHGHGHGHGDCDCDCDCBABABABA>=>=>=>=<;:9:9:987878787343434340/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#        fefefefebabababa`_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVURQRQRQRQNMNMNMNMLKLKLKKKHGHGHGHGDCDCDCDCBABABABA>=>=>=>=:9:9:9:987878787343434340/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#        fefefefebabababa`_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVURQRQRQRQNMNMNMNMKKLKLKLKHGHGHGHGDCDCDCDCBABABABA>=>=>=>=:9:9:9:987878787333333430/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#        fefefefebabababa`_`_`_`_\[\[\[\[ZYZYXWXWVUVUVUVURQRQRQRQNMNMNMNMLKJIJIJIHGHGHGHGDCDCDCDCBABABABA>=>=>=>=:9:9:9:987878787434343430/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#        fefefefebabababa`_`_`_`_\[\[\[\[XWXWXWXWVUVUVUVURQRQRQRQNMNMNMNMJIJIJIJIHGHGHGHGDCDCDCDCBABABABA>=>=>=>=:9:9:9:987878787434343430/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#        fefefefebabababa`_`_`_`_\[\[\[\[XWXWXWXWVUVUVUVURQRQRQRQNMNMNMNMJIJIJIJIHGHGHGHGDCDCDCDCBABABABA>=>=>=>=:9:9:9:987878787434343430/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#        fefefefebabababa`_`_`_`_\[\[\[\[XWXWXWXWVUVUVUVURQRQRQRQNMNMNMNMJIJIJIJIHGHGHGHGDCDCDCDCBABABABA>=>=>=>=:9:9:9:987878765434343430/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%"!"!"!"!        fefefefebabababa`_`_`_`_\[\[\[\[XWXWXWXWVUVUVUVURQRQRQRQNMNMNMNMJIJIJIJIHGHGHGHGDCDCDCDCBABABABA>=>=>=>=:9:9:9:965656565434333330/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%"!"!"!"!        fefefefebabababa`_`_`_`_\[\[\[\[XWXWXWXWVUVUVUVURQRQRQRQNMNMNMNMJIJIJIJIHGHGHGHGDCDCDCDCBABABABA>=>=>=>=:9:9:9:965656565434343430/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%"!"!"!"!        fefefefebabababa`_`_`_`_\[\[\[\[XWXWXWXWVUVUVUVURQRQRQRQNMNMNMNMJIJIJIJIHGHGHGHGDCDCDCDCBA@?@?@?>=>=>=>=:9:9:9:965656565212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%"!"!"!"!        fefefefebabababa`_`_`_`_\[\[\[\[XWXWXWXWVUVUVUVURQRQRQRQNMNMNMNMJIJIJIJIHGHGHGHGDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:965656565212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%"!"!"!"!        fefefefebabababa`_`_`_`_\[\[\[\[XWXWXWXWVUVUVUVURQRQRQRQNMNMNMNMJIJIJIJIHGHGHGHGDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:965656565212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%"!"!"!"!        - fefefefebabababa`_`_^]^]\[\[\[\[XWXWXWXWVUVUVUVURQRQRQRQNMNMNMNMJIJIJIJIHGHGHGHGDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:965656565212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%"!"!"!"!      - - - - fefefefebabababa^]^]^]^]\[\[\[\[XWXWXWXWVUVUVUVURQRQRQRQNMNMNMNMJIJIJIJIHGHGHGHGDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:965656565212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%"!"!"!"!    - - - - fefefefebabababa^]^]^]^]\[\[\[\[XWXWXWXWVUVUVUVURQRQRQRQNMNMNMNMJIJIJIJIHGHGHGHGDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:965656565212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%"!"!"!"!    - - - - fefefefebabababa^]^]^]^]\[\[\[\[XWXWXWXWVUVUVUVURQRQRQRQNMNMNMNMJIJIJIJIHGHGHGHGDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:965656565212121210/0/0/0/,+,+,+,+('('('('&%&%&%&%"!"!"!"!    - - - - fefefefebabababa^]^]^]^]\[\[\[\[XWXWXWXWVUVUVUVURQRQRQRQNMNMNMNMJIJIJIJIHGHGHGHGDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:965656565212121210/0/0/0/,+,+,+,+('('('('&%&%&%&%"!"!"!"!    - - - - fefefefebabababa^]^]^]^]\[\[\[\[XWXWXWXWVUVUVUVURQRQRQRQNMNMNMNMJIJIJIJIHGHGHGHGDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:965656565212121210/0/0/0/,+,+,+,+('('('('&%&%&%&%"!"!"!"!    - - - - fefefefebabababa^]^]^]^]\[\[\[\[XWXWXWXWVUVUTSTSRQRQRQRQNMNMNMNMJIJIJIJIHGFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:965656565212121210/0/0/0/,+,+,+,+('('('('&%&%&%&%"!"!"!"!    - - - - fefefefebabababa^]^]^]^]\[\[\[\[XWXWXWXWTSTSTSTSRQRQRQRQNMNMNMNMJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:965656565212121210/0/0/0/,+,+,+,+('('('('&%&%&%&%"!"!"!"!    - - - - fefefefebabababa^]^]^]^]\[\[\[\[XWXWXWXWTSTSTSTSRQRQRQRQNMNMNMNMJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:965656565212121210/0/0/0/,+,+,+,+('('('('&%&%&%&%"!"!"!"!    - - - - fefefefebabababa^]^]^]^]\[\[\[\[XWXWXWXWTSTSTSTSRQRQRQRQNMNMNMNMJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:965656565212121210/0/0/0/,+,+,+,+('('('('&%&%&%&%"!"!"!"!    - - - - fefefefebabababa^]^]^]^]\[\[\[\[XWXWXWXWTSTSTSTSRQRQRQRQNMNMNMNMJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:965656565212121210/0/0/0/,+,+,+,+('('('('&%&%&%&%"!"!"!"!    - - - - fefefefebabababa^]^]^]^]\[\[\[\[XWXWXWXWTSTSTSTSRQRQRQRQNMNMNMNMJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:965656565212121210/0/0/0/,+,+,+,+('('('('&%&%&%&%"!"!"!"!    - - - - fefefefebabababa^]^]^]^]\[\[\[\[XWXWXWXWTSTSTSTSRQRQRQRQNMNMNMNMJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?>=<;<;<;:9:9:9:96565656521212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!    - - - - fefefedcbabababa^]^]^]^]\[\[\[\[XWXWXWXWTSTSTSTSRQRQRQRQNMNMNMNMJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?<;<;<;<;:9:9:9:96565656521212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!    - - - - dcdcdcccbabababa^]^]^]^]\[\[\[\[XWXWXWXWTSTSTSTSRQRQRQRQNMNMNMNMJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?<;<;<;<;:9:9:9:96565656521212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!    - - - - cccdcdcdbabababa^]^]^]^]\[\[ZYZYXWXWXWXWTSTSTSTSRQRQRQRQNMNMNMNMJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?<;<;<;<;:9:9:9:96565656521212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!    - - - - cdcdcdcdbabababa^]^]^]^]ZYZYZYZYXWXWXWXWTSTSTSTSRQRQRQRQNMNMNMNMJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?<;<;<;<;:9:9:9:96565656521212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!    - - - - cdcdcdcdbabababa^]^]^]^]ZYZYZYZYXWXWXWXWTSTSTSTSRQRQRQRQNMNMNMNMJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?<;<;<;<;:9:9:9:96565656521212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!    - - - - cdcdcdcdbabababa^]^]^]^]ZYZYZYZYXWXWXWXWTSTSTSTSRQRQRQRQNMNMNMNMJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?<;<;<;<;:9:9:9:96565656521212121.-.-.-.-,+,+,+,+('('('('$#$#$#$#"!"!"!"!    - - - - cdcdcdcdbabababa^]^]^]^]ZYZYZYZYXWXWXWXWTSTSTSTSRQRQRQRQNMNMLKLKJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?<;<;<;<;:9:9:9:96565656521212121.-.-.-.-,+,+,+,+('('('('$#$#$#$#"!"!"!"!    - - - - ccccccdcbabababa^]^]^]^]ZYZYZYZYXWXWXWXWTSTSTSTSRQRQRQRQLKLKKKKKJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?<;<;<;<;:9:9:9:96565656521212121.-.-.-.-,+,+,+,+('('('('$#$#$#$#"!"!"!"!    - - - - dcdcdcdcbabababa^]^]^]^]ZYZYZYZYXWXWXWXWTSTSTSTSRQRQPOPOKLKLKLKLJIJIJIJIFEFEFEFEDCBABABA@?@?@?@?<;<;<;<;:9:9:9:96565656521212121.-.-.-.-,+,+,+,+('('('('$#$#$#$#"!"!"!"!    - - - - dcdcdcdcbabababa^]^]^]^]ZYZYZYZYXWXWXWXWTSTSTSTSPOPOPOPOKLKLKLKLJIJIJIJIFEFEFEFEBABABABA@?@?@?@?<;<;<;<;:9:9:9:96565656521212121.-.-.-.-,+,+,+,+('('('('$#$#$#$#"!"!"!"!    - - - - dcdcdcdcbabababa^]^]^]^]ZYZYZYZYXWXWXWXWTSTSTSTSPOPOPOPOKLKLKLKLJIJIJIJIFEFEFEFEBABABABA@?@?@?@?<;<;<;<;:9:9:9:96565656521212121.-.-.-.-,+,+,+,+('('('('$#$#$#$#"!"!"!"!   - - - - dcdcdcdcbaba`_`_^]^]^]^]ZYZYZYZYXWXWXWXWTSTSTSTSPOPOPOPOKLKLKLKLJIJIJIJIFEFEFEFEBABABABA@?@?@?@?<;<;<;<;:9:9:9:96565656521212121.-.-.-.-,+,+,+,+('('('('$#$#$#$#"!"!"!"! - - - - dcdccccc`_`_`_`_^]^]^]^]ZYZYZYZYXWXWXWXWTSTSTSTSPOPOPOPOKLKLKLKKJIJIJIJIFEFEFEFEBABABABA@?@?@?@?<;<;<;<;:9:9:9:96543434321212121.-.-.-.-,+,+,+,+('('('('$#$#$#$#"!"!"!"! - - - - cdcdcdcd`_`_`_`_^]^]^]^]ZYZYZYZYXWXWXWXWTSTSTSTSPOPOPOPOKKKKLKLKJIJIJIJIFEFEFEFEBABABABA@?@?@?@?<;<;<;<;:9:9:9:94333333421212121.-.-.-.-,+,+,+,+('('('('$#$#$#$#"!"!"!"! - - - - cdcdcdcd`_`_`_`_^]^]^]^]ZYZYZYZYXWXWXWXWTSTSTSTSPOPOPOPOLKLKLKLKJIJIJIJIFEFEFEFEBABABABA@?@?@?@?<;<;<;<;:98787873434343421212121.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!"!"!"! - - - - cdcdcdcd`_`_`_`_^]^]^]^]ZYZYZYZYXWXWXWXWTSTSTSTSPOPOPOPOLKLKLKLKJIJIJIJIFEFEFEFEBABABABA@?@?@?@?<;<;<;<;878787873434343421212121.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!"!"!"! - - - - cdcdcdcd`_`_`_`_^]^]^]^]ZYZYZYZYXWXWXWXWTSTSTSTSPOPOPOPOLKLKLKLKJIJIJIJIFEFEFEFEBABABABA@?@?@?@?<;<;<;<;878787873434343421212121.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!"!"!"! - - - - cdcdcdcc`_`_`_`_^]^]^]^]ZYZYZYZYXWXWVUVUTSTSTSTSPOPOPOPOLKLKLKLKJIHGHGHGFEFEFEFEBABABABA@?@?@?@?<;<;<;<;878787873434343421212121.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!"!"!"! - - - - ccccdcdc`_`_`_`_^]^]^]^]ZYZYZYZYVUVUVUVUTSTSTSTSPOPOPOPOLKKKKKKLHGHGHGHGFEFEFEFEBABABABA@?@?@?@?<;<;<;<;878787873434333321212121.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!"!"!"! - - - - dcdcdcdc`_`_`_`_^]^]^]^]ZYZYZYZYVUVUVUVUTSTSTSTSPOPOPOPOKLKLKLKLHGHGHGHGFEFEFEFEBABABABA@?@?@?@?<;<;<;<;878787873343434321212121.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!"!"!"! - - - - dcdcdcdc`_`_`_`_^]^]^]^]ZYZYZYZYVUVUVUVUTSTSTSTSPOPOPOPOKLKLKLKLHGHGHGHGFEFEFEFEBABABABA@?@?@?@?<;<;<;<;878787874343434321212121.-.-.-.-*)*)*)*)('('('('$#$#$#$#     - - - - dcdcdcdc`_`_`_`_^]^]^]^]ZYZYZYZYVUVUVUVUTSTSTSTSPOPOPOPOKLKLKLKLHGHGHGHGFEFEFEFEBABABABA@?@?@?@?<;<;<;<;878787874343434321212121.-.-.-.-*)*)*)*)('('('('$#$#$#$#     - - - - dcdcdcdc`_`_`_`_^]^]^]^]ZYZYZYZYVUVUVUVUTSTSTSTSPOPOPOPOKLKLKLKLHGHGHGHGFEFEFEFEBABABABA@?@?@?@?<;<;<;<;878787874343434321212121.-.-.-.-*)*)*)*)('('('('$#$#$#$#     - - - - dccccccd`_`_`_`_^]^]^]^]ZYZYZYZYVUVUVUVUTSTSTSTSPOPOPOPOKLKLKKKKHGHGHGHGFEFEFEFEBABABABA@?>=>=>=<;<;<;<;87878787434343430/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#     - - - - cdcdcdcd`_`_`_`_^]^]^]^]ZYZYZYZYVUVUVUVUTSTSTSTSPOPOPOPOKKLKLKLKHGHGHGHGFEFEFEFEBABABABA>=>=>=>=<;<;<;<;87878787333334340/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#     - - - - qqrrssttwwxxyyzz]]^^__``!!""##$$XXWWVVUUiijjkkllbbcciijjFFGGHHII - - 33221100oonnmmlluuvvwwxx{{aabbccdd%%&&''((TTSSRRQQmmnnooppkkllmmnnJJKKLLMM//..--,,kkjjiihhyyzz{{||eeffgghh))**++,,PPOONNMMqqrrssttooppqqrrNNOOPPQQ++**))((ggffeedd}}~~iijjkkll--..//00 LLKKJJIIuuvvwwxxssttuuvvRRSSTTUU''&&%%$$ccbbaa``mmnnoopp11223344 - - HHGGFFEEyyzz{{||wwxxyyzzVVWWXXYY##""!! __^^]]\\qqrrsstt55667788DDCCBBAA~~}}}}~~{{ZZ[[\\]] !![[ZZYYXXuuvvwwxx99::;;<<@@??>>==||{{zzyy^^__``aa""##$$%%WWVVUUTT~~}}yyzz{{||==>>??@@<<;;::99xxwwvvuubbccddee&&''(())SSRRQQPP||{{zzyy}}~~AABBCCDD88776655ttssrrqqffgghhii**++,,--OONNMMLLxxwwvvuuEEFFGGHH - - 44332211ppoonnmmjjkkllmm..//0011 KKJJIIHHttssrrqqIIJJKKLL 00//..--llkkjjiinnooppqq22334455 - - GGFFEEDDppoonnmmMMNNOOPP,,++**))hhggffeerrssttuu66778899CCBBAA@@~~}}||llkkjjiiQQRRSSTT((''&&%%ddccbbaavvwwxxyy::;;<<==??>>==<<{{zzyyxxhhggffee~}|UUVVWWXX$$##""!!``__^^]]zz{{||}}>>??@@AA;;::9988wwvvuuttddccbbaa{{zzyyxxYYZZ[[\\ \\[[ZZYY~~BBCCDDEE 77665544ssrrqqpp``__^^]]wwvvuutt]]^^__``!!""##$$XXWWVVUUFFGGHHII - - 33221100oonnmmll\\[[ZZYY{{ssrrqqppaabbccdd%%&&''((TTSSRRQQJJKKLLMM//..--,,kkjjiihhXXWWVVUUzzyyxxwwoonnmmlleeffgghh))**++,,PPOONNMM~}|NNOOPPQQ++**))((ggffeeddTTSSRRQQvvuuttsskkjjiihgiijjkkll--..//00 LLKKJJII{{{{zzyyxxRRSSTTUU''&&%%$$ccbbaa``PPOONNMMrrqqppoofedccbbammnnoopp11223344 - - HHGGFFEEzzyyxxwwwwvvuuttVVWWXXYY##""!! __^^]]\\LLKKJJIInnmmllkka``__^^]qqrrsstt55667788DDCCBBAAvvuuttssssrrqqppZZ[[\\]] !![[ZZYYXXHHGGFFEEjjiiccbb]\\[[ZZYuuvvwwxx99::;;<<@@??>>==rrqqppoooonnmmll^^__``aa""##$$%%WWVVUUTTDDCCBBAAaa``__^^YXXWWVVUyyzz{{||==>>??@@<<;;::99nnmmllkkkkjjiihgbbccddee&&''(())SSRRQQPPRRSSTTUU@@??>>==]]\\[[ZZUTTSSRRQ~~}}}}~~AABBCCDD88776655jjiiccbbfedccbbaffgghhii**++,,--OONNMMLLVVWWXXYY<<;;::99YYXXWWVVQPONMLKK||{{zzyyEEFFGGHH - - 44332211aa``__^^a``__^^]jjkkllmm..//0011 KKJJIIHHZZ[[\\]]88776655UUTTSSRRJJIIHHGGxxwwvvuuIIJJKKLL 00//..--]]\\[[ZZ]\\[[ZZYnnooppqq22334455 - - GGFFEEDD^^__``aa44332211QQKKJJIIFFEEDDCCttssrrqqMMNNOOPP,,++**))YYXXWWVVYXXWWVVUrrssttuu66778899CCBBAA@@bbccddee00//..--HHGGFFEEBBAA@@??ppoonnmmQQRRSSTT((''&&%%UUTTSSRRUTTSSRRQvvwwxxyy::;;<<==??>>==<>==<<;;llkkjjiiUUVVWWXX$$##""!!QQKKJJIIQPONMLKKzz{{||}}>>??@@AA;;::9988jjkkllmm((''&&%%@@??>>==::998765hhggffeeYYZZ[[\\ HHGGFFEEJJIIHHGG~~}}||~~BBCCDDEE 77665544nnooppqq$$##""!!<<;;::9943322110ddccbbaa]]^^__``!!""##$$DDCCBBAAFFEEDDCC{{zzyyxxFFGGHHII - - 33221100rrssttuu 332211000//..--,``__^^]]aabbccdd%%&&''((@@??>>==BBAA@@??wwvvuuttJJKKLLMM//..--,,vvwwxxyy//..--,,,++**))(\\[[ZZYYeeffgghh))**++,,<<;;::99>>==<<;;ssrrqqppNNOOPPQQ++**))((zz{{||}}++**))(((''&&%%$XXWWVVUUiijjkkll--..//00 33221100::998765oonnmmllRRSSTTUU''&&%%$$~~''&&%%$$$##""!! TTSSRRQQmmnnoopp11223344 - - //..--,,43322110kkjjiihhVVWWXXYY##""!!  ##""!!PPOONNMMqqrrsstt55667788++**))((0//..--,ggffeeddZZ[[\\]] !! - - LLKKJJIIuuvvwwxx99::;;<<''&&%%$$,++**))(ccbbaa``^^__``aa""##$$%% - - HHGGFFEEyyzz{{||==>>??@@##""!!(''&&%%$__^^]]\\bbccddee&&''(()) DDCCBBAA~~}}}}~~AABBCCDD$##""!! [[ZZYYXXffgghhii**++,,-- - -@@??>>==||{{zzyyEEFFGGHH - - WWVVUUTTjjkkllmm..//0011  - - - - <<;;::99xxwwvvuuIIJJKKLL SSRRQQPPnnooppqq22334455 - -  88776655ttssrrqqMMNNOOPP OONNMMLLrrssttuu66778899  - - 44332211ppoonnmmQQRRSSTT - - KKJJIIHHvvwwxxyy::;;<<==!!""##$$ 00//..--llkkjjiiUUVVWWXX - -GGFFEEDDzz{{||}}>>??@@AA%%&&''((,,++**))hhggffeeYYZZ[[\\  - - CCBBAA@@~~}}||~~BBCCDDEE ))**++,,!!""##((''&&%%ddccbbaa]]^^__``!!""##$$ ??>>==<<{{zzyyxxFFGGHHII - - --..//00$$%%&&''$$##""!!``__^^]]aabbccdd%%&&''((;;::9988wwvvuuttJJKKLLMM{{zz11223344(())**++ \\[[ZZYYeeffgghh))**++,, 77665544ssrrqqppNNOOPPQQyyxxwwvv55667788,,--..//!!""##$$XXWWVVUUiijjkkll--..//00 - - 33221100oonnmmllRRSSTTUUuuttssrr99::;;<<00112233%%&&''((TTSSRRQQmmnnoopp11223344!!""##//..--,,kkjjiihhVVWWXXYYqqppoonn==>>??@@99::;;<<))**++,,PPOONNMMqqrrsstt55667788$$%%&&''++**))((ggffeeddZZ[[\\]] !!mmllkkjjAABBCCDD==>>??@@--..//00 LLKKJJIIuuvvwwxx99::;;<<(())**++''&&%%$$ccbbaa``^^__``aa""##$$%%iiccbbaaEEFFGGHHAABBCCDD11223344 - - HHGGFFEEyyzz{{||==>>??@@,,--..//##""!! __^^]]\\bbccddee&&''(())``__^^]]IIJJKKLLEEFFGGHH55667788DDCCBBAA~~}}}}~~AABBCCDD00112233 !![[ZZYYXXffgghhii**++,,--\\[[ZZYYMMNNOOPPIIJJKKQQ99::;;<<@@??>>==||{{zzyyEEFFGGHH99::;;<<""##$$%%WWVVUUTTjjkkllmm..//0011XXWWVVUUQQRRSSTTRRSSTTUU==>>??@@<<;;::99xxwwvvuuIIJJKKLL==>>??@@&&''(())SSRRQQPPnnooppqq22334455TTSSRRQQUUVVWWXXVVWWXXYYAABBCCDD88776655ttssrrqqMMNNOOPPAABBCCDD**++,,--OONNMMLLrrssttuu66778899KKJJIIHHYYZZ[[\\ZZ[[\\]]EEFFGGHH - - 44332211ppoonnmmQQRRSSTTEEFFGGHH..//0011 KKJJIIHHvvwwxxyy::;;<<==GGFFEEDD]]^^__``^^__``aaIIJJKKLL 00//..--llkkjjiiUUVVWWXXIIJJKKQQ22334455 - - GGFFEEDDzz{{||}}>>??@@AACCBBAA@@aabbccddbbcciijjMMNNOOPP,,++**))hhggffeeYYZZ[[\\RRSSTTUU66778899CCBBAA@@~~}}||~~BBCCDDEE??>>==<>==<<{{zzyyxxFFGGHHII;;::9933iijjkkllooppqqrrUUVVWWXX$$##""!!``__^^]]aabbccddZZ[[\\]]>>??@@AA;;::9988wwvvuuttJJKKLLMM221100//mmnnooppssttuuvvYYZZ[[\\ \\[[ZZYYeeffgghh^^__``aaBBCCDDEE 77665544ssrrqqppNNOOPPQQ..--,,++**))((''/..--,,+ffeeddcc[[\\]]^^ !!""FFEEDDCCHHGGFFEE}}||{{zzDDEEFFGG - - 55443322bbaa``__baa``__^iijjkkll--..//00 LLKKJJII{{{{zzyyxxRRSSTTUU''&&%%$$ccbbaa``{{zzyyxx&&%%$$##+**))(('bbaa``____``aabb##$$%%&&BBAA@@??DDCCBBAAyyxxwwvvHHIIJJKK 1100//..^^]]\\[[^]]\\[[Zmmnnoopp11223344 - - HHGGFFEEzzyyxxwwwwvvuuttVVWWXXYY##""!! __^^]]\\wwvvuutt""!!'&&%%$$#^^]]\\[[ccddeeff''(())**>>==<<;;@@??>>==uuttssrrLLMMNNOO--,,++**ZZYYXXWWZYYXXWWVqqrrsstt55667788DDCCBBAAvvuuttssssrrqqppZZ[[\\]] !![[ZZYYXXssrrqqpp#""!! ZZYYXXWWgghhiijj++,,--..::993322<<;;::99qqppoonnPPQQRRSS))((''&&VVUUTTSSVUUTTSSRuuvvwwxx99::;;<<@@??>>==rrqqppoooonnmmll^^__``aa""##$$%%WWVVUUTToonnmmllVVUUTTSSkkllmmnn//001122 1100//..87654332mmllkkjjTTUUVVWW%%$$##""RRQQKKJJRQQPONMLyyzz{{||==>>??@@<<;;::99nnmmllkkkkjjiihgbbccddee&&''(())SSRRQQPPkkjjiihhRRQQPPOOooppqqrr33445566 - - --,,++**21100//.iihhggffXXYYZZ[[!! IIHHGGFFKKJJIIHH~~}}}}~~AABBCCDD88776655jjiiccbbfedccbbaffgghhii**++,,--OONNMMLL{{ggffeedd - -NNMMLLKKssttuuvv778899::))((''&&.--,,++*eeddccbb\\]]^^__ !!""##EEDDCCBBGGFFEEDD||{{zzyyEEFFGGHH - - 44332211aa``__^^a``__^^]jjkkllmm..//0011 KKJJIIHHzzyyxxwwccbbaa``  JJIIHHGGwwxxyyzz;;<<==>>%%$$##""*))((''&aa``__^^``aabbcc$$%%&&''AA@@??>>CCBBAA@@xxwwvvuuIIJJKKLL 00//..--]]\\[[ZZ]\\[[ZZYnnooppqq22334455 - - GGFFEEDDvvuuttss__^^]]\\ - - FFEEDDCC{{||}}~~??@@AABB!!&%%$$##"]]\\[[ZZddeeffgg(())**++==<<;;::??>>==<>==<>==<<;;zzyyxxwwGGHHIIJJ UUTTSSRRllmmnnoo00112233 - -00//..--65433221llkkjjiiUUVVWWXX$$##""!!QQKKJJIIQPONMLKKzz{{||}}>>??@@AA;;::9988jjiiccbbSSRRQQPP::998877vvuuttssKKLLMMNN QQPPOONNppqqrrss44556677 ,,++**))100//..-hhggffeeYYZZ[[\\ HHGGFFEEJJIIHHGG~~}}||~~BBCCDDEE 77665544aa``__^^OONNMMLL - -66554433rrqqppooOOPPQQRR - - MMLLKKJJttuuvvww8899::;;((''&&%%-,,++**)ddccbbaa]]^^__``!!""##$$DDCCBBAAFFEEDDCC{{zzyyxxFFGGHHII - - 33221100]]\\[[ZZKKJJIIHH 221100//nnmmllkkSSTTUUVV IIHHGGFFxxyyzz{{<<==>>??$$##""!!)((''&&%``__^^]]aabbccdd%%&&''((@@??>>==BBAA@@??wwvvuuttJJKKLLMM//..--,,YYXXWWVVGGFFEEDD!!""##$$..--,,++jjiihhggWWXXYYZZ - - EEDDCCBB~~||}}~~@@AABBCC%$$##""!\\[[ZZYYeeffgghh))**++,,<<;;::99>>==<<;;ssrrqqppNNOOPPQQ++**))((UUTTSSRRCCBBAA@@%%&&''((**))((''ffeeddcc[[\\]]^^ !!"" - - AA@@??>>}}||{{zzDDEEFFGG - - ! XXWWVVUUiijjkkll--..//00 33221100::998765oonnmmllRRSSTTUU''&&%%$$QQKKJJII??>>==<<))**++,,&&%%$$##bbaa``____``aabb##$$%%&& ==<<;;::yyxxwwvvHHIIJJKK TTSSRRQQmmnnoopp11223344 - - //..--,,43322110kkjjiihhVVWWXXYY##""!! HHGGFFEE;;::9988--..//00""!! ^^]]\\[[ccddeeff''(())**99887766uuttssrrLLMMNNOO PPOONNMMqqrrsstt55667788++**))((0//..--,ggffeeddZZ[[\\]] !!DDCCBBAA7766554411223399 !!""ZZYYXXWWgghhiijj++,,--.. - - 55443322qqppoonnPPQQRRSS - - LLKKJJIIuuvvwwxx99::;;<<''&&%%$$,++**))(ccbbaa``^^__``aa""##$$%%@@??>>==33221100::;;<<==##$$%%&&VVUUTTSSkkllmmnn//001122!! 1100//..mmllkkjjTTUUVVWW HHGGFFEEyyzz{{||==>>??@@##""!!(''&&%%$__^^]]\\bbccddee&&''(())<<;;::99//..--,,>>??@@AA''(())**RRQQPPOOooppqqrr33445566""##$$%%--,,++**iihhggffXXYYZZ[[ - - DDCCBBAA~~}}}}~~AABBCCDD$##""!! [[ZZYYXXffgghhii**++,,--33221100++**))((BBCCDDEE++,,--..NNMMLLKKssttuuvv778899::&&''(())))((''&&eeddccbb\\]]^^__ !!""## - - @@??>>==||{{zzyyEEFFGGHH - - WWVVUUTTjjkkllmm..//0011 //..--,,''&&%%$$FFGGHHII//001122 JJIIHHGGwwxxyyzz;;<<==>>**++,,--%%$$##""aa``__^^``aabbcc$$%%&&''<<;;::99xxwwvvuuIIJJKKLL SSRRQQPPnnooppqq22334455 - - ++**))((##""!! JJKKQQRR33445566 - - FFEEDDCC{{||}}~~??@@AABB..//0011!! ]]\\[[ZZddeeffgg(())**++88776655ttssrrqqMMNNOOPP OONNMMLLrrssttuu66778899''&&%%$$SSTTUUVV778899::BBAA@@??~~}}||{{CCDDEEFF223399:: !!""##YYXXWWVVhhiijjkk,,--..// - - 44332211ppoonnmmQQRRSSTT - - KKJJIIHHvvwwxxyy::;;<<==##""!!WWXXYYZZ;;<<==>>>>==<<;;zzyyxxwwGGHHIIJJ;;<<==>>$$%%&&''UUTTSSRRllmmnnoo00112233!!"" 00//..--llkkjjiiUUVVWWXX - -GGFFEEDDzz{{||}}>>??@@AA[[\\]]^^??@@AABB::998877vvuuttssKKLLMMNN??@@AABB(())**++QQPPOONNppqqrrss44556677##$$%%&&,,++**))hhggffeeYYZZ[[\\  - - CCBBAA@@~~}}||~~BBCCDDEE __``aabbCCDDEEFF - -66554433rrqqppooOOPPQQRRCCDDEEFF,,--..//MMLLKKJJttuuvvww8899::;;''(())**((''&&%%ddccbbaa]]^^__``!!""##$$ ??>>==<<{{zzyyxxFFGGHHII - -  cciijjkkGGHHIIJJ 221100//nnmmllkkSSTTUUVVGGHHIIJJ00112233 - -IIHHGGFFxxyyzz{{<<==>>??++,,--..$$##""!!``__^^]]aabbccdd%%&&''((;;::9988wwvvuuttJJKKLLMM - - llmmnnooKKLLMMNN..--,,++jjiihhggWWXXYYZZKKQQRRSS44556677 EEDDCCBB~~||}}~~@@AABBCC//001122 \\[[ZZYYeeffgghh))**++,, 77665544ssrrqqppNNOOPPQQ - - - - - - ppqqrrssOOPPQQRR**))((''ffeeddcc[[\\]]^^TTUUVVWW8899::;;AA@@??>>}}||{{zzDDEEFFGG3399::;;!!""##$$XXWWVVUUiijjkkll--..//00 - - 33221100oonnmmllRRSSTTUU ttuuvvwwSSTTUUVV&&%%$$##bbaa``____``aabbXXYYZZ[[<<==>>??==<<;;::yyxxwwvvHHIIJJKK<<==>>??%%&&''((TTSSRRQQmmnnoopp11223344!!""##//..--,,kkjjiihhVVWWXXYYxxyyzz{{WWXXYYZZ""!! ^^]]\\[[ccddeeff\\]]^^__@@AABBCC99887766uuttssrrLLMMNNOO@@AABBCC))**++,,PPOONNMMqqrrsstt55667788$$%%&&''++**))((ggffeeddZZ[[\\]] !![[\\]]^^ !!""ZZYYXXWWgghhiijj``aabbccDDEEFFGG - - 55443322qqppoonnPPQQRRSSDDEEFFGG--..//00 LLKKJJIIuuvvwwxx99::;;<<(())**++''&&%%$$ccbbaa``^^__``aa""##$$%%__``aabb##$$%%&&VVUUTTSSkkllmmnniijjkkllHHIIJJKK 1100//..mmllkkjjTTUUVVWWHHIIJJKK11223344 - - HHGGFFEEyyzz{{||==>>??@@,,--..//##""!! __^^]]\\bbccddee&&''(())!!""## !!ccddeeff''(())**RRQQPPOOooppqqrrmmnnooppLLMMNNOO--,,++**iihhggffXXYYZZ[[QQRRSSTT55667788DDCCBBAA~~}}}}~~AABBCCDD00112233 !![[ZZYYXXffgghhii**++,,--$$%%&&''""##$$%%gghhiijj++,,--..NNMMLLKKssttuuvvqqrrssttPPQQRRSS))((''&&eeddccbb\\]]^^__UUVVWWXX99::;;<<@@??>>==||{{zzyyEEFFGGHH99::;;<<""##$$%%WWVVUUTTjjkkllmm..//0011(())**++&&''(())kkllmmnn//001122 JJIIHHGGwwxxyyzzuuvvwwxxTTUUVVWW%%$$##""aa``__^^``aabbccYYZZ[[\\==>>??@@<<;;::99xxwwvvuuIIJJKKLL==>>??@@&&''(())SSRRQQPPnnooppqq22334455,,--..//**++,,--ooppqqrr33445566 - - FFEEDDCC{{||}}~~yyzz{{XXYYZZ[[!! ]]\\[[ZZddeeffgg]]^^__``AABBCCDD88776655ttssrrqqMMNNOOPPAABBCCDD**++,,--OONNMMLLrrssttuu6677889900112233..//0011ssttuuvv778899::BBAA@@??~~}}||{{\\]]^^__ !!""##YYXXWWVVhhiijjkkaabbcciiEEFFGGHH - - 44332211ppoonnmmQQRRSSTTEEFFGGHH..//0011 KKJJIIHHvvwwxxyy::;;<<==99::;;<<22334455wwxxyyzz;;<<==>>>>==<<;;zzyyxxww``aabbcc$$%%&&''UUTTSSRRllmmnnoojjkkllmmIIJJKKLL 00//..--llkkjjiiUUVVWWXXIIJJKKQQ22334455 - - GGFFEEDDzz{{||}}>>??@@AA==>>??@@66778899{{||}}~~??@@AABB::998877vvuuttssddeeffgg(())**++QQPPOONNppqqrrssnnooppqqMMNNOOPP,,++**))hhggffeeYYZZ[[\\RRSSTTUU66778899CCBBAA@@~~}}||~~BBCCDDEEAABBCCDD::;;<<==CCDDEEFF - -66554433rrqqppoohhiijjkk,,--..//MMLLKKJJttuuvvwwrrssttuuQQRRSSTT((''&&%%ddccbbaa]]^^__``VVWWXXYY::;;<<==??>>==<<{{zzyyxxFFGGHHIIEEFFGGHH>>??@@AAGGHHIIJJ 221100//nnmmllkkllmmnnoo00112233 - -IIHHGGFFxxyyzz{{vvwwxxyyUUVVWWXX$$##""!!``__^^]]aabbccddZZ[[\\]]>>??@@AA;;::9988wwvvuuttJJKKLLMMIIJJKKQQBBCCDDEEKKLLMMNN..--,,++jjiihhggppqqrrss44556677 EEDDCCBB~~||}}~~zz{{YYZZ[[\\ \\[[ZZYYeeffgghh^^__``aaBBCCDDEE 77665544ssrrqqppNNOOPPQQRRSSTTUUFFGGHHII~}|{{OOPPQQRR**))((''ffeeddccttuuvvww8899::;;AA@@??>>}}||{{zz]]^^__``!!""##$$XXWWVVUUiijjkkllbbcciijjFFGGHHII - - 33221100oonnmmllRRSSTTUUVVWWXXYYJJKKLLMMzzyyxxwwSSTTUUVV&&%%$$##bbaa``__xxyyzz{{<<==>>??==<<;;::yyxxwwvvaabbccdd%%&&''((TTSSRRQQmmnnooppkkllmmnnJJKKLLMM//..--,,kkjjiihhVVWWXXYYZZ[[\\]]NNOOPPQQvvuuttssWWXXYYZZ""!! ^^]]\\[[||}}~~@@AABBCC99887766uuttssrreeffgghh))**++,,PPOONNMMqqrrssttooppqqrrNNOOPPQQ++**))((ggffeeddZZ[[\\]]^^__``aaRRSSTTUUrrqqppoo[[\\]]^^ !!""ZZYYXXWWDDEEFFGG - - 55443322qqppoonniijjkkll--..//00 LLKKJJIIuuvvwwxxssttuuvvRRSSTTUU''&&%%$$ccbbaa``^^__``aabbcciijjVVWWXXYYnnmmllkk__``aabb##$$%%&&VVUUTTSSHHIIJJKK 1100//..mmllkkjjmmnnoopp11223344 - - HHGGFFEEyyzz{{||wwxxyyzzVVWWXXYY##""!! __^^]]\\bbccddeekkllmmnnZZ[[\\]]jjiihgfeccddeeff''(())**RRQQPPOOLLMMNNOO--,,++**iihhggffqqrrsstt55667788DDCCBBAA~~}}}}~~{{ZZ[[\\]] !![[ZZYYXXffgghhiiooppqqrr^^__``aadccbbaa`gghhiijj++,,--..NNMMLLKK~}|{{zzPPQQRRSS))((''&&eeddccbbuuvvwwxx99::;;<<@@??>>==||{{zzyy^^__``aa""##$$%%WWVVUUTTjjkkllmmssttuuvvbbccddee`__^^]]\kkllmmnn//001122 JJIIHHGG{{zzyyyyxxwwvvTTUUVVWW%%$$##""aa``__^^yyzz{{||==>>??@@<<;;::99xxwwvvuubbccddee&&''(())SSRRQQPPnnooppqqwwxxyyzzffgghhii\[[ZZYYXooppqqrr33445566 - - FFEEDDCCxxwwvvuuuuttssrrXXYYZZ[[!! ]]\\[[ZZ}}~~AABBCCDD88776655ttssrrqqffgghhii**++,,--OONNMMLLrrssttuu{{jjkkllmmXWWVVUUTssttuuvv778899::BBAA@@??ttssrrqqqqppoonn\\]]^^__ !!""##YYXXWWVVEEFFGGHH - - 44332211ppoonnmmjjkkllmm..//0011 KKJJIIHHvvwwxxyynnooppqqTSSRRQQPwwxxyyzz;;<<==>>>>==<<;;ppoonnmmmmllkkjj``aabbcc$$%%&&''UUTTSSRRIIJJKKLL 00//..--llkkjjiinnooppqq22334455 - - GGFFEEDDzz{{||}}rrssttuuONMLKKJJ{{||}}~~??@@AABB::998877llkkjjiiiihgfedcddeeffgg(())**++QQPPOONN~MMNNOOPP,,++**))hhggffeerrssttuu66778899CCBBAA@@~~}}||~~vvwwxxyyIIHHGGFF~~}}||{{CCDDEEFF - -66554433ccbbaa``cbbaa``_hhiijjkk,,--..//MMLLKKJJ}|{{zzyyQQRRSSTT((''&&%%ddccbbaavvwwxxyy::;;<<==??>>==<<{{zzyyxxzz{{||}}EEDDCCBBzzyyxxwwGGHHIIJJ 221100//__^^]]\\_^^]]\\[llmmnnoo00112233 - -IIHHGGFF{{zzyyxxxxwwvvuuUUVVWWXX$$##""!!``__^^]]zz{{||}}>>??@@AA;;::9988wwvvuutt~~AA@@??>>vvuuttssKKLLMMNN..--,,++[[ZZYYXX[ZZYYXXWppqqrrss44556677 EEDDCCBBwwvvuuttttssrrqqYYZZ[[\\ \\[[ZZYY~~BBCCDDEE 77665544ssrrqqpp==<<;;::rrqqppooOOPPQQRR**))((''WWVVUUTTWVVUUTTSttuuvvww8899::;;AA@@??>>ssrrqqppppoonnmm]]^^__``!!""##$$XXWWVVUUFFGGHHII - - 33221100oonnmmll99876543nnmmllkkSSTTUUVV&&%%$$##SSRRQQKKSRRQQPONxxyyzz{{<<==>>??==<<;;::oonnmmllllkkjjiiaabbccdd%%&&''((TTSSRRQQJJKKLLMM//..--,,kkjjiihh3221100/jjiihhggWWXXYYZZ""!! JJIIHHGGMLKKJJII~~||}}~~@@AABBCC99887766kkjjiicchgfedccbeeffgghh))**++,,PPOONNMM~}|NNOOPPQQ++**))((ggffeedd~~}}||bdQZ|H~fdQbtp˂r`vXnے`JXQfpvJlt`vXnl|Z˂rXQvXn`JXQrpvn˂rXQdrtA`vXnl|ZdQXQJ`ےvpfr˂pnXv`bdQZ|vpfdQbtJ`ےvpfH˂pZXv`fJ`ےJltvpfbtlbHAZH~fZHAbf~HdrtAH~flJtArbHAZp~f`HAbے~HfbHAZpbdQZ|H~fJtArdp˂r`vXnے`JXQfpvJlt`vXnd|Z˂rXQvXn`JXQrpvn˂rbdrtA`vXn|ZdQXQJ`ےvpfr˂pnXv`bdQZ|vpfdQbtJ`ےvpfH˂pZXv`fdQZ|JltvpfbtlbHAZH~fZHAےf~HdrtAH~fl|ZdQbHAZp~f`HAbے~HfdrtAJbdQZ|H~f|ZdQbp˂r`vXn`JXQrfpvJlt`vXnbtl˂rXQvXn`JXQrpvnltbdrtA`vXnnXv`XQJ`ےvpfbtlnXv`bdQZ|vpfJtArdJ`ےvpfH˂pZXv`fdQZ|Jltvpff~fpېbHAZH~fJtAdf~HdrtAH~f|ZdQbHAZp~f`HAbے~HfdrtAJbdQZ|H~fvnXp˂r`vXn|ZdQbfpvJlt`vXnbtl˂rXQvXn`JXQrpvnltbdrtA`vXnv`fXQJ`ےvpftlJnXv`bdQZ|vpf|ZdQbJ`ےvpfH˂pZXv`fdQZ|Jltr˂p~HfpېbHAZH~ftArdf~HdrtAH~fnXv`bHAZp~f`HAے`~HfdrtAJbdQZ|`JXQrvnXp˂r`vXn|ZdQbfpvJlt`vXnf~fp˂rXQvXnJXQrbpvnltbdrtA˂pZv`f~fXQJ`ےvpftlJnXv`bdQZ|r˂pvnXJ`ےvpfHtlJXv`fdQZ|JltHAbےpvnbHAZH~ftArdf~HdrtA`JXQrv`fbHAZp~f`tAd|~HfdrtAJbdQZ|`JXQrXv`fp˂r`vXn|ZdQbfpvJlt˂pZ~Hfp˂rXQvXnZdQbtpvnltbdrtA˂p`~HfbdQZ|vpftlJnXv`bdQZ|HAbےvnXJ`ےvpfHlJtAXv`fdQZ|JltJXQrpvndrtAH~ftArdf~HdrtA`JXQrv`f~fbHAZp~f`rd|~HfdrtAJbdQZ|˂pZHAXv`fJlt`vXn|ZdQbfpvJlt˂p`pvn˂rXQvXnZdQbtpvnltbdrtAbے`~fpvbdQZ|vpftlJnXv`bdQZ|JXQrXv`fJ`ےvpfHlJtAXv`fdQZ|JltJXQrnXv`drtAH~ftArdfHfdrtA˂pZHA~HfbHAZp~f`rd|~HfdrtAJbdQZ|˂p`Jf~HJlt`vXn|ZdQbpvnJltbے`pvn˂rbvXnZdQbtpvnltbdrtAXQr˂fpvbdQZ|vpftlJrXQJ`bdQZ|JXQrXv`fdQZ|vpfHlJtAXv`fdQZ|vXnJltpZHAbnXv`drtAH~ftArdےHAZdrtA˂p`J~fpvdrtAJ~f`rd|~HfdrtAJvpfHbdQZ|ے`Jf~fpJlt`vXn|ZdQbp˂rJltXQr˂nXv`ltbvXnZdQbtpvnltb~f`drtAXQr˂vnXbdQZ|vpftlJXQJ`ےbdQZ|pZHAbf~HdQZ|vpfHlJtAXv`fdQZ|vXnJltp`JXQv`fdrtAH~ftArdbHAZdrtAے`JfpvdrtAJ~f`rd|HfpdrtAJvpfHbdQZ|r˂p~HfpJlt`vXn|ZdQbp˂rJltXQr˂nXv`ltbvXnZdQbtvnrltb~f`drtAZHAbvnXbdQZ|vpftlJXQJ`ےbdQZ|p`JXQf~fpdQZ|vpfHlJtAXQJ`ےdQZ|vXnJltے`JXQv`f~drtAH~ftArdbHAZdrtAr˂pvnXdrtAJ~f`rd|HAZpdrtAJvpfHbdQZ|r˂pfpvJlt`vXn|ZdQbp˂rJltZHAbv`fltbvXnZdQbt˂rXQltb~f`drtA`JXQrnXv`bdQZ|r˂ptlJXQJ`ےbdQZ|ے`JXQ~HfpdQZ|vpfHlJtAJ`ےdQZ|vXnJlt˂pZf~HdrtAZHAbtArdbHAZdrtAr˂pvnXdrtAJ~f`rd|bHAZpdrtAJvpfHbdQZ|HAbےfpvJltے`JXQ|ZdQbp˂rJlt`JXQrv`f~ltbvXnZdQbt˂rXQltb~f`drtA`JXQrnXv`fbdQZ|r˂ptlJXQJ`ےbdQZ|˂pZfpvdQZ|vpfHlJtAJ`ےdQZ|vXnJlt˂p`~fpvdrtAZHAbtArdbHAZdtAJHAbےnXv`drtAJ~f`rd|bHAZpdrtAJvpfHbdQZ|JXQrnXvJltے`JXQ|ZdQbp˂rltb`JXQrf~HltbvXnrZdQbt˂rXQltb~f``vXn˂pZHA`f~bdQZ|r˂ptlJXQJ`ےnvp˂p`fpvdQZ|˂pZlJtAJ`ےdQZ|vXnvpfbے`HfpvdrtAZHAbtArdbHAZfHfJXQrnXv`fdrtAJHAbےrd|bHAZpdrtAJvpfHH~fJXQrnXvJltے`JXQ|ZdQbp˂r`vXn˂pZHA~fpvltb`JXQrZdQbt˂rXQltb~f``vXn˂p|Z`frQbdQZ|r˂ptlJXQJ`ےvpfbے`nXvdQZ|˂pZlJtAJ`ےdQZ|vXnrvpfdQbtJHAZdrtAZHAbtArdbHAZH~fJXQr`f~drtAJHAbےrd|bHAZpdtAJl˂p`H~flJtArp˂rJltے`JXQ|ZdQbp˂r`vXn˂p`JHfpvltb`JXQrZdQbt˂rXQtbnJXQr`vXnd|ZXQJ`ےbdQZ|r˂ptlJXQJ`ےvpfXQrbtnXvdQZ|˂pZlJtAJ`ےvpf˂pZHAvpfdQbt璐bHAZdrtAZHAbtArdbHAZH~fl|Z`ffpdrtAJHAbےrd|bHAZpHf`bے`H~fl|ZdQp˂rJltے`JXQ|ZdQbp˂r`vXndQbtvnrltb`JXQrZdQbt˂rXQvXnJXQr`vXnbtlXQJ`ےbdQZ|r˂pnXv`XQJ`ےvpflJtArXQJ`ےdQZ|˂pZlJtAJ`ےvpfH˂p`JvpfJtArdbHAZdrtAZHAbf~HbHAZH~fd|ZHAZpdrtAJHAbےrd|bHAZp~f`XQr˂H~f|ZdQp˂rJltے`JXQfpvp˂r`vXndQbt˂rXQltb`JXQrZdQbt˂rXQvXnpZHAb`vXnbtlXQJ`ےbdQZ|r˂pnXv`XQJ`ےvpfl|ZdQJ`ےdQZ|˂pZlJtAJ`ےvpfHے`Jvpf|ZdQbbHAZdrtAZHAbf~HbHAZH~fbtlbHAZpdrtAJHAbےrd|bHAZp~f`XQr˂H~ftlJp˂rJltے`JXQfpvp˂r`vXnJtArd˂rXQltb`JXQrZdQbn˂rXQvXnp`JXQ`vXntArdXQJ`ےbdQZ|r˂pnXv`XQJ`ےvpf|ZdQJ`ےdQZ|˂pZXv`fJ`ےvpfHr˂pvpf|ZdQbbHAZdtAJZHAbf~HbHAZH~fbtlbHAZpdrtAJHAbے~HfbHAZp~f`ZHAbH~ftl|p˂rltbے`JXQfpvp˂r`vXn|ZdQb˂rXQltb`JXQrpvn˂rXQvXnے`JXQ`vXnZdQbtXQJ`ےnvpr˂pnXv`XQJ`ےvpftlJJ`ےdQZ|˂pZXv`fJ`ےvpfHr˂pvpflJtAbHAZfHfZHAbf~HbHAZH~ftArdbHAZpdrtAJHAbے~HfbHAZp~f``JXQrH~frd|p˂r`vXnے`JXQfpvp˂r`vXn|ZdQb˂rXQltb`JXQrpvn˂rXQvXn˂pZ`vXnZdQbtXQJ`ےvpfr˂pnXv`XQJ`ےvpftl|J`ےdQZ|˂pZXv`fJ`ےvpfHHAbےvpfl|ZbHAZH~fZHAbf~HbHAZH~fZdQbtbHAZpdtAJlHAbے~HfbHAZp~f``JXQrH~fdQbtp˂r`vXnے`JXQfpvp˂r`vXnlJtA˂rXQtbn`JXQrpvn˂rXQvXn˂p``vXnlJtArXQJ`ےvpfr˂pnXv`bdQZ|vpfrd|J`ےvpf˂pZXv`fJ`ےvpfHJXQrvpfd|ZbHAZH~fZHAbf~HdrtAH~fZdQbtbHAZpHf`HAbے~HfbHAZp~f`˂pZHAbے`v`frtAJlf`vd|ZHAZp˂rtAJl˂pZHAnXv`tAJlf`vX|ZdQZp˂tAJlJXQrvnXJlt`vXn|ZdQbfpvJlt˂p`pvn˂rXQvXnZdQbtpvnltbvXnے`vXnJXQr~HfptbdQXnrdQbt璀rXQJtbdQbے`f~HtbdQZnvpbtlrXQJ`tbdQZ˂pZHAv`fbdQZ|vpftlJnXv`bdQZ|JXQrXv`fJ`ےvpfHlJtAXv`fdQZ|`JXQrvˍpf˂p`JvnXZ|d˂pZHAlJtAr`ےbZ|dJXQrfpv|drfH~JtArdےbHA|drbے`~HfpdrtAH~ftArdfHfdrtA˂pZHA~HfbHAZp~f`rd|~HfdrtAJ˂pZH~ㅐfXQr˂v`f~rtAJlbے`d|ZHAZp˂rtAJl˂p`JnXv`tAJlf`vX|ZdQZp˂tAJlJXQrvnXJlt`vXn|ZdQbpvnJltbے`pvn˂rbvXnZdQbtpvnltbHAbے`vXnpZHAbfpvtbdQJXQrdQbt璀rXQJtbdQXQr˂f~fptbdQZnvpbtlrXQJ`tbdQZ˂p`Jv`f~fbdQZ|vpftlJrXQJ`bdQZ|JXQrXv`fdQZ|vpfHlJtAXv`fdQZ|`JXQrvˍpfے`JnXv`Z|d˂pZHAlJtAr`ےbZ|dpZHAbvnX|drfH~JtArdےbHA|drXQr˂pvndrtAH~ftArdےHAZdrtA˂p`J~fpvdrtAJ~f`rd|~HfdrtAJ˂p`H~ㅐfXQr˂f~HrtAJlbے`d|ZHAZp˂tAJl璐ے`Jv`ftAJlf`vX|ZdQZp˂tAJlpZHAbXv`fJlt`vXn|ZdQbp˂rJltXQr˂nXv`ltbvXnZdQbtpvnltbJXQr`vXnp`JXQfpvtbdQJXQrdQbt璀rXQJtbnXQr˂~HfptbdQZnr˂btlrXQJ`tbdQZے`J~HfbdQZ|vpftlJXQJ`ےbdQZ|pZHAbf~HdQZ|vpfHlJtAXv`fdQZ|˂pZHAvˍpfrbtnXv`Z|d˂pZHAlJtAr`ےbvpfHp`JXQvnX|drpZHAbJtArdےbHA|drXQr˂pvndrtAH~ftArdbHAZdrtAے`JfpvdrtAJ~f`rd|HfpdrtAJbے`H~ㅐfl|ZdQffpvrtAJlbے`d|ZHAZp˂f`vr˂pv`f~ftAJl璐ے`J|ZdQZp˂tAJlp`JXQXv`fJlt`vXn|ZdQbp˂rJltXQr˂nXv`ltbvXnZdQbtvnrltbJXQr`vXnbtlnrXQtbdQJXQrdQbt璀rXQJXnvZHAbpvntbdQZXQr˂btlrXQJ`tbdQZr˂p~fpvbdQZ|vpftlJXQJ`ےbdQZ|p`JXQf~fpdQZ|vpfHlJtAXQJ`ےdQZ|˂p`JvˍpfJtArdJ`ےZ|d˂pZHAlJtAr`ےbpfH~ے`JXQXv`f|drpZHAbJtArdےbHA|dtAZHAbnXv`drtAH~ftArdbHAZdrtAr˂pvnXdrtAJ~f`rd|HAZpdrtAJXQr˂H~ㅐf|ZdQHAZp˂rtAJlbے`d|ZHAZp˂f`vr˂p~HftAJl璐ے`J|ZdQZp˂Jltے`JXQf~HJlt`vXn|ZdQbp˂rJltZHAbv`fltbvXnZdQbt˂rXQltbpZHAb`vXnbtlrXQJtbdQJXQrdQbt璀rXQJXnv`JXQrpvntbdQZXQr˂btlrXQJ`bnvr˂pfpvbdQZ|r˂ptlJXQJ`ےbdQZ|ے`JXQ~HfpdQZ|vpfHlJtAJ`ےdQZ|ے`Jvˍpf|ZdQb`ےbZ|d˂pZHAlJtAr`ےbpfH~btlXv`f|drpZHAbJtArdےbHApfH`JXQrnXv`drtAZHAbtArdbHAZdrtAr˂pvnXdrtAJ~f`rd|bHAZpdrtAJXQr˂H~ㅐftlJHAZp˂rtAJlbے`d|ZHAZp˂f`v|ZdQbfpvtAJl璐ے`J|ZdQZp˂f`vX˂pZf~fpJltے`JXQ|ZdQbp˂rJlt`JXQrv`f~ltbvXnZdQbt˂rXQltbp`JXQ`vXntArdrXQJtbdQJXQrdQbnXrXQJXnvtlJnrXQJtbdQZXQr˂btlrXQJ`nvpHAbےvnXbdQZ|r˂ptlJXQJ`ےbdQZ|˂pZfpvdQZ|vpfHlJtAJ`ےdQZ|r˂pvˍpf|ZdQb`ےbZ|d˂pZHAv`f`ےbpfH~tArd`ےHA|drpZHAbJtArdےbHAfH~`JXQrv`fdrtAZHAbtArdbHAZdtAJHAbےnXv`drtAJ~f`rd|bHAZpdrtAJZHAbH~ㅐftl|HAZp˂rtAJlbے`~HfpHAZp˂f`v|ZdQbZp˂tAJl璐ے`J|ZdQZp˂f`vX˂p`~HfpJltے`JXQ|ZdQbp˂rltb`JXQrf~HltbvXnrZdQbt˂rXQltbے`JXQ`vXnZdQbtrXQJtbdQJXQrvnXrXQJXnvtl|rXQJ`tbdQZXQr˂btlrXQJ`nvpJXQrbvnXbdQZ|r˂ptlJXQJ`ےnvp˂p`fpvdQZ|˂pZlJtAJ`ےdQZ|r˂pvˍpflJtA`ےbZ|d˂pZHAv`f`ےbpfH~ZdQbtےbHA|drpZHAbJtArdےbHAfH~tl|v`ffdrtAZHAbtArdbHAZfHfJXQrnXv`fdrtAJHAbےrd|bHAZpdrtAJ`JXQrH~ㅐfrd|HAZp˂rtAJlbے`~HfpHAZp˂f`vlJtAZp˂tAJl璐ے`J|ZdQZp˂f`vXZdQbtpvnJltے`JXQ|ZdQbp˂r`vXn˂pZHA~fpvltb`JXQrZdQbt˂rXQltb˂pZ`vXnZdQbtrXQJtbdQJXQrvnXrXQJXnvrd|rXQJ`tbdQZXQr˂bnXvrXQJ`nvplJtArXQJ`bdQZ|r˂ptlJXQJ`ےvpfbے`nXvdQZ|˂pZlJtAJ`ےdQZ|HAbےvˍpfl|Z`ےbZ|d˂pZHAv`f`ےbpfH~ZdQbtےbHA|drpZHAb`f~ےbHAfH~rd|ےHAZdrtAZHAbtArdbHAZH~fJXQr`f~drtAJHAbےrd|bHAZpdtAJl`JXQrH~ㅐfdQbtHAZp˂tAJlbے`~HfpHAZp˂f`vl|ZZp˂tAJl璐ے`JHfpvZp˂f`vXZdQbtp˂rJltے`JXQ|ZdQbp˂r`vXn˂p`JHfpvltb`JXQrZdQbt˂rXQtbn˂p``vXnlJtArrXQJtbnJXQrvnXrXQJXnvdQbtrXQJ`tbdQZXQr˂nXvrXQJ`nvpl|ZXQJ`ےbdQZ|r˂ptlJXQJ`ےvpfXQrbtnXvdQZ|˂pZlJtAJ`ےvpfJXQrvˍpfd|Z`ےbvpfH˂pZHAv`f`ےbpfH~lJtArےbHA|drpZHAb`f~ےbHAfH~dQbt璐bHAZdrtAZHAbtArdbHAZH~fl|Z`ffpdrtAJHAbےrd|bHAZpHf`˂pZHAH~ㅐfdQbtHAZp˂f`vbے`~HfpHAZp˂f`vd|ZZp˂tAJl璐ے`JHfpvZp˂f`vXlJtArp˂rJltے`JXQ|ZdQbp˂r`vXndQbtvnrltb`JXQrZdQbt˂rXQvXnbے``vXnl|ZdQrXQJXnvJXQrvnXrXQJXnvdQbtrXQJ`tbdQZXQr˂nXvrXQJ`nvpd|ZXQJ`ےbdQZ|r˂pnXv`XQJ`ےvpflJtArXQJ`ےdQZ|˂pZlJtAJ`ےvpfHJXQrvˍp|btl`ےbpfH~˂pZHAv`f`ےbpfH~l|ZdQےbHA|dtApZHAb`f~ےbHAfH~dQbt璐bHAZdrtAZHAbf~HbHAZH~fd|ZHAZpdrtAJHAbےrd|bHAZp~f`˂p`ZdrQtJtArdHAZp˂f`vbے`~HfpHAZp˂f`vbtlZp˂Jltے`JHfpvZp˂f`vXl|ZdQp˂rJltے`JXQfpvp˂r`vXndQbt˂rXQltb`JXQrZdQbt˂rXQvXnQXb㉀Jlt|ZdQrXQJXnvJXQrvnXrbdQXnvJtArdrXQJ`bnvXQr˂nXvrXQJ`nvpbtlXQJ`ےbdQZ|r˂pnXv`XQJ`ےvpfl|ZdQJ`ےdQZ|˂pZlJtAJ`ےvpfHpJAHrbAdZ|btl`ےbpfH~˂pZHAv`fZ|dpfH~|ZdQےbHApfHpZHAb`f~ےbHAfH~JtArdbHAZdrtAZHAbf~HbHAZH~fbtlbHAZpdrtAJHAbےrd|bHAZp~f`ˁ`ZdrQt|ZdQbHAZp˂f`vbے`~HfprtAJlf`vbtlZp˂f`vXے`JHfpvZp˂f`vX|ZdQp˂rJltے`JXQfpvp˂r`vXnJtArd˂rXQltb`JXQrZdQbn˂rXQvXnQXb㉀JlttlJrXQJXnvJXQrvnXtbdQXnv|ZdQbrXQJ`nvpXQr˂nXvrXQJ`nvpbtlXQJ`ےbdQZ|r˂pnXv`XQJ`ےvpf|ZdQJ`ےdQZ|˂pZXv`fJ`ےvpfHp`ZQXbAdZ|tArd`ےbpfH~˂pZHAv`fZ|dpfH~tlJےbHAfH~pZHAb`f~ےbHAfH~|ZdQbbHAZdtAJZHAbf~HbHAZH~fbtlbHAZpdrtAJHAbے~HfbHAZp~f`b㉀ۑpdrQt|ZdQbHAZp˂f`vbے`~HfprtAJlf`vtArdZp˂f`vXے`JHfpvZp˂f`vXtlJp˂rltbے`JXQfpvp˂r`vXn|ZdQb˂rXQltb`JXQrpvn˂rXQvXnJAHrJlttl|rXQJXnvJXQrvnXtbdQXnv|ZdQbrXQJ`nvpXQr˂nXvrbdQZnvptArdXQJ`ےnvpr˂pnXv`XQJ`ےvpftlJJ`ےdQZ|˂pZXv`fJ`ےvpfHˁ`ZQXbAdZ|ZdQbn`ےbpfH~˂pZHAv`fZ|dpfH~tl|ےbHAfH~pZHAb`f~|drfH~|ZdQbbHAZfHfZHAbf~HbHAZH~ftArdbHAZpdrtAJHAbے~HfbHAZp~f`b㉀ۑpdrQtXv`fHAZp˂f`vے`J~HfprtAJlf`vZdQbtZp˂f`vXے`JHfpvtAJlf`vXtl|p˂r`vXnے`JXQfpvp˂r`vXn|ZdQb˂rXQltb`JXQrpvn˂rXQvXn`ZQXbJlt~fpvrXQJXnvXQrbtvnXtbdQXnvlJtArXQJ`nvpXQr˂nXvtbdQZnvpZdQbtXQJ`ےvpfr˂pnXv`XQJ`ےvpftl|J`ےdQZ|˂pZXv`fJ`ےvpfHۑpJbAdZ|nXv``ےbpfH~lJtAv`fZ|dpfH~rd|ےbHAfH~pZHAb`f~|drfH~lJtAbHAZH~fZHAbf~HbHAZH~fZdQbtbHAZpdtAJlHAbے~HfbHAZp~f`AHr󙐂˂drQtf~HHAZp˂f`vd|Z~HfprtAJlf`vZdQbtZp˂f`vXے`JHfpvtAJlf`vXrd|p˂r`vXnے`JXQfpvp˂r`vXnlJtA˂rXQtbn`JXQrpvn˂rXQvXn`ZQXbJltfpvrXQJXnvdQbtvnXtbdQXnvl|ZrXQJ`nvpXQr˂nXvtbdQZnvpZdQbtXQJ`ےvpfr˂pnXv`bdQZ|vpfrd|J`ےvpf˂pZXv`fJ`ےvpfHۑp`bAdZ|nXv``ےbpfH~lJtArv`fZ|dpfH~dQbnXےbHAfH~pZHA`f~|drfH~l|ZbHAZH~fZHAbf~HdrtAH~fZdQbtbHAZpHf`HAbے~HfbHAZp~f`ZQXb㉀drQtf~fpHAZp˂f`vd|Z~HfprtAJlf`vv`f~Zp˂f`vXے`JXQHfpvtAJlf`vXdQbtp˂r`vXnے`JXQfpvJlt`vXnl|Z˂rXQvXn`JXQrpvn˂rXQvXnۑpJAHJltvnXrXQJXnvdQbtvnXtbdQXnrfpvrXQJ`nvprbt璀nXvtbdQZnvplJtArXQJ`ےvpfr˂pnXv`bdQZ|vpfdQbtJ`ےvpfH˂pZXv`fJ`ےvpfHr󙐂ˁ`bAdZ|v`f`ےbpfH~lJtArv`fZ|d˂p`JnXv`ےbHAfH~lJtAd`f~|drfH~d|ZbHAZH~fZHAbf~HdrtAH~flJtArbHAZp~f`HAbے~HfbHAZp~f`ZQXb㉀drQt~HfpHAZp˂f`vd|Z~HfprtAJlXQr˂f~HZp˂f`vX|ZdQHfpvtAJlf`vXdQbtp˂r`vXnے`JXQfpvJlt`vXnd|Z˂rXQvXn`JXQrpvn˂rbvXnۑp`ZJltvnXrbdQXnvdQbtvnXtbdQpZHAbfpvrXQJ`nvpbtlnXvtbdQZnvpl|ZdQXQJ`ےvpfr˂pnXv`bdQZ|vpfdQbtJ`ےvpfH˂pZXv`fdQZ|vpfHQXb㉀bAdZ|v`f~Z|dpfH~lJtArv`fZ|dے`JnXv`fےbHAfH~JtArd`f~|drfH~bnXvbHAZH~fZHAےf~HdrtAH~fl|ZdQbHAZp~f`HAbے~HfdrtAJ~f`pJAHrdrQtfpvrtAJlf`vd|Z~HfprtAJlXQr˂~fpvZp˂f`vX|ZdQHfpvtAJlf`vX`f~fpp˂r`vXn`JXQrfpvJlt`vXnbtl˂rXQvXn`JXQrpvnltbvXnˁ`ZJltnXv`tbdQXnvdQbtvnXtbdQp`JXQnXvrXQJ`nvpbtlnXvtbdQZnr˂vnXXQJ`ےvpfbtlnXv`bdQZ|vpfJtArdJ`ےvpfH˂pZXv`fdQZ|vpfHQXb㉀bAdZ|f~HZ|dpfH~lJtArv`fZ|dr˂p`f~ےbHAfH~JtArd`f~|drp`JXQv`fbHAZH~fJtAdf~HdrtAH~f|ZdQbHAZp~f`HAbے~HfdrtAJ~f`p`ZQXdrQtfpvrtAJlf`vd|ZHfpvrtAJlZHAbHfpvZp˂f`vX|ZdQHfpvtAJlr˂p~Hfpp˂r`vXn|ZdQbfpvJlt`vXnbtl˂rXQvXn`JXQrpvnltbvXnb㉀ۑpJltnXv`ftbdQXnvdQbt璀nrXQtbdQے`JXQnXvrbdQZnvpbtlnXvtbdQZZHAbvnXXQJ`ےvpftlJnXv`bdQZ|vpf|ZdQbJ`ےvpfH˂pZXv`fdQZ|vpfHJAHrbAdZ|~fpvZ|dpfH~lJtArJ`ےZ|dr˂p`f~fp|drfH~JtArd`f~|drے`JXQv`f~bHAZH~ftArdf~HdrtAH~fnXv`bHAZp~f`HAے`~HfdrtAJ~f`ˁ`ZQXdrQtnXvrtAJlf`vd|ZHAZp˂rtAJl`JXQrvnXtAJlf`vX|ZdQHfpvtAJlr˂pfpvp˂r`vXn|ZdQbfpvJlt`vXnf~fp˂rXQvXnJXQrbpvnltbvXnb㉀XnJlt`f~tbdQXnvdQbt璀rXQJtbdQ˂pZv`ftbdQZnvpbtlnXvtbdQZ`JXQrnXv`XQJ`ےvpftlJnXv`bdQZ|r˂pvnXJ`ےvpfHtlJXv`fdQZ|vpfHvˍpfbAdZ|HfpvZ|dpfH~lJtAr`ےbZ|dHAbے~Hfp|drfH~JtArd`fH|dr˂pZf~HbHAZH~ftArdf~HdrtA`JXQrv`fbHAZp~f`tAd|~HfdrtAJ~f`H~ㅐfۂdrQtnXvrtAJlf`vd|ZHAZp˂rtAJl`JXQrvnXtAJlf`vX|ZdQfpvtAJlHAbےfpvp˂r`vXn|ZdQbfpvJlt˂pZ~Hfp˂rXQvXnZdQbtpvnltbvXn`vXnJlt`f~fptbdQXnvdQbt璀rXQJtbdQ˂p`v`f~tbdQZnvpbtlnrXQJtbdQZ`JXQrnXv`bdQZ|vpftlJnXv`bdQZ|HAbےvnXJ`ےvpfHlJtAXv`fdQZ|vpfHvˍpfbAdZ|vnXZ|dpfH~lJtAr`ےbZ|dJXQrfpv|drfH~JtArd`ےHA|dr˂p`f~fpdrtAH~ftArdf~HdrtA`JXQrv`f~fbHAZp~f`rd|~HfdrtAJ~f`H~ㅐfۂdrQt----------------------......................................... \ No newline at end of file diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv35_3.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv35_3.dat deleted file mode 100644 index a827705dd2..0000000000 --- a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv35_3.dat +++ /dev/null @@ -1,313 +0,0 @@ -{|{|{|{|zyzyzyzyxwxwxwxwtstststsrqrqrqrqnmnmnmnmlklklklkjijijijifefefefebabababa`_`_`_`_^]^]^]^]ZYZYZYZY{|{{{{{{zyzyzyzyxwxwxwvutstststsrqrqrqrqnmnmnmnmlklklklkjijijijifefefefebabababa`_`_`_`_^]^]^]^]ZYZYZYZY|{|{|{|{zyzyzyzyvuvuvuvutstststsrqrqrqrqnmnmnmnmlklklklkjijijijifefefefebabababa`_`_`_`_^]^]^]^]ZYZYZYZY|{|{|{|{zyzyzyzyvuvuvuvutstststsrqrqrqrqnmnmnmnmlklklklkjijijijifefefefebabababa`_`_`_`_^]^]^]^]ZYZYZYZY|{|{|{|{zyzyzyzyvuvuvuvutstststsrqrqrqrqnmnmnmnmlklklklkjijijijifefefefebabababa`_`_`_`_^]^]^]^]ZYZYZYZY|{|{|{|{zyzyzyzyvuvuvuvutstststsrqrqrqrqnmnmnmnmlklklklkjijijijifefefefebabababa`_`_`_`_^]^]^]^]ZYZYZYZY|{|{|{{{zyzyzyzyvuvuvuvutstststsrqrqrqrqnmnmnmnmlklklklkjijijijifefefefebabababa`_`_`_`_^]^]^]^]ZYZYZYZY{{{|{|{|zyzyzyzyvuvuvuvutstststsrqrqrqrqnmnmnmnmlklklklkjijijijifefefefebabababa`_`_`_`_^]^]^]^]ZYZYZYZY{|{|{|{|zyzyzyzyvuvuvuvutstststsrqrqrqrqnmnmnmnmlklklklkjijijijifefefefebabababa`_`_`_`_^]^]^]^]ZYZYZYZY{|{|{|{|zyzyzyzyvuvuvuvutstststsrqrqrqrqnmnmnmnmlklklklkjijijihgfefefefebabababa`_`_`_`_^]^]^]^]ZYZYZYZY{|{|{|{|zyzyzyzyvuvuvuvutstststsrqrqrqrqnmnmnmnmlklklklkhghghghgfefefefebabababa`_`_`_`_^]^]\[\[ZYZYZYZY{|{|{|{|zyzyzyzyvuvuvuvutstststsrqrqrqrqnmnmnmnmlklklklkhghghghgfefefefebabababa`_`_`_`_\[\[\[\[ZYZYZYZY{{{{{{|{zyzyzyzyvuvuvuvutstststsrqrqrqponmnmnmnmlklklklkhghghghgfefefefebabababa`_`_`_`_\[\[\[\[ZYZYZYZY|{|{|{|{zyzyzyzyvuvuvuvutstststspopopoponmnmnmnmlklklklkhghghghgfefefefebabababa`_`_`_`_\[\[\[\[ZYZYZYZY|{|{|{|{zyzyzyzyvuvuvuvutstststspopopoponmnmnmnmlklklklkhghghghgfefefefebabababa`_`_`_`_\[\[\[\[ZYZYZYZY|{|{|{|{zyzyzyxwvuvuvuvutstststspopopoponmnmnmnmlklklklkhghghghgfefefefebabababa`_`_`_`_\[\[\[\[ZYZYZYZY|{|{|{|{xwxwxwxwvuvuvuvutstststspopopoponmnmnmnmlklklklkhghghghgfefefefebabababa`_`_`_`_\[\[\[\[ZYZYZYZY~}~}|{|{{{{{xwxwxwxwvuvuvuvutstststspopopoponmnmnmnmlklklklkhghghghgfefefedcbabababa`_`_`_`_\[\[\[\[ZYZYZYZY~}~}~}~}{|{|{|{|xwxwxwxwvuvuvuvutstststspopopoponmnmnmnmlklklklkhghghghgdcdcdcccbabababa`_`_`_`_\[\[\[\[ZYZYZYZY~}~}~}~}{|{|{|{|xwxwxwxwvuvuvuvutstststspopopoponmnmnmnmlklklklkhghghghgcccdcdcdbabababa`_`_`_`_\[\[\[\[ZYZYZYZY~}~}~}~}{|{|{|{|xwxwxwxwvuvuvuvutstststspopopoponmnmnmnmlklklklkhghghghgcdcdcdcdbabababa`_`_`_`_\[\[\[\[ZYZYZYZY~}~}~}~}{|{|{|{|xwxwxwxwvuvuvuvutstststspopopoponmnmnmnmlklklklkhghghghgcdcdcdcdbabababa`_`_`_`_\[\[\[\[ZYZYZYZY~}~}~}~}{|{|{|{{xwxwxwxwvuvuvuvutstststspopopoponmnmnmnmlklklklkhghghghgcdcdcdcdbabababa`_`_`_`_\[\[\[\[ZYZYZYZY~}~}~}~}{{{{|{|{xwxwxwxwvuvuvuvutstststspopopoponmnmnmnmlklklkjihghghghgcdcdcdcdbabababa`_`_`_`_\[\[\[\[ZYZYZYZY~}~}~}~}|{|{|{|{xwxwxwxwvuvuvuvutstststspopopoponmnmnmnmjijijijihghghghgccccccdcbabababa`_`_^]^]\[\[\[\[ZYZYZYZY~}~}~}~}|{|{|{|{xwxwxwxwvuvuvuvutstststspopopoponmnmnmnmjijijijihghghghgdcdcdcdcbabababa^]^]^]^]\[\[\[\[ZYZYZYZY~}~}~}~}|{|{|{|{xwxwxwxwvuvuvuvutststsrqpopopoponmnmnmnmjijijijihghghghgdcdcdcdcbabababa^]^]^]^]\[\[\[\[ZYZYZYZY~}~}~}~}|{|{|{|{xwxwxwxwvuvuvuvurqrqrqrqpopopoponmnmnmnmjijijijihghghghgdcdcdcdcbabababa^]^]^]^]\[\[\[\[ZYZYZYZY~}~}~}~}|{{{{{|{xwxwxwxwvuvuvuvurqrqrqrqpopopoponmnmnmnmjijijijihghghghgdcdcdcdcbabababa^]^]^]^]\[\[\[\[ZYZYZYZY~}~}~}~}|{|{|{zyxwxwxwxwvuvuvuvurqrqrqrqpopopoponmnmnmnmjijijijihghghghgdcdcccccbabababa^]^]^]^]\[\[\[\[ZYZYZYZY~}~}~}~}zyzyzyzyxwxwxwxwvuvuvuvurqrqrqrqpopopoponmnmnmnmjijijijihghghghgcdcdcdcdbabababa^]^]^]^]\[\[\[\[ZYZYZYZY~}~}~}~}zyzyzyzyxwxwxwxwvuvuvuvurqrqrqrqpopopoponmnmnmnmjijijijihghghghgcdcdcdcdbabababa^]^]^]^]\[\[\[\[ZYZYZYZY~}~}~}~}zyzyzyzyxwxwxwxwvuvuvuvurqrqrqrqpopopoponmnmnmnmjijijijihghghghgcdcdcdcdbabababa^]^]^]^]\[\[\[\[ZYZYZYZY~}~}~}~}zyzyzyzyxwxwxwxwvuvuvuvurqrqrqrqpopopoponmnmnmnmjijijijihghghghgcdcdcdcdbabababa^]^]^]^]\[\[\[\[ZYZYZYZY~}~}~}~}zyzyzyzyxwxwxwxwvuvuvuvurqrqrqrqpopopoponmnmnmnmjijijijihghghghgcdcdcdccbabababa^]^]^]^]\[\[\[\[ZYZYZYZY~}~}~}~}zyzyzyzyxwxwxwxwvuvuvuvurqrqrqrqpopopoponmnmnmnmjijijijihghghghgccccdcdcbabababa^]^]^]^]\[\[\[\[ZYZYXWXW~}~}~}~}zyzyzyzyxwxwxwxwvuvuvuvurqrqrqrqpopopoponmnmnmnmjijijijihghghghgdcdcdcdcbabababa^]^]^]^]\[\[\[\[XWXWXWXW~}~}~}~}zyzyzyzyxwxwxwxwvuvuvuvurqrqrqrqpopopoponmnmnmlkjijijijihghghghgdcdcdcdcbabababa^]^]^]^]\[\[\[\[XWXWXWXW~}~}~}~}zyzyzyzyxwxwxwxwvuvuvuvurqrqrqrqpopopopolklklklkjijijijihghghghgdcdcdcdcbaba`_`_^]^]^]^]\[\[\[\[XWXWXWXW~}~}~}~}zyzyzyzyxwxwxwxwvuvuvuvurqrqrqrqpopopopolklklklkjijijijihghghghgdcdcdcdc`_`_`_`_^]^]^]^]\[\[\[\[XWXWXWXWXWXWXWXW~}~}~}~}zyzyzyzyxwxwxwxwvuvuvutsrqrqrqrqpopopopolklklklkjijijijihgfefefedccccccd`_`_`_`_^]^]^]^]\[\[\[\[XWXWXWXWXWXWXWXW~}~}~}~}zyzyzyzyxwxwxwxwtstststsrqrqrqrqpopopopolklklklkjijijijifefefefecdcdcdcd`_`_`_`_^]^]^]^]\[\[\[\[XWXWXWXWXWXWXWXW~}~}~}~}zyzyzyzyxwxwxwxwtstststsrqrqrqrqpopopopolklklklkjijijijifefefefecdcdcdcd`_`_`_`_^]^]^]^]\[\[\[\[XWXWXWXWXWXWXWXW~}~}~}~}zyzyzyzyxwxwxwxwtstststsrqrqrqrqpopopopolklklklkjijijijifefefefecdcdcdcd`_`_`_`_^]^]^]^]\[\[\[\[XWXWXWXWXWXWXWXW~}~}~}~}zyzyzyzyxwxwxwxwtstststsrqrqrqrqpopopopolklklklkjijijijifefefefecdcdcdcd`_`_`_`_^]^]^]^]\[\[\[\[XWXWXWXWXWXWXWXW~}~}~}~}zyzyzyzyxwxwxwxwtstststsrqrqrqrqpopopopolklklklkjijijijifefefefecdcdcccc`_`_`_`_^]^]^]^]\[\[\[\[XWXWXWXWXWXWXWXW~}~}~}~}zyzyzyzyxwxwxwxwtstststsrqrqrqrqpopopopolklklklkjijijijifefefefeccdcdcdc`_`_`_`_^]^]^]^]\[\[\[\[XWXWXWXWXWXWXWXW~}~}~}~}zyzyzyzyxwxwxwxwtstststsrqrqrqrqpopopopolklklklkjijijijifefefefedcdcdcdc`_`_`_`_^]^]^]^]\[\[\[\[XWXWXWXWXWXWXWXW|{|{|{|{zyzyzyzyxwxwxwxwtstststsrqrqrqrqpopopopolklklklkjijijijifefefefedcdcdcdc`_`_`_`_^]^]^]^]\[\[\[\[XWXWXWXWXWXWXWXW{{{{{|{|zyzyzyzyxwxwxwxwtstststsrqrqrqrqpopopopolklklklkjijijijifefefefedcdcdcdc`_`_`_`_^]^]^]^]\[\[ZYZYXWXWXWXWXWXWXWXW{|{|{|{|zyzyzyzyxwxwxwxwtstststsrqrqrqrqpopopopolklklklkjijijijifefefefedcdcdcdc`_`_`_`_^]^]^]^]ZYZYZYZYXWXWXWXWXWXWXWXW{|{|{|{|zyzyzyzyxwxwxwxwtstststsrqrqrqrqpopoponmlklklklkjijijijifefefefeccccdcdc`_`_`_`_^]^]^]^]ZYZYZYZYXWXWXWXWXWXWXWXW{|{|{|{|zyzyzyzyxwxwxwxwtstststsrqrqrqrqnmnmnmnmlklklklkjijijijifefefefedcdcbaba`_`_`_`_^]^]^]^]ZYZYZYZYXWXWXWXWXWXWXWXWXWXWXWXWTSTSTSTSRQRQRQRQNMNMNMNMKLKLKLKLHGHGHGHGFEFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=<;<;<;<;8787878734343434212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#"!"!"!"!    - - - - XWXWXWXWTSTSTSTSRQRQRQRQNMNMNMNMKLKKKKKKHGHGHGHGFEFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=<;<;<;<;8787878734343434212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#"!"!"!"!    - - - - XWXWXWXWTSTSTSTSRQRQRQRQNMNMNMNMLKLKLKLKHGHGHGHGFEFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=<;:9:9:98787878734343333212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#"!"!"!"!    - - - - XWXWXWXWTSTSTSTSRQRQRQRQNMNMNMNMLKLKLKLKHGHGHGHGFEFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:9878787873343434321212121.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#"!"!"!"!    - - - - XWXWXWXWTSTSTSTSRQRQRQRQNMNMNMNMLKLKLKLKHGHGHGHGFEFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:9878787874343434321212121.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#"!"!"!"!    - - - - XWXWXWXWTSTSTSTSRQRQRQRQNMNMNMNMLKLKLKLKHGHGHGHGFEFEFEFEDCBABABA@?@?@?@?>=>=>=>=:9:9:9:9878787874343434321212121.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#"!"!"!"!    - - - - XWXWXWXWTSTSTSTSRQRQRQRQNMNMNMNMLKLKLKKKHGHGHGHGFEFEFEFEBABABABA@?@?@?@?>=>=>=>=:9:9:9:9878787874343434321212121.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#"!"!"!"!    - - - - XWXWVUVUTSTSTSTSRQRQRQRQNMNMNMNMKKLKLKLKHGHGHGHGFEFEFEFEBABABABA@?@?@?@?>=>=>=>=:9:9:9:9878787874343434321212121.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#"!"!"!"!    - - - - VUVUVUVUTSTSTSTSRQRQRQRQNMNMNMNMLKJIJIJIHGHGHGHGFEFEFEFEBABABABA@?@?@?@?>=>=>=>=:9:9:9:9878787873333343421212121.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#"!"!"!"!   - - - - VUVUVUVUTSTSTSTSRQRQRQRQNMNMNMNMJIJIJIJIHGHGHGHGFEFEFEFEBABABABA@?@?@?@?>=>=>=>=:9:9:9:9878787873434343421212121.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#"!"!"!"! - - - - VUVUVUVUTSTSTSTSRQRQRQRQNMNMNMNMJIJIJIJIHGHGHGHGFEFEFEFEBABABABA@?@?@?@?>=>=>=>=:9:9:9:9878787873434343421212121.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#"!"!"!"! - - - - VUVUVUVUTSTSTSTSRQRQRQRQNMNMNMNMJIJIJIJIHGHGHGHGFEFEFEFEBABABABA@?@?@?@?>=>=>=>=:9:9:9:9878787873434343421212121.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#     - - - - VUVUVUVUTSTSTSTSRQRQRQRQNMNMNMNMJIJIJIJIHGHGHGHGFEFEFEFEBABABABA@?@?@?@?>=>=>=>=:9:9:9:9878787873434343421212121.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#     - - - - VUVUVUVUTSTSTSTSRQRQRQRQNMNMNMNMJIJIJIJIHGHGHGHGFEFEFEFEBABABABA@?@?@?@?>=>=>=>=:9:9:9:9878787873433333321212121.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#     - - - - VUVUVUVUTSTSTSTSRQRQRQRQNMNMNMNMJIJIJIJIHGHGHGHGFEFEFEFEBABABABA@?@?@?@?>=>=>=>=:9:9:9:9878787874343434321212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#$#     - - - - VUVUVUVUTSTSTSTSRQRQRQRQNMNMNMNMJIJIJIJIHGHGHGHGFEFEFEFEBABABABA@?@?@?@?>=>=>=>=:9:9:9:9878787874343434321212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#$#     - - - - VUVUVUVUTSTSTSTSRQRQRQRQNMNMNMNMJIJIJIJIHGHGHGHGFEFEFEFEBABABABA@?@?@?@?>=<;<;<;:9:9:9:9878787874343434321212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#$#     - - - - VUVUVUVUTSTSTSTSRQRQRQRQNMNMNMNMJIJIJIJIHGHGHGHGFEFEFEFEBABABABA@?@?@?@?<;<;<;<;:9:9:9:987878787434343430/0/0/0/.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#$#     - - - - VUVUVUVUTSTSTSTSRQRQPOPONMNMNMNMJIJIJIJIHGHGHGHGFEFEFEFEBABABABA@?@?@?@?<;<;<;<;:9:9:9:987878765434343330/0/0/0/.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#$#     - - - - VUVUVUVUTSTSTSTSPOPOPOPONMNMNMNMJIJIJIJIHGHGHGHGFEDCDCDCBABABABA@?@?@?@?<;<;<;<;:9:9:9:965656565333434340/0/0/0/.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#$#     - - - - VUVUVUVUTSTSTSTSPOPOPOPONMNMNMNMJIJIJIJIHGHGHGHGDCDCDCDCBABABABA@?@?@?@?<;<;<;<;:9:9:9:965656565343434340/0/0/0/.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#$#     - - - - VUVUVUVUTSTSTSTSPOPOPOPONMNMNMNMJIJIJIJIHGHGHGHGDCDCDCDCBABABABA@?@?@?@?<;<;<;<;:9:9:9:965656565343434340/0/0/0/.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#$#     - - - - VUVUVUVUTSTSTSTSPOPOPOPONMNMNMNMJIJIJIJIHGHGHGHGDCDCDCDCBABABABA@?@?@?@?<;<;<;<;:9:9:9:965656565343434340/0/0/0/.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#$#     - - - - VUVUVUVUTSTSTSTSPOPOPOPONMNMNMNMJIJIJIJIHGHGHGHGDCDCDCDCBABABABA@?@?@?@?<;<;<;<;:9:9:9:965656565343434340/0/0/0/.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#$#        - - - - VUVUVUVUTSTSTSTSPOPOPOPONMNMNMNMJIJIJIJIHGHGHGHGDCDCDCDCBABABABA@?@?@?@?<;<;<;<;:9:9:9:965656565333333430/0/0/0/.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#$#        - - - - VUVUVUVUTSTSTSTSPOPOPOPONMNMNMNMJIJIJIJIHGHGHGHGDCDCDCDCBABABABA@?@?@?@?<;<;<;<;:9:9:9:965656565434343430/0/0/0/.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!        - - - - VUVUVUVUTSTSTSTSPOPOPOPONMNMLKLKJIJIJIJIHGHGHGHGDCDCDCDCBABABABA@?@?@?@?<;<;<;<;:9:9:9:965656565434343430/0/0/0/.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!        - - - - VUVUVUVUTSTSTSTSPOPOPOPOLKLKKKKKJIJIJIJIHGHGHGHGDCDCDCDCBABABABA@?@?@?@?<;<;<;<;:9:9:9:965656565434343430/0/0/0/.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!        - - - - VUVUVUVUTSTSTSTSPOPOPOPOKLKLKLKLJIJIJIJIHGHGHGHGDCDCDCDCBABABABA@?@?@?@?<;<;<;<;:9:9:9:965656565434343430/0/0/0/.-.-.-.-*)*)*)*)('('('('&%&%&%&%"!"!"!"!        - - - - VUVUVUVUTSTSTSTSPOPOPOPOKLKLKLKLJIJIJIJIHGHGHGHGDCDCDCDCBABABABA@?@?@?@?<;<;<;<;:9:9:9:965656565434333330/0/0/0/.-.-.-.-*)*)*)*)('('('('&%&%&%&%"!"!"!"!        - - - - VUVUVUVUTSTSTSTSPOPOPOPOKLKLKLKLJIJIJIJIHGHGHGHGDCDCDCDCBABABABA@?>=>=>=<;<;<;<;:9:9:9:965656565434343430/0/0/0/.-.-.-.-*)*)*)*)('('('('&%&%&%&%"!"!"!"!        - - - - VUVUVUVUTSTSTSTSPOPOPOPOKLKLKLKLJIJIJIJIHGHGHGHGDCDCDCDCBABABABA>=>=>=>=<;<;<;<;:9:9:9:965656565212121210/0/0/0/.-.-.-.-*)*)*)*)('('('('&%&%&%&%"!"!"!"!        - - - - VUVUVUVUTSTSRQRQPOPOPOPOKLKLKLKKJIJIJIJIHGHGHGHGDCDCDCDCBABABABA>=>=>=>=<;<;<;<;:9:9:9:965656565212121210/0/0/0/.-.-.-.-*)*)*)*)('('('('&%&%&%&%"!"!"!"!        - - - - VUVUVUVURQRQRQRQPOPOPOPOKKKKLKLKJIJIJIJIHGFEFEFEDCDCDCDCBABABABA>=>=>=>=<;<;<;<;:9:9:9:965656565212121210/0/0/0/.-.-.-.-*)*)*)*)('('('('&%&%&%&%"!"!"!"!        - - - VUVUVUVURQRQRQRQPOPOPOPOLKLKLKLKJIJIJIJIFEFEFEFEDCDCDCDCBABABABA>=>=>=>=<;<;<;<;:9:9:9:965656565212121210/0/0/0/.-.-.-.-*)*)*)*)('('('('&%&%&%&%"!"!"!"!        VUVUVUVURQRQRQRQPOPOPOPOLKLKLKLKJIJIJIJIFEFEFEFEDCDCDCDCBABABABA>=>=>=>=<;<;<;<;:9:9:9:965656565212121210/0/0/0/.-.-.-.-*)*)*)*)('('('('&%&%&%&%"!"!"!"!        VUVUVUVURQRQRQRQPOPOPOPOLKLKLKLKJIJIJIJIFEFEFEFEDCDCDCDCBABABABA>=>=>=>=<;<;<;<;:9:9:9:965656565212121210/0/0/0/.-.-.-.-*)*)*)*)('('('('&%&%&%&%"!"!"!"!        VUVUVUVURQRQRQRQPOPOPOPOLKLKLKLKJIJIJIJIFEFEFEFEDCDCDCDCBABABABA>=>=>=>=<;<;<;<;:9:9:9:965656565212121210/0/0/0/.-.-.-.-*)*)*)*)('('('('&%&%&%&%"!"!"!"!        VUVUVUVURQRQRQRQPOPOPOPOLKKKKKKLJIJIJIJIFEFEFEFEDCDCDCDCBABABABA>=>=>=>=<;<;<;<;:9:9:9:965656565212121210/0/0/0/.-.-.-.-*)*)*)*)('('('('&%&%&%&%"!"!"!"!        VUVUVUVURQRQRQRQPOPOPOPOKLKLKLKLJIJIJIJIFEFEFEFEDCDCDCDCBABABABA>=>=>=>=<;<;<;<;:9:9:9:965656565212121210/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!"!"!"!        VUVUVUVURQRQRQRQPOPOPOPOKLKLKLKLJIJIJIJIFEFEFEFEDCDCDCDCBABABABA>=>=>=>=<;<;<;<;:9:9:9:965656565212121210/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!"!"!"!        VUVUVUVURQRQRQRQPOPOPOPOKLKLKLKLJIJIJIJIFEFEFEFEDCDCDCDCBABABABA>=>=>=>=<;<;<;<;:987878765656565212121210/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!"!"!"!      VUVUVUVURQRQRQRQPOPOPOPOKLKLKLKLJIJIJIJIFEFEFEFEDCDCDCDCBABABABA>=>=>=>=<;<;<;<;8787878765656565212121210/0/0/0/,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"!    VUVUVUVURQRQRQRQPOPOPOPOKLKLKKKKJIJIJIJIFEFEFEFEDCDCDCDCBABABABA>=>=>=>=<;<;<;<;8787878765656565212121210/0/0/0/,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"!    VUVUVUVURQRQRQRQPOPOPOPOKKLKLKLKJIJIJIJIFEFEFEFEDCDCDCDCBA@?@?@?>=>=>=>=<;<;<;<;8787878765656565212121210/0/0/0/,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"!    VUVUVUVURQRQRQRQPOPOPOPOLKLKLKLKJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=<;<;<;<;8787878765656565212121210/0/0/0/,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"!    VUVUTSTSRQRQRQRQPOPOPOPOLKLKLKLKJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=<;<;<;<;8787878765656565212121210/0/0/0/,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"!    TSTSTSTSRQRQRQRQPOPOPOPOLKLKLKLKJIHGHGHGFEFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=<;<;<;<;8787878765656565212121210/0/0/0/,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"!    - TSTSTSTSRQRQRQRQPOPOPOPOLKLKLKLKHGHGHGHGFEFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=<;<;<;<;8787878765656565212121210/0/0/0/,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"!    - - - - TSTSTSTSRQRQRQRQNMNMNMNMKKKKKLKLHGHGHGHGFEFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=<;<;<;<;8787878765434343212121210/0/0/0/,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"!    - - - - TSTSTSTSRQRQRQRQNMNMNMNMKLKLKLKLHGHGHGHGFEFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=<;<;<;<;8787878743333334212121210/0/0/0/,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"!    - - - - TSTSTSTSRQRQRQRQNMNMNMNMKLKLKLKLHGHGHGHGFEFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=<;<;<;<;8787878734343434212121210/0/0/0/,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"!    - - - - TSTSTSTSRQRQRQRQNMNMNMNMKLKLKLKLHGHGHGHGFEFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=<;<;<;<;8787878734343434212121210/0/0/0/,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"!    - - - - IIJJKKLL(''&&%%$~~}}UUVVWWXX ttssrrqqaabbccddYYXXWWVV^^__``aakkjjiihhjjkkllmm __^^]]\\vvwwxxyyBBCCDDEEbbaa``__ssttuuvvMMNNOOPP$##""!! ||{{zzyyYYZZ[[\\ - - ppoonnmmeeffgghhUUTTSSRR~}|bbccddeeggffeeddnnooppqq - - [[ZZYYXXzz{{||}}FFGGHHII - -^^]]\\[[wwxxyyzzQQRRSSTT!!""##xxwwvvuu]]^^__``llkkjjiiiijjkkllQQKKJJII{{zzyyxxffgghhiiccbbaa``rrssttuuWWVVUUTT~~JJKKQQRR ZZYYXXWW{{||}}~~UUVVWWXX$$%%&&''ttssrrqqaabbccddhhggffeemmnnoopp - - HHGGFFEEwwvvuuttjjkkllmm __^^]]\\vvwwxxyySSRRQQPPSSTTUUVVVVUUTTSSYYZZ[[\\(())**++ppoonnmmeeffgghhddccbbaaqqrrsstt DDCCBBAAssrrqqppnnooppqq - - [[ZZYYXXzz{{||}}OONNMMLLWWXXYYZZRRQQPPOO !!""]]^^__``,,--..//llkkjjiiiijjkkll``__^^]]uuvvwwxx@@??>>==oonnmmllrrssttuuWWVVUUTT~~KKJJIIHH[[\\]]^^NNMMLLKK##$$%%&&aabbccdd00112233 - -hhggffeemmnnoopp - - \\[[ZZYYyyzz{{||<<;;::99kkjjiihgvvwwxxyySSRRQQPP !!GGFFEEDD__``aabbJJIIHHGG''(())**~~}}eeffgghh99::;;<< ddccbbaaqqrrsstt XXWWVVUU}}~~33221100fedccbbazz{{||}}OONNMMLL""##$$%%CCBBAA@@cciijjkk !!""FFEEDDCC++,,--..||{{zzyyiijjkkll==>>??@@``__^^]]uuvvwwxxTTSSRRQQ //..--,,a``__^^]~~KKJJIIHH&&''(())??>>==<>==<<;;33445566ttssrrqqqqrrssttEEFFGGHH XXWWVVUU}}~~LLKKJJII%%&&''((''&&%%$$YXXWWVVU""##$$%%CCBBAA@@..//001177665544ttuuvvww++,,--..::998877778899::ppoonnmmuuvvwwxxIIJJKKQQTTSSRRQQ HHGGFFEE))**++,,##""!!UTTSSRRQ&&''(())??>>==<<2233445533221100xxyyzz{{//00112266554433;;<<==>>llkkjjiiyyzz{{||RRSSTTUUPPOONNMM!!""##$$DDCCBBAA--..//00QPONMLKK**++,,--;;::998866778899//..--,,33445566221100//??@@AABBhhggffee}}~~VVWWXXYYLLKKJJII%%&&''((@@??>>==11223344JJIIHHGG..//001177665544::;;<<==++**))((778899::..--,,++CCDDEEFFddccbbaaZZ[[\\]] HHGGFFEE))**++,,<<;;::9955667788FFEEDDCC2233445533221100>>??@@AA''&&%%$$;;<<==>>**))((''GGHHIIJJ``__^^]]^^__``aa!!""##$$DDCCBBAA--..//008877665599::;;<< BBAA@@??66778899//..--,,BBCCDDEE##""!! {{zz??@@AABB&&%%$$##KKLLMMNN\\[[ZZYYbbcciijj%%&&''((@@??>>==1122334444332211==>>??@@ - - >>==<<;;::;;<<==++**))((FFGGHHIIyyxxwwvvCCDDEEFF""!! OOPPQQRRXXWWVVUUkkllmmnn))**++,,<<;;::995566778800//..--AABBCCDD::998765>>??@@AA''&&%%$$JJKKLLMMuuttssrrGGHHIIJJSSTTUUVVTTSSRRQQooppqqrr--..//008877665599::;;<<,,++**))EEFFGGHH - -43322110BBCCDDEE##""!! NNOOPPQQqqppoonnKKLLMMNN~~}}||{{WWXXYYZZPPOONNMMssttuuvv1122334444332211==>>??@@((''&&%%IIJJKKLL 0//..--,FFGGHHIIRRSSTTUUmmllkkjjOOPPQQRRzzyyxxww[[\\]]^^LLKKJJIIwwxxyyzz5566778800//..--AABBCCDD$$##""!!MMNNOOPP,++**))(JJKKLLMM~~}}||VVWWXXYY iiccbbaaSSTTUUVVvvuuttss__``aabbHHGGFFEE{{99::;;<<,,++**))EEFFGGHH QQRRSSTT(''&&%%$NNOOPPQQ{{zzyyxxZZ[[\\]] - - ``__^^]]WWXXYYZZ rrqqppooccddeeffDDCCBBAA==>>??@@((''&&%%IIJJKKLL~~}}UUVVWWXX$##""!! RRSSTTUUwwvvuutt^^__``aa\\[[ZZYY[[\\]]^^ - - nnmmllkkgghhiijj@@??>>==AABBCCDD$$##""!!MMNNOOPP||{{zzyyYYZZ[[\\!!""##~~}}||VVWWXXYY ssrrqqppbbccddeeXXWWVVUU__``aabbjjiihhggkkllmmnn<<;;::99EEFFGGHH QQRRSSTTxxwwvvuu]]^^__``$$%%&&''{{zzyyxxZZ[[\\]] - - oonnmmllffgghhiiTTSSRRQQ~}|{{ccddeeffffeeddccooppqqrr88776655IIJJKKLL~~}}UUVVWWXX ttssrrqqaabbccdd(())**++wwvvuutt^^__``aakkjjiihhjjkkllmm KKJJIIHHzzyyxxwwgghhiijjbbaa``__ssttuuvv44332211{{MMNNOOPP||{{zzyyYYZZ[[\\ - - ppoonnmmeeffgghh,,--..//ssrrqqppbbccddeeggffeeddnnooppqq - - GGFFEEDDvvuuttsskkllmmnn - -^^]]\\[[wwxxyyzz00//..--zzyyxxwwQQRRSSTTxxwwvvuu]]^^__``llkkjjiiiijjkkll00112233 - -oonnmmllffgghhiiccbbaa``rrssttuuCCBBAA@@rrqqppooooppqqrr ZZYYXXWW{{||}}~~,,++**))vvuuttssUUVVWWXX ttssrrqqaabbccddhhggffeemmnnoopp99::;;<< kkjjiihhjjkkllmm __^^]]\\vvwwxxyy??>>==<>??@@ggffeeddnnooppqq - - [[ZZYYXXzz{{||}};;::9933jjiihgfewwxxyyzzRRQQPPOO$$##""!!nnmmllkk]]^^__``llkkjjiiiijjkkll``__^^]]uuvvwwxxAABBCCDDccbbaa``rrssttuuWWVVUUTT~~221100//dccbbaa`{{||}}~~NNMMLLKK jjiiccbbaabbccddhhggffeemmnnoopp - - \\[[ZZYYyyzz{{||EEFFGGHH __^^]]\\vvwwxxyySSRRQQPP !!..--,,++`__^^]]\JJIIHHGGaa``__^^eeffgghhddccbbaaqqrrsstt XXWWVVUU}}~~IIJJKKQQ - - [[ZZYYXXzz{{||}}OONNMMLL""##$$%%**))((''\[[ZZYYX !!""FFEEDDCC]]\\[[ZZ~}|iijjkkll``__^^]]uuvvwwxxTTSSRRQQRRSSTTUUWWVVUUTT~~KKJJIIHH&&''(())&&%%$$##XWWVVUUT##$$%%&&BBAA@@??YYXXWWVV{{zzyyxxmmnnoopp - - \\[[ZZYYyyzz{{||PPOONNMMVVWWXXYYSSRRQQPP !!GGFFEEDD**++,,--""!!TSSRRQQP''(())**>>==<<;; UUTTSSRRwwvvuuttqqrrsstt XXWWVVUU}}~~LLKKJJIIZZ[[\\]]OONNMMLL""##$$%%CCBBAA@@..//0011ONMLKKJJ++,,--..::998877 - - QQKKJJIIssrrqqppuuvvwwxxTTSSRRQQ HHGGFFEE^^__``aaKKJJIIHH&&''(())??>>==<<22334455IIHHGGFF//00112266554433 - - HHGGFFEEoonnmmllyyzz{{||PPOONNMM!!""##$$DDCCBBAAbbcciijj !!GGFFEEDD**++,,--;;::998866778899EEDDCCBB33445566221100// DDCCBBAAkkjjiihg}}~~LLKKJJII%%&&''((@@??>>==kkllmmnn""##$$%%CCBBAA@@..//001177665544::;;<<== - -AA@@??>>778899::..--,,++@@??>>==fedccbba HHGGFFEE))**++,,<<;;::99ooppqqrr&&''(())??>>==<<2233445533221100>>??@@AA ==<<;;::;;<<==>>**))((''VVUUTTSS<<;;::99a``__^^]!!""##$$DDCCBBAA--..//0088776655ssttuuvv**++,,--;;::998866778899//..--,,BBCCDDEE99876543??@@AABB&&%%$$##RRQQPPOO33221100]\\[[ZZY%%&&''((@@??>>==1122334444332211wwxxyyzz..//001177665544::;;<<==++**))((FFGGHHII - - 3221100/CCDDEEFF""!! NNMMLLKK //..--,,YXXWWVVU))**++,,<<;;::995566778800//..--{{2233445533221100>>??@@AA''&&%%$$JJKKLLMM /..--,,+GGHHIIJJJJIIHHGG!!""##$$++**))((UTTSSRRQ--..//008877665599::;;<<,,++**))66778899//..--,,BBCCDDEE##""!! NNOOPPQQ+**))(('KKLLMMNN~~}}||{{FFEEDDCC%%&&''((''&&%%$$QPONMLKK1122334444332211==>>??@@((''&&%%::;;<<==++**))((FFGGHHIIRRSSTTUU'&&%%$$#OOPPQQRRzzyyxxwwBBAA@@??))**++,,##""!!JJIIHHGG5566778800//..--AABBCCDD$$##""!!{{>>??@@AA''&&%%$$JJKKLLMM~~}}||VVWWXXYY#""!! SSTTUUVVvvuuttss>>==<<;;--..//00FFEEDDCC99::;;<<,,++**))EEFFGGHH zzyyxxwwBBCCDDEE##""!! NNOOPPQQ{{zzyyxxZZ[[\\]]!!""##$$~~}}||{{WWXXYYZZ rrqqppoo::99887711223344BBAA@@??==>>??@@((''&&%%IIJJKKLLvvuuttssFFGGHHIIRRSSTTUUwwvvuutt^^__``aa%%&&''((zzyyxxww[[\\]]^^ - - nnmmllkk6655443355667788>>==<<;;AABBCCDD$$##""!!MMNNOOPPrrqqppooJJKKLLMM~~}}||VVWWXXYY ssrrqqppbbccddee))**++,,vvuuttss__``aabbjjiihhgg221100//99::;;<< ::998765EEFFGGHH QQRRSSTTnnmmllkkNNOOPPQQ{{zzyyxxZZ[[\\]] - - oonnmmllffgghhii--..//00 rrqqppooccddeeffffeeddcc..--,,++==>>??@@ - - - -43322110IIJJKKLL~~}}UUVVWWXX jjiiccbbRRSSTTUUwwvvuutt^^__``aakkjjiihhjjkkllmm11223399 - - nnmmllkkgghhiijjbbaa``__**))((''AABBCCDD 0//..--,MMNNOOPP||{{zzyyYYZZ[[\\ - - aa``__^^VVWWXXYY ssrrqqppbbccddeeggffeeddnnooppqq::;;<<==jjiihhggkkllmmnn - -^^]]\\[[&&%%$$##EEFFGGHH,++**))(QQRRSSTTxxwwvvuu]]^^__``]]\\[[ZZZZ[[\\]] - - oonnmmllffgghhiiccbbaa``rrssttuu>>??@@AAffeeddccooppqqrr ZZYYXXWW""!! SSTTUUVV&%%$$##"PPQQRRSSyyxxwwvv\\]]^^__ ^^]]\\[[YYZZ[[\\ - - ppoonnmmeeffgghhddccbbaaqqrrsstt==>>??@@ggffeeddnnooppqq - - [[ZZYYXXzz{{||}}33221100SSRRQQPP~~}}||{{WWXXYYZZ!!"!! ~~TTUUVVWWuuttssrr``aabbccZZYYXXWW]]^^__``llkkjjiiiijjkkll``__^^]]uuvvwwxxAABBCCDDccbbaa``rrssttuuWWVVUUTT~~//..--,,OONNMMLLzzyyxxww[[\\]]^^""##$$%%}}||{{zzXXYYZZ[[ - -qqppoonnddeeffggVVUUTTSS~aabbccddhhggffeemmnnoopp - - \\[[ZZYYyyzz{{||EEFFGGHH __^^]]\\vvwwxxyySSRRQQPP !!++**))((KKJJIIHHvvuuttss__``aabb&&''(())yyxxwwvv\\]]^^__ mmllkkjjhhiijjkkRRQQKKJJ}|{{zzyyeeffgghhddccbbaaqqrrsstt XXWWVVUU}}~~IIJJKKQQ - - [[ZZYYXXzz{{||}}OONNMMLL""##$$%%''&&%%$$GGFFEEDD rrqqppooccddeeff**++,,--uuttssrr``aabbcciihhggffllmmnnoo - - IIHHGGFFxxwwvvuuiijjkkll``__^^]]uuvvwwxxTTSSRRQQRRSSTTUUWWVVUUTT~~KKJJIIHH&&''(())##""!!CCBBAA@@ - - nnmmllkkgghhiijj..//0011 qqppoonnddeeffggeeddccbbppqqrrss EEDDCCBBttssrrqqmmnnoopp - - \\[[ZZYYyyzz{{||PPOONNMMVVWWXXYYSSRRQQPP !!GGFFEEDD**++,,--??>>==<<jjiihhggkkllmmnn223399:: - - mmllkkjjhhiijjkkaa``__^^ttuuvvwwAA@@??>>ppoonnmmqqrrsstt XXWWVVUU}}~~LLKKJJIIZZ[[\\]]OONNMMLL""##$$%%CCBBAA@@..//0011;;::9988ffeeddccooppqqrr;;<<==>>iihhggffllmmnnoo - - ]]\\[[ZZxxyyzz{{==<<;;::llkkjjiiuuvvwwxxTTSSRRQQ HHGGFFEE^^__``aaKKJJIIHH&&''(())??>>==<<2233445577665544bbaa``__ssttuuvv??@@AABBeeddccbbppqqrrss YYXXWWVV||}}~~99332211hgfedccbyyzz{{||PPOONNMM!!""##$$DDCCBBAAbbcciijj !!GGFFEEDD**++,,--;;::998866778899 33221100 - -^^]]\\[[wwxxyyzzCCDDEEFFaa``__^^ttuuvvwwUUTTSSRR00//..--baa``__^}}~~LLKKJJII%%&&''((@@??>>==kkllmmnn""##$$%%CCBBAA@@..//001177665544::;;<<== - - - -//..--,, ZZYYXXWW{{||}}~~GGHHIIJJ - - ]]\\[[ZZxxyyzz{{QQPPOONN !!""##,,++**))^]]\\[[Z HHGGFFEE))**++,,<<;;::99ooppqqrr&&''(())??>>==<<2233445533221100>>??@@AA ++**))((VVUUTTSSKKQQRRSS YYXXWWVV||}}~~MMLLKKJJ$$%%&&''((''&&%%ZYYXXWWV!!""##$$DDCCBBAA--..//0088776655ssttuuvv**++,,--;;::998866778899//..--,,BBCCDDEE''&&%%$$RRQQPPOOTTUUVVWWUUTTSSRRIIHHGGFF(())**++$$##""!!VUUTTSSR%%&&''((@@??>>==1122334444332211wwxxyyzz..//001177665544::;;<<==++**))((FFGGHHII##""!! NNMMLLKKXXYYZZ[[QQPPOONN !!""##EEDDCCBB,,--..//RQQPONML))**++,,<<;;::995566778800//..--{{2233445533221100>>??@@AA''&&%%$$JJKKLLMMJJIIHHGG\\]]^^__MMLLKKJJ$$%%&&''AA@@??>>00112233KKJJIIHH--..//008877665599::;;<<,,++**))66778899//..--,,BBCCDDEE##""!! NNOOPPQQ!!""## !!""FFEEDDCC``aabbccIIHHGGFF(())**++==<<;;::44556677GGFFEEDD1122334444332211==>>??@@((''&&%%::;;<<==++**))((FFGGHHIIRRSSTTUU$$%%&&''##$$%%&&BBAA@@??iijjkkll !!""##EEDDCCBB,,--..//998877668899::;; CCBBAA@@5566778800//..--AABBCCDD$$##""!!{{>>??@@AA''&&%%$$JJKKLLMM~~}}||VVWWXXYY(())**++''(())**>>==<<;;mmnnoopp$$%%&&''AA@@??>>0011223355443322<<==>>?? - - ??>>==<<99::;;<<,,++**))EEFFGGHH zzyyxxwwBBCCDDEE##""!! NNOOPPQQ{{zzyyxxZZ[[\\]],,--..// ++,,--..::998877qqrrsstt(())**++==<<;;::445566771100//..@@AABBCC;;::9987==>>??@@((''&&%%IIJJKKLLvvuuttssFFGGHHIIRRSSTTUUwwvvuutt^^__``aa00112233 - - //00112266554433uuvvwwxx,,--..//998877668899::;;--,,++**DDEEFFGG 65433221AABBCCDD$$##""!!MMNNOOPPrrqqppooJJKKLLMM~~}}||VVWWXXYY ssrrqqppbbccddee99::;;<< - - 33445566221100//yyzz{{0011223355443322<<==>>??))((''&&HHIIJJKK - - 100//..-EEFFGGHH QQRRSSTTnnmmllkkNNOOPPQQ{{zzyyxxZZ[[\\]] - - oonnmmllffgghhii==>>??@@778899::..--,,++445566771100//..@@AABBCC%%$$##""LLMMNNOO-,,++**)IIJJKKLL~~}}UUVVWWXX jjiiccbbRRSSTTUUwwvvuutt^^__``aakkjjiihhjjkkllmmAABBCCDD;;<<==>>**))((''8899::;;--,,++**DDEEFFGG!! PPQQRRSS)((''&&%MMNNOOPP||{{zzyyYYZZ[[\\ - - aa``__^^VVWWXXYY ssrrqqppbbccddeeggffeeddnnooppqqEEFFGGHH??@@AABB&&%%$$##<<==>>??))((''&&HHIIJJKK~~TTUUVVWW%$$##""!QQRRSSTTxxwwvvuu]]^^__``]]\\[[ZZZZ[[\\]] - - oonnmmllffgghhiiccbbaa``rrssttuuIIJJKKQQCCDDEEFF""!! {{zzyy@@AABBCC%%$$##""LLMMNNOO}}||{{zzXXYYZZ[[!!""! ~~}}UUVVWWXX ttssrrqqaabbccddYYXXWWVV^^__``aakkjjiihhjjkkllmm __^^]]\\vvwwxxyyRRSSTTUU !!GGHHIIJJxxwwvvuuDDEEFFGG!! PPQQRRSSyyxxwwvv\\]]^^__##$$%%&&||{{zzyyYYZZ[[\\ - - ppoonnmmeeffgghhUUTTSSRR~}|bbccddeeggffeeddnnooppqq - - [[ZZYYXXzz{{||}}VVWWXXYY""##$$%%KKLLMMNNttssrrqqHHIIJJKK~~TTUUVVWWuuttssrr``aabbcc''(())**xxwwvvuu]]^^__``llkkjjiiiijjkkllQQKKJJII{{zzyyxxffgghhiiccbbaa``rrssttuuWWVVUUTT~~ZZ[[\\]]&&''(())OOPPQQRRppoonnmmLLMMNNOO}}||{{zzXXYYZZ[[ - -qqppoonnddeeffgg++,,--..ttssrrqqaabbccddhhggffeemmnnoopp - - HHGGFFEEwwvvuuttjjkkllmm __^^]]\\vvwwxxyySSRRQQPP^^__``aa**++,,--SSTTUUVVllkkjjiiPPQQRRSSyyxxwwvv\\]]^^__ mmllkkjjhhiijjkk//001122 ppoonnmmeeffgghhddccbbaaqqrrsstt DDCCBBAAssrrqqppnnooppqq - - [[ZZYYXXzz{{||}}OONNMMLLbbcciijj..//0011WWXXYYZZ ccbbaa``TTUUVVWWuuttssrr``aabbcciihhggffllmmnnoo3399::;; - - llkkjjiiiijjkkll``__^^]]uuvvwwxx@@??>>==oonnmmllrrssttuuWWVVUUTT~~KKJJIIHHkkllmmnn22334455[[\\]]^^ - - __^^]]\\XXYYZZ[[ - -qqppoonnddeeffggeeddccbbppqqrrss<<==>>??hhggffeemmnnoopp - - \\[[ZZYYyyzz{{||<<;;::99kkjjiihgvvwwxxyySSRRQQPP !!GGFFEEDDooppqqrr66778899__``aabb[[ZZYYXX\\]]^^__ mmllkkjjhhiijjkkaa``__^^ttuuvvww@@AABBCCddccbbaaqqrrsstt XXWWVVUU}}~~33221100fedccbbazz{{||}}OONNMMLL""##$$%%CCBBAA@@ssttuuvv::;;<<==ccddeeffWWVVUUTT``aabbcciihhggffllmmnnoo - - ]]\\[[ZZxxyyzz{{DDEEFFGG``__^^]]uuvvwwxxTTSSRRQQ //..--,,a``__^^]~~KKJJIIHH&&''(())??>>==<>??@@AAgghhiijjSSRRQQKK~}|{{zzddeeffggeeddccbbppqqrrss YYXXWWVV||}}~~HHIIJJKK - - \\[[ZZYYyyzz{{||PPOONNMM!!""##$$++**))((]\\[[ZZY !!GGFFEEDD**++,,--;;::9988{{BBCCDDEEkkllmmnn - -JJIIHHGGyyxxwwvvhhiijjkkaa``__^^ttuuvvwwUUTTSSRRQQRRSSTT XXWWVVUU}}~~LLKKJJII%%&&''((''&&%%$$YXXWWVVU""##$$%%CCBBAA@@..//001177665544FFGGHHIIooppqqrr FFEEDDCCuuttssrrllmmnnoo - - ]]\\[[ZZxxyyzz{{QQPPOONNUUVVWWXXTTSSRRQQ HHGGFFEE))**++,,##""!!UTTSSRRQ&&''(())??>>==<<2233445533221100JJKKLLMMssttuuvvBBAA@@??qqppoonnppqqrrss YYXXWWVV||}}~~MMLLKKJJYYZZ[[\\PPOONNMM!!""##$$DDCCBBAA--..//00QPONMLKK**++,,--;;::998866778899//..--,,NNOOPPQQwwxxyyzz>>==<<;;mmllkkjjttuuvvwwUUTTSSRRIIHHGGFF]]^^__``LLKKJJII%%&&''((@@??>>==11223344JJIIHHGG..//001177665544::;;<<==++**))((RRSSTTUU{{||}}~~::993322iihgfedcxxyyzz{{QQPPOONN !!""##EEDDCCBBaabbccii HHGGFFEE))**++,,<<;;::9955667788FFEEDDCC2233445533221100>>??@@AA''&&%%$${{VVWWXXYY1100//..cbbaa``_||}}~~MMLLKKJJ$$%%&&''AA@@??>>jjkkllmm!!""##$$DDCCBBAA--..//008877665599::;;<< BBAA@@??66778899//..--,,BBCCDDEE##""!! zzyyxxwwZZ[[\\]] !!""--,,++**_^^]]\\[IIHHGGFF(())**++==<<;;::nnooppqq%%&&''((@@??>>==1122334444332211==>>??@@ - - >>==<<;;::;;<<==++**))((FFGGHHIIvvuuttss^^__``aa##$$%%&&))((''&&[ZZYYXXW !!""##EEDDCCBB,,--..//99887766rrssttuu))**++,,<<;;::995566778800//..--AABBCCDD::998765>>??@@AA''&&%%$$JJKKLLMMrrqqppoobbccddee''(())**%%$$##""WVVUUTTS$$%%&&''AA@@??>>0011223355443322vvwwxxyy--..//008877665599::;;<<,,++**))EEFFGGHH - -43322110BBCCDDEE##""!! NNOOPPQQnnmmllkk~~}}||ffgghhii++,,--..!!SRRQQPON(())**++==<<;;::445566771100//..zz{{1122334444332211==>>??@@((''&&%%IIJJKKLL 0//..--,FFGGHHIIRRSSTTUUjjiiccbb{{zzyyxxjjkkllmm//001122MLKKJJII,,--..//998877668899::;;--,,++**5566778800//..--AABBCCDD$$##""!!MMNNOOPP,++**))(JJKKLLMM~~}}||VVWWXXYY aa``__^^wwvvuuttnnooppqq33445566HHGGFFEE0011223355443322<<==>>??))((''&&99::;;<<,,++**))EEFFGGHH QQRRSSTT(''&&%%$NNOOPPQQ{{zzyyxxZZ[[\\]] - - ]]\\[[ZZssrrqqpprrssttuu778899:: DDCCBBAA445566771100//..@@AABBCC%%$$##""==>>??@@((''&&%%IIJJKKLL~~}}UUVVWWXX$##""!! RRSSTTUUwwvvuutt^^__``aaYYXXWWVVoonnmmllvvwwxxyy;;<<==>> - - @@??>>==8899::;;--,,++**DDEEFFGG!! {{zzyyxxAABBCCDD$$##""!!MMNNOOPP||{{zzyyYYZZ[[\\!!""##~~}}||VVWWXXYY ssrrqqppbbccddeeUUTTSSRRkkjjiihhzz{{||}}??@@AABB<<;;::99<<==>>??))((''&&HHIIJJKKwwvvuuttEEFFGGHH QQRRSSTTxxwwvvuu]]^^__``$$%%&&''{{zzyyxxZZ[[\\]] - - oonnmmllffgghhiiQQKKJJIIggffeedd~~CCDDEEFF87654332@@AABBCC%%$$##""LLMMNNOOssrrqqppIIJJKKLL~~}}UUVVWWXX ttssrrqqaabbccdd(())**++wwvvuutt^^__``aakkjjiihhjjkkllmm HHGGFFEEccbbaa``GGHHIIJJ - - 21100//.DDEEFFGG!! PPQQRRSSoonnmmllMMNNOOPP||{{zzyyYYZZ[[\\ - - ppoonnmmeeffgghh,,--..//ssrrqqppbbccddeeggffeeddnnooppqq - - DDCCBBAA__^^]]\\KKLLMMNN .--,,++*HHIIJJKK~~TTUUVVWWkkjjiiccQQRRSSTTxxwwvvuu]]^^__``llkkjjiiiijjkkll00112233 - -oonnmmllffgghhiiccbbaa``rrssttuu@@??>>==[[ZZYYXXOOPPQQRR*))((''&LLMMNNOO}}||{{zzXXYYZZ[[ - -bbaa``__UUVVWWXX ttssrrqqaabbccddhhggffeemmnnoopp99::;;<< kkjjiihhjjkkllmm __^^]]\\vvwwxxyy<<;;::99WWVVUUTTbdQZ|vpfd|ZfpvdrtAvpfے`JXQf~HXQJ`ےltbے`JvnX˂rXQdtAJl˂pZZdQbtHAZpdQZ|vXnrd|J`ےtbdQf`vlJtArdrtAH~fdQbtnXv`fJltH~fr˂pfpvbHAZnvpXQr˂v`f~fJ`ےtbnHAbےlJtA˂rXQdrtAJvpfHZdQbtHAZp˂Z|dXnvd|ZJlt`vXnl|ZdQ~fpvbdQZ|`vXnZHAےnXv`p˂rfHfp`JXQpvnbHAZpvpf`JXQrrd|J`ےltb~f`l|ZrXQJrtAJlpfH~dQbtbdQZ|vpfbtlnXvdrtAvpf`JXQrf~HXQJ`ے`vXnr˂pXv`f˂rXQHf`˂pZZdQbtbHAZpdQZ|vXndQbt`ےbtbdQf`vlJtArdrtAH~fJtArd`f~JltH~fbtlfpvbHAZvpfZHAb~HfJ`ےvXnHAbےlJtA˂rXQdrtAJvpfHlJtArHAZp˂Z|dXnvd|ZJlt`vXn|ZdQHfpvbdQZ|`vXnJtAdnXv`p˂rH~fے`JXQpvnbHAZpvpfH`JXQrrd|J`ےltb~f`d|ZrXQJrtAJlpfH~dQbtbdQZ|vpfbtlnXvdrtAvpf|ZdQbf~HXQJ`ے`vXnr˂pXv`f˂rXQ~f`˂pZZdQbtbHAZpdQZ|vXndQbt`ےbtbdQf`vlJtArdrtAH~f|ZdQb`frQJltH~ftlJfpvbHAZvpf`JXQr~fpvJ`ےvXnHAbےlJtA˂rXQdrtAJvpfHl|ZdQHAZp˂Z|dXnvd|ZJlt`vXntlJJHAZbdQZ|`vXntArdnXv`p˂rH~f˂pZnXv`bHAZpvpfH`JXQrrd|J`ےltb~f`btlrXQJrtAJlpfH~dQbtbdQZ|vpftArdp˂rdrtAvpf|ZdQbf~HXQJ`ے`vXnHAbےf~H˂rXQ~f`˂pZZdQbtbHAZpdQZ|vXnrJtArd`ےbtbdQf`vlJtArdrtAH~f|ZdQbXQJ`ےJltH~ftlJfpvbHAZvpf`JXQrfpvJ`ےvXnHAbےlJtA˂rXQdrtAJ˂p`|ZdQHAZp˂Z|dXnrd|ZJlt`vXntl|bHAZbdQZ|`vXntArdnXv`p˂rH~f˂p`nXv`bHAZpvpfH`JXQrrd|J`ےltbJXQrbtlrXQJrtAJl˂pZHAdQbtbdQZ|vpfZdQbtp˂rdrtAvpf|ZdQbf~HXQJ`ے`vXnJXQrf~fp˂rXQ~f`˂pZZdQbnbHAZpdQZ|˂pZHA|ZdQb`ےbtbdQbے`lJtArdrtAH~flJtAXQJ`ےJltH~ftlJfpvbHAZvpf˂pZHAvnXJ`ےvXnHAbےXv`f˂rXQdrtAJbے`tlJHAZp˂Z|dJXQrd|ZJlt`vXnrd|bHAZbdQZ|`vXntArdnXv`p˂rH~fbے`v`fbHAZpvpfH`JXQr~HfJ`ےltbJXQrtArdrXQJrtAJl˂pZHAdQbtbdQZ|vpfZdQbtp˂rdrtAvpf|ZdQbf~HbdQZ|`vXnJXQr~Hfp˂rb~f`˂pZpvnbHAZpdQZ|˂p`J|ZdQb`ےbtbdQbے`lJtArdrtAH~fl|ZXQJ`ےJltH~ftlJfpvdrtAvpf˂p`JvnXdQZ|vXnHAbےXv`f˂rXQdrtAJXQr˂tl|HAZp˂Z|dJXQrd|ZJlt`vXndQbt璐bHAZbdQZ|`vXntArdnXv`JltH~fXQrbtv`f~drtAJvpfH`JXQr~HfJ`ےltbpZHAbZdQbnrXQJrtAJl˂pZHAdQbtbdQZ|vpflJtArp˂rdrtAr˂p|ZdQbf~HbdQZ|`vXnl|Zfpvltb~f`˂pZpvnbHAZpdQZ|ے`JXv`f`ےbtbdQbے`lJtArdrtAH~fd|ZXQJ`ےJltZHAbtlJfpvdrtAvpfdQbtnXv`dQZ|vXnHAbےXv`f˂rXQdrtAJXQr˂~fpvHAZp˂Z|dJXQrd|ZJlt`vXndQbt璐bHAZbdQZ|ے`JXQtArdnXv`JltH~flJtArf~HdrtAJvpfH`JXQr~HfJ`ےltbp`JXQnXv`rXQJrtAJl˂pZHAdQbtbdQZ|r˂pl|ZdQp˂rdrtAr˂p|ZdQbf~HbdQZ|`vXnd|Zfpvltb~f`˂pZpvnbHAZpdQZ|r˂pf~H`ےbtbdQbے`lJtArdrtA`JXQrbtlXQJ`ےJltZHAbtlJfpvdrtAvpfdQbtnXv`fdQZ|vXnHAbےXv`f˂rXQdtAJlZHAbfpvHAZp˂Z|dJXQrd|ZJlt˂pZJtArdbHAZbdQZ|ے`JXQtArdnXv`JltH~fl|ZdQ~fpvdrtAJvpfH`JXQr~HfJ`ےtbnے`JXQnXv`rXQJtAJl˂pZHAdQbtbdQZ|HAbے|ZdQp˂rdrtAr˂p|ZdQbf~HbdQZ|`vXnbtlnXvltb~f`˂pZpvnbHAZpvpfr˂pf~fp`ےbtbnbے`lJtArdrtA`JXQrbtlXQJ`ےJltZHAbtlJfpvdrtAvpfJtArd`f~dQZ|vXnHAے`Xv`f˂rXQHf``JXQrvnXHAZp˂vpfHJXQrd|ZJlt˂p`|ZdQbbHAZbdQZ|ے`JXQtArdnXv`JltH~f|ZdQHfpvdrtAJvpfHJXQrb~HfJ`ےvXn˂pZv`frXQJf`v˂pZHAdQbtbdQZ|JXQrnXv`p˂rdrtAr˂p|ZdQbfHfbdQZ|`vXnbtlnXvltb~f`tlJpvnbHAZpvpfHHAbے~Hfp`ےbXnvbے`lJtArdrtA˂pZHAf~fpXQJ`ےJltZHAbtlJpvndrtAvpf|ZdQb`ffpdQZ|vXntAd|Xv`f˂rXQ~f``JXQrvnXHAZp˂pfH~JXQrd|ZJltbے`vnXbHAZbdQZ|ے`JXQtArdrXQJ`JltH~ftlJvnrdrtAJvpfHZdQbt~HfJ`ےvXn˂p`v`f~rXQJf`v˂pZHAdQbtbdQZ|JXQrv`fp˂rdtAJr˂p|ZdQbےHAZbdQZ|`vXntArdXQJ`ےltb~f`lJtApvnbHAZpvpfHJXQrfpv`ےbXnvbے`lJtArdrtA˂p`J~HfpXQJ`ےltbZHAbtlJp˂rdrtAvpf|ZdQbHAZpdQZ|vXnrd|Xv`f˂rXQ~f`˂pZHAnXv`HAZp˂pfH~JXQrd|ZJltXQr˂vnXbHAZnvpے`JXQtArdXQJ`ےJltH~ftl|˂rXQdrtAJvpfHZdQbt~HfJ`ےvXnbے`f~HrXQJf`v˂pZHAdQbtbdQZ|pZHAbv`f~fp˂rfHfr˂p|ZdQbbHAZbdQZ|`vXnZdQbtJ`ےltb~f`lJtApvnbHAZpvpfHJXQrfpv`ےbXnvbے`lJtArdrtAے`JpvnXQJ`ے`vXnZHAbtlJp˂rdrtAvpflJtAbHAZpdQZ|vXnrd|Xv`f˂rXQ~f`˂p`JnXv`fHAZp˂pfH~JXQrd|ZJltXQr˂Xv`fbHAZvpfے`JXQtArdXQJ`ےJltH~frd|˂rXQdrtAJvpfHZdQbt~HfJ`ےvXnXQr˂~fpvrXQJf`v˂pZHAdQbnXbdQZ|p`JXQ~Hfp˂rH~fr˂p|ZdQbbHAZbdQZ|`vXnZdQbtJ`ےltb~f`lJtApvnbHAZpvpfHpZHAbnXv`ےbXnvbے`v`f`vXnr˂ppvnXQJ`ے`vXnZHAbtlJp˂rdrtAvpfl|ZbHAZpdQZ|vXnrd|Xv`f˂rb~f`ے`J`f~HAZp˂pfH~JXQr~HfpvpfZHAbXv`fbHAZvpfے`JXQtArdXQJ`ےJltH~fdQbt˂rXQdrtAJvpfHZdQbt~HfdQZ|vXnXQr˂HfpvrbdQf`v˂pZHAvnXH~fے`JXQ~fpvp˂rH~fr˂p|ZdQbbHAZbdQZ|`vXnlJtArJ`ےltb~f`lJtApvndrtAJvpfHp`JXQnXvZ|dXnvbے`v`fvnX`vXnr˂pnXv`XQJ`ے`vXnZHAbtlJp˂rdrtAr˂pd|ZbHAZpdQZ|vXnrrd|Xv`fltb~f`rbt`f~fprtAJlpfH~JXQr~Hfpv`fvpf`JXQrf~HbHAZvpfے`JXQtArdXQJ`ےJlt`JXQrdQbt˂rXQdrtAJ˂pZZdQbt~HfdQZ|vXnl|ZdQvnXtbdQf`v˂pZHAvnX~HfpH~f˂pZfpvp˂rH~fr˂p|ZdQbbHAZbdQZ|˂pZl|ZdQJ`ےltbHAbےlJtApvndrtAJvpfHbtlv`fZ|dXnvbے`v`fvnX`vXnHAbےnXv`XQJ`ے`vXnZHAbnXv`p˂rdrtAHAbےbtlbHAZpdQZ|`JXQrrd|Xv`fltb~f`JtArd~HfprtAJlpfH~JXQr~Hfpv`fvpf`JXQrf~fpbHAZvpfے`JXQf~HXQJ`ےJlt`JXQrJtArd˂rXQdrtAJ˂pZZdQbt~HfdQZ|vXn|ZdQvnXtbdQf`v˂pZHAvnX~HfpH~f˂p`vnXp˂rH~fr˂pfpvbHAZbdQZ|˂p`|ZdQJ`ےltbHAbےlJtApvndrtAJvpfHbtlv`f~Z|dXnvbے`v`fvnX`vXnJXQrv`fbdQZ|`vXnZHAbnXv`p˂rdrtAJXQrbtlbHAZpdQZ|`JXQrrd|Xv`fltb~f`|ZdQbfpvrtAJlpfH~JXQr~Hfpv`fvpf˂pZHA~HfpdrtAvpfے`JXQf~HXQJ`ےJlt˂pZHA|ZdQb˂rXQdrtAJ˂pZZdQbt~HfdQZ|vXntlJnXv`tbdQf`v˂pZHAvnX~HfpH~fbے`vnXJltH~fr˂pfpvbHAZbdQZ|bے`nXv`J`ےltbHAbےlJtApvndrtAJvpfHtArdf~HZ|dXnvے`Jv`fvnX`vXnJXQrv`f~bdQZ|`vXnZHAbnXv`p˂rdrtAJXQrf~fpbHAZpdQZ|`JXQrrd|Xv`fltb~f`|ZdQbfpvrtAJlpfH~XQrbt~Hfpv`fvpf˂p|ZfpvdrtAvpfے`JXQf~HXQJ`ےJlt˂p`JvnX˂rXQdrtAJ˂pZZdQbtHfpdQZ|vXntl|nXv`tbdQf`vlJtAvnX~HfpH~fdQbtnXv`JltH~fr˂pfpvbHAZbdQZ|XQr˂v`fJ`ےltbHAbےlJtAvnrdrtAJvpfHZdQbtffpvZ|dXnvd|Zv`fvnX`vXnlJtArf~HbdQZ|`vXnZHAbnXv`p˂rdtAJpZHAb~HfpbHAZpdQZ|`JXQrrd|XQJ`ےltb~f`lJtAnrXQrtAJlpfH~dQbt~Hfpv`f~HfpZ|dXnv|ZdQbvnXtbdQZf`vXpZHAbnXvZp˂|dtA˂pZHA~HfpbHAZbdQZ|ے`JXQtArdrXQJ`JltH~ftlJvnrdrtAJvpfHZdQbt~HfJ`ےvXn`JXQrvˍpfvnXrtAJlpfH~tl|v`f~f|drnvpے`J`f~rXQJ`Jltbے`vnXp˂rdtAJr˂p|ZdQbےHAZbdQZ|`vXntArdXQJ`ےltb~f`lJtApvnbHAZpvpfH˂pZH~ㅐfv`ftbdQf`vZdQbtpvntAJlfH~XQr˂HfpvےbHAbnvJXQrv`f~XQJ`ےltbZHAbtlJp˂rdrtAvpf|ZdQbHAZpdQZ|vXnrd|Xv`f˂rXQ~f`HAbے`vXn~HfpZ|dXnvlJtAXv`ftbdQZf`vXpZHAnXvZp˂pfH˂p`JfpvbHAZnvpے`JXQtArdXQJ`ےJltH~ftl|˂rXQdrtAJvpfHZdQbt~HfJ`ےvXn`JXQrvˍpfvnXrtAJlpfH~rd|~Hf|drnvpے`JXQ`f~rXQJ`f`vXXQr˂nXv`p˂rfHfr˂p|ZdQbbHAZbdQZ|`vXnZdQbtJ`ےltb~f`lJtApvnbHAZpvpfH˂p`H~ㅐfv`ftbdQf`vZdQbtpvntAJlfH~rbtHfpvےbHAnvppZHAbf~HXQJ`ے`vXnZHAbtlJp˂rdrtAvpflJtAbHAZpdQZ|vXnrd|Xv`f˂rXQ~f`JXQr`vXnHfpvZ|dXnvl|ZXv`ftbdQZf`vXlJtAdnXvZp˂fH~ے`JfpvbHAZvpfے`JXQtArdXQJ`ےJltH~frd|˂rXQdrtAJvpfHZdQbt~HfJ`ےvXn˂pZHAvˍpfnrXQrtAJlpfH~dQbt璅fpv|drnvp|ZdQ`f~rXQJ`f`vXXQr˂nXv`p˂rH~fr˂p|ZdQbbHAZbdQZ|`vXnZdQbtJ`ےltb~f`lJtApvnbHAZpvpfHbے`H~ㅐfJ`ےtbdQf`vlJtArnrXQJtAJlfH~btlHfpvےbHAnvpp`JXQf~fpXQJ`ے`vXnZHAbtlJp˂rdrtAvpfl|ZbHAZpdQZ|vXnrd|Xv`f˂rb~f`JXQr`vXnHAZp˂Z|dXnvd|Z`ےHAtbdQZf`vXJtArdnXvZp˂fH~r˂pvnXbHAZvpfے`JXQtArdXQJ`ےJltH~fdQbt˂rXQdrtAJvpfHZdQbt~HfdQZ|vXn˂p`ZvˍpfrXQJrtAJlpfH~dQbtZp˂|drnvp|ZdQ`f~rXQJ`f`vXZHAbv`fp˂rH~fr˂p|ZdQbbHAZbdQZ|`vXnlJtArJ`ےltb~f`lJtApvndrtAJvpfHQXb㉀ەH~ㅐf`ےbtbdQf`vl|ZdQrXQJ`tAJlfH~btlHfpvےbHAnvpے`JXQ~HfpXQJ`ے`vXnZHAbtlJp˂rdrtAr˂pd|ZbHAZpdQZ|vXnrrd|Xv`fltb~f`pJAHr`vXnHAZp˂Z|dXnvbtlےbHAtbdQZf`vXJtArdnXvZp˂fH~r˂pvnXbHAZvpfے`JXQtArdXQJ`ےJlt`JXQrdQbt˂rXQdrtAJ˂pZZdQbt~HfdQZ|vXnˁ`ZvˍpfrXQJrtAJlpfH~JtArdZp˂|drnvp|ZdQ`f~rXQJ`f`vX`JXQrv`f~fp˂rH~fr˂p|ZdQbbHAZbdQZ|˂pZl|ZdQJ`ےltbHAbےlJtApvndrtAJvpfHQXb㉀ەH~ㅐf`ےbtbdQf`v|ZdQrXQJ`tAJlfH~btlHfpvےbHAnvp˂pZpvnXQJ`ے`vXnZHAbnXv`p˂rdrtAHAbےbtlbHAZpdQZ|`JXQrrd|Xv`fltb~f`p`ZQX`vXnHAZp˂Z|dXnvbtlےbHAtbdQZf`vXJtArdnXvZp˂fH~HAbےXv`fbHAZvpfے`JXQf~HXQJ`ےJlt`JXQrJtArd˂rXQdrtAJ˂pZZdQbt~HfdQZ|vXnb㉀ۑpvˍpfrXQJrtAJlpfH~|ZdQbZp˂|drnvp|ZdQ`f~rbdQZf`vX`JXQr~Hfp˂rH~fr˂pfpvbHAZbdQZ|˂p`|ZdQJ`ےltbHAbےlJtApvndrtAJvpfHJAHr󙐕H~ㅐf`ےbtbdQf`vtlJrXQJ`tAJlfH~btlHfpv|drnvp˂p`pvnbdQZ|`vXnZHAbnXv`p˂rdrtAJXQrbtlbHAZpdQZ|`JXQrrd|Xv`fltb~f`ˁ`ZQX`vXnHAZp˂Z|dXnrtArdےbHAtbdQZf`vXJtArdnXvtAJlfH~JXQrbXv`fdrtAvpfے`JXQf~HXQJ`ےJlt˂pZHA|ZdQb˂rXQdrtAJ˂pZZdQbt~HfdQZ|vXnb㉀ۑpvˍp|rXQJrtAJl˂p`J|ZdQbZp˂|drnr˂|ZdQ`f~tbdQZf`vXtl|~fpvJltH~fr˂pfpvbHAZbdQZ|bے`nXv`J`ےltbHAbےlJtApvndrtAJvpfH`ZQXbdrQt`ےbtbdQXQr˂tl|rXQJ`tAJlpZHAbbtlHfpv|drnvpZdQbtnXv`bdQZ|`vXnZHAbnXv`p˂rdrtAJXQrf~fpbHAZpdQZ|`JXQrrd|Xv`fltb~f`ۑpJJltHAZp˂Z|dpZHAbZdQbtےbHAtbdQZے`JJtArdnXvtAJlfH~lJtAf~HdrtAvpfے`JXQf~HXQJ`ےJlt˂p`JvnX˂rXQdrtAJ˂pZZdQbtHfpdQZ|vXnAHr󙐂bAdZ|rXQJrtAJlے`JlJtAZp˂|drXQr˂|ZdQ`f~tbdQZf`vXrd|fpvJltH~fr˂pfpvbHAZbdQZ|XQr˂v`fJ`ےltbHAbےlJtAvnrdrtAJvpfH`ZQXbdrQt`ےbtbdQXQr˂rd|rXQJ`tAJlpZHAbbtlHfpv|drnvpZdQbtnXv`bdQZ|`vXnZHAbnXv`p˂rdtAJpZHAb~HfpbHAZpdQZ|`JXQrrd|XQJ`ےltb~f`ۑp`JltHAZp˂Z|dp`JXQZdQbtےbHAtbdQZے`JJtArdnXvtAJlfH~l|Zf~fpdrtAvpfے`JXQf~HXQJ`ےltbے`JvnX˂rXQdtAJl˂pZZdQbtHAZpdQZ|vXnZQXb㉀bAdZ|rXQJrtAJlr˂pl|ZZp˂|drXQr˂|ZdQ`f~tbdQZf`vXdQbtvnXJltH~fr˂pfpvbHAZnvpXQr˂v`f~fJ`ےtbnHAbےlJtA˂rXQdrtAJvpfHۑpJAHdrQt`ےbtbdQZHAbdQbnXrXQJ`tAJlpZHAbbtlHfpv|drnvplJtArv`fbdQZ|`vXnZHAےnXv`p˂rfHfp`JXQpvnbHAZpvpf`JXQrrd|J`ےltb~f`r󙐂ˁ`JltHAZp˂Z|dے`JXQv`f~ےbHAtbdQZے`JJtArdnXvtAJlfH~d|Z~HfpdrtAvpf`JXQrf~HXQJ`ے`vXnr˂pXv`f˂rXQHf`˂pZZdQbtbHAZpdQZ|vXnZQXb㉀bAdZ|rXQJrtAJlr˂pfpvZp˂|drXQr˂|ZdQ`fHtbdQZf`vXdQbtvnXJltH~fbtlfpvbHAZvpfZHAb~HfJ`ےvXnHAbےlJtA˂rXQdrtAJvpfHۑp`ZdrQt`ےbtbdQ`JXQrnXv`rXQJ`tAJlpZHAbbtlfpv|drnvpl|ZdQv`ffbdQZ|`vXnJtAdnXv`p˂rH~fے`JXQpvnbHAZpvpfH`JXQrrd|J`ےltb~f`QXb㉀JltHAZp˂Z|d˂pZf~HےbHAtbdQZے`JJtArdnrXQJtAJlfH~btlpvndrtAvpf|ZdQbf~HXQJ`ے`vXnr˂pXv`f˂rXQ~f`˂pZZdQbtbHAZpdQZ|vXnpJAHrbAdZ|rXQJtAJlHAbےfpvZp˂|dtAXQr˂|ZdQ`ےHAtbdQZf`vXJtArdrXQJ`JltH~ftlJfpvbHAZvpf`JXQr~fpvJ`ےvXnHAbےlJtA˂rXQdrtAJvpfHˁ`ZdrQt`ےbtbn`JXQrnXv`frXQJ`JltpZHAbbtlZp˂|drnvp|ZdQےHAZbdQZ|`vXntArdnXv`p˂rH~f˂pZnXv`bHAZpvpfH`JXQrrd|J`ےltb~f`QXb㉀JltHAZp˂vpfH˂p`~fpvےbHAbnvے`JJtArdrXQJ`tAJlfH~btlp˂rdrtAvpf|ZdQbf~HXQJ`ے`vXnHAbےf~H˂rXQ~f`˂pZZdQbtbHAZpdQZ|vXnےp`ZQXbAdZ|rXQJf`vJXQrnXvZp˂pfHXQr˂|ZdQےbHAtbdQZf`vX|ZdQbXQJ`ےJltH~ftlJfpvbHAZvpf`JXQrfpvJ`ےvXnHAbےlJtA˂rXQdrtAJ`JXQrb㉀ۑpdrQt`ےbXnv˂pZHA`f~rXQJ`f`vXpZHAbbtlZp˂|drnvptlJbHAZbdQZ|`vXntArdnXv`p˂rH~f˂p`nXv`bHAZpvpfH`JXQrrd|J`ےltb˂pZJAHrJltHAZp˂pfH~bے`HfpvےbHAnvpے`JJtArdrXQJ`tAJlfH~tArdp˂rdrtAvpf|ZdQbf~HXQJ`ے`vXnJXQrf~fp˂rXQ~f`˂pZZdQbnbHAZpdQZ|HAbےˁ`ZQXbAdZ|rXQJf`vJXQrnXvZp˂fH~XQr˂|ZdQےbHAtbdQZf`vX|ZdQbXQJ`ےJltH~ftlJfpvbHAZvpf˂pZHAvnXJ`ےvXnHAbےXv`f˂rXQdrtAJ`JXQrb㉀XndrQt`ےbXnv˂p`J`f~fprXQJ`f`vXpZHAbbtlZp˂|drnvptl|bHAZbdQZ|`vXntArdnXv`p˂rH~fbے`v`fbHAZpvpfH`JXQr~HfJ`ےltb˂p`vˍpfJltHAZp˂pfH~XQr˂vnXےbHAnvpے`JJtArdrXQJ`tAJlfH~ZdQbtp˂rdrtAvpf|ZdQbf~HbdQZ|`vXnJXQr~Hfp˂rb~f`˂pZpvnbHAZpdQZ|JXQrH~ㅐfbAdZ|rXQJf`vpZHAbv`fZp˂fH~XQr˂|ZdQےbHAtbdQZf`vXlJtAXQJ`ےJltH~ftlJfpvdrtAvpf˂p`JvnXdQZ|vXnHAbےXv`f˂rXQdrtAJ˂pZHA`vXndrQt`ےbXnvے`J~HfprXQJ`f`vXpZHAbbtlZp˂|drnr˂rd|bHAZbdQZ|`vXntArdnXv`JltH~fXQrbtv`f~drtAJvpfH`JXQr~HfJ`ےltbbے`vˍpfJltHAZp˂pfH~XQr˂vnXےbHAnvpے`JJtArdrXQJ`tAJlp`JXQZdQbtp˂rdrtAr˂p|ZdQbf~HbdQZ|`vXnl|Zfpvltb~f`˂pZpvnbHAZpdQZ|JXQrH~ㅐfbAdZ|rXQJf`vp`JXQv`f~Zp˂fH~XQr˂|ZdQےbHAtbdQZr˂pl|ZXQJ`ےJltZHAbtlJfpvdrtAvpfdQbtnXv`dQZ|vXnHAbےXv`f˂rXQdrtAJ˂p`J`vXndrQt`ےbXnvr˂pfpvrXQJ`f`vXpZHAbbnXvZp˂|drZHAbdQbt璐bHAZbdQZ|ے`JXQtArdnXv`JltH~flJtArf~HdrtAJvpfH`JXQr~HfJ`ےltbXQr˂vˍpfJltHAZp˂pfH~ZHAbnXv`ےbHAnvpے`J`f~rXQJ`tAJlے`JXQlJtArp˂rdrtAr˂p|ZdQbf~HbdQZ|`vXnd|Zfpvltb~f`˂pZpvnbHAZpdQZ|pZHAbH~ㅐfbAdZ|rbdQf`vے`JXQf~HZp˂fH~XQr˂HfpvےbHAtbdQZr˂pd|ZXQJ`ےJltZHAbtlJfpvdrtAvpfdQbtnXv`fdQZ|vXnHAbےXv`f˂rXQdtAJlے`J`vXndrQtZ|dXnvr˂pfpvrbdQZf`vXpZHAbnXvZp˂|dr`JXQrdQbt璐bHAZbdQZ|ے`JXQtArdnXv`JltH~fl|ZdQ~fpvdrtAJvpfH`JXQr~HfJ`ےtbnXQr˂vˍpfJltrtAJlpfH~`JXQrnXv`|drnvpے`J`f~rXQJ`tAJl璀˂pZl|ZdQp˂rdrtAr˂p|ZdQbf~HbdQZ|`vXnbtlnXvltb~f`˂pZpvnbHAZpvpfp`JXQH~ㅐfbAdZ|tbdQf`vbtlf~fptAJlfH~XQr˂HfpvےbHAtbdQZHAbےbnXvXQJ`ےJltZHAbtlJfpvdrtAvpfJtArd`f~dQZ|vXnHAے`Xv`f˂rXQHf`r˂p`vXndrQtZ|dXnv|ZdQbvnXtbdQZf`vXpZHAbnXvZp˂|dr`JXQr`f~fpbHAZbdQZ|ے`JXQtArdnXv`JltH~f|ZdQHfpvdrtAJvpfHJXQrb~HfJ`ےvXnZHAbvˍpfJltrtAJlpfH~tlJv`f|drnvpے`J`f~rXQJ`tAJl璀˂p`vnXp˂rdrtAr˂p|ZdQbfHfbdQZ|`vXnbtlnXvltb~f`tlJpvnbHAZpvpfHے`JXQH~ㅐfbAdZ|tbdQf`vtArd~HfptAJlfH~XQr˂HfpvےbHAtbdQZJXQrv`fXQJ`ےJltZHAbtlJpvndrtAvpf|ZdQb`ffpdQZ|vXntAd|Xv`f˂rXQ~f`r˂p`vXndrQt66666666666666666666666666666666666666677777777777777 \ No newline at end of file diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv36_0.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv36_0.dat deleted file mode 100644 index dfa74a81b2..0000000000 --- a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv36_0.dat +++ /dev/null @@ -1,321 +0,0 @@ -}~}~}~}~|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijihghghghgfefefefecdcdcdcdbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPOLKLKLKLKIJIJIJIJHGHGHGHGFEFEFEFEDCDCDCDCBABABABA@?@?@?@?}~}~}~}~|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijihghghghgfefefefecdcdcdcdbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPOLKLKLKLKIJIJIJIJHGHGHGHGFEFEFEFEDCDCDCDCBABABABA@?@?@?@?}~}~}~}~|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijihghghghgfefefefecdcdcdcdbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPOLKLKLKLKIIIIIIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABA@?@?@?@?}~}~}~}~|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijihghghghgfefefefeccccccdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPOLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABA@?@?@?@?}~}~}}}}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPOLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABA@?@?@?@?}}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPOLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABA@?@?@?@?~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPOLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABA@?@?@?@?>=>=>=>=~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijihghghghgfefefefeccccdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPOLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABA@?@?@?@?>=>=>=>=~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijihghghghgfefefefedcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMLKLKLKLKIIIIIJIJHGHGHGHGFEFEFEFEDCDCDCDCBABABABA@?@?@?@?>=>=>=>=~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijihghghghgfefefefebabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKIJIJIJIJHGHGHGHGFEFEFEFEDCDCDCDCBABABABA@?@?@?@?>=>=>=>=~}~}}}}}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijihghghghgfefefefebabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKIJIJIJIJHGHGHGHGFEFEFEFEDCDCDCDCBABABABA@?@?@?@?>=>=>=>=}~}~}~}~|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijihghghghgfefefefebabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKIJIJIJIJHGHGHGHGFEFEFEFEDCDCDCDCBABABABA@?@?@?@?>=>=>=>=}~}~}~}~|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijihghghghgfefefedcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKIJIJIJIJHGHGHGHGFEFEFEFEDCDCDCDCBABABABA@?@?@?@?>=>=>=>=}~}~}~}~|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijihghghghgdcdcdcccbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKIJIJIJIIHGHGHGHGFEFEFEFEDCDCDCDCBABABABA@?@?@?@?>=>=>=>=}~}~}~}~|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijihghghghgcccdcdcdbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKIIIIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABA@?@?@?@?>=>=>=>=}~}~}~}~|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijihghghghgcdcdcdcdbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABA@?@?@?@?>=>=>=>=}~}}}}}}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijihghghghgcdcdcdcdbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABA@?@?@?@?>=>=>=>=~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijihghghghgcdcdcdcdbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABA@?@?@?@?>=>=>=>=~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijihghghghgcdcdcdcdbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABA@?@?@?@?>=>=>=>=~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijihghghghgcdcdccccbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKJIJIJIIIHGHGHGHGFEFEFEFEDCDCDCDCBABABABA@?@?@?@?>=>=>=>=~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijihghghghgccdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKIIIJIJIJHGHGHGHGFEFEFEFEDCDCDCDCBABABABA@?@?@?@?>=>=>=>=~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijihgfefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKIJIJIJIJHGHGHGHGFEFEFEFEDCDCDCDCBABABABA@?@?@?@?>=>=>=>=~}}}}}}~|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijifefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKIJIJIJIJHGHGHGHGFEFEFEFEDCDCDCDCBABABABA@?@?@?@?>=>=>=>=}~}~}~}~|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijifefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKIJIJIJIJHGHGHGHGFEFEFEFEDCDCDCDCBABABABA@?@?@?@?>=>=>=>=}~}~}~}~|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijifefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKIJIJIJIJHGHGHGHGFEFEFEFEDCDCDCDCBABABABA@?@?@?@?>=>=>=>=}~}~}~}~|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijifefefefedcdcccccbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKIJIJIIIIHGHGHGHGFEFEFEFEDCDCDCDCBABABABA@?@?@?@?>=>=>=>=}~}~}~}~|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijifefefefecdcdcdcdbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKIIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABA@?@?@?@?>=>=>=>=}~}~}~}~|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijifefefefecdcdcdcdbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABA@?@?@?@?>=>=>=>=>=>=>=}}}}}}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijifefefefecdcdcdcdbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKHGHGHGHGFEFEFEFEDCDCDCDCBABABABA@?@?@?@?>=>=>=>=>=>=>=>=~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijihgfefefefecdcdcdcdbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKHGHGHGHGFEFEFEFEDCDCDCDCBABABABA@?@?@?@?>=>=>=>=>=>=>=>=|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijihghghghgfefefefecdcdcdcdbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKHGHGHGHGFEFEFEFEDCDCDCDCBABABABA@?@?@?@?>=>=>=>=>=>=>=>=|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijihghghghgfefefefecdccccccbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKLKJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABA@?@?@?@?>=>=>=>=>=>=>=>=|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMJIJIIIIIHGHGHGHGFEFEFEFEDCDCDCDCBABABABA@?@?@?@?>=>=>=>=>=>=>=>=|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABA@?@?@?@?>=>=>=>=>=<;<;<;~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABA@?@?@?@?>=>=>=>=<;<;<;<;}}}}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABA@?@?@?@?>=>=>=>=<;<;<;<;~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMJIIIIIIJHGHGHGHGFEFEFEFEDCDCDCDCBABABABA@?@?@?@?>=>=>=>=<;<;<;<;~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijihghghghgfefefefedccccccdbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMIJIJIJIJHGHGHGHGFEFEFEFEDCDCDCDCBABABABA@?@?@?@?>=>=>=>=<;<;<;<;~}~}~}}}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijihghghghgfefefefecdcdcdcdbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMIJIJIJIJHGHGHGHGFEFEFEFEDCDCDCDCBABABABA@?@?@?@?>=>=>=>=<;<;<;<;}}}~}~}~|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijihghghghgfefefefecdcdcdcdbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMIJIJIJIJHGHGHGHGFEFEFEFEDCDCDCDCBABABABA@?@?@?@?>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:9878787876565656543434343212121210/0/0///.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - <;<;<;<;:9:9:9:987878787656565654343434321212121///0/0/0.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - <;<;<;<;:9:9:9:987878787656565654343434321212121/0/0/0/0.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - <;<;<;<;:9:9:9:987878787656565654343434321212121/0/0/0/0.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - <;<;<;<;:9:9:9:987878787656565654343434321212121/0/0/0/0.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - <;<;<;<;:9:9:9:987878787656565654343434321212121/0/0/0/0.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - <;<;<;<;:9:9:9:987878787656565654343434321212121/0/0////.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - <;<;<;<;:9:9:9:987878787656565654343434321212121//0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - <;<;<;<;:9:9:9:9878787876565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - <;<;<;<;:9:9:9:9878787876565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - <;<;<;<;:9:9:9:9878787876565656543434343212121210/0/////.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - <;<;<;<;:9:9:9:9878787876565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - <;<;<;<;:9:9:9:987878787656565654343434321212121.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - <;<;<;<;:9:9:9:987878787656565654343434321212121.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - <;<;<;<;:9:9:9:987878787656565654343434321212121.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - <;<;<;<;:9:9:9:987878787656565654343434321212121.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - <;<;<;<;:9:9:9:9878787876565656543434343210/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - <;<;<;<;:9:9:9:98787878765656565434343430//////0.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - <;<;<;<;:9:9:9:9878787876565656543434343/0/0/0/0.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - <;<;<;<;:9:9:9:9878787876565656543434343/0/0/0/0.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - <;<;<;<;:9:9:9:9878787876565656543434343/0/0/0/0.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - <;<;<;<;:9:9:9:9878787876565656543434343/0/0/0/0.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - <;<;<;<;:9:9:9:9878787876565656543434343/0/0/0/0.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - <;<;<;<;:9:9:9:9878787876565656543434343//////0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - <;<;<;<;:9:9:9:98787878765656565434343210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - <;<;<;<;:9:9:9:98787878765656565212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - <;<;<;<;:9:9:9:98787878765656565212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - <;<;<;<;:9:9:9:98787878765656565212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - <;<;<;<;:9:9:9:98787878765656565212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - <;<;<;<;:9:9:9:9878787876565656521212121/////0/0.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - <;<;<;<;:9:9:9:9878787876565656521212121/0/0/0/0.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - <;<;<;<;:9:9:9:9878787876565656521212121/0/0/0/0.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - <;<;<;<;:9:9:9:9878787876565656521212121/0/0/0/0.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - <;:9:9:9:9878787876565656543434321212121/0/0/0/0.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - :9:9:9:987878787656565654343434321212121/0/0/0//.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - :9:9:9:987878787656565654343434321212121////0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - :9:9:9:9878787876565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - :9:9:9:9878787876565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - :9:9:9:9878787876565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - :9:9:9:9878787876565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - IIOOPPQQ::998877uuvvwwxx,,++**))uuvvwwxx,,++**))uuvvwwxx,,++**))uuvvwwxx,,++**))uuvvwwxx,,++**)) !wwvvuutt**++,,--wwvvuutt**++,,--wwvvuutt**++,,--wwvvuutt**++,,--wwvvuutt**++,,--mmllkkjj__``aabb'&&%%$$#""!! ""!! ""!! ""!! ""!! '(())**+mmllkkjj44556677mmllkkjj44556677mmllkkjjRRSSTTUU66554321yyzz{{||((''&&%%yyzz{{||((''&&%%yyzz{{||((''&&%%yyzz{{||((''&&%%yyzz{{||((''&&%%!""##$$%ssrrqqpp..//0011ssrrqqpp..//0011ssrrqqpp..//0011ssrrqqpp..//0011ssrrqqpp..//0011iiccbbaacciijjkk#""!! +,,--../iihhggff8899::;;iihhggff8899::;;iihhggff}}||{{VVWWXXYY0//..--,}}~~$$##""!!}}~~$$##""!!}}~~$$##""!!}}~~$$##""!!}}~~$$##""!!%&&''(()oonnmmll22334455oonnmmll22334455oonnmmll22334455oonnmmll22334455oonnmmll22334455``__^^]]llmmnnoo/0123455eeddccbb<<==>>??eeddccbb<<==>>??eeddccbb zzyyxxwwZZ[[\\]],++**))(     )**++,,-kkjjiihh66778899kkjjiihh66778899kkjjiihh66778899kkjjiihh66778899kkjjiihh66778899\\[[ZZYYppqqrrss66778899aa``__^^@@AABBCCaa``__^^@@AABBCCaa``__^^!!""##$$vvuuttss^^__``aa(''&&%%$-..//012ggffeedd::;;<<==ggffeedd::;;<<==ggffeedd::;;<<==ggffeedd::;;<<==ggffeedd::;;<<==XXWWVVUUttuuvvww::;;<<==]]\\[[ZZDDEEFFGG]]\\[[ZZDDEEFFGG]]\\[[ZZ%%&&''((rrqqppoobbcciijj$##""!! 34556677ccbbaa``>>??@@AAccbbaa``>>??@@AAccbbaa``>>??@@AAccbbaa``>>??@@AAccbbaa``>>??@@AATTSSRRQQxxyyzz{{      >>??@@AAYYXXWWVVHHIIJJKKYYXXWWVVHHIIJJKKYYXXWWVV))**++,,nnmmllkkkkllmmnn 8899::;;__^^]]\\BBCCDDEE__^^]]\\BBCCDDEE__^^]]\\BBCCDDEE__^^]]\\BBCCDDEE__^^]]\\BBCCDDEEPPOOIIHH||}} - - - -  - -  - -  - -  - - }}||{{BBCCDDEEUUTTSSRRLLMMNNOOUUTTSSRRLLMMNNOOUUTTSSRR44556677--..//00jjiiccbbooppqqrr     <<==>>??[[ZZYYXXFFGGHHII[[ZZYYXXFFGGHHII[[ZZYYXXFFGGHHII[[ZZYYXXFFGGHHII[[ZZYYXXFFGGHHIIGGFFEEDDzzyyxxwwFFGGHHIIQQPPOONNPPQQRRSSQQPPOONNPPQQRRSSQQPPOONN8899::;;~~}}11223344aa``__^^ssttuuvv - - - - - - - - - - }}@@AABBCCWWVVUUTTJJKKLLMMWWVVUUTTJJKKLLMMWWVVUUTTJJKKLLMMWWVVUUTTJJKKLLMMWWVVUUTTJJKKLLMMCCBBAA@@vvuuttssJKLMNOOPMMLLKKJJTTUUVVWWMMLLKKJJTTUUVVWWMMLLKKJJ<<==>>??||{{zzyy55667788]]\\[[ZZwwxxyyzz||{{zzyyDDEEFFGGSSRRQQPPNNOOPPQQSSRRQQPPNNOOPPQQSSRRQQPPNNOOPPQQSSRRQQPPNNOOPPQQSSRRQQPPNNOOPPQQ??>>==<< - -rrqqppooPQQRRSSTIIHHGGFFXXYYZZ[[IIHHGGFFXXYYZZ[[IIHHGGFF@@AABBCCxxwwvvuu99::;;<>??@@UUTTSSRR ttssrrqqNOOPPQQRKKJJIIHHVVWWXXYYKKJJIIHHVVWWXXYYKKJJIIHHVVWWXXYYKKJJIIHHVVWWXXYYKKJJIIHHVVWWXXYY776655//     jjiiccbbXYYZZ[[\AA@@??>>``aabbccAA@@??>>``aabbccAA@@??>>HHIIJJKKppoonnmmAABBCCDDQQPPOOII - - ppoonnmmRSSTTUUVGGFFEEDDZZ[[\\]]GGFFEEDDZZ[[\\]]GGFFEEDDZZ[[\\]]GGFFEEDDZZ[[\\]]GGFFEEDDZZ[[\\]]..--,,++aa``__^^\]]^^__`==<<;;::ddeeffgg==<<;;::ddeeffgg==<<;;::LLMMNNOOllkkjjiiEEFFGGHHHHGGFFEE - - - - - - - - - - llkkjjiiVWWXXYYZCCBBAA@@^^__``aaCCBBAA@@^^__``aaCCBBAA@@^^__``aaCCBBAA@@^^__``aaCCBBAA@@^^__``aa**))(('']]\\[[ZZ`aabbccd99887766hhiijjkk99887766hhiijjkk99887766PPQQRRSShhggffeeIIJJKKLLDDCCBBAA     ccbbaa``Z[[\\]]^??>>==<>==<>==<>==<>==<>==__^^]]\\^__``aab;;::9988ffgghhii;;::9988ffgghhii;;::9988ffgghhii;;::9988ffgghhii;;::9988ffgghhii""!! $$%%&&''UUTTSSRRkkllmmnn1100//..ppqqrrss1100//..ppqqrrss1100//..XXYYZZ[[``__^^]]QQRRSSTT<<;;::99 !![[ZZYYXXbccdefgh77665544jjkkllmm77665544jjkkllmm77665544jjkkllmm77665544jjkkllmm77665544jjkkllmm !!"" !!"" !!"" !!"" !!""(())**++QQPPOOIIooppqqrr--,,++**ttuuvvww--,,++**ttuuvvww--,,++**\\]]^^__\\[[ZZYYUUVVWWXX88776655""##$$%%WWVVUUTTiijjkkll33221100nnooppqq33221100nnooppqq33221100nnooppqq33221100nnooppqq33221100nnooppqq##$$%%&&~~}}||{{##$$%%&&~~}}||{{##$$%%&&~~}}||{{##$$%%&&~~}}||{{##$$%%&&~~}}||{{,,--..//HHGGFFEEssttuuvv))((''&&xxyyzz{{))((''&&xxyyzz{{))((''&&``aabbccXXWWVVUUYYZZ[[\\//..--,,     &&''(())SSRRQQPPmmnnoopp//..--,,rrssttuu//..--,,rrssttuu//..--,,rrssttuu//..--,,rrssttuu//..--,,rrssttuu''(())**zzyyxxww''(())**zzyyxxww''(())**zzyyxxww''(())**zzyyxxww''(())**zzyyxxww55667788DDCCBBAAwwxxyyzz%%$$##""||}}~~%%$$##""||}}~~%%$$##""ddeeffggTTSSRRQQ]]^^__``++**))((!!""##$$~~}}!!""##$$~~}}!!""##$$~~}}!!""##$$~~}}!!""##$$~~}}**++,,--OOIIHHGGqqrrsstt++**))((vvwwxxyy++**))((vvwwxxyy++**))((vvwwxxyy++**))((vvwwxxyy++**))((vvwwxxyy - -++,,--..vvuuttss++,,--..vvuuttss++,,--..vvuuttss++,,--..vvuuttss++,,--..vvuuttss99::;;<<@@??>>=={{||}}~!! !! !! hhiijjkkPPOONNMMaabbccdd''&&%%$$%%&&''((||{{zzyy%%&&''((||{{zzyy%%&&''((||{{zzyy%%&&''((||{{zzyy%%&&''((||{{zzyy..//5566FFEEDDCCuuvvwwxx''&&%%$$zz{{||}}''&&%%$$zz{{||}}''&&%%$$zz{{||}}''&&%%$$zz{{||}}''&&%%$$zz{{||}} ~}}||{{//001122rrqqppoo//001122rrqqppoo//001122rrqqppoo//001122rrqqppoo//001122rrqqppoo==>>??@@<<;;::99llmmnnooLLKKJJIIeeffgghh##""!! ))**++,,xxwwvvuu))**++,,xxwwvvuu))**++,,xxwwvvuu))**++,,xxwwvvuu))**++,,xxwwvvuu778899::BBAA@@??yyzz{{||##""!! ~~##""!! ~~##""!! ~~##""!! ~~##""!! ~~zzyyxxww33445566nnmmllkk33445566nnmmllkk33445566nnmmllkk33445566nnmmllkk33445566nnmmllkkAABBCCDD88776655ppqqrrssHHGGFFEEiijjkkll--..//00ttssrrqq--..//00ttssrrqq--..//00ttssrrqq--..//00ttssrrqq--..//00ttssrrqq;;<<==>>>>==<<;;}}~ - - vvuuttss778899::jjiihhgg778899::jjiihhgg778899::jjiihhgg778899::jjiihhgg778899::jjiihhggEEFFGGHH//..--,,ttuuvvwwDDCCBBAAmmnnoopp11223344ppoonnmm11223344ppoonnmm11223344ppoonnmm11223344ppoonnmm11223344ppoonnmm??@@AABB::998877 rrqqppoo;;<<==>>ffeeddcc;;<<==>>ffeeddcc;;<<==>>ffeeddcc;;<<==>>ffeeddcc;;<<==>>ffeeddccIIOOPPQQ++**))((xxyyzz{{@@??>>==qqrrsstt~}}||55667788llkkjjii55667788llkkjjii55667788llkkjjii55667788llkkjjii55667788llkkjjiiCCDDEEFF6655//..nnmmllkk??@@AABBbbaa``__??@@AABBbbaa``__??@@AABBbbaa``__??@@AABBbbaa``__??@@AABBbbaa``__RRSSTTUU''&&%%$$ - - - - - -||}}~~<<;;::99uuvvwwxx {{zzyyxx99::;;<>??@@ddccbbaa==>>??@@ddccbbaa==>>??@@ddccbbaa==>>??@@ddccbbaa==>>??@@ddccbbaaPPQQRRSS))((''&&      dccbbaa`GGHHIIJJZZYYXXWWGGHHIIJJZZYYXXWWGGHHIIJJZZYYXXWWGGHHIIJJZZYYXXWWGGHHIIJJZZYYXXWWZZ[[\\]]44332211}}~~ ssrrqqppAABBCCDD``__^^]]AABBCCDD``__^^]]AABBCCDD``__^^]]AABBCCDD``__^^]]AABBCCDD``__^^]]TTUUVVWW%%$$##"" - -  - -  - -  - -  - - !!""##$$`__^^]]\KKLLMMNNVVUUTTSSKKLLMMNNVVUUTTSSKKLLMMNNVVUUTTSSKKLLMMNNVVUUTTSSKKLLMMNNVVUUTTSS^^__``aa00//..--oonnmmllEEFFGGHH\\[[ZZYYEEFFGGHH\\[[ZZYYEEFFGGHH\\[[ZZYYEEFFGGHH\\[[ZZYYEEFFGGHH\\[[ZZYYXXYYZZ[[!! %%&&''((\[[ZZYYXOOPPQQRRRRQQPPOOOOPPQQRRRRQQPPOOOOPPQQRRRRQQPPOOOOPPQQRRRRQQPPOOOOPPQQRRRRQQPPOObbcciijj,,++**))kkjjiihgIIJJKKLLXXWWVVUUIIJJKKLLXXWWVVUUIIJJKKLLXXWWVVUUIIJJKKLLXXWWVVUUIIJJKKLLXXWWVVUU\\]]^^__))**++,,XWWVVUUTSSTTUUVVNNMMLLKKSSTTUUVVNNMMLLKKSSTTUUVVNNMMLLKKSSTTUUVVNNMMLLKKSSTTUUVVNNMMLLKKkkllmmnn  - -  - -  - - ((''&&%%fedccbbaMMNNOOPPTTSSRRQQMMNNOOPPTTSSRRQQMMNNOOPPTTSSRRQQMMNNOOPPTTSSRRQQMMNNOOPPTTSSRRQQ``aabbcc--..//55TSSRRQQPWWXXYYZZJJIIHHGGWWXXYYZZJJIIHHGGWWXXYYZZJJIIHHGGWWXXYYZZJJIIHHGGWWXXYYZZJJIIHHGGooppqqrr - -    $$##""!! !!""##a``__^^]QQRRSSTTPPOONNMMQQRRSSTTPPOONNMMQQRRSSTTPPOONNMMQQRRSSTTPPOONNMMQQRRSSTTPPOONNMMiijjkkll      66778899POONMLKJ[[\\]]^^FFEEDDCC[[\\]]^^FFEEDDCC[[\\]]^^FFEEDDCC[[\\]]^^FFEEDDCC[[\\]]^^FFEEDDCCssttuuvv $$%%&&'']\\[[ZZYUUVVWWXXLLKKJJIIUUVVWWXXLLKKJJIIUUVVWWXXLLKKJJIIUUVVWWXXLLKKJJIIUUVVWWXXLLKKJJIImmnnoopp - - - - - - - - - - - - ::;;<<==IIHHGGFF__``aabbBBAA@@??__``aabbBBAA@@??__``aabbBBAA@@??__``aabbBBAA@@??__``aabbBBAA@@??wwxxyyzz(())**++YXXWWVVUYYZZ[[\\HHGGFFEEYYZZ[[\\HHGGFFEEYYZZ[[\\HHGGFFEEYYZZ[[\\HHGGFFEEYYZZ[[\\HHGGFFEEqqrrsstt>>??@@AAEEDDCCBBccddeeff>>==<<;;ccddeeff>>==<<;;ccddeeff>>==<<;;ccddeeff>>==<<;;ccddeeff>>==<<;;{{||}} - - ,,--..//UTTSSRRQ]]^^__``DDCCBBAA]]^^__``DDCCBBAA]]^^__``DDCCBBAA]]^^__``DDCCBBAA]]^^__``DDCCBBAAuuvvwwxxBBCCDDEEAA@@??>>gghhiijj::998877gghhiijj::998877gghhiijj::998877gghhiijj::998877gghhiijj::998877 55667788QPPOONMLaabbccdd@@??>>==aabbccdd@@??>>==aabbccdd@@??>>==aabbccdd@@??>>==aabbccdd@@??>>==yyzz{{|| - -FFGGHHII==<<;;::kkllmmnn66554433kkllmmnn66554433kkllmmnn66554433kkllmmnn66554433kkllmmnn66554433~~ !!""##~~ !!""##~~ !!""## 99::;;<>??@@FFEEDDCCiijjkkll88776655iijjkkll88776655iijjkkll88776655iijjkkll88776655iijjkkll88776655 !! !! !! !! !!yyxxwwvvSSTTUUVV5543210/ssttuuvv..--,,++ssttuuvv..--,,++ssttuuvv..--,,++ssttuuvv..--,,++ssttuuvv..--,,++yyxxwwvv(())**++yyxxwwvv(())**++yyxxwwvv(())**++ - - AABBCCDDBBAA@@??mmnnoopp44332211mmnnoopp44332211mmnnoopp44332211mmnnoopp44332211mmnnoopp44332211~~}}||""##$$%%~~}}||""##$$%%~~}}||""##$$%%~~}}||""##$$%%~~}}||""##$$%%uuttssrrWWXXYYZZ/..--,,+wwxxyyzz**))((''wwxxyyzz**))((''wwxxyyzz**))((''wwxxyyzz**))((''wwxxyyzz**))(('' !!""#uuttssrr,,--..//uuttssrr,,--..//uuttssrr,,--..// EEFFGGHH>>==<<;;qqrrsstt00//..--qqrrsstt00//..--qqrrsstt00//..--qqrrsstt00//..--qqrrsstt00//..--{{zzyyxx&&''(()){{zzyyxx&&''(()){{zzyyxx&&''(()){{zzyyxx&&''(()){{zzyyxx&&''(())qqppoonn[[\\]]^^+**))(('{{||}}~~&&%%$$##{{||}}~~&&%%$$##{{||}}~~&&%%$$##{{||}}~~&&%%$$##{{||}}~~&&%%$$###$$%%&&'qqppoonn00112233qqppoonn00112233qqppoonn00112233{{zzyyxxQQRRSSTT77665543qqrrsstt00//..--qqrrsstt00//..--qqrrsstt00//..--qqrrsstt00//..--qqrrsstt00//..--{{zzyyxx&&''(()){{zzyyxx&&''(()){{zzyyxx&&''(())nnmmllkkkkllmmnn~~ !!""##~~ !!""##wwvvuuttUUVVWWXX210//..-uuvvwwxx,,++**))uuvvwwxx,,++**))uuvvwwxx,,++**))uuvvwwxx,,++**))uuvvwwxx,,++**)) !wwvvuutt**++,,--wwvvuutt**++,,--wwvvuutt**++,,--jjiiccbbooppqqrr}}||{{zz$$%%&&''}}||{{zz$$%%&&''ssrrqqppYYZZ[[\\-,,++**)yyzz{{||((''&&%%yyzz{{||((''&&%%yyzz{{||((''&&%%yyzz{{||((''&&%%yyzz{{||((''&&%%!""##$$%ssrrqqpp..//0011ssrrqqpp..//0011ssrrqqpp..//0011aa``__^^ssttuuvvyyxxwwvv(())**++yyxxwwvv(())**++oonnmmll]]^^__``)((''&&%}}~~$$##""!!}}~~$$##""!!}}~~$$##""!!}}~~$$##""!!}}~~$$##""!!%&&''(()oonnmmll22334455oonnmmll22334455oonnmmll22334455]]\\[[ZZwwxxyyzz uuttssrr,,--..//uuttssrr,,--..//kkjjiiccaabbccii%$$##""!     )**++,,-kkjjiihh66778899kkjjiihh66778899kkjjiihh66778899YYXXWWVV{{||}} - - qqppoonn00112233qqppoonn00112233bbaa``__jjkkllmm! -..//012ggffeedd::;;<<==ggffeedd::;;<<==ggffeedd::;;<<==UUTTSSRR - - mmllkkjj44556677mmllkkjj44556677^^]]\\[[nnooppqq34556677ccbbaa``>>??@@AAccbbaa``>>??@@AAccbbaa``>>??@@AAQQPPOOIIiihhggff8899::;;iihhggff8899::;;ZZYYXXWWrrssttuu8899::;;__^^]]\\BBCCDDEE__^^]]\\BBCCDDEE__^^]]\\BBCCDDEEHHGGFFEEeeddccbb<<==>>??eeddccbb<<==>>??VVUUTTSSvvwwxxyy     <<==>>??[[ZZYYXXFFGGHHII[[ZZYYXXFFGGHHII[[ZZYYXXFFGGHHIIDDCCBBAAaa``__^^@@AABBCCaa``__^^@@AABBCCRRQQPPOOzz{{||}} - - - - - - - - - - }}@@AABBCCWWVVUUTTJJKKLLMMWWVVUUTTJJKKLLMMWWVVUUTTJJKKLLMM@@??>>==]]\\[[ZZDDEEFFGG]]\\[[ZZDDEEFFGGIIHHGGFF - - ||{{zzyyDDEEFFGGSSRRQQPPNNOOPPQQSSRRQQPPNNOOPPQQSSRRQQPPNNOOPPQQ<<;;::99 !!YYXXWWVVHHIIJJKKYYXXWWVVHHIIJJKKEEDDCCBBxxwwvvuuHHIIJKLMOONNMMLLRRSSTTUUOONNMMLLRRSSTTUUOONNMMLLRRSSTTUU88776655""##$$%%UUTTSSRRLLMMNNOOUUTTSSRRLLMMNNOOAA@@??>>ttssrrqqNOOPPQQRKKJJIIHHVVWWXXYYKKJJIIHHVVWWXXYYKKJJIIHHVVWWXXYY//..--,,&&''(())QQPPOONNPPQQRRSSQQPPOONNPPQQRRSS==<<;;:: - - ppoonnmmRSSTTUUVGGFFEEDDZZ[[\\]]GGFFEEDDZZ[[\\]]GGFFEEDDZZ[[\\]]++**))((**++,,--MMLLKKJJTTUUVVWWMMLLKKJJTTUUVVWW99887766 - - - - - - - - - - llkkjjiiVWWXXYYZCCBBAA@@^^__``aaCCBBAA@@^^__``aaCCBBAA@@^^__``aa''&&%%$$..//0011IIHHGGFFXXYYZZ[[IIHHGGFFXXYYZZ[[55//..--     ccbbaa``Z[[\\]]^??>>==<>==<>==<>``aabbccAA@@??>>``aabbcc((''&&%% !![[ZZYYXXbccdefgh77665544jjkkllmm77665544jjkkllmm77665544jjkkllmmwwvvuutt::;;<<====<<;;::ddeeffgg==<<;;::ddeeffgg$$##""!!""##$$%%WWVVUUTTiijjkkll33221100nnooppqq33221100nnooppqq33221100nnooppqqssrrqqpp>>??@@AA99887766hhiijjkk99887766hhiijjkk      &&''(())SSRRQQPPmmnnoopp//..--,,rrssttuu//..--,,rrssttuu//..--,,rrssttuu oonnmmllBBCCDDEE55443322llmmnnoo55443322llmmnnoo!!""##$$~~}}!!""##$$~~}}!!""##$$~~}}!!""##$$~~}}!!""##$$~~}}**++,,--OOIIHHGGqqrrsstt++**))((vvwwxxyy++**))((vvwwxxyy++**))((vvwwxxyy - - - -kkjjiihhFFGGHHII1100//..ppqqrrss1100//..ppqqrrss%%&&''((||{{zzyy%%&&''((||{{zzyy%%&&''((||{{zzyy%%&&''((||{{zzyy%%&&''((||{{zzyy..//5566FFEEDDCCuuvvwwxx''&&%%$$zz{{||}}''&&%%$$zz{{||}}''&&%%$$zz{{||}} ggffeeddJJKKLLMM--,,++**ttuuvvww--,,++**ttuuvvww ))**++,,xxwwvvuu))**++,,xxwwvvuu))**++,,xxwwvvuu))**++,,xxwwvvuu))**++,,xxwwvvuu778899::BBAA@@??yyzz{{||##""!! ~~##""!! ~~##""!! ~~ccbbaa``NNOOPPQQ))((''&&xxyyzz{{))((''&&xxyyzz{{ - - ~}}--..//00ttssrrqq--..//00ttssrrqq--..//00ttssrrqq--..//00ttssrrqq--..//00ttssrrqq;;<<==>>>>==<<;;}}~__^^]]\\RRSSTTUU%%$$##""||}}~~%%$$##""||}}~~||{{zzyy11223344ppoonnmm11223344ppoonnmm11223344ppoonnmm11223344ppoonnmm11223344ppoonnmm??@@AABB::998877[[ZZYYXXVVWWXXYY!! !!  xxwwvvuu55667788llkkjjii55667788llkkjjii55667788llkkjjii55667788llkkjjii55667788llkkjjiiCCDDEEFF6655//.. !!""##WWVVUUTTZZ[[\\]] - - ttssrrqq99::;;<>??@@ddccbbaa==>>??@@ddccbbaa==>>??@@ddccbbaa==>>??@@ddccbbaa==>>??@@ddccbbaaPPQQRRSS))((''&&   (())**++OONNMMLLbbccddeellkkjjiiAABBCCDD``__^^]]AABBCCDD``__^^]]AABBCCDD``__^^]]AABBCCDD``__^^]]AABBCCDD``__^^]]TTUUVVWW%%$$##"" - -  - -  - - ,,--..//KKJJIIHHffgghhiihgfedccbEEFFGGHH\\[[ZZYYEEFFGGHH\\[[ZZYYEEFFGGHH\\[[ZZYYEEFFGGHH\\[[ZZYYEEFFGGHH\\[[ZZYYXXYYZZ[[!! 55667788GGFFEEDDjjkkllmm - - - - !!""baa``__^IIJJKKLLXXWWVVUUIIJJKKLLXXWWVVUUIIJJKKLLXXWWVVUUIIJJKKLLXXWWVVUUIIJJKKLLXXWWVVUU\\]]^^__99::;;<>??@@??>>==<>??GGFFEEDDaabbccdd@@??>>==aabbccdd@@??>>==aabbccdd@@??>>==aabbccdd@@??>>==aabbccdd@@??>>==yyzz{{|| - -}}||{{VVWWXXYY++**))((@@AABBCCCCBBAA@@eeffgghh<<;;::99eeffgghh<<;;::99eeffgghh<<;;::99eeffgghh<<;;::99eeffgghh<<;;::99}} zzyyxxwwZZ[[\\]]''&&%%$$DDEEFFGG??>>==<=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:9878787878787878765656565656565654343434321212121212121210/0/0/0//0/0////.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#}~}~}~}~~}~}~}~}|{|{|{|{|{|{|{|{zyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvutstststststststsrqrqrqrqrqrqrqrqpopopopopopopoponmnmnmnmnmnmnmnmlklklklklklklklkjijijijijijijijihghghghghgfefefefefefefedcdcdcdccdcdcdcdbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMLKLKLKLKLKLKLKLKIJIJIJIJIJIJIJIJHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:9878787878787878765656565656565654343434321212121212121210/0/0/0///0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#}~}~}~}~~}}}}}}~|{|{|{|{|{|{|{|{zyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvutstststststststsrqrqrqrqrqrqrqrqpopopopopopopoponmnmnmnmnmnmnmnmlklklklklklklklkjijijijijijijijihghghghgfefefefefefefefedcdcdcdccdcdcdcdbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMLKLKLKLKLKLKLKLKIIIIIIJIIJIJIJIJHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:9878787878787878765656565656565654343434321212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#}~}~}~}~}~}~}~}~|{|{|{|{|{|{|{|{zyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvutstststststststsrqrqrqrqrqrqrqrqpopopopopopopoponmnmnmnmnmnmnmnmlklklklklklklklkjijijijijijijijihghghghgfefefefefefefefedcdcdcdcccccccdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIIJIJIJIJHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:987878787878787876565656565656565434343432121212121212121/////0/00/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#}~}~}}}}}~}~}~}~|{|{|{|{|{|{|{|{zyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvutstststststststsrqrqrqrqrqrqrqrqpopopopopopopoponmnmnmnmnmnmnmnmlklklklklklklklkjijijijijijijijihghghghgfefefefefefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIIJIJIJIJHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:987878787878787876565656565656565434343432121212121212121/0/0/0/00/0/////.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#}}~}~}~}}~}~}~}~|{|{|{|{|{|{|{|{zyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvutstststststststsrqrqrqrqrqrqrqrqpopopopopopopoponmnmnmnmnmnmnmnmlklklklklklklklkjijijijijijijijihghghghgfefefefefefefefedcdcccccdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIIJIJIIIIHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:987878787878787876565656565656565434343432121212121212121/0/0/0/00/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#~}~}~}~}}~}~}~}~|{|{|{|{|{|{|{|{zyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvutstststststststsrqrqrqrqrqrqrqrqpopopopopopopoponmnmnmnmnmnmnmnmlklklklklklklklkjijijijijijijijihghghghgfefefefefefefefecdcdcdcddcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIIIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:987878787878787876565656565656565434343432121212121212121/0/0/0/0.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!~}~}~}~}}~}~}~}~|{|{|{|{|{|{|{|{zyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvutstststststststsrqrqrqrqrqrqrqrqpopopopopopopoponmnmnmnmnmnmnmnmlklklklklklklklkjijijijijijijijihghghghgfefefefefefefefecdcdcdcdccccdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:987878787878787876565656565656565434343434343432121212121212121/0/0/0/0.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!~}~}~}~}}}}}}}~}|{|{|{|{|{|{|{|{zyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvutstststststststsrqrqrqrqrqrqrqrqpopopopopopopoponmnmnmnmnmnmnmnmlklklklklklklklkjijijijijijijijihghghghgfefefefefefefefecdcdcdcddcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMNMNMLKLKLKLKLKLKLKLKIIIIIJIJHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:98787878787878787656565656565656543434343434343432121212121212121/0/0/0//.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!~}~}~}~}~}~}~}|{|{|{|{|{|{|{|{zyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvutstststststststsrqrqrqrqrqrqrqrqpopopopopopopoponmnmnmnmnmnmnmnmlklklklklklklklkjijijijijijijijihghghghghgfefefefefefefefecdcdcdcdbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMLKLKLKLKLKLKLKLKIJIJIJIJHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:98787878787878787656565656565656543434343434343432121212121212121////0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!~}~}}}}}|{|{|{|{|{|{|{|{zyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvutstststststststsrqrqrqrqrqrqrqrqpopopopopopopoponmnmnmnmnmnmnmnmlklklklklklklklkjijijijijijijijihghghghghghghghgfefefefefefefefecdcdcdcdbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMLKLKLKLKLKLKLKLKIJIJIJIJHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:987878787878787876565656565656565434343434343434321212121210/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!}~}~}~}~|{|{|{|{|{|{|{|{zyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvutstststststststsrqrqrqrqrqrqrqrqpopopopopopopoponmnmnmnmnmnmnmnmlklklklklklklklkjijijijijijijijihghghghghghghghgfefefefefefefefecdccccccbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMLKLKLKLKLKLKJIJIIJIJIJIJHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:9878787878787878765656565656565654343434343434343212121210//////00/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!}~}~}~}~|{|{|{|{|{|{|{|{zyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvutstststststststsrqrqrqrqrqrqrqrqpopopopopopopoponmnmnmnmnmnmnmnmlklklklklklklklkjijijijijijijijihghghghghghghghgfefefefefefefedcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMLKLKLKLKJIJIIIIIIJIJIJIJHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:987878787878787876565656565656565434343434343434321212121/0/0/0/00/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!}~}~}~}~|{|{|{|{|{|{|{|{zyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvutstststststststsrqrqrqrqrqrqrqrqpopopopopopopoponmnmnmnmnmnmnmnmlklklklklklklklkjijijijijijijijihghghghghghghghgfefefefedcdcdcccdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMLKLKLKLKJIJIJIJIIJIJIJIIHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:987878787878787876565656565656565434343434343434321212121/0/0/0/00/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!~}~}~}~}}~}~}~}~|{|{|{|{|{|{|{|{zyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvutstststststststsrqrqrqrqrqrqrqrqpopopopopopopoponmnmnmnmnmnmnmnmlklklklklklklklkjijijijijijijijihghghghghghghghgfefefefecccdcdcddcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMLKLKLKLKJIJIJIJIIIIIJIJIHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:987878787878787876565656565656565434343434343434321212121/0/0/0/00/0/0///.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!}}}}~}~}}~}~}~}~|{|{|{|{|{|{|{|{zyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvutstststststststsrqrqrqrqrqrqrqrqpopopopopopopoponmnmnmnmnmnmnmnmlklklklklklklklkjijijijijijijijihghghghghghghghgfefefefecdcdcdcddcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:987878787878787876565656565656565434343434343434321212121/0/0/0/0///0/0/0.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!~}~}~}~}}~}}}}}}|{|{|{|{|{|{|{|{zyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvutstststststststsrqrqrqrqrqrqrqrqpopopopopopopoponmnmnmnmnmnmnmnmlklklklklklklklkjijijijijijijijihghghghghghghghgfefefefecdcdcdcddcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMLKLKLKLKJIIIIIIJJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:987878787878787876565656565656565434343434343434321212121/0/0/0/0/0/0/0/0.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!~}~}~}~}~}~}~}~}|{|{|{|{|{|{|{|{zyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvutstststststststsrqrqrqrqrqrqrqrqpopopopopopopoponmnmnmnmnmnmnmnmlklklklklklklklkjijijijijijijijihghghghghghghghgfefefefecdcdcdcddccccccdbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMLKLKLKLKIJIJIJIJJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:987878787878787876565656565656565434343434343434321212121//////0//0/0/0/0.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!~}~}~}}}~}~}~}~}|{|{|{|{|{|{|{|{zyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvutstststststststsrqrqrqrqrqrqrqrqpopopopopopopoponmnmnmnmnmnmnmnmlklklklklklklklkjijijijijijijijihghghghghghghghgfefefefecdcdcdcdcdcdcdcdbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMLKLKLKLKIJIJIJIJJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:9878787878787878765656565656565654343434343434321212121210/0/0/0//0/0/0/0.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!}}}~}~}~~}~}~}~}|{|{|{|{|{|{|{|{zyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvutstststststststsrqrqrqrqrqrqrqrqpopopopopopopoponmnmnmnmnmnmnmnmlklklklklklklklkjijijijijijijijihghghghghghghghgfefefefecdcdcccccdcdcdcdbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMLKLKLKLKIJIJIJIJJIJIJIIIHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:9878787878787878765656565656565654343434321212121212121210/0/0/0//0/0/0/0.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!"!"!"!"!                - - - - - - - - "!"!"!"!                - - - - - - - - "!"!"!"!                - - - - - - - - "!"!"!"!                - - - - - - - - "!"!"!"!                - - - - - - - - "!"!"!"!                - - - - - - - - "!"!"!"!                - - - - - - - - "!"!"!"!                - - - - - - - - "!"!"!"!                - - - - - - - - "!"!"!"!                - - - - - - - - "!"!"!"!                - - - - - - - - "!"!"!"!                - - - - - - - -                 - - - - - - - -                 - - - - - - - -                 - - - - - - - -                 - - - - - - - -                 - - - - - - - -                 - - - - - - - -                 - - - - - - - -                 - - - - - - - - PPOONNMMaabbccdd''&&%%$$IIOOPPQQ::998877%%&&''((uuvvwwxx||{{zzyy,,++**))%%&&''((uuvvwwxx||{{zzyy,,++**))%%&&''((uuvvwwxx||{{zzyy,,++**))%%&&''((uuvvwwxx||{{zzyy,,++**))%%&&''((uuvvwwxx||{{zzyy,,++**))..//5566FFEEDDCC !uuvvwwxxwwvvuutt''&&%%$$**++,,--zz{{||}}wwvvuutt''&&%%$$**++,,--zz{{||}}wwvvuutt''&&%%$$**++,,--zz{{||}}wwvvuutt''&&%%$$**++,,--zz{{||}}wwvvuutt''&&%%$$**++,,--zz{{||}}mmllkkjj __``aabb~}}||{{'&&%%$$#//001122rrqqppoo""!! //001122rrqqppoo""!! //001122rrqqppoo""!! //001122rrqqppoo""!! //001122rrqqppoo""!! ==>>??@@<<;;::99'(())**+mmllkkjj44556677mmllkkjj44556677mmllkkjj44556677mmllkkjj44556677mmllkkjj44556677^^]]\\[[ - - nnooppqqttssrrqq99::;;<>??@@ddccbbaa==>>??@@ddccbbaa==>>??@@ddccbbaaHHGGFFEEiijjkkll}}||{{VVWWXXYY0//..--,--..//00}}~~ttssrrqq$$##""!!--..//00}}~~ttssrrqq$$##""!!--..//00}}~~ttssrrqq$$##""!!--..//00}}~~ttssrrqq$$##""!!--..//00}}~~ttssrrqq$$##""!!;;<<==>>>>==<<;;%&&''(()}}~oonnmmll22334455oonnmmll22334455oonnmmll22334455oonnmmll22334455oonnmmll22334455``__^^]] - - llmmnnoovvuuttss778899::jjiihhgg778899::jjiihhgg778899::jjiihhgg778899::jjiihhgg778899::jjiihhggEEFFGGHH//..--,,/0123455eeddccbb<<==>>??eeddccbb<<==>>??eeddccbb<<==>>??eeddccbb<<==>>??eeddccbb<<==>>??VVUUTTSSvvwwxxyyllkkjjiiAABBCCDD``__^^]] AABBCCDD``__^^]] AABBCCDD``__^^]] DDCCBBAA mmnnooppzzyyxxwwZZ[[\\]],++**))(11223344ppoonnmm 11223344ppoonnmm 11223344ppoonnmm 11223344ppoonnmm 11223344ppoonnmm ??@@AABB::998877)**++,,-kkjjiihh66778899kkjjiihh66778899kkjjiihh66778899kkjjiihh66778899kkjjiihh66778899\\[[ZZYY ppqqrrssrrqqppoo;;<<==>>ffeeddcc;;<<==>>ffeeddcc;;<<==>>ffeeddcc;;<<==>>ffeeddcc;;<<==>>ffeeddccIIOOPPQQ++**))((66778899aa``__^^@@AABBCCaa``__^^@@AABBCCaa``__^^@@AABBCCaa``__^^@@AABBCCaa``__^^@@AABBCCRRQQPPOOzz{{||}}hgfedccb EEFFGGHH\\[[ZZYY - - EEFFGGHH\\[[ZZYY - - EEFFGGHH\\[[ZZYY - - @@??>>==!!""##$$qqrrssttvvuuttss^^__``aa~}}||(''&&%%$55667788llkkjjii55667788llkkjjii55667788llkkjjii55667788llkkjjii55667788llkkjjiiCCDDEEFF6655//..-..//012ggffeedd::;;<<==ggffeedd::;;<<==ggffeedd::;;<<==ggffeedd::;;<<==ggffeedd::;;<<==XXWWVVUUttuuvvwwnnmmllkk??@@AABBbbaa``__??@@AABBbbaa``__??@@AABBbbaa``__??@@AABBbbaa``__??@@AABBbbaa``__RRSSTTUU''&&%%$$::;;<<==]]\\[[ZZ - -DDEEFFGG]]\\[[ZZ - -DDEEFFGG]]\\[[ZZ - -DDEEFFGG]]\\[[ZZ - -DDEEFFGG]]\\[[ZZ - -DDEEFFGGIIHHGGFF !!""baa``__^ - - IIJJKKLLXXWWVVUUIIJJKKLLXXWWVVUUIIJJKKLLXXWWVVUU<<;;::99%%&&''((uuvvwwxxrrqqppoo bbcciijj{{zzyyxx$##""!! 99::;;<>??@@AAccbbaa``>>??@@AAccbbaa``>>??@@AAccbbaa``>>??@@AAccbbaa``>>??@@AATTSSRRQQxxyyzz{{jjiihgfe CCDDEEFF^^]]\\[[ CCDDEEFF^^]]\\[[ CCDDEEFF^^]]\\[[ CCDDEEFF^^]]\\[[ CCDDEEFF^^]]\\[[ VVWWXXYY##""!! >>??@@AAYYXXWWVV HHIIJJKKYYXXWWVV HHIIJJKKYYXXWWVV HHIIJJKKYYXXWWVV HHIIJJKKYYXXWWVV HHIIJJKKEEDDCCBB##$$%%&&^]]\\[[ZMMNNOOPPTTSSRRQQMMNNOOPPTTSSRRQQMMNNOOPPTTSSRRQQ88776655))**++,,yyzz{{||nnmmllkk - - - -kkllmmnnwwvvuutt ==>>??@@ddccbbaa==>>??@@ddccbbaa==>>??@@ddccbbaa==>>??@@ddccbbaa==>>??@@ddccbbaaPPQQRRSS))((''&&8899::;;__^^]]\\ BBCCDDEE__^^]]\\ BBCCDDEE__^^]]\\ BBCCDDEE__^^]]\\ BBCCDDEE__^^]]\\ BBCCDDEEPPOOIIHH ||}}dccbbaa` - - GGHHIIJJZZYYXXWW - - GGHHIIJJZZYYXXWW - - GGHHIIJJZZYYXXWW - - GGHHIIJJZZYYXXWW - - GGHHIIJJZZYYXXWW - - ZZ[[\\]]}}||{{BBCCDDEEUUTTSSRRLLMMNNOOUUTTSSRRLLMMNNOOUUTTSSRRLLMMNNOOUUTTSSRRLLMMNNOOUUTTSSRRLLMMNNOOAA@@??>>''(())**ZYYXXWWVQQRRSSTTPPOONNMMQQRRSSTTPPOONNMMQQRRSSTTPPOONNMM99::;;<<44332211--..//00}}~~jjiiccbb ooppqqrrssrrqqppAABBCCDD``__^^]] AABBCCDD``__^^]] AABBCCDD``__^^]] AABBCCDD``__^^]] AABBCCDD``__^^]] TTUUVVWW%%$$##""<<==>>??[[ZZYYXX - - FFGGHHII[[ZZYYXX - - FFGGHHII[[ZZYYXX - - FFGGHHII[[ZZYYXX - - FFGGHHII[[ZZYYXX - - FFGGHHIIGGFFEEDD!!""##$$`__^^]]\KKLLMMNNVVUUTTSSKKLLMMNNVVUUTTSSKKLLMMNNVVUUTTSSKKLLMMNNVVUUTTSSKKLLMMNNVVUUTTSS^^__``aazzyyxxwwFFGGHHIIQQPPOONNPPQQRRSSQQPPOONNPPQQRRSSQQPPOONNPPQQRRSSQQPPOONNPPQQRRSSQQPPOONNPPQQRRSS==<<;;::++,,--..VUUTTSSRUUVVWWXXLLKKJJIIUUVVWWXXLLKKJJIIUUVVWWXXLLKKJJII==>>??@@~~}}00//..--11223344aa``__^^ssttuuvvoonnmmllEEFFGGHH\\[[ZZYY - - EEFFGGHH\\[[ZZYY - - EEFFGGHH\\[[ZZYY - - EEFFGGHH\\[[ZZYY - - EEFFGGHH\\[[ZZYY - - XXYYZZ[[}}!! @@AABBCCWWVVUUTTJJKKLLMMWWVVUUTTJJKKLLMMWWVVUUTTJJKKLLMMWWVVUUTTJJKKLLMMWWVVUUTTJJKKLLMMCCBBAA@@%%&&''((\[[ZZYYXOOPPQQRRRRQQPPOOOOPPQQRRRRQQPPOOOOPPQQRRRRQQPPOOOOPPQQRRRRQQPPOOOOPPQQRRRRQQPPOObbcciijjvvuuttssJKLMNOOPMMLLKKJJTTUUVVWWMMLLKKJJTTUUVVWWMMLLKKJJTTUUVVWWMMLLKKJJTTUUVVWWMMLLKKJJTTUUVVWW99887766//556677RQQPPOON - - YYZZ[[\\HHGGFFEE - - YYZZ[[\\HHGGFFEE - - YYZZ[[\\HHGGFFEE - - AABBCCDD||{{zzyy,,++**))55667788]]\\[[ZZwwxxyyzzkkjjiihgIIJJKKLLXXWWVVUUIIJJKKLLXXWWVVUUIIJJKKLLXXWWVVUUIIJJKKLLXXWWVVUUIIJJKKLLXXWWVVUU\\]]^^__||{{zzyyDDEEFFGGSSRRQQPPNNOOPPQQSSRRQQPPNNOOPPQQSSRRQQPPNNOOPPQQSSRRQQPPNNOOPPQQSSRRQQPPNNOOPPQQ??>>==<<))**++,,XWWVVUUTSSTTUUVVNNMMLLKKSSTTUUVVNNMMLLKKSSTTUUVVNNMMLLKKSSTTUUVVNNMMLLKKSSTTUUVVNNMMLLKK - -kkllmmnnrrqqppoo PQQRRSSTIIHHGGFF - - XXYYZZ[[IIHHGGFF - - XXYYZZ[[IIHHGGFF - - XXYYZZ[[IIHHGGFF - - XXYYZZ[[IIHHGGFF - - XXYYZZ[[55//..--8899::;;MLKJIIHH ]]^^__``DDCCBBAA ]]^^__``DDCCBBAA ]]^^__``DDCCBBAA EEFFGGHHxxwwvvuu((''&&%%99::;;<>??GGFFEEDDaabbccdd@@??>>==aabbccdd@@??>>==aabbccdd@@??>>==IIJJKKLLttssrrqq$$##""!!==>>??@@UUTTSSRR !!""##a``__^^] QQRRSSTTPPOONNMMQQRRSSTTPPOONNMMQQRRSSTTPPOONNMMQQRRSSTTPPOONNMMQQRRSSTTPPOONNMMiijjkkllttssrrqq NOOPPQQRKKJJIIHH VVWWXXYYKKJJIIHH VVWWXXYYKKJJIIHH VVWWXXYYKKJJIIHH VVWWXXYYKKJJIIHH VVWWXXYY776655//66778899POONMLKJ [[\\]]^^FFEEDDCC [[\\]]^^FFEEDDCC [[\\]]^^FFEEDDCC [[\\]]^^FFEEDDCC [[\\]]^^FFEEDDCCssttuuvvjjiiccbbXYYZZ[[\AA@@??>>``aabbccAA@@??>>``aabbccAA@@??>>``aabbccAA@@??>>``aabbccAA@@??>>``aabbcc((''&&%%@@AABBCCCCBBAA@@eeffgghh<<;;::99eeffgghh<<;;::99eeffgghh<<;;::99MMNNOOPPppoonnmm AABBCCDDQQPPOOII$$%%&&'']\\[[ZZYUUVVWWXXLLKKJJIIUUVVWWXXLLKKJJIIUUVVWWXXLLKKJJIIUUVVWWXXLLKKJJIIUUVVWWXXLLKKJJII - - mmnnooppppoonnmm - - RSSTTUUVGGFFEEDD - - ZZ[[\\]]GGFFEEDD - - ZZ[[\\]]GGFFEEDD - - ZZ[[\\]]GGFFEEDD - - ZZ[[\\]]GGFFEEDD - - ZZ[[\\]]..--,,++::;;<<==IIHHGGFF__``aabbBBAA@@??__``aabbBBAA@@??__``aabbBBAA@@??__``aabbBBAA@@??__``aabbBBAA@@??wwxxyyzzaa``__^^\]]^^__`==<<;;::ddeeffgg==<<;;::ddeeffgg==<<;;::ddeeffgg==<<;;::ddeeffgg==<<;;::ddeeffgg$$##""!!DDEEFFGG??>>==<<iijjkkll88776655iijjkkll88776655iijjkkll88776655QQRRSSTTllkkjjiiEEFFGGHHHHGGFFEE(())**++YXXWWVVU - - YYZZ[[\\HHGGFFEE - - YYZZ[[\\HHGGFFEE - - YYZZ[[\\HHGGFFEE - - YYZZ[[\\HHGGFFEE - - YYZZ[[\\HHGGFFEE qqrrssttllkkjjiiVWWXXYYZCCBBAA@@^^__``aaCCBBAA@@^^__``aaCCBBAA@@^^__``aaCCBBAA@@^^__``aaCCBBAA@@^^__``aa**))((''>>??@@AAEEDDCCBBccddeeff>>==<<;;ccddeeff>>==<<;;ccddeeff>>==<<;;ccddeeff>>==<<;;ccddeeff>>==<<;;{{||}}]]\\[[ZZ - - `aabbccd99887766hhiijjkk99887766hhiijjkk99887766hhiijjkk99887766hhiijjkk99887766hhiijjkk}}|| HHIIOOPP;;::9988 mmnnoopp44332211 mmnnoopp44332211 mmnnoopp44332211 UUVVWWXXhhggffeeIIJJKKLLDDCCBBAA,,--..//UTTSSRRQ ]]^^__``DDCCBBAA ]]^^__``DDCCBBAA ]]^^__``DDCCBBAA ]]^^__``DDCCBBAA ]]^^__``DDCCBBAAuuvvwwxxccbbaa``Z[[\\]]^??>>==<<bbccddee??>>==<<bbccddee??>>==<<bbccddee??>>==<<bbccddee??>>==<<bbccddee&&%%$$##BBCCDDEEAA@@??>>gghhiijj::998877gghhiijj::998877gghhiijj::998877gghhiijj::998877gghhiijj::998877 !!""##YYXXWWVV efghiijj55443322llmmnnoo55443322llmmnnoo55443322llmmnnoo55443322llmmnnoo55443322llmmnnoo{{zzyyxxQQRRSSTT77665543!!""##$$qqrrsstt~~}}00//..--!!""##$$qqrrsstt~~}}00//..--!!""##$$qqrrsstt~~}}00//..--!!""##$$YYZZ[[\\ddccbbaaMMNNOOPP@@??>>==55667788QPPOONMLaabbccdd@@??>>==aabbccdd@@??>>==aabbccdd@@??>>==aabbccdd@@??>>==aabbccdd@@??>>==yyzz{{||__^^]]\\ - -^__``aab;;::9988ffgghhii;;::9988ffgghhii;;::9988ffgghhii;;::9988ffgghhii;;::9988ffgghhii""!! FFGGHHII==<<;;::kkllmmnn66554433kkllmmnn66554433kkllmmnn66554433kkllmmnn66554433kkllmmnn66554433$$%%&&''UUTTSSRRkkllmmnn~~1100//.. !!""##ppqqrrss~~1100//.. !!""##ppqqrrss~~1100//.. !!""##ppqqrrss~~1100//.. !!""##ppqqrrss~~1100//.. !!""##ppqqrrsswwvvuuttUUVVWWXX210//..-%%&&''((uuvvwwxx||{{zzyy,,++**))%%&&''((uuvvwwxx||{{zzyy,,++**))%%&&''((uuvvwwxx||{{zzyy,,++**))%%&&''((]]^^__````__^^]] QQRRSSTT<<;;::9999::;;<>??@@FFEEDDCCiijjkkll88776655iijjkkll88776655iijjkkll88776655iijjkkll88776655iijjkkll88776655""##$$%%WWVVUUTTiijjkkll33221100 !!nnooppqq33221100 !!nnooppqq33221100 !!nnooppqq33221100 !!nnooppqq33221100 !!nnooppqqyyxxwwvvSSTTUUVV5543210/##$$%%&&ssttuuvv~~}}||{{..--,,++##$$%%&&ssttuuvv~~}}||{{..--,,++##$$%%&&ssttuuvv~~}}||{{..--,,++##$$%%&&ssttuuvv~~}}||{{..--,,++##$$%%&&ssttuuvv~~}}||{{..--,,++,,--..//HHGGFFEEssttuuvvyyxxwwvv))((''&&(())**++xxyyzz{{yyxxwwvv))((''&&(())**++xxyyzz{{yyxxwwvv))((''&&(())**++xxyyzz{{yyxxwwvv))((''&&(())**++xxyyzz{{yyxxwwvv))((''&&(())**++xxyyzz{{oonnmmll - - ]]^^__``~}})((''&&%--..//00}}~~ttssrrqq$$##""!!--..//00}}~~ttssrrqq$$##""!!--..//00}}~~ttssrrqq$$##""!!--..//00eeffgghhXXWWVVUU - - YYZZ[[\\//..--,,AABBCCDDBBAA@@?? mmnnoopp44332211 mmnnoopp44332211 mmnnoopp44332211 mmnnoopp44332211 mmnnoopp44332211&&''(())SSRRQQPPmmnnoopp~~}}||//..--,,""##$$%%rrssttuu~~}}||//..--,,""##$$%%rrssttuu~~}}||//..--,,""##$$%%rrssttuu~~}}||//..--,,""##$$%%rrssttuu~~}}||//..--,,""##$$%%rrssttuuuuttssrrWWXXYYZZ/..--,,+''(())**wwxxyyzzzzyyxxww**))((''''(())**wwxxyyzzzzyyxxww**))((''''(())**wwxxyyzzzzyyxxww**))((''''(())**wwxxyyzzzzyyxxww**))((''''(())**wwxxyyzzzzyyxxww**))((''55667788DDCCBBAA !!""#wwxxyyzzuuttssrr%%$$##"",,--..//||}}~~uuttssrr%%$$##"",,--..//||}}~~uuttssrr%%$$##"",,--..//||}}~~uuttssrr%%$$##"",,--..//||}}~~uuttssrr%%$$##"",,--..//||}}~~kkjjiiccaabbccii||{{zzyy%$$##""!11223344ppoonnmm 11223344ppoonnmm 11223344ppoonnmm 11223344iijjkkllTTSSRRQQ ]]^^__``++**))((EEFFGGHH>>==<<;;!!""##$$qqrrsstt~~}}00//..--!!""##$$qqrrsstt~~}}00//..--!!""##$$qqrrsstt~~}}00//..--!!""##$$qqrrsstt~~}}00//..--!!""##$$qqrrsstt~~}}00//..--**++,,--OOIIHHGGqqrrsstt{{zzyyxx++**))((&&''(())vvwwxxyy{{zzyyxx++**))((&&''(())vvwwxxyy{{zzyyxx++**))((&&''(())vvwwxxyy{{zzyyxx++**))((&&''(())vvwwxxyy{{zzyyxx++**))((&&''(())vvwwxxyyqqppoonn - -[[\\]]^^+**))(('++,,--..{{||}}~~vvuuttss&&%%$$##++,,--..{{||}}~~vvuuttss&&%%$$##++,,--..{{||}}~~vvuuttss&&%%$$##++,,--..{{||}}~~vvuuttss&&%%$$##++,,--..{{||}}~~vvuuttss&&%%$$##99::;;<<@@??>>==#$$%%&&'{{||}}~qqppoonn!! 00112233qqppoonn!! 00112233qqppoonn!! 00112233qqppoonn!! 00112233qqppoonn!! 00112233bbaa``__ jjkkllmmxxwwvvuu! 55667788llkkjjii55667788llkkjjii55667788llkkjjii55667788mmnnooppqqrrsstt~~}}00//..--!!""##$$qqrrsstt~~}}00//..--**++,,--OOIIHHGGqqrrsstt{{zzyyxx++**))((&&''(())vvwwxxyy{{zzyyxx++**))((&&''(())vvwwxxyy{{zzyyxx++**))((&&''(())vvwwxxyynnmmllkk - - - -kkllmmnnkkjjiihhFFGGHHIIuuvvwwxx||{{zzyy,,++**))%%&&''((uuvvwwxx||{{zzyy,,++**))..//5566FFEEDDCC !uuvvwwxxwwvvuutt''&&%%$$**++,,--zz{{||}}wwvvuutt''&&%%$$**++,,--zz{{||}}wwvvuutt''&&%%$$**++,,--zz{{||}}jjiiccbb ooppqqrrggffeeddJJKKLLMMyyzz{{||xxwwvvuu((''&&%%))**++,,yyzz{{||xxwwvvuu((''&&%%778899::BBAA@@??!""##$$%yyzz{{||ssrrqqpp##""!! ..//0011~~ssrrqqpp##""!! ..//0011~~ssrrqqpp##""!! ..//0011~~aa``__^^ssttuuvvccbbaa``NNOOPPQQ}}~~ttssrrqq$$##""!!--..//00}}~~ttssrrqq$$##""!!;;<<==>>>>==<<;;%&&''(()}}~oonnmmll22334455oonnmmll22334455oonnmmll22334455]]\\[[ZZwwxxyyzz__^^]]\\ RRSSTTUUppoonnmm 11223344ppoonnmm ??@@AABB::998877)**++,,-kkjjiihh66778899kkjjiihh66778899kkjjiihh66778899YYXXWWVV{{||}}[[ZZYYXX - - VVWWXXYYllkkjjii55667788llkkjjiiCCDDEEFF6655//..-..//012ggffeedd::;;<<==ggffeedd::;;<<==ggffeedd::;;<<==UUTTSSRR !!""##WWVVUUTT - - ZZ[[\\]]hhggffee99::;;<>??@@AAccbbaa``>>??@@AAccbbaa``>>??@@AAQQPPOOII$$%%&&''SSRRQQPP^^__``aaddccbbaa==>>??@@ddccbbaaPPQQRRSS))((''&&8899::;;__^^]]\\ BBCCDDEE__^^]]\\ BBCCDDEE__^^]]\\ BBCCDDEEHHGGFFEE(())**++OONNMMLLbbccddee``__^^]] AABBCCDD``__^^]] TTUUVVWW%%$$##""<<==>>??[[ZZYYXX - - FFGGHHII[[ZZYYXX - - FFGGHHII[[ZZYYXX - - FFGGHHIIDDCCBBAA,,--..//KKJJIIHHffgghhii\\[[ZZYY - - EEFFGGHH\\[[ZZYY - - XXYYZZ[[}}!! @@AABBCCWWVVUUTTJJKKLLMMWWVVUUTTJJKKLLMMWWVVUUTTJJKKLLMM@@??>>==55667788GGFFEEDDjjkkllmmXXWWVVUUIIJJKKLLXXWWVVUU\\]]^^__||{{zzyyDDEEFFGGSSRRQQPPNNOOPPQQSSRRQQPPNNOOPPQQSSRRQQPPNNOOPPQQ<<;;::9999::;;<>??@@??>>==<<""##$$%%rrssttuuPPOONNMMQQRRSSTTPPOONNMMiijjkkllttssrrqq NOOPPQQRKKJJIIHH VVWWXXYYKKJJIIHH VVWWXXYYKKJJIIHH VVWWXXYY//..--,,AABBCCDD;;::9988&&''(())vvwwxxyyLLKKJJIIUUVVWWXXLLKKJJII - - mmnnooppppoonnmm - - RSSTTUUVGGFFEEDD - - ZZ[[\\]]GGFFEEDD - - ZZ[[\\]]GGFFEEDD - - ZZ[[\\]]++**))((EEFFGGHH77665544**++,,--zz{{||}}HHGGFFEE - - YYZZ[[\\HHGGFFEE qqrrssttllkkjjiiVWWXXYYZCCBBAA@@^^__``aaCCBBAA@@^^__``aaCCBBAA@@^^__``aa''&&%%$$IIOOPPQQ33221100..//0011~~DDCCBBAA ]]^^__``DDCCBBAAuuvvwwxxccbbaa``Z[[\\]]^??>>==<<bbccddee??>>==<<bbccddee??>>==<<bbccddee##""!! RRSSTTUU~~}}||//..--,,22334455@@??>>==aabbccdd@@??>>==yyzz{{||__^^]]\\ - -^__``aab;;::9988ffgghhii;;::9988ffgghhii;;::9988ffgghhii}}||{{VVWWXXYY{{zzyyxx++**))((66778899<<;;::99eeffgghh<<;;::99 !!}}[[ZZYYXX bccdefgh77665544jjkkllmm77665544jjkkllmm77665544jjkkllmmzzyyxxwwZZ[[\\]]wwvvuutt''&&%%$$::;;<<==88776655iijjkkll88776655""##$$%%WWVVUUTTiijjkkll33221100 !!nnooppqq33221100 !!nnooppqq33221100 !!nnooppqqvvuuttss^^__``aassrrqqpp##""!! >>??@@AA44332211 mmnnoopp44332211&&''(())SSRRQQPPmmnnoopp~~}}||//..--,,""##$$%%rrssttuu~~}}||//..--,,""##$$%%rrssttuu~~}}||//..--,,""##$$%%rrssttuurrqqppoo bbcciijjoonnmmllBBCCDDEEfpvf~HbHAZXQJ`ےdrtAJltbf`JXQr˂pZHAtlJ|ZdQbfpvf~HXQJ`ےp˂rJltdrtAvpf`vXnے`JXQZHAbtlJ|ZdQbfpvf~HXQJ`ےp˂rJltdrtAvXH~vpfH˂pZHAArd||ZdQbXv`fpvnbHAZpJ`ےdQZ|ltb~f`vpfH˂pZ`JXQrrd|lJtAXv`fpvnbHAZpJ`ےdQZ|ltb~f`vpfHXQr˂p`JXQdQbt璕~HfpvnXrXQJHAZp˂rtAJlZ|dXnvf`vbے`˂pZHAdQbtd|Z~Hfpv`frXQJHAZp˂rtAJlZ|dXnvf`vbے`˂pZHAtlJfpvnXv`ےbHZrXtbdQZtAJlfH~nvpXQr˂ے`JJtArdbtlnXvHfpvےbHArXQJ`tbdQZtAJlfH~nvpXQr˂ے`JJtArdbtlv`f˂rXQJ`ےdrtAAJlb`vXnH~fZHAbr˂p|ZdQbtArdf~HnXv`p˂rbHAZdrtAbdQZ|nXv`fpvp˂rbHAZltbdQZ|vXnpZHAbJQtArdtlJnXv`fpvbHAZXQJ`ےbdQZ|JltH~fvpfr˂pے`JXQtArdtlJnXv`fpvbHAZXQJ`ےbdQZ|Jltf`v~vbے`ZdQbttlJ~HfXv`f˂rXQbHAZpdrtAJdQZ|vXn~f`HAbے˂pZZdQbtrd|~HfXv`f˂rXQbHAZpdrtAJdQZ|vXn~f`p`JXQrbtl|ZdQvnXv`f`ےbrXQJtbdQrtAJlpfH~XnvJXQrbے`lJtArdQbtvnX~Hfp`ےbrXQJtbdQrtAJlpfH~XnvJXQrbے`tArd~Hff~HAZp˂QJ`ے|drtbdQZf`vXfH~pZHAbXQr˂|ZdQJtArd`f~nXvZp˂ےbHA|drtbdQZf`vXfH~pZHAbXQr˂|ZdQJtArd~HfpJ`ےbHAZpJltQZ|dvpf`vXnے`JXQZHAbtlJ|ZdQbfpvf~HXQJ`ےp˂rJltdrtAf~HnXv`XQJ`ےp˂rdQtAJldrtAJvpfHbے`r˂p|ZdQbtArdf~HnXv`p˂rbHAZdrtAbdQZ|`vXnH~fZHAbr˂p|ZdQbtArdf~HnXv`p˂rbHAZdrtAbdQZ|Xnvpfے`JXQrlJttArZdpvn~HfJ`ے˂rXQltbdrtAJvpfHvXn`JXQrHAbےlJtAZdQbtpvn~HfJ`ے˂rXQltbdrtAJvpfHvXnr˂pl|ZdQbtlv`f~HfpHAZp˂`ےbZ|dtbdQf`vpfH~˂pZHAJXQrd|ZlJtArv`fvnXHAZp˂`ےbZ|dtbdQf`vpfH~˂pZHAJXQr|ZdQbpvnXv`frQJbHAZptAJl|drnvpf`vXے`JpZHAbbtl|ZdQHfpv`f~rXQJ`Zp˂tAJl|drnvpf`vXے`JpZHAbbtl|ZdQvnXbHAZp˂rXQbdQZ|rtAJlH~fvpfr˂pے`JXQtArdtlJnXv`fpvbHAZXQJ`ےbdQZ|Jltfpvf~HbHAZXQJ`ےtbdQl|d~f`JXQrZHAbtlJ|ZdQbfpvf~HXQJ`ےp˂rJltdrtAvpf`vXnے`JXQZHAbtlJ|ZdQbfpvf~HXQJ`ےp˂rJltdrtApfH~JXQHAb˂pZHAArd|QbtlXv`fpvnbHAZpJ`ےdQZ|ltb~f`vpfH˂pZ`JXQrrd|lJtAXv`fpvnbHAZpJ`ےdQZ|ltb~f`vpfHZHAbbtlJtArd~Hfpvnv`rXQJHAZp˂rtAJlZ|dXnvf`vbے`˂pZHAdQbtd|Z~Hfpv`frXQJHAZp˂rtAJlZ|dXnvf`vbے`˂pZHAtd|Xv`f~HfbHAZp˂rXtbdQZtAJlfH~nvpXQr˂ے`JJtArdbtlnXvHfpvےbHArXQJ`tbdQZtAJlfH~nvpXQr˂ے`JJtArdbtlv`f`ےbJ`ےrAJltbdQ`vXnH~fZHAbr˂p|ZdQbtArdf~HnXv`p˂rbHAZdrtAbdQZ|nXv`fpvp˂rbHAZZ|drtAJlvXnZAbے`JXQtArdtlJnXv`fpvbHAZXQJ`ےbdQZ|JltH~fvpfr˂pے`JXQtArdtlJnXv`fpvbHAZXQJ`ےbdQZ|Jltf`vے`Jb˂ZdQbJtArd~HfXv`f˂rXQbHAZpdrtAJdQZ|vXn~f`HAbے˂pZZdQbtrd|~HfXv`f˂rXQbHAZpdrtAJdQZ|vXn~f`ے`JXQJtArd|ZdQvnXf~H`ےbrXQJtbdQrtAJlpfH~XnvJXQrbے`lJtArdQbtvnX~Hfp`ےbrXQJtbdQrtAJlpfH~XnvJXQrbے`ZdQbt~Hfpvn˂rXQQJ`ے|drtbdQZf`vXfH~pZHAbXQr˂|ZdQJtArd`f~nXvZp˂ےbHA|drtbdQZf`vXfH~pZHAbXQr˂|ZdQJtArdnXvHAZp˂rXQJtbdQZ|AJvpf`vXnے`JXQZHAےtlJ|ZdQbfpvfHfXQJ`ےp˂rJltdtAJf~HnXv`XQJ`ےp˂rrtAJltbdQvp`v`JXQrr˂p|ZdQbtArdf~HnXv`p˂rbHAZdrtAbdQZ|`vXnH~fZHAbr˂p|ZdQbtArdf~HnXv`p˂rbHAZdrtAbdQZ|XnXQr˂pZHAbJtArd|Zdpvn~HfJ`ے˂rXQltbdrtAJvpfHvXn`JXQrHAbےlJtAZdQbtpvn~HfJ`ے˂rXQltbdrtAJvpfHvXnr˂p|lJbtlv`f~fpvHAZp˂`ےbZ|dtbdQf`vpfH~˂pZHAJXQrd|ZlJtArv`fvnXHAZp˂`ےbZ|dtbdQf`vpfH~˂pZHAJXQrlJtApvnXv`fJ`ےbHAZtAJl|dtAnvpf`vXے`JpZHAbtl|ZdQHfpv`fHrXQJ`Zp˂tAJl|dtAnvpf`vXے`JpZHAbtl|ZdQ`f~rXQJ`ےbZ|dltbH~fvpfr˂p`JXQrtArdtlJnXv`pvnbHAZXQJ`ےbdQZ|ltbfpvf~HbHAZXQJ`ےtbdQZ|`vXnv˂pZZHAbtlJ|ZdQbfpvf~HXQJ`ےp˂rJltdrtAvpf`vXnے`JXQZHAbtlJ|ZdQbfpvf~HXQJ`ےp˂rJltdrtAf`vXpZHAbے`J|ZdQQbtlXv`fpvnbHAZpJ`ےdQZ|ltb~f`vpfH˂pZ`JXQrrd|lJtAXv`fpvnbHAZpJ`ےdQZ|ltb~f`vpfHZHAXQrtArdJtAdQbfpvnXv`rXQJHAZp˂rtAJlZ|dXnvf`vbے`˂pZHAdQbtd|Z~Hfpv`frXQJHAZp˂rtAJlZ|dXnvf`vbے`˂pZHArd|XHfp~HfbHAZprXQJ`tbdQZJltfH~nvpXQr˂ے`JXQJtArdbtlnXvfpvےbHArXQJ`tbdQZJltfH~nvpXQr˂ے`JXQJtArdbtlHfpv`ےbHAZp˂rtAJlnvp`vXnے`JXQZHAbbtl|ZdQbfpvf~HrXQJ`p˂rJltdrtAnvp`vXnnXv`fpvp˂rbHAZZ|lXnvpfH~HAbے`JQrtArdtlJnXv`fpvbHAZXQJ`ےbdQZ|JltH~fvpfr˂pے`JXQtArdtlJnXv`fpvbHAZXQJ`ےbdQZ|Jltnvpے`JXQr˂btlJtArd~HfXv`f˂rXQbHAZpdrtAJdQZ|vXn~f`HAbے˂pZZdQbtrd|~HfXv`f˂rXQbHAZpdrtAJdQZ|vXn~f`˂pZ|ZdQbtlJnXv`ffpv`ےbrXQJtbdQtAJlpfH~XnvJXQrے`JlJtArdQbtvnXHfpv`ےbrXQJtbdQtAJlpfH~XnvJXQrے`JZdQbtvnXp`f˂rXQےJl|drbnvf`vXfے`JpZHAbrbt|ZdQJfpv`f~nrXQJZp˂ےJl|drbnvf`vXfے`JpZHAbrbt|ZdQJfpvnXvHAZp˂rXQJtbdQfHfvpfr˂pے`JXQJtAdtlJnXv`fpvےHAZXQJ`ےbdQZ|JltfHfvpff~HnXv`XQJ`ےp˂rtbdQZpfH~f`v`JXQrpZHAb|ZdQbtArdf~HnXv`p˂rbHAZdrtAbdQZ|`vXnH~fZHAbr˂p|ZdQbtArdf~HnXv`p˂rbHAZdrtAbdQZ|fH~XQrpZHAbJtArdZQbtpvnHfpJ`ے˂rXQltbdtAJlvpfHvXn`JXQrHAے`lJtAZdQbtpvnHfpJ`ے˂rXQltbdtAJlvpfHvXnHAbےtlJtArdf~HnrXQHAZp˂`ےJlZ|dtbnf`vpfے`˂pZHAXQrbtd|ZlJfpv`fnrXQHAZp˂`ےJlZ|dtbnf`vpfے`˂pZHAXQrbtl|Zv`f~HfpJbHAtbdQZtAJlpfHnvpXQr˂ے`JlJtAdbtlnXvHfpv`ےHArXQJ`tbdQZtAJlpfHnvpXQr˂ے`JlJtAdbtl~H`f~bHA`ےbZ|dr`vXnH~fZHAbr˂p|ZdQbtArdf~HnXv`p˂rbHAZdrtAbdQZ|`vXnH~ffpvf~HbHAZXQJ`ے|drf`pXnv˂pZAے`JtlJ|ZdQbfpvfHfXQJ`ےp˂rJltdtAJvpf`vXnے`JXQZHAےtlJ|ZdQbfpvfHfXQJ`ےp˂rJltdtAJf`vXے`JXQے`p|ZdQlJfXv`fvnrbHAZpJ`ےJdQZ|tbn~f`vpfے˂pZJXQrbrd|lJfXv`fvnrbHAZpJ`ےJdQZ|tbn~f`vpfے`JXQrtArd|ZdQbfpvJ`ےrXQJtbdQrtAJlvpfHXnvJXQrbے`lJtAdQbtvnX~HfpJ`ےrXQJtbdQrtAJlvpfHXnvJXQrbے`l|ZdQbt~HfpvnXZp˂|drtbdQZf`vXfH~pZHAbXQr˂|ZdQJtArd`f~nXvZp˂ےbHA|drtbdQZf`vXfH~pZHAbXQr˂|ZdQJtArdfpvHXv`Zp˂HAXQJ`AJtbvpf`vXnے`JXQZHAbtlJ|ZdQbfpvf~HXQJ`ےp˂rJltdrtAvpf`vXnnXv`fpvp˂rbHAZtAJlfH~pfHXb`JXXQr˂tArdtlJnXv`pvnbHAZXQJ`ےbdQZ|ltbH~fvpfr˂p`JXQrtArdtlJnXv`pvnbHAZXQJ`ےbdQZ|ltbnvpr˂pZHAbbtJApvn~HfXQJ`ے˂rXQltbdrtAJvpfvXn`JXQrHAbےtlJZdQbtpvn~HfXQJ`ے˂rXQltbdrtAJvpfvXn`JXQHA˂pZ|ZdQtAtlJnXv`HAZp˂`ےbZ|dtbdQf`vpfH~˂pZHAJXQrd|ZlJtArv`fvnXHAZp˂`ےbZ|dtbdQf`vpfH~˂pZHAJXQrdQbtlJtArvnXv`pvrXQJ`tAJl|drnvpf`vXے`JpZHAbbtl|ZdQHfpv`f~rXQJ`Zp˂tAJl|drnvpf`vXے`JpZHAbbtl|ZdQnXv`f~HrXQJ`ےJldQZ|H~fvpfr˂pے`JXQtArdtlJnXv`fpvbHAZXQJ`ےbdQZ|JltH~fvpff~HnXv`XQJ`ےp˂rtbdQZf`vXnvpQr˂ppZHAb|ZdQbfpvf~HrXQJ`p˂rJltdrtAnvp`vXnے`JXQZHAbbtl|ZdQbfpvf~HrXQJ`p˂rJltdrtAnvp`vXnZHAbے`JXQrd|Xv`fpvnHAZpJ`ےdQZ|ltbHf`vpfH˂pZ`JXQrtAd|lJtAXv`fpvnHAZpJ`ےdQZ|ltbHf`vpfHbے`HAbrd|tArdtf~fvrXQJHAZp˂rtAJlZ|dXnvf`vbے`˂pZHAdQbtd|Z~Hfpv`frXQJHAZp˂rtAJlZ|dXnvf`vbے`˂pZHAlJtArd|Zv`pvnrXQbHAtbdQZtAJlfH~nvpXQr˂ے`JJtArdbtlnXvHfpvےbHArXQJ`tbdQZtAJlfH~nvpXQr˂ے`JJtArdbtlf~HfpvےbHAtbQZddrtAJ`vXnH~fZHAbr˂p|ZdQbtArdf~HnXv`p˂rbHAZdrtAbdQZ|`vXnH~ffpvf~HbHAZXQJ`ے|dtnvpfH~ZHAbJAdtlJnXv`fpvےHAZXQJ`ےbdQZ|JltfHfvpfr˂pے`JXQJtAdtlJnXv`fpvےHAZXQJ`ےbdQZ|Jlt`vXnvpfے`JXQr˂pZdQbt琕~HfXv`f˂rXQbHAZpdrtAJdQZ|vXn~f`HAbے˂pZZdQbtrd|~HfXv`f˂rXQbHAZpdrtAJdQZ|vXn~f`JXQr˂pZHAZdQbtlJfnXv`ےbrXQJtbdQrtAJlpfH~XnvJXQrbے`lJtArdQbtvnX~Hfp`ےbrXQJtbdQrtAJlpfH~XnvJXQrbے`d|ldQbt璀nXvJ`AZZp˂|drtbdQZf`vXfH~pZHAbXQr˂|ZdQJtArd`f~nXvZp˂ےbHA|drtbdQZf`vXfH~pZHAbXQr˂|ZdQJtArdfpvnXv`Zp˂rtAJlltbvpf`vXnے`JXQZHAbtlJ|ZdQbfpvf~HXQJ`ےp˂rJltdrtAvpf`vXnnXv`fpvp˂rbHAZbdQZ|fH~f`vXے`JX|ZdQbtArdf~HnXv`p˂rbHAZdrtAbdQZ|`vXnH~fZHAbr˂p|ZdQbtArdf~HnXv`p˂rbHAZdrtAbdQZ|vpfH~fr˂p`JXQrlJtApvn~HfJ`ے˂rXQltbdrtAJvpfHvXn`JXQrHAbےlJtAZdQbtpvn~HfJ`ے˂rXQltbdrtAJvpfHvXn˂pZHAbے`lJtApvn`f~HAZp˂`ےbZ|dtbdQf`vpfH~˂pZHAJXQrd|ZlJtArv`fvnXHAZp˂`ےbZ|dtbdQf`vpfH~˂pZHAJXQrJtArdlJtAdQ`f~p˂rrXQJ`tAJl|drnvpf`vXے`JpZHAbbtl|ZdQHfpv`f~rXQJ`Zp˂tAJl|drnvpf`vXے`JpZHAbbtl|ZdQnXHff~HrXQHAZtbddQZ|H~fvpfr˂pے`JXQtArdtlJnXv`fpvbHAZXQJ`ےbdQZ|JltH~fvpff~HnXv`XQJ`ےp˂rdrtAf`vXnvpQr˂ptlJ|ZdQbfpvf~HXQJ`ےp˂rJltdrtAvpf`vXnے`JXQZHAbtlJ|ZdQbfpvf~HXQJ`ےp˂rJltdrtAH~f`vXn`JXQrbtlrd|Xv`fpvnbHAZpJ`ےdQZ|ltb~f`vpfH˂pZ`JXQrrd|lJtAXv`fpvnbHAZpJ`ےdQZ|ltb~f`vpfHbے`JXQrrd|vf~HHfpvrXQJHAZp˂rtAJlZ|dXnvf`vbے`˂pZHAdQbtd|Z~Hfpv`frXQJHAZp˂rtAJlZ|dXnvf`vbے`˂pZHA|ZdQbtlHfpvXQJ`ےbAZp˂tbdQZtAJlfH~nvpXQr˂ے`JJtArdbtlnXvHfpvےbHArXQJ`tbdQZtAJlfH~nvpXQr˂ے`JJtArdbtlpvnfp`fp˂rQZ|ddrtAJ`vXnH~fZHAbr˂p|ZdQbtArdf~HnXv`p˂rbHAZdrtAbdQZ|`vXnH~ffpvf~HbHAZXQJ`ےJltH~ffH~ZHAbtArdtlJnXv`fpvbHAZXQJ`ےbdQZ|JltH~fvpfr˂pے`JXQtArdtlJnXv`fpvbHAZXQJ`ےbdQZ|Jlt`pfHvpf˂pZJA|ZZdQbt琕~HfXv`f˂rXQbHAZpdrtAJdQZ|vXn~f`HAbے˂pZZdQbtrd|~HfXv`f˂rXQbHAZpdrtAJdQZ|vXn~f`JXQr˂pZHAZdQbtfpvnXv`ےbrXQJtbdQrtAJlpfH~XnvJXQrbے`lJtArdQbtvnX~Hfp`ےbrXQJtbdQrtAJlpfH~XnvJXQrbے`btlJtArdnXvbHAZrXQJ|drtbdQZf`vXfH~pZHAbXQr˂|ZdQJtArd`f~nXvZp˂ےbHA|drtbdQZf`vXfH~pZHAbXQr˂|ZdQJtArdXv`f~HfXQJ`ےrtAJlbdQZ|vpf`vXnے`JXQZHAbtlJ|ZdQbfpvf~HXQJ`ےp˂rJltdrtAvpf`vXnnXv`fpvp˂rJltbdQZ|`vXnvpfJXQr|ZdQbtArdf~HnXv`p˂rbHAZdrtAbdQZ|`vXnH~fZHAbr˂p|ZdQbtArdf~HnXv`p˂rbHAZdrtAbdQZ|~f`HXnHAbےdQbt璒lJArpvn~HfJ`ے˂rXQltbdrtAJvpfHvXn`JXQrHAbےlJtAZdQbtpvn~HfJ`ے˂rXQltbdrtAJvpfHvXnے`Jbے`d|ZnXv``f~HAZp˂`ےbZ|dtbdQf`vpfH~˂pZHAJXQrd|ZlJtArv`fvnXHAZp˂`ےbZ|dtbdQf`vpfH~˂pZHAJXQrJtArd|ZdQ`fprQJ``ےbtAJl|drnvpf`vXے`JpZHAbbtl|ZdQHfpv`f~rXQJ`Zp˂tAJl|drnvpf`vXے`JpZHAbbtl|ZdQ~HfpvnbHAZtbddrtH~fvpfr˂pے`JXQtArdtlJnXv`fpvbHAZXQJ`ےbdQZ|JltH~fvpff~HnXv`XQJ`ےdrtAJdrtAvpfے`JXQ˂pZHAtlJ|ZdQbfpvf~HXQJ`ےp˂rJltdrtAvpf`vXnے`JXQZHAbtlJ|ZdQbfpvf~HXQJ`ےp˂rJltdrtAvXnvpfH`JXQrlJtAr|ZdQbXv`fpvnbHAZpJ`ےdQZ|ltb~f`vpfH˂pZ`JXQrrd|lJtAXv`fpvnbHAZpJ`ےdQZ|ltb~f`vpfHXQr˂pZHAbdQbt璍f~HHfvnXrXQJHAZp˂rtAJlZ|dXnvf`vbے`˂pZHAdQbtd|Z~Hfpv`frXQJHAZp˂rtAJlZ|dXnvf`vbے`˂pZHA|ZdQbtlnXv`ےbHHAZp˂tbdQZtAJlfH~nvpXQr˂ے`JJtArdbtlnXvHfpvےbHArXQJ`tbdQZtAJlfH~nvpXQr˂ے`JJtArdbtlpvnXv`pp˂rQZrtAAJlt`vXnH~fZHAbr˂p|ZdQbtArdf~HnXv`p˂rbHAZdrtAbdQZ|`vXnH~ffpvp˂rbHAZltbdQZ|H~frZHAbے`tArdtlJnXv`fpvbHAZXQJ`ےbdQZ|JltH~fvpfr˂pے`JXQtArdtlJnXv`fpvbHAZXQJ`ےbdQZ|JltvpfH~f`˂pZd|ZQtlJ~HfXv`f˂rXQbHAZpdrtAJdQZ|vXn~f`HAbے˂pZZdQbtrd|~HfXv`f˂rXQbHAZpdrtAJdQZ|vXn~f`pZHAbے`JlJtArfpvv`f`ےbrXQJtbdQrtAJlpfH~XnvJXQrbے`lJtArdQbtvnX~Hfp`ےbrXQJtbdQrtAJlpfH~XnvJXQrbے`tArdJtArdf~HAZp˂rXQJ|drtbdQZf`vXfH~pZHAbXQr˂|ZdQJtArd`f~nXvZp˂ےbHA|drtbdQZf`vXfH~pZHAbXQr˂|ZdQJtArdXv`pvnrXQJ`pJltbdQZ|vpf`vXnے`JXQZHAbtlJ|ZdQbfpvf~HXQJ`ےp˂rJltdrtAvpf`vXnnXv`XQJ`ےp˂rdQZ|drtAJ`vXnbے`JXQr|ZdQbtArdf~HnXv`p˂rbHAZdrtAbdQZ|`vXnH~fZHAbr˂p|ZdQbtArdf~HnXv`p˂rbHAZdrtAbdQZ|~f`vXnHAXQrblJttArdpvn~HfJ`ے˂rXQltbdrtAJvpfHvXn`JXQrHAbےlJtAZdQbtpvn~HfJ`ے˂rXQltbdrtAJvpfHvXnے`JXQr˂d|ZnXvf~HfpHAZp˂`ےbZ|dtbdQf`vpfH~˂pZHAJXQrd|ZlJtArv`fvnXHAZp˂`ےbZ|dtbdQf`vpfH~˂pZHAJXQr|ZdQbtlJfpvrXQJ``ےbAtAJl|drnvpf`vXے`JpZHAbbtl|ZdQHfpv`f~rXQJ`Zp˂tAJl|drnvpf`vXے`JpZHAbbtl|ZdQvnXXQJ`p˂rXQbdQZ|drtH~fvpfr˂pے`JXQtArdtlJnXv`fpvbHAZXQJ`ےbdQZ|JltH~fvpfH~fZHAbr˂p|ZdQbtArdf~HnXv`bHAZp˂rXQdtbdQnvpfHH~f`JXQrHAbےlJtAZdQbtpvn~HfJ`ے˂rXQltbdrtAJvpfHvXnJXQr˂p`ZQXb㉀ەvˍpf`vXndrQt`vXnے`JXQZHAbtlJ|ZdQbfpvf~H˂bJ`ےZ|d~f``vXn˂pZ`JXQrrd|lJtAXv`fpvnbHAZpJ`ےdQZ|ltb~f`vpfH˂p`JQXb㉀ۑpJAHrH~ㅐfەvˍpfJltvpfr˂pے`JXQtArdtlJnXv`fpvHAZp˂bHAXQJrtAJlvXnvpfHAbے˂pZZdQbtrd|~HfXv`f˂rXQbHAZpdrtAJdQZ|vXn~f`XQr˂pJAHr󙐂ˁ`Z`vXnH~ㅐfbAdZ|H~fZHAbr˂p|ZdQbtArdf~HnXv`rXQJ`ےJltbdQvpfHH~fvX`JXQrHAbےlJtAZdQbtpvn~HfJ`ے˂rXQltbdrtAJvpfHvXnpZHAbˁ`pQXb㉀ەvˍpf`vXndrQt`vXnے`JXQZHAbtlJ|ZdQbfpvf~H`ےbtdrZ|d~f`nvp˂pZ`JXQrrd|lJtAXv`fpvnbHAZpJ`ےdQZ|ltb~f`vpfHے`JJAHr󙐑pJAHQXH~ㅐfەvˍp|Jltvpfr˂pے`JXQtArdtlJnXv`fpvHAZp˂tAJlrtAdQZvXnvfH~HAbے˂pZZdQbtrd|~HfXv`f˂rXQbHAZpdrtAJdQZ|vXn~f`XQr˂ˁ`ZQXb㉀ۑp`vXndrQtbAdZ|H~fZHAbr˂p|ZdQbtArdf~HnXv`rXQHAtbdQZ|drfH~f`vX`JXQrHAbےlJtAZdQbtpvn~HfJ`ے˂rXQltbdrtAJvpfHvXnpZHAXQb㉀ۑpJAHr󙐕vˍpfJltdrQt`vXnے`JXQZHAbtlJ|ZdQbfpvf~HZp˂|drtAJlf`vXnvp˂pZ`JXQrrd|lJtAXv`fpvnbHAZpJ`ےdQZ|ltb~f`vpfHr˂pJAHr󙐂ˁ`ZQXH~ㅐfbAdZ|Jltvpfr˂pے`JXQtArdtlJnXv`fpvrXQJ`tAJltbdQZnvpfH~HAbے˂pZZdQbtrd|~HfXv`f˂rXQbHAZpdrtAJdQZ|vXn~f`ZHAbˁ`ZQXb㉀ۑp`vXndrQtbAdZ|H~fZHAbr˂p|ZdQbtArdf~HnXv`ےbHAtbdQtA|drfH~fvn`JXQrHAے`lJtAZdQbtpvnHfpJ`ے˂rXQltbdtAJlvpfHvXnے`JXQAHr󙐂JAHfەvˍpfJltdrQt`vXnے`JXQZHAےtlJ|ZdQbfpvfHfZp˂JlttAJl|f`vXvpfے˂pZJXQrbrd|lJfXv`fvnrbHAZpJ`ےJdQZ|tbn~f`vpfZr˂p`ZQXb`vXnH~ㅐfbAdZ|Jltvpfr˂p`JXQrtArdtlJnXv`pvnrXQJ`bdQZ|drtAnvf`JXQrHAbےtlJZdQbtpvn~HfXQJ`ے˂rXQltbdrtAJvpfvXnHAbےZHAbۑpJvˍpf`vXndrQtbAdZ|ے`JXQZHAbbtl|ZdQbfpvf~HrXQJ`p˂rdrtAJlt~f`˂pZ`JXQrtAd|lJtAXv`fpvnHAZpJ`ےdQZ|ltbHf`vpfH`JXQr˂pZAHr󙐂˕H~ㅐfەvˍpfJltdrQtr˂pے`JXQJtAdtlJnXv`fpvp˂rXQJ`ےJltbdQZ|vXnHAbے˂pZZdQbtrd|~HfXv`f˂rXQbHAZpdrtAJdQZ|vXn~f`˂pZHAbے`ZQXb`vXnH~ㅐfbAdZ|JltZHAbr˂p|ZdQbtArdf~HnXv`XQJ`ےbHAZbdQZ|ltbvpfH`JXQrHAbےlJtAZdQbtpvn~HfJ`ے˂rXQltbdrtAJvpfHvXnHAbے`JXQrˁ`vˍpf`vXndrQtbAdZ|ے`JXQZHAbtlJ|ZdQbfpvf~HbHAZp˂rltbnvp~f`˂pZ`JXQrrd|lJtAXv`fpvnbHAZpJ`ےdQZ|ltb~f`vpfH`JXQr˂pZZQXb㉀H~ㅐfەvˍpfJltdrQtr˂pے`JXQtArdtlJnXv`fpvp`ےXQJ`ےdQZ|ff`vvXnHAbے˂pZZdQbtrd|~HfXv`f˂rXQbHAZpdrtAJdQZ|vXn~f`ے`HAbےۑpJAH`vXnH~ㅐfbAdZ|JltZHAbr˂p|ZdQbtArdf~HnXv`bHAZprXQdrtAJXnvvpf~f`JXQrHAbےlJtAZdQbtpvn~HfJ`ے˂rXQltbdrtAJvpfHvXnJXQr`pZHAr󙐂ˁ`vˍpf`vXndrQtbAdZ|ے`JXQZHAbtlJ|ZdQbfpvf~H˂rXQJ`ےltbpfH~`vXn˂pZ`JXQrrd|lJtAXv`fpvnbHAZpJ`ےdQZ|ltb~f`vpfH˂pZHAbے`ZQXb㉀H~ㅐfەvˍpfJltdrQtr˂pے`JXQtArdtlJnXv`fpvJ`ےbHAZpdQZ|f`vvpfHAbے˂pZZdQbtrd|~HfXv`f˂rXQbHAZpdrtAJdQZ|vXn~f`bے`JXQrۑp`Z`vXnH~ㅐfbAdZ|Jlt \ No newline at end of file diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv36_2.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv36_2.dat deleted file mode 100644 index 0687c2b631..0000000000 --- a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv36_2.dat +++ /dev/null @@ -1,321 +0,0 @@ -~}~}~}~}zyzyzyzyvuvuvuvutstststspopopopo~}~}~}~}zyzyzyzyvuvuvuvutstststspopopopo~}}}}}}~zyzyzyzyvuvuvuvutstststspopopopolklklklk}~}~}~}~zyzyzyzyvuvuvuvutstststspopopopolklklklk}~}~}~}~zyzyzyzyvuvuvuvutstststspopopopolklklklk}~}~}~}~zyzyzyzyvuvuvuvutstststspopopopolklklklk}~}~}~}~zyzyzyzyvuvuvuvutstststspopopopolklklklk}~}~}~}~zyzyzyzyvuvuvuvutstststspopopopolklklklk}}}}}}~}zyzyzyzyvuvuvuvutstststspopopopolklklklk~}~}~}|{zyzyzyzyvuvuvuvutstststspopopopolklklklk|{|{|{|{zyzyzyzyvuvuvuvutstststspopopopolklklklk|{|{|{|{zyzyzyzyvuvuvuvutststsrqpopopopolklklklk|{|{|{|{zyzyzyzyvuvuvuvurqrqrqrqpopopopolklklklk|{|{|{|{zyzyzyzyvuvuvuvurqrqrqrqpopopopolklklklk|{|{|{|{zyzyzyzyvuvuvuvurqrqrqrqpopopopolklklklk|{|{|{|{zyzyzyzyvuvuvuvurqrqrqrqpopopopolklklklk|{|{|{|{zyzyzyzyvuvuvuvurqrqrqrqpopopopolklklklk|{|{|{|{zyzyzyzyvuvuvuvurqrqrqrqpopopopolklklklk|{|{|{|{zyzyzyzyvuvuvuvurqrqrqrqpopopopolklklklk|{|{|{|{zyzyzyzyvuvuvuvurqrqrqrqpopopopolklklklk|{|{|{|{zyzyzyzyvuvuvuvurqrqrqrqpopopopolklklklk|{|{|{|{zyzyzyzyvuvuvuvurqrqrqrqpopopopolklklklk|{|{|{|{zyzyzyzyvuvuvuvurqrqrqrqpopopopolklklklk|{|{|{|{zyzyzyxwvuvuvuvurqrqrqrqpopopopolklklklk|{|{|{|{xwxwxwxwvuvuvuvurqrqrqrqpopopopolklklklk|{|{|{|{xwxwxwxwvuvuvuvurqrqrqrqpopoponmlklklklk|{|{|{|{xwxwxwxwvuvuvuvurqrqrqrqnmnmnmnmlklklklk|{|{|{|{xwxwxwxwvuvuvuvurqrqrqrqnmnmnmnmlklklklk|{|{|{|{xwxwxwxwvuvuvuvurqrqrqrqnmnmnmnmlklklklk|{|{|{|{xwxwxwxwvuvuvuvurqrqrqrqnmnmnmnmlklklklk|{|{|{|{xwxwxwxwvuvuvuvurqrqrqrqnmnmnmnmlklklklk|{|{|{|{xwxwxwxwvuvuvuvurqrqrqrqnmnmnmnmlklklklk|{|{|{|{xwxwxwxwvuvuvuvurqrqrqrqnmnmnmnmlklklklk|{|{|{|{xwxwxwxwvuvuvuvurqrqrqrqnmnmnmnmlklklklk|{|{|{|{xwxwxwxwvuvuvuvurqrqrqrqnmnmnmnmlklklklk|{|{|{|{xwxwxwxwvuvuvuvurqrqrqrqnmnmnmnmlklklklk|{|{|{|{xwxwxwxwvuvuvuvurqrqrqrqnmnmnmnmlklklklk|{|{|{|{xwxwxwxwvuvuvutsrqrqrqrqnmnmnmnmlklklklk|{|{|{|{xwxwxwxwtstststsrqrqrqrqnmnmnmnmlklklklk|{|{|{|{xwxwxwxwtstststsrqrqrqrqnmnmnmnmlklklklk~}~}~}~}|{|{|{|{xwxwxwxwtstststsrqrqrqrqnmnmnmnmlklklklk}}}}~}~}|{|{|{|{xwxwxwxwtstststsrqrqrqrqnmnmnmnmlklklkji~}~}~}~}|{|{|{|{xwxwxwxwtstststsrqrqrqrqnmnmnmnmjijijiji~}~}~}~}|{|{|{|{xwxwxwxwtstststsrqrqrqrqnmnmnmnmjijijiji~}~}~}}}|{|{|{|{xwxwxwxwtstststsrqrqrqrqnmnmnmnmjijijiji}}}~}~}~|{|{|{|{xwxwxwxwtstststsrqrqrqrqnmnmnmnmjijijiji}~}~}~}~|{|{|{|{xwxwxwxwtstststsrqrqrqrqnmnmnmnmjijijiji}~}~}~}~|{|{|{|{xwxwxwxwtstststsrqrqrqrqnmnmnmnmjijijiji}~}~}~}~|{|{|{|{xwxwxwxwtstststsrqrqrqrqnmnmnmnmjijijiji}~}~}~}~|{|{|{zyxwxwxwxwtstststsrqrqrqrqnmnmnmnmjijijiji}~}~}}}}zyzyzyzyxwxwxwxwtstststsrqrqrqrqnmnmnmnmjijijiji}}~}~}~}zyzyzyzyxwxwxwxwtstststsrqrqrqponmnmnmnmjijijiji~}~}~}~}zyzyzyzyxwxwxwxwtstststspopopoponmnmnmnmjijijiji~}~}~}~}zyzyzyzyxwxwxwxwtstststspopopoponmnmnmnmjijijiji~}~}~}~}zyzyzyzyxwxwxwxwtstststspopopoponmnmnmnmjijijiji~}~}~}~}zyzyzyzyxwxwxwxwtstststspopopoponmnmnmnmjijijiji~}~}}}}}zyzyzyzyxwxwxwxwtstststspopopoponmnmnmnmjijijiji}~}~}~}~zyzyzyzyxwxwxwxwtstststspopopoponmnmnmnmjijijiji}~}~}~}~zyzyzyzyxwxwxwxwtstststspopopoponmnmnmnmjijijiji}~}~}~}~zyzyzyzyxwxwxwxwtstststspopopoponmnmnmnmjijijiji}~}~}~}~zyzyzyzyxwxwxwxwtstststspopopoponmnmnmnmjijijiji}~}~}~}~zyzyzyzyxwxwxwxwtstststspopopoponmnmnmnmjijijiji}~}}}}}}zyzyzyzyxwxwxwxwtstststspopopoponmnmnmnmjijijiji~}~}~}~}zyzyzyzyxwxwxwvutstststspopopoponmnmnmnmjijijiji~}~}~}~}zyzyzyzyvuvuvuvutstststspopopoponmnmnmnmjijijiji~}~}~}~}zyzyzyzyvuvuvuvutstststspopopoponmnmnmlkjijijijijijijijifefefefebabababa^]^]^]^]\[\[\[\[XWXWXWXWTSTSTSTSRQRQRQRQNMNMNMNMIIIIIJIJFEFEFEFEDCDCDCDC@?@?@?@?<;<;<;<;:9:9:9:96565656521212121.-.-.-.-,+,+,+,+('('('('$#$#$#$#"!"!"!"! - - - - jijijijifefefefebabababa^]^]^]^]\[\[\[\[XWXWXWXWTSTSTSTSRQRQRQRQNMNMNMNMIJIJIJIJFEFEFEFEDCDCDCDC@?@?@?@?<;<;<;<;:9:9:9:96565656521212121.-.-.-.-,+,+,+,+('('('('$#$#$#$#"!"!"!"! - - - - jijijijifefefefebabababa^]^]^]^]\[\[\[\[XWXWXWXWTSTSTSTSRQRQRQRQNMNMNMNMIJIJIJIJFEFEFEFEDCDCDCDC@?@?@?@?<;<;<;<;:9:9:9:96565656521212121.-.-.-.-,+,+,+,+('('('('$#$#$#$#"!"!"!"! - - - jijijijifefefefebabababa^]^]^]^]\[\[\[\[XWXWXWXWTSTSTSTSRQRQRQRQNMNMNMNMIJIJIJIJFEFEFEFEDCDCDCDC@?@?@?@?<;<;<;<;:9:9:9:96565656521212121.-.-.-.-,+,+,+,+('('('('$#$#$#$#"!"!"!"! jijijijifefefefebabababa^]^]^]^]\[\[\[\[XWXWXWXWTSTSTSTSRQRQRQRQNMNMNMNMIJIJIJIJFEFEFEFEDCDCDCDC@?@?@?@?<;<;<;<;:9:9:9:96565656521212121.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!"!"!"! jijijijifefefefebabababa^]^]^]^]\[\[\[\[XWXWXWXWTSTSTSTSRQRQRQRQNMNMNMNMIJIJIJIIFEFEFEFEDCDCDCDC@?@?@?@?<;<;<;<;:9:9:9:96565656521212121.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!"!"!"! jijijijifefefefebabababa^]^]^]^]\[\[\[\[XWXWXWXWTSTSTSTSRQRQRQRQNMNMNMNMIIIIJIJIFEFEFEFEDCDCDCDC@?@?@?@?<;<;<;<;:9:9:9:96565656521212121.-.-.-.-*)*)*)*)('('('('$#$#$#$#     jijijijifefefefebabababa^]^]^]^]\[\[\[\[XWXWXWXWTSTSTSTSRQRQRQRQNMNMNMNMJIJIJIJIFEFEFEFEDCBABABA@?@?@?@?<;<;<;<;:9:9:9:96565656521212121.-.-.-.-*)*)*)*)('('('('$#$#$#$#     jijijijifefefefebabababa^]^]^]^]\[\[\[\[XWXWXWXWTSTSTSTSRQRQRQRQNMNMNMNMJIJIJIJIFEFEFEFEBABABABA@?@?@?@?<;<;<;<;:9:9:9:96565656521212121.-.-.-.-*)*)*)*)('('('('$#$#$#$#     jijijijifefefefebabababa^]^]^]^]\[\[\[\[XWXWXWXWTSTSTSTSRQRQRQRQNMNMNMNMJIJIJIJIFEFEFEFEBABABABA@?@?@?@?<;<;<;<;:98787876565656521212121.-.-.-.-*)*)*)*)('('('('$#$#$#$#     jijijijifefefefebabababa^]^]^]^]\[\[ZYZYXWXWXWXWTSTSTSTSRQRQRQRQNMNMNMNMJIJIJIJIFEFEFEFEBABABABA@?@?@?@?<;<;<;<;878787876565656521212121.-.-.-.-*)*)*)*)('('('('$#$#$#$#     jijijijifefefefebabababa^]^]^]^]ZYZYZYZYXWXWXWXWTSTSTSTSRQRQRQRQNMNMNMNMJIJIJIIIFEFEFEFEBABABABA@?@?@?@?<;<;<;<;878787876565656521212121.-.-.-.-*)*)*)*)('('('('$#$#$#$#     jijijijifefefedcbabababa^]^]^]^]ZYZYZYZYXWXWXWXWTSTSTSTSRQRQPOPONMNMNMNMIIIJIJIJFEFEFEFEBABABABA@?@?@?@?<;<;<;<;878787876565656521212121.-.-.-.-*)*)*)*)('('('('$#$#$#$#     jijijijidcdcdcccbabababa^]^]^]^]ZYZYZYZYXWXWXWXWTSTSTSTSPOPOPOPONMNMNMNMIJIJIJIJFEFEFEFEBABABABA@?@?@?@?<;<;<;<;878787876565656521212121.-.-.-.-*)*)*)*)('('('('$#$#$#$#     jijijijicccdcdcdbabababa^]^]^]^]ZYZYZYZYXWXWXWXWTSTSTSTSPOPOPOPONMNMNMNMIJIJIJIJFEFEFEFEBABABABA@?@?@?@?<;<;<;<;878787876565656521212121.-.-.-.-*)*)*)*)('('('('$#$#$#$#     jijijihgcdcdcdcdbabababa^]^]^]^]ZYZYZYZYXWXWXWXWTSTSTSTSPOPOPOPONMNMNMNMIJIJIJIJFEFEFEFEBABABABA@?@?@?@?<;<;<;<;878787876565656521212121.-.-.-.-*)*)*)*)('('('('$#$#$#$#        hghghghgcdcdcdcdbabababa^]^]^]^]ZYZYZYZYXWXWXWXWTSTSTSTSPOPOPOPONMNMNMNMIJIJIJIJFEFEFEFEBABABABA@?@?@?@?<;<;<;<;878787876565656521212121.-.-.-.-*)*)*)*)('('('('$#$#$#$#        hghghghgcdcdcdcdbabababa^]^]^]^]ZYZYZYZYXWXWXWXWTSTSTSTSPOPOPOPONMNMNMNMIJIJIIIIFEFEFEFEBABABABA@?@?@?@?<;<;<;<;878787876565656521212121.-.-.-.-*)*)*)*)('('('('$#$#$#$#        hghghghgcdcdcdcdbabababa^]^]^]^]ZYZYZYZYXWXWXWXWTSTSTSTSPOPOPOPOLKLKLKLKIIJIJIJIFEFEFEFEBABABABA@?@?@?@?<;<;<;<;878787876565656521212121.-.-.-.-*)*)*)*)&%&%&%&%$#$#$#$#        hghghghgcdcdccccbabababa^]^]^]^]ZYZYZYZYXWXWXWXWTSTSTSTSPOPOPOPOLKLKLKLKJIHGHGHGFEFEFEFEBABABABA@?@?@?@?<;<;<;<;878787876565656521212121.-.-.-.-*)*)*)*)&%&%&%&%$#$#$#$#        hghghghgccdcdcdcbabababa^]^]^]^]ZYZYZYZYXWXWXWXWTSTSTSTSPOPOPOPOLKLKLKLKHGHGHGHGFEFEFEFEBABABABA@?@?@?@?<;<;<;<;8787878765656565210/0/0/.-.-.-.-*)*)*)*)&%&%&%&%$#$#$#$#        hghghghgdcdcdcdcbabababa^]^]^]^]ZYZYZYZYXWXWXWXWTSTSTSTSPOPOPOPOLKLKLKLKHGHGHGHGFEFEFEFEBABABABA@?>=>=>=<;<;<;<;87878787656565650//////0.-.-.-.-*)*)*)*)&%&%&%&%$#$#$#$#        hghghghgdcdcdcdcbaba`_`_^]^]^]^]ZYZYZYZYXWXWXWXWTSTSTSTSPOPOPOPOLKLKLKLKHGHGHGHGFEFEFEFEBABABABA>=>=>=>=<;<;<;<;8787878765656565/0/0/0/0.-.-.-.-*)*)*)*)&%&%&%&%$#$#$#$#        hghghghgdcdcdcdc`_`_`_`_^]^]^]^]ZYZYZYZYXWXWXWXWTSTSTSTSPOPOPOPOLKLKLKLKHGHGHGHGFEFEFEFEBABABABA>=>=>=>=<;<;<;<;8787878765434343/0/0/0/0.-.-.-.-*)*)*)*)&%&%&%&%$#$#$#$#        hghghghgdcdcdcdc`_`_`_`_^]^]^]^]ZYZYZYZYXWXWVUVUTSTSTSTSPOPOPOPOLKLKLKLKHGHGHGHGFEFEFEFEBABABABA>=>=>=>=<;<;<;<;8787878743434343/0/0/0/0.-.-.-.-*)*)*)*)&%&%&%&%$#$#$#$#        hghghghgdcdccccc`_`_`_`_^]^]^]^]ZYZYZYZYVUVUVUVUTSTSTSTSPOPOPOPOLKLKLKLKHGHGHGHGFEFEFEFEBABABABA>=>=>=>=<;<;<;<;8787878743434343/0/0/0/0.-.-.-.-*)*)*)*)&%&%&%&%$#$#$#$#        hghghghgcdcdcdcd`_`_`_`_^]^]^]^]ZYZYZYZYVUVUVUVUTSTSTSTSPOPOPOPOLKLKLKLKHGHGHGHGFEFEFEFEBABABABA>=>=>=>=<;<;<;<;8787878743434343/0/0/0/0.-.-.-.-*)*)*)*)&%&%&%&%$#$#$#$#        hghghghgcdcdcdcd`_`_`_`_^]^]^]^]ZYZYZYZYVUVUVUVUTSTSTSTSPOPOPOPOLKLKLKLKHGHGHGHGFEFEFEFEBABABABA>=>=>=>=<;<;<;<;8787878743434343//////0/.-.-.-.-*)*)*)*)&%&%&%&%$#$#$#$#        hghghghgcdcdcdcd`_`_`_`_^]^]^]^]ZYZYZYZYVUVUVUVUTSTSTSTSPOPOPOPOLKLKLKLKHGHGHGHGFEFEFEFEBABABABA>=>=>=>=<;<;<;<;87878787434343430/0/0/0/.-.-.-.-*)*)*)*)&%&%&%&%$#$#$#$#        - hghghghgcdcdcdcd`_`_`_`_^]^]^]^]ZYZYZYZYVUVUVUVUTSTSTSTSPOPOPOPOLKLKLKLKHGHGHGHGFEFEFEFEBABABABA>=>=>=>=<;<;<;<;87878787434343430/0/0/0/.-.-.-.-*)*)*)*)&%&%&%&%$#$#$#$#        - - - - hghghghgcdcdcdcd`_`_`_`_^]^]^]^]ZYZYZYZYVUVUVUVUTSTSTSTSPOPOPOPOLKLKLKLKHGHGHGHGFEFEFEFEBABABABA>=>=>=>=<;<;<;<;87878787434343430/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#        - - - - hghghghgcdcccccc`_`_`_`_^]^]^]^]ZYZYZYZYVUVUVUVUTSTSTSTSPOPOPOPOLKLKLKLKHGHGHGHGFEFEFEFEBABABABA>=>=>=>=<;<;<;<;87878787434343430/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#        - - - - hghghghgdcdcdcdc`_`_`_`_^]^]^]^]ZYZYZYZYVUVUVUVUTSTSTSTSPOPOPOPOLKLKLKLKHGHGHGHGFEFEFEFEBABABABA>=>=>=>=<;<;<;<;87878787434343430/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%"!"!"!"!        - - - - hghghghgdcdcdcdc`_`_`_`_^]^]^]^]ZYZYZYZYVUVUVUVUTSTSTSTSPOPOPOPOLKLKLKLKHGHGHGHGFEDCDCDCBABABABA>=>=>=>=<;<;<;<;8787878743434343/////0/0,+,+,+,+*)*)*)*)&%&%&%&%"!"!"!"!        - - - - hghghghgdcdcdcdc`_`_`_`_^]^]^]^]ZYZYZYZYVUVUVUVUTSTSTSTSPOPOPOPOLKLKLKLKHGHGHGHGDCDCDCDCBABABABA>=>=>=>=<;<;<;<;8787878743434343/0/0/0/0,+,+,+,+*)*)*)*)&%&%&%&%"!"!"!"!        - - - - hghghghgdcdcdcdc`_`_`_`_^]^]^]^]ZYZYZYZYVUVUVUVUTSTSTSTSPOPOPOPOLKLKLKLKHGHGHGHGDCDCDCDCBABABABA>=>=>=>=<;:9:9:98787878743434343/0/0/0/0,+,+,+,+*)*)*)*)&%&%&%&%"!"!"!"!        - - - - hghghghgdcdcdcdc`_`_`_`_^]^]\[\[ZYZYZYZYVUVUVUVUTSTSTSTSPOPOPOPOLKLKLKLKHGHGHGHGDCDCDCDCBABABABA>=>=>=>=:9:9:9:98787878743434343/0/0/0/0,+,+,+,+*)*)*)*)&%&%&%&%"!"!"!"!        - - - - hghghghgdccccccd`_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVUTSTSTSTSPOPOPOPOLKLKLKLKHGHGHGHGDCDCDCDCBABABABA>=>=>=>=:9:9:9:98787878743434343/0/0/0/0,+,+,+,+*)*)*)*)&%&%&%&%"!"!"!"!        - - - - hghghghgcdcdcdcd`_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVUTSTSRQRQPOPOPOPOLKLKLKLKHGHGHGHGDCDCDCDCBABABABA>=>=>=>=:9:9:9:98787878743434343/0/0/0//,+,+,+,+*)*)*)*)&%&%&%&%"!"!"!"!        - - - - hghghghgcdcdcdcd`_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVURQRQRQRQPOPOPOPOLKLKLKLKHGHGHGHGDCDCDCDCBABABABA>=>=>=>=:9:9:9:98787878743434343////0/0/,+,+,+,+*)*)*)*)&%&%&%&%"!"!"!"!        - - - - hghghghgcdcdcdcd`_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVURQRQRQRQPOPOPOPOLKLKLKLKHGHGHGHGDCDCDCDCBABABABA>=>=>=>=:9:9:9:987878787434343430/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%"!"!"!"!        - - - - hghghghgcdcdcdcd`_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVURQRQRQRQPOPOPOPOLKLKLKLKHGHGHGHGDCDCDCDCBABABABA>=>=>=>=:9:9:9:987878787434343430/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%"!"!"!"!        - - - - hghghghgcdcdcdcd`_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVURQRQRQRQPOPOPOPOLKLKLKLKHGHGHGHGDCDCDCDCBABABABA>=>=>=>=:9:9:9:987878787434343430/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%"!"!"!"!        - - - - hghghghgccccccdc`_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVURQRQRQRQPOPOPOPOLKLKLKLKHGHGHGHGDCDCDCDCBABABABA>=>=>=>=:9:9:9:987878787434343430/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%"!"!"!"!        - - - - hghghghgdcdcdcdc`_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVURQRQRQRQPOPOPOPOLKLKLKLKHGHGHGHGDCDCDCDCBABABABA>=>=>=>=:9:9:9:987878787434343430/0/0///,+,+,+,+('('('('&%&%&%&%"!"!"!"!        - - - - hghghghgdcdcdcdc`_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVURQRQRQRQPOPOPOPOLKLKLKLKHGHGHGHGDCDCDCDCBABABABA>=>=>=>=:9:9:9:98787878743434343///0/0/0,+,+,+,+('('('('&%&%&%&%"!"!"!"!        - - - - hghghghgdcdcdcdc`_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVURQRQRQRQPOPOPOPOLKLKLKLKHGHGHGHGDCDCDCDCBABABABA>=>=>=>=:9:9:9:98787878743434343/0/0/0/0,+,+,+,+('('('('&%&%&%&%"!"!"!"!    - - - - hgfefefeccccdcdc`_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVURQRQRQRQPOPOPOPOLKLKLKLKHGHGHGHGDCDCDCDCBA@?@?@?>=>=>=>=:9:9:9:98787878743434343/0/0/0/0,+,+,+,+('('('('&%&%&%&%"!"!"!"!    - - - - fefefefedcdcbaba`_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVURQRQRQRQPOPOPOPOLKLKLKLKHGHGHGHGDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:98787878743434343/0/0/0/0,+,+,+,+('('('('&%&%&%&%"!"!"!"!    - - - - fefefefebabababa`_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVURQRQRQRQPOPOPOPOLKLKJIJIHGHGHGHGDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:98765656543434343/0/0/0/0,+,+,+,+('('('('&%&%&%&%"!"!"!"!    - - - - fefefefebabababa`_`_`_`_\[\[\[\[ZYZYXWXWVUVUVUVURQRQRQRQPOPOPOPOJIJIIIIIHGHGHGHGDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:96565656543434343/0/0////,+,+,+,+('('('('&%&%&%&%"!"!"!"!    - - - - fefefefebabababa`_`_`_`_\[\[\[\[XWXWXWXWVUVUVUVURQRQRQRQPOPOPOPOJIJIJIJIHGHGHGHGDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:96565656543434343//0/0/0/,+,+,+,+('('('('&%&%&%&%"!"!"!"!    - - - - fefefefebabababa`_`_`_`_\[\[\[\[XWXWXWXWVUVUVUVURQRQRQRQPOPONMNMJIJIJIJIHGHGHGHGDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:965656565434343430/0/0/0/,+,+,+,+('('('('&%&%&%&%"!"!"!"!    - - - - fefefefebabababa`_`_`_`_\[\[\[\[XWXWXWXWVUVUVUVURQRQRQRQNMNMNMNMJIJIJIJIHGHGHGHGDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:965656565434343430/0/0/0/,+,+,+,+('('('('&%&%&%&%"!"!"!"!    - - - - fefefefebabababa`_`_`_`_\[\[\[\[XWXWXWXWVUVUVUVURQRQRQRQNMNMNMNMJIIIIIIJHGHGHGHGDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:965656565434343210/0/////,+,+,+,+('('('('&%&%&%&%"!"!"!"!   - - - - fefefefebabababa`_`_`_`_\[\[\[\[XWXWXWXWVUVUVUVURQRQRQRQNMNMNMNMIJIJIJIJHGHGHGHGDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:965656565212121210/0/0/0/,+,+,+,+('('('('&%&%&%&%"!"!"!"! - - - - fefefefebabababa`_`_`_`_\[\[\[\[XWXWXWXWVUVUVUVURQRQRQRQNMNMNMNMIJIJIJIJHGHGHGHGDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:96565656521212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"! - - - - fefefefebabababa`_`_`_`_\[\[\[\[XWXWXWXWVUVUVUVURQRQRQRQNMNMNMNMIJIJIJIJHGHGHGHGDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:96565656521212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"! - - - - fefefefebabababa`_`_`_`_\[\[\[\[XWXWXWXWVUVUVUVURQRQRQRQNMNMNMNMIJIJIJIJHGHGHGHGDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:96565656521212121.-.-.-.-,+,+,+,+('('('('$#$#$#$#"!"!"!"! - - - - fefefefebabababa`_`_`_`_\[\[\[\[XWXWXWXWVUVUVUVURQRQRQRQNMNMNMNMIJIJIJIJHGFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:96565656521212121.-.-.-.-,+,+,+,+('('('('$#$#$#$#"!"!"!"! - - - - fefefefebabababa`_`_`_`_\[\[\[\[XWXWXWXWVUVUVUVURQRQRQRQNMNMNMNMIIIIIIJIFEFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:96565656521212121.-.-.-.-,+,+,+,+('('('('$#$#$#$#"!"!"!"! - - - - fefefefebabababa`_`_`_`_\[\[\[\[XWXWXWXWVUVUVUVURQRQRQRQNMNMNMNMJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?>=<;<;<;:9:9:9:96565656521212121.-.-.-.-,+,+,+,+('('('('$#$#$#$#"!"!"!"! - - - - fefefefebabababa`_`_^]^]\[\[\[\[XWXWXWXWVUVUVUVURQRQRQRQNMNMNMNMJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?<;<;<;<;:9:9:9:96565656521212121.-.-.-.-,+,+,+,+('('('('$#$#$#$#"!"!"!"! - - - - fefefefebabababa^]^]^]^]\[\[\[\[XWXWXWXWVUVUVUVURQRQRQRQNMNMNMNMJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?<;<;<;<;:9:9:9:96565656521212121.-.-.-.-,+,+,+,+('('('('$#$#$#$#"!"!"!"! - - - - fefefefebabababa^]^]^]^]\[\[\[\[XWXWXWXWVUVUTSTSRQRQRQRQNMNMNMNMJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?<;<;<;<;:9:9:9:96565656521212121.-.-.-.-,+,+,+,+('('('('$#$#$#$#"!"!"!"! - - - - fefefefebabababa^]^]^]^]\[\[\[\[XWXWXWXWTSTSTSTSRQRQRQRQNMNMNMNMJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?<;<;<;<;:9:9:9:96565656521212121.-.-.-.-,+,+,+,+('('('('$#$#$#$#"!"!"!"! - - - - yyzz{{||mmnnoopp55667788<<;;::99ttssrrqquuvvwwxxuuvvwwxxBBCCDDEE - - //..--,,ggffeedd}}~~qqrrsstt99::;;<<88776655ppoonnmmyyzz{{||yyzz{{||FFGGHHII++**))((ccbbaa``uuvvwwxx==>>??@@44332211llkkjjii}}}}~JJKKLLMM''&&%%$$__^^]]\\yyzz{{||AABBCCDD - - 00//..--hhggffeeNNOOPPQQ##""!! [[ZZYYXX}}~~EEFFGGHH ,,++**))ddccbbaaRRSSTTUUWWVVUUTTIIJJKKLL((''&&%%``__^^]]VVWWXXYY !!SSRRQQPPMMNNOOPP$$##""!!\\[[ZZYYZZ[[\\]]""##$$%%OONNMMLLQQRRSSTT XXWWVVUU^^__``aa&&''(())KKJJIIHH~~}}UUVVWWXX TTSSRRQQbbccddee**++,,-- GGFFEEDD||{{zzyyYYZZ[[\\!!""##$$PPOONNMMffgghhii..//0011 - - CCBBAA@@xxwwvvuu]]^^__``%%&&''((LLKKJJIIjjkkllmm22334455??>>==<<~~}}||ttssrrqqaabbccdd))**++,, HHGGFFEE~~}}nnooppqq66778899;;::9988{{zzyyxxppoonnmm~}}||eeffgghh--..//00 - - DDCCBBAA||{{zzyyrrssttuu::;;<<==77665544wwvvuuttllkkjjii{{zzyyxxiijjkkll11223344@@??>>==xxwwvvuuvvwwxxyy>>??@@AA 33221100ssrrqqpphhggffeewwvvuuttmmnnoopp55667788<<;;::99ttssrrqq}}zz{{||}}BBCCDDEE - - //..--,,oonnmmllddccbbaassrrqqppqqrrsstt99::;;<<88776655ppoonnmm||{{zzyy~~FFGGHHII++**))((kkjjiihh``__^^]]}}||{{oonnmmlluuvvwwxx==>>??@@44332211llkkjjiixxwwvvuuJJKKLLMM''&&%%$$ggffeedd\\[[ZZYYzzyyxxwwkkjjiihgyyzz{{||AABBCCDD - - 00//..--hhggffeettssrrqqNNOOPPQQ##""!! ccbbaa``XXWWVVUUvvuuttssfedccbba}}~~EEFFGGHH ,,++**))ddccbbaappoonnmm~~}}||RRSSTTUU__^^]]\\TTSSRRQQrrqqppooa``__^^]IIJJKKLL((''&&%%``__^^]]llkkjjii{{zzyyxxVVWWXXYY !![[ZZYYXXPPOONNMMnnmmllkk]\\[[ZZYMMNNOOPP$$##""!!\\[[ZZYYccbbaa``wwvvuuttZZ[[\\]]""##$$%%WWVVUUTTLLKKJJIIjjiiccbbYXXWWVVU~~}}QQRRSSTT XXWWVVUU__^^]]\\ssrrqqpp^^__``aa&&''(())SSRRQQPPHHGGFFEEaa``__^^UTTSSRRQ||{{zzyyUUVVWWXX TTSSRRQQ[[ZZYYXXoonnmmllbbccddee**++,,-- OONNMMLLDDCCBBAA]]\\[[ZZQPPOONMLxxwwvvuuYYZZ[[\\!!""##$$PPOONNMMWWVVUUTTkkjjiihhffgghhii..//0011 - - KKJJIIHH@@??>>==YYXXWWVVKJIIHHGGttssrrqq]]^^__``%%&&''((LLKKJJIISSRRQQPPggffeeddjjkkllmm22334455GGFFEEDD<<;;::99UUTTSSRRFFEEDDCCppoonnmmaabbccdd))**++,, HHGGFFEEOOIIHHGGccbbaa``nnooppqq66778899CCBBAA@@88776655QQPPOOIIBBAA@@??llkkjjiieeffgghh--..//00 - - DDCCBBAAFFEEDDCC__^^]]\\rrssttuu::;;<<==??>>==<<44332211HHGGFFEE>>==<<;;hhggffeeiijjkkll11223344@@??>>==BBAA@@??[[ZZYYXXvvwwxxyy>>??@@AA ;;::998800//..--DDCCBBAA::998877ddccbbaammnnoopp55667788<<;;::99>>==<<;;WWVVUUTTzz{{||}}BBCCDDEE - - 77665544,,++**))@@??>>==66554321``__^^]]qqrrsstt99::;;<<88776655::998877SSRRQQPP~~FFGGHHII33221100((''&&%%<<;;::990//..--,\\[[ZZYYuuvvwwxx==>>??@@443322116655//..OONNMMLLJJKKLLMM//..--,,$$##""!!88776655,++**))(XXWWVVUUyyzz{{||AABBCCDD - - 00//..----,,++**KKJJIIHHNNOOPPQQ++**))(( //..--,,(''&&%%$TTSSRRQQ}}~~EEFFGGHH ,,++**))))((''&&GGFFEEDD~~}}||RRSSTTUU''&&%%$$++**))(($##""!! PPOONNMMIIJJKKLL((''&&%%%%$$##""CCBBAA@@{{zzyyxxVVWWXXYY !!##""!! ''&&%%$$ LLKKJJIIMMNNOOPP$$##""!!!! ??>>==<>==xxwwvvuuYYZZ[[\\!!""##$$ 33221100kkjjiihhffgghhii..//0011 - -  - -<<;;::99ttssrrqq]]^^__``%%&&''(( - - //..--,,ggffeeddjjkkllmm22334455  88776655ppoonnmmaabbccdd))**++,, ++**))((ccbbaa``nnooppqq66778899 - -  - - - -44332211llkkjjiieeffgghh--..//00 - - ''&&%%$$__^^]]\\rrssttuu::;;<<==  - - 00//..--hhggffeeiijjkkll11223344 - -##""!! [[ZZYYXXvvwwxxyy>>??@@AA ,,++**))ddccbbaammnnoopp55667788 WWVVUUTTzz{{||}}BBCCDDEE ((''&&%%``__^^]]qqrrsstt99::;;<<SSRRQQPP~~FFGGHHII !!""##$$$$##""!!\\[[ZZYYuuvvwwxx==>>??@@ - - OONNMMLLJJKKLLMM - - %%&&''(( !!""## XXWWVVUUyyzz{{||AABBCCDD KKJJIIHHNNOOPPQQ))**++,,$$%%&&'' TTSSRRQQ}}~~EEFFGGHH ! GGFFEEDD~~}}||RRSSTTUU--..//00(())**++!!""##$$PPOONNMMIIJJKKLL!""##$$% - - CCBBAA@@{{zzyyxxVVWWXXYY11223344,,--..//%%&&''((LLKKJJIIMMNNOOPP !!%&&''(()??>>==<>??@@==>>??@@11223344@@??>>==xxwwvvuuYYZZ[[\\**++,,--34556677 33221100kkjjiihhffgghhii&&''(())AABBCCDDAABBCCDD55667788<<;;::99ttssrrqq]]^^__``..//55668899::;; - - //..--,,ggffeeddjjkkllmm**++,,--EEFFGGHHEEFFGGHH99::;;<<88776655ppoonnmmaabbccdd778899::<<==>>??++**))((ccbbaa``nnooppqq..//0011IIJJKKLLIIOOPPQQ==>>??@@44332211llkkjjiieeffgghh;;<<==>>@@AABBCC''&&%%$$__^^]]\\rrssttuu22334455MMNNOOPPRRSSTTUUAABBCCDD - - 00//..--hhggffeeiijjkkll??@@AABBDDEEFFGG##""!! [[ZZYYXXvvwwxxyy66778899QQRRSSTTVVWWXXYYEEFFGGHH ,,++**))ddccbbaammnnooppCCDDEEFFHHIIJKLMWWVVUUTTzz{{||}}::;;<<==UUVVWWXXZZ[[\\]]IIJJKKLL((''&&%%``__^^]]qqrrssttGGHHIIOONOOPPQQR !!SSRRQQPP~~>>??@@AAYYZZ[[\\^^__``aaMMNNOOPP$$##""!!\\[[ZZYYuuvvwwxxPPQQRRSSRSSTTUUV""##$$%%OONNMMLLBBCCDDEE]]^^__``bbcciijjQQRRSSTT XXWWVVUUyyzz{{||TTUUVVWWVWWXXYYZ&&''(())KKJJIIHHFFGGHHIIaabbccddkkllmmnnUUVVWWXX TTSSRRQQ}}~~XXYYZZ[[Z[[\\]]^**++,,-- GGFFEEDD~~}}||JJKKLLMMeeffgghhooppqqrrYYZZ[[\\!!""##$$PPOONNMM\\]]^^__^__``aab..//0011 - - CCBBAA@@{{zzyyxxNNOOPPQQiijjkkllssttuuvv]]^^__``%%&&''((LLKKJJII``aabbccbccdefgh22334455??>>==<>==xxwwvvuuqqrrssttqqrrsstt>>??@@AA 33221100kkjjiihh^^__``aabbccddee__``aabbGGHHIIJJ**))((''bbaa``__ooppqqrrEEFFGGHHJKLMNOOPUUTTSSRR||}}~~DDEEFFGG<<==>>??))**++,, HHGGFFEE~~}}QQRRSSTT""##$$%%)**++,,-;;::9988ssrrqqppffgghhiicciijjkkKKLLMMNN&&%%$$##^^]]\\[[ssttuuvvIIOOPPQQPQQRRSST !!""##QQPPOONNHHIIJJKK@@AABBCC--..//00 - - DDCCBBAA||{{zzyyUUVVWWXX&&''(())-..//01277665544oonnmmll~~}}||jjkkllmmllmmnnooOOPPQQRR""!! ZZYYXXWWwwxxyyzzRRSSTTUUTUUVVWWX$$%%&&''MMLLKKJJLLMMNNOODDEEFFGG11223344@@??>>==xxwwvvuuYYZZ[[\\**++,,--34556677 33221100kkjjiihh{{zzyyxxnnooppqqppqqrrssSSTTUUVVVVUUTTSS{{||}}~~VVWWXXYYXYYZZ[[\(())**++IIHHGGFF~~PPQQRRSSHHIIOOPP55667788<<;;::99ttssrrqq]]^^__``..//55668899::;; - - //..--,,ggffeeddwwvvuuttrrssttuuttuuvvwwWWXXYYZZ !!""RRQQPPOOZZ[[\\]]\]]^^__`,,--..// - -EEDDCCBB}}||{{zzTTUUVVWWQQRRSSTT99::;;<<88776655ppoonnmmaabbccdd778899::<<==>>??++**))((ccbbaa``ssrrqqppvvwwxxyyxxyyzz{{[[\\]]^^##$$%%&&NNMMLLKK^^__``aa`aabbccd00112233 AA@@??>>yyxxwwvvXXYYZZ[[UUVVWWXX==>>??@@44332211llkkjjiieeffgghh;;<<==>>@@AABBCC''&&%%$$__^^]]\\oonnmmllzz{{||}}||}}__``aabb''(())**JJIIHHGGbbcciijjefghiijj44556677==<<;;::uuttssrr\\]]^^__YYZZ[[\\AABBCCDD - - 00//..--hhggffeeiijjkkll??@@AABBDDEEFFGG##""!! [[ZZYYXXkkjjiihh~~ccddeeff++,,--.. FFEEDDCC~~}}||{{kkllmmnnkkllmmnn8899::;;99887766qqppoonn``aabbcc]]^^__``EEFFGGHH ,,++**))ddccbbaammnnooppCCDDEEFFHHIIJKLMWWVVUUTTggffeeddgghhiijj//001122 - - BBAA@@??zzyyxxwwooppqqrrooppqqrr<<==>>??55443322mmllkkjjddeeffggaabbcciiIIJJKKLL((''&&%%``__^^]]qqrrssttGGHHIIOONOOPPQQR !!SSRRQQPP}}||{{ccbbaa``kkllmmnn33445566>>==<<;;vvuuttssssttuuvvssttuuvv@@AABBCC - - 1100//..iihhggffhhiijjkkjjkkllmmMMNNOOPP$$##""!!\\[[ZZYYuuvvwwxxPPQQRRSSRSSTTUUV""##$$%%OONNMMLLzzyyxxww__^^]]\\ooppqqrr778899::::998877rrqqppoowwxxyyzzwwxxyyzzDDEEFFGG --,,++**eeddccbbllmmnnoonnooppqqQQRRSSTT XXWWVVUUyyzz{{||TTUUVVWWVWWXXYYZ&&''(())KKJJIIHHvvuuttss[[ZZYYXXssttuuvv;;<<==>>66554433nnmmllkk{{||}}{{||}}~HHIIJJKK))((''&&aa``__^^ppqqrrssrrssttuuUUVVWWXX TTSSRRQQ}}~~XXYYZZ[[Z[[\\]]^**++,,-- GGFFEEDDrrqqppooWWVVUUTTwwxxyyzz??@@AABB - -221100//jjiihhggLLMMNNOO%%$$##""]]\\[[ZZttuuvvwwvvwwxxyyYYZZ[[\\!!""##$$PPOONNMM\\]]^^__^__``aab..//0011 - - CCBBAA@@nnmmllkkSSRRQQPP{{||}}~~CCDDEEFF ..--,,++ffeeddccPPQQRRSS!! YYXXWWVVxxyyzz{{zz{{||}}]]^^__``%%&&''((LLKKJJII``aabbccbccdefgh22334455??>>==<>==xxwwvvuuqqrrssttqqrrsstt>>??@@AA 33221100YYXXWWVVCCBBAA@@SSTTUUVVVVUUTTSS``aabbcc(())**++IIHHGGFF~~mmnnoopp55667788<<;;::99ttssrrqquuvvwwxxuuvvwwxxBBCCDDEE - - //..--,,UUTTSSRR??>>==<>yyxxwwvvuuvvwwxx==>>??@@44332211llkkjjii}}}}~JJKKLLMM''&&%%$$HHGGFFEE77665544~}}||{{__``aabb''(())**JJIIHHGGllmmnnoo44556677==<<;;::uuttssrryyzz{{||AABBCCDD - - 00//..--hhggffeeNNOOPPQQ##""!! DDCCBBAA33221100zzyyxxwwccddeeff++,,--.. FFEEDDCC~~}}||{{ppqqrrss8899::;;99887766qqppoonn}}~~EEFFGGHH ,,++**))ddccbbaaRRSSTTUU@@??>>==//..--,,}}||{{zzvvuuttssgghhiijj//001122 - - BBAA@@??zzyyxxwwttuuvvww<<==>>??55443322mmllkkjjIIJJKKLL((''&&%%``__^^]]VVWWXXYY !!<<;;::99++**))((yyxxwwvvrrqqppookkllmmnn33445566>>==<<;;vvuuttssxxyyzz{{@@AABBCC - - 1100//..iihhggffMMNNOOPP$$##""!!\\[[ZZYYZZ[[\\]]""##$$%%88776655''&&%%$$uuttssrrnnmmllkkooppqqrr778899::::998877rrqqppoo}}||{{||}}~~DDEEFFGG --,,++**eeddccbbQQRRSSTT XXWWVVUU^^__``aa&&''(())//..--,,##""!! qqppoonnjjiihgfessttuuvv;;<<==>>66554433nnmmllkkzzyyxxwwHHIIJJKK))((''&&aa``__^^UUVVWWXX TTSSRRQQbbccddee**++,,-- ++**))((mmllkkjjdccbbaa`wwxxyyzz??@@AABB - -221100//jjiihhggvvuuttssLLMMNNOO%%$$##""]]\\[[ZZYYZZ[[\\!!""##$$PPOONNMMffgghhii..//0011 - - ''&&%%$$iiccbbaa`__^^]]\{{||}}~~CCDDEEFF ..--,,++ffeeddccrrqqppoo~~PPQQRRSS!! YYXXWWVV~}}]]^^__``%%&&''((LLKKJJIIjjkkllmm22334455##""!! ``__^^]]\[[ZZYYXGGHHIIJJ**))((''bbaa``__nnmmllkk}}||{{zzTTUUVVWWUUTTSSRR||{{zzyyaabbccdd))**++,, HHGGFFEE~~}}nnooppqq66778899\\[[ZZYYXWWVVUUTKKLLMMNN&&%%$$##^^]]\\[[jjiiccbbyyxxwwvvXXYYZZ[[ !!""##QQPPOONN}}||xxwwvvuueeffgghh--..//00 - - DDCCBBAA||{{zzyyrrssttuu::;;<<== XXWWVVUUTSSRRQQPOOPPQQRR""!! ZZYYXXWWaa``__^^uuttssrr\\]]^^__$$%%&&''MMLLKKJJ{{zzyyxxttssrrqqiijjkkll11223344@@??>>==xxwwvvuuvvwwxxyy>>??@@AA  - - TTSSRRQQPOONMLKJ~~}}||{{SSTTUUVVVVUUTTSS]]\\[[ZZqqppoonn``aabbcc(())**++IIHHGGFFwwvvuuttppoonnmmmmnnoopp55667788<<;;::99ttssrrqq}}zz{{||}}BBCCDDEE - -  - - PPOOIIHHIIHHGGFFzzyyxxwwWWXXYYZZ !!""RRQQPPOOYYXXWWVVmmllkkjjddeeffgg,,--..// - -EEDDCCBBssrrqqppllkkjjiiqqrrsstt99::;;<<88776655ppoonnmm||{{zzyy~~FFGGHHII - - - -GGFFEEDDEEDDCCBBvvuuttss[[\\]]^^##$$%%&&NNMMLLKKUUTTSSRRiihhggffhhiijjkk00112233 AA@@??>>oonnmmllhgfedccbuuvvwwxx==>>??@@44332211llkkjjiixxwwvvuuJJKKLLMM CCBBAA@@AA@@??>>rrqqppoo__``aabb''(())**JJIIHHGGQQPPOOIIeeddccbbllmmnnoo44556677==<<;;::kkjjiiccbaa``__^yyzz{{||AABBCCDD - - 00//..--hhggffeettssrrqqNNOOPPQQ??>>==<<==<<;;::nnmmllkkccddeeff++,,--.. FFEEDDCCHHGGFFEEaa``__^^ppqqrrss8899::;;99887766bbaa``__^]]\\[[Z}}~~EEFFGGHH ,,++**))ddccbbaappoonnmm~~}}||RRSSTTUU;;::998899887766jjiihhgggghhiijj//001122 - - BBAA@@??DDCCBBAA]]\\[[ZZttuuvvww<<==>>??55443322^^]]\\[[ZYYXXWWVIIJJKKLL((''&&%%``__^^]]llkkjjii{{zzyyxxVVWWXXYY !! !!776655//5543210/ffeeddcckkllmmnn33445566>>==<<;;@@??>>==YYXXWWVVxxyyzz{{@@AABBCC - - 1100//..ZZYYXXWWVUUTTSSRMMNNOOPP$$##""!!\\[[ZZYYccbbaa``wwvvuuttZZ[[\\]]""##$$%% !!""##""##$$%%..--,,++/..--,,+bbaa``__ooppqqrr778899::::998877<<;;::99UUTTSSRR||}}~~DDEEFFGG --,,++**VVUUTTSSRQQPPOON~~}}QQRRSSTT XXWWVVUU__^^]]\\ssrrqqpp^^__``aa&&''(())$$%%&&''&&''(())**))((''+**))(('^^]]\\[[ssttuuvv;;<<==>>6655443388776655QQPPOONNHHIIJJKK))((''&&RRQQPPOOMLKJIIHH||{{zzyyUUVVWWXX TTSSRRQQ[[ZZYYXXoonnmmllbbccddee**++,,--(())**++**++,,--&&%%$$##'&&%%$$#ZZYYXXWWwwxxyyzz??@@AABB - -221100////..--,,MMLLKKJJLLMMNNOO%%$$##""IIHHGGFFGGFFEEDDxxwwvvuuYYZZ[[\\!!""##$$PPOONNMMWWVVUUTTkkjjiihhffgghhii..//0011,,--..//..//0011""!! #""!! VVUUTTSS{{||}}~~CCDDEEFF ..--,,++++**))((IIHHGGFF~~PPQQRRSS!! EEDDCCBBCCBBAA@@ttssrrqq]]^^__``%%&&''((LLKKJJIISSRRQQPPggffeeddjjkkllmm223344555566778822334455RRQQPPOOGGHHIIJJ**))((''''&&%%$$EEDDCCBB}}||{{zzTTUUVVWWAA@@??>>??>>==<>yyxxwwvvXXYYZZ[[ !!""##==<<;;::;;::9988llkkjjiieeffgghh--..//00 - - DDCCBBAAFFEEDDCC__^^]]\\rrssttuu::;;<<====>>??@@::;;<<==JJIIHHGGOOPPQQRR""!! ==<<;;::uuttssrr\\]]^^__$$%%&&''9988776677665543hhggffeeiijjkkll11223344@@??>>==BBAA@@??[[ZZYYXXvvwwxxyy>>??@@AAAABBCCDD>>??@@AA - - FFEEDDCC~~}}||{{SSTTUUVV99887766qqppoonn``aabbcc(())**++55//..--210//..-ddccbbaammnnoopp55667788<<;;::99>>==<<;;WWVVUUTTzz{{||}}BBCCDDEEEEFFGGHHBBCCDDEE  - - BBAA@@??zzyyxxwwWWXXYYZZ !!""55443322mmllkkjjddeeffgg,,--..// - -,,++**))-,,++**)``__^^]]qqrrsstt99::;;<<88776655::998877SSRRQQPP~~FFGGHHIIIIOOPPQQFFGGHHII>>==<<;;vvuuttss[[\\]]^^##$$%%&& 1100//..iihhggffhhiijjkk00112233 ((''&&%%)((''&&%\\[[ZZYYuuvvwwxx==>>??@@443322116655//..OONNMMLLJJKKLLMMRRSSTTUUJJKKLLMM - - ::998877rrqqppoo__``aabb''(())** - - --,,++**eeddccbbllmmnnoo44556677$$##""!!%$$##""!XXWWVVUUyyzz{{||AABBCCDD - - 00//..----,,++**KKJJIIHHNNOOPPQQVVWWXXYYNNOOPPQQ 66554433nnmmllkkccddeeff++,,--.. ))((''&&aa``__^^ppqqrrss8899::;; ! TTSSRRQQ}}~~EEFFGGHH ,,++**))))((''&&GGFFEEDD~~}}||RRSSTTUUZZ[[\\]]RRSSTTUU - -221100//jjiihhgggghhiijj//001122 - - %%$$##""]]\\[[ZZttuuvvww<<==>>??PPOONNMMIIJJKKLL((''&&%%%%$$##""CCBBAA@@{{zzyyxxVVWWXXYY^^__``aaVVWWXXYY ..--,,++ffeeddcckkllmmnn33445566 - - !! YYXXWWVVxxyyzz{{@@AABBCC - - LLKKJJIIMMNNOOPP$$##""!!!! ??>>==<> - -QQPPOONNHHIIJJKK - -  DDCCBBAA||{{zzyyUUVVWWXX 77665544oonnmmllbbccddeeooppqqrrbbccddee%%&&''((""!! ZZYYXXWWwwxxyyzz??@@AABB MMLLKKJJLLMMNNOO - - @@??>>==xxwwvvuuYYZZ[[\\!!""##$$ 33221100kkjjiihhffgghhiissttuuvvffgghhii))**++,,VVUUTTSS{{||}}~~CCDDEEFFIIHHGGFF~~PPQQRRSS <<;;::99ttssrrqq]]^^__``%%&&''(( - - //..--,,ggffeeddjjkkllmmwwxxyyzzjjkkllmm--..//55 !!""RRQQPPOOGGHHIIJJ !!""# - -EEDDCCBB}}||{{zzTTUUVVWW - - 88776655ppoonnmmaabbccdd))**++,, ++**))((ccbbaa``nnooppqq{{||}}nnooppqq66778899##$$%%&&NNMMLLKKKKLLMMNN#$$%%&&' AA@@??>>yyxxwwvvXXYYZZ[[ !!""##44332211llkkjjiieeffgghh--..//00 - - ''&&%%$$__^^]]\\rrssttuurrssttuu::;;<<==''(())**JJIIHHGGOOPPQQRR !!""##'(())**+==<<;;::uuttssrr\\]]^^__$$%%&&'' - - 00//..--hhggffeeiijjkkll11223344 - -##""!! [[ZZYYXXvvwwxxyyvvwwxxyy>>??@@AA++,,--.. FFEEDDCC~~}}||{{SSTTUUVV$$%%&&''+,,--../99887766qqppoonn``aabbcc(())**++ ,,++**))ddccbbaammnnoopp55667788 WWVVUUTTzz{{||}}zz{{||}}BBCCDDEE//001122 - - BBAA@@??zzyyxxwwWWXXYYZZ(())**++/012345555443322mmllkkjjddeeffgg,,--..// !!""((''&&%%``__^^]]qqrrsstt99::;;<<SSRRQQPP~~~~FFGGHHII33445566>>==<<;;vvuuttss[[\\]]^^,,--..//66778899 - - 1100//..iihhggffhhiijjkk00112233##$$%%&&$$##""!!\\[[ZZYYuuvvwwxx==>>??@@ - - OONNMMLLOOPPQQRR778899::::998877rrqqppoo__``aabb55667788::;;<<== --,,++**eeddccbbllmmnnoo44556677''(())** XXWWVVUUyyzz{{||AABBCCDD KKJJIIHHSSTTUUVV;;<<==>>66554433nnmmllkkccddeeff99::;;<<>>??@@AA))((''&&aa``__^^ppqqrrss8899::;;++,,--.. TTSSRRQQ}}~~EEFFGGHH ! GGFFEEDD~~}}||WWXXYYZZ??@@AABB - -221100//jjiihhgggghhiijj==>>??@@BBCCDDEE%%$$##""]]\\[[ZZttuuvvww<<==>>??//556677!!""##$$PPOONNMMIIJJKKLL!""##$$% - - CCBBAA@@{{zzyyxx[[\\]]^^CCDDEEFF ..--,,++ffeeddcckkllmmnnAABBCCDDFFGGHHII!! YYXXWWVVxxyyzz{{@@AABBCC8899::;;%%&&''((LLKKJJIIMMNNOOPP !!%&&''(()??>>==<=>=>=<;<;<;<;:9:9:9:96565656543434343/0/0/0/0.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!"!"!"!        - - - - ZYZYZYZYVUVUVUVUTSTSTSTSPOPOPOPONMNMNMNMJIJIJIJIHGHGHGHGDCDCDCDCBABABABA>=>=>=>=<;<;<;<;:9:9:9:96565656543434343/0/0/0//.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!"!"!"!        - - - - ZYZYZYZYVUVUVUVUTSTSTSTSPOPOPOPONMNMNMNMJIJIJIJIHGHGHGHGDCDCDCDCBABABABA>=>=>=>=<;<;<;<;:9:9:9:96565656543434343////0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!"!"!"!        - - - - ZYZYZYZYVUVUVUVUTSTSTSTSPOPOPOPONMNMNMNMJIJIJIJIHGHGHGHGDCDCDCDCBABABABA>=>=>=>=<;<;<;<;:9:9:9:965656565434343430/0/0/0/,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"!    - - - - ZYZYZYZYVUVUVUVUTSTSTSTSPOPOPOPONMNMNMNMJIJIJIJIHGHGHGHGDCDCDCDCBABABABA>=>=>=>=<;<;<;<;:9:9:9:965656565434343430/0/0/0/,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"!    - - - - ZYZYXWXWVUVUVUVUTSTSTSTSPOPOPOPONMNMNMNMIIIIIJIJHGHGHGHGDCDCDCDCBABABABA>=>=>=>=<;<;<;<;:9:9:9:965656565434343430/0/0/0/,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"!   - - - - XWXWXWXWVUVUVUVUTSTSTSTSPOPOPOPONMNMNMNMIJIJIJIJHGHGHGHGDCDCDCDCBABABABA>=>=>=>=<;<;<;<;:9:9:9:965656565434343430/0/0/0/,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"! - - - - XWXWXWXWVUVUVUVUTSTSTSTSPOPOPOPONMNMNMNMIJIJIJIJHGHGHGHGDCDCDCDCBABABABA>=>=>=>=<;<;<;<;:9:9:9:965656565434343210/0/0///,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"! - - - - XWXWXWXWVUVUVUVUTSTSTSTSPOPOPOPONMNMNMNMIJIJIJIJHGFEFEFEDCDCDCDCBABABABA>=>=>=>=<;<;<;<;:98787876565656521212121///0/0/0,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"! - - - - XWXWXWXWVUVUVUVUTSTSTSTSPOPOPOPONMNMNMNMIJIJIJIJFEFEFEFEDCDCDCDCBABABABA>=>=>=>=<;<;<;<;878787876565656521212121/0/0/0/0,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"! - - - - XWXWXWXWVUVUVUVUTSTSTSTSPOPOPOPONMNMNMNMIJIJIJIIFEFEFEFEDCDCDCDCBABABABA>=>=>=>=<;<;<;<;878787876565656521212121/0/0/0/0,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"! - - - - XWXWXWXWVUVUVUVUTSTSTSTSPOPOPOPONMNMNMNMIIIIJIJIFEFEFEFEDCDCDCDCBABABABA>=>=>=>=<;<;<;<;878787876565656521212121/0/0/0/0,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#"!"!"!"! - - - - XWXWXWXWVUVUVUVUTSTSTSTSPOPOPOPONMNMNMNMJIJIJIJIFEFEFEFEDCDCDCDCBABABABA>=>=>=>=<;<;<;<;878787876565656521212121/0/0/0/0,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#"!"!"!"! - - - - XWXWXWXWVUVUVUVUTSTSRQRQPOPOPOPOLKLKLKLKJIJIJIJIFEFEFEFEDCDCDCDCBABABABA>=>=>=>=<;<;<;<;878787876565656521212121/0/0////,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#"!"!"!"! - - - - XWXWXWXWVUVUVUVURQRQRQRQPOPOPOPOLKLKLKLKJIJIJIJIFEFEFEFEDCDCDCDCBABABABA>=>=>=>=<;<;<;<;878787876565656521212121//0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#"!"!"!"! - - - - XWXWXWXWVUVUVUVURQRQRQRQPOPOPOPOLKLKLKLKJIJIJIJIFEFEFEFEDCDCDCDCBABABABA>=>=>=>=<;<;<;<;8787878765656565212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#"!"!"!"! - - - - XWXWXWXWVUVUVUVURQRQRQRQPOPOPOPOLKLKLKLKJIJIJIIIFEFEFEFEDCDCDCDCBA@?@?@?>=>=>=>=<;<;<;<;8787878765656565212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#"!"!"!"! - - - - XWXWXWXWVUVUVUVURQRQRQRQPOPOPOPOLKLKLKLKIIIJIJIJFEFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=<;<;<;<;8787878765656565212121210/0/////,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#"!"!"!"! - - - - XWXWXWXWVUVUVUVURQRQRQRQPOPOPOPOLKLKLKLKIJIJIJIJFEFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=<;<;<;<;8787878765656565212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#"!"!"!"! - - - - XWXWXWXWVUVUVUVURQRQRQRQPOPOPOPOLKLKLKLKIJIJIJIJFEFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=<;<;<;<;878787876565656521212121.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#     - - - - XWXWXWXWVUVUVUVURQRQRQRQPOPOPOPOLKLKLKLKIJIJIJIJFEFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=<;<;<;<;878787876565656521212121.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#     - - - - XWXWXWXWVUVUVUVURQRQRQRQPOPOPOPOLKLKLKLKIJIJIJIJFEFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=<;<;<;<;878787876565656521212121.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#     - - - - XWXWXWXWVUVUVUVURQRQRQRQPOPOPOPOLKLKLKLKIJIJIIIIFEFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=<;<;<;<;878787876565656521212121.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#        - - - - XWXWXWXWVUVUVUVURQRQRQRQPOPOPOPOLKLKLKLKIIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=<;<;<;<;878787876565656521212121.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#        - - - - XWXWXWXWVUVUVUVURQRQRQRQPOPOPOPOLKLKLKLKJIHGHGHGFEFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=<;:9:9:9878787876565656521212121.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#        - - - - XWXWXWXWVUVUVUVURQRQRQRQPOPOPOPOLKLKLKLKHGHGHGHGFEFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:9878787876565656521212121.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#        - - - - XWXWXWXWVUVUVUVURQRQRQRQPOPOPOPOLKLKLKLKHGHGHGHGFEFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:9878787876565656521212121.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#        - - - - XWXWXWXWVUVUVUVURQRQRQRQPOPOPOPOLKLKLKLKHGHGHGHGFEFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:9878787876565656521212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#$#        - - - - XWXWXWXWVUVUVUVURQRQRQRQPOPOPOPOLKLKLKLKHGHGHGHGFEFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:9878787876565656521212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#$#        - - - - XWXWXWXWVUVUTSTSRQRQRQRQPOPOPOPOLKLKLKLKHGHGHGHGFEFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:9878787876565656521212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#$#        - - - XWXWXWXWTSTSTSTSRQRQRQRQPOPOPOPOLKLKLKLKHGHGHGHGFEFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:9878787876565656521212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#$#        XWXWXWXWTSTSTSTSRQRQRQRQPOPOPOPOLKLKLKLKHGHGHGHGFEFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:9878787876565656521212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#$#        XWXWXWXWTSTSTSTSRQRQRQRQPOPOPOPOLKLKLKLKHGHGHGHGFEFEFEFEDCBABABA@?@?@?@?>=>=>=>=:9:9:9:9878787876543434321212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#$#        XWXWXWXWTSTSTSTSRQRQRQRQPOPOPOPOLKLKLKLKHGHGHGHGFEFEFEFEBABABABA@?@?@?@?>=>=>=>=:9:9:9:9878787874343434321212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#$#        XWXWXWXWTSTSTSTSRQRQRQRQPOPOPOPOLKLKLKLKHGHGHGHGFEFEFEFEBABABABA@?@?@?@?>=>=>=>=:9:9:9:9878787874343434321212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#$#        XWXWXWXWTSTSTSTSRQRQRQRQPOPOPOPOLKLKLKLKHGHGHGHGFEFEFEFEBABABABA@?@?@?@?>=>=>=>=:9:9:9:9878787874343434321212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!        XWXWXWXWTSTSTSTSRQRQRQRQPOPOPOPOLKLKLKLKHGHGHGHGFEFEFEFEBABABABA@?@?@?@?>=>=>=>=:9:9:9:9878787874343434321212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!        XWXWXWXWTSTSTSTSRQRQRQRQPOPONMNMLKLKLKLKHGHGHGHGFEFEFEFEBABABABA@?@?@?@?>=>=>=>=:9:9:9:9878787874343434321212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!        XWXWXWXWTSTSTSTSRQRQRQRQNMNMNMNMLKLKLKLKHGHGHGHGFEFEFEFEBABABABA@?@?@?@?>=>=>=>=:9:9:9:9878787874343434321212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!        XWXWXWXWTSTSTSTSRQRQRQRQNMNMNMNMLKLKLKLKHGHGHGHGFEFEFEFEBABABABA@?@?@?@?>=>=>=>=:9:9:9:98787878743434343210/0/0/.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!        XWXWXWXWTSTSTSTSRQRQRQRQNMNMNMNMLKLKLKLKHGHGHGHGFEFEFEFEBABABABA@?@?@?@?>=<;<;<;:9:9:9:987878787434343430//////0.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!        XWXWXWXWTSTSTSTSRQRQRQRQNMNMNMNMLKLKLKLKHGHGHGHGFEFEFEFEBABABABA@?@?@?@?<;<;<;<;:9:9:9:98787878743434343/0/0/0/0.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!        XWXWXWXWTSTSTSTSRQRQRQRQNMNMNMNMLKLKLKLKHGHGHGHGFEFEFEFEBABABABA@?@?@?@?<;<;<;<;:9:9:9:98787878743434343/0/0/0/0.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!        XWXWXWXWTSTSTSTSRQRQRQRQNMNMNMNMLKLKLKLKHGHGHGHGFEFEFEFEBABABABA@?@?@?@?<;<;<;<;:9:9:9:98787878743434343/0/0/0/0.-.-.-.-*)*)*)*)('('('('&%&%&%&%"!"!"!"!        XWXWXWXWTSTSTSTSRQRQRQRQNMNMNMNMLKLKJIJIHGHGHGHGFEFEFEFEBABABABA@?@?@?@?<;<;<;<;:9:9:9:98787878743434343/0/0/0/0.-.-.-.-*)*)*)*)('('('('&%&%&%&%"!"!"!"!        XWXWVUVUTSTSTSTSRQRQRQRQNMNMNMNMJIJIIIIIHGHGHGHGFEFEFEFEBABABABA@?@?@?@?<;<;<;<;:9:9:9:98787878743434343/0/0/0/0.-.-.-.-*)*)*)*)('('('('&%&%&%&%"!"!"!"!        - VUVUVUVUTSTSTSTSRQRQRQRQNMNMNMNMJIJIJIJIHGHGHGHGFEFEFEFEBABABABA@?@?@?@?<;<;<;<;:9:9:9:98787878743434343//////0/.-.-.-.-*)*)*)*)('('('('&%&%&%&%"!"!"!"!        - - - - QQRRSSTT$$%%&&''llkkjjiiuuvvwwxxLLKKJJII55667788,,++**))[[ZZYYXXJJKKLLMMwwvvuuttjjkkllmm - - WWVVUUTT__``aabb !!""BBAA@@??UUVVWWXX(())**++hhggffeeyyzz{{||HHGGFFEE99::;;<<((''&&%%WWVVUUTTNNOOPPQQssrrqqppnnooppqqSSRRQQPPcciijjkk##$$%%&&>>==<<;;YYZZ[[\\,,--..// - -ddccbbaa}}~~ DDCCBBAA==>>??@@$$##""!!SSRRQQPPRRSSTTUU oonnmmllrrssttuuOONNMMLLllmmnnoo''(())**::998877]]^^__``55667788 ``__^^]]!!""##$$@@??>>==AABBCCDD OOIIHHGGVVWWXXYY - - kkjjiihhvvwwxxyyKKJJIIHHppqqrrss++,,--..66554433aabbccdd99::;;<<\\[[ZZYY%%&&''((<<;;::99EEFFGGHHFFEEDDCCZZ[[\\]]ggffeeddzz{{||}}GGFFEEDDttuuvvww//001122221100//eeffgghh==>>??@@ - - XXWWVVUU))**++,,88776655IIJJKKLLBBAA@@??^^__``aaccbbaa``~~ !!CCBBAA@@xxyyzz{{33445566..--,,++iijjkkllAABBCCDD TTSSRRQQ--..//0044332211MMNNOOPP>>==<<;;~~}}||bbccddee__^^]]\\""##$$%%??>>==<<||}}778899::**))((''mmnnooppEEFFGGHHPPOONNMM1122334400//..--QQRRSSTT ::998877{{zzyyxxffgghhii [[ZZYYXX&&''(());;::9988;;<<==>>&&%%$$##~~}}qqrrssttIIOOPPQQLLKKJJII55667788,,++**))UUVVWWXX - - 6655//..wwvvuuttjjkkllmm - - WWVVUUTT**++,,--77665544??@@AABB""!! ||{{zzyyuuvvwwxxRRSSTTUUHHGGFFEE99::;;<<((''&&%%YYZZ[[\\--,,++**ssrrqqppnnooppqqSSRRQQPP..//001133221100CCDDEEFF~~}}||{{xxwwvvuuyyzz{{||VVWWXXYY DDCCBBAA==>>??@@$$##""!!]]^^__``))((''&&oonnmmllrrssttuuOONNMMLL22334455//..--,,GGHHIIJJzzyyxxwwttssrrqq}}~~ZZ[[\\]]!!""##$$@@??>>==AABBCCDD ~~}}aabbccdd%%$$##""kkjjiihhvvwwxxyyKKJJIIHH66778899++**))((KKLLMMNNvvuuttssppoonnmm^^__``aa%%&&''((<<;;::99EEFFGGHH||{{zzyyeeffgghh - - !! ggffeeddzz{{||}}GGFFEEDD::;;<<==''&&%%$$}}||{{zzOOPPQQRRrrqqppoollkkjjiibbcciijj))**++,,88776655IIJJKKLLxxwwvvuuiijjkkll ccbbaa``~~ !!CCBBAA@@>>??@@AA##""!! yyxxwwvvSSTTUUVV nnmmllkkhhggffeekkllmmnn--..//0044332211MMNNOOPPttssrrqqmmnnoopp__^^]]\\""##$$%%??>>==<>??@@$$##""!!]]^^__``ddccbbaa}}~~&&''(())OONNMMLL22334455//..--,,RRSSTTUU ``__^^]]gghhiijj - -ZZYYXXWWTTSSRRQQAABBCCDD ~~}}aabbccdd``__^^]]**++,,-- - -KKJJIIHH66778899++**))((VVWWXXYY - - \\[[ZZYYkkllmmnn VVUUTTSSPPOONNMMEEFFGGHH||{{zzyyeeffgghh\\[[ZZYY..//5566 GGFFEEDD::;;<<==''&&%%$$ZZ[[\\]]XXWWVVUU~}}||{{ooppqqrrRRQQPPOOLLKKJJIIIIJJKKLLxxwwvvuuiijjkkll - - XXWWVVUU778899::CCBBAA@@>>??@@AA##""!! ^^__``aaTTSSRRQQzzyyxxwwssttuuvvNNMMLLKKHHGGFFEEMMNNOOPPttssrrqqmmnnoopp TTSSRRQQ;;<<==>>??>>==<>==UUVVWWXX - - llkkjjiiuuvvwwxxLLKKJJIICCDDEEFF !77665544JJKKLLMMwwvvuuttjjkkllmm - - CCBBAA@@nnmmllkk !!""BBAA@@??<<;;::99YYZZ[[\\hhggffeeyyzz{{||HHGGFFEEGGHHIIOO!""##$$%33221100NNOOPPQQssrrqqppnnooppqq??>>==<>==<<;;88776655}}||{{]]^^__``ddccbbaa}}~~ DDCCBBAAPPQQRRSS%&&''(()//..--,,RRSSTTUU oonnmmllrrssttuu;;::9988dccbbaa`''(())**::99887744332211zzyyxxwwaabbccdd``__^^]]!!""##$$@@??>>==TTUUVVWW)**++,,-++**))((VVWWXXYY - - kkjjiihhvvwwxxyy776655//`__^^]]\++,,--..6655443300//..--vvuuttsseeffgghh\\[[ZZYY%%&&''((<<;;::99XXYYZZ[[-..//012''&&%%$$ZZ[[\\]]ggffeeddzz{{||}}..--,,++\[[ZZYYX//001122221100//,,++**))rrqqppooiijjkkll - - XXWWVVUU))**++,,88776655\\]]^^__34556677##""!! ^^__``aaccbbaa``~~ !!**))((''XWWVVUUT33445566..--,,++((''&&%%nnmmllkkmmnnoopp TTSSRRQQ--..//0044332211``aabbcc8899::;;~~}}||bbccddee__^^]]\\""##$$%%&&%%$$##TSSRRQQP778899::**))((''$$##""!!jjiiccbbqqrrssttPPOONNMM1122334400//..--iijjkkll<<==>>??{{zzyyxxffgghhii [[ZZYYXX&&''(())""!! POONMLKJ;;<<==>>&&%%$$## aa``__^^~}}||uuvvwwxxLLKKJJII55667788,,++**))mmnnoopp@@AABBCCwwvvuuttjjkkllmm - - WWVVUUTT**++,,--IIHHGGFF??@@AABB""!! ]]\\[[ZZ{{zzyyxxyyzz{{||HHGGFFEE99::;;<<((''&&%%qqrrssttDDEEFFGGssrrqqppnnooppqqSSRRQQPP..//0011EEDDCCBBCCDDEEFFYYXXWWVVwwvvuutt}}~~ DDCCBBAA==>>??@@$$##""!!uuvvwwxxHHIIJKLM oonnmmllrrssttuuOONNMMLL22334455AA@@??>>GGHHIIJJUUTTSSRRssrrqqpp!!""##$$@@??>>==AABBCCDD ~~}}yyzz{{||NOOPPQQR - - kkjjiihhvvwwxxyyKKJJIIHH66778899 - -==<<;;::KKLLMMNN QQPPOOIIoonnmmll%%&&''((<<;;::99EEFFGGHH||{{zzyy}}RSSTTUUVggffeeddzz{{||}}GGFFEEDD::;;<<== 99887766OOPPQQRR - - HHGGFFEEkkjjiihg))**++,,88776655IIJJKKLLxxwwvvuuVWWXXYYZccbbaa``~~ !!CCBBAA@@>>??@@AA5543210/SSTTUUVV - - DDCCBBAAfedccbba--..//0044332211MMNNOOPPttssrrqqZ[[\\]]^__^^]]\\""##$$%%??>>==<>==a``__^^]1122334400//..--QQRRSSTT ppoonnmm^__``aab [[ZZYYXX&&''(());;::9988FFGGHHII +**))(('[[\\]]^^<<;;::99]\\[[ZZY55667788,,++**))UUVVWWXX - - llkkjjiibccdefgh - - WWVVUUTT**++,,--77665544JJKKLLMM'&&%%$$#__``aabb88776655YXXWWVVU99::;;<<((''&&%%YYZZ[[\\hhggffeeiijjkkllSSRRQQPP..//001133221100NNOOPPQQ#""!! ~~}}||{{ccddeeff//..--,,UTTSSRRQ==>>??@@$$##""!!]]^^__``ddccbbaammnnooppOONNMMLL22334455//..--,,RRSSTTUU zzyyxxwwgghhiijj - - ++**))((QPPOONMLAABBCCDD ~~}}aabbccdd``__^^]]qqrrssttKKJJIIHH66778899++**))((VVWWXXYY!!""##$$vvuuttsskkllmmnn !!""##$$''&&%%$$KJIIHHGGEEFFGGHH||{{zzyyeeffgghh\\[[ZZYYuuvvwwxxGGFFEEDD::;;<<==''&&%%$$ZZ[[\\]]%%&&''((rrqqppooooppqqrr%%&&''((##""!! FFEEDDCCIIJJKKLLxxwwvvuuiijjkkll - - XXWWVVUUyyzz{{|| !!CCBBAA@@>>??@@AA##""!! ^^__``aa))**++,, nnmmllkkssttuuvv))**++,,BBAA@@??MMNNOOPPttssrrqqmmnnoopp TTSSRRQQ}}~""##$$%%??>>==<>==<<;;QQRRSSTT ppoonnmmqqrrssttPPOONNMM&&''(());;::9988FFGGHHII{{zzyyxxffgghhii66778899ffeeddcc{{||}}~~CCDDEEFF11223344::998877UUVVWWXX - - llkkjjiiuuvvwwxxLLKKJJII}}**++,,--77665544JJKKLLMMwwvvuuttjjkkllmm::;;<<==bbaa``__ !!""GGHHIIJJ55667788 66554321YYZZ[[\\hhggffeeyyzz{{||HHGGFFEE||{{zzyy..//001133221100NNOOPPQQssrrqqppnnooppqq>>??@@AA^^]]\\[[##$$%%&&KKLLMMNN99::;;<< - - - -0//..--,]]^^__``ddccbbaa}}~~ DDCCBBAAxxwwvvuu22334455//..--,,RRSSTTUU oonnmmllrrssttuuBBCCDDEE - -ZZYYXXWW''(())**OOPPQQRR==>>??@@ ,++**))(~~}}aabbccdd``__^^]]!!""##$$@@??>>==ttssrrqq66778899++**))((VVWWXXYY - - kkjjiihhvvwwxxyyFFGGHHII VVUUTTSS++,,--..SSTTUUVVAABBCCDD(''&&%%$||{{zzyyeeffgghh\\[[ZZYY%%&&''((<<;;::99ppoonnmm::;;<<==''&&%%$$ZZ[[\\]]ggffeeddzz{{||}}OOPPQQRRRRQQPPOO//001122WWXXYYZZEEFFGGHH$##""!! xxwwvvuuiijjkkll - - XXWWVVUU))**++,,88776655llkkjjii>>??@@AA##""!! ^^__``aaccbbaa``~~SSTTUUVVNNMMLLKK33445566[[\\]]^^IIJJKKLL ttssrrqqmmnnoopp TTSSRRQQ--..//0044332211ccbbaa``BBCCDDEE~~}}||bbccddee__^^]]\\WWXXYYZZJJIIHHGG778899::__``aabbMMNNOOPP !!""##ppoonnmmqqrrssttPPOONNMM1122334400//..--__^^]]\\FFGGHHII{{zzyyxxffgghhii [[ZZYYXX[[\\]]^^FFEEDDCC;;<<==>>ccddeeffgghhiijj - -ZZYYXXWW55667788 EEDDCCBB<<==>>??%%$$##""\\]]^^__VVUUTTSS||{{zzyyqqrrssttPPOONNMM1122334400//..--iijjkkll<<==>>??{{zzyyxxffgghhii DDCCBBAA[[ZZYYXXkkllmmnn VVUUTTSS99::;;<<AA@@??>>@@AABBCC!! ~~``aabbccRRQQPPOOxxwwvvuuuuvvwwxxLLKKJJII55667788,,++**))mmnnoopp@@AABBCCwwvvuuttjjkkllmm - - @@??>>==WWVVUUTTooppqqrrRRQQPPOO==>>??@@==<<;;::DDEEFFGG}}||{{zzddeeffggIIHHGGFFttssrrqqyyzz{{||HHGGFFEE99::;;<<((''&&%%qqrrssttDDEEFFGGssrrqqppnnooppqq<<;;::99SSRRQQPPssttuuvvNNMMLLKKAABBCCDD99887766HHIIJJKKyyxxwwvvhhiijjkk - - EEDDCCBBppoonnmm}}~~ DDCCBBAA==>>??@@$$##""!!uuvvwwxxHHIIJKLM oonnmmllrrssttuu88776655OONNMMLLwwxxyyzzJJIIHHGGEEFFGGHH !!""#55443322LLMMNNOOuuttssrrllmmnnoo AA@@??>>llkkjjii!!""##$$@@??>>==AABBCCDD ~~}}yyzz{{||NOOPPQQR - - kkjjiihhvvwwxxyy//..--,,KKJJIIHH{{||}}~~FFEEDDCCIIOOPPQQ#$$%%&&'1100//..PPQQRRSSqqppoonnppqqrrss==<<;;::hgfedccb%%&&''((<<;;::99EEFFGGHH||{{zzyy}}RSSTTUUVggffeeddzz{{||}}++**))((GGFFEEDD !!""BBAA@@??RRSSTTUU'(())**+--,,++**TTUUVVWW - -mmllkkjjttuuvvww99887766baa``__^))**++,,88776655IIJJKKLLxxwwvvuuVWWXXYYZccbbaa``~~ !!''&&%%$$CCBBAA@@##$$%%&&>>==<<;;VVWWXXYY+,,--../))((''&&XXYYZZ[[ iihhggffxxyyzz{{55//..--^]]\\[[Z--..//0044332211MMNNOOPPttssrrqqZ[[\\]]^__^^]]\\""##$$%%##""!! ??>>==<<''(())**::998877ZZ[[\\]]/0123455%%$$##""\\]]^^__eeddccbb||}}~~,,++**))ZYYXXWWV1122334400//..--QQRRSSTT ppoonnmm^__``aab [[ZZYYXX&&''(());;::9988++,,--..66554433^^__``aa66778899!! ~~``aabbccaa``__^^ !!""##((''&&%%VUUTTSSR55667788,,++**))UUVVWWXX - - llkkjjiibccdefgh - - WWVVUUTT**++,,--77665544//001122221100//bbcciijj::;;<<==}}||{{zzddeeffgg]]\\[[ZZ$$%%&&''$$##""!!RQQPPOON99::;;<<((''&&%%YYZZ[[\\hhggffeeiijjkkllSSRRQQPP..//00113322110033445566..--,,++kkllmmnn>>??@@AAyyxxwwvvhhiijjkk - - YYXXWWVV(())**++ MLKJIIHH==>>??@@$$##""!!]]^^__``ddccbbaammnnooppOONNMMLL22334455 //..--,,778899::**))((''ooppqqrrBBCCDDEEuuttssrrllmmnnoo UUTTSSRR,,--..//GGFFEEDDAABBCCDD ~~}}aabbccdd``__^^]]qqrrssttKKJJIIHH66778899 - - - -++**))((;;<<==>>&&%%$$##ssttuuvvFFGGHHIIqqppoonnppqqrrssQQPPOONN00112233CCBBAA@@EEFFGGHH||{{zzyyeeffgghh\\[[ZZYYuuvvwwxxGGFFEEDD::;;<<== ''&&%%$$??@@AABB""!! wwxxyyzzJKLMNOOP - -mmllkkjjttuuvvwwMMLLKKJJ44556677 ??>>==<>??@@AA##""!! CCDDEEFF~~}}||{{{{||}}PQQRRSST iihhggffxxyyzz{{IIHHGGFF8899::;; - - ;;::9988MMNNOOPPttssrrqqmmnnoopp TTSSRRQQ}}~""##$$%%??>>==<>??77665543QQRRSSTT ppoonnmmqqrrssttPPOONNMM&&''(());;::9988FFGGHHIIKKLLMMNNvvuuttssXYYZZ[[\aa``__^^ !!""##AA@@??>>@@AABBCC 210//..-UUVVWWXX - - llkkjjiiuuvvwwxxLLKKJJII}}**++,,--77665544JJKKLLMM !!""##OOPPQQRRrrqqppoo\]]^^__`]]\\[[ZZ$$%%&&''==<<;;::DDEEFFGG - - -,,++**)YYZZ[[\\hhggffeeyyzz{{||HHGGFFEE||{{zzyy..//001133221100NNOOPPQQ$$%%&&''SSTTUUVV nnmmllkk`aabbccd - - YYXXWWVV(())**++99887766HHIIJJKK)((''&&%]]^^__``ddccbbaa}}~~ DDCCBBAAxxwwvvuu22334455//..--,,RRSSTTUU(())**++ WWXXYYZZ - - jjiihhggefghiijj UUTTSSRR,,--..//55443322LLMMNNOO%$$##""!~~}}aabbccdd``__^^]]!!""##$$@@??>>==ttssrrqq66778899++**))((VVWWXXYY,,--..// - - [[\\]]^^ffeeddcckkllmmnnQQPPOONN001122331100//..PPQQRRSS! ||{{zzyyeeffgghh\\[[ZZYY%%&&''((<<;;::99ppoonnmm::;;<<==''&&%%$$ZZ[[\\]]55667788 - - __``aabbbbaa``__ooppqqrrMMLLKKJJ44556677--,,++**TTUUVVWW !!""xxwwvvuuiijjkkll - - XXWWVVUU))**++,,88776655llkkjjii>>??@@AA##""!! ^^__``aa99::;;<<~~}}||{{ccddeeff^^]]\\[[ssttuuvvIIHHGGFF8899::;;))((''&&XXYYZZ[[##$$%%&&ttssrrqqmmnnoopp TTSSRRQQ--..//0044332211ccbbaa``BBCCDDEE~~}}||bbccddee==>>??@@zzyyxxwwgghhiijj - -ZZYYXXWWwwxxyyzzEEDDCCBB<<==>>??%%$$##""\\]]^^__''(())**ppoonnmmqqrrssttPPOONNMM1122334400//..--__^^]]\\FFGGHHII{{zzyyxxffgghhiiAABBCCDDvvuuttsskkllmmnn VVUUTTSS{{||}}~ !!""##AA@@??>>@@AABBCC!! ~~``aabbcc++,,--.. llkkjjiiuuvvwwxxLLKKJJII55667788,,++**))[[ZZYYXXJJKKLLMMwwvvuuttjjkkllmmEEFFGGHHrrqqppooooppqqrrRRQQPPOO$$%%&&''==<<;;::DDEEFFGG}}||{{zzddeeffgg//556677 - - hhggffeeyyzz{{||HHGGFFEE99::;;<<((''&&%%WWVVUUTTNNOOPPQQssrrqqppnnooppqqIIOOPPQQ !!nnmmllkkssttuuvvNNMMLLKK(())**++99887766HHIIJJKKyyxxwwvvhhiijjkk8899::;;ddccbbaa}}~~ DDCCBBAA==>>??@@$$##""!!SSRRQQPPRRSSTTUU oonnmmllrrssttuuRRSSTTUU""##$$%%jjiihhggwwxxyyzzJJIIHHGG}}||{{,,--..//55443322LLMMNNOOuuttssrrllmmnnoo<<==>>??``__^^]]!!""##$$@@??>>==AABBCCDD OOIIHHGGVVWWXXYY - - kkjjiihhvvwwxxyyVVWWXXYY&&''(())ffeeddcc{{||}}~~FFEEDDCCzzyyxxww001122331100//..PPQQRRSSqqppoonnppqqrrss@@AABBCC\\[[ZZYY%%&&''((<<;;::99EEFFGGHHFFEEDDCCZZ[[\\]]ggffeeddzz{{||}}ZZ[[\\]]**++,,--bbaa``__ !!""BBAA@@??vvuuttss44556677--,,++**TTUUVVWW - -mmllkkjjttuuvvwwDDEEFFGG - - XXWWVVUU))**++,,88776655IIJJKKLLBBAA@@??^^__``aaccbbaa``~~^^__``aa..//0011^^]]\\[[##$$%%&&>>==<<;;rrqqppoo8899::;;))((''&&XXYYZZ[[ iihhggffxxyyzz{{HHIIOOPP TTSSRRQQ--..//0044332211MMNNOOPP>>==<<;;~~}}||bbccddee__^^]]\\bbcciijj22334455ZZYYXXWW''(())**::998877nnmmllkk<<==>>??%%$$##""\\]]^^__eeddccbb||}}~~QQRRSSTTPPOONNMM1122334400//..--QQRRSSTT ::998877{{zzyyxxffgghhii [[ZZYYXXkkllmmnn66778899VVUUTTSS++,,--..66554433jjiiccbb@@AABBCC!! ~~``aabbccaa``__^^UUVVWWXXLLKKJJII55667788,,++**))UUVVWWXX - - 6655//..wwvvuuttjjkkllmm - - WWVVUUTTooppqqrr::;;<<==RRQQPPOO//001122221100//aa``__^^DDEEFFGG}}||{{zzddeeffgg]]\\[[ZZYYZZ[[\\HHGGFFEE99::;;<<((''&&%%YYZZ[[\\--,,++**ssrrqqppnnooppqqSSRRQQPPssttuuvv>>??@@AANNMMLLKK33445566..--,,++]]\\[[ZZHHIIJJKKyyxxwwvvhhiijjkk - - YYXXWWVV]]^^__`` DDCCBBAA==>>??@@$$##""!!]]^^__``))((''&&oonnmmllrrssttuuOONNMMLLwwxxyyzzBBCCDDEEJJIIHHGG778899::**))((''YYXXWWVVLLMMNNOOuuttssrrllmmnnoo UUTTSSRRaabbccii!!""##$$@@??>>==AABBCCDD ~~}}aabbccdd%%$$##""kkjjiihhvvwwxxyyKKJJIIHH{{||}}FFGGHHIIFFEEDDCC;;<<==>>&&%%$$##UUTTSSRRPPQQRRSSqqppoonnppqqrrssQQPPOONNjjkkllmm%%&&''((<<;;::99EEFFGGHH||{{zzyyeeffgghh - - !! ggffeeddzz{{||}}GGFFEEDDJJKKLLMMBBAA@@????@@AABB""!! QQPPOOIITTUUVVWW - -mmllkkjjttuuvvwwMMLLKKJJnnooppqq))**++,,88776655IIJJKKLLxxwwvvuuiijjkkll ccbbaa``~~ !!CCBBAA@@NNOOPPQQ>>==<<;;CCDDEEFFHHGGFFEEXXYYZZ[[ iihhggffxxyyzz{{IIHHGGFFrrssttuu--..//0044332211MMNNOOPPttssrrqqmmnnoopp__^^]]\\""##$$%%??>>==<>==~~``aabbccaa``__^^ !!""##AA@@??>>zz{{||}}55667788,,++**))UUVVWWXX - - llkkjjiiuuvvwwxx !! - - WWVVUUTT**++,,--77665544ZZ[[\\]]221100//OOPPQQRR<<;;::99}}||{{zzddeeffgg]]\\[[ZZ$$%%&&''==<<;;::99::;;<<((''&&%%YYZZ[[\\hhggffeeyyzz{{||""##$$%%SSRRQQPP..//001133221100^^__``aa..--,,++SSTTUUVV 88776655yyxxwwvvhhiijjkk - - YYXXWWVV(())**++99887766==>>??@@$$##""!!]]^^__``ddccbbaa}}~~&&''(())OONNMMLL22334455//..--,,bbccddee**))((''WWXXYYZZ - - //..--,,uuttssrrllmmnnoo UUTTSSRR,,--..//55443322AABBCCDD ~~}}aabbccdd``__^^]]**++,,-- - -KKJJIIHH66778899++**))((}}||{{ffgghhii&&%%$$##[[\\]]^^++**))((qqppoonnppqqrrssQQPPOONN001122331100//..EEFFGGHH||{{zzyyeeffgghh\\[[ZZYY..//5566 GGFFEEDD::;;<<==''&&%%$$zzyyxxwwjjkkllmm""!! __``aabb''&&%%$$mmllkkjjttuuvvwwMMLLKKJJ44556677--,,++**IIJJKKLLxxwwvvuuiijjkkll - - XXWWVVUU778899::CCBBAA@@>>??@@AA##""!! vvuuttssnnooppqq~~}}||{{ccddeeff - -##""!! iihhggffxxyyzz{{IIHHGGFF8899::;;))((''&&}}||MMNNOOPPttssrrqqmmnnoopp TTSSRRQQ;;<<==>>??>>==<>??%%$$##""{{zzyyxxQQRRSSTT ppoonnmmqqrrssttPPOONNMM??@@AABB;;::9988FFGGHHIInnmmllkk{{zzyyxxvvwwxxyyvvuuttsskkllmmnnaa``__^^ !!""##AA@@??>>@@AABBCC!! wwvvuuttUUVVWWXX - - llkkjjiiuuvvwwxxLLKKJJIICCDDEEFF !77665544JJKKLLMMjjiiccbbwwvvuuttzz{{||}}rrqqppooooppqqrr]]\\[[ZZ$$%%&&''==<<;;::DDEEFFGGssrrqqppYYZZ[[\\hhggffeeyyzz{{||HHGGFFEEGGHHIIOO!""##$$%33221100NNOOPPQQaa``__^^ssrrqqpp~~ nnmmllkkssttuuvv YYXXWWVV(())**++99887766HHIIJJKKoonnmmll]]^^__``ddccbbaa}}~~ DDCCBBAAPPQQRRSS%&&''(()//..--,,RRSSTTUU ]]\\[[ZZoonnmmll - - jjiihhggwwxxyyzz !!""## - - UUTTSSRR,,--..//55443322LLMMNNOOkkjjiiccaabbccdd``__^^]]!!""##$$@@??>>==TTUUVVWW)**++,,-++**))((VVWWXXYY - - YYXXWWVVkkjjiihhffeeddcc{{||}}~~$$%%&&''QQPPOONN001122331100//..PPQQRRSSbbaa``__eeffgghh\\[[ZZYY%%&&''((<<;;::99XXYYZZ[[-..//012''&&%%$$ZZ[[\\]]UUTTSSRRggffeeddbbaa``__(())**++MMLLKKJJ44556677--,,++**TTUUVVWW - -^^]]\\[[iijjkkll - - XXWWVVUU))**++,,88776655\\]]^^__34556677##""!! ^^__``aaQQPPOOIIccbbaa``^^]]\\[[,,--..// - - IIHHGGFF8899::;;))((''&&XXYYZZ[[ ZZYYXXWW~}}mmnnoopp TTSSRRQQ--..//0044332211``aabbcc8899::;;~~}}||bbccddeeHHGGFFEE__^^]]\\fpvp˂rnvppZHAbnXv`p˂r`vXnے`JXQtArdbHAZdrtAHAbے~HfJ`ےdQZ|˂pZZdQbt˂rXQltb~f`dQbtHAZp˂rtAJlpfے`nXv`XQJ`ےfH~ے`Jf~HXQJ`ےvpfr˂p|ZdQbp˂rJlt`JXQrpvnbHAZpdrtAJHAbےlJtAJ`ےdQZ|vXnl|ZdQrXQJtbdQJXQrf~HbHAZf`vXXQr˂fpvbHAZH~fZHAbtlJXQJ`ےbdQZ|˂pZXv`f˂rXQltb`JXQrrd|bHAZpdrtAJvpfHbtl`ےbZ|d˂pZHAfpvp˂rH~fpZHAbnXv`p˂r`vXnے`JXQfpvbHAZdrtAHAXQr~HfJ`ےdQZ|˂pZZdQbt˂rXQltb~f`JtArdHAZp˂rtAJlbے`nXv`XQJ`ے`vXnJAdf~HXQJ`ےvpfr˂pnXv`p˂rJlt˂pZHApvnbHAZpdtAJlHAbےlJtAJ`ےdQZ|vXn|ZdQrXQJtbdQJXQrf~HbHAZvpf|ZdQbfpvbHAZH~fZHAbf~HXQJ`ےbdQZ|bے`Xv`f˂rXQtbn`JXQrrd|bHAZpdrtAJvpfےbtl`ےbZ|d˂pZHAfpvp˂rH~ftlJnXv`p˂r`vXnے`JXQfpvbHAZdrtAJXQr~HfJ`ےvpf˂pZZdQbt˂rXQltb`JXQHAJtAdQbHAZp˂rtAJlbے`nXv`XQJ`ے`vXntArdf~HXQJ`ےvpfr˂pnXv`p˂rJlt˂pZHApvnbHAZpHf`HAbےlJtAJ`ےdQZ|bے`tlJrXQJtbdQJXQrf~HbHAZf`|ZdQbfpvbHAZH~fZHAbf~HXQJ`ےbdQZ|b˂Xv`f˂rXQvXn`JXQrrd|bHAZpdrtAJJXQrtArd`ےbZ|d˂pZHAfpvp˂rvXntlJnXv`p˂r`vXnے`JXQfpvbHAZdtAJpZHAb~HfJ`ےvpfH˂pZZdQbt˂rXQltb˂pZHA|ZdQbHAZp˂rtAJlbے`nXv`XQJ`ےvpfHtArdf~HXQJ`ےvpfr˂pnXv`p˂rltbے`JpvnbHAZp~f`HAbےlJtAJ`ےdQZ|bے`tlJrXQJtbdQJXQrf~HbHAZ~f`|ZdQbfpvJltH~fZHAbf~HXQJ`ےnvpXQr˂Xv`f˂rXQvXn`JXQrrd|bHAZpdrtAJJXQrtArdt`ےbZ|d˂pZHAfpvp˂rvXntlJnXv`bdQZ|`vXnے`JXQfpvbHAZ`vXnpZHAb~HfJ`ےvpfH˂pZZdQbt˂rXQltbے`JlJfHAZp˂rtAJlbے`nXv`XQJ`ےvp`vtArdf~HdrtAvpfr˂pnXv`p˂rvpfے`ppvnbHAZp~f`HAbےlJfJ`ےdQZ|XQr˂pvnrXQJtbdQJXQrf~HbHAZXnv|ZdQbfpvJltH~fZHAbf~HXQJ`ےH~fZHAbXv`f˂rXQvXn`JXQrpvnbHAZpdrtAJpZHAbvf~H`ےbZ|d˂pZHAfpvp˂rpfH~tlJnXv`bdQZ|`vXnے`JXQfpvbHAZ`pfHے`JXQ~HfJ`ےvpfH˂pZXv`f˂rXQltbے`JfpvHAZp˂tAJlbے`nXv`XQJ`ےf`vtArdf~HdrtAvpfr˂pnXv`p˂r~f`r˂ppvnbHAZp~f`HAbے~HfJ`ےdQZ|XQr˂nXv`rXQJtbnJXQrf~HbHAZXnv|ZdQbfpvJltH~fZHAےf~HXQJ`ےvXn`JXQrXv`f˂rXQvXn`JXQrpvnbHAZpdrtAJp`JXQf~H`ےbvpfH˂pZHAfpvp˂rpfHXtlJnXv`bdQZ|`vXn`JXQrfpvbHAZvpfHbtl~HfJ`ےvpfH˂pZXv`f˂rXQltbr˂pfpvHAZp˂f`vbے`nXv`XQJ`ےnvptArdf~HdrtAvpfbtlnXv`p˂r~f`JA|ZpvnbHAZp~f`HAbے~HfJ`ےdQZ|ZHAbnXvfrXQJXnvJXQrf~HJltfH~|ZdQbfpvJltH~fJtAdf~HXQJ`ےvXH~dQbtXv`f˂rXQvXn`JXQrpvnbHAZpdtAJlے`JXQ~Hfp`ےbpfH~˂pZHAfpvdrtAJf`vXtlJnXv`bdQZ|`vXn|ZdQbfpvbHAZf`vlJtAr~HfJ`ےJvpfH˂pZXv`f˂rXQtbnr˂pvnXHAZp˂f`vbے`nXv`ltbnvptArdf~HdrtAvpftlJnXv`p˂rXnvd|ZQpvnltb~f`HAbے~HfJ`ےvpfZHAXQrv`frXQJXnvJXQrf~HdQZ|fH~|ZdQbfpvJltH~ftArdf~HXQJ`ےpfH~blJtXv`fdQZ|vXn`JXQrpvnbHAZpHf`˂pZ~Hfp`ےbpfH~˂pZHAfpvdrtAJvpftlJnXv`bdQZ|`vXn|ZdQbfpvbHAZf`vArd|~HfdrtAJvpfH˂pZXv`f˂rXQvXnHAbےvnXHAZp˂f`vbے`nXv`ltbے`JXQtArdfHfdrtAvpftlJnXv`p˂rXnZdQbtpvnltb~f`HAbے~HfJ`ےvpfH`JXQrv`f~rXQJXnvJXQrf~HdQtAJlrZHA|ZdQbpvnJltH~ftArdf~HXQJ`ےf`vXlJtXv`fdQZ|vXn`JXQrpvnbHAZp~f`˂pZfpv`ےbpfH~˂pZHAfpvtbdQbے`tlJrXQJ`bdQZ|`vXn|ZdQbfpvJltnvpArd|~HfdrtAJvpfH˂pZXv`f˂rXQvXnHAbnXv`HAZp˂f`vbے`nXv`Z|dJXQrtArdےHAZdrtAvpftlJnXv`bdQZ|fH~ZdQbpvnltb~f`HAے`~HfJ`ےvpfH˂pZHAf~HrXQJXnvJXQrf~HrtAJlpZHA|ZdQbp˂rJltH~ftArdf~HdrtAf`vXJtArdXv`fdQZ|vXnJXQrbpvnbHAZp~f`bے`fpv`ےbpfH~˂pZHAfpvtbdQbے`tlJXQJ`ےbdQZ|`vXn|ZdQbfpvJltnvp|ZdQ~HfdrtAJvpfHtlJXv`f˂rXQvXnJXQrnXv`HAZp˂f`vbے`nXv`Z|lJXQrtArdbHAZdrtAvpftlJnXv`bdQZ|`vXnbtlpvnltb~f`tAd|~HfJ`ےvpfH˂pZHAf~fvrXQJXnvJXQrf~HtbdQZZAbے|ZdQbp˂rJltH~ftArdf~HdrtAvpfJtArdXv`fdQZ|vXnZdQbtpvnbHAZp~f`bے`nXv`ےJlpfH~˂pZHAfpv|dr`JXQrtlJXQJ`ےbdQZ|`vXn|ZdQbfpvJltH~f|ZdQ~HfdrtAJvpfHlJtAXv`f˂rXQvXnpZHAb`f~tbdQf`vbے`nXv`tAJl璀˂pZtArdbHAZdrtAvpftlJnXv`bdQZ|`vXnbtJApvnltb~f`rd|~HfJ`ےvpfHے`JHfpvZ|dXnvJXQrf~HtbdQZHAbے|ZdQbp˂rJltے`JXQtArdf~HdrtAvpfrd|Xv`fdQZ|vXnZdQbtpvnbHAZp~f`XQr˂nXvrtAJlpfH~˂pZHAfpv|dt`JXQrtlJXQJ`ےbdQZ|r˂p|ZdQbfpvJltHXnZdQbt琕HfpdrtAJvpfHlJtAXv`f˂rXQvXnp`JXQ`f~tbdQf`vbے`nXv`bdQZ|˂pZAtArdbHAZdrtAZHAbtlJnXv`bdQZ|vpfHlJtAvnrltb~f`rd|~HfJ`ےJvpfHrbtHfvnXZ|dXnvJXQrp˂rdrtAb`JX|ZdQbp˂rJltے`JXQtArdf~HdrtA~f`rd|XQJ`ےdQZ|vXnZdQbtpvnltb~f`l|ZdQv`frtAJlpfH~˂pZHAXQJ`ےJltQr˂ptlJXQJ`ےbdQZ|r˂p|ZdQbfpvJltvXnZdQbt琙HAZpdrtAJvpfHlJtAXv`fdQZ|vXnbtl~HfptbdQf`vے`JbHAZbdQZ|ZHAbtArdbHAZdrtAZHAbtlJnXv`bdQZ|vpfHlJAr˂rXQltb~f`rd|~HfdrtAJvpfHJtArdvnXZ|dXnvXQrbtp˂rdrtAے`JX|ZdQbp˂rJltے`JXQtArdfHfdrtA~v|ZdQbJ`ےdQZ|vXnZdQbtpvnltb~f`|lJv`frtAJlpfH~lJtAXQJ`ےdQZ|Qr˂ptlJXQJ`ےbdQZ|r˂p|ZdQbpvnJltpfے`tlJbHAZpdrtAJvpfHlJtAXv`fdQZ|vXntArd~HfptbdQf`vd|ZbHAZdrtAJZHAbfpvbHAZdrtAZHAbtlJrXQJ`bdQZ|JXQHAbtArd˂rXQltb~f`rd|~HfdrtAJvpfH|ZdQbvnv`Z|dXnvdQbtp˂rltbJXQrnXv`p˂rJltے`JXQtArdےHAZdrtAے`J|ZdQbJ`ےdQZ|vXnZdQbtpvnltb~f`tlJf~HrtAJlpfH~lJtArXQJ`ےdQZ|˂pZHAf~HXQJ`ےbdQZ|r˂p|ZdQbp˂rJltXQr˂tlJbHAZpdrtAJvpfےlJtAXv`fdQZ|vXntArdfpvtbdQf`vd|ZbHAZdrtAJbے`fpvbHAZdrtAZHAbtlJXQJ`ےbdQZ|pZHAbtArZd˂rXQltb`JXQrrd|~HfdrtAJvpfH|ZdQtAnXv`Z|dXnvdQbtlJtArp˂rl|dJXQrnXv`p˂rJltے`JXQtArdbHAZdrtAے`JQbtlJ`ےdQZ|˂pZZdQbtpvnltb~f`rd|ffpvrtAJlpfH~lJtArd|ZXQJ`ےrtAJl˂pZHAf~HXQJ`ےbdQZ|r˂p|ZdQbp˂rJltXQrJtArdbHAZpdrtAJHAbےlJtAXv`fdQZ|vXnZdQbtnrXQtbdQf`vd|ZdQbt璐bHAZtbdQbJQfpvbHAZdtAJZHAbtlJXQJ`ےbdQZ|ے`JXQ|Zd˂rXQltb`JXQrrd|~HfdrtAJvpfHlJtAJ`ےZ|dXnvdQbtlJtArp˂rZ|`vr˂pnXv`p˂rltbے`JXQtArdbHAZdrtAr˂pQbtlJ`ےdQZ|˂pZZdQbtpvnltb~f`rd|HAZp˂rtAJlpfH~lJtArd|ZXQJ`ےXnvZHAbf~HXQJ`ےnvpr˂p|ZdQbp˂rJltZHAbJtArdbHAZpdrtAJHAbےlJtAXv`fdQZ|vXnZdQbtrXQJtbdQf`vd|ZdQbt璐bHAZpfH~`JXQfpvbHAZfHfZHAbtlJXQJ`ےbdQZ|ے`JXQZQbt˂rXQltb`JXQrrd|HfpdrtAJvpfHd|Z`ےbZ|dXnvdQbtlJtArp˂rf`pr˂pnXv`p˂r`vXnے`JXQtArdbHAZdrtAr˂plJfJ`ےdQZ|˂pZZdQbtvnrltb~f`dQbtHAZp˂rtAJlpfH~lJtArd|ZXQJ`ےfH~ZHAbf~HXQJ`ےvpfr˂p|ZdQbp˂rJlt`JXQrpvnbHAZpdrtAJHAbےlJtAXQJ`ےdQZ|vXnlJtArrXQJtbdQf`vd|ZdQbt璐bHAZf`vX`JQrfpvbHAZH~fZHAbtlJXQJ`ےbdQZ|˂pZXv`f˂rXQltb`JXQrrd|HAZpdrtAJvpfHd|Z`ےbZ|dXnvdQbtlJtArd|ZHAZp˂rtAJlpfH~tArdXQJ`ے|drnvpbtlnXvtbdQZf`vXے`JXQvnXJltH~ftArdf~HXQJ`ےvpfr˂pnXv`p˂rnvp`JXQrpvnbHAZpHf`ZHAbH~ㅐfdQbt璀rXQJtbdQf`v|ZdQbbHAZtAJlfے`JJtArd`f~|drnvprbtv`fbdQZ|`vXn|ZdQbfpvbHAZH~fZHAbf~HXQJ`ےfH~˂pZXv`f˂rXQvXnے`JXQ`vXnlJtAr`ےbZ|dXnvtlJprQJ`tbdQZXQr˂|ZdQHfpvtAJlfH~lJtAdnXvdrtAvpftlJnXv`p˂r`vXnے`JXQfpvbHAZf`vXHAbے~HfJ`ےvpfHr˂pvˍpfd|ZHAZp˂rtAJlpfH~tArdےbH|drpZHAbbtlnXvtbdQZf`vX|ZdQ`f~JltH~ftArdf~HXQJ`ےvpfr˂pnXv`p˂rnvf`JXQrpvnbHAZp~f`ZHAbH~ㅐfdQbt璀rXQJtbdQf`v|ZdQbAZp˂tAJl璐ے`JJtArd`f~|drnvpbtlHfpvbdQZ|`vXn|ZdQbfpvJltH~fZHAbf~HXQJ`ے~f`˂pZXv`f˂rXQvXn˂pZ`vXnlJtAr`ےbZ|dXnvtd|rXQJ`tbdQZXQr˂|ZdQHfpvtAJlfH~JtArdnXvrAJl瀅vpftlJnXv`bdQZ|`vXnے`JXQfpvrXQvXnHAے`~HfJ`ےvpfHHAbےvˍpfd|ZHAZp˂rtAJlpfے`ZdQbtےbH|drpZHAbbtlnXvtbdQZf`vX|ZdQ`f~tbdQH~ftArdf~HdrtAvpfr˂pnXv`J`ےvpfHJXQrbpvnbHAZp~f``JXQrH~ㅐfdQbt璀rXQJtbdQJXQrlJtAAZp˂tAJl璐ے`JJtArd`fH|drnvpbtlHXv`Z|d`vXn|ZdQbfpvJltH~fZHAbf~HbHAZp~f`tlJXv`f˂rXQvXn˂pZ`vXnlJtAr`ےbZ|d˂pZHArd|rQJtbdQZXQr˂|ZdQfpvtAJlfH~JtArdf~HrtAJl瀅vpftlJnXv`bdQZ|`vXnے`JXQfpv˂rXQvXntAd|~HfJ`ےvpfHHAbےvˍpfd|ZHAZp˂rtAJlbے`ZdQbtbHAZp|drpZHAbbtlnrXQJtbdQZf`vX|ZdQfpvtbdQH~ftArdf~HdrtAvpfr˂pnXv`J`ےvpf~fZdQbtpvnbHAZp~f``pZHAH~ㅐfdQbt璀rXQJtbdQJXQrl|Z˂rXQtAJl璐ے`JJtArd`ےHA|drnvpbtlnXv`Z|dr`vXn|ZdQbfpvJltH~fZHAےf~HbHAXQJ`vXnlJtAXv`f˂rXQvXnbے``vXnlJtAr`ےbZ|d˂pZHAdQbtJ`ےtbdQZXQr˂|ZdQZp˂tAJlfH~JtArdf~HAJtbvpftlJnXv`bdQZ|`vXn`JXQrfpv`ےJlvpfrd|~HfJ`ےvpfHJXQrvˍpfd|ZHAZp˂rtAJlbے`lJtArbHAZp|drpZHAbbtlrXQJ`tbdQZf`vX|ZdQfp`fdQZ|ے`JXQtArdf~HdrtAvpfbtlnXv`tdrH~fZdQbtpvnbHAZp~f`˂p`ZH~ㅐfdQbt璀rXQJtbdQJXQrd|Z˂rXQtAJl璐ے`JJtArdےbHA|drnvpbtl~HfdrtAJr˂p|ZdQbfpvJltH~fJtAdf~HtAJl`vXnlJtAXv`f˂rXQvXnQXb㉀۝`vXnlJfp`ےbZ|d˂pZHAdQbtJbHAtbdQZXQr˂|ZdQZp˂tAJlfH~JtArdpvnltbZHAbtlJnXv`bdQZ|`vXn|ZdQbfpvtbdQZvpfrd|~HfJ`ےJvpfHpJAHrvˍpfvnXHAZp˂rtAJlbے`lJtAdQZp˂|dtApZHAbbtlrXQJ`tbdQZf`vX|ZdQXv`pdQZ|ے`JXQtArdf~HdrtAvpftlJnXv`|drH~fvXZdQbtpvnltb~f`ˁ`pH~ㅐfv`frXQJtbdQJXQrbtlrXQJ`Jltے`JJtArdےbHA|drnvpbtlvnrdrtAJr˂p|ZdQbfpvJltH~ftArdf~HtAJl璕nvplJtAXv`fdQZ|vXnJAHr󙐝`vXn~Hfp`ےbZ|d˂pZHAJtArdbHAbnvXQr˂|ZdQZp˂tAJlfے`JJtArdXQJ`pbdQZ|ZHAbtlJnXv`bdQZ|`vXn|ZdQbfpvtbdQtAfH~rd|~HfdrtAJvpfHˁ`ZQXvˍpfvnXHAZp˂rtAJlbے`|ZdQZp˂pfHpZHAbbtlrXQJ`tbdQZXQr˂|ZdQ˂rXQdrtے`JXQtArdfHfdrtAvpftlJnXv`Jltf`vXZdQbtpvnltb~f`b㉀ۑpH~ㅐfv`frXQJtbdQJXQrbtlrXQJ`f`vXے`JJtArdےbHA|drpZHAbbtlJ`ےAJltr˂p|ZdQbpvnJltH~ftArdf~HbdQZ|nvplJtAXv`fdQZ|vXnJAHr󙐝`vXn~Hfp`ےbZ|d˂pZHAJtArdbAZp˂nvpXQr˂|ZdQZp˂tAJl璐ے`JJtArdbHAZpbdQZ|ZHAbtlJrXQJ`bdQZ|`vXn|ZdQbfpvdrtAfH~rd|~HfdrtAJvpfHˁ`ZQXvˍp|vnXHAZp˂tAJlbے`tlJrXQJfH~pZHAbbtlrXQJ`tbdQZXQr˂|ZdQ`ےbdrtے`JXQtArdےHAZdrtAvpftlJnXv`JltfvnZdQbtpvnltb~f`AHr󙐂˂drQtv`frXQJtbnJXQrfpv`ےbf`vXے`JJtArdےbHA|drpZHAbbtlHAZp˂AJlbr˂p|ZdQbp˂rJltH~ftArdf~HbdQZ|vpfےlJtAXv`fdQZ|vXn`ZQXbJlt~Hfp`ےbvpfH˂pZHA~HfHAZp˂nvpXQr˂|ZdQZp˂tAJl璐ے`JJtArdrXQJQZ|dZHAbtlJXQJ`ےbdQZ|`vXn|ZdQbfpvltb`JXQrrd|~HfdrtAJvpfHۑpJbAdZ|vnXHAZp˂f`vbے`pvnrXQJfH~pZHAbbtlrXQJ`tbdQZXQr˂|ZdQ`ےbrtAJlے`JXQtArdbHAZdrtAvpftlJnXv`dQZ|˂pZZdQbtpvnltb~f`AHr󙐂˂drQtv`frXQJXnvJXQrXv`f`ےbAf`vXے`JJfpvےbHA|drpZHAbbtlHAZp˂tbdQr˂p|ZdQbp˂rJltH~ftArdf~HdrtAJHAbےlJtAXv`fdQZ|vXn`ZQXbJlt~Hfp`ےbpfH~˂pZHA~HfZrXnvpXQr˂nXvZp˂tAJl璐ے`JJtArdbHAZ|AJZHAbtlJXQJ`ےbdQZ|`vXn|ZdQbfpvltb`JXQrrd|~HfdrtAJvpfHˁ`bAdZ|vnXHAZp˂f`vbے`pvnQJ`ےfH~pZHAb`f~rXQJ`tbdQZXQr˂|ZdQZp˂ltbے`JXQtArdbHAZdrtAvpftlJnXv`dQZ|˂pZZdQbtpvnltb~f`ZQXb㉀drQtv`frXQJXnvJXQrXHfpbHAZpf`vXے`JHfpvےbHA|drpZHAbbtlrXQJ`nvpr˂p|ZdQbp˂rJltے`JXQtArdf~HdtbdQHAbےlJtAXv`fdQZ|vXnۑpJAHJlt~Hfp`ےbpfH~˂pZHAvnX˂rXnvpXQr˂nXvZp˂tAJl璐ے`JJtArdےbHAfHfZHAbtlJXQJ`ےbdQZ|r˂p|ZdQbfpvZ|d`JXQrrd|HfpdrtAJvpfHr󙐂ˁ`bAdZ|vnXHAZp˂f`vbے`v`fQJ`ےfH~pZHAb`f~rXQJ`tbdQZXQr˂|ZdQZp˂`vXnے`JXQtArdbHAZdrtAZHAbtlJnXv`rtAJl˂pZZdQbtvnrltb~f`ZQXb㉀drQtv`frXQJXnvJXQr~HfpbHAZf`vXے`JHfpvےbHA|dtApZHAbbtlrXQHAZvpfr˂p|ZdQbp˂rJltے`JXQtArdf~HtbdQHAbےlJtAXQJ`ےdQZ|vXnۑp`ZJlt~Hfp`ےbpfH~˂pZHAvnXrXQJ`nvpXQr˂nXvZp˂Jltے`JJtArdp˂rH~fZHAbtlJXQJ`ےbdQZ|r˂p|ZdQbfpvZ|d`JXQrrd|HAZpdrtAJvpfHQXb㉀bAdZ|vnXHAZp˂f`vbے`v`pvےJlfH~pZHAb`f~rXQJ`bnvXQr˂|ZdQXQJ`ے`vXnے`JXQtArdbHAZdrtAZHAbtlJnXv`rtAdQZ˂pZZdQbt˂rXQltb~f`pJAHrdrQtv`frXQJXnvJXQrnXvtbdQZf`vXے`JHfpvےbHApfHpZHAbbtlbHAZvpfr˂p|ZdQbp˂rJltے`JXQtArdfHf|drHAbےlJtAJ`ےdQZ|vXnˁ`ZJlt~Hfp`ےbpfH~˂pZHA`f~|drnvpXQr˂nXvZp˂f`vXے`JJtArdp˂rH~fZHAbtlJXQJ`ےbdQZ|r˂p|ZdQbpvntAJl`JXQrrd|bHAZpdrtAJvpfHQXb㉀bAdZ|vnXHAZp˂f`vbے`HfpvtAJlfH~pZHAb`f~rXQJ`nvpXQr˂|ZdQXQJ`p`vXnے`JXQfpvbHAZdrtAZHAbtlJrXQJ`tbdQZ˂pZZdQbt˂rXQltb~f`pJAHQXdrQtv`frXQJXnvJXQrnXvtbdQZf`vXے`JHfpvےbHAfH~pZHAbbtl˂rXQvpfr˂pnXv`p˂rJltے`JXQtArdp˂r|drHAbےlJtAJ`ےdQZ|vXnb㉀ۑpJlt~Hfp`ےJlpfH~˂pZHA`f|drnvpXQr˂nXvZp˂f`vXے`JJtArdJ`ےH~fZHAbf~HXQJ`ےbdQZ|r˂p|ZdQbXQJ`ےtAJl|`JXQrrd|bHAZpdrtAJvpfZJAHrbAdZ|vnXtbdQf`vbے`nXv`tAJlfH~pZHA`f~rXQJ`nvpXQr˂|ZdQbHAZp`vXnے`JXQfpvbHAZdrtAZHAbtlJbHAZdrtA˂pZZdQbt˂rXQltbHAbےˁ`ZQXdrQtv`fZ|dXnvJXQrf~HtbdQZf`vXے`JXQHfpvےbHAfH~pZHAbbtl˂rXQvpfr˂pnXv`p˂rJltے`JXQtArdp`ےJltHAbےlJtAJ`ےdQZ|`JXQrb㉀ۑpJlt~HfprtAJlpfH~˂pZHAfpv|drnvprbt璀nXvZp˂f`vXے`JJfpvJ`ےH~fZHAbf~HXQJ`ےbdQZ|r˂p|ZdQbbHAZpbdQZ|`JXQrrd|bHAZpdrtAJ˂pZJAHfbAdZ|vnXtbdQf`vbے`nXv`tAJlfH~lJtAd`f~rXQJ`nvpXQr˂~HrXQJ`vXnے`JXQfpvbHAZdtAJZHAbtlJ˂rXQltb˂pZZdQbt˂rXQltbHAbے`vXndrQtv`fZ|dXnvJXQrf~HtbdQZf`vX|ZdQHfpvےbHAfH~pZHAbfpv`ےbvpfr˂pnXv`p˂rltbے`JXQtArdJ`ےnvpHAbےlJtAJ`ےdQZ|`JXQrvˍpfJlt~HfprtAJlpfH~˂pZHAXv`f|drnvpbtlnXvZp˂f`vXے`JnXv`HAZp˂H~fZHAbf~HXQJ`ےnvpr˂p|ZdQbbHAZpff`v`JXQrrd|bHAZpdrtAJے`H~ㅐfbAdZ|vnXtbdQf`vے`J~HftAJlfH~JtArd`f~rXQJ`nvpXQr˂f~HrXQJ`vXnے`JXQfpvbHAZfHfZHAbtlJ˂bXnv˂pZZdQbt˂rXQltbJXQr`vXndrQtv`fZ|dXnvXQrbtpvntbdQZf`vX|ZdQHfpvےbHAfH~pZHAbfpv`ےbvpfr˂pnXv`p˂r`vXnے`JXQtArdHAZp˂pfH~HAbےlJfJ`ےdQZ|˂pZHAvˍpfJlt~HfprtAJlpfH~l|ZXv`f|drnvpbtlnXvZp˂f`vXے`JnXHfHAXQJ`H~fZHAbf~HXQJ`ےvpfr˂p|ZdQbrXQJf`v`JXQrpvnbHAZpdrtAJbے`H~ㅐfbAdZ|vnXtbdQf`vdQbt璐~HftAJlfH~JtArd`f~rXQJ`nvpXQr˂pvnےJl`vXnے`JXQfpvbHAZH~fZHAbtlJ`ےbnvpfH˂pZXv`f˂rXQltbJXQr`vXndrQtv`fZ|dXnvlJtArp`ftbdQZf`vX|ZdQHfpvےJlfH~pZHAbXv`ftbQZdvpfr˂pnXv`p˂r`vXnے`JXQtArdHAZp˂~f`HAbے~HfJ`ےdQZ|˂p`JvˍpfJlt~HfprtAJlpfH~d|l~Hfp|drnvpbtlnXvtbdQZf`vXے`J~HfrtAJlH~fZHAےf~HXQJ`ےvpfr˂p|ZdQbrXQHAvXn`JXQrpvnbHAZpdrtAJXQr˂H~ㅐfbAdZ|vnXtbdQf`vJtArdvnXtAJlfH~JtArd`f~|drnvpXQr˂pvntbd`vXn`JXQrfpvbHAZH~fZHAbtlJZp˂vpfH˂pZXv`f˂rXQltbpZHAb`vXndrQtv`fZ|dXnv|ZdQv`pvtbdQZf`vX|ZdQHfpvtAJlfH~pZHAbXv`pQZ|dvpfbtlnXv`p˂r`vXnے`JXQfpvrXQJ`~f`HAbے~HfJ`ےdQZ|ے`JvˍpfJltHfpvrtAJlpfH~btlnrXQ|drnvpbtlnXvtbdQZf`vXے`JvnXrtAJlH~fJtAdf~HXQJ`ےvpfr˂pnXv`ےbHAvXnv`JXQrpvnbHAZpdtAJlXQr˂H~ㅐfbAdZ|nrXQtbdQf`vJtArdJ`AZtAJlfH~JtArd`f~|drnvpXQr˂v`ftbd`vXn|ZdQbfpvbHAZH~fZHAbf~HZp˂fH~˂pZXv`f˂rXQtbnpZHAXQ`vXndrQtJ`ےZ|dXnv|ZdQp˂rtbdQZf`vX|ZdQHfpvtAJlfH~pZHA~HfpQZrtAvpftlJnXv`p˂r`vXnے`JXQfpvrXQJ`f`vXHAbے~HfJ`ےvpfr˂pvˍpfJlt66666666666666666666666666666666666666666666667777777777 \ No newline at end of file diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv37_0.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv37_0.dat deleted file mode 100644 index d670ed0619..0000000000 --- a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv37_0.dat +++ /dev/null @@ -1,329 +0,0 @@ -~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijifefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQNMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABA~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijihgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQNMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABA~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmlklklklkhghghgggfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQNMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABA~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmlklklklkggghghghfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQNMMMMMMNLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABA~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmlklklklkghghghghfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQMNMNMNMNLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABA~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmlklklklkghghghghfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQMNMNMNMNLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABA~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmlklklklkghghghghfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQMNMNMNMNLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABA~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmlklklklkghghghghfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQMNMNMNMNLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABA~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmlklklklkghghggggfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSPOPOPOPOMNMNMNMNLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABA~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmlklklklkgghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSPOPOPOPOMMMMMMNMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABA~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmlklklklkhghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABA~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmlklklklkhghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABA~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmlkjijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABA~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABA~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmjijijijihghgggggfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABA~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmjijijijighghghghfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSPOPOPOPOMMMMMNMNLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABA~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmjijijijighghghghfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSPOPOPOPOMNMNMNMNLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABA~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmjijijijighghghghfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSPOPOPOPOMNMNMNMNLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABA~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmjijijijighghghghfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSRQRQPOPOPOPOMNMNMNMNLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABA~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmjijijijighghghghfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVURQRQRQRQPOPOPOPOMNMNMNMNLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABA~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmjijijijighggggggfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUTSTSRQRQRQRQPOPOPOPOMNMNMNMMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABA~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWTSTSTSTSRQRQRQRQPOPOPOPOMMMMNMNMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABA~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmlkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBA@?@?@?~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopopolklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDC@?@?@?@?~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopoponmlklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCBABABA@?@?@?@?~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqnmnmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[XWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEBABABABA@?@?@?@?~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqponmnmnmnmlklklklkjijijijihgggggghfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[ZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMMMLKLKLKLKJIJIJIJIHGHGHGHGFEDCDCDCBABABABA@?@?@?@?~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststspopopoponmnmnmnmlklklklkjijijijighghghghfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPOMMMNMNMNLKLKLKLKJIJIJIJIHGHGHGHGDCDCDCDCBABABABA@?@?@?@?~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutststsrqpopopoponmnmnmnmlklklklkjijijijighghghghfefefefedcdcdcdcbabababa`_`_`_`_^]^]\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPOMNMNMNMNLKLKLKLKJIJIJIJIHGFEFEFEDCDCDCDCBABABABA@?@?@?@?~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvurqrqrqrqpopopoponmnmnmnmlklklklkjijijijighghghghfefefefedcdcdcdcbabababa`_`_`_`_\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPOMNMNMNMNLKLKLKLKJIJIJIJIFEFEFEFEDCDCDCDCBABABABA@?@?@?@?@?@?@?@?~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvutsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijighghghghfefefefedcdcdcdcbabababa`_`_^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPOMNMNMNMNLKLKLKLKJIHGHGHGFEFEFEFEDCDCDCDCBABABABA@?@?@?@?@?@?@?@?~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwtstststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijighghghghfefefefedcdcdcdcbabababa^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPOMNMNMNMNLKLKLKLKHGHGHGHGFEFEFEFEDCDCDCDCBABABABA@?@?@?@?@?@?@?@?~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwvutstststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijigggggghgfefefefedcdcdcdcbaba`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPOMNMNMMMMLKJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABA@?@?@?@?@?@?@?@?~}~}~}~}|{|{|{|{zyzyzyzyvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdc`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPOMMNMNMNMJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABA@?@?@?@?@?@?@?@?~}~}~}~}|{|{|{|{zyzyzyxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijihghghghgfefefefedcdcbaba`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABA@?@?@?@?@?@?@?@?~}~}~}~}|{|{|{|{xwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijihghghghgfefefefebabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPOLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABA@?@?@?@?@?@?@?@?~}~}~}~}|{|{|{zyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijihghghghgfefedcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPOLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABA@?@?@?@?@?@?@?@?~}~}~}~}zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijigggghghgdcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPOLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABA@?@?@?@?@?@?@?@?~}~}~}|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijihghgfefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPOLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABA@?@?@?@?@?@?@?@?|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijifefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPOLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABA@?@?@?@?@?@?@?@?~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijifefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPONMNMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABA@?@?@?@?@?@?@?@?~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijifefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQNMNMMMMMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABA@?@?@?@?@?@?@?@?~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijifefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQNMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABA@?@?@?@?@?@?@?@?@?@?@?@?>=>=>=>=<;<;<;<;:98787876565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%"!"!"!"!     - - - - @?@?@?@?>=>=>=>=<;<;<;<;878787876565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%"!"!"!"!     - - - - @?@?@?@?>=>=>=>=<;:9:9:9878787876565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"!        - - - - @?@?@?@?>=>=>=>=:9:9:9:9878787876565656543434333212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"!        - - - - @?@?@?@?>=<;<;<;:9:9:9:9878787876565656533343434212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#"!"!"!"!        - - - - @?@?@?@?<;<;<;<;:9:9:9:9878787876565656534343434212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#"!"!"!"!        - - - - @?>=>=>=<;<;<;<;:9:9:9:9878787876565656534343434212121210/0/0/0/.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - >=>=>=>=<;<;<;<;:9:9:9:9878787876565656534343434212121210/0/0/0/.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - >=>=>=>=<;<;<;<;:9:9:9:9878787876565656534343434212121210/0/0/0/.-.-.-.-*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - >=>=>=>=<;<;<;<;:9:9:9:9878787876565656534343333212121210/0/0/0/.-.-.-.-*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - >=>=>=>=<;<;<;<;:9:9:9:9878787876565656533434343212121210/0/0/0/,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - >=>=>=>=<;<;<;<;:9:9:9:9878787876565656543434343212121210/0/0/0/,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - >=>=>=>=<;<;<;<;:9:9:9:987878787656565654343434321212121.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - >=>=>=>=<;<;<;<;:9:9:9:987878787656565654343434321212121.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - >=>=>=>=<;<;<;<;:9:9:9:98787878765656565434333330/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - >=>=>=>=<;<;<;<;:9:9:9:98787878765656565434343430/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - >=>=>=>=<;<;<;<;:9:9:9:98787878765656565212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - >=>=>=>=<;<;<;<;:9:9:9:98787878765656565212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - >=>=>=>=<;<;<;<;:9:9:9:98787878765656565212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - >=>=>=>=<;<;<;<;:9:9:9:98787878765656565212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - >=>=>=>=<;<;<;<;:9:9:9:98787878765656565212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - >=>=>=>=<;<;<;<;:9:9:9:98787878765656565212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - >=>=>=>=<;<;<;<;:9:9:9:98787878765434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - >=>=>=>=<;<;<;<;:9:9:9:98787878743333334212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - >=>=>=>=<;<;<;<;:9:9:9:98787878734343434212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - >=>=>=>=<;<;<;<;:9:9:9:98787878734343434212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - >=>=>=>=<;<;<;<;:9:9:9:98787878734343434212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - >=>=>=>=<;<;<;<;:9:9:9:98787878734343434212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - >=>=>=>=<;<;<;<;:9:9:9:98787878734343434212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - >=>=>=>=<;<;<;<;:9:9:9:98787878733333343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - >=>=>=>=<;<;<;<;:9:9:9:98787878743434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - >=>=>=>=<;<;<;<;:9:9:9:98787878743434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - >=>=>=>=<;<;<;<;:9:9:9:98787876543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - >=>=>=>=<;<;<;<;:9:9:9:96565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - >=>=>=>=<;<;<;<;:9:9:9:96565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - >=>=>=>=<;<;<;<;:9:9:9:96565656533333434212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - >=>=>=>=<;<;<;<;:9:9:9:96565656534343434212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - >=>=>=>=<;<;<;<;:9:9:9:96565656534343434212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - >=>=>=>=<;<;<;<;:9:9:9:96565656534343434212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - >=>=>=>=<;<;<;<;:9:9:9:96565656534343434212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!    >=>=>=>=<;<;<;<;:9:9:9:96565656534343433212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!    - >=>=>=>=<;<;<;<;:9:9:9:96565656533334343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#        - - - - >=>=>=>=<;<;<;<;:9:9:9:96565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#       - - - - zzyyxxwwffggmmnn!!""##$$||{{zzyy11223344llkkjjiiTTUUVVWW!!  - - **++,,--ssrrqqpp::;;<<==ccbbaa``JJKKLLMM??>>==<<##$$%%&&zzyyxxww33445566jjiihhggCCDDEEFFZZYYXXWWSSTTUUVVJJIIHHGG{{||}}~~ ~~,,--..//qqppoonn<<==>>??aa``__^^LLMMNNOO vvuuttssooppqqrr%%&&''((xxwwvvuu55667788hhggffeeXXYYZZ[[ !!~~}}||..//0011oonnmmll>>??@@AA__^^]]\\NNOOPPQQ;;::9933''(())**vvuuttss778899::ffeeddccGGHHIIJJVVUUTTSSWWXXYYZZFFEEDDCC}}||{{zz00112233mmllkkjj@@AABBCC]]\\[[ZZPPQQRRSS!!""##$$rrqqppoossttuuvv - - ))**++,,ttssrrqq99::;;<>bbaa``__KKLLMMNNRRQQPPOO[[\\]]^^BBAA@@??yyxxwwvv44556677iihhggffDDEEFFGGYYXXWWVVTTUUVVWW%%&&''((nnmmggffwwxxyyzz - -  ~~}}--..//00ppoonnmm==>>??@@``__^^]]``aabbcc &&''(())wwvvuutt66778899ggffeeddFFGGHHIIWWVVUUTTVVWWXXYY..--,,++ !!""~~}}||{{//001122nnmmllkk??@@AABB^^]]\\[[OOPPQQRRNNMMLLKK__``aabb>>==<<;;uuttssrr8899::;;eeddccbbHHIIJJKKUUTTSSRRXXYYZZ[[))**++,,eeddccbb{{||}}~~ !!""##$$||{{zzyy11223344llkkjjiiAABBCCDD\\[[ZZYYddeeffgg - - **++,,--ssrrqqpp::;;<<==ccbbaa``JJKKLLMMSSRRQQPPZZ[[\\]]**))((''##$$%%&&zzyyxxww33445566jjiihhggCCDDEEFFZZYYXXWWSSTTUUVVJJIIHHGGccddeeff::998877 !!""#qqppoonn<<==>>??aa``__^^LLMMNNOOQQPPOONN\\]]^^__--..//00aa``__^^%%&&''((xxwwvvuu55667788hhggffeeEEFFGGHHXXWWVVUUmmnnoopp !!~~}}||..//0011oonnmmll>>??@@AA__^^]]\\NNOOPPQQOONNMMLL^^__``aa&&%%$$##''(())**vvuuttss778899::ffeeddccGGHHIIJJVVUUTTSSWWXXYYZZFFEEDDCCgghhiijj66554433#$$%%&&'mmllkkjj@@AABBCC]]\\[[ZZPPQQRRSSMMLLKKJJ``aabbcc11223344]]\\[[ZZ - - ))**++,,ttssrrqq99::;;<>bbaa``__KKLLMMNNRRQQPPOO[[\\]]^^BBAA@@??kkllmmnn221100//'(())**+iihhggffDDEEFFGGYYXXWWVVTTUUVVWWIIHHGGFFddeeffgg55667788YYXXWWVV  ~~}}--..//00ppoonnmm==>>??@@``__^^]]MMNNOOPPPPOONNMMuuvvwwxx - -&&''(())wwvvuutt66778899ggffeeddFFGGHHIIWWVVUUTTVVWWXXYYGGFFEEDDffgghhii//001122nnmmllkk??@@AABB^^]]\\[[OOPPQQRRNNMMLLKK__``aabb>>==<<;;ooppqqrr..--,,+++,,--../eeddccbbHHIIJJKKUUTTSSRRXXYYZZ[[EEDDCCBBhhiijjkk99::;;<>llmmnnoo~~}}==>>??@@LLKKJJII%%&&''((xxwwvvuu55667788hhggffeeEEFFGGHHXXWWVVUUUUVVWWXXHHGGFFEE}}~~~~}}||..//0011oonnmmll>>??@@AA__^^]]\\NNOOPPQQOONNMMLL^^__``aa??>>==<>bbaa``__KKLLMMNNRRQQPPOO[[\\]]^^BBAA@@??kkllmmnn221100//{{||}}~~""!! ::;;<<==YYXXWWVVTTUUVVWWIIHHGGFFddeeffgg99887766ttuuvvwwxxwwvvuuEEFFGGHHDDCCBBAA ~~}}--..//00ppoonnmm==>>??@@``__^^]]MMNNOOPPPPOONNMM]]^^__``@@??>>==wwvvuutt66778899ggffeeddFFGGHHIIWWVVUUTTVVWWXXYYGGFFEEDDffgghhii77665544vvwwxxyy zzyyxxww??@@AABB^^]]\\[[OOPPQQRRNNMMLLKK__``aabb>>==<<;;ooppqqrr..--,,++>>??@@AAUUTTSSRRXXYYZZ[[EEDDCCBBhhiijjkk55443322xxyyzz{{ttssrrqqIIJJKKLL@@??>>==!!""##$$||{{zzyy11223344llkkjjiiAABBCCDD\\[[ZZYYQQRRSSTTLLKKJJIIaabbccdd<<;;::99 !ssrrqqpp::;;<<==ccbbaa``JJKKLLMMSSRRQQPPZZ[[\\]]CCBBAA@@jjkkllmm33221100zz{{||}}vvuuttssCCDDEEFFZZYYXXWWSSTTUUVVJJIIHHGGccddeeff::998877ssttuuvv**))((''BBCCDDEEQQPPOONN\\]]^^__AA@@??>>llmmnnoo1100//..||}}~~ppoonnmmMMNNOOPP<<;;::99%%&&''((xxwwvvuu55667788hhggffeeEEFFGGHHXXWWVVUUUUVVWWXXHHGGFFEEeeffgghh88776655!""##$$%oonnmmll>>??@@AA__^^]]\\NNOOPPQQOONNMMLL^^__``aa??>>==<>??@@``__^^]]MMNNOOPPPPOONNMM]]^^__``@@??>>==mmnnoopp00//..--)**++,,-ggffeeddFFGGHHIIWWVVUUTTVVWWXXYYGGFFEEDDffgghhii77665544vvwwxxyy''&&%%$$hggffeedOOPPQQRRNNMMLLKK__``aabb>>==<<;;ooppqqrr..--,,++ ~~}}||{{NOPQRSSTEEDDCCBBhhiijjkk55443322xxyyzz{{%%$$##""ddccbbaaYYZZ[[\\++**))((11223344llkkjjiiAABBCCDD\\[[ZZYYQQRRSSTTLLKKJJIIaabbccdd<<;;::99qqrrsstt,,++**))-..//001ccbbaa``JJKKLLMMSSRRQQPPZZ[[\\]]CCBBAA@@jjkkllmm33221100zz{{||}}##""!! dccbbaa`SSTTUUVVJJIIHHGGccddeeff::998877ssttuuvv**))(('' - - zzyyxxwwTUUVVWWXAA@@??>>llmmnnoo1100//..||}}~~!! ``__^^]]]]^^__``''&&%%$$55667788hhggffeeEEFFGGHHXXWWVVUUUUVVWWXXHHGGFFEEeeffgghh88776655uuvvwwxx((''&&%%12233456__^^]]\\NNOOPPQQOONNMMLL^^__``aa??>>==<>??@@``__^^]]MMNNOOPPPPOONNMM]]^^__``@@??>>==mmnnoopp00//..--}}~~ <<==>>??WWVVUUTTVVWWXXYYGGFFEEDDffgghhii77665544vvwwxxyy''&&%%$$%%&&''((XWWVVUUT__``aabb>>==<<;;ooppqqrr..--,,++  - -nnmmggff`aabbccd55443322xxyyzz{{%%$$##""TTSSRRQQiijjkkll~~}}||AABBCCDD\\[[ZZYYQQRRSSTTLLKKJJIIaabbccdd<<;;::99qqrrsstt,,++**))@@AABBCCSSRRQQPPZZ[[\\]]CCBBAA@@jjkkllmm33221100zz{{||}}##""!! ))**++,,TSSRQPONccddeeff::998877ssttuuvv**))(('' - -  eeddccbbdeeffggh1100//..||}}~~!! PPOONNMMmmnnoopp{{zzyyxxEEFFGGHHXXWWVVUUUUVVWWXXHHGGFFEEeeffgghh88776655uuvvwwxx((''&&%%DDEEFFGGOONNMMLL^^__``aa??>>==<>==mmnnoopp00//..--}}~~  ~~}}LLMMNOPQGGFFEEDDffgghhii77665544vvwwxxyy''&&%%$$::;;<<==EEDDCCBBooppqqrr..--,,++ YYXXWWVVssttuuvv%%$$##""DDCCBBAAyyzz{{|| oonnmmlkQQRRSSTTLLKKJJIIaabbccdd<<;;::99qqrrsstt,,++**)) - - ||{{zzyyRSSTTUUVCCBBAA@@jjkkllmm33221100zz{{||}}##""!! >>??@@AAAA@@??>>ssttuuvv**))(('' - -  - - !!""##UUTTSSMMwwxxyyzz!! @@??>>==}}~~jihggffeUUVVWWXXHHGGFFEEeeffgghh88776655uuvvwwxx((''&&%%xxwwvvuuVWWXXYYZ??>>==<>==mmnnoopp00//..--}}~~  ppoonnmm^__``aab77665544vvwwxxyy''&&%%$$ - - JJKKLLMM3221100/ ,,--..//DDCCBBAA 44332211 !!""##]\\[[ZZYaabbccdd<<;;::99qqrrsstt,,++**)) - - - - ggffeeddbccddeef33221100zz{{||}}##""!! SSTTUUVV/..--,,+ - -  - -00112233@@??>>==00//..--$$%%&&''YXXWWVVUeeffgghh88776655uuvvwwxx((''&&%% ccbbaa``fgghijkl//..--,,~~ ~~WWXXYYZZ+**))((' 99::;;<<<<;;::99 - -QQPPOONN,,++**))(())**++UTTSSRQPiijjkkll44332211yyzz{{||$$##""!!__^^]]\\mmnnoopp++**))(( - -  }}||{{zz[[\\]]^^'&&%%$$# !!""~~}}||{{==>>??@@33221100  - - MMLLKKJJ((''&&%%,,--..//ONMMLLKKmmnnoopp00//..--}}~~  [[ZZYYXXqqrrsstt''&&%%$$ - - yyxxwwvv__``aabb#""!!  ##$$%%&&zzyyxxwwAABBCCDD//..--,, ~~IIHHGGFF$$##""!!00112233JJIIHHGGqqrrsstt,,++**)) - -  !!WWVVUUTTuuvvwwxx##""!!  !!uuttssrrccddeeff - -  - -''(())**vvuuttssEEFFGGHH++**))(( !!""##}}||{{zzEEDDCCBB 99::;;<>==>>??@@BBAA@@??yyzz{{||$$##""!! &&''(())JJIIHHGG}}~~ - -  &&''(())mmggffeeppqqrrss !!""~~}}||{{//001122nnmmllkkMMSSTTUU##""!!  - - (())**++uuttssrr==<<;;::AABBCCDD>>==<<;;}}~~  **++,,--FFEEDDCC - - **++,,--ddccbbaattuuvvww ##$$%%&&zzyyxxww33445566jjiihhggVVWWXXYY ~~,,--..//qqppoonn99887766EEFFGGHH::998765 - - ..//0011BBAA@@?? !!~~}}||..//0011``__^^]]xxyyzz{{ - -  - -''(())**vvuuttss778899::ffeeddccZZ[[\\]] !!""##}}||{{zz00112233mmllkkjj55443322 IIJJKKLL43322110 - - 223399::>>==<<;; ""##$$%%{{zzyyxx22334455\\[[ZZYY||}}~~ ++,,--..rrqqppoo;;<<==>>bbaa``__^^__``aa$$%%&&''yyxxwwvv44556677iihhggff1100//.. - - MMSSTTUU0//..--,  ~~}};;<<==>>::993322 - -  &&''(())wwvvuutt66778899XXWWVVUU !!""~~}}||{{//001122nnmmllkk??@@AABB^^]]\\[[bbccddee (())**++uuttssrr8899::;;eeddccbb--,,++** - - VVWWXXYY,++**))( !!""##$$||{{zzyy??@@AABB1100//.. - - **++,,--ssrrqqpp::;;<<==TTSSMMLL##$$%%&&zzyyxxww33445566jjiihhggCCDDEEFFZZYYXXWWffggmmnn - - ~~,,--..//qqppoonn<<==>>??aa``__^^))((''&& ZZ[[\\]](''&&%%$ - - %%&&''((xxwwvvuuCCDDEEFF--,,++** !!~~}}||..//0011oonnmmll>>??@@AAKKJJIIHH - -''(())**vvuuttss778899::ffeeddccGGHHIIJJVVUUTTSSooppqqrr !!""##}}||{{zz00112233mmllkkjj@@AABBCC]]\\[[ZZ%%$$##""^^__``aa$##""!!  - - ))**++,,ttssrrqqGGHHIIJJ))((''&&""##$$%%{{zzyyxx22334455kkjjiihhBBCCDDEEGGFFEEDD ++,,--..rrqqppoo;;<<==>>bbaa``__KKLLMMNNRRQQPPOOssttuuvv$$%%&&''yyxxwwvv44556677iihhggffDDEEFFGGYYXXWWVV!! ~~}}||{{bbccddee   ~~}}--..//00ppoonnmmKKLLMMSS%%$$##"" &&''(())wwvvuutt66778899ggffeeddFFGGHHIICCBBAA@@ !!""~~}}||{{//001122nnmmllkk??@@AABB^^]]\\[[OOPPQQRRNNMMLLKKwwxxyyzz - - (())**++uuttssrr8899::;;eeddccbbHHIIJJKKUUTTSSRR 3399::;;GGFFEEDDmmnnoopp00//..--}}~~  [[ZZYYXXqqrrsstt''&&%%$$ - - ZZ[[\\]]##""!! <<==>>??CCBBAA@@qqrrsstt,,++**)) - -  !!WWVVUUTTuuvvwwxx##""!! ^^__``aa@@AABBCC??>>==<>==<<;; ""##$$%%nnmmggffwwxxyyzz - - ~~}}||YYZZ[[\\)((''&&%  ~~}};;<<==>>::993322 - -  &&''(())eeddccbb{{||}}~~ - -  - - {{zzyyxx]]^^__``%$$##""! !!""##$$||{{zzyy??@@AABB1100//.. - - **++,,--aa``__^^ wwvvuuttaabbccdd!  - - %%&&''((xxwwvvuuCCDDEEFF--,,++** !!~~}}||..//0011]]\\[[ZZ !!""##ssrrqqppeeffggmm - - ))**++,,ttssrrqqGGHHIIJJ))((''&&""##$$%%{{zzyyxx22334455YYXXWWVV$$%%&&''oonnmmggnnooppqq  ~~}}--..//00ppoonnmmKKLLMMSS%%$$##"" &&''(())wwvvuutt66778899UUTTSSMM(())**++ffeeddccrrssttuu!!""##$$||{{zzyy11223344llkkjjiiTTUUVVWW!!  - - **++,,--ssrrqqpp::;;<<==LLKKJJII !!~~,,--..//bbaa``__vvwwxxyy %%&&''((xxwwvvuu55667788hhggffeeXXYYZZ[[ !!~~}}||..//0011oonnmmll>>??@@AAHHGGFFEE""##$$%% !!""##}}||{{zz00112233^^]]\\[[zz{{||}} - -  - - ))**++,,ttssrrqq99::;;<>??@@``__^^]]``aabbcc &&''(())wwvvuutt66778899ggffeeddFFGGHHII@@??>>==**++,,--(())**++uuttssrr8899::;;VVUUTTSS!!""##$$||{{zzyy11223344llkkjjiiAABBCCDD\\[[ZZYYddeeffgg - - **++,,--ssrrqqpp::;;<<==ccbbaa``JJKKLLMM<<;;::99..//0011,,--..//qqppoonn<<==>>??MMLLKKJJ%%&&''((xxwwvvuu55667788hhggffeeEEFFGGHHXXWWVVUUmmnnoopp !!~~}}||..//0011oonnmmll>>??@@AA__^^]]\\NNOOPPQQ332211002233445500112233mmllkkjj@@AABBCCIIHHGGFF - - ))**++,,ttssrrqq99::;;<>??@@``__^^]]MMNNOOPPPPOONNMMuuvvwwxx - -&&''(())wwvvuutt66778899ggffeeddFFGGHHIIWWVVUUTTVVWWXXYY++**))((::;;<<==8899::;;eeddccbbHHIIJJKKAA@@??>>!!""##$$||{{zzyy11223344llkkjjiiAABBCCDD\\[[ZZYYQQRRSSTTLLKKJJIIyyzz{{|| **++,,--ssrrqqpp::;;<<==ccbbaa``JJKKLLMMSSRRQQPPZZ[[\\]]''&&%%$$~~}}||>>??@@AA<<==>>??aa``__^^LLMMNNOO==<<;;::%%&&''((xxwwvvuu55667788hhggffeeEEFFGGHHXXWWVVUUUUVVWWXXHHGGFFEE}}~~~~}}||..//0011oonnmmll>>??@@AA__^^]]\\NNOOPPQQOONNMMLL^^__``aa##""!! {{zzyyxxBBCCDDEE@@AABBCC]]\\[[ZZPPQQRRSS99332211))**++,,ttssrrqq99::;;<>??@@``__^^]]MMNNOOPPPPOONNMM]]^^__``@@??>>==wwvvuutt66778899ggffeeddFFGGHHIIWWVVUUTTVVWWXXYYGGFFEEDDffgghhiissrrqqppJJKKLLMMHHIIJJKKUUTTSSRRXXYYZZ[[,,++**))!!""##$$||{{zzyy11223344llkkjjiiAABBCCDD\\[[ZZYYQQRRSSTTLLKKJJIIaabbccdd<<;;::99 !ssrrqqpp::;;<<==ccbbaa``JJKKLLMMSSRRQQPPZZ[[\\]]CCBBAA@@jjkkllmmoonnmmllNNOOPPQQLLMMNNOOQQPPOONN\\]]^^__((''&&%%%%&&''((xxwwvvuu55667788hhggffeeEEFFGGHHXXWWVVUUUUVVWWXXHHGGFFEEeeffgghh88776655!""##$$%oonnmmll>>??@@AA__^^]]\\NNOOPPQQOONNMMLL^^__``aa??>>==<>??@@``__^^]]MMNNOOPPPPOONNMM]]^^__``@@??>>==mmnnoopp00//..--)**++,,-ggffeeddFFGGHHIIWWVVUUTTVVWWXXYYGGFFEEDDffgghhii77665544vvwwxxyy ccbbaa``ZZ[[\\]]XXYYZZ[[EEDDCCBBhhiijjkk11223344llkkjjiiAABBCCDD\\[[ZZYYQQRRSSTTLLKKJJIIaabbccdd<<;;::99qqrrsstt,,++**))-..//001ccbbaa``JJKKLLMMSSRRQQPPZZ[[\\]]CCBBAA@@jjkkllmm33221100zz{{||}}__^^]]\\^^__``aa\\]]^^__AA@@??>>llmmnnoo55667788hhggffeeEEFFGGHHXXWWVVUUUUVVWWXXHHGGFFEEeeffgghh88776655uuvvwwxx((''&&%%12233456__^^]]\\NNOOPPQQOONNMMLL^^__``aa??>>==<>??@@``__^^]]MMNNOOPPPPOONNMM]]^^__``@@??>>==mmnnoopp00//..--}}~~ <<==>>??WWVVUUTTVVWWXXYYGGFFEEDDffgghhii77665544vvwwxxyy''&&%%$$ !!""##SSRRQQPPjjkkllmmhhiijjkk55443322xxyyzz{{xxwwvvuuAABBCCDD\\[[ZZYYQQRRSSTTLLKKJJIIaabbccdd<<;;::99qqrrsstt,,++**))@@AABBCCSSRRQQPPZZ[[\\]]CCBBAA@@jjkkllmm33221100zz{{||}}##""!! $$%%&&''OONNMMLLnnooppqqllmmnnoo1100//..||}}~~ ttssrrqqEEFFGGHHXXWWVVUUUUVVWWXXHHGGFFEEeeffgghh88776655uuvvwwxx((''&&%%DDEEFFGGOONNMMLL^^__``aa??>>==<>==mmnnoopp00//..--}}~~  ~~}}LLMMNOPQGGFFEEDDffgghhii77665544vvwwxxyy''&&%%$$00112233CCBBAA@@zz{{||}}xxyyzz{{%%$$##""feeddccbQQRRSSTTLLKKJJIIaabbccdd<<;;::99qqrrsstt,,++**)) - - ||{{zzyyRSSTTUUVCCBBAA@@jjkkllmm33221100zz{{||}}##""!! 99::;;<>==<<~~||}}~~!! baa``__^UUVVWWXXHHGGFFEEeeffgghh88776655uuvvwwxx((''&&%%xxwwvvuuVWWXXYYZ??>>==<>??@@;;::9988 !!""^]]\\[[ZYYZZ[[\\DDCCBBAAiijjkkll44332211yyzz{{||$$##""!!ttssrrqqZ[[\\]]^;;::9988rrssttuu++**))(( - - AABBCCDD77665544##$$%%&&ZYYXXWWV]]^^__``@@??>>==mmnnoopp00//..--}}~~  ppoonnmm^__``aab77665544vvwwxxyy''&&%%$$EEFFGGHH33221100''(())**VUUTTSSRaabbccdd<<;;::99qqrrsstt,,++**)) - - - - ggffeeddbccddeef33221100zz{{||}}##""!! IIJJKKLL//..--,,++,,--..QPONMMLLeeffgghh88776655uuvvwwxx((''&&%% ccbbaa``fgghijkl//..--,,~~ MMSSTTUU++**))(( - -//001122KKJJIIHHiijjkkll44332211yyzz{{||$$##""!!__^^]]\\mmnnoopp++**))(( - -  VVWWXXYY''&&%%$$ZHAbtlJvnXbHAXQJtbdQZvpfbtlnXv`bHAZdrtA`vXnے`JXQtlJnXv`rXQJ`|dtHAbےZdQbtpvnJ`ےdQZ|~f`HAbےZdQbtpvnJ`ےltb`vXHd|Z~HfprXQJtbdQpfH~˂pZHAd|Z~HfprXQJtbdQpfH~tlJ`f~Zp˂tAJlnvpXQr˂JtArdے`JXQtArdv`f`ےb|drH~fJtAdf~Hp˂rJltvpfr˂ptArdf~HےbHAbdQZ|`JXQrlJtAXv`fbHAZpdrtAJvXn`JXQrlJtAXv`fbHAZpdQZ|l~fZdQbtvnX`ےbZ|df`vbے`dQbtvnX`ےbZ|df`ptArdHfpvrXQJ`tbdQZfH~pZHAb|ZdQr˂p|ZdQb~HfpHAZp˂tAJlZHAb|ZdQbfpvXQJ`ےbdQZ|H~fZHAb|ZdQbfpvZp˂drtA˂pZrd|~Hf˂rXQltbvpfH˂pZrd|~Hf˂rXQtbdQHAblJtArv`fHAZp˂rtAJlXnvJXQrlJtArv`fHAZp˂rtAJlfH~|ZdQbnXvےbHA|drf`vXے`JbtlZHAbtlJv~rXQJtbdQZے`JXQtlJnXv`bHAZdrtA`vXnے`JXQtlJnXv`rXQJ`JltHAbےZdQbtpvnJ`ےdQZ|~f`HAbےZdQbtpvnJ`ےZ|dJQr˂pd|Z~HfprXQJtbdQpfH~˂pZHAd|Z~HfprXQJtbdQf`vXtJArd`f~Zp˂tAJlnvpXQr˂JtArdے`JXQtArdHfpv`ےb|dnr˂ptArdf~Hp˂rJltvpfr˂ptArdf~HےbHAbdQZ|`JXQrlJtAXv`fbHAZpdrtAJvXn`JXQrlJtAXv`fbHAZprtAJlZHAbdQbtvnX`ےbZ|df`vbے`dQbtvnX`ےbZ|dnvp|ZdHfpvrXQJ`tbdQZfH~pZHAb|ZdQr˂p|ZdQbnXvHAZp`vffZHAb|ZdQbfpvXQJ`ےbdQZ|H~fZHAb|ZdQbfpvXQJ`ےltb˂pZrd|~Hf˂rXQltbvpfH˂pZrd|~Hf˂rXQtbdQے`JXlJtArv`fHAZp˂rtAJlXnvJXQrlJtArv`fHAZp˂rtAJlfH~QbtlnXvےbHA|drf`vXے`JbtlZHAbtlJ`f~ےbHA`vXnے`JXQtlJnXv`bHAZdrtA`vXnے`JXQtlJnXv`bHAZnvpHAbےZdQbtpvnJ`ےdQZ|~f`HAbےZdQbtpvnJ`ےZ|dQr˂pd|Z~HfprXQJtbdQpfH~˂pZHAd|Z~HfprXQJtbdQf`vXJtArd`f~Zp˂tAJlnvpXQr˂JtArdے`JXQtArdHfpvZp˂vpfr˂ptArdf~Hp˂rJltvpfr˂ptArdf~Hp˂rff`v`JXQrlJtAXv`fbHAZpdrtAJvXn`JXQrlJtAXv`fbHAZptbdQZZHAbdQbtvnX`ےbZ|df`vbے`dQbtvnX`ےbZ|dH~f|ZdHfpvrXQJ`tbdQZfH~pZHAb|ZdQr˂p|ZdQbnXHrXQJ`H~fZHAb|ZdQbfpvXQJ`ےbdQZ|H~fZHAb|ZdQbfpvXQJ`ےXnv˂pZrd|~Hf˂rXQltbvpfH˂pZrd|~Hf˂rXQ|drے`JQrlJtArv`fHAZp˂rtAJlXnvJXQrlJtArv`fHAZp˂rtAJlZHAbQbtlnXvےbHA|drf`vXے`JbtlZHAbtlJfpvےbHA`vXnے`JXQtlJnXv`bHAZdrtA`vXnے`JXQtlJnXv`bHAZpfH~HAbےZdQbtpvnJ`ےdQZ|~f`HAbےZdQbtpvnJ`ےtAJl璉pZHAd|Z~HfprXQJtbdQpfH~˂pZHAd|Z~HfprXQJtbdQ˂pZJAr|`f~Zp˂tAJlnvpXQr˂JtArdے`JXQtArdnXv`Zp˂vpfr˂ptArdf~Hp˂rJltvpfr˂ptArdf~Hp`ےf`v`JXQrlJtAXv`fbHAZpdrtAJvXn`JXQrlJtAXv`fbHAZptbdQZbے`dQbtvnX`ےbZ|df`vbے`dQbtvnX`ےbZ|dHAbےZdQbtHfpvrXQJ`tbdQZfH~pZHAb|ZdQr˂p|ZdQbf~HbHAZH~fZHAb|ZdQbfpvXQJ`ےbdQZ|H~fZHAb|ZdQbfpvbHAZpXnv˂pZrd|~Hf˂rXQltbvpfH˂pZrd|~Hf˂rXQ|ltJXQrlJtArv`fHAZp˂rtAJlXnvJXQrlJtArv`fHAZp˂rtAJl`JXQrlJtAnXvےbHA|drf`vXے`JbtlZHAbtlJfpvdrtA`vXnے`JXQtlJnXv`bHAZdrtA`vXnے`JXQtlJnXv`˂rXQf~f`HAbےZdQbtpvnJ`ےdQZ|~f`HAbےZdQbtpvnJ`ےbnv˂pZHAd|Z~HfprXQJtbdQpfH~˂pZHAd|Z~HfprXQJtbdQ˂pZrd|`f~Zp˂tAJlnvpXQr˂JtArdے`JXQtArdnXv`JbdQ瀅vpfr˂ptArdf~Hp˂rJltvpfr˂ptArdf~HJ`ےvXn`JXQrlJtAXv`fbHAZpdrtAJvXn`JXQrlJtAXv`fbHAZpp`vXbے`dQbtvnX`ےbZ|df`vbے`dQbtvnX`ےbZ|dHAbےZdQbtHfpvrXQJ`tbdQZfH~pZHAb|ZdQr˂p|ZdQbpvnZ|dH~fZHAb|ZdQbfpvXQJ`ےbdQZ|H~fZHAb|ZdQbfpvbHAZpvpfH˂pZrd|~Hf˂rXQltbvpfH˂pZrd|~Hf˂rXQnvpJXQrlJtArv`fHAZp˂rtAJlXnvJXQrlJtArv`fHAZp˂rtAJl`pZHAlJtAnXvےbHA|drf`vXے`JbtlZHAbtlJXv`frtAJl`vXnے`JXQtlJnXv`bHAZdrtA`vXnے`JXQtlJnXv`˂b~f`HAbےZdQbtpvnJ`ےdQZ|~f`HAbےZdQbtpvnJ`ےfH~ZHAbd|Z~HfprXQJtbdQpfH~˂pZHAd|Z~HfprXQJtbdQbے`rZdQ`f~Zp˂tAJlnvpXQr˂JtArdے`JXQtArd~HftbdQ瀅vpfr˂ptArdf~Hp˂rJltvpfr˂ptArdf~HHAZdvXn`JXQrlJtAXv`fbHAZpdrtAJvXn`JXQrlJtAXv`fbHAZpf`vX`JXQdQbtvnX`ےbZ|df`vbے`dQbtvnX`ےbZ|dJXQrbtlHfpvrXQJ`tbdQZfH~pZHAb|ZdQr˂p|ZdQbpvnZ|dH~fZHAb|ZdQbfpvXQJ`ےbdQZ|H~fZHAb|ZdQbfpvrtAdQZvpf~˂pZrd|~Hf˂rXQltbvpfH˂pZrd|~Hf˂rXQnfr˂plJtArv`fHAZp˂rtAJlXnvJXQrlJtArv`fHAZp˂tAJl˂pZHAJtArdnXvےbHA|drf`vXے`JbtlZHAbtlJXv`frtAJl`vXnے`JXQtlJnXv`bHAZdrtA`vXnے`JXQtlJnXv`|drf`vXHAbےZdQbtpvnJ`ےdQZ|~f`HAbےZdQbtpvnJ`ے`vXnZHAbd|Z~HfprXQJtbdQpfH~˂pZHAd|Z~HfprXQJtbnbے`|ZdQ`f~Zp˂tAJlnvpXQr˂JtArdے`JXQtArdnXbQZ|vpfr˂ptArdf~Hp˂rJltvpfr˂ptArdf~HtAJlnvp`JXQrlJtAXv`fbHAZpdrtAJvXn`JXQrlJtAXv`fbHAZpvpf`JXQdQbtvnX`ےbZ|df`vbے`dQbtvnX`ےbvp`vJXQHAbbtlHfpvrXQJ`tbdQZfH~pZHAb|ZdQr˂p|ZdQbv`fdrtAJH~fZHAb|ZdQbfpvXQJ`ےbdQZ|H~fZHAb|ZdQbfpvtbdQZfH~˂pZrd|~Hf˂rXQltbvpfH˂pZrd|~Hf˂rXQH~frZAblJtArv`fHAZp˂rtAJlXnvJXQrlJtArv`fHAZdXnvے`JJtArdnXvےbHA|drf`vXے`JbtlZHAbtlJ~Hfpltb`vXnے`JXQtlJnXv`bHAZdrtA`vXnے`JXQtlJnXv`|drf`vXHAbےZdQbtpvnJ`ےdQZ|~f`HAbےZdQbtpvnJ`ے`vXnے`Jd|Z~HfprXQJtbdQpfH~˂pZHAd|ZHfpvrtAJlpfH~XQr˂ZQbt`f~Zp˂tAJlnvpXQr˂JtArdے`JXQtArdvnXdQZ|vpfr˂ptArdf~Hp˂rJltvpfr˂ptArdf~HtAJl|nvp`JXQrlJtAXv`fbHAZpdrtAJvXn`JXQrlJtAXv`fbHAZvp`XQr˂dQbtvnX`ےbZ|df`vbے`dQbt璀nrXQtbdQf`vpZHAblJtArHfpvrXQJ`tbdQZfH~pZHAf~r˂p|ZdQbv`p˂drtAJH~fZHAb|ZdQbfpvXQJ`ےbdQZ|H~fZHAb|ZdQbfpvdrtAfH~f˂pZrd|~Hf˂rXQltbvpfH˂pZrd|HfpdrtAdQvXnpZHAblJtArv`fHAZp˂rtAJlXnvJXQrlJtArJ`ےZ|dXnے`Jd|ZnXvےbHA|drf`vXے`JXQHfpvZHAbtlJrXQJltbQ`vXnے`JXQtlJnXv`bHAZdrtA`vXnے`JXQtlJnXv`JltvXnHAbےZdQbtpvnJ`ےdQZ|~f`HAbےZdQbtvnrZ|dvpfHے`Jd|Z~HfprXQJtbdQpfH~˂pZHAdfHAZp˂rtAJlf`vXXQrdQbt`f~Zp˂tAJlnvprbt璀nXvے`JXQtArd`ےbZdrtvpfr˂ptArdf~Hp˂rJltvpfr˂ptArdfHfbdQZ|vpfH`JXQrlJtAXv`fbHAZpdrtAJvXn`JXQrlJtAXQJ`ےrtAJl~f`XQr˂dQbtvnX`ےbZ|df`vے`J~HfprXQJtbdQnvpے`JXQlJtArHfpvrXQJ`tbdQZfH~lJtAd`f~r˂p|ZdQbHAZp˂AJltH~fZHAb|ZdQbfpvXQJ`ےbdQZ|H~fZHAb|ZdQbpvndrtA~f`˂pZrd|~Hf˂rXQltbvpfH˂pZrdfHAZptbdQvXnpZAb`lJtArv`fHAZp˂rtAJlXnvXQrbtvnX`ےbZ|dfH~r˂pd|ZQnXvےbHA|dtAfZHAb|ZdQHfpvZHAbtlJrXQHAbdQZ|`vXnے`JXQtlJnXv`bHAZdrtA`vXnے`JXQtlJrXQJ`JltvXnHAbےZdQbtpvnJ`ےdQZ|~f`HAے`~Hf˂rXQZ|dvpfHJXQrd|Z~HfprXQJtbdQpfH~lJtAv`fHAZp˂rtAJlf`vXZHAbblJt`f~Zp˂Jltے`JbtlnXvے`JXQtArdZp˂drtvpfr˂ptArdf~Hp˂rJltvpfr˂ptArdp˂rdrtAJvpfH`JXQrlJtAXv`fbHAZpdrtAJvXnJXQrbpvnJ`ےrtAJlXnv˂pZHdQbtvnX`ےbZ|dfZHAd|Z~HfprXQJtbdQnvpے`JXQArd|HfpvrXQJ`bnvXQr˂JtArd`f~r˂p|ZdQbrXQJ`AJltH~fZHAb|ZdQbfpvXQJ`ےbdQZ|H~fZHAےf~HXQJ`ےltb~fvn˂pZrd|~Hf˂rXQltbvpfHtlJXv`fbHAZp|drpfH~Abے`lJtArv`fHAZp˂tAJlbے`dQbtvnX`ےbZ|d`vXnr˂pZdQbtnXvےbHApfHpZHAb|ZdQHfpv`f~ZHAbtlJےbHAbdQZ`vXnے`JXQtlJnXv`bHAZdrtA`vXn`JXQrfpvbHAZdQZ|vpfHAbےZdQbtpvnJ`ےdQZ|~fZtAd|~Hf˂rXQtAJl璐f`vJXQrd|Z~HfprXQJtbnJXQrlJtArv`fHAZp˂rtAJlvpf`JXQrlJt`fHZdrf`vXے`JbtlnXvHfpvے`JXQtArdZp˂rtAJlvpfr˂ptArdf~Hp˂rJltvpfbtlnXv`p˂rdrtAJH~f`JXQrlJtAXv`fbHAZpdtAJlHAbےZdQbtpvnJ`ےtbdQZXnv˂pZHdQbtvnX`ےbvpfH˂pZHAd|Z~HfprXQJtbdQH~f˂pZArd|fpvtAJlnvpXQr˂JtArd`f~nXvr˂p|ZdQbrXQJ`tbdQH~fZHAb|ZdQbfpvXQJ`ےbdQZ|H~fJtAdf~HXQHAZpltb`vXn˂pZrd|~Hf˂rXQtbn`JXQrlJtAXv`fbHAZp|drpfH~AbJXQlJtArv`fHAZdf`vbے`dQbtvnX`ےbZ|d`vXnHAbےZdQbnrXQJtbdQZfH~pZHAb|ZdQHfpv`f~ZHAbtlJp˂rZ|d`vXnے`JXQtlJnXv`bHAZdtAJZHAb|ZdQbfpv˂rXQdQtAJlvpfHAbےZdQbtpvnJ`ےvpf˂pZrd|~Hf˂rXQtAJl璐vpr˂pd|ZHfpvrtAJlXnvJXQrlJtArv`fHAZp˂rtAJlvpf`JXQrJtArd`ےHA|drf`vXے`JbtlnXvHfpvے`JXQtArdXQJ`ےrtAJlvpfr˂ptArdf~Hp˂rltbے`JXQtlJnXv`J`ےtbdQH~f`JXQrlJtAXv`fbHAZHf`HAbےZdQbtpvnJ`ےtdrtAfH~ZHAbdQbt璀nrXQtbdQpfH~˂pZHAd|Z~HfprXQJtbdQHXn˂pZf~Zp˂tAJlnvpXQr˂JtArd`f~nXvr˂pf~HbHAZtbdQH~fZHAb|ZdQbfpvXQJ`ےnvpr˂ptArdf~HbHAZpZ|d`vnvp˂pZrd|HfpdrtAJvXn`JXQrlJtAXv`fbHAZpJltf`vXے`JXQlJtArJ`ےZ|df`vbے`dQbtvnX`ےbZ|dvpfHHAXQrHfpvrXQJ`tbdQZfH~pZHAb|ZdQHfpv`f~ZHAbXv`fp˂rZ|rA`vXnے`JXQtlJnXv`bHAZfHfZHAb|ZdQbfpv˂rXQrtAJlfH~HAbےZdQbtvnrltbvpfH˂pZrd|~Hf˂rXQbdQZ|nvpr˂pdfHAZp˂rtAJlXnvJXQrlJtArv`fHAZp˂rtAJl~f`˂pZHAnXvےbHA|drf`vXے`JbtlnXvHfpvے`JXQ~HfXQJ`ےJltvpfr˂ptArdfHfdrtA`vXnے`JXQtlJnXv`J`p˂tbdQf`vX`JXQrlJtAXQJ`ےdQZ|~f`HAbےZdQbtpvnJ`ےdrtAfH~ZA`J~HfprXQJtbdQpfH~˂pZHAd|Z~HfprXQJtbdQvXnbے``f~Zp˂tAJlnvpXQr˂JtArd`f~nXvr˂ppvnrXQbdQZ|H~fZHAb|ZdQbpvnJltvpfr˂ptArdf~HrXQJZ|l璕nvp˂pZrdfHAZpdrtAJvXn`JXQrlJtAXv`fbHAZpJltf`pfXQrbtvnX`ےbZ|df`vbے`dQbtvnX`ےbZ|dvpfHJXQrHfpvrXQJ`tbdQZfH~pZHAb|ZdQHfpv`f~|ZdQbXv`fJ`ےdrtA`vXnے`JXQtlJrXQJ`bdQZ|H~fZHAb|ZdQbfpv`ےbtbdQZfH~HAے`~Hf˂rXQltbvpfH˂pZrd|~Hf˂rXQbdQtAJH~flJtAv`fHAZp˂rtAJlXnvJXQrlJtArv`fHAZp˂rtAJl~v˂p`JnXvےbHA|drf`vXے`JbtlnXvHfpvtlJ~HfbHAZpJltvpfr˂ptArdےHAZdrtA`vXnے`JXQtlJnXv`HAZp˂|drf`vXJXQrbpvnJ`ےdQZ|~f`HAbےZdQbtpvnJ`ےltb`vXnd|Z~HfprXQJtbdQpfH~˂pZHAd|Z~HfprXQJtbdQpfH~XQrbt`f~Zp˂tAJlnvpXQr˂JtArd`f~nXvtArdp`f˂rXQbdQZ|H~fZHAےf~Hp˂rJltvpfr˂ptArdf~HrXQJtAJl璕nvfHtlJXv`fbHAZpdrtAJvXn`JXQrlJtAXv`fbHAZpdQZ|vpfdQbtvnX`ےbZ|df`vbے`dQbtvnX`ےbZ|df`vlJAHfpvrXQJ`tbdQZfH~pZHAb|ZdQHfpv`f~|ZdQb~HfpJ`ےdrAJ`vXn`JXQrfpvXQJ`ےbdQZ|H~fZHAb|ZdQbfpv`ےtbdQZ~fZtAd|~Hf˂rXQltbvpfH˂pZrd|~Hf˂rXQdrtAJH~flJtArv`fHAZp˂rtAJlXnvJXQrlJtArv`fHAZp˂rtAJlXnv|ZdQbnXvےbHA|drf`vXے`JbtlnXvHfpvnXvےbHA|dtAfZHAbl|ZdQXv`fXQJ`ےbdQZ|H~fZHAb|ZdQbfpvXQJ`ےnvpr˂p|ZdQb~HfbHAZltbvpfH˂pZrd|HfpdrtAJvXnHAbےr󙐂ˁ`vˍpf`f~Zp˂Jlt˂pbtl~HfbHAZdrtA`vXnے`JXQtlJnXv`bHAZfHfZHAbtd|pvnp˂rdQZ|~f`HAbےZdQbtvnrltbvpfH`pZHAZQXb㉀H~ㅐfHfpvrXQJ`bnvZHAbJtArdpvnp˂rJltvpfr˂ptArdfHfdrtA`vXnے`JXQZdQbtXHfpXQJ`ےdrtAJvXn`JXQrlJtAXQJ`ےdQZ|~f`bے`ۑpJAH`vXnnXvےbHApfHے`JXQ|ZdQXv`fXQJ`ےbdQZ|H~fZHAb|ZdQbpvnJltvpfr˂plJtAvnXbHAZltbvpfH˂pZrdfHAZpdrtAJvXnJXQrr󙐉ەvˍpf`fHZdrf`vXr˂pbtl~fpvbHAZdrtA`vXnے`JXQtlJrXQJ`bdQZ|H~fZHAbrd|v`fprQJ`dQZ|~f`HAے`~Hf˂rXQltbvpfH˂pZHApJAHrH~ㅐffpvtAJlnvpZHAbJtAdQbnXv`p˂rJltvpfr˂ptArdےHAZdrtA`vXnے`JXQZdQbt~HfpےbHdrtAJvXnJXQrbpvnJ`ےdQZ|~f`bے`ˁ`Z`vXnnrXQJtbdQZfH~ے`pZtlJf~HXQJ`ےbdQZ|H~fZHAےf~Hp˂rJltvpfr˂pl|ZvnXAZp˂ltbvpfHtlJXv`fbHAZpdrtAJvXnJXQHAbQXb㉀ەvˍp|`ےHA|drf`vXHAbےtArdfpvbHAZdrtA`vXn`JXQrfpvXQJ`ےbdQZ|H~fZHAbdQbtv`pvrXQJ`dQZ|~fZtAd|~Hf˂rXQltbvpfHے`JpJAHrdrQtZp˂tAJlnvp`JXQr|ZdQbnXv`p˂rJltvpfbtlnXv`bHAZdrtA`vXnے`JXQlJtArnXvےbHdtAJlHAbےZdQbtpvnJ`ےdQZ|~f`XQr˂ˁ`pJltrXQJ`tbdQZfH~˂pZtlJf~fXQJ`ےbdQZ|H~fJtAdf~Hp˂rJltvpfr˂pd|Z`f~AZp˂tbn`JXQrlJtAXv`fbHAZpdrtAJvXnpZHAbJAHrbAdZ|ےbHA|drf`vXHAbےtArdtvnXbHAZdtAJZHAb|ZdQbfpvXQJ`ےbdQZ|H~fZHAbdQbtHfpvrQJvpf˂pZrd|~Hf˂rXQltbvpfHے`Jˁ`ZQXdrQtZp˂tAJlnvp`JXQHAlJtAv`fp˂rltbے`JXQtlJnXv`bHAZdrtA`vXnے`JXQlJtAdQnXvbHAZHf`HAbےZdQbtpvnJ`ےdQZ|~f`XQrb㉀ۑpJltrXQJ`tbdQZfH~bے`rd|~HfpXQJ`ےnvpr˂ptArdf~Hp˂rJltvpfr˂pbtl`fdrtAJvXn`JXQrlJtAXv`fbHAZpdrtAJvXnے`JXQJAHrbAdZ|ےbHA|drf`vXJXQrZdQbtvnXbHAZfHfZHAb|ZdQbfpvXQJ`ےbdQZ|H~fZHAbJtArdnXv`ltbvpfH˂pZrd|~Hf˂rXQltbvpfHr˂pˁ`pfdrQtZp˂tAJlnvp˂pZHAlJtAv`ffdrtA`vXnے`JXQtlJnXv`bHAZdrtA`vXnے`JXQ|ZdQf~HdQZ|~f`HAbےZdQbtpvnJ`ےdQZ|~f`ZHAbH~ㅐfJltrXQJ`tbdQZfH~bے`rd|pvnJltvpfr˂ptArdf~Hp˂rJltvpfr˂pbtlfpvdrtAJvXn`JXQrlJtAXv`fbHAZpdrtAJvXnے`JXQ`vXnbAdZ|ےbHA|drf`vXJXQrlJtArrXQJ`bdQZ|H~fZHAb|ZdQbfpvXQJ`ےbdQZ|H~fZHAbJtArdnXv`ltbvpfH˂pZrd|~Hf˂rXQltbvpfHr˂pvˍpfdrQtZp˂tAJlnvpے`Jd|ZےHAZdrtA`vXnے`JXQtlJnXv`bHAZdrtA`vXnے`JXQtlJpvndQZ|~f`HAbےZdQbtpvnJ`ےdQZ|~f``JXQrH~ㅐfJltrXQJ`tbdQZfH~XQr˂dQbtp˂rJltvpfr˂ptArdf~Hp˂rJltvpfr˂ptArdrXQJ`drtAJvXn`JXQrlJtAXv`fbHAZpdrtAJvXn˂pZ`vXnbAdZ|ےbHA|drf`vXpZHAblJtArXQJ`ےbdQZ|H~fZHAb|ZdQbfpvXQJ`ےbdQZ|H~fZHAb|ZdQbAZp˂ltbvpfH˂pZrd|~Hf˂rXQltbvpfHHAbےvˍpfdrQtZp˂tAJlnvpے`Jd|ZbHAZdrtA`vXnے`JXQtlJnXv`bHAZdrtA`vXnے`JXQtlJrXQJdQZ|~f`HAbےZdQbtpvnJ`ےdQZ|~f``JXQrH~ㅐfJltrXQJ`tbdQZfH~XQr˂dQtArdp˂rJltvpfr˂ptArdf~Hp˂rJltvpfr˂ptArd`ےbdrtAJvXn`JXQrlJtAXv`fbHAZpdrtAJvXn˂pZ`vXnbAdZ|ےbHA|drf`vXp`JXQf~XQJ`ےbdQZ|H~fZHAb|ZdQbfpvXQJ`ےbdQZ|H~fZHAb|lJtAHAZp˂ltbvpfH˂pZrd|~Hf˂rXQltbvpfHHAXQrvˍpfdrQtZp˂tAJlnvpr˂pHfvnXbHAZdrtA`vXnے`JXQtlJnXv`bHAZdrtA`vXnے`JXQrd|rXQJdQZ|~f`HAbےZdQbtpvnJ`ےdQZ|~f`˂pZHAH~ㅐfJltrXQJ`tbdQZfH~ZHAbv`fp˂rJltvpfr˂ptArdf~Hp˂rJltvpfr˂pZdQbtbHAZpdrtAJvXn`JXQrlJtAXv`fbHAZpdrtAJvXnbے``vXnbAdZ|ےbHA|drf`vXے`JXQ~HfpXQJ`ےbdQZ|H~fZHAb|ZdQbfpvXQJ`ےbdQZ|H~fZHAblJtA˂rXltbvpfH˂pZrd|~Hf˂rXQltbvpfHJXQrvˍpfdrQtZp˂tAJlnvpr˂pvnXbHAZdrtA`vXnے`JXQtlJnXv`bHAZdrtA`vXnے`JXQrd|QJ`ےdQZ|~f`HAbےZdQbtpvnJ`ےdQZ|~f`˂p`ZH~ㅐfJltrXQJ`tbdQZfH~ZHAXQrv`fp˂rJltvpfr˂ptArdf~Hp˂rJltvpfr˂pZdQtArbHAZpdrtAJvXn`JXQrlJtAXv`fbHAZpdrtAJvXnQXb㉀۝`vXnbAdZ|ےbHA|drf`vX˂pZ~HfpXQJ`ےbdQZ|H~fZHAb|ZdQbfpvXQJ`ےbdQZ|H~fZHAbdf˂rXltbvpfH˂pZrd|~Hf˂rXQltbvpfHpJAHrvˍpfdrQtZp˂tAJlnvpHAbےvnv`bHAZdrtA`vXnے`JXQtlJnXv`bHAZdrtA`vXnے`JXQ~HXvQJ`bdQZ|~f`HAbےZdQbtpvnJ`ےdQZ|~f`ˁ`ZH~ㅐfJltrXQJ`tbdQZfH~`JXQrf~Hp˂rJltvpfr˂ptArdf~Hp˂rJltvpfr˂p`f~AZp˂drtAJvXn`JXQrlJtAXv`fbHAZpdrtAJvXnQXb㉀`vXnbAdZ|ےbHA|drf`vX˂p`fpvXQJ`ےbdQZ|H~fZHAb|ZdQbfpvXQJ`ےbdQZ|H~fZHAbHfpvrXQJ`ltbvpfH˂pZrd|~Hf˂rXQltbvpfHˁ`ZQXvˍpfdrQtZp˂tAJlnvpJXQrbnXv`bHAZdrtA`vXnے`JXQtlJnXv`bHAZdrtA`vXnے`JXQnXvےbHAdQZ|~f`HAbےZdQbtpvnJ`ےdQZ|~f`b㉀ۑpH~ㅐfJltrXQJ`tbdQZfH~tl|f~Hp˂rJltvpfr˂ptArdf~Hp˂rJltvpfr˂p`f~Zp˂drtAJvXn`JXQrlJtAXv`fbHAZpdrtAJvXnJAHr󙐝`vXnbAdZ|ےbHA|drf`vXZdQbtfpvXQJ`ےbdQZ|H~fZHAb|ZdQbfpvXQJ`ےbdQZ|H~fZHAbHfp`rXQJ`ltbvpfH˂pZrd|~Hf˂rXQltbvpfHˁ`ZQXvˍpfdrQtZp˂tAJlnvplJtAnvfbHAZdrtA`vXnے`JXQtlJnXv`bHAZdrtA`vXnے`JXQf~HےbAZdQZ|~f`HAbےZdQbtpvnJ`ےdQZ|~f`b㉀ۑpH~ㅐfJltrXQJ`tbdQZfH~rd|~Hfpp˂rJltvpfr˂ptArdf~Hp˂rJltvpfr˂pfpvrXQdrtAJvXn`JXQrlJtAXv`fbHAZpdrtAJvXn`ZQXb`vXnbAdZ|ےbHA|drf`vXZdQbtvnXXQJ`ےbdQZ|H~fZHAb|ZdQbfpvXQJ`ےbdQZ|H~fZHAےnXv`J`ےltbvpfH˂pZrd|~Hf˂rXQltbvpfHۑpJvˍpfdrQtZp˂tAJlnvpd|Zv`fbHAZdrtA`vXnے`JXQtlJnXv`bHAZdrtA`vXn`JXQrf~HbHAZpdQZ|~f`HAbےZdQbtpvnJ`ےdQZ|~frAHr󙐂˕H~ㅐfJltrXQJ`tbdQZfH~dQbt~Hfpp˂rJltvpfr˂ptArdf~Hp˂rJltvpfbtlfpvrXQdrtAJvXn`JXQrlJtAXv`fbHAZpdtAJl˂pZ`ZQXb`vXnbAdZ|ےbHA|drf`vXlJtArvnXvXQJ`ےbdQZ|H~fZHAb|ZdQbfpvXQJ`ےbdQZ|H~f|ZdQb~HfJ`ےltbvpfH˂pZrd|~Hf˂rXQtbnHAbےۑpJvˍpfdrQtZp˂tAJlnvpd|Zf~HfbHAZdrtA`vXnے`JXQtlJnXv`bHAZdtAJZHAbtlJpvnbHAZrdQZ|~f`HAbےZdQbtpvnJ`ےvpf`JXQrAHQXb㉀H~ㅐfJltrXQJ`tbdQZfH~dQbtpvnp˂rJltvpfr˂ptArdf~Hp˂rltbے`JXQtArdXv`fXQJ`ےdrtAJvXn`JXQrlJtAXv`fbHAZHf`˂pZۑpJAH`vXnbAdZ|JJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKK \ No newline at end of file diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv37_1.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv37_1.dat deleted file mode 100644 index 233b589cad..0000000000 --- a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv37_1.dat +++ /dev/null @@ -1,329 +0,0 @@ -~}~}~}~}~}~}~}~}|{|{|{|{|{|{|{|{zyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvutstststststststsrqrqrqrqrqrqrqrqpopopopopopopoponmnmnmnmnmnmnmnmlklklklkjijijijijijijijighghghghhghghghgfefefefefefefefedcdcdcdcdcdcbabababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPONMMMMMMNNMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:9:98787878787878765656565656565653333434321212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#~}~}~}~}~}~}~}~}|{|{|{|{|{|{|{|{zyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvutstststststststsrqrqrqrqrqrqrqrqpopopopopopopoponmnmnmnmnmnmnmnmlklklklkjijijijijijijijighghghghgggghghgfefefefefefedcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPOMNMNMNMNNMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;<;:9:9:9:9:9:9:9878787878787878765656565656565654343434321212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#~}~}~}~}~}~}~}~}|{|{|{|{|{|{|{|{zyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvutstststststststsrqrqrqrqrqrqrqrqpopopopopopopoponmnmnmnmnmnmnmnmlklklklkjijijijijijijijighghghghhghgfefefefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPOMNMNMNMNNMNMNMMMLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=<;<;<;<;<;<;<;:9:9:9:9:9:9:9:9878787878787878765656565654343434343434321212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#~}~}~}~}~}~}~}~}|{|{|{|{|{|{|{|{zyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvutstststststststsrqrqrqrqrqrqrqrqpopopopopopopoponmnmnmnmnmnmnmnmlklklklkjijijijijijijijighghghghfefefefefefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPOMNMNMNMNMMMNMNMNLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?@?>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:9878787878787878765656565433333344343434321212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#~}~}~}~}~}~}~}~}|{|{|{|{|{|{|{|{zyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvutstststststststsrqrqrqrqrqrqrqrqpopopopopopopoponmnmnmnmnmnmnmnmlklklklkjijijijijijijijighghghghfefefefefefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQPOPOPOPOPOPOPOPOMNMNMNMNMNMNMNMNLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABABA@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:9878787878787878765656565343434344343434321212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#~}~}~}~}~}~}~}~}|{|{|{|{|{|{|{|{zyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvutstststststststsrqrqrqrqrqrqrqrqpopopopopopopoponmnmnmnmnmnmnmlklklklklkjijijijijijijijighggggggfefefefefefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQPOPOPOPOPOPOPOPOMNMNMNMNMNMNMNMNLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCBABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:9878787878787878765656565343434344343433321212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#~}~}~}~}~}~}~}~}|{|{|{|{|{|{|{|{zyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvutstststststststsrqrqrqrqrqrqrqrqpopopopopopoponmnmnmnmnmlklklklklklklklkjijijijijijijijihghghghgfefefefefefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQPOPOPOPOPOPOPOPOMMMMMMNMMNMNMNMNLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEFEDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:9878787878787878765656565343434343334343421212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#~}~}~}~}~}~}~}~}|{|{|{|{|{|{|{|{zyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvutstststststststsrqrqrqrqrqrqrqpopopopoponmnmnmnmnmnmnmnmlklklklklklklklkjijijijijijijihghghghghgfefefefefefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMMNMNMNMNLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGHGFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:9878787878787878765656565343434343434343421212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#~}~}~}~}~}~}~}~}|{|{|{|{|{|{|{|{zyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvutststststststsrqrqrqrqrqpopopopopopopoponmnmnmnmnmnmnmnmlklklklklklklklkjijijijihghghggghghghghgfefefefefefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMMNMNMMMMLKLKLKLKLKLKLKLKJIJIJIJIJIHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:9878787878787878765656565343434343434343421212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#~}~}~}~}~}~}~}~}|{|{|{|{|{|{|{|{zyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvuvuvuvutststststsrqrqrqrqrqrqrqrqpopopopopopopoponmnmnmnmnmnmnmnmlklklklklklklklkjijijijiggghghghhghghghgfefefefefefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMMMNMNMNMLKLKLKLKLKJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:9878787878787878765656565333333433434343421212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#~}~}~}~}~}~}~}~}|{|{|{|{|{|{|{|{zyzyzyzyzyzyzyzyxwxwxwxwxwxwxwvuvuvuvuvutstststststststsrqrqrqrqrqrqrqrqpopopopopopopoponmnmnmnmnmnmnmnmlklklklklklklklkjijijijighghghghhghghghgfefefefefefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMNMLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:9878787878787878765656565434343433434343421212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#"!"!"!"!~}~}~}~}~}~}~}~}|{|{|{|{|{|{|{|{zyzyzyzyzyzyzyxwxwxwxwxwvuvuvuvuvuvuvuvutstststststststsrqrqrqrqrqrqrqrqpopopopopopopoponmnmnmnmnmnmnmnmlklklklklklklklkjijijijighghghghhgggggghfefefefefefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:9878787878787876565656565434343433434333321212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!~}~}~}~}~}~}~}~}|{|{|{|{|{|{|{zyzyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvutstststststststsrqrqrqrqrqrqrqrqpopopopopopopoponmnmnmnmnmnmnmnmlklklklklklklklkjijijijighghghghghghghghfefefefefefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQPOPOPOPOPOPOPOPOMMMMMNMNLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:9878787876565656565656565434343433343434321212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!~}~}~}~}~}~}~}|{|{|{|{|{zyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvutstststststststsrqrqrqrqrqrqrqrqpopopopopopopoponmnmnmnmnmnmnmnmlklklklklklklklkjijijijighghghghghghghghfefefefefefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSRQRQRQRQRQRQPOPOPOPOPOPOPOPOMNMNMNMNLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:9878787876565656565656565434343434343434321212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!~}~}~}~}~}|{|{|{|{|{|{|{|{zyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvutstststststststsrqrqrqrqrqrqrqrqpopopopopopopoponmnmnmnmnmnmnmnmlklklklklklklklkjijijijighghggggghghghghfefefefefefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUTSTSTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPOMNMNMNMNLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:9878787876565656565656565434343434343434321212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!~}~}~}~}~}~}~}~}|{|{|{|{|{|{|{|{zyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvutstststststststsrqrqrqrqrqrqrqrqpopopopopopopoponmnmnmnmnmnmnmnmlklklklklklklklkjijijijigghghghgghghghghfefefefefefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWVUVUVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPOPOPONMNMMNMNMNMNLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:9878787876565656565656565333334344343434321212121212121210/0/0/0/0/0/0/0/.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!~}~}~}~}~}~}~}~}|{|{|{|{|{|{|{|{zyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvutstststststststsrqrqrqrqrqrqrqrqpopopopopopopoponmnmnmnmnmnmnmnmlklklklklklklklkjijijijihghghghgghghghghfefefefefefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPONMNMMMMMMNMNMNMNLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:9878787876565656565656565343434344343333321212121212121210/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!~}~}~}~}~}~}~}~}|{|{|{|{|{|{|{|{zyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvutstststststststsrqrqrqrqrqrqrqrqpopopopopopopoponmnmnmnmnmnmnmnmlklklklklkjijijijijijijihghghghggggggghgfefefefefefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[ZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPONMNMNMNMMNMNMNMMLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:98787878765656565656565653434343443434343212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!~}~}~}~}~}~}~}~}|{|{|{|{|{|{|{|{zyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvutstststststststsrqrqrqrqrqrqrqrqpopopopopopopoponmnmnmnmnmnmnmnmlklklklkjijijijijijijijihghghghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPONMNMNMNMMMMMNMNMLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:98787878765656565656565653434343421212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!~}~}~}~}~}~}~}~}|{|{|{|{|{|{|{|{zyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvutstststststststsrqrqrqrqrqrqrqrqpopopopopopopoponmnmnmnmnmnmnmnmlklklklkjijijijijijijijihghghghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPONMNMNMNMNMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:98787878765656565656565653434343421212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!~}~}~}~}~}~}~}~}|{|{|{|{|{|{|{|{zyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvutstststststststsrqrqrqrqrqrqrqrqpopopopopopopoponmnmnmnmnmnmnmnmlklklklkjijijijijijijijihghggggghghghghgfefefefefefefefedcdcdcdcdcdcdcdcbabababababa`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPONMNMNMNMNMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:98787878765656565656565653434343321212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!"!"!"!"!"!"!"!"!                - - - - - - - - "!"!"!"!"!"!"!"!                - - - - - - - - "!"!"!"!"!"!"!"!                - - - - - - - - "!"!"!"!"!"!"!"!                - - - - - - - - "!"!"!"!"!"!"!"!            - - - - - - - - "!"!"!"!                - - - - - - - - "!"!"!"!                - - - - - - - - "!"!"!"!                - - - - - - - - "!"!"!"!                - - - - - - - - "!"!"!"!                - - - - - - - - "!"!"!"!                - - - - - - - - "!"!"!"!                - - - - - - - - "!"!"!"!                - - - - - - - - "!"!"!"!                - - - - - - - "!"!"!"!                - - - - - "!"!"!"!               - - - - - - - - "!"!"!"!             - - - - - - - - "!"!"!"!                - - - - - - - - "!"!"!"!                - - - - - - - - "!"!"!"!                - - - - - - - - "!"!"!"!                - - - - - - - - PPOONNMMiijjkkllZZ[[\\]],++**))(55667788llkkjjii==>>??@@ddccbbaa EEFFGGHH\\[[ZZYYMMNNOOPPTTSSRRQQUUVVWWXXLLKKJJII uuvvwwxxggffeedd^__``aab;;::9988nnooppqq33221100""##$$%%vvwwxxyy~~}}||++**))((**++,,--~~wwvvuutt##""!! 22334455oonnmmll::;;<<==XXWWVVUU||}}~~hggffeed - - KKLLMMNNVVUUTTSSSSTTUUVVNNMMLLKK - -[[\\]]^^FFEEDDCCccddeeff>>==<<;;kkllmmnn66554433(())**++LLKKJJIIwwxxyyzzyyxxwwvv%%$$##""00112233qqppoonn8899::;;iihhggff@@AABBCCaa``__^^ - -HHIIJJKKYYXXWWVVPPQQRRSS==<<;;:://001122QPONMMLL aabbccdd@@??>>==iijjkkll88776655 qqrrsstt00//..--%%&&''((yyzz{{||||{{zzyy((''&&%%LLKKJJIImmnnoopp~~}}||{{^^__``aa(''&&%%$99::;;<>??@@AATTSSMMLL dccbbaa`OOPPQQRRRRQQPPOOWWXXYYZZJJIIHHGG __``aabbBBAA@@??gghhiijj::998877ooppqqrr221100//,,--..//HHGGFFEE !!""#{{||}}~~uuttssrr!! 44556677mmllkkjj<<==>>??eeddccbbDDEEFFGG]]\\[[ZZ LLMMNNOOUUTTSSRRTTUUVVWW993322113399::;;KKJJIIHHeeffgghh<<;;::99mmnnoopp44332211!!""##$$uuvvwwxx~~}},,++**))))**++,,}}~~xxwwvvuu$$##""!!HHGGFFEE qqrrssttzzyyxxwwbbccddee~~}}||$##""!! ==>>??@@ddccbbaa EEFFGGHH\\[[ZZYYMMNNOOPPTTSSRRQQUUVVWWXXLLKKJJII - - ]]^^__``DDCCBBAA}}~~__^^]]\\ fgghijkl33221100""##$$%%vvwwxxyy~~}}||++**))((**++,,--~~wwvvuutt##""!! 22334455oonnmmll::;;<<==ggffeeddBBCCDDEEKKJJIIHH!!""##$$`__^^]]\SSTTUUVVNNMMLLKK - -[[\\]]^^FFEEDDCCccddeeff>>==<<;;kkllmmnn66554433 !!""ssttuuvv..--,,++00112233DDCCBBAA#$$%%&&'qqppoonn8899::;;iihhggff@@AABBCCaa``__^^ - -HHIIJJKKYYXXWWVVPPQQRRSSQQPPOONNXXYYZZ[[00//..--<<==>>??GGFFEEDDiijjkkll88776655 qqrrsstt00//..--%%&&''((yyzz{{||||{{zzyy((''&&%%--..//00ttssrrqq DDCCBBAA!!""##$$uuvvwwxxvvuuttss ffggmmnn{{zzyyxx AABBCCDD``__^^]] - - IIJJKKLLXXWWVVUUQQRRSSTTPPOONNMMYYZZ[[\\HHGGFFEE aabbccdd@@??>>== !![[ZZYYXXmmnnoopp//..--,,&&''(())zz{{||}}{{zzyyxx''&&%%$$..//0011ssrrqqpp66778899kkjjiihh>>??@@AAccbbaa`` FFGGHHIIGGFFEEDD%%&&''((\[[ZZYYXWWXXYYZZJJIIHHGG __``aabbBBAA@@??gghhiijj::998877ooppqqrr221100//##$$%%&&wwxxyyzz~~}}||{{**))((''99::;;<<@@??>>=='(())**+mmllkkjj<<==>>??eeddccbbDDEEFFGG]]\\[[ZZ LLMMNNOOUUTTSSRRTTUUVVWWMMLLKKJJ - - \\]]^^__,,++**))@@AABBCCCCBBAA@@mmnnoopp44332211!!""##$$uuvvwwxx~~}},,++**))))**++,,}}~~xxwwvvuu$$##""!!11223344ppoonnmm@@??>>==%%&&''((yyzz{{||rrqqppoo - - - -ooppqqrrwwvvuuttEEFFGGHH\\[[ZZYYMMNNOOPPTTSSRRQQUUVVWWXXLLKKJJII - - ]]^^__``DDCCBBAAeeffgghh<<;;::99""##$$%%WWVVUUTTqqrrsstt~~}}||++**))((**++,,--~~wwvvuutt##""!! 22334455oonnmmll::;;<<==ggffeeddBBCCDDEE__^^]]\\ - - JJKKLLMMCCBBAA@@))**++,,XWWVVUUT - -[[\\]]^^FFEEDDCCccddeeff>>==<<;;kkllmmnn66554433 !!""ssttuuvv..--,,++''(())**{{||}}~~zzyyxxww&&%%$$##==>>??@@<<;;::99+,,--../iihhggff@@AABBCCaa``__^^ - -HHIIJJKKYYXXWWVVPPQQRRSSQQPPOONNXXYYZZ[[IIHHGGFF ``aabbcc((''&&%%DDEEFFGG??>>==<< qqrrsstt00//..--%%&&''((yyzz{{||||{{zzyy((''&&%%--..//00ttssrrqq 55667788llkkjjii<<;;::99))**++,,}}~~nnmmggff ssttuuvvssrrqqppIIJJKKLLXXWWVVUUQQRRSSTTPPOONNMMYYZZ[[\\HHGGFFEE aabbccdd@@??>>==iijjkkll88776655&&''(())SSMMLLKKuuvvwwxx{{zzyyxx''&&%%$$..//0011ssrrqqpp66778899kkjjiihh>>??@@AAccbbaa`` FFGGHHII[[ZZYYXXNNOOPPQQ??>>==<<--..//00TSSRQPON __``aabbBBAA@@??gghhiijj::998877ooppqqrr221100//##$$%%&&wwxxyyzz~~}}||{{**))((''++,,--..vvuuttss""!! AABBCCDD33221100/0011223eeddccbbDDEEFFGG]]\\[[ZZ LLMMNNOOUUTTSSRRTTUUVVWWMMLLKKJJ - - \\]]^^__EEDDCCBBddeeffgg$$##""!!HHIIJJKK;;::9987!!""##$$uuvvwwxx~~}},,++**))))**++,,}}~~xxwwvvuu$$##""!!11223344ppoonnmm99::;;<>==<<;;kkllmmnn66554433 !!""ssttuuvv..--,,++''(())**{{||}}~~zzyyxxww&&%%$$##//001122rrqqppooEEFFGGHH//..--,,34567899aa``__^^ - -HHIIJJKKYYXXWWVVPPQQRRSSQQPPOONNXXYYZZ[[IIHHGGFF ``aabbccAA@@??>>hhiijjkk LLMMSSTT65433221%%&&''((yyzz{{||||{{zzyy((''&&%%--..//00ttssrrqq 55667788llkkjjii==>>??@@ddccbbaa 4433221111223344aa``__^^{{||}}~~jihggffe - -QQRRSSTTPPOONNMMYYZZ[[\\HHGGFFEE aabbccdd@@??>>==iijjkkll88776655 qqrrsstt00//..--..//0011FFEEDDCC!""##$$%}}~~ssrrqqpp66778899kkjjiihh>>??@@AAccbbaa`` FFGGHHII[[ZZYYXXNNOOPPQQSSRRQQPPVVWWXXYY221100//::;;<<==IIHHGGFFgghhiijj::998877ooppqqrr221100//##$$%%&&wwxxyyzz~~}}||{{**))((''++,,--..vvuuttss""!! 33445566nnmmllkkIIJJKKLL++**))((::;;<<==]]\\[[ZZ LLMMNNOOUUTTSSRRTTUUVVWWMMLLKKJJ - - \\]]^^__EEDDCCBBddeeffgg==<<;;::llmmnnoo~~}}||UUVVWWXX100//..-))**++,,}}~~xxwwvvuu$$##""!!11223344ppoonnmm99::;;<>??@@AAEEDDCCBBkkllmmnn66554433 !!""ssttuuvv..--,,++''(())**{{||}}~~zzyyxxww&&%%$$##//001122rrqqppoo778899::jjiihhggMMSSTTUU''&&%%$$>>??@@AAYYXXWWVVPPQQRRSSQQPPOONNXXYYZZ[[IIHHGGFF ``aabbccAA@@??>>hhiijjkk99887766ppqqrrss{{zzyyxxYYZZ[[\\-,,++**)--..//00ttssrrqq 55667788llkkjjii==>>??@@ddccbbaa EEFFGGHH\\[[ZZYY~~}},,++**))99::;;<>==iijjkkll88776655 qqrrsstt00//..--%%&&''((yyzz{{||||{{zzyy((''&&%%;;<<==>>>>==<<;;)**++,,-kkjjiihh>>??@@AAccbbaa`` FFGGHHII[[ZZYYXXNNOOPPQQSSRRQQPPVVWWXXYYKKJJIIHH - - ^^__``aa**))((''BBCCDDEEAA@@??>>ooppqqrr221100//##$$%%&&wwxxyyzz~~}}||{{**))((''++,,--..vvuuttss""!! 33445566nnmmllkk;;<<==>>ffeeddccVVWWXXYY##""!! BBCCDDEEUUTTSSRRTTUUVVWWMMLLKKJJ - - \\]]^^__EEDDCCBBddeeffgg==<<;;::llmmnnoo55443322 !!""##ttuuvvwwwwvvuutt ]]^^__``)((''&&%11223344ppoonnmm99::;;<>??@@UUTTSSMM$$%%&&'']\\[[ZZY - - ]]^^__``DDCCBBAAeeffgghh<<;;::99mmnnoopp44332211!!""##$$uuvvwwxx~~}},,++**))))**++,,}}~~xxwwvvuu$$##""!!??@@AABB::993322-..//001ggffeeddBBCCDDEE__^^]]\\ - - JJKKLLMMWWVVUUTTRRSSTTUUOONNMMLL ZZ[[\\]]GGFFEEDDbbccddee&&%%$$##FFGGHHII==<<;;:: !!""ssttuuvv..--,,++''(())**{{||}}~~zzyyxxww&&%%$$##//001122rrqqppoo778899::jjiihhgg??@@AABBbbaa``__ ZZ[[\\]]FFGGHHIIQQPPOONNXXYYZZ[[IIHHGGFF ``aabbccAA@@??>>hhiijjkk99887766ppqqrrss1100//..$$%%&&''xxyyzz{{ssrrqqpp - - aabbccdd~~}}%$$##""!55667788llkkjjii==>>??@@ddccbbaa EEFFGGHH\\[[ZZYYMMNNOOPPTTSSRRQQxxwwvvuu$$##""!!AABBCCDDLLKKJJII(())**++YXXWWVVU aabbccdd@@??>>==iijjkkll88776655 qqrrsstt00//..--%%&&''((yyzz{{||||{{zzyy((''&&%%--..//00ttssrrqq CCDDEEFF1100//..12233456ccbbaa`` FFGGHHII[[ZZYYXXNNOOPPQQSSRRQQPPVVWWXXYYKKJJIIHH - - ^^__``aaCCBBAA@@ffgghhii""!! JJKKLLMM99876543##$$%%&&wwxxyyzz~~}}||{{**))((''++,,--..vvuuttss""!! 33445566nnmmllkk;;<<==>>ffeeddccCCDDEEFF^^]]\\[[ - - ^^__``aa~~}}||{{JJKKLLMMMMLLKKJJ - - \\]]^^__EEDDCCBBddeeffgg==<<;;::llmmnnoo55443322 !!""##ttuuvvww~~--,,++**(())**++||}}~~oonnmmggeeffggmm||{{zzyy! 99::;;<>==<<jjkkllmm~~SSTTUUVV3221100/''(())**{{||}}~~zzyyxxww&&%%$$##//001122rrqqppoo778899::jjiihhgg??@@AABBbbaa``__ GGHHIIJJZZYYXXWWbbccddeezzyyxxwwNOPQRSSTIIHHGGFF ``aabbccAA@@??>>hhiijjkk99887766ppqqrrss1100//..$$%%&&''xxyyzz{{}}||{{zz))((''&&,,--..//ffeeddcc nnooppqqxxwwvvuu==>>??@@ddccbbaa EEFFGGHH\\[[ZZYYMMNNOOPPTTSSRRQQUUVVWWXXLLKKJJII - - ppoonnmmIIJJKKLLDDCCBBAA00112233ONMMLLKKiijjkkll88776655 qqrrsstt00//..--%%&&''((yyzz{{||||{{zzyy((''&&%%--..//00ttssrrqq 55667788llkkjjiiKKLLMMSS))((''&&<<==>>??[[ZZYYXXNNOOPPQQSSRRQQPPVVWWXXYYKKJJIIHH - - ^^__``aaCCBBAA@@ffgghhii;;::9988nnooppqq}}||{{zzWWXXYYZZ/..--,,+++,,--..vvuuttss""!! 33445566nnmmllkk;;<<==>>ffeeddccCCDDEEFF^^]]\\[[ - - KKLLMMNNVVUUTTSSffggmmnnvvuuttss TUUVVWWXEEDDCCBBddeeffgg==<<;;::llmmnnoo55443322 !!""##ttuuvvww~~--,,++**(())**++||}}~~yyxxwwvv%%$$##""00112233bbaa``__ - - rrssttuuttssrrqqAABBCCDD``__^^]] - - IIJJKKLLXXWWVVUUQQRRSSTTPPOONNMMYYZZ[[\\HHGGFFEE llkkjjiiMMNNOOPP@@??>>==99::;;<>==<<jjkkllmm77665544 !!rrssttuuyyxxwwvv[[\\]]^^+**))(('//001122rrqqppoo778899::jjiihhgg??@@AABBbbaa``__ GGHHIIJJZZYYXXWWOOPPQQRRRRQQPPOO - -ooppqqrrrrqqppoo - - XYYZZ[[\AA@@??>>hhiijjkk99887766ppqqrrss1100//..$$%%&&''xxyyzz{{}}||{{zz))((''&&,,--..//uuttssrr!! 44556677^^]]\\[[vvwwxxyyppoonnmmEEFFGGHH\\[[ZZYYMMNNOOPPTTSSRRQQUUVVWWXXLLKKJJII - - ]]^^__``DDCCBBAAhhggffeeQQRRSSTT<<;;::99==>>??@@FFEEDDCC qqrrsstt00//..--%%&&''((yyzz{{||||{{zzyy((''&&%%--..//00ttssrrqq 55667788llkkjjii==>>??@@ddccbbaa XXYYZZ[[!! DDEEFFGGSSRRQQPPVVWWXXYYKKJJIIHH - - ^^__``aaCCBBAA@@ffgghhii;;::9988nnooppqq33221100""##$$%%vvwwxxyyuuttssrr - -__``aabb'&&%%$$#33445566nnmmllkk;;<<==>>ffeeddccCCDDEEFF^^]]\\[[ - - KKLLMMNNVVUUTTSSSSTTUUVVNNMMLLKK ssttuuvvnnmmggff\]]^^__`==<<;;::llmmnnoo55443322 !!""##ttuuvvww~~--,,++**(())**++||}}~~yyxxwwvv%%$$##""00112233qqppoonn8899::;;ZZYYXXWWzz{{||}}lkjihggf IIJJKKLLXXWWVVUUQQRRSSTTPPOONNMMYYZZ[[\\HHGGFFEE aabbccdd@@??>>==ddccbbaa UUVVWWXX33221100AABBCCDDBBAA@@??!!""##$$uuvvwwxx~~}},,++**))))**++,,}}~~xxwwvvuu$$##""!!11223344ppoonnmm99::;;<>==<<jjkkllmm77665544 !!rrssttuu//..--,,&&''(())zz{{||}}qqppoonn ccddeeff~~}}||{{#""!! 778899::jjiihhgg??@@AABBbbaa``__ GGHHIIJJZZYYXXWWOOPPQQRRRRQQPPOOWWXXYYZZJJIIHHGGwwxxyyzzeeddccbb`aabbccd99887766ppqqrrss1100//..$$%%&&''xxyyzz{{}}||{{zz))((''&&,,--..//uuttssrr!! 44556677mmllkkjj<<==>>??VVUUTTSS~~feeddccb - - MMNNOOPPTTSSRRQQUUVVWWXXLLKKJJII - - ]]^^__``DDCCBBAAeeffgghh<<;;::99``__^^]] - - YYZZ[[\\//..--,,EEFFGGHH>>==<<;;%%&&''((yyzz{{||||{{zzyy((''&&%%--..//00ttssrrqq 55667788llkkjjii==>>??@@ddccbbaa EEFFGGHH\\[[ZZYY``aabbcc||{{zzyyLLMMNOPQKKJJIIHH - - ^^__``aaCCBBAA@@ffgghhii;;::9988nnooppqq33221100""##$$%%vvwwxxyy~~}}||++**))((**++,,--~~mmggffeeggmmnnoozzyyxxww;;<<==>>ffeeddccCCDDEEFF^^]]\\[[ - - KKLLMMNNVVUUTTSSSSTTUUVVNNMMLLKK - -[[\\]]^^FFEEDDCC{{||}}~~aa``__^^ - - deeffggh55443322 !!""##ttuuvvww~~--,,++**(())**++||}}~~yyxxwwvv%%$$##""00112233qqppoonn8899::;;iihhggff@@AABBCCMMLLKKJJ !!""baa``__^QQRRSSTTPPOONNMMYYZZ[[\\HHGGFFEE aabbccdd@@??>>==iijjkkll88776655 --..//00\\[[ZZYY - - ]]^^__``++**))((IIJJKKLL::998765))**++,,}}~~xxwwvvuu$$##""!!11223344ppoonnmm99::;;<>==<<jjkkllmm77665544 !!rrssttuu//..--,,&&''(())zz{{||}}{{zzyyxx''&&%%$$..//0011ddccbbaa - - ppqqrrssvvuuttss??@@AABBbbaa``__ GGHHIIJJZZYYXXWWOOPPQQRRRRQQPPOOWWXXYYZZJJIIHHGG __``aabbBBAA@@??]]\\[[ZZ ijklmmnn1100//..$$%%&&''xxyyzz{{}}||{{zz))((''&&,,--..//uuttssrr!! 44556677mmllkkjj<<==>>??eeddccbbDDEEFFGGIIHHGGFF##$$%%&&^]]\\[[ZUUVVWWXXLLKKJJII - - ]]^^__``DDCCBBAAeeffgghh<<;;::99mmnnoopp44332211!!""##$$11223344XXWWVVUU aabbccdd''&&%%$$MMSSTTUU43322110--..//00ttssrrqq 55667788llkkjjii==>>??@@ddccbbaa EEFFGGHH\\[[ZZYYMMNNOOPPTTSSRRQQmmnnooppttssrrqq - - VWWXXYYZCCBBAA@@ffgghhii;;::9988nnooppqq33221100""##$$%%vvwwxxyy~~}}||++**))((**++,,--~~wwvvuutt##""!! 22334455``__^^]] ttuuvvwwrrqqppooCCDDEEFF^^]]\\[[ - - KKLLMMNNVVUUTTSSSSTTUUVVNNMMLLKK - -[[\\]]^^FFEEDDCCccddeeff>>==<<;; !!""##YYXXWWVVooppqqrr~~--,,++**(())**++||}}~~yyxxwwvv%%$$##""00112233qqppoonn8899::;;iihhggff@@AABBCCaa``__^^ - -HHIIJJKKEEDDCCBB''(())**ZYYXXWWVYYZZ[[\\HHGGFFEE aabbccdd@@??>>==iijjkkll88776655 qqrrsstt00//..--%%&&''((55667788TTSSRRQQeeffgghh##""!! VVWWXXYY0//..--,11223344ppoonnmm99::;;<>==<<jjkkllmm77665544 !!rrssttuu//..--,,&&''(())zz{{||}}{{zzyyxx''&&%%$$..//0011ssrrqqpp66778899\\[[ZZYYxxyyzz{{nnmmlkji GGHHIIJJZZYYXXWWOOPPQQRRRRQQPPOOWWXXYYZZJJIIHHGG __``aabbBBAA@@??gghhiijj::998877$$%%&&''UUTTSSMMssttuuvv}}||{{zz))((''&&,,--..//uuttssrr!! 44556677mmllkkjj<<==>>??eeddccbbDDEEFFGG]]\\[[ZZ LLMMNNOOAA@@??>>++,,--..VUUTTSSR - - ]]^^__``DDCCBBAAeeffgghh<<;;::99mmnnoopp44332211!!""##$$uuvvwwxx~~}},,++**))))**++,,99::;;<<==>>??@@ddccbbaa XXYYZZ[[!! DDEEFFGGSSRRQQPPVVWWXXYYKKJJIIHH - - ^^__``aaCCBBAA@@ffgghhii;;::9988nnooppqqzzyyxxwwbbccddeessrrqqppFFGGHHIIAABBCCDD``__^^]] - - \\]]^^__~~}}HHIIJJKKOONNMMLL ZZ[[\\]]GGFFEEDDbbccddee??>>==<<jjkkllmm77665544 !!rrssttuuvvuuttss ffggmmnnoonnmmllJJKKLLMMEEFFGGHH\\[[ZZYY``aabbcc||{{zzyyLLMMNOPQKKJJIIHH - - ^^__``aaCCBBAA@@ffgghhii;;::9988nnooppqq33221100""##$$%%vvwwxxyyrrqqppoo - - - -ooppqqrrkkjjiihhNNOOPPQQIIJJKKLLXXWWVVUUddeeffggxxwwvvuu RSSTTUUVGGFFEEDDbbccddee??>>==<<jjkkllmm77665544 !!rrssttuu//..--,,&&''(())zz{{||}}nnmmggff ssttuuvvggffeeddRRSSTTUUMMNNOOPPTTSSRRQQmmnnooppttssrrqq - - VWWXXYYZCCBBAA@@ffgghhii;;::9988nnooppqq33221100""##$$%%vvwwxxyy~~}}||++**))((**++,,--~~eeddccbbwwxxyyzzccbbaa`` VVWWXXYYQQRRSSTTPPOONNMM - - qqrrssttppoonnmmZ[[\\]]^??>>==<<jjkkllmm77665544 !!rrssttuu//..--,,&&''(())zz{{||}}{{zzyyxx''&&%%$$..//0011aa``__^^{{||}}~~__^^]]\\ - - ZZ[[\\]]UUVVWWXXLLKKJJII uuvvwwxxggffeedd^__``aab;;::9988nnooppqq33221100""##$$%%vvwwxxyy~~}}||++**))((**++,,--~~wwvvuutt##""!! 22334455]]\\[[ZZ[[ZZYYXX - - ^^__``aaYYZZ[[\\HHGGFFEEyyzz{{||ccbbaa`` - -bccddeef77665544 !!rrssttuu//..--,,&&''(())zz{{||}}{{zzyyxx''&&%%$$..//0011ssrrqqpp66778899YYXXWWVV !!""##WWVVUUTTbbccddee]]^^__``DDCCBBAA}}~~__^^]]\\ fgghijkl33221100""##$$%%vvwwxxyy~~}}||++**))((**++,,--~~wwvvuutt##""!! 22334455oonnmmll::;;<<==UUTTSSMM$$%%&&''SSRRQQPPffgghhiiaabbccdd@@??>>== !![[ZZYYXXmmnnoopp//..--,,&&''(())zz{{||}}{{zzyyxx''&&%%$$..//0011ssrrqqpp66778899kkjjiihh>>??@@AALLKKJJII(())**++OONNMMLLjjkkllmmeeffgghh<<;;::99""##$$%%WWVVUUTTqqrrsstt~~}}||++**))((**++,,--~~wwvvuutt##""!! 22334455oonnmmll::;;<<==ggffeeddBBCCDDEEHHGGFFEE,,--..//KKJJIIHHnnooppqqiijjkkll88776655&&''(())SSMMLLKKuuvvwwxx{{zzyyxx''&&%%$$..//0011ssrrqqpp66778899kkjjiihh>>??@@AAccbbaa`` FFGGHHIIDDCCBBAA00112233GGFFEEDD !!rrssttuummnnoopp44332211**++,,--JJIIHHGG !yyzz{{||wwvvuutt##""!! 22334455oonnmmll::;;<<==ggffeeddBBCCDDEE__^^]]\\ - - JJKKLLMM@@??>>==99::;;<>??@@AAccbbaa`` FFGGHHII[[ZZYYXXNNOOPPQQ<<;;::99==>>??@@??>>==<<&&''(())zz{{||}}uuvvwwxx~~}},,++**))223399::BBAA@@??%&&''(()oonnmmll::;;<<==ggffeeddBBCCDDEE__^^]]\\ - - JJKKLLMMWWVVUUTTRRSSTTUU33221100AABBCCDD;;::9988**++,,--~~yyzz{{||||{{zzyy((''&&%%;;<<==>>>>==<<;;)**++,,-kkjjiihh>>??@@AAccbbaa`` FFGGHHII[[ZZYYXXNNOOPPQQSSRRQQPPVVWWXXYY//..--,,EEFFGGHH77665544..//0011}}~~xxwwvvuu$$##""!!??@@AABB::993322-..//001ggffeeddBBCCDDEE__^^]]\\ - - JJKKLLMMWWVVUUTTRRSSTTUUOONNMMLL ZZ[[\\]]++**))((IIJJKKLL3322110022334455ttssrrqq CCDDEEFF1100//..12233456ccbbaa`` FFGGHHII[[ZZYYXXNNOOPPQQSSRRQQPPVVWWXXYYKKJJIIHH - - ^^__``aa''&&%%$$MMSSTTUU//..--,,66778899ppoonnmmGGHHIIJJ--,,++**7899::;;__^^]]\\ - - JJKKLLMMWWVVUUTTRRSSTTUUOONNMMLL ZZ[[\\]]GGFFEEDDbbccddee##""!! VVWWXXYY~~}}||++**))((::;;<<==llkkjjiiKKLLMMSS))((''&&<<==>>??[[ZZYYXXNNOOPPQQSSRRQQPPVVWWXXYYKKJJIIHH - - ^^__``aaCCBBAA@@ffgghhiiZZ[[\\]]{{zzyyxx''&&%%$$>>??@@AAhhggffeeTTUUVVWW%%$$##""@@AABBCCWWVVUUTTRRSSTTUUOONNMMLL ZZ[[\\]]GGFFEEDDbbccddee??>>==<<jjkkllmm~~}}||{{^^__``aawwvvuutt##""!! BBCCDDEEZHAbZHAb|ZdQb|ZdQbp`fnXbHAZprtAJldrtAH~fH~fr˂pr˂ptlJtlJfpvfpvp˂rp˂rdrtAdtAJH~fH~fr˂pbtltlJfpvfpvXQJ`ےp˂rdrtAJnvpvXnۀ˂pZ˂pZlJtAlJtApvnpvn˂rXQ˂rXQdrtAJdrtAJ~f`~f`˂pZ˂pZlJtAlJtApvnpvn˂rXQ˂rXQJltf`vXfH~ZHAbr˂plJtArlJtArvnXnrXQrXQJrtAJlrtAJlf`vf`v˂pZHA˂pZHAlJtArlJtArvnXvnXrXQJrXQJrtAJlrtAJlfH~nvpے`JXQtJArddQbt璀nXvnXvrXQJ`rXQJ`tAJltAJlf`vXf`vXpZHAbpZHAbJtArdJtArdnXvnXvrXQJ`rXQJ`tAJlJltf`vXfZHAbXQr˂dQbtd|Zf~HfXQJ`ےXQJ`ےJltJlt`vXn`vXnZHAbZHAbtArdtArdnXv`nXv`XQJ`ےXQJ`ےJltJltے`JXQے`JXQtlJtlJ~Hfpv`f˂rXQbQZ|Jlt`vXn`vXnZHAbZHAbtArdtArdnXv`nXv`XQJ`ےXQJ`ےJltltb`vXnZHAbZHAbJtAdtArdnXv`nXv`bHAZXQJ`ےltbff`vvpfHHAbےHAbےrd|rd|Xv`fXv`fJ`ےJ`ےltbltbvXnvXnHAbےHAbےrd|rd|Xv`fXv`fJ`ےJ`ےbdQtAJnff`pf`JXQZA`Jd|Zdfv`fJ`ے`ےbtbdQtbdQXnvXnvbے`bے`d|Zd|Zv`fv`f`ےb`ےbtbdQtbdQf`vXfH~r˂p|ZdlJtAr`f~`f~ےbHAےbHAtbdQZtbdQZnvpnvpے`Jے`J|ZdQ|ZdQ`f~`fHےbHAےbHAtbdQZbnvnvp˂pp`JXQl|ZdQdQtArdpvnbHAZbHAZbdQZ|bdQZ|vpfvpfے`JXQے`JXQ|ZdQb|ZdQbf~Hf~HbHAZbHAZbdQZ|bdQZ|r˂pr˂ptArdtArdvnX~HfpJ`ےdrtAJbdQZ|vpfvpfے`JXQے`JXQ|ZdQb|ZdQbf~HfHfbHAZbHAZbdQZ|nvpvpfے`JXQے`JXQ|ZdQb|ZdQbf~Hf~Hp˂rbHAZdQZ|Xnv~fvn`JXQr`JXQrZdQbtZdQbt~Hf~HfbHAZpbHAZpdQZ|dQZ|vpfHvpfH`JXQr`JXQrZdQbtZdQbt~Hf~HfbHAZpbHAZpltb`vXnH~fr˂pXQrbtdQbt~Hfp~HfpHAZp˂HAZp˂Z|dZ|dpfH~pfH~JXQrJXQrdQbtdQbt~Hfp~HfpHAZp˂HAZp˂Z|dZ|dnvpf`vXZHAbQbtld|ZQHfpvHfpvZp˂Zp˂|dr|drfH~fH~XQr˂XQr˂btlbtlHfpvfpvZp˂Zdr|drpfHfH~ZHAbr˂pbtlf~Xv`fp˂rp˂rdrtAdrtAH~fH~fr˂pr˂ptlJtlJfpvfpvp˂rp˂rdrtAdrtAZHAbZHAb|ZdQb|ZdQbv`fvnXbHAXQJltbdrAJH~fH~fr˂pr˂ptlJtlJfpvpvnp˂rdrtAdrtAfHfH~fr˂pr˂ptlJtlJfpvfpvXQHAZpp`ےdrtAJpfH~vpf˂pZ˂pZlJtAlJtApvnpvn˂rXQ˂rXQdrtAJdrtAJ~f`~f`˂pZ˂pZlJtAlJtApvnpvn˂rXQ˂rXQdQZ|vpf`vXnZHAblJtAlJtArvnXvnXrXQJrXQJrtAJlrtAJlf`vf`v˂pZHA˂pZHAlJtArlJtArvnXvnXrXQJrXQJrtAJlrtAJl`vXnH~fے`JXQJtArdblJtnXvnXvrXQJ`rXQJ`tAJltAJlf`vXf`vXpZHAbpZHAJtArdJtArdnXvnrXQJrXQJ`tAJltAJlf`vXf`vXے`JXQZHAbJtArdHfvnX~HfXQJ`ےXQJ`ےJltJlt`vXn`vXnZHAbZHAbtArdtArdnXv`nXv`XQJ`ےXQJ`ےJltJltے`JXQے`JXQtlJtlJ~Hfpv`p˂`ےbdQZ|tbdQZ`vXn`vXnZHAbZHAےtArdtArdnXv`rXQJ`XQJ`ےJltJlt`vXn`vXnZHAbZHAbtArdtArdnXv`nXv`˂rXQbHAZpltbf`vH~fHAbےHAbےrd|rd|Xv`fXv`fJ`ےJ`ےltbltbvXnvXnHAbےHAbےrd|rd|Xv`fXv`fJ`ےJ`ےdrtAJH~fvpf`JXQd|Zd|Zv`fv`f`ےb`ےbtbdQtbdQXnvXnvbے`bے`d|Zd|Zv`fv`f`ےb`ےbtbdQtbdQvpfZHAbr˂p|ZdArd|`f~`f~ےbHAےbHAtbdQZtbdQZnvpnvpے`Jے`JXQ|ZdQf~`f~`ےHAےbHAtbdQZtbdQZnvpnvpr˂pے`JXQ|ZdQv`fpvnbHAZbHAZbdQZ|bdQZ|vpfvpfے`JXQے`JXQ|ZdQb|ZdQbf~Hf~HbHAZbHAZbdQZ|bdQZ|r˂pr˂ptArdtArdv~rXQJHAZp˂drtAJ|drvpfvpfے`JXQ`JXQr|ZdQbf~Hf~HےHAZbHAZbdQZ|bdQZ|vpfvpfے`JXQے`JXQ|ZdQb|ZdQbf~Hf~HJ`ے˂rXQdQtAJlXnv`vXn`JXQr`JXQrZdQbtZdQbt~Hf~HfbHAZpbHAZpdQZ|dQZ|vpfHvpfH`JXQr`JXQrZdQbtZdQbt~HfHfpbHAZpbHAZltb`vXnH~frZAbdQbtdQbt~Hfp~HfpHAZp˂HAZp˂Z|dZ|dpfH~pfH~JXQrJXQrdQbtdQbt~Hfp~HfpHAZp˂HAZp˂Z|dZ|dH~f˂pZ`JXQrQbtlZdQbtHfpvHfpvZp˂Zp˂|dr|dtAfH~fH~XQr˂rbtbtlHfpvHfpvZp˂Zp˂|dr|drfH~fH~ZHAbr˂pbtl~HfpXv`fp˂rp˂rdrtAdrtAH~fH~fr˂pr˂ptlJtlJfpvfpvp˂rp˂rdrtAdrtAZHAbZHAb|ZdQb|ZdQbHfpv`ےbrXQJltbQtAJlH~fH~fr˂pbtltlJfpvfpvp˂rp˂rdrtAdrtAH~fH~fr˂pr˂ptlJtlJfpvfpvbHAZpJ`ےtbdQf~f`vpf˂pZ˂pZlJtAlJtApvnpvn˂rXQ˂rXQdrtAJdrtAJ~f`~f`˂pZ˂pZlJtAlJtApvnvnr˂rXQdrtAdQdQZ|lvp``vXHے`JlJtArlJtArvnXvnXrXQJrXQJrtAJlrtAJlf`vf`v˂pZHA˂pZHAlJtArlJtArvnXvnXrXQJrXQJrtAJlrtAJl`vXnHAbے˂pZJAr|lJtnXvnXvrXQJ`rXQJ`tAJlJltf`vXfZHAbpZHAblJtAdJtArdnXvnXvrXQJ`rXQJ`tAJltAJlf`vXf`vXے`pZZHAXQrJtAdQbvnX~fpvXQJ`ےXQJ`ےJltJlt`vXn`vXnZHAbZHAbtArdtArdnXv`nXv`XQJ`ےXQJ`ےJltJltے`JXQے`JXQtlJtlJnXvHAZp˂`ےbZdrttbdQZ`vXnZHAbZHAbJtAdtArdnXv`nXv`XQJ`ےXQJ`ےJltJlt`vXn`vXnZHAbZHAbtArdtArdnXv`nXv`˂rXQbHAZpZ|dvXnH~fHAbےHAbےrd|rd|Xv`fXv`fJ`ےJ`ےltbltbvXnvXnHAbےHAے`rd|rdfXv`fXQJ`ےJ`ےZ|dtbdQvXn~fZXQr˂d|Zd|Zv`fv`f`ےb`ےbtbdQtbdQXnvXnvbے`bے`d|Zd|Zv`fv`f`ےb`ےbtbdQtbdQvpf`JXQrHAbےZdQbtArd|`f~`fHےbHAےbHAtbdQZbnvnvpے`Jے`J|ZdQ|ZdQ`f~`f~ےbHAےbHAtbdQZtbdQZnvpnvpHAbے˂pZtlJv`fnXv`bHAZbHAZbdQZ|bdQZ|vpfvpfے`JXQے`JXQ|ZdQb|ZdQbf~Hf~HbHAZbHAZbdQZ|bdQZ|r˂pr˂ptArdtArd`f~rXQHAHAZp`AJlt|dnvpfے`JXQے`JXQ|ZdQb|ZdQbf~Hf~HbHAZbHAZbdQZ|bdQZ|vpfvpfے`JXQے`JXQ|ZdQb|ZdQbf~Hf~HJ`p˂˂brtAJlvpfH`vnvp`JXQr`JXQrZdQbtZdQbt~Hf~HfbHAZpbHAZpdQZ|dQZ|vpfHvpfH`JXQrJXQrbZdQbt~Hf~HfHAZpbHAZprtAJlZ|dvpfHHAbpZHAbdQbtdQbt~Hfp~HfpHAZp˂HAZp˂Z|dZ|dpfH~pfH~JXQrJXQrdQbtdQbt~Hfp~HfpHAZp˂HAZp˂Z|dZ|dHXn˂pZ`JXQrlJtAZdQbHfpvfpvZp˂Zdr|drpfHfH~XQr˂XQr˂btlbtlHfpvHfpvZp˂Zp˂|dr|drfH~fH~`JXQrHAbےtArd~Hfpf~Hp˂rp˂rdrtAdrtAH~fH~fr˂pr˂ptlJtlJfpvfpvp˂rp˂rdrtAdtAJZHAbZHAb|ZdQb|ZdQbHfpvZp˂ےbHAbdQZ|vffH~fr˂pr˂ptlJtlJfpvfpvp˂rp˂rdrtAdrtAH~fH~fr˂pr˂ptlJtlJfpvfpvrXQJHAZdtbdQ~f`fH~˂pZ˂pZlJtAlJtApvnpvn˂rXQ˂rXQdrtAJdtAJl~f`~fZ˂pZtlJlJtApvnpvn˂rXQ˂rXQtbdQrtAJl~f`JQr˂pے`JlJtArlJtArvnXvnXrXQJrXQJrtAJlrtAJlf`vf`v˂pZHA˂pZHAlJtArlJtArvnXvnXrXQJrXQJrtAJlrtAJlvpfHHAbے˂pZrd|JtArdnXvnrXQJrXQJ`tAJltAJlf`vXf`vXpZHAbpZHAbJtArdJtArdnXvnXvrXQJ`rXQJ`tAJltAJlf`vXf`vX˂pZ`JXQr|ZdQbvnv`fpvXQJ`ےXQJ`ےJltJlt`vXn`vXnZHAbZHAbtArdtArdnXv`nXv`XQJ`ےXQJ`ےJltltbے`JXQے`JXQtlJtlJnXHrXQJ`Zp˂drt`vXn`vXnZHAbZHAbtArdtArdnXv`nXv`XQJ`ےXQJ`ےJltJlt`vXn`vXnZHAbZHAbtArdtArdnXv`nXv``ےbrtAdQZZ|l璍vXnf`vXHAbےHAbےrd|rd|Xv`fXv`fJ`ےJ`ےltbtbnvXnHAbےHAbےtAd|rd|Xv`fXv`fJ`ےJ`ےZ|dtbdQvXnZHAbXQr˂d|Zd|Zv`fv`f`ےb`ےbtbdQtbdQXnvXnvbے`bے`d|Zd|Zv`fv`f`ےb`ےbtbdQtbdQ~f``pZHAHAXQrZdQbtf~`f~`ےHAےbHAtbdQZtbdQZnvpnvpے`Jے`J|ZdQ|ZdQ`f~`f~ےbHAےbHAtbdQZtbdQZnvpnvpHAbے˂p`tlJf~HnXv`bHAZbHAZbdQZ|bdQZ|vpfvpfے`JXQے`JXQ|ZdQb|ZdQbf~HfHfbHAZbHAZbdQZ|nvpr˂pr˂ptArdtArdfpvےbHArXQJ`AJltvpfvpfے`JXQے`JXQ|ZdQb|ZdQbf~Hf~HbHAZbHAZbdQZ|bdQZ|vpfvpfے`JXQے`JXQ|ZdQb|ZdQbf~Hf~HHAZp˂|drtbdQZvpf~nvp`JXQr`JXQrZdQbtZdQbt~HfHfpbHAZpbHAZdQZ|vpfvpfH`JXQr`JXQrZdQbtZdQbt~Hf~HfbHAZpbHAZprtAJlZ|dvpfHے`JXpZAb`dQbtdQbt~Hfp~HfpHAZp˂HAZp˂Z|dZ|dpfH~pfH~JXQrJXQrdQbtdQbt~Hfp~HfpHAZp˂HAZp˂Z|dZ|dvXnbے`˂pZHAlJtAHfpvHfpvZp˂Zp˂|dr|drfH~fH~XQr˂XQr˂btlbtlHfpvHfpvZp˂Zp˂|dr|drfH~fH~`JXQHAJXQrbtArdtfpvf~fp˂rp˂rdrtAdrtAH~fH~fr˂pr˂ptlJtlJfpvpvnp˂rdrtAdrtAfHfZHAbZHAb|ZdQb|ZdQbnXv`Zp˂ےbHAbdQZH~fH~fr˂pr˂ptlJtlJfpvfpvp˂rp˂rdrtAdrtAH~fH~fr˂pr˂ptlJtlJfpvfpvrXQJtAJl|drf`vXfH~˂pZ˂pZlJtAlJtApvnvnr˂rXQdrtAJdrtAJHf`~f`˂pZ˂pZlJtAlJtApvnpvn˂rXQ˂rXQ|drtbdQZXnvQr˂pJXQrlJtArlJtArvnXvnXrXQJrXQJrtAJlrtAJlf`vf`v˂pZHA˂pZHAlJtArlJtArvnXvnXrXQJrXQJrtAJltAJlvpfHJXQrbے`rZdQnXvnXvrXQJ`rXQJ`tAJltAJlf`vXf`vXpZHAbpZHAbJtArdJtArdnXvnXvrXQJ`rXQJ`tAJltAJlf`vXf`vXbے`tl|lJtAnXv`vnXXQJ`ےXQJ`ےJltJlt`vXn`vXnZHAbZHAےtArdtArdnXv`rXQJ`XQJ`ےJltJlt`vXnے`JXQے`JXQtlJtlJf~HrXQJ`Zp˂rtAJl`vXn`vXnZHAbZHAbtArdtArdnXv`nXv`XQJ`ےXQJ`ےJltJlt`vXn`vXnZHAbZHAbtArdtArdnXv`nXv``ےtbdQZtAJlnvpf`vXHAbےHAے`rd|rdfXv`fXQJ`ےJ`ےltbltbvXnvXnHAbےHAbےrd|rd|Xv`fXv`fJ`ےJ`ےtAJl|drpfH~ZHAb˂pZHd|Zd|Zv`fv`f`ےb`ےbtbdQtbdQXnvXnvbے`bے`d|Zd|Zv`fv`f`ےb`ےbtbdQtbn~v˂pZHAJXQrbtl`f~`f~ےbHAےbHAtbdQZtbdQZnvpnvpے`Jے`J|ZdQ|ZdQ`f~`f~ےbHAےbHAtbdQZtbdQZnvpnvpJXQrZdQbtrd|f~Hv`fbHAZbHAZbdQZ|bdQZ|vpfvpfے`JXQ`JXQr|ZdQbf~Hf~HےHAZbHAZbdQZ|bdQZ|vpfr˂pr˂ptArdtArdfpvp˂rbHAZtbdQvpfvpfے`JXQے`JXQ|ZdQb|ZdQbf~Hf~HbHAZbHAZbdQZ|bdQZ|vpfvpfے`JXQے`JXQ|ZdQb|ZdQbf~Hf~HrXQJ`|drtbdQZfH~nvfH`JXQrJXQrbZdQbt~Hf~HfHAZpbHAZpdQZ|dQZ|vpfHvpfH`JXQr`JXQrZdQbtZdQbt~Hf~HfbHAZpbHAZptbdQZtAJl璐f`vے`JQrAbے`dQbtdQbt~Hfp~HfpHAZp˂HAZp˂Z|dZ|dpfH~pfH~JXQrJXQrdQbtdQbt~HfpHfpvHAZp˂HAZdZ|dvp`vpfH~bے`˂p`JJtArdHfpvHfpvZp˂Zp˂|dr|drfH~fH~XQr˂XQr˂btlbtlHfpvHfpvZp˂Zp˂|dr|drfH~fH~˂pZHAlJtAZdQbtfpv~Hfpp˂rp˂rdrtAdtAJH~fH~fr˂pbtltlJfpvfpvp˂rp˂rdrtAdrtAH~fZHAbZHAb|ZdQbf~HnXv`XQJ`ےdrtAZ|dH~fH~fr˂pr˂ptlJtlJfpvfpvp˂rp˂rdrtAdrtAH~fH~fr˂pr˂ptlJtlJfpvfpvےbHAtAJl||dtf`vX~fZ˂pZtlJlJtApvnpvn˂rXQ˂rXQdrtAJdrtAJ~f`~f`˂pZ˂pZlJtAlJtApvnpvn˂rXQ˂rXQ|drtbdQZXnvpZHAJXQrlJtArlJtArvnXvnXrXQJrXQJrtAJlrtAJlf`vf`v˂pZHA˂pZHAlJtArlJtArvnXnrXQrXQJrtAJlrtAJlXnvf`vJXQHAbXQrbt|ZdQnXvnXvrXQJ`rXQJ`tAJltAJlf`vXf`vXpZHAbpZHAbJtArdJtArdnXvnXvrXQJ`rXQJ`tAJltAJlf`vXf`vXbے`rd|lJtAnvfvnXXQJ`ےXQJ`ےJltltb`vXnZHAbZHAbJtAdtArdnXv`nXv`XQJ`ےXQJ`ےJltJlt`vXnے`JXQے`JXQtlJXv`fpvnbHAZJbdQrtAJl`vXn`vXnZHAbZHAbtArdtArdnXv`nXv`XQJ`ےXQJ`ےJltJlt`vXn`vXnZHAbZHAbtArdtArdnXv`nXv`Zp˂drtAbdQZ|nvpHAbےHAbےtAd|rd|Xv`fXv`fJ`ےJ`ےltbltbvXnvXnHAbےHAbےrd|rd|Xv`fXv`fJ`ےJ`ےtAJl|ltpfH~bے`˂pZHd|Zd|Zv`fv`f`ےb`ےbtbdQtbdQXnvXnvbے`ے`Jd|Zdfv`fJ`ے`ےbtbdQtbdQpfH~Xnvے`JlJAbtl`f~`f~ےbHAےbHAtbdQZtbdQZnvpnvpے`Jے`J|ZdQ|ZdQ`f~`f~ےbHAےbHAtbdQZtbdQZnvpnvpJXQrZdQbtrd|~Hfpv`ffbHAZbHAZbdQZ|nvpvpfے`JXQے`JXQ|ZdQb|ZdQbf~Hf~HbHAZbHAZbdQZ|bdQZ|vpfr˂pr˂ptArd~HfXv`fp˂rZ|dtbdQvpfvpfے`JXQے`JXQ|ZdQb|ZdQbf~Hf~HbHAZbHAZbdQZ|bdQZ|vpfvpfے`JXQے`JXQ|ZdQb|ZdQbf~HfHfrXQJ`JltdrtAfH~f`JXQr`JXQrZdQbtZdQbt~Hf~HfbHAZpbHAZpdQZ|dQZ|vpfHvpfH`JXQr`JXQrZdQbtZdQbt~Hf~HfbHAZpbHAZptdrtAbnvvpJXQrAbJXQdQbtdQbt~Hfp~HfpHAZp˂HAZp˂Z|dZ|dpfH~pfH~JXQrXQrbtdQbt~Hfp~HfpHAZp˂HAZp˂Z|dZ|df`vpfH~XQr˂|ZdQbJtArdHfpvHfpvZp˂Zp˂|dr|drfH~fH~XQr˂XQr˂btlbtlHfpvHfpvZp˂Zp˂|dr|drfH~fH~ے`Jd|ZlJtArvnXpvnp˂rdrtAdrtAfHfH~fr˂pr˂ptlJtlJfpvfpvp˂rp˂rdrtAdrtAH~f`vXnZHAb|ZdQb|ZdQbpvn~HfXQJ`ےrtAJlZ|rAH~fH~fr˂pr˂ptlJtlJfpvfpvp˂rp˂rdrtAdrtAH~fH~fr˂pr˂ptlJtlJfpvpvnےbHAbdQZ|JltvXnۀ˂pZ˂pZlJtAlJtApvnpvn˂rXQ˂rXQdrtAJdrtAJ~f`~f`˂pZ˂pZlJtAlJtApvnpvn˂rXQ˂rXQJltp`vXfH~˂pZHAr˂plJtArlJtArvnXvnXrXQJrXQJrtAJltAJl璐f`vfZHA˂pZHAlJtAlJtArvnXvnXrXQJrXQJrtAJlrtAJlXnf`ppZHAbtlJZQbt璀nXvnXvrXQJ`rXQJ`tAJltAJlf`vXf`vXpZHAbpZHAbJtArdJtArdnXvnXvrXQJ`rXQJ`tAJltAJlf`vXf`vXXQr˂dQbtd|Zv`frXQJ`XQJ`ےJltJlt`vXn`vXnZHAbZHAbtArdtArdnXv`nXv`XQJ`ےXQJ`ےJltJlt`vXnvpfے`JXQtlJtlJXv`fpvnrXQtbdQJlt`vXn`vXnZHAbZHAbtArdtArdnXv`nXv`XQJ`ےXQJ`ےJltJlt`vXn`vXnZHAbZHAےtArdtArdnXv`rXQJ`XQJ`ےdrtAbdQZ|vpfHHAbےHAbےrd|rd|Xv`fXv`fJ`ےJ`ےltbltbvXnvXnHAbےHAbےrd|rd|Xv`fXv`fJ`ےJ`ےbdQZ|nvpf`vXbے`ZHAbd|Zd|Zv`fv`f`ےb`ےbtbdQtbnXnvbے`bے`d|Zd|Zv`fv`f`ےb`ےbtbdQtbdQf`vXfH~ے`JtArdlJtAr`f~`f~ےbHAےbHAtbdQZtbdQZnvpnvpے`Jے`J|ZdQ|ZdQ`f~`f~ےbHAےbHAtbdQZtbdQZnvpnvppZHAblJtArdQbt~HfpےHAZbHAZbdQZ|bdQZ|vpfvpfے`JXQے`JXQ|ZdQb|ZdQbf~Hf~HbHAZbHAZbdQZ|bdQZ|vpfH~fr˂ptArdtArd~HfXv`fJ`ےZ|dbdQZ|vpfvpfے`JXQے`JXQ|ZdQb|ZdQbf~Hf~HbHAZbHAZbdQZ|bdQZ|vpfvpfے`JXQ`JXQr|ZdQbf~Hf~Hp˂rbHAZJltltb~f``JXQr`JXQrZdQbtZdQbt~Hf~HfbHAZpbHAZpdQZ|dQZ|vpfHvpfH`JXQr`JXQrZdQbtZdQbt~Hf~HfbHAZpbHAZpdrtAfH~nvpJXQrے`JXQdQbtdQbt~HfpHfpvHAZp˂HAZdZ|dvpfHpfH~JXQrJXQrdQbtdQbt~Hfp~HfpHAZp˂HAZp˂Z|dZ|dnvpf`vXXQr|ZdQbd|ZHfpvHfpvZp˂Zp˂|dr|drfH~fH~XQr˂XQr˂btlbtlHfpvHfpvZp˂Zp˂|dr|dtAfH~fH~ے`Jd|ZlJtArvnXvp˂rp˂rdrtAdrtAH~fH~fr˂pr˂ptlJtlJfpvfpvp˂rp˂rdrtAdrtAH~f`vXnvpfvpfے`JXQے`JXQJtArdHfp``fZp˂bHAZdQZ|vpfvpfH`JXQr`JXQrZdQbtZdQbt~Hf~HfbHAZpbHAZpdQZ|dQZ|vpfHvpfHJXQrbے`ۑpJAHH~ㅐfەH~ㅐfۂdrQtH~fH~fr˂pr˂p|ZdQf~HnXv`rXQJ`drtAJdrtAJHf`~f`˂pZ˂pZlJtAlJtApvnpvn˂rXQ˂rXQdrtAJdrtAJ~f`~f`˂pZHAJXQrr󙐉۝`vXn`vXnJlt`vXn`vXnZHAbZHAےbtlfpvf~HےbAZltbltbvXnvXnHAbےHAbےrd|rd|Xv`fXv`fJ`ےJ`ےltbltbvXnvXnbے`˂p`ZpJAHrvˍpfvˍpfbAdZ|vpfvpfے`JXQ`JXQrJtArdnXv`fpvrXQdQZ|dQZ|vpfHvpfH`JXQr`JXQrZdQbtZdQbt~Hf~HfbHAZpbHAZpdQZ|dQZ|vpfHvpfHJXQHAbQXb㉀ۙˁ`ZH~ㅐfەH~ㅐfۂdrQtH~fH~fr˂pbtltlJf~HnXv`J`ےdrtAJdrtAJ~f`~f`˂pZ˂pZlJtAlJtApvnpvn˂rXQ˂rXQdrtAJdrtAJ~f`~f`ے`JpJAHrQXb㉀۝`vXn`vXnJlt`vXnZHAbZHAb|ZdQbtArdfpvpvnbHAZpltbltbvXnvXnHAbےHAbےrd|rd|Xv`fXv`fJ`ےJ`ےltbltbvXnvXnXQr˂ˁ`ZpJAHrvˍpfvˍp|bAdZ|vpfے`JXQے`JXQtlJ|ZdQb~HfrXQJ`rXQdQZ|dQZ|vpfHvpfH`JXQr`JXQrZdQbtZdQbt~Hf~HfbHAZpbHAZpdQZ|dQZ|vpfHvpfHpZHAbQXb㉀ˁ`pH~ㅐfۂdrQtdrQtH~fr˂pr˂ptArdtlJpvnAZp˂J`ےdrtAJdrtAJ~f`~f`˂pZ˂pZlJtAlJtApvnpvn˂rXQ˂rXQdrtAJdrtAJ~f`~f`ے`Jˁ`ZQXJAHr󙐝`vXnJltJlt`vXnZHAbZHAb|ZdQbtArdXv`frXQJbHAZrltbltbvXnvXnHAbےHAbےrd|rd|Xv`fXv`fJ`ےJ`ےltbltbvXnvXnXQrb㉀ۑpˁ`ZQXvˍpfbAdZ|bAdZ|vpfے`JXQے`JXQtd||lJtA~Hf`ےbXQJ`ےdQZ|dQZ|vpfHvpfH`JXQr`JXQrZdQbtZdQbt~Hf~HfbHAZpbHAZpdQZ|dQZ|vpfHvpfHے`JXQJAHrb㉀ۑpH~ㅐfۂdrQtdrQtH~fr˂pr˂pZdQbtrd|pvnHAZp˂bHAZdrtAJdrtAJ~f`~f`˂pZ˂pZlJtAlJtApvnpvn˂rXQ˂rXQdrtAJdrtAJ~f`~f`r˂pˁ`ZQXJAHr󙐝`vXnJltJlt`vXnZHAbZHAblJtAZdQbtXHfprXQJp˂rltbltbvXnvXnHAbےHAbےrd|rd|Xv`fXv`fJ`ےJ`ےltbltbvXnvXnZHAbb㉀ۑpˁ`pfvˍpfbAdZ|bAdZ|vpfے`JXQے`JXQrd|lJtAvnXbHAZpXQJ`ےdQZ|dQZ|vpfHvpfH`JXQr`JXQrZdQbtZdQbt~Hf~HfbHAZpbHAZpdQZ|dQZ|vpfHvpfHے`JXQ`ZQXbH~ㅐfەH~ㅐfۂdrQtdrQtH~fr˂pr˂pZdQbtrd|v`f˂rXbHAZdrtAJdrtAJ~f`~f`˂pZ˂pZlJtAlJtApvnpvn˂rXQ˂rXQdrtAJdtAJl~f`~frr˂pۑpJ`vXn`vXnJltJlt`vXnZHAbZHAbl|ZZdQtAr~HfpQJ`ےprQJ`ltbltbvXnvXnHAbےHAbےrd|rd|Xv`fXv`fJ`ےJ`ےltbtbnvXn˂pZ`JXQrAHr󙐂˕vˍpfvˍpfbAdZ|bAdZ|vpfے`JXQے`JXQdQbtdfvnXbHAZpےbHdQZ|dQZ|vpfHvpfH`JXQr`JXQrZdQbtZdQbt~HfHfpbHAZpbHAZdQZ|vpfvpfHHAbے˂pZ`ZQXbH~ㅐfەH~ㅐfۂdrQtdrQtH~fr˂pr˂plJtAr~HXvv`pv˂rXAZp˂drtAJdrtAJ~f`~f`˂pZ˂pZlJtAlJtApvnvnr˂rXQdrtAJdrtAJHf`~f``JXQrHAbےۑpJ`vXn`vXnJltJlt`vXnZHAbZHAbd|Z`f~nXvQJ`brXQJ`ltbltbvXnvXnHAbےHAے`rd|rdfXv`fXQJ`ےJ`ےltbltbvXnvXn˂pZ`JXQrAHQXb㉀vˍpfvˍpfbAdZ|bAdZ|vpfے`JXQے`JXQdQbtHfpv`f~AZp˂ےbHdQZ|dQZ|vpfHvpfH`JXQrJXQrbZdQbt~Hf~HfHAZpbHAZpdQZ|dQZ|vpfHvpfHHAbے˂pZۑpJAHH~ㅐfەH~ㅐfۂdrQtdrQtH~fr˂pr˂plJtAdQnXvHfpvrXQJ`AZp˂drtAJdtAJl~f`~fZ˂pZtlJlJtApvnpvn˂rXQ˂rXQdrtAJdrtAJ~f`~f``pZHAHAXQrr󙐂ˁ``vXn`vXnJltJlt`vXnZHAbZHAbbtl`f~nXvےbHArQJltbtbnvXnHAbےHAbےtAd|rd|Xv`fXv`fJ`ےJ`ےltbltbvXnvXnbے`˂pZHAZQXb㉀vˍpfvˍpfbAdZ|bAdZ| \ No newline at end of file diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv37_2.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv37_2.dat deleted file mode 100644 index 6b2cc4ec54..0000000000 --- a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv37_2.dat +++ /dev/null @@ -1,329 +0,0 @@ -|{|{|{|{zyzyzyzyvuvuvuvurqrqrqrq|{|{|{|{zyzyzyzyvuvuvuvurqrqrqrq|{|{|{|{zyzyzyzyvuvuvuvurqrqrqrq|{|{|{|{zyzyzyzyvuvuvuvurqrqrqrq|{|{|{|{zyzyzyzyvuvuvuvurqrqrqrq|{|{|{|{zyzyzyzyvuvuvuvurqrqrqrq|{|{|{|{zyzyzyzyvuvuvuvurqrqrqrq|{|{|{|{zyzyzyzyvuvuvuvurqrqrqrq|{|{|{|{zyzyzyzyvuvuvuvurqrqrqrq|{|{|{|{zyzyzyzyvuvuvuvurqrqrqrq|{|{|{|{zyzyzyzyvuvuvuvurqrqrqrq|{|{|{|{zyzyzyxwvuvuvuvurqrqrqrq|{|{|{|{xwxwxwxwvuvuvuvurqrqrqrq|{|{|{|{xwxwxwxwvuvuvuvurqrqrqrq|{|{|{|{xwxwxwxwvuvuvuvurqrqrqrq|{|{|{|{xwxwxwxwvuvuvuvurqrqrqrq|{|{|{|{xwxwxwxwvuvuvuvurqrqrqrq|{|{|{|{xwxwxwxwvuvuvuvurqrqrqrq|{|{|{|{xwxwxwxwvuvuvuvurqrqrqrq|{|{|{|{xwxwxwxwvuvuvuvurqrqrqrq|{|{|{|{xwxwxwxwvuvuvuvurqrqrqrq|{|{|{|{xwxwxwxwvuvuvuvurqrqrqrq|{|{|{|{xwxwxwxwvuvuvuvurqrqrqrq|{|{|{|{xwxwxwxwvuvuvutsrqrqrqrq|{|{|{|{xwxwxwxwtstststsrqrqrqrqpopopopo|{|{|{|{xwxwxwxwtstststsrqrqrqrqpopopopo|{|{|{|{xwxwxwxwtstststsrqrqrqrqpopopopo|{|{|{|{xwxwxwxwtstststsrqrqrqrqpopopopo~}|{|{|{|{xwxwxwxwtstststsrqrqrqrqpopopopo~}~}~}~}|{|{|{|{xwxwxwxwtstststsrqrqrqrqpopopopo~}~}~}~}|{|{|{|{xwxwxwxwtstststsrqrqrqrqpopoponm~}~}~}~}|{|{|{|{xwxwxwxwtstststsrqrqrqrqnmnmnmnm~}~}~}~}|{|{|{|{xwxwxwxwtstststsrqrqrqrqnmnmnmnm~}~}~}~}|{|{|{|{xwxwxwxwtstststsrqrqrqrqnmnmnmnm~}~}~}~}|{|{|{|{xwxwxwxwtstststsrqrqrqrqnmnmnmnm~}~}~}~}|{|{|{|{xwxwxwxwtstststsrqrqrqponmnmnmnm~}~}~}~}|{|{|{|{xwxwxwxwtstststspopopoponmnmnmnm~}~}~}~}|{|{|{|{xwxwxwxwtstststspopopoponmnmnmnm~}~}~}~}|{|{|{|{xwxwxwxwtstststspopopoponmnmnmnm~}~}~}~}|{|{|{|{xwxwxwxwtstststspopopoponmnmnmnm~}~}~}~}|{|{|{zyxwxwxwxwtstststspopopoponmnmnmnm~}~}~}~}zyzyzyzyxwxwxwxwtstststspopopoponmnmnmnm~}~}~}~}zyzyzyzyxwxwxwxwtstststspopopoponmnmnmnm~}~}~}~}zyzyzyzyxwxwxwxwtstststspopopoponmnmnmnm~}~}~}~}zyzyzyzyxwxwxwxwtstststspopopoponmnmnmnm~}~}~}~}zyzyzyzyxwxwxwxwtstststspopopoponmnmnmnm~}~}~}~}zyzyzyzyxwxwxwxwtstststspopopoponmnmnmnm~}~}~}~}zyzyzyzyxwxwxwxwtstststspopopoponmnmnmnm~}~}~}~}zyzyzyzyxwxwxwxwtstststspopopoponmnmnmnm~}~}~}~}zyzyzyzyxwxwxwxwtstststspopopoponmnmnmnm~}~}~}~}zyzyzyzyxwxwxwxwtstststspopopoponmnmnmnm~}~}~}~}zyzyzyzyxwxwxwxwtstststspopopoponmnmnmnm~}~}~}~}zyzyzyzyxwxwxwvutstststspopopoponmnmnmnm~}~}~}~}zyzyzyzyvuvuvuvutstststspopopoponmnmnmnm~}~}~}~}zyzyzyzyvuvuvuvutstststspopopoponmnmnmnm~}~}~}~}zyzyzyzyvuvuvuvutstststspopopoponmnmnmnm~}~}~}~}zyzyzyzyvuvuvuvutstststspopopoponmnmnmnm~}~}~}~}zyzyzyzyvuvuvuvutstststspopopoponmnmnmnm~}~}~}~}zyzyzyzyvuvuvuvutstststspopopoponmnmnmnm~}~}~}~}zyzyzyzyvuvuvuvutstststspopopoponmnmnmnm~}~}~}~}zyzyzyzyvuvuvuvutstststspopopoponmnmnmnm~}~}~}~}zyzyzyzyvuvuvuvutstststspopopoponmnmnmnm~}~}~}~}zyzyzyzyvuvuvuvutstststspopopoponmnmnmnm~}~}~}~}zyzyzyzyvuvuvuvutstststspopopoponmnmnmnm~}~}~}~}zyzyzyzyvuvuvuvutststsrqpopopoponmnmnmnm~}~}~}~}zyzyzyzyvuvuvuvurqrqrqrqpopopoponmnmnmnm~}~}~}~}zyzyzyzyvuvuvuvurqrqrqrqpopopoponmnmnmnm~}~}~}~}zyzyzyzyvuvuvuvurqrqrqrqpopopoponmnmnmnm~}~}~}~}zyzyzyzyvuvuvuvurqrqrqrqpopopoponmnmnmnm~}~}~}|{zyzyzyzyvuvuvuvurqrqrqrqpopopoponmnmnmnmnmnmnmnmghghghghfefefefebabababa^]^]^]^]ZYZYZYZYXWXWXWXWTSTSTSTSPOPOPOPOLKLKLKLKHGHGHGHGFEFEFEFEBABABABA>=>=>=>=<;<;<;<;87878787343433330/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%"!"!"!"! - - - - nmnmnmlkghghghghfefefefebabababa^]^]^]^]ZYZYZYZYXWXWXWXWTSTSTSTSPOPOPOPOLKLKLKLKHGHGHGHGFEFEFEFEBABABABA>=>=>=>=<;<;<;<;87878787334343430/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%"!"!"!"! - - - - lklklklkghghghghfefefefebabababa^]^]^]^]ZYZYZYZYXWXWXWXWTSTSTSTSPOPOPOPOLKLKLKLKHGHGHGHGFEFEFEFEBABABABA>=>=>=>=<;<;<;<;87878787434343430/0/0/0/,+,+,+,+('('('('&%&%&%&%"!"!"!"! - - - - lklklklkghghggggfefefefebabababa^]^]^]^]ZYZYZYZYXWXWXWXWTSTSTSTSPOPOPOPOLKLKLKLKHGHGHGHGFEFEFEFEBABABABA>=>=>=>=<;<;<;<;87878787434343430/0/0/0/,+,+,+,+('('('('&%&%&%&%"!"!"!"! - - - - lklklklkgghghghgfefedcdcbabababa^]^]^]^]ZYZYZYZYXWXWXWXWTSTSTSTSPOPOPOPOLKLKLKLKHGHGHGHGFEFEFEFEBABABABA>=>=>=>=<;:9:9:987878787434343430/0/0/0/,+,+,+,+('('('('&%&%&%&%"!"!"!"! - - - - lklklklkhghghghgdcdcdcdcbabababa^]^]^]^]ZYZYZYZYXWXWXWXWTSTSTSTSPOPOPOPOLKLKLKLKHGHGHGHGFEFEFEFEBABABABA>=>=>=>=:9:9:9:987878787434333330/0/0/0/,+,+,+,+('('('('&%&%&%&%"!"!"!"! - - - - lklklklkhghghghgdcdcdcdcbabababa^]^]^]^]ZYZYZYZYXWXWXWXWTSTSTSTSPOPOPOPOLKLKLKLKHGHGHGHGFEFEFEFEBABABABA>=>=>=>=:9:9:9:987878787434343430/0/0/0/,+,+,+,+('('('('&%&%&%&%"!"!"!"! - - - lklklklkhghghghgdcdcdcdcbabababa^]^]^]^]ZYZYZYZYXWXWXWXWTSTSTSTSPOPOPOPOLKLKLKLKHGHGHGHGFEFEFEFEBABABABA>=>=>=>=:9:9:9:987878765212121210/0/0/0/,+,+,+,+('('('('&%&%&%&%"!"!"!"! lklklklkhghghghgdcdcdcdcbabababa^]^]^]^]ZYZYZYZYXWXWXWXWTSTSTSTSPOPOPOPOLKLKLKLKHGHGHGHGFEFEFEFEBABABABA>=>=>=>=:9:9:9:965656565212121210/0/0/0/,+,+,+,+('('('('&%&%&%&%"!"!"!"! lklklklkhghgggggdcdcdcdcbabababa^]^]^]^]ZYZYZYZYXWXWXWXWTSTSTSTSPOPOPOPOLKLKLKLKHGHGHGHGFEDCDCDCBABABABA>=>=>=>=:9:9:9:965656565212121210/0/0/0/,+,+,+,+('('('('&%&%&%&%"!"!"!"! lklklklkghghghghdcdcdcdcbabababa^]^]^]^]ZYZYZYZYXWXWXWXWTSTSTSTSPOPOPOPOLKLKLKLKHGHGHGHGDCDCDCDCBABABABA>=>=>=>=:9:9:9:965656565212121210/0/0/0/,+,+,+,+('('('('&%&%&%&%"!"!"!"! lklklklkghghghghdcdcdcdcbabababa^]^]^]^]ZYZYZYZYXWXWVUVUTSTSTSTSPOPOPOPOLKLKLKLKHGHGHGHGDCDCDCDCBABABABA>=>=>=>=:9:9:9:965656565212121210/0/0/0/,+,+,+,+('('('('&%&%&%&%"!"!"!"! lklklklkghghghghdcdcdcdcbabababa^]^]^]^]ZYZYZYZYVUVUVUVUTSTSTSTSPOPOPOPOLKLKLKLKHGHGHGHGDCDCDCDCBABABABA>=>=>=>=:9:9:9:965656565212121210/0/0/0/,+,+,+,+('('('('&%&%&%&%"!"!"!"! lklklklkghghghghdcdcdcdcbabababa^]^]^]^]ZYZYZYZYVUVUVUVUTSTSTSTSPOPOPOPOLKLKLKLKHGHGHGHGDCDCDCDCBABABABA>=>=>=>=:9:9:9:965656565212121210/0/0/0/,+,+,+,+('('('('&%&%&%&%"!"!"!"! lklklklkghghghghdcdcdcdcbabababa^]^]^]^]ZYZYZYZYVUVUVUVUTSTSTSTSPOPOPOPOLKLKLKLKHGHGHGHGDCDCDCDCBABABABA>=>=>=>=:9:9:9:965656565212121210/0/0/0/,+,+,+,+('('('('$#$#$#$#"!"!"!"! lklklklkghggggggdcdcdcdcbabababa^]^]^]^]ZYZYZYZYVUVUVUVUTSTSTSTSPOPOPOPOLKLKLKLKHGHGHGHGDCDCDCDCBABABABA>=>=>=>=:9:9:9:965656565212121210/0/0/0/,+,+,+,+('('('('$#$#$#$#"!"!"!"! lklklklkhghghghgdcdcdcdcbaba`_`_^]^]^]^]ZYZYZYZYVUVUVUVUTSTSTSTSPOPOPOPOLKLKLKLKHGHGHGHGDCDCDCDCBABABABA>=>=>=>=:9:9:9:965656565212121210/0/0/0/,+,+,+,+('('('('$#$#$#$#"!"!"!"! lklklklkhghghghgdcdcdcdc`_`_`_`_^]^]^]^]ZYZYZYZYVUVUVUVUTSTSTSTSPOPOPOPOLKLKLKLKHGHGHGHGDCDCDCDCBABABABA>=>=>=>=:9:9:9:965656565212121210/0/0/0/,+,+,+,+('('('('$#$#$#$#"!"!"!"! lklklklkhghghghgdcdcdcdc`_`_`_`_^]^]^]^]ZYZYZYZYVUVUVUVUTSTSTSTSPOPONMNMLKLKLKLKHGHGHGHGDCDCDCDCBABABABA>=>=>=>=:9:9:9:965656565212121210/0/0/0/,+,+,+,+('('('('$#$#$#$#"!"!"!"! lklklklkhghghghgdcdcdcdc`_`_`_`_^]^]^]^]ZYZYZYZYVUVUVUVUTSTSTSTSNMNMMMMMLKLKLKLKHGHGHGHGDCDCDCDCBABABABA>=>=>=>=:9:9:9:96565656521212121.-.-.-.-,+,+,+,+('('('('$#$#$#$#"!"!"!"! lklklklkhghghghgdcdcdcdc`_`_`_`_^]^]^]^]ZYZYZYZYVUVUVUVUTSTSTSTSNMNMNMNMLKLKLKLKHGHGHGHGDCDCDCDCBABABABA>=>=>=>=:9:9:9:96565656521212121.-.-.-.-,+,+,+,+('('('('$#$#$#$#"!"!"!"! lklklklkhgggggghdcdcdcdc`_`_`_`_^]^]^]^]ZYZYZYZYVUVUVUVUTSTSTSTSNMNMNMNMLKLKLKLKHGHGHGHGDCDCDCDCBA@?@?@?>=>=>=>=:9:9:9:96565656521212121.-.-.-.-,+,+,+,+('('('('$#$#$#$#"!"!"!"! lklklklkghghghghdcdcdcdc`_`_`_`_^]^]^]^]ZYZYZYZYVUVUVUVUTSTSTSTSNMNMNMNMLKLKLKLKHGHGHGHGDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:96565656521212121.-.-.-.-,+,+,+,+('('('('$#$#$#$#"!"!"!"! lklklklkghghghghdcdcdcdc`_`_`_`_^]^]^]^]ZYZYZYZYVUVUVUVUTSTSRQRQNMNMNMNMLKLKLKLKHGHGHGHGDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:96565656521212121.-.-.-.-,+,+,+,+('('('('$#$#$#$#"!"!"!"! lklklklkghghghghdcdcdcdc`_`_`_`_^]^]^]^]ZYZYZYZYVUVUVUVURQRQRQRQNMMMMMMNLKLKLKLKHGHGHGHGDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:96565656521212121.-.-.-.-,+,+,+,+('('('('$#$#$#$#"!"!"!"!    lklklklkghghghghdcdcdcdc`_`_`_`_^]^]^]^]ZYZYZYZYVUVUVUVURQRQRQRQMNMNMNMNLKLKLKLKHGHGHGHGDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:96565656521212121.-.-.-.-,+,+,+,+('('('('$#$#$#$#"!"!"!"!    lklklklkghghghghdcdcdcdc`_`_`_`_^]^]^]^]ZYZYZYZYVUVUVUVURQRQRQRQMNMNMNMNLKJIJIJIHGHGHGHGDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:96565656521212121.-.-.-.-,+,+,+,+('('('('$#$#$#$#        lklklklkgggggghgdcdcdcdc`_`_`_`_^]^]^]^]ZYZYZYZYVUVUVUVURQRQRQRQMNMNMNMNJIJIJIJIHGHGHGHGDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:96565656521212121.-.-.-.-,+,+,+,+('('('('$#$#$#$#        lklklklkhghghghgdcdcdcdc`_`_`_`_^]^]\[\[ZYZYZYZYVUVUVUVURQRQRQRQMNMNMNMNJIJIJIJIHGHGHGHGDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:96565656521212121.-.-.-.-,+,+,+,+('('('('$#$#$#$#        lklklklkhghghghgdcdcdcdc`_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVURQRQRQRQMNMNMNMNJIJIJIJIHGHGHGHGDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:96565656521212121.-.-.-.-,+,+,+,+('('('('$#$#$#$#        lklklklkhghghghgdcdcdcdc`_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVURQRQRQRQMMMMMMNMJIJIJIJIHGHGHGHGDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:96565656521212121.-.-.-.-,+,+,+,+('('('('$#$#$#$#        lklklklkhghghghgdcdcdcdc`_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVURQRQRQRQNMNMNMNMJIJIJIJIHGHGHGHGDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:96565656521212121.-.-.-.-*)*)*)*)('('('('$#$#$#$#        lklklklkgggghghgdcdcdcdc`_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVURQRQRQRQNMNMNMNMJIJIJIJIHGHGHGHGDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:96565656521212121.-.-.-.-*)*)*)*)('('('('$#$#$#$#        lklklklkhghgfefedcdcdcdc`_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVURQRQRQRQNMNMNMNMJIJIJIJIHGHGHGHGDCDCDCDC@?@?@?@?>=<;<;<;:9:9:9:96565656521212121.-.-.-.-*)*)*)*)('('('('$#$#$#$#        lkjijijifefefefedcdcdcdc`_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVURQRQRQRQNMNMNMNMJIJIJIJIHGHGHGHGDCDCDCDC@?@?@?@?<;<;<;<;:9:9:9:96565656521212121.-.-.-.-*)*)*)*)('('('('$#$#$#$#        jijijijifefefefedcdcdcdc`_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVURQRQRQRQNMNMNMNMJIJIJIJIHGHGHGHGDCDCDCDC@?@?@?@?<;<;<;<;:9:9:9:96565656521212121.-.-.-.-*)*)*)*)('('('('$#$#$#$#        - jijijijifefefefedcdcdcdc`_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVURQRQRQRQMMMMMNMNJIJIJIJIHGHGHGHGDCDCDCDC@?@?@?@?<;<;<;<;:9:9:9:96565656521212121.-.-.-.-*)*)*)*)('('('('$#$#$#$#        - - - - jijijijifefefefedcdcdcdc`_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVURQRQRQRQMNMNMNMNJIJIJIJIHGHGHGHGDCDCDCDC@?@?@?@?<;<;<;<;:9:9:9:96565656521212121.-.-.-.-*)*)*)*)('('('('$#$#$#$#        - - - - jijijijifefefefedcdcdcdc`_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVURQRQRQRQMNMNMNMNJIJIJIJIHGFEFEFEDCDCDCDC@?@?@?@?<;<;<;<;:9:9:9:96565656521212121.-.-.-.-*)*)*)*)('('('('$#$#$#$#        - - - - jijijijifefefefedcdcdcdc`_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVURQRQRQRQMNMNMNMNJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?<;<;<;<;:9:9:9:96565656521212121.-.-.-.-*)*)*)*)('('('('$#$#$#$#        - - - - jijijijifefefefedcdcdcdc`_`_`_`_\[\[\[\[ZYZYXWXWVUVUVUVURQRQRQRQMNMNMNMNJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?<;<;<;<;:9:9:9:96543434321212121.-.-.-.-*)*)*)*)('('('('$#$#$#$#        - - - - jijijijifefefefedcdcdcdc`_`_`_`_\[\[\[\[XWXWXWXWVUVUVUVURQRQRQRQMNMNMNMMJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?<;<;<;<;:9:9:9:94333333421212121.-.-.-.-*)*)*)*)('('('('$#$#$#$#        - - - - jijijijifefefefedcdcdcdc`_`_`_`_\[\[\[\[XWXWXWXWVUVUVUVURQRQRQRQMMMMNMNMJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?<;<;<;<;:9:9:9:93434343421212121.-.-.-.-*)*)*)*)('('('('$#$#$#$#        - - - - jijijijifefefefedcdcdcdc`_`_`_`_\[\[\[\[XWXWXWXWVUVUVUVURQRQRQRQNMNMNMNMJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?<;<;<;<;:9:9:9:93434343421212121.-.-.-.-*)*)*)*)&%&%&%&%$#$#$#$#        - - - - jijijijifefefefedcdcdcdc`_`_`_`_\[\[\[\[XWXWXWXWVUVUVUVURQRQRQRQNMNMNMNMJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?<;<;<;<;:9:9:9:93434343421212121.-.-.-.-*)*)*)*)&%&%&%&%$#$#$#$#        - - - - jijijijifefefefedcdcbaba`_`_`_`_\[\[\[\[XWXWXWXWVUVUVUVURQRQRQRQNMNMNMNMJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?<;<;<;<;:98787873434343421212121.-.-.-.-*)*)*)*)&%&%&%&%$#$#$#$#        - - - - jijijijifefefefebabababa`_`_`_`_\[\[\[\[XWXWXWXWVUVUVUVURQRQRQRQNMNMNMNMJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?<;<;<;<;878787873434343421212121.-.-.-.-*)*)*)*)&%&%&%&%$#$#$#$#        - - - - jijijijifefefefebabababa`_`_`_`_\[\[\[\[XWXWXWXWVUVUVUVURQRQRQRQNMNMNMMMJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?<;<;<;<;878787873333334321212121.-.-.-.-*)*)*)*)&%&%&%&%$#$#$#$#        - - - - jijijijifefefefebabababa`_`_`_`_\[\[\[\[XWXWXWXWVUVUVUVURQRQRQRQMMMNMNMNJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?<;<;<;<;87878787434343430/0/0/0/.-.-.-.-*)*)*)*)&%&%&%&%$#$#$#$#        - - - - jijijijifefefefebabababa`_`_`_`_\[\[\[\[XWXWXWXWVUVUVUVURQRQRQRQMNMNMNMNJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?<;<;<;<;87878787434343430/0/0/0/.-.-.-.-*)*)*)*)&%&%&%&%$#$#$#$#        - - - - jijijijifefefefebabababa`_`_`_`_\[\[\[\[XWXWXWXWVUVUVUVURQRQRQRQMNMNMNMNJIJIJIJIFEFEFEFEDCBABABA@?@?@?@?<;<;<;<;87878787434343430/0/0/0/.-.-.-.-*)*)*)*)&%&%&%&%$#$#$#$#        - - - - jijijijifefefefebabababa`_`_`_`_\[\[\[\[XWXWXWXWVUVUVUVURQRQRQRQMNMNMNMNJIJIJIJIFEFEFEFEBABABABA@?@?@?@?<;<;<;<;87878787434343430/0/0/0/.-.-.-.-*)*)*)*)&%&%&%&%$#$#$#$#        - - - - jijijijifefefefebabababa`_`_`_`_\[\[\[\[XWXWXWXWVUVUTSTSRQRQRQRQMNMNMNMNJIJIJIJIFEFEFEFEBABABABA@?@?@?@?<;<;<;<;87878787434343430/0/0/0/.-.-.-.-*)*)*)*)&%&%&%&%$#$#$#$#        - - - - jijijijifefefefebabababa`_`_`_`_\[\[\[\[XWXWXWXWTSTSTSTSRQRQRQRQMNMNMMMMJIJIJIJIFEFEFEFEBABABABA@?@?@?@?<;<;<;<;87878787333334340/0/0/0/.-.-.-.-*)*)*)*)&%&%&%&%$#$#$#$#        - - - - jijijijifefefefebabababa`_`_`_`_\[\[\[\[XWXWXWXWTSTSTSTSRQRQRQRQMMNMNMNMJIJIJIJIFEFEFEFEBABABABA@?@?@?@?<;<;<;<;87878787343434340/0/0/0/.-.-.-.-*)*)*)*)&%&%&%&%$#$#$#$#        - - - - jijijijifefefefebabababa`_`_`_`_\[\[\[\[XWXWXWXWTSTSTSTSRQRQRQRQNMLKLKLKJIJIJIJIFEFEFEFEBABABABA@?@?@?@?<;<;<;<;87878787343434340/0/0/0/.-.-.-.-*)*)*)*)&%&%&%&%"!"!"!"!        - - - - jijijijifefefefebabababa`_`_`_`_\[\[\[\[XWXWXWXWTSTSTSTSPOPOPOPOLKLKLKLKJIJIJIJIFEFEFEFEBABABABA@?@?@?@?<;<;<;<;87878787343434340/0/0/0/.-.-.-.-*)*)*)*)&%&%&%&%"!"!"!"!        - - - - jijijijifefefefebabababa`_`_^]^]\[\[\[\[XWXWXWXWTSTSTSTSPOPOPOPOLKLKLKLKJIJIJIJIFEFEFEFEBABABABA@?@?@?@?<;<;<;<;87878787343434340/0/0/0/.-.-.-.-*)*)*)*)&%&%&%&%"!"!"!"!        - - - - jijijijifefefefebabababa^]^]^]^]\[\[\[\[XWXWXWXWTSTSTSTSPOPOPOPOLKLKLKLKJIJIJIJIFEFEFEFEBABABABA@?@?@?@?<;<;<;<;87878787343434330/0/0/0/.-.-.-.-*)*)*)*)&%&%&%&%"!"!"!"!        - - - - jijijijifefefefebabababa^]^]^]^]\[\[\[\[XWXWXWXWTSTSTSTSPOPOPOPOLKLKLKLKJIJIJIJIFEFEFEFEBABABABA@?@?@?@?<;<;<;<;87878787333343430/0/0/0/.-.-.-.-*)*)*)*)&%&%&%&%"!"!"!"!        - - - - jijijijifefefefebabababa^]^]^]^]\[\[\[\[XWXWXWXWTSTSTSTSPOPOPOPOLKLKLKLKJIJIJIJIFEFEFEFEBABABABA@?@?@?@?<;<;<;<;87878787434343430/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%"!"!"!"!        - - - - jijijijifefefefebabababa^]^]^]^]\[\[\[\[XWXWXWXWTSTSTSTSPOPOPOPOLKLKLKLKJIJIJIJIFEFEFEFEBABABABA@?@?@?@?<;<;<;<;87878787434343430/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%"!"!"!"!        - - - - jijijijifefefefebabababa^]^]^]^]\[\[\[\[XWXWXWXWTSTSTSTSPOPOPOPOLKLKLKLKJIJIJIJIFEFEFEFEBABABABA@?>=>=>=<;<;<;<;87878787434343430/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%"!"!"!"!        - - - - jijijijifefefefebabababa^]^]^]^]\[\[\[\[XWXWXWXWTSTSTSTSPOPOPOPOLKLKLKLKJIJIJIJIFEFEFEFEBABABABA>=>=>=>=<;<;<;<;87878787434343430/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%"!"!"!"!        - - - - jijijijifefefefebabababa^]^]^]^]\[\[\[\[XWXWXWXWTSTSTSTSPOPOPOPOLKLKLKLKJIJIJIJIFEFEFEFEBABABABA>=>=>=>=<;<;<;<;87878787434343330/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%"!"!"!"!       - - - - jijijijifefefefebabababa^]^]^]^]\[\[\[\[XWXWXWXWTSTSTSTSPOPOPOPOLKLKLKLKJIJIJIJIFEFEFEFEBABABABA>=>=>=>=<;<;<;<;87878787333434340/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%"!"!"!"!     - - - - jijijihgfefefefebabababa^]^]^]^]\[\[\[\[XWXWXWXWTSTSTSTSPOPOPOPOLKLKLKLKJIJIJIJIFEFEFEFEBABABABA>=>=>=>=<;<;<;<;87878787343434340/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%"!"!"!"!     - - - - hghghgggfefefefebabababa^]^]^]^]\[\[\[\[XWXWXWXWTSTSTSTSPOPOPOPOLKLKLKLKJIHGHGHGFEFEFEFEBABABABA>=>=>=>=<;<;<;<;87878787343434340/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%"!"!"!"! - - - - ggghghghfefefefebabababa^]^]^]^]\[\[\[\[XWXWXWXWTSTSTSTSPOPOPOPOLKLKLKLKHGHGHGHGFEFEFEFEBABABABA>=>=>=>=<;<;<;<;87878787343434340/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%"!"!"!"! - - - - ghghghghfefefefebabababa^]^]^]^]\[\[ZYZYXWXWXWXWTSTSTSTSPOPOPOPOLKLKLKLKHGHGHGHGFEFEFEFEBABABABA>=>=>=>=<;<;<;<;87878787343434340/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%"!"!"!"! - - - - YYZZ[[\\))**++,,88776655hhggffeeggffeeddssrrqqppvvwwxxyyFFGGHHII]]^^__``--..//0044332211ddccbbaaccbbaa``oonnmmllzz{{||}}JJKKLLMMaabbccdd1122334400//..--``__^^]]__^^]]\\kkjjiihh~~NNOOPPQQ !!eeffgghh55667788,,++**))\\[[ZZYY[[ZZYYXXggffeeddRRSSTTUU""##$$%%iijjkkll99::;;<< - - ((''&&%%XXWWVVUUWWVVUUTTccbbaa``VVWWXXYY&&''(())mmnnoopp==>>??@@ $$##""!!TTSSRRQQSSMMLLKK__^^]]\\ZZ[[\\]]**++,,--qqrrssttAABBCCDD PPOONNMMJJIIHHGG[[ZZYYXX^^__``aa..//0011uuvvwwxxEEFFGGHHLLKKJJIIFFEEDDCCWWVVUUTTbbccddee22334455yyzz{{||IIJJKKLLHHGGFFEEBBAA@@??SSRRQQPPffgghhii66778899~~}}~~}}||}}~~MMNNOOPP DDCCBBAA>>==<<;;OONNMMLL~~}}||jjkkllmm::;;<<==||{{zzyy{{zzyyxxQQRRSSTT!!""##$$ @@??>>==::993322KKJJIIHH{{zzyyxxnnooppqq>>??@@AAxxwwvvuuwwvvuuttUUVVWWXX%%&&''(( - - <<;;::991100//..GGFFEEDDwwvvuuttrrssttuuBBCCDDEEttssrrqqssrrqqppYYZZ[[\\))**++,,88776655--,,++**CCBBAA@@ssrrqqppvvwwxxyyFFGGHHIIppoonnmmoonnmmlk]]^^__``--..//0044332211))((''&&??>>==<>??@@ $$##""!!//..--,,__^^]]\\ZZ[[\\]]\\[[ZZYYrrqqppooYXXWWVVUxxwwvvuuqqrrssttAABBCCDD  ++**))(([[ZZYYXX^^__``aaXXWWVVUUnnmmggffUTTSSRQPttssrrqquuvvwwxxEEFFGGHH - - ''&&%%$$WWVVUUTTbbccddeeTTSSRRQQeeddccbbONMMLLKKppoonnmmyyzz{{||IIJJKKLL##""!! SSRRQQPPffgghhiiPPOONNMMaa``__^^JJIIHHGGllkkjjii}}~~MMNNOOPP OONNMMLL~~}}||jjkkllmmLLKKJJII]]\\[[ZZFFEEDDCChhggffeeQQRRSSTT!!""##$$  - -KKJJIIHH{{zzyyxxnnooppqqHHGGFFEEYYXXWWVVBBAA@@??ddccbbaaUUVVWWXX%%&&''(( - - GGFFEEDDwwvvuuttrrssttuuDDCCBBAAUUTTSSMM>>==<<;;``__^^]]YYZZ[[\\))**++,,CCBBAA@@ssrrqqppvvwwxxyy@@??>>==LLKKJJII::998765\\[[ZZYY]]^^__``--..//00 ??>>==<>==,++**))(PPOONNMM~~}}iijjkkll99::;;<< !""##$$%33221100ccbbaa`` - - 00//..--<<;;::99(''&&%%$LLKKJJII||{{zzyymmnnoopp==>>??@@%&&''(()//..--,,__^^]]\\,,++**))33221100$##""!! HHGGFFEExxwwvvuuqqrrssttAABBCCDD)**++,,- ++**))(([[ZZYYXX((''&&%%//..--,, DDCCBBAAttssrrqquuvvwwxxEEFFGGHH !!-..//001 - - ''&&%%$$WWVVUUTT$$##""!!++**))((@@??>>==ppoonnmmyyzz{{||IIJJKKLL""##$$%%12233456##""!! SSRRQQPP ''&&%%$$<<;;::99llkkjjii}}~~MMNNOOPP&&''(())7899::;;OONNMMLL~~}}|| - - ##""!! 88776655hhggffeeQQRRSSTT**++,,--<<==>>??KKJJIIHH{{zzyyxx - -44332211ddccbbaaUUVVWWXX..//0011@@AABBCCGGFFEEDDwwvvuutt 00//..--``__^^]]YYZZ[[\\223399::DDEEFFGG !!CCBBAA@@ssrrqqpp ,,++**))\\[[ZZYY]]^^__``;;<<==>>HHIIJJKK""##$$%% ??>>==<>==ppoonnmmyyzz{{||\\]]^^__fgghijkl>>??@@AA##""!! SSRRQQPP66778899!!""##$$$$%%&&''%%&&''(( - - <<;;::99llkkjjii}}~~``aabbccmmnnooppBBCCDDEEOONNMMLL~~}}||::;;<<==%%&&''(((())**++))**++,,88776655hhggffeeddeeffggqqrrssttFFGGHHIIKKJJIIHH{{zzyyxx>>??@@AA))**++,,,,--..//--..//0044332211ddccbbaammnnooppuuvvwwxxJJKKLLMMGGFFEEDDwwvvuuttBBCCDDEE--..//00001122331122334400//..--``__^^]]qqrrssttyyzz{{||NNOOPPQQ !!CCBBAA@@ssrrqqppFFGGHHII1122334499::;;<<55667788,,++**))\\[[ZZYYuuvvwwxx}}~~RRSSTTUU""##$$%% ??>>==<>??@@99::;;<< - - ((''&&%%XXWWVVUUyyzz{{||VVWWXXYY&&''(()) - - ;;::9988kkjjiihhNNOOPPQQ99::;;<>??@@ $$##""!!TTSSRRQQ}}~~ZZ[[\\]]**++,,--77665544ggffeeddRRSSTTUU==>>??@@EEFFGGHHAABBCCDD PPOONNMM~~}}^^__``aa..//001133221100ccbbaa``VVWWXXYYAABBCCDDIIJJKKLLEEFFGGHHLLKKJJII||{{zzyybbccddee22334455//..--,,__^^]]\\ZZ[[\\]]EEFFGGHHMMSSTTUUIIJJKKLLHHGGFFEExxwwvvuuffgghhii66778899 ++**))(([[ZZYYXX^^__``aaIIJJKKLLVVWWXXYYMMNNOOPP DDCCBBAAttssrrqqjjkkllmm::;;<<== - - ''&&%%$$WWVVUUTTbbccddeeMMNNOOPPZZ[[\\]]QQRRSSTT!!""##$$ @@??>>==ppoonnmmnnooppqq>>??@@AA##""!! SSRRQQPPffgghhiiQQRRSSTT^^__``aaUUVVWWXX%%&&''(( - - <<;;::99llkkjjiirrssttuuBBCCDDEEOONNMMLLjjkkllmmUUVVWWXXbbccddeeYYZZ[[\\))**++,,88776655hhggffeevvwwxxyyFFGGHHIIKKJJIIHHnnooppqqYYZZ[[\\ffggmmnn]]^^__``--..//0044332211ddccbbaazz{{||}}JJKKLLMMGGFFEEDDrrssttuu]]^^__``ooppqqrraabbccdd1122334400//..--``__^^]]~~NNOOPPQQ !!CCBBAA@@vvwwxxyyaabbccddssttuuvveeffgghh55667788,,++**))\\[[ZZYYRRSSTTUU""##$$%% ??>>==<>??@@ $$##""!!TTSSRRQQZZ[[\\]]**++,,--77665544mmnnooppqqrrssttAABBCCDD PPOONNMM~~}}^^__``aa..//001133221100qqrrssttuuvvwwxxEEFFGGHHLLKKJJII||{{zzyy~~}}bbccddee22334455//..--,,uuvvwwxxyyzz{{||IIJJKKLLHHGGFFEExxwwvvuu||{{zzyyffgghhii66778899 ++**))((yyzz{{||}}~~MMNNOOPP DDCCBBAAttssrrqqxxwwvvuu~~}}||jjkkllmm::;;<<== - - ''&&%%$$}}~~QQRRSSTT!!""##$$ @@??>>==ppoonnmmttssrrqq{{zzyyxxnnooppqq>>??@@AA##""!! UUVVWWXX%%&&''(( - - <<;;::99llkkjjiippoonnmmwwvvuuttrrssttuuBBCCDDEEccddeeff33445566..--,,++^^]]\\[[]]\\[[ZZiihhggffPPQQRRSS !!""##((''&&%%! LLKKJJII||{{zzyymmnnoopp==>>??@@%&&''(()//..--,,__^^]]\\gghhiijj778899:: - -**))((''ZZYYXXWWYYXXWWVVeeddccbbTTUUVVWW$$%%&&'' - -$$##""!!HHGGFFEExxwwvvuuqqrrssttAABBCCDD)**++,,- ++**))(([[ZZYYXXkkllmmnn;;<<==>> &&%%$$##VVUUTTSSUUTTSSMMaa``__^^XXYYZZ[[(())**++  DDCCBBAAttssrrqquuvvwwxxEEFFGGHH !!-..//001 - - ''&&%%$$WWVVUUTTooppqqrr??@@AABB""!! RRQQPPOOLLKKJJII]]\\[[ZZ\\]]^^__,,--..//@@??>>==ppoonnmmyyzz{{||IIJJKKLL""##$$%%12233456##""!! SSRRQQPPssttuuvvCCDDEEFFNNMMLLKKHHGGFFEEYYXXWWVV``aabbcc00112233 <<;;::99llkkjjii}}~~MMNNOOPP&&''(())7899::;;OONNMMLL~~}}||~~}}||~~}}||{{wwxxyyzzGGHHIIJJJJIIHHGGDDCCBBAAUUTTSSRRddeeffgg44556677 - - 88776655hhggffeeQQRRSSTT**++,,--<<==>>??KKJJIIHH{{zzyyxx{{zzyyxxzzyyxxww{{||}}~~KKLLMMNNFFEEDDCC@@??>>==QQPPOONN~~hhiijjkk8899::;; - - - - 44332211ddccbbaaUUVVWWXX..//0011@@AABBCCGGFFEEDDwwvvuuttwwvvuuttvvuuttssOOPPQQRR !!""BBAA@@??<<;;::99MMLLKKJJ}}||{{zzllmmnnoo<<==>>?? 00//..--``__^^]]YYZZ[[\\223399::DDEEFFGG !!CCBBAA@@ssrrqqppssrrqqpp~~rrqqppooSSTTUUVV##$$%%&& >>==<<;;33221100IIHHGGFFyyxxwwvvppqqrrss@@AABBCC ,,++**))\\[[ZZYY]]^^__``;;<<==>>HHIIJJKK""##$$%% ??>>==<>qqppoonnxxyyzz{{HHIIJJKK $$##""!!TTSSRRQQeeffgghhCCDDEEFFRSSTTUUV**++,,--77665544ggffeeddggffeedduuttssrrdccbbaa`__``aabb//001122221100//''&&%%$$==<<;;::mmllkkjj||}}~~LLMMNNOO PPOONNMM~~}}iijjkkllGGHHIIJJVWWXXYYZ..//001133221100ccbbaa``ccbbaa``qqppoonn`__^^]]\ccddeeff33445566..--,,++##""!! 99887766iihhggffPPQQRRSS !!""##LLKKJJII||{{zzyymmnnooppKKLLMMSSZ[[\\]]^22334455//..--,,__^^]]\\__^^]]\\mmggffee\[[ZZYYXgghhiijj778899:: - -**))((''55443322eeddccbbTTUUVVWW$$%%&&'' !!""HHGGFFEExxwwvvuuqqrrssttTTUUVVWW^__``aab66778899 ++**))(([[ZZYYXX~~}}||{{[[ZZYYXXddccbbaaXWWVVUUT~~}}||{{kkllmmnn;;<<==>> &&%%$$##1100//..aa``__^^XXYYZZ[[(())**++##$$%%&& DDCCBBAAttssrrqquuvvwwxxXXYYZZ[[bccddeef::;;<<== - - ''&&%%$$WWVVUUTTzzyyxxwwWWVVUUTT``__^^]]TSSRQPONzzyyxxwwooppqqrr??@@AABB""!! --,,++**]]\\[[ZZ\\]]^^__,,--..//''(())**!!""##$$ @@??>>==ppoonnmmyyzz{{||\\]]^^__fgghijkl>>??@@AA##""!! SSRRQQPPvvuuttssSSRRQQPP\\[[ZZYYMMLLKKJJvvuuttssssttuuvvCCDDEEFF ))((''&&YYXXWWVV``aabbcc00112233++,,--..%%&&''(( - - <<;;::99llkkjjii}}~~``aabbccmmnnooppBBCCDDEEOONNMMLLrrqqppooOONNMMLLXXWWVVUUIIHHGGFFrrqqppoowwxxyyzzGGHHIIJJ - - %%$$##""UUTTSSRRddeeffgg44556677//001122))**++,,88776655hhggffeeddeeffggqqrrssttFFGGHHIIKKJJIIHHnnmmggffKKJJIIHHTTSSMMLLEEDDCCBBnnmmllkk{{||}}~~KKLLMMNN!! QQPPOONN~~hhiijjkk8899::;;3399::;;--..//0044332211ddccbbaammnnooppuuvvwwxxJJKKLLMMGGFFEEDDeeddccbbGGFFEEDDKKJJIIHHAA@@??>>jjiihhggOOPPQQRR !!""MMLLKKJJ}}||{{zzllmmnnoo<<==>>??<<==>>??1122334400//..--``__^^]]qqrrssttyyzz{{||NNOOPPQQ !!CCBBAA@@aa``__^^CCBBAA@@GGFFEEDD==<<;;::ffeeddccSSTTUUVV##$$%%&& - - IIHHGGFFyyxxwwvvppqqrrss@@AABBCC@@AABBCC55667788,,++**))\\[[ZZYYuuvvwwxx}}~~RRSSTTUU""##$$%% ??>>==<<]]\\[[ZZ??>>==<>==<<3221100/^^]]\\[[[[\\]]^^++,,--..AA@@??>>qqppoonnxxyyzz{{HHIIJJKKHHIIJJKK==>>??@@ $$##""!!TTSSRRQQ}}~~ZZ[[\\]]**++,,--77665544UUTTSSMM77665544;;::9933/..--,,+ZZYYXXWW__``aabb//001122 - -==<<;;::mmllkkjj||}}~~LLMMNNOOLLMMSSTTAABBCCDD PPOONNMM~~}}^^__``aa..//001133221100LLKKJJII33221100221100//+**))(('VVUUTTSSccddeeff33445566 - - 99887766iihhggffPPQQRRSSUUVVWWXXEEFFGGHHLLKKJJII||{{zzyybbccddee22334455//..--,,HHGGFFEE//..--,,..--,,++'&&%%$$#RRQQPPOOgghhiijj778899::  !!""#55443322eeddccbbTTUUVVWWYYZZ[[\\IIJJKKLLHHGGFFEExxwwvvuuffgghhii66778899 ++**))((DDCCBBAA++**))((**))((''#""!! NNMMLLKK~~}}||{{kkllmmnn;;<<==>>#$$%%&&'1100//..aa``__^^XXYYZZ[[]]^^__``MMNNOOPP DDCCBBAAttssrrqqjjkkllmm::;;<<== - - ''&&%%$$@@??>>==''&&%%$$&&%%$$##JJIIHHGGzzyyxxwwooppqqrr??@@AABB'(())**+--,,++**]]\\[[ZZ\\]]^^__aabbccddQQRRSSTT!!""##$$ @@??>>==ppoonnmmnnooppqq>>??@@AA##""!! <<;;::99##""!! ""!! FFEEDDCCvvuuttssssttuuvvCCDDEEFF+,,--../ - - ))((''&&YYXXWWVV``aabbcceeffggmmUUVVWWXX%%&&''(( - - <<;;::99llkkjjiirrssttuuBBCCDDEE33221100BBAA@@??rrqqppoowwxxyyzzGGHHIIJJ !!""##/0011223 %%$$##""UUTTSSRRddeeffggnnooppqqYYZZ[[\\))**++,,88776655hhggffeevvwwxxyyFFGGHHII//..--,, >>==<<;;nnmmllkk{{||}}~~KKLLMMNN$$%%&&''34567899!! QQPPOONN~~hhiijjkkrrssttuu]]^^__``--..//0044332211ddccbbaazz{{||}}JJKKLLMM++**))(( - - ::998877jjiihhggOOPPQQRR(())**++::;;<<==MMLLKKJJ}}||{{zzllmmnnoovvwwxxyyaabbccdd1122334400//..--``__^^]]~~NNOOPPQQ !!''&&%%$$ - -66554433ffeeddccSSTTUUVV,,--..//>>??@@AAIIHHGGFFyyxxwwvvppqqrrsszz{{||}}eeffgghh55667788,,++**))\\[[ZZYYRRSSTTUU""##$$%% ##""!!  221100//bbaa``__WWXXYYZZ00112233BBCCDDEEEEDDCCBBuuttssrrttuuvvww~~iijjkkll99::;;<< - - ((''&&%%XXWWVVUUVVWWXXYY&&''(()) - -  - - ..--,,++^^]]\\[[[[\\]]^^99::;;<>qqppoonnxxyyzz{{mmnnoopp==>>??@@ $$##""!!TTSSRRQQZZ[[\\]]**++,,-- - -  - -  - -**))((''ZZYYXXWW__``aabb==>>??@@JJKKLLMM$$%%&&'' - -==<<;;::mmllkkjj||}}~~qqrrssttAABBCCDD PPOONNMM~~}}^^__``aa..//0011  &&%%$$##VVUUTTSSccddeeffAABBCCDDNOPQRSST(())**++ 99887766iihhggffuuvvwwxxEEFFGGHHLLKKJJII||{{zzyy~~}}bbccddee22334455 ""!! RRQQPPOOgghhiijjEEFFGGHHTUUVVWWX,,--..//55443322eeddccbbyyzz{{||IIJJKKLLHHGGFFEExxwwvvuu||{{zzyyffgghhii66778899 - - - -NNMMLLKK~~}}||{{kkllmmnnIIJJKKLLXYYZZ[[\001122331100//..aa``__^^}}~~MMNNOOPP DDCCBBAAttssrrqqxxwwvvuu~~}}||jjkkllmm::;;<<== - -  JJIIHHGGzzyyxxwwooppqqrrMMSSTTUU\]]^^__`44556677--,,++**]]\\[[ZZQQRRSSTT!!""##$$ @@??>>==ppoonnmmttssrrqq{{zzyyxxnnooppqq>>??@@AA !!!!""##$$FFEEDDCCvvuuttssssttuuvvVVWWXXYY`aabbccd8899::;; - - ))((''&&YYXXWWVVUUVVWWXX%%&&''(( - - <<;;::99llkkjjiippoonnmmwwvvuuttrrssttuuBBCCDDEE""##$$%%%%&&''(( !!""BBAA@@??rrqqppoowwxxyyzzZZ[[\\]]deeffggh<<==>>?? %%$$##""UUTTSSRRYYZZ[[\\))**++,,88776655hhggffeeggffeeddssrrqqppvvwwxxyyFFGGHHII&&''(())))**++,,##$$%%&& >>==<<;;nnmmllkk{{||}}~~^^__``aaijklmmnn@@AABBCC!! QQPPOONN~~]]^^__``--..//0044332211ddccbbaaccbbaa``oonnmmllzz{{||}}JJKKLLMM !!""##**++,,----..//00''(())** - - ::998877jjiihhggbbccddeeooppqqrrDDEEFFGGMMLLKKJJ}}||{{zzaabbccdd1122334400//..--``__^^]]__^^]]\\kkjjiihh~~NNOOPPQQ !!$$%%&&''..//001111223399++,,--..66554433ffeeddccffggmmnnssttuuvvHHIIJJKKIIHHGGFFyyxxwwvveeffgghh55667788,,++**))\\[[ZZYY[[ZZYYXXggffeeddRRSSTTUU""##$$%%(())**++22334455::;;<<==//001122221100//bbaa``__ooppqqrrwwxxyyzzLLMMNNOOEEDDCCBBuuttssrriijjkkll99::;;<< - - ((''&&%%XXWWVVUUWWVVUUTTccbbaa``VVWWXXYY&&''(()),,--..//66778899>>??@@AA33445566..--,,++^^]]\\[[ssttuuvv{{||}}~~PPQQRRSS !!""##AA@@??>>qqppoonnmmnnoopp==>>??@@ $$##""!!TTSSRRQQSSMMLLKK__^^]]\\ZZ[[\\]]**++,,--00112233::;;<<==BBCCDDEE778899:: - -**))((''ZZYYXXWWwwxxyyzzTTUUVVWW$$%%&&'' - -==<<;;::mmllkkjjqqrrssttAABBCCDD PPOONNMMJJIIHHGG[[ZZYYXX^^__``aa..//001199::;;<<>>??@@AAFFGGHHII;;<<==>> &&%%$$##VVUUTTSS{{||}}~~XXYYZZ[[(())**++ 99887766iihhggff~~}}uuvvwwxxEEFFGGHHLLKKJJIIFFEEDDCCWWVVUUTTbbccddee22334455==>>??@@BBCCDDEEJJKKLLMM??@@AABB""!! RRQQPPOO\\]]^^__,,--..//55443322eeddccbb||{{zzyyyyzz{{||IIJJKKLLHHGGFFEEBBAA@@??SSRRQQPPffgghhii66778899AABBCCDDFFGGHHIISSTTUUVVCCDDEEFFNNMMLLKK~~}}||{{``aabbcc001122331100//..aa``__^^xxwwvvuu}}~~MMNNOOPP DDCCBBAA>>==<<;;OONNMMLL~~}}||jjkkllmm::;;<<==EEFFGGHHJJKKLLMMWWXXYYZZGGHHIIJJJJIIHHGGzzyyxxwwddeeffgg44556677--,,++**]]\\[[ZZttssrrqqQQRRSSTT!!""##$$ @@??>>==::993322KKJJIIHH{{zzyyxxnnooppqq>>??@@AAIIJJKKLLNNOOPPQQ[[\\]]^^KKLLMMNNFFEEDDCCvvuuttsshhiijjkk8899::;; - - ))((''&&YYXXWWVV~~}}||ppoonnmmUUVVWWXX%%&&''(( - - <<;;::991100//..GGFFEEDDwwvvuuttrrssttuuBBCCDDEEMMSSTTUURRSSTTUU__``aabbOOPPQQRR !!""BBAA@@??rrqqppoollmmnnoo<<==>>?? %%$$##""UUTTSSRR{{zzyyxxlkjihggfYYZZ[[\\))**++,,88776655--,,++**CCBBAA@@ssrrqqppvvwwxxyyFFGGHHIIVVWWXXYYVVWWXXYYccddeeffSSTTUUVV##$$%%&& >>==<<;;nnmmllkkppqqrrss@@AABBCC!! QQPPOONNwwvvuuttfeeddccb]]^^__``--..//0044332211))((''&&??>>==<>bbaa``__VUUTTSSR||{{zzyymmnnoopp==>>??@@ $$##""!!//..--,,__^^]]\\ZZ[[\\]]ooppqqrrjjkkllmm||}}~~gghhiijj778899:: - -**))((''ZZYYXXWWTTUUVVWW$$%%&&'' - -==<<;;::^^]]\\[[QPONMMLLxxwwvvuuqqrrssttAABBCCDD  ++**))(([[ZZYYXX^^__``aassttuuvvnnooppqqkkllmmnn;;<<==>> &&%%$$##VVUUTTSSXXYYZZ[[(())**++ 99887766ZZYYXXWWKKJJIIHHttssrrqquuvvwwxxEEFFGGHH - - ''&&%%$$WWVVUUTTbbccddeewwxxyyzzrrssttuuooppqqrr??@@AABB""!! RRQQPPOO\\]]^^__,,--..//55443322VVUUTTSSGGFFEEDDppoonnmmyyzz{{||IIJJKKLL##""!! SSRRQQPPffgghhii{{||}}~~vvwwxxyyssttuuvvCCDDEEFFNNMMLLKK~~}}||{{``aabbcc001122331100//..MMLLKKJJCCBBAA@@llkkjjii}}~~MMNNOOPP OONNMMLL~~}}||jjkkllmmzz{{||}}wwxxyyzzGGHHIIJJJJIIHHGGzzyyxxww~~}}||{{ddeeffgg44556677--,,++**IIHHGGFF??>>==<>?? %%$$##""AA@@??>>65433221``__^^]]YYZZ[[\\))**++,,CCBBAA@@ssrrqqppvvwwxxyySSTTUUVV##$$%%&& >>==<<;;nnmmllkkrrqqppooyyxxwwvvppqqrrss@@AABBCC!! ==<<;;::100//..-\\[[ZZYY]]^^__``--..//00 ??>>==<=>=>=>=<;<;<;<;878787873333334321212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#$#        \[\[\[\[ZYZYXWXWVUVUVUVUTSTSTSTSPOPOPOPOLKLKLKLKJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=<;<;<;<;878787874343434321212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#$#        \[\[\[\[XWXWXWXWVUVUVUVUTSTSTSTSPOPOPOPOLKLKLKLKJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=<;<;<;<;878787874343434321212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#$#        - \[\[\[\[XWXWXWXWVUVUVUVUTSTSTSTSPOPOPOPOLKLKLKLKJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=<;<;<;<;878787874343434321212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#$#        - - - - \[\[\[\[XWXWXWXWVUVUVUVUTSTSTSTSPOPOPOPOLKLKLKLKJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=<;<;<;<;878787874343434321212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!        - - - - \[\[\[\[XWXWXWXWVUVUVUVUTSTSTSTSPOPOPOPOLKLKLKLKJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=<;:9:9:9878787874343434321212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!        - - - - \[\[\[\[XWXWXWXWVUVUVUVUTSTSRQRQPOPOPOPOLKLKLKLKJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:9878787873333343421212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!        - - - - \[\[\[\[XWXWXWXWVUVUVUVURQRQRQRQPOPOPOPOLKLKLKLKJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:9878787873434343421212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!        - - - - \[\[\[\[XWXWXWXWVUVUVUVURQRQRQRQPOPOPOPOLKLKLKLKJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:9878787873434343421212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!        - - - - \[\[\[\[XWXWXWXWVUVUVUVURQRQRQRQPOPOPOPOLKLKLKLKJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:9878787873434343421212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!        - - - - \[\[\[\[XWXWXWXWVUVUVUVURQRQRQRQPOPOPOPOLKLKLKLKJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:9878787873434343421212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!        - - - - \[\[\[\[XWXWXWXWVUVUVUVURQRQRQRQPOPOPOPOLKLKLKLKJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:9878787873434343321212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!        - - - - \[\[\[\[XWXWXWXWVUVUVUVURQRQRQRQPOPONMNMLKLKLKLKJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:987878787333343430/0/0/0/.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!        - - - - \[\[\[\[XWXWXWXWVUVUVUVURQRQRQRQNMNMMMMMLKLKLKLKJIHGHGHGFEFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:987878787434343430/0/0/0/.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!        - - - - \[\[\[\[XWXWXWXWVUVUVUVURQRQRQRQNMNMNMNMLKLKLKLKHGHGHGHGFEFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:987878787434343430/0/0/0/.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!        - - - - \[\[\[\[XWXWXWXWVUVUVUVURQRQRQRQNMNMNMNMLKLKLKLKHGHGHGHGFEFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:987878787434343430/0/0/0/.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!        - - - - \[\[\[\[XWXWXWXWVUVUVUVURQRQRQRQNMNMNMNMLKLKLKLKHGHGHGHGFEFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:987878787434343430/0/0/0/.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!        - - - - \[\[\[\[XWXWXWXWVUVUVUVURQRQRQRQNMNMNMNMLKLKLKLKHGHGHGHGFEFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:987878787434343330/0/0/0/.-.-.-.-*)*)*)*)('('('('&%&%&%&%"!"!"!"!        - - - - \[\[\[\[XWXWXWXWVUVUVUVURQRQRQRQNMMMMMMNLKLKLKLKHGHGHGHGFEFEFEFEDCBABABA@?@?@?@?>=>=>=>=:9:9:9:987878787333434340/0/0/0/.-.-.-.-*)*)*)*)('('('('&%&%&%&%"!"!"!"!        - - - - \[\[ZYZYXWXWXWXWVUVUVUVURQRQRQRQMNMNMNMNLKLKLKLKHGHGHGHGFEFEFEFEBABABABA@?@?@?@?>=>=>=>=:9:9:9:987878765343434340/0/0/0/.-.-.-.-*)*)*)*)('('('('&%&%&%&%"!"!"!"!        - - - - ZYZYZYZYXWXWXWXWVUVUVUVURQRQRQRQMNMNMNMNLKLKLKLKHGHGHGHGFEFEFEFEBABABABA@?@?@?@?>=>=>=>=:9:9:9:965656565343434340/0/0/0/.-.-.-.-*)*)*)*)('('('('&%&%&%&%"!"!"!"!       - - - - ZYZYZYZYXWXWXWXWVUVUVUVURQRQRQRQMNMNMNMNLKLKLKLKHGHGHGHGFEFEFEFEBABABABA@?@?@?@?>=>=>=>=:9:9:9:965656565343434340/0/0/0/.-.-.-.-*)*)*)*)('('('('&%&%&%&%"!"!"!"!     - - - - ZYZYZYZYXWXWXWXWVUVUVUVURQRQRQRQMNMNMNMNLKLKLKLKHGHGHGHGFEFEFEFEBABABABA@?@?@?@?>=>=>=>=:9:9:9:965656565343434340/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!"!"!"!     - - - - ZYZYZYZYXWXWXWXWVUVUVUVURQRQRQRQMNMNMNMNLKLKLKLKHGHGHGHGFEFEFEFEBABABABA@?@?@?@?>=<;<;<;:9:9:9:965656565343433330/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!"!"!"!     - - - - ZYZYZYZYXWXWXWXWVUVUTSTSRQRQRQRQMMMMMMNMLKLKLKLKHGHGHGHGFEFEFEFEBABABABA@?@?@?@?<;<;<;<;:9:9:9:965656565334343430/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!"!"!"!     - - - - ZYZYZYZYXWXWXWXWTSTSTSTSRQRQRQRQNMNMNMNMLKLKLKLKHGHGHGHGFEFEFEFEBABABABA@?@?@?@?<;<;<;<;:9:9:9:965656565434343430/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!"!"!"!     - - - - ZYZYZYZYXWXWXWXWTSTSTSTSRQRQRQRQNMNMNMNMLKLKLKLKHGHGHGHGFEFEFEFEBABABABA@?@?@?@?<;<;<;<;:9:9:9:965656565434343430/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!"!"!"!     - - - - ZYZYZYZYXWXWXWXWTSTSTSTSRQRQRQRQNMNMNMNMLKLKLKLKHGHGHGHGFEFEFEFEBABABABA@?@?@?@?<;<;<;<;:9:9:9:965656565434343430/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!"!"!"! - - - - ZYZYZYZYXWXWXWXWTSTSTSTSRQRQRQRQNMNMNMNMLKLKLKLKHGHGHGHGFEFEFEFEBABABABA@?@?@?@?<;<;<;<;:9:9:9:965656565434333330/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!"!"!"! - - - - ZYZYZYZYXWXWXWXWTSTSTSTSRQRQRQRQNMNMNMNMLKLKLKLKHGHGHGHGFEFEFEFEBABABABA@?@?@?@?<;<;<;<;:9:9:9:965656565434343430/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!"!"!"! - - - - ZYZYZYZYXWXWXWXWTSTSTSTSRQRQRQRQMMMMMNMNLKLKLKLKHGHGHGHGFEFEFEFEBABABABA@?@?@?@?<;<;<;<;:9:9:9:965656565212121210/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!"!"!"! - - - - ZYZYZYZYXWXWXWXWTSTSTSTSRQRQRQRQMNMNMNMNLKJIJIJIHGHGHGHGFEFEFEFEBABABABA@?@?@?@?<;<;<;<;:9:9:9:965656565212121210/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!"!"!"! - - - - ZYZYZYZYXWXWXWXWTSTSTSTSRQRQRQRQMNMNMNMNJIJIJIJIHGHGHGHGFEFEFEFEBABABABA@?@?@?@?<;<;<;<;:9:9:9:965656565212121210/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!"!"!"! - - - - ZYZYZYZYXWXWXWXWTSTSTSTSRQRQRQRQMNMNMNMNJIJIJIJIHGHGHGHGFEFEFEFEBABABABA@?@?@?@?<;<;<;<;:9:9:9:965656565212121210/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!"!"!"! - - - - ZYZYZYZYXWXWXWXWTSTSTSTSRQRQRQRQMNMNMNMNJIJIJIJIHGHGHGHGFEFEFEFEBABABABA@?@?@?@?<;<;<;<;:9:9:9:965656565212121210/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!"!"!"! - - - - ZYZYZYZYXWXWXWXWTSTSTSTSRQRQRQRQMNMNMNMMJIJIJIJIHGHGHGHGFEFEFEFEBABABABA@?@?@?@?<;<;<;<;:9:9:9:965656565212121210/0/0/0/,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"! - - - - ZYZYZYZYXWXWXWXWTSTSTSTSRQRQRQRQMMMMNMNMJIJIJIJIHGHGHGHGFEDCDCDCBABABABA@?@?@?@?<;<;<;<;:9:9:9:965656565212121210/0/0/0/,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"! - - - - ZYZYZYZYXWXWXWXWTSTSTSTSRQRQRQRQNMNMNMNMJIJIJIJIHGHGHGHGDCDCDCDCBABABABA@?@?@?@?<;<;<;<;:9:9:9:965656565212121210/0/0/0/,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"! - - - - ZYZYZYZYXWXWXWXWTSTSTSTSRQRQRQRQNMNMNMNMJIJIJIJIHGHGHGHGDCDCDCDCBABABABA@?@?@?@?<;<;<;<;:9:9:9:965656565212121210/0/0/0/,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"! - - - - ZYZYZYZYXWXWXWXWTSTSTSTSPOPOPOPONMNMNMNMJIJIJIJIHGHGHGHGDCDCDCDCBABABABA@?@?@?@?<;<;<;<;:9:9:9:965656565212121210/0/0/0/,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"!    - - - - ZYZYZYZYXWXWXWXWTSTSTSTSPOPOPOPONMNMNMNMJIJIJIJIHGHGHGHGDCDCDCDCBABABABA@?@?@?@?<;<;<;<;:9:9:9:965656565212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#"!"!"!"!    - - - - ZYZYZYZYXWXWXWXWTSTSTSTSPOPOPOPONMNMNMMMJIJIJIJIHGHGHGHGDCDCDCDCBABABABA@?>=>=>=<;<;<;<;:9:9:9:965656565212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#"!"!"!"!    - - - - ZYZYZYZYXWXWVUVUTSTSTSTSPOPOPOPOMMMNMNMNJIJIJIJIHGHGHGHGDCDCDCDCBABABABA>=>=>=>=<;<;<;<;:9:9:9:965656565212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#"!"!"!"!    - - - - ZYZYZYZYVUVUVUVUTSTSTSTSPOPOPOPOMNMNMNMNJIJIJIJIHGHGHGHGDCDCDCDCBABABABA>=>=>=>=<;<;<;<;:9:9:9:965656565212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#"!"!"!"!    - - - ZYZYZYZYVUVUVUVUTSTSTSTSPOPOPOPOMNMNMNMNJIJIJIJIHGHGHGHGDCDCDCDCBABABABA>=>=>=>=<;<;<;<;:9:9:9:965656565212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#"!"!"!"!    ZYZYZYZYVUVUVUVUTSTSTSTSPOPOPOPOMNMNMNMNJIJIJIJIHGHGHGHGDCDCDCDCBABABABA>=>=>=>=<;<;<;<;:9:9:9:965656565212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#        ZYZYZYZYVUVUVUVUTSTSTSTSPOPOPOPOMNMNMNMNJIJIJIJIHGHGHGHGDCDCDCDCBABABABA>=>=>=>=<;<;<;<;:987878765656565212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#        ZYZYZYZYVUVUVUVUTSTSTSTSPOPOPOPOMNMNMMMMJIJIJIJIHGHGHGHGDCDCDCDCBABABABA>=>=>=>=<;<;<;<;8787878765656565212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#        ZYZYZYZYVUVUVUVUTSTSTSTSPOPOPOPOMMNMNMNMJIJIJIJIHGHGHGHGDCDCDCDCBABABABA>=>=>=>=<;<;<;<;8787878765656565212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#        ZYZYZYZYVUVUVUVUTSTSTSTSPOPOPOPONMLKLKLKJIJIJIJIHGHGHGHGDCDCDCDCBABABABA>=>=>=>=<;<;<;<;8787878765656565212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#        ZYZYZYZYVUVUVUVUTSTSTSTSPOPOPOPOLKLKLKLKJIJIJIJIHGHGHGHGDCDCDCDCBABABABA>=>=>=>=<;<;<;<;8787878765656565212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#        ZYZYZYZYVUVUVUVUTSTSTSTSPOPOPOPOLKLKLKLKJIJIJIJIHGHGHGHGDCDCDCDCBABABABA>=>=>=>=<;<;<;<;8787878765656565212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#        ZYZYZYZYVUVUVUVUTSTSTSTSPOPOPOPOLKLKLKLKJIJIJIJIHGHGHGHGDCDCDCDCBABABABA>=>=>=>=<;<;<;<;8787878765434343212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#        ZYZYZYZYVUVUVUVUTSTSTSTSPOPOPOPOLKLKLKLKJIJIJIJIHGHGHGHGDCDCDCDCBABABABA>=>=>=>=<;<;<;<;878787874333333421212121.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#        ZYZYZYZYVUVUVUVUTSTSTSTSPOPOPOPOLKLKLKLKJIJIJIJIHGFEFEFEDCDCDCDCBABABABA>=>=>=>=<;<;<;<;878787873434343421212121.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#        ZYZYZYZYVUVUVUVUTSTSTSTSPOPOPOPOLKLKLKLKJIJIJIJIFEFEFEFEDCDCDCDCBABABABA>=>=>=>=<;<;<;<;878787873434343421212121.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#        ZYZYZYZYVUVUVUVUTSTSTSTSPOPOPOPOLKLKLKLKJIJIJIJIFEFEFEFEDCDCDCDCBABABABA>=>=>=>=<;<;<;<;878787873434343421212121.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#        ZYZYZYZYVUVUVUVUTSTSTSTSPOPOPOPOLKLKLKLKJIJIJIJIFEFEFEFEDCDCDCDCBABABABA>=>=>=>=<;<;<;<;878787873434343421212121.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#        ZYZYZYZYVUVUVUVUTSTSTSTSPOPOPOPOLKLKLKLKJIJIJIJIFEFEFEFEDCDCDCDCBABABABA>=>=>=>=<;<;<;<;878787873434343421212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#$#        YYZZ[[\\00112233XXWWVVUU99::;;<<$$##""!!~~}}mmnnoopp - - SSRRQQPP>>??@@AA{{zzyyxxrrssttuu..--,,++XWWVVUUTCCDDEEFF]]^^__``99::;;<< - - TTSSRRQQ==>>??@@ ||{{zzyyqqrrsstt !!OONNMMLLBBCCDDEEwwvvuuttvvwwxxyy**))((''TSSRQPONGGHHIIJJaabbccdd==>>??@@ PPOONNMMAABBCCDDxxwwvvuuuuvvwwxx""##$$%%KKJJIIHHFFGGHHIIssrrqqppzz{{||}} !!&&%%$$##MMLLKKJJKKLLMMNNeeffgghhAABBCCDDLLKKJJIIEEFFGGHHttssrrqqyyzz{{||&&''(()) - -GGFFEEDDJJKKLLMMoonnmmll~~""##$$%%""!! IIHHGGFFOOPPQQRR iijjkkllEEFFGGHHHHGGFFEEIIJJKKLLppoonnmm}}~~**++,,-- CCBBAA@@NNOOPPQQ kkjjiihh&&''(())EEDDCCBBSSTTUUVV - - mmnnooppIIJJKKLLDDCCBBAAMMNNOOPP llkkjjii..//0011??>>==<>WWXXYYZZqqrrssttMMSSTTUU @@??>>==QQRRSSTT - - hhggffee223399::;;::9988VVWWXXYYccbbaa``..//0011==<<;;::[[\\]]^^uuvvwwxxVVWWXXYY!!""##$$<<;;::99UUVVWWXXddccbbaa;;<<==>>77665544ZZ[[\\]]__^^]]\\22334455 - -99876543__``aabbyyzz{{||ZZ[[\\]]%%&&''((88776655YYZZ[[\\``__^^]]??@@AABB !33221100^^__``aa[[ZZYYXX66778899 3221100/ccddeeff - -~~}}}}~~^^__``aa))**++,,44332211]]^^__``\\[[ZZYYCCDDEEFF!""##$$%//..--,,bbccddee WWVVUUTT::;;<<==/..--,,+gghhiijj ||{{zzyybbccddee--..//0000//..--aabbccddXXWWVVUUGGHHIIJJ%&&''(()++**))((ffgghhii - - SSRRQQPP>>??@@AA - - +**))(('kkllmmnnxxwwvvuuffggmmnn11223344,,++**))eeffgghh - - TTSSRRQQKKLLMMSS)**++,,-''&&%%$$jjkkllmmOONNMMLLBBCCDDEE '&&%%$$#~~}}||{{ooppqqrrttssrrqqooppqqrr55667788((''&&%%iijjkkll PPOONNMMTTUUVVWW-..//001##""!! ~~}}||nnooppqqKKJJIIHHFFGGHHII#""!! zzyyxxwwssttuuvvppoonnmmssttuuvv99::;;<<$$##""!!~~}}mmnnooppLLKKJJIIXXYYZZ[[12233456{{zzyyxxrrssttuuGGFFEEDDJJKKLLMMvvuuttsswwxxyyzzllkkjjiiwwxxyyzz==>>??@@ ||{{zzyyqqrrssttHHGGFFEE\\]]^^__7899::;;wwvvuuttvvwwxxyyCCBBAA@@NNOOPPQQ rrqqppoo{{||}}~~ !!""hhggffee{{||}}~~AABBCCDDxxwwvvuuuuvvwwxxDDCCBBAA``aabbcc<<==>>??ssrrqqppzz{{||}} !!??>>==<>==ddeeffgg@@AABBCCoonnmmll~~""##$$%%;;::9988VVWWXXYY%%&&''(( jjiihhgg''(())**``__^^]]IIJJKKLLppoonnmm}}~~!!""##$$<<;;::99mmnnooppDDEEFFGG kkjjiihh&&''(())77665544ZZ[[\\]]))**++,, - - ffeeddcc++,,--..\\[[ZZYYMMNNOOPP llkkjjii%%&&''((88776655qqrrssttHHIIJJKK - - ggffeedd**++,,--33221100^^__``aa--..//00bbaa``__//001122XXWWVVUUQQRRSSTT - - hhggffee))**++,,44332211uuvvwwxxLLMMNOPQccbbaa``..//0011//..--,,bbccddee11223399^^]]\\[[33445566TTSSRRQQUUVVWWXXddccbbaa--..//0000//..--yyzz{{||RSSTTUUV__^^]]\\22334455++**))((ffgghhii::;;<<==ZZYYXXWW778899::PPOONNMMYYZZ[[\\``__^^]]11223344,,++**))}}~~VWWXXYYZ[[ZZYYXX66778899''&&%%$$jjkkllmm>>??@@AA - -VVUUTTSS;;<<==>>LLKKJJII]]^^__``\\[[ZZYY55667788((''&&%%Z[[\\]]^ WWVVUUTT::;;<<==##""!! ~~}}||nnooppqqBBCCDDEE RRQQPPOO??@@AABBHHGGFFEEaabbccddXXWWVVUU99::;;<<$$##""!!~~}}^__``aab - - SSRRQQPP>>??@@AA{{zzyyxxrrssttuuFFGGHHIINNMMLLKKCCDDEEFFDDCCBBAAeeffgghh - - TTSSRRQQ==>>??@@ ||{{zzyybccddeefOONNMMLLBBCCDDEEwwvvuuttvvwwxxyyJJKKLLMMJJIIHHGGGGHHIIJJ@@??>>==iijjkkll PPOONNMMAABBCCDDxxwwvvuufgghijklKKJJIIHHFFGGHHIIssrrqqppzz{{||}}SSTTUUVVFFEEDDCCKKLLMMNN<<;;::99~~}}||{{mmnnooppLLKKJJIIEEFFGGHHttssrrqqmmnnooppGGFFEEDDJJKKLLMMoonnmmll~~WWXXYYZZBBAA@@??OOPPQQRR88776655zzyyxxwwqqrrssttHHGGFFEEIIJJKKLLppoonnmmqqrrssttCCBBAA@@NNOOPPQQ kkjjiihh[[\\]]^^ !!"">>==<<;;SSTTUUVV44332211vvuuttssuuvvwwxxDDCCBBAAMMNNOOPP llkkjjiiuuvvwwxx !!??>>==<>==QQRRSSTT - - hhggffeeyyzz{{||""##$$%%;;::9988VVWWXXYYccbbaa``ccddeeff''(())**66554433[[\\]]^^,,++**))nnmmggff}}~~!!""##$$<<;;::99UUVVWWXXddccbbaa}}~~&&''(())77665544ZZ[[\\]]__^^]]\\ggmmnnoo++,,--..221100//__``aabb((''&&%%eeddccbb~~}}||%%&&''((88776655YYZZ[[\\``__^^]]**++,,--33221100^^__``aa[[ZZYYXXppqqrrss//001122..--,,++ccddeeff$$##""!!aa``__^^{{zzyyxx))**++,,44332211]]^^__``\\[[ZZYY..//0011//..--,,bbccddee WWVVUUTTttuuvvww33445566**))((''gghhiijj ]]\\[[ZZwwvvuutt--..//0000//..--aabbccddXXWWVVUU22334455++**))((ffgghhii - - SSRRQQPPxxyyzz{{778899::&&%%$$##kkllmmnnYYXXWWVVssrrqqpp11223344,,++**))eeffgghh - - TTSSRRQQ66778899''&&%%$$jjkkllmmOONNMMLL||}}~~;;<<==>>""!! ~~}}||{{ooppqqrrUUTTSSMMoonnmmlk55667788((''&&%%iijjkkll PPOONNMM~~}}::;;<<==##""!! ~~}}||nnooppqqKKJJIIHH??@@AABBzzyyxxwwssttuuvvLLKKJJIIjihggffe99::;;<<$$##""!!~~}}mmnnooppLLKKJJII||{{zzyy>>??@@AA{{zzyyxxrrssttuuGGFFEEDDCCDDEEFFvvuuttsswwxxyyzz HHGGFFEEeddccbba==>>??@@ ||{{zzyyqqrrssttHHGGFFEExxwwvvuuBBCCDDEEwwvvuuttvvwwxxyyCCBBAA@@GGHHIIJJrrqqppoo{{||}}~~ - - DDCCBBAAa``__^^]AABBCCDDxxwwvvuuuuvvwwxxDDCCBBAAttssrrqqFFGGHHIIssrrqqppzz{{||}} !!??>>==<>==]\\[[ZZYEEFFGGHHttssrrqqyyzz{{|| @@??>>==ppoonnmmJJKKLLMMoonnmmll~~""##$$%%;;::9988OOPPQQRR jjiihhgg <<;;::99YXXWWVVUIIJJKKLLppoonnmm}}~~!!""##$$<<;;::99ggffeeddNNOOPPQQ kkjjiihh&&''(())77665544SSTTUUVV - - ffeeddcc33221100UTTSSRQPMMNNOOPP llkkjjii%%&&''((88776655ccbbaa``RRSSTTUU - - ggffeedd**++,,--33221100WWXXYYZZbbaa``__//..--,,ONMMLLKKQQRRSSTT - - hhggffee))**++,,44332211__^^]]\\VVWWXXYYccbbaa``..//0011//..--,,~~[[\\]]^^^^]]\\[[++**))((JJIIHHGGUUVVWWXXddccbbaa--..//0000//..--[[ZZYYXXZZ[[\\]]__^^]]\\22334455++**))((}}||{{zz__``aabbZZYYXXWW ''&&%%$$FFEEDDCCYYZZ[[\\``__^^]]11223344,,++**))WWVVUUTT^^__``aa[[ZZYYXX66778899''&&%%$$yyxxwwvvccddeeff - -VVUUTTSS!!""##$$##""!! BBAA@@??]]^^__``\\[[ZZYY55667788((''&&%%SSMMLLKKbbccddee WWVVUUTT::;;<<==##""!! uuttssrrgghhiijj RRQQPPOO%%&&''((>>==<<;;aabbccddXXWWVVUU99::;;<<$$##""!!JJIIHHGGffgghhii - - SSRRQQPP>>??@@AAqqppoonnkkllmmnnNNMMLLKK))**++,,::998765eeffgghh - - TTSSRRQQ==>>??@@ FFEEDDCCjjkkllmmOONNMMLLBBCCDDEEmmggffeeooppqqrrJJIIHHGG--..//0043322110iijjkkll PPOONNMMAABBCCDDBBAA@@??~~}}||nnooppqqKKJJIIHHFFGGHHIIddccbbaassttuuvvFFEEDDCC11223344 0//..--,~~}}mmnnooppLLKKJJIIEEFFGGHH>>==<<;;{{zzyyxxrrssttuuGGFFEEDDJJKKLLMM``__^^]]wwxxyyzzBBAA@@??vvuuttss55667788 - - - -,++**))(||{{zzyyqqrrssttHHGGFFEEIIJJKKLL::993322wwvvuuttvvwwxxyyCCBBAA@@NNOOPPQQ \\[[ZZYY~~}}||{{{{||}}~~ !!"">>==<<;;rrqqppoo99::;;<< (''&&%%$xxwwvvuuuuvvwwxxDDCCBBAAMMNNOOPP 1100//..ssrrqqppzz{{||}} !!??>>==<>??@@$##""!! ttssrrqqyyzz{{|| @@??>>==QQRRSSTT - - --,,++**oonnmmll~~""##$$%%;;::9988VVWWXXYYTTSSMMLLvvuuttss''(())**66554433jjiihhggAABBCCDD ppoonnmm}}~~!!""##$$<<;;::99UUVVWWXX))((''&&kkjjiihh&&''(())77665544ZZ[[\\]]KKJJIIHHrrqqppoo++,,--..221100//ffeeddccEEFFGGHHllkkjjii%%&&''((88776655YYZZ[[\\%%$$##""ggffeedd**++,,--33221100^^__``aaGGFFEEDDnnmmlkji//001122..--,,++bbaa``__IIJJKKLL !!""##hhggffee))**++,,44332211]]^^__``!! ccbbaa``..//0011//..--,,bbccddee CCBBAA@@hggffeed33445566**))((''^^]]\\[[MMNNOOPP$$%%&&''ddccbbaa--..//0000//..--aabbccdd - - __^^]]\\22334455++**))((ffgghhii - - ??>>==<>""!! ~~}}||{{VVUUTTSSUUVVWWXX,,--..// \\[[ZZYY55667788((''&&%%iijjkkll WWVVUUTT::;;<<==##""!! ~~}}||nnooppqq221100//\[[ZZYYX??@@AABBzzyyxxwwRRQQPPOONNMMLLKKCCDDEEFF@@??>>==}}||{{zzppqqrrssIIHHGGFFHHIIJJKKbbaa``__uuvvwwxxDDCCBBAAMMNNOOPP llkkjjiiuuvvwwxx !!??>>==<>==QQRRSSTT - - hhggffeeyyzz{{||""##$$%%;;::9988VVWWXXYYLLKKJJII__^^]]\\FFEEDDCCKKLLMMNN33221100uuttssrrxxyyzz{{AA@@??>>PPQQRRSS - -ZZYYXXWW||{{zzyy}}~~!!""##$$<<;;::99UUVVWWXXddccbbaa}}~~&&''(())77665544ZZ[[\\]]HHGGFFEE[[ZZYYXXBBAA@@??OOPPQQRR //..--,,qqppoonn||}}~~ !!""##==<<;;::TTUUVVWW VVUUTTSSxxwwvvuu%%&&''((88776655YYZZ[[\\``__^^]]**++,,--33221100^^__``aaDDCCBBAAWWVVUUTT>>==<<;;SSTTUUVV - - ++**))((mmllkkjj$$%%&&''99887766XXYYZZ[[MMLLKKJJttssrrqq))**++,,44332211]]^^__``\\[[ZZYY..//0011//..--,,bbccddee @@??>>==SSRRQQPP::998877WWXXYYZZ''&&%%$$iihhggff(())**++55443322\\]]^^__IIHHGGFFppoonnmm--..//0000//..--aabbccddXXWWVVUU22334455++**))((ffgghhii - - <<;;::99OONNMMLL66554433[[\\]]^^##""!! eeddccbb,,--..//1100//..``aabbccEEDDCCBBlkjihggf11223344,,++**))eeffgghh - - TTSSRRQQ66778899''&&%%$$jjkkllmm33221100KKJJIIHH221100//__``aabb - -aa``__^^00112233--,,++**ddeeffgg - - AA@@??>>feeddccb55667788((''&&%%iijjkkll PPOONNMM~~}}::;;<<==##""!! ~~}}||nnooppqq//..--,,GGFFEEDD..--,,++ccddeeff ]]\\[[ZZ44556677))((''&&hhiijjkk ==<<;;::baa``__^99::;;<<$$##""!!~~}}mmnnooppLLKKJJII||{{zzyy>>??@@AA{{zzyyxxrrssttuu++**))((CCBBAA@@**))((''gghhiijjYYXXWWVV8899::;;%%$$##""~~llmmnnoo99332211^]]\\[[Z==>>??@@ ||{{zzyyqqrrssttHHGGFFEExxwwvvuuBBCCDDEEwwvvuuttvvwwxxyy''&&%%$$??>>==<<&&%%$$##kkllmmnn UUTTSSRR<<==>>??!! }}||{{zzppqqrrss00//..--ZYYXXWWVAABBCCDDxxwwvvuuuuvvwwxxDDCCBBAAttssrrqqFFGGHHIIssrrqqppzz{{||}} !!##""!! ;;::9988""!! ~~}}||{{ooppqqrr - - QQPPOONN@@AABBCCyyxxwwvvttuuvvww,,++**))VUUTTSSREEFFGGHHttssrrqqyyzz{{|| @@??>>==ppoonnmmJJKKLLMMoonnmmll~~""##$$%%77665544zzyyxxwwssttuuvv !!""##MMLLKKJJDDEEFFGGuuttssrrxxyyzz{{((''&&%%QPONMMLLIIJJKKLLppoonnmm}}~~!!""##$$<<;;::99ggffeeddNNOOPPQQ kkjjiihh&&''(())33221100vvuuttsswwxxyyzz$$%%&&''IIHHGGFFHHIIJJKKqqppoonn||}}~~ !!""##$$##""!!KKJJIIHHMMNNOOPP llkkjjii%%&&''((88776655ccbbaa``RRSSTTUU - - ggffeedd**++,,--//..--,,rrqqppoo{{||}}~~(())**++ - - EEDDCCBBLLMMNNOOmmllkkjj$$%%&&'' GGFFEEDDQQRRSSTT - - hhggffee))**++,,44332211__^^]]\\VVWWXXYYccbbaa``..//0011 ++**))((nnmmllkk,,--..// AA@@??>>PPQQRRSS - -iihhggff(())**++CCBBAA@@UUVVWWXXddccbbaa--..//0000//..--[[ZZYYXXZZ[[\\]]__^^]]\\22334455 - - - -''&&%%$$ jjiihhgg00112233==<<;;::TTUUVVWW eeddccbb,,--..//??>>==<>??@@55443322\\]]^^__]]\\[[ZZ44556677 - - 65433221aabbccddXXWWVVUU99::;;<<$$##""!!JJIIHHGGffgghhii - - SSRRQQPP>>??@@AA^^]]\\[[AABBCCDD !!""#1100//..``aabbccYYXXWWVV8899::;;100//..-eeffgghh - - TTSSRRQQ==>>??@@ FFEEDDCCjjkkllmmOONNMMLLBBCCDDEEZZYYXXWWEEFFGGHH#$$%%&&'--,,++**ddeeffgg - - UUTTSSRR<<==>>?? -,,++**)iijjkkll PPOONNMMAABBCCDDBBAA@@??~~}}||nnooppqqKKJJIIHHFFGGHHII !!""## - -VVUUTTSSIIJJKKLL'(())**+))((''&&hhiijjkk QQPPOONN@@AABBCC - - )((''&&%~~}}mmnnooppLLKKJJIIEEFFGGHH>>==<<;;{{zzyyxxrrssttuuGGFFEEDDJJKKLLMM$$%%&&'' RRQQPPOOMMSSTTUU+,,--../%%$$##""~~llmmnnooMMLLKKJJDDEEFFGG%$$##""!||{{zzyyqqrrssttHHGGFFEEIIJJKKLL::993322wwvvuuttvvwwxxyyCCBBAA@@NNOOPPQQ(())**++ - - NNMMLLKKVVWWXXYY/0011223!! }}||{{zzppqqrrssIIHHGGFFHHIIJJKK! xxwwvvuuuuvvwwxxDDCCBBAAMMNNOOPP 1100//..ssrrqqppzz{{||}} !!??>>==<>==QQRRSSTT - - --,,++**oonnmmll~~""##$$%%;;::9988VVWWXXYY00112233FFEEDDCC^^__``aa::;;<<==uuttssrrxxyyzz{{AA@@??>>PPQQRRSS !!""ppoonnmm}}~~!!""##$$<<;;::99UUVVWWXX))((''&&kkjjiihh&&''(())77665544ZZ[[\\]]99::;;<<BBAA@@??bbccddee>>??@@AAqqppoonn||}}~~ !!""##==<<;;::TTUUVVWW##$$%%&&llkkjjii%%&&''((88776655YYZZ[[\\%%$$##""ggffeedd**++,,--33221100^^__``aa==>>??@@ !!"">>==<<;;ffggmmnnBBCCDDEEmmllkkjj$$%%&&''99887766XXYYZZ[[''(())** hhggffee))**++,,44332211]]^^__``!! ccbbaa``..//0011//..--,,bbccddeeAABBCCDD##$$%%&&::998877ooppqqrrFFGGHHII - -iihhggff(())**++55443322\\]]^^__++,,--.. - - ddccbbaa--..//0000//..--aabbccdd - - __^^]]\\22334455++**))((ffgghhiiEEFFGGHH !!''(())**66554433ssttuuvvJJKKLLMM eeddccbb,,--..//1100//..``aabbcc//001122``__^^]]11223344,,++**))eeffgghh [[ZZYYXX66778899''&&%%$$jjkkllmmIIJJKKLL""##$$%%++,,--..221100//wwxxyyzzNOPQRSSTaa``__^^00112233--,,++**ddeeffgg3399::;;\\[[ZZYY55667788((''&&%%iijjkkll WWVVUUTT::;;<<==##""!! ~~}}||nnooppqqMMSSTTUU&&''(())//001122..--,,++{{||}}~~TUUVVWWX]]\\[[ZZ44556677))((''&&hhiijjkk<<==>>??XXWWVVUU99::;;<<$$##""!!~~}}mmnnoopp - - SSRRQQPP>>??@@AA{{zzyyxxrrssttuuVVWWXXYY**++,,--33445566**))((''XYYZZ[[\YYXXWWVV8899::;;%%$$##""~~llmmnnoo@@AABBCC - - TTSSRRQQ==>>??@@ ||{{zzyyqqrrsstt !!OONNMMLLBBCCDDEEwwvvuuttvvwwxxyyZZ[[\\]]..//0011778899::&&%%$$##\]]^^__` - - UUTTSSRR<<==>>??!! }}||{{zzppqqrrssDDEEFFGG PPOONNMMAABBCCDDxxwwvvuuuuvvwwxx""##$$%%KKJJIIHHFFGGHHIIssrrqqppzz{{||}}^^__``aa22334455;;<<==>>""!! ~~}}||{{`aabbccd QQPPOONN@@AABBCCyyxxwwvvttuuvvwwHHIIJJKKLLKKJJIIEEFFGGHHttssrrqqyyzz{{||&&''(()) - -GGFFEEDDJJKKLLMMoonnmmll~~bbccddee66778899??@@AABBzzyyxxwwdeeffgghMMLLKKJJDDEEFFGGuuttssrrxxyyzz{{LLMMSSTTHHGGFFEEIIJJKKLLppoonnmm}}~~**++,,-- CCBBAA@@NNOOPPQQ kkjjiihhffggmmnn::;;<<==CCDDEEFFvvuuttssijklmmnnIIHHGGFFHHIIJJKKqqppoonn||}}~~UUVVWWXXDDCCBBAAMMNNOOPP llkkjjii..//0011??>>==<>??@@AAGGHHIIJJrrqqppooooppqqrrEEDDCCBBLLMMNNOOmmllkkjjYYZZ[[\\ @@??>>==QQRRSSTT - - hhggffee223399::;;::9988VVWWXXYYccbbaa``ssttuuvvBBCCDDEEKKLLMMNNnnmmllkkssttuuvvAA@@??>>PPQQRRSS - -iihhggff]]^^__``!!""##$$<<;;::99UUVVWWXXddccbbaa;;<<==>>77665544ZZ[[\\]]__^^]]\\wwxxyyzzFFGGHHIIOOPPQQRR jjiihhggwwxxyyzz !!""##==<<;;::TTUUVVWW eeddccbbaabbccdd%%&&''((88776655YYZZ[[\\``__^^]]??@@AABB !33221100^^__``aa[[ZZYYXX{{||}}~~JJKKLLMMSSTTUUVV - - ffeeddcc{{||}}~~$$%%&&''99887766XXYYZZ[[aa``__^^eeffggmm))**++,,44332211]]^^__``\\[[ZZYYCCDDEEFF!""##$$%//..--,,bbccddee WWVVUUTTNNOOPPQQWWXXYYZZbbaa``__(())**++55443322\\]]^^__]]\\[[ZZnnooppqq--..//0000//..--aabbccddXXWWVVUUGGHHIIJJ%&&''(()++**))((ffgghhii - - SSRRQQPPRRSSTTUU[[\\]]^^^^]]\\[[,,--..//1100//..``aabbccYYXXWWVVrrssttuu11223344,,++**))eeffgghh - - TTSSRRQQKKLLMMSS)**++,,-''&&%%$$jjkkllmmOONNMMLLVVWWXXYY__``aabbZZYYXXWW00112233--,,++**ddeeffgg - - UUTTSSRRvvwwxxyy55667788((''&&%%iijjkkll PPOONNMMTTUUVVWW-..//001##""!! ~~}}||nnooppqqKKJJIIHHZZ[[\\]]ccddeeff - -VVUUTTSS44556677))((''&&hhiijjkk QQPPOONNzz{{||}}99::;;<<$$##""!!~~}}mmnnooppLLKKJJIIXXYYZZ[[12233456{{zzyyxxrrssttuuGGFFEEDD^^__``aagghhiijj RRQQPPOO8899::;;%%$$##""~~llmmnnooMMLLKKJJ~~==>>??@@ ||{{zzyyqqrrssttHHGGFFEE\\]]^^__7899::;;wwvvuuttvvwwxxyyCCBBAA@@bbccddeekkllmmnnNNMMLLKK~~}}||{{<<==>>??!! }}||{{zzppqqrrssIIHHGGFFAABBCCDDxxwwvvuuuuvvwwxxDDCCBBAA``aabbcc<<==>>??ssrrqqppzz{{||}} !!??>>==<>==ddeeffgg@@AABBCCoonnmmll~~""##$$%%;;::9988jjkkllmmssttuuvvFFEEDDCCvvuuttssDDEEFFGGuuttssrrxxyyzz{{AA@@??>>IIJJKKLLppoonnmm}}~~!!""##$$<<;;::99mmnnooppDDEEFFGG kkjjiihh&&''(())77665544nnooppqqwwxxyyzzBBAA@@??rrqqppooHHIIJJKKqqppoonn||}}~~ !!""##==<<;;::MMNNOOPP llkkjjii%%&&''((88776655qqrrssttHHIIJJKK - - ggffeedd**++,,--33221100rrssttuu{{||}}~~ !!"">>==<<;;nnmmggffLLMMNNOOmmllkkjj$$%%&&''99887766QQRRSSTT - - hhggffee))**++,,44332211uuvvwwxxLLMMNOPQccbbaa``..//0011//..--,,~~}}||{{vvwwxxyy##$$%%&&::998877eeddccbbPPQQRRSS - -iihhggff(())**++55443322UUVVWWXXddccbbaa--..//0000//..--yyzz{{||RSSTTUUV__^^]]\\22334455++**))((zzyyxxwwzz{{||}}''(())**66554433aa``__^^TTUUVVWW eeddccbb,,--..//1100//..YYZZ[[\\``__^^]]11223344,,++**))}}~~VWWXXYYZ[[ZZYYXX66778899''&&%%$$vvuuttss~~}}||~~++,,--..221100//]]\\[[ZZXXYYZZ[[aa``__^^00112233--,,++**~~}}||]]^^__``\\[[ZZYY55667788((''&&%%Z[[\\]]^ WWVVUUTT::;;<<==##""!! rrqqppoo{{zzyyxx//001122..--,,++YYXXWWVV\\]]^^__]]\\[[ZZ44556677))((''&&{{zzyyxxaabbccddXXWWVVUU99::;;<<$$##""!!~~}}^__``aab - - SSRRQQPP>>??@@AAnnmmggffwwvvuutt33445566**))((''UUTTSSMM``aabbccYYXXWWVV8899::;;%%$$##""wwvvuutteeffgghh - - TTSSRRQQ==>>??@@ ||{{zzyybccddeefOONNMMLLBBCCDDEEeeddccbbssrrqqpp778899::&&%%$$##LLKKJJIIddeeffgg - - UUTTSSRR<<==>>??!! ssrrqqppiijjkkll PPOONNMMAABBCCDDxxwwvvuufgghijklKKJJIIHHFFGGHHIIaa``__^^oonnmmll;;<<==>>""!! HHGGFFEEhhiijjkk QQPPOONN@@AABBCCoonnmmggmmnnooppLLKKJJIIEEFFGGHHttssrrqqmmnnooppGGFFEEDDJJKKLLMM]]\\[[ZZkkjjiihh??@@AABBDDCCBBAA~~llmmnnooMMLLKKJJDDEEFFGGffeeddccqqrrssttHHGGFFEEIIJJKKLLppoonnmmqqrrssttCCBBAA@@NNOOPPQQ YYXXWWVVggffeeddZHAbtArdrXQJ`vffے`JXQtArdp˂rbdQZ|ZHAbtlJp˂rbdQZ|˂pZZdQbtJ`ےdrtAJ`JXQrrd|˂rXQZ|d`JXQlJtArHAZp˂tbdQے`JXQ|ZdQbp˂r`vXnr˂p|ZdQbXQJ`ےdrtAے`JXQtArdXQHAZpltbHAbےlJtAbHAZpltb˂pZZdQbtJ`ےrtAJlrZAbdfrXQJZ|dr˂ptlJXQJ`ےvpfZHAbtlJbHAZJltr˂p|ZdQb˂rXQnvp`JXQrrdf˂rXQdQZ|HAbےlJtAbHAZptbdQے`J~Hfp`ےbrtAJlZHAbtArdbHAZH~fے`JXQtArdp˂rbdQZ|ZHAbtlJJ`ےff`v˂pZ~HfJ`ےdrtAJ`JXQrrd|˂rXQZ|dXQr˂vnXHAZp˂tbdQے`JXQ|ZdQbp˂r`vXnr˂pf~HXQJ`ےdrtAے`JXQtArdbHAZpXnvHAbےpvnbHAZpltb˂pZZdQbtJ`ےtbdQZpZHAbv`frXQJZ|dr˂ptlJXQJ`ےvpfZHAbfpvbHAZJltr˂p|ZdQb˂rXQpfH~`JXQrXv`f˂rXQdQZ|HAbےlJtAbHAZp|drے`J~Hfp`ےbtAJlZHAbtArdrXQH~fے`JXQnXv`p˂rbdQZ|ZHAbtlJJ`p˂f`v˂pZ~HfJ`ےdtAJl`JXQrrd|˂rXQtAJlXQr˂vnXHAZp˂tbnے`JXQ|ZdQbJ`ے`vXnr˂pf~HXQJ`ےdtAJے`JXQtArdrXQJXnvHAbےpvnbHAZptbn˂pZZdQbtJ`ےtbdQZpZAb`v`frXQJvpfHr˂ptlJbHAZpvpfZHAbfpvbHAZltbr˂p|ZdQb`ےbf~f``JXQrXv`f˂rXQvpfHAbےlJtAbHAZp|ltJXQr~Hfp`ےbf`vZHAbtArd˂rXQH~fے`JXQnXv`p˂rnvpZHAbtlJHAZp˂vXn˂pZ~HfJ`ےHf``JXQrrd|˂rXQbnv˂pZHvnXHAZp˂Xnvے`JXQ|ZdQbJ`ے`vXnr˂pf~HXQJ`ےfHfے`JXQtArdrXQJvpfHHAbےpvnbHAZpvXn˂pZZdQbtJ`ےp`vXAbے`v`frXQJpfH~r˂ptlJbHAXQJvpfZHAbfpvbHAZ`vXnr˂p|ZdQb`ے~f``JXQrXv`f˂rXQvpfHHAbےlJtAbHAZpnvpJXQr~Hfp`ےbf`vZHAbtArd`ےbH~fے`JXQnXv`p˂rvpfZHAbtlJrXQJ`vXn˂pZ~HfJ`ے~f``JXQrrdf˂rXQfH~˂pZHvnXHAZp˂Xnvے`JXQ|ZdQbHAZp˂`vXnr˂pf~HXQJ`ےH~fے`JXQtArdےbHAvpf~HAbےpvnbHAZpvXn˂pZ~HfJ`ےf`vXAbJXQv`frXQJpfH~r˂ptlJrXQJvpfZHAbfpvbHAZ`vXnr˂pf~HZp˂f`vX`JXQrXv`f˂rXQvpfHHAbےpvnbHAZpnfr˂p~Hfp`ےbf`vZHAbtArd`ےbH~fے`JXQnXv`p˂rvpfZHAbfpvrXQJ`nvp˂pZ~HfJ`ے~f``JXQrXv`f˂rXQ`vXnZHAbvnXHAZp˂Xnvے`JXQ|ZdQbHAZp``vXnr˂pf~HXQJ`ےH~fے`JXQnXv`ےbHAfH~HAbےpvnbHAZpvXn˂pZ~HfJ`ےvpfے`JXQv`frXQJpfH~r˂ptlJےbHAvpfZHAbfpvbHAZ`vXnr˂pf~HXQJ`ےf`vX`JXQrXv`f˂rXQvpfHHAbےpvnbHAZpH~fr˂p~Hfp`ےbf`vZHAbtArdZp˂H~fے`JXQnXv`p˂rvpfZHAbfpvbHAZnvp˂pZ~HfJ`ے~f``JXQrXv`f˂rXQ`vXnZA`JvnXHAZp˂Xnvے`JXQf~HrXQJ``vXnr˂pf~HXQJ`ےH~fے`JXQnXv`p˂rfH~fHAے`pvnbHAZpvXn˂pZ~HfJ`ےvp`XQrbtv`frXQJpfH~r˂pXv`fےbHAvpfZHAےfpvbHAZ`vXnr˂pf~HXQJ`ےvXnJXQrbXv`f˂rXQvpfHHAbےpvnbHAZpvXnlJtA~Hfp`ےbf`vZHAb~HfZp˂H~f`JXQrnXv`p˂rvpfZHAbfpvbHAZvpfHtlJ~HfJ`ے~f``JXQrXv`f˂rXQvpfHd|ZvnXHAZp˂Xnvے`JXQpvnbHAZ`vXnbtlf~HXQJ`ےH~fے`JXQnXv`p`ے~f`tAd|pvnbHAZpvXn˂pZ~HfJ`ے~f`dQbtv`frXQJpfH~r˂pXv`fdrtAvpfJtAdfpvbHAZ`vXnr˂pf~HbHAZpvXnZdQbtXv`f˂rXQvpfHHAbےpvnbHAZpvXnlJtAr~Hfp`ےbf`vZHAb~HfJbdQH~f|ZdQbnXv`p˂rvpfZHAbfpv˂rXQvpfHlJtA~HfJ`ے~f``JXQrXv`f˂rXQvpfHd|ZvnXHAZdXnvے`JXQp`fZ|d`vXntlJf~HXQJ`ےH~fے`JXQnXv`J`ے~fvnrd|pvnbHAZvXn˂pZ~HfJ`ےXnvdQbtv`frtAJlpfH~r˂p~HfprtAJl瀅vpftArdfpvbHAZ`vXnr˂pf~HbHAZpvpfZdQbtXv`fdrtAJvpfHHAbےpvnbHAZppfH~lJtAr~HfptbdQf`vZHAbvnXtbdQH~f|ZdQbnXv`drtAvpfZHAbfpv˂bH~flJtA~Hfltb~f``JXQrXv`f˂rXQf`vd|ZvnXZ|dXnvے`JXQv`fZ|d`vXntlJf~HJltH~fے`JXQnXv`HAZd`vXnrd|pvndQZ|vXn˂pZ~HfJ`ےXnvdQbtv`frtAJlpfH~r˂p~HfprtAJlvpftArdfpvbdQZ|`vXnr˂pf~HrtAdQZvpfZdQbtXv`fdrtAJvpfHHAے`pvnbHAZppfH~lJtAr~HfptbdQf`vZHAbv~bQZ|H~f|ZdQbnXv`drtAvpfZHAےfpv|drH~flJtA~Hfltb~f`JXQrbXv`f˂rXQvpd|ZvnXZ|dXnvے`JXQHfpvdrtAJ`vXntlJf~HJltH~f`JXQrnXv`tAJl`vnvprd|pvndQZ|vXntlJ~HfJ`ےfH~dQbtv`frtAJlpfH~r˂pnXvltbvpftArdfpvbdQZ|`vXnbtlf~HtbdQZfH~ZdQbtXv`fdrtAJvpfHtAd|pvnbHAZpf`vXlJtAr~HfptbdQf`vZHAb`f~dQZ|H~f|ZdQbnXv`drtAvpfJtAdfpv|drf`vXlJtA~Hfltb~f`ZdQbtXv`f˂rXQnvpd|ZvnXZ|dXnvے`JXQHfpvdrtAJ`vXntlJf~HJltH~f|ZdQbnXv`tAJl|nvprd|pvndQZ|vXnlJtA~HfJ`ےfH~dQbtv`frtAJlpfH~r˂pnXHltbQvpftArdfpvbdQZ|`vXntlJf~HdrtAfH~ZdQbtXv`fdrtAJvpfHrd|pvnbHAZf`pflJtAr~HfptbdQf`vZHAbfpvZdrtH~f|ZdQbnXv`drtAvpftArdfpvJltf`vXlJtA~Hfltb~f`ZdQbtXv`fdrtAdQH~fd|ZvnXZ|dXnvے`JXQnXv`AJlt`vXntlJf~HJltH~f|ZdQbnXv`bdQZ|nvfHrd|pvndQZ|vXnlJtA~HfZ|d`vXndQbtv`frtAJlpfH~r˂pf~HbdQZ|vpftArdfpvbdQZ|`vXntlJf~HdrtA~fZZdQbtXv`fdrtAJvpfHrd|pvnrtAJlvpflJtAr~HfptbdQf`v|ZdQbfpvdrtH~f|ZdQbnXv`drtAvpftArdfpvJltHAbےlJtA~Hfltb~f`ZdQbtXv`ftbdQH~fd|ZvnXZ|dXnvtlJnXv`AJltZHAbtlJf~HJltH~f|ZdQbnXv`drtAJ`JXQrrd|pvndQZ|vXnlJtA~HfZ|d`vXHdQbtv`frtAJlpfH~tArdpvnbdQZے`JXQtArdfpvbdQZ|`vXntlJf~Hltb˂pZZdQbtXv`fdrtAJvpfHrd|pvnrtAJl~fZlJtArHfpvtbdQf`v|ZdQbXv`frtAJlr˂p|ZdQbnXv`drtAvpftArdfpvdQZ|HAbےlJtAHfpltb~f`ZdQbtXv`f|drHAbd|ZnrXQZ|dXnvtlJ~HftbdQZHAbtlJfHfJltH~f|ZdQbnXv`drtAJ`JXQrrd|vnrdQZ|vXnlJtA~HftAJlJQr˂pdQbtJ`ےrtAJlpfH~tArdpvnZ|dے`JXQtArdpvnbdQZ|`vXntlJf~Hltb˂pZZdQbtXQJ`ےdrtAJvpfHrd|pvntbdQZZHAblJtArHAZp˂tbdQf`v|ZdQbXv`frtAJlr˂p|ZdQbrXQJ`drtAvpftArdfpvdQtAJlHAbےlJtAHAZpltb~f`ZdQbtXv`f|drے`JXd|ZrXQJZ|dXnvtlJnXtbdQZHAbtlJےHAZJltH~f|ZdQbnXv`tbdQ`JXQrrd|˂rXQdQZ|vXnlJtA~HftAJlQr˂pdQbt`ےbrtAJlpfH~tArdv`fZ|rAے`JXQtArdp˂rbdQZ|`vXntlJf~HZ|d˂pZZdQbtJ`ےdrtAJvpfHrd|pvntdrtAZHAblJtArHAZp˂tbdQfZHA|ZdQb~HfpJltr˂p|ZdQbXQJ`ےdrtAvpftArdfpvrtAJlHAbےlJtAbHAZpltb~fZZdQbtXv`fJltے`JQrd|ZrXQJZ|dbے`tlJvnXbdQZ|ZHAbtlJbHAZJltH~f|ZdQbnXv`tbdQ`JXQrrd|˂rXQdQZ|HAbےlJtA~HfbdQZ|pZHAdQbt`ےbrtAJlJXQr˂pZHAtArdv`p˂drtAے`JXQtArdp˂rbdQZ|ZHAbtlJf~HZ|l璀˂pZZdQbtJ`ےdrtAJ`JXQrrd|pvndrtAbے`lJtArHAZp˂tbdQ˂pZHAbے`|ZdQbrXQJJltr˂p|ZdQbXQJ`ےdrtAے`JXQtArdfpvtbdQZHAbےlJtAbHAZpltb˂pZZdQbtXv`fJltJXQrd|ZrXQJZ|dbے`JXQrtlJ`ےbbdQZ|ZHAbtlJbHAZJltr˂p|ZdQbnXv`|dr`JXQrrd|˂rXQdQZ|HAbےlJtAHfpbdQtAJ˂pZHAdQbt`ےbrtAJlJXQr˂pZHAtArdHAZp˂drAJے`JXQtArdp˂rbdQZ|ZHAbtlJfHftAJl璀˂pZZdQbtJ`ےdrtAJ`JXQrrd|vnrltbbے`lJtArHAZp˂tbdQ˂pZHAbے`|ZdQbrXQHAtbdQZr˂p|ZdQbXQJ`ےdrtAے`JXQtArdpvntbdQZHAbےlJtAbHAZpltb˂pZZdQbtXQJ`ےdQZ|JXQrd|ZrXQJZ|dbے`JXQrtlJZp˂|drZHAbtlJbHAZJltr˂p|ZdQbrXQJ`|dt`JXQrrd|˂rXQdQZ|HAbےlJtAHAZpdrtAJZHAbdQbt`ےbrtAJlJXQr˂pZHAtArdrXQJ`tAJlے`JXQtArdp˂rbdQZ|ZHAbtlJp˂rbdQZ|˂pZZdQbtJ`ےdrtAJ`JXQrrd|˂rXQltb`JXQlJtArHAZp˂tbdQ˂pZHAbے`|ZdQbےbHAtbdQZr˂p|ZdQbXQJ`ےdrtAے`JXQtArdXQJ`ےdrtAHAbےlJtAbHAZpltb˂pZZdQbtJ`ےdQZ|lr˂pd|ZrXQJZ|dbے`JXQrtlJZp˂|dnZHAbtlJbHAZJltr˂p|ZdQbbHAZJlt`JXQrrd|˂rXQdQZ|HAbےlJtAbHAZptbdQZHAbdQbt`ےbrtAJlJXQr˂pZHAbے`lJtArHAZp˂tbdQے`JXQHfpvےbHAf`vXXQr˂f~rXQJ`|drJXQrvnv`p˂rvpfZHAbfpvbHAZJltr˂pdfp˂r~f``JXQrXv`f˂rXQdQZ|XQr`vXnJXQrdfrXQJZ|dr˂pnXvZp˂nvppZHAbHfpvےbHAtAJl˂pZHAf~HXQJ`ےH~fے`JXQnXv`p˂rbdQZ|ZHAb~HXvXQJ`ےvXn˂pZ~HfJ`ےdtAJlے`JXQvˍpf˂pZHA~Hfp`ےbrtAJl`JXQr`f~rXQJ`fH~ے`JnXvZp˂tbdQZbے`fpvbHAZ`vXnr˂pf~HXQJ`ےdtAJے`JXQ`f~bHAZvpfHHAbےpvnbHAZptbnr˂pH~ㅐfbے`vnXHAZp˂tbdQ˂pZHfpvےbHAf`vXXQr˂`f~rXQJ`|dtAJXQrnXv`p˂rvpfZHAbfpvbHAZltbr˂pHfpvprQJ`~f``JXQrXv`f˂rXQvpfZHAb`vXnJXQrv`frXQJZ|dHAbےnXvZp˂nvppZHAbHfpvےbHAJltے`Jf~HXQJ`ےH~fے`JXQnXv`p˂rnvpZHAbnXvےbHvXn˂pZ~HfJ`ےHf`ے`JXQvˍpf˂pZHA~Hfp`ےbtAJl`JXQr`f~rXQJ`fH~ے`JnXvZp˂bnvXQr˂fpvbHAZ`vXnr˂pf~HXQJ`ےfHfے`JXQ`f~AZp˂vpfHHAbےpvnbHAZpvXnr˂pH~ㅐfbے`vnXHAZp˂tbn˂pZHfpvےbHAf`vXXQr˂`f~rXQJ`pfHpZHAbnvfp˂rvpfZHAbfpvbHAZ`vXnr˂pHfp`rXQJ`~f``JXQrXv`f˂rXQvpfH`JXQr`vXnJXQrv`frXQJvp`vHAXQrnXvZp˂nvppZHAbHfpvےbHAf`vXے`J~HfpXQJ`ےH~fے`JXQnXv`p˂rvpfZHAbf~HےbHvXn˂pZ~HfJ`ے~f`˂pZvˍpf˂pZHA~Hfp`ےbXnv˂pZHA`f~rXQJ`fH~ے`JnXvZp˂nvpXQr˂vnXbHAZ`vXnr˂pf~HXQJ`ےH~fے`JXQfpvAZp˂vpfHHAbےpvnbHAZpvXnHAbےH~ㅐfbے`vnXHAZp˂pfH~bے`HfpvےbHAf`vXXQr˂`f~rXQJ`fH~p`JXQv`fp˂rvpfZHAbfpvbHAZ`vXnr˂pnXv`rQJ~f``JXQrXv`f˂rXQvpfH`JXQr`vXnJXQrv`frXQJf`vJXQrnXvZp˂nvppZHAbHfpvےbHAf`vXr˂p~HfpXQJ`ےH~fے`JXQnXv`p˂rvpfZHAbf~HbHAZvXn˂pZ~HfJ`ے~f`˂pZvˍpf˂pZHA~Hfp`ےbXn˂p`J`f~rXQJ`fH~ے`JnXvZp˂nvpZHAbvnXvbHAZ`vXnr˂pf~HXQJ`ےH~fے`JXQfpvdrtAJvpfHHAbےpvnbHAZpvXnHAXQrH~ㅐfbے`vnXHAZp˂f`vXXQrbtHfpvےbHAf`vXXQr˂`f~rXQJ`fH~ے`JXQf~HfdrtAvpfZHAbfpvbHAZ`vXnr˂p~Hfltb~f``JXQrXv`f˂rXQvpfH˂pZHA`vXnJXQrv`frXQJnvplJAnXvZdrnvppZHAbHfpvےbHAf`vXr˂ppvnJltH~fے`JXQnXv`p˂rvpfZHAbpvndQZ|vXn˂pZ~HfJ`ے~f`bے`vˍpf˂pZHA~Hfp`ےbfH~|ZdQb`f~tAJlfH~ے`JnXvZp˂nvpZHAXQrXv`fbdQZ|`vXnr˂pf~HXQJ`ےH~fے`JXQXv`fdrtAJvpfHHAے`pvnbHAZpvXnJXQrH~ㅐfbے`vnXHAZp˂f`vXtlJHfpvtbdQZf`vXXQr˂`f~rXQJ`fH~˂pZ~HfdrtAvpfZHAےfpvbHAZ`vXnr˂p~Hfltb~f`JXQrbXv`f˂rXQvpfH˂p`Z`vXnJXQrv`frXQJnvptArdnXv|drnvppZHAHfpvےbHAf`vXHAbےpvnJltH~f`JXQrnXv`p˂rvpfZHAbpvndQZ|vXntlJ~HfJ`ے~f`QXb㉀ەvˍpf˂pZHA~Hfp`ےb`vXn|ZdQb`f~tAJlfH~ے`JXQnXvZp˂nvp`JXQrXv`fbdQZ|`vXnbtlf~HXQJ`ےH~fے`JXQXHfpdrtAJvpfHtAd|pvnbHAZpvXnpJAHrH~ㅐfېے`JvnXHAZp˂vpftJArdHfpvtbdQZf`vXrbt`f~rXQJ`fH~˂p`~fpvdrtAvpfJtAdfpvbHAZ`vXnr˂pvnXltb~f`ZdQbtXv`f˂rXQvpfHˁ`Z`vXnXQrbtv`frXQJH~f|ZdnXv|drnvplJtAdHfpvےbHAf`vXJXQrbnXv`JltH~f|ZdQbnXv`p˂rvpfZHAbv`fdQZ|vXnlJtA~HfJ`ے~f`QXb㉀vˍpflJtA~Hfp`ےb`vXnQbtl`f~tAJlfH~|ZdQnXvZp˂nvptl|f~HbdQZ|`vXntlJf~HXQJ`ےH~fے`JXQ~HfpdrtAJvpfHrd|pvnbHAZvXnˁ`ZQXH~ㅐfd|ZvnXHAZp˂vpfJtArdHfpvtbdQZf`vXbtl`f~rXQJ`fH~ZdQbtfpvdrtAvpftArdfpvbHAZ`vXnr˂pvnXltb~f`ZdQbtXv`fdrtAJvpfHb㉀ۑp`vXndQbtv`frXQJHXn|ZdnXv|drnvpJtArdHfpvےbHAf`vXlJtAnXv`JltH~f|ZdQbnXv`drtAvpfZHAbv`pvdQZ|vXnlJtA~Hfltb~f`JAHr󙐕vˍp|lJtAr~Hfp`ےbvpfHQbtl`f~tAJlfH~|ZdQnXvZdrnvprd|f~fbdQZ|`vXntlJf~HJltH~fے`JXQnXvdrtAJvpfHrd|pvndQZ|vXnˁ`ZQXdrQtd|ZvnXHAZd~f`JAr|HfpvtbdQZf`vXbtl`f~tAJlfH~ZdQbtvnXdrtAvpftArdfpvbdQZ|`vXnr˂p`f~ltb~f`ZdQbtXv`fdrtAJvpfHb㉀ۑpJltdQbtv`frtAJlvXnZdQbtnXv|drnvpJtArdHfpvtbdQZf`vXd|Zv`fJltH~f|ZdQbnXv`drtAvpfZHAےHfpvdQZ|vXnlJtA~Hfltb~f``ZQXbbAdZ|lJtAr~HfptbdQvpfHlJtA`f~tAJlfH~|ZdQnXv|drnvpdQbt~HfpbdQZ|`vXntlJf~HJltH~f`JXQrnXvdrtAJvpfHrd|pvndQZ|vXnۑpJdrQtd|ZvnXZ|d~vrd|HfpvtbdQZf`vXbtl`f~tAJlfH~lJtArvnXdrtAvpftArdfpvbdQZ|`vXnbtl`fltb~f`ZdQbtXv`fdrtAJvpfHAHr󙐂JltdQbtv`frtAJlpfH~ZdQbtnXv|drnvpJtArdHfpvtbdQZf`vXd|Zv`ffJltH~f|ZdQbnXv`drtAvpf|ZdQbnXv`dQZ|vXnlJtA~Hfltb~f``ZQXbbAdZ|lJtAr~HfptbdQf`vlJtA`fHtAJlfH~|ZdQnXv|drnvpdQbtpvnbdQZ|`vXntlJf~HJltH~ftlJf~HdrtAJvpfHrd|pvndQZ|vXnۑpJdrQtd|ZvnXZ|dXnvrZdQfpvtbdQZf`vXbtl`f~tAJlfH~l|ZdQrXQJ`drtAvpftArdfpvbdQZ|`vXntArdfpvltb~f`ZdQbtXv`fdrtAJvpfHAHQXb㉀JltdQbtv`frtAJlpfH~btlnrXQJ|drnvpJtArdHfpvtbdQZf`vXbtlےHAZJltH~f|ZdQbnXv`drtAvpf|ZdQbnXv`dQZ|vXnlJtA~Hfltb~f`ۑpJAHbAdZ|lJtAr~HfptbdQf`pJtArd`ےHAtAJlfH~|ZdQnXv|drnvpJtArdp˂rbdQZ|`vXntlJf~HJltH~ftd|pvndrtAJvpfHrd|pvndQZ|vXnr󙐂ˁ`drQtd|ZvnXZ|dfH~|ZdQZp˂tbdQZf`vXbtl`f~tAJlfH~|ZdQXQJ`ےdrtAvpftArdfpvbdQZ|`vXnZdQbtrXQJ`ltb~fZZdQbtXv`fdrtAJvpfHZQXb㉀JltdQbtv`frtAJlf`vXbtlrXQJ`|drnvpJtArdHfpvtbdQZf`vXbtlbHAZJltH~f|ZdQbnXv`drtAvpflJtAAZp˂dQZ|HAbےlJtA~Hfltb~f`ۑpJAHbAdZ|lJtAr~HfptbdQnvpJtArdےbHAtAJlfH~|ZdQnXv|drnvpJtAdQbp˂rbdQZ|ZHAbtlJf~HJltH~frd|rXQJdrtAJ`JXQrrd|pvndQZ|vXnr󙐉ۂdrQtd|ZvnXZ|dfH~ZQbtZp˂tbdQZfZHAbbtl`f~tAJlfH~tlJXQJ`ےdrtAے`JXQtArdfpvbdQZ|`vXnZdQbt`ےbltb˂pZZdQbtXv`fdrtAJvpfHpJAHrJltdQbtv`frtAJlf`vXlJtArrXQJ`|drے`JJtArdHfpvtbdQZf`vXtArdbHAZJltr˂p|ZdQbnXv`drtAvpfl|ZHAZp˂dQZ|HAbےlJtAHfpltb~f`ˁ`ZbAdZ|lJtAr~HfptbdQH~fd|ZےbHAtAJlXQr˂|ZdQnXv|drnvp|ZdQbp˂rbdQZ|ZHAbtlJfHfJltH~fdQbt璀rXQJdrtAJ`JXQrrd|vnrdQZ|vXnQXb㉀ۂdrQtd|ZvnXZ|dZHAbdQbtZp˂tbdQZpZHAbbtl`fHtAJlfH~tlJXQJ`ےdrtAے`JXQtArdpvnbdQZ|`vXnlJtArbHAZpltb˂pZZdQbtXQJ`ےdrtAJvpfHpJAHrJltdQbtv`frtAJl˂pZlJtArrXQJ`|drے`JJtArdfpvtbdQZf`vXtArdtbHAZJltr˂p|ZdQbrXQJ`drtAvpfd|Z˂rXdQZ|HAbےlJtAHAZpltb~f`ˁ`pbAdZ|lJtArHfpvtbdQHAbےd|ZQےbHAtAJlXQr˂|ZdQnrXQJ|drnvplJtAp˂rbdQZ|ZHAbtlJےHAZJltH~fdQbtQJ`ےdrtAJ`JXQrrd|˂rXQdQZ|vXnJAHr󙐂drQtd|ZnrXQZ|d`JXQrblJtZp˂tbdQZpZHAbbtl`ےHAtAJlfH~rd|XQJ`ےdrtAے`JXQtArdp˂rbdQZ|`vXnlJtAdQbHAZpltb˂pZZdQbtJ`ےdrtAJvpfHˁ`ZQXJltdQbtJ`ےrtAJl˂pZArd|rXQJ`|drے`JJtArdZp˂tbdQZf`vXZdQbtbHAZJltr˂p|ZdQbXQJ`ےdrtAvpfbtl˂rXdQZ|HAbےlJtAbHAZpltb~frb㉀ۑpbAdZ|lJtArHAZp˂tbdQHAbےZdQbtےbHAtAJlXQr˂|ZdQrXQJ`|drnvplJtAp˂rbdQZ|ZHAbtlJbHAZJltH~fJtArdQJ`bdrtAJ`JXQrrd|˂rXQdQZ|˂pZJAHr󙐂drQtd|ZrXQJZ|d`pZHAlJtZp˂tbdQZpZHAbbtlےbHAtAJlfH~rd|XQJ`ےdrtAے`JXQtArdp˂rbdQZ|ZHAb|ZdQAZp˂ltb˂pZZdQbtJ`ےdrtAJHAbےˁ`pfJltdQbt`ےbrtAJlbے`Ard|rXQJ`|drے`JJtArdZp˂tbdQZfZHAblJtArbHAZJltr˂p|ZdQbXQJ`ےdrtAے`JXQbtlrXQJ`dQZ|HAbےlJtAbHAZpltb`JXQrH~ㅐfbAdZ|lJtArHAZp˂tbdQJXQrZdQbےbHAtAJlXQr˂|ZdQrXQJ`|dr˂pd|Zp˂rbdQZ|ZHAbtlJbHAZJltr˂pJtArdےbHAdrtAJ`JXQrrd|˂rXQdQZ|˂pZ`vXndrQtd|ZrXQJZ|d˂pZHAJtArdZp˂tbdQZpZHAbbtlےbHAtAJlZHAbdQbtXQJ`ےdrtAے`JXQtArdp˂rbdQZ|ZHAbtlJZp˂ltb˂pZZdQbtJ`ےdrtAJHAbےvˍpfJltdQbt`ےbrtAJlbے`f~rXQJ`|drے`JJtArdZp˂tbdQZے`JXQlJtArbHAZJltr˂p|ZdQbXQJ`ےdrtAے`JXQtArdrXQJ`dQZ|HAbےlJtAbHAZpltb`pZHAH~ㅐfbAdZ|lJtArHAZp˂tbdQJXQHAbHfpvےbHAtAJlXQr˂|ZdQrXQJ`|drr˂pd|Zp˂rbdQZ|ZHAbtlJbHAZJltr˂p|ZdQbےbAZdtAJl`JXQrrd|˂rXQdQZ|bے``vXndrQtd|ZrXQJZ|dے`JnXvZp˂tbdQZpZHAbbtlےbHAtAJlZHAbdQtArdXQJ`ےdtAJے`JXQtArdp˂rbdQZ|ZHAbtlJrXQtbn˂pZZdQbtJ`ےdrtAJJXQrvˍpfJltdQbt`ےbrtAJlXQr˂`f~rXQJ`|dtAے`JJtArdZp˂tbdQZے`pZf~bHAZltbr˂p|ZdQbXQJ`ےdrtAے`JXQtArdJ`ے々vpfHAbےlJtAbHAZpltb˂pZHAH~ㅐfbAdZ|lJtArHAZp˂tbdQpZHAbHfpvےbHAJltXQr˂|ZdQrXQJ`|drHAbےHfvnXp˂rnvpZHAbtlJbHAZJltr˂p|lJtAbHAZpHf``JXQrrd|˂rXQdQZ|bے``vXndrQtd|ZrXQJZ|dے`JnXvZp˂bnvpZHAbbtlےbHAtAJl`JXQrv`fXQJ`ےfHfے`JXQtArdp˂rbdQZ|ZHAbrd|rXQvXn˂pZZdQbtJ`ےdrtAJJXQHAbvˍpfJltdQbt`ےbrtAJlXQr`f~rXQJ`pfHے`JJtArdZp˂tbdQZ˂pZ~HfpbHAZ`vXnr˂p|ZdQbXQJ`ےdrtAے`JXQZdQbtJ`ےvpfHHAbےlJtAbHAZpltbے`JH~ㅐfbAdZ|lJtArHAZp˂tbdQے`JXQHfpvےbHAf`vXXQr˂|ZdQrXQJ`|drHAbےvnXp˂rvpfZHAbtlJbHAZJltr˂plJtAbHAZr~f``JXQrrdf˂rXQdQZ|XQr˂`vXndrQtd|ZrXQJZ|dr˂pnXvZp˂nvppZHAbbtlےbHAtAJl`JXQHAv`fXQJ`ےH~fے`JXQtArdp˂rbdQZ|ZHAbrd|XQJ`ےvXn˂pZ~HfJ`ےdrtAJpZHAbvˍpfJltdQbt`ےbrtAJlZHAb`f~rXQJ`fH~ے`JJtArdZp˂tbdQZbے`~HfpbHAZ`vXnr˂pf~HXQJ`ےdrtAے`JXQZdQtArbHAZvpfHHAbےpvnbHAZpltbے`JH~ㅐfbAdZ|66666666666666666666666666666666666666666666666667777777777 \ No newline at end of file diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv38_0.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv38_0.dat deleted file mode 100644 index 02972f21ea..0000000000 --- a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv38_0.dat +++ /dev/null @@ -1,337 +0,0 @@ -~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqponmnmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdcbaba`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQPOPOPONMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDC~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststspopopoponmnmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdc`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDC~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststspopopoponmnmnmnmlkkkkkkljijijijihghghghgfefefefedcdcdcdc`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDC~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutststsrqpopopoponmnmnmnmklklklkljijijijihghghghgfefefefedcdcbaba`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDC~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvurqrqrqrqpopopoponmnmnmnmklklklkljijijijihghghghgfefefefebabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDC~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvurqrqrqrqpopopoponmnmnmnmklklklkljijijijihghghghgfefefefebabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDC~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvutsrqrqrqrqpopopoponmnmnmnmklklklkljijijijihghghghgfefedcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDC~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwtstststsrqrqrqrqpopopoponmnmnmnmklklklkljijijijihghghghgdcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSRQRQPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDC~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwtstststsrqrqrqrqpopopoponmnmnmnmkkkkkklkjijijijihghghghgdcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVURQRQQQQQPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDC~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwvutstststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijihghgfefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVURQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDC~}~}~}~}|{|{|{|{zyzyzyzyvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijifefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVURQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDC~}~}~}~}|{|{|{|{zyzyzyzyvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmlklklklkjijijijifefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVURQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDC~}~}~}~}|{|{|{|{zyzyzyxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmlklklklkjijihghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVURQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDC~}~}~}~}|{|{|{|{xwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmlklklklkhghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVURQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABA~}~}~}~}|{|{|{|{xwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmkkkklklkhghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVURQQQQQQRPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABA~}~}~}~}|{|{|{zyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmlklkjijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUQRQRQRQRPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABA~}~}~}~}zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUQRQRQRQRPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABA~}~}~}~}zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUQRQRQRQRPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABA~}~}~}|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUQRQRQRQRPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABA|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWTSTSTSTSQRQRQRQRPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABA|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWTSTSTSTSQQQQQQRQPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABA~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABA~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmlkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABA~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopopolklklkkkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABA~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopopokkklklkljijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCBABABABABABABA~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopopoklklklkljijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEBABABABABABABABA~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopopoklklklkljijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWTSTSTSTSQQQQQRQRPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEBABABABABABABABA~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopopoklklklkljijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWTSTSTSTSQRQRQRQRPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGFEDCDCDCBABABABABABABABA~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopopoklklklkljijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWTSTSTSTSQRQRQRQRPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGDCDCDCDCBABABABABABABABA~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopopoklklkkkkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWTSTSTSTSQRQRQRQRPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGDCDCDCDCBABABABABABABABA~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopopokklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWVUVUTSTSTSTSQRQRQRQRPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIHGFEFEFEDCDCDCDCBABABABABABABABA~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopopolklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYVUVUVUVUTSTSTSTSQRQRQRQQPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIFEFEFEFEDCDCDCDCBABABABABABABABA~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopopolklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYVUVUVUVUTSTSTSTSQQQQRQRQPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIFEFEFEFEDCDCDCDCBABABABABABABABA~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopopolklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKJIHGHGHGFEFEFEFEDCDCDCDCBABABABABABABABA~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqponmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[XWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKHGHGHGHGFEFEFEFEDCDCDCDCBABABABABA@?@?@?~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqnmnmnmnmlklkkkkkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[XWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKHGHGHGHGFEFEFEFEDCDCDCDCBABABABA@?@?@?@?~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqnmnmnmnmklklklkljijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[ZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABA@?@?@?@?~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqnmnmnmnmklklklkljijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQQQPOPOPOPONMNMNMNMJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABA@?@?@?@?~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqnmnmnmnmklklklkljijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSQQQRQRQRPOPOPOPONMNMNMNMJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABA@?@?@?@?~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqnmnmnmnmklklklkljijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSQRQRQRQRPOPOPOPONMLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABA@?@?@?@?~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqnmnmnmnmklklklkljijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSQRQRQRQRPOPOPOPOLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABA@?@?@?@?~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqnmnmnmnmklkkkkkkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSQRQRQRQRPOPOPOPOLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABA@?@?@?@?~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqnmnmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSQRQRQRQRPONMNMNMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABA@?@?@?@?~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqnmnmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdcbabababa^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSQRQRQQQQNMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABA@?@?@?@?~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqnmnmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdcbabababa^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSQQRQRQRQNMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABA@?@?@?@?@?@?@?@?>=>=>=>=<;<;<;<;:9:9:9:96565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!    - @?@?@?@?>=>=>=>=<;<;<;<;:9:9:9:96565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!      - - - - @?@?@?@?>=>=>=>=<;<;<;<;:9:9:9:96565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#        - - - - @?@?@?@?>=>=>=>=<;<;<;<;:9:9:9:96565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#       - - - - @?@?@?@?>=>=>=>=<;<;<;<;:9:9:9:96565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#     - - - - @?@?@?@?>=>=>=>=<;<;<;<;:98787876565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#     - - - - @?@?@?@?>=>=>=>=<;<;<;<;877777786565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#     - - - - @?@?@?@?>=>=>=>=<;<;<;<;787878786565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#        - - - - @?@?@?@?>=>=>=>=<;<;<;<;787878786565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#        - - - - @?@?@?@?>=>=>=>=<;<;<;<;787878786565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#        - - - - @?@?@?@?>=>=>=>=<;<;<;<;787878786565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#        - - - - @?@?@?@?>=>=>=>=<;<;<;<;787878786565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#        - - - - @?@?@?@?>=>=>=>=<;<;<;<;777777876565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#        - - - - @?@?@?@?>=>=>=>=<;<;<;<;878787876565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%"!"!"!"!        - - - - @?@?@?@?>=>=>=>=<;<;<;<;878787876565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%"!"!"!"!        - - - - @?@?@?@?>=>=>=>=<;<;<;<;878787876565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%"!"!"!"!        - - - - @?@?@?@?>=>=>=>=<;<;<;:9878787876565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"!        - - - - @?@?@?@?>=>=>=>=:9:9:9:9878787876565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"!        - - - - @?@?@?@?>=>=>=>=:9:9:9:9777778786565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"!        - - - - @?@?@?@?>=>=>=>=:9:9:9:9787878786565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#"!"!"!"!        - - - - @?@?@?@?>=>=>=>=:9:9:9:9787878786565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#"!"!"!"!        - - - - @?@?@?@?>=>=>=>=:9:9:9:9787878786565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#"!"!"!"!        - - - - @?@?@?@?>=>=>=>=:9:9:9:9787878786565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - @?@?@?@?>=>=>=>=:9:9:9:9787878776565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - @?@?@?@?>=>=>=>=:9:9:9:9777787876565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - @?@?@?@?>=>=>=>=:9:9:9:9878787876565656543434343212121210/0/0/0/.-.-.-.-*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - @?@?@?@?>=>=>=>=:9:9:9:9878787876565656543434343212121210/0/0/0/.-.-.-.-*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - @?@?@?@?>=>=>=>=:9:9:9:9878787876565656543434343212121210/0/0/0/.-.-.-.-*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - @?@?@?@?>=<;<;<;:9:9:9:9878787876565656543434343212121210/0/0/0/,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - @?@?@?@?<;<;<;<;:9:9:9:9878787776565656543434343212121210/0/0/0/,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - @?@?@?@?<;<;<;<;:9:9:9:9777878786565656543434343212121210/0/0/0/,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - @?>=>=>=<;<;<;<;:9:9:9:978787878656565654343434321212121.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - >=>=>=>=<;<;<;<;:9:9:9:978787878656565654343434321212121.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - >=>=>=>=<;<;<;<;:9:9:9:978787878656565654343434321212121.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - >=>=>=>=<;<;<;<;:9:9:9:97878787865656565434343430/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - >=>=>=>=<;<;<;<;:9:9:9:97878777765656565434343430/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!    - - - - >=>=>=>=<;<;<;<;:9:9:9:97787878765656565434343430/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!    - - - - >=>=>=>=<;<;<;<;:9:9:9:98787878765656565212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!    - - - - >=>=>=>=<;<;<;<;:9:9:9:98787878765656565212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!    - - - - >=>=>=>=<;<;<;<;:9:9:9:98787878765656565212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!    - - - - >=>=>=>=<;<;<;<;:9:9:9:98787878743434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!    - - - - >=>=>=>=<;<;<;<;:9:9:9:98787777743434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!    - - - - >=>=>=>=<;<;<;<;:9:9:9:98787878743434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!    - - - >=>=>=>=<;<;<;<;:9:9:9:96565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!    >=>=>=>=<;<;<;<;:9:9:9:96565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!     vvuuttsswwxxyyzz - ---..//00ppoonnmmEEFFGGHHXXWWVVUU]]^^__``@@??>>== !"##$$%oonnmmllFFGGHHIIWWVVUUTT^^__``aa??>>==<>??aa``__^^!!""##$$rrqqkkjj{{||}}~~ 11223344llkkjjiiIIJJKKLLTTSSRRQQaabbccdd<<;;::99%&&''(()kkjjiihhJJKKLLMMSSRRQQPPbbccddee;;::9988zz{{||}}##""!! - - >>??@@AAAA@@??>>{{||}}~~""!!  - - ''(())**vvuuttssMMNNOOPP##(())**++uuttssrr@@AABBCC]]\\[[ZZ%%&&''((iihhggff ~~}}55667788hhggffeeMMNNOOPPPPOONNMMeeffgghh88776655)**++,,-ggffeeddNNOOPPQQOONNMMLLffgghhii77665544~~BBCCDDEE==<;:987++,,--..rrqqppooQQWWXXYY,,--..//qqppoonnDDEEFFGGYYXXWWVV))**++,,eeddccbb - - !!""##$$||{{zzyy99::;;<>??@@``__^^]]UUVVWWXXHHGGFFEEmmnnoopp00//..--12233445__^^]]\\VVWWXXYYGGFFEEDDnnooppqq//..--,,JJKKLLMM3221100/33445566jjiihhgg^^__``aa~~44556677iihhggffLLMMNNOOQQPPOONN11223344]]\\[[ZZ))**++,,ttssrrqqAABBCCDD\\[[ZZYYYYZZ[[\\DDCCBBAAqqrrsstt,,++**))5667789:[[ZZYYXXZZ[[\\]]CCBBAA@@rrssttuu++**))(( NNOOPPQQ/..--,,+ - - !!""~~}}||{{778899::ffeeddccbbccddee !!""##}}||{{zz8899::;;eeddccbbPPQQRRSSMMLLKKJJ55667788YYXXWWQQ--..//00ppoonnmmEEFFGGHHXXWWVVUU]]^^__``@@??>>==uuvvwwxx((''&&%%;<==>>??WWVVUUTT^^__``aa??>>==<>bbaa``__ffgghhii - - $$%%&&''yyxxwwvv<<==>>??aa``__^^TTUUVVWWIIHHGGFF99::;;<>??@@LLKKJJII ~~}}55667788hhggffeeMMNNOOPPPPOONNMMeeffgghh88776655}}~~ DDEEFFGGOONNMMLLffgghhii77665544~~~~__``aabb#"! ++,,--..rrqqppooCCDDEEFFZZYYXXWWssttuuvv,,--..//qqppoonnDDEEFFGGYYXXWWVV\\]]^^__AA@@??>>AABBCCDDHHGGFFEE!!""##$$||{{zzyy99::;;<>??@@``__^^]]UUVVWWXXHHGGFFEEmmnnoopp00//..--LLMMNNOOGGFFEEDDnnooppqq//..--,,yyxxwwvvgghhiijj33445566jjiihhggKKLLMMNNRRQQPPOO{{||}}~~ ~~44556677iihhggffLLMMNNOOQQPPOONNddeeffgg99887766||{{zzyyIIJJKKLL@@??>>==))**++,,ttssrrqqAABBCCDD\\[[ZZYYYYZZ[[\\DDCCBBAAqqrrsstt,,++**))PPQQRSTUCCBBAA@@rrssttuu++**))((  !!uuttssrrkkqqrrss - - !!""~~}}||{{778899::ffeeddccOOPPQQRRNNMMLLKK}}||{{zz8899::;;eeddccbbPPQQRRSSMMLLKKJJhhiijjkk55443322xxwwvvuuMMNNOOPP77665544--..//00ppoonnmmEEFFGGHHXXWWVVUU]]^^__``@@??>>==uuvvwwxx((''&&%% ~~}}VWWXXYYZ??>>==<>bbaa``__SSTTUUVVJJIIHHGGyyxxwwvv<<==>>??aa``__^^TTUUVVWWIIHHGGFFllmmnnoo1100//..ttssrrqqQQRRSSTT3322110011223344llkkjjiiIIJJKKLLTTSSRRQQaabbccdd<<;;::99yyzz{{||$$##""!! - - ||{{zzyyZ[[\\]]^;;::9988zz{{||}}##""!! - - &&''(())hhggffeexxyyzz{{ - - ''(())**vvuuttss??@@AABB^^]]\\[[WWXXYYZZFFEEDDCCuuttssrr@@AABBCC]]\\[[ZZXXYYZZ[[EEDDCCBBppqqrrss--,,++**TTUUVVWWppoonnmmUUVVWWXX//..--,,55667788hhggffeeMMNNOOPPPPOONNMMeeffgghh88776655}}~~ xxwwvvuu^__``aab77665544~~**++,,--ddccbbaa||}}~~++,,--..rrqqppooCCDDEEFFZZYYXXWW[[\\]]^^BBAA@@?? !"#qqppoonnDDEEFFGGYYXXWWVV\\]]^^__AA@@??>>ttuuvvww))((''&&XXYYZZ[[llkkjjiiYYZZ[[\\++**))((99::;;<>==<<;;#$$%%&&'mmllkkjjHHIIJJKKUUTTSSRR``aabbcc==<<;;::xxyyzz{{%%$$##""\\]]^^__hhggffee]]^^__``''&&%%$$==>>??@@``__^^]]UUVVWWXXHHGGFFEEmmnnoopp00//..--kkjjiihhfgghhiij//..--,,22334455\\[[ZZYY33445566jjiihhggKKLLMMNNRRQQPPOOccddeeff::998877'(())**+iihhggffLLMMNNOOQQPPOONNddeeffgg99887766||}}~~!! ``aabbccddccbbaaaabbccdd##AABBCCDD\\[[ZZYYYYZZ[[\\DDCCBBAAqqrrsstt,,++**)) - - ggffeeddjkklmnop++**))((  !!~~}}||66778899XXWWQQPP - - !!""~~}}||{{778899::ffeeddccOOPPQQRRNNMMLLKKgghhiijj66554433+,,--../eeddccbbPPQQRRSSMMLLKKJJhhiijjkk55443322ddeeffgg``__^^]]eeffgghhEEFFGGHHXXWWVVUU]]^^__``@@??>>==uuvvwwxx((''&&%% ccbbaa``qqrrsstt''&&%%$$ - - ""##$$%%{{zzyyxx::;;<<==OONNMMLL ##$$%%&&zzyyxxww;;<<==>>bbaa``__SSTTUUVVJJIIHHGGkkllmmnn221100///0011223aa``__^^TTUUVVWWIIHHGGFFllmmnnoo1100//..hhiijjkk\\[[ZZYYiijjkkll~~}}||IIJJKKLLTTSSRRQQaabbccdd<<;;::99yyzz{{||$$##""!! - - __^^]]\\uuvvwwxx##""!! - - &&''(())wwvvuutt>>??@@AAKKJJIIHH''(())**vvuuttss??@@AABB^^]]\\[[WWXXYYZZFFEEDDCCooppqqrr..--,,++34455667]]\\[[ZZXXYYZZ[[EEDDCCBBppqqrrss--,,++**llmmnnooXXWWVVUUmmnnoopp{{zzyyxxMMNNOOPPPPOONNMMeeffgghh88776655}}~~ [[ZZYYXXyyzz{{||**++,,--ssrrqqppBBCCDDEEGGFFEEDD++,,--..rrqqppooCCDDEEFFZZYYXXWW[[\\]]^^BBAA@@??ssttuuvv**))((''789:;<==YYXXWWVV\\]]^^__AA@@??>>ttuuvvww))((''&&ppqqrrssTTSSRRQQqqrrsstt wwvvuuttQQRRSSTTLLKKJJIIiijjkkll44332211WWQQPPOO}}~~..//0011oonnmmllFFGGHHIICCBBAA@@//001122nnmmllkkGGHHIIJJVVUUTTSS__``aabb>>==<<;;wwxxyyzz&&%%$$##>>??@@AAUUTTSSRR``aabbcc==<<;;::xxyyzz{{%%$$##"" - -ttuuvvwwPPOONNMMuuvvwwxx - - - -ssrrqqpoUUVVWWXXHHGGFFEEmmnnoopp00//..--##$$%%NNMMLLKK22334455kkjjiihhJJKKLLMM??>>==7733445566jjiihhggKKLLMMNNRRQQPPOOccddeeff::998877{{||}}~~""!! BBCCDDEEQQPPOONNddeeffgg99887766||}}~~!!  xxyyzz{{LLKKJJIIyyzz{{|| nmlkkjjiYYZZ[[\\DDCCBBAAqqrrsstt,,++**))&&''(())JJIIHHGG  !!~~}}||66778899ggffeeddNNOOPPQQ66554433 !!""~~}}||{{778899::ffeeddccOOPPQQRRNNMMLLKKgghhiijj66554433FFGGHHIIMMLLKKJJhhiijjkk55443322||}}~~HHGGFFEE}}~~ihhggffe]]^^__``@@??>>==uuvvwwxx((''&&%% - - **++,,--FFEEDDCC - - ""##$$%%{{zzyyxx::;;<<==ccbbaa``RRSSTTUU221100//##$$%%&&zzyyxxww;;<<==>>bbaa``__SSTTUUVVJJIIHHGGkkllmmnn221100//JJKKLLMMIIHHGGFFllmmnnoo1100//..DDCCBBAAeddccbbaaabbccdd<<;;::99yyzz{{||$$##""!! - - ..//0011BBAA@@?? - - &&''(())wwvvuutt>>??@@AA__^^]]\\VVWWXXYY..--,,++''(())**vvuuttss??@@AABB^^]]\\[[WWXXYYZZFFEEDDCCooppqqrr..--,,++NNOOPPQQEEDDCCBBppqqrrss--,,++**@@??>>==a``__^^]eeffgghh88776655}}~~ 22334455>>==7766**++,,--ssrrqqppBBCCDDEE[[ZZYYXXZZ[[\\]]**))((''++,,--..rrqqppooCCDDEEFFZZYYXXWW[[\\]]^^BBAA@@??ssttuuvv**))((''RSTUVWWXAA@@??>>ttuuvvww))((''&& - - <<;;::99##]\\[[ZZYiijjkkll443322116677==>>55443322..//0011oonnmmllFFGGHHIIWWVVUUTT^^__``aa&&%%$$##//001122nnmmllkkGGHHIIJJVVUUTTSS__``aabb>>==<<;;wwxxyyzz&&%%$$## ~~}}||{{XYYZZ[[\==<<;;::xxyyzz{{%%$$##"" - - 88776655$$%%&&''YXXWWVUTmmnnoopp00//..--??@@AABB1100//..22334455kkjjiihhJJKKLLMMSSRRQQPPbbccddee33445566jjiihhggKKLLMMNNRRQQPPOOccddeeff::998877{{||}}~~""!!  - - zzyyxxww\]]^^__`99887766||}}~~!!  44332211(())**++SRQQPPOOqqrrsstt,,++**)) ~~}}CCDDEEFF--,,++**  !!~~}}||66778899ggffeeddNNOOPPQQOONNMMLLffgghhii778899::ffeeddccOOPPQQRRNNMMLLKKgghhiijj66554433vvuuttss`aabbccd5544332200//..--,,--..//NNMMLLKKuuvvwwxx((''&&%% - - !!""##$$||{{zzyyGGHHIIJJ))((''&& - - ""##$$%%{{zzyyxx::;;<<==ccbbaa``RRSSTTUUKKJJIIHHjjkkllmm;;<<==>>bbaa``__SSTTUUVVJJIIHHGGkkllmmnn221100//rrqqkkjjdeeffggh1100//..,,++**))00112233JJIIHHGGyyzz{{||$$##""!! - - %%&&''((xxwwvvuuKKLLMMNN%%$$##&&''(())wwvvuutt>>??@@AA__^^]]\\VVWWXXYYGGFFEEDDnnooppqq??@@AABB^^]]\\[[WWXXYYZZFFEEDDCCooppqqrr..--,,++ - -iihhggffhiijjkkl--,,++**((''&&%%44556677FFEEDDCC}}~~ ))**++,,ttssrrqqOOPPQQWW**++,,--ssrrqqppBBCCDDEE[[ZZYYXXZZ[[\\]]CCBBAA@@rrssttuu - -~~}}||{{CCDDEEFFZZYYXXWW[[\\]]^^BBAA@@??ssttuuvv**))(('' eeddccbbmnopqqrr))((''&& - - !!""##$$##""!!==>>??@@BBAA@@??--..//00ppoonnmmXXYYZZ[[..//0011oonnmmllFFGGHHIIWWVVUUTT^^__``aa??>>==<>==<<;;wwxxyyzz&&%%$$## aa``__^^ssttuuvv%%$$##"" - - $$%%&&'' AABBCCDD>>==<;:911223344llkkjjii\\]]^^__22334455kkjjiihhJJKKLLMMSSRRQQPPbbccddee;;::9988zz{{||}}vvuuttssKKLLMMNNRRQQPPOOccddeeff::998877{{||}}~~""!!  - - ]]\\[[ZZwwxxyyzz!!  (())**++EEFFGGHH87766554 ~~}}55667788hhggffee``aabbcc  !!~~}}||66778899ggffeeddNNOOPPQQOONNMMLLffgghhii77665544~~ - - rrqqponmOOPPQQRRNNMMLLKKgghhiijj66554433YYXXWWQQ{{||}}~~,,--..//IIJJKKLL43322110 - - !!""##$$||{{zzyy99::;;<>??@@``__^^]]hhiijjkk&&''(())wwvvuutt>>??@@AA__^^]]\\VVWWXXYYGGFFEEDDnnooppqq//..--,,hggffeedWWXXYYZZFFEEDDCCooppqqrr..--,,++$$%%&&''LLKKJJII~~44556677 QQWWXXYY,++**))())**++,,ttssrrqqAABBCCDD\\[[ZZYYqqrrsstt**++,,--ssrrqqppBBCCDDEE[[ZZYYXXZZ[[\\]]CCBBAA@@rrssttuu++**))((dccbbaa`[[\\]]^^BBAA@@??ssttuuvv**))(('' - -(())**++HHGGFFEE - - !!""##}}||{{zz8899::;; - - ZZ[[\\]](''&&%%$--..//00ppoonnmmEEFFGGHHXXWWVVUUuuvvwwxx - -..//0011oonnmmllFFGGHHIIWWVVUUTT^^__``aa??>>==<>==<<;;wwxxyyzz&&%%$$## ,,--..//DDCCBBAA - - $$%%&&''yyxxwwvv<<==>>?? - - ^^__``aa$##"! 11223344llkkjjiiIIJJKKLLTTSSRRQQyyzz{{|| 22334455kkjjiihhJJKKLLMMSSRRQQPPbbccddee;;::9988zz{{||}}##""!! ##$$\[[ZZYYXccddeeff::998877{{||}}~~""!!  - - 00112233@@??>>== (())**++uuttssrr@@AABBCC bbccddee ~~}}55667788hhggffeeMMNNOOPPPPOONNMM}}~~~~}}||66778899ggffeeddNNOOPPQQOONNMMLLffgghhii77665544~~%%&&''((XWWVUTSRgghhiijj665544334455667777665544,,--..//qqppoonnDDEEFFGGffgghhii - - !!""##$$||{{zzyy99::;;<>??@@3322110000112233mmllkkjjHHIIJJKK~~}}||{{jjkkqqrr %%&&''((xxwwvvuu==>>??@@``__^^]]UUVVWWXXHHGGFFEEwwvvuutt>>??@@AA__^^]]\\VVWWXXYYGGFFEEDDnnooppqq//..--,,--..//00MMLLKKJJooppqqrr..--,,++AABBCCDD//..--,,~~44556677iihhggffLLMMNNOOzzyyxxwwssttuuvv))**++,,ttssrrqqAABBCCDD\\[[ZZYYYYZZ[[\\DDCCBBAAssrrqqppBBCCDDEE[[ZZYYXXZZ[[\\]]CCBBAA@@rrssttuu++**))((11223344IIHHGGFFssttuuvv**))(('' - - !!""~~}}||{{EEFFGGHH++**))(( - - !!""##}}||{{zz8899::;;eeddccbbPPQQRRSS~~}}||{{zz8899::;;QQPPOONN - - !!""##$$||{{zzyy99::;;<>??MMLLKKJJ %%&&''((xxwwvvuu==>>??@@``__^^]]UUVVWWXXHHGGFFEEmmnnoopp00//..--12233445__^^]]\\VVWWXXYYGGFFEEDDnnooppqq//..--,,ZZ[[\\]]##""!! uuttssrr@@AABBCCIIHHGGFF))**++,,ttssrrqqAABBCCDD\\[[ZZYYYYZZ[[\\DDCCBBAAqqrrsstt,,++**))5667789:[[ZZYYXXZZ[[\\]]CCBBAA@@rrssttuu++**))(( ^^__``aaqqppoonnDDEEFFGGEEDDCCBB--..//00ppoonnmmEEFFGGHHXXWWVVUU]]^^__``@@??>>==uuvvwwxx((''&&%%;<==>>??WWVVUUTT^^__``aa??>>==<>11223344llkkjjiiIIJJKKLLTTSSRRQQaabbccdd<<;;::99yyzz{{||$$##""!!@@AABBCCSSRRQQPPbbccddee;;::9988zz{{||}}##""!! - - ffgghhiiiihhggffLLMMNNOO==776655 ~~}}55667788hhggffeeMMNNOOPPPPOONNMMeeffgghh88776655}}~~ DDEEFFGGOONNMMLLffgghhii77665544~~~~}}||{{jjkkqqrreeddccbbPPQQRRSS44332211!!""##$$||{{zzyy99::;;<>??@@``__^^]]UUVVWWXXHHGGFFEEmmnnoopp00//..--LLMMNNOOGGFFEEDDnnooppqq//..--,,vvuuttsswwxxyyzz - - ]]\\[[ZZXXYYZZ[[,,++**))))**++,,ttssrrqqAABBCCDD\\[[ZZYYYYZZ[[\\DDCCBBAAqqrrsstt,,++**))PPQQRSTUCCBBAA@@rrssttuu++**))((  !!rrqqkkjj{{||}}~~ - - YYXXWWVV\\]]^^__((''&&%%--..//00ppoonnmmEEFFGGHHXXWWVVUU]]^^__``@@??>>==uuvvwwxx((''&&%% ~~}}VWWXXYYZ??>>==<>??@@``__^^]]UUVVWWXXHHGGFFEEmmnnoopp00//..--kkjjiihhfgghhiij//..--,,22334455YYXXWWQQ !!EEDDCCBBppqqrrss ~~}}AABBCCDD\\[[ZZYYYYZZ[[\\DDCCBBAAqqrrsstt,,++**)) - - ggffeeddjkklmnop++**))((  !!~~}}||66778899PPOONNMM""##$$%%AA@@??>>ttuuvvww - - ||{{zzyyEEFFGGHHXXWWVVUU]]^^__``@@??>>==uuvvwwxx((''&&%% ccbbaa``qqrrsstt''&&%%$$ - - ""##$$%%{{zzyyxx::;;<<==LLKKJJII&&''(())==<<;;::xxyyzz{{xxwwvvuuIIJJKKLLTTSSRRQQaabbccdd<<;;::99yyzz{{||$$##""!! - - __^^]]\\uuvvwwxx##""!! - - &&''(())wwvvuutt>>??@@AAHHGGFFEE**++,,--99887766||}}~~ ttssrrqqMMNNOOPPPPOONNMMeeffgghh88776655}}~~ [[ZZYYXXyyzz{{||**++,,--ssrrqqppBBCCDDEEDDCCBBAA..//001155443322 - - ponmlkkjQQRRSSTTLLKKJJIIiijjkkll44332211WWQQPPOO}}~~..//0011oonnmmllFFGGHHII@@??>>==223344551100//..jiihhggfUUVVWWXXHHGGFFEEmmnnoopp00//..--##$$%%NNMMLLKK22334455kkjjiihhJJKKLLMM7766554466778899--,,++**feeddccbYYZZ[[\\DDCCBBAAqqrrsstt,,++**))&&''(())JJIIHHGG  !!~~}}||66778899ggffeeddNNOOPPQQ33221100::;;<<==))((''&&baa``__^]]^^__``@@??>>==uuvvwwxx((''&&%% - - **++,,--FFEEDDCC - - ""##$$%%{{zzyyxx::;;<<==ccbbaa``RRSSTTUU//..--,,>>??@@AA%%$$##""^]]\\[[Zaabbccdd<<;;::99yyzz{{||$$##""!! - - ..//0011BBAA@@?? - - &&''(())wwvvuutt>>??@@AA__^^]]\\VVWWXXYY++**))((BBCCDDEE!! ##$$%%&&ZYYXXWWVeeffgghh88776655}}~~ 22334455>>==7766**++,,--ssrrqqppBBCCDDEE[[ZZYYXXZZ[[\\]]''&&%%$$~~}}||FFGGHHII''(())**UTSRQQPPiijjkkll443322116677==>>55443322..//0011oonnmmllFFGGHHIIWWVVUUTT^^__``aa##{{zzyyxxJJKKLLMM++,,--..OONNMMLLmmnnoopp00//..--??@@AABB1100//..22334455kkjjiihhJJKKLLMMSSRRQQPPbbccddeewwvvuuttNNOOPPQQ//001122KKJJIIHHqqrrsstt,,++**)) ~~}}CCDDEEFF--,,++**  !!~~}}||66778899ggffeeddNNOOPPQQOONNMMLLffgghhiissrrqqppRRSSTTUU33445566GGFFEEDDuuvvwwxx((''&&%% - - !!""##$$||{{zzyyGGHHIIJJ))((''&& - - ""##$$%%{{zzyyxx::;;<<==ccbbaa``RRSSTTUUKKJJIIHHjjkkllmmoonnmmllVVWWXXYY - -77==>>??CCBBAA@@yyzz{{||$$##""!! - - %%&&''((xxwwvvuuKKLLMMNN%%$$##&&''(())wwvvuutt>>??@@AA__^^]]\\VVWWXXYYGGFFEEDDnnooppqq kkjjiihhZZ[[\\]] @@AABBCC??>>==<;}}~~ ))**++,,ttssrrqqOOPPQQWW**++,,--ssrrqqppBBCCDDEE[[ZZYYXXZZ[[\\]]CCBBAA@@rrssttuu - - - -ggffeedd^^__``aaDDEEFFGG:9877665--..//00ppoonnmmXXYYZZ[[..//0011oonnmmllFFGGHHIIWWVVUUTT^^__``aa??>>==<>??@@``__^^]]hhiijjkk&&''(())wwvvuutt>>??@@AA__^^]]\\VVWWXXYYGGFFEEDDnnooppqq//..--,,##SSRRQQPPrrssttuu]]^^__``%$$##"! ))**++,,ttssrrqqAABBCCDD\\[[ZZYYqqrrsstt**++,,--ssrrqqppBBCCDDEE[[ZZYYXXZZ[[\\]]CCBBAA@@rrssttuu++**))(($$%%&&''OONNMMLLvvwwxxyy~~}}||aabbccdd--..//00ppoonnmmEEFFGGHHXXWWVVUUuuvvwwxx - -..//0011oonnmmllFFGGHHIIWWVVUUTT^^__``aa??>>==<>==<<$$%%&&''jjiihhggvvwwxxyy %%&&''((xxwwvvuu==>>??@@``__^^]]UUVVWWXXHHGGFFEEwwvvuutt>>??@@AA__^^]]\\VVWWXXYYGGFFEEDDnnooppqq//..--,,==>>??@@;;::9988(())**++ffeeddcczz{{||}} - - ))**++,,ttssrrqqAABBCCDD\\[[ZZYYYYZZ[[\\DDCCBBAAssrrqqppBBCCDDEE[[ZZYYXXZZ[[\\]]CCBBAA@@rrssttuu++**))((AABBCCDD77665544,,--..//bbaa``__~~--..//00ppoonnmmEEFFGGHHXXWWVVUU]]^^__``@@??>>== !"##$$%oonnmmllFFGGHHIIWWVVUUTT^^__``aa??>>==<=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:978787878878787776565656565656565434343434343434321212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#~}~}~}~}~}~}~}~}|{|{|{|{|{|{|{|{zyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvutstststststststsrqrqrqrqrqrqrqrqpopopoponmnmnmnmnmnmnmnmklkkkkkkjijijijijijijijihghghghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSRQRQQRQRQRQRPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABABA@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:978787878777878786565656565656565434343434343434321212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#~}~}~}~}~}~}~}~}|{|{|{|{|{|{|{|{zyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvutstststststststsrqrqrqrqrqrqrqrqpopopoponmnmnmnmnmnmnmnmlklklklkjijijijijijijijihghghghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSRQRQQQQQQRQRQRQRPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:978787878787878786565656565656565434343434343434321212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#~}~}~}~}~}~}~}~}|{|{|{|{|{|{|{|{zyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvutstststststststsrqrqrqrqrqrqrqpopopopoponmnmnmnmnmnmnmnmlklklklkjijijijijijijijihghghghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSRQRQRQRQQRQRQRQQPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCBABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:978787878787878786565656565656565434343434343434321212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#~}~}~}~}~}~}~}~}|{|{|{|{|{|{|{|{zyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvutstststststststsrqrqrqrqpopopopopopopoponmnmnmnmnmnmnmlklklklklkjijijijijijijijihghghghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[ZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSRQRQRQRQQQQQRQRQPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCBABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:978787878787878786565656565656565434343434343434321212121212121210/0/0/0/0/0/0/0/.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#~}~}~}~}~}~}~}~}|{|{|{|{|{|{|{|{zyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvutststststststsrqrqrqrqrqpopopopopopopoponmnmnmnmlklklkkklklklklkjijijijijijijijihghghghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEFEDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:977777787787878786565656565656565434343434343434321212121212121210/0/0/0/0/0/0/0/.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#~}~}~}~}~}~}~}~}|{|{|{|{|{|{|{|{zyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvutstststsrqrqrqrqrqrqrqrqpopopopopopopoponmnmnmnmkkklklkllklklklkjijijijijijijijihghghghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEDCDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:987878787787877776565656565656565434343434343434321212121212121210/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#~}~}~}~}~}~}~}~}|{|{|{|{|{|{|{|{zyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvuvuvuvutststststsrqrqrqrqrqrqrqrqpopopopopopopoponmnmnmnmklklklkllkkkkkkljijijijijijijijihghghghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGHGFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:987878787778787876565656565656565434343434343434321212121212121210/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#~}~}~}~}~}~}~}~}|{|{|{|{|{|{|{|{zyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvutstststststststsrqrqrqrqrqrqrqrqpopopopopopopoponmnmnmnmklklklklklklklkljijijijijijijijihghghghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSRQQQQQQRRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;:9:9:9:9:9878787878787878765656565656565654343434343434343212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#~}~}~}~}~}~}~}~}|{|{|{|{|{|{|{|{zyzyzyzyzyzyzyzyxwxwxwxwxwxwxwvuvuvuvuvutstststststststsrqrqrqrqrqrqrqrqpopopopopopopoponmnmnmnmklklklklklklklkljijijijijijijijihghghghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSQRQRQRQRRQRQRQQQPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIJIHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;:9:9:9:9:9:9:9:9878787878787878765656565656565654343434343434343212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#~}~}~}~}~}~}~}~}|{|{|{|{|{|{|{|{zyzyzyzyzyzyzyzyxwxwxwxwvuvuvuvuvuvuvuvutstststststststsrqrqrqrqrqrqrqrqpopopopopopopoponmnmnmnmklklklklklklklkljijijijijijijijihghghghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcbabababababa`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSQRQRQRQRQQQRQRQRPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;:9:9:9:9:9:9:9:9878787878787878765656565656565654343434321212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#~}~}~}~}~}~}~}~}|{|{|{|{|{|{|{|{zyzyzyzyzyzyzyxwxwxwxwxwvuvuvuvuvuvuvuvutstststststststsrqrqrqrqrqrqrqrqpopopopopopopoponmnmnmnmklklkkkkklklklkljijijijijijijijihghghghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcbabababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSQRQRQRQRQRQRQRQRPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMLKLKLKLKLKJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;:9:9:9:9:9:9:9:9777778788787878765656565656565654343434321212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#~}~}~}~}~}~}~}~}|{|{|{|{|{|{|{|{zyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvutstststststststsrqrqrqrqrqrqrqrqpopopopopopopoponmnmnmnmkklklklkklklklkljijijijijijijijihghghghghghghghgfefefefefefefefedcdcdcdcdcdcbabababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUTSTSTSTSTSTSTSTSQRQRQRQRQRQRQRQRPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;:9:9:9:9:9:9:9:9787878788787777765656565434343434343434321212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#~}~}~}~}~}~}~}~}|{|{|{|{|{|{|{zyzyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvutstststststststsrqrqrqrqrqrqrqrqpopopopopopopoponmnmnmnmlklklklkkkkkkklkjijijijijijijijihghghghghghghghgfefefefefefefefedcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUTSTSTSTSTSTSTSTSQRQRQRQRQRQRQRQRPOPOPOPOPOPOPOPONMNMNMNMNMLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;:9:9:9:9:9:9:9:9787878788787878765656565434343434343434321212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#~}~}~}~}~}~}~}~}|{|{|{|{zyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvutstststststststsrqrqrqrqrqrqrqrqpopopopopopopoponmnmnmnmlklklklklklklklkjijijijijijijijihghghghghghghghgfefefefefefedcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUTSTSTSTSTSTSTSTSQQQQQQRQQRQRQRQRPOPOPOPOPOPOPOPONMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;:9:9:9:9:9:9:9:9787878786565656565656565434343434343434321212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#~}~}~}~}~}~}~}|{|{|{|{|{zyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvutstststststststsrqrqrqrqrqrqrqrqpopopopoponmnmnmnmnmnmnmlklklklklklklklkjijijijijijijijihghghghghghghghgfefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQQRQRQQQQPOPOPOPOPONMNMNMNMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;:9:9:9:9:9:9:9:9787878786565656565656565434343434343434321212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#~}~}~}~}|{|{|{|{|{|{|{|{zyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvutstststststststsrqrqrqrqrqrqrqrqpopopoponmnmnmnmnmnmnmnmlklklklklklklklkjijijijijijijijihghghghghghgfefefefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQQQRQRQRQPOPOPOPONMNMNMNMNMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;:9:9:9:9:9:9:9:9787878776565656565656565434343434343434321212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#~}~}~}~}~}|{|{|{|{|{|{|{|{zyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvutstststststststsrqrqrqrqrqrqrqrqpopopoponmnmnmnmnmnmnmnmlklkkkkklklklklkjijijijijijijijihghghghgfefefefefefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQRQPOPOPOPOPOPOPONMNMNMNMNMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;:9:9:9:9:9:9:9:9777787876565656565656565434343434343434321212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#~}~}~}~}~}~}~}~}|{|{|{|{|{|{|{|{zyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvutstststststststsrqrqrqrqrqrqrqrqpopopoponmnmnmnmnmnmnmnmklklklkllklklklkjijijijijijihghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;:9:9:9:9:9:9:9:9878787876565656565656565434343434343434321212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%$#$#$#$#$#$#$#$#$#$#$#$#~}~}~}~}~}~}~}~}|{|{|{|{|{|{|{|{zyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvutstststststststsrqrqrqrqrqrqrqrqpopopoponmnmnmnmnmnmnmnmklklklklkkkklklkjijijijihghghghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=<;<;<;<;<;<;<;:9:9:9:9:9:9:9:9878787876565656565656565434343434343434321212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%$#$#$#$#$#$#$#$#$#$#$#$#~}~}~}~}~}~}~}~}|{|{|{|{|{|{|{|{zyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvutstststststststsrqrqrqrqrqrqrqrqpopopoponmnmnmnmnmnmnmnmklklklkllklkjijijijijijihghghghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUTSTSTSTSTSTSTSTSQQQQQRQRPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:9:9878787878787876565656565656565434343434343434321212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!~}~}~}~}~}~}~}~}|{|{|{|{|{|{|{|{zyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvutstststststststsrqrqrqrqrqrqrqrqpopopoponmnmnmnmnmnmnmnmklklklkljijijijijijijijihghghghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUTSTSTSTSTSTSTSTSQRQRQRQRPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?@?>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:987777778878787876565656565656565434343434343434321212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!"!"!"!"!         - - - - - - - - "!"!"!"!"!"!"!"!            - - - - - - - - "!"!"!"!"!"!"!"!            - - - - - - - - "!"!"!"!"!"!"!"!            - - - - - - - - "!"!"!"!"!"!"!"!            - - - - - - - - "!"!"!"!"!"!"!"!            - - - - - - - - "!"!"!"!"!"!"!"!            - - - - - - - - "!"!"!"!"!"!"!"!            - - - - - - - - "!"!"!"!"!"!"!"!            - - - - - - - - "!"!"!"!"!"!              - - - - - - - - "!"!"!"!                - - - - - - - - "!"!"!"!                - - - - - - - - "!"!"!"!                - - - - - - - - "!"!"!"!                - - - - - - - - "!"!"!"!                - - - - - - - - "!"!"!"!                - - - - - - - - "!"!"!"!                - - - - - - - "!"!"!"!                - - - - "!"!"!"!                - - - - - "!"!"!"!                - - - - - - - - "!"!"!"!               - - - - - - - - "!"!"!"!        - - - - - - - - PPOONNMMqqrrsstt~~}}||{{ffgghhii~~}}||EEFFGGHH\\[[ZZYYUUVVWWXXLLKKJJII eeffgghh<<;;::99 uuvvwwxx,,++**))--..//00ttssrrqqKKLLMMNN))((''&&@@AABBCCWWVVUUTTZZ[[\\]]GGFFEEDDjjkkllmm77665544""##$$%%zz{{||}}~~}}||''&&%%$$22334455oonnmmllBBCCDDEEKKJJIIHH%%&&''((\[[ZZYYX - -__``aabbBBAA@@??ooppqqrr221100//''(())**zzyyxxww""!! 778899::jjiihhggGGHHIIJJZZYYXXWWjjkkqqrrvvuuttss - - \]]^^__`==<<;;::ttuuvvww--,,++**,,--..//uuttssrr<<==>>??eeddccbb - -LLMMNNOOUUTTSSRR\\]]^^__,,++**))DDEEFFGG??>>==<;!!""##$$yyzz{{||~~}}((''&&%%11223344ppoonnmmAABBCCDD``__^^]]QQRRSSTTPPOONNMM - - aabbccddLLKKJJII uuvvwwxxzzyyxxww jjkkqqrr{{zzyyxxIIJJKKLLXXWWVVUUYYZZ[[\\HHGGFFEEiijjkkll88776655!!""##$$yyzz{{||~~}}((''&&%%11223344ppoonnmmOOPPQQWW%%$$##DDEEFFGGSSRRQQPP ^^__``aaCCBBAA@@nnooppqq33221100&&''(())~~{{zzyyxx##""!! 66778899kkjjiihhFFGGHHIIGGFFEEDD))**++,,XWWVUTSR ccddeeff>>==<<;;ssttuuvv..--,,++++,,--..vvuuttss;;<<==>>ffeeddcc KKLLMMNNVVUUTTSS - -ssttuuvvrrqqkkjj`aabbccd99887766 !!""##xxyyzz{{~~))((''&&00112233qqppoonn@@AABBCCaa``__^^ PPQQRRSSQQPPOONN - - ``aabbcc((''&&%%HHIIJJKK:9877665%%&&''((}}~~||{{zzyy$$##""!!55667788llkkjjiiEEFFGGHH\\[[ZZYYUUVVWWXXLLKKJJII eeffgghhHHGGFFEE!!""##$$yyzz{{||vvuuttss - - - -ssttuuvvwwvvuuttMMNNOOPPTTSSRRQQ]]^^__``DDCCBBAAmmnnoopp44332211%%&&''((}}~~||{{zzyy$$##""!!55667788llkkjjiiXXYYZZ[[HHIIJJKKOONNMMLL - - bbccddee??>>==<<rrssttuu//..--,,**++,,--wwvvuutt::;;<<==ggffeedd JJKKLLMMCCBBAA@@--..//00QQPPOONNgghhiijj::998877 !!""wwxxyyzz**))((''//001122rrqqppoo??@@AABBbbaa``__ - - OOPPQQRRRRQQPPOO wwxxyyzziihhggffdeeffggh55443322$$%%&&''||}}~~}}||{{zz%%$$##""44556677mmllkkjjDDEEFFGG]]\\[[ZZTTUUVVWWMMLLKKJJ ddeeffgg$$##LLMMNNOO54433221))**++,,xxwwvvuu 99::;;<>==qqrrsstt00//..--))**++,,xxwwvvuu 99::;;<>??@@AAccbbaa`` - - NNOOPPQQ??>>==7711223344MMLLKKJJkkllmmnn66554433##$$%%&&{{||}}~~~~}}||{{&&%%$$##33445566nnmmllkkCCDDEEFF^^]]\\[[SSTTUUVVNNMMLLKK{{||}}~~eeddccbb - - hiijjkkl1100//..(())**++yyxxwwvv!! 8899::;;iihhggffHHIIJJKKYYXXWWVVXXYYZZ[[IIHHGGFFhhiijjkkPPQQWWXX100//..---..//00ttssrrqq==>>??@@ddccbbaa - - MMNNOOPPTTSSRRQQ]]^^__``DDCCBBAAmmnnoopp@@??>>==))**++,,iihhggff{{||}}~~nmlkkjji - -UUVVWWXXLLKKJJII eeffgghh<<;;::99 uuvvwwxx,,++**))--..//00ttssrrqq==>>??@@ddccbbaa - - ``aabbcc~~}}PPQQRSTUGGFFEEDDjjkkllmm77665544""##$$%%zz{{||}}~~}}||''&&%%$$22334455oonnmmllBBCCDDEE__^^]]\\RRSSTTUU66554433556677==IIHHGGFFooppqqrr221100//''(())**zzyyxxww""!! 778899::jjiihhggGGHHIIJJZZYYXXWWWWXXYYZZJJIIHHGGaa``__^^ mnopqqrr--,,++**,,--..//uuttssrr<<==>>??eeddccbb - -LLMMNNOOUUTTSSRR\\]]^^__EEDDCCBBllmmnnooYYZZ[[\\-,,++**)11223344ppoonnmmAABBCCDD``__^^]]QQRRSSTTPPOONNMM - - aabbccdd@@??>>==qqrrsstt@@??>>==<<;;::99--..//00eeddccbbihhggffe YYZZ[[\\HHGGFFEEiijjkkll88776655!!""##$$yyzz{{||~~}}((''&&%%11223344ppoonnmmAABBCCDD``__^^]]ddeeffgg||{{zzyy VWWXXYYZCCBBAA@@nnooppqq33221100&&''(())~~{{zzyyxx##""!! 66778899kkjjiihhFFGGHHII[[ZZYYXXVVWWXXYY221100//>>??@@AAEEDDCCBBssttuuvv..--,,++++,,--..vvuuttss;;<<==>>ffeeddcc KKLLMMNNVVUUTTSS[[\\]]^^FFEEDDCC]]\\[[ZZssttuuvv~~))((''&&00112233qqppoonn@@AABBCCaa``__^^ PPQQRRSSQQPPOONN - - ``aabbccAA@@??>>ppqqrrss~~}}||]]^^__``)((''&&%55667788llkkjjiiEEFFGGHH\\[[ZZYYUUVVWWXXLLKKJJII eeffgghh<<;;::99 uuvvwwxx<<;;::998877665511223344aa``__^^eddccbba]]^^__``DDCCBBAAmmnnoopp44332211%%&&''((}}~~||{{zzyy$$##""!!55667788llkkjjiiEEFFGGHH\\[[ZZYYhhiijjkkxxwwvvuu - - Z[[\\]]^??>>==<<rrssttuu//..--,,**++,,--wwvvuutt::;;<<==ggffeedd JJKKLLMMWWVVUUTTZZ[[\\]]..--,,++BBCCDDEEAA@@??>> !!""wwxxyyzz**))((''//001122rrqqppoo??@@AABBbbaa``__ - - OOPPQQRRRRQQPPOO - -__``aabbBBAA@@??##YYXXWWQQwwxxyyzz}}||{{zz%%$$##""44556677mmllkkjjDDEEFFGG]]\\[[ZZTTUUVVWWMMLLKKJJ ddeeffgg==<<;;::ttuuvvww{{zzyyxx aabbccdd%$$##"! 99::;;<>==qqrrsstt00//..--))**++,,xxwwvvuu 99::;;<>??@@AAccbbaa`` - - NNOOPPQQSSRRQQPP ^^__``aa**))((''FFGGHHII==<;:987##$$%%&&{{||}}~~~~}}||{{&&%%$$##33445566nnmmllkkCCDDEEFF^^]]\\[[SSTTUUVVNNMMLLKK ccddeeff>>==<<;;$$%%&&''PPOONNMM{{||}}~~yyxxwwvv!! 8899::;;iihhggffHHIIJJKKYYXXWWVVXXYYZZ[[IIHHGGFFhhiijjkk99887766 !!""##xxyyzz{{wwvvuutt - - eeffgghh~~}}==>>??@@ddccbbaa - - MMNNOOPPTTSSRRQQ]]^^__``DDCCBBAAmmnnoopp44332211%%&&''((}}~~||{{zzyy4433221100//..--99::;;<>??@@ddccbbaa - - MMNNOOPPTTSSRRQQ - - uuvvwwxxkkjjiihhbccddeef77665544""##$$%%zz{{||}}~~}}||''&&%%$$22334455oonnmmllBBCCDDEE__^^]]\\RRSSTTUUOONNMMLL - - bbccddee&&%%$$##JJKKLLMM76655443''(())**zzyyxxww""!! 778899::jjiihhggGGHHIIJJZZYYXXWWWWXXYYZZJJIIHHGGgghhiijj::998877(())**++LLKKJJII !"#uuttssrr<<==>>??eeddccbb - -LLMMNNOOUUTTSSRR\\]]^^__EEDDCCBBllmmnnoo55443322$$%%&&''||}}~~ssrrqqkkiijjkkqq||{{zzyyAABBCCDD``__^^]]QQRRSSTTPPOONNMM - - aabbccdd@@??>>==qqrrsstt00//..--))**++,,xxwwvvuu00//..--,,++**))==>>??@@PPOONNMM(())**++YXXWWVUTiijjkkll88776655!!""##$$yyzz{{||~~}}((''&&%%11223344ppoonnmmAABBCCDD``__^^]]QQRRSSTTPPOONNMM yyzz{{||ggffeedd - -fgghhiij33221100&&''(())~~{{zzyyxx##""!! 66778899kkjjiihhFFGGHHII[[ZZYYXXVVWWXXYYKKJJIIHHffgghhiiNNOOPPQQ3221100/++,,--..vvuuttss;;<<==>>ffeeddcc KKLLMMNNVVUUTTSS[[\\]]^^FFEEDDCCkkllmmnn66554433,,--..//HHGGFFEE#$$%%&&'qqppoonn@@AABBCCaa``__^^ PPQQRRSSQQPPOONN - - ``aabbccAA@@??>>ppqqrrss1100//..(())**++jjiihhgg rrssttuuxxwwvvuuEEFFGGHH\\[[ZZYYUUVVWWXXLLKKJJII eeffgghh<<;;::99 uuvvwwxx,,++**))--..//00ttssrrqq,,++**))~~}}((''&&%%AABBCCDDLLKKJJII,,--..//SRQQPPOOmmnnoopp44332211%%&&''((}}~~||{{zzyy$$##""!!55667788llkkjjiiEEFFGGHH\\[[ZZYYUUVVWWXXLLKKJJII}}~~ccbbaa`` jkklmnop//..--,,**++,,--wwvvuutt::;;<<==ggffeedd JJKKLLMMWWVVUUTTZZ[[\\]]GGFFEEDDjjkkllmmWWXXYYZZ/..--,,+//001122rrqqppoo??@@AABBbbaa``__ - - OOPPQQRRRRQQPPOO - -__``aabbBBAA@@??ooppqqrr221100//00112233DDCCBBAA'(())**+mmllkkjjDDEEFFGG]]\\[[ZZTTUUVVWWMMLLKKJJ ddeeffgg==<<;;::ttuuvvww--,,++**,,--..//ffeeddcc - - vvwwxxyyttssrrqqIIJJKKLLXXWWVVUUYYZZ[[\\HHGGFFEEiijjkkll88776655!!""##$$yyzz{{||~~}}((''&&%%11223344ppoonnmm((''&&%%||{{zzyy$$##""!!EEFFGGHHHHGGFFEE00112233NNMMLLKKqqrrsstt00//..--))**++,,xxwwvvuu 99::;;<>??@@AAccbbaa`` - - NNOOPPQQSSRRQQPP ^^__``aaCCBBAA@@nnooppqq~~[[\\]]^^+**))(('33445566nnmmllkkCCDDEEFF^^]]\\[[SSTTUUVVNNMMLLKK ccddeeff>>==<<;;ssttuuvv..--,,++44556677@@??>>==+,,--../iihhggffHHIIJJKKYYXXWWVVXXYYZZ[[IIHHGGFFhhiijjkk99887766 !!""##xxyyzz{{~~))((''&&00112233bbaa``__zz{{||}}ponmlkkj MMNNOOPPTTSSRRQQ]]^^__``DDCCBBAAmmnnoopp44332211%%&&''((}}~~||{{zzyy$$##""!!55667788llkkjjii$$##""!!xxwwvvuu IIJJKKLLDDCCBBAA44556677JJIIHHGG uuvvwwxx,,++**))--..//00ttssrrqq==>>??@@ddccbbaa - - MMNNOOPPTTSSRRQQ]]^^__``DDCCBBAA[[ZZYYXXuuvvwwxx~~}}||''&&%%$$22334455oonnmmllBBCCDDEE__^^]]\\RRSSTTUUOONNMMLL - - bbccddee??>>==<<rrssttuu}}||{{zz__``aabb'&&%%$$#778899::jjiihhggGGHHIIJJZZYYXXWWWWXXYYZZJJIIHHGGgghhiijj::998877 !!""wwxxyyzz**))((''==>>??@@77665544/0011223eeddccbb - -LLMMNNOOUUTTSSRR\\]]^^__EEDDCCBBllmmnnoo55443322$$%%&&''||}}~~}}||{{zz%%$$##""44556677^^]]\\[[~~jiihhggf - - QQRRSSTTPPOONNMM - - aabbccdd@@??>>==qqrrsstt00//..--))**++,,xxwwvvuu 99::;;<>====>>??@@FFEEDDCC!!""##$$yyzz{{||~~}}((''&&%%11223344ppoonnmmAABBCCDD``__^^]]QQRRSSTTPPOONNMM - - aabbccdd@@??>>==##$$%%WWQQPPOOyyzz{{||{{zzyyxx##""!! 66778899kkjjiihhFFGGHHII[[ZZYYXXVVWWXXYYKKJJIIHHffgghhii;;::9988 !!vvwwxxyyyyxxwwvv - -ccddeeff#"! ;;<<==>>ffeeddcc KKLLMMNNVVUUTTSS[[\\]]^^FFEEDDCCkkllmmnn66554433##$$%%&&{{||}}~~~~}}||{{&&%%$$##AABBCCDD3322110034455667aa``__^^ PPQQRRSSQQPPOONN - - ``aabbccAA@@??>>ppqqrrss1100//..(())**++yyxxwwvv!! 8899::;;ZZYYXXWWfeeddccbUUVVWWXXLLKKJJII eeffgghh<<;;::99 uuvvwwxx,,++**))--..//00ttssrrqq==>>??@@ddccbbaappoonnmmQQRRSSTT77665544AABBCCDDBBAA@@??%%&&''((}}~~||{{zzyy$$##""!!55667788llkkjjiiEEFFGGHH\\[[ZZYYUUVVWWXXLLKKJJII eeffgghh<<;;::99&&''(())NNMMLLKK}}~~wwvvuutt::;;<<==ggffeedd JJKKLLMMWWVVUUTTZZ[[\\]]GGFFEEDDjjkkllmm77665544""##$$%%zz{{||}}uuttssrr gghhiijj~~}}||{{??@@AABBbbaa``__ - - OOPPQQRRRRQQPPOO - -__``aabbBBAA@@??ooppqqrr221100//''(())**zzyyxxww""!! EEFFGGHH//..--,,789:;<==]]\\[[ZZTTUUVVWWMMLLKKJJ ddeeffgg==<<;;::ttuuvvww--,,++**,,--..//uuttssrr<<==>>??QQPPOONNbaa``__^YYZZ[[\\HHGGFFEEiijjkkll88776655!!""##$$yyzz{{||~~}}((''&&%%11223344ppoonnmmAABBCCDD``__^^]]llkkjjiiUUVVWWXX33221100EEFFGGHH>>==<;:9))**++,,xxwwvvuu 99::;;<>??@@AAccbbaa`` - - NNOOPPQQSSRRQQPP ^^__``aaCCBBAA@@nnooppqq33221100&&''(())~~qqkkjjiikkqqrrsszzyyxxwwCCDDEEFF^^]]\\[[SSTTUUVVNNMMLLKK ccddeeff>>==<<;;ssttuuvv..--,,++++,,--..vvuuttssIIJJKKLL++**))((>>??@@AAYYXXWWVVXXYYZZ[[IIHHGGFFhhiijjkk99887766 !!""##xxyyzz{{~~))((''&&00112233qqppoonn@@AABBCCMMLLKKJJ##$$%%&&^]]\\[[Z]]^^__``DDCCBBAAmmnnoopp44332211%%&&''((}}~~||{{zzyy$$##""!!55667788llkkjjiiEEFFGGHH\\[[ZZYYhhggffee YYZZ[[\\//..--,,IIJJKKLL87766554--..//00ttssrrqq==>>??@@ddccbbaa - - MMNNOOPPTTSSRRQQ]]^^__``DDCCBBAAmmnnoopp44332211..//0011FFEEDDCC%&&''(()oonnmmllBBCCDDEE__^^]]\\RRSSTTUUOONNMMLL - - bbccddee??>>==<<rrssttuu//..--,,**++,,--hhggffee - - ttuuvvwwvvuuttssGGHHIIJJZZYYXXWWWWXXYYZZJJIIHHGGgghhiijj::998877 !!""wwxxyyzz**))((''//001122rrqqppooMMNNOOPP''&&%%$$BBCCDDEEUUTTSSRR\\]]^^__EEDDCCBBllmmnnoo55443322$$%%&&''||}}~~}}||{{zz%%$$##""44556677mmllkkjjDDEEFFGGIIHHGGFF''(())**ZYYXXWWV - - aabbccdd@@??>>==qqrrsstt00//..--))**++,,xxwwvvuu 99::;;<>==qqrrsstt00//..--22334455BBAA@@??)**++,,-kkjjiihhFFGGHHII[[ZZYYXXVVWWXXYYKKJJIIHHffgghhii;;::9988 !!vvwwxxyy++**))((..//0011ddccbbaa xxyyzz{{rrqqponm KKLLMMNNVVUUTTSS[[\\]]^^FFEEDDCCkkllmmnn66554433##$$%%&&{{||}}~~~~}}||{{&&%%$$##33445566nnmmllkkQQWWXXYY##FFGGHHIIQQPPOONN - - ``aabbccAA@@??>>ppqqrrss1100//..(())**++yyxxwwvv!! 8899::;;iihhggffHHIIJJKKEEDDCCBB++,,--..UTSRQQPP eeffgghh<<;;::99 uuvvwwxx,,++**))--..//00ttssrrqq==>>??@@ddccbbaa - - MMNNOOPPTTSSRRQQ - - ``__^^]] - - aabbccdd''&&%%$$QQWWXXYY0//..--,55667788llkkjjiiEEFFGGHH\\[[ZZYYUUVVWWXXLLKKJJII eeffgghh<<;;::99 uuvvwwxx,,++**))6677==>>>>==7766-..//001ggffeedd JJKKLLMMWWVVUUTTZZ[[\\]]GGFFEEDDjjkkllmm77665544""##$$%%zz{{||}}~~}}||''&&%%$$22334455``__^^]]||}}~~lkkjjiih - - OOPPQQRRRRQQPPOO - -__``aabbBBAA@@??ooppqqrr221100//''(())**zzyyxxww""!! 778899::jjiihhggZZ[[\\]]JJKKLLMMMMLLKKJJ ddeeffgg==<<;;::ttuuvvww--,,++**,,--..//uuttssrr<<==>>??eeddccbb - -LLMMNNOOAA@@??>>//001122OONNMMLLiijjkkll88776655!!""##$$yyzz{{||~~}}((''&&%%11223344ppoonnmmAABBCCDD``__^^]]QQRRSSTTPPOONNMM\\[[ZZYY eeffgghh##ZZ[[\\]],++**))(99::;;<>==<<;;ssttuuvv..--,,++++,,--..vvuuttss;;<<==>>ffeeddcc ^^__``aaNNOOPPQQIIHHGGFFhhiijjkk99887766 !!""##xxyyzz{{~~))((''&&00112233qqppoonn@@AABBCCaa``__^^ PPQQRRSS==77665533445566KKJJIIHHmmnnoopp44332211%%&&''((}}~~||{{zzyy$$##""!!55667788llkkjjiiEEFFGGHH\\[[ZZYYUUVVWWXXLLKKJJIIXXWWVVUUiijjkkll^^__``aa(''&&%%$==>>??@@ddccbbaa - - MMNNOOPPTTSSRRQQ]]^^__``DDCCBBAAmmnnoopp44332211%%&&''((}}~~||{{zzyy$$##""!!CCDDEEFF1100//..5667789:__^^]]\\RRSSTTUUOONNMMLL - - bbccddee??>>==<<rrssttuu//..--,,**++,,--wwvvuutt::;;<<==XXWWQQPPdccbbaa`WWXXYYZZJJIIHHGGgghhiijj::998877 !!""wwxxyyzz**))((''//001122rrqqppoo??@@AABBbbaa``__ - - bbccddee~~}}||{{RSTUVWWXEEDDCCBBllmmnnoo55443322$$%%&&''||}}~~}}||{{zz%%$$##""44556677mmllkkjjDDEEFFGG]]\\[[ZZTTUUVVWW4433221177==>>??GGFFEEDDqqrrsstt00//..--))**++,,xxwwvvuu 99::;;<>==qqrrsstt00//..--))**++,,xxwwvvuu GGHHIIJJ--,,++**;<==>>??[[ZZYYXXVVWWXXYYKKJJIIHHffgghhii;;::9988 !!vvwwxxyy++**))((..//0011ssrrqqpp>>??@@AAOONNMMLL##$$`__^^]]\[[\\]]^^FFEEDDCCkkllmmnn66554433##$$%%&&{{||}}~~~~}}||{{&&%%$$##33445566nnmmllkkCCDDEEFF^^]]\\[[ffgghhiizzyyxxww XYYZZ[[\AA@@??>>ppqqrrss1100//..(())**++yyxxwwvv!! 8899::;;iihhggffHHIIJJKKYYXXWWVVXXYYZZ[[00//..--@@AABBCCCCBBAA@@ uuvvwwxx,,++**))--..//00ttssrrqq==>>??@@ddccbbaa - - MMNNOOPPTTSSRRQQ]]^^__``DDCCBBAA - - yyzz{{||ggffeedd - -fgghhiij33221100&&''(())~~{{zzyyxx##""!! 66778899kkjjiihhFFGGHHII[[ZZYYXXVVWWXXYYKKJJIIHHffgghhii^^__``aa{{zzyyxx##""!! FFGGHHII}}~~ccbbaa`` jkklmnop//..--,,**++,,--wwvvuutt::;;<<==ggffeedd JJKKLLMMWWVVUUTTZZ[[\\]]GGFFEEDDjjkkllmmbbccddeewwvvuuttJJKKLLMM__^^]]\\qqrrsstt++**))((..//0011ssrrqqpp>>??@@AAccbbaa`` - - NNOOPPQQSSRRQQPP ^^__``aaCCBBAA@@nnooppqq~~}}||{{ffgghhiissrrqqppNNOOPPQQ[[ZZYYXXuuvvwwxx~~}}||''&&%%$$22334455oonnmmllBBCCDDEE__^^]]\\RRSSTTUUOONNMMLL - - bbccddee??>>==<<rrssttuuzzyyxxww jjkkqqrroonnmmllRRSSTTUU##$$%%WWQQPPOOyyzz{{||{{zzyyxx##""!! 66778899kkjjiihhFFGGHHII[[ZZYYXXVVWWXXYYKKJJIIHHffgghhii;;::9988 !!vvwwxxyyvvuuttss - - - -ssttuuvvkkjjiihhVVWWXXYY&&''(())NNMMLLKK}}~~wwvvuutt::;;<<==ggffeedd JJKKLLMMWWVVUUTTZZ[[\\]]GGFFEEDDjjkkllmm77665544""##$$%%zz{{||}}rrqqkkjj wwxxyyzzggffeedd ZZ[[\\]]**++,,--JJIIHHGG !"##$$%ssrrqqpp>>??@@AAccbbaa`` - - NNOOPPQQSSRRQQPP ^^__``aaCCBBAA@@nnooppqq33221100&&''(())~~iihhggff{{||}}~~ccbbaa`` - - ^^__``aa..//0011FFEEDDCC%&&''(()oonnmmllBBCCDDEE__^^]]\\RRSSTTUUOONNMMLL - - bbccddee??>>==<<rrssttuu//..--,,**++,,--eeddccbb__^^]]\\ - - bbccddee22334455BBAA@@??)**++,,-kkjjiihhFFGGHHII[[ZZYYXXVVWWXXYYKKJJIIHHffgghhii;;::9988 !!vvwwxxyy++**))((..//0011aa``__^^[[ZZYYXXffgghhii6677==>>>>==7766-..//001ggffeedd JJKKLLMMWWVVUUTTZZ[[\\]]GGFFEEDDjjkkllmm77665544""##$$%%zz{{||}}~~}}||''&&%%$$22334455]]\\[[ZZ##WWVVUUTTjjkkllmm??@@AABB5544332212233445ccbbaa`` - - NNOOPPQQSSRRQQPP ^^__``aaCCBBAA@@nnooppqq33221100&&''(())~~{{zzyyxx##""!! 66778899YYXXWWQQ$$%%&&''SSRRQQPPnnooppqqCCDDEEFF1100//..5667789:__^^]]\\RRSSTTUUOONNMMLL - - bbccddee??>>==<<rrssttuu//..--,,**++,,--wwvvuutt::;;<<==PPOONNMM(())**++OONNMMLLrrssttuuGGHHIIJJ--,,++**;<==>>??[[ZZYYXXVVWWXXYYKKJJIIHHffgghhii;;::9988 !!vvwwxxyy++**))((..//0011ssrrqqpp>>??@@AALLKKJJII,,--..//KKJJIIHH !!vvwwxxyyKKLLMMNN))((''&&@@AABBCCWWVVUUTTZZ[[\\]]GGFFEEDDjjkkllmm77665544""##$$%%zz{{||}}~~}}||''&&%%$$22334455oonnmmllBBCCDDEEHHGGFFEE00112233GGFFEEDD""##$$%%zz{{||}}OOPPQQWW%%$$##DDEEFFGGSSRRQQPP ^^__``aaCCBBAA@@nnooppqq33221100&&''(())~~{{zzyyxx##""!! 66778899kkjjiihhFFGGHHIIDDCCBBAA44556677CCBBAA@@&&''(())~~XXYYZZ[[HHIIJJKKOONNMMLL - - bbccddee??>>==<<rrssttuu//..--,,**++,,--wwvvuutt::;;<<==ggffeedd JJKKLLMM@@??>>====>>??@@??>>==<<**++,,--\\]]^^__LLMMNNOOKKJJIIHHffgghhii;;::9988 !!vvwwxxyy++**))((..//0011ssrrqqpp>>??@@AAccbbaa`` - - NNOOPPQQ77665544AABBCCDD;;::9988..//0011``aabbcc~~}}PPQQRSTUGGFFEEDDjjkkllmm77665544""##$$%%zz{{||}}~~}}||''&&%%$$22334455oonnmmllBBCCDDEE__^^]]\\RRSSTTUU33221100EEFFGGHH7766554422334455ddeeffgg||{{zzyy VWWXXYYZCCBBAA@@nnooppqq33221100&&''(())~~{{zzyyxx##""!! 66778899kkjjiihhFFGGHHII[[ZZYYXXVVWWXXYY//..--,,IIJJKKLL3322110066778899hhiijjkkxxwwvvuu - - Z[[\\]]^??>>==<<rrssttuu//..--,,**++,,--wwvvuutt::;;<<==ggffeedd JJKKLLMMWWVVUUTTZZ[[\\]]++**))((MMNNOOPP//..--,,::;;<<==qqrrssttttssrrqq^__``aab;;::9988 !!vvwwxxyy++**))((..//0011ssrrqqpp>>??@@AAccbbaa`` - - NNOOPPQQSSRRQQPP ^^__``aa''&&%%$$QQWWXXYY++**))((>>??@@AAuuvvwwxxkkjjiihhbccddeef77665544""##$$%%zz{{||}}~~}}||''&&%%$$22334455oonnmmllBBCCDDEE__^^]]\\RRSSTTUUOONNMMLL - - bbccddee##ZZ[[\\]]~~}}||''&&%%$$BBCCDDEEbdQZ|drtAvpfH~fbے`bے`rd|~HfHfpvp˂rXQJ`ےdrtAltbvpfZHAbے`JXQtlJtArdfpvnXv`bHAZp˂rbdQZ|drtA`vXnvpfZHAbے`JXQlJtArHfpvHfpvےbHAbAZpltbvpf~f``JXQr˂pZrd|ZdQbtXv`f~Hf˂rXQJ`ےdrtAJltbvpfH~f``JXQr˂pZrd|ZdQbtpvnXQJ`ےXQJ`ےdrtAf`vXnv˂pZHAbے`dQbtlJtAr~HfpvnX`ےbHAZp˂tbdQZ|df`vXnv˂pZHAbے`dQbtlJtAr~HfpnrXQ˂bZ|dZ|lf`vX㐙ے`JXQr˂JtArd|ZdQnXv`f~Zp˂rXQJ`|drtAJlnvpfH~ے`JXQr˂JtArd|ZdQnXv`ےHAZp˂drtAdrtAf`vXJXQr`JXQr|ZdQbtlJf~HfpvXQJ`ےbHAZJltbdQZ|H~f`vXnr˂pZHAے|ZdQbnXv`f~Hp˂rXQJ`ےdrtAdrtAJltH~f`vXnJXQrJXQrZdQtArpvnnXvXQJ`ےbHAZJltnvpH~fے`JXQr˂ptArd|ZdQbnXv`f~Hp˂rXQJ`ےdrtAJltvpfH~fے`JXQr˂pd|lnXvnXHZp˂˂rbdQZ|Hf`vXn˂pZHAbےZdQbtlJtA~HfpvnJ`ےbHAZpltbdQZ|~f`vXn˂pZHAbےZdQbtlJtAXv`fbHAZbHAZJlbQZXnvpfH~bے`JXQrlJtArd|ZvnXv`fHAZp˂rXQJZ|drtAJlXnvpfH~bے`JXQrlJtArd|ZvnXJ`p˂HAZp˂rtAdQZtbnnvpXQr˂pZHAb|ZdQbtl`f~HfpvrXQJ`ےbHAtAJltbdQZfH~f`vXXQr˂pZHA|ZdQbnXv`f~Zp˂rXQJ`JltJltnvp˂pZHZHAbtlJtArdfpvnXv`bHAZp˂rbdQZ|drtA`vXnvpfZHAb`JXQrtlJf~HfpvXQJ`ےbHAZJltJltbdQZ|`vXnvpf˂pZHA˂p|Zd|ZXv`f`f~bHAZp˂rbdQZ|fHf`vXnr˂pZHAb|ZdQbtlJf~HfpvXQJ`ےbHAZJltbdQZ|H~f`vXnr˂pZHAbJtArd`ffpvrXQJ`dQZ|drtAJvXnvpfHHAbے`JXQrlJtArd|pvnXv`fbHAZp˂rXQdQZ|drtAJvXnvpfHHAbے`JXQrlJtArd|~Hfp˂rp˂r|drpfH~f`vJXQr˂pZHAd|ZdQbtv`f~HfprXQJ`ےbrtAJltbdQpfH~f`vJXQr˂pZHAd|ZdQbnXv`frXQJrXQJ|drvpfffH~pZHAbے`JbtlJtArdHfpvnXvےbHAZp˂tbdQZ|drf`vXnvppZHAbے`JXQbtl`f~HfpvrXQJ`ےbHAbdQZ|bdQtAJfH~Abے`ے`JXtArd|ZdQbnXv`f~Hp˂rXQJ`ےdrtAJltvpfH~fے`JXQbtltArdfpvnXv`bHAZp˂rbdQZ|bdQZ|drtAvpfH~fb˂dQbtdQbt璐~HfHfpvp˂rbdQZ|drtA`vXnvpfZHAbے`JXQtlJtArdfpvnXv`bHAZp˂rbdQZ|drtA`vXnvpfZHAbے`JXQ|ZdQnXv`nXv`ےbHAdrtAJltbvpfH~f``JXQr˂pZrd|ZdQbtXv`f~Hf˂rXQJ`ےdrtAJltbvpfH~f``JXQr˂pZrd|ZdQbnpvXQJ`ےXQJ`ptAJl璐f`vXnv˂pZHAbے`dQbtlJtAr~HfpvnX`ےbHAZp˂tbdQZ|df`vXnv˂pZHAے`JdQbtv`f~Hfp`ےb`ےbtAJl`vXnf`vXnے`JXQr˂JtArd|ZdQnXv`f~Zp˂rXQJ`|drtAJlnvpfH~ے`JrbtJtArdHfpvnXvےbHAZp˂dtbltbf`pfJXQrQr˂p|ZdQbtlJf~HfpvXQJ`ےbHAZJltbdQZ|H~f`vXnr˂pJtAd|ZdQbnXv`f~Hp˂rXQJ`ےdrtAdrtAJltH~f`vXnpZHAblJtArlJtArvnXv`nXvXQJ`ےdrtAJltvpfH~fے`JXQr˂ptArd|ZdQbnXv`f~Hp˂rXQJ`ےdrtAJltvpfH~fے`JXQr˂pbtlf~Hf~HZprQltbdQZ|~f`vXn˂pZHAbےZdQbtlJtA~HfpvnJ`ےbHAZpltbdQZ|~f`vXn˂pZHAے`ZdQbtXv`p~HfpbHAXQ˂rbtbdQZXnvpfH~bے`JXQrlJtArd|ZvnXv`fHAZp˂rXQJZ|drtAJlXnvpfH~bے`XQrbtlJtAr~HfpvnXHAZp˂HAZp˂tbdQZvpfvfH~XQr˂pZHAb|ZdQbtl`f~HfpvrXQJ`ےbHAtAJltbdQZfH~f`vXXQr˂lJtAd|ZdQnXv`f~Zp˂rXQJ`dQZ|dQZ|H~f˂pZHZHAbtlJtArdfpvnXv`bHAZp˂rbdQZ|dtAJ`vXnr˂pZHAb|ZdQbtlJf~HfpvXQJ`ےbHAZJltJltJltbdQZ|`vXnvpfے`Jd|Zd|Zf~H`frQbHAZJltbdQZ|H~f`vXnr˂pZHAb|ZdQbtlJf~HfpvXQJ`ےbHAZJltbdQZ|H~f`vXnr˂pZHAےJtArdfpvfpvJ`ےdQZ|drtAJvXnvpfHHAbے`JXQrlJtArd|pvnXv`fbHAZp˂rXQdQZ|drtAJvXnvpfHHAbےJXQrblJtAvnXvnXJ`ےdQZ||drpfH~f`vJXQr˂pZHAd|ZdQbtv`f~HfprXQJ`ےbrtAJltbdQpfH~f`vJXQrlJtAd|ZvnXv`frXQJrXQHA|drH~ff`vpZHAbے`JbtlJtArdHfpvnXvےbHAZp˂tbdQZ|dtAf`vXnr˂pZHAb|ZdQbtl`f~HfpvrXQJ`ےbHAdrtAJdrtAJ`vXnAbJXQے`JXtArd|ZdQbnXv`f~Hp˂rXQJ`ےdrtAltbvpfZHAbے`JXQtlJtArdfpvnXv`bHAZp˂rbdQZ|bdQZ|bdQZ|drtAvpfH~fXQr˂dQbtdQbtdfpvJHAZp˂rbdQZ|drtA`vXnvpfZHAbے`JXQtlJtArdfpvnXv`bHAZp˂rbdQZ|drtA`vXnvpfZHAb`JXQr|ZdQnXv`nXv`bHAZpdrtAJltbvpfH~f``JXQr˂pZrd|ZdQbtXv`f~Hf˂rXQJ`ےdrtAJltbvpfH~f``JXQrtlJrd|v`fv`fbHAZprAJlttAJl璐f`vXnv˂pZHAbے`dQbtlJtAr~HfpvnX`ےbHAZp˂tbdQZ|df`vXnr˂pZHAd|ZdQbtv`f~Hfp`ےZp˂tAJl|`vXnXnvے`JXQr˂JtArd|ZdQnXv`f~Zp˂rXQJ`|drJltnvppZHAbے`JbtlJtArdHfpvnXvےbHAZp˂ltbltbvpfr˂pQrZ|ZdQbtlJf~HfpvXQJ`ےbHAZJltnvpH~fے`JXQr˂ptArd|ZdQbnXv`f~Hp˂rXQJ`ےdrtAdrtAdrtAJltH~f`vXnpZHAblJtAdQ|ZdQnXv`p˂rXQJ`ےdrtAJltvpfH~fے`JXQr˂ptArd|ZdQbnXv`f~Hp˂rXQJ`ےdrtAJltvpfH~fے`JXQbtltArdf~HpvnrXQltbdQZ|~f`vXn˂pZHAbےZdQbtlJtA~HfpvnJ`ےbHAZpltbdQZ|~f`vXnr˂pZtAd|ZdQbt~Hfp~Hfp˂rXQbdQZ|tbQZdXnvpfH~bے`JXQrlJtArd|ZvnXv`fHAZp˂rXQJZ|dtAJlXnv˂pZHAbے`dQbtlJtAr~HfpvnXrXQJ`rXQJ`drtAvpfpfH~XQr˂pZHAb|ZdQbtl`f~HfpvrXQJ`ےbHAtAJlbnvfH~ے`JXQr˂JtArd|ZdQnXv`f~Zp˂rXQJ`dQZ|dQZ|lH~fZHAbAbے`tlJtArdfpvnXv`bHAZp˂rbdQZ|fHf`vXnr˂pZHAb|ZdQbtlJf~HfpvXQJ`ےbHAZJltJltJltbdQZ|`vXnvpfے`pbtlbtlf~HXQJ`ےbHAZJltbdQZ|H~f`vXnr˂pZHAb|ZdQbtlJf~HfpvXQJ`ےbHAZJltbdQZ|H~f`vXnr˂p|ZdQb|ZdQbXv`frXQJ`J`ےdQZ|drtAJvXnvpfHHAbے`JXQrlJtArd|pvnXv`fbHAZp˂rXQdQZ|dtAJlvXn˂pZHAbےZdQbtlJtAvnXvnXJ`ےdrtrtAJlpfH~f`vJXQr˂pZHAd|ZdQbtv`f~HfprXQJ`ےbrtAJltbnpfH~bے`JXQrlJtArd|ZvnXv`fےbHAےbHAJltH~fvXf`vpZHAbے`JbtlJtArdHfpvnXvےbHAZp˂tbdQZpfHf`vXXQr˂pZHAb|ZdQbtl`f~HfpvrXQJ`ےbHAdrtAdQtbn`vXHے`JXQJXQrtArd|ZdQbnXv`fHfp˂rbdQZ|drtA`vXnvpfZHAbے`JXQtlJtArdfpvnXv`bHAZp˂rbdQZ|bdQZ|bdQZ|drtAvpfH~fZHAbJtArdJtArdfpvnbHAZp˂rbdQZ|drtA`vXnvpfZHAbے`JXQtlJtArdfpvnXv`bHAZp˂rbdQZ|dtAJ`vXnr˂pZHAbtlJtlJ~HfAZp˂bHAZpdrtAJltbvpfH~f``JXQr˂pZrd|ZdQbtXv`f~Hf˂rXQJ`ےdrtAJtbnvpfHHAbے`JXQrlJtArd|v`fHfpvbHAZpAJlttbdf`vXnv˂pZHAbے`dQbtlJtAr~HfpvnX`ےbHAZp˂tbdQvpfHf`vJXQr˂pZHAd|ZdQbtv`f~HfpZp˂Zp˂bdQZ|nvpXnvے`JXQr˂JtArd|ZdQnXv`fHZp˂rbdQZ|drf`vXnvppZHAbے`JbtlJtArdHfpvnXvےbHAZp˂Z|dvp`~f`r˂p˂pZHA|ZdQbtlJf~HpvnXQJ`ےdrtAJltvpfH~fے`JXQr˂ptArd|ZdQbnXv`f~Hp˂rXQJ`ےdrtAdrtAdrtAJltH~f`vXnے`JXQ|ZdQ|ZdQv`fp˂rXQJ`ےdrtAJltvpfH~fے`JXQr˂ptArd|ZdQbnXv`f~Hp˂rXQJ`ےdrtAltbvpfZHAbے`JXQtArdtArdpvnrXQJrQJltbdQZ|~f`vXn˂pZHAbےZdQbtlJtA~HfpvnJ`ےbHAZpltbvpf~f``JXQr˂pZrd|ZdQbtnXvnXv`ےbbdQZ|QZ|dXnvpfH~bے`JXQrlJtArd|ZvnXv`fHAZp˂rbdQZ|df`vXnv˂pZHAbے`dQbtlJtAr~HfpvnXrXQJ`rXQJ`drtAfH~f~f`XQr˂pZHAb|ZdQbtl`f~fpvrXQJ`|drtAJlnvpfH~ے`JXQr˂JtArd|ZdQnXv`f~Zp˂rXQJ`rtAJlvXnvXnZHAbbے`tlJtArdfpvrXQJ`bHAZJltbdQZ|H~f`vXnr˂pZHAb|ZdQbtlJf~HfpvXQJ`ےbHAZJltJltJltbdQZ|`vXnvpfr˂pbtlbtl~HfpXQJ`ےbHAZJltbdQZ|H~f`vXnr˂pZHAb|ZdQbtlJf~HfpvXQJ`ےbHAZJltnvpH~fے`JXQr˂p|ZdQb|ZdQbXv`f`ےbbHAZdQZ|drtAJvXnvpfHHAbے`JXQrlJtArd|pvnXv`fbHAZp˂rbdQZ|Hf`vXn˂pZHAbےZdQbtlJtA`f~`f~HAZp˂drAJrtAJlpfH~f`vJXQr˂pZHAd|ZdQbtv`fHfpvrXQJZ|drtAJlXnvpfH~bے`JXQrlJtArd|ZvnXv`fےbHAp˂rJltf`vXvXnpZHAbے`JbtlJtArdHfpvnrXQJےbHAtAJltbdQZfH~f`vXXQr˂pZHAb|ZdQbtl`f~HfpvrXQJ`ےbHAtbdQvpfHvpfHJQrJXQrtArd|ZdQbnXv`ےHAZp˂rbdQZ|drtA`vXnvpfZHAbے`JXQtlJtArdfpvnXv`bHAZp˂rbdQZ|bdQZ|bdQZ|drtAvpfH~fZHAbJtArd|ZdQbvnXbHAZp˂rbdQZ|drtA`vXnvpfZHAbے`JXQtlJtArdfpvnXv`bHAZp˂rbdQZ|fHf`vXnr˂pZHAbtlJtd|~HfHAZp˂p˂rdrtAJltbvpfH~f``JXQr˂pZrd|ZdQbtXv`fHfp˂rXQdQZ|drtAJvXnvpfHHAbے`JXQrlJtArd|HfpvHfpvrXQJtbdQtbdf`vXnv˂pZHAbے`dQbtlJtAr~HfpnrXQ`ےbrtAJltbdQpfH~f`vJXQr˂pZHAd|ZdQbtv`f~HfpXQJ`ےbdQZ|drtAJnvpvpfHے`JXQr˂JtArd|ZdQnXv`ےHAZp˂tbdQZ|drf`vXnvppZHAbے`JbtlJtArdHfpvnXvےbHAZp˂Z|d~f`~f`pZHA˂pZA|ZdQbnXv`f~Hp˂rXQJ`ےdrtAJltvpfH~fے`JXQr˂ptArd|ZdQbnXv`f~Hp˂rXQJ`ےdrtAdrtAdrtAJltH~f`vXnے`JXQtlJnXv`v`fp˂rXQJ`ےdrtAJltvpfH~fے`JXQr˂ptArd|ZdQbnXv`fHfp˂rbdQZ|drtA`vXnvpfZHAbے`JXQtAdQbtZdQbtp`frXQJXQJ`ےltbdQZ|~f`vXn˂pZHAbےZdQbtlJtA~HfvnrJ`ےdrtAJltbvpfH~f``JXQr˂pZrd|ZdQbtnXvnXv`ےbZ|dQZrtAXnvpfH~bے`JXQrlJtArd|ZvnXJ`ےHAZp˂tbdQZ|df`vXnv˂pZHAbے`dQbtlJtAr~HfpvnXbHAZltbltbfH~~f`XQr˂pZHA|ZdQbnXv`f~Zp˂rXQJ`|drtAJlnvpfH~ے`JXQr˂JtArd|ZdQnXv`f~Zp˂rXQJ`rtAJlvXnvXnbے``JXQrtlJf~HfpvXQJ`ےbHAZJltbdQZ|H~f`vXnr˂pZHAb|ZdQbtlJf~HfpvXQJ`ےbHAZJltJltJltbdQZ|`vXnr˂pHAbےtArdf~fp~HfpXQJ`ےbHAZJltbdQZ|H~f`vXnr˂pZHAb|ZdQbtlJf~HpvnXQJ`ےdrtAJltvpfH~fے`JXQr˂plJtAlJtA~Hfp`ےbAbHAZdQZ|drtAJvXnvpfHHAbے`JXQrlJtArd|pvnXQJ`ےbHAZpltbdQZ|~f`vXn˂pZHAbےZdQbtlJtA`f~`pvHAZp˂rtAJlJltpfH~f`vJXQr˂pZHAd|ZdQbnXv`fHAZp˂rXQJZ|drtAJlXnvpfH~bے`JXQrlJtArd|ZvnXv`fp˂rdQZ|dQZ|fvnvXnpZHAbے`JXQbtl`f~HfpvrXQJ`ےbHAtAJltbdQZfH~f`vXXQr˂pZHAb|ZdQbtl`f~HfpvrXQJ`ےbHA|drvpfHf`vJXQrbtltArdfpvnXv`bHAZp˂rbdQZ|drtA`vXnvpfZHAbے`JXQtlJtArdfpvnXv`bHAZp˂rbdQZ|bdQZ|bdQZ|drtAvpf`JXQr`JXQr|ZdQbvnXvnvbHAZp˂rbdQZ|drtA`vXnvpfZHAbے`JXQtlJtArdfpvrXQJ`bHAZJltbdQZ|H~f`vXnr˂pZHAbrd|rd|vnXZrXp˂rdrtAJltbvpfH~f``JXQr˂pZrd|ZdQbnXv`fHAZp˂rXQdQZ|drtAJvXnvpfHHAbے`JXQrlJtArd|HXv`nrXQJbHAtbdQbdQZ|f`vXnv˂pZHAے`JdQbtv`f~HfprXQJ`ےbrtAJltbdQpfH~f`vJXQr˂pZHAd|ZdQbtv`f~HfpXQJ`ےdrtAJdrtAJvpfHvpf~ے`JrbtJtArdHfpvnXvےbHAZp˂tbdQZ|drf`vXnvppZHAbے`JbtlJtArdHfpvnXvےbHAZp˂tAJlXnvXnvpZHAJtAd|ZdQbnXv`f~Hp˂rXQJ`ےdrtAJltvpfH~fے`JXQr˂ptArd|ZdQbnXv`f~Hp˂rXQJ`ےdrtAdrtAdrtAJltH~f˂pZ˂pZtlJv`ff~Hp˂rXQJ`ےdrtAJltvpfH~fے`JXQr˂ptArd|ZdQbnXv`ےHAZp˂rbdQZ|drtA`vXnvpfZHAbے`JXQZdQbtZdQbtv`fQJ`ےXQJbHltbdQZ|~f`vXn˂pZHAے`ZdQbtXv`f~Hf˂rXQJ`ےdrtAJltbvpfH~f``JXQr˂pZrd|ZdQbtf~H`p˂Zp˂Z|ddrtAXnvpfH~bے`XQrbtlJtAr~HfpvnX`ےbHAZp˂tbdQZ|df`vXnv˂pZHAbے`dQbtlJtAr~HfpvnXbHAZltbltb~f`f`vXXQr˂lJtAd|ZdQnXv`f~Zp˂rXQJ`|drtAJlnvpfH~ے`JXQr˂JtArd|ZdQnXv`f~Zp˂rXQJ`tbdQZpfH~pfH~bے`J|ZdQbtlJf~HfpvXQJ`ےbHAZJltbdQZ|H~f`vXnr˂pZHAb|ZdQbtlJf~HfpvXQJ`ےbHAZJltJltJltbdQZ|`vXnHAbےHAbےtArd~HfpfpvXQJ`ےbHAZJltbdQZ|H~f`vXnr˂pZHAے|ZdQbnXv`f~Hp˂rXQJ`ےdrtAJltvpfH~fے`JXQr˂plJtAl|Z~HfpbHAZpAZp˂dQZ|drtAJvXnvpfHHAbےJXQrblJtA~HfpvnJ`ےbHAZpltbdQZ|~f`vXn˂pZHAbےZdQbtlJtAfpvrXQJ`rXQJ`rtAJJltpfH~f`vJXQrlJtAd|ZvnXv`fHAZp˂rXQJZ|drtAJlXnvpfH~bے`JXQrlJtArd|ZvnXv`fp`ےdQZ|dQtAJlvXnnr˂pZHAb|ZdQbtl`f~HfpvrXQJ`ےbHAtAJltbdQZfH~f`vXXQr˂pZHAb|ZdQbtl`f~HfpvrXQJ`ےbHA|drf`vf`vQrpZtlJtArdfpvnXv`bHAZp˂rbdQZ|drtA`vXnvpfZHAbے`JXQtlJtArdfpvnXv`bHAZp˂rbdQZ|bdQZ|bdQZ|`vXnvpf`JXQr`JXQr|lJtAvnXnXv`ːbHAZp˂rbdQZ|drtA`vXnvpfZHAb`JXQrtlJf~HfpvXQJ`ےbHAZJltbdQZ|H~f`vXnr˂pZHAbrdtdQbnXv~˂rXrXQJ`drtAJltbvpfH~f``JXQrtlJrd|pvnXv`fbHAZp˂rXQdQZ|drtAJvXnvpfHHAbے`JXQrlJtArd|nXv`ےbHAےbHAbdQZ|bdQZ|f`vXnr˂pZHAd|ZdQbtv`f~HfprXQJ`ےbrtAJltbdQpfH~f`vJXQr˂pZHAd|ZdQbtv`f~HfpbHAZpdtbdQtbdQvpfHpZHAbے`JbtlJtArdHfpvnXvےbHAZp˂tbdQZ|drf`vXnvppZHAbے`JbtlJtArdHfpvnXvےbHAZp˂tAJlXnvXnvHAbےtArd|ZdQbnXv`f~Hp˂rXQJ`ےdrtAJltvpfH~fے`JXQr˂ptArd|ZdQbnXv`fHfp˂rbdQZ|drtAdtAJdrtAvpfH~f˂pZے`rd|v`f~f~Hp˂rXQJ`ےdrtAJltvpfH~fے`JXQbtltArdfpvnXv`bHAZp˂rbdQZ|drtA`vXnvpfZHAbے`JXQlJtArv`pvHfpvQJ`ےےbHltbdQZ|~f`vXnr˂pZtAd|ZdQbtXv`f~Hf˂rXQJ`ےdrtAJltbvpfH~f``JXQr˂pZrd|ZdQbtf~HZp˂Zp˂drtAAJlXnv˂pZHAbے`dQbtlJtAr~HfpvnX`ےbHAZp˂tbdQZ|df`vXnv˂pZHAbے`dQbtlJtAr~HfpvnX˂rXQZ|dZ|d~f`ے`JXQr˂JtArd|ZdQnXv`f~Zp˂rXQJ`|drtAJlnvpfH~ے`JXQr˂JtArd|ZdQnXv`fHZp˂rbdQZtdrtApfH~p`vX`JXQr|ZdQbtlJf~HfpvXQJ`ےbHAZJltbdQZ|H~f`vXnr˂pZHAb|ZdQbtlJf~HpvnXQJ`ےdrtAJltltbJltH~f`vXnHAXQrJXQrZdQbtfvnfpvXQJ`ےbHAZJltbdQZ|H~f`vXnr˂pJtAd|ZdQbnXv`f~Hp˂rXQJ`ےdrtAJltvpfH~fے`JXQr˂pd|ZnXvnXvbHAZAZp˂dQZ|dtAJlvXn˂pZHAbےZdQbtlJtA~HfpvnJ`ےbHAZpltbdQZ|~f`vXn˂pZHAbےZdQbtlJtAfp`frXQJ`rXQHAZJlttbnpfH~bے`JXQrlJtArd|ZvnXv`fHAZp˂rXQJZ|drtAJlXnvpfH~bے`JXQrlJtArd|ZvnXv`fJ`ےrtAJlrtAJlvnvpXQr˂pZHAb|ZdQbtl`f~HfpvrXQJ`ےbHAtAJltbdQZfH~f`vXXQr˂pZHAb|ZdQbtl`f~fpvrXQJ`|ltJltvpnr˂˂pZtlJtArdfpvnXv`bHAZp˂rbdQZ|drtA`vXnvpfZHAbے`JXQtlJtArdfpvrXQJ`bHAZJltbdQZ|nvpbdQZ|`vXnvpf˂pZHA˂pZHAlJtAXv`fnXvf~bHAZp˂rbdQZ|dtAJ`vXnr˂pZHAb|ZdQbtlJf~HfpvXQJ`ےbHAZJltbdQZ|H~f`vXnr˂pZHAbdQbt`f~`f~rXQJ`rXQJ`drtAJtbnvpfHHAbے`JXQrlJtArd|pvnXv`fbHAZp˂rXQdQZ|drtAJvXnvpfHHAbے`JXQrlJtArd|~Hfےrp˂rbdQZ|vpfHf`vJXQr˂pZHAd|ZdQbtv`f~HfprXQJ`ےbrtAJltbdQpfH~f`vJXQr˂pZHAd|ZdQbtv`fHfpvbHAZptbdQtbdQfH~pZHAbے`JbtlJtArdHfpvnXvےbHAZp˂tbdQZ|drf`vXnvppZHAbے`JbtlJtArdHfpvnrXQJےbHAbdQZ|bdQZ|fH~pZAb`HAbےtArd|ZdQbnXv`f~Hp˂rXQJ`ےdrtAJltvpfH~fے`JXQr˂ptArd|ZdQbnXv`ےHAZp˂rbdQZ|drtA`vXnvpfvpfHAbےJA|Zrd|琕~HfpvnJ`ےbHAZpltbdQZ|~f`vXn˂pZHAbےZdQbtlJtA~HfvnrJ`ےdrtAJltbvpfH~f`HAXQrJXQrZQXb㉀`vXnvˍpfdrQtH~fH~f`JXQrdQbtZdQbJpvnXv`fbHAZp˂rXQdQZ|drtAJvXnvpfHHAbے`JXQrlJtArd|pvnXQJ`ےbHAZpltbdQZ|~f`vXn˂pZHA˂pZHAۑpJAHvˍpfH~ㅐfJlt`vXn`vXn˂pZlJtArtArdXv`f~Hf˂rXQJ`ےdrtAJltbvpfH~f``JXQr˂pZrd|ZdQbnXv`fHAZp˂rXQdQZ|drtAJvXnvpfHbے`bے`r󙐂ˁ`H~ㅐf۝`vXnbAdZ|vpff`HAbےd|Z|ZdQb~HfpvnJ`ےbHAZpltbdQZ|~f`vXn˂pZHAے`ZdQbtXv`f~Hf˂rXQJ`ےdrtAJltbvpfH~f`JXQrJXQrZQXAHr`vXnvˍpfdrQtHXnvXn`pZHAdQbttlJpvnXv`fbHAZp˂rXQdQZ|drtAJvXnvpfHHAbےJXQrblJtA~HfpvnJ`ےbHAZpltbdQZ|~f`vXn˂pZHA˂p`Zˁ`ZvˍpfH~ㅐfJltvpfHvpfHbے`lJtArtArdXv`f~Hf˂rXQJ`ےdrtAJltbvpfH~f``JXQrtlJrd|pvnXv`fbHAZp˂rXQdQZ|drtAJvXnvpfHb˂QXb㉀QXb㉀ەH~ㅐf۝`vXnbAdZ|~f`~f`JXQrZdQbt|ZdQb~HfpvnJ`ےbHAZpltbdQZ|~f`vXnr˂pZtAd|ZdQbtXv`f~Hf˂rXQJ`ےdrtAJltbvpfH~f`pZHAbpJAHrpJAHr`vXnvˍp|drQtvXnvXn˂pZHAlJttJArdpvnXv`fbHAZp˂rXQdQZ|dtAJlvXn˂pZHAbےZdQbtlJtA~HfpvnJ`ےbHAZpltbdQZ|~f`vXnے`Jˁ`Zˁ`ZvˍpfdrQtJltvpfHvp`vbے`Ard||ZdXv`f~Hf˂rXQJ`ےdrtAJtbnvpfHHAbے`JXQrlJtArd|pvnXv`fbHAZp˂rXQdQZ|drtAJvXnvpfHXQr˂QXb㉀QXb㉀H~ㅐfJltbAdZ|~vXnrJXQHAbZdQbtQbtl~HfpvnJ`ےbHAZpltbvpf~f``JXQr˂pZrd|ZdQbtXv`f~Hf˂rXQJ`ےdrtAJltbvpfH~f`pZHAbpJAHQXˁ`ZQX`vXnbAdZ|drQtpfH~˂p`Jے`JlJtJtArdpvnXv`fbHAZp˂rbdQZ|Hf`vXn˂pZHAbےZdQbtlJtA~HfpvnJ`ےbHAZpltbdQZ|~f`vXnے`pb㉀ۑpb㉀ۑpvˍpfdrQtJltf`vXQr˂XQr˂ArdZ|ZdXv`fHfp˂rXQdQZ|drtAJvXnvpfHHAbے`JXQrlJtArd|pvnXv`fbHAZp˂rXQdQZ|drtAJvXnvpfHZHAbJAHrJAHr󙐕H~ㅐfJltbAdZ|XnvpZHAbpZHAbQbtlQbtl~HfvnrJ`ےdrtAJltbvpfH~f``JXQr˂pZrd|ZdQbtXv`f~Hf˂rXQJ`ےdrtAJltbvpfH~f`ے`JXQˁ`ZQXˁ`ZQX`vXnbAdZ|drQtpfH~ے`Jے`JJtArdJAr|pvnXQJ`ےbHAZpltbdQZ|~f`vXn˂pZHAbےZdQbtlJtA~HfpvnJ`ےbHAZpltbdQZ|~f`vXnr˂pb㉀ۑpb㉀XnvˍpfdrQtJltf`pXQr˂XQr|ZdQZdQbnXv`fHAZp˂rXQdQZ|drtAJvXnvpfHHAbے`JXQrlJtArd|pvnXv`fbHAZp˂rXQdQZ|drtAJvXnvpfHZHAbJAHr󙐕vˍpfH~ㅐfJltbAdZ|fH~pZHAXQے`JXQbtlXv`f~Hf˂rXQJ`ےdrtAJltbvpfH~f``JXQr˂pZrd|ZdQbtXv`f~Hf˂rXQJ`ےdrtAJltbvpfH~f`ے`JXQۑpJH~ㅐf۝`vXnbAdZ|drQtf`vXr˂pr˂pJtArd~HfpvnJ`ےbHAZpltbdQZ|~f`vXn˂pZHAbےZdQbtlJtA~HfpvnJ`ےbHAZpltbdQZ|~f`vXnےHAbےAHr󙐂˝`vXnvˍpfdrQtJltnvpZHAbZHAb|ZQbpvnXv`fbHAZp˂rXQdQZ|drtAJvXnvpfHHAbے`JXQrlJtArd|pvnXv`fbHAZp˂rXQdQZ|dtAJlvXn`JXQr`JXQr`ZQXb㕀vˍpfH~ㅐfJltbAdZ|fH~ے`JXQے`JXQlJtAXv`f~Hf˂rXQJ`ےdrtAJltbvpfH~f``JXQr˂pZrd|ZdQbtXv`f~Hf˂rXQJ`ےdrtAJtbnvpfH˂pZ˂pZۑpJH~ㅐf۝`vXnbAdZ|drQtf`vXr˂pr˂prd|琕~HfpvnJ`ےbHAZpltbdQZ|~f`vXn˂pZHAbےZdQbtlJtA~HfpvnJ`ےbHAZpltbvpf~f`HAbےHAbےAHr󙐂˝`vXnvˍpfdrQtJltH~fZHAb`JXQrZdQbtpvnXv`fbHAZp˂rXQdQZ|drtAJvXnvpfHHAbے`JXQrlJtArd|pvnXv`fbHAZp˂rbdQZ|Hf`vXn`JXQr`JXQr`pJAHvˍpfH~ㅐfJltbAdZ|`vXn˂pZbtllJtAXv`f~Hf˂rXQJ`ےdrtAJltbvpfH~f``JXQr˂pZrd|ZdQbtXv`fHfp˂rXQdQZ|drtAJvXnvpfH˂pZے`r󙐂ˁ`H~ㅐf۝`vXnbAdZ|drQt \ No newline at end of file diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv38_2.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv38_2.dat deleted file mode 100644 index 8839d79ca9..0000000000 --- a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv38_2.dat +++ /dev/null @@ -1,337 +0,0 @@ -|{|{|{|{xwxwxwxwvuvuvuvu|{|{|{|{xwxwxwxwvuvuvuvu|{|{|{|{xwxwxwxwvuvuvuvu|{|{|{|{xwxwxwxwvuvuvuvu|{|{|{|{xwxwxwxwvuvuvuvu|{|{|{|{xwxwxwxwvuvuvuts|{|{|{|{xwxwxwxwtstststs|{|{|{|{xwxwxwxwtstststs|{|{|{|{xwxwxwxwtstststs|{|{|{|{xwxwxwxwtstststs|{|{|{|{xwxwxwxwtstststs|{|{|{|{xwxwxwxwtstststs|{|{|{|{xwxwxwxwtstststs|{|{|{|{xwxwxwxwtstststs|{|{|{|{xwxwxwxwtstststs|{|{|{|{xwxwxwxwtstststs|{|{|{|{xwxwxwxwtstststs~}|{|{|{|{xwxwxwxwtstststs~}~}~}~}|{|{|{|{xwxwxwxwtstststs~}~}~}~}|{|{|{|{xwxwxwxwtstststs~}~}~}~}|{|{|{|{xwxwxwxwtstststs~}~}~}~}|{|{|{|{xwxwxwxwtstststs~}~}~}~}|{|{|{|{xwxwxwxwtstststs~}~}~}~}|{|{|{|{xwxwxwxwtstststs~}~}~}~}|{|{|{|{xwxwxwxwtstststs~}~}~}~}|{|{|{|{xwxwxwxwtstststs~}~}~}~}|{|{|{|{xwxwxwxwtstststs~}~}~}~}|{|{|{zyxwxwxwxwtstststs~}~}~}~}zyzyzyzyxwxwxwxwtstststs~}~}~}~}zyzyzyzyxwxwxwxwtstststs~}~}~}~}zyzyzyzyxwxwxwxwtstststs~}~}~}~}zyzyzyzyxwxwxwxwtstststs~}~}~}~}zyzyzyzyxwxwxwxwtstststs~}~}~}~}zyzyzyzyxwxwxwxwtstststs~}~}~}~}zyzyzyzyxwxwxwxwtstststs~}~}~}~}zyzyzyzyxwxwxwxwtstststs~}~}~}~}zyzyzyzyxwxwxwxwtstststs~}~}~}~}zyzyzyzyxwxwxwvutstststs~}~}~}~}zyzyzyzyvuvuvuvutstststs~}~}~}~}zyzyzyzyvuvuvuvutstststs~}~}~}~}zyzyzyzyvuvuvuvutstststs~}~}~}~}zyzyzyzyvuvuvuvutstststs~}~}~}~}zyzyzyzyvuvuvuvutstststsrqrqrqrq~}~}~}~}zyzyzyzyvuvuvuvutstststsrqrqrqrq~}~}~}~}zyzyzyzyvuvuvuvutstststsrqrqrqrq~}~}~}~}zyzyzyzyvuvuvuvutstststsrqrqrqrq~}~}~}~}zyzyzyzyvuvuvuvutstststsrqrqrqrq~}~}~}~}zyzyzyzyvuvuvuvutststsrqrqrqrqrq~}~}~}~}zyzyzyzyvuvuvuvurqrqrqrqrqrqrqrq~}~}~}~}zyzyzyzyvuvuvuvurqrqrqrqrqrqrqrq~}~}~}~}zyzyzyzyvuvuvuvurqrqrqrqrqrqrqrq~}~}~}~}zyzyzyzyvuvuvuvurqrqrqrqrqrqrqrq~}~}~}~}zyzyzyzyvuvuvuvurqrqrqrqrqrqrqrq~}~}~}~}zyzyzyzyvuvuvuvurqrqrqrqrqrqrqrq~}~}~}~}zyzyzyzyvuvuvuvurqrqrqrqrqrqrqrq~}~}~}~}zyzyzyzyvuvuvuvurqrqrqrqrqrqrqrq~}~}~}~}zyzyzyzyvuvuvuvurqrqrqrqrqrqrqrq~}~}~}~}zyzyzyzyvuvuvuvurqrqrqrqrqrqrqpo~}~}~}~}zyzyzyzyvuvuvuvurqrqrqrqpopopopo~}~}~}|{zyzyzyzyvuvuvuvurqrqrqrqpopopopo|{|{|{|{zyzyzyzyvuvuvuvurqrqrqrqpopopopo|{|{|{|{zyzyzyzyvuvuvuvurqrqrqrqpopopopo|{|{|{|{zyzyzyzyvuvuvuvurqrqrqrqpopopopo|{|{|{|{zyzyzyzyvuvuvuvurqrqrqrqpopopopo|{|{|{|{zyzyzyzyvuvuvuvurqrqrqrqpopopopo|{|{|{|{zyzyzyzyvuvuvuvurqrqrqrqpopopopo|{|{|{|{zyzyzyzyvuvuvuvurqrqrqrqpopopopo|{|{|{|{zyzyzyzyvuvuvuvurqrqrqrqpopopopo|{|{|{|{zyzyzyzyvuvuvuvurqrqrqrqpopopopo|{|{|{|{zyzyzyxwvuvuvuvurqrqrqrqpopopopo|{|{|{|{xwxwxwxwvuvuvuvurqrqrqrqpopopopo|{|{|{|{xwxwxwxwvuvuvuvurqrqrqrqpopopopo|{|{|{|{xwxwxwxwvuvuvuvurqrqrqrqpopopopo|{|{|{|{xwxwxwxwvuvuvuvurqrqrqrqpopopopopopopopolklklklkhghghghgdcdcdcdcbabababa^]^]^]^]ZYZYZYZYVUVUVUVURQRQRQRQNMNMNMNMJIJIJIJIHGHGHGHGDCDCDCDC@?@?@?@?<;<;<;<;878787874343434321212121.-.-.-.-*)*)*)*)&%&%&%&%$#$#$#$#   - - - - popopopolkkkkkklhghghghgdcdcdcdcbabababa^]^]^]^]ZYZYZYZYVUVUVUVURQRQRQRQNMNMNMNMJIJIJIJIHGHGHGHGDCDCDCDC@?@?@?@?<;<;<;<;878787874343434321212121.-.-.-.-*)*)*)*)&%&%&%&%$#$#$#$# - - - - popopopoklklklklhghghghgdcdcdcdcbaba`_`_^]^]^]^]ZYZYZYZYVUVUVUVUQQQQQRQRNMNMNMNMJIJIJIJIHGHGHGHGDCDCDCDC@?@?@?@?<;<;<;<;878787874343434321212121.-.-.-.-*)*)*)*)&%&%&%&%$#$#$#$# - - - - popopopoklklklklhghghghgdcdcdcdc`_`_`_`_^]^]^]^]ZYZYZYZYVUVUVUVUQRQRQRQRNMNMNMNMJIJIJIJIHGHGHGHGDCDCDCDC@?@?@?@?<;<;<;<;777778784343434321212121.-.-.-.-*)*)*)*)&%&%&%&%$#$#$#$# - - - - popopopoklklklklhghghghgdcdcdcdc`_`_`_`_^]^]^]^]ZYZYZYZYVUVUVUVUQRQRQRQRNMNMNMNMJIJIJIJIHGHGHGHGDCDCDCDC@?@?@?@?<;<;<;<;787878784343434321212121.-.-.-.-*)*)*)*)&%&%&%&%"!"!"!"! - - - - popopopoklklklklhghghghgdcdcdcdc`_`_`_`_^]^]^]^]ZYZYZYZYVUVUVUVUQRQRQRQRNMNMNMNMJIJIJIJIHGHGHGHGDCDCDCDC@?@?@?@?<;<;<;<;787878784343434321212121.-.-.-.-*)*)*)*)&%&%&%&%"!"!"!"! - - - - popopopoklklklklhghghghgdcdcdcdc`_`_`_`_^]^]^]^]ZYZYZYZYVUVUVUVUQRQRQRQRNMNMNMNMJIJIJIJIHGHGHGHGDCDCDCDC@?@?@?@?<;<;<;<;78787878434343430/0/0/0/.-.-.-.-*)*)*)*)&%&%&%&%"!"!"!"! - - - - popopopokkkkkklkhghghghgdcdcdcdc`_`_`_`_^]^]^]^]ZYZYZYZYVUVUVUVUQRQRQRQQNMNMNMNMJIJIJIJIHGHGHGHGDCDCDCDC@?@?@?@?<;<;<;<;78787878434343430/0/0/0/.-.-.-.-*)*)*)*)&%&%&%&%"!"!"!"! - - - - popopopolklklklkhghghghgdcdcdcdc`_`_`_`_^]^]^]^]ZYZYZYZYVUVUVUVUQQQQRQRQNMNMNMNMJIJIJIJIHGHGHGHGDCDCDCDC@?@?@?@?<;<;<;<;78787877434343430/0/0/0/.-.-.-.-*)*)*)*)&%&%&%&%"!"!"!"! - - - - popopopolklklklkhghghghgdcdcdcdc`_`_`_`_^]^]^]^]ZYZYZYZYVUVUVUVURQRQRQRQNMNMNMNMJIJIJIJIHGFEFEFEDCDCDCDC@?@?@?@?<;<;<;<;77778787434343430/0/0/0/.-.-.-.-*)*)*)*)&%&%&%&%"!"!"!"! - - - - popopopolklklklkhghghghgdcdcdcdc`_`_`_`_^]^]^]^]ZYZYZYZYVUVUVUVURQRQRQRQNMNMNMNMJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?<;<;<;<;87878787434343430/0/0/0/.-.-.-.-*)*)*)*)&%&%&%&%"!"!"!"! - - - popopopolklklklkhghghghgdcdcdcdc`_`_`_`_^]^]^]^]ZYZYZYZYVUVUVUVURQRQRQRQNMNMNMNMJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?<;<;<;<;87878787434343430/0/0/0/.-.-.-.-*)*)*)*)&%&%&%&%"!"!"!"! popopopolklklklkhghghghgdcdcdcdc`_`_`_`_^]^]\[\[ZYZYZYZYVUVUVUVURQRQRQRQNMNMNMNMJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?<;<;<;<;87878787434343430/0/0/0/.-.-.-.-*)*)*)*)&%&%&%&%"!"!"!"! popopopokkkklklkhghghghgdcdcdcdc`_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVURQRQRQQQNMNMNMNMJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?<;<;<;<;87878787434343430/0/0/0/.-.-.-.-*)*)*)*)&%&%&%&%"!"!"!"! popopopolklkjijihghghghgdcdcdcdc`_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVUQQQRQRQRNMNMNMNMJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?<;<;<;<;87878777434343430/0/0/0/.-.-.-.-*)*)*)*)&%&%&%&%"!"!"!"! popopopojijijijihghghghgdcdcdcdc`_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVUQRQRQRQRNMNMNMNMJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?<;<;<;<;77787878434343430/0/0/0/.-.-.-.-*)*)*)*)&%&%&%&%"!"!"!"! popopopojijijijihghghghgdcdcdcdc`_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVUQRQRQRQRNMNMNMNMJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?<;<;<;<;78787878434343430/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%"!"!"!"! ponmnmnmjijijijihghghghgdcdcdcdc`_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVUQRQRQRQRNMNMNMNMJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?<;<;<;<;78787878434343430/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%"!"!"!"! nmnmnmnmjijijijihghghghgdcdcdcdc`_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVUQRQRQRQRNMNMNMNMJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?<;<;<;<;78787878434343430/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%"!"!"!"! nmnmnmnmjijijijihghghghgdcdcdcdc`_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVUQRQRQQQQNMNMNMNMJIJIJIJIFEFEFEFEDCBABABA@?@?@?@?<;<;<;<;78787878434343430/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%"!"!"!"! nmnmnmnmjijijijihghghghgdcdcdcdc`_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVUQQRQRQRQNMNMNMNMJIJIJIJIFEFEFEFEBABABABA@?@?@?@?<;<;<;<;78787777434343430/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%"!"!"!"! nmnmnmnmjijijijihghghghgdcdcdcdc`_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVURQPOPOPONMNMNMNMJIJIJIJIFEFEFEFEBABABABA@?@?@?@?<;<;<;<;77878787434343430/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%"!"!"!"! nmnmnmnmjijijijihghghghgdcdcdcdc`_`_`_`_\[\[\[\[ZYZYXWXWVUVUVUVUPOPOPOPONMNMNMNMJIJIJIJIFEFEFEFEBABABABA@?@?@?@?<;<;<;<;87878787434343430/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%"!"!"!"! nmnmnmnmjijijijihghghghgdcdcdcdc`_`_`_`_\[\[\[\[XWXWXWXWVUVUVUVUPOPOPOPONMNMNMNMJIJIJIJIFEFEFEFEBABABABA@?@?@?@?<;<;<;<;87878787434343430/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%"!"!"!"! nmnmnmnmjijijijihghgfefedcdcdcdc`_`_`_`_\[\[\[\[XWXWXWXWTSTSTSTSPOPOPOPONMNMNMNMJIJIJIJIFEFEFEFEBABABABA@?@?@?@?<;<;<;<;87878787434343430/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%"!"!"!"! nmnmnmnmjijijijifefefefedcdcdcdc`_`_`_`_\[\[\[\[XWXWXWXWTSTSTSTSPOPOPOPONMNMNMNMJIJIJIJIFEFEFEFEBABABABA@?@?@?@?<;<;<;<;87878787434343430/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%"!"!"!"! nmnmnmnmjijijijifefefefedcdcdcdc`_`_`_`_\[\[\[\[XWXWXWXWTSTSTSTSPOPOPOPONMNMNMNMJIJIJIJIFEFEFEFEBABABABA@?@?@?@?<;<;<;<;87877777434343430/0/0/0/,+,+,+,+('('('('&%&%&%&%"!"!"!"! nmnmnmnmjijijijifefefefedcdcdcdc`_`_`_`_\[\[\[\[XWXWXWXWTSTSTSTSPOPOPOPONMNMNMNMJIJIJIJIFEFEFEFEBABABABA@?@?@?@?<;<;<;<;87878787434343430/0/0/0/,+,+,+,+('('('('&%&%&%&%"!"!"!"! nmnmnmnmjijijijifefefefedcdcdcdc`_`_`_`_\[\[\[\[XWXWXWXWTSTSTSTSPOPOPOPONMNMNMNMJIJIJIJIFEFEFEFEBABABABA@?@?@?@?<;<;<;<;65656565434343430/0/0/0/,+,+,+,+('('('('&%&%&%&%"!"!"!"! nmnmnmnmjijijijifefefefedcdcdcdc`_`_`_`_\[\[\[\[XWXWXWXWTSTSTSTSPOPOPOPONMNMNMNMJIJIJIJIFEFEFEFEBABABABA@?>=>=>=<;<;<;<;65656565434343430/0/0/0/,+,+,+,+('('('('&%&%&%&%"!"!"!"! nmnmnmnmjijijijifefefefedcdcdcdc`_`_`_`_\[\[\[\[XWXWXWXWTSTSTSTSPOPOPOPONMNMNMNMJIJIJIJIFEFEFEFEBABABABA>=>=>=>=<;<;<;:965656565434343430/0/0/0/,+,+,+,+('('('('&%&%&%&%"!"!"!"! nmnmnmnmjijijijifefefefedcdcdcdc`_`_`_`_\[\[\[\[XWXWXWXWTSTSTSTSPOPOPOPONMLKLKLKJIJIJIJIFEFEFEFEBABABABA>=>=>=>=:9:9:9:965656565434343430/0/0/0/,+,+,+,+('('('('&%&%&%&%"!"!"!"! nmnmnmnmjijijijifefefefedcdcdcdc`_`_`_`_\[\[\[\[XWXWXWXWTSTSTSTSPOPOPOPOLKLKLKLKJIJIJIJIFEFEFEFEBABABABA>=>=>=>=:9:9:9:965656565434343430/0/0/0/,+,+,+,+('('('('&%&%&%&%"!"!"!"! nmnmnmnmjijijijifefefefedcdcdcdc`_`_`_`_\[\[\[\[XWXWXWXWTSTSTSTSPOPOPOPOLKLKLKLKJIJIJIJIFEFEFEFEBABABABA>=>=>=>=:9:9:9:965656565434343430/0/0/0/,+,+,+,+('('('('&%&%&%&%"!"!"!"!    nmnmnmnmjijijijifefefefedcdcbaba`_`_`_`_\[\[\[\[XWXWXWXWTSTSTSTSPOPOPOPOLKLKLKLKJIJIJIJIFEFEFEFEBABABABA>=>=>=>=:9:9:9:965656565434343430/0/0/0/,+,+,+,+('('('('&%&%&%&%"!"!"!"!    nmnmnmnmjijijijifefefefebabababa`_`_`_`_\[\[\[\[XWXWXWXWTSTSTSTSPOPOPOPOLKLKLKLKJIJIJIJIFEFEFEFEBABABABA>=>=>=>=:9:9:9:965656565434343430/0/0/0/,+,+,+,+('('('('&%&%&%&%"!"!"!"!    nmnmnmnmjijijijifefefefebabababa`_`_`_`_\[\[\[\[XWXWXWXWTSTSTSTSPOPOPOPOLKLKLKLKJIJIJIJIFEFEFEFEBABABABA>=>=>=>=:9:9:9:965656565434343430/0/0/0/,+,+,+,+('('('('$#$#$#$#"!"!"!"!    nmnmnmnmjijijijifefefefebabababa`_`_`_`_\[\[\[\[XWXWXWXWTSTSTSTSPOPOPOPOLKLKLKLKJIJIJIJIFEFEFEFEBABABABA>=>=>=>=:9:9:9:965656565434343430/0/0/0/,+,+,+,+('('('('$#$#$#$#"!"!      nmnmnmnmjijijijifefefefebabababa`_`_`_`_\[\[\[\[XWXWXWXWTSTSTSTSPOPOPOPOLKLKLKLKJIJIJIJIFEFEFEFEBABABABA>=>=>=>=:9:9:9:965656565212121210/0/0/0/,+,+,+,+('('('('$#$#$#$#        nmnmnmnmjijijijifefefefebabababa`_`_`_`_\[\[\[\[XWXWXWXWTSTSTSTSPOPOPOPOLKLKLKLKJIJIJIJIFEFEFEFEBABABABA>=>=>=>=:9:9:9:965656565212121210/0/0/0/,+,+,+,+('('('('$#$#$#$#        nmnmnmnmjijijijifefefefebabababa`_`_`_`_\[\[\[\[XWXWXWXWTSTSTSTSPOPOPOPOLKLKLKLKJIJIJIJIFEFEFEFEBABABABA>=>=>=>=:9:9:9:965656565212121210/0/0/0/,+,+,+,+('('('('$#$#$#$#        nmnmnmnmjijijijifefefefebabababa`_`_`_`_\[\[\[\[XWXWXWXWTSTSTSTSPOPOPOPOLKLKLKLKJIHGHGHGFEFEFEFEBABABABA>=>=>=>=:9:9:9:965656565212121210/0/0/0/,+,+,+,+('('('('$#$#$#$#        nmnmnmnmjijijijifefefefebabababa`_`_`_`_\[\[\[\[XWXWXWXWTSTSTSTSPOPOPOPOLKLKLKLKHGHGHGHGFEFEFEFEBABABABA>=>=>=>=:9:9:9:965656565212121210/0/0/0/,+,+,+,+('('('('$#$#$#$#        - nmnmnmnmjijijijifefefefebabababa`_`_`_`_\[\[\[\[XWXWXWXWTSTSTSTSPOPOPOPOLKLKLKLKHGHGHGHGFEFEFEFEBABABABA>=>=>=>=:9:9:9:965656565212121210/0/0/0/,+,+,+,+('('('('$#$#$#$#        - - - - nmnmnmnmjijijijifefefefebabababa`_`_^]^]\[\[\[\[XWXWXWXWTSTSTSTSPOPOPOPOLKLKLKLKHGHGHGHGFEFEFEFEBABABABA>=>=>=>=:9:9:9:965656565212121210/0/0/0/,+,+,+,+('('('('$#$#$#$#        - - - - nmnmnmnmjijijijifefefefebabababa^]^]^]^]\[\[\[\[XWXWXWXWTSTSTSTSPOPOPOPOLKLKLKLKHGHGHGHGFEFEFEFEBABABABA>=>=>=>=:9:9:9:965656565212121210/0/0/0/,+,+,+,+('('('('$#$#$#$#        - - - - nmnmnmnmjijijijifefefefebabababa^]^]^]^]\[\[\[\[XWXWXWXWTSTSTSTSPOPOPOPOLKLKLKLKHGHGHGHGFEFEFEFEBABABABA>=>=>=>=:9:9:9:965656565212121210/0/0/0/,+,+,+,+('('('('$#$#$#$#        - - - - nmnmnmnmjijijijifefefefebabababa^]^]^]^]\[\[\[\[XWXWXWXWTSTSTSTSPOPOPOPOLKLKLKLKHGHGHGHGFEFEFEFEBABABABA>=>=>=>=:9:9:9:965656565212121210/0/0/0/,+,+,+,+('('('('$#$#$#$#        - - - - nmnmnmnmjijijijifefefefebabababa^]^]^]^]\[\[\[\[XWXWXWXWTSTSTSTSPOPOPOPOLKLKLKLKHGHGHGHGFEFEFEFEBABABABA>=>=>=>=:9:9:9:96565656521212121.-.-.-.-,+,+,+,+('('('('$#$#$#$#        - - - - nmnmnmnmjijijijifefefefebabababa^]^]^]^]\[\[\[\[XWXWXWXWTSTSTSTSPOPOPOPOLKLKLKLKHGHGHGHGFEFEFEFEBABABABA>=>=>=>=:9:9:9:96565656521212121.-.-.-.-,+,+,+,+('('('('$#$#$#$#        - - - - nmnmnmlkjijijijifefefefebabababa^]^]^]^]\[\[\[\[XWXWXWXWTSTSTSTSPOPOPOPOLKLKLKLKHGHGHGHGFEFEFEFEBABABABA>=>=>=>=:9:9:9:96565656521212121.-.-.-.-,+,+,+,+('('('('$#$#$#$#        - - - - lklklkkkjijijijifefefefebabababa^]^]^]^]\[\[\[\[XWXWXWXWTSTSTSTSPOPOPOPOLKLKLKLKHGHGHGHGFEDCDCDCBABABABA>=>=>=>=:9:9:9:96565656521212121.-.-.-.-,+,+,+,+('('('('$#$#$#$#        - - - - kkklklkljijijijifefefefebabababa^]^]^]^]\[\[\[\[XWXWXWXWTSTSTSTSPOPOPOPOLKLKLKLKHGHGHGHGDCDCDCDCBABABABA>=>=>=>=:9:9:9:96565656521212121.-.-.-.-,+,+,+,+('('('('$#$#$#$#        - - - - klklklkljijijijifefefefebabababa^]^]^]^]\[\[\[\[XWXWXWXWTSTSTSTSPOPOPOPOLKLKLKLKHGHGHGHGDCDCDCDCBABABABA>=>=>=>=:9:9:9:96565656521212121.-.-.-.-,+,+,+,+('('('('$#$#$#$#        - - - - klklklkljijijijifefefefebabababa^]^]^]^]\[\[ZYZYXWXWXWXWTSTSTSTSPOPOPOPOLKLKLKLKHGHGHGHGDCDCDCDCBABABABA>=>=>=>=:9:9:9:96565656521212121.-.-.-.-,+,+,+,+('('('('$#$#$#$#        - - - - klklklkljijijijifefefefebabababa^]^]^]^]ZYZYZYZYXWXWXWXWTSTSTSTSPOPOPOPOLKLKLKLKHGHGHGHGDCDCDCDCBABABABA>=>=>=>=:9:9:9:96565656521212121.-.-.-.-,+,+,+,+('('('('$#$#$#$#        - - - - klklklkljijihghgfefefefebabababa^]^]^]^]ZYZYZYZYXWXWXWXWTSTSTSTSPOPOPOPOLKLKLKLKHGHGHGHGDCDCDCDCBABABABA>=>=>=>=:9:9:9:96565656521212121.-.-.-.-,+,+,+,+('('('('$#$#$#$#        - - - - klklkkkkhghghghgfefefefebabababa^]^]^]^]ZYZYZYZYXWXWXWXWTSTSRQRQPOPOPOPOLKLKLKLKHGHGHGHGDCDCDCDCBABABABA>=>=>=>=:9:9:9:96565656521212121.-.-.-.-,+,+,+,+('('('('$#$#$#$#        - - - - kklklklkhghghghgfefefefebabababa^]^]^]^]ZYZYZYZYXWXWXWXWRQRQQQQQPOPOPOPOLKLKLKLKHGHGHGHGDCDCDCDCBABABABA>=>=>=>=:9:9:9:96565656521212121.-.-.-.-*)*)*)*)('('('('$#$#$#$#        - - - - lklklklkhghghghgfefefefebabababa^]^]^]^]ZYZYZYZYXWXWXWXWRQRQRQRQPOPOPOPOLKLKLKLKHGHGHGHGDCDCDCDCBABABABA>=>=>=>=:9:9:9:96565656521212121.-.-.-.-*)*)*)*)('('('('$#$#$#$#        - - - - lklklklkhghghghgfefefefebabababa^]^]^]^]ZYZYZYZYXWXWXWXWRQRQRQRQPOPOPOPOLKLKLKLKHGHGHGHGDCDCDCDCBABABABA>=>=>=>=:9:9:9:96565656521212121.-.-.-.-*)*)*)*)('('('('$#$#$#$#        - - - - lklklklkhghghghgfefefefebabababa^]^]^]^]ZYZYZYZYXWXWXWXWRQRQRQRQPOPOPOPOLKLKLKLKHGHGHGHGDCDCDCDCBA@?@?@?>=>=>=>=:9:9:9:96565656521212121.-.-.-.-*)*)*)*)('('('('$#$#$#$#        - - - - lklklklkhghghghgfefefefebabababa^]^]^]^]ZYZYZYZYXWXWXWXWRQRQRQRQPOPOPOPOLKLKLKLKHGHGHGHGDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:96565656521212121.-.-.-.-*)*)*)*)('('('('$#$#$#$#        - - - - lklkkkkkhghghghgfefefefebabababa^]^]^]^]ZYZYZYZYXWXWXWXWRQRQRQRQPONMNMNMLKLKLKLKHGHGHGHGDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:96565656521212121.-.-.-.-*)*)*)*)('('('('$#$#$#$#        - - - - klklklklhghghghgfefefefebabababa^]^]^]^]ZYZYZYZYXWXWVUVURQQQQQQRNMNMNMNMLKLKLKLKHGHGHGHGDCDCDCDC@?@?@?@?>=>=>=>=:98787876565656521212121.-.-.-.-*)*)*)*)('('('('$#$#$#$#        - - - - klklklklhghghghgfefefefebabababa^]^]^]^]ZYZYZYZYVUVUVUVUQRQRQRQRNMNMNMNMLKLKLKLKHGHGHGHGDCDCDCDC@?@?@?@?>=>=>=>=877777786565656521212121.-.-.-.-*)*)*)*)('('('('$#$#$#$#        - - - - klklklklhghghghgfefedcdcbabababa^]^]^]^]ZYZYZYZYVUVUVUVUQRQRQRQRNMNMNMNMLKLKLKLKHGHGHGHGDCDCDCDC@?@?@?@?>=>=>=>=787878786565656521212121.-.-.-.-*)*)*)*)('('('('$#$#$#$#        - - - - klklklklhghghghgdcdcdcdcbabababa^]^]^]^]ZYZYZYZYVUVUVUVUQRQRQRQRNMNMNMNMLKLKLKLKHGHGHGHGDCDCDCDC@?@?@?@?>=>=>=>=787878786565656521212121.-.-.-.-*)*)*)*)('('('('$#$#$#$#        - - - - klklklklhghghghgdcdcdcdcbabababa^]^]^]^]ZYZYZYZYVUVUVUVUQRQRQRQRNMNMNMNMLKLKLKLKHGHGHGHGDCDCDCDC@?@?@?@?>=>=>=>=787878786565656521212121.-.-.-.-*)*)*)*)&%&%&%&%$#$#$#$#        - - - - klkkkkkkhghghghgdcdcdcdcbabababa^]^]^]^]ZYZYZYZYVUVUVUVUQRQRQRQRNMNMNMNMLKLKLKLKHGHGHGHGDCDCDCDC@?@?@?@?>=>=>=>=787878786565656521212121.-.-.-.-*)*)*)*)&%&%&%&%$#$#$#$#        - - - - lklklklkhghghghgdcdcdcdcbabababa^]^]^]^]ZYZYZYZYVUVUVUVUQQQQQQRQNMNMNMNMLKLKLKLKHGHGHGHGDCDCDCDC@?@?@?@?>=>=>=>=787878784343434321212121.-.-.-.-*)*)*)*)&%&%&%&%$#$#$#$#        - - - - lklklklkhghghghgdcdcdcdcbabababa^]^]^]^]ZYZYZYZYVUVUVUVURQRQRQRQNMNMNMNMLKLKLKLKHGHGHGHGDCDCDCDC@?@?@?@?>=<;<;<;777777874343434321212121.-.-.-.-*)*)*)*)&%&%&%&%$#$#$#$#    - - - - lklklklkhghghghgdcdcdcdcbabababa^]^]^]^]ZYZYZYZYVUVUVUVURQRQRQRQNMNMNMNMLKLKLKLKHGHGHGHGDCDCDCDC@?@?@?@?<;<;<;<;878787874343434321212121.-.-.-.-*)*)*)*)&%&%&%&%$#$#$#$#    - - - - lklklklkhghghghgdcdcdcdcbabababa^]^]^]^]ZYZYZYZYVUVUVUVURQRQRQRQNMNMNMNMLKJIJIJIHGHGHGHGDCDCDCDC@?@?@?@?<;<;<;<;878787874343434321212121.-.-.-.-*)*)*)*)&%&%&%&%$#$#$#$#    - - - - }}~~UUVVWWXX--..//00$$##""!! - - GGFFEEDDoonnmmllYYZZ[[\\11223344 - - CCBBAA@@kkjjiihh]]^^__``55667788 ??>>==<>??@@  77665544__^^]]\\iijjkkllAABBCCDD  - - 33221100[[ZZYYXX~~}}||mmnnooppEEFFGGHH - - //..--,,WWVVUUTT~~}}||{{zzyyxxqqrrssttIIJJKKLL!!""##$$++**))((SSRRQQPP{{zzyyxxwwvvuuttuuvvwwxxMMNNOOPP%%&&''((''&&%%$$OONNMMLLwwvvuuttssrrqqpoyyzz{{||QQRRSSTT))**++,, !"##$$% ##""!! KKJJIIHHssrrqqpp~~}}nmlkkjji}}~~UUVVWWXX--..//00 - - %&&''(() - - GGFFEEDDoonnmmll||{{zzyyihhggffe~~}}YYZZ[[\\11223344 )**++,,-CCBBAA@@kkjjiihhxxwwvvuueddccbba||{{zzyy]]^^__``55667788-..//001??>>==<>??@@5667789: 77665544__^^]]\\llkkjjiizzyyxxwwYXXWWVUTppoonnmmiijjkkllAABBCCDD##$$%%;<==>>?? !! - - 33221100[[ZZYYXXhhggffeevvuuttssSRQQPPOOllkkjjiimmnnooppEEFFGGHH&&''(())@@AABBCC""##$$%%//..--,,WWVVUUTT~~}}||ddccbbaarrqqkkjjNNMMLLKKhhggffeeqqrrssttIIJJKKLL**++,,--DDEEFFGG&&''(())++**))((SSRRQQPP{{zzyyxx``__^^]]iihhggffJJIIHHGGddccbbaauuvvwwxxMMNNOOPP..//0011HHIIJJKK**++,,--''&&%%$$OONNMMLLwwvvuutt\\[[ZZYYeeddccbbFFEEDDCC``__^^]]yyzz{{||QQRRSSTT22334455LLMMNNOO..//0011 ##""!! KKJJIIHHssrrqqppXXWWVVUUaa``__^^BBAA@@??\\[[ZZYY}}~~UUVVWWXX6677==>>PPQQRSTU22334455 - - GGFFEEDDoonnmmllTTSSRRQQ]]\\[[ZZ>>==<;:9XXWWVVUU~~}}YYZZ[[\\??@@AABBVWWXXYYZ66778899CCBBAA@@kkjjiihhPPOONNMMYYXXWWQQ87766554TTSSRRQQ||{{zzyy]]^^__``CCDDEEFFZ[[\\]]^::;;<<==??>>==<>??@@AA;;::9988ccbbaa``HHGGFFEELLKKJJII0//..--,LLKKJJIIttssrrqqeeffgghhKKLLMMNNbccddeefBBCCDDEE 77665544__^^]]\\DDCCBBAAHHGGFFEE,++**))(HHGGFFEEppoonnmmiijjkkllOOPPQQWWfgghhiijFFGGHHII !! - - 33221100[[ZZYYXX@@??>>==DDCCBBAA(''&&%%$DDCCBBAAllkkjjiimmnnooppXXYYZZ[[jkklmnopJJKKLLMM""##$$%%//..--,,WWVVUUTT<<;;::99@@??>>==$##"! @@??>>==hhggffeeqqrrsstt\\]]^^__qqrrssttNNOOPPQQ&&''(())++**))((SSRRQQPP8877665577665544<<;;::99ddccbbaauuvvwwxx``aabbccuuvvwwxxRRSSTTUU**++,,--''&&%%$$OONNMMLL443322113322110088776655``__^^]]yyzz{{||ddeeffggyyzz{{||VVWWXXYY..//0011 ##""!! KKJJIIHH00//..--//..--,,44332211\\[[ZZYY}}~~hhiijjkk}}~~ZZ[[\\]]22334455 - - GGFFEEDD,,++**))++**))((00//..--XXWWVVUU~~}}qqrrsstt^^__``aa66778899CCBBAA@@((''&&%%''&&%%$$ - -,,++**))TTSSRRQQ||{{zzyyuuvvwwxxbbccddee::;;<<==??>>==<<$$##""!!## ((''&&%%PPOONNMMxxwwvvuuyyzz{{||ffgghhii>>??@@AA;;::9988 $$##""!!LLKKJJIIttssrrqq}}~~jjkkllmmBBCCDDEE 77665544 - - HHGGFFEEppoonnmmnnooppqqFFGGHHII !! - - 33221100 DDCCBBAAllkkjjiirrssttuuJJKKLLMM""##$$%%//..--,, @@??>>==hhggffeevvwwxxyyNNOOPPQQ&&''(())++**))(( - - - -<<;;::99ddccbbaazz{{||}}RRSSTTUU**++,,--''&&%%$$ - -  88776655``__^^]]~~VVWWXXYY..//0011 ##""!! - -  - - 44332211\\[[ZZYYZZ[[\\]]22334455 - -  !!""##$$00//..--XXWWVVUU~~}}^^__``aa66778899%%&&''((,,++**))TTSSRRQQ||{{zzyybbccddee::;;<<==jjkkllmm##))**++,,((''&&%%PPOONNMMxxwwvvuuffgghhii>>??@@AAnnooppqq$$%%&&''--..//00$$##""!!LLKKJJIIttssrrqqjjkkllmmBBCCDDEE rrssttuu (())**++11223344 - - HHGGFFEEppoonnmmnnooppqqFFGGHHII !! - - vvwwxxyy!!""##$$,,--..//55667788 DDCCBBAAllkkjjiirrssttuuJJKKLLMM""##$$%%zz{{||}}%%&&''((0011223399::;;<<@@??>>==hhggffeevvwwxxyyNNOOPPQQ&&''(())~~))**++,,44556677==>>??@@<<;;::99ddccbbaazz{{||}}RRSSTTUU**++,,----..//00==>>??@@AABBCCDD 88776655``__^^]]~~VVWWXXYY..//0011 11223344AABBCCDDEEFFGGHH - - 44332211\\[[ZZYY~~}}~~}}||ZZ[[\\]]22334455 - - 55667788EEFFGGHHIIJJKKLL!!""##$$00//..--XXWWVVUU~~}}||{{zzyy{{zzyyxx^^__``aa6677889999::;;<>??@@MMNNOOPPQQRRSSTT))**++,,((''&&%%PPOONNMMxxwwvvuuttssrrqqssrrqqppffgghhii>>??@@AAAABBCCDDQQWWXXYYUUVVWWXX--..//00$$##""!!LLKKJJIIttssrrqqkkjjiihhoonnmmlljjkkllmmBBCCDDEEEEFFGGHHZZ[[\\]]YYZZ[[\\11223344 - - HHGGFFEEppoonnmmggffeeddkkjjiihhnnooppqqFFGGHHII !!IIJJKKLL^^__``aa]]^^__``55667788 DDCCBBAAllkkjjiiccbbaa``ggffeeddrrssttuuJJKKLLMM""##$$%%MMNNOOPPbbccddeeaabbccdd99::;;<<@@??>>==hhggffee__^^]]\\ccbbaa``vvwwxxyyNNOOPPQQ&&''(())QQRRSSTTffgghhiieeffgghh==>>??@@<<;;::99ddccbbaa[[ZZYYXX__^^]]\\zz{{||}}RRSSTTUU**++,,--UUVVWWXXjjkkqqrriijjkkllAABBCCDD 88776655``__^^]]WWQQPPOO[[ZZYYXX~~VVWWXXYY..//0011YYZZ[[\\ssttuuvvmmnnooppEEFFGGHH - - 44332211\\[[ZZYYNNMMLLKKWWVVUUTT~~}}||ZZ[[\\]]22334455]]^^__``wwxxyyzzqqrrssttIIJJKKLL!!""##$$00//..--XXWWVVUUJJIIHHGGSSRRQQPP{{zzyyxx^^__``aa66778899aabbccdd{{||}}~~uuvvwwxxMMNNOOPP%%&&''((,,++**))TTSSRRQQFFEEDDCCOONNMMLLwwvvuuttbbccddee::;;<<==eeffgghhyyzz{{||QQRRSSTT))**++,,((''&&%%PPOONNMMBBAA@@??KKJJIIHHssrrqqppffgghhii>>??@@AAiijjkkll}}~~UUVVWWXX--..//00$$##""!!LLKKJJII>>==7766GGFFEEDDoonnmmlljjkkllmmBBCCDDEEmmnnooppYYZZ[[\\11223344 - - HHGGFFEE55443322CCBBAA@@kkjjiihhnnooppqqFFGGHHII~~qqrrsstt]]^^__``55667788 DDCCBBAA1100//..??>>==<>==--,,++**;;::9988ccbbaa``vvwwxxyyNNOOPPQQyyxxwwvvyyzz{{||eeffgghh==>>??@@<<;;::99))((''&&77665544__^^]]\\zz{{||}}RRSSTTUUuuttssrr}}~~iijjkkllAABBCCDD 88776655%%$$##33221100[[ZZYYXX~~VVWWXXYYqqkkjjiimmnnooppEEFFGGHH - - 44332211//..--,,WWVVUUTT~~}}||ZZ[[\\]]hhggffeeqqrrssttIIJJKKLL!!""##$$00//..--++**))((SSRRQQPP{{zzyyxx^^__``aaddccbbaauuvvwwxxMMNNOOPP%%&&''((,,++**))''&&%%$$OONNMMLLwwvvuuttbbccddee``__^^]]yyzz{{||QQRRSSTT))**++,,((''&&%% ##""!! KKJJIIHHssrrqqppffgghhii\\[[ZZYYXXWWQQPPAA@@??>>bbaa``__wwxxyyzzOOPPQQRR00112233JJKKLLMM,,--..//%%$$##""MMLLKKJJuuttssrr||{{zzyyiijjkkllAABBCCDD  - - 33221100[[ZZYYXX~~OONNMMLL==<;:987^^]]\\[[{{||}}~~SSTTUUVV44556677NNOOPPQQ00112233 - - !! IIHHGGFFqqppoonnxxwwvvuummnnooppEEFFGGHH - - //..--,,WWVVUUTT~~}}||KKJJIIHH76655443ZZYYXXWWWWXXYYZZ==>>??@@RSTUVWWX44556677 EEDDCCBBmmllkkjjttssrrqqqqrrssttIIJJKKLL!!""##$$++**))((SSRRQQPP{{zzyyxxGGFFEEDD3221100/VVUUTTSS~~}}||{{[[\\]]^^AABBCCDDXYYZZ[[\8899::;;AA@@??>>iihhggffponmlkkjuuvvwwxxMMNNOOPP%%&&''((''&&%%$$OONNMMLLwwvvuuttCCBBAA@@/..--,,+RRQQPPOOzzyyxxww__``aabbEEFFGGHH\]]^^__`<<==>>??==<<;;::eeddccbbjiihhggfyyzz{{||QQRRSSTT))**++,, !"##$$% ##""!! KKJJIIHHssrrqqpp??>>==77+**))(('NNMMLLKKvvuuttssccddeeffIIJJKKLL`aabbccd@@AABBCC99887766aa``__^^~~}}||feeddccb}}~~UUVVWWXX--..//00 - - %&&''(() - - GGFFEEDDoonnmmll66554433'&&%%$$#JJIIHHGGrrqqppoogghhiijjMMNNOOPPdeeffgghDDEEFFGG - -55443322]]\\[[ZZ{{zzyyxxbaa``__^~~}}YYZZ[[\\11223344 )**++,,-CCBBAA@@kkjjiihh221100//#"! FFEEDDCCnnmmllkkkkllmmnnQQWWXXYYhiijjkklHHIIJJKK !!""## 1100//..YYXXWWVVwwvvuutt^]]\\[[Z||{{zzyy]]^^__``55667788-..//001??>>==<>==<<;;ffeeddccssttuuvv^^__``aassttuuvvPPQQRRSS(())**++))((''&&QQPPOONNjjiihhggUTSRQQPPttssrrqqeeffgghh==>>??@@5667789: 77665544__^^]]\\wwvvuutt&&%%$$##::998877bbaa``__wwxxyyzzbbccddeewwxxyyzzTTUUVVWW,,--..//%%$$##""MMLLKKJJffeeddccOONNMMLLppoonnmmiijjkkllAABBCCDD##$$%%;<==>>?? !! - - 33221100[[ZZYYXXssrrqqpp 66554433^^]]\\[[{{||}}~~ffgghhii{{||}}~~XXYYZZ[[00112233 - - !! IIHHGGFFbbaa``__KKJJIIHHllkkjjiimmnnooppEEFFGGHH&&''(())@@AABBCC""##$$%%//..--,,WWVVUUTT~~}}||oonnmmll - - 221100//ZZYYXXWWjjkkqqrr\\]]^^__44556677 EEDDCCBB^^]]\\[[GGFFEEDDhhggffeeqqrrssttIIJJKKLL**++,,--DDEEFFGG&&''(())++**))((SSRRQQPP{{zzyyxxkkjjiihh..--,,++VVUUTTSS~~}}||{{ssttuuvv``aabbcc8899::;;AA@@??>>ZZYYXXWWCCBBAA@@ddccbbaauuvvwwxxMMNNOOPP..//0011HHIIJJKK**++,,--''&&%%$$OONNMMLLwwvvuuttggffeedd**))((''RRQQPPOOzzyyxxwwwwxxyyzzddeeffgg<<==>>??==<<;;::QQPPOONN??>>==<;``__^^]]yyzz{{||QQRRSSTT22334455LLMMNNOO..//0011 ##""!! KKJJIIHHssrrqqppccbbaa`` - -&&%%$$##NNMMLLKKvvuuttss{{||}}~~hhiijjkk@@AABBCC99887766MMLLKKJJ:9877665\\[[ZZYY}}~~UUVVWWXX6677==>>PPQQRSTU22334455 - - GGFFEEDDoonnmmll__^^]]\\  - -""!! JJIIHHGGrrqqppoollmmnnooDDEEFFGG - -55443322IIHHGGFF54433221XXWWVVUU~~}}YYZZ[[\\??@@AABBVWWXXYYZ66778899CCBBAA@@kkjjiihh[[ZZYYXX FFEEDDCCnnmmllkkppqqrrssHHIIJJKK !!""## 1100//..EEDDCCBB100//..-TTSSRRQQ||{{zzyy]]^^__``CCDDEEFFZ[[\\]]^::;;<<==??>>==<>-,,++**)PPOONNMMxxwwvvuuaabbccddGGHHIIJJ^__``aab>>??@@AA;;::9988ccbbaa``~~}}||{{SSRRQQPP >>==<<;;ffeeddccxxyyzz{{PPQQRRSS(())**++))((''&&==776655)((''&&%LLKKJJIIttssrrqqeeffgghhKKLLMMNNbccddeefBBCCDDEE 77665544__^^]]\\zzyyxxwwOONNMMLL::998877bbaa``__||}}~~TTUUVVWW,,--..//%%$$##""44332211%$$##"! HHGGFFEEppoonnmmiijjkkllOOPPQQWWfgghhiijFFGGHHII !! - - 33221100[[ZZYYXXvvuuttssKKJJIIHH 66554433^^]]\\[[XXYYZZ[[00112233 - - !! 00//..--DDCCBBAAllkkjjiimmnnooppXXYYZZ[[jkklmnopJJKKLLMM""##$$%%//..--,,WWVVUUTTrrqqkkjjGGFFEEDD !!"" - - 221100//ZZYYXXWW\\]]^^__44556677 ,,++**))@@??>>==hhggffeeqqrrsstt\\]]^^__qqrrssttNNOOPPQQ&&''(())++**))((SSRRQQPPiihhggffCCBBAA@@##$$##$$%%&&..--,,++VVUUTTSS~~}}||{{``aabbcc8899::;;((''&&%%<<;;::99ddccbbaauuvvwwxx``aabbccuuvvwwxxRRSSTTUU**++,,--''&&%%$$OONNMMLLeeddccbb??>>==<<%%&&''((''(())****))((''RRQQPPOOzzyyxxwwddeeffgg<<==>>??$$##88776655``__^^]]yyzz{{||ddeeffggyyzz{{||VVWWXXYY..//0011 ##""!! KKJJIIHHaa``__^^;;::9988))**++,,++,,--..&&%%$$##NNMMLLKKvvuuttsshhiijjkk@@AABBCC 44332211\\[[ZZYY}}~~hhiijjkk}}~~ZZ[[\\]]22334455 - - GGFFEEDD]]\\[[ZZ77665544--..//00//001122 - -""!! JJIIHHGGrrqqppoollmmnnooDDEEFFGG - - - - 00//..--XXWWVVUU~~}}qqrrsstt^^__``aa66778899CCBBAA@@YYXXWWQQ332211001122334433445566 FFEEDDCCnnmmllkkppqqrrssHHIIJJKK !!""## ,,++**))TTSSRRQQ||{{zzyyuuvvwwxxbbccddee::;;<<==??>>==<>??@@AA;;::9988LLKKJJII++**))((>>??@@AA;;<<==>>>>==<<;;ffeeddccxxyyzz{{PPQQRRSS(())**++ - - $$##""!!LLKKJJIIttssrrqq}}~~jjkkllmmBBCCDDEE 77665544HHGGFFEE''&&%%$$BBCCDDEE??@@AABB::998877bbaa``__||}}~~TTUUVVWW,,--..// - - HHGGFFEEppoonnmmnnooppqqFFGGHHII !! - - 33221100DDCCBBAA##""!! FFGGHHIICCDDEEFF 66554433^^]]\\[[~~XXYYZZ[[00112233 - -  DDCCBBAAllkkjjiirrssttuuJJKKLLMM""##$$%%//..--,,@@??>>==JJKKLLMMGGHHIIJJ !!"" - - 221100//ZZYYXXWW~~}}||{{}}||{{zz\\]]^^__44556677  - - @@??>>==hhggffeevvwwxxyyNNOOPPQQ&&''(())++**))((77665544NNOOPPQQKKLLMMNN##$$%%&&..--,,++VVUUTTSS~~}}||{{zzyyxxwwyyxxwwvv``aabbcc8899::;;<<;;::99ddccbbaazz{{||}}RRSSTTUU**++,,--''&&%%$$33221100WWXXYYZZOOPPQQRR''(())****))((''RRQQPPOOzzyyxxwwvvuuttssuuttssrrddeeffgg<<==>>?? 88776655``__^^]]~~VVWWXXYY..//0011 ##""!! //..--,,[[\\]]^^SSTTUUVV++,,--..&&%%$$##NNMMLLKKvvuuttssrrqqkkjjqqppoonnhhiijjkk@@AABBCC - - 44332211\\[[ZZYYZZ[[\\]]22334455 - - ++**))(( __``aabbWWXXYYZZ//001122 - -""!! JJIIHHGGrrqqppooiihhggffmmllkkjjllmmnnooDDEEFFGG!!""##$$00//..--XXWWVVUU~~}}^^__``aa66778899''&&%%$$ - - ccddeeff[[\\]]^^33445566 FFEEDDCCnnmmllkkeeddccbbiihhggffppqqrrssHHIIJJKK !!""####$$%%&&%%&&''((,,++**))TTSSRRQQ||{{zzyybbccddee::;;<<==## - - gghhiijj__``aabb778899::BBAA@@??jjiihhggaa``__^^eeddccbbttuuvvwwLLMMNNOO$$%%&&''''(())**))**++,,((''&&%%PPOONNMMxxwwvvuuffgghhii>>??@@AAkkqqrrssccddeeff;;<<==>>>>==<<;;ffeeddcc]]\\[[ZZaa``__^^xxyyzz{{PPQQRRSS(())**++++,,--..--..//00$$##""!!LLKKJJIIttssrrqqjjkkllmmBBCCDDEE ttuuvvwwgghhiijj??@@AABB::998877bbaa``__YYXXWWQQ]]\\[[ZZ||}}~~TTUUVVWW,,--..////00112211223344 - - HHGGFFEEppoonnmmnnooppqqFFGGHHII !! - - xxyyzz{{kkllmmnnCCDDEEFF 66554433^^]]\\[[PPOONNMMYYXXWWVV~~XXYYZZ[[001122333344556655667788 DDCCBBAAllkkjjiirrssttuuJJKKLLMM""##$$%% ||}}~~ooppqqrrGGHHIIJJ !!"" - - 221100//ZZYYXXWWLLKKJJIIUUTTSSRR}}||{{zz\\]]^^__4455667777==>>??99::;;<<@@??>>==hhggffeevvwwxxyyNNOOPPQQ&&''(()) - - - - !!ssttuuvvKKLLMMNN##$$%%&&..--,,++VVUUTTSSHHGGFFEEQQPPOONNyyxxwwvv``aabbcc8899::;;@@AABBCC==>>??@@<<;;::99ddccbbaazz{{||}}RRSSTTUU**++,,-- ""##$$%%wwxxyyzzOOPPQQRR''(())****))((''RRQQPPOODDCCBBAAMMLLKKJJuuttssrrddeeffgg<<==>>??DDEEFFGGAABBCCDD 88776655``__^^]]~~VVWWXXYY..//0011 &&''(()){{||}}~~SSTTUUVV++,,--..&&%%$$##NNMMLLKK@@??>>==IIHHGGFFqqppoonnhhiijjkk@@AABBCCHHIIJJKKEEFFGGHH - - 44332211\\[[ZZYY~~}}~~}}||ZZ[[\\]]22334455 - - **++,,--WWXXYYZZ//001122 - -""!! JJIIHHGG77665544EEDDCCBBmmllkkjjllmmnnooDDEEFFGGLLMMNNOOIIJJKKLL!!""##$$00//..--XXWWVVUU~~}}||{{zzyy{{zzyyxx^^__``aa66778899..//0011[[\\]]^^33445566 FFEEDDCC33221100AA@@??>>iihhggffppqqrrssHHIIJJKKPPQQWWXXMMNNOOPP%%&&''((,,++**))TTSSRRQQ||{{zzyyxxwwvvuuwwvvuuttbbccddee::;;<<==##22334455__``aabb778899::BBAA@@??//..--,,==<<;;::eeddccbbttuuvvwwLLMMNNOOYYZZ[[\\QQRRSSTT))**++,,((''&&%%PPOONNMMxxwwvvuuttssrrqqssrrqqppffgghhii>>??@@AA$$%%&&''66778899ccddeeff;;<<==>>>>==<<;;++**))((99887766aa``__^^xxyyzz{{PPQQRRSS]]^^__``UUVVWWXX--..//00$$##""!!LLKKJJIIttssrrqqkkjjiihhoonnmmlljjkkllmmBBCCDDEE(())**++::;;<<==gghhiijj??@@AABB::998877''&&%%$$55443322]]\\[[ZZ||}}~~TTUUVVWWaabbccddYYZZ[[\\11223344 - - HHGGFFEEppoonnmmggffeeddkkjjiihhnnooppqqFFGGHHII !!,,--..//>>??@@AAkkllmmnnCCDDEEFF 66554433##1100//..YYXXWWVV~~XXYYZZ[[eeffgghh]]^^__``55667788 DDCCBBAAllkkjjiiccbbaa``ggffeeddrrssttuuJJKKLLMM""##$$%%00112233BBCCDDEEooppqqrrGGHHIIJJ !!"" - - 221100//--,,++**UUTTSSRR}}||{{zz\\]]^^__iijjkkqqaabbccdd99::;;<<@@??>>==hhggffee__^^]]\\ccbbaa``vvwwxxyyNNOOPPQQ&&''(())44556677FFGGHHIIssttuuvvKKLLMMNN##$$%%&&..--,,++))((''&&QQPPOONNyyxxwwvv``aabbccrrssttuueeffgghh==>>??@@<<;;::99ddccbbaa[[ZZYYXX__^^]]\\zz{{||}}RRSSTTUU**++,,--==>>??@@JJKKLLMMwwxxyyzzOOPPQQRR''(())****))((''%%$$##""MMLLKKJJuuttssrrddeeffggvvwwxxyyiijjkkllAABBCCDD 88776655``__^^]]WWQQPPOO[[ZZYYXX~~VVWWXXYY..//0011AABBCCDDNNOOPPQQ{{||}}~~SSTTUUVV++,,--..&&%%$$## !! IIHHGGFFqqppoonnhhiijjkkzz{{||}}mmnnooppEEFFGGHH - - 44332211\\[[ZZYYNNMMLLKKWWVVUUTT~~}}||ZZ[[\\]]22334455EEFFGGHHRRSSTTUUWWXXYYZZ//001122 - -""!!  - - EEDDCCBBmmllkkjjllmmnnoo~~qqrrssttIIJJKKLL!!""##$$00//..--XXWWVVUUJJIIHHGGSSRRQQPP{{zzyyxx^^__``aa66778899IIJJKKLLVVWWXXYY[[\\]]^^33445566 AA@@??>>iihhggffppqqrrssuuvvwwxxMMNNOOPP%%&&''((,,++**))TTSSRRQQFFEEDDCCOONNMMLLwwvvuuttbbccddee::;;<<==MMNNOOPPZZ[[\\]]__``aabb778899::==<<;;::eeddccbbttuuvvwwyyzz{{||QQRRSSTT))**++,,((''&&%%PPOONNMMBBAA@@??KKJJIIHHssrrqqppffgghhii>>??@@AAQQWWXXYY^^__``aaccddeeff;;<<==>> - - 99887766aa``__^^xxyyzz{{}}~~UUVVWWXX--..//00$$##""!!LLKKJJII>>==7766GGFFEEDDoonnmmlljjkkllmmBBCCDDEEZZ[[\\]]bbccddee~~}}||{{gghhiijj??@@AABB  - -55443322]]\\[[ZZ||}}~~YYZZ[[\\11223344 - - HHGGFFEE55443322CCBBAA@@kkjjiihhnnooppqqFFGGHHII^^__``aaffgghhiizzyyxxwwkkllmmnnCCDDEEFF  1100//..YYXXWWVV~~]]^^__``55667788 DDCCBBAA1100//..??>>==<>==--,,++**;;::9988ccbbaa``vvwwxxyyNNOOPPQQffgghhiinnooppqqrrqqponmssttuuvvKKLLMMNN##$$%%&&))((''&&QQPPOONNyyxxwwvveeffgghh==>>??@@<<;;::99))((''&&77665544__^^]]\\zz{{||}}RRSSTTUUjjkkqqrrrrssttuulkkjjiihwwxxyyzzOOPPQQRR''(())** !"#%%$$##""MMLLKKJJuuttssrriijjkkllAABBCCDD 88776655%%$$##33221100[[ZZYYXX~~VVWWXXYYssttuuvvvvwwxxyyhggffeed{{||}}~~SSTTUUVV++,,--.. - -#$$%%&&' - - !! IIHHGGFFqqppoonnmmnnooppEEFFGGHH - - 44332211//..--,,WWVVUUTT~~}}||ZZ[[\\]]wwxxyyzzzz{{||}}dccbbaa`WWXXYYZZ//001122 '(())**+ EEDDCCBBmmllkkjjqqrrssttIIJJKKLL!!""##$$00//..--++**))((SSRRQQPP{{zzyyxx^^__``aa{{||}}~~~~`__^^]]\~~}}||{{[[\\]]^^33445566+,,--../AA@@??>>iihhggffuuvvwwxxMMNNOOPP%%&&''((,,++**))''&&%%$$OONNMMLLwwvvuuttbbccddee\[[ZZYYXzzyyxxww__``aabb778899::/0011223==<<;;::eeddccbbyyzz{{||QQRRSSTT))**++,,((''&&%% ##""!! KKJJIIHHssrrqqppffgghhiiXWWVUTSRvvuuttssccddeeff;;<<==>>3445566799887766aa``__^^}}~~UUVVWWXX--..//00$$##""!! - - GGFFEEDDoonnmmlljjkkllmmQQPPOONNrrqqppoogghhiijj??@@AABB##789:;<== - -55443322]]\\[[ZZYYZZ[[\\11223344 - - CCBBAA@@kkjjiihhnnooppqqMMLLKKJJnnmmllkkkkllmmnnCCDDEEFF$$%%&&''>>??@@AA !!""## 1100//..YYXXWWVV~~]]^^__``55667788 ??>>==<>??@@  77665544__^^]]\\zz{{||}}bdQZ|vpfv`fp˂rH~ftlJp˂rfHfr˂pnXv`drtAJ˂pZpvndrtAJvpfHdrtAH~f~HfpbdQZ|`vXntArdXQJ`ے`vXnZHAbpvnltbHAbےXv`fltb~f`Jlt`vXnvnXdrtAvpf|ZdQbbHAZvpfے`JXQrXQJ`dQZ|`JXQr~HfdQZ|vXnbdQZ|vpfv`f~JltH~ftlJp˂rH~fr˂pAZp˂drtAJ˂pZpvndrtAJvpfHdrtAH~ffvnbdQZ|`vXntArdXQJ`ے`vXnZHAbrXQJltbHAbےXv`fltb~f`Jlt`vXnXv`fdrtAvpf|ZdQbbHAZvpfے`JXQ`ےbdQZ|`JXQr~HfdQZ|vXnrbdQZ|r˂p~HfJltH~ftlJp˂rH~fr˂pHAZp˂dtAJl˂pZpvndrtAJ˂pZdrtA`JXQrpvnbdQZ|`vXntArdXQJ`ے`vXnZHAےrXQJtbnHAbےXv`fltbHAbےJlt˂pZXv`fdrtAvpf|ZdQbbHAZvpf`JXQr`ےbAvpf`JXQr~HfdQZ|`JXQrbdQZ|HAbے~HfJltH~ftlJp˂rH~fbtlZrXHf`˂pZpvndrtAJ˂pZdrtA`JXQrvnXv`bdQZ|`vXntArdXQJ`ے`vXn|ZdQbQJ`ےvXnHAbےXv`fltbHAbےJlt˂pZf~HdrtAr˂p|ZdQbbHAZvpftlJbHAZpvpfH`JXQr~HfdQZ|`JXQrbdQZ|HAXQrfpvJltZHAbtlJp˂rH~ftArd˂rX~f`˂pZpvndrtAJ˂pZdrtA˂pZHAnXv`bdQZ|ے`JXQtArdXQJ`ے`vXn|ZdQbQJ`ےvXnHAbےXv`fltbHAbےJltbے`f~HdrtAr˂p|ZdQbbHAZvpftlJbHAZvpfH`JXQr~HfdQZ|`JXQrbdQZ|JXQrfpvnJltZHAbtlJp˂rH~ftAdQbtrXQJ`~f`˂pZpvndrtAJ˂pZdrtA˂pZHAv`fbdQZ|ے`JXQtArdXQJ`ے`vXnlJtAےbHAvXnHAے`Xv`fltbHAbےJltb˂~HfpdrtAr˂p|ZdQbbHAZvpfrd|Zp˂vpfHJXQrb~HfdQZ|`JXQrbdQZ|pZHAbvnXJltZHAbtlJp˂rH~fZdQbtrXQJ`~f`tlJpvndrtAJ˂pZdrtAے`Jv`fbdQZ|ے`JXQtArdXQJ`ے`vXnlJtAےbHAvXntAd|Xv`fltbHAbےJltXQr˂~HfpdrtAr˂p|ZdQbbHAZvpfrdtZprQvpfHZdQbt~HfdQZ|`JXQrbdQZ|pZHAbvnvJltZHAbnXv`p˂rH~flJtArJ`ے~f`lJtApvndrtAJ˂pZdrtAے`pf~HbdQZ|ے`JXQf~HXQJ`ے`vXnd|ZbHAZpvXnrd|Xv`fltbHAbےJltZHAbfpvdrtAr˂pfpvbHAZvpfdQbt璂rXQvpfHZdQbt~HfdQZ|`JXQrbdQZ|ے`JXQnXv`JltZHAbnXv`p˂rH~flJtArJ`ے~f`lJtApvndrtAJ˂pZdrtAr˂pf~HbdQZ|ے`JXQf~HXQJ`ے`vXnd|lbHAZpvXnrd|Xv`fltbHAbےJltZHAbfpvdrtAr˂pfpvbHAZvpfJtArdrQJvpfHZdQbtHfpdQZ|`JXQrbdQZ|ے`JXQnXvf~JltZHAbnXv`p˂rH~f|ZdQbHAZ~f`lJtAvnrdrtAJ˂pZdrtAHAbےHfpvbdQZ|ے`JXQf~HXQJ`ے`vXnbtlp˂rvXnrd|XQJ`ےltbHAbےJlt`JXQrnXvdrtAr˂pfpvbHAZvpfJtArdXQJ`ےvpfHZdQbtHAZpdQZ|`JXQrbdQZ|˂pZ`f~JltZHAbnXv`p˂rH~f|ZdQbHAZ~f`lJtA˂rXQdrtAJ˂pZdrtAHAbےHfpvbdQZ|ے`JXQf~HbdQZ|`vXntArdp˂rvXnrd|J`ےltbHAbےJlt`JXQrnXvdrtAr˂pfpvdrtAvpf|ZdQbXQJbHvpfHZdQbtbHAZpdQZ|`JXQrbdQZ|ے``frQJltZHAbnXv`JltH~ftlJAZp˂~f`lJtA˂rXQdrtAJ˂pZdrtAJXQrJHAZbdQZ|ے`JXQf~HbdQZ|`vXntArdrXQJ`vXnrd|J`ےltbHAbےJlt˂pZHAp˂rdrtAr˂pfpvdrtAvpf|ZdQbےbHvpfHZdQbtbHAZpdQZ|`JXQrbdQZ|bے`XQJ`ےJltZHAbnXv`JltH~ftd|AZp˂~f`lJtA˂rXQdtAJl˂pZdrtAJXQrbHAZbdQZ|ے`JXQf~HbdQZ|`vXnZdQbtrXQJ`vXnrd|J`ےtbnHAbےJlt˂p|Zp˂rdrtAr˂pfpvdrtAvpflJtAbAZpvpfHZdQbtbHAZpvpf`JXQrbdQZ|dQbtXQJ`ےJltZHAbnXv`JltH~frd|˂rb~f`lJtA˂rXQHf`˂pZ`vXnlJtArbHAZbdQZ|ے`JXQf~HbdQZ|`vXnZdQbtdQZ|vXnrd|J`ےvXnHAbےvpfd|Zp˂rdtAJr˂pfpvdrtAr˂pl|ZdrtAJvpfHZdQbtbHAZpvpfH`JXQrH~fdQbtXQJ`ےltbZHAbnXv`JltZHAbdQbnXltb~f`lJtA˂rXQ~f`˂pZZdQbt`vXnlJtAdQbHAZnvpے`JXQf~HbdQZ|ے`JXQv`pvdQZ|vXnrd|J`ےvXnHAbےlJtAvpfbtlp˂rfHfr˂pfpvdrtAr˂pnXvdrtAJvpfHZdQbtbHAZpvpfH`JXQrrd|H~fJtArdXQJ`ے`vXnZHAbnXv`JltZHAb`f~ltb~f`lJtA˂rXQ~f`˂pZZdQbt`vXn|ZdQbHAZvpfے`JXQf~HbdQZ|ے`JXQHfpvdQZ|vXnrd|J`ےvXnHAے`lJtAvpfbtlp˂rH~fr˂pfpvdrtAr˂pnXvdrtAJvpfHZdQbtbHAZpvpfHJXQrbrd|H~fJtArdXQJ`ے`vXnZHAbnXv`JltZHAb`fltb~f`lJtA˂rXQ~f`tlJZdQbt`vXntlJbHAZvpfے`JXQf~HbdQZ|ے`JXQnXv`dQZ|vXnrrd|J`ےvXntAd|lJtAvpftArdp˂rH~fr˂pfpvdrtAr˂pf~HdrtAJ˂pZZdQbtbHAZpvpfHZdQbtrd|H~f|ZdQbXQJ`ے`vXnZHAےnXv`JltZHAbfpvltbHAbےlJtA˂rXQ~f`lJtAZdQbt`vXntlJbHAZvpf`JXQrf~HbdQZ|ے`JXQnXv`dQZ|`JXQrrd|J`ےvXnrd|lJtAvpftArdp˂rH~fbtlfpvdrtAr˂pf~HdrtAJ˂pZZdQbtbHAZpvpfHZdQbtrd|H~f|lJtAXQJ`ے`vXnJtAdnXv`JltZHAbXv`fltbHAbےlJtA˂rXQ~f`lJtAZdQbt`vXnrd|bHAZvpf|ZdQbf~HbdQZ|ے`JXQ~HfdQZ|`JXQrrd|J`ےvXnrd|lJtAvpfZdQbtp˂rH~ftlJfpvdrtAr˂ppvndrtAJ˂pZZdQbtbHAZpvpfHZdQbtrd|H~flJtAXQJ`ے`vXntArdnXv`JltZHAbXv`fltbHAbےlJtA˂rXQ~f`lJtAZdQbn`vXnrd|bHAZvpf|ZdQbf~HbdQZ|ے`JXQ~HfdQZ|`JXQrrd|J`ےvXnrd|Xv`pvpfZdQtArp˂rH~ftlJfpvdrtAr˂pp`fdrtAJ˂pZZdQbnbHAZpvpfHZdQbtvnXH~fd|ZXQJ`ے`vXntArdnXv`JltZHAb~HfpltbHAbےXv`f˂rXQ~f`lJtAv`f`vXndQbt璐bHAZvpf|ZdQbfHfbdQZ|ے`JXQvnXdQZ|`JXQr~HfJ`ےvXnrd|~HfpvpflJtArp˂rH~ftlJpvndrtAr˂pv`fdrtAJ˂pZpvnbHAZpvpfHZdQbtvnXH~fd|ZXQJ`ے`vXntArdrXQJ`JltZHAb~HfpltbHAbےXv`f˂rXQ~f`lJtAv`f`vXndQbtdbHAZvpf|ZdQbےHAZbdQZ|ے`JXQv~dQZ|`JXQr~HfJ`ےvXnrd|nXvvpf|ZdQp˂rH~ftlJp˂rdrtAr˂pHfpvdrtAJ˂pZpvnbHAZpvpfHZdQbt`f~H~fbtlXQJ`ے`vXntArdXQJ`ےJltZHAbnXvltbHAbےXv`f˂rXQ~f`lJtAHfpv`vXnJtArdbHAZvpf|ZdQbbHAZbdQZ|ے`JXQ`f~dQZ|`JXQr~HfJ`ےvXnrd|nXvvpf|ZdQp˂rH~ftlJp˂rdrtAr˂pHfpvdrtAJ˂pZpvnbHAZpvpfHZdQbt`f~H~fbtlXQJ`ے`vXntArdXQJ`ےJltZHAbnXHltbHAbےXv`f˂rb~f`lJtAHXv``vXn|ZdQbbHAZvpf|ZdQbbHAZbdQZ|ے`JXQfpvdQZ|`JXQr~HfdQZ|vXnrd|f~HvpfnXv`p˂rH~ftlJp˂rdtAJr˂pnXv`drtAJ˂pZpvndrtAJvpfHZdQbtfpvH~ff~fpXQJ`ے`vXntArdXQJ`ےltbZHAbf~HltbHAbےXv`fltb~f`lJtAnXv``vXnvnXbHAZvpf|ZdQbbHAZnvpے`JXQfpvdQZ|`JXQr~HfdQZ|vXnrd|f~Hfp`ftAJlJXQr~Hfp`ےbXnvd|ZrXQJ`vpfH|ZdQ`ےHAtbdQZے`J`f~drtAے`JXQf~HXQJ`ے`vXntArdXQJ`ےJltlJtArXv`fltbHAbےXv`f˂rb~f`vˍpf~HftbQZd˂pZHAvnXHAZp˂pfH~dQbtےbHA~f`btlZp˂|drXQr˂HfpvJltr˂pfpvbHAZvpf|ZdQbbHAZbdQZ|d|ZHfpdQZ|`JXQr~HfdQZ|vXnH~ㅐfpvnrtAJlbے`v`frbdQf`vlJtArXQJ`ےvnvpJtArdrXQJ`tAJlpZHAbnXvbdQZ|ZHAbnXv`p˂rH~ftlJp˂rdtAJdQbtvnrdrtAJ˂pZpvndrtAJvpfH`vXnXv`ftbdJXQr~HfpZ|dXnvd|ZbHAZfH~|ZdQےbHAtbdQZے`J`f~dtbJQrf~HXQJ`ے`vXntArdXQJ`ےltblJtArXQJ`ےltbHAbےXv`fltb~f`vˍpf~HfQZ|d˂pZHAvnXrtAJlpfH~dQbtp˂rf`vXbtlZp˂|drXQr˂HfpvdQZ|pZHAfpvbHAZvpf|ZdQbbHAZnvpZdQbtHAZpdQZ|`JXQr~HfdQZ|vXnH~ㅐfpvrtAJlbے`v`ftbdQf`vlJtArXQJ`ےnvpJtArdrXQJ`tAJlpZHAbnXvdrtAJbے`nXv`p˂rH~ftlJp˂r`vXnlJt˂rXQdrtAJ˂pZpvndrtAJvpfH`vXn~HfptbdJXQr~HfpZ|dXnvd|ZbHAZfH~|ZdQےbHAtbdQZے`J`f~ltbJXQrf~HbdQZ|`vXntArdXQJ`ےvpfArd|J`ےltbHAbےXv`fltb~f`vˍpfvnXQZrtA˂pZHAvnXrtAJlpfH~dQbtp`ےf`vXnbtlZp˂|dtAXQr˂HfpvdQZ|pZHAfpvdrtAvpf|ZdQbbHAZH~fZdQbtbHAZpdQZ|`JXQr~HfdQZ|vXnH~ㅐfv`fJltbے`v`ftbdQf`vlJtArbHAZpvfH~JtArdrXQJ`JltpZHAbnXvdrtAdQbے`JnXv`JltH~ftlJp˂r`vXnlJt˂rXQdrtAJ˂pZpvndrtAJvpfH`vXn~HfpbdQZ|JXQr~HfpZ|dXnvd|Z˂rXQf`v|ZdQےbHAbnvے`J`f~Z|dQrpZf~HbdQZ|`vXntArdXQJ`ےvpfArdZJ`ےltbHAbےXv`fltb~f`vˍpfvnXdrtA˂pZHAvnXrtAJlpfH~dQbtJ`ےXnvbtlZp˂pfHXQr˂HfpvrtAJlHAbےfpvdrtAvpf|ZdQbbHAZHXnQbtlbHAZpdQZ|`JXQr~HfdQZ|vXnےH~ㅐfHfpvJltbے`v`ftbdQf`vlJtArbHAZppfH~JtArdrXQJ`f`vXpZHAbnXvtbdQ`JXQrnXv`JltH~ftlJp˂rvpfHJtArd˂rXQdtAJl˂pZpvndrtAJ`JXQr`vXnnXvbdQZ|JXQr~HfpZ|dXnrd|Z˂bf`v|ZdQےbHAnvpے`J`f~Z|d˂pZf~HbdQZ|`vXntArdXQJ`ے~f`|ZdQJ`ےtbnHAbےXv`fltb˂pZvˍpf`f~AJl˂pZHAvnXrtAJl˂pZHAdQbtHAZp˂XnvbtlZp˂fH~XQr˂HfpvrtAJlHAbےfpvdrtAvpf|ZdQbbHAZvXnbtlbHAZpvpf`JXQr~HfdQZ|HAbےH~ㅐfHfpvtbnbے`v`ftbdQbے`lJtArrXQJf~f`JtArdrXQJ`f`vXpZHAbnXv|dr`JXQrnXv`JltH~ftlJp˂rvpfHJtArd˂rXQHf`˂pZpvndrtAJ`JXQr`vXnnXvvpfHJXQr~HfpZ|dJXQrd|Z`ےbvXn|ZdQےbHAnvpے`J`f~tAJl璂ZHAbf~HbdQZ|`vXntArdXQJ`ے~v|ZQbJ`ےvXnHAbےXv`fltb˂pZvˍpf`pvf`v˂pZHAvnXrtAJl˂pZHAdQbtHAZp˂vpfHbtlZp˂fH~XQr˂HfpvtbdQZے`JXfpvdrtAr˂p|ZdQbbHAZpfH~lJtAbHAZpvpfH`JXQr~HfdQZ|HAXQrH~ㅐfnrXQJXnvbے`v`ftbdQbے`lJtArrXQHA~f`JtArdrXQJ`f`vXpZHAnXv|drQr˂pnXv`JltZHAbtlJp˂rf`vrd|˂rXQ~f`˂pZpvndrtAJ˂pZHA`vXn`p˂pfH~JXQr~HfpZ|dJXQrd|ZZp˂vXn|ZdQےbHAnvpے`JXQ`f~tAJl璑ZHAbf~HbdQZ|ے`JXQtArdXQJ`ےXnvZdQbtJ`ےvXnHAbےXv`fltbbے`vˍpfrXQJ`f`v˂pZHAvnXrtAJl˂pZHAdQbtrXQJ`vpf~btlZp˂fH~rbtHfpvtdrtAے`JXfpvdrtAr˂p|ZdQbbHAZpfH~lJtAbHAZpvpfH`JXQr~HfdQZ|JXQrH~ㅐfےbHAXnvbے`v`ftbdQbے`lJtArےbHAf`vXJtArdrXQJ`f`vXlJtAdnXvJltQrZnXv`JltZHAbtlJp˂rf`prd|˂rXQ~f`˂pZpvndrtAJ˂pZHA`vXnZp˂pfH~JXQr~HfpZ|dJXQrd|ZZp˂nr˂|ZdQےbHAnvp|ZdQ`f~bdQZ|Abے`f~HbdQZ|ے`JXQtArdXQJ`ےfH~ZdQbJJ`ےvXnHAے`Xv`fltbb˂vˍpfrXQJ`f`v˂pZHAvnXrtAJl˂pZHAdQbnXrXQJ`pZHAbbtlZp˂fH~btlHfpvdrtAJXQrfpvdrtAr˂p|ZdQbbHAZf`vXtArdbHAZpvpfHJXQrb~HfdQZ|pZHAbH~ㅐfےrXnvے`Jv`ftbdQbے`v`fp˂rے`JJtArdrXQJ`f`vXJtArdnXvJlt˂pZHAnXv`JltZHAbtlJp˂rnvp|ZdQb˂rXQ~f`tlJpvndrtAJے`J`vXnXQJ`ےpfH~XQrbt~HfpZ|dJXQr~HfpbdQZ|XQr˂|ZdQےbHAnvp|ZdQ`f~bdQtAJbے`f~HbdQZ|ے`JXQtArdXQJ`ےfH~tlJJ`ےvXntAd|Xv`fltbXQr˂vˍpfbHAZf`vlJtAvnXrtAJl˂pZHAvnXltbpZHAbbtlZp˂fH~btlHfpvltbJXQrfpvdrtAr˂p|ZdQbbHAZf`vXtArdbHAZpvpfHZdQbt~HfdQZ|pZHAbH~ㅐfp˂rXnvd|Zv`ftbdQbے`v`fdQZ|ے`JJtArdrXQJ`f`vXJtArdnXvdQZ|˂pZAnXv`JltZHAbnXv`p˂rH~f|ZdQb˂rXQ~f`lJtApvndrtAJے`p`vXnXQJ`ےpfH~dQbt~HfpZ|dJXQr~HfpdrtAJXQr˂|ZdQےbHAnvp|ZdQ`fHdrtAJ`JXQrf~HbdQZ|ے`JXQf~HXQJ`ے`vXntJArdJ`ےvXnrd|Xv`fltbZHAbvˍpfbHAXQf`vlJtArvnXrtAJl˂pZHAvnXltbpZHAbbtlZp˂fH~btlfpvltbbtlfpvdrtAr˂pfpvbHAZvpf|ZdbHAZpvpfHZdQbt~HfdQZ|ے`JXQH~ㅐfJ`ےXnvd|Zv`ftbdQbے`v`fdQZ|ے`JJtArdrXQJ`f`vXJtArdnrXQJdQZ|lJtAdnXv`JltZHAbnXv`p˂rH~fQbtl˂rXQ~f`lJtApvndrtAJr˂p`vXnbHAZppfH~dQbt~HfpZ|dJXQr~HfpdtbdQXQr˂|ZdQےbHAnvp|ZdQ`ےHAtbn|ZdQbf~HbdQZ|ے`JXQf~HXQJ`ے`vXnJtArdJ`ےvXnrd|Xv`fltbZHAbvˍpf˂rXQf`vlJtArvnXrtAJl˂pZHAvnXZ|dpZHAbbnXvZp˂fH~btlZp˂vp`tlJfpvdrtAr˂pfpvbHAZf`|ZdbHAZpvpfHZdQbtHfpdQZ|ے`JXQH~ㅐfJ`ےXnvd|Zv`ftbdQbے`v`frtAJlے`J`f~rXQJ`f`vXJtArdrXQJ`vXntArdnXv`JltZHAbnXv`p˂rvXnQbtl˂rXQ~f`lJtAvnrdrtAJHAbے`vXnbHAZppfH~dQbtHfpvZ|dJXQr~HfptbdQXQr˂HfpvےbHAnvp|ZdQےbHAvpfH|ZdQbf~HbdQZ|ے`JXQf~HXQJ`ےvpfHJAr|J`ےvXnrd|XQJ`ےltb`JXQrvˍpf`ےbf`vlJtArnrXQrtAJl˂pZHAvnXZ|dpZHAbnXvZp˂fH~btlZp˂~f`tlJfpvdrtAr˂pfpvbHAZ~f`ZdQbnbHAZpvpfHZdQbtHAZpdQZ|˂pZH~ㅐfHAZp˂Xnvd|ZJ`ےtbdQbے`v`frtAdQZے`J`f~rXQJ`f`vXJtArdrXQJ`vXntArdnXv`JltZHAbnXv`p˂rvXnXv`f˂rXQ~f`lJtA˂rXQdrtAJHAbے`vXnrXQJpfH~dQbtHAZp˂Z|dJXQr~Hfp|drXQr˂HfpvےbHAnvp|ZdQےbHAvpfH|ZdQbfHfbdQZ|ے`JXQf~HbdQZ|vp`v~HfJ`ےvXnrd|J`ےltb`JXQrvˍp|`ےbf`vlJtArrXQJrtAJl˂pZHAvnXtAJlpZHAbnXvZp˂fH~btlZp˂XnvtlJpvndrtAr˂pfpvdrtAXnrpvnbHAZpvpfHZdQbtbHAZpdQZ|ے`drQtHAZp˂Xnvd|Z`ےbtbdQbے`v`ftbdQZے`J`f~rXQJ`f`vXJtArdrXQJ`pfH~tArdrXQJ`JltZHAbnXv`Jlt˂p`JXv`f˂rXQ~f`lJtA˂rXQdrtAJJXQrJltbHApfH~dQbtHAZp˂Z|dJXQr~Hfp|drXQr˂HfpvےbHAnvp|ZdQےbHAf`v|ZdQbےHAZbdQZ|ے`JXQf~HbdQZ|XQr˂~HfJ`ےvXnrd|J`ےltb˂pZHAbAdZ|Zp˂f`vlJtArrXQJrtAJl˂pZHAvnXtAJl|pZHAbnXvZp˂fH~btlZp˂XnvtlJp˂rdrtAr˂pfpvdrtApZHAbpvnbHAZpvpfHZdQbtbHAZpdQZ|bے`drQtrXQJ`Xnvd|Z`ےbtbdQbے`v`fdrtAے`J`f~rbdQZf`vXJtArdrXQJ`pfH~tArdXQJ`ےJltZHAbnXv`Jltے`JXv`f˂rXQ~f`lJtA˂rXQdtAJlJXQrJltےbHApfH~dQbtHAZp˂Z|dJXQr~HfpJltXQr˂Hfpv|drnvp|ZdQےbHAvp|ZdQbbHAZbdQZ|ے`JXQf~HbdQZ|XQr˂~HfJ`ےvXnrd|J`ےtbn˂p`ZbAdZ|Zp˂f`vlJtArrXQJtAJl˂pZHAvnXbdQZ|pZHAbnXvtAJlfH~btlZp˂fH~tlJp˂rdrtAr˂pfpvdrtApZHAXQpvnbHAZpvpfHZdQbtbHAZpvpfQXb㉀ۂdrQtrXQHAZXnvd|Z`ےbtbnbے`v`fdrtAے`J`f~tbdQZf`vXJtArdrXQJ`f`vXtArdXQJ`ےJltZHAbnXv`Jltr˂pXv`f˂rb~f`lJtA˂rXQHf`pJAHrJltp˂rpfH~dQbtHAZp˂vpfHJXQr~HfpJltXQr˂Hfpv|drnvp|ZdQےbHAnvp|ZdQbbHAZbdQZ|ے`JXQf~HbdQZ|ZHAb~HfdQZ|vXnrd|J`ےvXnˁ`ZbAdZ|XQJ`ےf`vlJtArrXQJf`v˂pZHAvnXdrtAJpZHAbnXvtAJlfH~btlZp˂fH~tlJp˂rdtAJr˂pfpvdrtAے`JXQpvndrtAJvpfHZdQbtbHAZpvpfHQXb㉀ۂdrQtbHAZXnvd|Z`ےbXnvbے`v`fltbے`J`f~tbdQZf`vXJtArdrXQJ`f`pftArdXQJ`ےltbZHAbnXv`Jltr˂pXv`fltb~f`lJtA˂rXQ~f`pJAHQXJltp˂rpfH~dQbtHAZp˂pfH~JXQr~HfpdQZ|XQr˂Hfpv|drnvp|ZdQےbHAH~f|ZdQbbHAZnvpے`JXQf~HbdQZ|ZHAb~HfdQZ|vXnrd|J`ےvXnb㉀ۑpbAdZ|XQJ`pf`vlJtArrXQJf`v˂pZHAvnXdrtAJpZHAbnXvtAJlfH~btlZp˂`vXntlJp˂rfHfr˂pfpvdrtA˂pZpvndrtAJvpfHZdQbtbHAZpvpfHJAHr󙐂drQt˂rbXnvd|Z`ےbXnvbے`v`fltbے`J`f~tbdQZf`vXJtArdrXQJ`vpftArdXQJ`ے`vXnZHAbnXv`JltHAbےXv`fltb~f`lJtA˂rXQ~f`ˁ`ZQXJltdQZ|pfH~dQbtHAZp˂pfH~JXQr~HfpdQtAJlXQr˂Hfpv|drnr˂|ZdQےbHAH~f|ZdQbbHAZvpfے`JXQf~HbdQZ|`JXQr~HfdQZ|vXnrd|J`ےvXnb㉀ۑpbAdZ|rAJltf`vlJtArrXQJf`v˂pZHAvnXtbdQpZHAbnXvtAJlpZHAbbtlZp˂`vXHtlJp˂rH~fr˂pfpvdrtA˂pZpvndrtAJvpfHZdQbtbHAZpvpfHJAHr󙐂drQtbdQZ|Xnvd|Z`ےbXnvے`Jv`fZ|dے`J`f~tbdQZے`JJtArdrXQJ`~f`tArdXQJ`ے`vXnZHAbnXv`JltHAbےXv`fltb~f`lJtA˂rXQ~f`ۑpJJltdrtpfH~dQbtHAZp˂pfH~XQrbt~HfprtAJlXQr˂Hfpv|drXQr˂|ZdQےbHAvXn|ZdQbbHAZvpfے`JXQf~HbdQZ|`pZHA~HfdQZ|vXnrrd|J`ےvXnAHr󙐂bAdZ|AJltf`vlJtArrXQJf`vlJtAvnXtbdQpZHAbnXvtAJlpZHAbbtlZp˂vpfHtlJp˂rH~fr˂pfpvdrtAbے`pvndrtAJ˂pZZdQbtbHAZpvpfH`ZQXbdrQtbdQZ|Xnrd|Z`ےbXnvd|Zv`fZ|l璐ے`J`f~tbdQZے`JJtArdrXQJ`~f`tArdXQJ`ے`vXnZHAےnXv`JltJXQrXv`fltbHAbےlJtA˂rXQ~f`ۑpJJltdrAJ˂pZHAdQbtHAZp˂pfH~dQbt~HfptbnXQr˂Hfpv|drXQr˂|ZdQےbHAvXn|ZdQbbHAZvpf`JXQrf~HbdQZ|˂pZHA~HfdQZ|`JXQrrd|J`ےvXnAHr󙐂bAdZ|tbdQbے`lJtArrXQJf`vlJtArvnXvpffpZHAbnXvtAJlpZHAbbtlZp˂f`vtlJp˂rH~fbtlfpvdrtAbے`pvndrtAJ˂pZZdQbtbHAZpvpfH`pJAHdrQtZ|dJXQrd|Z`ےbXnvd|Zv`f`vXnے`J`f~tbdQZے`JJtArdrXQJ`XnvtArdXQJ`ے`vXnJtAdnXv`JltJXQHAbXv`fltbHAbےlJtA˂rXQ~f`r󙐂ˁ`JltrtAJl˂pZHAdQbtHAZp˂pfH~dQbt~HfpvpfXQr˂Hfpv|drXQr˂|ZdQےbHApfH~|ZdQbbHAZvpf|ZdQbf~HbdQZ|ے`J~HfdQZ|`JXQrrd|J`ےvXnZQXb㉀bAdZ|tbdQbے`lJtArrXQJf`vlJtArvnXH~fpZHAnXvtAJlpZHAbbnXvZp˂f`vtlJp˂rH~ftlJfpvdrtAXQr˂pvndrtAJ˂pZZdQbtbHAZpvpfHۑpJAHdrQtZ|dJXQrd|Z`ےbXnvd|Zv`f`vXnے`JXQ`f~tbdQZے`J`f~rXQJ`XnvtArdXQJ`ے`vXntArdnXv`JltpZHAbXv`fltbHAbےlJtA˂rXQ~f`r󙐂ˁ`JltrtAJ˂pZHAdQbtHAZp˂pfH~dQbtHfpvvpfrbtHfpv|drXQr˂HfpvےbHAp`vX|ZdQbbHAZvpf|ZdQbf~HbdQZ|ے`J~HfdQZ|`JXQrrd|J`ےvXnZQXAHrbAdZ|bdQZ|bے`lJtArrXQJf`vlJtArnrXQH~fvXlJtAdnXvtAJlpZHAbnXvZp˂nr˂tlJp˂rH~ftlJfpvdrtAXQrpvndrtAJ˂pZZdQbnbHAZpvpfHˁ`ZdrQtdrtAJXQrd|Z`ےbXnvd|ZJ`p˂nvp|ZdQ`f~tbdQZے`J`f~rXQJ`pZAb`tArdXQJ`ے`vXntArdnXv`Jltے`JXQXv`fltbHAbےXv`f˂rXQ~f`QXb㉀JltJlt˂pZHAdQbnXHAZp˂pfH~dQbt璀rXQJfH~btlHfpv|drXQr˂HfpvےbHAJXQr|ZdQbbHAZvpf|ZdQbfHfbdQZ|r˂p~HfdQZ|`JXQr~HfJ`ےvXnpJAHrbAdZ|bdQZ|bے`v`frXQJf`vlJtAr`ےbf`vXJtArdnXvtAJlpZHAbnXvZp˂˂pZHtlJp˂rH~ftlJpvndrtAZHAbpvndrtAJ˂pZpvnbHAZpvpfHˁ`ZdrQtdrtAJXQr~Hfp`ےbXnvd|ZHAZp˂nvp|ZdQ`f~tbdQZے`J`f~rXQJ`Abے`tArdXQJ`ے`vXntArdrXQJ`Jltے`JXQXv`fltbHAbےXv`f˂rXQ~f`QXb㉀JltJlbQZ˂pZHAvnXHAZp˂pfH~dQbt璀rXQJfH~btlHfpv|drXQr˂HfpvےbHAJXQr|ZdQbbHAZvpf|ZdQbےHAZbdQZ|r˂p~HfdQZ|`JXQr~HfJ`ےvXnˁ`ZQXbAdZ||drbے`v`frXQJf`vlJtAr`ےfvnJtArdnXvtAJlpZHAbnXvZp˂˂pZHnXv`p˂rH~ftlJp˂rdrtA`JXQrpvndrtAJ˂pZpvnbHAZpvpfHb㉀ۑpdrQttAJlJXQr~Hfp`ےbXnvd|ZrXQJ`vpfH|ZdQ`fHtbdQZے`J`f~rbdQZAbJXQf~HXQJ`ے`vXntArdXQJ`ےJltbtlXv`fltbHAbےXv`f˂rXQ~f`JAHrJlttbdQZ˂pZHAvnXHAZp˂pfH~dQbtےbHA~f`btlfpv|drXQr˂Hfpv|ltr˂pfpvbHAZvpf|ZdQbbHAZbdQZ|JA|Z~HfdQZ|`JXQr~HfJ`ےvXnˁ`ZQXbAdZ||drbے`v`frXQJf`vlJtArZp˂vXnJtArdnrXQJtAJlpZHAbnXvbdQZ|ZHAbnXv`p˂rH~ftlJp˂rdrtAdQbtpvndrtAJ˂pZpvnbHAZpvpfHb㉀XndrQt------------------------------------------................................ \ No newline at end of file diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv38_3.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv38_3.dat deleted file mode 100644 index 48fce797ba..0000000000 --- a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv38_3.dat +++ /dev/null @@ -1,337 +0,0 @@ -~}~}~}~}zyzyzyzyxwxwxwxwtstststsrqrqrqrqnmnmnmnmjijijijihghghghgdcdcdcdcbabababa~}~}~}~}zyzyzyzyxwxwxwxwtstststsrqrqrqrqnmnmnmnmjijijijihghghghgdcdcdcdcbabababa~}~}~}~}zyzyzyzyxwxwxwxwtstststsrqrqrqrqnmnmnmnmjijijijihghghghgdcdcdcdcbabababa~}~}~}~}zyzyzyzyxwxwxwxwtstststsrqrqrqrqnmnmnmnmjijijijihghghghgdcdcdcdcbabababa~}~}~}~}zyzyzyzyxwxwxwxwtstststsrqrqrqrqnmnmnmnmjijijijihghghghgdcdcdcdcbabababa~}~}~}|{zyzyzyzyxwxwxwxwtstststsrqrqrqrqnmnmnmnmjijijijihghghghgdcdcdcdcbabababa|{|{|{|{zyzyzyzyxwxwxwxwtstststsrqrqrqrqnmnmnmnmjijijijihghghghgdcdcdcdcbabababa|{|{|{|{zyzyzyzyxwxwxwvutstststsrqrqrqrqnmnmnmnmjijijijihghghghgdcdcdcdcbabababa|{|{|{|{zyzyzyzyvuvuvuvutstststsrqrqrqrqnmnmnmnmjijijijihghghghgdcdcdcdcbabababa|{|{|{|{zyzyzyzyvuvuvuvutstststsrqrqrqponmnmnmnmjijijijihghghghgdcdcdcdcbabababa|{|{|{|{zyzyzyzyvuvuvuvutstststspopopoponmnmnmnmjijijijihghghghgdcdcdcdcbabababa|{|{|{|{zyzyzyzyvuvuvuvutstststspopopoponmnmnmnmjijijijihghghghgdcdcdcdcbabababa|{|{|{|{zyzyzyzyvuvuvuvutstststspopopoponmnmnmnmjijijijihghgfefedcdcdcdcbabababa|{|{|{|{zyzyzyzyvuvuvuvutstststspopopoponmnmnmnmjijijijifefefefedcdcdcdcbabababa|{|{|{|{zyzyzyzyvuvuvuvutstststspopopoponmnmnmlkjijijijifefefefedcdcdcdcbaba`_`_|{|{|{|{zyzyzyzyvuvuvuvutstststspopopopolklklkkkjijijijifefefefedcdcdcdc`_`_`_`_|{|{|{|{zyzyzyzyvuvuvuvutstststspopopopokkklklkljijijijifefefefedcdcdcdc`_`_`_`_|{|{|{|{zyzyzyzyvuvuvuvutstststspopopopoklklklkljijijijifefefefedcdcdcdc`_`_`_`_|{|{|{|{zyzyzyzyvuvuvuvutstststspopopopoklklklkljijijijifefefefedcdcdcdc`_`_`_`_|{|{|{|{zyzyzyzyvuvuvuvutstststspopopopoklklklkljijijijifefefefedcdcdcdc`_`_`_`_|{|{|{|{zyzyzyzyvuvuvuvutstststspopopopoklklklkljijijijifefefefedcdcdcdc`_`_`_`_|{|{|{|{zyzyzyzyvuvuvuvutstststspopopopoklklkkkkjijijijifefefefedcdcdcdc`_`_`_`_|{|{|{|{zyzyzyzyvuvuvuvutstststspopopopokklklklkjijijijifefefefedcdcdcdc`_`_`_`_|{|{|{|{zyzyzyzyvuvuvuvutstststspopopopolklklklkjijijijifefefefedcdcdcdc`_`_`_`_|{|{|{|{zyzyzyzyvuvuvuvutstststspopopopolklklklkjijijijifefefefedcdcdcdc`_`_`_`_~}|{|{|{|{zyzyzyzyvuvuvuvutstststspopopopolklklklkjijijijifefefefedcdcdcdc`_`_`_`_~}~}~}~}|{|{|{|{zyzyzyzyvuvuvuvutstststspopopopolklklklkjijijijifefefefedcdcdcdc`_`_`_`_~}~}~}~}|{|{|{|{zyzyzyxwvuvuvuvutstststspopopopolklkkkkkjijijijifefefefedcdcdcdc`_`_`_`_~}~}~}~}|{|{|{|{xwxwxwxwvuvuvuvutstststspopopopoklklklkljijijijifefefefedcdcdcdc`_`_`_`_~}~}~}~}|{|{|{|{xwxwxwxwvuvuvuvutststsrqpopopopoklklklkljijijijifefefefedcdcdcdc`_`_`_`_~}~}~}~}|{|{|{|{xwxwxwxwvuvuvuvurqrqrqrqpopopopoklklklkljijijijifefefefedcdcdcdc`_`_`_`_~}~}~}~}|{|{|{|{xwxwxwxwvuvuvuvurqrqrqrqpopopopoklklklkljijijijifefefefedcdcdcdc`_`_`_`_~}~}~}~}|{|{|{|{xwxwxwxwvuvuvuvurqrqrqrqpopopopoklklklkljijihghgfefefefedcdcdcdc`_`_`_`_~}~}~}~}|{|{|{|{xwxwxwxwvuvuvuvurqrqrqrqpopopopoklkkkkkkhghghghgfefefefedcdcdcdc`_`_`_`_~}~}~}~}|{|{|{|{xwxwxwxwvuvuvuvurqrqrqrqpopopopolklklklkhghghghgfefefefedcdcbaba`_`_`_`_~}~}~}~}|{|{|{|{xwxwxwxwvuvuvuvurqrqrqrqpopopopolklklklkhghghghgfefefefebabababa`_`_`_`_~}~}~}~}|{|{|{|{xwxwxwxwvuvuvuvurqrqrqrqpopopopolklklklkhghghghgfefefefebabababa`_`_`_`_~}~}~}~}|{|{|{|{xwxwxwxwvuvuvuvurqrqrqrqpopopopolklklklkhghghghgfefefefebabababa`_`_`_`_~}~}~}~}|{|{|{|{xwxwxwxwvuvuvuvurqrqrqrqpopopopolklklklkhghghghgfefefefebabababa`_`_`_`_~}~}~}~}|{|{|{|{xwxwxwxwvuvuvuvurqrqrqrqpopopopolkkkkkklhghghghgfefefefebabababa`_`_`_`_~}~}~}~}|{|{|{|{xwxwxwxwvuvuvuvurqrqrqrqpopopopoklklklklhghghghgfefefefebabababa`_`_`_`_~}~}~}~}|{|{|{|{xwxwxwxwvuvuvuvurqrqrqrqpopopopoklklklklhghghghgfefefefebabababa`_`_`_`_~}~}~}~}|{|{|{|{xwxwxwxwvuvuvuvurqrqrqrqpopopopoklklklklhghghghgfefefefebabababa`_`_`_`_~}~}~}~}|{|{|{|{xwxwxwxwvuvuvuvurqrqrqrqponmnmnmklklklklhghghghgfefefefebabababa`_`_`_`_~}~}~}~}|{|{|{|{xwxwxwxwvuvuvuvurqrqrqrqnmnmnmnmklklklklhghghghgfefefefebabababa`_`_`_`_~}~}~}~}|{|{|{|{xwxwxwxwvuvuvuvurqrqrqrqnmnmnmnmkkkkkklkhghghghgfefefefebabababa`_`_`_`_~}~}~}~}|{|{|{|{xwxwxwxwvuvuvuvurqrqrqrqnmnmnmnmlklklklkhghghghgfefefefebabababa`_`_`_`_~}~}~}~}|{|{|{zyxwxwxwxwvuvuvuvurqrqrqrqnmnmnmnmlklklklkhghghghgfefefefebabababa`_`_`_`_~}~}~}~}zyzyzyzyxwxwxwxwvuvuvuvurqrqrqrqnmnmnmnmlklklklkhghghghgfefefefebabababa`_`_`_`_^]^]^]^]~}~}~}~}zyzyzyzyxwxwxwxwvuvuvutsrqrqrqrqnmnmnmnmlklklklkhghghghgfefefefebabababa`_`_`_`_^]^]^]^]~}~}~}~}zyzyzyzyxwxwxwxwtstststsrqrqrqrqnmnmnmnmlklklklkhghghghgfefefefebabababa`_`_`_`_^]^]^]^]~}~}~}~}zyzyzyzyxwxwxwxwtstststsrqrqrqrqnmnmnmnmkkkklklkhghghghgfefefefebabababa`_`_`_`_^]^]^]^]~}~}~}~}zyzyzyzyxwxwxwxwtstststsrqrqrqrqnmnmnmnmlklkjijihghghghgfefefefebabababa`_`_`_`_^]^]^]^]~}~}~}~}zyzyzyzyxwxwxwxwtstststsrqrqrqrqnmnmnmnmjijijijihghghghgfefefefebabababa`_`_`_`_^]^]^]^]~}~}~}~}zyzyzyzyxwxwxwxwtstststsrqrqrqrqnmnmnmnmjijijijihghghghgfefedcdcbabababa`_`_`_`_^]^]^]^]~}~}~}~}zyzyzyzyxwxwxwxwtstststsrqrqrqrqnmnmnmnmjijijijihghghghgdcdcdcdcbabababa`_`_`_`_^]^]^]^]~}~}~}~}zyzyzyzyxwxwxwxwtstststsrqrqrqrqnmnmnmnmjijijijihghghghgdcdcdcdcbabababa`_`_^]^]^]^]^]^]~}~}~}~}zyzyzyzyxwxwxwxwtstststsrqrqrqrqnmnmnmnmjijijijihghghghgdcdcdcdcbabababa^]^]^]^]^]^]^]^]~}~}~}~}zyzyzyzyxwxwxwxwtstststsrqrqrqrqnmnmnmnmjijijijihghghghgdcdcdcdcbabababa^]^]^]^]^]^]^]^]~}~}~}~}zyzyzyzyxwxwxwxwtstststsrqrqrqrqnmnmnmnmjijijijihghghghgdcdcdcdcbabababa^]^]^]^]^]^]^]^]~}~}~}~}zyzyzyzyxwxwxwxwtstststsrqrqrqrqnmnmnmnmjijijijihghghghgdcdcdcdcbabababa^]^]^]^]^]^]^]^]~}~}~}~}zyzyzyzyxwxwxwxwtstststsrqrqrqrqnmnmnmnmjijijijihghghghgdcdcdcdcbabababa^]^]^]^]^]^]^]^]^]^]^]^]\[\[\[\[XWXWXWXWTSTSTSTSQRQRQRQRNMNMNMNMLKLKLKLKHGHGHGHGFEFEFEFEBABABABA@?@?@?@?<;<;<;<;7878787865656565212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#        ^]^]^]^]\[\[\[\[XWXWXWXWTSTSTSTSQRQRQRQRNMNMNMNMLKLKLKLKHGHGHGHGFEFEFEFEBABABABA@?@?@?@?<;<;<;<;7878787865656565212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#        ^]^]^]^]\[\[ZYZYXWXWXWXWTSTSTSTSQRQRQRQRNMNMNMNMLKLKLKLKHGHGHGHGFEFEFEFEBABABABA@?@?@?@?<;<;<;<;7878787865656565212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#        ^]^]^]^]ZYZYZYZYXWXWXWXWTSTSTSTSQRQRQQQQNMNMNMNMLKLKLKLKHGHGHGHGFEFEFEFEBABABABA@?@?@?@?<;<;<;<;7777778765656565212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#        ^]^]^]^]ZYZYZYZYXWXWXWXWTSTSTSTSQQRQRQRQNMNMNMNMLKLKLKLKHGHGHGHGFEFEFEFEBABABABA@?@?@?@?<;<;<;<;8787878765656565212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#        ^]^]^]^]ZYZYZYZYXWXWXWXWTSTSTSTSRQPOPOPONMNMNMNMLKLKLKLKHGHGHGHGFEFEFEFEBABABABA@?@?@?@?<;<;<;<;8787878765656565212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#        ^]^]^]^]ZYZYZYZYXWXWXWXWTSTSTSTSPOPOPOPONMNMNMNMLKLKLKLKHGHGHGHGFEFEFEFEBABABABA@?@?@?@?<;<;<;<;8787878765656565212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#        - ^]^]^]^]ZYZYZYZYXWXWXWXWTSTSTSTSPOPOPOPONMNMNMNMLKJIJIJIHGHGHGHGFEFEFEFEBABABABA@?@?@?@?<;<;<;<;8787878765656565212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#        - - - - ^]^]^]^]ZYZYZYZYXWXWXWXWTSTSTSTSPOPOPOPONMNMNMNMJIJIJIJIHGHGHGHGFEFEFEFEBABABABA@?@?@?@?<;<;<;<;8787878765656565212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#        - - - - ^]^]^]^]ZYZYZYZYXWXWXWXWTSTSTSTSPOPOPOPONMNMNMNMJIJIJIJIHGHGHGHGFEDCDCDCBABABABA@?@?@?@?<;<;<;<;7777787865656565212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#        - - - - ^]^]^]^]ZYZYZYZYXWXWXWXWTSTSTSTSPOPOPOPONMNMNMNMJIJIJIJIHGHGHGHGDCDCDCDCBABABABA@?@?@?@?<;<;<;<;7878787865656565212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#        - - - - ^]^]^]^]ZYZYZYZYXWXWXWXWTSTSTSTSPOPOPOPONMNMNMNMJIJIJIJIHGHGHGHGDCDCDCDCBABABABA@?>=>=>=<;<;<;<;7878787865656565212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#        - - - - ^]^]^]^]ZYZYZYZYXWXWXWXWTSTSTSTSPOPOPOPONMNMNMNMJIJIJIJIHGHGHGHGDCDCDCDCBABABABA>=>=>=>=<;<;<;<;7878787865656565212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#        - - - - ^]^]^]^]ZYZYZYZYXWXWXWXWTSTSTSTSPOPOPOPONMNMNMNMJIJIJIJIHGHGHGHGDCDCDCDCBABABABA>=>=>=>=<;<;<;<;7878787865656565212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#        - - - - ^]^]^]^]ZYZYZYZYXWXWXWXWTSTSTSTSPOPOPOPONMNMNMNMJIJIJIJIHGHGHGHGDCDCDCDCBABABABA>=>=>=>=<;<;<;<;7878787743434343212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#        - - - - ^]^]^]^]ZYZYZYZYXWXWXWXWTSTSTSTSPOPOPOPONMNMNMNMJIJIJIJIHGHGHGHGDCDCDCDCBABABABA>=>=>=>=<;<;<;<;7777878743434343212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#        - - - - ^]^]^]^]ZYZYZYZYXWXWXWXWTSTSTSTSPOPOPOPONMNMNMNMJIJIJIJIHGHGHGHGDCDCDCDCBABABABA>=>=>=>=<;<;<;<;878787874343434321212121.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#        - - - - ^]^]^]^]ZYZYZYZYXWXWXWXWTSTSTSTSPOPOPOPONMNMNMNMJIJIJIJIHGHGHGHGDCDCDCDCBABABABA>=>=>=>=<;<;<;<;878787874343434321212121.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#        - - - - ^]^]^]^]ZYZYZYZYXWXWXWXWTSTSTSTSPOPOPOPONMNMNMNMJIJIJIJIHGHGHGHGDCDCDCDCBABABABA>=>=>=>=<;<;<;<;878787874343434321212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#$#        - - - - ^]^]^]^]ZYZYZYZYXWXWXWXWTSTSTSTSPOPOPOPONMNMNMNMJIJIJIJIHGHGHGHGDCDCDCDCBABABABA>=>=>=>=<;<;<;<;878787874343434321212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#$#        - - - - ^]^]^]^]ZYZYZYZYXWXWXWXWTSTSTSTSPOPOPOPONMNMNMNMJIJIJIJIHGHGHGHGDCDCDCDCBABABABA>=>=>=>=<;<;<;<;878787774343434321212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!        - - - - ^]^]^]^]ZYZYZYZYXWXWXWXWTSTSTSTSPOPOPOPONMNMNMNMJIJIJIJIHGHGHGHGDCDCDCDCBABABABA>=>=>=>=<;<;<;<;777878784343434321212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!        - - - - ^]^]\[\[ZYZYZYZYXWXWXWXWTSTSTSTSPOPOPOPONMNMNMNMJIJIJIJIHGHGHGHGDCDCDCDCBABABABA>=>=>=>=<;<;<;<;787878784343434321212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!        - - - - \[\[\[\[ZYZYZYZYXWXWXWXWTSTSTSTSPOPOPOPONMNMNMNMJIJIJIJIHGHGHGHGDCDCDCDCBABABABA>=>=>=>=<;<;<;<;787878784343434321212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!        - - - - \[\[\[\[ZYZYZYZYXWXWVUVUTSTSTSTSPOPOPOPONMNMNMNMJIJIJIJIHGHGHGHGDCDCDCDCBABABABA>=>=>=>=<;<;<;:9787878784343434321212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!        - - - - \[\[\[\[ZYZYZYZYVUVUVUVUTSTSTSTSPOPOPOPONMNMNMNMJIJIJIJIHGHGHGHGDCDCDCDCBABABABA>=>=>=>=:9:9:9:9787878784343434321212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!    - - - - \[\[\[\[ZYZYZYZYVUVUVUVUTSTSTSTSPOPOPOPONMNMNMNMJIJIJIJIHGHGHGHGDCDCDCDCBABABABA>=>=>=>=:9:9:9:9787877774343434321212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!   - - - - \[\[\[\[ZYZYZYZYVUVUVUVUTSTSTSTSPOPOPOPONMLKLKLKJIJIJIJIHGHGHGHGDCDCDCDCBABABABA>=>=>=>=:9:9:9:9778787874343434321212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"! - - - - \[\[\[\[ZYZYZYZYVUVUVUVUTSTSTSTSPOPOPOPOLKLKLKLKJIJIJIJIHGHGHGHGDCDCDCDCBABABABA>=>=>=>=:9:9:9:9878787874343434321212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"! - - - - \[\[\[\[ZYZYZYZYVUVUVUVUTSTSRQRQPOPOPOPOLKLKLKLKJIJIJIJIHGFEFEFEDCDCDCDCBABABABA>=>=>=>=:9:9:9:9878787874343434321212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"! - - - - \[\[\[\[ZYZYZYZYVUVUVUVURQRQQQQQPOPOPOPOLKLKLKLKJIJIJIJIFEFEFEFEDCDCDCDCBABABABA>=>=>=>=:9:9:9:9878787874343434321212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"! - - - - \[\[\[\[ZYZYZYZYVUVUVUVURQRQRQRQPOPOPOPOLKLKLKLKJIJIJIJIFEFEFEFEDCDCDCDCBA@?@?@?>=>=>=>=:9:9:9:9878787874343434321212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"! - - - - \[\[\[\[ZYZYZYZYVUVUVUVURQRQRQRQPOPOPOPOLKLKLKLKJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:9878777774343434321212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"! - - - - \[\[\[\[ZYZYZYZYVUVUVUVURQRQRQRQPOPOPOPOLKLKLKLKJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:9878787874343434321212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"! - - - - \[\[\[\[ZYZYZYZYVUVUVUVURQRQRQRQPOPOPOPOLKLKLKLKJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:9656565654343434321212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"! - - - - \[\[\[\[ZYZYZYZYVUVUVUVURQRQRQRQPOPOPOPOLKLKLKLKJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:9656565654343434321212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"! - - - - \[\[\[\[ZYZYZYZYVUVUVUVURQQQQQQRPOPOPOPOLKLKLKLKJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:965656565434343430/0/0/0/.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"! - - - - \[\[\[\[ZYZYZYZYVUVUVUVUQRQRQRQRPOPOPOPOLKLKLKLKJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:965656565434343430/0/0/0/.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"! - - - - \[\[\[\[ZYZYZYZYVUVUVUVUQRQRQRQRPOPOPOPOLKLKLKLKJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:965656565434343430/0/0/0/.-.-.-.-*)*)*)*)('('('('&%&%&%&%"!"!"!"! - - - - \[\[\[\[ZYZYZYZYVUVUVUVUQRQRQRQRPOPOPOPOLKLKLKLKJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:965656565434343430/0/0/0/.-.-.-.-*)*)*)*)('('('('&%&%&%&%"!"!"!"! - - - - \[\[\[\[ZYZYZYZYVUVUVUVUQRQRQRQRPOPOPOPOLKLKLKLKJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:965656565434343430/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!"!"!"! - - - - \[\[\[\[ZYZYZYZYVUVUVUVUQRQRQRQRPOPOPOPOLKLKLKLKJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:965656565434343430/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!"!"!"! - - - - \[\[\[\[ZYZYZYZYVUVUVUVUQQQQQQRQPOPOPOPOLKLKLKLKJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:965656565434343430/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!"!"!"! - - - - \[\[\[\[ZYZYZYZYVUVUVUVURQRQRQRQPOPOPOPOLKLKLKLKJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:965656565434343430/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!"!"!"! - - - - \[\[\[\[ZYZYXWXWVUVUVUVURQRQRQRQPOPOPOPOLKLKLKLKJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:965656565434343430/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!"!"!"! - - - - \[\[\[\[XWXWXWXWVUVUVUVURQRQRQRQPOPOPOPOLKLKLKLKJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:965656565434343430/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!"!"!"! - - - - \[\[\[\[XWXWXWXWVUVUVUVURQRQRQRQPOPOPOPOLKLKLKLKJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:965656565434343430/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!"!"!"! - - - - \[\[\[\[XWXWXWXWVUVUVUVURQRQRQRQPONMNMNMLKLKLKLKJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:965656565434343430/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!"!"!"!    - - - - \[\[\[\[XWXWXWXWVUVUVUVUQQQQQRQRNMNMNMNMLKLKLKLKJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:965656565434343430/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!"!"!"!    - - - \[\[\[\[XWXWXWXWVUVUVUVUQRQRQRQRNMNMNMNMLKLKLKLKJIHGHGHGFEFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:965656565434343430/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!"!"!"!    \[\[\[\[XWXWXWXWVUVUVUVUQRQRQRQRNMNMNMNMLKLKLKLKHGHGHGHGFEFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:965656565434343430/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!"!"!"!    \[\[\[\[XWXWXWXWVUVUVUVUQRQRQRQRNMNMNMNMLKLKLKLKHGHGHGHGFEFEFEFEDCBABABA@?@?@?@?>=>=>=>=:9:9:9:965656565434343430/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!"!"!"!    \[\[\[\[XWXWXWXWVUVUVUVUQRQRQRQRNMNMNMNMLKLKLKLKHGHGHGHGFEFEFEFEBABABABA@?@?@?@?>=>=>=>=:9:9:9:965656565434343430/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!"!"!"!    \[\[\[\[XWXWXWXWVUVUVUVUQRQRQRQQNMNMNMNMLKLKLKLKHGHGHGHGFEFEFEFEBABABABA@?@?@?@?>=<;<;<;:9:9:9:965656565434343430/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!"!      \[\[\[\[XWXWXWXWVUVUVUVUQQQQRQRQNMNMNMNMLKLKLKLKHGHGHGHGFEFEFEFEBABABABA@?@?@?@?<;<;<;<;:9:9:9:965656565434343430/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#        \[\[\[\[XWXWXWXWVUVUVUVURQRQRQRQNMNMNMNMLKLKLKLKHGHGHGHGFEFEFEFEBABABABA@?@?@?@?<;<;<;<;:9:9:9:965656565434343430/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#        \[\[\[\[XWXWXWXWVUVUVUVURQRQRQRQNMNMNMNMLKLKLKLKHGHGHGHGFEFEFEFEBABABABA@?@?@?@?<;<;<;<;:9:9:9:965656565212121210/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#        \[\[\[\[XWXWXWXWVUVUVUVURQRQRQRQNMNMNMNMLKLKLKLKHGHGHGHGFEFEFEFEBABABABA@?@?@?@?<;<;<;<;:9:9:9:965656565212121210/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#        \[\[\[\[XWXWXWXWTSTSTSTSRQRQRQRQNMNMNMNMLKLKLKLKHGHGHGHGFEFEFEFEBABABABA@?@?@?@?<;<;<;<;:987878765656565212121210/0/0/0/,+,+,+,+*)*)*)*)('('('('$#$#$#$#        \[\[\[\[XWXWXWXWTSTSTSTSRQRQRQQQNMNMNMNMLKLKLKLKHGHGHGHGFEFEFEFEBABABABA@?@?@?@?<;<;<;<;8777777865656565212121210/0/0/0/,+,+,+,+*)*)*)*)('('('('$#$#$#$#        \[\[\[\[XWXWXWXWTSTSTSTSQQQRQRQRNMNMNMNMLKLKLKLKHGHGHGHGFEFEFEFEBABABABA@?@?@?@?<;<;<;<;7878787865656565212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#        \[\[\[\[XWXWXWXWTSTSTSTSQRQRQRQRNMNMNMNMLKLKLKLKHGHGHGHGFEFEFEFEBABABABA@?@?@?@?<;<;<;<;7878787865656565212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#        aabbccddAABBCCDDDDCCBBAA]]^^__``TTSSRRQQ``aabbcc@@AABBCC ggffeedd::;;<<==wwvvuutt__``aabb''(())**221100//ooppqqrreeffgghhEEFFGGHH@@??>>==aabbccdd - - PPOONNMMddeeffggDDEEFFGG - - ccbbaa``>>??@@AAssrrqqppccddeeff++,,--....--,,++ssttuuvviijjkkllIIJJKKLL <<;;::99eeffgghh LLKKJJIIhhiijjkkHHIIJJKK__^^]]\\BBCCDDEEoonnmmllgghhiijj//001122**))((''wwxxyyzzmmnnooppMMNNOOPP!!""##$$88776655iijjkkllHHGGFFEEqqrrssttLLMMNNOO[[ZZYYXXFFGGHHIIkkjjiihhkkqqrrss33445566&&%%$$##~~}}||{{{{||}}~~qqrrssttQQWWXXYY%%&&''((44332211mmnnooppDDCCBBAAuuvvwwxxPPQQRSTUWWVVUUTTJJKKLLMM ggffeeddttuuvvww778899::""!! zzyyxxwwuuvvwwxxZZ[[\\]]))**++,,00//..--qqrrsstt@@??>>==yyzz{{||VWWXXYYZ SSRRQQPPNNOOPPQQ - - ccbbaa``xxyyzz{{;;<<==>>vvuuttssyyzz{{||^^__``aa--..//00,,++**))uuvvwwxx <<;;::99}}~~Z[[\\]]^ - - OONNMMLLRRSSTTUU__^^]]\\||}}~~??@@AABBrrqqppoo}}~~bbccddee11223344((''&&%%~~}}yyzz{{||!!""##$$88776655^__``aabKKJJIIHHVVWWXXYY[[ZZYYXXCCDDEEFFnnmmllkkffgghhii55667788$$##""!!||{{zzyy}}~~%%&&''((44332211bccddeefGGFFEEDDZZ[[\\]]WWVVUUTTGGHHIIJJjjiihhggjjkkqqrr99::;;<< xxwwvvuu))**++,,00//..--fgghhiijCCBBAA@@^^__``aa SSRRQQPPKKLLMMNN ffeeddcc~~}}ssttuuvv==>>??@@ttssrrqq--..//00,,++**))jkklmnop??>>==<>??@@ttssrrqq}}~~**++,,--//..--,,rrssttuu??>>==<<__``aabb - -RRQQPPOOllkkjjiiQQRRSSTT``__^^]]AABBCCDDppoonnmm..//0011++**))((vvwwxxyy !!;;::9988ccddeeff NNMMLLKKhhggffeeUUVVWWXX\\[[ZZYYEEFFGGHHllkkjjii22334455''&&%%$$~~}}||zz{{||}}""##$$%%77665544gghhiijjJJIIHHGGddccbbaaYYZZ[[\\XXWWVVUUIIJJKKLL hhggffee66778899##""!! {{zzyyxx~~&&''(())33221100~~kkllmmnnFFEEDDCC``__^^]]]]^^__``TTSSRRQQMMNNOOPP - - ddccbbaa::;;<<==wwvvuutt**++,,--//..--,,}}||{{zzooppqqrrBBAA@@??\\[[ZZYYaabbccdd - - PPOONNMMQQRRSSTT``__^^]]>>??@@AAssrrqqpp..//0011++**))((yyxxwwvvssttuuvv>>==<<;;XXWWVVUUeeffgghh LLKKJJIIUUVVWWXX\\[[ZZYYBBCCDDEEoonnmmll22334455''&&%%$$uuttssrrwwxxyyzz !!""::998877TTSSRRQQiijjkkllHHGGFFEEYYZZ[[\\XXWWVVUUFFGGHHIIkkjjiihh66778899##""!! qqkkjjii{{||}}~~##$$%%&&66554433PPOONNMMmmnnooppDDCCBBAA]]^^__``TTSSRRQQ~~}}JJKKLLMM ggffeedd::;;<<==hhggffee''(())**221100//LLKKJJIIqqrrsstt@@??>>==aabbccdd - - PPOONNMM||{{zzyyNNOOPPQQ - - ccbbaa``>>??@@AAddccbbaa++,,--....--,,++HHGGFFEEuuvvwwxx <<;;::99eeffgghh LLKKJJIIxxwwvvuuRRSSTTUU__^^]]\\BBCCDDEE``__^^]]~~}}||{{//001122**))((''DDCCBBAAyyzz{{||!!""##$$88776655iijjkkllHHGGFFEEttssrrqqVVWWXXYY[[ZZYYXXFFGGHHII\\[[ZZYYzzyyxxww33445566&&%%$$##~~}}||{{@@??>>==~~}}||{{}}~~%%&&''((44332211mmnnooppDDCCBBAAkkjjiihhZZ[[\\]]WWVVUUTTJJKKLLMM XXWWQQPPvvuuttss778899::""!! zzyyxxww<<;;::99zzyyxxww))**++,,00//..--qqrrsstt@@??>>==ggffeedd^^__``aa SSRRQQPPNNOOPPQQ - - OONNMMLLrrqqponm;;<<==>>vvuuttss88776655vvuuttss--..//00,,++**))uuvvwwxx <<;;::99ccbbaa``bbccddee - - OONNMMLLRRSSTTUUKKJJIIHHlkkjjiih??@@AABBrrqqppoo44332211rrqqkkjj11223344((''&&%%~~}}yyzz{{||!!""##$$88776655__^^]]\\ffgghhiiKKJJIIHHVVWWXXYYGGFFEEDDhggffeedCCDDEEFFnnmmllkk00//..--iihhggff~~}}||55667788$$##""!!||{{zzyy}}~~%%&&''((44332211[[ZZYYXXjjkkllmmGGFFEEDDZZ[[\\]]CCBBAA@@dccbbaa`GGHHIIJJjjiihhgg,,++**))eeddccbb{{zzyyxx99::;;<< xxwwvvuu))**++,,00//..--WWQQPPOOnnooppqqCCBBAA@@^^__``aa ??>>==77`__^^]]\KKLLMMNN ffeeddcc((''&&%%aa``__^^wwvvuutt==>>??@@ttssrrqq--..//00,,++**))NNMMLLKKrrssttuu??>>==<>??@@>>==7766wwvvuutt**++,,--//..--,,rrssttuu&&%%$$##IIHHGGFF__``aabb - -RRQQPPOOHHGGFFEEa``__^^]QQRRSSTT``__^^]]AABBCCDD55443322ssrrqqpp..//0011++**))((vvwwxxyy !!EEDDCCBBccddeeff NNMMLLKK DDCCBBAA]\\[[ZZYUUVVWWXX\\[[ZZYYEEFFGGHH1100//..oonnmmll22334455''&&%%$$~~}}||zz{{||}}""##$$%%AA@@??>>gghhiijjJJIIHHGG - - @@??>>==YXXWWVUTYYZZ[[\\XXWWVVUUIIJJKKLL --,,++**kkjjiihh66778899##""!! {{zzyyxx~~&&''(())==<;:987kkllmmnnFFEEDDCC - - 77665544SRQQPPOO]]^^__``TTSSRRQQMMNNOOPP - - ))((''&&ggffeedd::;;<<==wwvvuutt**++,,--76655443ooppqqrrBBAA@@?? 33221100NNMMLLKKaabbccdd - - PPOONNMMQQRRSSTT%%$$##ccbbaa``>>??@@AAssrrqqpp..//0011 - -3221100/ssttuuvv>>==<<;;//..--,,JJIIHHGGeeffgghh LLKKJJIIUUVVWWXX__^^]]\\BBCCDDEEoonnmmll22334455 /..--,,+wwxxyyzz !!""::998877++**))((FFEEDDCCiijjkkllHHGGFFEEYYZZ[[\\[[ZZYYXXFFGGHHIIkkjjiihh66778899+**))(('~~}}||{{{{||}}~~##$$%%&&66554433''&&%%$$BBAA@@??mmnnooppDDCCBBAA]]^^__`` - - WWVVUUTTJJKKLLMM ggffeedd::;;<<== - - '&&%%$$#zzyyxxww''(())**221100// ##>>==<;:9qqrrsstt@@??>>==aabbccdd  SSRRQQPPNNOOPPQQ - - ccbbaa``>>??@@AA #"! vvuuttss++,,--....--,,++!!""##$$87766554uuvvwwxx <<;;::99eeffgghh - - OONNMMLLRRSSTTUU__^^]]\\BBCCDDEErrqqppoo//001122**))((''%%&&''((43322110~~}}yyzz{{||!!""##$$88776655iijjkkllKKJJIIHHVVWWXXYY[[ZZYYXXFFGGHHIInnmmllkk33445566&&%%$$##))**++,,0//..--,||{{zzyy}}~~%%&&''((44332211mmnnooppGGFFEEDDZZ[[\\]]WWVVUUTTJJKKLLMMjjiihhgg778899::""!! --..//00 ,++**))(xxwwvvuu))**++,,00//..--qqrrsstt##$$%% - -CCBBAA@@^^__``aa SSRRQQPPNNOOPPQQ##$$ ffeeddcc;;<<==>>11223344 - - - -(''&&%%$ttssrrqq--..//00,,++**))uuvvwwxx&&''(()) ??>>==<>??@@hhggffee99::;;<< xxwwvvuu2233445533221100nnooppqqCCBBAA@@^^__``aa11223344VVUUTTSSKKLLMMNN ++,,--..AABBCCDDddccbbaa==>>??@@ttssrrqq6677==>>//..--,,rrssttuu??>>==<>??@@AA NNMMLLKKSSTTUUVV33445566IIJJKKLL$$%%&&'' - -\\[[ZZYYEEFFGGHHllkkjjiiCCDDEEFF%&&''(()''&&%%$$~~}}||zz{{||}}""##$$%%77665544jjkkllmmBBCCDDEEJJIIHHGGWWXXYYZZ778899::MMNNOOPP(())**++ XXWWVVUUIIJJKKLL hhggffeeGGHHIIJJ)**++,,-##""!! {{zzyyxx~~&&''(())33221100nnooppqqFFGGHHIIFFEEDDCC[[\\]]^^;;<<==>>QQRRSSTT,,--..//TTSSRRQQMMNNOOPP - - ddccbbaaKKLLMMNN-..//001wwvvuutt**++,,--//..--,,rrssttuuJJKKLLMMBBAA@@??__``aabb - -??@@AABBUUVVWWXX00112233 - - PPOONNMMQQRRSSTT``__^^]]OOPPQQWW12233445ssrrqqpp..//0011++**))((vvwwxxyyNNOOPPQQ>>==<<;;ccddeeff CCDDEEFFYYZZ[[\\44556677 LLKKJJIIUUVVWWXX\\[[ZZYYXXYYZZ[[5667789:oonnmmll22334455''&&%%$$~~}}||zz{{||}}WWXXYYZZ !!""::998877gghhiijjGGHHIIJJ]]^^__``==>>??@@HHGGFFEEYYZZ[[\\XXWWVVUU\\]]^^__;<==>>??kkjjiihh66778899##""!! {{zzyyxx~~[[\\]]^^##$$%%&&66554433kkllmmnnKKLLMMNNOOPPQQRR - - bbaa``__<<==>>??uuttssrr,,--..//--,,++**{{zzyyxxqqrrsstt@@??>>==aabbccdd - - PPOONNMM||{{zzyyNNOOPPQQ - - ccbbaa``>>??@@AAaa``__^^kkjjiihhSSTTUUVV^^]]\\[[@@AABBCCqqppoonn00112233))((''&&wwvvuuttuuvvwwxx <<;;::99eeffgghh LLKKJJIIxxwwvvuuRRSSTTUU__^^]]\\BBCCDDEE]]\\[[ZZggffeeddWWXXYYZZZZYYXXWWDDEEFFGGmmllkkjj44556677%%$$##""ssrrqqkkyyzz{{||!!""##$$88776655iijjkkllHHGGFFEEttssrrqqVVWWXXYY[[ZZYYXXFFGGHHIIYYXXWWQQccbbaa``[[\\]]^^VVUUTTSSHHIIJJKKiihhggff8899::;;!! jjiihhgg}}~~%%&&''((44332211mmnnooppDDCCBBAAkkjjiihhZZ[[\\]]WWVVUUTTJJKKLLMM PPOONNMM__^^]]\\__``aabb - -RRQQPPOO~~}}||{{LLMMNNOO - -eeddccbb<<==>>??ffeeddcc))**++,,00//..--qqrrsstt@@??>>==ggffeedd^^__``aa SSRRQQPPNNOOPPQQ - - LLKKJJII[[ZZYYXXccddeeff NNMMLLKKzzyyxxwwPPQQRRSS aa``__^^@@AABBCCbbaa``__~~}}--..//00,,++**))uuvvwwxx <<;;::99ccbbaa``bbccddee - - OONNMMLLRRSSTTUUHHGGFFEEWWVVUUTTgghhiijjJJIIHHGGvvuuttssTTUUVVWW]]\\[[ZZDDEEFFGG^^]]\\[[||{{zzyy11223344((''&&%%~~}}yyzz{{||!!""##$$88776655__^^]]\\ffgghhiiKKJJIIHHVVWWXXYYDDCCBBAASSRRQQPPkkllmmnnFFEEDDCCrrqqkkjjXXYYZZ[[YYXXWWVVHHIIJJKKZZYYXXWWxxwwvvuu55667788$$##""!!||{{zzyy}}~~%%&&''((44332211[[ZZYYXXjjkkllmmGGFFEEDDZZ[[\\]]@@??>>==OONNMMLLooppqqrrBBAA@@??iihhggff\\]]^^__UUTTSSRRLLMMNNOO - -QQPPOONNttssrrqq99::;;<< xxwwvvuu))**++,,00//..--WWQQPPOOnnooppqqCCBBAA@@^^__``aa 77665544KKJJIIHHssttuuvv>>==<<;;eeddccbb``aabbcc - - QQPPOONNPPQQRRSS MMLLKKJJponmlkkj==>>??@@ttssrrqq--..//00,,++**))NNMMLLKKrrssttuu??>>==<>==<<''(())**221100//YYXXWWQQllmmnnooEEDDCCBB\\]]^^__AA@@??>>baa``__^IIJJKKLL hhggffee99::;;<< BBAA@@??{{zzyyxx~~&&''(())33221100nnooppqq''&&%%$$;;::9988++,,--....--,,++PPOONNMMppqqrrssAA@@??>>``aabbcc - - ==776655^]]\\[[ZMMNNOOPP - - ddccbbaa==>>??@@>>==7766wwvvuutt**++,,--//..--,,rrssttuu##77665544//001122**))((''LLKKJJIIttuuvvww==<<;;::ddeeffgg 44332211ZYYXXWWVQQRRSSTT``__^^]]AABBCCDD55443322ssrrqqpp..//0011++**))((vvwwxxyy !!3322110033445566&&%%$$##HHGGFFEE~~xxyyzz{{ !!""##99887766hhiijjkk00//..--UTSRQQPPUUVVWWXX\\[[ZZYYEEFFGGHH1100//..oonnmmll22334455''&&%%$$~~}}||zz{{||}}""##$$%%//..--,,778899::""!! DDCCBBAA}}||{{zz||}}~~$$%%&&''55443322llmmnnoo,,++**))OONNMMLLYYZZ[[\\XXWWVVUUIIJJKKLL --,,++**kkjjiihh66778899##""!! {{zzyyxx~~&&''(())++**))((;;<<==>>@@??>>==yyxxwwvv(())**++1100//..ppqqrrss((''&&%%KKJJIIHH]]^^__``TTSSRRQQMMNNOOPP - - ))((''&&ggffeedd::;;<<==wwvvuutt**++,,-- ''&&%%$$??@@AABB77665544uuttssrr,,--..//--,,++**ttuuvvww$$##GGFFEEDDaabbccdd - - PPOONNMMQQRRSSTT%%$$##ccbbaa``>>??@@AAssrrqqpp..//0011 - - - -##""!! CCDDEEFF33221100qqppoonn00112233))((''&&~~xxyyzz{{ !!""##CCBBAA@@eeffgghh LLKKJJIIUUVVWWXX__^^]]\\BBCCDDEEoonnmmll22334455 GGHHIIJJ//..--,,mmllkkjj44556677%%$$##""}}||{{zz||}}~~$$%%&&''??>>==<;iijjkkllHHGGFFEEYYZZ[[\\[[ZZYYXXFFGGHHIIkkjjiihh66778899KKLLMMNN ++**))((iihhggff8899::;;!! yyxxwwvv(())**++:9877665mmnnooppDDCCBBAA]]^^__`` - - WWVVUUTTJJKKLLMM ggffeedd::;;<<==OOPPQQRR - - ''&&%%$$eeddccbb<<==>>??uuttssrr,,--..// 54433221qqrrsstt@@??>>==aabbccdd  SSRRQQPPNNOOPPQQ - - ccbbaa``>>??@@AASSTTUUVV##aa``__^^@@AABBCCqqppoonn00112233 - - 100//..-uuvvwwxx <<;;::99eeffgghh - - OONNMMLLRRSSTTUU__^^]]\\BBCCDDEE## WWXXYYZZ]]\\[[ZZDDEEFFGGmmllkkjj44556677-,,++**)~~}}yyzz{{||!!""##$$88776655iijjkkllKKJJIIHHVVWWXXYY[[ZZYYXXFFGGHHII$$%%&&'' - - [[\\]]^^ - -YYXXWWVVHHIIJJKKiihhggff8899::;; )((''&&%||{{zzyy}}~~%%&&''((44332211mmnnooppGGFFEEDDZZ[[\\]]WWVVUUTTJJKKLLMM(())**++ - - __``aabb UUTTSSRRLLMMNNOO - -eeddccbb<<==>>?? - - %$$##"! xxwwvvuu))**++,,00//..--qqrrsstt##$$%% - -CCBBAA@@^^__``aa SSRRQQPPNNOOPPQQ,,--..//ccddeeff QQPPOONNPPQQRRSS aa``__^^@@AABBCCttssrrqq--..//00,,++**))uuvvwwxx&&''(()) ??>>==<>??@@ooppqqrr##EEDDCCBB\\]]^^__UUTTSSRRLLMMNNOOhhggffee99::;;<< xxwwvvuu2233445533221100nnooppqqCCBBAA@@^^__``aaAABBCCDD !!ssttuuvv$$%%&&'' - - AA@@??>>``aabbcc - - QQPPOONNPPQQRRSS##$$%%&& ddccbbaa==>>??@@ttssrrqq6677==>>//..--,,rrssttuu??>>==<>``aabbcc33445566TTSSRRQQMMNNOOPP - - ddccbbaaKKLLMMNN-..//001wwvvuutt**++,,--//..--,,rrssttuuZZ[[\\]]22334455rrqqppoo==>>??@@ !"#--,,++**ttuuvvww==<<;;::ddeeffgg77==>>?? - - PPOONNMMQQRRSSTT``__^^]]OOPPQQWW12233445ssrrqqpp..//0011++**))((vvwwxxyy^^__``aa66778899nnmmllkkAABBCCDD#$$%%&&'))((''&&~~xxyyzz{{ !!""##99887766hhiijjkk@@AABBCC LLKKJJIIUUVVWWXX\\[[ZZYYXXYYZZ[[5667789:oonnmmll22334455''&&%%$$~~}}||zz{{||}}bbccddee::;;<<==jjiihhggEEFFGGHH'(())**+%%$$##""}}||{{zz||}}~~$$%%&&''55443322llmmnnooDDEEFFGGHHGGFFEEYYZZ[[\\XXWWVVUU\\]]^^__;<==>>??kkjjiihh66778899##""!! {{zzyyxx~~ffgghhii>>??@@AAffeeddccIIJJKKLL+,,--../!! yyxxwwvv(())**++1100//..ppqqrrssHHIIJJKKDDCCBBAA]]^^__``TTSSRRQQ``aabbcc@@AABBCC ggffeedd::;;<<==wwvvuuttjjkkqqrrBBCCDDEEbbaa``__MMNNOOPP/0011223uuttssrr,,--..//--,,++**ttuuvvwwLLMMNNOO@@??>>==aabbccdd - - PPOONNMMddeeffggDDEEFFGG - - ccbbaa``>>??@@AAssrrqqppssttuuvvFFGGHHII^^]]\\[[QQWWXXYY34455667qqppoonn00112233))((''&&~~xxyyzz{{PPQQWWXX <<;;::99eeffgghh LLKKJJIIhhiijjkkHHIIJJKK__^^]]\\BBCCDDEEoonnmmllwwxxyyzzJJKKLLMMZZYYXXWWZZ[[\\]]789:;<==mmllkkjj44556677%%$$##""}}||{{zz||}}~~YYZZ[[\\!!""##$$88776655iijjkkllHHGGFFEEqqrrssttLLMMNNOO[[ZZYYXXFFGGHHIIkkjjiihh{{||}}~~NNOOPPQQVVUUTTSS^^__``aa>>??@@AAiihhggff8899::;;!! yyxxwwvv]]^^__``%%&&''((44332211mmnnooppDDCCBBAAuuvvwwxxPPQQRSTUWWVVUUTTJJKKLLMM ggffeeddRRSSTTUURRQQPPOObbccddeeBBCCDDEE - -eeddccbb<<==>>??uuttssrraabbccdd))**++,,00//..--qqrrsstt@@??>>==yyzz{{||VWWXXYYZ SSRRQQPPNNOOPPQQ - - ccbbaa``VVWWXXYYNNMMLLKKffgghhiiFFGGHHII aa``__^^@@AABBCCqqppoonneeffgghh--..//00,,++**))uuvvwwxx <<;;::99}}~~Z[[\\]]^ - - OONNMMLLRRSSTTUU__^^]]\\ZZ[[\\]]JJIIHHGGjjkkqqrrJJKKLLMM]]\\[[ZZDDEEFFGGmmllkkjjiijjkkqq11223344((''&&%%~~}}yyzz{{||!!""##$$88776655^__``aabKKJJIIHHVVWWXXYY[[ZZYYXX^^__``aaFFEEDDCCssttuuvvNNOOPPQQYYXXWWVVHHIIJJKKiihhggffrrssttuu55667788$$##""!!||{{zzyy}}~~%%&&''((44332211bccddeefGGFFEEDDZZ[[\\]]WWVVUUTTbbccddeeBBAA@@??wwxxyyzzRSTUVWWXUUTTSSRRLLMMNNOO - -eeddccbbvvwwxxyy99::;;<< xxwwvvuu))**++,,00//..--fgghhiijCCBBAA@@^^__``aa SSRRQQPPffgghhii>>==<<;;{{||}}~~XYYZZ[[\ - - QQPPOONNPPQQRRSS aa``__^^zz{{||}}==>>??@@ttssrrqq--..//00,,++**))jkklmnop??>>==<>``aabbcc - - QQPPOONNMMNNOOPP - - ddccbbaa==>>??@@ttssrrqq}}~~**++,,--//..--,,rrssttuu??>>==<>]]^^__``TTSSRRQQMMNNOOPP - - ddccbbaa::;;<<==wwvvuutt**++,,--//..--,,zzyyxxww~~}}||rrqqppoo,,--..//--,,++**ttuuvvww==<<;;::aabbccdd - - PPOONNMMQQRRSSTT``__^^]]>>??@@AAssrrqqpp..//0011++**))((vvuuttss{{zzyyxxnnmmllkk00112233))((''&&~~xxyyzz{{ !!""##99887766eeffgghh LLKKJJIIUUVVWWXX\\[[ZZYYBBCCDDEEoonnmmll22334455''&&%%$$rrqqkkjjwwvvuuttjjiihhgg44556677%%$$##""}}||{{zz||}}~~$$%%&&''55443322iijjkkllHHGGFFEEYYZZ[[\\XXWWVVUUFFGGHHIIkkjjiihh66778899##""!! iihhggffssrrqqpp ffeeddcc8899::;;!! yyxxwwvv(())**++1100//..~~}}||mmnnooppDDCCBBAA]]^^__``TTSSRRQQ~~}}JJKKLLMM ggffeedd::;;<<==eeddccbboonnmmllbdQZ|vpftArdp˂rdrtAr˂p|ZdQbےHAZbdQZ|`vXnbtlےbHAltbHAbےlJtA˂rXQdrtAJ˂pZZdQbtrXQJpfH~JXQr~Hfp`ےbdrtAH~f|ZdQbXQJ`ےJltZHAbtlJp˂rdrtAr˂pJtArdZp˂dQZ|`JXQrrd|J`ےltbHAbےlJtA`ےbf`v˂pZHAvnXHAZp˂Jlt`vXntlJbHAZbdQZ|ے`JXQtArdXQJ`ےJltZHAb|ZdQrXQJ`dtAJl˂pZZdQbtbHAZpdQZ|`JXQrrd|HAZp˂Xnvbے`v`frXQJbdQZ|vpftArdp˂rdrtAr˂p|ZdQbbHAZbdQZ|ے`JXQtArdےbHAtbnHAbےlJtA˂rXQdrtAJ˂pZZdQbtbHApfH~JXQr~Hfp`ےbdrtAH~f|lJtAXQJ`ےJltZHAbtlJp˂rdrtAr˂p|ZdQbZprQvpf`JXQrrd|J`ےltbHAbےlJtAZp˂f`v˂pZHAvnXHAZp˂Jlt`vXnrd|bHAZbdQZ|ے`JXQtArdXQJ`ےJltZHAbtlJJ`ےHf`˂pZZdQbnbHAZpdQZ|`JXQrrd|rXQJ`Xnvbے`v`frXQJbdQZ|vpfZdQbtp˂rdrtAr˂p|ZdQbbHAZbdQZ|ے`JXQtArdbHAZpvXnHAbےXv`f˂rXQdtAJl˂pZZdQbtےbHApfH~JXQr~Hfp`ےbdrtAH~flJtAXQJ`ےJltZHAbtlJp˂rdrtAr˂p|ZdQbrXQvpfH`JXQr~HfJ`ےtbnHAbےlJtAZp˂f`v˂pZHAvnXHAZp˂Jlt`vXnrd|bHAZbdQZ|ے`JXQtArdXQJ`ےJltZHAbtd|J`ے~f`˂pZpvnbHAZpvpf`JXQrrd|rXQHAZXnvbے`v`frXQJbdQZ|vpfZdQtArp˂rdrtAr˂p|ZdQbbHAZbdQZ|ے`JXQZdQbtbHAZpvXnHAbےXv`f˂rXQHf`˂pZZdQbnp˂rpfH~JXQr~Hfp`ےbdrtAH~fd|ZXQJ`ےJltZHAbtlJp˂rdrtAr˂plJtArQJvpfH`JXQr~HfJ`ےvXnHAbےXv`pXQJ`ےf`v˂pZHAvnXHAZp˂Jlt`vXndQbt璐bHAZbdQZ|ے`JXQtArdXQJ`ےJltZHAbrd|bHAZ~f`˂pZpvnbHAZpvpfH`JXQrvnXbHAZXnvے`Jv`frXQJbdQZ|vpflJtArp˂rdrtAr˂p|ZdQbbHAZbdQZ|ے`JXQZdQbtp˂rvXnHAbےXv`f˂rXQ~f`˂pZv`fp˂rpfH~XQrbt~Hfp`ےbdrtAH~fd|ZXQJ`ےJltZHAbtlJp˂rdrtAr˂pl|ZXQJ`ےvpfH`JXQr~HfJ`ےvXnHAbے~HfpXQJ`pf`vlJtAvnXHAZp˂Jlt`vXndQbtdbHAZbdQZ|ے`JXQtArdXQJ`ےJltZHAbdQbnXbHAZ~f`˂pZpvnbHAZpvpfH`JXQrvnX˂rbXnvd|Zv`frbdQbdQZ|vpf|ZdQp˂rdtAJr˂p|ZdQbbHAZbdQZ|ے`JXQv`pvp˂rvXnHAbےXv`f˂rXQ~f`˂pZv`fdQZ|pfH~dQbt~HfpZ|ddrtAH~fbtlXQJ`ےltbZHAbtlJp˂rdrtAr˂pnXvXQJbHvpfH`JXQr~HfJ`ےvXnHAbےnXvrAJltf`vlJtArvnXrtAJlJlt`vXnJtArdbHAZnvpے`JXQtArdXQJ`ےJltZHAb`f~AZp˂~f`˂pZpvnbHAZpvpfH`JXQr`f~bdQZ|Xnvd|Zv`ftbdQbdQZ|r˂p|ZdQp˂rfHfr˂p|ZdQbbHAZbdQZ|ے`JXQHfpvrXQJ`vXnHAbےXv`f˂rXQ~f`˂pZHfpvdrtpfH~dQbt~HfpZ|ddrtA`JXQrbtlXQJ`ے`vXnZHAbnXv`p˂rdtAJr˂pnXvےbHvpfH`JXQr~HfJ`ےvXnHAbےnXvAJltf`vlJtArvnXrtAJlJlt˂pZ|ZdQbbHAZvpfے`JXQf~HXQJ`ےltbZHAb`fAZp˂~f`˂pZpvnbHAZpvpfH`JXQr`f~bdQZ|Xnvd|Zv`ftbdQbdQZ|HAbےnXv`p˂rH~fr˂pfpvbHAZnvpے`JXQnXv`rXQJ`vXnHAbےXv`f˂rXQ~f`˂pZHXv`drAJpfH~dQbt~HfpZ|ddrtA`JXQrf~fpXQJ`ے`vXnZHAbnXv`p˂rfHfr˂pf~HbAZpvpfH`JXQr~HfJ`ےvXnHAbےf~HtbdQf`vlJtArvnXrtAJlJlt˂pZvnXbHAZvpfے`JXQf~HXQJ`ے`vXnZHAbfpv˂rb~f`˂pZpvnbHAZpvpfH`JXQrfpvZ|dXnvd|Zv`ftbdQbdQZ|HAXQrv`fp˂rH~fr˂pfpvbHAZvpfے`JXQnXv`dQZ|vXnHAے`Xv`f˂rXQ~f`˂pZnXv`rtAJlpfH~dQbt~HfpZ|ddrtA˂pZHA~HfpXQJ`ے`vXnZHAbnXv`p˂rH~fr˂pf~HdrtAJvpfHJXQrb~HfJ`ےvXnHAbےf~HtbdQf`vlJtArvnXrtAJlJltbے`vnXbHAZvpfے`JXQf~HXQJ`ے`vXnZHAbXv`fltb~f`tlJpvnbHAZpvpfH`JXQrfp`fZ|dXnvd|Zv`ftbdQbdQZ|JXQrv`f~p˂rH~fr˂pfpvbHAZvpfے`JXQ~HfdQZ|vXntAd|Xv`f˂rb~f`˂pZ~HfrtAJpfH~dQbt~HfpZ|ddrtA˂pZHAfvnXQJ`ے`vXnZHAbnXv`p˂rH~fr˂ppvndrtAJvpfHZdQbt~HfdQZ|vXnHAے`pvnbdQZ|f`vlJtArvnXrtAJlJltb˂Xv`fbHAZvpfے`JXQf~HXQJ`ے`vXnZHAbXv`fltb~f`lJtApvndrtAJvpfHJXQrbXv`fdrtAXnvd|Zv`ftbdQbdQZ|pZHAb~Hfp˂rH~fr˂pfpvbHAZvpfے`JXQ~HfdQZ|vXnrd|Xv`fltb~f`tlJ~HfJltpfH~dQbt~HfpZ|ddrtAے`JpvnXQJ`ے`vXnZHAbnXv`p˂rH~fr˂pp`fdrtAJvpfHZdQbt~HfdQZ|vXntAd|pvbdQZ|f`vlJtArvnXrtAJlJltXQr˂Xv`fbHAZvpfے`JXQf~HXQJ`ے`vXnZHAb~Hfpltb~f`lJtApvndrtAJvpfHZdQbt~HfpdrtAXnrd|Zv`ftbdQbdQZ|pZHAb~Hfp˂rH~fr˂pfpvbHAZvpfے`JXQvnXdQZ|vXnrd|Xv`fltb~f`lJtAvnXJlbQZ˂pZHAdQbtHfpvZ|ddrtAے`pvnXv`XQJ`ے`vXnZHAbnXv`p˂rH~fr˂pv`fdrtAJvpfHZdQbt~HfdQZ|vXnrd|v`f|drbے`lJtArnrXQrtAJlJltZHAbf~HbHAZvpfے`JXQf~HXQJ`ے`vXnZHAb~Hfpltb~f`lJtApvndrtAJvpfHZdQbt~HfptAJlJXQrd|ZJ`ےtbdQbdQZ|ے`JXQfpvp˂rH~fr˂pfpvbHAZvpfے`JXQv~dQZ|vXnrd|Xv`fltb~f`lJtAvnXtbdQZ˂pZHAdQbtHAZp˂Z|ddrtAr˂pnXv`bdQZ|`vXnZHAےnXv`p˂rH~fr˂pHfpvdrtAJvpfHZdQbt~HfdQZ|vXnrd|Hfpv|drbے`lJtArrXQJrtAJlJltZHAbf~HdrtAvpf`JXQrf~HXQJ`ے`vXnZHAbnXvltb~f`lJtApvndrtAJvpfHZdQbtnXvtAJlJXQrd|Z`ےbtbdQbdQZ|ے`JXQfpvnJltH~fbtlfpvbHAZvpfے`JXQ`f~dQZ|vXnrd|Xv`fltb~f`lJtA`f~tbQZd˂pZHAdQbtHAZp˂Z|d`vXnHAbےv`fbdQZ|`vXnJtAdnXv`p˂rH~fr˂pHfpvdrtAJvpfHZdQbt~HfdQZ|vXnrd|HfpvrtAJlbے`lJtArrXQJrtAJlvpf`JXQr~HfpdrtAvpf|ZdQbf~HbdQZ|`vXnZHAےnXHltb~f`lJtApvndrtAJvpfHZdQbtnXvtbdJXQrd|Z`ےbtbdQH~f˂pZvnXJltH~ftlJfpvdrtAvpf`JXQrfpvdQZ|vXnrd|Xv`fltb~f`lJtA`pvQZ|d˂pZHAdQbtHAZp˂Z|d`vXnHAbےv`fbdQZ|`vXntArdnXv`JltH~fbtlnXv`drtAJvpfHZdQbt~HfdQZ|vXnrd|nrXQJrtAJlbے`lJtArrXQJrtAJlvpf`JXQr~HfpdrtAvpf|ZdQbf~HbdQZ|`vXn|ZdQbf~Hltb~f`lJtApvndrtAJvpfHZdQbt`p˂tbdJXQrd|Z`ےbtbdQH~fے`vnvJltH~ftlJfpvdrtAvpftlJfpvdQZ|vXnrrd|Xv`fltb~f`lJtArXQJ`QZrtA˂pZHAdQbtHAZp˂Z|d`vXnJXQrf~HbdQZ|`vXntArdnXv`JltH~ftArdnXv`drtAJ˂pZZdQbtHfpdQZ|vXnrd|ےbHAJltbے`lJtArrXQJrtAJlvpf˂pZHAfpvdrtAvpf|ZdQbf~HbdQZ|`vXn|ZdQbpvnltbHAbےlJtAvnrdrtAJvpfHZdQbtZp˂bdQZ|JXQrd|Z`ےbtbdQH~fbے`nXv`JltH~ftlJfpvdrtAvpftlJrXQJ`dQZ|`JXQrrd|XQJ`ےltb~f`lJtArXQJ`drtA˂pZHAdQbtHAZp˂Z|dXnv`vXnJXQrf~HbdQZ|`vXntArdnXv`JltH~ftAdQbtAZp˂drtAJ˂pZZdQbtHAZpdQZ|vXnrrd|ےrJltbے`lJtArrXQJrtAJlpfH~vpf˂p|ZfpvdrtAvpf|ZdQbf~HbdQZ|`vXnlJtArXQJltbHAbےlJtA˂rXQdrtAJ˂pZZdQbtXQJ`ےbdQZ|JXQrd|Z`ےbtbdQf`vH~fdQbtnXvf~JltH~ftlJfpvdrtAvpfrd|`ےbdQZ|`JXQrrd|J`ےltbHAbےlJtAbHAZAJl˂pZHAdQbtHAZp˂Z|dXnv`vXnlJtArHfpvbdQZ|`vXntArdnXv`JltH~fZdQbtHAZp˂drtAJ˂pZZdQbtbHAZpdQZ|`JXQrrd|p˂rtbnbے`lJtArrXQJrtAJlpfH~vpfd|ZnXvdrtAvpf|ZdQbf~HbdQZ|`vXnlJtArXQJltbHAbےlJtA˂rXQdrtAJ˂pZZdQbtXQJ`ےvpfHJXQrd|Z`ےbtbdQf`vH~fdQbt`f~JltH~ftlJfpvdrtAvpfrdt`ےbAdQZ|`JXQrrd|J`ےltbHAbےlJtAbHAXQf`v˂pZHAdQbnXHAZp˂Z|dXnv`vXnlJtAdQHfpvbdQZ|`vXntArdnXv`JltH~flJtArZrXdrtAJ˂pZZdQbtbHAZpdQZ|`JXQrrd|J`ےXnvbے`v`frXQJtAJlpfH~vpfbtlnXvdrtAvpf|ZdQbf~HbdQZ|`vXnd|ZQJ`ےltbHAbےlJtA˂rXQdrtAJ˂pZZdQbtbHAZppfH~JXQr~Hfp`ےbtbnf`vH~fJtArd`frQJltH~ftlJfpvdrtAvpfdQbt璙bHAZpdQZ|`JXQrrd|J`ےltbHAbےlJtA˂rXQf`v˂pZHAvnXHAZp˂vpfHXnv`vXn|ZdQJHAZbdQZ|`vXntArdnXv`JltH~flJtAr˂rXdrtAJ˂pZZdQbtbHAZpdQZ|`JXQrrd|J`ےXnvbے`v`frXQJf`vpfH~vpfbtlp˂rdrtAr˂p|ZdQbfHfbdQZ|`vXnd|lQJ`ےltbHAbےlJtA˂rXQdrtAJ˂pZZdQbtbHAZppfH~JXQr~Hfp`ےbXnvf`vH~fJtArdXQJ`ےJltZHAbtlJpvndrtAvpfJtArdbHAZdQZ|`JXQrrd|J`ےltbHAbےlJtA`ےbf`v˂pZHAvnXHAZp˂pfH~Xnv`vXntlJbHAZbdQZ|ے`JXQtArdrXQJ`JltH~f|ZdQrXQJ`drtAJ˂pZZdQbtbHAZpdQZ|`JXQrrd|HAZp˂Xnvbے`v`frXQJf`vpfH~f`v˂pZHAvnXltbvpfHbtlHfpv|drnvp|ZdQ`f~ltbAbے`tArdXQJ`ےJltZHAbtlJp˂rdrtAے`JXQZdQbnbHAZpdQZ|`JXQrrd|J`ےltbXQr˂vˍpfXnvے`Jv`fdQZ|~f`JtArdnXvtAJlfH~btlHfpvdQZ|JXQr|ZdQbbHAZbdQZ|ے`JXQtArdXQJ`ےJltr˂pXv`f˂rXQdtAJl˂pZZdQbtbHAZpdQZ|pZHAbH~ㅐfpfH~XQrbt~HfpdtbdQvXn|ZdQ`f~tbdQZf`vXJtArdnXvdrtAdQ˂pZHtlJp˂rdrtAr˂p|ZdQbbHAZbdQZ|ZHAb~HfJ`ےtbnHAbےlJtA˂rXQdrtAJے`p`vXnf`vlJtAvnXZ|dvpf~btlHfpv|drnvp|ZdQ`f~Z|dAbJXQtArdXQJ`ےJltZHAbtlJp˂rdrtA˂pZpvnbHAZpvpf`JXQrrd|J`ےltbZHAbvˍpfXnvd|Zv`frtAJlf`vXJtArdnXvtAJlfH~btlHfpvrtAJlr˂p|ZdQbbHAZbdQZ|ے`JXQtArdXQJ`ےJltHAbےXv`f˂rXQHf`˂pZZdQbnbHAZpdQZ|ے`JXQH~ㅐfpfH~dQbt~HfptbdQnr˂|ZdQ`fHtbdQZf`vXJtArdnXvtbdQZHAbtlJp˂rdrtAr˂p|ZdQbbHAZbdQZ|`JXQr~HfJ`ےvXnHAbےXv`f˂rXQdtAJlr˂p`vXnf`vlJtArvnXZ|dpZHAbbtlfpv|drnvp|ZdQ`f~Z|dے`JXQtArdXQJ`ےJltZHAbtlJp˂rdrtA˂pZpvnbHAZpvpfH`JXQr~HfJ`ےtbnZHAbvˍpfXnvd|Zv`frtAdQZے`JJtArdnrXQJtAJlfH~btlHfpvrtAJlr˂p|ZdQbbHAZbdQZ|ے`JXQtArdXQJ`ےJltHAbےXv`f˂rXQ~f`˂pZpvnbHAZpvpfے`JXQH~ㅐfpfH~dQbt~Hfp|drXQr˂|ZdQ`ےHAtbdQZf`vXJtArdnXv|drZHAbtlJp˂rdrtAr˂p|ZdQbbHAZbdQZ|`pZHA~HfJ`ےvXnHAbےXv`f˂rXQHf`HAbے`vXnf`vlJtArvnXtAJlpZHAbbtlZp˂|drnr˂|ZdQ`fHtAJl璒JQrtArdXQJ`ےJltZHAbtlJp˂rdrtAbے`pvnbHAZpvpfH`JXQr~HfJ`ےvXn`JXQrvˍpfXnvd|Zv`ftbdQZے`JJtArdrXQJ`tAJlpZHAbbtlfpvtbdQZpZHA|ZdQbbHAZbdQZ|ے`JXQtArdXQJ`ےJltJXQrXv`f˂rXQ~f`˂pZpvnbHAZpvpfH˂pZH~ㅐfpfH~dQbt~Hfp|drXQr˂|ZdQےbHAtbdQZے`JJtArdnrXQJ|drbے`tlJp˂rdrtAr˂p|ZdQbbHAZbdQZ|˂pZHA~HfJ`ےvXnHAbےXv`f˂rXQ~f`HAbے`vXnf`vlJtArvnXtAJl|pZHAbbtlZp˂|drXQr˂|ZdQ`ےHAtAJlJXQrtArdXQJ`ےJltZHAbtlJp˂rdrtAbے`pvnbHAZpvpfH`JXQr~HfJ`ےvXn`JXQrvˍpfXnvd|Zv`fdrtAے`JJtArdrXQJ`tAJlpZHAbbtlZp˂tdrtApZHA|ZdQbbHAZbdQZ|ے`JXQtArdXQJ`ےJltJXQHAbXv`f˂rXQ~f`˂pZpvnbHAZpvpfHے`H~ㅐfpfH~dQbt~HfpJltXQr˂|ZdQےbHAtbdQZے`JJtArdrXQJ`Jltbے`JnXv`p˂rdtAJr˂p|ZdQbbHAZbdQZ|ے`J~HfJ`ےvXnHAbےXv`f˂rXQ~f`JXQr`vXnf`vlJtArvnXbdQZ|pZHAbbtlZp˂|drXQr˂|ZdQےbHAbdQZ|QrpZf~HXQJ`ےltbZHAbtlJp˂rdrtAXQr˂pvnbHAZpvpfH`JXQr~HfJ`ےvXn˂pZHAvˍpfXnvd|Zv`fdrtAے`JJtArdrXQJ`tAJlpZHAbbtlZp˂drtAHAbےfpvbHAZnvpے`JXQtArdXQJ`ےJltpZHAbXv`f˂rXQ~f`˂pZpvnbHAZpvpfHbے`H~ㅐfpfH~dQbt~HfpJltXQr˂|ZdQےbHAtbdQZے`JJtArdrXQJ`Jlt`JXQrnXv`p˂rfHfr˂p|ZdQbbHAZbdQZ|ے`J~HfJ`ےvXnHAbےXv`f˂rXQ~f`JXQr`vXnf`vlJtArvnXdrtAJpZHAbbtlZp˂|drXQr˂|ZdQےbHAbdQtAJ˂pZf~HXQJ`ے`vXnZHAbnXv`p˂rdtAJXQrpvnbHAZpvpfH`JXQr~HfJ`ےvXn˂p`ZvˍpfXnvd|Zv`fltbے`JJtArdrXQJ`tAJlpZHAbbtlZp˂ltbHAbےfpvbHAZvpfے`JXQf~HXQJ`ےltbے`JXQXv`f˂rXQ~f`˂pZpvnbHAZpvpfHQXb㉀ەH~ㅐfpfH~dQbt~HfpdQZ|XQr˂|ZdQےbHAtbdQZے`JJtArdrXQJ`dQZ|`JXQrnXv`p˂rH~fr˂pfpvbHAZnvpr˂p~HfJ`ےvXnHAbےXv`f˂rXQ~f`pJAHr`vXnf`vlJtArvnXdrtAJpZHAbbtlZp˂|drXQr˂|ZdQےbHAdrtAJZHAbf~HXQJ`ے`vXnZHAbnXv`p˂r`vXnZHAbpvnbHAZpvpfH`JXQr~HfJ`ےvXnˁ`ZvˍpfXnrd|Zv`fltbے`JJtArdrXQJ`tAJlpZHAbbtlZp˂ltbے`JXfpvbHAZvpfے`JXQf~HXQJ`ےvpfے`JXQXv`f˂rb~f`˂pZpvnbHAZpvpfHQXb㉀ەH~ㅐf˂pZHAdQbtHfpvdQtAJlXQr˂|ZdQےbHAtbdQZے`JJtArdrXQJ`dQZ|lQr˂pnXv`p˂rH~fr˂pfpvbHAZH~fr˂p~HfdQZ|vXnHAے`Xv`f˂rXQ~f`pJAHQX`vXnbے`lJtArnrXQtbdQpZHAbbtlZp˂|drXQr˂|ZdQےbHAtbnZHAbf~HXQJ`ے`vXnZHAbnXv`p˂r`vXn`JXQrpvndrtAJvpfHJXQrb~HfJ`ےvXnb㉀ۑpvˍp|JXQrd|ZJ`p˂Z|dے`JJtArdrXQJ`tAJlpZHAbbtlZp˂vp`ے`JXfpvbHAZvpfے`JXQf~HXQJ`ےvpfbtlXv`fltb~f`tlJpvnbHAZpvpfHJAHr󙐂drQt˂pZHAdQbt璀rXQJrtAJlXQr˂|ZdQےbHAtbdQZے`JJtArdrXQJ`vXnQrZnXv`p˂rH~fr˂pfpvbHAZHXnJA|Z~HfdQZ|vXntAd|Xv`f˂rb~f`ˁ`ZQXJltbے`lJtAr`ےbtbdQpZHAbbnXvZp˂|dtAXQr˂|ZdQےbHAvpfHAbے`f~HXQJ`ے`vXnZHAbnXv`p˂rvpfHdQbtpvndrtAJvpfHZdQbt~HfdQZ|vXnb㉀ۑpbAdZ|JXQrd|ZHAZp˂Z|l璐ے`J`f~rXQJ`JltpZHAbbtlZp˂~f`JXQrfpvbHAZvpfے`JXQf~HXQJ`ے~f`lJtArXv`fltb~f`lJtApvndrtAJvpfHJAHr󙐂drQt˂pZHAdQbt璀rXQJtbnXQr˂HfpvےbHAbnvے`JJtArdrXQJ`vXn˂pZHAnXv`p˂rH~fr˂pfpvbHAZvXnd|Z~HfdQZ|vXnrd|Xv`fltb~f`ۑpJJltbے`lJtAr`ےvpffpZHAbnXvZp˂pfHXQr˂|ZdQےbHAvpfHbے`f~HXQJ`ے`vXnZHAbnXv`p˂rvpfHdQbtpvndrtAJvpfHZdQbt~HfdQZ|vXnAHr󙐂bAdZ|JXQrd|ZrXQJ``vXnے`J`f~rXQJ`f`vXpZHAbbnXvZp˂XnvJXQrfpvbHAZvpfے`JXQf~HXQJ`ے~vlJtArXv`fltb~f`lJtApvndrtAJvpfH`ZQXbdrQt˂pZHAdQbtےbHAvpfXQr˂HfpvےbHAnvpے`J`f~rXQJ`pfH~˂pZAnXv`p˂rH~fr˂pfpvbHAZpfH~ZdQbt~HfdQZ|vXnrd|Xv`fltb~f`ۑpJJltbے`lJtArZp˂H~fpZHAbnXvZp˂fH~XQr˂HfpvےbHAf`v`JXQrf~HXQJ`ے`vXnZHAbnXv`p˂rf`vlJtpvndrtAJvpfHZdQbt~HfdQZ|vXnAHr󙐂bAdZ|JXQrd|ZrXQJ``vXnے`J`f~rXQJ`f`vXpZHAbnXvZp˂XnvbtlfpvbHAZvpfے`JXQf~HXQJ`ےXnvArd|Xv`fltb~f`lJtApvndrtAJvpfH`pJAHdrQt˂pZHAdQbtےbHAvpfXQr˂HfpvےbHAnvpے`J`f~rXQJ`pfH~JtAdnXv`p˂rH~fr˂pfpvbHAZpfH~ZdQbt~HfdQZ|vXnrd|Xv`fltb~f`r󙐂ˁ`Jltbے`lJtArXQJ`ےH~fvXpZHAbnXvZp˂fH~XQr˂HfpvےbHAvp|ZdQbf~HbdQZ|`vXnZHAےnXv`p˂rf`plJtpvndrtAJvpfHZdQbt~HfdQZ|vXnZQXb㉀bAdZ|JXQrd|ZbHAZnvpے`J`f~rXQJ`f`vXpZHAbnXvZp˂fH~tlJfpvdrtAvpf`JXQrf~HXQJ`ےfH~ArdZXv`fltb~f`lJtApvndrtAJvpfHۑpJAHdrQt˂pZHAdQbtp˂rfH~XQr˂HfpvےbHAnvpے`J`f~rXQJ`f`vXtArdnXv`JltH~fbtlfpvbHAZf`vXQbtl~HfdQZ|vXnrd|Xv`fltb~f`r󙐂ˁ`Jltbے`lJtArXQJ`ےf`vXpZHAbnXvZp˂fH~XQr˂HfpvےbHAnvp|ZdQbf~HbdQZ|`vXnJtAdnXv`p˂rnvpJtArdpvndrtAJvpfHZdQbt~HfdQZ|vXnZQXAHrbAdZ|JXQrd|ZbHAZnvpے`J`f~rXQJ`f`vXpZHAbnXvZp˂fH~tlJfpvdrtAvpf|ZdQbf~HbdQZ|fH~|ZdQXv`fltb~f`lJtApvndrtAJvpfHˁ`ZdrQt˂pZHAdQbtp`ےfH~XQr˂HfpvےbHAnvpے`J`f~rXQJ`f`pftArdnXv`JltH~ftlJfpvdrtAf`vXbtlHfpdQZ|vXnrd|Xv`fltb~f`QXb㉀Jltbے`lJtArbHAZpfvnpZHAbnXvZp˂fH~XQr˂HfpvےbHAH~f|ZdQbf~HbdQZ|`vXntArdnXv`JltH~fJtArdvnrdrtAJvpfHZdQbt~HfdQZ|vXnpJAHrbAdZ|JXQrd|Z˂rXQvpfHے`J`f~rXQJ`f`vXpZHAbnXvZp˂`vXntlJfpvdrtAvpf|ZdQbf~HbdQZ|`vXn|ZQbXQJ`ےltb~f`lJtApvndrtAJvpfHˁ`ZdrQt˂pZHAdQbnXJ`ے~f`XQr˂HfpvےbHAnvpے`J`f~rXQJ`vpftArdnXv`JltH~ftlJfpvdrtAvpflJtAHAZpdQZ|vXnrrd|Xv`fltb~f`QXb㉀Jltbے`v`fbHAZpvXnpZHAnXvZp˂fH~XQr˂HfpvےbHAH~f|ZdQbf~HbdQZ|`vXntArdnXv`JltH~frd|˂rXQdrtAJ˂pZZdQbtHfpdQZ|vXnˁ`ZQXbAdZ|JXQr~Hfp˂bvpfHے`JXQ`f~rXQJ`f`vXpZHAbnXvZp˂`vXHtlJfpvdrtAvpf|ZdQbf~HbdQZ|`vXnZdQbtJ`ےltbHAbےlJtAvnrdrtAJvpfHb㉀ۑpdrQt˂pZHAvnXHAZp˂~f`rbtHfpvےbHAnvpے`J`f~rXQJ`~f`tArdnXv`JltH~ftlJfpvdrtAf`lJtAbHAZpdQZ|`JXQrrd|XQJ`ےltb~f`JAHrJltbے`v`frXQJvnvplJtAdnXvZp˂fH~XQr˂HfpvےbHAvXn|ZdQbf~HbdQZ|`vXntArdnXv`JltvXnrd|˂rXQdrtAJ˂pZZdQbtHAZpdQZ|vXnےˁ`ZQXbAdZ|JXQr~Hfp`ےbfH~|ZdQ`f~rbdQZf`vXpZHAnXvZp˂vpfHtlJfpvdrtAvpf|ZdQbf~HbdQZ|vpfHZdQbJJ`ےltbHAbےlJtA˂rXQdrtAJ`JXQrb㉀XndrQt˂pZHAvnXHAZp˂f`vXbtlHfpv|drnvpے`JXQ`f~rXQJ`~f`tArdnXv`JltH~ftlJfpvdrtA~f`tArdbHAZpdQZ|`JXQrrd|J`ےltb˂pZvˍpfJltbے`v`frXQHAnvpJtArdnXvtAJlfH~rbtHfpvےbHAvXn|ZdQbf~HbdQZ|`vXntArdnXv`JltvXn|ZdQb˂rXQdrtAJ˂pZZdQbtbHAZpdQZ|HAbےH~ㅐfbAdZ|JXQr~HfpZp˂fH~|ZdQ`f~tbdQZf`vXlJtAdnXvZp˂f`vtlJfpvdrtAvpf|ZdQbf~HbdQZ|vp`vtlJJ`ےltbHAbےlJtA˂rXQdrtAJ`JXQr`vXndrQt˂pZHAvnXrXQJ`f`vXnbtlHfpv|drnvp|ZdQ`f~rbdQZXnvtArdnXv`JltH~ftlJfpvdrtAXnrtArdbHAZpdQZ|`JXQrrd|J`ےltb˂pZvˍpfJltbے`v`fےbHAvfH~JtArdnXvtAJlfH~btlHfpv|ltpfH~|ZdQbfHfbdQZ|`vXntArdnXv`Jlt˂p`J|ZdQb˂rXQdrtAJ˂pZZdQbtbHAZpdQZ|HAXQrH~ㅐfbAdZ|JXQr~HfpZp˂f`v|ZdQ`f~tbdQZf`vXJtArdnXvbdQZ|f`vtlJpvndrtAvpf|ZdQbf~HbdQZ|XQr˂tJArdJ`ےltbHAbےlJtA˂rXQdrtAJ˂pZHA`vXndrQt˂pZHAvnXrXQJ`XnvbtlHfpv|drnvp|ZdQ`f~drtAXnvtArdrXQJ`JltH~ftlJfpvdrtApZHAb|ZdbHAZpdQZ|`JXQrrd|J`ےltbbے`vˍpfJltbے`v`fp˂rpfH~JtArdnXvtAJlfH~btlHfpvJltp`vX|ZdQbےHAZbdQZ|`vXntArdnXv`Jltے`JQbtl˂rXQdrtAJ˂pZZdQbtbHAZpdQZ|JXQrH~ㅐfbAdZ|JXQr~HfpbdQZ|f`v|ZdQ`f~tbdQZf`vXJtArdnXvbdQZ|nr˂tlJp˂rdrtAr˂p|ZdQbfHfbdQZ|XQr˂JtArdJ`ےltbHAbےlJtA˂rXQdrtAJ˂pZHA`vXndrQt˂pZHAvnXltbXnvbtlHfpv|drnvp|ZdQ`f~dtbpZAb`tArdXQJ`ےJltZHAbtlJpvndrtApZHAXQ|ZdbHAZpdQZ|`JXQrrd|J`ےltbb˂vˍpfJltbے`v`fdQZ|f~f`JtArdnXvtAJlfH~btlHfpvdQZ|JXQr|ZdQbbHAZbdQZ|ے`JXQtArdrXQJ`Jltr˂pQbtl˂rXQdrtAJ˂pZZdQbtbHAZpdQZ|pZHAbH~ㅐfbAdZ|JXQr~HfpdrtAJvXn|ZdQ`f~tbdQZf`vXJtArdnXvdrtAJ˂pZHtlJp˂rdrtAr˂p|ZdQbےHAZbdQZ|ZHAbJAr|J`ےltbHAbےlJtA˂rXQdrtAJے`J`vXndrQt66666666666666666666666666666666666666666666666677777777777777 \ No newline at end of file diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv39_0.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv39_0.dat deleted file mode 100644 index c7955f1fe0..0000000000 --- a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv39_0.dat +++ /dev/null @@ -1,345 +0,0 @@ -~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopopokkkkkklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQOOPOPOPOLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDC~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopopolklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPONMNMNMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDC~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopopolklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQNMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDC~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopopolklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQNMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDC~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopopolklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQNMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDC~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqponmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQNMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDC~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqnmnmnmnmlklkkkkkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQNMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDC~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqnmnmnmnmklklklkljijijijihghghghgfefefefedcdcdcdcbabababa`_`_^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQNMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDC~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqnmnmnmnmklklklkljijijijihghghghgfefefefedcdcdcdcbabababa^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQNMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDC~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqnmnmnmnmklklklkljijijijihghghghgfefefefedcdcdcdcbabababa^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQPOPONMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDC~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqnmnmnmnmklklklkljijijijihghghghgfefefefedcdcdcdcbabababa^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSPOPOOOOONMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDC~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqnmnmnmnmklklklkljijijijihghghghgfefefefedcdcdcdcbaba`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSOPOPOPOPNMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDC~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqnmnmnmnmklklklkkjijijijihghghghgfefefefedcdcdcdc`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSOPOPOPOPNMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDC~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqnmnmnmnmkkkklklkjijijijihghghghgfefefefedcdcdcdc`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSOPOPOPOPNMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDC~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqnmnmnmnmlklklklkjijijijihghghghgfefefefedcdcdcdc`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSOPOPOPOPNMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDC~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqnmnmnmnmlklklklkjijijijihghghghgfefefefedcdcbaba`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSOPOPOPOPNMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDC~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqnmnmnmnmlklklklkjijijijihghghghgfefefefebabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSOPOPOPOONMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDC~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqponmnmnmnmlklklklkjijijijihghghghgfefefefebabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSOOOOPOPONMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDC~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststspopopoponmnmnmnmlklklklkjijijijihghghghgfefefefebabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDC~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststspopopoponmnmnmnmlkkkkkkljijijijihghghghgfefedcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDC~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststspopopoponmnmnmnmklklklkljijijijihghghghgdcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDC~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutststsrqpopopoponmnmnmnmklklklkljijijijihghghghgdcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVUTSTSTSTSPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDC~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvurqrqrqrqpopopoponmnmnmnmklklklkljijijijihghghghgdcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVURQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDC~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvurqrqrqrqpopopoponmnmnmnmklklklkljijijijihghgfefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVURQRQRQRQPOOOOOOPNMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDC~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvurqrqrqrqpopopoponmnmnmnmklklklkljijijijifefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVURQRQRQRQOPOPOPOPNMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCBABABA~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvutsrqrqrqrqpopopoponmnmnmnmklklkkkkjijijijifefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVURQRQRQRQOPOPOPOPNMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEBABABABA~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwtstststsrqrqrqrqpopopoponmnmnmnmkklklklkjijijijifefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVURQRQRQRQOPOPOPOPNMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEBABABABA~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwtstststsrqrqrqrqpopopoponmnmnmnmlklklklkjijihghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVURQRQRQRQOPOPOPOPNMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEBABABABA~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwtstststsrqrqrqrqpopopoponmnmnmnmlklklklkhghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVURQRQRQRQOPOPOPOPNMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGFEDCDCDCBABABABA~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwvutstststsrqrqrqrqpopopoponmnmnmnmlklklklkhghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVURQRQRQRQOPOPOOOONMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGDCDCDCDCBABABABA~}~}~}~}|{|{|{|{zyzyzyzyvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmkkkklklkhghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVURQRQRQRQOOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGDCDCDCDCBABABABA~}~}~}~}|{|{|{|{zyzyzyzyvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmlklkjijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVURQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIHGHGHGHGDCDCDCDCBABABABA~}~}~}~}|{|{|{|{zyzyzyzyvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVURQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIHGFEFEFEDCDCDCDCBABABABA~}~}~}~}|{|{|{|{zyzyzyxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUVUVURQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIFEFEFEFEDCDCDCDCBABABABA~}~}~}~}|{|{|{|{xwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWVUVUTSTSRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIFEFEFEFEDCDCDCDCBABABABA~}~}~}~}|{|{|{|{xwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMLKLKLKLKJIJIJIJIFEFEFEFEDCDCDCDCBABABABA~}~}~}~}|{|{|{|{xwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWTSTSTSTSRQRQRQRQOOOOOPOPNMNMNMNMLKLKLKLKJIHGHGHGFEFEFEFEDCDCDCDCBABABABA~}~}~}~}|{|{|{zyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWXWXWTSTSTSTSRQRQRQRQOPOPOPOPNMNMNMNMLKLKLKLKHGHGHGHGFEFEFEFEDCDCDCDCBABABABA~}~}~}~}zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmnmjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYXWXWVUVUTSTSTSTSRQRQRQRQOPOPOPOPNMNMNMNMLKLKLKLKHGHGHGHGFEFEFEFEDCDCDCDCBABABABA~}~}~}~}zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopoponmnmnmlkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYVUVUVUVUTSTSTSTSRQRQRQRQOPOPOPOPNMNMNMNMLKLKLKLKHGHGHGHGFEFEFEFEDCDCDCDCBABABABA~}~}~}~}zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopopolklklkkkjijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYVUVUVUVUTSTSTSTSRQRQRQRQOPOPOPOPNMNMNMNMLKJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABABABABABA~}~}~}|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopopokkklklkljijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYZYZYVUVUVUVUTSTSTSTSRQRQRQRQOPOPOPOPNMNMNMNMJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABABABABABA|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopopoklklklkljijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[ZYZYXWXWVUVUVUVUTSTSTSTSRQRQRQRQOPOOOOOONMNMNMNMJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABABABABABA|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopopoklklklkljijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[XWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMNMNMNMJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABABABABABA|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopopoklklklkljijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[XWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPONMLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABABABABABA~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopopoklklklkljijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[\[\[XWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOPOLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABABABABABA~}~}~}~}|{|{|{|{zyzyzyzyxwxwxwxwvuvuvuvutstststsrqrqrqrqpopopopoklklklkljijijijihghghghgfefefefedcdcdcdcbabababa`_`_`_`_^]^]^]^]\[\[ZYZYXWXWXWXWVUVUVUVUTSTSTSTSRQRQRQRQPOPOPOOOLKLKLKLKJIJIJIJIHGHGHGHGFEFEFEFEDCDCDCDCBABABABABABABABABABABABA@?@?@?@?>=>=>=>=<;<;<;<;878787876565656534343434212121210/0/0/0/,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        BABABABA@?@?@?@?>=>=>=>=<;:9:9:9878787876565656534343434212121210/0/0/0/,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        BABABABA@?@?@?@?>=>=>=>=:9:9:9:9878787876565656534343434212121210/0/0/0/,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        BABABABA@?@?@?@?>=>=>=>=:9:9:9:987878787656565653434343421212121.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - BABABABA@?@?@?@?>=>=>=>=:9:9:9:987878787656565653434343421212121.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - BABABABA@?@?@?@?>=<;<;<;:9:9:9:987878787656565653333334321212121.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - BABABABA@?@?@?@?<;<;<;<;:9:9:9:987878787656565654343434321212121.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - BABABABA@?@?@?@?<;<;<;<;:9:9:9:98787878765656565434343430/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!       - - - - BABABABA@?@?@?@?<;<;<;<;:9:9:9:98787878765656565434343430/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!     - - - - BABABABA@?>=>=>=<;<;<;<;:9:9:9:98787878765656565434333330/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!     - - - - BABABABA>=>=>=>=<;<;<;<;:9:9:9:98787878765656565434343430/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!     - - - - BABABABA>=>=>=>=<;<;<;<;:9:9:9:98787878765656565212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!     - - - - BABABABA>=>=>=>=<;<;<;<;:9:9:9:98787878765656565212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - BA@?@?@?>=>=>=>=<;<;<;<;:9:9:9:98787878765656565212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - @?@?@?@?>=>=>=>=<;<;<;<;:9:9:9:98787878765656565212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - @?@?@?@?>=>=>=>=<;<;<;<;:9:9:9:98787878765656565212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - @?@?@?@?>=>=>=>=<;<;<;<;:9:9:9:98787878765656565212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - @?@?@?@?>=>=>=>=<;<;<;<;:9:9:9:98787878765656565212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - @?@?@?@?>=>=>=>=<;<;<;<;:9:9:9:98787878765656565212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!    - - - - @?@?@?@?>=>=>=>=<;<;<;<;:9:9:9:98787878765434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!    - - - - @?@?@?@?>=>=>=>=<;<;<;<;:9:9:9:98787878743333334212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!    - - - - @?@?@?@?>=>=>=>=<;<;<;<;:9:9:9:98787878734343434212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!    - - - - @?@?@?@?>=>=>=>=<;<;<;<;:9:9:9:98787878734343434212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#        - - - - @?@?@?@?>=>=>=>=<;<;<;<;:9:9:9:98787878734343434212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#        - - - - @?@?@?@?>=>=>=>=<;<;<;<;:9:9:9:98787878734343434212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#        - - - - @?@?@?@?>=>=>=>=<;<;<;<;:9:9:9:98787878734343434212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#        - - - - @?@?@?@?>=>=>=>=<;<;<;<;:9:9:9:98787878734343333212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%"!"!"!"!        - - - - @?@?@?@?>=>=>=>=<;<;<;<;:9:9:9:98787878733434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%"!"!"!"!        - - - - @?@?@?@?>=>=>=>=<;<;<;<;:9:9:9:98787878743434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%"!"!"!"!        - - - - @?@?@?@?>=>=>=>=<;<;<;<;:9:9:9:98787878743434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%"!"!"!"!        - - - - @?@?@?@?>=>=>=>=<;<;<;<;:9:9:9:98787878743434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"!        - - - - @?@?@?@?>=>=>=>=<;<;<;<;:9:9:9:98787876543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"!        - - - - @?@?@?@?>=>=>=>=<;<;<;<;:9:9:9:96565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"!        - - - - @?@?@?@?>=>=>=>=<;<;<;<;:9:9:9:96565656533333434212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"!        - - - - @?@?@?@?>=>=>=>=<;<;<;<;:9:9:9:96565656534343434212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#"!"!"!"!        - - - - @?@?@?@?>=>=>=>=<;<;<;<;:9:9:9:96565656534343434212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#"!"!"!"!        - - - - @?@?@?@?>=>=>=>=<;<;<;<;:9:9:9:96565656534343434212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#"!"!"!"!        - - - - @?@?@?@?>=>=>=>=<;<;<;<;:9:9:9:96565656534343434212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#"!"!"!"!        - - - - @?@?@?@?>=>=>=>=<;<;<;<;:9:9:9:96565656534343434212121210/0/0/0/.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - @?@?@?@?>=>=>=>=<;<;<;<;:9:9:9:96565656534333333212121210/0/0/0/.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - @?@?@?@?>=>=>=>=<;<;<;<;:9:9:9:96565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - @?@?@?@?>=>=>=>=<;<;<;<;:9:9:9:96565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - @?@?@?@?>=>=>=>=<;<;<;<;:9:9:9:96565656543434343212121210/0/0/0/.-.-.-.-*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - @?@?@?@?>=>=>=>=<;<;<;<;:9:9:9:96565656543434343212121210/0/0/0/.-.-.-.-*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - @?@?@?@?>=>=>=>=<;<;<;<;:98787876565656543434343212121210/0/0/0/.-.-.-.-*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - @?@?@?@?>=>=>=>=<;<;<;<;878787876565656543434333212121210/0/0/0/.-.-.-.-*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - @?@?@?@?>=>=>=>=<;<;<;<;878787876565656533343434212121210/0/0/0/,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - !!""##$$rrqqkkjj - - ))**++,,ttssrrqqIIJJKKLLTTSSRRQQiijjkkll44332211==>>??@@BBAA@@?? &&''(())wwvvuuttFFGGHHIIWWVVUUTTffgghhii??@@AABB^^]]\\[[__``aabb>>==<<;;##$$%%&&kkjjiihh}}~~~~<<==>>??aa``__^^%%&&''((iihhggff --..//00ppoonnmmMMNNOOPPPPOONNMMmmnnoopp00//..-- AABBCCDD>>==<<;; - - **++,,--ssrrqqppJJKKLLMMSSRRQQPPjjkkllmmCCDDEEFFZZYYXXWWccddeeff::998877 - -''(())**ggffeedd !!""##}}||{{zz@@AABBCC]]\\[[ZZ))**++,,eeddccbb11223344llkkjjiiQQRRSSTTLLKKJJIIqqrrsstt,,++**)) - - EEFFGGHH::998765..//0011oonnmmllNNOOPPQQOONNMMLLnnooppqqGGHHIIJJVVUUTTSSgghhiijj66554433 ++,,--..ccbbaa``$$%%&&''yyxxwwvvDDEEFFGGYYXXWWVV--..//00aa``__^^55667788hhggffeeUUVVWWXXHHGGFFEEuuvvwwxx((''&&%%IIJJKKLL43322110 22334455kkjjiihhRRSSTTUUKKJJIIHHrrssttuu - -~~}}||{{KKLLMMNNRRQQPPOOkkllmmnn221100////001122__^^]]\\ - - (())**++uuttssrrHHIIJJKKUUTTSSRR11223344]]\\[[ZZ99::;;<>??@@``__^^]]]]^^__``@@??>>==}}~~ VVWWXXYY,++**))(::;;<<==ccbbaa``ZZ[[\\]]CCBBAA@@zz{{||}}vvuuttssSSTTUUVVJJIIHHGGssttuuvv**))(('' - - 778899::WWVVUUOO00112233mmllkkjjPPQQRRSSMMLLKKJJ99::;;<>??@@AA__^^]]\\^^__``aa??>>==<<~~ - - rrqqponmWWXXYYZZFFEEDDCCwwxxyyzz&&%%$$##;;<<==>>NNMMLLKK44556677iihhggffTTUUVVWWIIHHGGFF==>>??@@LLKKJJII%%&&''((xxwwvvuuEEFFGGHHXXWWVVUUeeffgghh88776655 - - ^^__``aa$##""!! ""##$$%%{{zzyyxxBBCCDDEE[[ZZYYXXbbccddee;;::9988 lkkjjiih[[\\]]^^BBAA@@??{{||}}~~""!!  !!""~~}}||{{??@@AABBJJIIHHGG8899::;;eeddccbbXXYYZZ[[EEDDCCBBAABBCCDDHHGGFFEE))**++,,ttssrrqqIIJJKKLLTTSSRRQQiijjkkll44332211 bbccddee  &&''(())wwvvuuttFFGGHHIIWWVVUUTTffgghhii77665544hggffeed__``aabb>>==<<;;##$$%%&&zzyyxxwwCCDDEEFFFFEEDDCC~~<<==>>??aa``__^^\\]]^^__AA@@??>>EEFFGGHHDDCCBBAA--..//00ppoonnmmMMNNOOPPPPOONNMMmmnnoopp00//..-- ffgghhii - - **++,,--ssrrqqppJJKKLLMMSSRRQQPPjjkkllmm33221100dccbbaa`ccddeeff::998877 - -''(())**vvuuttssGGHHIIJJBBAA@@?? !!""##}}||{{zz@@AABBCC]]\\[[ZZ``aabbcc==<<;;::IIJJKKLL@@??>>==11223344llkkjjiiQQRRSSTTLLKKJJIIqqrrsstt,,++**)) - - ~~}}||{{jjkkqqrr..//0011oonnmmllNNOOPPQQOONNMMLLnnooppqq//..--,, `__^^]]\gghhiijj66554433 ++,,--..rrqqppooKKLLMMNN>>==<<;;$$%%&&''yyxxwwvvDDEEFFGGYYXXWWVVddeeffgg99887766~~}}MMNNOOPP<<;;::9955667788hhggffeeUUVVWWXXHHGGFFEEuuvvwwxx((''&&%%zzyyxxwwssttuuvv22334455kkjjiihhRRSSTTUUKKJJIIHHrrssttuu++**))((!!""##$$\[[ZZYYXkkllmmnn221100////001122nnmmllkkOOPPQQRR::993322(())**++uuttssrrHHIIJJKKUUTTSSRRhhiijjkk55443322||{{zzyyQQRRSSTT3322110099::;;<>??@@``__^^]]]]^^__``@@??>>==}}~~ !!""##$$rrqqkkjj{{||}}~~ ::;;<<==ccbbaa``ZZ[[\\]]CCBBAA@@zz{{||}}##""!! ))**++,,SRQPOONNssttuuvv**))(('' - - 778899::ffeeddccWWXXYYZZ--,,++**00112233mmllkkjjPPQQRRSSMMLLKKJJppqqrrss--,,++**ttssrrqqYYZZ[[\\++**))((AABBCCDD\\[[ZZYYaabbccdd<<;;::99%%&&''((iihhggff !!~~}}||>>??@@AA__^^]]\\^^__``aa??>>==<<~~--..//00MMLLKKJJwwxxyyzz&&%%$$##;;<<==>>bbaa``__[[\\]]^^))((''&&44556677iihhggffTTUUVVWWIIHHGGFFttuuvvww))((''&&ppoonnmm]]^^__``''&&%%$$EEFFGGHHXXWWVVUUeeffgghh88776655 - - ))**++,,eeddccbb""##$$%%{{zzyyxxBBCCDDEE[[ZZYYXXbbccddee;;::998811223399IIHHGGFF{{||}}~~""!!  !!""~~}}||{{??@@AABB^^]]\\[[__``aabb%%$$##""8899::;;eeddccbbXXYYZZ[[EEDDCCBBxxyyzz{{%%$$##""llkkjjiiaabbccdd##""!! IIJJKKLLTTSSRRQQiijjkkll44332211 --..//00aa``__^^ &&''(())wwvvuuttFFGGHHIIWWVVUUTTffgghhii77665544::;;<<==EEDDCCBB##$$%%&&zzyyxxwwCCDDEEFFZZYYXXWWccddeeff!! <<==>>??aa``__^^\\]]^^__AA@@??>>||}}~~!! hhggffeeeeffgghhMMNNOOPPPPOONNMMmmnnoopp00//..-- 11223344]]\\[[ZZ - - **++,,--ssrrqqppJJKKLLMMSSRRQQPPjjkkllmm33221100>>??@@AAAA@@??>> - -''(())**vvuuttssGGHHIIJJVVUUTTSSgghhiijj@@AABBCC]]\\[[ZZ``aabbcc==<<;;::ddccbbaaiijjkkll~~}}||QQRRSSTTLLKKJJIIqqrrsstt,,++**)) - - 55667788YYXXWWVV..//0011oonnmmllNNOOPPQQOONNMMLLnnooppqq//..--,, BBCCDDEE==<<;;:: ++,,--..rrqqppooKKLLMMNNRRQQPPOOkkllmmnnDDEEFFGGYYXXWWVVddeeffgg99887766``__^^]]mmnnoopp{{zzyyxxUUVVWWXXHHGGFFEEuuvvwwxx((''&&%%99::;;<>??@@LLKKJJII66778899ggffeeddVVWWXXYYGGFFEEDDvvwwxxyy''&&%%$$JJKKLLMM3221100/ 33445566jjiihhggSSTTUUVVJJIIHHGGssttuuvv - - }}||{{zzLLMMNNOOQQPPOONNllmmnnoo1100//..XXWWVVUUuuvvwwxx - - - -ssrrqqpo]]^^__``@@??>>==}}~~ !!""##$$||{{zzyyAABBCCDDHHGGFFEE::;;<<==ccbbaa``ZZ[[\\]]CCBBAA@@zz{{||}}##""!! NNOOUUVV/..--,,+ - - 778899::ffeeddccWWXXYYZZFFEEDDCCwwxxyyzzyyxxwwvvPPQQRRSSMMLLKKJJppqqrrss--,,++** - -TTSSRRQQyyzz{{|| nmlkkjjiaabbccdd<<;;::99%%&&''((xxwwvvuuEEFFGGHHDDCCBBAA !!~~}}||>>??@@AA__^^]]\\^^__``aa??>>==<<~~WWXXYYZZ+**))((';;<<==>>bbaa``__[[\\]]^^BBAA@@??{{||}}~~uuttssrrTTUUVVWWIIHHGGFFttuuvvww))((''&& PPOONNMM}}~~ihhggffeeeffgghh88776655 - - ))**++,,ttssrrqqIIJJKKLL@@??>>==""##$$%%{{zzyyxxBBCCDDEE[[ZZYYXXbbccddee;;::9988 [[\\]]^^'&&%%$$# !!""~~}}||{{??@@AABB^^]]\\[[__``aabb>>==<<;; - - qqponmlkXXYYZZ[[EEDDCCBBxxyyzz{{%%$$##""LLKKJJIIeddccbbaiijjkkll44332211 --..//00ppoonnmmMMNNOOPP<<;;::99&&''(())wwvvuuttFFGGHHIIWWVVUUTTffgghhii77665544 - - __``aabb#""!! ##$$%%&&zzyyxxwwCCDDEEFFZZYYXXWWccddeeff::998877 kjjiihhg\\]]^^__AA@@??>>||}}~~!! HHGGFFEEa``__^^]mmnnoopp00//..-- 11223344llkkjjiiQQRRSSTT33221100**++,,--ssrrqqppJJKKLLMMSSRRQQPPjjkkllmm33221100ccddeeff - -''(())**vvuuttssGGHHIIJJVVUUTTSSgghhiijj66554433gffeeddc``aabbcc==<<;;::DDCCBBAA !!""##]\\[[ZZYqqrrsstt,,++**)) - - 55667788hhggffeeUUVVWWXX//..--,,..//0011oonnmmllNNOOPPQQOONNMMLLnnooppqq//..--,, ~~gghhiijj ++,,--..rrqqppooKKLLMMNNRRQQPPOOkkllmmnn221100//cbbaa``_ddeeffgg99887766 - - @@??>>==$$%%&&''YXXWWVVUuuvvwwxx((''&&%%99::;;<>??@@``__^^]]]]^^__``''&&%%$$66778899ggffeeddVVWWXXYYGGFFEEDDvvwwxxyy''&&%%$$yyxxwwvvttuuvvww 33445566jjiihhggSSTTUUVVJJIIHHGGssttuuvv**))((''""##$$%%[ZZYYXXWllmmnnoo1100//..88776655,,--..//NNMMLLKK}}~~ !!""##$$||{{zzyyAABBCCDD\\[[ZZYYaabbccdd##""!! ::;;<<==ccbbaa``ZZ[[\\]]CCBBAA@@zz{{||}}##""!!  !!uuttssrrxxyyzz{{ - - 778899::ffeeddccWWXXYYZZFFEEDDCCwwxxyyzz&&%%$$##&&''(())WVVUUTSRppqqrrss--,,++** - -4433221100112233JJIIHHGG%%&&''((xxwwvvuuEEFFGGHHXXWWVVUUeeffgghh>>??@@AA__^^]]\\^^__``aa??>>==<<~~""##$$%%qqkkjjii||}}~~;;<<==>>bbaa``__[[\\]]^^BBAA@@??{{||}}~~""!! **++,,--QPOONNMMttuuvvww))((''&& 00//..--99::;;<>==<<;;..//0011LLKKJJIIxxyyzz{{%%$$##"",,++**))==>>??@@BBAA@@?? --..//00ppoonnmmMMNNOOPPPPOONNMMmmnnooppFFGGHHIIWWVVUUTTffgghhii77665544 - - **++,,--ddccbbaa##$$%%&&zzyyxxwwCCDDEEFFZZYYXXWWccddeeff::998877223399::HHGGFFEE||}}~~!!  !!""##((''&&%%AABBCCDD>>==<<;; 11223344llkkjjiiQQRRSSTTLLKKJJIIqqrrsstt ~~}}||JJKKLLMMSSRRQQPPjjkkllmm33221100..//0011``__^^]] - -''(())**vvuuttssGGHHIIJJVVUUTTSSgghhiijj66554433;;<<==>>DDCCBBAA$$%%&&''$$##""!!EEFFGGHH::998765 - - 55667788hhggffeeUUVVWWXXHHGGFFEEuuvvwwxx - - {{zzyyxxNNOOPPQQOONNMMLLnnooppqq//..--,, 22334455\\[[ZZYY ++,,--..rrqqppooKKLLMMNNRRQQPPOOkkllmmnn221100//??@@AABB@@??>>== - - (())**++ IIJJKKLL4332211099::;;<>??@@``__^^]]]]^^__``@@??>>==}}~~ - -ssrrqqpoVVWWXXYYGGFFEEDDvvwwxxyy''&&%%$$::;;<<==OONNMMLL33445566jjiihhggSSTTUUVVJJIIHHGGssttuuvv**))(('' - - GGHHIIJJ8765433200112233VVWWXXYY,++**))(!!""##$$||{{zzyyAABBCCDD\\[[ZZYYaabbccdd<<;;::99 nmlkkjjiZZ[[\\]]CCBBAA@@zz{{||}}##""!!  !!~~}}||>>??@@AAKKJJIIHH778899::ffeeddccWWXXYYZZFFEEDDCCwwxxyyzz&&%%$$##KKLLMMNN21100//. - -44556677ZZ[[\\]](''&&%%$%%&&''((xxwwvvuuEEFFGGHHXXWWVVUUeeffgghh88776655ihhggffe^^__``aa??>>==<<~~""##$$%%{{zzyyxxBBCCDDEEGGFFEEDD;;<<==>>bbaa``__[[\\]]^^BBAA@@??{{||}}~~""!! OOUUVVWW.--,,++* 8899::;; ^^__``aa$##""!! - - ))**++,,ttssrrqqIIJJKKLLTTSSRRQQiijjkkll44332211eddccbbabbccddee;;::9988 &&''(())wwvvuuttFFGGHHIICCBBAA@@ !!""~~}}||{{??@@AABB^^]]\\[[__``aabb>>==<<;;XXYYZZ[[*))((''&~~<<==>>?? - - bbccddee  --..//00ppoonnmmMMNNOOPPPPOONNMMmmnnoopp00//..--a``__^^]ffgghhii77665544 - - **++,,--ssrrqqppJJKKLLMM??>>==<<##$$%%&&zzyyxxwwCCDDEEFFZZYYXXWWccddeeff::998877 - -\\]]^^__&%%$$##" !!""##}}||{{zz@@AABBCC\\]]^^__ - - ffgghhii11223344llkkjjiiQQRRSSTTLLKKJJIIqqrrsstt,,++**)) !!""##]\\[[ZZYjjkkllmm33221100..//0011oonnmmllNNOOPPQQ;;::9933''(())**vvuuttssGGHHIIJJVVUUTTSSgghhiijj66554433 ``aabbcc"!! $$%%&&''yyxxwwvvDDEEFFGG``aabbcc jjkkqqrr55667788hhggffeeUUVVWWXXHHGGFFEEuuvvwwxx((''&&%%$$%%&&''YXXWWVVUnnooppqq//..--,, 22334455kkjjiihhRRSSTTUU221100//++,,--..rrqqppooKKLLMMNNRRQQPPOOkkllmmnn221100//ddeeffgg - - (())**++uuttssrrHHIIJJKKddeeffggssttuuvv99::;;<>??@@``__^^]]]]^^__``@@??>>==}}~~ ,,--..//NNMMLLKKvvwwxxyy''&&%%$$::;;<<==ccbbaa``ZZ[[\\]]**))((''33445566jjiihhggSSTTUUVVJJIIHHGGssttuuvv**))(('' - - ||{{zzyyqqrrsstt00112233mmllkkjjPPQQRRSSllmmnnoozzyyxxww{{||}}~~ !!""##$$||{{zzyyAABBCCDD\\[[ZZYYaabbccdd<<;;::9900112233JJIIHHGGzz{{||}}##""!!  !!~~}}||>>??@@AA__^^]]\\^^__``aa&&%%$$##778899::ffeeddccWWXXYYZZFFEEDDCCwwxxyyzz&&%%$$##xxwwvvuuuuvvwwxx 44556677iihhggffTTUUVVWWppqqrrss vvuuttss%%&&''((xxwwvvuuEEFFGGHHXXWWVVUUeeffgghh8877665599::;;<>bbaa``__[[\\]]^^BBAA@@??{{||}}~~""!!  !!""ttssrrqqyyzz{{|| - - 8899::;;eeddccbbXXYYZZ[[ttuuvvwwxxyyzz{{%%$$##""LLMMNNOO100//..- - - 55667788hhggffeeUUVVWWXXHHGGFFEEuuvvwwxx - - {{zzyyxxNNOOPPQQOONNMMLLnnooppqq//..--,, MMNNOOUU++**))((||}}~~!! UUVVWWXX-,,++**)99::;;<>??@@``__^^]]]]^^__``@@??>>==}}~~ - -ssrrqqpoVVWWXXYYGGFFEEDDvvwwxxyy''&&%%$$ZZ[[\\]]##""!!  - - ]]^^__``%$$##""!!!""##$$||{{zzyyAABBCCDD\\[[ZZYYaabbccdd<<;;::99 nmlkkjjiZZ[[\\]]CCBBAA@@zz{{||}}##""!! ^^__``aa aabbccdd! %%&&''((xxwwvvuuEEFFGGHHXXWWVVUUeeffgghh88776655ihhggffe^^__``aa??>>==<<~~bbccddeeeeffgghh - - ))**++,,ttssrrqqIIJJKKLLTTSSRRQQiijjkkll44332211eddccbbabbccddee;;::9988 ffgghhii - -~~}}||iijjkkqq --..//00ppoonnmmMMNNOOPPPPOONNMMmmnnoopp00//..--a``__^^]ffgghhii77665544 - - jjkkqqrr {{zzyyxxrrssttuu11223344llkkjjiiQQRRSSTTLLKKJJIIqqrrsstt,,++**)) !!""##]\\[[ZZYjjkkllmm33221100ssttuuvv wwvvuuttvvwwxxyy 55667788hhggffeeUUVVWWXXHHGGFFEEuuvvwwxx((''&&%%$$%%&&''YXXWWVVUnnooppqq//..--,, ~~}}||{{wwxxyyzz - -  !!""##ssrrqqkkzz{{||}} - - 99::;;<>??@@``__^^]]]]^^__``@@??>>==}}~~ ,,--..//NNMMLLKKvvwwxxyy''&&%%$$vvuuttss - - (())**++ffeeddcc!!""##$$||{{zzyyAABBCCDD\\[[ZZYYaabbccdd<<;;::9900112233JJIIHHGGzz{{||}}##""!!  !!rrqqkkjj ,,--..//bbaa``__%%&&''((xxwwvvuuEEFFGGHHXXWWVVUUeeffgghh8877665599::;;<>??@@BBAA@@?? &&''(())eeddccbb44556677ZZYYXXWW --..//00ppoonnmmMMNNOOPPPPOONNMMmmnnoopp00//..-- AABBCCDD>>==<<;; - - **++,,--aa``__^^ !!8899::;;VVUUOONN11223344llkkjjiiQQRRSSTTLLKKJJIIqqrrsstt,,++**)) - - EEFFGGHH::998765..//0011]]\\[[ZZ""##$$%%~~<<==>>??MMLLKKJJ55667788hhggffeeUUVVWWXXHHGGFFEEuuvvwwxx((''&&%%IIJJKKLL43322110 22334455YYXXWWVV&&''(()) !!""##}}||{{zz@@AABBCCIIHHGGFF99::;;<>??@@``__^^]]]]^^__``@@??>>==}}~~ VVWWXXYY,++**))(::;;<<==LLKKJJII..//0011(())**++uuttssrrHHIIJJKKAA@@??>>!!""##$$||{{zzyyAABBCCDD\\[[ZZYYaabbccdd<<;;::99ZZ[[\\]](''&&%%$ !!~~}}||>>??@@AAHHGGFFEE22334455,,--..//qqppoonnLLMMNNOO==<<;;::%%&&''((xxwwvvuuEEFFGGHHXXWWVVUUeeffgghh88776655 - - ^^__``aa$##""!! ""##$$%%{{zzyyxxBBCCDDEEDDCCBBAA6677889900112233mmllkkjjPPQQRRSS99332211))**++,,ttssrrqqIIJJKKLLTTSSRRQQiijjkkll44332211 bbccddee  &&''(())wwvvuuttFFGGHHII@@??>>==::;;<<==44556677iihhggffTTUUVVWW00//..----..//00ppoonnmmMMNNOOPPPPOONNMMmmnnoopp00//..-- ffgghhii - - **++,,--ssrrqqppJJKKLLMM<<;;::99>>??@@AA8899::;;eeddccbbXXYYZZ[[,,++**))11223344llkkjjiiQQRRSSTTLLKKJJIIqqrrsstt,,++**)) - - ~~}}||{{jjkkqqrr..//0011oonnmmllNNOOPPQQ33221100BBCCDDEE~~<<==>>??aa``__^^\\]]^^__((''&&%%55667788hhggffeeUUVVWWXXHHGGFFEEuuvvwwxx((''&&%%zzyyxxwwssttuuvv22334455kkjjiihhRRSSTTUU//..--,,FFGGHHII}}||{{zz@@AABBCC]]\\[[ZZ``aabbcc$$##""!!99::;;<>??@@``__^^]]]]^^__``@@??>>==}}~~ !!""##$$rrqqkkjj{{||}}~~ ::;;<<==ccbbaa``ZZ[[\\]]''&&%%$$~~}}||NNOOPPQQuuttssrrHHIIJJKKUUTTSSRRhhiijjkkAABBCCDD\\[[ZZYYaabbccdd<<;;::99%%&&''((iihhggff !!~~}}||>>??@@AA__^^]]\\^^__``aa##""!! {{zzyyxxRRSSTTUUqqppoonnLLMMNNOOQQPPOONNllmmnnooEEFFGGHHXXWWVVUUeeffgghh88776655 - - ))**++,,eeddccbb""##$$%%{{zzyyxxBBCCDDEE[[ZZYYXXbbccddeewwvvuuttVVWWXXYYmmllkkjjPPQQRRSSMMLLKKJJppqqrrss ~~}}IIJJKKLLTTSSRRQQiijjkkll44332211 --..//00aa``__^^ &&''(())wwvvuuttFFGGHHIIWWVVUUTTffgghhiissrrqqppZZ[[\\]]iihhggffTTUUVVWWIIHHGGFFttuuvvww - - ||{{zzyyMMNNOOPPPPOONNMMmmnnoopp00//..-- 11223344]]\\[[ZZ - - **++,,--ssrrqqppJJKKLLMMSSRRQQPPjjkkllmmoonnmmll^^__``aaeeddccbbXXYYZZ[[EEDDCCBBxxyyzz{{xxwwvvuuQQRRSSTTLLKKJJIIqqrrsstt,,++**)) - - 55667788YYXXWWVV..//0011oonnmmllNNOOPPQQOONNMMLLnnooppqq kkjjiihhbbccddeeaa``__^^\\]]^^__AA@@??>>||}}~~ ttssrrqqUUVVWWXXHHGGFFEEuuvvwwxx((''&&%%99::;;<>??@@LLKKJJII66778899ggffeeddVVWWXXYYGGFFEEDDvvwwxxyy ccbbaa``jjkkllmmYYXXWWVVddeeffgg99887766jiihhggf]]^^__``@@??>>==}}~~ !!""##$$||{{zzyyAABBCCDDHHGGFFEE::;;<<==ccbbaa``ZZ[[\\]]CCBBAA@@zz{{||}}__^^]]\\nnooppqqUUTTSSRRhhiijjkk55443322feeddccbaabbccdd<<;;::99%%&&''((xxwwvvuuEEFFGGHHDDCCBBAA !!~~}}||>>??@@AA__^^]]\\^^__``aa??>>==<<~~[[ZZYYXXrrssttuuQQPPOONNllmmnnoo1100//..baa``__^eeffgghh88776655 - - ))**++,,ttssrrqqIIJJKKLL@@??>>==""##$$%%{{zzyyxxBBCCDDEE[[ZZYYXXbbccddee;;::9988WWVVUUTTvvwwxxyyMMLLKKJJppqqrrss--,,++** !!""^]]\\[[Ziijjkkll44332211 --..//00ppoonnmmMMNNOOPP<<;;::99&&''(())wwvvuuttFFGGHHIIWWVVUUTTffgghhii77665544 !!""##SSRRQQPPzz{{||}}IIHHGGFFttuuvvww))((''&&##$$%%&&ZYYXXWWVmmnnoopp00//..-- 11223344llkkjjiiQQRRSSTT33221100**++,,--ssrrqqppJJKKLLMMSSRRQQPPjjkkllmm33221100$$%%&&''OONNMMLL~~EEDDCCBBxxyyzz{{%%$$##""''(())**VUUTSRQPqqrrsstt,,++**)) - - 55667788hhggffeeUUVVWWXX//..--,,..//0011oonnmmllNNOOPPQQOONNMMLLnnooppqq//..--,,(())**++KKJJIIHHAA@@??>>||}}~~!! ++,,--..OONNMMLLuuvvwwxx((''&&%%99::;;<>??@@``__^^]]]]^^__``''&&%%$$66778899ggffeeddVVWWXXYYGGFFEEDDvvwwxxyy''&&%%$$00112233CCBBAA@@998877663399::;;GGFFEEDD}}~~ !!""##$$||{{zzyyAABBCCDD\\[[ZZYYaabbccdd##""!! ::;;<<==ccbbaa``ZZ[[\\]]CCBBAA@@zz{{||}}##""!! 99::;;<>==<<55443322<<==>>??CCBBAA@@%%&&''((xxwwvvuuEEFFGGHHXXWWVVUUeeffgghh>>??@@AA__^^]]\\^^__``aa??>>==<<~~==>>??@@;;::99881100//..@@AABBCC??>>==<< - - ))**++,,ttssrrqqIIJJKKLLTTSSRRQQiijjkkllBBCCDDEE[[ZZYYXXbbccddee;;::9988AABBCCDD77665544--,,++** - -DDEEFFGG;;::9987 --..//00ppoonnmmMMNNOOPPPPOONNMMmmnnooppFFGGHHIIWWVVUUTTffgghhii77665544EEFFGGHH33221100))((''&& HHIIJJKK65433221 11223344llkkjjiiQQRRSSTTLLKKJJIIqqrrsstt ~~}}||JJKKLLMMSSRRQQPPjjkkllmm33221100IIJJKKLL//..--,,fpvp˂rrtAdQZXnv|ZdQbfpvbHAZdrtAvpfr˂p|ZdQbfpvbHAZdrtAvpftlJ~Hfp˂rXQltb~f`tAd|~HfJ`ےdQZ|vXn`JXQrrd|~HXvrAJlpfH~˂pZHAdQbtvnXHAZp˂rtAJlpfH~lJtAv`frXQJdQZ|H~f`JXQHfpvےbHA|drnvpXQr˂nXv`XQJ`ے|drp`vXtlJnXv`p˂rJltH~fZHAbtlJnXv`p˂rJltے`JXQtArdvnXJ`ےdQZ|vXnZdQbtpvnbHAZpdrtAJvpfH˂pZZdQbt`f~tbdQf`vbے`lJtArv`frXQJtbdQf`vd|Z~Hfp`ےbdrtAJ`vXnrbt璀nXvZp˂tAJlfH~pZHAbf~HbHAZtAJlnvptArdf~HXQJ`ےbdQZ|`vXnے`JXQtArdf~HXQJ`ےbdQZ|HAbے|ZdQbv`f~bHAZpdrtAJvpfےlJtAXv`f˂rXQltb~f`HAbےlJtAHfpvZ|dXnvJXQrd|Z~Hfp`ےbZ|dXnvdQbtvnXHAZp˂ltbvp`lJtAd`f~rXQJ`tbdQZf`vXے`Jfpvp˂rtbdQZfH~|ZdQbfpvbHAZdrtAvpfr˂p|ZdQbfpvbHAZdtAJ`JXQrtlJfpv˂rXQltb`JXQrrd|~HfJ`ےdQZ|vXn`JXQrrd|nXvrtAJlpfH~˂pZHAdQbtvnXHAZp˂rtAJlpfے`lJtArv`frXQJdQZ|vXn|ZdQHfpvےbHA|drnvpXQr˂nXv`XQJ`ے|drf`vXtlJnXv`p˂rJltH~fZHAbtlJnXv`p˂rltb˂pZtArdtnXv`J`ےdQZ|˂pZZdQbtpvnbHAZpdrtAJvpfH˂pZZdQbt`pvtbdQf`vbے`lJtArv`frXQJtbdQJXQrd|Z~Hfp`ےbdrtAJvpfHbtlnXvZp˂tAJlfH~pZHAbf~HbHAZtAJlnvptArdf~HXQJ`ےbdQZ|`vXnے`JXQtArdf~HXQJ`ےnvpHAbےlJtAf~HbHAZpdtAJlHAbےlJtAXv`f˂rXQltb~f`HAbےlJtAnrXQJZ|dXnvJXQrd|Z~Hfp`ےbZ|d˂pZHAdQbtvnXHAZp˂ltd~f`JtArd`f~rXQJ`tbdQZf`vXے`Jfpvp˂rtdrtAfH~|ZdQbfpvbHAZdrtAvpfr˂p|ZdQbfpvbHAZfHf`JXQrrd|fpv˂rXQtbn`JXQrrd|~HfJ`ےdQZ|vXn`JXQrrd|`p˂rtAJpfH~˂pZHAdQbtvnXHAZp˂tAJlbے`lJtArv`frXQJrtAJlvXn|ZdQHfpvےbHA|drnvpXQr˂nXv`XQJ`ےJltvpftlJnXv`p˂rJltH~fZHAbtlJnXv`p˂r`vXn˂p`ZdQbtnXv`J`ےvpf˂pZZdQbtpvnbHAZpdrtAJvpfH˂pZZdQbtrXQJ`bdQZ|f`vbے`lJtArv`frXQJtbnJXQrd|Z~Hfp`ےbtbdQvpfHbtlnXvZp˂tAJlfH~pZHAbf~HbHAZbdQZ|ے`JXQtArdf~HXQJ`ےbdQZ|`vXnے`JXQtArdf~HXQJ`ےvpfJXQrlJtAf~HfbHAZpHf`HAbےlJtAXv`f˂rXQltb~f`HAbےlJtAےbHAdrtAXnvJXQrd|Z~Hfp`ےbvpfH˂pZHAdQbtvnXHAZp˂Z|d~vJtArd`f~rXQJ`tbdQZf`vXے`Jfpvp˂rdrtArZHA|ZdQbfpvbHAZdrtAvpfr˂p|ZdQbfpvJltH~f˂pZHArd|vnXv˂rXQvXn`JXQrrd|~HfJ`ےdQZ|vXn`JXQrrd|Zp˂JltpfH~˂pZHAdQbtvnXHAZp˂f`vbے`lJtArv`frXQJrtAJlpfے`|ZdQHfpvےbHA|drnvpXQr˂nXv`XQJ`ےJltbے`tlJnXv`p˂rJltH~fZHAbtlJnXv`bdQZ|`vXnbے`ZdQtAr`f~J`ےJvpfH˂pZZdQbtpvnbHAZpdrtAJvpfH˂pZZdQbtbHAZbdQZ|f`vbے`lJtArv`frXQJXnvJXQrd|Z~Hfp`ےbtbdQJXQrbtlnXvZp˂tAJlfH~pZHAbf~HbHAZbdQZ|JXQrtArdf~HXQJ`ےbdQZ|`vXnے`JXQtArdfHfdrtAvpfJXQrd|ZHfpvltb~f`HAbےlJtAXv`f˂rXQltb~f`HAbےlJtAp˂rdrtAXnvJXQrd|Z~Hfp`ےJlpfH~˂pZHAdQbtvnXHAZp˂Z|lZHAbJtArd`f~rXQJ`tbdQZf`vXے`Jfpvp˂rltbpZHA|ZdQbfpvbHAZdrtAvpfr˂p|ZdQbpvnJltH~f˂pZHAdQbt璀nXvdQZ|vXn`JXQrrd|~HfJ`ےdQZ|vXn`JXQrrd|XQJ`ےJltbpfH~˂pZHAdQbtvnXtbdQf`vbے`lJtArv`frXQJtbdQZ`JXQ|ZdQHfpvےbHA|drnvpXQr˂nXv`XQJ`ےdQZ|bے`tlJnXv`p˂rJltH~fZHAbtlJrXQJ`bdQZ|`vXnb˂lJtAr`ffpdrtAJvpfH˂pZZdQbtpvnbHAZpdrtAJvpfH˂pZZdQbtbHAZQZdrf`vbے`lJtArv`fZ|dXnvJXQrd|Z~Hfp`ےb|drr˂pbtlnXvZp˂tAJlfH~pZHAbf~HbHAZdrtAJJXQrtArdf~HXQJ`ےbdQZ|`vXnے`JXQtArdےHAZdrtAvpfpZHAbd|Zvnrltb~f`HAbےlJtAXv`f˂rXQltb~f`HAbےlJtAp˂rtAJlXnvJXQrd|ZHfpvrtAJlpfH~˂pZHAdQbtvnXHAZp˂tAJlZHAbJtArd`f~rXQJ`tbdQZf`vXے`Jfpvp˂rltbpZAb|ZdQbfpvbHAZdrtAvpfr˂p|ZdQbp˂rJltH~fے`JdQbtXQJ`ےdQZ|vXn`JXQrrd|~HfJ`ےdQZ|vXn`JXQrrd|XQJ`ptbdQZpfH~˂pZHAdQbt璀nrXQtbdQf`vbے`lJtArv`frXQJtbdQZ`JXQ|ZdQHfpvےbHA|drnvpXQr˂nXv`XQJ`ےdQZ|`JXQrtlJnXv`p˂rJltH~fZHAbtlJXQJ`ےbdQZ|`vXnXQr˂l|ZdQHAZpdrtAJvpfH˂pZZdQbtpvnbHAZpdrtAJvpfH˂pZZdQbt˂rXQ|drf`vbے`lJtArJ`ےZ|dXnvJXQrd|Z~Hfp`ےb|drr˂pZbtlnXvZp˂tAJlfH~pZHAbf~HbHAZdrtAdQ˂pZtArdf~HXQJ`ےbdQZ|`vXnے`JXQfpvbHAZdrtAvpfpZHAbbtl˂rXQltb~f`HAbےlJtAXv`f˂rXQltb~f`HAbےlJfJ`ےtAJlXnvJXQrd|ZHAZp˂rtAJlpfH~˂pZHAdQbtvnXHAZp˂tAdQZ|Ab`JJtArd`f~rXQJ`tbdQZf`vXے`Jfpvp˂rZ|dHAbے|ZdQbfpvbHAZdrtAvpfr˂pnXv`p˂rJltH~fے`JJtArdJ`ےdQZ|vXn`JXQrrd|~HfJ`ےdQZ|vXn`JXQrpvbHAZptbdQZpfH~˂pZHAdQbt璀rXQJtbdQf`vbے`lJtArv`frXQJdrtAXQr˂|ZdQHfpvےbHA|drnvpXQr˂nXv`XQJ`ےrtAJl`JXQrtlJnXv`p˂rJltH~fZHAےf~HXQJ`ےbdQZ|`vXnXQHAb|ZdQbHAZpdrtAJvpfH˂pZZdQbtpvnbHAZpdrtAJvpfH˂pZ~Hfp˂rXQ|rAJlf`vbے`lJfp`ےbZ|dXnvJXQrd|Z~Hfp`ےbJltpZHAbbtlnXvZp˂tAJlfH~pZHAbf~HbHAZtbdQ˂pZtArdf~HXQJ`ےbdQZ|`vXn`JXQrfpvbHAZdrtAvpfے`JXQbtl˂rXQltb~f`HAbےlJtAXv`f˂rXQltb~f`HAے`vnXJ`ےtbdXnvJXQrvnXHAZp˂rtAJlpfH~˂pZHAdQbtvnXHAZp˂bdQZ|ے`JJtArd`f~rXQJ`tbdQZf`vXے`Jfpvp˂rZ|`vHAb|ZdQbfpvbHAZdrtAvpfbtlnXv`p˂rJltH~fr˂pJtArdJ`ےdQZ|vXn`JXQrrd|~HfJ`ےdQZ|vXnJXQrbv`fbHAXQJQZ|dpfH~˂pZHAv`frXQJtbdQf`vbے`lJtArv`frXQJltbXQr˂|ZdQHfpvےbHA|drnvpXQr˂nXv`XQJ`ےXnvJQr˂ptlJnXv`p˂rJltH~fJtAdf~HXQJ`ےbdQZ|`vXnZHAbtlJbHAZpdrtAJvpfH˂pZZdQbtpvnbHAZpdrtAJvpfHtlJ~Hfp`ےbrtAJlf`vے`J~Hfp`ےbZ|dXnvJXQrd|Z~Hfp`ےbnvppZHAbbtlnXvZp˂tAJlfH~pZHAf~HbHAZpfH~ZHAbtArdf~HXQJ`ےbdQZ|`vXn|ZdQbfpvbHAZdrtAvpfے`JXQfpv˂rXQltb~f`HAbےlJtAXv`f˂rXQltb~f`tAd|vnXHAZp˂tbdXnvXQrbtvnXHAZp˂rtAJlpfH~˂pZHAdQbtvnXHAZp˂`vXnJQrJtArd`f~rXQJ`tbdQZf`vXے`JXQfpvp˂rf`vے`JX|ZdQbfpvbHAZdrtAvpftlJnXv`p˂rJltH~fr˂pnvfJ`ےdQZ|vXn`JXQrrd|~HfJ`ےdQZ|vXnZdQbtv`pvrXQJQZ|dpfH~lJtAv`frXQJtbdQf`vbے`lJtArv`frXQJvpf˂pZH|ZdQHfpvےbHA|drnvprbtnXv`XQJ`ےXH~Qr˂ptlJnXv`p˂rJltے`JXQtArdf~HXQJ`ےbdQZ|`vXn`JXQr~HfpbHAZpdrtAJvpfH˂pZZdQbtpvnbHAZpdrtAJvpfےlJtAnXv`ےbrtAJf`vd|Z~Hfp`ےbZ|dXnvJXQrd|Z~Hfp`ےbH~fAbے`btlnXvZp˂tAJlfH~lJtAdf~HbHAZf`vXZHAbtArdf~HXQJ`ےbdQZ|r˂p|ZdQbfpvbHAZdrtAvpf˂pZvnX˂rXQltb~f`HAbےlJtAXv`f˂rXQltb`JXQrrd|`f~HAZp˂bdQZ|XnvdQbtvnXHAZp˂rtAJlpfH~˂pZHAdQbtvnXHAZp˂`vXHJXQrJtArd`f~rXQJ`tbdQZf`vX|ZdQfpvp˂rnvpے`JX|ZdQbfpvbHAZdtAJZHAbtlJnXv`p˂rJltH~fHAbےv`fJ`ےdQZ|vXn`JXQrrd|~HfJ`ےdQZ|˂pZZdQbtHfpvbHAdrtApfے`lJtArv`frXQJtbdQf`vbے`lJtArv`frXQJ~f`˂pZH|ZdQHfpvےbHA|drnvpbtlnXv`XQJ`ےfH~QrZHAtlJnXv`p˂rltbے`JXQtArdf~HXQJ`ےbdQZ|`vXn`JXQr~HfpbHAZpdrtAJvpfH˂pZZdQbtpvnbHAZpdtAJlHAbےlJtAnXvZp˂JltJXQrd|Z~Hfp`ےbZ|dXnvJXQrd|Z~Hfp`ےbvXnAbے`btlnXvZp˂tAJlfے`JJtArdf~HbHAZf`vXbے`tArdf~HXQJ`ےnvpr˂p|ZdQbfpvbHAZdrtAvpf˂pZvnX˂rXQltb~f`HAbےlJtAXv`f˂rXQtbn`JXQrrd|`f~rXQJ`bdQZ|˂pZHAdQbtvnXHAZp˂rtAJlpfH~˂pZHAdQbtvnXHAZp˂vpfHJXQrJtArd`f~rXQJ`tbdQZXQr˂|ZdQfpvp˂rnvpJXQr|ZdQbfpvbHAZfHfZHAbtlJnXv`p˂rJltH~fHAbv`f~fJ`ےdQZ|vXn`JXQrrd|~HfJ`ےvpf˂pZZdQbtHXv`ےbHAAJlbے`lJtArv`frXQJtbdQf`vbے`lJtArv`frXQJ~f`ZHAb|ZdQHfpvےbHA|dtApZHAbbtlnXv`XQJ`ے`vXn˂pZHAtlJnXv`p˂r`vXnے`JXQtArdf~HXQJ`ےbdQZ|`vXn˂pZHApvnbHAZpdrtAJvpfH˂pZZdQbtpvnbHAZpHf`HAbےlJtAf~HZp˂tbnJXQrd|Z~Hfp`ےbZ|dXnvJXQrd|Z~Hfp`ےbvXnے`JXQbtlnXvZp˂Jltے`JJtArdf~HbHAZvpfbے`tArdf~HXQJ`ےvpfr˂p|ZdQbfpvbHAZdrtAvpfbے`Xv`f˂rXQltb~f`HAbےlJtAXv`f˂rXQvXn`JXQrrd|fpvrXQJ`vpfH˂pZHAdQbtvnXHAZp˂rtAJlpfH~˂pZHAdQbtvnXHAZp˂vp`vr˂pJtArd`f~rXQJ`bnvXQr˂|ZdQfpvp˂rH~fJXQr|ZdQbfpvJltH~fZHAbtlJnXv`p˂rJltH~fJXQr~HfJ`ےdQZ|vXn`JXQrrd|~HfJ`ےJvpfH˂pZZdQbtnXv`p˂rf`vbے`lJtArv`frXQJtbdQf`vbے`lJtArv`frXQJXnvZHAb|ZdQHfpvےbHApfHpZHAbbtlnXv`XQJ`ے`vXn˂pZAbtlJnXv`bdQZ|`vXnے`JXQtArdf~HXQJ`ےbdQZ|`vXn˂p`JpvnbHAZpdrtAJvpfH˂pZZdQbtpvnltb~f`HAbےlJtAf~HXQJ`ےXnvJXQrd|Z~Hfp`ےbZ|dXnvJXQrd|Z~Hfp`ےJlpfH~ے`JXQbtlnXvZp˂f`vXے`JJtArdf~HJltvpf`JXQtArdfHfdrtAvpfr˂p|ZdQbfpvbHAZdrtAvpfXQrbtXv`f˂rXQltb~f`HAbےlJtAXv`fdQZ|vXn`JXQrrd|fpvbHAZpfH~˂pZHAdQbtvnXHAZp˂rtAJlpfH~˂pZHAdQbtvnXtdrf`vr˂pJtArd`f~rXQJ`nvpXQr˂|ZdQfpvdrtAJH~r˂p|ZdQbpvnJltH~fZHAbtlJnXv`p˂rJltH~fl|Z~HfJ`ےdQZ|vXn`JXQrrd|HfpdrtAJvpfH˂pZZdQbt~Hfp˂rf`vbے`lJtArv`frXQJtbdQf`vbے`lJtArv`ftAJlXnvZAb`|ZdQHfpvےJlfH~pZHAbbtlnXv`ltbvpfHZHAbtlJrXQJ`bdQZ|`vXnے`JXQtArdf~HXQJ`ےbdQZ|`vXndQbtvnXv`bHAZpdrtAJvpfH˂pZZdQbtvnrltb~f`HAbےlJtApvnXQJ`ےXnvJXQrd|Z~Hfp`ےbZ|dXnvJXQrd|ZHfpvtbdQZpfH~JXQrbtlnXvtbdQZf`vXے`JJtArdf~HdQZ|~f``JXQtArdےHAZdrtAvpfr˂p|ZdQbfpvbHAZdrtAvpflJtArf~H˂rXQltb~f`HAbےlJtAXQJ`ےdQZ|vXn`JXQrrd|Xv`fbHAXQpfH~˂pZHAdQbtvnXHAZp˂rtAJlpfH~˂pZHAdQbt璀nrXQ|drvppZHAJtArd`fH|drnvpXQr˂|ZdQfpvdrtAJvXnr˂p|ZdQbp˂rJltH~fZHAbtlJnXv`p˂rJltH~fd|ZfpvJ`ےdQZ|vXn`JXQrrd|HAZpdrtAJvpfH˂pZZdQbt~HfJ`ےJf`vbے`lJtArv`frXQJtbdQf`vbے`lJtArJ`ےtAJlfH~bے`|ZdQfpvtAJlfH~pZHAbbtlnXv`ltbvpfHZHAbtlJXQJ`ےbdQZ|`vXnے`JXQtArdf~HXQJ`ےbdQZ|`vXndQtArdnXv`bHAZpdrtAJvpfH˂pZZdQbt˂rXQltb~f`HAbےlJtApvnltbQXnvJXQrd|Z~Hfp`ےbZ|dXnvJXQrd|ZHAZp˂tbdQZf`vXJXQrbtlnrXQJtbdQZf`vXے`JJtArd|ZdQp˂rdQZ|l~f`JQr˂fpvbHAZdrtAvpfr˂p|ZdQbfpvbHAZdrtAvpf|ZdQf~H˂rXQltb~f`HAbےlJfJ`ےdQZ|vXn`JXQrrd|Xv`pZdrtpfH~˂pZHAdQbtvnXHAZp˂rtAJlpfH~˂pZHAdQbt璀rXQJ|ltnvppZHAJtArd`ےHA|drnvpXQr˂|ZdQbtlXQJ`ےtbdQvXH~pZHAbnXv`p˂rJltH~fZHAbtlJnXv`p˂rJltH~fbtlfpvJ`ےdQZ|vXn`JXQrpvnbHAZpdrtAJvpfH˂pZZdQbtvnXAJltf`vbے`lJtArv`frXQJtbdQf`vbے`lJfp`ےbbdQZ|fH~bJQr|ZdQZp˂tAJlfH~pZHAbbtlJtArdbHAZZ|df`vے`Jf~HXQJ`ےbdQZ|`vXnے`JXQtArdf~HXQJ`ےbdQZ|`vXnJtArdnvfbHAZpdrtAJvpfH˂pZXv`f˂rXQltb~f`HAbےlJtAv`fbdQZ|XnvJXQrd|Z~Hfp`ےbZ|dXnvJXQrvnXHAZp˂drtAf`vX˂pZbtlrXQJ`tbdQZf`vXے`JJtArd|ZdQp˂rrtAJlXnvXQr˂fpvbHAZdrtAvpfr˂p|ZdQbfpvbHAZdrtAvpf|ZdQ~Hfp˂rXQltb~f`HAے`~HfJ`ےdQZ|vXn`JXQrrd|~HfpdrtpfH~˂pZHAdQbtvnXHAZp˂rtAJlpfH~˂pZHAv`frXQJJltH~fHAbےJfpvےbHA|drnvpXQr˂|ZdQbtlXQJ`ےtbdQpfH~pZHAbnXv`p˂rJltH~fZHAbtlJnXv`p˂rJltH~fbtlvnXJ`ےdQZ|vXnJXQrbpvnbHAZpdrtAJvpfH˂pZZdQbtvnXAJltf`vbے`lJtArv`frXQJtbdQf`vے`J~Hfp`ےbbdQZ|`vXn`JXQrnXvZp˂tAJlfH~pZHAbbtlJtArdbHAZZ|df`vJAdf~HXQJ`ےbdQZ|`vXnے`JXQtArdf~HXQJ`ےbdQZ|`vXn|ZdQbv`fbHAZpdrtAJvpfHtlJXv`f˂rXQltb~f`HAbےlJtAv`fbdQZ|XnvJXQrd|Z~Hfp`ےbZ|dXnvXQrbtvnXHAZp˂drtAvpf˂pZA`f~rXQJ`tbdQZf`vXے`JJtArd|ZdQbtlnXvZp˂Jltr˂pJtArdnXv`XQJ`ےbdQZ|r˂p|ZdQbfpvbHAZdrtAvpfr˂p|ZdQbv`pvltb~f`HAbےlJtAXv`f˂rXQltbHAbےAHr󙐉H~ㅐfJtArd`f~rXQJ`bnvZHAbtlJf~HbHAZdtAJZHAbtlJnXv`p˂rJltH~fZHAbtlJnrXQdQZ|vXn`JXQrrd|~HfJ`ےdQZ|`JXQrۑpJAH`vXn|ZdQHfpvےbHApfHے`JXQtArdfpvp˂rltbے`JXQtArdf~HXQJ`ےbdQZ|`vXnے`JXQtArdJ`p˂drtAJvpfH˂pZZdQbtpvnbHAZpdtAJl˂pZr󙐂ˁ`vˍpfbtlnXvZp˂f`vXr˂p|ZdQbnXv`XQJ`ےnvpr˂p|ZdQbfpvbHAZdrtAvpfr˂p|ZdQbrXQJbdQZ|~f`HAbےlJtAXv`f˂rXQtbnHAbےZQXb㉀H~ㅐfJtArd`f~rXQJ`nvp`JXQrtlJf~HbHAZfHfZHAbtlJnXv`p˂rJltH~fZHAbtlJ`ےbdrtvXn`JXQrrd|~HfJ`ےvpf`JXQrۑpJAH`vXn|ZdQHfpvےJlfH~˂pZtArdfvnXp˂r`vXnے`JXQtArdf~HXQJ`ےbdQZ|`vXnے`JXQtArdHAZp˂AJltvpfH˂pZZdQbtpvnbHAZpHf`˂p`r󙐂ˁ`vˍpfbtlnXvtbdQZf`vXHAbے|ZdQtAv`fXQJ`ےvpfr˂p|ZdQbfpvbHAZdrtAvpfr˂p|ZdQbbHAbdQZ|~f`HAbےlJtAXv`f˂rXQvXnJXQrZQXAHrH~ㅐfJtArd`fH|drnvp`JXQrrd|~HfpJltH~fZHAbtlJnXv`p˂rJltH~fZHAbtlJZp˂drtvXn`JXQrrd|~HfJ`ےJvpfH˂pZHAˁ`Z`vXn|ZdQfpvtAJlfH~˂pZZdQbtvnXbdQZ|`vXnے`JXQtArdf~HXQJ`ےbdQZ|`vXnے`JXQtArdrXQJ`AJltvpfH˂pZZdQbtpvnltb~f`bے`QXb㉀ەvˍp|btlnrXQJtbdQZf`vXHAblJtAv`ffdrtAvpfr˂p|ZdQbfpvbHAZdrtAvpfr˂p|ZdQbےbHAbQZd~f`HAbےlJtAXv`fdQZ|vXnJXQrpJAHrdrQtJtArd`ےHA|drnvp˂pZHArd|pvnJltH~fZHAbtlJnXv`p˂rJltH~fZHAbtlJZp˂rtAJlvXn`JXQrrd|HfpdrtAJvpfH˂pZHAˁ`ZJlt|ZdQZp˂tAJlfH~bے`ZdQbtrXQJ`bdQZ|`vXnے`JXQtArdf~HXQJ`ےbdQZ|`vXnے`JXQtArdrXQJ`tbdQvpfH˂pZZdQbtvnrltb~f`b˂QXb㉀bAdZ|btlrXQJ`tbdQZf`vXJXQrl|ZےHAZdrtAvpfr˂p|ZdQbfpvbHAZdrtAvpfr˂p|ZdQbp˂rZ|d~f`HAbےlJtAXQJ`ےdQZ|vXnpZHAbp`ZQXdrQtJfpvےbHA|drnvp˂pZHAdQbtp˂rJltH~fZHAbtlJnXv`p˂rJltH~fZHAbtlJXQJ`ےrtAJlvXn`JXQrrd|HAZpdrtAJvpfHے`Jb㉀ۑpJltnXvZp˂tAJlfH~bے`lJtArXQJ`ےbdQZ|`vXnے`JXQtArdf~HXQJ`ےbdQZ|`vXnے`JXQfpvbHAZtbdQvpfH˂pZZdQbt˂rXQltb~f`XQr˂JAHrbAdZ|`f~rXQJ`tbdQZf`vXJXQHAbd|ZbHAZdrtAvpfr˂p|ZdQbfpvbHAZdrtAvpfr˂p~Hfp˂rZ|rA~f`HAbےlJfJ`ےdQZ|vXnpZHAbˁ`ZQXdrQtHfpvےbHA|drnvpے`JdQbtp˂rJltH~fZHAbtlJnXv`p˂rJltH~fZHAےpvnXQJ`ےJltvXn`JXQrpvnbHAZpdrtAJvpfHے`Jb㉀ۑpJltnXvZp˂tAJlfH~XQr˂lJtArXQJ`ےbdQZ|`vXnے`JXQtArdf~HXQJ`ےbdQZ|`vXn`JXQrXv`fbHAXQbdQZ|vpfH˂pZXv`f˂rXQltb~f`XQHAbJAHfbAdZ|`f~rXQJ`tbdQZf`vXpZHAbdtlbHAZdrtAvpfr˂p|ZdQbfpvbHAZdrtAvpfbtl~HfJ`ےdrtA~f`HAے`~HfJ`ےdQZ|vXnے`JXQ`vXndrQtHfpvےbHA|drnvpے`JJfpvp˂rJltH~fZHAbtlJnXv`p˂rJltH~fJtAdpvnbHAZpJltvXnJXQrbpvnbHAZpdrtAJvpfHr˂pvˍpfJltnXvZp˂tAJlfH~XQr˂nvfXQJ`ےbdQZ|`vXnے`JXQtArdf~HXQJ`ےbdQZ|`vXn|ZdQbXv`p˂rXQbdQZ|vpfHtlJXv`f˂rXQltb~f`ZHAbH~ㅐfbAdZ|`f~rXQJ`tbdQZf`vXp`JXQ~HfpbHAZdrtAvpfr˂p|ZdQbfpvbHAZdrtAvpftlJvnXJ`ےdrtAJ~f`tAd|~HfJ`ےdQZ|vXnے`JXQ`vXndrQtHfpvےbHA|drnvpr˂pvnXp˂rJltH~fZHAbtlJnXv`p˂rJltے`JXQtArdv`fbHAZpbdQZvXnZdQbtpvnbHAZpdrtAJvpfHr˂pvˍpfJltnXvZp˂tAJlfH~ZHAbv`fXQJ`ےbdQZ|`vXnے`JXQtArdf~HXQJ`ےbdQZ|r˂p|ZdQb~Hfp˂b|drvpfےlJtAXv`f˂rXQltb~f``JXQrH~ㅐfbAdZ|`f~rXQJ`tbdQZf`vXے`JXQ~HfpbHAZdrtAvpfr˂p|ZdQbfpvbHAZdtAJZHAbtlJvnXHAZp˂tAJl`JXQrrd|~HfJ`ےdQZ|vXn˂pZ`vXndrQtHfpvےbHA|drnvpr˂pvnXp˂rJltH~fZHAbtlJnXv`p˂rltbے`JXQtArdv`frXQJtbdQZ˂pZZdQbtpvnbHAZpdrtAJvpfHHAbےvˍpfJltnXvZp˂tAJlfH~ZHAbv`f~XQJ`ےbdQZ|`vXnے`JXQtArdf~HXQJ`ےnvpr˂p|ZdQb~HXv`ےb|AJlHAbےlJtAXv`f˂rXQltb~f``JXQrH~ㅐfbAdZ|`f~rXQJ`tbdQZf`vX˂pZfpvbHAZdrtAvpfr˂p|ZdQbfpvbHAZfHfZHAbtlJ`f~HAZp˂tbn`JXQrrd|~HfJ`ےdQZ|vXn˂pZ`vXndrQtHfpvےbHA|drnvpHAbےnXv`p˂rJltH~fZHAbtlJnXv`p˂r`vXnے`JXQtArdHfpvrXQJvpf˂pZZdQbtpvnbHAZpdrtAJvpfHHAbvˍpfJltnXvZp˂tAJlfH~`JXQrf~HXQJ`ےbdQZ|`vXnے`JXQtArdf~HXQJ`ےvpfr˂p|ZdQbnXv`p˂Hf`HAbےlJtAXv`f˂rXQltb~f`˂pZHAH~ㅐfbAdZ|`f~rXQJ`tbdQZf`vX˂p`fpvbHAZdrtAvpfr˂p|ZdQbfpvJltH~fZHAbtlJ`f~rXQJ`vXn`JXQrrd|~HfJ`ےdQZ|vXnbے``vXndrQtHfpvےbHA|drnvpJXQrbnXv`p˂rJltH~fZHAbtlJnXv`bdQZ|`vXnے`JXQtArdHfpvےbHAvpfH˂pZZdQbtpvnbHAZpdrtAJvpfHJXQrvˍpfJltnXvZp˂tAJlfH~tl|f~HXQJ`ےbdQZ|`vXnے`JXQtArdfHfdrtAvpfr˂p|ZdQb~HZp˂~f`HAbےlJtAXv`f˂rXQltb~f`˂p`ZH~ㅐfbAdZ|`f~rXQJ`tbdQZf`vXZdQbtfvnXbHAZdrtAvpfr˂p|ZdQbpvnJltH~fZHAbtlJfpvrXQJ`vXn`JXQrrd|~HfJ`ےdQZ|vXnQXb㉀۝`vXndrQtHfpvےbHA|drnvplJtAv`fp˂rJltH~fZHAbtlJrXQJ`bdQZ|`vXnے`JXQtArdnXv`ےbHAvpfH˂pZZdQbtpvnbHAZpdrtAJvpfHpJAHrvˍpfJltnXvZp˂tAJlfH~rd|~HfpXQJ`ےbdQZ|`vXnے`JXQtArdےHAZdrtAvpfr˂p|ZdQbf~HXQJ`ے~f`HAbےlJtAXv`f˂rXQltb~f`ˁ`ZH~ㅐfbAdZ|`f~rXQJ`tbdQZf`vXZdQtArvnXbHAZdrtAvpfr˂p|ZdQbp˂rJltH~fZHAbtlJfpvJltvXn`JXQrrd|~HfJ`ےdQZ|vXnQXAHr󙐝`vXndrQtHfpvےbHA|drnvpd|Zv`fp˂rJltH~fZHAbtlJXQJ`ےbdQZ|`vXnے`JXQtArdnXv`bQZdvpfH˂pZZdQbtpvnbHAZpdrtAJvpfHˁ`ZQXvˍpfJltnXvZp˂tAJlfH~dQbt~HfpXQJ`ےbdQZ|`vXnے`JXQfpvbHAZdrtAvpfr˂p|ZdQbpvnrtAJl~f`HAbےlJtAXv`f˂rXQltb~f`b㉀ۑpH~ㅐfbAdZ|`f~rXQJ`tbdQZf`vXlJtArvnvfbHAZdrtAvpfr˂pnXv`p˂rJltH~fZHAbtlJXv`ftbdQvXn`JXQrrd|~HfJ`ےdQZ|vXnJAHr󙐝`vXndrQtHfpvےbHA|drnvpd|Z~Hfp˂rJltH~fZHAےf~HXQJ`ےbdQZ|`vXnے`JXQtArd~HfZ|dvpfH˂pZZdQbtpvnbHAZpdrtAJvpfHˁ`ZQXvˍpfJltnXvZp˂tAJlfH~dQbtpvnXQJ`ےbdQZ|`vXn`JXQrfpvbHAZdrtAvpfr˂p|ZdQbpvnrtAJl~f`HAbےlJtAXv`f˂rXQltb~f`b㉀ۑpH~ㅐfbAdZ|`f~rXQJ`tbdQZf`vXl|ZdQXv`fbHAZdrtAvpfbtlnXv`p˂rJltH~fZHAbtlJXv`ftbdQvXn`JXQrrd|~HfJ`ےdQZ|vXn`ZQXb`vXndrQtHfpvےbHA|drnvpbtl~Hfp˂rJltH~fJtAdf~HXQJ`ےbdQZ|`vXnے`JXQtArd~HXZ|rAJvpfH˂pZZdQbtpvnbHAZpdrtAJvpfHۑpJvˍpfJltnXvZp˂tAJlfے`JJtArdpvnXQJ`ےbdQZ|`vXn|ZdQbfpvbHAZdrtAvpfr˂p|ZdQbv`fltb~f`HAbےlJtAXv`f˂rXQltb~f`AHr󙐂˕H~ㅐfbAdZ|`f~rXQJ`tbdQZXQHAb|ZdQXv`fbHAZdrtAvpftlJnXv`p˂rJltH~fZHAbtlJ~HfpdQZ|vXn`JXQrrd|~HfJ`ےdQZ|vXn`ZQXb`vXndrQtHfpvےbHA|dtAے`JXQbtl~fpvp˂rJltے`JXQtArdf~HXQJ`ےbdQZ|`vXnے`JXQtArdvnXdrtAJvpfH˂pZZdQbtpvnbHAZpdrtAJvpfZۑpJvˍpfJltKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLL \ No newline at end of file diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv39_1.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv39_1.dat deleted file mode 100644 index 3e9029bb82..0000000000 --- a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv39_1.dat +++ /dev/null @@ -1,345 +0,0 @@ -~}~}~}~}|{|{|{|{|{|{|{|{zyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvutstststsrqrqrqrqrqrqrqrqpopopopopopopoponmnmnmnmlklklklklklklklkjijijijihghghghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQOPOPOPOOOPOPOPOPNMNMNMNMNMNMNMNMLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:98787878765656565343434344343433321212121212121210/0/0/0/0/0/0/0/.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%~}~}~}~}|{|{|{|{|{|{|{|{zyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvuvuvuvutststststsrqrqrqrqrqrqrqrqpopopopopopopoponmnmnmnmlklklklklklklklkjijijijihghghghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWVUVUVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQOOOOPOPOOPOPOPOPNMNMNMNMNMNMNMNMLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:9:98787878787878765656565343434343334343421212121212121210/0/0/0/0/0/0/0/.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%~}~}~}~}~}|{|{|{|{|{|{|{|{zyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvutstststststststsrqrqrqrqrqrqrqrqpopopopoponmnmnmnmnmnmnmlklkkkkkkkkklklkjijijijihghghghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcbabababababa`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQPOPOPOPOOPOOOOOONMNMNMNMNMNMNMNMLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCBABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:9878787878787878765656565343434343434343421212121212121210/0/0/0/0/0/0/0/.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%~}~}~}~}~}~}~}~}|{|{|{|{|{|{|{|{zyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvutstststststststsrqrqrqrqrqrqrqrqpopopoponmnmnmnmnmnmnmnmklklklkllklkjijijijijijihghghghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcbabababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMNMLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCBABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:9878787878787878765656565343434343434343421212121212121210/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%~}~}~}~}~}~}~}~}|{|{|{|{|{|{|{|{zyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvutstststststststsrqrqrqrqrqrqrqrqpopopoponmnmnmnmnmnmnmnmklklklkljijijijijijijijihghghghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcbabababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCBABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:9878787878787878765656565343434343434343421212121212121210/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%~}~}~}~}~}~}~}~}|{|{|{|{|{|{|{|{zyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvutstststststststsrqrqrqrqrqrqrqrqpopopoponmnmnmnmnmnmnmnmklklklkljijijijijijijijihghghghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcbabababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCBABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:9878787878787878765656565343433333434343421212121212121210/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%~}~}~}~}~}~}~}~}|{|{|{|{|{|{|{|{zyzyzyzyzyzyzyzyxwxwxwxwxwxwxwvuvuvuvuvutstststststststsrqrqrqrqrqrqrqrqpopopoponmnmnmnmnmnmnmnmklklklkljijijijijijijijihghghghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcbabababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQPOPOPOPOPOPOPOOONMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCBABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;<;:9:9:9:9:9:9:9878787878787878765656565334343433434343421212121212121210/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%~}~}~}~}~}~}~}~}|{|{|{|{|{|{|{|{zyzyzyzyzyzyzyzyxwxwxwxwvuvuvuvuvuvuvuvutstststststststsrqrqrqrqrqrqrqrqpopopoponmnmnmnmnmnmnmnmklklklkljijijijijijijijihghghghghghghghgfefefefefefefefedcdcdcdcdcdcbabababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSRQRQRQRQRQRQRQRQPOOOOOOPOOPOPOPONMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEFEDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;:9:9:9:9:9:9:9:9878787878787878765656565434343433333334321212121212121210/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('&%&%&%&%&%&%&%&%~}~}~}~}~}~}~}~}|{|{|{|{|{|{|{|{zyzyzyzyzyzyzyzyxwxwxwxwvuvuvuvuvuvuvuvutstststststststsrqrqrqrqrqrqrqrqpopopoponmnmnmnmnmnmnmnmklklklkkjijijijijijijijihghghghghghghghgfefefefefefefefedcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSRQRQRQRQRQRQRQRQOPOPOPOPPONMNMNMNMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEDCDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;:9:9:9:9:9:9:9:98787878787878787656565654343434343434343212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('&%&%&%&%&%&%&%&%~}~}~}~}~}~}~}~}|{|{|{|{|{|{|{|{zyzyzyzyzyzyzyzyxwxwxwxwvuvuvuvuvuvuvuvutstststststststsrqrqrqrqrqrqrqrqpopopoponmnmnmnmnmnmnmnmkkkklklkjijijijijijijijihghghghghghghghgfefefefefefefefedcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSRQRQRQRQRQRQRQRQOPOPOPOPNMNMNMNMNMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEDCDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;:9:9:9:9:9:9:9:98787878787878787656565654343434343434343212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('&%&%&%&%&%&%&%&%~}~}~}~}~}~}~}~}|{|{|{|{|{|{|{|{zyzyzyzyzyzyzyzyxwxwxwxwvuvuvuvuvuvuvuvutstststststststsrqrqrqrqrqrqrqrqpopopoponmnmnmnmnmnmnmnmlklklklkjijijijijijijijihghghghghghghghgfefefefefefefefedcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSRQRQRQRQRQRQRQRQOPOPOPOPNMNMNMNMNMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEDCDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;:9:9:9:9:9:9:9:98787878787878787656565654343434343434343212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('&%&%&%&%&%&%&%&%~}~}~}~}~}~}~}~}|{|{|{|{|{|{|{|{zyzyzyzyzyzyzyxwxwxwxwxwvuvuvuvuvuvuvuvutstststststststsrqrqrqrqrqrqrqrqpopopoponmnmnmnmnmnmnmnmlklklklkjijijijijijijijihghghghghghghghgfefefefefefefefedcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[ZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSRQRQRQRQRQRQRQRQOPOPOPOPNMNMNMNMNMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEDCDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=<;<;<;<;<;<;<;:9:9:9:9:9:9:9:98787878787878765656565654343434343433333212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('&%&%&%&%&%&%&%&%~}~}~}~}~}~}~}~}|{|{|{|{|{|{|{|{zyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvutstststststststsrqrqrqrqrqrqrqrqpopopoponmnmnmnmnmnmnmlklklklklkjijijijijijijijihghghghghghghghgfefefefefefedcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSRQRQRQRQRQRQRQRQOPOPOPOPNMNMNMNMNMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGHGFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:98787878765656565656565653333343443434343212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%~}~}~}~}~}~}~}~}|{|{|{|{|{|{|{|{zyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvutstststststststsrqrqrqrqrqrqrqrqpopopoponmnmnmnmlklklkkklklklklkjijijijijijijijihghghghghghghghgfefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSRQRQRQRQRQRQRQRQOPOPOOOONMNMNMNMNMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:98787878765656565656565653434343421212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%~}~}~}~}~}~}~}~}|{|{|{|{|{|{|{|{zyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvutstststststststsrqrqrqrqrqrqrqrqpopopoponmnmnmnmkkklklkllklklklkjijijijijijijijihghghghghghghghgfefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSRQRQRQRQRQRQRQRQOOPOPOPONMNMNMNMNMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:98787878765656565656565653434343421212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%~}~}~}~}~}~}~}~}|{|{|{|{|{|{|{|{zyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvutstststststststsrqrqrqrqrqrqrqpopopopoponmnmnmnmklklklkllkkkkkkljijijijijijijijihghghghghghghghgfefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPONMNMNMNMNMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:98787878765656565656565653434343421212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%~}~}~}~}~}~}~}~}|{|{|{|{|{|{|{zyzyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvutstststststststsrqrqrqrqpopopopopopopoponmnmnmnmklklklklklklklkljijijijijijijijihghghghghghghghgfefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPONMNMNMNMNMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?@?>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:98787878765656565656565653434343421212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%~}~}~}~}~}~}~}~}|{|{|{|{zyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvutstststststststsrqrqrqrqpopopopopopopoponmnmnmnmklklklklklklklkljijijijijijijijihghghghghghgfefefefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSRQRQRQRQRQRQPOPOPOPOPOPONMNMNMNMNMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIJIHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:98787878765656565656565653434343421212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%~}~}~}~}~}~}~}~}|{|{|{|{zyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvutstststststststsrqrqrqrqpopopopopopopoponmnmnmnmklklklklklklklkljijijijijijijijihghghghgfefefefefefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSRQRQRQRQPOPOOOOOPOPOPOPONMNMNMNMNMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:98787878765656565656565653433333321212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%~}~}~}~}~}~}~}~}|{|{|{|{zyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvutstststststststsrqrqrqrqpopopopopopopoponmnmnmnmklklklklklklklkljijijijijijijijihghghghgfefefefefefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSRQRQRQRQOPOPOPOPPOPOPOPONMNMNMNMNMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:98787878765656565656565654343434321212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%~}~}~}~}~}~}~}~}|{|{|{|{zyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvutststststststsrqrqrqrqrqpopopopopopopoponmnmnmnmkkkkkklkklklklkljijijijijijijijihghghghgfefefefefefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUVUVUTSTSTSTSTSTSRQRQRQRQOPOPOPOPOOOOOPOPNMNMNMNMNMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:98787878765656565656565654343434321212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%&%&%&%&%~}~}~}~}~}~}~}|{|{|{|{|{zyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvutstststsrqrqrqrqrqrqrqrqpopopopopopopoponmnmnmnmlklklklkklklkkkkjijijijijijijijihghghghgfefefefefefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQOPOPOPOPOPOPOPOPNMNMNMNMNMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABABA@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:98787878765656565656565654343434321212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%&%&%&%&%~}~}~}~}|{|{|{|{|{|{|{|{zyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvutstststsrqrqrqrqrqrqrqrqpopopopopopopoponmnmnmnmlklklklkkklklklkjijijijijijihghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQOPOPOPOPOPOPOPOPNMNMNMNMNMNMNMNMLKLKLKLKLKJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:98787878765656565654343434343434321212121212121210/0/0/0/0/0/0/0/.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#~}~}~}~}|{|{|{|{|{|{|{|{zyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvutstststsrqrqrqrqrqrqrqrqpopopopopopopoponmnmnmnmlklklklklklklklkjijijijihghghghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQOPOPOPOPOPOPOPOPNMNMNMNMNMNMNMNMLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:9:9:9:9:98787878765656565433333344343434321212121212121210/0/0/0/0/0/0/0/.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!                - - - - - - - - $#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!                - - - - - - - - $#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!                - - - - - - - $#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!                - - - - $#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!                - - - - $#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!                - - - - $#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!                - - - - $#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!            - - - - - $#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!            - - - - - - - - $#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!            - - - - - - - - $#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!            - - - - - - - - $#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!            - - - - - - - - $#$#$#$#$#$#$#$#"!"!"!"!               - - - - - - - - $#$#$#$#$#$#$#$#"!"!"!"!            - - - - - - - - $#$#$#$#$#$#$#$#"!"!"!"!            - - - - - - - - $#$#$#$#$#$#$#$#"!"!"!"!            - - - - - - - - $#$#$#$#$#$#$#$#"!"!"!"!            - - - - - - - - $#$#$#$#"!"!"!"!"!"!"!"!             - - - - - - - - $#$#$#$#"!"!"!"!"!"!"!"!                - - - - - - - - $#$#$#$#"!"!"!"!"!"!"!"!                - - - - - - - - $#$#$#$#"!"!"!"!"!"!"!"!                - - - - - - - - $#$#$#$#"!"!"!"!"!"!"!"!                - - - - - - - - $#$#$#$#"!"!"!"!"!"!"!"!                - - - - - - - - $#$#$#$#"!"!"!"!"!"!"!"!                - - - - - - - - LLKKJJII%%&&''((eeddccbb !!""##YXXWWVVUyyzz{{||~~}} AABBCCDDXXWWVVUU - - iijjkkll00//..--11223344hhggffeeYYZZ[[\\@@??>>==!!""##$$iihhggffeddccbba ffgghhii33221100..//0011kkjjiihh - - VVWWXXYYCCBBAA@@ !!~~{{zzyyxxFFGGHHIISSRRQQPPnnooppqq~~ - -kkqqrrsszzyyxxww SSTTUUVVFFEEDDCC{{||}}~~~~}}||{{CCDDEEFFVVUUTTSS kkllmmnn..--,,++33445566ffeeddcc[[\\]]^^%%$$##""XXYYZZ[[&%%$$##"@@AABBCCYYXXWWVV - - hhiijjkk1100//..00112233iihhggff XXYYZZ[[AA@@??>> !!""##yyxxwwvvHHIIJJKK==<<;;::@@AABBCC;;::9987--..//00llkkjjii - - UUVVWWXXDDCCBBAA }}~~||{{zzyyEEFFGGHHHHGGFFEE))**++,,aa``__^^$$%%&&''UTSRQPOO }}~~||{{zzyyEEFFGGHHTTSSRRQQ mmnnoopp,,++**))55667788ddccbbaa]]^^__``<<;;::99%%&&''((eeddccbba``__^^] - - jjkkllmm//..--,,22334455ggffeeddZZ[[\\]]??>>==<<""##$$%%wwvvuuttJJKKLLMMOONNMMLLrrssttuu}}||{{zz ttuuvvwwvvuuttss - - WWXXYYZZBBAA@@?? !!""zzyyxxwwGGHHIIJJRRQQPPOOooppqqrr**))((''778899::bbaa``____``aabb!! \\]]^^__"!! DDEEFFGGUUTTSSRR llmmnnoo--,,++**44556677eeddccbb\\]]^^__==<<;;::$$%%&&''uuttssrrLLMMNNOO99332211DDEEFFGG6543322111223344hhggffeeYYZZ[[\\@@??>>==!!""##$$xxwwvvuuIIJJKKLLDDCCBBAA--..//00]]\\[[ZZ(())**++NNMMLLKK!!""##$$xxwwvvuuIIJJKKLLPPOONNMMqqrrsstt((''&&%%99::;;<<``__^^]]aabbccdd88776655))**++,,aa``__^^]\\[[ZZYnnooppqq++**))((66778899ccbbaa``^^__``aa;;::9988&&''(())ssrrqqppNNOOPPQQKKJJIIHHvvwwxxyyyyxxwwvvxxyyzz{{rrqqponm[[\\]]^^>>==<<;;##$$%%&&vvuuttssKKLLMMNNNNMMLLKKssttuuvv&&%%$$##;;<<==>>^^]]\\[[ccddeeff``aabbccHHIIJJKKQQPPOONNppqqrrss))((''&&8899::;;aa``__^^``aabbcc99887766(())**++qqppoonnPPQQRRSS00//..--HHIIJJKK100//..-55667788ddccbbaa]]^^__``<<;;::99%%&&''((ttssrrqqMMNNOOPP@@??>>==11223344YYXXWWVV,,--..//JJIIHHGG%%&&''((ttssrrqqMMNNOOPPLLKKJJIIuuvvwwxx$$##""!!==>>??@@\\[[ZZYYeeffgghh44332211--..//00]]\\[[ZZ !!""##YXXWWVVUrrssttuu''&&%%$$::;;<<==__^^]]\\bbccddee77665544**++,,--oonnmmll RRSSTTUUGGFFEEDDzz{{||}}uuttssrr - - ||}}~~lkkjjiih__``aabb::998877''(())**rrqqppooOOPPQQRRJJIIHHGGwwxxyyzz""!! ??@@AABBZZYYXXWW - -gghhiijjddeeffgg~~LLMMNNOOMMLLKKJJttuuvvww%%$$##""<<==>>??]]\\[[ZZddeeffgg55443322,,--..//mmllkkjj - -TTUUVVWW,,++**))LLMMNNOO-,,++**)99::;;<<``__^^]]aabbccdd88776655))**++,,ppoonnmm QQRRSSTT<<;;::9955667788UUOONNMM00112233FFEEDDCC))**++,,ppoonnmm QQRRSSTTHHGGFFEEyyzz{{||~~}} AABBCCDDXXWWVVUU - - iijjkkll00//..--11223344YYXXWWVV$$%%&&''UTSRQPOOvvwwxxyy##""!! >>??@@AA[[ZZYYXX ffgghhii33221100..//0011kkjjiihh - - VVWWXXYYCCBBAA@@ !!~~qqkkjjii hggffeedccddeeff66554433++,,--..nnmmllkk SSTTUUVVFFEEDDCC{{||}}~~~~}}||{{CCDDEEFFVVUUTTSS kkllmmnn hhiijjkk}}||{{zzPPQQRRSSIIHHGGFFxxyyzz{{~~!! @@AABBCCYYXXWWVV - - hhiijjkk1100//..00112233iihhggff XXYYZZ[[((''&&%%UUVVWWXX)((''&&%==>>??@@\\[[ZZYYeeffgghh44332211--..//00llkkjjii - - UUVVWWXX8877665599::;;<>==<<""##$$%%hhggffeedccbbaa` - -gghhiijj221100////001122jjiihhgg - - WWXXYYZZBBAA@@?? !!""zzyyxxwwGGHHIIJJRRQQPPOOooppqqrr~~}} - - qqrrssttyyxxwwvv TTUUVVWWEEDDCCBB||}}~~}}||{{zzDDEEFFGGUUTTSSRR llmmnnoo--,,++**44556677eeddccbb\\]]^^__$$##""!!YYZZ[[\\%$$##""!AABBCCDDXXWWVVUU - - iijjkkll00//..--11223344hhggffeeYYZZ[[\\44332211==>>??@@HHGGFFEE==>>??@@>>==<<;;11223344hhggffeeYYZZ[[\\@@??>>==!!""##$$xxwwvvuuIIJJKKLLPPOONNMMqqrrsstt((''&&%%99::;;<>==<<;;##$$%%&&vvuuttssKKLLMMNNNNMMLLKKssttuuvv||{{zzyyuuvvwwxxuuttssrr - - XXYYZZ[[AA@@??>> !!""##yyxxwwvvHHIIJJKKQQPPOONNppqqrrss))((''&&8899::;;aa``__^^``aabbcc ]]^^__``! EEFFGGHHTTSSRRQQ mmnnoopp,,++**))55667788ddccbbaa]]^^__``00//..--AABBCCDDDDCCBBAAAABBCCDD::99876555667788ddccbbaa]]^^__``<<;;::99%%&&''((ttssrrqqMMNNOOPPLLKKJJIIuuvvwwxx$$##""!!==>>??@@HHGGFFEE00112233FFEEDDCC""##$$%%wwvvuuttJJKKLLMMOONNMMLLrrssttuu''&&%%$$::;;<<==__^^]]\\bbccddee77665544**++,,--``__^^]] \[[ZZYYXooppqqrr**))((''778899::bbaa``____``aabb::998877''(())**rrqqppooOOPPQQRRJJIIHHGGwwxxyyzzxxwwvvuuyyzz{{||qqponmlk\\]]^^__==<<;;::$$%%&&''uuttssrrLLMMNNOOMMLLKKJJttuuvvww%%$$##""<<==>>??]]\\[[ZZddeeffggaabbccddIIJJKKLLPPOONNMMqqrrsstt((''&&%%99::;;<<``__^^]]aabbccdd,,++**))EEFFGGHH@@??>>==EEFFGGHH4332211099::;;<<``__^^]]aabbccdd88776655))**++,,ppoonnmm QQRRSSTTHHGGFFEEyyzz{{||~~}} AABBCCDDDDCCBBAA99::;;<>??@@AA[[ZZYYXX ffgghhii33221100..//0011\\[[ZZYY!!""##$$XWWVVUUTssttuuvv&&%%$$##;;<<==>>^^]]\\[[ccddeeff66554433++,,--..nnmmllkk SSTTUUVVFFEEDDCC{{||}}~~ttssrrqq - - }}~~kjjiihhg``aabbcc99887766(())**++qqppoonnPPQQRRSSIIHHGGFFxxyyzz{{~~!! @@AABBCCYYXXWWVV - - hhiijjkkeeffgghh~~}}MMNNOOPPLLKKJJIIuuvvwwxx$$##""!!==>>??@@\\[[ZZYYeeffgghh((''&&%%IIJJKKLL<<;;::99IIJJKKLL0//..--,==>>??@@\\[[ZZYYeeffgghh44332211--..//00llkkjjii - - UUVVWWXXDDCCBBAA }}~~||{{zzyyEEFFGGHH@@??>>====>>??@@>>==<<;;**++,,--oonnmmll RRSSTTUUGGFFEEDDzz{{||}}~~}}||BBCCDDEEWWVVUUTT - - jjkkllmm//..--,,22334455XXWWVVUU%%&&''((SRQPOONNwwxxyyzz""!! ??@@AABBZZYYXXWW - -gghhiijj221100////001122jjiihhgg - - WWXXYYZZBBAA@@?? !!""kkjjiihh gffeeddcddeeffgg55443322,,--..//mmllkkjj - -TTUUVVWWEEDDCCBB||}}~~}}||{{zzDDEEFFGGUUTTSSRR llmmnnoo iijjkkqq||{{zzyyQQRRSSTTHHGGFFEEyyzz{{||~~}} AABBCCDDXXWWVVUU - - iijjkkll$$##""!!MMNNOOPP33221100MMNNOOUU,++**))(AABBCCDDXXWWVVUU - - iijjkkll00//..--11223344hhggffeeYYZZ[[\\@@??>>==!!""##$$xxwwvvuuIIJJKKLL<<;;::99AABBCCDD::998765..//0011kkjjiihh - - VVWWXXYYCCBBAA@@ !!~~{{zzyyxxFFGGHHIISSRRQQPPnnooppqq++**))((66778899OONNMMLL))**++,,MMLLKKJJ{{||}}~~~~}}||{{CCDDEEFFVVUUTTSS kkllmmnn..--,,++33445566ffeeddcc[[\\]]^^>>==<<;;##$$%%&&ggffeeddcbbaa``_ - - hhiijjkk1100//..00112233iihhggff XXYYZZ[[AA@@??>> !!""##yyxxwwvvHHIIJJKKQQPPOONNppqqrrss~~}}|| - - rrssttuuxxwwvvuu UUVVWWXXDDCCBBAA }}~~||{{zzyyEEFFGGHHTTSSRRQQ mmnnoopp~~}} QQRRSSTT//..--,,VVWWXXYY(''&&%%$EEFFGGHHTTSSRRQQ mmnnoopp,,++**))55667788ddccbbaa]]^^__``<<;;::99%%&&''((ttssrrqqMMNNOOPP33221100EEFFGGHH4332211022334455ggffeeddZZ[[\\]]??>>==<<""##$$%%wwvvuuttJJKKLLMMOONNMMLLrrssttuu''&&%%$$::;;<<==KKJJIIHH--..//00IIHHGGFF !!""zzyyxxwwGGHHIIJJRRQQPPOOooppqqrr**))((''778899::bbaa``____``aabb::998877''(())**ccbbaa``_^^]]\\[ llmmnnoo--,,++**44556677eeddccbb\\]]^^__==<<;;::$$%%&&''uuttssrrLLMMNNOOMMLLKKJJttuuvvww{{zzyyxxvvwwxxyyttssrrqq - - YYZZ[[\\@@??>>==!!""##$$xxwwvvuuIIJJKKLLPPOONNMMqqrrsstt||{{zzyyUUVVWWXX++**))((ZZ[[\\]]$##""!! IIJJKKLLPPOONNMMqqrrsstt((''&&%%99::;;<<``__^^]]aabbccdd88776655))**++,,ppoonnmm QQRRSSTT//..--,,IIJJKKLL0//..--,66778899ccbbaa``^^__``aa;;::9988&&''(())ssrrqqppNNOOPPQQKKJJIIHHvvwwxxyy##""!! >>??@@AAGGFFEEDD11223399EEDDCCBB##$$%%&&vvuuttssKKLLMMNNNNMMLLKKssttuuvv&&%%$$##;;<<==>>^^]]\\[[ccddeeff66554433++,,--..__^^]]\\ !![ZZYYXXWppqqrrss))((''&&8899::;;aa``__^^``aabbcc99887766(())**++qqppoonnPPQQRRSSIIHHGGFFxxyyzz{{wwvvuutt zz{{||}}ponmlkkj]]^^__``<<;;::99%%&&''((ttssrrqqMMNNOOPPLLKKJJIIuuvvwwxxxxwwvvuuYYZZ[[\\''&&%%$$^^__``aa MMNNOOPPLLKKJJIIuuvvwwxx$$##""!!==>>??@@\\[[ZZYYeeffgghh44332211--..//00llkkjjii - - UUVVWWXX++**))((MMNNOOUU,++**))(::;;<<==__^^]]\\bbccddee77665544**++,,--oonnmmll RRSSTTUUGGFFEEDDzz{{||}}~~}}||BBCCDDEECCBBAA@@::;;<<==AA@@??>>''(())**rrqqppooOOPPQQRRJJIIHHGGwwxxyyzz""!! ??@@AABBZZYYXXWW - -gghhiijj221100////001122[[ZZYYXX""##$$%%WVVUUTSRttuuvvww%%$$##""<<==>>??]]\\[[ZZddeeffgg55443322,,--..//mmllkkjj - -TTUUVVWWEEDDCCBB||}}~~ssrrqqkk - - ~~jiihhggfaabbccdd88776655))**++,,ppoonnmm QQRRSSTTHHGGFFEEyyzz{{||ttssrrqq]]^^__``##""!! bbccddeeQQRRSSTTHHGGFFEEyyzz{{||~~}} AABBCCDDXXWWVVUU - - iijjkkll00//..--11223344hhggffeeYYZZ[[\\''&&%%$$VVWWXXYY(''&&%%$>>??@@AA[[ZZYYXX ffgghhii33221100..//0011kkjjiihh - - VVWWXXYYCCBBAA@@ !!~~{{zzyyxxFFGGHHII??>>==<<>>??@@AA==<<;;::++,,--..nnmmllkk SSTTUUVVFFEEDDCC{{||}}~~~~}}||{{CCDDEEFFVVUUTTSS kkllmmnn..--,,++33445566WWVVUUOO&&''(())QPOONNMMxxyyzz{{~~!! @@AABBCCYYXXWWVV - - hhiijjkk1100//..00112233iihhggff XXYYZZ[[AA@@??>> !!""##jjiihhggfeeddccbeeffgghh44332211--..//00llkkjjii - - UUVVWWXXDDCCBBAA }}~~ppoonnmm aabbccddffgghhii~~}}||UUVVWWXXDDCCBBAA }}~~||{{zzyyEEFFGGHHTTSSRRQQ mmnnoopp,,++**))55667788ddccbbaa]]^^__``##""!! ZZ[[\\]]$##""!! BBCCDDEEWWVVUUTT - - jjkkllmm//..--,,22334455ggffeeddZZ[[\\]]??>>==<<""##$$%%wwvvuuttJJKKLLMM;;::9933BBCCDDEE99876543//001122jjiihhgg - - WWXXYYZZBBAA@@?? !!""zzyyxxwwGGHHIIJJRRQQPPOOooppqqrr**))((''778899::NNMMLLKK**++,,--LLKKJJII||}}~~}}||{{zzDDEEFFGGUUTTSSRR llmmnnoo--,,++**44556677eeddccbb\\]]^^__==<<;;::$$%%&&''ffeeddccbaa``__^ - - iijjkkll00//..--11223344hhggffeeYYZZ[[\\@@??>>==!!""##$$llkkjjii - - eeffgghhjjkkqqrr{{zzyyxxYYZZ[[\\@@??>>==!!""##$$xxwwvvuuIIJJKKLLPPOONNMMqqrrsstt((''&&%%99::;;<<``__^^]]aabbccdd^^__``aa FFGGHHIISSRRQQPPnnooppqq++**))((66778899ccbbaa``^^__``aa;;::9988&&''(())ssrrqqppNNOOPPQQ221100//FFGGHHII3221100/33445566ffeeddcc[[\\]]^^>>==<<;;##$$%%&&vvuuttssKKLLMMNNNNMMLLKKssttuuvv&&%%$$##;;<<==>>JJIIHHGG..//0011HHGGFFEE !!""##yyxxwwvvHHIIJJKKQQPPOONNppqqrrss))((''&&8899::;;aa``__^^``aabbcc99887766(())**++bbaa``__^]]\\[[Z mmnnoopp,,++**))55667788ddccbbaa]]^^__``<<;;::99%%&&''((hhggffee - - iijjkkllssttuuvvwwvvuutt - -]]^^__``<<;;::99%%&&''((ttssrrqqMMNNOOPPLLKKJJIIuuvvwwxx$$##""!!==>>??@@\\[[ZZYYeeffgghhbbccddeeJJKKLLMMOONNMMLLrrssttuu''&&%%$$::;;<<==__^^]]\\bbccddee77665544**++,,--oonnmmll RRSSTTUU..--,,++JJKKLLMM/..--,,+778899::bbaa``____``aabb::998877''(())**rrqqppooOOPPQQRRJJIIHHGGwwxxyyzz""!! ??@@AABBFFEEDDCC223399::DDCCBBAA$$%%&&''uuttssrrLLMMNNOOMMLLKKJJttuuvvww%%$$##""<<==>>??]]\\[[ZZddeeffgg55443322,,--..//^^]]\\[[ !!""ZYYXXWWVqqrrsstt((''&&%%99::;;<<``__^^]]aabbccdd88776655))**++,,ddccbbaa mmnnoopp wwxxyyzzssrrqqpo aabbccdd88776655))**++,,ppoonnmm QQRRSSTTHHGGFFEEyyzz{{||~~}} AABBCCDDXXWWVVUU - - iijjkkllffgghhii~~}}||NNOOPPQQKKJJIIHHvvwwxxyy##""!! >>??@@AA[[ZZYYXX ffgghhii33221100..//0011kkjjiihh - - VVWWXXYY**))((''NNOOUUVV+**))((';;<<==>>^^]]\\[[ccddeeff66554433++,,--..nnmmllkk SSTTUUVVFFEEDDCC{{||}}~~~~}}||{{CCDDEEFFBBAA@@??;;<<==>>@@??>>==(())**++qqppoonnPPQQRRSSIIHHGGFFxxyyzz{{~~!! @@AABBCCYYXXWWVV - - hhiijjkk1100//..00112233ZZYYXXWW##$$%%&&VUUTSRQPuuvvwwxx$$##""!!==>>??@@\\[[ZZYYeeffgghh44332211--..//00``__^^]]qqrrsstt~~}}||{{ - - - -{{||}}~~nmlkkjjieeffgghh44332211--..//00llkkjjii - - UUVVWWXXDDCCBBAA }}~~||{{zzyyEEFFGGHHTTSSRRQQ mmnnoopp jjkkqqrr{{zzyyxxRRSSTTUUGGFFEEDDzz{{||}}~~}}||BBCCDDEEWWVVUUTT - - jjkkllmm//..--,,22334455ggffeeddZZ[[\\]]&&%%$$##WWXXYYZZ'&&%%$$#??@@AABBZZYYXXWW - -gghhiijj221100////001122jjiihhgg - - WWXXYYZZBBAA@@?? !!""zzyyxxwwGGHHIIJJ>>==<<;;??@@AABB<<;;::99,,--..//mmllkkjj - -TTUUVVWWEEDDCCBB||}}~~}}||{{zzDDEEFFGGUUTTSSRR llmmnnoo--,,++**44556677VVUUOONN''(())**OONNMMLLyyzz{{||~~}} AABBCCDDXXWWVVUU - - iijjkkll00//..--11223344\\[[ZZYYuuvvwwxxzzyyxxww ihhggffe - - iijjkkll00//..--11223344hhggffeeYYZZ[[\\@@??>>==!!""##$$xxwwvvuuIIJJKKLLPPOONNMMqqrrsstt~~}}||{{ - - ssttuuvvwwvvuutt - -VVWWXXYYCCBBAA@@ !!~~{{zzyyxxFFGGHHIISSRRQQPPnnooppqq++**))((66778899ccbbaa``^^__``aa""!! [[\\]]^^#""!! CCDDEEFFVVUUTTSS kkllmmnn..--,,++33445566ffeeddcc[[\\]]^^>>==<<;;##$$%%&&vvuuttssKKLLMMNN::993322CCDDEEFF8765433200112233iihhggff XXYYZZ[[AA@@??>> !!""##yyxxwwvvHHIIJJKKQQPPOONNppqqrrss))((''&&8899::;;MMLLKKJJ++,,--..KKJJIIHH }}~~||{{zzyyEEFFGGHHTTSSRRQQ mmnnoopp,,++**))55667788XXWWVVUUyyzz{{||vvuuttsseddccbba mmnnoopp,,++**))55667788ddccbbaa]]^^__``<<;;::99%%&&''((ttssrrqqMMNNOOPPLLKKJJIIuuvvwwxxzzyyxxwwwwxxyyzzssrrqqpo ZZ[[\\]]??>>==<<""##$$%%wwvvuuttJJKKLLMMOONNMMLLrrssttuu''&&%%$$::;;<<==__^^]]\\bbccddee__``aabbGGHHIIJJRRQQPPOOooppqqrr**))((''778899::bbaa``____``aabb::998877''(())**rrqqppooOOPPQQRR1100//..GGHHIIJJ21100//.44556677eeddccbb\\]]^^__==<<;;::$$%%&&''uuttssrrLLMMNNOOMMLLKKJJttuuvvww%%$$##""<<==>>??IIHHGGFF//001122GGFFEEDD!!""##$$xxwwvvuuIIJJKKLLPPOONNMMqqrrsstt((''&&%%99::;;<>??@@AA[[ZZYYXX ffgghhiiccddeeffKKLLMMNNNNMMLLKKssttuuvv&&%%$$##;;<<==>>^^]]\\[[ccddeeff66554433++,,--..nnmmllkk SSTTUUVV--,,++**KKLLMMNN.--,,++*8899::;;aa``__^^``aabbcc99887766(())**++qqppoonnPPQQRRSSIIHHGGFFxxyyzz{{~~!! @@AABBCCEEDDCCBB3399::;;CCBBAA@@%%&&''((ttssrrqqMMNNOOPPLLKKJJIIuuvvwwxx$$##""!!==>>??@@PPOONNMM!!""##$$iihhggff]\\[[ZZYuuvvwwxx$$##""!!==>>??@@\\[[ZZYYeeffgghh44332211--..//00llkkjjii - - UUVVWWXXDDCCBBAA }}~~rrqqkkjj ihhggffebbccddee77665544**++,,--oonnmmll RRSSTTUUGGFFEEDDzz{{||}}~~}}||BBCCDDEEWWVVUUTT - - jjkkllmmgghhiijj~~}}||{{OOPPQQRRJJIIHHGGwwxxyyzz""!! ??@@AABBZZYYXXWW - -gghhiijj221100////001122jjiihhgg - - WWXXYYZZ))((''&&OOUUVVWW*))((''&<<==>>??]]\\[[ZZddeeffgg55443322,,--..//mmllkkjj - -TTUUVVWWEEDDCCBB||}}~~}}||{{zzDDEEFFGGAA@@??>><<==>>????>>==<<))**++,,ppoonnmm QQRRSSTTHHGGFFEEyyzz{{||~~}} AABBCCDDDDCCBBAA }}~~||{{zzyyEEFFGGHH@@??>>====>>??@@>>==<<;;**++,,--oonnmmll RRSSTTUUGGFFEEDDzz{{||}}~~}}||BBCCDDEE@@??>>==EEFFGGHH//..--,,BBCCDDEE@@??>>==!!""##$$xxwwvvuuIIJJKKLL<<;;::99AABBCCDD::998765..//0011kkjjiihh - - VVWWXXYYCCBBAA@@ !!~~{{zzyyxxFFGGHHII<<;;::99IIJJKKLL++**))((FFGGHHII<<;;::99%%&&''((ttssrrqqMMNNOOPP33221100EEFFGGHH4332211022334455ggffeeddZZ[[\\]]??>>==<<""##$$%%wwvvuuttJJKKLLMM33221100MMNNOOUU''&&%%$$JJKKLLMM88776655))**++,,ppoonnmm QQRRSSTT//..--,,IIJJKKLL0//..--,66778899ccbbaa``^^__``aa;;::9988&&''(())ssrrqqppNNOOPPQQ//..--,,VVWWXXYY##""!! NNOOPPQQ44332211--..//00llkkjjii - - UUVVWWXX++**))((MMNNOOUU,++**))(::;;<<==__^^]]\\bbccddee77665544**++,,--oonnmmll RRSSTTUU++**))((ZZ[[\\]]~~}}||RRSSTTUU00//..--11223344hhggffeeYYZZ[[\\''&&%%$$VVWWXXYY(''&&%%$>>??@@AA[[ZZYYXX ffgghhii33221100..//0011kkjjiihh - - VVWWXXYY''&&%%$$^^__``aa{{zzyyxxVVWWXXYY,,++**))55667788ddccbbaa]]^^__``##""!! ZZ[[\\]]$##""!! BBCCDDEEWWVVUUTT - - jjkkllmm//..--,,22334455ggffeeddZZ[[\\]]##""!! bbccddeewwvvuuttZZ[[\\]]((''&&%%99::;;<<``__^^]]aabbccdd^^__``aa FFGGHHIISSRRQQPPnnooppqq++**))((66778899ccbbaa``^^__``aaffgghhiissrrqqpp^^__``aa$$##""!!==>>??@@\\[[ZZYYeeffgghhbbccddeeJJKKLLMMOONNMMLLrrssttuu''&&%%$$::;;<<==__^^]]\\bbccddeejjkkqqrroonnmmll bbccddee~~}} AABBCCDDXXWWVVUU - - iijjkkllffgghhii~~}}||NNOOPPQQKKJJIIHHvvwwxxyy##""!! >>??@@AA[[ZZYYXX ffgghhiissttuuvvkkjjiihh - - ffgghhii||{{zzyyEEFFGGHHTTSSRRQQ mmnnoopp jjkkqqrr{{zzyyxxRRSSTTUUGGFFEEDDzz{{||}}~~}}||BBCCDDEEWWVVUUTT - - jjkkllmm wwxxyyzzggffeedd - - jjkkllmmxxwwvvuuIIJJKKLLPPOONNMMqqrrsstt~~}}||{{ - - ssttuuvvwwvvuutt - -VVWWXXYYCCBBAA@@ !!~~{{zzyyxxFFGGHHIISSRRQQPPnnooppqq~~}}||{{ - - - -{{||}}~~ccbbaa``nnooppqqttssrrqqMMNNOOPPLLKKJJIIuuvvwwxxzzyyxxwwwwxxyyzzssrrqqpo ZZ[[\\]]??>>==<<""##$$%%wwvvuuttJJKKLLMMOONNMMLLrrssttuuzzyyxxww __^^]]\\rrssttuuppoonnmm QQRRSSTTHHGGFFEEyyzz{{||vvuuttss - -{{||}}~~nmlkkjji^^__``aa;;::9988&&''(())ssrrqqppNNOOPPQQKKJJIIHHvvwwxxyyvvuuttss[[ZZYYXXvvwwxxyyllkkjjii - - UUVVWWXXDDCCBBAA }}~~rrqqkkjj ihhggffebbccddee77665544**++,,--oonnmmll RRSSTTUUGGFFEEDDzz{{||}}rrqqkkjjWWVVUUTTzz{{||}}hhggffeeYYZZ[[\\@@??>>==!!""##$$iihhggffeddccbba ffgghhii33221100..//0011kkjjiihh - - VVWWXXYYCCBBAA@@ !!~~iihhggffSSRRQQPP !!~~ddccbbaa]]^^__``<<;;::99%%&&''((eeddccbba``__^^] - - jjkkllmm//..--,,22334455ggffeeddZZ[[\\]]??>>==<<""##$$%%eeddccbb !!""##OONNMMLL""##$$%%``__^^]]aabbccdd88776655))**++,,aa``__^^]\\[[ZZYnnooppqq++**))((66778899ccbbaa``^^__``aa;;::9988&&''(())aa``__^^$$%%&&''KKJJIIHH&&''(())\\[[ZZYYeeffgghh44332211--..//00]]\\[[ZZ !!""##YXXWWVVUrrssttuu''&&%%$$::;;<<==__^^]]\\bbccddee77665544**++,,--]]\\[[ZZ(())**++GGFFEEDD**++,,--XXWWVVUU - - iijjkkll00//..--11223344YYXXWWVV$$%%&&''UTSRQPOOvvwwxxyy##""!! >>??@@AA[[ZZYYXX ffgghhii33221100..//0011YYXXWWVV,,--..//CCBBAA@@..//0011TTSSRRQQ mmnnoopp,,++**))55667788UUOONNMM(())**++NNMMLLKKzz{{||}}~~}}||BBCCDDEEWWVVUUTT - - jjkkllmm//..--,,22334455UUOONNMM00112233??>>==<<22334455PPOONNMMqqrrsstt((''&&%%99::;;<>??@@HHGGFFEE00112233FFEEDDCC""##$$%%wwvvuuttJJKKLLMMOONNMMLLrrssttuu''&&%%$$::;;<<==HHGGFFEE==>>??@@77665544::;;<<==HHGGFFEEyyzz{{||~~}} AABBCCDDDDCCBBAA99::;;<>??@@AADDCCBBAAAABBCCDD33221100>>??@@AAfpvfpvXQJ`ےXQJ`ےtAJlf`vXfH~ے`JXtlJtlJf~Hf~HbHAZbHAZJlt`vXn`vXnr˂pr˂ptlJtlJf~HfHfbHAZJltJlt`vXn`vXnpZHAblJtArdQbt璅fpvHAZpbHAZpltbltbvXnvXn˂pZ˂pZlJtA~Hf~HfbHAZpbHAZpltbltbvXnvXn˂pZlJtAlJtA`f~nXvbHAtbdQJltXnv˂pZHA˂pZHAlJtArlJtAr~Hfp~HfpHAZp˂HAZp˂tbdQXnvXnv˂pZHA˂pZHAlJtArlJtAr~HfpHfpvHAZp˂|drtbdQZfH~r˂pZJXQrJtArdJtArdHfpvZp˂Zp˂tbdQZtbdQZnvpnvppZHAbpZHAJtArdHfpvHfpvZp˂Zp˂tbdQZtbdQZnvpnvpXQr˂JtArd~HfpXv`fp˂rp˂rbdQZ|bdQZ|vpfZHAbZHAbtArdtArdfpvfpvp˂rnXv`nXv`bHAZbHAZtbdQZnvpf`vXQrZHAtArdtArdfpvfpvp˂rp˂rbdQZ|vpfvpfZHAbZHAbtArdtArdfpvpvnp˂rbdQZ|bdQZ|vpfvpfے`Jd|Zl|ZdQnXv`˂rXQ˂rXQdQZ|dQZ|vpfHvpfHHAbےHAے`rd|pvnpvn˂rXQ˂rXQdQZ|dQZ|vpfHvpfےHAbےrd|rd|Hfpv`pvZp˂Z|dbdQZ|pfH~bے`bے`d|Zd|ZvnXvnXrXQJrXQJZ|dpfH~pfH~bے`bے`d|Zd|ZvnXnrXQrXQJtAJl|drf`vXAb`JpZHA|ZdQ|ZdQnXvrXQJ`rXQJ`|dr|drfH~fH~ے`Jے`JXQ|ZdQnXvnXvrXQJ`rXQJ`|dr|drfH~fے`Jp`JXQ|ZdQvnX~fpvXQJ`ےXQJ`ےdrtAdtAJH~fے`JXQے`JXQ|ZdQb|ZdQbnXv`nXv`XQJ`ےf~Hf~Hp˂rp˂r|drfH~nvpbے`|ZdQb|ZdQbnXv`nXv`XQJ`ےXQJ`ےdrtAH~fH~fے`JXQے`JXQ|ZdQb|ZdQbnXv`rXQJ`XQJ`ےdrtAdrtAH~fH~fXQr˂dQtArdbtlf~HJ`ےJ`ےdrtAJdrtAJ~f`~f``JXQrJXQrbZdQbtXv`fXv`fJ`ےJ`ےdrtAJdrtAJ~f``JXQr`JXQrZdQbtZdQbtnXvnrXQJrXQJ`rtAJAJl璐f`vJXQrJXQrdQbtdQbtv`fv`f`ےb`ےJlrtAJlf`vf`vJXQrJXQrdQbtdQbtv`fJ`ے`ےbtbdQZtAdQZ|nvpXQr˂bJQrbtlbtl`f~ےbHAےbHAtAJltAJlf`vXf`vXXQr˂rbtbtl`f~`f~ےbHAےbHAtAJltAJlf`vXXQHAbr˂pbtlv`fnXv`bHAZbHAZJltltb`vXnr˂pr˂ptlJtlJf~Hf~HbHAZfpvfpvXQJ`ےXQJ`ےtAJlf`vXfH~JXQrtlJtlJf~Hf~HbHAZJltJlt`vXn`vXnr˂pr˂ptlJtlJf~HےHAZbHAZJltJlt`vXn`vXnpZHAb|ZdQJtArdfpvbHAZpbHAZpltbltbvXnvXn˂pZtlJlJtA~Hf~HfbHAZpbHAZpltbltbvXn˂pZ˂pZlJtAlJtA`f~`p˂ےbHAbdQZ|tbnXnv˂pZHA˂pZHAlJtArlJtAr~Hfp~HfpHAZp˂tbdQtbdQXnvXnv˂pZHA˂pZHAlJtArlJtAr~HfpHAZp˂HAZp˂|ltdrtAfH~pZHAb˂pZJtArdJfpvHfpvZp˂Zp˂tbdQZtbdQZnvpnvppZHAblJtAdJtArdHfpvHfpvZp˂Zp˂tbdQZtbdQZnvpے`JXQZHAbJtArd~Hfpf~Hp˂rp˂rbdQZ|nvpvpfZHAbZHAbtArdtArdfpvfpvp˂rnXv`nXv`bHAZbHAZtdrtAnvpvpf˂pZHAtArdtArdfpvfpvp˂rbdQZ|bdQZ|vpfvpfZHAbZHAbtArdtArdfpvp˂rp˂rbdQZ|bdQZ|vpfvpfے`Jbtl|ZdQnvf˂rXQ˂rXQdQZ|dQZ|vpfHvpfHHAbےtAd|rd|pvnpvn˂rXQ˂rXQdQZ|dQZ|vpfHHAbےHAbےrd|rd|HXv`rXQJ`Zp˂drtAvpfHpfH~bے`bے`d|Zd|ZvnXvnXrXQJZ|dZ|dpfH~pfH~bے`bے`d|Zd|ZvnXrXQJrXQJbdQZ|Jltf`vXے`JHAbے|ZdQnXvnXvrXQJ`rXQJ`|dr|drfH~fH~ے`J|ZdQ|ZdQnXvnXvrXQJ`rXQJ`|dr|dtAfH~r˂pے`JXQtlJvnXfpvXQJ`ےXQJ`ےdrtAfHfH~fے`JXQے`JXQ|ZdQb|ZdQbnXv`nXv`XQJ`ےf~Hf~Hp˂rp˂rJlt`vXnے`JXQbے`|ZdQb|ZdQbnXv`nXv`XQJ`ےdrtAdrtAH~fH~fے`JXQے`JXQ|ZdQb|ZdQbnXv`XQJ`ےXQJ`ےdrtAdrtAH~fH~fXQHAbJtArdbtl~HfpJ`ےJ`ےdrtAJdrtAJ~f`~f``JXQrZdQbtZdQbtXv`fXv`fJ`ےJ`ےdrtAJdtAJl~f``JXQr`JXQrZdQbtZdQbtf~HےbHArXQJ`Jltf`vf`vJXQrJXQrdQbtdQbtv`fv`f`ےbrtAJlrtAJlf`vf`vJXQrJXQrdQbtdQbtv`f`ےb`ےbdrtAbdQZ|H~fXQr˂`JXQrbtl`f~`f~ےbHAےbHAtAJltAJlf`vXf`vXXQr˂btlbtl`f~`f~ےbHAےbHAtAJlJltf`vXZHAbr˂ptArdv`f~nXv`bHAZbHAZJlt`vXn`vXnr˂pr˂ptlJtlJf~HfHfbHAZfpvfpvXQJ`ےXQJ`ےbdQZ|vpfrZHAJXQrtlJtlJf~HfHfbHAZJltJlt`vXn`vXnr˂pr˂ptlJtlJf~HbHAZbHAZJltJlt`vXn`vXnے`JXQ|ZdQJtArdvnXbHAZpbHAZpltbltbvXnvXn˂pZlJtAlJtA~Hf~HfbHAZpbHAZpltbtbnvXn˂pZ˂pZlJtAlJtAfpvZp˂p˂rbdQZ|XnvXnv˂pZHA˂pZHAlJtArlJtAr~HfpHfpvHAZp˂tbdQtbdQXnvXnv˂pZHA˂pZHAlJtArlJfp~HfpHAZp˂HAZp˂Jltltb`vXnpZHAb˂pZAJtArdHfpvHfpvZp˂Zp˂tbdQZtbdQZnvpnvppZHAbJtArdJtArdHfpvHfpvZp˂Zp˂tbdQZbnvnvpے`JXQZHAb|ZdQbfpvf~Hp˂rp˂rbdQZ|vpfvpfZHAbZHAbtArdtArdfpvpvnp˂rnXv`nXv`bHAZbHAZdrtAH~fbے`˂pZAbtArdtArdfpvpvnp˂rbdQZ|bdQZ|vpfvpfZHAbZHAbtArdfpvfpvp˂rp˂rbdQZ|bdQZ|vpfvpfr˂pbtltlJv`f˂rXQ˂rXQdQZ|dQZ|vpfHvpfےHAbےrd|rd|pvnpvn˂rXQ˂rXQdQZ|vpfvpfHHAbےHAbےrd|rd|nXv`bHAZXQJ`ےdrtApfH~pfH~bے`bے`d|Zd|ZvnXnrXQrXQJZ|dZ|dpfH~pfH~bے`bے`d|ZvnXvnXrXQJrXQJbdQZ|nvpvpfJQr`JXQ|ZdQnXvnXvrXQJ`rXQJ`|dr|drfH~fے`Jے`J|ZdQ|ZdQnXvnXvrXQJ`rXQJ`|drpfHfH~r˂p˂pZtlJnXv`fvnXXQJ`ےXQJ`ےdrtAH~fH~fے`JXQے`JXQ|ZdQb|ZdQbnXv`rXQJ`XQJ`ےf~Hf~Hp˂rp˂rJlt`vXnJXQr˒`JXQ|ZdQb|ZdQbnXv`rXQJ`XQJ`ےdrtAdrtAH~fH~fے`JXQے`JXQ|ZdQbnXv`nXv`XQJ`ےXQJ`ےdrtAdrtAH~fH~fZHAb|ZdQbfpv~HfpJ`ےJ`ےdrtAJdrtAJ~f``JXQr`JXQrZdQbtZdQbtXv`fXv`fJ`ےJ`ےdrtAJHf`~f``JXQr`JXQrZdQbtZdQbtf~Hp˂rbHAZJltbf`vf`vJXQrJXQrdQbtdQbtv`fJ`ے`ےbrtAJlrtAJlf`vf`vJXQrJXQrdQbtv`fv`f`ےb`ےbdrtA`vXnH~f˂pZHrbtbtl`f~`f~ےbHAےbHAtAJltAJlf`vXXQr˂XQr˂btlbtl`f~`f~ےbHAےbHAtAJlf`vXf`vX`JXQrHAbےtArdf~Hv`fbHAZJltJlt`vXn`vXnr˂pr˂ptlJtlJf~HےHAZbHAZfpvfpvXQJ`ےXQJ`ےbdQZ|vpfpZHAr˂ptlJtlJf~HےHAZbHAZJltJlt`vXn`vXnr˂pr˂ptlJf~Hf~HbHAZbHAZJltJlt`vXn`vXnے`JXQtlJnvfvnXbHAZpbHAZpltbltbvXn˂pZ˂pZlJtAlJtA~Hf~HfbHAZpbHAZpltbvXnvXn˂pZ˂pZlJtAlJtAfpvXQJ`ےp˂rQZdrXnvXnv˂pZHA˂pZHAlJtArlJtAr~HfpHAZp˂HAZp˂tbdQtbdQXnvXnv˂pZHA˂pZHAlJtAr~Hfp~HfpHAZp˂HAZp˂dQZ|vpf`vXnAbے`lJtAdJtArdHfpvHfpvZp˂Zp˂tbdQZtbdQZnvppZHAbpZHAbJtArdJtArdHfpvHfpvZp˂Zp˂tbdQZnvpnvp˂pZ`JXQr|ZdQtAfpv~Hfpp˂rbdQZ|bdQZ|vpfvpfZHAbZHAbtArdtArdfpvp˂rp˂rnXv`nXv`bHAZJltltbH~bے`ZHAbtArdtArdfpvp˂rp˂rbdQZ|bdQZ|vpfvpfZHAbZHAےtArdfpvfpvp˂rp˂rbdQZ|bdQZ|vpfvpfr˂ptArd~Hfpv`f~˂rXQ˂rXQdQZ|dQZ|vpfHHAbےHAbےrd|rd|pvnpvn˂rXQ˂rXQdQZ|vpfHvpfHHAbےHAbےrd|rd|~HfbHAZXQJ`ےtAJlpfH~pfH~bے`bے`d|Zd|ZvnXrXQJrXQJZ|dZ|dpfH~pfH~bے`ے`Jd|ZvnXvnXrXQJrXQJdrtAJH~fvp`JXQr|ZdQ|ZdQnXvnXvrXQJ`rXQJ`|dr|dtAfH~ے`Jے`J|ZdQ|ZdQnXvnXvrXQJ`rXQJ`|drfH~fH~HAbے˂p`rd|nXv`vnXXQJ`ےdrtAdrtAH~fH~fے`JXQے`JXQ|ZdQb|ZdQbnXv`XQJ`ےXQJ`ےf~Hf~Hp˂rdrtAJdQZ|vpfHJXQr˒`JXQ|ZdQb|ZdQbnXv`XQJ`ےXQJ`ےdrtAdrtAH~fH~fے`JXQ`JXQr|ZdQbnXv`nXv`XQJ`ےXQJ`ےdrtAdrtAH~fے`JXQ`JXQr|ZdQbvnXfpvJ`ےJ`ےdrtAJdtAJl~f``JXQr`JXQrZdQbtZdQbtXv`fXv`fJ`ےJ`ےJdrtAJ~f`~f``JXQr`JXQrZdQbtZdQbtpvnp˂rbHAXQtbdQZf`vf`vJXQrJXQrdQbtdQbtv`f`ےb`ےbrtAJlrtAJlf`vf`vJXQrXQrbtdQbtv`fv`f`ےb`ےbltb`vXHvXn˂pZHbtlbtl`f~`f~ےbHAےbHAtAJlJltf`vXXQr˂XQr˂btlbtl`f~`f~ےbHAےJltAJlf`vXf`vX`JXQrJXQrbZdQbtf~Hv`ffbHAZJltJlt`vXn`vXnr˂pr˂ptlJtlJf~HbHAZbHAZfpvfpvXQJ`ےltbdrtAJ~f`pZAbr˂ptlJtlJf~HbHAZbHAZJltJlt`vXn`vXnr˂pbtltlJf~Hf~HbHAZbHAZJltJlt`vXnHAbے˂pZtlJv`fnXv`bHAZpbHAZpltbtbnvXn˂pZ˂pZlJtAlJtA~Hf~HfbHAZpltbltbvXnvXn˂pZ˂pZlJtAlJtAXv`fXQJ`pJ`ےJ|drXnvXnv˂pZHA˂pZHAlJtArlJfp~HfpHAZp˂HAZp˂tbdQtbdQXnvXnv˂pZHAlJtAlJtAr~Hfp~HfpHAZp˂HAZp˂dQZ|~f`vpfHAbے`JtArdJtArdHfpvHfpvZp˂Zp˂tbdQZbnvnvppZHAbpZHAbJtArdJtArdHfpvHfpvZp˂tbdQZtbdQZnvpnvp˂pZtl|lJtAfvnXpvnp˂rbdQZ|bdQZ|vpfvpfZHAbZHAbtArdfpvfpvp˂rp˂rnXv`nXv`bHAZdQZ|ltbvXn`JXQrZHAbtArdfpvfpvp˂rp˂rbdQZ|bdQZ|vpfvpfZHAbJtAdtArdfpvfpvp˂rp˂rbdQZ|bdQZ|vpf`JXQrHAbےtArdt~Hfpf~H˂rXQ˂rXQdQZ|vpfvpfHHAbےHAbےrd|rd|pvnpvn˂rXQdQZ|dQZ|vpfHvpfHHAbےHAbےrd|rd|~Hf˂rXQltbQtAJlpfH~pfH~bے`bے`d|ZvnXvnXrXQJrXQJZ|dZ|dpfH~pfH~bے`d|Zd|ZvnXvnXrXQJrXQJdrtAJvXn~f`JXQr|ZdQ|ZdQnXvnXvrXQJ`rXQJ`|drpfHfH~ے`Jے`J|ZdQ|ZdQnXvnXvrXQJ`|dr|drfH~fH~HAbZdQbtrd|v`frXQJ`XQJ`ےdrtAdrtAH~fH~fے`JXQے`JXQ|ZdQbnXv`nXv`XQJ`ےXQJ`ےf~Hf~Hp˂rdrtAJdQZ|vpfH˂pZJQr˂|ZdQbnXv`nXv`XQJ`ےXQJ`ےdrtAdrtAH~fH~fے`JXQ|ZdQb|ZdQbnXv`nXv`XQJ`ےXQJ`ےdrtAdtAJH~f˂pZ`JXQrlJtAvnXfpvJ`ےJ`ےdrtAJHf`~f``JXQr`JXQrZdQbtZdQbtXv`fXv`fJ`ےdrtAJdrtAJ~f`~f``JXQr`JXQrZdQbtZdQbtpvnJ`ےZdrttbdQZf`vf`vJXQrJXQrdQbtv`fv`f`ےb`ےbrtAJlrtAJlf`vf`vJXQrdQbtdQbtv`fv`f`ےb`ےbltdvpfHvXnZHAbbtlbtl`f~`f~ےbHAےbHAtAJlf`vXf`vXXQr˂XQr˂btlbtl`f~`fHےbHAtAJltAJlf`vXf`vX˂pZHAlJtAZdQbt~HfpےHAZbHAZJltJlt`vXn`vXnr˂pr˂ptlJf~Hf~HbHAZbHAZfpvfpvXQJ`ےltbdrtAdQ~f`HAbےpZHAbtlJf~Hf~HbHAZbHAZJltJlt`vXn`vXnr˂ptlJtlJf~Hf~HbHAZbHAZJltltb`vXnHAbے˂pZrd|v`f~fnXv`bHAZpbHAZpltbvXnvXn˂pZ˂pZlJtAlJtA~HfHfpbHAZpltbltbvXnvXn˂pZ˂pZlJtAlJfXv`pbHAZpAJlt|rAJlXnvXnv˂pZHA˂pZHAlJtAr~Hfp~HfpHAZp˂HAZp˂tbdQtbdQXnvXnv˂pZHAlJtArlJtAr~Hfp~HfpHAZp˂HAZp˂rtAJl~f`vpfHے`JXQJtArdJtArdHfpvHfpvZp˂Zp˂tbdQZnvpnvppZHAbpZHAbJtArdJtArdHfpvfpvZp˂tbdQZtbdQZnvpnvpbے`rd|l|ZvnXp˂rp˂rbdQZ|bdQZ|vpfvpfZHAbZHAےtArdfpvfpvp˂rp˂rnXv`nXv`bHAZdQZ|lZ|dvXH~`JXQrے`JtArdfpvfpvp˂rp˂rbdQZ|bdQZ|vpfvpfZHAbtArdtArdfpvfpvp˂rp˂rbdQZ|nvpvpf`JXQrHAbZdQbtpvnf~Hf˂rXQ˂rXQdQZ|vpfHvpfHHAbےHAbےrd|rd|pvnvnr˂rXQdQZ|dQZ|vpfHvpfHHAbےHAbےrd|pvvnX˂rXQbdQZ|tbdpfH~pfH~bے`ے`Jd|ZvnXvnXrXQJrXQJZ|dZ|dpfH~pfے`bے`d|Zd|ZvnXvnXrXQJrXQJtbdQvXn~vr˂p|ZdQ|ZdQnXvnXvrXQJ`rXQJ`|drfH~fH~ے`Jے`J|ZdQ|ZdQnXvnrXQJrXQJ`|dr|drfH~fH~JXQrZdQtArdQbtv`fXQJ`ےXQJ`ےdrtAdrtAH~fH~fے`JXQ`JXQr|ZdQbnXv`nXv`XQJ`ےXQJ`ےf~Hp˂rp˂rtbdQrtAJlf`v˂pZXQr˂|ZdQbnXv`nXv`XQJ`ےXQJ`ےdrtAdrtAH~fے`JXQے`JXQ|ZdQb|ZdQbnXv`nXv`XQJ`ےXQJ`ےdrtAfHfH~f˂p`˂pZHAlJtAXv`fvnXvJ`ےJ`ےJdrtAJ~f`~f``JXQr`JXQrZdQbtZdQbtXv`fXQJ`ےJ`ےdrtAJdrtAJ~f`~f``JXQr`JXQrZdQbt~Hfpv`fJ`ےdrtQZ|df`vf`vJXQrXQrbtdQbtv`fv`f`ےb`ےbrtAJlrtAJlf`vJXQrJXQrdQbtdQbtv`fv`f`ےb`ےbZ|dvp`vpfے`ZHAbbtlbtl`f~`f~ےbHAےJltAJlf`vXf`vXXQr˂XQr˂btlbtl`f~`ےHAےbHAtAJltAJlf`vXf`vX˂pZHAd|ZlJtAr~HfpېbHAZbHAZJltJlt`vXn`vXnr˂pbtltlJf~Hf~HbHAZbHAZfpvXQJ`ےXQJ`ےZ|dtbdQXnvHAbpZHAbtlJf~Hf~HbHAZbHAZJltJlt`vXnr˂pr˂ptlJtlJf~Hf~HbHAZbHAZJlt`vXn`vXnJXQrbے`rd|~Hf`f~bHAZpltbltbvXnvXn˂pZ˂pZlJtAlJtA~HfHAZpbHAZpltbltbvXnvXn˂pZ˂pZlJtAvnX~HfpbHAXQJAJltrtAJlXnvXnv˂pZHAlJtAlJtAr~Hfp~HfpHAZp˂HAZp˂tbdQtbdQXnv˂pZHA˂pZHAlJtArlJtAr~Hfp~HfpHAZp˂HAZp˂rtAJlXnvJXQrے`JXQJtArdJtArdHfpvHfpvZp˂tbdQZtbdQZnvpnvppZHAbpZHAbJtArdJtArdHfpvZp˂Zp˂tbdQZtbdQZnvpnvpbے`dQbtd|Zvnvfp˂rp˂rbdQZ|bdQZ|vpfvpfZHAbJtAdtArdfpvfpvp˂rp˂rnXv`bHAZbHAZrtAJlZ|`vpfH~JQr˂pJAdtArdfpvfpvp˂rp˂rbdQZ|bdQZ|vpfZHAbZHAbtArdtArdfpvfpvp˂rp˂rbdQZ|vpfvpf˂pZHAJXQrZdQtArpvnHfpv˂rXQdQZ|dQZ|vpfHvpfHHAbےHAbےrd|rd|pvn˂rXQ˂rXQdQZ|dQZ|vpfHvpfHHAbےHAے`rd|v`fvnX`ےbbdQZ|tbdpfH~pfH~bے`d|Zd|ZvnXvnXrXQJrXQJZ|dZ|dpfH~bے`bے`d|Zd|ZvnXvnXrXQJrXQJtbdQpfH~ZHAbr˂p|ZdQ|ZdQnXvnXvrXQJ`|dr|drfH~fH~ے`Jے`J|ZdQ|ZdQnXvrXQJ`rXQJ`|dr|drfH~fH~JXQHAblJtArdQbt璐~HfXQJ`ےXQJ`ےdrtAdrtAH~fH~fے`JXQ|ZdQb|ZdQbnXv`nXv`XQJ`ےXQJ`ےf~Hp˂rp˂rtbdQXnvf`vZHAb|ZdQb|ZdQbnXv`nXv`XQJ`ےXQJ`ےdrtAdtAJH~fے`JXQے`JXQ|ZdQb|ZdQbnXv`nXv`XQJ`ےXQJ`ےdrtAH~fH~fbے`˂p`Jd|ZXv`fnXvJ`ےdrtAJdrtAJ~f`~f``JXQr`JXQrZdQbtZdQbtXv`fJ`ےJ`ےdrtAJdrtAJ~f`~f``JXQrJXQrbZdQbt~Hfpv`fHAZp˂rAJlQZ|df`vf`vJXQrdQbtdQbtv`fv`f`ےb`ےbrtAJltAJl璐f`vJXQrJXQrdQbtdQbtv`fv`f`ےb`ےJlZ|l璐f`v`JXQZAb`btlbtl`f~`fHےbHAtAJltAJlf`vXf`vXXQr˂XQr˂btlbtl`f~ےbHAےbHAtAJltAJlf`vXf`vXے`Jd|ZlJtArpvnbHAZbHAZJltJlt`vXn`vXnr˂ptlJtlJf~Hf~HbHAZbHAZp˂rfpvXQJ`ےXQJ`ےZ|dpfH~Xnvے`JXtlJtlJf~Hf~HbHAZbHAZJltltb`vXnr˂pr˂ptlJtlJf~Hf~HbHAZJltJlt`vXn`vXnJXQrXQrbtdQbt璐~Hf`ffpbHAZpltbltbvXnvXn˂pZ˂pZlJtAlJf~HfbHAZpbHAZpltbltbvXnvXn˂pZtlJlJtAvnX~HXvrXQJtbdQrtAJXnvXnv˂pZHAlJtArlJtAr~Hfp~HfpHAZp˂HAZp˂tbdQtbnXnv˂pZHA˂pZHAlJtArlJtAr~Hfp~HfpHAZp˂tdrtbdQZXnvr˂pJXQrJtArdJtArdHfpvfpvZp˂tbdQZtbdQZnvpnvppZHAbpZHAbJtArdJfpvHfpvZp˂Zp˂tbdQZtbdQZnvpnvpXQr˂dQbtdtlXv`fp˂rp˂rbdQZ|bdQZ|vpfvpfZHAbtArdtArdfpvfpvp˂rp˂rXQJ`ےnXv`bHAZbHAZrtAdQZf`vp`vXQr˂ptArdtArdfpvfpvp˂rp˂rbdQZ|nvpvpfZHAbZHAbtArdtArdfpvfpvp˂rbdQZ|bdQZ|vpfvpf˂pZHAl|ZlJtArvnXv`vnr˂rXQdQZ|dQZ|vpfHvpfHHAbےHAbےrd|pvnpvn˂rXQ˂rXQdQZ|dQZ|vpfHvpfHHAbےtAd|rd|v`pv`f~`ےbZ|dbdQZ|pfH~pfے`bے`d|Zd|ZvnXvnXrXQJrXQJZ|dvpfHpfH~bے`bے`d|Zd|ZvnXvnXrXQJtAJl|drpfH~ZHAbۂpZHA|ZdQ|ZdQnXvnrXQJrXQJ`|dr|drfH~fH~ے`Jے`J|ZdQnXvnXvrXQJ`rXQJ`|dr|drfH~fH~pZHAbl|ZdQJfpv~HfXQJ`ےXQJ`ےdrtAdrtAH~fے`JXQے`JXQ|ZdQb|ZdQbnXv`nXv`XQJ`ےXQJ`ےJltf~Hp˂rp˂r|drXH~nvpZHAb|ZdQb|ZdQbnXv`nXv`XQJ`ےXQJ`ےdrtAfHfH~fے`JXQے`JXQ|ZdQb|ZdQbnXv`nXv`XQJ`ےdrtAdrtAH~fH~fb˂dQbtd|Zf~HXQJ`ےJ`ےdrtAJdrtAJ~f`~f``JXQr`JXQrZdQbtXv`fXv`fJ`ےJ`ےdrtAJdrtAJ~f`~f``JXQrZdQbtZdQbtnXvHfpvHAZp˂rtAJldrtAf`vJXQrJXQrdQbtdQbtv`fv`f`ےb`ےbrtAJlf`vf`vJXQrJXQrdQbtdQbtv`fv`f`ےbtbdQZtAJl璐vp`JXQbے`btlbtl`f~`ےHAےbHAtAJltAJlf`vXf`vXXQr˂XQr˂btl`f~`f~ےbHAےbHAtAJltAJlf`vXf`vXے`JbtlnvfpvnbHAZbHAZJltJlt`vXnr˂pr˂ptlJtlJf~Hf~HbHAZbHAZbdQZ|drtAdrtAH~fH~fے`JXQے`JXQ|ZdQb|ZdQbfpvXQJ`ےbQZdtbdQ~f`~f``JXQr`JXQrZdQbtXv`fXv`fJ`ےJ`ےdrtAJdrtAJ~f`~f`ے`JXQ`ZQXb㕀vˍpfvˍpfbAdZ|JltJlt`vXn`vXnr˂pr˂ptlJtlJnXv`bHAZrtAJlZ|rAvXnvXn˂pZ˂pZlJtA~Hf~HfbHAZpbHAZpltbltbvXnvXnr˂pۑpJH~ㅐfەH~ㅐfۂdrQtbdQZ|bdQZ|vpfvpfZHAbZHAbtArdfpvpvnp˂rtbdQJltvpfHvpfHHAbےHAے`rd|pvnpvn˂rXQ˂rXQdQZ|dQZ|vpfHvpfZ`JXQrAHr󙐉`vXn`vXnJltdrtAdrtAH~fH~fے`JXQے`JXQ|ZdQb~HfXv`fXQJ`ےZ|dbdQZ|~f`~f``JXQrJXQrbZdQbtXv`fXv`fJ`ےJ`ےdrtAJdrtAJ~f`HAbے˂pZۑpJAHvˍpfvˍpfbAdZ|JltJlt`vXn`vXnr˂pr˂ptlJpvn~HfbHAXQrtAJldrtAvXnvXn˂pZtlJlJtA~Hf~HfbHAZpbHAZpltbltbvXn`JXQrHAbےr󙐂ˁ`H~ㅐfەH~ㅐfۂdrQtbdQZ|bdQZ|vpfvpfZHAbZHAےtArdXv`fpvnJ`ےtbdQJltvpfHvpfHHAbےtAd|rd|pvnpvn˂rXQ˂rXQdQZ|dQZ|vpfH˂pZ`JXQrZQXb㉀`vXn`vXnJltdrtAdrtAH~fH~fے`JXQ`JXQr|ZdQb~HfXv`fbHAZpZ|rAJbdQZ|~f`~f``JXQrZdQbtZdQbtXv`fXv`fJ`ےJ`ےdrtAJdtAJl~f`HAbے˂pZۑpJAHvˍpfvˍpfbAdZ|JltJlt`vXn`vXnr˂pbtltlJpvn~HX˂rXQltbdrtAJvXnvXn˂pZlJtAlJtA~Hf~HfbHAZpbHAZpltbtbnvXn`JXQrHAbr󙐂ˁ`H~ㅐfەH~ㅐfۂdrQtbdQZ|bdQZ|vpfvpfZHAbJtAdtArdXv`pv`fJ`ےdQZ|bdQZvpfHvpfےHAbےrd|rd|pvnpvn˂rXQ˂rXQdQZ|vpfvpfH˂p`˂pZHAZQXAHr`vXn`vXnJltdrtAdrtAH~fH~fے`JXQ|ZdQb|ZdQbvnX~HfpbHAZpdrtAJ|dr~f``JXQr`JXQrZdQbtZdQbtXv`fXv`fJ`ےJ`ےdrtAJHf`~f`JXQrbے`ˁ`Zvˍpfvˍp|bAdZ|JltJlt`vXn`vXnr˂ptlJtlJv`fvnX˂bltbtAJlvXn˂pZ˂pZlJtAlJtA~Hf~HfbHAZpbHAZpltbvXnvXn˂pZHAJXQrQXb㉀ەH~ㅐfۂdrQtdrQtbdQZ|bdQZ|vpfvpfZHAbtArdtArd~Hfpv`pvHAZp˂dQZ|tbdQZvpfHHAbےHAbےrd|rd|pvnpvn˂rXQ˂rXQdQZ|vpfHvpfHbے`˂p`ZpJAHr`vXnJltJltdrtAdrtAH~fے`JXQے`JXQ|ZdQb|ZdQbvnXnrXQrXQJdrtAJ|AJl~f``JXQr`JXQrZdQbtZdQbtXv`fXv`fJ`ےJ`ےJdrtAJ~f`~f`JXQrQXb㉀ۙˁ`ZvˍpfbAdZ|bAdZ|JltJlt`vXnr˂pr˂ptlJtlJv`fJ`p˂`ےbbdQZ|tbnvXn˂pZ˂pZlJtAlJtA~Hf~HfbHAZpltbltbvXnvXn˂pZHApJAHrQXb㉀ەH~ㅐfۂdrQtdrQtbdQZ|bdQZ|vpfZHAbZHAbtArdtArd~HXvrXQJHAZp˂drtvpfvpfHHAbےHAbےrd|rd|pvnpvn˂rXQdQZ|dQZ|vpfHvpfHb˂ˁ`Zp`ZQX`vXnJltJltdrtAdtAJH~fے`JXQے`JXQ|ZdQb|ZdQb`f~`ےbrXQJAJltHf`~f``JXQr`JXQrZdQbtZdQbtXv`fXv`fJ`ےdrtAJdrtAJ~f`~f`pZHAbQXAHrb㉀ۑpvˍpfbAdZ|bAdZ|Jltltb`vXnr˂pr˂ptlJtlJHfpvHAZp˂`p˂bdQZ|vXnvXn˂pZ˂pZlJtAlJtA~HfHfpbHAZpltbltbvXnvXnے`Jˁ`ZQXJAHr󙐕H~ㅐfۂdrQtdrQtbdQZ|nvpvpfZHAbZHAbtArdtArdnXvbHArXQJ`drtvpfHvpfHHAbےHAbےrd|rd|pvnvnr˂rXQdQZ|dQZ|vpfHvpfHXQr˂b㉀ۑpˁ`ZQX`vXnJltJltdrtAfHfH~fے`JXQے`JXQ|ZdQb|ZdQb`f~Zp˂ےbHAAJlt~f`~f``JXQr`JXQrZdQbtZdQbtXv`fXQJ`ےJ`ےdrtAJdrtAJ~f`~f`pZHAbJAHrb㉀ۑpvˍpfbAdZ|bAdZ|Jlt`vXn`vXnr˂pr˂ptlJtlJHfpvrXQJ`Zp˂bQZdvXnvXn˂pZ˂pZlJtAlJtA~HfHAZpbHAZpltbltbvXnvXnے`Jˁ`ZQXJAHfەH~ㅐfۂdrQtdrQtbdQZ|vpfvpfZHAbZHAbtArdtArd~HےbHArXQJ`rtAJlvpfHvpfHHAbےHAbےrd|rd|pvn˂rXQ˂rXQdQZ|dQZ|vpfHvpfHXQHAbb㉀ۑp`vXn`vXnJltJltdrtAH~fH~fے`JXQے`JXQ|ZdQb|ZdQbfpvZp˂ےbHAtbdQ~f`~f``JXQr`JXQrZdQbtZdQbtXv`fJ`ےJ`ےdrtAJdrtAJ~f`~f`ے`JXQ`ZQXb㕀vˍpfvˍpfbAdZ|bAdZ|Jlt`vXn`vXnr˂pr˂ptlJtlJnXv`rXQJ`XQJ`ےZ|dvXnvXn˂pZ˂pZlJtAlJf~HfbHAZpbHAZpltbltbvXnvXnr˂pۑpJH~ㅐfەH~ㅐfۂdrQtdrQtbdQZ|vpfvpfZHAbZHAbtArdtArdf~Hp˂rJltrtAJlvpfHvpfHHAbےHAbےrd|pvnpvn˂rXQ˂rXQdQZ|dQZ|vpfHvpfHZHAbAHr󙐂˝`vXn`vXnJltJlt \ No newline at end of file diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv39_2.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv39_2.dat deleted file mode 100644 index 8637f146ef..0000000000 --- a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv39_2.dat +++ /dev/null @@ -1,345 +0,0 @@ -|{|{|{|{xwxwxwxw|{|{|{|{xwxwxwxw|{|{|{|{xwxwxwxw|{|{|{|{xwxwxwxw|{|{|{|{xwxwxwxw|{|{|{|{xwxwxwxw|{|{|{|{xwxwxwxw|{|{|{|{xwxwxwxw|{|{|{|{xwxwxwxw|{|{|{|{xwxwxwxw|{|{|{|{xwxwxwxwtstststs|{|{|{|{xwxwxwxwtstststs|{|{|{|{xwxwxwxwtstststs|{|{|{|{xwxwxwxwtstststs~}|{|{|{|{xwxwxwxwtstststs~}~}~}~}|{|{|{|{xwxwxwxwtstststs~}~}~}~}|{|{|{|{xwxwxwxwtstststs~}~}~}~}|{|{|{|{xwxwxwxwtstststs~}~}~}~}|{|{|{|{xwxwxwxwtstststs~}~}~}~}|{|{|{|{xwxwxwxwtstststs~}~}~}~}|{|{|{|{xwxwxwxwtstststs~}~}~}~}|{|{|{|{xwxwxwxwtstststs~}~}~}~}|{|{|{|{xwxwxwxwtstststs~}~}~}~}|{|{|{zyxwxwxwxwtstststs~}~}~}~}zyzyzyzyxwxwxwxwtstststs~}~}~}~}zyzyzyzyxwxwxwxwtstststs~}~}~}~}zyzyzyzyxwxwxwxwtstststs~}~}~}~}zyzyzyzyxwxwxwxwtstststs~}~}~}~}zyzyzyzyxwxwxwxwtstststs~}~}~}~}zyzyzyzyxwxwxwxwtstststs~}~}~}~}zyzyzyzyxwxwxwxwtstststs~}~}~}~}zyzyzyzyxwxwxwxwtstststs~}~}~}~}zyzyzyzyxwxwxwvutstststs~}~}~}~}zyzyzyzyvuvuvuvutstststs~}~}~}~}zyzyzyzyvuvuvuvutstststs~}~}~}~}zyzyzyzyvuvuvuvutstststs~}~}~}~}zyzyzyzyvuvuvuvutstststs~}~}~}~}zyzyzyzyvuvuvuvutstststs~}~}~}~}zyzyzyzyvuvuvuvutstststs~}~}~}~}zyzyzyzyvuvuvuvutstststs~}~}~}~}zyzyzyzyvuvuvuvutstststs~}~}~}~}zyzyzyzyvuvuvuvutstststs~}~}~}~}zyzyzyzyvuvuvuvutstststs~}~}~}~}zyzyzyzyvuvuvuvutstststs~}~}~}~}zyzyzyzyvuvuvuvutstststs~}~}~}~}zyzyzyzyvuvuvuvutstststs~}~}~}~}zyzyzyzyvuvuvuvutstststs~}~}~}~}zyzyzyzyvuvuvuvutstststs~}~}~}~}zyzyzyzyvuvuvuvutstststs~}~}~}~}zyzyzyzyvuvuvuvutstststs~}~}~}~}zyzyzyzyvuvuvuvutstststs~}~}~}~}zyzyzyzyvuvuvuvutststsrq~}~}~}~}zyzyzyzyvuvuvuvurqrqrqrq~}~}~}~}zyzyzyzyvuvuvuvurqrqrqrq~}~}~}~}zyzyzyzyvuvuvuvurqrqrqrq~}~}~}~}zyzyzyzyvuvuvuvurqrqrqrq~}~}~}~}zyzyzyzyvuvuvuvurqrqrqrq~}~}~}|{zyzyzyzyvuvuvuvurqrqrqrq|{|{|{|{zyzyzyzyvuvuvuvurqrqrqrq|{|{|{|{zyzyzyzyvuvuvuvurqrqrqrq|{|{|{|{zyzyzyzyvuvuvuvurqrqrqrq|{|{|{|{zyzyzyzyvuvuvuvurqrqrqrq|{|{|{|{zyzyzyzyvuvuvuvurqrqrqrq|{|{|{|{zyzyzyzyvuvuvuvurqrqrqrq|{|{|{|{zyzyzyzyvuvuvuvurqrqrqrq|{|{|{|{zyzyzyzyvuvuvuvurqrqrqrq|{|{|{|{zyzyzyxwvuvuvuvurqrqrqrq|{|{|{|{xwxwxwxwvuvuvuvurqrqrqrq|{|{|{|{xwxwxwxwvuvuvuvurqrqrqrq|{|{|{|{xwxwxwxwvuvuvuvurqrqrqrq|{|{|{|{xwxwxwxwvuvuvuvurqrqrqrq|{|{|{|{xwxwxwxwvuvuvuvurqrqrqrq|{|{|{|{xwxwxwxwvuvuvuvurqrqrqrq|{|{|{|{xwxwxwxwvuvuvuvurqrqrqrq|{|{|{|{xwxwxwxwvuvuvuvurqrqrqrq|{|{|{|{xwxwxwxwvuvuvutsrqrqrqrq|{|{|{|{xwxwxwxwtstststsrqrqrqrqrqrqrqrqnmnmnmnmjijijijifefefefebabababa^]^]^]^]\[\[\[\[XWXWXWXWTSTSTSTSPOPOPOPOLKLKLKLKHGHGHGHGDCDCDCDCBABABABA>=>=>=>=:9:9:9:96565656521212121.-.-.-.-*)*)*)*)('('('('$#$#$#$#        - - - - rqrqrqrqnmnmnmnmjijijijifefefefebabababa^]^]^]^]\[\[\[\[XWXWXWXWTSTSTSTSOOOOOPOPLKLKLKLKHGHGHGHGDCDCDCDCBABABABA>=>=>=>=:9:9:9:96565656521212121.-.-.-.-*)*)*)*)('('('('$#$#$#$#        - - - - rqrqrqrqnmnmnmnmjijijijifefefefebabababa^]^]^]^]\[\[\[\[XWXWXWXWTSTSTSTSOPOPOPOPLKLKLKLKHGHGHGHGDCDCDCDCBABABABA>=>=>=>=:9:9:9:96565656521212121.-.-.-.-*)*)*)*)('('('('$#$#$#$#        - - - - rqrqrqrqnmnmnmnmjijijijifefefefebabababa^]^]^]^]\[\[\[\[XWXWXWXWTSTSTSTSOPOPOPOPLKLKLKLKHGHGHGHGDCDCDCDCBABABABA>=>=>=>=:9:9:9:96565656521212121.-.-.-.-*)*)*)*)('('('('$#$#$#$#       - - - - rqrqrqrqnmnmnmnmjijijijifefefefebabababa^]^]^]^]\[\[\[\[XWXWXWXWTSTSTSTSOPOPOPOPLKLKLKLKHGHGHGHGDCDCDCDCBABABABA>=>=>=>=:9:9:9:96565656521212121.-.-.-.-*)*)*)*)('('('('$#$#$#$#     - - - - rqrqrqrqnmnmnmnmjijijijifefefefebabababa^]^]^]^]\[\[\[\[XWXWXWXWTSTSTSTSOPOPOPOPLKLKLKLKHGHGHGHGDCDCDCDCBABABABA>=>=>=>=:9:9:9:96565656521212121.-.-.-.-*)*)*)*)&%&%&%&%$#$#$#$#     - - - - rqrqrqrqnmnmnmnmjijijijifefefefebabababa^]^]^]^]\[\[\[\[XWXWXWXWTSTSTSTSOPOPOPOPLKLKLKLKHGHGHGHGDCDCDCDCBA@?@?@?>=>=>=>=:9:9:9:96565656521212121.-.-.-.-*)*)*)*)&%&%&%&%$#$#$#$#     - - - - rqrqrqrqnmnmnmnmjijijijifefefefebabababa^]^]^]^]\[\[ZYZYXWXWXWXWTSTSTSTSOPOOOOOOLKLKLKLKHGHGHGHGDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:96565656521212121.-.-.-.-*)*)*)*)&%&%&%&%$#$#$#$#     - - - - rqrqrqrqnmnmnmnmjijijijifefefefebabababa^]^]^]^]ZYZYZYZYXWXWXWXWTSTSTSTSPOPOPOPOLKLKLKLKHGHGHGHGDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:96565656521212121.-.-.-.-*)*)*)*)&%&%&%&%$#$#$#$#     - - - - rqrqrqrqnmnmnmlkjijijijifefefefebabababa^]^]^]^]ZYZYZYZYXWXWXWXWTSTSTSTSPOPOPOPOLKLKLKLKHGHGHGHGDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:96565656521212121.-.-.-.-*)*)*)*)&%&%&%&%$#$#$#$#     - - - - rqrqrqrqlklklkkkjijijijifefefefebabababa^]^]^]^]ZYZYZYZYXWXWXWXWTSTSTSTSPOPOPOPOLKLKLKLKHGHGHGHGDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:96565656521212121.-.-.-.-*)*)*)*)&%&%&%&%$#$#$#$#     - - - - rqrqrqrqkkklklkljijijijifefefefebabababa^]^]^]^]ZYZYZYZYXWXWXWXWTSTSTSTSPOPOPOOOLKLKLKLKHGHGHGHGDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:96565656521212121.-.-.-.-*)*)*)*)&%&%&%&%$#$#$#$#     - - - - rqrqrqrqklklklkljijijijifefefefebabababa^]^]^]^]ZYZYZYZYXWXWXWXWTSTSTSTSOOPOPOPOLKLKLKLKHGHGHGHGDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:96565656521212121.-.-.-.-*)*)*)*)&%&%&%&%$#$#$#$#     - - - rqrqrqrqklklklkljijijijifefefefebabababa^]^]^]^]ZYZYZYZYXWXWXWXWTSTSTSTSPONMNMNMLKLKLKLKHGHGHGHGDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:96565656521212121.-.-.-.-*)*)*)*)&%&%&%&%$#$#$#$#     rqrqrqrqklklklkljijihghgfefefefebabababa^]^]^]^]ZYZYZYZYXWXWXWXWTSTSTSTSNMNMNMNMLKLKLKLKHGHGHGHGDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:96565656521212121.-.-.-.-*)*)*)*)&%&%&%&%"!"!"!"!     rqrqrqrqklklklklhghghghgfefefefebabababa^]^]^]^]ZYZYZYZYXWXWXWXWTSTSTSTSNMNMNMNMLKLKLKLKHGHGHGHGDCDCDCDC@?@?@?@?>=<;<;<;:9:9:9:96565656521212121.-.-.-.-*)*)*)*)&%&%&%&%"!"!"!"!     rqrqrqrqklklklklhghghghgfefefefebabababa^]^]^]^]ZYZYZYZYXWXWVUVUTSTSTSTSNMNMNMNMLKLKLKLKHGHGHGHGDCDCDCDC@?@?@?@?<;<;<;<;:9:9:9:96543434321212121.-.-.-.-*)*)*)*)&%&%&%&%"!"!"!"!     rqrqrqpokkkkkklkhghghghgfefefefebabababa^]^]^]^]ZYZYZYZYVUVUVUVURQRQRQRQNMNMNMNMLKLKLKLKHGHGHGHGDCDCDCDC@?@?@?@?<;<;<;<;:9:9:9:94333333421212121.-.-.-.-*)*)*)*)&%&%&%&%"!"!"!"!     popopopolklklklkhghghghgfefefefebabababa^]^]^]^]ZYZYZYZYVUVUVUVURQRQRQRQNMNMNMNMLKLKLKLKHGHGHGHGDCDCDCDC@?@?@?@?<;<;<;<;:9:9:9:93434343421212121.-.-.-.-*)*)*)*)&%&%&%&%"!"!"!"!     popopopolklklklkhghghghgfefefefebabababa^]^]^]^]ZYZYZYZYVUVUVUVURQRQRQRQNMNMNMNMLKLKLKLKHGHGHGHGDCDCDCDC@?@?@?@?<;<;<;<;:9:9:9:93434343421212121.-.-.-.-*)*)*)*)&%&%&%&%"!"!"!"!     popopopolklklklkhghghghgfefefefebabababa^]^]^]^]ZYZYZYZYVUVUVUVURQRQRQRQNMNMNMNMLKLKLKLKHGHGHGHGDCDCDCDC@?@?@?@?<;<;<;<;:9:9:9:93434343421212121.-.-.-.-*)*)*)*)&%&%&%&%"!"!"!"!     popopopolklklklkhghghghgfefefefebabababa^]^]^]^]ZYZYZYZYVUVUVUVURQRQRQRQNMNMNMNMLKLKLKLKHGHGHGHGDCDCDCDC@?@?@?@?<;<;<;<;:9:9:9:9343434340/0/0/0/.-.-.-.-*)*)*)*)&%&%&%&%"!"!"!"!     popopopolklklklkhghghghgfefefefebabababa^]^]^]^]ZYZYZYZYVUVUVUVURQRQRQRQNMNMNMNMLKJIJIJIHGHGHGHGDCDCDCDC@?@?@?@?<;<;<;<;:9:9:9:9343434340/0/0/0/.-.-.-.-*)*)*)*)&%&%&%&%"!"!"!"!     popopopolklkkkkkhghghghgfefedcdcbabababa^]^]^]^]ZYZYZYZYVUVUVUVURQRQRQRQNMNMNMNMJIJIJIJIHGHGHGHGDCDCDCDC@?@?@?@?<;<;<;<;:9:9:9:9343433330/0/0/0/.-.-.-.-*)*)*)*)&%&%&%&%"!"!"!"! popopopoklklklklhghghghgdcdcdcdcbabababa^]^]^]^]ZYZYZYZYVUVUVUVURQRQRQRQNMNMNMNMJIJIJIJIHGHGHGHGDCDCDCDC@?@?@?@?<;<;<;<;:9878787334343430/0/0/0/.-.-.-.-*)*)*)*)&%&%&%&%"!"!"!"! popopopoklklklklhghghghgdcdcdcdcbabababa^]^]^]^]ZYZYZYZYVUVUVUVURQRQRQRQNMNMNMNMJIJIJIJIHGHGHGHGDCDCDCDC@?@?@?@?<;<;<;<;87878787434343430/0/0/0/.-.-.-.-*)*)*)*)&%&%&%&%"!"!"!"! popopopoklklklklhghghghgdcdcdcdcbabababa^]^]^]^]ZYZYZYZYVUVUVUVURQRQRQRQNMNMNMNMJIJIJIJIHGHGHGHGDCDCDCDC@?@?@?@?<;<;<;<;87878787434343430/0/0/0/.-.-.-.-*)*)*)*)&%&%&%&%"!"!"!"! popopopoklklklklhghghghgdcdcdcdcbabababa^]^]^]^]ZYZYZYZYVUVUVUVURQRQRQRQNMNMNMNMJIJIJIJIHGHGHGHGDCDCDCDC@?@?@?@?<;<;<;<;87878787434343430/0/0/0/.-.-.-.-*)*)*)*)&%&%&%&%"!"!"!"! popopopoklklklklhghghghgdcdcdcdcbabababa^]^]^]^]ZYZYZYZYVUVUVUVURQRQRQRQNMNMNMNMJIJIJIJIHGHGHGHGDCDCDCDC@?@?@?@?<;<;<;<;87878787434343430/0/0/0/.-.-.-.-*)*)*)*)&%&%&%&%"!"!"!"! popopopoklklklkkhghghghgdcdcdcdcbabababa^]^]^]^]ZYZYZYZYVUVUVUVURQRQRQRQNMNMNMNMJIJIJIJIHGHGHGHGDCDCDCDC@?@?@?@?<;<;<;<;87878787434343430/0/0/0/.-.-.-.-*)*)*)*)&%&%&%&%"!"!"!"! popopopokkkklklkhghghghgdcdcdcdcbabababa^]^]^]^]ZYZYZYZYVUVUVUVURQRQRQRQNMNMNMNMJIJIJIJIHGHGHGHGDCDCDCDC@?@?@?@?<;<;<;<;87878787333334340/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%"!"!"!"! popopopolklklklkhghghghgdcdcdcdcbabababa^]^]^]^]ZYZYZYZYVUVUVUVURQRQRQRQNMNMNMNMJIJIJIJIHGFEFEFEDCDCDCDC@?@?@?@?<;<;<;<;87878787343434340/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%"!"!"!"! popopopolklklklkhghghghgdcdcdcdcbaba`_`_^]^]^]^]ZYZYZYZYVUVUVUVURQRQRQRQNMNMNMNMJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?<;<;<;<;87878787343434340/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%"!"!"!"! popopopolklklklkhghghghgdcdcdcdc`_`_`_`_^]^]^]^]ZYZYZYZYVUVUVUVURQRQRQRQNMNMNMNMJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?<;<;<;<;87878787343434340/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%"!"!"!"! popopopolklklklkhghghghgdcdcdcdc`_`_`_`_^]^]^]^]ZYZYZYZYVUVUVUVURQRQRQRQNMNMNMNMJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?<;<;<;<;87878787343434340/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%"!"!"!"! popopopolklklklkhghghghgdcdcdcdc`_`_`_`_^]^]^]^]ZYZYZYZYVUVUVUVURQRQRQRQNMNMNMNMJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?<;<;<;<;87878787343434340/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%"!"!"!"! popopopolkkkkkklhghghghgdcdcdcdc`_`_`_`_^]^]^]^]ZYZYZYZYVUVUVUVURQRQRQRQNMNMNMNMJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?<;<;<;<;87878787343333330/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%"!"!"!"! popopopoklklklklhghghghgdcdcdcdc`_`_`_`_^]^]^]^]ZYZYZYZYVUVUVUVURQRQRQRQNMNMNMNMJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?<;<;<;<;87878787434343430/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%"!"!"!"! popopopoklklklklhghghghgdcdcdcdc`_`_`_`_^]^]^]^]ZYZYZYZYVUVUVUVURQRQRQRQNMNMNMNMJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?<;<;<;<;87878787434343430/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%"!"!"!"!    popopopoklklklklhghghghgdcdcdcdc`_`_`_`_^]^]^]^]ZYZYZYZYVUVUVUVURQRQRQRQNMNMNMNMJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?<;<;<;<;87878787434343430/0/0/0/,+,+,+,+('('('('&%&%&%&%"!"!"!"!    popopopoklklklklhghghghgdcdcdcdc`_`_`_`_^]^]^]^]ZYZYZYZYVUVUVUVURQRQRQRQNMNMNMNMJIJIJIJIFEFEFEFEDCBABABA@?@?@?@?<;<;<;<;87878787434343430/0/0/0/,+,+,+,+('('('('&%&%&%&%"!"!"!"!    popopopoklklklklhghghghgdcdcdcdc`_`_`_`_^]^]\[\[ZYZYZYZYVUVUVUVURQRQRQRQNMNMNMNMJIJIJIJIFEFEFEFEBABABABA@?@?@?@?<;<;<;<;87878787434343430/0/0/0/,+,+,+,+('('('('&%&%&%&%"!"!"!"!    popopopoklklkkkkhghghghgdcdcdcdc`_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVURQRQRQRQNMNMNMNMJIJIJIJIFEFEFEFEBABABABA@?@?@?@?<;<;<;<;87878787434343330/0/0/0/,+,+,+,+('('('('&%&%&%&%"!"!"!"!    popopopokklklklkhghghghgdcdcdcdc`_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVURQRQRQRQNMNMNMNMJIJIJIJIFEFEFEFEBABABABA@?@?@?@?<;<;<;<;87878787333434340/0/0/0/,+,+,+,+('('('('&%&%&%&%"!"!"!"!    popopopolklklklkhghghghgdcdcdcdc`_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVURQRQRQRQNMNMNMNMJIJIJIJIFEFEFEFEBABABABA@?@?@?@?<;<;<;<;87878787343434340/0/0/0/,+,+,+,+('('('('&%&%&%&%"!"!"!"!    popopopolklklklkhghghghgdcdcdcdc`_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVURQRQRQRQNMNMNMNMJIJIJIJIFEFEFEFEBABABABA@?@?@?@?<;<;<;<;87878787343434340/0/0/0/,+,+,+,+('('('('&%&%&%&%"!"!"!"!    popopopolklklklkhghghghgdcdcdcdc`_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVURQRQRQRQNMNMNMNMJIJIJIJIFEFEFEFEBABABABA@?@?@?@?<;<;<;<;87878787343434340/0/0/0/,+,+,+,+('('('('&%&%&%&%"!"!"!"!    - popopopokkkklklkhghghghgdcdcdcdc`_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVURQRQRQRQNMNMNMNMJIJIJIJIFEFEFEFEBABABABA@?@?@?@?<;<;<;<;87878787343434340/0/0/0/,+,+,+,+('('('('&%&%&%&%"!"!"!"!    - - - - popopopolklkjijihghghghgdcdcdcdc`_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVURQRQRQRQNMNMNMNMJIJIJIJIFEFEFEFEBABABABA@?@?@?@?<;<;<;<;87878787343434340/0/0/0/,+,+,+,+('('('('$#$#$#$#"!"!"!"!    - - - - popopopojijijijihghghghgdcdcdcdc`_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVURQRQRQRQNMNMNMNMJIJIJIJIFEFEFEFEBABABABA@?>=>=>=<;<;<;<;87878787333333430/0/0/0/,+,+,+,+('('('('$#$#$#$#"!"!"!"!    - - - - popopopojijijijihghghghgdcdcdcdc`_`_`_`_\[\[\[\[ZYZYXWXWVUVUVUVURQRQRQRQNMNMNMNMJIJIJIJIFEFEFEFEBABABABA>=>=>=>=<;<;<;<;87878787434343430/0/0/0/,+,+,+,+('('('('$#$#$#$#"!"!"!"!    - - - - popopopojijijijihghghghgdcdcdcdc`_`_`_`_\[\[\[\[XWXWXWXWVUVUVUVURQRQPOPONMNMNMNMJIJIJIJIFEFEFEFEBABABABA>=>=>=>=<;<;<;<;87878787434343430/0/0/0/,+,+,+,+('('('('$#$#$#$#"!"!"!"!    - - - - ponmnmnmjijijijihghghghgdcdcdcdc`_`_`_`_\[\[\[\[XWXWXWXWVUVUVUVUPOPOOOOONMNMNMNMJIJIJIJIFEFEFEFEBABABABA>=>=>=>=<;<;<;<;87878787434343430/0/0/0/,+,+,+,+('('('('$#$#$#$#"!"!"!"!    - - - - nmnmnmnmjijijijihghghghgdcdcdcdc`_`_`_`_\[\[\[\[XWXWXWXWVUVUVUVUOPOPOPOPNMNMNMNMJIJIJIJIFEFEFEFEBABABABA>=>=>=>=<;<;<;<;87878787434333330/0/0/0/,+,+,+,+('('('('$#$#$#$#"!"!"!"!    - - - - nmnmnmnmjijijijihghghghgdcdcdcdc`_`_`_`_\[\[\[\[XWXWXWXWVUVUVUVUOPOPOPOPNMNMNMNMJIJIJIJIFEFEFEFEBABABABA>=>=>=>=<;<;<;<;87878787434343430/0/0/0/,+,+,+,+('('('('$#$#$#$#"!"!"!"!    - - - - nmnmnmnmjijijijihghghghgdcdcdcdc`_`_`_`_\[\[\[\[XWXWXWXWVUVUVUVUOPOPOPOPNMNMNMNMJIJIJIJIFEFEFEFEBABABABA>=>=>=>=<;<;<;<;87878787212121210/0/0/0/,+,+,+,+('('('('$#$#$#$#"!"!"!"!    - - - - nmnmnmnmjijijijihghghghgdcdcdcdc`_`_`_`_\[\[\[\[XWXWXWXWVUVUVUVUOPOPOPOPNMLKLKLKJIJIJIJIFEFEFEFEBABABABA>=>=>=>=<;<;<;<;87878787212121210/0/0/0/,+,+,+,+('('('('$#$#$#$#"!"!"!"!    - - - - nmnmnmnmjijijijihghgfefedcdcdcdc`_`_`_`_\[\[\[\[XWXWXWXWVUVUVUVUOPOPOPOPLKLKLKLKJIJIJIJIFEFEFEFEBABABABA>=>=>=>=<;<;<;<;87878787212121210/0/0/0/,+,+,+,+('('('('$#$#$#$#        - - - - nmnmnmnmjijijijifefefefedcdcdcdc`_`_`_`_\[\[\[\[XWXWXWXWVUVUVUVUOPOPOPOOLKLKLKLKJIJIJIJIFEFEFEFEBABABABA>=>=>=>=<;:9:9:987878765212121210/0/0/0/,+,+,+,+('('('('$#$#$#$#        - - - - nmnmnmnmjijijijifefefefedcdcdcdc`_`_`_`_\[\[\[\[XWXWXWXWVUVUTSTSOOOOPOPOLKLKLKLKJIJIJIJIFEFEFEFEBABABABA>=>=>=>=:9:9:9:965656565212121210/0/0/0/,+,+,+,+('('('('$#$#$#$#        - - - - nmnmnmnmjijijijifefefefedcdcdcdc`_`_`_`_\[\[\[\[XWXWXWXWTSTSTSTSPOPOPOPOLKLKLKLKJIJIJIJIFEFEFEFEBABABABA>=>=>=>=:9:9:9:965656565212121210/0/0/0/,+,+,+,+('('('('$#$#$#$#        - - - - nmnmnmnmjijijijifefefefedcdcdcdc`_`_`_`_\[\[\[\[XWXWXWXWTSTSTSTSPOPOPOPOLKLKLKLKJIJIJIJIFEFEFEFEBABABABA>=>=>=>=:9:9:9:965656565212121210/0/0/0/,+,+,+,+('('('('$#$#$#$#        - - - - nmnmnmnmjijijijifefefefedcdcdcdc`_`_`_`_\[\[\[\[XWXWXWXWTSTSTSTSPOPOPOPOLKLKLKLKJIJIJIJIFEFEFEFEBABABABA>=>=>=>=:9:9:9:965656565212121210/0/0/0/,+,+,+,+('('('('$#$#$#$#        - - - - nmnmnmnmjijijijifefefefedcdcdcdc`_`_`_`_\[\[\[\[XWXWXWXWTSTSTSTSPOPOPOPOLKLKLKLKJIJIJIJIFEFEFEFEBABABABA>=>=>=>=:9:9:9:965656565212121210/0/0/0/,+,+,+,+('('('('$#$#$#$#        - - - - nmnmnmnmjijijijifefefefedcdcdcdc`_`_`_`_\[\[\[\[XWXWXWXWTSTSTSTSPOPOPOPOLKLKLKLKJIJIJIJIFEFEFEFEBABABABA>=>=>=>=:9:9:9:96565656521212121.-.-.-.-,+,+,+,+('('('('$#$#$#$#        - - - - nmnmnmnmjijijijifefefefedcdcdcdc`_`_`_`_\[\[\[\[XWXWXWXWTSTSTSTSPOOOOOOPLKLKLKLKJIHGHGHGFEFEFEFEBABABABA>=>=>=>=:9:9:9:96565656521212121.-.-.-.-,+,+,+,+('('('('$#$#$#$#        - - - - nmnmnmnmjijijijifefefefedcdcbaba`_`_`_`_\[\[\[\[XWXWXWXWTSTSTSTSOPOPOPOPLKLKLKLKHGHGHGHGFEFEFEFEBABABABA>=>=>=>=:9:9:9:96565656521212121.-.-.-.-,+,+,+,+('('('('$#$#$#$#        - - - - nmnmnmnmjijijijifefefefebabababa`_`_`_`_\[\[\[\[XWXWXWXWTSTSTSTSOPOPOPOPLKLKLKLKHGHGHGHGFEFEFEFEBABABABA>=>=>=>=:9:9:9:96565656521212121.-.-.-.-,+,+,+,+('('('('$#$#$#$#        - - - - nmnmnmnmjijijijifefefefebabababa`_`_`_`_\[\[\[\[XWXWXWXWTSTSTSTSOPOPOPOPLKLKLKLKHGHGHGHGFEFEFEFEBABABABA>=>=>=>=:9:9:9:96565656521212121.-.-.-.-,+,+,+,+('('('('$#$#$#$#        - - - - nmnmnmnmjijijijifefefefebabababa`_`_`_`_\[\[\[\[XWXWXWXWTSTSTSTSOPOPOPOPLKLKLKLKHGHGHGHGFEFEFEFEBABABABA>=>=>=>=:9:9:9:96565656521212121.-.-.-.-,+,+,+,+('('('('$#$#$#$#        - - - - nmnmnmnmjijijijifefefefebabababa`_`_`_`_\[\[\[\[XWXWXWXWTSTSTSTSOPOPOPOPLKLKLKLKHGHGHGHGFEFEFEFEBABABABA>=>=>=>=:9:9:9:96565656521212121.-.-.-.-,+,+,+,+('('('('$#$#$#$#        - - - - nmnmnmnmjijijijifefefefebabababa`_`_`_`_\[\[\[\[XWXWXWXWTSTSTSTSOPOPOOOOLKLKLKLKHGHGHGHGFEFEFEFEBABABABA>=>=>=>=:9:9:9:96565656521212121.-.-.-.-,+,+,+,+('('('('$#$#$#$#        - - - - nmnmnmnmjijijijifefefefebabababa`_`_`_`_\[\[\[\[XWXWXWXWTSTSTSTSOOPOPOPOLKLKLKLKHGHGHGHGFEFEFEFEBABABABA>=>=>=>=:9:9:9:96565656521212121.-.-.-.-,+,+,+,+('('('('$#$#$#$#        - - - - nmnmnmnmjijijijifefefefebabababa`_`_`_`_\[\[\[\[XWXWXWXWTSTSTSTSPOPOPOPOLKLKLKLKHGHGHGHGFEFEFEFEBABABABA>=>=>=>=:9:9:9:96565656521212121.-.-.-.-*)*)*)*)('('('('$#$#$#$#        - - - - nmnmnmnmjijijijifefefefebabababa`_`_`_`_\[\[\[\[XWXWXWXWTSTSTSTSPOPOPOPOLKLKLKLKHGHGHGHGFEDCDCDCBABABABA>=>=>=>=:9:9:9:96565656521212121.-.-.-.-*)*)*)*)('('('('$#$#$#$#        - - - - nmnmnmnmjijijijifefefefebabababa`_`_^]^]\[\[\[\[XWXWXWXWTSTSTSTSPOPOPOPOLKLKLKLKHGHGHGHGDCDCDCDCBABABABA>=>=>=>=:9:9:9:96565656521212121.-.-.-.-*)*)*)*)('('('('$#$#$#$#        - - - - nmnmnmnmjijijijifefefefebabababa^]^]^]^]\[\[\[\[XWXWXWXWTSTSTSTSPOPOPOPOLKLKLKLKHGHGHGHGDCDCDCDCBABABABA>=>=>=>=:9:9:9:96565656521212121.-.-.-.-*)*)*)*)('('('('$#$#$#$#        - - - - mmnnooppIIJJKKLL%%&&''((;;::9988__^^]]\\qqrrssttMMNNOOPP))**++,, - -77665544[[ZZYYXX~~}}||uuvvwwxxQQRRSSTT--..//00 - -  33221100WWVVUUTT{{zzyyxxyyzz{{||UUVVWWXX11223344  - - //..--,,SSRRQQPPwwvvuutt}}~~YYZZ[[\\55667788 !!++**))((OONNMMLLssrrqqpp~~}}||]]^^__``99::;;<<""##$$%%''&&%%$$KKJJIIHHoonnmmll{{zzyyxxaabbccdd==>>??@@ !!""##&&''(())##""!! GGFFEEDDkkjjiihhwwvvuutteeffgghhAABBCCDD $$%%&&''**++,,-- CCBBAA@@ggffeeddssrrqqpoiijjkkllEEFFGGHH!!""##$$(())**++..//0011 - - ??>>==<>??@@>>??@@AA - - //..--,,SSRRQQPPxxwwvvuu]\\[[ZZYppoonnmm}}~~YYZZ[[\\55667788AABBCCDDBBCCDDEE !!++**))((OONNMMLLttssrrqq~~}}||{{YXXWWVVUllkkjjii]]^^__``99::;;<>??@@IIJJKKLLJJKKLLMM&&''(())##""!! GGFFEEDDllkkjjiivvuuttssNNMMLLKKddccbbaaeeffgghhAABBCCDDMMNNOOUUNNOOPPQQ**++,,-- CCBBAA@@hhggffeerrqqkkjjJJIIHHGG``__^^]]iijjkkllEEFFGGHHVVWWXXYYRRSSTTUU..//0011 - - ??>>==<>==<<;;TTSSRRQQxxwwvvuuuuvvwwxxQQRRSSTTbbccddee^^__``aa::;;<<== 33221100~~}}||XXWWVVUU]]\\[[ZZ::998765PPOONNMMttssrrqqyyzz{{||UUVVWWXXffgghhiibbccddee>>??@@AA - - //..--,,{{zzyyxxTTSSRRQQYYXXWWVV43322110LLKKJJIIppoonnmm}}~~YYZZ[[\\jjkkqqrrffgghhiiBBCCDDEE !!++**))((wwvvuuttPPOONNMMUUOONNMM0//..--,HHGGFFEEllkkjjii]]^^__``ssttuuvvjjkkllmmFFGGHHII""##$$%%''&&%%$$ssrrqqppLLKKJJIILLKKJJII,++**))(DDCCBBAAhhggffeeaabbccddwwxxyyzznnooppqqJJKKLLMM&&''(())##""!! oonnmmllHHGGFFEEHHGGFFEE(''&&%%$@@??>>==ddccbbaaeeffgghh{{||}}~~rrssttuuNNOOPPQQ**++,,-- kkjjiihhDDCCBBAADDCCBBAA$##""!! <<;;::99``__^^]]iijjkkllvvwwxxyyRRSSTTUU..//0011 - - ggffeedd@@??>>==@@??>>== 88776655\\[[ZZYY~~}}mmnnooppzz{{||}}VVWWXXYY22334455ccbbaa``<<;;::99<<;;::9944332211XXWWVVUU||{{zzyyqqrrsstt~~ZZ[[\\]]66778899__^^]]\\887766553322110000//..--TTSSRRQQxxwwvvuuuuvvwwxx^^__``aa::;;<<== [[ZZYYXX44332211//..--,,,,++**))PPOONNMMttssrrqqyyzz{{||bbccddee>>??@@AA - - WWVVUUTT00//..--++**))(( - -((''&&%%LLKKJJIIppoonnmm}}~~ffgghhiiBBCCDDEE !!SSRRQQPP,,++**))''&&%%$$ $$##""!!HHGGFFEEllkkjjiijjkkllmmFFGGHHII""##$$%%OONNMMLL((''&&%%##""!!  DDCCBBAAhhggffeennooppqqJJKKLLMM&&''(())KKJJIIHH$$##""!! - - @@??>>==ddccbbaarrssttuuNNOOPPQQ**++,,-- GGFFEEDD  <<;;::99``__^^]]vvwwxxyyRRSSTTUU..//0011 - - CCBBAA@@88776655\\[[ZZYY~~}}zz{{||}}VVWWXXYY22334455??>>==<<  44332211XXWWVVUU||{{zzyy~~ZZ[[\\]]66778899;;::9988 - - - - - - 00//..--TTSSRRQQxxwwvvuu^^__``aa::;;<<==77665544  ,,++**))PPOONNMMttssrrqqbbccddee>>??@@AA33221100 - - !!""##$$((''&&%%LLKKJJIIppoonnmmffgghhiiBBCCDDEE !!//..--,, - - %%&&''(($$##""!!HHGGFFEEllkkjjiijjkkllmmFFGGHHII""##$$%%++**))(( ))**++,, DDCCBBAAhhggffeennooppqqJJKKLLMM&&''(())''&&%%$$ !!""##--..//00 - - @@??>>==ddccbbaarrssttuuNNOOPPQQ**++,,--##""!! $$%%&&''11223344 <<;;::99``__^^]]vvwwxxyyRRSSTTUU..//0011(())**++5566778888776655\\[[ZZYY~~}}~~}}||zz{{||}}VVWWXXYY22334455 ,,--..//99::;;<< 44332211XXWWVVUU||{{zzyy{{zzyyxx~~ZZ[[\\]]66778899!!""##$$00112233==>>??@@ - - 00//..--TTSSRRQQxxwwvvuuwwvvuutt^^__``aa::;;<<==%%&&''((99::;;<>??@@AA ))**++,,==>>??@@EEFFGGHH!!""##$$((''&&%%LLKKJJIIppoonnmmnmlkkjjiffgghhiiBBCCDDEE - - --..//00AABBCCDDIIJJKKLL%%&&''(($$##""!!HHGGFFEEllkkjjiiihhggffejjkkllmmFFGGHHII11223344EEFFGGHHMMNNOOPP))**++,, DDCCBBAAhhggffeeeddccbba~~}}||nnooppqqJJKKLLMM55667788IIJJKKLLQQRRSSTT--..//00 - - @@??>>==ddccbbaa~~}}||{{a``__^^]{{zzyyxxrrssttuuNNOOPPQQ99::;;<>??@@VVWWXXYYYYZZ[[\\5566778888776655\\[[ZZYYvvuuttssYXXWWVVUssrrqqppzz{{||}}VVWWXXYY - - AABBCCDDZZ[[\\]]]]^^__``99::;;<< 44332211XXWWVVUUrrqqkkjjUTSRQPOOoonnmmll~~ZZ[[\\]]EEFFGGHH^^__``aaaabbccdd==>>??@@ - - 00//..--TTSSRRQQiihhggffNNMMLLKKkkjjiihh^^__``aaIIJJKKLLbbccddeeeeffgghhAABBCCDD ,,++**))PPOONNMMeeddccbbJJIIHHGGggffeeddbbccddeeMMNNOOPPffgghhiiiijjkkllEEFFGGHH!!""##$$((''&&%%LLKKJJIIaa``__^^FFEEDDCCccbbaa``ffgghhiiQQRRSSTTjjkkqqrrmmnnooppIIJJKKLL%%&&''(($$##""!!HHGGFFEE]]\\[[ZZBBAA@@??__^^]]\\jjkkllmm !!UUVVWWXXssttuuvvqqrrssttMMNNOOPP))**++,, DDCCBBAAYYXXWWVV>>==<<;;[[ZZYYXX~~}}||nnooppqq""##$$%%YYZZ[[\\wwxxyyzzuuvvwwxxQQRRSSTT--..//00 - - @@??>>==UUOONNMM::998765WWVVUUTT{{zzyyxxrrssttuu&&''(())]]^^__``{{||}}~~yyzz{{||UUVVWWXX11223344 <<;;::99LLKKJJII43322110SSRRQQPPwwvvuuttvvwwxxyy**++,,--aabbccdd}}~~YYZZ[[\\5566778888776655HHGGFFEE0//..--,OONNMMLLssrrqqppzz{{||}}..//0011eeffgghh]]^^__``99::;;<< 44332211DDCCBBAA,++**))(KKJJIIHHoonnmmll~~22334455iijjkkllaabbccdd==>>??@@ - - 00//..--@@??>>==(''&&%%$GGFFEEDDkkjjiihh66778899mmnnooppeeffgghhAABBCCDD ,,++**))<<;;::99$##""!! CCBBAA@@ggffeedd::;;<<==qqrrssttiijjkkllEEFFGGHH!!""##$$((''&&%%33221100 ??>>==<>??@@AAuuvvwwxxmmnnooppIIJJKKLL%%&&''(($$##""!!//..--,,;;::9988__^^]]\\BBCCDDEEyyzz{{||qqrrssttMMNNOOPP))**++,, ++**))((77665544[[ZZYYXX~~}}||FFGGHHII}}~~uuvvwwxxQQRRSSTT--..//00 - - ''&&%%$$33221100WWVVUUTT{{zzyyxxJJKKLLMMyyzz{{||UUVVWWXX11223344 ##""!! - -//..--,,SSRRQQPPwwvvuuttNNOOPPQQ}}~~YYZZ[[\\55667788 ++**))((OONNMMLLssrrqqppRRSSTTUU]]^^__``99::;;<< ''&&%%$$KKJJIIHHoonnmmllVVWWXXYYaabbccdd==>>??@@ - - ##""!! GGFFEEDDkkjjiihhZZ[[\\]]eeffgghhAABBCCDD   CCBBAA@@ggffeedd^^__``aaiijjkkllEEFFGGHH!!""##$$ - -  - - ??>>==<>==<<;;NNMMLLKK87654332UUTTSSRRyyxxwwvvttuuvvwwPPQQRRSSaabbccdd]]^^__``99::;;<< 44332211XXWWVVUUrrqqkkjjUTSRQPOOoonnmmll~~nnooppqq{{||}}~~WWXXYYZZ33445566::998877JJIIHHGG21100//.QQPPOONNuuttssrrxxyyzz{{TTUUVVWWeeffgghhaabbccdd==>>??@@ - - 00//..--TTSSRRQQiihhggffNNMMLLKKkkjjiihhrrssttuu[[\\]]^^778899::66554433FFEEDDCC.--,,++*MMLLKKJJqqppoonn||}}~~XXYYZZ[[iijjkkqqeeffgghhAABBCCDD ,,++**))PPOONNMMeeddccbbJJIIHHGGggffeeddvvwwxxyy__``aabb;;<<==>> 221100//BBAA@@??*))((''&IIHHGGFFmmllkkjj\\]]^^__rrssttuuiijjkkllEEFFGGHH!!""##$$((''&&%%LLKKJJIIaa``__^^FFEEDDCCccbbaa``zz{{||}}ccddeeff??@@AABB - - ..--,,++>>==<<;;&%%$$##"EEDDCCBBiihhggff``aabbccvvwwxxyymmnnooppIIJJKKLL%%&&''(($$##""!!HHGGFFEE]]\\[[ZZBBAA@@??__^^]]\\~~gghhiijjCCDDEEFF !!""**))((''::993322"!! AA@@??>>eeddccbbddeeffggzz{{||}}qqrrssttMMNNOOPP))**++,, DDCCBBAAYYXXWWVV>>==<<;;[[ZZYYXX~~}}||kkllmmnnGGHHIIJJ##$$%%&&&&%%$$##1100//..==<<;;::aa``__^^hhiijjkk~~uuvvwwxxQQRRSSTT--..//00 - - @@??>>==UUOONNMM::998765WWVVUUTT{{zzyyxxooppqqrrKKLLMMNN''(())**""!! --,,++**99887766]]\\[[ZZ~~llmmnnooyyzz{{||UUVVWWXX11223344 <<;;::99LLKKJJII43322110SSRRQQPPwwvvuuttssttuuvvOOPPQQRR++,,--.. - -))((''&&55443322YYXXWWVV}}||{{zzppqqrrss}}~~YYZZ[[\\5566778888776655HHGGFFEE0//..--,OONNMMLLssrrqqpp~~}}||wwxxyyzzSSTTUUVV//001122 %%$$##"" 1100//..UUTTSSRRyyxxwwvvttuuvvww]]^^__``99::;;<< 44332211DDCCBBAA,++**))(KKJJIIHHoonnmmll{{zzyyxx{{||}}~~WWXXYYZZ33445566!!  - - --,,++**QQPPOONNuuttssrrxxyyzz{{aabbccdd==>>??@@ - - 00//..--@@??>>==(''&&%%$GGFFEEDDkkjjiihhwwvvuutt[[\\]]^^778899::))((''&&MMLLKKJJqqppoonn||}}~~eeffgghhAABBCCDD ,,++**))<<;;::99$##""!! CCBBAA@@ggffeeddssrrqqpp__``aabb;;<<==>> %%$$##""IIHHGGFFmmllkkjjiijjkkllEEFFGGHH!!""##$$((''&&%%33221100 ??>>==<>eeddccbbqqrrssttMMNNOOPP))**++,, ++**))((77665544[[ZZYYXX~~}}||ggffeeddkkllmmnnGGHHIIJJ##$$%%&& ==<<;;::aa``__^^uuvvwwxxQQRRSSTT--..//00 - - ''&&%%$$33221100WWVVUUTT{{zzyyxxccbbaa``ooppqqrrKKLLMMNN''(())**99887766]]\\[[ZZ~~yyzz{{||UUVVWWXX11223344 ##""!! - -//..--,,SSRRQQPPwwvvuutt__^^]]\\ssttuuvvOOPPQQRR++,,--.. - - - - 55443322YYXXWWVV}}||{{zz}}~~YYZZ[[\\55667788 ++**))((OONNMMLLssrrqqpp[[ZZYYXXwwxxyyzzSSTTUUVV//001122   - -1100//..UUTTSSRRyyxxwwvv]]^^__``99::;;<< ''&&%%$$KKJJIIHHoonnmmllWWVVUUTT~~}}||{{{{||}}~~WWXXYYZZ33445566 --,,++**QQPPOONNuuttssrraabbccdd==>>??@@ - - ##""!! GGFFEEDDkkjjiihhSSRRQQPPzzyyxxww[[\\]]^^778899:: !!""##))((''&&MMLLKKJJqqppoonneeffgghhAABBCCDD   CCBBAA@@ggffeedd~~}}||{{OONNMMLLvvuuttss__``aabb;;<<==>> !!$$%%&&''%%$$##""IIHHGGFFmmllkkjjiijjkkllEEFFGGHH!!""##$$ - -  - - ??>>==<>eeddccbbqqrrssttMMNNOOPP))**++,, - -77665544[[ZZYYXXrrqqkkjjCCBBAA@@hggffeedkkllmmnnGGHHIIJJ##$$%%&&**++,,--00112233 ==<<;;::aa``__^^uuvvwwxxQQRRSSTT--..//00 - -  33221100WWVVUUTTiihhggff??>>==<<~~dccbbaa`~~}}||{{ooppqqrrKKLLMMNN''(())**..//00114455667799887766]]\\[[ZZ~~~~}}yyzz{{||UUVVWWXX11223344  - - //..--,,SSRRQQPPeeddccbb;;::9988}}||{{zz`__^^]]\zzyyxxwwssttuuvvOOPPQQRR++,,--..223399::8899::;;55443322YYXXWWVV}}||{{zz||{{zzyy}}~~YYZZ[[\\55667788 !!++**))((OONNMMLLaa``__^^77665544yyxxwwvv\[[ZZYYXvvuuttsswwxxyyzzSSTTUUVV//001122;;<<==>><<==>>?? - -1100//..UUTTSSRRyyxxwwvvxxwwvvuu]]^^__``99::;;<<""##$$%%''&&%%$$KKJJIIHH]]\\[[ZZ33221100uuttssrrXWWVVUUTrrqqppoo{{||}}~~WWXXYYZZ33445566??@@AABB@@AABBCC --,,++**QQPPOONNuuttssrrttssrrqqaabbccdd==>>??@@ !!""##&&''(())##""!! GGFFEEDDYYXXWWVV//..--,,qqkkjjiiSRQPOONNnnmmllkk[[\\]]^^778899::CCDDEEFFDDEEFFGG !!""##))((''&&MMLLKKJJqqppoonnponmlkkjeeffgghhAABBCCDD $$%%&&''**++,,-- CCBBAA@@UUOONNMM++**))((hhggffeeMMLLKKJJjjiihhgg__``aabb;;<<==>>GGHHIIJJHHIIJJKK$$%%&&''%%$$##""IIHHGGFFmmllkkjjjiihhggfiijjkkllEEFFGGHH!!""##$$(())**++..//0011 - - ??>>==<>eeddccbb~~}}||baa``__^||{{zzyyqqrrssttMMNNOOPP))**++,,001122336677889977665544DDCCBBAA\\[[ZZYYAA@@??>>^^]]\\[[kkllmmnnGGHHIIJJXXYYZZ[[TTUUVVWW00112233 ==<<;;::aa``__^^{{zzyyxx^]]\\[[ZxxwwvvuuuuvvwwxxQQRRSSTT--..//0099::;;<<::;;<<== 33221100@@??>>==XXWWVVUU==<<;;::ZZYYXXWW~~}}||{{ooppqqrrKKLLMMNN\\]]^^__XXYYZZ[[4455667799887766]]\\[[ZZwwvvuuttZYYXXWWVttssrrqqyyzz{{||UUVVWWXX11223344==>>??@@>>??@@AA - - //..--,,<<;;::99OONNMMLL99876543VVUUTTSSzzyyxxwwssttuuvvOOPPQQRR``aabbcc\\]]^^__8899::;;55443322YYXXWWVVssrrqqkkVUUTSRQPppoonnmm}}~~YYZZ[[\\55667788AABBCCDDBBCCDDEE !!++**))((33221100KKJJIIHH3221100/RRQQPPOOvvuuttsswwxxyyzzSSTTUUVVddeeffgg``aabbcc<<==>>?? - -1100//..UUTTSSRRjjiihhggOONNMMLLllkkjjii]]^^__``99::;;<>??@@IIJJKKLLJJKKLLMM&&''(())##""!! ++**))(( - - CCBBAA@@+**))(('JJIIHHGGnnmmllkk[[\\]]^^qqrrsstthhiijjkkDDEEFFGG !!""##))((''&&MMLLKKJJbbaa``__GGFFEEDDddccbbaaeeffgghhAABBCCDDMMNNOOUUNNOOPPQQ**++,,-- ''&&%%$$ - - ??>>==<<'&&%%$$#FFEEDDCCjjiihhgg__``aabbuuvvwwxxllmmnnooHHIIJJKK$$%%&&''%%$$##""IIHHGGFF^^]]\\[[CCBBAA@@``__^^]]iijjkkllEEFFGGHHVVWWXXYYRRSSTTUU..//0011 - - ##""!! ;;::9933#""!! BBAA@@??ffeeddccccddeeffyyzz{{||ppqqrrssLLMMNNOO(())**++!! EEDDCCBBZZYYXXWW??>>==<<\\[[ZZYY~~}}mmnnooppIIJJKKLLZZ[[\\]]VVWWXXYY22334455221100//>>==<<;;bbaa``__gghhiijj}}~~ttuuvvwwPPQQRRSS,,--..// - - AA@@??>>VVUUOONN;;::9987XXWWVVUU||{{zzyyqqrrssttMMNNOOPP^^__``aaZZ[[\\]]66778899..--,,++::998877^^]]\\[[kkllmmnnxxyyzz{{TTUUVVWW00112233 ==<<;;::MMLLKKJJ65433221TTSSRRQQxxwwvvuuuuvvwwxxQQRRSSTTbbccddee^^__``aa::;;<<== **))((''66554433ZZYYXXWW~~}}||{{ooppqqrr||}}~~XXYYZZ[[4455667799887766IIHHGGFF100//..-PPOONNMMttssrrqqyyzz{{||UUVVWWXXffgghhiibbccddee>>??@@AA - -   !!&&%%$$## 221100//VVUUTTSSzzyyxxwwssttuuvv\\]]^^__8899::;;55443322EEDDCCBB-,,++**)LLKKJJIIppoonnmm}}~~YYZZ[[\\jjkkqqrrffgghhiiBBCCDDEE !! - - - -""##$$%%""!!  - - ..--,,++RRQQPPOOvvuuttsswwxxyyzz``aabbcc<<==>>?? - -1100//..AA@@??>>)((''&&%HHGGFFEEllkkjjii]]^^__``ssttuuvvjjkkllmmFFGGHHII""##$$%% &&''(())**))((''NNMMLLKKrrqqppoo{{||}}~~ddeeffgg@@AABBCC --,,++**==<<;;::%$$##""!DDCCBBAAhhggffeeaabbccddwwxxyyzznnooppqqJJKKLLMM&&''(())**++,,--&&%%$$##JJIIHHGGnnmmllkkhhiijjkkDDEEFFGG !!""##))((''&&99332211! @@??>>==ddccbbaaeeffgghh{{||}}~~rrssttuuNNOOPPQQ**++,,-- ..//0011""!! FFEEDDCCjjiihhggllmmnnooHHIIJJKK$$%%&&''%%$$##""00//..--<<;;::99``__^^]]iijjkkllvvwwxxyyRRSSTTUU..//0011 - - 22334455 - - - -BBAA@@??ffeeddccppqqrrssLLMMNNOO(())**++!! ,,++**))88776655\\[[ZZYY~~}}mmnnooppzz{{||}}VVWWXXYY22334455 !!""##66778899  >>==<<;;bbaa``__ttuuvvwwPPQQRRSS,,--..// - - ((''&&%%44332211XXWWVVUU||{{zzyyqqrrsstt~~ZZ[[\\]]66778899$$%%&&''::;;<<==::998877^^]]\\[[xxyyzz{{TTUUVVWW00112233 $$##""!! 00//..--TTSSRRQQxxwwvvuuuuvvwwxx^^__``aa::;;<<==(())**++>>??@@AA - - 66554433ZZYYXXWW~~}}||{{||}}~~XXYYZZ[[44556677  - - ,,++**))PPOONNMMttssrrqqyyzz{{||bbccddee>>??@@AA,,--..//BBCCDDEE  221100//VVUUTTSSzzyyxxww\\]]^^__8899::;;((''&&%%LLKKJJIIppoonnmm}}~~ffgghhiiBBCCDDEE !!00112233FFGGHHII - - ..--,,++RRQQPPOOvvuuttss``aabbcc<<==>>?? - -$$##""!!HHGGFFEEllkkjjiijjkkllmmFFGGHHII""##$$%%99::;;<>??@@NNOOPPQQ ##$$%%&&&&%%$$##JJIIHHGGnnmmllkkhhiijjkkDDEEFFGG !!""## - -  - - @@??>>==ddccbbaarrssttuuNNOOPPQQ**++,,--AABBCCDDRRSSTTUU!!""##$$''(())**""!! FFEEDDCCjjiihhggllmmnnooHHIIJJKK$$%%&&'' <<;;::99``__^^]]vvwwxxyyRRSSTTUU..//0011EEFFGGHHVVWWXXYY%%&&''((++,,--.. - -BBAA@@??ffeeddccppqqrrssLLMMNNOO(())**++ 88776655\\[[ZZYY~~}}zz{{||}}VVWWXXYY22334455IIJJKKLLZZ[[\\]]))**++,,//001122 >>==<<;;bbaa``__ttuuvvwwPPQQRRSS,,--..// - - - -  44332211XXWWVVUU||{{zzyy~~ZZ[[\\]]66778899MMNNOOUU^^__``aa--..//0033445566::998877^^]]\\[[~~xxyyzz{{TTUUVVWW00112233  - - 00//..--TTSSRRQQxxwwvvuu^^__``aa::;;<<==VVWWXXYYbbccddee11223399778899::66554433ZZYYXXWW~~}}||{{}}||{{zz||}}~~XXYYZZ[[44556677 ,,++**))PPOONNMMttssrrqqbbccddee>>??@@AAZZ[[\\]]ffgghhii::;;<<==;;<<==>> 221100//VVUUTTSSzzyyxxwwyyxxwwvv\\]]^^__8899::;;!!""##$$((''&&%%LLKKJJIIppoonnmmffgghhiiBBCCDDEE^^__``aajjkkllmm>>??@@AA??@@AABB - - ..--,,++RRQQPPOOvvuuttssuuttssrr``aabbcc<<==>>?? !!""%%&&''(($$##""!!HHGGFFEEllkkjjiijjkkllmmFFGGHHIIbbccddeennooppqqBBCCDDEECCDDEEFF !!""**))((''NNMMLLKKrrqqppooqqponmlkddeeffgg@@AABBCC##$$%%&&))**++,, DDCCBBAAhhggffeennooppqqJJKKLLMMffgghhiirrssttuuFFGGHHIIGGHHIIJJ##$$%%&&&&%%$$##JJIIHHGGnnmmllkkkjjiihhghhiijjkkDDEEFFGG !!""##''(())**--..//00 - - @@??>>==ddccbbaarrssttuuNNOOPPQQjjkkqqrrvvwwxxyyJJKKLLMMKKLLMMNN''(())**""!! FFEEDDCCjjiihhgggffeeddc~~llmmnnooHHIIJJKK$$%%&&''++,,--..11223344 <<;;::99``__^^]]vvwwxxyyRRSSTTUUssttuuvvzz{{||}}NNOOUUVVOOPPQQRR++,,--.. - -BBAA@@??ffeeddcc~~}}cbbaa``_}}||{{zzppqqrrssLLMMNNOO(())**++//0011225566778888776655\\[[ZZYY~~}}~~}}||zz{{||}}VVWWXXYYwwxxyyzz~~WWXXYYZZSSTTUUVV//001122 >>==<<;;bbaa``__||{{zzyy_^^]]\\[yyxxwwvvttuuvvwwPPQQRRSS,,--..//3399::;;99::;;<< 44332211XXWWVVUU||{{zzyy{{zzyyxx~~ZZ[[\\]]{{||}}~~[[\\]]^^WWXXYYZZ33445566::998877^^]]\\[[xxwwvvuu[ZZYYXXWuuttssrrxxyyzz{{TTUUVVWW00112233<<==>>??==>>??@@ - - 00//..--TTSSRRQQxxwwvvuuwwvvuutt^^__``aa__``aabb[[\\]]^^778899::66554433ZZYYXXWWttssrrqqWVVUUTSRqqppoonn||}}~~XXYYZZ[[44556677@@AABBCCAABBCCDD ,,++**))PPOONNMMttssrrqqssrrqqpobbccddeeccddeeff__``aabb;;<<==>> 221100//VVUUTTSSkkjjiihhQPOONNMMmmllkkjj\\]]^^__8899::;;DDEEFFGGEEFFGGHH!!""##$$((''&&%%LLKKJJIIppoonnmmnmlkkjjiffgghhiigghhiijjccddeeff??@@AABB - - ..--,,++RRQQPPOOggffeeddLLKKJJIIiihhggff``aabbcc<<==>>??HHIIJJKKIIJJKKLL%%&&''(($$##""!!HHGGFFEEllkkjjiiihhggffejjkkllmmkkqqrrssgghhiijjCCDDEEFF !!""**))((''NNMMLLKKccbbaa``HHGGFFEEeeddccbbddeeffgg@@AABBCCLLMMNNOOMMNNOOPP))**++,, DDCCBBAAhhggffeeeddccbba~~}}||nnooppqqttuuvvwwkkllmmnnGGHHIIJJ##$$%%&&&&%%$$##JJIIHHGG__^^]]\\DDCCBBAAaa``__^^hhiijjkkDDEEFFGGUUVVWWXXQQRRSSTT--..//00 - - @@??>>==ddccbbaa~~}}||{{a``__^^]{{zzyyxxrrssttuuxxyyzz{{ooppqqrrKKLLMMNN''(())**""!! FFEEDDCC[[ZZYYXX@@??>>==]]\\[[ZZ~~llmmnnooHHIIJJKKYYZZ[[\\UUVVWWXX11223344 <<;;::99``__^^]]zzyyxxww]\\[[ZZYwwvvuuttvvwwxxyyfpvp˂rbے`f~HXQJ`ےvpftlJXQJ`ےnvpXQrbtJ`ےdQZ|˂pZXv`fdQZ|nXv`XQJ`ےJXQrfpvbHAZH~ftArdbHAZfHfl|ZbHAZpdrtAJHAbے~HfdrtAJf~HbHAZpZAbnXv`p˂r`vXn|ZdQbp˂r`vXndQbt˂rXQltb`JXQrpvnltbfpvp˂r`JXQrf~HXQJ`ےvpftlJXQJ`ےvpflJtArJ`ےdQZ|˂pZXv`fdQZ|nXv`XQJ`ے˂pZfpvbHAZH~ftArdbHAZH~fd|ZbHAZpdtAJlHAbے~HfdrtAJf~HJltHAbےnXv`p˂r`vXn|ZdQbp˂r`vXndQtArd˂rXQtbn`JXQrpvnltbfpvdrtAJ`JXQrf~HXQJ`ےvpftlJXQJ`ےvpf|ZdQJ`ےvpf˂pZXv`fdQZ|nXv`ltb˂pZfpvJltH~ftArdbHAZH~fbtlbHAZpHf`HAbے~HfdrtAJf~HdQZ|HAbnXv`bdQZ|`vXn|ZdQbp˂r`vXnJtArd˂rXQvXn`JXQrpvnltbfpvdrtAJJQr˂pf~HdrtAvpftlJXQJ`ےvpf|ZdQJ`ےvpfH˂pZXv`fdQZ|nXv`ltbZHAbfpvJltH~ftArdbHAZH~fbtlbHAZp~f`HAbے~HfdrtAJ˂pZf~HdQZ|lے`JXnXv`bdQZ|`vXn|ZdQbp˂r`vXn|ZdQb˂rXQvXn`JXQrpvnltbHAbےfpvtbdQQr˂pf~HdrtAvpftlJXQJ`ےvpftlJJ`ےvpfH˂pZXv`fdQZ|`JXQrnXv`Z|dZHAbfpvJltH~ftArdbHAZH~ftArdbHAZp~f`HAے`~HfdrtAJ˂pZf~HrtAJlے`JXnXv`bdQZ|`vXn|ZdQbp˂r`vXn|ZdQb˂rXQvXnJXQrbpvnltbHAbےfpvtbdQQrZHAf~HdrtAvpftlJXQJ`ےvpftlJJ`ےvpfHtlJXv`fdQZ|`JXQrnXv`Z|dbے`fpvJltے`JXQtArdbHAZH~ftArdtbHAZp~f`tAd|~HfdrtAJ˂pZf~HrtAdQZJXQrnXv`bdQZ|r˂p|ZdQbp˂r`vXnlJtA˂rXQvXnZdQbtpvnltbHAbےfpv|dr˂pZHAf~HdrtAZHAbtlJXQJ`ےvpfrd|J`ےvpfHlJtAXv`fdQZ|`JXQrnXv`tAJlbے`fpvJltے`JXQtArdbHAZH~fZdQbtbHAZp~f`rd|~HfdrtAJ˂pZf~HtbdQZJXQrnXv`bdQZ|r˂p|ZdQbp˂r`vXnlJtA˂rXQvXnZdQbtpvnltbHAbےfpv|dr˂pZAbf~HdrtAZHAbtlJXQJ`ےvpfrd|J`ےvpfHlJtAXv`fdQZ|`JXQrnXv`tAJl璒`JXQfpvJltے`JXQtArdbHAZH~fZdQtArbHAZp~f`rd|HfpdrtAJ˂pZf~HtdrtAr˂pnXv`bdQZ|r˂p|ZdQbp˂r`vXnd|Z˂rXQvXnZdQbtvnrltbHAbےfpvJltZHAbf~HdrtAZHAbtlJXQJ`ےvpfdQbtJ`ےvpfHlJtAXQJ`ےdQZ|`JXQrnXv`bdQZ|`JXQfpvJltے`JXQfpvbHAZH~flJtArbHAZp~f`rd|HAZpdrtAJ˂pZf~HdrtAr˂pnXv`bdQZ|r˂pnXv`p˂r`vXnd|Z˂rXQvXnZdQbt˂rXQltbHAbےfpvJltZHAbf~HdrtAZHAbf~HXQJ`ےvpfdQbtJ`ےvpfHlJtAJ`ےdQZ|`JXQrnXv`bdQZ|JQr˂fpvJltے`JXQfpvbHAZH~fl|ZdQbHAZp~f`rd|bHAZpdrtAJ˂pZf~HltbpZHAbnXv`bdQZ|r˂pnXv`p˂r`vXnbtl˂rXQvXnZdQbt˂rXQltbHAbےfpvdQZ|ے`Jf~HdrtAZHAbf~HXQJ`ےvpfJtArdJ`ےvpfHlJtAJ`ےdQZ|`JXQrnXv`drtAJXQr˂fpvJltے`JXQfpvbHAZH~f|ZdQbHAZp~f`rd|bHAZpdtAJl˂pZf~HltbpZHAbnXv`bdQZ|r˂pnXv`p˂r`vXnbtl˂rXQvXnZdQbt˂rXQtbnHAbےfpvdQZ|JAdf~HdrtAZHAbf~HXQJ`ےvpfJtArdJ`ےvpfHlJtAJ`ےvpf`JXQrnXv`drtAdQ|ZdQbfpvJltے`JXQfpvJltH~ftlJbHAZp~f`rd|bHAZpHf`˂pZf~HZ|dtlJnXv`bdQZ|r˂pnXv`bdQZ|`vXnfpv˂rXQvXnZdQbt˂rXQvXnHAbےfpvrtAJltArdf~HdrtAZHAbf~HdrtAvpfnvfJ`ےvpfHlJtAJ`ےvpfH`JXQrnXv`tbdQ|ZdQbfpvJltے`JXQfpvJltH~f~HfpbHAZp~f`rd|bHAZp~f`˂pZf~HZ|`vtlJnXv`bdQZ|r˂pnXv`bdQZ|`vXnvnX˂rXQvXnZdQbt˂rXQvXnHAbےfpvXnvtArdfHfdrtAZHAbf~HdrtAvpfv`fJ`ےJvpfHlJtAJ`ےvpfH`JXQrnXv`pfH~|ZdQbpvnJltے`JXQfpvJltH~f~Hfpltb~f`rd|bHAZp~f`˂pZp˂rf`vtlJrXQJ`bdQZ|r˂pnXv`bdQZ|`vXnvnXdQZ|vXnZdQbt˂rXQvXnHAbےXQJ`ےXH~tArdےHAZdrtAZHAbf~HdrtAvpfv`f~fdrtAJvpfHlJtAJ`ےvpfH`JXQrbHAZf`vX|ZdQbp˂rJltے`JXQfpvJltے`JXQpvnltb~f`rd|bHAZp~f`˂pZp˂rnvptlJXQJ`ےbdQZ|r˂pnXv`bdQZ|HAbےXv`fdQZ|vXnZdQbt˂rXQvXnHAbےXQJ`ےfH~tArdbHAZdrtAZHAbf~HdrtA`JXQr~HfdrtAJvpfHlJtAJ`ےvpfH`JXQrbHAZf`vX|ZdQbp˂rJltے`JXQfpvJlt˂pZpvnltb~f`rd|bHAZp~f`˂pZp˂rnvptlJXQJ`ےbdQZ|r˂pnXv`bdQZ|HAbےXv`fdQZ|vXnZdQbt˂rXQvXnHAbےXQJ`ے`vXntArdbHAZdtAJZHAbf~HdrtA`JXQr~HfdrtAJvpfےlJtAJ`ےvpfH`JXQrbHAZvpf|ZdQbp˂rltbے`JXQfpvJlt˂p`vnXv`ltb`JXQrrd|bHAZp~f`˂pZp˂rH~ftlJXQJ`ےnvpr˂pnXv`bdQZ|JXQrf~HdQZ|˂pZZdQbt˂rXQvXnHAے`XQJ`ے`vXntArdbHAZfHfZHAbf~HdrtA˂pZHAfpvdrtAJHAbےlJtAJ`ےvpfHJXQrbbHAZvpf|ZdQbp˂r`vXnے`JXQfpvJltbے`nXv`ltb`JXQrrd|bHAZp~f`tlJp˂rH~tlJXQJ`ےvpfr˂pnXv`bdQZ|JXQrf~HdQZ|˂pZZdQbt˂rXQvXntAd|XQJ`ےvpfHtArdbHAZH~fZHAbf~HdrtA˂pZHAfpvdrtAJHAbےlJtAJ`ےvpfHZdQbtbHAZ~f`|ZdQbp˂r`vXnے`JXQfpvJltb˂nvfltb`JXQrrd|bHAZp~f`lJtAp˂rvXntlJXQJ`ےvpfr˂pnXv`bdQZ|pZHAb~HfpdQZ|˂pZZdQbt˂rXQvXnrd|XQJ`ےvpfHtArdbHAZH~fZHAےf~HdrtAے`JvnXdrtAJHAbےlJfJ`ےvpfHZdQbtbHAZ~f`|ZdQbp˂r`vXn`JXQrfpvJltXQr˂v`fltb`JXQrpvnbHAZp~f`lJtAp˂rvXH~tlJXQJ`ےvpfbtlnXv`bdQZ|pZHAb~HfpdQZ|˂pZXv`f˂rXQvXnrd|XQJ`ےf`vtArdbHAZH~fJtAdf~HdrtAے`JvnXdrtAJHAbے~HfJ`ےvpfHZdQbtbHAZXnv|ZdQbp˂r`vXn|ZdQbfpvJltXQHAbv`f~ltb`JXQrpvnbHAZp~f`lJtAp˂rpfH~tlJXQJ`ےvpftlJnXv`bdQZ|ے`JXQfpvdQZ|˂pZXv`f˂rXQvXnrd|XQJ`ےf`vtArdbHAZH~ftArdf~HdrtAr˂pnXv`drtAJHAbے~HfJ`ےvpfHZdQbtbHAZXnv|ZdQbp˂r`vXn|ZdQbfpvJltZHAbf~Hltb`JXQrpvnbHAZp~f`lJtAp˂rp`vXtlJXQJ`ےvpftlJnXv`bdQZ|ے`JXQfpvdQZ|˂pZXv`f˂rXQvXnrd|XQJ`ےnvptArdbHAZH~ftArdfHfdrtAr˂pnXv`drtAJHAbے~HfJ`ےJvpfHZdQbtbHAZfH~|ZdQbp˂r`vXn|ZdQbpvnJlt`JXQrf~Hfltb`JXQrpvnltb~f`lJtAp˂rf`vXtlJXQJ`ےvpftlJrXQJ`bdQZ|˂pZvnXvdQZ|˂pZXv`fdQZ|vXnrd|XQJ`ےnvptArdbHAZH~ftArdےHAZdrtAHAbے`f~drtAJHAbے~HfdrtAJvpfHZdQbtbHAZfH~|ZdQbp˂r`vXn|ZdQbp˂rJlt`JXQrHfpvltb`JXQrpvnltb~f`lJtAp˂rvpftlJXQJ`ےvpftlJXQJ`ےbdQZ|˂pZnXvdQZ|˂pZXv`fdQZ|vXnrd|XQJ`ےے`JXQtArdbHAZH~ftArdbHAZdrtAHAb`ffpdrtAJHAbے~HfdrtAJvpfHZdQbtbHAZrZHA|ZdQbp˂r`vXn|ZdQbp˂rJlt˂pZHAvnrltb`JXQrpvnltb~f`lJtAp˂rbے`tlJXQJ`ےvpftlJXQJ`ےbdQZ|bے`XQJ`ےdQZ|˂pZXv`fdQZ|vXnrd|XQJ`ےJXQrfpvbHAZH~ftArdbHAZdtAJJXQrHAZpdrtAJHAbے~HfdrtAJvpfےZdQbtbHAZpZHAnXv`p˂r`vXn|ZdQbp˂rltb˂p`J˂rXQltb`JXQrpvnltb`JXQrlJtArd|ےbHAf`vd|ZHAZp˂f`vbے`~Hfpltdr˂pHfpvtAJl璐ے`JJtArdےbHAfH~|ZdQbbHAZH~ftArdf~HdrtAZHAbv`fAJltHAbے~HfJ`ےvpfHJAHfZdQbtZp˂XnvdQbt璀rXQJXnvJXQrvnXrtAJlZAb`nXvtbdQZXQr˂|ZdQZp˂f`vXtlJp˂r`vXn|ZdQbfpvJltے`JXQ~HXvbQZd`JXQrpvnbHAZp~f``vXnlJtArXQJ`pfH~lJtAr`ےbpfH~˂pZHAv`ftbdQJXQr`f~|drpZHAbbtlrXQJ`nvptArdXQJ`ےvpftlJnXv`bdQZ|r˂p`f~rtAJl˂pZXv`f˂rXQvXnvˍpfrd|p˂rf`vd|ZHAZp˂f`vbے`~HfpZ|dpZHAHfpvtAJl璐ے`JJtArdےbHAfH~|ZdQtAbHAZH~ftArdfHfdrtAZHAbHfpvtbdQHAbے~HfJ`ےJvpfHH~ㅐfZdQbtXQJ`ےXnvdQbt璀rXQJXnvJXQrvnXrtAJlbے`nXvtbdQZXQr˂|ZdQZp˂f`vXrd|p˂r`vXn|ZdQbpvnJltے`JXQnXvZ|d`JXQrpvnltb~f``vXnlJtAbHAZpfH~lJtAr`ےbpfH~˂pZHAv`ftbdQJXQr`f~|drpZHAbbtlrXQJ`nvpZdQbtXQJ`ےvpftlJrXQJ`bdQZ|r˂p`f~rtAJl˂pZXv`fdQZ|vXnvˍpfrd|p˂rf`vd|ZHAZp˂f`vے`J~HfpZ|l璂pZHAHfpvtAJl璐ے`JJfpvےbHAfH~lJtAbHAZH~ftArdےHAZdrtAZHAbHfpvtbdQHAbے~HfdrtAJvpfHH~ㅐfZdQbtXQJ`ےXnvdQbt璀rXQJXnvXQrbtvnXtbdQZbJQrnXvtbdQZXQr˂nXvZp˂f`vXrd|p˂r`vXn|ZdQbp˂rJltے`JXQ~HZ|rA`JXQrpvnltb~f``vXnlJtAbHAXQpfH~lJtAr`ےbpfH~lJtAv`f|dr˂pZ`f~|drpZHAb`f~rXQJ`nvpZdQbtXQJ`ےvpftlJXQJ`ےbdQZ|r˂pfpvJlt˂pZXv`fdQZ|vXnvˍpfrd|J`ےJf`vd|ZHAZp˂f`vd|Z~HfptAJlHAbےHfpvtAJl璐ے`JHfpvےbHAfH~l|ZbHAZH~ftArdbHAZdrtAZHAbnXv`bdQZ|HAbے~HfdrtAJvpfHH~ㅐfZdQbtltbQXnvdQbt璀rXQJXnvdQbtvnXtbdQZ`JXQrnXvtbdQZXQr˂nXvZp˂f`vXdQbtp˂r`vXn|ZdQbp˂rJltے`JXQf~HdrtA`JXQrpvnltb~f``vXnlJtAZdrtpfH~lJtAr`ےbpfH~lJtArv`f|dr˂pZA`f~|drpZHAb`f~rXQJ`nvplJtArXQJ`ےvpftlJXQJ`ےbdQZ|r˂pfpvJlt˂pZXv`fdQZ|vXnvˍpfrd|AJltf`vd|ZHAZp˂f`vd|Z~HfptAdQZ|`JXQHfpvtAJl璐ے`JHfpvےbHAfH~d|ZbHAZH~ftArdbHAZdtAJZHAbnXv`bdQZ|HAbے~HfdrtAJvpfZH~ㅐfZdQbtbdQZ|XnvdQbt璀rXQJXnvdQbtvnXdrtArbt璀nXvtbdQZXQr˂nXvZp˂f`vXdQbtp˂r`vXn|ZdQbp˂rltbے`JXQpvndrtAJ`JXQrpvnltbHAbے`vXnlJtAdrtpfے`lJtAr`ےbpfH~lJtArv`fJltlJtAd`f~|drpZHAb`f~rXQJ`nvplJtArXQJ`ےvpftlJXQJ`ےnvpr˂pXv`fbdQZ˂pZXv`fdQZ|`JXQrvˍpfrd|AJltJXQrd|ZHAZp˂f`vd|ZHfpvbdQZ||ZdQHfpvtAJl璐ے`JHfpvےJlfH~dtlbHAZH~ftArdbHAZfHfZHAb~Hf|drHAbے~HfdrtAJ˂pZH~ㅐfZdQbtbdQZ|˂pZHAdQbt璀rXQJXnvdQbt璀nrXQltbbtlnXvtbdQZXQr˂nXvtbdQZf`vXJfpvp˂r`vXn|ZdQbp˂r`vXnے`JXQpvntAJl`JXQrpvnltbHAbے`vXnlJfrAJlbے`lJtAr`ےbpfH~lJtArJ`ےnvpJtArd`f~|drpZHAb`f~|drnvpnvfXQJ`ےvpftlJXQJ`ےvpfr˂pXv`ftbdQZ˂pZXv`fdQZ|`JXQrvˍpfpvtbdQJXQrd|ZHAZp˂f`vd|ZHAZp˂`vXn|ZdQHfpvtAJl璐ے`JHfpvtAJlfH~~HfpbHAZH~ftArdbHAZH~fZHAb~HX|AJlHAbے~HfdrtAJ˂p`H~ㅐf~HfpZ|d˂pZHAdQbt璀rXQJXnvdQbt璀rXQJvpfbtlnXvtbdQZXQr˂nXvtbdQZf`vXvnXp˂r`vXn|ZdQbp˂r`vXnے`JXQv`ftbn`JXQrpvnltbJXQr`vXnvnXrtAJlbے`lJtAr`ےbpfH~lJtAr`ےbH~fJtArd`fH|drpZHAb`f~|drnvpv`fXQJ`ےvpftlJXQJ`ےvpfr˂p~Hfpvpf˂pZXv`fdQZ|˂pZHAvˍpfv`ftbdQJXQrd|ZHAZp˂f`vd|ZHAZp˂`vXH|ZdQfpvtAJl璐ے`JHfpvtAJlfH~~HfpJltH~ftArdbHAZH~fZHAےvnXHf`HAbے~HfdrtAJbے`H~ㅐf~HfpZ|d˂pZHAdQbt璀rXQJXnvdQbt璀rXQJ~f`btlnrXQJtbdQZXQr˂nXvtbdQZf`vXvnXbdQZ|`vXn|ZdQbp˂r`vXn`JXQrv`pvvXn`JXQrpvnltbJXQr`vXnvnXrtAJbے`lJfp`ےbpfH~lJtAr`ےbvXnJtArd`ےHA|drpZHAb`f~|drnvpv`f~drtAvpftlJXQJ`ےvpfbtlnrXQvpfH˂pZXv`fdQZ|˂pZHAvˍpfv`pvbdQZ|JXQrvnXHAZp˂f`vd|ZHAZp˂vpfH|ZdQZp˂tAJl璐ے`JHfpvtAJlfے`JfpvJltH~ftArdbHAZH~fJtAdJ`p˂~f`HAbے~HfdrtAJb˂H~ㅐfۀnXvdrtA˂pZHAv`frXQJXnvdQbt璀rXQJ~f`btlrXQJ`tbdQZXQr˂nXvtbdQZXQHAbnXv`bdQZ|`vXn|ZdQbp˂r`vXn|ZdQbrXQJvXn`JXQrpvnltbpZHAb`vXn`f~Jltbے`~Hfp`ےbpfH~lJtAr`ےbvXnJtArdےbHA|drpZHAb`f~|drے`JXQf~HdrtAvpftlJXQJ`ےvpftlJ`ےbvpfH˂pZXv`fdQZ|ے`JvˍpfHfpvbdQZ|JXQrvnXHAZp˂f`vd|ZHAZp˂vp`v|ZdQZp˂tAJl璐ے`JHfpvtAJlr˂pfpvJltH~ftArdbHAZH~ftArdHAZp˂~f`HAے`~HfdrtAJXQr˂H~ㅐfۀnXvdrtA˂pZHAv`frXQJXnvdQbt璀rXQJXnvbtlrXQJ`tbdQZXQr˂nXvtbdQZZHAbnXv`bdQZ|`vXn|ZdQbp˂r`vXn|ZdQbbHAvXnJXQrbpvnltbpZHAb`vXn`f~Jltbbے`~Hfp`ےbpfH~lJtAr`ےbpfH~JtArdےbHA|dtApZHAb`f~|drے`JXQf~HdrtAvpftlJXQJ`ےvpftlJZp˂vpfHtlJXv`fdQZ|ے`JvˍpfHXv`QZdrJXQrvnXHAZp˂f`vd|ZHAZp˂f`v|ZdQZp˂Jltے`JHfpvtAJlr˂pfvnXJltے`JXQtArdbHAZH~ftArdrXQJ`~f`tAd|~HfdrtAJXQHAbH~ㅐff~HtAJl˂pZHAv`frXQJXnvdQbt璀rXQJXnvbtlrXQJ`bnvXQr˂nXvtbdQZ`JXQrv`fbdQZ|r˂p|ZdQbp˂r`vXn|ZdQbےbHAvXnZdQbtpvnltbے`JXQ`vXnfpvtbdQZbے`~Hfp`ےJlpfH~lJtAr`ےbpfH~JtArdےbHApfHpZHAb`f~|dr˂pZ~HfpdrtAZHAbtlJXQJ`ےvpftlJZp˂vpfHlJtAXv`fdQZ|r˂pvˍpfnXv`|drJXQrvnXtbdQf`vd|ZHAZp˂vp|ZdQZp˂f`vXے`JHfpvtAJlHAbےvnXJltے`JXQtArdbHAZH~ftArdrXQJ`~f`rd|~HfdrtAJZHAbH~ㅐff~HtAJl˂pZHAv`fZ|dXnvdQbt璀rXQJfH~btlrXQJ`nvpXQr˂nXvtbdQZ`JXQrv`fbdQZ|r˂p|ZdQbp˂r`vXn|ZdQbp˂rvXnZdQbtpvnltbے`JXQ`vXnfpvtbdQZbے`~HfprtAJlpfH~lJtAr`ےbf`vXJtArdےbHAfH~pZHAb`f~|dr˂pZ~HfpdrtAZHAbtlJXQJ`ےvpftlJXQJ`ےvpfHlJtAXv`fdQZ|r˂pvˍpf~Hf|rAJlJXQrvnXtbdQf`vd|ZHAZp˂nvp|ZdQZp˂f`vXے`JHfpvtAJlHAbvnvfJltے`JXQtArdbHAZH~ftArdbHAZ~f`rd|HfpdrtAJ`JXQrH~ㅐfpvntbd˂pZHAv`fZ|dXnvdQbt璀rXQJfH~btlrXQJ`nvpXQr˂nXvtbdQZ˂pZHA~HfbdQZ|r˂p|ZdQbp˂r`vXn|ZdQbp˂rvXnZdQbtvnrltb˂pZ`vXnXv`fQZ|dbے`~HfprtAJlpfH~lJtAr`ےbf`vXJtArdےbHAfH~pZHA`f~|drbے`pvndrtAZHAbtlJXQJ`ےvpftlJXQJ`ےvpfHlJtAXQJ`ےdQZ|HAbےvˍp|~HfrtAJlJXQrvnXtbdQf`vd|ZHAZp˂H~f|ZdQZp˂f`vXے`JXQHfpvtAJlJXQrXv`fJltے`JXQfpvbHAZH~ftArdbHAXQ~f`rd|HAZpdrtAJ`JXQrdrQtpvntbd˂pZHAv`fZ|dXnvdQbt璀rXQJ`vXnbtlrXQJ`nvprbt璀nXvtbdQZ˂pZHA~HfbdQZ|r˂pnXv`p˂r`vXn|ZdQbJ`ےvXnZdQbt˂rXQltb˂pZJltXv`pQZ|dbے`~HfprtAJlpfے`lJtAr`ےbvpfJtArdےbHAfH~lJtAd`f~|drbے`pvndrtAZHAbf~HXQJ`ےvpftlJbHAZpvpfHlJtAJ`ےdQZ|HAbbAdZ|vnXrtAJJXQrvnXtbdQJXQrd|ZHAZp˂H~f|ZdQZp˂f`vX|ZdQHfpvtAJlJXQHAbXv`fJltے`JXQfpvbHAZH~ftArd˂rXQ~f`rd|bHAZpdrtAJ˂pZHAdrQtv`fbdQZ|˂pZHAv`fZ|d˂pZHAdQbt璀rXQJ`vXnbtlrXQJ`nvpbtlnXvtbdQZے`J~fpvbdQZ|r˂pnXv`p˂r`vXn|ZdQbJ`ےvXnZdQbt˂rXQltbbے`Jlt~HfpdrtAbے`~HfprtAJlbے`lJtAr`ےbvp`JtArdےbHAfH~JtArd`f~|drXQr˂nXv`drtAZHAbf~HXQJ`ےvpftlJbHAZpvpfHlJtAJ`ےdQZ|JXQrbAdZ|vnXJltJXQrvnXtbdQJXQrd|ZHAZp˂vXn|ZdQZp˂f`vX|ZdQHfpvtAJlpZHAbf~HJltے`JXQfpvbHAZH~ftArd˂b~f`rd|bHAZpdtAJl˂p`ZdrQtv`fbdQZ|˂pZHAv`fZ|d˂pZHAdQbt璀rXQJvpfHbtlrXQJ`nvpbtlnXvtbdQZے`JfpvbdQZ|r˂pnXv`p˂r`vXn|ZdQbHAZp˂vXnZdQbt˂rXQtbnQXb㉀Jlt~HXvAJlbے`~HfprtAJlbے`lJtAr`ےb~f`JtArdےbHAfH~JtArd`fH|drXQr˂nXv`drtAZHAbf~HXQJ`ےvpftlJrXQJvpfHlJtAJ`ےvpfpJAHrbAdZ|`f~tbnJXQrvnXtbdQJXQrd|ZHAZp˂vXn|ZdQZp˂f`vX|ZdQfpvtAJlp`JXQf~HJltے`JXQfpvJltH~ftArd`ےb~f`rd|bHAZpHf`ˁ`ZdrQtHfpvvpfH˂pZHAv`fZ|d˂pZHAdQbt璀rXQJvpfHbtlrXQJ`nvpbtlnrXQJtbdQZr˂pfvnXbdQZ|r˂pnXv`bdQZ|`vXn|ZdQbHAZp˂vXnZdQbt˂rXQvXnQXAHrJltnXvf`vbے`~HfprtAJlbے`lJfp`ےb~vJtArdےbHAfH~JtArd`ےHA|drZHAbv`fdrtAZHAbf~HdrtAvpftlJrXQJvpfHlJtAJ`ےvpfHˁ`ZQXbAdZ|`pvXnvJXQrvnXtbdQJXQrvnXHAZp˂pfے`|ZdQZp˂f`vX|ZdQZp˂tAJlے`JXQ~HfpJltے`JXQfpvJltH~ftArd`p˂~f`rd|bHAZp~f`b㉀ۑpdrQtnrXQJpfH~˂pZHAv`fZ|d˂pZHAv`frXQJJXQrbtlrXQJ`nvpbtlrXQJ`tbdQZr˂pvnXbdQZ|r˂pnXv`bdQZ|`vXn|ZdQbrXQJ`vXnZdQbt˂rXQvXnJAHrJlt`p˂f`vbے`~HfprtAJlbے`~Hfp`ےbZHAbJtArdےbHAfH~JtArdےbHA|drZHAbv`ffdrtAZHAbf~HdrtAvpftlJےbHAvpfHlJtAJ`ےvpfHˁ`ZQXbAdZ|rXQJ`XnvJXQrvnXtbdQJXQrvnXHAZp˂`JXQ|ZdQZp˂f`vX|ZdQZp˂tAJl璀˂pZpvnJltے`JXQfpvJltH~ftArdZp˂~f`rd|bHAZp~f`b㉀ۑpdrQtےbHApfH~˂pZHAv`fZ|d˂pZHAv`frXQJr˂pbtlrXQJ`nvpbtlrXQJ`tbdQZHAbےrXQJ`bdQZ|r˂pnXv`bdQZ|`vXn|ZdQbrXQJ`vXnZdQbt˂rXQvXn`ZQXbJltZp˂f`vے`J~HfprtAJlbے`~Hfp`ےbZHAbJfpvےbHAfH~JtArdےbHA|dtA`JXQrےHAZdrtAZHAbf~HdrtAvpftlJےbHAvpfHlJtAJ`ےvpfHۑpJbAdZ|bHAZXnvXQrbtvnXtbdQJXQrvnXHAZp˂`JXQnXvZp˂f`vX|ZdQZp˂Jlt˂p`p˂rJltے`JXQfpvJltے`JXQtArdXQJ`ے~f`rd|bHAZp~f`AHr󙐂˂drQtp˂rpfH~lJtAv`fZ|d˂pZHAv`frXQJr˂pZ`f~rXQJ`nvpbtlrXQJ`bnvJXQrbXQJ`ےbdQZ|r˂pnXv`bdQZ|r˂p|ZdQbJltvXnZdQbt˂rXQvXn`ZQXbJltXQJ`ےf`vd|Z~HfprtAJlbے`~Hfp`ےJlAb`JHfpvےbHAfH~JtArdےbHApfHtl|bHAZdrtAZHAbf~HdrtAZHAbtlJbQZdvpfHlJtAJ`ےvpfHۑpJbAdZ|bHAZXnvdQbtvnXtbdQJXQrvnXtdrXQr˂nXvZp˂f`vX|ZdQZp˂f`vXZdQbtp˂rJltے`JXQfpvJltے`JXQtArdrtAJl~f`rd|bHAZp~f`AHr󙐉drQtp˂rpfH~lJtArv`fZ|d˂pZHAv`ftAJlpZHAb`f~rXQJ`nvpbtlrXQJ`nvplJtAXQJ`ےbdQZ|r˂pnXv`bdQZ|r˂p|ZdQbtbdQvXnZdQbt˂rXQvXnۑpJAHJltXQJ`pf`vd|Z~HfprtAJlbے`~HfptbdQZے`JHfpvےbHAfH~JtArdےbHAfH~rd|bHAZdtAJZHAbf~HdrtAZHAbtlJZ|dvpfےlJtAJ`ےvpfHr󙐂ˁ`bAdZ|˂rXQXnvdQbtvnXtbdQJXQrvnX|drXQr˂nXvZp˂f`vX|ZdQZp˂f`vXZdQtArp˂rltbے`JXQfpvJltے`JXQtArdrtAJl`JXQrrd|bHAZp~f`ZQXb㉀drQtJ`ےpfH~lJtArv`fZ|d˂pZHAv`ftAJlpZHAb`f~rXQJ`nvpbtlrXQJ`nvpd|ZXQJ`ےnvpr˂pnXv`bdQZ|r˂p|ZdQbtbdQ瀉˂pZZdQbt˂rXQvXnۑpJAHJltbHAZpf`vd|ZHfpvrtAJlbے`~HfptbdQZJQrHfpvےJlfH~JtArdےbHAfH~dQbt璐bHAZfHfZHAbf~HdrtAZHAbtlJZ|rAJHAbےlJtAJ`ےvpfHr󙐂ˁ`bAdZ|˂rXQXnvdQbt璀nrXQtbdQJXQrvnX|lt˂pZHnXvtbdQZf`vX|ZdQZp˂f`vXlJtArp˂r`vXnے`JXQfpvJltے`JXQfpvltb`JXQrrd|bHAZp~f`ZQXAHrdrQtJ`ےpfH~lJtArJ`ےZ|d˂pZHAv`fbdQZ|Abے``f~|drnvpbtlrXQJ`nvpd|ZXQJ`ےvpfr˂pnXv`bdQZ|r˂p~HfdQZ|˂pZZdQbt˂rXQvXnˁ`ZJltbHAXQJf`vd|ZHAZp˂rtAJlbے`~HfpdrtAJXQrHfpvtAJlfH~JtArdےbHAfH~dQbt璐bHAZH~fZHAbf~HdrtAZHAbpvndrtAJHAbےlJtAJ`ےvpfHQXb㉀bAdZ|`ےbXnvdQbt璀rXQJtbdQJXQrvnXJlt˂pZHnXvtbdQZf`vX|ZdQZp˂f`vXl|ZdQp˂r`vXnے`JXQfpvJltے`JXQXv`fltb`JXQrrd|bHAZp~f`pJAHrdrQtHAZp˂pfH~lJtAr`ےbZ|d˂pZHAv`fbdQZ|Abے``f~|drnvpbtlrXQJ`nvpbtlXQJ`ےvpfr˂pnXv`bdQZ|r˂p~HfdQZ|˂pZZdQbt˂rXQvXnˁ`ZJltrXQJf`vd|ZHAZp˂rtAJlbے`~HfpdrtAJXQrHfpvtAJlfH~JtArdےbHAfH~JtArdbHAZH~fZHAےf~HdrtAZHAbpvndrtAJHAbےlJfJ`ےvpfHQXb㉀bAdZ|`ےbXnvdQbt璀rXQJtbdQJXQrvnXdQZ|ZHAbnXvtbdQZf`vX|ZdQZp˂f`vX|ZdQp˂r`vXn`JXQrfpvJltے`JXQXv`pbdQZ|`JXQrpvnbHAZp~f`p`ZQXdrQtHAZp˂pfH~lJtAr`ےbZ|d˂pZHAv`fdrtAJے`JXQ`f~|drnvpbtlrXQJ`nvpbtlXQJ`ےvpfbtlnXv`bdQZ|r˂pvnXdrt˂pZXv`f˂rXQvXnb㉀ۑpJltbHAf`vd|ZHAZp˂tAJlbے`~Hfpltbr˂pHfpvtAJlfے`JJtArdےbHAfH~JtArdbHAZH~fJtAdf~HdrtAZHAbv`fAJltHAbے~HfJ`ےvpfHJAHrbAdZ|Zp˂XnvdQbt璀rXQJtbnJXQrvnXdQZ|ZHAbnXvtbdQZXQr˂|ZdQZp˂f`vXtlJp˂r`vXn|ZdQbfpvJltے`JXQ~HfpbdQZ|`JXQrpvnbHAZp~f`ˁ`ZQXdrQtrXQJ`pfH~lJtAr`ےbvpfH˂pZHAv`fdrtAJے`JXQ`f~|drpZHAbbtlrXQJ`nvptArdXQJ`ےvpftlJnXv`bdQZ|r˂pvnXdrt˂pZXv`f˂rXQvXnb㉀ۑpJlt----------................................................................... \ No newline at end of file diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv39_3.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv39_3.dat deleted file mode 100644 index 792dee0be3..0000000000 --- a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv39_3.dat +++ /dev/null @@ -1,345 +0,0 @@ -~}~}~}~}zyzyzyzyxwxwxwxwtstststsrqrqrqrqnmnmnmnmjijijijihghghghgdcdcdcdc~}~}~}~}zyzyzyzyxwxwxwxwtstststsrqrqrqrqnmnmnmnmjijijijihghghghgdcdcdcdc~}~}~}~}zyzyzyzyxwxwxwxwtstststsrqrqrqrqnmnmnmnmjijijijihghghghgdcdcdcdc~}~}~}~}zyzyzyzyxwxwxwxwtstststsrqrqrqrqnmnmnmnmjijijijihghgfefedcdcdcdc~}~}~}~}zyzyzyzyxwxwxwxwtstststsrqrqrqponmnmnmnmjijijijifefefefedcdcdcdc~}~}~}~}zyzyzyzyxwxwxwvutstststspopopoponmnmnmnmjijijijifefefefedcdcdcdc~}~}~}|{zyzyzyzyvuvuvuvutstststspopopoponmnmnmnmjijijijifefefefedcdcdcdc|{|{|{|{zyzyzyzyvuvuvuvutstststspopopoponmnmnmnmjijijijifefefefedcdcdcdc|{|{|{|{zyzyzyzyvuvuvuvutstststspopopoponmnmnmlkjijijijifefefefedcdcdcdc|{|{|{|{zyzyzyzyvuvuvuvutstststspopopopolklklkkkjijijijifefefefedcdcdcdc|{|{|{|{zyzyzyzyvuvuvuvutstststspopopopokkklklkljijijijifefefefedcdcdcdc|{|{|{|{zyzyzyzyvuvuvuvutstststspopopopoklklklkljijijijifefefefedcdcdcdc|{|{|{|{zyzyzyzyvuvuvuvutstststspopopopoklklklkljijijijifefefefedcdcdcdc|{|{|{|{zyzyzyzyvuvuvuvutstststspopopopoklklklkljijijijifefefefedcdcdcdc|{|{|{|{zyzyzyzyvuvuvuvutstststspopopopoklklklkljijijijifefefefedcdcdcdc|{|{|{|{zyzyzyzyvuvuvuvutstststspopopopoklklklkljijijijifefefefedcdcdcdc|{|{|{|{zyzyzyzyvuvuvuvutstststspopopopokkkkkklkjijijijifefefefedcdcdcdc|{|{|{|{zyzyzyzyvuvuvuvutstststspopopopolklklklkjijijijifefefefedcdcdcdc|{|{|{|{zyzyzyzyvuvuvuvutstststspopopopolklklklkjijijijifefefefedcdcdcdc|{|{|{|{zyzyzyzyvuvuvuvutstststspopopopolklklklkjijijijifefefefedcdcdcdc|{|{|{|{zyzyzyzyvuvuvuvutstststspopopopolklklklkjijijijifefefefedcdcdcdc|{|{|{|{zyzyzyzyvuvuvuvutstststspopopopolklklklkjijijijifefefefedcdcdcdc|{|{|{|{zyzyzyzyvuvuvuvutstststspopopopolklkkkkkjijijijifefefefedcdcdcdc|{|{|{|{zyzyzyzyvuvuvuvutstststspopopopoklklklkljijijijifefefefedcdcdcdc|{|{|{|{zyzyzyzyvuvuvuvutstststspopopopoklklklkljijijijifefefefedcdcbaba|{|{|{|{zyzyzyzyvuvuvuvutstststspopopopoklklklkljijihghgfefefefebabababa|{|{|{|{zyzyzyzyvuvuvuvutststsrqpopopopoklklklklhghghghgfefefefebabababa|{|{|{|{zyzyzyxwvuvuvuvurqrqrqrqpopopopoklklklklhghghghgfefefefebabababa~}|{|{|{|{xwxwxwxwvuvuvuvurqrqrqrqpopopopoklklklkkhghghghgfefefefebabababa~}~}~}~}|{|{|{|{xwxwxwxwvuvuvuvurqrqrqrqpopopopokkkklklkhghghghgfefefefebabababa~}~}~}~}|{|{|{|{xwxwxwxwvuvuvuvurqrqrqrqpopopopolklklklkhghghghgfefefefebabababa~}~}~}~}|{|{|{|{xwxwxwxwvuvuvuvurqrqrqrqpopopopolklklklkhghghghgfefefefebabababa~}~}~}~}|{|{|{|{xwxwxwxwvuvuvuvurqrqrqrqpopopopolklklklkhghghghgfefefefebabababa~}~}~}~}|{|{|{|{xwxwxwxwvuvuvuvurqrqrqrqpopopopolklklklkhghghghgfefefefebabababa~}~}~}~}|{|{|{|{xwxwxwxwvuvuvuvurqrqrqrqpopopopolklklklkhghghghgfefefefebabababa~}~}~}~}|{|{|{|{xwxwxwxwvuvuvuvurqrqrqrqpopopopolkkkkkklhghghghgfefefefebabababa~}~}~}~}|{|{|{|{xwxwxwxwvuvuvuvurqrqrqrqpopopopoklklklklhghghghgfefefefebabababa~}~}~}~}|{|{|{|{xwxwxwxwvuvuvuvurqrqrqrqpopopopoklklklklhghghghgfefefefebabababa~}~}~}~}|{|{|{|{xwxwxwxwvuvuvuvurqrqrqrqpopopopoklklklklhghghghgfefefefebabababa~}~}~}~}|{|{|{|{xwxwxwxwvuvuvuvurqrqrqrqponmnmnmklklklklhghghghgfefefefebabababa~}~}~}~}|{|{|{|{xwxwxwxwvuvuvuvurqrqrqrqnmnmnmnmklklklklhghghghgfefefefebabababa~}~}~}~}|{|{|{|{xwxwxwxwvuvuvuvurqrqrqrqnmnmnmnmklklkkkkhghghghgfefefefebabababa~}~}~}~}|{|{|{|{xwxwxwxwvuvuvuvurqrqrqrqnmnmnmnmkklklklkhghghghgfefefefebabababa~}~}~}~}|{|{|{|{xwxwxwxwvuvuvuvurqrqrqrqnmnmnmnmlklklklkhghghghgfefefefebabababababababa~}~}~}~}|{|{|{|{xwxwxwxwvuvuvuvurqrqrqrqnmnmnmnmlklklklkhghghghgfefefefebabababababababa~}~}~}~}|{|{|{|{xwxwxwxwvuvuvuvurqrqrqrqnmnmnmnmlklklklkhghghghgfefefefebabababababa`_`_~}~}~}~}|{|{|{|{xwxwxwxwvuvuvuvurqrqrqrqnmnmnmnmkkkklklkhghghghgfefedcdcbabababa`_`_`_`_~}~}~}~}|{|{|{|{xwxwxwxwvuvuvuvurqrqrqrqnmnmnmnmlklkjijihghghghgdcdcdcdcbabababa`_`_`_`_~}~}~}~}|{|{|{|{xwxwxwxwvuvuvutsrqrqrqrqnmnmnmnmjijijijihghghghgdcdcdcdcbabababa`_`_`_`_~}~}~}~}|{|{|{zyxwxwxwxwtstststsrqrqrqrqnmnmnmnmjijijijihghghghgdcdcdcdcbabababa`_`_`_`_~}~}~}~}zyzyzyzyxwxwxwxwtstststsrqrqrqrqnmnmnmnmjijijijihghghghgdcdcdcdcbabababa`_`_`_`_~}~}~}~}zyzyzyzyxwxwxwxwtstststsrqrqrqrqnmnmnmnmjijijijihghghghgdcdcdcdcbabababa`_`_`_`_~}~}~}~}zyzyzyzyxwxwxwxwtstststsrqrqrqrqnmnmnmnmjijijijihghghghgdcdcdcdcbabababa`_`_`_`_~}~}~}~}zyzyzyzyxwxwxwxwtstststsrqrqrqrqnmnmnmnmjijijijihghghghgdcdcdcdcbabababa`_`_`_`_~}~}~}~}zyzyzyzyxwxwxwxwtstststsrqrqrqrqnmnmnmnmjijijijihghghghgdcdcdcdcbabababa`_`_`_`_~}~}~}~}zyzyzyzyxwxwxwxwtstststsrqrqrqrqnmnmnmnmjijijijihghghghgdcdcdcdcbabababa`_`_`_`_~}~}~}~}zyzyzyzyxwxwxwxwtstststsrqrqrqrqnmnmnmnmjijijijihghghghgdcdcdcdcbabababa`_`_`_`_~}~}~}~}zyzyzyzyxwxwxwxwtstststsrqrqrqrqnmnmnmnmjijijijihghghghgdcdcdcdcbabababa`_`_`_`_~}~}~}~}zyzyzyzyxwxwxwxwtstststsrqrqrqrqnmnmnmnmjijijijihghghghgdcdcdcdcbabababa`_`_`_`_~}~}~}~}zyzyzyzyxwxwxwxwtstststsrqrqrqrqnmnmnmnmjijijijihghghghgdcdcdcdcbabababa`_`_`_`_~}~}~}~}zyzyzyzyxwxwxwxwtstststsrqrqrqrqnmnmnmnmjijijijihghghghgdcdcdcdcbabababa`_`_`_`_~}~}~}~}zyzyzyzyxwxwxwxwtstststsrqrqrqrqnmnmnmnmjijijijihghghghgdcdcdcdcbabababa`_`_`_`_~}~}~}~}zyzyzyzyxwxwxwxwtstststsrqrqrqrqnmnmnmnmjijijijihghghghgdcdcdcdcbabababa`_`_`_`_~}~}~}~}zyzyzyzyxwxwxwxwtstststsrqrqrqrqnmnmnmnmjijijijihghghghgdcdcdcdcbabababa`_`_`_`_~}~}~}~}zyzyzyzyxwxwxwxwtstststsrqrqrqrqnmnmnmnmjijijijihghghghgdcdcdcdcbabababa`_`_`_`_`_`_`_`_^]^]^]^]ZYZYZYZYXWXWVUVUTSTSTSTSOPOPOPOPLKLKLKLKJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:987878787434343430/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!"!"!"!    `_`_`_`_^]^]\[\[ZYZYZYZYVUVUVUVUTSTSTSTSOPOPOPOPLKLKLKLKJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:987878787434343430/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!"!"!"!    `_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVUTSTSTSTSOPOPOOOOLKLKLKLKJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:987878787434343430/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!"!"!"!    `_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVUTSTSTSTSOOPOPOPOLKLKLKLKJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:987878787434343430/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!"!"!"!    `_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVUTSTSTSTSPOPOPOPOLKLKLKLKJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:987878787434343330/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!"!"!"!    `_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVUTSTSTSTSPOPOPOPOLKLKLKLKJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:987878787333434340/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!"!"!"!    `_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVUTSTSTSTSPOPOPOPOLKLKLKLKJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:987878787343434340/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!"!"!"!    `_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVUTSTSTSTSPOPOPOPOLKLKLKLKJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:987878787343434340/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!"!"!"!    `_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVUTSTSTSTSPOPOPOPOLKLKLKLKJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:987878765343434340/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!"!"!"!    `_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVUTSTSTSTSOOOOOPOPLKLKLKLKJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:965656565343434340/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!"!"!"!    `_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVUTSTSTSTSOPOPOPOPLKLKLKLKJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:965656565343434340/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!"!"!"!    - `_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVUTSTSTSTSOPOPOPOPLKLKLKLKJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:965656565333333430/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!"!"!"!    - - - - `_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVUTSTSTSTSOPOPOPOPLKLKLKLKJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:965656565434343430/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!"!"!"!    - - - - `_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVURQRQRQRQOPOPOPOPLKLKLKLKJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:965656565434343430/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!"!"!"!    - - - - `_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVURQRQRQRQOPOPOPOPLKLKLKLKJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:965656565434343430/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#        - - - - `_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVURQRQRQRQOPOOOOOOLKLKLKLKJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:965656565434333330/0/0/0/.-.-.-.-*)*)*)*)&%&%&%&%$#$#$#$#        - - - - `_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVURQRQRQRQPOPOPOPOLKLKLKLKJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:965656565434343430/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#        - - - - `_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVURQRQRQRQPOPOPOPOLKLKLKLKJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:965656565212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#        - - - - `_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVURQRQRQRQPOPOPOPOLKLKLKLKJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?>=<;<;<;:9:9:9:965656565212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#        - - - - `_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVURQRQRQRQPOPOPOOOLKLKLKLKJIJIJIJIFEFEFEFEDCBABABA@?@?@?@?<;<;<;<;:9:9:9:965656565212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#        - - - - `_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVURQRQRQRQOOPOPOPOLKLKLKLKJIHGHGHGFEFEFEFEBABABABA@?@?@?@?<;<;<;<;:9:9:9:965656565212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#        - - - - `_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVURQRQRQRQPONMNMNMLKLKLKLKHGHGHGHGFEFEFEFEBABABABA@?@?@?@?<;<;<;<;:9:9:9:965656565212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#        - - - - `_`_`_`_\[\[\[\[ZYZYXWXWVUVUVUVURQRQRQRQNMNMNMNMLKLKLKLKHGHGHGHGFEFEFEFEBABABABA@?@?@?@?<;<;<;<;:9:9:9:965656565212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#        - - - - `_`_^]^]\[\[\[\[XWXWXWXWVUVUVUVURQRQRQRQNMNMNMNMLKLKLKLKHGHGHGHGFEFEFEFEBABABABA@?@?@?@?<;<;<;<;:9:9:9:965656565212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#        - - - - ^]^]^]^]\[\[\[\[XWXWXWXWVUVUVUVURQRQRQRQNMNMNMNMLKLKLKLKHGHGHGHGFEFEFEFEBABABABA@?@?@?@?<;<;<;<;:9:9:9:965656565212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#        - - - - ^]^]^]^]\[\[\[\[XWXWXWXWVUVUVUVURQRQRQRQNMNMNMNMLKLKLKLKHGHGHGHGFEFEFEFEBABABABA@?@?@?@?<;<;<;<;:9:9:9:965656565212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#        - - - - ^]^]^]^]\[\[\[\[XWXWXWXWVUVUVUVURQRQRQRQNMNMNMNMLKLKLKLKHGHGHGHGFEFEFEFEBABABABA@?@?@?@?<;<;<;<;:9:9:9:965656565212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#        - - - - ^]^]^]^]\[\[\[\[XWXWXWXWVUVUVUVURQRQRQRQNMNMNMNMLKLKLKLKHGHGHGHGFEFEFEFEBABABABA@?@?@?@?<;<;<;<;:9:9:9:965656565212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#        - - - - ^]^]^]^]\[\[\[\[XWXWXWXWVUVUVUVURQRQRQRQNMNMNMNMLKLKLKLKHGHGHGHGFEFEFEFEBABABABA@?@?@?@?<;<;<;<;:9:9:9:965656565212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#        - - - - ^]^]^]^]\[\[\[\[XWXWXWXWVUVUVUVURQRQRQRQNMNMNMNMLKLKLKLKHGHGHGHGFEFEFEFEBABABABA@?@?@?@?<;<;<;<;:9:9:9:965656565212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#        - - - - ^]^]^]^]\[\[\[\[XWXWXWXWVUVUVUVURQRQRQRQNMNMNMNMLKLKLKLKHGHGHGHGFEFEFEFEBABABABA@?@?@?@?<;<;<;<;:9:9:9:965656565212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#        - - - - ^]^]^]^]\[\[\[\[XWXWXWXWVUVUVUVURQRQRQRQNMNMNMNMLKLKLKLKHGHGHGHGFEFEFEFEBABABABA@?@?@?@?<;<;<;<;:9:9:9:965656565212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#        - - - - ^]^]^]^]\[\[\[\[XWXWXWXWVUVUVUVURQRQRQRQNMNMNMNMLKLKLKLKHGHGHGHGFEFEFEFEBABABABA@?@?@?@?<;<;<;<;:9:9:9:965656565212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#       - - - - ^]^]^]^]\[\[\[\[XWXWXWXWVUVUVUVURQRQRQRQNMNMNMNMLKLKLKLKHGHGHGHGFEFEFEFEBABABABA@?@?@?@?<;<;<;<;:9:9:9:965656565212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#     - - - - ^]^]^]^]\[\[\[\[XWXWXWXWVUVUVUVURQRQRQRQNMNMNMNMLKLKLKLKHGHGHGHGFEFEFEFEBABABABA@?@?@?@?<;<;<;<;:9:9:9:965656565212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#     - - - - ^]^]^]^]\[\[\[\[XWXWXWXWVUVUVUVURQRQRQRQNMNMNMNMLKLKLKLKHGHGHGHGFEFEFEFEBABABABA@?@?@?@?<;<;<;<;:9:9:9:965656565212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#     - - - - ^]^]^]^]\[\[\[\[XWXWXWXWVUVUVUVURQRQRQRQNMNMNMNMLKLKLKLKHGHGHGHGFEFEFEFEBABABABA@?@?@?@?<;<;<;<;:9:9:9:965656565212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%"!"!"!"!     - - - - ^]^]^]^]\[\[\[\[XWXWXWXWVUVUVUVURQRQRQRQNMNMNMNMLKLKLKLKHGHGHGHGFEFEFEFEBABABABA@?@?@?@?<;<;<;<;:9:9:9:965656565212121210/0/0/0/,+,+,+,+('('('('&%&%&%&%"!"!"!"!     - - - - ^]^]^]^]\[\[\[\[XWXWXWXWVUVUVUVURQRQRQRQNMNMNMNMLKLKLKLKHGHGHGHGFEFEFEFEBABABABA@?@?@?@?<;<;<;<;:9:9:9:96565656521212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!     - - - - ^]^]^]^]\[\[\[\[XWXWXWXWVUVUVUVURQRQRQRQNMNMNMNMLKLKLKLKHGHGHGHGFEFEFEFEBABABABA@?@?@?@?<;<;<;<;:98787876565656521212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!     - - - - ^]^]^]^]\[\[\[\[XWXWXWXWVUVUVUVURQRQRQRQNMNMNMNMLKLKLKLKHGHGHGHGFEFEFEFEBABABABA@?>=>=>=<;<;<;<;878787876565656521212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!     - - - - ^]^]^]^]\[\[\[\[XWXWXWXWVUVUVUVURQRQRQRQNMNMNMNMLKLKLKLKHGHGHGHGFEDCDCDCBABABABA>=>=>=>=<;<;<;<;878787876565656521212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!     - - - - ^]^]^]^]\[\[\[\[XWXWXWXWVUVUVUVURQRQRQRQNMNMNMNMLKJIJIJIHGHGHGHGDCDCDCDCBABABABA>=>=>=>=<;<;<;<;878787876565656521212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!     - - - - ^]^]^]^]\[\[\[\[XWXWXWXWVUVUTSTSRQRQRQRQNMNMNMNMJIJIJIJIHGHGHGHGDCDCDCDCBABABABA>=>=>=>=<;<;<;<;878787876543434321212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!     - - - - ^]^]^]^]\[\[ZYZYXWXWXWXWTSTSTSTSRQRQRQRQNMNMNMNMJIJIJIJIHGHGHGHGDCDCDCDCBABABABA>=>=>=>=<;<;<;<;878787874333333421212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!     - - - - ^]^]^]^]ZYZYZYZYXWXWXWXWTSTSTSTSRQRQRQRQNMNMNMNMJIJIJIJIHGHGHGHGDCDCDCDCBABABABA>=>=>=>=<;<;<;<;878787873434343421212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!     - - - - ^]^]^]^]ZYZYZYZYXWXWXWXWTSTSTSTSRQRQRQRQNMNMNMNMJIJIJIJIHGHGHGHGDCDCDCDCBABABABA>=>=>=>=<;<;<;<;878787873434343421212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!     - - - - ^]^]^]^]ZYZYZYZYXWXWXWXWTSTSTSTSRQRQPOPONMNMNMNMJIJIJIJIHGHGHGHGDCDCDCDCBABABABA>=>=>=>=<;<;<;<;878787873434343421212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!     - - - - ^]^]^]^]ZYZYZYZYXWXWXWXWTSTSTSTSPOPOOOOONMNMNMNMJIJIJIJIHGHGHGHGDCDCDCDCBABABABA>=>=>=>=<;<;<;<;878787873434343421212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!     - - - - ^]^]^]^]ZYZYZYZYXWXWXWXWTSTSTSTSOPOPOPOPNMNMNMNMJIJIJIJIHGHGHGHGDCDCDCDCBABABABA>=>=>=>=<;<;<;<;878787873434343421212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!     - - - - ^]^]^]^]ZYZYZYZYXWXWXWXWTSTSTSTSOPOPOPOPNMNMNMNMJIJIJIJIHGHGHGHGDCDCDCDCBABABABA>=>=>=>=<;<;<;<;878787873434333321212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!     - - - - ^]^]^]^]ZYZYZYZYXWXWXWXWTSTSTSTSOPOPOPOPNMNMNMNMJIJIJIJIHGHGHGHGDCDCDCDCBABABABA>=>=>=>=<;<;<;<;878787873343434321212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!     - - - - ^]^]^]^]ZYZYZYZYXWXWXWXWTSTSTSTSOPOPOPOPNMNMNMNMJIJIJIJIHGHGHGHGDCDCDCDCBABABABA>=>=>=>=<;<;<;<;878787874343434321212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!     - - - - ^]^]^]^]ZYZYZYZYXWXWXWXWTSTSTSTSOPOPOPOPNMNMNMNMJIJIJIJIHGHGHGHGDCDCDCDCBABABABA>=>=>=>=<;<;<;<;878787874343434321212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!     - - - ^]^]^]^]ZYZYZYZYXWXWXWXWTSTSTSTSOPOPOPOONMNMNMNMJIJIJIJIHGHGHGHGDCDCDCDCBABABABA>=>=>=>=<;<;<;<;878787874343434321212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!     ^]^]^]^]ZYZYZYZYXWXWXWXWTSTSTSTSOOOOPOPONMNMNMNMJIJIJIJIHGHGHGHGDCDCDCDCBABABABA>=>=>=>=<;<;<;<;878787874343434321212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!        ^]^]^]^]ZYZYZYZYXWXWXWXWTSTSTSTSPOPOPOPONMNMNMNMJIJIJIJIHGHGHGHGDCDCDCDCBABABABA>=>=>=>=<;<;<;<;878787874343434321212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!        ^]^]^]^]ZYZYZYZYXWXWXWXWTSTSTSTSPOPOPOPONMNMNMNMJIJIJIJIHGHGHGHGDCDCDCDCBABABABA>=>=>=>=<;<;<;<;878787873333343421212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!    ^]^]^]^]ZYZYZYZYXWXWXWXWTSTSTSTSPOPOPOPONMNMNMNMJIJIJIJIHGHGHGHGDCDCDCDCBABABABA>=>=>=>=<;<;<;<;878787873434343421212121.-.-.-.-,+,+,+,+('('('('$#$#$#$#"!"!"!"!    ^]^]^]^]ZYZYZYZYXWXWXWXWTSTSTSTSPOPOPOPONMNMNMNMJIJIJIJIHGHGHGHGDCDCDCDCBABABABA>=>=>=>=<;<;<;<;878787873434343421212121.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!"!"!"!    ^]^]^]^]ZYZYZYZYXWXWXWXWTSTSTSTSPOPOPOPONMNMNMNMJIJIJIJIHGHGHGHGDCDCDCDCBABABABA>=>=>=>=<;<;<;<;87878787343434340/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!"!"!"!    ^]^]^]^]ZYZYZYZYXWXWXWXWTSTSTSTSPOOOOOOPNMNMNMNMJIJIJIJIHGHGHGHGDCDCDCDCBABABABA>=>=>=>=<;:9:9:987878787343434340/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!"!"!"!    ^]^]^]^]ZYZYZYZYXWXWXWXWTSTSTSTSOPOPOPOPNMNMNMNMJIJIJIJIHGHGHGHGDCDCDCDCBA@?@?@?>=>=>=>=:9:9:9:987878787343434340/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!"!"!"!    ^]^]^]^]ZYZYZYZYXWXWXWXWTSTSTSTSOPOPOPOPNMNMNMNMJIJIJIJIHGFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:987878787343333330/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!"!"!"!    ^]^]^]^]ZYZYZYZYXWXWXWXWTSTSTSTSOPOPOPOPNMLKLKLKJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:987878787434343430/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!"!"!"!    iijjkkllMMNNOOUU%%&&''((00//..----..//00((''&&%%||{{zzyyjjkkqqrr66778899ssrrqqpp>>??@@AAkkjjiihhGGHHIIJJ bbaa``__mmnnooppVVWWXXYY))**++,,,,++**))~~}}11223344$$##""!!xxwwvvuussttuuvv::;;<<==oonnmmllBBCCDDEEggffeeddKKLLMMNN - - ^^]]\\[[qqrrssttZZ[[\\]]--..//00((''&&%%||{{zzyy55667788 ttssrrqqwwxxyyzz>>??@@AAkkjjiihhFFGGHHII ccbbaa``OOPPQQRRZZYYXXWWuuvvwwxx^^__``aa11223344$$##""!!xxwwvvuu99::;;<<ppoonnmm{{||}}~~BBCCDDEEggffeeddJJKKLLMM - - __^^]]\\SSTTUUVVVVUUTTSSyyzz{{||bbccddee55667788 ttssrrqq==>>??@@llkkjjiiFFGGHHII ccbbaa``NNOOPPQQ[[ZZYYXXWWXXYYZZRRQQPPOO}}~~ffgghhii99::;;<<ppoonnmmAABBCCDDhhggffeeJJKKLLMM - - __^^]]\\RRSSTTUUWWVVUUTT[[\\]]^^ - -NNMMLLKKjjkkqqrr==>>??@@llkkjjiiEEFFGGHH ddccbbaaNNOOPPQQ[[ZZYYXXVVWWXXYYSSRRQQPP__``aabb JJIIHHGGssttuuvvAABBCCDDhhggffeeIIJJKKLL - - ``__^^]]RRSSTTUUWWVVUUTTZZ[[\\]] OONNMMLLccddeeffFFEEDDCCwwxxyyzzEEFFGGHH ddccbbaaMMNNOOPP\\[[ZZYYVVWWXXYYSSRRQQPP^^__``aa - - KKJJIIHHgghhiijjBBAA@@??{{||}}~~IIJJKKLL - - ``__^^]]QQRRSSTTXXWWVVUUZZ[[\\]] OONNMMLLbbccddeeGGFFEEDDkkllmmnn>>==<<;;MMNNOOPP\\[[ZZYYUUVVWWXXTTSSRRQQ^^__``aa - - KKJJIIHHffgghhiiCCBBAA@@ooppqqrr::998877~~}}QQRRSSTTXXWWVVUUYYZZ[[\\PPOONNMMbbccddeeGGFFEEDDjjkkllmm??>>==<>==<>==rrssttuu !!77665544zz{{||}}&&''(())//..--,,yyxxwwvv//001122&&%%$$##llkkjjiieeffgghhDDCCBBAAmmnnoopp<<;;::99vvwwxxyy""##$$%%33221100~~**++,,--++**))((uuttssrr33445566""!! hhggffeeiijjkkll@@??>>==qqrrsstt 88776655zz{{||}}&&''(())//..--,,..//0011''&&%%$$qqkkjjii778899::ddccbbaammnnoopp<<;;::99uuvvwwxx!!""##$$44332211~~}}||{{~~**++,,--++**))((~~}}||22334455##""!! hhggffee;;<<==>>``__^^]]qqrrsstt 88776655yyzz{{||%%&&''((00//..--zzyyxxww..//0011''&&%%$${{zzyyxx66778899ddccbbaa~~}}||{{??@@AABB\\[[ZZYYuuvvwwxx!!""##$$44332211}}~~))**++,,,,++**))vvuuttss22334455##""!! wwvvuutt::;;<<==``__^^]]zzyyxxwwCCDDEEFFXXWWVVUUyyzz{{||%%&&''((00//..----..//00((''&&%%rrqqkkjj66778899ssrrqqpp>>??@@AA\\[[ZZYYvvuuttssGGHHIIJJ TTSSRRQQ}}~~))**++,,,,++**))~~}}11223344$$##""!!iihhggff::;;<<==oonnmmllBBCCDDEEXXWWVVUUrrqqponmKKLLMMNN - - PPOONNMM--..//00((''&&%%||{{zzyy55667788 eeddccbb~~}}||>>??@@AAkkjjiihhFFGGHHII OONNMMLLlkkjjiihOOPPQQRRLLKKJJII11223344$$##""!!xxwwvvuu99::;;<<aa``__^^{{zzyyxxBBCCDDEEggffeeddJJKKLLMM - - KKJJIIHHhggffeedSSTTUUVVHHGGFFEE55667788 ttssrrqq==>>??@@]]\\[[ZZwwvvuuttFFGGHHII ccbbaa``NNOOPPQQGGFFEEDDdccbbaa`WWXXYYZZDDCCBBAA~~}}||{{99::;;<<ppoonnmmAABBCCDDYYXXWWVVssrrqqpoJJKKLLMM - - __^^]]\\RRSSTTUUCCBBAA@@`__^^]]\[[\\]]^^ - -@@??>>==zzyyxxww==>>??@@llkkjjiiEEFFGGHH UUOONNMMnmlkkjjiNNOOPPQQ[[ZZYYXXVVWWXXYY??>>==<<\[[ZZYYX__``aabb <<;;::99vvuuttssAABBCCDDhhggffeeIIJJKKLL - - LLKKJJIIihhggffeRRSSTTUUWWVVUUTTZZ[[\\]] ;;::9933XWWVVUUTccddeeff88776655rrqqkkjj~~}}||EEFFGGHH ddccbbaaMMNNOOPPHHGGFFEEeddccbbaVVWWXXYYSSRRQQPP^^__``aa - - 221100//SRQPOONNgghhiijj44332211iihhggff{{zzyyxxIIJJKKLL - - ``__^^]]QQRRSSTTDDCCBBAAa``__^^]ZZ[[\\]] OONNMMLLbbccddee..--,,++MMLLKKJJkkllmmnn00//..--eeddccbbwwvvuuttMMNNOOPP\\[[ZZYYUUVVWWXX@@??>>==]\\[[ZZY^^__``aa - - KKJJIIHHffgghhii**))((''IIHHGGFFooppqqrr,,++**))aa``__^^ssrrqqpoQQRRSSTTXXWWVVUUYYZZ[[\\<<;;::99YXXWWVVUbbccddeeGGFFEEDDjjkkllmm&&%%$$##EEDDCCBBssttuuvv !!""((''&&%%]]\\[[ZZnmlkkjjiUUVVWWXXTTSSRRQQ]]^^__`` - - 33221100UTSRQPOOffgghhiiCCBBAA@@nnooppqq""!! AA@@??>>wwxxyyzz##$$%%&&$$##""!!YYXXWWVVihhggffeYYZZ[[\\PPOONNMMaabbccdd //..--,,NNMMLLKKjjkkllmm??>>==<>==qqrrsstt >>==<<;;zz{{||}}&&''(())//..--,,..//0011 +**))(('zzyyxxww778899:: @@??>>==UTSRQPOOmmnnoopp<<;;::99uuvvwwxx!!""##$$::998765~~**++,,--++**))((~~}}||22334455'&&%%$$#vvuuttss;;<<==>> - - <<;;::99NNMMLLKKqqrrsstt 88776655yyzz{{||%%&&''((43322110..//0011''&&%%$${{zzyyxx66778899 - - #""!! rrqqppoo??@@AABB - - 33221100JJIIHHGGuuvvwwxx!!""##$$44332211}}~~))**++,, 0//..--,~~}}||22334455##""!! wwvvuutt::;;<<== nnmmllkkCCDDEEFF //..--,,FFEEDDCCyyzz{{||%%&&''((00//..----..//00 - - ,++**))({{zzyyxx66778899ssrrqqpp>>??@@AAjjiihhggGGHHIIJJ++**))((BBAA@@??}}~~))**++,,,,++**))~~}}11223344(''&&%%$wwvvuutt::;;<<==oonnmmllBBCCDDEEffeeddccKKLLMMNN''&&%%$$>>==<<;;--..//00((''&&%%||{{zzyy55667788 - -$##""!! ssrrqqpp>>??@@AAkkjjiihhFFGGHHII  bbaa``__OOPPQQRR##""!! ::998765~~}}11223344$$##""!!xxwwvvuu99::;;<<  oonnmmllBBCCDDEEggffeeddJJKKLLMM!!""##$$ - - ^^]]\\[[SSTTUUVV 43322110||{{zzyy55667788 ttssrrqq==>>??@@kkjjiihhFFGGHHII ccbbaa``NNOOPPQQ%%&&''((ZZYYXXWWWWXXYYZZ!!""##$$0//..--,xxwwvvuu99::;;<<ppoonnmmAABBCCDDggffeeddJJKKLLMM - - __^^]]\\RRSSTTUU))**++,,VVUUTTSS[[\\]]^^%%&&''((,++**))(ttssrrqq==>>??@@llkkjjiiEEFFGGHHccbbaa``NNOOPPQQ[[ZZYYXXVVWWXXYY--..//00RRQQPPOO__``aabb))**++,, (''&&%%$ppoonnmmAABBCCDDhhggffeeIIJJKKLL !!""## - -__^^]]\\RRSSTTUUWWVVUUTTZZ[[\\]]11223399 - -NNMMLLKKccddeeff--..//00 - - - -$##""!! llkkjjiiEEFFGGHH ddccbbaaMMNNOOPP$$%%&&'' [[ZZYYXXVVWWXXYYSSRRQQPP^^__``aa::;;<<== JJIIHHGGgghhiijj11223344  hhggffeeIIJJKKLL - - ``__^^]]QQRRSSTT(())**++WWVVUUTTZZ[[\\]] OONNMMLLbbccddee>>??@@AAFFEEDDCCkkllmmnn55667788ddccbbaaMMNNOOPP\\[[ZZYYUUVVWWXX,,--..//SSRRQQPP^^__``aa - - KKJJIIHHffgghhiiBBCCDDEEBBAA@@??ooppqqrr99::;;<<``__^^]]QQRRSSTTXXWWVVUUYYZZ[[\\00112233 OONNMMLLbbccddeeGGFFEEDDjjkkllmmFFGGHHII>>==<<;;ssttuuvv==>>??@@\\[[ZZYYUUVVWWXXTTSSRRQQ]]^^__``99::;;<< - - KKJJIIHHffgghhiiCCBBAA@@nnooppqqJJKKLLMM::998877wwxxyyzzAABBCCDD !!""## - -XXWWVVUUYYZZ[[\\PPOONNMMaabbccdd==>>??@@GGFFEEDDjjkkllmm??>>==<>==<>==qqrrssttMMNNOOUU !!77665544zz{{||}}&&''(())//..--,,ccddeeff//001122&&%%$$##zzyyxxwwvvuuttssUUVVWWXX99::;;<<DDCCBBAAmmnnoopp<<;;::99uuvvwwxxVVWWXXYY""##$$%%33221100~~**++,,--++**))((~~}}||gghhiijj33445566""!! vvuuttssrrqqppooYYZZ[[\\==>>??@@@@??>>==qqrrsstt 88776655yyzz{{||ZZ[[\\]]&&''(())//..--,,..//0011''&&%%$${{zzyyxxkkqqrrss778899::rrqqppoonnmmllkk]]^^__``AABBCCDD<<;;::99uuvvwwxx!!""##$$44332211}}~~^^__``aa**++,,--++**))((~~}}||22334455##""!! wwvvuuttttuuvvww;;<<==>>nnmmllkkjjiihhggaabbccddEEFFGGHH 88776655yyzz{{||%%&&''((00//..--bbccddee..//0011''&&%%$${{zzyyxx66778899ssrrqqppxxyyzz{{??@@AABBjjiihhggffeeddcceeffgghhIIJJKKLL!!""##$$44332211}}~~))**++,,,,++**))~~}}ffgghhii22334455##""!! wwvvuutt::;;<<==oonnmmll||}}~~CCDDEEFFffeeddccbbaa``__^^]]\\[[SSTTUUVVBBAA@@??_^^]]\\[\\]]^^__ - - MMLLKKJJddeeffgg,,++**))KKJJIIHHmmnnoopp<<;;::99uuvvwwxx!!""##$$::998765~~**++,,--++**))((rrqqkkjjssrrqqppZZYYXXWWWWXXYYZZ>>==<<;;[ZZYYXXW``aabbcc IIHHGGFFhhiijjkk((''&&%%GGFFEEDDqqrrsstt 88776655yyzz{{||%%&&''((43322110..//0011''&&%%$$iihhggffoonnmmllVVUUTTSS[[\\]]^^ - -::993322WVVUUTSRddeeffggEEDDCCBBllmmnnoo$$##""!!CCBBAA@@uuvvwwxx!!""##$$44332211}}~~))**++,, 0//..--,~~}}||22334455##""!! eeddccbbkkjjiihhRRQQPPOO__``aabb 1100//..QPOONNMMhhiijjkkAA@@??>>ppqqrrss ??>>==<>??@@AAYYXXWWVV__^^]]\\FFEEDDCCkkllmmnn%%$$##""DDCCBBAAttuuvvww !!""##55443322||}}~~(())**++ 100//..-~~}}11223344$$##""!!xxwwvvuu99::;;<<  oonnmmllBBCCDDEEUUOONNMM[[ZZYYXXBBAA@@??ooppqqrr!! @@??>>==xxyyzz{{$$%%&&''1100//..,,--..// - - -,,++**)||{{zzyy55667788 ttssrrqq==>>??@@kkjjiihhFFGGHHII LLKKJJIIWWVVUUTT>>==<<;;ssttuuvv !!""<<;;::99||}}~~(())**++--,,++**~~00112233)((''&&%xxwwvvuu99::;;<<ppoonnmmAABBCCDDggffeeddJJKKLLMM - - HHGGFFEESSRRQQPP::998877wwxxyyzz##$$%%&&87654332,,--..//))((''&&}}||{{zz44556677 %$$##""!ttssrrqq==>>??@@llkkjjiiEEFFGGHHccbbaa``NNOOPPQQDDCCBBAAOONNMMLL66554433{{||}}~~''(())** 21100//.~~00112233%%$$##""yyxxwwvv8899::;; - - ! ppoonnmmAABBCCDDhhggffeeIIJJKKLL !!""## - -__^^]]\\RRSSTTUU@@??>>==KKJJIIHH221100//++,,--.. - - .--,,++*}}||{{zz44556677!! uuttssrr<<==>>??llkkjjiiEEFFGGHH ddccbbaaMMNNOOPP$$%%&&'' [[ZZYYXXVVWWXXYY<<;;::99GGFFEEDD..--,,++//001122*))((''&yyxxwwvv8899::;;qqppoonn@@AABBCChhggffeeIIJJKKLL - - ``__^^]]QQRRSSTT(())**++WWVVUUTTZZ[[\\]] 33221100CCBBAA@@**))((''~~}}||{{33445566&%%$$##"uuttssrr<<==>>??mmllkkjjDDEEFFGGddccbbaaMMNNOOPP\\[[ZZYYUUVVWWXX,,--..//SSRRQQPP^^__``aa - - //..--,,??>>==<<&&%%$$##zzyyxxww778899:: - - "!! qqppoonn@@AABBCCiihhggffHHIIJJKK !!"" ``__^^]]QQRRSSTTXXWWVVUUYYZZ[[\\00112233 OONNMMLLbbccddee++**))((;;::9988""!! vvuuttss;;<<==>> mmllkkjjDDEEFFGGeeddccbbLLMMNNOO##$$%%&& - - \\[[ZZYYUUVVWWXXTTSSRRQQ]]^^__``99::;;<< - - KKJJIIHHffgghhii''&&%%$$77665544rrqqppoo??@@AABBiihhggffHHIIJJKK - -aa``__^^PPQQRRSS''(())**XXWWVVUUYYZZ[[\\PPOONNMMaabbccdd==>>??@@GGFFEEDDjjkkllmm##""!! 33221100nnmmllkkCCDDEEFFeeddccbbLLMMNNOO ]]\\[[ZZTTUUVVWW++,,--..TTSSRRQQ]]^^__`` - - LLKKJJIIeeffgghhAABBCCDDCCBBAA@@nnooppqq//..--,,jjiihhggGGHHIIJJ !! aa``__^^PPQQRRSSYYXXWWVVXXYYZZ[[//001122PPOONNMMaabbccdd HHGGFFEEiijjkkllEEFFGGHH??>>==<>?? HHGGFFEEiijjkkll@@??>>==qqrrssttMMNNOOUU !!77665544zz{{||}}&&''(()) ##""!! - - ^^]]\\[[SSTTUUVV**++,,--UUTTSSRR\\]]^^__ - - MMLLKKJJddeeffgg@@AABBCCDDCCBBAAmmnnoopp<<;;::99uuvvwwxxVVWWXXYY""##$$%%33221100~~**++,,-- - - - -ZZYYXXWWWWXXYYZZ..//0011QQPPOONN``aabbcc IIHHGGFFhhiijjkkDDEEFFGG@@??>>==qqrrsstt 88776655yyzz{{||ZZ[[\\]]&&''(())//..--,,..//0011 VVUUTTSS[[\\]]^^223399:: - - MMLLKKJJddeeffggEEDDCCBBllmmnnooHHIIJJKK<<;;::99uuvvwwxx!!""##$$44332211}}~~^^__``aa**++,,--++**))((~~}}||22334455RRQQPPOO__``aabb;;<<==>> IIHHGGFFhhiijjkkAA@@??>>ppqqrrssLLMMNNOO 88776655yyzz{{||%%&&''((00//..--bbccddee..//0011''&&%%$${{zzyyxx66778899 - -NNMMLLKKccddeeff??@@AABBEEDDCCBBllmmnnoo==<<;;::ttuuvvwwUUVVWWXX!!""##$$44332211}}~~))**++,,,,++**))~~}}ffgghhii22334455##""!! wwvvuutt::;;<<== JJIIHHGGgghhiijjCCDDEEFFAA@@??>>ppqqrrss99887766xxyyzz{{YYZZ[[\\%%&&''((00//..----..//00((''&&%%||{{zzyyjjkkqqrr66778899ssrrqqpp>>??@@AA !!""## - - FFEEDDCCkkllmmnnGGHHIIJJ==<<;;::ttuuvvww !!""##55443322||}}~~]]^^__``))**++,,,,++**))~~}}11223344$$##""!!xxwwvvuussttuuvv::;;<<==oonnmmllBBCCDDEE$$%%&&'' - - BBAA@@??ooppqqrrKKLLMMNN99887766xxyyzz{{$$%%&&''1100//..aabbccdd--..//00((''&&%%||{{zzyy55667788 ttssrrqqwwxxyyzz>>??@@AAkkjjiihhFFGGHHII(())**++>>==<<;;ssttuuvvOOUUVVWW !!""##55443322||}}~~(())**++--,,++**~~eeffgghh11223344$$##""!!xxwwvvuu99::;;<<ppoonnmm{{||}}~~BBCCDDEEggffeeddJJKKLLMM,,--..//::998877wwxxyyzzXXYYZZ[[$$%%&&''1100//..,,--..//))((''&&}}||{{zziijjkkqq55667788 ttssrrqq==>>??@@llkkjjiiFFGGHHII ccbbaa``NNOOPPQQ00112233 !!""66554433{{||}}~~\\]]^^__(())**++--,,++**~~00112233%%$$##""yyxxwwvvrrssttuu99::;;<<ppoonnmmAABBCCDDhhggffeeJJKKLLMM - - __^^]]\\RRSSTTUU99::;;<<##$$%%&&221100//``aabbcc,,--..//))((''&&}}||{{zz44556677!! uuttssrrvvwwxxyy==>>??@@llkkjjiiEEFFGGHH ddccbbaaNNOOPPQQ[[ZZYYXXVVWWXXYY==>>??@@ !!''(())**..--,,++ddeeffgg00112233%%$$##""yyxxwwvv8899::;;qqppoonnzz{{||}}AABBCCDDhhggffeeIIJJKKLL - - ``__^^]]RRSSTTUUWWVVUUTTZZ[[\\]]AABBCCDD""##$$%%++,,--..**))((''~~}}||{{hhiijjkk44556677!! uuttssrr<<==>>??mmllkkjj~~EEFFGGHH ddccbbaaMMNNOOPP\\[[ZZYYVVWWXXYYSSRRQQPP^^__``aaEEFFGGHH&&''(())//001122&&%%$$##zzyyxxwwqqrrsstt8899::;;qqppoonn@@AABBCCiihhggffIIJJKKLL - - ``__^^]]QQRRSSTTXXWWVVUUZZ[[\\]] OONNMMLLbbccddeeIIJJKKLL**++,,--33445566""!! vvuuttssuuvvwwxx<<==>>??mmllkkjjDDEEFFGGeeddccbbMMNNOOPP\\[[ZZYYUUVVWWXXTTSSRRQQ^^__``aa - - KKJJIIHHffgghhiiMMNNOOUU..//0011778899::rrqqppooyyzz{{||@@AABBCCiihhggffHHIIJJKK - -aa``__^^QQRRSSTTXXWWVVUUYYZZ[[\\PPOONNMMbbccddeeGGFFEEDDjjkkllmmVVWWXXYY22334455;;<<==>>nnmmllkk}}~~DDEEFFGGeeddccbbLLMMNNOO ]]\\[[ZZUUVVWWXXTTSSRRQQ]]^^__`` - - LLKKJJIIffgghhiiCCBBAA@@nnooppqqZZ[[\\]]66778899??@@AABBjjiihhggHHIIJJKK - -aa``__^^PPQQRRSSYYXXWWVVYYZZ[[\\PPOONNMMaabbccdd HHGGFFEEjjkkllmm??>>==<>??@@AAGGHHIIJJ bbaa``__PPQQRRSSYYXXWWVVXXYYZZ[[QQPPOONNaabbccdd HHGGFFEEiijjkkll@@??>>==rrssttuu !!77665544zz{{||}}ffgghhiiBBCCDDEEKKLLMMNN - - ^^]]\\[[TTUUVVWWUUTTSSRR\\]]^^__ - - MMLLKKJJeeffgghhDDCCBBAAmmnnoopp<<;;::99vvwwxxyy""##$$%%33221100~~jjkkqqrrFFGGHHIIOOPPQQRRZZYYXXWWXXYYZZ[[QQPPOONN``aabbcc IIHHGGFFiijjkkll@@??>>==qqrrsstt 88776655zz{{||}}&&''(())//..--,,ssttuuvvJJKKLLMMSSTTUUVVVVUUTTSS\\]]^^__ - - MMLLKKJJddeeffggEEDDCCBBmmnnoopp<<;;::99uuvvwwxx!!""##$$44332211~~}}||{{~~**++,,--++**))((~~}}||wwxxyyzzNNOOPPQQWWXXYYZZRRQQPPOO``aabbcc IIHHGGFFhhiijjkkAA@@??>>qqrrsstt 88776655yyzz{{||%%&&''((00//..--zzyyxxww..//0011''&&%%$${{zzyyxx{{||}}~~RRSSTTUU[[\\]]^^ - -NNMMLLKKddeeffggEEDDCCBBllmmnnoo==<<;;::uuvvwwxx!!""##$$44332211}}~~))**++,,,,++**))vvuuttss22334455##""!! wwvvuuttVVWWXXYY__``aabb JJIIHHGGhhiijjkkAA@@??>>ppqqrrss99887766yyzz{{||%%&&''((00//..----..//00((''&&%%rrqqkkjj66778899ssrrqqppZZ[[\\]]ccddeeffFFEEDDCCllmmnnoo==<<;;::ttuuvvww !!""##55443322~~}}||}}~~))**++,,,,++**))~~}}11223344$$##""!!iihhggff::;;<<==oonnmmll^^__``aagghhiijjBBAA@@??ppqqrrss99887766xxyyzz{{$$%%&&''1100//..{{zzyyxx--..//00((''&&%%||{{zzyy55667788 eeddccbb~~}}||>>??@@AAkkjjiihhbbccddeekkllmmnn>>==<<;;ttuuvvww !!""##55443322||}}~~(())**++--,,++**wwvvuutt11223344$$##""!!xxwwvvuu99::;;<<aa``__^^{{zzyyxxBBCCDDEEggffeeddffgghhiiooppqqrr::998877xxyyzz{{$$%%&&''1100//..,,--..//))((''&&ssrrqqkk55667788 ttssrrqq==>>??@@]]\\[[ZZwwvvuuttFFGGHHII ccbbaa``jjkkllmmssttuuvv !!""66554433~~}}||}}~~(())**++--,,++**~~00112233%%$$##""jjiihhgg99::;;<<ppoonnmmAABBCCDDYYXXWWVVssrrqqpoJJKKLLMM - - __^^]]\\nnooppqqwwxxyyzz##$$%%&&221100//||{{zzyy,,--..//))((''&&}}||{{zz44556677!! ffeeddcc~~}}==>>??@@llkkjjiiEEFFGGHH UUOONNMMnmlkkjjiNNOOPPQQ[[ZZYYXXrrssttuu{{||}}~~''(())**..--,,++xxwwvvuu00112233%%$$##""yyxxwwvv8899::;;bbaa``__||{{zzyyAABBCCDDhhggffeeIIJJKKLL - - LLKKJJIIihhggffeRRSSTTUUWWVVUUTTvvwwxxyy++,,--..**))((''ttssrrqq44556677!! uuttssrr<<==>>??^^]]\\[[xxwwvvuuEEFFGGHH ddccbbaaMMNNOOPPHHGGFFEEeddccbbaVVWWXXYYSSRRQQPPzz{{||}}//001122&&%%$$##kkjjiihh8899::;;qqppoonn@@AABBCCZZYYXXWWttssrrqqIIJJKKLL - - ``__^^]]QQRRSSTTDDCCBBAAa``__^^]ZZ[[\\]] OONNMMLL~~33445566""!! ggffeedd~~<<==>>??mmllkkjjDDEEFFGGVVUUOONNponmlkkjMMNNOOPP\\[[ZZYYUUVVWWXX@@??>>==]\\[[ZZY^^__``aa - - KKJJIIHH778899::ccbbaa``}}||{{zz@@AABBCCiihhggffHHIIJJKK - -MMLLKKJJjiihhggfQQRRSSTTXXWWVVUUYYZZ[[\\<<;;::99YXXWWVVUbbccddeeGGFFEEDD;;<<==>>__^^]]\\yyxxwwvvDDEEFFGGeeddccbbLLMMNNOO IIHHGGFFfeeddccbUUVVWWXXTTSSRRQQ]]^^__`` - - 33221100UTSRQPOOffgghhiiCCBBAA@@??@@AABB[[ZZYYXXuuttssrrHHIIJJKK - -aa``__^^PPQQRRSSEEDDCCBBbaa``__^YYZZ[[\\PPOONNMMaabbccdd //..--,,NNMMLLKKjjkkllmm??>>==<>^]]\\[[Z]]^^__`` - - LLKKJJIIeeffgghh++**))((JJIIHHGGnnooppqq;;::9988GGHHIIJJ NNMMLLKKkjjiihhgPPQQRRSSYYXXWWVVXXYYZZ[[==<<;;::ZYYXXWWVaabbccdd HHGGFFEEiijjkkll''&&%%$$FFEEDDCCrrssttuu !!77665544~~}}||{{~~}}||KKLLMMNN - - JJIIHHGGgffeeddcTTUUVVWWUUTTSSRR\\]]^^__ - - 99332211VUUTSRQPeeffgghhDDCCBBAAmmnnoopp##""!! BBAA@@??vvwwxxyy""##$$%%33221100zzyyxxww{{zzyyxxOOPPQQRRFFEEDDCCcbbaa``_XXYYZZ[[QQPPOONN``aabbcc 00//..--OONNMMLLiijjkkll@@??>>==qqrrsstt >>==<<;;zz{{||}}&&''(())//..--,,vvuuttsswwvvuuttfpvp˂rH~tlJnXv`bdQZ|`vXn|ZdQbfpvJltH~fZdQtArbHAZpdrtAJHAbےlJtAJ`ےdQZ|˂pZZdQbtZp˂XnvJXQrvnXnXv`XQJ`ےvpfHtArdf~HdrtAvpftlJnXv`bdQZ|`vXnd|Z˂rXQltb`JXQrrd|bHAZpdrtAJHAbےlJtArXQJ`pfH~˂pZHAv`ff~HbHAZ~f`|ZdQbfpvJltH~ftArdf~HdrtAvpfdQbtJ`ےdQZ|˂pZZdQbt˂rXQltb`JXQrrd|p˂rf`vے`J~Hfpfpvp˂rvXntlJnXv`bdQZ|`vXn|ZdQbfpvJltH~flJtArbHAZpdrtAJHAbےlJtAJ`ےdQZ|˂pZZdQbtXQJ`ےXnvXQrbtvnXnXv`XQJ`ےvpfHtArdf~HdrtAvpftlJnXv`bdQZ|`vXnd|Z˂rXQltb`JXQrrd|bHAZpdtAJlHAbےlJfbHAZpfH~lJtAv`ff~HbHAZ~f`|ZdQbfpvJltH~ftArdf~HdrtAvpfdQbtJ`ےdQZ|˂pZZdQbt˂rXQtbn`JXQrpvp˂rf`vd|Z~Hfpfpvp˂rvXH~tlJnXv`bdQZ|`vXn|ZdQbfpvJltH~fl|ZdQbHAZpdtAJlHAbےlJfJ`ےvpf˂pZ~HfpXQJ`ےXnvdQbtvnXnXv`XQJ`ےf`vtArdf~HdrtAvpftlJnXv`bdQZ|`vXnbtl˂rXQtbn`JXQrpvnbHAZpHf`HAbےvnXbHAXQpfH~lJtArv`ff~HbHAZXnv|ZdQbfpvJltH~ftArdfHfdrtAvpfJtArdJ`ےvpf˂pZXv`f˂rXQvXn`JXQrv`fJ`ےJf`vd|Z~Hfpfpvp˂rpfH~tlJnXv`bdQZ|`vXn|ZdQbpvnJltے`JXQ|ZdQbHAZpHf`HAbے~HfJ`ےvpfH˂pZ~HfpltbQXnvdQbtvnXnXv`XQJ`ےf`vtArdfHfdrtAvpftlJrXQJ`bdQZ|HAbےbtl˂rXQvXn`JXQrpvnbHAZp~f`HAbےvnXZdrtpfH~lJtArv`ff~HbHAZXnv|ZdQbpvnJltے`JXQtArdےHAZdrtA`JXQrJtArdJ`ےvpfH˂pZXv`f˂rXQvXn`JXQrv`pvAJltf`vd|Z~Hfpfpvp˂rp`vXtlJrXQJ`bdQZ|r˂p|ZdQbp˂rJlt˂pZtlJbHAZp~f`HAbے~HfJ`ےvpfH˂pZnXvbdQZ|XnvdQbtvnXnXv`XQJ`ےnvptArdےHAZdrtAZHAbtlJXQJ`ےbdQZ|HAbےfpv˂rXQvXn`JXQrpvnbHAZp~f`HAbے`f~drtpfH~lJtArv`ff~HbHAZfH~|ZdQbp˂rJltے`JXQtArdbHAZdrtA`JXQrnvfJ`ےvpfH˂pZXv`f˂rXQvXn`JXQrHfpvAJltf`vd|Z~Hfpfpvp˂rf`vXtlJXQJ`ےbdQZ|r˂p|ZdQbp˂rJlt˂p`~HfpbHAZp~f`HAbے~HfJ`ےvpfH˂pZnXvbdQZ|XnvdQbtvnXnXv`XQJ`ےnvptArdbHAZdrtAZHAbtlJXQJ`ےbdQZ|JXQrvnX˂rXQvXn`JXQrpvnbHAZp~f`HAbے`f~rAJlpfH~lJtArv`ff~HJltfH~|ZdQbp˂rJltے`JXQtArdbHAZdrtA˂pZHAv`fJ`ےvpfH˂pZXv`f˂rXQvXn`JXQrHXv`tbdQf`vd|Z~HfpfpvdrtAJvpftlJXQJ`ےbdQZ|r˂p|ZdQbp˂rJltbے`~HfpbHAZp~f`HAbے~HfJ`ےvpfH˂pZf~HZ|dXnvdQbtvnXnXv`ltbے`JXQtArdbHAZdrtAZHAbtlJXQJ`ےbdQZ|JXQrvnX˂rXQvXn`JXQrpvnbHAZp~f`HAbےfpvrtAJlpfH~lJtArv`ff~HdQZ|rZHA|ZdQbp˂rJltے`JXQtArdbHAZdrtA˂pZHAv`f~fJ`ےvpfH˂pZXv`f˂rXQvXn`JXQrnXv`tbdQf`vd|Z~HfpfpvdrtAJbے`tlJXQJ`ےbdQZ|r˂p|ZdQbp˂rJltb˂pvnbHAZp~f`HAbے~HfJ`ےvpfH˂pZf~HZ|dXnvdQbtvnXnXv`ltbJXQrtArdbHAZdrtAZHAbtlJXQJ`ےbdQZ|pZHAbXv`f˂rXQvXn`JXQrpvnbHAZp~f`HAbےfpvrtAJpfH~lJtArv`ff~HdQZ|lpZHA|ZdQbp˂rJltے`JXQtArdbHAZdrtAے`J~HfJ`ےvpfH˂pZXv`f˂rXQvXn`JXQr~HfbdQZ|f`vd|ZHfpvfpvtbdQbے`tlJXQJ`ےbdQZ|r˂p|ZdQbp˂rJltXQr˂pvnbHAZp~f`HAbے~HfJ`ےvpfH˂pZpvndrtAXnvdQbt璀nrXQnXv`Z|dJXQrtArdbHAZdrtAZHAbtlJXQJ`ےbdQZ|pZHAbXv`f˂rXQvXn`JXQrpvnbHAZp~f`HAے`Xv`fJltpfے`lJtArJ`ےf~HrtAJlpZAb|ZdQbp˂rJltے`JXQtArdbHAZdrtAے`J~HfJ`ےvpfH˂pZXv`f˂rXQvXnJXQrb~HfbdQZ|JXQrd|ZHAZp˂fpvtbdQ`JXQrtlJXQJ`ےbdQZ|r˂p|ZdQbp˂rJltXQHAbvnXv`bHAZp~f`HAے`~HfJ`ےJvpfHtlJpvndrtA˂pZHAdQbt璀rXQJnXv`Z|d˂pZtArdbHAZdrtAZHAbtlJXQJ`ےbdQZ|ے`JXQf~H˂rXQvXnJXQrbpvnltb~f`tAd|Xv`pJltbbے`lJtAr`ےbf~HrtAdQZHAbے|ZdQbp˂rJltے`JXQtArdbHAZdtAJr˂pfpvJ`ےJvpfHtlJXv`fdQZ|vXnZdQbtvnXQZdrJXQrd|ZHAZp˂fpv|dr`JXQrtlJXQJ`ےbdQZ|r˂p|ZdQbp˂rltbZHAbnXv`ltb~f`tAd|~HfdrtAJvpfHlJtAv`ftAJl˂pZHAdQbt璀rXQJnXv`tAJl璀˂pZtArdbHAZdtAJZHAbtlJXQJ`ےnvpے`JXQf~HdQZ|vXnZdQbtpvnltb~f`rd|~HfptbdQZbے`lJtAr`ےbf~HtbdQZHAb|ZdQbp˂rltbے`JXQfpvbHAZfHfr˂pfpvdrtAJvpfHlJtAXv`fdQZ|vXnZdQbtvnX|drJXQrd|ZHAZp˂fpv|drJQr˂ptlJXQJ`ےnvpr˂pnXv`p˂r`vXn`JXQrnvfltb~f`rd|~HfdrtAJvpfHlJtAv`ftAJl˂pZHAdQbt璀rXQJnXv`tAJl璑ZHAbfpvbHAZfHfZHAbf~HXQJ`ےvpf˂pZ~HfpdQZ|vXnZdQbtpvnltb~f`rd|~HXvtbdQZbے`lJtAr`ےbf~HtdrtAے`JXnXv`p˂r`vXnے`JXQfpvbHAZH~fHAbےvnXdrtAJvpfHlJtAXv`fdQZ|vXnZdQbt`f~|rAJlJXQrd|ZHAZp˂fpvJltQr˂pf~HXQJ`ےvpfr˂pnXv`p˂r`vXn`JXQrv`fltb~f`rd|~HfdrtAJvpfHlJtAHfpvtbd˂pZHAdQbt璀rXQJnXv`bdQZ|ZHAbfpvbHAZH~fZHAbf~HXQJ`ےvpf˂pZ~HfpdQZ|vXnZdQbtpvnltb~f`rd|nXvQZ|dbے`lJtAr`ےbf~HdrtAے`JXnXv`p˂r`vXnے`JXQfpvbHAZH~fHAbvnXdrtAJvpfHlJtAXv`fdQZ|vXnZdQbt`pvrtAJlJXQrd|ZHAZp˂fpvJltQrZHAf~HXQJ`ےvpfr˂pnXv`p˂r`vXn˂pZHAv`f~ltb~f`rd|~HfdrtAJvpfHlJtAnrXQJtbd˂pZHAdQbt璀rXQJnXv`bdQZ|bے`fpvbHAZH~fZHAbf~HXQJ`ےvpfbے`fpvdQZ|vXnZdQbtpvnltb~f`rd|`p˂QZ|dbے`lJtAr`ےbp˂rltbJXQrnXv`p˂r`vXnے`JXQfpvbHAZH~fJXQrnXv`drtAJvpfHlJtAXv`fdQZ|vXnZdQbtrXQJ`rtAJJXQrd|ZHAZp˂XQJ`ےdQZ|˂pZHAf~HXQJ`ےvpfr˂pnXv`p˂r`vXn˂p`Jf~Hltb~f`rd|~HfdrtAJvpfHlJtAےbHAbdQZ|˂pZHAdQbt璀rXQJbHAZdrtAJbے`fpvbHAZH~fZHAbf~HXQJ`ےvpfXQrbtfpvdQZ|vXnZdQbtpvnltb~f`rd|Zp˂drtAbے`lJtAr`ےbHAZp˂p˂rltbJXQrnXv`p˂r`vXnے`JXQfpvbHAZH~fl|ZnXv`drtAJvpfHlJtAXv`fdQZ|vXnZdQbtbHAZJltJXQrd|ZHAZp˂rXQJXQJ`ےdQZ|˂pZAbf~HXQJ`ےvpfr˂pnXv`p˂r`vXndQbtf~Hfltb~f`rd|~HfdrtAJvpfHlJtAp˂rbdQZ|˂pZHAdQbt璀rXQJ`ےJlbHAZdrtAdQ`JXQfpvbHAZH~fZHAbf~HXQJ`ےvpflJtArvnXvdQZ|vXnZdQbtpvnltb~f`rd|XQJ`ےAJlbے`lJfp`ےbtbdQp˂rZ|dr˂pnXv`p˂r`vXnے`JXQfpvbHAZH~fd|Z`f~drtAJvpfHlJtAXv`fdQZ|vXnZdQbtbHAZtbnJXQrvnXHAZp˂Z|dXQJ`ےrtAJlZHAbf~HXQJ`ےvpfr˂pnXv`p˂r`vXndQtArdHfpvltb~f`rd|HfpdrtAJvpfےlJtAp˂rvpfH˂pZHAv`frXQJrtAJlbHAZtbdQ`JXQfpvbHAZH~fZHAbf~HXQJ`ےvpf|ZdQnXvdQZ|vXnZdQbtvnrltb`JXQrrd|XQJ`pf`vbے`~Hfp`ےbtbdQp˂rZ|`vr˂pnXv`p˂r`vXnے`JXQfpvbHAZH~fbtl`ffpdrtAJvpfےlJtAXQJ`ےdQZ|˂pZZdQbt˂rXQXnvJXQrvnXHAZp˂Z|dXQJ`ےXnvZHAbf~HXQJ`ےvpfr˂pnXv`p˂r`vXnJtArdvnrltb`JXQrrd|HAZpdrtAJHAbےlJtAJ`ےpfH~˂pZHAv`frXQJrtAJlbHAZpfH~JQr˂fpvbHAZH~fZHAےf~HXQJ`ےvpf|ZdQXQJ`ےdQZ|˂pZZdQbt˂rXQltb`JXQrrd|bHAZpf`vbے`~Hfp`ےbtbdQp˂rf`vpZHAbnXv`p˂r`vXn`JXQrfpvJltH~fbtlHAZpdrtAJHAbےlJtAJ`ےdQZ|˂pZZdQbt˂rXQXnvJXQrvnXHAZp˂Z|dXQJ`ےXH~ے`Jf~HXQJ`ےvpfbtlnXv`bdQZ|`vXn|ZdQb˂rXQltb`JXQrrd|bHAZpdrtAJHAbےlJtAJ`ےpfH~˂pZHAv`frXQJrtAJlbHAZf`vXXQr˂fpvJltH~fJtAdf~HdrtAvpftlJJ`ےdQZ|˂pZZdQbt˂rXQltb`JXQrrd|bHAXQJf`vbے`~Hfp`ےbtbdQp˂rnvppZHAbnXv`bdQZ|`vXn|ZdQbfpvJltH~ftArdbHAZpdrtAJHAbےlJtAJ`ےdQZ|˂pZZdQbt`ےbXnvJXQrvnXHAZp˂Z|dXQJ`ےfH~JAdf~HdrtAvpftlJnXv`bdQZ|`vXn|ZdQb˂rXQltb`JXQrrd|bHAZpdrtAJHAbےlJtAHAZp˂pfH~˂pZHAv`frXQJrtAJlbHAZf`vX|ZdQbfpvJltH~ftArdf~HdrtAvpftlJJ`ےdQZ|˂pZZdQbt˂rXQltb`JXQrrd|rXQJf`vbے`~Hfp`ےbtbdQp˂rnvptlJnXv`bdQZ|`vXn|ZdQbfpvJltH~ftArdtbHAZpdrtAJHAbےlJtAJ`ےdQZ|˂pZZdQbt`ےbXnvJXQrvnXHAZp˂Z|dXQJ`ے`vXntArdf~HdrtAvpftlJnXv`bdQZ|`vXnlJtA˂rXQltb`JXQrrd|bHAZpdrtAJHAbےlJtAHAZp˂pfH~˂pZHAv`frXQJrtAJlbHAZvpf|ZdQbfpvJltH~ftArdf~HdrtAvpfrd|J`ےdQZ|˂pZZdQbt˂rXQltb`JXQrrd|bHAf`vbے`~Hfp`ےbtbdQp˂rH~ftlJnXv`bdQZ|`vXn|ZdQbfpvJltH~fZdQbtbHAZpdrtAJHAbےlJtAJ`ےdQZ|˂pZZdQbtZp˂XnvJXQrvnXHAZp˂Z|dXQJ`ے`vXntArdf~HdrtAvpftlJnXv`bdQZ|`vXnlJtA˂rXQltb`JXQrrd|bHAZpdrtAJHAbےlJtArXQJ`pfH~˂pZHAv`frXQJrtAJlbHAZvpf|ZdQbfpvJltH~ftArdf~HdrtAvpfrd|J`ےdQZ|˂pZZdQbt˂rXQltb`JXQrrd|ےbHAf`vbے`~Hfp`ےbtbdQZ|dXnvdQbt璀nrXQrtAJl˂pZHnXvZp˂f`vXے`JHfpvےbHAfH~ZHAbpvndrtAvpftlJnXv`bdQZ|`vXn|ZdQbv`fZ|rA`JXQrrd|bHAZpdrtAJb˂H~ㅐfrtAJlpfے`lJtArJ`ےtbdQAbے``f~rXQJ`nvpXQr˂nXvZp˂f`vXے`JXQXv`fJltH~ftArdf~HdrtAvpftlJ~HfpJlt˂pZZdQbt˂rXQltbpZHAb`vXntbdQJXQrd|ZHAZp˂Z|l璁JXQrHfpvےbHAfH~pZHAb`f~rXQJ`nvpr˂p~HfbdQZ|`vXn|ZdQbfpvJltH~ftArdvnXbdQZ|HAbےlJtAJ`ےdQZ|ے`JvˍpfZ|d˂pZHAdQbt璀rXQJtbdQZZHAbnXvZp˂f`vXے`JHfpvےbHAfH~ZHAbpvndrtAvpftlJnXv`bdQZ|`vXn|ZdQbv`pvdrtA`JXQrrd|bHAZpdrtAJXQr˂H~ㅐfrtAJlbے`lJtAr`ےb|drے`JXQ`f~rXQJ`nvpXQr˂nXvZp˂f`vX˂pZXv`fJltH~ftArdf~HdrtAvpftlJnrXQJlt˂pZZdQbt˂rXQltbpZHAb`vXntbdQJXQrd|ZHAZp˂tAJlr˂pHfpvےbHAfH~pZHAb`f~rXQJ`nvpHAbے~fpvbdQZ|`vXn|ZdQbfpvJltH~ftArdJ`p˂bdQZ|HAbےlJtAJ`ےdQZ|ے`JvˍpfZ|d˂pZHAdQbt璀rXQJtbdQZZHAbnXvZp˂f`vXے`JHfpvےbHAfH~`JXQrnXv`drtAvpftlJnXv`bdQZ|`vXn|ZdQbrXQJdrtAJ`JXQrrd|bHAZpdrtAJXQHAbH~ㅐfrtAJlbے`lJtAr`ےb|drے`JXQ`f~rXQJ`nvpXQr˂nXvZp˂f`vX˂p`f~HJltH~ftArdf~HdrtAvpftlJ`ےbbdQZ˂pZZdQbt˂rXQltbے`JXQ`vXntbdQJXQrd|ZHAZp˂tAdQZ|r˂pHfpvےbHAfH~pZHAb`f~rXQJ`nvpJXQrbfpvbdQZ|`vXn|ZdQbfpvJltH~ftArdHAZp˂|drHAbےlJtAJ`ےdQZ|r˂pvˍpfZ|d˂pZHAdQbt璀rXQJdrtAZAb`nXvZp˂f`vXے`JHfpvےbHAfH~tl|nXv`drtAvpftlJnXv`bdQZ|`vXn|ZdQbbHAtAJl`JXQrrd|bHAZpdtAJlZHAbH~ㅐfrtAJlbے`lJtAr`ےbJltJXQr`f~rXQJ`nvpXQr˂nXvZp˂f`vXZdQbtf~HJltH~ftArdf~HdrtAvpftlJZp˂tbdQZ˂pZZdQbt˂rXQtbnے`JXQ`vXntbdQJXQrd|ZHAZp˂bdQZ|pZHAHfpvےbHAfH~pZHAb`f~rXQJ`nvplJtAfvnXbdQZ|`vXn|ZdQbfpvJltH~ftArdrXQJ`|AJlHAbےlJfJ`ےvpfr˂pvˍpfZ|d˂pZHAdQbt璀rXQJltbbے`nXvZp˂f`vXے`JHfpvےbHAfH~rd|v`fdrtAvpftlJnXv`bdQZ|`vXn|ZdQbےbHAtbn`JXQrpvnbHAZpHf``JXQrH~ㅐfrtAJlbے`lJtAr`ےbnvpJXQr`f~rXQJ`nvpXQr˂nXvZp˂f`vXZdQtAr~HfpJltH~ftArdfHfdrtAvpftlJZp˂vpf˂pZXv`f˂rXQvXn˂pZ`vXntbdQJXQrd|ZHAZp˂`vXnpZHAHfpvےbHAfH~pZHAb`f~rXQJ`nvpd|ZvnXbdQZ|`vXn|ZdQbpvnJltے`JXQtArdrXQJ`Hf`HAbے~HfJ`ےvpfHHAbےvˍpfZ|d˂pZHAdQbt璀rXQJvpfbJQrnXvZp˂f`vXے`JHfpvےbHAfH~dQbtv`ffdrtAvpftlJrXQJ`bdQZ|r˂p|ZdQbp˂rvXn`JXQrpvnbHAZp~f``JXQrH~ㅐfrtAJlbے`lJtAr`ےbH~f˂pZ`f~rXQJ`nvpXQr˂nXvZp˂f`vXlJtArpvnJltے`JXQtArdےHAZdrtAZHAbtlJXQJ`ےvpfH˂pZXv`f˂rXQvXn˂pZ`vXntbdQJXQrd|ZHAZp˂`vXHHAbےHfpvےbHAfH~pZHA`f~rXQJ`nvpd|ZrXQJ`bdQZ|r˂p|ZdQbp˂rJltے`JXQtArdbHAZ~f`HAbے~HfJ`ےvpfHHAbvˍpfZ|d˂pZHAdQbt璀rXQJ~f``JXQrnXvZp˂f`vXے`JXQHfpvےJlfH~dQbtےHAZdrtAZHAbtlJXQJ`ےbdQZ|r˂p|ZdQbp˂rvXn`JXQrpvnbHAZp~f`˂pZHAH~ㅐfrtAJlbے`lJtAr`ےbvXn˂pZA`f~rXQJ`nvprbt璀nXvtbdQZf`vXl|ZdQp˂rJltے`JXQtArdbHAZdrtAZHAbtlJXQJ`ےvpfH˂pZXv`f˂rXQvXnbے``vXntbdQJXQrd|ZHAZp˂vpfH`JXQHfpvےJlfH~lJtAd`f~|drnvpbtlXQJ`ےbdQZ|r˂p|ZdQbp˂rJltے`JXQtArdbHAXQ~f`HAbے~HfJ`ےvpfHJXQrvˍpfZ|d˂pZHAdQbt璀rXQJ~f`rbt璀nXvtbdQZf`vX|ZdQHfpvtAJlfH~JtArdbHAZdrtAZHAbtlJXQJ`ےbdQZ|r˂p|ZdQbJ`ےvXn`JXQrpvnbHAZp~f`˂p`ZH~ㅐftAJlbے`lJfp`ےbvXnlJtAd`f~|drnvpbtlnXvtbdQZf`vX|ZdQp˂rJltے`JXQtArdbHAZdrtAZHAbtlJbHAZpvpfH˂pZXv`f˂rXQvXnQXb㉀۝`vXntbnJXQrvnXHAZp˂vp`v|ZdQHfpvtAJlfH~JtArd`f~|drnvpbtlXQJ`ےbdQZ|r˂p|ZdQbp˂rJltے`JXQtArd˂rXQ~f`HAbے~HfJ`ےvpfHpJAHrvˍpfvpfH˂pZHAv`frXQJXnvbtlnXvtbdQZf`vX|ZdQHfpvtAJlfH~JtArdbHAZdrtAZHAbtlJXQJ`ےbdQZ|r˂p|ZdQbJ`ےvXn`JXQrpvnbHAZp~f`ˁ`ZH~ㅐfېf`vbے`~Hfp`ےbpfH~JtArd`f~|drnvpbtlnXvtbdQZf`vXtlJp˂rJltے`JXQtArdbHAZdrtAZHAbtlJbHAZpvpfH˂pZXv`f˂rXQvXnQXAHr󙐝`vXnXnvJXQrvnXHAZp˂f`v|ZdQHfpvtAJlfH~JtArd`f~|drnvptArdXQJ`ےbdQZ|r˂p|ZdQbp˂rJltے`JXQtArd˂b~f`HAbے~HfJ`ےvpfHˁ`ZQXvˍp|pfH~˂pZHAv`frXQJXnvbtlnXvtbdQZf`vX|ZdQHfpvtAJlfH~|ZdQbbHAZdrtAZHAbtlJXQJ`ےbdQZ|r˂p|ZdQbHAZp˂vXn`JXQrpvnbHAZp~f`b㉀ۑpdrQtf`vbے`~Hfp`ےbpfH~JtArd`f~|drnvpbtlnXvtbdQZf`vXtlJp˂rJltے`JXQtArdbHAZdrtAZHAbtlJrXQJvpfH˂pZXv`f˂rXQvXnJAHrJltXnvJXQrvnXHAZp˂vp|ZdQHfpvtAJlfH~JtArd`f~|drnvptArdXQJ`ےbdQZ|r˂p|ZdQbp˂rJltے`JXQtArd`ےb~f`HAbے~HfJ`ےvpfHˁ`ZQXbAdZ|pfH~˂pZHAv`frXQJfH~btlnXvtbdQZf`vX|ZdQHfpvtAJlfH~|ZdQtAbHAZdrtAZHAbtlJXQJ`ےbdQZ|r˂p|ZdQbHAZp˂vXn`JXQrpvnbHAZp~f`b㉀ۑpdrQtf`vbے`~Hfp`ےbf`vXJtArd`f~|drnvpbtlnXvtbdQZf`vXrd|p˂rJltے`JXQtArdbHAZdrtAZHAbtlJrXQJvpfH˂pZXv`f˂rXQvXn`ZQXbJltXnvJXQrvnXHAZp˂nvp|ZdQHfpvtAJlfH~JtArd`f~|drnvpZdQbtXQJ`ےbdQZ|r˂p|ZdQbp˂rJltے`JXQtArd`p˂~f`HAے`~HfJ`ےJvpfHۑpJbAdZ|pfH~˂pZHAv`frXQJfH~btlnXvtbdQZf`vX|ZdQHfpvtAJlfH~lJtAbHAZdrtAZHAbtlJXQJ`ےbdQZ|r˂p|ZdQbrXQJ`vXnJXQrbpvnltb~f`AHr󙐂˂drQtf`vbے`~Hfp`ےbf`vXJtArd`f~|drnvpbtlnXvtbdQZf`vXrd|p˂rJltے`JXQtArdbHAZdtAJZHAbtlJےbHAvpfHtlJXv`fdQZ|vXn`ZQXbJltXnvJXQrvnXHAZp˂H~f|ZdQHfpvtAJlfH~JtArd`f~|drnvpZdQbtXQJ`ےbdQZ|r˂p|ZdQbp˂rltbے`JXQfpvZp˂~f`tAd|~HfdrtAJvpfHۑpJbAdZ|pfH~˂pZHAv`frXQJ`vXnbtlnXvtbdQZf`vX|ZdQHfpvtAJlfH~l|ZbHAZdtAJZHAbtlJXQJ`ےnvpr˂p~HfrXQJ`vXnZdQbtpvnltb~f`AHr󙐉drQtf`vbے`~Hfp`ےbvpfJtArd`f~|drnvpbtlnXvtbdQZf`vXdQbtp˂rltbے`JXQfpvbHAZfHfZHAbpvnےbHAvpfHlJtAXv`fdQZ|vXnۑpJAHJltXnvJXQrvnXHAZp˂H~f|ZdQHfpvtAJlfH~JtArd`fH|drnvplJtArXQJ`ےnvpr˂pnXv`p˂r`vXnے`JXQXv`fXQJ`ے~f`rd|~HfdrtAJvpfHr󙐂ˁ`bAdZ|pfH~˂pZHAv`frXQJ`vXnbtlnXvtbdQZf`vX|ZdQfpvtAJlfے`Jd|ZbHAZfHfZHAbf~HXQJ`ےvpfr˂p~HfJltvXnZdQbtpvnltb~f`ZQXb㉀drQtf`vbے`~Hfp`ےbvp`JtArd`fH|drnvpbtlnrXQJtbdQZXQHAbdQbtp˂r`vXnے`JXQfpvbHAZH~fZHAbpvnbQZdvpfHlJtAXv`fdQZ|vXnۑpJAHJltXnvJXQrvnXHAZp˂vXn|ZdQfpvtAJlfے`JJtArd`ےHA|drے`JXQlJtArXQJ`ےvpfr˂pnXv`p˂r`vXnے`JXQXv`prtAJl~f`rd|~HfdrtAJvpfHr󙐂ˁ`bAdZ|pfH~˂pZHAv`frXQJvpfHbtlnrXQJtbdQZXQr˂|ZdQZp˂tAJlr˂pdtlbHAZH~fZHAbf~HXQJ`ےvpfr˂pvnXtbdQvXnZdQbtpvnltb~f`ZQXAHrdrQtf`vے`J~Hfp`ےJl~f`JtArd`ےHA|drpZHAbbtlrXQJ`tbdQZZHAbJfpvp˂r`vXnے`JXQfpvbHAZH~fZHAbv`fZ|dvpfHlJtAXv`fdQZ|vXnˁ`ZJltXnvXQrbtvnXtdrvXn|ZdQZp˂tAJl璐ے`JJtArdےbHA|drے`JXQnvfXQJ`ےvpfr˂pnXv`p˂r`vXnے`JXQ~HfprtAJl~f`rd|~HfdrtAJvpfHQXb㉀bAdZ|pfH~lJtAv`ftAJlvpfHbtlrXQJ`tbdQZXQr˂|ZdQZp˂tAJlr˂p~HfpbHAZH~fZHAbf~HXQJ`ےvpfr˂pvnXtbdQvXnZdQbtpvnltb~f`pJAHrdrQtf`vd|Z~HfptbdQZ~vJtArdےbHA|drpZHAbbtlrXQJ`tbdQZ`JXQrvnXp˂r`vXnے`JXQfpvbHAZH~fZHAbv`fZ|rAJvpfHlJtAXv`fdQZ|vXnˁ`ZJltXnvdQbtvnX|drpfے`|ZdQZp˂tAJl璐ے`JJtArdےbHA|dr˂pZv`fXQJ`ےvpfr˂pnXv`p˂r`vXnے`JXQ~HXvltb~f`rd|~HfdrtAJvpfHQXb㉀bAdZ|pfH~lJtArv`ftAJlJXQrbtlrXQJ`tbdQZXQr˂|ZdQZp˂tAJlHAbے~HfpbHAZH~fZHAbf~HXQJ`ےvpfr˂p`f~dQZ|vXnZdQbtpvnltb~f`p`ZQXdrQtf`vd|Z~HfptbdQZZHAbJtArdےbHA|drpZHAbbtlrXQJ`tbdQZ`JXQrvnXp˂r`vXnے`JXQfpvbHAZH~fZHAbHfpvdrtAJvpfHlJtAXv`fdQZ|vXnb㉀ۑpJltXnvdQbtvnX|lt`JXQ|ZdQZp˂tAJl璐ے`JJtArdےbHA|dr˂pZv`f~XQJ`ےvpfr˂pnXv`p˂r`vXnے`JXQnXvltb~f`rd|~HfdrtAJvpfHJAHrbAdZ|pfH~lJtArv`fbdQZ|r˂pbtlrXQJ`tbdQZXQr˂|ZdQZp˂tAJlHAbfpvbHAZH~fZHAbf~HXQJ`ےvpfr˂p`f~dQZ|vXnZdQbtpvnltb~f`ˁ`ZQXdrQtf`vd|Z~HfpdrtAZHAbJtArdےbHA|drpZHAbbtlrXQJ`tbdQZ˂pZHAnXv`p˂r`vXnے`JXQfpvbHAZH~fZHAbHfpvdrtAJvpfHlJtAXv`fdQZ|vXnb㉀ۑpJltXnvdQbtvnXJlt`JXQ|ZdQZp˂tAJl璐ے`JJtArdےbHA|drbے`f~HXQJ`ےvpfr˂pnXv`p˂r`vXnے`JXQ~HbdQZ|~f`rd|HfpdrtAJvpfZJAHfbAdZ|pfH~lJtArv`fbdQZ|r˂pZbtlrXQJ`tbdQZXQr˂|ZdQZp˂tAJlJXQrfpvbHAZH~fZHAbf~HXQJ`ےvpfr˂pfpvdrtvXnZdQbtvnrltbHAbے`vXndrQtf`vd|Z~HfpdrtAAb`JJtArdےbHA|drpZHAbbtlrXQJ`tbdQZ˂pZHAnXv`p˂r`vXnے`JXQfpvbHAZH~fZHAےnXv`AJltvpfےlJtAXQJ`ےdQZ|`JXQrvˍpfJltXnvdQbtvnXdQZ|XQr˂|ZdQZp˂tAJl璐ے`JJtArdےbHA|drbے`f~HXQJ`ےvpfr˂pnXv`p˂r`vXn`JXQrf~HbdQZ|`JXQrrd|HAZpdrtAJ˂pZH~ㅐfbAdZ|pfH~lJtArv`fdrtAJpZHAbbtlrXQJ`tbdQZXQr˂|ZdQZp˂tAJlJXQHAbfvnXbHAZH~fZHAےf~HXQJ`ےvpfbtlfpvdrt˂pZZdQbt˂rXQltbHAbے`vXndrQtf`vd|Z~Hfpltbے`JJtArdےbHA|drpZHAbbtlrXQJ`tbdQZے`Jv`fp˂r`vXn`JXQrfpvJltH~fJtAdnXv`AJltHAbےlJtAJ`ےdQZ|`JXQrvˍpfJltXnvdQbtvnXdQZ|XQr˂|ZdQZp˂tAJl璐ے`JJtArdےbHA|dtAXQr˂~HfpXQJ`ےvpfbtlnXv`bdQZ|`vXn|ZdQbpvnbQZd`JXQrrd|bHAZpdrtAJ˂p`H~ㅐfbAdZ|pfH~lJtArv`fdrtAJpZHAbbtlrXQJ`tbdQZXQr˂|ZdQZp˂JltpZHAbvnXJltH~fJtAdf~HdrtAvpftlJXv`frtAJl˂pZZdQbt˂rXQltbJXQr`vXndrQtf`vd|Z~HfpltdJQrJtArdےbHA|dtApZHAbbtlrXQJ`bnvے`Jv`fbdQZ|`vXn|ZdQbfpvJltH~ftArd~HftbdQHAbےlJtAJ`ےdQZ|˂pZHAvˍpfJltXnvdQbtvnXrtAJl˂pZH|ZdQZp˂Jltے`JJfpvےbHApfHXQr˂~HfpdrtAvpftlJnXv`bdQZ|`vXn|ZdQbpvnZ|d`JXQrrd|bHAZpdrtAJbے`H~ㅐfbAdZ|pfH~lJtArv`ftbdQAbے`btlrXQJ`bnvXQr˂nXvZp˂f`vXp`JXQvnvfJltH~ftArdf~HdrtAvpftlJXv`frtAJl˂pZZdQbt˂rXQltbJXQr`vXndrQtf`vd|ZHfpvZ|dJXQrJfpvےbHApfHpZHAb`f~rXQJ`nvpr˂p~HfbdQZ|`vXn|ZdQbfpvJltH~ftArd~HXtbdQHAbےlJtAJ`ےdQZ|˂pZHAvˍpfJlt66666666666666666666666666666666666666666667777777777777777777777 \ No newline at end of file diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv3_0.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv3_0.dat deleted file mode 100644 index 07a0af58d402be46fbc3218c3f2acefd93daf4f2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1733 zcmdUvyNat&6ow~mLmYF_#CXrk*c`;pPOL=4Dg+U+3PA-6i+~Ci7I`8c!P3Gqg@t9t zkQ0y`Co@TR)>p{-(CuFTMmPNCS8(j_VCZL1nH3^Rs@0njj`k6|_&p6580Wf+>KD3V;S31YQcE^!>g7K{0OHk(dS^s_4zola-7 z`Fyd!FdSblSF7%9*Ca_%G|ez9%W*uv>FT!LE2}&{%g_}0%{CBZG8vCy7yt+wjXt^> zjUWgB7#@!&69jp6n?H^HzrOF)V|?{~U|Ofr^}=eWWQ4073p37|gBU(~D=7jmYHURY zlIE9boL9Oi5bC3ErEOBDPGsa~+Y#>FMK|PH-TT^+aFwjud12{VCt!+UbBMEhSEiZ| zBt^EPAW=o3(&PND8rzGCz)FbD_w7Y@qB`9st>g$s-UfTWRt>pt&-Rdi9Phiauf88f zKY*d}e~RTEL>mkTboKq%`ccJMVGalQufOIrl%KDugskXQG?f~AFJ3Jc4O zAtxX?PG(|v)>p{-(CuFTMz`GdSFp_Qps81o#49%V9sE|0=Jj>G8paYE2D%u=d^U{f z=P-~-KV!Hb0QEEa=x4j-IF@A?nx-g{B#6xh$JguCYPrNP6kROl^Vw`V{cLMGoz3R+ z#R5e!Y`I*m*6a3cHv~bF6h+ev!?GN=ZR@_?JF7fDOH(BA%{CBZG8vCy7yt+wjXv5M zjUWgB7#@!&69jp8n?H^HzrOF?V|@31V3_B^af5O%r?{h@awAIXqYylMGtPZCtSwmr zqUse%l$DympaS0t(j zL|L*zKUM_3)S~R6YRe6C-;D9rckNZP!z$UujcD_F*7ygnQgo?nFIJy_9`C!cZ@wEw zH-NtJe~RT1MC11dbo1TVx=}@GZuAHEufOHgm!GF9xFl<3=q5#MihviaI*a_=z*FH^ z29Z&mRR;v}zD`{yKbi5tuR`6rO14;eyQIl%?ZWFygWQWCDVky1zXiuK?Z^JtBG{iV D|JG$; diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv3_2.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv3_2.dat deleted file mode 100644 index 6e60276aaf1434617ebf2faa7ed1183a4051019f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1734 zcmb`HzmBp%6vb6Eih_d3Kc(9zu_JVL#EK9?WsD(&YO_HT3JMb-p`h3&;t?n*EVrPb zbV2Uys{65DvvU###^Idby%UsH(m%BnA0_aQ;@C$mm<4ki_065=d86l)NB8fi-%@TF zciwk7kb=^F%+#z!Yvl&IPEXVP@AfSD-*>p;h1Th{@CImr} z^Etza;<6f|DDWIh!G_UrI2iQ%Sf|_V^)Re22t3bmEK9)#9B&+Gx^`GBYLC@Qk{Sw% zYAA5Lp`hvdx0(SkDZm_Iy2&&o!EiVlAzKn`S+JELe$mDUIDhrtSI(2~k9BA> z4Q&?TIE4Sz`B(2f<>1J-Z5{fGnTPkxalO8^6G-=jVvDZdYo?efa zt+Bc4_WHxRJvZqJ24$sCZeEoudlifY!BD0OI0q=d)Ef{~{`F)eHQuf&{f2hFZ$xTp z&8o?uK4@EJqw2XYTSXF_QZswk9L!VqucwP|Sl12k*@*j&uRe}1?%N^d`yvXGx?PAb zK-_RVHQ%j)i2HVES3R#<7{uRvGU9&f=h2O_@StF8CYIlFFEESPb<*=8w3W+o7nO;v cf2@sdIcf&W@q)OlzUbAm{?mZf5%==)3Eg~UXaE2J diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv3_3.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv3_3.dat deleted file mode 100644 index cb5289eda2b1cce7a9494d280674fb3aa31dde4e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1734 zcmbW1zmBRv6vkCFf}(=_SGxNoc7)E3SP?>~j4^~zZ8ktcL1BU<6cqbJJOU+!b;nIcfN!fCUf|H=bNa!l>e%Q^e9ny6wf`1Wmx7m>cySt`AbnV&@;uO`}f-` ziW|e7_Z>$o1@dp3C)1ZA$1Ng8FNF_5{lSB<9;nl8^u*Ol)5Zb&tu%-O<}Vt=0W;7b zs*Wr#my3lYvDK~5=QK@{Sn@y*a2}zDd<1tB2Ci6MN zNYbJjk|YW|N5KJnI2;W6eXP^%_IeoBC!m0?3s{z`N|sAmmPJ9}d5&X6SWxf*0t#p- zs6Fa}hLWNhN`h!8Y5MlDsuyU3f;Moh*XwpWolbu+7!GlqfVOC8OM>=ARQFT<|Ey!t z`KMg|*#BuC|5}IohVx(fwC%%nVAlSlaJ?|M;`IEkgyl|48CO4OYfRPsBH17Fz>CiI zMcp1xi4!%?tHHQhTJF5?{2r%XSh$#~t?ei{Cc0lQ&l_bGXGNkLPIOAP$BTd3nCq+I ztUhfsy995|u8M(Oj(iah@{P07P*%(a@tE1C?W``Uxjt>)eEm?k`wz@g!una+`IT>J zRL-^+<-z{QG&J^AbyoMj4&s6KOK2b2*Y8SLz1d(4F=&9Zhj=bV1A^kY24+^{ZL4T* zXovfta!YS^Ee7SJZ=>=>=>=<;<;<;<;:98787876565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#"!"!"!"!        - - - - BABABABA@?@?@?@?>=>=>=>=<;<;<;<;877777786565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#"!"!"!"!        - - - BABABABA@?@?@?@?>=>=>=>=<;<;<;<;787878786565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#"!"!"!"!        BABABABA@?@?@?@?>=>=>=>=<;<;<;<;787878786565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#"!"!"!"!        BABABABA@?@?@?@?>=>=>=>=<;<;<;<;787878786565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#"!"!"!"!        BABABABA@?@?@?@?>=>=>=>=<;<;<;<;787878786565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#$#"!"!"!"!        BABABABA@?@?@?@?>=>=>=>=<;<;<;<;787878786565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - BABABABA@?@?@?@?>=>=>=>=<;<;<;<;787877776565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - BABABABA@?@?@?@?>=>=>=>=<;<;<;<;778787876565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - BABABABA@?@?@?@?>=>=>=>=<;<;<;<;878787876565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - BABABABA@?@?@?@?>=>=>=>=<;<;<;<;878787876565656543434343212121210/0/0/0/.-.-.-.-*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - BABABABA@?@?@?@?>=>=>=>=<;<;<;<;878787876565656543434343212121210/0/0/0/.-.-.-.-*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!       - - - - BABABABA@?@?@?@?>=>=>=>=<;<;<;<;878787876565656543434343212121210/0/0/0/.-.-.-.-*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!     - - - - BABABABA@?@?@?@?>=>=>=>=<;<;<;:9878787876565656543434343212121210/0/0/0/.-.-.-.-*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!     - - - - BABABABA@?@?@?@?>=>=>=>=:9:9:9:9777778786565656543434343212121210/0/0/0/.-.-.-.-*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!     - - - - BABABABA@?@?@?@?>=>=>=>=:9:9:9:9787878786565656543434343212121210/0/0/0/,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!     - - - - BABABABA@?@?@?@?>=>=>=>=:9:9:9:9787878786565656543434343212121210/0/0/0/,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!     - - - - BABABABA@?@?@?@?>=>=>=>=:9:9:9:9787878786565656543434343212121210/0/0/0/,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - BABABABA@?@?@?@?>=>=>=>=:9:9:9:9787878786565656543434343212121210/0/0/0/,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - BABABABA@?@?@?@?>=>=>=>=:9:9:9:9787878786565656543434343212121210/0/0/0/,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!        - - - - BABABABA@?@?@?@?>=>=>=>=:9:9:9:978777777656565654343434321212121.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!      - - - - BABABABA@?@?@?@?>=>=>=>=:9:9:9:987878787656565654343434321212121.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!    - - - - BABABABA@?@?@?@?>=>=>=>=:9:9:9:987878787656565654343434321212121.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!    - - - - BABABABA@?@?@?@?>=>=>=>=:9:9:9:987878787656565654343434321212121.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!    - - - - BABABABA@?@?@?@?>=>=>=>=:9:9:9:987878787656565654343434321212121.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!    - - - - BABABABA@?@?@?@?>=>=>=>=:9:9:9:98787878765656565434343430/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!    - - - - BABABABA@?@?@?@?>=>=>=>=:9:9:9:98787877765656565434343430/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!    - - - - BABABABA@?@?@?@?>=<;<;<;:9:9:9:97778787865656565434343430/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!    - - - - BABABABA@?@?@?@?<;<;<;<;:9:9:9:97878787865656565434343430/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!    - - - - BABABABA@?@?@?@?<;<;<;<;:9:9:9:97878787865656565434343430/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!    - - - - BABABABA@?@?@?@?<;<;<;<;:9:9:9:97878787865656565212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!    - - - - BABABABA@?@?@?@?<;<;<;<;:9:9:9:97878787865656565212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!    - - - - BABABABA@?>=>=>=<;<;<;<;:9:9:9:97878787865656565212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!    - - - - BABABABA>=>=>=>=<;<;<;<;:9:9:9:97777778765656565212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#"!"!"!"!    - - - - BABABABA>=>=>=>=<;<;<;<;:9:9:9:98787878765656565212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#        - - - - BABABABA>=>=>=>=<;<;<;<;:9:9:9:98787878743434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#        - - - - BABABABA>=>=>=>=<;<;<;<;:9:9:9:98787878743434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#        - - - - BA@?@?@?>=>=>=>=<;<;<;<;:9:9:9:98787878743434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#        - - - - @?@?@?@?>=>=>=>=<;<;<;<;:9:9:9:98787777743434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%$#$#$#$#        - - - - @?@?@?@?>=>=>=>=<;<;<;<;:9:9:9:98787878743434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%"!"!"!"!        - - - - @?@?@?@?>=>=>=>=<;<;<;<;:9:9:9:96565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%"!"!"!"!        - - - - @?@?@?@?>=>=>=>=<;<;<;<;:9:9:9:96565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%"!"!"!"!        - - - - @?@?@?@?>=>=>=>=<;<;<;<;:9:9:9:96565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%"!"!"!"!        - - - - @?@?@?@?>=>=>=>=<;<;<;<;:9:9:9:96565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('&%&%&%&%"!"!"!"!        - - - - @?@?@?@?>=>=>=>=<;<;<;<;:9:9:9:96565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"!        - - - - @?@?@?@?>=>=>=>=<;<;<;<;:9:9:9:96565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"!        - - - - @?@?@?@?>=>=>=>=<;<;<;<;:9:9:9:96565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"!        - - - - @?@?@?@?>=>=>=>=<;<;<;<;:9:9:9:96565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"!        - - - - @?@?@?@?>=>=>=>=<;<;<;<;:9:9:9:96565656543434343212121210/0/0/0/.-.-.-.-,+,+,+,+*)*)*)*)('('('('$#$#$#$#"!"!"!"!        - - - - %%&&''((iihhggff==>>??@@``__^^]]eeffgghh88776655 zzyyxxww{{||}}~~ ""##$$%%{{zzyyxxJJKKLLMMSSRRQQPPrrssttuu++**))(([[\\]]^^'&&%%$$# - -//001122nnmmllkkWWXXYYZZFFEEDDCC6677==>>DDCCBBAA<<==>>??))**++,,eeddccbbAABBCCDD\\[[ZZYYiijjkkll44332211 - -  vvuuoonn&&''(())wwvvuuttNNOOPPQQOONNMMLLvvwwxxyy''&&%%$$__``aabb#""!!  33445566jjiihhgg[[\\]]^^BBAA@@????@@AABB@@??>>==@@AABBCC--..//00aa``__^^ ~~}}EEFFGGHHXXWWVVUUmmnnoopp00//..--!!""##$$mmllkkjj**++,,--ssrrqqppRRSSTTUUKKJJIIHHzz{{||}}##""!!  ccddeeff778899::ffeeddcc__``aabb>>==<<;;CCDDEEFF<;:98776 - -~~DDEEFFGG11223344]]\\[[ZZ!!""##$$||{{zzyyIIJJKKLLTTSSRRQQqqrrsstt,,++**))%%&&''((iihhggff ..//0011oonnmmllVVWWXXYYGGFFEEDD~~ - - gghhiijj;;<<==>>bbaa``__ccddeeff::998877GGHHIIJJ65544332  !!""##}}||{{zzHHIIJJKK55667788YYSSRRQQ%%&&''((xxwwvvuuMMNNOOPPPPOONNMMuuvvwwxx((''&&%%))**++,,eeddccbb - - 22334455kkjjiihhZZ[[\\]]CCBBAA@@kkllmmnn??@@AABB^^]]\\[[gghhiijj66554433 KKLLMMNN21100//.$$%%&&''yyxxwwvvLLMMNNOO99::;;<>==<<~~oouuvvww CCDDEEFFZZYYXXWWkkllmmnn221100// - - OOPPQQRR.--,,++*(())**++uuttssrrPPQQRRSS==>>??@@LLKKJJII--..//00ppoonnmmUUVVWWXXHHGGFFEE}}~~  - - 11223344]]\\[[ZZ::;;<<==ccbbaa``bbccddee;;::9988}}||{{zzxxyyzz{{ - -  !!""~~}}||{{GGHHIIJJVVUUTTSSooppqqrr..--,,++SSYYZZ[[*))((''&,,--..//qqppoonnTTUUVVWWAABBCCDDHHGGFFEE11223344llkkjjiiYYZZ[[\\DDCCBBAA 55667788YYSSRRQQ>>??@@AA__^^]]\\ffgghhii77665544 yyxxwwvv||}}~~##$$%%&&zzyyxxwwKKLLMMNNRRQQPPOOssttuuvv**))((''\\]]^^__&%%$$##" - - 00112233mmllkkjjXXYYZZ[[EEFFGGHHDDCCBBAA55667788hhggffee]]^^__``@@??>>==99::;;<>==99::;;<>??@@LLKKJJII !!~~}}||FFGGHHIIWWVVUUTTnnooppqq//..--,,""##$$%%llkkjjii++,,--..rrqqppooSSTTUUVVJJIIHHGG{{||}}~~""!!  - -ddeeffgg8899::;;eeddccbb``aabbccMMNNOOPP77665544==>>??@@``__^^]]eeffgghh88776655 AABBCCDDHHGGFFEE""##$$%%{{zzyyxxJJKKLLMMSSRRQQPPrrssttuu++**))((&&''(())hhggffee - -//001122nnmmllkkWWXXYYZZFFEEDDCC hhiijjkk<<==>>??aa``__^^ddeeffggQQRRSSTT33221100AABBCCDD\\[[ZZYYiijjkkll44332211 - -  ~~}}EEFFGGHHDDCCBBAA&&''(())wwvvuuttNNOOPPQQOONNMMLLvvwwxxyy''&&%%$$**++,,--ddccbbaa 33445566jjiihhgg[[\\]]^^BBAA@@??llmmnnoo@@AABBCC]]\\[[ZZhhiijjkk~~}}UUVVWWXX//..--,,EEFFGGHHXXWWVVUUmmnnoopp00//..--!!""##$$||{{zzyyIIJJKKLL@@??>>==**++,,--ssrrqqppRRSSTTUUKKJJIIHHzz{{||}}##""!!  ..//0011``__^^]]778899::ffeeddcc__``aabb>>==<<;;~~}}uuvvwwxx ~~DDEEFFGGYYXXWWVVllmmnnoo||{{zzyyYYZZ[[\\++**))((IIJJKKLLTTSSRRQQqqrrsstt,,++**))%%&&''((xxwwvvuuMMNNOOPP77665544..//0011oonnmmllVVWWXXYYGGFFEEDD~~ - - 22334455\\[[ZZYY;;<<==>>bbaa``__ccddeeff::998877||{{zzyyyyzz{{|| - -  !!""##}}||{{zzHHIIJJKKUUTTSSRRppqqrrssxxwwvvuu]]^^__``''&&%%$$MMNNOOPPPPOONNMMuuvvwwxx((''&&%%))**++,,ttssrrqqQQRRSSTT3322110022334455kkjjiihhZZ[[\\]]CCBBAA@@66778899SSRRQQPP??@@AABB^^]]\\[[gghhiijj66554433 xxwwvvuu}}~~$$%%&&''yyxxwwvvLLMMNNOOQQPPOONNttuuvvwwttssrrqqaabbccdd##""!!QQRRSSTTLLKKJJIIyyzz{{||$$##""!!--..//00ppoonnmmUUVVWWXX//..--,,66778899ggffeedd^^__``aa??>>==<<::;;<<==OONNMMLLCCDDEEFFZZYYXXWWkkllmmnn221100// - -  !!""oonnmmll(())**++uuttssrrPPQQRRSSMMLLKKJJxxyyzz{{ppoonnmmeeffgghhUUVVWWXXHHGGFFEE}}~~  - - 11223344llkkjjiiYYZZ[[\\++**))((::;;<<==ccbbaa``bbccddee;;::9988>>??@@AAKKJJIIHH !!""~~}}||{{GGHHIIJJVVUUTTSSooppqqrr..--,,++##$$%%&&kkjjiihh,,--..//qqppoonnTTUUVVWWIIHHGGFF||}}~~llkkjjiiiijjkkll~~}}||YYZZ[[\\DDCCBBAA 55667788hhggffee]]^^__``''&&%%$$>>??@@AA__^^]]\\ffgghhii77665544 BBCCDDEEGGFFEEDD##$$%%&&zzyyxxwwKKLLMMNNRRQQPPOOssttuuvv**))((''''(())**ggffeedd - - 00112233mmllkkjjXXYYZZ[[EEDDCCBBhhggffeemmnnoopp{{zzyyxx]]^^__``@@??>>==99::;;<>aa``__^^ddccbbaaqqrrsstt wwvvuutsaabbccdd<<;;::99==>>??@@``__^^]]eeffgghhFFGGHHIIWWVVUUTTnnooppqq//..--,,""##$$%%{{zzyyxxJJKKLLMM??>>==77++,,--..rrqqppooSSTTUUVVJJIIHHGG{{||}}~~""!!  - -//001122__^^]]\\8899::;;eeddccbb``aabbcc==<<;;::]]\\[[ZZ``__^^]]uuvvwwxx - - - -rqpoonnmeeffgghh88776655 AABBCCDD\\[[ZZYYiijjkkllJJKKLLMMSSRRQQPPrrssttuu++**))((&&''(())wwvvuuttNNOOPPQQ66554433//001122nnmmllkkWWXXYYZZFFEEDDCC 33445566[[ZZYYSS<<==>>??aa``__^^ddeeffgg99887766YYXXWWVV\\[[ZZYYyyzz{{|| mllkkjjiiijjkkll44332211 - -  ~~}}EEFFGGHHXXWWVVUUmmnnooppNNOOPPQQOONNMMLLvvwwxxyy''&&%%$$**++,,--ssrrqqppRRSSTTUU221100//33445566jjiihhgg[[\\]]^^BBAA@@??778899::RRQQPPOO@@AABBCC]]\\[[ZZhhiijjkk55443322UUTTSSRRXXWWVVUU}}~~ihhggffemmnnoopp00//..--!!""##$$||{{zzyyIIJJKKLLTTSSRRQQqqrrsstt ~~}}||RRSSTTUUKKJJIIHHzz{{||}}##""!!  ..//0011oonnmmllVVWWXXYY..--,,++778899::ffeeddcc__``aabb>>==<<;;;;<<==>>NNMMLLKK~~DDEEFFGGYYXXWWVVllmmnnoo1100//..QQPPOONNTTSSRRQQeddccbbaqqrrsstt,,++**))%%&&''((xxwwvvuuMMNNOOPPPPOONNMMuuvvwwxx - - {{zzyyxxVVWWXXYYGGFFEEDD~~ - - 22334455kkjjiihhZZ[[\\]]**))(('';;<<==>>bbaa``__ccddeeff::998877??@@AABBJJIIHHGG !!""##}}||{{zzHHIIJJKKUUTTSSRRppqqrrss--,,++**MMLLKKJJPPOONNMMa``__^^]uuvvwwxx((''&&%%))**++,,ttssrrqqQQRRSSTTLLKKJJIIyyzz{{||wwvvuutsZZ[[\\]]CCBBAA@@66778899ggffeedd^^__``aa&&%%$$##??@@AABB^^]]\\[[gghhiijj66554433 CCDDEEFFFFEEDDCC$$%%&&''yyxxwwvvLLMMNNOOQQPPOONNttuuvvww))((''&&IIHHGGFFLLKKJJII!!""##]\\[[ZZYyyzz{{||$$##""!!--..//00ppoonnmmUUVVWWXXHHGGFFEE}}~~ - -rqpoonnm^^__``aa??>>==<<::;;<<==ccbbaa``bbccddee""!!CCDDEEFFZZYYXXWWkkllmmnn221100// - -  !!""~~}}||{{GGHHIIJJBBAA@@??(())**++uuttssrrPPQQRRSSMMLLKKJJxxyyzz{{%%$$##""EEDDCCBBHHGGFFEE$$%%&&''YXWVUTSS}}~~  - - 11223344llkkjjiiYYZZ[[\\DDCCBBAA mllkkjjibbccddee;;::9988>>??@@AA__^^]]\\ffgghhiiGGHHIIJJVVUUTTSSooppqqrr..--,,++##$$%%&&zzyyxxwwKKLLMMNN>>==7766,,--..//qqppoonnTTUUVVWWIIHHGGFF||}}~~!! AA@@??>>DDCCBBAA(())**++RRQQPPOO 55667788hhggffee]]^^__``@@??>>==ihhggffeffgghhii77665544 BBCCDDEE[[ZZYYXXjjkkllmmKKLLMMNNRRQQPPOOssttuuvv**))((''''(())**vvuuttssOOPPQQRR5544332200112233mmllkkjjXXYYZZ[[EEDDCCBB==<<;;::@@??>>==,,--..//NNMMLLKK99::;;<>99887766<<;;::9900112233JJIIHHGG==>>??@@``__^^]]eeffgghh88776655a``__^^]nnooppqq//..--,,""##$$%%{{zzyyxxJJKKLLMMSSRRQQPPrrssttuu - -~~}}||{{SSTTUUVVJJIIHHGG{{||}}~~""!!  - -//001122nnmmllkkWWXXYYZZ--,,++**8899::;;eeddccbb``aabbcc==<<;;::554433228877665544556677FFEEDDCC AABBCCDD\\[[ZZYYiijjkkll44332211!!""##]\\[[ZZYrrssttuu++**))((&&''(())wwvvuuttNNOOPPQQOONNMMLLvvwwxxyy zzyyxxwwWWXXYYZZFFEEDDCC 33445566jjiihhgg[[\\]]^^))((''&&<<==>>??aa``__^^ddeeffgg998877661100//..44332211==>>??@@BBAA@@?? - -  ~~}}EEFFGGHHXXWWVVUUmmnnoopp00//..--$$%%&&''YXWVUTSSvvwwxxyy''&&%%$$**++,,--ssrrqqppRRSSTTUUKKJJIIHHzz{{||}}vvuutsrq[[\\]]^^BBAA@@??778899::ffeeddcc__``aabb%%$$##""@@AABBCC]]\\[[ZZhhiijjkk55443322 - ---,,++**00//..--AABBCCDD>>==<;:9!!""##$$||{{zzyyIIJJKKLLTTSSRRQQqqrrsstt,,++**))(())**++RRQQPPOOzz{{||}}##""!!  ..//0011oonnmmllVVWWXXYYGGFFEEDD~~ - - poonnmml__``aabb>>==<<;;;;<<==>>bbaa``__ccddeeff!!DDEEFFGGYYXXWWVVllmmnnoo1100//.. ))((''&&,,++**))EEFFGGHH87766554%%&&''((xxwwvvuuMMNNOOPPPPOONNMMuuvvwwxx((''&&%%,,--..//NNMMLLKK~~ - - 22334455kkjjiihhZZ[[\\]]CCBBAA@@ lkkjjiihccddeeff::998877??@@AABB^^]]\\[[gghhiijjHHIIJJKKUUTTSSRRppqqrrss--,,++**%%$$##""((''&&%%IIJJKKLL43322110))**++,,ttssrrqqQQRRSSTTLLKKJJIIyyzz{{||$$##""!!00112233JJIIHHGG66778899ggffeedd^^__``aa??>>==<<hggffeedgghhiijj66554433 CCDDEEFFZZYYXXWWkkllmmnnLLMMNNOOQQPPOONNttuuvvww))((''&&!! $$##""!!MMNNOOPP0//..--,--..//00ppoonnmmUUVVWWXXHHGGFFEE}}~~ 44556677FFEEDDCC::;;<<==ccbbaa``bbccddee;;::9988dccbbaa`kkllmmnn221100// - -  !!""~~}}||{{GGHHIIJJVVUUTTSSooppqqrr ~~PPQQRRSSMMLLKKJJxxyyzz{{%%$$##"" QQRRSSYY,++**))( - - 11223344llkkjjiiYYZZ[[\\DDCCBBAA==>>??@@BBAA@@??>>??@@AA__^^]]\\ffgghhii77665544`__^^]]\ooppqqrr..--,,++##$$%%&&zzyyxxwwKKLLMMNNRRQQPPOOssttuuvv - - }}||{{zzTTUUVVWWIIHHGGFF||}}~~!!  - - ZZ[[\\]](''&&%%$ 55667788hhggffee]]^^__``@@??>>==AABBCCDD>>==<;:9 BBCCDDEE[[ZZYYXXjjkkllmm33221100!!""##$$\[[ZZYYXssttuuvv**))((''''(())**vvuuttssOOPPQQRRNNMMLLKKwwxxyyzzyyxxwwvvXXYYZZ[[EEDDCCBB ^^__``aa$##""!! 99::;;<>bbccddee==>>??@@``__^^]]eeffgghh88776655 IIJJKKLL43322110""##$$%%{{zzyyxxJJKKLLMMSSRRQQPPrrssttuu++**))(())**++,,QQPPOONN{{||}}~~""!!  - -//001122nnmmllkkWWXXYYZZFFEEDDCC - - onnmmllk``aabbcc==<<;;:: - - ffgghhiiAABBCCDD\\[[ZZYYiijjkkll44332211 - - MMNNOOPP0//..--,&&''(())wwvvuuttNNOOPPQQOONNMMLLvvwwxxyy''&&%%$$--..//00MMLLKKJJ 33445566jjiihhgg[[\\]]^^BBAA@@?? kjjiihhgddeeffgg99887766  - - jjkkllmm ~~}}EEFFGGHHXXWWVVUUmmnnoopp00//..--QQRRSSYY,++**))(**++,,--ssrrqqppRRSSTTUUKKJJIIHHzz{{||}}##""!! 11223344IIHHGGFF778899::ffeeddcc__``aabb>>==<<;;gffeeddchhiijjkk55443322 - -~~ - - nnoouuvv!!""##$$||{{zzyyIIJJKKLLTTSSRRQQqqrrsstt,,++**))ZZ[[\\]](''&&%%$ ..//0011oonnmmllVVWWXXYYGGFFEEDD~~556677==EEDDCCBB;;<<==>>bbaa``__ccddeeff::998877cbbaa``_llmmnnoo1100//..  !!""##}}||{{zz wwxxyyzz - -%%&&''((xxwwvvuuMMNNOOPPPPOONNMMuuvvwwxx((''&&%%^^__``aa$##""!! - - 22334455kkjjiihhZZ[[\\]]CCBBAA@@>>??@@AAAA@@??>>??@@AABB^^]]\\[[gghhiijj66554433!!_^^]]\\[ppqqrrss--,,++**$$%%&&''yyxxwwvv{{||}}~~ ))**++,,ttssrrqqQQRRSSTTLLKKJJIIyyzz{{||$$##""!!bbccddee66778899ggffeedd^^__``aa??>>==<<BBCCDDEE==<;:987 CCDDEEFFZZYYXXWWkkllmmnn221100//""##$$%%[ZZYYXWVttuuvvww))((''&&(())**++uuttssrr - - ~~}}||{{--..//00ppoonnmmUUVVWWXXHHGGFFEE}}~~  - - ffgghhii::;;<<==ccbbaa``bbccddee;;::9988FFGGHHII76655443 - -  !!""~~}}||{{GGHHIIJJVVUUTTSSooppqqrr..--,,++&&''(())UTSSRRQQxxyyzz{{%%$$##"",,--..//qqppoonn zzyyxxww - - 11223344llkkjjiiYYZZ[[\\DDCCBBAA jjkkllmm>>??@@AA__^^]]\\ffgghhii77665544 JJKKLLMM3221100/##$$%%&&zzyyxxwwKKLLMMNNRRQQPPOOssttuuvv**))((''**++,,--PPOONNMM||}}~~!!  - - 00112233mmllkkjj vvuuoonn 55667788hhggffee]]^^__``@@??>>==nnoouuvvBBCCDDEE[[ZZYYXXjjkkllmm33221100 - - NNOOPPQQ/..--,,+''(())**vvuuttssOOPPQQRRNNMMLLKKwwxxyyzz&&%%$$##..//0011LLKKJJII 44556677iihhggff!!""##$$mmllkkjj99::;;<>))**++,,ttssrrqqQQRRSSTTLLKKJJIIyyzz{{||$$##""!!--..//00aa``__^^66778899ggffeedd^^__``aa??>>==<<MMNNOOPP++**))(($$%%&&''yyxxwwvvLLMMNNOO==776655--..//00ppoonnmmUUVVWWXXHHGGFFEE}}~~  - - 11223344]]\\[[ZZ::;;<<==ccbbaa``bbccddee;;::9988QQRRSSYY''&&%%$$(())**++uuttssrrPPQQRRSS4433221111223344llkkjjiiYYZZ[[\\DDCCBBAA 55667788YYSSRRQQ>>??@@AA__^^]]\\ffgghhii77665544 ZZ[[\\]]##""!! ,,--..//qqppoonnTTUUVVWW00//..--55667788hhggffee]]^^__``@@??>>==99::;;<>??@@LLKKJJII !!~~}}||FFGGHHIIWWVVUUTTnnooppqq//..--,,bbccddee44556677iihhggff\\]]^^__((''&&%%==>>??@@``__^^]]eeffgghh88776655 AABBCCDDHHGGFFEE""##$$%%{{zzyyxxJJKKLLMMSSRRQQPPrrssttuu++**))((ffgghhii8899::;;eeddccbb``aabbcc$$##""!!AABBCCDD\\[[ZZYYiijjkkll44332211 - -  ~~}}EEFFGGHHDDCCBBAA&&''(())wwvvuuttNNOOPPQQOONNMMLLvvwwxxyy''&&%%$$jjkkllmm<<==>>??aa``__^^ddeeffggEEFFGGHHXXWWVVUUmmnnoopp00//..--!!""##$$||{{zzyyIIJJKKLL@@??>>==**++,,--ssrrqqppRRSSTTUUKKJJIIHHzz{{||}}##""!!  nnoouuvv @@AABBCC]]\\[[ZZhhiijjkkIIJJKKLLTTSSRRQQqqrrsstt,,++**))%%&&''((xxwwvvuuMMNNOOPP77665544..//0011oonnmmllVVWWXXYYGGFFEEDD~~ - - wwxxyyzz - - DDEEFFGGYYXXWWVVllmmnnooMMNNOOPPPPOONNMMuuvvwwxx((''&&%%))**++,,ttssrrqqQQRRSSTT3322110022334455kkjjiihhZZ[[\\]]CCBBAA@@{{||}}~~ - - HHIIJJKKUUTTSSRRppqqrrss ~~}}QQRRSSTTLLKKJJIIyyzz{{||$$##""!!--..//00ppoonnmmUUVVWWXX//..--,,66778899ggffeedd^^__``aa??>>==<<~~}}||{{LLMMNNOOQQPPOONNttuuvvww - - ||{{zzyyUUVVWWXXHHGGFFEE}}~~  - - 11223344llkkjjiiYYZZ[[\\++**))((::;;<<==ccbbaa``bbccddee;;::9988zzyyxxwwPPQQRRSSMMLLKKJJxxyyzz{{xxwwvvuuYYZZ[[\\DDCCBBAA 55667788hhggffee]]^^__``''&&%%$$>>??@@AA__^^]]\\ffgghhii77665544 vvuuoonnTTUUVVWWIIHHGGFF||}}~~ tsrqpoon]]^^__``@@??>>==99::;;<>??@@``__^^]]eeffgghhFFGGHHIIWWVVUUTTnnooppqq//..--,,""##$$%%iihhggff !!\\]]^^__AA@@??>>jiihhggfeeffgghh88776655 AABBCCDD\\[[ZZYYiijjkkllJJKKLLMMSSRRQQPPrrssttuu++**))((&&''(())eeddccbb""##$$%%``aabbcc==<<;;::feeddccbiijjkkll44332211 - -  ~~}}EEFFGGHHXXWWVVUUmmnnooppNNOOPPQQOONNMMLLvvwwxxyy''&&%%$$**++,,--aa``__^^&&''(())ddeeffgg99887766baa``__^mmnnoopp00//..--!!""##$$||{{zzyyIIJJKKLLTTSSRRQQqqrrsstt ~~}}||RRSSTTUUKKJJIIHHzz{{||}}##""!!  ..//0011]]\\[[ZZ**++,,--hhiijjkk55443322!!""^]]\\[[Zqqrrsstt,,++**))%%&&''((xxwwvvuuMMNNOOPPPPOONNMMuuvvwwxx - - {{zzyyxxVVWWXXYYGGFFEEDD~~ - - 22334455YYSSRRQQ..//0011llmmnnoo1100//..##$$%%&&ZYYXWVUTuuvvwwxx((''&&%%))**++,,ttssrrqqQQRRSSTTLLKKJJIIyyzz{{||wwvvuutsZZ[[\\]]CCBBAA@@66778899PPOONNMM22334455ppqqrrss--,,++**''(())**SSRRQQPPyyzz{{||$$##""!!--..//00ppoonnmmUUVVWWXXHHGGFFEE}}~~ - -rqpoonnm^^__``aa??>>==<<::;;<<==LLKKJJII66778899ttuuvvww))((''&&++,,--..OONNMMLL}}~~  - - 11223344llkkjjiiYYZZ[[\\DDCCBBAA mllkkjjibbccddee;;::9988>>??@@AAHHGGFFEE::;;<<==xxyyzz{{%%$$##""//001122KKJJIIHH 55667788hhggffee]]^^__``@@??>>==ihhggffeffgghhii77665544 BBCCDDEEDDCCBBAA>>??@@AA||}}~~!! 33445566GGFFEEDD99::;;<>==BBCCDDEE77==>>??CCBBAA@@==>>??@@``__^^]]eeffgghh88776655a``__^^]nnooppqq//..--,,""##$$%%{{zzyyxxJJKKLLMM77665544FFGGHHII@@AABBCC??>>==<; AABBCCDD\\[[ZZYYiijjkkll44332211!!""##]\\[[ZZYrrssttuu++**))((&&''(())wwvvuuttNNOOPPQQ33221100JJKKLLMMDDEEFFGG:9877665 - -  ~~}}EEFFGGHHXXWWVVUUmmnnoopp00//..--$$%%&&''YXWVUTSSvvwwxxyy''&&%%$$**++,,--ssrrqqppRRSSTTUU//..--,,NNOOPPQQHHIIJJKK54433221!!""##$$||{{zzyyIIJJKKLLTTSSRRQQqqrrsstt,,++**))(())**++RRQQPPOOzz{{||}}##""!!  ..//0011oonnmmllVVWWXXYY++**))((RRSSTTUU - -LLMMNNOO100//..-%%&&''((xxwwvvuuMMNNOOPPPPOONNMMuuvvwwxx((''&&%%,,--..//NNMMLLKK~~ - - 22334455kkjjiihhZZ[[\\]]''&&%%$$~~}}||VVWWXXYY PPQQRRSS-,,++**)))**++,,ttssrrqqQQRRSSTTLLKKJJIIyyzz{{||$$##""!!00112233JJIIHHGG66778899ggffeedd^^__``aa##""!!{{zzyyxxZZ[[\\]]YYZZ[[\\)((''&&%--..//00ppoonnmmUUVVWWXXHHGGFFEE}}~~ 44556677FFEEDDCC::;;<<==ccbbaa``bbccddeewwvvuutt^^__``aa]]^^__``%$$##""! - - 11223344llkkjjiiYYZZ[[\\DDCCBBAA==>>??@@BBAA@@??>>??@@AA__^^]]\\ffgghhiissrrqqppbbccddeeaabbccdd!  55667788hhggffee]]^^__``@@??>>==AABBCCDD>>==<;:9 BBCCDDEE[[ZZYYXXjjkkllmmoonnmmllffgghhii - - eeffgghh99::;;<>??@@``__^^]]eeffgghh88776655 IIJJKKLL43322110""##$$%%{{zzyyxxJJKKLLMMSSRRQQPPrrssttuu - - - -ggffeeddnnooppqqmmnnoouuAABBCCDD\\[[ZZYYiijjkkll44332211 - - MMNNOOPP0//..--,&&''(())wwvvuuttNNOOPPQQOONNMMLLvvwwxxyy ccbbaa``rrssttuu~~}}||vvwwxxyy  ~~}}EEFFGGHHXXWWVVUUmmnnoopp00//..--QQRRSSYY,++**))(**++,,--ssrrqqppRRSSTTUUKKJJIIHHzz{{||}}__^^]]\\vvwwxxyy{{zzyyxxzz{{||}} - - !!""##$$||{{zzyyIIJJKKLLTTSSRRQQqqrrsstt,,++**))ZZ[[\\]](''&&%%$ ..//0011oonnmmllVVWWXXYYGGFFEEDD~~[[ZZYYXXzz{{||}}wwvvuuoo~~%%&&''((xxwwvvuuMMNNOOPPPPOONNMMuuvvwwxx((''&&%%^^__``aa$##""!! - - 22334455kkjjiihhZZ[[\\]]CCBBAA@@WWVVUUTT~~ !!""##nnmmllkk))**++,,ttssrrqqQQRRSSTTLLKKJJIIyyzz{{||$$##""!!bbccddee66778899ggffeedd^^__``aa??>>==<<!!""##SSRRQQPP$$%%&&''jjiihhgg--..//00ppoonnmmUUVVWWXXHHGGFFEE}}~~  - - ffgghhii::;;<<==ccbbaa``bbccddee;;::9988$$%%&&''OONNMMLL(())**++ffeeddcc - - 11223344llkkjjiiYYZZ[[\\DDCCBBAA jjkkllmm>>??@@AA__^^]]\\ffgghhii77665544(())**++KKJJIIHH,,--..//bbaa``__ 55667788hhggffee]]^^__``@@??>>==nnoouuvvBBCCDDEE[[ZZYYXXjjkkllmm33221100,,--..//GGFFEEDD00112233^^]]\\[[99::;;<>??@@``__^^]]eeffgghh88776655 zzyyxxww{{||}}~~ ""##$$%%{{zzyyxxJJKKLLMMSSRRQQPPrrssttuu++**))((44556677??>>==<<8899::;;QQPPOONNAABBCCDD\\[[ZZYYiijjkkll44332211 - -  vvuuoonn&&''(())wwvvuuttNNOOPPQQOONNMMLLvvwwxxyy''&&%%$$==>>??@@;;::9988<<==>>??MMLLKKJJ ~~}}EEFFGGHHXXWWVVUUmmnnoopp00//..--!!""##$$mmllkkjj**++,,--ssrrqqppRRSSTTUUKKJJIIHHzz{{||}}##""!! AABBCCDD77665544@@AABBCCIIHHGGFF!!""##$$||{{zzyyIIJJKKLLTTSSRRQQqqrrsstt,,++**))%%&&''((iihhggff ..//0011oonnmmllVVWWXXYYGGFFEEDD~~EEFFGGHH33221100ZHAbtlJ`f~ےbHA`vXnے`JXQtlJnXv`bHAZdrtA`vXnے`JXQfpvXQJ`ےtbdQpfH~pZA`~Hf˂rXQltbvpfH˂pZrd|~Hf˂rXQtbn˂pZHAd|ZvnXHAZp˂f`vbے`dQbtvnX`ےbZ|df`vbے`dQbtbHAXQJdrtAfH~pZHAbf~Zp˂tAJlnvpے`JXQtArdHfpvZp˂vpfr˂ptArdf~Hp˂rJltvpfr˂pnXv`bHAZZ|l璐f`vJXQrbpvnJ`ےdQZ|~f`HAbےZdQbtpvnJ`ےvpfbے`dQbt璕v`f~rXQJXnvJXQrlJtArv`fHAZp˂rtAJlXnvJXQrlJtAr`ےbJltf`vXے`JHfpvrXQJ`tbdQZfH~r˂p|ZdQbnXvrXQJ`H~fZHAb|ZdQbfpvXQJ`ےbdQZ|H~fZHAےf~Hp˂rtbdQZXnvtlJXv`fbHAZpdrtAJvXn`JXQrlJtAXv`fbHAZpHf`JXQHAblJtArfpv`ےbpfH~˂pZHAd|Z~HfprXQJtbdQpfH~˂pZHAdfHAZp˂bQZdnvpXQr˂nXvےbHA|drf`vXZHAbtlJ`f~ےbHA`vXnے`JXQtlJnXv`bHAZdrtA`vXn`JXQrfpvXQJ`ے|drpfH~tAd|~Hf˂rXQltbvpfH˂pZrd|~Hf˂rXQvXnے`Jd|ZnXv`HAZdf`vbے`dQbtvnX`ےbZ|df`vbے`~HXvrXQJrtAJlfH~pZHA`f~Zp˂tAJlnvpے`JXQtArdHXv`Zp˂vpfr˂ptArdf~Hp˂rJltvpfbtlnXv`bHAZtAJl璐vpZdQbtpvnJ`ےdQZ|~f`HAbےZdQbtpvnJ`ےvpfHXQr˂dQbtf~HrtAJlXnvJXQrlJtArv`fHAZp˂rtAJlXnvJXQr`f~`ےbtbdQf`vXے`JXQHfpvrXQJ`tbdQZfH~r˂p|ZdQbf~HbHAZH~fZHAb|ZdQbfpvXQJ`ےbdQZ|H~fJtAdf~Hp˂rtbdQZfH~lJtAXv`fbHAZpdrtAJvXn`JXQrlJtAXv`fbHAZ~f`pZHAbl|ZdQfpvtbdQpfH~˂pZHAd|Z~HfprXQJtbdQpfH~˂pZHAHfpvHAZp˂Z|dnvprbt璀nXvےbHA|drf`vXZHAbtlJfpvdrtA`vXnے`JXQtlJnXv`bHAZdrtA`vXn|ZdQbfpvXQJ`ے|drf`vXrd|~Hf˂rXQltbvpfH˂pZrd|~HfdrtAJvXnے`JbtlnXv`Z|df`vbے`dQbtvnX`ےbZ|df`vے`JnXvbHArtAJlfH~lJtAd`f~Zp˂tAJlnvpے`JXQtArdnXv`JbdQ瀅vpfr˂ptArdf~Hp˂rJltvpftlJnXv`bHAZtAdQZ|nvpZdQbtpvnJ`ےdQZ|~f`HAbےZdQbtpvnltbvpfHXQr˂JtArdffpvrtAJlXnvJXQrlJtArv`fHAZp˂rtAJlXnvXQrbt`f~Zp˂tbdQf`vX|ZdQHfpvrXQJ`tbdQZfH~r˂p|ZdQbf~HZ|dH~fZHAb|ZdQbfpvXQJ`ےbdQZ|H~ftArdf~Hp˂rdrtAfH~lJtAXv`fbHAZpdrtAJvXn`JXQrlJtAXv`fdQZ|~f`p`JXQ|ZdQnrXQtbdQpfH~˂pZHAd|Z~HfprXQJtbdQpfH~lJtAHfpvrXQJ`Z|rAJnvpbtlnXvےbHA|drf`vXZHAbtlJfpvrtAJl`vXnے`JXQtlJnXv`bHAZdrtAZHAb|ZdQbfpvXQJ`ےJltf`vXrd|~Hf˂rXQltbvpfH˂pZrd|HfpdrtAJvXnr˂pbtlJ`ےZ|df`vbے`dQbtvnX`ےbZ|df`vd|Z~HےbHAltbfH~JtArd`f~Zp˂tAJlnvpے`JXQtArd~HftbdQ瀅vpfr˂ptArdf~Hp˂rJltے`JXQtlJnXv`bHAZbdQZ|H~fZdQbtpvnJ`ےdQZ|~f`HAbےZdQbtvnrltbvpfHZHAbJtArdHAZp˂rtAJlXnvJXQrlJtArv`fHAZp˂rtAJlXnvdQbtfpvZp˂dQZ|fZHAb|ZdQHfpvrXQJ`tbdQZfH~r˂p|ZdQbpvnZ|dH~fZHAb|ZdQbfpvXQJ`ےbdQZ|r˂ptArdf~Hp˂rdrtAZHAblJtAXv`fbHAZpdrtAJvXn`JXQrlJtAXQJ`ےdQZ|~f`ے`JXQtlJrXQJtbdQpfH~˂pZHAd|Z~HfprXQJtbdQpfH~lJtArnXv`rXQJ`drtAJے`JbtlnXvےbHA|drf`vXZHAbtlJXv`frtAJl`vXnے`JXQtlJnXv`bHAZdtAJZHAb|ZdQbfpvXQJ`ےJltJQrrd|~Hf˂rXQltbvpfH˂pZrd|HAZpdrtAJvXnr˂ptArd`ےbZ|df`vbے`dQbtvnX`ےbZ|dfZHAd|Zf~Hp˂rltbXQr˂JtArd`f~Zp˂tAJlnvpے`JXQtArd~HftbQZvpfr˂ptArdf~Hp˂rltbے`JXQtlJnXv`bHAZdrtAJpZHAZdQbtpvnJ`ےdQZ|~f`HAbےZdQbt˂rXQltbvpfHZHAb|ZdQbHAZp˂rtAJlXnvJXQrlJtArv`fHAZp˂rtAJlbے`dQbtfpvXQJ`ےdQZ|pZHAb|ZdQHfpvrXQJ`tbdQZfH~r˂p|ZdQbpvndrtAJH~fZHAb|ZdQbfpvXQJ`ےnvpr˂ptArdf~Hp˂rltbbے`lJtAXv`fbHAZpdrtAJvXn`JXQrlJtAJ`ےdQZ|~f`˂pZtlJrXQJtbdQpfH~˂pZHAd|Z~HfprXQJtbdQJXQrlJtArnXv`bHAZAJltے`JbtlnXvےbHA|drf`vXZHAbtlJXv`pltb`vXnے`JXQtlJnXv`bHAZfHfZHAb|ZdQbfpvXQJ`ےdQZ|JXQrrd|~Hf˂rXQltbvpfH˂pZrdfbHAZpdrtAJvXnHAbےtArd`ےbZ|df`vbے`dQbtvnX`ےbZ|d˂pZHAd|Zpvnp˂rbnvXQr˂JtArd`f~Zp˂tAJlnvpے`JXQtArdvnXdQZ|vpfr˂ptArdf~Hp˂r`vXnے`JXQtlJnXv`bHAZdrtAJpZHAZdQbtpvnJ`ےdQZ|~f`HAbے~Hf˂rXQltbvpfH`JXQr|ZdQtAHAZp˂rtAJlXnvJXQrlJtArv`fHAZp˂tAJlbے`dQbtXv`fXQJ`ےpfHpZHAb|ZdQHfpvrXQJ`tbdQZfH~r˂p|ZdQbv`fdrtAJH~fZHAb|ZdQbfpvXQJ`ےvpfr˂ptArdf~Hp˂rltbbے`lJtAXv`fbHAZpdrtAJvXn`JXQrpvnJ`ےdQZ|~f`˂pZrdfrXQJtbdQpfH~˂pZHAd|Z~HfprXQJtbnJXQrlJtAr~HfbHAXQf`vXے`JbtlnXvےbHA|drf`vXZHAbtlJ~Hfpltb`vXnے`JXQtlJnXv`bHAZH~fZHAb|ZdQbfpvXQJ`ےdQZ|lJXQrZrd|~Hf˂rXQltbvpfH˂pZXv`fbHAZpdrtAJvXnHAbے~Hf`ےbZ|df`vbے`dQbtvnX`ےbvpfH˂pZHAd|ZpvnJ`ےnvpXQr˂JtArd`f~Zp˂tAJlnvpXQr˂ے`JXQtArdvnXdQZ|vpfr˂ptArdf~HdrtA`vXnے`JXQtlJnXv`bHAZtbdQHAbےZdQbtpvnJ`ےdQZ|~f`HAے`~Hf˂rXQltbvpfH`JXQHAvnXv`HAZp˂rtAJlXnvJXQrlJtArv`fHAZp˂f`vbے`dQbtXv`fbHAZpfH~pZHAb|ZdQHfpvrXQJ`tbdQZfH~pZHAbr˂p|ZdQbv`p˂rAJltH~fZHAb|ZdQbfpvJltvpfr˂ptArdf~Hp˂rZ|d`JXQrlJtAXv`fbHAZpdrtAJvXnJXQrbpvnJ`ےdQZ|~f`bے`f~HrXQJtbdQpfH~˂pZHAd|Z~HfprXQJXnvJXQrlJtAr~HX˂rXQf`vXے`JbtlnXvےbHA|drf`vXے`JZHAbtlJrXQJbdQZ|`vXnے`JXQtlJnXv`bdQZ|H~fZHAb|ZdQbfpvXQJ`ےrtAJl˂pZrd|~Hf˂rXQltbvpfHtlJXv`fbHAZpdrtAJvXnJXQrfpv`ےbZ|df`vbے`dQbtvnX`ےbpfH~˂pZHAd|Zv`fJ`ےnvpXQr˂JtArd`f~Zp˂tAJlnvpXQr˂ے`JXQtArd`ےbdrtvpfr˂ptArdfHfdrtA`vXnے`JXQtlJnXv`bHAZtbdQHAbےZdQbtpvnJ`ےdQZ|~f`tAd|~Hf˂rXQltbvpfH˂pZHAnXv`HAZp˂rtAJlXnvJXQrlJtArv`fHAZdf`vbے`dQbt~HfpbHAZpfH~pZHAb|ZdQHfpvrXQJ`tbdQZfH~pZHAbr˂p|ZdQbHAZp˂AJltH~fZHAb|ZdQbpvnJltvpfr˂ptArdf~Hp˂rZ|l`JXQrlJtAXv`fbHAZpdrtAJvXnZdQbtpvnJ`ےdQZ|~f`bے`f~HrXQJtbdQpfH~˂pZHAd|Z~HfprtAJlXnvJXQrlJtArvnX˂bf`vXے`JbtlnXvےbHA|drf`vXے`JZHAbtlJrXQJbdQZ|`vXnے`JXQtlJrXQJ`bdQZ|H~fZHAb|ZdQbfpvXQJ`ےtbn˂pZArd|~Hf˂rXQltbvpfHlJtAXv`fbHAZpdrtAJvXnJXQrfpv`ےbZ|df`vbے`dQbtvnXtbdQpfH~˂pZHAd|Zv`fHAZdnvpXQr˂JtArd`f~Zp˂tAJlnvpXQr˂ے`JXQtArd`p˂drtvpfr˂ptArdےHAZdrtA`vXnے`JXQtlJnXv`bHAZvp`vb`JXZdQbtpvnJ`ےdQZ|~fZrd|~Hf˂rXQltbvpfH˂p`JnvfHAZp˂rtAJlXnvJXQrlJtArv`fZ|df`vbے`dQbt~HfprtAJfH~pZHAb|ZdQHfpvrXQJ`tbdQZfH~pZHAbr˂p|ZdQbrXQJ`AJbdQH~fZHAb|ZdQbp˂rJltvpfr˂ptArdf~Hp˂rXnvQr˂plJtAXv`fbHAZpdrtAJHAbےZdQbtpvnJ`ےdQZ|~f`XQr˂~HfprXQJtbdQpfH~˂pZHAd|ZHfpvrtAJlXnvJXQrlJtArv~bdQZ|f`vXے`JbtlnXvےbHA|drf`vXے`JZHAbtlJےbHAZ|d`vXnے`JXQtlJXQJ`ےbdQZ|H~fZHAb|ZdQbfpvXQJ`ےpfH~ZHAbrd|~Hf˂rXQltb`JXQrlJtAXv`fbHAZpdrtAJvXnpZHAbvnX`ےbZ|df`vbے`dQbt璀nrXQtbdQpfH~˂pZHAd|ZHfpvdrtAnvpXQr˂JtArd`f~Zp˂tAJlnvpXQr˂ے`JXQtArdZp˂rtAJlvpfr˂ptArdbHAZdrtA`vXnے`JXQtlJnXv`bHAZf`vے`JXZdQbtpvnJ`ےdQZ|˂pZrd|~Hf˂rXQltbvpfHے`Jv`fHAZp˂rtAJlXnvJXQrlJtArJ`ےZ|df`vbے`dQbt璀nXvJltfH~pZHAb|ZdQHfpvrXQJ`tbdQZfH~pZHAbr˂p|ZdQbrXQJ`tbdQH~fZHAbf~Hp˂rJltvpfr˂ptArdf~Hp˂rXnvQr˂plJtAXv`fbHAZpdtAJlHAbےZdQbtpvnJ`ےdQZ|~f`XQr˂~HfprXQJtbdQpfH~˂pZHAd|ZHAZp˂rtAJlXnvJXQrlJtAr`f~bdQZ|f`vXے`JbtlnXvےbHA|drfZHAbے`JZHAbtlJےbHAZ|d`vXnے`JXQfpvXQJ`ےbdQZ|H~fZHAb|ZdQbfpvXQJ`ےp`vXZHAbrd|~Hf˂rXQtbn`JXQrlJtAXv`fbHAZpdrtAJvXnp`JXQvnX`ےbZ|df`vbے`dQbt璀rXQJtbdQpfH~˂pZHAd|ZHfpvdrtAnvpXQr˂JtArd`f~Zp˂tAJl璐ے`JXQr˂ے`JXQtArdXQJ`ےrtAJlvpfr˂pnXv`bHAZdrtA`vXnے`JXQtlJnXv`bHAZnvpJQrZdQbtpvnJ`ےvpf˂pZrd|~Hf˂rXQltbvpfHrbtv`f~HAZp˂rtAJlXnvJXQrlJtAr`ےbZ|df`vbے`dQbt璀nXvJltbfH~pZHAb|ZdQHfpvrXQJ`tbdQZXQr˂pZHAbr˂p|ZdQbbHAZtbQZH~fZHAےf~Hp˂rJltvpfr˂ptArdf~Hp˂rfH~˂pZHAlJtAXv`fbHAZpHf`HAbےZdQbtpvnJ`ےdQZ|~f`l|ZdQfpv〉rXQJtbdQpfH~˂pZHAdfHAZp˂rtAJlXnvJXQrlJtAr`pvQZdrf`vXے`JbtlnXvےbHA|dtApZHAbے`JZHAbtlJp˂rdrtA`vXn`JXQrfpvXQJ`ےbdQZ|H~fZHAb|ZdQbfpvXQJ`ےf`vXbے`rd|~Hf˂rXQvXn`JXQrlJtAXv`fbHAZpdrtAJvXnbtlnXv``ےbZ|df`vbے`~HfprXQJtbdQpfH~˂pZHAd|ZnXv`tAJlnvpXQr˂JtArd`f~Zp˂Jltے`JXQr˂ے`JXQtArdXQJ`ےJltvpfbtlnXv`bHAZdrtA`vXnے`JXQtlJnXv`bHAZnvpJXQrZdQbtpvnJ`ےvpfH˂pZrd|~Hf˂rXQltbvpfHJtArdf~HHAZp˂rtAJlXnvJXQrvnX`ےbZ|df`vbے`dQbtf~HtbdQZfH~pZHAb|ZdQHfpvrXQJ`bnvXQr˂pZHAbr˂pf~HbHAZbdQZ|H~fJtAdf~Hp˂rJltvpfr˂ptArdf~Hp˂rfH~˂pZHAlJtAXv`fbHAZ~f`HAbےZdQbtpvnJ`ےdQZ|~f`|ZdQfpv〉rXQJtbdQpfH~˂pZHAv`fHAZp˂rtAJlXnvJXQrlJtArfpv|drf`vXے`JbtlnXvےbHApfHpZHAbے`JZHAbXv`fp˂drtA`vXn|ZdQbfpvXQJ`ےbdQZ|H~fZHAb|ZdQbfpvXQJ`ےvpfbے`rd|~HfdrtAJvXn`JXQrlJtAXv`fbHAZpdrtAJvXnbtlnXv``ےbZ|df`vے`J~HfprXQJtbdQpfH~˂pZHAd|ZnXv`tAJlnvpXQr˂JtArd`f~Zp˂f`vXے`JXQr˂ے`JXQ~HfbHAZpJltvpftlJnXv`bHAZdrtA`vXnے`JXQtlJnXv`bHAZH~fJXQrZdQbtpvnltbvpfH˂pZrd|~Hf˂rXQltbvpfH|ZdQbf~HfHAZp˂rtAJlXnvXQrbtvnX`ےbZ|df`vbے`dQbtpvntbdQZfH~pZHAb|ZdQHfpvrXQJ`nvpXQr˂pZHAbr˂ppvn˂rXQbdQZ|H~ftArdf~Hp˂rJltvpfr˂ptArdf~HdrtA`vXnZHAblJtAXv`fdQZ|~f`HAbےZdQbtpvnJ`ےdQZ|~f`tlJvnXvrXQJtbdQpfH~lJtAv`fHAZp˂rtAJlXnvJXQrlJtArrXQJ`|rAJlf`vXے`JbtlnXvےbHAfH~pZHAbے`JZHAbXv`fJ`ےrAJlZHAb|ZdQbfpvXQJ`ےbdQZ|H~fZHAb|ZdQbfpvdQZ|vpf`JXQrd|HfpdrtAJvXn`JXQrlJtAXv`fbHAZpdrtAJvXntArd`f~`ےbZ|df`vd|Z~HfprXQJtbdQpfH~˂pZHAd|Zp˂rtbdnvpXQr˂JtArd`f~Zdrf`vXے`JXQr˂ے`JXQ~HfbHAZptbdQZے`JXQtlJnXv`bHAZdrtA`vXnے`JXQtlJnXv`drtAJH~fr˂pZdQbtvnrltbvpfH˂pZrd|~Hf˂rXQltbvpfH|ZdQbHfpvHAZp˂rtAJlXnvdQbtvnX`ےbZ|df`vbے`dQbtXQJ`ےQZ|dfH~pZHAb|ZdQHfpvtAJlnvpXQr˂pZHAr˂ppv˂rXQ|drr˂ptArdf~Hp˂rJltvpfr˂ptArdfHfltb`vXHZHAblJtAXQJ`ےdQZ|~f`HAbےZdQbtpvnJ`ےdQZ|~f`tlJnXvrXQJtbdQpfH~lJtArv`fHAZp˂rtAJlXnvJXQrlJtArbHAZrtAJlf`vXے`JbtlnXvtbdQZfH~pZHAbے`JXQ|ZdQb~HfpJ`p˂tAJlZHAb|ZdQbfpvXQJ`ےbdQZ|H~fZHAb|ZdQbpvndQZ|~f``JXQrd|HAZpdrtAJvXn`JXQrlJtAXv`fbHAZpdrtAJvXntArdt`f~`ےbZ|dfZHAd|Z~HfprXQJtbdQpfH~˂pZHAd|Zp˂rtbdnvpXQr˂JtArd`fH|drf`vXے`JrbttlJvnXrXQJtbdQZے`JXQtlJnXv`bHAZdrtA`vXnے`JXQtlJrXQJ`drtAJvXnr˂pZZdQbt˂rXQltbvpfH˂pZrd|~Hf˂rXQltbvpfHlJtAHfpvHAZp˂rtAJlbے`dQbtvnX`ےbZ|df`vbے`dQbtXQJ`pQZ|dfH~pZHAb|ZdQfpvtAJlnvpXQr˂lJtAdtArdv`f`ےb|dnr˂ptArdf~Hp˂rJltvpfr˂ptArdےHAZltdvpfHAb`JlJtAJ`ےdQZ|~f`HAbےZdQbtpvnJ`ےdQZ|~fZrd|nvfrXQJtbdQJXQrlJtArv`fHAZp˂rtAJlXnvJXQrlJtAr˂rXQrtAJf`vXے`JbtlnrXQJtbdQZfH~pZHAb|ZdQ|ZdQb~HfpHAZp˂vffZHAb|ZdQbfpvXQJ`ےbdQZ|H~fZHAb|ZdQbp˂rrtAJl~f`XQr˂rdfbHAZpdrtAJvXn`JXQrlJtAXv`fbHAZpdrtAJHAbZdQbt~Hfp`ےbZ|d˂pZHAd|Z~HfprXQJtbdQpfH~˂pZHAd|ZJ`ےbdQZ|nvpXQr˂JtArd`ےHA|drf`vXے`JbtltlJvnXrXQJ`vXnے`JXQtlJnXv`bHAZdrtA`vXnے`JXQtlJXQJ`ےtbdQvXnpZHAb~Hf˂rXQltbvpfH˂pZrd|~Hf˂rXQltb˂pZHAlJtAvnXHAZp˂tAJlbے`dQbtvnX`ےbZ|df`vbے`dQbtbHAZpdrtAfH~pZHAb|ZdQZp˂tAJlnvpXQr˂JtArdtArdv`pv`ےbvpfr˂ptArdf~Hp˂rJltvpfr˂ptArdbHAZZ|dvp`vے`JpvnJ`ےdQZ|~f`HAbےZdQbtpvnJ`ےdQZ|bے`rd|v`frXQJtbnJXQrlJtArv`fHAZp˂rtAJlXnvJXQrlJtAr˂rXQJltf`vXے`JbtlrXQJ`tbdQZfH~pZHAb|ZdQ|ZdQbnXvHAXQJ`H~fZHAb|ZdQbfpvXQJ`ےbdQZ|H~fZHAbf~Hp˂rrtAJlXnvXQr˂Xv`fbHAZpdrtAJvXn`JXQrlJtAXv`fbHAZpdtAJlJXQrZdQtAr~Hfp`ےbvpfH˂pZHAd|Z~HfprXQJtbdQpfH~˂pZHAd|ZJ`ےbdQZ|nvpXQr˂JtArdےbHA|drf`vXے`JbtlJtArd`f~Zp˂|drfZHAbtlJnXv`bHAZdrtA`vXnے`JXQtlJrXQJ`bdQZ|H~fے`Jdtl˂rXQltbvpfH˂pZrd|~Hf˂rXQltbvpfHۑpJvˍpf|ZdQHfpvrXQJ`tAJl璐JQrtArdf~Hp˂rJltvpfr˂ptArdےHAZdrtA`vXnXQr˂JtArdJ`ےdQZ|~f`HAbےZdQbtpvnJ`ےdQZ|~frAHr󙐂˕H~ㅐfbtlnXvےbHAtdrtA˂pZH|ZdQbfpvXQJ`ےbdQZ|H~fZHAb|ZdQbp˂rJltvpfpZHAb|ZdQbHAZpdrtAJvXn`JXQrlJtAXv`fbHAZpdrtAJ˂pZ`ZQXAH`vXnJtArd`f~Zp˂JltAbے`tlJnXv`bHAZdrtA`vXnے`JXQtlJXQJ`ےbdQZ|H~f˂pbtl˂rXQltbvpfH˂pZrd|~Hf˂rXQltbHAbےr󙐂ˁ`vˍpf|ZdQHfpvrXQJ`bdQZ|JXQrtArdf~Hp˂rJltvpfr˂ptArdbHAZdrtA`vXnZHAbJtArdJ`ےdQZ|~f`HAbےZdQbtpvnJ`ےdQZ|`JXQrZQXb㉀H~ㅐfbtlnXvےbHAdrtA˂pZH|ZdQbfpvXQJ`ےbdQZ|H~fZHAbf~Hp˂rJltvpfے`JXQ|ZdQbHAZpdrtAJvXn`JXQrlJtAXv`fbHAZpdtAJl˂pZۑpJAH`vXnJtArd`f~Zp˂JltAbے`tlJnXv`bHAZdrtA`vXnے`JXQfpvXQJ`ےbdQZ|H~fr˂ptArd˂rXQltbvpfH˂pZrd|~Hf˂rXQtbnHAbےr󙐂ˁ`vˍpf|ZdQHfpvrXQJ`bdQZ|JXQrtArdf~Hp˂rJltvpfr˂pnXv`bHAZdrtA`vXnZHAbf~HJ`ےdQZ|~f`HAbےZdQbtpvnJ`ےvpf`JXQHAZQXb㉀H~ㅐfbtlnXvےbHAltbZHAb|ZdQbfpvXQJ`ےbdQZ|H~fZHAےf~Hp˂rJltvpfے`JXQfvnXbHAZpdrtAJvXn`JXQrlJtAXv`fbHAZpHf`bے`ۑp`Z`vXnJtArd`f~Zp˂dQZ|ے`JXQtlJnXv`bHAZdrtA`vXn`JXQrfpvXQJ`ےbdQZ|H~fHAbےv`f˂rXQltbvpfH˂pZrd|~Hf˂rXQvXnJXQrQXb㉀ەvˍp||ZdQHfpvrXQJ`drtAJr˂ptArdf~Hp˂rJltvpfbtlnXv`bHAZdrtA`vXn`JXQr~HfpJ`ےdQZ|~f`HAbےZdQbtpvnJ`ےvpfH˂pZHApJAHrdrQtbtlnXvےbHAltbZHAb|ZdQbfpvXQJ`ےbdQZ|H~fJtAdf~Hp˂rJltvpf˂pZvnXbHAZpdrtAJvXn`JXQrlJtAXv`fbHAZ~f`bے`ˁ`ZJltJtArd`f~Zp˂dQZ|lے`JXQtlJnXv`bHAZdrtA`vXn|ZdQbfpvXQJ`ےbdQZ|H~fHAbےv`f˂rXQltbvpfH˂pZrd|~HfdrtAJvXnJXQrQXb㉀bAdZ||ZdQHfpvrXQJ`tbnr˂ptArdf~Hp˂rJltvpftlJnXv`bHAZdrtA`vXn`JXQr~HfpJ`ےdQZ|~f`HAbےZdQbtpvnltbvpfH˂p`JpJAHrdrQtbtlnXvےbHAvp`ZAb`|ZdQbfpvXQJ`ےbdQZ|H~ftArdf~Hp˂rJltvpf˂p`vnvfbHAZpdrtAJvXn`JXQrlJtAXv`fdQZ|~f`XQr˂ۑpJltJtArd`f~Zp˂vXnJXQrtlJnXv`bHAZdrtAZHAb|ZdQbfpvXQJ`ےbdQZ|H~fJXQr~Hf˂rXQltbvpfH˂pZrd|HfpdrtAJvXnpZHAbJAHrbAdZ||ZdQHfpvrXQJ`vpfHpZHAtArdf~Hp˂rJltے`JXQtlJnXv`bHAZdrtA`vXn˂pZHApvnJ`ےdQZ|~f`HAbےZdQbtvnrltbvpfHے`Jˁ`ZQXdrQtbtlnXvےbHA~f`bے`|ZdQbfpvXQJ`ےbdQZ|r˂ptArdf~Hp˂rJltvpfbے`Xv`fbHAZpdrtAJvXn`JXQrlJtAXQJ`ےdQZ|~f`XQr˂b㉀ۑpJltJtArd`f~Zp˂vXnJXQrtlJnXv`bHAZdtAJZHAb|ZdQbfpvXQJ`ےbdQZ|H~fJXQr~Hf˂rXQltbvpfH˂pZrd|HAZpdrtAJvXnpZHAbJAHrbAdZ||ZdQHfpvrXQJ`vp`vpZHAtArdf~Hp˂rltbے`JXQtlJnXv`bHAZdrtA`vXn˂p`JpvnJ`ےdQZ|~f`HAbےZdQbt˂rXQltbvpfH˂pˁ`pfdrQtbtlnXvےbHAXnvbJQr|ZdQbfpvXQJ`ےnvpr˂ptArdf~Hp˂rJltvpfXQrbtXv`fbHAZpdrtAJvXn`JXQrlJtAJ`ےdQZ|~f`ZHAbH~ㅐfJltJtArd`f~Zp˂pfH~˂pZtlJnXv`bHAZfHfZHAb|ZdQbfpvXQJ`ےbdQZ|H~fl|Z~fpv˂rXQltbvpfH˂pZrdfbHAZpdrtAJvXnے`JXQ`vXnbAdZ||ZdQHfpvrXQJ`f`vHAbےtArdf~Hp˂r`vXnے`JXQtlJnXv`bHAZdrtA`vXndQbt璅nXv`J`ےdQZ|~f`HAbے~Hf˂rXQltbvpfHr˂pvˍpfdrQtbtlnXvےbHAXnv`JXQr|ZdQbfpvXQJ`ےvpfr˂ptArdf~Hp˂rJltvpflJtArf~HbHAZpdrtAJvXn`JXQrpvnJ`ےdQZ|~f`ZHAbH~ㅐfJltJtArd`f~Zp˂pfH~˂pZtlJnXv`bHAZH~fZHAb|ZdQbfpvXQJ`ےbdQZ|H~fd|Zfpv˂rXQltbvpfH˂pZXv`fbHAZpdrtAJvXnے`JXQ`vXnbAdZ||ZdQHfpvrXQJ`vpHAbےtArdf~HdrtA`vXnے`JXQtlJnXv`bHAZdrtA`vXndQbt璅nXv`J`ےdQZ|~f`HAے`~Hf˂rXQltbvpfHHAbےvˍpfdrQtbtlnXvےbHAfH~`JXQr|ZdQbfpvJltvpfr˂ptArdf~Hp˂rJltvpfl|ZdQf~HbHAZpdrtAJvXnJXQrbpvnJ`ےdQZ|~f``JXQrH~ㅐfJltJtArd`f~Zdrf`vXZHAbtlJnXv`bdQZ|H~fZHAb|ZdQbfpvXQJ`ےbdQZ|H~fbtlfvnX˂rXQltbvpfHtlJXv`fbHAZpdrtAJvXn˂pZ`vXnbAdZ||ZdQHfpvtAdQZ|nvpے`JXtArdfHfdrtA`vXnے`JXQtlJnXv`bHAZdrtA`vXnJtArdv`fJ`ےdQZ|~f`tAd|~Hf˂rXQltbvpfHHAbےvˍpfdrQtbtlnXvdrtAfH~Qr˂p|ZdQbpvnJltvpfr˂ptArdf~Hp˂rJltvpf|ZdQ~HfpbHAZpdrtAJvXnZdQbtpvnJ`ےdQZ|~f``JXQrH~ㅐfJltJtArd`fHJltf`vXZHAbtlJrXQJ`bdQZ|H~fZHAb|ZdQbfpvXQJ`ےbdQZ|H~fbtlvnX˂rXQltbvpfHlJtAXv`fbHAZpdrtAJvXn˂p``vXnbAdZ||ZdQfpvbdQZ|H~fے`JXtArdےHAZdrtA`vXnے`JXQtlJnXv`bHAZdrtA`vXnJtArdv`fJ`ےdQZ|~fZrd|~Hf˂rXQltbvpfHJXQrvˍpfdrQtbtlnrXQJdrtA`vXnQr˂p|ZdQbp˂rJltvpfr˂ptArdf~Hp˂rJltvpftlJ~HfpbHAZpdrtAJHAbےZdQbtpvnJ`ےdQZ|~f`˂pZHAH~ㅐfJltJtArd`ےHAJltvpfZAb`tlJXQJ`ےbdQZ|H~fZHAb|ZdQbfpvXQJ`ےbdQZ|H~ftArdvnv˂rXQltb`JXQrlJtAXv`fbHAZpdrtAJvXnbے``vXnbAdZ||ZdQZp˂drtAJH~fJXQrtArdbHAZdrtA`vXnے`JXQtlJnXv`bHAZdrtAZHAb|ZdQbf~HJ`ےdQZ|˂pZrd|~Hf˂rXQltbvpfHJXQrvˍpfdrQtbtlrXQJ`ltb`vXn˂pZHAf~Hp˂rJltvpfr˂ptArdf~Hp˂rJlt˂pZtlJfpvbHAZpdtAJlHAbےZdQbtpvnJ`ےdQZ|~f`˂p`ZH~ㅐfJltJtArdےbHAdQZ|vp`bے`fpvXQJ`ےbdQZ|H~fZHAb|ZdQbfpvXQJ`ےbdQZ|HAbےtArdnXv`˂rXQtbn`JXQrlJtAXv`fbHAZpdrtAJvXnQXb㉀۝`vXnbAdZ|f~Zp˂drtAJvXnJXQrnXv`bHAZdrtA`vXnے`JXQtlJnXv`bHAZdtAJ`JXQr|ZdQtAf~HJ`ےvpf˂pZrd|~Hf˂rXQltbvpfHpJAHrvˍpfdrQtHfpvrXQJ`ltbvpfH˂pZAf~Hp˂rJltvpfr˂ptArdf~Hp˂rltb˂pZrd|fpvbHAZpHf`HAbےZdQbtpvnJ`ےdQZ|~f`ˁ`ZH~ㅐfJltnXvےbHAdQZ|l~f``JXQrfpvXQJ`ےbdQZ|H~fZHAb|ZdQbfpvXQJ`ےnvpHAbےZdQbtnXv`f˂rXQvXn`JXQrlJtAXv`fbHAZpdrtAJvXnQXb㉀۝`vXnbAdZ|`f~Zp˂tbdQvXnbtlnXv`bHAZdrtA`vXnے`JXQtlJnXv`bHAZfHf`JXQHAlJtA~fpvJ`ےvpfH˂pZrd|~Hf˂rXQltbvpfHp`ZQXvˍpfdrQtHfpvrXQJ`Z|dvpfHJtAdf~Hp˂rJltvpfr˂ptArdf~Hp˂r`vXnbے`rd|nXvbHAZ~f`HAbےZdQbtpvnJ`ےdQZ|~f`b㉀ۑpH~ㅐfJltnXvےbHArtAJl~v|ZdQbfpvXQJ`ےbdQZ|H~fZHAb|ZdQbfpvXQJ`ےvpfJXQrZdQbt`f~drtAJvXn`JXQrlJtAXv`fbHAZpdrtAJvXnJAHr󙐝`vXnbAdZ|`f~Zp˂tbdQpfH~tlJnXv`bHAZdrtA`vXnے`JXQtlJnXv`bHAZH~f˂pZHAl|ZHfpvltbvpfH˂pZrd|~Hf˂rXQltbvpfHˁ`ZQXvˍpfdrQtHfpvrXQJ`Z|df`vtArdf~Hp˂rJltvpfr˂ptArdf~HdrtA`vXnbے`dQbt璀nXvdQZ|~f`HAbےZdQbtpvnJ`ےdQZ|~f`b㉀ۑpH~ㅐfJltnXvےbHArtAdQZXnv|ZdQbfpvXQJ`ےbdQZ|H~fZHAb|ZdQbfpvJltvpfJXQrlJtAr`ffpdrtAJvXn`JXQrlJtAXv`fbHAZpdrtAJvXnJAHr󙐝`vXnbAdZ|`f~Zp˂|drpfH~tlJnXv`bHAZdrtA`vXnے`JXQtlJnXv`bdQZ|H~f˂p`Jd|ZvnrltbvpfH˂pZrd|~Hf˂rXQltbvpfHۑpJvˍpfdrQtHfpvrXQJ`tAJl璐f`vtArdf~Hp˂rJltvpfr˂ptArdfHfdrtA`vXnXQr˂dQbtXQJ`ےdQZ|~f`HAbےZdQbtpvnJ`ےdQZ|~f`AHr󙐂˕H~ㅐfJltnXvےbHAtbdQZXH~|ZdQbfpvXQJ`ےbdQZ|H~fZHAb|ZdQbpvnJltvpfpZHAblJtArHAZpdrtAJvXn`JXQrlJtAXv`fbHAZpdrtAJvXn`ZQXb`vXnbAdZ|KKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL \ No newline at end of file diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv40_1.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv40_1.dat deleted file mode 100644 index 4edce7de09..0000000000 --- a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv40_1.dat +++ /dev/null @@ -1,353 +0,0 @@ -~}~}~}~}~}~}~}~}|{|{|{|{|{|{|{|{zyzyzyzyzyzyzyzyxwxwxwxwxwxwxwvuvuvuvuvutstststststststsrqrqrqrqpopopopopopopoponmnmnmnmlklklklklklklklkjijijijijijijijihghghghghghghghgfefefefefefedcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWVUVUVUVUVUVUVUVUSTSTSTSTTSRQRQRQRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;:9:9:9:9:9:9:9:9787777776565656565656565434343434343434321212121212121210/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('&%&%&%&%~}~}~}~}~}~}~}~}|{|{|{|{|{|{|{|{zyzyzyzyzyzyzyzyxwxwxwxwvuvuvuvuvuvuvuvutstststststststsrqrqrqrqpopopopopopopoponmnmnmnmlklklklklklklklkjijijijijijijijihghghghghghghghgfefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWVUVUVUVUVUVUVUVUSTSTSTSTRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMLKLKLKLKLKJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;:9:9:9:9:9:9:9:9878787876565656565656565434343434343434321212121212121210/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('&%&%&%&%~}~}~}~}~}~}~}~}|{|{|{|{|{|{|{|{zyzyzyzyzyzyzyzyxwxwxwxwvuvuvuvuvuvuvuvutstststststststsrqrqrqrqpopopopopopopoponmnmnmnmlklklklklklklklkjijijijijijijijihghghghghghghghgfefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWVUVUVUVUVUVUVUVUSTSTSTSTRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCBABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;:9:9:9:9:9:9:9:98787878765656565656565654343434343434343212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('&%&%&%&%~}~}~}~}~}~}~}~}|{|{|{|{|{|{|{|{zyzyzyzyzyzyzyzyxwxwxwxwvuvuvuvuvuvuvuvutstststststststsrqrqrqrqpopopopopopopoponmnmnmnmlklklklklklklklkjijijijijijijijihghghghghghghghgfefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWVUVUVUVUVUVUVUVUSTSTSTSTRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCBABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;:9:9:9:9:9:9:9:98787878765656565656565654343434343434343212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)('('('('('('('('&%&%&%&%~}~}~}~}~}~}~}~}|{|{|{|{|{|{|{|{zyzyzyzyzyzyzyzyxwxwxwxwvuvuvuvuvuvuvuvutstststststststsrqrqrqrqpopooooooooopoponmnmnmnmlklklklklklklklkjijijijijijijijihghghghghghghghgfefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWVUVUVUVUVUVUVUVUSTSTSTSTRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCBABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;:9:9:9:9:9:9:9:98787878765656565656565654343434343434343212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)('('('('('('('('&%&%&%&%~}~}~}~}~}~}~}~}|{|{|{|{|{|{|{|{zyzyzyzyzyzyzyzyxwxwxwxwvuvuvuvuvuvuvuvutststststsrqrqrqrqrqrqrqopopopoppoponmnmnmnmnmnmlklklklklklklklkjijijijijijijijihghghghghghghghgfefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWVUVUVUVUVUVUVUVUSTSTSSSSRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCBABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;:9:9:9:9:98787878787878765656565656565654343434343434343212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)('('('('('('('('&%&%&%&%~}~}~}~}~}~}~}~}|{|{|{|{|{|{|{|{zyzyzyzyzyzyzyxwxwxwxwxwvuvuvuvuvuvuvuvutstststsrqrqrqrqrqrqrqrqopopopopnmnmnmnmnmnmnmnmlklklklklklklklkjijijijijijijijihghghghghghgfefefefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWVUVUVUVUVUVUVUVUSSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCBABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;:9:9:9:9877777788787877765656565656565654343434343434343212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)('('('('('('('('&%&%&%&%~}~}~}~}~}~}~}~}|{|{|{|{|{|{|{|{zyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvutstststsrqrqrqrqrqrqrqrqopopopopnmnmnmnmnmnmnmnmlklklklklklklklkjijijijijijijijihghghghgfefefefefefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_`_`_^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMNMLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCBABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;:9:9:9:9787878787778787865656565656565654343434343434343212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)('('('('('('('('&%&%&%&%~}~}~}~}~}~}~}~}|{|{|{|{|{|{|{|{zyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvutstststsrqrqrqrqrqrqrqrqopopopopnmnmnmnmnmnmnmnmlklklklklklklklkjijijijijijijijihghghghgfefefefefefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEFEDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;:9:9:9:9787878787878787865656565656565654343434321212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)('('('('('('('('&%&%&%&%~}~}~}~}~}~}~}~}|{|{|{|{|{|{|{|{zyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvutstststsrqrqrqrqrqrqrqrqopopopopnmnmnmnmnmnmnmnmlklklklklklklklkjijijijijijijijihghghghgfefefefefefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWVUVUVUVUVUVUVUVUTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEDCDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=<;<;<;<;<;<;<;:9:9:9:9787878787878787865656565656565654343434321212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%~}~}~}~}~}~}~}~}|{|{|{|{|{|{|{|{zyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvutstststsrqrqrqrqrqrqrqrqopopopoonmnmnmnmnmnmnmnmlklklklklklklklkjijijijijijijijihghghghgfefefefefefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWVUVUVUVUVUVUTSTSTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEDCDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:9787878787878787865656565656565654343434321212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%~}~}~}~}~}~}~}~}|{|{|{|{|{|{|{|{zyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvutstststsrqrqrqrqrqrqrqrqoooopoponmnmnmnmnmnmnmnmlklklklklklklklkjijijijijijijijihghghghgfefefefefefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWVUVUVUVUTSTSSSSSTSTSTSTSRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEDCDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:9787878787878787865656565656565654343434321212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%~}~}~}~}~}~}~}~}|{|{|{|{|{|{|{zyzyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvutstststsrqrqrqrqrqrqrqrqpopopoponmnmnmnmnmnmnmnmlklklklklklklklkjijijijijijihghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcbabababababababa`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWVUVUVUVUSTSTSTSTSSSSSTSTRQRQRQRQRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEDCDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:9787877777878787865656565656565654343434321212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%~}~}~}~}~}~}~}~}|{|{|{|{zyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvutstststsrqrqrqrqrqrqrqrqpopopoponmnmnmnmnmnmnmnmlklklklklklklklkjijijijihghghghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcbabababababa`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWVUVUVUVUSTSTSTSTSTSTSTSTRQRQRQRQRQRQRQRQPOPOPOPOPONMNMNMNMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEDCDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:9778787877777778765656565656565654343434321212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%~}~}~}~}~}~}~}~}|{|{|{|{zyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvutstststsrqrqrqrqrqrqrqrqpopopoponmnmnmnmnmnmnmnmlklklklklklklklkjijijijihghghghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcbabababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYZYZYXWXWXWXWXWXWVUVUVUVUSTSTSTSTSTSTSTSTRQRQRQRQRQRQRQRQPOPOPOPONMNMNMNMNMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGHGFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?@?@?@?@?>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:9878787878787878765656565434343434343434321212121212121210/0/0/0/0/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%~}~}~}~}~}~}~}~}|{|{|{|{zyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvutstststsrqrqrqrqrqrqrqpopopopoponmnmnmnmnmnmnmnmlklklklklklklklkjijijijihghghghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcbabababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUSTSTSTSTSTSTSTSTRQRQRQRQRQRQRQRQPOPOPOPONMNMNMNMNMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?@?>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:9878787878787878765656565434343434343434321212121212121210/0/0/0/0/0/0/0/.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%~}~}~}~}~}~}~}~}|{|{|{|{zyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvutstststsrqrqrqrqpopopooopopopoponmnmnmnmnmnmnmnmlklklklklklklklkjijijijihghghghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcbabababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUSTSTSTSTSTSTSTSTRQRQRQRQRQRQRQRQPOPOPOPONMNMNMNMNMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:9878787878787878765656565434343434343434321212121212121210/0/0/0/0/0/0/0/.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%~}~}~}~}~}~}~}~}|{|{|{|{zyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvutstststsrqrqrqrqooopopoppoooooopnmnmnmnmnmnmnmnmlklklklklklklklkjijijijihghghghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcbabababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUSTSTSTSSSTSTSTSTRQRQRQRQRQRQRQRQPOPOPOPONMNMNMNMNMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:9878787878787878765656565434343434343434321212121212121210/0/0/0/0/0/0/0/.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%~}~}~}~}~}~}~}|{|{|{|{|{zyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvuvuvuvuvutstststsrqrqrqrqopopopopopopopopnmnmnmnmnmnmnmnmlklklklklklkjijijijijijihghghghghghghghgfefefefefefefefedcdcdcdcdcdcdcdcbabababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUSSSSTSTSSTSSSSSSRQRQRQRQRQRQRQRQPOPOPOPONMNMNMNMNMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;<;:9:9:9:9878787878787777765656565434343434343434321212121212121210/0/0/0/0/0/0/0/.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%~}~}~}~}|{|{|{|{|{|{|{|{zyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvuvuvuvutststststsrqrqrqrqopopopopopopopopnmnmnmnmnmnmnmnmlklklklkjijijijijijijijihghghghghghghghgfefefefefefefefedcdcdcdcdcdcbabababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[\[\[ZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQRQPOPOPOPOPOPOPONMNMNMNMNMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIJIJIJIJIHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;<;<;<;:9:9:9:9:9777778788787878765656565434343434343434321212121212121210/0/0/0/0/0/0/0/.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%~}~}~}~}|{|{|{|{|{|{|{|{zyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvutstststststststsrqrqrqrqopopopopopopopopnmnmnmnmnmnmnmnmlklklklkjijijijijijijijihghghghghghghghgfefefefefefefefedcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[\[\[ZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIJIHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABABABABABA@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;:9:9:9:9:9:9:9:9787878786565656565656565434343434343434321212121212121210/0/0/0/0/0/0/0/.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%~}~}~}~}|{|{|{|{|{|{|{|{zyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvutstststststststsrqrqrqrqopopopopopopopopnmnmnmnmnmnmnmnmlklklklkjijijijijijijijihghghghghghghghgfefefefefefefefedcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABABA@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;:9:9:9:9:9:9:9:9787878786565656565656565434343434343434321212121212121210/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('('('('('&%&%&%&%&%&%&%&%~}~}~}~}|{|{|{|{|{|{|{|{zyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvutstststststststsrqrqrqrqopopopopopopopopnmnmnmnmnmnmnmnmlklklklkjijijijijijijijihghghghghghghghgfefefefefefefefedcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUTSTSTSTSTSTSTSTSRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;:9:9:9:9:9:9:9:9787878786565656565656565434343434343434321212121212121210/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('&%&%&%&%&%&%&%&%&%&%&%&%~}~}~}~}|{|{|{|{|{|{|{|{zyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvutstststststststsrqrqrqrqoooooopoopopoooonmnmnmnmnmnmnmnmlklklklkjijijijijijijijihghghghghghghghgfefefefefefefefedcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUTSTSTSTSTSTSTSSSRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;:9:9:9:9:9:9:9:9787878786565656565656565434343434343434321212121212121210/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('&%&%&%&%&%&%&%&%&%&%&%&%~}~}~}~}~}|{|{|{|{|{|{|{|{zyzyzyzyzyzyzyzyxwxwxwxwxwxwxwxwvuvuvuvutstststststststsrqrqrqrqpopopopooopopoponmnmnmnmnmnmlklklklklklkjijijijijijijijihghghghghghghghgfefefefefefefefedcdcdcdcbabababababababa`_`_`_`_`_`_`_`_^]^]^]^]^]^]^]^]\[\[\[\[ZYZYZYZYZYZYZYZYXWXWXWXWXWXWXWXWVUVUVUVUTSSSSSSTSSTSTSTSRQRQRQRQPOPOPOPOPOPOPOPONMNMNMNMNMNMNMNMLKLKLKLKLKLKLKLKJIJIJIJIHGHGHGHGHGHGHGHGFEFEFEFEFEFEFEFEDCDCDCDCDCDCDCDCBABABABA@?@?@?@?@?@?@?@?>=>=>=>=>=>=>=>=<;<;<;<;:9:9:9:9:9:9:9:9787878786565656565656565434343434343434321212121212121210/0/0/0/.-.-.-.-.-.-.-.-,+,+,+,+,+,+,+,+*)*)*)*)*)*)*)*)('('('('&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!                - - - - - - - - &%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!                - - - - - - - - &%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!                - - - - - - - - &%&%&%&%$#$#$#$#$#$#$#$#"!"!"!"!                - - - - - - - - &%&%&%&%$#$#$#$#"!"!"!"!"!"!"!"!                - - - - - - - &%&%&%&%$#$#$#$#"!"!"!"!"!"!"!"!                - - - - &%&%&%&%$#$#$#$#"!"!"!"!"!"!"!"!                - - - - &%&%&%&%$#$#$#$#"!"!"!"!"!"!"!"!                - - - - &%&%&%&%$#$#$#$#"!"!"!"!"!"!"!"!              - - - - &%&%&%&%$#$#$#$#"!"!"!"!"!"!"!"!            - - - - $#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!            - - - - - $#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!            - - - - - - - - $#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!            - - - - - - - - $#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!            - - - - - - - - $#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!            - - - - - - - - $#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!            - - - - - - - - $#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!           - - - - - - - - $#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!        - - - - - - - - $#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!        - - - - - - - - $#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!        - - - - - - - - $#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!        - - - - - - - - $#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!        - - - - - - - - $#$#$#$#$#$#$#$#"!"!"!"!"!"!"!"!         - - - - - - - - $#$#$#$#$#$#$#$#"!"!"!"!                - - - - - - - - $#$#$#$#$#$#$#$#"!"!"!"!                - - - - - - - - LLKKJJII))**++,,aa``__^^(())**++NNMMLLKK%%&&''((ttssrrqq UUVVWWXXDDCCBBAA!!""##$$xxwwvvuuQQRRSSTTHHGGFFEE ||{{zzyyMMNNOOPP33221100IIJJKKLL0//..--,::;;<<==__^^]]\\ jjkkllmm//..--,,66778899ccbbaa``ffgghhii3322110022334455ggffeeddbbccddeeccddeeffOOPPQQRRJJIIHHGG~~}}||{{KKLLMMNNNNMMLLKK{{||}}~~GGHHIIJJRRQQPPOOwwxxyyzz||{{zzyy}}~~onnmmllkddeeffgg5544332200112233iihhggff``aabbcc99887766,,--..//mmllkkjj \\]]^^__==<<;;::(())**++bbaa``__!!""ZYYXWVUTyyzz{{|| EEFFGGHHTTSSRRQQuuvvwwxx$$##""!!AABBCCDDXXWWVVUU HHGGFFEE--..//00]]\\[[ZZ,,--..//JJIIHHGG))**++,,ppoonnmm - - YYZZ[[\\@@??>>==%%&&''((ttssrrqq UUVVWWXXDDCCBBAA!!""##$$xxwwvvuuQQRRSSTT//..--,,MMNNOOPP,++**))(>>??@@AA[[ZZYYXX - - nnooppqq++**))((::;;<<==__^^]]\\ jjkkllmm//..--,,66778899ccbbaa``ffgghhiigghhiijjSSTTUUVVFFEEDDCC !!""zzyyxxwwOOPPQQRRJJIIHHGG~~}}||{{KKLLMMNNNNMMLLKK{{||}}~~xxwwvvuu - - kjjiihhghhiijjkk1100//..44556677eeddccbbddeeffgg5544332200112233iihhggff``aabbcc99887766,,--..//^^]]\\[[##$$%%&&SSRRQQPP}}~~~~}}IIJJKKLLPPOONNMMyyzz{{|| EEFFGGHHTTSSRRQQDDCCBBAA11223344YYSSRRQQ00112233FFEEDDCC--..//00llkkjjii]]^^__``<<;;::99))**++,,ppoonnmm - - YYZZ[[\\@@??>>==%%&&''((ttssrrqq UUVVWWXX++**))((QQRRSSYY(''&&%%$BBCCDDEEWWVVUUTTrrssttuu''&&%%$$>>??@@AA[[ZZYYXX - - nnooppqq++**))((::;;<<==__^^]]\\ jjkkllmmkkllmmnn~~}}||{{ WWXXYYZZBBAA@@??##$$%%&&vvuuttssSSTTUUVVFFEEDDCC !!""zzyyxxwwOOPPQQRRJJIIHHGGoonnmmll gffeeddc - - llmmnnoo--,,++**8899::;;aa``__^^hhiijjkk1100//..44556677eeddccbbddeeffgg5544332200112233ZZYYSSRR''(())**OONNMMLL ||{{zzyyMMNNOOPPLLKKJJII}}~~~~}}IIJJKKLLPPOONNMM@@??>>==55667788PPOONNMM44556677BBAA@@??11223344hhggffeeaabbccdd88776655--..//00llkkjjii]]^^__``<<;;::99))**++,,ppoonnmm - - YYZZ[[\\''&&%%$$ZZ[[\\]]$##""!! FFGGHHIISSRRQQPPvvwwxxyy##""!! BBCCDDEEWWVVUUTTrrssttuu''&&%%$$>>??@@AA[[ZZYYXX - - nnooppqq - -oouuvvwwzzyyxxww - - [[\\]]^^>>==<<;;''(())**rrqqppoo WWXXYYZZBBAA@@??##$$%%&&vvuuttssSSTTUUVVFFEEDDCC !!""kkjjiihhcbbaa``_ ppqqrrss))((''&&<<==>>??]]\\[[ZZ - - llmmnnoo--,,++**8899::;;aa``__^^hhiijjkk1100//..44556677QQPPOONN++,,--..KKJJIIHH!!""##$$xxwwvvuuQQRRSSTTHHGGFFEE ||{{zzyyMMNNOOPPLLKKJJII<<;;::9999::;;<>??@@>>==<;:955667788ddccbbaaeeffgghh4433221111223344hhggffeeaabbccdd88776655--..//00llkkjjii]]^^__``##""!!^^__``aaJJKKLLMMOONNMMLLzz{{||}}FFGGHHIISSRRQQPPvvwwxxyy##""!! BBCCDDEEWWVVUUTTrrssttuu~~ xxyyzz{{vvuutsrq__``aabb::998877++,,--..nnmmllkk - - [[\\]]^^>>==<<;;''(())**rrqqppoo WWXXYYZZBBAA@@??##$$%%&&ggffeedd_^^]]\\[ttuuvvww%%$$##""@@AABBCCYYXXWWVV ppqqrrss))((''&&<<==>>??]]\\[[ZZ - - llmmnnoo--,,++**8899::;;MMLLKKJJ//001122GGFFEEDD%%&&''((ttssrrqq UUVVWWXXDDCCBBAA!!""##$$xxwwvvuuQQRRSSTTHHGGFFEE 88776655==>>??@@HHGGFFEEAABBCCDD8776655499::;;<<``__^^]]iijjkkll00//..--55667788ddccbbaaeeffgghh4433221111223344hhggffeeaabbccddbbccddeeNNOOPPQQKKJJIIHH~~~~}}||JJKKLLMMOONNMMLLzz{{||}}FFGGHHIISSRRQQPPvvwwxxyy}}||{{zz||}}~~poonnmmlccddeeff66554433//001122jjiihhgg__``aabb::998877++,,--..nnmmllkk - - [[\\]]^^>>==<<;;''(())**ccbbaa``!![ZZYYXWVxxyyzz{{!! DDEEFFGGUUTTSSRRttuuvvww%%$$##""@@AABBCCYYXXWWVV ppqqrrss))((''&&<<==>>??IIHHGGFF33445566CCBBAA@@))**++,,ppoonnmm - - YYZZ[[\\@@??>>==%%&&''((ttssrrqq UUVVWWXXDDCCBBAA!!""##$$44332211AABBCCDDDDCCBBAAEEFFGGHH43322110==>>??@@\\[[ZZYY - - mmnnoopp,,++**))99::;;<<``__^^]]iijjkkll00//..--55667788ddccbbaaeeffgghhffgghhiiRRSSTTUUGGFFEEDD !!{{zzyyxxNNOOPPQQKKJJIIHH~~~~}}||JJKKLLMMOONNMMLLzz{{||}}yyxxwwvv - - lkkjjiihgghhiijj221100//33445566ffeeddccccddeeff66554433//001122jjiihhgg__``aabb::998877++,,--..__^^]]\\""##$$%%UTSSRRQQ||}}~~~~HHIIJJKKQQPPOONNxxyyzz{{!! DDEEFFGGUUTTSSRRttuuvvww%%$$##""@@AABBCCEEDDCCBB77==>>????>>==<;--..//00llkkjjii]]^^__``<<;;::99))**++,,ppoonnmm - - YYZZ[[\\@@??>>==%%&&''((00//..--EEFFGGHH@@??>>==IIJJKKLL0//..--,AABBCCDDXXWWVVUU qqrrsstt((''&&%%==>>??@@\\[[ZZYY - - mmnnoopp,,++**))99::;;<<``__^^]]iijjkklljjkkllmm~~}}||VVWWXXYYCCBBAA@@""##$$%%wwvvuuttRRSSTTUUGGFFEEDD !!{{zzyyxxNNOOPPQQKKJJIIHH~~uuoonnmm hggffeed - -kkllmmnn..--,,++778899::bbaa``__gghhiijj221100//33445566ffeeddccccddeeff66554433//001122[[ZZYYSS&&''(())PPOONNMM}}||{{zzLLMMNNOOMMLLKKJJ||}}~~~~HHIIJJKKQQPPOONNxxyyzz{{!! DDEEFFGGAA@@??>>@@AABBCC:987766511223344hhggffeeaabbccdd88776655--..//00llkkjjii]]^^__``<<;;::99))**++,,,,++**))IIJJKKLL77665544MMNNOOPP,++**))(EEFFGGHHTTSSRRQQuuvvwwxx$$##""!!AABBCCDDXXWWVVUU qqrrsstt((''&&%%==>>??@@\\[[ZZYY - - mmnnoopp nnoouuvv{{zzyyxx - -ZZ[[\\]]??>>==<<&&''(())ssrrqqpp VVWWXXYYCCBBAA@@""##$$%%wwvvuuttRRSSTTUUGGFFEEDD !!llkkjjiidccbbaa` ooppqqrr**))(('';;<<==>>^^]]\\[[ - -kkllmmnn..--,,++778899::bbaa``__gghhiijj221100//33445566RRQQPPOO**++,,--LLKKJJII !!""##yyxxwwvvPPQQRRSSIIHHGGFF}}||{{zzLLMMNNOOMMLLKKJJ||}}~~~~HHIIJJKK==776655DDEEFFGG5443322155667788ddccbbaaeeffgghh4433221111223344hhggffeeaabbccdd88776655--..//00((''&&%%MMNNOOPP33221100QQRRSSYY(''&&%%$IIJJKKLLPPOONNMMyyzz{{|| EEFFGGHHTTSSRRQQuuvvwwxx$$##""!!AABBCCDDXXWWVVUU qqrrsstt - - wwxxyyzzwwvvuuts ^^__``aa;;::9988**++,,--oonnmmll - - ZZ[[\\]]??>>==<<&&''(())ssrrqqpp VVWWXXYYCCBBAA@@""##$$%%hhggffee`__^^]]\ssttuuvv&&%%$$##??@@AABBZZYYXXWW ooppqqrr**))(('';;<<==>>^^]]\\[[ - -kkllmmnn..--,,++778899::NNMMLLKK..//0011HHGGFFEE$$%%&&''uuttssrrTTUUVVWWEEDDCCBB !!""##yyxxwwvvPPQQRRSSIIHHGGFF}}||{{zzLLMMNNOO44332211HHIIJJKK100//..-99::;;<<``__^^]]iijjkkll00//..--55667788ddccbbaaeeffgghh4433221111223344$$##""!!QQRRSSTT//..--,,ZZ[[\\]]$##""!! MMNNOOPPLLKKJJII}}~~~~}}IIJJKKLLPPOONNMMyyzz{{|| EEFFGGHHTTSSRRQQuuvvwwxx~~}}||{{{{||}}~~rqpoonnmbbccddee77665544..//0011kkjjiihh^^__``aa;;::9988**++,,--oonnmmll - - ZZ[[\\]]??>>==<<&&''(())ddccbbaa\[[ZZYYXwwxxyyzz""!! CCDDEEFFVVUUTTSSssttuuvv&&%%$$##??@@AABBZZYYXXWW ooppqqrr**))(('';;<<==>>JJIIHHGG22334455DDCCBBAA(())**++qqppoonn - -XXYYZZ[[AA@@??>>$$%%&&''uuttssrrTTUUVVWWEEDDCCBB !!""##yyxxwwvvPPQQRRSS00//..--LLMMNNOO-,,++**)==>>??@@\\[[ZZYY - - mmnnoopp,,++**))99::;;<<``__^^]]iijjkkll00//..--55667788 UUVVWWXX++**))((^^__``aaQQRRSSTTHHGGFFEE ||{{zzyyMMNNOOPPLLKKJJII}}~~~~}}IIJJKKLLPPOONNMMyyzz{{||zzyyxxww - -mllkkjjiffgghhii3322110022334455ggffeeddbbccddee77665544..//0011kkjjiihh^^__``aa;;::9988**++,,--``__^^]]!!""##$$WVUTSSRR{{||}}~~GGHHIIJJRRQQPPOOwwxxyyzz""!! CCDDEEFFVVUUTTSSssttuuvv&&%%$$##??@@AABBFFEEDDCC6677==>>@@??>>==,,--..//mmllkkjj \\]]^^__==<<;;::(())**++qqppoonn - -XXYYZZ[[AA@@??>>$$%%&&''uuttssrrTTUUVVWW,,++**))PPQQRRSS)((''&&%AABBCCDDXXWWVVUU qqrrsstt((''&&%%==>>??@@\\[[ZZYY - - mmnnoopp,,++**))99::;;<<~~}}YYZZ[[\\''&&%%$$bbccddeeUUVVWWXXDDCCBBAA!!""##$$xxwwvvuuQQRRSSTTHHGGFFEE ||{{zzyyMMNNOOPPLLKKJJII}}~~vvuuoonn ihhggffe jjkkllmm//..--,,66778899ccbbaa``ffgghhii3322110022334455ggffeeddbbccddee77665544..//0011\\[[ZZYY%%&&''((QQPPOONN~~}}||{{KKLLMMNNNNMMLLKK{{||}}~~GGHHIIJJRRQQPPOOwwxxyyzz""!! CCDDEEFFBBAA@@????@@AABB<;:9877600112233iihhggff``aabbcc99887766,,--..//mmllkkjj \\]]^^__==<<;;::(())**++qqppoonn - -XXYYZZ[[((''&&%%YYZZ[[\\%$$##""!EEFFGGHHTTSSRRQQuuvvwwxx$$##""!!AABBCCDDXXWWVVUU qqrrsstt((''&&%%==>>??@@||{{zzyy]]^^__``##""!!ffgghhiiYYZZ[[\\@@??>>==%%&&''((ttssrrqq UUVVWWXXDDCCBBAA!!""##$$xxwwvvuuQQRRSSTTHHGGFFEE mmllkkjjeddccbba - - nnooppqq++**))((::;;<<==__^^]]\\ jjkkllmm//..--,,66778899ccbbaa``ffgghhii3322110022334455SSRRQQPP))**++,,MMLLKKJJ !!""zzyyxxwwOOPPQQRRJJIIHHGG~~}}||{{KKLLMMNNNNMMLLKK{{||}}~~GGHHIIJJ>>==7766CCDDEEFF6554433244556677eeddccbbddeeffgg5544332200112233iihhggff``aabbcc99887766,,--..//mmllkkjj \\]]^^__$$##""!!]]^^__``! IIJJKKLLPPOONNMMyyzz{{|| EEFFGGHHTTSSRRQQuuvvwwxx$$##""!!AABBCCDDxxwwvvuuaabbccddjjkkllmm~~}}||]]^^__``<<;;::99))**++,,ppoonnmm - - YYZZ[[\\@@??>>==%%&&''((ttssrrqq UUVVWWXXDDCCBBAA!!""##$$iihhggffa``__^^]rrssttuu''&&%%$$>>??@@AA[[ZZYYXX - - nnooppqq++**))((::;;<<==__^^]]\\ jjkkllmm//..--,,66778899OONNMMLL--..//00IIHHGGFF##$$%%&&vvuuttssSSTTUUVVFFEEDDCC !!""zzyyxxwwOOPPQQRRJJIIHHGG~~}}||{{KKLLMMNN55443322GGHHIIJJ21100//.8899::;;aa``__^^hhiijjkk1100//..44556677eeddccbbddeeffgg5544332200112233iihhggff``aabbccaabbccddMMNNOOPPLLKKJJII}}~~~~}}IIJJKKLLPPOONNMMyyzz{{|| EEFFGGHHttssrrqq eeffgghhnnoouuvv{{zzyyxx - -aabbccdd88776655--..//00llkkjjii]]^^__``<<;;::99))**++,,ppoonnmm - - YYZZ[[\\@@??>>==%%&&''((eeddccbb]\\[[ZZYvvwwxxyy##""!! BBCCDDEEWWVVUUTTrrssttuu''&&%%$$>>??@@AA[[ZZYYXX - - nnooppqq++**))((::;;<<==KKJJIIHH11223344EEDDCCBB''(())**rrqqppoo WWXXYYZZBBAA@@??##$$%%&&vvuuttssSSTTUUVVFFEEDDCC !!""zzyyxxwwOOPPQQRR1100//..KKLLMMNN.--,,++*<<==>>??]]\\[[ZZ - - llmmnnoo--,,++**8899::;;aa``__^^hhiijjkk1100//..44556677eeddccbbddeeffggeeffgghhQQRRSSTTHHGGFFEE ||{{zzyyMMNNOOPPLLKKJJII}}~~~~}}IIJJKKLLppoonnmm - - iijjkkllwwxxyyzzwwvvuuts eeffgghh4433221111223344hhggffeeaabbccdd88776655--..//00llkkjjii]]^^__``<<;;::99))**++,,aa``__^^!!""##YXWVUTSSzz{{||}}FFGGHHIISSRRQQPPvvwwxxyy##""!! BBCCDDEEWWVVUUTTrrssttuu''&&%%$$>>??@@AAGGFFEEDD556677==AA@@??>>++,,--..nnmmllkk - - [[\\]]^^>>==<<;;''(())**rrqqppoo WWXXYYZZBBAA@@??##$$%%&&vvuuttssSSTTUUVV--,,++**OOPPQQRR*))((''&@@AABBCCYYXXWWVV ppqqrrss))((''&&<<==>>??]]\\[[ZZ - - llmmnnoo--,,++**8899::;;aa``__^^hhiijjkkiijjkkll~~}}UUVVWWXXDDCCBBAA!!""##$$xxwwvvuuQQRRSSTTHHGGFFEE ||{{zzyyMMNNOOPPllkkjjii - - mmnnoopp {{||}}~~rqpoonnmiijjkkll00//..--55667788ddccbbaaeeffgghh4433221111223344hhggffeeaabbccdd88776655--..//00]]\\[[ZZ$$%%&&''RRQQPPOO~~~~}}||JJKKLLMMOONNMMLLzz{{||}}FFGGHHIISSRRQQPPvvwwxxyy##""!! BBCCDDEECCBBAA@@>>??@@AA==<;:987//001122jjiihhgg__``aabb::998877++,,--..nnmmllkk - - [[\\]]^^>>==<<;;''(())**rrqqppoo WWXXYYZZ))((''&&SSYYZZ[[&%%$$##"DDEEFFGGUUTTSSRRttuuvvww%%$$##""@@AABBCCYYXXWWVV ppqqrrss))((''&&<<==>>??]]\\[[ZZ - - llmmnnoo mmnnoouu||{{zzyy YYZZ[[\\@@??>>==%%&&''((ttssrrqq UUVVWWXXDDCCBBAA!!""##$$xxwwvvuuQQRRSSTThhggffee qqrrsstt - - - -mllkkjji - - mmnnoopp,,++**))99::;;<<``__^^]]iijjkkll00//..--55667788ddccbbaaeeffgghh4433221111223344YYSSRRQQ(())**++NNMMLLKK !!{{zzyyxxNNOOPPQQKKJJIIHH~~~~}}||JJKKLLMMOONNMMLLzz{{||}}FFGGHHII??>>==77BBCCDDEE7665544333445566ffeeddccccddeeff66554433//001122jjiihhgg__``aabb::998877++,,--..nnmmllkk - - [[\\]]^^%%$$##""\\]]^^__"!! HHIIJJKKQQPPOONNxxyyzz{{!! DDEEFFGGUUTTSSRRttuuvvww%%$$##""@@AABBCCYYXXWWVV ppqqrrss - - vvwwxxyyxxwwvvuu - - ]]^^__``<<;;::99))**++,,ppoonnmm - - YYZZ[[\\@@??>>==%%&&''((ttssrrqq UUVVWWXXddccbbaauuvvwwxx~~}}||{{ ihhggffe qqrrsstt((''&&%%==>>??@@\\[[ZZYY - - mmnnoopp,,++**))99::;;<<``__^^]]iijjkkll00//..--55667788PPOONNMM,,--..//JJIIHHGG""##$$%%wwvvuuttRRSSTTUUGGFFEEDD !!{{zzyyxxNNOOPPQQKKJJIIHH~~~~}}||JJKKLLMM66554433FFGGHHII3221100/778899::bbaa``__gghhiijj221100//33445566ffeeddccccddeeff66554433//001122jjiihhgg__``aabb!!``aabbccLLMMNNOOMMLLKKJJ||}}~~~~HHIIJJKKQQPPOONNxxyyzz{{!! DDEEFFGGUUTTSSRRttuuvvww~~}}||zz{{||}}tsrqpoonaabbccdd88776655--..//00llkkjjii]]^^__``<<;;::99))**++,,ppoonnmm - - YYZZ[[\\qqrrsstt``__^^]]yyzz{{||zzyyxxwweddccbbauuvvwwxx$$##""!!AABBCCDDXXWWVVUU qqrrsstt((''&&%%==>>??@@\\[[ZZYY - - mmnnoopp,,++**))99::;;<>^^]]\\[[ - -kkllmmnn..--,,++778899::bbaa``__gghhiijj221100//33445566ffeeddccccddeeffddeeffggPPQQRRSSIIHHGGFF}}||{{zzLLMMNNOOMMLLKKJJ||}}~~~~HHIIJJKKQQPPOONNxxyyzz{{{{zzyyxx ~~nmmllkkjeeffgghh4433221111223344hhggffeeaabbccdd88776655--..//00llkkjjii]]^^__``uuvvwwxx\\[[ZZYY}}~~vvuuoonna``__^^]yyzz{{|| EEFFGGHHTTSSRRQQuuvvwwxx$$##""!!AABBCCDDXXWWVVUU qqrrsstt((''&&%%==>>??@@HHGGFFEE44556677BBAA@@??**++,,--oonnmmll - - ZZ[[\\]]??>>==<<&&''(())ssrrqqpp VVWWXXYYCCBBAA@@""##$$%%wwvvuuttRRSSTTUU..--,,++NNOOPPQQ+**))(('??@@AABBZZYYXXWW ooppqqrr**))(('';;<<==>>^^]]\\[[ - -kkllmmnn..--,,++778899::bbaa``__gghhiijjhhiijjkk~~TTUUVVWWEEDDCCBB !!""##yyxxwwvvPPQQRRSSIIHHGGFF}}||{{zzLLMMNNOOMMLLKKJJ||}}~~wwvvuuoo - - jiihhggfiijjkkll00//..--55667788ddccbbaaeeffgghh4433221111223344hhggffeeaabbccddyyzz{{||XXWWVVUU mmllkkjj]\\[[ZZY}}~~~~}}IIJJKKLLPPOONNMMyyzz{{|| EEFFGGHHTTSSRRQQuuvvwwxx$$##""!!AABBCCDDDDCCBBAA==>>??@@>>==<;:9..//0011kkjjiihh^^__``aa;;::9988**++,,--oonnmmll - - ZZ[[\\]]??>>==<<&&''(())ssrrqqpp VVWWXXYY**))((''RRSSYYZZ'&&%%$$#CCDDEEFFVVUUTTSSssttuuvv&&%%$$##??@@AABBZZYYXXWW ooppqqrr**))(('';;<<==>>^^]]\\[[ - -kkllmmnn llmmnnoo}}||{{zz XXYYZZ[[AA@@??>>$$%%&&''uuttssrrTTUUVVWWEEDDCCBB !!""##yyxxwwvvPPQQRRSSIIHHGGFFnnmmllkkfeeddccb - - mmnnoopp,,++**))99::;;<<``__^^]]iijjkkll00//..--55667788ddccbbaaeeffgghh}}~~TTSSRRQQ!!""##$$iihhggff!!""##YXWVUTSS ||{{zzyyMMNNOOPPLLKKJJII}}~~~~}}IIJJKKLLPPOONNMMyyzz{{|| EEFFGGHH@@??>>==AABBCCDD8776655422334455ggffeeddbbccddee77665544..//0011kkjjiihh^^__``aa;;::9988**++,,--oonnmmll - - ZZ[[\\]]&&%%$$##[[\\]]^^#""!! GGHHIIJJRRQQPPOOwwxxyyzz""!! CCDDEEFFVVUUTTSSssttuuvv&&%%$$##??@@AABBZZYYXXWW ooppqqrr - - uuvvwwxxyyxxwwvv - - \\]]^^__==<<;;::(())**++qqppoonn - -XXYYZZ[[AA@@??>>$$%%&&''uuttssrrTTUUVVWWEEDDCCBB !!""##jjiihhggbaa``__^ qqrrsstt((''&&%%==>>??@@\\[[ZZYY - - mmnnoopp,,++**))99::;;<<``__^^]]iijjkkllPPOONNMM%%&&''((eeddccbb$$%%&&''RRQQPPOO!!""##$$xxwwvvuuQQRRSSTTHHGGFFEE ||{{zzyyMMNNOOPPLLKKJJII}}~~~~}}IIJJKKLL77665544EEFFGGHH4332211066778899ccbbaa``ffgghhii3322110022334455ggffeeddbbccddee77665544..//0011kkjjiihh^^__``aa""!!__``aabbKKLLMMNNNNMMLLKK{{||}}~~GGHHIIJJRRQQPPOOwwxxyyzz""!! CCDDEEFFVVUUTTSSssttuuvv~~}}yyzz{{||uutsrqpo``aabbcc99887766,,--..//mmllkkjj \\]]^^__==<<;;::(())**++qqppoonn - -XXYYZZ[[AA@@??>>$$%%&&''ffeeddcc^]]\\[[Zuuvvwwxx$$##""!!AABBCCDDXXWWVVUU qqrrsstt((''&&%%==>>??@@\\[[ZZYY - - mmnnooppttssrrqq UUVVWWXX++**))((QQRRSSYY(''&&%%$BBCCDDEEWWVVUUTTrrssttuu''&&%%$$>>??@@AA[[ZZYYXX - - nnooppqq++**))((::;;<<==HHGGFFEEAABBCCDD33221100BBCCDDEEppoonnmm - - YYZZ[[\\''&&%%$$ZZ[[\\]]$##""!! FFGGHHIISSRRQQPPvvwwxxyy##""!! BBCCDDEEWWVVUUTTrrssttuu''&&%%$$>>??@@AADDCCBBAAEEFFGGHH//..--,,FFGGHHIIllkkjjii]]^^__``##""!!^^__``aaJJKKLLMMOONNMMLLzz{{||}}FFGGHHIISSRRQQPPvvwwxxyy##""!! BBCCDDEE@@??>>==IIJJKKLL++**))((JJKKLLMMhhggffeeaabbccddbbccddeeNNOOPPQQKKJJIIHH~~~~}}||JJKKLLMMOONNMMLLzz{{||}}FFGGHHII77665544MMNNOOPP''&&%%$$NNOOPPQQddccbbaaeeffgghhffgghhiiRRSSTTUUGGFFEEDD !!{{zzyyxxNNOOPPQQKKJJIIHH~~~~}}||JJKKLLMM33221100QQRRSSYY##""!! RRSSTTUU``__^^]]iijjkklljjkkllmm~~}}||VVWWXXYYCCBBAA@@""##$$%%wwvvuuttRRSSTTUUGGFFEEDD !!{{zzyyxxNNOOPPQQ//..--,,ZZ[[\\]]VVWWXXYY\\[[ZZYY - - mmnnoopp nnoouuvv{{zzyyxx - -ZZ[[\\]]??>>==<<&&''(())ssrrqqpp VVWWXXYYCCBBAA@@""##$$%%wwvvuuttRRSSTTUU++**))((^^__``aa~~}}||ZZ[[\\]]XXWWVVUU qqrrsstt - - wwxxyyzzwwvvuuts ^^__``aa;;::9988**++,,--oonnmmll - - ZZ[[\\]]??>>==<<&&''(())ssrrqqpp VVWWXXYY''&&%%$$bbccddee{{zzyyxx^^__``aaTTSSRRQQuuvvwwxx~~}}||{{{{||}}~~rqpoonnmbbccddee77665544..//0011kkjjiihh^^__``aa;;::9988**++,,--oonnmmll - - ZZ[[\\]]##""!!ffgghhiiwwvvuuttbbccddeePPOONNMMyyzz{{||zzyyxxww - -mllkkjjiffgghhii3322110022334455ggffeeddbbccddee77665544..//0011kkjjiihh^^__``aajjkkllmmssrrqqpp ffgghhiiLLKKJJII}}~~vvuuoonn ihhggffe jjkkllmm//..--,,66778899ccbbaa``ffgghhii3322110022334455ggffeeddbbccddeennoouuvvoonnmmll - - jjkkllmmHHGGFFEE mmllkkjjeddccbba - - nnooppqq++**))((::;;<<==__^^]]\\ jjkkllmm//..--,,66778899ccbbaa``ffgghhiiwwxxyyzzkkjjiihh - - nnooppqqDDCCBBAA!!""##$$iihhggffa``__^^]rrssttuu''&&%%$$>>??@@AA[[ZZYYXX - - nnooppqq++**))((::;;<<==__^^]]\\ jjkkllmm {{||}}~~ggffeeddrrssttuu@@??>>==%%&&''((eeddccbb]\\[[ZZYvvwwxxyy##""!! BBCCDDEEWWVVUUTTrrssttuu''&&%%$$>>??@@AA[[ZZYYXX - - nnooppqq - - - -ccbbaa``vvwwxxyy<<;;::99))**++,,aa``__^^!!""##YXWVUTSSzz{{||}}FFGGHHIISSRRQQPPvvwwxxyy##""!! BBCCDDEEWWVVUUTTrrssttuu~~}}||{{ __^^]]\\zz{{||}}88776655--..//00]]\\[[ZZ$$%%&&''RRQQPPOO~~~~}}||JJKKLLMMOONNMMLLzz{{||}}FFGGHHIISSRRQQPPvvwwxxyyzzyyxxww[[ZZYYXX~~4433221111223344YYSSRRQQ(())**++NNMMLLKK !!{{zzyyxxNNOOPPQQKKJJIIHH~~~~}}||JJKKLLMMOONNMMLLzz{{||}}vvuuoonnWWVVUUTT !!00//..--55667788PPOONNMM,,--..//JJIIHHGG""##$$%%wwvvuuttRRSSTTUUGGFFEEDD !!{{zzyyxxNNOOPPQQKKJJIIHH~~mmllkkjjSSRRQQPP""##$$%%,,++**))99::;;<>??@@HHGGFFEE44556677BBAA@@??**++,,--oonnmmll - - ZZ[[\\]]??>>==<<&&''(())ssrrqqpp VVWWXXYYCCBBAA@@""##$$%%eeddccbb$$%%&&''KKJJIIHH**++,,--$$##""!!AABBCCDDDDCCBBAA==>>??@@>>==<;:9..//0011kkjjiihh^^__``aa;;::9988**++,,--oonnmmll - - ZZ[[\\]]??>>==<<&&''(())aa``__^^(())**++GGFFEEDD..//0011 EEFFGGHH@@??>>==AABBCCDD8776655422334455ggffeeddbbccddee77665544..//0011kkjjiihh^^__``aa;;::9988**++,,--]]\\[[ZZ,,--..//CCBBAA@@22334455~~}}IIJJKKLL77665544EEFFGGHH4332211066778899ccbbaa``ffgghhii3322110022334455ggffeeddbbccddee77665544..//0011YYSSRRQQ00112233??>>==<<66778899||{{zzyyMMNNOOPP33221100IIJJKKLL0//..--,::;;<<==__^^]]\\ jjkkllmm//..--,,66778899ccbbaa``ffgghhii3322110022334455PPOONNMM44556677;;::9988::;;<<==xxwwvvuuQQRRSSTT//..--,,MMNNOOPP,++**))(>>??@@AA[[ZZYYXX - - nnooppqq++**))((::;;<<==__^^]]\\ jjkkllmm//..--,,66778899LLKKJJII==>>??@@77665544>>??@@AAZHAbے`JXQtArd|ZdQbnXvےbHAےbHArtAJlvpfH~fZHAbے`JXQtlJnXv`f~Hp˂rXQJ`ےbdQZ|drtA`vXnے`JXQr˂ptArd|ZdQbfpvnXv`bHAZdrtAltbvpfJXQrr˂pZdQbtlJtAXv`fHAZp˂rXQltbdQZ|~f`vXn`JXQrtlJrd|~HfpvnJ`ےbHAZpdrtAJtbnvpfHbے`XQr˂lJtArvnXnXv`HAZp˂rtAJltbdQpfH~f`vbے`JXQrlJtArdf~HfprXQJ`ےbZ|drtAJlXnvpfH~˂pZHAd|ZdQbtfpvrXQJ`bHAZtbdbnvfH~pZHAbے`JbtlJtArd`f~fpvrXQJ`tbdQZ|drf`vXnvpXQr˂pZHA|ZdQHfpvnXvےbHAZp˂tbdQvp`vf`vbJQr|ZdQbtlJnXv`f~Hp˂rXQJ`ےbdQZ|H~f`vXnے`JXQr˂ptArd|ZdQbfpvXQJ`ےے`JXQr˂p|ZdQbtlJ`f~Zp˂Zp˂tbdQH~f`vXnے`JXQr˂ptArdf~HfpvXQJ`ےbHAZdrtAJltvpfr˂pZHAb|ZdQbtlJnXv`f~Hp˂rdQZ|dQZ|H~fpZHAZHAblJtArd|~Hf˂rXQJ`ےdQZ|drtAJvXnvpfH˂pZtAd|ZdQbtpvnXv`fbHAZp˂rXQltbvpf~f`JXQHAbpZHAbd|Zv`ff~HrXQJtbdQZ|df`vXnvJXQr˂pZHAd|Z~HfpvnX`ےbHAZp˂rtAJltbdQpfH~fZHAbے`dQbtlJtArnXv`p˂rp˂rQZ|dpfHf`vXے`JXQr˂JtArd|ZdQHfpvnrXQJےbHA|drtAJlnvpfH~pZHAbے`JXQbtlnXv`f~Zp˂rXQJ`Z|dXnvXnv˂pZtlJtArdf~HfpvXQJ`ےbHAZdrtA`vXnvpfr˂pZHAb|ZdQbtlJnXv`bHAZr˂pZHAbtlJtArdHXv`rXQJ`bHAZZ|d`vXnvpfr˂pZHAے|ZdQbfpvnXv`bHAZp˂rJltbdQZ|H~fZHAbے`JXQtlJtArdf~HfpvXQJ`ےdrtAJdrtAJ`vXHbے``JXQrd|ZdQbtpvnJ`ےbHAZpdrtAJltbvpfH~f`HAbےZdQbtlJtAXv`f~Hf˂rXQJ`ےdQZ|Hf`vXnے`Jے`JdQbt~Hfpfpv`ےbZ|drtAJlXnvpfH~˂pZHAbے`dQbtvnXv`fHAZp˂rXQJtbdQZ|df`vbے`JXQrlJtArd|ZpvnXQJ`ےXQJ`ےrtAJlf`vXnvpXQr˂pZHAb|ZdQbtlnXv`ےHAZp˂tAJltbdQZfH~f`vXے`JrbtJtArd`f~HfpvrXQJ`ےbHArtAdQZpfH~pfH~HAbےtArd|ZdQbfpvnXv`bHAZdrtAJltvpfH~fZHAbے`JXQtlJtArdf~Hp˂rZHAbے`JXQtArd|ZdQbf~HےbHAdrtArtAJlvpfH~fZHAb`JXQrtlJnXv`f~Hp˂rXQJ`ےbdQZ|dtAJ`vXnے`JXQr˂ptArd|ZdQbfpvnXv`bHAZltbltb~f`JXQrZr˂pZZdQbtlJtAXv`fbHAZp˂rXQltbdQZ|~f`vXn`JXQrlJtArd|~HfpvnJ`ےbHAZpdrtAJvXnvpfHXQr˂XQr˂l|ZdQvnXnXv`HAZp˂rtAJltbdQpfH~f`vbے`JXQrlJtArv`f~HfprXQJ`ےbZ|drtAJlXnvJXQr˂pZHAd|ZdQbtXv`fbHAZbHAXQtbdnvpfH~pZHAbے`JbtlJtArd`f~Zp˂rXQJ`tbdQZ|drf`vXnvpXQr˂lJtAd|ZdQHfpvnXvےbHAZp˂|drf`vf`v`JXQr|ZdQbtlJnXv`f~Hp˂rJltbdQZ|H~f`vXnے`JXQr˂ptArdf~HfpvXQJ`ےے`JXQr˂p|ZdQbtlJfpvXQJ`ےJbdQtbQZH~f`vXnے`JXQbtltArdf~HfpvXQJ`ےbHAZdrtAltbvpfr˂pZHAb|ZdQbtlJnXv`fHfp˂rdQZ|dQZ|lvXnHAbےAb`JlJtArdf~Hf˂rXQJ`ےdQZ|drtAJvXnvpfH˂pZrd|ZdQbtpvnXv`fbHAZp˂rXQltbvpfH~f`pZHAbp`JXQbtlv`f~ffpvrXQJtbdQZ|df`vXnvJXQr˂pZHAd|Z~HfpvnX`ےbHAZp˂rtAJltbdQpfH~˂pZHAbے`dQbtlJtAr~Hfp˂rJ`ےQZ|dfH~f`vXے`JXQr˂JtArd|ZdQHfpvrXQJ`ےbHA|drtAJlnvpfH~pZHAb|ZdQbtlnXv`f~Zp˂rXQJ`tAJlXnvXH~˂pZtlJtArdf~HfpvXQJ`ےbdQZ|drtA`vXnvpfr˂pZHAb|ZdQbfpvnXv`bHAZr˂pZHAbtlJtArdnXv`bHAZZ|ddrtA`vXnvpfr˂pJtAd|ZdQbfpvnXv`bHAZp˂rJltnvpH~fZHAbے`JXQtlJtArdf~HpvnXQJ`ےdrtAJtbdQvpfH`JXQrXQr˂rd|~HfpvnJ`ےbHAZpdrtAJltbvpfH~fZHAbےZdQbtlJtAXv`f~Hf˂rXQJ`ےdQZ|~f`vXnے`JrbtJtArdfpv々nrXQ`ےbZ|drtAJlXnvpfH~˂pZHAے`JdQbtvnXv`fHAZp˂rXQJtbdQZ|df`vbے`JXQrlJtArd|ZpvnXQJ`pbHAZprtAJf`vXnvpXQr˂pZHAb|ZdQbtlnXvےbHAZp˂tAJltbdQZfH~f`vXے`JbtlJtArd`f~HfpvrXQJ`ےbHAtbdQZpfH~fZHAbHAbےtArd|ZdQbfpvnXv`bHAZdrtAJltvpfH~fZHAbے`JXQtlJnXv`f~Hp˂rZHAbے`JXQtArd|ZdQbf~Hp˂rrtAJlJltvpfH~fZHAb|ZdQbtlJnXv`f~Hp˂rXQJ`ےbdQZ|fHf`vXnے`JXQr˂ptArd|ZdQbfpvrXQJ`bHAZltdZ|d~f`˂pZpZHAbZdQbtpvnXv`fbHAZp˂rXQltbdQZ|~f`HAbے`JXQrlJtArd|~HfpvnJ`ےbHAZdrtAJvXnvpfHXQr˂l|ZdQ|ZdQnXv`J`ےHAZp˂rtAJltbdQpfH~f`vbے`XQrbtlJtArv`f~HfprXQJ`ےbZ|dtAJlXnvJXQr˂pZHAd|ZdQbtXv`f˂rXQ˂rXQbdQZ|nvpfH~pZHAbے`JbtlJtArd`f~Zp˂rXQJ`tbdQZ|drf`vXnvpXQr˂JtArd|ZdQHfpvnXvےbHAZp˂|drvpJQr`JXQr|ZdQbtlJnXv`fHfp˂rJltbdQZ|H~f`vXnے`JXQr˂ptArdf~HfpvXQJ`ےے`JXQr˂p|ZdQbtlJfpvXQJ`ےtbdQbdQZ|H~f`vXnے`JXQtlJtArdf~HfpvXQJ`ےbHAZdrtA`vXnvpfr˂pZHAb|ZdQbtlJnXv`ےHAZp˂rrtAJlrtAJlvXnHAbےے`JlJtAXv`f~Hf˂rXQJ`ےdQZ|drtAJvXn`JXQr˂pZrd|ZdQbtpvnXv`fbHAZpdrtAJltbvpfH~f`p`JXQbtlbtlf~HHAZp˂rXQJtbdQZ|df`vXnvJXQrlJtAd|Z~HfpvnX`ےbHAZp˂rtAJltbnpfH~˂pZHAbے`dQbtlJtAr~HXJ`ےJ`ےdrtAfH~f`vXے`JXQr˂JtArdf~HfpvrXQJ`ےbHA|drtAJlnvpfH~pZHAb|ZdQbtlnXv`f~Zp˂rXQJ`tAJlfH~˂pZHZHAbtlJtArdf~HpvnXQJ`ےbdQZ|drtA`vXnvpfr˂pZHAے|ZdQbfpvnXv`bHAZr˂pZHAbtlJtArd~HfbHAZZ|ddrtA`vXnvpfr˂ptArd|ZdQbfpvnXv`bHAZp˂rJltvpfH~fZHAbے`JXQtlJtArdf~Hp˂rXQJ`ےtbdQtbdQvp`v`JXQrXQr˂rd|~HfpvnJ`ےbHAZpdrtAJltbvpfH˂pZHAbےZdQbtlJtAXv`f~Hf˂rXQltbdQZ|~f`vXnr˂pJtArdJtArdfpv〉rXQJ`ےbZ|drtAJlXnvpfH~˂pZHAd|ZdQbtvnXv`fHAZp˂rXQJtbdQvpfHf`vbے`JXQrlJtArd|Zv`fbHAZpbHAZpJltf`vXnvpXQr˂pZHAb|ZdQHfpvnXvےbHAZp˂tAJltbdQZfH~fZHAbے`JbtlJtArd`f~HfpvrXQJ`ےbHAtdrtAf`vXAbے`ے`JXtArd|ZdQbfpvrXQJ`bHAZdrtAJltvpfH~fZHAb`JXQrtlJnXv`f~Hp˂rZHAbے`JXQtArdf~Hpvnp˂rtAJlJltvpfH~fZHAb|ZdQbtlJnXv`f~Hp˂rXQJ`ےbdQZ|H~f`vXnے`JXQr˂ptArd|ZdQbfpvXQJ`ےbHAZZ|dZ|lXnv˂pZApZA`ZdQbtpvnXv`fbHAZp˂rXQltbdQZ|~f`HAbے`JXQrlJtArd|~HfpvnJ`ےdQZ|drtAJvXnvpfHZHAb|ZdQtlJnXv``ےbHAZp˂rtAJltbdQpfH~f`vbے`dQbtlJtArv`f~HfprXQJ`ےbZ|df`vXnvJXQr˂pZHAd|ZdQbt~Hfp˂rXQ˂bbdQZ|nvpfH~pZHAbے`JbtlnXv`f~Zp˂rXQJ`tbdQZ|drf`vXے`JXQr˂JtArd|ZdQHfpvnXvےbHAZdrJltnvpJXQrQr˂p|ZdQbtlJnXv`ےHAZp˂rJltbdQZ|H~f`vXnے`JXQbtltArdf~HfpvXQJ`ےے`JXQr˂p|ZdQbXv`fXv`fbHAZptbQZbdQZ|H~fZHAbے`JXQtlJtArdf~HfpvXQJ`ےbHAZdrtA`vXnvpfr˂pZHAb|ZdQbtlJnXv`bHAZp˂rrtAJltbnpfH~b`JXJXQrblJtAXv`f~Hf˂rXQJ`ےdQZ|dtAJlvXn`JXQr˂pZrd|ZdQbtpvnXv`fbHAZpdrtAJltbvpfH~f`ے`JXQbtltArdf~HfHAZp˂rXQJtbdQZ|df`vXnvJXQrlJtArd|Z~HfpvnX`ےbHAZp˂rtAJlXnvpfH~˂pZHAbے`dQbtlJtArvnXJ`ےHAZddrtAfH~f`vXے`JXQr˂JtArd`f~HfpvrXQJ`ےbHA|drtAJlnvpXQr˂pZHAb|ZdQbtlnXv`f~Zp˂tAdQZ|bdQZ|fH~˂pZHZHAbtlJtArdf~Hp˂rXQJ`ےbdQZ|drtA`vXnvpfr˂pJtAd|ZdQbfpvnXv`bHAZr˂pZHAbtlJ~Hf~Hf˂rXQdrtAJrAJl`vXnے`JXQr˂ptArd|ZdQbfpvnXv`bHAZdrtAJltvpfH~fZHAbے`JXQtlJtArdf~Hp˂rXQJ`ےtbdQvp`vf`vQr˂ptlJrd|~HfpvnJ`ےbHAZpdrtAJtbnvpfH˂pZHAbےZdQbtlJtAXv`fHfp˂rXQltbdQZ|~f`vXnr˂p|ZdQb|ZdQbvnXvrXQJ`ےbZ|drtAJlXnvpfH~˂pZHAd|ZdQbtvnXv`fHAZp˂rXQJtbdQpfH~f`vbے`JXQrlJtArd|Zv`fbHAXQJrtAJJltf`vXnvpXQr˂pZHA|ZdQHfpvnXvےbHAZp˂tAJltbdQZfH~pZHAbے`JbtlJtArd`f~HfpvrXQJ`drtAdrtAf`vXAbے`ے`JXtArd|ZdQbfpvXQJ`ےbHAZdrtAJltvpfH~fZHAb|ZdQbtlJnXv`f~Hp˂rZHAbے`JXQtArdpvnpvnJ`ےltbtbdQZvpfr˂pZHAb|ZdQbtlJnXv`f~Hp˂rJltbdQZ|H~f`vXnے`JXQr˂ptArdf~HfpvXQJ`ےbHAZZ|lXnvXnvZHAbtAd|ZdQbtpvnXv`fbHAZp˂rXQltbvpf~f`HAbے`JXQrlJtArd|~HfvnrJ`ےdQZ|drtAJvXnvpfHZHAbtlJtlJ`f~`ےbHAZp˂rtAJltbdQpfH~fZHAbے`dQbtlJtArv`f~HfprXQJ`ےbZ|df`vXnvJXQr˂pZHAd|ZdQbt~Hfp`ےbbdQZ|bQZdnvpfH~pZHAbے`JXQbtlnXv`f~Zp˂rXQJ`tbdQZ|dtAf`vXے`JXQr˂JtArd|ZdQHfpvnXvےbHAJltJltH~fJXQrQr˂p|ZdQbtlJnXv`bHAZp˂rJltbdQZ|H~f`vXnے`JXQtlJtArdf~HfpvXQJ`ےے`JXQr˂p|ZdQbXv`fXv`pbHAZpdQZ||drH~fZHAbے`JXQtlJtArdf~HfpvXQJ`ےbdQZ|drtA`vXnvpfr˂pZHAb|ZdQbfpvnXv`bHAZp˂rtbdQZpfH~pfH~ے`JXZdQbtlJtAXv`f~Hf˂rXQJ`ےdQZ|Hf`vXn`JXQr˂pZrd|ZdQbtpvnXQJ`ےbHAZpdrtAJltbvpfH~f`˂pZtArdtArdHfpvHAZp˂rXQJtbdQZ|df`vbے`JXQrlJtArd|Z~HfpvnX`ےbHAZdrtAJlXnvpfH~˂pZHAbے`dQbtlJtArv~HAZp˂drtArtAJlfH~f`vXے`JrbtJtArd`f~HfpvrXQJ`ےbHA|drJltnvpXQr˂pZHAb|ZdQbtlnXv`fHZp˂bdQZ|bdQZ|`vXnZHAbZAb`tlJtArdf~Hp˂rXQJ`ےbdQZ|drtA`vXnvpfr˂ptArd|ZdQbfpvnXv`bHAZr˂pZHAbtlJ~HfvnX˂rXQdrtAJtAJl`vXnے`JXQr˂ptArd|ZdQbfpvnXv`bHAZdrtAJltvpfH~fZHAbے`JXQtlJnXv`f~Hp˂rXQJ`ے|drf`vvpQr˂plJtArd|~HfpvnJ`ےbHAZpdrtAJvXnvpfH˂pZHAbےZdQbtlJtAXv`fHAZp˂rXQltbdQZ|~f`vXnHAbے|ZdQb|ZdQtAnXvrXQJ`ےbZ|drtAJlXnvJXQr˂pZHAd|ZdQbtvnXv`fHAZp˂rtAJltbdQpfH~f`vbے`JXQrlJtArdfHfpvrXQJJlttbdQf`vXnvpXQr˂lJtAd|ZdQHfpvnXvےbHAZp˂tAJlbnvfH~pZHAbے`JbtlJtArd`f~fpvrXQJ`drtAltbvpfے`JXQJXQrtArdf~HfpvXQJ`ےbHAZdrtAJltvpfH~fZHAb|ZdQbtlJnXv`f~Hp˂rZHAbے`JXQtArdpvv`fJ`p˂ltbtbdQZvpfr˂pZHAb|ZdQbtlJnXv`fHfp˂rJltbdQZ|H~f`vXnے`JXQr˂ptArdf~HfpvXQJ`ےbHAZtAJlXnvfH~ZHAbrd|ZdQbtpvnXv`fbHAZp˂rXQltbvpfH~f`HAbے`JXQrlJtArd|~Hf˂rXQJ`ےdQZ|drtAJvXnvpfH`JXQrtlJrdf`f~`ےbHAZp˂rtAJltbdQpfH~˂pZHAbے`dQbtlJtArv`f~HfprXQJtbdQZ|df`vXnvJXQr˂pZHAd|Z~HXvnXv`ےbbdQZ|Z|dnvpfH~pZHAb|ZdQbtlnXv`f~Zp˂rXQJ`tbdQZpfHf`vXے`JXQr˂JtArd|ZdQHfpvnrXQJےbHAJltdQZ|H~fr˂p˂pZHA|ZdQbfpvnXv`bHAZp˂rJltbdQZ|H~fZHAbے`JXQtlJtArdf~HfpvXQJ`ےے`JXQr˂p|ZdQb~Hfp~HfprXQJdQZ||dnH~fZHAbے`JXQtlJtArdf~HpvnXQJ`ےbdQZ|drtA`vXnvpfr˂pZHAے|ZdQbfpvnXv`bHAZp˂rtbdQZp`vXf`vXJQrZdQbtlJtAXv`f~Hf˂rXQJ`ےdQZ|~f`vXn`JXQr˂pZrd|ZdQbtpvnJ`ےbHAZpdrtAJltbvpfH~f`˂pZtArdt~HfHfpvHAZp˂rXQJtbdQZ|df`vbے`JXQrlJtArd|Z~HfpvnX`ےbZ|drtAJlXnvpfH~˂pZHAbے`dQbt`f~`f~HAZp˂drtArtAJlfH~f`vXے`JbtlJtArd`f~HfpvrXQJ`ےbHA|drf`vXnvpXQr˂pZHAb|ZdQbtlnXv`ےHAZp˂drtAJdrtAJ`vXnZHAbbے`tlJnXv`f~Hp˂rXQJ`ےbdQZ|drtA`vXnے`JXQr˂ptArd|ZdQbfpvnXv`bHAZr˂p|ZdQbtlJvnXvnX`ےbrAJltvff`vXnے`JXQr˂ptArd|ZdQbfpvrXQJ`bHAZdrtAJltvpfH~fZHAb`JXQrtlJnXv`f~Hp˂rXQJ`ے|drnvpnvp˂pZHAlJtArd|~HfpvnJ`ےbHAZdrtAJvXnvpfH˂pZHAbےZdQbtlJtAXv`fbHAZp˂rXQltbdQZ|~f`vXnHAbےlJtAvnXv`nvfrXQJ`ےbZ|dtAJlXnvJXQr˂pZHAd|ZdQbtvnXv`fHAZp˂rtAJltbdQpfH~f`vbے`JXQrlJtArHfpvHfpvbHAJltbtbdQf`vXnvpXQr˂JtArd|ZdQHfpvnXvےbHAZp˂tAJlnvpfH~pZHAbے`JbtlJtArd`f~Zp˂rXQJ`ltbltbvp`ے`JXQJXQrtArdf~HfpvXQJ`ےbHAZdrtAJltvpfr˂pZHAb|ZdQbtlJnXv`f~Hp˂rZHAbtlJtArdv`fv`p˂HAZp˂bdQZ|`vXnvpfr˂pZHAb|ZdQbtlJnXv`ےHAZp˂rJltbdQZ|H~f`vXnے`JXQbtltArdf~HfpvXQJ`ےbHAZtAdQZ|fH~fH~bے`rd|ZdQbtpvnXv`fbHAZpdrtAJltbvpfH~f`HAbے`JXQrlJtArdf~Hf˂rXQJ`ےdQZ|drtAJvXnvpfH`JXQHArd|f~H~Hfp`ےbHAZp˂rtAJltbnpfH~˂pZHAbے`dQbtlJtArv`fHfpvrXQJtbdQZ|df`vXnvJXQr˂pZHAd|ZnXvnXvZp˂QZdrZ|rAJnvpfH~pZHAb|ZdQbtlnXv`f~Zp˂rXQJ`tbdQZfH~f`vXے`JXQr˂JtArd|ZdQHfpvrXQJ`ےbHAdQZ|dQZ|lvXnr˂p˂pZA|ZdQbfpvnXv`bHAZp˂rJltbdQZ|H~fZHAbے`JXQtlJtArdf~HfpvXQJ`ےے`JXQtArd|ZdQb~HfprXQJrXQJdrtvpfH~fZHAbے`JXQtlJtArdf~Hp˂rXQJ`ےbdQZ|drtA`vXnvpfr˂pJtAd|ZdQbfpvnXv`bHAZp˂rdrtAf`vXf`vXJXQrZdQbtlJtAXv`f~Hf˂rXQltbdQZ|~f`vXn`JXQr˂pZrd|~HfpvnJ`ےbHAZpdrtAJltbvpfH~fZbے`ZdQbtfpvvnXHAZp˂rXQJtbdQvpfHf`vbے`JXQrlJtArd|Z~HfpnrXQ`ےbZ|drtAJlXnvpfH~˂pZHAے`JdQbt`f~`pvrXQJ`tAJlltbfH~fZHAbے`JbtlJtArd`f~HfpvrXQJ`ےbHA|drf`vXnvpXQr˂pZHAb|ZdQbtlnXvےbHAZp˂drtAJtbnvpfHZAb``JXQrtlJnXv`f~Hp˂rXQJ`ےbdQZ|dtAJ`vXnے`JXQr˂ptArd|ZdQbfpvnXv`bHAZbHAZr˂p|ZdQbtlJvnX`ےb`ےbAJltH~f`vXnے`JXQr˂ptArd|ZdQbfpvXQJ`ےbHAZdrtAJltvpfH~fZHAb|ZdQbtlJnXv`f~Hp˂rXQJ`ےJltnvpH~f˂pZHAlJtArd|~HfpvnJ`ےdQZ|drtAJvXnvpfH˂pZHAbےZdQbtpvnXv`fbHAZp˂rXQltbdQZ|~f`HAbJXQrlJtAnXv`v`frXQJ`ےbZ|df`vXnvJXQr˂pZHAd|ZdQbtvnXJ`ےHAZp˂rtAJltbdQpfH~f`vbے`XQrbtlJtArHfpvnXv`ےbHAtbdQZdQZ|f`vXے`JXQr˂JtArd|ZdQHfpvnXvےbHAZdrtAJlnvpfH~pZHAbے`JbtlJtArd`f~Zp˂rXQJ`ltbvp`~f`JXQrbtltArdf~HfpvXQJ`ےbHAZdrtAltbvpfr˂pZHAb|ZdQbtlJnXv`fHfp˂rp˂rZHAbtlJtArdv`pvHAZp˂HAXQJ`bdQZ|`vXnvpfr˂pZHAb|ZdQbtlJnXv`bHAZp˂rJltbdQZ|H~f`vXnے`JXQtlJtArdf~HfpvXQJ`ےbHAZbdQZ|fH~ZHAbbے`rd|ZdQbtpvnXv`fbHAZpdrtAJltbvpfH~f`HAbے`JXQrlJtAXv`f~Hf˂rXQJ`ےdQZ|drtAJvXn˂pZHA˂pZHArd|f~H~Hfp`ےbHAZp˂rtAJlXnvpfH~˂pZHAbے`dQbtlJtArv`fHAZp˂rXQJtbdQZ|df`vXnvJXQrlJtAd|Z~Hf~HZp˂|drdrtAJnvpXQr˂pZHAb|ZdQbtlnXv`f~Zp˂tAJltbdQZfH~f`vXے`JXQr˂JtArdf~HfpvrXQJ`ےbHAdQZ|lvXnvXnpZHAJtAd|ZdQbfpvnXv`bHAZp˂rJltnvpH~fZHAbے`JXQtlJtArdf~HpvnXQJ`ےXQJ`ےے`JXQtArd|ZdQbnXvrXQJےbHAdrtvpfH~fZHAbے`JXQtlJtArdf~Hp˂rXQJ`ےbdQZ|drtA`vXnvpfr˂ptArd|ZdQbfpvnXv`bHAZp˂rdrtAvpfJQrJXQrZdQbtlJtAXv`fHfp˂rXQltbdQZ|~f`vXn`JXQr˂pZrd|~HfpvnJ`ےbHAZpdrtAJltbvpfHbے`bے`ZdQtArfpvvnXHAZp˂rXQJtbdQpfH~f`vbے`JXQrlJtArd|Z~HfprXQJ`ےbZ|drtAJlXnvpfH~˂pZHAd|ZdQbtfpvfpvrXQJ`tAJlltbfH~pZHAbے`JbtlJtArd`f~HfpvrXQJ`tbdQZ|drf`vXnvpXQr˂pZHAb|ZdQHfpvnXvےbHAZp˂tbdQvpfHvpfHbے`|ZdQbtlJnXv`f~Hp˂rXQJ`ےbdQZ|fHf`vXnے`JXQr˂ptArd|ZdQbfpvrXQJ`bHAZbHAZr˂p|ZdQbtlJ`f~`p˂Zp˂AJbdQH~f`vXnے`JXQr˂ptArdf~HfpvXQJ`ےbHAZdrtAJltvpfH~fZHAb|ZdQbtlJnXv`f~Hp˂rXQJ`ےJltH~fpZHAZHAblJtArd|~HfvnrJ`ےdQZ|drtAJvXnvpfH˂pZHAے`ZdQbtpvnXv`fbHAZp˂rXQltbdQZ|~f`JXQrJXQrd|Znvfv`f~rXQJ`ےbZ|df`vXnvJXQr˂pZHAd|ZdQbtvnX`ےbHAZp˂rtAJltbdQpfH~f`vbے`dQbtlJtArnXv`nXv`p˂rtbdQZdQZ|f`vXے`JXQr˂JtArd|ZdQHfpvnXvےbHA|drtAJlnvpfH~pZHAbے`JbtlnXv`f~Zp˂rXQJ`Z|d~f`~vJXQrtlJtArdf~HfpvXQJ`ےbHAZdrtA`vXnvpfr˂pZHAb|ZdQbtlJnXv`ےHAZp˂rp˂rZHAbtlJtArdHfpvrXQJ`rXQJ`Z|d`vXnvpfr˂pZHAb|ZdQbfpvnXv`bHAZp˂rJltbdQZ|H~fZHAbے`JXQtlJtArdf~HfpvXQJ`ےbHAZdrtAJ`vXnbے``JXQrd|ZdQbtpvnXQJ`ےbHAZpdrtAJltbvpfH~f`HAbےJXQrblJtAXv`f~Hf˂rXQJ`ےdQZ|dtAJlvXn˂pZHA˂p`JdQbt~Hfpfpv`ےbHAZdrtAJlXnvpfH~˂pZHAbے`dQbtlJtArv`fHAZp˂rXQJtbdQZ|df`vXnvJXQrlJtArd|Zf~HpvnXQJ`ے|rAJlAJltnvpXQr˂pZHAb|ZdQbtlnXv`fHZp˂tAJltbdQZfH~f`vXے`JXQr˂JtArd`f~HfpvrXQJ`ےbHArtAJlvXnpfH~pZHAtArd|ZdQbfpvnXv`bHAZp˂rJltvpfH~fZHAbے`JXQtlJtArdf~Hp˂rXQJ`ےXQJ`ےbHAZdrtAJltvpfHAbےHAbے|ZdQtA~HfpfpvbHAZp˂rXQltbvpfH~f`HAbے`JXQrlJtArd|~Hf˂rXQJ`ےdQZ|drtAJvXnvpfHr˂pAHr󙐂˕H~ㅐf۝`vXnbAdZ|p˂rJltbdQZ|H~f`JXQr`JXQrrd|vnvfnXv`f˂rXQJ`ےdQZ|~f`vXn`JXQr˂pZrd|ZdQbtpvnJ`ےbHAZpdrtAJltbvpfH~f`ZHAb`ZQXb`vXnvˍpfdrQtXQJ`ےbdQZ|dtAJ`vXn˂pZ˂p`ZdQbt~Hf~fpvJ`ےbHAZdrtAJvXnvpfH˂pZHAbےZdQbtlJtAXv`fbHAZp˂rXQltbdQZ|~f`vXnے`JXQۑpJvˍpfH~ㅐfJltbHAZdrtAltbvpfHAbےJXQrlJtApvnnXvbHAZpdrtAJltbvpfH~f`HAbے`JXQrlJtArdf~Hf˂rXQJ`ےdQZ|drtAJvXnvpfHHAbےAHr󙐂˕H~ㅐf۝`vXnbAdZ|p˂rJltnvpH~f`JXQHA˂pZHArd|Xv`f`f~˂rXQltbdQZ|~f`vXn`JXQr˂pZrd|~HfpvnJ`ےbHAZpdrtAJltbvpfH~fr`JXQr`ZQXAH`vXnvˍpfdrQtXQJ`ےbdQZ|fHf`vXnbے`bے`ZdQbt~HfHfpvJ`ےdQZ|drtAJvXnvpfH˂pZHAbےZdQbtpvnXv`fbHAZp˂rXQltbdQZ|~f`˂pZ˂pZr󙐂ˁ`vˍpfH~ㅐfJltbHAZdrtA`vXnvpfJXQrJXQrl|ZpvnnXvbHAZpdrtAJltbvpfH~f`HAbے`JXQrlJtAXv`f~Hf˂rXQJ`ےdQZ|drtAJvXnHAbےHAbےZQXb㉀H~ㅐf۝`vXnbAdZ|p˂rJltvpfH~f˂pZHA˂p`JdQbtXv`f`ffp˂rXQltbdQZ|~f`vXn`JXQr˂pZrd|~HfpvnJ`ےbHAZpdrtAJltbvpfH`JXQr`JXQrۑpJAH`vXnvˍpfdrQtXQJ`ےbdQZ|H~f`vXnbے`XQrbtlJtAr~fpvvnrJ`ےdQZ|drtAJvXnvpfH˂pZHAے`ZdQbtpvnXv`fbHAZp˂rXQltbdQZ|~f`˂pZ˂p`r󙐂ˁ`vˍpfH~ㅐfJltbHAZdrtA`vXnvpfJXQrl|Zd|ZnXv`XQJ`ےbHAZpdrtAJltbvpfH~f`HAbےJXQrblJtAXv`f~Hf˂rXQJ`ےdQZ|dtAJlvXnHAbےJXQrZQXb㉀H~ㅐf۝`vXnbAdZ|drtAJltvpfH~f˂p`JdQbtdQbt璍f~HHAZp˂rXQltbdQZ|~f`vXn`JXQrtlJrd|~HfpvnJ`ےbHAZpdrtAJtbnvpfH`JXQHA˂pZHAۑp`Z`vXnvˍp|drQtJltbdQZ|H~f`vXnXQr˂lJtArlJtArfpv˂rXQJ`ےdQZ|drtAJvXnvpfH˂pZtAd|ZdQbtpvnXv`fbHAZp˂rXQltbvpf~f`bے`bے`QXb㉀ەvˍpfdrQtJltbdQZ|drtA`vXnvpfpZHAbd|ZdtlnXv`J`ےbHAZpdrtAJltbvpfH~f`HAbےZdQbtlJtAXv`f~Hf˂rXQJ`ےdQZ|Hf`vXnJXQrJXQrpJAHrH~ㅐfJltbAdZ|drtAJltvpfH~fے`JdQbtJtArdf~HbHAZp˂rXQltbdQZ|~f`vXn`JXQrlJtArd|~HfpvnJ`ےbHAZpdrtAJvXnvpfH˂pZHA˂p`Zˁ`Z`vXnbAdZ|drQtJltbdQZ|H~f`vXnXQr˂l|ZdQ|ZdQfvnX˂rXQJ`ےdQZ|drtAJvXnvpfH˂pZrd|ZdQbtpvnXv`fbHAZp˂rXQltbvpfH~f`bے`QXb㉀QXb㉀ەvˍpfdrQtJltbdQZ|drtA`vXnvpfpZHAbbtlbtlv`fJ`ےbHAZpdrtAJltbvpfH~fZHAbےZdQbtlJtAXv`f~Hf˂rXQJ`ےdQZ|~f`vXnJXQrpJAHrpJAHrH~ㅐfJltbAdZ|drtAJltvpfH~f˂pJtArdJtArd~HfpbHAZp˂rXQltbdQZ|~f`HAbے`JXQrlJtArd|~HfpvnJ`ےbHAZdrtAJvXnvpfH˂p`Jˁ`Zۑp`vXnbAdZ|drQtJltbdQZ|H~f`vXnZHAb|ZdQ|ZdQvnX˂rXQJ`ےdQZ|drtAJvXn`JXQr˂pZrd|ZdQbtpvnXv`fbHAZpdrtAJltbvpfH~f`XQr˂QXb㉀JAHr󙐕vˍpfdrQtJltbdQZ|drtA`vXnvpfے`JXQbtltArdv`fJ`ےbHAZpdrtAJltbvpfH˂pZHAbےZdQbtlJtAXv`f~Hf˂rXQltbdQZ|~f`vXnpZHAbp`ZQXˁ`ZQXH~ㅐfJltbAdZ|drtAJltvpfH~fr˂pJtArdf~H~HfpbHAZp˂rXQltbdQZ|~f`HAbے`JXQrlJtArd|~HfpvnJ`ےdQZ|drtAJvXnvpfHے`Jb㉀ۑpb㉀ۑp`vXnbAdZ|drQtJltbdQZ|H~f`vXnZHAbtlJfvnXvnv˂rXQJ`ےdQZ|dtAJlvXn`JXQr˂pZrd|ZdQbtpvnXv`fbHAZpdrtAJltbvpfH~f`XQr˂JAHrJAHr󙐕vˍpfdrQtJltbdQZ|drtA`vXnvpfے`JXQtArdv`ff~HJ`ےbHAZpdrtAJtbnvpfH˂pZHAbےZdQbtlJtAXv`fHfp˂rXQltbdQZ|~f`vXnpZHAbˁ`ZQXˁ`pfH~ㅐfJltbAdZ|drtAJltvpfH~fHAbے|ZdQb~HfpfpvbHAZp˂rXQltbvpf~f`HAbے`JXQrlJtArd|~HfvnrJ`ےdQZ|drtAJvXnvpfH˂pb㉀ۑpH~ㅐf۝`vXnbAdZ|drQtJltbdQZ|H~fZHAb`JXQrtlJvnXnXv`˂rXQJ`ےdQZ|Hf`vXn`JXQr˂pZrd|ZdQbtpvnXQJ`ےbHAZpdrtAJltbvpfH~f`ZHAbJAHr󙐝`vXnvˍpfdrQtJltbdQZ|drtA`vXn˂pZ˂pZtArdv`ff~HJ`ےbHAZpdrtAJvXnvpfH˂pZHAbےZdQbtlJtAXv`fHAZp˂rXQltbdQZ|~f`vXnے`JXQۑpJvˍpfH~ㅐfJltbAdZ| \ No newline at end of file diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv40_2.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv40_2.dat deleted file mode 100644 index 5a0e723818..0000000000 --- a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv40_2.dat +++ /dev/null @@ -1,353 +0,0 @@ -~}~}~}~}|{|{|{|{~}~}~}~}|{|{|{|{~}~}~}~}|{|{|{|{~}~}~}~}|{|{|{zy~}~}~}~}zyzyzyzy~}~}~}~}zyzyzyzy~}~}~}~}zyzyzyzy~}~}~}~}zyzyzyzy~}~}~}~}zyzyzyzy~}~}~}~}zyzyzyzy~}~}~}~}zyzyzyzy~}~}~}~}zyzyzyzy~}~}~}~}zyzyzyzy~}~}~}~}zyzyzyzy~}~}~}~}zyzyzyzy~}~}~}~}zyzyzyzy~}~}~}~}zyzyzyzy~}~}~}~}zyzyzyzy~}~}~}~}zyzyzyzy~}~}~}~}zyzyzyzy~}~}~}~}zyzyzyzyxwxwxwxw~}~}~}~}zyzyzyzyxwxwxwxw~}~}~}~}zyzyzyzyxwxwxwxw~}~}~}~}zyzyzyzyxwxwxwxw~}~}~}~}zyzyzyzyxwxwxwxw~}~}~}~}zyzyzyzyxwxwxwxw~}~}~}~}zyzyzyzyxwxwxwxw~}~}~}~}zyzyzyzyxwxwxwxw~}~}~}~}zyzyzyzyxwxwxwxw~}~}~}~}zyzyzyzyxwxwxwxw~}~}~}~}zyzyzyzyxwxwxwvu~}~}~}~}zyzyzyzyvuvuvuvu~}~}~}~}zyzyzyzyvuvuvuvu~}~}~}~}zyzyzyzyvuvuvuvu~}~}~}~}zyzyzyzyvuvuvuvu~}~}~}~}zyzyzyzyvuvuvuvu~}~}~}~}zyzyzyzyvuvuvuvu~}~}~}~}zyzyzyzyvuvuvuvu~}~}~}~}zyzyzyzyvuvuvuvu~}~}~}~}zyzyzyzyvuvuvuvu~}~}~}|{zyzyzyzyvuvuvuvu|{|{|{|{zyzyzyzyvuvuvuvu|{|{|{|{zyzyzyzyvuvuvuvu|{|{|{|{zyzyzyzyvuvuvuvu|{|{|{|{zyzyzyzyvuvuvuvu|{|{|{|{zyzyzyzyvuvuvuvu|{|{|{|{zyzyzyzyvuvuvuvu|{|{|{|{zyzyzyxwvuvuvuvu|{|{|{|{xwxwxwxwvuvuvuvu|{|{|{|{xwxwxwxwvuvuvuvu|{|{|{|{xwxwxwxwvuvuvuvu|{|{|{|{xwxwxwxwvuvuvuvu|{|{|{|{xwxwxwxwvuvuvuvu|{|{|{|{xwxwxwxwvuvuvuvu|{|{|{|{xwxwxwxwvuvuvuvu|{|{|{|{xwxwxwxwvuvuvuvu|{|{|{|{xwxwxwxwvuvuvuvu|{|{|{|{xwxwxwxwvuvuvuvu|{|{|{|{xwxwxwxwvuvuvuvu|{|{|{|{xwxwxwxwvuvuvuvu|{|{|{|{xwxwxwxwvuvuvuvu|{|{|{|{xwxwxwxwvuvuvuvu|{|{|{|{xwxwxwxwvuvuvuvu|{|{|{|{xwxwxwxwvuvuvuvu|{|{|{|{xwxwxwxwvuvuvuvu|{|{|{|{xwxwxwxwvuvuvuvu|{|{|{|{xwxwxwxwvuvuvuvu|{|{|{|{xwxwxwxwvuvuvuvu|{|{|{|{xwxwxwxwvuvuvuvu|{|{|{|{xwxwxwxwvuvuvuvu|{|{|{|{xwxwxwxwvuvuvuvu|{|{|{|{xwxwxwxwvuvuvuvu|{|{|{|{xwxwxwxwvuvuvuvu|{|{|{|{xwxwxwxwvuvuvuvu|{|{|{|{xwxwxwxwvuvuvuts|{|{|{|{xwxwxwxwtstststs|{|{|{|{xwxwxwxwtstststs~}|{|{|{|{xwxwxwxwtstststs~}~}~}~}|{|{|{|{xwxwxwxwtstststs~}~}~}~}|{|{|{|{xwxwxwxwtstststs~}~}~}~}|{|{|{|{xwxwxwxwtstststststststsopopopoplklklklkhghghghgfefedcdcbabababa^]^]^]^]ZYZYZYZYVUVUVUVURQRQRQRQNMNMNMNMJIJIJIJIFEFEFEFEBABABABA@?@?@?@?<;<;<;<;65656565434343430/0/0/0/,+,+,+,+('('('('$#$#$#$#        - - - - tstststsopopopoplklklklkhghghghgdcdcdcdcbabababa^]^]^]^]ZYZYZYZYVUVUVUVURQRQRQRQNMNMNMNMJIJIJIJIFEFEFEFEBABABABA@?@?@?@?<;<;<;<;65656565434343430/0/0/0/,+,+,+,+('('('('$#$#$#$#        - - - - tstststsopopopoplklklklkhghghghgdcdcdcdcbabababa^]^]^]^]ZYZYZYZYVUVUVUVURQRQRQRQNMNMNMNMJIJIJIJIFEFEFEFEBABABABA@?@?@?@?<;<;<;<;65656565434343430/0/0/0/,+,+,+,+('('('('$#$#$#$#        - - - - tstststsopopopoolklklklkhghghghgdcdcdcdcbabababa^]^]^]^]ZYZYZYZYVUVUVUVURQRQRQRQNMNMNMNMJIJIJIJIFEFEFEFEBABABABA@?@?@?@?<;<;<;:965656565434343430/0/0/0/,+,+,+,+('('('('$#$#$#$#        - - - - tstststsoooopopolklklklkhghghghgdcdcdcdcbabababa^]^]^]^]ZYZYZYZYVUVUVUVURQRQRQRQNMNMNMNMJIJIJIJIFEFEFEFEBABABABA@?@?@?@?:9:9:9:965656565434343430/0/0/0/,+,+,+,+('('('('$#$#$#$#        - - - - tstststspopopopolklklklkhghghghgdcdcdcdcbabababa^]^]^]^]ZYZYZYZYVUVUVUVURQRQRQRQNMNMNMNMJIJIJIJIFEFEFEFEBABABABA@?>=>=>=:9:9:9:965656565212121210/0/0/0/,+,+,+,+('('('('$#$#$#$#        - - - - tstststspopopopolklklklkhghghghgdcdcdcdcbabababa^]^]^]^]ZYZYZYZYVUVUVUVURQRQRQRQNMNMNMNMJIJIJIJIFEFEFEFEBABABABA>=>=>=>=:9:9:9:965656565212121210/0/0/0/,+,+,+,+('('('('$#$#$#$#        - - - - tstststspopopopolklklklkhghghghgdcdcdcdcbaba`_`_^]^]^]^]ZYZYZYZYVUVUVUVURQRQRQRQNMNMNMNMJIJIJIJIFEFEFEFEBABABABA>=>=>=>=:9:9:9:965656565212121210/0/0/0/,+,+,+,+('('('('$#$#$#$#        - - - - tstststspopopopolklklklkhghghghgdcdcdcdc`_`_`_`_^]^]^]^]ZYZYZYZYVUVUVUVURQRQRQRQNMNMNMNMJIJIJIJIFEFEFEFEBABABABA>=>=>=>=:9:9:9:965656565212121210/0/0/0/,+,+,+,+('('('('$#$#$#$#        - - - - tstststspopopopolklklklkhghghghgdcdcdcdc`_`_`_`_^]^]^]^]ZYZYZYZYVUVUVUVURQRQRQRQNMNMNMNMJIJIJIJIFEFEFEFEBABABABA>=>=>=>=:9:9:9:965656565212121210/0/0/0/,+,+,+,+('('('('$#$#$#$#       - - - - tstststspooooooplklklklkhghghghgdcdcdcdc`_`_`_`_^]^]^]^]ZYZYZYZYVUVUVUVURQRQRQRQNMNMNMNMJIJIJIJIFEFEFEFEBABABABA>=>=>=>=:9:9:9:965656565212121210/0/0/0/,+,+,+,+('('('('$#$#$#$#     - - - - tstststsopopopoplklklklkhghghghgdcdcdcdc`_`_`_`_^]^]^]^]ZYZYZYZYVUVUTSTSRQRQRQRQNMNMNMNMJIJIJIJIFEFEFEFEBABABABA>=>=>=>=:9:9:9:965656565212121210/0/0/0/,+,+,+,+('('('('$#$#$#$#     - - - - tstststsopopopoplklklklkhghghghgdcdcdcdc`_`_`_`_^]^]^]^]ZYZYZYZYTSTSSSSSRQRQRQRQNMNMNMNMJIJIJIJIFEFEFEFEBABABABA>=>=>=>=:9:9:9:96565656521212121.-.-.-.-,+,+,+,+('('('('$#$#$#$#     - - - - tstststsopopopoplklklklkhghghghgdcdcdcdc`_`_`_`_^]^]^]^]ZYZYZYZYSTSTSTSTRQRQRQRQNMNMNMNMJIJIJIJIFEFEFEFEBABABABA>=>=>=>=:9:9:9:96565656521212121.-.-.-.-,+,+,+,+('('('('$#$#$#$#     - - - - tstststsopopopoplklklklkhghghghgdcdcdcdc`_`_`_`_^]^]\[\[ZYZYZYZYSTSTSTSTRQPOPOPONMNMNMNMJIJIJIJIFEFEFEFEBABABABA>=>=>=>=:9:9:9:96565656521212121.-.-.-.-,+,+,+,+('('('('$#$#$#$#     - - - - tstststsopopopoplklklklkhghghghgdcdcdcdc`_`_`_`_\[\[\[\[ZYZYZYZYSTSTSTSTPOPOPOPONMNMNMNMJIJIJIJIFEFEFEFEBABABABA>=>=>=>=:9:9:9:96565656521212121.-.-.-.-,+,+,+,+('('('('$#$#$#$#     - - - - tstststsopopoooolklklklkhghghghgdcdcdcdc`_`_`_`_\[\[\[\[ZYZYZYZYSTSTSTSTPOPOPOPONMNMNMNMJIJIJIJIFEFEFEFEBABABABA>=>=>=>=:9:9:9:96565656521212121.-.-.-.-,+,+,+,+('('('('$#$#$#$#     - - - tstststsoopopopolklklklkhghghghgdcdcdcdc`_`_`_`_\[\[\[\[ZYZYZYZYSTSTSTSTPOPOPOPONMNMNMNMJIJIJIJIFEFEFEFEBABABABA>=>=>=>=:9:9:9:96565656521212121.-.-.-.-,+,+,+,+('('('('$#$#$#$#     tstststspopopopolklklklkhghghghgdcdcdcdc`_`_`_`_\[\[\[\[ZYZYZYZYSTSTSTSSPOPOPOPONMNMNMNMJIJIJIJIFEFEFEFEBABABABA>=>=>=>=:9:9:9:96565656521212121.-.-.-.-,+,+,+,+('('('('$#$#$#$#     tstststspopopopolklklklkhghghghgdcdcdcdc`_`_`_`_\[\[\[\[ZYZYZYZYSSSSTSTSPOPOPOPONMNMNMNMJIJIJIJIFEFEFEFEBABABABA>=>=>=>=:9:9:9:96565656521212121.-.-.-.-*)*)*)*)('('('('$#$#$#$#     tstststspopopopolklklklkhghghghgdcdcdcdc`_`_`_`_\[\[\[\[ZYZYZYZYTSTSTSTSPOPOPOPONMNMNMNMJIJIJIJIFEFEFEFEBABABABA>=>=>=>=:9:9:9:96565656521212121.-.-.-.-*)*)*)*)('('('('$#$#$#$#     tstststspopopopolklklklkhghghghgdcdcdcdc`_`_`_`_\[\[\[\[ZYZYXWXWTSTSTSTSPOPOPOPONMLKLKLKJIJIJIJIFEFEFEFEBABABABA>=>=>=>=:9:9:9:96565656521212121.-.-.-.-*)*)*)*)('('('('$#$#$#$#     tstststsoooopopolklklklkhghghghgdcdcdcdc`_`_`_`_\[\[\[\[XWXWXWXWTSTSTSTSPOPOPOPOLKLKLKLKJIJIJIJIFEFEFEFEBABABABA>=>=>=>=:9:9:9:96565656521212121.-.-.-.-*)*)*)*)('('('('$#$#$#$#     tstststspoponmnmlklklklkhghghghgdcdcdcdc`_`_`_`_\[\[\[\[XWXWXWXWTSTSTSTSPOPOPOPOLKLKLKLKJIJIJIJIFEFEFEFEBABABABA>=>=>=>=:9:9:9:96565656521212121.-.-.-.-*)*)*)*)('('('('$#$#$#$#     tstststsnmnmnmnmlklklklkhghghghgdcdcdcdc`_`_`_`_\[\[\[\[XWXWXWXWTSTSTSTSPOPOPOPOLKLKLKLKJIJIJIJIFEFEFEFEBABABABA>=>=>=>=:9:9:9:96565656521212121.-.-.-.-*)*)*)*)('('('('$#$#$#$#     tstststsnmnmnmnmlklklklkhghghghgdcdcdcdc`_`_`_`_\[\[\[\[XWXWXWXWTSSSSSSTPOPOPOPOLKLKLKLKJIJIJIJIFEFEFEFEBABABABA>=>=>=>=:9:9:9:96565656521212121.-.-.-.-*)*)*)*)('('('('$#$#$#$#     tstststsnmnmnmnmlklklklkhghghghgdcdcdcdc`_`_`_`_\[\[\[\[XWXWXWXWSTSTSTSTPOPOPOPOLKLKLKLKJIJIJIJIFEFEFEFEBABABABA>=>=>=>=:9:9:9:96565656521212121.-.-.-.-*)*)*)*)&%&%&%&%$#$#$#$#     tstststsnmnmnmnmlklklklkhghghghgdcdcdcdc`_`_`_`_\[\[\[\[XWXWXWXWSTSTSTSTPOPOPOPOLKLKLKLKJIJIJIJIFEFEFEFEBABABABA>=>=>=>=:9:9:9:96565656521212121.-.-.-.-*)*)*)*)&%&%&%&%$#$#$#$#     tstststsnmnmnmnmlklklklkhghghghgdcdcdcdc`_`_`_`_\[\[\[\[XWXWXWXWSTSTSTSTPOPOPOPOLKLKLKLKJIHGHGHGFEFEFEFEBABABABA>=>=>=>=:9:9:9:96565656521212121.-.-.-.-*)*)*)*)&%&%&%&%$#$#$#$#     tsrqrqrqnmnmnmnmlklklklkhghghghgdcdcdcdc`_`_`_`_\[\[\[\[XWXWXWXWSTSTSTSTPOPOPOPOLKLKLKLKHGHGHGHGFEFEFEFEBABABABA>=>=>=>=:9:9:9:96565656521212121.-.-.-.-*)*)*)*)&%&%&%&%$#$#$#$#     rqrqrqrqnmnmnmnmlklkjijihghghghgdcdcdcdc`_`_`_`_\[\[\[\[XWXWXWXWSTSTSTSTPOPOPOPOLKLKLKLKHGHGHGHGFEFEFEFEBABABABA>=>=>=>=:9:9:9:96565656521212121.-.-.-.-*)*)*)*)&%&%&%&%$#$#$#$#     rqrqrqrqnmnmnmnmjijijijihghghghgdcdcdcdc`_`_`_`_\[\[\[\[XWXWXWXWSTSTSSSSPOPOPOPOLKLKLKLKHGHGHGHGFEFEFEFEBABABABA>=>=>=>=:9:9:9:96565656521212121.-.-.-.-*)*)*)*)&%&%&%&%$#$#$#$#   rqrqrqrqnmnmnmnmjijijijihghghghgdcdcdcdc`_`_`_`_\[\[\[\[XWXWXWXWSSTSTSTSPOPOPOPOLKLKLKLKHGHGHGHGFEFEFEFEBABABABA>=>=>=>=:9:9:9:96565656521212121.-.-.-.-*)*)*)*)&%&%&%&%$#$#$#$# rqrqrqrqnmnmnmnmjijijijihghghghgdcdcdcdc`_`_`_`_\[\[\[\[XWXWXWXWTSTSTSTSPOPOPOPOLKLKLKLKHGHGHGHGFEFEFEFEBABABABA>=>=>=>=:9:9:9:96565656521212121.-.-.-.-*)*)*)*)&%&%&%&%"!"!"!"! rqrqrqrqnmnmnmnmjijijijihghghghgdcdcdcdc`_`_`_`_\[\[\[\[XWXWXWXWTSTSTSTSPOPOPOPOLKLKLKLKHGHGHGHGFEFEFEFEBABABABA>=>=>=>=:9:9:9:96565656521212121.-.-.-.-*)*)*)*)&%&%&%&%"!"!"!"! rqrqrqrqnmnmnmnmjijijijihghghghgdcdcdcdc`_`_`_`_\[\[\[\[XWXWXWXWTSTSTSTSPOPOPOPOLKLKLKLKHGHGHGHGFEDCDCDCBABABABA>=>=>=>=:9:9:9:96565656521212121.-.-.-.-*)*)*)*)&%&%&%&%"!"!"!"! rqrqrqrqnmnmnmnmjijijijihghghghgdcdcdcdc`_`_`_`_\[\[\[\[XWXWXWXWTSTSTSTSPOPOPOPOLKLKLKLKHGHGHGHGDCDCDCDCBABABABA>=>=>=>=:9:9:9:96565656521212121.-.-.-.-*)*)*)*)&%&%&%&%"!"!"!"! rqrqrqrqnmnmnmnmjijijijihghgfefedcdcdcdc`_`_`_`_\[\[\[\[XWXWXWXWTSTSTSTSPOPOPOPOLKLKLKLKHGHGHGHGDCDCDCDCBABABABA>=>=>=>=:9:9:9:96565656521212121.-.-.-.-*)*)*)*)&%&%&%&%"!"!"!"! rqrqrqrqnmnmnmnmjijijijifefefefedcdcdcdc`_`_`_`_\[\[\[\[XWXWXWXWSSSSSTSTPOPOPOPOLKLKLKLKHGHGHGHGDCDCDCDCBABABABA>=>=>=>=:9:9:9:96565656521212121.-.-.-.-*)*)*)*)&%&%&%&%"!"!"!"! rqrqrqrqnmnmnmnmjijijijifefefefedcdcdcdc`_`_`_`_\[\[\[\[XWXWXWXWSTSTSTSTPOPOPOPOLKLKLKLKHGHGHGHGDCDCDCDCBABABABA>=>=>=>=:98787876565656521212121.-.-.-.-*)*)*)*)&%&%&%&%"!"!"!"! rqrqrqrqnmnmnmnmjijijijifefefefedcdcdcdc`_`_`_`_\[\[\[\[XWXWXWXWSTSTSTSTPOPOPOPOLKLKLKLKHGHGHGHGDCDCDCDCBABABABA>=>=>=>=877777786565656521212121.-.-.-.-*)*)*)*)&%&%&%&%"!"!"!"! rqrqrqrqnmnmnmnmjijijijifefefefedcdcdcdc`_`_`_`_\[\[\[\[XWXWXWXWSTSTSTSTPOPOPOPOLKLKLKLKHGHGHGHGDCDCDCDCBABABABA>=>=>=>=787878786565656521212121.-.-.-.-*)*)*)*)&%&%&%&%"!"!"!"! rqrqrqrqnmnmnmnmjijijijifefefefedcdcdcdc`_`_`_`_\[\[\[\[XWXWXWXWSTSTSTSTPOPOPOPOLKLKLKLKHGHGHGHGDCDCDCDCBA@?@?@?>=>=>=>=787878784343434321212121.-.-.-.-*)*)*)*)&%&%&%&%"!"!"!"! rqrqrqrqnmnmnmnmjijijijifefefefedcdcdcdc`_`_`_`_\[\[\[\[XWXWXWXWSTSTSTSTPOPOPOPOLKLKLKLKHGHGHGHGDCDCDCDC@?@?@?@?>=>=>=>=787878784343434321212121.-.-.-.-*)*)*)*)&%&%&%&%"!"!"!"! rqrqrqrqnmnmnmnmjijijijifefefefedcdcbaba`_`_`_`_\[\[\[\[XWXWXWXWSTSSSSSSPOPOPOPOLKLKLKLKHGHGHGHGDCDCDCDC@?@?@?@?>=>=>=>=787878784343434321212121.-.-.-.-*)*)*)*)&%&%&%&%"!"!"!"! rqrqrqrqnmnmnmnmjijijijifefefefebabababa`_`_`_`_\[\[\[\[XWXWXWXWTSTSTSTSPOPOPOPOLKLKLKLKHGHGHGHGDCDCDCDC@?@?@?@?>=>=>=>=787878784343434321212121.-.-.-.-*)*)*)*)&%&%&%&%"!"!"!"! rqrqrqrqnmnmnmnmjijijijifefefefebabababa`_`_`_`_\[\[\[\[XWXWXWXWTSTSTSTSPOPOPOPOLKLKLKLKHGHGHGHGDCDCDCDC@?@?@?@?>=>=>=>=787877774343434321212121.-.-.-.-*)*)*)*)&%&%&%&%"!"!"!"! rqrqrqrqnmnmnmnmjijijijifefefefebabababa`_`_`_`_\[\[\[\[XWXWXWXWTSTSTSTSPOPOPOPOLKLKLKLKHGHGHGHGDCDCDCDC@?@?@?@?>=>=>=>=778787874343434321212121.-.-.-.-*)*)*)*)&%&%&%&%"!"!"!"!    rqrqrqrqnmnmnmnmjijijijifefefefebabababa`_`_`_`_\[\[\[\[XWXWXWXWTSTSTSTSPOPOPOPOLKLKLKLKHGHGHGHGDCDCDCDC@?@?@?@?>=>=>=>=878787874343434321212121.-.-.-.-*)*)*)*)&%&%&%&%"!"!"!"!    rqrqrqrqnmnmnmnmjijijijifefefefebabababa`_`_`_`_\[\[\[\[XWXWXWXWTSTSTSSSPOPOPOPOLKLKLKLKHGHGHGHGDCDCDCDC@?@?@?@?>=<;<;<;87878787434343430/0/0/0/.-.-.-.-*)*)*)*)&%&%&%&%"!"!"!"!    rqrqrqrqnmnmnmnmjijijijifefefefebabababa`_`_`_`_\[\[\[\[XWXWXWXWSSTSTSTSPOPOPOPOLKLKLKLKHGHGHGHGDCDCDCDC@?@?@?@?<;<;<;<;87878787434343430/0/0/0/.-.-.-.-*)*)*)*)&%&%&%&%"!"!"!"!    rqrqrqrqnmnmnmnmjijijijifefefefebabababa`_`_^]^]\[\[\[\[XWXWXWXWTSRQRQRQPOPOPOPOLKLKLKLKHGHGHGHGDCDCDCDC@?@?@?@?<;<;<;<;87878787434343430/0/0/0/.-.-.-.-*)*)*)*)&%&%&%&%"!"!"!"!    rqrqrqrqnmnmnmnmjijijijifefefefebabababa^]^]^]^]\[\[\[\[XWXWXWXWRQRQRQRQPOPOPOPOLKLKLKLKHGHGHGHGDCDCDCDC@?@?@?@?<;<;<;<;87878787434343430/0/0/0/.-.-.-.-*)*)*)*)&%&%&%&%"!"!"!"!    rqrqrqrqnmnmnmnmjijijijifefefefebabababa^]^]^]^]\[\[\[\[XWXWXWXWRQRQRQRQPOPOPOPOLKLKLKLKHGHGHGHGDCDCDCDC@?@?@?@?<;<;<;<;77777878434343430/0/0/0/.-.-.-.-*)*)*)*)&%&%&%&%"!"!"!"!    - rqrqrqrqnmnmnmnmjijijijifefefefebabababa^]^]^]^]\[\[\[\[XWXWXWXWRQRQRQRQPOPOPOPOLKLKLKLKHGHGHGHGDCDCDCDC@?@?@?@?<;<;<;<;78787878434343430/0/0/0/.-.-.-.-*)*)*)*)&%&%&%&%"!"!"!"!    - - - - rqrqrqrqnmnmnmnmjijijijifefefefebabababa^]^]^]^]\[\[\[\[XWXWXWXWRQRQRQRQPOPOPOPOLKLKLKLKHGHGHGHGDCDCDCDC@?@?@?@?<;<;<;<;78787878434343430/0/0/0/.-.-.-.-*)*)*)*)&%&%&%&%"!"!"!"!    - - - - rqrqrqrqnmnmnmnmjijijijifefefefebabababa^]^]^]^]\[\[\[\[XWXWXWXWRQRQRQRQPOPOPOPOLKLKLKLKHGHGHGHGDCDCDCDC@?@?@?@?<;<;<;<;78787878434343430/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%"!"!"!"!    - - - - rqrqrqrqnmnmnmnmjijijijifefefefebabababa^]^]^]^]\[\[\[\[VUVUVUVURQRQRQRQPOPOPOPOLKLKLKLKHGHGHGHGDCDCDCDC@?@?@?@?<;<;<;<;78787878434343430/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%"!"!"!"!    - - - - rqrqrqrqnmnmnmnmjijijijifefefefebabababa^]^]^]^]\[\[ZYZYVUVUVUVURQRQRQRQPONMNMNMLKLKLKLKHGHGHGHGDCDCDCDC@?@?@?@?<;<;<;<;78787878434343430/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%"!"!"!"!    - - - - rqrqrqrqnmnmnmnmjijijijifefefefebabababa^]^]^]^]ZYZYZYZYVUVUVUVURQRQRQRQNMNMNMNMLKLKLKLKHGHGHGHGDCDCDCDC@?@?@?@?<;<;<;<;78777777434343430/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%"!"!"!"!    - - - - rqrqrqrqnmnmnmnmjijijijifefefefebabababa^]^]^]^]ZYZYZYZYVUVUVUVURQRQRQRQNMNMNMNMLKLKLKLKHGHGHGHGDCDCDCDC@?@?@?@?<;<;<;<;87878787434343430/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%"!"!"!"!    - - - - rqrqrqrqnmnmnmnmjijijijifefefefebabababa^]^]^]^]ZYZYZYZYVUVUVUVURQRQRQRQNMNMNMNMLKLKLKLKHGHGHGHGDCDCDCDC@?@?@?@?<;<;<;<;87878787434343430/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%"!"!"!"!    - - - - rqrqrqrqnmnmnmnmjijijijifefefefebabababa^]^]^]^]ZYZYZYZYVUVUVUVURQRQRQRQNMNMNMNMLKLKLKLKHGHGHGHGDCDCDCDC@?@?@?@?<;<;<;<;87878787434343430/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%"!"!"!"!    - - - - rqrqrqrqnmnmnmnmjijijijifefefefebabababa^]^]^]^]ZYZYZYZYVUVUVUVURQRQRQRQNMNMNMNMLKLKLKLKHGHGHGHGDCDCDCDC@?@?@?@?<;<;<;<;87878787434343430/0/0/0/,+,+,+,+('('('('&%&%&%&%"!"!"!"!    - - - - rqrqrqponmnmnmnmjijijijifefefefebabababa^]^]^]^]ZYZYZYZYVUVUVUVURQRQRQRQNMNMNMNMLKLKLKLKHGHGHGHGDCDCDCDC@?@?@?@?<;<;<;<;87878787434343430/0/0/0/,+,+,+,+('('('('&%&%&%&%"!"!"!"!    - - - - popopooonmnmnmnmjijijijifefefefebabababa^]^]^]^]ZYZYZYZYVUVUVUVURQRQRQRQNMNMNMNMLKJIJIJIHGHGHGHGDCDCDCDC@?@?@?@?<;<;<;<;87878777434343430/0/0/0/,+,+,+,+('('('('&%&%&%&%"!"!"!"!    - - - - ooopopopnmnmnmnmjijijijifefefefebabababa^]^]^]^]ZYZYZYZYVUVUVUVURQRQRQRQNMNMNMNMJIJIJIJIHGHGHGHGDCDCDCDC@?@?@?@?<;<;<;<;77787878434343430/0/0/0/,+,+,+,+('('('('&%&%&%&%"!"!"!"!    - - - - opopopopnmnmlklkjijijijifefefefebabababa^]^]^]^]ZYZYZYZYVUVUVUVURQRQRQRQNMNMNMNMJIJIJIJIHGHGHGHGDCDCDCDC@?@?@?@?<;<;<;<;78787878434343430/0/0/0/,+,+,+,+('('('('&%&%&%&%"!"!"!"!    - - - - opopopoplklklklkjijijijifefefefebabababa^]^]^]^]ZYZYZYZYVUVUVUVURQRQRQRQNMNMNMNMJIJIJIJIHGHGHGHGDCDCDCDC@?@?@?@?<;<;<;<;78787878434343430/0/0/0/,+,+,+,+('('('('&%&%&%&%"!"!"!"!    - - - - opopopoplklklklkjijijijifefefefebabababa^]^]^]^]ZYZYZYZYVUVUVUVURQRQRQRQNMNMNMNMJIJIJIJIHGHGHGHGDCDCDCDC@?@?@?@?<;<;<;<;78787878434343430/0/0/0/,+,+,+,+('('('('&%&%&%&%"!"!"!"!    - - - - opopopoplklklklkjijijijifefefefebabababa^]^]^]^]ZYZYZYZYVUVUVUVURQRQRQRQNMNMNMNMJIJIJIJIHGHGHGHGDCDCDCDC@?@?@?@?<;<;<;<;78787878434343430/0/0/0/,+,+,+,+('('('('$#$#$#$#"!"!"!"!    - - - - opopopoplklklklkjijijijifefefefebabababa^]^]^]^]ZYZYZYZYVUVUVUVURQRQRQRQNMNMNMNMJIJIJIJIHGHGHGHGDCDCDCDC@?@?@?@?<;<;<;<;78787878434343430/0/0/0/,+,+,+,+('('('('$#$#$#$#"!"!"!"!    - - - - oooooopolklklklkjijijijifefefefebabababa^]^]^]^]ZYZYZYZYVUVUVUVURQRQRQRQNMNMNMNMJIJIJIJIHGFEFEFEDCDCDCDC@?@?@?@?<;<;<;<;77777787434343430/0/0/0/,+,+,+,+('('('('$#$#$#$#"!"!"!"!    - - - - popopopolklklklkjijijijifefefefebabababa^]^]^]^]ZYZYZYZYVUVUVUVURQRQRQRQNMNMNMNMJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?<;<;<;<;87878787434343430/0/0/0/,+,+,+,+('('('('$#$#$#$#"!"!"!"!    - - - - popopopolklklklkjijihghgfefefefebabababa^]^]^]^]ZYZYZYZYVUVUVUVURQRQRQRQNMNMNMNMJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?<;<;<;<;87878787434343430/0/0/0/,+,+,+,+('('('('$#$#$#$#"!"!"!"!    - - - - popopopolklklklkhghghghgfefefefebabababa^]^]^]^]ZYZYZYZYVUVUVUVURQRQRQRQNMNMNMNMJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?<;<;<;<;87878787434343430/0/0/0/,+,+,+,+('('('('$#$#$#$#"!"!"!"!    - - - - popopopolklklklkhghghghgfefefefebabababa^]^]^]^]ZYZYZYZYVUVUVUVURQRQRQRQNMNMNMNMJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?<;<;<;<;87878787434343430/0/0/0/,+,+,+,+('('('('$#$#$#$#"!"!"!"!    - - - - popopopolklklklkhghghghgfefefefebabababa^]^]^]^]ZYZYZYZYVUVUVUVURQRQRQRQNMNMNMNMJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?<;<;<;<;87877777434343430/0/0/0/,+,+,+,+('('('('$#$#$#$#        - - - - popooooolklklklkhghghghgfefefefebabababa^]^]^]^]ZYZYZYZYVUVUVUVURQRQRQRQNMNMNMNMJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?<;<;<;<;87878787434343430/0/0/0/,+,+,+,+('('('('$#$#$#$#        - - - - opopopoplklklklkhghghghgfefefefebabababa^]^]^]^]ZYZYZYZYVUVUVUVURQRQRQRQNMNMNMNMJIJIJIJIFEFEFEFEDCBABABA@?@?@?@?<;<;<;<;65656565434343430/0/0/0/,+,+,+,+('('('('$#$#$#$#        - - - - opopopoplklklklkhghghghgfefefefebabababa^]^]^]^]ZYZYZYZYVUVUVUVURQRQRQRQNMNMNMNMJIJIJIJIFEFEFEFEBABABABA@?@?@?@?<;<;<;<;65656565434343430/0/0/0/,+,+,+,+('('('('$#$#$#$#        - - - - }}~~aabbccddEEFFGGHH^^__``aabbccddeeFFGGHHII**++,,-- eeffgghhIIJJKKLLbbccddeeffgghhiiJJKKLLMM..//0011 - - ~~}}||iijjkkllMMNNOOPPffgghhiijjkkllmmNNOOPPQQ22334455{{zzyyxxmmnnooppQQRRSSTTjjkkllmmnnooppqqRRSSTTUU66778899wwvvuuts~~}}qqrrssttUUVVWWXXnnoouuvvrrssttuuVVWWXXYY::;;<<== !!rqpoonnm||{{zzyyuuvvwwxxYYZZ[[\\wwxxyyzzvvwwxxyyZZ[[\\]]>>??@@AA""##$$%% mllkkjjixxwwvvuuyyzz{{||]]^^__``{{||}}~~zz{{||}}^^__``aaBBCCDDEE&&''(()) - - ihhggffettssrrqq}}~~aabbccdd~~bbccddeeFFGGHHII**++,,--eddccbbappoonnmmeeffgghhffgghhiiJJKKLLMM..//0011a``__^^]llkkjjiiiijjkklljjkkllmmNNOOPPQQ22334455]\\[[ZZYhhggffeemmnnooppnnooppqqRRSSTTUU66778899YXWVUTSSddccbbaa~~}}qqrrssttrrssttuuVVWWXXYY::;;<<== !!~~}}RRQQPPOO``__^^]]||{{zzyyuuvvwwxxvvwwxxyyZZ[[\\]]>>??@@AA""##$$%%||{{zzyy~~}}||{{NNMMLLKK\\[[ZZYYxxwwvvuuyyzz{{||zz{{||}}^^__``aaBBCCDDEE&&''(())xxwwvvuuzzyyxxwwJJIIHHGGXXWWVVUUttssrrqq}}~~~~bbccddeeFFGGHHII**++,,--ttssrrqqvvuuoonnFFEEDDCCTTSSRRQQppoonnmmffgghhiiJJKKLLMM..//0011ppoonnmmmmllkkjjBBAA@@??PPOONNMMllkkjjiijjkkllmmNNOOPPQQ22334455llkkjjiiiihhggff>>==<;:9LLKKJJIIhhggffeennooppqqRRSSTTUU66778899hhggffeeeeddccbb87766554HHGGFFEEddccbbaa~~}}rrssttuuVVWWXXYY::;;<<==ddccbbaaaa``__^^43322110DDCCBBAA``__^^]]||{{zzyyvvwwxxyyZZ[[\\]]>>??@@AA``__^^]]]]\\[[ZZ0//..--,@@??>>==\\[[ZZYYxxwwvvuuzz{{||}}^^__``aaBBCCDDEE++**))((\\[[ZZYYYYSSRRQQ,++**))(<<;;::99XXWWVVUUttssrrqq~~bbccddeeFFGGHHII''&&%%$$XXWWVVUUPPOONNMM(''&&%%$88776655TTSSRRQQppoonnmmffgghhiiJJKKLLMM##""!! TTSSRRQQLLKKJJII$##""!! 44332211PPOONNMMllkkjjiijjkkllmmNNOOPPQQPPOONNMMHHGGFFEE00//..--LLKKJJIIhhggffeennooppqqRRSSTTUULLKKJJIIDDCCBBAA,,++**))HHGGFFEEddccbbaa~~}}rrssttuuVVWWXXYYHHGGFFEE@@??>>==((''&&%%DDCCBBAA``__^^]]||{{zzyyvvwwxxyyZZ[[\\]]DDCCBBAA77665544$$##""!!@@??>>==\\[[ZZYYxxwwvvuuzz{{||}}^^__``aa @@??>>==33221100 - - <<;;::99XXWWVVUUttssrrqq~~}}||~~bbccddee - - <<;;::99//..--,, 88776655TTSSRRQQppoonnmm{{zzyyxxffgghhii88776655++**))((44332211PPOONNMMllkkjjiiwwvvuutsjjkkllmm44332211''&&%%$$ - - 00//..--LLKKJJIIhhggffeerqpoonnmnnooppqq00//..--##""!!  ,,++**))HHGGFFEEddccbbaa~~}}mllkkjji~~}}||rrssttuu ,,++**)) - - ((''&&%%DDCCBBAA``__^^]]||{{zzyyihhggffe{{zzyyxxvvwwxxyy - - ((''&&%%$$##""!!@@??>>==\\[[ZZYYxxwwvvuueddccbbawwvvuuttzz{{||}}$$##""!! <<;;::99XXWWVVUUttssrrqqa``__^^]ssrrqqpp~~   88776655TTSSRRQQppoonnmm]\\[[ZZYoonnmmll - - - -!!""##$$44332211PPOONNMMllkkjjii~~}}||{{YXWVUTSSkkjjiihh %%&&''(( - - 00//..--LLKKJJIIhhggffeezzyyxxwwRRQQPPOOggffeedd !!))**++,,  ,,++**))HHGGFFEEddccbbaavvuuoonnNNMMLLKKccbbaa``~~}}||""##$$%% --..//00 - - ((''&&%%DDCCBBAA``__^^]]mmllkkjjJJIIHHGG__^^]]\\{{zzyyxx&&''(()) - - 11223344$$##""!!@@??>>==\\[[ZZYYiihhggffFFEEDDCC[[ZZYYXXwwvvuutt**++,,-- - - !!""##55667788 <<;;::99XXWWVVUUeeddccbbBBAA@@??WWVVUUTTssrrqqpp..//0011 $$%%&&''99::;;<< 88776655TTSSRRQQaa``__^^>>==<;:9SSRRQQPPoonnmmll22334455(())**++==>>??@@!!""##$$44332211PPOONNMM]]\\[[ZZ87766554OONNMMLLkkjjiihh66778899,,--..//AABBCCDD%%&&''(( - - 00//..--LLKKJJIIYYSSRRQQ43322110KKJJIIHHggffeedd::;;<<==00112233EEFFGGHH))**++,,  ,,++**))HHGGFFEEPPOONNMM0//..--,GGFFEEDDccbbaa``~~}}||>>??@@AA 44556677IIJJKKLL--..//00 - - ((''&&%%DDCCBBAALLKKJJII,++**))(CCBBAA@@__^^]]\\{{zzyyxxBBCCDDEE!!""##$$==>>??@@MMNNOOPP11223344$$##""!!@@??>>==HHGGFFEE(''&&%%$??>>==<<[[ZZYYXXwwvvuuttFFGGHHII%%&&''((AABBCCDDQQRRSSTT55667788 <<;;::99DDCCBBAA$##""!! ;;::9988WWVVUUTTssrrqqppJJKKLLMM))**++,,EEFFGGHHUUVVWWXX99::;;<< 88776655@@??>>==77665544SSRRQQPPoonnmmllNNOOPPQQ--..//00IIJJKKLLYYZZ[[\\==>>??@@!!""##$$443322117766554433221100OONNMMLLkkjjiihhRRSSTTUU11223344MMNNOOPP]]^^__``AABBCCDD%%&&''(( - - 00//..--33221100//..--,,KKJJIIHHggffeeddVVWWXXYY55667788QQRRSSYYaabbccddEEFFGGHH))**++,,  ,,++**))//..--,,++**))((GGFFEEDDccbbaa``~~}}||ZZ[[\\]]99::;;<>??@@^^__``aaiijjkkllMMNNOOPP11223344$$##""!!''&&%%$$ ##""!! ??>>==<<[[ZZYYXXwwvvuuttbbccddeeAABBCCDDbbccddeemmnnooppQQRRSSTT55667788 ##""!!;;::9988WWVVUUTTssrrqqppffgghhiiEEFFGGHHffgghhiiqqrrssttUUVVWWXX99::;;<< 77665544SSRRQQPPoonnmmlljjkkllmmIIJJKKLLjjkkllmmuuvvwwxxYYZZ[[\\==>>??@@!!""##$$ 33221100OONNMMLLkkjjiihhnnooppqqMMNNOOPPnnoouuvvyyzz{{||]]^^__``AABBCCDD%%&&''(( - -  - - //..--,,KKJJIIHHggffeeddrrssttuuQQRRSSTTwwxxyyzz}}~~aabbccddEEFFGGHH))**++,,    ++**))((GGFFEEDDccbbaa``~~}}||vvwwxxyyUUVVWWXX{{||}}~~eeffgghhIIJJKKLL--..//00 - - - -  - - ''&&%%$$CCBBAA@@__^^]]\\{{zzyyxxzz{{||}}YYZZ[[\\iijjkkllMMNNOOPP11223344##""!! ??>>==<<[[ZZYYXXwwvvuutt~~]]^^__``mmnnooppQQRRSSTT55667788 - -;;::9988WWVVUUTTssrrqqppaabbccddqqrrssttUUVVWWXX99::;;<<   !!77665544SSRRQQPPoonnmmlleeffgghhuuvvwwxxYYZZ[[\\==>>??@@!!""##$$""##$$%% 33221100OONNMMLLkkjjiihhiijjkkllyyzz{{||]]^^__``AABBCCDD%%&&''(( - - &&''(()) - - //..--,,KKJJIIHHggffeeddmmnnoopp}}~~aabbccddEEFFGGHH))**++,, **++,,-- ++**))((GGFFEEDDccbbaa``qqrrsstteeffgghhIIJJKKLL--..//00!!""##..//0011 - - ''&&%%$$CCBBAA@@__^^]]\\uuvvwwxxiijjkkllMMNNOOPP11223344$$%%&&''22334455##""!! ??>>==<<[[ZZYYXXyyzz{{||mmnnooppQQRRSSTT55667788(())**++66778899;;::9988WWVVUUTT}}~~qqrrssttUUVVWWXX99::;;<< ,,--..//::;;<<== !!77665544SSRRQQPPuuvvwwxxYYZZ[[\\==>>??@@!!""##$$00112233>>??@@AA""##$$%% 33221100OONNMMLLyyzz{{||]]^^__``AABBCCDD%%&&''((44556677BBCCDDEE&&''(()) - - //..--,,KKJJIIHH}}~~aabbccddEEFFGGHH))**++,,==>>??@@FFGGHHII**++,,-- ++**))((GGFFEEDDeeffgghhIIJJKKLL--..//00AABBCCDDJJKKLLMM..//0011 - - ''&&%%$$CCBBAA@@iijjkkllMMNNOOPP11223344EEFFGGHHNNOOPPQQ22334455##""!! ??>>==<>??@@QQRRSSYYZZ[[\\]]>>??@@AA""##$$%% 33221100yyzz{{||]]^^__``AABBCCDDZZ[[\\]]^^__``aaBBCCDDEE&&''(()) - - //..--,,hggffeedzzyyxxwwwwxxyyzz[[\\]]^^yyzz{{||xxyyzz{{\\]]^^__@@AABBCC$$%%&&'' - -  - - 00//..--LLKKJJIIhhggffeerqpoonnmnnooppqqdccbbaa`vvuuttss{{||}}~~__``aabb}}~~||}}~~``aabbccDDEEFFGG(())**++   ,,++**))HHGGFFEEddccbbaa~~}}mllkkjji~~}}||rrssttuu`__^^]]\rrqqppooccddeeffddeeffggHHIIJJKK,,--..// - - - -  - - ((''&&%%DDCCBBAA``__^^]]||{{zzyyihhggffe{{zzyyxxvvwwxxyy~~\[[ZZYYXnnmmllkkgghhiijjhhiijjkkLLMMNNOO00112233 $$##""!!@@??>>==\\[[ZZYYxxwwvvuueddccbbawwvvuuttzz{{||}}}}||{{zzWVUTSSRRjjiihhggkkllmmnnllmmnnooPPQQRRSS44556677  <<;;::99XXWWVVUUttssrrqqa``__^^]ssrrqqpp~~yyxxwwvvQQPPOONNffeeddccooppqqrrppqqrrssTTUUVVWW8899::;; - -  88776655TTSSRRQQppoonnmm]\\[[ZZYoonnmmlluuoonnmmMMLLKKJJbbaa``__~~}}||{{ssttuuvvttuuvvwwXXYYZZ[[<<==>>?? !!""##!!""##$$44332211PPOONNMMllkkjjii~~}}||{{YXWVUTSSkkjjiihhllkkjjiiIIHHGGFF^^]]\\[[zzyyxxwwwwxxyyzzxxyyzz{{\\]]^^__@@AABBCC$$%%&&'' - - %%&&''(( - - 00//..--LLKKJJIIhhggffeezzyyxxwwRRQQPPOOggffeeddhhggffeeEEDDCCBBZZYYXXWWvvuuttss{{||}}~~||}}~~``aabbccDDEEFFGG(())**++ ))**++,,  ,,++**))HHGGFFEEddccbbaavvuuoonnNNMMLLKKccbbaa``~~}}||ddccbbaaAA@@??>>VVUUTTSSrrqqppooddeeffggHHIIJJKK,,--..//!!""--..//00 - - ((''&&%%DDCCBBAA``__^^]]mmllkkjjJJIIHHGG__^^]]\\{{zzyyxx``__^^]]==<;:987RRQQPPOOnnmmllkkhhiijjkkLLMMNNOO00112233##$$%%&&11223344$$##""!!@@??>>==\\[[ZZYYiihhggffFFEEDDCC[[ZZYYXXwwvvuutt\\[[ZZYY76655443NNMMLLKKjjiihhggllmmnnooPPQQRRSS44556677''(())**55667788 <<;;::99XXWWVVUUeeddccbbBBAA@@??WWVVUUTTssrrqqppSSRRQQPP3221100/JJIIHHGGffeeddccppqqrrssTTUUVVWW8899::;;++,,--..99::;;<< 88776655TTSSRRQQaa``__^^>>==<;:9SSRRQQPPoonnmmll~~}}||OONNMMLL/..--,,+FFEEDDCCbbaa``__~~}}||{{ttuuvvwwXXYYZZ[[<<==>>?? !!""##//001122==>>??@@!!""##$$44332211PPOONNMM]]\\[[ZZ87766554OONNMMLLkkjjiihh{{zzyyxxKKJJIIHH+**))(('BBAA@@??^^]]\\[[zzyyxxwwxxyyzz{{\\]]^^__@@AABBCC$$%%&&''33445566AABBCCDD%%&&''(( - - 00//..--LLKKJJIIYYSSRRQQ43322110KKJJIIHHggffeeddwwvvuuttGGFFEEDD'&&%%$$#>>==<<;;ZZYYXXWWvvuuttss||}}~~``aabbccDDEEFFGG(())**++77==>>??EEFFGGHH))**++,,  ,,++**))HHGGFFEEPPOONNMM0//..--,GGFFEEDDccbbaa``~~}}||ssrrqqppCCBBAA@@#""!! ::998877VVUUTTSSrrqqppooddeeffggHHIIJJKK,,--..//@@AABBCCIIJJKKLL--..//00 - - ((''&&%%DDCCBBAALLKKJJII,++**))(CCBBAA@@__^^]]\\{{zzyyxxoonnmmll??>>==7766554433RRQQPPOOnnmmllkkhhiijjkkLLMMNNOO00112233DDEEFFGGMMNNOOPP11223344$$##""!!@@??>>==HHGGFFEE(''&&%%$??>>==<<[[ZZYYXXwwvvuuttkkjjiihh66554433221100//NNMMLLKKjjiihhggllmmnnooPPQQRRSS44556677HHIIJJKKQQRRSSTT55667788 <<;;::99DDCCBBAA$##""!! ;;::9988WWVVUUTTssrrqqppggffeedd221100//..--,,++JJIIHHGGffeeddccppqqrrssTTUUVVWW8899::;;LLMMNNOOUUVVWWXX99::;;<< 88776655@@??>>==77665544SSRRQQPPoonnmmllccbbaa``..--,,++ **))((''FFEEDDCCbbaa``__~~}}||{{ttuuvvwwXXYYZZ[[<<==>>??PPQQRRSSYYZZ[[\\==>>??@@!!""##$$443322117766554433221100OONNMMLLkkjjiihh__^^]]\\**))(('' - - &&%%$$##BBAA@@??^^]]\\[[zzyyxxwwxxyyzz{{\\]]^^__@@AABBCCYYZZ[[\\]]^^__``AABBCCDD%%&&''(( - - 00//..--33221100//..--,,KKJJIIHHggffeedd[[ZZYYXX&&%%$$##""!! >>==<<;;ZZYYXXWWvvuuttss~~||}}~~``aabbccDDEEFFGG]]^^__``aabbccddEEFFGGHH))**++,,  ,,++**))//..--,,++**))((GGFFEEDDccbbaa``~~}}||WWVVUUTT""!!::998877VVUUTTSSrrqqppoo}}||{{zzddeeffggHHIIJJKKaabbccddeeffgghhIIJJKKLL--..//00 - - ((''&&%%++**))(( - -''&&%%$$CCBBAA@@__^^]]\\{{zzyyxxSSRRQQPP66554433RRQQPPOOnnmmllkkyyxxwwvvhhiijjkkLLMMNNOOeeffgghhiijjkkllMMNNOOPP11223344$$##""!!''&&%%$$ ##""!! ??>>==<<[[ZZYYXXwwvvuuttOONNMMLL - -221100//NNMMLLKKjjiihhgguutsrqpollmmnnooPPQQRRSSiijjkkllmmnnooppQQRRSSTT55667788 ##""!!;;::9988WWVVUUTTssrrqqppKKJJIIHH ..--,,++JJIIHHGGffeeddcconnmmllk~~ppqqrrssTTUUVVWWmmnnoouuqqrrssttUUVVWWXX99::;;<< 77665544SSRRQQPPoonnmmll~~}}||{{GGFFEEDD - - **))((''FFEEDDCCbbaa``__~~}}||{{kjjiihhg}}||{{zzttuuvvwwXXYYZZ[[vvwwxxyyuuvvwwxxYYZZ[[\\==>>??@@!!""##$$ 33221100OONNMMLLkkjjiihhzzyyxxwwCCBBAA@@  - - &&%%$$##BBAA@@??^^]]\\[[zzyyxxwwgffeeddcyyxxwwvvxxyyzz{{\\]]^^__zz{{||}}yyzz{{||]]^^__``AABBCCDD%%&&''(( - -  - - //..--,,KKJJIIHHggffeeddvvuuoonn??>>==<<""!! >>==<<;;ZZYYXXWWvvuuttsscbbaa``_uuttssrr||}}~~``aabbcc~~}}~~aabbccddEEFFGGHH))**++,,    ++**))((GGFFEEDDccbbaa``mmllkkjj;;::9988 - - ::998877VVUUTTSSrrqqppoo_^^]]\\[qqppoonnddeeffggeeffgghhIIJJKKLL--..//00 - - - -  - - ''&&%%$$CCBBAA@@__^^]]\\iihhggff77665544  !!""66554433RRQQPPOOnnmmllkk~~}}[ZZYYXWVmmllkkjjhhiijjkkiijjkkllMMNNOOPP11223344##""!! ??>>==<<[[ZZYYXXeeddccbb33221100##$$%%&& - -221100//NNMMLLKKjjiihhgg||{{zzyyUTSSRRQQiihhggffllmmnnoommnnooppQQRRSSTT55667788 - -;;::9988WWVVUUTTaa``__^^//..--,,''(())** ..--,,++JJIIHHGGffeeddccxxwwvvuuPPOONNMMeeddccbb~~ppqqrrssqqrrssttUUVVWWXX99::;;<<   !!77665544SSRRQQPP]]\\[[ZZ++**))((++,,--.. **))((''FFEEDDCCbbaa``__oonnmmllLLKKJJIIaa``__^^}}||{{zzttuuvvwwuuvvwwxxYYZZ[[\\==>>??@@!!""##$$""##$$%% 33221100OONNMMLLYYSSRRQQ''&&%%$$!!""##$$//001122 - - &&%%$$##BBAA@@??^^]]\\[[kkjjiihhHHGGFFEE]]\\[[ZZyyxxwwvvxxyyzz{{yyzz{{||]]^^__``AABBCCDD%%&&''(( - - &&''(()) - - //..--,,KKJJIIHHPPOONNMM##""!! %%&&''((33445566""!! >>==<<;;ZZYYXXWWggffeeddDDCCBBAAYYXXWWVVuuttssrr||}}~~}}~~aabbccddEEFFGGHH))**++,, **++,,-- ++**))((GGFFEEDDLLKKJJII))**++,,778899::::998877VVUUTTSSccbbaa``@@??>>==UUTTSSRRqqppoonneeffgghhIIJJKKLL--..//00!!""##..//0011 - - ''&&%%$$CCBBAA@@HHGGFFEE--..//00;;<<==>> !!""66554433RRQQPPOO__^^]]\\<;:98776QQPPOONNmmllkkjjiijjkkllMMNNOOPP11223344$$%%&&''22334455##""!! ??>>==<>==556677==CCDDEEFF''(())** ..--,,++JJIIHHGGRRQQPPOO21100//.IIHHGGFFeeddccbb~~qqrrssttUUVVWWXX99::;;<< ,,--..//::;;<<== !!7766554477665544 >>??@@AAGGHHIIJJ++,,--.. **))((''FFEEDDCCNNMMLLKK.--,,++*EEDDCCBBaa``__^^}}||{{zzuuvvwwxxYYZZ[[\\==>>??@@!!""##$$00112233>>??@@AA""##$$%% 3322110033221100 - - BBCCDDEEKKLLMMNN//001122 - - &&%%$$##BBAA@@??JJIIHHGG*))((''&AA@@??>>]]\\[[ZZyyxxwwvvyyzz{{||]]^^__``AABBCCDD%%&&''((44556677BBCCDDEE&&''(()) - - //..--,,//..--,, - - FFGGHHIIOOPPQQRR33445566""!! >>==<<;;FFEEDDCC&%%$$##"==<<;;::YYXXWWVVuuttssrr}}~~aabbccddEEFFGGHH))**++,,==>>??@@FFGGHHII**++,,-- ++**))((++**))((JJKKLLMMSSTTUUVV778899::::998877BBAA@@??"!! 99887766UUTTSSRRqqppoonneeffgghhIIJJKKLL--..//00AABBCCDDJJKKLLMM..//0011 - - ''&&%%$$''&&%%$$NNOOPPQQWWXXYYZZ;;<<==>> !!""66554433>>==776655443322QQPPOONNmmllkkjjiijjkkllMMNNOOPP11223344EEFFGGHHNNOOPPQQ22334455##""!! ##""!!RRSSYYZZ[[\\]]^^??@@AABB##$$%%&& - -221100//554433221100//..MMLLKKJJiihhggffmmnnooppQQRRSSTT55667788IIJJKKLLRRSSTTUU66778899[[\\]]^^__``aabbCCDDEEFF''(())** ..--,,++1100//..--,,++**IIHHGGFFeeddccbb~~qqrrssttUUVVWWXX99::;;<>??@@QQRRSSYYZZ[[\\]]>>??@@AA""##$$%% ""##$$%%ccddeeffgghhiijjKKLLMMNN//001122 - - &&%%$$##))((''&& - - %%$$##""AA@@??>>]]\\[[ZZyyxxwwvvyyzz{{||]]^^__``AABBCCDDZZ[[\\]]^^__``aaBBCCDDEE&&''(()) - -  &&''(())gghhiijjkkllmmnnOOPPQQRR33445566""!! %%$$##""!! ==<<;;::YYXXWWVVuuttssrr~~}}}}~~aabbccddEEFFGGHH^^__``aabbccddeeFFGGHHII**++,,-- - - - -**++,,--kkllmmnnooppqqrrSSTTUUVV778899::!!99887766UUTTSSRRqqppoonn||{{zzyyeeffgghhIIJJKKLLbbccddeeffgghhiiJJKKLLMM..//0011 - -  ..//0011oouuvvwwssttuuvvWWXXYYZZ;;<<==>> !!""55443322QQPPOONNmmllkkjjxxwwvvuuiijjkkllMMNNOOPPffgghhiijjkkllmmNNOOPPQQ2233445522334455xxyyzz{{wwxxyyzz[[\\]]^^??@@AABB##$$%%&& - - - - 1100//..MMLLKKJJiihhggfftsrqpoonmmnnooppQQRRSSTTjjkkllmmnnooppqqRRSSTTUU6677889966778899||}}~~{{||}}~~__``aabbCCDDEEFF''(())**  --,,++**IIHHGGFFeeddccbb~~nmmllkkj~~}}qqrrssttUUVVWWXXnnoouuvvrrssttuuVVWWXXYY::;;<<== !!::;;<<==ccddeeffGGHHIIJJ++,,--.. - -  - -))((''&&EEDDCCBBaa``__^^}}||{{zzjiihhggf||{{zzyyuuvvwwxxYYZZ[[\\wwxxyyzzvvwwxxyyZZ[[\\]]>>??@@AA""##$$%% !!""##>>??@@AAgghhiijjKKLLMMNN//001122 - -  %%$$##""AA@@??>>]]\\[[ZZyyxxwwvvfeeddccbxxwwvvuuyyzz{{||]]^^__``{{||}}~~zz{{||}}^^__``aaBBCCDDEE&&''(()) - - $$%%&&''BBCCDDEEkkllmmnnOOPPQQRR33445566!! ==<<;;::YYXXWWVVuuttssrrbaa``__^ttssrrqq}}~~aabbccdd~~bbccddeeFFGGHHII**++,,--(())**++FFGGHHIIooppqqrrSSTTUUVV778899:: - - 99887766UUTTSSRRqqppoonn^]]\\[[ZppoonnmmeeffgghhffgghhiiJJKKLLMM..//0011,,--..//JJKKLLMMssttuuvvWWXXYYZZ;;<<==>> !!""  !!""##55443322QQPPOONNmmllkkjj~~}}||ZYYXWVUTllkkjjiiiijjkklljjkkllmmNNOOPPQQ2233445500112233NNOOPPQQwwxxyyzz[[\\]]^^??@@AABB##$$%%&& - -$$%%&&'' - - 1100//..MMLLKKJJiihhggff{{zzyyxxSSRRQQPPhhggffeemmnnooppnnooppqqRRSSTTUU6677889944556677RRSSTTUU{{||}}~~__``aabbCCDDEEFF''(())** (())**++ --,,++**IIHHGGFFeeddccbbwwvvuuooOONNMMLLddccbbaa~~}}qqrrssttrrssttuuVVWWXXYY::;;<<== !!==>>??@@VVWWXXYYccddeeffGGHHIIJJ++,,--..!!,,--..// - -))((''&&EEDDCCBBaa``__^^nnmmllkkKKJJIIHH``__^^]]||{{zzyyuuvvwwxxvvwwxxyyZZ[[\\]]>>??@@AA""##$$%%AABBCCDDZZ[[\\]]gghhiijjKKLLMMNN//001122""##$$%%00112233 %%$$##""AA@@??>>]]\\[[ZZjjiihhggGGFFEEDD\\[[ZZYYxxwwvvuuyyzz{{||zz{{||}}^^__``aaBBCCDDEE&&''(())EEFFGGHH^^__``aakkllmmnnOOPPQQRR33445566&&''(())44556677!! ==<<;;::YYXXWWVVffeeddccCCBBAA@@XXWWVVUUttssrrqq}}~~~~bbccddeeFFGGHHII**++,,--IIJJKKLLbbccddeeooppqqrrSSTTUUVV778899::**++,,--8899::;;99887766UUTTSSRRbbaa``__??>>==<;TTSSRRQQppoonnmmffgghhiiJJKKLLMM..//0011MMNNOOPPffgghhiissttuuvvWWXXYYZZ;;<<==>> !!""..//0011<<==>>?? !!""##55443322QQPPOONN^^]]\\[[:9877665PPOONNMMllkkjjiijjkkllmmNNOOPPQQ22334455QQRRSSYYjjkkllmmwwxxyyzz[[\\]]^^??@@AABB##$$%%&&22334455@@AABBCC$$%%&&'' - - 1100//..MMLLKKJJZZYYSSRR54433221LLKKJJIIhhggffeennooppqqRRSSTTUU66778899ZZ[[\\]]nnooppqq{{||}}~~__``aabbCCDDEEFF''(())**6677==>>DDEEFFGG(())**++ --,,++**IIHHGGFFQQPPOONN100//..-HHGGFFEEddccbbaa~~}}rrssttuuVVWWXXYY::;;<<==^^__``aarrssttuuccddeeffGGHHIIJJ++,,--..??@@AABBHHIIJJKK,,--..// - -))((''&&EEDDCCBBMMLLKKJJ-,,++**)DDCCBBAA``__^^]]||{{zzyyvvwwxxyyZZ[[\\]]>>??@@AAbbccddeevvwwxxyygghhiijjKKLLMMNN//001122CCDDEEFFLLMMNNOO00112233 %%$$##""AA@@??>>IIHHGGFF)((''&&%@@??>>==\\[[ZZYYxxwwvvuuzz{{||}}^^__``aaBBCCDDEEffgghhiizz{{||}}kkllmmnnOOPPQQRR33445566GGHHIIJJPPQQRRSS44556677!! ==<<;;::EEDDCCBB%$$##""!<<;;::99XXWWVVUUttssrrqq~~bbccddeeFFGGHHIIjjkkllmm~~ooppqqrrSSTTUUVV778899::KKLLMMNNTTUUVVWW8899::;;99887766AA@@??>>! 88776655TTSSRRQQppoonnmmffgghhiiJJKKLLMMnnoouuvvssttuuvvWWXXYYZZ;;<<==>>OOPPQQRRXXYYZZ[[<<==>>?? !!""##55443322==77665544332211PPOONNMMllkkjjiijjkkllmmNNOOPPQQwwxxyyzzwwxxyyzz[[\\]]^^??@@AABBSSYYZZ[[\\]]^^__@@AABBCC$$%%&&'' - - 1100//..4433221100//..--LLKKJJIIhhggffeennooppqqRRSSTTUU{{||}}~~{{||}}~~__``aabbCCDDEEFF\\]]^^__``aabbccDDEEFFGG(())**++ --,,++**00//..--,,++**))HHGGFFEEddccbbaa~~}}rrssttuuVVWWXXYY~~}}||{{ccddeeffGGHHIIJJ``aabbccddeeffggHHIIJJKK,,--..// - -))((''&&,,++**)) ((''&&%%DDCCBBAA``__^^]]||{{zzyyvvwwxxyyZZ[[\\]]zzyyxxwwgghhiijjKKLLMMNNddeeffgghhiijjkkLLMMNNOO00112233 %%$$##""((''&&%% - - $$##""!!@@??>>==\\[[ZZYYxxwwvvuuzz{{||}}^^__``aavvuutsrqkkllmmnnOOPPQQRRhhiijjkkllmmnnooPPQQRRSS44556677!! $$##""!! <<;;::99XXWWVVUUttssrrqq~~}}||~~bbccddeepoonnmmlooppqqrrSSTTUUVVllmmnnooppqqrrssTTUUVVWW8899::;;88776655TTSSRRQQppoonnmm{{zzyyxxffgghhiilkkjjiih~~}}||{{ssttuuvvWWXXYYZZuuvvwwxxttuuvvwwXXYYZZ[[<<==>>?? !!""##44332211PPOONNMMllkkjjiiwwvvuutsjjkkllmmZHAb|ZdQbltbr˂pfpvp˂rH~ftlJp˂rvXnlJtA˂rXQ~f`lJtApvnے`JXQtlJdQZ|ZHAbnXv`XQJ`ے`vXntArdXQJ`ےvpfHrd|J`ےvXnrd|Xv`fr˂ptArddrtAJے`JXQf~HbHAZvpf|ZdQbbHAZ~f`ZdQbtbHAZpvpfHZdQbtHfpZHAbf~Hltbr˂pfpvp˂rH~ftlJp˂rvXnlJtA˂rXQ~f`lJtAvnrے`JXQXv`fdQZ|ZHAbnXv`XQJ`ے`vXntArdXQJ`ےvp`vrd|J`ےvXnrd|XQJ`ےr˂p~HfrAJltے`JXQf~HbHAZvpf|ZdQbbHAZXnvZdQbtbHAZpvpfHZdQbtHAZpZHAbpvnbdQZ|r˂pfpvdrtAH~ftlJp˂rpfH~lJtA˂rXQ~f`lJtA˂rXQے`JXQXv`fdrtZHAbnXv`Jlt`vXntArdXQJ`ےf`vrd|J`ےvXnrd|J`ےr˂p~HfAJltے`JXQf~HbdQZ|vpf|ZdQbbHAZXnvZdQbtbHAZpvpfHZdQbtbHAZpZHAbpvbdQZ|r˂pfpvdrtAH~ftlJp˂rpfH~lJtA˂rXQ~f`lJtA˂rXQے`JXQ~HfpdrtZHAbnXv`Jlt`vXntArdXQJ`ےvprd|J`ےvXnrd|J`ےr˂pvnXAJbdQے`JXQf~HbdQZ|vpf|ZdQbbHAZfH~ZdQbtbHAZpvpfHZdQbtbHAZpZHAbv`fZ|dr˂pfpvdrtAH~ftlJp˂rf`vXlJtA˂rXQ~f`lJtA˂rXQے`JXQ~HfprtAJlZHAbnXv`JltZHAbtArdXQJ`ےnvprd|J`ےvXnrd|J`ےr˂pvnXtbdQے`JXQf~HbdQZ|ے`JXQ|ZdQbbHAZfH~ZdQbtbHAZpvpfHZdQbtbHAZpZHAbv`pvZ|dr˂pfpvdrtAr˂ptlJp˂rf`vXlJtA˂rXQ~f`lJtA˂rXQے`JXQnXvrtAJlZHAbnXv`JltZHAbtArdXQJ`ےH~frd|J`ےvXnrd|J`ےr˂p`f~tbQZے`JXQf~HbdQZ|ے`JXQ|ZdQbbHAZZHAbZdQbtbHAZpvpfHZdQbtbHAZpZHAbHfpvdrtAr˂pfpvdrtAr˂ptlJp˂rJQrlJtA˂rXQ~f`lJtA˂rXQے`JXQnXvJltZHAbnXv`JltZHAbtArdXQJ`ےpZHArdfJ`ےvXnrd|J`ےr˂p`f~bdQZ|ے`JXQf~HbdQZ|ے`JXQf~HbHAZbے`~HfbHAZpvpfHZdQbtbHAZpdrtAJZHAbHXv`drtAr˂pfpvdrtAr˂pfpvp˂rJXQrpvn˂rXQ~f`lJtA˂rXQltbے`JXQf~HJltZHAbnXv`JltZHAbnXv`XQJ`ےpZHAXv`fJ`ےvXnrd|J`ےdQZ|r˂pfpvbdQZ|ے`JXQf~HbdQZ|ے`JXQf~HbHAZbے`~HfbHAZpvpfHZdQbtbHAZpdrtAJZHAbnXv`rAJlr˂pfpvdrtAr˂pfpvp˂rJXQrZpvn˂rXQ~f`lJtA˂rXQltbے`JXQf~HtbdQZZHAbnXv`JltZHAbnXv`XQJ`ےHAbےXv`fJ`ےvXnrd|J`ےdQZ|r˂pfpv|drے`JXQf~HbdQZ|ے`JXQf~HbHAZ`JXQr~HfbHAZvpfHZdQbtbHAZpdrtAJZHAb~HftAJlr˂pfpvdrtAr˂pfpvdrtA˂pZpvndrtAJ~f`lJtA˂rXQltbے`JXQpvntbdQZZHAbnXv`JltZHAbnXv`dQZ|HAbےXv`fltbvXnrd|J`ےdQZ|r˂pXv`f|dnے`JXQf~HbdQZ|ے`JXQf~HdrtAJ`JXQr~HfdQZ|vpfHZdQbtbHAZpdtAJlZHAb~Hfvffr˂pfpvdrtAr˂pfpvltb˂pZApvndrtAJ~f`lJtA˂rXQtbnے`JXQpvn`vXnZHAbnXv`JltZHAbnXv`dQZ|b`JXXv`fltbvXnrd|J`ےvpfr˂pXv`pvpfے`JXQf~HbdQZ|ے`JXQf~HdrtAJQr˂p~HfdQZ|vpfHZdQbtbHAZpHf`ZHAbvnXH~fr˂pfpvdrtAr˂pfpvltdZHAbpvndrtAJ~fZlJtA˂rXQvXnے`JXQv`f`vXnZHAےnXv`JltZHAbnXv`rtAJlے`JXXv`fltbHAbےrd|J`ےvpfHr˂p~Hfpvpf`JXQrf~HbdQZ|ے`JXQf~HtbdQQr˂p~HfdQZ|`JXQrZdQbtbHAZp~f`ZHAbvnXH~fbtlfpvdrtAr˂pfpvZ|dZHAbpvndrtAJ˂pZlJtA˂rXQvXnے`JXQv`p˂`vXnJtAdnXv`JltZHAbnXv`rtAJlJQrXv`fltbHAbےrd|J`ےvpfHr˂prXQJvpf|ZdQbf~HbdQZ|ے`JXQf~HtbdQ˂pZHA~HfdQZ|`JXQrZdQbtbHAZp~f`ZHAb`ےbH~ftlJfpvdrtAr˂pfpvZ|lbے`pvndrtAJ˂pZlJtA˂rXQvXnے`JXQHAZp˂`vXntArdnXv`JltZHAbnXv`tbdQZJXQrXv`fltbHAbےrdfJ`ےvpfHr˂prXQJvpf|ZdQbfHfbdQZ|ے`JXQf~H|dr˂pZHA~HfdQZ|`JXQr~HfbHAZp~f`|ZdQb`p˂H~ftlJpvndrtAr˂pfpvtAJlbے`pvndrtAJ˂pZpvn˂rXQvXntlJrXQJ``vXntArdrXQJ`JltZHAbnXv`tbdQZJXQrXv`fltbHAbےXv`fJ`ےvpfHtArdےbHAvpf|ZdQbےHAZbdQZ|ے`JXQf~H|drZHAbې~HfdQZ|`JXQr~HfbHAZp~f`|ZdQbZp˂H~ftlJp˂rdrtAr˂pfpvtAdQZ|`JXQpvndrtAJ˂pZpvn˂rXQvXntlJrXQJ``vXntArdXQJ`ےJltZHAbnXv`drtAr˂pXv`fltbHAbےXv`fJ`ےvpfHtArdےbHAvpf|ZdQbbHAZbdQZ|ے`JXQf~HJltZHAbې~HfdQZ|`JXQr~HfbHAZ~f`|ZdQbXQJ`ےH~ftlJp˂rdtAJr˂pfpvbdQZ|`JXQpvndrtAJ˂pZpvndrtAJvXntlJbHAZ`vXntArdXQJ`ےltbZHAbnXv`drtAr˂pZXv`fltbHAbےXv`fltbvpfHtArdp˂rvpf|ZdQbbHAZnvpے`JXQf~HJltAb`J~HfdQZ|`JXQr~HfdQZ|~f`|ZdQbXQJ`ےH~ftlJp˂rfHfr˂pfpvdrtAJXQr˂pvndrtAJ˂pZpvndrtAJvXntlJbHAZ`vXntArdXQJ`ے`vXnZHAbnXv`ltbpZHAbXv`fltbHAbےXv`fltbvpfHtArdp˂vpf|ZdQbbHAZvpfے`JXQf~HdQZ|ے`J~HfdQZ|`JXQr~HfdQZ|~f`|ZdQbbHAZpH~ftlJp˂rH~fr˂pfpvdrtAJXQr˂pvndrtAJ˂pZpvndrtAJvXntlJ˂rXQ`vXntArdXQJ`ے`vXnZHAےnXv`ltbpZA`Xv`fltbHAbےXv`fltbvpfHtArdJ`ےvpf|ZdQbbHAZvpf`JXQrf~HdQZ|lJXQrb~HfdQZ|`JXQr~HfdQZ|~f`|ZdQbbHAZpH~ftlJp˂rH~fbtlfpvtbdQtlJpvndrtAJ˂pZpvndrtAJvXntlJ˂rXQ`vXntArdXQJ`ے`vXnJtAdnXv`Z|dtAd|Xv`fltbHAbےXv`fltbvpfHtArdJ`p˂vpf|ZdQbbHAZvpf|ZdQbf~HrtAJlZdQbt~HfdQZ|`JXQr~HfdQZ|~f`|ZdQbrXQJH~ftlJp˂rH~ftlJfpvtbdQlJtApvndrtAJ˂pZpvndrtAJvXntlJ`ےb`vXntArdXQJ`ے`vXntArdnXv`Z|lrd|Xv`fltbHAbےXv`fltbvpfHtArdHAZp˂vpf|ZdQbbHAZvpf|ZdQbfHftbnZdQbtHfpdQZ|`JXQr~HfdQZ|~f`|ZdQbrXQJH~ftlJp˂rH~ftlJpvnvp`vlJtAvnrdrtAJ˂pZpvndrtAJvXntlJ`ےb`vXntArdXQJ`ے`vXntArdrXQJ`Xnvrd|XQJ`ےltbHAbےXv`fltbvpfHtArdHAXQJ`vpf|ZdQbbHAZvpf|ZdQbےHAZpfH~ZdQbtHAZpdQZ|`JXQr~HfdQZ|~f`|ZdQbےbHAH~ftlJp˂rH~ftlJp˂rf`vlJtA˂rXQdrtAJ˂pZpvndrtAJvXntlJZp˂`vXntArdXQJ`ے`vXntArdXQJ`ےXnvrd|J`ےltbHAbےXv`fltbvpfHtArdrXQJ`vpf|ZdQbbHAZvpf|ZdQbbHAZp`vXZdQbtbHAZpdQZ|`JXQr~HfdQZ|~f`|ZdQbےbHAH~ftlJp˂rH~ftlJp˂rnvplJtA˂rXQdtAJl˂pZpvndrtAJvXntlJZp˂`vXntArdXQJ`ے`vXntArdXQJ`ےfH~rd|J`ےtbnHAbےXv`fltbvpfHtArdbHAZvpf|ZdQbbHAZvpf|ZdQbbHAZf`vXZdQbtbHAZpvpf`JXQr~HfdQZ|~f`|ZdQbdrtAH~ftlJp˂rH~ftlJp˂rnvplJtA˂rXQHf`˂pZpvndrtAJvXntlJJbdQZHAbtArdXQJ`ے`vXntArdXQJ`ےfH~rd|J`ےvXnHAbےXv`fltbvpfHtArdZ|dے`JXQ|ZdQbbHAZvpf|ZdQbbHAZvpfZdQbtbHAZpvpfH`JXQr~HfdQZ|~fZ|ZdQbrtAJlr˂ptlJp˂rH~ftlJp˂rH~flJtA˂rXQ~f`˂pZpvndrtAJHAbtlJtbdQZHAbtArdXQJ`ے`vXntArdXQJ`ے`vXnrd|J`ےvXnHAے`Xv`fltb˂pZHAtArdZ|dے`JXQ|ZdQbbHAZvpf|ZdQbbHAZvpfZdQbtbHAZpvpfHJXQrb~HfdQZ|bے`|ZdQbrtAJlr˂ptlJp˂rH~ftlJp˂rH~flJtA˂rXQ~f`tlJpvndrtAJJXQrtlJtbQZZHAbtArdXQJ`ے`vXntArdXQJ`ے`vXHrd|J`ےvXntAd|Xv`fltb˂pZHAtArddrtAJے`JXQf~HbHAZvpf|ZdQbbHAZ~f`ZdQbtbHAZpvpfHZdQbt~HfdQZ|bے`JXQHAbf~HtbdQbے`df`ےbXnvd|ZXQJ`ےnvp|ZdQےbHAnvp|ZdQ`f~drtAJ|ZdQbf~HbdQZ|ے`JXQf~HbdQZ|˂pZ~fpvdQZ|`JXQrZdQbtbHAZpvpfHb㉀ۑpے`JfpvZ|dJXQr~HfpHAZp˂pfH~dQbt璐bHAZfH~btlZp˂fH~btlHfpvltbtlJfpvdrtAr˂pfpvdrtAHAbےnXv`drtAJ˂pZlJtA˂rXQ~f`JAHrXQr˂nXv`rtAJl˂pZHAvnXrXQJf`vlJtArp˂rf`vXJtArdrXQJ`f`vXJtArdnXvdQZ|ltArdnXv`JltZHAbnXv`Jlt`JXQHAf~HltbHAbےrdfJ`ےvXnˁ`pfpZHAbf~HftbdQbے`v`f`ےbXnvd|ZXQJ`ےnvp|ZdQےbHAnvp|ZdQ`fHtbn|ZdQbfHfbdQZ|ے`JXQf~HbdQZ|bے`fpvdQZ|`JXQr~HfbHAZpvpfHH~ㅐfېے`JvnXvZ|dJXQr~HfpHAZp˂pfH~dQbt璐bHAXQfH~btlZp˂fH~btlfpvvp`tlJpvndrtAr˂pfpvdrtAJXQrnXv`drtAJ˂pZpvn˂rXQ~f``vXnXQr˂`f~rtAJl˂pZHAvnXrXQJf`vlJtArJ`ےf`vXJtArdrXQJ`f`vXJtArdnrXQJvXntArdrXQJ`JltZHAbnXv`Jlt˂pZHAf~HltbHAbےXv`fJ`ےvXnvˍpfp`JXQHfpvtbdQbے`v`f`ےbXnvd|ZbHAZpnvp|ZdQےbHAnvp|ZdQ`ےHAvpfH|ZdQbےHAZbdQZ|ے`JXQf~HbdQZ|bے`fvnXdQZ|`JXQr~HfbHAZpvpfHH~ㅐfr˂pnXvZ|dJXQr~HfpHAZdpfH~dQbt˂rXQfH~btlZp˂fH~btlZp˂~f`tlJp˂rdrtAr˂pfpvdrtAJXQrv`fdrtAJ˂pZpvn˂rXQ~f``vXnZHAb`f~rtAJl˂pZHAvnXrtAJlf`vlJtArJ`ےf`vXJtArdrXQJ`f`vXJtArdrXQJ`vXntArdXQJ`ےJltZHAbnXv`Jlt˂p`J~HfpltbHAbےXv`fJ`ےvXnvˍpfے`JXQHfpvtbdQbے`v`ftbdQXnvd|ZbHAZpnvp|ZdQےbHAnvp|ZdQےbHAvp`v|ZdQbbHAZbdQZ|ے`JXQf~HbdQZ|XQr˂vnXdQZ|`JXQr~HfbHAZvpfHH~ㅐfr˂pnvfZ|dJXQr~HfpZ|dpfH~dQbt˂bfH~btlZp˂fH~btlZp˂XnvtlJp˂rdtAJr˂pfpvdrtApZHAbv`fdrtAJ˂pZpvndrtAJ~f``vXnZHAb~HfprtAJl˂pZHAvnXrtAJlf`vlJtArHAZdf`vXJtArdrXQJ`f`vXJtArdrXQJ`pfH~tArdXQJ`ےltbZHAbnXv`Jltے`J~HfpltbHAbےXv`fltbvXnvˍpf˂pZvnXtbdQbے`v`ftbdQXnvd|ZrtAJnvp|ZdQےbHAnvp|ZdQےbHAf`v|ZdQbbHAZnvpے`JXQf~HbdQZ|XQr˂vnvdQZ|`JXQr~HfdQZ|vpfHH~ㅐfHAbےv`fZ|dJXQr~HfpZ|dpfH~dQbtbdQZ|fH~btlZp˂fH~btlZp˂XnvtlJp˂rfHfr˂pfpvdrtApZHAbf~HdrtAJ˂pZpvndrtAJ~f``vXn`JXQr~HfprtAJl˂pZHAvnXrtAJlfZHAlJtArdrtAfZHAbJtArdrXQJ`f`vXJtArdrXQJ`pfH~tArdXQJ`ے`vXnZHAbnXv`Jlt˂pfpvltbHAbےXv`fltbvXnvˍpf˂pZvnXtbdQbے`v`ftbdQbے`d|ZJltے`J|ZdQےbHAnvp|ZdQےbHAvp|ZdQbbHAZvpfے`JXQf~HbdQZ|ZHAbnXv`dQZ|`JXQr~HfdQZ|vpfHH~ㅐfHAbےv`f~Z|dJXQr~HfpZ|dJXQrdQbtbdQZ|XQr˂btlZp˂fH~btlZp˂fH~tlJp˂rH~fr˂pfpvdrtAے`JXQf~HdrtAJ˂pZpvndrtAJ~fr`vXn`JXQHAfpvrtAJl˂pZHAvnXrtAJl˂pZHAlJtArdrtApZHAbJtArdrXQJ`f`vXJtArdrXQJ`f`vXtArdXQJ`ے`vXnZHAےnXv`Jltr˂pfpvltbHAbےXv`fltb˂pZvˍpfbے`nXv`tbdQbے`v`ftbdQbے`d|ZJltbے`J|ZdQےbHAnvp|ZdQےbHAnvp|ZdQbbHAZvpf`JXQrf~HbdQZ|ZHAbnXv`fdQZ|`JXQr~HfdQZ|HAbےH~ㅐfJXQrf~HZ|dJXQr~HfpZ|dJXQrdQbtQZdrXQr˂btlZp˂fH~btlZp˂fH~tlJp˂rH~fbtlfpvdrtAے`JXQ~fpvdrtAJ˂pZpvndrtAJ`JXQr`vXn˂pZHAfpvrtAJl˂pZHAvnXrtAJl˂pZHAlJtArtAJlpZHAbJtArdrXQJ`f`vXJtArdrXQJ`f`vXtArdXQJ`ے`vXnJtAdnXv`JltHAbےnXvltbHAbےXv`fltb˂pZvˍpfbے`nXv`tbdQbے`v`ftbdQbے`dftbdQZے`Jf~ےbHAnvp|ZdQےbHAH~f|ZdQbbHAZvpf|ZdQbf~HbdQZ|`JXQr`f~dQZ|`JXQr~HfdQZ|HAbےH~ㅐfJXQrffpvZ|dJXQr~HfpZ|dJXQr~HXv|drXQr˂HfpvZp˂fH~btlZp˂`vXntlJp˂rH~ftlJfpvdrtA˂pZHfpvdrtAJ˂pZpvndrtAJ`JXQHA`vXn˂p`JnrXQrtAJl˂pZHAvnXrtAJl˂pZHA`f~tAJlpZHAbnXvrXQJ`f`vXJtArdrXQJ`vpftArdXQJ`ے`vXntArdnXv`JltHAbےnXvltbHAbےXv`fltbbے`vˍpfXQr˂J`ےtbdQbے`v`ftbdQbے`HfpvtbdQZے`J`f~ےbHAnvp|ZdQےbHAH~f|ZdQbbHAZvpf|ZdQbfHfbdQZ|`JXQr`ffpdQZ|`JXQr~HfdQZ|JXQrH~ㅐfpZHAbHAZp˂Z|dJXQr~HfpZ|dJXQrnXv|rAJlXQr˂HfpvZp˂fH~btlZp˂`vXntlJp˂rH~ftlJpvndrtA˂p`vnrdrtAJ˂pZpvndrtAJ˂pZHA`vXnے`JrXQJrtAJl˂pZHAvnXrtAJl˂pZHA`f~tbdpZHAbnXvrXQJ`f`vXJtArdrXQJ`vp`tArdXQJ`ے`vXntArdrXQJ`JltJXQrXQJ`ےltbHAbےXv`fltbbے`vˍpfXQr˂`ےbtbdQbے`v`ftbdQbے`HfpvQZ|dے`J`f~ےbHAnvp|ZdQےbHAvXn|ZdQbbHAZvpf|ZdQbےHAZbdQZ|˂pZHAHAZpdQZ|`JXQr~HfdQZ|JXQrH~ㅐfp`JXQHAZp˂Z|dJXQr~HfpZ|dJXQr~HrtAJlXQr˂HfpvZdrfH~btlZp˂vpfHtlJp˂rH~ftlJp˂rdrtAbے`˂rXQdrtAJ˂pZpvndrtAJ˂p`J`vXnrbt璀rXQJtAJl˂pZHAvnXrtAJl˂pZHAfpvtbdpZHAbnXvtAJlf`vXJtArdrXQJ`~f`tArdXQJ`ے`vXntArdXQJ`ےJltJXQrJ`ےltbHAbےXv`fltbXQr˂vˍpfl|ZdQ`ےbtbnbے`v`ftbdQbے`nXv`QZ|dے`J`f~tbdQZnvp|ZdQےbHAvXn|ZdQbbHAZvpf|ZdQbbHAZbdQZ|˂p`JbHAZpdQZ|`JXQr~HfdQZ|pZHAbH~ㅐfbtlHAZp˂vpfHJXQr~HfpZ|dJXQrf~HrtAJXQr˂Hfpv|drfH~btlZp˂vpfHtlJp˂rH~ftlJp˂rdtAJXQrbt˂rXQdtAJl˂pZpvndrtAJے`J`vXnJtArdrXQJf`v˂pZHAvnXrtAJl˂pZHAfpvbdQZ|pZHAbnXvtAJlf`vXJtArdrXQJ`~vtArdXQJ`ے`vXntArdXQJ`ےltbl|ZJ`ےtbnHAbےXv`fltbXQr˂vˍpf|ZdQ`ےbXnvbے`v`ftbdQbے`nXv`drtAے`J`f~tbdQZnvp|ZdQےbHApfH~|ZdQbbHAZvpf|ZdQbbHAZnvpdQbtbHAZpvpf`JXQr~HfdQZ|pZHAbH~ㅐfbtlHAZp˂pfH~JXQr~HfpZ|dJXQrpvnJltXQr˂Hfpv|drfH~btlZp˂f`vtlJp˂rH~ftlJp˂rfHflJtAr˂rXQHf`˂pZpvndrtAJ˂p`vXn|ZdQbrXQJf`v˂pZHAvnXrtAJl˂pZHAXv`fbdQZ|pZHAbnXvtAJlfZHAbJtArdrXQJ`XnvtArdXQJ`ے`vXntArdXQJ`ے`vXnd|ZJ`ےvXnHAbےXv`fltbZHAbvˍpftlJ`ےbXnvے`Jv`ftbdQbے`~HfdrtAے`J`f~tbdQZے`J|ZdQےbHApfH~|ZdQbbHAZvpf|ZdQbbHAZvpfdQbtbHAZpvpfH`JXQr~HfdQZ|ے`JXQH~ㅐftArdHAZp˂pfH~XQrbt~HfpZ|dJXQrpvnJltXQr˂Hfpv|drXQr˂btlZp˂f`vtlJp˂rH~ftlJp˂rH~fl|ZdQ˂rXQ~f`˂pZpvndrtAJr˂p`vXn|ZdQbrXQJf`vlJtAvnXrtAJl˂pZHAXv`fbQZdpZHAbnXvtAJlpZHAbJtArdrXQJ`XH~tArdXQJ`ے`vXntArdXQJ`ے`vXnbtlJ`ےvXnHAے`Xv`fltbZHAbvˍpftlJ`ےbXnvd|Zv`ftbdQbے`~HXrtAJl琙ے`J`f~tbdQZے`J|ZdQےbHAfZHAb|ZdQbbHAZvpf|ZdQbbHAZvpfJtArdbHAZpvpfHJXQrb~HfdQZ|ے`JXQH~ㅐftArdtHAZp˂pfH~dQbt~HfpZ|dJXQrv`ftbdQXQr˂Hfpv|drXQr˂btlZp˂JQrtlJp˂rH~ftlJp˂rH~f|ZdQ˂rXQ~f`tlJpvndrtAJHAbے`vXnlJtArXQJf`vlJtArvnXrtAJl˂pZHA~HfpZ|dpZHAbnXvtAJlpZHAbJtArdrXQJ`˂pZHtArdXQJ`ے`vXntArdXQJ`ے`vXnbtlJ`ےvXntAd|Xv`fltb`JXQrvˍp|rd|`ےbXnvd|Zv`ftbdQbے`vnXrtAJl琙ے`J`f~tbdQZے`Jf~ےbHAAbے`f~HbHAZvpf|ZdQbbHAZvpfJtArdbHAZpvpfHZdQbt~HfdQZ|˂pZdrQtZdQbtHAZp˂pfH~dQbtHfpvZ|dJXQrv`ftbdQXQr˂Hfpv|drXQr˂HfpvZp˂JXQrfpvp˂rH~ftlJp˂rH~ftlJ˂rXQ~f`lJtApvndrtAJHAbےJltlJtArXQJf`vlJtArnrXQrtAJl˂pZHA~HfpZ|rAJpZHAbnXvtAJlpZHAbnXvrXQJ`˂pZHnXv`XQJ`ے`vXntArdXQJ`ے`vXntArdJ`ےvXnrd|Xv`fltb`JXQrbAdZ|rd|`ےbXnvd|ZJ`ےtbdQbے`v~ltbے`J`f~tbdQZے`J`f~ےbHAAbے`f~HbHAZvpf|ZdQbbHAZvpf|ZdQbbHAZpvpfHZdQbtHfpdQZ|˂p`drQtZdQtArHAZp˂pfH~dQbtHAZp˂Z|dJXQrHfpvdQZ|XQr˂Hfpv|drXQr˂HfpvZp˂JXQrfpvp˂rH~ftlJp˂rH~ftlJ˂rXQ~f`lJtAvnrdrtAJJXQrJltd|ZrXQJf`vlJtArrXQJrtAJl˂pZHAnXvdrtAJpZHAbnXvtAJlpZHAbnXvrXQJ`ZHAbnXv`XQJ`ے`vXntArdXQJ`ے`vXntArdJ`ےvXnrd|XQJ`ےltb˂pZHAbAdZ|dQbt`ےbXnvd|Z`ےbtbdQbے``f~ltbے`J`f~tbdQZے`J`f~ےbHAے`JXQf~HbHAZvpf|ZdQbbHAZvpf|ZdQtAbHAZpvpfHZdQbtHAZpdQZ|bے`drQtlJtArHAZp˂pfH~dQbtHAZp˂Z|dJXQrHfpvdQZ|XQr˂Hfpv|drXQr˂HfpvZdrr˂pfpvdrtAH~ftlJp˂rH~frd|˂rXQ~f`lJtA˂rXQdrtAJJXQrJltd|ZrXQJf`vlJtArrXQJtAJl˂pZHAnXvAJltpZHAbnXvtAJlpZHAbnXvtAdQZ|ZHAbnXv`Jlt`vXntArdXQJ`ے`vXnZdQbtJ`ےvXnrd|J`ےltb˂p`ZbAdZ|dQbt`ےbXnvd|Z`ےbtbnbے``pvbnvے`J`f~tbdQZے`J`f~drtAے`JXQf~HbdQZ|vpf|ZdQbbHAZvpflJtAbHAZpvpfHZdQbtbHAZpdQZ|QXb㉀ۂdrQtl|ZdQHAZp˂pfH~dQbtHAZp˂vpfHJXQrnXv`pfHXQr˂Hfpv|drXQr˂HfpvJltr˂pfpvdrtAH~ftlJp˂rH~frd|˂rXQ~f`lJtA˂rXQdtAJlpJAHrJltbtlrXQJf`vlJtArrXQJf`v˂pZHAf~Hf`vXpZHAbnXvtAJlpZHAbnXvbdQZ|ZAb`nXv`Jlt`vXntArdXQJ`ے`vXnZdQbtJ`ےvXnrd|J`ےtbnˁ`ZbAdZ|JtArd`ےbXnvd|Z`ےbXnvbے`fpvnvpے`J`f~tbdQZے`J`f~drtAJXQrf~HbdQZ|vpf|ZdQbbHAZvpfl|ZbHAZpvpfHZdQbtbHAZpvpfQXb㉀ۂdrQt|ZdQHAZp˂pfH~dQbtHAZp˂pfH~JXQrnXv`fH~XQr˂Hfpv|drXQr˂HfpvJltpZHAfpvdrtAH~ftlJp˂rH~fdQbt˂rXQ~f`lJtA˂rXQHf`p`ZQXJltbtlrXQJf`vlJtArrXQJf`v˂pZHApvnf`vXpZHAnXvtAJlpZHAbnXvdrtAJbے`nXv`JltZHAbtArdXQJ`ے`vXnlJtArJ`ےvXnrd|J`ےvXnb㉀ۑpbAdZ|JtArd`ےbXnvd|Z`ےbXnvے`JrXQJ`nvpے`JXQ`f~tbdQZے`J`f~ltbJXQrf~HbdQZ|ے`JXQ|ZdQbbHAZvpfd|ZbHAZpvpfHZdQbtbHAZpvpfHJAHr󙐂drQttlJHAZp˂pfH~dQbtHAZp˂pfH~XQrbtp˂rfH~rbtHfpv|drXQr˂HfpvdQZ|pZHAfpvdrtAr˂ptlJp˂rH~fdQbt˂rXQ~f`lJtA˂rXQ~f`ˁ`ZQXJlttArdrXQJf`vlJtArrXQJf`vlJtAXQJ`ےf`vXlJtAdnXvtAJlpZHAbnXvdrtAJbJQrnXv`JltZHAbtArdXQJ`ے`vXnlJtArJ`ےvXnrd|J`ےvXnb㉀ۑpbAdZ||ZdQb`ےbXnvd|Z`ےbXnvd|ZbHAZnvp|ZdQ`f~tbdQZے`J`f~ltb˂pZf~HbdQZ|ے`JXQ|ZdQbbHAZvpfdtlbHAZpvpfHZdQbtbHAZpvpfHJAHr󙐂drQttlJHAZp˂pfH~dQbtHAZp˂pfH~dQbtp˂rfH~btlHfpv|drXQr˂HfpvdQZ|lHAbےfpvdrtAr˂ptlJp˂rH~fJtArd˂rXQ~f`lJtA˂rXQ~f`ۑpJJlttArdrXQJf`vlJtArrXQJf`vlJtArXQJ`pf`vXJtArdnXvtAJlpZHAbnXvtbdQ`JXQrnXv`JltZHAbtArdXQJ`ے`vXn|ZdQJ`ےvXnrd|J`ےvXnAHr󙐂bAdZ||ZdQtA`ےbXnvd|Z`ےbXnvd|Z˂rXQnvp|ZdQ`fHtbdQZے`J`f~Z|d˂pZf~HbdQZ|ے`JXQf~HbHAZvpfbtlbHAZpvpfHZdQbtbHAZpvpfH`ZQXbdrQtrdfHAZp˂pfH~dQbtHAZp˂pfH~dQbtJ`ےfH~btlfpv|drXQr˂HfpvrtAJlHAbےfpvdrtAr˂pfpvp˂rH~fJtArd˂rXQ~f`lJtA˂rXQ~f`ۑpJJlt~HfrXQJf`vlJtArrXQJf`vlJtArbHAZpf`vXJtArdnrXQJtAJlpZHAbnXvtbdQ`JXQrnXv`JltZHAbnXv`XQJ`ے`vXn|ZdQJ`ےvXnrd|J`ےvXnAHr󙐂bAdZ|vnXv``ےbXnvd|Z`ےbXnvd|Z˂rXQnvp|ZdQ`ےHAtbdQZے`J`f~Z|dZHAbf~HbdQZ|ے`JXQf~HbHAZvpftArdbHAZpvpfHZdQbtbHAZpvpfH`ZQXAHdrQtf~HHAZdpfH~dQbtHAZp˂pfH~dQbtJ`ےfH~btlZp˂|drXQr˂HfpvrtAdQZے`JXfpvdrtAr˂pfpvp˂rH~ff~H˂rXQ~f`lJtA˂rXQ~f`r󙐂ˁ`JltfpvrtAJlf`vlJtArrXQJf`vlJtArbHAXQJf`vXJtArdrXQJ`tAJlpZHAbnXv|drQr˂pnXv`JltZHAbnXv`XQJ`ے`vXnfvnXJ`ےvXnrd|J`ےvXnZQXb㉀bAdZ|nXv`tbdQXnvd|Z`ےbXnvd|Z`ےbnvp|ZdQےbHAtbdQZے`J`f~tAJl璑ZHAbf~HbdQZ|ے`JXQf~HbHAZvpfv`fbHAZvpfHZdQbtbHAZpvpfHۑpJAHdrQtf~HZ|dpfH~dQbtHAZp˂pfH~dQbtHAZp˂fH~btlZp˂|dtAXQr˂HfpvtbdQZے`JXfpvdrtAr˂pfpvdrtAH~f~HfpdrtAJ~f`lJtA˂rXQ~f`r󙐂ˁ`JltfpvrtAJlf`vlJtArrXQJf`vlJtArrXQJf`vXJtArdrXQJ`JltpZHAbnXv|drQr˂pnXv`JltZHAbnXv`Jlt`vXnvnXltbvXnrd|J`ےvXnZQXb㉀bAdZ|nvftbdQXnvd|Z`ےbXnvd|Z`ےbnvp|ZdQےbHAbnvے`J`f~tAJl璑ZAb`f~HbdQZ|ے`JXQf~HbdQZ|vpfv`fdQZ|vpfHZdQbtbHAZpvpfHۑp`ZdrQt~HfpZ|dpfH~dQbtHAZp˂pfH~dQbtHAZp˂fH~btlZp˂pfHXQr˂HfpvtdrtAJXQrfpvdrtAr˂pfpvdrtAH~f~HfpdrtAJ~f`lJtA˂rXQ~f`QXb㉀JltvnXrtAJlfZHAlJtArrXQJf`vlJtArbHAf`vXJtArdrXQJ`f`vXpZHAbnXvJlt˂pZHAnXv`JltZHAbnXv`Jlt`vXnvnvfltbvXnrd|J`ےvXnpJAHrbAdZ|v`ftbdQbے`d|Z`ےbXnvd|ZZp˂nvp|ZdQےbHAnvpے`J`f~bdQZ|bے`f~HbdQZ|ے`JXQf~HbdQZ|vpf~HfdQZ|vpfHZdQbtbHAZpvpfHˁ`ZdrQt~HfpZ|dJXQrdQbtHAZp˂pfH~dQbtrXQJ`fH~btlZp˂fH~XQr˂HfpvdrtAJXQrfpvdrtAr˂pfpvdrtAH~fpvndrtAJ~fZlJtA˂rXQ~f`QXb㉀JltvnXrtAJl˂pZHAlJtArrXQJf`vlJtArےbHAf`vXJtArdrXQJ`f`vXpZHAnXvJlt˂pZAnXv`JltZHAbnXv`JltZHAbXv`fltbHAbےrd|J`ےvXnpJAHrbAdZ|v`f~tbdQbے`d|Z`ےbXnvd|ZZp˂nvp|ZdQےbHAnvpے`JXQ`f~bdQZ|`JXQrf~HbdQZ|ے`JXQf~HbdQZ|˂pZ~HfdQZ|`JXQrZdQbtbHAZpvpfHۑpdrQtfpvZ|dJXQrdQbtHAZp˂pfH~dQbtrXQJ`fH~btlZp˂fH~rbtHfpvltbbtlfpvdrtAr˂pfpvdrtAHAbےpvndrtAJ˂pZlJtA˂rXQ~f`JAHrJltnXv`rtAJl˂pZHAlJtArrXQJf`vlJtArp˂rf`vXJtArdrXQJ`f`vXlJtAdnXvdQZ|JtAdnXv`JltZHAbnXv`Jlt`JXQrXv`fltbHAbےrd|J`ےvXnˁ`ZQXbAdZ|--------------------............................................................. \ No newline at end of file diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv40_3.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv40_3.dat deleted file mode 100644 index 03defc8cd5..0000000000 --- a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv40_3.dat +++ /dev/null @@ -1,353 +0,0 @@ -~}~}~}~}zyzyzyzyxwxwxwxwtstststsopopopoolklklklkjijijijifefefefe~}~}~}~}zyzyzyzyxwxwxwvutstststsoooopopolklklklkjijijijifefefefe~}~}~}~}zyzyzyzyvuvuvuvutstststspopopopolklklklkjijijijifefefefe~}~}~}~}zyzyzyzyvuvuvuvutstststspopopopolklklklkjijijijifefefefe~}~}~}~}zyzyzyzyvuvuvuvutstststspopopopolklklklkjijijijifefefefe~}~}~}|{zyzyzyzyvuvuvuvutstststspopopopolklklklkjijijijifefefefe|{|{|{|{zyzyzyzyvuvuvuvutstststspopopopolklklklkjijijijifefefefe|{|{|{|{zyzyzyzyvuvuvuvutstststspooooooplklklklkjijijijifefefefe|{|{|{|{zyzyzyzyvuvuvuvutstststsopopopoplklklklkjijijijifefefefe|{|{|{|{zyzyzyzyvuvuvuvutstststsopopopoplklklklkjijijijifefefefe|{|{|{|{zyzyzyzyvuvuvuvutstststsopopopoplklklklkjijijijifefefefe|{|{|{|{zyzyzyzyvuvuvuvutstststsopopopoplklklklkjijijijifefefefe|{|{|{|{zyzyzyzyvuvuvuvutstststsopopopoplklklklkjijijijifefefefe|{|{|{|{zyzyzyzyvuvuvuvutsrqrqrqopopoooolklklklkjijijijifefefefe|{|{|{|{zyzyzyzyvuvuvuvurqrqrqrqoopopopolklklklkjijijijifefefefe|{|{|{|{zyzyzyzyvuvuvuvurqrqrqrqpopopopolklklklkjijijijifefefefe|{|{|{|{zyzyzyzyvuvuvuvurqrqrqrqpopopopolklklklkjijihghgfefefefe|{|{|{|{zyzyzyzyvuvuvuvurqrqrqrqpopopopolklklklkhghghghgfefefefe|{|{|{|{zyzyzyzyvuvuvuvurqrqrqrqpopopopolklklklkhghghghgfefefefe|{|{|{|{zyzyzyzyvuvuvuvurqrqrqrqoooopopolklklklkhghghghgfefefefe|{|{|{|{zyzyzyzyvuvuvuvurqrqrqrqpoponmnmlklklklkhghghghgfefefefe|{|{|{|{zyzyzyzyvuvuvuvurqrqrqrqnmnmnmnmlklklklkhghghghgfefefefe|{|{|{|{zyzyzyzyvuvuvuvurqrqrqrqnmnmnmnmlklklklkhghghghgfefefefe|{|{|{|{zyzyzyzyvuvuvuvurqrqrqrqnmnmnmnmlklklklkhghghghgfefefefe|{|{|{|{zyzyzyzyvuvuvuvurqrqrqrqnmnmnmnmlklklklkhghghghgfefefefe|{|{|{|{zyzyzyxwvuvuvuvurqrqrqrqnmnmnmnmlklklklkhghghghgfefefefe|{|{|{|{xwxwxwxwvuvuvuvurqrqrqrqnmnmnmnmlklklklkhghghghgfefefefe|{|{|{|{xwxwxwxwvuvuvuvurqrqrqrqnmnmnmnmlklklklkhghghghgfefefefe|{|{|{|{xwxwxwxwvuvuvuvurqrqrqrqnmnmnmnmlklklklkhghghghgfefefefe~}|{|{|{|{xwxwxwxwvuvuvuvurqrqrqrqnmnmnmnmlklklklkhghghghgfefefefe~}~}~}~}|{|{|{|{xwxwxwxwvuvuvuvurqrqrqrqnmnmnmnmlklklklkhghghghgfefefefe~}~}~}~}|{|{|{|{xwxwxwxwvuvuvuvurqrqrqrqnmnmnmnmlklklklkhghghghgfefefefe~}~}~}~}|{|{|{|{xwxwxwxwvuvuvuvurqrqrqrqnmnmnmnmlklklklkhghghghgfefefefe~}~}~}~}|{|{|{|{xwxwxwxwvuvuvuvurqrqrqrqnmnmnmnmlklklklkhghghghgfefefefe~}~}~}~}|{|{|{|{xwxwxwxwvuvuvuvurqrqrqrqnmnmnmnmlklklklkhghghghgfefefefedcdcdcdc~}~}~}~}|{|{|{|{xwxwxwxwvuvuvuvurqrqrqrqnmnmnmnmlklklklkhghghghgfefefefedcdcdcdc~}~}~}~}|{|{|{|{xwxwxwxwvuvuvuvurqrqrqrqnmnmnmnmlklklklkhghghghgfefedcdcdcdcdcdc~}~}~}~}|{|{|{|{xwxwxwxwvuvuvuvurqrqrqrqnmnmnmnmlklklklkhghghghgdcdcdcdcdcdcdcdc~}~}~}~}|{|{|{|{xwxwxwxwvuvuvuvurqrqrqrqnmnmnmnmlklklklkhghghghgdcdcdcdcdcdcdcdc~}~}~}~}|{|{|{|{xwxwxwxwvuvuvuvurqrqrqrqnmnmnmnmlklklklkhghghghgdcdcdcdcdcdcdcdc~}~}~}~}|{|{|{|{xwxwxwxwvuvuvuvurqrqrqrqnmnmnmnmlklkjijihghghghgdcdcdcdcdcdcdcdc~}~}~}~}|{|{|{|{xwxwxwxwvuvuvuvurqrqrqrqnmnmnmnmjijijijihghghghgdcdcdcdcdcdcdcdc~}~}~}~}|{|{|{|{xwxwxwxwvuvuvuvurqrqrqrqnmnmnmnmjijijijihghghghgdcdcdcdcdcdcdcdc~}~}~}~}|{|{|{|{xwxwxwxwvuvuvuvurqrqrqrqnmnmnmnmjijijijihghghghgdcdcdcdcdcdcdcdc~}~}~}~}|{|{|{|{xwxwxwxwvuvuvuvurqrqrqrqnmnmnmnmjijijijihghghghgdcdcdcdcdcdcdcdc~}~}~}~}|{|{|{|{xwxwxwxwvuvuvutsrqrqrqrqnmnmnmnmjijijijihghghghgdcdcdcdcdcdcdcdc~}~}~}~}|{|{|{|{xwxwxwxwtstststsrqrqrqrqnmnmnmnmjijijijihghghghgdcdcdcdcdcdcbaba~}~}~}~}|{|{|{|{xwxwxwxwtstststsrqrqrqrqnmnmnmnmjijijijihghghghgdcdcdcdcbabababa~}~}~}~}|{|{|{|{xwxwxwxwtstststsrqrqrqponmnmnmnmjijijijihghghghgdcdcdcdcbabababa~}~}~}~}|{|{|{zyxwxwxwxwtstststspopopooonmnmnmnmjijijijihghghghgdcdcdcdcbabababa~}~}~}~}zyzyzyzyxwxwxwxwtstststsooopopopnmnmnmnmjijijijihghghghgdcdcdcdcbabababa~}~}~}~}zyzyzyzyxwxwxwxwtstststsopopopopnmnmnmnmjijijijihghghghgdcdcdcdcbabababa~}~}~}~}zyzyzyzyxwxwxwxwtstststsopopopopnmnmnmnmjijijijihghghghgdcdcdcdcbabababa~}~}~}~}zyzyzyzyxwxwxwxwtstststsopopopopnmnmnmnmjijijijihghghghgdcdcdcdcbabababa~}~}~}~}zyzyzyzyxwxwxwxwtstststsopopopopnmnmnmnmjijijijihghghghgdcdcdcdcbabababa~}~}~}~}zyzyzyzyxwxwxwxwtstststsopopopopnmnmnmnmjijijijihghghghgdcdcdcdcbabababa~}~}~}~}zyzyzyzyxwxwxwxwtstststsooooooponmnmnmnmjijijijihghghghgdcdcdcdcbabababa~}~}~}~}zyzyzyzyxwxwxwxwtstststspopopoponmnmnmnmjijijijihghghghgdcdcdcdcbabababa~}~}~}~}zyzyzyzyxwxwxwxwtstststspopopoponmnmnmnmjijijijihghghghgdcdcdcdcbabababa~}~}~}~}zyzyzyzyxwxwxwxwtstststspopopoponmnmnmnmjijijijihghghghgdcdcdcdcbabababa~}~}~}~}zyzyzyzyxwxwxwxwtstststspopopoponmnmnmnmjijijijihghgfefedcdcdcdcbabababa~}~}~}~}zyzyzyzyxwxwxwxwtstststspopopoponmnmnmnmjijijijifefefefedcdcdcdcbabababa~}~}~}~}zyzyzyzyxwxwxwxwtstststspopooooonmnmnmnmjijijijifefefefedcdcdcdcbabababa~}~}~}~}zyzyzyzyxwxwxwxwtstststsopopopopnmnmnmnmjijijijifefefefedcdcdcdcbabababa~}~}~}~}zyzyzyzyxwxwxwxwtstststsopopopopnmnmlklkjijijijifefefefedcdcdcdcbabababa~}~}~}~}zyzyzyzyxwxwxwxwtstststsopopopoplklklklkjijijijifefefefedcdcdcdcbabababa~}~}~}~}zyzyzyzyxwxwxwxwtstststsopopopoplklklklkjijijijifefefefedcdcdcdcbabababa~}~}~}~}zyzyzyzyxwxwxwxwtstststsopopopoplklklklkjijijijifefefefedcdcdcdcbabababababababa^]^]^]^]\[\[\[\[XWXWXWXWSTSTSTSTRQRQRQRQNMNMNMNMLKLKLKLKHGHGHGHGFEFEFEFEBABABABA@?@?@?@?<;<;<;<;787777774343434321212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!    babababa^]^]^]^]\[\[\[\[XWXWXWXWSTSTSTSTRQRQRQRQNMNMNMNMLKLKLKLKHGHGHGHGFEFEFEFEBABABABA@?>=>=>=<;<;<;<;878787874343434321212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!    babababa^]^]^]^]\[\[\[\[XWXWXWXWSTSTSTSTRQRQRQRQNMNMNMNMLKLKLKLKHGHGHGHGFEFEFEFEBABABABA>=>=>=>=<;<;<;<;878787874343434321212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!    babababa^]^]^]^]\[\[\[\[XWXWXWXWSTSTSTSTRQRQRQRQNMNMNMNMLKLKLKLKHGHGHGHGFEFEFEFEBABABABA>=>=>=>=<;<;<;<;878787874343434321212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!    babababa^]^]^]^]\[\[\[\[XWXWXWXWSTSTSTSSRQRQRQRQNMNMNMNMLKLKLKLKHGHGHGHGFEFEFEFEBABABABA>=>=>=>=<;<;<;<;878787874343434321212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!    babababa^]^]^]^]\[\[\[\[XWXWXWXWSSSSTSTSRQRQRQRQNMNMNMNMLKLKLKLKHGHGHGHGFEDCDCDCBABABABA>=>=>=>=<;<;<;<;878787874343434321212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!    babababa^]^]^]^]\[\[\[\[XWXWXWXWTSTSTSTSRQRQRQRQNMNMNMNMLKLKLKLKHGHGHGHGDCDCDCDCBABABABA>=>=>=>=<;<;<;<;878787774343434321212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!    babababa^]^]^]^]\[\[\[\[XWXWXWXWTSTSTSTSRQRQRQRQNMNMNMNMLKLKLKLKHGHGHGHGDCDCDCDCBABABABA>=>=>=>=<;<;<;<;777878784343434321212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!    babababa^]^]^]^]\[\[\[\[XWXWXWXWTSTSTSTSRQRQRQRQNMNMNMNMLKLKLKLKHGHGHGHGDCDCDCDCBABABABA>=>=>=>=<;<;<;<;787878784343434321212121.-.-.-.-,+,+,+,+('('('('$#$#$#$#"!"!"!"!    babababa^]^]^]^]\[\[\[\[XWXWXWXWTSTSTSTSRQRQRQRQNMNMNMNMLKJIJIJIHGHGHGHGDCDCDCDCBABABABA>=>=>=>=<;<;<;<;787878784343434321212121.-.-.-.-,+,+,+,+('('('('$#$#$#$#"!"!"!"!    babababa^]^]^]^]\[\[\[\[XWXWXWXWTSTSTSTSRQRQRQRQNMNMNMNMJIJIJIJIHGHGHGHGDCDCDCDCBABABABA>=>=>=>=<;<;<;<;787878784343434321212121.-.-.-.-,+,+,+,+('('('('$#$#$#$#"!"!"!"!    babababa^]^]^]^]\[\[\[\[XWXWXWXWTSSSSSSTRQRQRQRQNMNMNMNMJIJIJIJIHGHGHGHGDCDCDCDCBABABABA>=>=>=>=<;<;<;<;787878784343434321212121.-.-.-.-,+,+,+,+('('('('$#$#$#$#"!"!"!"!    babababa^]^]^]^]\[\[\[\[XWXWXWXWSTSTSTSTRQRQRQRQNMNMNMNMJIJIJIJIHGHGHGHGDCDCDCDCBABABABA>=>=>=>=<;<;<;:9787878784343434321212121.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!"!"!"!    babababa^]^]^]^]\[\[\[\[XWXWXWXWSTSTSTSTRQPOPOPONMNMNMNMJIJIJIJIHGHGHGHGDCDCDCDCBABABABA>=>=>=>=:9:9:9:9777777874343434321212121.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!"!"!"!    babababa^]^]^]^]\[\[\[\[XWXWXWXWSTSTSTSTPOPOPOPONMNMNMNMJIJIJIJIHGHGHGHGDCDCDCDCBABABABA>=>=>=>=:9:9:9:9878787874343434321212121.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!"!"!"!    - babababa^]^]^]^]\[\[\[\[XWXWXWXWSTSTSTSTPOPOPOPONMNMNMNMJIJIJIJIHGHGHGHGDCDCDCDCBABABABA>=>=>=>=:9:9:9:9878787874343434321212121.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!"!"!"!    - - - - babababa^]^]^]^]\[\[\[\[XWXWXWXWSTSTSTSTPOPOPOPONMNMNMNMJIJIJIJIHGHGHGHGDCDCDCDCBABABABA>=>=>=>=:9:9:9:987878787434343430/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!"!"!"!    - - - - babababa^]^]^]^]\[\[\[\[XWXWXWXWSTSTSSSSPOPOPOPONMNMNMNMJIJIJIJIHGHGHGHGDCDCDCDCBABABABA>=>=>=>=:9:9:9:987878787434343430/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!"!"!"!    - - - - babababa^]^]^]^]\[\[ZYZYXWXWXWXWSSTSTSTSPOPOPOPONMNMNMNMJIJIJIJIHGHGHGHGDCDCDCDCBABABABA>=>=>=>=:9:9:9:987877777434343430/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!"!"!"!    - - - - babababa^]^]^]^]ZYZYZYZYXWXWXWXWTSTSTSTSPOPOPOPONMNMNMNMJIJIJIJIHGHGHGHGDCDCDCDCBABABABA>=>=>=>=:9:9:9:987878787434343430/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!"!"!"!    - - - - babababa^]^]^]^]ZYZYZYZYXWXWXWXWTSTSTSTSPOPOPOPONMNMNMNMJIJIJIJIHGHGHGHGDCDCDCDCBABABABA>=>=>=>=:9:9:9:965656565434343430/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!"!"!"!    - - - - babababa^]^]^]^]ZYZYZYZYXWXWXWXWTSTSTSTSPOPOPOPONMNMNMNMJIJIJIJIHGHGHGHGDCDCDCDCBABABABA>=>=>=>=:9:9:9:965656565434343430/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!"!"!"!    - - - - baba`_`_^]^]^]^]ZYZYZYZYXWXWXWXWTSTSTSTSPOPOPOPONMNMNMNMJIJIJIJIHGHGHGHGDCDCDCDCBABABABA>=>=>=>=:9:9:9:965656565434343430/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!"!"!"!    - - - - `_`_`_`_^]^]^]^]ZYZYZYZYXWXWXWXWTSTSTSTSPOPOPOPONMNMNMNMJIJIJIJIHGHGHGHGDCDCDCDCBABABABA>=>=>=>=:9:9:9:965656565434343430/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!"!"!"!    - - - - `_`_`_`_^]^]^]^]ZYZYZYZYXWXWXWXWSSSSSTSTPOPOPOPONMNMNMNMJIJIJIJIHGHGHGHGDCDCDCDCBABABABA>=>=>=>=:9:9:9:965656565434343430/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!"!"!"!    - - - - `_`_`_`_^]^]^]^]ZYZYZYZYXWXWXWXWSTSTSTSTPOPOPOPONMNMNMNMJIJIJIJIHGHGHGHGDCDCDCDCBA@?@?@?>=>=>=>=:9:9:9:965656565434343430/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!"!"!"!    - - - - `_`_`_`_^]^]^]^]ZYZYZYZYXWXWXWXWSTSTSTSTPOPOPOPONMNMNMNMJIJIJIJIHGHGHGHGDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:965656565434343430/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!"!"!"!    - - - - `_`_`_`_^]^]^]^]ZYZYZYZYXWXWXWXWSTSTSTSTPOPOPOPONMNMNMNMJIJIJIJIHGHGHGHGDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:965656565434343430/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#"!"!"!"!    - - - - `_`_`_`_^]^]^]^]ZYZYZYZYXWXWXWXWSTSTSTSTPOPOPOPONMNMNMNMJIJIJIJIHGHGHGHGDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:965656565434343430/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#        - - - - `_`_`_`_^]^]^]^]ZYZYZYZYXWXWXWXWSTSTSTSTPOPOPOPONMNMNMNMJIJIJIJIHGFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:965656565434343430/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#        - - - - `_`_`_`_^]^]^]^]ZYZYZYZYVUVUVUVUSTSSSSSSPOPOPOPONMNMNMNMJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:965656565434343430/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#        - - - - `_`_`_`_^]^]^]^]ZYZYZYZYVUVUVUVUTSTSTSTSPOPOPOPONMNMNMNMJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:965656565434343430/0/0/0/.-.-.-.-*)*)*)*)('('('('$#$#$#$#        - - - - `_`_`_`_^]^]^]^]ZYZYZYZYVUVUVUVUTSTSTSTSPOPOPOPONMNMNMNMJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:965656565434343430/0/0/0/.-.-.-.-*)*)*)*)&%&%&%&%$#$#$#$#        - - - - `_`_`_`_^]^]^]^]ZYZYZYZYVUVUVUVUTSTSTSTSPOPOPOPONMLKLKLKJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:965656565434343430/0/0/0/.-.-.-.-*)*)*)*)&%&%&%&%$#$#$#$#        - - - - `_`_`_`_^]^]^]^]ZYZYZYZYVUVUVUVUTSTSTSTSPOPOPOPOLKLKLKLKJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:965656565434343430/0/0/0/.-.-.-.-*)*)*)*)&%&%&%&%$#$#$#$#        - - - - `_`_`_`_^]^]^]^]ZYZYZYZYVUVUVUVUTSTSTSSSPOPOPOPOLKLKLKLKJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:965656565434343430/0/0/0/.-.-.-.-*)*)*)*)&%&%&%&%$#$#$#$#        - - - - `_`_`_`_^]^]^]^]ZYZYZYZYVUVUVUVUSSTSTSTSPOPOPOPOLKLKLKLKJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:965656565434343430/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#        - - - - `_`_`_`_^]^]^]^]ZYZYZYZYVUVUVUVUTSRQRQRQPOPOPOPOLKLKLKLKJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:965656565434343430/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#        - - - - `_`_`_`_^]^]^]^]ZYZYZYZYVUVUVUVURQRQRQRQPOPOPOPOLKLKLKLKJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:965656565434343430/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#       - - - - `_`_`_`_^]^]^]^]ZYZYZYZYVUVUVUVURQRQRQRQPOPOPOPOLKLKLKLKJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:965656565434343430/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#     - - - - `_`_`_`_^]^]^]^]ZYZYZYZYVUVUVUVURQRQRQRQPOPOPOPOLKLKLKLKJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:965656565212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#     - - - - `_`_`_`_^]^]^]^]ZYZYZYZYVUVUVUVURQRQRQRQPOPOPOPOLKLKLKLKJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:965656565212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#     - - - - `_`_`_`_^]^]\[\[ZYZYZYZYVUVUVUVURQRQRQRQPOPOPOPOLKLKLKLKJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:965656565212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#     - - - - `_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVURQRQRQRQPOPOPOPOLKLKLKLKJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:965656565212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#     - - - - `_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVURQRQRQRQPOPOPOPOLKLKLKLKJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?>=>=>=>=:9:9:9:965656565212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#     - - - - `_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVURQRQRQRQPOPOPOPOLKLKLKLKJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?>=<;<;<;:9:9:9:965656565212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#     - - - - `_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVURQRQRQRQPOPOPOPOLKLKLKLKJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?<;<;<;<;:9:9:9:965656565212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#     - - - - `_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVURQRQRQRQPOPOPOPOLKLKLKLKJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?<;<;<;<;:9:9:9:965656565212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#     - - - - `_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVURQRQRQRQPOPOPOPOLKLKLKLKJIJIJIJIFEFEFEFEDCDCDCDC@?@?@?@?<;<;<;<;:987878765656565212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#     - - - - `_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVURQRQRQRQPOPOPOPOLKLKLKLKJIJIJIJIFEFEFEFEDCBABABA@?@?@?@?<;<;<;<;8777777865656565212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#     - - - - `_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVURQRQRQRQPOPOPOPOLKLKLKLKJIJIJIJIFEFEFEFEBABABABA@?@?@?@?<;<;<;<;7878787865656565212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#     - - - - `_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVURQRQRQRQPOPOPOPOLKLKLKLKJIJIJIJIFEFEFEFEBABABABA@?@?@?@?<;<;<;<;7878787865656565212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%$#$#$#$#     - - - - `_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVURQRQRQRQPOPOPOPOLKLKLKLKJIJIJIJIFEFEFEFEBABABABA@?@?@?@?<;<;<;<;7878787865656565212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%"!"!"!"!     - - - - `_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVURQRQRQRQPOPOPOPOLKLKLKLKJIHGHGHGFEFEFEFEBABABABA@?@?@?@?<;<;<;<;7878787865656565212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%"!"!"!"!     - - - - `_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVURQRQRQRQPOPOPOPOLKLKLKLKHGHGHGHGFEFEFEFEBABABABA@?@?@?@?<;<;<;<;7878787865656565212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%"!"!"!"!     - - - - `_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVURQRQRQRQPOPOPOPOLKLKLKLKHGHGHGHGFEFEFEFEBABABABA@?@?@?@?<;<;<;<;7878777765656565212121210/0/0/0/,+,+,+,+*)*)*)*)&%&%&%&%"!"!"!"!     - - - - `_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVURQRQRQRQPOPOPOPOLKLKLKLKHGHGHGHGFEFEFEFEBABABABA@?@?@?@?<;<;<;<;7787878765656565212121210/0/0/0/,+,+,+,+('('('('&%&%&%&%"!"!"!"!     - - - - `_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVURQRQRQRQPONMNMNMLKLKLKLKHGHGHGHGFEFEFEFEBABABABA@?@?@?@?<;<;<;<;8787878765656565212121210/0/0/0/,+,+,+,+('('('('&%&%&%&%"!"!"!"!     - - - - `_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVURQRQRQRQNMNMNMNMLKLKLKLKHGHGHGHGFEFEFEFEBABABABA@?@?@?@?<;<;<;<;8787878765656565212121210/0/0/0/,+,+,+,+('('('('&%&%&%&%"!"!"!"!     - - - `_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVURQRQRQRQNMNMNMNMLKLKLKLKHGHGHGHGFEFEFEFEBABABABA@?@?@?@?<;<;<;<;8787878765656565212121210/0/0/0/,+,+,+,+('('('('&%&%&%&%"!"!"!"!     `_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVURQRQRQRQNMNMNMNMLKLKLKLKHGHGHGHGFEFEFEFEBABABABA@?@?@?@?<;<;<;<;878787876565656521212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!     `_`_`_`_\[\[\[\[ZYZYZYZYVUVUVUVURQRQRQRQNMNMNMNMLKLKLKLKHGHGHGHGFEFEFEFEBABABABA@?@?@?@?<;<;<;<;878787876565656521212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!     `_`_`_`_\[\[\[\[ZYZYXWXWVUVUVUVURQRQRQRQNMNMNMNMLKLKLKLKHGHGHGHGFEFEFEFEBABABABA@?@?@?@?<;<;<;<;777778786565656521212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!     `_`_`_`_\[\[\[\[XWXWXWXWVUVUVUVURQRQRQRQNMNMNMNMLKLKLKLKHGHGHGHGFEFEFEFEBABABABA@?@?@?@?<;<;<;<;787878786565656521212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!      `_`_`_`_\[\[\[\[XWXWXWXWVUVUVUVURQRQRQRQNMNMNMNMLKLKLKLKHGHGHGHGFEFEFEFEBABABABA@?@?@?@?<;<;<;<;787878784343434321212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!    `_`_`_`_\[\[\[\[XWXWXWXWVUVUTSTSRQRQRQRQNMNMNMNMLKLKLKLKHGHGHGHGFEFEFEFEBABABABA@?@?@?@?<;<;<;<;787878784343434321212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!    `_`_^]^]\[\[\[\[XWXWXWXWTSTSSSSSRQRQRQRQNMNMNMNMLKLKLKLKHGHGHGHGFEFEFEFEBABABABA@?@?@?@?<;<;<;<;787878784343434321212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!    ^]^]^]^]\[\[\[\[XWXWXWXWSTSTSTSTRQRQRQRQNMNMNMNMLKLKLKLKHGHGHGHGFEFEFEFEBABABABA@?@?@?@?<;<;<;<;787878784343434321212121.-.-.-.-,+,+,+,+('('('('&%&%&%&%"!"!"!"!    qqrrsstt^^__``aa55667788llkkjjiiUUVVWWXXLLKKJJIIzz{{||}}**++,,--''&&%%$$wwvvuuttJJKKLLMMCCBBAA@@\[[ZZYYXooppqqrr !!""uuvvwwxxbbccddee99::;;<<hhggffeeYYZZ[[\\ - - HHGGFFEE~~..//0011##""!! ssrrqqppNNOOPPQQ??>>==77WVUTSSRRssttuuvv##$$%%&&yyzz{{||ffgghhii==>>??@@ddccbbaa]]^^__`` DDCCBBAA22334455oonnmmllRRSSTTUU66554433QQPPOONNwwxxyyzz''(())**}}~~jjkkllmmAABBCCDD ``__^^]]aabbccdd@@??>>==66778899kkjjiihhVVWWXXYY 221100//MMLLKKJJ{{||}}~~++,,--..nnoouuvvEEFFGGHH - - \\[[ZZYYeeffgghh<<;;::99::;;<<==ggffeeddZZ[[\\]] - - ..--,,++IIHHGGFF//001122wwxxyyzzIIJJKKLLXXWWVVUUiijjkkll88776655~~}}||{{>>??@@AAccbbaa``^^__``aa**))((''EEDDCCBB33445566{{||}}~~MMNNOOPPTTSSRRQQmmnnoopp 44332211zzyyxxwwBBCCDDEE __^^]]\\bbccddee&&%%$$##AA@@??>>778899::QQRRSSTTPPOONNMMqqrrsstt!!""##$$00//..--vvuuoonnFFGGHHII - - [[ZZYYXXffgghhii""!!==<;:987;;<<==>>UUVVWWXXLLKKJJIIuuvvwwxx%%&&''((,,++**))mmllkkjjJJKKLLMMWWVVUUTTjjkkllmm76655443??@@AABBYYZZ[[\\ - - HHGGFFEEyyzz{{||))**++,,((''&&%%iihhggff~~}}||NNOOPPQQSSRRQQPPnnooppqq !!3221100/~~}}||{{CCDDEEFF]]^^__`` DDCCBBAA}}~~--..//00$$##""!!eeddccbb{{zzyyxxRRSSTTUUOONNMMLLrrssttuu""##$$%%/..--,,+zzyyxxwwGGHHIIJJaabbccdd@@??>>==11223344 aa``__^^wwvvuutsVVWWXXYY KKJJIIHHvvwwxxyy&&''(()) - -+**))(('vvuuttssKKLLMMNN~~}}eeffgghh<<;;::9955667788]]\\[[ZZrqpoonnmZZ[[\\]] - - GGFFEEDDzz{{||}}**++,,-- '&&%%$$#rrqqppooOOPPQQRR||{{zzyyiijjkkll8877665599::;;<<YYSSRRQQmllkkjji^^__``aaCCBBAA@@~~..//0011#""!! nnmmllkkSSTTUUVVxxwwvvuummnnoopp 44332211==>>??@@PPOONNMMihhggffebbccddee??>>==<<22334455 - - jjiihhggWWXXYYZZttssrrqqqqrrsstt!!""##$$00//..--~~}}AABBCCDD LLKKJJIIeddccbbaffgghhii;;::998866778899 ffeeddcc[[\\]]^^ppoonnmmuuvvwwxx%%&&''((,,++**))||{{zzyyEEFFGGHH - - HHGGFFEEa``__^^]jjkkllmm77665544::;;<<==bbaa``____``aabbllkkjjiiyyzz{{||))**++,,((''&&%%xxwwvvuuIIJJKKLLDDCCBBAA]\\[[ZZYnnooppqq !!33221100>>??@@AA ^^]]\\[[ccddeeffhhggffee}}~~--..//00$$##""!!ttssrrqqMMNNOOPP@@??>>==YXWVUTSSrrssttuu""##$$%%//..--,,~~}}||BBCCDDEE - - ZZYYXXWWgghhiijjddccbbaa11223344 ppoonnmmQQRRSSTT77665544RRQQPPOOvvwwxxyy&&''(())++**))(({{zzyyxxFFGGHHII!!""##$$VVUUTTSSkkllmmnn``__^^]]55667788llkkjjiiUUVVWWXX33221100NNMMLLKKzz{{||}}**++,,--''&&%%$$wwvvuuttJJKKLLMM%%&&''((RRQQPPOOooppqqrr\\[[ZZYY99::;;<<hhggffeeYYZZ[[\\ - - //..--,,JJIIHHGG~~..//0011##""!! ssrrqqppNNOOPPQQ))**++,,NNMMLLKKssttuuvvXXWWVVUU==>>??@@ddccbbaa]]^^__`` ++**))((FFEEDDCC22334455oonnmmllRRSSTTUU--..//00 - -JJIIHHGGwwxxyyzzTTSSRRQQAABBCCDD ``__^^]]aabbccdd''&&%%$$BBAA@@??66778899kkjjiihhVVWWXXYY11223344 FFEEDDCC{{||}}~~PPOONNMMEEFFGGHH - - \\[[ZZYYeeffgghh##""!!>>==<;:9::;;<<==ggffeeddZZ[[\\]]556677==BBAA@@??LLKKJJIIIIJJKKLLXXWWVVUUiijjkkll87766554>>??@@AAccbbaa``^^__``aa>>??@@AA>>==<<;;HHGGFFEE~~}}||{{MMNNOOPPTTSSRRQQmmnnoopp 43322110~~}}||BBCCDDEE __^^]]\\bbccddeeBBCCDDEE::998877DDCCBBAAzzyyxxwwQQRRSSTTPPOONNMMqqrrsstt!!""##$$0//..--,{{zzyyxxFFGGHHII - - [[ZZYYXXffgghhiiFFGGHHII66554433@@??>>==vvuuoonn~~}}||UUVVWWXXLLKKJJIIuuvvwwxx%%&&''(( ,++**))(wwvvuuttJJKKLLMMWWVVUUTTjjkkllmmJJKKLLMM !!""221100//<<;;::99mmllkkjj{{zzyyxxYYZZ[[\\ - - HHGGFFEEyyzz{{||))**++,, - - (''&&%%$ssrrqqppNNOOPPQQSSRRQQPPnnooppqqNNOOPPQQ##$$%%&&..--,,++~~}}||{{88776655iihhggffwwvvuuts]]^^__`` DDCCBBAA}}~~--..//00$##""!! oonnmmllRRSSTTUUOONNMMLLrrssttuuRRSSYYZZ''(())****))((''zzyyxxww44332211eeddccbbrqpoonnmaabbccdd@@??>>==11223344 - -kkjjiihhVVWWXXYY KKJJIIHHvvwwxxyy[[\\]]^^++,,--..&&%%$$##vvuuttss00//..--aa``__^^mllkkjjieeffgghh<<;;::9955667788 ggffeeddZZ[[\\]] - - GGFFEEDDzz{{||}}__``aabb//001122""!! rrqqppoo,,++**))]]\\[[ZZihhggffeiijjkkll8877665599::;;<<ccbbaa``^^__``aaCCBBAA@@~~ccddeeff33445566nnmmllkk((''&&%%YYSSRRQQeddccbbammnnoopp 44332211==>>??@@__^^]]\\bbccddee??>>==<>ffeeddcc..--,,++ LLKKJJII]\\[[ZZYuuvvwwxx%%&&''((,,++**))||{{zzyyEEFFGGHH!!""## WWVVUUTTjjkkllmm77665544oouuvvww??@@AABBbbaa``__**))((''HHGGFFEEYXWVUTSSyyzz{{||))**++,,((''&&%%xxwwvvuuIIJJKKLL$$%%&&''SSRRQQPPnnooppqq !!33221100xxyyzz{{CCDDEEFF ^^]]\\[[&&%%$$##DDCCBBAARRQQPPOO}}~~--..//00$$##""!!ttssrrqqMMNNOOPP(())**++OONNMMLLrrssttuu""##$$%%//..--,,~~}}||||}}~~GGHHIIJJ - - ZZYYXXWW""!! @@??>>==NNMMLLKK11223344 ppoonnmmQQRRSSTT,,--..// KKJJIIHHvvwwxxyy&&''(())++**))(({{zzyyxxKKLLMMNNVVUUTTSS 77665544JJIIHHGG55667788llkkjjiiUUVVWWXX00112233 - - GGFFEEDDzz{{||}}**++,,--''&&%%$$wwvvuuttOOPPQQRRRRQQPPOO - - 33221100FFEEDDCC99::;;<<hhggffeeYYZZ[[\\44556677CCBBAA@@~~..//0011##""!! ssrrqqppSSTTUUVVNNMMLLKK - - //..--,,BBAA@@??==>>??@@ddccbbaa]]^^__``==>>??@@??>>==<<22334455oonnmmllWWXXYYZZ - -JJIIHHGG ++**))((>>==<;:9~~}}AABBCCDD ``__^^]]aabbccddAABBCCDD;;::998866778899kkjjiihh[[\\]]^^ FFEEDDCC ''&&%%$$87766554||{{zzyyEEFFGGHH - - \\[[ZZYYeeffgghhEEFFGGHH77665544::;;<<==ggffeedd__``aabbBBAA@@?? - - ##""!!43322110xxwwvvuuIIJJKKLLXXWWVVUUiijjkkllIIJJKKLL !!33221100>>??@@AAccbbaa``ccddeeff>>==<<;;0//..--,ttssrrqqMMNNOOPPTTSSRRQQmmnnooppMMNNOOPP""##$$%%//..--,,~~}}||BBCCDDEE __^^]]\\gghhiijj::998877 ,++**))(ppoonnmmQQRRSSTTPPOONNMMqqrrssttQQRRSSYY&&''(())++**))(({{zzyyxxFFGGHHII - - [[ZZYYXXkkllmmnn66554433!!""##$$(''&&%%$llkkjjiiUUVVWWXXLLKKJJIIuuvvwwxxZZ[[\\]]**++,,--''&&%%$$wwvvuuttJJKKLLMMWWVVUUTTooppqqrr !!""221100// - -%%&&''(( $##""!! hhggffeeYYZZ[[\\ - - HHGGFFEEyyzz{{||^^__``aa..//0011##""!! ssrrqqppNNOOPPQQSSRRQQPPssttuuvv##$$%%&&..--,,++~~}}||{{ ))**++,, - - - -ddccbbaa]]^^__`` DDCCBBAA}}~~bbccddee22334455oonnmmllRRSSTTUUOONNMMLLwwxxyyzz''(())****))((''zzyyxxww--..//00 ``__^^]]aabbccdd@@??>>==ffgghhii66778899kkjjiihhVVWWXXYY KKJJIIHH{{||}}~~++,,--..&&%%$$##vvuuttss11223344\\[[ZZYYeeffgghh<<;;::99jjkkllmm::;;<<==ggffeeddZZ[[\\]] - - GGFFEEDD//001122""!! rrqqppoo55667788XXWWVVUUiijjkkll88776655nnoouuvv>>??@@AAccbbaa``^^__``aaCCBBAA@@33445566nnmmllkk99::;;<< - -TTSSRRQQmmnnoopp 44332211wwxxyyzzBBCCDDEE __^^]]\\bbccddee??>>==<<778899::jjiihhgg !!""==>>??@@!!""## PPOONNMMqqrrsstt!!""##$$00//..--~~}}{{||}}~~FFGGHHII - - [[ZZYYXXffgghhii;;::9988~~;;<<==>>ffeeddcc##$$%%&&AABBCCDD$$%%&&''LLKKJJIIuuvvwwxx%%&&''((,,++**))||{{zzyyJJKKLLMMWWVVUUTTjjkkllmm77665544}}||{{zz??@@AABBbbaa``__''(())**EEFFGGHH(())**++ - - HHGGFFEEyyzz{{||))**++,,((''&&%%xxwwvvuuNNOOPPQQSSRRQQPPnnooppqq !!33221100yyxxwwvvCCDDEEFF ^^]]\\[[++,,--..IIJJKKLL,,--..// DDCCBBAA}}~~--..//00$$##""!!ttssrrqqRRSSTTUUOONNMMLLrrssttuu""##$$%%//..--,,uuoonnmmGGHHIIJJ - - ZZYYXXWW//001122MMNNOOPP00112233@@??>>==11223344 ppoonnmmVVWWXXYY KKJJIIHHvvwwxxyy&&''(())++**))((llkkjjiiKKLLMMNNVVUUTTSS33445566QQRRSSTT44556677<<;;::9955667788llkkjjiiZZ[[\\]] - - GGFFEEDDzz{{||}}**++,,--''&&%%$$hhggffee~~}}||{{OOPPQQRRRRQQPPOO778899::UUVVWWXX==>>??@@8877665599::;;<<hhggffee^^__``aaCCBBAA@@~~..//0011##""!! ddccbbaazzyyxxwwSSTTUUVVNNMMLLKK;;<<==>>YYZZ[[\\AABBCCDD 44332211==>>??@@ddccbbaabbccddee??>>==<<22334455``__^^]]vvuutsrqWWXXYYZZ - -JJIIHHGG??@@AABB]]^^__``EEFFGGHH!!""##$$00//..--~~}}AABBCCDD ``__^^]]ffgghhii;;::998866778899\\[[ZZYYpoonnmml[[\\]]^^ FFEEDDCCCCDDEEFFaabbccddIIJJKKLL%%&&''((,,++**))||{{zzyyEEFFGGHH - - \\[[ZZYYjjkkllmm77665544::;;<<==SSRRQQPPlkkjjiih__``aabbBBAA@@??GGHHIIJJeeffgghhMMNNOOPP))**++,,((''&&%%xxwwvvuuIIJJKKLLXXWWVVUUnnooppqq !!33221100>>??@@AAOONNMMLLhggffeedccddeeff>>==<<;;KKLLMMNNiijjkkllQQRRSSYY--..//00$$##""!!ttssrrqqMMNNOOPPTTSSRRQQrrssttuu""##$$%%//..--,,~~}}||BBCCDDEE KKJJIIHHdccbbaa`gghhiijj::998877OOPPQQRRmmnnooppZZ[[\\]]11223344 ppoonnmmQQRRSSTTPPOONNMMvvwwxxyy&&''(())++**))(({{zzyyxxFFGGHHII - - GGFFEEDD`__^^]]\kkllmmnn66554433SSTTUUVVWWXXYYZZ - -JJIIHHGG||}}~~,,--..//%%$$##""uuttssrrLLMMNNOOAA@@??>>ZYYXWVUTqqrrsstt!!""##$$00//..--~~}}AABBCCDD - -[[ZZYYXXffgghhii;;::9988~~}}||{{{{zzyyxx[[\\]]^^ FFEEDDCC00112233!! qqppoonnPPQQRRSS==776655SSRRQQPPuuvvwwxx%%&&''((,,++**))||{{zzyyEEFFGGHH!!""## WWVVUUTTjjkkllmm77665544zzyyxxwwwwvvuutt__``aabbBBAA@@??44556677mmllkkjjTTUUVVWW44332211OONNMMLLyyzz{{||))**++,,((''&&%%xxwwvvuuIIJJKKLL$$%%&&''SSRRQQPPnnooppqq !!33221100vvuuoonnssrrqqppccddeeff>>==<<;;8899::;;iihhggffXXYYZZ[[ - - 00//..--KKJJIIHH}}~~--..//00$$##""!!ttssrrqqMMNNOOPP(())**++OONNMMLLrrssttuu""##$$%%//..--,,mmllkkjjoonnmmllgghhiijj::998877~~}}<<==>>??eeddccbb\\]]^^__ ,,++**))GGFFEEDD11223344 ppoonnmmQQRRSSTT,,--..// KKJJIIHHvvwwxxyy&&''(())++**))((iihhggffkkjjiihhkkllmmnn66554433||{{zzyy@@AABBCCaa``__^^``aabbcc((''&&%%CCBBAA@@55667788llkkjjiiUUVVWWXX00112233 - - GGFFEEDDzz{{||}}**++,,--''&&%%$$eeddccbbggffeeddooppqqrr !!""221100//xxwwvvuuDDEEFFGG - -]]\\[[ZZddeeffgg$$##""!!??>>==<;99::;;<<hhggffeeYYZZ[[\\44556677CCBBAA@@~~..//0011##""!! aa``__^^ccbbaa``ssttuuvv##$$%%&&..--,,++oonnmmllHHIIJJKK YYXXWWVVhhiijjkk:9877665==>>??@@ddccbbaa]]^^__``==>>??@@??>>==<<22334455]]\\[[ZZ__^^]]\\wwxxyyzz''(())****))((''kkjjiihh~~LLMMNNOOUUTTSSRRllmmnnoo54433221~~}}AABBCCDD ``__^^]]aabbccddAABBCCDD;;::998866778899YYSSRRQQ[[ZZYYXX{{||}}~~++,,--..&&%%$$##ggffeedd}}||{{zzPPQQRRSSQQPPOONNppqqrrss !!""##100//..-||{{zzyyEEFFGGHH - - \\[[ZZYYeeffgghhEEFFGGHH77665544::;;<<==PPOONNMMWWVVUUTT//001122""!! ccbbaa``yyxxwwvvTTUUVVWWMMLLKKJJttuuvvww$$%%&&'' -,,++**)xxwwvvuuIIJJKKLLXXWWVVUUiijjkkllIIJJKKLL !!33221100>>??@@AALLKKJJIISSRRQQPP33445566__^^]]\\uutsrqpoXXYYZZ[[ - - IIHHGGFFxxyyzz{{(())**++ - - )((''&&%ttssrrqqMMNNOOPPTTSSRRQQmmnnooppMMNNOOPP""##$$%%//..--,,~~}}||BBCCDDEE HHGGFFEEOONNMMLL778899::[[ZZYYSSonnmmllk\\]]^^__ EEDDCCBB||}}~~,,--..//%$$##""!ppoonnmmQQRRSSTTPPOONNMMqqrrssttQQRRSSYY&&''(())++**))(({{zzyyxxFFGGHHII - - DDCCBBAAKKJJIIHH;;<<==>>RRQQPPOOkjjiihhg``aabbccAA@@??>>00112233 ! llkkjjiiUUVVWWXXLLKKJJIIuuvvwwxxZZ[[\\]]**++,,--''&&%%$$wwvvuuttJJKKLLMM@@??>>==GGFFEEDD??@@AABBNNMMLLKKgffeeddcddeeffgg==<<;;::44556677 - - hhggffeeYYZZ[[\\ - - HHGGFFEEyyzz{{||^^__``aa..//0011##""!! ssrrqqppNNOOPPQQ77665544CCBBAA@@CCDDEEFF JJIIHHGGcbbaa``_hhiijjkk998877668899::;;ddccbbaa]]^^__`` DDCCBBAA}}~~bbccddee22334455oonnmmllRRSSTTUU33221100??>>==<>??``__^^]]aabbccdd@@??>>==ffgghhii66778899kkjjiihhVVWWXXYY //..--,,;;::9988KKLLMMNNBBAA@@??[ZZYYXWVppqqrrss !!""##1100//..~~@@AABBCC \\[[ZZYYeeffgghh<<;;::99jjkkllmm::;;<<==ggffeeddZZ[[\\]] - - ++**))((77665544OOPPQQRR>>==7766UTSSRRQQttuuvvww$$%%&&''--,,++**}}||{{zzDDEEFFGG!!"" - - XXWWVVUUiijjkkll88776655nnoouuvv>>??@@AAccbbaa``^^__``aa''&&%%$$33221100SSTTUUVV55443322PPOONNMMxxyyzz{{(())**++))((''&&yyxxwwvvHHIIJJKK##$$%%&&TTSSRRQQmmnnoopp 44332211wwxxyyzzBBCCDDEE __^^]]\\bbccddee##""!!//..--,,WWXXYYZZ - -1100//..LLKKJJII||}}~~,,--..//%%$$##""uuttssrrLLMMNNOO''(())**PPOONNMMqqrrsstt!!""##$$00//..--~~}}{{||}}~~FFGGHHII - - [[ZZYYXXffgghhii++**))(([[\\]]^^ --,,++**HHGGFFEE00112233!! qqppoonnPPQQRRSS++,,--..LLKKJJIIuuvvwwxx%%&&''((,,++**))||{{zzyyJJKKLLMMWWVVUUTTjjkkllmm''&&%%$$__``aabb))((''&&DDCCBBAA44556677mmllkkjjTTUUVVWW//001122 - - HHGGFFEEyyzz{{||))**++,,((''&&%%xxwwvvuuNNOOPPQQSSRRQQPPnnooppqq !!##""!! ccddeeff%%$$##""@@??>>==8899::;;iihhggffXXYYZZ[[33445566 DDCCBBAA}}~~--..//00$$##""!!ttssrrqqRRSSTTUUOONNMMLLrrssttuu""##$$%% gghhiijj!!<;:98776<<==>>??eeddccbb\\]]^^__77==>>??@@??>>==11223344 ppoonnmmVVWWXXYY KKJJIIHHvvwwxxyy&&''(()) - - - -kkllmmnn65544332~~@@AABBCCaa``__^^``aabbcc@@AABBCC<<;;::9955667788llkkjjiiZZ[[\\]] - - GGFFEEDDzz{{||}}**++,,-- ooppqqrr !!""21100//.}}||{{zzDDEEFFGG - -]]\\[[ZZddeeffggDDEEFFGG8877665599::;;<<hhggffee^^__``aaCCBBAA@@~~..//0011ssttuuvv##$$%%&& .--,,++*yyxxwwvvHHIIJJKK YYXXWWVVhhiijjkkHHIIJJKK 44332211==>>??@@ddccbbaabbccddee??>>==<<22334455 wwxxyyzz''(())** - - *))((''&uuttssrrLLMMNNOOUUTTSSRRllmmnnooLLMMNNOO!!""##$$00//..--~~}}AABBCCDD ``__^^]]ffgghhii;;::998866778899 - - {{||}}~~++,,--..&%%$$##"qqppoonnPPQQRRSSQQPPOONNppqqrrssPPQQRRSS%%&&''((,,++**))||{{zzyyEEFFGGHH - - \\[[ZZYYjjkkllmm77665544::;;<<==!!""## - - //001122"!! mmllkkjjTTUUVVWWMMLLKKJJttuuvvwwYYZZ[[\\))**++,,((''&&%%xxwwvvuuIIJJKKLLXXWWVVUUnnooppqq !!33221100>>??@@AA$$%%&&''33445566 - - iihhggffXXYYZZ[[ - - IIHHGGFFxxyyzz{{]]^^__``--..//00$$##""!!ttssrrqqMMNNOOPPTTSSRRQQrrssttuu""##$$%%//..--,,~~}}||BBCCDDEE(())**++778899:: eeddccbb\\]]^^__ EEDDCCBB||}}~~aabbccdd11223344 ppoonnmmQQRRSSTTPPOONNMMvvwwxxyy&&''(())++**))(({{zzyyxxFFGGHHII,,--..//;;<<==>>aa``__^^``aabbccAA@@??>>eeffgghh55667788llkkjjiiUUVVWWXXLLKKJJIIzz{{||}}**++,,--''&&%%$$wwvvuuttJJKKLLMM00112233??@@AABB ]]\\[[ZZddeeffgg==<<;;::iijjkkll99::;;<<hhggffeeYYZZ[[\\ - - HHGGFFEE~~..//0011##""!! ssrrqqppNNOOPPQQ44556677 !!~~}}||{{CCDDEEFF!! - - YYXXWWVVhhiijjkk99887766mmnnoouu==>>??@@ddccbbaa]]^^__`` DDCCBBAA22334455oonnmmllRRSSTTUU==>>??@@""##$$%%zzyyxxwwGGHHIIJJ""##$$%%UUTTSSRRllmmnnoo55443322vvwwxxyyAABBCCDD ``__^^]]aabbccdd@@??>>==66778899kkjjiihhVVWWXXYYAABBCCDD&&''(())vvuuttssKKLLMMNN&&''(())QQPPOONNppqqrrss !!""##1100//..~~zz{{||}}EEFFGGHH - - \\[[ZZYYeeffgghh<<;;::99::;;<<==ggffeeddZZ[[\\]]EEFFGGHH**++,,--rrqqppooOOPPQQRR**++,,--MMLLKKJJttuuvvww$$%%&&''--,,++**}}||{{zz~~IIJJKKLLXXWWVVUUiijjkkll88776655~~}}||{{>>??@@AAccbbaa``^^__``aaIIJJKKLL..//0011nnmmllkkSSTTUUVV..//0011 - - IIHHGGFFxxyyzz{{(())**++))((''&&yyxxwwvvMMNNOOPPTTSSRRQQmmnnoopp 44332211zzyyxxwwBBCCDDEE __^^]]\\bbccddeeMMNNOOPP22334455jjiihhggWWXXYYZZ22334455 EEDDCCBB||}}~~,,--..//%%$$##""uuttssrrQQRRSSTTPPOONNMMqqrrsstt!!""##$$00//..--vvuuoonnFFGGHHII - - [[ZZYYXXffgghhiiQQRRSSYY66778899ffeeddcc[[\\]]^^6677==>>AA@@??>>00112233!! qqppoonnUUVVWWXXLLKKJJIIuuvvwwxx%%&&''((,,++**))mmllkkjjJJKKLLMMWWVVUUTTjjkkllmmZZ[[\\]]::;;<<==bbaa``____``aabb??@@AABB==<<;;::44556677mmllkkjjYYZZ[[\\ - - HHGGFFEEyyzz{{||))**++,,((''&&%%iihhggff~~}}||NNOOPPQQSSRRQQPPnnooppqq^^__``aa>>??@@AA^^]]\\[[ccddeeffCCDDEEFF998877668899::;;iihhggff]]^^__`` DDCCBBAA}}~~--..//00$$##""!!eeddccbb{{zzyyxxRRSSTTUUOONNMMLLrrssttuubbccddeeBBCCDDEEZZYYXXWWgghhiijjGGHHIIJJ55443322<<==>>??eeddccbbaabbccdd@@??>>==11223344 aa``__^^wwvvuutsVVWWXXYY KKJJIIHHvvwwxxyyffgghhiiFFGGHHIIVVUUTTSSkkllmmnnKKLLMMNN !!""##1100//..~~@@AABBCCaa``__^^eeffgghh<<;;::9955667788]]\\[[ZZrqpoonnmZZ[[\\]] - - GGFFEEDDzz{{||}}jjkkllmmJJKKLLMMRRQQPPOOooppqqrrOOPPQQRR$$%%&&''--,,++**}}||{{zzDDEEFFGG - -]]\\[[ZZiijjkkll8877665599::;;<<YYSSRRQQmllkkjji^^__``aaCCBBAA@@~~nnoouuvvNNOOPPQQNNMMLLKKssttuuvvSSYYZZ[[(())**++))((''&&yyxxwwvvHHIIJJKK YYXXWWVVmmnnoopp 44332211==>>??@@PPOONNMMihhggffebbccddee??>>==<>==<<;;hhiijjkk8899::;;iihhggffXXYYZZ[[ - - IIHHGGFF}}~~--..//00$$##""!!ttssrrqqMMNNOOPP@@??>>==YXWVUTSSrrssttuu""##$$%%//..--,,~~}}||bbccddee::998877llmmnnoo<<==>>??eeddccbb\\]]^^__ EEDDCCBB11223344 ppoonnmmQQRRSSTT77665544RRQQPPOOvvwwxxyy&&''(())++**))(({{zzyyxxffgghhii66554433uuvvwwxx@@AABBCCaa``__^^``aabbccAA@@??>>55667788llkkjjiiUUVVWWXX33221100NNMMLLKKzz{{||}}**++,,--''&&%%$$wwvvuuttjjkkllmm221100//yyzz{{||DDEEFFGG - -]]\\[[ZZddeeffgg==<<;;::99::;;<<hhggffeeYYZZ[[\\ - - //..--,,JJIIHHGG~~..//0011##""!! ssrrqqppnnooppqq..--,,++~~}}||{{}}~~HHIIJJKK YYXXWWVVhhiijjkk99887766~~}}||==>>??@@ddccbbaa]]^^__`` ++**))((FFEEDDCC22334455oonnmmllrrssttuu**))((''zzyyxxwwLLMMNNOOUUTTSSRRllmmnnoo55443322{{zzyyxxAABBCCDD ``__^^]]aabbccdd''&&%%$$BBAA@@??66778899kkjjiihhvvwwxxyy&&%%$$##vvuuttssPPQQRRSSQQPPOONNppqqrrss !!""##1100//..wwvvuuooEEFFGGHH - - \\[[ZZYYeeffgghh##""!!>>==<;:9::;;<<==ggffeeddzz{{||}}""!! rrqqppooTTUUVVWWMMLLKKJJttuuvvww$$%%&&''--,,++**nnmmllkkIIJJKKLLXXWWVVUUiijjkkll87766554>>??@@AAccbbaa``~~nnmmllkkXXYYZZ[[ - - IIHHGGFFxxyyzz{{(())**++))((''&&jjiihhgg~~}}MMNNOOPPTTSSRRQQmmnnoopp 43322110~~}}||BBCCDDEE __^^]]\\jjiihhgg\\]]^^__ EEDDCCBB||}}~~,,--..//%%$$##""ffeeddcc||{{zzyyQQRRSSTTPPOONNMMqqrrsstt!!""##$$0//..--,{{zzyyxxFFGGHHII - - [[ZZYYXXffeeddcc``aabbccAA@@??>>00112233!! bbaa``__xxwwvvuuUUVVWWXXLLKKJJIIuuvvwwxx%%&&''(( ,++**))(wwvvuuttJJKKLLMMWWVVUUTTbbaa``__ddeeffgg==<<;;::44556677^^]]\\[[tsrqpoonYYZZ[[\\ - - HHGGFFEEyyzz{{||))**++,, - - (''&&%%$ssrrqqppNNOOPPQQSSRRQQPP ^^]]\\[[hhiijjkk998877668899::;;ZZYYSSRRnmmllkkj]]^^__`` DDCCBBAA}}~~--..//00$##""!! oonnmmllRRSSTTUUOONNMMLL - - ZZYYXXWWllmmnnoo55443322<<==>>??QQPPOONNjiihhggfaabbccdd@@??>>==11223344 - -kkjjiihhVVWWXXYY KKJJIIHHVVUUTTSSppqqrrss !!""##1100//..~~@@AABBCCMMLLKKJJfeeddccbeeffgghh<<;;::9955667788 ggffeeddZZ[[\\]] - - GGFFEEDDRRQQPPOOttuuvvww$$%%&&''--,,++**}}||{{zzDDEEFFGG - -IIHHGGFFbaa``__^iijjkkll8877665599::;;<<ccbbaa``^^__``aaCCBBAA@@NNMMLLKKxxyyzz{{(())**++))((''&&yyxxwwvvHHIIJJKK EEDDCCBB^]]\\[[Zmmnnoopp 44332211==>>??@@__^^]]\\bbccddee??>>==<<~~}}||ZHAbtArd˂rXQH~fے`JXQnXv`p˂rvpfJtAdfpvdrtAJpZHAlJtAbHAZpltb˂pZZdQbtJ`ےdtAJlHAbےf~HfrtAJlpfH~d|Zے`JXQ|ZdQbJ`ے`vXnr˂pf~HXQJ`ےH~f|ZdQbnXv`ltdbے`rd|˂rXQdQZ|HAbےlJtAbHAZptbn`JXQHAvnXvtbdQf`vdQbtr˂ptlJbHAZpvpfZHAbfpvbHAZ`vXntlJf~HrtAJlJXQrZdQbtJ`ےdrtAJ`JXQrrd|˂rXQvpfbے``f~Z|dXnvlJtArZHAbtArd˂rXQH~fے`JXQnXv`drtAvpftArdfpvtbdQpZHAlJtAbHAZpltb˂pZZdQbtJ`ےHf`JXQrHfpvrtAJlpfH~d|Zے`JXQ|ZdQbJ`p˂`vXnr˂pf~HJltH~f|ZdQbnXv`Z|dbے`rd|˂rXQdQZ|HAbےlJtAbHAZpvXn˂pZHAnXvtbdQf`vdQbtr˂ptlJrXQJvpfZHAےfpvbdQZ|`vXntlJf~HrtAJlJXQrZZdQbtJ`ےdrtAJ`JXQrrdf˂rXQvpfHbے``f~Z|dXnvlJtArZHAbtArd`ےbH~f`JXQrnXv`drtAvpftArdfpvtbdQHAbےlJtAbHAZpltb˂pZ~HfJ`ے~f`JXQrHfpvrtAJlpfH~d|Zے`JXQ|ZdQbHAZp˂`vXnbtlf~HJltH~f|ZdQbnXv`Z|l`JXQrrd|˂rXQdQZ|HAbےpvnbHAZpvXn˂p`JnvftbdQf`vdQbtr˂ptlJrXQJvpfJtAdfpvbdQZ|`vXntlJf~HtbdQZ˂pZZdQbtJ`ےdtAJl`JXQrXv`f˂rXQvpfHXQr˂~HfpZ|dXnvlJtArZHAbtArd`ےbH~f|ZdQbnXv`drtAvpftArdfpv|drHAbےlJtAbHAZptbn˂pZ~HfJ`ے~f`pZHAbvnXrtAJlpfH~d|Zے`JXQ|ZdQbHAXQJ``vXntlJf~HJltH~f|ZdQbnXv`tAJl`JXQrrd|˂rXQvpfHAbےpvnbHAZpvXnے`Jv`ftbdQf`vdQbtr˂ptlJےbHAvpftArdfpvbdQZ|`vXntlJf~HtbdQZ˂pZAZdQbtJ`ےHf``JXQrXv`f˂rXQvpfHXQr˂~HfpZ|dXnvlJtArZHAbtArdZp˂H~f|ZdQbnXv`drtAvpftArdfpv|drb`JXlJtAbHAZpvXn˂pZ~HfJ`ے~f`p`JXQvnXrtAJlpfH~d|Zے`JXQ|ZdQbrXQJ``vXntlJf~HJltH~f|ZdQbnXv`tAdQZ|Qr˂prdf˂rXQvpfHHAbےpvnbHAZpvXnrbt璕v`f~tbdQf`vdQbtr˂ptlJےbHAvpftArdfpvbdQZ|`vXntlJf~HdrtAZHAb~HfJ`ے~f``JXQrXv`f˂rXQvpfHl|ZdQfpvZ|dXnvlJtArZHAbtArdZp˂H~f|ZdQbnXv`drtAvpftArdfpvJltے`JXpvnbHAZpvXn˂pZ~HfJ`ے~f`btlnXv`rtAJlpfH~d|Zے`JXQf~HbHAZ`vXntlJf~HJltH~f|ZdQbnXv`bdQZ|Qr˂pXv`f˂rXQvpfHHAbےpvnbHAZpvXnJtArdf~HtbdQfZHAdQbtr˂pXv`fdrtAvpftArdfpvbdQZ|`vXntlJfHfdrtAZHAb~HfJ`ے~f``JXQrXv`f˂rXQvpfH|ZdQfpvZ|dbے`lJtArZHAb~HfJbdQH~f|ZdQbnXv`drtAvpftArdpvnJltJQrpvnbHAZpvXn˂pZ~HfJ`ے~f`btlnXv`rtAJlJXQrd|Zے`JXQpvnZ|d`vXntlJf~HJltH~f|ZdQbrXQJ`drtAJ˂pZHAXv`f˂rXQvpfHHAbےpvnbHAZpvXn|ZdQbffpvtbdQ˂pZHAdQbtr˂pXv`frtAJl瀅vpftArdfpvbdQZ|`vXntlJےHAZltbbے`~HfJ`ے~f``JXQrXv`f˂rXQvpfHtlJnrXQZ|dbے`lJtArZHAb~HftbdQH~f|ZdQbnXv`drtAvpftArdp˂rdQZ|JXQrpvnbHAZpvXn˂pZ~HfJ`ے~f`tArdJ`ےrtAJlJXQrd|Zے`JXQpvZ|d`vXntlJf~HJltH~f|ZdQbXQJ`ےdrtAJ˂pZHAXv`f˂rXQvpfHHAbےpvnbHAZpvXn|ZdQbHAZp˂tbdQ˂pZHAdQbtr˂p~HfprtAJl瀅vpftArdfpvbdQZ|ZHAbtlJbHAZltbbے`~HfJ`ے~f``JXQrXv`f˂rXQvpfHtlJrXQJZ|dbے`lJtArZHAbvnXtbQZH~f|ZdQbnXv`drtAے`JXQtArdp˂rdQZ|lJXQrpvnbHAZpvXn˂pZ~HfJ`ے~f`tArdt`ےbrtAJlJXQrd|Zے`JXQv`fdrtAJ`vXntlJfHfJltr˂p|ZdQbXQJ`ےtbdQZHAbXv`f˂rXQvpfHHAbےpvnbHAZvXnlJtAHAZp˂tbdQ˂pZHAdQbtr˂p~HfpltbvpftArdpvnbdQZ|ZHAbtlJbHAZZ|d`JXQ~HfJ`ے~f``JXQrXv`fdrtAJvpfHrd|rXQJZ|dbے`lJtArZHAbvnXdQZ|H~f|ZdQbrXQJ`drtAے`JXQtArdp˂rrtAJlr˂ppvnbHAZpvXn˂pZ~Hfltb~f`ZdQbt`ےbrtAJlJXQrd|Zے`JXQv`pvdrtAJ`vXntlJےHAZJltr˂p|ZdQbXQJ`ےtbdQZHAbXv`f˂rXQvpfHHAے`pvndQZ|vXnlJtAHAZp˂tbdQ˂pZHAdQbtr˂pnXvltbvpftArdp˂rbdQZ|ZHAbtlJbHAZZ|l璒`JXQ~HfJ`ے~f`JXQrbXv`fdrtAJvpfHrd|rXQJZ|dbے`lJtArZHAb`f~dQZ|H~f|ZdQbXQJ`ےdrtAے`JXQtArdp˂rtbnr˂pZpvnbHAZpvXntlJ~Hfltb~f`ZdQtAr`ےbrtAJlJXQrd|Zے`JXQHfpvrAJltZHAbtlJbHAZJltr˂p|ZdQbXQJ`ےvp`vAb`JXv`f˂rXQvpfHtAd|pvndQZ|vXnd|ZHAZp˂tbdQ˂pZHAdQbtr˂pnXvbdQZ|ے`JXQtArdp˂rbdQZ|ZHAbtlJbHAZXnvXQr˂~HfJ`ے~f`ZdQbtXv`fdrtAJvpfHdQbt璀rXQJZ|dbے`lJtArZHAb`f~drtr˂p|ZdQbXQJ`ےdrtAے`JXQtArdp˂rpfH~pZHAbpvnbHAZvXnlJtA~Hfltb~f`lJtAr`ےbrtAJlJXQrd|Zے`JXQHXv`AJltZHAbtlJbHAZJltr˂p|ZdQbXQJ`ےf`vے`JXv`fdrtAJvpfHrd|pvndQZ|vXnd|ZHAZp˂tbdQ˂pZHAdQbtvnXr˂pf~HbdQZ|ے`JXQtArdp˂rbdQZ|ZHAbtlJbHAZXnvXQr˂~Hfltb~f`ZdQbtXv`fdrtAJvpfHdQbt璀rXQJZ|dbے`lJtArv`fZHAbfpvdrtr˂p|ZdQbXQJ`ےdrtAے`JXQtArdp˂rp`vXpZA`pvndQZ|vXnlJtA~Hfltb~f`l|ZdQ`ےbrtAJlJXQrdf~Hfpے`JXQnXv`AJbdQZHAbtlJbHAZJltr˂p|ZdQbXQJ`ےnvpJXQrbXv`fdrtAJvpfHrd|pvndQZ|vXnbtlHAZp˂tbdQ˂pZHA~HfpvnXr˂pf~HZ|dے`JXQtArdp˂rbdQZ|ZHAbtlJbHAZfH~tlJ~Hfltb~f`ZdQbtXv`fdrtAJvpfHJtArdrXQJZ|dbے`vnXv`fZHAbfpvrtAJlr˂p|ZdQbXQJ`ےdrtAے`JXQtArdp˂rf`vXtAd|pvndQZ|vXnlJtA~Hfltb~f`|ZdQ`ےbtAJlJXQrv`f~Hfpے`JXQ~HftbdQZHAbtlJbHAZJltr˂p|ZdQbXQJ`ےnvpZdQbtXv`fdrtAJvpfHrd|pvndQZ|vXnbtlHAZp˂tbn˂pZHA~HfpvnXr˂ppvnZ|dے`JXQtArdp˂rbdQZ|ZHAbtlJbHAZfH~lJtA~Hfltb~f`ZdQbtXv`fdrtAJvpfHJtArdrXQJvpfHbے`vnXv`f|ZdQbXv`frtAJlr˂p|ZdQbXQJ`ےdrtAے`JXQtArdp˂rvpfrd|pvndQZ|vXnlJtA~Hfltb~f`tlJ`ےbf`vJXQrv`f~HfptlJ~HftbQZZHAbtlJbHAZJltr˂pf~HXQJ`ےH~fZdQbtXv`fdrtAJvpfHrd|pvndQZ|vXntArdHAZp˂Xnv˂pZHA~HfpvnXtArdpvndrtAے`JXQtArdp˂rbdQZ|ZHAbfpvbHAZ`vXnlJtA~Hfltb~f`ZdQbtXv`fdrtAJvpfH|ZdQbrXQJpfH~bے`vnXv`f|ZdQbXv`pJltr˂p|ZdQbXQJ`ےdtAJے`JXQnXv`p˂rvpfrd|pvndQZ|vXnlJtA~Hfltb~fZtlJ`ےbf`vJXQrv`fHfpvtlJvnXbdQZ|ZHAbtlJbHAZltbr˂pf~HXQJ`ےH~fZdQbtXv`fdrtAJvpfHrd|pvndQZ|HAbtArdHAZp˂Xnv˂pZHA~HfpnrXQtArdv`fdrtAے`JXQtArdp˂rnvpZHAbfpvbHAZ`vXHlJtA~Hfltb~f`ZdQbtXv`fdrtAJ˂pZHA|ZdQtArXQJpfH~bے`vnXJ`ے|ZdQb~HfpJltr˂p|ZdQbXQJ`ےfHfے`JXQnXv`p˂r~f`rd|pvndQZ|vXnlJtAHfpltbbے`rdf`ےbf`vJXQrv`fHAZp˂tlJvnXbdQZ|ZHAbtlJbHAZ`vXnr˂pf~HXQJ`ےvXnZdQbtXv`fdrtAJvpfHrd|vnrdQZ|JXQr~HfHAZp˂Xnv˂pZHA~HfprXQJtArdv`p˂rAJlے`JXQtArdp˂rvpfZHAbfpvbHAZvpfHlJtA~Hfltb~f`ZdQbtXQJ`ےdrtAJ˂pZHAvnXv`rXQJpfH~bے`vnX`ےb|ZdQbrXQJtbdQZr˂pf~HXQJ`ےH~fے`JXQnXv`p˂r~f`rd|pvndQZ|vXnlJtAHAZpltbbے`f~H`ےbf`vJXQrv`fHAZp˂tlJ`ےb|drZHAbfpvbHAZ`vXnr˂pf~HXQJ`ےvXnZdQbtXv`fdrtAJvpfHrd|˂rXQdQZ|JXQHAbfpvHAZp˂Xnv˂pZHA~HfprXQJtArdHAZp˂tAJlے`JXQnXv`p˂rvpfZHAbfpvbHAZvp`vlJtA~Hfltb~fZZdQbtJ`ےdrtAJے`JnXv`rXQJpfH~bے`vnX`ےb|ZdQbrXQJtbdQZr˂pf~HXQJ`ےH~fے`JXQnXv`p˂rXnvrd|pvndQZ|HAbےlJtAbHAZpltbXQr˂f~H`ےbf`vJXQrv`fHAZp˂tlJ`p˂|dnZHAbfpvbHAZ`vXnr˂pf~HXQJ`ےpfH~ZdQbtXv`fdrtAJ`JXQrrd|˂rXQdQZ|pZHAbfpvHAZp˂Xnv˂pZHA~HfprXQJtArdrXQJ`vffے`JXQnXv`p˂rvpfZHAbfpvbHAZf`vlJtAHfpltb˂pZZdQbtJ`ےdrtAJے`JnvfrXQJpfH~bے`vnX`ےb|ZdQbےbHA`vXnr˂pf~HXQJ`ےH~fے`JXQnXv`p˂rXnvrd|vnrdQZ|HAbےlJtAbHAZpltbXQr˂~Hfp`ےbf`vJXQrv`fHAZp˂tlJZp˂vpfZHAbfpvbHAZ`vXnr˂pf~HXQJ`ےpfH~ZdQbtXQJ`ےdrtAJ`JXQrrd|˂rXQdQZ|p`JXQvnXHAZp˂Xnv˂pZHA~HfprXQJtArdrXQJ`H~fے`JXQnXv`p˂rvpfZHAbfpvbHAZvplJtAHAZpltb˂pZZdQbtJ`ےdrtAJr˂pv`frXQJpfH~ے`JvnX`ےb|ZdQbےbHA`vXnr˂pf~HXQJ`ےH~fے`JXQnXv`p˂rfH~rd|˂rXQdQZ|HAbےlJtAbHAZpltbZHAb~Hfp`ےbf`vXQrbtv`fHAZp˂tlJXQJ`ےvpfZHAbfpvbHAZ`vXnr˂pf~HXQJ`ےf`vXZdQbtJ`ےdrtAJ`JXQrrd|˂rXQdQZ|ے`JXQvnXHAZp˂XnvlJtA~HfprXQJtArdbHAZH~fے`JXQnXv`p˂rvpfZHAbfpvbHAZnvplJtAbHAZpltb˂pZZdQbtJ`ےdrtAJr˂pv`f~rXQJpfH~d|ZvnX`ےb|ZdQbp˂r`vXnr˂pf~HXQJ`ےH~fے`JXQnXv`drtAfH~rd|˂rXQdQZ|HAbےlJtAbHAZpltbZHAbfpv`ےbf`vdQbtv`fHAZp˂tlJXQJ`ےvpfZHAbfpvbHAZ`vXnr˂pf~HdQZ|f`vXZdQbtJ`ےdrtAJ`JXQrrd|˂rXQdQZ|˂pZnXv`HAZdXnvlJtAr~HfprXQJtArdbHAZH~fے`JXQnXv`p˂rvpfZHAےfpvdrtAJH~flJtAbHAZpltb˂pZZdQbtJ`ےdrtAJHAbےf~HrtAJlpfH~d|ZvnX`ےb|ZdQbp˂`vXnr˂pf~HXQJ`ےH~f`JXQrnXv`ltbZHAbrd|˂rXQdQZ|HAbےlJtAbHAZpltb`JXQrfpvtbdQf`vdQbtv`fHAZp˂tlJbHAZpvpfZHAbfpvbHAZ`vXnbtlf~HdQZ|JQrZdQbtJ`ےdrtAJ`JXQrrd|˂rXQdQZ|˂pZnXv`Z|dXnvlJtAr~HfprXQJ`ےbf`vJXQrHfpvdrtAfH~|ZdQnXv|drnvpJtArdfpvtAJlbJQrfpvbHAZ`vXnr˂pf~HXQJ`ےH~fdQbt璀nXvdrtAJ`JXQrrd|˂rXQdQZ|bے``vXnHAZp˂Xnv˂pZHA~HJltf`vXbtl`f~tAJlfH~|ZdQnrXQJtdrtA˂pZnXv`p˂rvpfZHAbfpvbHAZ`vXnl|ZdQ`ffpltb˂pZZdQbtJ`ےdrtAJJXQrvˍpfrXQJpfH~bے`fpvbdQZ|nvpJtArdHfpvtbdQZf`vXbtl`ےHAJltHAbےf~HXQJ`ےH~fے`JXQnXv`p˂rvpfbtlvnrdQZ|HAbےlJtAbHAZpltb˂p`JH~ㅐf`ےbf`vJXQrnXv`drtAfH~|ZdQnXv|drnvpJtArdZp˂bdQZ|`JXQrfpvbHAZ`vXnr˂pf~HXQJ`ےH~fJtArdXQJ`ےdrtAJ`JXQrrd|˂rXQdQZ|XQr˂`vXnHAZp˂Xnv˂pZHAf~HJltbf`vXbtl`f~tAJlfH~|ZdQrXQJ`drtA˂pZnXv`p˂rvpfZHAbfpvbHAZ`vXn|ZdQHAZpltb˂pZZdQbtJ`ےdrtAJpZHAbvˍpfrXQJpfH~bے`fpvQZdrnvpJtArdHfpvtbdQZfZHAbbtlےbHAJltHAbےf~HXQJ`ےH~fے`JXQnXv`p˂rvpfbtl˂rXQdQZ|HAbےlJtAbHAZpltbے`JH~ㅐf`ےbf`vJXQrnXv`tAJlfH~|ZdQnXv|drے`JJtArdZp˂bdQZ|`JXQrfpvbHAZ`vXnr˂pf~HXQJ`ےH~fJtArdJ`ےdrtAJ`JXQrrd|˂rXQdQZ|XQr˂`vXnHAZp˂Xnv˂pZHApvntbdQZf`vXbtl`fHtAJlXQr˂|ZdQrXQJ`ltbZHAbnXv`p˂rvpfZHAbfpvbHAZ`vXntlJbHAZpltb˂pZZdQbtJ`ےdrtAJpZHAbvˍpfrXQJpfH~bے`Xv`f|drnvpJtArdfpvtbdQZpZHAbbtlےbHAdQZ|ے`JXf~HXQJ`ےH~fے`JXQnXv`drtAvpftArd˂rXQdQZ|HAbےlJtAbHAZpltb˂pH~ㅐf`ےbf`vJXQr~HftAJlfH~|ZdQnrXQJ|drے`JJtArdZp˂drtAJQr˂pfpvbHAZ`vXnr˂pf~HJltH~f|ZdQbJ`ےdrtAJ`JXQrrd|˂rXQdQZ|ZHAb`vXnHAZp˂Xnv˂pZHApvntbdQZf`vXbtl`ےHAtAJlXQr˂|ZdQrXQJ`ltbZHAbnXv`p˂rvpfZHAےfpvbdQZ|`vXntlJbHAZpltb˂pZZdQbtJ`ےdrtAJے`JXQvˍpfrXQJpfH~bے`Xv`f|rAJlnvpJtArdZp˂tbdQZpZHAbbtlےbHAdQZ|lے`JXf~HXQJ`ےH~f`JXQrnXv`drtAvpftArd˂rXQdQZ|HAbےlJtAbHAZpltbr˂pH~ㅐf`ےbf`vJXQr~HXtbdfH~|ZdQrXQJ`|drے`JJtArdZp˂tbnQr˂pfpvbHAZ`vXnbtlf~HJltH~f|ZdQtAJ`ےdrtAJ`JXQrrd|˂rXQdQZ|ZHAb`vXnHAZp˂Xnv˂pZHAv`fQZ|dfZHAbbtlےbHAtAJlXQr˂|ZdQrXQJ`vp`ZAb`nXv`p˂rvpfJtAdfpvbdQZ|`vXnrd|bHAZpltb˂pZZdQbtJ`ےdtAJlے`JXQvˍpfrXQJpfH~bے`~HfprtAJlے`JJtArdZp˂tbdQZpZHAbbtlےbHAvXnJXQrf~HXQJ`ےH~f|ZdQbnXv`drtAvpfZdQbt˂rXQdQZ|HAbےlJtAbHAZptbnHAbےH~ㅐf`ےbf`vJXQrvnXtbdXQr˂|ZdQrXQJ`|drے`JJtArdZp˂vpfH˂pZHAfpvbHAZ`vXntlJf~HJltH~flJtAJ`ےdrtAJ`JXQrrd|˂rXQvpf`JXQr`vXnHAZp˂Xnv˂pZHAv`fQZ|dpZHAbbtlےbHAtAJlXQr˂|ZdQrXQJ`~f`bے`nXv`drtAvpftArdfpvbdQZ|`vXnrd|bHAZpltb˂pZZdQbtJ`ےHf`˂pZvˍpfrXQJpfH~ے`J~HfprtAJے`JJtArdZp˂tbdQZpZHAbbtlےbHAvXnJXQrf~HJltH~f|ZdQbnXv`drtAvpfZdQbt˂rXQdQZ|HAbےlJtAbHAZpvXnHAbےH~ㅐf`ےbf`vXQrbtv~bdQZ|XQr˂|ZdQrXQJ`|drے`JJtArdZp˂vp`v˂pZAfpvbdQZ|`vXntlJf~HJltH~fl|ZJ`ےdrtAJ`JXQrrdf˂rXQvpfH`JXQr`vXnHAZp˂XnvlJtAHfpvdrtApZHAbbtlےbHAtAJlXQr˂|ZdQrXQJ`Xnv`JXQrnXv`drtAvpftArdfpvbdQZ|`vXndQbtbHAZpltb˂pZ~HfJ`ے~f`˂p`vˍpfrXQJpfH~d|ZnXvJltے`JJtArdZp˂tbdQZpZHAbbtlےbHApfH~btlf~HJltH~f|ZdQbnXv`drtAvpflJtAr˂rXQdQZ|HAbےpvnbHAZpvXnJXQrH~ㅐf`ےbf`vdQbt`f~bdQZ|XQr˂|ZdQrXQJ`|drے`JJtArdZp˂f`vJtAdfpvbdQZ|`vXntlJf~HJltH~fd|ZJ`ےdtAJl`JXQrXv`f˂rXQvpfH˂pZHA`vXnHAZdXnvlJtArHfpvdrtApZHAbbtlےbHAtAJlXQr˂|ZdQrXQJ`Xnv|ZdQbnXv`drtAvpftArdfpvbdQZ|`vXndQbtbHAZptbn˂pZ~HfJ`ے~f`bے`vˍpfrtAJlpfH~d|ZnXvJltے`JJtArdZp˂tbdQZpZHAbbtlےbHApfH~tlJf~HJltH~f|ZdQbnXv`drtAvpflJtAr˂rXQvpfHAbےpvnbHAZpvXnJXQrH~ㅐftbdQf`vdQbt`pvbQZdXQr˂|ZdQrXQJ`|drے`JJtArdZp˂vptArdfpvbdQZ|`vXntlJf~HJltH~fdtlJ`ےHf``JXQrXv`f˂rXQvpfH˂p`Z`vXnZ|dXnvlJtArnXv`rtAJlpZHAbbtlےbHAtAJlXQr˂f~rXQJ`fH~|ZdQbnXv`drtAvpftArdfpvbdQZ|`vXnJtArdbHAZpvXn˂pZ~HfJ`ے~f`QXb㉀ەvˍpfrtAJlpfH~d|Zf~HtbdQ琙ے`JJtArdZp˂tbdQZpZHAbHfpvےbHAf`vXtlJf~HJltH~f|ZdQbnXv`drtAvpf|ZdQ˂rXQvpfHHAbےpvnbHAZpvXnpJAHrH~ㅐftbdQf`vdQbtfpvZ|dXQr˂|ZdQrXQJ`|dtAے`JnXvZp˂nvptArdfpvbdQZ|`vXntlJf~HJltH~fbtlJ`ے~f``JXQrXv`f˂rXQvpfHˁ`Z`vXnZ|dXnvlJtArnXv`rtAJlpZHAbbtlےbHAJltXQr˂`f~rXQJ`fH~|ZdQbnXv`drtAvpftArdfpvbdQZ|ZHAbJtArdbHAZpvXn˂pZ~HfJ`ے~f`QXb㉀ەvˍp|rtAJlpfH~d|ZpvntbdQ琙ے`JJtArdZp˂bnvpZHAbHfpvےbHAf`vXtlJf~HJltH~f|ZdQbnXv`drtA˂pZ|ZdQ˂rXQvpfHHAbےpvnbHAZpvXnp`ZQXdrQttbdQf`vdQbtrXQJ`Z|rAJXQr˂|ZdQrXQJ`pfHے`JnXvZp˂H~ftArdfpvbdQZ|`vXntlJfHfJltHAbےtArdJ`ے~f``JXQrXv`f˂rXQvpfHb㉀ۑpJltZ|dXnvlJtArp˂rltbpZHAbbtlےbHAf`vXXQr˂`f~rXQJ``vXn|ZdQbnXv`drtAvpftArdpvnbdQZ|`JXQrf~HbHAZpvXn˂pZ~HfJ`ے~f`JAHrbAdZ|rtAJlpfH~d|ZXQJ`ےdQZ|ے`JJtArdZp˂nvppZHAbHfpvےbHAvpftlJf~HJltH~f|ZdQbrXQJ`drtA˂pZfvnX˂rXQvpfHHAbےpvnbHAZpvXnˁ`ZQXdrQttbdQf`vdQbt璐bHAZdrtAJXQr˂f~rXQJ`fH~ے`JnXvZp˂H~ftArdfpvbdQZ|`vXntlJےHAZJltHAbےv`fJ`ے~f``JXQrXv`f˂rXQvpfHb㉀ۑpJltZ|dXnvlJtArp˂rltbpZHAbHfpvےbHAf`vXXQr˂`f~rXQJ``vXn|ZdQbnXv`drtAvpftArdp˂rbdQZ|`JXQHA~HfpbHAZpvXn˂pZ~HfJ`ے~f`JAHrbAdZ|rtAJlpfH~d|ZXQJ`pdQZ|ے`JnXvZp˂nvppZHAbHfpvےbHAvp`tlJf~HJltH~f|ZdQbXQJ`ےdrtAbے`vnX˂rXQvpfHHAbےpvnbHAZpvXnۑpJdrQttbdQf`vdQbt˂rXQAJltXQr˂`f~rXQJ`fH~ے`JnXvZp˂vXntArdfpvbdQZ|ZHAbtlJbHAZJltJXQrv`fJ`ے~f``JXQrXv`f˂rXQvpfHAHr󙐂JltZ|dXnvlJtArJ`ےbnvpZHAbHfpvےbHAf`vXXQr˂`f~rXQJ`vpfH|ZdQbnXv`drtAے`JXQtArdp˂rbdQZ|˂pZHA~HfpbHAZpvXn˂pZ~HfJ`ے~f``ZQXbbAdZ|rtAJlpfH~d|ZbHAZppfHے`JnXvZp˂nvppZHAbHfpvےbHA~f`tlJfHfJltr˂p|ZdQbXQJ`ےdrtAbے`vnvf˂rXQvpfHHAbےpvnbHAZvXnۑpJdrQttbdQf`vdQbt˂rXQf`vXXQr˂`f~rXQJ`fH~ے`JnXvZp˂vXntArdpvnbdQZ|ZHAbtlJbHAZJltJXQr~HfJ`ے~f``JXQrXv`fdrtAJvpfHAHr󙐂JltZ|dXnvlJtArJ`ےnvppZHAbHfpvےbHAf`vXXQr˂`f~rXQJ`vpfH|ZdQbrXQJ`drtAے`JXQtArdp˂rbdQZ|˂p`JpvnbHAZpvXn˂pZ~Hfltb~f``ZQXAHbAdZ|rtAJlpfH~d|ZbHAXQJfH~ے`JnXvZp˂nvppZHAbHfpvےbHA~vtlJےHAZJltr˂p|ZdQbXQJ`ےdrtAXQr˂Xv`f˂rXQvpfHHAے`pvndQZ|vXnr󙐂ˁ`drQttbdQfZHAdQbt`ےbf`vXXQr˂`f~rXQJ`fH~ے`JnXvZp˂pfH~tArdp˂rbdQZ|ZHAbtlJbHAZJltpZHAb~HfJ`ے~f`JXQrbXv`fdrtAJvpfHZQXb㉀JltZ|dbے`lJtArHAZp˂nvppZHAbHfpvےbHAf`vXXQr˂`f~rXQJ`f`v|ZdQbXQJ`ےdrtAے`JXQtArdp˂rbdQZ|ے`JpvnbHAZpvXntlJ~Hfltb~f`ۑpJAHbAdZ|rtAJlJXQrd|ZrXQJfH~ے`JnXvZp˂nvppZHAbHfpvےbHAXnvtlJbHAZJltr˂p|ZdQbXQJ`ےdrtAXQr˂Xv`f˂rXQvpfHtAd|pvndQZ|vXnr󙐂ˁ`drQttbdQ˂pZHAdQbt`ےbf`vXXQr˂`f~rXQJ`fH~ے`JnXvZdrpfH~tArdp˂rbdQZ|ZHAbtlJbHAZJltpZHAb~fpvJ`ے~f`ZdQbtXv`fdrtAJvpfHZQXb㉀JltZ|dbے`lJtArHAZp˂nvppZHAbHfpvےbHAf`vXXQr˂`f~tAdQZ|f`v|ZdQbXQJ`ےdrtAے`JXQtArdp˂rbdQZ|˂pnXv`bHAZvXnlJtA~Hfltb~f`ۑp`ZbAdZ|rtAJlJXQrd|ZbHAfH~ے`JnXvZp˂nvppZHAHfpvdrtAXH~tlJbHAZJltr˂p|ZdQbXQJ`ےdrtAZHAbf~HdrtAJvpfHrd|pvndQZ|vXnQXb㉀ۂdrQttbdQ˂pZHAdQbtZp˂f`vXXQr˂`f~rXQJ`fH~ے`JXQnXvJltfZHAbtArdp˂rbdQZ|ZHAbtlJbHAZJltے`JXQfpvltb~f`ZdQbtXv`fdrtAJvpfHpJAHrJltZ|dbے`lJtArrXQJ`nvppZHAbHfpvےbHAf`vXrbt`f~bdQZ|JQr|ZdQbXQJ`ےdrtAے`JXQtArdp˂rbdQZ|r˂pnXv`dQZ|vXnlJtA~Hfltb~f`ˁ`ZbAdZ|rtAJlJXQrd|ZےbHAfH~ے`JnXvZp˂nvplJtAdHfpvdrtA˂pZHtlJbHAZJltr˂p|ZdQbXQJ`ےdtAJZHAbf~HdrtAJvpfHrd|pvndQZ|vXnQXb㉀ۂdrQttbdQ˂pZHAdQbtZp˂f`vXXQr˂`f~rXQJ`fH~|ZdQnXvJltAbے`tArdp˂rbdQZ|ZHAbtlJbHAZltbے`JXQfvnXltb~f`ZdQbtXv`fdrtAJvpfHpJAHrJltZ|dbے`lJtArrXQJ`nvppZHAbHfpvےbHAf`vXbtl`f~drtAJJXQr|ZdQbXQJ`ےdrtAے`JXQtArdp˂rnvpHAbےv`fdQZ|vXnlJtA~Hfltb~f`ۑpbAdZ|rtAJlJXQrd|Zp˂rfH~ے`JnXvZdrnvpJtArdHfpvltb˂pZHtlJbHAZJltr˂p|ZdQbXQJ`ےfHf`JXQr~HfpdrtAJvpfHrd|pvndQZ|vXnJAHr󙐂drQttbdQ˂pZHAdQbtXQJ`ےf`vXXQr˂`f~tAJlfH~|ZdQnXvdQZ|Abے`tArdp˂rbdQZ|ZHAbtlJbHAZ`vXn˂pZvnXltb~f`ZdQbtXv`fdrtAJvpfHˁ`ZQXJltZ|dbے`lJtArbHAZnvppZHAHfpvtbdQZf`vXbtl`f~drtAJJXQr|ZdQbXQJ`ےdrtAے`JXQtArdp˂rvpfHAbےv`fdQZ|vXnlJtA~Hfltb~f`b㉀ۑpbAdZ|rtAJlJXQrd|Zp˂rfH~ے`JXQnXv|drnvpJtArdHfpvltbZHAbtlJbHAZJltr˂pf~HXQJ`ےH~f`JXQr~HfpdrtAJvpfHrd|pvndQZ|vXnJAHr󙐂drQttbdQ˂pZHAdQbtXQJ`ےf`vXrbt`f~tAJlfH~|ZdQnXvdQZ|lے`JXQtArdp˂rbdQZ|ZHAbfpvbHAZ`vXn˂p`vnvltb~f`ZdQbtXv`fdrtAJvpfHˁ`pfJltZ|dbے`lJtArbHAXQnvplJtAdHfpvtbdQZf`vXbtl`f~tbdQr˂p|ZdQbXQJ`ےdtAJے`JXQnXv`p˂rvpfJXQrf~HdQZ|vXnlJtA~Hfltb~frH~ㅐfbAdZ|rtAJlJXQrd|ZJ`ےfH~|ZdQnXv|drnvpJtArdHfpvZ|dZHAbtlJbHAZltbr˂pf~HXQJ`ےH~f˂pZHAfpvdrtAJvpfHrd|pvndQZ|˂pZ`vXndrQttbdQ˂pZHAdQbtbHAZpf`vXbtl`f~tAJlfH~|ZdQnXvrtAJlے`JXQtArdp˂rnvpZHAbfpvbHAZ`vXnbے`nXv`ltb~f`ZdQbtXv`fdrtAJHAbےvˍpfJltZ|dbے`lJtAr˂rXQnvpJtArdHfpvtbdQZf`vXbtl`f~tbdQr˂p|ZdQbXQJ`ےfHfے`JXQnXv`p˂rvpfJXQrf~HdQZ|vXnlJtAHfpltb`JXQrH~ㅐfbAdZ|rtAJlJXQrdfJ`ےfH~|ZdQnXv|drnvpJtArdHfpvZ|dZAb`tlJbHAZ`vXnr˂pf~HXQJ`ےH~f˂p`JfpvdrtAJvpfHrd|vnrdQZ|˂pZ`vXndrQttbdQ˂pZHA~HXvbHAZpf`vXbtl`f~tAJlfH~|ZdQnXvrtAdQZJXQrtArdp˂rvpfZHAbfpvbHAZ`vXnXQrbtnXv`fltb~f`ZdQbtXQJ`ےdrtAJHAbےvˍpfJltZ|dbے``f~˂bnvpJtArdHfpvtbdQZf`vXbtl`f~|drpZHAf~HXQJ`ےH~fے`JXQnXv`p˂rvpfl|Z~fpvdQZ|vXnlJtAHAZpltb`JXQHAH~ㅐfbAdZ|tAJlJXQrHfpvHAZdfH~|ZdQnXv|drnvpJtArdHfpvtAJlbے`fpvbHAZ`vXnr˂pf~HXQJ`ےH~fdQbt璀nXvdrtAJvpfHrd|˂rXQdQZ|bے``vXndrQttbn˂pZHAnXvrtAJf`vXbtl`f~tAJlfH~|ZdQnXvtbdQZJXQrnXv`p˂rvpfZHAbfpvbHAZ`vXnlJtAr`f~ltb~fZZdQbtJ`ےdrtAJJXQrvˍpfJltvpfHbے``f~bdQZ|nvpJtArdHfpvtbdQZf`vXbtl`fH|drpZHAf~HXQJ`ےH~fے`JXQnXv`p˂rvpfd|ZHfpvdQZ|HAbےlJtAbHAZpltb˂pZHAH~ㅐfbAdZ|66666666666666666666666666666666667777777777777777777777777777777777 \ No newline at end of file diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv4_0.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv4_0.dat deleted file mode 100644 index 041616cbe1b9f76c0a696333f595a476a04f4946..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2454 zcmchZzmBRv7{ygIqJn~eih}YC`v!J~&dyjFVyKKEhFF=6npjY50wfj``$RkfC55F0 zg{60ZkIn9^S8i_Z-Z=?>24?1W&No4ok@8SO`LU$IBlSgGy>73YwD{t?I>K}D+;g?r z=VDsV)ucg>-7BNV?uRn&9`_yJC*Hq%PI_{DcXE95IlkLDzM0H-&Y5aFSH1RJWc8~m z<*y=2UsWuCaIPE+zx4(zNbqtS3E%RRKKI~_q_m{zOVr0H6%UT-ug zie=kvj^lYz?Dq!)Ny^^mxOSUm8K%*w*K4RXo2?eZuxzK(?aJ~HH5qNGzR1IiRQe)G zluE^7p-?DSD%C1U)@T?g!~=Uh5e*%U6h)B+gMMEWdp|v1f`xckhyqX=zytt`J;h*Y zN<5#YL{Vul-9AUJlT&&m^x2u)F5V1>P#1^5wLSm1w`?!et{Zc#I<9qGdhz8=TTUx)ycHQot*^2Tjv=WxA0MXzx`2N)6H1%SsTaM9+jn&TL22UsSC>+8mQ zu-%_Rz$MlxsGs((BZN8`b8{o}i|3H}#dCmZvgy~c-)J+NhFUV66CZELbmmuGrH)Y- zNCB}<6H=SwWnmbQk!;`H?=l#}4`^Qu-hn0KtV0|N{bZvb9eB%0}JhOe1 z%seCOPprw-SJ{AH}|QjUB}D$&4GI|ZDM~Q$wTzDME^F>j{x+N H?U$Ede*g^y diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv4_1.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv4_1.dat deleted file mode 100644 index 59889fb4eb048a666274ccf6be8c15e769872715..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2453 zcmeH{J*%o<9KcUm`QzagF<^;Ey-!5y{x5hU?5aO@pWP`?uNk z`(8MPA}@X>2o47Qey;}r-EODzQBJ4R?E*lr*Y6JoAo#a`YAahqqce7yc7pzWSG&w5lXFgWEFh4O4A3}zBu2z7e zekF$Kq=&m#{n$3$T;n-_6|E%jqEupNNVxlIRoHTL(R7;i16Pu{OgLJVD%icB1-g5! zd7XaP^k6!Pp?(1h<9K1Lh-b*)!@A8+P5xPqCSQ+Q57w0HRmSh(o&~*m#(BKEp7s&8 zZtKDS^i7>_NAf8BIG4Jumu~9(>|9=5OG^|Wj+au`3=&^u0h-bB$g|_hAM(&N;*=ljwVw>4&)U#Eq(yEkcF(q2X z9Iuq)?c{j*9B(Vf%jS3+z*_^}3h*+8BCY?OA964ZT^|ky1Db^=_n0g0QT`eAyqeFu?=e^0zx*@olQ^-=$T^&^$LWr-$0N_YuV&|D ze{m0|_|x*oCviRfT85YXHaMIkXFogNSDu-Kx1$$4oXEefm*0$QAwFJhgUfyyZg#iH zZ1iv_{^F+icr_kbrZ`DR6MIfOEVi_RAAcTB7k8S+d%^8E4-=cJVO++Z?ykqfQ-mEJ z17|k6O*Xs4wfrakOI(jn(PE3f5Rbl=-`Dllj~0=WDp`hzCz6OOdyaVY1-h`^^%+vU zdVnl!i*Yf~J|3Y^N|ajuYi`gVZSSTNaWrFC_Qecwz?(!I(BMCdLJ0B;qGC z8P(Gu^1jL&#w7x80KD#Ie+y=-#|YK}^@+A;rt5*@^^kV~gC?V)!NS0i7jw?f3H@!4 z*Klbwrg*YGBmdxf_H8#mCTG+~{*EpwU8|q5A}`6o@<|HMMNJnC@<-lR^F@EwDn1|f qm)-Syx@P?G!gKECY?6eKLyaD#uWExK`L!kgEs-B-__W3=-M@yi!Z*bBRm$*Jyx3q z-KSTF_vr@;PLFfP_X+!V=Ag>t1*t&(JohC(4O?Da%cIvlF1D);-6B#OPfdKm`tFpz>5(J-+96UR*P#HmZ3 zPhC<}>XN2Ymx7SI9AyG=@DK+@R;!gtxr|~gmP!OshInX*M}T+~h*SP){crvMr+Peh ze4YOI{I_}h>w0`0@O8_34%>&DYNOCNdeLg@_&DkMXTd#zvy>RQvIb3cJ(R19-0Y(IP0pM{7T(r9B_9({MWW2bK zj2HKj^7^Lr8mza6a2fMPtI0Stv=KM8-1vA!&>643NQqGwa-lB}VM2`Ye)zz7KlwO% z2-X0wEMAD!&h8=Z4?u{USOPd;M=0t9cnrb2U<5^ zC@9@Oa&aBR#cgJGIf;>r;5ol@&5Y0!{-`b=F0K=yD?wb%Xji*G{BUG(D zr3w`xviy{Y(gQuB8cy@~^lzwMn1-;t;TuUciYHu;q#DH&u18XR#4|WA6rWN)7a=_R zlrrgnlBrN(iGX79uYw$r?xTFe^+@+Y-*A5CKIj|H1MaU`1fkdKc6q*qe$|Zz!&E91 zRW6fcKA+2Fvp8NT6pN)2K~$@?TD?xwEZc5(IvnTUSFhJ<)oP_uDiw=`LO!3(=5qOb zp-?VURHag_HX6+)&v((m^IWIR(r^O-H)PW3R4SRoV)1w)fniA;9zena8216K7Kj{Fubvo@f%eMaY=Wt+@2BQQ7#vvdH0T~GBGI9fYEzq>r0zr5!;JDWUNqQ|X%moJO z4r-&JHUetPV2MOL9*f12sZ=_h$>2~U2{kfMBMP4qz@lhwsxvtQ0vwm#S$hmuGs6K`s*VSWaCPQbQ1H$)U-42Hq(9PFwPLxQ=j zNaAt0-W?zYWkCQmM^j5h5nSsIvVI99LLhG{8!&hM+cT6Pm@CN9=Nsf0*aniw+@?$jA{0EKHa}hw8Muw#mvF@ zZFyRa^mE@Beu^W-*?e~|H+y~ChwoSPbNGI#tu#BDYd^=vkWY(O%h_FXc;^}KVA~yz S@1nnUy{`LD0ZcRW%gZl1R?dY0 diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv5_1.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv5_1.dat deleted file mode 100644 index 0a7ccf76d4026d15bd07365b8783950fb17529c9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3269 zcmeH}JCCAJ7=}mD$aq)0qTKx>bcBwMP!U3?j3I1MyDAm=I0<$F1S1-1AVB=J3P>={tx8RoMKv-i3Vo_oU6VwjAJVKgj; z0aOhAUNLk##n5gQL$gr~_19tmYx$^F@&T0dQF_V8VnI7wp#6Wr_=5Bdi_2G4F<#EXfz&A zCetYlr+0UbASjAqI8G2GNl}ZmF6$M!%I(}Zh9WtS0fMz!wOXkFK)GBhy`)ttmCFE7 zsZ^`A8VLUDF`sSg|NVUZ+WnON6nzbgp6@KlTr8~3#FBSMO{Wuf>BYY8Jo4fjWbi?> z+S&(0-2)0^pEhm~Dv$h0+d848dZG!iJa-*I0z*fVyF2(F{o0HLnLA6m6Z=aqVRibb z$-Bh*=&z$_#RrffzA3@RR@D8$*xFYWDsFJvFgEZPpS35A=KxkT55Bu&Xh=}K(Aqj# z8%cTmqxOB(?raFz2Ipz-y*M5<`d$F-Hkt%f}Q2h~uTm z+4=`hWdWMePCM5MZ@qHZiw0oxt5dKw!Z%fc0%jB0?ydLMR_w^ynbX8mQmyWb7 aB)1;C6oO(nL8gBL6iK8X>pvERfBgodfzF2j diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv5_2.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv5_2.dat deleted file mode 100644 index 3b3cbd9f65b75db3f97553f3beda0b27840d6027..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3272 zcmchaJ&!qU6o)ay+jt#=@%}PjL?=3(s6=F{jfjY9vq7RzY=T6g*iYmmC>6>r6iUzB z?(>^G_q{uR#q;76lUe-Eb*}qZyJpiAs!=jpTf)IoOC5xf544bwCdbR zc3<;~R-HS^t~)Qh(v|G`6xpvsNQPyvbpK-;WWNp}8J4}${f}*cU+}^!U1=LY?J><} zv(c#6GZ{@wr&Fm|EFMoJlF4$pQmIyJwOlTn)%8p!5{X7tH5Mxrip6@p(a6&ip}QOHFp`ST z=kPfxPQ7IRW+@a5Lsg^ENF*HA^=vkm%jYo%@20A}o369jYSl`aFjSA%>+>m! zpKx@-F$uSnr@_KBkU<0SuK7Ig8V>WWhCw)a!U_2UfnYEc3KNz=dTV&yOK)6T=@sw4 zl;iY)59H!JU!Dhvc{Tq(&4EAa4`_T+!^X2O%({^NOgq&52C`@i;v{evgB&lR4B zM>pRz$749^UieHUyj@#8~c{?oTr_YJ?zPfHk(?=IM&qK72 zNLr5p-cR~9c9c)?B_)k!k4{(Z2iEwkoqhKeXZLYUN+jH{c%}uty$-~eB0lT z$Z?q$Yoghn+4>EfgQP{o{^4BR_63}7=LjF*TG#TT)O%_gQsq|*}-5tE2Y42CD6iNWxEA|Jun!T1avjNV>7 zr+M#1yy5K`ZmxTBfBz1RW}`_}U8Sp5b*rM#RVvdZ7wO6u=#p}D(WuP^japY9;Sxw1 zwZx#xMH)3O71iD_OU?s&X_elNQG1UIJhF)YOfTy;;^OKdf^t?b>>0PE zoS1!F>CD4QC7FsR=!yw+@zIAB2}1=#ZUs2Ee15lBRxBHq2kaR(@dV8#Ca`Rf2duy* z82XeC?TWW!+%!U^K-DFkiUG z%O7(`pKxCOm%dl`Fz4Pppl>)w$nV{`{#XAH2YrAsxbqA7y*uxi`>T8K9DR7^7x26e zhTU_2Zd_Kw!|!C;TCPvC@eilB*Y;w&KkCcPaW&qF{d0fVy$+_Ev-!1~8|VJ0w-;yH z_fg;O+iOlA?~beG#-8-LTt_ob<`%BIbiQ_HbGo^X;9|H|Lp*FiJndVY_4d}N-LeMT z!^tFgm(H|B&@Bhl!Lt_*;?HTeTw5a>@ebCY-4gp_#6ww*5F!JwT_PUp#shoeD%A|G z)9c!k-^uWBS1##H*8*$NZ zb9=byM88od`t71FY|Ih9*$3B{4_5J z7(|>u%;nvAKpf<;G*7#6htp3#+KgNGM$^G>YuLZ+FfSO(>+K6jz7UWX@<5;7oe#tT k9xdbndF?PS@G0UxN~Ky;>&_e9`M2P_T;bD5hP?d$0Ji$he*gdg diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv6_0.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv6_0.dat deleted file mode 100644 index f184ac928e8aab7b667e0b3c5bb9fc092ae05c44..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4184 zcmc(iyN@w#7{)QgX)w$$<)nB#Mwk+HzyKi z6AaxPMP}m<7{^FeE*Ytc1tV2H_mxURGE$|VI2Gr?o>Ori>^T+Z!QM#a5BwR|C)JrL zt-g$TU8MyMwqB(L4z^yU1rD~dw0@uKlSu!G@m%GE+!#-S=Y&1uiSV4TXFLkeiR~pH z8;|$qh;BAc*UfR*X{)MNqUtTB zQn_6I?)&ojTrQikP!k?{GvUXMo<0|8l9lwk0DSk)7< zLvh&cHk;KdkS!jvB}umBzxzI%T$1#Y`~CXKGns5Qm&@lVj))$I(@8NzwT!htCS->s zSS)6<$z&p1{A5dpYyPd!_YpqdyZ-1tvFFI;IdktiKi7Zl2R`rod2sJKeXfLV z?|nNQO?NMil{{?y=q)yr(d^J~)P-7Wyj>n^&x`$XFzc*8`h&``wjK7~g>H3vc$=?A z)9rBC8Vj{X{m>uHHj~~$t_>=k^>Ok#-Zwk-Q+qJmFP|638kgBD=j&=kZr+nSwLA5F z^L2bwrRJ+mxAj9FHdebAO;S6+_E);#*>vZt!&`LM)1BHHk0ygR2T!wF znXff9BhP@@rpZ*NDkZaTPWD}RCY`lr<1^!_a-Ms-;DMpwfiQS<`#x>cLh8>Z3-x_> zZIy^pJ5fG^%18g48`a<y7qq z2HnGIG~B39vDe9d*6E+>kIo%^hA#Xk-7a+DKl$L$Uzuz!Unr{I8r1);)h|7C)gk?( GzWxOStfra( diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv6_1.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv6_1.dat deleted file mode 100644 index 930399dd1a78868462b9cf0bc00dd6d04d82eeee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4182 zcmeH~J&&SL6oyqa;x`H^Dms3l{0%!oXEQNYh8Qbj3?WvNiJDkgn4pP;#rz_Ff+dCJ z6c&{31uiVZ&NX)?Q|uYC!#qK&R>c!n z!Be?}C$@;ELLN^Hji+1|PgDj^=@g!l34|WgA#@+p(cw{aptvyO78__LtZy*6s9|!! zVRBK%lM4!yi!_Q0L_8kD6B+$nk?`jtLZ2%b@X5&wGmkhT4-%0_ z1d#{f&%<{u2;FX{!}E3Ut5>U4t1MeA77F=1MP)MSbSf2##p8)YGMUZhax~2_rBbAQ(QLL_?Y6VNQYn{9C6=Y>TrQiXs6-+jkAWkd&SWSmn=KTIMV2jQaBv|57bfk6BoPV)gMmOG9En7uBpFM=jq-4#s<~0U-T+&5yMiFJTdiiZ(Ww95 z&no58)Np^Y>Z76$Jtadj7?QCX;YO-*;M88HdWQC z)l9%7#F2wIG7!fk8I49F;V{5D7zzLt9+oiKymfe`{6hcllj|avD};|+VS=(ZuHsUNH0b^CqCbw*URlq(N4N7_UPfD zPe`NH<>15(X}Z52)UEw_m&d1fMeP~VxPKkKtVX-bV*W-<#0|X|9QE09b9>c}%gtp$ zNQ1tzUGER0m3ev_ialM{P8VglJ+J3`+KwuBN$rhK#`RasMu>y?4bM zCt%uVXh(;3+_+^@pWP1H$+R(tHZ*8&0PQ((L$(b#_U>zF%!ym3@3Ic8X~*+q1T0xb zcV45vMpC^~M(Sq0vX7o{f)i>JYc3dvbyZK&~uB++6IK8Z|+p%)*gE{?D w{ZX9xp6}-6d%l~O^L$l)?~R9sn-{z$?W56bwfPQs`vCs}!AmBLlDX&SUtss9oB#j- diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv6_2.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv6_2.dat deleted file mode 100644 index 2162d807e707a5a6c5e86ea2fb6fddab0276659e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4184 zcmd6qJ&!R_6vr{d+hE3w_woLkJfA`*I-RIQL?s&$QEfIz6pBrdC=~mNd<3OJxrIXM zxns_m-8p!6c^Xb}_ujp^|MNTlb8jdWONJ=qjgiY5Ba=2pGG&Z-;%X={5=PZh(WqL; z8&z}J@2aY#Q8k&Os#Fi>_vwDAo;8!~W8}S{MIACmf2;eYsQpFsE;x~!=qZutKO-C> z5eQxlSt23&uZG|w;qhJ#-c7>kx*85Ugwk~?jaY9;GW6+lYi7VoD(jY`i67D zB~agRPPlmL8_tmreZvv?&^I!cO2uNKkk5z1p-?aw2soWCm)p(rkw`Qeizy2JUy}TO zQ4|EP*XI)iQA{L~$$Y+0P-3xYG!hB(Znw+jbULgyo89hkI0M08C=?Dy*p_0kR4UPZ zxm-4z$)wY=tex!fXeYd7hgjwTZExT5%cUa!Z)^M1c1$#NiYK8)oI>Bav+Tq7g!a>|b$A!JPVZwo z98GsG^_4VizV{ZJ$!K=y*K1t0Io>Xh)$U@y9L(D5&;Fo%tZs+B53W<09^U4w(R4dp zHpg7GUOV(hv(2Qpkg9`ndwra|j`xjr?bI5~_RH?#Sfw%>)Z29CtHWDmihA?)u2m^Z z4b;=rPc2n%(_#5B^(_-cy+)-xU#km7y#c{eWhzsa1?pi!sE6FB*RJgwujA&sG_0?7 zFQcgn*`G}oOmEj>ia>n=zCro3f98fV>M~H=1L`3+>LItLcbuRe)*1D%&R9{@LvARe zE~6VbU#sP$a%k(R1;Wfyt-!_v)XF~O@ACh2CFCA0w~JntD_8o5^?b7FNUO@*ZaVJ_ zs{3(wd0dlrokP3oT$A=%ZQHJHBovl%-P=cx>LM5F1J@Y2wja$QH?6-6TA$^1Xb+Vte z`==UQcfCK63w>l)?@V@naMT9?`jgi2-h1(=F4h&fus?yTgIw63;G;wPq%+xEzQDd! Qv0v}(OB<{@lt1kA7t3CzrT_o{ diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv6_3.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv6_3.dat deleted file mode 100644 index fecc622c77d42165969c965fba53ff25e2aa4269..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4184 zcmcJSJ8LRY5XaS3eCz7^e#WwGnZm-- zd)A%5xjQP{+<142$($T_e)FF>C#GB~>#SJNTRx|^Y({VCC%q+8H!Tro7LDDsNSI7d zRW9kNiUmDYKKCb;ilnDXKXEF~gP2o+2mX6pUsPwNw0QJ-U8w~Q=C9NO5B%S9eGzFt zF`g@(pc~^!aGel?hx=gYrUevcKL1UVz0BO6o91#dvpa5@%}Qpr=u9$^8H}2t4o=Ux z5p#OZjhNGOZp54(-0+|WH$3CNQXjm`U#SmX=C9NTFY{OGgPZ(CeQ=W}^$kX@J7UHi z;JPDb+%nf4G2?b|-4TNyy2FDXx-(xcmrBKAp%96L!=X?xXtz5YPN&NijmBc}cp`z{ zD~jLm^U1Qu-BitZkNmNSCl{?7(6EvHBmVM zo7HNun9UNE<)*TdRCfNm`;b|dwah-BmN}EjW^=iGp5%yVa@g%8LsZpR{bNAo$dbuq zG#U&BD$7S@WvJ|@@9s;Gz%FV;kQ$)&NYzB^ZXlp_*X`E2n@mDTD#v9o8ciliGE-SW zDy#6X`yM?P4|?B4U#9=n`lILPr|;u^K%efdKYGr7`aX6KT<(c`>yMttpS}a5UY$G*-&6_1;@-CZpM*->6Hq)_A)-)}9ypZkT#wqHIkjy0ZUvz)K16{UGE z-3dIK?tFE4t4_f)U+>!L2f?G!o!TnTrYrab-Bv(>r&+Dc*Xn|vXTZu<(^RK|l9fNF z@=xtfecyZ?AHjoyz=IEhN88?dSB8z%?qxJpMe5Hc3&FE%3nEhOMEVRWpZ&9L)P_qM zYR-Y$aY+ZB2?+rn=ms9>M)(u(ppW1|AJH-JKsRc`B@G6I+Hpw-9vgsf3HQ?+$AF@$>Sy7WJrO|9ojA3CFn~J!kjw zf*bjXdkpUFM{6ie8!v|V+bKsW&UzC&{H}iB$oFbc-GU3GfJ>wl)`O6>+s_GEx_)XT4(~o$QFVA1)?Zg?^zQX$>&fst5O|s;?WBfV4 z$(LvHX0DarX4J2Y!! zSb)ijr&g<0E0uCNnM@=uFXQp!ADxJ<`O2tB6jn1{MMOT z!{rKv!r{}?NFGVGCS6bNcw7{RhFDWjr&5M~$`iGLs#PKpQRUzu7!;+^174s9yZ~n05jV40=7B!ZAL?O* zK#3wL@%ecFyZ(J87eF2ki{kVP8H6V$tt>K#CqxyG2Wf!P$R51l`;wDr6q$nuqDnSP zpO7JFN<9!qXnJ^f;Bsr8|Lxyrb796T&AFssKn+h!T1m-ZAmH`Nq{#F#&B%o$l5@=5 zT6GdN@_Ct#Tu!DVs(4ExIX}C+VclHLnip#y`ar*A*C~}`zG5-v$%gcqeA!F2)`vmpW+l~6BGhaV1 zZ^v5mrnT*lW>1se;$i&KzH7a82D6vt&&6wVzS{n3Otr2)y#3uE`}sg?>-n`KnRZ+vq!*ZTmMZt$8~Z1nBv50gNxp!R)PrUh~yx3LNNX((3mX z?fP1MAghn~5|bcNE1G?YqWv&_ohZ`mYvs%SR&7PiL7jZ5v5l|N+URZJ3mwpSFcZb8 zGL=TZ<+$0JO%{f;;^|w5ed#Z~pugk`t>FQEpw8m9-Zo5Dq?P4{1oW4_Tlvy=D_{Cf zf7uVN!(sNN??@MVira%3GX}SjI5W07lT2Pr7WvY5@@3AMH2Tn}OUewBRc{rpPOCju z%HL0ik6j~Q#DJW?pB?lf4*E;J(19A84jVaVqRE$eGh?P^MHJ^uVZz`N$Cs09Pu2&W z%~`@MGuzOgxu(x5amJ+CCmZ^2`}BR$YijjIf4ge@+Dzx&=f~TjHodvucK+1w+OLZT z`oaCgHtFkq9MolpL-rY&_RT$W&m73^rMKzFdOjO1pBFviSdE5HY6E+iyv*+UZ><6M z0~-#dF8s0YIKanLFpX~=`a&GkiMuQ2V0_!wMV+XN9rWG z-1eyl{o=lB^{Zh^s7$Kt@{M}yrn7-Elc%xT(7QVQA`bfHlOta!mdX|NFM(>Mto}=2 KUiC%(QOCcen?Gm( diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv7_1.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv7_1.dat deleted file mode 100644 index f4cae7afdc335df48aff9aa5fc9f4d9e03634260..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4737 zcmd5;yJ|996poG(HEJ~D{eHi{gq_&giIs?0g&-nUA*f(s5m3RxB2VNaSXx-7u&~V8 z->li0(ckf(a02Jd3Y&46z4!VqYbBL(MOT!Hx1*5Pj$Bqd(s(jTs9vRHDyc6Las3gC z>W@fRe}sbiBjCRsKCgCoM32aR)S>zyvd1GnxqlL_N4?>6{3PrTm+?2Z-FBJst(M!g zoW^~nI8Ab%>SI!R^tesG(-Lw0PK!nLJ1r8{@3c_xmeaIdM&C$YBTJFrBzLK;hj;y6 z)9W+(J^fz0^x5A&+pIqc%l)-5oBj;Jcs&ev*W-Gf`fIyZ7jl1AW;R`~4B6|oAzP`G z%cWAWn8~EmsZ=rT#t{~Yqi>J*z0ybJw+n4vsf&Z%H>L>kk4gtwX}&{ zO}DySbgRX3e{Zp<_v7whFciYw$z&>pyKxpU6bkt~FeDQ3I4}ePe!sd7oMtfGvBzNe zKb#B3!4((>S5BwHAqYkzY6Rwo2fH1diDEEFY$uc83|z}{C1kk*#J1CEwZa>MU@#bs zf?zVyDGmot@p!!6P$(RR2B{SLvz*ChNrg%!pU>s8*-VD(=lA=3Ua!YPRoU(L_hz%{ z7tV!7xCt7;DbNTvas21FJsxO{ilH?s=Ds1fCKBXUQ3QAJDma5z!5MavOVVlXPuU(Z z*u(Ghs_@+zjDpFm><3#uAF&mS5nH(&=bzY0r^)T%FtMf7L2Mb>0~O5w`MJ~;u~;y8 z-q+{_)X4i=?T_!iVm&I$6#-{Bf!Ma$$gOvGW;1mZO$oP~ri9{Kni9n#O`AgDT)#lz zvhRQE+~4uB(iiG^qMl29u4(m;Rv-Rb+~+(h{!@Ic^Z`6T{c_2-)vBeN*s4|coyF!j z7|*xU{&Kf!PlS52ahV^^53A?pss1`Sw7QM2&anD9=x$C^p5OKs>*HH(Myt@nyU^=@ zh@hwm8Dv*lhbsu-uBw> z;;8>2^lG!?TXVgC8P9g3%RDfkc3?p5zyM5_d1P7jbJPwjz$9S-CWi4cuf_q4yU}>I ze`!isIX>i(Jr0@;U{d29&yf}CmwBKBMj7@>0>2v083k
  • Content
  • Paragraph1

    (...) + if ($this->mpdf->listlvl == 0) { // in case of malformed HTML code. Example:(...)

  • Content
  • Paragraph1

    (...) $this->mpdf->listlvl++; // first depth level $this->mpdf->listcounter[$this->mpdf->listlvl] = 0; } - $this->mpdf->listcounter[$this->mpdf->listlvl] ++; + + if (!isset($attr['PAGEBREAKAVOIDCHECKED']) || !$attr['PAGEBREAKAVOIDCHECKED']) { + $this->mpdf->listcounter[$this->mpdf->listlvl]++; + } + $this->mpdf->listitem = []; // Listitem-type @@ -1062,7 +1065,7 @@ abstract class BlockTag extends Tag $this->mpdf->pageoutput[$this->mpdf->page] = []; } // mod changes operands to integers before processing - $this->mpdf->y = (($this->mpdf->blk[$this->mpdf->blklvl]['float_endpos'] * 1000) % 1000000) / 1000; + $this->mpdf->y = (round($this->mpdf->blk[$this->mpdf->blklvl]['float_endpos'] * 1000) % 1000000) / 1000; } /* -- END CSS-FLOAT -- */ @@ -1220,7 +1223,7 @@ abstract class BlockTag extends Tag $page_break_after = $this->mpdf->blk[$this->mpdf->blklvl]['page_break_after']; } - //Reset values + // Reset values $this->mpdf->Reset(); if (isset($this->mpdf->blk[$this->mpdf->blklvl]['z-index']) && $this->mpdf->blk[$this->mpdf->blklvl]['z-index'] > 0) { @@ -1253,6 +1256,7 @@ abstract class BlockTag extends Tag $this->mpdf->pageoutput[$this->mpdf->page] = []; $this->mpdf->y = $this->mpdf->kt_y00; + $ihtml = $this->mpdf->blk[$this->mpdf->blklvl]['array_i'] - 1; $ahtml[$ihtml + 1] .= ' pagebreakavoidchecked="true";'; // avoid re-iterating; read in OpenTag() diff --git a/pandora_console/vendor/mpdf/mpdf/src/Tag/Columns.php b/pandora_console/vendor/mpdf/mpdf/src/Tag/Columns.php index 0e6bed4097..c8c883aa05 100644 --- a/pandora_console/vendor/mpdf/mpdf/src/Tag/Columns.php +++ b/pandora_console/vendor/mpdf/mpdf/src/Tag/Columns.php @@ -47,7 +47,7 @@ class Columns extends Tag if ($attr['VALIGN'] === 'J') { $valign = 'J'; } else { - $valign = self::ALIGN[$attr['VALIGN']]; + $valign = $this->getAlign($attr['VALIGN']); } } else { $valign = ''; diff --git a/pandora_console/vendor/mpdf/mpdf/src/Tag/Hr.php b/pandora_console/vendor/mpdf/mpdf/src/Tag/Hr.php index 5155c63ed3..89c880b99a 100644 --- a/pandora_console/vendor/mpdf/mpdf/src/Tag/Hr.php +++ b/pandora_console/vendor/mpdf/mpdf/src/Tag/Hr.php @@ -54,9 +54,9 @@ class Hr extends Tag $objattr['width'] = $this->sizeConverter->convert($attr['WIDTH'], $this->mpdf->blk[$this->mpdf->blklvl]['inner_width']); } if (isset($properties['TEXT-ALIGN'])) { - $objattr['align'] = self::ALIGN[strtolower($properties['TEXT-ALIGN'])]; + $objattr['align'] = $this->getAlign($properties['TEXT-ALIGN']); } elseif (isset($attr['ALIGN']) && $attr['ALIGN'] != '') { - $objattr['align'] = self::ALIGN[strtolower($attr['ALIGN'])]; + $objattr['align'] = $this->getAlign($attr['ALIGN']); } if (isset($properties['MARGIN-LEFT']) && strtolower($properties['MARGIN-LEFT']) === 'auto') { diff --git a/pandora_console/vendor/mpdf/mpdf/src/Tag/Img.php b/pandora_console/vendor/mpdf/mpdf/src/Tag/Img.php index c3cdc216e2..5c68099bb6 100644 --- a/pandora_console/vendor/mpdf/mpdf/src/Tag/Img.php +++ b/pandora_console/vendor/mpdf/mpdf/src/Tag/Img.php @@ -128,7 +128,7 @@ class Img extends Tag } if (isset($properties['VERTICAL-ALIGN'])) { - $objattr['vertical-align'] = self::ALIGN[strtolower($properties['VERTICAL-ALIGN'])]; + $objattr['vertical-align'] = $this->getAlign($properties['VERTICAL-ALIGN']); } $w = 0; $h = 0; @@ -278,8 +278,8 @@ class Img extends Tag $info = $this->imageProcessor->getImage($this->mpdf->noImageFile); if ($info) { $srcpath = $this->mpdf->noImageFile; - $w = ($info['w'] * (25.4 / $this->mpdf->dpi)); - $h = ($info['h'] * (25.4 / $this->mpdf->dpi)); + $w = ($info['w'] * (25.4 / $this->mpdf->img_dpi)); + $h = ($info['h'] * (25.4 / $this->mpdf->img_dpi)); } } if (!$info) { diff --git a/pandora_console/vendor/mpdf/mpdf/src/Tag/Input.php b/pandora_console/vendor/mpdf/mpdf/src/Tag/Input.php index 281c12f33f..d98039c1d6 100644 --- a/pandora_console/vendor/mpdf/mpdf/src/Tag/Input.php +++ b/pandora_console/vendor/mpdf/mpdf/src/Tag/Input.php @@ -81,9 +81,9 @@ class Input extends Tag $objattr['fontsize'] = $this->mpdf->FontSizePt; if ($this->mpdf->useActiveForms) { if (isset($attr['ALIGN'])) { - $objattr['text_align'] = self::ALIGN[strtolower($attr['ALIGN'])]; + $objattr['text_align'] = $this->getAlign($attr['ALIGN']); } elseif (isset($properties['TEXT-ALIGN'])) { - $objattr['text_align'] = self::ALIGN[strtolower($properties['TEXT-ALIGN'])]; + $objattr['text_align'] = $this->getAlign($properties['TEXT-ALIGN']); } if (isset($properties['BORDER-TOP-COLOR'])) { $objattr['border-col'] = $this->colorConverter->convert($properties['BORDER-TOP-COLOR'], $this->mpdf->PDFAXwarnings); @@ -105,7 +105,7 @@ class Input extends Tag } if ($properties['VERTICAL-ALIGN']) { - $objattr['vertical-align'] = self::ALIGN[strtolower($properties['VERTICAL-ALIGN'])]; + $objattr['vertical-align'] = $this->getAlign($properties['VERTICAL-ALIGN']); } switch (strtoupper($attr['TYPE'])) { @@ -199,7 +199,7 @@ class Input extends Tag $objattr['padding_right'] = 0; if (isset($properties['VERTICAL-ALIGN'])) { - $objattr['vertical-align'] = self::ALIGN[strtolower($properties['VERTICAL-ALIGN'])]; + $objattr['vertical-align'] = $this->getAlign($properties['VERTICAL-ALIGN']); } $w = 0; @@ -220,8 +220,8 @@ class Input extends Tag $info = $this->imageProcessor->getImage($this->mpdf->noImageFile); if ($info) { $srcpath = $this->mpdf->noImageFile; - $w = ($info['w'] * (25.4 / $this->mpdf->dpi)); - $h = ($info['h'] * (25.4 / $this->mpdf->dpi)); + $w = ($info['w'] * (25.4 / $this->mpdf->img_dpi)); + $h = ($info['h'] * (25.4 / $this->mpdf->img_dpi)); } } if (!$info) { diff --git a/pandora_console/vendor/mpdf/mpdf/src/Tag/Meter.php b/pandora_console/vendor/mpdf/mpdf/src/Tag/Meter.php index 0e28c2fdf3..2ffff3d01b 100644 --- a/pandora_console/vendor/mpdf/mpdf/src/Tag/Meter.php +++ b/pandora_console/vendor/mpdf/mpdf/src/Tag/Meter.php @@ -176,7 +176,7 @@ class Meter extends InlineTag } if (isset($properties['VERTICAL-ALIGN'])) { - $objattr['vertical-align'] = self::ALIGN[strtolower($properties['VERTICAL-ALIGN'])]; + $objattr['vertical-align'] = $this->getAlign($properties['VERTICAL-ALIGN']); } $w = 0; $h = 0; @@ -234,8 +234,8 @@ class Meter extends InlineTag $info = $this->imageProcessor->getImage($this->mpdf->noImageFile); if ($info) { $srcpath = $this->mpdf->noImageFile; - $w = ($info['w'] * (25.4 / $this->mpdf->dpi)); - $h = ($info['h'] * (25.4 / $this->mpdf->dpi)); + $w = ($info['w'] * (25.4 / $this->mpdf->img_dpi)); + $h = ($info['h'] * (25.4 / $this->mpdf->img_dpi)); } } if (!$info) { @@ -348,7 +348,7 @@ class Meter extends InlineTag if ($value) { if ($min != $low && $value < $low) { $col = 'orange'; - } else if ($max != $high && $value > $high) { + } elseif ($max != $high && $value > $high) { $col = 'orange'; } else { $col = '#008800'; @@ -364,7 +364,7 @@ class Meter extends InlineTag $svg .= ''; $svg .= ''; - } else if ($type == '3') { + } elseif ($type == '3') { ///////////////////////////////////////////////////////////////////////////////////// ///////// CUSTOM ///////////////////////////////////////////////////////////////////////////////////// @@ -409,7 +409,7 @@ class Meter extends InlineTag if ($value) { if ($min != $low && $value < $low) { $col = 'orange'; - } else if ($max != $high && $value > $high) { + } elseif ($max != $high && $value > $high) { $col = 'orange'; } else { $col = 'orange'; @@ -482,15 +482,15 @@ class Meter extends InlineTag if ($optimum < $low) { if ($value < $low) { $barcol = 'url(#GrGREEN)'; - } else if ($value > $high) { + } elseif ($value > $high) { $barcol = 'url(#GrRED)'; } else { $barcol = 'url(#GrORANGE)'; } - } else if ($optimum > $high) { + } elseif ($optimum > $high) { if ($value < $low) { $barcol = 'url(#GrRED)'; - } else if ($value > $high) { + } elseif ($value > $high) { $barcol = 'url(#GrGREEN)'; } else { $barcol = 'url(#GrORANGE)'; @@ -498,7 +498,7 @@ class Meter extends InlineTag } else { if ($value < $low) { $barcol = 'url(#GrORANGE)'; - } else if ($value > $high) { + } elseif ($value > $high) { $barcol = 'url(#GrORANGE)'; } else { $barcol = 'url(#GrGREEN)'; diff --git a/pandora_console/vendor/mpdf/mpdf/src/Tag/Table.php b/pandora_console/vendor/mpdf/mpdf/src/Tag/Table.php index 82d1a86a01..6a7b427c2e 100644 --- a/pandora_console/vendor/mpdf/mpdf/src/Tag/Table.php +++ b/pandora_console/vendor/mpdf/mpdf/src/Tag/Table.php @@ -163,7 +163,7 @@ class Table extends Tag } if (isset($attr['ALIGN']) && array_key_exists(strtolower($attr['ALIGN']), self::ALIGN)) { - $table['a'] = self::ALIGN[strtolower($attr['ALIGN'])]; + $table['a'] = $this->getAlign($attr['ALIGN']); } if (!$table['a']) { if ($table['direction'] === 'rtl') { @@ -182,18 +182,27 @@ class Table extends Tag } if (isset($properties['BACKGROUND-COLOR'])) { + if ($table['bgcolor'] === false) { // @todo cleaner initialization + $table['bgcolor'] = []; + } $table['bgcolor'][-1] = $properties['BACKGROUND-COLOR']; } elseif (isset($properties['BACKGROUND'])) { + if ($table['bgcolor'] === false) { + $table['bgcolor'] = []; + } $table['bgcolor'][-1] = $properties['BACKGROUND']; } elseif (isset($attr['BGCOLOR'])) { + if ($table['bgcolor'] === false) { + $table['bgcolor'] = []; + } $table['bgcolor'][-1] = $attr['BGCOLOR']; } if (isset($properties['VERTICAL-ALIGN']) && array_key_exists(strtolower($properties['VERTICAL-ALIGN']), self::ALIGN)) { - $table['va'] = self::ALIGN[strtolower($properties['VERTICAL-ALIGN'])]; + $table['va'] = $this->getAlign($properties['VERTICAL-ALIGN']); } if (isset($properties['TEXT-ALIGN']) && array_key_exists(strtolower($properties['TEXT-ALIGN']), self::ALIGN)) { - $table['txta'] = self::ALIGN[strtolower($properties['TEXT-ALIGN'])]; + $table['txta'] = $this->getAlign($properties['TEXT-ALIGN']); } if (!empty($properties['AUTOSIZE']) && $this->mpdf->tableLevel == 1) { @@ -276,7 +285,8 @@ class Table extends Tag if (isset($properties['FONT-SIZE'])) { if ($this->mpdf->tableLevel > 1) { - $mmsize = $this->sizeConverter->convert($properties['FONT-SIZE'], $this->mpdf->base_table_properties['FONT-SIZE']); + $tableFontSize = $this->sizeConverter->convert($this->mpdf->base_table_properties['FONT-SIZE']); + $mmsize = $this->sizeConverter->convert($properties['FONT-SIZE'], $tableFontSize); } else { $mmsize = $this->sizeConverter->convert($properties['FONT-SIZE'], $this->mpdf->default_font_size / Mpdf::SCALE); } @@ -883,13 +893,13 @@ class Table extends Tag $forcerecalc = false; // RESIZING ALGORITHM if ($maxrowheight > $fullpage) { - $recalculate = $this->mpdf->tbsqrt($maxrowheight / $fullpage, 1); + $recalculate = $this->tbsqrt($maxrowheight / $fullpage, 1); $forcerecalc = true; } elseif ($this->mpdf->table_rotate) { // NB $remainingpage == $fullpage == the width of the page if ($tableheight > $remainingpage) { // If can fit on remainder of page whilst respecting autsize value.. - if (($this->mpdf->shrin_k * $this->mpdf->tbsqrt($tableheight / $remainingpage, 1)) <= $this->mpdf->shrink_this_table_to_fit) { - $recalculate = $this->mpdf->tbsqrt($tableheight / $remainingpage, 1); + if (($this->mpdf->shrin_k * $this->tbsqrt($tableheight / $remainingpage, 1)) <= $this->mpdf->shrink_this_table_to_fit) { + $recalculate = $this->tbsqrt($tableheight / $remainingpage, 1); } elseif (!$added_page) { if ($this->mpdf->y != $this->mpdf->tMargin) { $this->mpdf->AddPage($this->mpdf->CurOrientation); @@ -905,8 +915,8 @@ class Table extends Tag } } elseif ($this->mpdf->table_keep_together || ($this->mpdf->table[1][1]['nr'] == 1 && !$this->mpdf->writingHTMLfooter)) { if ($tableheight > $fullpage) { - if (($this->mpdf->shrin_k * $this->mpdf->tbsqrt($tableheight / $fullpage, 1)) <= $this->mpdf->shrink_this_table_to_fit) { - $recalculate = $this->mpdf->tbsqrt($tableheight / $fullpage, 1); + if (($this->mpdf->shrin_k * $this->tbsqrt($tableheight / $fullpage, 1)) <= $this->mpdf->shrink_this_table_to_fit) { + $recalculate = $this->tbsqrt($tableheight / $fullpage, 1); } elseif ($this->mpdf->tableMinSizePriority) { $this->mpdf->table_keep_together = false; $recalculate = 1.001; @@ -917,12 +927,12 @@ class Table extends Tag } $added_page = true; $this->mpdf->tbrot_maxw = $this->mpdf->h - ($this->mpdf->y + $this->mpdf->bMargin + 5) - $this->mpdf->kwt_height; - $recalculate = $this->mpdf->tbsqrt($tableheight / $fullpage, 1); + $recalculate = $this->tbsqrt($tableheight / $fullpage, 1); } } elseif ($tableheight > $remainingpage) { // If can fit on remainder of page whilst respecting autsize value.. - if (($this->mpdf->shrin_k * $this->mpdf->tbsqrt($tableheight / $remainingpage, 1)) <= $this->mpdf->shrink_this_table_to_fit) { - $recalculate = $this->mpdf->tbsqrt($tableheight / $remainingpage, 1); + if (($this->mpdf->shrin_k * $this->tbsqrt($tableheight / $remainingpage, 1)) <= $this->mpdf->shrink_this_table_to_fit) { + $recalculate = $this->tbsqrt($tableheight / $remainingpage, 1); } else { if ($this->mpdf->y != $this->mpdf->tMargin) { // mPDF 6 @@ -1040,12 +1050,12 @@ class Table extends Tag // RESIZING ALGORITHM if ($maxrowheight > $fullpage) { - $recalculate = $this->mpdf->tbsqrt($maxrowheight / $fullpage, $iteration); + $recalculate = $this->tbsqrt($maxrowheight / $fullpage, $iteration); $iteration++; } elseif ($this->mpdf->table_rotate && $tableheight > $remainingpage && !$added_page) { // If can fit on remainder of page whilst respecting autosize value.. - if (($this->mpdf->shrin_k * $this->mpdf->tbsqrt($tableheight / $remainingpage, $iteration)) <= $this->mpdf->shrink_this_table_to_fit) { - $recalculate = $this->mpdf->tbsqrt($tableheight / $remainingpage, $iteration); + if (($this->mpdf->shrin_k * $this->tbsqrt($tableheight / $remainingpage, $iteration)) <= $this->mpdf->shrink_this_table_to_fit) { + $recalculate = $this->tbsqrt($tableheight / $remainingpage, $iteration); $iteration++; } else { if (!$added_page) { @@ -1059,8 +1069,8 @@ class Table extends Tag } } elseif ($this->mpdf->table_keep_together || ($this->mpdf->table[1][1]['nr'] == 1 && !$this->mpdf->writingHTMLfooter)) { if ($tableheight > $fullpage) { - if (($this->mpdf->shrin_k * $this->mpdf->tbsqrt($tableheight / $fullpage, $iteration)) <= $this->mpdf->shrink_this_table_to_fit) { - $recalculate = $this->mpdf->tbsqrt($tableheight / $fullpage, $iteration); + if (($this->mpdf->shrin_k * $this->tbsqrt($tableheight / $fullpage, $iteration)) <= $this->mpdf->shrink_this_table_to_fit) { + $recalculate = $this->tbsqrt($tableheight / $fullpage, $iteration); $iteration++; } elseif ($this->mpdf->tableMinSizePriority) { $this->mpdf->table_keep_together = false; @@ -1072,13 +1082,13 @@ class Table extends Tag $this->mpdf->kwt_moved = true; $this->mpdf->tbrot_maxw = $this->mpdf->h - ($this->mpdf->y + $this->mpdf->bMargin + 5) - $this->mpdf->kwt_height; } - $recalculate = $this->mpdf->tbsqrt($tableheight / $fullpage, $iteration); + $recalculate = $this->tbsqrt($tableheight / $fullpage, $iteration); $iteration++; } } elseif ($tableheight > $remainingpage) { // If can fit on remainder of page whilst respecting autosize value.. - if (($this->mpdf->shrin_k * $this->mpdf->tbsqrt($tableheight / $remainingpage, $iteration)) <= $this->mpdf->shrink_this_table_to_fit) { - $recalculate = $this->mpdf->tbsqrt($tableheight / $remainingpage, $iteration); + if (($this->mpdf->shrin_k * $this->tbsqrt($tableheight / $remainingpage, $iteration)) <= $this->mpdf->shrink_this_table_to_fit) { + $recalculate = $this->tbsqrt($tableheight / $remainingpage, $iteration); $iteration++; } else { if (!$added_page) { @@ -1093,7 +1103,7 @@ class Table extends Tag $this->mpdf->tbrot_maxw = $this->mpdf->h - ($this->mpdf->y + $this->mpdf->bMargin + 5) - $this->mpdf->kwt_height; } - //$recalculate = $this->mpdf->tbsqrt($tableheight / $fullpage, $iteration); $iteration++; + //$recalculate = $this->tbsqrt($tableheight / $fullpage, $iteration); $iteration++; $recalculate = (1 / $this->mpdf->shrin_k) + 0.001; // undo any shrink } } else { @@ -1169,7 +1179,6 @@ class Table extends Tag $this->mpdf->shrin_k = 1; $this->mpdf->shrink_this_table_to_fit = 0; - unset($this->mpdf->table); $this->mpdf->table = []; //array $this->mpdf->tableLevel = 0; $this->mpdf->tbctr = []; @@ -1177,11 +1186,11 @@ class Table extends Tag $this->cssManager->tbCSSlvl = 0; $this->cssManager->tablecascadeCSS = []; - unset($this->mpdf->cell); $this->mpdf->cell = []; //array $this->mpdf->col = -1; //int $this->mpdf->row = -1; //int + $this->mpdf->Reset(); $this->mpdf->cellPaddingL = 0; @@ -1237,4 +1246,36 @@ class Table extends Tag } } + /** + * This function determines the shrink factor when resizing tables + * val is the table_height / page_height_available + * returns a scaling factor used as $shrin_k to resize the table + * Overcompensating will be quicker but may unnecessarily shrink table too much + * Undercompensating means it will reiterate more times (taking more processing time) + */ + private function tbsqrt($val, $iteration = 3) + { + // Alters number of iterations until it returns $val itself - Must be > 2 + $k = 4; + + // Probably best guess and most accurate + if ($iteration === 1) { + return sqrt($val); + } + + // Faster than using sqrt (because it won't undercompensate), and gives reasonable results + // return 1 + (($val - 1) / 2); + $x = 2 - (($iteration - 2) / ($k - 2)); + + if ($x === 0) { + $ret = $val + 0.00001; + } elseif ($x < 0) { + $ret = 1 + ( pow(2, ($iteration - 2 - $k)) / 1000 ); + } else { + $ret = 1 + (($val - 1) / $x); + } + + return $ret; + } + } diff --git a/pandora_console/vendor/mpdf/mpdf/src/Tag/Tag.php b/pandora_console/vendor/mpdf/mpdf/src/Tag/Tag.php index f39837c5ef..094b2a46f8 100644 --- a/pandora_console/vendor/mpdf/mpdf/src/Tag/Tag.php +++ b/pandora_console/vendor/mpdf/mpdf/src/Tag/Tag.php @@ -2,6 +2,8 @@ namespace Mpdf\Tag; +use Mpdf\Strict; + use Mpdf\Cache; use Mpdf\Color\ColorConverter; use Mpdf\CssManager; @@ -15,6 +17,9 @@ use Mpdf\TableOfContents; abstract class Tag { + + use Strict; + /** * @var \Mpdf\Mpdf */ @@ -109,6 +114,12 @@ abstract class Tag return strtoupper(str_replace('Mpdf\Tag\\', '', $tag)); } + protected function getAlign($property) + { + $property = strtolower($property); + return array_key_exists($property, self::ALIGN) ? self::ALIGN[$property] : ''; + } + abstract public function open($attr, &$ahtml, &$ihtml); abstract public function close(&$ahtml, &$ihtml); diff --git a/pandora_console/vendor/mpdf/mpdf/src/Tag/Td.php b/pandora_console/vendor/mpdf/mpdf/src/Tag/Td.php index 8124b901e1..47fb978db1 100644 --- a/pandora_console/vendor/mpdf/mpdf/src/Tag/Td.php +++ b/pandora_console/vendor/mpdf/mpdf/src/Tag/Td.php @@ -12,19 +12,23 @@ class Td extends Tag public function open($attr, &$ahtml, &$ihtml) { $tag = $this->getTagName(); + $this->mpdf->ignorefollowingspaces = true; $this->mpdf->lastoptionaltag = $tag; // Save current HTML specified optional endtag + $this->cssManager->tbCSSlvl++; + $this->mpdf->InlineProperties = []; $this->mpdf->InlineBDF = []; // mPDF 6 $this->mpdf->InlineBDFctr = 0; // mPDF 6 $this->mpdf->tdbegin = true; $this->mpdf->col++; + while (isset($this->mpdf->cell[$this->mpdf->row][$this->mpdf->col])) { $this->mpdf->col++; } - //Update number column + // Update number column if ($this->mpdf->table[$this->mpdf->tableLevel][$this->mpdf->tbctr[$this->mpdf->tableLevel]]['nc'] < $this->mpdf->col + 1) { $this->mpdf->table[$this->mpdf->tableLevel][$this->mpdf->tbctr[$this->mpdf->tableLevel]]['nc'] = $this->mpdf->col + 1; } @@ -114,10 +118,10 @@ class Td extends Tag // INHERITED THEAD CSS Properties if ($this->mpdf->tablethead) { if ($this->mpdf->thead_valign_default) { - $c['va'] = self::ALIGN[strtolower($this->mpdf->thead_valign_default)]; + $c['va'] = $this->getAlign($this->mpdf->thead_valign_default); } if ($this->mpdf->thead_textalign_default) { - $c['a'] = self::ALIGN[strtolower($this->mpdf->thead_textalign_default)]; + $c['a'] = $this->getAlign($this->mpdf->thead_textalign_default); } if ($this->mpdf->thead_font_weight === 'B') { $this->mpdf->SetStyle('B', true); @@ -133,10 +137,10 @@ class Td extends Tag // INHERITED TFOOT CSS Properties if ($this->mpdf->tabletfoot) { if ($this->mpdf->tfoot_valign_default) { - $c['va'] = self::ALIGN[strtolower($this->mpdf->tfoot_valign_default)]; + $c['va'] = $this->getAlign($this->mpdf->tfoot_valign_default); } if ($this->mpdf->tfoot_textalign_default) { - $c['a'] = self::ALIGN[strtolower($this->mpdf->tfoot_textalign_default)]; + $c['a'] = $this->getAlign($this->mpdf->tfoot_textalign_default); } if ($this->mpdf->tfoot_font_weight === 'B') { $this->mpdf->SetStyle('B', true); @@ -195,9 +199,9 @@ class Td extends Tag } /* -- END BACKGROUNDS -- */ if (isset($properties['VERTICAL-ALIGN'])) { - $c['va'] = self::ALIGN[strtolower($properties['VERTICAL-ALIGN'])]; + $c['va'] = $this->getAlign($properties['VERTICAL-ALIGN']); } elseif (isset($attr['VALIGN'])) { - $c['va'] = self::ALIGN[strtolower($attr['VALIGN'])]; + $c['va'] = $this->getAlign($attr['VALIGN']); } @@ -205,7 +209,7 @@ class Td extends Tag if (0 === strpos($properties['TEXT-ALIGN'], 'D')) { $c['a'] = $properties['TEXT-ALIGN']; } else { - $c['a'] = self::ALIGN[strtolower($properties['TEXT-ALIGN'])]; + $c['a'] = $this->getAlign($properties['TEXT-ALIGN']); } } if (!empty($attr['ALIGN'])) { @@ -221,7 +225,7 @@ class Td extends Tag $c['a'] = 'DPR'; } } else { - $c['a'] = self::ALIGN[strtolower($attr['ALIGN'])]; + $c['a'] = $this->getAlign($attr['ALIGN']); } } diff --git a/pandora_console/vendor/mpdf/mpdf/src/Tag/TextArea.php b/pandora_console/vendor/mpdf/mpdf/src/Tag/TextArea.php index 8685fab6a9..017c5484d1 100644 --- a/pandora_console/vendor/mpdf/mpdf/src/Tag/TextArea.php +++ b/pandora_console/vendor/mpdf/mpdf/src/Tag/TextArea.php @@ -75,9 +75,9 @@ class TextArea extends Tag $objattr['fontsize'] = $this->mpdf->FontSizePt; if ($this->mpdf->useActiveForms) { if (isset($properties['TEXT-ALIGN'])) { - $objattr['text_align'] = self::ALIGN[strtolower($properties['TEXT-ALIGN'])]; + $objattr['text_align'] = $this->getAlign($properties['TEXT-ALIGN']); } elseif (isset($attr['ALIGN'])) { - $objattr['text_align'] = self::ALIGN[strtolower($attr['ALIGN'])]; + $objattr['text_align'] = $this->getAlign($attr['ALIGN']); } if (isset($properties['OVERFLOW']) && strtolower($properties['OVERFLOW']) === 'hidden') { $objattr['donotscroll'] = true; @@ -110,7 +110,7 @@ class TextArea extends Tag ); } if (isset($properties['VERTICAL-ALIGN'])) { - $objattr['vertical-align'] = self::ALIGN[strtolower($properties['VERTICAL-ALIGN'])]; + $objattr['vertical-align'] = $this->getAlign($properties['VERTICAL-ALIGN']); } $colsize = 20; //HTML default value diff --git a/pandora_console/vendor/mpdf/mpdf/src/Tag/Tr.php b/pandora_console/vendor/mpdf/mpdf/src/Tag/Tr.php index f891df99b6..24b7749b86 100644 --- a/pandora_console/vendor/mpdf/mpdf/src/Tag/Tr.php +++ b/pandora_console/vendor/mpdf/mpdf/src/Tag/Tr.php @@ -34,8 +34,10 @@ class Tr extends Tag } if (isset($properties['BACKGROUND-COLOR'])) { + $this->mpdf->table[$this->mpdf->tableLevel][$this->mpdf->tbctr[$this->mpdf->tableLevel]]['bgcolor'] = $this->mpdf->table[$this->mpdf->tableLevel][$this->mpdf->tbctr[$this->mpdf->tableLevel]]['bgcolor'] ? $this->mpdf->table[$this->mpdf->tableLevel][$this->mpdf->tbctr[$this->mpdf->tableLevel]]['bgcolor'] : []; $this->mpdf->table[$this->mpdf->tableLevel][$this->mpdf->tbctr[$this->mpdf->tableLevel]]['bgcolor'][$this->mpdf->row] = $properties['BACKGROUND-COLOR']; } elseif (isset($attr['BGCOLOR'])) { + $this->mpdf->table[$this->mpdf->tableLevel][$this->mpdf->tbctr[$this->mpdf->tableLevel]]['bgcolor'] = $this->mpdf->table[$this->mpdf->tableLevel][$this->mpdf->tbctr[$this->mpdf->tableLevel]]['bgcolor'] ? $this->mpdf->table[$this->mpdf->tableLevel][$this->mpdf->tbctr[$this->mpdf->tableLevel]]['bgcolor'] : []; $this->mpdf->table[$this->mpdf->tableLevel][$this->mpdf->tbctr[$this->mpdf->tableLevel]]['bgcolor'][$this->mpdf->row] = $attr['BGCOLOR']; } diff --git a/pandora_console/vendor/mpdf/mpdf/src/Utils/Arrays.php b/pandora_console/vendor/mpdf/mpdf/src/Utils/Arrays.php index 808913dd7d..3c9c3d5a41 100644 --- a/pandora_console/vendor/mpdf/mpdf/src/Utils/Arrays.php +++ b/pandora_console/vendor/mpdf/mpdf/src/Utils/Arrays.php @@ -17,4 +17,84 @@ class Arrays return $default; } + + /** + * Returns an array of all k-combinations from an input array of n elements, where k equals 1..n. + * Elements will be sorted and unique in every combination. + * + * Example: array[one, two] will give: + * [ + * [one], + * [two], + * [one, two] + * ] + * @param array $array + * @return array + */ + public static function allUniqueSortedCombinations($array) + { + $input = array_unique($array); + if (count($input) <= 1) { + return [$input]; + } + + sort($input); + $combinations = []; + foreach ($input as $value) { + $combinations[] = [$value]; + } + + $n = count($input); + for ($k = 2; $k <= $n; $k++) { + $combinations = array_merge($combinations, self::combinations($input, $k)); + } + + return $combinations; + } + + /** + * Returns an array of unique k-combinations from an input array. + * + * Example: array=[one, two, three] and k=2 will give: + * [ + * [one, two], + * [one, three] + * ] + * @param array $array + * @param int $k + * @return array + */ + public static function combinations($array, $k) + { + $n = count($array); + $combinations = []; + $indexes = range(0, $k - 1); + $maxIndexes = range($n - $k, $n - 1); + do { + $combination = []; + foreach ($indexes as $index) { + $combination[] = $array[$index]; + } + $combinations[] = $combination; + + $anotherCombination = false; + $resetFromIndex = -1; + for ($i = $k - 1; $i >= 0; $i--) { + if ($indexes[$i] < $maxIndexes[$i]) { + $indexes[$i]++; + $anotherCombination = true; + break; + } + $resetFromIndex = $i; + } + + if ($resetFromIndex > 0) { + for ($i = $resetFromIndex; $i < $k; $i++) { + $indexes[$i] = $indexes[$i - 1] + 1; + } + } + } while ($anotherCombination); + + return $combinations; + } } diff --git a/pandora_console/vendor/mpdf/mpdf/src/Writer/BackgroundWriter.php b/pandora_console/vendor/mpdf/mpdf/src/Writer/BackgroundWriter.php new file mode 100644 index 0000000000..6dbce84d3d --- /dev/null +++ b/pandora_console/vendor/mpdf/mpdf/src/Writer/BackgroundWriter.php @@ -0,0 +1,451 @@ +mpdf = $mpdf; + $this->writer = $writer; + } + + public function writePatterns() // _putpatterns + { + $patternCount = count($this->mpdf->patterns); + + for ($i = 1; $i <= $patternCount; $i++) { + + $x = $this->mpdf->patterns[$i]['x']; + $y = $this->mpdf->patterns[$i]['y']; + $w = $this->mpdf->patterns[$i]['w']; + $h = $this->mpdf->patterns[$i]['h']; + $pgh = $this->mpdf->patterns[$i]['pgh']; + $orig_w = $this->mpdf->patterns[$i]['orig_w']; + $orig_h = $this->mpdf->patterns[$i]['orig_h']; + $image_id = $this->mpdf->patterns[$i]['image_id']; + $itype = $this->mpdf->patterns[$i]['itype']; + + if (isset($this->mpdf->patterns[$i]['bpa'])) { + $bpa = $this->mpdf->patterns[$i]['bpa']; + } else { + $bpa = []; // background positioning area + } + + if ($this->mpdf->patterns[$i]['x_repeat']) { + $x_repeat = true; + } else { + $x_repeat = false; + } + + if ($this->mpdf->patterns[$i]['y_repeat']) { + $y_repeat = true; + } else { + $y_repeat = false; + } + + $x_pos = $this->mpdf->patterns[$i]['x_pos']; + + if (false !== strpos($x_pos, '%')) { + $x_pos = (float) $x_pos; + $x_pos /= 100; + + if (isset($bpa['w']) && $bpa['w']) { + $x_pos = ($bpa['w'] * $x_pos) - ($orig_w / Mpdf::SCALE * $x_pos); + } else { + $x_pos = ($w * $x_pos) - ($orig_w / Mpdf::SCALE * $x_pos); + } + } + + $y_pos = $this->mpdf->patterns[$i]['y_pos']; + + if (false !== strpos($y_pos, '%')) { + $y_pos = (float) $y_pos; + $y_pos /= 100; + + if (isset($bpa['h']) && $bpa['h']) { + $y_pos = ($bpa['h'] * $y_pos) - ($orig_h / Mpdf::SCALE * $y_pos); + } else { + $y_pos = ($h * $y_pos) - ($orig_h / Mpdf::SCALE * $y_pos); + } + } + + if (isset($bpa['x']) && $bpa['x']) { + $adj_x = ($x_pos + $bpa['x']) * Mpdf::SCALE; + } else { + $adj_x = ($x_pos + $x) * Mpdf::SCALE; + } + + if (isset($bpa['y']) && $bpa['y']) { + $adj_y = (($pgh - $y_pos - $bpa['y']) * Mpdf::SCALE) - $orig_h; + } else { + $adj_y = (($pgh - $y_pos - $y) * Mpdf::SCALE) - $orig_h; + } + + $img_obj = false; + + if ($itype === 'svg' || $itype === 'wmf') { + foreach ($this->mpdf->formobjects as $fo) { + if ($fo['i'] == $image_id) { + $img_obj = $fo['n']; + $fo_w = $fo['w']; + $fo_h = -$fo['h']; + $wmf_x = $fo['x']; + $wmf_y = $fo['y']; + break; + } + } + } else { + foreach ($this->mpdf->images as $img) { + if ($img['i'] == $image_id) { + $img_obj = $img['n']; + break; + } + } + } + + if (!$img_obj) { + throw new \Mpdf\MpdfException('Problem: Image object not found for background pattern ' . $img['i']); + } + + $this->writer->object(); + $this->writer->write('<writer->write('/XObject <>'); + + // ******* ADD ANY ExtGStates, Shading AND Fonts needed for the FormObject + // Set in classes/svg array['fo'] = true + // Required that _putshaders comes before _putpatterns in _putresources + // This adds any resources associated with any FormObject to every Formobject - overkill but works! + if (count($this->mpdf->extgstates)) { + $this->writer->write('/ExtGState <<'); + foreach ($this->mpdf->extgstates as $k => $extgstate) { + if (isset($extgstate['fo']) && $extgstate['fo']) { + if (isset($extgstate['trans'])) { + $this->writer->write('/' . $extgstate['trans'] . ' ' . $extgstate['n'] . ' 0 R'); + } else { + $this->writer->write('/GS' . $k . ' ' . $extgstate['n'] . ' 0 R'); + } + } + } + $this->writer->write('>>'); + } + + /* -- BACKGROUNDS -- */ + if (isset($this->mpdf->gradients) && ( count($this->mpdf->gradients) > 0)) { + $this->writer->write('/Shading <<'); + foreach ($this->mpdf->gradients as $id => $grad) { + if (isset($grad['fo']) && $grad['fo']) { + $this->writer->write('/Sh' . $id . ' ' . $grad['id'] . ' 0 R'); + } + } + $this->writer->write('>>'); + } + + /* -- END BACKGROUNDS -- */ + $this->writer->write('/Font <<'); + + foreach ($this->mpdf->fonts as $font) { + if (!$font['used'] && $font['type'] === 'TTF') { + continue; + } + if (isset($font['fo']) && $font['fo']) { + if ($font['type'] === 'TTF' && ($font['sip'] || $font['smp'])) { + foreach ($font['n'] as $k => $fid) { + $this->writer->write('/F' . $font['subsetfontids'][$k] . ' ' . $font['n'][$k] . ' 0 R'); + } + } else { + $this->writer->write('/F' . $font['i'] . ' ' . $font['n'] . ' 0 R'); + } + } + } + $this->writer->write('>>'); + } else { + $this->writer->write('/XObject <>'); + } + + $this->writer->write('>>'); + $this->writer->write('endobj'); + + $this->writer->object(); + $this->mpdf->patterns[$i]['n'] = $this->mpdf->n; + $this->writer->write('<< /Type /Pattern /PatternType 1 /PaintType 1 /TilingType 2'); + $this->writer->write('/Resources ' . ($this->mpdf->n - 1) . ' 0 R'); + + $this->writer->write(sprintf('/BBox [0 0 %.3F %.3F]', $orig_w, $orig_h)); + + if ($x_repeat) { + $this->writer->write(sprintf('/XStep %.3F', $orig_w)); + } else { + $this->writer->write(sprintf('/XStep %d', 99999)); + } + + if ($y_repeat) { + $this->writer->write(sprintf('/YStep %.3F', $orig_h)); + } else { + $this->writer->write(sprintf('/YStep %d', 99999)); + } + + if ($itype === 'svg' || $itype === 'wmf') { + $this->writer->write(sprintf('/Matrix [1 0 0 -1 %.3F %.3F]', $adj_x, $adj_y + $orig_h)); + $s = sprintf('q %.3F 0 0 %.3F %.3F %.3F cm /FO%d Do Q', $orig_w / $fo_w, -$orig_h / $fo_h, -($orig_w / $fo_w) * $wmf_x, ($orig_w / $fo_w) * $wmf_y, $image_id); + } else { + $this->writer->write(sprintf('/Matrix [1 0 0 1 %.3F %.3F]', $adj_x, $adj_y)); + $s = sprintf('q %.3F 0 0 %.3F 0 0 cm /I%d Do Q', $orig_w, $orig_h, $image_id); + } + + if ($this->mpdf->compress) { + $this->writer->write('/Filter /FlateDecode'); + $s = gzcompress($s); + } + $this->writer->write('/Length ' . strlen($s) . '>>'); + $this->writer->stream($s); + $this->writer->write('endobj'); + } + } + + public function writeShaders() // _putshaders + { + $maxid = count($this->mpdf->gradients); // index for transparency gradients + + foreach ($this->mpdf->gradients as $id => $grad) { + + if (empty($grad['is_mask']) && ($grad['type'] == 2 || $grad['type'] == 3)) { + + $this->writer->object(); + $this->writer->write('<<'); + $this->writer->write('/FunctionType 3'); + $this->writer->write('/Domain [0 1]'); + + $fn = []; + $bd = []; + $en = []; + + for ($i = 0; $i < (count($grad['stops']) - 1); $i++) { + $fn[] = ($this->mpdf->n + 1 + $i) . ' 0 R'; + $en[] = '0 1'; + if ($i > 0) { + $bd[] = sprintf('%.3F', $grad['stops'][$i]['offset']); + } + } + + $this->writer->write('/Functions [' . implode(' ', $fn) . ']'); + $this->writer->write('/Bounds [' . implode(' ', $bd) . ']'); + $this->writer->write('/Encode [' . implode(' ', $en) . ']'); + $this->writer->write('>>'); + $this->writer->write('endobj'); + + $f1 = $this->mpdf->n; + + for ($i = 0; $i < (count($grad['stops']) - 1); $i++) { + $this->writer->object(); + $this->writer->write('<<'); + $this->writer->write('/FunctionType 2'); + $this->writer->write('/Domain [0 1]'); + $this->writer->write('/C0 [' . $grad['stops'][$i]['col'] . ']'); + $this->writer->write('/C1 [' . $grad['stops'][$i + 1]['col'] . ']'); + $this->writer->write('/N 1'); + $this->writer->write('>>'); + $this->writer->write('endobj'); + } + } + + if ($grad['type'] == 2 || $grad['type'] == 3) { + + if (isset($grad['trans']) && $grad['trans']) { + + $this->writer->object(); + $this->writer->write('<<'); + $this->writer->write('/FunctionType 3'); + $this->writer->write('/Domain [0 1]'); + + $fn = []; + $bd = []; + $en = []; + + for ($i = 0; $i < (count($grad['stops']) - 1); $i++) { + $fn[] = ($this->mpdf->n + 1 + $i) . ' 0 R'; + $en[] = '0 1'; + if ($i > 0) { + $bd[] = sprintf('%.3F', $grad['stops'][$i]['offset']); + } + } + + $this->writer->write('/Functions [' . implode(' ', $fn) . ']'); + $this->writer->write('/Bounds [' . implode(' ', $bd) . ']'); + $this->writer->write('/Encode [' . implode(' ', $en) . ']'); + $this->writer->write('>>'); + $this->writer->write('endobj'); + + $f2 = $this->mpdf->n; + + for ($i = 0; $i < (count($grad['stops']) - 1); $i++) { + $this->writer->object(); + $this->writer->write('<<'); + $this->writer->write('/FunctionType 2'); + $this->writer->write('/Domain [0 1]'); + $this->writer->write(sprintf('/C0 [%.3F]', $grad['stops'][$i]['opacity'])); + $this->writer->write(sprintf('/C1 [%.3F]', $grad['stops'][$i + 1]['opacity'])); + $this->writer->write('/N 1'); + $this->writer->write('>>'); + $this->writer->write('endobj'); + } + } + } + + if (empty($grad['is_mask'])) { + + $this->writer->object(); + $this->writer->write('<<'); + $this->writer->write('/ShadingType ' . $grad['type']); + + if (isset($grad['colorspace'])) { + $this->writer->write('/ColorSpace /Device' . $grad['colorspace']); // Can use CMYK if all C0 and C1 above have 4 values + } else { + $this->writer->write('/ColorSpace /DeviceRGB'); + } + + if ($grad['type'] == 2) { + $this->writer->write(sprintf('/Coords [%.3F %.3F %.3F %.3F]', $grad['coords'][0], $grad['coords'][1], $grad['coords'][2], $grad['coords'][3])); + $this->writer->write('/Function ' . $f1 . ' 0 R'); + $this->writer->write('/Extend [' . $grad['extend'][0] . ' ' . $grad['extend'][1] . '] '); + $this->writer->write('>>'); + } elseif ($grad['type'] == 3) { + // x0, y0, r0, x1, y1, r1 + // at this this time radius of inner circle is 0 + $ir = 0; + if (isset($grad['coords'][5]) && $grad['coords'][5]) { + $ir = $grad['coords'][5]; + } + $this->writer->write(sprintf('/Coords [%.3F %.3F %.3F %.3F %.3F %.3F]', $grad['coords'][0], $grad['coords'][1], $ir, $grad['coords'][2], $grad['coords'][3], $grad['coords'][4])); + $this->writer->write('/Function ' . $f1 . ' 0 R'); + $this->writer->write('/Extend [' . $grad['extend'][0] . ' ' . $grad['extend'][1] . '] '); + $this->writer->write('>>'); + } elseif ($grad['type'] == 6) { + $this->writer->write('/BitsPerCoordinate 16'); + $this->writer->write('/BitsPerComponent 8'); + if ($grad['colorspace'] === 'CMYK') { + $this->writer->write('/Decode[0 1 0 1 0 1 0 1 0 1 0 1]'); + } elseif ($grad['colorspace'] === 'Gray') { + $this->writer->write('/Decode[0 1 0 1 0 1]'); + } else { + $this->writer->write('/Decode[0 1 0 1 0 1 0 1 0 1]'); + } + $this->writer->write('/BitsPerFlag 8'); + $this->writer->write('/Length ' . strlen($grad['stream'])); + $this->writer->write('>>'); + $this->writer->stream($grad['stream']); + } + + $this->writer->write('endobj'); + } + + $this->mpdf->gradients[$id]['id'] = $this->mpdf->n; + + // set pattern object + $this->writer->object(); + $out = '<< /Type /Pattern /PatternType 2'; + $out .= ' /Shading ' . $this->mpdf->gradients[$id]['id'] . ' 0 R'; + $out .= ' >>'; + $out .= "\n" . 'endobj'; + $this->writer->write($out); + + + $this->mpdf->gradients[$id]['pattern'] = $this->mpdf->n; + + if (isset($grad['trans']) && $grad['trans']) { + + // luminosity pattern + $transid = $id + $maxid; + + $this->writer->object(); + $this->writer->write('<<'); + $this->writer->write('/ShadingType ' . $grad['type']); + $this->writer->write('/ColorSpace /DeviceGray'); + + if ($grad['type'] == 2) { + $this->writer->write(sprintf('/Coords [%.3F %.3F %.3F %.3F]', $grad['coords'][0], $grad['coords'][1], $grad['coords'][2], $grad['coords'][3])); + $this->writer->write('/Function ' . $f2 . ' 0 R'); + $this->writer->write('/Extend [' . $grad['extend'][0] . ' ' . $grad['extend'][1] . '] '); + $this->writer->write('>>'); + } elseif ($grad['type'] == 3) { + // x0, y0, r0, x1, y1, r1 + // at this this time radius of inner circle is 0 + $ir = 0; + if (isset($grad['coords'][5]) && $grad['coords'][5]) { + $ir = $grad['coords'][5]; + } + $this->writer->write(sprintf('/Coords [%.3F %.3F %.3F %.3F %.3F %.3F]', $grad['coords'][0], $grad['coords'][1], $ir, $grad['coords'][2], $grad['coords'][3], $grad['coords'][4])); + $this->writer->write('/Function ' . $f2 . ' 0 R'); + $this->writer->write('/Extend [' . $grad['extend'][0] . ' ' . $grad['extend'][1] . '] '); + $this->writer->write('>>'); + } elseif ($grad['type'] == 6) { + $this->writer->write('/BitsPerCoordinate 16'); + $this->writer->write('/BitsPerComponent 8'); + $this->writer->write('/Decode[0 1 0 1 0 1]'); + $this->writer->write('/BitsPerFlag 8'); + $this->writer->write('/Length ' . strlen($grad['stream_trans'])); + $this->writer->write('>>'); + $this->writer->stream($grad['stream_trans']); + } + $this->writer->write('endobj'); + + $this->mpdf->gradients[$transid]['id'] = $this->mpdf->n; + + $this->writer->object(); + $this->writer->write('<< /Type /Pattern /PatternType 2'); + $this->writer->write('/Shading ' . $this->mpdf->gradients[$transid]['id'] . ' 0 R'); + $this->writer->write('>>'); + $this->writer->write('endobj'); + + $this->mpdf->gradients[$transid]['pattern'] = $this->mpdf->n; + $this->writer->object(); + + // Need to extend size of viewing box in case of transformations + $str = 'q /a0 gs /Pattern cs /p' . $transid . ' scn -' . ($this->mpdf->wPt / 2) . ' -' . ($this->mpdf->hPt / 2) . ' ' . (2 * $this->mpdf->wPt) . ' ' . (2 * $this->mpdf->hPt) . ' re f Q'; + $filter = ($this->mpdf->compress) ? '/Filter /FlateDecode ' : ''; + $p = ($this->mpdf->compress) ? gzcompress($str) : $str; + + $this->writer->write('<< /Type /XObject /Subtype /Form /FormType 1 ' . $filter); + $this->writer->write('/Length ' . strlen($p)); + $this->writer->write('/BBox [-' . ($this->mpdf->wPt / 2) . ' -' . ($this->mpdf->hPt / 2) . ' ' . (2 * $this->mpdf->wPt) . ' ' . (2 * $this->mpdf->hPt) . ']'); + $this->writer->write('/Group << /Type /Group /S /Transparency /CS /DeviceGray >>'); + $this->writer->write('/Resources <<'); + $this->writer->write('/ExtGState << /a0 << /ca 1 /CA 1 >> >>'); + $this->writer->write('/Pattern << /p' . $transid . ' ' . $this->mpdf->gradients[$transid]['pattern'] . ' 0 R >>'); + $this->writer->write('>>'); + $this->writer->write('>>'); + $this->writer->stream($p); + $this->writer->write('endobj'); + $this->writer->object(); + $this->writer->write('<< /Type /Mask /S /Luminosity /G ' . ($this->mpdf->n - 1) . ' 0 R >>' . "\n" . 'endobj'); + $this->writer->object(); + $this->writer->write('<< /Type /ExtGState /SMask ' . ($this->mpdf->n - 1) . ' 0 R /AIS false >>' . "\n" . 'endobj'); + + if (isset($grad['fo']) && $grad['fo']) { + $this->mpdf->extgstates[] = ['n' => $this->mpdf->n, 'trans' => 'TGS' . $id, 'fo' => true]; + } else { + $this->mpdf->extgstates[] = ['n' => $this->mpdf->n, 'trans' => 'TGS' . $id]; + } + } + } + } + +} diff --git a/pandora_console/vendor/mpdf/mpdf/src/Writer/BaseWriter.php b/pandora_console/vendor/mpdf/mpdf/src/Writer/BaseWriter.php new file mode 100644 index 0000000000..80463f8f10 --- /dev/null +++ b/pandora_console/vendor/mpdf/mpdf/src/Writer/BaseWriter.php @@ -0,0 +1,249 @@ +mpdf = $mpdf; + $this->protection = $protection; + } + + public function write($s, $ln = true) + { + if ($this->mpdf->state === 2) { + $this->endPage($s, $ln); + } else { + $this->mpdf->buffer .= $s . ($ln ? "\n" : ''); + } + } + + public function string($s) + { + if ($this->mpdf->encrypted) { + $s = $this->protection->rc4($this->protection->objectKey($this->mpdf->currentObjectNumber), $s); + } + + return '(' . $this->escape($s) . ')'; + } + + public function object($obj_id = false, $onlynewobj = false) + { + if (!$obj_id) { + $obj_id = ++$this->mpdf->n; + } + + // Begin a new object + if (!$onlynewobj) { + $this->mpdf->offsets[$obj_id] = strlen($this->mpdf->buffer); + $this->write($obj_id . ' 0 obj'); + $this->mpdf->currentObjectNumber = $obj_id; // for later use with encryption + } + } + + public function stream($s) + { + if ($this->mpdf->encrypted) { + $s = $this->protection->rc4($this->protection->objectKey($this->mpdf->currentObjectNumber), $s); + } + + $this->write('stream'); + $this->write($s); + $this->write('endstream'); + } + + public function utf16BigEndianTextString($s) // _UTF16BEtextstring + { + $s = $this->utf8ToUtf16BigEndian($s, true); + if ($this->mpdf->encrypted) { + $s = $this->protection->rc4($this->protection->objectKey($this->mpdf->currentObjectNumber), $s); + } + + return '(' . $this->escape($s) . ')'; + } + + // Converts UTF-8 strings to UTF16-BE. + public function utf8ToUtf16BigEndian($str, $setbom = true) // UTF8ToUTF16BE + { + if ($this->mpdf->checkSIP && preg_match("/([\x{20000}-\x{2FFFF}])/u", $str)) { + if (!in_array($this->mpdf->currentfontfamily, ['gb', 'big5', 'sjis', 'uhc', 'gbB', 'big5B', 'sjisB', 'uhcB', 'gbI', 'big5I', 'sjisI', 'uhcI', + 'gbBI', 'big5BI', 'sjisBI', 'uhcBI'])) { + $str = preg_replace("/[\x{20000}-\x{2FFFF}]/u", chr(0), $str); + } + } + if ($this->mpdf->checkSMP && preg_match("/([\x{10000}-\x{1FFFF}])/u", $str)) { + $str = preg_replace("/[\x{10000}-\x{1FFFF}]/u", chr(0), $str); + } + + $outstr = ''; // string to be returned + if ($setbom) { + $outstr .= "\xFE\xFF"; // Byte Order Mark (BOM) + } + + $outstr .= mb_convert_encoding($str, 'UTF-16BE', 'UTF-8'); + + return $outstr; + } + + public function escape($s) // _escape + { + return strtr($s, [')' => '\\)', '(' => '\\(', '\\' => '\\\\', chr(13) => '\r']); + } + + public function escapeSlashes($s) // _escapeName + { + return strtr($s, ['/' => '#2F']); + } + + /** + * Un-escapes a PDF string + * + * @param string $s + * @return string + */ + public function unescape($s) + { + $out = ''; + for ($count = 0, $n = strlen($s); $count < $n; $count++) { + if ($count === $n - 1 || $s[$count] !== '\\') { + $out .= $s[$count]; + } else { + switch ($s[++$count]) { + case ')': + case '(': + case '\\': + $out .= $s[$count]; + break; + case 'f': + $out .= chr(0x0C); + break; + case 'b': + $out .= chr(0x08); + break; + case 't': + $out .= chr(0x09); + break; + case 'r': + $out .= chr(0x0D); + break; + case 'n': + $out .= chr(0x0A); + break; + case "\r": + if ($count !== $n - 1 && $s[$count + 1] === "\n") { + $count++; + } + break; + case "\n": + break; + default: + // Octal-Values + $ord = ord($s[$count]); + if ($ord >= ord('0') && $ord <= ord('9')) { + $oct = ''. $s[$count]; + $ord = ord($s[$count + 1]); + if ($ord >= ord('0') && $ord <= ord('9')) { + $oct .= $s[++$count]; + $ord = ord($s[$count + 1]); + if ($ord >= ord('0') && $ord <= ord('9')) { + $oct .= $s[++$count]; + } + } + $out .= chr(octdec($oct)); + } else { + $out .= $s[$count]; + } + } + } + } + + return $out; + } + + private function endPage($s, $ln) + { + if ($this->mpdf->bufferoutput) { + + $this->mpdf->headerbuffer.= $s . "\n"; + + } elseif ($this->mpdf->ColActive && !$this->mpdf->processingHeader && !$this->mpdf->processingFooter) { + + // Captures everything in buffer for columns; Almost everything is sent from fn. Cell() except: + // Images sent from Image() or + // later sent as write($textto) in printbuffer + // Line() + + if (preg_match('/q \d+\.\d\d+ 0 0 (\d+\.\d\d+) \d+\.\d\d+ \d+\.\d\d+ cm \/(I|FO)\d+ Do Q/', $s, $m)) { // Image data + + $h = ($m[1] / Mpdf::SCALE); + // Update/overwrite the lowest bottom of printing y value for a column + $this->mpdf->ColDetails[$this->mpdf->CurrCol]['bottom_margin'] = $this->mpdf->y + $h; + + } elseif ($this->mpdf->tableLevel > 0 && preg_match('/\d+\.\d\d+ \d+\.\d\d+ \d+\.\d\d+ ([\-]{0,1}\d+\.\d\d+) re/', $s, $m)) { // Rect in table + + $h = ($m[1] / Mpdf::SCALE); + // Update/overwrite the lowest bottom of printing y value for a column + $this->mpdf->ColDetails[$this->mpdf->CurrCol]['bottom_margin'] = max($this->mpdf->ColDetails[$this->mpdf->CurrCol]['bottom_margin'], $this->mpdf->y + $h); + + } elseif (isset($this->mpdf->ColDetails[$this->mpdf->CurrCol]['bottom_margin'])) { + + $h = $this->mpdf->ColDetails[$this->mpdf->CurrCol]['bottom_margin'] - $this->mpdf->y; + + } else { + + $h = 0; + + } + + if ($h < 0) { + $h = -$h; + } + + $this->mpdf->columnbuffer[] = [ + 's' => $s, // Text string to output + 'col' => $this->mpdf->CurrCol, // Column when printed + 'x' => $this->mpdf->x, // x when printed + 'y' => $this->mpdf->y, // this->y when printed (after column break) + 'h' => $h // actual y at bottom when printed = y+h + ]; + + } elseif ($this->mpdf->table_rotate && !$this->mpdf->processingHeader && !$this->mpdf->processingFooter) { + + // Captures eveything in buffer for rotated tables; + $this->mpdf->tablebuffer .= $s . "\n"; + + } elseif ($this->mpdf->kwt && !$this->mpdf->processingHeader && !$this->mpdf->processingFooter) { + + // Captures eveything in buffer for keep-with-table (h1-6); + $this->mpdf->kwt_buffer[] = [ + 's' => $s, // Text string to output + 'x' => $this->mpdf->x, // x when printed + 'y' => $this->mpdf->y, // y when printed + ]; + + } elseif ($this->mpdf->keep_block_together && !$this->mpdf->processingHeader && !$this->mpdf->processingFooter) { + // do nothing + } else { + $this->mpdf->pages[$this->mpdf->page] .= $s . ($ln ? "\n" : ''); + } + } + +} diff --git a/pandora_console/vendor/mpdf/mpdf/src/Writer/BookmarkWriter.php b/pandora_console/vendor/mpdf/mpdf/src/Writer/BookmarkWriter.php new file mode 100644 index 0000000000..bbec0d7677 --- /dev/null +++ b/pandora_console/vendor/mpdf/mpdf/src/Writer/BookmarkWriter.php @@ -0,0 +1,138 @@ +mpdf = $mpdf; + $this->writer = $writer; + } + + public function writeBookmarks() // _putbookmarks + { + $nb = count($this->mpdf->BMoutlines); + if ($nb === 0) { + return; + } + + $bmo = $this->mpdf->BMoutlines; + $this->mpdf->BMoutlines = []; + $lastlevel = -1; + for ($i = 0; $i < count($bmo); $i++) { + if ($bmo[$i]['l'] > 0) { + while ($bmo[$i]['l'] - $lastlevel > 1) { // If jump down more than one level, insert a new entry + $new = $bmo[$i]; + $new['t'] = "[" . $new['t'] . "]"; // Put [] around text/title to highlight + $new['l'] = $lastlevel + 1; + $lastlevel++; + $this->mpdf->BMoutlines[] = $new; + } + } + $this->mpdf->BMoutlines[] = $bmo[$i]; + $lastlevel = $bmo[$i]['l']; + } + $nb = count($this->mpdf->BMoutlines); + + $lru = []; + $level = 0; + foreach ($this->mpdf->BMoutlines as $i => $o) { + if ($o['l'] > 0) { + $parent = $lru[$o['l'] - 1]; + // Set parent and last pointers + $this->mpdf->BMoutlines[$i]['parent'] = $parent; + $this->mpdf->BMoutlines[$parent]['last'] = $i; + if ($o['l'] > $level) { + // Level increasing: set first pointer + $this->mpdf->BMoutlines[$parent]['first'] = $i; + } + } else { + $this->mpdf->BMoutlines[$i]['parent'] = $nb; + } + if ($o['l'] <= $level and $i > 0) { + // Set prev and next pointers + $prev = $lru[$o['l']]; + $this->mpdf->BMoutlines[$prev]['next'] = $i; + $this->mpdf->BMoutlines[$i]['prev'] = $prev; + } + $lru[$o['l']] = $i; + $level = $o['l']; + } + + + // Outline items + $n = $this->mpdf->n + 1; + foreach ($this->mpdf->BMoutlines as $i => $o) { + $this->writer->object(); + $this->writer->write('<writer->utf16BigEndianTextString($o['t'])); + $this->writer->write('/Parent ' . ($n + $o['parent']) . ' 0 R'); + if (isset($o['prev'])) { + $this->writer->write('/Prev ' . ($n + $o['prev']) . ' 0 R'); + } + if (isset($o['next'])) { + $this->writer->write('/Next ' . ($n + $o['next']) . ' 0 R'); + } + if (isset($o['first'])) { + $this->writer->write('/First ' . ($n + $o['first']) . ' 0 R'); + } + if (isset($o['last'])) { + $this->writer->write('/Last ' . ($n + $o['last']) . ' 0 R'); + } + + + if (isset($this->mpdf->pageDim[$o['p']]['h'])) { + $h = $this->mpdf->pageDim[$o['p']]['h']; + } else { + $h = 0; + } + + $this->writer->write(sprintf('/Dest [%d 0 R /XYZ 0 %.3F null]', 1 + 2 * ($o['p']), ($h - $o['y']) * Mpdf::SCALE)); + if (isset($this->mpdf->bookmarkStyles) && isset($this->mpdf->bookmarkStyles[$o['l']])) { + // font style + $bms = $this->mpdf->bookmarkStyles[$o['l']]['style']; + $style = 0; + if (strpos($bms, 'B') !== false) { + $style += 2; + } + if (strpos($bms, 'I') !== false) { + $style += 1; + } + $this->writer->write(sprintf('/F %d', $style)); + // Colour + $col = $this->mpdf->bookmarkStyles[$o['l']]['color']; + if (isset($col) && is_array($col) && count($col) == 3) { + $this->writer->write(sprintf('/C [%.3F %.3F %.3F]', ($col[0] / 255), ($col[1] / 255), ($col[2] / 255))); + } + } + + $this->writer->write('/Count 0>>'); + $this->writer->write('endobj'); + } + // Outline root + $this->writer->object(); + + $this->mpdf->OutlineRoot = $this->mpdf->n; + + $this->writer->write('<writer->write('/Last ' . ($n + $lru[0]) . ' 0 R>>'); + $this->writer->write('endobj'); + } + +} diff --git a/pandora_console/vendor/mpdf/mpdf/src/Writer/ColorWriter.php b/pandora_console/vendor/mpdf/mpdf/src/Writer/ColorWriter.php new file mode 100644 index 0000000000..c6ece981bc --- /dev/null +++ b/pandora_console/vendor/mpdf/mpdf/src/Writer/ColorWriter.php @@ -0,0 +1,46 @@ +mpdf = $mpdf; + $this->writer = $writer; + } + + public function writeSpotColors() // _putspotcolors + { + foreach ($this->mpdf->spotColors as $name => $color) { + + $this->writer->object(); + + $this->writer->write('[/Separation /' . str_replace(' ', '#20', $name)); + $this->writer->write('/DeviceCMYK <<'); + $this->writer->write('/Range [0 1 0 1 0 1 0 1] /C0 [0 0 0 0] '); + $this->writer->write(sprintf('/C1 [%.3F %.3F %.3F %.3F] ', $color['c'] / 100, $color['m'] / 100, $color['y'] / 100, $color['k'] / 100)); + $this->writer->write('/FunctionType 2 /Domain [0 1] /N 1>>]'); + $this->writer->write('endobj'); + + $this->mpdf->spotColors[$name]['n'] = $this->mpdf->n; + } + } + +} diff --git a/pandora_console/vendor/mpdf/mpdf/src/Writer/FontWriter.php b/pandora_console/vendor/mpdf/mpdf/src/Writer/FontWriter.php new file mode 100644 index 0000000000..ddc70232d5 --- /dev/null +++ b/pandora_console/vendor/mpdf/mpdf/src/Writer/FontWriter.php @@ -0,0 +1,679 @@ +mpdf = $mpdf; + $this->writer = $writer; + $this->fontCache = $fontCache; + $this->fontDescriptor = $fontDescriptor; + } + + public function writeFonts() + { + foreach ($this->mpdf->FontFiles as $fontkey => $info) { + // TrueType embedded + if (isset($info['type']) && $info['type'] === 'TTF' && !$info['sip'] && !$info['smp']) { + $used = true; + $asSubset = false; + foreach ($this->mpdf->fonts as $k => $f) { + if (isset($f['fontkey']) && $f['fontkey'] === $fontkey && $f['type'] === 'TTF') { + $used = $f['used']; + if ($used) { + $nChars = (ord($f['cw'][0]) << 8) + ord($f['cw'][1]); + $usage = (int) (count($f['subset']) * 100 / $nChars); + $fsize = $info['length1']; + // Always subset the very large TTF files + if ($fsize > ($this->mpdf->maxTTFFilesize * 1024)) { + $asSubset = true; + } elseif ($usage < $this->mpdf->percentSubset) { + $asSubset = true; + } + } + if ($this->mpdf->PDFA || $this->mpdf->PDFX) { + $asSubset = false; + } + $this->mpdf->fonts[$k]['asSubset'] = $asSubset; + break; + } + } + if ($used && !$asSubset) { + // Font file embedding + $this->writer->object(); + $this->mpdf->FontFiles[$fontkey]['n'] = $this->mpdf->n; + $originalsize = $info['length1']; + if ($this->mpdf->repackageTTF || $this->mpdf->fonts[$fontkey]['TTCfontID'] > 0 || $this->mpdf->fonts[$fontkey]['useOTL'] > 0) { // mPDF 5.7.1 + // First see if there is a cached compressed file + if ($this->fontCache->has($fontkey . '.ps.z') && $this->fontCache->jsonHas($fontkey . '.ps.json')) { + $font = $this->fontCache->load($fontkey . '.ps.z'); + $originalsize = $this->fontCache->jsonLoad($fontkey . '.ps.json'); // sets $originalsize (of repackaged font) + } else { + $ttf = new TTFontFile($this->fontCache, $this->fontDescriptor); + $font = $ttf->repackageTTF($this->mpdf->FontFiles[$fontkey]['ttffile'], $this->mpdf->fonts[$fontkey]['TTCfontID'], $this->mpdf->debugfonts, $this->mpdf->fonts[$fontkey]['useOTL']); // mPDF 5.7.1 + + $originalsize = strlen($font); + $font = gzcompress($font); + unset($ttf); + + $this->fontCache->binaryWrite($fontkey . '.ps.z', $font); + $this->fontCache->jsonWrite($fontkey . '.ps.json', $originalsize); + } + } elseif ($this->fontCache->has($fontkey . '.z')) { + $font = $this->fontCache->load($fontkey . '.z'); + } else { + $font = file_get_contents($this->mpdf->FontFiles[$fontkey]['ttffile']); + $font = gzcompress($font); + $this->fontCache->binaryWrite($fontkey . '.z', $font); + } + + $this->writer->write('<writer->write('/Filter /FlateDecode'); + $this->writer->write('/Length1 ' . $originalsize); + $this->writer->write('>>'); + $this->writer->stream($font); + $this->writer->write('endobj'); + } + } + } + + foreach ($this->mpdf->fonts as $k => $font) { + + // Font objects + $type = $font['type']; + $name = $font['name']; + + if ($type === 'TTF' && (!isset($font['used']) || !$font['used'])) { + continue; + } + + // @log Writing fonts + + if (isset($font['asSubset'])) { + $asSubset = $font['asSubset']; + } else { + $asSubset = ''; + } + + if ($type === 'Type0') { // Adobe CJK Fonts + + $this->mpdf->fonts[$k]['n'] = $this->mpdf->n + 1; + $this->writer->object(); + $this->writer->write('<writeType0($font); + + } elseif ($type === 'core') { + + // Standard font + $this->mpdf->fonts[$k]['n'] = $this->mpdf->n + 1; + + if ($this->mpdf->PDFA || $this->mpdf->PDFX) { + throw new \Mpdf\MpdfException('Core fonts are not allowed in PDF/A1-b or PDFX/1-a files (Times, Helvetica, Courier etc.)'); + } + + $this->writer->object(); + $this->writer->write('<writer->write('/BaseFont /' . $name); + $this->writer->write('/Subtype /Type1'); + + if ($name !== 'Symbol' && $name !== 'ZapfDingbats') { + $this->writer->write('/Encoding /WinAnsiEncoding'); + } + + $this->writer->write('>>'); + $this->writer->write('endobj'); + + } elseif ($type === 'TTF' && ($font['sip'] || $font['smp'])) { + + // TrueType embedded SUBSETS for SIP (CJK extB containing Supplementary Ideographic Plane 2) + // Or Unicode Plane 1 - Supplementary Multilingual Plane + + if (!$font['used']) { + continue; + } + + $ssfaid = 'AA'; + $ttf = new TTFontFile($this->fontCache, $this->fontDescriptor); + $subsetCount = count($font['subsetfontids']); + for ($sfid = 0; $sfid < $subsetCount; $sfid++) { + $this->mpdf->fonts[$k]['n'][$sfid] = $this->mpdf->n + 1; // NB an array for subset + $subsetname = 'MPDF' . $ssfaid . '+' . $font['name']; + $ssfaid++; + + /* For some strange reason a subset ($sfid > 0) containing less than 97 characters causes an error + so fill up the array */ + for ($j = count($font['subsets'][$sfid]); $j < 98; $j++) { + $font['subsets'][$sfid][$j] = 0; + } + + $subset = $font['subsets'][$sfid]; + unset($subset[0]); + $ttfontstream = $ttf->makeSubsetSIP($font['ttffile'], $subset, $font['TTCfontID'], $this->mpdf->debugfonts, $font['useOTL']); // mPDF 5.7.1 + $ttfontsize = strlen($ttfontstream); + $fontstream = gzcompress($ttfontstream); + $widthstring = ''; + $toUnistring = ''; + + foreach ($font['subsets'][$sfid] as $cp => $u) { + $w = $this->mpdf->_getCharWidth($font['cw'], $u); + if ($w !== false) { + $widthstring .= $w . ' '; + } else { + $widthstring .= round($ttf->defaultWidth) . ' '; + } + if ($u > 65535) { + $utf8 = chr(($u >> 18) + 240) . chr((($u >> 12) & 63) + 128) . chr((($u >> 6) & 63) + 128) . chr(($u & 63) + 128); + $utf16 = mb_convert_encoding($utf8, 'UTF-16BE', 'UTF-8'); + $l1 = ord($utf16[0]); + $h1 = ord($utf16[1]); + $l2 = ord($utf16[2]); + $h2 = ord($utf16[3]); + $toUnistring .= sprintf("<%02s> <%02s%02s%02s%02s>\n", strtoupper(dechex($cp)), strtoupper(dechex($l1)), strtoupper(dechex($h1)), strtoupper(dechex($l2)), strtoupper(dechex($h2))); + } else { + $toUnistring .= sprintf("<%02s> <%04s>\n", strtoupper(dechex($cp)), strtoupper(dechex($u))); + } + } + + // Additional Type1 or TrueType font + $this->writer->object(); + $this->writer->write('<writer->write('/BaseFont /' . $subsetname); + $this->writer->write('/Subtype /TrueType'); + $this->writer->write('/FirstChar 0 /LastChar ' . (count($font['subsets'][$sfid]) - 1)); + $this->writer->write('/Widths ' . ($this->mpdf->n + 1) . ' 0 R'); + $this->writer->write('/FontDescriptor ' . ($this->mpdf->n + 2) . ' 0 R'); + $this->writer->write('/ToUnicode ' . ($this->mpdf->n + 3) . ' 0 R'); + $this->writer->write('>>'); + $this->writer->write('endobj'); + + // Widths + $this->writer->object(); + $this->writer->write('[' . $widthstring . ']'); + $this->writer->write('endobj'); + + // Descriptor + $this->writer->object(); + $s = '< $v) { + if ($kd === 'Flags') { + $v |= 4; + $v &= ~32; + } // SYMBOLIC font flag + $s .= ' /' . $kd . ' ' . $v . "\n"; + } + $s .= '/FontFile2 ' . ($this->mpdf->n + 2) . ' 0 R'; + $this->writer->write($s . '>>'); + $this->writer->write('endobj'); + + // ToUnicode + $this->writer->object(); + $toUni = "/CIDInit /ProcSet findresource begin\n"; + $toUni .= "12 dict begin\n"; + $toUni .= "begincmap\n"; + $toUni .= "/CIDSystemInfo\n"; + $toUni .= "< <%02s>\n", strtoupper(dechex(count($font['subsets'][$sfid])-1))); + $toUni .= "endcodespacerange\n"; + $toUni .= count($font['subsets'][$sfid]) . " beginbfchar\n"; + $toUni .= $toUnistring; + $toUni .= "endbfchar\n"; + $toUni .= "endcmap\n"; + $toUni .= "CMapName currentdict /CMap defineresource pop\n"; + $toUni .= "end\n"; + $toUni .= "end\n"; + $this->writer->write('<>'); + $this->writer->stream($toUni); + $this->writer->write('endobj'); + + // Font file + $this->writer->object(); + $this->writer->write('<writer->write('/Filter /FlateDecode'); + $this->writer->write('/Length1 ' . $ttfontsize); + $this->writer->write('>>'); + $this->writer->stream($fontstream); + $this->writer->write('endobj'); + } // foreach subset + unset($ttf); + + } elseif ($type === 'TTF') { // TrueType embedded SUBSETS or FULL + + $this->mpdf->fonts[$k]['n'] = $this->mpdf->n + 1; + + if ($asSubset) { + $ssfaid = 'A'; + $ttf = new TTFontFile($this->fontCache, $this->fontDescriptor); + $fontname = 'MPDFA' . $ssfaid . '+' . $font['name']; + $subset = $font['subset']; + unset($subset[0]); + $ttfontstream = $ttf->makeSubset($font['ttffile'], $subset, $font['TTCfontID'], $this->mpdf->debugfonts, $font['useOTL']); + $ttfontsize = strlen($ttfontstream); + $fontstream = gzcompress($ttfontstream); + $codeToGlyph = $ttf->codeToGlyph; + unset($codeToGlyph[0]); + } else { + $fontname = $font['name']; + } + + // Type0 Font + // A composite font - a font composed of other fonts, organized hierarchically + $this->writer->object(); + $this->writer->write('<writer->write('/Subtype /Type0'); + $this->writer->write('/BaseFont /' . $fontname . ''); + $this->writer->write('/Encoding /Identity-H'); + $this->writer->write('/DescendantFonts [' . ($this->mpdf->n + 1) . ' 0 R]'); + $this->writer->write('/ToUnicode ' . ($this->mpdf->n + 2) . ' 0 R'); + $this->writer->write('>>'); + $this->writer->write('endobj'); + + // CIDFontType2 + // A CIDFont whose glyph descriptions are based on TrueType font technology + $this->writer->object(); + $this->writer->write('<writer->write('/Subtype /CIDFontType2'); + $this->writer->write('/BaseFont /' . $fontname . ''); + $this->writer->write('/CIDSystemInfo ' . ($this->mpdf->n + 2) . ' 0 R'); + $this->writer->write('/FontDescriptor ' . ($this->mpdf->n + 3) . ' 0 R'); + + if (isset($font['desc']['MissingWidth'])) { + $this->writer->write('/DW ' . $font['desc']['MissingWidth'] . ''); + } + + if (!$asSubset && $this->fontCache->has($font['fontkey'] . '.cw')) { + $w = $this->fontCache->load($font['fontkey'] . '.cw'); + $this->writer->write($w); + } else { + $this->writeTTFontWidths($font, $asSubset, ($asSubset ? $ttf->maxUni : 0)); + } + + $this->writer->write('/CIDToGIDMap ' . ($this->mpdf->n + 4) . ' 0 R'); + $this->writer->write('>>'); + $this->writer->write('endobj'); + + // ToUnicode + $this->writer->object(); + $toUni = "/CIDInit /ProcSet findresource begin\n"; + $toUni .= "12 dict begin\n"; + $toUni .= "begincmap\n"; + $toUni .= "/CIDSystemInfo\n"; + $toUni .= "<writer->write('<>'); + $this->writer->stream($toUni); + $this->writer->write('endobj'); + + // CIDSystemInfo dictionary + $this->writer->object(); + $this->writer->write('<writer->write('/Ordering (UCS)'); + $this->writer->write('/Supplement 0'); + $this->writer->write('>>'); + $this->writer->write('endobj'); + + // Font descriptor + $this->writer->object(); + $this->writer->write('<writer->write('/FontName /' . $fontname); + + foreach ($font['desc'] as $kd => $v) { + if ($asSubset && $kd === 'Flags') { + $v |= 4; + $v &= ~32; + } // SYMBOLIC font flag + $this->writer->write(' /' . $kd . ' ' . $v); + } + + if ($font['panose']) { + $this->writer->write(' /Style << /Panose <' . $font['panose'] . '> >>'); + } + + if ($asSubset) { + $this->writer->write('/FontFile2 ' . ($this->mpdf->n + 2) . ' 0 R'); + } elseif ($font['fontkey']) { + // obj ID of a stream containing a TrueType font program + $this->writer->write('/FontFile2 ' . $this->mpdf->FontFiles[$font['fontkey']]['n'] . ' 0 R'); + } + + $this->writer->write('>>'); + $this->writer->write('endobj'); + + // Embed CIDToGIDMap + // A specification of the mapping from CIDs to glyph indices + if ($asSubset) { + $cidtogidmap = str_pad('', 256 * 256 * 2, "\x00"); + foreach ($codeToGlyph as $cc => $glyph) { + $cidtogidmap[$cc * 2] = chr($glyph >> 8); + $cidtogidmap[$cc * 2 + 1] = chr($glyph & 0xFF); + } + $cidtogidmap = gzcompress($cidtogidmap); + } else { + // First see if there is a cached CIDToGIDMapfile + if ($this->fontCache->has($font['fontkey'] . '.cgm')) { + $cidtogidmap = $this->fontCache->load($font['fontkey'] . '.cgm'); + } else { + $ttf = new TTFontFile($this->fontCache, $this->fontDescriptor); + $charToGlyph = $ttf->getCTG($font['ttffile'], $font['TTCfontID'], $this->mpdf->debugfonts, $font['useOTL']); + $cidtogidmap = str_pad('', 256 * 256 * 2, "\x00"); + foreach ($charToGlyph as $cc => $glyph) { + $cidtogidmap[$cc * 2] = chr($glyph >> 8); + $cidtogidmap[$cc * 2 + 1] = chr($glyph & 0xFF); + } + unset($ttf); + $cidtogidmap = gzcompress($cidtogidmap); + $this->fontCache->binaryWrite($font['fontkey'] . '.cgm', $cidtogidmap); + } + } + $this->writer->object(); + $this->writer->write('<writer->write('/Filter /FlateDecode'); + $this->writer->write('>>'); + $this->writer->stream($cidtogidmap); + $this->writer->write('endobj'); + + // Font file + if ($asSubset) { + $this->writer->object(); + $this->writer->write('<writer->write('/Filter /FlateDecode'); + $this->writer->write('/Length1 ' . $ttfontsize); + $this->writer->write('>>'); + $this->writer->stream($fontstream); + $this->writer->write('endobj'); + unset($ttf); + } + } else { + throw new \Mpdf\MpdfException(sprintf('Unsupported font type: %s (%s)', $type, $name)); + } + } + } + + private function writeTTFontWidths(&$font, $asSubset, $maxUni) // _putTTfontwidths + { + $character = [ + 'startcid' => 1, + 'rangeid' => 0, + 'prevcid' => -2, + 'prevwidth' => -1, + 'interval' => false, + 'range' => [], + ]; + + $fontCacheFilename = $font['fontkey'] . '.cw127.json'; + if ($asSubset && $this->fontCache->jsonHas($fontCacheFilename)) { + $character = $this->fontCache->jsonLoad($fontCacheFilename); + $character['startcid'] = 128; + } + + // for each character + $cwlen = ($asSubset) ? $maxUni + 1 : (strlen($font['cw']) / 2); + for ($cid = $character['startcid']; $cid < $cwlen; $cid++) { + if ($cid == 128 && $asSubset && (!$this->fontCache->has($fontCacheFilename))) { + $character = [ + 'rangeid' => $character['rangeid'], + 'prevcid' => $character['prevcid'], + 'prevwidth' => $character['prevwidth'], + 'interval' => $character['interval'], + 'range' => $character['range'], + ]; + + $this->fontCache->jsonWrite($fontCacheFilename, $character); + } + + $character1 = isset($font['cw'][$cid * 2]) ? $font['cw'][$cid * 2] : ''; + $character2 = isset($font['cw'][$cid * 2 + 1]) ? $font['cw'][$cid * 2 + 1] : ''; + + if ($character1 === "\00" && $character2 === "\00") { + continue; + } + + $width = (ord($character1) << 8) + ord($character2); + + if ($width === 65535) { + $width = 0; + } + + if ($asSubset && $cid > 255 && (!isset($font['subset'][$cid]) || !$font['subset'][$cid])) { + continue; + } + + if ($asSubset && $cid > 0xFFFF) { + continue; + } // mPDF 6 + + if (!isset($font['dw']) || (isset($font['dw']) && $width != $font['dw'])) { + if ($cid === ($character['prevcid'] + 1)) { + // consecutive CID + if ($width === $character['prevwidth']) { + if (isset($character['range'][$character['rangeid']][0]) && $width === $character['range'][$character['rangeid']][0]) { + $character['range'][$character['rangeid']][] = $width; + } else { + array_pop($character['range'][$character['rangeid']]); + // new range + $character['rangeid'] = $character['prevcid']; + $character['range'][$character['rangeid']] = []; + $character['range'][$character['rangeid']][] = $character['prevwidth']; + $character['range'][$character['rangeid']][] = $width; + } + $character['interval'] = true; + $character['range'][$character['rangeid']]['interval'] = true; + } else { + if ($character['interval']) { + // new range + $character['rangeid'] = $cid; + $character['range'][$character['rangeid']] = []; + $character['range'][$character['rangeid']][] = $width; + } else { + $character['range'][$character['rangeid']][] = $width; + } + $character['interval'] = false; + } + } else { + // new range + $character['rangeid'] = $cid; + $character['range'][$character['rangeid']] = []; + $character['range'][$character['rangeid']][] = $width; + $character['interval'] = false; + } + $character['prevcid'] = $cid; + $character['prevwidth'] = $width; + } + } + $w = $this->writeFontRanges($character['range']); + $this->writer->write($w); + if (!$asSubset) { + $this->fontCache->binaryWrite($font['fontkey'] . '.cw', $w); + } + } + + private function writeFontRanges(&$range) // _putfontranges + { + // optimize ranges + $prevk = -1; + $nextk = -1; + $prevint = false; + foreach ($range as $k => $ws) { + $cws = count($ws); + if (($k == $nextk) and ( !$prevint) and ( (!isset($ws['interval'])) or ( $cws < 4))) { + if (isset($range[$k]['interval'])) { + unset($range[$k]['interval']); + } + $range[$prevk] = array_merge($range[$prevk], $range[$k]); + unset($range[$k]); + } else { + $prevk = $k; + } + $nextk = $k + $cws; + if (isset($ws['interval'])) { + if ($cws > 3) { + $prevint = true; + } else { + $prevint = false; + } + unset($range[$k]['interval']); + --$nextk; + } else { + $prevint = false; + } + } + // output data + $w = ''; + foreach ($range as $k => $ws) { + if (count(array_count_values($ws)) === 1) { + // interval mode is more compact + $w .= ' ' . $k . ' ' . ($k + count($ws) - 1) . ' ' . $ws[0]; + } else { + // range mode + $w .= ' ' . $k . ' [ ' . implode(' ', $ws) . ' ]' . "\n"; + } + } + return '/W [' . $w . ' ]'; + } + + private function writeFontWidths(&$font, $cidoffset = 0) // _putfontwidths + { + ksort($font['cw']); + unset($font['cw'][65535]); + $rangeid = 0; + $range = []; + $prevcid = -2; + $prevwidth = -1; + $interval = false; + // for each character + foreach ($font['cw'] as $cid => $width) { + $cid -= $cidoffset; + if (!isset($font['dw']) || (isset($font['dw']) && $width != $font['dw'])) { + if ($cid === ($prevcid + 1)) { + // consecutive CID + if ($width === $prevwidth) { + if ($width === $range[$rangeid][0]) { + $range[$rangeid][] = $width; + } else { + array_pop($range[$rangeid]); + // new range + $rangeid = $prevcid; + $range[$rangeid] = []; + $range[$rangeid][] = $prevwidth; + $range[$rangeid][] = $width; + } + $interval = true; + $range[$rangeid]['interval'] = true; + } else { + if ($interval) { + // new range + $rangeid = $cid; + $range[$rangeid] = []; + $range[$rangeid][] = $width; + } else { + $range[$rangeid][] = $width; + } + $interval = false; + } + } else { + // new range + $rangeid = $cid; + $range[$rangeid] = []; + $range[$rangeid][] = $width; + $interval = false; + } + $prevcid = $cid; + $prevwidth = $width; + } + } + $this->writer->write($this->writeFontRanges($range)); + } + + // from class PDF_Chinese CJK EXTENSIONS + public function writeType0(&$font) // _putType0 + { + // Type0 + $this->writer->write('/Subtype /Type0'); + $this->writer->write('/BaseFont /' . $font['name'] . '-' . $font['CMap']); + $this->writer->write('/Encoding /' . $font['CMap']); + $this->writer->write('/DescendantFonts [' . ($this->mpdf->n + 1) . ' 0 R]'); + $this->writer->write('>>'); + $this->writer->write('endobj'); + // CIDFont + $this->writer->object(); + $this->writer->write('<writer->write('/Subtype /CIDFontType0'); + $this->writer->write('/BaseFont /' . $font['name']); + + $cidinfo = '/Registry ' . $this->writer->string('Adobe'); + $cidinfo .= ' /Ordering ' . $this->writer->string($font['registry']['ordering']); + $cidinfo .= ' /Supplement ' . $font['registry']['supplement']; + $this->writer->write('/CIDSystemInfo <<' . $cidinfo . '>>'); + + $this->writer->write('/FontDescriptor ' . ($this->mpdf->n + 1) . ' 0 R'); + if (isset($font['MissingWidth'])) { + $this->writer->write('/DW ' . $font['MissingWidth'] . ''); + } + $this->writeFontWidths($font, 31); + $this->writer->write('>>'); + $this->writer->write('endobj'); + + // Font descriptor + $this->writer->object(); + $s = '< $v) { + if ($k !== 'Style') { + $s .= ' /' . $k . ' ' . $v . ''; + } + } + $this->writer->write($s . '>>'); + $this->writer->write('endobj'); + } + +} diff --git a/pandora_console/vendor/mpdf/mpdf/src/Writer/FormWriter.php b/pandora_console/vendor/mpdf/mpdf/src/Writer/FormWriter.php new file mode 100644 index 0000000000..88c6f356ce --- /dev/null +++ b/pandora_console/vendor/mpdf/mpdf/src/Writer/FormWriter.php @@ -0,0 +1,62 @@ +mpdf = $mpdf; + $this->writer = $writer; + } + + public function writeFormObjects() // _putformobjects + { + foreach ($this->mpdf->formobjects as $file => $info) { + + $this->writer->object(); + + $this->mpdf->formobjects[$file]['n'] = $this->mpdf->n; + + $this->writer->write('<writer->write('/Subtype /Form'); + $this->writer->write('/Group ' . ($this->mpdf->n + 1) . ' 0 R'); + $this->writer->write('/BBox [' . $info['x'] . ' ' . $info['y'] . ' ' . ($info['w'] + $info['x']) . ' ' . ($info['h'] + $info['y']) . ']'); + + if ($this->mpdf->compress) { + $this->writer->write('/Filter /FlateDecode'); + } + + $data = $this->mpdf->compress ? gzcompress($info['data']) : $info['data']; + $this->writer->write('/Length ' . strlen($data) . '>>'); + $this->writer->stream($data); + + unset($this->mpdf->formobjects[$file]['data']); + + $this->writer->write('endobj'); + + // Required for SVG transparency (opacity) to work + $this->writer->object(); + $this->writer->write('<writer->write('/S /Transparency'); + $this->writer->write('>>'); + $this->writer->write('endobj'); + } + } +} diff --git a/pandora_console/vendor/mpdf/mpdf/src/Writer/ImageWriter.php b/pandora_console/vendor/mpdf/mpdf/src/Writer/ImageWriter.php new file mode 100644 index 0000000000..b4d3ac8577 --- /dev/null +++ b/pandora_console/vendor/mpdf/mpdf/src/Writer/ImageWriter.php @@ -0,0 +1,119 @@ +mpdf = $mpdf; + $this->writer = $writer; + } + + public function writeImages() + { + $filter = $this->mpdf->compress ? '/Filter /FlateDecode ' : ''; + + foreach ($this->mpdf->images as $file => $info) { + + $this->writer->object(); + + $this->mpdf->images[$file]['n'] = $this->mpdf->n; + + $this->writer->write('<writer->write('/Subtype /Image'); + $this->writer->write('/Width ' . $info['w']); + $this->writer->write('/Height ' . $info['h']); + + if (isset($info['interpolation']) && $info['interpolation']) { + $this->writer->write('/Interpolate true'); // mPDF 6 - image interpolation shall be performed by a conforming reader + } + + if (isset($info['masked'])) { + $this->writer->write('/SMask ' . ($this->mpdf->n - 1) . ' 0 R'); + } + + // set color space + $icc = false; + if (isset($info['icc']) && ( $info['icc'] !== false)) { + // ICC Colour Space + $icc = true; + $this->writer->write('/ColorSpace [/ICCBased ' . ($this->mpdf->n + 1) . ' 0 R]'); + } elseif ($info['cs'] === 'Indexed') { + if ($this->mpdf->PDFX || ($this->mpdf->PDFA && $this->mpdf->restrictColorSpace === 3)) { + throw new \Mpdf\MpdfException('PDFA1-b and PDFX/1-a files do not permit using mixed colour space (' . $file . ').'); + } + $this->writer->write('/ColorSpace [/Indexed /DeviceRGB ' . (strlen($info['pal']) / 3 - 1) . ' ' . ($this->mpdf->n + 1) . ' 0 R]'); + } else { + $this->writer->write('/ColorSpace /' . $info['cs']); + if ($info['cs'] === 'DeviceCMYK') { + if ($this->mpdf->PDFA && $this->mpdf->restrictColorSpace !== 3) { + throw new \Mpdf\MpdfException('PDFA1-b does not permit Images using mixed colour space (' . $file . ').'); + } + if ($info['type'] === 'jpg') { + $this->writer->write('/Decode [1 0 1 0 1 0 1 0]'); + } + } elseif (($this->mpdf->PDFX || ($this->mpdf->PDFA && $this->mpdf->restrictColorSpace === 3)) && $info['cs'] === 'DeviceRGB') { + throw new \Mpdf\MpdfException('PDFA1-b and PDFX/1-a files do not permit using mixed colour space (' . $file . ').'); + } + } + + $this->writer->write('/BitsPerComponent ' . $info['bpc']); + + if (isset($info['f']) && $info['f']) { + $this->writer->write('/Filter /' . $info['f']); + } + + if (isset($info['parms'])) { + $this->writer->write($info['parms']); + } + + if (isset($info['trns']) && is_array($info['trns'])) { + $trns = ''; + $maskCount = count($info['trns']); + for ($i = 0; $i < $maskCount; $i++) { + $trns .= $info['trns'][$i] . ' ' . $info['trns'][$i] . ' '; + } + $this->writer->write('/Mask [' . $trns . ']'); + } + + $this->writer->write('/Length ' . strlen($info['data']) . '>>'); + $this->writer->stream($info['data']); + + unset($this->mpdf->images[$file]['data']); + + $this->writer->write('endobj'); + + if ($icc) { // ICC colour profile + $this->writer->object(); + $icc = $this->mpdf->compress ? gzcompress($info['icc']) : $info['icc']; + $this->writer->write('<>'); + $this->writer->stream($icc); + $this->writer->write('endobj'); + } elseif ($info['cs'] === 'Indexed') { // Palette + $this->writer->object(); + $pal = $this->mpdf->compress ? gzcompress($info['pal']) : $info['pal']; + $this->writer->write('<<' . $filter . '/Length ' . strlen($pal) . '>>'); + $this->writer->stream($pal); + $this->writer->write('endobj'); + } + } + } + +} diff --git a/pandora_console/vendor/mpdf/mpdf/src/Writer/JavaScriptWriter.php b/pandora_console/vendor/mpdf/mpdf/src/Writer/JavaScriptWriter.php new file mode 100644 index 0000000000..f3bb290ab7 --- /dev/null +++ b/pandora_console/vendor/mpdf/mpdf/src/Writer/JavaScriptWriter.php @@ -0,0 +1,46 @@ +mpdf = $mpdf; + $this->writer = $writer; + } + + public function writeJavascript() // _putjavascript + { + $this->writer->object(); + $this->mpdf->n_js = $this->mpdf->n; + $this->writer->write('<<'); + $this->writer->write('/Names [(EmbeddedJS) ' . (1 + $this->mpdf->n) . ' 0 R ]'); + $this->writer->write('>>'); + $this->writer->write('endobj'); + + $this->writer->object(); + $this->writer->write('<<'); + $this->writer->write('/S /JavaScript'); + $this->writer->write('/JS ' . $this->writer->string($this->mpdf->js)); + $this->writer->write('>>'); + $this->writer->write('endobj'); + } + +} diff --git a/pandora_console/vendor/mpdf/mpdf/src/Writer/MetadataWriter.php b/pandora_console/vendor/mpdf/mpdf/src/Writer/MetadataWriter.php new file mode 100644 index 0000000000..a171c73261 --- /dev/null +++ b/pandora_console/vendor/mpdf/mpdf/src/Writer/MetadataWriter.php @@ -0,0 +1,829 @@ +mpdf = $mpdf; + $this->writer = $writer; + $this->form = $form; + $this->protection = $protection; + $this->logger = $logger; + } + + public function writeMetadata() // _putmetadata + { + $this->writer->object(); + $this->mpdf->MetadataRoot = $this->mpdf->n; + $Producer = 'mPDF' . ($this->mpdf->exposeVersion ? (' ' . Mpdf::VERSION) : ''); + $z = date('O'); // +0200 + $offset = substr($z, 0, 3) . ':' . substr($z, 3, 2); + $CreationDate = date('Y-m-d\TH:i:s') . $offset; // 2006-03-10T10:47:26-05:00 2006-06-19T09:05:17Z + $uuid = sprintf('%04x%04x-%04x-%04x-%04x-%04x%04x%04x', random_int(0, 0xffff), random_int(0, 0xffff), random_int(0, 0xffff), random_int(0, 0x0fff) | 0x4000, random_int(0, 0x3fff) | 0x8000, random_int(0, 0xffff), random_int(0, 0xffff), random_int(0, 0xffff)); + + + $m = '' . "\n"; // begin = FEFF BOM + $m .= ' ' . "\n"; + $m .= ' ' . "\n"; + $m .= ' ' . "\n"; + $m .= ' ' . $Producer . '' . "\n"; + if (!empty($this->mpdf->keywords)) { + $m .= ' ' . $this->mpdf->keywords . '' . "\n"; + } + $m .= ' ' . "\n"; + + $m .= ' ' . "\n"; + $m .= ' ' . $CreationDate . '' . "\n"; + $m .= ' ' . $CreationDate . '' . "\n"; + $m .= ' ' . $CreationDate . '' . "\n"; + if (!empty($this->mpdf->creator)) { + $m .= ' ' . $this->mpdf->creator . '' . "\n"; + } + $m .= ' ' . "\n"; + + // DC elements + $m .= ' ' . "\n"; + $m .= ' application/pdf' . "\n"; + if (!empty($this->mpdf->title)) { + $m .= ' + + ' . $this->mpdf->title . ' + + ' . "\n"; + } + if (!empty($this->mpdf->keywords)) { + $m .= ' + + ' . $this->mpdf->keywords . ' + + ' . "\n"; + } + if (!empty($this->mpdf->subject)) { + $m .= ' + + ' . $this->mpdf->subject . ' + + ' . "\n"; + } + if (!empty($this->mpdf->author)) { + $m .= ' + + ' . $this->mpdf->author . ' + + ' . "\n"; + } + $m .= ' ' . "\n"; + + if (!empty($this->mpdf->additionalXmpRdf)) { + $m .= $this->mpdf->additionalXmpRdf; + } + + // This bit is specific to PDFX-1a + if ($this->mpdf->PDFX) { + $m .= ' ' . "\n"; + } // This bit is specific to PDFA-1b + elseif ($this->mpdf->PDFA) { + + if (strpos($this->mpdf->PDFAversion, '-') === false) { + throw new \Mpdf\MpdfException(sprintf('PDFA version (%s) is not valid. (Use: 1-B, 3-B, etc.)', $this->mpdf->PDFAversion)); + } + + list($part, $conformance) = explode('-', strtoupper($this->mpdf->PDFAversion)); + $m .= ' ' . "\n"; + $m .= ' ' . $part . '' . "\n"; + $m .= ' ' . $conformance . '' . "\n"; + if ($part === '1' && $conformance === 'B') { + $m .= ' 2005' . "\n"; + } + $m .= ' ' . "\n"; + } + + $m .= ' ' . "\n"; + $m .= ' uuid:' . $uuid . '' . "\n"; + $m .= ' ' . "\n"; + $m .= ' ' . "\n"; + $m .= ' ' . "\n"; + $m .= str_repeat(str_repeat(' ', 100) . "\n", 20); // 2-4kB whitespace padding required + $m .= ''; // "r" read only + $this->writer->write('<>'); + $this->writer->stream($m); + $this->writer->write('endobj'); + } + + public function writeInfo() // _putinfo + { + $this->writer->write('/Producer ' . $this->writer->utf16BigEndianTextString('mPDF' . ($this->mpdf->exposeVersion ? (' ' . $this->getVersionString()) : ''))); + + if (!empty($this->mpdf->title)) { + $this->writer->write('/Title ' . $this->writer->utf16BigEndianTextString($this->mpdf->title)); + } + + if (!empty($this->mpdf->subject)) { + $this->writer->write('/Subject ' . $this->writer->utf16BigEndianTextString($this->mpdf->subject)); + } + + if (!empty($this->mpdf->author)) { + $this->writer->write('/Author ' . $this->writer->utf16BigEndianTextString($this->mpdf->author)); + } + + if (!empty($this->mpdf->keywords)) { + $this->writer->write('/Keywords ' . $this->writer->utf16BigEndianTextString($this->mpdf->keywords)); + } + + if (!empty($this->mpdf->creator)) { + $this->writer->write('/Creator ' . $this->writer->utf16BigEndianTextString($this->mpdf->creator)); + } + + foreach ($this->mpdf->customProperties as $key => $value) { + $this->writer->write('/' . $key . ' ' . $this->writer->utf16BigEndianTextString($value)); + } + + $now = PdfDate::format(time()); + $this->writer->write('/CreationDate ' . $this->writer->string('D:' . $now)); + $this->writer->write('/ModDate ' . $this->writer->string('D:' . $now)); + if ($this->mpdf->PDFX) { + $this->writer->write('/Trapped/False'); + $this->writer->write('/GTS_PDFXVersion(PDF/X-1a:2003)'); + } + } + + public function writeOutputIntent() // _putoutputintent + { + $this->writer->object(); + $this->mpdf->OutputIntentRoot = $this->mpdf->n; + $this->writer->write('<mpdf->ICCProfile, '.icc')); + + if ($this->mpdf->PDFA) { + $this->writer->write('/S /GTS_PDFA1'); + if ($this->mpdf->ICCProfile) { + $this->writer->write('/Info (' . $ICCProfile . ')'); + $this->writer->write('/OutputConditionIdentifier (Custom)'); + $this->writer->write('/OutputCondition ()'); + } else { + $this->writer->write('/Info (sRGB IEC61966-2.1)'); + $this->writer->write('/OutputConditionIdentifier (sRGB IEC61966-2.1)'); + $this->writer->write('/OutputCondition ()'); + } + $this->writer->write('/DestOutputProfile ' . ($this->mpdf->n + 1) . ' 0 R'); + } elseif ($this->mpdf->PDFX) { // always a CMYK profile + $this->writer->write('/S /GTS_PDFX'); + if ($this->mpdf->ICCProfile) { + $this->writer->write('/Info (' . $ICCProfile . ')'); + $this->writer->write('/OutputConditionIdentifier (Custom)'); + $this->writer->write('/OutputCondition ()'); + $this->writer->write('/DestOutputProfile ' . ($this->mpdf->n + 1) . ' 0 R'); + } else { + $this->writer->write('/Info (CGATS TR 001)'); + $this->writer->write('/OutputConditionIdentifier (CGATS TR 001)'); + $this->writer->write('/OutputCondition (CGATS TR 001 (SWOP))'); + $this->writer->write('/RegistryName (http://www.color.org)'); + } + } + $this->writer->write('>>'); + $this->writer->write('endobj'); + + if ($this->mpdf->PDFX && !$this->mpdf->ICCProfile) { + return; + } + + $this->writer->object(); + + if ($this->mpdf->ICCProfile) { + if (!file_exists($this->mpdf->ICCProfile)) { + throw new \Mpdf\MpdfException(sprintf('Unable to find ICC profile "%s"', $this->mpdf->ICCProfile)); + } + $s = file_get_contents($this->mpdf->ICCProfile); + } else { + $s = file_get_contents(__DIR__ . '/../../data/iccprofiles/sRGB_IEC61966-2-1.icc'); + } + + if ($this->mpdf->compress) { + $s = gzcompress($s); + } + + $this->writer->write('<<'); + + if ($this->mpdf->PDFX || ($this->mpdf->PDFA && $this->mpdf->restrictColorSpace === 3)) { + $this->writer->write('/N 4'); + } else { + $this->writer->write('/N 3'); + } + + if ($this->mpdf->compress) { + $this->writer->write('/Filter /FlateDecode '); + } + + $this->writer->write('/Length ' . strlen($s) . '>>'); + $this->writer->stream($s); + $this->writer->write('endobj'); + } + + public function writeAssociatedFiles() // _putAssociatedFiles + { + if (!function_exists('gzcompress')) { + throw new \Mpdf\MpdfException('ext-zlib is required for compression of associated files'); + } + + // for each file, we create the spec object + the stream object + foreach ($this->mpdf->associatedFiles as $k => $file) { + // spec + $this->writer->object(); + $this->mpdf->associatedFiles[$k]['_root'] = $this->mpdf->n; // we store the root ref of object for future reference (e.g. /EmbeddedFiles catalog) + $this->writer->write('<writer->string($file['name'])); + if ($file['description']) { + $this->writer->write('/Desc ' . $this->writer->string($file['description'])); + } + $this->writer->write('/Type /Filespec'); + $this->writer->write('/EF <<'); + $this->writer->write('/F ' . ($this->mpdf->n + 1) . ' 0 R'); + $this->writer->write('/UF ' . ($this->mpdf->n + 1) . ' 0 R'); + $this->writer->write('>>'); + if ($file['AFRelationship']) { + $this->writer->write('/AFRelationship /' . $file['AFRelationship']); + } + $this->writer->write('/UF ' . $this->writer->string($file['name'])); + $this->writer->write('>>'); + $this->writer->write('endobj'); + + $fileContent = null; + if (isset($file['path'])) { + $fileContent = @file_get_contents($file['path']); + } elseif (isset($file['content'])) { + $fileContent = $file['content']; + } + + if (!$fileContent) { + throw new \Mpdf\MpdfException(sprintf('Cannot access associated file - %s', $file['path'])); + } + + $filestream = gzcompress($fileContent); + $this->writer->object(); + $this->writer->write('<writer->write('/Subtype /' . $this->writer->escapeSlashes($file['mime'])); + } + $this->writer->write('/Length '.strlen($filestream)); + $this->writer->write('/Filter /FlateDecode'); + if (isset($file['path'])) { + $this->writer->write('/Params <writer->string('D:' . PdfDate::format(filemtime($file['path']))).' >>'); + } else { + $this->writer->write('/Params <writer->string('D:' . PdfDate::format(time())).' >>'); + } + + $this->writer->write('>>'); + $this->writer->stream($filestream); + $this->writer->write('endobj'); + } + + // AF array + $this->writer->object(); + $refs = []; + foreach ($this->mpdf->associatedFiles as $file) { + $refs[] = '' . $file['_root'] . ' 0 R'; + } + $this->writer->write('[' . implode(' ', $refs) . ']'); + $this->writer->write('endobj'); + + $this->mpdf->associatedFilesRoot = $this->mpdf->n; + } + + public function writeCatalog() //_putcatalog + { + $this->writer->write('/Type /Catalog'); + $this->writer->write('/Pages 1 0 R'); + + if ($this->mpdf->ZoomMode === 'fullpage') { + $this->writer->write('/OpenAction [3 0 R /Fit]'); + } elseif ($this->mpdf->ZoomMode === 'fullwidth') { + $this->writer->write('/OpenAction [3 0 R /FitH null]'); + } elseif ($this->mpdf->ZoomMode === 'real') { + $this->writer->write('/OpenAction [3 0 R /XYZ null null 1]'); + } elseif (!is_string($this->mpdf->ZoomMode)) { + $this->writer->write('/OpenAction [3 0 R /XYZ null null ' . ($this->mpdf->ZoomMode / 100) . ']'); + } elseif ($this->mpdf->ZoomMode === 'none') { + // do not write any zoom mode / OpenAction + } else { + $this->writer->write('/OpenAction [3 0 R /XYZ null null null]'); + } + + if ($this->mpdf->LayoutMode === 'single') { + $this->writer->write('/PageLayout /SinglePage'); + } elseif ($this->mpdf->LayoutMode === 'continuous') { + $this->writer->write('/PageLayout /OneColumn'); + } elseif ($this->mpdf->LayoutMode === 'twoleft') { + $this->writer->write('/PageLayout /TwoColumnLeft'); + } elseif ($this->mpdf->LayoutMode === 'tworight') { + $this->writer->write('/PageLayout /TwoColumnRight'); + } elseif ($this->mpdf->LayoutMode === 'two') { + if ($this->mpdf->mirrorMargins) { + $this->writer->write('/PageLayout /TwoColumnRight'); + } else { + $this->writer->write('/PageLayout /TwoColumnLeft'); + } + } + + // Bookmarks + if (count($this->mpdf->BMoutlines) > 0) { + $this->writer->write('/Outlines ' . $this->mpdf->OutlineRoot . ' 0 R'); + $this->writer->write('/PageMode /UseOutlines'); + } + + // Fullscreen + if (is_int(strpos($this->mpdf->DisplayPreferences, 'FullScreen'))) { + $this->writer->write('/PageMode /FullScreen'); + } + + // Metadata + if ($this->mpdf->PDFA || $this->mpdf->PDFX) { + $this->writer->write('/Metadata ' . $this->mpdf->MetadataRoot . ' 0 R'); + } + + // OutputIntents + if ($this->mpdf->PDFA || $this->mpdf->PDFX || $this->mpdf->ICCProfile) { + $this->writer->write('/OutputIntents [' . $this->mpdf->OutputIntentRoot . ' 0 R]'); + } + + // Associated files + if ($this->mpdf->associatedFilesRoot) { + $this->writer->write('/AF '. $this->mpdf->associatedFilesRoot .' 0 R'); + + $names = []; + foreach ($this->mpdf->associatedFiles as $file) { + $names[] = $this->writer->string($file['name']) . ' ' . $file['_root'] . ' 0 R'; + } + $this->writer->write('/Names << /EmbeddedFiles << /Names [' . implode(' ', $names) . '] >> >>'); + } + + // Forms + if (count($this->form->forms) > 0) { + $this->form->_putFormsCatalog(); + } + + if ($this->mpdf->js !== null) { + $this->writer->write('/Names << /JavaScript ' . $this->mpdf->n_js . ' 0 R >> '); + } + + if ($this->mpdf->DisplayPreferences || $this->mpdf->directionality === 'rtl' || $this->mpdf->mirrorMargins) { + + $this->writer->write('/ViewerPreferences<<'); + + if (is_int(strpos($this->mpdf->DisplayPreferences, 'HideMenubar'))) { + $this->writer->write('/HideMenubar true'); + } + + if (is_int(strpos($this->mpdf->DisplayPreferences, 'HideToolbar'))) { + $this->writer->write('/HideToolbar true'); + } + + if (is_int(strpos($this->mpdf->DisplayPreferences, 'HideWindowUI'))) { + $this->writer->write('/HideWindowUI true'); + } + + if (is_int(strpos($this->mpdf->DisplayPreferences, 'DisplayDocTitle'))) { + $this->writer->write('/DisplayDocTitle true'); + } + + if (is_int(strpos($this->mpdf->DisplayPreferences, 'CenterWindow'))) { + $this->writer->write('/CenterWindow true'); + } + + if (is_int(strpos($this->mpdf->DisplayPreferences, 'FitWindow'))) { + $this->writer->write('/FitWindow true'); + } + + // PrintScaling is PDF 1.6 spec. + if (!$this->mpdf->PDFA && !$this->mpdf->PDFX && is_int(strpos($this->mpdf->DisplayPreferences, 'NoPrintScaling'))) { + $this->writer->write('/PrintScaling /None'); + } + + if ($this->mpdf->directionality === 'rtl') { + $this->writer->write('/Direction /R2L'); + } + + // Duplex is PDF 1.7 spec. + if ($this->mpdf->mirrorMargins && !$this->mpdf->PDFA && !$this->mpdf->PDFX) { + // if ($this->mpdf->DefOrientation=='P') $this->writer->write('/Duplex /DuplexFlipShortEdge'); + $this->writer->write('/Duplex /DuplexFlipLongEdge'); // PDF v1.7+ + } + + $this->writer->write('>>'); + } + + if ($this->mpdf->open_layer_pane && ($this->mpdf->hasOC || count($this->mpdf->layers))) { + $this->writer->write('/PageMode /UseOC'); + } + + if ($this->mpdf->hasOC || count($this->mpdf->layers)) { + + $p = $v = $h = $l = $loff = $lall = $as = ''; + + if ($this->mpdf->hasOC) { + + if (($this->mpdf->hasOC & 1) === 1) { + $p = $this->mpdf->n_ocg_print . ' 0 R'; + } + + if (($this->mpdf->hasOC & 2) === 2) { + $v = $this->mpdf->n_ocg_view . ' 0 R'; + } + + if (($this->mpdf->hasOC & 4) === 4) { + $h = $this->mpdf->n_ocg_hidden . ' 0 R'; + } + + $as = "<> <>"; + } + + if (count($this->mpdf->layers)) { + foreach ($this->mpdf->layers as $k => $layer) { + if (isset($this->mpdf->layerDetails[$k]) && strtolower($this->mpdf->layerDetails[$k]['state']) === 'hidden') { + $loff .= $layer['n'] . ' 0 R '; + } else { + $l .= $layer['n'] . ' 0 R '; + } + $lall .= $layer['n'] . ' 0 R '; + } + } + + $this->writer->write("/OCProperties <writer->write("/Order [$v $p $h $lall] "); + + if ($as) { + $this->writer->write("/AS [$as] "); + } + + $this->writer->write('>>>>'); + } + } + + /** + * @since 5.7.2 + */ + public function writeAnnotations() // _putannots + { + $nb = $this->mpdf->page; + + for ($n = 1; $n <= $nb; $n++) { + + if (isset($this->mpdf->PageLinks[$n]) || isset($this->mpdf->PageAnnots[$n]) || count($this->form->forms) > 0) { + + $wPt = $this->mpdf->pageDim[$n]['w'] * Mpdf::SCALE; + $hPt = $this->mpdf->pageDim[$n]['h'] * Mpdf::SCALE; + + // Links + if (isset($this->mpdf->PageLinks[$n])) { + + foreach ($this->mpdf->PageLinks[$n] as $key => $pl) { + + $this->writer->object(); + $annot = ''; + + $rect = sprintf('%.3F %.3F %.3F %.3F', $pl[0], $pl[1], $pl[0] + $pl[2], $pl[1] - $pl[3]); + + $annot .= '<writer->utf16BigEndianTextString($pl[4]); + $annot .= ' /NM ' . $this->writer->string(sprintf('%04u-%04u', $n, $key)); + $annot .= ' /M ' . $this->writer->string('D:' . date('YmdHis')); + + $annot .= ' /Border [0 0 0]'; + + // Use this (instead of /Border) to specify border around link + + // $annot .= ' /BS <mpdf->PDFA || $this->mpdf->PDFX) { + $annot .= ' /F 28'; + } + + if (strpos($pl[4], '@') === 0) { + + $p = substr($pl[4], 1); + // $h=isset($this->mpdf->OrientationChanges[$p]) ? $wPt : $hPt; + $htarg = $this->mpdf->pageDim[$p]['h'] * Mpdf::SCALE; + $annot .= sprintf(' /Dest [%d 0 R /XYZ 0 %.3F null]>>', 1 + 2 * $p, $htarg); + + } elseif (is_string($pl[4])) { + + $annot .= ' /A <
    writer->string($pl[4]) . '>> >>'; + + } else { + + $l = $this->mpdf->links[$pl[4]]; + // may not be set if #link points to non-existent target + if (isset($this->mpdf->pageDim[$l[0]]['h'])) { + $htarg = $this->mpdf->pageDim[$l[0]]['h'] * Mpdf::SCALE; + } else { + $htarg = $this->mpdf->h * Mpdf::SCALE; + } // doesn't really matter + + $annot .= sprintf(' /Dest [%d 0 R /XYZ 0 %.3F null]>>', 1 + 2 * $l[0], $htarg - $l[1] * Mpdf::SCALE); + } + + $this->writer->write($annot); + $this->writer->write('endobj'); + + } + } + + /* -- ANNOTATIONS -- */ + if (isset($this->mpdf->PageAnnots[$n])) { + + foreach ($this->mpdf->PageAnnots[$n] as $key => $pl) { + + $fileAttachment = (bool) $pl['opt']['file']; + + if ($fileAttachment && !$this->mpdf->allowAnnotationFiles) { + $this->logger->warning('Embedded files for annotations have to be allowed explicitly with "allowAnnotationFiles" config key'); + $fileAttachment = false; + } + + $this->writer->object(); + + $annot = ''; + $pl['opt'] = array_change_key_case($pl['opt'], CASE_LOWER); + $x = $pl['x']; + + if ($this->mpdf->annotMargin != 0 || $x == 0 || $x < 0) { // Odd page, intentional non-strict comparison + $x = ($wPt / Mpdf::SCALE) - $this->mpdf->annotMargin; + } + + $w = $h = 0; + $a = $x * Mpdf::SCALE; + $b = $hPt - ($pl['y'] * Mpdf::SCALE); + + $annot .= '<mpdf->n + 1) . ' 0 R>>'; + $annot .= '>>'; + + } else { + $annot .= '/Subtype /Text'; + $w = 20; + $h = 20; // mPDF 6 + } + + $rect = sprintf('%.3F %.3F %.3F %.3F', $a, $b - $h, $a + $w, $b); + $annot .= ' /Rect [' . $rect . ']'; + + // contents = description of file in free text + $annot .= ' /Contents ' . $this->writer->utf16BigEndianTextString($pl['txt']); + + $annot .= ' /NM ' . $this->writer->string(sprintf('%04u-%04u', $n, 2000 + $key)); + $annot .= ' /M ' . $this->writer->string('D:' . date('YmdHis')); + $annot .= ' /CreationDate ' . $this->writer->string('D:' . date('YmdHis')); + $annot .= ' /Border [0 0 0]'; + + if ($this->mpdf->PDFA || $this->mpdf->PDFX) { + $annot .= ' /F 28'; + $annot .= ' /CA 1'; + } elseif ($pl['opt']['ca'] > 0) { + $annot .= ' /CA ' . $pl['opt']['ca']; + } + + $annotcolor = ' /C ['; + if (isset($pl['opt']['c']) && $pl['opt']['c']) { + $col = $pl['opt']['c']; + if ($col[0] == 3 || $col[0] == 5) { + $annotcolor .= sprintf('%.3F %.3F %.3F', ord($col[1]) / 255, ord($col[2]) / 255, ord($col[3]) / 255); + } elseif ($col[0] == 1) { + $annotcolor .= sprintf('%.3F', ord($col[1]) / 255); + } elseif ($col[0] == 4 || $col[0] == 6) { + $annotcolor .= sprintf('%.3F %.3F %.3F %.3F', ord($col[1]) / 100, ord($col[2]) / 100, ord($col[3]) / 100, ord($col[4]) / 100); + } else { + $annotcolor .= '1 1 0'; + } + } else { + $annotcolor .= '1 1 0'; + } + $annotcolor .= ']'; + $annot .= $annotcolor; + + // Usually Author + // Use as Title for fileattachment + if (isset($pl['opt']['t']) && is_string($pl['opt']['t'])) { + $annot .= ' /T ' . $this->writer->utf16BigEndianTextString($pl['opt']['t']); + } + + if ($fileAttachment) { + $iconsapp = ['Paperclip', 'Graph', 'PushPin', 'Tag']; + } else { + $iconsapp = ['Comment', 'Help', 'Insert', 'Key', 'NewParagraph', 'Note', 'Paragraph']; + } + + if (isset($pl['opt']['icon']) && in_array($pl['opt']['icon'], $iconsapp)) { + $annot .= ' /Name /' . $pl['opt']['icon']; + } elseif ($fileAttachment) { + $annot .= ' /Name /PushPin'; + } else { + $annot .= ' /Name /Note'; + } + + if (!$fileAttachment) { + // Subj is PDF 1.5 spec. + if (!$this->mpdf->PDFA && !$this->mpdf->PDFX && isset($pl['opt']['subj'])) { + $annot .= ' /Subj ' . $this->writer->utf16BigEndianTextString($pl['opt']['subj']); + } + if (!empty($pl['opt']['popup'])) { + $annot .= ' /Open true'; + $annot .= ' /Popup ' . ($this->mpdf->n + 1) . ' 0 R'; + } else { + $annot .= ' /Open false'; + } + } + + $annot .= ' /P ' . $pl['pageobj'] . ' 0 R'; + $annot .= '>>'; + $this->writer->write($annot); + $this->writer->write('endobj'); + + if ($fileAttachment) { + + $file = @file_get_contents($pl['opt']['file']); + if (!$file) { + throw new \Mpdf\MpdfException('mPDF Error: Cannot access file attachment - ' . $pl['opt']['file']); + } + + $filestream = gzcompress($file); + $this->writer->object(); + $this->writer->write('<writer->write('/Length ' . strlen($filestream)); + $this->writer->write('/Filter /FlateDecode'); + $this->writer->write('>>'); + $this->writer->stream($filestream); + $this->writer->write('endobj'); + + } elseif (!empty($pl['opt']['popup'])) { + $this->writer->object(); + $annot = ''; + if (is_array($pl['opt']['popup']) && isset($pl['opt']['popup'][0])) { + $x = $pl['opt']['popup'][0] * Mpdf::SCALE; + } else { + $x = $pl['x'] * Mpdf::SCALE; + } + if (is_array($pl['opt']['popup']) && isset($pl['opt']['popup'][1])) { + $y = $hPt - ($pl['opt']['popup'][1] * Mpdf::SCALE); + } else { + $y = $hPt - ($pl['y'] * Mpdf::SCALE); + } + if (is_array($pl['opt']['popup']) && isset($pl['opt']['popup'][2])) { + $w = $pl['opt']['popup'][2] * Mpdf::SCALE; + } else { + $w = 180; + } + if (is_array($pl['opt']['popup']) && isset($pl['opt']['popup'][3])) { + $h = $pl['opt']['popup'][3] * Mpdf::SCALE; + } else { + $h = 120; + } + $rect = sprintf('%.3F %.3F %.3F %.3F', $x, $y - $h, $x + $w, $y); + $annot .= '<writer->string('D:' . date('YmdHis')); + if ($this->mpdf->PDFA || $this->mpdf->PDFX) { + $annot .= ' /F 28'; + } + $annot .= ' /Parent ' . ($this->mpdf->n - 1) . ' 0 R'; + $annot .= '>>'; + $this->writer->write($annot); + $this->writer->write('endobj'); + } + } + } + + // Active Forms + if (count($this->form->forms) > 0) { + $this->form->_putFormItems($n, $hPt); + } + } + } + + // Active Forms - Radio Button Group entries + // Output Radio Button Group form entries (radio_on_obj_id already determined) + if (count($this->form->form_radio_groups)) { + $this->form->_putRadioItems($n); + } + } + + public function writeEncryption() // _putencryption + { + $this->writer->write('/Filter /Standard'); + if ($this->protection->getUseRC128Encryption()) { + $this->writer->write('/V 2'); + $this->writer->write('/R 3'); + $this->writer->write('/Length 128'); + } else { + $this->writer->write('/V 1'); + $this->writer->write('/R 2'); + } + $this->writer->write('/O (' . $this->writer->escape($this->protection->getOValue()) . ')'); + $this->writer->write('/U (' . $this->writer->escape($this->protection->getUValue()) . ')'); + $this->writer->write('/P ' . $this->protection->getPValue()); + } + + public function writeTrailer() // _puttrailer + { + $this->writer->write('/Size ' . ($this->mpdf->n + 1)); + $this->writer->write('/Root ' . $this->mpdf->n . ' 0 R'); + $this->writer->write('/Info ' . $this->mpdf->InfoRoot . ' 0 R'); + + if ($this->mpdf->encrypted) { + $this->writer->write('/Encrypt ' . $this->mpdf->enc_obj_id . ' 0 R'); + $this->writer->write('/ID [<' . $this->protection->getUniqid() . '> <' . $this->protection->getUniqid() . '>]'); + } else { + $uniqid = md5(time() . $this->mpdf->buffer); + $this->writer->write('/ID [<' . $uniqid . '> <' . $uniqid . '>]'); + } + } + + public function setLogger(LoggerInterface $logger) + { + $this->logger = $logger; + } + + private function getVersionString() + { + $return = Mpdf::VERSION; + $headFile = __DIR__ . '/../../.git/HEAD'; + if (file_exists($headFile)) { + $ref = file($headFile); + $path = explode('/', $ref[0], 3); + $branch = isset($path[2]) ? trim($path[2]) : ''; + $revFile = __DIR__ . '/../../.git/refs/heads/' . $branch; + if ($branch && file_exists($revFile)) { + $rev = file($revFile); + $rev = substr($rev[0], 0, 7); + $return .= ' (' . $rev . ')'; + } + } + + return $return; + } + +} diff --git a/pandora_console/vendor/mpdf/mpdf/src/Writer/ObjectWriter.php b/pandora_console/vendor/mpdf/mpdf/src/Writer/ObjectWriter.php new file mode 100644 index 0000000000..2e0ad7d011 --- /dev/null +++ b/pandora_console/vendor/mpdf/mpdf/src/Writer/ObjectWriter.php @@ -0,0 +1,64 @@ +mpdf = $mpdf; + $this->writer = $writer; + } + + public function writeImportedObjects() + { + if (is_array($this->mpdf->parsers) && count($this->mpdf->parsers) > 0) { + + foreach ($this->mpdf->parsers as $filename => $p) { + + $this->mpdf->current_parser = $this->mpdf->parsers[$filename]; + + if (is_array($this->mpdf->_obj_stack[$filename])) { + + while ($n = key($this->mpdf->_obj_stack[$filename])) { + + $nObj = $this->mpdf->current_parser->resolveObject($this->mpdf->_obj_stack[$filename][$n][1]); + $this->writer->object($this->mpdf->_obj_stack[$filename][$n][0]); + + if ($nObj[0] == pdf_parser::TYPE_STREAM) { + $this->mpdf->pdf_write_value($nObj); + } else { + $this->mpdf->pdf_write_value($nObj[1]); + } + + $this->writer->write('endobj'); + + $this->mpdf->_obj_stack[$filename][$n] = null; // free memory + + unset($this->mpdf->_obj_stack[$filename][$n]); + + reset($this->mpdf->_obj_stack[$filename]); + } + } + } + } + } + +} diff --git a/pandora_console/vendor/mpdf/mpdf/src/Writer/OptionalContentWriter.php b/pandora_console/vendor/mpdf/mpdf/src/Writer/OptionalContentWriter.php new file mode 100644 index 0000000000..499a77fd73 --- /dev/null +++ b/pandora_console/vendor/mpdf/mpdf/src/Writer/OptionalContentWriter.php @@ -0,0 +1,71 @@ +mpdf = $mpdf; + $this->writer = $writer; + } + + public function writeOptionalContentGroups() // _putocg Optional Content Groups + { + if ($this->mpdf->hasOC) { + + $this->writer->object(); + $this->mpdf->n_ocg_print = $this->mpdf->n; + $this->writer->write('<writer->string('Print only')); + $this->writer->write('/Usage <> /View <>>>>>'); + $this->writer->write('endobj'); + + $this->writer->object(); + $this->mpdf->n_ocg_view = $this->mpdf->n; + $this->writer->write('<writer->string('Screen only')); + $this->writer->write('/Usage <> /View <>>>>>'); + $this->writer->write('endobj'); + + $this->writer->object(); + $this->mpdf->n_ocg_hidden = $this->mpdf->n; + $this->writer->write('<writer->string('Hidden')); + $this->writer->write('/Usage <> /View <>>>>>'); + $this->writer->write('endobj'); + } + + if (count($this->mpdf->layers)) { + + ksort($this->mpdf->layers); + foreach ($this->mpdf->layers as $id => $layer) { + $this->writer->object(); + $this->mpdf->layers[$id]['n'] = $this->mpdf->n; + + if (isset($this->mpdf->layerDetails[$id]['name']) && $this->mpdf->layerDetails[$id]['name']) { + $name = $this->mpdf->layerDetails[$id]['name']; + } else { + $name = $layer['name']; + } + + $this->writer->write('<writer->utf16BigEndianTextString($name) . '>>'); + $this->writer->write('endobj'); + } + } + } + +} diff --git a/pandora_console/vendor/mpdf/mpdf/src/Writer/PageWriter.php b/pandora_console/vendor/mpdf/mpdf/src/Writer/PageWriter.php new file mode 100644 index 0000000000..7e4e21d47c --- /dev/null +++ b/pandora_console/vendor/mpdf/mpdf/src/Writer/PageWriter.php @@ -0,0 +1,285 @@ +mpdf = $mpdf; + $this->form = $form; + $this->writer = $writer; + $this->metadataWriter = $metadataWriter; + } + + public function writePages() // _putpages + { + $nb = $this->mpdf->page; + $filter = $this->mpdf->compress ? '/Filter /FlateDecode ' : ''; + + if ($this->mpdf->DefOrientation === 'P') { + $defwPt = $this->mpdf->fwPt; + $defhPt = $this->mpdf->fhPt; + } else { + $defwPt = $this->mpdf->fhPt; + $defhPt = $this->mpdf->fwPt; + } + + $annotid = (3 + 2 * $nb); + + // Active Forms + $totaladdnum = 0; + for ($n = 1; $n <= $nb; $n++) { + if (isset($this->mpdf->PageLinks[$n])) { + $totaladdnum += count($this->mpdf->PageLinks[$n]); + } + + /* -- ANNOTATIONS -- */ + if (isset($this->mpdf->PageAnnots[$n])) { + foreach ($this->mpdf->PageAnnots[$n] as $k => $pl) { + if (!empty($pl['opt']['popup']) || !empty($pl['opt']['file'])) { + $totaladdnum += 2; + } else { + $totaladdnum++; + } + } + } + /* -- END ANNOTATIONS -- */ + + /* -- FORMS -- */ + if (count($this->form->forms) > 0) { + $this->form->countPageForms($n, $totaladdnum); + } + /* -- END FORMS -- */ + } + + /* -- FORMS -- */ + // Make a note in the radio button group of the obj_id it will have + $ctr = 0; + if (count($this->form->form_radio_groups)) { + foreach ($this->form->form_radio_groups as $name => $frg) { + $this->form->form_radio_groups[$name]['obj_id'] = $annotid + $totaladdnum + $ctr; + $ctr++; + } + } + /* -- END FORMS -- */ + + // Select unused fonts (usually default font) + $unused = []; + foreach ($this->mpdf->fonts as $fk => $font) { + if (isset($font['type']) && $font['type'] === 'TTF' && !$font['used']) { + $unused[] = $fk; + } + } + + for ($n = 1; $n <= $nb; $n++) { + + $thispage = $this->mpdf->pages[$n]; + + if (isset($this->mpdf->OrientationChanges[$n])) { + $hPt = $this->mpdf->pageDim[$n]['w'] * Mpdf::SCALE; + $wPt = $this->mpdf->pageDim[$n]['h'] * Mpdf::SCALE; + $owidthPt_LR = $this->mpdf->pageDim[$n]['outer_width_TB'] * Mpdf::SCALE; + $owidthPt_TB = $this->mpdf->pageDim[$n]['outer_width_LR'] * Mpdf::SCALE; + } else { + $wPt = $this->mpdf->pageDim[$n]['w'] * Mpdf::SCALE; + $hPt = $this->mpdf->pageDim[$n]['h'] * Mpdf::SCALE; + $owidthPt_LR = $this->mpdf->pageDim[$n]['outer_width_LR'] * Mpdf::SCALE; + $owidthPt_TB = $this->mpdf->pageDim[$n]['outer_width_TB'] * Mpdf::SCALE; + } + + // Remove references to unused fonts (usually default font) + foreach ($unused as $fk) { + if ($this->mpdf->fonts[$fk]['sip'] || $this->mpdf->fonts[$fk]['smp']) { + foreach ($this->mpdf->fonts[$fk]['subsetfontids'] as $k => $fid) { + $thispage = preg_replace('/\s\/F' . $fid . ' \d[\d.]* Tf\s/is', ' ', $thispage); + } + } else { + $thispage = preg_replace('/\s\/F' . $this->mpdf->fonts[$fk]['i'] . ' \d[\d.]* Tf\s/is', ' ', $thispage); + } + } + + // Clean up repeated /GS1 gs statements + // For some reason using + for repetition instead of {2,20} crashes PHP Script Interpreter ??? + $thispage = preg_replace('/(\/GS1 gs\n){2,20}/', "/GS1 gs\n", $thispage); + + $thispage = preg_replace('/(\s*___BACKGROUND___PATTERNS' . $this->mpdf->uniqstr . '\s*)/', ' ', $thispage); + $thispage = preg_replace('/(\s*___HEADER___MARKER' . $this->mpdf->uniqstr . '\s*)/', ' ', $thispage); + $thispage = preg_replace('/(\s*___PAGE___START' . $this->mpdf->uniqstr . '\s*)/', ' ', $thispage); + $thispage = preg_replace('/(\s*___TABLE___BACKGROUNDS' . $this->mpdf->uniqstr . '\s*)/', ' ', $thispage); + + // mPDF 5.7.3 TRANSFORMS + while (preg_match('/(\% BTR(.*?)\% ETR)/is', $thispage, $m)) { + $thispage = preg_replace('/(\% BTR.*?\% ETR)/is', '', $thispage, 1) . "\n" . $m[2]; + } + + // Page + $this->writer->object(); + $this->writer->write('<writer->write('/Parent 1 0 R'); + + if (isset($this->mpdf->OrientationChanges[$n])) { + + $this->writer->write(sprintf('/MediaBox [0 0 %.3F %.3F]', $hPt, $wPt)); + + // If BleedBox is defined, it must be larger than the TrimBox, but smaller than the MediaBox + $bleedMargin = $this->mpdf->pageDim[$n]['bleedMargin'] * Mpdf::SCALE; + + if ($bleedMargin && ($owidthPt_TB || $owidthPt_LR)) { + $x0 = $owidthPt_TB - $bleedMargin; + $y0 = $owidthPt_LR - $bleedMargin; + $x1 = $hPt - $owidthPt_TB + $bleedMargin; + $y1 = $wPt - $owidthPt_LR + $bleedMargin; + $this->writer->write(sprintf('/BleedBox [%.3F %.3F %.3F %.3F]', $x0, $y0, $x1, $y1)); + } + + $this->writer->write(sprintf('/TrimBox [%.3F %.3F %.3F %.3F]', $owidthPt_TB, $owidthPt_LR, $hPt - $owidthPt_TB, $wPt - $owidthPt_LR)); + + if ($this->mpdf->displayDefaultOrientation) { + if ($this->mpdf->DefOrientation === 'P') { + $this->writer->write('/Rotate 270'); + } else { + $this->writer->write('/Rotate 90'); + } + } + + } else { // elseif($wPt != $defwPt || $hPt != $defhPt) { + + $this->writer->write(sprintf('/MediaBox [0 0 %.3F %.3F]', $wPt, $hPt)); + $bleedMargin = $this->mpdf->pageDim[$n]['bleedMargin'] * Mpdf::SCALE; + + if ($bleedMargin && ($owidthPt_TB || $owidthPt_LR)) { + $x0 = $owidthPt_LR - $bleedMargin; + $y0 = $owidthPt_TB - $bleedMargin; + $x1 = $wPt - $owidthPt_LR + $bleedMargin; + $y1 = $hPt - $owidthPt_TB + $bleedMargin; + $this->writer->write(sprintf('/BleedBox [%.3F %.3F %.3F %.3F]', $x0, $y0, $x1, $y1)); + } + + $this->writer->write(sprintf('/TrimBox [%.3F %.3F %.3F %.3F]', $owidthPt_LR, $owidthPt_TB, $wPt - $owidthPt_LR, $hPt - $owidthPt_TB)); + } + $this->writer->write('/Resources 2 0 R'); + + // Important to keep in RGB colorSpace when using transparency + if (!$this->mpdf->PDFA && !$this->mpdf->PDFX) { + if ($this->mpdf->restrictColorSpace === 3) { + $this->writer->write('/Group << /Type /Group /S /Transparency /CS /DeviceCMYK >> '); + } elseif ($this->mpdf->restrictColorSpace === 1) { + $this->writer->write('/Group << /Type /Group /S /Transparency /CS /DeviceGray >> '); + } else { + $this->writer->write('/Group << /Type /Group /S /Transparency /CS /DeviceRGB >> '); + } + } + + $annotsnum = 0; + $embeddedfiles = []; // mPDF 5.7.2 /EmbeddedFiles + + if (isset($this->mpdf->PageLinks[$n])) { + $annotsnum += count($this->mpdf->PageLinks[$n]); + } + + if (isset($this->mpdf->PageAnnots[$n])) { + foreach ($this->mpdf->PageAnnots[$n] as $k => $pl) { + if (!empty($pl['opt']['file'])) { + $embeddedfiles[$annotsnum + 1] = true; + } // mPDF 5.7.2 /EmbeddedFiles + if (!empty($pl['opt']['popup']) || !empty($pl['opt']['file'])) { + $annotsnum += 2; + } else { + $annotsnum++; + } + $this->mpdf->PageAnnots[$n][$k]['pageobj'] = $this->mpdf->n; + } + } + + // Active Forms + $formsnum = 0; + if (count($this->form->forms) > 0) { + foreach ($this->form->forms as $val) { + if ($val['page'] == $n) { + $formsnum++; + } + } + } + + if ($annotsnum || $formsnum) { + + $s = '/Annots [ '; + + for ($i = 0; $i < $annotsnum; $i++) { + if (!isset($embeddedfiles[$i])) { + $s .= ($annotid + $i) . ' 0 R '; + } // mPDF 5.7.2 /EmbeddedFiles + } + + $annotid += $annotsnum; + + /* -- FORMS -- */ + if (count($this->form->forms) > 0) { + $this->form->addFormIds($n, $s, $annotid); + } + /* -- END FORMS -- */ + + $s .= '] '; + $this->writer->write($s); + } + + $this->writer->write('/Contents ' . ($this->mpdf->n + 1) . ' 0 R>>'); + $this->writer->write('endobj'); + + // Page content + $this->writer->object(); + $p = $this->mpdf->compress ? gzcompress($thispage) : $thispage; + $this->writer->write('<<' . $filter . '/Length ' . strlen($p) . '>>'); + $this->writer->stream($p); + $this->writer->write('endobj'); + } + + $this->metadataWriter->writeAnnotations(); // mPDF 5.7.2 + + // Pages root + $this->mpdf->offsets[1] = strlen($this->mpdf->buffer); + $this->writer->write('1 0 obj'); + $this->writer->write('<writer->write($kids . ']'); + $this->writer->write('/Count ' . $nb); + $this->writer->write(sprintf('/MediaBox [0 0 %.3F %.3F]', $defwPt, $defhPt)); + $this->writer->write('>>'); + $this->writer->write('endobj'); + } + +} diff --git a/pandora_console/vendor/mpdf/mpdf/src/Writer/ResourceWriter.php b/pandora_console/vendor/mpdf/mpdf/src/Writer/ResourceWriter.php new file mode 100644 index 0000000000..996b882346 --- /dev/null +++ b/pandora_console/vendor/mpdf/mpdf/src/Writer/ResourceWriter.php @@ -0,0 +1,256 @@ +mpdf = $mpdf; + $this->writer = $writer; + $this->colorWriter = $colorWriter; + $this->fontWriter = $fontWriter; + $this->imageWriter = $imageWriter; + $this->formWriter = $formWriter; + $this->optionalContentWriter = $optionalContentWriter; + $this->backgroundWriter = $backgroundWriter; + $this->bookmarkWriter = $bookmarkWriter; + $this->metadataWriter = $metadataWriter; + $this->javaScriptWriter = $javaScriptWriter; + $this->logger = $logger; + } + + public function writeResources() // _putresources + { + if ($this->mpdf->hasOC || count($this->mpdf->layers)) { + $this->optionalContentWriter->writeOptionalContentGroups(); + } + + $this->mpdf->_putextgstates(); + $this->colorWriter->writeSpotColors(); + + // @log Compiling Fonts + + $this->fontWriter->writeFonts(); + + // @log Compiling Images + + $this->imageWriter->writeImages(); + + $this->formWriter->writeFormObjects(); + + $this->mpdf->writeImportedPagesAndResolvedObjects(); + + $this->backgroundWriter->writeShaders(); + $this->backgroundWriter->writePatterns(); + + // Resource dictionary + $this->mpdf->offsets[2] = strlen($this->mpdf->buffer); + $this->writer->write('2 0 obj'); + $this->writer->write('<writer->write('/Font <<'); + foreach ($this->mpdf->fonts as $font) { + if (isset($font['type']) && $font['type'] === 'TTF' && !$font['used']) { + continue; + } + if (isset($font['type']) && $font['type'] === 'TTF' && ($font['sip'] || $font['smp'])) { + foreach ($font['n'] as $k => $fid) { + $this->writer->write('/F' . $font['subsetfontids'][$k] . ' ' . $font['n'][$k] . ' 0 R'); + } + } else { + $this->writer->write('/F' . $font['i'] . ' ' . $font['n'] . ' 0 R'); + } + } + $this->writer->write('>>'); + + if (count($this->mpdf->spotColors)) { + $this->writer->write('/ColorSpace <<'); + foreach ($this->mpdf->spotColors as $color) { + $this->writer->write('/CS' . $color['i'] . ' ' . $color['n'] . ' 0 R'); + } + $this->writer->write('>>'); + } + + if (count($this->mpdf->extgstates)) { + $this->writer->write('/ExtGState <<'); + foreach ($this->mpdf->extgstates as $k => $extgstate) { + if (isset($extgstate['trans'])) { + $this->writer->write('/' . $extgstate['trans'] . ' ' . $extgstate['n'] . ' 0 R'); + } else { + $this->writer->write('/GS' . $k . ' ' . $extgstate['n'] . ' 0 R'); + } + } + $this->writer->write('>>'); + } + + /* -- BACKGROUNDS -- */ + if (($this->mpdf->gradients !== null && (count($this->mpdf->gradients) > 0))) { // mPDF 5.7.3 + + $this->writer->write('/Shading <<'); + + foreach ($this->mpdf->gradients as $id => $grad) { + $this->writer->write('/Sh' . $id . ' ' . $grad['id'] . ' 0 R'); + } + + $this->writer->write('>>'); + + /* + // ??? Not needed !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + $this->writer->write('/Pattern <<'); + foreach ($this->mpdf->gradients as $id => $grad) { + $this->writer->write('/P'.$id.' '.$grad['pattern'].' 0 R'); + } + $this->writer->write('>>'); + */ + } + /* -- END BACKGROUNDS -- */ + + if (count($this->mpdf->images) || count($this->mpdf->formobjects) || count($this->mpdf->getImportedPages())) { + $this->writer->write('/XObject <<'); + foreach ($this->mpdf->images as $image) { + $this->writer->write('/I' . $image['i'] . ' ' . $image['n'] . ' 0 R'); + } + foreach ($this->mpdf->formobjects as $formobject) { + $this->writer->write('/FO' . $formobject['i'] . ' ' . $formobject['n'] . ' 0 R'); + } + /* -- IMPORTS -- */ + foreach ($this->mpdf->getImportedPages() as $pageData) { + $this->writer->write('/' . $pageData['id'] . ' ' . $pageData['objectNumber'] . ' 0 R'); + } + /* -- END IMPORTS -- */ + $this->writer->write('>>'); + } + + /* -- BACKGROUNDS -- */ + + if (count($this->mpdf->patterns)) { + $this->writer->write('/Pattern <<'); + foreach ($this->mpdf->patterns as $k => $patterns) { + $this->writer->write('/P' . $k . ' ' . $patterns['n'] . ' 0 R'); + } + $this->writer->write('>>'); + } + /* -- END BACKGROUNDS -- */ + + if ($this->mpdf->hasOC || count($this->mpdf->layers)) { + $this->writer->write('/Properties <<'); + if ($this->mpdf->hasOC) { + $this->writer->write('/OC1 ' . $this->mpdf->n_ocg_print . ' 0 R /OC2 ' . $this->mpdf->n_ocg_view . ' 0 R /OC3 ' . $this->mpdf->n_ocg_hidden . ' 0 R '); + } + if (count($this->mpdf->layers)) { + foreach ($this->mpdf->layers as $id => $layer) { + $this->writer->write('/ZI' . $id . ' ' . $layer['n'] . ' 0 R'); + } + } + $this->writer->write('>>'); + } + + $this->writer->write('>>'); + $this->writer->write('endobj'); // end resource dictionary + + $this->bookmarkWriter->writeBookmarks(); + + if (!empty($this->mpdf->js)) { + $this->javaScriptWriter->writeJavascript(); + } + + if ($this->mpdf->encrypted) { + $this->writer->object(); + $this->mpdf->enc_obj_id = $this->mpdf->n; + $this->writer->write('<<'); + $this->metadataWriter->writeEncryption(); + $this->writer->write('>>'); + $this->writer->write('endobj'); + } + } + + /** + * @param \Psr\Log\LoggerInterface $logger + * + * @return void + */ + public function setLogger(LoggerInterface $logger) + { + $this->logger = $logger; + } +} diff --git a/pandora_console/vendor/myclabs/deep-copy/.gitattributes b/pandora_console/vendor/myclabs/deep-copy/.gitattributes deleted file mode 100755 index 8018068b45..0000000000 --- a/pandora_console/vendor/myclabs/deep-copy/.gitattributes +++ /dev/null @@ -1,7 +0,0 @@ -# Auto detect text files and perform LF normalization -* text=auto - -*.png binary - -tests/ export-ignore -phpunit.xml.dist export-ignore diff --git a/pandora_console/vendor/myclabs/deep-copy/.github/FUNDING.yml b/pandora_console/vendor/myclabs/deep-copy/.github/FUNDING.yml new file mode 100644 index 0000000000..b8da664ddc --- /dev/null +++ b/pandora_console/vendor/myclabs/deep-copy/.github/FUNDING.yml @@ -0,0 +1,12 @@ +# These are supported funding model platforms + +github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2] +patreon: # Replace with a single Patreon username +open_collective: # Replace with a single Open Collective username +ko_fi: # Replace with a single Ko-fi username +tidelift: "packagist/myclabs/deep-copy" +community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry +liberapay: # Replace with a single Liberapay username +issuehunt: # Replace with a single IssueHunt username +otechie: # Replace with a single Otechie username +custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2'] diff --git a/pandora_console/vendor/myclabs/deep-copy/.gitignore b/pandora_console/vendor/myclabs/deep-copy/.gitignore deleted file mode 100755 index eef72f7540..0000000000 --- a/pandora_console/vendor/myclabs/deep-copy/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -/composer.phar -/composer.lock -/vendor/* diff --git a/pandora_console/vendor/myclabs/deep-copy/.travis.yml b/pandora_console/vendor/myclabs/deep-copy/.travis.yml deleted file mode 100755 index 89dc02af61..0000000000 --- a/pandora_console/vendor/myclabs/deep-copy/.travis.yml +++ /dev/null @@ -1,40 +0,0 @@ -language: php - -sudo: false - -php: - - '5.6' - - '7.0' - - '7.1' - - nightly - -matrix: - fast_finish: true - include: - - php: '5.6' - env: COMPOSER_FLAGS="--prefer-lowest" - allow_failures: - - php: nightly - -cache: - directories: - - $HOME/.composer/cache/files - -before_install: - - | - if [ "$TRAVIS_PHP_VERSION" = "nightly" ]; then - COMPOSER_FLAGS="$COMPOSER_FLAGS --ignore-platform-reqs" - fi; - -install: - - composer update --no-interaction --no-progress --no-suggest --prefer-dist $COMPOSER_FLAGS - - wget https://github.com/satooshi/php-coveralls/releases/download/v1.0.0/coveralls.phar - -before_script: - - mkdir -p build/logs - -script: - - vendor/bin/phpunit --coverage-clover build/logs/clover.xml - -after_script: - - php coveralls.phar -v diff --git a/pandora_console/vendor/myclabs/deep-copy/README.md b/pandora_console/vendor/myclabs/deep-copy/README.md index 7f010df2ab..007ad5bb8f 100644 --- a/pandora_console/vendor/myclabs/deep-copy/README.md +++ b/pandora_console/vendor/myclabs/deep-copy/README.md @@ -2,12 +2,11 @@ DeepCopy helps you create deep copies (clones) of your objects. It is designed to handle cycles in the association graph. -[![Build Status](https://travis-ci.org/myclabs/DeepCopy.png?branch=master)](https://travis-ci.org/myclabs/DeepCopy) -[![Coverage Status](https://coveralls.io/repos/myclabs/DeepCopy/badge.png?branch=master)](https://coveralls.io/r/myclabs/DeepCopy?branch=master) +[![Build Status](https://travis-ci.org/myclabs/DeepCopy.png?branch=1.x)](https://travis-ci.org/myclabs/DeepCopy) +[![Coverage Status](https://coveralls.io/repos/myclabs/DeepCopy/badge.png?branch=1.x)](https://coveralls.io/r/myclabs/DeepCopy?branch=1.x) [![Scrutinizer Quality Score](https://scrutinizer-ci.com/g/myclabs/DeepCopy/badges/quality-score.png?s=2747100c19b275f93a777e3297c6c12d1b68b934)](https://scrutinizer-ci.com/g/myclabs/DeepCopy/) [![Total Downloads](https://poser.pugx.org/myclabs/deep-copy/downloads.svg)](https://packagist.org/packages/myclabs/deep-copy) - ## Table of Contents 1. [How](#how) @@ -28,7 +27,7 @@ DeepCopy helps you create deep copies (clones) of your objects. It is designed t 1. [`DoctrineEmptyCollectionFilter`](#doctrineemptycollectionfilter-filter) 1. [`DoctrineProxyFilter`](#doctrineproxyfilter-filter) 1. [`ReplaceFilter`](#replacefilter-type-filter) - 1. [`ShallowCopyFilter`](#doctrinecollectionfilter-type-filter) + 1. [`ShallowCopyFilter`](#shallowcopyfilter-type-filter) 1. [Edge cases](#edge-cases) 1. [Contributing](#contributing) 1. [Tests](#tests) @@ -370,3 +369,7 @@ Running the tests is simple: ```php vendor/bin/phpunit ``` + +### Support + +Get professional support via [the Tidelift Subscription](https://tidelift.com/subscription/pkg/packagist-myclabs-deep-copy?utm_source=packagist-myclabs-deep-copy&utm_medium=referral&utm_campaign=readme). diff --git a/pandora_console/vendor/myclabs/deep-copy/composer.json b/pandora_console/vendor/myclabs/deep-copy/composer.json index d5d3a77985..45656c916d 100644 --- a/pandora_console/vendor/myclabs/deep-copy/composer.json +++ b/pandora_console/vendor/myclabs/deep-copy/composer.json @@ -21,12 +21,15 @@ }, "require": { - "php": "^5.6 || ^7.0" + "php": "^7.1 || ^8.0" }, "require-dev": { "doctrine/collections": "^1.0", "doctrine/common": "^2.6", - "phpunit/phpunit": "^4.1" + "phpunit/phpunit": "^7.1" + }, + "replace": { + "myclabs/deep-copy": "self.version" }, "config": { diff --git a/pandora_console/vendor/myclabs/deep-copy/doc/clone.png b/pandora_console/vendor/myclabs/deep-copy/doc/clone.png deleted file mode 100644 index 376afd491257d44a8c3772b0b7b0bd7b6c747086..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12380 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�+9eLb17NhZax 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 diff --git a/pandora_console/vendor/myclabs/deep-copy/doc/graph.png b/pandora_console/vendor/myclabs/deep-copy/doc/graph.png deleted file mode 100644 index 4d5c9428f719bf6ad68f25a46d6e935c2362c4a5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6436 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 diff --git a/pandora_console/vendor/myclabs/deep-copy/fixtures/f001/A.php b/pandora_console/vendor/myclabs/deep-copy/fixtures/f001/A.php deleted file mode 100644 index 648d5dfff4..0000000000 --- a/pandora_console/vendor/myclabs/deep-copy/fixtures/f001/A.php +++ /dev/null @@ -1,20 +0,0 @@ -aProp; - } - - public function setAProp($prop) - { - $this->aProp = $prop; - - return $this; - } -} diff --git a/pandora_console/vendor/myclabs/deep-copy/fixtures/f001/B.php b/pandora_console/vendor/myclabs/deep-copy/fixtures/f001/B.php deleted file mode 100644 index 462bb44e80..0000000000 --- a/pandora_console/vendor/myclabs/deep-copy/fixtures/f001/B.php +++ /dev/null @@ -1,20 +0,0 @@ -bProp; - } - - public function setBProp($prop) - { - $this->bProp = $prop; - - return $this; - } -} diff --git a/pandora_console/vendor/myclabs/deep-copy/fixtures/f002/A.php b/pandora_console/vendor/myclabs/deep-copy/fixtures/f002/A.php deleted file mode 100644 index d9aa5c35b5..0000000000 --- a/pandora_console/vendor/myclabs/deep-copy/fixtures/f002/A.php +++ /dev/null @@ -1,33 +0,0 @@ -prop1; - } - - public function setProp1($prop) - { - $this->prop1 = $prop; - - return $this; - } - - public function getProp2() - { - return $this->prop2; - } - - public function setProp2($prop) - { - $this->prop2 = $prop; - - return $this; - } -} diff --git a/pandora_console/vendor/myclabs/deep-copy/fixtures/f003/Foo.php b/pandora_console/vendor/myclabs/deep-copy/fixtures/f003/Foo.php deleted file mode 100644 index 9cd76224a1..0000000000 --- a/pandora_console/vendor/myclabs/deep-copy/fixtures/f003/Foo.php +++ /dev/null @@ -1,26 +0,0 @@ -name = $name; - } - - public function getProp() - { - return $this->prop; - } - - public function setProp($prop) - { - $this->prop = $prop; - - return $this; - } -} \ No newline at end of file diff --git a/pandora_console/vendor/myclabs/deep-copy/fixtures/f004/UnclonableItem.php b/pandora_console/vendor/myclabs/deep-copy/fixtures/f004/UnclonableItem.php deleted file mode 100644 index 82c6c67cdd..0000000000 --- a/pandora_console/vendor/myclabs/deep-copy/fixtures/f004/UnclonableItem.php +++ /dev/null @@ -1,13 +0,0 @@ -cloned = true; - } -} diff --git a/pandora_console/vendor/myclabs/deep-copy/fixtures/f006/A.php b/pandora_console/vendor/myclabs/deep-copy/fixtures/f006/A.php deleted file mode 100644 index d9efb11667..0000000000 --- a/pandora_console/vendor/myclabs/deep-copy/fixtures/f006/A.php +++ /dev/null @@ -1,26 +0,0 @@ -aProp; - } - - public function setAProp($prop) - { - $this->aProp = $prop; - - return $this; - } - - public function __clone() - { - $this->cloned = true; - } -} diff --git a/pandora_console/vendor/myclabs/deep-copy/fixtures/f006/B.php b/pandora_console/vendor/myclabs/deep-copy/fixtures/f006/B.php deleted file mode 100644 index 1f80b3d44f..0000000000 --- a/pandora_console/vendor/myclabs/deep-copy/fixtures/f006/B.php +++ /dev/null @@ -1,26 +0,0 @@ -bProp; - } - - public function setBProp($prop) - { - $this->bProp = $prop; - - return $this; - } - - public function __clone() - { - $this->cloned = true; - } -} diff --git a/pandora_console/vendor/myclabs/deep-copy/fixtures/f007/FooDateInterval.php b/pandora_console/vendor/myclabs/deep-copy/fixtures/f007/FooDateInterval.php deleted file mode 100644 index e16bc6aa67..0000000000 --- a/pandora_console/vendor/myclabs/deep-copy/fixtures/f007/FooDateInterval.php +++ /dev/null @@ -1,15 +0,0 @@ -cloned = true; - } -} diff --git a/pandora_console/vendor/myclabs/deep-copy/fixtures/f007/FooDateTimeZone.php b/pandora_console/vendor/myclabs/deep-copy/fixtures/f007/FooDateTimeZone.php deleted file mode 100644 index 6f4e61fe96..0000000000 --- a/pandora_console/vendor/myclabs/deep-copy/fixtures/f007/FooDateTimeZone.php +++ /dev/null @@ -1,15 +0,0 @@ -cloned = true; - } -} diff --git a/pandora_console/vendor/myclabs/deep-copy/fixtures/f008/A.php b/pandora_console/vendor/myclabs/deep-copy/fixtures/f008/A.php deleted file mode 100644 index 88471d013c..0000000000 --- a/pandora_console/vendor/myclabs/deep-copy/fixtures/f008/A.php +++ /dev/null @@ -1,18 +0,0 @@ -foo = $foo; - } - - public function getFoo() - { - return $this->foo; - } -} diff --git a/pandora_console/vendor/myclabs/deep-copy/fixtures/f008/B.php b/pandora_console/vendor/myclabs/deep-copy/fixtures/f008/B.php deleted file mode 100644 index 6053092d75..0000000000 --- a/pandora_console/vendor/myclabs/deep-copy/fixtures/f008/B.php +++ /dev/null @@ -1,7 +0,0 @@ -useCloneMethod = $useCloneMethod; + $this->addTypeFilter(new ArrayObjectFilter($this), new TypeMatcher(ArrayObject::class)); $this->addTypeFilter(new DateIntervalFilter(), new TypeMatcher(DateInterval::class)); $this->addTypeFilter(new SplDoublyLinkedListFilter($this), new TypeMatcher(SplDoublyLinkedList::class)); } @@ -99,6 +102,14 @@ class DeepCopy ]; } + public function prependFilter(Filter $filter, Matcher $matcher) + { + array_unshift($this->filters, [ + 'matcher' => $matcher, + 'filter' => $filter, + ]); + } + public function addTypeFilter(TypeFilter $filter, TypeMatcher $matcher) { $this->typeFilters[] = [ @@ -229,6 +240,12 @@ class DeepCopy } $property->setAccessible(true); + + // Ignore uninitialized properties (for PHP >7.4) + if (method_exists($property, 'isInitialized') && !$property->isInitialized($object)) { + return; + } + $propertyValue = $property->getValue($object); // Copy the property diff --git a/pandora_console/vendor/myclabs/deep-copy/src/DeepCopy/Matcher/PropertyTypeMatcher.php b/pandora_console/vendor/myclabs/deep-copy/src/DeepCopy/Matcher/PropertyTypeMatcher.php index a6b0c0bc52..c7f46908c6 100644 --- a/pandora_console/vendor/myclabs/deep-copy/src/DeepCopy/Matcher/PropertyTypeMatcher.php +++ b/pandora_console/vendor/myclabs/deep-copy/src/DeepCopy/Matcher/PropertyTypeMatcher.php @@ -41,6 +41,12 @@ class PropertyTypeMatcher implements Matcher $reflectionProperty->setAccessible(true); + // Uninitialized properties (for PHP >7.4) + if (method_exists($reflectionProperty, 'isInitialized') && !$reflectionProperty->isInitialized($object)) { + // null instanceof $this->propertyType + return false; + } + return $reflectionProperty->getValue($object) instanceof $this->propertyType; } } diff --git a/pandora_console/vendor/myclabs/deep-copy/src/DeepCopy/TypeFilter/Spl/ArrayObjectFilter.php b/pandora_console/vendor/myclabs/deep-copy/src/DeepCopy/TypeFilter/Spl/ArrayObjectFilter.php new file mode 100644 index 0000000000..1784601791 --- /dev/null +++ b/pandora_console/vendor/myclabs/deep-copy/src/DeepCopy/TypeFilter/Spl/ArrayObjectFilter.php @@ -0,0 +1,36 @@ +copier = $copier; + } + + /** + * {@inheritdoc} + */ + public function apply($arrayObject) + { + $clone = clone $arrayObject; + foreach ($arrayObject->getArrayCopy() as $k => $v) { + $clone->offsetSet($k, $this->copier->copy($v)); + } + + return $clone; + } +} + diff --git a/pandora_console/vendor/myclabs/deep-copy/src/DeepCopy/deep_copy.php b/pandora_console/vendor/myclabs/deep-copy/src/DeepCopy/deep_copy.php index 272652ca59..55dcc92617 100644 --- a/pandora_console/vendor/myclabs/deep-copy/src/DeepCopy/deep_copy.php +++ b/pandora_console/vendor/myclabs/deep-copy/src/DeepCopy/deep_copy.php @@ -2,15 +2,19 @@ namespace DeepCopy; -/** - * Deep copies the given value. - * - * @param mixed $value - * @param bool $useCloneMethod - * - * @return mixed - */ -function deep_copy($value, $useCloneMethod = false) -{ - return (new DeepCopy($useCloneMethod))->copy($value); +use function function_exists; + +if (false === function_exists('DeepCopy\deep_copy')) { + /** + * Deep copies the given value. + * + * @param mixed $value + * @param bool $useCloneMethod + * + * @return mixed + */ + function deep_copy($value, $useCloneMethod = false) + { + return (new DeepCopy($useCloneMethod))->copy($value); + } } diff --git a/pandora_console/vendor/paragonie/random_compat/composer.json b/pandora_console/vendor/paragonie/random_compat/composer.json index 1fa8de9f1b..f2b9c4e510 100644 --- a/pandora_console/vendor/paragonie/random_compat/composer.json +++ b/pandora_console/vendor/paragonie/random_compat/composer.json @@ -22,7 +22,7 @@ "source": "https://github.com/paragonie/random_compat" }, "require": { - "php": "^7" + "php": ">= 7" }, "require-dev": { "vimeo/psalm": "^1", diff --git a/pandora_console/vendor/psr/log/.gitignore b/pandora_console/vendor/psr/log/.gitignore deleted file mode 100644 index 22d0d82f80..0000000000 --- a/pandora_console/vendor/psr/log/.gitignore +++ /dev/null @@ -1 +0,0 @@ -vendor diff --git a/pandora_console/vendor/psr/log/Psr/Log/AbstractLogger.php b/pandora_console/vendor/psr/log/Psr/Log/AbstractLogger.php deleted file mode 100644 index 90e721af2d..0000000000 --- a/pandora_console/vendor/psr/log/Psr/Log/AbstractLogger.php +++ /dev/null @@ -1,128 +0,0 @@ -log(LogLevel::EMERGENCY, $message, $context); - } - - /** - * Action must be taken immediately. - * - * Example: Entire website down, database unavailable, etc. This should - * trigger the SMS alerts and wake you up. - * - * @param string $message - * @param array $context - * - * @return void - */ - public function alert($message, array $context = array()) - { - $this->log(LogLevel::ALERT, $message, $context); - } - - /** - * Critical conditions. - * - * Example: Application component unavailable, unexpected exception. - * - * @param string $message - * @param array $context - * - * @return void - */ - public function critical($message, array $context = array()) - { - $this->log(LogLevel::CRITICAL, $message, $context); - } - - /** - * Runtime errors that do not require immediate action but should typically - * be logged and monitored. - * - * @param string $message - * @param array $context - * - * @return void - */ - public function error($message, array $context = array()) - { - $this->log(LogLevel::ERROR, $message, $context); - } - - /** - * Exceptional occurrences that are not errors. - * - * Example: Use of deprecated APIs, poor use of an API, undesirable things - * that are not necessarily wrong. - * - * @param string $message - * @param array $context - * - * @return void - */ - public function warning($message, array $context = array()) - { - $this->log(LogLevel::WARNING, $message, $context); - } - - /** - * Normal but significant events. - * - * @param string $message - * @param array $context - * - * @return void - */ - public function notice($message, array $context = array()) - { - $this->log(LogLevel::NOTICE, $message, $context); - } - - /** - * Interesting events. - * - * Example: User logs in, SQL logs. - * - * @param string $message - * @param array $context - * - * @return void - */ - public function info($message, array $context = array()) - { - $this->log(LogLevel::INFO, $message, $context); - } - - /** - * Detailed debug information. - * - * @param string $message - * @param array $context - * - * @return void - */ - public function debug($message, array $context = array()) - { - $this->log(LogLevel::DEBUG, $message, $context); - } -} diff --git a/pandora_console/vendor/psr/log/Psr/Log/Test/LoggerInterfaceTest.php b/pandora_console/vendor/psr/log/Psr/Log/Test/LoggerInterfaceTest.php deleted file mode 100644 index a0391a52b8..0000000000 --- a/pandora_console/vendor/psr/log/Psr/Log/Test/LoggerInterfaceTest.php +++ /dev/null @@ -1,140 +0,0 @@ - ". - * - * Example ->error('Foo') would yield "error Foo". - * - * @return string[] - */ - abstract public function getLogs(); - - public function testImplements() - { - $this->assertInstanceOf('Psr\Log\LoggerInterface', $this->getLogger()); - } - - /** - * @dataProvider provideLevelsAndMessages - */ - public function testLogsAtAllLevels($level, $message) - { - $logger = $this->getLogger(); - $logger->{$level}($message, array('user' => 'Bob')); - $logger->log($level, $message, array('user' => 'Bob')); - - $expected = array( - $level.' message of level '.$level.' with context: Bob', - $level.' message of level '.$level.' with context: Bob', - ); - $this->assertEquals($expected, $this->getLogs()); - } - - public function provideLevelsAndMessages() - { - return array( - LogLevel::EMERGENCY => array(LogLevel::EMERGENCY, 'message of level emergency with context: {user}'), - LogLevel::ALERT => array(LogLevel::ALERT, 'message of level alert with context: {user}'), - LogLevel::CRITICAL => array(LogLevel::CRITICAL, 'message of level critical with context: {user}'), - LogLevel::ERROR => array(LogLevel::ERROR, 'message of level error with context: {user}'), - LogLevel::WARNING => array(LogLevel::WARNING, 'message of level warning with context: {user}'), - LogLevel::NOTICE => array(LogLevel::NOTICE, 'message of level notice with context: {user}'), - LogLevel::INFO => array(LogLevel::INFO, 'message of level info with context: {user}'), - LogLevel::DEBUG => array(LogLevel::DEBUG, 'message of level debug with context: {user}'), - ); - } - - /** - * @expectedException \Psr\Log\InvalidArgumentException - */ - public function testThrowsOnInvalidLevel() - { - $logger = $this->getLogger(); - $logger->log('invalid level', 'Foo'); - } - - public function testContextReplacement() - { - $logger = $this->getLogger(); - $logger->info('{Message {nothing} {user} {foo.bar} a}', array('user' => 'Bob', 'foo.bar' => 'Bar')); - - $expected = array('info {Message {nothing} Bob Bar a}'); - $this->assertEquals($expected, $this->getLogs()); - } - - public function testObjectCastToString() - { - if (method_exists($this, 'createPartialMock')) { - $dummy = $this->createPartialMock('Psr\Log\Test\DummyTest', array('__toString')); - } else { - $dummy = $this->getMock('Psr\Log\Test\DummyTest', array('__toString')); - } - $dummy->expects($this->once()) - ->method('__toString') - ->will($this->returnValue('DUMMY')); - - $this->getLogger()->warning($dummy); - - $expected = array('warning DUMMY'); - $this->assertEquals($expected, $this->getLogs()); - } - - public function testContextCanContainAnything() - { - $context = array( - 'bool' => true, - 'null' => null, - 'string' => 'Foo', - 'int' => 0, - 'float' => 0.5, - 'nested' => array('with object' => new DummyTest), - 'object' => new \DateTime, - 'resource' => fopen('php://memory', 'r'), - ); - - $this->getLogger()->warning('Crazy context data', $context); - - $expected = array('warning Crazy context data'); - $this->assertEquals($expected, $this->getLogs()); - } - - public function testContextExceptionKeyCanBeExceptionOrOtherValues() - { - $logger = $this->getLogger(); - $logger->warning('Random message', array('exception' => 'oops')); - $logger->critical('Uncaught Exception!', array('exception' => new \LogicException('Fail'))); - - $expected = array( - 'warning Random message', - 'critical Uncaught Exception!' - ); - $this->assertEquals($expected, $this->getLogs()); - } -} - -class DummyTest -{ - public function __toString() - { - } -} diff --git a/pandora_console/vendor/psr/log/README.md b/pandora_console/vendor/psr/log/README.md index 574bc1cb2a..a9f20c437b 100644 --- a/pandora_console/vendor/psr/log/README.md +++ b/pandora_console/vendor/psr/log/README.md @@ -7,6 +7,13 @@ This repository holds all interfaces/classes/traits related to Note that this is not a logger of its own. It is merely an interface that describes a logger. See the specification for more details. +Installation +------------ + +```bash +composer require psr/log +``` + Usage ----- @@ -31,6 +38,12 @@ class Foo if ($this->logger) { $this->logger->info('Doing work'); } + + try { + $this->doSomethingElse(); + } catch (Exception $exception) { + $this->logger->error('Oh no!', array('exception' => $exception)); + } // do something useful } diff --git a/pandora_console/vendor/psr/log/composer.json b/pandora_console/vendor/psr/log/composer.json index 87934d707e..f3f066719d 100644 --- a/pandora_console/vendor/psr/log/composer.json +++ b/pandora_console/vendor/psr/log/composer.json @@ -7,20 +7,20 @@ "authors": [ { "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" + "homepage": "https://www.php-fig.org/" } ], "require": { - "php": ">=5.3.0" + "php": ">=8.0.0" }, "autoload": { "psr-4": { - "Psr\\Log\\": "Psr/Log/" + "Psr\\Log\\": "src" } }, "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-master": "2.0.x-dev" } } } diff --git a/pandora_console/vendor/psr/log/src/AbstractLogger.php b/pandora_console/vendor/psr/log/src/AbstractLogger.php new file mode 100644 index 0000000000..d60a091aff --- /dev/null +++ b/pandora_console/vendor/psr/log/src/AbstractLogger.php @@ -0,0 +1,15 @@ +log(LogLevel::EMERGENCY, $message, $context); } @@ -31,12 +31,12 @@ trait LoggerTrait * Example: Entire website down, database unavailable, etc. This should * trigger the SMS alerts and wake you up. * - * @param string $message + * @param string|\Stringable $message * @param array $context * * @return void */ - public function alert($message, array $context = array()) + public function alert(string|\Stringable $message, array $context = []) { $this->log(LogLevel::ALERT, $message, $context); } @@ -46,12 +46,12 @@ trait LoggerTrait * * Example: Application component unavailable, unexpected exception. * - * @param string $message + * @param string|\Stringable $message * @param array $context * * @return void */ - public function critical($message, array $context = array()) + public function critical(string|\Stringable $message, array $context = []) { $this->log(LogLevel::CRITICAL, $message, $context); } @@ -60,12 +60,12 @@ trait LoggerTrait * Runtime errors that do not require immediate action but should typically * be logged and monitored. * - * @param string $message + * @param string|\Stringable $message * @param array $context * * @return void */ - public function error($message, array $context = array()) + public function error(string|\Stringable $message, array $context = []) { $this->log(LogLevel::ERROR, $message, $context); } @@ -76,12 +76,12 @@ trait LoggerTrait * Example: Use of deprecated APIs, poor use of an API, undesirable things * that are not necessarily wrong. * - * @param string $message + * @param string|\Stringable $message * @param array $context * * @return void */ - public function warning($message, array $context = array()) + public function warning(string|\Stringable $message, array $context = []) { $this->log(LogLevel::WARNING, $message, $context); } @@ -89,12 +89,12 @@ trait LoggerTrait /** * Normal but significant events. * - * @param string $message + * @param string|\Stringable $message * @param array $context * * @return void */ - public function notice($message, array $context = array()) + public function notice(string|\Stringable $message, array $context = []) { $this->log(LogLevel::NOTICE, $message, $context); } @@ -104,12 +104,12 @@ trait LoggerTrait * * Example: User logs in, SQL logs. * - * @param string $message + * @param string|\Stringable $message * @param array $context * * @return void */ - public function info($message, array $context = array()) + public function info(string|\Stringable $message, array $context = []) { $this->log(LogLevel::INFO, $message, $context); } @@ -117,12 +117,12 @@ trait LoggerTrait /** * Detailed debug information. * - * @param string $message + * @param string|\Stringable $message * @param array $context * * @return void */ - public function debug($message, array $context = array()) + public function debug(string|\Stringable $message, array $context = []) { $this->log(LogLevel::DEBUG, $message, $context); } @@ -131,10 +131,12 @@ trait LoggerTrait * Logs with an arbitrary level. * * @param mixed $level - * @param string $message + * @param string|\Stringable $message * @param array $context * * @return void + * + * @throws \Psr\Log\InvalidArgumentException */ - abstract public function log($level, $message, array $context = array()); + abstract public function log($level, string|\Stringable $message, array $context = []); } diff --git a/pandora_console/vendor/psr/log/Psr/Log/NullLogger.php b/pandora_console/vendor/psr/log/src/NullLogger.php similarity index 71% rename from pandora_console/vendor/psr/log/Psr/Log/NullLogger.php rename to pandora_console/vendor/psr/log/src/NullLogger.php index d8cd682c8f..5607705715 100644 --- a/pandora_console/vendor/psr/log/Psr/Log/NullLogger.php +++ b/pandora_console/vendor/psr/log/src/NullLogger.php @@ -16,12 +16,14 @@ class NullLogger extends AbstractLogger * Logs with an arbitrary level. * * @param mixed $level - * @param string $message - * @param array $context + * @param string|\Stringable $message + * @param array $context * * @return void + * + * @throws \Psr\Log\InvalidArgumentException */ - public function log($level, $message, array $context = array()) + public function log($level, string|\Stringable $message, array $context = []) { // noop } diff --git a/pandora_console/vendor/setasign/fpdi/LICENSE b/pandora_console/vendor/setasign/fpdi/LICENSE.txt similarity index 93% rename from pandora_console/vendor/setasign/fpdi/LICENSE rename to pandora_console/vendor/setasign/fpdi/LICENSE.txt index 7e7585002f..45672fab85 100644 --- a/pandora_console/vendor/setasign/fpdi/LICENSE +++ b/pandora_console/vendor/setasign/fpdi/LICENSE.txt @@ -1,6 +1,6 @@ The MIT License (MIT) -Copyright (c) 2017 Setasign - Jan Slabon, https://www.setasign.com +Copyright (c) 2020 Setasign GmbH & Co. KG, https://www.setasign.com Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/pandora_console/vendor/setasign/fpdi/README.md b/pandora_console/vendor/setasign/fpdi/README.md index ef7c261f64..c503b7d655 100644 --- a/pandora_console/vendor/setasign/fpdi/README.md +++ b/pandora_console/vendor/setasign/fpdi/README.md @@ -1,87 +1,131 @@ FPDI - Free PDF Document Importer ================================= -[![Latest Stable Version](https://poser.pugx.org/setasign/fpdi/v/stable.svg)](https://packagist.org/packages/setasign/fpdi) [![Total Downloads](https://poser.pugx.org/setasign/fpdi/downloads.svg)](https://packagist.org/packages/setasign/fpdi) [![Latest Unstable Version](https://poser.pugx.org/setasign/fpdi/v/unstable.svg)](https://packagist.org/packages/setasign/fpdi) [![License](https://poser.pugx.org/setasign/fpdi/license.svg)](https://packagist.org/packages/setasign/fpdi) +[![Latest Stable Version](https://poser.pugx.org/setasign/fpdi/v/stable.svg)](https://packagist.org/packages/setasign/fpdi) +[![Total Downloads](https://poser.pugx.org/setasign/fpdi/downloads.svg)](https://packagist.org/packages/setasign/fpdi) +[![Latest Unstable Version](https://poser.pugx.org/setasign/fpdi/v/unstable.svg)](https://packagist.org/packages/setasign/fpdi) +[![License](https://poser.pugx.org/setasign/fpdi/license.svg)](https://packagist.org/packages/setasign/fpdi) -A clone of [FPDI](https://www.setasign.com/fpdi) for GitHub/[Composer](https://packagist.org/packages/setasign/fpdi). +:heavy_exclamation_mark: This document refers to FPDI 2. Version 1 is deprecated and development is discontinued. :heavy_exclamation_mark: -FPDI is a collection of PHP classes facilitating developers to read pages from existing PDF documents and use them as templates in FPDF, which was developed by Olivier Plathey. Apart from a copy of FPDF, FPDI does not require any special PHP extensions. +FPDI is a collection of PHP classes facilitating developers to read pages from existing PDF +documents and use them as templates in [FPDF](http://www.fpdf.org), which was developed by Olivier Plathey. Apart +from a copy of [FPDF](http://www.fpdf.org), FPDI does not require any special PHP extensions. + +FPDI can also be used as an extension for [TCPDF](https://github.com/tecnickcom/TCPDF) or +[tFPDF](http://fpdf.org/en/script/script92.php), too. ## Installation with [Composer](https://packagist.org/packages/setasign/fpdi) -FPDI is an add-on for [FPDF](http://fpdf.org/). Additionally FPDI can be used with [TCPDF](http://www.tcpdf.org/). -For completion we added a [FPDF repository](https://github.com/Setasign/FPDF) which simply clones the offical releases. - -This package comes without any dependency configuration in the composer.json file. It's up to you to load the desired package as described below. - -A basic installation via Composer could be done this way: - -```bash -$ composer require setasign/fpdi:1.6.2 -``` - -or you can include the following in your composer.json file: - -```json -{ - "require": { - "setasign/fpdi": "1.6.2" - } -} -``` - -### Evaluate Dependencies Automatically - -To load dependencies automatically we prepared kind of metadata packages. To use FPDI with FPDF use [this](https://github.com/Setasign/FPDI-FPDF) package: - -```json -{ - "require": { - "setasign/fpdi-fpdf": "1.6.2" - } -} -``` - -For TCPDF use [this](https://github.com/Setasign/FPDI-TCPDF): - -```json -{ - "require": { - "setasign/fpdi-tcpdf": "1.6.2" - } -} -``` - -### Manual Dependencies - -To support both FPDF and TCPDF its up to you to load the preferred package before the classes of FPDI are loaded. By default FPDI will extend FPDF. If the TCPDF class exists, a new FPDF class will be created which will extend TCPDF while FPDI will extend this. +Because FPDI can be used with FPDF, TCPDF or tFPDF we haven't added a fixed dependency in the main +composer.json file. You need to add the dependency to the PDF generation library of your choice +yourself. To use FPDI with FPDF include following in your composer.json file: ```json { "require": { - "setasign/fpdf": "1.8", - "setasign/fpdi": "1.6.2" + "setasign/fpdf": "1.8.*", + "setasign/fpdi": "^2.0" } } ``` -If you are using TCPDF, your have to update your composer.json respectively to: +If you want to use TCPDF, you have to update your composer.json to: ```json { "require": { - "tecnickcom/tcpdf": "6.2.13", - "setasign/fpdi": "1.6.2" + "tecnickcom/tcpdf": "6.3.*", + "setasign/fpdi": "^2.0" } } ``` -Additionally you have to trigger composers autoloader for the TCPDF class before you are initiating FPDI: +If you want to use tFPDF, you have to update your composer.json to: -```php -class_exists('TCPDF', true); // trigger Composers autoloader to load the TCPDF class -$pdf = new FPDI(); +```json +{ + "require": { + "setasign/tfpdf": "1.31.*", + "setasign/fpdi": "^2.3" + } +} ``` +## Manual Installation + +If you do not use composer, just require the autoload.php in the /src folder: + +```php +require_once('src/autoload.php'); +``` + +If you have a PSR-4 autoloader implemented, just register the src path as follows: +```php +$loader = new \Example\Psr4AutoloaderClass; +$loader->register(); +$loader->addNamespace('setasign\Fpdi', 'path/to/src/'); +``` + +## Changes to Version 1 + +Version 2 is a complete rewrite from scratch of FPDI which comes with: +- Namespaced code +- Clean and up-to-date code base and style +- PSR-4 compatible autoloading +- Performance improvements by up to 100% +- Less memory consumption +- Native support for reading PDFs from strings or stream-resources +- Support for documents with "invalid" data before their file-header +- Optimized page tree resolving +- Usage of individual exceptions +- Several test types (unit, functional and visual tests) + +We tried to keep the main methods and logical workflow the same as in version 1 but please +notice that there were incompatible changes which you should consider when updating to +version 2: +- You need to load the code using the `src/autoload.php` file instead of `classes/FPDI.php`. +- The classes and traits are namespaced now: `setasign\Fpdi` +- Page boundaries beginning with a slash, such as `/MediaBox`, are not supported anymore. Remove + the slash or use a constant of `PdfReader\PageBoundaries`. +- The parameters $x, $y, $width and $height of the `useTemplate()` or `getTemplateSize()` + method have more logical correct default values now. Passing `0` as width or height will + result in an `InvalidArgumentException` now. +- The return value of `getTemplateSize()` had changed to an array with more speaking keys + and reusability: Use `width` instead of `w` and `height` instead of `h`. +- If you want to use **FPDI with TCPDF** you need to refactor your code to use the class `Tcpdf\Fpdi` +(since 2.1; before it was `TcpdfFpdi`) instead of `FPDI`. + +## Example and Documentation + +A simple example, that imports a single page and places this onto a new created page: + +```php +AddPage(); +// set the source file +$pdf->setSourceFile("Fantastic-Speaker.pdf"); +// import page 1 +$tplId = $pdf->importPage(1); +// use the imported page and place it at point 10,10 with a width of 100 mm +$pdf->useTemplate($tplId, 10, 10, 100); + +$pdf->Output(); +``` + +A full end-user documentation and API reference is available [here](https://manuals.setasign.com/fpdi-manual/). diff --git a/pandora_console/vendor/setasign/fpdi/SECURITY.md b/pandora_console/vendor/setasign/fpdi/SECURITY.md new file mode 100644 index 0000000000..da9c516dd7 --- /dev/null +++ b/pandora_console/vendor/setasign/fpdi/SECURITY.md @@ -0,0 +1,5 @@ +## Security contact information + +To report a security vulnerability, please use the +[Tidelift security contact](https://tidelift.com/security). +Tidelift will coordinate the fix and disclosure. diff --git a/pandora_console/vendor/setasign/fpdi/composer.json b/pandora_console/vendor/setasign/fpdi/composer.json index e84f258101..da67012160 100644 --- a/pandora_console/vendor/setasign/fpdi/composer.json +++ b/pandora_console/vendor/setasign/fpdi/composer.json @@ -1,30 +1,51 @@ { - "name": "setasign/fpdi", - "version": "1.6.2", - "homepage": "https://www.setasign.com/fpdi", - "description": "FPDI is a collection of PHP classes facilitating developers to read pages from existing PDF documents and use them as templates in FPDF. Because it is also possible to use FPDI with TCPDF, there are no fixed dependencies defined. Please see suggestions for packages which evaluates the dependencies automatically.", - "type": "library", - "keywords": ["pdf", "fpdi", "fpdf"], - "license": "MIT", - "authors": [ - { - "name": "Jan Slabon", - "email": "jan.slabon@setasign.com", - "homepage": "https://www.setasign.com" + "name": "setasign/fpdi", + "homepage": "https://www.setasign.com/fpdi", + "description": "FPDI is a collection of PHP classes facilitating developers to read pages from existing PDF documents and use them as templates in FPDF. Because it is also possible to use FPDI with TCPDF, there are no fixed dependencies defined. Please see suggestions for packages which evaluates the dependencies automatically.", + "type": "library", + "keywords": [ + "pdf", + "fpdi", + "fpdf" + ], + "license": "MIT", + "autoload": { + "psr-4": { + "setasign\\Fpdi\\": "src/" + } + }, + "require": { + "php": "^5.6 || ^7.0 || ^8.0", + "ext-zlib": "*" + }, + "conflict": { + "setasign/tfpdf": "<1.31" + }, + "authors": [ + { + "name": "Jan Slabon", + "email": "jan.slabon@setasign.com", + "homepage": "https://www.setasign.com" + }, + { + "name": "Maximilian Kresse", + "email": "maximilian.kresse@setasign.com", + "homepage": "https://www.setasign.com" + } + ], + "suggest": { + "setasign/fpdf": "FPDI will extend this class but as it is also possible to use TCPDF or tFPDF as an alternative. There's no fixed dependency configured." + }, + "require-dev": { + "phpunit/phpunit": "~5.7", + "setasign/fpdf": "~1.8", + "tecnickcom/tcpdf": "~6.2", + "setasign/tfpdf": "1.31", + "squizlabs/php_codesniffer": "^3.5" + }, + "autoload-dev": { + "psr-4": { + "setasign\\Fpdi\\": "tests/" + } } - ], - "autoload": { - "classmap": [ - "filters/", - "fpdi.php", - "fpdf_tpl.php", - "fpdi_pdf_parser.php", - "pdf_context.php" - ] - }, - "suggest": { - "setasign/fpdf": "FPDI will extend this class but as it is also possible to use \"tecnickcom/tcpdf\" as an alternative there's no fixed dependency configured.", - "setasign/fpdi-fpdf": "Use this package to automatically evaluate dependencies to FPDF.", - "setasign/fpdi-tcpdf": "Use this package to automatically evaluate dependencies to TCPDF." - } } diff --git a/pandora_console/vendor/setasign/fpdi/filters/FilterASCII85.php b/pandora_console/vendor/setasign/fpdi/filters/FilterASCII85.php deleted file mode 100644 index dc100c4c70..0000000000 --- a/pandora_console/vendor/setasign/fpdi/filters/FilterASCII85.php +++ /dev/null @@ -1,106 +0,0 @@ - ord('~'), - 'z' => ord('z'), - 'u' => ord('u'), - '!' => ord('!') - ); - - $out = ''; - $state = 0; - $chn = null; - - $l = strlen($in); - - for ($k = 0; $k < $l; ++$k) { - $ch = ord($in[$k]) & 0xff; - - if ($ch == $ord['~']) { - break; - } - if (preg_match('/^\s$/',chr($ch))) { - continue; - } - if ($ch == $ord['z'] && $state == 0) { - $out .= chr(0) . chr(0) . chr(0) . chr(0); - continue; - } - if ($ch < $ord['!'] || $ch > $ord['u']) { - throw new Exception('Illegal character in ASCII85Decode.'); - } - - $chn[$state++] = $ch - $ord['!']; - - if ($state == 5) { - $state = 0; - $r = 0; - for ($j = 0; $j < 5; ++$j) { - $r = (int)($r * 85 + $chn[$j]); - } - - $out .= chr($r >> 24); - $out .= chr($r >> 16); - $out .= chr($r >> 8); - $out .= chr($r); - } - } - $r = 0; - - if ($state == 1) { - throw new Exception('Illegal length in ASCII85Decode.'); - } - - if ($state == 2) { - $r = $chn[0] * 85 * 85 * 85 * 85 + ($chn[1]+1) * 85 * 85 * 85; - $out .= chr($r >> 24); - - } else if ($state == 3) { - $r = $chn[0] * 85 * 85 * 85 * 85 + $chn[1] * 85 * 85 * 85 + ($chn[2]+1) * 85 * 85; - $out .= chr($r >> 24); - $out .= chr($r >> 16); - - } else if ($state == 4) { - $r = $chn[0] * 85 * 85 * 85 * 85 + $chn[1] * 85 * 85 * 85 + $chn[2] * 85 * 85 + ($chn[3]+1) * 85 ; - $out .= chr($r >> 24); - $out .= chr($r >> 16); - $out .= chr($r >> 8); - } - - return $out; - } - - /** - * NOT IMPLEMENTED - * - * @param string $in - * @return string - * @throws LogicException - */ - public function encode($in) - { - throw new LogicException("ASCII85 encoding not implemented."); - } -} \ No newline at end of file diff --git a/pandora_console/vendor/setasign/fpdi/filters/FilterASCIIHexDecode.php b/pandora_console/vendor/setasign/fpdi/filters/FilterASCIIHexDecode.php deleted file mode 100644 index 85912183de..0000000000 --- a/pandora_console/vendor/setasign/fpdi/filters/FilterASCIIHexDecode.php +++ /dev/null @@ -1,43 +0,0 @@ -')); - if ((strlen($data) % 2) == 1) { - $data .= '0'; - } - - return pack('H*', $data); - } - - /** - * Converts a string into ASCII hexadecimal representation. - * - * @param string $data The input string - * @param boolean $leaveEOD - * @return string - */ - public function encode($data, $leaveEOD = false) - { - return current(unpack('H*', $data)) . ($leaveEOD ? '' : '>'); - } -} \ No newline at end of file diff --git a/pandora_console/vendor/setasign/fpdi/filters/FilterLZW.php b/pandora_console/vendor/setasign/fpdi/filters/FilterLZW.php deleted file mode 100644 index c3d26ad5d7..0000000000 --- a/pandora_console/vendor/setasign/fpdi/filters/FilterLZW.php +++ /dev/null @@ -1,164 +0,0 @@ -_initsTable(); - - $this->_data = $data; - $this->_dataLength = strlen($data); - - // Initialize pointers - $this->_bytePointer = 0; - $this->_bitPointer = 0; - - $this->_nextData = 0; - $this->_nextBits = 0; - - $oldCode = 0; - - $unCompData = ''; - - while (($code = $this->_getNextCode()) != 257) { - if ($code == 256) { - $this->_initsTable(); - $code = $this->_getNextCode(); - - if ($code == 257) { - break; - } - - if (!isset($this->_sTable[$code])) { - throw new Exception('Error while decompression LZW compressed data.'); - } - - $unCompData .= $this->_sTable[$code]; - $oldCode = $code; - - } else { - - if ($code < $this->_tIdx) { - $string = $this->_sTable[$code]; - $unCompData .= $string; - - $this->_addStringToTable($this->_sTable[$oldCode], $string[0]); - $oldCode = $code; - } else { - $string = $this->_sTable[$oldCode]; - $string = $string . $string[0]; - $unCompData .= $string; - - $this->_addStringToTable($string); - $oldCode = $code; - } - } - } - - return $unCompData; - } - - - /** - * Initialize the string table. - */ - protected function _initsTable() - { - $this->_sTable = array(); - - for ($i = 0; $i < 256; $i++) - $this->_sTable[$i] = chr($i); - - $this->_tIdx = 258; - $this->_bitsToGet = 9; - } - - /** - * Add a new string to the string table. - */ - protected function _addStringToTable($oldString, $newString = '') - { - $string = $oldString . $newString; - - // Add this new String to the table - $this->_sTable[$this->_tIdx++] = $string; - - if ($this->_tIdx == 511) { - $this->_bitsToGet = 10; - } else if ($this->_tIdx == 1023) { - $this->_bitsToGet = 11; - } else if ($this->_tIdx == 2047) { - $this->_bitsToGet = 12; - } - } - - /** - * Returns the next 9, 10, 11 or 12 bits - * - * @return int - */ - protected function _getNextCode() - { - if ($this->_bytePointer == $this->_dataLength) { - return 257; - } - - $this->_nextData = ($this->_nextData << 8) | (ord($this->_data[$this->_bytePointer++]) & 0xff); - $this->_nextBits += 8; - - if ($this->_nextBits < $this->_bitsToGet) { - $this->_nextData = ($this->_nextData << 8) | (ord($this->_data[$this->_bytePointer++]) & 0xff); - $this->_nextBits += 8; - } - - $code = ($this->_nextData >> ($this->_nextBits - $this->_bitsToGet)) & $this->_andTable[$this->_bitsToGet-9]; - $this->_nextBits -= $this->_bitsToGet; - - return $code; - } - - /** - * NOT IMPLEMENTED - * - * @param string $in - * @return string - * @throws LogicException - */ - public function encode($in) - { - throw new LogicException("LZW encoding not implemented."); - } -} \ No newline at end of file diff --git a/pandora_console/vendor/setasign/fpdi/fpdf_tpl.php b/pandora_console/vendor/setasign/fpdi/fpdf_tpl.php deleted file mode 100644 index 47592b270a..0000000000 --- a/pandora_console/vendor/setasign/fpdi/fpdf_tpl.php +++ /dev/null @@ -1,548 +0,0 @@ -page <= 0) { - throw new LogicException("You have to add at least a page first!"); - } - - if ($x == null) - $x = 0; - if ($y == null) - $y = 0; - if ($w == null) - $w = $this->w; - if ($h == null) - $h = $this->h; - - // Save settings - $this->tpl++; - $tpl =& $this->_tpls[$this->tpl]; - $tpl = array( - 'o_x' => $this->x, - 'o_y' => $this->y, - 'o_AutoPageBreak' => $this->AutoPageBreak, - 'o_bMargin' => $this->bMargin, - 'o_tMargin' => $this->tMargin, - 'o_lMargin' => $this->lMargin, - 'o_rMargin' => $this->rMargin, - 'o_h' => $this->h, - 'o_w' => $this->w, - 'o_FontFamily' => $this->FontFamily, - 'o_FontStyle' => $this->FontStyle, - 'o_FontSizePt' => $this->FontSizePt, - 'o_FontSize' => $this->FontSize, - 'buffer' => '', - 'x' => $x, - 'y' => $y, - 'w' => $w, - 'h' => $h - ); - - $this->SetAutoPageBreak(false); - - // Define own high and width to calculate correct positions - $this->h = $h; - $this->w = $w; - - $this->_inTpl = true; - $this->SetXY($x + $this->lMargin, $y + $this->tMargin); - $this->SetRightMargin($this->w - $w + $this->rMargin); - - if ($this->CurrentFont) { - $fontKey = $this->FontFamily . $this->FontStyle; - if ($fontKey) { - $this->_res['tpl'][$this->tpl]['fonts'][$fontKey] =& $this->fonts[$fontKey]; - $this->_out(sprintf('BT /F%d %.2F Tf ET', $this->CurrentFont['i'], $this->FontSizePt)); - } - } - - return $this->tpl; - } - - /** - * End template. - * - * This method ends a template and reset initiated variables collected in {@link beginTemplate()}. - * - * @return int|boolean If a template is opened, the id is returned. If not a false is returned. - */ - public function endTemplate() - { - if (is_subclass_of($this, 'TCPDF')) { - $args = func_get_args(); - return call_user_func_array(array($this, 'TCPDF::endTemplate'), $args); - } - - if ($this->_inTpl) { - $this->_inTpl = false; - $tpl = $this->_tpls[$this->tpl]; - $this->SetXY($tpl['o_x'], $tpl['o_y']); - $this->tMargin = $tpl['o_tMargin']; - $this->lMargin = $tpl['o_lMargin']; - $this->rMargin = $tpl['o_rMargin']; - $this->h = $tpl['o_h']; - $this->w = $tpl['o_w']; - $this->SetAutoPageBreak($tpl['o_AutoPageBreak'], $tpl['o_bMargin']); - - $this->FontFamily = $tpl['o_FontFamily']; - $this->FontStyle = $tpl['o_FontStyle']; - $this->FontSizePt = $tpl['o_FontSizePt']; - $this->FontSize = $tpl['o_FontSize']; - - $fontKey = $this->FontFamily . $this->FontStyle; - if ($fontKey) - $this->CurrentFont =& $this->fonts[$fontKey]; - - return $this->tpl; - } else { - return false; - } - } - - /** - * Use a template in current page or other template. - * - * You can use a template in a page or in another template. - * You can give the used template a new size. - * All parameters are optional. The width or height is calculated automatically - * if one is given. If no parameter is given the origin size as defined in - * {@link beginTemplate()} method is used. - * - * The calculated or used width and height are returned as an array. - * - * @param int $tplIdx A valid template-id - * @param int $x The x-position - * @param int $y The y-position - * @param int $w The new width of the template - * @param int $h The new height of the template - * @return array The height and width of the template (array('w' => ..., 'h' => ...)) - * @throws LogicException|InvalidArgumentException - */ - public function useTemplate($tplIdx, $x = null, $y = null, $w = 0, $h = 0) - { - if ($this->page <= 0) { - throw new LogicException('You have to add at least a page first!'); - } - - if (!isset($this->_tpls[$tplIdx])) { - throw new InvalidArgumentException('Template does not exist!'); - } - - if ($this->_inTpl) { - $this->_res['tpl'][$this->tpl]['tpls'][$tplIdx] =& $this->_tpls[$tplIdx]; - } - - $tpl = $this->_tpls[$tplIdx]; - $_w = $tpl['w']; - $_h = $tpl['h']; - - if ($x == null) { - $x = 0; - } - - if ($y == null) { - $y = 0; - } - - $x += $tpl['x']; - $y += $tpl['y']; - - $wh = $this->getTemplateSize($tplIdx, $w, $h); - $w = $wh['w']; - $h = $wh['h']; - - $tplData = array( - 'x' => $this->x, - 'y' => $this->y, - 'w' => $w, - 'h' => $h, - 'scaleX' => ($w / $_w), - 'scaleY' => ($h / $_h), - 'tx' => $x, - 'ty' => ($this->h - $y - $h), - 'lty' => ($this->h - $y - $h) - ($this->h - $_h) * ($h / $_h) - ); - - $this->_out(sprintf('q %.4F 0 0 %.4F %.4F %.4F cm', - $tplData['scaleX'], $tplData['scaleY'], $tplData['tx'] * $this->k, $tplData['ty'] * $this->k) - ); // Translate - $this->_out(sprintf('%s%d Do Q', $this->tplPrefix, $tplIdx)); - - $this->lastUsedTemplateData = $tplData; - - return array('w' => $w, 'h' => $h); - } - - /** - * Get the calculated size of a template. - * - * If one size is given, this method calculates the other one. - * - * @param int $tplIdx A valid template-id - * @param int $w The width of the template - * @param int $h The height of the template - * @return array The height and width of the template (array('w' => ..., 'h' => ...)) - */ - public function getTemplateSize($tplIdx, $w = 0, $h = 0) - { - if (!isset($this->_tpls[$tplIdx])) - return false; - - $tpl = $this->_tpls[$tplIdx]; - $_w = $tpl['w']; - $_h = $tpl['h']; - - if ($w == 0 && $h == 0) { - $w = $_w; - $h = $_h; - } - - if ($w == 0) - $w = $h * $_w / $_h; - if($h == 0) - $h = $w * $_h / $_w; - - return array("w" => $w, "h" => $h); - } - - /** - * Sets the font used to print character strings. - * - * See FPDF/TCPDF documentation. - * - * @see http://fpdf.org/en/doc/setfont.htm - * @see http://www.tcpdf.org/doc/code/classTCPDF.html#afd56e360c43553830d543323e81bc045 - */ - public function SetFont($family, $style = '', $size = null, $fontfile = '', $subset = 'default', $out = true) - { - if (is_subclass_of($this, 'TCPDF')) { - $args = func_get_args(); - return call_user_func_array(array($this, 'TCPDF::SetFont'), $args); - } - - parent::SetFont($family, $style, $size); - - $fontkey = $this->FontFamily . $this->FontStyle; - - if ($this->_inTpl) { - $this->_res['tpl'][$this->tpl]['fonts'][$fontkey] =& $this->fonts[$fontkey]; - } else { - $this->_res['page'][$this->page]['fonts'][$fontkey] =& $this->fonts[$fontkey]; - } - } - - /** - * Puts an image. - * - * See FPDF/TCPDF documentation. - * - * @see http://fpdf.org/en/doc/image.htm - * @see http://www.tcpdf.org/doc/code/classTCPDF.html#a714c2bee7d6b39d4d6d304540c761352 - */ - public function Image( - $file, $x = '', $y = '', $w = 0, $h = 0, $type = '', $link = '', $align = '', $resize = false, - $dpi = 300, $palign = '', $ismask = false, $imgmask = false, $border = 0, $fitbox = false, - $hidden = false, $fitonpage = false, $alt = false, $altimgs = array() - ) - { - if (is_subclass_of($this, 'TCPDF')) { - $args = func_get_args(); - return call_user_func_array(array($this, 'TCPDF::Image'), $args); - } - - $ret = parent::Image($file, $x, $y, $w, $h, $type, $link); - if ($this->_inTpl) { - $this->_res['tpl'][$this->tpl]['images'][$file] =& $this->images[$file]; - } else { - $this->_res['page'][$this->page]['images'][$file] =& $this->images[$file]; - } - - return $ret; - } - - /** - * Adds a new page to the document. - * - * See FPDF/TCPDF documentation. - * - * This method cannot be used if you'd started a template. - * - * @see http://fpdf.org/en/doc/addpage.htm - * @see http://www.tcpdf.org/doc/code/classTCPDF.html#a5171e20b366b74523709d84c349c1ced - */ - public function AddPage($orientation = '', $format = '', $rotationOrKeepmargins = false, $tocpage = false) - { - if (is_subclass_of($this, 'TCPDF')) { - $args = func_get_args(); - return call_user_func_array(array($this, 'TCPDF::AddPage'), $args); - } - - if ($this->_inTpl) { - throw new LogicException('Adding pages in templates is not possible!'); - } - - parent::AddPage($orientation, $format, $rotationOrKeepmargins); - } - - /** - * Puts a link on a rectangular area of the page. - * - * Overwritten because adding links in a template will not work. - * - * @see http://fpdf.org/en/doc/link.htm - * @see http://www.tcpdf.org/doc/code/classTCPDF.html#ab87bf1826384fbfe30eb499d42f1d994 - */ - public function Link($x, $y, $w, $h, $link, $spaces = 0) - { - if (is_subclass_of($this, 'TCPDF')) { - $args = func_get_args(); - return call_user_func_array(array($this, 'TCPDF::Link'), $args); - } - - if ($this->_inTpl) { - throw new LogicException('Using links in templates is not posible!'); - } - - parent::Link($x, $y, $w, $h, $link); - } - - /** - * Creates a new internal link and returns its identifier. - * - * Overwritten because adding links in a template will not work. - * - * @see http://fpdf.org/en/doc/addlink.htm - * @see http://www.tcpdf.org/doc/code/classTCPDF.html#a749522038ed7786c3e1701435dcb891e - */ - public function AddLink() - { - if (is_subclass_of($this, 'TCPDF')) { - $args = func_get_args(); - return call_user_func_array(array($this, 'TCPDF::AddLink'), $args); - } - - if ($this->_inTpl) { - throw new LogicException('Adding links in templates is not possible!'); - } - - return parent::AddLink(); - } - - /** - * Defines the page and position a link points to. - * - * Overwritten because adding links in a template will not work. - * - * @see http://fpdf.org/en/doc/setlink.htm - * @see http://www.tcpdf.org/doc/code/classTCPDF.html#ace5be60e7857953ea5e2b89cb90df0ae - */ - public function SetLink($link, $y = 0, $page = -1) - { - if (is_subclass_of($this, 'TCPDF')) { - $args = func_get_args(); - return call_user_func_array(array($this, 'TCPDF::SetLink'), $args); - } - - if ($this->_inTpl) { - throw new LogicException('Setting links in templates is not possible!'); - } - - parent::SetLink($link, $y, $page); - } - - /** - * Writes the form XObjects to the PDF document. - */ - protected function _putformxobjects() - { - $filter=($this->compress) ? '/Filter /FlateDecode ' : ''; - reset($this->_tpls); - - foreach($this->_tpls AS $tplIdx => $tpl) { - $this->_newobj(); - $this->_tpls[$tplIdx]['n'] = $this->n; - $this->_out('<<'.$filter.'/Type /XObject'); - $this->_out('/Subtype /Form'); - $this->_out('/FormType 1'); - $this->_out(sprintf('/BBox [%.2F %.2F %.2F %.2F]', - // llx - $tpl['x'] * $this->k, - // lly - -$tpl['y'] * $this->k, - // urx - ($tpl['w'] + $tpl['x']) * $this->k, - // ury - ($tpl['h'] - $tpl['y']) * $this->k - )); - - if ($tpl['x'] != 0 || $tpl['y'] != 0) { - $this->_out(sprintf('/Matrix [1 0 0 1 %.5F %.5F]', - -$tpl['x'] * $this->k * 2, $tpl['y'] * $this->k * 2 - )); - } - - $this->_out('/Resources '); - $this->_out('<_res['tpl'][$tplIdx])) { - $res = $this->_res['tpl'][$tplIdx]; - if (isset($res['fonts']) && count($res['fonts'])) { - $this->_out('/Font <<'); - - foreach($res['fonts'] as $font) { - $this->_out('/F' . $font['i'] . ' ' . $font['n'] . ' 0 R'); - } - - $this->_out('>>'); - } - - if(isset($res['images']) || isset($res['tpls'])) { - $this->_out('/XObject <<'); - - if (isset($res['images'])) { - foreach($res['images'] as $image) - $this->_out('/I' . $image['i'] . ' ' . $image['n'] . ' 0 R'); - } - - if (isset($res['tpls'])) { - foreach($res['tpls'] as $i => $_tpl) - $this->_out($this->tplPrefix . $i . ' ' . $_tpl['n'] . ' 0 R'); - } - - $this->_out('>>'); - } - } - - $this->_out('>>'); - - $buffer = ($this->compress) ? gzcompress($tpl['buffer']) : $tpl['buffer']; - $this->_out('/Length ' . strlen($buffer) . ' >>'); - $this->_putstream($buffer); - $this->_out('endobj'); - } - } - - /** - * Output images. - * - * Overwritten to add {@link _putformxobjects()} after _putimages(). - */ - public function _putimages() - { - parent::_putimages(); - $this->_putformxobjects(); - } - - /** - * Writes the references of XObject resources to the document. - * - * Overwritten to add the the templates to the XObject resource dictionary. - */ - public function _putxobjectdict() - { - parent::_putxobjectdict(); - - foreach($this->_tpls as $tplIdx => $tpl) { - $this->_out(sprintf('%s%d %d 0 R', $this->tplPrefix, $tplIdx, $tpl['n'])); - } - } - - /** - * Writes bytes to the resulting document. - * - * Overwritten to delegate the data to the template buffer. - * - * @param string $s - */ - public function _out($s) - { - if ($this->state == 2 && $this->_inTpl) { - $this->_tpls[$this->tpl]['buffer'] .= $s . "\n"; - } else { - parent::_out($s); - } - } -} diff --git a/pandora_console/vendor/setasign/fpdi/fpdi.php b/pandora_console/vendor/setasign/fpdi/fpdi.php deleted file mode 100644 index 48223a3ce9..0000000000 --- a/pandora_console/vendor/setasign/fpdi/fpdi.php +++ /dev/null @@ -1,705 +0,0 @@ -currentFilename; - $currentParser = $this->currentParser; - - try { - $this->currentFilename = $filename; - - if (!isset($this->parsers[$filename])) { - $this->parsers[$filename] = $this->_getPdfParser($filename); - $this->setPdfVersion( - max($this->getPdfVersion(), $this->parsers[$filename]->getPdfVersion()) - ); - } - - $this->currentParser = $this->parsers[$filename]; - - } catch (Exception $e) { - unset($this->parsers[$filename]); - $this->currentFilename = $currentFilename; - $this->currentParser = $currentParser; - throw $e; - } - - return $this->parsers[$filename]->getPageCount(); - } - - /** - * Returns a PDF parser object - * - * @param string $filename - * @return fpdi_pdf_parser - */ - protected function _getPdfParser($filename) - { - if (!class_exists('fpdi_pdf_parser')) { - require_once('fpdi_pdf_parser.php'); - } - return new fpdi_pdf_parser($filename); - } - - /** - * Get the current PDF version. - * - * @return string - */ - public function getPdfVersion() - { - return $this->PDFVersion; - } - - /** - * Set the PDF version. - * - * @param string $version - */ - public function setPdfVersion($version = '1.3') - { - $this->PDFVersion = sprintf('%.1F', $version); - } - - /** - * Import a page. - * - * The second parameter defines the bounding box that should be used to transform the page into a - * form XObject. - * - * Following values are available: MediaBox, CropBox, BleedBox, TrimBox, ArtBox. - * If a box is not especially defined its default box will be used: - * - *

      - *
    • CropBox: Default -> MediaBox
    • - *
    • BleedBox: Default -> CropBox
    • - *
    • TrimBox: Default -> CropBox
    • - *
    • ArtBox: Default -> CropBox
    • - *
    - * - * It is possible to get the used page box by the {@link getLastUsedPageBox()} method. - * - * @param int $pageNo The page number - * @param string $boxName The boundary box to use when transforming the page into a form XObject - * @param boolean $groupXObject Define the form XObject as a group XObject to support transparency (if used) - * @return int An id of the imported page/template to use with e.g. fpdf_tpl::useTemplate() - * @throws LogicException|InvalidArgumentException - * @see getLastUsedPageBox() - */ - public function importPage($pageNo, $boxName = 'CropBox', $groupXObject = true) - { - if ($this->_inTpl) { - throw new LogicException('Please import the desired pages before creating a new template.'); - } - - $fn = $this->currentFilename; - $boxName = '/' . ltrim($boxName, '/'); - - // check if page already imported - $pageKey = $fn . '-' . ((int)$pageNo) . $boxName; - if (isset($this->_importedPages[$pageKey])) { - return $this->_importedPages[$pageKey]; - } - - $parser = $this->parsers[$fn]; - $parser->setPageNo($pageNo); - - if (!in_array($boxName, $parser->availableBoxes)) { - throw new InvalidArgumentException(sprintf('Unknown box: %s', $boxName)); - } - - $pageBoxes = $parser->getPageBoxes($pageNo, $this->k); - - /** - * MediaBox - * CropBox: Default -> MediaBox - * BleedBox: Default -> CropBox - * TrimBox: Default -> CropBox - * ArtBox: Default -> CropBox - */ - if (!isset($pageBoxes[$boxName]) && ($boxName == '/BleedBox' || $boxName == '/TrimBox' || $boxName == '/ArtBox')) - $boxName = '/CropBox'; - if (!isset($pageBoxes[$boxName]) && $boxName == '/CropBox') - $boxName = '/MediaBox'; - - if (!isset($pageBoxes[$boxName])) - return false; - - $this->lastUsedPageBox = $boxName; - - $box = $pageBoxes[$boxName]; - - $this->tpl++; - $this->_tpls[$this->tpl] = array(); - $tpl =& $this->_tpls[$this->tpl]; - $tpl['parser'] = $parser; - $tpl['resources'] = $parser->getPageResources(); - $tpl['buffer'] = $parser->getContent(); - $tpl['box'] = $box; - $tpl['groupXObject'] = $groupXObject; - if ($groupXObject) { - $this->setPdfVersion(max($this->getPdfVersion(), 1.4)); - } - - // To build an array that can be used by PDF_TPL::useTemplate() - $this->_tpls[$this->tpl] = array_merge($this->_tpls[$this->tpl], $box); - - // An imported page will start at 0,0 all the time. Translation will be set in _putformxobjects() - $tpl['x'] = 0; - $tpl['y'] = 0; - - // handle rotated pages - $rotation = $parser->getPageRotation($pageNo); - $tpl['_rotationAngle'] = 0; - if (isset($rotation[1]) && ($angle = $rotation[1] % 360) != 0) { - $steps = $angle / 90; - - $_w = $tpl['w']; - $_h = $tpl['h']; - $tpl['w'] = $steps % 2 == 0 ? $_w : $_h; - $tpl['h'] = $steps % 2 == 0 ? $_h : $_w; - - if ($angle < 0) - $angle += 360; - - $tpl['_rotationAngle'] = $angle * -1; - } - - $this->_importedPages[$pageKey] = $this->tpl; - - return $this->tpl; - } - - /** - * Returns the last used page boundary box. - * - * @return string The used boundary box: MediaBox, CropBox, BleedBox, TrimBox or ArtBox - */ - public function getLastUsedPageBox() - { - return $this->lastUsedPageBox; - } - - /** - * Use a template or imported page in current page or other template. - * - * You can use a template in a page or in another template. - * You can give the used template a new size. All parameters are optional. - * The width or height is calculated automatically if one is given. If no - * parameter is given the origin size as defined in beginTemplate() or of - * the imported page is used. - * - * The calculated or used width and height are returned as an array. - * - * @param int $tplIdx A valid template-id - * @param int $x The x-position - * @param int $y The y-position - * @param int $w The new width of the template - * @param int $h The new height of the template - * @param boolean $adjustPageSize If set to true the current page will be resized to fit the dimensions - * of the template - * - * @return array The height and width of the template (array('w' => ..., 'h' => ...)) - * @throws LogicException|InvalidArgumentException - */ - public function useTemplate($tplIdx, $x = null, $y = null, $w = 0, $h = 0, $adjustPageSize = false) - { - if ($adjustPageSize == true && is_null($x) && is_null($y)) { - $size = $this->getTemplateSize($tplIdx, $w, $h); - $orientation = $size['w'] > $size['h'] ? 'L' : 'P'; - $size = array($size['w'], $size['h']); - - if (is_subclass_of($this, 'TCPDF')) { - $this->setPageFormat($size, $orientation); - } else { - $size = $this->_getpagesize($size); - - if($orientation != $this->CurOrientation || - $size[0] != $this->CurPageSize[0] || - $size[1] != $this->CurPageSize[1] - ) { - // New size or orientation - if ($orientation=='P') { - $this->w = $size[0]; - $this->h = $size[1]; - } else { - $this->w = $size[1]; - $this->h = $size[0]; - } - $this->wPt = $this->w * $this->k; - $this->hPt = $this->h * $this->k; - $this->PageBreakTrigger = $this->h - $this->bMargin; - $this->CurOrientation = $orientation; - $this->CurPageSize = $size; - if (FPDF_VERSION >= 1.8) { - $this->PageInfo[$this->page]['size'] = array($this->wPt, $this->hPt); - } else { - $this->PageSizes[$this->page] = array($this->wPt, $this->hPt); - } - } - } - } - - $this->_out('q 0 J 1 w 0 j 0 G 0 g'); // reset standard values - $size = parent::useTemplate($tplIdx, $x, $y, $w, $h); - $this->_out('Q'); - - return $size; - } - - /** - * Copy all imported objects to the resulting document. - */ - protected function _putimportedobjects() - { - foreach($this->parsers AS $filename => $p) { - $this->currentParser = $p; - if (!isset($this->_objStack[$filename]) || !is_array($this->_objStack[$filename])) { - continue; - } - while(($n = key($this->_objStack[$filename])) !== null) { - try { - $nObj = $this->currentParser->resolveObject($this->_objStack[$filename][$n][1]); - } catch (Exception $e) { - $nObj = array(pdf_parser::TYPE_OBJECT, pdf_parser::TYPE_NULL); - } - - $this->_newobj($this->_objStack[$filename][$n][0]); - - if ($nObj[0] == pdf_parser::TYPE_STREAM) { - $this->_writeValue($nObj); - } else { - $this->_writeValue($nObj[1]); - } - - $this->_out("\nendobj"); - $this->_objStack[$filename][$n] = null; // free memory - unset($this->_objStack[$filename][$n]); - reset($this->_objStack[$filename]); - } - } - } - - /** - * Writes the form XObjects to the PDF document. - */ - protected function _putformxobjects() - { - $filter = ($this->compress) ? '/Filter /FlateDecode ' : ''; - reset($this->_tpls); - foreach($this->_tpls AS $tplIdx => $tpl) { - $this->_newobj(); - $currentN = $this->n; // TCPDF/Protection: rem current "n" - - $this->_tpls[$tplIdx]['n'] = $this->n; - $this->_out('<<' . $filter . '/Type /XObject'); - $this->_out('/Subtype /Form'); - $this->_out('/FormType 1'); - - $this->_out(sprintf('/BBox [%.2F %.2F %.2F %.2F]', - (isset($tpl['box']['llx']) ? $tpl['box']['llx'] : $tpl['x']) * $this->k, - (isset($tpl['box']['lly']) ? $tpl['box']['lly'] : -$tpl['y']) * $this->k, - (isset($tpl['box']['urx']) ? $tpl['box']['urx'] : $tpl['w'] + $tpl['x']) * $this->k, - (isset($tpl['box']['ury']) ? $tpl['box']['ury'] : $tpl['h'] - $tpl['y']) * $this->k - )); - - $c = 1; - $s = 0; - $tx = 0; - $ty = 0; - - if (isset($tpl['box'])) { - $tx = -$tpl['box']['llx']; - $ty = -$tpl['box']['lly']; - - if ($tpl['_rotationAngle'] <> 0) { - $angle = $tpl['_rotationAngle'] * M_PI/180; - $c = cos($angle); - $s = sin($angle); - - switch($tpl['_rotationAngle']) { - case -90: - $tx = -$tpl['box']['lly']; - $ty = $tpl['box']['urx']; - break; - case -180: - $tx = $tpl['box']['urx']; - $ty = $tpl['box']['ury']; - break; - case -270: - $tx = $tpl['box']['ury']; - $ty = -$tpl['box']['llx']; - break; - } - } - } else if ($tpl['x'] != 0 || $tpl['y'] != 0) { - $tx = -$tpl['x'] * 2; - $ty = $tpl['y'] * 2; - } - - $tx *= $this->k; - $ty *= $this->k; - - if ($c != 1 || $s != 0 || $tx != 0 || $ty != 0) { - $this->_out(sprintf('/Matrix [%.5F %.5F %.5F %.5F %.5F %.5F]', - $c, $s, -$s, $c, $tx, $ty - )); - } - - $this->_out('/Resources '); - - if (isset($tpl['resources'])) { - $this->currentParser = $tpl['parser']; - $this->_writeValue($tpl['resources']); // "n" will be changed - } else { - - $this->_out('<_res['tpl'][$tplIdx])) { - $res = $this->_res['tpl'][$tplIdx]; - - if (isset($res['fonts']) && count($res['fonts'])) { - $this->_out('/Font <<'); - foreach ($res['fonts'] as $font) - $this->_out('/F' . $font['i'] . ' ' . $font['n'] . ' 0 R'); - $this->_out('>>'); - } - if (isset($res['images']) && count($res['images']) || - isset($res['tpls']) && count($res['tpls'])) - { - $this->_out('/XObject <<'); - if (isset($res['images'])) { - foreach ($res['images'] as $image) - $this->_out('/I' . $image['i'] . ' ' . $image['n'] . ' 0 R'); - } - if (isset($res['tpls'])) { - foreach ($res['tpls'] as $i => $_tpl) - $this->_out($this->tplPrefix . $i . ' ' . $_tpl['n'] . ' 0 R'); - } - $this->_out('>>'); - } - $this->_out('>>'); - } - } - - if (isset($tpl['groupXObject']) && $tpl['groupXObject']) { - $this->_out('/Group <>'); - } - - $newN = $this->n; // TCPDF: rem new "n" - $this->n = $currentN; // TCPDF: reset to current "n" - - $buffer = ($this->compress) ? gzcompress($tpl['buffer']) : $tpl['buffer']; - - if (is_subclass_of($this, 'TCPDF')) { - $buffer = $this->_getrawstream($buffer); - $this->_out('/Length ' . strlen($buffer) . ' >>'); - $this->_out("stream\n" . $buffer . "\nendstream"); - } else { - $this->_out('/Length ' . strlen($buffer) . ' >>'); - $this->_putstream($buffer); - } - $this->_out('endobj'); - $this->n = $newN; // TCPDF: reset to new "n" - } - - $this->_putimportedobjects(); - } - - /** - * Creates and optionally write the object definition to the document. - * - * Rewritten to handle existing own defined objects - * - * @param bool $objId - * @param bool $onlyNewObj - * @return bool|int - */ - public function _newobj($objId = false, $onlyNewObj = false) - { - if (!$objId) { - $objId = ++$this->n; - } - - // Begin a new object - if (!$onlyNewObj) { - $this->offsets[$objId] = is_subclass_of($this, 'TCPDF') ? $this->bufferlen : strlen($this->buffer); - $this->_out($objId . ' 0 obj'); - $this->_currentObjId = $objId; // for later use with encryption - } - - return $objId; - } - - /** - * Writes a PDF value to the resulting document. - * - * Needed to rebuild the source document - * - * @param mixed $value A PDF-Value. Structure of values see cases in this method - */ - protected function _writeValue(&$value) - { - if (is_subclass_of($this, 'TCPDF')) { - parent::_prepareValue($value); - } - - switch ($value[0]) { - - case pdf_parser::TYPE_TOKEN: - $this->_straightOut($value[1] . ' '); - break; - case pdf_parser::TYPE_NUMERIC: - case pdf_parser::TYPE_REAL: - if (is_float($value[1]) && $value[1] != 0) { - $this->_straightOut(rtrim(rtrim(sprintf('%F', $value[1]), '0'), '.') . ' '); - } else { - $this->_straightOut($value[1] . ' '); - } - break; - - case pdf_parser::TYPE_ARRAY: - - // An array. Output the proper - // structure and move on. - - $this->_straightOut('['); - for ($i = 0; $i < count($value[1]); $i++) { - $this->_writeValue($value[1][$i]); - } - - $this->_out(']'); - break; - - case pdf_parser::TYPE_DICTIONARY: - - // A dictionary. - $this->_straightOut('<<'); - - reset ($value[1]); - - while (list($k, $v) = each($value[1])) { - $this->_straightOut($k . ' '); - $this->_writeValue($v); - } - - $this->_straightOut('>>'); - break; - - case pdf_parser::TYPE_OBJREF: - - // An indirect object reference - // Fill the object stack if needed - $cpfn =& $this->currentParser->filename; - if (!isset($this->_doneObjStack[$cpfn][$value[1]])) { - $this->_newobj(false, true); - $this->_objStack[$cpfn][$value[1]] = array($this->n, $value); - $this->_doneObjStack[$cpfn][$value[1]] = array($this->n, $value); - } - $objId = $this->_doneObjStack[$cpfn][$value[1]][0]; - - $this->_out($objId . ' 0 R'); - break; - - case pdf_parser::TYPE_STRING: - - // A string. - $this->_straightOut('(' . $value[1] . ')'); - - break; - - case pdf_parser::TYPE_STREAM: - - // A stream. First, output the - // stream dictionary, then the - // stream data itself. - $this->_writeValue($value[1]); - $this->_out('stream'); - $this->_out($value[2][1]); - $this->_straightOut("endstream"); - break; - - case pdf_parser::TYPE_HEX: - $this->_straightOut('<' . $value[1] . '>'); - break; - - case pdf_parser::TYPE_BOOLEAN: - $this->_straightOut($value[1] ? 'true ' : 'false '); - break; - - case pdf_parser::TYPE_NULL: - // The null object. - $this->_straightOut('null '); - break; - } - } - - - /** - * Modified _out() method so not each call will add a newline to the output. - */ - protected function _straightOut($s) - { - if (!is_subclass_of($this, 'TCPDF')) { - if ($this->state == 2) { - $this->pages[$this->page] .= $s; - } else { - $this->buffer .= $s; - } - - } else { - if ($this->state == 2) { - if ($this->inxobj) { - // we are inside an XObject template - $this->xobjects[$this->xobjid]['outdata'] .= $s; - } else if ((!$this->InFooter) AND isset($this->footerlen[$this->page]) AND ($this->footerlen[$this->page] > 0)) { - // puts data before page footer - $pagebuff = $this->getPageBuffer($this->page); - $page = substr($pagebuff, 0, -$this->footerlen[$this->page]); - $footer = substr($pagebuff, -$this->footerlen[$this->page]); - $this->setPageBuffer($this->page, $page . $s . $footer); - // update footer position - $this->footerpos[$this->page] += strlen($s); - } else { - // set page data - $this->setPageBuffer($this->page, $s, true); - } - } else if ($this->state > 0) { - // set general data - $this->setBuffer($s); - } - } - } - - /** - * Ends the document - * - * Overwritten to close opened parsers - */ - public function _enddoc() - { - parent::_enddoc(); - $this->_closeParsers(); - } - - /** - * Close all files opened by parsers. - * - * @return boolean - */ - protected function _closeParsers() - { - if ($this->state > 2) { - $this->cleanUp(); - return true; - } - - return false; - } - - /** - * Removes cycled references and closes the file handles of the parser objects. - */ - public function cleanUp() - { - while (($parser = array_pop($this->parsers)) !== null) { - /** - * @var fpdi_pdf_parser $parser - */ - $parser->closeFile(); - } - } -} \ No newline at end of file diff --git a/pandora_console/vendor/setasign/fpdi/fpdi_bridge.php b/pandora_console/vendor/setasign/fpdi/fpdi_bridge.php deleted file mode 100644 index 8283876b17..0000000000 --- a/pandora_console/vendor/setasign/fpdi/fpdi_bridge.php +++ /dev/null @@ -1,206 +0,0 @@ -_tpls as $tplIdx => $tpl) { - $out .= sprintf('%s%d %d 0 R', $this->tplPrefix, $tplIdx, $tpl['n']); - } - - return $out; - } - - /** - * Writes a PDF value to the resulting document. - * - * Prepares the value for encryption of imported data by FPDI - * - * @param array $value - */ - protected function _prepareValue(&$value) - { - switch ($value[0]) { - case pdf_parser::TYPE_STRING: - if ($this->encrypted) { - $value[1] = $this->_unescape($value[1]); - $value[1] = $this->_encrypt_data($this->_currentObjId, $value[1]); - $value[1] = TCPDF_STATIC::_escape($value[1]); - } - break; - - case pdf_parser::TYPE_STREAM: - if ($this->encrypted) { - $value[2][1] = $this->_encrypt_data($this->_currentObjId, $value[2][1]); - $value[1][1]['/Length'] = array( - pdf_parser::TYPE_NUMERIC, - strlen($value[2][1]) - ); - } - break; - - case pdf_parser::TYPE_HEX: - if ($this->encrypted) { - $value[1] = $this->hex2str($value[1]); - $value[1] = $this->_encrypt_data($this->_currentObjId, $value[1]); - - // remake hexstring of encrypted string - $value[1] = $this->str2hex($value[1]); - } - break; - } - } - - /** - * Un-escapes a PDF string - * - * @param string $s - * @return string - */ - protected function _unescape($s) - { - $out = ''; - for ($count = 0, $n = strlen($s); $count < $n; $count++) { - if ($s[$count] != '\\' || $count == $n-1) { - $out .= $s[$count]; - } else { - switch ($s[++$count]) { - case ')': - case '(': - case '\\': - $out .= $s[$count]; - break; - case 'f': - $out .= chr(0x0C); - break; - case 'b': - $out .= chr(0x08); - break; - case 't': - $out .= chr(0x09); - break; - case 'r': - $out .= chr(0x0D); - break; - case 'n': - $out .= chr(0x0A); - break; - case "\r": - if ($count != $n-1 && $s[$count+1] == "\n") - $count++; - break; - case "\n": - break; - default: - // Octal-Values - if (ord($s[$count]) >= ord('0') && - ord($s[$count]) <= ord('9')) { - $oct = ''. $s[$count]; - - if (ord($s[$count+1]) >= ord('0') && - ord($s[$count+1]) <= ord('9')) { - $oct .= $s[++$count]; - - if (ord($s[$count+1]) >= ord('0') && - ord($s[$count+1]) <= ord('9')) { - $oct .= $s[++$count]; - } - } - - $out .= chr(octdec($oct)); - } else { - $out .= $s[$count]; - } - } - } - } - return $out; - } - - /** - * Hexadecimal to string - * - * @param string $data - * @return string - */ - public function hex2str($data) - { - $data = preg_replace('/[^0-9A-Fa-f]/', '', rtrim($data, '>')); - if ((strlen($data) % 2) == 1) { - $data .= '0'; - } - - return pack('H*', $data); - } - - /** - * String to hexadecimal - * - * @param string $str - * @return string - */ - public function str2hex($str) - { - return current(unpack('H*', $str)); - } - } -} \ No newline at end of file diff --git a/pandora_console/vendor/setasign/fpdi/fpdi_pdf_parser.php b/pandora_console/vendor/setasign/fpdi/fpdi_pdf_parser.php deleted file mode 100644 index a9622b0c8e..0000000000 --- a/pandora_console/vendor/setasign/fpdi/fpdi_pdf_parser.php +++ /dev/null @@ -1,355 +0,0 @@ -resolveObject($this->_root[1][1]['/Pages']); - - // Read pages - $this->_readPages($pages, $this->_pages); - - // count pages; - $this->_pageCount = count($this->_pages); - } - - /** - * Get page count from source file. - * - * @return int - */ - public function getPageCount() - { - return $this->_pageCount; - } - - /** - * Set the page number. - * - * @param int $pageNo Page number to use - * @throws InvalidArgumentException - */ - public function setPageNo($pageNo) - { - $pageNo = ((int) $pageNo) - 1; - - if ($pageNo < 0 || $pageNo >= $this->getPageCount()) { - throw new InvalidArgumentException('Invalid page number!'); - } - - $this->pageNo = $pageNo; - } - - /** - * Get page-resources from current page - * - * @return array|boolean - */ - public function getPageResources() - { - return $this->_getPageResources($this->_pages[$this->pageNo]); - } - - /** - * Get page-resources from a /Page dictionary. - * - * @param array $obj Array of pdf-data - * @return array|boolean - */ - protected function _getPageResources($obj) - { - $obj = $this->resolveObject($obj); - - // If the current object has a resources - // dictionary associated with it, we use - // it. Otherwise, we move back to its - // parent object. - if (isset($obj[1][1]['/Resources'])) { - $res = $this->resolveObject($obj[1][1]['/Resources']); - if ($res[0] == pdf_parser::TYPE_OBJECT) - return $res[1]; - return $res; - } - - if (!isset($obj[1][1]['/Parent'])) { - return false; - } - - $res = $this->_getPageResources($obj[1][1]['/Parent']); - if ($res[0] == pdf_parser::TYPE_OBJECT) - return $res[1]; - return $res; - } - - /** - * Get content of current page. - * - * If /Contents is an array, the streams are concatenated - * - * @return string - */ - public function getContent() - { - $buffer = ''; - - if (isset($this->_pages[$this->pageNo][1][1]['/Contents'])) { - $contents = $this->_getPageContent($this->_pages[$this->pageNo][1][1]['/Contents']); - foreach ($contents AS $tmpContent) { - if ($tmpContent[0] !== pdf_parser::TYPE_STREAM) { - continue; - } - - $buffer .= $this->_unFilterStream($tmpContent) . ' '; - } - } - - return $buffer; - } - - /** - * Resolve all content objects. - * - * @param array $contentRef - * @return array - */ - protected function _getPageContent($contentRef) - { - $contents = array(); - - if ($contentRef[0] == pdf_parser::TYPE_OBJREF) { - $content = $this->resolveObject($contentRef); - if ($content[1][0] == pdf_parser::TYPE_ARRAY) { - $contents = $this->_getPageContent($content[1]); - } else { - $contents[] = $content; - } - } else if ($contentRef[0] == pdf_parser::TYPE_ARRAY) { - foreach ($contentRef[1] AS $tmp_content_ref) { - $contents = array_merge($contents, $this->_getPageContent($tmp_content_ref)); - } - } - - return $contents; - } - - /** - * Get a boundary box from a page - * - * Array format is same as used by FPDF_TPL. - * - * @param array $page a /Page dictionary - * @param string $boxIndex Type of box {see {@link $availableBoxes}) - * @param float Scale factor from user space units to points - * - * @return array|boolean - */ - protected function _getPageBox($page, $boxIndex, $k) - { - $page = $this->resolveObject($page); - $box = null; - if (isset($page[1][1][$boxIndex])) { - $box = $page[1][1][$boxIndex]; - } - - if (!is_null($box) && $box[0] == pdf_parser::TYPE_OBJREF) { - $tmp_box = $this->resolveObject($box); - $box = $tmp_box[1]; - } - - if (!is_null($box) && $box[0] == pdf_parser::TYPE_ARRAY) { - $b = $box[1]; - return array( - 'x' => $b[0][1] / $k, - 'y' => $b[1][1] / $k, - 'w' => abs($b[0][1] - $b[2][1]) / $k, - 'h' => abs($b[1][1] - $b[3][1]) / $k, - 'llx' => min($b[0][1], $b[2][1]) / $k, - 'lly' => min($b[1][1], $b[3][1]) / $k, - 'urx' => max($b[0][1], $b[2][1]) / $k, - 'ury' => max($b[1][1], $b[3][1]) / $k, - ); - } else if (!isset($page[1][1]['/Parent'])) { - return false; - } else { - return $this->_getPageBox($this->resolveObject($page[1][1]['/Parent']), $boxIndex, $k); - } - } - - /** - * Get all page boundary boxes by page number - * - * @param int $pageNo The page number - * @param float $k Scale factor from user space units to points - * @return array - * @throws InvalidArgumentException - */ - public function getPageBoxes($pageNo, $k) - { - if (!isset($this->_pages[$pageNo - 1])) { - throw new InvalidArgumentException('Page ' . $pageNo . ' does not exists.'); - } - - return $this->_getPageBoxes($this->_pages[$pageNo - 1], $k); - } - - /** - * Get all boxes from /Page dictionary - * - * @param array $page A /Page dictionary - * @param float $k Scale factor from user space units to points - * @return array - */ - protected function _getPageBoxes($page, $k) - { - $boxes = array(); - - foreach($this->availableBoxes AS $box) { - if ($_box = $this->_getPageBox($page, $box, $k)) { - $boxes[$box] = $_box; - } - } - - return $boxes; - } - - /** - * Get the page rotation by page number - * - * @param integer $pageNo - * @throws InvalidArgumentException - * @return array - */ - public function getPageRotation($pageNo) - { - if (!isset($this->_pages[$pageNo - 1])) { - throw new InvalidArgumentException('Page ' . $pageNo . ' does not exists.'); - } - - return $this->_getPageRotation($this->_pages[$pageNo - 1]); - } - - /** - * Get the rotation value of a page - * - * @param array $obj A /Page dictionary - * @return array|bool - */ - protected function _getPageRotation($obj) - { - $obj = $this->resolveObject($obj); - if (isset($obj[1][1]['/Rotate'])) { - $res = $this->resolveObject($obj[1][1]['/Rotate']); - if ($res[0] == pdf_parser::TYPE_OBJECT) - return $res[1]; - return $res; - } - - if (!isset($obj[1][1]['/Parent'])) { - return false; - } - - $res = $this->_getPageRotation($obj[1][1]['/Parent']); - if ($res[0] == pdf_parser::TYPE_OBJECT) - return $res[1]; - - return $res; - } - - /** - * Read all pages - * - * @param array $pages /Pages dictionary - * @param array $result The result array - * @throws Exception - */ - protected function _readPages(&$pages, &$result) - { - // Get the kids dictionary - $_kids = $this->resolveObject($pages[1][1]['/Kids']); - - if (!is_array($_kids)) { - throw new Exception('Cannot find /Kids in current /Page-Dictionary'); - } - - if ($_kids[0] === self::TYPE_OBJECT) { - $_kids = $_kids[1]; - } - - $kids = $_kids[1]; - - foreach ($kids as $v) { - $pg = $this->resolveObject($v); - if ($pg[0] !== pdf_parser::TYPE_OBJECT) { - throw new Exception('Invalid data type in page tree.'); - } - - if ($pg[1][1]['/Type'][1] === '/Pages') { - // If one of the kids is an embedded - // /Pages array, resolve it as well. - $this->_readPages($pg, $result); - } else { - $result[] = $pg; - } - } - } -} \ No newline at end of file diff --git a/pandora_console/vendor/setasign/fpdi/pdf_context.php b/pandora_console/vendor/setasign/fpdi/pdf_context.php deleted file mode 100644 index f7f94e0993..0000000000 --- a/pandora_console/vendor/setasign/fpdi/pdf_context.php +++ /dev/null @@ -1,151 +0,0 @@ -file =& $f; - if (is_string($this->file)) - $this->_mode = 1; - - $this->reset(); - } - - /** - * Get the position in the file stream - * - * @return int - */ - public function getPos() - { - if ($this->_mode == 0) { - if (feof($this->file)) { - $stat = fstat($this->file); - fseek($this->file, $stat['size']); - } - - $pos = ftell($this->file); - - return $pos; - } else { - return 0; - } - } - - /** - * Reset the position in the file stream. - * - * Optionally move the file pointer to a new location and reset the buffered data. - * - * @param null $pos - * @param int $l - */ - public function reset($pos = null, $l = 100) - { - if ($this->_mode == 0) { - if (!is_null($pos)) { - fseek($this->file, $pos); - } - - $this->buffer = $l > 0 ? fread($this->file, $l) : ''; - $this->length = strlen($this->buffer); - if ($this->length < $l) - $this->increaseLength($l - $this->length); - } else { - $this->buffer = $this->file; - $this->length = strlen($this->buffer); - } - $this->offset = 0; - $this->stack = array(); - } - - /** - * Make sure that there is at least one character beyond the current offset in the buffer. - * - * To prevent the tokenizer from attempting to access data that does not exist. - * - * @return bool - */ - public function ensureContent() - { - if ($this->offset >= $this->length - 1) { - return $this->increaseLength(); - } else { - return true; - } - } - - /** - * Forcefully read more data into the buffer - * - * @param int $l - * @return bool - */ - public function increaseLength($l = 100) - { - if ($this->_mode == 0 && feof($this->file)) { - return false; - } else if ($this->_mode == 0) { - $totalLength = $this->length + $l; - do { - $toRead = $totalLength - $this->length; - if ($toRead < 1) - break; - - $this->buffer .= fread($this->file, $toRead); - } while ((($this->length = strlen($this->buffer)) != $totalLength) && !feof($this->file)); - - return true; - } else { - return false; - } - } -} \ No newline at end of file diff --git a/pandora_console/vendor/setasign/fpdi/pdf_parser.php b/pandora_console/vendor/setasign/fpdi/pdf_parser.php deleted file mode 100644 index 5dec59e9d5..0000000000 --- a/pandora_console/vendor/setasign/fpdi/pdf_parser.php +++ /dev/null @@ -1,925 +0,0 @@ -filename = $filename; - - $this->_f = @fopen($this->filename, 'rb'); - - if (!$this->_f) { - throw new InvalidArgumentException(sprintf('Cannot open %s !', $filename)); - } - - $this->getPdfVersion(); - - if (!class_exists('pdf_context')) { - require_once('pdf_context.php'); - } - $this->_c = new pdf_context($this->_f); - - // Read xref-Data - $this->_xref = array(); - $this->_readXref($this->_xref, $this->_findXref()); - - // Check for Encryption - $this->getEncryption(); - - // Read root - $this->_readRoot(); - } - - /** - * Destructor - */ - public function __destruct() - { - $this->closeFile(); - } - - /** - * Close the opened file - */ - public function closeFile() - { - if (isset($this->_f) && is_resource($this->_f)) { - fclose($this->_f); - unset($this->_f); - } - } - - /** - * Check Trailer for Encryption - * - * @throws Exception - */ - public function getEncryption() - { - if (isset($this->_xref['trailer'][1]['/Encrypt'])) { - throw new Exception('File is encrypted!'); - } - } - - /** - * Get PDF-Version - * - * @return string - */ - public function getPdfVersion() - { - if ($this->_pdfVersion === null) { - fseek($this->_f, 0); - preg_match('/\d\.\d/', fread($this->_f, 16), $m); - if (isset($m[0])) - $this->_pdfVersion = $m[0]; - } - - return $this->_pdfVersion; - } - - /** - * Read the /Root dictionary - */ - protected function _readRoot() - { - if ($this->_xref['trailer'][1]['/Root'][0] != self::TYPE_OBJREF) { - throw new Exception('Wrong Type of Root-Element! Must be an indirect reference'); - } - - $this->_root = $this->resolveObject($this->_xref['trailer'][1]['/Root']); - } - - /** - * Find the xref table - * - * @return integer - * @throws Exception - */ - protected function _findXref() - { - $toRead = self::$searchForStartxrefLength; - - $stat = fseek($this->_f, -$toRead, SEEK_END); - if ($stat === -1) { - fseek($this->_f, 0); - } - - $data = fread($this->_f, $toRead); - - $keywordPos = strpos(strrev($data), strrev('startxref')); - if (false === $keywordPos) { - $keywordPos = strpos(strrev($data), strrev('startref')); - } - - if (false === $keywordPos) { - throw new Exception('Unable to find "startxref" keyword.'); - } - - $pos = strlen($data) - $keywordPos; - $data = substr($data, $pos); - - if (!preg_match('/\s*(\d+).*$/s', $data, $matches)) { - throw new Exception('Unable to find pointer to xref table.'); - } - - return (int) $matches[1]; - } - - /** - * Read the xref table - * - * @param array $result Array of xref table entries - * @param integer $offset of xref table - * @return boolean - * @throws Exception - */ - protected function _readXref(&$result, $offset) - { - $tempPos = $offset - min(20, $offset); - fseek($this->_f, $tempPos); // set some bytes backwards to fetch corrupted docs - - $data = fread($this->_f, 100); - - $xrefPos = strrpos($data, 'xref'); - - if ($xrefPos === false) { - $this->_c->reset($offset); - $xrefStreamObjDec = $this->_readValue($this->_c); - - if (is_array($xrefStreamObjDec) && isset($xrefStreamObjDec[0]) && $xrefStreamObjDec[0] == self::TYPE_OBJDEC) { - throw new Exception( - sprintf( - 'This document (%s) probably uses a compression technique which is not supported by the ' . - 'free parser shipped with FPDI. (See https://www.setasign.com/fpdi-pdf-parser for more details)', - $this->filename - ) - ); - } else { - throw new Exception('Unable to find xref table.'); - } - } - - if (!isset($result['xrefLocation'])) { - $result['xrefLocation'] = $tempPos + $xrefPos; - $result['maxObject'] = 0; - } - - $cycles = -1; - $bytesPerCycle = 100; - - fseek($this->_f, $tempPos = $tempPos + $xrefPos + 4); // set the handle directly after the "xref"-keyword - $data = fread($this->_f, $bytesPerCycle); - - while (($trailerPos = strpos($data, 'trailer', max($bytesPerCycle * $cycles++, 0))) === false && !feof($this->_f)) { - $data .= fread($this->_f, $bytesPerCycle); - } - - if ($trailerPos === false) { - throw new Exception('Trailer keyword not found after xref table'); - } - - $data = ltrim(substr($data, 0, $trailerPos)); - - // get Line-Ending - $found = preg_match_all("/(\r\n|\n|\r)/", substr($data, 0, 100), $m); // check the first 100 bytes for line breaks - if ($found === 0) { - throw new Exception('Xref table seems to be corrupted.'); - } - $differentLineEndings = count(array_unique($m[0])); - if ($differentLineEndings > 1) { - $lines = preg_split("/(\r\n|\n|\r)/", $data, -1, PREG_SPLIT_NO_EMPTY); - } else { - $lines = explode($m[0][0], $data); - } - - $data = $differentLineEndings = $m = null; - unset($data, $differentLineEndings, $m); - - $linesCount = count($lines); - - $start = 1; - - for ($i = 0; $i < $linesCount; $i++) { - $line = trim($lines[$i]); - if ($line) { - $pieces = explode(' ', $line); - $c = count($pieces); - switch($c) { - case 2: - $start = (int)$pieces[0]; - $end = $start + (int)$pieces[1]; - if ($end > $result['maxObject']) - $result['maxObject'] = $end; - break; - case 3: - if (!isset($result['xref'][$start])) - $result['xref'][$start] = array(); - - if (!array_key_exists($gen = (int) $pieces[1], $result['xref'][$start])) { - $result['xref'][$start][$gen] = $pieces[2] == 'n' ? (int) $pieces[0] : null; - } - $start++; - break; - default: - throw new Exception('Unexpected data in xref table'); - } - } - } - - $lines = $pieces = $line = $start = $end = $gen = null; - unset($lines, $pieces, $line, $start, $end, $gen); - - $this->_c->reset($tempPos + $trailerPos + 7); - $trailer = $this->_readValue($this->_c); - - if (!isset($result['trailer'])) { - $result['trailer'] = $trailer; - } - - if (isset($trailer[1]['/Prev'])) { - $this->_readXref($result, $trailer[1]['/Prev'][1]); - } - - $trailer = null; - unset($trailer); - - return true; - } - - /** - * Reads a PDF value - * - * @param pdf_context $c - * @param string $token A token - * @return mixed - * @throws Exception - */ - protected function _readValue(&$c, $token = null) - { - if (is_null($token)) { - $token = $this->_readToken($c); - } - - if ($token === false) { - return false; - } - - switch ($token) { - case '<': - // This is a hex string. - // Read the value, then the terminator - - $pos = $c->offset; - - while(1) { - - $match = strpos($c->buffer, '>', $pos); - - // If you can't find it, try - // reading more data from the stream - - if ($match === false) { - if (!$c->increaseLength()) { - return false; - } else { - continue; - } - } - - $result = substr($c->buffer, $c->offset, $match - $c->offset); - $c->offset = $match + 1; - - return array (self::TYPE_HEX, $result); - } - break; - - case '<<': - // This is a dictionary. - - $result = array(); - - // Recurse into this function until we reach - // the end of the dictionary. - while (($key = $this->_readToken($c)) !== '>>') { - if ($key === false) { - return false; - } - - if (($value = $this->_readValue($c)) === false) { - return false; - } - - // Catch missing value - if ($value[0] == self::TYPE_TOKEN && $value[1] == '>>') { - $result[$key] = array(self::TYPE_NULL); - break; - } - - $result[$key] = $value; - } - - return array (self::TYPE_DICTIONARY, $result); - - case '[': - // This is an array. - - $result = array(); - - // Recurse into this function until we reach - // the end of the array. - while (($token = $this->_readToken($c)) !== ']') { - if ($token === false) { - return false; - } - - if (($value = $this->_readValue($c, $token)) === false) { - return false; - } - - $result[] = $value; - } - - return array (self::TYPE_ARRAY, $result); - - case '(': - // This is a string - $pos = $c->offset; - - $openBrackets = 1; - do { - for (; $openBrackets != 0 && $pos < $c->length; $pos++) { - switch (ord($c->buffer[$pos])) { - case 0x28: // '(' - $openBrackets++; - break; - case 0x29: // ')' - $openBrackets--; - break; - case 0x5C: // backslash - $pos++; - } - } - } while($openBrackets != 0 && $c->increaseLength()); - - $result = substr($c->buffer, $c->offset, $pos - $c->offset - 1); - $c->offset = $pos; - - return array (self::TYPE_STRING, $result); - - case 'stream': - $tempPos = $c->getPos() - strlen($c->buffer); - $tempOffset = $c->offset; - - $c->reset($startPos = $tempPos + $tempOffset); - - // Find the first "newline" - while ($c->buffer[0] !== chr(10) && $c->buffer[0] !== chr(13)) { - $c->reset(++$startPos); - if ($c->ensureContent() === false) { - throw new Exception( - 'Unable to parse stream data. No newline followed the stream keyword.' - ); - } - } - - $e = 0; // ensure line breaks in front of the stream - if ($c->buffer[0] == chr(10) || $c->buffer[0] == chr(13)) - $e++; - if ($c->buffer[1] == chr(10) && $c->buffer[0] != chr(10)) - $e++; - - if ($this->_currentObj[1][1]['/Length'][0] == self::TYPE_OBJREF) { - $tmpLength = $this->resolveObject($this->_currentObj[1][1]['/Length']); - $length = $tmpLength[1][1]; - } else { - $length = $this->_currentObj[1][1]['/Length'][1]; - } - - if ($length > 0) { - $c->reset($startPos + $e, $length); - $v = $c->buffer; - } else { - $v = ''; - } - - $c->reset($startPos + $e + $length); - $endstream = $this->_readToken($c); - - if ($endstream != 'endstream') { - $c->reset($startPos + $e + $length + 9); // 9 = strlen("endstream") - // We don't throw an error here because the next - // round trip will start at a new offset - } - - return array(self::TYPE_STREAM, $v); - - default: - if (is_numeric($token)) { - // A numeric token. Make sure that - // it is not part of something else. - if (($tok2 = $this->_readToken($c)) !== false) { - if (is_numeric($tok2)) { - - // Two numeric tokens in a row. - // In this case, we're probably in - // front of either an object reference - // or an object specification. - // Determine the case and return the data - if (($tok3 = $this->_readToken($c)) !== false) { - switch ($tok3) { - case 'obj': - return array(self::TYPE_OBJDEC, (int)$token, (int)$tok2); - case 'R': - return array(self::TYPE_OBJREF, (int)$token, (int)$tok2); - } - // If we get to this point, that numeric value up - // there was just a numeric value. Push the extra - // tokens back into the stack and return the value. - array_push($c->stack, $tok3); - } - } - - array_push($c->stack, $tok2); - } - - if ($token === (string)((int)$token)) - return array(self::TYPE_NUMERIC, (int)$token); - else - return array(self::TYPE_REAL, (float)$token); - } else if ($token == 'true' || $token == 'false') { - return array(self::TYPE_BOOLEAN, $token == 'true'); - } else if ($token == 'null') { - return array(self::TYPE_NULL); - } else { - // Just a token. Return it. - return array(self::TYPE_TOKEN, $token); - } - } - } - - /** - * Resolve an object - * - * @param array $objSpec The object-data - * @return array|boolean - * @throws Exception - */ - public function resolveObject($objSpec) - { - $c = $this->_c; - - // Exit if we get invalid data - if (!is_array($objSpec)) { - return false; - } - - if ($objSpec[0] == self::TYPE_OBJREF) { - - // This is a reference, resolve it - if (isset($this->_xref['xref'][$objSpec[1]][$objSpec[2]])) { - - // Save current file position - // This is needed if you want to resolve - // references while you're reading another object - // (e.g.: if you need to determine the length - // of a stream) - - $oldPos = $c->getPos(); - - // Reposition the file pointer and - // load the object header. - - $c->reset($this->_xref['xref'][$objSpec[1]][$objSpec[2]]); - - $header = $this->_readValue($c); - - if ($header[0] != self::TYPE_OBJDEC || $header[1] != $objSpec[1] || $header[2] != $objSpec[2]) { - $toSearchFor = $objSpec[1] . ' ' . $objSpec[2] . ' obj'; - if (preg_match('/' . $toSearchFor . '/', $c->buffer)) { - $c->offset = strpos($c->buffer, $toSearchFor) + strlen($toSearchFor); - // reset stack - $c->stack = array(); - } else { - throw new Exception( - sprintf("Unable to find object (%s, %s) at expected location.", $objSpec[1], $objSpec[2]) - ); - } - } - - // If we're being asked to store all the information - // about the object, we add the object ID and generation - // number for later use - $result = array ( - self::TYPE_OBJECT, - 'obj' => $objSpec[1], - 'gen' => $objSpec[2] - ); - - $this->_currentObj =& $result; - - // Now simply read the object data until - // we encounter an end-of-object marker - while (true) { - $value = $this->_readValue($c); - if ($value === false || count($result) > 4) { - // in this case the parser couldn't find an "endobj" so we break here - break; - } - - if ($value[0] == self::TYPE_TOKEN && $value[1] === 'endobj') { - break; - } - - $result[] = $value; - } - - $c->reset($oldPos); - - if (isset($result[2][0]) && $result[2][0] == self::TYPE_STREAM) { - $result[0] = self::TYPE_STREAM; - } - - } else { - throw new Exception( - sprintf("Unable to find object (%s, %s) at expected location.", $objSpec[1], $objSpec[2]) - ); - } - - return $result; - } else { - return $objSpec; - } - } - - /** - * Reads a token from the context - * - * @param pdf_context $c - * @return mixed - */ - protected function _readToken($c) - { - // If there is a token available - // on the stack, pop it out and - // return it. - - if (count($c->stack)) { - return array_pop($c->stack); - } - - // Strip away any whitespace - - do { - if (!$c->ensureContent()) { - return false; - } - $c->offset += strspn($c->buffer, "\x20\x0A\x0C\x0D\x09\x00", $c->offset); - } while ($c->offset >= $c->length - 1); - - // Get the first character in the stream - - $char = $c->buffer[$c->offset++]; - - switch ($char) { - - case '[': - case ']': - case '(': - case ')': - - // This is either an array or literal string - // delimiter, Return it - - return $char; - - case '<': - case '>': - - // This could either be a hex string or - // dictionary delimiter. Determine the - // appropriate case and return the token - - if ($c->buffer[$c->offset] == $char) { - if (!$c->ensureContent()) { - return false; - } - $c->offset++; - return $char . $char; - } else { - return $char; - } - - case '%': - - // This is a comment - jump over it! - - $pos = $c->offset; - while(1) { - $match = preg_match("/(\r\n|\r|\n)/", $c->buffer, $m, PREG_OFFSET_CAPTURE, $pos); - if ($match === 0) { - if (!$c->increaseLength()) { - return false; - } else { - continue; - } - } - - $c->offset = $m[0][1] + strlen($m[0][0]); - - return $this->_readToken($c); - } - - default: - - // This is "another" type of token (probably - // a dictionary entry or a numeric value) - // Find the end and return it. - - if (!$c->ensureContent()) { - return false; - } - - while(1) { - - // Determine the length of the token - - $pos = strcspn($c->buffer, "\x20%[]<>()/\x0A\x0C\x0D\x09\x00", $c->offset); - - if ($c->offset + $pos <= $c->length - 1) { - break; - } else { - // If the script reaches this point, - // the token may span beyond the end - // of the current buffer. Therefore, - // we increase the size of the buffer - // and try again--just to be safe. - - $c->increaseLength(); - } - } - - $result = substr($c->buffer, $c->offset - 1, $pos + 1); - - $c->offset += $pos; - - return $result; - } - } - - /** - * Un-filter a stream object - * - * @param array $obj - * @return string - * @throws Exception - */ - protected function _unFilterStream($obj) - { - $filters = array(); - - if (isset($obj[1][1]['/Filter'])) { - $filter = $obj[1][1]['/Filter']; - - if ($filter[0] == pdf_parser::TYPE_OBJREF) { - $tmpFilter = $this->resolveObject($filter); - $filter = $tmpFilter[1]; - } - - if ($filter[0] == pdf_parser::TYPE_TOKEN) { - $filters[] = $filter; - } else if ($filter[0] == pdf_parser::TYPE_ARRAY) { - $filters = $filter[1]; - } - } - - $stream = $obj[2][1]; - - foreach ($filters AS $filter) { - switch ($filter[1]) { - case '/FlateDecode': - case '/Fl': - if (function_exists('gzuncompress')) { - $oStream = $stream; - $stream = (strlen($stream) > 0) ? @gzuncompress($stream) : ''; - } else { - throw new Exception( - sprintf('To handle %s filter, please compile php with zlib support.', $filter[1]) - ); - } - - if ($stream === false) { - $tries = 0; - while ($tries < 8 && ($stream === false || strlen($stream) < strlen($oStream))) { - $oStream = substr($oStream, 1); - $stream = @gzinflate($oStream); - $tries++; - } - - if ($stream === false) { - throw new Exception('Error while decompressing stream.'); - } - } - break; - case '/LZWDecode': - if (!class_exists('FilterLZW')) { - require_once('filters/FilterLZW.php'); - } - $decoder = new FilterLZW(); - $stream = $decoder->decode($stream); - break; - case '/ASCII85Decode': - if (!class_exists('FilterASCII85')) { - require_once('filters/FilterASCII85.php'); - } - $decoder = new FilterASCII85(); - $stream = $decoder->decode($stream); - break; - case '/ASCIIHexDecode': - if (!class_exists('FilterASCIIHexDecode')) { - require_once('filters/FilterASCIIHexDecode.php'); - } - $decoder = new FilterASCIIHexDecode(); - $stream = $decoder->decode($stream); - break; - case null: - break; - default: - throw new Exception(sprintf('Unsupported Filter: %s', $filter[1])); - } - } - - return $stream; - } -} \ No newline at end of file diff --git a/pandora_console/vendor/setasign/fpdi/src/FpdfTpl.php b/pandora_console/vendor/setasign/fpdi/src/FpdfTpl.php new file mode 100644 index 0000000000..4b93f5396f --- /dev/null +++ b/pandora_console/vendor/setasign/fpdi/src/FpdfTpl.php @@ -0,0 +1,21 @@ +currentTemplateId !== null) { + throw new \BadMethodCallException('The page format cannot be changed when writing to a template.'); + } + + if (!\in_array($orientation, ['P', 'L'], true)) { + throw new \InvalidArgumentException(\sprintf( + 'Invalid page orientation "%s"! Only "P" and "L" are allowed!', + $orientation + )); + } + + $size = $this->_getpagesize($size); + + if ( + $orientation != $this->CurOrientation + || $size[0] != $this->CurPageSize[0] + || $size[1] != $this->CurPageSize[1] + ) { + // New size or orientation + if ($orientation === 'P') { + $this->w = $size[0]; + $this->h = $size[1]; + } else { + $this->w = $size[1]; + $this->h = $size[0]; + } + $this->wPt = $this->w * $this->k; + $this->hPt = $this->h * $this->k; + $this->PageBreakTrigger = $this->h - $this->bMargin; + $this->CurOrientation = $orientation; + $this->CurPageSize = $size; + + $this->PageInfo[$this->page]['size'] = array($this->wPt, $this->hPt); + } + } + + /** + * Draws a template onto the page or another template. + * + * Give only one of the size parameters (width, height) to calculate the other one automatically in view to the + * aspect ratio. + * + * @param mixed $tpl The template id + * @param array|float|int $x The abscissa of upper-left corner. Alternatively you could use an assoc array + * with the keys "x", "y", "width", "height", "adjustPageSize". + * @param float|int $y The ordinate of upper-left corner. + * @param float|int|null $width The width. + * @param float|int|null $height The height. + * @param bool $adjustPageSize + * @return array The size + * @see FpdfTplTrait::getTemplateSize() + */ + public function useTemplate($tpl, $x = 0, $y = 0, $width = null, $height = null, $adjustPageSize = false) + { + if (!isset($this->templates[$tpl])) { + throw new \InvalidArgumentException('Template does not exist!'); + } + + if (\is_array($x)) { + unset($x['tpl']); + \extract($x, EXTR_IF_EXISTS); + /** @noinspection NotOptimalIfConditionsInspection */ + /** @noinspection PhpConditionAlreadyCheckedInspection */ + if (\is_array($x)) { + $x = 0; + } + } + + $template = $this->templates[$tpl]; + + $originalSize = $this->getTemplateSize($tpl); + $newSize = $this->getTemplateSize($tpl, $width, $height); + if ($adjustPageSize) { + $this->setPageFormat($newSize, $newSize['orientation']); + } + + $this->_out( + // reset standard values, translate and scale + \sprintf( + 'q 0 J 1 w 0 j 0 G 0 g %.4F 0 0 %.4F %.4F %.4F cm /%s Do Q', + ($newSize['width'] / $originalSize['width']), + ($newSize['height'] / $originalSize['height']), + $x * $this->k, + ($this->h - $y - $newSize['height']) * $this->k, + $template['id'] + ) + ); + + return $newSize; + } + + /** + * Get the size of a template. + * + * Give only one of the size parameters (width, height) to calculate the other one automatically in view to the + * aspect ratio. + * + * @param mixed $tpl The template id + * @param float|int|null $width The width. + * @param float|int|null $height The height. + * @return array|bool An array with following keys: width, height, 0 (=width), 1 (=height), orientation (L or P) + */ + public function getTemplateSize($tpl, $width = null, $height = null) + { + if (!isset($this->templates[$tpl])) { + return false; + } + + if ($width === null && $height === null) { + $width = $this->templates[$tpl]['width']; + $height = $this->templates[$tpl]['height']; + } elseif ($width === null) { + $width = $height * $this->templates[$tpl]['width'] / $this->templates[$tpl]['height']; + } + + if ($height === null) { + $height = $width * $this->templates[$tpl]['height'] / $this->templates[$tpl]['width']; + } + + if ($height <= 0. || $width <= 0.) { + throw new \InvalidArgumentException('Width or height parameter needs to be larger than zero.'); + } + + return [ + 'width' => $width, + 'height' => $height, + 0 => $width, + 1 => $height, + 'orientation' => $width > $height ? 'L' : 'P' + ]; + } + + /** + * Begins a new template. + * + * @param float|int|null $width The width of the template. If null, the current page width is used. + * @param float|int|null $height The height of the template. If null, the current page height is used. + * @param bool $groupXObject Define the form XObject as a group XObject to support transparency (if used). + * @return int A template identifier. + */ + public function beginTemplate($width = null, $height = null, $groupXObject = false) + { + if ($width === null) { + $width = $this->w; + } + + if ($height === null) { + $height = $this->h; + } + + $templateId = $this->getNextTemplateId(); + + // initiate buffer with current state of FPDF + $buffer = "2 J\n" + . \sprintf('%.2F w', $this->LineWidth * $this->k) . "\n"; + + if ($this->FontFamily) { + $buffer .= \sprintf("BT /F%d %.2F Tf ET\n", $this->CurrentFont['i'], $this->FontSizePt); + } + + if ($this->DrawColor !== '0 G') { + $buffer .= $this->DrawColor . "\n"; + } + if ($this->FillColor !== '0 g') { + $buffer .= $this->FillColor . "\n"; + } + + if ($groupXObject && \version_compare('1.4', $this->PDFVersion, '>')) { + $this->PDFVersion = '1.4'; + } + + $this->templates[$templateId] = [ + 'objectNumber' => null, + 'id' => 'TPL' . $templateId, + 'buffer' => $buffer, + 'width' => $width, + 'height' => $height, + 'groupXObject' => $groupXObject, + 'state' => [ + 'x' => $this->x, + 'y' => $this->y, + 'AutoPageBreak' => $this->AutoPageBreak, + 'bMargin' => $this->bMargin, + 'tMargin' => $this->tMargin, + 'lMargin' => $this->lMargin, + 'rMargin' => $this->rMargin, + 'h' => $this->h, + 'w' => $this->w, + 'FontFamily' => $this->FontFamily, + 'FontStyle' => $this->FontStyle, + 'FontSizePt' => $this->FontSizePt, + 'FontSize' => $this->FontSize, + 'underline' => $this->underline, + 'TextColor' => $this->TextColor, + 'DrawColor' => $this->DrawColor, + 'FillColor' => $this->FillColor, + 'ColorFlag' => $this->ColorFlag + ] + ]; + + $this->SetAutoPageBreak(false); + $this->currentTemplateId = $templateId; + + $this->h = $height; + $this->w = $width; + + $this->SetXY($this->lMargin, $this->tMargin); + $this->SetRightMargin($this->w - $width + $this->rMargin); + + return $templateId; + } + + /** + * Ends a template. + * + * @return bool|int|null A template identifier. + */ + public function endTemplate() + { + if ($this->currentTemplateId === null) { + return false; + } + + $templateId = $this->currentTemplateId; + $template = $this->templates[$templateId]; + + $state = $template['state']; + $this->SetXY($state['x'], $state['y']); + $this->tMargin = $state['tMargin']; + $this->lMargin = $state['lMargin']; + $this->rMargin = $state['rMargin']; + $this->h = $state['h']; + $this->w = $state['w']; + $this->SetAutoPageBreak($state['AutoPageBreak'], $state['bMargin']); + + $this->FontFamily = $state['FontFamily']; + $this->FontStyle = $state['FontStyle']; + $this->FontSizePt = $state['FontSizePt']; + $this->FontSize = $state['FontSize']; + + $this->TextColor = $state['TextColor']; + $this->DrawColor = $state['DrawColor']; + $this->FillColor = $state['FillColor']; + $this->ColorFlag = $state['ColorFlag']; + + $this->underline = $state['underline']; + + $fontKey = $this->FontFamily . $this->FontStyle; + if ($fontKey) { + $this->CurrentFont =& $this->fonts[$fontKey]; + } else { + unset($this->CurrentFont); + } + + $this->currentTemplateId = null; + + return $templateId; + } + + /** + * Get the next template id. + * + * @return int + */ + protected function getNextTemplateId() + { + return $this->templateId++; + } + + /* overwritten FPDF methods: */ + + /** + * @inheritdoc + */ + public function AddPage($orientation = '', $size = '', $rotation = 0) + { + if ($this->currentTemplateId !== null) { + throw new \BadMethodCallException('Pages cannot be added when writing to a template.'); + } + parent::AddPage($orientation, $size, $rotation); + } + + /** + * @inheritdoc + */ + public function Link($x, $y, $w, $h, $link) + { + if ($this->currentTemplateId !== null) { + throw new \BadMethodCallException('Links cannot be set when writing to a template.'); + } + parent::Link($x, $y, $w, $h, $link); + } + + /** + * @inheritdoc + */ + public function SetLink($link, $y = 0, $page = -1) + { + if ($this->currentTemplateId !== null) { + throw new \BadMethodCallException('Links cannot be set when writing to a template.'); + } + return parent::SetLink($link, $y, $page); + } + + /** + * @inheritdoc + */ + public function SetDrawColor($r, $g = null, $b = null) + { + parent::SetDrawColor($r, $g, $b); + if ($this->page === 0 && $this->currentTemplateId !== null) { + $this->_out($this->DrawColor); + } + } + + /** + * @inheritdoc + */ + public function SetFillColor($r, $g = null, $b = null) + { + parent::SetFillColor($r, $g, $b); + if ($this->page === 0 && $this->currentTemplateId !== null) { + $this->_out($this->FillColor); + } + } + + /** + * @inheritdoc + */ + public function SetLineWidth($width) + { + parent::SetLineWidth($width); + if ($this->page === 0 && $this->currentTemplateId !== null) { + $this->_out(\sprintf('%.2F w', $width * $this->k)); + } + } + + /** + * @inheritdoc + */ + public function SetFont($family, $style = '', $size = 0) + { + parent::SetFont($family, $style, $size); + if ($this->page === 0 && $this->currentTemplateId !== null) { + $this->_out(\sprintf('BT /F%d %.2F Tf ET', $this->CurrentFont['i'], $this->FontSizePt)); + } + } + + /** + * @inheritdoc + */ + public function SetFontSize($size) + { + parent::SetFontSize($size); + if ($this->page === 0 && $this->currentTemplateId !== null) { + $this->_out(sprintf('BT /F%d %.2F Tf ET', $this->CurrentFont['i'], $this->FontSizePt)); + } + } + + /** + * @inheritdoc + */ + protected function _putimages() + { + parent::_putimages(); + + foreach ($this->templates as $key => $template) { + $this->_newobj(); + $this->templates[$key]['objectNumber'] = $this->n; + + $this->_put('<_put(\sprintf( + '/BBox[0 0 %.2F %.2F]', + $template['width'] * $this->k, + $template['height'] * $this->k + )); + $this->_put('/Resources 2 0 R'); // default resources dictionary of FPDF + + if ($this->compress) { + $buffer = \gzcompress($template['buffer']); + $this->_put('/Filter/FlateDecode'); + } else { + $buffer = $template['buffer']; + } + + $this->_put('/Length ' . \strlen($buffer)); + + if ($template['groupXObject']) { + $this->_put('/Group <>'); + } + + $this->_put('>>'); + $this->_putstream($buffer); + $this->_put('endobj'); + } + } + + /** + * @inheritdoc + */ + protected function _putxobjectdict() + { + foreach ($this->templates as $key => $template) { + $this->_put('/' . $template['id'] . ' ' . $template['objectNumber'] . ' 0 R'); + } + + parent::_putxobjectdict(); + } + + /** + * @inheritdoc + */ + public function _out($s) + { + if ($this->currentTemplateId !== null) { + $this->templates[$this->currentTemplateId]['buffer'] .= $s . "\n"; + } else { + parent::_out($s); + } + } +} diff --git a/pandora_console/vendor/setasign/fpdi/src/Fpdi.php b/pandora_console/vendor/setasign/fpdi/src/Fpdi.php new file mode 100644 index 0000000000..157f87c716 --- /dev/null +++ b/pandora_console/vendor/setasign/fpdi/src/Fpdi.php @@ -0,0 +1,153 @@ +cleanUp(); + } + + /** + * Draws an imported page or a template onto the page or another template. + * + * Give only one of the size parameters (width, height) to calculate the other one automatically in view to the + * aspect ratio. + * + * @param mixed $tpl The template id + * @param float|int|array $x The abscissa of upper-left corner. Alternatively you could use an assoc array + * with the keys "x", "y", "width", "height", "adjustPageSize". + * @param float|int $y The ordinate of upper-left corner. + * @param float|int|null $width The width. + * @param float|int|null $height The height. + * @param bool $adjustPageSize + * @return array The size + * @see Fpdi::getTemplateSize() + */ + public function useTemplate($tpl, $x = 0, $y = 0, $width = null, $height = null, $adjustPageSize = false) + { + if (isset($this->importedPages[$tpl])) { + $size = $this->useImportedPage($tpl, $x, $y, $width, $height, $adjustPageSize); + if ($this->currentTemplateId !== null) { + $this->templates[$this->currentTemplateId]['resources']['templates']['importedPages'][$tpl] = $tpl; + } + return $size; + } + + return parent::useTemplate($tpl, $x, $y, $width, $height, $adjustPageSize); + } + + /** + * Get the size of an imported page or template. + * + * Give only one of the size parameters (width, height) to calculate the other one automatically in view to the + * aspect ratio. + * + * @param mixed $tpl The template id + * @param float|int|null $width The width. + * @param float|int|null $height The height. + * @return array|bool An array with following keys: width, height, 0 (=width), 1 (=height), orientation (L or P) + */ + public function getTemplateSize($tpl, $width = null, $height = null) + { + $size = parent::getTemplateSize($tpl, $width, $height); + if ($size === false) { + return $this->getImportedPageSize($tpl, $width, $height); + } + + return $size; + } + + /** + * @inheritdoc + * @throws CrossReferenceException + * @throws PdfParserException + */ + protected function _putimages() + { + $this->currentReaderId = null; + parent::_putimages(); + + foreach ($this->importedPages as $key => $pageData) { + $this->_newobj(); + $this->importedPages[$key]['objectNumber'] = $this->n; + $this->currentReaderId = $pageData['readerId']; + $this->writePdfType($pageData['stream']); + $this->_put('endobj'); + } + + foreach (\array_keys($this->readers) as $readerId) { + $parser = $this->getPdfReader($readerId)->getParser(); + $this->currentReaderId = $readerId; + + while (($objectNumber = \array_pop($this->objectsToCopy[$readerId])) !== null) { + try { + $object = $parser->getIndirectObject($objectNumber); + } catch (CrossReferenceException $e) { + if ($e->getCode() === CrossReferenceException::OBJECT_NOT_FOUND) { + $object = PdfIndirectObject::create($objectNumber, 0, new PdfNull()); + } else { + throw $e; + } + } + + $this->writePdfType($object); + } + } + + $this->currentReaderId = null; + } + + /** + * @inheritdoc + */ + protected function _putxobjectdict() + { + foreach ($this->importedPages as $key => $pageData) { + $this->_put('/' . $pageData['id'] . ' ' . $pageData['objectNumber'] . ' 0 R'); + } + + parent::_putxobjectdict(); + } + + /** + * @inheritdoc + */ + protected function _put($s, $newLine = true) + { + if ($newLine) { + $this->buffer .= $s . "\n"; + } else { + $this->buffer .= $s; + } + } +} diff --git a/pandora_console/vendor/setasign/fpdi/src/FpdiException.php b/pandora_console/vendor/setasign/fpdi/src/FpdiException.php new file mode 100644 index 0000000000..2286667441 --- /dev/null +++ b/pandora_console/vendor/setasign/fpdi/src/FpdiException.php @@ -0,0 +1,18 @@ +readers) : $this->createdReaders; + foreach ($readers as $id) { + $this->readers[$id]->getParser()->getStreamReader()->cleanUp(); + unset($this->readers[$id]); + } + + $this->createdReaders = []; + } + + /** + * Set the minimal PDF version. + * + * @param string $pdfVersion + */ + protected function setMinPdfVersion($pdfVersion) + { + if (\version_compare($pdfVersion, $this->PDFVersion, '>')) { + $this->PDFVersion = $pdfVersion; + } + } + + /** @noinspection PhpUndefinedClassInspection */ + /** + * Get a new pdf parser instance. + * + * @param StreamReader $streamReader + * @return PdfParser|FpdiPdfParser + */ + protected function getPdfParserInstance(StreamReader $streamReader) + { + // note: if you get an exception here - turn off errors/warnings on not found for your autoloader. + // psr-4 (https://www.php-fig.org/psr/psr-4/) says: Autoloader implementations MUST NOT throw + // exceptions, MUST NOT raise errors of any level, and SHOULD NOT return a value. + /** @noinspection PhpUndefinedClassInspection */ + if (\class_exists(FpdiPdfParser::class)) { + /** @noinspection PhpUndefinedClassInspection */ + return new FpdiPdfParser($streamReader); + } + + return new PdfParser($streamReader); + } + + /** + * Get an unique reader id by the $file parameter. + * + * @param string|resource|PdfReader|StreamReader $file An open file descriptor, a path to a file, a PdfReader + * instance or a StreamReader instance. + * @return string + */ + protected function getPdfReaderId($file) + { + if (\is_resource($file)) { + $id = (string) $file; + } elseif (\is_string($file)) { + $id = \realpath($file); + if ($id === false) { + $id = $file; + } + } elseif (\is_object($file)) { + $id = \spl_object_hash($file); + } else { + throw new \InvalidArgumentException( + \sprintf('Invalid type in $file parameter (%s)', \gettype($file)) + ); + } + + /** @noinspection OffsetOperationsInspection */ + if (isset($this->readers[$id])) { + return $id; + } + + if (\is_resource($file)) { + $streamReader = new StreamReader($file); + } elseif (\is_string($file)) { + $streamReader = StreamReader::createByFile($file); + $this->createdReaders[] = $id; + } else { + $streamReader = $file; + } + + $reader = new PdfReader($this->getPdfParserInstance($streamReader)); + /** @noinspection OffsetOperationsInspection */ + $this->readers[$id] = $reader; + + return $id; + } + + /** + * Get a pdf reader instance by its id. + * + * @param string $id + * @return PdfReader + */ + protected function getPdfReader($id) + { + if (isset($this->readers[$id])) { + return $this->readers[$id]; + } + + throw new \InvalidArgumentException( + \sprintf('No pdf reader with the given id (%s) exists.', $id) + ); + } + + /** + * Set the source PDF file. + * + * @param string|resource|StreamReader $file Path to the file or a stream resource or a StreamReader instance. + * @return int The page count of the PDF document. + * @throws PdfParserException + */ + public function setSourceFile($file) + { + $this->currentReaderId = $this->getPdfReaderId($file); + $this->objectsToCopy[$this->currentReaderId] = []; + + $reader = $this->getPdfReader($this->currentReaderId); + $this->setMinPdfVersion($reader->getPdfVersion()); + + return $reader->getPageCount(); + } + + /** + * Imports a page. + * + * @param int $pageNumber The page number. + * @param string $box The page boundary to import. Default set to PageBoundaries::CROP_BOX. + * @param bool $groupXObject Define the form XObject as a group XObject to support transparency (if used). + * @return string A unique string identifying the imported page. + * @throws CrossReferenceException + * @throws FilterException + * @throws PdfParserException + * @throws PdfTypeException + * @throws PdfReaderException + * @see PageBoundaries + */ + public function importPage($pageNumber, $box = PageBoundaries::CROP_BOX, $groupXObject = true) + { + if (null === $this->currentReaderId) { + throw new \BadMethodCallException('No reader initiated. Call setSourceFile() first.'); + } + + $pageId = $this->currentReaderId; + + $pageNumber = (int)$pageNumber; + $pageId .= '|' . $pageNumber . '|' . ($groupXObject ? '1' : '0'); + + // for backwards compatibility with FPDI 1 + $box = \ltrim($box, '/'); + if (!PageBoundaries::isValidName($box)) { + throw new \InvalidArgumentException( + \sprintf('Box name is invalid: "%s"', $box) + ); + } + + $pageId .= '|' . $box; + + if (isset($this->importedPages[$pageId])) { + return $pageId; + } + + $reader = $this->getPdfReader($this->currentReaderId); + $page = $reader->getPage($pageNumber); + + $bbox = $page->getBoundary($box); + if ($bbox === false) { + throw new PdfReaderException( + \sprintf("Page doesn't have a boundary box (%s).", $box), + PdfReaderException::MISSING_DATA + ); + } + + $dict = new PdfDictionary(); + $dict->value['Type'] = PdfName::create('XObject'); + $dict->value['Subtype'] = PdfName::create('Form'); + $dict->value['FormType'] = PdfNumeric::create(1); + $dict->value['BBox'] = $bbox->toPdfArray(); + + if ($groupXObject) { + $this->setMinPdfVersion('1.4'); + $dict->value['Group'] = PdfDictionary::create([ + 'Type' => PdfName::create('Group'), + 'S' => PdfName::create('Transparency') + ]); + } + + $resources = $page->getAttribute('Resources'); + if ($resources !== null) { + $dict->value['Resources'] = $resources; + } + + list($width, $height) = $page->getWidthAndHeight($box); + + $a = 1; + $b = 0; + $c = 0; + $d = 1; + $e = -$bbox->getLlx(); + $f = -$bbox->getLly(); + + $rotation = $page->getRotation(); + + if ($rotation !== 0) { + $rotation *= -1; + $angle = $rotation * M_PI / 180; + $a = \cos($angle); + $b = \sin($angle); + $c = -$b; + $d = $a; + + switch ($rotation) { + case -90: + $e = -$bbox->getLly(); + $f = $bbox->getUrx(); + break; + case -180: + $e = $bbox->getUrx(); + $f = $bbox->getUry(); + break; + case -270: + $e = $bbox->getUry(); + $f = -$bbox->getLlx(); + break; + } + } + + // we need to rotate/translate + if ($a != 1 || $b != 0 || $c != 0 || $d != 1 || $e != 0 || $f != 0) { + $dict->value['Matrix'] = PdfArray::create([ + PdfNumeric::create($a), PdfNumeric::create($b), PdfNumeric::create($c), + PdfNumeric::create($d), PdfNumeric::create($e), PdfNumeric::create($f) + ]); + } + + // try to use the existing content stream + $pageDict = $page->getPageDictionary(); + + try { + $contentsObject = PdfType::resolve(PdfDictionary::get($pageDict, 'Contents'), $reader->getParser(), true); + $contents = PdfType::resolve($contentsObject, $reader->getParser()); + + // just copy the stream reference if it is only a single stream + if ( + ($contentsIsStream = ($contents instanceof PdfStream)) + || ($contents instanceof PdfArray && \count($contents->value) === 1) + ) { + if ($contentsIsStream) { + /** + * @var PdfIndirectObject $contentsObject + */ + $stream = $contents; + } else { + $stream = PdfType::resolve($contents->value[0], $reader->getParser()); + } + + $filter = PdfDictionary::get($stream->value, 'Filter'); + if (!$filter instanceof PdfNull) { + $dict->value['Filter'] = $filter; + } + $length = PdfType::resolve(PdfDictionary::get($stream->value, 'Length'), $reader->getParser()); + $dict->value['Length'] = $length; + $stream->value = $dict; + // otherwise extract it from the array and re-compress the whole stream + } else { + $streamContent = $this->compress + ? \gzcompress($page->getContentStream()) + : $page->getContentStream(); + + $dict->value['Length'] = PdfNumeric::create(\strlen($streamContent)); + if ($this->compress) { + $dict->value['Filter'] = PdfName::create('FlateDecode'); + } + + $stream = PdfStream::create($dict, $streamContent); + } + // Catch faulty pages and use an empty content stream + } catch (FpdiException $e) { + $dict->value['Length'] = PdfNumeric::create(0); + $stream = PdfStream::create($dict, ''); + } + + $this->importedPages[$pageId] = [ + 'objectNumber' => null, + 'readerId' => $this->currentReaderId, + 'id' => 'TPL' . $this->getNextTemplateId(), + 'width' => $width / $this->k, + 'height' => $height / $this->k, + 'stream' => $stream + ]; + + return $pageId; + } + + /** + * Draws an imported page onto the page. + * + * Give only one of the size parameters (width, height) to calculate the other one automatically in view to the + * aspect ratio. + * + * @param mixed $pageId The page id + * @param float|int|array $x The abscissa of upper-left corner. Alternatively you could use an assoc array + * with the keys "x", "y", "width", "height", "adjustPageSize". + * @param float|int $y The ordinate of upper-left corner. + * @param float|int|null $width The width. + * @param float|int|null $height The height. + * @param bool $adjustPageSize + * @return array The size. + * @see Fpdi::getTemplateSize() + */ + public function useImportedPage($pageId, $x = 0, $y = 0, $width = null, $height = null, $adjustPageSize = false) + { + if (\is_array($x)) { + /** @noinspection OffsetOperationsInspection */ + unset($x['pageId']); + \extract($x, EXTR_IF_EXISTS); + /** @noinspection NotOptimalIfConditionsInspection */ + if (\is_array($x)) { + $x = 0; + } + } + + if (!isset($this->importedPages[$pageId])) { + throw new \InvalidArgumentException('Imported page does not exist!'); + } + + $importedPage = $this->importedPages[$pageId]; + + $originalSize = $this->getTemplateSize($pageId); + $newSize = $this->getTemplateSize($pageId, $width, $height); + if ($adjustPageSize) { + $this->setPageFormat($newSize, $newSize['orientation']); + } + + $this->_out( + // reset standard values, translate and scale + \sprintf( + 'q 0 J 1 w 0 j 0 G 0 g %.4F 0 0 %.4F %.4F %.4F cm /%s Do Q', + ($newSize['width'] / $originalSize['width']), + ($newSize['height'] / $originalSize['height']), + $x * $this->k, + ($this->h - $y - $newSize['height']) * $this->k, + $importedPage['id'] + ) + ); + + return $newSize; + } + + /** + * Get the size of an imported page. + * + * Give only one of the size parameters (width, height) to calculate the other one automatically in view to the + * aspect ratio. + * + * @param mixed $tpl The template id + * @param float|int|null $width The width. + * @param float|int|null $height The height. + * @return array|bool An array with following keys: width, height, 0 (=width), 1 (=height), orientation (L or P) + */ + public function getImportedPageSize($tpl, $width = null, $height = null) + { + if (isset($this->importedPages[$tpl])) { + $importedPage = $this->importedPages[$tpl]; + + if ($width === null && $height === null) { + $width = $importedPage['width']; + $height = $importedPage['height']; + } elseif ($width === null) { + $width = $height * $importedPage['width'] / $importedPage['height']; + } + + if ($height === null) { + $height = $width * $importedPage['height'] / $importedPage['width']; + } + + if ($height <= 0. || $width <= 0.) { + throw new \InvalidArgumentException('Width or height parameter needs to be larger than zero.'); + } + + return [ + 'width' => $width, + 'height' => $height, + 0 => $width, + 1 => $height, + 'orientation' => $width > $height ? 'L' : 'P' + ]; + } + + return false; + } + + /** + * Writes a PdfType object to the resulting buffer. + * + * @param PdfType $value + * @throws PdfTypeException + */ + protected function writePdfType(PdfType $value) + { + if ($value instanceof PdfNumeric) { + if (\is_int($value->value)) { + $this->_put($value->value . ' ', false); + } else { + $this->_put(\rtrim(\rtrim(\sprintf('%.5F', $value->value), '0'), '.') . ' ', false); + } + } elseif ($value instanceof PdfName) { + $this->_put('/' . $value->value . ' ', false); + } elseif ($value instanceof PdfString) { + $this->_put('(' . $value->value . ')', false); + } elseif ($value instanceof PdfHexString) { + $this->_put('<' . $value->value . '>'); + } elseif ($value instanceof PdfBoolean) { + $this->_put($value->value ? 'true ' : 'false ', false); + } elseif ($value instanceof PdfArray) { + $this->_put('[', false); + foreach ($value->value as $entry) { + $this->writePdfType($entry); + } + $this->_put(']'); + } elseif ($value instanceof PdfDictionary) { + $this->_put('<<', false); + foreach ($value->value as $name => $entry) { + $this->_put('/' . $name . ' ', false); + $this->writePdfType($entry); + } + $this->_put('>>'); + } elseif ($value instanceof PdfToken) { + $this->_put($value->value); + } elseif ($value instanceof PdfNull) { + $this->_put('null '); + } elseif ($value instanceof PdfStream) { + /** + * @var $value PdfStream + */ + $this->writePdfType($value->value); + $this->_put('stream'); + $this->_put($value->getStream()); + $this->_put('endstream'); + } elseif ($value instanceof PdfIndirectObjectReference) { + if (!isset($this->objectMap[$this->currentReaderId])) { + $this->objectMap[$this->currentReaderId] = []; + } + + if (!isset($this->objectMap[$this->currentReaderId][$value->value])) { + $this->objectMap[$this->currentReaderId][$value->value] = ++$this->n; + $this->objectsToCopy[$this->currentReaderId][] = $value->value; + } + + $this->_put($this->objectMap[$this->currentReaderId][$value->value] . ' 0 R ', false); + } elseif ($value instanceof PdfIndirectObject) { + /** + * @var PdfIndirectObject $value + */ + $n = $this->objectMap[$this->currentReaderId][$value->objectNumber]; + $this->_newobj($n); + $this->writePdfType($value->value); + $this->_put('endobj'); + } + } +} diff --git a/pandora_console/vendor/setasign/fpdi/src/PdfParser/CrossReference/AbstractReader.php b/pandora_console/vendor/setasign/fpdi/src/PdfParser/CrossReference/AbstractReader.php new file mode 100644 index 0000000000..b54237bc1d --- /dev/null +++ b/pandora_console/vendor/setasign/fpdi/src/PdfParser/CrossReference/AbstractReader.php @@ -0,0 +1,95 @@ +parser = $parser; + $this->readTrailer(); + } + + /** + * Get the trailer dictionary. + * + * @return PdfDictionary + */ + public function getTrailer() + { + return $this->trailer; + } + + /** + * Read the trailer dictionary. + * + * @throws CrossReferenceException + * @throws PdfTypeException + */ + protected function readTrailer() + { + try { + $trailerKeyword = $this->parser->readValue(null, PdfToken::class); + if ($trailerKeyword->value !== 'trailer') { + throw new CrossReferenceException( + \sprintf( + 'Unexpected end of cross reference. "trailer"-keyword expected, got: %s.', + $trailerKeyword->value + ), + CrossReferenceException::UNEXPECTED_END + ); + } + } catch (PdfTypeException $e) { + throw new CrossReferenceException( + 'Unexpected end of cross reference. "trailer"-keyword expected, got an invalid object type.', + CrossReferenceException::UNEXPECTED_END, + $e + ); + } + + try { + $trailer = $this->parser->readValue(null, PdfDictionary::class); + } catch (PdfTypeException $e) { + throw new CrossReferenceException( + 'Unexpected end of cross reference. Trailer not found.', + CrossReferenceException::UNEXPECTED_END, + $e + ); + } + + $this->trailer = $trailer; + } +} diff --git a/pandora_console/vendor/setasign/fpdi/src/PdfParser/CrossReference/CrossReference.php b/pandora_console/vendor/setasign/fpdi/src/PdfParser/CrossReference/CrossReference.php new file mode 100644 index 0000000000..c47e8c4c36 --- /dev/null +++ b/pandora_console/vendor/setasign/fpdi/src/PdfParser/CrossReference/CrossReference.php @@ -0,0 +1,326 @@ +parser = $parser; + $this->fileHeaderOffset = $fileHeaderOffset; + + $offset = $this->findStartXref(); + $reader = null; + /** @noinspection TypeUnsafeComparisonInspection */ + while ($offset != false) { // By doing an unsafe comparsion we ignore faulty references to byte offset 0 + try { + $reader = $this->readXref($offset + $this->fileHeaderOffset); + } catch (CrossReferenceException $e) { + // sometimes the file header offset is part of the byte offsets, so let's retry by resetting it to zero. + if ($e->getCode() === CrossReferenceException::INVALID_DATA && $this->fileHeaderOffset !== 0) { + $this->fileHeaderOffset = 0; + $reader = $this->readXref($offset + $this->fileHeaderOffset); + } else { + throw $e; + } + } + + $trailer = $reader->getTrailer(); + $this->checkForEncryption($trailer); + $this->readers[] = $reader; + + if (isset($trailer->value['Prev'])) { + $offset = $trailer->value['Prev']->value; + } else { + $offset = false; + } + } + + // fix faulty sub-section header + if ($reader instanceof FixedReader) { + /** + * @var FixedReader $reader + */ + $reader->fixFaultySubSectionShift(); + } + + if ($reader === null) { + throw new CrossReferenceException('No cross-reference found.', CrossReferenceException::NO_XREF_FOUND); + } + } + + /** + * Get the size of the cross reference. + * + * @return integer + */ + public function getSize() + { + return $this->getTrailer()->value['Size']->value; + } + + /** + * Get the trailer dictionary. + * + * @return PdfDictionary + */ + public function getTrailer() + { + return $this->readers[0]->getTrailer(); + } + + /** + * Get the cross reference readser instances. + * + * @return ReaderInterface[] + */ + public function getReaders() + { + return $this->readers; + } + + /** + * Get the offset by an object number. + * + * @param int $objectNumber + * @return integer|bool + */ + public function getOffsetFor($objectNumber) + { + foreach ($this->getReaders() as $reader) { + $offset = $reader->getOffsetFor($objectNumber); + if ($offset !== false) { + return $offset; + } + } + + return false; + } + + /** + * Get an indirect object by its object number. + * + * @param int $objectNumber + * @return PdfIndirectObject + * @throws CrossReferenceException + */ + public function getIndirectObject($objectNumber) + { + $offset = $this->getOffsetFor($objectNumber); + if ($offset === false) { + throw new CrossReferenceException( + \sprintf('Object (id:%s) not found.', $objectNumber), + CrossReferenceException::OBJECT_NOT_FOUND + ); + } + + $parser = $this->parser; + + $parser->getTokenizer()->clearStack(); + $parser->getStreamReader()->reset($offset + $this->fileHeaderOffset); + + try { + /** @var PdfIndirectObject $object */ + $object = $parser->readValue(null, PdfIndirectObject::class); + } catch (PdfTypeException $e) { + throw new CrossReferenceException( + \sprintf('Object (id:%s) not found at location (%s).', $objectNumber, $offset), + CrossReferenceException::OBJECT_NOT_FOUND, + $e + ); + } + + if ($object->objectNumber !== $objectNumber) { + throw new CrossReferenceException( + \sprintf('Wrong object found, got %s while %s was expected.', $object->objectNumber, $objectNumber), + CrossReferenceException::OBJECT_NOT_FOUND + ); + } + + return $object; + } + + /** + * Read the cross-reference table at a given offset. + * + * Internally the method will try to evaluate the best reader for this cross-reference. + * + * @param int $offset + * @return ReaderInterface + * @throws CrossReferenceException + * @throws PdfTypeException + */ + protected function readXref($offset) + { + $this->parser->getStreamReader()->reset($offset); + $this->parser->getTokenizer()->clearStack(); + $initValue = $this->parser->readValue(); + + return $this->initReaderInstance($initValue); + } + + /** + * Get a cross-reference reader instance. + * + * @param PdfToken|PdfIndirectObject $initValue + * @return ReaderInterface|bool + * @throws CrossReferenceException + * @throws PdfTypeException + */ + protected function initReaderInstance($initValue) + { + $position = $this->parser->getStreamReader()->getPosition() + + $this->parser->getStreamReader()->getOffset() + $this->fileHeaderOffset; + + if ($initValue instanceof PdfToken && $initValue->value === 'xref') { + try { + return new FixedReader($this->parser); + } catch (CrossReferenceException $e) { + $this->parser->getStreamReader()->reset($position); + $this->parser->getTokenizer()->clearStack(); + + return new LineReader($this->parser); + } + } + + if ($initValue instanceof PdfIndirectObject) { + try { + $stream = PdfStream::ensure($initValue->value); + } catch (PdfTypeException $e) { + throw new CrossReferenceException( + 'Invalid object type at xref reference offset.', + CrossReferenceException::INVALID_DATA, + $e + ); + } + + $type = PdfDictionary::get($stream->value, 'Type'); + if ($type->value !== 'XRef') { + throw new CrossReferenceException( + 'The xref position points to an incorrect object type.', + CrossReferenceException::INVALID_DATA + ); + } + + $this->checkForEncryption($stream->value); + + throw new CrossReferenceException( + 'This PDF document probably uses a compression technique which is not supported by the ' . + 'free parser shipped with FPDI. (See https://www.setasign.com/fpdi-pdf-parser for more details)', + CrossReferenceException::COMPRESSED_XREF + ); + } + + throw new CrossReferenceException( + 'The xref position points to an incorrect object type.', + CrossReferenceException::INVALID_DATA + ); + } + + /** + * Check for encryption. + * + * @param PdfDictionary $dictionary + * @throws CrossReferenceException + */ + protected function checkForEncryption(PdfDictionary $dictionary) + { + if (isset($dictionary->value['Encrypt'])) { + throw new CrossReferenceException( + 'This PDF document is encrypted and cannot be processed with FPDI.', + CrossReferenceException::ENCRYPTED + ); + } + } + + /** + * Find the start position for the first cross-reference. + * + * @return int The byte-offset position of the first cross-reference. + * @throws CrossReferenceException + */ + protected function findStartXref() + { + $reader = $this->parser->getStreamReader(); + $reader->reset(-self::$trailerSearchLength, self::$trailerSearchLength); + + $buffer = $reader->getBuffer(false); + $pos = \strrpos($buffer, 'startxref'); + $addOffset = 9; + if ($pos === false) { + // Some corrupted documents uses startref, instead of startxref + $pos = \strrpos($buffer, 'startref'); + if ($pos === false) { + throw new CrossReferenceException( + 'Unable to find pointer to xref table', + CrossReferenceException::NO_STARTXREF_FOUND + ); + } + $addOffset = 8; + } + + $reader->setOffset($pos + $addOffset); + + try { + $value = $this->parser->readValue(null, PdfNumeric::class); + } catch (PdfTypeException $e) { + throw new CrossReferenceException( + 'Invalid data after startxref keyword.', + CrossReferenceException::INVALID_DATA, + $e + ); + } + + return $value->value; + } +} diff --git a/pandora_console/vendor/setasign/fpdi/src/PdfParser/CrossReference/CrossReferenceException.php b/pandora_console/vendor/setasign/fpdi/src/PdfParser/CrossReference/CrossReferenceException.php new file mode 100644 index 0000000000..7d88d5d05b --- /dev/null +++ b/pandora_console/vendor/setasign/fpdi/src/PdfParser/CrossReference/CrossReferenceException.php @@ -0,0 +1,79 @@ +reader = $parser->getStreamReader(); + $this->read(); + parent::__construct($parser); + } + + /** + * Get all subsection data. + * + * @return array + */ + public function getSubSections() + { + return $this->subSections; + } + + /** + * @inheritdoc + */ + public function getOffsetFor($objectNumber) + { + foreach ($this->subSections as $offset => list($startObject, $objectCount)) { + /** + * @var int $startObject + * @var int $objectCount + */ + if ($objectNumber >= $startObject && $objectNumber < ($startObject + $objectCount)) { + $position = $offset + 20 * ($objectNumber - $startObject); + $this->reader->ensure($position, 20); + $line = $this->reader->readBytes(20); + if ($line[17] === 'f') { + return false; + } + + return (int) \substr($line, 0, 10); + } + } + + return false; + } + + /** + * Read the cross-reference. + * + * This reader will only read the subsections in this method. The offsets were resolved individually by this + * information. + * + * @throws CrossReferenceException + */ + protected function read() + { + $subSections = []; + + $startObject = $entryCount = $lastLineStart = null; + $validityChecked = false; + while (($line = $this->reader->readLine(20)) !== false) { + if (\strpos($line, 'trailer') !== false) { + $this->reader->reset($lastLineStart); + break; + } + + // jump over if line content doesn't match the expected string + if (\sscanf($line, '%d %d', $startObject, $entryCount) !== 2) { + continue; + } + + $oldPosition = $this->reader->getPosition(); + $position = $oldPosition + $this->reader->getOffset(); + + if (!$validityChecked && $entryCount > 0) { + $nextLine = $this->reader->readBytes(21); + /* Check the next line for maximum of 20 bytes and not longer + * By catching 21 bytes and trimming the length should be still 21. + */ + if (\strlen(\trim($nextLine)) !== 21) { + throw new CrossReferenceException( + 'Cross-reference entries are larger than 20 bytes.', + CrossReferenceException::ENTRIES_TOO_LARGE + ); + } + + /* Check for less than 20 bytes: cut the line to 20 bytes and trim; have to result in exactly 18 bytes. + * If it would have less bytes the substring would get the first bytes of the next line which would + * evaluate to a 20 bytes long string after trimming. + */ + if (\strlen(\trim(\substr($nextLine, 0, 20))) !== 18) { + throw new CrossReferenceException( + 'Cross-reference entries are less than 20 bytes.', + CrossReferenceException::ENTRIES_TOO_SHORT + ); + } + + $validityChecked = true; + } + + $subSections[$position] = [$startObject, $entryCount]; + + $lastLineStart = $position + $entryCount * 20; + $this->reader->reset($lastLineStart); + } + + // reset after the last correct parsed line + $this->reader->reset($lastLineStart); + + if (\count($subSections) === 0) { + throw new CrossReferenceException( + 'No entries found in cross-reference.', + CrossReferenceException::NO_ENTRIES + ); + } + + $this->subSections = $subSections; + } + + /** + * Fixes an invalid object number shift. + * + * This method can be used to repair documents with an invalid subsection header: + * + * + * xref + * 1 7 + * 0000000000 65535 f + * 0000000009 00000 n + * 0000412075 00000 n + * 0000412172 00000 n + * 0000412359 00000 n + * 0000412417 00000 n + * 0000412468 00000 n + * + * + * It shall only be called on the first table. + * + * @return bool + */ + public function fixFaultySubSectionShift() + { + $subSections = $this->getSubSections(); + if (\count($subSections) > 1) { + return false; + } + + $subSection = \current($subSections); + if ($subSection[0] != 1) { + return false; + } + + if ($this->getOffsetFor(1) === false) { + foreach ($subSections as $offset => list($startObject, $objectCount)) { + $this->subSections[$offset] = [$startObject - 1, $objectCount]; + } + return true; + } + + return false; + } +} diff --git a/pandora_console/vendor/setasign/fpdi/src/PdfParser/CrossReference/LineReader.php b/pandora_console/vendor/setasign/fpdi/src/PdfParser/CrossReference/LineReader.php new file mode 100644 index 0000000000..b6f0e42117 --- /dev/null +++ b/pandora_console/vendor/setasign/fpdi/src/PdfParser/CrossReference/LineReader.php @@ -0,0 +1,167 @@ + 20 bytes). + */ +class LineReader extends AbstractReader implements ReaderInterface +{ + /** + * The object offsets. + * + * @var array + */ + protected $offsets; + + /** + * LineReader constructor. + * + * @param PdfParser $parser + * @throws CrossReferenceException + */ + public function __construct(PdfParser $parser) + { + $this->read($this->extract($parser->getStreamReader())); + parent::__construct($parser); + } + + /** + * @inheritdoc + */ + public function getOffsetFor($objectNumber) + { + if (isset($this->offsets[$objectNumber])) { + return $this->offsets[$objectNumber][0]; + } + + return false; + } + + /** + * Get all found offsets. + * + * @return array + */ + public function getOffsets() + { + return $this->offsets; + } + + /** + * Extracts the cross reference data from the stream reader. + * + * @param StreamReader $reader + * @return string + * @throws CrossReferenceException + */ + protected function extract(StreamReader $reader) + { + $bytesPerCycle = 100; + $reader->reset(null, $bytesPerCycle); + + $cycles = 0; + do { + // 6 = length of "trailer" - 1 + $pos = \max(($bytesPerCycle * $cycles) - 6, 0); + $trailerPos = \strpos($reader->getBuffer(false), 'trailer', $pos); + $cycles++; + } while ($trailerPos === false && $reader->increaseLength($bytesPerCycle) !== false); + + if ($trailerPos === false) { + throw new CrossReferenceException( + 'Unexpected end of cross reference. "trailer"-keyword not found.', + CrossReferenceException::NO_TRAILER_FOUND + ); + } + + $xrefContent = \substr($reader->getBuffer(false), 0, $trailerPos); + $reader->reset($reader->getPosition() + $trailerPos); + + return $xrefContent; + } + + /** + * Read the cross-reference entries. + * + * @param string $xrefContent + * @throws CrossReferenceException + */ + protected function read($xrefContent) + { + // get eol markers in the first 100 bytes + \preg_match_all("/(\r\n|\n|\r)/", \substr($xrefContent, 0, 100), $m); + + if (\count($m[0]) === 0) { + throw new CrossReferenceException( + 'No data found in cross-reference.', + CrossReferenceException::INVALID_DATA + ); + } + + // count(array_count_values()) is faster then count(array_unique()) + // @see https://github.com/symfony/symfony/pull/23731 + // can be reverted for php7.2 + $differentLineEndings = \count(\array_count_values($m[0])); + if ($differentLineEndings > 1) { + $lines = \preg_split("/(\r\n|\n|\r)/", $xrefContent, -1, PREG_SPLIT_NO_EMPTY); + } else { + $lines = \explode($m[0][0], $xrefContent); + } + + unset($differentLineEndings, $m); + if (!\is_array($lines)) { + $this->offsets = []; + return; + } + + $start = 0; + $offsets = []; + + // trim all lines and remove empty lines + $lines = \array_filter(\array_map('\trim', $lines)); + foreach ($lines as $line) { + $pieces = \explode(' ', $line); + + switch (\count($pieces)) { + case 2: + $start = (int) $pieces[0]; + break; + + case 3: + switch ($pieces[2]) { + case 'n': + $offsets[$start] = [(int) $pieces[0], (int) $pieces[1]]; + $start++; + break 2; + case 'f': + $start++; + break 2; + } + // fall through if pieces doesn't match + + default: + throw new CrossReferenceException( + \sprintf('Unexpected data in xref table (%s)', \implode(' ', $pieces)), + CrossReferenceException::INVALID_DATA + ); + } + } + + $this->offsets = $offsets; + } +} diff --git a/pandora_console/vendor/setasign/fpdi/src/PdfParser/CrossReference/ReaderInterface.php b/pandora_console/vendor/setasign/fpdi/src/PdfParser/CrossReference/ReaderInterface.php new file mode 100644 index 0000000000..d2dfdd0c94 --- /dev/null +++ b/pandora_console/vendor/setasign/fpdi/src/PdfParser/CrossReference/ReaderInterface.php @@ -0,0 +1,34 @@ + + if ($ch === 126 && isset($data[$k + 1]) && (\ord($data[$k + 1]) & 0xFF) === 62) { + break; + } + + if ($ch === 122 /* z */ && $state === 0) { + $out .= \chr(0) . \chr(0) . \chr(0) . \chr(0); + continue; + } + + if ($ch < 33 /* ! */ || $ch > 117 /* u */) { + throw new Ascii85Exception( + 'Illegal character found while ASCII85 decode.', + Ascii85Exception::ILLEGAL_CHAR_FOUND + ); + } + + $chn[$state] = $ch - 33;/* ! */ + $state++; + + if ($state === 5) { + $state = 0; + $r = 0; + for ($j = 0; $j < 5; ++$j) { + /** @noinspection UnnecessaryCastingInspection */ + $r = (int)($r * 85 + $chn[$j]); + } + + $out .= \chr($r >> 24) + . \chr($r >> 16) + . \chr($r >> 8) + . \chr($r); + } + } + + if ($state === 1) { + throw new Ascii85Exception( + 'Illegal length while ASCII85 decode.', + Ascii85Exception::ILLEGAL_LENGTH + ); + } + + if ($state === 2) { + $r = $chn[0] * 85 * 85 * 85 * 85 + ($chn[1] + 1) * 85 * 85 * 85; + $out .= \chr($r >> 24); + } elseif ($state === 3) { + $r = $chn[0] * 85 * 85 * 85 * 85 + $chn[1] * 85 * 85 * 85 + ($chn[2] + 1) * 85 * 85; + $out .= \chr($r >> 24); + $out .= \chr($r >> 16); + } elseif ($state === 4) { + $r = $chn[0] * 85 * 85 * 85 * 85 + $chn[1] * 85 * 85 * 85 + $chn[2] * 85 * 85 + ($chn[3] + 1) * 85; + $out .= \chr($r >> 24); + $out .= \chr($r >> 16); + $out .= \chr($r >> 8); + } + + return $out; + } +} diff --git a/pandora_console/vendor/setasign/fpdi/src/PdfParser/Filter/Ascii85Exception.php b/pandora_console/vendor/setasign/fpdi/src/PdfParser/Filter/Ascii85Exception.php new file mode 100644 index 0000000000..f4b675837e --- /dev/null +++ b/pandora_console/vendor/setasign/fpdi/src/PdfParser/Filter/Ascii85Exception.php @@ -0,0 +1,27 @@ +')); + if ((\strlen($data) % 2) === 1) { + $data .= '0'; + } + + return \pack('H*', $data); + } + + /** + * Converts a string into ASCII hexadecimal representation. + * + * @param string $data The input string + * @param boolean $leaveEOD + * @return string + */ + public function encode($data, $leaveEOD = false) + { + $t = \unpack('H*', $data); + return \current($t) + . ($leaveEOD ? '' : '>'); + } +} diff --git a/pandora_console/vendor/setasign/fpdi/src/PdfParser/Filter/FilterException.php b/pandora_console/vendor/setasign/fpdi/src/PdfParser/Filter/FilterException.php new file mode 100644 index 0000000000..c55a7a82a9 --- /dev/null +++ b/pandora_console/vendor/setasign/fpdi/src/PdfParser/Filter/FilterException.php @@ -0,0 +1,23 @@ +extensionLoaded()) { + $oData = $data; + $data = (($data !== '') ? @\gzuncompress($data) : ''); + if ($data === false) { + // let's try if the checksum is CRC32 + $fh = fopen('php://temp', 'w+b'); + fwrite($fh, "\x1f\x8b\x08\x00\x00\x00\x00\x00" . $oData); + stream_filter_append($fh, 'zlib.inflate', STREAM_FILTER_READ, ['window' => 30]); + fseek($fh, 0); + $data = @stream_get_contents($fh); + fclose($fh); + + if ($data) { + return $data; + } + + // Try this fallback + $tries = 0; + + $oDataLen = strlen($oData); + while ($tries < 6 && ($data === false || (strlen($data) < ($oDataLen - $tries - 1)))) { + $data = @(gzinflate(substr($oData, $tries))); + $tries++; + } + + // let's use this fallback only if the $data is longer than the original data + if (strlen($data) > ($oDataLen - $tries - 1)) { + return $data; + } + + if (!$data) { + throw new FlateException( + 'Error while decompressing stream.', + FlateException::DECOMPRESS_ERROR + ); + } + } + } else { + throw new FlateException( + 'To handle FlateDecode filter, enable zlib support in PHP.', + FlateException::NO_ZLIB + ); + } + + return $data; + } +} diff --git a/pandora_console/vendor/setasign/fpdi/src/PdfParser/Filter/FlateException.php b/pandora_console/vendor/setasign/fpdi/src/PdfParser/Filter/FlateException.php new file mode 100644 index 0000000000..d897ac8ee1 --- /dev/null +++ b/pandora_console/vendor/setasign/fpdi/src/PdfParser/Filter/FlateException.php @@ -0,0 +1,27 @@ +initsTable(); + + $this->data = $data; + $this->dataLength = \strlen($data); + + // Initialize pointers + $this->bytePointer = 0; + + $this->nextData = 0; + $this->nextBits = 0; + + $oldCode = 0; + + $uncompData = ''; + + while (($code = $this->getNextCode()) !== 257) { + if ($code === 256) { + $this->initsTable(); + $code = $this->getNextCode(); + + if ($code === 257) { + break; + } + + $uncompData .= $this->sTable[$code]; + $oldCode = $code; + } else { + if ($code < $this->tIdx) { + $string = $this->sTable[$code]; + $uncompData .= $string; + + $this->addStringToTable($this->sTable[$oldCode], $string[0]); + $oldCode = $code; + } else { + $string = $this->sTable[$oldCode]; + $string .= $string[0]; + $uncompData .= $string; + + $this->addStringToTable($string); + $oldCode = $code; + } + } + } + + return $uncompData; + } + + /** + * Initialize the string table. + */ + protected function initsTable() + { + $this->sTable = []; + + for ($i = 0; $i < 256; $i++) { + $this->sTable[$i] = \chr($i); + } + + $this->tIdx = 258; + $this->bitsToGet = 9; + } + + /** + * Add a new string to the string table. + * + * @param string $oldString + * @param string $newString + */ + protected function addStringToTable($oldString, $newString = '') + { + $string = $oldString . $newString; + + // Add this new String to the table + $this->sTable[$this->tIdx++] = $string; + + if ($this->tIdx === 511) { + $this->bitsToGet = 10; + } elseif ($this->tIdx === 1023) { + $this->bitsToGet = 11; + } elseif ($this->tIdx === 2047) { + $this->bitsToGet = 12; + } + } + + /** + * Returns the next 9, 10, 11 or 12 bits. + * + * @return integer + */ + protected function getNextCode() + { + if ($this->bytePointer === $this->dataLength) { + return 257; + } + + $this->nextData = ($this->nextData << 8) | (\ord($this->data[$this->bytePointer++]) & 0xff); + $this->nextBits += 8; + + if ($this->nextBits < $this->bitsToGet) { + $this->nextData = ($this->nextData << 8) | (\ord($this->data[$this->bytePointer++]) & 0xff); + $this->nextBits += 8; + } + + $code = ($this->nextData >> ($this->nextBits - $this->bitsToGet)) & $this->andTable[$this->bitsToGet - 9]; + $this->nextBits -= $this->bitsToGet; + + return $code; + } +} diff --git a/pandora_console/vendor/setasign/fpdi/src/PdfParser/Filter/LzwException.php b/pandora_console/vendor/setasign/fpdi/src/PdfParser/Filter/LzwException.php new file mode 100644 index 0000000000..6ebad4f45f --- /dev/null +++ b/pandora_console/vendor/setasign/fpdi/src/PdfParser/Filter/LzwException.php @@ -0,0 +1,22 @@ +streamReader = $streamReader; + $this->tokenizer = new Tokenizer($streamReader); + } + + /** + * Removes cycled references. + * + * @internal + */ + public function cleanUp() + { + $this->xref = null; + } + + /** + * Get the stream reader instance. + * + * @return StreamReader + */ + public function getStreamReader() + { + return $this->streamReader; + } + + /** + * Get the tokenizer instance. + * + * @return Tokenizer + */ + public function getTokenizer() + { + return $this->tokenizer; + } + + /** + * Resolves the file header. + * + * @throws PdfParserException + * @return int + */ + protected function resolveFileHeader() + { + if ($this->fileHeader) { + return $this->fileHeaderOffset; + } + + $this->streamReader->reset(0); + $maxIterations = 1000; + while (true) { + $buffer = $this->streamReader->getBuffer(false); + $offset = \strpos($buffer, '%PDF-'); + if ($offset === false) { + if (!$this->streamReader->increaseLength(100) || (--$maxIterations === 0)) { + throw new PdfParserException( + 'Unable to find PDF file header.', + PdfParserException::FILE_HEADER_NOT_FOUND + ); + } + continue; + } + break; + } + + $this->fileHeaderOffset = $offset; + $this->streamReader->setOffset($offset); + + $this->fileHeader = \trim($this->streamReader->readLine()); + return $this->fileHeaderOffset; + } + + /** + * Get the cross reference instance. + * + * @return CrossReference + * @throws CrossReferenceException + * @throws PdfParserException + */ + public function getCrossReference() + { + if ($this->xref === null) { + $this->xref = new CrossReference($this, $this->resolveFileHeader()); + } + + return $this->xref; + } + + /** + * Get the PDF version. + * + * @return int[] An array of major and minor version. + * @throws PdfParserException + */ + public function getPdfVersion() + { + $this->resolveFileHeader(); + + if (\preg_match('/%PDF-(\d)\.(\d)/', $this->fileHeader, $result) === 0) { + throw new PdfParserException( + 'Unable to extract PDF version from file header.', + PdfParserException::PDF_VERSION_NOT_FOUND + ); + } + list(, $major, $minor) = $result; + + $catalog = $this->getCatalog(); + if (isset($catalog->value['Version'])) { + $versionParts = \explode( + '.', + PdfName::unescape(PdfType::resolve($catalog->value['Version'], $this)->value) + ); + if (count($versionParts) === 2) { + list($major, $minor) = $versionParts; + } + } + + return [(int) $major, (int) $minor]; + } + + /** + * Get the catalog dictionary. + * + * @return PdfDictionary + * @throws Type\PdfTypeException + * @throws CrossReferenceException + * @throws PdfParserException + */ + public function getCatalog() + { + $trailer = $this->getCrossReference()->getTrailer(); + + $catalog = PdfType::resolve(PdfDictionary::get($trailer, 'Root'), $this); + + return PdfDictionary::ensure($catalog); + } + + /** + * Get an indirect object by its object number. + * + * @param int $objectNumber + * @param bool $cache + * @return PdfIndirectObject + * @throws CrossReferenceException + * @throws PdfParserException + */ + public function getIndirectObject($objectNumber, $cache = false) + { + $objectNumber = (int) $objectNumber; + if (isset($this->objects[$objectNumber])) { + return $this->objects[$objectNumber]; + } + + $object = $this->getCrossReference()->getIndirectObject($objectNumber); + + if ($cache) { + $this->objects[$objectNumber] = $object; + } + + return $object; + } + + /** + * Read a PDF value. + * + * @param null|bool|string $token + * @param null|string $expectedType + * @return false|PdfArray|PdfBoolean|PdfDictionary|PdfHexString|PdfIndirectObject|PdfIndirectObjectReference|PdfName|PdfNull|PdfNumeric|PdfStream|PdfString|PdfToken + * @throws Type\PdfTypeException + */ + public function readValue($token = null, $expectedType = null) + { + if ($token === null) { + $token = $this->tokenizer->getNextToken(); + } + + if ($token === false) { + if ($expectedType !== null) { + throw new Type\PdfTypeException('Got unexpected token type.', Type\PdfTypeException::INVALID_DATA_TYPE); + } + return false; + } + + switch ($token) { + case '(': + $this->ensureExpectedType($token, $expectedType); + return PdfString::parse($this->streamReader); + + case '<': + if ($this->streamReader->getByte() === '<') { + $this->ensureExpectedType('<<', $expectedType); + $this->streamReader->addOffset(1); + return PdfDictionary::parse($this->tokenizer, $this->streamReader, $this); + } + + $this->ensureExpectedType($token, $expectedType); + return PdfHexString::parse($this->streamReader); + + case '/': + $this->ensureExpectedType($token, $expectedType); + return PdfName::parse($this->tokenizer, $this->streamReader); + + case '[': + $this->ensureExpectedType($token, $expectedType); + return PdfArray::parse($this->tokenizer, $this); + + default: + if (\is_numeric($token)) { + if (($token2 = $this->tokenizer->getNextToken()) !== false) { + if (\is_numeric($token2) && ($token3 = $this->tokenizer->getNextToken()) !== false) { + switch ($token3) { + case 'obj': + if ($expectedType !== null && $expectedType !== PdfIndirectObject::class) { + throw new Type\PdfTypeException( + 'Got unexpected token type.', + Type\PdfTypeException::INVALID_DATA_TYPE + ); + } + + return PdfIndirectObject::parse( + (int) $token, + (int) $token2, + $this, + $this->tokenizer, + $this->streamReader + ); + case 'R': + if ( + $expectedType !== null && + $expectedType !== PdfIndirectObjectReference::class + ) { + throw new Type\PdfTypeException( + 'Got unexpected token type.', + Type\PdfTypeException::INVALID_DATA_TYPE + ); + } + + return PdfIndirectObjectReference::create((int) $token, (int) $token2); + } + + $this->tokenizer->pushStack($token3); + } + + $this->tokenizer->pushStack($token2); + } + + if ($expectedType !== null && $expectedType !== PdfNumeric::class) { + throw new Type\PdfTypeException( + 'Got unexpected token type.', + Type\PdfTypeException::INVALID_DATA_TYPE + ); + } + return PdfNumeric::create($token + 0); + } + + if ($token === 'true' || $token === 'false') { + $this->ensureExpectedType($token, $expectedType); + return PdfBoolean::create($token === 'true'); + } + + if ($token === 'null') { + $this->ensureExpectedType($token, $expectedType); + return new PdfNull(); + } + + if ($expectedType !== null && $expectedType !== PdfToken::class) { + throw new Type\PdfTypeException( + 'Got unexpected token type.', + Type\PdfTypeException::INVALID_DATA_TYPE + ); + } + + $v = new PdfToken(); + $v->value = $token; + + return $v; + } + } + + /** + * Ensures that the token will evaluate to an expected object type (or not). + * + * @param string $token + * @param string|null $expectedType + * @return bool + * @throws Type\PdfTypeException + */ + private function ensureExpectedType($token, $expectedType) + { + static $mapping = [ + '(' => PdfString::class, + '<' => PdfHexString::class, + '<<' => PdfDictionary::class, + '/' => PdfName::class, + '[' => PdfArray::class, + 'true' => PdfBoolean::class, + 'false' => PdfBoolean::class, + 'null' => PdfNull::class + ]; + + if ($expectedType === null || $mapping[$token] === $expectedType) { + return true; + } + + throw new Type\PdfTypeException('Got unexpected token type.', Type\PdfTypeException::INVALID_DATA_TYPE); + } +} diff --git a/pandora_console/vendor/setasign/fpdi/src/PdfParser/PdfParserException.php b/pandora_console/vendor/setasign/fpdi/src/PdfParser/PdfParserException.php new file mode 100644 index 0000000000..6d034d86de --- /dev/null +++ b/pandora_console/vendor/setasign/fpdi/src/PdfParser/PdfParserException.php @@ -0,0 +1,49 @@ +stream = $stream; + $this->closeStream = $closeStream; + $this->reset(); + } + + /** + * The destructor. + */ + public function __destruct() + { + $this->cleanUp(); + } + + /** + * Closes the file handle. + */ + public function cleanUp() + { + if ($this->closeStream && is_resource($this->stream)) { + \fclose($this->stream); + } + } + + /** + * Returns the byte length of the buffer. + * + * @param bool $atOffset + * @return int + */ + public function getBufferLength($atOffset = false) + { + if ($atOffset === false) { + return $this->bufferLength; + } + + return $this->bufferLength - $this->offset; + } + + /** + * Get the current position in the stream. + * + * @return int + */ + public function getPosition() + { + return $this->position; + } + + /** + * Returns the current buffer. + * + * @param bool $atOffset + * @return string + */ + public function getBuffer($atOffset = true) + { + if ($atOffset === false) { + return $this->buffer; + } + + $string = \substr($this->buffer, $this->offset); + + return (string) $string; + } + + /** + * Gets a byte at a specific position in the buffer. + * + * If the position is invalid the method will return false. + * + * If the $position parameter is set to null the value of $this->offset will be used. + * + * @param int|null $position + * @return string|bool + */ + public function getByte($position = null) + { + $position = (int) ($position !== null ? $position : $this->offset); + if ( + $position >= $this->bufferLength + && (!$this->increaseLength() || $position >= $this->bufferLength) + ) { + return false; + } + + return $this->buffer[$position]; + } + + /** + * Returns a byte at a specific position, and set the offset to the next byte position. + * + * If the position is invalid the method will return false. + * + * If the $position parameter is set to null the value of $this->offset will be used. + * + * @param int|null $position + * @return string|bool + */ + public function readByte($position = null) + { + if ($position !== null) { + $position = (int) $position; + // check if needed bytes are available in the current buffer + if (!($position >= $this->position && $position < $this->position + $this->bufferLength)) { + $this->reset($position); + $offset = $this->offset; + } else { + $offset = $position - $this->position; + } + } else { + $offset = $this->offset; + } + + if ( + $offset >= $this->bufferLength + && ((!$this->increaseLength()) || $offset >= $this->bufferLength) + ) { + return false; + } + + $this->offset = $offset + 1; + return $this->buffer[$offset]; + } + + /** + * Read bytes from the current or a specific offset position and set the internal pointer to the next byte. + * + * If the position is invalid the method will return false. + * + * If the $position parameter is set to null the value of $this->offset will be used. + * + * @param int $length + * @param int|null $position + * @return string|false + */ + public function readBytes($length, $position = null) + { + $length = (int) $length; + if ($position !== null) { + // check if needed bytes are available in the current buffer + if (!($position >= $this->position && $position < $this->position + $this->bufferLength)) { + $this->reset($position, $length); + $offset = $this->offset; + } else { + $offset = $position - $this->position; + } + } else { + $offset = $this->offset; + } + + if ( + ($offset + $length) > $this->bufferLength + && ((!$this->increaseLength($length)) || ($offset + $length) > $this->bufferLength) + ) { + return false; + } + + $bytes = \substr($this->buffer, $offset, $length); + $this->offset = $offset + $length; + + return $bytes; + } + + /** + * Read a line from the current position. + * + * @param int $length + * @return string|bool + */ + public function readLine($length = 1024) + { + if ($this->ensureContent() === false) { + return false; + } + + $line = ''; + while ($this->ensureContent()) { + $char = $this->readByte(); + + if ($char === "\n") { + break; + } + + if ($char === "\r") { + if ($this->getByte() === "\n") { + $this->addOffset(1); + } + break; + } + + $line .= $char; + + if (\strlen($line) >= $length) { + break; + } + } + + return $line; + } + + /** + * Set the offset position in the current buffer. + * + * @param int $offset + */ + public function setOffset($offset) + { + if ($offset > $this->bufferLength || $offset < 0) { + throw new \OutOfRangeException( + \sprintf('Offset (%s) out of range (length: %s)', $offset, $this->bufferLength) + ); + } + + $this->offset = (int) $offset; + } + + /** + * Returns the current offset in the current buffer. + * + * @return int + */ + public function getOffset() + { + return $this->offset; + } + + /** + * Add an offset to the current offset. + * + * @param int $offset + */ + public function addOffset($offset) + { + $this->setOffset($this->offset + $offset); + } + + /** + * Make sure that there is at least one character beyond the current offset in the buffer. + * + * @return bool + */ + public function ensureContent() + { + while ($this->offset >= $this->bufferLength) { + if (!$this->increaseLength()) { + return false; + } + } + return true; + } + + /** + * Returns the stream. + * + * @return resource + */ + public function getStream() + { + return $this->stream; + } + + /** + * Gets the total available length. + * + * @return int + */ + public function getTotalLength() + { + if ($this->totalLength === null) { + $stat = \fstat($this->stream); + $this->totalLength = $stat['size']; + } + + return $this->totalLength; + } + + /** + * Resets the buffer to a position and re-read the buffer with the given length. + * + * If the $pos parameter is negative the start buffer position will be the $pos'th position from + * the end of the file. + * + * If the $pos parameter is negative and the absolute value is bigger then the totalLength of + * the file $pos will set to zero. + * + * @param int|null $pos Start position of the new buffer + * @param int $length Length of the new buffer. Mustn't be negative + */ + public function reset($pos = 0, $length = 200) + { + if ($pos === null) { + $pos = $this->position + $this->offset; + } elseif ($pos < 0) { + $pos = \max(0, $this->getTotalLength() + $pos); + } + + \fseek($this->stream, $pos); + + $this->position = $pos; + $this->buffer = $length > 0 ? \fread($this->stream, $length) : ''; + $this->bufferLength = \strlen($this->buffer); + $this->offset = 0; + + // If a stream wrapper is in use it is possible that + // length values > 8096 will be ignored, so use the + // increaseLength()-method to correct that behavior + if ($this->bufferLength < $length && $this->increaseLength($length - $this->bufferLength)) { + // increaseLength parameter is $minLength, so cut to have only the required bytes in the buffer + $this->buffer = \substr($this->buffer, 0, $length); + $this->bufferLength = \strlen($this->buffer); + } + } + + /** + * Ensures bytes in the buffer with a specific length and location in the file. + * + * @param int $pos + * @param int $length + * @see reset() + */ + public function ensure($pos, $length) + { + if ( + $pos >= $this->position + && $pos < ($this->position + $this->bufferLength) + && ($this->position + $this->bufferLength) >= ($pos + $length) + ) { + $this->offset = $pos - $this->position; + } else { + $this->reset($pos, $length); + } + } + + /** + * Forcefully read more data into the buffer. + * + * @param int $minLength + * @return bool Returns false if the stream reaches the end + */ + public function increaseLength($minLength = 100) + { + $length = \max($minLength, 100); + + if (\feof($this->stream) || $this->getTotalLength() === $this->position + $this->bufferLength) { + return false; + } + + $newLength = $this->bufferLength + $length; + do { + $this->buffer .= \fread($this->stream, $newLength - $this->bufferLength); + $this->bufferLength = \strlen($this->buffer); + } while (($this->bufferLength !== $newLength) && !\feof($this->stream)); + + return true; + } +} diff --git a/pandora_console/vendor/setasign/fpdi/src/PdfParser/Tokenizer.php b/pandora_console/vendor/setasign/fpdi/src/PdfParser/Tokenizer.php new file mode 100644 index 0000000000..a3bcd01d90 --- /dev/null +++ b/pandora_console/vendor/setasign/fpdi/src/PdfParser/Tokenizer.php @@ -0,0 +1,154 @@ +streamReader = $streamReader; + } + + /** + * Get the stream reader instance. + * + * @return StreamReader + */ + public function getStreamReader() + { + return $this->streamReader; + } + + /** + * Clear the token stack. + */ + public function clearStack() + { + $this->stack = []; + } + + /** + * Push a token onto the stack. + * + * @param string $token + */ + public function pushStack($token) + { + $this->stack[] = $token; + } + + /** + * Get next token. + * + * @return bool|string + */ + public function getNextToken() + { + $token = \array_pop($this->stack); + if ($token !== null) { + return $token; + } + + if (($byte = $this->streamReader->readByte()) === false) { + return false; + } + + if (\in_array($byte, ["\x20", "\x0A", "\x0D", "\x0C", "\x09", "\x00"], true)) { + if ($this->leapWhiteSpaces() === false) { + return false; + } + $byte = $this->streamReader->readByte(); + } + + switch ($byte) { + case '/': + case '[': + case ']': + case '(': + case ')': + case '{': + case '}': + case '<': + case '>': + return $byte; + case '%': + $this->streamReader->readLine(); + return $this->getNextToken(); + } + + /* This way is faster than checking single bytes. + */ + $bufferOffset = $this->streamReader->getOffset(); + do { + $lastBuffer = $this->streamReader->getBuffer(false); + $pos = \strcspn( + $lastBuffer, + "\x00\x09\x0A\x0C\x0D\x20()<>[]{}/%", + $bufferOffset + ); + } while ( + // Break the loop if a delimiter or white space char is matched + // in the current buffer or increase the buffers length + $lastBuffer !== false && + ( + $bufferOffset + $pos === \strlen($lastBuffer) && + $this->streamReader->increaseLength() + ) + ); + + $result = \substr($lastBuffer, $bufferOffset - 1, $pos + 1); + $this->streamReader->setOffset($bufferOffset + $pos); + + return $result; + } + + /** + * Leap white spaces. + * + * @return boolean + */ + public function leapWhiteSpaces() + { + do { + if (!$this->streamReader->ensureContent()) { + return false; + } + + $buffer = $this->streamReader->getBuffer(false); + $matches = \strspn($buffer, "\x20\x0A\x0C\x0D\x09\x00", $this->streamReader->getOffset()); + if ($matches > 0) { + $this->streamReader->addOffset($matches); + } + } while ($this->streamReader->getOffset() >= $this->streamReader->getBufferLength()); + + return true; + } +} diff --git a/pandora_console/vendor/setasign/fpdi/src/PdfParser/Type/PdfArray.php b/pandora_console/vendor/setasign/fpdi/src/PdfParser/Type/PdfArray.php new file mode 100644 index 0000000000..5d0bbbdad3 --- /dev/null +++ b/pandora_console/vendor/setasign/fpdi/src/PdfParser/Type/PdfArray.php @@ -0,0 +1,85 @@ +getNextToken()) !== ']') { + if ($token === false || ($value = $parser->readValue($token)) === false) { + return false; + } + + $result[] = $value; + } + + $v = new self(); + $v->value = $result; + + return $v; + } + + /** + * Helper method to create an instance. + * + * @param PdfType[] $values + * @return self + */ + public static function create(array $values = []) + { + $v = new self(); + $v->value = $values; + + return $v; + } + + /** + * Ensures that the passed array is a PdfArray instance with a (optional) specific size. + * + * @param mixed $array + * @param null|int $size + * @return self + * @throws PdfTypeException + */ + public static function ensure($array, $size = null) + { + $result = PdfType::ensureType(self::class, $array, 'Array value expected.'); + + if ($size !== null && \count($array->value) !== $size) { + throw new PdfTypeException( + \sprintf('Array with %s entries expected.', $size), + PdfTypeException::INVALID_DATA_SIZE + ); + } + + return $result; + } +} diff --git a/pandora_console/vendor/setasign/fpdi/src/PdfParser/Type/PdfBoolean.php b/pandora_console/vendor/setasign/fpdi/src/PdfParser/Type/PdfBoolean.php new file mode 100644 index 0000000000..ba4233a69c --- /dev/null +++ b/pandora_console/vendor/setasign/fpdi/src/PdfParser/Type/PdfBoolean.php @@ -0,0 +1,42 @@ +value = (bool) $value; + return $v; + } + + /** + * Ensures that the passed value is a PdfBoolean instance. + * + * @param mixed $value + * @return self + * @throws PdfTypeException + */ + public static function ensure($value) + { + return PdfType::ensureType(self::class, $value, 'Boolean value expected.'); + } +} diff --git a/pandora_console/vendor/setasign/fpdi/src/PdfParser/Type/PdfDictionary.php b/pandora_console/vendor/setasign/fpdi/src/PdfParser/Type/PdfDictionary.php new file mode 100644 index 0000000000..2818842459 --- /dev/null +++ b/pandora_console/vendor/setasign/fpdi/src/PdfParser/Type/PdfDictionary.php @@ -0,0 +1,134 @@ +getNextToken(); + if ($token === '>' && $streamReader->getByte() === '>') { + $streamReader->addOffset(1); + break; + } + + $key = $parser->readValue($token); + if ($key === false) { + return false; + } + + // ensure the first value to be a Name object + if (!($key instanceof PdfName)) { + $lastToken = null; + // ignore all other entries and search for the closing brackets + while (($token = $tokenizer->getNextToken()) !== '>' && $token !== false && $lastToken !== '>') { + $lastToken = $token; + } + + if ($token === false) { + return false; + } + + break; + } + + + $value = $parser->readValue(); + if ($value === false) { + return false; + } + + if ($value instanceof PdfNull) { + continue; + } + + // catch missing value + if ($value instanceof PdfToken && $value->value === '>' && $streamReader->getByte() === '>') { + $streamReader->addOffset(1); + break; + } + + $entries[$key->value] = $value; + } + + $v = new self(); + $v->value = $entries; + + return $v; + } + + /** + * Helper method to create an instance. + * + * @param PdfType[] $entries The keys are the name entries of the dictionary. + * @return self + */ + public static function create(array $entries = []) + { + $v = new self(); + $v->value = $entries; + + return $v; + } + + /** + * Get a value by its key from a dictionary or a default value. + * + * @param mixed $dictionary + * @param string $key + * @param PdfType|null $default + * @return PdfNull|PdfType + * @throws PdfTypeException + */ + public static function get($dictionary, $key, PdfType $default = null) + { + $dictionary = self::ensure($dictionary); + + if (isset($dictionary->value[$key])) { + return $dictionary->value[$key]; + } + + return $default === null + ? new PdfNull() + : $default; + } + + /** + * Ensures that the passed value is a PdfDictionary instance. + * + * @param mixed $dictionary + * @return self + * @throws PdfTypeException + */ + public static function ensure($dictionary) + { + return PdfType::ensureType(self::class, $dictionary, 'Dictionary value expected.'); + } +} diff --git a/pandora_console/vendor/setasign/fpdi/src/PdfParser/Type/PdfHexString.php b/pandora_console/vendor/setasign/fpdi/src/PdfParser/Type/PdfHexString.php new file mode 100644 index 0000000000..0084ada4d1 --- /dev/null +++ b/pandora_console/vendor/setasign/fpdi/src/PdfParser/Type/PdfHexString.php @@ -0,0 +1,77 @@ +getOffset(); + + while (true) { + $buffer = $streamReader->getBuffer(false); + $pos = \strpos($buffer, '>', $bufferOffset); + if ($pos === false) { + if (!$streamReader->increaseLength()) { + return false; + } + continue; + } + + break; + } + + $result = \substr($buffer, $bufferOffset, $pos - $bufferOffset); + $streamReader->setOffset($pos + 1); + + $v = new self(); + $v->value = $result; + + return $v; + } + + /** + * Helper method to create an instance. + * + * @param string $string The hex encoded string. + * @return self + */ + public static function create($string) + { + $v = new self(); + $v->value = $string; + + return $v; + } + + /** + * Ensures that the passed value is a PdfHexString instance. + * + * @param mixed $hexString + * @return self + * @throws PdfTypeException + */ + public static function ensure($hexString) + { + return PdfType::ensureType(self::class, $hexString, 'Hex string value expected.'); + } +} diff --git a/pandora_console/vendor/setasign/fpdi/src/PdfParser/Type/PdfIndirectObject.php b/pandora_console/vendor/setasign/fpdi/src/PdfParser/Type/PdfIndirectObject.php new file mode 100644 index 0000000000..15786d00cb --- /dev/null +++ b/pandora_console/vendor/setasign/fpdi/src/PdfParser/Type/PdfIndirectObject.php @@ -0,0 +1,103 @@ +readValue(); + if ($value === false) { + return false; + } + + $nextToken = $tokenizer->getNextToken(); + if ($nextToken === 'stream') { + $value = PdfStream::parse($value, $reader, $parser); + } elseif ($nextToken !== false) { + $tokenizer->pushStack($nextToken); + } + + $v = new self(); + $v->objectNumber = (int) $objectNumberToken; + $v->generationNumber = (int) $objectGenerationNumberToken; + $v->value = $value; + + return $v; + } + + /** + * Helper method to create an instance. + * + * @param int $objectNumber + * @param int $generationNumber + * @param PdfType $value + * @return self + */ + public static function create($objectNumber, $generationNumber, PdfType $value) + { + $v = new self(); + $v->objectNumber = (int) $objectNumber; + $v->generationNumber = (int) $generationNumber; + $v->value = $value; + + return $v; + } + + /** + * Ensures that the passed value is a PdfIndirectObject instance. + * + * @param mixed $indirectObject + * @return self + * @throws PdfTypeException + */ + public static function ensure($indirectObject) + { + return PdfType::ensureType(self::class, $indirectObject, 'Indirect object expected.'); + } + + /** + * The object number. + * + * @var int + */ + public $objectNumber; + + /** + * The generation number. + * + * @var int + */ + public $generationNumber; +} diff --git a/pandora_console/vendor/setasign/fpdi/src/PdfParser/Type/PdfIndirectObjectReference.php b/pandora_console/vendor/setasign/fpdi/src/PdfParser/Type/PdfIndirectObjectReference.php new file mode 100644 index 0000000000..2725d0c977 --- /dev/null +++ b/pandora_console/vendor/setasign/fpdi/src/PdfParser/Type/PdfIndirectObjectReference.php @@ -0,0 +1,52 @@ +value = (int) $objectNumber; + $v->generationNumber = (int) $generationNumber; + + return $v; + } + + /** + * Ensures that the passed value is a PdfIndirectObject instance. + * + * @param mixed $value + * @return self + * @throws PdfTypeException + */ + public static function ensure($value) + { + return PdfType::ensureType(self::class, $value, 'Indirect reference value expected.'); + } + + /** + * The generation number. + * + * @var int + */ + public $generationNumber; +} diff --git a/pandora_console/vendor/setasign/fpdi/src/PdfParser/Type/PdfName.php b/pandora_console/vendor/setasign/fpdi/src/PdfParser/Type/PdfName.php new file mode 100644 index 0000000000..194a13fe3c --- /dev/null +++ b/pandora_console/vendor/setasign/fpdi/src/PdfParser/Type/PdfName.php @@ -0,0 +1,82 @@ +getByte(), "\x00\x09\x0A\x0C\x0D\x20()<>[]{}/%") === 0) { + $v->value = (string) $tokenizer->getNextToken(); + return $v; + } + + $v->value = ''; + return $v; + } + + /** + * Unescapes a name string. + * + * @param string $value + * @return string + */ + public static function unescape($value) + { + if (strpos($value, '#') === false) { + return $value; + } + + return preg_replace_callback('/#([a-fA-F\d]{2})/', function ($matches) { + return chr(hexdec($matches[1])); + }, $value); + } + + /** + * Helper method to create an instance. + * + * @param string $string + * @return self + */ + public static function create($string) + { + $v = new self(); + $v->value = $string; + + return $v; + } + + /** + * Ensures that the passed value is a PdfName instance. + * + * @param mixed $name + * @return self + * @throws PdfTypeException + */ + public static function ensure($name) + { + return PdfType::ensureType(self::class, $name, 'Name value expected.'); + } +} diff --git a/pandora_console/vendor/setasign/fpdi/src/PdfParser/Type/PdfNull.php b/pandora_console/vendor/setasign/fpdi/src/PdfParser/Type/PdfNull.php new file mode 100644 index 0000000000..0c4c10826a --- /dev/null +++ b/pandora_console/vendor/setasign/fpdi/src/PdfParser/Type/PdfNull.php @@ -0,0 +1,19 @@ +value = $value + 0; + + return $v; + } + + /** + * Ensures that the passed value is a PdfNumeric instance. + * + * @param mixed $value + * @return self + * @throws PdfTypeException + */ + public static function ensure($value) + { + return PdfType::ensureType(self::class, $value, 'Numeric value expected.'); + } +} diff --git a/pandora_console/vendor/setasign/fpdi/src/PdfParser/Type/PdfStream.php b/pandora_console/vendor/setasign/fpdi/src/PdfParser/Type/PdfStream.php new file mode 100644 index 0000000000..6d4c5a8262 --- /dev/null +++ b/pandora_console/vendor/setasign/fpdi/src/PdfParser/Type/PdfStream.php @@ -0,0 +1,326 @@ +value = $dictionary; + $v->reader = $reader; + $v->parser = $parser; + + $offset = $reader->getOffset(); + + // Find the first "newline" + while (($firstByte = $reader->getByte($offset)) !== false) { + if ($firstByte !== "\n" && $firstByte !== "\r") { + $offset++; + } else { + break; + } + } + + if ($firstByte === false) { + throw new PdfTypeException( + 'Unable to parse stream data. No newline after the stream keyword found.', + PdfTypeException::NO_NEWLINE_AFTER_STREAM_KEYWORD + ); + } + + $sndByte = $reader->getByte($offset + 1); + if ($firstByte === "\n" || $firstByte === "\r") { + $offset++; + } + + if ($sndByte === "\n" && $firstByte !== "\n") { + $offset++; + } + + $reader->setOffset($offset); + // let's only save the byte-offset and read the stream only when needed + $v->stream = $reader->getPosition() + $reader->getOffset(); + + return $v; + } + + /** + * Helper method to create an instance. + * + * @param PdfDictionary $dictionary + * @param string $stream + * @return self + */ + public static function create(PdfDictionary $dictionary, $stream) + { + $v = new self(); + $v->value = $dictionary; + $v->stream = (string) $stream; + + return $v; + } + + /** + * Ensures that the passed value is a PdfStream instance. + * + * @param mixed $stream + * @return self + * @throws PdfTypeException + */ + public static function ensure($stream) + { + return PdfType::ensureType(self::class, $stream, 'Stream value expected.'); + } + + /** + * The stream or its byte-offset position. + * + * @var int|string + */ + protected $stream; + + /** + * The stream reader instance. + * + * @var StreamReader|null + */ + protected $reader; + + /** + * The PDF parser instance. + * + * @var PdfParser + */ + protected $parser; + + /** + * Get the stream data. + * + * @param bool $cache Whether cache the stream data or not. + * @return bool|string + * @throws PdfTypeException + * @throws CrossReferenceException + * @throws PdfParserException + */ + public function getStream($cache = false) + { + if (\is_int($this->stream)) { + $length = PdfDictionary::get($this->value, 'Length'); + if ($this->parser !== null) { + $length = PdfType::resolve($length, $this->parser); + } + + if (!($length instanceof PdfNumeric) || $length->value === 0) { + $this->reader->reset($this->stream, 100000); + $buffer = $this->extractStream(); + } else { + $this->reader->reset($this->stream, $length->value); + $buffer = $this->reader->getBuffer(false); + if ($this->parser !== null) { + $this->reader->reset($this->stream + strlen($buffer)); + $this->parser->getTokenizer()->clearStack(); + $token = $this->parser->readValue(); + if ($token === false || !($token instanceof PdfToken) || $token->value !== 'endstream') { + $this->reader->reset($this->stream, 100000); + $buffer = $this->extractStream(); + $this->reader->reset($this->stream + strlen($buffer)); + } + } + } + + if ($cache === false) { + return $buffer; + } + + $this->stream = $buffer; + $this->reader = null; + } + + return $this->stream; + } + + /** + * Extract the stream "manually". + * + * @return string + * @throws PdfTypeException + */ + protected function extractStream() + { + while (true) { + $buffer = $this->reader->getBuffer(false); + $length = \strpos($buffer, 'endstream'); + if ($length === false) { + if (!$this->reader->increaseLength(100000)) { + throw new PdfTypeException('Cannot extract stream.'); + } + continue; + } + break; + } + + $buffer = \substr($buffer, 0, $length); + $lastByte = \substr($buffer, -1); + + /* Check for EOL marker = + * CARRIAGE RETURN (\r) and a LINE FEED (\n) or just a LINE FEED (\n}, + * and not by a CARRIAGE RETURN (\r) alone + */ + if ($lastByte === "\n") { + $buffer = \substr($buffer, 0, -1); + + $lastByte = \substr($buffer, -1); + if ($lastByte === "\r") { + $buffer = \substr($buffer, 0, -1); + } + } + + // There are streams in the wild, which have only white signs in them but need to be parsed manually due + // to a problem encountered before (e.g. Length === 0). We should set them to empty streams to avoid problems + // in further processing (e.g. applying of filters). + if (trim($buffer) === '') { + $buffer = ''; + } + + return $buffer; + } + + /** + * Get the unfiltered stream data. + * + * @return string + * @throws FilterException + * @throws PdfParserException + */ + public function getUnfilteredStream() + { + $stream = $this->getStream(); + $filters = PdfDictionary::get($this->value, 'Filter'); + if ($filters instanceof PdfNull) { + return $stream; + } + + if ($filters instanceof PdfArray) { + $filters = $filters->value; + } else { + $filters = [$filters]; + } + + $decodeParams = PdfDictionary::get($this->value, 'DecodeParms'); + if ($decodeParams instanceof PdfArray) { + $decodeParams = $decodeParams->value; + } else { + $decodeParams = [$decodeParams]; + } + + foreach ($filters as $key => $filter) { + if (!($filter instanceof PdfName)) { + continue; + } + + $decodeParam = null; + if (isset($decodeParams[$key])) { + $decodeParam = ($decodeParams[$key] instanceof PdfDictionary ? $decodeParams[$key] : null); + } + + switch ($filter->value) { + case 'FlateDecode': + case 'Fl': + case 'LZWDecode': + case 'LZW': + if (\strpos($filter->value, 'LZW') === 0) { + $filterObject = new Lzw(); + } else { + $filterObject = new Flate(); + } + + $stream = $filterObject->decode($stream); + + if ($decodeParam instanceof PdfDictionary) { + $predictor = PdfDictionary::get($decodeParam, 'Predictor', PdfNumeric::create(1)); + if ($predictor->value !== 1) { + if (!\class_exists(Predictor::class)) { + throw new PdfParserException( + 'This PDF document makes use of features which are only implemented in the ' . + 'commercial "FPDI PDF-Parser" add-on (see https://www.setasign.com/fpdi-pdf-' . + 'parser).', + PdfParserException::IMPLEMENTED_IN_FPDI_PDF_PARSER + ); + } + + $colors = PdfDictionary::get($decodeParam, 'Colors', PdfNumeric::create(1)); + $bitsPerComponent = PdfDictionary::get( + $decodeParam, + 'BitsPerComponent', + PdfNumeric::create(8) + ); + + $columns = PdfDictionary::get($decodeParam, 'Columns', PdfNumeric::create(1)); + + $filterObject = new Predictor( + $predictor->value, + $colors->value, + $bitsPerComponent->value, + $columns->value + ); + + $stream = $filterObject->decode($stream); + } + } + + break; + case 'ASCII85Decode': + case 'A85': + $filterObject = new Ascii85(); + $stream = $filterObject->decode($stream); + break; + + case 'ASCIIHexDecode': + case 'AHx': + $filterObject = new AsciiHex(); + $stream = $filterObject->decode($stream); + break; + + default: + throw new FilterException( + \sprintf('Unsupported filter "%s".', $filter->value), + FilterException::UNSUPPORTED_FILTER + ); + } + } + + return $stream; + } +} diff --git a/pandora_console/vendor/setasign/fpdi/src/PdfParser/Type/PdfString.php b/pandora_console/vendor/setasign/fpdi/src/PdfParser/Type/PdfString.php new file mode 100644 index 0000000000..1636e68d60 --- /dev/null +++ b/pandora_console/vendor/setasign/fpdi/src/PdfParser/Type/PdfString.php @@ -0,0 +1,172 @@ +getOffset(); + $openBrackets = 1; + do { + $buffer = $streamReader->getBuffer(false); + for ($length = \strlen($buffer); $openBrackets !== 0 && $pos < $length; $pos++) { + switch ($buffer[$pos]) { + case '(': + $openBrackets++; + break; + case ')': + $openBrackets--; + break; + case '\\': + $pos++; + } + } + } while ($openBrackets !== 0 && $streamReader->increaseLength()); + + $result = \substr($buffer, $startPos, $openBrackets + $pos - $startPos - 1); + $streamReader->setOffset($pos); + + $v = new self(); + $v->value = $result; + + return $v; + } + + /** + * Helper method to create an instance. + * + * @param string $value The string needs to be escaped accordingly. + * @return self + */ + public static function create($value) + { + $v = new self(); + $v->value = $value; + + return $v; + } + + /** + * Ensures that the passed value is a PdfString instance. + * + * @param mixed $string + * @return self + * @throws PdfTypeException + */ + public static function ensure($string) + { + return PdfType::ensureType(self::class, $string, 'String value expected.'); + } + + /** + * Unescapes escaped sequences in a PDF string according to the PDF specification. + * + * @param string $s + * @return string + */ + public static function unescape($s) + { + $out = ''; + /** @noinspection ForeachInvariantsInspection */ + for ($count = 0, $n = \strlen($s); $count < $n; $count++) { + if ($s[$count] !== '\\') { + $out .= $s[$count]; + } else { + // A backslash at the end of the string - ignore it + if ($count === ($n - 1)) { + break; + } + + switch ($s[++$count]) { + case ')': + case '(': + case '\\': + $out .= $s[$count]; + break; + + case 'f': + $out .= "\x0C"; + break; + + case 'b': + $out .= "\x08"; + break; + + case 't': + $out .= "\x09"; + break; + + case 'r': + $out .= "\x0D"; + break; + + case 'n': + $out .= "\x0A"; + break; + + case "\r": + if ($count !== $n - 1 && $s[$count + 1] === "\n") { + $count++; + } + break; + + case "\n": + break; + + default: + $actualChar = \ord($s[$count]); + // ascii 48 = number 0 + // ascii 57 = number 9 + if ($actualChar >= 48 && $actualChar <= 57) { + $oct = '' . $s[$count]; + + /** @noinspection NotOptimalIfConditionsInspection */ + if ( + $count + 1 < $n + && \ord($s[$count + 1]) >= 48 + && \ord($s[$count + 1]) <= 57 + ) { + $count++; + $oct .= $s[$count]; + + /** @noinspection NotOptimalIfConditionsInspection */ + if ( + $count + 1 < $n + && \ord($s[$count + 1]) >= 48 + && \ord($s[$count + 1]) <= 57 + ) { + $oct .= $s[++$count]; + } + } + + $out .= \chr(\octdec($oct)); + } else { + // If the character is not one of those defined, the backslash is ignored + $out .= $s[$count]; + } + } + } + } + return $out; + } +} diff --git a/pandora_console/vendor/setasign/fpdi/src/PdfParser/Type/PdfToken.php b/pandora_console/vendor/setasign/fpdi/src/PdfParser/Type/PdfToken.php new file mode 100644 index 0000000000..012b9fd26c --- /dev/null +++ b/pandora_console/vendor/setasign/fpdi/src/PdfParser/Type/PdfToken.php @@ -0,0 +1,43 @@ +value = $token; + + return $v; + } + + /** + * Ensures that the passed value is a PdfToken instance. + * + * @param mixed $token + * @return self + * @throws PdfTypeException + */ + public static function ensure($token) + { + return PdfType::ensureType(self::class, $token, 'Token value expected.'); + } +} diff --git a/pandora_console/vendor/setasign/fpdi/src/PdfParser/Type/PdfType.php b/pandora_console/vendor/setasign/fpdi/src/PdfParser/Type/PdfType.php new file mode 100644 index 0000000000..7672dcdc1b --- /dev/null +++ b/pandora_console/vendor/setasign/fpdi/src/PdfParser/Type/PdfType.php @@ -0,0 +1,78 @@ +value, $parser, $stopAtIndirectObject); + } + + if ($value instanceof PdfIndirectObjectReference) { + return self::resolve($parser->getIndirectObject($value->value), $parser, $stopAtIndirectObject); + } + + return $value; + } + + /** + * Ensure that a value is an instance of a specific PDF type. + * + * @param string $type + * @param PdfType $value + * @param string $errorMessage + * @return mixed + * @throws PdfTypeException + */ + protected static function ensureType($type, $value, $errorMessage) + { + if (!($value instanceof $type)) { + throw new PdfTypeException( + $errorMessage, + PdfTypeException::INVALID_DATA_TYPE + ); + } + + return $value; + } + + /** + * The value of the PDF type. + * + * @var mixed + */ + public $value; +} diff --git a/pandora_console/vendor/setasign/fpdi/src/PdfParser/Type/PdfTypeException.php b/pandora_console/vendor/setasign/fpdi/src/PdfParser/Type/PdfTypeException.php new file mode 100644 index 0000000000..593d14740d --- /dev/null +++ b/pandora_console/vendor/setasign/fpdi/src/PdfParser/Type/PdfTypeException.php @@ -0,0 +1,24 @@ +value; + $ax = PdfNumeric::ensure(PdfType::resolve($array[0], $parser))->value; + $ay = PdfNumeric::ensure(PdfType::resolve($array[1], $parser))->value; + $bx = PdfNumeric::ensure(PdfType::resolve($array[2], $parser))->value; + $by = PdfNumeric::ensure(PdfType::resolve($array[3], $parser))->value; + + return new self($ax, $ay, $bx, $by); + } + + /** + * Rectangle constructor. + * + * @param float|int $ax + * @param float|int $ay + * @param float|int $bx + * @param float|int $by + */ + public function __construct($ax, $ay, $bx, $by) + { + $this->llx = \min($ax, $bx); + $this->lly = \min($ay, $by); + $this->urx = \max($ax, $bx); + $this->ury = \max($ay, $by); + } + + /** + * Get the width of the rectangle. + * + * @return float|int + */ + public function getWidth() + { + return $this->urx - $this->llx; + } + + /** + * Get the height of the rectangle. + * + * @return float|int + */ + public function getHeight() + { + return $this->ury - $this->lly; + } + + /** + * Get the lower left abscissa. + * + * @return float|int + */ + public function getLlx() + { + return $this->llx; + } + + /** + * Get the lower left ordinate. + * + * @return float|int + */ + public function getLly() + { + return $this->lly; + } + + /** + * Get the upper right abscissa. + * + * @return float|int + */ + public function getUrx() + { + return $this->urx; + } + + /** + * Get the upper right ordinate. + * + * @return float|int + */ + public function getUry() + { + return $this->ury; + } + + /** + * Get the rectangle as an array. + * + * @return array + */ + public function toArray() + { + return [ + $this->llx, + $this->lly, + $this->urx, + $this->ury + ]; + } + + /** + * Get the rectangle as a PdfArray. + * + * @return PdfArray + */ + public function toPdfArray() + { + $array = new PdfArray(); + $array->value[] = PdfNumeric::create($this->llx); + $array->value[] = PdfNumeric::create($this->lly); + $array->value[] = PdfNumeric::create($this->urx); + $array->value[] = PdfNumeric::create($this->ury); + + return $array; + } +} diff --git a/pandora_console/vendor/setasign/fpdi/src/PdfReader/Page.php b/pandora_console/vendor/setasign/fpdi/src/PdfReader/Page.php new file mode 100644 index 0000000000..b207c79327 --- /dev/null +++ b/pandora_console/vendor/setasign/fpdi/src/PdfReader/Page.php @@ -0,0 +1,271 @@ +pageObject = $page; + $this->parser = $parser; + } + + /** + * Get the indirect object of this page. + * + * @return PdfIndirectObject + */ + public function getPageObject() + { + return $this->pageObject; + } + + /** + * Get the dictionary of this page. + * + * @return PdfDictionary + * @throws PdfParserException + * @throws PdfTypeException + * @throws CrossReferenceException + */ + public function getPageDictionary() + { + if (null === $this->pageDictionary) { + $this->pageDictionary = PdfDictionary::ensure(PdfType::resolve($this->getPageObject(), $this->parser)); + } + + return $this->pageDictionary; + } + + /** + * Get a page attribute. + * + * @param string $name + * @param bool $inherited + * @return PdfType|null + * @throws PdfParserException + * @throws PdfTypeException + * @throws CrossReferenceException + */ + public function getAttribute($name, $inherited = true) + { + $dict = $this->getPageDictionary(); + + if (isset($dict->value[$name])) { + return $dict->value[$name]; + } + + $inheritedKeys = ['Resources', 'MediaBox', 'CropBox', 'Rotate']; + if ($inherited && \in_array($name, $inheritedKeys, true)) { + if ($this->inheritedAttributes === null) { + $this->inheritedAttributes = []; + $inheritedKeys = \array_filter($inheritedKeys, function ($key) use ($dict) { + return !isset($dict->value[$key]); + }); + + if (\count($inheritedKeys) > 0) { + $parentDict = PdfType::resolve(PdfDictionary::get($dict, 'Parent'), $this->parser); + while ($parentDict instanceof PdfDictionary) { + foreach ($inheritedKeys as $index => $key) { + if (isset($parentDict->value[$key])) { + $this->inheritedAttributes[$key] = $parentDict->value[$key]; + unset($inheritedKeys[$index]); + } + } + + /** @noinspection NotOptimalIfConditionsInspection */ + if (isset($parentDict->value['Parent']) && \count($inheritedKeys) > 0) { + $parentDict = PdfType::resolve(PdfDictionary::get($parentDict, 'Parent'), $this->parser); + } else { + break; + } + } + } + } + + if (isset($this->inheritedAttributes[$name])) { + return $this->inheritedAttributes[$name]; + } + } + + return null; + } + + /** + * Get the rotation value. + * + * @return int + * @throws PdfParserException + * @throws PdfTypeException + * @throws CrossReferenceException + */ + public function getRotation() + { + $rotation = $this->getAttribute('Rotate'); + if (null === $rotation) { + return 0; + } + + $rotation = PdfNumeric::ensure(PdfType::resolve($rotation, $this->parser))->value % 360; + + if ($rotation < 0) { + $rotation += 360; + } + + return $rotation; + } + + /** + * Get a boundary of this page. + * + * @param string $box + * @param bool $fallback + * @return bool|Rectangle + * @throws PdfParserException + * @throws PdfTypeException + * @throws CrossReferenceException + * @see PageBoundaries + */ + public function getBoundary($box = PageBoundaries::CROP_BOX, $fallback = true) + { + $value = $this->getAttribute($box); + + if ($value !== null) { + return Rectangle::byPdfArray($value, $this->parser); + } + + if ($fallback === false) { + return false; + } + + switch ($box) { + case PageBoundaries::BLEED_BOX: + case PageBoundaries::TRIM_BOX: + case PageBoundaries::ART_BOX: + return $this->getBoundary(PageBoundaries::CROP_BOX, true); + case PageBoundaries::CROP_BOX: + return $this->getBoundary(PageBoundaries::MEDIA_BOX, true); + } + + return false; + } + + /** + * Get the width and height of this page. + * + * @param string $box + * @param bool $fallback + * @return array|bool + * @throws PdfParserException + * @throws PdfTypeException + * @throws CrossReferenceException + */ + public function getWidthAndHeight($box = PageBoundaries::CROP_BOX, $fallback = true) + { + $boundary = $this->getBoundary($box, $fallback); + if ($boundary === false) { + return false; + } + + $rotation = $this->getRotation(); + $interchange = ($rotation / 90) % 2; + + return [ + $interchange ? $boundary->getHeight() : $boundary->getWidth(), + $interchange ? $boundary->getWidth() : $boundary->getHeight() + ]; + } + + /** + * Get the raw content stream. + * + * @return string + * @throws PdfReaderException + * @throws PdfTypeException + * @throws FilterException + * @throws PdfParserException + */ + public function getContentStream() + { + $dict = $this->getPageDictionary(); + $contents = PdfType::resolve(PdfDictionary::get($dict, 'Contents'), $this->parser); + if ($contents instanceof PdfNull) { + return ''; + } + + if ($contents instanceof PdfArray) { + $result = []; + foreach ($contents->value as $content) { + $content = PdfType::resolve($content, $this->parser); + if (!($content instanceof PdfStream)) { + continue; + } + $result[] = $content->getUnfilteredStream(); + } + + return \implode("\n", $result); + } + + if ($contents instanceof PdfStream) { + return $contents->getUnfilteredStream(); + } + + throw new PdfReaderException( + 'Array or stream expected.', + PdfReaderException::UNEXPECTED_DATA_TYPE + ); + } +} diff --git a/pandora_console/vendor/setasign/fpdi/src/PdfReader/PageBoundaries.php b/pandora_console/vendor/setasign/fpdi/src/PdfReader/PageBoundaries.php new file mode 100644 index 0000000000..9a6a1f3d1c --- /dev/null +++ b/pandora_console/vendor/setasign/fpdi/src/PdfReader/PageBoundaries.php @@ -0,0 +1,94 @@ +parser = $parser; + } + + /** + * PdfReader destructor. + */ + public function __destruct() + { + if ($this->parser !== null) { + $this->parser->cleanUp(); + } + } + + /** + * Get the pdf parser instance. + * + * @return PdfParser + */ + public function getParser() + { + return $this->parser; + } + + /** + * Get the PDF version. + * + * @return string + * @throws PdfParserException + */ + public function getPdfVersion() + { + return \implode('.', $this->parser->getPdfVersion()); + } + + /** + * Get the page count. + * + * @return int + * @throws PdfTypeException + * @throws CrossReferenceException + * @throws PdfParserException + */ + public function getPageCount() + { + if ($this->pageCount === null) { + $catalog = $this->parser->getCatalog(); + + $pages = PdfType::resolve(PdfDictionary::get($catalog, 'Pages'), $this->parser); + $count = PdfType::resolve(PdfDictionary::get($pages, 'Count'), $this->parser); + + $this->pageCount = PdfNumeric::ensure($count)->value; + } + + return $this->pageCount; + } + + /** + * Get a page instance. + * + * @param int $pageNumber + * @return Page + * @throws PdfTypeException + * @throws CrossReferenceException + * @throws PdfParserException + * @throws \InvalidArgumentException + */ + public function getPage($pageNumber) + { + if (!\is_numeric($pageNumber)) { + throw new \InvalidArgumentException( + 'Page number needs to be a number.' + ); + } + + if ($pageNumber < 1 || $pageNumber > $this->getPageCount()) { + throw new \InvalidArgumentException( + \sprintf( + 'Page number "%s" out of available page range (1 - %s)', + $pageNumber, + $this->getPageCount() + ) + ); + } + + $this->readPages(); + + $page = $this->pages[$pageNumber - 1]; + + if ($page instanceof PdfIndirectObjectReference) { + $readPages = function ($kids) use (&$readPages) { + $kids = PdfArray::ensure($kids); + + /** @noinspection LoopWhichDoesNotLoopInspection */ + foreach ($kids->value as $reference) { + $reference = PdfIndirectObjectReference::ensure($reference); + $object = $this->parser->getIndirectObject($reference->value); + $type = PdfDictionary::get($object->value, 'Type'); + + if ($type->value === 'Pages') { + return $readPages(PdfDictionary::get($object->value, 'Kids')); + } + + return $object; + } + + throw new PdfReaderException( + 'Kids array cannot be empty.', + PdfReaderException::KIDS_EMPTY + ); + }; + + $page = $this->parser->getIndirectObject($page->value); + $dict = PdfType::resolve($page, $this->parser); + $type = PdfDictionary::get($dict, 'Type'); + + if ($type->value === 'Pages') { + $kids = PdfType::resolve(PdfDictionary::get($dict, 'Kids'), $this->parser); + try { + $page = $this->pages[$pageNumber - 1] = $readPages($kids); + } catch (PdfReaderException $e) { + if ($e->getCode() !== PdfReaderException::KIDS_EMPTY) { + throw $e; + } + + // let's reset the pages array and read all page objects + $this->pages = []; + $this->readPages(true); + // @phpstan-ignore-next-line + $page = $this->pages[$pageNumber - 1]; + } + } else { + $this->pages[$pageNumber - 1] = $page; + } + } + + return new Page($page, $this->parser); + } + + /** + * Walk the page tree and resolve all indirect objects of all pages. + * + * @param bool $readAll + * @throws CrossReferenceException + * @throws PdfParserException + * @throws PdfTypeException + */ + protected function readPages($readAll = false) + { + if (\count($this->pages) > 0) { + return; + } + + $readPages = function ($kids, $count) use (&$readPages, $readAll) { + $kids = PdfArray::ensure($kids); + $isLeaf = ($count->value === \count($kids->value)); + + foreach ($kids->value as $reference) { + $reference = PdfIndirectObjectReference::ensure($reference); + + if (!$readAll && $isLeaf) { + $this->pages[] = $reference; + continue; + } + + $object = $this->parser->getIndirectObject($reference->value); + $type = PdfDictionary::get($object->value, 'Type'); + + if ($type->value === 'Pages') { + $readPages(PdfDictionary::get($object->value, 'Kids'), PdfDictionary::get($object->value, 'Count')); + } else { + $this->pages[] = $object; + } + } + }; + + $catalog = $this->parser->getCatalog(); + $pages = PdfType::resolve(PdfDictionary::get($catalog, 'Pages'), $this->parser); + $count = PdfType::resolve(PdfDictionary::get($pages, 'Count'), $this->parser); + $kids = PdfType::resolve(PdfDictionary::get($pages, 'Kids'), $this->parser); + $readPages($kids, $count); + } +} diff --git a/pandora_console/vendor/setasign/fpdi/src/PdfReader/PdfReaderException.php b/pandora_console/vendor/setasign/fpdi/src/PdfReader/PdfReaderException.php new file mode 100644 index 0000000000..99f7d125ce --- /dev/null +++ b/pandora_console/vendor/setasign/fpdi/src/PdfReader/PdfReaderException.php @@ -0,0 +1,34 @@ +cleanUp(); + } + + /** + * Get the next template id. + * + * @return int + */ + protected function getNextTemplateId() + { + return $this->templateId++; + } + + /** + * Draws an imported page onto the page or another template. + * + * Give only one of the size parameters (width, height) to calculate the other one automatically in view to the + * aspect ratio. + * + * @param mixed $tpl The template id + * @param float|int|array $x The abscissa of upper-left corner. Alternatively you could use an assoc array + * with the keys "x", "y", "width", "height", "adjustPageSize". + * @param float|int $y The ordinate of upper-left corner. + * @param float|int|null $width The width. + * @param float|int|null $height The height. + * @param bool $adjustPageSize + * @return array The size + * @see FpdiTrait::getTemplateSize() + */ + public function useTemplate($tpl, $x = 0, $y = 0, $width = null, $height = null, $adjustPageSize = false) + { + return $this->useImportedPage($tpl, $x, $y, $width, $height, $adjustPageSize); + } + + /** + * Draws an imported page onto the page. + * + * Give only one of the size parameters (width, height) to calculate the other one automatically in view to the + * aspect ratio. + * + * @param mixed $pageId The page id + * @param float|int|array $x The abscissa of upper-left corner. Alternatively you could use an assoc array + * with the keys "x", "y", "width", "height", "adjustPageSize". + * @param float|int $y The ordinate of upper-left corner. + * @param float|int|null $width The width. + * @param float|int|null $height The height. + * @param bool $adjustPageSize + * @return array The size. + * @see Fpdi::getTemplateSize() + */ + public function useImportedPage($pageId, $x = 0, $y = 0, $width = null, $height = null, $adjustPageSize = false) + { + $size = $this->fpdiUseImportedPage($pageId, $x, $y, $width, $height, $adjustPageSize); + if ($this->inxobj) { + $importedPage = $this->importedPages[$pageId]; + $this->xobjects[$this->xobjid]['importedPages'][$importedPage['id']] = $pageId; + } + + return $size; + } + + /** + * Get the size of an imported page. + * + * Give only one of the size parameters (width, height) to calculate the other one automatically in view to the + * aspect ratio. + * + * @param mixed $tpl The template id + * @param float|int|null $width The width. + * @param float|int|null $height The height. + * @return array|bool An array with following keys: width, height, 0 (=width), 1 (=height), orientation (L or P) + */ + public function getTemplateSize($tpl, $width = null, $height = null) + { + return $this->getImportedPageSize($tpl, $width, $height); + } + + /** + * @inheritdoc + */ + protected function _getxobjectdict() + { + $out = parent::_getxobjectdict(); + + foreach ($this->importedPages as $key => $pageData) { + $out .= '/' . $pageData['id'] . ' ' . $pageData['objectNumber'] . ' 0 R '; + } + + return $out; + } + + /** + * @inheritdoc + * @throws CrossReferenceException + * @throws PdfParserException + */ + protected function _putxobjects() + { + foreach ($this->importedPages as $key => $pageData) { + $this->currentObjectNumber = $this->_newobj(); + $this->importedPages[$key]['objectNumber'] = $this->currentObjectNumber; + $this->currentReaderId = $pageData['readerId']; + $this->writePdfType($pageData['stream']); + $this->_put('endobj'); + } + + foreach (\array_keys($this->readers) as $readerId) { + $parser = $this->getPdfReader($readerId)->getParser(); + $this->currentReaderId = $readerId; + + while (($objectNumber = \array_pop($this->objectsToCopy[$readerId])) !== null) { + try { + $object = $parser->getIndirectObject($objectNumber); + } catch (CrossReferenceException $e) { + if ($e->getCode() === CrossReferenceException::OBJECT_NOT_FOUND) { + $object = PdfIndirectObject::create($objectNumber, 0, new PdfNull()); + } else { + throw $e; + } + } + + $this->writePdfType($object); + } + } + + // let's prepare resources for imported pages in templates + foreach ($this->xobjects as $xObjectId => $data) { + if (!isset($data['importedPages'])) { + continue; + } + + foreach ($data['importedPages'] as $id => $pageKey) { + $page = $this->importedPages[$pageKey]; + $this->xobjects[$xObjectId]['xobjects'][$id] = ['n' => $page['objectNumber']]; + } + } + + + parent::_putxobjects(); + $this->currentObjectNumber = null; + } + + /** + * Append content to the buffer of TCPDF. + * + * @param string $s + * @param bool $newLine + */ + protected function _put($s, $newLine = true) + { + if ($newLine) { + $this->setBuffer($s . "\n"); + } else { + $this->setBuffer($s); + } + } + + /** + * Begin a new object and return the object number. + * + * @param int|string $objid Object ID (leave empty to get a new ID). + * @return int object number + */ + protected function _newobj($objid = '') + { + $this->_out($this->_getobj($objid)); + return $this->n; + } + + /** + * Writes a PdfType object to the resulting buffer. + * + * @param PdfType $value + * @throws PdfTypeException + */ + protected function writePdfType(PdfType $value) + { + if (!$this->encrypted) { + $this->fpdiWritePdfType($value); + return; + } + + if ($value instanceof PdfString) { + $string = PdfString::unescape($value->value); + $string = $this->_encrypt_data($this->currentObjectNumber, $string); + $value->value = \TCPDF_STATIC::_escape($string); + } elseif ($value instanceof PdfHexString) { + $filter = new AsciiHex(); + $string = $filter->decode($value->value); + $string = $this->_encrypt_data($this->currentObjectNumber, $string); + $value->value = $filter->encode($string, true); + } elseif ($value instanceof PdfStream) { + $stream = $value->getStream(); + $stream = $this->_encrypt_data($this->currentObjectNumber, $stream); + $dictionary = $value->value; + $dictionary->value['Length'] = PdfNumeric::create(\strlen($stream)); + $value = PdfStream::create($dictionary, $stream); + } elseif ($value instanceof PdfIndirectObject) { + /** + * @var PdfIndirectObject $value + */ + $this->currentObjectNumber = $this->objectMap[$this->currentReaderId][$value->objectNumber]; + } + + $this->fpdiWritePdfType($value); + } +} diff --git a/pandora_console/vendor/setasign/fpdi/src/TcpdfFpdi.php b/pandora_console/vendor/setasign/fpdi/src/TcpdfFpdi.php new file mode 100644 index 0000000000..9e6825bd3c --- /dev/null +++ b/pandora_console/vendor/setasign/fpdi/src/TcpdfFpdi.php @@ -0,0 +1,23 @@ +cleanUp(); + } + + /** + * Draws an imported page or a template onto the page or another template. + * + * Give only one of the size parameters (width, height) to calculate the other one automatically in view to the + * aspect ratio. + * + * @param mixed $tpl The template id + * @param float|int|array $x The abscissa of upper-left corner. Alternatively you could use an assoc array + * with the keys "x", "y", "width", "height", "adjustPageSize". + * @param float|int $y The ordinate of upper-left corner. + * @param float|int|null $width The width. + * @param float|int|null $height The height. + * @param bool $adjustPageSize + * @return array The size + * @see Fpdi::getTemplateSize() + */ + public function useTemplate($tpl, $x = 0, $y = 0, $width = null, $height = null, $adjustPageSize = false) + { + if (isset($this->importedPages[$tpl])) { + $size = $this->useImportedPage($tpl, $x, $y, $width, $height, $adjustPageSize); + if ($this->currentTemplateId !== null) { + $this->templates[$this->currentTemplateId]['resources']['templates']['importedPages'][$tpl] = $tpl; + } + return $size; + } + + return parent::useTemplate($tpl, $x, $y, $width, $height, $adjustPageSize); + } + + /** + * Get the size of an imported page or template. + * + * Give only one of the size parameters (width, height) to calculate the other one automatically in view to the + * aspect ratio. + * + * @param mixed $tpl The template id + * @param float|int|null $width The width. + * @param float|int|null $height The height. + * @return array|bool An array with following keys: width, height, 0 (=width), 1 (=height), orientation (L or P) + */ + public function getTemplateSize($tpl, $width = null, $height = null) + { + $size = parent::getTemplateSize($tpl, $width, $height); + if ($size === false) { + return $this->getImportedPageSize($tpl, $width, $height); + } + + return $size; + } + + /** + * @inheritdoc + * @throws CrossReferenceException + * @throws PdfParserException + */ + public function _putimages() + { + $this->currentReaderId = null; + parent::_putimages(); + + foreach ($this->importedPages as $key => $pageData) { + $this->_newobj(); + $this->importedPages[$key]['objectNumber'] = $this->n; + $this->currentReaderId = $pageData['readerId']; + $this->writePdfType($pageData['stream']); + $this->_put('endobj'); + } + + foreach (\array_keys($this->readers) as $readerId) { + $parser = $this->getPdfReader($readerId)->getParser(); + $this->currentReaderId = $readerId; + + while (($objectNumber = \array_pop($this->objectsToCopy[$readerId])) !== null) { + try { + $object = $parser->getIndirectObject($objectNumber); + } catch (CrossReferenceException $e) { + if ($e->getCode() === CrossReferenceException::OBJECT_NOT_FOUND) { + $object = PdfIndirectObject::create($objectNumber, 0, new PdfNull()); + } else { + throw $e; + } + } + + $this->writePdfType($object); + } + } + + $this->currentReaderId = null; + } + + /** + * @inheritdoc + */ + protected function _putxobjectdict() + { + foreach ($this->importedPages as $key => $pageData) { + $this->_put('/' . $pageData['id'] . ' ' . $pageData['objectNumber'] . ' 0 R'); + } + + parent::_putxobjectdict(); + } + + /** + * @inheritdoc + */ + protected function _put($s, $newLine = true) + { + if ($newLine) { + $this->buffer .= $s . "\n"; + } else { + $this->buffer .= $s; + } + } +} diff --git a/pandora_console/vendor/setasign/fpdi/src/autoload.php b/pandora_console/vendor/setasign/fpdi/src/autoload.php new file mode 100644 index 0000000000..4c3df9d8c9 --- /dev/null +++ b/pandora_console/vendor/setasign/fpdi/src/autoload.php @@ -0,0 +1,21 @@ += 8.1 }} + run: composer require symfony/phpunit-bridge:^5.4 --dev --prefer-dist --no-interaction --no-progress + + - name: Install dependencies + uses: nick-invision/retry@v1 + with: + timeout_minutes: 5 + max_attempts: 5 + command: composer update --prefer-stable --prefer-dist --no-interaction --no-progress + + - name: Execute tests + run: vendor/bin/simple-phpunit --verbose + env: + SYMFONY_PHPUNIT_REMOVE_RETURN_TYPEHINT: 1 diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/.gitignore b/pandora_console/vendor/swiftmailer/swiftmailer/.gitignore index 20d389a1c2..a911ddf656 100644 --- a/pandora_console/vendor/swiftmailer/swiftmailer/.gitignore +++ b/pandora_console/vendor/swiftmailer/swiftmailer/.gitignore @@ -1,5 +1,6 @@ /.php_cs.cache /.phpunit +/.phpunit.result.cache /build/* /composer.lock /phpunit.xml diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/.php_cs.dist b/pandora_console/vendor/swiftmailer/swiftmailer/.php_cs.dist index 2c04e04be3..563b48b904 100644 --- a/pandora_console/vendor/swiftmailer/swiftmailer/.php_cs.dist +++ b/pandora_console/vendor/swiftmailer/swiftmailer/.php_cs.dist @@ -4,12 +4,17 @@ return PhpCsFixer\Config::create() ->setRules([ '@Symfony' => true, '@Symfony:risky' => true, + '@PHPUnit75Migration:risky' => true, + 'php_unit_dedicate_assert' => ['target' => '5.6'], 'array_syntax' => ['syntax' => 'short'], + 'php_unit_fqcn_annotation' => true, 'no_unreachable_default_argument_value' => false, 'braces' => ['allow_single_line_closure' => true], 'heredoc_to_nowdoc' => false, - 'phpdoc_annotation_without_dot' => false, - 'ternary_to_null_coalescing' => true, + 'ordered_imports' => true, + 'phpdoc_types_order' => ['null_adjustment' => 'always_last', 'sort_algorithm' => 'none'], + 'native_function_invocation' => ['include' => ['@compiler_optimized'], 'scope' => 'all'], + 'fopen_flags' => false, ]) ->setRiskyAllowed(true) ->setFinder(PhpCsFixer\Finder::create()->in(__DIR__)) diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/.travis.yml b/pandora_console/vendor/swiftmailer/swiftmailer/.travis.yml deleted file mode 100644 index 5ee2c0dbe1..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/.travis.yml +++ /dev/null @@ -1,25 +0,0 @@ -language: php - -sudo: false - -before_script: - - cp tests/acceptance.conf.php.default tests/acceptance.conf.php - - cp tests/smoke.conf.php.default tests/smoke.conf.php - - composer self-update - - composer update --no-interaction --prefer-source - - gem install mime-types -v 2.99.1 - - gem install mailcatcher - - mailcatcher --smtp-port 4456 - -script: SYMFONY_PHPUNIT_VERSION=6.1 ./vendor/bin/simple-phpunit - -matrix: - include: - - php: 7.0 - - php: 7.1 - - php: 7.2 - fast_finish: true - -cache: - directories: - - .phpunit diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/CHANGES b/pandora_console/vendor/swiftmailer/swiftmailer/CHANGES index 1725a2043f..a7ffa0025b 100644 --- a/pandora_console/vendor/swiftmailer/swiftmailer/CHANGES +++ b/pandora_console/vendor/swiftmailer/swiftmailer/CHANGES @@ -1,7 +1,66 @@ Changelog ========= -6.1.3 (2018-XX-XX) +**Swiftmailer will stop being maintained at the end of November 2021.** + +Please, move to Symfony Mailer at your earliest convenience. +Symfony Mailer is the next evolution of Swiftmailer. +It provides the same features with support for modern PHP code and support for third-party providers. +See https://symfony.com/doc/current/mailer.html for more information. + +6.3.0 (2021-10-18) +------------------ + + * Fix support for PHP 8.1 + +6.2.7 (2021-03-09) +------------------ + + * Allow egulias/email-validator 3.1+ + +6.2.6 (2021-03-05) +------------------ + + * Fix Bcc support + +6.2.5 (2021-01-12) +------------------ + + * Don't trust properties at destruct time + * Remove invalid PHPDocs param in EventDispatcher interface + * Bump license year + * Removes PHP version from README + +6.2.4 (2020-12-08) +------------------ + + * Prevent flushing of the bubble queue when event handler raises another event + * Add support for PHP 8 + * Code cleanups + +6.2.3 (2019-11-12) +------------------ + + * no changes + +6.2.2 (2019-11-12) +------------------ + + * fixed compat with PHP 7.4 + * fixed error message when connecting to a stream raises an error before connect() + +6.2.1 (2019-04-21) +------------------ + + * reverted "deprecated Swift_CharacterStream_ArrayCharacterStream and Swift_CharacterStream_NgCharacterStream in favor of Swift_CharacterStream_CharacterStream" + +6.2.0 (2019-03-10) +------------------ + + * added support for symfony/polyfill-intl-dn + * deprecated Swift_CharacterStream_ArrayCharacterStream and Swift_CharacterStream_NgCharacterStream in favor of Swift_CharacterStream_CharacterStream + +6.1.3 (2018-09-11) ------------------ * added auto-start to the SMTP transport when sending a message diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/LICENSE b/pandora_console/vendor/swiftmailer/swiftmailer/LICENSE index bb9c80f0c8..ab720772eb 100644 --- a/pandora_console/vendor/swiftmailer/swiftmailer/LICENSE +++ b/pandora_console/vendor/swiftmailer/swiftmailer/LICENSE @@ -1,4 +1,4 @@ -Copyright (c) 2013-2018 Fabien Potencier +Copyright (c) 2013-2021 Fabien Potencier Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/README b/pandora_console/vendor/swiftmailer/swiftmailer/README deleted file mode 100644 index a41b66027d..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/README +++ /dev/null @@ -1,15 +0,0 @@ -Swift Mailer ------------- - -Swift Mailer is a component based mailing solution for PHP 7. -It is released under the MIT license. - -Homepage: https://swiftmailer.symfony.com/ -Documentation: https://swiftmailer.symfony.com/docs/introduction.html -Bugs: https://github.com/swiftmailer/swiftmailer/issues -Repository: https://github.com/swiftmailer/swiftmailer - -Swift Mailer is highly object-oriented by design and lends itself -to use in complex web application with a great deal of flexibility. - -For full details on usage, see the documentation. diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/README.md b/pandora_console/vendor/swiftmailer/swiftmailer/README.md new file mode 100644 index 0000000000..788d7223b9 --- /dev/null +++ b/pandora_console/vendor/swiftmailer/swiftmailer/README.md @@ -0,0 +1,25 @@ +Swift Mailer +------------ + +**Swiftmailer will stop being maintained at the end of November 2021.** + +Please, move to [Symfony Mailer](https://symfony.com/doc/current/mailer.html) at your earliest convenience. +[Symfony Mailer](https://symfony.com/doc/current/mailer.html) is the next evolution of Swiftmailer. +It provides the same features with support for modern PHP code and support for third-party providers. + +Swift Mailer is a component based mailing solution for PHP. +It is released under the MIT license. + +Swift Mailer is highly object-oriented by design and lends itself +to use in complex web application with a great deal of flexibility. + +For full details on usage, read the [documentation](https://swiftmailer.symfony.com/docs/introduction.html). + +Sponsors +-------- + +
    diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/composer.json b/pandora_console/vendor/swiftmailer/swiftmailer/composer.json index 9e5d360fe4..546b3a1e73 100644 --- a/pandora_console/vendor/swiftmailer/swiftmailer/composer.json +++ b/pandora_console/vendor/swiftmailer/swiftmailer/composer.json @@ -16,15 +16,17 @@ ], "require": { "php": ">=7.0.0", - "egulias/email-validator": "~2.0" + "egulias/email-validator": "^2.0|^3.1", + "symfony/polyfill-iconv": "^1.0", + "symfony/polyfill-mbstring": "^1.0", + "symfony/polyfill-intl-idn": "^1.10" }, "require-dev": { - "mockery/mockery": "~0.9.1", - "symfony/phpunit-bridge": "~3.3@dev" + "mockery/mockery": "^1.0", + "symfony/phpunit-bridge": "^4.4|^5.4" }, "suggest": { - "ext-intl": "Needed to support internationalized email addresses", - "true/punycode": "Needed to support internationalized email addresses, if ext-intl is not installed" + "ext-intl": "Needed to support internationalized email addresses" }, "autoload": { "files": ["lib/swift_required.php"] @@ -34,7 +36,9 @@ }, "extra": { "branch-alias": { - "dev-master": "6.1-dev" + "dev-master": "6.2-dev" } - } + }, + "minimum-stability": "dev", + "prefer-stable": true } diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/doc/introduction.rst b/pandora_console/vendor/swiftmailer/swiftmailer/doc/introduction.rst index 774e9f4663..8a47ef1da3 100644 --- a/pandora_console/vendor/swiftmailer/swiftmailer/doc/introduction.rst +++ b/pandora_console/vendor/swiftmailer/swiftmailer/doc/introduction.rst @@ -1,7 +1,13 @@ -Introduction -============ +Swiftmailer: A feature-rich PHP Mailer +====================================== -Swift Mailer is a for sending e-mails from PHP applications. +Swift Mailer is a component based library for sending e-mails from PHP applications. + +**Swiftmailer will stop being maintained at the end of November 2021.** + +Please, move to `Symfony Mailer `_ at your earliest convenience. +`Symfony Mailer `_ is the next evolution of Swiftmailer. +It provides the same features with support for modern PHP code and support for third-party providers. System Requirements ------------------- diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/doc/messages.rst b/pandora_console/vendor/swiftmailer/swiftmailer/doc/messages.rst index fac402c6eb..e03859d8d7 100644 --- a/pandora_console/vendor/swiftmailer/swiftmailer/doc/messages.rst +++ b/pandora_console/vendor/swiftmailer/swiftmailer/doc/messages.rst @@ -100,7 +100,7 @@ with a strict format, you only need to pass a DateTimeInterface instance to +-------------------------------+------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------------+ | ``Date`` | Specifies the date at which the message was sent | ``getDate()`` / ``setDate()`` | +-------------------------------+------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------------+ -| ``Content-Type`` | Specifies the format of the message (usually text/plain or text/html) | ``getContentType()`` / ``setContentType()`` | +| ``Content-Type`` | Specifies the format of the message (usually ``text/plain`` or ``text/html``) | ``getContentType()`` / ``setContentType()`` | +-------------------------------+------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------------+ | ``Content-Transfer-Encoding`` | Specifies the encoding scheme in the message | ``getEncoder()`` / ``setEncoder()`` | +-------------------------------+------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------------+ @@ -479,11 +479,13 @@ Mailer will throw a ``Swift_RfcComplianceException``. If you add recipients automatically based on a data source that may contain invalid email addresses, you can prevent possible exceptions by validating the addresses using:: - use Egulias\EmailValidator\EmailValidator; - use Egulias\EmailValidator\Validation\RFCValidation; - $validator = new EmailValidator(); - $validator->isValid("example@example.com", new RFCValidation()); //true + use Egulias\EmailValidator\EmailValidator; + use Egulias\EmailValidator\Validation\RFCValidation; + + $validator = new EmailValidator(); + $validator->isValid("example@example.com", new RFCValidation()); //true + and only adding addresses that validate. Another way would be to wrap your ``setTo()``, ``setCc()`` and ``setBcc()`` calls in a try-catch block and handle the ``Swift_RfcComplianceException`` in the catch block. @@ -520,9 +522,8 @@ Setting ``To:`` Recipients or ``addTo()`` methods of the message. To set ``To:`` recipients, create the message object using either ``new -Swift_Message( ... )`` or ``new Swift_Message( ... )``, then call the -``setTo()`` method with a complete array of addresses, or use the ``addTo()`` -method to iteratively add recipients. +Swift_Message( ... )``, then call the ``setTo()`` method with a complete array +of addresses, or use the ``addTo()`` method to iteratively add recipients. The ``setTo()`` method accepts input in various formats as described earlier in this chapter. The ``addTo()`` method takes either one or two parameters. The @@ -558,9 +559,8 @@ Setting ``Cc:`` Recipients message. To set ``Cc:`` recipients, create the message object using either ``new -Swift_Message( ... )`` or ``new Swift_Message( ... )``, then call the -``setCc()`` method with a complete array of addresses, or use the ``addCc()`` -method to iteratively add recipients. +Swift_Message( ... )``, then call the ``setCc()`` method with a complete array +of addresses, or use the ``addCc()`` method to iteratively add recipients. The ``setCc()`` method accepts input in various formats as described earlier in this chapter. The ``addCc()`` method takes either one or two parameters. The @@ -596,9 +596,8 @@ Setting ``Bcc:`` Recipients it, and are set with the ``setBcc()`` or ``addBcc()`` methods of the message. To set ``Bcc:`` recipients, create the message object using either ``new -Swift_Message( ... )`` or ``new Swift_Message( ... )``, then call the -``setBcc()`` method with a complete array of addresses, or use the ``addBcc()`` -method to iteratively add recipients. +Swift_Message( ... )``, then call the ``setBcc()`` method with a complete array +of addresses, or use the ``addBcc()`` method to iteratively add recipients. The ``setBcc()`` method accepts input in various formats as described earlier in this chapter. The ``addBcc()`` method takes either one or two parameters. @@ -823,7 +822,7 @@ Requesting a Read Receipt It is possible to request a read-receipt to be sent to an address when the email is opened. To request a read receipt set the address with -``setReadReceiptTo()``: +``setReadReceiptTo()``:: $message->setReadReceiptTo('your@address.tld'); diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/doc/plugins.rst b/pandora_console/vendor/swiftmailer/swiftmailer/doc/plugins.rst index c19c6d6a6b..548b07ff74 100644 --- a/pandora_console/vendor/swiftmailer/swiftmailer/doc/plugins.rst +++ b/pandora_console/vendor/swiftmailer/swiftmailer/doc/plugins.rst @@ -265,7 +265,7 @@ this to one user: Subject: Important notice for smilingsunshine2009 - Hello smilingsunshine2009,you requested to reset your password. + Hello smilingsunshine2009, you requested to reset your password. Please visit https://example.com/pwreset and use the reset code 183457 to set a new password. While another use may receive the message as: diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/doc/sending.rst b/pandora_console/vendor/swiftmailer/swiftmailer/doc/sending.rst index 0104207971..d3a10ad218 100644 --- a/pandora_console/vendor/swiftmailer/swiftmailer/doc/sending.rst +++ b/pandora_console/vendor/swiftmailer/swiftmailer/doc/sending.rst @@ -95,7 +95,8 @@ within your application and adjust the settings accordingly if the code is moved or if the SMTP server is changed. Some SMTP servers -- Google for example -- use encryption for security reasons. -Swift Mailer supports using both SSL and TLS encryption settings. +Swift Mailer supports using both ``ssl`` (SMTPS = SMTP over TLS) and ``tls`` +(SMTP with STARTTLS) encryption settings. Using the SMTP Transport ^^^^^^^^^^^^^^^^^^^^^^^^ @@ -129,11 +130,14 @@ A connection to the SMTP server will be established upon the first call to Encrypted SMTP ^^^^^^^^^^^^^^ -You can use SSL or TLS encryption with the SMTP Transport by specifying it as a -parameter or with a method call:: +You can use ``ssl`` (SMTPS) or ``tls`` (STARTTLS) encryption with the SMTP Transport +by specifying it as a parameter or with a method call:: // Create the Transport + // Option #1: SMTPS = SMTP over TLS (always encrypted): $transport = new Swift_SmtpTransport('smtp.example.org', 587, 'ssl'); + // Option #2: SMTP with STARTTLS (best effort encryption): + $transport = new Swift_SmtpTransport('smtp.example.org', 587, 'tls'); // Create the Mailer using your created Transport $mailer = new Swift_Mailer($transport); @@ -143,8 +147,7 @@ A connection to the SMTP server will be established upon the first call to settings. .. note:: - - For SSL or TLS encryption to work your PHP installation must have + For SMTPS or STARTTLS encryption to work your PHP installation must have appropriate OpenSSL transports wrappers. You can check if "tls" and/or "ssl" are present in your PHP installation by using the PHP function ``stream_get_transports()``. @@ -153,6 +156,14 @@ settings. If you are using Mailcatcher_, make sure you do not set the encryption for the ``Swift_SmtpTransport``, since Mailcatcher does not support encryption. +.. note:: + When in doubt, try ``ssl`` first for higher security, since the communication + is always encrypted. + +.. note:: + Usually, port 587 or 465 is used for encrypted SMTP. Check the documentation + of your mail provider. + SMTP with a Username and Password ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift.php b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift.php index 93e596cea2..51b19c9cb4 100644 --- a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift.php +++ b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift.php @@ -15,7 +15,7 @@ */ abstract class Swift { - const VERSION = '6.1.3'; + const VERSION = '6.3.0'; public static $initialized = false; public static $inits = []; @@ -56,7 +56,7 @@ abstract class Swift if (self::$inits && !self::$initialized) { self::$initialized = true; foreach (self::$inits as $init) { - call_user_func($init); + \call_user_func($init); } } } diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/AddressEncoder.php b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/AddressEncoder.php index 7ec3e90b43..a1704ffb40 100644 --- a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/AddressEncoder.php +++ b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/AddressEncoder.php @@ -18,8 +18,8 @@ interface Swift_AddressEncoder /** * Encodes an email address. * - * @throws Swift_AddressEncoderException If the email cannot be represented in - * the encoding implemented by this class. + * @throws Swift_AddressEncoderException if the email cannot be represented in + * the encoding implemented by this class */ public function encodeString(string $address): string; } diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/AddressEncoder/IdnAddressEncoder.php b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/AddressEncoder/IdnAddressEncoder.php index 56935b13e7..a373ef9d54 100644 --- a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/AddressEncoder/IdnAddressEncoder.php +++ b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/AddressEncoder/IdnAddressEncoder.php @@ -27,8 +27,7 @@ class Swift_AddressEncoder_IdnAddressEncoder implements Swift_AddressEncoder /** * Encodes the domain part of an address using IDN. * - * @throws Swift_AddressEncoderException If local-part contains non-ASCII characters, - * or if no suitable IDN encoder is installed. + * @throws Swift_AddressEncoderException If local-part contains non-ASCII characters */ public function encodeString(string $address): string { @@ -42,28 +41,10 @@ class Swift_AddressEncoder_IdnAddressEncoder implements Swift_AddressEncoder } if (preg_match('/[^\x00-\x7F]/', $domain)) { - $address = sprintf('%s@%s', $local, $this->idnToAscii($domain)); + $address = sprintf('%s@%s', $local, idn_to_ascii($domain, 0, INTL_IDNA_VARIANT_UTS46)); } } return $address; } - - /** - * IDN-encodes a UTF-8 string to ASCII. - */ - protected function idnToAscii(string $string): string - { - if (function_exists('idn_to_ascii')) { - return idn_to_ascii($string, 0, INTL_IDNA_VARIANT_UTS46); - } - - if (class_exists('TrueBV\Punycode')) { - $punycode = new \TrueBV\Punycode(); - - return $punycode->encode($string); - } - - throw new Swift_AddressEncoderException('Non-ASCII characters in address, but no IDN encoder found (install the intl extension or the true/punycode package)', $string); - } } diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Attachment.php b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Attachment.php index 79aac6a051..7a1420f798 100644 --- a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Attachment.php +++ b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Attachment.php @@ -26,7 +26,7 @@ class Swift_Attachment extends Swift_Mime_Attachment */ public function __construct($data = null, $filename = null, $contentType = null) { - call_user_func_array( + \call_user_func_array( [$this, 'Swift_Mime_Attachment::__construct'], Swift_DependencyContainer::getInstance() ->createDependenciesFor('mime.attachment') @@ -42,7 +42,7 @@ class Swift_Attachment extends Swift_Mime_Attachment * @param string $path * @param string $contentType optional * - * @return Swift_Mime_Attachment + * @return self */ public static function fromPath($path, $contentType = null) { diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/ByteStream/ArrayByteStream.php b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/ByteStream/ArrayByteStream.php index 68dc3b1eca..4f3dcc3774 100644 --- a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/ByteStream/ArrayByteStream.php +++ b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/ByteStream/ArrayByteStream.php @@ -52,10 +52,10 @@ class Swift_ByteStream_ArrayByteStream implements Swift_InputByteStream, Swift_O */ public function __construct($stack = null) { - if (is_array($stack)) { + if (\is_array($stack)) { $this->array = $stack; - $this->arraySize = count($stack); - } elseif (is_string($stack)) { + $this->arraySize = \count($stack); + } elseif (\is_string($stack)) { $this->write($stack); } else { $this->array = []; @@ -102,7 +102,7 @@ class Swift_ByteStream_ArrayByteStream implements Swift_InputByteStream, Swift_O foreach ($to_add as $value) { $this->array[] = $value; } - $this->arraySize = count($this->array); + $this->arraySize = \count($this->array); foreach ($this->mirrors as $stream) { $stream->write($bytes); diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/ByteStream/FileByteStream.php b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/ByteStream/FileByteStream.php index 0c428f7966..f6391219e7 100644 --- a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/ByteStream/FileByteStream.php +++ b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/ByteStream/FileByteStream.php @@ -81,7 +81,7 @@ class Swift_ByteStream_FileByteStream extends Swift_ByteStream_AbstractFilterabl // If we read one byte after reaching the end of the file // feof() will return false and an empty string is returned - if ('' === $bytes && feof($fp)) { + if ((false === $bytes || '' === $bytes) && feof($fp)) { $this->resetReadHandle(); return false; @@ -145,9 +145,7 @@ class Swift_ByteStream_FileByteStream extends Swift_ByteStream_AbstractFilterabl { if (!isset($this->writer)) { if (!$this->writer = fopen($this->path, $this->mode)) { - throw new Swift_IoException( - 'Unable to open file for writing ['.$this->path.']' - ); + throw new Swift_IoException('Unable to open file for writing ['.$this->path.']'); } } @@ -194,7 +192,7 @@ class Swift_ByteStream_FileByteStream extends Swift_ByteStream_AbstractFilterabl { if ($tmpFile = fopen('php://temp/maxmemory:4096', 'w+b')) { /* We have opened a php:// Stream Should work without problem */ - } elseif (function_exists('sys_get_temp_dir') && is_writable(sys_get_temp_dir()) && ($tmpFile = tmpfile())) { + } elseif (\function_exists('sys_get_temp_dir') && is_writable(sys_get_temp_dir()) && ($tmpFile = tmpfile())) { /* We have opened a tmpfile */ } else { throw new Swift_IoException('Unable to copy the file to make it seekable, sys_temp_dir is not writable, php://memory not available'); diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/ByteStream/TemporaryFileByteStream.php b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/ByteStream/TemporaryFileByteStream.php index 2d00b6a0f6..0dc61909d3 100644 --- a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/ByteStream/TemporaryFileByteStream.php +++ b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/ByteStream/TemporaryFileByteStream.php @@ -39,4 +39,14 @@ class Swift_ByteStream_TemporaryFileByteStream extends Swift_ByteStream_FileByte @unlink($this->getPath()); } } + + public function __sleep() + { + throw new \BadMethodCallException('Cannot serialize '.__CLASS__); + } + + public function __wakeup() + { + throw new \BadMethodCallException('Cannot unserialize '.__CLASS__); + } } diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/CharacterReader/GenericFixedWidthReader.php b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/CharacterReader/GenericFixedWidthReader.php index b09bb5b6c3..3e055afd9d 100644 --- a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/CharacterReader/GenericFixedWidthReader.php +++ b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/CharacterReader/GenericFixedWidthReader.php @@ -45,7 +45,7 @@ class Swift_CharacterReader_GenericFixedWidthReader implements Swift_CharacterRe */ public function getCharPositions($string, $startOffset, &$currentMap, &$ignoredChars) { - $strlen = strlen($string); + $strlen = \strlen($string); // % and / are CPU intensive, so, maybe find a better way $ignored = $strlen % $this->width; $ignoredChars = $ignored ? substr($string, -$ignored) : ''; diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/CharacterReader/UsAsciiReader.php b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/CharacterReader/UsAsciiReader.php index 67da48f6cb..ffc05f7166 100644 --- a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/CharacterReader/UsAsciiReader.php +++ b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/CharacterReader/UsAsciiReader.php @@ -27,7 +27,7 @@ class Swift_CharacterReader_UsAsciiReader implements Swift_CharacterReader */ public function getCharPositions($string, $startOffset, &$currentMap, &$ignoredChars) { - $strlen = strlen($string); + $strlen = \strlen($string); $ignoredChars = ''; for ($i = 0; $i < $strlen; ++$i) { if ($string[$i] > "\x07F") { @@ -65,7 +65,7 @@ class Swift_CharacterReader_UsAsciiReader implements Swift_CharacterReader public function validateByteSequence($bytes, $size) { $byte = reset($bytes); - if (1 == count($bytes) && $byte >= 0x00 && $byte <= 0x7F) { + if (1 == \count($bytes) && $byte >= 0x00 && $byte <= 0x7F) { return 0; } diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/CharacterReader/Utf8Reader.php b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/CharacterReader/Utf8Reader.php index 4a2df31db3..da37e0da9a 100644 --- a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/CharacterReader/Utf8Reader.php +++ b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/CharacterReader/Utf8Reader.php @@ -18,7 +18,7 @@ class Swift_CharacterReader_Utf8Reader implements Swift_CharacterReader { /** Pre-computed for optimization */ private static $length_map = [ - // N=0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F, + // N=0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 0x0N 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 0x1N 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 0x2N @@ -34,7 +34,7 @@ class Swift_CharacterReader_Utf8Reader implements Swift_CharacterReader 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, // 0xCN 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, // 0xDN 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // 0xEN - 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 0, 0, // 0xFN + 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 0, 0, // 0xFN ]; private static $s_length_map = [ @@ -88,8 +88,8 @@ class Swift_CharacterReader_Utf8Reader implements Swift_CharacterReader $currentMap['p'] = $currentMap['i'] = []; } - $strlen = strlen($string); - $charPos = count($currentMap['p']); + $strlen = \strlen($string); + $charPos = \count($currentMap['p']); $foundChars = 0; $invalid = false; for ($i = 0; $i < $strlen; ++$i) { diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/CharacterReaderFactory/SimpleCharacterReaderFactory.php b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/CharacterReaderFactory/SimpleCharacterReaderFactory.php index 78fffa9870..86900894ab 100644 --- a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/CharacterReaderFactory/SimpleCharacterReaderFactory.php +++ b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/CharacterReaderFactory/SimpleCharacterReaderFactory.php @@ -44,7 +44,7 @@ class Swift_CharacterReaderFactory_SimpleCharacterReaderFactory implements Swift public function init() { - if (count(self::$map) > 0) { + if (\count(self::$map) > 0) { return; } @@ -103,11 +103,11 @@ class Swift_CharacterReaderFactory_SimpleCharacterReaderFactory implements Swift */ public function getReaderFor($charset) { - $charset = strtolower(trim($charset)); + $charset = strtolower(trim($charset ?? '')); foreach (self::$map as $pattern => $spec) { $re = '/^'.$pattern.'$/D'; if (preg_match($re, $charset)) { - if (!array_key_exists($pattern, self::$loaded)) { + if (!\array_key_exists($pattern, self::$loaded)) { $reflector = new ReflectionClass($spec['class']); if ($reflector->getConstructor()) { $reader = $reflector->newInstanceArgs($spec['constructor']); diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/CharacterStream.php b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/CharacterStream.php index 717924f5d6..c9d8a078ee 100644 --- a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/CharacterStream.php +++ b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/CharacterStream.php @@ -28,8 +28,6 @@ interface Swift_CharacterStream /** * Set the CharacterReaderFactory for multi charset support. - * - * @param Swift_CharacterReaderFactory $factory */ public function setCharacterReaderFactory(Swift_CharacterReaderFactory $factory); diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/CharacterStream/ArrayCharacterStream.php b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/CharacterStream/ArrayCharacterStream.php index 887658c53b..5c2869455b 100644 --- a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/CharacterStream/ArrayCharacterStream.php +++ b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/CharacterStream/ArrayCharacterStream.php @@ -86,15 +86,15 @@ class Swift_CharacterStream_ArrayCharacterStream implements Swift_CharacterStrea $startLength = $this->charReader->getInitialByteSize(); while (false !== $bytes = $os->read($startLength)) { $c = []; - for ($i = 0, $len = strlen($bytes); $i < $len; ++$i) { + for ($i = 0, $len = \strlen($bytes); $i < $len; ++$i) { $c[] = self::$byteMap[$bytes[$i]]; } - $size = count($c); + $size = \count($c); $need = $this->charReader ->validateByteSequence($c, $size); if ($need > 0 && false !== $bytes = $os->read($need)) { - for ($i = 0, $len = strlen($bytes); $i < $len; ++$i) { + for ($i = 0, $len = \strlen($bytes); $i < $len; ++$i) { $c[] = self::$byteMap[$bytes[$i]]; } } @@ -204,7 +204,7 @@ class Swift_CharacterStream_ArrayCharacterStream implements Swift_CharacterStrea $new = $this->reloadBuffer($fp, 100); if ($new) { $buffer = array_merge($buf, $new); - $buf_len = count($buffer); + $buf_len = \count($buffer); $buf_pos = 0; } else { $has_datas = false; @@ -224,7 +224,7 @@ class Swift_CharacterStream_ArrayCharacterStream implements Swift_CharacterStrea if ($new) { $buffer = array_merge($buffer, $new); - $buf_len = count($buffer); + $buf_len = \count($buffer); } } for ($i = 0; $i < $need && isset($buffer[$buf_pos]); ++$i) { @@ -268,7 +268,7 @@ class Swift_CharacterStream_ArrayCharacterStream implements Swift_CharacterStrea { if (!feof($fp) && false !== ($bytes = fread($fp, $len))) { $buf = []; - for ($i = 0, $len = strlen($bytes); $i < $len; ++$i) { + for ($i = 0, $len = \strlen($bytes); $i < $len; ++$i) { $buf[] = self::$byteMap[$bytes[$i]]; } @@ -283,7 +283,7 @@ class Swift_CharacterStream_ArrayCharacterStream implements Swift_CharacterStrea if (!isset(self::$charMap)) { self::$charMap = []; for ($byte = 0; $byte < 256; ++$byte) { - self::$charMap[$byte] = chr($byte); + self::$charMap[$byte] = \chr($byte); } self::$byteMap = array_flip(self::$charMap); } diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/CharacterStream/NgCharacterStream.php b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/CharacterStream/NgCharacterStream.php index a733063c91..7578dda9ca 100644 --- a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/CharacterStream/NgCharacterStream.php +++ b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/CharacterStream/NgCharacterStream.php @@ -254,9 +254,9 @@ class Swift_CharacterStream_NgCharacterStream implements Swift_CharacterStream $this->datas .= $chars; $this->charCount += $this->charReader->getCharPositions(substr($this->datas, $this->datasSize), $this->datasSize, $this->map, $ignored); if (false !== $ignored) { - $this->datasSize = strlen($this->datas) - strlen($ignored); + $this->datasSize = \strlen($this->datas) - \strlen($ignored); } else { - $this->datasSize = strlen($this->datas); + $this->datasSize = \strlen($this->datas); } } } diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/DependencyContainer.php b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/DependencyContainer.php index b38f8ce512..3cc885ec03 100644 --- a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/DependencyContainer.php +++ b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/DependencyContainer.php @@ -83,7 +83,7 @@ class Swift_DependencyContainer */ public function has($itemName) { - return array_key_exists($itemName, $this->store) + return \array_key_exists($itemName, $this->store) && isset($this->store[$itemName]['lookupType']); } @@ -101,9 +101,7 @@ class Swift_DependencyContainer public function lookup($itemName) { if (!$this->has($itemName)) { - throw new Swift_DependencyException( - 'Cannot lookup dependency "'.$itemName.'" since it is not registered.' - ); + throw new Swift_DependencyException('Cannot lookup dependency "'.$itemName.'" since it is not registered.'); } switch ($this->store[$itemName]['lookupType']) { @@ -348,9 +346,7 @@ class Swift_DependencyContainer private function &getEndPoint() { if (!isset($this->endPoint)) { - throw new BadMethodCallException( - 'Component must first be registered by calling register()' - ); + throw new BadMethodCallException('Component must first be registered by calling register()'); } return $this->endPoint; @@ -377,7 +373,7 @@ class Swift_DependencyContainer /** Resolve a single dependency with an collections */ private function lookupRecursive($item) { - if (is_array($item)) { + if (\is_array($item)) { $collection = []; foreach ($item as $k => $v) { $collection[$k] = $this->lookupRecursive($v); diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/EmbeddedFile.php b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/EmbeddedFile.php index 20b81412ec..30fc68ab03 100644 --- a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/EmbeddedFile.php +++ b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/EmbeddedFile.php @@ -26,7 +26,7 @@ class Swift_EmbeddedFile extends Swift_Mime_EmbeddedFile */ public function __construct($data = null, $filename = null, $contentType = null) { - call_user_func_array( + \call_user_func_array( [$this, 'Swift_Mime_EmbeddedFile::__construct'], Swift_DependencyContainer::getInstance() ->createDependenciesFor('mime.embeddedfile') diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Encoder/Base64Encoder.php b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Encoder/Base64Encoder.php index 0e7b2a1b0c..b1eedaa051 100644 --- a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Encoder/Base64Encoder.php +++ b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Encoder/Base64Encoder.php @@ -34,7 +34,7 @@ class Swift_Encoder_Base64Encoder implements Swift_Encoder $maxLineLength = 76; } - $encodedString = base64_encode($string); + $encodedString = base64_encode($string ?? ''); $firstLine = ''; if (0 != $firstLineOffset) { diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Encoder/QpEncoder.php b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Encoder/QpEncoder.php index 95b4ae97b8..f078d6d7c3 100644 --- a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Encoder/QpEncoder.php +++ b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Encoder/QpEncoder.php @@ -135,14 +135,14 @@ class Swift_Encoder_QpEncoder implements Swift_Encoder protected function getSafeMapShareId() { - return get_class($this); + return static::class; } protected function initSafeMap() { foreach (array_merge( [0x09, 0x20], range(0x21, 0x3C), range(0x3E, 0x7E)) as $byte) { - $this->safeMap[$byte] = chr($byte); + $this->safeMap[$byte] = \chr($byte); } } @@ -281,7 +281,7 @@ class Swift_Encoder_QpEncoder implements Swift_Encoder $string = str_replace(["\t=0D=0A", ' =0D=0A', '=0D=0A'], ["=09\r\n", "=20\r\n", "\r\n"], $string ); - switch ($end = ord(substr($string, -1))) { + switch ($end = \ord(substr($string, -1))) { case 0x09: case 0x20: $string = substr_replace($string, self::$qpMap[$end], -1); diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Encoder/Rfc2231Encoder.php b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Encoder/Rfc2231Encoder.php index 2458515ad7..7eac36813e 100644 --- a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Encoder/Rfc2231Encoder.php +++ b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Encoder/Rfc2231Encoder.php @@ -58,8 +58,8 @@ class Swift_Encoder_Rfc2231Encoder implements Swift_Encoder while (false !== $char = $this->charStream->read(4)) { $encodedChar = rawurlencode($char); - if (0 != strlen($currentLine) - && strlen($currentLine.$encodedChar) > $thisLineLength) { + if (0 != \strlen($currentLine) + && \strlen($currentLine.$encodedChar) > $thisLineLength) { $lines[] = ''; $currentLine = &$lines[$lineCount++]; $thisLineLength = $maxLineLength; diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Events/CommandListener.php b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Events/CommandListener.php index 7545404e76..b158eab462 100644 --- a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Events/CommandListener.php +++ b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Events/CommandListener.php @@ -17,8 +17,6 @@ interface Swift_Events_CommandListener extends Swift_Events_EventListener { /** * Invoked immediately following a command being sent. - * - * @param Swift_Events_CommandEvent $evt */ public function commandSent(Swift_Events_CommandEvent $evt); } diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Events/EventDispatcher.php b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Events/EventDispatcher.php index a01dfa2606..df25a12486 100644 --- a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Events/EventDispatcher.php +++ b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Events/EventDispatcher.php @@ -18,9 +18,6 @@ interface Swift_Events_EventDispatcher /** * Create a new SendEvent for $source and $message. * - * @param Swift_Transport $source - * @param Swift_Mime_SimpleMessage - * * @return Swift_Events_SendEvent */ public function createSendEvent(Swift_Transport $source, Swift_Mime_SimpleMessage $message); @@ -28,9 +25,8 @@ interface Swift_Events_EventDispatcher /** * Create a new CommandEvent for $source and $command. * - * @param Swift_Transport $source - * @param string $command That will be executed - * @param array $successCodes That are needed + * @param string $command That will be executed + * @param array $successCodes That are needed * * @return Swift_Events_CommandEvent */ @@ -39,9 +35,8 @@ interface Swift_Events_EventDispatcher /** * Create a new ResponseEvent for $source and $response. * - * @param Swift_Transport $source - * @param string $response - * @param bool $valid If the response is valid + * @param string $response + * @param bool $valid If the response is valid * * @return Swift_Events_ResponseEvent */ @@ -50,8 +45,6 @@ interface Swift_Events_EventDispatcher /** * Create a new TransportChangeEvent for $source. * - * @param Swift_Transport $source - * * @return Swift_Events_TransportChangeEvent */ public function createTransportChangeEvent(Swift_Transport $source); @@ -59,25 +52,19 @@ interface Swift_Events_EventDispatcher /** * Create a new TransportExceptionEvent for $source. * - * @param Swift_Transport $source - * @param Swift_TransportException $ex - * * @return Swift_Events_TransportExceptionEvent */ public function createTransportExceptionEvent(Swift_Transport $source, Swift_TransportException $ex); /** * Bind an event listener to this dispatcher. - * - * @param Swift_Events_EventListener $listener */ public function bindEventListener(Swift_Events_EventListener $listener); /** * Dispatch the given Event to all suitable listeners. * - * @param Swift_Events_EventObject $evt - * @param string $target method + * @param string $target method */ public function dispatchEvent(Swift_Events_EventObject $evt, $target); } diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Events/ResponseListener.php b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Events/ResponseListener.php index c40919d210..85115a3381 100644 --- a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Events/ResponseListener.php +++ b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Events/ResponseListener.php @@ -17,8 +17,6 @@ interface Swift_Events_ResponseListener extends Swift_Events_EventListener { /** * Invoked immediately following a response coming back. - * - * @param Swift_Events_ResponseEvent $evt */ public function responseReceived(Swift_Events_ResponseEvent $evt); } diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Events/SendListener.php b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Events/SendListener.php index d922e1bfa9..f7bf55ef56 100644 --- a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Events/SendListener.php +++ b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Events/SendListener.php @@ -17,15 +17,11 @@ interface Swift_Events_SendListener extends Swift_Events_EventListener { /** * Invoked immediately before the Message is sent. - * - * @param Swift_Events_SendEvent $evt */ public function beforeSendPerformed(Swift_Events_SendEvent $evt); /** * Invoked immediately after the Message is sent. - * - * @param Swift_Events_SendEvent $evt */ public function sendPerformed(Swift_Events_SendEvent $evt); } diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Events/SimpleEventDispatcher.php b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Events/SimpleEventDispatcher.php index 1396f6164c..6557103c99 100644 --- a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Events/SimpleEventDispatcher.php +++ b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Events/SimpleEventDispatcher.php @@ -21,9 +21,6 @@ class Swift_Events_SimpleEventDispatcher implements Swift_Events_EventDispatcher /** Event listeners bound to this dispatcher */ private $listeners = []; - /** Listeners queued to have an Event bubbled up the stack to them */ - private $bubbleQueue = []; - /** * Create a new EventDispatcher. */ @@ -115,29 +112,31 @@ class Swift_Events_SimpleEventDispatcher implements Swift_Events_EventDispatcher */ public function dispatchEvent(Swift_Events_EventObject $evt, $target) { - $this->prepareBubbleQueue($evt); - $this->bubble($evt, $target); + $bubbleQueue = $this->prepareBubbleQueue($evt); + $this->bubble($bubbleQueue, $evt, $target); } /** Queue listeners on a stack ready for $evt to be bubbled up it */ private function prepareBubbleQueue(Swift_Events_EventObject $evt) { - $this->bubbleQueue = []; - $evtClass = get_class($evt); + $bubbleQueue = []; + $evtClass = \get_class($evt); foreach ($this->listeners as $listener) { - if (array_key_exists($evtClass, $this->eventMap) + if (\array_key_exists($evtClass, $this->eventMap) && ($listener instanceof $this->eventMap[$evtClass])) { - $this->bubbleQueue[] = $listener; + $bubbleQueue[] = $listener; } } + + return $bubbleQueue; } /** Bubble $evt up the stack calling $target() on each listener */ - private function bubble(Swift_Events_EventObject $evt, $target) + private function bubble(array &$bubbleQueue, Swift_Events_EventObject $evt, $target) { - if (!$evt->bubbleCancelled() && $listener = array_shift($this->bubbleQueue)) { + if (!$evt->bubbleCancelled() && $listener = array_shift($bubbleQueue)) { $listener->$target($evt); - $this->bubble($evt, $target); + $this->bubble($bubbleQueue, $evt, $target); } } } diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Events/TransportChangeListener.php b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Events/TransportChangeListener.php index 253165de89..4a7492bc55 100644 --- a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Events/TransportChangeListener.php +++ b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Events/TransportChangeListener.php @@ -17,29 +17,21 @@ interface Swift_Events_TransportChangeListener extends Swift_Events_EventListene { /** * Invoked just before a Transport is started. - * - * @param Swift_Events_TransportChangeEvent $evt */ public function beforeTransportStarted(Swift_Events_TransportChangeEvent $evt); /** * Invoked immediately after the Transport is started. - * - * @param Swift_Events_TransportChangeEvent $evt */ public function transportStarted(Swift_Events_TransportChangeEvent $evt); /** * Invoked just before a Transport is stopped. - * - * @param Swift_Events_TransportChangeEvent $evt */ public function beforeTransportStopped(Swift_Events_TransportChangeEvent $evt); /** * Invoked immediately after the Transport is stopped. - * - * @param Swift_Events_TransportChangeEvent $evt */ public function transportStopped(Swift_Events_TransportChangeEvent $evt); } diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Events/TransportExceptionListener.php b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Events/TransportExceptionListener.php index cc3c099379..ad80eb01d0 100644 --- a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Events/TransportExceptionListener.php +++ b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Events/TransportExceptionListener.php @@ -17,8 +17,6 @@ interface Swift_Events_TransportExceptionListener extends Swift_Events_EventList { /** * Invoked as a TransportException is thrown in the Transport system. - * - * @param Swift_Events_TransportExceptionEvent $evt */ public function exceptionThrown(Swift_Events_TransportExceptionEvent $evt); } diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/FailoverTransport.php b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/FailoverTransport.php index 0044be59b7..af0be91790 100644 --- a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/FailoverTransport.php +++ b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/FailoverTransport.php @@ -22,7 +22,7 @@ class Swift_FailoverTransport extends Swift_Transport_FailoverTransport */ public function __construct($transports = []) { - call_user_func_array( + \call_user_func_array( [$this, 'Swift_Transport_FailoverTransport::__construct'], Swift_DependencyContainer::getInstance() ->createDependenciesFor('transport.failover') diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/FileSpool.php b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/FileSpool.php index d16c47cd6a..7af8471c9d 100644 --- a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/FileSpool.php +++ b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/FileSpool.php @@ -198,7 +198,7 @@ class Swift_FileSpool extends Swift_ConfigurableSpool // This string MUST stay FS safe, avoid special chars $base = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_-'; $ret = ''; - $strlen = strlen($base); + $strlen = \strlen($base); for ($i = 0; $i < $count; ++$i) { $ret .= $base[random_int(0, $strlen - 1)]; } diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Filterable.php b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Filterable.php index 6b75b52748..efa1b1def5 100644 --- a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Filterable.php +++ b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Filterable.php @@ -18,8 +18,7 @@ interface Swift_Filterable /** * Add a new StreamFilter, referenced by $key. * - * @param Swift_StreamFilter $filter - * @param string $key + * @param string $key */ public function addFilter(Swift_StreamFilter $filter, $key); diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/KeyCache.php b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/KeyCache.php index cd6f786df6..87f6a07421 100644 --- a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/KeyCache.php +++ b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/KeyCache.php @@ -38,10 +38,9 @@ interface Swift_KeyCache * * @see MODE_WRITE, MODE_APPEND * - * @param string $nsKey - * @param string $itemKey - * @param Swift_OutputByteStream $os - * @param int $mode + * @param string $nsKey + * @param string $itemKey + * @param int $mode */ public function importFromByteStream($nsKey, $itemKey, Swift_OutputByteStream $os, $mode); diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/KeyCache/ArrayKeyCache.php b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/KeyCache/ArrayKeyCache.php index 76fafdfc6a..e8fef1c95d 100644 --- a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/KeyCache/ArrayKeyCache.php +++ b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/KeyCache/ArrayKeyCache.php @@ -62,10 +62,7 @@ class Swift_KeyCache_ArrayKeyCache implements Swift_KeyCache $this->contents[$nsKey][$itemKey] .= $string; break; default: - throw new Swift_SwiftException( - 'Invalid mode ['.$mode.'] used to set nsKey='. - $nsKey.', itemKey='.$itemKey - ); + throw new Swift_SwiftException('Invalid mode ['.$mode.'] used to set nsKey='.$nsKey.', itemKey='.$itemKey); } } @@ -94,10 +91,7 @@ class Swift_KeyCache_ArrayKeyCache implements Swift_KeyCache } break; default: - throw new Swift_SwiftException( - 'Invalid mode ['.$mode.'] used to set nsKey='. - $nsKey.', itemKey='.$itemKey - ); + throw new Swift_SwiftException('Invalid mode ['.$mode.'] used to set nsKey='.$nsKey.', itemKey='.$itemKey); } } @@ -165,7 +159,7 @@ class Swift_KeyCache_ArrayKeyCache implements Swift_KeyCache { $this->prepareCache($nsKey); - return array_key_exists($itemKey, $this->contents[$nsKey]); + return \array_key_exists($itemKey, $this->contents[$nsKey]); } /** @@ -196,7 +190,7 @@ class Swift_KeyCache_ArrayKeyCache implements Swift_KeyCache */ private function prepareCache($nsKey) { - if (!array_key_exists($nsKey, $this->contents)) { + if (!\array_key_exists($nsKey, $this->contents)) { $this->contents[$nsKey] = []; } } diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/KeyCache/DiskKeyCache.php b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/KeyCache/DiskKeyCache.php index 7dc2886cca..33b6367cb8 100644 --- a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/KeyCache/DiskKeyCache.php +++ b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/KeyCache/DiskKeyCache.php @@ -80,10 +80,7 @@ class Swift_KeyCache_DiskKeyCache implements Swift_KeyCache $fp = $this->getHandle($nsKey, $itemKey, self::POSITION_END); break; default: - throw new Swift_SwiftException( - 'Invalid mode ['.$mode.'] used to set nsKey='. - $nsKey.', itemKey='.$itemKey - ); + throw new Swift_SwiftException('Invalid mode ['.$mode.'] used to set nsKey='.$nsKey.', itemKey='.$itemKey); break; } fwrite($fp, $string); @@ -112,10 +109,7 @@ class Swift_KeyCache_DiskKeyCache implements Swift_KeyCache $fp = $this->getHandle($nsKey, $itemKey, self::POSITION_END); break; default: - throw new Swift_SwiftException( - 'Invalid mode ['.$mode.'] used to set nsKey='. - $nsKey.', itemKey='.$itemKey - ); + throw new Swift_SwiftException('Invalid mode ['.$mode.'] used to set nsKey='.$nsKey.', itemKey='.$itemKey); break; } while (false !== $bytes = $os->read(8192)) { @@ -224,7 +218,7 @@ class Swift_KeyCache_DiskKeyCache implements Swift_KeyCache */ public function clearAll($nsKey) { - if (array_key_exists($nsKey, $this->keys)) { + if (\array_key_exists($nsKey, $this->keys)) { foreach ($this->keys[$nsKey] as $itemKey => $null) { $this->clearKey($nsKey, $itemKey); } @@ -292,4 +286,9 @@ class Swift_KeyCache_DiskKeyCache implements Swift_KeyCache $this->clearAll($nsKey); } } + + public function __wakeup() + { + $this->keys = []; + } } diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/KeyCache/KeyCacheInputStream.php b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/KeyCache/KeyCacheInputStream.php index af80bdca6b..be2dbba0c5 100644 --- a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/KeyCache/KeyCacheInputStream.php +++ b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/KeyCache/KeyCacheInputStream.php @@ -17,8 +17,6 @@ interface Swift_KeyCache_KeyCacheInputStream extends Swift_InputByteStream { /** * Set the KeyCache to wrap. - * - * @param Swift_KeyCache $keyCache */ public function setKeyCache(Swift_KeyCache $keyCache); @@ -38,8 +36,6 @@ interface Swift_KeyCache_KeyCacheInputStream extends Swift_InputByteStream /** * Specify a stream to write through for each write(). - * - * @param Swift_InputByteStream $is */ public function setWriteThroughStream(Swift_InputByteStream $is); diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/LoadBalancedTransport.php b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/LoadBalancedTransport.php index ce732af5f9..244b5f6024 100644 --- a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/LoadBalancedTransport.php +++ b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/LoadBalancedTransport.php @@ -22,7 +22,7 @@ class Swift_LoadBalancedTransport extends Swift_Transport_LoadBalancedTransport */ public function __construct($transports = []) { - call_user_func_array( + \call_user_func_array( [$this, 'Swift_Transport_LoadBalancedTransport::__construct'], Swift_DependencyContainer::getInstance() ->createDependenciesFor('transport.loadbalanced') diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Message.php b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Message.php index 42b861fc12..5c5834e23d 100644 --- a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Message.php +++ b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Message.php @@ -42,7 +42,7 @@ class Swift_Message extends Swift_Mime_SimpleMessage */ public function __construct($subject = null, $body = null, $contentType = null, $charset = null) { - call_user_func_array( + \call_user_func_array( [$this, 'Swift_Mime_SimpleMessage::__construct'], Swift_DependencyContainer::getInstance() ->createDependenciesFor('mime.message') @@ -212,7 +212,7 @@ class Swift_Message extends Swift_Mime_SimpleMessage $this->savedMessage = ['headers' => []]; $this->savedMessage['body'] = $this->getBody(); $this->savedMessage['children'] = $this->getChildren(); - if (count($this->savedMessage['children']) > 0 && '' != $this->getBody()) { + if (\count($this->savedMessage['children']) > 0 && '' != $this->getBody()) { $this->setChildren(array_merge([$this->becomeMimePart()], $this->savedMessage['children'])); $this->setBody(''); } @@ -224,7 +224,7 @@ class Swift_Message extends Swift_Mime_SimpleMessage protected function saveHeaders(array $altered) { foreach ($altered as $head) { - $lc = strtolower($head); + $lc = strtolower($head ?? ''); if (!isset($this->savedMessage['headers'][$lc])) { $this->savedMessage['headers'][$lc] = $this->getHeaders()->getAll($head); diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Attachment.php b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Attachment.php index 917007e464..d994373bd7 100644 --- a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Attachment.php +++ b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Attachment.php @@ -134,7 +134,7 @@ class Swift_Mime_Attachment extends Swift_Mime_SimpleMimeEntity if (!isset($contentType)) { $extension = strtolower(substr($file->getPath(), strrpos($file->getPath(), '.') + 1)); - if (array_key_exists($extension, $this->mimeTypes)) { + if (\array_key_exists($extension, $this->mimeTypes)) { $this->setContentType($this->mimeTypes[$extension]); } } diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/ContentEncoder/Base64ContentEncoder.php b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/ContentEncoder/Base64ContentEncoder.php index 8c4e2266f4..b7e1e02830 100644 --- a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/ContentEncoder/Base64ContentEncoder.php +++ b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/ContentEncoder/Base64ContentEncoder.php @@ -27,7 +27,7 @@ class Swift_Mime_ContentEncoder_Base64ContentEncoder extends Swift_Encoder_Base6 } $remainder = 0; - $base64ReadBufferRemainderBytes = null; + $base64ReadBufferRemainderBytes = ''; // To reduce memory usage, the output buffer is streamed to the input buffer like so: // Output Stream => base64encode => wrap line length => Input Stream @@ -45,8 +45,8 @@ class Swift_Mime_ContentEncoder_Base64ContentEncoder extends Swift_Encoder_Base6 } else { $streamTheseBytes = $base64ReadBufferRemainderBytes.$readBytes; } - $base64ReadBufferRemainderBytes = null; - $bytesLength = strlen($streamTheseBytes); + $base64ReadBufferRemainderBytes = ''; + $bytesLength = \strlen($streamTheseBytes); if (0 === $bytesLength) { // no data left to encode break; @@ -66,7 +66,7 @@ class Swift_Mime_ContentEncoder_Base64ContentEncoder extends Swift_Encoder_Base6 $encodedTransformed = ''; $thisMaxLineLength = $maxLineLength - $remainder - $firstLineOffset; - while ($thisMaxLineLength < strlen($encoded)) { + while ($thisMaxLineLength < \strlen($encoded)) { $encodedTransformed .= substr($encoded, 0, $thisMaxLineLength)."\r\n"; $firstLineOffset = 0; $encoded = substr($encoded, $thisMaxLineLength); @@ -74,7 +74,7 @@ class Swift_Mime_ContentEncoder_Base64ContentEncoder extends Swift_Encoder_Base6 $remainder = 0; } - if (0 < $remainingLength = strlen($encoded)) { + if (0 < $remainingLength = \strlen($encoded)) { $remainder += $remainingLength; $encodedTransformed .= $encoded; $encoded = null; diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/ContentEncoder/NativeQpContentEncoder.php b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/ContentEncoder/NativeQpContentEncoder.php index 9aae487180..8dfea605fd 100644 --- a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/ContentEncoder/NativeQpContentEncoder.php +++ b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/ContentEncoder/NativeQpContentEncoder.php @@ -16,16 +16,16 @@ class Swift_Mime_ContentEncoder_NativeQpContentEncoder implements Swift_Mime_ContentEncoder { /** - * @var null|string + * @var string|null */ private $charset; /** - * @param null|string $charset + * @param string|null $charset */ public function __construct($charset = null) { - $this->charset = $charset ? $charset : 'utf-8'; + $this->charset = $charset ?: 'utf-8'; } /** @@ -51,8 +51,7 @@ class Swift_Mime_ContentEncoder_NativeQpContentEncoder implements Swift_Mime_Con public function encodeByteStream(Swift_OutputByteStream $os, Swift_InputByteStream $is, $firstLineOffset = 0, $maxLineLength = 0) { if ('utf-8' !== $this->charset) { - throw new RuntimeException( - sprintf('Charset "%s" not supported. NativeQpContentEncoder only supports "utf-8"', $this->charset)); + throw new RuntimeException(sprintf('Charset "%s" not supported. NativeQpContentEncoder only supports "utf-8"', $this->charset)); } $string = ''; @@ -88,8 +87,7 @@ class Swift_Mime_ContentEncoder_NativeQpContentEncoder implements Swift_Mime_Con public function encodeString($string, $firstLineOffset = 0, $maxLineLength = 0) { if ('utf-8' !== $this->charset) { - throw new RuntimeException( - sprintf('Charset "%s" not supported. NativeQpContentEncoder only supports "utf-8"', $this->charset)); + throw new RuntimeException(sprintf('Charset "%s" not supported. NativeQpContentEncoder only supports "utf-8"', $this->charset)); } return $this->standardize(quoted_printable_encode($string)); @@ -109,7 +107,7 @@ class Swift_Mime_ContentEncoder_NativeQpContentEncoder implements Swift_Mime_Con // transform =0D=0A to CRLF $string = str_replace(["\t=0D=0A", ' =0D=0A', '=0D=0A'], ["=09\r\n", "=20\r\n", "\r\n"], $string); - switch (ord(substr($string, -1))) { + switch (\ord(substr($string, -1))) { case 0x09: $string = substr_replace($string, '=09', -1); break; diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/ContentEncoder/NullContentEncoder.php b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/ContentEncoder/NullContentEncoder.php index e23507337c..6539de77b1 100644 --- a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/ContentEncoder/NullContentEncoder.php +++ b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/ContentEncoder/NullContentEncoder.php @@ -21,7 +21,7 @@ class Swift_Mime_ContentEncoder_NullContentEncoder implements Swift_Mime_Content * * @var string */ - private $_name; + private $name; /** * Creates a new NullContentEncoder with $name (probably 7bit or 8bit). @@ -30,7 +30,7 @@ class Swift_Mime_ContentEncoder_NullContentEncoder implements Swift_Mime_Content */ public function __construct($name) { - $this->_name = $name; + $this->name = $name; } /** @@ -67,7 +67,7 @@ class Swift_Mime_ContentEncoder_NullContentEncoder implements Swift_Mime_Content */ public function getName() { - return $this->_name; + return $this->name; } /** diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/ContentEncoder/PlainContentEncoder.php b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/ContentEncoder/PlainContentEncoder.php index aa634f54ee..72592fc589 100644 --- a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/ContentEncoder/PlainContentEncoder.php +++ b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/ContentEncoder/PlainContentEncoder.php @@ -37,7 +37,7 @@ class Swift_Mime_ContentEncoder_PlainContentEncoder implements Swift_Mime_Conten * Creates a new PlainContentEncoder with $name (probably 7bit or 8bit). * * @param string $name - * @param bool $canonical If canonicalization transformation should be done. + * @param bool $canonical if canonicalization transformation should be done */ public function __construct($name, $canonical = false) { @@ -84,7 +84,7 @@ class Swift_Mime_ContentEncoder_PlainContentEncoder implements Swift_Mime_Conten $is->write($wrapped); } - if (strlen($leftOver)) { + if (\strlen($leftOver)) { $is->write($leftOver); } } @@ -134,8 +134,8 @@ class Swift_Mime_ContentEncoder_PlainContentEncoder implements Swift_Mime_Conten $chunks = preg_split('/(?<=\s)/', $originalLine); foreach ($chunks as $chunk) { - if (0 != strlen($currentLine) - && strlen($currentLine.$chunk) > $length) { + if (0 != \strlen($currentLine) + && \strlen($currentLine.$chunk) > $length) { $lines[] = ''; $currentLine = &$lines[$lineCount++]; } diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/ContentEncoder/QpContentEncoder.php b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/ContentEncoder/QpContentEncoder.php index 84e3d2475d..465ffd8785 100644 --- a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/ContentEncoder/QpContentEncoder.php +++ b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/ContentEncoder/QpContentEncoder.php @@ -37,7 +37,7 @@ class Swift_Mime_ContentEncoder_QpContentEncoder extends Swift_Encoder_QpEncoder protected function getSafeMapShareId() { - return get_class($this).($this->dotEscape ? '.dotEscape' : ''); + return static::class.($this->dotEscape ? '.dotEscape' : ''); } protected function initSafeMap() @@ -116,7 +116,7 @@ class Swift_Mime_ContentEncoder_QpContentEncoder extends Swift_Encoder_QpEncoder $lineLen = $size - strrpos($enc, '=0D=0A') - 6; } } - if (strlen($currentLine)) { + if (\strlen($currentLine)) { $is->write($prepend.$this->standardize($currentLine)); } } diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/ContentEncoder/QpContentEncoderProxy.php b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/ContentEncoder/QpContentEncoderProxy.php index 1b06da8c73..f3ece43aec 100644 --- a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/ContentEncoder/QpContentEncoderProxy.php +++ b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/ContentEncoder/QpContentEncoderProxy.php @@ -28,7 +28,7 @@ class Swift_Mime_ContentEncoder_QpContentEncoderProxy implements Swift_Mime_Cont private $nativeEncoder; /** - * @var null|string + * @var string|null */ private $charset; diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/EncodingObserver.php b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/EncodingObserver.php index cc44a6efb9..1a952ece12 100644 --- a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/EncodingObserver.php +++ b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/EncodingObserver.php @@ -17,8 +17,6 @@ interface Swift_Mime_EncodingObserver { /** * Notify this observer that the observed entity's ContentEncoder has changed. - * - * @param Swift_Mime_ContentEncoder $encoder */ public function encoderChanged(Swift_Mime_ContentEncoder $encoder); } diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/HeaderEncoder/Base64HeaderEncoder.php b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/HeaderEncoder/Base64HeaderEncoder.php index c440357516..21c8aaabfe 100644 --- a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/HeaderEncoder/Base64HeaderEncoder.php +++ b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/HeaderEncoder/Base64HeaderEncoder.php @@ -41,7 +41,7 @@ class Swift_Mime_HeaderEncoder_Base64HeaderEncoder extends Swift_Encoder_Base64E */ public function encodeString($string, $firstLineOffset = 0, $maxLineLength = 0, $charset = 'utf-8') { - if ('iso-2022-jp' === strtolower($charset)) { + if ('iso-2022-jp' === strtolower($charset ?? '')) { $old = mb_internal_encoding(); mb_internal_encoding('utf-8'); $newstring = mb_encode_mimeheader($string, $charset, $this->getName(), "\r\n"); diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/HeaderEncoder/QpHeaderEncoder.php b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/HeaderEncoder/QpHeaderEncoder.php index 0eef3e1e76..378c480505 100644 --- a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/HeaderEncoder/QpHeaderEncoder.php +++ b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/HeaderEncoder/QpHeaderEncoder.php @@ -31,7 +31,7 @@ class Swift_Mime_HeaderEncoder_QpHeaderEncoder extends Swift_Encoder_QpEncoder i range(0x61, 0x7A), range(0x41, 0x5A), range(0x30, 0x39), [0x20, 0x21, 0x2A, 0x2B, 0x2D, 0x2F] ) as $byte) { - $this->safeMap[$byte] = chr($byte); + $this->safeMap[$byte] = \chr($byte); } } diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Headers/AbstractHeader.php b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Headers/AbstractHeader.php index 3a19404a6f..25740d1155 100644 --- a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Headers/AbstractHeader.php +++ b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Headers/AbstractHeader.php @@ -216,7 +216,7 @@ abstract class Swift_Mime_Headers_AbstractHeader implements Swift_Mime_Header // ... otherwise it needs encoding // Determine space remaining on line if first line if ($shorten) { - $usedLength = strlen($header->getFieldName().': '); + $usedLength = \strlen($header->getFieldName().': '); } else { $usedLength = 0; } @@ -271,7 +271,7 @@ abstract class Swift_Mime_Headers_AbstractHeader implements Swift_Mime_Header } if (-1 == $usedLength) { - $usedLength = strlen($header->getFieldName().': ') + strlen($value); + $usedLength = \strlen($header->getFieldName().': ') + \strlen($value); } $value .= $this->getTokenAsEncodedWord($token, $usedLength); @@ -309,18 +309,18 @@ abstract class Swift_Mime_Headers_AbstractHeader implements Swift_Mime_Header $encodedToken = ''; // Split at all whitespace boundaries - foreach (preg_split('~(?=[\t ])~', $string) as $token) { + foreach (preg_split('~(?=[\t ])~', $string ?? '') as $token) { if ($this->tokenNeedsEncoding($token)) { $encodedToken .= $token; } else { - if (strlen($encodedToken) > 0) { + if (\strlen($encodedToken) > 0) { $tokens[] = $encodedToken; $encodedToken = ''; } $tokens[] = $token; } } - if (strlen($encodedToken)) { + if (\strlen($encodedToken)) { $tokens[] = $encodedToken; } @@ -342,7 +342,7 @@ abstract class Swift_Mime_Headers_AbstractHeader implements Swift_Mime_Header if (isset($this->lang)) { $charsetDecl .= '*'.$this->lang; } - $encodingWrapperLength = strlen( + $encodingWrapperLength = \strlen( '=?'.$charsetDecl.'?'.$this->encoder->getName().'??=' ); @@ -354,10 +354,10 @@ abstract class Swift_Mime_Headers_AbstractHeader implements Swift_Mime_Header $encodedTextLines = explode("\r\n", $this->encoder->encodeString( $token, $firstLineOffset, 75 - $encodingWrapperLength, $this->charset - ) + ) ?? '' ); - if ('iso-2022-jp' !== strtolower($this->charset)) { + if ('iso-2022-jp' !== strtolower($this->charset ?? '')) { // special encoding for iso-2022-jp using mb_encode_mimeheader foreach ($encodedTextLines as $lineNum => $line) { $encodedTextLines[$lineNum] = '=?'.$charsetDecl. @@ -378,7 +378,7 @@ abstract class Swift_Mime_Headers_AbstractHeader implements Swift_Mime_Header */ protected function generateTokenLines($token) { - return preg_split('~(\r\n)~', $token, -1, PREG_SPLIT_DELIM_CAPTURE); + return preg_split('~(\r\n)~', $token ?? '', -1, PREG_SPLIT_DELIM_CAPTURE); } /** @@ -429,7 +429,7 @@ abstract class Swift_Mime_Headers_AbstractHeader implements Swift_Mime_Header $tokens = []; // Generate atoms; split at all invisible boundaries followed by WSP - foreach (preg_split('~(?=[ \t])~', $string) as $token) { + foreach (preg_split('~(?=[ \t])~', $string ?? '') as $token) { $newTokens = $this->generateTokenLines($token); foreach ($newTokens as $newToken) { $tokens[] = $newToken; @@ -458,8 +458,8 @@ abstract class Swift_Mime_Headers_AbstractHeader implements Swift_Mime_Header foreach ($tokens as $i => $token) { // Line longer than specified maximum or token was just a new line if (("\r\n" == $token) || - ($i > 0 && strlen($currentLine.$token) > $this->lineLength) - && 0 < strlen($currentLine)) { + ($i > 0 && \strlen($currentLine.$token) > $this->lineLength) + && 0 < \strlen($currentLine)) { $headerLines[] = ''; $currentLine = &$headerLines[$lineCount++]; } @@ -473,4 +473,14 @@ abstract class Swift_Mime_Headers_AbstractHeader implements Swift_Mime_Header // Implode with FWS (RFC 2822, 2.2.3) return implode("\r\n", $headerLines)."\r\n"; } + + /** + * Make a deep copy of object. + */ + public function __clone() + { + if ($this->encoder) { + $this->encoder = clone $this->encoder; + } + } } diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Headers/IdentificationHeader.php b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Headers/IdentificationHeader.php index cadc63f852..4fcdff418a 100644 --- a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Headers/IdentificationHeader.php +++ b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Headers/IdentificationHeader.php @@ -9,6 +9,7 @@ */ use Egulias\EmailValidator\EmailValidator; +use Egulias\EmailValidator\Validation\MessageIDValidation; use Egulias\EmailValidator\Validation\RFCValidation; /** @@ -96,7 +97,7 @@ class Swift_Mime_Headers_IdentificationHeader extends Swift_Mime_Headers_Abstrac */ public function setId($id) { - $this->setIds(is_array($id) ? $id : [$id]); + $this->setIds(\is_array($id) ? $id : [$id]); } /** @@ -108,7 +109,7 @@ class Swift_Mime_Headers_IdentificationHeader extends Swift_Mime_Headers_Abstrac */ public function getId() { - if (count($this->ids) > 0) { + if (\count($this->ids) > 0) { return $this->ids[0]; } } @@ -179,7 +180,9 @@ class Swift_Mime_Headers_IdentificationHeader extends Swift_Mime_Headers_Abstrac */ private function assertValidId($id) { - if (!$this->emailValidator->isValid($id, new RFCValidation())) { + $emailValidation = class_exists(MessageIDValidation::class) ? new MessageIDValidation() : new RFCValidation(); + + if (!$this->emailValidator->isValid($id, $emailValidation)) { throw new Swift_RfcComplianceException('Invalid ID given <'.$id.'>'); } } diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Headers/MailboxHeader.php b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Headers/MailboxHeader.php index 9f1fe1749a..ddd5e8cffb 100644 --- a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Headers/MailboxHeader.php +++ b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Headers/MailboxHeader.php @@ -261,7 +261,7 @@ class Swift_Mime_Headers_MailboxHeader extends Swift_Mime_Headers_AbstractHeader $actualMailboxes = []; foreach ($mailboxes as $key => $value) { - if (is_string($key)) { + if (\is_string($key)) { //key is email addr $address = $key; $name = $value; @@ -347,14 +347,12 @@ class Swift_Mime_Headers_MailboxHeader extends Swift_Mime_Headers_AbstractHeader * * @param string $address * - * @throws Swift_RfcComplianceException If invalid. + * @throws Swift_RfcComplianceException if invalid */ private function assertValidAddress($address) { if (!$this->emailValidator->isValid($address, new RFCValidation())) { - throw new Swift_RfcComplianceException( - 'Address in mailbox given ['.$address.'] does not comply with RFC 2822, 3.6.2.' - ); + throw new Swift_RfcComplianceException('Address in mailbox given ['.$address.'] does not comply with RFC 2822, 3.6.2.'); } } } diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Headers/ParameterizedHeader.php b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Headers/ParameterizedHeader.php index 02933c417a..47c15e6c05 100644 --- a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Headers/ParameterizedHeader.php +++ b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Headers/ParameterizedHeader.php @@ -155,7 +155,7 @@ class Swift_Mime_Headers_ParameterizedHeader extends Swift_Mime_Headers_Unstruct foreach ($this->params as $name => $value) { if (null !== $value) { // Add the semi-colon separator - $tokens[count($tokens) - 1] .= ';'; + $tokens[\count($tokens) - 1] .= ';'; $tokens = array_merge($tokens, $this->generateTokenLines( ' '.$this->createParameter($name, $value) )); @@ -179,7 +179,7 @@ class Swift_Mime_Headers_ParameterizedHeader extends Swift_Mime_Headers_Unstruct $encoded = false; // Allow room for parameter name, indices, "=" and DQUOTEs - $maxValueLength = $this->getMaxLineLength() - strlen($name.'=*N"";') - 1; + $maxValueLength = $this->getMaxLineLength() - \strlen($name.'=*N"";') - 1; $firstLineOffset = 0; // If it's not already a valid parameter value... @@ -189,15 +189,15 @@ class Swift_Mime_Headers_ParameterizedHeader extends Swift_Mime_Headers_Unstruct if (!preg_match('/^[\x00-\x08\x0B\x0C\x0E-\x7F]*$/D', $value)) { $encoded = true; // Allow space for the indices, charset and language - $maxValueLength = $this->getMaxLineLength() - strlen($name.'*N*="";') - 1; - $firstLineOffset = strlen( + $maxValueLength = $this->getMaxLineLength() - \strlen($name.'*N*="";') - 1; + $firstLineOffset = \strlen( $this->getCharset()."'".$this->getLanguage()."'" ); } } // Encode if we need to - if ($encoded || strlen($value) > $maxValueLength) { + if ($encoded || \strlen($value) > $maxValueLength) { if (isset($this->paramEncoder)) { $value = $this->paramEncoder->encodeString( $origValue, $firstLineOffset, $maxValueLength, $this->getCharset() @@ -212,7 +212,7 @@ class Swift_Mime_Headers_ParameterizedHeader extends Swift_Mime_Headers_Unstruct $valueLines = isset($this->paramEncoder) ? explode("\r\n", $value) : [$value]; // Need to add indices - if (count($valueLines) > 1) { + if (\count($valueLines) > 1) { $paramLines = []; foreach ($valueLines as $i => $line) { $paramLines[] = $name.'*'.$i. diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Headers/PathHeader.php b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Headers/PathHeader.php index d22afbfe90..81b421ee7a 100644 --- a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Headers/PathHeader.php +++ b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Headers/PathHeader.php @@ -147,9 +147,7 @@ class Swift_Mime_Headers_PathHeader extends Swift_Mime_Headers_AbstractHeader private function assertValidAddress($address) { if (!$this->emailValidator->isValid($address, new RFCValidation())) { - throw new Swift_RfcComplianceException( - 'Address set in PathHeader does not comply with addr-spec of RFC 2822.' - ); + throw new Swift_RfcComplianceException('Address set in PathHeader does not comply with addr-spec of RFC 2822.'); } } } diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/MimePart.php b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/MimePart.php index 54c8b3acad..d0b2e6586b 100644 --- a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/MimePart.php +++ b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/MimePart.php @@ -169,7 +169,7 @@ class Swift_Mime_MimePart extends Swift_Mime_SimpleMimeEntity protected function fixHeaders() { parent::fixHeaders(); - if (count($this->getChildren())) { + if (\count($this->getChildren())) { $this->setHeaderParameter('Content-Type', 'charset', null); $this->setHeaderParameter('Content-Type', 'format', null); $this->setHeaderParameter('Content-Type', 'delsp', null); @@ -189,18 +189,9 @@ class Swift_Mime_MimePart extends Swift_Mime_SimpleMimeEntity /** Encode charset when charset is not utf-8 */ protected function convertString($string) { - $charset = strtolower($this->getCharset()); - if (!in_array($charset, ['utf-8', 'iso-8859-1', 'iso-8859-15', ''])) { - // mb_convert_encoding must be the first one to check, since iconv cannot convert some words. - if (function_exists('mb_convert_encoding')) { - $string = mb_convert_encoding($string, $charset, 'utf-8'); - } elseif (function_exists('iconv')) { - $string = iconv('utf-8//TRANSLIT//IGNORE', $charset, $string); - } else { - throw new Swift_SwiftException('No suitable convert encoding function (use UTF-8 as your charset or install the mbstring or iconv extension).'); - } - - return $string; + $charset = strtolower($this->getCharset() ?? ''); + if (!\in_array($charset, ['utf-8', 'iso-8859-1', 'iso-8859-15', ''])) { + return mb_convert_encoding($string, $charset, 'utf-8'); } return $string; diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/SimpleHeaderFactory.php b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/SimpleHeaderFactory.php index 93af996340..ab3ce6b191 100644 --- a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/SimpleHeaderFactory.php +++ b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/SimpleHeaderFactory.php @@ -68,8 +68,7 @@ class Swift_Mime_SimpleHeaderFactory implements Swift_Mime_CharsetObserver /** * Create a new Date header using $dateTime. * - * @param string $name - * @param DateTimeInterface|null $dateTime + * @param string $name * * @return Swift_Mime_Header */ @@ -114,7 +113,7 @@ class Swift_Mime_SimpleHeaderFactory implements Swift_Mime_CharsetObserver */ public function createParameterizedHeader($name, $value = null, $params = []) { - $header = new Swift_Mime_Headers_ParameterizedHeader($name, $this->encoder, ('content-disposition' == strtolower($name)) ? $this->paramEncoder : null); + $header = new Swift_Mime_Headers_ParameterizedHeader($name, $this->encoder, ('content-disposition' == strtolower($name ?? '')) ? $this->paramEncoder : null); if (isset($value)) { $header->setFieldBodyModel($value); } @@ -183,6 +182,7 @@ class Swift_Mime_SimpleHeaderFactory implements Swift_Mime_CharsetObserver { $this->encoder = clone $this->encoder; $this->paramEncoder = clone $this->paramEncoder; + $this->addressEncoder = clone $this->addressEncoder; } /** Apply the charset to the Header */ diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/SimpleHeaderSet.php b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/SimpleHeaderSet.php index a2c319131a..5195bcf48a 100644 --- a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/SimpleHeaderSet.php +++ b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/SimpleHeaderSet.php @@ -138,18 +138,18 @@ class Swift_Mime_SimpleHeaderSet implements Swift_Mime_CharsetObserver */ public function has($name, $index = 0) { - $lowerName = strtolower($name); + $lowerName = strtolower($name ?? ''); - if (!array_key_exists($lowerName, $this->headers)) { + if (!\array_key_exists($lowerName, $this->headers)) { return false; } - if (func_num_args() < 2) { + if (\func_num_args() < 2) { // index was not specified, so we only need to check that there is at least one header value set - return (bool) count($this->headers[$lowerName]); + return (bool) \count($this->headers[$lowerName]); } - return array_key_exists($index, $this->headers[$lowerName]); + return \array_key_exists($index, $this->headers[$lowerName]); } /** @@ -177,13 +177,13 @@ class Swift_Mime_SimpleHeaderSet implements Swift_Mime_CharsetObserver * @param string $name * @param int $index * - * @return Swift_Mime_Header + * @return Swift_Mime_Header|null */ public function get($name, $index = 0) { - $name = strtolower($name); + $name = strtolower($name ?? ''); - if (func_num_args() < 2) { + if (\func_num_args() < 2) { if ($this->has($name)) { $values = array_values($this->headers[$name]); @@ -214,8 +214,8 @@ class Swift_Mime_SimpleHeaderSet implements Swift_Mime_CharsetObserver return $headers; } - $lowerName = strtolower($name); - if (!array_key_exists($lowerName, $this->headers)) { + $lowerName = strtolower($name ?? ''); + if (!\array_key_exists($lowerName, $this->headers)) { return []; } @@ -247,7 +247,7 @@ class Swift_Mime_SimpleHeaderSet implements Swift_Mime_CharsetObserver */ public function remove($name, $index = 0) { - $lowerName = strtolower($name); + $lowerName = strtolower($name ?? ''); unset($this->headers[$lowerName][$index]); } @@ -258,7 +258,7 @@ class Swift_Mime_SimpleHeaderSet implements Swift_Mime_CharsetObserver */ public function removeAll($name) { - $lowerName = strtolower($name); + $lowerName = strtolower($name ?? ''); unset($this->headers[$lowerName]); } @@ -330,29 +330,29 @@ class Swift_Mime_SimpleHeaderSet implements Swift_Mime_CharsetObserver /** Save a Header to the internal collection */ private function storeHeader($name, Swift_Mime_Header $header, $offset = null) { - if (!isset($this->headers[strtolower($name)])) { - $this->headers[strtolower($name)] = []; + if (!isset($this->headers[strtolower($name ?? '')])) { + $this->headers[strtolower($name ?? '')] = []; } if (!isset($offset)) { - $this->headers[strtolower($name)][] = $header; + $this->headers[strtolower($name ?? '')][] = $header; } else { - $this->headers[strtolower($name)][$offset] = $header; + $this->headers[strtolower($name ?? '')][$offset] = $header; } } /** Test if the headers can be sorted */ private function canSort() { - return count($this->order) > 0; + return \count($this->order) > 0; } /** uksort() algorithm for Header ordering */ private function sortHeaders($a, $b) { - $lowerA = strtolower($a); - $lowerB = strtolower($b); - $aPos = array_key_exists($lowerA, $this->order) ? $this->order[$lowerA] : -1; - $bPos = array_key_exists($lowerB, $this->order) ? $this->order[$lowerB] : -1; + $lowerA = strtolower($a ?? ''); + $lowerB = strtolower($b ?? ''); + $aPos = \array_key_exists($lowerA, $this->order) ? $this->order[$lowerA] : -1; + $bPos = \array_key_exists($lowerB, $this->order) ? $this->order[$lowerB] : -1; if (-1 === $aPos && -1 === $bPos) { // just be sure to be determinist here @@ -371,7 +371,7 @@ class Swift_Mime_SimpleHeaderSet implements Swift_Mime_CharsetObserver /** Test if the given Header is always displayed */ private function isDisplayed(Swift_Mime_Header $header) { - return array_key_exists(strtolower($header->getFieldName()), $this->required); + return \array_key_exists(strtolower($header->getFieldName() ?? ''), $this->required); } /** Notify all Headers of the new charset */ diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/SimpleMessage.php b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/SimpleMessage.php index ab32f63fe4..62da1650a7 100644 --- a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/SimpleMessage.php +++ b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/SimpleMessage.php @@ -152,7 +152,7 @@ class Swift_Mime_SimpleMessage extends Swift_Mime_MimePart */ public function setSender($address, $name = null) { - if (!is_array($address) && isset($name)) { + if (!\is_array($address) && isset($name)) { $address = [$address => $name]; } @@ -206,7 +206,7 @@ class Swift_Mime_SimpleMessage extends Swift_Mime_MimePart */ public function setFrom($addresses, $name = null) { - if (!is_array($addresses) && isset($name)) { + if (!\is_array($addresses) && isset($name)) { $addresses = [$addresses => $name]; } @@ -260,7 +260,7 @@ class Swift_Mime_SimpleMessage extends Swift_Mime_MimePart */ public function setReplyTo($addresses, $name = null) { - if (!is_array($addresses) && isset($name)) { + if (!\is_array($addresses) && isset($name)) { $addresses = [$addresses => $name]; } @@ -315,7 +315,7 @@ class Swift_Mime_SimpleMessage extends Swift_Mime_MimePart */ public function setTo($addresses, $name = null) { - if (!is_array($addresses) && isset($name)) { + if (!\is_array($addresses) && isset($name)) { $addresses = [$addresses => $name]; } @@ -367,7 +367,7 @@ class Swift_Mime_SimpleMessage extends Swift_Mime_MimePart */ public function setCc($addresses, $name = null) { - if (!is_array($addresses) && isset($name)) { + if (!\is_array($addresses) && isset($name)) { $addresses = [$addresses => $name]; } @@ -419,7 +419,7 @@ class Swift_Mime_SimpleMessage extends Swift_Mime_MimePart */ public function setBcc($addresses, $name = null) { - if (!is_array($addresses) && isset($name)) { + if (!\is_array($addresses) && isset($name)) { $addresses = [$addresses => $name]; } @@ -568,7 +568,7 @@ class Swift_Mime_SimpleMessage extends Swift_Mime_MimePart */ public function toString() { - if (count($children = $this->getChildren()) > 0 && '' != $this->getBody()) { + if (\count($children = $this->getChildren()) > 0 && '' != $this->getBody()) { $this->setChildren(array_merge([$this->becomeMimePart()], $children)); $string = parent::toString(); $this->setChildren($children); @@ -596,7 +596,7 @@ class Swift_Mime_SimpleMessage extends Swift_Mime_MimePart */ public function toByteStream(Swift_InputByteStream $is) { - if (count($children = $this->getChildren()) > 0 && '' != $this->getBody()) { + if (\count($children = $this->getChildren()) > 0 && '' != $this->getBody()) { $this->setChildren(array_merge([$this->becomeMimePart()], $children)); parent::toByteStream($is); $this->setChildren($children); diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/SimpleMimeEntity.php b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/SimpleMimeEntity.php index 63dda3d6ea..03eaf472dd 100644 --- a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/SimpleMimeEntity.php +++ b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/SimpleMimeEntity.php @@ -634,7 +634,7 @@ class Swift_Mime_SimpleMimeEntity implements Swift_Mime_CharsetObserver, Swift_M */ protected function fixHeaders() { - if (count($this->immediateChildren)) { + if (\count($this->immediateChildren)) { $this->setHeaderParameter('Content-Type', 'boundary', $this->getBoundary() ); @@ -731,7 +731,7 @@ class Swift_Mime_SimpleMimeEntity implements Swift_Mime_CharsetObserver, Swift_M } $realLevel = $child->getNestingLevel(); - $lowercaseType = strtolower($child->getContentType()); + $lowercaseType = strtolower($child->getContentType() ?? ''); if (isset($filter[$realLevel]) && isset($filter[$realLevel][$lowercaseType])) { return $filter[$realLevel][$lowercaseType]; @@ -778,7 +778,7 @@ class Swift_Mime_SimpleMimeEntity implements Swift_Mime_CharsetObserver, Swift_M $sorted = []; foreach ($this->immediateChildren as $child) { $type = $child->getContentType(); - $level = array_key_exists($type, $this->alternativePartOrder) ? $this->alternativePartOrder[$type] : max($this->alternativePartOrder) + 1; + $level = \array_key_exists($type, $this->alternativePartOrder) ? $this->alternativePartOrder[$type] : max($this->alternativePartOrder) + 1; if (empty($sorted[$level])) { $sorted[$level] = []; @@ -817,4 +817,10 @@ class Swift_Mime_SimpleMimeEntity implements Swift_Mime_CharsetObserver, Swift_M } $this->setChildren($children); } + + public function __wakeup() + { + $this->cacheKey = bin2hex(random_bytes(16)); // set 32 hex values + $this->cache = new Swift_KeyCache_ArrayKeyCache(new Swift_KeyCache_SimpleKeyCacheInputStream()); + } } diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/MimePart.php b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/MimePart.php index 14f84324aa..ea97619ad6 100644 --- a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/MimePart.php +++ b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/MimePart.php @@ -26,7 +26,7 @@ class Swift_MimePart extends Swift_Mime_MimePart */ public function __construct($body = null, $contentType = null, $charset = null) { - call_user_func_array( + \call_user_func_array( [$this, 'Swift_Mime_MimePart::__construct'], Swift_DependencyContainer::getInstance() ->createDependenciesFor('mime.part') diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/NullTransport.php b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/NullTransport.php index eefb9a6f7f..e44b7af982 100644 --- a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/NullTransport.php +++ b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/NullTransport.php @@ -17,7 +17,7 @@ class Swift_NullTransport extends Swift_Transport_NullTransport { public function __construct() { - call_user_func_array( + \call_user_func_array( [$this, 'Swift_Transport_NullTransport::__construct'], Swift_DependencyContainer::getInstance() ->createDependenciesFor('transport.null') diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/BandwidthMonitorPlugin.php b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/BandwidthMonitorPlugin.php index f7a24dd00a..36451f44f1 100644 --- a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/BandwidthMonitorPlugin.php +++ b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/BandwidthMonitorPlugin.php @@ -54,7 +54,7 @@ class Swift_Plugins_BandwidthMonitorPlugin implements Swift_Events_SendListener, public function commandSent(Swift_Events_CommandEvent $evt) { $command = $evt->getCommand(); - $this->out += strlen($command); + $this->out += \strlen($command); } /** @@ -63,7 +63,7 @@ class Swift_Plugins_BandwidthMonitorPlugin implements Swift_Events_SendListener, public function responseReceived(Swift_Events_ResponseEvent $evt) { $response = $evt->getResponse(); - $this->in += strlen($response); + $this->in += \strlen($response); } /** @@ -73,7 +73,7 @@ class Swift_Plugins_BandwidthMonitorPlugin implements Swift_Events_SendListener, */ public function write($bytes) { - $this->out += strlen($bytes); + $this->out += \strlen($bytes); foreach ($this->mirrors as $stream) { $stream->write($bytes); } diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/DecoratorPlugin.php b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/DecoratorPlugin.php index c4b6ee1271..93124c9a5f 100644 --- a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/DecoratorPlugin.php +++ b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/DecoratorPlugin.php @@ -96,20 +96,20 @@ class Swift_Plugins_DecoratorPlugin implements Swift_Events_SendListener, Swift_ foreach ($message->getHeaders()->getAll() as $header) { $body = $header->getFieldBodyModel(); $count = 0; - if (is_array($body)) { + if (\is_array($body)) { $bodyReplaced = []; foreach ($body as $key => $value) { $count1 = 0; $count2 = 0; - $key = is_string($key) ? str_replace($search, $replace, $key, $count1) : $key; - $value = is_string($value) ? str_replace($search, $replace, $value, $count2) : $value; + $key = \is_string($key) ? str_replace($search, $replace, $key, $count1) : $key; + $value = \is_string($value) ? str_replace($search, $replace, $value, $count2) : $value; $bodyReplaced[$key] = $value; if (!$count && ($count1 || $count2)) { $count = 1; } } - } elseif (is_string($body)) { + } elseif (\is_string($body)) { $bodyReplaced = str_replace($search, $replace, $body, $count); } @@ -178,7 +178,7 @@ class Swift_Plugins_DecoratorPlugin implements Swift_Events_SendListener, Swift_ } if (!empty($this->originalHeaders)) { foreach ($message->getHeaders()->getAll() as $header) { - if (array_key_exists($header->getFieldName(), $this->originalHeaders)) { + if (\array_key_exists($header->getFieldName(), $this->originalHeaders)) { $header->setFieldBodyModel($this->originalHeaders[$header->getFieldName()]); } } @@ -188,7 +188,7 @@ class Swift_Plugins_DecoratorPlugin implements Swift_Events_SendListener, Swift_ $children = (array) $message->getChildren(); foreach ($children as $child) { $id = $child->getId(); - if (array_key_exists($id, $this->originalChildBodies)) { + if (\array_key_exists($id, $this->originalChildBodies)) { $child->setBody($this->originalChildBodies[$id]); } } diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/LoggerPlugin.php b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/LoggerPlugin.php index c70a03824f..e183749b7e 100644 --- a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/LoggerPlugin.php +++ b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/LoggerPlugin.php @@ -77,7 +77,7 @@ class Swift_Plugins_LoggerPlugin implements Swift_Events_CommandListener, Swift_ */ public function beforeTransportStarted(Swift_Events_TransportChangeEvent $evt) { - $transportName = get_class($evt->getSource()); + $transportName = \get_class($evt->getSource()); $this->logger->add(sprintf('++ Starting %s', $transportName)); } @@ -86,7 +86,7 @@ class Swift_Plugins_LoggerPlugin implements Swift_Events_CommandListener, Swift_ */ public function transportStarted(Swift_Events_TransportChangeEvent $evt) { - $transportName = get_class($evt->getSource()); + $transportName = \get_class($evt->getSource()); $this->logger->add(sprintf('++ %s started', $transportName)); } @@ -95,7 +95,7 @@ class Swift_Plugins_LoggerPlugin implements Swift_Events_CommandListener, Swift_ */ public function beforeTransportStopped(Swift_Events_TransportChangeEvent $evt) { - $transportName = get_class($evt->getSource()); + $transportName = \get_class($evt->getSource()); $this->logger->add(sprintf('++ Stopping %s', $transportName)); } @@ -104,7 +104,7 @@ class Swift_Plugins_LoggerPlugin implements Swift_Events_CommandListener, Swift_ */ public function transportStopped(Swift_Events_TransportChangeEvent $evt) { - $transportName = get_class($evt->getSource()); + $transportName = \get_class($evt->getSource()); $this->logger->add(sprintf('++ %s stopped', $transportName)); } diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/Loggers/ArrayLogger.php b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/Loggers/ArrayLogger.php index b00bcaa11d..6f595adaa4 100644 --- a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/Loggers/ArrayLogger.php +++ b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/Loggers/ArrayLogger.php @@ -47,7 +47,7 @@ class Swift_Plugins_Loggers_ArrayLogger implements Swift_Plugins_Logger public function add($entry) { $this->log[] = $entry; - while (count($this->log) > $this->size) { + while (\count($this->log) > $this->size) { array_shift($this->log); } } diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/MessageLogger.php b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/MessageLogger.php index 3b4de80ecf..39c48ed18f 100644 --- a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/MessageLogger.php +++ b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/MessageLogger.php @@ -42,7 +42,7 @@ class Swift_Plugins_MessageLogger implements Swift_Events_SendListener */ public function countMessages() { - return count($this->messages); + return \count($this->messages); } /** diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/PopBeforeSmtpPlugin.php b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/PopBeforeSmtpPlugin.php index 1d5da1c644..9448594090 100644 --- a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/PopBeforeSmtpPlugin.php +++ b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/PopBeforeSmtpPlugin.php @@ -132,16 +132,12 @@ class Swift_Plugins_PopBeforeSmtpPlugin implements Swift_Events_TransportChangeL if (!isset($this->socket)) { if (!$socket = fsockopen( $this->getHostString(), $this->port, $errno, $errstr, $this->timeout)) { - throw new Swift_Plugins_Pop_Pop3Exception( - sprintf('Failed to connect to POP3 host [%s]: %s', $this->host, $errstr) - ); + throw new Swift_Plugins_Pop_Pop3Exception(sprintf('Failed to connect to POP3 host [%s]: %s', $this->host, $errstr)); } $this->socket = $socket; if (false === $greeting = fgets($this->socket)) { - throw new Swift_Plugins_Pop_Pop3Exception( - sprintf('Failed to connect to POP3 host [%s]', trim($greeting)) - ); + throw new Swift_Plugins_Pop_Pop3Exception(sprintf('Failed to connect to POP3 host [%s]', trim($greeting ?? ''))); } $this->assertOk($greeting); @@ -164,9 +160,7 @@ class Swift_Plugins_PopBeforeSmtpPlugin implements Swift_Events_TransportChangeL } else { $this->command("QUIT\r\n"); if (!fclose($this->socket)) { - throw new Swift_Plugins_Pop_Pop3Exception( - sprintf('POP3 host [%s] connection could not be stopped', $this->host) - ); + throw new Swift_Plugins_Pop_Pop3Exception(sprintf('POP3 host [%s] connection could not be stopped', $this->host)); } $this->socket = null; } @@ -211,15 +205,11 @@ class Swift_Plugins_PopBeforeSmtpPlugin implements Swift_Events_TransportChangeL private function command($command) { if (!fwrite($this->socket, $command)) { - throw new Swift_Plugins_Pop_Pop3Exception( - sprintf('Failed to write command [%s] to POP3 host', trim($command)) - ); + throw new Swift_Plugins_Pop_Pop3Exception(sprintf('Failed to write command [%s] to POP3 host', trim($command ?? ''))); } if (false === $response = fgets($this->socket)) { - throw new Swift_Plugins_Pop_Pop3Exception( - sprintf('Failed to read from POP3 host after command [%s]', trim($command)) - ); + throw new Swift_Plugins_Pop_Pop3Exception(sprintf('Failed to read from POP3 host after command [%s]', trim($command ?? ''))); } $this->assertOk($response); @@ -230,16 +220,14 @@ class Swift_Plugins_PopBeforeSmtpPlugin implements Swift_Events_TransportChangeL private function assertOk($response) { if ('+OK' != substr($response, 0, 3)) { - throw new Swift_Plugins_Pop_Pop3Exception( - sprintf('POP3 command failed [%s]', trim($response)) - ); + throw new Swift_Plugins_Pop_Pop3Exception(sprintf('POP3 command failed [%s]', trim($response ?? ''))); } } private function getHostString() { $host = $this->host; - switch (strtolower($this->crypto)) { + switch (strtolower($this->crypto ?? '')) { case 'ssl': $host = 'ssl://'.$host; break; diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/RedirectingPlugin.php b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/RedirectingPlugin.php index b0cb519e02..f7373b2424 100644 --- a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/RedirectingPlugin.php +++ b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/RedirectingPlugin.php @@ -112,7 +112,7 @@ class Swift_Plugins_RedirectingPlugin implements Swift_Events_SendListener } foreach ((array) $this->recipient as $recipient) { - if (!array_key_exists($recipient, $to)) { + if (!\array_key_exists($recipient, $to)) { $message->addTo($recipient); } } @@ -155,7 +155,7 @@ class Swift_Plugins_RedirectingPlugin implements Swift_Events_SendListener */ protected function isWhitelisted($recipient) { - if (in_array($recipient, (array) $this->recipient)) { + if (\in_array($recipient, (array) $this->recipient)) { return true; } diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/Reporter.php b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/Reporter.php index 3a2b6657c0..b881833972 100644 --- a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/Reporter.php +++ b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/Reporter.php @@ -24,9 +24,8 @@ interface Swift_Plugins_Reporter /** * Notifies this ReportNotifier that $address failed or succeeded. * - * @param Swift_Mime_SimpleMessage $message - * @param string $address - * @param int $result from {@link RESULT_PASS, RESULT_FAIL} + * @param string $address + * @param int $result from {@link RESULT_PASS, RESULT_FAIL} */ public function notify(Swift_Mime_SimpleMessage $message, $address, $result); } diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/ReporterPlugin.php b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/ReporterPlugin.php index ae070eb64e..c4a016520f 100644 --- a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/ReporterPlugin.php +++ b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/ReporterPlugin.php @@ -45,13 +45,13 @@ class Swift_Plugins_ReporterPlugin implements Swift_Events_SendListener $message = $evt->getMessage(); $failures = array_flip($evt->getFailedRecipients()); foreach ((array) $message->getTo() as $address => $null) { - $this->reporter->notify($message, $address, (array_key_exists($address, $failures) ? Swift_Plugins_Reporter::RESULT_FAIL : Swift_Plugins_Reporter::RESULT_PASS)); + $this->reporter->notify($message, $address, (\array_key_exists($address, $failures) ? Swift_Plugins_Reporter::RESULT_FAIL : Swift_Plugins_Reporter::RESULT_PASS)); } foreach ((array) $message->getCc() as $address => $null) { - $this->reporter->notify($message, $address, (array_key_exists($address, $failures) ? Swift_Plugins_Reporter::RESULT_FAIL : Swift_Plugins_Reporter::RESULT_PASS)); + $this->reporter->notify($message, $address, (\array_key_exists($address, $failures) ? Swift_Plugins_Reporter::RESULT_FAIL : Swift_Plugins_Reporter::RESULT_PASS)); } foreach ((array) $message->getBcc() as $address => $null) { - $this->reporter->notify($message, $address, (array_key_exists($address, $failures) ? Swift_Plugins_Reporter::RESULT_FAIL : Swift_Plugins_Reporter::RESULT_PASS)); + $this->reporter->notify($message, $address, (\array_key_exists($address, $failures) ? Swift_Plugins_Reporter::RESULT_FAIL : Swift_Plugins_Reporter::RESULT_PASS)); } } } diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/Reporters/HtmlReporter.php b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/Reporters/HtmlReporter.php index 9911472c6b..1cfc3f974f 100644 --- a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/Reporters/HtmlReporter.php +++ b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/Reporters/HtmlReporter.php @@ -24,12 +24,12 @@ class Swift_Plugins_Reporters_HtmlReporter implements Swift_Plugins_Reporter public function notify(Swift_Mime_SimpleMessage $message, $address, $result) { if (self::RESULT_PASS == $result) { - echo '
    '.PHP_EOL; + echo '
    '.PHP_EOL; echo 'PASS '.$address.PHP_EOL; echo '
    '.PHP_EOL; flush(); } else { - echo '
    '.PHP_EOL; + echo '
    '.PHP_EOL; echo 'FAIL '.$address.PHP_EOL; echo '
    '.PHP_EOL; flush(); diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/SendmailTransport.php b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/SendmailTransport.php index 2aa7e32614..3c756436cc 100644 --- a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/SendmailTransport.php +++ b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/SendmailTransport.php @@ -22,7 +22,7 @@ class Swift_SendmailTransport extends Swift_Transport_SendmailTransport */ public function __construct($command = '/usr/sbin/sendmail -bs') { - call_user_func_array( + \call_user_func_array( [$this, 'Swift_Transport_SendmailTransport::__construct'], Swift_DependencyContainer::getInstance() ->createDependenciesFor('transport.sendmail') diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Signers/BodySigner.php b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Signers/BodySigner.php index 8e66e18f4e..b25c427af8 100644 --- a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Signers/BodySigner.php +++ b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Signers/BodySigner.php @@ -18,8 +18,6 @@ interface Swift_Signers_BodySigner extends Swift_Signer /** * Change the Swift_Signed_Message to apply the singing. * - * @param Swift_Message $message - * * @return self */ public function signMessage(Swift_Message $message); diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Signers/DKIMSigner.php b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Signers/DKIMSigner.php index 279f44c855..ec82dc0566 100644 --- a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Signers/DKIMSigner.php +++ b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Signers/DKIMSigner.php @@ -129,9 +129,9 @@ class Swift_Signers_DKIMSigner implements Swift_Signers_HeaderSigner /** * If debugHeaders is set store debugData here. * - * @var string + * @var string[] */ - private $debugHeadersData = ''; + private $debugHeadersData = []; /** * Stores the bodyHash. @@ -295,7 +295,7 @@ class Swift_Signers_DKIMSigner implements Swift_Signers_HeaderSigner break; case 'rsa-sha256': $this->hashAlgorithm = 'rsa-sha256'; - if (!defined('OPENSSL_ALGO_SHA256')) { + if (!\defined('OPENSSL_ALGO_SHA256')) { throw new Swift_SwiftException('Unable to set sha256 as it is not supported by OpenSSL.'); } break; @@ -469,7 +469,7 @@ class Swift_Signers_DKIMSigner implements Swift_Signers_HeaderSigner */ public function ignoreHeader($header_name) { - $this->ignoredHeaders[strtolower($header_name)] = true; + $this->ignoredHeaders[strtolower($header_name ?? '')] = true; return $this; } @@ -486,7 +486,7 @@ class Swift_Signers_DKIMSigner implements Swift_Signers_HeaderSigner $listHeaders = $headers->listAll(); foreach ($listHeaders as $hName) { // Check if we need to ignore Header - if (!isset($this->ignoredHeaders[strtolower($hName)])) { + if (!isset($this->ignoredHeaders[strtolower($hName ?? '')])) { if ($headers->has($hName)) { $tmp = $headers->getAll($hName); foreach ($tmp as $header) { @@ -510,7 +510,7 @@ class Swift_Signers_DKIMSigner implements Swift_Signers_HeaderSigner public function addSignature(Swift_Mime_SimpleHeaderSet $headers) { // Prepare the DKIM-Signature - $params = ['v' => '1', 'a' => $this->hashAlgorithm, 'bh' => base64_encode($this->bodyHash), 'd' => $this->domainName, 'h' => implode(': ', $this->signedHeaders), 'i' => $this->signerIdentity, 's' => $this->selector]; + $params = ['v' => '1', 'a' => $this->hashAlgorithm, 'bh' => base64_encode($this->bodyHash ?? ''), 'd' => $this->domainName, 'h' => implode(': ', $this->signedHeaders), 'i' => $this->signerIdentity, 's' => $this->selector]; if ('simple' != $this->bodyCanon) { $params['c'] = $this->headerCanon.'/'.$this->bodyCanon; } elseif ('simple' != $this->headerCanon) { @@ -544,11 +544,11 @@ class Swift_Signers_DKIMSigner implements Swift_Signers_HeaderSigner // Add the last DKIM-Signature $tmp = $headers->getAll('DKIM-Signature'); $this->dkimHeader = end($tmp); - $this->addHeader(trim($this->dkimHeader->toString())."\r\n b=", true); + $this->addHeader(trim($this->dkimHeader->toString() ?? '')."\r\n b=", true); if ($this->debugHeaders) { - $headers->addTextHeader('X-DebugHash', base64_encode($this->headerHash)); + $headers->addTextHeader('X-DebugHash', base64_encode($this->headerHash ?? '')); } - $this->dkimHeader->setValue($string.' b='.trim(chunk_split(base64_encode($this->getEncryptedHash()), 73, ' '))); + $this->dkimHeader->setValue($string.' b='.trim(chunk_split(base64_encode($this->getEncryptedHash() ?? ''), 73, ' '))); return $this; } @@ -574,7 +574,7 @@ class Swift_Signers_DKIMSigner implements Swift_Signers_HeaderSigner protected function canonicalizeBody($string) { - $len = strlen($string); + $len = \strlen($string); $canon = ''; $method = ('relaxed' == $this->bodyCanon); for ($i = 0; $i < $len; ++$i) { @@ -629,7 +629,7 @@ class Swift_Signers_DKIMSigner implements Swift_Signers_HeaderSigner protected function endOfBody() { // Add trailing Line return if last line is non empty - if (strlen($this->bodyCanonLine) > 0) { + if (\strlen($this->bodyCanonLine) > 0) { $this->addToBodyHash("\r\n"); } $this->bodyHash = hash_final($this->bodyHashHandler, true); @@ -637,7 +637,7 @@ class Swift_Signers_DKIMSigner implements Swift_Signers_HeaderSigner private function addToBodyHash($string) { - $len = strlen($string); + $len = \strlen($string); if ($len > ($new_len = ($this->maxLen - $this->bodyLen))) { $string = substr($string, 0, $new_len); $len = $new_len; @@ -649,7 +649,7 @@ class Swift_Signers_DKIMSigner implements Swift_Signers_HeaderSigner private function addToHeaderHash($header) { if ($this->debugHeaders) { - $this->debugHeadersData[] = trim($header); + $this->debugHeadersData[] = trim($header ?? ''); } $this->headerCanonData .= $header; } diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Signers/DomainKeySigner.php b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Signers/DomainKeySigner.php index a24d2032d5..5e2b67b652 100644 --- a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Signers/DomainKeySigner.php +++ b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Signers/DomainKeySigner.php @@ -332,7 +332,7 @@ class Swift_Signers_DomainKeySigner implements Swift_Signers_HeaderSigner */ public function ignoreHeader($header_name) { - $this->ignoredHeaders[strtolower($header_name)] = true; + $this->ignoredHeaders[strtolower($header_name ?? '')] = true; return $this; } @@ -350,7 +350,7 @@ class Swift_Signers_DomainKeySigner implements Swift_Signers_HeaderSigner $listHeaders = $headers->listAll(); foreach ($listHeaders as $hName) { // Check if we need to ignore Header - if (!isset($this->ignoredHeaders[strtolower($hName)])) { + if (!isset($this->ignoredHeaders[strtolower($hName ?? '')])) { if ($headers->has($hName)) { $tmp = $headers->getAll($hName); foreach ($tmp as $header) { @@ -375,7 +375,7 @@ class Swift_Signers_DomainKeySigner implements Swift_Signers_HeaderSigner public function addSignature(Swift_Mime_SimpleHeaderSet $headers) { // Prepare the DomainKey-Signature Header - $params = ['a' => $this->hashAlgorithm, 'b' => chunk_split(base64_encode($this->getEncryptedHash()), 73, ' '), 'c' => $this->canon, 'd' => $this->domainName, 'h' => implode(': ', $this->signedHeaders), 'q' => 'dns', 's' => $this->selector]; + $params = ['a' => $this->hashAlgorithm, 'b' => chunk_split(base64_encode($this->getEncryptedHash() ?? ''), 73, ' '), 'c' => $this->canon, 'd' => $this->domainName, 'h' => implode(': ', $this->signedHeaders), 'q' => 'dns', 's' => $this->selector]; $string = ''; foreach ($params as $k => $v) { $string .= $k.'='.$v.'; '; @@ -412,7 +412,7 @@ class Swift_Signers_DomainKeySigner implements Swift_Signers_HeaderSigner protected function canonicalizeBody($string) { - $len = strlen($string); + $len = \strlen($string); $canon = ''; $nofws = ('nofws' == $this->canon); for ($i = 0; $i < $len; ++$i) { @@ -462,7 +462,7 @@ class Swift_Signers_DomainKeySigner implements Swift_Signers_HeaderSigner protected function endOfBody() { - if (strlen($this->bodyCanonLine) > 0) { + if (\strlen($this->bodyCanonLine) > 0) { $this->addToHash("\r\n"); } } diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Signers/HeaderSigner.php b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Signers/HeaderSigner.php index 6104e34f3f..6f5c20923d 100644 --- a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Signers/HeaderSigner.php +++ b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Signers/HeaderSigner.php @@ -41,8 +41,6 @@ interface Swift_Signers_HeaderSigner extends Swift_Signer, Swift_InputByteStream /** * Give the headers already given. * - * @param Swift_Mime_SimpleHeaderSet $headers - * * @return self */ public function setHeaders(Swift_Mime_SimpleHeaderSet $headers); @@ -50,8 +48,6 @@ interface Swift_Signers_HeaderSigner extends Swift_Signer, Swift_InputByteStream /** * Add the header(s) to the headerSet. * - * @param Swift_Mime_SimpleHeaderSet $headers - * * @return self */ public function addSignature(Swift_Mime_SimpleHeaderSet $headers); diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Signers/OpenDKIMSigner.php b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Signers/OpenDKIMSigner.php index 7b50c51d45..520bcc15e8 100644 --- a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Signers/OpenDKIMSigner.php +++ b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Signers/OpenDKIMSigner.php @@ -31,7 +31,7 @@ class Swift_Signers_OpenDKIMSigner extends Swift_Signers_DKIMSigner public function __construct($privateKey, $domainName, $selector) { - if (!extension_loaded('opendkim')) { + if (!\extension_loaded('opendkim')) { throw new Swift_SwiftException('php-opendkim extension not found'); } @@ -44,7 +44,7 @@ class Swift_Signers_OpenDKIMSigner extends Swift_Signers_DKIMSigner { $header = new Swift_Mime_Headers_OpenDKIMHeader('DKIM-Signature'); $headerVal = $this->dkimHandler->getSignatureHeader(); - if (false === $headerVal || is_int($headerVal)) { + if (false === $headerVal || \is_int($headerVal)) { throw new Swift_SwiftException('OpenDKIM Error: '.$this->dkimHandler->getError()); } $header->setValue($headerVal); @@ -75,7 +75,7 @@ class Swift_Signers_OpenDKIMSigner extends Swift_Signers_DKIMSigner $listHeaders = $headers->listAll(); foreach ($listHeaders as $hName) { // Check if we need to ignore Header - if (!isset($this->ignoredHeaders[strtolower($hName)])) { + if (!isset($this->ignoredHeaders[strtolower($hName ?? '')])) { $tmp = $headers->getAll($hName); if ($headers->has($hName)) { foreach ($tmp as $header) { @@ -176,7 +176,7 @@ class Swift_Signers_OpenDKIMSigner extends Swift_Signers_DKIMSigner } } $this->dropFirstLF = false; - if (strlen($string)) { + if (\strlen($string)) { $this->dkimHandler->body($string); } } diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Signers/SMimeSigner.php b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Signers/SMimeSigner.php index 84c53edb5e..3dd3cd05f0 100644 --- a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Signers/SMimeSigner.php +++ b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Signers/SMimeSigner.php @@ -80,7 +80,7 @@ class Swift_Signers_SMimeSigner implements Swift_Signers_BodySigner $this->signCertificate = 'file://'.str_replace('\\', '/', realpath($certificate)); if (null !== $privateKey) { - if (is_array($privateKey)) { + if (\is_array($privateKey)) { $this->signPrivateKey = $privateKey; $this->signPrivateKey[0] = 'file://'.str_replace('\\', '/', realpath($privateKey[0])); } else { @@ -107,7 +107,7 @@ class Swift_Signers_SMimeSigner implements Swift_Signers_BodySigner */ public function setEncryptCertificate($recipientCerts, $cipher = null) { - if (is_array($recipientCerts)) { + if (\is_array($recipientCerts)) { $this->encryptCert = []; foreach ($recipientCerts as $cert) { @@ -496,20 +496,20 @@ class Swift_Signers_SMimeSigner implements Swift_Signers_BodySigner foreach ($headerLines as $headerLine) { // Handle headers that span multiple lines if (false === strpos($headerLine, ':')) { - $headers[$currentHeaderName] .= ' '.trim($headerLine); + $headers[$currentHeaderName] .= ' '.trim($headerLine ?? ''); continue; } $header = explode(':', $headerLine, 2); - $currentHeaderName = strtolower($header[0]); - $headers[$currentHeaderName] = trim($header[1]); + $currentHeaderName = strtolower($header[0] ?? ''); + $headers[$currentHeaderName] = trim($header[1] ?? ''); } // Read the entire email body into a byte stream $bodyStream = new Swift_ByteStream_TemporaryFileByteStream(); // Skip the header and separator and point to the body - $emailStream->setReadPointer($headersPosEnd + strlen($headerBodySeparator)); + $emailStream->setReadPointer($headersPosEnd + \strlen($headerBodySeparator)); while (false !== ($buffer = $emailStream->read($bufferLength))) { $bodyStream->write($buffer); diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/SmtpTransport.php b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/SmtpTransport.php index e241e67869..56b62323ad 100644 --- a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/SmtpTransport.php +++ b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/SmtpTransport.php @@ -25,15 +25,18 @@ class Swift_SmtpTransport extends Swift_Transport_EsmtpTransport /** * @param string $host * @param int $port - * @param string $encryption + * @param string|null $encryption SMTP encryption mode: + * - null for plain SMTP (no encryption), + * - 'tls' for SMTP with STARTTLS (best effort encryption), + * - 'ssl' for SMTPS = SMTP over TLS (always encrypted). */ public function __construct($host = 'localhost', $port = 25, $encryption = null) { - call_user_func_array( + \call_user_func_array( [$this, 'Swift_Transport_EsmtpTransport::__construct'], Swift_DependencyContainer::getInstance() ->createDependenciesFor('transport.smtp') - ); + ); $this->setHost($host); $this->setPort($port); diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/SpoolTransport.php b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/SpoolTransport.php index 4b30f04ed9..c08e0fb17d 100644 --- a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/SpoolTransport.php +++ b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/SpoolTransport.php @@ -25,7 +25,7 @@ class Swift_SpoolTransport extends Swift_Transport_SpoolTransport $arguments[] = $spool; - call_user_func_array( + \call_user_func_array( [$this, 'Swift_Transport_SpoolTransport::__construct'], $arguments ); diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/StreamFilters/ByteArrayReplacementFilter.php b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/StreamFilters/ByteArrayReplacementFilter.php index c3b7675ddb..7e5ddf1b7d 100644 --- a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/StreamFilters/ByteArrayReplacementFilter.php +++ b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/StreamFilters/ByteArrayReplacementFilter.php @@ -49,11 +49,11 @@ class Swift_StreamFilters_ByteArrayReplacementFilter implements Swift_StreamFilt $last_size = $size = 0; foreach ($search as $i => $search_element) { if (null !== $tree) { - $tree[-1] = min(count($replace) - 1, $i - 1); + $tree[-1] = min(\count($replace) - 1, $i - 1); $tree[-2] = $last_size; } $tree = &$this->tree; - if (is_array($search_element)) { + if (\is_array($search_element)) { foreach ($search_element as $k => $char) { $this->index[$char] = true; if (!isset($tree[$char])) { @@ -74,19 +74,19 @@ class Swift_StreamFilters_ByteArrayReplacementFilter implements Swift_StreamFilt } } if (null !== $i) { - $tree[-1] = min(count($replace) - 1, $i); + $tree[-1] = min(\count($replace) - 1, $i); $tree[-2] = $last_size; $this->treeMaxLen = $size; } foreach ($replace as $rep) { - if (!is_array($rep)) { + if (!\is_array($rep)) { $rep = [$rep]; } $this->replace[] = $rep; } - for ($i = count($this->replace) - 1; $i >= 0; --$i) { + for ($i = \count($this->replace) - 1; $i >= 0; --$i) { $this->replace[$i] = $rep = $this->filter($this->replace[$i], $i); - $this->repSize[$i] = count($rep); + $this->repSize[$i] = \count($rep); } } @@ -119,7 +119,7 @@ class Swift_StreamFilters_ByteArrayReplacementFilter implements Swift_StreamFilt } $newBuffer = []; - $buf_size = count($buffer); + $buf_size = \count($buffer); $last_size = 0; for ($i = 0; $i < $buf_size; ++$i) { $search_pos = $this->tree; diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport.php b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport.php index 0951f35e76..bc324e8685 100644 --- a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport.php +++ b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport.php @@ -63,8 +63,7 @@ interface Swift_Transport * * This is the responsibility of the send method to start the transport if needed. * - * @param Swift_Mime_SimpleMessage $message - * @param string[] $failedRecipients An array of failures by-reference + * @param string[] $failedRecipients An array of failures by-reference * * @return int */ @@ -72,8 +71,6 @@ interface Swift_Transport /** * Register a plugin in the Transport. - * - * @param Swift_Events_EventListener $plugin */ public function registerPlugin(Swift_Events_EventListener $plugin); } diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/AbstractSmtpTransport.php b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/AbstractSmtpTransport.php index 18c8d9b90c..d2dbd7a66a 100644 --- a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/AbstractSmtpTransport.php +++ b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/AbstractSmtpTransport.php @@ -197,20 +197,19 @@ abstract class Swift_Transport_AbstractSmtpTransport implements Swift_Transport $to = (array) $message->getTo(); $cc = (array) $message->getCc(); - $tos = array_merge($to, $cc); $bcc = (array) $message->getBcc(); + $tos = array_merge($to, $cc, $bcc); $message->setBcc([]); try { $sent += $this->sendTo($message, $reversePath, $tos, $failedRecipients); - $sent += $this->sendBcc($message, $reversePath, $bcc, $failedRecipients); } finally { $message->setBcc($bcc); } if ($evt) { - if ($sent == count($to) + count($cc) + count($bcc)) { + if ($sent == \count($to) + \count($cc) + \count($bcc)) { $evt->setResult(Swift_Events_SendEvent::RESULT_SUCCESS); } elseif ($sent > 0) { $evt->setResult(Swift_Events_SendEvent::RESULT_TENTATIVE); @@ -318,7 +317,7 @@ abstract class Swift_Transport_AbstractSmtpTransport implements Swift_Transport * @param int[] $codes * @param string[] $failures An array of failures by-reference * @param bool $pipeline Do not wait for response - * @param string $address The address, if command is RCPT TO. + * @param string $address the address, if command is RCPT TO * * @return string|null The server response, or null if pipelining is enabled */ @@ -331,20 +330,23 @@ abstract class Swift_Transport_AbstractSmtpTransport implements Swift_Transport } $this->pipeline[] = [$command, $seq, $codes, $address]; + if ($pipeline && $this->pipelining) { - $response = null; - } else { - while ($this->pipeline) { - list($command, $seq, $codes, $address) = array_shift($this->pipeline); - $response = $this->getFullResponse($seq); - try { - $this->assertResponseCode($response, $codes); - } catch (Swift_TransportException $e) { - if ($this->pipeline && $address) { - $failures[] = $address; - } else { - $this->throwException($e); - } + return null; + } + + $response = null; + + while ($this->pipeline) { + list($command, $seq, $codes, $address) = array_shift($this->pipeline); + $response = $this->getFullResponse($seq); + try { + $this->assertResponseCode($response, $codes); + } catch (Swift_TransportException $e) { + if ($this->pipeline && $address) { + $failures[] = $address; + } else { + $this->throwException($e); } } } @@ -446,7 +448,7 @@ abstract class Swift_Transport_AbstractSmtpTransport implements Swift_Transport } list($code) = sscanf($response, '%3d'); - $valid = (empty($wanted) || in_array($code, $wanted)); + $valid = (empty($wanted) || \in_array($code, $wanted)); if ($evt = $this->eventDispatcher->createResponseEvent($this, $response, $valid)) { @@ -493,9 +495,9 @@ abstract class Swift_Transport_AbstractSmtpTransport implements Swift_Transport } if (0 != $sent) { - $sent += count($failedRecipients); + $sent += \count($failedRecipients); $this->doDataCommand($failedRecipients); - $sent -= count($failedRecipients); + $sent -= \count($failedRecipients); $this->streamMessage($message); } else { @@ -516,20 +518,6 @@ abstract class Swift_Transport_AbstractSmtpTransport implements Swift_Transport $failedRecipients); } - /** Send a message to all Bcc: recipients */ - private function sendBcc(Swift_Mime_SimpleMessage $message, $reversePath, array $bcc, array &$failedRecipients) - { - $sent = 0; - foreach ($bcc as $forwardPath => $name) { - $message->setBcc([$forwardPath => $name]); - $sent += $this->doMailTransaction( - $message, $reversePath, [$forwardPath], $failedRecipients - ); - } - - return $sent; - } - /** * Destructor. */ @@ -540,4 +528,14 @@ abstract class Swift_Transport_AbstractSmtpTransport implements Swift_Transport } catch (Exception $e) { } } + + public function __sleep() + { + throw new \BadMethodCallException('Cannot serialize '.__CLASS__); + } + + public function __wakeup() + { + throw new \BadMethodCallException('Cannot unserialize '.__CLASS__); + } } diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/Esmtp/Auth/CramMd5Authenticator.php b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/Esmtp/Auth/CramMd5Authenticator.php index 51dc7f563a..bb3a161509 100644 --- a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/Esmtp/Auth/CramMd5Authenticator.php +++ b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/Esmtp/Auth/CramMd5Authenticator.php @@ -35,7 +35,7 @@ class Swift_Transport_Esmtp_Auth_CramMd5Authenticator implements Swift_Transport $challenge = base64_decode(substr($challenge, 4)); $message = base64_encode( $username.' '.$this->getResponse($password, $challenge) - ); + ); $agent->executeCommand(sprintf("%s\r\n", $message), [235]); return true; @@ -56,16 +56,16 @@ class Swift_Transport_Esmtp_Auth_CramMd5Authenticator implements Swift_Transport */ private function getResponse($secret, $challenge) { - if (strlen($secret) > 64) { + if (\strlen($secret) > 64) { $secret = pack('H32', md5($secret)); } - if (strlen($secret) < 64) { - $secret = str_pad($secret, 64, chr(0)); + if (\strlen($secret) < 64) { + $secret = str_pad($secret, 64, \chr(0)); } - $k_ipad = substr($secret, 0, 64) ^ str_repeat(chr(0x36), 64); - $k_opad = substr($secret, 0, 64) ^ str_repeat(chr(0x5C), 64); + $k_ipad = substr($secret, 0, 64) ^ str_repeat(\chr(0x36), 64); + $k_opad = substr($secret, 0, 64) ^ str_repeat(\chr(0x5C), 64); $inner = pack('H32', md5($k_ipad.$challenge)); $digest = md5($k_opad.$inner); diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/Esmtp/Auth/LoginAuthenticator.php b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/Esmtp/Auth/LoginAuthenticator.php index 458c038307..0b9d81b8ad 100644 --- a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/Esmtp/Auth/LoginAuthenticator.php +++ b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/Esmtp/Auth/LoginAuthenticator.php @@ -32,8 +32,8 @@ class Swift_Transport_Esmtp_Auth_LoginAuthenticator implements Swift_Transport_E { try { $agent->executeCommand("AUTH LOGIN\r\n", [334]); - $agent->executeCommand(sprintf("%s\r\n", base64_encode($username)), [334]); - $agent->executeCommand(sprintf("%s\r\n", base64_encode($password)), [235]); + $agent->executeCommand(sprintf("%s\r\n", base64_encode($username ?? '')), [334]); + $agent->executeCommand(sprintf("%s\r\n", base64_encode($password ?? '')), [235]); return true; } catch (Swift_TransportException $e) { diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/Esmtp/Auth/NTLMAuthenticator.php b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/Esmtp/Auth/NTLMAuthenticator.php index 90081f8e6f..41931fdd22 100644 --- a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/Esmtp/Auth/NTLMAuthenticator.php +++ b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/Esmtp/Auth/NTLMAuthenticator.php @@ -37,22 +37,22 @@ class Swift_Transport_Esmtp_Auth_NTLMAuthenticator implements Swift_Transport_Es */ public function authenticate(Swift_Transport_SmtpAgent $agent, $username, $password) { - if (!function_exists('openssl_encrypt')) { + if (!\function_exists('openssl_encrypt')) { throw new LogicException('The OpenSSL extension must be enabled to use the NTLM authenticator.'); } - if (!function_exists('bcmul')) { + if (!\function_exists('bcmul')) { throw new LogicException('The BCMath functions must be enabled to use the NTLM authenticator.'); } try { // execute AUTH command and filter out the code at the beginning // AUTH NTLM xxxx - $response = base64_decode(substr(trim($this->sendMessage1($agent)), 4)); + $response = base64_decode(substr(trim($this->sendMessage1($agent) ?? ''), 4)); // extra parameters for our unit cases - $timestamp = func_num_args() > 3 ? func_get_arg(3) : $this->getCorrectTimestamp(bcmul(microtime(true), '1000')); - $client = func_num_args() > 4 ? func_get_arg(4) : random_bytes(8); + $timestamp = \func_num_args() > 3 ? func_get_arg(3) : $this->getCorrectTimestamp(bcmul(microtime(true), '1000')); + $client = \func_num_args() > 4 ? func_get_arg(4) : random_bytes(8); // Message 3 response $this->sendMessage3($response, $username, $password, $timestamp, $client, $agent); @@ -68,20 +68,20 @@ class Swift_Transport_Esmtp_Auth_NTLMAuthenticator implements Swift_Transport_Es protected function si2bin($si, $bits = 32) { $bin = null; - if ($si >= -pow(2, $bits - 1) && ($si <= pow(2, $bits - 1))) { + if ($si >= -2 ** ($bits - 1) && ($si <= 2 ** ($bits - 1))) { // positive or zero if ($si >= 0) { $bin = base_convert($si, 10, 2); // pad to $bits bit - $bin_length = strlen($bin); + $bin_length = \strlen($bin); if ($bin_length < $bits) { $bin = str_repeat('0', $bits - $bin_length).$bin; } } else { // negative - $si = -$si - pow(2, $bits); + $si = -$si - 2 ** $bits; $bin = base_convert($si, 10, 2); - $bin_length = strlen($bin); + $bin_length = \strlen($bin); if ($bin_length > $bits) { $bin = str_repeat('1', $bits - $bin_length).$bin; } @@ -147,7 +147,7 @@ class Swift_Transport_Esmtp_Auth_NTLMAuthenticator implements Swift_Transport_Es // remove terminatorByte cause it's always the same $block = substr($block, 0, -8); - $length = strlen($block); + $length = \strlen($block); $offset = 0; $data = []; while ($offset < $length) { @@ -157,7 +157,7 @@ class Swift_Transport_Esmtp_Auth_NTLMAuthenticator implements Swift_Transport_Es $offset += $blockLength * 2; } - if (3 == count($data)) { + if (3 == \count($data)) { $data[] = $data[2]; $data[2] = ''; } @@ -364,7 +364,7 @@ class Swift_Transport_Esmtp_Auth_NTLMAuthenticator implements Swift_Transport_Es $binary = $this->si2bin($time, 64); // create 64 bit binary string $timestamp = ''; for ($i = 0; $i < 8; ++$i) { - $timestamp .= chr(bindec(substr($binary, -(($i + 1) * 8), 8))); + $timestamp .= \chr(bindec(substr($binary, -(($i + 1) * 8), 8))); } return $timestamp; @@ -385,7 +385,7 @@ class Swift_Transport_Esmtp_Auth_NTLMAuthenticator implements Swift_Transport_Es { $lmPass = '00'; // by default 00 // if $password > 15 than we can't use this method - if (strlen($password) <= 15) { + if (\strlen($password) <= 15) { $ntlmHash = $this->md4Encrypt($password); $ntml2Hash = $this->md5Encrypt($ntlmHash, $this->convertTo16bit(strtoupper($username).$domain)); @@ -426,13 +426,13 @@ class Swift_Transport_Esmtp_Auth_NTLMAuthenticator implements Swift_Transport_Es protected function createDesKey($key) { $material = [bin2hex($key[0])]; - $len = strlen($key); + $len = \strlen($key); for ($i = 1; $i < $len; ++$i) { list($high, $low) = str_split(bin2hex($key[$i])); - $v = $this->castToByte(ord($key[$i - 1]) << (7 + 1 - $i) | $this->uRShift(hexdec(dechex(hexdec($high) & 0xf).dechex(hexdec($low) & 0xf)), $i)); + $v = $this->castToByte(\ord($key[$i - 1]) << (7 + 1 - $i) | $this->uRShift(hexdec(dechex(hexdec($high) & 0xf).dechex(hexdec($low) & 0xf)), $i)); $material[] = str_pad(substr(dechex($v), -2), 2, '0', STR_PAD_LEFT); // cast to byte } - $material[] = str_pad(substr(dechex($this->castToByte(ord($key[6]) << 1)), -2), 2, '0'); + $material[] = str_pad(substr(dechex($this->castToByte(\ord($key[6]) << 1)), -2), 2, '0'); // odd parity foreach ($material as $k => $v) { @@ -465,7 +465,7 @@ class Swift_Transport_Esmtp_Auth_NTLMAuthenticator implements Swift_Transport_Es */ protected function createSecurityBuffer($value, $offset, $is16 = false) { - $length = strlen(bin2hex($value)); + $length = \strlen(bin2hex($value)); $length = $is16 ? $length / 2 : $length; $length = $this->createByte(str_pad(dechex($length), 2, '0', STR_PAD_LEFT), 2); @@ -563,7 +563,7 @@ class Swift_Transport_Esmtp_Auth_NTLMAuthenticator implements Swift_Transport_Es protected function md5Encrypt($key, $msg) { $blocksize = 64; - if (strlen($key) > $blocksize) { + if (\strlen($key) > $blocksize) { $key = pack('H*', md5($key)); } @@ -587,7 +587,7 @@ class Swift_Transport_Esmtp_Auth_NTLMAuthenticator implements Swift_Transport_Es { $input = $this->convertTo16bit($input); - return function_exists('hash') ? hex2bin(hash('md4', $input)) : mhash(MHASH_MD4, $input); + return \function_exists('hash') ? hex2bin(hash('md4', $input)) : mhash(MHASH_MD4, $input); } /** diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/Esmtp/Auth/PlainAuthenticator.php b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/Esmtp/Auth/PlainAuthenticator.php index 1ff961cc37..41d0a50a82 100644 --- a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/Esmtp/Auth/PlainAuthenticator.php +++ b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/Esmtp/Auth/PlainAuthenticator.php @@ -31,7 +31,7 @@ class Swift_Transport_Esmtp_Auth_PlainAuthenticator implements Swift_Transport_E public function authenticate(Swift_Transport_SmtpAgent $agent, $username, $password) { try { - $message = base64_encode($username.chr(0).$username.chr(0).$password); + $message = base64_encode($username.\chr(0).$username.\chr(0).$password); $agent->executeCommand(sprintf("AUTH PLAIN %s\r\n", $message), [235]); return true; diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/Esmtp/AuthHandler.php b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/Esmtp/AuthHandler.php index 4798dbd14e..53a90a8738 100644 --- a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/Esmtp/AuthHandler.php +++ b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/Esmtp/AuthHandler.php @@ -171,7 +171,7 @@ class Swift_Transport_Esmtp_AuthHandler implements Swift_Transport_EsmtpHandler $count = 0; $errors = []; foreach ($this->getAuthenticatorsForAgent() as $authenticator) { - if (in_array(strtolower($authenticator->getAuthKeyword()), array_map('strtolower', $this->esmtpParams))) { + if (\in_array(strtolower($authenticator->getAuthKeyword() ?? ''), array_map('strtolower', $this->esmtpParams))) { ++$count; try { if ($authenticator->authenticate($agent, $this->username, $this->password)) { @@ -179,7 +179,7 @@ class Swift_Transport_Esmtp_AuthHandler implements Swift_Transport_EsmtpHandler } } catch (Swift_TransportException $e) { // keep the error message, but tries the other authenticators - $errors[] = [$authenticator->getAuthKeyword(), $e]; + $errors[] = [$authenticator->getAuthKeyword(), $e->getMessage()]; } } } @@ -253,12 +253,12 @@ class Swift_Transport_Esmtp_AuthHandler implements Swift_Transport_EsmtpHandler */ protected function getAuthenticatorsForAgent() { - if (!$mode = strtolower($this->auth_mode)) { + if (!$mode = strtolower($this->auth_mode ?? '')) { return $this->authenticators; } foreach ($this->authenticators as $authenticator) { - if (strtolower($authenticator->getAuthKeyword()) == $mode) { + if (strtolower($authenticator->getAuthKeyword() ?? '') == $mode) { return [$authenticator]; } } diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/Esmtp/Authenticator.php b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/Esmtp/Authenticator.php index cadfdc6515..f692a6fe40 100644 --- a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/Esmtp/Authenticator.php +++ b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/Esmtp/Authenticator.php @@ -25,9 +25,8 @@ interface Swift_Transport_Esmtp_Authenticator /** * Try to authenticate the user with $username and $password. * - * @param Swift_Transport_SmtpAgent $agent - * @param string $username - * @param string $password + * @param string $username + * @param string $password * * @return bool true if authentication worked (returning false is deprecated, throw a Swift_TransportException instead) * diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/EsmtpTransport.php b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/EsmtpTransport.php index d1f1c2cf7a..36545f51fe 100644 --- a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/EsmtpTransport.php +++ b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/EsmtpTransport.php @@ -141,7 +141,7 @@ class Swift_Transport_EsmtpTransport extends Swift_Transport_AbstractSmtpTranspo */ public function setEncryption($encryption) { - $encryption = strtolower($encryption); + $encryption = strtolower($encryption ?? ''); if ('tls' == $encryption) { $this->params['protocol'] = 'tcp'; $this->params['tls'] = true; @@ -235,7 +235,7 @@ class Swift_Transport_EsmtpTransport extends Swift_Transport_AbstractSmtpTranspo * Returns whether SMTP pipelining is enabled. * * @return bool|null a boolean if pipelining is explicitly enabled or disabled, - * or null if support is auto-detected. + * or null if support is auto-detected */ public function getPipelining() { @@ -284,7 +284,7 @@ class Swift_Transport_EsmtpTransport extends Swift_Transport_AbstractSmtpTranspo * @param int[] $codes * @param string[] $failures An array of failures by-reference * @param bool $pipeline Do not wait for response - * @param string $address The address, if command is RCPT TO. + * @param string $address the address, if command is RCPT TO * * @return string|null The server response, or null if pipelining is enabled */ @@ -309,10 +309,10 @@ class Swift_Transport_EsmtpTransport extends Swift_Transport_AbstractSmtpTranspo public function __call($method, $args) { foreach ($this->handlers as $handler) { - if (in_array(strtolower($method), + if (\in_array(strtolower($method), array_map('strtolower', (array) $handler->exposeMixinMethods()) )) { - $return = call_user_func_array([$handler, $method], $args); + $return = \call_user_func_array([$handler, $method], $args); // Allow fluid method calls if (null === $return && 'set' == substr($method, 0, 3)) { return $this; @@ -406,7 +406,7 @@ class Swift_Transport_EsmtpTransport extends Swift_Transport_AbstractSmtpTranspo private function getCapabilities($ehloResponse) { $capabilities = []; - $ehloResponse = trim($ehloResponse); + $ehloResponse = trim($ehloResponse ?? ''); $lines = explode("\r\n", $ehloResponse); array_shift($lines); foreach ($lines as $line) { @@ -425,7 +425,7 @@ class Swift_Transport_EsmtpTransport extends Swift_Transport_AbstractSmtpTranspo private function setHandlerParams() { foreach ($this->handlers as $keyword => $handler) { - if (array_key_exists($keyword, $this->capabilities)) { + if (\array_key_exists($keyword, $this->capabilities)) { $handler->setKeywordParams($this->capabilities[$keyword]); } } @@ -436,7 +436,7 @@ class Swift_Transport_EsmtpTransport extends Swift_Transport_AbstractSmtpTranspo { $handlers = []; foreach ($this->handlers as $keyword => $handler) { - if (array_key_exists($keyword, $this->capabilities)) { + if (\array_key_exists($keyword, $this->capabilities)) { $handlers[] = $handler; } } diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/FailoverTransport.php b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/FailoverTransport.php index 21bce4b607..1a4b4754f0 100644 --- a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/FailoverTransport.php +++ b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/FailoverTransport.php @@ -33,7 +33,7 @@ class Swift_Transport_FailoverTransport extends Swift_Transport_LoadBalancedTran */ public function ping() { - $maxTransports = count($this->transports); + $maxTransports = \count($this->transports); for ($i = 0; $i < $maxTransports && $transport = $this->getNextTransport(); ++$i) { if ($transport->ping()) { @@ -43,7 +43,7 @@ class Swift_Transport_FailoverTransport extends Swift_Transport_LoadBalancedTran } } - return count($this->transports) > 0; + return \count($this->transports) > 0; } /** @@ -58,7 +58,7 @@ class Swift_Transport_FailoverTransport extends Swift_Transport_LoadBalancedTran */ public function send(Swift_Mime_SimpleMessage $message, &$failedRecipients = null) { - $maxTransports = count($this->transports); + $maxTransports = \count($this->transports); $sent = 0; $this->lastUsedTransport = null; @@ -79,10 +79,8 @@ class Swift_Transport_FailoverTransport extends Swift_Transport_LoadBalancedTran } } - if (0 == count($this->transports)) { - throw new Swift_TransportException( - 'All Transports in FailoverTransport failed, or no Transports available' - ); + if (0 == \count($this->transports)) { + throw new Swift_TransportException('All Transports in FailoverTransport failed, or no Transports available'); } return $sent; diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/IoBuffer.php b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/IoBuffer.php index af97adf1f8..50f1e5e403 100644 --- a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/IoBuffer.php +++ b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/IoBuffer.php @@ -25,8 +25,6 @@ interface Swift_Transport_IoBuffer extends Swift_InputByteStream, Swift_OutputBy * Perform any initialization needed, using the given $params. * * Parameters will vary depending upon the type of IoBuffer used. - * - * @param array $params */ public function initialize(array $params); diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/LoadBalancedTransport.php b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/LoadBalancedTransport.php index a12ce8d2da..0b5ba9d304 100644 --- a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/LoadBalancedTransport.php +++ b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/LoadBalancedTransport.php @@ -79,7 +79,7 @@ class Swift_Transport_LoadBalancedTransport implements Swift_Transport */ public function isStarted() { - return count($this->transports) > 0; + return \count($this->transports) > 0; } /** @@ -111,7 +111,7 @@ class Swift_Transport_LoadBalancedTransport implements Swift_Transport } } - return count($this->transports) > 0; + return \count($this->transports) > 0; } /** @@ -126,7 +126,7 @@ class Swift_Transport_LoadBalancedTransport implements Swift_Transport */ public function send(Swift_Mime_SimpleMessage $message, &$failedRecipients = null) { - $maxTransports = count($this->transports); + $maxTransports = \count($this->transports); $sent = 0; $this->lastUsedTransport = null; @@ -145,10 +145,8 @@ class Swift_Transport_LoadBalancedTransport implements Swift_Transport } } - if (0 == count($this->transports)) { - throw new Swift_TransportException( - 'All Transports in LoadBalancedTransport failed, or no Transports available' - ); + if (0 == \count($this->transports)) { + throw new Swift_TransportException('All Transports in LoadBalancedTransport failed, or no Transports available'); } return $sent; diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/NullTransport.php b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/NullTransport.php index 5934ca93b3..7d910db5a5 100644 --- a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/NullTransport.php +++ b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/NullTransport.php @@ -80,9 +80,9 @@ class Swift_Transport_NullTransport implements Swift_Transport } $count = ( - count((array) $message->getTo()) - + count((array) $message->getCc()) - + count((array) $message->getBcc()) + \count((array) $message->getTo()) + + \count((array) $message->getCc()) + + \count((array) $message->getBcc()) ); return $count; diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/SendmailTransport.php b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/SendmailTransport.php index 7f0476adaf..65a434d117 100644 --- a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/SendmailTransport.php +++ b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/SendmailTransport.php @@ -111,7 +111,7 @@ class Swift_Transport_SendmailTransport extends Swift_Transport_AbstractSmtpTran } if (false === strpos($command, ' -f')) { - $command .= ' -f'.escapeshellarg($this->getReversePath($message)); + $command .= ' -f'.escapeshellarg($this->getReversePath($message) ?? ''); } $buffer->initialize(array_merge($this->params, ['command' => $command])); @@ -122,9 +122,9 @@ class Swift_Transport_SendmailTransport extends Swift_Transport_AbstractSmtpTran $buffer->setWriteTranslations(["\r\n" => "\n"]); } - $count = count((array) $message->getTo()) - + count((array) $message->getCc()) - + count((array) $message->getBcc()) + $count = \count((array) $message->getTo()) + + \count((array) $message->getCc()) + + \count((array) $message->getBcc()) ; $message->toByteStream($buffer); $buffer->flushBuffers(); diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/StreamBuffer.php b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/StreamBuffer.php index ab17f5c9bb..70782ada04 100644 --- a/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/StreamBuffer.php +++ b/pandora_console/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/StreamBuffer.php @@ -160,14 +160,10 @@ class Swift_Transport_StreamBuffer extends Swift_ByteStream_AbstractFilterableIn { if (isset($this->out) && !feof($this->out)) { $line = fgets($this->out); - if (0 == strlen($line)) { + if (0 == \strlen($line)) { $metas = stream_get_meta_data($this->out); if ($metas['timed_out']) { - throw new Swift_IoException( - 'Connection to '. - $this->getReadConnectionDescription(). - ' Timed Out' - ); + throw new Swift_IoException('Connection to '.$this->getReadConnectionDescription().' Timed Out'); } } @@ -192,14 +188,10 @@ class Swift_Transport_StreamBuffer extends Swift_ByteStream_AbstractFilterableIn { if (isset($this->out) && !feof($this->out)) { $ret = fread($this->out, $length); - if (0 == strlen($ret)) { + if (0 == \strlen($ret)) { $metas = stream_get_meta_data($this->out); if ($metas['timed_out']) { - throw new Swift_IoException( - 'Connection to '. - $this->getReadConnectionDescription(). - ' Timed Out' - ); + throw new Swift_IoException('Connection to '.$this->getReadConnectionDescription().' Timed Out'); } } @@ -224,7 +216,7 @@ class Swift_Transport_StreamBuffer extends Swift_ByteStream_AbstractFilterableIn protected function doCommit($bytes) { if (isset($this->in)) { - $bytesToWrite = strlen($bytes); + $bytesToWrite = \strlen($bytes); $totalBytesWritten = 0; while ($totalBytesWritten < $bytesToWrite) { @@ -264,13 +256,16 @@ class Swift_Transport_StreamBuffer extends Swift_ByteStream_AbstractFilterableIn $options = array_merge($options, $this->params['stream_context_options']); } $streamContext = stream_context_create($options); - $this->stream = @stream_socket_client($host.':'.$this->params['port'], $errno, $errstr, $timeout, STREAM_CLIENT_CONNECT, $streamContext); - if (false === $this->stream) { - throw new Swift_TransportException( - 'Connection could not be established with host '.$this->params['host']. - ' ['.$errstr.' #'.$errno.']' - ); + + set_error_handler(function ($type, $msg) { + throw new Swift_TransportException('Connection could not be established with host '.$this->params['host'].' :'.$msg); + }); + try { + $this->stream = stream_socket_client($host.':'.$this->params['port'], $errno, $errstr, $timeout, STREAM_CLIENT_CONNECT, $streamContext); + } finally { + restore_error_handler(); } + if (!empty($this->params['blocking'])) { stream_set_blocking($this->stream, 1); } else { @@ -296,9 +291,7 @@ class Swift_Transport_StreamBuffer extends Swift_ByteStream_AbstractFilterableIn $this->stream = proc_open($command, $descriptorSpec, $pipes); stream_set_blocking($pipes[2], 0); if ($err = stream_get_contents($pipes[2])) { - throw new Swift_TransportException( - 'Process could not be started ['.$err.']' - ); + throw new Swift_TransportException('Process could not be started ['.$err.']'); } $this->in = &$pipes[0]; $this->out = &$pipes[1]; diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/lib/swiftmailer_generate_mimes_config.php b/pandora_console/vendor/swiftmailer/swiftmailer/lib/swiftmailer_generate_mimes_config.php old mode 100755 new mode 100644 index 7120db16af..ad8fd2aa0d --- a/pandora_console/vendor/swiftmailer/swiftmailer/lib/swiftmailer_generate_mimes_config.php +++ b/pandora_console/vendor/swiftmailer/swiftmailer/lib/swiftmailer_generate_mimes_config.php @@ -1,8 +1,8 @@ #!/usr/bin/php $extensions) { // explode multiple extensions from string - $extensions = explode(' ', strtolower($extensions)); + $extensions = explode(' ', strtolower($extensions ?? '')); // force array for foreach - if (!is_array($extensions)) { + if (!\is_array($extensions)) { $extensions = [$extensions]; } @@ -118,7 +118,7 @@ function generateUpToDateMimeArray() $mime_type = $matches[1][$i]; // check if string length lower than 10 - if (strlen($extension) < 10) { + if (\strlen($extension) < 10) { if (!isset($valid_mime_types[$mime_type])) { // generate array for mimetype to extension resolver (only first match) $valid_mime_types[$extension] = "'{$extension}' => '{$mime_type}'"; @@ -139,24 +139,24 @@ function generateUpToDateMimeArray() // get all matching extensions from match foreach ((array) $node->glob['pattern'] as $extension) { // skip none glob extensions - if (false === strpos($extension, '.')) { + if (false === strpos($extension ?? '', '.')) { continue; } // remove get only last part - $extension = explode('.', strtolower($extension)); + $extension = explode('.', strtolower($extension ?? '')); $extension = end($extension); } if (isset($node->glob['pattern'][0])) { // mime type - $mime_type = strtolower((string) $node['type']); + $mime_type = strtolower((string) $node['type'] ?? ''); // get first extension - $extension = strtolower(trim($node->glob['ddpattern'][0], '*.')); + $extension = strtolower(trim($node->glob['ddpattern'][0] ?? '', '*.')); // skip none glob extensions and check if string length between 1 and 10 - if (false !== strpos($extension, '.') || strlen($extension) < 1 || strlen($extension) > 9) { + if (false !== strpos($extension, '.') || \strlen($extension) < 1 || \strlen($extension) > 9) { continue; } @@ -173,7 +173,7 @@ function generateUpToDateMimeArray() ksort($valid_mime_types); // combine mime types and extensions array - $output = "$preamble\$swift_mime_types = array(\n ".implode($valid_mime_types, ",\n ")."\n);"; + $output = "$preamble\$swift_mime_types = array(\n ".implode(",\n ", $valid_mime_types)."\n);"; // write mime_types.php config file @file_put_contents('./mime_types.php', $output); diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/phpunit.xml.dist b/pandora_console/vendor/swiftmailer/swiftmailer/phpunit.xml.dist deleted file mode 100644 index 9ec0c49a36..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/phpunit.xml.dist +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - tests/unit - - - tests/acceptance - - - tests/bug - - - tests/smoke - - - - - - - diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/IdenticalBinaryConstraint.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/IdenticalBinaryConstraint.php deleted file mode 100644 index 0a4a6da899..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/IdenticalBinaryConstraint.php +++ /dev/null @@ -1,62 +0,0 @@ -value = $value; - } - - /** - * Evaluates the constraint for parameter $other. Returns TRUE if the - * constraint is met, FALSE otherwise. - * - * @param mixed $other Value or object to evaluate. - * - * @return bool - */ - public function matches($other) - { - $aHex = $this->asHexString($this->value); - $bHex = $this->asHexString($other); - - return $aHex === $bHex; - } - - /** - * Returns a string representation of the constraint. - * - * @return string - */ - public function toString() - { - return 'identical binary'; - } - - /** - * Get the given string of bytes as a stirng of Hexadecimal sequences. - * - * @param string $binary - * - * @return string - */ - private function asHexString($binary) - { - $hex = ''; - - $bytes = unpack('H*', $binary); - - foreach ($bytes as &$byte) { - $byte = strtoupper($byte); - } - - return implode('', $bytes); - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/StreamCollector.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/StreamCollector.php deleted file mode 100644 index 7f079d9837..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/StreamCollector.php +++ /dev/null @@ -1,11 +0,0 @@ -content .= $arg; - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/SwiftMailerSmokeTestCase.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/SwiftMailerSmokeTestCase.php deleted file mode 100644 index 13bd240338..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/SwiftMailerSmokeTestCase.php +++ /dev/null @@ -1,46 +0,0 @@ -markTestSkipped( - 'Smoke tests are skipped if tests/smoke.conf.php is not edited' - ); - } - } - - protected function getMailer() - { - switch (SWIFT_SMOKE_TRANSPORT_TYPE) { - case 'smtp': - $transport = Swift_DependencyContainer::getInstance()->lookup('transport.smtp') - ->setHost(SWIFT_SMOKE_SMTP_HOST) - ->setPort(SWIFT_SMOKE_SMTP_PORT) - ->setUsername(SWIFT_SMOKE_SMTP_USER) - ->setPassword(SWIFT_SMOKE_SMTP_PASS) - ->setEncryption(SWIFT_SMOKE_SMTP_ENCRYPTION) - ; - break; - case 'sendmail': - $transport = Swift_DependencyContainer::getInstance()->lookup('transport.sendmail') - ->setCommand(SWIFT_SMOKE_SENDMAIL_COMMAND) - ; - break; - case 'mail': - case 'nativemail': - $transport = Swift_DependencyContainer::getInstance()->lookup('transport.mail'); - break; - default: - throw new Exception('Undefined transport ['.SWIFT_SMOKE_TRANSPORT_TYPE.']'); - } - - return new Swift_Mailer($transport); - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/SwiftMailerTestCase.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/SwiftMailerTestCase.php deleted file mode 100644 index fe2c62b424..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/SwiftMailerTestCase.php +++ /dev/null @@ -1,38 +0,0 @@ - \ No newline at end of file diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/_samples/files/swiftmailer.png b/pandora_console/vendor/swiftmailer/swiftmailer/tests/_samples/files/swiftmailer.png deleted file mode 100644 index 1b95f619af1fcbed1fca382d22022bdf329849cf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3194 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 diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/_samples/files/textfile.zip b/pandora_console/vendor/swiftmailer/swiftmailer/tests/_samples/files/textfile.zip deleted file mode 100644 index 5a580ecbf81ff98445bc5c6d0fce7a9a301f0e39..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 202 zcmWIWW@h1HU}9ikII%0tqR&rhgC39#!aNM33?-=*C25&Csd^<9C7~gl49w;G_PK*_ zXax(ySH`c5AsLy)3P4nlSX82rpQezg5L}*_R-)jW2-H=iP-db~oSUDWs!)testFile = sys_get_temp_dir().'/swift-test-file'.__CLASS__; - file_put_contents($this->testFile, 'abcdefghijklm'); - } - - protected function tearDown() - { - unlink($this->testFile); - } - - public function testFileDataCanBeRead() - { - $file = $this->createFileStream($this->testFile); - $str = ''; - while (false !== $bytes = $file->read(8192)) { - $str .= $bytes; - } - $this->assertEquals('abcdefghijklm', $str); - } - - public function testFileDataCanBeReadSequentially() - { - $file = $this->createFileStream($this->testFile); - $this->assertEquals('abcde', $file->read(5)); - $this->assertEquals('fghijklm', $file->read(8)); - $this->assertFalse($file->read(1)); - } - - public function testFilenameIsReturned() - { - $file = $this->createFileStream($this->testFile); - $this->assertEquals($this->testFile, $file->getPath()); - } - - public function testFileCanBeWrittenTo() - { - $file = $this->createFileStream($this->testFile, true); - $file->write('foobar'); - $this->assertEquals('foobar', $file->read(8192)); - } - - public function testReadingFromThenWritingToFile() - { - $file = $this->createFileStream($this->testFile, true); - $file->write('foobar'); - $this->assertEquals('foobar', $file->read(8192)); - $file->write('zipbutton'); - $this->assertEquals('zipbutton', $file->read(8192)); - } - - public function testWritingToFileWithCanonicalization() - { - $file = $this->createFileStream($this->testFile, true); - $file->addFilter($this->createFilter(["\r\n", "\r"], "\n"), 'allToLF'); - $file->write("foo\r\nbar\r"); - $file->write("\nzip\r\ntest\r"); - $file->flushBuffers(); - $this->assertEquals("foo\nbar\nzip\ntest\n", file_get_contents($this->testFile)); - } - - public function testWritingWithFulleMessageLengthOfAMultipleOf8192() - { - $file = $this->createFileStream($this->testFile, true); - $file->addFilter($this->createFilter(["\r\n", "\r"], "\n"), 'allToLF'); - $file->write(''); - $file->flushBuffers(); - $this->assertEquals('', file_get_contents($this->testFile)); - } - - public function testBindingOtherStreamsMirrorsWriteOperations() - { - $file = $this->createFileStream($this->testFile, true); - $is1 = $this->createMockInputStream(); - $is2 = $this->createMockInputStream(); - - $is1->expects($this->at(0)) - ->method('write') - ->with('x'); - $is1->expects($this->at(1)) - ->method('write') - ->with('y'); - $is2->expects($this->at(0)) - ->method('write') - ->with('x'); - $is2->expects($this->at(1)) - ->method('write') - ->with('y'); - - $file->bind($is1); - $file->bind($is2); - - $file->write('x'); - $file->write('y'); - } - - public function testBindingOtherStreamsMirrorsFlushOperations() - { - $file = $this->createFileStream( - $this->testFile, true - ); - $is1 = $this->createMockInputStream(); - $is2 = $this->createMockInputStream(); - - $is1->expects($this->once()) - ->method('flushBuffers'); - $is2->expects($this->once()) - ->method('flushBuffers'); - - $file->bind($is1); - $file->bind($is2); - - $file->flushBuffers(); - } - - public function testUnbindingStreamPreventsFurtherWrites() - { - $file = $this->createFileStream($this->testFile, true); - $is1 = $this->createMockInputStream(); - $is2 = $this->createMockInputStream(); - - $is1->expects($this->at(0)) - ->method('write') - ->with('x'); - $is1->expects($this->at(1)) - ->method('write') - ->with('y'); - $is2->expects($this->once()) - ->method('write') - ->with('x'); - - $file->bind($is1); - $file->bind($is2); - - $file->write('x'); - - $file->unbind($is2); - - $file->write('y'); - } - - private function createFilter($search, $replace) - { - return new Swift_StreamFilters_StringReplacementFilter($search, $replace); - } - - private function createMockInputStream() - { - return $this->getMockBuilder('Swift_InputByteStream')->getMock(); - } - - private function createFileStream($file, $writable = false) - { - return new Swift_ByteStream_FileByteStream($file, $writable); - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/CharacterReaderFactory/SimpleCharacterReaderFactoryAcceptanceTest.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/CharacterReaderFactory/SimpleCharacterReaderFactoryAcceptanceTest.php deleted file mode 100644 index fcc7ad4d07..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/CharacterReaderFactory/SimpleCharacterReaderFactoryAcceptanceTest.php +++ /dev/null @@ -1,179 +0,0 @@ -factory = new Swift_CharacterReaderFactory_SimpleCharacterReaderFactory(); - } - - public function testCreatingUtf8Reader() - { - foreach (['utf8', 'utf-8', 'UTF-8', 'UTF8'] as $utf8) { - $reader = $this->factory->getReaderFor($utf8); - $this->assertInstanceOf($this->prefix.'Utf8Reader', $reader); - } - } - - public function testCreatingIso8859XReaders() - { - $charsets = []; - foreach (range(1, 16) as $number) { - foreach (['iso', 'iec'] as $body) { - $charsets[] = $body.'-8859-'.$number; - $charsets[] = $body.'8859-'.$number; - $charsets[] = strtoupper($body).'-8859-'.$number; - $charsets[] = strtoupper($body).'8859-'.$number; - } - } - - foreach ($charsets as $charset) { - $reader = $this->factory->getReaderFor($charset); - $this->assertInstanceOf($this->prefix.'GenericFixedWidthReader', $reader); - $this->assertEquals(1, $reader->getInitialByteSize()); - } - } - - public function testCreatingWindows125XReaders() - { - $charsets = []; - foreach (range(0, 8) as $number) { - $charsets[] = 'windows-125'.$number; - $charsets[] = 'windows125'.$number; - $charsets[] = 'WINDOWS-125'.$number; - $charsets[] = 'WINDOWS125'.$number; - } - - foreach ($charsets as $charset) { - $reader = $this->factory->getReaderFor($charset); - $this->assertInstanceOf($this->prefix.'GenericFixedWidthReader', $reader); - $this->assertEquals(1, $reader->getInitialByteSize()); - } - } - - public function testCreatingCodePageReaders() - { - $charsets = []; - foreach (range(0, 8) as $number) { - $charsets[] = 'cp-125'.$number; - $charsets[] = 'cp125'.$number; - $charsets[] = 'CP-125'.$number; - $charsets[] = 'CP125'.$number; - } - - foreach ([437, 737, 850, 855, 857, 858, 860, - 861, 863, 865, 866, 869, ] as $number) { - $charsets[] = 'cp-'.$number; - $charsets[] = 'cp'.$number; - $charsets[] = 'CP-'.$number; - $charsets[] = 'CP'.$number; - } - - foreach ($charsets as $charset) { - $reader = $this->factory->getReaderFor($charset); - $this->assertInstanceOf($this->prefix.'GenericFixedWidthReader', $reader); - $this->assertEquals(1, $reader->getInitialByteSize()); - } - } - - public function testCreatingAnsiReader() - { - foreach (['ansi', 'ANSI'] as $ansi) { - $reader = $this->factory->getReaderFor($ansi); - $this->assertInstanceOf($this->prefix.'GenericFixedWidthReader', $reader); - $this->assertEquals(1, $reader->getInitialByteSize()); - } - } - - public function testCreatingMacintoshReader() - { - foreach (['macintosh', 'MACINTOSH'] as $mac) { - $reader = $this->factory->getReaderFor($mac); - $this->assertInstanceOf($this->prefix.'GenericFixedWidthReader', $reader); - $this->assertEquals(1, $reader->getInitialByteSize()); - } - } - - public function testCreatingKOIReaders() - { - $charsets = []; - foreach (['7', '8-r', '8-u', '8u', '8r'] as $end) { - $charsets[] = 'koi-'.$end; - $charsets[] = 'koi'.$end; - $charsets[] = 'KOI-'.$end; - $charsets[] = 'KOI'.$end; - } - - foreach ($charsets as $charset) { - $reader = $this->factory->getReaderFor($charset); - $this->assertInstanceOf($this->prefix.'GenericFixedWidthReader', $reader); - $this->assertEquals(1, $reader->getInitialByteSize()); - } - } - - public function testCreatingIsciiReaders() - { - foreach (['iscii', 'ISCII', 'viscii', 'VISCII'] as $charset) { - $reader = $this->factory->getReaderFor($charset); - $this->assertInstanceOf($this->prefix.'GenericFixedWidthReader', $reader); - $this->assertEquals(1, $reader->getInitialByteSize()); - } - } - - public function testCreatingMIKReader() - { - foreach (['mik', 'MIK'] as $charset) { - $reader = $this->factory->getReaderFor($charset); - $this->assertInstanceOf($this->prefix.'GenericFixedWidthReader', $reader); - $this->assertEquals(1, $reader->getInitialByteSize()); - } - } - - public function testCreatingCorkReader() - { - foreach (['cork', 'CORK', 't1', 'T1'] as $charset) { - $reader = $this->factory->getReaderFor($charset); - $this->assertInstanceOf($this->prefix.'GenericFixedWidthReader', $reader); - $this->assertEquals(1, $reader->getInitialByteSize()); - } - } - - public function testCreatingUcs2Reader() - { - foreach (['ucs-2', 'UCS-2', 'ucs2', 'UCS2'] as $charset) { - $reader = $this->factory->getReaderFor($charset); - $this->assertInstanceOf($this->prefix.'GenericFixedWidthReader', $reader); - $this->assertEquals(2, $reader->getInitialByteSize()); - } - } - - public function testCreatingUtf16Reader() - { - foreach (['utf-16', 'UTF-16', 'utf16', 'UTF16'] as $charset) { - $reader = $this->factory->getReaderFor($charset); - $this->assertInstanceOf($this->prefix.'GenericFixedWidthReader', $reader); - $this->assertEquals(2, $reader->getInitialByteSize()); - } - } - - public function testCreatingUcs4Reader() - { - foreach (['ucs-4', 'UCS-4', 'ucs4', 'UCS4'] as $charset) { - $reader = $this->factory->getReaderFor($charset); - $this->assertInstanceOf($this->prefix.'GenericFixedWidthReader', $reader); - $this->assertEquals(4, $reader->getInitialByteSize()); - } - } - - public function testCreatingUtf32Reader() - { - foreach (['utf-32', 'UTF-32', 'utf32', 'UTF32'] as $charset) { - $reader = $this->factory->getReaderFor($charset); - $this->assertInstanceOf($this->prefix.'GenericFixedWidthReader', $reader); - $this->assertEquals(4, $reader->getInitialByteSize()); - } - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/DependencyContainerAcceptanceTest.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/DependencyContainerAcceptanceTest.php deleted file mode 100644 index 3c1b515b55..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/DependencyContainerAcceptanceTest.php +++ /dev/null @@ -1,22 +0,0 @@ -listItems() as $itemName) { - try { - $di->lookup($itemName); - } catch (Swift_DependencyException $e) { - $this->fail($e->getMessage()); - } - } - // previous loop would fail if there is an issue - $this->addToAssertionCount(1); - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/EmbeddedFileAcceptanceTest.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/EmbeddedFileAcceptanceTest.php deleted file mode 100644 index a172e9724f..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/EmbeddedFileAcceptanceTest.php +++ /dev/null @@ -1,12 +0,0 @@ -samplesDir = realpath(__DIR__.'/../../../_samples/charsets'); - $this->encoder = new Swift_Encoder_Base64Encoder(); - } - - public function testEncodingAndDecodingSamples() - { - $sampleFp = opendir($this->samplesDir); - while (false !== $encodingDir = readdir($sampleFp)) { - if ('.' == substr($encodingDir, 0, 1)) { - continue; - } - - $sampleDir = $this->samplesDir.'/'.$encodingDir; - - if (is_dir($sampleDir)) { - $fileFp = opendir($sampleDir); - while (false !== $sampleFile = readdir($fileFp)) { - if ('.' == substr($sampleFile, 0, 1)) { - continue; - } - - $text = file_get_contents($sampleDir.'/'.$sampleFile); - $encodedText = $this->encoder->encodeString($text); - - $this->assertEquals( - base64_decode($encodedText), $text, - '%s: Encoded string should decode back to original string for sample '. - $sampleDir.'/'.$sampleFile - ); - } - closedir($fileFp); - } - } - closedir($sampleFp); - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Encoder/QpEncoderAcceptanceTest.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Encoder/QpEncoderAcceptanceTest.php deleted file mode 100644 index 5bbf067d4f..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Encoder/QpEncoderAcceptanceTest.php +++ /dev/null @@ -1,54 +0,0 @@ -samplesDir = realpath(__DIR__.'/../../../_samples/charsets'); - $this->factory = new Swift_CharacterReaderFactory_SimpleCharacterReaderFactory(); - } - - public function testEncodingAndDecodingSamples() - { - $sampleFp = opendir($this->samplesDir); - while (false !== $encodingDir = readdir($sampleFp)) { - if ('.' == substr($encodingDir, 0, 1)) { - continue; - } - - $encoding = $encodingDir; - $charStream = new Swift_CharacterStream_ArrayCharacterStream( - $this->factory, $encoding); - $encoder = new Swift_Encoder_QpEncoder($charStream); - - $sampleDir = $this->samplesDir.'/'.$encodingDir; - - if (is_dir($sampleDir)) { - $fileFp = opendir($sampleDir); - while (false !== $sampleFile = readdir($fileFp)) { - if ('.' == substr($sampleFile, 0, 1)) { - continue; - } - - $text = file_get_contents($sampleDir.'/'.$sampleFile); - $encodedText = $encoder->encodeString($text); - - foreach (explode("\r\n", $encodedText) as $line) { - $this->assertLessThanOrEqual(76, strlen($line)); - } - - $this->assertEquals( - quoted_printable_decode($encodedText), $text, - '%s: Encoded string should decode back to original string for sample '. - $sampleDir.'/'.$sampleFile - ); - } - closedir($fileFp); - } - } - closedir($sampleFp); - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Encoder/Rfc2231EncoderAcceptanceTest.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Encoder/Rfc2231EncoderAcceptanceTest.php deleted file mode 100644 index 20c68d5de6..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Encoder/Rfc2231EncoderAcceptanceTest.php +++ /dev/null @@ -1,50 +0,0 @@ -samplesDir = realpath(__DIR__.'/../../../_samples/charsets'); - $this->factory = new Swift_CharacterReaderFactory_SimpleCharacterReaderFactory(); - } - - public function testEncodingAndDecodingSamples() - { - $sampleFp = opendir($this->samplesDir); - while (false !== $encodingDir = readdir($sampleFp)) { - if ('.' == substr($encodingDir, 0, 1)) { - continue; - } - - $encoding = $encodingDir; - $charStream = new Swift_CharacterStream_ArrayCharacterStream( - $this->factory, $encoding); - $encoder = new Swift_Encoder_Rfc2231Encoder($charStream); - - $sampleDir = $this->samplesDir.'/'.$encodingDir; - - if (is_dir($sampleDir)) { - $fileFp = opendir($sampleDir); - while (false !== $sampleFile = readdir($fileFp)) { - if ('.' == substr($sampleFile, 0, 1)) { - continue; - } - - $text = file_get_contents($sampleDir.'/'.$sampleFile); - $encodedText = $encoder->encodeString($text); - - $this->assertEquals( - urldecode(implode('', explode("\r\n", $encodedText))), $text, - '%s: Encoded string should decode back to original string for sample '. - $sampleDir.'/'.$sampleFile - ); - } - closedir($fileFp); - } - } - closedir($sampleFp); - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/KeyCache/ArrayKeyCacheAcceptanceTest.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/KeyCache/ArrayKeyCacheAcceptanceTest.php deleted file mode 100644 index c54986b2b1..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/KeyCache/ArrayKeyCacheAcceptanceTest.php +++ /dev/null @@ -1,173 +0,0 @@ -cache = new Swift_KeyCache_ArrayKeyCache( - new Swift_KeyCache_SimpleKeyCacheInputStream() - ); - } - - public function testStringDataCanBeSetAndFetched() - { - $this->cache->setString( - $this->key1, 'foo', 'test', Swift_KeyCache::MODE_WRITE - ); - $this->assertEquals('test', $this->cache->getString($this->key1, 'foo')); - } - - public function testStringDataCanBeOverwritten() - { - $this->cache->setString( - $this->key1, 'foo', 'test', Swift_KeyCache::MODE_WRITE - ); - $this->cache->setString( - $this->key1, 'foo', 'whatever', Swift_KeyCache::MODE_WRITE - ); - $this->assertEquals('whatever', $this->cache->getString($this->key1, 'foo')); - } - - public function testStringDataCanBeAppended() - { - $this->cache->setString( - $this->key1, 'foo', 'test', Swift_KeyCache::MODE_WRITE - ); - $this->cache->setString( - $this->key1, 'foo', 'ing', Swift_KeyCache::MODE_APPEND - ); - $this->assertEquals('testing', $this->cache->getString($this->key1, 'foo')); - } - - public function testHasKeyReturnValue() - { - $this->assertFalse($this->cache->hasKey($this->key1, 'foo')); - $this->cache->setString( - $this->key1, 'foo', 'test', Swift_KeyCache::MODE_WRITE - ); - $this->assertTrue($this->cache->hasKey($this->key1, 'foo')); - } - - public function testNsKeyIsWellPartitioned() - { - $this->cache->setString( - $this->key1, 'foo', 'test', Swift_KeyCache::MODE_WRITE - ); - $this->cache->setString( - $this->key2, 'foo', 'ing', Swift_KeyCache::MODE_WRITE - ); - $this->assertEquals('test', $this->cache->getString($this->key1, 'foo')); - $this->assertEquals('ing', $this->cache->getString($this->key2, 'foo')); - } - - public function testItemKeyIsWellPartitioned() - { - $this->cache->setString( - $this->key1, 'foo', 'test', Swift_KeyCache::MODE_WRITE - ); - $this->cache->setString( - $this->key1, 'bar', 'ing', Swift_KeyCache::MODE_WRITE - ); - $this->assertEquals('test', $this->cache->getString($this->key1, 'foo')); - $this->assertEquals('ing', $this->cache->getString($this->key1, 'bar')); - } - - public function testByteStreamCanBeImported() - { - $os = new Swift_ByteStream_ArrayByteStream(); - $os->write('abcdef'); - - $this->cache->importFromByteStream( - $this->key1, 'foo', $os, Swift_KeyCache::MODE_WRITE - ); - $this->assertEquals('abcdef', $this->cache->getString($this->key1, 'foo')); - } - - public function testByteStreamCanBeAppended() - { - $os1 = new Swift_ByteStream_ArrayByteStream(); - $os1->write('abcdef'); - - $os2 = new Swift_ByteStream_ArrayByteStream(); - $os2->write('xyzuvw'); - - $this->cache->importFromByteStream( - $this->key1, 'foo', $os1, Swift_KeyCache::MODE_APPEND - ); - $this->cache->importFromByteStream( - $this->key1, 'foo', $os2, Swift_KeyCache::MODE_APPEND - ); - - $this->assertEquals('abcdefxyzuvw', $this->cache->getString($this->key1, 'foo')); - } - - public function testByteStreamAndStringCanBeAppended() - { - $this->cache->setString( - $this->key1, 'foo', 'test', Swift_KeyCache::MODE_APPEND - ); - - $os = new Swift_ByteStream_ArrayByteStream(); - $os->write('abcdef'); - - $this->cache->importFromByteStream( - $this->key1, 'foo', $os, Swift_KeyCache::MODE_APPEND - ); - $this->assertEquals('testabcdef', $this->cache->getString($this->key1, 'foo')); - } - - public function testDataCanBeExportedToByteStream() - { - $this->cache->setString( - $this->key1, 'foo', 'test', Swift_KeyCache::MODE_WRITE - ); - - $is = new Swift_ByteStream_ArrayByteStream(); - - $this->cache->exportToByteStream($this->key1, 'foo', $is); - - $string = ''; - while (false !== $bytes = $is->read(8192)) { - $string .= $bytes; - } - - $this->assertEquals('test', $string); - } - - public function testKeyCanBeCleared() - { - $this->cache->setString( - $this->key1, 'foo', 'test', Swift_KeyCache::MODE_WRITE - ); - $this->assertTrue($this->cache->hasKey($this->key1, 'foo')); - $this->cache->clearKey($this->key1, 'foo'); - $this->assertFalse($this->cache->hasKey($this->key1, 'foo')); - } - - public function testNsKeyCanBeCleared() - { - $this->cache->setString( - $this->key1, 'foo', 'test', Swift_KeyCache::MODE_WRITE - ); - $this->cache->setString( - $this->key1, 'bar', 'xyz', Swift_KeyCache::MODE_WRITE - ); - $this->assertTrue($this->cache->hasKey($this->key1, 'foo')); - $this->assertTrue($this->cache->hasKey($this->key1, 'bar')); - $this->cache->clearAll($this->key1); - $this->assertFalse($this->cache->hasKey($this->key1, 'foo')); - $this->assertFalse($this->cache->hasKey($this->key1, 'bar')); - } - - public function testKeyCacheInputStream() - { - $is = $this->cache->getInputByteStream($this->key1, 'foo'); - $is->write('abc'); - $is->write('xyz'); - $this->assertEquals('abcxyz', $this->cache->getString($this->key1, 'foo')); - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/KeyCache/DiskKeyCacheAcceptanceTest.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/KeyCache/DiskKeyCacheAcceptanceTest.php deleted file mode 100644 index 976474235c..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/KeyCache/DiskKeyCacheAcceptanceTest.php +++ /dev/null @@ -1,173 +0,0 @@ -key1 = uniqid(microtime(true), true); - $this->key2 = uniqid(microtime(true), true); - $this->cache = new Swift_KeyCache_DiskKeyCache(new Swift_KeyCache_SimpleKeyCacheInputStream(), sys_get_temp_dir()); - } - - public function testStringDataCanBeSetAndFetched() - { - $this->cache->setString( - $this->key1, 'foo', 'test', Swift_KeyCache::MODE_WRITE - ); - $this->assertEquals('test', $this->cache->getString($this->key1, 'foo')); - } - - public function testStringDataCanBeOverwritten() - { - $this->cache->setString( - $this->key1, 'foo', 'test', Swift_KeyCache::MODE_WRITE - ); - $this->cache->setString( - $this->key1, 'foo', 'whatever', Swift_KeyCache::MODE_WRITE - ); - $this->assertEquals('whatever', $this->cache->getString($this->key1, 'foo')); - } - - public function testStringDataCanBeAppended() - { - $this->cache->setString( - $this->key1, 'foo', 'test', Swift_KeyCache::MODE_WRITE - ); - $this->cache->setString( - $this->key1, 'foo', 'ing', Swift_KeyCache::MODE_APPEND - ); - $this->assertEquals('testing', $this->cache->getString($this->key1, 'foo')); - } - - public function testHasKeyReturnValue() - { - $this->assertFalse($this->cache->hasKey($this->key1, 'foo')); - $this->cache->setString( - $this->key1, 'foo', 'test', Swift_KeyCache::MODE_WRITE - ); - $this->assertTrue($this->cache->hasKey($this->key1, 'foo')); - } - - public function testNsKeyIsWellPartitioned() - { - $this->cache->setString( - $this->key1, 'foo', 'test', Swift_KeyCache::MODE_WRITE - ); - $this->cache->setString( - $this->key2, 'foo', 'ing', Swift_KeyCache::MODE_WRITE - ); - $this->assertEquals('test', $this->cache->getString($this->key1, 'foo')); - $this->assertEquals('ing', $this->cache->getString($this->key2, 'foo')); - } - - public function testItemKeyIsWellPartitioned() - { - $this->cache->setString( - $this->key1, 'foo', 'test', Swift_KeyCache::MODE_WRITE - ); - $this->cache->setString( - $this->key1, 'bar', 'ing', Swift_KeyCache::MODE_WRITE - ); - $this->assertEquals('test', $this->cache->getString($this->key1, 'foo')); - $this->assertEquals('ing', $this->cache->getString($this->key1, 'bar')); - } - - public function testByteStreamCanBeImported() - { - $os = new Swift_ByteStream_ArrayByteStream(); - $os->write('abcdef'); - - $this->cache->importFromByteStream( - $this->key1, 'foo', $os, Swift_KeyCache::MODE_WRITE - ); - $this->assertEquals('abcdef', $this->cache->getString($this->key1, 'foo')); - } - - public function testByteStreamCanBeAppended() - { - $os1 = new Swift_ByteStream_ArrayByteStream(); - $os1->write('abcdef'); - - $os2 = new Swift_ByteStream_ArrayByteStream(); - $os2->write('xyzuvw'); - - $this->cache->importFromByteStream( - $this->key1, 'foo', $os1, Swift_KeyCache::MODE_APPEND - ); - $this->cache->importFromByteStream( - $this->key1, 'foo', $os2, Swift_KeyCache::MODE_APPEND - ); - - $this->assertEquals('abcdefxyzuvw', $this->cache->getString($this->key1, 'foo')); - } - - public function testByteStreamAndStringCanBeAppended() - { - $this->cache->setString( - $this->key1, 'foo', 'test', Swift_KeyCache::MODE_APPEND - ); - - $os = new Swift_ByteStream_ArrayByteStream(); - $os->write('abcdef'); - - $this->cache->importFromByteStream( - $this->key1, 'foo', $os, Swift_KeyCache::MODE_APPEND - ); - $this->assertEquals('testabcdef', $this->cache->getString($this->key1, 'foo')); - } - - public function testDataCanBeExportedToByteStream() - { - $this->cache->setString( - $this->key1, 'foo', 'test', Swift_KeyCache::MODE_WRITE - ); - - $is = new Swift_ByteStream_ArrayByteStream(); - - $this->cache->exportToByteStream($this->key1, 'foo', $is); - - $string = ''; - while (false !== $bytes = $is->read(8192)) { - $string .= $bytes; - } - - $this->assertEquals('test', $string); - } - - public function testKeyCanBeCleared() - { - $this->cache->setString( - $this->key1, 'foo', 'test', Swift_KeyCache::MODE_WRITE - ); - $this->assertTrue($this->cache->hasKey($this->key1, 'foo')); - $this->cache->clearKey($this->key1, 'foo'); - $this->assertFalse($this->cache->hasKey($this->key1, 'foo')); - } - - public function testNsKeyCanBeCleared() - { - $this->cache->setString( - $this->key1, 'foo', 'test', Swift_KeyCache::MODE_WRITE - ); - $this->cache->setString( - $this->key1, 'bar', 'xyz', Swift_KeyCache::MODE_WRITE - ); - $this->assertTrue($this->cache->hasKey($this->key1, 'foo')); - $this->assertTrue($this->cache->hasKey($this->key1, 'bar')); - $this->cache->clearAll($this->key1); - $this->assertFalse($this->cache->hasKey($this->key1, 'foo')); - $this->assertFalse($this->cache->hasKey($this->key1, 'bar')); - } - - public function testKeyCacheInputStream() - { - $is = $this->cache->getInputByteStream($this->key1, 'foo'); - $is->write('abc'); - $is->write('xyz'); - $this->assertEquals('abcxyz', $this->cache->getString($this->key1, 'foo')); - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/MessageAcceptanceTest.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/MessageAcceptanceTest.php deleted file mode 100644 index 16adb23b0e..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/MessageAcceptanceTest.php +++ /dev/null @@ -1,55 +0,0 @@ -createMessage(); - $message->setSubject('just a test subject'); - $message->setFrom([ - 'chris.corbyn@swiftmailer.org' => 'Chris Corbyn', ]); - - $id = $message->getId(); - $date = $message->getDate(); - $boundary = $message->getBoundary(); - - $message->addPart('foo', 'text/plain', 'iso-8859-1'); - $message->addPart('test foo', 'text/html', 'iso-8859-1'); - - $this->assertEquals( - 'Message-ID: <'.$id.'>'."\r\n". - 'Date: '.$date->format('r')."\r\n". - 'Subject: just a test subject'."\r\n". - 'From: Chris Corbyn '."\r\n". - 'MIME-Version: 1.0'."\r\n". - 'Content-Type: multipart/alternative;'."\r\n". - ' boundary="'.$boundary.'"'."\r\n". - "\r\n\r\n". - '--'.$boundary."\r\n". - 'Content-Type: text/plain; charset=iso-8859-1'."\r\n". - 'Content-Transfer-Encoding: quoted-printable'."\r\n". - "\r\n". - 'foo'. - "\r\n\r\n". - '--'.$boundary."\r\n". - 'Content-Type: text/html; charset=iso-8859-1'."\r\n". - 'Content-Transfer-Encoding: quoted-printable'."\r\n". - "\r\n". - 'test foo'. - "\r\n\r\n". - '--'.$boundary.'--'."\r\n", - $message->toString() - ); - } - - protected function createMessage() - { - Swift_DependencyContainer::getInstance() - ->register('properties.charset')->asValue(null); - - return new Swift_Message(); - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Mime/AttachmentAcceptanceTest.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Mime/AttachmentAcceptanceTest.php deleted file mode 100644 index 920faed9bf..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Mime/AttachmentAcceptanceTest.php +++ /dev/null @@ -1,126 +0,0 @@ -cache = new Swift_KeyCache_ArrayKeyCache( - new Swift_KeyCache_SimpleKeyCacheInputStream() - ); - $factory = new Swift_CharacterReaderFactory_SimpleCharacterReaderFactory(); - $this->contentEncoder = new Swift_Mime_ContentEncoder_Base64ContentEncoder(); - - $headerEncoder = new Swift_Mime_HeaderEncoder_QpHeaderEncoder( - new Swift_CharacterStream_ArrayCharacterStream($factory, 'utf-8') - ); - $paramEncoder = new Swift_Encoder_Rfc2231Encoder( - new Swift_CharacterStream_ArrayCharacterStream($factory, 'utf-8') - ); - $this->emailValidator = new EmailValidator(); - $this->idGenerator = new Swift_Mime_IdGenerator('example.com'); - $this->headers = new Swift_Mime_SimpleHeaderSet( - new Swift_Mime_SimpleHeaderFactory($headerEncoder, $paramEncoder, $this->emailValidator) - ); - } - - public function testDispositionIsSetInHeader() - { - $attachment = $this->createAttachment(); - $attachment->setContentType('application/pdf'); - $attachment->setDisposition('inline'); - $this->assertEquals( - 'Content-Type: application/pdf'."\r\n". - 'Content-Transfer-Encoding: base64'."\r\n". - 'Content-Disposition: inline'."\r\n", - $attachment->toString() - ); - } - - public function testDispositionIsAttachmentByDefault() - { - $attachment = $this->createAttachment(); - $attachment->setContentType('application/pdf'); - $this->assertEquals( - 'Content-Type: application/pdf'."\r\n". - 'Content-Transfer-Encoding: base64'."\r\n". - 'Content-Disposition: attachment'."\r\n", - $attachment->toString() - ); - } - - public function testFilenameIsSetInHeader() - { - $attachment = $this->createAttachment(); - $attachment->setContentType('application/pdf'); - $attachment->setFilename('foo.pdf'); - $this->assertEquals( - 'Content-Type: application/pdf; name=foo.pdf'."\r\n". - 'Content-Transfer-Encoding: base64'."\r\n". - 'Content-Disposition: attachment; filename=foo.pdf'."\r\n", - $attachment->toString() - ); - } - - public function testSizeIsSetInHeader() - { - $attachment = $this->createAttachment(); - $attachment->setContentType('application/pdf'); - $attachment->setSize(12340); - $this->assertEquals( - 'Content-Type: application/pdf'."\r\n". - 'Content-Transfer-Encoding: base64'."\r\n". - 'Content-Disposition: attachment; size=12340'."\r\n", - $attachment->toString() - ); - } - - public function testMultipleParametersInHeader() - { - $attachment = $this->createAttachment(); - $attachment->setContentType('application/pdf'); - $attachment->setFilename('foo.pdf'); - $attachment->setSize(12340); - $this->assertEquals( - 'Content-Type: application/pdf; name=foo.pdf'."\r\n". - 'Content-Transfer-Encoding: base64'."\r\n". - 'Content-Disposition: attachment; filename=foo.pdf; size=12340'."\r\n", - $attachment->toString() - ); - } - - public function testEndToEnd() - { - $attachment = $this->createAttachment(); - $attachment->setContentType('application/pdf'); - $attachment->setFilename('foo.pdf'); - $attachment->setSize(12340); - $attachment->setBody('abcd'); - $this->assertEquals( - 'Content-Type: application/pdf; name=foo.pdf'."\r\n". - 'Content-Transfer-Encoding: base64'."\r\n". - 'Content-Disposition: attachment; filename=foo.pdf; size=12340'."\r\n". - "\r\n". - base64_encode('abcd'), - $attachment->toString() - ); - } - - protected function createAttachment() - { - $entity = new Swift_Mime_Attachment( - $this->headers, - $this->contentEncoder, - $this->cache, - $this->idGenerator - ); - - return $entity; - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Mime/ContentEncoder/Base64ContentEncoderAcceptanceTest.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Mime/ContentEncoder/Base64ContentEncoderAcceptanceTest.php deleted file mode 100644 index a87b30ee6d..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Mime/ContentEncoder/Base64ContentEncoderAcceptanceTest.php +++ /dev/null @@ -1,56 +0,0 @@ -samplesDir = realpath(__DIR__.'/../../../../_samples/charsets'); - $this->encoder = new Swift_Mime_ContentEncoder_Base64ContentEncoder(); - } - - public function testEncodingAndDecodingSamples() - { - $sampleFp = opendir($this->samplesDir); - while (false !== $encodingDir = readdir($sampleFp)) { - if ('.' == substr($encodingDir, 0, 1)) { - continue; - } - - $sampleDir = $this->samplesDir.'/'.$encodingDir; - - if (is_dir($sampleDir)) { - $fileFp = opendir($sampleDir); - while (false !== $sampleFile = readdir($fileFp)) { - if ('.' == substr($sampleFile, 0, 1)) { - continue; - } - - $text = file_get_contents($sampleDir.'/'.$sampleFile); - - $os = new Swift_ByteStream_ArrayByteStream(); - $os->write($text); - - $is = new Swift_ByteStream_ArrayByteStream(); - - $this->encoder->encodeByteStream($os, $is); - - $encoded = ''; - while (false !== $bytes = $is->read(8192)) { - $encoded .= $bytes; - } - - $this->assertEquals( - base64_decode($encoded), $text, - '%s: Encoded string should decode back to original string for sample '. - $sampleDir.'/'.$sampleFile - ); - } - closedir($fileFp); - } - } - closedir($sampleFp); - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Mime/ContentEncoder/NativeQpContentEncoderAcceptanceTest.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Mime/ContentEncoder/NativeQpContentEncoderAcceptanceTest.php deleted file mode 100644 index bf0a04eea2..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Mime/ContentEncoder/NativeQpContentEncoderAcceptanceTest.php +++ /dev/null @@ -1,88 +0,0 @@ -samplesDir = realpath(__DIR__.'/../../../../_samples/charsets'); - $this->encoder = new Swift_Mime_ContentEncoder_NativeQpContentEncoder(); - } - - public function testEncodingAndDecodingSamples() - { - $sampleFp = opendir($this->samplesDir); - while (false !== $encodingDir = readdir($sampleFp)) { - if ('.' == substr($encodingDir, 0, 1)) { - continue; - } - - $sampleDir = $this->samplesDir.'/'.$encodingDir; - - if (is_dir($sampleDir)) { - $fileFp = opendir($sampleDir); - while (false !== $sampleFile = readdir($fileFp)) { - if ('.' == substr($sampleFile, 0, 1)) { - continue; - } - - $text = file_get_contents($sampleDir.'/'.$sampleFile); - - $os = new Swift_ByteStream_ArrayByteStream(); - $os->write($text); - - $is = new Swift_ByteStream_ArrayByteStream(); - $this->encoder->encodeByteStream($os, $is); - - $encoded = ''; - while (false !== $bytes = $is->read(8192)) { - $encoded .= $bytes; - } - - $this->assertEquals( - quoted_printable_decode($encoded), - // CR and LF are converted to CRLF - preg_replace('~\r(?!\n)|(?createEncoderFromContainer(); - $this->assertSame('=C3=A4=C3=B6=C3=BC=C3=9F', $encoder->encodeString('äöüß')); - } - - /** - * @expectedException \RuntimeException - */ - public function testCharsetChangeNotImplemented() - { - $this->encoder->charsetChanged('utf-8'); - $this->encoder->charsetChanged('charset'); - $this->encoder->encodeString('foo'); - } - - public function testGetName() - { - $this->assertSame('quoted-printable', $this->encoder->getName()); - } - - private function createEncoderFromContainer() - { - return Swift_DependencyContainer::getInstance() - ->lookup('mime.nativeqpcontentencoder') - ; - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Mime/ContentEncoder/PlainContentEncoderAcceptanceTest.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Mime/ContentEncoder/PlainContentEncoderAcceptanceTest.php deleted file mode 100644 index 544873a92f..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Mime/ContentEncoder/PlainContentEncoderAcceptanceTest.php +++ /dev/null @@ -1,88 +0,0 @@ -samplesDir = realpath(__DIR__.'/../../../../_samples/charsets'); - $this->encoder = new Swift_Mime_ContentEncoder_PlainContentEncoder('8bit'); - } - - public function testEncodingAndDecodingSamplesString() - { - $sampleFp = opendir($this->samplesDir); - while (false !== $encodingDir = readdir($sampleFp)) { - if ('.' == substr($encodingDir, 0, 1)) { - continue; - } - - $sampleDir = $this->samplesDir.'/'.$encodingDir; - - if (is_dir($sampleDir)) { - $fileFp = opendir($sampleDir); - while (false !== $sampleFile = readdir($fileFp)) { - if ('.' == substr($sampleFile, 0, 1)) { - continue; - } - - $text = file_get_contents($sampleDir.'/'.$sampleFile); - $encodedText = $this->encoder->encodeString($text); - - $this->assertEquals( - $encodedText, $text, - '%s: Encoded string should be identical to original string for sample '. - $sampleDir.'/'.$sampleFile - ); - } - closedir($fileFp); - } - } - closedir($sampleFp); - } - - public function testEncodingAndDecodingSamplesByteStream() - { - $sampleFp = opendir($this->samplesDir); - while (false !== $encodingDir = readdir($sampleFp)) { - if ('.' == substr($encodingDir, 0, 1)) { - continue; - } - - $sampleDir = $this->samplesDir.'/'.$encodingDir; - - if (is_dir($sampleDir)) { - $fileFp = opendir($sampleDir); - while (false !== $sampleFile = readdir($fileFp)) { - if ('.' == substr($sampleFile, 0, 1)) { - continue; - } - - $text = file_get_contents($sampleDir.'/'.$sampleFile); - - $os = new Swift_ByteStream_ArrayByteStream(); - $os->write($text); - - $is = new Swift_ByteStream_ArrayByteStream(); - - $this->encoder->encodeByteStream($os, $is); - - $encoded = ''; - while (false !== $bytes = $is->read(8192)) { - $encoded .= $bytes; - } - - $this->assertEquals( - $encoded, $text, - '%s: Encoded string should be identical to original string for sample '. - $sampleDir.'/'.$sampleFile - ); - } - closedir($fileFp); - } - } - closedir($sampleFp); - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Mime/ContentEncoder/QpContentEncoderAcceptanceTest.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Mime/ContentEncoder/QpContentEncoderAcceptanceTest.php deleted file mode 100644 index 26d1a9bd2a..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Mime/ContentEncoder/QpContentEncoderAcceptanceTest.php +++ /dev/null @@ -1,160 +0,0 @@ -samplesDir = realpath(__DIR__.'/../../../../_samples/charsets'); - $this->factory = new Swift_CharacterReaderFactory_SimpleCharacterReaderFactory(); - } - - protected function tearDown() - { - Swift_Preferences::getInstance()->setQPDotEscape(false); - } - - public function testEncodingAndDecodingSamples() - { - $sampleFp = opendir($this->samplesDir); - while (false !== $encodingDir = readdir($sampleFp)) { - if ('.' == substr($encodingDir, 0, 1)) { - continue; - } - - $encoding = $encodingDir; - $charStream = new Swift_CharacterStream_NgCharacterStream( - $this->factory, $encoding); - $encoder = new Swift_Mime_ContentEncoder_QpContentEncoder($charStream); - - $sampleDir = $this->samplesDir.'/'.$encodingDir; - - if (is_dir($sampleDir)) { - $fileFp = opendir($sampleDir); - while (false !== $sampleFile = readdir($fileFp)) { - if ('.' == substr($sampleFile, 0, 1)) { - continue; - } - - $text = file_get_contents($sampleDir.'/'.$sampleFile); - - $os = new Swift_ByteStream_ArrayByteStream(); - $os->write($text); - - $is = new Swift_ByteStream_ArrayByteStream(); - $encoder->encodeByteStream($os, $is); - - $encoded = ''; - while (false !== $bytes = $is->read(8192)) { - $encoded .= $bytes; - } - - $this->assertEquals( - quoted_printable_decode($encoded), $text, - '%s: Encoded string should decode back to original string for sample '. - $sampleDir.'/'.$sampleFile - ); - } - closedir($fileFp); - } - } - closedir($sampleFp); - } - - public function testEncodingAndDecodingSamplesFromDiConfiguredInstance() - { - $sampleFp = opendir($this->samplesDir); - while (false !== $encodingDir = readdir($sampleFp)) { - if ('.' == substr($encodingDir, 0, 1)) { - continue; - } - - $encoding = $encodingDir; - $encoder = $this->createEncoderFromContainer(); - - $sampleDir = $this->samplesDir.'/'.$encodingDir; - - if (is_dir($sampleDir)) { - $fileFp = opendir($sampleDir); - while (false !== $sampleFile = readdir($fileFp)) { - if ('.' == substr($sampleFile, 0, 1)) { - continue; - } - - $text = file_get_contents($sampleDir.'/'.$sampleFile); - - $os = new Swift_ByteStream_ArrayByteStream(); - $os->write($text); - - $is = new Swift_ByteStream_ArrayByteStream(); - $encoder->encodeByteStream($os, $is); - - $encoded = ''; - while (false !== $bytes = $is->read(8192)) { - $encoded .= $bytes; - } - - $this->assertEquals( - str_replace("\r\n", "\n", quoted_printable_decode($encoded)), str_replace("\r\n", "\n", $text), - '%s: Encoded string should decode back to original string for sample '. - $sampleDir.'/'.$sampleFile - ); - } - closedir($fileFp); - } - } - closedir($sampleFp); - } - - public function testEncodingLFTextWithDiConfiguredInstance() - { - $encoder = $this->createEncoderFromContainer(); - $this->assertEquals("a\r\nb\r\nc", $encoder->encodeString("a\nb\nc")); - } - - public function testEncodingCRTextWithDiConfiguredInstance() - { - $encoder = $this->createEncoderFromContainer(); - $this->assertEquals("a\r\nb\r\nc", $encoder->encodeString("a\rb\rc")); - } - - public function testEncodingLFCRTextWithDiConfiguredInstance() - { - $encoder = $this->createEncoderFromContainer(); - $this->assertEquals("a\r\n\r\nb\r\n\r\nc", $encoder->encodeString("a\n\rb\n\rc")); - } - - public function testEncodingCRLFTextWithDiConfiguredInstance() - { - $encoder = $this->createEncoderFromContainer(); - $this->assertEquals("a\r\nb\r\nc", $encoder->encodeString("a\r\nb\r\nc")); - } - - public function testEncodingDotStuffingWithDiConfiguredInstance() - { - // Enable DotEscaping - Swift_Preferences::getInstance()->setQPDotEscape(true); - $encoder = $this->createEncoderFromContainer(); - $this->assertEquals("a=2E\r\n=2E\r\n=2Eb\r\nc", $encoder->encodeString("a.\r\n.\r\n.b\r\nc")); - // Return to default - Swift_Preferences::getInstance()->setQPDotEscape(false); - $encoder = $this->createEncoderFromContainer(); - $this->assertEquals("a.\r\n.\r\n.b\r\nc", $encoder->encodeString("a.\r\n.\r\n.b\r\nc")); - } - - public function testDotStuffingEncodingAndDecodingSamplesFromDiConfiguredInstance() - { - // Enable DotEscaping - Swift_Preferences::getInstance()->setQPDotEscape(true); - $this->testEncodingAndDecodingSamplesFromDiConfiguredInstance(); - } - - private function createEncoderFromContainer() - { - return Swift_DependencyContainer::getInstance() - ->lookup('mime.qpcontentencoder') - ; - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Mime/EmbeddedFileAcceptanceTest.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Mime/EmbeddedFileAcceptanceTest.php deleted file mode 100644 index 5603a67d71..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Mime/EmbeddedFileAcceptanceTest.php +++ /dev/null @@ -1,139 +0,0 @@ -cache = new Swift_KeyCache_ArrayKeyCache( - new Swift_KeyCache_SimpleKeyCacheInputStream() - ); - $factory = new Swift_CharacterReaderFactory_SimpleCharacterReaderFactory(); - $this->contentEncoder = new Swift_Mime_ContentEncoder_Base64ContentEncoder(); - - $headerEncoder = new Swift_Mime_HeaderEncoder_QpHeaderEncoder( - new Swift_CharacterStream_ArrayCharacterStream($factory, 'utf-8') - ); - $paramEncoder = new Swift_Encoder_Rfc2231Encoder( - new Swift_CharacterStream_ArrayCharacterStream($factory, 'utf-8') - ); - $this->emailValidator = new EmailValidator(); - $this->idGenerator = new Swift_Mime_IdGenerator('example.com'); - $this->headers = new Swift_Mime_SimpleHeaderSet( - new Swift_Mime_SimpleHeaderFactory($headerEncoder, $paramEncoder, $this->emailValidator) - ); - } - - public function testContentIdIsSetInHeader() - { - $file = $this->createEmbeddedFile(); - $file->setContentType('application/pdf'); - $file->setId('foo@bar'); - $this->assertEquals( - 'Content-Type: application/pdf'."\r\n". - 'Content-Transfer-Encoding: base64'."\r\n". - 'Content-ID: '."\r\n". - 'Content-Disposition: inline'."\r\n", - $file->toString() - ); - } - - public function testDispositionIsSetInHeader() - { - $file = $this->createEmbeddedFile(); - $id = $file->getId(); - $file->setContentType('application/pdf'); - $file->setDisposition('attachment'); - $this->assertEquals( - 'Content-Type: application/pdf'."\r\n". - 'Content-Transfer-Encoding: base64'."\r\n". - 'Content-ID: <'.$id.'>'."\r\n". - 'Content-Disposition: attachment'."\r\n", - $file->toString() - ); - } - - public function testFilenameIsSetInHeader() - { - $file = $this->createEmbeddedFile(); - $id = $file->getId(); - $file->setContentType('application/pdf'); - $file->setFilename('foo.pdf'); - $this->assertEquals( - 'Content-Type: application/pdf; name=foo.pdf'."\r\n". - 'Content-Transfer-Encoding: base64'."\r\n". - 'Content-ID: <'.$id.'>'."\r\n". - 'Content-Disposition: inline; filename=foo.pdf'."\r\n", - $file->toString() - ); - } - - public function testSizeIsSetInHeader() - { - $file = $this->createEmbeddedFile(); - $id = $file->getId(); - $file->setContentType('application/pdf'); - $file->setSize(12340); - $this->assertEquals( - 'Content-Type: application/pdf'."\r\n". - 'Content-Transfer-Encoding: base64'."\r\n". - 'Content-ID: <'.$id.'>'."\r\n". - 'Content-Disposition: inline; size=12340'."\r\n", - $file->toString() - ); - } - - public function testMultipleParametersInHeader() - { - $file = $this->createEmbeddedFile(); - $id = $file->getId(); - $file->setContentType('application/pdf'); - $file->setFilename('foo.pdf'); - $file->setSize(12340); - - $this->assertEquals( - 'Content-Type: application/pdf; name=foo.pdf'."\r\n". - 'Content-Transfer-Encoding: base64'."\r\n". - 'Content-ID: <'.$id.'>'."\r\n". - 'Content-Disposition: inline; filename=foo.pdf; size=12340'."\r\n", - $file->toString() - ); - } - - public function testEndToEnd() - { - $file = $this->createEmbeddedFile(); - $id = $file->getId(); - $file->setContentType('application/pdf'); - $file->setFilename('foo.pdf'); - $file->setSize(12340); - $file->setBody('abcd'); - $this->assertEquals( - 'Content-Type: application/pdf; name=foo.pdf'."\r\n". - 'Content-Transfer-Encoding: base64'."\r\n". - 'Content-ID: <'.$id.'>'."\r\n". - 'Content-Disposition: inline; filename=foo.pdf; size=12340'."\r\n". - "\r\n". - base64_encode('abcd'), - $file->toString() - ); - } - - protected function createEmbeddedFile() - { - $entity = new Swift_Mime_EmbeddedFile( - $this->headers, - $this->contentEncoder, - $this->cache, - $this->idGenerator - ); - - return $entity; - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Mime/HeaderEncoder/Base64HeaderEncoderAcceptanceTest.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Mime/HeaderEncoder/Base64HeaderEncoderAcceptanceTest.php deleted file mode 100644 index 13795135e1..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Mime/HeaderEncoder/Base64HeaderEncoderAcceptanceTest.php +++ /dev/null @@ -1,32 +0,0 @@ -encoder = new Swift_Mime_HeaderEncoder_Base64HeaderEncoder(); - } - - public function testEncodingJIS() - { - if (function_exists('mb_convert_encoding')) { - // base64_encode and split cannot handle long JIS text to fold - $subject = '長い長い長い長い長い長い長い長い長い長い長い長い長い長い長い長い長い長い長い長い件名'; - - $encodedWrapperLength = strlen('=?iso-2022-jp?'.$this->encoder->getName().'??='); - - $old = mb_internal_encoding(); - mb_internal_encoding('utf-8'); - $newstring = mb_encode_mimeheader($subject, 'iso-2022-jp', 'B', "\r\n"); - mb_internal_encoding($old); - - $encoded = $this->encoder->encodeString($subject, 0, 75 - $encodedWrapperLength, 'iso-2022-jp'); - $this->assertEquals( - $encoded, $newstring, - 'Encoded string should decode back to original string for sample ' - ); - } - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Mime/MimePartAcceptanceTest.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Mime/MimePartAcceptanceTest.php deleted file mode 100644 index 5a12daad7a..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Mime/MimePartAcceptanceTest.php +++ /dev/null @@ -1,130 +0,0 @@ -cache = new Swift_KeyCache_ArrayKeyCache( - new Swift_KeyCache_SimpleKeyCacheInputStream() - ); - $factory = new Swift_CharacterReaderFactory_SimpleCharacterReaderFactory(); - $this->contentEncoder = new Swift_Mime_ContentEncoder_QpContentEncoder( - new Swift_CharacterStream_ArrayCharacterStream($factory, 'utf-8'), - new Swift_StreamFilters_ByteArrayReplacementFilter( - [[0x0D, 0x0A], [0x0D], [0x0A]], - [[0x0A], [0x0A], [0x0D, 0x0A]] - ) - ); - - $headerEncoder = new Swift_Mime_HeaderEncoder_QpHeaderEncoder( - new Swift_CharacterStream_ArrayCharacterStream($factory, 'utf-8') - ); - $paramEncoder = new Swift_Encoder_Rfc2231Encoder( - new Swift_CharacterStream_ArrayCharacterStream($factory, 'utf-8') - ); - $this->emailValidator = new EmailValidator(); - $this->idGenerator = new Swift_Mime_IdGenerator('example.com'); - $this->headers = new Swift_Mime_SimpleHeaderSet( - new Swift_Mime_SimpleHeaderFactory($headerEncoder, $paramEncoder, $this->emailValidator) - ); - } - - public function testCharsetIsSetInHeader() - { - $part = $this->createMimePart(); - $part->setContentType('text/plain'); - $part->setCharset('utf-8'); - $part->setBody('foobar'); - $this->assertEquals( - 'Content-Type: text/plain; charset=utf-8'."\r\n". - 'Content-Transfer-Encoding: quoted-printable'."\r\n". - "\r\n". - 'foobar', - $part->toString() - ); - } - - public function testFormatIsSetInHeaders() - { - $part = $this->createMimePart(); - $part->setContentType('text/plain'); - $part->setFormat('flowed'); - $part->setBody('> foobar'); - $this->assertEquals( - 'Content-Type: text/plain; format=flowed'."\r\n". - 'Content-Transfer-Encoding: quoted-printable'."\r\n". - "\r\n". - '> foobar', - $part->toString() - ); - } - - public function testDelSpIsSetInHeaders() - { - $part = $this->createMimePart(); - $part->setContentType('text/plain'); - $part->setDelSp(true); - $part->setBody('foobar'); - $this->assertEquals( - 'Content-Type: text/plain; delsp=yes'."\r\n". - 'Content-Transfer-Encoding: quoted-printable'."\r\n". - "\r\n". - 'foobar', - $part->toString() - ); - } - - public function testAll3ParamsInHeaders() - { - $part = $this->createMimePart(); - $part->setContentType('text/plain'); - $part->setCharset('utf-8'); - $part->setFormat('fixed'); - $part->setDelSp(true); - $part->setBody('foobar'); - $this->assertEquals( - 'Content-Type: text/plain; charset=utf-8; format=fixed; delsp=yes'."\r\n". - 'Content-Transfer-Encoding: quoted-printable'."\r\n". - "\r\n". - 'foobar', - $part->toString() - ); - } - - public function testBodyIsCanonicalized() - { - $part = $this->createMimePart(); - $part->setContentType('text/plain'); - $part->setCharset('utf-8'); - $part->setBody("foobar\r\rtest\ning\r"); - $this->assertEquals( - 'Content-Type: text/plain; charset=utf-8'."\r\n". - 'Content-Transfer-Encoding: quoted-printable'."\r\n". - "\r\n". - "foobar\r\n". - "\r\n". - "test\r\n". - "ing\r\n", - $part->toString() - ); - } - - protected function createMimePart() - { - $entity = new Swift_Mime_MimePart( - $this->headers, - $this->contentEncoder, - $this->cache, - $this->idGenerator - ); - - return $entity; - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Mime/SimpleMessageAcceptanceTest.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Mime/SimpleMessageAcceptanceTest.php deleted file mode 100644 index 1d981e784d..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Mime/SimpleMessageAcceptanceTest.php +++ /dev/null @@ -1,1250 +0,0 @@ -setCharset(null); //TODO: Test with the charset defined - } - - public function testBasicHeaders() - { - /* -- RFC 2822, 3.6. - */ - - $message = $this->createMessage(); - $id = $message->getId(); - $date = $message->getDate(); - $this->assertEquals( - 'Message-ID: <'.$id.'>'."\r\n". - 'Date: '.$date->format('r')."\r\n". - 'From: '."\r\n". - 'MIME-Version: 1.0'."\r\n". - 'Content-Type: text/plain'."\r\n". - 'Content-Transfer-Encoding: quoted-printable'."\r\n", - $message->toString(), - '%s: Only required headers, and non-empty headers should be displayed' - ); - } - - public function testSubjectIsDisplayedIfSet() - { - $message = $this->createMessage(); - $message->setSubject('just a test subject'); - $id = $message->getId(); - $date = $message->getDate(); - $this->assertEquals( - 'Message-ID: <'.$id.'>'."\r\n". - 'Date: '.$date->format('r')."\r\n". - 'Subject: just a test subject'."\r\n". - 'From: '."\r\n". - 'MIME-Version: 1.0'."\r\n". - 'Content-Type: text/plain'."\r\n". - 'Content-Transfer-Encoding: quoted-printable'."\r\n", - $message->toString() - ); - } - - public function testDateCanBeSet() - { - $message = $this->createMessage(); - $message->setSubject('just a test subject'); - $id = $message->getId(); - $date = new DateTimeImmutable(); - $message->setDate($date); - $this->assertEquals( - 'Message-ID: <'.$id.'>'."\r\n". - 'Date: '.$date->format('r')."\r\n". - 'Subject: just a test subject'."\r\n". - 'From: '."\r\n". - 'MIME-Version: 1.0'."\r\n". - 'Content-Type: text/plain'."\r\n". - 'Content-Transfer-Encoding: quoted-printable'."\r\n", - $message->toString() - ); - } - - public function testMessageIdCanBeSet() - { - $message = $this->createMessage(); - $message->setSubject('just a test subject'); - $message->setId('foo@bar'); - $date = $message->getDate(); - $this->assertEquals( - 'Message-ID: '."\r\n". - 'Date: '.$date->format('r')."\r\n". - 'Subject: just a test subject'."\r\n". - 'From: '."\r\n". - 'MIME-Version: 1.0'."\r\n". - 'Content-Type: text/plain'."\r\n". - 'Content-Transfer-Encoding: quoted-printable'."\r\n", - $message->toString() - ); - } - - public function testContentTypeCanBeChanged() - { - $message = $this->createMessage(); - $message->setSubject('just a test subject'); - $message->setContentType('text/html'); - $id = $message->getId(); - $date = $message->getDate(); - $this->assertEquals( - 'Message-ID: <'.$id.'>'."\r\n". - 'Date: '.$date->format('r')."\r\n". - 'Subject: just a test subject'."\r\n". - 'From: '."\r\n". - 'MIME-Version: 1.0'."\r\n". - 'Content-Type: text/html'."\r\n". - 'Content-Transfer-Encoding: quoted-printable'."\r\n", - $message->toString() - ); - } - - public function testCharsetCanBeSet() - { - $message = $this->createMessage(); - $message->setSubject('just a test subject'); - $message->setContentType('text/html'); - $message->setCharset('iso-8859-1'); - $id = $message->getId(); - $date = $message->getDate(); - $this->assertEquals( - 'Message-ID: <'.$id.'>'."\r\n". - 'Date: '.$date->format('r')."\r\n". - 'Subject: just a test subject'."\r\n". - 'From: '."\r\n". - 'MIME-Version: 1.0'."\r\n". - 'Content-Type: text/html; charset=iso-8859-1'."\r\n". - 'Content-Transfer-Encoding: quoted-printable'."\r\n", - $message->toString() - ); - } - - public function testFormatCanBeSet() - { - $message = $this->createMessage(); - $message->setSubject('just a test subject'); - $message->setFormat('flowed'); - $id = $message->getId(); - $date = $message->getDate(); - $this->assertEquals( - 'Message-ID: <'.$id.'>'."\r\n". - 'Date: '.$date->format('r')."\r\n". - 'Subject: just a test subject'."\r\n". - 'From: '."\r\n". - 'MIME-Version: 1.0'."\r\n". - 'Content-Type: text/plain; format=flowed'."\r\n". - 'Content-Transfer-Encoding: quoted-printable'."\r\n", - $message->toString() - ); - } - - public function testEncoderCanBeSet() - { - $message = $this->createMessage(); - $message->setSubject('just a test subject'); - $message->setContentType('text/html'); - $message->setEncoder( - new Swift_Mime_ContentEncoder_PlainContentEncoder('7bit') - ); - $id = $message->getId(); - $date = $message->getDate(); - $this->assertEquals( - 'Message-ID: <'.$id.'>'."\r\n". - 'Date: '.$date->format('r')."\r\n". - 'Subject: just a test subject'."\r\n". - 'From: '."\r\n". - 'MIME-Version: 1.0'."\r\n". - 'Content-Type: text/html'."\r\n". - 'Content-Transfer-Encoding: 7bit'."\r\n", - $message->toString() - ); - } - - public function testFromAddressCanBeSet() - { - $message = $this->createMessage(); - $message->setSubject('just a test subject'); - $message->setFrom('chris.corbyn@swiftmailer.org'); - $id = $message->getId(); - $date = $message->getDate(); - $this->assertEquals( - 'Message-ID: <'.$id.'>'."\r\n". - 'Date: '.$date->format('r')."\r\n". - 'Subject: just a test subject'."\r\n". - 'From: chris.corbyn@swiftmailer.org'."\r\n". - 'MIME-Version: 1.0'."\r\n". - 'Content-Type: text/plain'."\r\n". - 'Content-Transfer-Encoding: quoted-printable'."\r\n", - $message->toString() - ); - } - - public function testFromAddressCanBeSetWithName() - { - $message = $this->createMessage(); - $message->setSubject('just a test subject'); - $message->setFrom(['chris.corbyn@swiftmailer.org' => 'Chris Corbyn']); - $id = $message->getId(); - $date = $message->getDate(); - $this->assertEquals( - 'Message-ID: <'.$id.'>'."\r\n". - 'Date: '.$date->format('r')."\r\n". - 'Subject: just a test subject'."\r\n". - 'From: Chris Corbyn '."\r\n". - 'MIME-Version: 1.0'."\r\n". - 'Content-Type: text/plain'."\r\n". - 'Content-Transfer-Encoding: quoted-printable'."\r\n", - $message->toString() - ); - } - - public function testMultipleFromAddressesCanBeSet() - { - $message = $this->createMessage(); - $message->setSubject('just a test subject'); - $message->setFrom([ - 'chris.corbyn@swiftmailer.org' => 'Chris Corbyn', - 'mark@swiftmailer.org', - ]); - $id = $message->getId(); - $date = $message->getDate(); - $this->assertEquals( - 'Message-ID: <'.$id.'>'."\r\n". - 'Date: '.$date->format('r')."\r\n". - 'Subject: just a test subject'."\r\n". - 'From: Chris Corbyn , mark@swiftmailer.org'."\r\n". - 'MIME-Version: 1.0'."\r\n". - 'Content-Type: text/plain'."\r\n". - 'Content-Transfer-Encoding: quoted-printable'."\r\n", - $message->toString() - ); - } - - public function testReturnPathAddressCanBeSet() - { - $message = $this->createMessage(); - $message->setReturnPath('chris@w3style.co.uk'); - $message->setSubject('just a test subject'); - $message->setFrom([ - 'chris.corbyn@swiftmailer.org' => 'Chris Corbyn', ]); - $id = $message->getId(); - $date = $message->getDate(); - $this->assertEquals( - 'Return-Path: '."\r\n". - 'Message-ID: <'.$id.'>'."\r\n". - 'Date: '.$date->format('r')."\r\n". - 'Subject: just a test subject'."\r\n". - 'From: Chris Corbyn '."\r\n". - 'MIME-Version: 1.0'."\r\n". - 'Content-Type: text/plain'."\r\n". - 'Content-Transfer-Encoding: quoted-printable'."\r\n", - $message->toString() - ); - } - - public function testEmptyReturnPathHeaderCanBeUsed() - { - $message = $this->createMessage(); - $message->setReturnPath(''); - $message->setSubject('just a test subject'); - $message->setFrom([ - 'chris.corbyn@swiftmailer.org' => 'Chris Corbyn', ]); - $id = $message->getId(); - $date = $message->getDate(); - $this->assertEquals( - 'Return-Path: <>'."\r\n". - 'Message-ID: <'.$id.'>'."\r\n". - 'Date: '.$date->format('r')."\r\n". - 'Subject: just a test subject'."\r\n". - 'From: Chris Corbyn '."\r\n". - 'MIME-Version: 1.0'."\r\n". - 'Content-Type: text/plain'."\r\n". - 'Content-Transfer-Encoding: quoted-printable'."\r\n", - $message->toString() - ); - } - - public function testSenderCanBeSet() - { - $message = $this->createMessage(); - $message->setSubject('just a test subject'); - $message->setSender('chris.corbyn@swiftmailer.org'); - $id = $message->getId(); - $date = $message->getDate(); - $this->assertEquals( - 'Sender: chris.corbyn@swiftmailer.org'."\r\n". - 'Message-ID: <'.$id.'>'."\r\n". - 'Date: '.$date->format('r')."\r\n". - 'Subject: just a test subject'."\r\n". - 'From: '."\r\n". - 'MIME-Version: 1.0'."\r\n". - 'Content-Type: text/plain'."\r\n". - 'Content-Transfer-Encoding: quoted-printable'."\r\n", - $message->toString() - ); - } - - public function testSenderCanBeSetWithName() - { - $message = $this->createMessage(); - $message->setSubject('just a test subject'); - $message->setSender(['chris.corbyn@swiftmailer.org' => 'Chris']); - $id = $message->getId(); - $date = $message->getDate(); - $this->assertEquals( - 'Sender: Chris '."\r\n". - 'Message-ID: <'.$id.'>'."\r\n". - 'Date: '.$date->format('r')."\r\n". - 'Subject: just a test subject'."\r\n". - 'From: '."\r\n". - 'MIME-Version: 1.0'."\r\n". - 'Content-Type: text/plain'."\r\n". - 'Content-Transfer-Encoding: quoted-printable'."\r\n", - $message->toString() - ); - } - - public function testReplyToCanBeSet() - { - $message = $this->createMessage(); - $message->setSubject('just a test subject'); - $message->setFrom(['chris.corbyn@swiftmailer.org' => 'Chris']); - $message->setReplyTo(['chris@w3style.co.uk' => 'Myself']); - $id = $message->getId(); - $date = $message->getDate(); - $this->assertEquals( - 'Message-ID: <'.$id.'>'."\r\n". - 'Date: '.$date->format('r')."\r\n". - 'Subject: just a test subject'."\r\n". - 'From: Chris '."\r\n". - 'Reply-To: Myself '."\r\n". - 'MIME-Version: 1.0'."\r\n". - 'Content-Type: text/plain'."\r\n". - 'Content-Transfer-Encoding: quoted-printable'."\r\n", - $message->toString() - ); - } - - public function testMultipleReplyAddressCanBeUsed() - { - $message = $this->createMessage(); - $message->setSubject('just a test subject'); - $message->setFrom(['chris.corbyn@swiftmailer.org' => 'Chris']); - $message->setReplyTo([ - 'chris@w3style.co.uk' => 'Myself', - 'my.other@address.com' => 'Me', - ]); - $id = $message->getId(); - $date = $message->getDate(); - $this->assertEquals( - 'Message-ID: <'.$id.'>'."\r\n". - 'Date: '.$date->format('r')."\r\n". - 'Subject: just a test subject'."\r\n". - 'From: Chris '."\r\n". - 'Reply-To: Myself , Me '."\r\n". - 'MIME-Version: 1.0'."\r\n". - 'Content-Type: text/plain'."\r\n". - 'Content-Transfer-Encoding: quoted-printable'."\r\n", - $message->toString() - ); - } - - public function testToAddressCanBeSet() - { - $message = $this->createMessage(); - $message->setSubject('just a test subject'); - $message->setFrom(['chris.corbyn@swiftmailer.org' => 'Chris']); - $message->setReplyTo([ - 'chris@w3style.co.uk' => 'Myself', - 'my.other@address.com' => 'Me', - ]); - $message->setTo('mark@swiftmailer.org'); - $id = $message->getId(); - $date = $message->getDate(); - $this->assertEquals( - 'Message-ID: <'.$id.'>'."\r\n". - 'Date: '.$date->format('r')."\r\n". - 'Subject: just a test subject'."\r\n". - 'From: Chris '."\r\n". - 'Reply-To: Myself , Me '."\r\n". - 'To: mark@swiftmailer.org'."\r\n". - 'MIME-Version: 1.0'."\r\n". - 'Content-Type: text/plain'."\r\n". - 'Content-Transfer-Encoding: quoted-printable'."\r\n", - $message->toString() - ); - } - - public function testMultipleToAddressesCanBeSet() - { - $message = $this->createMessage(); - $message->setSubject('just a test subject'); - $message->setFrom(['chris.corbyn@swiftmailer.org' => 'Chris']); - $message->setReplyTo([ - 'chris@w3style.co.uk' => 'Myself', - 'my.other@address.com' => 'Me', - ]); - $message->setTo([ - 'mark@swiftmailer.org', 'chris@swiftmailer.org' => 'Chris Corbyn', - ]); - $id = $message->getId(); - $date = $message->getDate(); - $this->assertEquals( - 'Message-ID: <'.$id.'>'."\r\n". - 'Date: '.$date->format('r')."\r\n". - 'Subject: just a test subject'."\r\n". - 'From: Chris '."\r\n". - 'Reply-To: Myself , Me '."\r\n". - 'To: mark@swiftmailer.org, Chris Corbyn '."\r\n". - 'MIME-Version: 1.0'."\r\n". - 'Content-Type: text/plain'."\r\n". - 'Content-Transfer-Encoding: quoted-printable'."\r\n", - $message->toString() - ); - } - - public function testCcAddressCanBeSet() - { - $message = $this->createMessage(); - $message->setSubject('just a test subject'); - $message->setFrom(['chris.corbyn@swiftmailer.org' => 'Chris']); - $message->setReplyTo([ - 'chris@w3style.co.uk' => 'Myself', - 'my.other@address.com' => 'Me', - ]); - $message->setTo([ - 'mark@swiftmailer.org', 'chris@swiftmailer.org' => 'Chris Corbyn', - ]); - $message->setCc('john@some-site.com'); - $id = $message->getId(); - $date = $message->getDate(); - $this->assertEquals( - 'Message-ID: <'.$id.'>'."\r\n". - 'Date: '.$date->format('r')."\r\n". - 'Subject: just a test subject'."\r\n". - 'From: Chris '."\r\n". - 'Reply-To: Myself , Me '."\r\n". - 'To: mark@swiftmailer.org, Chris Corbyn '."\r\n". - 'Cc: john@some-site.com'."\r\n". - 'MIME-Version: 1.0'."\r\n". - 'Content-Type: text/plain'."\r\n". - 'Content-Transfer-Encoding: quoted-printable'."\r\n", - $message->toString() - ); - } - - public function testMultipleCcAddressesCanBeSet() - { - $message = $this->createMessage(); - $message->setSubject('just a test subject'); - $message->setFrom(['chris.corbyn@swiftmailer.org' => 'Chris']); - $message->setReplyTo([ - 'chris@w3style.co.uk' => 'Myself', - 'my.other@address.com' => 'Me', - ]); - $message->setTo([ - 'mark@swiftmailer.org', 'chris@swiftmailer.org' => 'Chris Corbyn', - ]); - $message->setCc([ - 'john@some-site.com' => 'John West', - 'fred@another-site.co.uk' => 'Big Fred', - ]); - $id = $message->getId(); - $date = $message->getDate(); - $this->assertEquals( - 'Message-ID: <'.$id.'>'."\r\n". - 'Date: '.$date->format('r')."\r\n". - 'Subject: just a test subject'."\r\n". - 'From: Chris '."\r\n". - 'Reply-To: Myself , Me '."\r\n". - 'To: mark@swiftmailer.org, Chris Corbyn '."\r\n". - 'Cc: John West , Big Fred '."\r\n". - 'MIME-Version: 1.0'."\r\n". - 'Content-Type: text/plain'."\r\n". - 'Content-Transfer-Encoding: quoted-printable'."\r\n", - $message->toString() - ); - } - - public function testBccAddressCanBeSet() - { - //Obviously Transports need to setBcc(array()) and send to each Bcc recipient - // separately in accordance with RFC 2822/2821 - $message = $this->createMessage(); - $message->setSubject('just a test subject'); - $message->setFrom(['chris.corbyn@swiftmailer.org' => 'Chris']); - $message->setReplyTo([ - 'chris@w3style.co.uk' => 'Myself', - 'my.other@address.com' => 'Me', - ]); - $message->setTo([ - 'mark@swiftmailer.org', 'chris@swiftmailer.org' => 'Chris Corbyn', - ]); - $message->setCc([ - 'john@some-site.com' => 'John West', - 'fred@another-site.co.uk' => 'Big Fred', - ]); - $message->setBcc('x@alphabet.tld'); - $id = $message->getId(); - $date = $message->getDate(); - $this->assertEquals( - 'Message-ID: <'.$id.'>'."\r\n". - 'Date: '.$date->format('r')."\r\n". - 'Subject: just a test subject'."\r\n". - 'From: Chris '."\r\n". - 'Reply-To: Myself , Me '."\r\n". - 'To: mark@swiftmailer.org, Chris Corbyn '."\r\n". - 'Cc: John West , Big Fred '."\r\n". - 'Bcc: x@alphabet.tld'."\r\n". - 'MIME-Version: 1.0'."\r\n". - 'Content-Type: text/plain'."\r\n". - 'Content-Transfer-Encoding: quoted-printable'."\r\n", - $message->toString() - ); - } - - public function testMultipleBccAddressesCanBeSet() - { - //Obviously Transports need to setBcc(array()) and send to each Bcc recipient - // separately in accordance with RFC 2822/2821 - $message = $this->createMessage(); - $message->setSubject('just a test subject'); - $message->setFrom(['chris.corbyn@swiftmailer.org' => 'Chris']); - $message->setReplyTo([ - 'chris@w3style.co.uk' => 'Myself', - 'my.other@address.com' => 'Me', - ]); - $message->setTo([ - 'mark@swiftmailer.org', 'chris@swiftmailer.org' => 'Chris Corbyn', - ]); - $message->setCc([ - 'john@some-site.com' => 'John West', - 'fred@another-site.co.uk' => 'Big Fred', - ]); - $message->setBcc(['x@alphabet.tld', 'a@alphabet.tld' => 'A']); - $id = $message->getId(); - $date = $message->getDate(); - $this->assertEquals( - 'Message-ID: <'.$id.'>'."\r\n". - 'Date: '.$date->format('r')."\r\n". - 'Subject: just a test subject'."\r\n". - 'From: Chris '."\r\n". - 'Reply-To: Myself , Me '."\r\n". - 'To: mark@swiftmailer.org, Chris Corbyn '."\r\n". - 'Cc: John West , Big Fred '."\r\n". - 'Bcc: x@alphabet.tld, A '."\r\n". - 'MIME-Version: 1.0'."\r\n". - 'Content-Type: text/plain'."\r\n". - 'Content-Transfer-Encoding: quoted-printable'."\r\n", - $message->toString() - ); - } - - public function testStringBodyIsAppended() - { - $message = $this->createMessage(); - $message->setReturnPath('chris@w3style.co.uk'); - $message->setSubject('just a test subject'); - $message->setFrom([ - 'chris.corbyn@swiftmailer.org' => 'Chris Corbyn', ]); - $message->setBody( - 'just a test body'."\r\n". - 'with a new line' - ); - $id = $message->getId(); - $date = $message->getDate(); - $this->assertEquals( - 'Return-Path: '."\r\n". - 'Message-ID: <'.$id.'>'."\r\n". - 'Date: '.$date->format('r')."\r\n". - 'Subject: just a test subject'."\r\n". - 'From: Chris Corbyn '."\r\n". - 'MIME-Version: 1.0'."\r\n". - 'Content-Type: text/plain'."\r\n". - 'Content-Transfer-Encoding: quoted-printable'."\r\n". - "\r\n". - 'just a test body'."\r\n". - 'with a new line', - $message->toString() - ); - } - - public function testStringBodyIsEncoded() - { - $message = $this->createMessage(); - $message->setReturnPath('chris@w3style.co.uk'); - $message->setSubject('just a test subject'); - $message->setFrom([ - 'chris.corbyn@swiftmailer.org' => 'Chris Corbyn', ]); - $message->setBody( - 'Just s'.pack('C*', 0xC2, 0x01, 0x01).'me multi-'."\r\n". - 'line message!' - ); - $id = $message->getId(); - $date = $message->getDate(); - $this->assertEquals( - 'Return-Path: '."\r\n". - 'Message-ID: <'.$id.'>'."\r\n". - 'Date: '.$date->format('r')."\r\n". - 'Subject: just a test subject'."\r\n". - 'From: Chris Corbyn '."\r\n". - 'MIME-Version: 1.0'."\r\n". - 'Content-Type: text/plain'."\r\n". - 'Content-Transfer-Encoding: quoted-printable'."\r\n". - "\r\n". - 'Just s=C2=01=01me multi-'."\r\n". - 'line message!', - $message->toString() - ); - } - - public function testChildrenCanBeAttached() - { - $message = $this->createMessage(); - $message->setReturnPath('chris@w3style.co.uk'); - $message->setSubject('just a test subject'); - $message->setFrom([ - 'chris.corbyn@swiftmailer.org' => 'Chris Corbyn', ]); - - $id = $message->getId(); - $date = $message->getDate(); - $boundary = $message->getBoundary(); - - $part1 = $this->createMimePart(); - $part1->setContentType('text/plain'); - $part1->setCharset('iso-8859-1'); - $part1->setBody('foo'); - - $message->attach($part1); - - $part2 = $this->createMimePart(); - $part2->setContentType('text/html'); - $part2->setCharset('iso-8859-1'); - $part2->setBody('test foo'); - - $message->attach($part2); - - $this->assertEquals( - 'Return-Path: '."\r\n". - 'Message-ID: <'.$id.'>'."\r\n". - 'Date: '.$date->format('r')."\r\n". - 'Subject: just a test subject'."\r\n". - 'From: Chris Corbyn '."\r\n". - 'MIME-Version: 1.0'."\r\n". - 'Content-Type: multipart/alternative;'."\r\n". - ' boundary="'.$boundary.'"'."\r\n". - "\r\n\r\n". - '--'.$boundary."\r\n". - 'Content-Type: text/plain; charset=iso-8859-1'."\r\n". - 'Content-Transfer-Encoding: quoted-printable'."\r\n". - "\r\n". - 'foo'. - "\r\n\r\n". - '--'.$boundary."\r\n". - 'Content-Type: text/html; charset=iso-8859-1'."\r\n". - 'Content-Transfer-Encoding: quoted-printable'."\r\n". - "\r\n". - 'test foo'. - "\r\n\r\n". - '--'.$boundary.'--'."\r\n", - $message->toString() - ); - } - - public function testAttachmentsBeingAttached() - { - $message = $this->createMessage(); - $message->setReturnPath('chris@w3style.co.uk'); - $message->setSubject('just a test subject'); - $message->setFrom([ - 'chris.corbyn@swiftmailer.org' => 'Chris Corbyn', ]); - - $id = $message->getId(); - $date = preg_quote($message->getDate()->format('r'), '~'); - $boundary = $message->getBoundary(); - - $part = $this->createMimePart(); - $part->setContentType('text/plain'); - $part->setCharset('iso-8859-1'); - $part->setBody('foo'); - - $message->attach($part); - - $attachment = $this->createAttachment(); - $attachment->setContentType('application/pdf'); - $attachment->setFilename('foo.pdf'); - $attachment->setBody(''); - - $message->attach($attachment); - - $this->assertRegExp( - '~^'. - 'Return-Path: '."\r\n". - 'Message-ID: <'.$id.'>'."\r\n". - 'Date: '.$date."\r\n". - 'Subject: just a test subject'."\r\n". - 'From: Chris Corbyn '."\r\n". - 'MIME-Version: 1.0'."\r\n". - 'Content-Type: multipart/mixed;'."\r\n". - ' boundary="'.$boundary.'"'."\r\n". - "\r\n\r\n". - '--'.$boundary."\r\n". - 'Content-Type: multipart/alternative;'."\r\n". - ' boundary="(.*?)"'."\r\n". - "\r\n\r\n". - '--\\1'."\r\n". - 'Content-Type: text/plain; charset=iso-8859-1'."\r\n". - 'Content-Transfer-Encoding: quoted-printable'."\r\n". - "\r\n". - 'foo'. - "\r\n\r\n". - '--\\1--'."\r\n". - "\r\n\r\n". - '--'.$boundary."\r\n". - 'Content-Type: application/pdf; name=foo.pdf'."\r\n". - 'Content-Transfer-Encoding: base64'."\r\n". - 'Content-Disposition: attachment; filename=foo.pdf'."\r\n". - "\r\n". - preg_quote(base64_encode(''), '~'). - "\r\n\r\n". - '--'.$boundary.'--'."\r\n". - '$~D', - $message->toString() - ); - } - - public function testAttachmentsAndEmbeddedFilesBeingAttached() - { - $message = $this->createMessage(); - $message->setReturnPath('chris@w3style.co.uk'); - $message->setSubject('just a test subject'); - $message->setFrom([ - 'chris.corbyn@swiftmailer.org' => 'Chris Corbyn', ]); - - $id = $message->getId(); - $date = preg_quote($message->getDate()->format('r'), '~'); - $boundary = $message->getBoundary(); - - $part = $this->createMimePart(); - $part->setContentType('text/plain'); - $part->setCharset('iso-8859-1'); - $part->setBody('foo'); - - $message->attach($part); - - $attachment = $this->createAttachment(); - $attachment->setContentType('application/pdf'); - $attachment->setFilename('foo.pdf'); - $attachment->setBody(''); - - $message->attach($attachment); - - $file = $this->createEmbeddedFile(); - $file->setContentType('image/jpeg'); - $file->setFilename('myimage.jpg'); - $file->setBody(''); - - $message->attach($file); - - $cid = $file->getId(); - - $this->assertRegExp( - '~^'. - 'Return-Path: '."\r\n". - 'Message-ID: <'.$id.'>'."\r\n". - 'Date: '.$date."\r\n". - 'Subject: just a test subject'."\r\n". - 'From: Chris Corbyn '."\r\n". - 'MIME-Version: 1.0'."\r\n". - 'Content-Type: multipart/mixed;'."\r\n". - ' boundary="'.$boundary.'"'."\r\n". - "\r\n\r\n". - '--'.$boundary."\r\n". - 'Content-Type: multipart/alternative;'."\r\n". - ' boundary="(.*?)"'."\r\n". - "\r\n\r\n". - '--\\1'."\r\n". - 'Content-Type: text/plain; charset=iso-8859-1'."\r\n". - 'Content-Transfer-Encoding: quoted-printable'."\r\n". - "\r\n". - 'foo'. - - "\r\n\r\n". - '--\\1'."\r\n". - 'Content-Type: multipart/related;'."\r\n". - ' boundary="(.*?)"'."\r\n". - "\r\n\r\n". - '--\\2'."\r\n". - 'Content-Type: image/jpeg; name=myimage.jpg'."\r\n". - 'Content-Transfer-Encoding: base64'."\r\n". - 'Content-ID: <'.$cid.'>'."\r\n". - 'Content-Disposition: inline; filename=myimage.jpg'."\r\n". - "\r\n". - preg_quote(base64_encode(''), '~'). - "\r\n\r\n". - '--\\2--'."\r\n". - "\r\n\r\n". - '--\\1--'."\r\n". - "\r\n\r\n". - '--'.$boundary."\r\n". - 'Content-Type: application/pdf; name=foo.pdf'."\r\n". - 'Content-Transfer-Encoding: base64'."\r\n". - 'Content-Disposition: attachment; filename=foo.pdf'."\r\n". - "\r\n". - preg_quote(base64_encode(''), '~'). - "\r\n\r\n". - '--'.$boundary.'--'."\r\n". - '$~D', - $message->toString() - ); - } - - public function testComplexEmbeddingOfContent() - { - $message = $this->createMessage(); - $message->setReturnPath('chris@w3style.co.uk'); - $message->setSubject('just a test subject'); - $message->setFrom([ - 'chris.corbyn@swiftmailer.org' => 'Chris Corbyn', ]); - - $id = $message->getId(); - $date = preg_quote($message->getDate()->format('r'), '~'); - $boundary = $message->getBoundary(); - - $attachment = $this->createAttachment(); - $attachment->setContentType('application/pdf'); - $attachment->setFilename('foo.pdf'); - $attachment->setBody(''); - - $message->attach($attachment); - - $file = $this->createEmbeddedFile(); - $file->setContentType('image/jpeg'); - $file->setFilename('myimage.jpg'); - $file->setBody(''); - - $part = $this->createMimePart(); - $part->setContentType('text/html'); - $part->setCharset('iso-8859-1'); - $part->setBody('foo '); - - $message->attach($part); - - $cid = $file->getId(); - - $this->assertRegExp( - '~^'. - 'Return-Path: '."\r\n". - 'Message-ID: <'.$id.'>'."\r\n". - 'Date: '.$date."\r\n". - 'Subject: just a test subject'."\r\n". - 'From: Chris Corbyn '."\r\n". - 'MIME-Version: 1.0'."\r\n". - 'Content-Type: multipart/mixed;'."\r\n". - ' boundary="'.$boundary.'"'."\r\n". - "\r\n\r\n". - '--'.$boundary."\r\n". - 'Content-Type: multipart/related;'."\r\n". - ' boundary="(.*?)"'."\r\n". - "\r\n\r\n". - '--\\1'."\r\n". - 'Content-Type: text/html; charset=iso-8859-1'."\r\n". - 'Content-Transfer-Encoding: quoted-printable'."\r\n". - "\r\n". - 'foo './/=3D is just = in QP - "\r\n\r\n". - '--\\1'."\r\n". - 'Content-Type: image/jpeg; name=myimage.jpg'."\r\n". - 'Content-Transfer-Encoding: base64'."\r\n". - 'Content-ID: <'.$cid.'>'."\r\n". - 'Content-Disposition: inline; filename=myimage.jpg'."\r\n". - "\r\n". - preg_quote(base64_encode(''), '~'). - "\r\n\r\n". - '--\\1--'."\r\n". - "\r\n\r\n". - '--'.$boundary."\r\n". - 'Content-Type: application/pdf; name=foo.pdf'."\r\n". - 'Content-Transfer-Encoding: base64'."\r\n". - 'Content-Disposition: attachment; filename=foo.pdf'."\r\n". - "\r\n". - preg_quote(base64_encode(''), '~'). - "\r\n\r\n". - '--'.$boundary.'--'."\r\n". - '$~D', - $message->toString() - ); - } - - public function testAttachingAndDetachingContent() - { - $message = $this->createMessage(); - $message->setReturnPath('chris@w3style.co.uk'); - $message->setSubject('just a test subject'); - $message->setFrom([ - 'chris.corbyn@swiftmailer.org' => 'Chris Corbyn', ]); - - $id = $message->getId(); - $date = preg_quote($message->getDate()->format('r'), '~'); - $boundary = $message->getBoundary(); - - $part = $this->createMimePart(); - $part->setContentType('text/plain'); - $part->setCharset('iso-8859-1'); - $part->setBody('foo'); - - $message->attach($part); - - $attachment = $this->createAttachment(); - $attachment->setContentType('application/pdf'); - $attachment->setFilename('foo.pdf'); - $attachment->setBody(''); - - $message->attach($attachment); - - $file = $this->createEmbeddedFile(); - $file->setContentType('image/jpeg'); - $file->setFilename('myimage.jpg'); - $file->setBody(''); - - $message->attach($file); - - $cid = $file->getId(); - - $message->detach($attachment); - - $this->assertRegExp( - '~^'. - 'Return-Path: '."\r\n". - 'Message-ID: <'.$id.'>'."\r\n". - 'Date: '.$date."\r\n". - 'Subject: just a test subject'."\r\n". - 'From: Chris Corbyn '."\r\n". - 'MIME-Version: 1.0'."\r\n". - 'Content-Type: multipart/alternative;'."\r\n". - ' boundary="'.$boundary.'"'."\r\n". - "\r\n\r\n". - '--'.$boundary."\r\n". - 'Content-Type: text/plain; charset=iso-8859-1'."\r\n". - 'Content-Transfer-Encoding: quoted-printable'."\r\n". - "\r\n". - 'foo'. - "\r\n\r\n". - '--'.$boundary."\r\n". - 'Content-Type: multipart/related;'."\r\n". - ' boundary="(.*?)"'."\r\n". - "\r\n\r\n". - '--\\1'."\r\n". - 'Content-Type: image/jpeg; name=myimage.jpg'."\r\n". - 'Content-Transfer-Encoding: base64'."\r\n". - 'Content-ID: <'.$cid.'>'."\r\n". - 'Content-Disposition: inline; filename=myimage.jpg'."\r\n". - "\r\n". - preg_quote(base64_encode(''), '~'). - "\r\n\r\n". - '--\\1--'."\r\n". - "\r\n\r\n". - '--'.$boundary.'--'."\r\n". - '$~D', - $message->toString(), - '%s: Attachment should have been detached' - ); - } - - public function testBoundaryDoesNotAppearAfterAllPartsAreDetached() - { - $message = $this->createMessage(); - $message->setReturnPath('chris@w3style.co.uk'); - $message->setSubject('just a test subject'); - $message->setFrom([ - 'chris.corbyn@swiftmailer.org' => 'Chris Corbyn', ]); - - $id = $message->getId(); - $date = $message->getDate(); - $boundary = $message->getBoundary(); - - $part1 = $this->createMimePart(); - $part1->setContentType('text/plain'); - $part1->setCharset('iso-8859-1'); - $part1->setBody('foo'); - - $message->attach($part1); - - $part2 = $this->createMimePart(); - $part2->setContentType('text/html'); - $part2->setCharset('iso-8859-1'); - $part2->setBody('test foo'); - - $message->attach($part2); - - $message->detach($part1); - $message->detach($part2); - - $this->assertEquals( - 'Return-Path: '."\r\n". - 'Message-ID: <'.$id.'>'."\r\n". - 'Date: '.$date->format('r')."\r\n". - 'Subject: just a test subject'."\r\n". - 'From: Chris Corbyn '."\r\n". - 'MIME-Version: 1.0'."\r\n". - 'Content-Type: text/plain'."\r\n". - 'Content-Transfer-Encoding: quoted-printable'."\r\n", - $message->toString(), - '%s: Message should be restored to orignal state after parts are detached' - ); - } - - public function testCharsetFormatOrDelSpAreNotShownWhenBoundaryIsSet() - { - $message = $this->createMessage(); - $message->setReturnPath('chris@w3style.co.uk'); - $message->setSubject('just a test subject'); - $message->setFrom([ - 'chris.corbyn@swiftmailer.org' => 'Chris Corbyn', ]); - $message->setCharset('utf-8'); - $message->setFormat('flowed'); - $message->setDelSp(true); - - $id = $message->getId(); - $date = $message->getDate(); - $boundary = $message->getBoundary(); - - $part1 = $this->createMimePart(); - $part1->setContentType('text/plain'); - $part1->setCharset('iso-8859-1'); - $part1->setBody('foo'); - - $message->attach($part1); - - $part2 = $this->createMimePart(); - $part2->setContentType('text/html'); - $part2->setCharset('iso-8859-1'); - $part2->setBody('test foo'); - - $message->attach($part2); - - $this->assertEquals( - 'Return-Path: '."\r\n". - 'Message-ID: <'.$id.'>'."\r\n". - 'Date: '.$date->format('r')."\r\n". - 'Subject: just a test subject'."\r\n". - 'From: Chris Corbyn '."\r\n". - 'MIME-Version: 1.0'."\r\n". - 'Content-Type: multipart/alternative;'."\r\n". - ' boundary="'.$boundary.'"'."\r\n". - "\r\n\r\n". - '--'.$boundary."\r\n". - 'Content-Type: text/plain; charset=iso-8859-1'."\r\n". - 'Content-Transfer-Encoding: quoted-printable'."\r\n". - "\r\n". - 'foo'. - "\r\n\r\n". - '--'.$boundary."\r\n". - 'Content-Type: text/html; charset=iso-8859-1'."\r\n". - 'Content-Transfer-Encoding: quoted-printable'."\r\n". - "\r\n". - 'test foo'. - "\r\n\r\n". - '--'.$boundary.'--'."\r\n", - $message->toString() - ); - } - - public function testBodyCanBeSetWithAttachments() - { - $message = $this->createMessage(); - $message->setReturnPath('chris@w3style.co.uk'); - $message->setSubject('just a test subject'); - $message->setFrom([ - 'chris.corbyn@swiftmailer.org' => 'Chris Corbyn', ]); - $message->setContentType('text/html'); - $message->setCharset('iso-8859-1'); - $message->setBody('foo'); - - $id = $message->getId(); - $date = $message->getDate()->format('r'); - $boundary = $message->getBoundary(); - - $attachment = $this->createAttachment(); - $attachment->setContentType('application/pdf'); - $attachment->setFilename('foo.pdf'); - $attachment->setBody(''); - - $message->attach($attachment); - - $this->assertEquals( - 'Return-Path: '."\r\n". - 'Message-ID: <'.$id.'>'."\r\n". - 'Date: '.$date."\r\n". - 'Subject: just a test subject'."\r\n". - 'From: Chris Corbyn '."\r\n". - 'MIME-Version: 1.0'."\r\n". - 'Content-Type: multipart/mixed;'."\r\n". - ' boundary="'.$boundary.'"'."\r\n". - "\r\n\r\n". - '--'.$boundary."\r\n". - 'Content-Type: text/html; charset=iso-8859-1'."\r\n". - 'Content-Transfer-Encoding: quoted-printable'."\r\n". - "\r\n". - 'foo'. - "\r\n\r\n". - '--'.$boundary."\r\n". - 'Content-Type: application/pdf; name=foo.pdf'."\r\n". - 'Content-Transfer-Encoding: base64'."\r\n". - 'Content-Disposition: attachment; filename=foo.pdf'."\r\n". - "\r\n". - base64_encode(''). - "\r\n\r\n". - '--'.$boundary.'--'."\r\n", - $message->toString() - ); - } - - public function testHtmlPartAlwaysAppearsLast() - { - $message = $this->createMessage(); - $message->setReturnPath('chris@w3style.co.uk'); - $message->setSubject('just a test subject'); - $message->setFrom([ - 'chris.corbyn@swiftmailer.org' => 'Chris Corbyn', ]); - - $id = $message->getId(); - $date = $message->getDate()->format('r'); - $boundary = $message->getBoundary(); - - $part1 = $this->createMimePart(); - $part1->setContentType('text/html'); - $part1->setBody('foo'); - - $part2 = $this->createMimePart(); - $part2->setContentType('text/plain'); - $part2->setBody('bar'); - - $message->attach($part1); - $message->attach($part2); - - $this->assertEquals( - 'Return-Path: '."\r\n". - 'Message-ID: <'.$id.'>'."\r\n". - 'Date: '.$date."\r\n". - 'Subject: just a test subject'."\r\n". - 'From: Chris Corbyn '."\r\n". - 'MIME-Version: 1.0'."\r\n". - 'Content-Type: multipart/alternative;'."\r\n". - ' boundary="'.$boundary.'"'."\r\n". - "\r\n\r\n". - '--'.$boundary."\r\n". - 'Content-Type: text/plain'."\r\n". - 'Content-Transfer-Encoding: quoted-printable'."\r\n". - "\r\n". - 'bar'. - "\r\n\r\n". - '--'.$boundary."\r\n". - 'Content-Type: text/html'."\r\n". - 'Content-Transfer-Encoding: quoted-printable'."\r\n". - "\r\n". - 'foo'. - "\r\n\r\n". - '--'.$boundary.'--'."\r\n", - $message->toString() - ); - } - - public function testBodyBecomesPartIfOtherPartsAttached() - { - $message = $this->createMessage(); - $message->setReturnPath('chris@w3style.co.uk'); - $message->setSubject('just a test subject'); - $message->setFrom([ - 'chris.corbyn@swiftmailer.org' => 'Chris Corbyn', ]); - $message->setContentType('text/html'); - $message->setBody('foo'); - - $id = $message->getId(); - $date = $message->getDate()->format('r'); - $boundary = $message->getBoundary(); - - $part2 = $this->createMimePart(); - $part2->setContentType('text/plain'); - $part2->setBody('bar'); - - $message->attach($part2); - - $this->assertEquals( - 'Return-Path: '."\r\n". - 'Message-ID: <'.$id.'>'."\r\n". - 'Date: '.$date."\r\n". - 'Subject: just a test subject'."\r\n". - 'From: Chris Corbyn '."\r\n". - 'MIME-Version: 1.0'."\r\n". - 'Content-Type: multipart/alternative;'."\r\n". - ' boundary="'.$boundary.'"'."\r\n". - "\r\n\r\n". - '--'.$boundary."\r\n". - 'Content-Type: text/plain'."\r\n". - 'Content-Transfer-Encoding: quoted-printable'."\r\n". - "\r\n". - 'bar'. - "\r\n\r\n". - '--'.$boundary."\r\n". - 'Content-Type: text/html'."\r\n". - 'Content-Transfer-Encoding: quoted-printable'."\r\n". - "\r\n". - 'foo'. - "\r\n\r\n". - '--'.$boundary.'--'."\r\n", - $message->toString() - ); - } - - public function testBodyIsCanonicalized() - { - $message = $this->createMessage(); - $message->setReturnPath('chris@w3style.co.uk'); - $message->setSubject('just a test subject'); - $message->setFrom([ - 'chris.corbyn@swiftmailer.org' => 'Chris Corbyn', ]); - $message->setBody( - 'just a test body'."\n". - 'with a new line' - ); - $id = $message->getId(); - $date = $message->getDate(); - $this->assertEquals( - 'Return-Path: '."\r\n". - 'Message-ID: <'.$id.'>'."\r\n". - 'Date: '.$date->format('r')."\r\n". - 'Subject: just a test subject'."\r\n". - 'From: Chris Corbyn '."\r\n". - 'MIME-Version: 1.0'."\r\n". - 'Content-Type: text/plain'."\r\n". - 'Content-Transfer-Encoding: quoted-printable'."\r\n". - "\r\n". - 'just a test body'."\r\n". - 'with a new line', - $message->toString() - ); - } - - protected function createMessage() - { - return new Swift_Message(); - } - - protected function createMimePart() - { - return new Swift_MimePart(); - } - - protected function createAttachment() - { - return new Swift_Attachment(); - } - - protected function createEmbeddedFile() - { - return new Swift_EmbeddedFile(); - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/MimePartAcceptanceTest.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/MimePartAcceptanceTest.php deleted file mode 100644 index 581afc7db7..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/MimePartAcceptanceTest.php +++ /dev/null @@ -1,15 +0,0 @@ -register('properties.charset')->asValue(null); - - return new Swift_MimePart(); - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Transport/StreamBuffer/AbstractStreamBufferAcceptanceTest.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Transport/StreamBuffer/AbstractStreamBufferAcceptanceTest.php deleted file mode 100644 index 9bc09f88ad..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Transport/StreamBuffer/AbstractStreamBufferAcceptanceTest.php +++ /dev/null @@ -1,131 +0,0 @@ -markTestSkipped( - 'Will fail on travis-ci if not skipped due to travis blocking '. - 'socket mailing tcp connections.' - ); - } - - $this->buffer = new Swift_Transport_StreamBuffer( - $this->getMockBuilder('Swift_ReplacementFilterFactory')->getMock() - ); - } - - public function testReadLine() - { - $this->initializeBuffer(); - - $line = $this->buffer->readLine(0); - $this->assertRegExp('/^[0-9]{3}.*?\r\n$/D', $line); - $seq = $this->buffer->write("QUIT\r\n"); - $this->assertTrue((bool) $seq); - $line = $this->buffer->readLine($seq); - $this->assertRegExp('/^[0-9]{3}.*?\r\n$/D', $line); - $this->buffer->terminate(); - } - - public function testWrite() - { - $this->initializeBuffer(); - - $line = $this->buffer->readLine(0); - $this->assertRegExp('/^[0-9]{3}.*?\r\n$/D', $line); - - $seq = $this->buffer->write("HELO foo\r\n"); - $this->assertTrue((bool) $seq); - $line = $this->buffer->readLine($seq); - $this->assertRegExp('/^[0-9]{3}.*?\r\n$/D', $line); - - $seq = $this->buffer->write("QUIT\r\n"); - $this->assertTrue((bool) $seq); - $line = $this->buffer->readLine($seq); - $this->assertRegExp('/^[0-9]{3}.*?\r\n$/D', $line); - $this->buffer->terminate(); - } - - public function testBindingOtherStreamsMirrorsWriteOperations() - { - $this->initializeBuffer(); - - $is1 = $this->createMockInputStream(); - $is2 = $this->createMockInputStream(); - - $is1->expects($this->at(0)) - ->method('write') - ->with('x'); - $is1->expects($this->at(1)) - ->method('write') - ->with('y'); - $is2->expects($this->at(0)) - ->method('write') - ->with('x'); - $is2->expects($this->at(1)) - ->method('write') - ->with('y'); - - $this->buffer->bind($is1); - $this->buffer->bind($is2); - - $this->buffer->write('x'); - $this->buffer->write('y'); - } - - public function testBindingOtherStreamsMirrorsFlushOperations() - { - $this->initializeBuffer(); - - $is1 = $this->createMockInputStream(); - $is2 = $this->createMockInputStream(); - - $is1->expects($this->once()) - ->method('flushBuffers'); - $is2->expects($this->once()) - ->method('flushBuffers'); - - $this->buffer->bind($is1); - $this->buffer->bind($is2); - - $this->buffer->flushBuffers(); - } - - public function testUnbindingStreamPreventsFurtherWrites() - { - $this->initializeBuffer(); - - $is1 = $this->createMockInputStream(); - $is2 = $this->createMockInputStream(); - - $is1->expects($this->at(0)) - ->method('write') - ->with('x'); - $is1->expects($this->at(1)) - ->method('write') - ->with('y'); - $is2->expects($this->once()) - ->method('write') - ->with('x'); - - $this->buffer->bind($is1); - $this->buffer->bind($is2); - - $this->buffer->write('x'); - - $this->buffer->unbind($is2); - - $this->buffer->write('y'); - } - - private function createMockInputStream() - { - return $this->getMockBuilder('Swift_InputByteStream')->getMock(); - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Transport/StreamBuffer/BasicSocketAcceptanceTest.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Transport/StreamBuffer/BasicSocketAcceptanceTest.php deleted file mode 100644 index 739a7ece40..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Transport/StreamBuffer/BasicSocketAcceptanceTest.php +++ /dev/null @@ -1,33 +0,0 @@ -markTestSkipped( - 'Cannot run test without an SMTP host to connect to (define '. - 'SWIFT_SMTP_HOST in tests/acceptance.conf.php if you wish to run this test)' - ); - } - parent::setUp(); - } - - protected function initializeBuffer() - { - $parts = explode(':', SWIFT_SMTP_HOST); - $host = $parts[0]; - $port = $parts[1] ?? 25; - - $this->buffer->initialize([ - 'type' => Swift_Transport_IoBuffer::TYPE_SOCKET, - 'host' => $host, - 'port' => $port, - 'protocol' => 'tcp', - 'blocking' => 1, - 'timeout' => 15, - ]); - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Transport/StreamBuffer/ProcessAcceptanceTest.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Transport/StreamBuffer/ProcessAcceptanceTest.php deleted file mode 100644 index 34ef3cbe48..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Transport/StreamBuffer/ProcessAcceptanceTest.php +++ /dev/null @@ -1,26 +0,0 @@ -markTestSkipped( - 'Cannot run test without a path to sendmail (define '. - 'SWIFT_SENDMAIL_PATH in tests/acceptance.conf.php if you wish to run this test)' - ); - } - - parent::setUp(); - } - - protected function initializeBuffer() - { - $this->buffer->initialize([ - 'type' => Swift_Transport_IoBuffer::TYPE_PROCESS, - 'command' => SWIFT_SENDMAIL_PATH.' -bs', - ]); - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Transport/StreamBuffer/SocketTimeoutTest.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Transport/StreamBuffer/SocketTimeoutTest.php deleted file mode 100644 index 67073f895e..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Transport/StreamBuffer/SocketTimeoutTest.php +++ /dev/null @@ -1,65 +0,0 @@ -markTestSkipped( - 'Cannot run test without an SMTP host to connect to (define '. - 'SWIFT_SMTP_HOST in tests/acceptance.conf.php if you wish to run this test)' - ); - } - - $serverStarted = false; - for ($i = 0; $i < 5; ++$i) { - $this->randomHighPort = random_int(50000, 65000); - $this->server = stream_socket_server('tcp://127.0.0.1:'.$this->randomHighPort); - if ($this->server) { - $serverStarted = true; - } - } - - $this->buffer = new Swift_Transport_StreamBuffer( - $this->getMockBuilder('Swift_ReplacementFilterFactory')->getMock() - ); - } - - protected function initializeBuffer() - { - $host = '127.0.0.1'; - $port = $this->randomHighPort; - - $this->buffer->initialize([ - 'type' => Swift_Transport_IoBuffer::TYPE_SOCKET, - 'host' => $host, - 'port' => $port, - 'protocol' => 'tcp', - 'blocking' => 1, - 'timeout' => 1, - ]); - } - - public function testTimeoutException() - { - $this->initializeBuffer(); - $e = null; - try { - $line = $this->buffer->readLine(0); - } catch (Exception $e) { - } - $this->assertInstanceOf('Swift_IoException', $e, 'IO Exception Not Thrown On Connection Timeout'); - $this->assertRegExp('/Connection to .* Timed Out/', $e->getMessage()); - } - - protected function tearDown() - { - if ($this->server) { - stream_socket_shutdown($this->server, STREAM_SHUT_RDWR); - } - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Transport/StreamBuffer/SslSocketAcceptanceTest.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Transport/StreamBuffer/SslSocketAcceptanceTest.php deleted file mode 100644 index e3bee2c8c7..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Transport/StreamBuffer/SslSocketAcceptanceTest.php +++ /dev/null @@ -1,40 +0,0 @@ -markTestSkipped( - 'SSL is not configured for your system. It is not possible to run this test' - ); - } - if (!defined('SWIFT_SSL_HOST')) { - $this->markTestSkipped( - 'Cannot run test without an SSL enabled SMTP host to connect to (define '. - 'SWIFT_SSL_HOST in tests/acceptance.conf.php if you wish to run this test)' - ); - } - - parent::setUp(); - } - - protected function initializeBuffer() - { - $parts = explode(':', SWIFT_SSL_HOST); - $host = $parts[0]; - $port = $parts[1] ?? 25; - - $this->buffer->initialize([ - 'type' => Swift_Transport_IoBuffer::TYPE_SOCKET, - 'host' => $host, - 'port' => $port, - 'protocol' => 'ssl', - 'blocking' => 1, - 'timeout' => 15, - ]); - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Transport/StreamBuffer/TlsSocketAcceptanceTest.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Transport/StreamBuffer/TlsSocketAcceptanceTest.php deleted file mode 100644 index a5092a249b..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Transport/StreamBuffer/TlsSocketAcceptanceTest.php +++ /dev/null @@ -1,39 +0,0 @@ -markTestSkipped( - 'TLS is not configured for your system. It is not possible to run this test' - ); - } - if (!defined('SWIFT_TLS_HOST')) { - $this->markTestSkipped( - 'Cannot run test without a TLS enabled SMTP host to connect to (define '. - 'SWIFT_TLS_HOST in tests/acceptance.conf.php if you wish to run this test)' - ); - } - parent::setUp(); - } - - protected function initializeBuffer() - { - $parts = explode(':', SWIFT_TLS_HOST); - $host = $parts[0]; - $port = $parts[1] ?? 25; - - $this->buffer->initialize([ - 'type' => Swift_Transport_IoBuffer::TYPE_SOCKET, - 'host' => $host, - 'port' => $port, - 'protocol' => 'tls', - 'blocking' => 1, - 'timeout' => 15, - ]); - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/bootstrap.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/bootstrap.php deleted file mode 100644 index 27091a28e0..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/bootstrap.php +++ /dev/null @@ -1,21 +0,0 @@ -allowMockingNonExistentMethods(true); - -if (is_file(__DIR__.'/acceptance.conf.php')) { - require_once __DIR__.'/acceptance.conf.php'; -} -if (is_file(__DIR__.'/smoke.conf.php')) { - require_once __DIR__.'/smoke.conf.php'; -} -require_once __DIR__.'/StreamCollector.php'; -require_once __DIR__.'/IdenticalBinaryConstraint.php'; -require_once __DIR__.'/SwiftMailerTestCase.php'; -require_once __DIR__.'/SwiftMailerSmokeTestCase.php'; diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/bug/Swift/Bug111Test.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/bug/Swift/Bug111Test.php deleted file mode 100644 index e9085a99fe..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/bug/Swift/Bug111Test.php +++ /dev/null @@ -1,42 +0,0 @@ - [ - 'email1@example.com', - 'email2@example.com', - 'email3@example.com', - 'email4@example.com', - 'email5@example.com', - ], - 'sub' => [ - '-name-' => [ - 'email1', - '"email2"', - 'email3\\', - 'email4', - 'email5', - ], - '-url-' => [ - 'http://google.com', - 'http://yahoo.com', - 'http://hotmail.com', - 'http://aol.com', - 'http://facebook.com', - ], - ], - ]; - $json = json_encode($complicated_header); - - $message = new Swift_Message(); - $headers = $message->getHeaders(); - $headers->addTextHeader('X-SMTPAPI', $json); - $header = $headers->get('X-SMTPAPI'); - - $this->assertEquals('Swift_Mime_Headers_UnstructuredHeader', get_class($header)); - $this->assertEquals($json, $header->getFieldBody()); - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/bug/Swift/Bug118Test.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/bug/Swift/Bug118Test.php deleted file mode 100644 index 34aa13635e..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/bug/Swift/Bug118Test.php +++ /dev/null @@ -1,20 +0,0 @@ -message = new Swift_Message(); - } - - public function testCallingGenerateIdChangesTheMessageId() - { - $currentId = $this->message->getId(); - $this->message->generateId(); - $newId = $this->message->getId(); - - $this->assertNotEquals($currentId, $newId); - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/bug/Swift/Bug206Test.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/bug/Swift/Bug206Test.php deleted file mode 100644 index 67c95510d9..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/bug/Swift/Bug206Test.php +++ /dev/null @@ -1,40 +0,0 @@ -factory = new Swift_Mime_SimpleHeaderFactory($headerEncoder, $paramEncoder, $emailValidator); - } - - public function testMailboxHeaderEncoding() - { - $this->doTestHeaderIsFullyEncoded('email@example.org', 'Family Name, Name', ' "Family Name, Name" '); - $this->doTestHeaderIsFullyEncoded('email@example.org', 'Family Namé, Name', ' Family =?utf-8?Q?Nam=C3=A9=2C?= Name'); - $this->doTestHeaderIsFullyEncoded('email@example.org', 'Family Namé , Name', ' Family =?utf-8?Q?Nam=C3=A9_=2C?= Name'); - $this->doTestHeaderIsFullyEncoded('email@example.org', 'Family Namé ;Name', ' Family =?utf-8?Q?Nam=C3=A9_=3BName?= '); - } - - private function doTestHeaderIsFullyEncoded($email, $name, $expected) - { - $mailboxHeader = $this->factory->createMailboxHeader('To', [ - $email => $name, - ]); - - $headerBody = substr($mailboxHeader->toString(), 3, strlen($expected)); - - $this->assertEquals($expected, $headerBody); - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/bug/Swift/Bug274Test.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/bug/Swift/Bug274Test.php deleted file mode 100644 index ddf6ca13d6..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/bug/Swift/Bug274Test.php +++ /dev/null @@ -1,25 +0,0 @@ -attach(Swift_Attachment::fromPath('')); - } - - public function testNonEmptyFileNameAsAttachment() - { - $message = new Swift_Message(); - try { - $message->attach(Swift_Attachment::fromPath(__FILE__)); - } catch (Exception $e) { - $this->fail('Path should not be empty'); - } - $this->addToAssertionCount(1); - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/bug/Swift/Bug34Test.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/bug/Swift/Bug34Test.php deleted file mode 100644 index 0c8dd17553..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/bug/Swift/Bug34Test.php +++ /dev/null @@ -1,75 +0,0 @@ -setCharset('utf-8'); - } - - public function testEmbeddedFilesWithMultipartDataCreateMultipartRelatedContentAsAnAlternative() - { - $message = new Swift_Message(); - $message->setCharset('utf-8'); - $message->setSubject('test subject'); - $message->addPart('plain part', 'text/plain'); - - $image = new Swift_Image('', 'image.gif', 'image/gif'); - $cid = $message->embed($image); - - $message->setBody('', 'text/html'); - - $message->setTo(['user@domain.tld' => 'User']); - - $message->setFrom(['other@domain.tld' => 'Other']); - $message->setSender(['other@domain.tld' => 'Other']); - - $id = $message->getId(); - $date = preg_quote($message->getDate()->format('r'), '~'); - $boundary = $message->getBoundary(); - $cidVal = $image->getId(); - - $this->assertRegExp( - '~^'. - 'Sender: Other '."\r\n". - 'Message-ID: <'.$id.'>'."\r\n". - 'Date: '.$date."\r\n". - 'Subject: test subject'."\r\n". - 'From: Other '."\r\n". - 'To: User '."\r\n". - 'MIME-Version: 1.0'."\r\n". - 'Content-Type: multipart/alternative;'."\r\n". - ' boundary="'.$boundary.'"'."\r\n". - "\r\n\r\n". - '--'.$boundary."\r\n". - 'Content-Type: text/plain; charset=utf-8'."\r\n". - 'Content-Transfer-Encoding: quoted-printable'."\r\n". - "\r\n". - 'plain part'. - "\r\n\r\n". - '--'.$boundary."\r\n". - 'Content-Type: multipart/related;'."\r\n". - ' boundary="(.*?)"'."\r\n". - "\r\n\r\n". - '--\\1'."\r\n". - 'Content-Type: text/html; charset=utf-8'."\r\n". - 'Content-Transfer-Encoding: quoted-printable'."\r\n". - "\r\n". - ''. - "\r\n\r\n". - '--\\1'."\r\n". - 'Content-Type: image/gif; name=image.gif'."\r\n". - 'Content-Transfer-Encoding: base64'."\r\n". - 'Content-ID: <'.$cidVal.'>'."\r\n". - 'Content-Disposition: inline; filename=image.gif'."\r\n". - "\r\n". - preg_quote(base64_encode(''), '~'). - "\r\n\r\n". - '--\\1--'."\r\n". - "\r\n\r\n". - '--'.$boundary.'--'."\r\n". - '$~D', - $message->toString() - ); - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/bug/Swift/Bug35Test.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/bug/Swift/Bug35Test.php deleted file mode 100644 index 66644e93e1..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/bug/Swift/Bug35Test.php +++ /dev/null @@ -1,73 +0,0 @@ -setCharset('utf-8'); - } - - public function testHTMLPartAppearsLastEvenWhenAttachmentsAdded() - { - $message = new Swift_Message(); - $message->setCharset('utf-8'); - $message->setSubject('test subject'); - $message->addPart('plain part', 'text/plain'); - - $attachment = new Swift_Attachment('', 'image.gif', 'image/gif'); - $message->attach($attachment); - - $message->setBody('HTML part', 'text/html'); - - $message->setTo(['user@domain.tld' => 'User']); - - $message->setFrom(['other@domain.tld' => 'Other']); - $message->setSender(['other@domain.tld' => 'Other']); - - $id = $message->getId(); - $date = preg_quote($message->getDate()->format('r'), '~'); - $boundary = $message->getBoundary(); - - $this->assertRegExp( - '~^'. - 'Sender: Other '."\r\n". - 'Message-ID: <'.$id.'>'."\r\n". - 'Date: '.$date."\r\n". - 'Subject: test subject'."\r\n". - 'From: Other '."\r\n". - 'To: User '."\r\n". - 'MIME-Version: 1.0'."\r\n". - 'Content-Type: multipart/mixed;'."\r\n". - ' boundary="'.$boundary.'"'."\r\n". - "\r\n\r\n". - '--'.$boundary."\r\n". - 'Content-Type: multipart/alternative;'."\r\n". - ' boundary="(.*?)"'."\r\n". - "\r\n\r\n". - '--\\1'."\r\n". - 'Content-Type: text/plain; charset=utf-8'."\r\n". - 'Content-Transfer-Encoding: quoted-printable'."\r\n". - "\r\n". - 'plain part'. - "\r\n\r\n". - '--\\1'."\r\n". - 'Content-Type: text/html; charset=utf-8'."\r\n". - 'Content-Transfer-Encoding: quoted-printable'."\r\n". - "\r\n". - 'HTML part'. - "\r\n\r\n". - '--\\1--'."\r\n". - "\r\n\r\n". - '--'.$boundary."\r\n". - 'Content-Type: image/gif; name=image.gif'."\r\n". - 'Content-Transfer-Encoding: base64'."\r\n". - 'Content-Disposition: attachment; filename=image.gif'."\r\n". - "\r\n". - preg_quote(base64_encode(''), '~'). - "\r\n\r\n". - '--'.$boundary.'--'."\r\n". - '$~D', - $message->toString() - ); - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/bug/Swift/Bug38Test.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/bug/Swift/Bug38Test.php deleted file mode 100644 index 472c8058e0..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/bug/Swift/Bug38Test.php +++ /dev/null @@ -1,192 +0,0 @@ -attFileName = 'data.txt'; - $this->attFileType = 'text/plain'; - $this->attFile = __DIR__.'/../../_samples/files/data.txt'; - Swift_Preferences::getInstance()->setCharset('utf-8'); - } - - public function testWritingMessageToByteStreamProducesCorrectStructure() - { - $message = new Swift_Message(); - $message->setSubject('test subject'); - $message->setTo('user@domain.tld'); - $message->setCc('other@domain.tld'); - $message->setFrom('user@domain.tld'); - - $image = new Swift_Image('', 'image.gif', 'image/gif'); - - $cid = $message->embed($image); - $message->setBody('HTML part', 'text/html'); - - $id = $message->getId(); - $date = preg_quote($message->getDate()->format('r'), '~'); - $boundary = $message->getBoundary(); - $imgId = $image->getId(); - - $stream = new Swift_ByteStream_ArrayByteStream(); - - $message->toByteStream($stream); - - $this->assertPatternInStream( - '~^'. - 'Message-ID: <'.$id.'>'."\r\n". - 'Date: '.$date."\r\n". - 'Subject: test subject'."\r\n". - 'From: user@domain.tld'."\r\n". - 'To: user@domain.tld'."\r\n". - 'Cc: other@domain.tld'."\r\n". - 'MIME-Version: 1.0'."\r\n". - 'Content-Type: multipart/related;'."\r\n". - ' boundary="'.$boundary.'"'."\r\n". - "\r\n\r\n". - '--'.$boundary."\r\n". - 'Content-Type: text/html; charset=utf-8'."\r\n". - 'Content-Transfer-Encoding: quoted-printable'."\r\n". - "\r\n". - 'HTML part'. - "\r\n\r\n". - '--'.$boundary."\r\n". - 'Content-Type: image/gif; name=image.gif'."\r\n". - 'Content-Transfer-Encoding: base64'."\r\n". - 'Content-ID: <'.preg_quote($imgId, '~').'>'."\r\n". - 'Content-Disposition: inline; filename=image.gif'."\r\n". - "\r\n". - preg_quote(base64_encode(''), '~'). - "\r\n\r\n". - '--'.$boundary.'--'."\r\n". - '$~D', - $stream - ); - } - - public function testWritingMessageToByteStreamTwiceProducesCorrectStructure() - { - $message = new Swift_Message(); - $message->setSubject('test subject'); - $message->setTo('user@domain.tld'); - $message->setCc('other@domain.tld'); - $message->setFrom('user@domain.tld'); - - $image = new Swift_Image('', 'image.gif', 'image/gif'); - - $cid = $message->embed($image); - $message->setBody('HTML part', 'text/html'); - - $id = $message->getId(); - $date = preg_quote($message->getDate()->format('r'), '~'); - $boundary = $message->getBoundary(); - $imgId = $image->getId(); - - $pattern = '~^'. - 'Message-ID: <'.$id.'>'."\r\n". - 'Date: '.$date."\r\n". - 'Subject: test subject'."\r\n". - 'From: user@domain.tld'."\r\n". - 'To: user@domain.tld'."\r\n". - 'Cc: other@domain.tld'."\r\n". - 'MIME-Version: 1.0'."\r\n". - 'Content-Type: multipart/related;'."\r\n". - ' boundary="'.$boundary.'"'."\r\n". - "\r\n\r\n". - '--'.$boundary."\r\n". - 'Content-Type: text/html; charset=utf-8'."\r\n". - 'Content-Transfer-Encoding: quoted-printable'."\r\n". - "\r\n". - 'HTML part'. - "\r\n\r\n". - '--'.$boundary."\r\n". - 'Content-Type: image/gif; name=image.gif'."\r\n". - 'Content-Transfer-Encoding: base64'."\r\n". - 'Content-ID: <'.preg_quote($imgId, '~').'>'."\r\n". - 'Content-Disposition: inline; filename=image.gif'."\r\n". - "\r\n". - preg_quote(base64_encode(''), '~'). - "\r\n\r\n". - '--'.$boundary.'--'."\r\n". - '$~D' - ; - - $streamA = new Swift_ByteStream_ArrayByteStream(); - $streamB = new Swift_ByteStream_ArrayByteStream(); - - $message->toByteStream($streamA); - $message->toByteStream($streamB); - - $this->assertPatternInStream($pattern, $streamA); - $this->assertPatternInStream($pattern, $streamB); - } - - public function testWritingMessageToByteStreamTwiceUsingAFileAttachment() - { - $message = new Swift_Message(); - $message->setSubject('test subject'); - $message->setTo('user@domain.tld'); - $message->setCc('other@domain.tld'); - $message->setFrom('user@domain.tld'); - - $attachment = Swift_Attachment::fromPath($this->attFile); - - $message->attach($attachment); - - $message->setBody('HTML part', 'text/html'); - - $id = $message->getId(); - $date = preg_quote($message->getDate()->format('r'), '~'); - $boundary = $message->getBoundary(); - - $streamA = new Swift_ByteStream_ArrayByteStream(); - $streamB = new Swift_ByteStream_ArrayByteStream(); - - $pattern = '~^'. - 'Message-ID: <'.$id.'>'."\r\n". - 'Date: '.$date."\r\n". - 'Subject: test subject'."\r\n". - 'From: user@domain.tld'."\r\n". - 'To: user@domain.tld'."\r\n". - 'Cc: other@domain.tld'."\r\n". - 'MIME-Version: 1.0'."\r\n". - 'Content-Type: multipart/mixed;'."\r\n". - ' boundary="'.$boundary.'"'."\r\n". - "\r\n\r\n". - '--'.$boundary."\r\n". - 'Content-Type: text/html; charset=utf-8'."\r\n". - 'Content-Transfer-Encoding: quoted-printable'."\r\n". - "\r\n". - 'HTML part'. - "\r\n\r\n". - '--'.$boundary."\r\n". - 'Content-Type: '.$this->attFileType.'; name='.$this->attFileName."\r\n". - 'Content-Transfer-Encoding: base64'."\r\n". - 'Content-Disposition: attachment; filename='.$this->attFileName."\r\n". - "\r\n". - preg_quote(base64_encode(file_get_contents($this->attFile)), '~'). - "\r\n\r\n". - '--'.$boundary.'--'."\r\n". - '$~D' - ; - - $message->toByteStream($streamA); - $message->toByteStream($streamB); - - $this->assertPatternInStream($pattern, $streamA); - $this->assertPatternInStream($pattern, $streamB); - } - - public function assertPatternInStream($pattern, $stream, $message = '%s') - { - $string = ''; - while (false !== $bytes = $stream->read(8192)) { - $string .= $bytes; - } - $this->assertRegExp($pattern, $string, $message); - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/bug/Swift/Bug518Test.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/bug/Swift/Bug518Test.php deleted file mode 100644 index e4d1d7c047..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/bug/Swift/Bug518Test.php +++ /dev/null @@ -1,38 +0,0 @@ -setTo('foo@bar.com'); - - $that = $this; - $messageValidation = function ($m) use ($that) { - //the getTo should return the same value as we put in - $that->assertEquals('foo@bar.com', key($m->getTo()), 'The message has changed after it was put to the memory queue'); - - return true; - }; - - $transport = m::mock('Swift_Transport'); - $transport->shouldReceive('isStarted')->andReturn(true); - $transport->shouldReceive('send') - ->with(m::on($messageValidation), $failedRecipients) - ->andReturn(1); - - $memorySpool = new Swift_MemorySpool(); - $memorySpool->queueMessage($message); - - /* - * The message is queued in memory. - * Lets change the message - */ - $message->setTo('other@value.com'); - - $memorySpool->flushQueue($transport, $failedRecipients); - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/bug/Swift/Bug51Test.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/bug/Swift/Bug51Test.php deleted file mode 100644 index fdeb89b967..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/bug/Swift/Bug51Test.php +++ /dev/null @@ -1,110 +0,0 @@ -attachmentFile = sys_get_temp_dir().'/attach.rand.bin'; - file_put_contents($this->attachmentFile, ''); - - $this->outputFile = sys_get_temp_dir().'/attach.out.bin'; - file_put_contents($this->outputFile, ''); - } - - protected function tearDown() - { - unlink($this->attachmentFile); - unlink($this->outputFile); - } - - public function testAttachmentsDoNotGetTruncatedUsingToByteStream() - { - //Run 100 times with 10KB attachments - for ($i = 0; $i < 10; ++$i) { - $message = $this->createMessageWithRandomAttachment( - 10000, $this->attachmentFile - ); - - file_put_contents($this->outputFile, ''); - $message->toByteStream( - new Swift_ByteStream_FileByteStream($this->outputFile, true) - ); - - $emailSource = file_get_contents($this->outputFile); - - $this->assertAttachmentFromSourceMatches( - file_get_contents($this->attachmentFile), - $emailSource - ); - } - } - - public function testAttachmentsDoNotGetTruncatedUsingToString() - { - //Run 100 times with 10KB attachments - for ($i = 0; $i < 10; ++$i) { - $message = $this->createMessageWithRandomAttachment( - 10000, $this->attachmentFile - ); - - $emailSource = $message->toString(); - - $this->assertAttachmentFromSourceMatches( - file_get_contents($this->attachmentFile), - $emailSource - ); - } - } - - public function assertAttachmentFromSourceMatches($attachmentData, $source) - { - $encHeader = 'Content-Transfer-Encoding: base64'; - $base64declaration = strpos($source, $encHeader); - - $attachmentDataStart = strpos($source, "\r\n\r\n", $base64declaration); - $attachmentDataEnd = strpos($source, "\r\n--", $attachmentDataStart); - - if (false === $attachmentDataEnd) { - $attachmentBase64 = trim(substr($source, $attachmentDataStart)); - } else { - $attachmentBase64 = trim(substr( - $source, $attachmentDataStart, - $attachmentDataEnd - $attachmentDataStart - )); - } - - $this->assertIdenticalBinary($attachmentData, base64_decode($attachmentBase64)); - } - - private function fillFileWithRandomBytes($byteCount, $file) - { - // I was going to use dd with if=/dev/random but this way seems more - // cross platform even if a hella expensive!! - - file_put_contents($file, ''); - $fp = fopen($file, 'wb'); - for ($i = 0; $i < $byteCount; ++$i) { - $byteVal = random_int(0, 255); - fwrite($fp, pack('i', $byteVal)); - } - fclose($fp); - } - - private function createMessageWithRandomAttachment($size, $attachmentPath) - { - $this->fillFileWithRandomBytes($size, $attachmentPath); - - $message = (new Swift_Message()) - ->setSubject('test') - ->setBody('test') - ->setFrom('a@b.c') - ->setTo('d@e.f') - ->attach(Swift_Attachment::fromPath($attachmentPath)) - ; - - return $message; - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/bug/Swift/Bug534Test.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/bug/Swift/Bug534Test.php deleted file mode 100644 index 6b224f1d9b..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/bug/Swift/Bug534Test.php +++ /dev/null @@ -1,38 +0,0 @@ -setFrom('from@example.com') - ->setTo('to@example.com') - ->setSubject('test') - ; - $cid = $message->embed(Swift_Image::fromPath(__DIR__.'/../../_samples/files/swiftmailer.png')); - $message->setBody('', 'text/html'); - - $that = $this; - $messageValidation = function (Swift_Mime_SimpleMessage $message) use ($that) { - preg_match('/cid:(.*)"/', $message->toString(), $matches); - $cid = $matches[1]; - preg_match('/Content-ID: <(.*)>/', $message->toString(), $matches); - $contentId = $matches[1]; - $that->assertEquals($cid, $contentId, 'cid in body and mime part Content-ID differ'); - - return true; - }; - - $failedRecipients = []; - - $transport = m::mock('Swift_Transport'); - $transport->shouldReceive('isStarted')->andReturn(true); - $transport->shouldReceive('send')->with(m::on($messageValidation), $failedRecipients)->andReturn(1); - - $memorySpool = new Swift_MemorySpool(); - $memorySpool->queueMessage($message); - $memorySpool->flushQueue($transport, $failedRecipients); - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/bug/Swift/Bug650Test.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/bug/Swift/Bug650Test.php deleted file mode 100644 index 31036c6baa..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/bug/Swift/Bug650Test.php +++ /dev/null @@ -1,38 +0,0 @@ -setCharset('utf-8'); - - $header->setNameAddresses([ - 'test@example.com' => $name, - ]); - - $this->assertSame('To: '.$expectedEncodedName." \r\n", $header->toString()); - } - - public function encodingDataProvider() - { - return [ - ['this is " a test ö', 'this is =?utf-8?Q?=22?= a test =?utf-8?Q?=C3=B6?='], - [': this is a test ö', '=?utf-8?Q?=3A?= this is a test =?utf-8?Q?=C3=B6?='], - ['( test ö', '=?utf-8?Q?=28?= test =?utf-8?Q?=C3=B6?='], - ['[ test ö', '=?utf-8?Q?=5B?= test =?utf-8?Q?=C3=B6?='], - ['@ test ö)', '=?utf-8?Q?=40?= test =?utf-8?Q?=C3=B6=29?='], - ]; - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/bug/Swift/Bug71Test.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/bug/Swift/Bug71Test.php deleted file mode 100644 index 3075f67677..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/bug/Swift/Bug71Test.php +++ /dev/null @@ -1,20 +0,0 @@ -message = new Swift_Message('test'); - } - - public function testCallingToStringAfterSettingNewBodyReflectsChanges() - { - $this->message->setBody('BODY1'); - $this->assertRegExp('/BODY1/', $this->message->toString()); - - $this->message->setBody('BODY2'); - $this->assertRegExp('/BODY2/', $this->message->toString()); - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/bug/Swift/Bug76Test.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/bug/Swift/Bug76Test.php deleted file mode 100644 index 1db2035709..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/bug/Swift/Bug76Test.php +++ /dev/null @@ -1,71 +0,0 @@ -inputFile = sys_get_temp_dir().'/in.bin'; - file_put_contents($this->inputFile, ''); - - $this->outputFile = sys_get_temp_dir().'/out.bin'; - file_put_contents($this->outputFile, ''); - - $this->encoder = $this->createEncoder(); - } - - protected function tearDown() - { - unlink($this->inputFile); - unlink($this->outputFile); - } - - public function testBase64EncodedLineLengthNeverExceeds76CharactersEvenIfArgsDo() - { - $this->fillFileWithRandomBytes(1000, $this->inputFile); - - $os = $this->createStream($this->inputFile); - $is = $this->createStream($this->outputFile); - - $this->encoder->encodeByteStream($os, $is, 0, 80); //Exceeds 76 - - $this->assertMaxLineLength(76, $this->outputFile, - '%s: Line length should not exceed 76 characters' - ); - } - - public function assertMaxLineLength($length, $filePath, $message = '%s') - { - $lines = file($filePath); - foreach ($lines as $line) { - $this->assertTrue((strlen(trim($line)) <= 76), $message); - } - } - - private function fillFileWithRandomBytes($byteCount, $file) - { - // I was going to use dd with if=/dev/random but this way seems more - // cross platform even if a hella expensive!! - - file_put_contents($file, ''); - $fp = fopen($file, 'wb'); - for ($i = 0; $i < $byteCount; ++$i) { - $byteVal = random_int(0, 255); - fwrite($fp, pack('i', $byteVal)); - } - fclose($fp); - } - - private function createEncoder() - { - return new Swift_Mime_ContentEncoder_Base64ContentEncoder(); - } - - private function createStream($file) - { - return new Swift_ByteStream_FileByteStream($file, true); - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/bug/Swift/BugFileByteStreamConsecutiveReadCallsTest.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/bug/Swift/BugFileByteStreamConsecutiveReadCallsTest.php deleted file mode 100644 index eb58071960..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/bug/Swift/BugFileByteStreamConsecutiveReadCallsTest.php +++ /dev/null @@ -1,18 +0,0 @@ -read(100); - } catch (\Swift_IoException $exc) { - $fbs->read(100); - } - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/fixtures/MimeEntityFixture.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/fixtures/MimeEntityFixture.php deleted file mode 100644 index 8a66039382..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/fixtures/MimeEntityFixture.php +++ /dev/null @@ -1,67 +0,0 @@ -level = $level; - $this->string = $string; - $this->contentType = $contentType; - } - - public function getNestingLevel() - { - return $this->level; - } - - public function toString() - { - return $this->string; - } - - public function getContentType() - { - return $this->contentType; - } - - // These methods are here to account for the implemented interfaces - public function getId() - { - } - - public function getHeaders() - { - } - - public function getBody() - { - } - - public function setBody($body, $contentType = null) - { - } - - public function toByteStream(Swift_InputByteStream $is) - { - } - - public function charsetChanged($charset) - { - } - - public function encoderChanged(Swift_Mime_ContentEncoder $encoder) - { - } - - public function getChildren() - { - } - - public function setChildren(array $children, $compoundLevel = null) - { - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/smoke.conf.php.default b/pandora_console/vendor/swiftmailer/swiftmailer/tests/smoke.conf.php.default deleted file mode 100644 index 604d6de710..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/smoke.conf.php.default +++ /dev/null @@ -1,63 +0,0 @@ -attFile = __DIR__.'/../../../_samples/files/textfile.zip'; - } - - public function testAttachmentSending() - { - $mailer = $this->getMailer(); - $message = (new Swift_Message()) - ->setSubject('[Swift Mailer] AttachmentSmokeTest') - ->setFrom([SWIFT_SMOKE_EMAIL_ADDRESS => 'Swift Mailer']) - ->setTo(SWIFT_SMOKE_EMAIL_ADDRESS) - ->setBody('This message should contain an attached ZIP file (named "textfile.zip").'.PHP_EOL. - 'When unzipped, the archive should produce a text file which reads:'.PHP_EOL. - '"This is part of a Swift Mailer smoke test."' - ) - ->attach(Swift_Attachment::fromPath($this->attFile)) - ; - $this->assertEquals(1, $mailer->send($message), - '%s: The smoke test should send a single message' - ); - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/smoke/Swift/Smoke/BasicSmokeTest.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/smoke/Swift/Smoke/BasicSmokeTest.php deleted file mode 100644 index 79915b3426..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/smoke/Swift/Smoke/BasicSmokeTest.php +++ /dev/null @@ -1,23 +0,0 @@ -getMailer(); - $message = (new Swift_Message()) - ->setSubject('[Swift Mailer] BasicSmokeTest') - ->setFrom([SWIFT_SMOKE_EMAIL_ADDRESS => 'Swift Mailer']) - ->setTo(SWIFT_SMOKE_EMAIL_ADDRESS) - ->setBody('One, two, three, four, five...'.PHP_EOL. - 'six, seven, eight...' - ) - ; - $this->assertEquals(1, $mailer->send($message), - '%s: The smoke test should send a single message' - ); - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/smoke/Swift/Smoke/HtmlWithAttachmentSmokeTest.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/smoke/Swift/Smoke/HtmlWithAttachmentSmokeTest.php deleted file mode 100644 index 8a2647a7ea..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/smoke/Swift/Smoke/HtmlWithAttachmentSmokeTest.php +++ /dev/null @@ -1,31 +0,0 @@ -attFile = __DIR__.'/../../../_samples/files/textfile.zip'; - } - - public function testAttachmentSending() - { - $mailer = $this->getMailer(); - $message = (new Swift_Message('[Swift Mailer] HtmlWithAttachmentSmokeTest')) - ->setFrom([SWIFT_SMOKE_EMAIL_ADDRESS => 'Swift Mailer']) - ->setTo(SWIFT_SMOKE_EMAIL_ADDRESS) - ->attach(Swift_Attachment::fromPath($this->attFile)) - ->setBody('

    This HTML-formatted message should contain an attached ZIP file (named "textfile.zip").'.PHP_EOL. - 'When unzipped, the archive should produce a text file which reads:

    '.PHP_EOL. - '

    This is part of a Swift Mailer smoke test.

    ', 'text/html' - ) - ; - $this->assertEquals(1, $mailer->send($message), - '%s: The smoke test should send a single message' - ); - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/smoke/Swift/Smoke/InternationalSmokeTest.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/smoke/Swift/Smoke/InternationalSmokeTest.php deleted file mode 100644 index 6dc715e89f..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/smoke/Swift/Smoke/InternationalSmokeTest.php +++ /dev/null @@ -1,40 +0,0 @@ -attFile = __DIR__.'/../../../_samples/files/textfile.zip'; - } - - public function testAttachmentSending() - { - $mailer = $this->getMailer(); - $message = (new Swift_Message()) - ->setCharset('utf-8') - ->setSubject('[Swift Mailer] InternationalSmokeTest (διεθνής)') - ->setFrom([SWIFT_SMOKE_EMAIL_ADDRESS => 'Χριστοφορου (Swift Mailer)']) - ->setTo(SWIFT_SMOKE_EMAIL_ADDRESS) - ->setBody('This message should contain an attached ZIP file (named "κείμενο, εδάφιο, θέμα.zip").'.PHP_EOL. - 'When unzipped, the archive should produce a text file which reads:'.PHP_EOL. - '"This is part of a Swift Mailer smoke test."'.PHP_EOL. - PHP_EOL. - 'Following is some arbitrary Greek text:'.PHP_EOL. - 'Δεν βρέθηκαν λέξεις.' - ) - ->attach(Swift_Attachment::fromPath($this->attFile) - ->setContentType('application/zip') - ->setFilename('κείμενο, εδάφιο, θέμα.zip') - ) - ; - $this->assertEquals(1, $mailer->send($message), - '%s: The smoke test should send a single message' - ); - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/ByteStream/ArrayByteStreamTest.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/ByteStream/ArrayByteStreamTest.php deleted file mode 100644 index 29fe390f01..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/ByteStream/ArrayByteStreamTest.php +++ /dev/null @@ -1,202 +0,0 @@ -createArrayStream($input); - $output = []; - while (false !== $bytes = $bs->read(1)) { - $output[] = $bytes; - } - $this->assertEquals($input, $output, - '%s: Bytes read from stream should be the same as bytes in constructor' - ); - } - - public function testReadingMultipleBytesFromBaseInput() - { - $input = ['a', 'b', 'c', 'd']; - $bs = $this->createArrayStream($input); - $output = []; - while (false !== $bytes = $bs->read(2)) { - $output[] = $bytes; - } - $this->assertEquals(['ab', 'cd'], $output, - '%s: Bytes read from stream should be in pairs' - ); - } - - public function testReadingOddOffsetOnLastByte() - { - $input = ['a', 'b', 'c', 'd', 'e']; - $bs = $this->createArrayStream($input); - $output = []; - while (false !== $bytes = $bs->read(2)) { - $output[] = $bytes; - } - $this->assertEquals(['ab', 'cd', 'e'], $output, - '%s: Bytes read from stream should be in pairs except final read' - ); - } - - public function testSettingPointerPartway() - { - $input = ['a', 'b', 'c']; - $bs = $this->createArrayStream($input); - $bs->setReadPointer(1); - $this->assertEquals('b', $bs->read(1), - '%s: Byte should be second byte since pointer as at offset 1' - ); - } - - public function testResettingPointerAfterExhaustion() - { - $input = ['a', 'b', 'c']; - - $bs = $this->createArrayStream($input); - while (false !== $bs->read(1)); - - $bs->setReadPointer(0); - $this->assertEquals('a', $bs->read(1), - '%s: Byte should be first byte since pointer as at offset 0' - ); - } - - public function testPointerNeverSetsBelowZero() - { - $input = ['a', 'b', 'c']; - $bs = $this->createArrayStream($input); - - $bs->setReadPointer(-1); - $this->assertEquals('a', $bs->read(1), - '%s: Byte should be first byte since pointer should be at offset 0' - ); - } - - public function testPointerNeverSetsAboveStackSize() - { - $input = ['a', 'b', 'c']; - $bs = $this->createArrayStream($input); - - $bs->setReadPointer(3); - $this->assertFalse($bs->read(1), - '%s: Stream should be at end and thus return false' - ); - } - - public function testBytesCanBeWrittenToStream() - { - $input = ['a', 'b', 'c']; - $bs = $this->createArrayStream($input); - - $bs->write('de'); - - $output = []; - while (false !== $bytes = $bs->read(1)) { - $output[] = $bytes; - } - $this->assertEquals(['a', 'b', 'c', 'd', 'e'], $output, - '%s: Bytes read from stream should be from initial stack + written' - ); - } - - public function testContentsCanBeFlushed() - { - $input = ['a', 'b', 'c']; - $bs = $this->createArrayStream($input); - - $bs->flushBuffers(); - - $this->assertFalse($bs->read(1), - '%s: Contents have been flushed so read() should return false' - ); - } - - public function testConstructorCanTakeStringArgument() - { - $bs = $this->createArrayStream('abc'); - $output = []; - while (false !== $bytes = $bs->read(1)) { - $output[] = $bytes; - } - $this->assertEquals(['a', 'b', 'c'], $output, - '%s: Bytes read from stream should be the same as bytes in constructor' - ); - } - - public function testBindingOtherStreamsMirrorsWriteOperations() - { - $bs = $this->createArrayStream(''); - $is1 = $this->getMockBuilder('Swift_InputByteStream')->getMock(); - $is2 = $this->getMockBuilder('Swift_InputByteStream')->getMock(); - - $is1->expects($this->at(0)) - ->method('write') - ->with('x'); - $is1->expects($this->at(1)) - ->method('write') - ->with('y'); - $is2->expects($this->at(0)) - ->method('write') - ->with('x'); - $is2->expects($this->at(1)) - ->method('write') - ->with('y'); - - $bs->bind($is1); - $bs->bind($is2); - - $bs->write('x'); - $bs->write('y'); - } - - public function testBindingOtherStreamsMirrorsFlushOperations() - { - $bs = $this->createArrayStream(''); - $is1 = $this->getMockBuilder('Swift_InputByteStream')->getMock(); - $is2 = $this->getMockBuilder('Swift_InputByteStream')->getMock(); - - $is1->expects($this->once()) - ->method('flushBuffers'); - $is2->expects($this->once()) - ->method('flushBuffers'); - - $bs->bind($is1); - $bs->bind($is2); - - $bs->flushBuffers(); - } - - public function testUnbindingStreamPreventsFurtherWrites() - { - $bs = $this->createArrayStream(''); - $is1 = $this->getMockBuilder('Swift_InputByteStream')->getMock(); - $is2 = $this->getMockBuilder('Swift_InputByteStream')->getMock(); - - $is1->expects($this->at(0)) - ->method('write') - ->with('x'); - $is1->expects($this->at(1)) - ->method('write') - ->with('y'); - $is2->expects($this->once()) - ->method('write') - ->with('x'); - - $bs->bind($is1); - $bs->bind($is2); - - $bs->write('x'); - - $bs->unbind($is2); - - $bs->write('y'); - } - - private function createArrayStream($input) - { - return new Swift_ByteStream_ArrayByteStream($input); - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/CharacterReader/GenericFixedWidthReaderTest.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/CharacterReader/GenericFixedWidthReaderTest.php deleted file mode 100644 index 1ba5e784c0..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/CharacterReader/GenericFixedWidthReaderTest.php +++ /dev/null @@ -1,43 +0,0 @@ -assertSame(1, $reader->getInitialByteSize()); - - $reader = new Swift_CharacterReader_GenericFixedWidthReader(4); - $this->assertSame(4, $reader->getInitialByteSize()); - } - - public function testValidationValueIsBasedOnOctetCount() - { - $reader = new Swift_CharacterReader_GenericFixedWidthReader(4); - - $this->assertSame( - 1, $reader->validateByteSequence([0x01, 0x02, 0x03], 3) - ); //3 octets - - $this->assertSame( - 2, $reader->validateByteSequence([0x01, 0x0A], 2) - ); //2 octets - - $this->assertSame( - 3, $reader->validateByteSequence([0xFE], 1) - ); //1 octet - - $this->assertSame( - 0, $reader->validateByteSequence([0xFE, 0x03, 0x67, 0x9A], 4) - ); //All 4 octets - } - - public function testValidationFailsIfTooManyOctets() - { - $reader = new Swift_CharacterReader_GenericFixedWidthReader(6); - - $this->assertSame(-1, $reader->validateByteSequence( - [0xFE, 0x03, 0x67, 0x9A, 0x10, 0x09, 0x85], 7 - )); //7 octets - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/CharacterReader/UsAsciiReaderTest.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/CharacterReader/UsAsciiReaderTest.php deleted file mode 100644 index b85b0ab1b9..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/CharacterReader/UsAsciiReaderTest.php +++ /dev/null @@ -1,52 +0,0 @@ -read($size); ) { - $c .= $bytes; - $size = $v->validateCharacter($c); - if (-1 == $size) { - throw new Exception( ... invalid char .. ); - } elseif (0 == $size) { - return $c; //next character in $os - } - } - - */ - - private $reader; - - protected function setUp() - { - $this->reader = new Swift_CharacterReader_UsAsciiReader(); - } - - public function testAllValidAsciiCharactersReturnZero() - { - for ($ordinal = 0x00; $ordinal <= 0x7F; ++$ordinal) { - $this->assertSame( - 0, $this->reader->validateByteSequence([$ordinal], 1) - ); - } - } - - public function testMultipleBytesAreInvalid() - { - for ($ordinal = 0x00; $ordinal <= 0x7F; $ordinal += 2) { - $this->assertSame( - -1, $this->reader->validateByteSequence([$ordinal, $ordinal + 1], 2) - ); - } - } - - public function testBytesAboveAsciiRangeAreInvalid() - { - for ($ordinal = 0x80; $ordinal <= 0xFF; ++$ordinal) { - $this->assertSame( - -1, $this->reader->validateByteSequence([$ordinal], 1) - ); - } - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/CharacterReader/Utf8ReaderTest.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/CharacterReader/Utf8ReaderTest.php deleted file mode 100644 index 06379118cf..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/CharacterReader/Utf8ReaderTest.php +++ /dev/null @@ -1,65 +0,0 @@ -reader = new Swift_CharacterReader_Utf8Reader(); - } - - public function testLeading7BitOctetCausesReturnZero() - { - for ($ordinal = 0x00; $ordinal <= 0x7F; ++$ordinal) { - $this->assertSame( - 0, $this->reader->validateByteSequence([$ordinal], 1) - ); - } - } - - public function testLeadingByteOf2OctetCharCausesReturn1() - { - for ($octet = 0xC0; $octet <= 0xDF; ++$octet) { - $this->assertSame( - 1, $this->reader->validateByteSequence([$octet], 1) - ); - } - } - - public function testLeadingByteOf3OctetCharCausesReturn2() - { - for ($octet = 0xE0; $octet <= 0xEF; ++$octet) { - $this->assertSame( - 2, $this->reader->validateByteSequence([$octet], 1) - ); - } - } - - public function testLeadingByteOf4OctetCharCausesReturn3() - { - for ($octet = 0xF0; $octet <= 0xF7; ++$octet) { - $this->assertSame( - 3, $this->reader->validateByteSequence([$octet], 1) - ); - } - } - - public function testLeadingByteOf5OctetCharCausesReturn4() - { - for ($octet = 0xF8; $octet <= 0xFB; ++$octet) { - $this->assertSame( - 4, $this->reader->validateByteSequence([$octet], 1) - ); - } - } - - public function testLeadingByteOf6OctetCharCausesReturn5() - { - for ($octet = 0xFC; $octet <= 0xFD; ++$octet) { - $this->assertSame( - 5, $this->reader->validateByteSequence([$octet], 1) - ); - } - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/CharacterStream/ArrayCharacterStreamTest.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/CharacterStream/ArrayCharacterStreamTest.php deleted file mode 100644 index d0158a236c..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/CharacterStream/ArrayCharacterStreamTest.php +++ /dev/null @@ -1,358 +0,0 @@ -getReader(); - $factory = $this->getFactory($reader); - - $stream = new Swift_CharacterStream_ArrayCharacterStream($factory, 'utf-8'); - - $reader->shouldReceive('getInitialByteSize') - ->zeroOrMoreTimes() - ->andReturn(1); - $reader->shouldReceive('validateByteSequence')->once()->with([0xD0], 1)->andReturn(1); - $reader->shouldReceive('validateByteSequence')->once()->with([0xD0], 1)->andReturn(1); - $reader->shouldReceive('validateByteSequence')->once()->with([0xD0], 1)->andReturn(1); - $reader->shouldReceive('validateByteSequence')->once()->with([0xD1], 1)->andReturn(1); - $reader->shouldReceive('validateByteSequence')->once()->with([0xD0], 1)->andReturn(1); - $reader->shouldReceive('validateByteSequence')->once()->with([0xD0], 1)->andReturn(1); - - $stream->importString(pack('C*', - 0xD0, 0x94, - 0xD0, 0xB6, - 0xD0, 0xBE, - 0xD1, 0x8D, - 0xD0, 0xBB, - 0xD0, 0xB0 - ) - ); - } - - public function testCharactersWrittenUseValidator() - { - $reader = $this->getReader(); - $factory = $this->getFactory($reader); - - $stream = new Swift_CharacterStream_ArrayCharacterStream($factory, 'utf-8'); - - $reader->shouldReceive('getInitialByteSize') - ->zeroOrMoreTimes() - ->andReturn(1); - $reader->shouldReceive('validateByteSequence')->once()->with([0xD0], 1)->andReturn(1); - $reader->shouldReceive('validateByteSequence')->once()->with([0xD0], 1)->andReturn(1); - $reader->shouldReceive('validateByteSequence')->once()->with([0xD0], 1)->andReturn(1); - $reader->shouldReceive('validateByteSequence')->once()->with([0xD0], 1)->andReturn(1); - $reader->shouldReceive('validateByteSequence')->once()->with([0xD1], 1)->andReturn(1); - $reader->shouldReceive('validateByteSequence')->once()->with([0xD0], 1)->andReturn(1); - $reader->shouldReceive('validateByteSequence')->once()->with([0xD1], 1)->andReturn(1); - $reader->shouldReceive('validateByteSequence')->once()->with([0xD1], 1)->andReturn(1); - - $stream->importString(pack('C*', 0xD0, 0x94, 0xD0, 0xB6, 0xD0, 0xBE)); - - $stream->write(pack('C*', - 0xD0, 0xBB, - 0xD1, 0x8E, - 0xD0, 0xB1, - 0xD1, 0x8B, - 0xD1, 0x85 - ) - ); - } - - public function testReadCharactersAreInTact() - { - $reader = $this->getReader(); - $factory = $this->getFactory($reader); - - $stream = new Swift_CharacterStream_ArrayCharacterStream($factory, 'utf-8'); - - $reader->shouldReceive('getInitialByteSize') - ->zeroOrMoreTimes() - ->andReturn(1); - //String - $reader->shouldReceive('validateByteSequence')->once()->with([0xD0], 1)->andReturn(1); - $reader->shouldReceive('validateByteSequence')->once()->with([0xD0], 1)->andReturn(1); - $reader->shouldReceive('validateByteSequence')->once()->with([0xD0], 1)->andReturn(1); - //Stream - $reader->shouldReceive('validateByteSequence')->once()->with([0xD0], 1)->andReturn(1); - $reader->shouldReceive('validateByteSequence')->once()->with([0xD1], 1)->andReturn(1); - $reader->shouldReceive('validateByteSequence')->once()->with([0xD0], 1)->andReturn(1); - $reader->shouldReceive('validateByteSequence')->once()->with([0xD1], 1)->andReturn(1); - $reader->shouldReceive('validateByteSequence')->once()->with([0xD1], 1)->andReturn(1); - - $stream->importString(pack('C*', 0xD0, 0x94, 0xD0, 0xB6, 0xD0, 0xBE)); - - $stream->write(pack('C*', - 0xD0, 0xBB, - 0xD1, 0x8E, - 0xD0, 0xB1, - 0xD1, 0x8B, - 0xD1, 0x85 - ) - ); - - $this->assertIdenticalBinary(pack('C*', 0xD0, 0x94), $stream->read(1)); - $this->assertIdenticalBinary( - pack('C*', 0xD0, 0xB6, 0xD0, 0xBE), $stream->read(2) - ); - $this->assertIdenticalBinary(pack('C*', 0xD0, 0xBB), $stream->read(1)); - $this->assertIdenticalBinary( - pack('C*', 0xD1, 0x8E, 0xD0, 0xB1, 0xD1, 0x8B), $stream->read(3) - ); - $this->assertIdenticalBinary(pack('C*', 0xD1, 0x85), $stream->read(1)); - - $this->assertFalse($stream->read(1)); - } - - public function testCharactersCanBeReadAsByteArrays() - { - $reader = $this->getReader(); - $factory = $this->getFactory($reader); - - $stream = new Swift_CharacterStream_ArrayCharacterStream($factory, 'utf-8'); - - $reader->shouldReceive('getInitialByteSize') - ->zeroOrMoreTimes() - ->andReturn(1); - //String - $reader->shouldReceive('validateByteSequence')->once()->with([0xD0], 1)->andReturn(1); - $reader->shouldReceive('validateByteSequence')->once()->with([0xD0], 1)->andReturn(1); - $reader->shouldReceive('validateByteSequence')->once()->with([0xD0], 1)->andReturn(1); - //Stream - $reader->shouldReceive('validateByteSequence')->once()->with([0xD0], 1)->andReturn(1); - $reader->shouldReceive('validateByteSequence')->once()->with([0xD1], 1)->andReturn(1); - $reader->shouldReceive('validateByteSequence')->once()->with([0xD0], 1)->andReturn(1); - $reader->shouldReceive('validateByteSequence')->once()->with([0xD1], 1)->andReturn(1); - $reader->shouldReceive('validateByteSequence')->once()->with([0xD1], 1)->andReturn(1); - - $stream->importString(pack('C*', 0xD0, 0x94, 0xD0, 0xB6, 0xD0, 0xBE)); - - $stream->write(pack('C*', - 0xD0, 0xBB, - 0xD1, 0x8E, - 0xD0, 0xB1, - 0xD1, 0x8B, - 0xD1, 0x85 - ) - ); - - $this->assertEquals([0xD0, 0x94], $stream->readBytes(1)); - $this->assertEquals([0xD0, 0xB6, 0xD0, 0xBE], $stream->readBytes(2)); - $this->assertEquals([0xD0, 0xBB], $stream->readBytes(1)); - $this->assertEquals( - [0xD1, 0x8E, 0xD0, 0xB1, 0xD1, 0x8B], $stream->readBytes(3) - ); - $this->assertEquals([0xD1, 0x85], $stream->readBytes(1)); - - $this->assertFalse($stream->readBytes(1)); - } - - public function testRequestingLargeCharCountPastEndOfStream() - { - $reader = $this->getReader(); - $factory = $this->getFactory($reader); - - $stream = new Swift_CharacterStream_ArrayCharacterStream($factory, 'utf-8'); - - $reader->shouldReceive('getInitialByteSize') - ->zeroOrMoreTimes() - ->andReturn(1); - $reader->shouldReceive('validateByteSequence')->once()->with([0xD0], 1)->andReturn(1); - $reader->shouldReceive('validateByteSequence')->once()->with([0xD0], 1)->andReturn(1); - $reader->shouldReceive('validateByteSequence')->once()->with([0xD0], 1)->andReturn(1); - - $stream->importString(pack('C*', 0xD0, 0x94, 0xD0, 0xB6, 0xD0, 0xBE)); - - $this->assertIdenticalBinary(pack('C*', 0xD0, 0x94, 0xD0, 0xB6, 0xD0, 0xBE), - $stream->read(100) - ); - - $this->assertFalse($stream->read(1)); - } - - public function testRequestingByteArrayCountPastEndOfStream() - { - $reader = $this->getReader(); - $factory = $this->getFactory($reader); - - $stream = new Swift_CharacterStream_ArrayCharacterStream($factory, 'utf-8'); - - $reader->shouldReceive('getInitialByteSize') - ->zeroOrMoreTimes() - ->andReturn(1); - $reader->shouldReceive('validateByteSequence')->once()->with([0xD0], 1)->andReturn(1); - $reader->shouldReceive('validateByteSequence')->once()->with([0xD0], 1)->andReturn(1); - $reader->shouldReceive('validateByteSequence')->once()->with([0xD0], 1)->andReturn(1); - - $stream->importString(pack('C*', 0xD0, 0x94, 0xD0, 0xB6, 0xD0, 0xBE)); - - $this->assertEquals([0xD0, 0x94, 0xD0, 0xB6, 0xD0, 0xBE], - $stream->readBytes(100) - ); - - $this->assertFalse($stream->readBytes(1)); - } - - public function testPointerOffsetCanBeSet() - { - $reader = $this->getReader(); - $factory = $this->getFactory($reader); - - $stream = new Swift_CharacterStream_ArrayCharacterStream($factory, 'utf-8'); - - $reader->shouldReceive('getInitialByteSize') - ->zeroOrMoreTimes() - ->andReturn(1); - $reader->shouldReceive('validateByteSequence')->once()->with([0xD0], 1)->andReturn(1); - $reader->shouldReceive('validateByteSequence')->once()->with([0xD0], 1)->andReturn(1); - $reader->shouldReceive('validateByteSequence')->once()->with([0xD0], 1)->andReturn(1); - - $stream->importString(pack('C*', 0xD0, 0x94, 0xD0, 0xB6, 0xD0, 0xBE)); - - $this->assertIdenticalBinary(pack('C*', 0xD0, 0x94), $stream->read(1)); - - $stream->setPointer(0); - - $this->assertIdenticalBinary(pack('C*', 0xD0, 0x94), $stream->read(1)); - - $stream->setPointer(2); - - $this->assertIdenticalBinary(pack('C*', 0xD0, 0xBE), $stream->read(1)); - } - - public function testContentsCanBeFlushed() - { - $reader = $this->getReader(); - $factory = $this->getFactory($reader); - - $stream = new Swift_CharacterStream_ArrayCharacterStream($factory, 'utf-8'); - - $reader->shouldReceive('getInitialByteSize') - ->zeroOrMoreTimes() - ->andReturn(1); - $reader->shouldReceive('validateByteSequence')->once()->with([0xD0], 1)->andReturn(1); - $reader->shouldReceive('validateByteSequence')->once()->with([0xD0], 1)->andReturn(1); - $reader->shouldReceive('validateByteSequence')->once()->with([0xD0], 1)->andReturn(1); - - $stream->importString(pack('C*', 0xD0, 0x94, 0xD0, 0xB6, 0xD0, 0xBE)); - - $stream->flushContents(); - - $this->assertFalse($stream->read(1)); - } - - public function testByteStreamCanBeImportingUsesValidator() - { - $reader = $this->getReader(); - $factory = $this->getFactory($reader); - $os = $this->getByteStream(); - - $stream = new Swift_CharacterStream_ArrayCharacterStream($factory, 'utf-8'); - - $os->shouldReceive('setReadPointer') - ->between(0, 1) - ->with(0); - $os->shouldReceive('read')->once()->andReturn(pack('C*', 0xD0)); - $os->shouldReceive('read')->once()->andReturn(pack('C*', 0x94)); - $os->shouldReceive('read')->once()->andReturn(pack('C*', 0xD0)); - $os->shouldReceive('read')->once()->andReturn(pack('C*', 0xB6)); - $os->shouldReceive('read')->once()->andReturn(pack('C*', 0xD0)); - $os->shouldReceive('read')->once()->andReturn(pack('C*', 0xBE)); - $os->shouldReceive('read') - ->zeroOrMoreTimes() - ->andReturn(false); - - $reader->shouldReceive('getInitialByteSize') - ->zeroOrMoreTimes() - ->andReturn(1); - $reader->shouldReceive('validateByteSequence')->once()->with([0xD0], 1)->andReturn(1); - $reader->shouldReceive('validateByteSequence')->once()->with([0xD0], 1)->andReturn(1); - $reader->shouldReceive('validateByteSequence')->once()->with([0xD0], 1)->andReturn(1); - - $stream->importByteStream($os); - } - - public function testImportingStreamProducesCorrectCharArray() - { - $reader = $this->getReader(); - $factory = $this->getFactory($reader); - $os = $this->getByteStream(); - - $stream = new Swift_CharacterStream_ArrayCharacterStream($factory, 'utf-8'); - - $os->shouldReceive('setReadPointer') - ->between(0, 1) - ->with(0); - $os->shouldReceive('read')->once()->andReturn(pack('C*', 0xD0)); - $os->shouldReceive('read')->once()->andReturn(pack('C*', 0x94)); - $os->shouldReceive('read')->once()->andReturn(pack('C*', 0xD0)); - $os->shouldReceive('read')->once()->andReturn(pack('C*', 0xB6)); - $os->shouldReceive('read')->once()->andReturn(pack('C*', 0xD0)); - $os->shouldReceive('read')->once()->andReturn(pack('C*', 0xBE)); - $os->shouldReceive('read') - ->zeroOrMoreTimes() - ->andReturn(false); - - $reader->shouldReceive('getInitialByteSize') - ->zeroOrMoreTimes() - ->andReturn(1); - $reader->shouldReceive('validateByteSequence')->once()->with([0xD0], 1)->andReturn(1); - $reader->shouldReceive('validateByteSequence')->once()->with([0xD0], 1)->andReturn(1); - $reader->shouldReceive('validateByteSequence')->once()->with([0xD0], 1)->andReturn(1); - - $stream->importByteStream($os); - - $this->assertIdenticalBinary(pack('C*', 0xD0, 0x94), $stream->read(1)); - $this->assertIdenticalBinary(pack('C*', 0xD0, 0xB6), $stream->read(1)); - $this->assertIdenticalBinary(pack('C*', 0xD0, 0xBE), $stream->read(1)); - - $this->assertFalse($stream->read(1)); - } - - public function testAlgorithmWithFixedWidthCharsets() - { - $reader = $this->getReader(); - $factory = $this->getFactory($reader); - - $reader->shouldReceive('getInitialByteSize') - ->zeroOrMoreTimes() - ->andReturn(2); - $reader->shouldReceive('validateByteSequence')->once()->with([0xD1, 0x8D], 2); - $reader->shouldReceive('validateByteSequence')->once()->with([0xD0, 0xBB], 2); - $reader->shouldReceive('validateByteSequence')->once()->with([0xD0, 0xB0], 2); - - $stream = new Swift_CharacterStream_ArrayCharacterStream( - $factory, 'utf-8' - ); - $stream->importString(pack('C*', 0xD1, 0x8D, 0xD0, 0xBB, 0xD0, 0xB0)); - - $this->assertIdenticalBinary(pack('C*', 0xD1, 0x8D), $stream->read(1)); - $this->assertIdenticalBinary(pack('C*', 0xD0, 0xBB), $stream->read(1)); - $this->assertIdenticalBinary(pack('C*', 0xD0, 0xB0), $stream->read(1)); - - $this->assertFalse($stream->read(1)); - } - - private function getReader() - { - return $this->getMockery('Swift_CharacterReader'); - } - - private function getFactory($reader) - { - $factory = $this->getMockery('Swift_CharacterReaderFactory'); - $factory->shouldReceive('getReaderFor') - ->zeroOrMoreTimes() - ->with('utf-8') - ->andReturn($reader); - - return $factory; - } - - private function getByteStream() - { - return $this->getMockery('Swift_OutputByteStream'); - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/DependencyContainerTest.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/DependencyContainerTest.php deleted file mode 100644 index 286f83281b..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/DependencyContainerTest.php +++ /dev/null @@ -1,191 +0,0 @@ -arg1 = $arg1; - $this->arg2 = $arg2; - } -} - -class Swift_DependencyContainerTest extends \PHPUnit\Framework\TestCase -{ - private $container; - - protected function setUp() - { - $this->container = new Swift_DependencyContainer(); - } - - public function testRegisterAndLookupValue() - { - $this->container->register('foo')->asValue('bar'); - $this->assertEquals('bar', $this->container->lookup('foo')); - } - - public function testHasReturnsTrueForRegisteredValue() - { - $this->container->register('foo')->asValue('bar'); - $this->assertTrue($this->container->has('foo')); - } - - public function testHasReturnsFalseForUnregisteredValue() - { - $this->assertFalse($this->container->has('foo')); - } - - public function testRegisterAndLookupNewInstance() - { - $this->container->register('one')->asNewInstanceOf('One'); - $this->assertInstanceOf('One', $this->container->lookup('one')); - } - - public function testHasReturnsTrueForRegisteredInstance() - { - $this->container->register('one')->asNewInstanceOf('One'); - $this->assertTrue($this->container->has('one')); - } - - public function testNewInstanceIsAlwaysNew() - { - $this->container->register('one')->asNewInstanceOf('One'); - $a = $this->container->lookup('one'); - $b = $this->container->lookup('one'); - $this->assertEquals($a, $b); - } - - public function testRegisterAndLookupSharedInstance() - { - $this->container->register('one')->asSharedInstanceOf('One'); - $this->assertInstanceOf('One', $this->container->lookup('one')); - } - - public function testHasReturnsTrueForSharedInstance() - { - $this->container->register('one')->asSharedInstanceOf('One'); - $this->assertTrue($this->container->has('one')); - } - - public function testMultipleSharedInstancesAreSameInstance() - { - $this->container->register('one')->asSharedInstanceOf('One'); - $a = $this->container->lookup('one'); - $b = $this->container->lookup('one'); - $this->assertEquals($a, $b); - } - - public function testRegisterAndLookupArray() - { - $this->container->register('One')->asArray(); - $this->assertSame([], $this->container->lookup('One')); - } - - public function testNewInstanceWithDependencies() - { - $this->container->register('foo')->asValue('FOO'); - $this->container->register('one')->asNewInstanceOf('One') - ->withDependencies(['foo']); - $obj = $this->container->lookup('one'); - $this->assertSame('FOO', $obj->arg1); - } - - public function testNewInstanceWithMultipleDependencies() - { - $this->container->register('foo')->asValue('FOO'); - $this->container->register('bar')->asValue(42); - $this->container->register('one')->asNewInstanceOf('One') - ->withDependencies(['foo', 'bar']); - $obj = $this->container->lookup('one'); - $this->assertSame('FOO', $obj->arg1); - $this->assertSame(42, $obj->arg2); - } - - public function testNewInstanceWithInjectedObjects() - { - $this->container->register('foo')->asValue('FOO'); - $this->container->register('one')->asNewInstanceOf('One'); - $this->container->register('two')->asNewInstanceOf('One') - ->withDependencies(['one', 'foo']); - $obj = $this->container->lookup('two'); - $this->assertEquals($this->container->lookup('one'), $obj->arg1); - $this->assertSame('FOO', $obj->arg2); - } - - public function testNewInstanceWithAddConstructorValue() - { - $this->container->register('one')->asNewInstanceOf('One') - ->addConstructorValue('x') - ->addConstructorValue(99); - $obj = $this->container->lookup('one'); - $this->assertSame('x', $obj->arg1); - $this->assertSame(99, $obj->arg2); - } - - public function testNewInstanceWithAddConstructorLookup() - { - $this->container->register('foo')->asValue('FOO'); - $this->container->register('bar')->asValue(42); - $this->container->register('one')->asNewInstanceOf('One') - ->addConstructorLookup('foo') - ->addConstructorLookup('bar'); - - $obj = $this->container->lookup('one'); - $this->assertSame('FOO', $obj->arg1); - $this->assertSame(42, $obj->arg2); - } - - public function testResolvedDependenciesCanBeLookedUp() - { - $this->container->register('foo')->asValue('FOO'); - $this->container->register('one')->asNewInstanceOf('One'); - $this->container->register('two')->asNewInstanceOf('One') - ->withDependencies(['one', 'foo']); - $deps = $this->container->createDependenciesFor('two'); - $this->assertEquals( - [$this->container->lookup('one'), 'FOO'], $deps - ); - } - - public function testArrayOfDependenciesCanBeSpecified() - { - $this->container->register('foo')->asValue('FOO'); - $this->container->register('one')->asNewInstanceOf('One'); - $this->container->register('two')->asNewInstanceOf('One') - ->withDependencies([['one', 'foo'], 'foo']); - - $obj = $this->container->lookup('two'); - $this->assertEquals([$this->container->lookup('one'), 'FOO'], $obj->arg1); - $this->assertSame('FOO', $obj->arg2); - } - - public function testArrayWithDependencies() - { - $this->container->register('foo')->asValue('FOO'); - $this->container->register('bar')->asValue(42); - $this->container->register('one')->asArray('One') - ->withDependencies(['foo', 'bar']); - $this->assertSame(['FOO', 42], $this->container->lookup('one')); - } - - public function testAliasCanBeSet() - { - $this->container->register('foo')->asValue('FOO'); - $this->container->register('bar')->asAliasOf('foo'); - - $this->assertSame('FOO', $this->container->lookup('bar')); - } - - public function testAliasOfAliasCanBeSet() - { - $this->container->register('foo')->asValue('FOO'); - $this->container->register('bar')->asAliasOf('foo'); - $this->container->register('zip')->asAliasOf('bar'); - $this->container->register('button')->asAliasOf('zip'); - - $this->assertSame('FOO', $this->container->lookup('button')); - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Encoder/Base64EncoderTest.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Encoder/Base64EncoderTest.php deleted file mode 100644 index 6387bad3b8..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Encoder/Base64EncoderTest.php +++ /dev/null @@ -1,173 +0,0 @@ -encoder = new Swift_Encoder_Base64Encoder(); - } - - /* - There's really no point in testing the entire base64 encoding to the - level QP encoding has been tested. base64_encode() has been in PHP for - years. - */ - - public function testInputOutputRatioIs3to4Bytes() - { - /* - RFC 2045, 6.8 - - The encoding process represents 24-bit groups of input bits as output - strings of 4 encoded characters. Proceeding from left to right, a - 24-bit input group is formed by concatenating 3 8bit input groups. - These 24 bits are then treated as 4 concatenated 6-bit groups, each - of which is translated into a single digit in the base64 alphabet. - */ - - $this->assertEquals( - 'MTIz', $this->encoder->encodeString('123'), - '%s: 3 bytes of input should yield 4 bytes of output' - ); - $this->assertEquals( - 'MTIzNDU2', $this->encoder->encodeString('123456'), - '%s: 6 bytes in input should yield 8 bytes of output' - ); - $this->assertEquals( - 'MTIzNDU2Nzg5', $this->encoder->encodeString('123456789'), - '%s: 9 bytes in input should yield 12 bytes of output' - ); - } - - public function testPadLength() - { - /* - RFC 2045, 6.8 - - Special processing is performed if fewer than 24 bits are available - at the end of the data being encoded. A full encoding quantum is - always completed at the end of a body. When fewer than 24 input bits - are available in an input group, zero bits are added (on the right) - to form an integral number of 6-bit groups. Padding at the end of - the data is performed using the "=" character. Since all base64 - input is an integral number of octets, only the following cases can - arise: (1) the final quantum of encoding input is an integral - multiple of 24 bits; here, the final unit of encoded output will be - an integral multiple of 4 characters with no "=" padding, (2) the - final quantum of encoding input is exactly 8 bits; here, the final - unit of encoded output will be two characters followed by two "=" - padding characters, or (3) the final quantum of encoding input is - exactly 16 bits; here, the final unit of encoded output will be three - characters followed by one "=" padding character. - */ - - for ($i = 0; $i < 30; ++$i) { - $input = pack('C', random_int(0, 255)); - $this->assertRegExp( - '~^[a-zA-Z0-9/\+]{2}==$~', $this->encoder->encodeString($input), - '%s: A single byte should have 2 bytes of padding' - ); - } - - for ($i = 0; $i < 30; ++$i) { - $input = pack('C*', random_int(0, 255), random_int(0, 255)); - $this->assertRegExp( - '~^[a-zA-Z0-9/\+]{3}=$~', $this->encoder->encodeString($input), - '%s: Two bytes should have 1 byte of padding' - ); - } - - for ($i = 0; $i < 30; ++$i) { - $input = pack('C*', random_int(0, 255), random_int(0, 255), random_int(0, 255)); - $this->assertRegExp( - '~^[a-zA-Z0-9/\+]{4}$~', $this->encoder->encodeString($input), - '%s: Three bytes should have no padding' - ); - } - } - - public function testMaximumLineLengthIs76Characters() - { - /* - The encoded output stream must be represented in lines of no more - than 76 characters each. All line breaks or other characters not - found in Table 1 must be ignored by decoding software. - */ - - $input = - 'abcdefghijklmnopqrstuvwxyz'. - 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'. - '1234567890'. - 'abcdefghijklmnopqrstuvwxyz'. - 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'. - '1234567890'. - 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'; - - $output = - 'YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQk'.//38 - 'NERUZHSElKS0xNTk9QUVJTVFVWV1hZWjEyMzQ1'."\r\n".//76 * - 'Njc4OTBhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3'.//38 - 'h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFla'."\r\n".//76 * - 'MTIzNDU2Nzg5MEFCQ0RFRkdISUpLTE1OT1BRUl'.//38 - 'NUVVZXWFla'; //48 - - $this->assertEquals( - $output, $this->encoder->encodeString($input), - '%s: Lines should be no more than 76 characters' - ); - } - - public function testMaximumLineLengthCanBeSpecified() - { - $input = - 'abcdefghijklmnopqrstuvwxyz'. - 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'. - '1234567890'. - 'abcdefghijklmnopqrstuvwxyz'. - 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'. - '1234567890'. - 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'; - - $output = - 'YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQk'.//38 - 'NERUZHSElKS0'."\r\n".//50 * - 'xNTk9QUVJTVFVWV1hZWjEyMzQ1Njc4OTBhYmNk'.//38 - 'ZWZnaGlqa2xt'."\r\n".//50 * - 'bm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1'.//38 - 'BRUlNUVVZXWF'."\r\n".//50 * - 'laMTIzNDU2Nzg5MEFCQ0RFRkdISUpLTE1OT1BR'.//38 - 'UlNUVVZXWFla'; //50 * - - $this->assertEquals( - $output, $this->encoder->encodeString($input, 0, 50), - '%s: Lines should be no more than 100 characters' - ); - } - - public function testFirstLineLengthCanBeDifferent() - { - $input = - 'abcdefghijklmnopqrstuvwxyz'. - 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'. - '1234567890'. - 'abcdefghijklmnopqrstuvwxyz'. - 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'. - '1234567890'. - 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'; - - $output = - 'YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQk'.//38 - 'NERUZHSElKS0xNTk9QU'."\r\n".//57 * - 'VJTVFVWV1hZWjEyMzQ1Njc4OTBhYmNkZWZnaGl'.//38 - 'qa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLT'."\r\n".//76 * - 'E1OT1BRUlNUVVZXWFlaMTIzNDU2Nzg5MEFCQ0R'.//38 - 'FRkdISUpLTE1OT1BRUlNUVVZXWFla'; //67 - - $this->assertEquals( - $output, $this->encoder->encodeString($input, 19), - '%s: First line offset is 19 so first line should be 57 chars long' - ); - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Encoder/QpEncoderTest.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Encoder/QpEncoderTest.php deleted file mode 100644 index 10e5e1d0a9..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Encoder/QpEncoderTest.php +++ /dev/null @@ -1,400 +0,0 @@ -createCharStream(); - $charStream->shouldReceive('flushContents') - ->once(); - $charStream->shouldReceive('importString') - ->once() - ->with($char); - $charStream->shouldReceive('readBytes') - ->once() - ->andReturn([$ordinal]); - $charStream->shouldReceive('readBytes') - ->atLeast()->times(1) - ->andReturn(false); - - $encoder = new Swift_Encoder_QpEncoder($charStream); - - $this->assertIdenticalBinary($char, $encoder->encodeString($char)); - } - } - - public function testWhiteSpaceAtLineEndingIsEncoded() - { - /* -- RFC 2045, 6.7 -- - (3) (White Space) Octets with values of 9 and 32 MAY be - represented as US-ASCII TAB (HT) and SPACE characters, - respectively, but MUST NOT be so represented at the end - of an encoded line. Any TAB (HT) or SPACE characters - on an encoded line MUST thus be followed on that line - by a printable character. In particular, an "=" at the - end of an encoded line, indicating a soft line break - (see rule #5) may follow one or more TAB (HT) or SPACE - characters. It follows that an octet with decimal - value 9 or 32 appearing at the end of an encoded line - must be represented according to Rule #1. This rule is - necessary because some MTAs (Message Transport Agents, - programs which transport messages from one user to - another, or perform a portion of such transfers) are - known to pad lines of text with SPACEs, and others are - known to remove "white space" characters from the end - of a line. Therefore, when decoding a Quoted-Printable - body, any trailing white space on a line must be - deleted, as it will necessarily have been added by - intermediate transport agents. - */ - - $HT = chr(0x09); //9 - $SPACE = chr(0x20); //32 - - //HT - $string = 'a'.$HT.$HT."\r\n".'b'; - - $charStream = $this->createCharStream(); - $charStream->shouldReceive('flushContents') - ->once(); - $charStream->shouldReceive('importString') - ->once() - ->with($string); - - $charStream->shouldReceive('readBytes')->once()->andReturn([ord('a')]); - $charStream->shouldReceive('readBytes')->once()->andReturn([0x09]); - $charStream->shouldReceive('readBytes')->once()->andReturn([0x09]); - $charStream->shouldReceive('readBytes')->once()->andReturn([0x0D]); - $charStream->shouldReceive('readBytes')->once()->andReturn([0x0A]); - $charStream->shouldReceive('readBytes')->once()->andReturn([ord('b')]); - $charStream->shouldReceive('readBytes')->once()->andReturn(false); - - $encoder = new Swift_Encoder_QpEncoder($charStream); - $this->assertEquals( - 'a'.$HT.'=09'."\r\n".'b', - $encoder->encodeString($string) - ); - - //SPACE - $string = 'a'.$SPACE.$SPACE."\r\n".'b'; - - $charStream = $this->createCharStream(); - $charStream->shouldReceive('flushContents') - ->once(); - $charStream->shouldReceive('importString') - ->once() - ->with($string); - - $charStream->shouldReceive('readBytes')->once()->andReturn([ord('a')]); - $charStream->shouldReceive('readBytes')->once()->andReturn([0x20]); - $charStream->shouldReceive('readBytes')->once()->andReturn([0x20]); - $charStream->shouldReceive('readBytes')->once()->andReturn([0x0D]); - $charStream->shouldReceive('readBytes')->once()->andReturn([0x0A]); - $charStream->shouldReceive('readBytes')->once()->andReturn([ord('b')]); - $charStream->shouldReceive('readBytes')->once()->andReturn(false); - - $encoder = new Swift_Encoder_QpEncoder($charStream); - $this->assertEquals( - 'a'.$SPACE.'=20'."\r\n".'b', - $encoder->encodeString($string) - ); - } - - public function testCRLFIsLeftAlone() - { - /* - (4) (Line Breaks) A line break in a text body, represented - as a CRLF sequence in the text canonical form, must be - represented by a (RFC 822) line break, which is also a - CRLF sequence, in the Quoted-Printable encoding. Since - the canonical representation of media types other than - text do not generally include the representation of - line breaks as CRLF sequences, no hard line breaks - (i.e. line breaks that are intended to be meaningful - and to be displayed to the user) can occur in the - quoted-printable encoding of such types. Sequences - like "=0D", "=0A", "=0A=0D" and "=0D=0A" will routinely - appear in non-text data represented in quoted- - printable, of course. - - Note that many implementations may elect to encode the - local representation of various content types directly - rather than converting to canonical form first, - encoding, and then converting back to local - representation. In particular, this may apply to plain - text material on systems that use newline conventions - other than a CRLF terminator sequence. Such an - implementation optimization is permissible, but only - when the combined canonicalization-encoding step is - equivalent to performing the three steps separately. - */ - - $string = 'a'."\r\n".'b'."\r\n".'c'."\r\n"; - - $charStream = $this->createCharStream(); - $charStream->shouldReceive('flushContents') - ->once(); - $charStream->shouldReceive('importString') - ->once() - ->with($string); - - $charStream->shouldReceive('readBytes')->once()->andReturn([ord('a')]); - $charStream->shouldReceive('readBytes')->once()->andReturn([0x0D]); - $charStream->shouldReceive('readBytes')->once()->andReturn([0x0A]); - $charStream->shouldReceive('readBytes')->once()->andReturn([ord('b')]); - $charStream->shouldReceive('readBytes')->once()->andReturn([0x0D]); - $charStream->shouldReceive('readBytes')->once()->andReturn([0x0A]); - $charStream->shouldReceive('readBytes')->once()->andReturn([ord('c')]); - $charStream->shouldReceive('readBytes')->once()->andReturn([0x0D]); - $charStream->shouldReceive('readBytes')->once()->andReturn([0x0A]); - $charStream->shouldReceive('readBytes')->once()->andReturn(false); - - $encoder = new Swift_Encoder_QpEncoder($charStream); - $this->assertEquals($string, $encoder->encodeString($string)); - } - - public function testLinesLongerThan76CharactersAreSoftBroken() - { - /* - (5) (Soft Line Breaks) The Quoted-Printable encoding - REQUIRES that encoded lines be no more than 76 - characters long. If longer lines are to be encoded - with the Quoted-Printable encoding, "soft" line breaks - must be used. An equal sign as the last character on a - encoded line indicates such a non-significant ("soft") - line break in the encoded text. - */ - - $input = str_repeat('a', 140); - - $charStream = $this->createCharStream(); - $charStream->shouldReceive('flushContents') - ->once(); - $charStream->shouldReceive('importString') - ->once() - ->with($input); - - $output = ''; - for ($i = 0; $i < 140; ++$i) { - $charStream->shouldReceive('readBytes') - ->once() - ->andReturn([ord('a')]); - - if (75 == $i) { - $output .= "=\r\n"; - } - $output .= 'a'; - } - - $charStream->shouldReceive('readBytes') - ->once() - ->andReturn(false); - - $encoder = new Swift_Encoder_QpEncoder($charStream); - $this->assertEquals($output, $encoder->encodeString($input)); - } - - public function testMaxLineLengthCanBeSpecified() - { - $input = str_repeat('a', 100); - - $charStream = $this->createCharStream(); - $charStream->shouldReceive('flushContents') - ->once(); - $charStream->shouldReceive('importString') - ->once() - ->with($input); - - $output = ''; - for ($i = 0; $i < 100; ++$i) { - $charStream->shouldReceive('readBytes') - ->once() - ->andReturn([ord('a')]); - - if (53 == $i) { - $output .= "=\r\n"; - } - $output .= 'a'; - } - $charStream->shouldReceive('readBytes') - ->once() - ->andReturn(false); - - $encoder = new Swift_Encoder_QpEncoder($charStream); - $this->assertEquals($output, $encoder->encodeString($input, 0, 54)); - } - - public function testBytesBelowPermittedRangeAreEncoded() - { - /* - According to Rule (1 & 2) - */ - - foreach (range(0, 32) as $ordinal) { - $char = chr($ordinal); - - $charStream = $this->createCharStream(); - $charStream->shouldReceive('flushContents') - ->once(); - $charStream->shouldReceive('importString') - ->once() - ->with($char); - $charStream->shouldReceive('readBytes') - ->once() - ->andReturn([$ordinal]); - $charStream->shouldReceive('readBytes') - ->atLeast()->times(1) - ->andReturn(false); - - $encoder = new Swift_Encoder_QpEncoder($charStream); - - $this->assertEquals( - sprintf('=%02X', $ordinal), $encoder->encodeString($char) - ); - } - } - - public function testDecimalByte61IsEncoded() - { - /* - According to Rule (1 & 2) - */ - - $char = '='; - - $charStream = $this->createCharStream(); - $charStream->shouldReceive('flushContents') - ->once(); - $charStream->shouldReceive('importString') - ->once() - ->with($char); - $charStream->shouldReceive('readBytes') - ->once() - ->andReturn([61]); - $charStream->shouldReceive('readBytes') - ->atLeast()->times(1) - ->andReturn(false); - - $encoder = new Swift_Encoder_QpEncoder($charStream); - - $this->assertEquals('=3D', $encoder->encodeString('=')); - } - - public function testBytesAbovePermittedRangeAreEncoded() - { - /* - According to Rule (1 & 2) - */ - - foreach (range(127, 255) as $ordinal) { - $char = chr($ordinal); - - $charStream = $this->createCharStream(); - $charStream->shouldReceive('flushContents') - ->once(); - $charStream->shouldReceive('importString') - ->once() - ->with($char); - $charStream->shouldReceive('readBytes') - ->once() - ->andReturn([$ordinal]); - $charStream->shouldReceive('readBytes') - ->atLeast()->times(1) - ->andReturn(false); - - $encoder = new Swift_Encoder_QpEncoder($charStream); - - $this->assertEquals( - sprintf('=%02X', $ordinal), $encoder->encodeString($char) - ); - } - } - - public function testFirstLineLengthCanBeDifferent() - { - $input = str_repeat('a', 140); - - $charStream = $this->createCharStream(); - $charStream->shouldReceive('flushContents') - ->once(); - $charStream->shouldReceive('importString') - ->once() - ->with($input); - - $output = ''; - for ($i = 0; $i < 140; ++$i) { - $charStream->shouldReceive('readBytes') - ->once() - ->andReturn([ord('a')]); - - if (53 == $i || 53 + 75 == $i) { - $output .= "=\r\n"; - } - $output .= 'a'; - } - - $charStream->shouldReceive('readBytes') - ->once() - ->andReturn(false); - - $encoder = new Swift_Encoder_QpEncoder($charStream); - $this->assertEquals( - $output, $encoder->encodeString($input, 22), - '%s: First line should start at offset 22 so can only have max length 54' - ); - } - - public function testTextIsPreWrapped() - { - $encoder = $this->createEncoder(); - - $input = str_repeat('a', 70)."\r\n". - str_repeat('a', 70)."\r\n". - str_repeat('a', 70); - - $this->assertEquals( - $input, $encoder->encodeString($input) - ); - } - - private function createCharStream() - { - return $this->getMockery('Swift_CharacterStream')->shouldIgnoreMissing(); - } - - private function createEncoder() - { - $factory = new Swift_CharacterReaderFactory_SimpleCharacterReaderFactory(); - $charStream = new Swift_CharacterStream_NgCharacterStream($factory, 'utf-8'); - - return new Swift_Encoder_QpEncoder($charStream); - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Encoder/Rfc2231EncoderTest.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Encoder/Rfc2231EncoderTest.php deleted file mode 100644 index 0ab8aa4c44..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Encoder/Rfc2231EncoderTest.php +++ /dev/null @@ -1,141 +0,0 @@ -getMockery('Swift_CharacterStream'); - - $string = ''; - foreach (range(0x00, 0x7F) as $octet) { - $char = pack('C', $octet); - $string .= $char; - $charStream->shouldReceive('read') - ->once() - ->andReturn($char); - } - - $charStream->shouldReceive('flushContents') - ->once(); - $charStream->shouldReceive('importString') - ->once() - ->with($string); - $charStream->shouldReceive('read') - ->atLeast()->times(1) - ->andReturn(false); - - $encoder = new Swift_Encoder_Rfc2231Encoder($charStream); - $encoded = $encoder->encodeString($string); - - foreach (explode("\r\n", $encoded) as $line) { - $this->assertRegExp($this->rfc2045Token, $line, - '%s: Encoder should always return a valid RFC 2045 token.'); - } - } - - public function testEncodingNonAsciiCharactersProducesValidToken() - { - $charStream = $this->getMockery('Swift_CharacterStream'); - - $string = ''; - foreach (range(0x80, 0xFF) as $octet) { - $char = pack('C', $octet); - $string .= $char; - $charStream->shouldReceive('read') - ->once() - ->andReturn($char); - } - $charStream->shouldReceive('flushContents') - ->once(); - $charStream->shouldReceive('importString') - ->once() - ->with($string); - $charStream->shouldReceive('read') - ->atLeast()->times(1) - ->andReturn(false); - $encoder = new Swift_Encoder_Rfc2231Encoder($charStream); - - $encoded = $encoder->encodeString($string); - - foreach (explode("\r\n", $encoded) as $line) { - $this->assertRegExp($this->rfc2045Token, $line, - '%s: Encoder should always return a valid RFC 2045 token.'); - } - } - - public function testMaximumLineLengthCanBeSet() - { - $charStream = $this->getMockery('Swift_CharacterStream'); - - $string = ''; - for ($x = 0; $x < 200; ++$x) { - $char = 'a'; - $string .= $char; - $charStream->shouldReceive('read') - ->once() - ->andReturn($char); - } - $charStream->shouldReceive('flushContents') - ->once(); - $charStream->shouldReceive('importString') - ->once() - ->with($string); - $charStream->shouldReceive('read') - ->atLeast()->times(1) - ->andReturn(false); - $encoder = new Swift_Encoder_Rfc2231Encoder($charStream); - - $encoded = $encoder->encodeString($string, 0, 75); - - $this->assertEquals( - str_repeat('a', 75)."\r\n". - str_repeat('a', 75)."\r\n". - str_repeat('a', 50), - $encoded, - '%s: Lines should be wrapped at each 75 characters' - ); - } - - public function testFirstLineCanHaveShorterLength() - { - $charStream = $this->getMockery('Swift_CharacterStream'); - - $string = ''; - for ($x = 0; $x < 200; ++$x) { - $char = 'a'; - $string .= $char; - $charStream->shouldReceive('read') - ->once() - ->andReturn($char); - } - $charStream->shouldReceive('flushContents') - ->once(); - $charStream->shouldReceive('importString') - ->once() - ->with($string); - $charStream->shouldReceive('read') - ->atLeast()->times(1) - ->andReturn(false); - $encoder = new Swift_Encoder_Rfc2231Encoder($charStream); - $encoded = $encoder->encodeString($string, 25, 75); - - $this->assertEquals( - str_repeat('a', 50)."\r\n". - str_repeat('a', 75)."\r\n". - str_repeat('a', 75), - $encoded, - '%s: First line should be 25 bytes shorter than the others.' - ); - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Events/CommandEventTest.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Events/CommandEventTest.php deleted file mode 100644 index 2915870de6..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Events/CommandEventTest.php +++ /dev/null @@ -1,34 +0,0 @@ -createEvent($this->createTransport(), "FOO\r\n"); - $this->assertEquals("FOO\r\n", $evt->getCommand()); - } - - public function testSuccessCodesCanBeFetchedViaGetter() - { - $evt = $this->createEvent($this->createTransport(), "FOO\r\n", [250]); - $this->assertEquals([250], $evt->getSuccessCodes()); - } - - public function testSourceIsBuffer() - { - $transport = $this->createTransport(); - $evt = $this->createEvent($transport, "FOO\r\n"); - $ref = $evt->getSource(); - $this->assertEquals($transport, $ref); - } - - private function createEvent(Swift_Transport $source, $command, $successCodes = []) - { - return new Swift_Events_CommandEvent($source, $command, $successCodes); - } - - private function createTransport() - { - return $this->getMockBuilder('Swift_Transport')->getMock(); - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Events/EventObjectTest.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Events/EventObjectTest.php deleted file mode 100644 index b67461fadd..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Events/EventObjectTest.php +++ /dev/null @@ -1,32 +0,0 @@ -createEvent($source); - $ref = $evt->getSource(); - $this->assertEquals($source, $ref); - } - - public function testEventDoesNotHaveCancelledBubbleWhenNew() - { - $source = new stdClass(); - $evt = $this->createEvent($source); - $this->assertFalse($evt->bubbleCancelled()); - } - - public function testBubbleCanBeCancelledInEvent() - { - $source = new stdClass(); - $evt = $this->createEvent($source); - $evt->cancelBubble(); - $this->assertTrue($evt->bubbleCancelled()); - } - - private function createEvent($source) - { - return new Swift_Events_EventObject($source); - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Events/ResponseEventTest.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Events/ResponseEventTest.php deleted file mode 100644 index ba5c191c92..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Events/ResponseEventTest.php +++ /dev/null @@ -1,38 +0,0 @@ -createEvent($this->createTransport(), "250 Ok\r\n", true); - $this->assertEquals("250 Ok\r\n", $evt->getResponse(), - '%s: Response should be available via getResponse()' - ); - } - - public function testResultCanBeFetchedViaGetter() - { - $evt = $this->createEvent($this->createTransport(), "250 Ok\r\n", false); - $this->assertFalse($evt->isValid(), - '%s: Result should be checkable via isValid()' - ); - } - - public function testSourceIsBuffer() - { - $transport = $this->createTransport(); - $evt = $this->createEvent($transport, "250 Ok\r\n", true); - $ref = $evt->getSource(); - $this->assertEquals($transport, $ref); - } - - private function createEvent(Swift_Transport $source, $response, $result) - { - return new Swift_Events_ResponseEvent($source, $response, $result); - } - - private function createTransport() - { - return $this->getMockBuilder('Swift_Transport')->getMock(); - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Events/SendEventTest.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Events/SendEventTest.php deleted file mode 100644 index 9f55589a60..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Events/SendEventTest.php +++ /dev/null @@ -1,96 +0,0 @@ -createMessage(); - $transport = $this->createTransport(); - - $evt = $this->createEvent($transport, $message); - - $ref = $evt->getMessage(); - $this->assertEquals($message, $ref, - '%s: Message should be returned from getMessage()' - ); - } - - public function testTransportCanBeFetchViaGetter() - { - $message = $this->createMessage(); - $transport = $this->createTransport(); - - $evt = $this->createEvent($transport, $message); - - $ref = $evt->getTransport(); - $this->assertEquals($transport, $ref, - '%s: Transport should be returned from getTransport()' - ); - } - - public function testTransportCanBeFetchViaGetSource() - { - $message = $this->createMessage(); - $transport = $this->createTransport(); - - $evt = $this->createEvent($transport, $message); - - $ref = $evt->getSource(); - $this->assertEquals($transport, $ref, - '%s: Transport should be returned from getSource()' - ); - } - - public function testResultCanBeSetAndGet() - { - $message = $this->createMessage(); - $transport = $this->createTransport(); - - $evt = $this->createEvent($transport, $message); - - $evt->setResult( - Swift_Events_SendEvent::RESULT_SUCCESS | Swift_Events_SendEvent::RESULT_TENTATIVE - ); - - $this->assertTrue((bool) ($evt->getResult() & Swift_Events_SendEvent::RESULT_SUCCESS)); - $this->assertTrue((bool) ($evt->getResult() & Swift_Events_SendEvent::RESULT_TENTATIVE)); - } - - public function testFailedRecipientsCanBeSetAndGet() - { - $message = $this->createMessage(); - $transport = $this->createTransport(); - - $evt = $this->createEvent($transport, $message); - - $evt->setFailedRecipients(['foo@bar', 'zip@button']); - - $this->assertEquals(['foo@bar', 'zip@button'], $evt->getFailedRecipients(), - '%s: FailedRecipients should be returned from getter' - ); - } - - public function testFailedRecipientsGetsPickedUpCorrectly() - { - $message = $this->createMessage(); - $transport = $this->createTransport(); - - $evt = $this->createEvent($transport, $message); - $this->assertEquals([], $evt->getFailedRecipients()); - } - - private function createEvent(Swift_Transport $source, Swift_Mime_SimpleMessage $message) - { - return new Swift_Events_SendEvent($source, $message); - } - - private function createTransport() - { - return $this->getMockBuilder('Swift_Transport')->getMock(); - } - - private function createMessage() - { - return $this->getMockBuilder('Swift_Mime_SimpleMessage')->disableOriginalConstructor()->getMock(); - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Events/SimpleEventDispatcherTest.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Events/SimpleEventDispatcherTest.php deleted file mode 100644 index d5dce2b9b5..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Events/SimpleEventDispatcherTest.php +++ /dev/null @@ -1,142 +0,0 @@ -dispatcher = new Swift_Events_SimpleEventDispatcher(); - } - - public function testSendEventCanBeCreated() - { - $transport = $this->getMockBuilder('Swift_Transport')->getMock(); - $message = $this->getMockBuilder('Swift_Mime_SimpleMessage')->disableOriginalConstructor()->getMock(); - $evt = $this->dispatcher->createSendEvent($transport, $message); - $this->assertInstanceOf('Swift_Events_SendEvent', $evt); - $this->assertSame($message, $evt->getMessage()); - $this->assertSame($transport, $evt->getTransport()); - } - - public function testCommandEventCanBeCreated() - { - $buf = $this->getMockBuilder('Swift_Transport')->getMock(); - $evt = $this->dispatcher->createCommandEvent($buf, "FOO\r\n", [250]); - $this->assertInstanceOf('Swift_Events_CommandEvent', $evt); - $this->assertSame($buf, $evt->getSource()); - $this->assertEquals("FOO\r\n", $evt->getCommand()); - $this->assertEquals([250], $evt->getSuccessCodes()); - } - - public function testResponseEventCanBeCreated() - { - $buf = $this->getMockBuilder('Swift_Transport')->getMock(); - $evt = $this->dispatcher->createResponseEvent($buf, "250 Ok\r\n", true); - $this->assertInstanceOf('Swift_Events_ResponseEvent', $evt); - $this->assertSame($buf, $evt->getSource()); - $this->assertEquals("250 Ok\r\n", $evt->getResponse()); - $this->assertTrue($evt->isValid()); - } - - public function testTransportChangeEventCanBeCreated() - { - $transport = $this->getMockBuilder('Swift_Transport')->getMock(); - $evt = $this->dispatcher->createTransportChangeEvent($transport); - $this->assertInstanceOf('Swift_Events_TransportChangeEvent', $evt); - $this->assertSame($transport, $evt->getSource()); - } - - public function testTransportExceptionEventCanBeCreated() - { - $transport = $this->getMockBuilder('Swift_Transport')->getMock(); - $ex = new Swift_TransportException(''); - $evt = $this->dispatcher->createTransportExceptionEvent($transport, $ex); - $this->assertInstanceOf('Swift_Events_TransportExceptionEvent', $evt); - $this->assertSame($transport, $evt->getSource()); - $this->assertSame($ex, $evt->getException()); - } - - public function testListenersAreNotifiedOfDispatchedEvent() - { - $transport = $this->getMockBuilder('Swift_Transport')->getMock(); - - $evt = $this->dispatcher->createTransportChangeEvent($transport); - - $listenerA = $this->getMockBuilder('Swift_Events_TransportChangeListener')->getMock(); - $listenerB = $this->getMockBuilder('Swift_Events_TransportChangeListener')->getMock(); - - $this->dispatcher->bindEventListener($listenerA); - $this->dispatcher->bindEventListener($listenerB); - - $listenerA->expects($this->once()) - ->method('transportStarted') - ->with($evt); - $listenerB->expects($this->once()) - ->method('transportStarted') - ->with($evt); - - $this->dispatcher->dispatchEvent($evt, 'transportStarted'); - } - - public function testListenersAreOnlyCalledIfImplementingCorrectInterface() - { - $transport = $this->getMockBuilder('Swift_Transport')->getMock(); - $message = $this->getMockBuilder('Swift_Mime_SimpleMessage')->disableOriginalConstructor()->getMock(); - - $evt = $this->dispatcher->createSendEvent($transport, $message); - - $targetListener = $this->getMockBuilder('Swift_Events_SendListener')->getMock(); - $otherListener = $this->getMockBuilder('DummyListener')->getMock(); - - $this->dispatcher->bindEventListener($targetListener); - $this->dispatcher->bindEventListener($otherListener); - - $targetListener->expects($this->once()) - ->method('sendPerformed') - ->with($evt); - $otherListener->expects($this->never()) - ->method('sendPerformed'); - - $this->dispatcher->dispatchEvent($evt, 'sendPerformed'); - } - - public function testListenersCanCancelBubblingOfEvent() - { - $transport = $this->getMockBuilder('Swift_Transport')->getMock(); - $message = $this->getMockBuilder('Swift_Mime_SimpleMessage')->disableOriginalConstructor()->getMock(); - - $evt = $this->dispatcher->createSendEvent($transport, $message); - - $listenerA = $this->getMockBuilder('Swift_Events_SendListener')->getMock(); - $listenerB = $this->getMockBuilder('Swift_Events_SendListener')->getMock(); - - $this->dispatcher->bindEventListener($listenerA); - $this->dispatcher->bindEventListener($listenerB); - - $listenerA->expects($this->once()) - ->method('sendPerformed') - ->with($evt) - ->will($this->returnCallback(function ($object) { - $object->cancelBubble(true); - })); - $listenerB->expects($this->never()) - ->method('sendPerformed'); - - $this->dispatcher->dispatchEvent($evt, 'sendPerformed'); - - $this->assertTrue($evt->bubbleCancelled()); - } - - private function createDispatcher(array $map) - { - return new Swift_Events_SimpleEventDispatcher($map); - } -} - -class DummyListener implements Swift_Events_EventListener -{ - public function sendPerformed(Swift_Events_SendEvent $evt) - { - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Events/TransportChangeEventTest.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Events/TransportChangeEventTest.php deleted file mode 100644 index 625b96c9bf..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Events/TransportChangeEventTest.php +++ /dev/null @@ -1,30 +0,0 @@ -createTransport(); - $evt = $this->createEvent($transport); - $ref = $evt->getTransport(); - $this->assertEquals($transport, $ref); - } - - public function testSourceIsTransport() - { - $transport = $this->createTransport(); - $evt = $this->createEvent($transport); - $ref = $evt->getSource(); - $this->assertEquals($transport, $ref); - } - - private function createEvent(Swift_Transport $source) - { - return new Swift_Events_TransportChangeEvent($source); - } - - private function createTransport() - { - return $this->getMockBuilder('Swift_Transport')->getMock(); - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Events/TransportExceptionEventTest.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Events/TransportExceptionEventTest.php deleted file mode 100644 index 033b0e5b3e..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Events/TransportExceptionEventTest.php +++ /dev/null @@ -1,41 +0,0 @@ -createException(); - $transport = $this->createTransport(); - $evt = $this->createEvent($transport, $ex); - $ref = $evt->getException(); - $this->assertEquals($ex, $ref, - '%s: Exception should be available via getException()' - ); - } - - public function testSourceIsTransport() - { - $ex = $this->createException(); - $transport = $this->createTransport(); - $evt = $this->createEvent($transport, $ex); - $ref = $evt->getSource(); - $this->assertEquals($transport, $ref, - '%s: Transport should be available via getSource()' - ); - } - - private function createEvent(Swift_Transport $transport, Swift_TransportException $ex) - { - return new Swift_Events_TransportExceptionEvent($transport, $ex); - } - - private function createTransport() - { - return $this->getMockBuilder('Swift_Transport')->getMock(); - } - - private function createException() - { - return new Swift_TransportException(''); - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/KeyCache/ArrayKeyCacheTest.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/KeyCache/ArrayKeyCacheTest.php deleted file mode 100644 index 129c99e9b1..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/KeyCache/ArrayKeyCacheTest.php +++ /dev/null @@ -1,240 +0,0 @@ -createKeyCacheInputStream(); - $cache = $this->createCache($is); - $cache->setString( - $this->key1, 'foo', 'test', Swift_KeyCache::MODE_WRITE - ); - $this->assertEquals('test', $cache->getString($this->key1, 'foo')); - } - - public function testStringDataCanBeOverwritten() - { - $is = $this->createKeyCacheInputStream(); - $cache = $this->createCache($is); - $cache->setString( - $this->key1, 'foo', 'test', Swift_KeyCache::MODE_WRITE - ); - $cache->setString( - $this->key1, 'foo', 'whatever', Swift_KeyCache::MODE_WRITE - ); - - $this->assertEquals('whatever', $cache->getString($this->key1, 'foo')); - } - - public function testStringDataCanBeAppended() - { - $is = $this->createKeyCacheInputStream(); - $cache = $this->createCache($is); - $cache->setString( - $this->key1, 'foo', 'test', Swift_KeyCache::MODE_WRITE - ); - $cache->setString( - $this->key1, 'foo', 'ing', Swift_KeyCache::MODE_APPEND - ); - - $this->assertEquals('testing', $cache->getString($this->key1, 'foo')); - } - - public function testHasKeyReturnValue() - { - $is = $this->createKeyCacheInputStream(); - $cache = $this->createCache($is); - $cache->setString( - $this->key1, 'foo', 'test', Swift_KeyCache::MODE_WRITE - ); - - $this->assertTrue($cache->hasKey($this->key1, 'foo')); - } - - public function testNsKeyIsWellPartitioned() - { - $is = $this->createKeyCacheInputStream(); - $cache = $this->createCache($is); - $cache->setString( - $this->key1, 'foo', 'test', Swift_KeyCache::MODE_WRITE - ); - $cache->setString( - $this->key2, 'foo', 'ing', Swift_KeyCache::MODE_WRITE - ); - - $this->assertEquals('test', $cache->getString($this->key1, 'foo')); - $this->assertEquals('ing', $cache->getString($this->key2, 'foo')); - } - - public function testItemKeyIsWellPartitioned() - { - $is = $this->createKeyCacheInputStream(); - $cache = $this->createCache($is); - $cache->setString( - $this->key1, 'foo', 'test', Swift_KeyCache::MODE_WRITE - ); - $cache->setString( - $this->key1, 'bar', 'ing', Swift_KeyCache::MODE_WRITE - ); - - $this->assertEquals('test', $cache->getString($this->key1, 'foo')); - $this->assertEquals('ing', $cache->getString($this->key1, 'bar')); - } - - public function testByteStreamCanBeImported() - { - $os = $this->createOutputStream(); - $os->expects($this->at(0)) - ->method('read') - ->will($this->returnValue('abc')); - $os->expects($this->at(1)) - ->method('read') - ->will($this->returnValue('def')); - $os->expects($this->at(2)) - ->method('read') - ->will($this->returnValue(false)); - - $is = $this->createKeyCacheInputStream(); - $cache = $this->createCache($is); - $cache->importFromByteStream( - $this->key1, 'foo', $os, Swift_KeyCache::MODE_WRITE - ); - $this->assertEquals('abcdef', $cache->getString($this->key1, 'foo')); - } - - public function testByteStreamCanBeAppended() - { - $os1 = $this->createOutputStream(); - $os1->expects($this->at(0)) - ->method('read') - ->will($this->returnValue('abc')); - $os1->expects($this->at(1)) - ->method('read') - ->will($this->returnValue('def')); - $os1->expects($this->at(2)) - ->method('read') - ->will($this->returnValue(false)); - - $os2 = $this->createOutputStream(); - $os2->expects($this->at(0)) - ->method('read') - ->will($this->returnValue('xyz')); - $os2->expects($this->at(1)) - ->method('read') - ->will($this->returnValue('uvw')); - $os2->expects($this->at(2)) - ->method('read') - ->will($this->returnValue(false)); - - $is = $this->createKeyCacheInputStream(true); - - $cache = $this->createCache($is); - - $cache->importFromByteStream( - $this->key1, 'foo', $os1, Swift_KeyCache::MODE_APPEND - ); - $cache->importFromByteStream( - $this->key1, 'foo', $os2, Swift_KeyCache::MODE_APPEND - ); - - $this->assertEquals('abcdefxyzuvw', $cache->getString($this->key1, 'foo')); - } - - public function testByteStreamAndStringCanBeAppended() - { - $os = $this->createOutputStream(); - $os->expects($this->at(0)) - ->method('read') - ->will($this->returnValue('abc')); - $os->expects($this->at(1)) - ->method('read') - ->will($this->returnValue('def')); - $os->expects($this->at(2)) - ->method('read') - ->will($this->returnValue(false)); - - $is = $this->createKeyCacheInputStream(true); - - $cache = $this->createCache($is); - - $cache->setString( - $this->key1, 'foo', 'test', Swift_KeyCache::MODE_APPEND - ); - $cache->importFromByteStream( - $this->key1, 'foo', $os, Swift_KeyCache::MODE_APPEND - ); - $this->assertEquals('testabcdef', $cache->getString($this->key1, 'foo')); - } - - public function testDataCanBeExportedToByteStream() - { - //See acceptance test for more detail - $is = $this->createInputStream(); - $is->expects($this->atLeastOnce()) - ->method('write'); - - $kcis = $this->createKeyCacheInputStream(true); - - $cache = $this->createCache($kcis); - - $cache->setString( - $this->key1, 'foo', 'test', Swift_KeyCache::MODE_WRITE - ); - - $cache->exportToByteStream($this->key1, 'foo', $is); - } - - public function testKeyCanBeCleared() - { - $is = $this->createKeyCacheInputStream(); - $cache = $this->createCache($is); - - $cache->setString( - $this->key1, 'foo', 'test', Swift_KeyCache::MODE_WRITE - ); - $this->assertTrue($cache->hasKey($this->key1, 'foo')); - $cache->clearKey($this->key1, 'foo'); - $this->assertFalse($cache->hasKey($this->key1, 'foo')); - } - - public function testNsKeyCanBeCleared() - { - $is = $this->createKeyCacheInputStream(); - $cache = $this->createCache($is); - - $cache->setString( - $this->key1, 'foo', 'test', Swift_KeyCache::MODE_WRITE - ); - $cache->setString( - $this->key1, 'bar', 'xyz', Swift_KeyCache::MODE_WRITE - ); - $this->assertTrue($cache->hasKey($this->key1, 'foo')); - $this->assertTrue($cache->hasKey($this->key1, 'bar')); - $cache->clearAll($this->key1); - $this->assertFalse($cache->hasKey($this->key1, 'foo')); - $this->assertFalse($cache->hasKey($this->key1, 'bar')); - } - - private function createCache($is) - { - return new Swift_KeyCache_ArrayKeyCache($is); - } - - private function createKeyCacheInputStream() - { - return $this->getMockBuilder('Swift_KeyCache_KeyCacheInputStream')->getMock(); - } - - private function createOutputStream() - { - return $this->getMockBuilder('Swift_OutputByteStream')->getMock(); - } - - private function createInputStream() - { - return $this->getMockBuilder('Swift_InputByteStream')->getMock(); - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/KeyCache/SimpleKeyCacheInputStreamTest.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/KeyCache/SimpleKeyCacheInputStreamTest.php deleted file mode 100644 index 4274aafd54..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/KeyCache/SimpleKeyCacheInputStreamTest.php +++ /dev/null @@ -1,73 +0,0 @@ -getMockBuilder('Swift_KeyCache')->getMock(); - $cache->expects($this->at(0)) - ->method('setString') - ->with($this->nsKey, 'foo', 'a', Swift_KeyCache::MODE_APPEND); - $cache->expects($this->at(1)) - ->method('setString') - ->with($this->nsKey, 'foo', 'b', Swift_KeyCache::MODE_APPEND); - $cache->expects($this->at(2)) - ->method('setString') - ->with($this->nsKey, 'foo', 'c', Swift_KeyCache::MODE_APPEND); - - $stream = new Swift_KeyCache_SimpleKeyCacheInputStream(); - $stream->setKeyCache($cache); - $stream->setNsKey($this->nsKey); - $stream->setItemKey('foo'); - - $stream->write('a'); - $stream->write('b'); - $stream->write('c'); - } - - public function testFlushContentClearsKey() - { - $cache = $this->getMockBuilder('Swift_KeyCache')->getMock(); - $cache->expects($this->once()) - ->method('clearKey') - ->with($this->nsKey, 'foo'); - - $stream = new Swift_KeyCache_SimpleKeyCacheInputStream(); - $stream->setKeyCache($cache); - $stream->setNsKey($this->nsKey); - $stream->setItemKey('foo'); - - $stream->flushBuffers(); - } - - public function testClonedStreamStillReferencesSameCache() - { - $cache = $this->getMockBuilder('Swift_KeyCache')->getMock(); - $cache->expects($this->at(0)) - ->method('setString') - ->with($this->nsKey, 'foo', 'a', Swift_KeyCache::MODE_APPEND); - $cache->expects($this->at(1)) - ->method('setString') - ->with($this->nsKey, 'foo', 'b', Swift_KeyCache::MODE_APPEND); - $cache->expects($this->at(2)) - ->method('setString') - ->with('test', 'bar', 'x', Swift_KeyCache::MODE_APPEND); - - $stream = new Swift_KeyCache_SimpleKeyCacheInputStream(); - $stream->setKeyCache($cache); - $stream->setNsKey($this->nsKey); - $stream->setItemKey('foo'); - - $stream->write('a'); - $stream->write('b'); - - $newStream = clone $stream; - $newStream->setKeyCache($cache); - $newStream->setNsKey('test'); - $newStream->setItemKey('bar'); - - $newStream->write('x'); - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mailer/ArrayRecipientIteratorTest.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mailer/ArrayRecipientIteratorTest.php deleted file mode 100644 index 12506ddfb1..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mailer/ArrayRecipientIteratorTest.php +++ /dev/null @@ -1,42 +0,0 @@ -assertFalse($it->hasNext()); - } - - public function testHasNextReturnsTrueIfItemsLeft() - { - $it = new Swift_Mailer_ArrayRecipientIterator(['foo@bar' => 'Foo']); - $this->assertTrue($it->hasNext()); - } - - public function testReadingToEndOfListCausesHasNextToReturnFalse() - { - $it = new Swift_Mailer_ArrayRecipientIterator(['foo@bar' => 'Foo']); - $this->assertTrue($it->hasNext()); - $it->nextRecipient(); - $this->assertFalse($it->hasNext()); - } - - public function testReturnedValueHasPreservedKeyValuePair() - { - $it = new Swift_Mailer_ArrayRecipientIterator(['foo@bar' => 'Foo']); - $this->assertEquals(['foo@bar' => 'Foo'], $it->nextRecipient()); - } - - public function testIteratorMovesNextAfterEachIteration() - { - $it = new Swift_Mailer_ArrayRecipientIterator([ - 'foo@bar' => 'Foo', - 'zip@button' => 'Zip thing', - 'test@test' => null, - ]); - $this->assertEquals(['foo@bar' => 'Foo'], $it->nextRecipient()); - $this->assertEquals(['zip@button' => 'Zip thing'], $it->nextRecipient()); - $this->assertEquals(['test@test' => null], $it->nextRecipient()); - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/MailerTest.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/MailerTest.php deleted file mode 100644 index a2a96d0f9a..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/MailerTest.php +++ /dev/null @@ -1,145 +0,0 @@ -createTransport(); - $message = $this->createMessage(); - - $started = false; - $transport->shouldReceive('isStarted') - ->zeroOrMoreTimes() - ->andReturnUsing(function () use (&$started) { - return $started; - }); - $transport->shouldReceive('start') - ->once() - ->andReturnUsing(function () use (&$started) { - $started = true; - - return; - }); - - $mailer = $this->createMailer($transport); - $mailer->send($message); - } - - public function testTransportIsOnlyStartedOnce() - { - $transport = $this->createTransport(); - $message = $this->createMessage(); - - $started = false; - $transport->shouldReceive('isStarted') - ->zeroOrMoreTimes() - ->andReturnUsing(function () use (&$started) { - return $started; - }); - $transport->shouldReceive('start') - ->once() - ->andReturnUsing(function () use (&$started) { - $started = true; - - return; - }); - - $mailer = $this->createMailer($transport); - for ($i = 0; $i < 10; ++$i) { - $mailer->send($message); - } - } - - public function testMessageIsPassedToTransport() - { - $transport = $this->createTransport(); - $message = $this->createMessage(); - $transport->shouldReceive('send') - ->once() - ->with($message, \Mockery::any()); - - $mailer = $this->createMailer($transport); - $mailer->send($message); - } - - public function testSendReturnsCountFromTransport() - { - $transport = $this->createTransport(); - $message = $this->createMessage(); - $transport->shouldReceive('send') - ->once() - ->with($message, \Mockery::any()) - ->andReturn(57); - - $mailer = $this->createMailer($transport); - $this->assertEquals(57, $mailer->send($message)); - } - - public function testFailedRecipientReferenceIsPassedToTransport() - { - $failures = []; - - $transport = $this->createTransport(); - $message = $this->createMessage(); - $transport->shouldReceive('send') - ->once() - ->with($message, $failures) - ->andReturn(57); - - $mailer = $this->createMailer($transport); - $mailer->send($message, $failures); - } - - public function testSendRecordsRfcComplianceExceptionAsEntireSendFailure() - { - $failures = []; - - $rfcException = new Swift_RfcComplianceException('test'); - $transport = $this->createTransport(); - $message = $this->createMessage(); - $message->shouldReceive('getTo') - ->once() - ->andReturn(['foo&invalid' => 'Foo', 'bar@valid.tld' => 'Bar']); - $transport->shouldReceive('send') - ->once() - ->with($message, $failures) - ->andThrow($rfcException); - - $mailer = $this->createMailer($transport); - $this->assertEquals(0, $mailer->send($message, $failures), '%s: Should return 0'); - $this->assertEquals(['foo&invalid', 'bar@valid.tld'], $failures, '%s: Failures should contain all addresses since the entire message failed to compile'); - } - - public function testRegisterPluginDelegatesToTransport() - { - $plugin = $this->createPlugin(); - $transport = $this->createTransport(); - $mailer = $this->createMailer($transport); - - $transport->shouldReceive('registerPlugin') - ->once() - ->with($plugin); - - $mailer->registerPlugin($plugin); - } - - private function createPlugin() - { - return $this->getMockery('Swift_Events_EventListener')->shouldIgnoreMissing(); - } - - private function createTransport() - { - return $this->getMockery('Swift_Transport')->shouldIgnoreMissing(); - } - - private function createMessage() - { - return $this->getMockery('Swift_Mime_SimpleMessage')->shouldIgnoreMissing(); - } - - private function createMailer(Swift_Transport $transport) - { - return new Swift_Mailer($transport); - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/MessageTest.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/MessageTest.php deleted file mode 100644 index 3ebbd7ea25..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/MessageTest.php +++ /dev/null @@ -1,133 +0,0 @@ -recursiveObjectCloningCheck($message1, $message2, $message1_clone); - // the test above will fail if the two messages are not identical - $this->addToAssertionCount(1); - } - - public function testCloningWithSigners() - { - $message1 = new Swift_Message('subj', 'body', 'ctype'); - $signer = new Swift_Signers_DKIMSigner(dirname(dirname(__DIR__)).'/_samples/dkim/dkim.test.priv', 'test.example', 'example'); - $message1->attachSigner($signer); - $message2 = new Swift_Message('subj', 'body', 'ctype'); - $signer = new Swift_Signers_DKIMSigner(dirname(dirname(__DIR__)).'/_samples/dkim/dkim.test.priv', 'test.example', 'example'); - $message2->attachSigner($signer); - $message1_clone = clone $message1; - - $this->recursiveObjectCloningCheck($message1, $message2, $message1_clone); - // the test above will fail if the two messages are not identical - $this->addToAssertionCount(1); - } - - public function testBodySwap() - { - $message1 = new Swift_Message('Test'); - $html = new Swift_MimePart('', 'text/html'); - $html->getHeaders()->addTextHeader('X-Test-Remove', 'Test-Value'); - $html->getHeaders()->addTextHeader('X-Test-Alter', 'Test-Value'); - $message1->attach($html); - $source = $message1->toString(); - $message2 = clone $message1; - $message2->setSubject('Message2'); - foreach ($message2->getChildren() as $child) { - $child->setBody('Test'); - $child->getHeaders()->removeAll('X-Test-Remove'); - $child->getHeaders()->get('X-Test-Alter')->setValue('Altered'); - } - $final = $message1->toString(); - if ($source != $final) { - $this->fail("Difference although object cloned \n [".$source."]\n[".$final."]\n"); - } - $final = $message2->toString(); - if ($final == $source) { - $this->fail('Two body matches although they should differ'."\n [".$source."]\n[".$final."]\n"); - } - $id_1 = $message1->getId(); - $id_2 = $message2->getId(); - $this->assertEquals($id_1, $id_2, 'Message Ids differ'); - $id_2 = $message2->generateId(); - $this->assertNotEquals($id_1, $id_2, 'Message Ids are the same'); - } - - protected function recursiveObjectCloningCheck($obj1, $obj2, $obj1_clone) - { - $obj1_properties = (array) $obj1; - $obj2_properties = (array) $obj2; - $obj1_clone_properties = (array) $obj1_clone; - - foreach ($obj1_properties as $property => $value) { - if (is_object($value)) { - $obj1_value = $obj1_properties[$property]; - $obj2_value = $obj2_properties[$property]; - $obj1_clone_value = $obj1_clone_properties[$property]; - - if ($obj1_value !== $obj2_value) { - // two separetely instanciated objects property not referencing same object - $this->assertFalse( - // but object's clone does - not everything copied - $obj1_value === $obj1_clone_value, - "Property `$property` cloning error: source and cloned objects property is referencing same object" - ); - } else { - // two separetely instanciated objects have same reference - $this->assertFalse( - // but object's clone doesn't - overdone making copies - $obj1_value !== $obj1_clone_value, - "Property `$property` not properly cloned: it should reference same object as cloning source (overdone copping)" - ); - } - // recurse - $this->recursiveObjectCloningCheck($obj1_value, $obj2_value, $obj1_clone_value); - } elseif (is_array($value)) { - $obj1_value = $obj1_properties[$property]; - $obj2_value = $obj2_properties[$property]; - $obj1_clone_value = $obj1_clone_properties[$property]; - - return $this->recursiveArrayCloningCheck($obj1_value, $obj2_value, $obj1_clone_value); - } - } - } - - protected function recursiveArrayCloningCheck($array1, $array2, $array1_clone) - { - foreach ($array1 as $key => $value) { - if (is_object($value)) { - $arr1_value = $array1[$key]; - $arr2_value = $array2[$key]; - $arr1_clone_value = $array1_clone[$key]; - if ($arr1_value !== $arr2_value) { - // two separetely instanciated objects property not referencing same object - $this->assertFalse( - // but object's clone does - not everything copied - $arr1_value === $arr1_clone_value, - "Key `$key` cloning error: source and cloned objects property is referencing same object" - ); - } else { - // two separetely instanciated objects have same reference - $this->assertFalse( - // but object's clone doesn't - overdone making copies - $arr1_value !== $arr1_clone_value, - "Key `$key` not properly cloned: it should reference same object as cloning source (overdone copping)" - ); - } - // recurse - $this->recursiveObjectCloningCheck($arr1_value, $arr2_value, $arr1_clone_value); - } elseif (is_array($value)) { - $arr1_value = $array1[$key]; - $arr2_value = $array2[$key]; - $arr1_clone_value = $array1_clone[$key]; - - return $this->recursiveArrayCloningCheck($arr1_value, $arr2_value, $arr1_clone_value); - } - } - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/AbstractMimeEntityTest.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/AbstractMimeEntityTest.php deleted file mode 100644 index c7c2c03d19..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/AbstractMimeEntityTest.php +++ /dev/null @@ -1,1092 +0,0 @@ -createHeaderSet(); - $entity = $this->createEntity($headers, $this->createEncoder(), - $this->createCache() - ); - $this->assertSame($headers, $entity->getHeaders()); - } - - public function testContentTypeIsReturnedFromHeader() - { - $ctype = $this->createHeader('Content-Type', 'image/jpeg-test'); - $headers = $this->createHeaderSet(['Content-Type' => $ctype]); - $entity = $this->createEntity($headers, $this->createEncoder(), - $this->createCache() - ); - $this->assertEquals('image/jpeg-test', $entity->getContentType()); - } - - public function testContentTypeIsSetInHeader() - { - $ctype = $this->createHeader('Content-Type', 'text/plain', [], false); - $headers = $this->createHeaderSet(['Content-Type' => $ctype]); - - $ctype->shouldReceive('setFieldBodyModel') - ->once() - ->with('image/jpeg'); - $ctype->shouldReceive('setFieldBodyModel') - ->zeroOrMoreTimes() - ->with(\Mockery::not('image/jpeg')); - - $entity = $this->createEntity($headers, $this->createEncoder(), - $this->createCache() - ); - $entity->setContentType('image/jpeg'); - } - - public function testContentTypeHeaderIsAddedIfNoneSet() - { - $headers = $this->createHeaderSet([], false); - $headers->shouldReceive('addParameterizedHeader') - ->once() - ->with('Content-Type', 'image/jpeg'); - $headers->shouldReceive('addParameterizedHeader') - ->zeroOrMoreTimes(); - - $entity = $this->createEntity($headers, $this->createEncoder(), - $this->createCache() - ); - $entity->setContentType('image/jpeg'); - } - - public function testContentTypeCanBeSetViaSetBody() - { - $headers = $this->createHeaderSet([], false); - $headers->shouldReceive('addParameterizedHeader') - ->once() - ->with('Content-Type', 'text/html'); - $headers->shouldReceive('addParameterizedHeader') - ->zeroOrMoreTimes(); - - $entity = $this->createEntity($headers, $this->createEncoder(), - $this->createCache() - ); - $entity->setBody('foo', 'text/html'); - } - - public function testGetEncoderFromConstructor() - { - $encoder = $this->createEncoder('base64'); - $entity = $this->createEntity($this->createHeaderSet(), $encoder, - $this->createCache() - ); - $this->assertSame($encoder, $entity->getEncoder()); - } - - public function testSetAndGetEncoder() - { - $encoder = $this->createEncoder('base64'); - $headers = $this->createHeaderSet(); - $entity = $this->createEntity($headers, $this->createEncoder(), - $this->createCache() - ); - $entity->setEncoder($encoder); - $this->assertSame($encoder, $entity->getEncoder()); - } - - public function testSettingEncoderUpdatesTransferEncoding() - { - $encoder = $this->createEncoder('base64'); - $encoding = $this->createHeader( - 'Content-Transfer-Encoding', '8bit', [], false - ); - $headers = $this->createHeaderSet([ - 'Content-Transfer-Encoding' => $encoding, - ]); - $encoding->shouldReceive('setFieldBodyModel') - ->once() - ->with('base64'); - $encoding->shouldReceive('setFieldBodyModel') - ->zeroOrMoreTimes(); - - $entity = $this->createEntity($headers, $this->createEncoder(), - $this->createCache() - ); - $entity->setEncoder($encoder); - } - - public function testSettingEncoderAddsEncodingHeaderIfNonePresent() - { - $headers = $this->createHeaderSet([], false); - $headers->shouldReceive('addTextHeader') - ->once() - ->with('Content-Transfer-Encoding', 'something'); - $headers->shouldReceive('addTextHeader') - ->zeroOrMoreTimes(); - - $entity = $this->createEntity($headers, $this->createEncoder(), - $this->createCache() - ); - $entity->setEncoder($this->createEncoder('something')); - } - - public function testIdIsReturnedFromHeader() - { - /* -- RFC 2045, 7. - In constructing a high-level user agent, it may be desirable to allow - one body to make reference to another. Accordingly, bodies may be - labelled using the "Content-ID" header field, which is syntactically - identical to the "Message-ID" header field - */ - - $cid = $this->createHeader('Content-ID', 'zip@button'); - $headers = $this->createHeaderSet(['Content-ID' => $cid]); - $entity = $this->createEntity($headers, $this->createEncoder(), - $this->createCache() - ); - $this->assertEquals('zip@button', $entity->getId()); - } - - public function testIdIsSetInHeader() - { - $cid = $this->createHeader('Content-ID', 'zip@button', [], false); - $headers = $this->createHeaderSet(['Content-ID' => $cid]); - - $cid->shouldReceive('setFieldBodyModel') - ->once() - ->with('foo@bar'); - $cid->shouldReceive('setFieldBodyModel') - ->zeroOrMoreTimes(); - - $entity = $this->createEntity($headers, $this->createEncoder(), - $this->createCache() - ); - $entity->setId('foo@bar'); - } - - public function testIdIsAutoGenerated() - { - $entity = $this->createEntity($this->createHeaderSet(), - $this->createEncoder(), $this->createCache() - ); - $this->assertRegExp('/^.*?@.*?$/D', $entity->getId()); - } - - public function testGenerateIdCreatesNewId() - { - $headers = $this->createHeaderSet(); - $entity = $this->createEntity($headers, $this->createEncoder(), - $this->createCache() - ); - $id1 = $entity->generateId(); - $id2 = $entity->generateId(); - $this->assertNotEquals($id1, $id2); - } - - public function testGenerateIdSetsNewId() - { - $headers = $this->createHeaderSet(); - $entity = $this->createEntity($headers, $this->createEncoder(), - $this->createCache() - ); - $id = $entity->generateId(); - $this->assertEquals($id, $entity->getId()); - } - - public function testDescriptionIsReadFromHeader() - { - /* -- RFC 2045, 8. - The ability to associate some descriptive information with a given - body is often desirable. For example, it may be useful to mark an - "image" body as "a picture of the Space Shuttle Endeavor." Such text - may be placed in the Content-Description header field. This header - field is always optional. - */ - - $desc = $this->createHeader('Content-Description', 'something'); - $headers = $this->createHeaderSet(['Content-Description' => $desc]); - $entity = $this->createEntity($headers, $this->createEncoder(), - $this->createCache() - ); - $this->assertEquals('something', $entity->getDescription()); - } - - public function testDescriptionIsSetInHeader() - { - $desc = $this->createHeader('Content-Description', '', [], false); - $desc->shouldReceive('setFieldBodyModel')->once()->with('whatever'); - - $headers = $this->createHeaderSet(['Content-Description' => $desc]); - - $entity = $this->createEntity($headers, $this->createEncoder(), - $this->createCache() - ); - $entity->setDescription('whatever'); - } - - public function testDescriptionHeaderIsAddedIfNotPresent() - { - $headers = $this->createHeaderSet([], false); - $headers->shouldReceive('addTextHeader') - ->once() - ->with('Content-Description', 'whatever'); - $headers->shouldReceive('addTextHeader') - ->zeroOrMoreTimes(); - - $entity = $this->createEntity($headers, $this->createEncoder(), - $this->createCache() - ); - $entity->setDescription('whatever'); - } - - public function testSetAndGetMaxLineLength() - { - $entity = $this->createEntity($this->createHeaderSet(), - $this->createEncoder(), $this->createCache() - ); - $entity->setMaxLineLength(60); - $this->assertEquals(60, $entity->getMaxLineLength()); - } - - public function testEncoderIsUsedForStringGeneration() - { - $encoder = $this->createEncoder('base64', false); - $encoder->expects($this->once()) - ->method('encodeString') - ->with('blah'); - - $entity = $this->createEntity($this->createHeaderSet(), - $encoder, $this->createCache() - ); - $entity->setBody('blah'); - $entity->toString(); - } - - public function testMaxLineLengthIsProvidedWhenEncoding() - { - $encoder = $this->createEncoder('base64', false); - $encoder->expects($this->once()) - ->method('encodeString') - ->with('blah', 0, 65); - - $entity = $this->createEntity($this->createHeaderSet(), - $encoder, $this->createCache() - ); - $entity->setBody('blah'); - $entity->setMaxLineLength(65); - $entity->toString(); - } - - public function testHeadersAppearInString() - { - $headers = $this->createHeaderSet([], false); - $headers->shouldReceive('toString') - ->once() - ->andReturn( - "Content-Type: text/plain; charset=utf-8\r\n". - "X-MyHeader: foobar\r\n" - ); - - $entity = $this->createEntity($headers, $this->createEncoder(), - $this->createCache() - ); - $this->assertEquals( - "Content-Type: text/plain; charset=utf-8\r\n". - "X-MyHeader: foobar\r\n", - $entity->toString() - ); - } - - public function testSetAndGetBody() - { - $entity = $this->createEntity($this->createHeaderSet(), - $this->createEncoder(), $this->createCache() - ); - $entity->setBody("blah\r\nblah!"); - $this->assertEquals("blah\r\nblah!", $entity->getBody()); - } - - public function testBodyIsAppended() - { - $headers = $this->createHeaderSet([], false); - $headers->shouldReceive('toString') - ->once() - ->andReturn("Content-Type: text/plain; charset=utf-8\r\n"); - - $entity = $this->createEntity($headers, $this->createEncoder(), - $this->createCache() - ); - $entity->setBody("blah\r\nblah!"); - $this->assertEquals( - "Content-Type: text/plain; charset=utf-8\r\n". - "\r\n". - "blah\r\nblah!", - $entity->toString() - ); - } - - public function testGetBodyReturnsStringFromByteStream() - { - $os = $this->createOutputStream('byte stream string'); - $entity = $this->createEntity($this->createHeaderSet(), - $this->createEncoder(), $this->createCache() - ); - $entity->setBody($os); - $this->assertEquals('byte stream string', $entity->getBody()); - } - - public function testByteStreamBodyIsAppended() - { - $headers = $this->createHeaderSet([], false); - $os = $this->createOutputStream('streamed'); - $headers->shouldReceive('toString') - ->once() - ->andReturn("Content-Type: text/plain; charset=utf-8\r\n"); - - $entity = $this->createEntity($headers, $this->createEncoder(), - $this->createCache() - ); - $entity->setBody($os); - $this->assertEquals( - "Content-Type: text/plain; charset=utf-8\r\n". - "\r\n". - 'streamed', - $entity->toString() - ); - } - - public function testBoundaryCanBeRetrieved() - { - /* -- RFC 2046, 5.1.1. - boundary := 0*69 bcharsnospace - - bchars := bcharsnospace / " " - - bcharsnospace := DIGIT / ALPHA / "'" / "(" / ")" / - "+" / "_" / "," / "-" / "." / - "/" / ":" / "=" / "?" - */ - - $entity = $this->createEntity($this->createHeaderSet(), - $this->createEncoder(), $this->createCache() - ); - $this->assertRegExp( - '/^[a-zA-Z0-9\'\(\)\+_\-,\.\/:=\?\ ]{0,69}[a-zA-Z0-9\'\(\)\+_\-,\.\/:=\?]$/D', - $entity->getBoundary() - ); - } - - public function testBoundaryNeverChanges() - { - $entity = $this->createEntity($this->createHeaderSet(), - $this->createEncoder(), $this->createCache() - ); - $firstBoundary = $entity->getBoundary(); - for ($i = 0; $i < 10; ++$i) { - $this->assertEquals($firstBoundary, $entity->getBoundary()); - } - } - - public function testBoundaryCanBeSet() - { - $entity = $this->createEntity($this->createHeaderSet(), - $this->createEncoder(), $this->createCache() - ); - $entity->setBoundary('foobar'); - $this->assertEquals('foobar', $entity->getBoundary()); - } - - public function testAddingChildrenGeneratesBoundaryInHeaders() - { - $child = $this->createChild(); - $cType = $this->createHeader('Content-Type', 'text/plain', [], false); - $cType->shouldReceive('setParameter') - ->once() - ->with('boundary', \Mockery::any()); - $cType->shouldReceive('setParameter') - ->zeroOrMoreTimes(); - - $entity = $this->createEntity($this->createHeaderSet([ - 'Content-Type' => $cType, - ]), - $this->createEncoder(), $this->createCache() - ); - $entity->setChildren([$child]); - } - - public function testChildrenOfLevelAttachmentAndLessCauseMultipartMixed() - { - for ($level = Swift_Mime_SimpleMimeEntity::LEVEL_MIXED; - $level > Swift_Mime_SimpleMimeEntity::LEVEL_TOP; $level /= 2) { - $child = $this->createChild($level); - $cType = $this->createHeader( - 'Content-Type', 'text/plain', [], false - ); - $cType->shouldReceive('setFieldBodyModel') - ->once() - ->with('multipart/mixed'); - $cType->shouldReceive('setFieldBodyModel') - ->zeroOrMoreTimes(); - - $entity = $this->createEntity($this->createHeaderSet([ - 'Content-Type' => $cType, ]), - $this->createEncoder(), $this->createCache() - ); - $entity->setChildren([$child]); - } - } - - public function testChildrenOfLevelAlternativeAndLessCauseMultipartAlternative() - { - for ($level = Swift_Mime_SimpleMimeEntity::LEVEL_ALTERNATIVE; - $level > Swift_Mime_SimpleMimeEntity::LEVEL_MIXED; $level /= 2) { - $child = $this->createChild($level); - $cType = $this->createHeader( - 'Content-Type', 'text/plain', [], false - ); - $cType->shouldReceive('setFieldBodyModel') - ->once() - ->with('multipart/alternative'); - $cType->shouldReceive('setFieldBodyModel') - ->zeroOrMoreTimes(); - - $entity = $this->createEntity($this->createHeaderSet([ - 'Content-Type' => $cType, ]), - $this->createEncoder(), $this->createCache() - ); - $entity->setChildren([$child]); - } - } - - public function testChildrenOfLevelRelatedAndLessCauseMultipartRelated() - { - for ($level = Swift_Mime_SimpleMimeEntity::LEVEL_RELATED; - $level > Swift_Mime_SimpleMimeEntity::LEVEL_ALTERNATIVE; $level /= 2) { - $child = $this->createChild($level); - $cType = $this->createHeader( - 'Content-Type', 'text/plain', [], false - ); - $cType->shouldReceive('setFieldBodyModel') - ->once() - ->with('multipart/related'); - $cType->shouldReceive('setFieldBodyModel') - ->zeroOrMoreTimes(); - - $entity = $this->createEntity($this->createHeaderSet([ - 'Content-Type' => $cType, ]), - $this->createEncoder(), $this->createCache() - ); - $entity->setChildren([$child]); - } - } - - public function testHighestLevelChildDeterminesContentType() - { - $combinations = [ - ['levels' => [Swift_Mime_SimpleMimeEntity::LEVEL_MIXED, - Swift_Mime_SimpleMimeEntity::LEVEL_ALTERNATIVE, - Swift_Mime_SimpleMimeEntity::LEVEL_RELATED, - ], - 'type' => 'multipart/mixed', - ], - ['levels' => [Swift_Mime_SimpleMimeEntity::LEVEL_MIXED, - Swift_Mime_SimpleMimeEntity::LEVEL_RELATED, - ], - 'type' => 'multipart/mixed', - ], - ['levels' => [Swift_Mime_SimpleMimeEntity::LEVEL_MIXED, - Swift_Mime_SimpleMimeEntity::LEVEL_ALTERNATIVE, - ], - 'type' => 'multipart/mixed', - ], - ['levels' => [Swift_Mime_SimpleMimeEntity::LEVEL_ALTERNATIVE, - Swift_Mime_SimpleMimeEntity::LEVEL_RELATED, - ], - 'type' => 'multipart/alternative', - ], - ]; - - foreach ($combinations as $combination) { - $children = []; - foreach ($combination['levels'] as $level) { - $children[] = $this->createChild($level); - } - - $cType = $this->createHeader( - 'Content-Type', 'text/plain', [], false - ); - $cType->shouldReceive('setFieldBodyModel') - ->once() - ->with($combination['type']); - - $headerSet = $this->createHeaderSet(['Content-Type' => $cType]); - $headerSet->shouldReceive('newInstance') - ->zeroOrMoreTimes() - ->andReturnUsing(function () use ($headerSet) { - return $headerSet; - }); - $entity = $this->createEntity($headerSet, - $this->createEncoder(), $this->createCache() - ); - $entity->setChildren($children); - } - } - - public function testChildrenAppearNestedInString() - { - /* -- RFC 2046, 5.1.1. - (excerpt too verbose to paste here) - */ - - $headers = $this->createHeaderSet([], false); - - $child1 = new MimeEntityFixture(Swift_Mime_SimpleMimeEntity::LEVEL_ALTERNATIVE, - "Content-Type: text/plain\r\n". - "\r\n". - 'foobar', 'text/plain' - ); - - $child2 = new MimeEntityFixture(Swift_Mime_SimpleMimeEntity::LEVEL_ALTERNATIVE, - "Content-Type: text/html\r\n". - "\r\n". - 'foobar', 'text/html' - ); - - $headers->shouldReceive('toString') - ->zeroOrMoreTimes() - ->andReturn("Content-Type: multipart/alternative; boundary=\"xxx\"\r\n"); - - $entity = $this->createEntity($headers, $this->createEncoder(), - $this->createCache() - ); - $entity->setBoundary('xxx'); - $entity->setChildren([$child1, $child2]); - - $this->assertEquals( - "Content-Type: multipart/alternative; boundary=\"xxx\"\r\n". - "\r\n". - "\r\n--xxx\r\n". - "Content-Type: text/plain\r\n". - "\r\n". - "foobar\r\n". - "\r\n--xxx\r\n". - "Content-Type: text/html\r\n". - "\r\n". - "foobar\r\n". - "\r\n--xxx--\r\n", - $entity->toString() - ); - } - - public function testMixingLevelsIsHierarchical() - { - $headers = $this->createHeaderSet([], false); - $newHeaders = $this->createHeaderSet([], false); - - $part = $this->createChild(Swift_Mime_SimpleMimeEntity::LEVEL_ALTERNATIVE, - "Content-Type: text/plain\r\n". - "\r\n". - 'foobar' - ); - - $attachment = $this->createChild(Swift_Mime_SimpleMimeEntity::LEVEL_MIXED, - "Content-Type: application/octet-stream\r\n". - "\r\n". - 'data' - ); - - $headers->shouldReceive('toString') - ->zeroOrMoreTimes() - ->andReturn("Content-Type: multipart/mixed; boundary=\"xxx\"\r\n"); - $headers->shouldReceive('newInstance') - ->zeroOrMoreTimes() - ->andReturn($newHeaders); - $newHeaders->shouldReceive('toString') - ->zeroOrMoreTimes() - ->andReturn("Content-Type: multipart/alternative; boundary=\"yyy\"\r\n"); - - $entity = $this->createEntity($headers, $this->createEncoder(), - $this->createCache() - ); - $entity->setBoundary('xxx'); - $entity->setChildren([$part, $attachment]); - - $this->assertRegExp( - '~^'. - "Content-Type: multipart/mixed; boundary=\"xxx\"\r\n". - "\r\n\r\n--xxx\r\n". - "Content-Type: multipart/alternative; boundary=\"yyy\"\r\n". - "\r\n\r\n--(.*?)\r\n". - "Content-Type: text/plain\r\n". - "\r\n". - 'foobar'. - "\r\n\r\n--\\1--\r\n". - "\r\n\r\n--xxx\r\n". - "Content-Type: application/octet-stream\r\n". - "\r\n". - 'data'. - "\r\n\r\n--xxx--\r\n". - '$~', - $entity->toString() - ); - } - - public function testSettingEncoderNotifiesChildren() - { - $child = $this->createChild(0, '', false); - $encoder = $this->createEncoder('base64'); - - $child->shouldReceive('encoderChanged') - ->once() - ->with($encoder); - - $entity = $this->createEntity($this->createHeaderSet(), - $this->createEncoder(), $this->createCache() - ); - $entity->setChildren([$child]); - $entity->setEncoder($encoder); - } - - public function testReceiptOfEncoderChangeNotifiesChildren() - { - $child = $this->createChild(0, '', false); - $encoder = $this->createEncoder('base64'); - - $child->shouldReceive('encoderChanged') - ->once() - ->with($encoder); - - $entity = $this->createEntity($this->createHeaderSet(), - $this->createEncoder(), $this->createCache() - ); - $entity->setChildren([$child]); - $entity->encoderChanged($encoder); - } - - public function testReceiptOfCharsetChangeNotifiesChildren() - { - $child = $this->createChild(0, '', false); - $child->shouldReceive('charsetChanged') - ->once() - ->with('windows-874'); - - $entity = $this->createEntity($this->createHeaderSet(), - $this->createEncoder(), $this->createCache() - ); - $entity->setChildren([$child]); - $entity->charsetChanged('windows-874'); - } - - public function testEntityIsWrittenToByteStream() - { - $entity = $this->createEntity($this->createHeaderSet(), - $this->createEncoder(), $this->createCache() - ); - $is = $this->createInputStream(false); - $is->expects($this->atLeastOnce()) - ->method('write'); - - $entity->toByteStream($is); - } - - public function testEntityHeadersAreComittedToByteStream() - { - $entity = $this->createEntity($this->createHeaderSet(), - $this->createEncoder(), $this->createCache() - ); - $is = $this->createInputStream(false); - $is->expects($this->atLeastOnce()) - ->method('write'); - $is->expects($this->atLeastOnce()) - ->method('commit'); - - $entity->toByteStream($is); - } - - public function testOrderingTextBeforeHtml() - { - $htmlChild = new MimeEntityFixture(Swift_Mime_SimpleMimeEntity::LEVEL_ALTERNATIVE, - "Content-Type: text/html\r\n". - "\r\n". - 'HTML PART', - 'text/html' - ); - $textChild = new MimeEntityFixture(Swift_Mime_SimpleMimeEntity::LEVEL_ALTERNATIVE, - "Content-Type: text/plain\r\n". - "\r\n". - 'TEXT PART', - 'text/plain' - ); - $headers = $this->createHeaderSet([], false); - $headers->shouldReceive('toString') - ->zeroOrMoreTimes() - ->andReturn("Content-Type: multipart/alternative; boundary=\"xxx\"\r\n"); - - $entity = $this->createEntity($headers, $this->createEncoder(), - $this->createCache() - ); - $entity->setBoundary('xxx'); - $entity->setChildren([$htmlChild, $textChild]); - - $this->assertEquals( - "Content-Type: multipart/alternative; boundary=\"xxx\"\r\n". - "\r\n\r\n--xxx\r\n". - "Content-Type: text/plain\r\n". - "\r\n". - 'TEXT PART'. - "\r\n\r\n--xxx\r\n". - "Content-Type: text/html\r\n". - "\r\n". - 'HTML PART'. - "\r\n\r\n--xxx--\r\n", - $entity->toString() - ); - } - - public function testOrderingEqualContentTypesMaintainsOriginalOrdering() - { - $firstChild = new MimeEntityFixture(Swift_Mime_SimpleMimeEntity::LEVEL_ALTERNATIVE, - "Content-Type: text/plain\r\n". - "\r\n". - 'PART 1', - 'text/plain' - ); - $secondChild = new MimeEntityFixture(Swift_Mime_SimpleMimeEntity::LEVEL_ALTERNATIVE, - "Content-Type: text/plain\r\n". - "\r\n". - 'PART 2', - 'text/plain' - ); - $headers = $this->createHeaderSet([], false); - $headers->shouldReceive('toString') - ->zeroOrMoreTimes() - ->andReturn("Content-Type: multipart/alternative; boundary=\"xxx\"\r\n"); - - $entity = $this->createEntity($headers, $this->createEncoder(), - $this->createCache() - ); - $entity->setBoundary('xxx'); - $entity->setChildren([$firstChild, $secondChild]); - - $this->assertEquals( - "Content-Type: multipart/alternative; boundary=\"xxx\"\r\n". - "\r\n\r\n--xxx\r\n". - "Content-Type: text/plain\r\n". - "\r\n". - 'PART 1'. - "\r\n\r\n--xxx\r\n". - "Content-Type: text/plain\r\n". - "\r\n". - 'PART 2'. - "\r\n\r\n--xxx--\r\n", - $entity->toString() - ); - } - - public function testUnsettingChildrenRestoresContentType() - { - $cType = $this->createHeader('Content-Type', 'text/plain', [], false); - $child = $this->createChild(Swift_Mime_SimpleMimeEntity::LEVEL_ALTERNATIVE); - - $cType->shouldReceive('setFieldBodyModel') - ->twice() - ->with('image/jpeg'); - $cType->shouldReceive('setFieldBodyModel') - ->once() - ->with('multipart/alternative'); - $cType->shouldReceive('setFieldBodyModel') - ->zeroOrMoreTimes() - ->with(\Mockery::not('multipart/alternative', 'image/jpeg')); - - $entity = $this->createEntity($this->createHeaderSet([ - 'Content-Type' => $cType, - ]), - $this->createEncoder(), $this->createCache() - ); - - $entity->setContentType('image/jpeg'); - $entity->setChildren([$child]); - $entity->setChildren([]); - } - - public function testBodyIsReadFromCacheWhenUsingToStringIfPresent() - { - $headers = $this->createHeaderSet([], false); - $headers->shouldReceive('toString') - ->zeroOrMoreTimes() - ->andReturn("Content-Type: text/plain; charset=utf-8\r\n"); - - $cache = $this->createCache(false); - $cache->shouldReceive('hasKey') - ->once() - ->with(\Mockery::any(), 'body') - ->andReturn(true); - $cache->shouldReceive('getString') - ->once() - ->with(\Mockery::any(), 'body') - ->andReturn("\r\ncache\r\ncache!"); - - $entity = $this->createEntity($headers, $this->createEncoder(), - $cache - ); - - $entity->setBody("blah\r\nblah!"); - $this->assertEquals( - "Content-Type: text/plain; charset=utf-8\r\n". - "\r\n". - "cache\r\ncache!", - $entity->toString() - ); - } - - public function testBodyIsAddedToCacheWhenUsingToString() - { - $headers = $this->createHeaderSet([], false); - $headers->shouldReceive('toString') - ->zeroOrMoreTimes() - ->andReturn("Content-Type: text/plain; charset=utf-8\r\n"); - - $cache = $this->createCache(false); - $cache->shouldReceive('hasKey') - ->once() - ->with(\Mockery::any(), 'body') - ->andReturn(false); - $cache->shouldReceive('setString') - ->once() - ->with(\Mockery::any(), 'body', "\r\nblah\r\nblah!", Swift_KeyCache::MODE_WRITE); - - $entity = $this->createEntity($headers, $this->createEncoder(), - $cache - ); - - $entity->setBody("blah\r\nblah!"); - $entity->toString(); - } - - public function testBodyIsClearedFromCacheIfNewBodySet() - { - $headers = $this->createHeaderSet([], false); - $headers->shouldReceive('toString') - ->zeroOrMoreTimes() - ->andReturn("Content-Type: text/plain; charset=utf-8\r\n"); - - $cache = $this->createCache(false); - $entity = $this->createEntity($headers, $this->createEncoder(), - $cache - ); - - $entity->setBody("blah\r\nblah!"); - $entity->toString(); - - // We set the expectation at this point because we only care what happens when calling setBody() - $cache->shouldReceive('clearKey') - ->once() - ->with(\Mockery::any(), 'body'); - - $entity->setBody("new\r\nnew!"); - } - - public function testBodyIsNotClearedFromCacheIfSameBodySet() - { - $headers = $this->createHeaderSet([], false); - $headers->shouldReceive('toString') - ->zeroOrMoreTimes() - ->andReturn("Content-Type: text/plain; charset=utf-8\r\n"); - - $cache = $this->createCache(false); - $entity = $this->createEntity($headers, $this->createEncoder(), - $cache - ); - - $entity->setBody("blah\r\nblah!"); - $entity->toString(); - - // We set the expectation at this point because we only care what happens when calling setBody() - $cache->shouldReceive('clearKey') - ->never(); - - $entity->setBody("blah\r\nblah!"); - } - - public function testBodyIsClearedFromCacheIfNewEncoderSet() - { - $headers = $this->createHeaderSet([], false); - $headers->shouldReceive('toString') - ->zeroOrMoreTimes() - ->andReturn("Content-Type: text/plain; charset=utf-8\r\n"); - - $cache = $this->createCache(false); - $otherEncoder = $this->createEncoder(); - $entity = $this->createEntity($headers, $this->createEncoder(), - $cache - ); - - $entity->setBody("blah\r\nblah!"); - $entity->toString(); - - // We set the expectation at this point because we only care what happens when calling setEncoder() - $cache->shouldReceive('clearKey') - ->once() - ->with(\Mockery::any(), 'body'); - - $entity->setEncoder($otherEncoder); - } - - public function testBodyIsReadFromCacheWhenUsingToByteStreamIfPresent() - { - $is = $this->createInputStream(); - $cache = $this->createCache(false); - $cache->shouldReceive('hasKey') - ->once() - ->with(\Mockery::any(), 'body') - ->andReturn(true); - $cache->shouldReceive('exportToByteStream') - ->once() - ->with(\Mockery::any(), 'body', $is); - - $entity = $this->createEntity($this->createHeaderSet(), - $this->createEncoder(), $cache - ); - $entity->setBody('foo'); - - $entity->toByteStream($is); - } - - public function testBodyIsAddedToCacheWhenUsingToByteStream() - { - $is = $this->createInputStream(); - $cache = $this->createCache(false); - $cache->shouldReceive('hasKey') - ->once() - ->with(\Mockery::any(), 'body') - ->andReturn(false); - $cache->shouldReceive('getInputByteStream') - ->once() - ->with(\Mockery::any(), 'body'); - - $entity = $this->createEntity($this->createHeaderSet(), - $this->createEncoder(), $cache - ); - $entity->setBody('foo'); - - $entity->toByteStream($is); - } - - public function testFluidInterface() - { - $entity = $this->createEntity($this->createHeaderSet(), - $this->createEncoder(), $this->createCache() - ); - - $this->assertSame($entity, - $entity - ->setContentType('text/plain') - ->setEncoder($this->createEncoder()) - ->setId('foo@bar') - ->setDescription('my description') - ->setMaxLineLength(998) - ->setBody('xx') - ->setBoundary('xyz') - ->setChildren([]) - ); - } - - abstract protected function createEntity($headers, $encoder, $cache); - - protected function createChild($level = null, $string = '', $stub = true) - { - $child = $this->getMockery('Swift_Mime_SimpleMimeEntity')->shouldIgnoreMissing(); - if (isset($level)) { - $child->shouldReceive('getNestingLevel') - ->zeroOrMoreTimes() - ->andReturn($level); - } - $child->shouldReceive('toString') - ->zeroOrMoreTimes() - ->andReturn($string); - - return $child; - } - - protected function createEncoder($name = 'quoted-printable', $stub = true) - { - $encoder = $this->getMockBuilder('Swift_Mime_ContentEncoder')->getMock(); - $encoder->expects($this->any()) - ->method('getName') - ->will($this->returnValue($name)); - $encoder->expects($this->any()) - ->method('encodeString') - ->will($this->returnCallback(function () { - $args = func_get_args(); - - return array_shift($args); - })); - - return $encoder; - } - - protected function createCache($stub = true) - { - return $this->getMockery('Swift_KeyCache')->shouldIgnoreMissing(); - } - - protected function createHeaderSet($headers = [], $stub = true) - { - $set = $this->getMockery('Swift_Mime_SimpleHeaderSet')->shouldIgnoreMissing(); - $set->shouldReceive('get') - ->zeroOrMoreTimes() - ->andReturnUsing(function ($key) use ($headers) { - return $headers[$key]; - }); - $set->shouldReceive('has') - ->zeroOrMoreTimes() - ->andReturnUsing(function ($key) use ($headers) { - return array_key_exists($key, $headers); - }); - - return $set; - } - - protected function createHeader($name, $model = null, $params = [], $stub = true) - { - $header = $this->getMockery('Swift_Mime_Headers_ParameterizedHeader')->shouldIgnoreMissing(); - $header->shouldReceive('getFieldName') - ->zeroOrMoreTimes() - ->andReturn($name); - $header->shouldReceive('getFieldBodyModel') - ->zeroOrMoreTimes() - ->andReturn($model); - $header->shouldReceive('getParameter') - ->zeroOrMoreTimes() - ->andReturnUsing(function ($key) use ($params) { - return $params[$key]; - }); - - return $header; - } - - protected function createOutputStream($data = null, $stub = true) - { - $os = $this->getMockery('Swift_OutputByteStream'); - if (isset($data)) { - $os->shouldReceive('read') - ->zeroOrMoreTimes() - ->andReturnUsing(function () use ($data) { - static $first = true; - if (!$first) { - return false; - } - - $first = false; - - return $data; - }); - $os->shouldReceive('setReadPointer') - ->zeroOrMoreTimes(); - } - - return $os; - } - - protected function createInputStream($stub = true) - { - return $this->getMockBuilder('Swift_InputByteStream')->getMock(); - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/AttachmentTest.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/AttachmentTest.php deleted file mode 100644 index 912d529c72..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/AttachmentTest.php +++ /dev/null @@ -1,321 +0,0 @@ -createAttachment($this->createHeaderSet(), - $this->createEncoder(), $this->createCache() - ); - $this->assertEquals( - Swift_Mime_SimpleMimeEntity::LEVEL_MIXED, $attachment->getNestingLevel() - ); - } - - public function testDispositionIsReturnedFromHeader() - { - /* -- RFC 2183, 2.1, 2.2. - */ - - $disposition = $this->createHeader('Content-Disposition', 'attachment'); - $attachment = $this->createAttachment($this->createHeaderSet([ - 'Content-Disposition' => $disposition, ]), - $this->createEncoder(), $this->createCache() - ); - $this->assertEquals('attachment', $attachment->getDisposition()); - } - - public function testDispositionIsSetInHeader() - { - $disposition = $this->createHeader('Content-Disposition', 'attachment', - [], false - ); - $disposition->shouldReceive('setFieldBodyModel') - ->once() - ->with('inline'); - $disposition->shouldReceive('setFieldBodyModel') - ->zeroOrMoreTimes(); - - $attachment = $this->createAttachment($this->createHeaderSet([ - 'Content-Disposition' => $disposition, ]), - $this->createEncoder(), $this->createCache() - ); - $attachment->setDisposition('inline'); - } - - public function testDispositionIsAddedIfNonePresent() - { - $headers = $this->createHeaderSet([], false); - $headers->shouldReceive('addParameterizedHeader') - ->once() - ->with('Content-Disposition', 'inline'); - $headers->shouldReceive('addParameterizedHeader') - ->zeroOrMoreTimes(); - - $attachment = $this->createAttachment($headers, $this->createEncoder(), - $this->createCache() - ); - $attachment->setDisposition('inline'); - } - - public function testDispositionIsAutoDefaultedToAttachment() - { - $headers = $this->createHeaderSet([], false); - $headers->shouldReceive('addParameterizedHeader') - ->once() - ->with('Content-Disposition', 'attachment'); - $headers->shouldReceive('addParameterizedHeader') - ->zeroOrMoreTimes(); - - $attachment = $this->createAttachment($headers, $this->createEncoder(), - $this->createCache() - ); - } - - public function testDefaultContentTypeInitializedToOctetStream() - { - $cType = $this->createHeader('Content-Type', '', - [], false - ); - $cType->shouldReceive('setFieldBodyModel') - ->once() - ->with('application/octet-stream'); - $cType->shouldReceive('setFieldBodyModel') - ->zeroOrMoreTimes(); - - $attachment = $this->createAttachment($this->createHeaderSet([ - 'Content-Type' => $cType, ]), - $this->createEncoder(), $this->createCache() - ); - } - - public function testFilenameIsReturnedFromHeader() - { - /* -- RFC 2183, 2.3. - */ - - $disposition = $this->createHeader('Content-Disposition', 'attachment', - ['filename' => 'foo.txt'] - ); - $attachment = $this->createAttachment($this->createHeaderSet([ - 'Content-Disposition' => $disposition, ]), - $this->createEncoder(), $this->createCache() - ); - $this->assertEquals('foo.txt', $attachment->getFilename()); - } - - public function testFilenameIsSetInHeader() - { - $disposition = $this->createHeader('Content-Disposition', 'attachment', - ['filename' => 'foo.txt'], false - ); - $disposition->shouldReceive('setParameter') - ->once() - ->with('filename', 'bar.txt'); - $disposition->shouldReceive('setParameter') - ->zeroOrMoreTimes(); - - $attachment = $this->createAttachment($this->createHeaderSet([ - 'Content-Disposition' => $disposition, ]), - $this->createEncoder(), $this->createCache() - ); - $attachment->setFilename('bar.txt'); - } - - public function testSettingFilenameSetsNameInContentType() - { - /* - This is a legacy requirement which isn't covered by up-to-date RFCs. - */ - - $cType = $this->createHeader('Content-Type', 'text/plain', - [], false - ); - $cType->shouldReceive('setParameter') - ->once() - ->with('name', 'bar.txt'); - $cType->shouldReceive('setParameter') - ->zeroOrMoreTimes(); - - $attachment = $this->createAttachment($this->createHeaderSet([ - 'Content-Type' => $cType, ]), - $this->createEncoder(), $this->createCache() - ); - $attachment->setFilename('bar.txt'); - } - - public function testSizeIsReturnedFromHeader() - { - /* -- RFC 2183, 2.7. - */ - - $disposition = $this->createHeader('Content-Disposition', 'attachment', - ['size' => 1234] - ); - $attachment = $this->createAttachment($this->createHeaderSet([ - 'Content-Disposition' => $disposition, ]), - $this->createEncoder(), $this->createCache() - ); - $this->assertEquals(1234, $attachment->getSize()); - } - - public function testSizeIsSetInHeader() - { - $disposition = $this->createHeader('Content-Disposition', 'attachment', - [], false - ); - $disposition->shouldReceive('setParameter') - ->once() - ->with('size', 12345); - $disposition->shouldReceive('setParameter') - ->zeroOrMoreTimes(); - - $attachment = $this->createAttachment($this->createHeaderSet([ - 'Content-Disposition' => $disposition, ]), - $this->createEncoder(), $this->createCache() - ); - $attachment->setSize(12345); - } - - public function testFilnameCanBeReadFromFileStream() - { - $file = $this->createFileStream('/bar/file.ext', ''); - $disposition = $this->createHeader('Content-Disposition', 'attachment', - ['filename' => 'foo.txt'], false - ); - $disposition->shouldReceive('setParameter') - ->once() - ->with('filename', 'file.ext'); - - $attachment = $this->createAttachment($this->createHeaderSet([ - 'Content-Disposition' => $disposition, ]), - $this->createEncoder(), $this->createCache() - ); - $attachment->setFile($file); - } - - public function testContentTypeCanBeSetViaSetFile() - { - $file = $this->createFileStream('/bar/file.ext', ''); - $disposition = $this->createHeader('Content-Disposition', 'attachment', - ['filename' => 'foo.txt'], false - ); - $disposition->shouldReceive('setParameter') - ->once() - ->with('filename', 'file.ext'); - - $ctype = $this->createHeader('Content-Type', 'text/plain', [], false); - $ctype->shouldReceive('setFieldBodyModel') - ->once() - ->with('text/html'); - $ctype->shouldReceive('setFieldBodyModel') - ->zeroOrMoreTimes(); - - $headers = $this->createHeaderSet([ - 'Content-Disposition' => $disposition, - 'Content-Type' => $ctype, - ]); - - $attachment = $this->createAttachment($headers, $this->createEncoder(), - $this->createCache() - ); - $attachment->setFile($file, 'text/html'); - } - - public function XtestContentTypeCanBeLookedUpFromCommonListIfNotProvided() - { - $file = $this->createFileStream('/bar/file.zip', ''); - $disposition = $this->createHeader('Content-Disposition', 'attachment', - ['filename' => 'foo.zip'], false - ); - $disposition->shouldReceive('setParameter') - ->once() - ->with('filename', 'file.zip'); - - $ctype = $this->createHeader('Content-Type', 'text/plain', [], false); - $ctype->shouldReceive('setFieldBodyModel') - ->once() - ->with('application/zip'); - $ctype->shouldReceive('setFieldBodyModel') - ->zeroOrMoreTimes(); - - $headers = $this->createHeaderSet([ - 'Content-Disposition' => $disposition, - 'Content-Type' => $ctype, - ]); - - $attachment = $this->createAttachment($headers, $this->createEncoder(), - $this->createCache(), ['zip' => 'application/zip', 'txt' => 'text/plain'] - ); - $attachment->setFile($file); - } - - public function testDataCanBeReadFromFile() - { - $file = $this->createFileStream('/foo/file.ext', ''); - $attachment = $this->createAttachment($this->createHeaderSet(), - $this->createEncoder(), $this->createCache() - ); - $attachment->setFile($file); - $this->assertEquals('', $attachment->getBody()); - } - - public function testFluidInterface() - { - $attachment = $this->createAttachment($this->createHeaderSet(), - $this->createEncoder(), $this->createCache() - ); - $this->assertSame($attachment, - $attachment - ->setContentType('application/pdf') - ->setEncoder($this->createEncoder()) - ->setId('foo@bar') - ->setDescription('my pdf') - ->setMaxLineLength(998) - ->setBody('xx') - ->setBoundary('xyz') - ->setChildren([]) - ->setDisposition('inline') - ->setFilename('afile.txt') - ->setSize(123) - ->setFile($this->createFileStream('foo.txt', '')) - ); - } - - protected function createEntity($headers, $encoder, $cache) - { - return $this->createAttachment($headers, $encoder, $cache); - } - - protected function createAttachment($headers, $encoder, $cache, $mimeTypes = []) - { - $idGenerator = new Swift_Mime_IdGenerator('example.com'); - - return new Swift_Mime_Attachment($headers, $encoder, $cache, $idGenerator, $mimeTypes); - } - - protected function createFileStream($path, $data, $stub = true) - { - $file = $this->getMockery('Swift_FileStream'); - $file->shouldReceive('getPath') - ->zeroOrMoreTimes() - ->andReturn($path); - $file->shouldReceive('read') - ->zeroOrMoreTimes() - ->andReturnUsing(function () use ($data) { - static $first = true; - if (!$first) { - return false; - } - - $first = false; - - return $data; - }); - $file->shouldReceive('setReadPointer') - ->zeroOrMoreTimes(); - - return $file; - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/ContentEncoder/Base64ContentEncoderTest.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/ContentEncoder/Base64ContentEncoderTest.php deleted file mode 100644 index a05c68a469..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/ContentEncoder/Base64ContentEncoderTest.php +++ /dev/null @@ -1,323 +0,0 @@ -encoder = new Swift_Mime_ContentEncoder_Base64ContentEncoder(); - } - - public function testNameIsBase64() - { - $this->assertEquals('base64', $this->encoder->getName()); - } - - /* - There's really no point in testing the entire base64 encoding to the - level QP encoding has been tested. base64_encode() has been in PHP for - years. - */ - - public function testInputOutputRatioIs3to4Bytes() - { - /* - RFC 2045, 6.8 - - The encoding process represents 24-bit groups of input bits as output - strings of 4 encoded characters. Proceeding from left to right, a - 24-bit input group is formed by concatenating 3 8bit input groups. - These 24 bits are then treated as 4 concatenated 6-bit groups, each - of which is translated into a single digit in the base64 alphabet. - */ - - $os = $this->createOutputByteStream(); - $is = $this->createInputByteStream(); - $collection = new Swift_StreamCollector(); - - $is->shouldReceive('write') - ->zeroOrMoreTimes() - ->andReturnUsing($collection); - $os->shouldReceive('read') - ->once() - ->andReturn('123'); - $os->shouldReceive('read') - ->zeroOrMoreTimes() - ->andReturn(false); - - $this->encoder->encodeByteStream($os, $is); - $this->assertEquals('MTIz', $collection->content); - } - - public function testPadLength() - { - /* - RFC 2045, 6.8 - - Special processing is performed if fewer than 24 bits are available - at the end of the data being encoded. A full encoding quantum is - always completed at the end of a body. When fewer than 24 input bits - are available in an input group, zero bits are added (on the right) - to form an integral number of 6-bit groups. Padding at the end of - the data is performed using the "=" character. Since all base64 - input is an integral number of octets, only the following cases can - arise: (1) the final quantum of encoding input is an integral - multiple of 24 bits; here, the final unit of encoded output will be - an integral multiple of 4 characters with no "=" padding, (2) the - final quantum of encoding input is exactly 8 bits; here, the final - unit of encoded output will be two characters followed by two "=" - padding characters, or (3) the final quantum of encoding input is - exactly 16 bits; here, the final unit of encoded output will be three - characters followed by one "=" padding character. - */ - - for ($i = 0; $i < 30; ++$i) { - $os = $this->createOutputByteStream(); - $is = $this->createInputByteStream(); - $collection = new Swift_StreamCollector(); - - $is->shouldReceive('write') - ->zeroOrMoreTimes() - ->andReturnUsing($collection); - $os->shouldReceive('read') - ->once() - ->andReturn(pack('C', random_int(0, 255))); - $os->shouldReceive('read') - ->zeroOrMoreTimes() - ->andReturn(false); - - $this->encoder->encodeByteStream($os, $is); - $this->assertRegExp('~^[a-zA-Z0-9/\+]{2}==$~', $collection->content, - '%s: A single byte should have 2 bytes of padding' - ); - } - - for ($i = 0; $i < 30; ++$i) { - $os = $this->createOutputByteStream(); - $is = $this->createInputByteStream(); - $collection = new Swift_StreamCollector(); - - $is->shouldReceive('write') - ->zeroOrMoreTimes() - ->andReturnUsing($collection); - $os->shouldReceive('read') - ->once() - ->andReturn(pack('C*', random_int(0, 255), random_int(0, 255))); - $os->shouldReceive('read') - ->zeroOrMoreTimes() - ->andReturn(false); - - $this->encoder->encodeByteStream($os, $is); - $this->assertRegExp('~^[a-zA-Z0-9/\+]{3}=$~', $collection->content, - '%s: Two bytes should have 1 byte of padding' - ); - } - - for ($i = 0; $i < 30; ++$i) { - $os = $this->createOutputByteStream(); - $is = $this->createInputByteStream(); - $collection = new Swift_StreamCollector(); - - $is->shouldReceive('write') - ->zeroOrMoreTimes() - ->andReturnUsing($collection); - $os->shouldReceive('read') - ->once() - ->andReturn(pack('C*', random_int(0, 255), random_int(0, 255), random_int(0, 255))); - $os->shouldReceive('read') - ->zeroOrMoreTimes() - ->andReturn(false); - - $this->encoder->encodeByteStream($os, $is); - $this->assertRegExp('~^[a-zA-Z0-9/\+]{4}$~', $collection->content, - '%s: Three bytes should have no padding' - ); - } - } - - public function testMaximumLineLengthIs76Characters() - { - /* - The encoded output stream must be represented in lines of no more - than 76 characters each. All line breaks or other characters not - found in Table 1 must be ignored by decoding software. - */ - - $os = $this->createOutputByteStream(); - $is = $this->createInputByteStream(); - $collection = new Swift_StreamCollector(); - - $is->shouldReceive('write') - ->zeroOrMoreTimes() - ->andReturnUsing($collection); - $os->shouldReceive('read') - ->once() - ->andReturn('abcdefghijkl'); //12 - $os->shouldReceive('read') - ->once() - ->andReturn('mnopqrstuvwx'); //24 - $os->shouldReceive('read') - ->once() - ->andReturn('yzabc1234567'); //36 - $os->shouldReceive('read') - ->once() - ->andReturn('890ABCDEFGHI'); //48 - $os->shouldReceive('read') - ->once() - ->andReturn('JKLMNOPQRSTU'); //60 - $os->shouldReceive('read') - ->once() - ->andReturn('VWXYZ1234567'); //72 - $os->shouldReceive('read') - ->once() - ->andReturn('abcdefghijkl'); //84 - $os->shouldReceive('read') - ->zeroOrMoreTimes() - ->andReturn(false); - - $this->encoder->encodeByteStream($os, $is); - $this->assertEquals( - "YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXphYmMxMjM0NTY3ODkwQUJDREVGR0hJSktMTU5PUFFS\r\n". - 'U1RVVldYWVoxMjM0NTY3YWJjZGVmZ2hpamts', - $collection->content - ); - } - - public function testMaximumLineLengthCanBeDifferent() - { - $os = $this->createOutputByteStream(); - $is = $this->createInputByteStream(); - $collection = new Swift_StreamCollector(); - - $is->shouldReceive('write') - ->zeroOrMoreTimes() - ->andReturnUsing($collection); - $os->shouldReceive('read') - ->once() - ->andReturn('abcdefghijkl'); //12 - $os->shouldReceive('read') - ->once() - ->andReturn('mnopqrstuvwx'); //24 - $os->shouldReceive('read') - ->once() - ->andReturn('yzabc1234567'); //36 - $os->shouldReceive('read') - ->once() - ->andReturn('890ABCDEFGHI'); //48 - $os->shouldReceive('read') - ->once() - ->andReturn('JKLMNOPQRSTU'); //60 - $os->shouldReceive('read') - ->once() - ->andReturn('VWXYZ1234567'); //72 - $os->shouldReceive('read') - ->once() - ->andReturn('abcdefghijkl'); //84 - $os->shouldReceive('read') - ->zeroOrMoreTimes() - ->andReturn(false); - - $this->encoder->encodeByteStream($os, $is, 0, 50); - $this->assertEquals( - "YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXphYmMxMjM0NTY3OD\r\n". - "kwQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVoxMjM0NTY3YWJj\r\n". - 'ZGVmZ2hpamts', - $collection->content - ); - } - - public function testMaximumLineLengthIsNeverMoreThan76Chars() - { - $os = $this->createOutputByteStream(); - $is = $this->createInputByteStream(); - $collection = new Swift_StreamCollector(); - - $is->shouldReceive('write') - ->zeroOrMoreTimes() - ->andReturnUsing($collection); - $os->shouldReceive('read') - ->once() - ->andReturn('abcdefghijkl'); //12 - $os->shouldReceive('read') - ->once() - ->andReturn('mnopqrstuvwx'); //24 - $os->shouldReceive('read') - ->once() - ->andReturn('yzabc1234567'); //36 - $os->shouldReceive('read') - ->once() - ->andReturn('890ABCDEFGHI'); //48 - $os->shouldReceive('read') - ->once() - ->andReturn('JKLMNOPQRSTU'); //60 - $os->shouldReceive('read') - ->once() - ->andReturn('VWXYZ1234567'); //72 - $os->shouldReceive('read') - ->once() - ->andReturn('abcdefghijkl'); //84 - $os->shouldReceive('read') - ->zeroOrMoreTimes() - ->andReturn(false); - - $this->encoder->encodeByteStream($os, $is, 0, 100); - $this->assertEquals( - "YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXphYmMxMjM0NTY3ODkwQUJDREVGR0hJSktMTU5PUFFS\r\n". - 'U1RVVldYWVoxMjM0NTY3YWJjZGVmZ2hpamts', - $collection->content - ); - } - - public function testFirstLineLengthCanBeDifferent() - { - $os = $this->createOutputByteStream(); - $is = $this->createInputByteStream(); - $collection = new Swift_StreamCollector(); - - $is->shouldReceive('write') - ->zeroOrMoreTimes() - ->andReturnUsing($collection); - $os->shouldReceive('read') - ->once() - ->andReturn('abcdefghijkl'); //12 - $os->shouldReceive('read') - ->once() - ->andReturn('mnopqrstuvwx'); //24 - $os->shouldReceive('read') - ->once() - ->andReturn('yzabc1234567'); //36 - $os->shouldReceive('read') - ->once() - ->andReturn('890ABCDEFGHI'); //48 - $os->shouldReceive('read') - ->once() - ->andReturn('JKLMNOPQRSTU'); //60 - $os->shouldReceive('read') - ->once() - ->andReturn('VWXYZ1234567'); //72 - $os->shouldReceive('read') - ->once() - ->andReturn('abcdefghijkl'); //84 - $os->shouldReceive('read') - ->zeroOrMoreTimes() - ->andReturn(false); - - $this->encoder->encodeByteStream($os, $is, 19); - $this->assertEquals( - "YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXphYmMxMjM0NTY3ODkwQUJDR\r\n". - 'EVGR0hJSktMTU5PUFFSU1RVVldYWVoxMjM0NTY3YWJjZGVmZ2hpamts', - $collection->content - ); - } - - private function createOutputByteStream($stub = false) - { - return $this->getMockery('Swift_OutputByteStream')->shouldIgnoreMissing(); - } - - private function createInputByteStream($stub = false) - { - return $this->getMockery('Swift_InputByteStream')->shouldIgnoreMissing(); - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/ContentEncoder/PlainContentEncoderTest.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/ContentEncoder/PlainContentEncoderTest.php deleted file mode 100644 index 270d02c3c5..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/ContentEncoder/PlainContentEncoderTest.php +++ /dev/null @@ -1,171 +0,0 @@ -getEncoder('7bit'); - $this->assertEquals('7bit', $encoder->getName()); - - $encoder = $this->getEncoder('8bit'); - $this->assertEquals('8bit', $encoder->getName()); - } - - public function testNoOctetsAreModifiedInString() - { - $encoder = $this->getEncoder('7bit'); - foreach (range(0x00, 0xFF) as $octet) { - $byte = pack('C', $octet); - $this->assertIdenticalBinary($byte, $encoder->encodeString($byte)); - } - } - - public function testNoOctetsAreModifiedInByteStream() - { - $encoder = $this->getEncoder('7bit'); - foreach (range(0x00, 0xFF) as $octet) { - $byte = pack('C', $octet); - - $os = $this->createOutputByteStream(); - $is = $this->createInputByteStream(); - $collection = new Swift_StreamCollector(); - - $is->shouldReceive('write') - ->zeroOrMoreTimes() - ->andReturnUsing($collection); - $os->shouldReceive('read') - ->once() - ->andReturn($byte); - $os->shouldReceive('read') - ->zeroOrMoreTimes() - ->andReturn(false); - - $encoder->encodeByteStream($os, $is); - $this->assertIdenticalBinary($byte, $collection->content); - } - } - - public function testLineLengthCanBeSpecified() - { - $encoder = $this->getEncoder('7bit'); - - $chars = []; - for ($i = 0; $i < 50; ++$i) { - $chars[] = 'a'; - } - $input = implode(' ', $chars); //99 chars long - - $this->assertEquals( - 'a a a a a a a a a a a a a a a a a a a a a a a a a '."\r\n".//50 * - 'a a a a a a a a a a a a a a a a a a a a a a a a a', //99 - $encoder->encodeString($input, 0, 50), - '%s: Lines should be wrapped at 50 chars' - ); - } - - public function testLineLengthCanBeSpecifiedInByteStream() - { - $encoder = $this->getEncoder('7bit'); - - $os = $this->createOutputByteStream(); - $is = $this->createInputByteStream(); - $collection = new Swift_StreamCollector(); - - $is->shouldReceive('write') - ->zeroOrMoreTimes() - ->andReturnUsing($collection); - - for ($i = 0; $i < 50; ++$i) { - $os->shouldReceive('read') - ->once() - ->andReturn('a '); - } - - $os->shouldReceive('read') - ->zeroOrMoreTimes() - ->andReturn(false); - - $encoder->encodeByteStream($os, $is, 0, 50); - $this->assertEquals( - str_repeat('a ', 25)."\r\n".str_repeat('a ', 25), - $collection->content - ); - } - - public function testencodeStringGeneratesCorrectCrlf() - { - $encoder = $this->getEncoder('7bit', true); - $this->assertEquals("a\r\nb", $encoder->encodeString("a\rb"), - '%s: Line endings should be standardized' - ); - $this->assertEquals("a\r\nb", $encoder->encodeString("a\nb"), - '%s: Line endings should be standardized' - ); - $this->assertEquals("a\r\n\r\nb", $encoder->encodeString("a\n\rb"), - '%s: Line endings should be standardized' - ); - $this->assertEquals("a\r\n\r\nb", $encoder->encodeString("a\r\rb"), - '%s: Line endings should be standardized' - ); - $this->assertEquals("a\r\n\r\nb", $encoder->encodeString("a\n\nb"), - '%s: Line endings should be standardized' - ); - } - - public function crlfProvider() - { - return [ - ["\r", "a\r\nb"], - ["\n", "a\r\nb"], - ["\n\r", "a\r\n\r\nb"], - ["\n\n", "a\r\n\r\nb"], - ["\r\r", "a\r\n\r\nb"], - ]; - } - - /** - * @dataProvider crlfProvider - */ - public function testCanonicEncodeByteStreamGeneratesCorrectCrlf($test, $expected) - { - $encoder = $this->getEncoder('7bit', true); - - $os = $this->createOutputByteStream(); - $is = $this->createInputByteStream(); - $collection = new Swift_StreamCollector(); - - $is->shouldReceive('write') - ->zeroOrMoreTimes() - ->andReturnUsing($collection); - $os->shouldReceive('read') - ->once() - ->andReturn('a'); - $os->shouldReceive('read') - ->once() - ->andReturn($test); - $os->shouldReceive('read') - ->once() - ->andReturn('b'); - $os->shouldReceive('read') - ->zeroOrMoreTimes() - ->andReturn(false); - - $encoder->encodeByteStream($os, $is); - $this->assertEquals($expected, $collection->content); - } - - private function getEncoder($name, $canonical = false) - { - return new Swift_Mime_ContentEncoder_PlainContentEncoder($name, $canonical); - } - - private function createOutputByteStream($stub = false) - { - return $this->getMockery('Swift_OutputByteStream')->shouldIgnoreMissing(); - } - - private function createInputByteStream($stub = false) - { - return $this->getMockery('Swift_InputByteStream')->shouldIgnoreMissing(); - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/ContentEncoder/QpContentEncoderTest.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/ContentEncoder/QpContentEncoderTest.php deleted file mode 100644 index 4e050a158b..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/ContentEncoder/QpContentEncoderTest.php +++ /dev/null @@ -1,516 +0,0 @@ -createCharacterStream(true) - ); - $this->assertEquals('quoted-printable', $encoder->getName()); - } - - /* -- RFC 2045, 6.7 -- - (1) (General 8bit representation) Any octet, except a CR or - LF that is part of a CRLF line break of the canonical - (standard) form of the data being encoded, may be - represented by an "=" followed by a two digit - hexadecimal representation of the octet's value. The - digits of the hexadecimal alphabet, for this purpose, - are "0123456789ABCDEF". Uppercase letters must be - used; lowercase letters are not allowed. Thus, for - example, the decimal value 12 (US-ASCII form feed) can - be represented by "=0C", and the decimal value 61 (US- - ASCII EQUAL SIGN) can be represented by "=3D". This - rule must be followed except when the following rules - allow an alternative encoding. - */ - - public function testPermittedCharactersAreNotEncoded() - { - /* -- RFC 2045, 6.7 -- - (2) (Literal representation) Octets with decimal values of - 33 through 60 inclusive, and 62 through 126, inclusive, - MAY be represented as the US-ASCII characters which - correspond to those octets (EXCLAMATION POINT through - LESS THAN, and GREATER THAN through TILDE, - respectively). - */ - - foreach (array_merge(range(33, 60), range(62, 126)) as $ordinal) { - $char = chr($ordinal); - - $os = $this->createOutputByteStream(true); - $charStream = $this->createCharacterStream(); - $is = $this->createInputByteStream(); - $collection = new Swift_StreamCollector(); - - $is->shouldReceive('write') - ->zeroOrMoreTimes() - ->andReturnUsing($collection); - $charStream->shouldReceive('flushContents') - ->once(); - $charStream->shouldReceive('importByteStream') - ->once() - ->with($os); - $charStream->shouldReceive('readBytes') - ->once() - ->andReturn([$ordinal]); - $charStream->shouldReceive('readBytes') - ->zeroOrMoreTimes() - ->andReturn(false); - - $encoder = new Swift_Mime_ContentEncoder_QpContentEncoder($charStream); - $encoder->encodeByteStream($os, $is); - $this->assertIdenticalBinary($char, $collection->content); - } - } - - public function testLinearWhiteSpaceAtLineEndingIsEncoded() - { - /* -- RFC 2045, 6.7 -- - (3) (White Space) Octets with values of 9 and 32 MAY be - represented as US-ASCII TAB (HT) and SPACE characters, - respectively, but MUST NOT be so represented at the end - of an encoded line. Any TAB (HT) or SPACE characters - on an encoded line MUST thus be followed on that line - by a printable character. In particular, an "=" at the - end of an encoded line, indicating a soft line break - (see rule #5) may follow one or more TAB (HT) or SPACE - characters. It follows that an octet with decimal - value 9 or 32 appearing at the end of an encoded line - must be represented according to Rule #1. This rule is - necessary because some MTAs (Message Transport Agents, - programs which transport messages from one user to - another, or perform a portion of such transfers) are - known to pad lines of text with SPACEs, and others are - known to remove "white space" characters from the end - of a line. Therefore, when decoding a Quoted-Printable - body, any trailing white space on a line must be - deleted, as it will necessarily have been added by - intermediate transport agents. - */ - - $HT = chr(0x09); //9 - $SPACE = chr(0x20); //32 - - //HT - $os = $this->createOutputByteStream(true); - $charStream = $this->createCharacterStream(); - $is = $this->createInputByteStream(); - $collection = new Swift_StreamCollector(); - - $is->shouldReceive('write') - ->zeroOrMoreTimes() - ->andReturnUsing($collection); - $charStream->shouldReceive('flushContents') - ->once(); - $charStream->shouldReceive('importByteStream') - ->once() - ->with($os); - $charStream->shouldReceive('readBytes') - ->once() - ->andReturn([ord('a')]); - $charStream->shouldReceive('readBytes') - ->once() - ->andReturn([0x09]); - $charStream->shouldReceive('readBytes') - ->once() - ->andReturn([0x09]); - $charStream->shouldReceive('readBytes') - ->once() - ->andReturn([0x0D]); - $charStream->shouldReceive('readBytes') - ->once() - ->andReturn([0x0A]); - $charStream->shouldReceive('readBytes') - ->once() - ->andReturn([ord('b')]); - $charStream->shouldReceive('readBytes') - ->zeroOrMoreTimes() - ->andReturn(false); - - $encoder = new Swift_Mime_ContentEncoder_QpContentEncoder($charStream); - $encoder->encodeByteStream($os, $is); - - $this->assertEquals("a\t=09\r\nb", $collection->content); - - //SPACE - $os = $this->createOutputByteStream(true); - $charStream = $this->createCharacterStream(); - $is = $this->createInputByteStream(); - $collection = new Swift_StreamCollector(); - - $is->shouldReceive('write') - ->zeroOrMoreTimes() - ->andReturnUsing($collection); - $charStream->shouldReceive('flushContents') - ->once(); - $charStream->shouldReceive('importByteStream') - ->once() - ->with($os); - $charStream->shouldReceive('readBytes') - ->once() - ->andReturn([ord('a')]); - $charStream->shouldReceive('readBytes') - ->once() - ->andReturn([0x20]); - $charStream->shouldReceive('readBytes') - ->once() - ->andReturn([0x20]); - $charStream->shouldReceive('readBytes') - ->once() - ->andReturn([0x0D]); - $charStream->shouldReceive('readBytes') - ->once() - ->andReturn([0x0A]); - $charStream->shouldReceive('readBytes') - ->once() - ->andReturn([ord('b')]); - $charStream->shouldReceive('readBytes') - ->zeroOrMoreTimes() - ->andReturn(false); - - $encoder = new Swift_Mime_ContentEncoder_QpContentEncoder($charStream); - $encoder->encodeByteStream($os, $is); - - $this->assertEquals("a =20\r\nb", $collection->content); - } - - public function testCRLFIsLeftAlone() - { - /* - (4) (Line Breaks) A line break in a text body, represented - as a CRLF sequence in the text canonical form, must be - represented by a (RFC 822) line break, which is also a - CRLF sequence, in the Quoted-Printable encoding. Since - the canonical representation of media types other than - text do not generally include the representation of - line breaks as CRLF sequences, no hard line breaks - (i.e. line breaks that are intended to be meaningful - and to be displayed to the user) can occur in the - quoted-printable encoding of such types. Sequences - like "=0D", "=0A", "=0A=0D" and "=0D=0A" will routinely - appear in non-text data represented in quoted- - printable, of course. - - Note that many implementations may elect to encode the - local representation of various content types directly - rather than converting to canonical form first, - encoding, and then converting back to local - representation. In particular, this may apply to plain - text material on systems that use newline conventions - other than a CRLF terminator sequence. Such an - implementation optimization is permissible, but only - when the combined canonicalization-encoding step is - equivalent to performing the three steps separately. - */ - - $os = $this->createOutputByteStream(true); - $charStream = $this->createCharacterStream(); - $is = $this->createInputByteStream(); - $collection = new Swift_StreamCollector(); - - $is->shouldReceive('write') - ->zeroOrMoreTimes() - ->andReturnUsing($collection); - $charStream->shouldReceive('flushContents') - ->once(); - $charStream->shouldReceive('importByteStream') - ->once() - ->with($os); - $charStream->shouldReceive('readBytes') - ->once() - ->andReturn([ord('a')]); - $charStream->shouldReceive('readBytes') - ->once() - ->andReturn([0x0D]); - $charStream->shouldReceive('readBytes') - ->once() - ->andReturn([0x0A]); - $charStream->shouldReceive('readBytes') - ->once() - ->andReturn([ord('b')]); - $charStream->shouldReceive('readBytes') - ->once() - ->andReturn([0x0D]); - $charStream->shouldReceive('readBytes') - ->once() - ->andReturn([0x0A]); - $charStream->shouldReceive('readBytes') - ->once() - ->andReturn([ord('c')]); - $charStream->shouldReceive('readBytes') - ->once() - ->andReturn([0x0D]); - $charStream->shouldReceive('readBytes') - ->once() - ->andReturn([0x0A]); - $charStream->shouldReceive('readBytes') - ->zeroOrMoreTimes() - ->andReturn(false); - - $encoder = new Swift_Mime_ContentEncoder_QpContentEncoder($charStream); - $encoder->encodeByteStream($os, $is); - $this->assertEquals("a\r\nb\r\nc\r\n", $collection->content); - } - - public function testLinesLongerThan76CharactersAreSoftBroken() - { - /* - (5) (Soft Line Breaks) The Quoted-Printable encoding - REQUIRES that encoded lines be no more than 76 - characters long. If longer lines are to be encoded - with the Quoted-Printable encoding, "soft" line breaks - must be used. An equal sign as the last character on a - encoded line indicates such a non-significant ("soft") - line break in the encoded text. - */ - - $os = $this->createOutputByteStream(true); - $charStream = $this->createCharacterStream(); - $is = $this->createInputByteStream(); - $collection = new Swift_StreamCollector(); - - $is->shouldReceive('write') - ->zeroOrMoreTimes() - ->andReturnUsing($collection); - $charStream->shouldReceive('flushContents') - ->once(); - $charStream->shouldReceive('importByteStream') - ->once() - ->with($os); - - for ($seq = 0; $seq <= 140; ++$seq) { - $charStream->shouldReceive('readBytes') - ->once() - ->andReturn([ord('a')]); - } - $charStream->shouldReceive('readBytes') - ->zeroOrMoreTimes() - ->andReturn(false); - - $encoder = new Swift_Mime_ContentEncoder_QpContentEncoder($charStream); - $encoder->encodeByteStream($os, $is); - $this->assertEquals(str_repeat('a', 75)."=\r\n".str_repeat('a', 66), $collection->content); - } - - public function testMaxLineLengthCanBeSpecified() - { - $os = $this->createOutputByteStream(true); - $charStream = $this->createCharacterStream(); - $is = $this->createInputByteStream(); - $collection = new Swift_StreamCollector(); - - $is->shouldReceive('write') - ->zeroOrMoreTimes() - ->andReturnUsing($collection); - $charStream->shouldReceive('flushContents') - ->once(); - $charStream->shouldReceive('importByteStream') - ->once() - ->with($os); - - for ($seq = 0; $seq <= 100; ++$seq) { - $charStream->shouldReceive('readBytes') - ->once() - ->andReturn([ord('a')]); - } - $charStream->shouldReceive('readBytes') - ->zeroOrMoreTimes() - ->andReturn(false); - - $encoder = new Swift_Mime_ContentEncoder_QpContentEncoder($charStream); - $encoder->encodeByteStream($os, $is, 0, 54); - $this->assertEquals(str_repeat('a', 53)."=\r\n".str_repeat('a', 48), $collection->content); - } - - public function testBytesBelowPermittedRangeAreEncoded() - { - /* - According to Rule (1 & 2) - */ - - foreach (range(0, 32) as $ordinal) { - $char = chr($ordinal); - - $os = $this->createOutputByteStream(true); - $charStream = $this->createCharacterStream(); - $is = $this->createInputByteStream(); - $collection = new Swift_StreamCollector(); - - $is->shouldReceive('write') - ->zeroOrMoreTimes() - ->andReturnUsing($collection); - $charStream->shouldReceive('flushContents') - ->once(); - $charStream->shouldReceive('importByteStream') - ->once() - ->with($os); - $charStream->shouldReceive('readBytes') - ->once() - ->andReturn([$ordinal]); - $charStream->shouldReceive('readBytes') - ->zeroOrMoreTimes() - ->andReturn(false); - - $encoder = new Swift_Mime_ContentEncoder_QpContentEncoder($charStream); - $encoder->encodeByteStream($os, $is); - $this->assertEquals(sprintf('=%02X', $ordinal), $collection->content); - } - } - - public function testDecimalByte61IsEncoded() - { - /* - According to Rule (1 & 2) - */ - - $char = chr(61); - - $os = $this->createOutputByteStream(true); - $charStream = $this->createCharacterStream(); - $is = $this->createInputByteStream(); - $collection = new Swift_StreamCollector(); - - $is->shouldReceive('write') - ->zeroOrMoreTimes() - ->andReturnUsing($collection); - $charStream->shouldReceive('flushContents') - ->once(); - $charStream->shouldReceive('importByteStream') - ->once() - ->with($os); - $charStream->shouldReceive('readBytes') - ->once() - ->andReturn([61]); - $charStream->shouldReceive('readBytes') - ->zeroOrMoreTimes() - ->andReturn(false); - - $encoder = new Swift_Mime_ContentEncoder_QpContentEncoder($charStream); - $encoder->encodeByteStream($os, $is); - $this->assertEquals(sprintf('=%02X', 61), $collection->content); - } - - public function testBytesAbovePermittedRangeAreEncoded() - { - /* - According to Rule (1 & 2) - */ - - foreach (range(127, 255) as $ordinal) { - $char = chr($ordinal); - - $os = $this->createOutputByteStream(true); - $charStream = $this->createCharacterStream(); - $is = $this->createInputByteStream(); - $collection = new Swift_StreamCollector(); - - $is->shouldReceive('write') - ->zeroOrMoreTimes() - ->andReturnUsing($collection); - $charStream->shouldReceive('flushContents') - ->once(); - $charStream->shouldReceive('importByteStream') - ->once() - ->with($os); - $charStream->shouldReceive('readBytes') - ->once() - ->andReturn([$ordinal]); - $charStream->shouldReceive('readBytes') - ->zeroOrMoreTimes() - ->andReturn(false); - - $encoder = new Swift_Mime_ContentEncoder_QpContentEncoder($charStream); - $encoder->encodeByteStream($os, $is); - $this->assertEquals(sprintf('=%02X', $ordinal), $collection->content); - } - } - - public function testFirstLineLengthCanBeDifferent() - { - $os = $this->createOutputByteStream(true); - $charStream = $this->createCharacterStream(); - $is = $this->createInputByteStream(); - $collection = new Swift_StreamCollector(); - - $is->shouldReceive('write') - ->zeroOrMoreTimes() - ->andReturnUsing($collection); - $charStream->shouldReceive('flushContents') - ->once(); - $charStream->shouldReceive('importByteStream') - ->once() - ->with($os); - - for ($seq = 0; $seq <= 140; ++$seq) { - $charStream->shouldReceive('readBytes') - ->once() - ->andReturn([ord('a')]); - } - $charStream->shouldReceive('readBytes') - ->zeroOrMoreTimes() - ->andReturn(false); - - $encoder = new Swift_Mime_ContentEncoder_QpContentEncoder($charStream); - $encoder->encodeByteStream($os, $is, 22); - $this->assertEquals( - str_repeat('a', 53)."=\r\n".str_repeat('a', 75)."=\r\n".str_repeat('a', 13), - $collection->content - ); - } - - public function testObserverInterfaceCanChangeCharset() - { - $stream = $this->createCharacterStream(); - $stream->shouldReceive('setCharacterSet') - ->once() - ->with('windows-1252'); - - $encoder = new Swift_Mime_ContentEncoder_QpContentEncoder($stream); - $encoder->charsetChanged('windows-1252'); - } - - public function testTextIsPreWrapped() - { - $encoder = $this->createEncoder(); - - $input = str_repeat('a', 70)."\r\n". - str_repeat('a', 70)."\r\n". - str_repeat('a', 70); - - $os = new Swift_ByteStream_ArrayByteStream(); - $is = new Swift_ByteStream_ArrayByteStream(); - $is->write($input); - - $encoder->encodeByteStream($is, $os); - - $this->assertEquals( - $input, $os->read(PHP_INT_MAX) - ); - } - - private function createCharacterStream($stub = false) - { - return $this->getMockery('Swift_CharacterStream')->shouldIgnoreMissing(); - } - - private function createEncoder() - { - $factory = new Swift_CharacterReaderFactory_SimpleCharacterReaderFactory(); - $charStream = new Swift_CharacterStream_NgCharacterStream($factory, 'utf-8'); - - return new Swift_Mime_ContentEncoder_QpContentEncoder($charStream); - } - - private function createOutputByteStream($stub = false) - { - return $this->getMockery('Swift_OutputByteStream')->shouldIgnoreMissing(); - } - - private function createInputByteStream($stub = false) - { - return $this->getMockery('Swift_InputByteStream')->shouldIgnoreMissing(); - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/EmbeddedFileTest.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/EmbeddedFileTest.php deleted file mode 100644 index 74f2accd36..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/EmbeddedFileTest.php +++ /dev/null @@ -1,59 +0,0 @@ -addToAssertionCount(1); - } - - public function testNestingLevelIsEmbedded() - { - $file = $this->createEmbeddedFile($this->createHeaderSet(), - $this->createEncoder(), $this->createCache() - ); - $this->assertEquals( - Swift_Mime_SimpleMimeEntity::LEVEL_RELATED, $file->getNestingLevel() - ); - } - - public function testIdIsAutoGenerated() - { - $headers = $this->createHeaderSet([], false); - $headers->shouldReceive('addIdHeader') - ->once() - ->with('Content-ID', '/^.*?@.*?$/D'); - - $file = $this->createEmbeddedFile($headers, $this->createEncoder(), - $this->createCache() - ); - } - - public function testDefaultDispositionIsInline() - { - $headers = $this->createHeaderSet([], false); - $headers->shouldReceive('addParameterizedHeader') - ->once() - ->with('Content-Disposition', 'inline'); - $headers->shouldReceive('addParameterizedHeader') - ->zeroOrMoreTimes(); - - $file = $this->createEmbeddedFile($headers, $this->createEncoder(), - $this->createCache() - ); - } - - protected function createAttachment($headers, $encoder, $cache, $mimeTypes = []) - { - return $this->createEmbeddedFile($headers, $encoder, $cache, $mimeTypes); - } - - private function createEmbeddedFile($headers, $encoder, $cache) - { - $idGenerator = new Swift_Mime_IdGenerator('example.com'); - - return new Swift_Mime_EmbeddedFile($headers, $encoder, $cache, $idGenerator); - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/HeaderEncoder/Base64HeaderEncoderTest.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/HeaderEncoder/Base64HeaderEncoderTest.php deleted file mode 100644 index 0db540732c..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/HeaderEncoder/Base64HeaderEncoderTest.php +++ /dev/null @@ -1,13 +0,0 @@ -assertEquals('B', $encoder->getName()); - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/HeaderEncoder/QpHeaderEncoderTest.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/HeaderEncoder/QpHeaderEncoderTest.php deleted file mode 100644 index 1b42300c16..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/HeaderEncoder/QpHeaderEncoderTest.php +++ /dev/null @@ -1,221 +0,0 @@ -createEncoder( - $this->createCharacterStream(true) - ); - $this->assertEquals('Q', $encoder->getName()); - } - - public function testSpaceAndTabNeverAppear() - { - /* -- RFC 2047, 4. - Only a subset of the printable ASCII characters may be used in - 'encoded-text'. Space and tab characters are not allowed, so that - the beginning and end of an 'encoded-word' are obvious. - */ - - $charStream = $this->createCharacterStream(); - $charStream->shouldReceive('readBytes') - ->atLeast()->times(6) - ->andReturn([ord('a')], [0x20], [0x09], [0x20], [ord('b')], false); - - $encoder = $this->createEncoder($charStream); - $this->assertNotRegExp('~[ \t]~', $encoder->encodeString("a \t b"), - '%s: encoded-words in headers cannot contain LWSP as per RFC 2047.' - ); - } - - public function testSpaceIsRepresentedByUnderscore() - { - /* -- RFC 2047, 4.2. - (2) The 8-bit hexadecimal value 20 (e.g., ISO-8859-1 SPACE) may be - represented as "_" (underscore, ASCII 95.). (This character may - not pass through some internetwork mail gateways, but its use - will greatly enhance readability of "Q" encoded data with mail - readers that do not support this encoding.) Note that the "_" - always represents hexadecimal 20, even if the SPACE character - occupies a different code position in the character set in use. - */ - $charStream = $this->createCharacterStream(); - $charStream->shouldReceive('readBytes') - ->once() - ->andReturn([ord('a')]); - $charStream->shouldReceive('readBytes') - ->once() - ->andReturn([0x20]); - $charStream->shouldReceive('readBytes') - ->once() - ->andReturn([ord('b')]); - $charStream->shouldReceive('readBytes') - ->zeroOrMoreTimes() - ->andReturn(false); - - $encoder = $this->createEncoder($charStream); - $this->assertEquals('a_b', $encoder->encodeString('a b'), - '%s: Spaces can be represented by more readable underscores as per RFC 2047.' - ); - } - - public function testEqualsAndQuestionAndUnderscoreAreEncoded() - { - /* -- RFC 2047, 4.2. - (3) 8-bit values which correspond to printable ASCII characters other - than "=", "?", and "_" (underscore), MAY be represented as those - characters. (But see section 5 for restrictions.) In - particular, SPACE and TAB MUST NOT be represented as themselves - within encoded words. - */ - $charStream = $this->createCharacterStream(); - $charStream->shouldReceive('readBytes') - ->once() - ->andReturn([ord('=')]); - $charStream->shouldReceive('readBytes') - ->once() - ->andReturn([ord('?')]); - $charStream->shouldReceive('readBytes') - ->once() - ->andReturn([ord('_')]); - $charStream->shouldReceive('readBytes') - ->zeroOrMoreTimes() - ->andReturn(false); - - $encoder = $this->createEncoder($charStream); - $this->assertEquals('=3D=3F=5F', $encoder->encodeString('=?_'), - '%s: Chars =, ? and _ (underscore) may not appear as per RFC 2047.' - ); - } - - public function testParensAndQuotesAreEncoded() - { - /* -- RFC 2047, 5 (2). - A "Q"-encoded 'encoded-word' which appears in a 'comment' MUST NOT - contain the characters "(", ")" or " - */ - - $charStream = $this->createCharacterStream(); - $charStream->shouldReceive('readBytes') - ->once() - ->andReturn([ord('(')]); - $charStream->shouldReceive('readBytes') - ->once() - ->andReturn([ord('"')]); - $charStream->shouldReceive('readBytes') - ->once() - ->andReturn([ord(')')]); - $charStream->shouldReceive('readBytes') - ->zeroOrMoreTimes() - ->andReturn(false); - - $encoder = $this->createEncoder($charStream); - $this->assertEquals('=28=22=29', $encoder->encodeString('(")'), - '%s: Chars (, " (DQUOTE) and ) may not appear as per RFC 2047.' - ); - } - - public function testOnlyCharactersAllowedInPhrasesAreUsed() - { - /* -- RFC 2047, 5. - (3) As a replacement for a 'word' entity within a 'phrase', for example, - one that precedes an address in a From, To, or Cc header. The ABNF - definition for 'phrase' from RFC 822 thus becomes: - - phrase = 1*( encoded-word / word ) - - In this case the set of characters that may be used in a "Q"-encoded - 'encoded-word' is restricted to: . An 'encoded-word' that appears within a - 'phrase' MUST be separated from any adjacent 'word', 'text' or - 'special' by 'linear-white-space'. - */ - - $allowedBytes = array_merge( - range(ord('a'), ord('z')), range(ord('A'), ord('Z')), - range(ord('0'), ord('9')), - [ord('!'), ord('*'), ord('+'), ord('-'), ord('/')] - ); - - foreach (range(0x00, 0xFF) as $byte) { - $char = pack('C', $byte); - - $charStream = $this->createCharacterStream(); - $charStream->shouldReceive('readBytes') - ->once() - ->andReturn([$byte]); - $charStream->shouldReceive('readBytes') - ->zeroOrMoreTimes() - ->andReturn(false); - - $encoder = $this->createEncoder($charStream); - $encodedChar = $encoder->encodeString($char); - - if (in_array($byte, $allowedBytes)) { - $this->assertEquals($char, $encodedChar, - '%s: Character '.$char.' should not be encoded.' - ); - } elseif (0x20 == $byte) { - //Special case - $this->assertEquals('_', $encodedChar, - '%s: Space character should be replaced.' - ); - } else { - $this->assertEquals(sprintf('=%02X', $byte), $encodedChar, - '%s: Byte '.$byte.' should be encoded.' - ); - } - } - } - - public function testEqualsNeverAppearsAtEndOfLine() - { - /* -- RFC 2047, 5 (3). - The 'encoded-text' in an 'encoded-word' must be self-contained; - 'encoded-text' MUST NOT be continued from one 'encoded-word' to - another. This implies that the 'encoded-text' portion of a "B" - 'encoded-word' will be a multiple of 4 characters long; for a "Q" - 'encoded-word', any "=" character that appears in the 'encoded-text' - portion will be followed by two hexadecimal characters. - */ - - $input = str_repeat('a', 140); - - $charStream = $this->createCharacterStream(); - - $output = ''; - $seq = 0; - for (; $seq < 140; ++$seq) { - $charStream->shouldReceive('readBytes') - ->once() - ->andReturn([ord('a')]); - - if (75 == $seq) { - $output .= "\r\n"; // =\r\n - } - $output .= 'a'; - } - - $charStream->shouldReceive('readBytes') - ->zeroOrMoreTimes() - ->andReturn(false); - - $encoder = $this->createEncoder($charStream); - $this->assertEquals($output, $encoder->encodeString($input)); - } - - private function createEncoder($charStream) - { - return new Swift_Mime_HeaderEncoder_QpHeaderEncoder($charStream); - } - - private function createCharacterStream($stub = false) - { - return $this->getMockery('Swift_CharacterStream')->shouldIgnoreMissing(); - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/Headers/DateHeaderTest.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/Headers/DateHeaderTest.php deleted file mode 100644 index e419306182..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/Headers/DateHeaderTest.php +++ /dev/null @@ -1,90 +0,0 @@ -getHeader('Date'); - $this->assertEquals(Swift_Mime_Header::TYPE_DATE, $header->getFieldType()); - } - - public function testGetDateTime() - { - $dateTime = new DateTimeImmutable(); - $header = $this->getHeader('Date'); - $header->setDateTime($dateTime); - $this->assertSame($dateTime, $header->getDateTime()); - } - - public function testDateTimeCanBeSetBySetter() - { - $dateTime = new DateTimeImmutable(); - $header = $this->getHeader('Date'); - $header->setDateTime($dateTime); - $this->assertSame($dateTime, $header->getDateTime()); - } - - public function testDateTimeIsConvertedToImmutable() - { - $dateTime = new DateTime(); - $header = $this->getHeader('Date'); - $header->setDateTime($dateTime); - $this->assertInstanceOf('DateTimeImmutable', $header->getDateTime()); - $this->assertEquals($dateTime->getTimestamp(), $header->getDateTime()->getTimestamp()); - $this->assertEquals($dateTime->getTimezone(), $header->getDateTime()->getTimezone()); - } - - public function testDateTimeIsImmutable() - { - $dateTime = new DateTime('2000-01-01 12:00:00 Europe/Berlin'); - $header = $this->getHeader('Date'); - $header->setDateTime($dateTime); - - $dateTime->setDate(2002, 2, 2); - $this->assertEquals('Sat, 01 Jan 2000 12:00:00 +0100', $header->getDateTime()->format('r')); - $this->assertEquals('Sat, 01 Jan 2000 12:00:00 +0100', $header->getFieldBody()); - } - - public function testDateTimeIsConvertedToRfc2822Date() - { - $dateTime = new DateTimeImmutable('2000-01-01 12:00:00 Europe/Berlin'); - $header = $this->getHeader('Date'); - $header->setDateTime($dateTime); - $this->assertEquals('Sat, 01 Jan 2000 12:00:00 +0100', $header->getFieldBody()); - } - - public function testSetBodyModel() - { - $dateTime = new DateTimeImmutable(); - $header = $this->getHeader('Date'); - $header->setFieldBodyModel($dateTime); - $this->assertEquals($dateTime->format('r'), $header->getFieldBody()); - } - - public function testGetBodyModel() - { - $dateTime = new DateTimeImmutable(); - $header = $this->getHeader('Date'); - $header->setDateTime($dateTime); - $this->assertEquals($dateTime, $header->getFieldBodyModel()); - } - - public function testToString() - { - $dateTime = new DateTimeImmutable('2000-01-01 12:00:00 Europe/Berlin'); - $header = $this->getHeader('Date'); - $header->setDateTime($dateTime); - $this->assertEquals("Date: Sat, 01 Jan 2000 12:00:00 +0100\r\n", - $header->toString() - ); - } - - private function getHeader($name) - { - return new Swift_Mime_Headers_DateHeader($name); - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/Headers/IdentificationHeaderTest.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/Headers/IdentificationHeaderTest.php deleted file mode 100644 index 0d2edb7ea0..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/Headers/IdentificationHeaderTest.php +++ /dev/null @@ -1,192 +0,0 @@ -getHeader('Message-ID'); - $this->assertEquals(Swift_Mime_Header::TYPE_ID, $header->getFieldType()); - } - - public function testValueMatchesMsgIdSpec() - { - /* -- RFC 2822, 3.6.4. - message-id = "Message-ID:" msg-id CRLF - - in-reply-to = "In-Reply-To:" 1*msg-id CRLF - - references = "References:" 1*msg-id CRLF - - msg-id = [CFWS] "<" id-left "@" id-right ">" [CFWS] - - id-left = dot-atom-text / no-fold-quote / obs-id-left - - id-right = dot-atom-text / no-fold-literal / obs-id-right - - no-fold-quote = DQUOTE *(qtext / quoted-pair) DQUOTE - - no-fold-literal = "[" *(dtext / quoted-pair) "]" - */ - - $header = $this->getHeader('Message-ID'); - $header->setId('id-left@id-right'); - $this->assertEquals('', $header->getFieldBody()); - } - - public function testIdCanBeRetrievedVerbatim() - { - $header = $this->getHeader('Message-ID'); - $header->setId('id-left@id-right'); - $this->assertEquals('id-left@id-right', $header->getId()); - } - - public function testMultipleIdsCanBeSet() - { - $header = $this->getHeader('References'); - $header->setIds(['a@b', 'x@y']); - $this->assertEquals(['a@b', 'x@y'], $header->getIds()); - } - - public function testSettingMultipleIdsProducesAListValue() - { - /* -- RFC 2822, 3.6.4. - The "References:" and "In-Reply-To:" field each contain one or more - unique message identifiers, optionally separated by CFWS. - - .. SNIP .. - - in-reply-to = "In-Reply-To:" 1*msg-id CRLF - - references = "References:" 1*msg-id CRLF - */ - - $header = $this->getHeader('References'); - $header->setIds(['a@b', 'x@y']); - $this->assertEquals(' ', $header->getFieldBody()); - } - - public function testIdLeftCanBeQuoted() - { - /* -- RFC 2822, 3.6.4. - id-left = dot-atom-text / no-fold-quote / obs-id-left - */ - - $header = $this->getHeader('References'); - $header->setId('"ab"@c'); - $this->assertEquals('"ab"@c', $header->getId()); - $this->assertEquals('<"ab"@c>', $header->getFieldBody()); - } - - public function testIdLeftCanContainAnglesAsQuotedPairs() - { - /* -- RFC 2822, 3.6.4. - no-fold-quote = DQUOTE *(qtext / quoted-pair) DQUOTE - */ - - $header = $this->getHeader('References'); - $header->setId('"a\\<\\>b"@c'); - $this->assertEquals('"a\\<\\>b"@c', $header->getId()); - $this->assertEquals('<"a\\<\\>b"@c>', $header->getFieldBody()); - } - - public function testIdLeftCanBeDotAtom() - { - $header = $this->getHeader('References'); - $header->setId('a.b+&%$.c@d'); - $this->assertEquals('a.b+&%$.c@d', $header->getId()); - $this->assertEquals('', $header->getFieldBody()); - } - - /** - * @expectedException \Exception - * @expectedMessageException "a b c" is not valid id-left - */ - public function testInvalidIdLeftThrowsException() - { - $header = $this->getHeader('References'); - $header->setId('a b c@d'); - } - - public function testIdRightCanBeDotAtom() - { - /* -- RFC 2822, 3.6.4. - id-right = dot-atom-text / no-fold-literal / obs-id-right - */ - - $header = $this->getHeader('References'); - $header->setId('a@b.c+&%$.d'); - $this->assertEquals('a@b.c+&%$.d', $header->getId()); - $this->assertEquals('', $header->getFieldBody()); - } - - public function testIdRightCanBeLiteral() - { - /* -- RFC 2822, 3.6.4. - no-fold-literal = "[" *(dtext / quoted-pair) "]" - */ - - $header = $this->getHeader('References'); - $header->setId('a@[1.2.3.4]'); - $this->assertEquals('a@[1.2.3.4]', $header->getId()); - $this->assertEquals('', $header->getFieldBody()); - } - - public function testIdRigthIsIdnEncoded() - { - $header = $this->getHeader('References'); - $header->setId('a@ä'); - $this->assertEquals('a@ä', $header->getId()); - $this->assertEquals('', $header->getFieldBody()); - } - - /** - * @expectedException \Exception - * @expectedMessageException "b c d" is not valid id-right - */ - public function testInvalidIdRightThrowsException() - { - $header = $this->getHeader('References'); - $header->setId('a@b c d'); - } - - /** - * @expectedException \Exception - * @expectedMessageException "abc" is does not contain @ - */ - public function testMissingAtSignThrowsException() - { - /* -- RFC 2822, 3.6.4. - msg-id = [CFWS] "<" id-left "@" id-right ">" [CFWS] - */ - $header = $this->getHeader('References'); - $header->setId('abc'); - } - - public function testSetBodyModel() - { - $header = $this->getHeader('Message-ID'); - $header->setFieldBodyModel('a@b'); - $this->assertEquals(['a@b'], $header->getIds()); - } - - public function testGetBodyModel() - { - $header = $this->getHeader('Message-ID'); - $header->setId('a@b'); - $this->assertEquals(['a@b'], $header->getFieldBodyModel()); - } - - public function testStringValue() - { - $header = $this->getHeader('References'); - $header->setIds(['a@b', 'x@y']); - $this->assertEquals('References: '."\r\n", $header->toString()); - } - - private function getHeader($name) - { - return new Swift_Mime_Headers_IdentificationHeader($name, new EmailValidator(), new Swift_AddressEncoder_IdnAddressEncoder()); - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/Headers/MailboxHeaderTest.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/Headers/MailboxHeaderTest.php deleted file mode 100644 index f64f5db59c..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/Headers/MailboxHeaderTest.php +++ /dev/null @@ -1,367 +0,0 @@ -getHeader('To'); - $this->assertEquals(Swift_Mime_Header::TYPE_MAILBOX, $header->getFieldType()); - } - - public function testMailboxIsSetForAddress() - { - $header = $this->getHeader('From'); - $header->setAddresses('chris@swiftmailer.org'); - $this->assertEquals(['chris@swiftmailer.org'], - $header->getNameAddressStrings() - ); - } - - public function testMailboxIsRenderedForNameAddress() - { - $header = $this->getHeader('From'); - $header->setNameAddresses(['chris@swiftmailer.org' => 'Chris Corbyn']); - $this->assertEquals( - ['Chris Corbyn '], $header->getNameAddressStrings() - ); - } - - public function testAddressCanBeReturnedForAddress() - { - $header = $this->getHeader('From'); - $header->setAddresses('chris@swiftmailer.org'); - $this->assertEquals(['chris@swiftmailer.org'], $header->getAddresses()); - } - - public function testAddressCanBeReturnedForNameAddress() - { - $header = $this->getHeader('From'); - $header->setNameAddresses(['chris@swiftmailer.org' => 'Chris Corbyn']); - $this->assertEquals(['chris@swiftmailer.org'], $header->getAddresses()); - } - - public function testQuotesInNameAreQuoted() - { - $header = $this->getHeader('From'); - $header->setNameAddresses([ - 'chris@swiftmailer.org' => 'Chris Corbyn, "DHE"', - ]); - $this->assertEquals( - ['"Chris Corbyn, \"DHE\"" '], - $header->getNameAddressStrings() - ); - } - - public function testEscapeCharsInNameAreQuoted() - { - $header = $this->getHeader('From'); - $header->setNameAddresses([ - 'chris@swiftmailer.org' => 'Chris Corbyn, \\escaped\\', - ]); - $this->assertEquals( - ['"Chris Corbyn, \\\\escaped\\\\" '], - $header->getNameAddressStrings() - ); - } - - public function testUtf8CharsInDomainAreIdnEncoded() - { - $header = $this->getHeader('From'); - $header->setNameAddresses([ - 'chris@swïftmailer.org' => 'Chris Corbyn', - ]); - $this->assertEquals( - ['Chris Corbyn '], - $header->getNameAddressStrings() - ); - } - - /** - * @expectedException \Swift_AddressEncoderException - */ - public function testUtf8CharsInLocalPartThrows() - { - $header = $this->getHeader('From'); - $header->setNameAddresses([ - 'chrïs@swiftmailer.org' => 'Chris Corbyn', - ]); - $header->getNameAddressStrings(); - } - - public function testUtf8CharsInEmail() - { - $header = $this->getHeader('From', null, new Swift_AddressEncoder_Utf8AddressEncoder()); - $header->setNameAddresses([ - 'chrïs@swïftmailer.org' => 'Chris Corbyn', - ]); - $this->assertEquals( - ['Chris Corbyn '], - $header->getNameAddressStrings() - ); - } - - public function testGetMailboxesReturnsNameValuePairs() - { - $header = $this->getHeader('From'); - $header->setNameAddresses([ - 'chris@swiftmailer.org' => 'Chris Corbyn, DHE', - ]); - $this->assertEquals( - ['chris@swiftmailer.org' => 'Chris Corbyn, DHE'], $header->getNameAddresses() - ); - } - - public function testMultipleAddressesCanBeSetAndFetched() - { - $header = $this->getHeader('From'); - $header->setAddresses([ - 'chris@swiftmailer.org', 'mark@swiftmailer.org', - ]); - $this->assertEquals( - ['chris@swiftmailer.org', 'mark@swiftmailer.org'], - $header->getAddresses() - ); - } - - public function testMultipleAddressesAsMailboxes() - { - $header = $this->getHeader('From'); - $header->setAddresses([ - 'chris@swiftmailer.org', 'mark@swiftmailer.org', - ]); - $this->assertEquals( - ['chris@swiftmailer.org' => null, 'mark@swiftmailer.org' => null], - $header->getNameAddresses() - ); - } - - public function testMultipleAddressesAsMailboxStrings() - { - $header = $this->getHeader('From'); - $header->setAddresses([ - 'chris@swiftmailer.org', 'mark@swiftmailer.org', - ]); - $this->assertEquals( - ['chris@swiftmailer.org', 'mark@swiftmailer.org'], - $header->getNameAddressStrings() - ); - } - - public function testMultipleNamedMailboxesReturnsMultipleAddresses() - { - $header = $this->getHeader('From'); - $header->setNameAddresses([ - 'chris@swiftmailer.org' => 'Chris Corbyn', - 'mark@swiftmailer.org' => 'Mark Corbyn', - ]); - $this->assertEquals( - ['chris@swiftmailer.org', 'mark@swiftmailer.org'], - $header->getAddresses() - ); - } - - public function testMultipleNamedMailboxesReturnsMultipleMailboxes() - { - $header = $this->getHeader('From'); - $header->setNameAddresses([ - 'chris@swiftmailer.org' => 'Chris Corbyn', - 'mark@swiftmailer.org' => 'Mark Corbyn', - ]); - $this->assertEquals([ - 'chris@swiftmailer.org' => 'Chris Corbyn', - 'mark@swiftmailer.org' => 'Mark Corbyn', - ], - $header->getNameAddresses() - ); - } - - public function testMultipleMailboxesProducesMultipleMailboxStrings() - { - $header = $this->getHeader('From'); - $header->setNameAddresses([ - 'chris@swiftmailer.org' => 'Chris Corbyn', - 'mark@swiftmailer.org' => 'Mark Corbyn', - ]); - $this->assertEquals([ - 'Chris Corbyn ', - 'Mark Corbyn ', - ], - $header->getNameAddressStrings() - ); - } - - public function testSetAddressesOverwritesAnyMailboxes() - { - $header = $this->getHeader('From'); - $header->setNameAddresses([ - 'chris@swiftmailer.org' => 'Chris Corbyn', - 'mark@swiftmailer.org' => 'Mark Corbyn', - ]); - $this->assertEquals( - ['chris@swiftmailer.org' => 'Chris Corbyn', - 'mark@swiftmailer.org' => 'Mark Corbyn', ], - $header->getNameAddresses() - ); - $this->assertEquals( - ['chris@swiftmailer.org', 'mark@swiftmailer.org'], - $header->getAddresses() - ); - - $header->setAddresses(['chris@swiftmailer.org', 'mark@swiftmailer.org']); - - $this->assertEquals( - ['chris@swiftmailer.org' => null, 'mark@swiftmailer.org' => null], - $header->getNameAddresses() - ); - $this->assertEquals( - ['chris@swiftmailer.org', 'mark@swiftmailer.org'], - $header->getAddresses() - ); - } - - public function testNameIsEncodedIfNonAscii() - { - $name = 'C'.pack('C', 0x8F).'rbyn'; - - $encoder = $this->getEncoder('Q'); - $encoder->shouldReceive('encodeString') - ->once() - ->with($name, \Mockery::any(), \Mockery::any(), \Mockery::any()) - ->andReturn('C=8Frbyn'); - - $header = $this->getHeader('From', $encoder); - $header->setNameAddresses(['chris@swiftmailer.org' => 'Chris '.$name]); - - $addresses = $header->getNameAddressStrings(); - $this->assertEquals( - 'Chris =?'.$this->charset.'?Q?C=8Frbyn?= ', - array_shift($addresses) - ); - } - - public function testEncodingLineLengthCalculations() - { - /* -- RFC 2047, 2. - An 'encoded-word' may not be more than 75 characters long, including - 'charset', 'encoding', 'encoded-text', and delimiters. - */ - - $name = 'C'.pack('C', 0x8F).'rbyn'; - - $encoder = $this->getEncoder('Q'); - $encoder->shouldReceive('encodeString') - ->once() - ->with($name, \Mockery::any(), \Mockery::any(), \Mockery::any()) - ->andReturn('C=8Frbyn'); - - $header = $this->getHeader('From', $encoder); - $header->setNameAddresses(['chris@swiftmailer.org' => 'Chris '.$name]); - - $header->getNameAddressStrings(); - } - - public function testGetValueReturnsMailboxStringValue() - { - $header = $this->getHeader('From'); - $header->setNameAddresses([ - 'chris@swiftmailer.org' => 'Chris Corbyn', - ]); - $this->assertEquals( - 'Chris Corbyn ', $header->getFieldBody() - ); - } - - public function testGetValueReturnsMailboxStringValueForMultipleMailboxes() - { - $header = $this->getHeader('From'); - $header->setNameAddresses([ - 'chris@swiftmailer.org' => 'Chris Corbyn', - 'mark@swiftmailer.org' => 'Mark Corbyn', - ]); - $this->assertEquals( - 'Chris Corbyn , Mark Corbyn ', - $header->getFieldBody() - ); - } - - public function testRemoveAddressesWithSingleValue() - { - $header = $this->getHeader('From'); - $header->setNameAddresses([ - 'chris@swiftmailer.org' => 'Chris Corbyn', - 'mark@swiftmailer.org' => 'Mark Corbyn', - ]); - $header->removeAddresses('chris@swiftmailer.org'); - $this->assertEquals(['mark@swiftmailer.org'], - $header->getAddresses() - ); - } - - public function testRemoveAddressesWithList() - { - $header = $this->getHeader('From'); - $header->setNameAddresses([ - 'chris@swiftmailer.org' => 'Chris Corbyn', - 'mark@swiftmailer.org' => 'Mark Corbyn', - ]); - $header->removeAddresses( - ['chris@swiftmailer.org', 'mark@swiftmailer.org'] - ); - $this->assertEquals([], $header->getAddresses()); - } - - public function testSetBodyModel() - { - $header = $this->getHeader('From'); - $header->setFieldBodyModel('chris@swiftmailer.org'); - $this->assertEquals(['chris@swiftmailer.org' => null], $header->getNameAddresses()); - } - - public function testGetBodyModel() - { - $header = $this->getHeader('From'); - $header->setAddresses(['chris@swiftmailer.org']); - $this->assertEquals(['chris@swiftmailer.org' => null], $header->getFieldBodyModel()); - } - - public function testToString() - { - $header = $this->getHeader('From'); - $header->setNameAddresses([ - 'chris@swiftmailer.org' => 'Chris Corbyn', - 'mark@swiftmailer.org' => 'Mark Corbyn', - ]); - $this->assertEquals( - 'From: Chris Corbyn , '. - 'Mark Corbyn '."\r\n", - $header->toString() - ); - } - - private function getHeader($name, $encoder = null, $addressEncoder = null) - { - $encoder = $encoder ?? $this->getEncoder('Q', true); - $addressEncoder = $addressEncoder ?? new Swift_AddressEncoder_IdnAddressEncoder(); - $header = new Swift_Mime_Headers_MailboxHeader($name, $encoder, new EmailValidator(), $addressEncoder); - $header->setCharset($this->charset); - - return $header; - } - - private function getEncoder($type) - { - $encoder = $this->getMockery('Swift_Mime_HeaderEncoder')->shouldIgnoreMissing(); - $encoder->shouldReceive('getName') - ->zeroOrMoreTimes() - ->andReturn($type); - - return $encoder; - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/Headers/ParameterizedHeaderTest.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/Headers/ParameterizedHeaderTest.php deleted file mode 100644 index c90b05b420..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/Headers/ParameterizedHeaderTest.php +++ /dev/null @@ -1,396 +0,0 @@ -getHeader('Content-Type', - $this->getHeaderEncoder('Q', true), $this->getParameterEncoder(true) - ); - $this->assertEquals(Swift_Mime_Header::TYPE_PARAMETERIZED, $header->getFieldType()); - } - - public function testValueIsReturnedVerbatim() - { - $header = $this->getHeader('Content-Type', - $this->getHeaderEncoder('Q', true), $this->getParameterEncoder(true) - ); - $header->setValue('text/plain'); - $this->assertEquals('text/plain', $header->getValue()); - } - - public function testParametersAreAppended() - { - /* -- RFC 2045, 5.1 - parameter := attribute "=" value - - attribute := token - ; Matching of attributes - ; is ALWAYS case-insensitive. - - value := token / quoted-string - - token := 1* - - tspecials := "(" / ")" / "<" / ">" / "@" / - "," / ";" / ":" / "\" / <"> - "/" / "[" / "]" / "?" / "=" - ; Must be in quoted-string, - ; to use within parameter values - */ - - $header = $this->getHeader('Content-Type', - $this->getHeaderEncoder('Q', true), $this->getParameterEncoder(true) - ); - $header->setValue('text/plain'); - $header->setParameters(['charset' => 'utf-8']); - $this->assertEquals('text/plain; charset=utf-8', $header->getFieldBody()); - } - - public function testSpaceInParamResultsInQuotedString() - { - $header = $this->getHeader('Content-Disposition', - $this->getHeaderEncoder('Q', true), $this->getParameterEncoder(true) - ); - $header->setValue('attachment'); - $header->setParameters(['filename' => 'my file.txt']); - $this->assertEquals('attachment; filename="my file.txt"', - $header->getFieldBody() - ); - } - - public function testLongParamsAreBrokenIntoMultipleAttributeStrings() - { - /* -- RFC 2231, 3. - The asterisk character ("*") followed - by a decimal count is employed to indicate that multiple parameters - are being used to encapsulate a single parameter value. The count - starts at 0 and increments by 1 for each subsequent section of the - parameter value. Decimal values are used and neither leading zeroes - nor gaps in the sequence are allowed. - - The original parameter value is recovered by concatenating the - various sections of the parameter, in order. For example, the - content-type field - - Content-Type: message/external-body; access-type=URL; - URL*0="ftp://"; - URL*1="cs.utk.edu/pub/moore/bulk-mailer/bulk-mailer.tar" - - is semantically identical to - - Content-Type: message/external-body; access-type=URL; - URL="ftp://cs.utk.edu/pub/moore/bulk-mailer/bulk-mailer.tar" - - Note that quotes around parameter values are part of the value - syntax; they are NOT part of the value itself. Furthermore, it is - explicitly permitted to have a mixture of quoted and unquoted - continuation fields. - */ - - $value = str_repeat('a', 180); - - $encoder = $this->getParameterEncoder(); - $encoder->shouldReceive('encodeString') - ->once() - ->with($value, \Mockery::any(), 63, \Mockery::any()) - ->andReturn(str_repeat('a', 63)."\r\n". - str_repeat('a', 63)."\r\n".str_repeat('a', 54)); - - $header = $this->getHeader('Content-Disposition', - $this->getHeaderEncoder('Q', true), $encoder - ); - $header->setValue('attachment'); - $header->setParameters(['filename' => $value]); - $header->setMaxLineLength(78); - $this->assertEquals( - 'attachment; '. - 'filename*0*=utf-8\'\''.str_repeat('a', 63).";\r\n ". - 'filename*1*='.str_repeat('a', 63).";\r\n ". - 'filename*2*='.str_repeat('a', 54), - $header->getFieldBody() - ); - } - - public function testEncodedParamDataIncludesCharsetAndLanguage() - { - /* -- RFC 2231, 4. - Asterisks ("*") are reused to provide the indicator that language and - character set information is present and encoding is being used. A - single quote ("'") is used to delimit the character set and language - information at the beginning of the parameter value. Percent signs - ("%") are used as the encoding flag, which agrees with RFC 2047. - - Specifically, an asterisk at the end of a parameter name acts as an - indicator that character set and language information may appear at - the beginning of the parameter value. A single quote is used to - separate the character set, language, and actual value information in - the parameter value string, and an percent sign is used to flag - octets encoded in hexadecimal. For example: - - Content-Type: application/x-stuff; - title*=us-ascii'en-us'This%20is%20%2A%2A%2Afun%2A%2A%2A - - Note that it is perfectly permissible to leave either the character - set or language field blank. Note also that the single quote - delimiters MUST be present even when one of the field values is - omitted. - */ - - $value = str_repeat('a', 20).pack('C', 0x8F).str_repeat('a', 10); - - $encoder = $this->getParameterEncoder(); - $encoder->shouldReceive('encodeString') - ->once() - ->with($value, 12, 62, \Mockery::any()) - ->andReturn(str_repeat('a', 20).'%8F'.str_repeat('a', 10)); - - $header = $this->getHeader('Content-Disposition', - $this->getHeaderEncoder('Q', true), $encoder - ); - $header->setValue('attachment'); - $header->setParameters(['filename' => $value]); - $header->setMaxLineLength(78); - $header->setLanguage($this->lang); - $this->assertEquals( - 'attachment; filename*='.$this->charset."'".$this->lang."'". - str_repeat('a', 20).'%8F'.str_repeat('a', 10), - $header->getFieldBody() - ); - } - - public function testMultipleEncodedParamLinesAreFormattedCorrectly() - { - /* -- RFC 2231, 4.1. - Character set and language information may be combined with the - parameter continuation mechanism. For example: - - Content-Type: application/x-stuff - title*0*=us-ascii'en'This%20is%20even%20more%20 - title*1*=%2A%2A%2Afun%2A%2A%2A%20 - title*2="isn't it!" - - Note that: - - (1) Language and character set information only appear at - the beginning of a given parameter value. - - (2) Continuations do not provide a facility for using more - than one character set or language in the same - parameter value. - - (3) A value presented using multiple continuations may - contain a mixture of encoded and unencoded segments. - - (4) The first segment of a continuation MUST be encoded if - language and character set information are given. - - (5) If the first segment of a continued parameter value is - encoded the language and character set field delimiters - MUST be present even when the fields are left blank. - */ - - $value = str_repeat('a', 20).pack('C', 0x8F).str_repeat('a', 60); - - $encoder = $this->getParameterEncoder(); - $encoder->shouldReceive('encodeString') - ->once() - ->with($value, 12, 62, \Mockery::any()) - ->andReturn(str_repeat('a', 20).'%8F'.str_repeat('a', 28)."\r\n". - str_repeat('a', 32)); - - $header = $this->getHeader('Content-Disposition', - $this->getHeaderEncoder('Q', true), $encoder - ); - $header->setValue('attachment'); - $header->setParameters(['filename' => $value]); - $header->setMaxLineLength(78); - $header->setLanguage($this->lang); - $this->assertEquals( - 'attachment; filename*0*='.$this->charset."'".$this->lang."'". - str_repeat('a', 20).'%8F'.str_repeat('a', 28).";\r\n ". - 'filename*1*='.str_repeat('a', 32), - $header->getFieldBody() - ); - } - - public function testToString() - { - $header = $this->getHeader('Content-Type', - $this->getHeaderEncoder('Q', true), $this->getParameterEncoder(true) - ); - $header->setValue('text/html'); - $header->setParameters(['charset' => 'utf-8']); - $this->assertEquals('Content-Type: text/html; charset=utf-8'."\r\n", - $header->toString() - ); - } - - public function testValueCanBeEncodedIfNonAscii() - { - $value = 'fo'.pack('C', 0x8F).'bar'; - - $encoder = $this->getHeaderEncoder('Q'); - $encoder->shouldReceive('encodeString') - ->once() - ->with($value, \Mockery::any(), \Mockery::any(), \Mockery::any()) - ->andReturn('fo=8Fbar'); - - $header = $this->getHeader('X-Foo', $encoder, $this->getParameterEncoder(true)); - $header->setValue($value); - $header->setParameters(['lookslike' => 'foobar']); - $this->assertEquals('X-Foo: =?utf-8?Q?fo=8Fbar?=; lookslike=foobar'."\r\n", - $header->toString() - ); - } - - public function testValueAndParamCanBeEncodedIfNonAscii() - { - $value = 'fo'.pack('C', 0x8F).'bar'; - - $encoder = $this->getHeaderEncoder('Q'); - $encoder->shouldReceive('encodeString') - ->once() - ->with($value, \Mockery::any(), \Mockery::any(), \Mockery::any()) - ->andReturn('fo=8Fbar'); - - $paramEncoder = $this->getParameterEncoder(); - $paramEncoder->shouldReceive('encodeString') - ->once() - ->with($value, \Mockery::any(), \Mockery::any(), \Mockery::any()) - ->andReturn('fo%8Fbar'); - - $header = $this->getHeader('X-Foo', $encoder, $paramEncoder); - $header->setValue($value); - $header->setParameters(['says' => $value]); - $this->assertEquals("X-Foo: =?utf-8?Q?fo=8Fbar?=; says*=utf-8''fo%8Fbar\r\n", - $header->toString() - ); - } - - public function testParamsAreEncodedWithEncodedWordsIfNoParamEncoderSet() - { - $value = 'fo'.pack('C', 0x8F).'bar'; - - $encoder = $this->getHeaderEncoder('Q'); - $encoder->shouldReceive('encodeString') - ->once() - ->with($value, \Mockery::any(), \Mockery::any(), \Mockery::any()) - ->andReturn('fo=8Fbar'); - - $header = $this->getHeader('X-Foo', $encoder, null); - $header->setValue('bar'); - $header->setParameters(['says' => $value]); - $this->assertEquals("X-Foo: bar; says=\"=?utf-8?Q?fo=8Fbar?=\"\r\n", - $header->toString() - ); - } - - public function testLanguageInformationAppearsInEncodedWords() - { - /* -- RFC 2231, 5. - 5. Language specification in Encoded Words - - RFC 2047 provides support for non-US-ASCII character sets in RFC 822 - message header comments, phrases, and any unstructured text field. - This is done by defining an encoded word construct which can appear - in any of these places. Given that these are fields intended for - display, it is sometimes necessary to associate language information - with encoded words as well as just the character set. This - specification extends the definition of an encoded word to allow the - inclusion of such information. This is simply done by suffixing the - character set specification with an asterisk followed by the language - tag. For example: - - From: =?US-ASCII*EN?Q?Keith_Moore?= - */ - - $value = 'fo'.pack('C', 0x8F).'bar'; - - $encoder = $this->getHeaderEncoder('Q'); - $encoder->shouldReceive('encodeString') - ->once() - ->with($value, \Mockery::any(), \Mockery::any(), \Mockery::any()) - ->andReturn('fo=8Fbar'); - - $paramEncoder = $this->getParameterEncoder(); - $paramEncoder->shouldReceive('encodeString') - ->once() - ->with($value, \Mockery::any(), \Mockery::any(), \Mockery::any()) - ->andReturn('fo%8Fbar'); - - $header = $this->getHeader('X-Foo', $encoder, $paramEncoder); - $header->setLanguage('en'); - $header->setValue($value); - $header->setParameters(['says' => $value]); - $this->assertEquals("X-Foo: =?utf-8*en?Q?fo=8Fbar?=; says*=utf-8'en'fo%8Fbar\r\n", - $header->toString() - ); - } - - public function testSetBodyModel() - { - $header = $this->getHeader('Content-Type', - $this->getHeaderEncoder('Q', true), $this->getParameterEncoder(true) - ); - $header->setFieldBodyModel('text/html'); - $this->assertEquals('text/html', $header->getValue()); - } - - public function testGetBodyModel() - { - $header = $this->getHeader('Content-Type', - $this->getHeaderEncoder('Q', true), $this->getParameterEncoder(true) - ); - $header->setValue('text/plain'); - $this->assertEquals('text/plain', $header->getFieldBodyModel()); - } - - public function testSetParameter() - { - $header = $this->getHeader('Content-Type', - $this->getHeaderEncoder('Q', true), $this->getParameterEncoder(true) - ); - $header->setParameters(['charset' => 'utf-8', 'delsp' => 'yes']); - $header->setParameter('delsp', 'no'); - $this->assertEquals(['charset' => 'utf-8', 'delsp' => 'no'], - $header->getParameters() - ); - } - - public function testGetParameter() - { - $header = $this->getHeader('Content-Type', - $this->getHeaderEncoder('Q', true), $this->getParameterEncoder(true) - ); - $header->setParameters(['charset' => 'utf-8', 'delsp' => 'yes']); - $this->assertEquals('utf-8', $header->getParameter('charset')); - } - - private function getHeader($name, $encoder, $paramEncoder) - { - $header = new Swift_Mime_Headers_ParameterizedHeader($name, $encoder, $paramEncoder); - $header->setCharset($this->charset); - - return $header; - } - - private function getHeaderEncoder($type, $stub = false) - { - $encoder = $this->getMockery('Swift_Mime_HeaderEncoder')->shouldIgnoreMissing(); - $encoder->shouldReceive('getName') - ->zeroOrMoreTimes() - ->andReturn($type); - - return $encoder; - } - - private function getParameterEncoder($stub = false) - { - return $this->getMockery('Swift_Encoder')->shouldIgnoreMissing(); - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/Headers/PathHeaderTest.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/Headers/PathHeaderTest.php deleted file mode 100644 index 045107e59b..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/Headers/PathHeaderTest.php +++ /dev/null @@ -1,95 +0,0 @@ -getHeader('Return-Path'); - $this->assertEquals(Swift_Mime_Header::TYPE_PATH, $header->getFieldType()); - } - - public function testSingleAddressCanBeSetAndFetched() - { - $header = $this->getHeader('Return-Path'); - $header->setAddress('chris@swiftmailer.org'); - $this->assertEquals('chris@swiftmailer.org', $header->getAddress()); - } - - /** - * @expectedException \Exception - */ - public function testAddressMustComplyWithRfc2822() - { - $header = $this->getHeader('Return-Path'); - $header->setAddress('chr is@swiftmailer.org'); - } - - public function testValueIsAngleAddrWithValidAddress() - { - /* -- RFC 2822, 3.6.7. - - return = "Return-Path:" path CRLF - - path = ([CFWS] "<" ([CFWS] / addr-spec) ">" [CFWS]) / - obs-path - */ - - $header = $this->getHeader('Return-Path'); - $header->setAddress('chris@swiftmailer.org'); - $this->assertEquals('', $header->getFieldBody()); - } - - public function testAddressIsIdnEncoded() - { - $header = $this->getHeader('Return-Path'); - $header->setAddress('chris@swïftmailer.org'); - $this->assertEquals('', $header->getFieldBody()); - } - - /** - * @expectedException \Swift_AddressEncoderException - */ - public function testAddressMustBeEncodable() - { - $header = $this->getHeader('Return-Path'); - $header->setAddress('chrïs@swiftmailer.org'); - $header->getFieldBody(); - } - - public function testValueIsEmptyAngleBracketsIfEmptyAddressSet() - { - $header = $this->getHeader('Return-Path'); - $header->setAddress(''); - $this->assertEquals('<>', $header->getFieldBody()); - } - - public function testSetBodyModel() - { - $header = $this->getHeader('Return-Path'); - $header->setFieldBodyModel('foo@bar.tld'); - $this->assertEquals('foo@bar.tld', $header->getAddress()); - } - - public function testGetBodyModel() - { - $header = $this->getHeader('Return-Path'); - $header->setAddress('foo@bar.tld'); - $this->assertEquals('foo@bar.tld', $header->getFieldBodyModel()); - } - - public function testToString() - { - $header = $this->getHeader('Return-Path'); - $header->setAddress('chris@swiftmailer.org'); - $this->assertEquals('Return-Path: '."\r\n", - $header->toString() - ); - } - - private function getHeader($name) - { - return new Swift_Mime_Headers_PathHeader($name, new EmailValidator(), new Swift_AddressEncoder_IdnAddressEncoder()); - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/Headers/UnstructuredHeaderTest.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/Headers/UnstructuredHeaderTest.php deleted file mode 100644 index 30ccb00c15..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/Headers/UnstructuredHeaderTest.php +++ /dev/null @@ -1,353 +0,0 @@ -getHeader('Subject', $this->getEncoder('Q', true)); - $this->assertEquals(Swift_Mime_Header::TYPE_TEXT, $header->getFieldType()); - } - - public function testGetNameReturnsNameVerbatim() - { - $header = $this->getHeader('Subject', $this->getEncoder('Q', true)); - $this->assertEquals('Subject', $header->getFieldName()); - } - - public function testGetValueReturnsValueVerbatim() - { - $header = $this->getHeader('Subject', $this->getEncoder('Q', true)); - $header->setValue('Test'); - $this->assertEquals('Test', $header->getValue()); - } - - public function testBasicStructureIsKeyValuePair() - { - /* -- RFC 2822, 2.2 - Header fields are lines composed of a field name, followed by a colon - (":"), followed by a field body, and terminated by CRLF. - */ - $header = $this->getHeader('Subject', $this->getEncoder('Q', true)); - $header->setValue('Test'); - $this->assertEquals('Subject: Test'."\r\n", $header->toString()); - } - - public function testLongHeadersAreFoldedAtWordBoundary() - { - /* -- RFC 2822, 2.2.3 - Each header field is logically a single line of characters comprising - the field name, the colon, and the field body. For convenience - however, and to deal with the 998/78 character limitations per line, - the field body portion of a header field can be split into a multiple - line representation; this is called "folding". The general rule is - that wherever this standard allows for folding white space (not - simply WSP characters), a CRLF may be inserted before any WSP. - */ - - $value = 'The quick brown fox jumped over the fence, he was a very very '. - 'scary brown fox with a bushy tail'; - $header = $this->getHeader('X-Custom-Header', - $this->getEncoder('Q', true) - ); - $header->setValue($value); - $header->setMaxLineLength(78); //A safe [RFC 2822, 2.2.3] default - /* - X-Custom-Header: The quick brown fox jumped over the fence, he was a very very - scary brown fox with a bushy tail - */ - $this->assertEquals( - 'X-Custom-Header: The quick brown fox jumped over the fence, he was a'. - ' very very'."\r\n".//Folding - ' scary brown fox with a bushy tail'."\r\n", - $header->toString(), '%s: The header should have been folded at 78th char' - ); - } - - public function testPrintableAsciiOnlyAppearsInHeaders() - { - /* -- RFC 2822, 2.2. - A field name MUST be composed of printable US-ASCII characters (i.e., - characters that have values between 33 and 126, inclusive), except - colon. A field body may be composed of any US-ASCII characters, - except for CR and LF. - */ - - $nonAsciiChar = pack('C', 0x8F); - $header = $this->getHeader('X-Test', $this->getEncoder('Q', true)); - $header->setValue($nonAsciiChar); - $this->assertRegExp( - '~^[^:\x00-\x20\x80-\xFF]+: [^\x80-\xFF\r\n]+\r\n$~s', - $header->toString() - ); - } - - public function testEncodedWordsFollowGeneralStructure() - { - /* -- RFC 2047, 1. - Generally, an "encoded-word" is a sequence of printable ASCII - characters that begins with "=?", ends with "?=", and has two "?"s in - between. - */ - - $nonAsciiChar = pack('C', 0x8F); - $header = $this->getHeader('X-Test', $this->getEncoder('Q', true)); - $header->setValue($nonAsciiChar); - $this->assertRegExp( - '~^X-Test: \=?.*?\?.*?\?.*?\?=\r\n$~s', - $header->toString() - ); - } - - public function testEncodedWordIncludesCharsetAndEncodingMethodAndText() - { - /* -- RFC 2047, 2. - An 'encoded-word' is defined by the following ABNF grammar. The - notation of RFC 822 is used, with the exception that white space - characters MUST NOT appear between components of an 'encoded-word'. - - encoded-word = "=?" charset "?" encoding "?" encoded-text "?=" - */ - - $nonAsciiChar = pack('C', 0x8F); - - $encoder = $this->getEncoder('Q'); - $encoder->shouldReceive('encodeString') - ->once() - ->with($nonAsciiChar, \Mockery::any(), \Mockery::any(), \Mockery::any()) - ->andReturn('=8F'); - - $header = $this->getHeader('X-Test', $encoder); - $header->setValue($nonAsciiChar); - $this->assertEquals( - 'X-Test: =?'.$this->charset.'?Q?=8F?='."\r\n", - $header->toString() - ); - } - - public function testEncodedWordsAreUsedToEncodedNonPrintableAscii() - { - //SPACE and TAB permitted - $nonPrintableBytes = array_merge( - range(0x00, 0x08), range(0x10, 0x19), [0x7F] - ); - - foreach ($nonPrintableBytes as $byte) { - $char = pack('C', $byte); - $encodedChar = sprintf('=%02X', $byte); - - $encoder = $this->getEncoder('Q'); - $encoder->shouldReceive('encodeString') - ->once() - ->with($char, \Mockery::any(), \Mockery::any(), \Mockery::any()) - ->andReturn($encodedChar); - - $header = $this->getHeader('X-A', $encoder); - $header->setValue($char); - - $this->assertEquals( - 'X-A: =?'.$this->charset.'?Q?'.$encodedChar.'?='."\r\n", - $header->toString(), '%s: Non-printable ascii should be encoded' - ); - } - } - - public function testEncodedWordsAreUsedToEncode8BitOctets() - { - foreach (range(0x80, 0xFF) as $byte) { - $char = pack('C', $byte); - $encodedChar = sprintf('=%02X', $byte); - - $encoder = $this->getEncoder('Q'); - $encoder->shouldReceive('encodeString') - ->once() - ->with($char, \Mockery::any(), \Mockery::any(), \Mockery::any()) - ->andReturn($encodedChar); - - $header = $this->getHeader('X-A', $encoder); - $header->setValue($char); - - $this->assertEquals( - 'X-A: =?'.$this->charset.'?Q?'.$encodedChar.'?='."\r\n", - $header->toString(), '%s: 8-bit octets should be encoded' - ); - } - } - - public function testEncodedWordsAreNoMoreThan75CharsPerLine() - { - /* -- RFC 2047, 2. - An 'encoded-word' may not be more than 75 characters long, including - 'charset', 'encoding', 'encoded-text', and delimiters. - - ... SNIP ... - - While there is no limit to the length of a multiple-line header - field, each line of a header field that contains one or more - 'encoded-word's is limited to 76 characters. - */ - - $nonAsciiChar = pack('C', 0x8F); - - $encoder = $this->getEncoder('Q'); - $encoder->shouldReceive('encodeString') - ->once() - ->with($nonAsciiChar, \Mockery::any(), \Mockery::any(), \Mockery::any()) - ->andReturn('=8F'); - //Note that multi-line headers begin with LWSP which makes 75 + 1 = 76 - //Note also that =?utf-8?q??= is 12 chars which makes 75 - 12 = 63 - - //* X-Test: is 8 chars - $header = $this->getHeader('X-Test', $encoder); - $header->setValue($nonAsciiChar); - - $this->assertEquals( - 'X-Test: =?'.$this->charset.'?Q?=8F?='."\r\n", - $header->toString() - ); - } - - public function testFWSPIsUsedWhenEncoderReturnsMultipleLines() - { - /* --RFC 2047, 2. - If it is desirable to encode more text than will fit in an 'encoded-word' of - 75 characters, multiple 'encoded-word's (separated by CRLF SPACE) may - be used. - */ - - //Note the Mock does NOT return 8F encoded, the 8F merely triggers - // encoding for the sake of testing - $nonAsciiChar = pack('C', 0x8F); - - $encoder = $this->getEncoder('Q'); - $encoder->shouldReceive('encodeString') - ->once() - ->with($nonAsciiChar, 8, 63, \Mockery::any()) - ->andReturn('line_one_here'."\r\n".'line_two_here'); - - //Note that multi-line headers begin with LWSP which makes 75 + 1 = 76 - //Note also that =?utf-8?q??= is 12 chars which makes 75 - 12 = 63 - - //* X-Test: is 8 chars - $header = $this->getHeader('X-Test', $encoder); - $header->setValue($nonAsciiChar); - - $this->assertEquals( - 'X-Test: =?'.$this->charset.'?Q?line_one_here?='."\r\n". - ' =?'.$this->charset.'?Q?line_two_here?='."\r\n", - $header->toString() - ); - } - - public function testAdjacentWordsAreEncodedTogether() - { - /* -- RFC 2047, 5 (1) - Ordinary ASCII text and 'encoded-word's may appear together in the - same header field. However, an 'encoded-word' that appears in a - header field defined as '*text' MUST be separated from any adjacent - 'encoded-word' or 'text' by 'linear-white-space'. - - -- RFC 2047, 2. - IMPORTANT: 'encoded-word's are designed to be recognized as 'atom's - by an RFC 822 parser. As a consequence, unencoded white space - characters (such as SPACE and HTAB) are FORBIDDEN within an - 'encoded-word'. - */ - - //It would be valid to encode all words needed, however it's probably - // easiest to encode the longest amount required at a time - - $word = 'w'.pack('C', 0x8F).'rd'; - $text = 'start '.$word.' '.$word.' then end '.$word; - // 'start', ' word word', ' and end', ' word' - - $encoder = $this->getEncoder('Q'); - $encoder->shouldReceive('encodeString') - ->once() - ->with($word.' '.$word, \Mockery::any(), \Mockery::any(), \Mockery::any()) - ->andReturn('w=8Frd_w=8Frd'); - $encoder->shouldReceive('encodeString') - ->once() - ->with($word, \Mockery::any(), \Mockery::any(), \Mockery::any()) - ->andReturn('w=8Frd'); - - $header = $this->getHeader('X-Test', $encoder); - $header->setValue($text); - - $headerString = $header->toString(); - - $this->assertEquals('X-Test: start =?'.$this->charset.'?Q?'. - 'w=8Frd_w=8Frd?= then end =?'.$this->charset.'?Q?'. - 'w=8Frd?='."\r\n", $headerString, - '%s: Adjacent encoded words should appear grouped with WSP encoded' - ); - } - - public function testLanguageInformationAppearsInEncodedWords() - { - /* -- RFC 2231, 5. - 5. Language specification in Encoded Words - - RFC 2047 provides support for non-US-ASCII character sets in RFC 822 - message header comments, phrases, and any unstructured text field. - This is done by defining an encoded word construct which can appear - in any of these places. Given that these are fields intended for - display, it is sometimes necessary to associate language information - with encoded words as well as just the character set. This - specification extends the definition of an encoded word to allow the - inclusion of such information. This is simply done by suffixing the - character set specification with an asterisk followed by the language - tag. For example: - - From: =?US-ASCII*EN?Q?Keith_Moore?= - */ - - $value = 'fo'.pack('C', 0x8F).'bar'; - - $encoder = $this->getEncoder('Q'); - $encoder->shouldReceive('encodeString') - ->once() - ->with($value, \Mockery::any(), \Mockery::any(), \Mockery::any()) - ->andReturn('fo=8Fbar'); - - $header = $this->getHeader('Subject', $encoder); - $header->setLanguage('en'); - $header->setValue($value); - $this->assertEquals("Subject: =?utf-8*en?Q?fo=8Fbar?=\r\n", - $header->toString() - ); - } - - public function testSetBodyModel() - { - $header = $this->getHeader('Subject', $this->getEncoder('Q', true)); - $header->setFieldBodyModel('test'); - $this->assertEquals('test', $header->getValue()); - } - - public function testGetBodyModel() - { - $header = $this->getHeader('Subject', $this->getEncoder('Q', true)); - $header->setValue('test'); - $this->assertEquals('test', $header->getFieldBodyModel()); - } - - private function getHeader($name, $encoder) - { - $header = new Swift_Mime_Headers_UnstructuredHeader($name, $encoder); - $header->setCharset($this->charset); - - return $header; - } - - private function getEncoder($type, $stub = false) - { - $encoder = $this->getMockery('Swift_Mime_HeaderEncoder')->shouldIgnoreMissing(); - $encoder->shouldReceive('getName') - ->zeroOrMoreTimes() - ->andReturn($type); - - return $encoder; - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/IdGeneratorTest.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/IdGeneratorTest.php deleted file mode 100644 index e0571a3024..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/IdGeneratorTest.php +++ /dev/null @@ -1,32 +0,0 @@ -assertEquals('example.net', $idGenerator->getIdRight()); - - $idGenerator->setIdRight('example.com'); - $this->assertEquals('example.com', $idGenerator->getIdRight()); - } - - public function testIdGenerateId() - { - $idGenerator = new Swift_Mime_IdGenerator('example.net'); - $emailValidator = new EmailValidator(); - - $id = $idGenerator->generateId(); - $this->assertTrue($emailValidator->isValid($id, new RFCValidation())); - $this->assertEquals(1, preg_match('/^.{32}@example.net$/', $id)); - - $anotherId = $idGenerator->generateId(); - $this->assertNotEquals($id, $anotherId); - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/MimePartTest.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/MimePartTest.php deleted file mode 100644 index 4575505fac..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/MimePartTest.php +++ /dev/null @@ -1,234 +0,0 @@ -createMimePart($this->createHeaderSet(), - $this->createEncoder(), $this->createCache() - ); - $this->assertEquals( - Swift_Mime_SimpleMimeEntity::LEVEL_ALTERNATIVE, $part->getNestingLevel() - ); - } - - public function testCharsetIsReturnedFromHeader() - { - /* -- RFC 2046, 4.1.2. - A critical parameter that may be specified in the Content-Type field - for "text/plain" data is the character set. This is specified with a - "charset" parameter, as in: - - Content-type: text/plain; charset=iso-8859-1 - - Unlike some other parameter values, the values of the charset - parameter are NOT case sensitive. The default character set, which - must be assumed in the absence of a charset parameter, is US-ASCII. - */ - - $cType = $this->createHeader('Content-Type', 'text/plain', - ['charset' => 'iso-8859-1'] - ); - $part = $this->createMimePart($this->createHeaderSet([ - 'Content-Type' => $cType, ]), - $this->createEncoder(), $this->createCache() - ); - $this->assertEquals('iso-8859-1', $part->getCharset()); - } - - public function testCharsetIsSetInHeader() - { - $cType = $this->createHeader('Content-Type', 'text/plain', - ['charset' => 'iso-8859-1'], false - ); - $cType->shouldReceive('setParameter')->once()->with('charset', 'utf-8'); - - $part = $this->createMimePart($this->createHeaderSet([ - 'Content-Type' => $cType, ]), - $this->createEncoder(), $this->createCache() - ); - $part->setCharset('utf-8'); - } - - public function testCharsetIsSetInHeaderIfPassedToSetBody() - { - $cType = $this->createHeader('Content-Type', 'text/plain', - ['charset' => 'iso-8859-1'], false - ); - $cType->shouldReceive('setParameter')->once()->with('charset', 'utf-8'); - - $part = $this->createMimePart($this->createHeaderSet([ - 'Content-Type' => $cType, ]), - $this->createEncoder(), $this->createCache() - ); - $part->setBody('', 'text/plian', 'utf-8'); - } - - public function testSettingCharsetNotifiesEncoder() - { - $encoder = $this->createEncoder('quoted-printable', false); - $encoder->expects($this->once()) - ->method('charsetChanged') - ->with('utf-8'); - - $part = $this->createMimePart($this->createHeaderSet(), - $encoder, $this->createCache() - ); - $part->setCharset('utf-8'); - } - - public function testSettingCharsetNotifiesHeaders() - { - $headers = $this->createHeaderSet([], false); - $headers->shouldReceive('charsetChanged') - ->zeroOrMoreTimes() - ->with('utf-8'); - - $part = $this->createMimePart($headers, $this->createEncoder(), - $this->createCache() - ); - $part->setCharset('utf-8'); - } - - public function testSettingCharsetNotifiesChildren() - { - $child = $this->createChild(0, '', false); - $child->shouldReceive('charsetChanged') - ->once() - ->with('windows-874'); - - $part = $this->createMimePart($this->createHeaderSet(), - $this->createEncoder(), $this->createCache() - ); - $part->setChildren([$child]); - $part->setCharset('windows-874'); - } - - public function testCharsetChangeUpdatesCharset() - { - $cType = $this->createHeader('Content-Type', 'text/plain', - ['charset' => 'iso-8859-1'], false - ); - $cType->shouldReceive('setParameter')->once()->with('charset', 'utf-8'); - - $part = $this->createMimePart($this->createHeaderSet([ - 'Content-Type' => $cType, ]), - $this->createEncoder(), $this->createCache() - ); - $part->charsetChanged('utf-8'); - } - - public function testSettingCharsetClearsCache() - { - $headers = $this->createHeaderSet([], false); - $headers->shouldReceive('toString') - ->zeroOrMoreTimes() - ->andReturn("Content-Type: text/plain; charset=utf-8\r\n"); - - $cache = $this->createCache(false); - - $entity = $this->createEntity($headers, $this->createEncoder(), - $cache - ); - - $entity->setBody("blah\r\nblah!"); - $entity->toString(); - - // Initialize the expectation here because we only care about what happens in setCharset() - $cache->shouldReceive('clearKey') - ->once() - ->with(\Mockery::any(), 'body'); - - $entity->setCharset('iso-2022'); - } - - public function testFormatIsReturnedFromHeader() - { - /* -- RFC 3676. - */ - - $cType = $this->createHeader('Content-Type', 'text/plain', - ['format' => 'flowed'] - ); - $part = $this->createMimePart($this->createHeaderSet([ - 'Content-Type' => $cType, ]), - $this->createEncoder(), $this->createCache() - ); - $this->assertEquals('flowed', $part->getFormat()); - } - - public function testFormatIsSetInHeader() - { - $cType = $this->createHeader('Content-Type', 'text/plain', [], false); - $cType->shouldReceive('setParameter')->once()->with('format', 'fixed'); - - $part = $this->createMimePart($this->createHeaderSet([ - 'Content-Type' => $cType, ]), - $this->createEncoder(), $this->createCache() - ); - $part->setFormat('fixed'); - } - - public function testDelSpIsReturnedFromHeader() - { - /* -- RFC 3676. - */ - - $cType = $this->createHeader('Content-Type', 'text/plain', - ['delsp' => 'no'] - ); - $part = $this->createMimePart($this->createHeaderSet([ - 'Content-Type' => $cType, ]), - $this->createEncoder(), $this->createCache() - ); - $this->assertFalse($part->getDelSp()); - } - - public function testDelSpIsSetInHeader() - { - $cType = $this->createHeader('Content-Type', 'text/plain', [], false); - $cType->shouldReceive('setParameter')->once()->with('delsp', 'yes'); - - $part = $this->createMimePart($this->createHeaderSet([ - 'Content-Type' => $cType, ]), - $this->createEncoder(), $this->createCache() - ); - $part->setDelSp(true); - } - - public function testFluidInterface() - { - $part = $this->createMimePart($this->createHeaderSet(), - $this->createEncoder(), $this->createCache() - ); - - $this->assertSame($part, - $part - ->setContentType('text/plain') - ->setEncoder($this->createEncoder()) - ->setId('foo@bar') - ->setDescription('my description') - ->setMaxLineLength(998) - ->setBody('xx') - ->setBoundary('xyz') - ->setChildren([]) - ->setCharset('utf-8') - ->setFormat('flowed') - ->setDelSp(true) - ); - } - - //abstract - protected function createEntity($headers, $encoder, $cache) - { - return $this->createMimePart($headers, $encoder, $cache); - } - - protected function createMimePart($headers, $encoder, $cache) - { - $idGenerator = new Swift_Mime_IdGenerator('example.com'); - - return new Swift_Mime_MimePart($headers, $encoder, $cache, $idGenerator); - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/SimpleHeaderFactoryTest.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/SimpleHeaderFactoryTest.php deleted file mode 100644 index 6bc825efa9..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/SimpleHeaderFactoryTest.php +++ /dev/null @@ -1,169 +0,0 @@ -factory = $this->createFactory(); - } - - public function testMailboxHeaderIsCorrectType() - { - $header = $this->factory->createMailboxHeader('X-Foo'); - $this->assertInstanceOf('Swift_Mime_Headers_MailboxHeader', $header); - } - - public function testMailboxHeaderHasCorrectName() - { - $header = $this->factory->createMailboxHeader('X-Foo'); - $this->assertEquals('X-Foo', $header->getFieldName()); - } - - public function testMailboxHeaderHasCorrectModel() - { - $header = $this->factory->createMailboxHeader('X-Foo', - ['foo@bar' => 'FooBar'] - ); - $this->assertEquals(['foo@bar' => 'FooBar'], $header->getFieldBodyModel()); - } - - public function testDateHeaderHasCorrectType() - { - $header = $this->factory->createDateHeader('X-Date'); - $this->assertInstanceOf('Swift_Mime_Headers_DateHeader', $header); - } - - public function testDateHeaderHasCorrectName() - { - $header = $this->factory->createDateHeader('X-Date'); - $this->assertEquals('X-Date', $header->getFieldName()); - } - - public function testDateHeaderHasCorrectModel() - { - $dateTime = new \DateTimeImmutable(); - $header = $this->factory->createDateHeader('X-Date', $dateTime); - $this->assertEquals($dateTime, $header->getFieldBodyModel()); - } - - public function testTextHeaderHasCorrectType() - { - $header = $this->factory->createTextHeader('X-Foo'); - $this->assertInstanceOf('Swift_Mime_Headers_UnstructuredHeader', $header); - } - - public function testTextHeaderHasCorrectName() - { - $header = $this->factory->createTextHeader('X-Foo'); - $this->assertEquals('X-Foo', $header->getFieldName()); - } - - public function testTextHeaderHasCorrectModel() - { - $header = $this->factory->createTextHeader('X-Foo', 'bar'); - $this->assertEquals('bar', $header->getFieldBodyModel()); - } - - public function testParameterizedHeaderHasCorrectType() - { - $header = $this->factory->createParameterizedHeader('X-Foo'); - $this->assertInstanceOf('Swift_Mime_Headers_ParameterizedHeader', $header); - } - - public function testParameterizedHeaderHasCorrectName() - { - $header = $this->factory->createParameterizedHeader('X-Foo'); - $this->assertEquals('X-Foo', $header->getFieldName()); - } - - public function testParameterizedHeaderHasCorrectModel() - { - $header = $this->factory->createParameterizedHeader('X-Foo', 'bar'); - $this->assertEquals('bar', $header->getFieldBodyModel()); - } - - public function testParameterizedHeaderHasCorrectParams() - { - $header = $this->factory->createParameterizedHeader('X-Foo', 'bar', - ['zip' => 'button'] - ); - $this->assertEquals(['zip' => 'button'], $header->getParameters()); - } - - public function testIdHeaderHasCorrectType() - { - $header = $this->factory->createIdHeader('X-ID'); - $this->assertInstanceOf('Swift_Mime_Headers_IdentificationHeader', $header); - } - - public function testIdHeaderHasCorrectName() - { - $header = $this->factory->createIdHeader('X-ID'); - $this->assertEquals('X-ID', $header->getFieldName()); - } - - public function testIdHeaderHasCorrectModel() - { - $header = $this->factory->createIdHeader('X-ID', 'xyz@abc'); - $this->assertEquals(['xyz@abc'], $header->getFieldBodyModel()); - } - - public function testPathHeaderHasCorrectType() - { - $header = $this->factory->createPathHeader('X-Path'); - $this->assertInstanceOf('Swift_Mime_Headers_PathHeader', $header); - } - - public function testPathHeaderHasCorrectName() - { - $header = $this->factory->createPathHeader('X-Path'); - $this->assertEquals('X-Path', $header->getFieldName()); - } - - public function testPathHeaderHasCorrectModel() - { - $header = $this->factory->createPathHeader('X-Path', 'foo@bar'); - $this->assertEquals('foo@bar', $header->getFieldBodyModel()); - } - - public function testCharsetChangeNotificationNotifiesEncoders() - { - $encoder = $this->createHeaderEncoder(); - $encoder->expects($this->once()) - ->method('charsetChanged') - ->with('utf-8'); - $paramEncoder = $this->createParamEncoder(); - $paramEncoder->expects($this->once()) - ->method('charsetChanged') - ->with('utf-8'); - - $factory = $this->createFactory($encoder, $paramEncoder); - - $factory->charsetChanged('utf-8'); - } - - private function createFactory($encoder = null, $paramEncoder = null) - { - return new Swift_Mime_SimpleHeaderFactory( - $encoder - ? $encoder : $this->createHeaderEncoder(), - $paramEncoder - ? $paramEncoder : $this->createParamEncoder(), - new EmailValidator() - ); - } - - private function createHeaderEncoder() - { - return $this->getMockBuilder('Swift_Mime_HeaderEncoder')->getMock(); - } - - private function createParamEncoder() - { - return $this->getMockBuilder('Swift_Encoder')->getMock(); - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/SimpleHeaderSetTest.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/SimpleHeaderSetTest.php deleted file mode 100644 index 4ddbff74c4..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/SimpleHeaderSetTest.php +++ /dev/null @@ -1,734 +0,0 @@ -createFactory(); - $factory->expects($this->once()) - ->method('createMailboxHeader') - ->with('From', ['person@domain' => 'Person']) - ->will($this->returnValue($this->createHeader('From'))); - - $set = $this->createSet($factory); - $set->addMailboxHeader('From', ['person@domain' => 'Person']); - } - - public function testAddDateHeaderDelegatesToFactory() - { - $dateTime = new DateTimeImmutable(); - - $factory = $this->createFactory(); - $factory->expects($this->once()) - ->method('createDateHeader') - ->with('Date', $dateTime) - ->will($this->returnValue($this->createHeader('Date'))); - - $set = $this->createSet($factory); - $set->addDateHeader('Date', $dateTime); - } - - public function testAddTextHeaderDelegatesToFactory() - { - $factory = $this->createFactory(); - $factory->expects($this->once()) - ->method('createTextHeader') - ->with('Subject', 'some text') - ->will($this->returnValue($this->createHeader('Subject'))); - - $set = $this->createSet($factory); - $set->addTextHeader('Subject', 'some text'); - } - - public function testAddParameterizedHeaderDelegatesToFactory() - { - $factory = $this->createFactory(); - $factory->expects($this->once()) - ->method('createParameterizedHeader') - ->with('Content-Type', 'text/plain', ['charset' => 'utf-8']) - ->will($this->returnValue($this->createHeader('Content-Type'))); - - $set = $this->createSet($factory); - $set->addParameterizedHeader('Content-Type', 'text/plain', - ['charset' => 'utf-8'] - ); - } - - public function testAddIdHeaderDelegatesToFactory() - { - $factory = $this->createFactory(); - $factory->expects($this->once()) - ->method('createIdHeader') - ->with('Message-ID', 'some@id') - ->will($this->returnValue($this->createHeader('Message-ID'))); - - $set = $this->createSet($factory); - $set->addIdHeader('Message-ID', 'some@id'); - } - - public function testAddPathHeaderDelegatesToFactory() - { - $factory = $this->createFactory(); - $factory->expects($this->once()) - ->method('createPathHeader') - ->with('Return-Path', 'some@path') - ->will($this->returnValue($this->createHeader('Return-Path'))); - - $set = $this->createSet($factory); - $set->addPathHeader('Return-Path', 'some@path'); - } - - public function testHasReturnsFalseWhenNoHeaders() - { - $set = $this->createSet($this->createFactory()); - $this->assertFalse($set->has('Some-Header')); - } - - public function testAddedMailboxHeaderIsSeenByHas() - { - $factory = $this->createFactory(); - $factory->expects($this->once()) - ->method('createMailboxHeader') - ->with('From', ['person@domain' => 'Person']) - ->will($this->returnValue($this->createHeader('From'))); - - $set = $this->createSet($factory); - $set->addMailboxHeader('From', ['person@domain' => 'Person']); - $this->assertTrue($set->has('From')); - } - - public function testAddedDateHeaderIsSeenByHas() - { - $dateTime = new DateTimeImmutable(); - - $factory = $this->createFactory(); - $factory->expects($this->once()) - ->method('createDateHeader') - ->with('Date', $dateTime) - ->will($this->returnValue($this->createHeader('Date'))); - - $set = $this->createSet($factory); - $set->addDateHeader('Date', $dateTime); - $this->assertTrue($set->has('Date')); - } - - public function testAddedTextHeaderIsSeenByHas() - { - $factory = $this->createFactory(); - $factory->expects($this->once()) - ->method('createTextHeader') - ->with('Subject', 'some text') - ->will($this->returnValue($this->createHeader('Subject'))); - - $set = $this->createSet($factory); - $set->addTextHeader('Subject', 'some text'); - $this->assertTrue($set->has('Subject')); - } - - public function testAddedParameterizedHeaderIsSeenByHas() - { - $factory = $this->createFactory(); - $factory->expects($this->once()) - ->method('createParameterizedHeader') - ->with('Content-Type', 'text/plain', ['charset' => 'utf-8']) - ->will($this->returnValue($this->createHeader('Content-Type'))); - - $set = $this->createSet($factory); - $set->addParameterizedHeader('Content-Type', 'text/plain', - ['charset' => 'utf-8'] - ); - $this->assertTrue($set->has('Content-Type')); - } - - public function testAddedIdHeaderIsSeenByHas() - { - $factory = $this->createFactory(); - $factory->expects($this->once()) - ->method('createIdHeader') - ->with('Message-ID', 'some@id') - ->will($this->returnValue($this->createHeader('Message-ID'))); - - $set = $this->createSet($factory); - $set->addIdHeader('Message-ID', 'some@id'); - $this->assertTrue($set->has('Message-ID')); - } - - public function testAddedPathHeaderIsSeenByHas() - { - $factory = $this->createFactory(); - $factory->expects($this->once()) - ->method('createPathHeader') - ->with('Return-Path', 'some@path') - ->will($this->returnValue($this->createHeader('Return-Path'))); - - $set = $this->createSet($factory); - $set->addPathHeader('Return-Path', 'some@path'); - $this->assertTrue($set->has('Return-Path')); - } - - public function testNewlySetHeaderIsSeenByHas() - { - $factory = $this->createFactory(); - $header = $this->createHeader('X-Foo', 'bar'); - $set = $this->createSet($factory); - $set->set($header); - $this->assertTrue($set->has('X-Foo')); - } - - public function testHasCanAcceptOffset() - { - $factory = $this->createFactory(); - $factory->expects($this->once()) - ->method('createIdHeader') - ->with('Message-ID', 'some@id') - ->will($this->returnValue($this->createHeader('Message-ID'))); - - $set = $this->createSet($factory); - $set->addIdHeader('Message-ID', 'some@id'); - $this->assertTrue($set->has('Message-ID', 0)); - } - - public function testHasWithIllegalOffsetReturnsFalse() - { - $factory = $this->createFactory(); - $factory->expects($this->once()) - ->method('createIdHeader') - ->with('Message-ID', 'some@id') - ->will($this->returnValue($this->createHeader('Message-ID'))); - - $set = $this->createSet($factory); - $set->addIdHeader('Message-ID', 'some@id'); - $this->assertFalse($set->has('Message-ID', 1)); - } - - public function testHasCanDistinguishMultipleHeaders() - { - $factory = $this->createFactory(); - $factory->expects($this->at(0)) - ->method('createIdHeader') - ->with('Message-ID', 'some@id') - ->will($this->returnValue($this->createHeader('Message-ID'))); - $factory->expects($this->at(1)) - ->method('createIdHeader') - ->with('Message-ID', 'other@id') - ->will($this->returnValue($this->createHeader('Message-ID'))); - - $set = $this->createSet($factory); - $set->addIdHeader('Message-ID', 'some@id'); - $set->addIdHeader('Message-ID', 'other@id'); - $this->assertTrue($set->has('Message-ID', 1)); - } - - public function testGetWithUnspecifiedOffset() - { - $header = $this->createHeader('Message-ID'); - $factory = $this->createFactory(); - $factory->expects($this->once()) - ->method('createIdHeader') - ->with('Message-ID', 'some@id') - ->will($this->returnValue($header)); - - $set = $this->createSet($factory); - $set->addIdHeader('Message-ID', 'some@id'); - $this->assertSame($header, $set->get('Message-ID')); - } - - public function testGetWithSpeiciedOffset() - { - $header0 = $this->createHeader('Message-ID'); - $header1 = $this->createHeader('Message-ID'); - $header2 = $this->createHeader('Message-ID'); - $factory = $this->createFactory(); - $factory->expects($this->at(0)) - ->method('createIdHeader') - ->with('Message-ID', 'some@id') - ->will($this->returnValue($header0)); - $factory->expects($this->at(1)) - ->method('createIdHeader') - ->with('Message-ID', 'other@id') - ->will($this->returnValue($header1)); - $factory->expects($this->at(2)) - ->method('createIdHeader') - ->with('Message-ID', 'more@id') - ->will($this->returnValue($header2)); - - $set = $this->createSet($factory); - $set->addIdHeader('Message-ID', 'some@id'); - $set->addIdHeader('Message-ID', 'other@id'); - $set->addIdHeader('Message-ID', 'more@id'); - $this->assertSame($header1, $set->get('Message-ID', 1)); - } - - public function testGetReturnsNullIfHeaderNotSet() - { - $set = $this->createSet($this->createFactory()); - $this->assertNull($set->get('Message-ID', 99)); - } - - public function testGetAllReturnsAllHeadersMatchingName() - { - $header0 = $this->createHeader('Message-ID'); - $header1 = $this->createHeader('Message-ID'); - $header2 = $this->createHeader('Message-ID'); - $factory = $this->createFactory(); - $factory->expects($this->at(0)) - ->method('createIdHeader') - ->with('Message-ID', 'some@id') - ->will($this->returnValue($header0)); - $factory->expects($this->at(1)) - ->method('createIdHeader') - ->with('Message-ID', 'other@id') - ->will($this->returnValue($header1)); - $factory->expects($this->at(2)) - ->method('createIdHeader') - ->with('Message-ID', 'more@id') - ->will($this->returnValue($header2)); - - $set = $this->createSet($factory); - $set->addIdHeader('Message-ID', 'some@id'); - $set->addIdHeader('Message-ID', 'other@id'); - $set->addIdHeader('Message-ID', 'more@id'); - - $this->assertEquals([$header0, $header1, $header2], - $set->getAll('Message-ID') - ); - } - - public function testGetAllReturnsAllHeadersIfNoArguments() - { - $header0 = $this->createHeader('Message-ID'); - $header1 = $this->createHeader('Subject'); - $header2 = $this->createHeader('To'); - $factory = $this->createFactory(); - $factory->expects($this->at(0)) - ->method('createIdHeader') - ->with('Message-ID', 'some@id') - ->will($this->returnValue($header0)); - $factory->expects($this->at(1)) - ->method('createIdHeader') - ->with('Subject', 'thing') - ->will($this->returnValue($header1)); - $factory->expects($this->at(2)) - ->method('createIdHeader') - ->with('To', 'person@example.org') - ->will($this->returnValue($header2)); - - $set = $this->createSet($factory); - $set->addIdHeader('Message-ID', 'some@id'); - $set->addIdHeader('Subject', 'thing'); - $set->addIdHeader('To', 'person@example.org'); - - $this->assertEquals([$header0, $header1, $header2], - $set->getAll() - ); - } - - public function testGetAllReturnsEmptyArrayIfNoneSet() - { - $set = $this->createSet($this->createFactory()); - $this->assertEquals([], $set->getAll('Received')); - } - - public function testRemoveWithUnspecifiedOffset() - { - $header = $this->createHeader('Message-ID'); - $factory = $this->createFactory(); - $factory->expects($this->at(0)) - ->method('createIdHeader') - ->with('Message-ID', 'some@id') - ->will($this->returnValue($header)); - - $set = $this->createSet($factory); - $set->addIdHeader('Message-ID', 'some@id'); - $set->remove('Message-ID'); - $this->assertFalse($set->has('Message-ID')); - } - - public function testRemoveWithSpecifiedIndexRemovesHeader() - { - $header0 = $this->createHeader('Message-ID'); - $header1 = $this->createHeader('Message-ID'); - $factory = $this->createFactory(); - $factory->expects($this->at(0)) - ->method('createIdHeader') - ->with('Message-ID', 'some@id') - ->will($this->returnValue($header0)); - $factory->expects($this->at(1)) - ->method('createIdHeader') - ->with('Message-ID', 'other@id') - ->will($this->returnValue($header1)); - - $set = $this->createSet($factory); - $set->addIdHeader('Message-ID', 'some@id'); - $set->addIdHeader('Message-ID', 'other@id'); - $set->remove('Message-ID', 0); - $this->assertFalse($set->has('Message-ID', 0)); - $this->assertTrue($set->has('Message-ID', 1)); - $this->assertTrue($set->has('Message-ID')); - $set->remove('Message-ID', 1); - $this->assertFalse($set->has('Message-ID', 1)); - $this->assertFalse($set->has('Message-ID')); - } - - public function testRemoveWithSpecifiedIndexLeavesOtherHeaders() - { - $header0 = $this->createHeader('Message-ID'); - $header1 = $this->createHeader('Message-ID'); - $factory = $this->createFactory(); - $factory->expects($this->at(0)) - ->method('createIdHeader') - ->with('Message-ID', 'some@id') - ->will($this->returnValue($header0)); - $factory->expects($this->at(1)) - ->method('createIdHeader') - ->with('Message-ID', 'other@id') - ->will($this->returnValue($header1)); - - $set = $this->createSet($factory); - $set->addIdHeader('Message-ID', 'some@id'); - $set->addIdHeader('Message-ID', 'other@id'); - $set->remove('Message-ID', 1); - $this->assertTrue($set->has('Message-ID', 0)); - } - - public function testRemoveWithInvalidOffsetDoesNothing() - { - $header = $this->createHeader('Message-ID'); - $factory = $this->createFactory(); - $factory->expects($this->at(0)) - ->method('createIdHeader') - ->with('Message-ID', 'some@id') - ->will($this->returnValue($header)); - - $set = $this->createSet($factory); - $set->addIdHeader('Message-ID', 'some@id'); - $set->remove('Message-ID', 50); - $this->assertTrue($set->has('Message-ID')); - } - - public function testRemoveAllRemovesAllHeadersWithName() - { - $header0 = $this->createHeader('Message-ID'); - $header1 = $this->createHeader('Message-ID'); - $factory = $this->createFactory(); - $factory->expects($this->at(0)) - ->method('createIdHeader') - ->with('Message-ID', 'some@id') - ->will($this->returnValue($header0)); - $factory->expects($this->at(1)) - ->method('createIdHeader') - ->with('Message-ID', 'other@id') - ->will($this->returnValue($header1)); - - $set = $this->createSet($factory); - $set->addIdHeader('Message-ID', 'some@id'); - $set->addIdHeader('Message-ID', 'other@id'); - $set->removeAll('Message-ID'); - $this->assertFalse($set->has('Message-ID', 0)); - $this->assertFalse($set->has('Message-ID', 1)); - } - - public function testHasIsNotCaseSensitive() - { - $header = $this->createHeader('Message-ID'); - $factory = $this->createFactory(); - $factory->expects($this->at(0)) - ->method('createIdHeader') - ->with('Message-ID', 'some@id') - ->will($this->returnValue($header)); - - $set = $this->createSet($factory); - $set->addIdHeader('Message-ID', 'some@id'); - $this->assertTrue($set->has('message-id')); - } - - public function testGetIsNotCaseSensitive() - { - $header = $this->createHeader('Message-ID'); - $factory = $this->createFactory(); - $factory->expects($this->at(0)) - ->method('createIdHeader') - ->with('Message-ID', 'some@id') - ->will($this->returnValue($header)); - - $set = $this->createSet($factory); - $set->addIdHeader('Message-ID', 'some@id'); - $this->assertSame($header, $set->get('message-id')); - } - - public function testGetAllIsNotCaseSensitive() - { - $header = $this->createHeader('Message-ID'); - $factory = $this->createFactory(); - $factory->expects($this->at(0)) - ->method('createIdHeader') - ->with('Message-ID', 'some@id') - ->will($this->returnValue($header)); - - $set = $this->createSet($factory); - $set->addIdHeader('Message-ID', 'some@id'); - $this->assertEquals([$header], $set->getAll('message-id')); - } - - public function testRemoveIsNotCaseSensitive() - { - $header = $this->createHeader('Message-ID'); - $factory = $this->createFactory(); - $factory->expects($this->at(0)) - ->method('createIdHeader') - ->with('Message-ID', 'some@id') - ->will($this->returnValue($header)); - - $set = $this->createSet($factory); - $set->addIdHeader('Message-ID', 'some@id'); - $set->remove('message-id'); - $this->assertFalse($set->has('Message-ID')); - } - - public function testRemoveAllIsNotCaseSensitive() - { - $header = $this->createHeader('Message-ID'); - $factory = $this->createFactory(); - $factory->expects($this->at(0)) - ->method('createIdHeader') - ->with('Message-ID', 'some@id') - ->will($this->returnValue($header)); - - $set = $this->createSet($factory); - $set->addIdHeader('Message-ID', 'some@id'); - $set->removeAll('message-id'); - $this->assertFalse($set->has('Message-ID')); - } - - public function testToStringJoinsHeadersTogether() - { - $factory = $this->createFactory(); - $factory->expects($this->at(0)) - ->method('createTextHeader') - ->with('Foo', 'bar') - ->will($this->returnValue($this->createHeader('Foo', 'bar'))); - $factory->expects($this->at(1)) - ->method('createTextHeader') - ->with('Zip', 'buttons') - ->will($this->returnValue($this->createHeader('Zip', 'buttons'))); - - $set = $this->createSet($factory); - $set->addTextHeader('Foo', 'bar'); - $set->addTextHeader('Zip', 'buttons'); - $this->assertEquals( - "Foo: bar\r\n". - "Zip: buttons\r\n", - $set->toString() - ); - } - - public function testHeadersWithoutBodiesAreNotDisplayed() - { - $factory = $this->createFactory(); - $factory->expects($this->at(0)) - ->method('createTextHeader') - ->with('Foo', 'bar') - ->will($this->returnValue($this->createHeader('Foo', 'bar'))); - $factory->expects($this->at(1)) - ->method('createTextHeader') - ->with('Zip', '') - ->will($this->returnValue($this->createHeader('Zip', ''))); - - $set = $this->createSet($factory); - $set->addTextHeader('Foo', 'bar'); - $set->addTextHeader('Zip', ''); - $this->assertEquals( - "Foo: bar\r\n", - $set->toString() - ); - } - - public function testHeadersWithoutBodiesCanBeForcedToDisplay() - { - $factory = $this->createFactory(); - $factory->expects($this->at(0)) - ->method('createTextHeader') - ->with('Foo', '') - ->will($this->returnValue($this->createHeader('Foo', ''))); - $factory->expects($this->at(1)) - ->method('createTextHeader') - ->with('Zip', '') - ->will($this->returnValue($this->createHeader('Zip', ''))); - - $set = $this->createSet($factory); - $set->addTextHeader('Foo', ''); - $set->addTextHeader('Zip', ''); - $set->setAlwaysDisplayed(['Foo', 'Zip']); - $this->assertEquals( - "Foo: \r\n". - "Zip: \r\n", - $set->toString() - ); - } - - public function testHeaderSequencesCanBeSpecified() - { - $factory = $this->createFactory(); - $factory->expects($this->at(0)) - ->method('createTextHeader') - ->with('Third', 'three') - ->will($this->returnValue($this->createHeader('Third', 'three'))); - $factory->expects($this->at(1)) - ->method('createTextHeader') - ->with('First', 'one') - ->will($this->returnValue($this->createHeader('First', 'one'))); - $factory->expects($this->at(2)) - ->method('createTextHeader') - ->with('Second', 'two') - ->will($this->returnValue($this->createHeader('Second', 'two'))); - - $set = $this->createSet($factory); - $set->addTextHeader('Third', 'three'); - $set->addTextHeader('First', 'one'); - $set->addTextHeader('Second', 'two'); - - $set->defineOrdering(['First', 'Second', 'Third']); - - $this->assertEquals( - "First: one\r\n". - "Second: two\r\n". - "Third: three\r\n", - $set->toString() - ); - } - - public function testUnsortedHeadersAppearAtEnd() - { - $factory = $this->createFactory(); - $factory->expects($this->at(0)) - ->method('createTextHeader') - ->with('Fourth', 'four') - ->will($this->returnValue($this->createHeader('Fourth', 'four'))); - $factory->expects($this->at(1)) - ->method('createTextHeader') - ->with('Fifth', 'five') - ->will($this->returnValue($this->createHeader('Fifth', 'five'))); - $factory->expects($this->at(2)) - ->method('createTextHeader') - ->with('Third', 'three') - ->will($this->returnValue($this->createHeader('Third', 'three'))); - $factory->expects($this->at(3)) - ->method('createTextHeader') - ->with('First', 'one') - ->will($this->returnValue($this->createHeader('First', 'one'))); - $factory->expects($this->at(4)) - ->method('createTextHeader') - ->with('Second', 'two') - ->will($this->returnValue($this->createHeader('Second', 'two'))); - - $set = $this->createSet($factory); - $set->addTextHeader('Fourth', 'four'); - $set->addTextHeader('Fifth', 'five'); - $set->addTextHeader('Third', 'three'); - $set->addTextHeader('First', 'one'); - $set->addTextHeader('Second', 'two'); - - $set->defineOrdering(['First', 'Second', 'Third']); - - $this->assertEquals( - "First: one\r\n". - "Second: two\r\n". - "Third: three\r\n". - "Fourth: four\r\n". - "Fifth: five\r\n", - $set->toString() - ); - } - - public function testSettingCharsetNotifiesAlreadyExistingHeaders() - { - $subject = $this->createHeader('Subject', 'some text'); - $xHeader = $this->createHeader('X-Header', 'some text'); - $factory = $this->createFactory(); - $factory->expects($this->at(0)) - ->method('createTextHeader') - ->with('Subject', 'some text') - ->will($this->returnValue($subject)); - $factory->expects($this->at(1)) - ->method('createTextHeader') - ->with('X-Header', 'some text') - ->will($this->returnValue($xHeader)); - $subject->expects($this->once()) - ->method('setCharset') - ->with('utf-8'); - $xHeader->expects($this->once()) - ->method('setCharset') - ->with('utf-8'); - - $set = $this->createSet($factory); - $set->addTextHeader('Subject', 'some text'); - $set->addTextHeader('X-Header', 'some text'); - - $set->setCharset('utf-8'); - } - - public function testCharsetChangeNotifiesAlreadyExistingHeaders() - { - $subject = $this->createHeader('Subject', 'some text'); - $xHeader = $this->createHeader('X-Header', 'some text'); - $factory = $this->createFactory(); - $factory->expects($this->at(0)) - ->method('createTextHeader') - ->with('Subject', 'some text') - ->will($this->returnValue($subject)); - $factory->expects($this->at(1)) - ->method('createTextHeader') - ->with('X-Header', 'some text') - ->will($this->returnValue($xHeader)); - $subject->expects($this->once()) - ->method('setCharset') - ->with('utf-8'); - $xHeader->expects($this->once()) - ->method('setCharset') - ->with('utf-8'); - - $set = $this->createSet($factory); - $set->addTextHeader('Subject', 'some text'); - $set->addTextHeader('X-Header', 'some text'); - - $set->charsetChanged('utf-8'); - } - - public function testCharsetChangeNotifiesFactory() - { - $factory = $this->createFactory(); - $factory->expects($this->once()) - ->method('charsetChanged') - ->with('utf-8'); - - $set = $this->createSet($factory); - - $set->setCharset('utf-8'); - } - - private function createSet($factory) - { - return new Swift_Mime_SimpleHeaderSet($factory); - } - - private function createFactory() - { - return $this->getMockBuilder('Swift_Mime_SimpleHeaderFactory')->disableOriginalConstructor()->getMock(); - } - - private function createHeader($name, $body = '') - { - $header = $this->getMockBuilder('Swift_Mime_Header')->getMock(); - $header->expects($this->any()) - ->method('getFieldName') - ->will($this->returnValue($name)); - $header->expects($this->any()) - ->method('toString') - ->will($this->returnValue(sprintf("%s: %s\r\n", $name, $body))); - $header->expects($this->any()) - ->method('getFieldBody') - ->will($this->returnValue($body)); - - return $header; - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/SimpleMessageTest.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/SimpleMessageTest.php deleted file mode 100644 index c5662cbe39..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/SimpleMessageTest.php +++ /dev/null @@ -1,837 +0,0 @@ -addToAssertionCount(1); - } - - public function testNestingLevelIsTop() - { - $message = $this->createMessage($this->createHeaderSet(), - $this->createEncoder(), $this->createCache() - ); - $this->assertEquals( - Swift_Mime_SimpleMimeEntity::LEVEL_TOP, $message->getNestingLevel() - ); - } - - public function testDateIsReturnedFromHeader() - { - $dateTime = new DateTimeImmutable(); - - $date = $this->createHeader('Date', $dateTime); - $message = $this->createMessage( - $this->createHeaderSet(['Date' => $date]), - $this->createEncoder(), $this->createCache() - ); - $this->assertEquals($dateTime, $message->getDate()); - } - - public function testDateIsSetInHeader() - { - $dateTime = new DateTimeImmutable(); - - $date = $this->createHeader('Date', new DateTimeImmutable(), [], false); - $date->shouldReceive('setFieldBodyModel') - ->once() - ->with($dateTime); - $date->shouldReceive('setFieldBodyModel') - ->zeroOrMoreTimes(); - - $message = $this->createMessage( - $this->createHeaderSet(['Date' => $date]), - $this->createEncoder(), $this->createCache() - ); - $message->setDate($dateTime); - } - - public function testDateHeaderIsCreatedIfNonePresent() - { - $dateTime = new DateTimeImmutable(); - - $headers = $this->createHeaderSet([], false); - $headers->shouldReceive('addDateHeader') - ->once() - ->with('Date', $dateTime); - $headers->shouldReceive('addDateHeader') - ->zeroOrMoreTimes(); - - $message = $this->createMessage($headers, $this->createEncoder(), - $this->createCache() - ); - $message->setDate($dateTime); - } - - public function testDateHeaderIsAddedDuringConstruction() - { - $headers = $this->createHeaderSet([], false); - $headers->shouldReceive('addDateHeader') - ->once() - ->with('Date', Mockery::type('DateTimeImmutable')); - - $message = $this->createMessage($headers, $this->createEncoder(), - $this->createCache() - ); - } - - public function testIdIsReturnedFromHeader() - { - /* -- RFC 2045, 7. - In constructing a high-level user agent, it may be desirable to allow - one body to make reference to another. Accordingly, bodies may be - labelled using the "Content-ID" header field, which is syntactically - identical to the "Message-ID" header field - */ - - $messageId = $this->createHeader('Message-ID', 'a@b'); - $message = $this->createMessage( - $this->createHeaderSet(['Message-ID' => $messageId]), - $this->createEncoder(), $this->createCache() - ); - $this->assertEquals('a@b', $message->getId()); - } - - public function testIdIsSetInHeader() - { - $messageId = $this->createHeader('Message-ID', 'a@b', [], false); - $messageId->shouldReceive('setFieldBodyModel') - ->once() - ->with('x@y'); - $messageId->shouldReceive('setFieldBodyModel') - ->zeroOrMoreTimes(); - - $message = $this->createMessage( - $this->createHeaderSet(['Message-ID' => $messageId]), - $this->createEncoder(), $this->createCache() - ); - $message->setId('x@y'); - } - - public function testIdIsAutoGenerated() - { - $headers = $this->createHeaderSet([], false); - $headers->shouldReceive('addIdHeader') - ->once() - ->with('Message-ID', '/^.*?@.*?$/D'); - - $message = $this->createMessage($headers, $this->createEncoder(), - $this->createCache() - ); - } - - public function testSubjectIsReturnedFromHeader() - { - /* -- RFC 2822, 3.6.5. - */ - - $subject = $this->createHeader('Subject', 'example subject'); - $message = $this->createMessage( - $this->createHeaderSet(['Subject' => $subject]), - $this->createEncoder(), $this->createCache() - ); - $this->assertEquals('example subject', $message->getSubject()); - } - - public function testSubjectIsSetInHeader() - { - $subject = $this->createHeader('Subject', '', [], false); - $subject->shouldReceive('setFieldBodyModel') - ->once() - ->with('foo'); - - $message = $this->createMessage( - $this->createHeaderSet(['Subject' => $subject]), - $this->createEncoder(), $this->createCache() - ); - $message->setSubject('foo'); - } - - public function testSubjectHeaderIsCreatedIfNotPresent() - { - $headers = $this->createHeaderSet([], false); - $headers->shouldReceive('addTextHeader') - ->once() - ->with('Subject', 'example subject'); - $headers->shouldReceive('addTextHeader') - ->zeroOrMoreTimes(); - - $message = $this->createMessage($headers, $this->createEncoder(), - $this->createCache() - ); - $message->setSubject('example subject'); - } - - public function testReturnPathIsReturnedFromHeader() - { - /* -- RFC 2822, 3.6.7. - */ - - $path = $this->createHeader('Return-Path', 'bounces@domain'); - $message = $this->createMessage( - $this->createHeaderSet(['Return-Path' => $path]), - $this->createEncoder(), $this->createCache() - ); - $this->assertEquals('bounces@domain', $message->getReturnPath()); - } - - public function testReturnPathIsSetInHeader() - { - $path = $this->createHeader('Return-Path', '', [], false); - $path->shouldReceive('setFieldBodyModel') - ->once() - ->with('bounces@domain'); - - $message = $this->createMessage( - $this->createHeaderSet(['Return-Path' => $path]), - $this->createEncoder(), $this->createCache() - ); - $message->setReturnPath('bounces@domain'); - } - - public function testReturnPathHeaderIsAddedIfNoneSet() - { - $headers = $this->createHeaderSet([], false); - $headers->shouldReceive('addPathHeader') - ->once() - ->with('Return-Path', 'bounces@domain'); - - $message = $this->createMessage($headers, $this->createEncoder(), - $this->createCache() - ); - $message->setReturnPath('bounces@domain'); - } - - public function testSenderIsReturnedFromHeader() - { - /* -- RFC 2822, 3.6.2. - */ - - $sender = $this->createHeader('Sender', ['sender@domain' => 'Name']); - $message = $this->createMessage( - $this->createHeaderSet(['Sender' => $sender]), - $this->createEncoder(), $this->createCache() - ); - $this->assertEquals(['sender@domain' => 'Name'], $message->getSender()); - } - - public function testSenderIsSetInHeader() - { - $sender = $this->createHeader('Sender', ['sender@domain' => 'Name'], - [], false - ); - $sender->shouldReceive('setFieldBodyModel') - ->once() - ->with(['other@domain' => 'Other']); - - $message = $this->createMessage( - $this->createHeaderSet(['Sender' => $sender]), - $this->createEncoder(), $this->createCache() - ); - $message->setSender(['other@domain' => 'Other']); - } - - public function testSenderHeaderIsAddedIfNoneSet() - { - $headers = $this->createHeaderSet([], false); - $headers->shouldReceive('addMailboxHeader') - ->once() - ->with('Sender', (array) 'sender@domain'); - $headers->shouldReceive('addMailboxHeader') - ->zeroOrMoreTimes(); - - $message = $this->createMessage($headers, $this->createEncoder(), - $this->createCache() - ); - $message->setSender('sender@domain'); - } - - public function testNameCanBeUsedInSenderHeader() - { - $headers = $this->createHeaderSet([], false); - $headers->shouldReceive('addMailboxHeader') - ->once() - ->with('Sender', ['sender@domain' => 'Name']); - $headers->shouldReceive('addMailboxHeader') - ->zeroOrMoreTimes(); - - $message = $this->createMessage($headers, $this->createEncoder(), - $this->createCache() - ); - $message->setSender('sender@domain', 'Name'); - } - - public function testFromIsReturnedFromHeader() - { - /* -- RFC 2822, 3.6.2. - */ - - $from = $this->createHeader('From', ['from@domain' => 'Name']); - $message = $this->createMessage( - $this->createHeaderSet(['From' => $from]), - $this->createEncoder(), $this->createCache() - ); - $this->assertEquals(['from@domain' => 'Name'], $message->getFrom()); - } - - public function testFromIsSetInHeader() - { - $from = $this->createHeader('From', ['from@domain' => 'Name'], - [], false - ); - $from->shouldReceive('setFieldBodyModel') - ->once() - ->with(['other@domain' => 'Other']); - - $message = $this->createMessage( - $this->createHeaderSet(['From' => $from]), - $this->createEncoder(), $this->createCache() - ); - $message->setFrom(['other@domain' => 'Other']); - } - - public function testFromIsAddedToHeadersDuringAddFrom() - { - $from = $this->createHeader('From', ['from@domain' => 'Name'], - [], false - ); - $from->shouldReceive('setFieldBodyModel') - ->once() - ->with(['from@domain' => 'Name', 'other@domain' => 'Other']); - - $message = $this->createMessage( - $this->createHeaderSet(['From' => $from]), - $this->createEncoder(), $this->createCache() - ); - $message->addFrom('other@domain', 'Other'); - } - - public function testFromHeaderIsAddedIfNoneSet() - { - $headers = $this->createHeaderSet([], false); - $headers->shouldReceive('addMailboxHeader') - ->once() - ->with('From', (array) 'from@domain'); - $headers->shouldReceive('addMailboxHeader') - ->zeroOrMoreTimes(); - - $message = $this->createMessage($headers, $this->createEncoder(), - $this->createCache() - ); - $message->setFrom('from@domain'); - } - - public function testPersonalNameCanBeUsedInFromAddress() - { - $headers = $this->createHeaderSet([], false); - $headers->shouldReceive('addMailboxHeader') - ->once() - ->with('From', ['from@domain' => 'Name']); - $headers->shouldReceive('addMailboxHeader') - ->zeroOrMoreTimes(); - - $message = $this->createMessage($headers, $this->createEncoder(), - $this->createCache() - ); - $message->setFrom('from@domain', 'Name'); - } - - public function testReplyToIsReturnedFromHeader() - { - /* -- RFC 2822, 3.6.2. - */ - - $reply = $this->createHeader('Reply-To', ['reply@domain' => 'Name']); - $message = $this->createMessage( - $this->createHeaderSet(['Reply-To' => $reply]), - $this->createEncoder(), $this->createCache() - ); - $this->assertEquals(['reply@domain' => 'Name'], $message->getReplyTo()); - } - - public function testReplyToIsSetInHeader() - { - $reply = $this->createHeader('Reply-To', ['reply@domain' => 'Name'], - [], false - ); - $reply->shouldReceive('setFieldBodyModel') - ->once() - ->with(['other@domain' => 'Other']); - - $message = $this->createMessage( - $this->createHeaderSet(['Reply-To' => $reply]), - $this->createEncoder(), $this->createCache() - ); - $message->setReplyTo(['other@domain' => 'Other']); - } - - public function testReplyToIsAddedToHeadersDuringAddReplyTo() - { - $replyTo = $this->createHeader('Reply-To', ['from@domain' => 'Name'], - [], false - ); - $replyTo->shouldReceive('setFieldBodyModel') - ->once() - ->with(['from@domain' => 'Name', 'other@domain' => 'Other']); - - $message = $this->createMessage( - $this->createHeaderSet(['Reply-To' => $replyTo]), - $this->createEncoder(), $this->createCache() - ); - $message->addReplyTo('other@domain', 'Other'); - } - - public function testReplyToHeaderIsAddedIfNoneSet() - { - $headers = $this->createHeaderSet([], false); - $headers->shouldReceive('addMailboxHeader') - ->once() - ->with('Reply-To', (array) 'reply@domain'); - $headers->shouldReceive('addMailboxHeader') - ->zeroOrMoreTimes(); - - $message = $this->createMessage($headers, $this->createEncoder(), - $this->createCache() - ); - $message->setReplyTo('reply@domain'); - } - - public function testNameCanBeUsedInReplyTo() - { - $headers = $this->createHeaderSet([], false); - $headers->shouldReceive('addMailboxHeader') - ->once() - ->with('Reply-To', ['reply@domain' => 'Name']); - $headers->shouldReceive('addMailboxHeader') - ->zeroOrMoreTimes(); - - $message = $this->createMessage($headers, $this->createEncoder(), - $this->createCache() - ); - $message->setReplyTo('reply@domain', 'Name'); - } - - public function testToIsReturnedFromHeader() - { - /* -- RFC 2822, 3.6.3. - */ - - $to = $this->createHeader('To', ['to@domain' => 'Name']); - $message = $this->createMessage( - $this->createHeaderSet(['To' => $to]), - $this->createEncoder(), $this->createCache() - ); - $this->assertEquals(['to@domain' => 'Name'], $message->getTo()); - } - - public function testToIsSetInHeader() - { - $to = $this->createHeader('To', ['to@domain' => 'Name'], - [], false - ); - $to->shouldReceive('setFieldBodyModel') - ->once() - ->with(['other@domain' => 'Other']); - - $message = $this->createMessage( - $this->createHeaderSet(['To' => $to]), - $this->createEncoder(), $this->createCache() - ); - $message->setTo(['other@domain' => 'Other']); - } - - public function testToIsAddedToHeadersDuringAddTo() - { - $to = $this->createHeader('To', ['from@domain' => 'Name'], - [], false - ); - $to->shouldReceive('setFieldBodyModel') - ->once() - ->with(['from@domain' => 'Name', 'other@domain' => 'Other']); - - $message = $this->createMessage( - $this->createHeaderSet(['To' => $to]), - $this->createEncoder(), $this->createCache() - ); - $message->addTo('other@domain', 'Other'); - } - - public function testToHeaderIsAddedIfNoneSet() - { - $headers = $this->createHeaderSet([], false); - $headers->shouldReceive('addMailboxHeader') - ->once() - ->with('To', (array) 'to@domain'); - $headers->shouldReceive('addMailboxHeader') - ->zeroOrMoreTimes(); - - $message = $this->createMessage($headers, $this->createEncoder(), - $this->createCache() - ); - $message->setTo('to@domain'); - } - - public function testNameCanBeUsedInToHeader() - { - $headers = $this->createHeaderSet([], false); - $headers->shouldReceive('addMailboxHeader') - ->once() - ->with('To', ['to@domain' => 'Name']); - $headers->shouldReceive('addMailboxHeader') - ->zeroOrMoreTimes(); - - $message = $this->createMessage($headers, $this->createEncoder(), - $this->createCache() - ); - $message->setTo('to@domain', 'Name'); - } - - public function testCcIsReturnedFromHeader() - { - /* -- RFC 2822, 3.6.3. - */ - - $cc = $this->createHeader('Cc', ['cc@domain' => 'Name']); - $message = $this->createMessage( - $this->createHeaderSet(['Cc' => $cc]), - $this->createEncoder(), $this->createCache() - ); - $this->assertEquals(['cc@domain' => 'Name'], $message->getCc()); - } - - public function testCcIsSetInHeader() - { - $cc = $this->createHeader('Cc', ['cc@domain' => 'Name'], - [], false - ); - $cc->shouldReceive('setFieldBodyModel') - ->once() - ->with(['other@domain' => 'Other']); - - $message = $this->createMessage( - $this->createHeaderSet(['Cc' => $cc]), - $this->createEncoder(), $this->createCache() - ); - $message->setCc(['other@domain' => 'Other']); - } - - public function testCcIsAddedToHeadersDuringAddCc() - { - $cc = $this->createHeader('Cc', ['from@domain' => 'Name'], - [], false - ); - $cc->shouldReceive('setFieldBodyModel') - ->once() - ->with(['from@domain' => 'Name', 'other@domain' => 'Other']); - - $message = $this->createMessage( - $this->createHeaderSet(['Cc' => $cc]), - $this->createEncoder(), $this->createCache() - ); - $message->addCc('other@domain', 'Other'); - } - - public function testCcHeaderIsAddedIfNoneSet() - { - $headers = $this->createHeaderSet([], false); - $headers->shouldReceive('addMailboxHeader') - ->once() - ->with('Cc', (array) 'cc@domain'); - $headers->shouldReceive('addMailboxHeader') - ->zeroOrMoreTimes(); - - $message = $this->createMessage($headers, $this->createEncoder(), - $this->createCache() - ); - $message->setCc('cc@domain'); - } - - public function testNameCanBeUsedInCcHeader() - { - $headers = $this->createHeaderSet([], false); - $headers->shouldReceive('addMailboxHeader') - ->once() - ->with('Cc', ['cc@domain' => 'Name']); - $headers->shouldReceive('addMailboxHeader') - ->zeroOrMoreTimes(); - - $message = $this->createMessage($headers, $this->createEncoder(), - $this->createCache() - ); - $message->setCc('cc@domain', 'Name'); - } - - public function testBccIsReturnedFromHeader() - { - /* -- RFC 2822, 3.6.3. - */ - - $bcc = $this->createHeader('Bcc', ['bcc@domain' => 'Name']); - $message = $this->createMessage( - $this->createHeaderSet(['Bcc' => $bcc]), - $this->createEncoder(), $this->createCache() - ); - $this->assertEquals(['bcc@domain' => 'Name'], $message->getBcc()); - } - - public function testBccIsSetInHeader() - { - $bcc = $this->createHeader('Bcc', ['bcc@domain' => 'Name'], - [], false - ); - $bcc->shouldReceive('setFieldBodyModel') - ->once() - ->with(['other@domain' => 'Other']); - - $message = $this->createMessage( - $this->createHeaderSet(['Bcc' => $bcc]), - $this->createEncoder(), $this->createCache() - ); - $message->setBcc(['other@domain' => 'Other']); - } - - public function testBccIsAddedToHeadersDuringAddBcc() - { - $bcc = $this->createHeader('Bcc', ['from@domain' => 'Name'], - [], false - ); - $bcc->shouldReceive('setFieldBodyModel') - ->once() - ->with(['from@domain' => 'Name', 'other@domain' => 'Other']); - - $message = $this->createMessage( - $this->createHeaderSet(['Bcc' => $bcc]), - $this->createEncoder(), $this->createCache() - ); - $message->addBcc('other@domain', 'Other'); - } - - public function testBccHeaderIsAddedIfNoneSet() - { - $headers = $this->createHeaderSet([], false); - $headers->shouldReceive('addMailboxHeader') - ->once() - ->with('Bcc', (array) 'bcc@domain'); - $headers->shouldReceive('addMailboxHeader') - ->zeroOrMoreTimes(); - - $message = $this->createMessage($headers, $this->createEncoder(), - $this->createCache() - ); - $message->setBcc('bcc@domain'); - } - - public function testNameCanBeUsedInBcc() - { - $headers = $this->createHeaderSet([], false); - $headers->shouldReceive('addMailboxHeader') - ->once() - ->with('Bcc', ['bcc@domain' => 'Name']); - $headers->shouldReceive('addMailboxHeader') - ->zeroOrMoreTimes(); - - $message = $this->createMessage($headers, $this->createEncoder(), - $this->createCache() - ); - $message->setBcc('bcc@domain', 'Name'); - } - - public function testPriorityIsReadFromHeader() - { - $prio = $this->createHeader('X-Priority', '2 (High)'); - $message = $this->createMessage( - $this->createHeaderSet(['X-Priority' => $prio]), - $this->createEncoder(), $this->createCache() - ); - $this->assertEquals(2, $message->getPriority()); - } - - public function testPriorityIsSetInHeader() - { - $prio = $this->createHeader('X-Priority', '2 (High)', [], false); - $prio->shouldReceive('setFieldBodyModel') - ->once() - ->with('5 (Lowest)'); - - $message = $this->createMessage( - $this->createHeaderSet(['X-Priority' => $prio]), - $this->createEncoder(), $this->createCache() - ); - $message->setPriority($message::PRIORITY_LOWEST); - } - - public function testPriorityHeaderIsAddedIfNoneSet() - { - $headers = $this->createHeaderSet([], false); - $headers->shouldReceive('addTextHeader') - ->once() - ->with('X-Priority', '4 (Low)'); - $headers->shouldReceive('addTextHeader') - ->zeroOrMoreTimes(); - - $message = $this->createMessage($headers, $this->createEncoder(), - $this->createCache() - ); - $message->setPriority($message::PRIORITY_LOW); - } - - public function testReadReceiptAddressReadFromHeader() - { - $rcpt = $this->createHeader('Disposition-Notification-To', - ['chris@swiftmailer.org' => 'Chris'] - ); - $message = $this->createMessage( - $this->createHeaderSet(['Disposition-Notification-To' => $rcpt]), - $this->createEncoder(), $this->createCache() - ); - $this->assertEquals(['chris@swiftmailer.org' => 'Chris'], - $message->getReadReceiptTo() - ); - } - - public function testReadReceiptIsSetInHeader() - { - $rcpt = $this->createHeader('Disposition-Notification-To', [], [], false); - $rcpt->shouldReceive('setFieldBodyModel') - ->once() - ->with('mark@swiftmailer.org'); - - $message = $this->createMessage( - $this->createHeaderSet(['Disposition-Notification-To' => $rcpt]), - $this->createEncoder(), $this->createCache() - ); - $message->setReadReceiptTo('mark@swiftmailer.org'); - } - - public function testReadReceiptHeaderIsAddedIfNoneSet() - { - $headers = $this->createHeaderSet([], false); - $headers->shouldReceive('addMailboxHeader') - ->once() - ->with('Disposition-Notification-To', 'mark@swiftmailer.org'); - $headers->shouldReceive('addMailboxHeader') - ->zeroOrMoreTimes(); - - $message = $this->createMessage($headers, $this->createEncoder(), - $this->createCache() - ); - $message->setReadReceiptTo('mark@swiftmailer.org'); - } - - public function testChildrenCanBeAttached() - { - $child1 = $this->createChild(); - $child2 = $this->createChild(); - - $message = $this->createMessage($this->createHeaderSet(), - $this->createEncoder(), $this->createCache() - ); - - $message->attach($child1); - $message->attach($child2); - - $this->assertEquals([$child1, $child2], $message->getChildren()); - } - - public function testChildrenCanBeDetached() - { - $child1 = $this->createChild(); - $child2 = $this->createChild(); - - $message = $this->createMessage($this->createHeaderSet(), - $this->createEncoder(), $this->createCache() - ); - - $message->attach($child1); - $message->attach($child2); - - $message->detach($child1); - - $this->assertEquals([$child2], $message->getChildren()); - } - - public function testEmbedAttachesChild() - { - $child = $this->createChild(); - - $message = $this->createMessage($this->createHeaderSet(), - $this->createEncoder(), $this->createCache() - ); - - $message->embed($child); - - $this->assertEquals([$child], $message->getChildren()); - } - - public function testEmbedReturnsValidCid() - { - $child = $this->createChild(Swift_Mime_SimpleMimeEntity::LEVEL_RELATED, '', - false - ); - $child->shouldReceive('getId') - ->zeroOrMoreTimes() - ->andReturn('foo@bar'); - - $message = $this->createMessage($this->createHeaderSet(), - $this->createEncoder(), $this->createCache() - ); - - $this->assertEquals('cid:foo@bar', $message->embed($child)); - } - - public function testFluidInterface() - { - $child = $this->createChild(); - $message = $this->createMessage($this->createHeaderSet(), - $this->createEncoder(), $this->createCache() - ); - $this->assertSame($message, - $message - ->setContentType('text/plain') - ->setEncoder($this->createEncoder()) - ->setId('foo@bar') - ->setDescription('my description') - ->setMaxLineLength(998) - ->setBody('xx') - ->setBoundary('xyz') - ->setChildren([]) - ->setCharset('iso-8859-1') - ->setFormat('flowed') - ->setDelSp(false) - ->setSubject('subj') - ->setDate(new DateTimeImmutable()) - ->setReturnPath('foo@bar') - ->setSender('foo@bar') - ->setFrom(['x@y' => 'XY']) - ->setReplyTo(['ab@cd' => 'ABCD']) - ->setTo(['chris@site.tld', 'mark@site.tld']) - ->setCc('john@somewhere.tld') - ->setBcc(['one@site', 'two@site' => 'Two']) - ->setPriority($message::PRIORITY_LOW) - ->setReadReceiptTo('a@b') - ->attach($child) - ->detach($child) - ); - } - - //abstract - protected function createEntity($headers, $encoder, $cache) - { - return $this->createMessage($headers, $encoder, $cache); - } - - protected function createMimePart($headers, $encoder, $cache) - { - return $this->createMessage($headers, $encoder, $cache); - } - - private function createMessage($headers, $encoder, $cache) - { - $idGenerator = new Swift_Mime_IdGenerator('example.com'); - - return new Swift_Mime_SimpleMessage($headers, $encoder, $cache, $idGenerator); - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/SimpleMimeEntityTest.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/SimpleMimeEntityTest.php deleted file mode 100644 index 24578ed8e9..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/SimpleMimeEntityTest.php +++ /dev/null @@ -1,12 +0,0 @@ -assertEquals(10, $plugin->getThreshold()); - $plugin->setThreshold(100); - $this->assertEquals(100, $plugin->getThreshold()); - } - - public function testSleepTimeCanBeSetAndFetched() - { - $plugin = new Swift_Plugins_AntiFloodPlugin(10, 5); - $this->assertEquals(5, $plugin->getSleepTime()); - $plugin->setSleepTime(1); - $this->assertEquals(1, $plugin->getSleepTime()); - } - - public function testPluginStopsConnectionAfterThreshold() - { - $transport = $this->createTransport(); - $transport->expects($this->once()) - ->method('start'); - $transport->expects($this->once()) - ->method('stop'); - - $evt = $this->createSendEvent($transport); - - $plugin = new Swift_Plugins_AntiFloodPlugin(10); - for ($i = 0; $i < 12; ++$i) { - $plugin->sendPerformed($evt); - } - } - - public function testPluginCanStopAndStartMultipleTimes() - { - $transport = $this->createTransport(); - $transport->expects($this->exactly(5)) - ->method('start'); - $transport->expects($this->exactly(5)) - ->method('stop'); - - $evt = $this->createSendEvent($transport); - - $plugin = new Swift_Plugins_AntiFloodPlugin(2); - for ($i = 0; $i < 11; ++$i) { - $plugin->sendPerformed($evt); - } - } - - public function testPluginCanSleepDuringRestart() - { - $sleeper = $this->getMockBuilder('Swift_Plugins_Sleeper')->getMock(); - $sleeper->expects($this->once()) - ->method('sleep') - ->with(10); - - $transport = $this->createTransport(); - $transport->expects($this->once()) - ->method('start'); - $transport->expects($this->once()) - ->method('stop'); - - $evt = $this->createSendEvent($transport); - - $plugin = new Swift_Plugins_AntiFloodPlugin(99, 10, $sleeper); - for ($i = 0; $i < 101; ++$i) { - $plugin->sendPerformed($evt); - } - } - - private function createTransport() - { - return $this->getMockBuilder('Swift_Transport')->getMock(); - } - - private function createSendEvent($transport) - { - $evt = $this->getMockBuilder('Swift_Events_SendEvent') - ->disableOriginalConstructor() - ->getMock(); - $evt->expects($this->any()) - ->method('getSource') - ->will($this->returnValue($transport)); - $evt->expects($this->any()) - ->method('getTransport') - ->will($this->returnValue($transport)); - - return $evt; - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Plugins/BandwidthMonitorPluginTest.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Plugins/BandwidthMonitorPluginTest.php deleted file mode 100644 index cbacfe276a..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Plugins/BandwidthMonitorPluginTest.php +++ /dev/null @@ -1,128 +0,0 @@ -monitor = new Swift_Plugins_BandwidthMonitorPlugin(); - } - - public function testBytesOutIncreasesWhenCommandsSent() - { - $evt = $this->createCommandEvent("RCPT TO:\r\n"); - - $this->assertEquals(0, $this->monitor->getBytesOut()); - $this->monitor->commandSent($evt); - $this->assertEquals(23, $this->monitor->getBytesOut()); - $this->monitor->commandSent($evt); - $this->assertEquals(46, $this->monitor->getBytesOut()); - } - - public function testBytesInIncreasesWhenResponsesReceived() - { - $evt = $this->createResponseEvent("250 Ok\r\n"); - - $this->assertEquals(0, $this->monitor->getBytesIn()); - $this->monitor->responseReceived($evt); - $this->assertEquals(8, $this->monitor->getBytesIn()); - $this->monitor->responseReceived($evt); - $this->assertEquals(16, $this->monitor->getBytesIn()); - } - - public function testCountersCanBeReset() - { - $evt = $this->createResponseEvent("250 Ok\r\n"); - - $this->assertEquals(0, $this->monitor->getBytesIn()); - $this->monitor->responseReceived($evt); - $this->assertEquals(8, $this->monitor->getBytesIn()); - $this->monitor->responseReceived($evt); - $this->assertEquals(16, $this->monitor->getBytesIn()); - - $evt = $this->createCommandEvent("RCPT TO:\r\n"); - - $this->assertEquals(0, $this->monitor->getBytesOut()); - $this->monitor->commandSent($evt); - $this->assertEquals(23, $this->monitor->getBytesOut()); - $this->monitor->commandSent($evt); - $this->assertEquals(46, $this->monitor->getBytesOut()); - - $this->monitor->reset(); - - $this->assertEquals(0, $this->monitor->getBytesOut()); - $this->assertEquals(0, $this->monitor->getBytesIn()); - } - - public function testBytesOutIncreasesAccordingToMessageLength() - { - $message = $this->createMessageWithByteCount(6); - $evt = $this->createSendEvent($message); - - $this->assertEquals(0, $this->monitor->getBytesOut()); - $this->monitor->sendPerformed($evt); - $this->assertEquals(6, $this->monitor->getBytesOut()); - $this->monitor->sendPerformed($evt); - $this->assertEquals(12, $this->monitor->getBytesOut()); - } - - private function createSendEvent($message) - { - $evt = $this->getMockBuilder('Swift_Events_SendEvent') - ->disableOriginalConstructor() - ->getMock(); - $evt->expects($this->any()) - ->method('getMessage') - ->will($this->returnValue($message)); - - return $evt; - } - - private function createCommandEvent($command) - { - $evt = $this->getMockBuilder('Swift_Events_CommandEvent') - ->disableOriginalConstructor() - ->getMock(); - $evt->expects($this->any()) - ->method('getCommand') - ->will($this->returnValue($command)); - - return $evt; - } - - private function createResponseEvent($response) - { - $evt = $this->getMockBuilder('Swift_Events_ResponseEvent') - ->disableOriginalConstructor() - ->getMock(); - $evt->expects($this->any()) - ->method('getResponse') - ->will($this->returnValue($response)); - - return $evt; - } - - private function createMessageWithByteCount($bytes) - { - $this->bytes = $bytes; - $msg = $this->getMockBuilder('Swift_Mime_SimpleMessage')->disableOriginalConstructor()->getMock(); - $msg->expects($this->any()) - ->method('toByteStream') - ->will($this->returnCallback([$this, 'write'])); - /* $this->checking(Expectations::create() - -> ignoring($msg)->toByteStream(any()) -> calls(array($this, 'write')) - ); */ - - return $msg; - } - - public function write($is) - { - for ($i = 0; $i < $this->bytes; ++$i) { - $is->write('x'); - } - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Plugins/DecoratorPluginTest.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Plugins/DecoratorPluginTest.php deleted file mode 100644 index 97b1d9586c..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Plugins/DecoratorPluginTest.php +++ /dev/null @@ -1,284 +0,0 @@ -createMessage( - $this->createHeaders(), - ['zip@button.tld' => 'Zipathon'], - ['chris.corbyn@swiftmailer.org' => 'Chris'], - 'Subject', - 'Hello {name}, you are customer #{id}' - ); - $message->shouldReceive('setBody') - ->once() - ->with('Hello Zip, you are customer #456'); - $message->shouldReceive('setBody') - ->zeroOrMoreTimes(); - - $plugin = $this->createPlugin( - ['zip@button.tld' => ['{name}' => 'Zip', '{id}' => '456']] - ); - - $evt = $this->createSendEvent($message); - - $plugin->beforeSendPerformed($evt); - $plugin->sendPerformed($evt); - } - - public function testReplacementsCanBeAppliedToSameMessageMultipleTimes() - { - $message = $this->createMessage( - $this->createHeaders(), - ['zip@button.tld' => 'Zipathon', 'foo@bar.tld' => 'Foo'], - ['chris.corbyn@swiftmailer.org' => 'Chris'], - 'Subject', - 'Hello {name}, you are customer #{id}' - ); - $message->shouldReceive('setBody') - ->once() - ->with('Hello Zip, you are customer #456'); - $message->shouldReceive('setBody') - ->once() - ->with('Hello {name}, you are customer #{id}'); - $message->shouldReceive('setBody') - ->once() - ->with('Hello Foo, you are customer #123'); - $message->shouldReceive('setBody') - ->zeroOrMoreTimes(); - - $plugin = $this->createPlugin( - [ - 'foo@bar.tld' => ['{name}' => 'Foo', '{id}' => '123'], - 'zip@button.tld' => ['{name}' => 'Zip', '{id}' => '456'], - ] - ); - - $evt = $this->createSendEvent($message); - - $plugin->beforeSendPerformed($evt); - $plugin->sendPerformed($evt); - $plugin->beforeSendPerformed($evt); - $plugin->sendPerformed($evt); - } - - public function testReplacementsCanBeMadeInHeaders() - { - $headers = $this->createHeaders([ - $returnPathHeader = $this->createHeader('Return-Path', 'foo-{id}@swiftmailer.org'), - $toHeader = $this->createHeader('Subject', 'A message for {name}!'), - ]); - - $message = $this->createMessage( - $headers, - ['zip@button.tld' => 'Zipathon'], - ['chris.corbyn@swiftmailer.org' => 'Chris'], - 'A message for {name}!', - 'Hello {name}, you are customer #{id}' - ); - - $message->shouldReceive('setBody') - ->once() - ->with('Hello Zip, you are customer #456'); - $toHeader->shouldReceive('setFieldBodyModel') - ->once() - ->with('A message for Zip!'); - $returnPathHeader->shouldReceive('setFieldBodyModel') - ->once() - ->with('foo-456@swiftmailer.org'); - $message->shouldReceive('setBody') - ->zeroOrMoreTimes(); - $toHeader->shouldReceive('setFieldBodyModel') - ->zeroOrMoreTimes(); - $returnPathHeader->shouldReceive('setFieldBodyModel') - ->zeroOrMoreTimes(); - - $plugin = $this->createPlugin( - ['zip@button.tld' => ['{name}' => 'Zip', '{id}' => '456']] - ); - $evt = $this->createSendEvent($message); - - $plugin->beforeSendPerformed($evt); - $plugin->sendPerformed($evt); - } - - public function testReplacementsAreMadeOnSubparts() - { - $part1 = $this->createPart('text/plain', 'Your name is {name}?', '1@x'); - $part2 = $this->createPart('text/html', 'Your name is {name}?', '2@x'); - $message = $this->createMessage( - $this->createHeaders(), - ['zip@button.tld' => 'Zipathon'], - ['chris.corbyn@swiftmailer.org' => 'Chris'], - 'A message for {name}!', - 'Subject' - ); - $message->shouldReceive('getChildren') - ->zeroOrMoreTimes() - ->andReturn([$part1, $part2]); - $part1->shouldReceive('setBody') - ->once() - ->with('Your name is Zip?'); - $part2->shouldReceive('setBody') - ->once() - ->with('Your name is Zip?'); - $part1->shouldReceive('setBody') - ->zeroOrMoreTimes(); - $part2->shouldReceive('setBody') - ->zeroOrMoreTimes(); - - $plugin = $this->createPlugin( - ['zip@button.tld' => ['{name}' => 'Zip', '{id}' => '456']] - ); - - $evt = $this->createSendEvent($message); - - $plugin->beforeSendPerformed($evt); - $plugin->sendPerformed($evt); - } - - public function testReplacementsCanBeTakenFromCustomReplacementsObject() - { - $message = $this->createMessage( - $this->createHeaders(), - ['foo@bar' => 'Foobar', 'zip@zap' => 'Zip zap'], - ['chris.corbyn@swiftmailer.org' => 'Chris'], - 'Subject', - 'Something {a}' - ); - - $replacements = $this->createReplacements(); - - $message->shouldReceive('setBody') - ->once() - ->with('Something b'); - $message->shouldReceive('setBody') - ->once() - ->with('Something c'); - $message->shouldReceive('setBody') - ->zeroOrMoreTimes(); - $replacements->shouldReceive('getReplacementsFor') - ->once() - ->with('foo@bar') - ->andReturn(['{a}' => 'b']); - $replacements->shouldReceive('getReplacementsFor') - ->once() - ->with('zip@zap') - ->andReturn(['{a}' => 'c']); - - $plugin = $this->createPlugin($replacements); - - $evt = $this->createSendEvent($message); - - $plugin->beforeSendPerformed($evt); - $plugin->sendPerformed($evt); - $plugin->beforeSendPerformed($evt); - $plugin->sendPerformed($evt); - } - - public function testReplacementsWithAMessageWithImmutableDate() - { - $message = (new Swift_Message('subject foo')) - ->setBody('body foo') - ->addTo('somebody@hostname.tld') - ->addFrom('somebody@hostname.tld'); - - $evt = $this->createSendEvent($message); - - $plugin = $this->createPlugin(['somebody@hostname.tld' => ['foo' => 'bar']]); - - $plugin->beforeSendPerformed($evt); - - $this->assertEquals('subject bar', $message->getSubject()); - $this->assertEquals('body bar', $message->getBody()); - } - - private function createMessage($headers, $to = [], $from = null, $subject = null, - $body = null) - { - $message = $this->getMockery('Swift_Mime_SimpleMessage')->shouldIgnoreMissing(); - foreach ($to as $addr => $name) { - $message->shouldReceive('getTo') - ->once() - ->andReturn([$addr => $name]); - } - $message->shouldReceive('getHeaders') - ->zeroOrMoreTimes() - ->andReturn($headers); - $message->shouldReceive('getFrom') - ->zeroOrMoreTimes() - ->andReturn($from); - $message->shouldReceive('getSubject') - ->zeroOrMoreTimes() - ->andReturn($subject); - $message->shouldReceive('getBody') - ->zeroOrMoreTimes() - ->andReturn($body); - - return $message; - } - - private function createPlugin($replacements) - { - return new Swift_Plugins_DecoratorPlugin($replacements); - } - - private function createReplacements() - { - return $this->getMockery('Swift_Plugins_Decorator_Replacements')->shouldIgnoreMissing(); - } - - private function createSendEvent(Swift_Mime_SimpleMessage $message) - { - $evt = $this->getMockery('Swift_Events_SendEvent')->shouldIgnoreMissing(); - $evt->shouldReceive('getMessage') - ->zeroOrMoreTimes() - ->andReturn($message); - - return $evt; - } - - private function createPart($type, $body, $id) - { - $part = $this->getMockery('Swift_Mime_SimpleMimeEntity')->shouldIgnoreMissing(); - $part->shouldReceive('getContentType') - ->zeroOrMoreTimes() - ->andReturn($type); - $part->shouldReceive('getBody') - ->zeroOrMoreTimes() - ->andReturn($body); - $part->shouldReceive('getId') - ->zeroOrMoreTimes() - ->andReturn($id); - - return $part; - } - - private function createHeaders($headers = []) - { - $set = $this->getMockery('Swift_Mime_SimpleHeaderSet')->shouldIgnoreMissing(); - $set->shouldReceive('getAll') - ->zeroOrMoreTimes() - ->andReturn($headers); - - foreach ($headers as $header) { - $set->set($header); - } - - return $set; - } - - private function createHeader($name, $body = '') - { - $header = $this->getMockery('Swift_Mime_Header')->shouldIgnoreMissing(); - $header->shouldReceive('getFieldName') - ->zeroOrMoreTimes() - ->andReturn($name); - $header->shouldReceive('getFieldBodyModel') - ->zeroOrMoreTimes() - ->andReturn($body); - - return $header; - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Plugins/LoggerPluginTest.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Plugins/LoggerPluginTest.php deleted file mode 100644 index d66021cb53..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Plugins/LoggerPluginTest.php +++ /dev/null @@ -1,188 +0,0 @@ -createLogger(); - $logger->expects($this->once()) - ->method('add') - ->with('foo'); - - $plugin = $this->createPlugin($logger); - $plugin->add('foo'); - } - - public function testLoggerDelegatesDumpingEntries() - { - $logger = $this->createLogger(); - $logger->expects($this->once()) - ->method('dump') - ->will($this->returnValue('foobar')); - - $plugin = $this->createPlugin($logger); - $this->assertEquals('foobar', $plugin->dump()); - } - - public function testLoggerDelegatesClearingEntries() - { - $logger = $this->createLogger(); - $logger->expects($this->once()) - ->method('clear'); - - $plugin = $this->createPlugin($logger); - $plugin->clear(); - } - - public function testCommandIsSentToLogger() - { - $evt = $this->createCommandEvent("foo\r\n"); - $logger = $this->createLogger(); - $logger->expects($this->once()) - ->method('add') - ->with(static::regExp('~foo\r\n~')); - - $plugin = $this->createPlugin($logger); - $plugin->commandSent($evt); - } - - public function testResponseIsSentToLogger() - { - $evt = $this->createResponseEvent("354 Go ahead\r\n"); - $logger = $this->createLogger(); - $logger->expects($this->once()) - ->method('add') - ->with(static::regExp('~354 Go ahead\r\n~')); - - $plugin = $this->createPlugin($logger); - $plugin->responseReceived($evt); - } - - public function testTransportBeforeStartChangeIsSentToLogger() - { - $evt = $this->createTransportChangeEvent(); - $logger = $this->createLogger(); - $logger->expects($this->once()) - ->method('add') - ->with($this->anything()); - - $plugin = $this->createPlugin($logger); - $plugin->beforeTransportStarted($evt); - } - - public function testTransportStartChangeIsSentToLogger() - { - $evt = $this->createTransportChangeEvent(); - $logger = $this->createLogger(); - $logger->expects($this->once()) - ->method('add') - ->with($this->anything()); - - $plugin = $this->createPlugin($logger); - $plugin->transportStarted($evt); - } - - public function testTransportStopChangeIsSentToLogger() - { - $evt = $this->createTransportChangeEvent(); - $logger = $this->createLogger(); - $logger->expects($this->once()) - ->method('add') - ->with($this->anything()); - - $plugin = $this->createPlugin($logger); - $plugin->transportStopped($evt); - } - - public function testTransportBeforeStopChangeIsSentToLogger() - { - $evt = $this->createTransportChangeEvent(); - $logger = $this->createLogger(); - $logger->expects($this->once()) - ->method('add') - ->with($this->anything()); - - $plugin = $this->createPlugin($logger); - $plugin->beforeTransportStopped($evt); - } - - public function testExceptionsArePassedToDelegateAndLeftToBubbleUp() - { - $transport = $this->createTransport(); - $evt = $this->createTransportExceptionEvent(); - $logger = $this->createLogger(); - $logger->expects($this->once()) - ->method('add') - ->with($this->anything()); - - $plugin = $this->createPlugin($logger); - try { - $plugin->exceptionThrown($evt); - $this->fail('Exception should bubble up.'); - } catch (Swift_TransportException $ex) { - } - } - - private function createLogger() - { - return $this->getMockBuilder('Swift_Plugins_Logger')->getMock(); - } - - private function createPlugin($logger) - { - return new Swift_Plugins_LoggerPlugin($logger); - } - - private function createCommandEvent($command) - { - $evt = $this->getMockBuilder('Swift_Events_CommandEvent') - ->disableOriginalConstructor() - ->getMock(); - $evt->expects($this->any()) - ->method('getCommand') - ->will($this->returnValue($command)); - - return $evt; - } - - private function createResponseEvent($response) - { - $evt = $this->getMockBuilder('Swift_Events_ResponseEvent') - ->disableOriginalConstructor() - ->getMock(); - $evt->expects($this->any()) - ->method('getResponse') - ->will($this->returnValue($response)); - - return $evt; - } - - private function createTransport() - { - return $this->getMockBuilder('Swift_Transport')->getMock(); - } - - private function createTransportChangeEvent() - { - $evt = $this->getMockBuilder('Swift_Events_TransportChangeEvent') - ->disableOriginalConstructor() - ->getMock(); - $evt->expects($this->any()) - ->method('getSource') - ->will($this->returnValue($this->createTransport())); - - return $evt; - } - - public function createTransportExceptionEvent() - { - $evt = $this->getMockBuilder('Swift_Events_TransportExceptionEvent') - ->disableOriginalConstructor() - ->getMock(); - $evt->expects($this->any()) - ->method('getException') - ->will($this->returnValue(new Swift_TransportException(''))); - - return $evt; - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Plugins/Loggers/ArrayLoggerTest.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Plugins/Loggers/ArrayLoggerTest.php deleted file mode 100644 index 48c1b075a3..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Plugins/Loggers/ArrayLoggerTest.php +++ /dev/null @@ -1,65 +0,0 @@ -add(">> Foo\r\n"); - $this->assertEquals(">> Foo\r\n", $logger->dump()); - } - - public function testAddingMultipleEntriesDumpsMultipleLines() - { - $logger = new Swift_Plugins_Loggers_ArrayLogger(); - $logger->add(">> FOO\r\n"); - $logger->add("<< 502 That makes no sense\r\n"); - $logger->add(">> RSET\r\n"); - $logger->add("<< 250 OK\r\n"); - - $this->assertEquals( - ">> FOO\r\n".PHP_EOL. - "<< 502 That makes no sense\r\n".PHP_EOL. - ">> RSET\r\n".PHP_EOL. - "<< 250 OK\r\n", - $logger->dump() - ); - } - - public function testLogCanBeCleared() - { - $logger = new Swift_Plugins_Loggers_ArrayLogger(); - $logger->add(">> FOO\r\n"); - $logger->add("<< 502 That makes no sense\r\n"); - $logger->add(">> RSET\r\n"); - $logger->add("<< 250 OK\r\n"); - - $this->assertEquals( - ">> FOO\r\n".PHP_EOL. - "<< 502 That makes no sense\r\n".PHP_EOL. - ">> RSET\r\n".PHP_EOL. - "<< 250 OK\r\n", - $logger->dump() - ); - - $logger->clear(); - - $this->assertEquals('', $logger->dump()); - } - - public function testLengthCanBeTruncated() - { - $logger = new Swift_Plugins_Loggers_ArrayLogger(2); - $logger->add(">> FOO\r\n"); - $logger->add("<< 502 That makes no sense\r\n"); - $logger->add(">> RSET\r\n"); - $logger->add("<< 250 OK\r\n"); - - $this->assertEquals( - ">> RSET\r\n".PHP_EOL. - "<< 250 OK\r\n", - $logger->dump(), - '%s: Log should be truncated to last 2 entries' - ); - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Plugins/Loggers/EchoLoggerTest.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Plugins/Loggers/EchoLoggerTest.php deleted file mode 100644 index c43660da1f..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Plugins/Loggers/EchoLoggerTest.php +++ /dev/null @@ -1,24 +0,0 @@ -add('>> Foo'); - $data = ob_get_clean(); - - $this->assertEquals('>> Foo'.PHP_EOL, $data); - } - - public function testAddingEntryDumpsEscapedLineWithHtml() - { - $logger = new Swift_Plugins_Loggers_EchoLogger(true); - ob_start(); - $logger->add('>> Foo'); - $data = ob_get_clean(); - - $this->assertEquals('>> Foo
    '.PHP_EOL, $data); - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Plugins/PopBeforeSmtpPluginTest.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Plugins/PopBeforeSmtpPluginTest.php deleted file mode 100644 index cf88a4e7f4..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Plugins/PopBeforeSmtpPluginTest.php +++ /dev/null @@ -1,101 +0,0 @@ -createConnection(); - $connection->expects($this->once()) - ->method('connect'); - - $plugin = $this->createPlugin('pop.host.tld', 110); - $plugin->setConnection($connection); - - $transport = $this->createTransport(); - $evt = $this->createTransportChangeEvent($transport); - - $plugin->beforeTransportStarted($evt); - } - - public function testPluginDisconnectsFromPop3HostBeforeTransportStarts() - { - $connection = $this->createConnection(); - $connection->expects($this->once()) - ->method('disconnect'); - - $plugin = $this->createPlugin('pop.host.tld', 110); - $plugin->setConnection($connection); - - $transport = $this->createTransport(); - $evt = $this->createTransportChangeEvent($transport); - - $plugin->beforeTransportStarted($evt); - } - - public function testPluginDoesNotConnectToSmtpIfBoundToDifferentTransport() - { - $connection = $this->createConnection(); - $connection->expects($this->never()) - ->method('disconnect'); - $connection->expects($this->never()) - ->method('connect'); - - $smtp = $this->createTransport(); - - $plugin = $this->createPlugin('pop.host.tld', 110); - $plugin->setConnection($connection); - $plugin->bindSmtp($smtp); - - $transport = $this->createTransport(); - $evt = $this->createTransportChangeEvent($transport); - - $plugin->beforeTransportStarted($evt); - } - - public function testPluginCanBindToSpecificTransport() - { - $connection = $this->createConnection(); - $connection->expects($this->once()) - ->method('connect'); - - $smtp = $this->createTransport(); - - $plugin = $this->createPlugin('pop.host.tld', 110); - $plugin->setConnection($connection); - $plugin->bindSmtp($smtp); - - $evt = $this->createTransportChangeEvent($smtp); - - $plugin->beforeTransportStarted($evt); - } - - private function createTransport() - { - return $this->getMockBuilder('Swift_Transport')->getMock(); - } - - private function createTransportChangeEvent($transport) - { - $evt = $this->getMockBuilder('Swift_Events_TransportChangeEvent') - ->disableOriginalConstructor() - ->getMock(); - $evt->expects($this->any()) - ->method('getSource') - ->will($this->returnValue($transport)); - $evt->expects($this->any()) - ->method('getTransport') - ->will($this->returnValue($transport)); - - return $evt; - } - - public function createConnection() - { - return $this->getMockBuilder('Swift_Plugins_Pop_Pop3Connection')->getMock(); - } - - public function createPlugin($host, $port, $crypto = null) - { - return new Swift_Plugins_PopBeforeSmtpPlugin($host, $port, $crypto); - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Plugins/RedirectingPluginTest.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Plugins/RedirectingPluginTest.php deleted file mode 100644 index 0ad638670c..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Plugins/RedirectingPluginTest.php +++ /dev/null @@ -1,183 +0,0 @@ -assertEquals('fabien@example.com', $plugin->getRecipient()); - $plugin->setRecipient('chris@example.com'); - $this->assertEquals('chris@example.com', $plugin->getRecipient()); - } - - public function testPluginChangesRecipients() - { - $message = (new Swift_Message()) - ->setSubject('...') - ->setFrom(['john@example.com' => 'John Doe']) - ->setTo($to = [ - 'fabien-to@example.com' => 'Fabien (To)', - 'chris-to@example.com' => 'Chris (To)', - ]) - ->setCc($cc = [ - 'fabien-cc@example.com' => 'Fabien (Cc)', - 'chris-cc@example.com' => 'Chris (Cc)', - ]) - ->setBcc($bcc = [ - 'fabien-bcc@example.com' => 'Fabien (Bcc)', - 'chris-bcc@example.com' => 'Chris (Bcc)', - ]) - ->setBody('...') - ; - - $plugin = new Swift_Plugins_RedirectingPlugin('god@example.com'); - - $evt = $this->createSendEvent($message); - - $plugin->beforeSendPerformed($evt); - - $this->assertEquals($message->getTo(), ['god@example.com' => '']); - $this->assertEquals($message->getCc(), []); - $this->assertEquals($message->getBcc(), []); - - $plugin->sendPerformed($evt); - - $this->assertEquals($message->getTo(), $to); - $this->assertEquals($message->getCc(), $cc); - $this->assertEquals($message->getBcc(), $bcc); - } - - public function testPluginRespectsUnsetToList() - { - $message = (new Swift_Message()) - ->setSubject('...') - ->setFrom(['john@example.com' => 'John Doe']) - ->setCc($cc = [ - 'fabien-cc@example.com' => 'Fabien (Cc)', - 'chris-cc@example.com' => 'Chris (Cc)', - ]) - ->setBcc($bcc = [ - 'fabien-bcc@example.com' => 'Fabien (Bcc)', - 'chris-bcc@example.com' => 'Chris (Bcc)', - ]) - ->setBody('...') - ; - - $plugin = new Swift_Plugins_RedirectingPlugin('god@example.com'); - - $evt = $this->createSendEvent($message); - - $plugin->beforeSendPerformed($evt); - - $this->assertEquals($message->getTo(), ['god@example.com' => '']); - $this->assertEquals($message->getCc(), []); - $this->assertEquals($message->getBcc(), []); - - $plugin->sendPerformed($evt); - - $this->assertEquals($message->getTo(), []); - $this->assertEquals($message->getCc(), $cc); - $this->assertEquals($message->getBcc(), $bcc); - } - - public function testPluginRespectsAWhitelistOfPatterns() - { - $message = (new Swift_Message()) - ->setSubject('...') - ->setFrom(['john@example.com' => 'John Doe']) - ->setTo($to = [ - 'fabien-to@example.com' => 'Fabien (To)', - 'chris-to@example.com' => 'Chris (To)', - 'lars-to@internal.com' => 'Lars (To)', - ]) - ->setCc($cc = [ - 'fabien-cc@example.com' => 'Fabien (Cc)', - 'chris-cc@example.com' => 'Chris (Cc)', - 'lars-cc@internal.org' => 'Lars (Cc)', - ]) - ->setBcc($bcc = [ - 'fabien-bcc@example.com' => 'Fabien (Bcc)', - 'chris-bcc@example.com' => 'Chris (Bcc)', - 'john-bcc@example.org' => 'John (Bcc)', - ]) - ->setBody('...') - ; - - $recipient = 'god@example.com'; - $patterns = ['/^.*@internal.[a-z]+$/', '/^john-.*$/']; - - $plugin = new Swift_Plugins_RedirectingPlugin($recipient, $patterns); - - $this->assertEquals($recipient, $plugin->getRecipient()); - $this->assertEquals($plugin->getWhitelist(), $patterns); - - $evt = $this->createSendEvent($message); - - $plugin->beforeSendPerformed($evt); - - $this->assertEquals($message->getTo(), ['lars-to@internal.com' => 'Lars (To)', 'god@example.com' => null]); - $this->assertEquals($message->getCc(), ['lars-cc@internal.org' => 'Lars (Cc)']); - $this->assertEquals($message->getBcc(), ['john-bcc@example.org' => 'John (Bcc)']); - - $plugin->sendPerformed($evt); - - $this->assertEquals($message->getTo(), $to); - $this->assertEquals($message->getCc(), $cc); - $this->assertEquals($message->getBcc(), $bcc); - } - - public function testArrayOfRecipientsCanBeExplicitlyDefined() - { - $message = (new Swift_Message()) - ->setSubject('...') - ->setFrom(['john@example.com' => 'John Doe']) - ->setTo([ - 'fabien@example.com' => 'Fabien', - 'chris@example.com' => 'Chris (To)', - 'lars-to@internal.com' => 'Lars (To)', - ]) - ->setCc([ - 'fabien@example.com' => 'Fabien', - 'chris-cc@example.com' => 'Chris (Cc)', - 'lars-cc@internal.org' => 'Lars (Cc)', - ]) - ->setBcc([ - 'fabien@example.com' => 'Fabien', - 'chris-bcc@example.com' => 'Chris (Bcc)', - 'john-bcc@example.org' => 'John (Bcc)', - ]) - ->setBody('...') - ; - - $recipients = ['god@example.com', 'fabien@example.com']; - $patterns = ['/^.*@internal.[a-z]+$/']; - - $plugin = new Swift_Plugins_RedirectingPlugin($recipients, $patterns); - - $evt = $this->createSendEvent($message); - - $plugin->beforeSendPerformed($evt); - - $this->assertEquals( - $message->getTo(), - ['fabien@example.com' => 'Fabien', 'lars-to@internal.com' => 'Lars (To)', 'god@example.com' => null] - ); - $this->assertEquals( - $message->getCc(), - ['fabien@example.com' => 'Fabien', 'lars-cc@internal.org' => 'Lars (Cc)'] - ); - $this->assertEquals($message->getBcc(), ['fabien@example.com' => 'Fabien']); - } - - private function createSendEvent(Swift_Mime_SimpleMessage $message) - { - $evt = $this->getMockBuilder('Swift_Events_SendEvent') - ->disableOriginalConstructor() - ->getMock(); - $evt->expects($this->any()) - ->method('getMessage') - ->will($this->returnValue($message)); - - return $evt; - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Plugins/ReporterPluginTest.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Plugins/ReporterPluginTest.php deleted file mode 100644 index 19238f837f..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Plugins/ReporterPluginTest.php +++ /dev/null @@ -1,86 +0,0 @@ -createMessage(); - $evt = $this->createSendEvent(); - $reporter = $this->createReporter(); - - $message->shouldReceive('getTo')->zeroOrMoreTimes()->andReturn(['foo@bar.tld' => 'Foo']); - $evt->shouldReceive('getMessage')->zeroOrMoreTimes()->andReturn($message); - $evt->shouldReceive('getFailedRecipients')->zeroOrMoreTimes()->andReturn([]); - $reporter->shouldReceive('notify')->once()->with($message, 'foo@bar.tld', Swift_Plugins_Reporter::RESULT_PASS); - - $plugin = new Swift_Plugins_ReporterPlugin($reporter); - $plugin->sendPerformed($evt); - } - - public function testReportingFailedTo() - { - $message = $this->createMessage(); - $evt = $this->createSendEvent(); - $reporter = $this->createReporter(); - - $message->shouldReceive('getTo')->zeroOrMoreTimes()->andReturn(['foo@bar.tld' => 'Foo', 'zip@button' => 'Zip']); - $evt->shouldReceive('getMessage')->zeroOrMoreTimes()->andReturn($message); - $evt->shouldReceive('getFailedRecipients')->zeroOrMoreTimes()->andReturn(['zip@button']); - $reporter->shouldReceive('notify')->once()->with($message, 'foo@bar.tld', Swift_Plugins_Reporter::RESULT_PASS); - $reporter->shouldReceive('notify')->once()->with($message, 'zip@button', Swift_Plugins_Reporter::RESULT_FAIL); - - $plugin = new Swift_Plugins_ReporterPlugin($reporter); - $plugin->sendPerformed($evt); - } - - public function testReportingFailedCc() - { - $message = $this->createMessage(); - $evt = $this->createSendEvent(); - $reporter = $this->createReporter(); - - $message->shouldReceive('getTo')->zeroOrMoreTimes()->andReturn(['foo@bar.tld' => 'Foo']); - $message->shouldReceive('getCc')->zeroOrMoreTimes()->andReturn(['zip@button' => 'Zip', 'test@test.com' => 'Test']); - $evt->shouldReceive('getMessage')->zeroOrMoreTimes()->andReturn($message); - $evt->shouldReceive('getFailedRecipients')->zeroOrMoreTimes()->andReturn(['zip@button']); - $reporter->shouldReceive('notify')->once()->with($message, 'foo@bar.tld', Swift_Plugins_Reporter::RESULT_PASS); - $reporter->shouldReceive('notify')->once()->with($message, 'zip@button', Swift_Plugins_Reporter::RESULT_FAIL); - $reporter->shouldReceive('notify')->once()->with($message, 'test@test.com', Swift_Plugins_Reporter::RESULT_PASS); - - $plugin = new Swift_Plugins_ReporterPlugin($reporter); - $plugin->sendPerformed($evt); - } - - public function testReportingFailedBcc() - { - $message = $this->createMessage(); - $evt = $this->createSendEvent(); - $reporter = $this->createReporter(); - - $message->shouldReceive('getTo')->zeroOrMoreTimes()->andReturn(['foo@bar.tld' => 'Foo']); - $message->shouldReceive('getBcc')->zeroOrMoreTimes()->andReturn(['zip@button' => 'Zip', 'test@test.com' => 'Test']); - $evt->shouldReceive('getMessage')->zeroOrMoreTimes()->andReturn($message); - $evt->shouldReceive('getFailedRecipients')->zeroOrMoreTimes()->andReturn(['zip@button']); - $reporter->shouldReceive('notify')->once()->with($message, 'foo@bar.tld', Swift_Plugins_Reporter::RESULT_PASS); - $reporter->shouldReceive('notify')->once()->with($message, 'zip@button', Swift_Plugins_Reporter::RESULT_FAIL); - $reporter->shouldReceive('notify')->once()->with($message, 'test@test.com', Swift_Plugins_Reporter::RESULT_PASS); - - $plugin = new Swift_Plugins_ReporterPlugin($reporter); - $plugin->sendPerformed($evt); - } - - private function createMessage() - { - return $this->getMockery('Swift_Mime_SimpleMessage')->shouldIgnoreMissing(); - } - - private function createSendEvent() - { - return $this->getMockery('Swift_Events_SendEvent')->shouldIgnoreMissing(); - } - - private function createReporter() - { - return $this->getMockery('Swift_Plugins_Reporter')->shouldIgnoreMissing(); - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Plugins/Reporters/HitReporterTest.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Plugins/Reporters/HitReporterTest.php deleted file mode 100644 index d5a1c9ce94..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Plugins/Reporters/HitReporterTest.php +++ /dev/null @@ -1,64 +0,0 @@ -hitReporter = new Swift_Plugins_Reporters_HitReporter(); - $this->message = $this->getMockBuilder('Swift_Mime_SimpleMessage')->disableOriginalConstructor()->getMock(); - } - - public function testReportingFail() - { - $this->hitReporter->notify($this->message, 'foo@bar.tld', - Swift_Plugins_Reporter::RESULT_FAIL - ); - $this->assertEquals(['foo@bar.tld'], - $this->hitReporter->getFailedRecipients() - ); - } - - public function testMultipleReports() - { - $this->hitReporter->notify($this->message, 'foo@bar.tld', - Swift_Plugins_Reporter::RESULT_FAIL - ); - $this->hitReporter->notify($this->message, 'zip@button', - Swift_Plugins_Reporter::RESULT_FAIL - ); - $this->assertEquals(['foo@bar.tld', 'zip@button'], - $this->hitReporter->getFailedRecipients() - ); - } - - public function testReportingPassIsIgnored() - { - $this->hitReporter->notify($this->message, 'foo@bar.tld', - Swift_Plugins_Reporter::RESULT_FAIL - ); - $this->hitReporter->notify($this->message, 'zip@button', - Swift_Plugins_Reporter::RESULT_PASS - ); - $this->assertEquals(['foo@bar.tld'], - $this->hitReporter->getFailedRecipients() - ); - } - - public function testBufferCanBeCleared() - { - $this->hitReporter->notify($this->message, 'foo@bar.tld', - Swift_Plugins_Reporter::RESULT_FAIL - ); - $this->hitReporter->notify($this->message, 'zip@button', - Swift_Plugins_Reporter::RESULT_FAIL - ); - $this->assertEquals(['foo@bar.tld', 'zip@button'], - $this->hitReporter->getFailedRecipients() - ); - $this->hitReporter->clear(); - $this->assertEquals([], $this->hitReporter->getFailedRecipients()); - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Plugins/Reporters/HtmlReporterTest.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Plugins/Reporters/HtmlReporterTest.php deleted file mode 100644 index 6b86cfe24d..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Plugins/Reporters/HtmlReporterTest.php +++ /dev/null @@ -1,54 +0,0 @@ -html = new Swift_Plugins_Reporters_HtmlReporter(); - $this->message = $this->getMockBuilder('Swift_Mime_SimpleMessage')->disableOriginalConstructor()->getMock(); - } - - public function testReportingPass() - { - ob_start(); - $this->html->notify($this->message, 'foo@bar.tld', - Swift_Plugins_Reporter::RESULT_PASS - ); - $html = ob_get_clean(); - - $this->assertRegExp('~ok|pass~i', $html, '%s: Reporter should indicate pass'); - $this->assertRegExp('~foo@bar\.tld~', $html, '%s: Reporter should show address'); - } - - public function testReportingFail() - { - ob_start(); - $this->html->notify($this->message, 'zip@button', - Swift_Plugins_Reporter::RESULT_FAIL - ); - $html = ob_get_clean(); - - $this->assertRegExp('~fail~i', $html, '%s: Reporter should indicate fail'); - $this->assertRegExp('~zip@button~', $html, '%s: Reporter should show address'); - } - - public function testMultipleReports() - { - ob_start(); - $this->html->notify($this->message, 'foo@bar.tld', - Swift_Plugins_Reporter::RESULT_PASS - ); - $this->html->notify($this->message, 'zip@button', - Swift_Plugins_Reporter::RESULT_FAIL - ); - $html = ob_get_clean(); - - $this->assertRegExp('~ok|pass~i', $html, '%s: Reporter should indicate pass'); - $this->assertRegExp('~foo@bar\.tld~', $html, '%s: Reporter should show address'); - $this->assertRegExp('~fail~i', $html, '%s: Reporter should indicate fail'); - $this->assertRegExp('~zip@button~', $html, '%s: Reporter should show address'); - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Plugins/ThrottlerPluginTest.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Plugins/ThrottlerPluginTest.php deleted file mode 100644 index e35dcc8dcd..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Plugins/ThrottlerPluginTest.php +++ /dev/null @@ -1,102 +0,0 @@ -createSleeper(); - $timer = $this->createTimer(); - - //10MB/min - $plugin = new Swift_Plugins_ThrottlerPlugin( - 10000000, Swift_Plugins_ThrottlerPlugin::BYTES_PER_MINUTE, - $sleeper, $timer - ); - - $timer->shouldReceive('getTimestamp')->once()->andReturn(0); - $timer->shouldReceive('getTimestamp')->once()->andReturn(1); //expected 0.6 - $timer->shouldReceive('getTimestamp')->once()->andReturn(1); //expected 1.2 (sleep 1) - $timer->shouldReceive('getTimestamp')->once()->andReturn(2); //expected 1.8 - $timer->shouldReceive('getTimestamp')->once()->andReturn(2); //expected 2.4 (sleep 1) - $sleeper->shouldReceive('sleep')->twice()->with(1); - - //10,000,000 bytes per minute - //100,000 bytes per email - - // .: (10,000,000/100,000)/60 emails per second = 1.667 emais/sec - - $message = $this->createMessageWithByteCount(100000); //100KB - - $evt = $this->createSendEvent($message); - - for ($i = 0; $i < 5; ++$i) { - $plugin->beforeSendPerformed($evt); - $plugin->sendPerformed($evt); - } - } - - public function testMessagesPerMinuteThrottling() - { - $sleeper = $this->createSleeper(); - $timer = $this->createTimer(); - - //60/min - $plugin = new Swift_Plugins_ThrottlerPlugin( - 60, Swift_Plugins_ThrottlerPlugin::MESSAGES_PER_MINUTE, - $sleeper, $timer - ); - - $timer->shouldReceive('getTimestamp')->once()->andReturn(0); - $timer->shouldReceive('getTimestamp')->once()->andReturn(0); //expected 1 (sleep 1) - $timer->shouldReceive('getTimestamp')->once()->andReturn(2); //expected 2 - $timer->shouldReceive('getTimestamp')->once()->andReturn(2); //expected 3 (sleep 1) - $timer->shouldReceive('getTimestamp')->once()->andReturn(4); //expected 4 - $sleeper->shouldReceive('sleep')->twice()->with(1); - - //60 messages per minute - //1 message per second - - $message = $this->createMessageWithByteCount(10); - - $evt = $this->createSendEvent($message); - - for ($i = 0; $i < 5; ++$i) { - $plugin->beforeSendPerformed($evt); - $plugin->sendPerformed($evt); - } - } - - private function createSleeper() - { - return $this->getMockery('Swift_Plugins_Sleeper'); - } - - private function createTimer() - { - return $this->getMockery('Swift_Plugins_Timer'); - } - - private function createMessageWithByteCount($bytes) - { - $msg = $this->getMockery('Swift_Mime_SimpleMessage'); - $msg->shouldReceive('toByteStream') - ->zeroOrMoreTimes() - ->andReturnUsing(function ($is) use ($bytes) { - for ($i = 0; $i < $bytes; ++$i) { - $is->write('x'); - } - }); - - return $msg; - } - - private function createSendEvent($message) - { - $evt = $this->getMockery('Swift_Events_SendEvent'); - $evt->shouldReceive('getMessage') - ->zeroOrMoreTimes() - ->andReturn($message); - - return $evt; - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Signers/DKIMSignerTest.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Signers/DKIMSignerTest.php deleted file mode 100644 index 1d5f957fa2..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Signers/DKIMSignerTest.php +++ /dev/null @@ -1,220 +0,0 @@ -createHeaders(); - $messageContent = 'Hello World'; - $signer = new Swift_Signers_DKIMSigner(file_get_contents(dirname(dirname(dirname(__DIR__))).'/_samples/dkim/dkim.test.priv'), 'dummy.nxdomain.be', 'dummySelector'); - /* @var $signer Swift_Signers_HeaderSigner */ - $altered = $signer->getAlteredHeaders(); - $signer->reset(); - // Headers - $signer->setHeaders($headers); - // Body - $signer->startBody(); - $signer->write($messageContent); - $signer->endBody(); - // Signing - $signer->addSignature($headers); - } - - // SHA1 Signing - public function testSigningSHA1() - { - $headerSet = $this->createHeaderSet(); - $messageContent = 'Hello World'; - $signer = new Swift_Signers_DKIMSigner(file_get_contents(dirname(dirname(dirname(__DIR__))).'/_samples/dkim/dkim.test.priv'), 'dummy.nxdomain.be', 'dummySelector'); - $signer->setHashAlgorithm('rsa-sha1'); - $signer->setSignatureTimestamp('1299879181'); - $altered = $signer->getAlteredHeaders(); - $this->assertEquals(['DKIM-Signature'], $altered); - $signer->reset(); - $signer->setHeaders($headerSet); - $this->assertFalse($headerSet->has('DKIM-Signature')); - $signer->startBody(); - $signer->write($messageContent); - $signer->endBody(); - $signer->addSignature($headerSet); - $this->assertTrue($headerSet->has('DKIM-Signature')); - $dkim = $headerSet->getAll('DKIM-Signature'); - $sig = reset($dkim); - $this->assertEquals($sig->getValue(), 'v=1; a=rsa-sha1; bh=wlbYcY9O9OPInGJ4D0E/rGsvMLE=; d=dummy.nxdomain.be; h=; i=@dummy.nxdomain.be; s=dummySelector; t=1299879181; b=RMSNelzM2O5MAAnMjT3G3/VF36S3DGJXoPCXR001F1WDReu0prGphWjuzK/m6V1pwqQL8cCNg Hi74mTx2bvyAvmkjvQtJf1VMUOCc9WHGcm1Yec66I3ZWoNMGSWZ1EKAm2CtTzyG0IFw4ml9DI wSkyAFxlgicckDD6FibhqwX4w='); - } - - // SHA256 Signing - public function testSigning256() - { - $headerSet = $this->createHeaderSet(); - $messageContent = 'Hello World'; - $signer = new Swift_Signers_DKIMSigner(file_get_contents(dirname(dirname(dirname(__DIR__))).'/_samples/dkim/dkim.test.priv'), 'dummy.nxdomain.be', 'dummySelector'); - $signer->setHashAlgorithm('rsa-sha256'); - $signer->setSignatureTimestamp('1299879181'); - $altered = $signer->getAlteredHeaders(); - $this->assertEquals(['DKIM-Signature'], $altered); - $signer->reset(); - $signer->setHeaders($headerSet); - $this->assertFalse($headerSet->has('DKIM-Signature')); - $signer->startBody(); - $signer->write($messageContent); - $signer->endBody(); - $signer->addSignature($headerSet); - $this->assertTrue($headerSet->has('DKIM-Signature')); - $dkim = $headerSet->getAll('DKIM-Signature'); - $sig = reset($dkim); - $this->assertEquals($sig->getValue(), 'v=1; a=rsa-sha256; bh=f+W+hu8dIhf2VAni89o8lF6WKTXi7nViA4RrMdpD5/U=; d=dummy.nxdomain.be; h=; i=@dummy.nxdomain.be; s=dummySelector; t=1299879181; b=jqPmieHzF5vR9F4mXCAkowuphpO4iJ8IAVuioh1BFZ3VITXZj5jlOFxULJMBiiApm2keJirnh u4mzogj444QkpT3lJg8/TBGAYQPdcvkG3KC0jdyN6QpSgpITBJG2BwWa+keXsv2bkQgLRAzNx qRhP45vpHCKun0Tg9LrwW/KCg='); - } - - // Relaxed/Relaxed Hash Signing - public function testSigningRelaxedRelaxed256() - { - $headerSet = $this->createHeaderSet(); - $messageContent = 'Hello World'; - $signer = new Swift_Signers_DKIMSigner(file_get_contents(dirname(dirname(dirname(__DIR__))).'/_samples/dkim/dkim.test.priv'), 'dummy.nxdomain.be', 'dummySelector'); - $signer->setHashAlgorithm('rsa-sha256'); - $signer->setSignatureTimestamp('1299879181'); - $signer->setBodyCanon('relaxed'); - $signer->setHeaderCanon('relaxed'); - $altered = $signer->getAlteredHeaders(); - $this->assertEquals(['DKIM-Signature'], $altered); - $signer->reset(); - $signer->setHeaders($headerSet); - $this->assertFalse($headerSet->has('DKIM-Signature')); - $signer->startBody(); - $signer->write($messageContent); - $signer->endBody(); - $signer->addSignature($headerSet); - $this->assertTrue($headerSet->has('DKIM-Signature')); - $dkim = $headerSet->getAll('DKIM-Signature'); - $sig = reset($dkim); - $this->assertEquals($sig->getValue(), 'v=1; a=rsa-sha256; bh=f+W+hu8dIhf2VAni89o8lF6WKTXi7nViA4RrMdpD5/U=; d=dummy.nxdomain.be; h=; i=@dummy.nxdomain.be; s=dummySelector; c=relaxed/relaxed; t=1299879181; b=gzOI+PX6HpZKQFzwwmxzcVJsyirdLXOS+4pgfCpVHQIdqYusKLrhlLeFBTNoz75HrhNvGH6T0 Rt3w5aTqkrWfUuAEYt0Ns14GowLM7JojaFN+pZ4eYnRB3CBBgW6fee4NEMD5WPca3uS09tr1E 10RYh9ILlRtl+84sovhx5id3Y='); - } - - // Relaxed/Simple Hash Signing - public function testSigningRelaxedSimple256() - { - $headerSet = $this->createHeaderSet(); - $messageContent = 'Hello World'; - $signer = new Swift_Signers_DKIMSigner(file_get_contents(dirname(dirname(dirname(__DIR__))).'/_samples/dkim/dkim.test.priv'), 'dummy.nxdomain.be', 'dummySelector'); - $signer->setHashAlgorithm('rsa-sha256'); - $signer->setSignatureTimestamp('1299879181'); - $signer->setHeaderCanon('relaxed'); - $altered = $signer->getAlteredHeaders(); - $this->assertEquals(['DKIM-Signature'], $altered); - $signer->reset(); - $signer->setHeaders($headerSet); - $this->assertFalse($headerSet->has('DKIM-Signature')); - $signer->startBody(); - $signer->write($messageContent); - $signer->endBody(); - $signer->addSignature($headerSet); - $this->assertTrue($headerSet->has('DKIM-Signature')); - $dkim = $headerSet->getAll('DKIM-Signature'); - $sig = reset($dkim); - $this->assertEquals($sig->getValue(), 'v=1; a=rsa-sha256; bh=f+W+hu8dIhf2VAni89o8lF6WKTXi7nViA4RrMdpD5/U=; d=dummy.nxdomain.be; h=; i=@dummy.nxdomain.be; s=dummySelector; c=relaxed; t=1299879181; b=dLPJNec5v81oelyzGOY0qPqTlGnQeNfUNBOrV/JKbStr3NqWGI9jH4JAe2YvO2V32lfPNoby1 4MMzZ6EPkaZkZDDSPa+53YbCPQAlqiD9QZZIUe2UNM33HN8yAMgiWEF5aP7MbQnxeVZMfVLEl 9S8qOImu+K5JZqhQQTL0dgLwA='); - } - - // Simple/Relaxed Hash Signing - public function testSigningSimpleRelaxed256() - { - $headerSet = $this->createHeaderSet(); - $messageContent = 'Hello World'; - $signer = new Swift_Signers_DKIMSigner(file_get_contents(dirname(dirname(dirname(__DIR__))).'/_samples/dkim/dkim.test.priv'), 'dummy.nxdomain.be', 'dummySelector'); - $signer->setHashAlgorithm('rsa-sha256'); - $signer->setSignatureTimestamp('1299879181'); - $signer->setBodyCanon('relaxed'); - $altered = $signer->getAlteredHeaders(); - $this->assertEquals(['DKIM-Signature'], $altered); - $signer->reset(); - $signer->setHeaders($headerSet); - $this->assertFalse($headerSet->has('DKIM-Signature')); - $signer->startBody(); - $signer->write($messageContent); - $signer->endBody(); - $signer->addSignature($headerSet); - $this->assertTrue($headerSet->has('DKIM-Signature')); - $dkim = $headerSet->getAll('DKIM-Signature'); - $sig = reset($dkim); - $this->assertEquals($sig->getValue(), 'v=1; a=rsa-sha256; bh=f+W+hu8dIhf2VAni89o8lF6WKTXi7nViA4RrMdpD5/U=; d=dummy.nxdomain.be; h=; i=@dummy.nxdomain.be; s=dummySelector; c=simple/relaxed; t=1299879181; b=M5eomH/zamyzix9kOes+6YLzQZxuJdBP4x3nP9zF2N26eMLG2/cBKbnNyqiOTDhJdYfWPbLIa 1CWnjST0j5p4CpeOkGYuiE+M4TWEZwhRmRWootlPO3Ii6XpbBJKFk1o9zviS7OmXblUUE4aqb yRSIMDhtLdCK5GlaCneFLN7RQ='); - } - - private function createHeaderSet() - { - $cache = new Swift_KeyCache_ArrayKeyCache(new Swift_KeyCache_SimpleKeyCacheInputStream()); - $factory = new Swift_CharacterReaderFactory_SimpleCharacterReaderFactory(); - $contentEncoder = new Swift_Mime_ContentEncoder_Base64ContentEncoder(); - - $headerEncoder = new Swift_Mime_HeaderEncoder_QpHeaderEncoder(new Swift_CharacterStream_ArrayCharacterStream($factory, 'utf-8')); - $paramEncoder = new Swift_Encoder_Rfc2231Encoder(new Swift_CharacterStream_ArrayCharacterStream($factory, 'utf-8')); - $emailValidator = new EmailValidator(); - $headers = new Swift_Mime_SimpleHeaderSet(new Swift_Mime_SimpleHeaderFactory($headerEncoder, $paramEncoder, $emailValidator)); - - return $headers; - } - - /** - * @return Swift_Mime_Headers - */ - private function createHeaders() - { - $x = 0; - $cache = new Swift_KeyCache_ArrayKeyCache(new Swift_KeyCache_SimpleKeyCacheInputStream()); - $factory = new Swift_CharacterReaderFactory_SimpleCharacterReaderFactory(); - $contentEncoder = new Swift_Mime_ContentEncoder_Base64ContentEncoder(); - - $headerEncoder = new Swift_Mime_HeaderEncoder_QpHeaderEncoder(new Swift_CharacterStream_ArrayCharacterStream($factory, 'utf-8')); - $paramEncoder = new Swift_Encoder_Rfc2231Encoder(new Swift_CharacterStream_ArrayCharacterStream($factory, 'utf-8')); - $emailValidator = new EmailValidator(); - $headerFactory = new Swift_Mime_SimpleHeaderFactory($headerEncoder, $paramEncoder, $emailValidator); - $headers = $this->getMockery('Swift_Mime_SimpleHeaderSet'); - - $headers->shouldReceive('listAll') - ->zeroOrMoreTimes() - ->andReturn(['From', 'To', 'Date', 'Subject']); - $headers->shouldReceive('has') - ->zeroOrMoreTimes() - ->with('From') - ->andReturn(true); - $headers->shouldReceive('getAll') - ->zeroOrMoreTimes() - ->with('From') - ->andReturn([$headerFactory->createMailboxHeader('From', 'test@test.test')]); - $headers->shouldReceive('has') - ->zeroOrMoreTimes() - ->with('To') - ->andReturn(true); - $headers->shouldReceive('getAll') - ->zeroOrMoreTimes() - ->with('To') - ->andReturn([$headerFactory->createMailboxHeader('To', 'test@test.test')]); - $headers->shouldReceive('has') - ->zeroOrMoreTimes() - ->with('Date') - ->andReturn(true); - $headers->shouldReceive('getAll') - ->zeroOrMoreTimes() - ->with('Date') - ->andReturn([$headerFactory->createTextHeader('Date', 'Fri, 11 Mar 2011 20:56:12 +0000 (GMT)')]); - $headers->shouldReceive('has') - ->zeroOrMoreTimes() - ->with('Subject') - ->andReturn(true); - $headers->shouldReceive('getAll') - ->zeroOrMoreTimes() - ->with('Subject') - ->andReturn([$headerFactory->createTextHeader('Subject', 'Foo Bar Text Message')]); - $headers->shouldReceive('addTextHeader') - ->zeroOrMoreTimes() - ->with('DKIM-Signature', \Mockery::any()) - ->andReturn(true); - $headers->shouldReceive('getAll') - ->zeroOrMoreTimes() - ->with('DKIM-Signature') - ->andReturn([$headerFactory->createTextHeader('DKIM-Signature', 'Foo Bar Text Message')]); - - return $headers; - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Signers/OpenDKIMSignerTest.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Signers/OpenDKIMSignerTest.php deleted file mode 100644 index ce99bc638c..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Signers/OpenDKIMSignerTest.php +++ /dev/null @@ -1,45 +0,0 @@ -markTestSkipped( - 'Need OpenDKIM extension run these tests.' - ); - } - } - - public function testBasicSigningHeaderManipulation() - { - } - - // Default Signing - public function testSigningDefaults() - { - } - - // SHA256 Signing - public function testSigning256() - { - } - - // Relaxed/Relaxed Hash Signing - public function testSigningRelaxedRelaxed256() - { - } - - // Relaxed/Simple Hash Signing - public function testSigningRelaxedSimple256() - { - } - - // Simple/Relaxed Hash Signing - public function testSigningSimpleRelaxed256() - { - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Signers/SMimeSignerTest.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Signers/SMimeSignerTest.php deleted file mode 100644 index 932e486286..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Signers/SMimeSignerTest.php +++ /dev/null @@ -1,653 +0,0 @@ -replacementFactory = Swift_DependencyContainer::getInstance() - ->lookup('transport.replacementfactory'); - - $this->samplesDir = str_replace('\\', '/', realpath(__DIR__.'/../../../_samples/')).'/'; - } - - public function testUnSignedMessage() - { - $message = (new Swift_Message('Wonderful Subject')) - ->setFrom(['john@doe.com' => 'John Doe']) - ->setTo(['receiver@domain.org', 'other@domain.org' => 'A name']) - ->setBody('Here is the message itself'); - - $this->assertEquals('Here is the message itself', $message->getBody()); - } - - public function testSignedMessage() - { - $message = (new Swift_Message('Wonderful Subject')) - ->setFrom(['john@doe.com' => 'John Doe']) - ->setTo(['receiver@domain.org', 'other@domain.org' => 'A name']) - ->setBody('Here is the message itself'); - - $signer = new Swift_Signers_SMimeSigner(); - $signer->setSignCertificate($this->samplesDir.'smime/sign.crt', $this->samplesDir.'smime/sign.key'); - $message->attachSigner($signer); - - $messageStream = $this->newFilteredStream(); - $message->toByteStream($messageStream); - $messageStream->commit(); - - $entityString = $messageStream->getContent(); - $headers = self::getHeadersOfMessage($entityString); - - if (!($boundary = $this->getBoundary($headers['content-type']))) { - return false; - } - - $expectedBody = <<assertValidVerify($expectedBody, $messageStream); - unset($messageStream); - } - - public function testSignedMessageWithFullyWrappedMessage() - { - $message = (new Swift_Message('Middle-out compression secrets')) - ->setFrom(['richard@piedpiper.com' => 'Richard Hendricks']) - ->setTo(['jared@piedpiper.com' => 'Jared Dunn']) - ->setBody('Here goes the entire algorithm...'); - - $signer = new Swift_Signers_SMimeSigner(); - $signer->setSignCertificate($this->samplesDir.'smime/sign.crt', $this->samplesDir.'smime/sign.key'); - - // Tell the signer to wrap the full MIME message - $signer->setWrapFullMessage(true); - $message->attachSigner($signer); - - $messageStream = $this->newFilteredStream(); - $message->toByteStream($messageStream); - $messageStream->commit(); - - $entityString = $messageStream->getContent(); - $headers = self::getHeadersOfMessage($entityString); - - if (!($boundary = $this->getBoundary($headers['content-type']))) { - return false; - } - - $expectedBody = << -Date: .* -Subject: Middle-out compression secrets -From: Richard Hendricks -To: Jared Dunn -MIME-Version: 1.0 -Content-Type: text/plain; charset=utf-8 -Content-Transfer-Encoding: quoted-printable - -Here goes the entire algorithm... ---$boundary -Content-Type: application/(x\-)?pkcs7-signature; name="smime\.p7s" -Content-Transfer-Encoding: base64 -Content-Disposition: attachment; filename="smime\.p7s" - -(?:^[a-zA-Z0-9\/\\r\\n+]*={0,2}) - ---$boundary-- -OEL; - $this->assertValidVerify($expectedBody, $messageStream); - unset($messageStream); - } - - public function testSignedMessageExtraCerts() - { - $message = (new Swift_Message('Wonderful Subject')) - ->setFrom(['john@doe.com' => 'John Doe']) - ->setTo(['receiver@domain.org', 'other@domain.org' => 'A name']) - ->setBody('Here is the message itself'); - - $signer = new Swift_Signers_SMimeSigner(); - $signer->setSignCertificate($this->samplesDir.'smime/sign2.crt', $this->samplesDir.'smime/sign2.key', PKCS7_DETACHED, $this->samplesDir.'smime/intermediate.crt'); - $message->attachSigner($signer); - - $messageStream = $this->newFilteredStream(); - $message->toByteStream($messageStream); - $messageStream->commit(); - - $entityString = $messageStream->getContent(); - $headers = self::getHeadersOfMessage($entityString); - - if (!($boundary = $this->getBoundary($headers['content-type']))) { - return false; - } - - $expectedBody = <<assertValidVerify($expectedBody, $messageStream); - unset($messageStream); - } - - public function testSignedMessageBinary() - { - $message = (new Swift_Message('Wonderful Subject')) - ->setFrom(['john@doe.com' => 'John Doe']) - ->setTo(['receiver@domain.org', 'other@domain.org' => 'A name']) - ->setBody('Here is the message itself'); - - $signer = new Swift_Signers_SMimeSigner(); - $signer->setSignCertificate($this->samplesDir.'smime/sign.crt', $this->samplesDir.'smime/sign.key', PKCS7_BINARY); - $message->attachSigner($signer); - - $messageStream = $this->newFilteredStream(); - $message->toByteStream($messageStream); - $messageStream->commit(); - - $entityString = $messageStream->getContent(); - $headers = self::getHeadersOfMessage($entityString); - - if (!preg_match('#^application/(x\-)?pkcs7-mime; smime-type=signed\-data;#', $headers['content-type'])) { - $this->fail('Content-type does not match.'); - - return false; - } - - $this->assertEquals($headers['content-transfer-encoding'], 'base64'); - $this->assertEquals($headers['content-disposition'], 'attachment; filename="smime.p7m"'); - - $expectedBody = '(?:^[a-zA-Z0-9\/\\r\\n+]*={0,2})'; - - $messageStreamClean = $this->newFilteredStream(); - - $this->assertValidVerify($expectedBody, $messageStream); - unset($messageStreamClean, $messageStream); - } - - public function testSignedMessageWithAttachments() - { - $message = (new Swift_Message('Wonderful Subject')) - ->setFrom(['john@doe.com' => 'John Doe']) - ->setTo(['receiver@domain.org', 'other@domain.org' => 'A name']) - ->setBody('Here is the message itself'); - - $message->attach(Swift_Attachment::fromPath($this->samplesDir.'/files/textfile.zip')); - - $signer = new Swift_Signers_SMimeSigner(); - $signer->setSignCertificate($this->samplesDir.'smime/sign.crt', $this->samplesDir.'smime/sign.key'); - $message->attachSigner($signer); - - $messageStream = $this->newFilteredStream(); - $message->toByteStream($messageStream); - $messageStream->commit(); - - $entityString = $messageStream->getContent(); - $headers = self::getHeadersOfMessage($entityString); - - if (!($boundary = $this->getBoundary($headers['content-type']))) { - return false; - } - - $expectedBody = <<assertValidVerify($expectedBody, $messageStream); - unset($messageStream); - } - - public function testEncryptedMessage() - { - $message = (new Swift_Message('Wonderful Subject')) - ->setFrom(['john@doe.com' => 'John Doe']) - ->setTo(['receiver@domain.org', 'other@domain.org' => 'A name']) - ->setBody('Here is the message itself'); - - $originalMessage = $this->cleanMessage($message->toString()); - - $signer = new Swift_Signers_SMimeSigner(); - $signer->setEncryptCertificate($this->samplesDir.'smime/encrypt.crt'); - $message->attachSigner($signer); - - $messageStream = new Swift_ByteStream_TemporaryFileByteStream(); - $message->toByteStream($messageStream); - $messageStream->commit(); - - $entityString = $messageStream->getContent(); - $headers = self::getHeadersOfMessage($entityString); - - if (!preg_match('#^application/(x\-)?pkcs7-mime; smime-type=enveloped\-data;#', $headers['content-type'])) { - $this->fail('Content-type does not match.'); - - return false; - } - - $expectedBody = '(?:^[a-zA-Z0-9\/\\r\\n+]*={0,2})'; - - $decryptedMessageStream = new Swift_ByteStream_TemporaryFileByteStream(); - - if (!openssl_pkcs7_decrypt($messageStream->getPath(), $decryptedMessageStream->getPath(), 'file://'.$this->samplesDir.'smime/encrypt.crt', ['file://'.$this->samplesDir.'smime/encrypt.key', 'swift'])) { - $this->fail(sprintf('Decrypt of the message failed. Internal error "%s".', openssl_error_string())); - } - - $this->assertEquals($originalMessage, $decryptedMessageStream->getContent()); - unset($decryptedMessageStream, $messageStream); - } - - public function testEncryptedMessageWithFullyWrappedMessage() - { - $message = (new Swift_Message('Middle-out compression secrets')) - ->setFrom(['richard@piedpiper.com' => 'Richard Hendricks']) - ->setTo(['jared@piedpiper.com' => 'Jared Dunn']) - ->setBody('Here goes the entire algorithm...'); - - $originalMessage = $message->toString(); - - $signer = new Swift_Signers_SMimeSigner(); - $signer->setEncryptCertificate($this->samplesDir.'smime/encrypt.crt'); - $signer->setWrapFullMessage(true); - $message->attachSigner($signer); - - $messageStream = new Swift_ByteStream_TemporaryFileByteStream(); - $message->toByteStream($messageStream); - $messageStream->commit(); - - $entityString = $messageStream->getContent(); - $headers = self::getHeadersOfMessage($entityString); - - if (!preg_match('#^application/(x\-)?pkcs7-mime; smime-type=enveloped\-data;#', $headers['content-type'])) { - $this->fail('Content-type does not match.'); - - return false; - } - - $expectedBody = '(?:^[a-zA-Z0-9\/\\r\\n+]*={0,2})'; - - $decryptedMessageStream = new Swift_ByteStream_TemporaryFileByteStream(); - - if (!openssl_pkcs7_decrypt($messageStream->getPath(), $decryptedMessageStream->getPath(), 'file://'.$this->samplesDir.'smime/encrypt.crt', ['file://'.$this->samplesDir.'smime/encrypt.key', 'swift'])) { - $this->fail(sprintf('Decrypt of the message failed. Internal error "%s".', openssl_error_string())); - } - - $decryptedMessage = $decryptedMessageStream->getContent(); - $decryptedHeaders = self::getHeadersOfMessage($decryptedMessage); - $this->assertEquals('message/rfc822; charset=utf-8', $decryptedHeaders['content-type']); - $this->assertEquals('7bit', $decryptedHeaders['content-transfer-encoding']); - - $decryptedMessageBody = self::getBodyOfMessage($decryptedMessage); - $this->assertEquals($originalMessage, $decryptedMessageBody); - unset($decryptedMessageStream, $messageStream); - } - - public function testEncryptedMessageWithMultipleCerts() - { - $message = (new Swift_Message('Wonderful Subject')) - ->setFrom(['john@doe.com' => 'John Doe']) - ->setTo(['receiver@domain.org', 'other@domain.org' => 'A name']) - ->setBody('Here is the message itself'); - - $originalMessage = $this->cleanMessage($message->toString()); - - $signer = new Swift_Signers_SMimeSigner(); - $signer->setEncryptCertificate([$this->samplesDir.'smime/encrypt.crt', $this->samplesDir.'smime/encrypt2.crt']); - $message->attachSigner($signer); - - $messageStream = new Swift_ByteStream_TemporaryFileByteStream(); - $message->toByteStream($messageStream); - $messageStream->commit(); - - $entityString = $messageStream->getContent(); - $headers = self::getHeadersOfMessage($entityString); - - if (!preg_match('#^application/(x\-)?pkcs7-mime; smime-type=enveloped\-data;#', $headers['content-type'])) { - $this->fail('Content-type does not match.'); - - return false; - } - - $expectedBody = '(?:^[a-zA-Z0-9\/\\r\\n+]*={0,2})'; - - $decryptedMessageStream = new Swift_ByteStream_TemporaryFileByteStream(); - - if (!openssl_pkcs7_decrypt($messageStream->getPath(), $decryptedMessageStream->getPath(), 'file://'.$this->samplesDir.'smime/encrypt.crt', ['file://'.$this->samplesDir.'smime/encrypt.key', 'swift'])) { - $this->fail(sprintf('Decrypt of the message failed. Internal error "%s".', openssl_error_string())); - } - - $this->assertEquals($originalMessage, $decryptedMessageStream->getContent()); - unset($decryptedMessageStream); - - $decryptedMessageStream = new Swift_ByteStream_TemporaryFileByteStream(); - - if (!openssl_pkcs7_decrypt($messageStream->getPath(), $decryptedMessageStream->getPath(), 'file://'.$this->samplesDir.'smime/encrypt2.crt', ['file://'.$this->samplesDir.'smime/encrypt2.key', 'swift'])) { - $this->fail(sprintf('Decrypt of the message failed. Internal error "%s".', openssl_error_string())); - } - - $this->assertEquals($originalMessage, $decryptedMessageStream->getContent()); - unset($decryptedMessageStream, $messageStream); - } - - public function testSignThenEncryptedMessage() - { - $message = (new Swift_Message('Wonderful Subject')) - ->setFrom(['john@doe.com' => 'John Doe']) - ->setTo(['receiver@domain.org', 'other@domain.org' => 'A name']) - ->setBody('Here is the message itself'); - - $signer = new Swift_Signers_SMimeSigner(); - $signer->setSignCertificate($this->samplesDir.'smime/sign.crt', $this->samplesDir.'smime/sign.key'); - $signer->setEncryptCertificate($this->samplesDir.'smime/encrypt.crt'); - $message->attachSigner($signer); - - $messageStream = new Swift_ByteStream_TemporaryFileByteStream(); - $message->toByteStream($messageStream); - $messageStream->commit(); - - $entityString = $messageStream->getContent(); - $headers = self::getHeadersOfMessage($entityString); - - if (!preg_match('#^application/(x\-)?pkcs7-mime; smime-type=enveloped\-data;#', $headers['content-type'])) { - $this->fail('Content-type does not match.'); - - return false; - } - - $expectedBody = '(?:^[a-zA-Z0-9\/\\r\\n+]*={0,2})'; - - $decryptedMessageStream = new Swift_ByteStream_TemporaryFileByteStream(); - - if (!openssl_pkcs7_decrypt($messageStream->getPath(), $decryptedMessageStream->getPath(), 'file://'.$this->samplesDir.'smime/encrypt.crt', ['file://'.$this->samplesDir.'smime/encrypt.key', 'swift'])) { - $this->fail(sprintf('Decrypt of the message failed. Internal error "%s".', openssl_error_string())); - } - - $entityString = $decryptedMessageStream->getContent(); - $headers = self::getHeadersOfMessage($entityString); - - if (!($boundary = $this->getBoundary($headers['content-type']))) { - return false; - } - - $expectedBody = <<assertValidVerify($expectedBody, $decryptedMessageStream)) { - return false; - } - - unset($decryptedMessageStream, $messageStream); - } - - public function testEncryptThenSignMessage() - { - $message = (new Swift_Message('Wonderful Subject')) - ->setFrom(['john@doe.com' => 'John Doe']) - ->setTo(['receiver@domain.org', 'other@domain.org' => 'A name']) - ->setBody('Here is the message itself'); - - $originalMessage = $message->toString(); - - $signer = new Swift_Signers_SMimeSigner(); - $signer->setSignCertificate($this->samplesDir.'smime/sign.crt', $this->samplesDir.'smime/sign.key'); - $signer->setEncryptCertificate($this->samplesDir.'smime/encrypt.crt'); - $signer->setSignThenEncrypt(false); - $message->attachSigner($signer); - - $messageStream = $this->newFilteredStream(); - $message->toByteStream($messageStream); - $messageStream->commit(); - - $entityString = $messageStream->getContent(); - $headers = self::getHeadersOfMessage($entityString); - - if (!($boundary = $this->getBoundary($headers['content-type']))) { - return false; - } - - $expectedBody = <<Content-Type: application/(x\-)?pkcs7-mime; smime-type=enveloped-data; - name="smime\.p7m"; charset=utf-8 -Content-Transfer-Encoding: base64 -Content-Disposition: attachment; filename="smime\.p7m" - -(?:^[a-zA-Z0-9\/\\r\\n+]*={0,2}) - - -)--$boundary -Content-Type: application/(x\-)?pkcs7-signature; name="smime\.p7s" -Content-Transfer-Encoding: base64 -Content-Disposition: attachment; filename="smime\.p7s" - -(?:^[a-zA-Z0-9\/\\r\\n+]*={0,2}) - ---$boundary-- -OEL; - - if (!$this->assertValidVerify($expectedBody, $messageStream)) { - return false; - } - - $expectedBody = str_replace("\n", "\r\n", $expectedBody); - if (!preg_match('%'.$expectedBody.'*%m', $entityString, $entities)) { - $this->fail('Failed regex match.'); - - return false; - } - - $messageStreamClean = new Swift_ByteStream_TemporaryFileByteStream(); - $messageStreamClean->write($entities['encrypted_message']); - - $decryptedMessageStream = new Swift_ByteStream_TemporaryFileByteStream(); - - if (!openssl_pkcs7_decrypt($messageStreamClean->getPath(), $decryptedMessageStream->getPath(), 'file://'.$this->samplesDir.'smime/encrypt.crt', ['file://'.$this->samplesDir.'smime/encrypt.key', 'swift'])) { - $this->fail(sprintf('Decrypt of the message failed. Internal error "%s".', openssl_error_string())); - } - - $this->assertEquals($originalMessage, $decryptedMessageStream->getContent()); - unset($messageStreamClean, $messageStream, $decryptedMessageStream); - } - - protected function assertValidVerify($expected, Swift_ByteStream_TemporaryFileByteStream $messageStream) - { - $actual = $messageStream->getContent(); - - // File is UNIX encoded so convert them to correct line ending - $expected = str_replace("\n", "\r\n", $expected); - - $actual = self::getBodyOfMessage($actual); - if (!$this->assertRegExp('%^'.$expected.'$\s*%m', $actual)) { - return false; - } - - $opensslOutput = new Swift_ByteStream_TemporaryFileByteStream(); - $verify = openssl_pkcs7_verify($messageStream->getPath(), null, $opensslOutput->getPath(), [$this->samplesDir.'smime/ca.crt']); - - if (false === $verify) { - $this->fail('Verification of the message failed.'); - - return false; - } elseif (-1 === $verify) { - $this->fail(sprintf('Verification of the message failed. Internal error "%s".', openssl_error_string())); - - return false; - } - - return true; - } - - protected function getBoundary($contentType) - { - if (!preg_match('/boundary=("[^"]+"|(?:[^\s]+|$))/is', $contentType, $contentTypeData)) { - $this->fail('Failed to find Boundary parameter'); - - return false; - } - - return trim($contentTypeData[1], '"'); - } - - protected function newFilteredStream() - { - $messageStream = new Swift_ByteStream_TemporaryFileByteStream(); - $messageStream->addFilter($this->replacementFactory->createFilter("\r\n", "\n"), 'CRLF to LF'); - $messageStream->addFilter($this->replacementFactory->createFilter("\n", "\r\n"), 'LF to CRLF'); - - return $messageStream; - } - - protected static function getBodyOfMessage($message) - { - return trim(substr($message, strpos($message, "\r\n\r\n"))); - } - - /** - * Strips of the sender headers and Mime-Version. - */ - protected function cleanMessage($content) - { - $newContent = ''; - - $headers = self::getHeadersOfMessage($content); - foreach ($headers as $headerName => $value) { - if (!in_array($headerName, ['content-type', 'content-transfer-encoding', 'content-disposition'])) { - continue; - } - - $headerName = explode('-', $headerName); - $headerName = array_map('ucfirst', $headerName); - $headerName = implode('-', $headerName); - - if (strlen($value) > 62) { - $value = wordwrap($value, 62, "\n "); - } - - $newContent .= "$headerName: $value\r\n"; - } - - return $newContent."\r\n".self::getBodyOfMessage($content); - } - - /** - * Returns the headers of the message. - * - * Header-names are lowercase. - * - * @param string $message - * - * @return array - */ - protected static function getHeadersOfMessage($message) - { - $headersPosEnd = strpos($message, "\r\n\r\n"); - $headerData = trim(substr($message, 0, $headersPosEnd)); - $headerLines = explode("\r\n", $headerData); - $headers = []; - - if (false === $headerLines) { - return $headers; - } - - // Transform header lines into an associative array - $currentHeaderName = ''; - foreach ($headerLines as $headerLine) { - // Handle headers that span multiple lines - if (false === strpos($headerLine, ':')) { - $headers[$currentHeaderName] .= ' '.trim($headerLine); - continue; - } - - $header = explode(':', $headerLine, 2); - $currentHeaderName = strtolower($header[0]); - $headers[$currentHeaderName] = trim($header[1]); - } - - return $headers; - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/StreamFilters/ByteArrayReplacementFilterTest.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/StreamFilters/ByteArrayReplacementFilterTest.php deleted file mode 100644 index 3c812242ae..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/StreamFilters/ByteArrayReplacementFilterTest.php +++ /dev/null @@ -1,129 +0,0 @@ -createFilter([0x61, 0x62], [0x63, 0x64]); - $this->assertEquals( - [0x59, 0x60, 0x63, 0x64, 0x65], - $filter->filter([0x59, 0x60, 0x61, 0x62, 0x65]) - ); - } - - public function testShouldBufferReturnsTrueIfPartialMatchAtEndOfBuffer() - { - $filter = $this->createFilter([0x61, 0x62], [0x63, 0x64]); - $this->assertTrue($filter->shouldBuffer([0x59, 0x60, 0x61]), - '%s: Filter should buffer since 0x61 0x62 is the needle and the ending '. - '0x61 could be from 0x61 0x62' - ); - } - - public function testFilterCanMakeMultipleReplacements() - { - $filter = $this->createFilter([[0x61], [0x62]], [0x63]); - $this->assertEquals( - [0x60, 0x63, 0x60, 0x63, 0x60], - $filter->filter([0x60, 0x61, 0x60, 0x62, 0x60]) - ); - } - - public function testMultipleReplacementsCanBeDifferent() - { - $filter = $this->createFilter([[0x61], [0x62]], [[0x63], [0x64]]); - $this->assertEquals( - [0x60, 0x63, 0x60, 0x64, 0x60], - $filter->filter([0x60, 0x61, 0x60, 0x62, 0x60]) - ); - } - - public function testShouldBufferReturnsFalseIfPartialMatchNotAtEndOfString() - { - $filter = $this->createFilter([0x0D, 0x0A], [0x0A]); - $this->assertFalse($filter->shouldBuffer([0x61, 0x62, 0x0D, 0x0A, 0x63]), - '%s: Filter should not buffer since x0Dx0A is the needle and is not at EOF' - ); - } - - public function testShouldBufferReturnsTrueIfAnyOfMultipleMatchesAtEndOfString() - { - $filter = $this->createFilter([[0x61, 0x62], [0x63]], [0x64]); - $this->assertTrue($filter->shouldBuffer([0x59, 0x60, 0x61]), - '%s: Filter should buffer since 0x61 0x62 is a needle and the ending '. - '0x61 could be from 0x61 0x62' - ); - } - - public function testConvertingAllLineEndingsToCRLFWhenInputIsLF() - { - $filter = $this->createFilter( - [[0x0D, 0x0A], [0x0D], [0x0A]], - [[0x0A], [0x0A], [0x0D, 0x0A]] - ); - - $this->assertEquals( - [0x60, 0x0D, 0x0A, 0x61, 0x0D, 0x0A, 0x62, 0x0D, 0x0A, 0x63], - $filter->filter([0x60, 0x0A, 0x61, 0x0A, 0x62, 0x0A, 0x63]) - ); - } - - public function testConvertingAllLineEndingsToCRLFWhenInputIsCR() - { - $filter = $this->createFilter( - [[0x0D, 0x0A], [0x0D], [0x0A]], - [[0x0A], [0x0A], [0x0D, 0x0A]] - ); - - $this->assertEquals( - [0x60, 0x0D, 0x0A, 0x61, 0x0D, 0x0A, 0x62, 0x0D, 0x0A, 0x63], - $filter->filter([0x60, 0x0D, 0x61, 0x0D, 0x62, 0x0D, 0x63]) - ); - } - - public function testConvertingAllLineEndingsToCRLFWhenInputIsCRLF() - { - $filter = $this->createFilter( - [[0x0D, 0x0A], [0x0D], [0x0A]], - [[0x0A], [0x0A], [0x0D, 0x0A]] - ); - - $this->assertEquals( - [0x60, 0x0D, 0x0A, 0x61, 0x0D, 0x0A, 0x62, 0x0D, 0x0A, 0x63], - $filter->filter([0x60, 0x0D, 0x0A, 0x61, 0x0D, 0x0A, 0x62, 0x0D, 0x0A, 0x63]) - ); - } - - public function testConvertingAllLineEndingsToCRLFWhenInputIsLFCR() - { - $filter = $this->createFilter( - [[0x0D, 0x0A], [0x0D], [0x0A]], - [[0x0A], [0x0A], [0x0D, 0x0A]] - ); - - $this->assertEquals( - [0x60, 0x0D, 0x0A, 0x0D, 0x0A, 0x61, 0x0D, 0x0A, 0x0D, 0x0A, 0x62, 0x0D, 0x0A, 0x0D, 0x0A, 0x63], - $filter->filter([0x60, 0x0A, 0x0D, 0x61, 0x0A, 0x0D, 0x62, 0x0A, 0x0D, 0x63]) - ); - } - - public function testConvertingAllLineEndingsToCRLFWhenInputContainsLFLF() - { - //Lighthouse Bug #23 - - $filter = $this->createFilter( - [[0x0D, 0x0A], [0x0D], [0x0A]], - [[0x0A], [0x0A], [0x0D, 0x0A]] - ); - - $this->assertEquals( - [0x60, 0x0D, 0x0A, 0x0D, 0x0A, 0x61, 0x0D, 0x0A, 0x0D, 0x0A, 0x62, 0x0D, 0x0A, 0x0D, 0x0A, 0x63], - $filter->filter([0x60, 0x0A, 0x0A, 0x61, 0x0A, 0x0A, 0x62, 0x0A, 0x0A, 0x63]) - ); - } - - private function createFilter($search, $replace) - { - return new Swift_StreamFilters_ByteArrayReplacementFilter($search, $replace); - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/StreamFilters/StringReplacementFilterFactoryTest.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/StreamFilters/StringReplacementFilterFactoryTest.php deleted file mode 100644 index 514829f620..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/StreamFilters/StringReplacementFilterFactoryTest.php +++ /dev/null @@ -1,36 +0,0 @@ -createFactory(); - $this->assertInstanceOf( - 'Swift_StreamFilters_StringReplacementFilter', - $factory->createFilter('a', 'b') - ); - } - - public function testSameInstancesAreCached() - { - $factory = $this->createFactory(); - $filter1 = $factory->createFilter('a', 'b'); - $filter2 = $factory->createFilter('a', 'b'); - $this->assertSame($filter1, $filter2, '%s: Instances should be cached'); - } - - public function testDifferingInstancesAreNotCached() - { - $factory = $this->createFactory(); - $filter1 = $factory->createFilter('a', 'b'); - $filter2 = $factory->createFilter('a', 'c'); - $this->assertNotEquals($filter1, $filter2, - '%s: Differing instances should not be cached' - ); - } - - private function createFactory() - { - return new Swift_StreamFilters_StringReplacementFilterFactory(); - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/StreamFilters/StringReplacementFilterTest.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/StreamFilters/StringReplacementFilterTest.php deleted file mode 100644 index 1a5f4dca72..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/StreamFilters/StringReplacementFilterTest.php +++ /dev/null @@ -1,59 +0,0 @@ -createFilter('foo', 'bar'); - $this->assertEquals('XbarYbarZ', $filter->filter('XfooYfooZ')); - } - - public function testShouldBufferReturnsTrueIfPartialMatchAtEndOfBuffer() - { - $filter = $this->createFilter('foo', 'bar'); - $this->assertTrue($filter->shouldBuffer('XfooYf'), - '%s: Filter should buffer since "foo" is the needle and the ending '. - '"f" could be from "foo"' - ); - } - - public function testFilterCanMakeMultipleReplacements() - { - $filter = $this->createFilter(['a', 'b'], 'foo'); - $this->assertEquals('XfooYfooZ', $filter->filter('XaYbZ')); - } - - public function testMultipleReplacementsCanBeDifferent() - { - $filter = $this->createFilter(['a', 'b'], ['foo', 'zip']); - $this->assertEquals('XfooYzipZ', $filter->filter('XaYbZ')); - } - - public function testShouldBufferReturnsFalseIfPartialMatchNotAtEndOfString() - { - $filter = $this->createFilter("\r\n", "\n"); - $this->assertFalse($filter->shouldBuffer("foo\r\nbar"), - '%s: Filter should not buffer since x0Dx0A is the needle and is not at EOF' - ); - } - - public function testShouldBufferReturnsTrueIfAnyOfMultipleMatchesAtEndOfString() - { - $filter = $this->createFilter(['foo', 'zip'], 'bar'); - $this->assertTrue($filter->shouldBuffer('XfooYzi'), - '%s: Filter should buffer since "zip" is a needle and the ending '. - '"zi" could be from "zip"' - ); - } - - public function testShouldBufferReturnsFalseOnEmptyBuffer() - { - $filter = $this->createFilter("\r\n", "\n"); - $this->assertFalse($filter->shouldBuffer('')); - } - - private function createFilter($search, $replace) - { - return new Swift_StreamFilters_StringReplacementFilter($search, $replace); - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Transport/AbstractSmtpEventSupportTest.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Transport/AbstractSmtpEventSupportTest.php deleted file mode 100644 index 896171dcd5..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Transport/AbstractSmtpEventSupportTest.php +++ /dev/null @@ -1,558 +0,0 @@ -getBuffer(); - $dispatcher = $this->createEventDispatcher(false); - $listener = $this->getMockery('Swift_Events_EventListener'); - $smtp = $this->getTransport($buf, $dispatcher); - $dispatcher->shouldReceive('bindEventListener') - ->once() - ->with($listener); - - $smtp->registerPlugin($listener); - } - - public function testSendingDispatchesBeforeSendEvent() - { - $buf = $this->getBuffer(); - $dispatcher = $this->createEventDispatcher(false); - $message = $this->createMessage(); - $smtp = $this->getTransport($buf, $dispatcher); - $evt = $this->getMockery('Swift_Events_SendEvent')->shouldIgnoreMissing(); - - $message->shouldReceive('getFrom') - ->zeroOrMoreTimes() - ->andReturn(['chris@swiftmailer.org' => null]); - $message->shouldReceive('getTo') - ->zeroOrMoreTimes() - ->andReturn(['mark@swiftmailer.org' => 'Mark']); - $dispatcher->shouldReceive('createSendEvent') - ->once() - ->andReturn($evt); - $dispatcher->shouldReceive('dispatchEvent') - ->once() - ->with($evt, 'beforeSendPerformed'); - $dispatcher->shouldReceive('dispatchEvent') - ->zeroOrMoreTimes(); - $evt->shouldReceive('bubbleCancelled') - ->zeroOrMoreTimes() - ->andReturn(false); - - $this->finishBuffer($buf); - $smtp->start(); - $this->assertEquals(1, $smtp->send($message)); - } - - public function testSendingDispatchesSendEvent() - { - $buf = $this->getBuffer(); - $dispatcher = $this->createEventDispatcher(false); - $message = $this->createMessage(); - $smtp = $this->getTransport($buf, $dispatcher); - $evt = $this->getMockery('Swift_Events_SendEvent')->shouldIgnoreMissing(); - - $message->shouldReceive('getFrom') - ->zeroOrMoreTimes() - ->andReturn(['chris@swiftmailer.org' => null]); - $message->shouldReceive('getTo') - ->zeroOrMoreTimes() - ->andReturn(['mark@swiftmailer.org' => 'Mark']); - $dispatcher->shouldReceive('createSendEvent') - ->once() - ->andReturn($evt); - $dispatcher->shouldReceive('dispatchEvent') - ->once() - ->with($evt, 'sendPerformed'); - $dispatcher->shouldReceive('dispatchEvent') - ->zeroOrMoreTimes(); - $evt->shouldReceive('bubbleCancelled') - ->zeroOrMoreTimes() - ->andReturn(false); - - $this->finishBuffer($buf); - $smtp->start(); - $this->assertEquals(1, $smtp->send($message)); - } - - public function testSendEventCapturesFailures() - { - $buf = $this->getBuffer(); - $dispatcher = $this->createEventDispatcher(false); - $evt = $this->getMockery('Swift_Events_SendEvent')->shouldIgnoreMissing(); - $smtp = $this->getTransport($buf, $dispatcher); - $message = $this->createMessage(); - - $message->shouldReceive('getFrom') - ->zeroOrMoreTimes() - ->andReturn(['chris@swiftmailer.org' => null]); - $message->shouldReceive('getTo') - ->zeroOrMoreTimes() - ->andReturn(['mark@swiftmailer.org' => 'Mark']); - $buf->shouldReceive('write') - ->once() - ->with("MAIL FROM:\r\n") - ->andReturn(1); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn("250 OK\r\n"); - $buf->shouldReceive('write') - ->once() - ->with("RCPT TO:\r\n") - ->andReturn(2); - $buf->shouldReceive('readLine') - ->once() - ->with(2) - ->andReturn("500 Not now\r\n"); - $dispatcher->shouldReceive('createSendEvent') - ->zeroOrMoreTimes() - ->with($smtp, \Mockery::any()) - ->andReturn($evt); - $dispatcher->shouldReceive('dispatchEvent') - ->once() - ->with($evt, 'sendPerformed'); - $dispatcher->shouldReceive('dispatchEvent') - ->zeroOrMoreTimes(); - $evt->shouldReceive('bubbleCancelled') - ->zeroOrMoreTimes() - ->andReturn(false); - $evt->shouldReceive('setFailedRecipients') - ->once() - ->with(['mark@swiftmailer.org']); - - $this->finishBuffer($buf); - $smtp->start(); - $this->assertEquals(0, $smtp->send($message)); - } - - public function testSendEventHasResultFailedIfAllFailures() - { - $buf = $this->getBuffer(); - $dispatcher = $this->createEventDispatcher(false); - $evt = $this->getMockery('Swift_Events_SendEvent')->shouldIgnoreMissing(); - $smtp = $this->getTransport($buf, $dispatcher); - $message = $this->createMessage(); - - $message->shouldReceive('getFrom') - ->zeroOrMoreTimes() - ->andReturn(['chris@swiftmailer.org' => null]); - $message->shouldReceive('getTo') - ->zeroOrMoreTimes() - ->andReturn(['mark@swiftmailer.org' => 'Mark']); - $buf->shouldReceive('write') - ->once() - ->with("MAIL FROM:\r\n") - ->andReturn(1); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn("250 OK\r\n"); - $buf->shouldReceive('write') - ->once() - ->with("RCPT TO:\r\n") - ->andReturn(2); - $buf->shouldReceive('readLine') - ->once() - ->with(2) - ->andReturn("500 Not now\r\n"); - $dispatcher->shouldReceive('createSendEvent') - ->zeroOrMoreTimes() - ->with($smtp, \Mockery::any()) - ->andReturn($evt); - $dispatcher->shouldReceive('dispatchEvent') - ->once() - ->with($evt, 'sendPerformed'); - $dispatcher->shouldReceive('dispatchEvent') - ->zeroOrMoreTimes(); - $evt->shouldReceive('bubbleCancelled') - ->zeroOrMoreTimes() - ->andReturn(false); - $evt->shouldReceive('setResult') - ->once() - ->with(Swift_Events_SendEvent::RESULT_FAILED); - - $this->finishBuffer($buf); - $smtp->start(); - $this->assertEquals(0, $smtp->send($message)); - } - - public function testSendEventHasResultTentativeIfSomeFailures() - { - $buf = $this->getBuffer(); - $dispatcher = $this->createEventDispatcher(false); - $evt = $this->getMockery('Swift_Events_SendEvent')->shouldIgnoreMissing(); - $smtp = $this->getTransport($buf, $dispatcher); - $message = $this->createMessage(); - - $message->shouldReceive('getFrom') - ->zeroOrMoreTimes() - ->andReturn(['chris@swiftmailer.org' => null]); - $message->shouldReceive('getTo') - ->zeroOrMoreTimes() - ->andReturn([ - 'mark@swiftmailer.org' => 'Mark', - 'chris@site.tld' => 'Chris', - ]); - $buf->shouldReceive('write') - ->once() - ->with("MAIL FROM:\r\n") - ->andReturn(1); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn("250 OK\r\n"); - $buf->shouldReceive('write') - ->once() - ->with("RCPT TO:\r\n") - ->andReturn(2); - $buf->shouldReceive('readLine') - ->once() - ->with(2) - ->andReturn("500 Not now\r\n"); - $dispatcher->shouldReceive('createSendEvent') - ->zeroOrMoreTimes() - ->with($smtp, \Mockery::any()) - ->andReturn($evt); - $dispatcher->shouldReceive('dispatchEvent') - ->once() - ->with($evt, 'sendPerformed'); - $dispatcher->shouldReceive('dispatchEvent') - ->zeroOrMoreTimes(); - $evt->shouldReceive('bubbleCancelled') - ->zeroOrMoreTimes() - ->andReturn(false); - $evt->shouldReceive('setResult') - ->once() - ->with(Swift_Events_SendEvent::RESULT_TENTATIVE); - - $this->finishBuffer($buf); - $smtp->start(); - $this->assertEquals(1, $smtp->send($message)); - } - - public function testSendEventHasResultSuccessIfNoFailures() - { - $buf = $this->getBuffer(); - $dispatcher = $this->createEventDispatcher(false); - $evt = $this->getMockery('Swift_Events_SendEvent')->shouldIgnoreMissing(); - $smtp = $this->getTransport($buf, $dispatcher); - $message = $this->createMessage(); - - $message->shouldReceive('getFrom') - ->zeroOrMoreTimes() - ->andReturn(['chris@swiftmailer.org' => null]); - $message->shouldReceive('getTo') - ->zeroOrMoreTimes() - ->andReturn([ - 'mark@swiftmailer.org' => 'Mark', - 'chris@site.tld' => 'Chris', - ]); - $dispatcher->shouldReceive('createSendEvent') - ->zeroOrMoreTimes() - ->with($smtp, \Mockery::any()) - ->andReturn($evt); - $dispatcher->shouldReceive('dispatchEvent') - ->once() - ->with($evt, 'sendPerformed'); - $dispatcher->shouldReceive('dispatchEvent') - ->zeroOrMoreTimes(); - $evt->shouldReceive('bubbleCancelled') - ->zeroOrMoreTimes() - ->andReturn(false); - $evt->shouldReceive('setResult') - ->once() - ->with(Swift_Events_SendEvent::RESULT_SUCCESS); - - $this->finishBuffer($buf); - $smtp->start(); - $this->assertEquals(2, $smtp->send($message)); - } - - public function testCancellingEventBubbleBeforeSendStopsEvent() - { - $buf = $this->getBuffer(); - $dispatcher = $this->createEventDispatcher(false); - $evt = $this->getMockery('Swift_Events_SendEvent')->shouldIgnoreMissing(); - $smtp = $this->getTransport($buf, $dispatcher); - $message = $this->createMessage(); - - $message->shouldReceive('getFrom') - ->zeroOrMoreTimes() - ->andReturn(['chris@swiftmailer.org' => null]); - $message->shouldReceive('getTo') - ->zeroOrMoreTimes() - ->andReturn(['mark@swiftmailer.org' => 'Mark']); - $dispatcher->shouldReceive('createSendEvent') - ->zeroOrMoreTimes() - ->with($smtp, \Mockery::any()) - ->andReturn($evt); - $dispatcher->shouldReceive('dispatchEvent') - ->once() - ->with($evt, 'beforeSendPerformed'); - $dispatcher->shouldReceive('dispatchEvent') - ->zeroOrMoreTimes(); - $evt->shouldReceive('bubbleCancelled') - ->atLeast()->once() - ->andReturn(true); - - $this->finishBuffer($buf); - $smtp->start(); - $this->assertEquals(0, $smtp->send($message)); - } - - public function testStartingTransportDispatchesTransportChangeEvent() - { - $buf = $this->getBuffer(); - $dispatcher = $this->createEventDispatcher(false); - $evt = $this->getMockery('Swift_Events_TransportChangeEvent'); - $smtp = $this->getTransport($buf, $dispatcher); - - $dispatcher->shouldReceive('createTransportChangeEvent') - ->atLeast()->once() - ->with($smtp) - ->andReturn($evt); - $dispatcher->shouldReceive('dispatchEvent') - ->once() - ->with($evt, 'transportStarted'); - $dispatcher->shouldReceive('dispatchEvent') - ->zeroOrMoreTimes(); - $evt->shouldReceive('bubbleCancelled') - ->atLeast()->once() - ->andReturn(false); - - $this->finishBuffer($buf); - $smtp->start(); - } - - public function testStartingTransportDispatchesBeforeTransportChangeEvent() - { - $buf = $this->getBuffer(); - $dispatcher = $this->createEventDispatcher(false); - $evt = $this->getMockery('Swift_Events_TransportChangeEvent'); - $smtp = $this->getTransport($buf, $dispatcher); - - $dispatcher->shouldReceive('createTransportChangeEvent') - ->atLeast()->once() - ->with($smtp) - ->andReturn($evt); - $dispatcher->shouldReceive('dispatchEvent') - ->once() - ->with($evt, 'beforeTransportStarted'); - $dispatcher->shouldReceive('dispatchEvent') - ->zeroOrMoreTimes(); - $evt->shouldReceive('bubbleCancelled') - ->atLeast()->once() - ->andReturn(false); - - $this->finishBuffer($buf); - $smtp->start(); - } - - public function testCancellingBubbleBeforeTransportStartStopsEvent() - { - $buf = $this->getBuffer(); - $dispatcher = $this->createEventDispatcher(false); - $evt = $this->getMockery('Swift_Events_TransportChangeEvent'); - $smtp = $this->getTransport($buf, $dispatcher); - - $dispatcher->shouldReceive('createTransportChangeEvent') - ->atLeast()->once() - ->with($smtp) - ->andReturn($evt); - $dispatcher->shouldReceive('dispatchEvent') - ->once() - ->with($evt, 'beforeTransportStarted'); - $dispatcher->shouldReceive('dispatchEvent') - ->zeroOrMoreTimes(); - $evt->shouldReceive('bubbleCancelled') - ->atLeast()->once() - ->andReturn(true); - - $this->finishBuffer($buf); - $smtp->start(); - - $this->assertFalse($smtp->isStarted(), - '%s: Transport should not be started since event bubble was cancelled' - ); - } - - public function testStoppingTransportDispatchesTransportChangeEvent() - { - $buf = $this->getBuffer(); - $dispatcher = $this->createEventDispatcher(false); - $evt = $this->getMockery('Swift_Events_TransportChangeEvent')->shouldIgnoreMissing(); - $smtp = $this->getTransport($buf, $dispatcher); - - $dispatcher->shouldReceive('createTransportChangeEvent') - ->atLeast()->once() - ->with($smtp) - ->andReturn($evt); - $dispatcher->shouldReceive('dispatchEvent') - ->once() - ->with($evt, 'transportStopped'); - $dispatcher->shouldReceive('dispatchEvent') - ->zeroOrMoreTimes(); - - $this->finishBuffer($buf); - $smtp->start(); - $smtp->stop(); - } - - public function testStoppingTransportDispatchesBeforeTransportChangeEvent() - { - $buf = $this->getBuffer(); - $dispatcher = $this->createEventDispatcher(false); - $evt = $this->getMockery('Swift_Events_TransportChangeEvent')->shouldIgnoreMissing(); - $smtp = $this->getTransport($buf, $dispatcher); - - $dispatcher->shouldReceive('createTransportChangeEvent') - ->atLeast()->once() - ->with($smtp) - ->andReturn($evt); - $dispatcher->shouldReceive('dispatchEvent') - ->once() - ->with($evt, 'beforeTransportStopped'); - $dispatcher->shouldReceive('dispatchEvent') - ->zeroOrMoreTimes(); - - $this->finishBuffer($buf); - $smtp->start(); - $smtp->stop(); - } - - public function testCancellingBubbleBeforeTransportStoppedStopsEvent() - { - $buf = $this->getBuffer(); - $dispatcher = $this->createEventDispatcher(false); - $evt = $this->getMockery('Swift_Events_TransportChangeEvent'); - $smtp = $this->getTransport($buf, $dispatcher); - - $hasRun = false; - $dispatcher->shouldReceive('createTransportChangeEvent') - ->atLeast()->once() - ->with($smtp) - ->andReturn($evt); - $dispatcher->shouldReceive('dispatchEvent') - ->once() - ->with($evt, 'beforeTransportStopped') - ->andReturnUsing(function () use (&$hasRun) { - $hasRun = true; - }); - $dispatcher->shouldReceive('dispatchEvent') - ->zeroOrMoreTimes(); - $evt->shouldReceive('bubbleCancelled') - ->zeroOrMoreTimes() - ->andReturnUsing(function () use (&$hasRun) { - return $hasRun; - }); - - $this->finishBuffer($buf); - $smtp->start(); - $smtp->stop(); - - $this->assertTrue($smtp->isStarted(), - '%s: Transport should not be stopped since event bubble was cancelled' - ); - } - - public function testResponseEventsAreGenerated() - { - $buf = $this->getBuffer(); - $dispatcher = $this->createEventDispatcher(false); - $evt = $this->getMockery('Swift_Events_ResponseEvent'); - $smtp = $this->getTransport($buf, $dispatcher); - - $dispatcher->shouldReceive('createResponseEvent') - ->atLeast()->once() - ->with($smtp, \Mockery::any(), \Mockery::any()) - ->andReturn($evt); - $dispatcher->shouldReceive('dispatchEvent') - ->atLeast()->once() - ->with($evt, 'responseReceived'); - - $this->finishBuffer($buf); - $smtp->start(); - } - - public function testCommandEventsAreGenerated() - { - $buf = $this->getBuffer(); - $dispatcher = $this->createEventDispatcher(false); - $evt = $this->getMockery('Swift_Events_CommandEvent'); - $smtp = $this->getTransport($buf, $dispatcher); - - $dispatcher->shouldReceive('createCommandEvent') - ->once() - ->with($smtp, \Mockery::any(), \Mockery::any()) - ->andReturn($evt); - $dispatcher->shouldReceive('dispatchEvent') - ->once() - ->with($evt, 'commandSent'); - - $this->finishBuffer($buf); - $smtp->start(); - } - - public function testExceptionsCauseExceptionEvents() - { - $buf = $this->getBuffer(); - $dispatcher = $this->createEventDispatcher(false); - $evt = $this->getMockery('Swift_Events_TransportExceptionEvent'); - $smtp = $this->getTransport($buf, $dispatcher); - - $buf->shouldReceive('readLine') - ->atLeast()->once() - ->andReturn("503 I'm sleepy, go away!\r\n"); - $dispatcher->shouldReceive('createTransportExceptionEvent') - ->zeroOrMoreTimes() - ->with($smtp, \Mockery::any()) - ->andReturn($evt); - $dispatcher->shouldReceive('dispatchEvent') - ->once() - ->with($evt, 'exceptionThrown'); - $evt->shouldReceive('bubbleCancelled') - ->atLeast()->once() - ->andReturn(false); - - try { - $smtp->start(); - $this->fail('TransportException should be thrown on invalid response'); - } catch (Swift_TransportException $e) { - } - } - - public function testExceptionBubblesCanBeCancelled() - { - $buf = $this->getBuffer(); - $dispatcher = $this->createEventDispatcher(false); - $evt = $this->getMockery('Swift_Events_TransportExceptionEvent'); - $smtp = $this->getTransport($buf, $dispatcher); - - $buf->shouldReceive('readLine') - ->atLeast()->once() - ->andReturn("503 I'm sleepy, go away!\r\n"); - $dispatcher->shouldReceive('createTransportExceptionEvent') - ->twice() - ->with($smtp, \Mockery::any()) - ->andReturn($evt); - $dispatcher->shouldReceive('dispatchEvent') - ->twice() - ->with($evt, 'exceptionThrown'); - $evt->shouldReceive('bubbleCancelled') - ->atLeast()->once() - ->andReturn(true); - - $this->finishBuffer($buf); - $smtp->start(); - } - - protected function createEventDispatcher($stub = true) - { - return $this->getMockery('Swift_Events_EventDispatcher')->shouldIgnoreMissing(); - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Transport/AbstractSmtpTest.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Transport/AbstractSmtpTest.php deleted file mode 100644 index 4c837fad51..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Transport/AbstractSmtpTest.php +++ /dev/null @@ -1,1400 +0,0 @@ -getBuffer(); - $smtp = $this->getTransport($buf); - $buf->shouldReceive('initialize') - ->once(); - $buf->shouldReceive('readLine') - ->once() - ->with(0) - ->andReturn("220 some.server.tld bleh\r\n"); - - $this->finishBuffer($buf); - try { - $this->assertFalse($smtp->isStarted(), '%s: SMTP should begin non-started'); - $smtp->start(); - $this->assertTrue($smtp->isStarted(), '%s: start() should have started connection'); - } catch (Exception $e) { - $this->fail('220 is a valid SMTP greeting and should be accepted'); - } - } - - public function testBadGreetingCausesException() - { - $buf = $this->getBuffer(); - $smtp = $this->getTransport($buf); - $buf->shouldReceive('initialize') - ->once(); - $buf->shouldReceive('readLine') - ->once() - ->with(0) - ->andReturn("554 I'm busy\r\n"); - $this->finishBuffer($buf); - try { - $this->assertFalse($smtp->isStarted(), '%s: SMTP should begin non-started'); - $smtp->start(); - $this->fail('554 greeting indicates an error and should cause an exception'); - } catch (Swift_TransportException $e) { - $this->assertFalse($smtp->isStarted(), '%s: start() should have failed'); - } - } - - public function testStartSendsHeloToInitiate() - { - /* -- RFC 2821, 3.2. - - 3.2 Client Initiation - - Once the server has sent the welcoming message and the client has - received it, the client normally sends the EHLO command to the - server, indicating the client's identity. In addition to opening the - session, use of EHLO indicates that the client is able to process - service extensions and requests that the server provide a list of the - extensions it supports. Older SMTP systems which are unable to - support service extensions and contemporary clients which do not - require service extensions in the mail session being initiated, MAY - use HELO instead of EHLO. Servers MUST NOT return the extended - EHLO-style response to a HELO command. For a particular connection - attempt, if the server returns a "command not recognized" response to - EHLO, the client SHOULD be able to fall back and send HELO. - - In the EHLO command the host sending the command identifies itself; - the command may be interpreted as saying "Hello, I am " (and, - in the case of EHLO, "and I support service extension requests"). - - -- RFC 2281, 4.1.1.1. - - ehlo = "EHLO" SP Domain CRLF - helo = "HELO" SP Domain CRLF - - -- RFC 2821, 4.3.2. - - EHLO or HELO - S: 250 - E: 504, 550 - - */ - - $buf = $this->getBuffer(); - $smtp = $this->getTransport($buf); - - $buf->shouldReceive('initialize') - ->once(); - $buf->shouldReceive('readLine') - ->once() - ->with(0) - ->andReturn("220 some.server.tld bleh\r\n"); - $buf->shouldReceive('write') - ->once() - ->with('~^HELO example.org\r\n$~D') - ->andReturn(1); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn('250 ServerName'."\r\n"); - - $this->finishBuffer($buf); - try { - $smtp->start(); - } catch (Exception $e) { - $this->fail('Starting SMTP should send HELO and accept 250 response'); - } - } - - public function testInvalidHeloResponseCausesException() - { - $buf = $this->getBuffer(); - $smtp = $this->getTransport($buf); - - $buf->shouldReceive('initialize') - ->once(); - $buf->shouldReceive('readLine') - ->once() - ->with(0) - ->andReturn("220 some.server.tld bleh\r\n"); - $buf->shouldReceive('write') - ->once() - ->with('~^HELO example.org\r\n$~D') - ->andReturn(1); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn('504 WTF'."\r\n"); - - $this->finishBuffer($buf); - try { - $this->assertFalse($smtp->isStarted(), '%s: SMTP should begin non-started'); - $smtp->start(); - $this->fail('Non 250 HELO response should raise Exception'); - } catch (Swift_TransportException $e) { - $this->assertFalse($smtp->isStarted(), '%s: SMTP start() should have failed'); - } - } - - public function testDomainNameIsPlacedInHelo() - { - /* -- RFC 2821, 4.1.4. - - The SMTP client MUST, if possible, ensure that the domain parameter - to the EHLO command is a valid principal host name (not a CNAME or MX - name) for its host. If this is not possible (e.g., when the client's - address is dynamically assigned and the client does not have an - obvious name), an address literal SHOULD be substituted for the - domain name and supplemental information provided that will assist in - identifying the client. - */ - - $buf = $this->getBuffer(); - $smtp = $this->getTransport($buf); - - $buf->shouldReceive('initialize') - ->once(); - $buf->shouldReceive('readLine') - ->once() - ->with(0) - ->andReturn("220 some.server.tld bleh\r\n"); - $buf->shouldReceive('write') - ->once() - ->with("HELO mydomain.com\r\n") - ->andReturn(1); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn('250 ServerName'."\r\n"); - - $this->finishBuffer($buf); - $smtp->setLocalDomain('mydomain.com'); - $smtp->start(); - } - - public function testSuccessfulMailCommand() - { - /* -- RFC 2821, 3.3. - - There are three steps to SMTP mail transactions. The transaction - starts with a MAIL command which gives the sender identification. - - ..... - - The first step in the procedure is the MAIL command. - - MAIL FROM: [SP ] - - -- RFC 2821, 4.1.1.2. - - Syntax: - - "MAIL FROM:" ("<>" / Reverse-Path) - [SP Mail-parameters] CRLF - -- RFC 2821, 4.1.2. - - Reverse-path = Path - Forward-path = Path - Path = "<" [ A-d-l ":" ] Mailbox ">" - A-d-l = At-domain *( "," A-d-l ) - ; Note that this form, the so-called "source route", - ; MUST BE accepted, SHOULD NOT be generated, and SHOULD be - ; ignored. - At-domain = "@" domain - - -- RFC 2821, 4.3.2. - - MAIL - S: 250 - E: 552, 451, 452, 550, 553, 503 - */ - - $buf = $this->getBuffer(); - $smtp = $this->getTransport($buf); - $message = $this->createMessage(); - $message->shouldReceive('getFrom') - ->once() - ->andReturn(['me@domain.com' => 'Me']); - $message->shouldReceive('getTo') - ->once() - ->andReturn(['foo@bar' => null]); - $buf->shouldReceive('initialize') - ->once(); - $buf->shouldReceive('write') - ->once() - ->with("MAIL FROM:\r\n") - ->andReturn(1); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn("250 OK\r\n"); - - $this->finishBuffer($buf); - try { - $smtp->start(); - $smtp->send($message); - } catch (Exception $e) { - $this->fail('MAIL FROM should accept a 250 response'); - } - } - - public function testInvalidResponseCodeFromMailCausesException() - { - $buf = $this->getBuffer(); - $smtp = $this->getTransport($buf); - $message = $this->createMessage(); - - $message->shouldReceive('getFrom') - ->once() - ->andReturn(['me@domain.com' => 'Me']); - $message->shouldReceive('getTo') - ->once() - ->andReturn(['foo@bar' => null]); - $buf->shouldReceive('write') - ->once() - ->with("MAIL FROM:\r\n") - ->andReturn(1); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn('553 Bad'."\r\n"); - - $this->finishBuffer($buf); - try { - $smtp->start(); - $smtp->send($message); - $this->fail('MAIL FROM should accept a 250 response'); - } catch (Swift_TransportException $e) { - } - } - - public function testSenderIsPreferredOverFrom() - { - $buf = $this->getBuffer(); - $smtp = $this->getTransport($buf); - $message = $this->createMessage(); - - $message->shouldReceive('getFrom') - ->once() - ->andReturn(['me@domain.com' => 'Me']); - $message->shouldReceive('getSender') - ->once() - ->andReturn(['another@domain.com' => 'Someone']); - $message->shouldReceive('getTo') - ->once() - ->andReturn(['foo@bar' => null]); - $buf->shouldReceive('write') - ->once() - ->with("MAIL FROM:\r\n") - ->andReturn(1); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn('250 OK'."\r\n"); - - $this->finishBuffer($buf); - $smtp->start(); - $smtp->send($message); - } - - public function testReturnPathIsPreferredOverSender() - { - $buf = $this->getBuffer(); - $smtp = $this->getTransport($buf); - $message = $this->createMessage(); - - $message->shouldReceive('getFrom') - ->once() - ->andReturn(['me@domain.com' => 'Me']); - $message->shouldReceive('getSender') - ->once() - ->andReturn(['another@domain.com' => 'Someone']); - $message->shouldReceive('getReturnPath') - ->once() - ->andReturn('more@domain.com'); - $message->shouldReceive('getTo') - ->once() - ->andReturn(['foo@bar' => null]); - $buf->shouldReceive('write') - ->once() - ->with("MAIL FROM:\r\n") - ->andReturn(1); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn('250 OK'."\r\n"); - - $this->finishBuffer($buf); - $smtp->start(); - $smtp->send($message); - } - - public function testSuccessfulRcptCommandWith250Response() - { - /* -- RFC 2821, 3.3. - - The second step in the procedure is the RCPT command. - - RCPT TO: [ SP ] - - The first or only argument to this command includes a forward-path - (normally a mailbox and domain, always surrounded by "<" and ">" - brackets) identifying one recipient. If accepted, the SMTP server - returns a 250 OK reply and stores the forward-path. If the recipient - is known not to be a deliverable address, the SMTP server returns a - 550 reply, typically with a string such as "no such user - " and the - mailbox name (other circumstances and reply codes are possible). - This step of the procedure can be repeated any number of times. - - -- RFC 2821, 4.1.1.3. - - This command is used to identify an individual recipient of the mail - data; multiple recipients are specified by multiple use of this - command. The argument field contains a forward-path and may contain - optional parameters. - - The forward-path normally consists of the required destination - mailbox. Sending systems SHOULD not generate the optional list of - hosts known as a source route. - - ....... - - "RCPT TO:" ("" / "" / Forward-Path) - [SP Rcpt-parameters] CRLF - - -- RFC 2821, 4.2.2. - - 250 Requested mail action okay, completed - 251 User not local; will forward to - (See section 3.4) - 252 Cannot VRFY user, but will accept message and attempt - delivery - - -- RFC 2821, 4.3.2. - - RCPT - S: 250, 251 (but see section 3.4 for discussion of 251 and 551) - E: 550, 551, 552, 553, 450, 451, 452, 503, 550 - */ - - //We'll treat 252 as accepted since it isn't really a failure - - $buf = $this->getBuffer(); - $smtp = $this->getTransport($buf); - $message = $this->createMessage(); - - $message->shouldReceive('getFrom') - ->once() - ->andReturn(['me@domain.com' => 'Me']); - $message->shouldReceive('getTo') - ->once() - ->andReturn(['foo@bar' => null]); - $buf->shouldReceive('write') - ->once() - ->with("MAIL FROM:\r\n") - ->andReturn(1); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn('250 OK'."\r\n"); - $buf->shouldReceive('write') - ->once() - ->with("RCPT TO:\r\n") - ->andReturn(2); - $buf->shouldReceive('readLine') - ->once() - ->with(2) - ->andReturn('250 OK'."\r\n"); - - $this->finishBuffer($buf); - try { - $smtp->start(); - $smtp->send($message); - } catch (Exception $e) { - $this->fail('RCPT TO should accept a 250 response'); - } - } - - public function testUtf8AddressWithIdnEncoder() - { - $buf = $this->getBuffer(); - $smtp = $this->getTransport($buf); - $message = $this->createMessage(); - - $message->shouldReceive('getFrom') - ->once() - ->andReturn(['me@dömain.com' => 'Me']); - $message->shouldReceive('getTo') - ->once() - ->andReturn(['foo@bär' => null]); - $buf->shouldReceive('write') - ->once() - ->with("MAIL FROM:\r\n") - ->andReturn(1); - $buf->shouldReceive('write') - ->once() - ->with("RCPT TO:\r\n") - ->andReturn(1); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn('250 OK'."\r\n"); - - $this->finishBuffer($buf); - $smtp->start(); - $smtp->send($message); - } - - public function testUtf8AddressWithUtf8Encoder() - { - $buf = $this->getBuffer(); - $smtp = $this->getTransport($buf, null, new Swift_AddressEncoder_Utf8AddressEncoder()); - $message = $this->createMessage(); - - $message->shouldReceive('getFrom') - ->once() - ->andReturn(['më@dömain.com' => 'Me']); - $message->shouldReceive('getTo') - ->once() - ->andReturn(['föö@bär' => null]); - $buf->shouldReceive('write') - ->once() - ->with("MAIL FROM:\r\n") - ->andReturn(1); - $buf->shouldReceive('write') - ->once() - ->with("RCPT TO:\r\n") - ->andReturn(1); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn('250 OK'."\r\n"); - - $this->finishBuffer($buf); - $smtp->start(); - $smtp->send($message); - } - - public function testNonEncodableSenderCausesException() - { - $buf = $this->getBuffer(); - $smtp = $this->getTransport($buf); - $message = $this->createMessage(); - - $message->shouldReceive('getFrom') - ->once() - ->andReturn(['më@domain.com' => 'Me']); - $message->shouldReceive('getTo') - ->once() - ->andReturn(['foo@bar' => null]); - - $this->finishBuffer($buf); - try { - $smtp->start(); - $smtp->send($message); - $this->fail('më@domain.com cannot be encoded (not observed)'); - } catch (Swift_AddressEncoderException $e) { - $this->assertEquals('më@domain.com', $e->getAddress()); - } - } - - public function testMailFromCommandIsOnlySentOncePerMessage() - { - $buf = $this->getBuffer(); - $smtp = $this->getTransport($buf); - $message = $this->createMessage(); - - $message->shouldReceive('getFrom') - ->once() - ->andReturn(['me@domain.com' => 'Me']); - $message->shouldReceive('getTo') - ->once() - ->andReturn(['foo@bar' => null]); - $buf->shouldReceive('write') - ->once() - ->with("MAIL FROM:\r\n") - ->andReturn(1); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn('250 OK'."\r\n"); - $buf->shouldReceive('write') - ->once() - ->with("RCPT TO:\r\n") - ->andReturn(2); - $buf->shouldReceive('readLine') - ->once() - ->with(2) - ->andReturn('250 OK'."\r\n"); - $buf->shouldReceive('write') - ->never() - ->with("MAIL FROM:\r\n"); - - $this->finishBuffer($buf); - $smtp->start(); - $smtp->send($message); - } - - public function testMultipleRecipientsSendsMultipleRcpt() - { - $buf = $this->getBuffer(); - $smtp = $this->getTransport($buf); - $message = $this->createMessage(); - - $message->shouldReceive('getFrom') - ->once() - ->andReturn(['me@domain.com' => 'Me']); - $message->shouldReceive('getTo') - ->once() - ->andReturn([ - 'foo@bar' => null, - 'zip@button' => 'Zip Button', - 'test@domain' => 'Test user', - 'tëst@domain' => 'Test user', - ]); - $buf->shouldReceive('write') - ->once() - ->with("RCPT TO:\r\n") - ->andReturn(1); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn('250 OK'."\r\n"); - $buf->shouldReceive('write') - ->once() - ->with("RCPT TO:\r\n") - ->andReturn(2); - $buf->shouldReceive('readLine') - ->once() - ->with(2) - ->andReturn('250 OK'."\r\n"); - $buf->shouldReceive('write') - ->once() - ->with("RCPT TO:\r\n") - ->andReturn(3); - $buf->shouldReceive('readLine') - ->once() - ->with(3) - ->andReturn('250 OK'."\r\n"); - - $this->finishBuffer($buf); - $smtp->start(); - $smtp->send($message); - } - - public function testCcRecipientsSendsMultipleRcpt() - { - $buf = $this->getBuffer(); - $smtp = $this->getTransport($buf); - $message = $this->createMessage(); - - $message->shouldReceive('getFrom') - ->once() - ->andReturn(['me@domain.com' => 'Me']); - $message->shouldReceive('getTo') - ->once() - ->andReturn(['foo@bar' => null]); - $message->shouldReceive('getCc') - ->once() - ->andReturn([ - 'zip@button' => 'Zip Button', - 'test@domain' => 'Test user', - ]); - $buf->shouldReceive('write') - ->once() - ->with("RCPT TO:\r\n") - ->andReturn(1); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn('250 OK'."\r\n"); - $buf->shouldReceive('write') - ->once() - ->with("RCPT TO:\r\n") - ->andReturn(2); - $buf->shouldReceive('readLine') - ->once() - ->with(2) - ->andReturn('250 OK'."\r\n"); - $buf->shouldReceive('write') - ->once() - ->with("RCPT TO:\r\n") - ->andReturn(3); - $buf->shouldReceive('readLine') - ->once() - ->with(3) - ->andReturn('250 OK'."\r\n"); - - $this->finishBuffer($buf); - $smtp->start(); - $smtp->send($message); - } - - public function testSendReturnsNumberOfSuccessfulRecipients() - { - $buf = $this->getBuffer(); - $smtp = $this->getTransport($buf); - $message = $this->createMessage(); - - $message->shouldReceive('getFrom') - ->once() - ->andReturn(['me@domain.com' => 'Me']); - $message->shouldReceive('getTo') - ->once() - ->andReturn(['foo@bar' => null]); - $message->shouldReceive('getCc') - ->once() - ->andReturn([ - 'zip@button' => 'Zip Button', - 'test@domain' => 'Test user', - ]); - $buf->shouldReceive('write') - ->once() - ->with("RCPT TO:\r\n") - ->andReturn(1); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn('250 OK'."\r\n"); - $buf->shouldReceive('write') - ->once() - ->with("RCPT TO:\r\n") - ->andReturn(2); - $buf->shouldReceive('readLine') - ->once() - ->with(2) - ->andReturn('501 Nobody here'."\r\n"); - $buf->shouldReceive('write') - ->once() - ->with("RCPT TO:\r\n") - ->andReturn(3); - $buf->shouldReceive('readLine') - ->once() - ->with(3) - ->andReturn('250 OK'."\r\n"); - - $this->finishBuffer($buf); - $smtp->start(); - $this->assertEquals(2, $smtp->send($message), - '%s: 1 of 3 recipients failed so 2 should be returned' - ); - } - - public function testRsetIsSentIfNoSuccessfulRecipients() - { - /* --RFC 2821, 4.1.1.5. - - This command specifies that the current mail transaction will be - aborted. Any stored sender, recipients, and mail data MUST be - discarded, and all buffers and state tables cleared. The receiver - MUST send a "250 OK" reply to a RSET command with no arguments. A - reset command may be issued by the client at any time. - - -- RFC 2821, 4.3.2. - - RSET - S: 250 - */ - - $buf = $this->getBuffer(); - $smtp = $this->getTransport($buf); - $message = $this->createMessage(); - - $message->shouldReceive('getFrom') - ->once() - ->andReturn(['me@domain.com' => 'Me']); - $message->shouldReceive('getTo') - ->once() - ->andReturn(['foo@bar' => null]); - $buf->shouldReceive('write') - ->once() - ->with("RCPT TO:\r\n") - ->andReturn(1); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn('503 Bad'."\r\n"); - $buf->shouldReceive('write') - ->once() - ->with("RSET\r\n") - ->andReturn(2); - $buf->shouldReceive('readLine') - ->once() - ->with(2) - ->andReturn('250 OK'."\r\n"); - - $this->finishBuffer($buf); - $smtp->start(); - $this->assertEquals(0, $smtp->send($message), - '%s: 1 of 1 recipients failed so 0 should be returned' - ); - } - - public function testSuccessfulDataCommand() - { - /* -- RFC 2821, 3.3. - - The third step in the procedure is the DATA command (or some - alternative specified in a service extension). - - DATA - - If accepted, the SMTP server returns a 354 Intermediate reply and - considers all succeeding lines up to but not including the end of - mail data indicator to be the message text. - - -- RFC 2821, 4.1.1.4. - - The receiver normally sends a 354 response to DATA, and then treats - the lines (strings ending in sequences, as described in - section 2.3.7) following the command as mail data from the sender. - This command causes the mail data to be appended to the mail data - buffer. The mail data may contain any of the 128 ASCII character - codes, although experience has indicated that use of control - characters other than SP, HT, CR, and LF may cause problems and - SHOULD be avoided when possible. - - -- RFC 2821, 4.3.2. - - DATA - I: 354 -> data -> S: 250 - E: 552, 554, 451, 452 - E: 451, 554, 503 - */ - - $buf = $this->getBuffer(); - $smtp = $this->getTransport($buf); - $message = $this->createMessage(); - - $message->shouldReceive('getFrom') - ->once() - ->andReturn(['me@domain.com' => 'Me']); - $message->shouldReceive('getTo') - ->once() - ->andReturn(['foo@bar' => null]); - $buf->shouldReceive('write') - ->once() - ->with("DATA\r\n") - ->andReturn(1); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn('354 Go ahead'."\r\n"); - - $this->finishBuffer($buf); - try { - $smtp->start(); - $smtp->send($message); - } catch (Exception $e) { - $this->fail('354 is the expected response to DATA'); - } - } - - public function testBadDataResponseCausesException() - { - $buf = $this->getBuffer(); - $smtp = $this->getTransport($buf); - $message = $this->createMessage(); - - $message->shouldReceive('getFrom') - ->once() - ->andReturn(['me@domain.com' => 'Me']); - $message->shouldReceive('getTo') - ->once() - ->andReturn(['foo@bar' => null]); - $buf->shouldReceive('write') - ->once() - ->with("DATA\r\n") - ->andReturn(1); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn('451 Bad'."\r\n"); - - $this->finishBuffer($buf); - try { - $smtp->start(); - $smtp->send($message); - $this->fail('354 is the expected response to DATA (not observed)'); - } catch (Swift_TransportException $e) { - } - } - - public function testMessageIsStreamedToBufferForData() - { - $buf = $this->getBuffer(); - $smtp = $this->getTransport($buf); - $message = $this->createMessage(); - - $message->shouldReceive('getFrom') - ->once() - ->andReturn(['me@domain.com' => 'Me']); - $message->shouldReceive('getTo') - ->once() - ->andReturn(['foo@bar' => null]); - $buf->shouldReceive('write') - ->once() - ->with("DATA\r\n") - ->andReturn(1); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn('354 OK'."\r\n"); - $buf->shouldReceive('write') - ->once() - ->with("\r\n.\r\n") - ->andReturn(2); - $buf->shouldReceive('readLine') - ->once() - ->with(2) - ->andReturn('250 OK'."\r\n"); - - $this->finishBuffer($buf); - $smtp->start(); - $smtp->send($message); - } - - public function testBadResponseAfterDataTransmissionCausesException() - { - $buf = $this->getBuffer(); - $smtp = $this->getTransport($buf); - $message = $this->createMessage(); - - $message->shouldReceive('getFrom') - ->once() - ->andReturn(['me@domain.com' => 'Me']); - $message->shouldReceive('getTo') - ->once() - ->andReturn(['foo@bar' => null]); - $buf->shouldReceive('write') - ->once() - ->with("DATA\r\n") - ->andReturn(1); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn('354 OK'."\r\n"); - $buf->shouldReceive('write') - ->once() - ->with("\r\n.\r\n") - ->andReturn(2); - $buf->shouldReceive('readLine') - ->once() - ->with(2) - ->andReturn('554 Error'."\r\n"); - - $this->finishBuffer($buf); - try { - $smtp->start(); - $smtp->send($message); - $this->fail('250 is the expected response after a DATA transmission (not observed)'); - } catch (Swift_TransportException $e) { - } - } - - public function testBccRecipientsAreRemovedFromHeaders() - { - /* -- RFC 2821, 7.2. - - Addresses that do not appear in the message headers may appear in the - RCPT commands to an SMTP server for a number of reasons. The two - most common involve the use of a mailing address as a "list exploder" - (a single address that resolves into multiple addresses) and the - appearance of "blind copies". Especially when more than one RCPT - command is present, and in order to avoid defeating some of the - purpose of these mechanisms, SMTP clients and servers SHOULD NOT copy - the full set of RCPT command arguments into the headers, either as - part of trace headers or as informational or private-extension - headers. Since this rule is often violated in practice, and cannot - be enforced, sending SMTP systems that are aware of "bcc" use MAY - find it helpful to send each blind copy as a separate message - transaction containing only a single RCPT command. - */ - - $buf = $this->getBuffer(); - $smtp = $this->getTransport($buf); - $message = $this->createMessage(); - $message->shouldReceive('getFrom') - ->zeroOrMoreTimes() - ->andReturn(['me@domain.com' => 'Me']); - $message->shouldReceive('getTo') - ->zeroOrMoreTimes() - ->andReturn(['foo@bar' => null]); - $message->shouldReceive('getBcc') - ->zeroOrMoreTimes() - ->andReturn([ - 'zip@button' => 'Zip Button', - 'test@domain' => 'Test user', - ]); - $message->shouldReceive('setBcc') - ->once() - ->with([]); - $message->shouldReceive('setBcc') - ->zeroOrMoreTimes(); - - $this->finishBuffer($buf); - $smtp->start(); - $smtp->send($message); - } - - public function testEachBccRecipientIsSentASeparateMessage() - { - $buf = $this->getBuffer(); - $smtp = $this->getTransport($buf); - $message = $this->createMessage(); - - $message->shouldReceive('getFrom') - ->zeroOrMoreTimes() - ->andReturn(['me@domain.com' => 'Me']); - $message->shouldReceive('getTo') - ->zeroOrMoreTimes() - ->andReturn(['foo@bar' => null]); - $message->shouldReceive('getBcc') - ->zeroOrMoreTimes() - ->andReturn([ - 'zip@button' => 'Zip Button', - 'test@domain' => 'Test user', - ]); - $message->shouldReceive('setBcc') - ->atLeast()->once() - ->with([]); - $message->shouldReceive('setBcc') - ->once() - ->with(['zip@button' => 'Zip Button']); - $message->shouldReceive('setBcc') - ->once() - ->with(['test@domain' => 'Test user']); - $message->shouldReceive('setBcc') - ->atLeast()->once() - ->with([ - 'zip@button' => 'Zip Button', - 'test@domain' => 'Test user', - ]); - - $buf->shouldReceive('write')->once()->with("MAIL FROM:\r\n")->andReturn(1); - $buf->shouldReceive('readLine')->once()->with(1)->andReturn("250 OK\r\n"); - $buf->shouldReceive('write')->once()->with("RCPT TO:\r\n")->andReturn(2); - $buf->shouldReceive('readLine')->once()->with(2)->andReturn("250 OK\r\n"); - $buf->shouldReceive('write')->once()->with("DATA\r\n")->andReturn(3); - $buf->shouldReceive('readLine')->once()->with(3)->andReturn("354 OK\r\n"); - $buf->shouldReceive('write')->once()->with("\r\n.\r\n")->andReturn(4); - $buf->shouldReceive('readLine')->once()->with(4)->andReturn("250 OK\r\n"); - - $buf->shouldReceive('write')->once()->with("MAIL FROM:\r\n")->andReturn(5); - $buf->shouldReceive('readLine')->once()->with(5)->andReturn("250 OK\r\n"); - $buf->shouldReceive('write')->once()->with("RCPT TO:\r\n")->andReturn(6); - $buf->shouldReceive('readLine')->once()->with(6)->andReturn("250 OK\r\n"); - $buf->shouldReceive('write')->once()->with("DATA\r\n")->andReturn(7); - $buf->shouldReceive('readLine')->once()->with(7)->andReturn("354 OK\r\n"); - $buf->shouldReceive('write')->once()->with("\r\n.\r\n")->andReturn(8); - $buf->shouldReceive('readLine')->once()->with(8)->andReturn("250 OK\r\n"); - - $buf->shouldReceive('write')->once()->with("MAIL FROM:\r\n")->andReturn(9); - $buf->shouldReceive('readLine')->once()->with(9)->andReturn("250 OK\r\n"); - $buf->shouldReceive('write')->once()->with("RCPT TO:\r\n")->andReturn(10); - $buf->shouldReceive('readLine')->once()->with(10)->andReturn("250 OK\r\n"); - $buf->shouldReceive('write')->once()->with("DATA\r\n")->andReturn(11); - $buf->shouldReceive('readLine')->once()->with(11)->andReturn("354 OK\r\n"); - $buf->shouldReceive('write')->once()->with("\r\n.\r\n")->andReturn(12); - $buf->shouldReceive('readLine')->once()->with(12)->andReturn("250 OK\r\n"); - - $this->finishBuffer($buf); - $smtp->start(); - $this->assertEquals(3, $smtp->send($message)); - } - - public function testMessageStateIsRestoredOnFailure() - { - $buf = $this->getBuffer(); - $smtp = $this->getTransport($buf); - $message = $this->createMessage(); - - $message->shouldReceive('getFrom') - ->zeroOrMoreTimes() - ->andReturn(['me@domain.com' => 'Me']); - $message->shouldReceive('getTo') - ->zeroOrMoreTimes() - ->andReturn(['foo@bar' => null]); - $message->shouldReceive('getBcc') - ->zeroOrMoreTimes() - ->andReturn([ - 'zip@button' => 'Zip Button', - 'test@domain' => 'Test user', - ]); - $message->shouldReceive('setBcc') - ->once() - ->with([]); - $message->shouldReceive('setBcc') - ->once() - ->with([ - 'zip@button' => 'Zip Button', - 'test@domain' => 'Test user', - ]); - $buf->shouldReceive('write') - ->once() - ->with("MAIL FROM:\r\n") - ->andReturn(1); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn("250 OK\r\n"); - $buf->shouldReceive('write') - ->once() - ->with("RCPT TO:\r\n") - ->andReturn(2); - $buf->shouldReceive('readLine') - ->once() - ->with(2) - ->andReturn("250 OK\r\n"); - $buf->shouldReceive('write') - ->once() - ->with("DATA\r\n") - ->andReturn(3); - $buf->shouldReceive('readLine') - ->once() - ->with(3) - ->andReturn("451 No\r\n"); - - $this->finishBuffer($buf); - - $smtp->start(); - try { - $smtp->send($message); - $this->fail('A bad response was given so exception is expected'); - } catch (Swift_TransportException $e) { - } - } - - public function testStopSendsQuitCommand() - { - /* -- RFC 2821, 4.1.1.10. - - This command specifies that the receiver MUST send an OK reply, and - then close the transmission channel. - - The receiver MUST NOT intentionally close the transmission channel - until it receives and replies to a QUIT command (even if there was an - error). The sender MUST NOT intentionally close the transmission - channel until it sends a QUIT command and SHOULD wait until it - receives the reply (even if there was an error response to a previous - command). If the connection is closed prematurely due to violations - of the above or system or network failure, the server MUST cancel any - pending transaction, but not undo any previously completed - transaction, and generally MUST act as if the command or transaction - in progress had received a temporary error (i.e., a 4yz response). - - The QUIT command may be issued at any time. - - Syntax: - "QUIT" CRLF - */ - - $buf = $this->getBuffer(); - $smtp = $this->getTransport($buf); - $message = $this->createMessage(); - $buf->shouldReceive('initialize') - ->once(); - $buf->shouldReceive('write') - ->once() - ->with("QUIT\r\n") - ->andReturn(1); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn("221 Bye\r\n"); - $buf->shouldReceive('terminate') - ->once(); - - $this->finishBuffer($buf); - - $this->assertFalse($smtp->isStarted()); - $smtp->start(); - $this->assertTrue($smtp->isStarted()); - $smtp->stop(); - $this->assertFalse($smtp->isStarted()); - } - - public function testBufferCanBeFetched() - { - $buf = $this->getBuffer(); - $smtp = $this->getTransport($buf); - $ref = $smtp->getBuffer(); - $this->assertEquals($buf, $ref); - } - - public function testBufferCanBeWrittenToUsingExecuteCommand() - { - $buf = $this->getBuffer(); - $smtp = $this->getTransport($buf); - $message = $this->createMessage(); - $buf->shouldReceive('write') - ->zeroOrMoreTimes() - ->with("FOO\r\n") - ->andReturn(1); - $buf->shouldReceive('readLine') - ->zeroOrMoreTimes() - ->with(1) - ->andReturn("250 OK\r\n"); - - $res = $smtp->executeCommand("FOO\r\n"); - $this->assertEquals("250 OK\r\n", $res); - } - - public function testResponseCodesAreValidated() - { - $buf = $this->getBuffer(); - $smtp = $this->getTransport($buf); - $message = $this->createMessage(); - $buf->shouldReceive('write') - ->zeroOrMoreTimes() - ->with("FOO\r\n") - ->andReturn(1); - $buf->shouldReceive('readLine') - ->zeroOrMoreTimes() - ->with(1) - ->andReturn("551 Not ok\r\n"); - - try { - $smtp->executeCommand("FOO\r\n", [250, 251]); - $this->fail('A 250 or 251 response was needed but 551 was returned.'); - } catch (Swift_TransportException $e) { - } - } - - public function testFailedRecipientsCanBeCollectedByReference() - { - $buf = $this->getBuffer(); - $smtp = $this->getTransport($buf); - $message = $this->createMessage(); - - $message->shouldReceive('getFrom') - ->zeroOrMoreTimes() - ->andReturn(['me@domain.com' => 'Me']); - $message->shouldReceive('getTo') - ->zeroOrMoreTimes() - ->andReturn(['foo@bar' => null]); - $message->shouldReceive('getBcc') - ->zeroOrMoreTimes() - ->andReturn([ - 'zip@button' => 'Zip Button', - 'test@domain' => 'Test user', - ]); - $message->shouldReceive('setBcc') - ->atLeast()->once() - ->with([]); - $message->shouldReceive('setBcc') - ->once() - ->with(['zip@button' => 'Zip Button']); - $message->shouldReceive('setBcc') - ->once() - ->with(['test@domain' => 'Test user']); - $message->shouldReceive('setBcc') - ->atLeast()->once() - ->with([ - 'zip@button' => 'Zip Button', - 'test@domain' => 'Test user', - ]); - - $buf->shouldReceive('write')->once()->with("MAIL FROM:\r\n")->andReturn(1); - $buf->shouldReceive('readLine')->once()->with(1)->andReturn("250 OK\r\n"); - $buf->shouldReceive('write')->once()->with("RCPT TO:\r\n")->andReturn(2); - $buf->shouldReceive('readLine')->once()->with(2)->andReturn("250 OK\r\n"); - $buf->shouldReceive('write')->once()->with("DATA\r\n")->andReturn(3); - $buf->shouldReceive('readLine')->once()->with(3)->andReturn("354 OK\r\n"); - $buf->shouldReceive('write')->once()->with("\r\n.\r\n")->andReturn(4); - $buf->shouldReceive('readLine')->once()->with(4)->andReturn("250 OK\r\n"); - - $buf->shouldReceive('write')->once()->with("MAIL FROM:\r\n")->andReturn(5); - $buf->shouldReceive('readLine')->once()->with(5)->andReturn("250 OK\r\n"); - $buf->shouldReceive('write')->once()->with("RCPT TO:\r\n")->andReturn(6); - $buf->shouldReceive('readLine')->once()->with(6)->andReturn("500 Bad\r\n"); - $buf->shouldReceive('write')->once()->with("RSET\r\n")->andReturn(7); - $buf->shouldReceive('readLine')->once()->with(7)->andReturn("250 OK\r\n"); - - $buf->shouldReceive('write')->once()->with("MAIL FROM:\r\n")->andReturn(9); - $buf->shouldReceive('readLine')->once()->with(9)->andReturn("250 OK\r\n"); - $buf->shouldReceive('write')->once()->with("RCPT TO:\r\n")->andReturn(10); - $buf->shouldReceive('readLine')->once()->with(10)->andReturn("500 Bad\r\n"); - $buf->shouldReceive('write')->once()->with("RSET\r\n")->andReturn(11); - $buf->shouldReceive('readLine')->once()->with(11)->andReturn("250 OK\r\n"); - - $this->finishBuffer($buf); - $smtp->start(); - $this->assertEquals(1, $smtp->send($message, $failures)); - $this->assertEquals(['zip@button', 'test@domain'], $failures, - '%s: Failures should be caught in an array' - ); - } - - public function testSendingRegeneratesMessageId() - { - $buf = $this->getBuffer(); - $smtp = $this->getTransport($buf); - $message = $this->createMessage(); - $message->shouldReceive('getFrom') - ->zeroOrMoreTimes() - ->andReturn(['me@domain.com' => 'Me']); - $message->shouldReceive('getTo') - ->zeroOrMoreTimes() - ->andReturn(['foo@bar' => null]); - $message->shouldReceive('generateId') - ->once(); - - $this->finishBuffer($buf); - $smtp->start(); - $smtp->send($message); - } - - public function testPing() - { - $buf = $this->getBuffer(); - $smtp = $this->getTransport($buf); - - $buf->shouldReceive('initialize') - ->once(); - $buf->shouldReceive('readLine') - ->once() - ->with(0) - ->andReturn("220 some.server.tld bleh\r\n"); - $buf->shouldReceive('write') - ->once() - ->with('~^NOOP\r\n$~D') - ->andReturn(1); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn('250 OK'."\r\n"); - - $this->finishBuffer($buf); - $this->assertTrue($smtp->ping()); - } - - public function testPingOnDeadConnection() - { - $buf = $this->getBuffer(); - $smtp = $this->getTransport($buf); - - $buf->shouldReceive('initialize') - ->once(); - $buf->shouldReceive('readLine') - ->once() - ->with(0) - ->andReturn("220 some.server.tld bleh\r\n"); - $buf->shouldReceive('write') - ->once() - ->with('~^NOOP\r\n$~D') - ->andThrow('Swift_TransportException'); - - $this->finishBuffer($buf); - $smtp->start(); - $this->assertTrue($smtp->isStarted()); - $this->assertFalse($smtp->ping()); - $this->assertFalse($smtp->isStarted()); - } - - public function testSetLocalDomain() - { - $buf = $this->getBuffer(); - $smtp = $this->getTransport($buf); - - $smtp->setLocalDomain('example.com'); - $this->assertEquals('example.com', $smtp->getLocalDomain()); - - $smtp->setLocalDomain('192.168.0.1'); - $this->assertEquals('[192.168.0.1]', $smtp->getLocalDomain()); - - $smtp->setLocalDomain('[192.168.0.1]'); - $this->assertEquals('[192.168.0.1]', $smtp->getLocalDomain()); - - $smtp->setLocalDomain('fd00::'); - $this->assertEquals('[IPv6:fd00::]', $smtp->getLocalDomain()); - - $smtp->setLocalDomain('[IPv6:fd00::]'); - $this->assertEquals('[IPv6:fd00::]', $smtp->getLocalDomain()); - } - - protected function getBuffer() - { - return $this->getMockery('Swift_Transport_IoBuffer')->shouldIgnoreMissing(); - } - - protected function createMessage() - { - return $this->getMockery('Swift_Mime_SimpleMessage')->shouldIgnoreMissing(); - } - - protected function finishBuffer($buf) - { - $buf->shouldReceive('readLine') - ->zeroOrMoreTimes() - ->with(0) - ->andReturn('220 server.com foo'."\r\n"); - $buf->shouldReceive('write') - ->zeroOrMoreTimes() - ->with('~^(EH|HE)LO .*?\r\n$~D') - ->andReturn($x = uniqid('', true)); - $buf->shouldReceive('readLine') - ->zeroOrMoreTimes() - ->with($x) - ->andReturn('250 ServerName'."\r\n"); - $buf->shouldReceive('write') - ->zeroOrMoreTimes() - ->with('~^MAIL FROM:<.*?>\r\n$~D') - ->andReturn($x = uniqid('', true)); - $buf->shouldReceive('readLine') - ->zeroOrMoreTimes() - ->with($x) - ->andReturn("250 OK\r\n"); - $buf->shouldReceive('write') - ->zeroOrMoreTimes() - ->with('~^RCPT TO:<.*?>\r\n$~D') - ->andReturn($x = uniqid('', true)); - $buf->shouldReceive('readLine') - ->zeroOrMoreTimes() - ->with($x) - ->andReturn("250 OK\r\n"); - $buf->shouldReceive('write') - ->zeroOrMoreTimes() - ->with("DATA\r\n") - ->andReturn($x = uniqid('', true)); - $buf->shouldReceive('readLine') - ->zeroOrMoreTimes() - ->with($x) - ->andReturn("354 OK\r\n"); - $buf->shouldReceive('write') - ->zeroOrMoreTimes() - ->with("\r\n.\r\n") - ->andReturn($x = uniqid('', true)); - $buf->shouldReceive('readLine') - ->zeroOrMoreTimes() - ->with($x) - ->andReturn("250 OK\r\n"); - $buf->shouldReceive('write') - ->zeroOrMoreTimes() - ->with("RSET\r\n") - ->andReturn($x = uniqid('', true)); - $buf->shouldReceive('readLine') - ->zeroOrMoreTimes() - ->with($x) - ->andReturn("250 OK\r\n"); - - $buf->shouldReceive('write') - ->zeroOrMoreTimes() - ->andReturn(false); - $buf->shouldReceive('readLine') - ->zeroOrMoreTimes() - ->andReturn(false); - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Transport/Esmtp/Auth/CramMd5AuthenticatorTest.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Transport/Esmtp/Auth/CramMd5AuthenticatorTest.php deleted file mode 100644 index ba131e8ee5..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Transport/Esmtp/Auth/CramMd5AuthenticatorTest.php +++ /dev/null @@ -1,65 +0,0 @@ -agent = $this->getMockery('Swift_Transport_SmtpAgent')->shouldIgnoreMissing(); - } - - public function testKeywordIsCramMd5() - { - /* -- RFC 2195, 2. - The authentication type associated with CRAM is "CRAM-MD5". - */ - - $cram = $this->getAuthenticator(); - $this->assertEquals('CRAM-MD5', $cram->getAuthKeyword()); - } - - public function testSuccessfulAuthentication() - { - $cram = $this->getAuthenticator(); - - $this->agent->shouldReceive('executeCommand') - ->once() - ->with("AUTH CRAM-MD5\r\n", [334]) - ->andReturn('334 '.base64_encode('')."\r\n"); - $this->agent->shouldReceive('executeCommand') - ->once() - ->with(\Mockery::any(), [235]); - - $this->assertTrue($cram->authenticate($this->agent, 'jack', 'pass'), - '%s: The buffer accepted all commands authentication should succeed' - ); - } - - /** - * @expectedException \Swift_TransportException - */ - public function testAuthenticationFailureSendRset() - { - $cram = $this->getAuthenticator(); - - $this->agent->shouldReceive('executeCommand') - ->once() - ->with("AUTH CRAM-MD5\r\n", [334]) - ->andReturn('334 '.base64_encode('')."\r\n"); - $this->agent->shouldReceive('executeCommand') - ->once() - ->with(\Mockery::any(), [235]) - ->andThrow(new Swift_TransportException('')); - $this->agent->shouldReceive('executeCommand') - ->once() - ->with("RSET\r\n", [250]); - - $cram->authenticate($this->agent, 'jack', 'pass'); - } - - private function getAuthenticator() - { - return new Swift_Transport_Esmtp_Auth_CramMd5Authenticator(); - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Transport/Esmtp/Auth/LoginAuthenticatorTest.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Transport/Esmtp/Auth/LoginAuthenticatorTest.php deleted file mode 100644 index 499ceb772c..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Transport/Esmtp/Auth/LoginAuthenticatorTest.php +++ /dev/null @@ -1,65 +0,0 @@ -agent = $this->getMockery('Swift_Transport_SmtpAgent')->shouldIgnoreMissing(); - } - - public function testKeywordIsLogin() - { - $login = $this->getAuthenticator(); - $this->assertEquals('LOGIN', $login->getAuthKeyword()); - } - - public function testSuccessfulAuthentication() - { - $login = $this->getAuthenticator(); - - $this->agent->shouldReceive('executeCommand') - ->once() - ->with("AUTH LOGIN\r\n", [334]); - $this->agent->shouldReceive('executeCommand') - ->once() - ->with(base64_encode('jack')."\r\n", [334]); - $this->agent->shouldReceive('executeCommand') - ->once() - ->with(base64_encode('pass')."\r\n", [235]); - - $this->assertTrue($login->authenticate($this->agent, 'jack', 'pass'), - '%s: The buffer accepted all commands authentication should succeed' - ); - } - - /** - * @expectedException \Swift_TransportException - */ - public function testAuthenticationFailureSendRset() - { - $login = $this->getAuthenticator(); - - $this->agent->shouldReceive('executeCommand') - ->once() - ->with("AUTH LOGIN\r\n", [334]); - $this->agent->shouldReceive('executeCommand') - ->once() - ->with(base64_encode('jack')."\r\n", [334]); - $this->agent->shouldReceive('executeCommand') - ->once() - ->with(base64_encode('pass')."\r\n", [235]) - ->andThrow(new Swift_TransportException('')); - $this->agent->shouldReceive('executeCommand') - ->once() - ->with("RSET\r\n", [250]); - - $login->authenticate($this->agent, 'jack', 'pass'); - } - - private function getAuthenticator() - { - return new Swift_Transport_Esmtp_Auth_LoginAuthenticator(); - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Transport/Esmtp/Auth/NTLMAuthenticatorTest.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Transport/Esmtp/Auth/NTLMAuthenticatorTest.php deleted file mode 100644 index df306eb490..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Transport/Esmtp/Auth/NTLMAuthenticatorTest.php +++ /dev/null @@ -1,204 +0,0 @@ -markTestSkipped('One of the required functions is not available.'); - } - } - - public function testKeywordIsNtlm() - { - $login = $this->getAuthenticator(); - $this->assertEquals('NTLM', $login->getAuthKeyword()); - } - - public function testMessage1Generator() - { - $login = $this->getAuthenticator(); - $message1 = $this->invokePrivateMethod('createMessage1', $login); - - $this->assertEquals($this->message1, bin2hex($message1), '%s: We send the smallest ntlm message which should never fail.'); - } - - public function testLMv1Generator() - { - $password = 'test1234'; - $challenge = 'b019d38bad875c9d'; - $lmv1 = '1879f60127f8a877022132ec221bcbf3ca016a9f76095606'; - - $login = $this->getAuthenticator(); - $lmv1Result = $this->invokePrivateMethod('createLMPassword', $login, [$password, hex2bin($challenge)]); - - $this->assertEquals($lmv1, bin2hex($lmv1Result), '%s: The keys should be the same cause we use the same values to generate them.'); - } - - public function testLMv2Generator() - { - $username = 'user'; - $password = 'SecREt01'; - $domain = 'DOMAIN'; - $challenge = '0123456789abcdef'; - $lmv2 = 'd6e6152ea25d03b7c6ba6629c2d6aaf0ffffff0011223344'; - - $login = $this->getAuthenticator(); - $lmv2Result = $this->invokePrivateMethod('createLMv2Password', $login, [$password, $username, $domain, hex2bin($challenge), hex2bin('ffffff0011223344')]); - - $this->assertEquals($lmv2, bin2hex($lmv2Result), '%s: The keys should be the same cause we use the same values to generate them.'); - } - - public function testMessage3v1Generator() - { - $username = 'test'; - $domain = 'TESTNT'; - $workstation = 'MEMBER'; - $lmResponse = '1879f60127f8a877022132ec221bcbf3ca016a9f76095606'; - $ntlmResponse = 'e6285df3287c5d194f84df1a94817c7282d09754b6f9e02a'; - $message3T = '4e544c4d5353500003000000180018006000000018001800780000000c000c0040000000080008004c0000000c000c0054000000000000009a0000000102000054004500530054004e00540074006500730074004d0045004d004200450052001879f60127f8a877022132ec221bcbf3ca016a9f76095606e6285df3287c5d194f84df1a94817c7282d09754b6f9e02a'; - - $login = $this->getAuthenticator(); - $message3 = $this->invokePrivateMethod('createMessage3', $login, [$domain, $username, $workstation, hex2bin($lmResponse), hex2bin($ntlmResponse)]); - - $this->assertEquals($message3T, bin2hex($message3), '%s: We send the same information as the example is created with so this should be the same'); - } - - public function testMessage3v2Generator() - { - $username = 'test'; - $domain = 'TESTNT'; - $workstation = 'MEMBER'; - $lmResponse = 'bf2e015119f6bdb3f6fdb768aa12d478f5ce3d2401c8f6e9'; - $ntlmResponse = 'caa4da8f25d5e840974ed8976d3ada46010100000000000030fa7e3c677bc301f5ce3d2401c8f6e90000000002000c0054004500530054004e00540001000c004d0045004d0042004500520003001e006d0065006d006200650072002e0074006500730074002e0063006f006d000000000000000000'; - - $login = $this->getAuthenticator(); - $message3 = $this->invokePrivateMethod('createMessage3', $login, [$domain, $username, $workstation, hex2bin($lmResponse), hex2bin($ntlmResponse)]); - - $this->assertEquals($this->message3, bin2hex($message3), '%s: We send the same information as the example is created with so this should be the same'); - } - - public function testGetDomainAndUsername() - { - $username = "DOMAIN\user"; - - $login = $this->getAuthenticator(); - list($domain, $user) = $this->invokePrivateMethod('getDomainAndUsername', $login, [$username]); - - $this->assertEquals('DOMAIN', $domain, '%s: the fetched domain did not match'); - $this->assertEquals('user', $user, '%s: the fetched user did not match'); - } - - public function testGetDomainAndUsernameWithExtension() - { - $username = "domain.com\user"; - - $login = $this->getAuthenticator(); - list($domain, $user) = $this->invokePrivateMethod('getDomainAndUsername', $login, [$username]); - - $this->assertEquals('domain.com', $domain, '%s: the fetched domain did not match'); - $this->assertEquals('user', $user, '%s: the fetched user did not match'); - } - - public function testGetDomainAndUsernameWithAtSymbol() - { - $username = 'user@DOMAIN'; - - $login = $this->getAuthenticator(); - list($domain, $user) = $this->invokePrivateMethod('getDomainAndUsername', $login, [$username]); - - $this->assertEquals('DOMAIN', $domain, '%s: the fetched domain did not match'); - $this->assertEquals('user', $user, '%s: the fetched user did not match'); - } - - public function testGetDomainAndUsernameWithAtSymbolAndExtension() - { - $username = 'user@domain.com'; - - $login = $this->getAuthenticator(); - list($domain, $user) = $this->invokePrivateMethod('getDomainAndUsername', $login, [$username]); - - $this->assertEquals('domain.com', $domain, '%s: the fetched domain did not match'); - $this->assertEquals('user', $user, '%s: the fetched user did not match'); - } - - public function testGetDomainAndUsernameWithoutDomain() - { - $username = 'user'; - - $login = $this->getAuthenticator(); - list($domain, $user) = $this->invokePrivateMethod('getDomainAndUsername', $login, [$username]); - - $this->assertEquals('', $domain, '%s: the fetched domain did not match'); - $this->assertEquals('user', $user, '%s: the fetched user did not match'); - } - - public function testSuccessfulAuthentication() - { - $domain = 'TESTNT'; - $username = 'test'; - $secret = 'test1234'; - - $ntlm = $this->getAuthenticator(); - $agent = $this->getAgent(); - $agent->shouldReceive('executeCommand') - ->once() - ->with('AUTH NTLM '.base64_encode( - $this->invokePrivateMethod('createMessage1', $ntlm) - )."\r\n", [334]) - ->andReturn('334 '.base64_encode(hex2bin('4e544c4d53535000020000000c000c003000000035828980514246973ea892c10000000000000000460046003c00000054004500530054004e00540002000c0054004500530054004e00540001000c004d0045004d0042004500520003001e006d0065006d006200650072002e0074006500730074002e0063006f006d0000000000'))); - $agent->shouldReceive('executeCommand') - ->once() - ->with(base64_encode( - $this->invokePrivateMethod('createMessage3', $ntlm, [$domain, $username, hex2bin('4d0045004d00420045005200'), hex2bin('bf2e015119f6bdb3f6fdb768aa12d478f5ce3d2401c8f6e9'), hex2bin('caa4da8f25d5e840974ed8976d3ada46010100000000000030fa7e3c677bc301f5ce3d2401c8f6e90000000002000c0054004500530054004e00540001000c004d0045004d0042004500520003001e006d0065006d006200650072002e0074006500730074002e0063006f006d000000000000000000')] - ))."\r\n", [235]); - - $this->assertTrue($ntlm->authenticate($agent, $username.'@'.$domain, $secret, hex2bin('30fa7e3c677bc301'), hex2bin('f5ce3d2401c8f6e9')), '%s: The buffer accepted all commands authentication should succeed'); - } - - /** - * @expectedException \Swift_TransportException - */ - public function testAuthenticationFailureSendRset() - { - $domain = 'TESTNT'; - $username = 'test'; - $secret = 'test1234'; - - $ntlm = $this->getAuthenticator(); - $agent = $this->getAgent(); - $agent->shouldReceive('executeCommand') - ->once() - ->with('AUTH NTLM '.base64_encode( - $this->invokePrivateMethod('createMessage1', $ntlm) - )."\r\n", [334]) - ->andThrow(new Swift_TransportException('')); - $agent->shouldReceive('executeCommand') - ->once() - ->with("RSET\r\n", [250]); - - $ntlm->authenticate($agent, $username.'@'.$domain, $secret, hex2bin('30fa7e3c677bc301'), hex2bin('f5ce3d2401c8f6e9')); - } - - private function getAuthenticator() - { - return new Swift_Transport_Esmtp_Auth_NTLMAuthenticator(); - } - - private function getAgent() - { - return $this->getMockery('Swift_Transport_SmtpAgent')->shouldIgnoreMissing(); - } - - private function invokePrivateMethod($method, $instance, array $args = []) - { - $methodC = new ReflectionMethod($instance, trim($method)); - $methodC->setAccessible(true); - - return $methodC->invokeArgs($instance, $args); - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Transport/Esmtp/Auth/PlainAuthenticatorTest.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Transport/Esmtp/Auth/PlainAuthenticatorTest.php deleted file mode 100644 index 1bb2c992b6..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Transport/Esmtp/Auth/PlainAuthenticatorTest.php +++ /dev/null @@ -1,68 +0,0 @@ -agent = $this->getMockery('Swift_Transport_SmtpAgent')->shouldIgnoreMissing(); - } - - public function testKeywordIsPlain() - { - /* -- RFC 4616, 1. - The name associated with this mechanism is "PLAIN". - */ - - $login = $this->getAuthenticator(); - $this->assertEquals('PLAIN', $login->getAuthKeyword()); - } - - public function testSuccessfulAuthentication() - { - /* -- RFC 4616, 2. - The client presents the authorization identity (identity to act as), - followed by a NUL (U+0000) character, followed by the authentication - identity (identity whose password will be used), followed by a NUL - (U+0000) character, followed by the clear-text password. - */ - - $plain = $this->getAuthenticator(); - - $this->agent->shouldReceive('executeCommand') - ->once() - ->with('AUTH PLAIN '.base64_encode( - 'jack'.chr(0).'jack'.chr(0).'pass' - )."\r\n", [235]); - - $this->assertTrue($plain->authenticate($this->agent, 'jack', 'pass'), - '%s: The buffer accepted all commands authentication should succeed' - ); - } - - /** - * @expectedException \Swift_TransportException - */ - public function testAuthenticationFailureSendRset() - { - $plain = $this->getAuthenticator(); - - $this->agent->shouldReceive('executeCommand') - ->once() - ->with('AUTH PLAIN '.base64_encode( - 'jack'.chr(0).'jack'.chr(0).'pass' - )."\r\n", [235]) - ->andThrow(new Swift_TransportException('')); - $this->agent->shouldReceive('executeCommand') - ->once() - ->with("RSET\r\n", [250]); - - $plain->authenticate($this->agent, 'jack', 'pass'); - } - - private function getAuthenticator() - { - return new Swift_Transport_Esmtp_Auth_PlainAuthenticator(); - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Transport/Esmtp/AuthHandlerTest.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Transport/Esmtp/AuthHandlerTest.php deleted file mode 100644 index 36a4cf818c..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Transport/Esmtp/AuthHandlerTest.php +++ /dev/null @@ -1,165 +0,0 @@ -agent = $this->getMockery('Swift_Transport_SmtpAgent')->shouldIgnoreMissing(); - } - - public function testKeywordIsAuth() - { - $auth = $this->createHandler([]); - $this->assertEquals('AUTH', $auth->getHandledKeyword()); - } - - public function testUsernameCanBeSetAndFetched() - { - $auth = $this->createHandler([]); - $auth->setUsername('jack'); - $this->assertEquals('jack', $auth->getUsername()); - } - - public function testPasswordCanBeSetAndFetched() - { - $auth = $this->createHandler([]); - $auth->setPassword('pass'); - $this->assertEquals('pass', $auth->getPassword()); - } - - public function testAuthModeCanBeSetAndFetched() - { - $auth = $this->createHandler([]); - $auth->setAuthMode('PLAIN'); - $this->assertEquals('PLAIN', $auth->getAuthMode()); - } - - public function testMixinMethods() - { - $auth = $this->createHandler([]); - $mixins = $auth->exposeMixinMethods(); - $this->assertTrue(in_array('getUsername', $mixins), - '%s: getUsername() should be accessible via mixin' - ); - $this->assertTrue(in_array('setUsername', $mixins), - '%s: setUsername() should be accessible via mixin' - ); - $this->assertTrue(in_array('getPassword', $mixins), - '%s: getPassword() should be accessible via mixin' - ); - $this->assertTrue(in_array('setPassword', $mixins), - '%s: setPassword() should be accessible via mixin' - ); - $this->assertTrue(in_array('setAuthMode', $mixins), - '%s: setAuthMode() should be accessible via mixin' - ); - $this->assertTrue(in_array('getAuthMode', $mixins), - '%s: getAuthMode() should be accessible via mixin' - ); - } - - public function testAuthenticatorsAreCalledAccordingToParamsAfterEhlo() - { - $a1 = $this->createMockAuthenticator('PLAIN'); - $a2 = $this->createMockAuthenticator('LOGIN'); - - $a1->shouldReceive('authenticate') - ->never() - ->with($this->agent, 'jack', 'pass'); - $a2->shouldReceive('authenticate') - ->once() - ->with($this->agent, 'jack', 'pass') - ->andReturn(true); - - $auth = $this->createHandler([$a1, $a2]); - $auth->setUsername('jack'); - $auth->setPassword('pass'); - - $auth->setKeywordParams(['CRAM-MD5', 'LOGIN']); - $auth->afterEhlo($this->agent); - } - - public function testAuthenticatorsAreNotUsedIfNoUsernameSet() - { - $a1 = $this->createMockAuthenticator('PLAIN'); - $a2 = $this->createMockAuthenticator('LOGIN'); - - $a1->shouldReceive('authenticate') - ->never() - ->with($this->agent, 'jack', 'pass'); - $a2->shouldReceive('authenticate') - ->never() - ->with($this->agent, 'jack', 'pass') - ->andReturn(true); - - $auth = $this->createHandler([$a1, $a2]); - - $auth->setKeywordParams(['CRAM-MD5', 'LOGIN']); - $auth->afterEhlo($this->agent); - } - - public function testSeveralAuthenticatorsAreTriedIfNeeded() - { - $a1 = $this->createMockAuthenticator('PLAIN'); - $a2 = $this->createMockAuthenticator('LOGIN'); - - $a1->shouldReceive('authenticate') - ->once() - ->with($this->agent, 'jack', 'pass') - ->andReturn(false); - $a2->shouldReceive('authenticate') - ->once() - ->with($this->agent, 'jack', 'pass') - ->andReturn(true); - - $auth = $this->createHandler([$a1, $a2]); - $auth->setUsername('jack'); - $auth->setPassword('pass'); - - $auth->setKeywordParams(['PLAIN', 'LOGIN']); - $auth->afterEhlo($this->agent); - } - - public function testFirstAuthenticatorToPassBreaksChain() - { - $a1 = $this->createMockAuthenticator('PLAIN'); - $a2 = $this->createMockAuthenticator('LOGIN'); - $a3 = $this->createMockAuthenticator('CRAM-MD5'); - - $a1->shouldReceive('authenticate') - ->once() - ->with($this->agent, 'jack', 'pass') - ->andReturn(false); - $a2->shouldReceive('authenticate') - ->once() - ->with($this->agent, 'jack', 'pass') - ->andReturn(true); - $a3->shouldReceive('authenticate') - ->never() - ->with($this->agent, 'jack', 'pass'); - - $auth = $this->createHandler([$a1, $a2]); - $auth->setUsername('jack'); - $auth->setPassword('pass'); - - $auth->setKeywordParams(['PLAIN', 'LOGIN', 'CRAM-MD5']); - $auth->afterEhlo($this->agent); - } - - private function createHandler($authenticators) - { - return new Swift_Transport_Esmtp_AuthHandler($authenticators); - } - - private function createMockAuthenticator($type) - { - $authenticator = $this->getMockery('Swift_Transport_Esmtp_Authenticator')->shouldIgnoreMissing(); - $authenticator->shouldReceive('getAuthKeyword') - ->zeroOrMoreTimes() - ->andReturn($type); - - return $authenticator; - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Transport/EsmtpTransport/ExtensionSupportTest.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Transport/EsmtpTransport/ExtensionSupportTest.php deleted file mode 100644 index d9e363a706..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Transport/EsmtpTransport/ExtensionSupportTest.php +++ /dev/null @@ -1,561 +0,0 @@ -getBuffer(); - $smtp = $this->getTransport($buf); - $ext1 = $this->getMockery('Swift_Transport_EsmtpHandler')->shouldIgnoreMissing(); - $ext2 = $this->getMockery('Swift_Transport_EsmtpHandler')->shouldIgnoreMissing(); - - $ext1->shouldReceive('getHandledKeyword') - ->zeroOrMoreTimes() - ->andReturn('AUTH'); - $ext1->shouldReceive('getPriorityOver') - ->zeroOrMoreTimes() - ->with('STARTTLS') - ->andReturn(1); - $ext2->shouldReceive('getHandledKeyword') - ->zeroOrMoreTimes() - ->andReturn('STARTTLS'); - $ext2->shouldReceive('getPriorityOver') - ->zeroOrMoreTimes() - ->with('AUTH') - ->andReturn(-1); - $this->finishBuffer($buf); - - $smtp->setExtensionHandlers([$ext1, $ext2]); - $this->assertEquals([$ext2, $ext1], $smtp->getExtensionHandlers()); - } - - public function testHandlersAreNotifiedOfParams() - { - $buf = $this->getBuffer(); - $smtp = $this->getTransport($buf); - $ext1 = $this->getMockery('Swift_Transport_EsmtpHandler')->shouldIgnoreMissing(); - $ext2 = $this->getMockery('Swift_Transport_EsmtpHandler')->shouldIgnoreMissing(); - - $buf->shouldReceive('readLine') - ->once() - ->with(0) - ->andReturn("220 server.com foo\r\n"); - $buf->shouldReceive('write') - ->once() - ->with('~^EHLO .*?\r\n$~D') - ->andReturn(1); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn("250-ServerName.tld\r\n"); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn("250-AUTH PLAIN LOGIN\r\n"); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn("250 SIZE=123456\r\n"); - - $ext1->shouldReceive('getHandledKeyword') - ->zeroOrMoreTimes() - ->andReturn('AUTH'); - $ext1->shouldReceive('setKeywordParams') - ->once() - ->with(['PLAIN', 'LOGIN']); - $ext2->shouldReceive('getHandledKeyword') - ->zeroOrMoreTimes() - ->andReturn('SIZE'); - $ext2->shouldReceive('setKeywordParams') - ->zeroOrMoreTimes() - ->with(['123456']); - $this->finishBuffer($buf); - - $smtp->setExtensionHandlers([$ext1, $ext2]); - $smtp->start(); - } - - public function testSupportedExtensionHandlersAreRunAfterEhlo() - { - $buf = $this->getBuffer(); - $smtp = $this->getTransport($buf); - $ext1 = $this->getMockery('Swift_Transport_EsmtpHandler')->shouldIgnoreMissing(); - $ext2 = $this->getMockery('Swift_Transport_EsmtpHandler')->shouldIgnoreMissing(); - $ext3 = $this->getMockery('Swift_Transport_EsmtpHandler')->shouldIgnoreMissing(); - - $buf->shouldReceive('readLine') - ->once() - ->with(0) - ->andReturn("220 server.com foo\r\n"); - $buf->shouldReceive('write') - ->once() - ->with('~^EHLO .*?\r\n$~D') - ->andReturn(1); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn("250-ServerName.tld\r\n"); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn("250-AUTH PLAIN LOGIN\r\n"); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn("250 SIZE=123456\r\n"); - - $ext1->shouldReceive('getHandledKeyword') - ->zeroOrMoreTimes() - ->andReturn('AUTH'); - $ext1->shouldReceive('afterEhlo') - ->once() - ->with($smtp); - $ext2->shouldReceive('getHandledKeyword') - ->zeroOrMoreTimes() - ->andReturn('SIZE'); - $ext2->shouldReceive('afterEhlo') - ->zeroOrMoreTimes() - ->with($smtp); - $ext3->shouldReceive('getHandledKeyword') - ->zeroOrMoreTimes() - ->andReturn('STARTTLS'); - $ext3->shouldReceive('afterEhlo') - ->never() - ->with($smtp); - $this->finishBuffer($buf); - - $smtp->setExtensionHandlers([$ext1, $ext2, $ext3]); - $smtp->start(); - } - - public function testExtensionsCanModifyMailFromParams() - { - $buf = $this->getBuffer(); - $dispatcher = $this->createEventDispatcher(); - $smtp = new Swift_Transport_EsmtpTransport($buf, [], $dispatcher, 'example.org'); - $ext1 = $this->getMockery('Swift_Transport_EsmtpHandler')->shouldIgnoreMissing(); - $ext2 = $this->getMockery('Swift_Transport_EsmtpHandler')->shouldIgnoreMissing(); - $ext3 = $this->getMockery('Swift_Transport_EsmtpHandler')->shouldIgnoreMissing(); - $message = $this->createMessage(); - - $message->shouldReceive('getFrom') - ->zeroOrMoreTimes() - ->andReturn(['me@domain' => 'Me']); - $message->shouldReceive('getTo') - ->zeroOrMoreTimes() - ->andReturn(['foo@bar' => null]); - - $buf->shouldReceive('readLine') - ->once() - ->with(0) - ->andReturn("220 server.com foo\r\n"); - $buf->shouldReceive('write') - ->once() - ->with('~^EHLO .*?\r\n$~D') - ->andReturn(1); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn("250-ServerName.tld\r\n"); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn("250-AUTH PLAIN LOGIN\r\n"); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn("250 SIZE=123456\r\n"); - $buf->shouldReceive('write') - ->once() - ->with("MAIL FROM: FOO ZIP\r\n") - ->andReturn(2); - $buf->shouldReceive('readLine') - ->once() - ->with(2) - ->andReturn("250 OK\r\n"); - $buf->shouldReceive('write') - ->once() - ->with("RCPT TO:\r\n") - ->andReturn(3); - $buf->shouldReceive('readLine') - ->once() - ->with(3) - ->andReturn("250 OK\r\n"); - $this->finishBuffer($buf); - - $ext1->shouldReceive('getHandledKeyword') - ->zeroOrMoreTimes() - ->andReturn('AUTH'); - $ext1->shouldReceive('getMailParams') - ->once() - ->andReturn('FOO'); - $ext1->shouldReceive('getPriorityOver') - ->zeroOrMoreTimes() - ->with('STARTTLS') - ->andReturn(1); - $ext1->shouldReceive('getPriorityOver') - ->zeroOrMoreTimes() - ->with('SIZE') - ->andReturn(-1); - $ext2->shouldReceive('getHandledKeyword') - ->zeroOrMoreTimes() - ->andReturn('SIZE'); - $ext2->shouldReceive('getMailParams') - ->once() - ->andReturn('ZIP'); - $ext2->shouldReceive('getPriorityOver') - ->zeroOrMoreTimes() - ->with('AUTH') - ->andReturn(1); - $ext2->shouldReceive('getPriorityOver') - ->zeroOrMoreTimes() - ->with('STARTTLS') - ->andReturn(1); - $ext3->shouldReceive('getHandledKeyword') - ->zeroOrMoreTimes() - ->andReturn('STARTTLS'); - $ext3->shouldReceive('getMailParams') - ->never(); - $ext3->shouldReceive('getPriorityOver') - ->zeroOrMoreTimes() - ->with('AUTH') - ->andReturn(-1); - $ext3->shouldReceive('getPriorityOver') - ->zeroOrMoreTimes() - ->with('SIZE') - ->andReturn(-1); - - $smtp->setExtensionHandlers([$ext1, $ext2, $ext3]); - $smtp->start(); - $smtp->send($message); - } - - public function testExtensionsCanModifyRcptParams() - { - $buf = $this->getBuffer(); - $dispatcher = $this->createEventDispatcher(); - $smtp = new Swift_Transport_EsmtpTransport($buf, [], $dispatcher, 'example.org'); - $ext1 = $this->getMockery('Swift_Transport_EsmtpHandler')->shouldIgnoreMissing(); - $ext2 = $this->getMockery('Swift_Transport_EsmtpHandler')->shouldIgnoreMissing(); - $ext3 = $this->getMockery('Swift_Transport_EsmtpHandler')->shouldIgnoreMissing(); - $message = $this->createMessage(); - - $message->shouldReceive('getFrom') - ->zeroOrMoreTimes() - ->andReturn(['me@domain' => 'Me']); - $message->shouldReceive('getTo') - ->zeroOrMoreTimes() - ->andReturn(['foo@bar' => null]); - - $buf->shouldReceive('readLine') - ->once() - ->with(0) - ->andReturn("220 server.com foo\r\n"); - $buf->shouldReceive('write') - ->once() - ->with('~^EHLO .+?\r\n$~D') - ->andReturn(1); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn("250-ServerName.tld\r\n"); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn("250-AUTH PLAIN LOGIN\r\n"); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn("250 SIZE=123456\r\n"); - $buf->shouldReceive('write') - ->once() - ->with("MAIL FROM:\r\n") - ->andReturn(2); - $buf->shouldReceive('readLine') - ->once() - ->with(2) - ->andReturn("250 OK\r\n"); - $buf->shouldReceive('write') - ->once() - ->with("RCPT TO: FOO ZIP\r\n") - ->andReturn(3); - $buf->shouldReceive('readLine') - ->once() - ->with(3) - ->andReturn("250 OK\r\n"); - $this->finishBuffer($buf); - - $ext1->shouldReceive('getHandledKeyword') - ->zeroOrMoreTimes() - ->andReturn('AUTH'); - $ext1->shouldReceive('getRcptParams') - ->once() - ->andReturn('FOO'); - $ext1->shouldReceive('getPriorityOver') - ->zeroOrMoreTimes() - ->with('STARTTLS') - ->andReturn(1); - $ext1->shouldReceive('getPriorityOver') - ->zeroOrMoreTimes() - ->with('SIZE') - ->andReturn(-1); - $ext2->shouldReceive('getHandledKeyword') - ->zeroOrMoreTimes() - ->andReturn('SIZE'); - $ext2->shouldReceive('getRcptParams') - ->once() - ->andReturn('ZIP'); - $ext2->shouldReceive('getPriorityOver') - ->zeroOrMoreTimes() - ->with('STARTTLS') - ->andReturn(1); - $ext2->shouldReceive('getPriorityOver') - ->zeroOrMoreTimes() - ->with('AUTH') - ->andReturn(1); - $ext3->shouldReceive('getHandledKeyword') - ->zeroOrMoreTimes() - ->andReturn('STARTTLS'); - $ext3->shouldReceive('getRcptParams') - ->never(); - $ext3->shouldReceive('getPriorityOver') - ->zeroOrMoreTimes() - ->with('AUTH') - ->andReturn(-1); - $ext3->shouldReceive('getPriorityOver') - ->zeroOrMoreTimes() - ->with('SIZE') - ->andReturn(-1); - - $smtp->setExtensionHandlers([$ext1, $ext2, $ext3]); - $smtp->start(); - $smtp->send($message); - } - - public function testExtensionsAreNotifiedOnCommand() - { - $buf = $this->getBuffer(); - $smtp = $this->getTransport($buf); - $ext1 = $this->getMockery('Swift_Transport_EsmtpHandler')->shouldIgnoreMissing(); - $ext2 = $this->getMockery('Swift_Transport_EsmtpHandler')->shouldIgnoreMissing(); - $ext3 = $this->getMockery('Swift_Transport_EsmtpHandler')->shouldIgnoreMissing(); - - $buf->shouldReceive('readLine') - ->once() - ->with(0) - ->andReturn("220 server.com foo\r\n"); - $buf->shouldReceive('write') - ->once() - ->with('~^EHLO .+?\r\n$~D') - ->andReturn(1); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn("250-ServerName.tld\r\n"); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn("250-AUTH PLAIN LOGIN\r\n"); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn("250 SIZE=123456\r\n"); - $buf->shouldReceive('write') - ->once() - ->with("FOO\r\n") - ->andReturn(2); - $buf->shouldReceive('readLine') - ->once() - ->with(2) - ->andReturn("250 Cool\r\n"); - $this->finishBuffer($buf); - - $ext1->shouldReceive('getHandledKeyword') - ->zeroOrMoreTimes() - ->andReturn('AUTH'); - $ext1->shouldReceive('onCommand') - ->once() - ->with($smtp, "FOO\r\n", [250, 251], \Mockery::any(), \Mockery::any()); - $ext2->shouldReceive('getHandledKeyword') - ->zeroOrMoreTimes() - ->andReturn('SIZE'); - $ext2->shouldReceive('onCommand') - ->once() - ->with($smtp, "FOO\r\n", [250, 251], \Mockery::any(), \Mockery::any()); - $ext3->shouldReceive('getHandledKeyword') - ->zeroOrMoreTimes() - ->andReturn('STARTTLS'); - $ext3->shouldReceive('onCommand') - ->never() - ->with(\Mockery::any(), \Mockery::any(), \Mockery::any(), \Mockery::any(), \Mockery::any()); - - $smtp->setExtensionHandlers([$ext1, $ext2, $ext3]); - $smtp->start(); - $smtp->executeCommand("FOO\r\n", [250, 251]); - } - - public function testChainOfCommandAlgorithmWhenNotifyingExtensions() - { - $buf = $this->getBuffer(); - $smtp = $this->getTransport($buf); - $ext1 = $this->getMockery('Swift_Transport_EsmtpHandler')->shouldIgnoreMissing(); - $ext2 = $this->getMockery('Swift_Transport_EsmtpHandler')->shouldIgnoreMissing(); - $ext3 = $this->getMockery('Swift_Transport_EsmtpHandler')->shouldIgnoreMissing(); - - $buf->shouldReceive('readLine') - ->once() - ->with(0) - ->andReturn("220 server.com foo\r\n"); - $buf->shouldReceive('write') - ->once() - ->with('~^EHLO .+?\r\n$~D') - ->andReturn(1); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn("250-ServerName.tld\r\n"); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn("250-AUTH PLAIN LOGIN\r\n"); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn("250 SIZE=123456\r\n"); - $buf->shouldReceive('write') - ->never() - ->with("FOO\r\n"); - $this->finishBuffer($buf); - - $ext1->shouldReceive('getHandledKeyword') - ->zeroOrMoreTimes() - ->andReturn('AUTH'); - $ext1->shouldReceive('onCommand') - ->once() - ->with($smtp, "FOO\r\n", [250, 251], \Mockery::any(), \Mockery::any()) - ->andReturnUsing(function ($a, $b, $c, $d, &$e) { - $e = true; - - return '250 ok'; - }); - $ext2->shouldReceive('getHandledKeyword') - ->zeroOrMoreTimes() - ->andReturn('SIZE'); - $ext2->shouldReceive('onCommand') - ->never() - ->with(\Mockery::any(), \Mockery::any(), \Mockery::any(), \Mockery::any()); - - $ext3->shouldReceive('getHandledKeyword') - ->zeroOrMoreTimes() - ->andReturn('STARTTLS'); - $ext3->shouldReceive('onCommand') - ->never() - ->with(\Mockery::any(), \Mockery::any(), \Mockery::any(), \Mockery::any()); - - $smtp->setExtensionHandlers([$ext1, $ext2, $ext3]); - $smtp->start(); - $smtp->executeCommand("FOO\r\n", [250, 251]); - } - - public function testExtensionsCanExposeMixinMethods() - { - $buf = $this->getBuffer(); - $smtp = $this->getTransport($buf); - $ext1 = $this->getMockery('Swift_Transport_EsmtpHandlerMixin')->shouldIgnoreMissing(); - $ext2 = $this->getMockery('Swift_Transport_EsmtpHandler')->shouldIgnoreMissing(); - - $ext1->shouldReceive('getHandledKeyword') - ->zeroOrMoreTimes() - ->andReturn('AUTH'); - $ext1->shouldReceive('exposeMixinMethods') - ->zeroOrMoreTimes() - ->andReturn(['setUsername', 'setPassword']); - $ext1->shouldReceive('setUsername') - ->once() - ->with('mick'); - $ext1->shouldReceive('setPassword') - ->once() - ->with('pass'); - $ext2->shouldReceive('getHandledKeyword') - ->zeroOrMoreTimes() - ->andReturn('STARTTLS'); - $this->finishBuffer($buf); - - $smtp->setExtensionHandlers([$ext1, $ext2]); - $smtp->setUsername('mick'); - $smtp->setPassword('pass'); - } - - public function testMixinMethodsBeginningWithSetAndNullReturnAreFluid() - { - $buf = $this->getBuffer(); - $smtp = $this->getTransport($buf); - $ext1 = $this->getMockery('Swift_Transport_EsmtpHandlerMixin')->shouldIgnoreMissing(); - $ext2 = $this->getMockery('Swift_Transport_EsmtpHandler')->shouldIgnoreMissing(); - - $ext1->shouldReceive('getHandledKeyword') - ->zeroOrMoreTimes() - ->andReturn('AUTH'); - $ext1->shouldReceive('exposeMixinMethods') - ->zeroOrMoreTimes() - ->andReturn(['setUsername', 'setPassword']); - $ext1->shouldReceive('setUsername') - ->once() - ->with('mick') - ->andReturn(null); - $ext1->shouldReceive('setPassword') - ->once() - ->with('pass') - ->andReturn(null); - $ext2->shouldReceive('getHandledKeyword') - ->zeroOrMoreTimes() - ->andReturn('STARTTLS'); - $this->finishBuffer($buf); - - $smtp->setExtensionHandlers([$ext1, $ext2]); - $ret = $smtp->setUsername('mick'); - $this->assertEquals($smtp, $ret); - $ret = $smtp->setPassword('pass'); - $this->assertEquals($smtp, $ret); - } - - public function testMixinSetterWhichReturnValuesAreNotFluid() - { - $buf = $this->getBuffer(); - $smtp = $this->getTransport($buf); - $ext1 = $this->getMockery('Swift_Transport_EsmtpHandlerMixin')->shouldIgnoreMissing(); - $ext2 = $this->getMockery('Swift_Transport_EsmtpHandler')->shouldIgnoreMissing(); - - $ext1->shouldReceive('getHandledKeyword') - ->zeroOrMoreTimes() - ->andReturn('AUTH'); - $ext1->shouldReceive('exposeMixinMethods') - ->zeroOrMoreTimes() - ->andReturn(['setUsername', 'setPassword']); - $ext1->shouldReceive('setUsername') - ->once() - ->with('mick') - ->andReturn('x'); - $ext1->shouldReceive('setPassword') - ->once() - ->with('pass') - ->andReturn('x'); - $ext2->shouldReceive('getHandledKeyword') - ->zeroOrMoreTimes() - ->andReturn('STARTTLS'); - $this->finishBuffer($buf); - - $smtp->setExtensionHandlers([$ext1, $ext2]); - $this->assertEquals('x', $smtp->setUsername('mick')); - $this->assertEquals('x', $smtp->setPassword('pass')); - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Transport/EsmtpTransportTest.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Transport/EsmtpTransportTest.php deleted file mode 100644 index db1edcef49..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Transport/EsmtpTransportTest.php +++ /dev/null @@ -1,651 +0,0 @@ -createEventDispatcher(); - $addressEncoder = $addressEncoder ?? new Swift_AddressEncoder_IdnAddressEncoder(); - - return new Swift_Transport_EsmtpTransport($buf, [], $dispatcher, 'example.org', $addressEncoder); - } - - public function testHostCanBeSetAndFetched() - { - $buf = $this->getBuffer(); - $smtp = $this->getTransport($buf); - $smtp->setHost('foo'); - $this->assertEquals('foo', $smtp->getHost(), '%s: Host should be returned'); - } - - public function testPortCanBeSetAndFetched() - { - $buf = $this->getBuffer(); - $smtp = $this->getTransport($buf); - $smtp->setPort(25); - $this->assertEquals(25, $smtp->getPort(), '%s: Port should be returned'); - } - - public function testTimeoutCanBeSetAndFetched() - { - $buf = $this->getBuffer(); - $buf->shouldReceive('setParam') - ->once() - ->with('timeout', 10); - - $smtp = $this->getTransport($buf); - $smtp->setTimeout(10); - $this->assertEquals(10, $smtp->getTimeout(), '%s: Timeout should be returned'); - } - - public function testEncryptionCanBeSetAndFetched() - { - $buf = $this->getBuffer(); - $smtp = $this->getTransport($buf); - $smtp->setEncryption('tls'); - $this->assertEquals('tls', $smtp->getEncryption(), '%s: Crypto should be returned'); - } - - public function testStartSendsHeloToInitiate() - { - // previous loop would fail if there is an issue - $this->addToAssertionCount(1); - } - - public function testStartSendsEhloToInitiate() - { - /* -- RFC 2821, 3.2. - - 3.2 Client Initiation - - Once the server has sent the welcoming message and the client has - received it, the client normally sends the EHLO command to the - server, indicating the client's identity. In addition to opening the - session, use of EHLO indicates that the client is able to process - service extensions and requests that the server provide a list of the - extensions it supports. Older SMTP systems which are unable to - support service extensions and contemporary clients which do not - require service extensions in the mail session being initiated, MAY - use HELO instead of EHLO. Servers MUST NOT return the extended - EHLO-style response to a HELO command. For a particular connection - attempt, if the server returns a "command not recognized" response to - EHLO, the client SHOULD be able to fall back and send HELO. - - In the EHLO command the host sending the command identifies itself; - the command may be interpreted as saying "Hello, I am " (and, - in the case of EHLO, "and I support service extension requests"). - - -- RFC 2281, 4.1.1.1. - - ehlo = "EHLO" SP Domain CRLF - helo = "HELO" SP Domain CRLF - - -- RFC 2821, 4.3.2. - - EHLO or HELO - S: 250 - E: 504, 550 - - */ - - $buf = $this->getBuffer(); - $smtp = $this->getTransport($buf); - - $buf->shouldReceive('initialize') - ->once(); - $buf->shouldReceive('readLine') - ->once() - ->with(0) - ->andReturn("220 some.server.tld bleh\r\n"); - $buf->shouldReceive('write') - ->once() - ->with('~^EHLO .+?\r\n$~D') - ->andReturn(1); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn('250 ServerName'."\r\n"); - - $this->finishBuffer($buf); - try { - $smtp->start(); - } catch (Exception $e) { - $this->fail('Starting Esmtp should send EHLO and accept 250 response: '.$e->getMessage()); - } - } - - public function testHeloIsUsedAsFallback() - { - /* -- RFC 2821, 4.1.4. - - If the EHLO command is not acceptable to the SMTP server, 501, 500, - or 502 failure replies MUST be returned as appropriate. The SMTP - server MUST stay in the same state after transmitting these replies - that it was in before the EHLO was received. - */ - - $buf = $this->getBuffer(); - $smtp = $this->getTransport($buf); - - $buf->shouldReceive('initialize') - ->once(); - $buf->shouldReceive('readLine') - ->once() - ->with(0) - ->andReturn("220 some.server.tld bleh\r\n"); - $buf->shouldReceive('write') - ->once() - ->with('~^EHLO .+?\r\n$~D') - ->andReturn(1); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn('501 WTF'."\r\n"); - $buf->shouldReceive('write') - ->once() - ->with('~^HELO .+?\r\n$~D') - ->andReturn(2); - $buf->shouldReceive('readLine') - ->once() - ->with(2) - ->andReturn('250 HELO'."\r\n"); - - $this->finishBuffer($buf); - try { - $smtp->start(); - } catch (Exception $e) { - $this->fail( - 'Starting Esmtp should fallback to HELO if needed and accept 250 response' - ); - } - } - - public function testInvalidHeloResponseCausesException() - { - //Overridden to first try EHLO - $buf = $this->getBuffer(); - $smtp = $this->getTransport($buf); - - $buf->shouldReceive('initialize') - ->once(); - $buf->shouldReceive('readLine') - ->once() - ->with(0) - ->andReturn("220 some.server.tld bleh\r\n"); - $buf->shouldReceive('write') - ->once() - ->with('~^EHLO .+?\r\n$~D') - ->andReturn(1); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn('501 WTF'."\r\n"); - $buf->shouldReceive('write') - ->once() - ->with('~^HELO .+?\r\n$~D') - ->andReturn(2); - $buf->shouldReceive('readLine') - ->once() - ->with(2) - ->andReturn('504 WTF'."\r\n"); - $this->finishBuffer($buf); - - try { - $this->assertFalse($smtp->isStarted(), '%s: SMTP should begin non-started'); - $smtp->start(); - $this->fail('Non 250 HELO response should raise Exception'); - } catch (Exception $e) { - $this->assertFalse($smtp->isStarted(), '%s: SMTP start() should have failed'); - } - } - - public function testDomainNameIsPlacedInEhlo() - { - /* -- RFC 2821, 4.1.4. - - The SMTP client MUST, if possible, ensure that the domain parameter - to the EHLO command is a valid principal host name (not a CNAME or MX - name) for its host. If this is not possible (e.g., when the client's - address is dynamically assigned and the client does not have an - obvious name), an address literal SHOULD be substituted for the - domain name and supplemental information provided that will assist in - identifying the client. - */ - - $buf = $this->getBuffer(); - $smtp = $this->getTransport($buf); - $buf->shouldReceive('initialize') - ->once(); - $buf->shouldReceive('readLine') - ->once() - ->with(0) - ->andReturn("220 some.server.tld bleh\r\n"); - $buf->shouldReceive('write') - ->once() - ->with("EHLO mydomain.com\r\n") - ->andReturn(1); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn('250 ServerName'."\r\n"); - - $this->finishBuffer($buf); - $smtp->setLocalDomain('mydomain.com'); - $smtp->start(); - } - - public function testDomainNameIsPlacedInHelo() - { - //Overridden to include ESMTP - /* -- RFC 2821, 4.1.4. - - The SMTP client MUST, if possible, ensure that the domain parameter - to the EHLO command is a valid principal host name (not a CNAME or MX - name) for its host. If this is not possible (e.g., when the client's - address is dynamically assigned and the client does not have an - obvious name), an address literal SHOULD be substituted for the - domain name and supplemental information provided that will assist in - identifying the client. - */ - - $buf = $this->getBuffer(); - $smtp = $this->getTransport($buf); - $buf->shouldReceive('initialize') - ->once(); - $buf->shouldReceive('readLine') - ->once() - ->with(0) - ->andReturn("220 some.server.tld bleh\r\n"); - $buf->shouldReceive('write') - ->once() - ->with('~^EHLO .+?\r\n$~D') - ->andReturn(1); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn('501 WTF'."\r\n"); - $buf->shouldReceive('write') - ->once() - ->with("HELO mydomain.com\r\n") - ->andReturn(2); - $buf->shouldReceive('readLine') - ->once() - ->with(2) - ->andReturn('250 ServerName'."\r\n"); - - $this->finishBuffer($buf); - $smtp->setLocalDomain('mydomain.com'); - $smtp->start(); - } - - public function testPipelining() - { - $buf = $this->getBuffer(); - $smtp = $this->getTransport($buf); - $this->assertNull($smtp->getPipelining()); - - $message = $this->createMessage(); - $message->shouldReceive('getFrom') - ->zeroOrMoreTimes() - ->andReturn(['me@domain.com' => 'Me']); - $message->shouldReceive('getTo') - ->zeroOrMoreTimes() - ->andReturn(['foo@bar' => null]); - - $buf->shouldReceive('initialize') - ->once(); - $buf->shouldReceive('readLine') - ->once() - ->with(0) - ->andReturn("220 some.server.tld bleh\r\n"); - $buf->shouldReceive('write') - ->once() - ->with('~^EHLO .+?\r\n$~D') - ->andReturn(1); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn('250-ServerName'."\r\n"); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn('250 PIPELINING'."\r\n"); - - $buf->shouldReceive('write') - ->ordered() - ->once() - ->with("MAIL FROM:\r\n") - ->andReturn(1); - $buf->shouldReceive('write') - ->ordered() - ->once() - ->with("RCPT TO:\r\n") - ->andReturn(2); - $buf->shouldReceive('write') - ->ordered() - ->once() - ->with("DATA\r\n")->andReturn(3); - $buf->shouldReceive('readLine') - ->ordered() - ->once() - ->with(1)->andReturn("250 OK\r\n"); - $buf->shouldReceive('readLine') - ->ordered() - ->once() - ->with(2)->andReturn("250 OK\r\n"); - $buf->shouldReceive('readLine') - ->ordered() - ->once() - ->with(3)->andReturn("354 OK\r\n"); - - $this->finishBuffer($buf); - $smtp->start(); - $sent = $smtp->send($message, $failedRecipients); - - $this->assertEquals(1, $sent); - $this->assertEmpty($failedRecipients); - - $this->assertTrue($smtp->getPipelining()); - } - - public function testPipeliningWithRecipientFailure() - { - $buf = $this->getBuffer(); - $smtp = $this->getTransport($buf); - $this->assertNull($smtp->getPipelining()); - - $message = $this->createMessage(); - $message->shouldReceive('getFrom') - ->zeroOrMoreTimes() - ->andReturn(['me@domain.com' => 'Me']); - $message->shouldReceive('getTo') - ->zeroOrMoreTimes() - ->andReturn([ - 'good@foo' => null, - 'bad@foo' => null, - 'good@bar' => null, - ]); - - $buf->shouldReceive('initialize') - ->once(); - $buf->shouldReceive('readLine') - ->once() - ->with(0) - ->andReturn("220 some.server.tld bleh\r\n"); - $buf->shouldReceive('write') - ->once() - ->with('~^EHLO .+?\r\n$~D') - ->andReturn(1); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn('250-ServerName'."\r\n"); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn('250 PIPELINING'."\r\n"); - - $buf->shouldReceive('write') - ->ordered() - ->once() - ->with("MAIL FROM:\r\n") - ->andReturn(1); - $buf->shouldReceive('write') - ->ordered() - ->once() - ->with("RCPT TO:\r\n") - ->andReturn(2); - $buf->shouldReceive('write') - ->ordered() - ->once() - ->with("RCPT TO:\r\n") - ->andReturn(3); - $buf->shouldReceive('write') - ->ordered() - ->once() - ->with("RCPT TO:\r\n") - ->andReturn(4); - $buf->shouldReceive('write') - ->ordered() - ->once() - ->with("DATA\r\n") - ->andReturn(5); - $buf->shouldReceive('readLine') - ->ordered() - ->once() - ->with(1) - ->andReturn("250 OK\r\n"); - $buf->shouldReceive('readLine') - ->ordered() - ->once() - ->with(2) - ->andReturn("250 OK\r\n"); - $buf->shouldReceive('readLine') - ->ordered() - ->once() - ->with(3) - ->andReturn("450 Unknown address bad@foo\r\n"); - $buf->shouldReceive('readLine') - ->ordered() - ->once() - ->with(4) - ->andReturn("250 OK\r\n"); - $buf->shouldReceive('readLine') - ->ordered() - ->once() - ->with(5) - ->andReturn("354 OK\r\n"); - - $this->finishBuffer($buf); - $smtp->start(); - $sent = $smtp->send($message, $failedRecipients); - - $this->assertEquals(2, $sent); - $this->assertEquals(['bad@foo'], $failedRecipients); - - $this->assertTrue($smtp->getPipelining()); - } - - public function testPipeliningWithSenderFailure() - { - $buf = $this->getBuffer(); - $smtp = $this->getTransport($buf); - $this->assertNull($smtp->getPipelining()); - - $message = $this->createMessage(); - $message->shouldReceive('getFrom') - ->zeroOrMoreTimes() - ->andReturn(['me@domain.com' => 'Me']); - $message->shouldReceive('getTo') - ->zeroOrMoreTimes() - ->andReturn(['foo@bar' => null]); - - $buf->shouldReceive('initialize') - ->once(); - $buf->shouldReceive('readLine') - ->once() - ->with(0) - ->andReturn("220 some.server.tld bleh\r\n"); - $buf->shouldReceive('write') - ->once() - ->with('~^EHLO .+?\r\n$~D') - ->andReturn(1); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn('250-ServerName'."\r\n"); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn('250 PIPELINING'."\r\n"); - - $buf->shouldReceive('write') - ->ordered() - ->once() - ->with("MAIL FROM:\r\n") - ->andReturn(1); - $buf->shouldReceive('write') - ->ordered() - ->once() - ->with("RCPT TO:\r\n") - ->andReturn(2); - $buf->shouldReceive('write') - ->ordered() - ->once() - ->with("DATA\r\n")->andReturn(3); - $buf->shouldReceive('readLine') - ->ordered() - ->once() - ->with(1) - ->andReturn("550 Unknown address me@domain.com\r\n"); - - $smtp->start(); - - $this->expectException('Swift_TransportException'); - $this->expectExceptionMessage('Expected response code 250 but got code "550"'); - $smtp->send($message, $failedRecipients); - } - - public function testPipeliningWithDataFailure() - { - $buf = $this->getBuffer(); - $smtp = $this->getTransport($buf); - $this->assertNull($smtp->getPipelining()); - - $message = $this->createMessage(); - $message->shouldReceive('getFrom') - ->zeroOrMoreTimes() - ->andReturn(['me@domain.com' => 'Me']); - $message->shouldReceive('getTo') - ->zeroOrMoreTimes() - ->andReturn(['foo@bar' => null]); - - $buf->shouldReceive('initialize') - ->once(); - $buf->shouldReceive('readLine') - ->once() - ->with(0) - ->andReturn("220 some.server.tld bleh\r\n"); - $buf->shouldReceive('write') - ->once() - ->with('~^EHLO .+?\r\n$~D') - ->andReturn(1); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn('250-ServerName'."\r\n"); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn('250 PIPELINING'."\r\n"); - - $buf->shouldReceive('write') - ->ordered() - ->once() - ->with("MAIL FROM:\r\n") - ->andReturn(1); - $buf->shouldReceive('write') - ->ordered() - ->once() - ->with("RCPT TO:\r\n") - ->andReturn(2); - $buf->shouldReceive('write') - ->ordered() - ->once() - ->with("DATA\r\n")->andReturn(3); - $buf->shouldReceive('readLine') - ->ordered() - ->once() - ->with(1) - ->andReturn("250 OK\r\n"); - $buf->shouldReceive('readLine') - ->ordered() - ->once() - ->with(2) - ->andReturn("250 OK\r\n"); - $buf->shouldReceive('readLine') - ->ordered() - ->once() - ->with(3) - ->andReturn("452 Insufficient system storage\r\n"); - - $smtp->start(); - - $this->expectException('Swift_TransportException'); - $this->expectExceptionMessage('Expected response code 354 but got code "452"'); - $smtp->send($message, $failedRecipients); - } - - public function providerPipeliningOverride() - { - return [ - [null, true, true], - [null, false, false], - [true, false, true], - [true, true, true], - [false, false, false], - [false, true, false], - ]; - } - - /** - * @dataProvider providerPipeliningOverride - */ - public function testPipeliningOverride($enabled, bool $supported, bool $expected) - { - $buf = $this->getBuffer(); - $smtp = $this->getTransport($buf); - $this->assertNull($smtp->getPipelining()); - - $smtp->setPipelining($enabled); - $this->assertSame($enabled, $smtp->getPipelining()); - - $message = $this->createMessage(); - $message->shouldReceive('getFrom') - ->zeroOrMoreTimes() - ->andReturn(['me@domain.com' => 'Me']); - - $buf->shouldReceive('initialize') - ->once(); - $buf->shouldReceive('readLine') - ->once() - ->with(0) - ->andReturn("220 some.server.tld bleh\r\n"); - $buf->shouldReceive('write') - ->once() - ->with('~^EHLO .+?\r\n$~D') - ->andReturn(1); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn('250-ServerName'."\r\n"); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn('250 '.($supported ? 'PIPELINING' : 'FOOBAR')."\r\n"); - - $this->finishBuffer($buf); - $smtp->start(); - $smtp->send($message); - - $this->assertSame($expected, $smtp->getPipelining()); - } - - public function testFluidInterface() - { - $buf = $this->getBuffer(); - $smtp = $this->getTransport($buf); - $buf->shouldReceive('setParam') - ->once() - ->with('timeout', 30); - - $ref = $smtp - ->setHost('foo') - ->setPort(25) - ->setEncryption('tls') - ->setTimeout(30) - ->setPipelining(false) - ; - $this->assertEquals($ref, $smtp); - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Transport/FailoverTransportTest.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Transport/FailoverTransportTest.php deleted file mode 100644 index deb0617da6..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Transport/FailoverTransportTest.php +++ /dev/null @@ -1,600 +0,0 @@ -getMockery('Swift_Mime_SimpleMessage'); - $message2 = $this->getMockery('Swift_Mime_SimpleMessage'); - $t1 = $this->getMockery('Swift_Transport'); - $t2 = $this->getMockery('Swift_Transport'); - $connectionState = false; - - $t1->shouldReceive('isStarted') - ->zeroOrMoreTimes() - ->andReturnUsing(function () use (&$connectionState) { - return $connectionState; - }); - $t1->shouldReceive('start') - ->once() - ->andReturnUsing(function () use (&$connectionState) { - if (!$connectionState) { - $connectionState = true; - } - }); - $t1->shouldReceive('send') - ->twice() - ->with(\Mockery::anyOf($message1, $message2), \Mockery::any()) - ->andReturnUsing(function () use (&$connectionState) { - if ($connectionState) { - return 1; - } - }); - $t2->shouldReceive('start')->never(); - $t2->shouldReceive('send')->never(); - - $transport = $this->getTransport([$t1, $t2]); - $transport->start(); - $this->assertEquals(1, $transport->send($message1)); - $this->assertEquals(1, $transport->send($message2)); - } - - public function testMessageCanBeTriedOnNextTransportIfExceptionThrown() - { - $e = new Swift_TransportException('b0rken'); - - $message = $this->getMockery('Swift_Mime_SimpleMessage'); - $t1 = $this->getMockery('Swift_Transport'); - $t2 = $this->getMockery('Swift_Transport'); - $connectionState1 = false; - $connectionState2 = false; - - $t1->shouldReceive('isStarted') - ->zeroOrMoreTimes() - ->andReturnUsing(function () use (&$connectionState1) { - return $connectionState1; - }); - $t1->shouldReceive('start') - ->once() - ->andReturnUsing(function () use (&$connectionState1) { - if (!$connectionState1) { - $connectionState1 = true; - } - }); - $t1->shouldReceive('send') - ->once() - ->with($message, \Mockery::any()) - ->andReturnUsing(function () use (&$connectionState1, $e) { - if ($connectionState1) { - throw $e; - } - }); - - $t2->shouldReceive('isStarted') - ->zeroOrMoreTimes() - ->andReturnUsing(function () use (&$connectionState2) { - return $connectionState2; - }); - $t2->shouldReceive('start') - ->once() - ->andReturnUsing(function () use (&$connectionState2) { - if (!$connectionState2) { - $connectionState2 = true; - } - }); - $t2->shouldReceive('send') - ->once() - ->with($message, \Mockery::any()) - ->andReturnUsing(function () use (&$connectionState2, $e) { - if ($connectionState2) { - return 1; - } - }); - - $transport = $this->getTransport([$t1, $t2]); - $transport->start(); - $this->assertEquals(1, $transport->send($message)); - } - - public function testZeroIsReturnedIfTransportReturnsZero() - { - $message = $this->getMockery('Swift_Mime_SimpleMessage')->shouldIgnoreMissing(); - $t1 = $this->getMockery('Swift_Transport')->shouldIgnoreMissing(); - - $connectionState = false; - $t1->shouldReceive('isStarted') - ->zeroOrMoreTimes() - ->andReturnUsing(function () use (&$connectionState) { - return $connectionState; - }); - $t1->shouldReceive('start') - ->once() - ->andReturnUsing(function () use (&$connectionState) { - if (!$connectionState) { - $connectionState = true; - } - }); - $testCase = $this; - $t1->shouldReceive('send') - ->once() - ->with($message, \Mockery::any()) - ->andReturnUsing(function () use (&$connectionState, $testCase) { - if (!$connectionState) { - $testCase->fail(); - } - - return 0; - }); - - $transport = $this->getTransport([$t1]); - $transport->start(); - $this->assertEquals(0, $transport->send($message)); - } - - public function testTransportsWhichThrowExceptionsAreNotRetried() - { - $e = new Swift_TransportException('maur b0rken'); - - $message1 = $this->getMockery('Swift_Mime_SimpleMessage'); - $message2 = $this->getMockery('Swift_Mime_SimpleMessage'); - $message3 = $this->getMockery('Swift_Mime_SimpleMessage'); - $message4 = $this->getMockery('Swift_Mime_SimpleMessage'); - $t1 = $this->getMockery('Swift_Transport'); - $t2 = $this->getMockery('Swift_Transport'); - $connectionState1 = false; - $connectionState2 = false; - - $t1->shouldReceive('isStarted') - ->zeroOrMoreTimes() - ->andReturnUsing(function () use (&$connectionState1) { - return $connectionState1; - }); - $t1->shouldReceive('start') - ->once() - ->andReturnUsing(function () use (&$connectionState1) { - if (!$connectionState1) { - $connectionState1 = true; - } - }); - $t1->shouldReceive('send') - ->once() - ->with($message1, \Mockery::any()) - ->andReturnUsing(function () use (&$connectionState1, $e) { - if ($connectionState1) { - throw $e; - } - }); - $t1->shouldReceive('send') - ->never() - ->with($message2, \Mockery::any()); - $t1->shouldReceive('send') - ->never() - ->with($message3, \Mockery::any()); - $t1->shouldReceive('send') - ->never() - ->with($message4, \Mockery::any()); - - $t2->shouldReceive('isStarted') - ->zeroOrMoreTimes() - ->andReturnUsing(function () use (&$connectionState2) { - return $connectionState2; - }); - $t2->shouldReceive('start') - ->once() - ->andReturnUsing(function () use (&$connectionState2) { - if (!$connectionState2) { - $connectionState2 = true; - } - }); - $t2->shouldReceive('send') - ->times(4) - ->with(\Mockery::anyOf($message1, $message2, $message3, $message4), \Mockery::any()) - ->andReturnUsing(function () use (&$connectionState2, $e) { - if ($connectionState2) { - return 1; - } - }); - - $transport = $this->getTransport([$t1, $t2]); - $transport->start(); - $this->assertEquals(1, $transport->send($message1)); - $this->assertEquals(1, $transport->send($message2)); - $this->assertEquals(1, $transport->send($message3)); - $this->assertEquals(1, $transport->send($message4)); - } - - public function testExceptionIsThrownIfAllTransportsDie() - { - $e = new Swift_TransportException('b0rken'); - - $message = $this->getMockery('Swift_Mime_SimpleMessage'); - $t1 = $this->getMockery('Swift_Transport'); - $t2 = $this->getMockery('Swift_Transport'); - $connectionState1 = false; - $connectionState2 = false; - - $t1->shouldReceive('isStarted') - ->zeroOrMoreTimes() - ->andReturnUsing(function () use (&$connectionState1) { - return $connectionState1; - }); - $t1->shouldReceive('start') - ->once() - ->andReturnUsing(function () use (&$connectionState1) { - if (!$connectionState1) { - $connectionState1 = true; - } - }); - $t1->shouldReceive('send') - ->once() - ->with($message, \Mockery::any()) - ->andReturnUsing(function () use (&$connectionState1, $e) { - if ($connectionState1) { - throw $e; - } - }); - - $t2->shouldReceive('isStarted') - ->zeroOrMoreTimes() - ->andReturnUsing(function () use (&$connectionState2) { - return $connectionState2; - }); - $t2->shouldReceive('start') - ->once() - ->andReturnUsing(function () use (&$connectionState2) { - if (!$connectionState2) { - $connectionState2 = true; - } - }); - $t2->shouldReceive('send') - ->once() - ->with($message, \Mockery::any()) - ->andReturnUsing(function () use (&$connectionState2, $e) { - if ($connectionState2) { - throw $e; - } - }); - - $transport = $this->getTransport([$t1, $t2]); - $transport->start(); - try { - $transport->send($message); - $this->fail('All transports failed so Exception should be thrown'); - } catch (Exception $e) { - } - } - - public function testStoppingTransportStopsAllDelegates() - { - $t1 = $this->getMockery('Swift_Transport'); - $t2 = $this->getMockery('Swift_Transport'); - - $connectionState1 = true; - $connectionState2 = true; - - $t1->shouldReceive('isStarted') - ->zeroOrMoreTimes() - ->andReturnUsing(function () use (&$connectionState1) { - return $connectionState1; - }); - $t1->shouldReceive('stop') - ->once() - ->andReturnUsing(function () use (&$connectionState1) { - if ($connectionState1) { - $connectionState1 = false; - } - }); - - $t2->shouldReceive('isStarted') - ->zeroOrMoreTimes() - ->andReturnUsing(function () use (&$connectionState2) { - return $connectionState2; - }); - $t2->shouldReceive('stop') - ->once() - ->andReturnUsing(function () use (&$connectionState2) { - if ($connectionState2) { - $connectionState2 = false; - } - }); - - $transport = $this->getTransport([$t1, $t2]); - $transport->start(); - $transport->stop(); - } - - public function testTransportShowsAsNotStartedIfAllDelegatesDead() - { - $e = new Swift_TransportException('b0rken'); - - $message = $this->getMockery('Swift_Mime_SimpleMessage'); - $t1 = $this->getMockery('Swift_Transport'); - $t2 = $this->getMockery('Swift_Transport'); - - $connectionState1 = false; - $connectionState2 = false; - - $t1->shouldReceive('isStarted') - ->zeroOrMoreTimes() - ->andReturnUsing(function () use (&$connectionState1) { - return $connectionState1; - }); - $t1->shouldReceive('start') - ->once() - ->andReturnUsing(function () use (&$connectionState1) { - if (!$connectionState1) { - $connectionState1 = true; - } - }); - $t1->shouldReceive('send') - ->once() - ->with($message, \Mockery::any()) - ->andReturnUsing(function () use (&$connectionState1, $e) { - if ($connectionState1) { - $connectionState1 = false; - throw $e; - } - }); - - $t2->shouldReceive('isStarted') - ->zeroOrMoreTimes() - ->andReturnUsing(function () use (&$connectionState2) { - return $connectionState2; - }); - $t2->shouldReceive('start') - ->once() - ->andReturnUsing(function () use (&$connectionState2) { - if (!$connectionState2) { - $connectionState2 = true; - } - }); - $t2->shouldReceive('send') - ->once() - ->with($message, \Mockery::any()) - ->andReturnUsing(function () use (&$connectionState2, $e) { - if ($connectionState2) { - $connectionState2 = false; - throw $e; - } - }); - - $transport = $this->getTransport([$t1, $t2]); - $transport->start(); - $this->assertTrue($transport->isStarted()); - try { - $transport->send($message); - $this->fail('All transports failed so Exception should be thrown'); - } catch (Exception $e) { - $this->assertFalse($transport->isStarted()); - } - } - - public function testRestartingTransportRestartsDeadDelegates() - { - $e = new Swift_TransportException('b0rken'); - - $message1 = $this->getMockery('Swift_Mime_SimpleMessage'); - $message2 = $this->getMockery('Swift_Mime_SimpleMessage'); - $t1 = $this->getMockery('Swift_Transport'); - $t2 = $this->getMockery('Swift_Transport'); - - $connectionState1 = false; - $connectionState2 = false; - - $t1->shouldReceive('isStarted') - ->zeroOrMoreTimes() - ->andReturnUsing(function () use (&$connectionState1) { - return $connectionState1; - }); - $t1->shouldReceive('start') - ->twice() - ->andReturnUsing(function () use (&$connectionState1) { - if (!$connectionState1) { - $connectionState1 = true; - } - }); - $t1->shouldReceive('send') - ->once() - ->with($message1, \Mockery::any()) - ->andReturnUsing(function () use (&$connectionState1, $e) { - if ($connectionState1) { - $connectionState1 = false; - throw $e; - } - }); - $t1->shouldReceive('send') - ->once() - ->with($message2, \Mockery::any()) - ->andReturnUsing(function () use (&$connectionState1) { - if ($connectionState1) { - return 10; - } - }); - - $t2->shouldReceive('isStarted') - ->zeroOrMoreTimes() - ->andReturnUsing(function () use (&$connectionState2) { - return $connectionState2; - }); - $t2->shouldReceive('start') - ->once() - ->andReturnUsing(function () use (&$connectionState2) { - if (!$connectionState2) { - $connectionState2 = true; - } - }); - $t2->shouldReceive('send') - ->once() - ->with($message1, \Mockery::any()) - ->andReturnUsing(function () use (&$connectionState2, $e) { - if ($connectionState2) { - $connectionState2 = false; - throw $e; - } - }); - $t2->shouldReceive('send') - ->never() - ->with($message2, \Mockery::any()); - - $transport = $this->getTransport([$t1, $t2]); - $transport->start(); - $this->assertTrue($transport->isStarted()); - try { - $transport->send($message1); - $this->fail('All transports failed so Exception should be thrown'); - } catch (Exception $e) { - $this->assertFalse($transport->isStarted()); - } - //Restart and re-try - $transport->start(); - $this->assertTrue($transport->isStarted()); - $this->assertEquals(10, $transport->send($message2)); - } - - public function testFailureReferenceIsPassedToDelegates() - { - $failures = []; - - $message = $this->getMockery('Swift_Mime_SimpleMessage'); - $t1 = $this->getMockery('Swift_Transport'); - - $connectionState = false; - - $t1->shouldReceive('isStarted') - ->zeroOrMoreTimes() - ->andReturnUsing(function () use ($connectionState) { - return $connectionState; - }); - $t1->shouldReceive('start') - ->once() - ->andReturnUsing(function () use ($connectionState) { - if (!$connectionState) { - $connectionState = true; - } - }); - $t1->shouldReceive('send') - ->once() - ->with($message, $failures) - ->andReturnUsing(function () use ($connectionState) { - if ($connectionState) { - return 1; - } - }); - - $transport = $this->getTransport([$t1]); - $transport->start(); - $transport->send($message, $failures); - } - - public function testRegisterPluginDelegatesToLoadedTransports() - { - $plugin = $this->createPlugin(); - - $t1 = $this->getMockery('Swift_Transport'); - $t2 = $this->getMockery('Swift_Transport'); - $t1->shouldReceive('registerPlugin') - ->once() - ->with($plugin); - $t2->shouldReceive('registerPlugin') - ->once() - ->with($plugin); - - $transport = $this->getTransport([$t1, $t2]); - $transport->registerPlugin($plugin); - } - - public function testEachDelegateIsPinged() - { - $t1 = $this->getMockery('Swift_Transport'); - $t2 = $this->getMockery('Swift_Transport'); - $connectionState1 = false; - $connectionState2 = false; - - $testCase = $this; - $t1->shouldReceive('isStarted') - ->zeroOrMoreTimes() - ->andReturnUsing(function () use (&$connectionState1) { - return $connectionState1; - }); - $t1->shouldReceive('ping') - ->once() - ->andReturn(true); - - $transport = $this->getTransport([$t1, $t2]); - $this->assertTrue($transport->isStarted()); - $this->assertTrue($transport->ping()); - } - - public function testDelegateIsKilledWhenPingFails() - { - $t1 = $this->getMockery('Swift_Transport'); - $t2 = $this->getMockery('Swift_Transport'); - - $testCase = $this; - $t1->shouldReceive('isStarted') - ->zeroOrMoreTimes() - ->andReturnUsing(function () use (&$connectionState1) { - return $connectionState1; - }); - $t1->shouldReceive('ping') - ->once() - ->andReturn(false); - - $t2->shouldReceive('isStarted') - ->zeroOrMoreTimes() - ->andReturnUsing(function () use (&$connectionState2) { - return $connectionState2; - }); - $t2->shouldReceive('ping') - ->twice() - ->andReturn(true); - - $transport = $this->getTransport([$t1, $t2]); - $this->assertTrue($transport->ping()); - $this->assertTrue($transport->ping()); - $this->assertTrue($transport->isStarted()); - } - - public function XtestTransportShowsAsNotStartedIfAllPingFails() - { - $t1 = $this->getMockery('Swift_Transport'); - $t2 = $this->getMockery('Swift_Transport'); - - $testCase = $this; - $t1->shouldReceive('isStarted') - ->zeroOrMoreTimes() - ->andReturnUsing(function () use (&$connectionState1) { - return $connectionState1; - }); - $t1->shouldReceive('ping') - ->once() - ->andReturn(false); - - $t2->shouldReceive('isStarted') - ->zeroOrMoreTimes() - ->andReturnUsing(function () use (&$connectionState2) { - return $connectionState2; - }); - $t2->shouldReceive('ping') - ->once() - ->andReturn(false); - - $transport = $this->getTransport([$t1, $t2]); - $this->assertFalse($transport->ping()); - $this->assertFalse($transport->isStarted()); - $this->assertFalse($transport->ping()); - } - - private function getTransport(array $transports) - { - $transport = new Swift_Transport_FailoverTransport(); - $transport->setTransports($transports); - - return $transport; - } - - private function createPlugin() - { - return $this->getMockery('Swift_Events_EventListener'); - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Transport/LoadBalancedTransportTest.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Transport/LoadBalancedTransportTest.php deleted file mode 100644 index dbc60afa73..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Transport/LoadBalancedTransportTest.php +++ /dev/null @@ -1,838 +0,0 @@ -getMockery('Swift_Mime_SimpleMessage'); - $message2 = $this->getMockery('Swift_Mime_SimpleMessage'); - $t1 = $this->getMockery('Swift_Transport'); - $t2 = $this->getMockery('Swift_Transport'); - $connectionState1 = false; - $connectionState2 = false; - - $testCase = $this; - $t1->shouldReceive('isStarted') - ->zeroOrMoreTimes() - ->andReturnUsing(function () use (&$connectionState1) { - return $connectionState1; - }); - $t1->shouldReceive('start') - ->once() - ->andReturnUsing(function () use (&$connectionState1) { - if (!$connectionState1) { - $connectionState1 = true; - } - }); - $t1->shouldReceive('send') - ->once() - ->with($message1, \Mockery::any()) - ->andReturnUsing(function () use (&$connectionState1, $testCase) { - if ($connectionState1) { - return 1; - } - $testCase->fail(); - }); - $t1->shouldReceive('send') - ->never() - ->with($message2, \Mockery::any()); - - $t2->shouldReceive('isStarted') - ->zeroOrMoreTimes() - ->andReturnUsing(function () use (&$connectionState2) { - return $connectionState2; - }); - $t2->shouldReceive('start') - ->once() - ->andReturnUsing(function () use (&$connectionState2) { - if (!$connectionState2) { - $connectionState2 = true; - } - }); - $t2->shouldReceive('send') - ->once() - ->with($message2, \Mockery::any()) - ->andReturnUsing(function () use (&$connectionState2, $testCase) { - if ($connectionState2) { - return 1; - } - $testCase->fail(); - }); - $t2->shouldReceive('send') - ->never() - ->with($message1, \Mockery::any()); - - $transport = $this->getTransport([$t1, $t2]); - $transport->start(); - $this->assertEquals(1, $transport->send($message1)); - $this->assertEquals(1, $transport->send($message2)); - } - - public function testTransportsAreReusedInRotatingFashion() - { - $message1 = $this->getMockery('Swift_Mime_SimpleMessage'); - $message2 = $this->getMockery('Swift_Mime_SimpleMessage'); - $message3 = $this->getMockery('Swift_Mime_SimpleMessage'); - $message4 = $this->getMockery('Swift_Mime_SimpleMessage'); - $t1 = $this->getMockery('Swift_Transport'); - $t2 = $this->getMockery('Swift_Transport'); - $connectionState1 = false; - $connectionState2 = false; - - $testCase = $this; - $t1->shouldReceive('isStarted') - ->zeroOrMoreTimes() - ->andReturnUsing(function () use (&$connectionState1) { - return $connectionState1; - }); - $t1->shouldReceive('start') - ->once() - ->andReturnUsing(function () use (&$connectionState1) { - if (!$connectionState1) { - $connectionState1 = true; - } - }); - $t1->shouldReceive('send') - ->once() - ->with($message1, \Mockery::any()) - ->andReturnUsing(function () use (&$connectionState1, $testCase) { - if ($connectionState1) { - return 1; - } - $testCase->fail(); - }); - $t1->shouldReceive('send') - ->never() - ->with($message2, \Mockery::any()); - $t1->shouldReceive('send') - ->once() - ->with($message3, \Mockery::any()) - ->andReturnUsing(function () use (&$connectionState1, $testCase) { - if ($connectionState1) { - return 1; - } - $testCase->fail(); - }); - $t1->shouldReceive('send') - ->never() - ->with($message4, \Mockery::any()); - - $t2->shouldReceive('isStarted') - ->zeroOrMoreTimes() - ->andReturnUsing(function () use (&$connectionState2) { - return $connectionState2; - }); - $t2->shouldReceive('start') - ->once() - ->andReturnUsing(function () use (&$connectionState2) { - if (!$connectionState2) { - $connectionState2 = true; - } - }); - $t2->shouldReceive('send') - ->once() - ->with($message2, \Mockery::any()) - ->andReturnUsing(function () use (&$connectionState2, $testCase) { - if ($connectionState2) { - return 1; - } - $testCase->fail(); - }); - $t2->shouldReceive('send') - ->never() - ->with($message1, \Mockery::any()); - $t2->shouldReceive('send') - ->once() - ->with($message4, \Mockery::any()) - ->andReturnUsing(function () use (&$connectionState2, $testCase) { - if ($connectionState2) { - return 1; - } - $testCase->fail(); - }); - $t2->shouldReceive('send') - ->never() - ->with($message3, \Mockery::any()); - - $transport = $this->getTransport([$t1, $t2]); - $transport->start(); - - $this->assertEquals(1, $transport->send($message1)); - $this->assertEquals(1, $transport->send($message2)); - $this->assertEquals(1, $transport->send($message3)); - $this->assertEquals(1, $transport->send($message4)); - } - - public function testMessageCanBeTriedOnNextTransportIfExceptionThrown() - { - $e = new Swift_TransportException('b0rken'); - - $message = $this->getMockery('Swift_Mime_SimpleMessage'); - $t1 = $this->getMockery('Swift_Transport'); - $t2 = $this->getMockery('Swift_Transport'); - $connectionState1 = false; - $connectionState2 = false; - - $testCase = $this; - $t1->shouldReceive('isStarted') - ->zeroOrMoreTimes() - ->andReturnUsing(function () use (&$connectionState1) { - return $connectionState1; - }); - $t1->shouldReceive('start') - ->once() - ->andReturnUsing(function () use (&$connectionState1) { - if (!$connectionState1) { - $connectionState1 = true; - } - }); - $t1->shouldReceive('send') - ->once() - ->with($message, \Mockery::any()) - ->andReturnUsing(function () use (&$connectionState1, $e, $testCase) { - if ($connectionState1) { - throw $e; - } - $testCase->fail(); - }); - - $t2->shouldReceive('isStarted') - ->zeroOrMoreTimes() - ->andReturnUsing(function () use (&$connectionState2) { - return $connectionState2; - }); - $t2->shouldReceive('start') - ->once() - ->andReturnUsing(function () use (&$connectionState2) { - if (!$connectionState2) { - $connectionState2 = true; - } - }); - $t2->shouldReceive('send') - ->once() - ->with($message, \Mockery::any()) - ->andReturnUsing(function () use (&$connectionState2, $testCase) { - if ($connectionState2) { - return 1; - } - $testCase->fail(); - }); - - $transport = $this->getTransport([$t1, $t2]); - $transport->start(); - $this->assertEquals(1, $transport->send($message)); - } - - public function testMessageIsTriedOnNextTransportIfZeroReturned() - { - $message = $this->getMockery('Swift_Mime_SimpleMessage'); - $t1 = $this->getMockery('Swift_Transport'); - $t2 = $this->getMockery('Swift_Transport'); - $connectionState1 = false; - $connectionState2 = false; - - $t1->shouldReceive('isStarted') - ->zeroOrMoreTimes() - ->andReturnUsing(function () use (&$connectionState1) { - return $connectionState1; - }); - $t1->shouldReceive('start') - ->once() - ->andReturnUsing(function () use (&$connectionState1) { - if (!$connectionState1) { - $connectionState1 = true; - } - }); - $t1->shouldReceive('send') - ->once() - ->with($message, \Mockery::any()) - ->andReturnUsing(function () use (&$connectionState1) { - if ($connectionState1) { - return 0; - } - - return 1; - }); - - $t2->shouldReceive('isStarted') - ->zeroOrMoreTimes() - ->andReturnUsing(function () use (&$connectionState2) { - return $connectionState2; - }); - $t2->shouldReceive('start') - ->once() - ->andReturnUsing(function () use (&$connectionState2) { - if (!$connectionState2) { - $connectionState2 = true; - } - }); - $t2->shouldReceive('send') - ->once() - ->with($message, \Mockery::any()) - ->andReturnUsing(function () use (&$connectionState2) { - if ($connectionState2) { - return 1; - } - - return 0; - }); - - $transport = $this->getTransport([$t1, $t2]); - $transport->start(); - $this->assertEquals(1, $transport->send($message)); - } - - public function testZeroIsReturnedIfAllTransportsReturnZero() - { - $message = $this->getMockery('Swift_Mime_SimpleMessage'); - $t1 = $this->getMockery('Swift_Transport'); - $t2 = $this->getMockery('Swift_Transport'); - $connectionState1 = false; - $connectionState2 = false; - - $t1->shouldReceive('isStarted') - ->zeroOrMoreTimes() - ->andReturnUsing(function () use (&$connectionState1) { - return $connectionState1; - }); - $t1->shouldReceive('start') - ->once() - ->andReturnUsing(function () use (&$connectionState1) { - if (!$connectionState1) { - $connectionState1 = true; - } - }); - $t1->shouldReceive('send') - ->once() - ->with($message, \Mockery::any()) - ->andReturnUsing(function () use (&$connectionState1) { - if ($connectionState1) { - return 0; - } - - return 1; - }); - - $t2->shouldReceive('isStarted') - ->zeroOrMoreTimes() - ->andReturnUsing(function () use (&$connectionState2) { - return $connectionState2; - }); - $t2->shouldReceive('start') - ->once() - ->andReturnUsing(function () use (&$connectionState2) { - if (!$connectionState2) { - $connectionState2 = true; - } - }); - $t2->shouldReceive('send') - ->once() - ->with($message, \Mockery::any()) - ->andReturnUsing(function () use (&$connectionState2) { - if ($connectionState2) { - return 0; - } - - return 1; - }); - - $transport = $this->getTransport([$t1, $t2]); - $transport->start(); - $this->assertEquals(0, $transport->send($message)); - } - - public function testTransportsWhichThrowExceptionsAreNotRetried() - { - $e = new Swift_TransportException('maur b0rken'); - - $message1 = $this->getMockery('Swift_Mime_SimpleMessage'); - $message2 = $this->getMockery('Swift_Mime_SimpleMessage'); - $message3 = $this->getMockery('Swift_Mime_SimpleMessage'); - $message4 = $this->getMockery('Swift_Mime_SimpleMessage'); - $t1 = $this->getMockery('Swift_Transport'); - $t2 = $this->getMockery('Swift_Transport'); - $connectionState1 = false; - $connectionState2 = false; - - $testCase = $this; - $t1->shouldReceive('isStarted') - ->zeroOrMoreTimes() - ->andReturnUsing(function () use (&$connectionState1) { - return $connectionState1; - }); - $t1->shouldReceive('start') - ->once() - ->andReturnUsing(function () use (&$connectionState1) { - if (!$connectionState1) { - $connectionState1 = true; - } - }); - $t1->shouldReceive('send') - ->once() - ->with($message1, \Mockery::any()) - ->andReturnUsing(function () use (&$connectionState1, $e, $testCase) { - if ($connectionState1) { - throw $e; - } - $testCase->fail(); - }); - $t1->shouldReceive('send') - ->never() - ->with($message2, \Mockery::any()); - $t1->shouldReceive('send') - ->never() - ->with($message3, \Mockery::any()); - $t1->shouldReceive('send') - ->never() - ->with($message4, \Mockery::any()); - - $t2->shouldReceive('isStarted') - ->zeroOrMoreTimes() - ->andReturnUsing(function () use (&$connectionState2) { - return $connectionState2; - }); - $t2->shouldReceive('start') - ->once() - ->andReturnUsing(function () use (&$connectionState2) { - if (!$connectionState2) { - $connectionState2 = true; - } - }); - $t2->shouldReceive('send') - ->times(4) - ->with(\Mockery::anyOf($message1, $message3, $message3, $message4), \Mockery::any()) - ->andReturnUsing(function () use (&$connectionState2, $testCase) { - if ($connectionState2) { - return 1; - } - $testCase->fail(); - }); - - $transport = $this->getTransport([$t1, $t2]); - $transport->start(); - $this->assertEquals(1, $transport->send($message1)); - $this->assertEquals(1, $transport->send($message2)); - $this->assertEquals(1, $transport->send($message3)); - $this->assertEquals(1, $transport->send($message4)); - } - - public function testExceptionIsThrownIfAllTransportsDie() - { - $e = new Swift_TransportException('b0rken'); - - $message = $this->getMockery('Swift_Mime_SimpleMessage'); - $t1 = $this->getMockery('Swift_Transport'); - $t2 = $this->getMockery('Swift_Transport'); - $connectionState1 = false; - $connectionState2 = false; - - $t1->shouldReceive('isStarted') - ->zeroOrMoreTimes() - ->andReturnUsing(function () use (&$connectionState1) { - return $connectionState1; - }); - $t1->shouldReceive('start') - ->once() - ->andReturnUsing(function () use (&$connectionState1) { - if (!$connectionState1) { - $connectionState1 = true; - } - }); - $t1->shouldReceive('send') - ->once() - ->with($message, \Mockery::any()) - ->andReturnUsing(function () use (&$connectionState1, $e) { - if ($connectionState1) { - throw $e; - } - }); - - $t2->shouldReceive('isStarted') - ->zeroOrMoreTimes() - ->andReturnUsing(function () use (&$connectionState2) { - return $connectionState2; - }); - $t2->shouldReceive('start') - ->once() - ->andReturnUsing(function () use (&$connectionState2) { - if (!$connectionState2) { - $connectionState2 = true; - } - }); - $t2->shouldReceive('send') - ->once() - ->with($message, \Mockery::any()) - ->andReturnUsing(function () use (&$connectionState2, $e) { - if ($connectionState2) { - throw $e; - } - }); - - $transport = $this->getTransport([$t1, $t2]); - $transport->start(); - try { - $transport->send($message); - $this->fail('All transports failed so Exception should be thrown'); - } catch (Exception $e) { - } - } - - public function testStoppingTransportStopsAllDelegates() - { - $t1 = $this->getMockery('Swift_Transport'); - $t2 = $this->getMockery('Swift_Transport'); - $connectionState1 = true; - $connectionState2 = true; - - $t1->shouldReceive('isStarted') - ->zeroOrMoreTimes() - ->andReturnUsing(function () use (&$connectionState1) { - return $connectionState1; - }); - $t1->shouldReceive('stop') - ->once() - ->andReturnUsing(function () use (&$connectionState1) { - if ($connectionState1) { - $connectionState1 = false; - } - }); - - $t2->shouldReceive('isStarted') - ->zeroOrMoreTimes() - ->andReturnUsing(function () use (&$connectionState2) { - return $connectionState2; - }); - $t2->shouldReceive('stop') - ->once() - ->andReturnUsing(function () use (&$connectionState2) { - if ($connectionState2) { - $connectionState2 = false; - } - }); - - $transport = $this->getTransport([$t1, $t2]); - $transport->start(); - $transport->stop(); - } - - public function testTransportShowsAsNotStartedIfAllDelegatesDead() - { - $e = new Swift_TransportException('b0rken'); - - $message = $this->getMockery('Swift_Mime_SimpleMessage'); - $t1 = $this->getMockery('Swift_Transport'); - $t2 = $this->getMockery('Swift_Transport'); - $connectionState1 = false; - $connectionState2 = false; - - $t1->shouldReceive('isStarted') - ->zeroOrMoreTimes() - ->andReturnUsing(function () use (&$connectionState1) { - return $connectionState1; - }); - $t1->shouldReceive('start') - ->once() - ->andReturnUsing(function () use (&$connectionState1) { - if (!$connectionState1) { - $connectionState1 = true; - } - }); - $t1->shouldReceive('send') - ->once() - ->with($message, \Mockery::any()) - ->andReturnUsing(function () use (&$connectionState1, $e) { - if ($connectionState1) { - throw $e; - } - }); - - $t2->shouldReceive('isStarted') - ->zeroOrMoreTimes() - ->andReturnUsing(function () use (&$connectionState2) { - return $connectionState2; - }); - $t2->shouldReceive('start') - ->once() - ->andReturnUsing(function () use (&$connectionState2) { - if (!$connectionState2) { - $connectionState2 = true; - } - }); - $t2->shouldReceive('send') - ->once() - ->with($message, \Mockery::any()) - ->andReturnUsing(function () use (&$connectionState2, $e) { - if ($connectionState2) { - throw $e; - } - }); - - $transport = $this->getTransport([$t1, $t2]); - $transport->start(); - $this->assertTrue($transport->isStarted()); - try { - $transport->send($message); - $this->fail('All transports failed so Exception should be thrown'); - } catch (Exception $e) { - $this->assertFalse($transport->isStarted()); - } - } - - public function testRestartingTransportRestartsDeadDelegates() - { - $e = new Swift_TransportException('b0rken'); - - $message1 = $this->getMockery('Swift_Mime_SimpleMessage'); - $message2 = $this->getMockery('Swift_Mime_SimpleMessage'); - $t1 = $this->getMockery('Swift_Transport'); - $t2 = $this->getMockery('Swift_Transport'); - $connectionState1 = false; - $connectionState2 = false; - - $t1->shouldReceive('isStarted') - ->zeroOrMoreTimes() - ->andReturnUsing(function () use (&$connectionState1) { - return $connectionState1; - }); - $t1->shouldReceive('start') - ->twice() - ->andReturnUsing(function () use (&$connectionState1) { - if (!$connectionState1) { - $connectionState1 = true; - } - }); - $t1->shouldReceive('send') - ->once() - ->with($message1, \Mockery::any()) - ->andReturnUsing(function () use (&$connectionState1, $e) { - if ($connectionState1) { - $connectionState1 = false; - throw $e; - } - }); - $t1->shouldReceive('send') - ->once() - ->with($message2, \Mockery::any()) - ->andReturnUsing(function () use (&$connectionState1, $e) { - if ($connectionState1) { - return 10; - } - }); - - $t2->shouldReceive('isStarted') - ->zeroOrMoreTimes() - ->andReturnUsing(function () use (&$connectionState2) { - return $connectionState2; - }); - $t2->shouldReceive('start') - ->once() - ->andReturnUsing(function () use (&$connectionState2) { - if (!$connectionState2) { - $connectionState2 = true; - } - }); - $t2->shouldReceive('send') - ->once() - ->with($message1, \Mockery::any()) - ->andReturnUsing(function () use (&$connectionState2, $e) { - if ($connectionState2) { - throw $e; - } - }); - $t2->shouldReceive('send') - ->never() - ->with($message2, \Mockery::any()); - - $transport = $this->getTransport([$t1, $t2]); - $transport->start(); - $this->assertTrue($transport->isStarted()); - try { - $transport->send($message1); - $this->fail('All transports failed so Exception should be thrown'); - } catch (Exception $e) { - $this->assertFalse($transport->isStarted()); - } - //Restart and re-try - $transport->start(); - $this->assertTrue($transport->isStarted()); - $this->assertEquals(10, $transport->send($message2)); - } - - public function testFailureReferenceIsPassedToDelegates() - { - $failures = []; - $testCase = $this; - - $message = $this->getMockery('Swift_Mime_SimpleMessage'); - $t1 = $this->getMockery('Swift_Transport'); - $connectionState = false; - - $t1->shouldReceive('isStarted') - ->zeroOrMoreTimes() - ->andReturnUsing(function () use (&$connectionState) { - return $connectionState; - }); - $t1->shouldReceive('start') - ->once() - ->andReturnUsing(function () use (&$connectionState) { - if (!$connectionState) { - $connectionState = true; - } - }); - $t1->shouldReceive('send') - ->once() - ->with($message, \Mockery::on(function (&$var) use (&$failures, $testCase) { - return $testCase->varsAreReferences($var, $failures); - })) - ->andReturnUsing(function () use (&$connectionState) { - if ($connectionState) { - return 1; - } - }); - - $transport = $this->getTransport([$t1]); - $transport->start(); - $transport->send($message, $failures); - } - - public function testRegisterPluginDelegatesToLoadedTransports() - { - $plugin = $this->createPlugin(); - - $t1 = $this->getMockery('Swift_Transport'); - $t2 = $this->getMockery('Swift_Transport'); - - $t1->shouldReceive('registerPlugin') - ->once() - ->with($plugin); - $t2->shouldReceive('registerPlugin') - ->once() - ->with($plugin); - - $transport = $this->getTransport([$t1, $t2]); - $transport->registerPlugin($plugin); - } - - public function testEachDelegateIsPinged() - { - $t1 = $this->getMockery('Swift_Transport'); - $t2 = $this->getMockery('Swift_Transport'); - - $testCase = $this; - $t1->shouldReceive('isStarted') - ->zeroOrMoreTimes() - ->andReturnUsing(function () use (&$connectionState1) { - return $connectionState1; - }); - $t1->shouldReceive('ping') - ->once() - ->andReturn(true); - - $t2->shouldReceive('isStarted') - ->zeroOrMoreTimes() - ->andReturnUsing(function () use (&$connectionState2) { - return $connectionState2; - }); - $t2->shouldReceive('ping') - ->once() - ->andReturn(true); - - $transport = $this->getTransport([$t1, $t2]); - $this->assertTrue($transport->isStarted()); - $this->assertTrue($transport->ping()); - } - - public function testDelegateIsKilledWhenPingFails() - { - $t1 = $this->getMockery('Swift_Transport'); - $t2 = $this->getMockery('Swift_Transport'); - - $testCase = $this; - $t1->shouldReceive('isStarted') - ->zeroOrMoreTimes() - ->andReturnUsing(function () use (&$connectionState1) { - return $connectionState1; - }); - $t1->shouldReceive('ping') - ->twice() - ->andReturn(true); - - $t2->shouldReceive('isStarted') - ->zeroOrMoreTimes() - ->andReturnUsing(function () use (&$connectionState2) { - return $connectionState2; - }); - $t2->shouldReceive('ping') - ->once() - ->andReturn(false); - - $transport = $this->getTransport([$t1, $t2]); - $this->assertTrue($transport->ping()); - $this->assertTrue($transport->ping()); - $this->assertTrue($transport->isStarted()); - } - - public function testTransportShowsAsNotStartedIfAllPingFails() - { - $t1 = $this->getMockery('Swift_Transport'); - $t2 = $this->getMockery('Swift_Transport'); - - $testCase = $this; - $t1->shouldReceive('isStarted') - ->zeroOrMoreTimes() - ->andReturnUsing(function () use (&$connectionState1) { - return $connectionState1; - }); - $t1->shouldReceive('ping') - ->once() - ->andReturn(false); - - $t2->shouldReceive('isStarted') - ->zeroOrMoreTimes() - ->andReturnUsing(function () use (&$connectionState2) { - return $connectionState2; - }); - $t2->shouldReceive('ping') - ->once() - ->andReturn(false); - - $transport = $this->getTransport([$t1, $t2]); - $this->assertFalse($transport->ping()); - $this->assertFalse($transport->isStarted()); - $this->assertFalse($transport->ping()); - } - - /** - * Adapted from Yay_Matchers_ReferenceMatcher. - */ - public function varsAreReferences(&$ref1, &$ref2) - { - if (is_object($ref2)) { - return $ref1 === $ref2; - } - if ($ref1 !== $ref2) { - return false; - } - - $copy = $ref2; - $randomString = uniqid('yay', true); - $ref2 = $randomString; - $isRef = ($ref1 === $ref2); - $ref2 = $copy; - - return $isRef; - } - - private function getTransport(array $transports) - { - $transport = new Swift_Transport_LoadBalancedTransport(); - $transport->setTransports($transports); - - return $transport; - } - - private function createPlugin() - { - return $this->getMockery('Swift_Events_EventListener'); - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Transport/SendmailTransportTest.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Transport/SendmailTransportTest.php deleted file mode 100644 index fe40d6c8a0..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Transport/SendmailTransportTest.php +++ /dev/null @@ -1,150 +0,0 @@ -createEventDispatcher(); - } - $transport = new Swift_Transport_SendmailTransport($buf, $dispatcher, 'example.org', $addressEncoder); - $transport->setCommand($command); - - return $transport; - } - - protected function getSendmail($buf, $dispatcher = null) - { - if (!$dispatcher) { - $dispatcher = $this->createEventDispatcher(); - } - - return new Swift_Transport_SendmailTransport($buf, $dispatcher); - } - - public function testCommandCanBeSetAndFetched() - { - $buf = $this->getBuffer(); - $sendmail = $this->getSendmail($buf); - - $sendmail->setCommand('/usr/sbin/sendmail -bs'); - $this->assertEquals('/usr/sbin/sendmail -bs', $sendmail->getCommand()); - $sendmail->setCommand('/usr/sbin/sendmail -oi -t'); - $this->assertEquals('/usr/sbin/sendmail -oi -t', $sendmail->getCommand()); - } - - public function testSendingMessageIn_t_ModeUsesSimplePipe() - { - $buf = $this->getBuffer(); - $sendmail = $this->getSendmail($buf); - $message = $this->createMessage(); - - $message->shouldReceive('getTo') - ->zeroOrMoreTimes() - ->andReturn(['foo@bar' => 'Foobar', 'zip@button' => 'Zippy']); - $message->shouldReceive('toByteStream') - ->once() - ->with($buf); - $buf->shouldReceive('initialize') - ->once(); - $buf->shouldReceive('terminate') - ->once(); - $buf->shouldReceive('setWriteTranslations') - ->once() - ->with(["\r\n" => "\n", "\n." => "\n.."]); - $buf->shouldReceive('setWriteTranslations') - ->once() - ->with([]); - - $sendmail->setCommand('/usr/sbin/sendmail -t'); - $this->assertEquals(2, $sendmail->send($message)); - } - - public function testSendingIn_t_ModeWith_i_FlagDoesntEscapeDot() - { - $buf = $this->getBuffer(); - $sendmail = $this->getSendmail($buf); - $message = $this->createMessage(); - - $message->shouldReceive('getTo') - ->zeroOrMoreTimes() - ->andReturn(['foo@bar' => 'Foobar', 'zip@button' => 'Zippy']); - $message->shouldReceive('toByteStream') - ->once() - ->with($buf); - $buf->shouldReceive('initialize') - ->once(); - $buf->shouldReceive('terminate') - ->once(); - $buf->shouldReceive('setWriteTranslations') - ->once() - ->with(["\r\n" => "\n"]); - $buf->shouldReceive('setWriteTranslations') - ->once() - ->with([]); - - $sendmail->setCommand('/usr/sbin/sendmail -i -t'); - $this->assertEquals(2, $sendmail->send($message)); - } - - public function testSendingInTModeWith_oi_FlagDoesntEscapeDot() - { - $buf = $this->getBuffer(); - $sendmail = $this->getSendmail($buf); - $message = $this->createMessage(); - - $message->shouldReceive('getTo') - ->zeroOrMoreTimes() - ->andReturn(['foo@bar' => 'Foobar', 'zip@button' => 'Zippy']); - $message->shouldReceive('toByteStream') - ->once() - ->with($buf); - $buf->shouldReceive('initialize') - ->once(); - $buf->shouldReceive('terminate') - ->once(); - $buf->shouldReceive('setWriteTranslations') - ->once() - ->with(["\r\n" => "\n"]); - $buf->shouldReceive('setWriteTranslations') - ->once() - ->with([]); - - $sendmail->setCommand('/usr/sbin/sendmail -oi -t'); - $this->assertEquals(2, $sendmail->send($message)); - } - - public function testSendingMessageRegeneratesId() - { - $buf = $this->getBuffer(); - $sendmail = $this->getSendmail($buf); - $message = $this->createMessage(); - - $message->shouldReceive('getTo') - ->zeroOrMoreTimes() - ->andReturn(['foo@bar' => 'Foobar', 'zip@button' => 'Zippy']); - $message->shouldReceive('generateId'); - $buf->shouldReceive('initialize') - ->once(); - $buf->shouldReceive('terminate') - ->once(); - $buf->shouldReceive('setWriteTranslations') - ->once() - ->with(["\r\n" => "\n", "\n." => "\n.."]); - $buf->shouldReceive('setWriteTranslations') - ->once() - ->with([]); - - $sendmail->setCommand('/usr/sbin/sendmail -t'); - $this->assertEquals(2, $sendmail->send($message)); - } - - public function testFluidInterface() - { - $buf = $this->getBuffer(); - $sendmail = $this->getTransport($buf); - - $ref = $sendmail->setCommand('/foo'); - $this->assertEquals($ref, $sendmail); - } -} diff --git a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Transport/StreamBufferTest.php b/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Transport/StreamBufferTest.php deleted file mode 100644 index 540709afc7..0000000000 --- a/pandora_console/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Transport/StreamBufferTest.php +++ /dev/null @@ -1,43 +0,0 @@ -createFactory(); - $factory->expects($this->once()) - ->method('createFilter') - ->with('a', 'b') - ->will($this->returnCallback([$this, 'createFilter'])); - - $buffer = $this->createBuffer($factory); - $buffer->setWriteTranslations(['a' => 'b']); - } - - public function testOverridingTranslationsOnlyAddsNeededFilters() - { - $factory = $this->createFactory(); - $factory->expects($this->exactly(2)) - ->method('createFilter') - ->will($this->returnCallback([$this, 'createFilter'])); - - $buffer = $this->createBuffer($factory); - $buffer->setWriteTranslations(['a' => 'b']); - $buffer->setWriteTranslations(['x' => 'y', 'a' => 'b']); - } - - private function createBuffer($replacementFactory) - { - return new Swift_Transport_StreamBuffer($replacementFactory); - } - - private function createFactory() - { - return $this->getMockBuilder('Swift_ReplacementFilterFactory')->getMock(); - } - - public function createFilter() - { - return $this->getMockBuilder('Swift_StreamFilter')->getMock(); - } -} diff --git a/pandora_console/vendor/symfony/polyfill-iconv/Iconv.php b/pandora_console/vendor/symfony/polyfill-iconv/Iconv.php new file mode 100644 index 0000000000..c17a70dc24 --- /dev/null +++ b/pandora_console/vendor/symfony/polyfill-iconv/Iconv.php @@ -0,0 +1,744 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Polyfill\Iconv; + +/** + * iconv implementation in pure PHP, UTF-8 centric. + * + * Implemented: + * - iconv - Convert string to requested character encoding + * - iconv_mime_decode - Decodes a MIME header field + * - iconv_mime_decode_headers - Decodes multiple MIME header fields at once + * - iconv_get_encoding - Retrieve internal configuration variables of iconv extension + * - iconv_set_encoding - Set current setting for character encoding conversion + * - iconv_mime_encode - Composes a MIME header field + * - iconv_strlen - Returns the character count of string + * - iconv_strpos - Finds position of first occurrence of a needle within a haystack + * - iconv_strrpos - Finds the last occurrence of a needle within a haystack + * - iconv_substr - Cut out part of a string + * + * Charsets available for conversion are defined by files + * in the charset/ directory and by Iconv::$alias below. + * You're welcome to send back any addition you make. + * + * @author Nicolas Grekas + * + * @internal + */ +final class Iconv +{ + public const ERROR_ILLEGAL_CHARACTER = 'iconv(): Detected an illegal character in input string'; + public const ERROR_WRONG_CHARSET = 'iconv(): Wrong charset, conversion from `%s\' to `%s\' is not allowed'; + + public static $inputEncoding = 'utf-8'; + public static $outputEncoding = 'utf-8'; + public static $internalEncoding = 'utf-8'; + + private static $alias = [ + 'utf8' => 'utf-8', + 'ascii' => 'us-ascii', + 'tis-620' => 'iso-8859-11', + 'cp1250' => 'windows-1250', + 'cp1251' => 'windows-1251', + 'cp1252' => 'windows-1252', + 'cp1253' => 'windows-1253', + 'cp1254' => 'windows-1254', + 'cp1255' => 'windows-1255', + 'cp1256' => 'windows-1256', + 'cp1257' => 'windows-1257', + 'cp1258' => 'windows-1258', + 'shift-jis' => 'cp932', + 'shift_jis' => 'cp932', + 'latin1' => 'iso-8859-1', + 'latin2' => 'iso-8859-2', + 'latin3' => 'iso-8859-3', + 'latin4' => 'iso-8859-4', + 'latin5' => 'iso-8859-9', + 'latin6' => 'iso-8859-10', + 'latin7' => 'iso-8859-13', + 'latin8' => 'iso-8859-14', + 'latin9' => 'iso-8859-15', + 'latin10' => 'iso-8859-16', + 'iso8859-1' => 'iso-8859-1', + 'iso8859-2' => 'iso-8859-2', + 'iso8859-3' => 'iso-8859-3', + 'iso8859-4' => 'iso-8859-4', + 'iso8859-5' => 'iso-8859-5', + 'iso8859-6' => 'iso-8859-6', + 'iso8859-7' => 'iso-8859-7', + 'iso8859-8' => 'iso-8859-8', + 'iso8859-9' => 'iso-8859-9', + 'iso8859-10' => 'iso-8859-10', + 'iso8859-11' => 'iso-8859-11', + 'iso8859-12' => 'iso-8859-12', + 'iso8859-13' => 'iso-8859-13', + 'iso8859-14' => 'iso-8859-14', + 'iso8859-15' => 'iso-8859-15', + 'iso8859-16' => 'iso-8859-16', + 'iso_8859-1' => 'iso-8859-1', + 'iso_8859-2' => 'iso-8859-2', + 'iso_8859-3' => 'iso-8859-3', + 'iso_8859-4' => 'iso-8859-4', + 'iso_8859-5' => 'iso-8859-5', + 'iso_8859-6' => 'iso-8859-6', + 'iso_8859-7' => 'iso-8859-7', + 'iso_8859-8' => 'iso-8859-8', + 'iso_8859-9' => 'iso-8859-9', + 'iso_8859-10' => 'iso-8859-10', + 'iso_8859-11' => 'iso-8859-11', + 'iso_8859-12' => 'iso-8859-12', + 'iso_8859-13' => 'iso-8859-13', + 'iso_8859-14' => 'iso-8859-14', + 'iso_8859-15' => 'iso-8859-15', + 'iso_8859-16' => 'iso-8859-16', + 'iso88591' => 'iso-8859-1', + 'iso88592' => 'iso-8859-2', + 'iso88593' => 'iso-8859-3', + 'iso88594' => 'iso-8859-4', + 'iso88595' => 'iso-8859-5', + 'iso88596' => 'iso-8859-6', + 'iso88597' => 'iso-8859-7', + 'iso88598' => 'iso-8859-8', + 'iso88599' => 'iso-8859-9', + 'iso885910' => 'iso-8859-10', + 'iso885911' => 'iso-8859-11', + 'iso885912' => 'iso-8859-12', + 'iso885913' => 'iso-8859-13', + 'iso885914' => 'iso-8859-14', + 'iso885915' => 'iso-8859-15', + 'iso885916' => 'iso-8859-16', + ]; + private static $translitMap = []; + private static $convertMap = []; + private static $errorHandler; + private static $lastError; + + private static $ulenMask = ["\xC0" => 2, "\xD0" => 2, "\xE0" => 3, "\xF0" => 4]; + private static $isValidUtf8; + + public static function iconv($inCharset, $outCharset, $str) + { + $str = (string) $str; + if ('' === $str) { + return ''; + } + + // Prepare for //IGNORE and //TRANSLIT + + $translit = $ignore = ''; + + $outCharset = strtolower($outCharset); + $inCharset = strtolower($inCharset); + + if ('' === $outCharset) { + $outCharset = 'iso-8859-1'; + } + if ('' === $inCharset) { + $inCharset = 'iso-8859-1'; + } + + do { + $loop = false; + + if ('//translit' === substr($outCharset, -10)) { + $loop = $translit = true; + $outCharset = substr($outCharset, 0, -10); + } + + if ('//ignore' === substr($outCharset, -8)) { + $loop = $ignore = true; + $outCharset = substr($outCharset, 0, -8); + } + } while ($loop); + + do { + $loop = false; + + if ('//translit' === substr($inCharset, -10)) { + $loop = true; + $inCharset = substr($inCharset, 0, -10); + } + + if ('//ignore' === substr($inCharset, -8)) { + $loop = true; + $inCharset = substr($inCharset, 0, -8); + } + } while ($loop); + + if (isset(self::$alias[$inCharset])) { + $inCharset = self::$alias[$inCharset]; + } + if (isset(self::$alias[$outCharset])) { + $outCharset = self::$alias[$outCharset]; + } + + // Load charset maps + + if (('utf-8' !== $inCharset && !self::loadMap('from.', $inCharset, $inMap)) + || ('utf-8' !== $outCharset && !self::loadMap('to.', $outCharset, $outMap))) { + trigger_error(sprintf(self::ERROR_WRONG_CHARSET, $inCharset, $outCharset)); + + return false; + } + + if ('utf-8' !== $inCharset) { + // Convert input to UTF-8 + $result = ''; + if (self::mapToUtf8($result, $inMap, $str, $ignore)) { + $str = $result; + } else { + $str = false; + } + self::$isValidUtf8 = true; + } else { + self::$isValidUtf8 = preg_match('//u', $str); + + if (!self::$isValidUtf8 && !$ignore) { + trigger_error(self::ERROR_ILLEGAL_CHARACTER); + + return false; + } + + if ('utf-8' === $outCharset) { + // UTF-8 validation + $str = self::utf8ToUtf8($str, $ignore); + } + } + + if ('utf-8' !== $outCharset && false !== $str) { + // Convert output to UTF-8 + $result = ''; + if (self::mapFromUtf8($result, $outMap, $str, $ignore, $translit)) { + return $result; + } + + return false; + } + + return $str; + } + + public static function iconv_mime_decode_headers($str, $mode = 0, $charset = null) + { + if (null === $charset) { + $charset = self::$internalEncoding; + } + + if (false !== strpos($str, "\r")) { + $str = strtr(str_replace("\r\n", "\n", $str), "\r", "\n"); + } + $str = explode("\n\n", $str, 2); + + $headers = []; + + $str = preg_split('/\n(?![ \t])/', $str[0]); + foreach ($str as $str) { + $str = self::iconv_mime_decode($str, $mode, $charset); + if (false === $str) { + return false; + } + $str = explode(':', $str, 2); + + if (2 === \count($str)) { + if (isset($headers[$str[0]])) { + if (!\is_array($headers[$str[0]])) { + $headers[$str[0]] = [$headers[$str[0]]]; + } + $headers[$str[0]][] = ltrim($str[1]); + } else { + $headers[$str[0]] = ltrim($str[1]); + } + } + } + + return $headers; + } + + public static function iconv_mime_decode($str, $mode = 0, $charset = null) + { + if (null === $charset) { + $charset = self::$internalEncoding; + } + if (\ICONV_MIME_DECODE_CONTINUE_ON_ERROR & $mode) { + $charset .= '//IGNORE'; + } + + if (false !== strpos($str, "\r")) { + $str = strtr(str_replace("\r\n", "\n", $str), "\r", "\n"); + } + $str = preg_split('/\n(?![ \t])/', rtrim($str), 2); + $str = preg_replace('/[ \t]*\n[ \t]+/', ' ', rtrim($str[0])); + $str = preg_split('/=\?([^?]+)\?([bqBQ])\?(.*?)\?=/', $str, -1, \PREG_SPLIT_DELIM_CAPTURE); + + $result = self::iconv('utf-8', $charset, $str[0]); + if (false === $result) { + return false; + } + + $i = 1; + $len = \count($str); + + while ($i < $len) { + $c = strtolower($str[$i]); + if ((\ICONV_MIME_DECODE_CONTINUE_ON_ERROR & $mode) + && 'utf-8' !== $c + && !isset(self::$alias[$c]) + && !self::loadMap('from.', $c, $d)) { + $d = false; + } elseif ('B' === strtoupper($str[$i + 1])) { + $d = base64_decode($str[$i + 2]); + } else { + $d = rawurldecode(strtr(str_replace('%', '%25', $str[$i + 2]), '=_', '% ')); + } + + if (false !== $d) { + if ('' !== $d) { + if ('' === $d = self::iconv($c, $charset, $d)) { + $str[$i + 3] = substr($str[$i + 3], 1); + } else { + $result .= $d; + } + } + $d = self::iconv('utf-8', $charset, $str[$i + 3]); + if ('' !== trim($d)) { + $result .= $d; + } + } elseif (\ICONV_MIME_DECODE_CONTINUE_ON_ERROR & $mode) { + $result .= "=?{$str[$i]}?{$str[$i + 1]}?{$str[$i + 2]}?={$str[$i + 3]}"; + } else { + $result = false; + break; + } + + $i += 4; + } + + return $result; + } + + public static function iconv_get_encoding($type = 'all') + { + switch ($type) { + case 'input_encoding': return self::$inputEncoding; + case 'output_encoding': return self::$outputEncoding; + case 'internal_encoding': return self::$internalEncoding; + } + + return [ + 'input_encoding' => self::$inputEncoding, + 'output_encoding' => self::$outputEncoding, + 'internal_encoding' => self::$internalEncoding, + ]; + } + + public static function iconv_set_encoding($type, $charset) + { + switch ($type) { + case 'input_encoding': self::$inputEncoding = $charset; break; + case 'output_encoding': self::$outputEncoding = $charset; break; + case 'internal_encoding': self::$internalEncoding = $charset; break; + default: return false; + } + + return true; + } + + public static function iconv_mime_encode($fieldName, $fieldValue, $pref = null) + { + if (!\is_array($pref)) { + $pref = []; + } + + $pref += [ + 'scheme' => 'B', + 'input-charset' => self::$internalEncoding, + 'output-charset' => self::$internalEncoding, + 'line-length' => 76, + 'line-break-chars' => "\r\n", + ]; + + if (preg_match('/[\x80-\xFF]/', $fieldName)) { + $fieldName = ''; + } + + $scheme = strtoupper(substr($pref['scheme'], 0, 1)); + $in = strtolower($pref['input-charset']); + $out = strtolower($pref['output-charset']); + + if ('utf-8' !== $in && false === $fieldValue = self::iconv($in, 'utf-8', $fieldValue)) { + return false; + } + + preg_match_all('/./us', $fieldValue, $chars); + + $chars = $chars[0] ?? []; + + $lineBreak = (int) $pref['line-length']; + $lineStart = "=?{$pref['output-charset']}?{$scheme}?"; + $lineLength = \strlen($fieldName) + 2 + \strlen($lineStart) + 2; + $lineOffset = \strlen($lineStart) + 3; + $lineData = ''; + + $fieldValue = []; + + $Q = 'Q' === $scheme; + + foreach ($chars as $c) { + if ('utf-8' !== $out && false === $c = self::iconv('utf-8', $out, $c)) { + return false; + } + + $o = $Q + ? $c = preg_replace_callback( + '/[=_\?\x00-\x1F\x80-\xFF]/', + [__CLASS__, 'qpByteCallback'], + $c + ) + : base64_encode($lineData.$c); + + if (isset($o[$lineBreak - $lineLength])) { + if (!$Q) { + $lineData = base64_encode($lineData); + } + $fieldValue[] = $lineStart.$lineData.'?='; + $lineLength = $lineOffset; + $lineData = ''; + } + + $lineData .= $c; + $Q && $lineLength += \strlen($c); + } + + if ('' !== $lineData) { + if (!$Q) { + $lineData = base64_encode($lineData); + } + $fieldValue[] = $lineStart.$lineData.'?='; + } + + return $fieldName.': '.implode($pref['line-break-chars'].' ', $fieldValue); + } + + public static function iconv_strlen($s, $encoding = null) + { + static $hasXml = null; + if (null === $hasXml) { + $hasXml = \extension_loaded('xml'); + } + + if ($hasXml) { + return self::strlen1($s, $encoding); + } + + return self::strlen2($s, $encoding); + } + + public static function strlen1($s, $encoding = null) + { + if (null === $encoding) { + $encoding = self::$internalEncoding; + } + if (0 !== stripos($encoding, 'utf-8') && false === $s = self::iconv($encoding, 'utf-8', $s)) { + return false; + } + + return \strlen(utf8_decode($s)); + } + + public static function strlen2($s, $encoding = null) + { + if (null === $encoding) { + $encoding = self::$internalEncoding; + } + if (0 !== stripos($encoding, 'utf-8') && false === $s = self::iconv($encoding, 'utf-8', $s)) { + return false; + } + + $ulenMask = self::$ulenMask; + + $i = 0; + $j = 0; + $len = \strlen($s); + + while ($i < $len) { + $u = $s[$i] & "\xF0"; + $i += $ulenMask[$u] ?? 1; + ++$j; + } + + return $j; + } + + public static function iconv_strpos($haystack, $needle, $offset = 0, $encoding = null) + { + if (null === $encoding) { + $encoding = self::$internalEncoding; + } + + if (0 !== stripos($encoding, 'utf-8')) { + if (false === $haystack = self::iconv($encoding, 'utf-8', $haystack)) { + return false; + } + if (false === $needle = self::iconv($encoding, 'utf-8', $needle)) { + return false; + } + } + + if ($offset = (int) $offset) { + $haystack = self::iconv_substr($haystack, $offset, 2147483647, 'utf-8'); + } + $pos = strpos($haystack, $needle); + + return false === $pos ? false : ($offset + ($pos ? self::iconv_strlen(substr($haystack, 0, $pos), 'utf-8') : 0)); + } + + public static function iconv_strrpos($haystack, $needle, $encoding = null) + { + if (null === $encoding) { + $encoding = self::$internalEncoding; + } + + if (0 !== stripos($encoding, 'utf-8')) { + if (false === $haystack = self::iconv($encoding, 'utf-8', $haystack)) { + return false; + } + if (false === $needle = self::iconv($encoding, 'utf-8', $needle)) { + return false; + } + } + + $pos = isset($needle[0]) ? strrpos($haystack, $needle) : false; + + return false === $pos ? false : self::iconv_strlen($pos ? substr($haystack, 0, $pos) : $haystack, 'utf-8'); + } + + public static function iconv_substr($s, $start, $length = 2147483647, $encoding = null) + { + if (null === $encoding) { + $encoding = self::$internalEncoding; + } + if (0 !== stripos($encoding, 'utf-8')) { + $encoding = null; + } elseif (false === $s = self::iconv($encoding, 'utf-8', $s)) { + return false; + } + + $s = (string) $s; + $slen = self::iconv_strlen($s, 'utf-8'); + $start = (int) $start; + + if (0 > $start) { + $start += $slen; + } + if (0 > $start) { + if (\PHP_VERSION_ID < 80000) { + return false; + } + + $start = 0; + } + if ($start >= $slen) { + return \PHP_VERSION_ID >= 80000 ? '' : false; + } + + $rx = $slen - $start; + + if (0 > $length) { + $length += $rx; + } + if (0 === $length) { + return ''; + } + if (0 > $length) { + return \PHP_VERSION_ID >= 80000 ? '' : false; + } + + if ($length > $rx) { + $length = $rx; + } + + $rx = '/^'.($start ? self::pregOffset($start) : '').'('.self::pregOffset($length).')/u'; + + $s = preg_match($rx, $s, $s) ? $s[1] : ''; + + if (null === $encoding) { + return $s; + } + + return self::iconv('utf-8', $encoding, $s); + } + + private static function loadMap($type, $charset, &$map) + { + if (!isset(self::$convertMap[$type.$charset])) { + if (false === $map = self::getData($type.$charset)) { + if ('to.' === $type && self::loadMap('from.', $charset, $map)) { + $map = array_flip($map); + } else { + return false; + } + } + + self::$convertMap[$type.$charset] = $map; + } else { + $map = self::$convertMap[$type.$charset]; + } + + return true; + } + + private static function utf8ToUtf8($str, $ignore) + { + $ulenMask = self::$ulenMask; + $valid = self::$isValidUtf8; + + $u = $str; + $i = $j = 0; + $len = \strlen($str); + + while ($i < $len) { + if ($str[$i] < "\x80") { + $u[$j++] = $str[$i++]; + } else { + $ulen = $str[$i] & "\xF0"; + $ulen = $ulenMask[$ulen] ?? 1; + $uchr = substr($str, $i, $ulen); + + if (1 === $ulen || !($valid || preg_match('/^.$/us', $uchr))) { + if ($ignore) { + ++$i; + continue; + } + + trigger_error(self::ERROR_ILLEGAL_CHARACTER); + + return false; + } + + $i += $ulen; + + $u[$j++] = $uchr[0]; + + isset($uchr[1]) && 0 !== ($u[$j++] = $uchr[1]) + && isset($uchr[2]) && 0 !== ($u[$j++] = $uchr[2]) + && isset($uchr[3]) && 0 !== ($u[$j++] = $uchr[3]); + } + } + + return substr($u, 0, $j); + } + + private static function mapToUtf8(&$result, array $map, $str, $ignore) + { + $len = \strlen($str); + for ($i = 0; $i < $len; ++$i) { + if (isset($str[$i + 1], $map[$str[$i].$str[$i + 1]])) { + $result .= $map[$str[$i].$str[++$i]]; + } elseif (isset($map[$str[$i]])) { + $result .= $map[$str[$i]]; + } elseif (!$ignore) { + trigger_error(self::ERROR_ILLEGAL_CHARACTER); + + return false; + } + } + + return true; + } + + private static function mapFromUtf8(&$result, array $map, $str, $ignore, $translit) + { + $ulenMask = self::$ulenMask; + $valid = self::$isValidUtf8; + + if ($translit && !self::$translitMap) { + self::$translitMap = self::getData('translit'); + } + + $i = 0; + $len = \strlen($str); + + while ($i < $len) { + if ($str[$i] < "\x80") { + $uchr = $str[$i++]; + } else { + $ulen = $str[$i] & "\xF0"; + $ulen = $ulenMask[$ulen] ?? 1; + $uchr = substr($str, $i, $ulen); + + if ($ignore && (1 === $ulen || !($valid || preg_match('/^.$/us', $uchr)))) { + ++$i; + continue; + } + + $i += $ulen; + } + + if (isset($map[$uchr])) { + $result .= $map[$uchr]; + } elseif ($translit) { + if (isset(self::$translitMap[$uchr])) { + $uchr = self::$translitMap[$uchr]; + } elseif ($uchr >= "\xC3\x80") { + $uchr = \Normalizer::normalize($uchr, \Normalizer::NFD); + + if ($uchr[0] < "\x80") { + $uchr = $uchr[0]; + } elseif ($ignore) { + continue; + } else { + return false; + } + } elseif ($ignore) { + continue; + } else { + return false; + } + + $str = $uchr.substr($str, $i); + $len = \strlen($str); + $i = 0; + } elseif (!$ignore) { + return false; + } + } + + return true; + } + + private static function qpByteCallback(array $m) + { + return '='.strtoupper(dechex(\ord($m[0]))); + } + + private static function pregOffset($offset) + { + $rx = []; + $offset = (int) $offset; + + while ($offset > 65535) { + $rx[] = '.{65535}'; + $offset -= 65535; + } + + return implode('', $rx).'.{'.$offset.'}'; + } + + private static function getData($file) + { + if (file_exists($file = __DIR__.'/Resources/charset/'.$file.'.php')) { + return require $file; + } + + return false; + } +} diff --git a/pandora_console/vendor/symfony/polyfill-iconv/LICENSE b/pandora_console/vendor/symfony/polyfill-iconv/LICENSE new file mode 100644 index 0000000000..4cd8bdd300 --- /dev/null +++ b/pandora_console/vendor/symfony/polyfill-iconv/LICENSE @@ -0,0 +1,19 @@ +Copyright (c) 2015-2019 Fabien Potencier + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is furnished +to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/pandora_console/vendor/symfony/polyfill-iconv/README.md b/pandora_console/vendor/symfony/polyfill-iconv/README.md new file mode 100644 index 0000000000..b0c8984cd6 --- /dev/null +++ b/pandora_console/vendor/symfony/polyfill-iconv/README.md @@ -0,0 +1,14 @@ +Symfony Polyfill / Iconv +======================== + +This component provides a native PHP implementation of the +[php.net/iconv](https://php.net/iconv) functions +(short of [`ob_iconv_handler`](https://php.net/ob-iconv-handler)). + +More information can be found in the +[main Polyfill README](https://github.com/symfony/polyfill/blob/master/README.md). + +License +======= + +This library is released under the [MIT license](LICENSE). diff --git a/pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.big5.php b/pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.big5.php new file mode 100644 index 0000000000..b11985494d --- /dev/null +++ b/pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.big5.php @@ -0,0 +1,13719 @@ + ' ', + 'A' => ',', + 'B' => '、', + 'C' => '。', + 'D' => '.', + 'E' => '•', + 'F' => ';', + 'G' => ':', + 'H' => '?', + 'I' => '!', + 'J' => '︰', + 'K' => '…', + 'L' => '‥', + 'M' => '﹐', + 'N' => '、', + 'O' => '﹒', + 'P' => '·', + 'Q' => '﹔', + 'R' => '﹕', + 'S' => '﹖', + 'T' => '﹗', + 'U' => '|', + 'V' => '–', + 'W' => '︱', + 'X' => '—', + 'Y' => '︳', + 'Z' => '�', + '[' => '︴', + '\\' => '﹏', + ']' => '(', + '^' => ')', + '_' => '︵', + '`' => '︶', + 'a' => '{', + 'b' => '}', + 'c' => '︷', + 'd' => '︸', + 'e' => '〔', + 'f' => '〕', + 'g' => '︹', + 'h' => '︺', + 'i' => '【', + 'j' => '】', + 'k' => '︻', + 'l' => '︼', + 'm' => '《', + 'n' => '》', + 'o' => '︽', + 'p' => '︾', + 'q' => '〈', + 'r' => '〉', + 's' => '︿', + 't' => '﹀', + 'u' => '「', + 'v' => '」', + 'w' => '﹁', + 'x' => '﹂', + 'y' => '『', + 'z' => '』', + '{' => '﹃', + '|' => '﹄', + '}' => '﹙', + '~' => '﹚', + '' => '﹛', + '' => '﹜', + '' => '﹝', + '' => '﹞', + '' => '‘', + '' => '’', + '' => '“', + '' => '”', + '' => '〝', + '' => '〞', + '' => '‵', + '' => '′', + '' => '#', + '' => '&', + '' => '*', + '' => '※', + '' => '§', + '' => '〃', + '' => '○', + '' => '●', + '' => '△', + '' => '▲', + '' => '◎', + '' => '☆', + '' => '★', + '' => '◇', + '' => '◆', + '' => '□', + '' => '■', + '' => '▽', + '' => '▼', + '' => '㊣', + '' => '℅', + '' => '‾', + '' => '�', + '' => '_', + '' => '�', + '' => '﹉', + '' => '﹊', + '' => '﹍', + '' => '﹎', + '' => '﹋', + '' => '﹌', + '' => '﹟', + '' => '﹠', + '' => '﹡', + '' => '+', + '' => '-', + '' => '×', + '' => '÷', + '' => '±', + '' => '√', + '' => '<', + '' => '>', + '' => '=', + '' => '≦', + '' => '≧', + '' => '≠', + '' => '∞', + '' => '≒', + '' => '≡', + '' => '﹢', + '' => '﹣', + '' => '﹤', + '' => '﹥', + '' => '﹦', + '' => '∼', + '' => '∩', + '' => '∪', + '' => '⊥', + '' => '∠', + '' => '∟', + '' => '⊿', + '' => '㏒', + '' => '㏑', + '' => '∫', + '' => '∮', + '' => '∵', + '' => '∴', + '' => '♀', + '' => '♂', + '' => '♁', + '' => '☉', + '' => '↑', + '' => '↓', + '' => '←', + '' => '→', + '' => '↖', + '' => '↗', + '' => '↙', + '' => '↘', + '' => '∥', + '' => '∣', + '' => '�', + '@' => '�', + 'A' => '/', + 'B' => '\', + 'C' => '$', + 'D' => '¥', + 'E' => '〒', + 'F' => '¢', + 'G' => '£', + 'H' => '%', + 'I' => '@', + 'J' => '℃', + 'K' => '℉', + 'L' => '﹩', + 'M' => '﹪', + 'N' => '﹫', + 'O' => '㏕', + 'P' => '㎜', + 'Q' => '㎝', + 'R' => '㎞', + 'S' => '㏎', + 'T' => '㎡', + 'U' => '㎎', + 'V' => '㎏', + 'W' => '㏄', + 'X' => '°', + 'Y' => '兙', + 'Z' => '兛', + '[' => '兞', + '\\' => '兝', + ']' => '兡', + '^' => '兣', + '_' => '嗧', + '`' => '瓩', + 'a' => '糎', + 'b' => '▁', + 'c' => '▂', + 'd' => '▃', + 'e' => '▄', + 'f' => '▅', + 'g' => '▆', + 'h' => '▇', + 'i' => '█', + 'j' => '▏', + 'k' => '▎', + 'l' => '▍', + 'm' => '▌', + 'n' => '▋', + 'o' => '▊', + 'p' => '▉', + 'q' => '┼', + 'r' => '┴', + 's' => '┬', + 't' => '┤', + 'u' => '├', + 'v' => '▔', + 'w' => '─', + 'x' => '│', + 'y' => '▕', + 'z' => '┌', + '{' => '┐', + '|' => '└', + '}' => '┘', + '~' => '╭', + '' => '╮', + '' => '╰', + '' => '╯', + '' => '═', + '' => '╞', + '' => '╪', + '' => '╡', + '' => '◢', + '' => '◣', + '' => '◥', + '' => '◤', + '' => '╱', + '' => '╲', + '' => '╳', + '' => '0', + '' => '1', + '' => '2', + '' => '3', + '' => '4', + '' => '5', + '' => '6', + '' => '7', + '' => '8', + '' => '9', + '' => 'Ⅰ', + '' => 'Ⅱ', + '' => 'Ⅲ', + '' => 'Ⅳ', + '' => 'Ⅴ', + '' => 'Ⅵ', + '' => 'Ⅶ', + '' => 'Ⅷ', + '' => 'Ⅸ', + '' => 'Ⅹ', + '' => '〡', + '' => '〢', + '' => '〣', + '' => '〤', + '' => '〥', + '' => '〦', + '' => '〧', + '' => '〨', + '' => '〩', + '' => '�', + '' => '卄', + '' => '�', + '' => 'A', + '' => 'B', + '' => 'C', + '' => 'D', + '' => 'E', + '' => 'F', + '' => 'G', + '' => 'H', + '' => 'I', + '' => 'J', + '' => 'K', + '' => 'L', + '' => 'M', + '' => 'N', + '' => 'O', + '' => 'P', + '' => 'Q', + '' => 'R', + '' => 'S', + '' => 'T', + '' => 'U', + '' => 'V', + '' => 'W', + '' => 'X', + '' => 'Y', + '' => 'Z', + '' => 'a', + '' => 'b', + '' => 'c', + '' => 'd', + '' => 'e', + '' => 'f', + '' => 'g', + '' => 'h', + '' => 'i', + '' => 'j', + '' => 'k', + '' => 'l', + '' => 'm', + '' => 'n', + '' => 'o', + '' => 'p', + '' => 'q', + '' => 'r', + '' => 's', + '' => 't', + '' => 'u', + '' => 'v', + '@' => 'w', + 'A' => 'x', + 'B' => 'y', + 'C' => 'z', + 'D' => 'Α', + 'E' => 'Β', + 'F' => 'Γ', + 'G' => 'Δ', + 'H' => 'Ε', + 'I' => 'Ζ', + 'J' => 'Η', + 'K' => 'Θ', + 'L' => 'Ι', + 'M' => 'Κ', + 'N' => 'Λ', + 'O' => 'Μ', + 'P' => 'Ν', + 'Q' => 'Ξ', + 'R' => 'Ο', + 'S' => 'Π', + 'T' => 'Ρ', + 'U' => 'Σ', + 'V' => 'Τ', + 'W' => 'Υ', + 'X' => 'Φ', + 'Y' => 'Χ', + 'Z' => 'Ψ', + '[' => 'Ω', + '\\' => 'α', + ']' => 'β', + '^' => 'γ', + '_' => 'δ', + '`' => 'ε', + 'a' => 'ζ', + 'b' => 'η', + 'c' => 'θ', + 'd' => 'ι', + 'e' => 'κ', + 'f' => 'λ', + 'g' => 'μ', + 'h' => 'ν', + 'i' => 'ξ', + 'j' => 'ο', + 'k' => 'π', + 'l' => 'ρ', + 'm' => 'σ', + 'n' => 'τ', + 'o' => 'υ', + 'p' => 'φ', + 'q' => 'χ', + 'r' => 'ψ', + 's' => 'ω', + 't' => 'ㄅ', + 'u' => 'ㄆ', + 'v' => 'ㄇ', + 'w' => 'ㄈ', + 'x' => 'ㄉ', + 'y' => 'ㄊ', + 'z' => 'ㄋ', + '{' => 'ㄌ', + '|' => 'ㄍ', + '}' => 'ㄎ', + '~' => 'ㄏ', + '' => 'ㄐ', + '' => 'ㄑ', + '' => 'ㄒ', + '' => 'ㄓ', + '' => 'ㄔ', + '' => 'ㄕ', + '' => 'ㄖ', + '' => 'ㄗ', + '' => 'ㄘ', + '' => 'ㄙ', + '' => 'ㄚ', + '' => 'ㄛ', + '' => 'ㄜ', + '' => 'ㄝ', + '' => 'ㄞ', + '' => 'ㄟ', + '' => 'ㄠ', + '' => 'ㄡ', + '' => 'ㄢ', + '' => 'ㄣ', + '' => 'ㄤ', + '' => 'ㄥ', + '' => 'ㄦ', + '' => 'ㄧ', + '' => 'ㄨ', + '' => 'ㄩ', + '' => '˙', + '' => 'ˉ', + '' => 'ˊ', + '' => 'ˇ', + '' => 'ˋ', + '@' => '一', + 'A' => '乙', + 'B' => '丁', + 'C' => '七', + 'D' => '乃', + 'E' => '九', + 'F' => '了', + 'G' => '二', + 'H' => '人', + 'I' => '儿', + 'J' => '入', + 'K' => '八', + 'L' => '几', + 'M' => '刀', + 'N' => '刁', + 'O' => '力', + 'P' => '匕', + 'Q' => '十', + 'R' => '卜', + 'S' => '又', + 'T' => '三', + 'U' => '下', + 'V' => '丈', + 'W' => '上', + 'X' => '丫', + 'Y' => '丸', + 'Z' => '凡', + '[' => '久', + '\\' => '么', + ']' => '也', + '^' => '乞', + '_' => '于', + '`' => '亡', + 'a' => '兀', + 'b' => '刃', + 'c' => '勺', + 'd' => '千', + 'e' => '叉', + 'f' => '口', + 'g' => '土', + 'h' => '士', + 'i' => '夕', + 'j' => '大', + 'k' => '女', + 'l' => '子', + 'm' => '孑', + 'n' => '孓', + 'o' => '寸', + 'p' => '小', + 'q' => '尢', + 'r' => '尸', + 's' => '山', + 't' => '川', + 'u' => '工', + 'v' => '己', + 'w' => '已', + 'x' => '巳', + 'y' => '巾', + 'z' => '干', + '{' => '廾', + '|' => '弋', + '}' => '弓', + '~' => '才', + '' => '丑', + '' => '丐', + '' => '不', + '' => '中', + '' => '丰', + '' => '丹', + '' => '之', + '' => '尹', + '' => '予', + '' => '云', + '' => '井', + '' => '互', + '' => '五', + '' => '亢', + '' => '仁', + '' => '什', + '' => '仃', + '' => '仆', + '' => '仇', + '' => '仍', + '' => '今', + '' => '介', + '' => '仄', + '' => '元', + '' => '允', + '' => '內', + '' => '六', + '' => '兮', + '' => '公', + '' => '冗', + '' => '凶', + '' => '分', + '' => '切', + '' => '刈', + '' => '勻', + '' => '勾', + '' => '勿', + '' => '化', + '' => '匹', + '' => '午', + '' => '升', + '' => '卅', + '' => '卞', + '' => '厄', + '' => '友', + '' => '及', + '' => '反', + '' => '壬', + '' => '天', + '' => '夫', + '' => '太', + '' => '夭', + '' => '孔', + '' => '少', + '' => '尤', + '' => '尺', + '' => '屯', + '' => '巴', + '' => '幻', + '' => '廿', + '' => '弔', + '' => '引', + '' => '心', + '' => '戈', + '' => '戶', + '' => '手', + '' => '扎', + '' => '支', + '' => '文', + '' => '斗', + '' => '斤', + '' => '方', + '' => '日', + '' => '曰', + '' => '月', + '' => '木', + '' => '欠', + '' => '止', + '' => '歹', + '' => '毋', + '' => '比', + '' => '毛', + '' => '氏', + '' => '水', + '' => '火', + '' => '爪', + '' => '父', + '' => '爻', + '' => '片', + '' => '牙', + '' => '牛', + '' => '犬', + '' => '王', + '' => '丙', + '@' => '世', + 'A' => '丕', + 'B' => '且', + 'C' => '丘', + 'D' => '主', + 'E' => '乍', + 'F' => '乏', + 'G' => '乎', + 'H' => '以', + 'I' => '付', + 'J' => '仔', + 'K' => '仕', + 'L' => '他', + 'M' => '仗', + 'N' => '代', + 'O' => '令', + 'P' => '仙', + 'Q' => '仞', + 'R' => '充', + 'S' => '兄', + 'T' => '冉', + 'U' => '冊', + 'V' => '冬', + 'W' => '凹', + 'X' => '出', + 'Y' => '凸', + 'Z' => '刊', + '[' => '加', + '\\' => '功', + ']' => '包', + '^' => '匆', + '_' => '北', + '`' => '匝', + 'a' => '仟', + 'b' => '半', + 'c' => '卉', + 'd' => '卡', + 'e' => '占', + 'f' => '卯', + 'g' => '卮', + 'h' => '去', + 'i' => '可', + 'j' => '古', + 'k' => '右', + 'l' => '召', + 'm' => '叮', + 'n' => '叩', + 'o' => '叨', + 'p' => '叼', + 'q' => '司', + 'r' => '叵', + 's' => '叫', + 't' => '另', + 'u' => '只', + 'v' => '史', + 'w' => '叱', + 'x' => '台', + 'y' => '句', + 'z' => '叭', + '{' => '叻', + '|' => '四', + '}' => '囚', + '~' => '外', + '' => '央', + '' => '失', + '' => '奴', + '' => '奶', + '' => '孕', + '' => '它', + '' => '尼', + '' => '巨', + '' => '巧', + '' => '左', + '' => '市', + '' => '布', + '' => '平', + '' => '幼', + '' => '弁', + '' => '弘', + '' => '弗', + '' => '必', + '' => '戊', + '' => '打', + '' => '扔', + '' => '扒', + '' => '扑', + '' => '斥', + '' => '旦', + '' => '朮', + '' => '本', + '' => '未', + '' => '末', + '' => '札', + '' => '正', + '' => '母', + '' => '民', + '' => '氐', + '' => '永', + '' => '汁', + '' => '汀', + '' => '氾', + '' => '犯', + '' => '玄', + '' => '玉', + '' => '瓜', + '' => '瓦', + '' => '甘', + '' => '生', + '' => '用', + '' => '甩', + '' => '田', + '' => '由', + '' => '甲', + '' => '申', + '' => '疋', + '' => '白', + '' => '皮', + '' => '皿', + '' => '目', + '' => '矛', + '' => '矢', + '' => '石', + '' => '示', + '' => '禾', + '' => '穴', + '' => '立', + '' => '丞', + '' => '丟', + '' => '乒', + '' => '乓', + '' => '乩', + '' => '亙', + '' => '交', + '' => '亦', + '' => '亥', + '' => '仿', + '' => '伉', + '' => '伙', + '' => '伊', + '' => '伕', + '' => '伍', + '' => '伐', + '' => '休', + '' => '伏', + '' => '仲', + '' => '件', + '' => '任', + '' => '仰', + '' => '仳', + '' => '份', + '' => '企', + '' => '伋', + '' => '光', + '' => '兇', + '' => '兆', + '' => '先', + '' => '全', + '@' => '共', + 'A' => '再', + 'B' => '冰', + 'C' => '列', + 'D' => '刑', + 'E' => '划', + 'F' => '刎', + 'G' => '刖', + 'H' => '劣', + 'I' => '匈', + 'J' => '匡', + 'K' => '匠', + 'L' => '印', + 'M' => '危', + 'N' => '吉', + 'O' => '吏', + 'P' => '同', + 'Q' => '吊', + 'R' => '吐', + 'S' => '吁', + 'T' => '吋', + 'U' => '各', + 'V' => '向', + 'W' => '名', + 'X' => '合', + 'Y' => '吃', + 'Z' => '后', + '[' => '吆', + '\\' => '吒', + ']' => '因', + '^' => '回', + '_' => '囝', + '`' => '圳', + 'a' => '地', + 'b' => '在', + 'c' => '圭', + 'd' => '圬', + 'e' => '圯', + 'f' => '圩', + 'g' => '夙', + 'h' => '多', + 'i' => '夷', + 'j' => '夸', + 'k' => '妄', + 'l' => '奸', + 'm' => '妃', + 'n' => '好', + 'o' => '她', + 'p' => '如', + 'q' => '妁', + 'r' => '字', + 's' => '存', + 't' => '宇', + 'u' => '守', + 'v' => '宅', + 'w' => '安', + 'x' => '寺', + 'y' => '尖', + 'z' => '屹', + '{' => '州', + '|' => '帆', + '}' => '并', + '~' => '年', + '' => '式', + '' => '弛', + '' => '忙', + '' => '忖', + '' => '戎', + '' => '戌', + '' => '戍', + '' => '成', + '' => '扣', + '' => '扛', + '' => '托', + '' => '收', + '' => '早', + '' => '旨', + '' => '旬', + '' => '旭', + '' => '曲', + '' => '曳', + '' => '有', + '' => '朽', + '' => '朴', + '' => '朱', + '' => '朵', + '' => '次', + '' => '此', + '' => '死', + '' => '氖', + '' => '汝', + '' => '汗', + '' => '汙', + '' => '江', + '' => '池', + '' => '汐', + '' => '汕', + '' => '污', + '' => '汛', + '' => '汍', + '' => '汎', + '' => '灰', + '' => '牟', + '' => '牝', + '' => '百', + '' => '竹', + '' => '米', + '' => '糸', + '' => '缶', + '' => '羊', + '' => '羽', + '' => '老', + '' => '考', + '' => '而', + '' => '耒', + '' => '耳', + '' => '聿', + '' => '肉', + '' => '肋', + '' => '肌', + '' => '臣', + '' => '自', + '' => '至', + '' => '臼', + '' => '舌', + '' => '舛', + '' => '舟', + '' => '艮', + '' => '色', + '' => '艾', + '' => '虫', + '' => '血', + '' => '行', + '' => '衣', + '' => '西', + '' => '阡', + '' => '串', + '' => '亨', + '' => '位', + '' => '住', + '' => '佇', + '' => '佗', + '' => '佞', + '' => '伴', + '' => '佛', + '' => '何', + '' => '估', + '' => '佐', + '' => '佑', + '' => '伽', + '' => '伺', + '' => '伸', + '' => '佃', + '' => '佔', + '' => '似', + '' => '但', + '' => '佣', + '@' => '作', + 'A' => '你', + 'B' => '伯', + 'C' => '低', + 'D' => '伶', + 'E' => '余', + 'F' => '佝', + 'G' => '佈', + 'H' => '佚', + 'I' => '兌', + 'J' => '克', + 'K' => '免', + 'L' => '兵', + 'M' => '冶', + 'N' => '冷', + 'O' => '別', + 'P' => '判', + 'Q' => '利', + 'R' => '刪', + 'S' => '刨', + 'T' => '劫', + 'U' => '助', + 'V' => '努', + 'W' => '劬', + 'X' => '匣', + 'Y' => '即', + 'Z' => '卵', + '[' => '吝', + '\\' => '吭', + ']' => '吞', + '^' => '吾', + '_' => '否', + '`' => '呎', + 'a' => '吧', + 'b' => '呆', + 'c' => '呃', + 'd' => '吳', + 'e' => '呈', + 'f' => '呂', + 'g' => '君', + 'h' => '吩', + 'i' => '告', + 'j' => '吹', + 'k' => '吻', + 'l' => '吸', + 'm' => '吮', + 'n' => '吵', + 'o' => '吶', + 'p' => '吠', + 'q' => '吼', + 'r' => '呀', + 's' => '吱', + 't' => '含', + 'u' => '吟', + 'v' => '听', + 'w' => '囪', + 'x' => '困', + 'y' => '囤', + 'z' => '囫', + '{' => '坊', + '|' => '坑', + '}' => '址', + '~' => '坍', + '' => '均', + '' => '坎', + '' => '圾', + '' => '坐', + '' => '坏', + '' => '圻', + '' => '壯', + '' => '夾', + '' => '妝', + '' => '妒', + '' => '妨', + '' => '妞', + '' => '妣', + '' => '妙', + '' => '妖', + '' => '妍', + '' => '妤', + '' => '妓', + '' => '妊', + '' => '妥', + '' => '孝', + '' => '孜', + '' => '孚', + '' => '孛', + '' => '完', + '' => '宋', + '' => '宏', + '' => '尬', + '' => '局', + '' => '屁', + '' => '尿', + '' => '尾', + '' => '岐', + '' => '岑', + '' => '岔', + '' => '岌', + '' => '巫', + '' => '希', + '' => '序', + '' => '庇', + '' => '床', + '' => '廷', + '' => '弄', + '' => '弟', + '' => '彤', + '' => '形', + '' => '彷', + '' => '役', + '' => '忘', + '' => '忌', + '' => '志', + '' => '忍', + '' => '忱', + '' => '快', + '' => '忸', + '' => '忪', + '' => '戒', + '' => '我', + '' => '抄', + '' => '抗', + '' => '抖', + '' => '技', + '' => '扶', + '' => '抉', + '' => '扭', + '' => '把', + '' => '扼', + '' => '找', + '' => '批', + '' => '扳', + '' => '抒', + '' => '扯', + '' => '折', + '' => '扮', + '' => '投', + '' => '抓', + '' => '抑', + '' => '抆', + '' => '改', + '' => '攻', + '' => '攸', + '' => '旱', + '' => '更', + '' => '束', + '' => '李', + '' => '杏', + '' => '材', + '' => '村', + '' => '杜', + '' => '杖', + '' => '杞', + '' => '杉', + '' => '杆', + '' => '杠', + '@' => '杓', + 'A' => '杗', + 'B' => '步', + 'C' => '每', + 'D' => '求', + 'E' => '汞', + 'F' => '沙', + 'G' => '沁', + 'H' => '沈', + 'I' => '沉', + 'J' => '沅', + 'K' => '沛', + 'L' => '汪', + 'M' => '決', + 'N' => '沐', + 'O' => '汰', + 'P' => '沌', + 'Q' => '汨', + 'R' => '沖', + 'S' => '沒', + 'T' => '汽', + 'U' => '沃', + 'V' => '汲', + 'W' => '汾', + 'X' => '汴', + 'Y' => '沆', + 'Z' => '汶', + '[' => '沍', + '\\' => '沔', + ']' => '沘', + '^' => '沂', + '_' => '灶', + '`' => '灼', + 'a' => '災', + 'b' => '灸', + 'c' => '牢', + 'd' => '牡', + 'e' => '牠', + 'f' => '狄', + 'g' => '狂', + 'h' => '玖', + 'i' => '甬', + 'j' => '甫', + 'k' => '男', + 'l' => '甸', + 'm' => '皂', + 'n' => '盯', + 'o' => '矣', + 'p' => '私', + 'q' => '秀', + 'r' => '禿', + 's' => '究', + 't' => '系', + 'u' => '罕', + 'v' => '肖', + 'w' => '肓', + 'x' => '肝', + 'y' => '肘', + 'z' => '肛', + '{' => '肚', + '|' => '育', + '}' => '良', + '~' => '芒', + '' => '芋', + '' => '芍', + '' => '見', + '' => '角', + '' => '言', + '' => '谷', + '' => '豆', + '' => '豕', + '' => '貝', + '' => '赤', + '' => '走', + '' => '足', + '' => '身', + '' => '車', + '' => '辛', + '' => '辰', + '' => '迂', + '' => '迆', + '' => '迅', + '' => '迄', + '' => '巡', + '' => '邑', + '' => '邢', + '' => '邪', + '' => '邦', + '' => '那', + '' => '酉', + '' => '釆', + '' => '里', + '' => '防', + '' => '阮', + '' => '阱', + '' => '阪', + '' => '阬', + '' => '並', + '' => '乖', + '' => '乳', + '' => '事', + '' => '些', + '' => '亞', + '' => '享', + '' => '京', + '' => '佯', + '' => '依', + '' => '侍', + '' => '佳', + '' => '使', + '' => '佬', + '' => '供', + '' => '例', + '' => '來', + '' => '侃', + '' => '佰', + '' => '併', + '' => '侈', + '' => '佩', + '' => '佻', + '' => '侖', + '' => '佾', + '' => '侏', + '' => '侑', + '' => '佺', + '' => '兔', + '' => '兒', + '' => '兕', + '' => '兩', + '' => '具', + '' => '其', + '' => '典', + '' => '冽', + '' => '函', + '' => '刻', + '' => '券', + '' => '刷', + '' => '刺', + '' => '到', + '' => '刮', + '' => '制', + '' => '剁', + '' => '劾', + '' => '劻', + '' => '卒', + '' => '協', + '' => '卓', + '' => '卑', + '' => '卦', + '' => '卷', + '' => '卸', + '' => '卹', + '' => '取', + '' => '叔', + '' => '受', + '' => '味', + '' => '呵', + '@' => '咖', + 'A' => '呸', + 'B' => '咕', + 'C' => '咀', + 'D' => '呻', + 'E' => '呷', + 'F' => '咄', + 'G' => '咒', + 'H' => '咆', + 'I' => '呼', + 'J' => '咐', + 'K' => '呱', + 'L' => '呶', + 'M' => '和', + 'N' => '咚', + 'O' => '呢', + 'P' => '周', + 'Q' => '咋', + 'R' => '命', + 'S' => '咎', + 'T' => '固', + 'U' => '垃', + 'V' => '坷', + 'W' => '坪', + 'X' => '坩', + 'Y' => '坡', + 'Z' => '坦', + '[' => '坤', + '\\' => '坼', + ']' => '夜', + '^' => '奉', + '_' => '奇', + '`' => '奈', + 'a' => '奄', + 'b' => '奔', + 'c' => '妾', + 'd' => '妻', + 'e' => '委', + 'f' => '妹', + 'g' => '妮', + 'h' => '姑', + 'i' => '姆', + 'j' => '姐', + 'k' => '姍', + 'l' => '始', + 'm' => '姓', + 'n' => '姊', + 'o' => '妯', + 'p' => '妳', + 'q' => '姒', + 'r' => '姅', + 's' => '孟', + 't' => '孤', + 'u' => '季', + 'v' => '宗', + 'w' => '定', + 'x' => '官', + 'y' => '宜', + 'z' => '宙', + '{' => '宛', + '|' => '尚', + '}' => '屈', + '~' => '居', + '' => '屆', + '' => '岷', + '' => '岡', + '' => '岸', + '' => '岩', + '' => '岫', + '' => '岱', + '' => '岳', + '' => '帘', + '' => '帚', + '' => '帖', + '' => '帕', + '' => '帛', + '' => '帑', + '' => '幸', + '' => '庚', + '' => '店', + '' => '府', + '' => '底', + '' => '庖', + '' => '延', + '' => '弦', + '' => '弧', + '' => '弩', + '' => '往', + '' => '征', + '' => '彿', + '' => '彼', + '' => '忝', + '' => '忠', + '' => '忽', + '' => '念', + '' => '忿', + '' => '怏', + '' => '怔', + '' => '怯', + '' => '怵', + '' => '怖', + '' => '怪', + '' => '怕', + '' => '怡', + '' => '性', + '' => '怩', + '' => '怫', + '' => '怛', + '' => '或', + '' => '戕', + '' => '房', + '' => '戾', + '' => '所', + '' => '承', + '' => '拉', + '' => '拌', + '' => '拄', + '' => '抿', + '' => '拂', + '' => '抹', + '' => '拒', + '' => '招', + '' => '披', + '' => '拓', + '' => '拔', + '' => '拋', + '' => '拈', + '' => '抨', + '' => '抽', + '' => '押', + '' => '拐', + '' => '拙', + '' => '拇', + '' => '拍', + '' => '抵', + '' => '拚', + '' => '抱', + '' => '拘', + '' => '拖', + '' => '拗', + '' => '拆', + '' => '抬', + '' => '拎', + '' => '放', + '' => '斧', + '' => '於', + '' => '旺', + '' => '昔', + '' => '易', + '' => '昌', + '' => '昆', + '' => '昂', + '' => '明', + '' => '昀', + '' => '昏', + '' => '昕', + '' => '昊', + '@' => '昇', + 'A' => '服', + 'B' => '朋', + 'C' => '杭', + 'D' => '枋', + 'E' => '枕', + 'F' => '東', + 'G' => '果', + 'H' => '杳', + 'I' => '杷', + 'J' => '枇', + 'K' => '枝', + 'L' => '林', + 'M' => '杯', + 'N' => '杰', + 'O' => '板', + 'P' => '枉', + 'Q' => '松', + 'R' => '析', + 'S' => '杵', + 'T' => '枚', + 'U' => '枓', + 'V' => '杼', + 'W' => '杪', + 'X' => '杲', + 'Y' => '欣', + 'Z' => '武', + '[' => '歧', + '\\' => '歿', + ']' => '氓', + '^' => '氛', + '_' => '泣', + '`' => '注', + 'a' => '泳', + 'b' => '沱', + 'c' => '泌', + 'd' => '泥', + 'e' => '河', + 'f' => '沽', + 'g' => '沾', + 'h' => '沼', + 'i' => '波', + 'j' => '沫', + 'k' => '法', + 'l' => '泓', + 'm' => '沸', + 'n' => '泄', + 'o' => '油', + 'p' => '況', + 'q' => '沮', + 'r' => '泗', + 's' => '泅', + 't' => '泱', + 'u' => '沿', + 'v' => '治', + 'w' => '泡', + 'x' => '泛', + 'y' => '泊', + 'z' => '沬', + '{' => '泯', + '|' => '泜', + '}' => '泖', + '~' => '泠', + '' => '炕', + '' => '炎', + '' => '炒', + '' => '炊', + '' => '炙', + '' => '爬', + '' => '爭', + '' => '爸', + '' => '版', + '' => '牧', + '' => '物', + '' => '狀', + '' => '狎', + '' => '狙', + '' => '狗', + '' => '狐', + '' => '玩', + '' => '玨', + '' => '玟', + '' => '玫', + '' => '玥', + '' => '甽', + '' => '疝', + '' => '疙', + '' => '疚', + '' => '的', + '' => '盂', + '' => '盲', + '' => '直', + '' => '知', + '' => '矽', + '' => '社', + '' => '祀', + '' => '祁', + '' => '秉', + '' => '秈', + '' => '空', + '' => '穹', + '' => '竺', + '' => '糾', + '' => '罔', + '' => '羌', + '' => '羋', + '' => '者', + '' => '肺', + '' => '肥', + '' => '肢', + '' => '肱', + '' => '股', + '' => '肫', + '' => '肩', + '' => '肴', + '' => '肪', + '' => '肯', + '' => '臥', + '' => '臾', + '' => '舍', + '' => '芳', + '' => '芝', + '' => '芙', + '' => '芭', + '' => '芽', + '' => '芟', + '' => '芹', + '' => '花', + '' => '芬', + '' => '芥', + '' => '芯', + '' => '芸', + '' => '芣', + '' => '芰', + '' => '芾', + '' => '芷', + '' => '虎', + '' => '虱', + '' => '初', + '' => '表', + '' => '軋', + '' => '迎', + '' => '返', + '' => '近', + '' => '邵', + '' => '邸', + '' => '邱', + '' => '邶', + '' => '采', + '' => '金', + '' => '長', + '' => '門', + '' => '阜', + '' => '陀', + '' => '阿', + '' => '阻', + '' => '附', + '@' => '陂', + 'A' => '隹', + 'B' => '雨', + 'C' => '青', + 'D' => '非', + 'E' => '亟', + 'F' => '亭', + 'G' => '亮', + 'H' => '信', + 'I' => '侵', + 'J' => '侯', + 'K' => '便', + 'L' => '俠', + 'M' => '俑', + 'N' => '俏', + 'O' => '保', + 'P' => '促', + 'Q' => '侶', + 'R' => '俘', + 'S' => '俟', + 'T' => '俊', + 'U' => '俗', + 'V' => '侮', + 'W' => '俐', + 'X' => '俄', + 'Y' => '係', + 'Z' => '俚', + '[' => '俎', + '\\' => '俞', + ']' => '侷', + '^' => '兗', + '_' => '冒', + '`' => '冑', + 'a' => '冠', + 'b' => '剎', + 'c' => '剃', + 'd' => '削', + 'e' => '前', + 'f' => '剌', + 'g' => '剋', + 'h' => '則', + 'i' => '勇', + 'j' => '勉', + 'k' => '勃', + 'l' => '勁', + 'm' => '匍', + 'n' => '南', + 'o' => '卻', + 'p' => '厚', + 'q' => '叛', + 'r' => '咬', + 's' => '哀', + 't' => '咨', + 'u' => '哎', + 'v' => '哉', + 'w' => '咸', + 'x' => '咦', + 'y' => '咳', + 'z' => '哇', + '{' => '哂', + '|' => '咽', + '}' => '咪', + '~' => '品', + '' => '哄', + '' => '哈', + '' => '咯', + '' => '咫', + '' => '咱', + '' => '咻', + '' => '咩', + '' => '咧', + '' => '咿', + '' => '囿', + '' => '垂', + '' => '型', + '' => '垠', + '' => '垣', + '' => '垢', + '' => '城', + '' => '垮', + '' => '垓', + '' => '奕', + '' => '契', + '' => '奏', + '' => '奎', + '' => '奐', + '' => '姜', + '' => '姘', + '' => '姿', + '' => '姣', + '' => '姨', + '' => '娃', + '' => '姥', + '' => '姪', + '' => '姚', + '' => '姦', + '' => '威', + '' => '姻', + '' => '孩', + '' => '宣', + '' => '宦', + '' => '室', + '' => '客', + '' => '宥', + '' => '封', + '' => '屎', + '' => '屏', + '' => '屍', + '' => '屋', + '' => '峙', + '' => '峒', + '' => '巷', + '' => '帝', + '' => '帥', + '' => '帟', + '' => '幽', + '' => '庠', + '' => '度', + '' => '建', + '' => '弈', + '' => '弭', + '' => '彥', + '' => '很', + '' => '待', + '' => '徊', + '' => '律', + '' => '徇', + '' => '後', + '' => '徉', + '' => '怒', + '' => '思', + '' => '怠', + '' => '急', + '' => '怎', + '' => '怨', + '' => '恍', + '' => '恰', + '' => '恨', + '' => '恢', + '' => '恆', + '' => '恃', + '' => '恬', + '' => '恫', + '' => '恪', + '' => '恤', + '' => '扁', + '' => '拜', + '' => '挖', + '' => '按', + '' => '拼', + '' => '拭', + '' => '持', + '' => '拮', + '' => '拽', + '' => '指', + '' => '拱', + '' => '拷', + '@' => '拯', + 'A' => '括', + 'B' => '拾', + 'C' => '拴', + 'D' => '挑', + 'E' => '挂', + 'F' => '政', + 'G' => '故', + 'H' => '斫', + 'I' => '施', + 'J' => '既', + 'K' => '春', + 'L' => '昭', + 'M' => '映', + 'N' => '昧', + 'O' => '是', + 'P' => '星', + 'Q' => '昨', + 'R' => '昱', + 'S' => '昤', + 'T' => '曷', + 'U' => '柿', + 'V' => '染', + 'W' => '柱', + 'X' => '柔', + 'Y' => '某', + 'Z' => '柬', + '[' => '架', + '\\' => '枯', + ']' => '柵', + '^' => '柩', + '_' => '柯', + '`' => '柄', + 'a' => '柑', + 'b' => '枴', + 'c' => '柚', + 'd' => '查', + 'e' => '枸', + 'f' => '柏', + 'g' => '柞', + 'h' => '柳', + 'i' => '枰', + 'j' => '柙', + 'k' => '柢', + 'l' => '柝', + 'm' => '柒', + 'n' => '歪', + 'o' => '殃', + 'p' => '殆', + 'q' => '段', + 'r' => '毒', + 's' => '毗', + 't' => '氟', + 'u' => '泉', + 'v' => '洋', + 'w' => '洲', + 'x' => '洪', + 'y' => '流', + 'z' => '津', + '{' => '洌', + '|' => '洱', + '}' => '洞', + '~' => '洗', + '' => '活', + '' => '洽', + '' => '派', + '' => '洶', + '' => '洛', + '' => '泵', + '' => '洹', + '' => '洧', + '' => '洸', + '' => '洩', + '' => '洮', + '' => '洵', + '' => '洎', + '' => '洫', + '' => '炫', + '' => '為', + '' => '炳', + '' => '炬', + '' => '炯', + '' => '炭', + '' => '炸', + '' => '炮', + '' => '炤', + '' => '爰', + '' => '牲', + '' => '牯', + '' => '牴', + '' => '狩', + '' => '狠', + '' => '狡', + '' => '玷', + '' => '珊', + '' => '玻', + '' => '玲', + '' => '珍', + '' => '珀', + '' => '玳', + '' => '甚', + '' => '甭', + '' => '畏', + '' => '界', + '' => '畎', + '' => '畋', + '' => '疫', + '' => '疤', + '' => '疥', + '' => '疢', + '' => '疣', + '' => '癸', + '' => '皆', + '' => '皇', + '' => '皈', + '' => '盈', + '' => '盆', + '' => '盃', + '' => '盅', + '' => '省', + '' => '盹', + '' => '相', + '' => '眉', + '' => '看', + '' => '盾', + '' => '盼', + '' => '眇', + '' => '矜', + '' => '砂', + '' => '研', + '' => '砌', + '' => '砍', + '' => '祆', + '' => '祉', + '' => '祈', + '' => '祇', + '' => '禹', + '' => '禺', + '' => '科', + '' => '秒', + '' => '秋', + '' => '穿', + '' => '突', + '' => '竿', + '' => '竽', + '' => '籽', + '' => '紂', + '' => '紅', + '' => '紀', + '' => '紉', + '' => '紇', + '' => '約', + '' => '紆', + '' => '缸', + '' => '美', + '' => '羿', + '' => '耄', + '@' => '耐', + 'A' => '耍', + 'B' => '耑', + 'C' => '耶', + 'D' => '胖', + 'E' => '胥', + 'F' => '胚', + 'G' => '胃', + 'H' => '胄', + 'I' => '背', + 'J' => '胡', + 'K' => '胛', + 'L' => '胎', + 'M' => '胞', + 'N' => '胤', + 'O' => '胝', + 'P' => '致', + 'Q' => '舢', + 'R' => '苧', + 'S' => '范', + 'T' => '茅', + 'U' => '苣', + 'V' => '苛', + 'W' => '苦', + 'X' => '茄', + 'Y' => '若', + 'Z' => '茂', + '[' => '茉', + '\\' => '苒', + ']' => '苗', + '^' => '英', + '_' => '茁', + '`' => '苜', + 'a' => '苔', + 'b' => '苑', + 'c' => '苞', + 'd' => '苓', + 'e' => '苟', + 'f' => '苯', + 'g' => '茆', + 'h' => '虐', + 'i' => '虹', + 'j' => '虻', + 'k' => '虺', + 'l' => '衍', + 'm' => '衫', + 'n' => '要', + 'o' => '觔', + 'p' => '計', + 'q' => '訂', + 'r' => '訃', + 's' => '貞', + 't' => '負', + 'u' => '赴', + 'v' => '赳', + 'w' => '趴', + 'x' => '軍', + 'y' => '軌', + 'z' => '述', + '{' => '迦', + '|' => '迢', + '}' => '迪', + '~' => '迥', + '' => '迭', + '' => '迫', + '' => '迤', + '' => '迨', + '' => '郊', + '' => '郎', + '' => '郁', + '' => '郃', + '' => '酋', + '' => '酊', + '' => '重', + '' => '閂', + '' => '限', + '' => '陋', + '' => '陌', + '' => '降', + '' => '面', + '' => '革', + '' => '韋', + '' => '韭', + '' => '音', + '' => '頁', + '' => '風', + '' => '飛', + '' => '食', + '' => '首', + '' => '香', + '' => '乘', + '' => '亳', + '' => '倌', + '' => '倍', + '' => '倣', + '' => '俯', + '' => '倦', + '' => '倥', + '' => '俸', + '' => '倩', + '' => '倖', + '' => '倆', + '' => '值', + '' => '借', + '' => '倚', + '' => '倒', + '' => '們', + '' => '俺', + '' => '倀', + '' => '倔', + '' => '倨', + '' => '俱', + '' => '倡', + '' => '個', + '' => '候', + '' => '倘', + '' => '俳', + '' => '修', + '' => '倭', + '' => '倪', + '' => '俾', + '' => '倫', + '' => '倉', + '' => '兼', + '' => '冤', + '' => '冥', + '' => '冢', + '' => '凍', + '' => '凌', + '' => '准', + '' => '凋', + '' => '剖', + '' => '剜', + '' => '剔', + '' => '剛', + '' => '剝', + '' => '匪', + '' => '卿', + '' => '原', + '' => '厝', + '' => '叟', + '' => '哨', + '' => '唐', + '' => '唁', + '' => '唷', + '' => '哼', + '' => '哥', + '' => '哲', + '' => '唆', + '' => '哺', + '' => '唔', + '' => '哩', + '' => '哭', + '' => '員', + '' => '唉', + '' => '哮', + '' => '哪', + '@' => '哦', + 'A' => '唧', + 'B' => '唇', + 'C' => '哽', + 'D' => '唏', + 'E' => '圃', + 'F' => '圄', + 'G' => '埂', + 'H' => '埔', + 'I' => '埋', + 'J' => '埃', + 'K' => '堉', + 'L' => '夏', + 'M' => '套', + 'N' => '奘', + 'O' => '奚', + 'P' => '娑', + 'Q' => '娘', + 'R' => '娜', + 'S' => '娟', + 'T' => '娛', + 'U' => '娓', + 'V' => '姬', + 'W' => '娠', + 'X' => '娣', + 'Y' => '娩', + 'Z' => '娥', + '[' => '娌', + '\\' => '娉', + ']' => '孫', + '^' => '屘', + '_' => '宰', + '`' => '害', + 'a' => '家', + 'b' => '宴', + 'c' => '宮', + 'd' => '宵', + 'e' => '容', + 'f' => '宸', + 'g' => '射', + 'h' => '屑', + 'i' => '展', + 'j' => '屐', + 'k' => '峭', + 'l' => '峽', + 'm' => '峻', + 'n' => '峪', + 'o' => '峨', + 'p' => '峰', + 'q' => '島', + 'r' => '崁', + 's' => '峴', + 't' => '差', + 'u' => '席', + 'v' => '師', + 'w' => '庫', + 'x' => '庭', + 'y' => '座', + 'z' => '弱', + '{' => '徒', + '|' => '徑', + '}' => '徐', + '~' => '恙', + '' => '恣', + '' => '恥', + '' => '恐', + '' => '恕', + '' => '恭', + '' => '恩', + '' => '息', + '' => '悄', + '' => '悟', + '' => '悚', + '' => '悍', + '' => '悔', + '' => '悌', + '' => '悅', + '' => '悖', + '' => '扇', + '' => '拳', + '' => '挈', + '' => '拿', + '' => '捎', + '' => '挾', + '' => '振', + '' => '捕', + '' => '捂', + '' => '捆', + '' => '捏', + '' => '捉', + '' => '挺', + '' => '捐', + '' => '挽', + '' => '挪', + '' => '挫', + '' => '挨', + '' => '捍', + '' => '捌', + '' => '效', + '' => '敉', + '' => '料', + '' => '旁', + '' => '旅', + '' => '時', + '' => '晉', + '' => '晏', + '' => '晃', + '' => '晒', + '' => '晌', + '' => '晅', + '' => '晁', + '' => '書', + '' => '朔', + '' => '朕', + '' => '朗', + '' => '校', + '' => '核', + '' => '案', + '' => '框', + '' => '桓', + '' => '根', + '' => '桂', + '' => '桔', + '' => '栩', + '' => '梳', + '' => '栗', + '' => '桌', + '' => '桑', + '' => '栽', + '' => '柴', + '' => '桐', + '' => '桀', + '' => '格', + '' => '桃', + '' => '株', + '' => '桅', + '' => '栓', + '' => '栘', + '' => '桁', + '' => '殊', + '' => '殉', + '' => '殷', + '' => '氣', + '' => '氧', + '' => '氨', + '' => '氦', + '' => '氤', + '' => '泰', + '' => '浪', + '' => '涕', + '' => '消', + '' => '涇', + '' => '浦', + '' => '浸', + '' => '海', + '' => '浙', + '' => '涓', + '@' => '浬', + 'A' => '涉', + 'B' => '浮', + 'C' => '浚', + 'D' => '浴', + 'E' => '浩', + 'F' => '涌', + 'G' => '涊', + 'H' => '浹', + 'I' => '涅', + 'J' => '浥', + 'K' => '涔', + 'L' => '烊', + 'M' => '烘', + 'N' => '烤', + 'O' => '烙', + 'P' => '烈', + 'Q' => '烏', + 'R' => '爹', + 'S' => '特', + 'T' => '狼', + 'U' => '狹', + 'V' => '狽', + 'W' => '狸', + 'X' => '狷', + 'Y' => '玆', + 'Z' => '班', + '[' => '琉', + '\\' => '珮', + ']' => '珠', + '^' => '珪', + '_' => '珞', + '`' => '畔', + 'a' => '畝', + 'b' => '畜', + 'c' => '畚', + 'd' => '留', + 'e' => '疾', + 'f' => '病', + 'g' => '症', + 'h' => '疲', + 'i' => '疳', + 'j' => '疽', + 'k' => '疼', + 'l' => '疹', + 'm' => '痂', + 'n' => '疸', + 'o' => '皋', + 'p' => '皰', + 'q' => '益', + 'r' => '盍', + 's' => '盎', + 't' => '眩', + 'u' => '真', + 'v' => '眠', + 'w' => '眨', + 'x' => '矩', + 'y' => '砰', + 'z' => '砧', + '{' => '砸', + '|' => '砝', + '}' => '破', + '~' => '砷', + '' => '砥', + '' => '砭', + '' => '砠', + '' => '砟', + '' => '砲', + '' => '祕', + '' => '祐', + '' => '祠', + '' => '祟', + '' => '祖', + '' => '神', + '' => '祝', + '' => '祗', + '' => '祚', + '' => '秤', + '' => '秣', + '' => '秧', + '' => '租', + '' => '秦', + '' => '秩', + '' => '秘', + '' => '窄', + '' => '窈', + '' => '站', + '' => '笆', + '' => '笑', + '' => '粉', + '' => '紡', + '' => '紗', + '' => '紋', + '' => '紊', + '' => '素', + '' => '索', + '' => '純', + '' => '紐', + '' => '紕', + '' => '級', + '' => '紜', + '' => '納', + '' => '紙', + '' => '紛', + '' => '缺', + '' => '罟', + '' => '羔', + '' => '翅', + '' => '翁', + '' => '耆', + '' => '耘', + '' => '耕', + '' => '耙', + '' => '耗', + '' => '耽', + '' => '耿', + '' => '胱', + '' => '脂', + '' => '胰', + '' => '脅', + '' => '胭', + '' => '胴', + '' => '脆', + '' => '胸', + '' => '胳', + '' => '脈', + '' => '能', + '' => '脊', + '' => '胼', + '' => '胯', + '' => '臭', + '' => '臬', + '' => '舀', + '' => '舐', + '' => '航', + '' => '舫', + '' => '舨', + '' => '般', + '' => '芻', + '' => '茫', + '' => '荒', + '' => '荔', + '' => '荊', + '' => '茸', + '' => '荐', + '' => '草', + '' => '茵', + '' => '茴', + '' => '荏', + '' => '茲', + '' => '茹', + '' => '茶', + '' => '茗', + '' => '荀', + '' => '茱', + '' => '茨', + '' => '荃', + '@' => '虔', + 'A' => '蚊', + 'B' => '蚪', + 'C' => '蚓', + 'D' => '蚤', + 'E' => '蚩', + 'F' => '蚌', + 'G' => '蚣', + 'H' => '蚜', + 'I' => '衰', + 'J' => '衷', + 'K' => '袁', + 'L' => '袂', + 'M' => '衽', + 'N' => '衹', + 'O' => '記', + 'P' => '訐', + 'Q' => '討', + 'R' => '訌', + 'S' => '訕', + 'T' => '訊', + 'U' => '託', + 'V' => '訓', + 'W' => '訖', + 'X' => '訏', + 'Y' => '訑', + 'Z' => '豈', + '[' => '豺', + '\\' => '豹', + ']' => '財', + '^' => '貢', + '_' => '起', + '`' => '躬', + 'a' => '軒', + 'b' => '軔', + 'c' => '軏', + 'd' => '辱', + 'e' => '送', + 'f' => '逆', + 'g' => '迷', + 'h' => '退', + 'i' => '迺', + 'j' => '迴', + 'k' => '逃', + 'l' => '追', + 'm' => '逅', + 'n' => '迸', + 'o' => '邕', + 'p' => '郡', + 'q' => '郝', + 'r' => '郢', + 's' => '酒', + 't' => '配', + 'u' => '酌', + 'v' => '釘', + 'w' => '針', + 'x' => '釗', + 'y' => '釜', + 'z' => '釙', + '{' => '閃', + '|' => '院', + '}' => '陣', + '~' => '陡', + '' => '陛', + '' => '陝', + '' => '除', + '' => '陘', + '' => '陞', + '' => '隻', + '' => '飢', + '' => '馬', + '' => '骨', + '' => '高', + '' => '鬥', + '' => '鬲', + '' => '鬼', + '' => '乾', + '' => '偺', + '' => '偽', + '' => '停', + '' => '假', + '' => '偃', + '' => '偌', + '' => '做', + '' => '偉', + '' => '健', + '' => '偶', + '' => '偎', + '' => '偕', + '' => '偵', + '' => '側', + '' => '偷', + '' => '偏', + '' => '倏', + '' => '偯', + '' => '偭', + '' => '兜', + '' => '冕', + '' => '凰', + '' => '剪', + '' => '副', + '' => '勒', + '' => '務', + '' => '勘', + '' => '動', + '' => '匐', + '' => '匏', + '' => '匙', + '' => '匿', + '' => '區', + '' => '匾', + '' => '參', + '' => '曼', + '' => '商', + '' => '啪', + '' => '啦', + '' => '啄', + '' => '啞', + '' => '啡', + '' => '啃', + '' => '啊', + '' => '唱', + '' => '啖', + '' => '問', + '' => '啕', + '' => '唯', + '' => '啤', + '' => '唸', + '' => '售', + '' => '啜', + '' => '唬', + '' => '啣', + '' => '唳', + '' => '啁', + '' => '啗', + '' => '圈', + '' => '國', + '' => '圉', + '' => '域', + '' => '堅', + '' => '堊', + '' => '堆', + '' => '埠', + '' => '埤', + '' => '基', + '' => '堂', + '' => '堵', + '' => '執', + '' => '培', + '' => '夠', + '' => '奢', + '' => '娶', + '' => '婁', + '' => '婉', + '' => '婦', + '' => '婪', + '' => '婀', + '@' => '娼', + 'A' => '婢', + 'B' => '婚', + 'C' => '婆', + 'D' => '婊', + 'E' => '孰', + 'F' => '寇', + 'G' => '寅', + 'H' => '寄', + 'I' => '寂', + 'J' => '宿', + 'K' => '密', + 'L' => '尉', + 'M' => '專', + 'N' => '將', + 'O' => '屠', + 'P' => '屜', + 'Q' => '屝', + 'R' => '崇', + 'S' => '崆', + 'T' => '崎', + 'U' => '崛', + 'V' => '崖', + 'W' => '崢', + 'X' => '崑', + 'Y' => '崩', + 'Z' => '崔', + '[' => '崙', + '\\' => '崤', + ']' => '崧', + '^' => '崗', + '_' => '巢', + '`' => '常', + 'a' => '帶', + 'b' => '帳', + 'c' => '帷', + 'd' => '康', + 'e' => '庸', + 'f' => '庶', + 'g' => '庵', + 'h' => '庾', + 'i' => '張', + 'j' => '強', + 'k' => '彗', + 'l' => '彬', + 'm' => '彩', + 'n' => '彫', + 'o' => '得', + 'p' => '徙', + 'q' => '從', + 'r' => '徘', + 's' => '御', + 't' => '徠', + 'u' => '徜', + 'v' => '恿', + 'w' => '患', + 'x' => '悉', + 'y' => '悠', + 'z' => '您', + '{' => '惋', + '|' => '悴', + '}' => '惦', + '~' => '悽', + '' => '情', + '' => '悻', + '' => '悵', + '' => '惜', + '' => '悼', + '' => '惘', + '' => '惕', + '' => '惆', + '' => '惟', + '' => '悸', + '' => '惚', + '' => '惇', + '' => '戚', + '' => '戛', + '' => '扈', + '' => '掠', + '' => '控', + '' => '捲', + '' => '掖', + '' => '探', + '' => '接', + '' => '捷', + '' => '捧', + '' => '掘', + '' => '措', + '' => '捱', + '' => '掩', + '' => '掉', + '' => '掃', + '' => '掛', + '' => '捫', + '' => '推', + '' => '掄', + '' => '授', + '' => '掙', + '' => '採', + '' => '掬', + '' => '排', + '' => '掏', + '' => '掀', + '' => '捻', + '' => '捩', + '' => '捨', + '' => '捺', + '' => '敝', + '' => '敖', + '' => '救', + '' => '教', + '' => '敗', + '' => '啟', + '' => '敏', + '' => '敘', + '' => '敕', + '' => '敔', + '' => '斜', + '' => '斛', + '' => '斬', + '' => '族', + '' => '旋', + '' => '旌', + '' => '旎', + '' => '晝', + '' => '晚', + '' => '晤', + '' => '晨', + '' => '晦', + '' => '晞', + '' => '曹', + '' => '勗', + '' => '望', + '' => '梁', + '' => '梯', + '' => '梢', + '' => '梓', + '' => '梵', + '' => '桿', + '' => '桶', + '' => '梱', + '' => '梧', + '' => '梗', + '' => '械', + '' => '梃', + '' => '棄', + '' => '梭', + '' => '梆', + '' => '梅', + '' => '梔', + '' => '條', + '' => '梨', + '' => '梟', + '' => '梡', + '' => '梂', + '' => '欲', + '' => '殺', + '@' => '毫', + 'A' => '毬', + 'B' => '氫', + 'C' => '涎', + 'D' => '涼', + 'E' => '淳', + 'F' => '淙', + 'G' => '液', + 'H' => '淡', + 'I' => '淌', + 'J' => '淤', + 'K' => '添', + 'L' => '淺', + 'M' => '清', + 'N' => '淇', + 'O' => '淋', + 'P' => '涯', + 'Q' => '淑', + 'R' => '涮', + 'S' => '淞', + 'T' => '淹', + 'U' => '涸', + 'V' => '混', + 'W' => '淵', + 'X' => '淅', + 'Y' => '淒', + 'Z' => '渚', + '[' => '涵', + '\\' => '淚', + ']' => '淫', + '^' => '淘', + '_' => '淪', + '`' => '深', + 'a' => '淮', + 'b' => '淨', + 'c' => '淆', + 'd' => '淄', + 'e' => '涪', + 'f' => '淬', + 'g' => '涿', + 'h' => '淦', + 'i' => '烹', + 'j' => '焉', + 'k' => '焊', + 'l' => '烽', + 'm' => '烯', + 'n' => '爽', + 'o' => '牽', + 'p' => '犁', + 'q' => '猜', + 'r' => '猛', + 's' => '猖', + 't' => '猓', + 'u' => '猙', + 'v' => '率', + 'w' => '琅', + 'x' => '琊', + 'y' => '球', + 'z' => '理', + '{' => '現', + '|' => '琍', + '}' => '瓠', + '~' => '瓶', + '' => '瓷', + '' => '甜', + '' => '產', + '' => '略', + '' => '畦', + '' => '畢', + '' => '異', + '' => '疏', + '' => '痔', + '' => '痕', + '' => '疵', + '' => '痊', + '' => '痍', + '' => '皎', + '' => '盔', + '' => '盒', + '' => '盛', + '' => '眷', + '' => '眾', + '' => '眼', + '' => '眶', + '' => '眸', + '' => '眺', + '' => '硫', + '' => '硃', + '' => '硎', + '' => '祥', + '' => '票', + '' => '祭', + '' => '移', + '' => '窒', + '' => '窕', + '' => '笠', + '' => '笨', + '' => '笛', + '' => '第', + '' => '符', + '' => '笙', + '' => '笞', + '' => '笮', + '' => '粒', + '' => '粗', + '' => '粕', + '' => '絆', + '' => '絃', + '' => '統', + '' => '紮', + '' => '紹', + '' => '紼', + '' => '絀', + '' => '細', + '' => '紳', + '' => '組', + '' => '累', + '' => '終', + '' => '紲', + '' => '紱', + '' => '缽', + '' => '羞', + '' => '羚', + '' => '翌', + '' => '翎', + '' => '習', + '' => '耜', + '' => '聊', + '' => '聆', + '' => '脯', + '' => '脖', + '' => '脣', + '' => '脫', + '' => '脩', + '' => '脰', + '' => '脤', + '' => '舂', + '' => '舵', + '' => '舷', + '' => '舶', + '' => '船', + '' => '莎', + '' => '莞', + '' => '莘', + '' => '荸', + '' => '莢', + '' => '莖', + '' => '莽', + '' => '莫', + '' => '莒', + '' => '莊', + '' => '莓', + '' => '莉', + '' => '莠', + '' => '荷', + '' => '荻', + '' => '荼', + '@' => '莆', + 'A' => '莧', + 'B' => '處', + 'C' => '彪', + 'D' => '蛇', + 'E' => '蛀', + 'F' => '蚶', + 'G' => '蛄', + 'H' => '蚵', + 'I' => '蛆', + 'J' => '蛋', + 'K' => '蚱', + 'L' => '蚯', + 'M' => '蛉', + 'N' => '術', + 'O' => '袞', + 'P' => '袈', + 'Q' => '被', + 'R' => '袒', + 'S' => '袖', + 'T' => '袍', + 'U' => '袋', + 'V' => '覓', + 'W' => '規', + 'X' => '訪', + 'Y' => '訝', + 'Z' => '訣', + '[' => '訥', + '\\' => '許', + ']' => '設', + '^' => '訟', + '_' => '訛', + '`' => '訢', + 'a' => '豉', + 'b' => '豚', + 'c' => '販', + 'd' => '責', + 'e' => '貫', + 'f' => '貨', + 'g' => '貪', + 'h' => '貧', + 'i' => '赧', + 'j' => '赦', + 'k' => '趾', + 'l' => '趺', + 'm' => '軛', + 'n' => '軟', + 'o' => '這', + 'p' => '逍', + 'q' => '通', + 'r' => '逗', + 's' => '連', + 't' => '速', + 'u' => '逝', + 'v' => '逐', + 'w' => '逕', + 'x' => '逞', + 'y' => '造', + 'z' => '透', + '{' => '逢', + '|' => '逖', + '}' => '逛', + '~' => '途', + '' => '部', + '' => '郭', + '' => '都', + '' => '酗', + '' => '野', + '' => '釵', + '' => '釦', + '' => '釣', + '' => '釧', + '' => '釭', + '' => '釩', + '' => '閉', + '' => '陪', + '' => '陵', + '' => '陳', + '' => '陸', + '' => '陰', + '' => '陴', + '' => '陶', + '' => '陷', + '' => '陬', + '' => '雀', + '' => '雪', + '' => '雩', + '' => '章', + '' => '竟', + '' => '頂', + '' => '頃', + '' => '魚', + '' => '鳥', + '' => '鹵', + '' => '鹿', + '' => '麥', + '' => '麻', + '' => '傢', + '' => '傍', + '' => '傅', + '' => '備', + '' => '傑', + '' => '傀', + '' => '傖', + '' => '傘', + '' => '傚', + '' => '最', + '' => '凱', + '' => '割', + '' => '剴', + '' => '創', + '' => '剩', + '' => '勞', + '' => '勝', + '' => '勛', + '' => '博', + '' => '厥', + '' => '啻', + '' => '喀', + '' => '喧', + '' => '啼', + '' => '喊', + '' => '喝', + '' => '喘', + '' => '喂', + '' => '喜', + '' => '喪', + '' => '喔', + '' => '喇', + '' => '喋', + '' => '喃', + '' => '喳', + '' => '單', + '' => '喟', + '' => '唾', + '' => '喲', + '' => '喚', + '' => '喻', + '' => '喬', + '' => '喱', + '' => '啾', + '' => '喉', + '' => '喫', + '' => '喙', + '' => '圍', + '' => '堯', + '' => '堪', + '' => '場', + '' => '堤', + '' => '堰', + '' => '報', + '' => '堡', + '' => '堝', + '' => '堠', + '' => '壹', + '' => '壺', + '' => '奠', + '@' => '婷', + 'A' => '媚', + 'B' => '婿', + 'C' => '媒', + 'D' => '媛', + 'E' => '媧', + 'F' => '孳', + 'G' => '孱', + 'H' => '寒', + 'I' => '富', + 'J' => '寓', + 'K' => '寐', + 'L' => '尊', + 'M' => '尋', + 'N' => '就', + 'O' => '嵌', + 'P' => '嵐', + 'Q' => '崴', + 'R' => '嵇', + 'S' => '巽', + 'T' => '幅', + 'U' => '帽', + 'V' => '幀', + 'W' => '幃', + 'X' => '幾', + 'Y' => '廊', + 'Z' => '廁', + '[' => '廂', + '\\' => '廄', + ']' => '弼', + '^' => '彭', + '_' => '復', + '`' => '循', + 'a' => '徨', + 'b' => '惑', + 'c' => '惡', + 'd' => '悲', + 'e' => '悶', + 'f' => '惠', + 'g' => '愜', + 'h' => '愣', + 'i' => '惺', + 'j' => '愕', + 'k' => '惰', + 'l' => '惻', + 'm' => '惴', + 'n' => '慨', + 'o' => '惱', + 'p' => '愎', + 'q' => '惶', + 'r' => '愉', + 's' => '愀', + 't' => '愒', + 'u' => '戟', + 'v' => '扉', + 'w' => '掣', + 'x' => '掌', + 'y' => '描', + 'z' => '揀', + '{' => '揩', + '|' => '揉', + '}' => '揆', + '~' => '揍', + '' => '插', + '' => '揣', + '' => '提', + '' => '握', + '' => '揖', + '' => '揭', + '' => '揮', + '' => '捶', + '' => '援', + '' => '揪', + '' => '換', + '' => '摒', + '' => '揚', + '' => '揹', + '' => '敞', + '' => '敦', + '' => '敢', + '' => '散', + '' => '斑', + '' => '斐', + '' => '斯', + '' => '普', + '' => '晰', + '' => '晴', + '' => '晶', + '' => '景', + '' => '暑', + '' => '智', + '' => '晾', + '' => '晷', + '' => '曾', + '' => '替', + '' => '期', + '' => '朝', + '' => '棺', + '' => '棕', + '' => '棠', + '' => '棘', + '' => '棗', + '' => '椅', + '' => '棟', + '' => '棵', + '' => '森', + '' => '棧', + '' => '棹', + '' => '棒', + '' => '棲', + '' => '棣', + '' => '棋', + '' => '棍', + '' => '植', + '' => '椒', + '' => '椎', + '' => '棉', + '' => '棚', + '' => '楮', + '' => '棻', + '' => '款', + '' => '欺', + '' => '欽', + '' => '殘', + '' => '殖', + '' => '殼', + '' => '毯', + '' => '氮', + '' => '氯', + '' => '氬', + '' => '港', + '' => '游', + '' => '湔', + '' => '渡', + '' => '渲', + '' => '湧', + '' => '湊', + '' => '渠', + '' => '渥', + '' => '渣', + '' => '減', + '' => '湛', + '' => '湘', + '' => '渤', + '' => '湖', + '' => '湮', + '' => '渭', + '' => '渦', + '' => '湯', + '' => '渴', + '' => '湍', + '' => '渺', + '' => '測', + '' => '湃', + '' => '渝', + '' => '渾', + '' => '滋', + '@' => '溉', + 'A' => '渙', + 'B' => '湎', + 'C' => '湣', + 'D' => '湄', + 'E' => '湲', + 'F' => '湩', + 'G' => '湟', + 'H' => '焙', + 'I' => '焚', + 'J' => '焦', + 'K' => '焰', + 'L' => '無', + 'M' => '然', + 'N' => '煮', + 'O' => '焜', + 'P' => '牌', + 'Q' => '犄', + 'R' => '犀', + 'S' => '猶', + 'T' => '猥', + 'U' => '猴', + 'V' => '猩', + 'W' => '琺', + 'X' => '琪', + 'Y' => '琳', + 'Z' => '琢', + '[' => '琥', + '\\' => '琵', + ']' => '琶', + '^' => '琴', + '_' => '琯', + '`' => '琛', + 'a' => '琦', + 'b' => '琨', + 'c' => '甥', + 'd' => '甦', + 'e' => '畫', + 'f' => '番', + 'g' => '痢', + 'h' => '痛', + 'i' => '痣', + 'j' => '痙', + 'k' => '痘', + 'l' => '痞', + 'm' => '痠', + 'n' => '登', + 'o' => '發', + 'p' => '皖', + 'q' => '皓', + 'r' => '皴', + 's' => '盜', + 't' => '睏', + 'u' => '短', + 'v' => '硝', + 'w' => '硬', + 'x' => '硯', + 'y' => '稍', + 'z' => '稈', + '{' => '程', + '|' => '稅', + '}' => '稀', + '~' => '窘', + '' => '窗', + '' => '窖', + '' => '童', + '' => '竣', + '' => '等', + '' => '策', + '' => '筆', + '' => '筐', + '' => '筒', + '' => '答', + '' => '筍', + '' => '筋', + '' => '筏', + '' => '筑', + '' => '粟', + '' => '粥', + '' => '絞', + '' => '結', + '' => '絨', + '' => '絕', + '' => '紫', + '' => '絮', + '' => '絲', + '' => '絡', + '' => '給', + '' => '絢', + '' => '絰', + '' => '絳', + '' => '善', + '' => '翔', + '' => '翕', + '' => '耋', + '' => '聒', + '' => '肅', + '' => '腕', + '' => '腔', + '' => '腋', + '' => '腑', + '' => '腎', + '' => '脹', + '' => '腆', + '' => '脾', + '' => '腌', + '' => '腓', + '' => '腴', + '' => '舒', + '' => '舜', + '' => '菩', + '' => '萃', + '' => '菸', + '' => '萍', + '' => '菠', + '' => '菅', + '' => '萋', + '' => '菁', + '' => '華', + '' => '菱', + '' => '菴', + '' => '著', + '' => '萊', + '' => '菰', + '' => '萌', + '' => '菌', + '' => '菽', + '' => '菲', + '' => '菊', + '' => '萸', + '' => '萎', + '' => '萄', + '' => '菜', + '' => '萇', + '' => '菔', + '' => '菟', + '' => '虛', + '' => '蛟', + '' => '蛙', + '' => '蛭', + '' => '蛔', + '' => '蛛', + '' => '蛤', + '' => '蛐', + '' => '蛞', + '' => '街', + '' => '裁', + '' => '裂', + '' => '袱', + '' => '覃', + '' => '視', + '' => '註', + '' => '詠', + '' => '評', + '' => '詞', + '' => '証', + '' => '詁', + '@' => '詔', + 'A' => '詛', + 'B' => '詐', + 'C' => '詆', + 'D' => '訴', + 'E' => '診', + 'F' => '訶', + 'G' => '詖', + 'H' => '象', + 'I' => '貂', + 'J' => '貯', + 'K' => '貼', + 'L' => '貳', + 'M' => '貽', + 'N' => '賁', + 'O' => '費', + 'P' => '賀', + 'Q' => '貴', + 'R' => '買', + 'S' => '貶', + 'T' => '貿', + 'U' => '貸', + 'V' => '越', + 'W' => '超', + 'X' => '趁', + 'Y' => '跎', + 'Z' => '距', + '[' => '跋', + '\\' => '跚', + ']' => '跑', + '^' => '跌', + '_' => '跛', + '`' => '跆', + 'a' => '軻', + 'b' => '軸', + 'c' => '軼', + 'd' => '辜', + 'e' => '逮', + 'f' => '逵', + 'g' => '週', + 'h' => '逸', + 'i' => '進', + 'j' => '逶', + 'k' => '鄂', + 'l' => '郵', + 'm' => '鄉', + 'n' => '郾', + 'o' => '酣', + 'p' => '酥', + 'q' => '量', + 'r' => '鈔', + 's' => '鈕', + 't' => '鈣', + 'u' => '鈉', + 'v' => '鈞', + 'w' => '鈍', + 'x' => '鈐', + 'y' => '鈇', + 'z' => '鈑', + '{' => '閔', + '|' => '閏', + '}' => '開', + '~' => '閑', + '' => '間', + '' => '閒', + '' => '閎', + '' => '隊', + '' => '階', + '' => '隋', + '' => '陽', + '' => '隅', + '' => '隆', + '' => '隍', + '' => '陲', + '' => '隄', + '' => '雁', + '' => '雅', + '' => '雄', + '' => '集', + '' => '雇', + '' => '雯', + '' => '雲', + '' => '韌', + '' => '項', + '' => '順', + '' => '須', + '' => '飧', + '' => '飪', + '' => '飯', + '' => '飩', + '' => '飲', + '' => '飭', + '' => '馮', + '' => '馭', + '' => '黃', + '' => '黍', + '' => '黑', + '' => '亂', + '' => '傭', + '' => '債', + '' => '傲', + '' => '傳', + '' => '僅', + '' => '傾', + '' => '催', + '' => '傷', + '' => '傻', + '' => '傯', + '' => '僇', + '' => '剿', + '' => '剷', + '' => '剽', + '' => '募', + '' => '勦', + '' => '勤', + '' => '勢', + '' => '勣', + '' => '匯', + '' => '嗟', + '' => '嗨', + '' => '嗓', + '' => '嗦', + '' => '嗎', + '' => '嗜', + '' => '嗇', + '' => '嗑', + '' => '嗣', + '' => '嗤', + '' => '嗯', + '' => '嗚', + '' => '嗡', + '' => '嗅', + '' => '嗆', + '' => '嗥', + '' => '嗉', + '' => '園', + '' => '圓', + '' => '塞', + '' => '塑', + '' => '塘', + '' => '塗', + '' => '塚', + '' => '塔', + '' => '填', + '' => '塌', + '' => '塭', + '' => '塊', + '' => '塢', + '' => '塒', + '' => '塋', + '' => '奧', + '' => '嫁', + '' => '嫉', + '' => '嫌', + '' => '媾', + '' => '媽', + '' => '媼', + '@' => '媳', + 'A' => '嫂', + 'B' => '媲', + 'C' => '嵩', + 'D' => '嵯', + 'E' => '幌', + 'F' => '幹', + 'G' => '廉', + 'H' => '廈', + 'I' => '弒', + 'J' => '彙', + 'K' => '徬', + 'L' => '微', + 'M' => '愚', + 'N' => '意', + 'O' => '慈', + 'P' => '感', + 'Q' => '想', + 'R' => '愛', + 'S' => '惹', + 'T' => '愁', + 'U' => '愈', + 'V' => '慎', + 'W' => '慌', + 'X' => '慄', + 'Y' => '慍', + 'Z' => '愾', + '[' => '愴', + '\\' => '愧', + ']' => '愍', + '^' => '愆', + '_' => '愷', + '`' => '戡', + 'a' => '戢', + 'b' => '搓', + 'c' => '搾', + 'd' => '搞', + 'e' => '搪', + 'f' => '搭', + 'g' => '搽', + 'h' => '搬', + 'i' => '搏', + 'j' => '搜', + 'k' => '搔', + 'l' => '損', + 'm' => '搶', + 'n' => '搖', + 'o' => '搗', + 'p' => '搆', + 'q' => '敬', + 'r' => '斟', + 's' => '新', + 't' => '暗', + 'u' => '暉', + 'v' => '暇', + 'w' => '暈', + 'x' => '暖', + 'y' => '暄', + 'z' => '暘', + '{' => '暍', + '|' => '會', + '}' => '榔', + '~' => '業', + '' => '楚', + '' => '楷', + '' => '楠', + '' => '楔', + '' => '極', + '' => '椰', + '' => '概', + '' => '楊', + '' => '楨', + '' => '楫', + '' => '楞', + '' => '楓', + '' => '楹', + '' => '榆', + '' => '楝', + '' => '楣', + '' => '楛', + '' => '歇', + '' => '歲', + '' => '毀', + '' => '殿', + '' => '毓', + '' => '毽', + '' => '溢', + '' => '溯', + '' => '滓', + '' => '溶', + '' => '滂', + '' => '源', + '' => '溝', + '' => '滇', + '' => '滅', + '' => '溥', + '' => '溘', + '' => '溼', + '' => '溺', + '' => '溫', + '' => '滑', + '' => '準', + '' => '溜', + '' => '滄', + '' => '滔', + '' => '溪', + '' => '溧', + '' => '溴', + '' => '煎', + '' => '煙', + '' => '煩', + '' => '煤', + '' => '煉', + '' => '照', + '' => '煜', + '' => '煬', + '' => '煦', + '' => '煌', + '' => '煥', + '' => '煞', + '' => '煆', + '' => '煨', + '' => '煖', + '' => '爺', + '' => '牒', + '' => '猷', + '' => '獅', + '' => '猿', + '' => '猾', + '' => '瑯', + '' => '瑚', + '' => '瑕', + '' => '瑟', + '' => '瑞', + '' => '瑁', + '' => '琿', + '' => '瑙', + '' => '瑛', + '' => '瑜', + '' => '當', + '' => '畸', + '' => '瘀', + '' => '痰', + '' => '瘁', + '' => '痲', + '' => '痱', + '' => '痺', + '' => '痿', + '' => '痴', + '' => '痳', + '' => '盞', + '' => '盟', + '' => '睛', + '' => '睫', + '' => '睦', + '' => '睞', + '' => '督', + '@' => '睹', + 'A' => '睪', + 'B' => '睬', + 'C' => '睜', + 'D' => '睥', + 'E' => '睨', + 'F' => '睢', + 'G' => '矮', + 'H' => '碎', + 'I' => '碰', + 'J' => '碗', + 'K' => '碘', + 'L' => '碌', + 'M' => '碉', + 'N' => '硼', + 'O' => '碑', + 'P' => '碓', + 'Q' => '硿', + 'R' => '祺', + 'S' => '祿', + 'T' => '禁', + 'U' => '萬', + 'V' => '禽', + 'W' => '稜', + 'X' => '稚', + 'Y' => '稠', + 'Z' => '稔', + '[' => '稟', + '\\' => '稞', + ']' => '窟', + '^' => '窠', + '_' => '筷', + '`' => '節', + 'a' => '筠', + 'b' => '筮', + 'c' => '筧', + 'd' => '粱', + 'e' => '粳', + 'f' => '粵', + 'g' => '經', + 'h' => '絹', + 'i' => '綑', + 'j' => '綁', + 'k' => '綏', + 'l' => '絛', + 'm' => '置', + 'n' => '罩', + 'o' => '罪', + 'p' => '署', + 'q' => '義', + 'r' => '羨', + 's' => '群', + 't' => '聖', + 'u' => '聘', + 'v' => '肆', + 'w' => '肄', + 'x' => '腱', + 'y' => '腰', + 'z' => '腸', + '{' => '腥', + '|' => '腮', + '}' => '腳', + '~' => '腫', + '' => '腹', + '' => '腺', + '' => '腦', + '' => '舅', + '' => '艇', + '' => '蒂', + '' => '葷', + '' => '落', + '' => '萱', + '' => '葵', + '' => '葦', + '' => '葫', + '' => '葉', + '' => '葬', + '' => '葛', + '' => '萼', + '' => '萵', + '' => '葡', + '' => '董', + '' => '葩', + '' => '葭', + '' => '葆', + '' => '虞', + '' => '虜', + '' => '號', + '' => '蛹', + '' => '蜓', + '' => '蜈', + '' => '蜇', + '' => '蜀', + '' => '蛾', + '' => '蛻', + '' => '蜂', + '' => '蜃', + '' => '蜆', + '' => '蜊', + '' => '衙', + '' => '裟', + '' => '裔', + '' => '裙', + '' => '補', + '' => '裘', + '' => '裝', + '' => '裡', + '' => '裊', + '' => '裕', + '' => '裒', + '' => '覜', + '' => '解', + '' => '詫', + '' => '該', + '' => '詳', + '' => '試', + '' => '詩', + '' => '詰', + '' => '誇', + '' => '詼', + '' => '詣', + '' => '誠', + '' => '話', + '' => '誅', + '' => '詭', + '' => '詢', + '' => '詮', + '' => '詬', + '' => '詹', + '' => '詻', + '' => '訾', + '' => '詨', + '' => '豢', + '' => '貊', + '' => '貉', + '' => '賊', + '' => '資', + '' => '賈', + '' => '賄', + '' => '貲', + '' => '賃', + '' => '賂', + '' => '賅', + '' => '跡', + '' => '跟', + '' => '跨', + '' => '路', + '' => '跳', + '' => '跺', + '' => '跪', + '' => '跤', + '' => '跦', + '' => '躲', + '' => '較', + '' => '載', + '' => '軾', + '' => '輊', + '@' => '辟', + 'A' => '農', + 'B' => '運', + 'C' => '遊', + 'D' => '道', + 'E' => '遂', + 'F' => '達', + 'G' => '逼', + 'H' => '違', + 'I' => '遐', + 'J' => '遇', + 'K' => '遏', + 'L' => '過', + 'M' => '遍', + 'N' => '遑', + 'O' => '逾', + 'P' => '遁', + 'Q' => '鄒', + 'R' => '鄗', + 'S' => '酬', + 'T' => '酪', + 'U' => '酩', + 'V' => '釉', + 'W' => '鈷', + 'X' => '鉗', + 'Y' => '鈸', + 'Z' => '鈽', + '[' => '鉀', + '\\' => '鈾', + ']' => '鉛', + '^' => '鉋', + '_' => '鉤', + '`' => '鉑', + 'a' => '鈴', + 'b' => '鉉', + 'c' => '鉍', + 'd' => '鉅', + 'e' => '鈹', + 'f' => '鈿', + 'g' => '鉚', + 'h' => '閘', + 'i' => '隘', + 'j' => '隔', + 'k' => '隕', + 'l' => '雍', + 'm' => '雋', + 'n' => '雉', + 'o' => '雊', + 'p' => '雷', + 'q' => '電', + 'r' => '雹', + 's' => '零', + 't' => '靖', + 'u' => '靴', + 'v' => '靶', + 'w' => '預', + 'x' => '頑', + 'y' => '頓', + 'z' => '頊', + '{' => '頒', + '|' => '頌', + '}' => '飼', + '~' => '飴', + '' => '飽', + '' => '飾', + '' => '馳', + '' => '馱', + '' => '馴', + '' => '髡', + '' => '鳩', + '' => '麂', + '' => '鼎', + '' => '鼓', + '' => '鼠', + '' => '僧', + '' => '僮', + '' => '僥', + '' => '僖', + '' => '僭', + '' => '僚', + '' => '僕', + '' => '像', + '' => '僑', + '' => '僱', + '' => '僎', + '' => '僩', + '' => '兢', + '' => '凳', + '' => '劃', + '' => '劂', + '' => '匱', + '' => '厭', + '' => '嗾', + '' => '嘀', + '' => '嘛', + '' => '嘗', + '' => '嗽', + '' => '嘔', + '' => '嘆', + '' => '嘉', + '' => '嘍', + '' => '嘎', + '' => '嗷', + '' => '嘖', + '' => '嘟', + '' => '嘈', + '' => '嘐', + '' => '嗶', + '' => '團', + '' => '圖', + '' => '塵', + '' => '塾', + '' => '境', + '' => '墓', + '' => '墊', + '' => '塹', + '' => '墅', + '' => '塽', + '' => '壽', + '' => '夥', + '' => '夢', + '' => '夤', + '' => '奪', + '' => '奩', + '' => '嫡', + '' => '嫦', + '' => '嫩', + '' => '嫗', + '' => '嫖', + '' => '嫘', + '' => '嫣', + '' => '孵', + '' => '寞', + '' => '寧', + '' => '寡', + '' => '寥', + '' => '實', + '' => '寨', + '' => '寢', + '' => '寤', + '' => '察', + '' => '對', + '' => '屢', + '' => '嶄', + '' => '嶇', + '' => '幛', + '' => '幣', + '' => '幕', + '' => '幗', + '' => '幔', + '' => '廓', + '' => '廖', + '' => '弊', + '' => '彆', + '' => '彰', + '' => '徹', + '' => '慇', + '@' => '愿', + 'A' => '態', + 'B' => '慷', + 'C' => '慢', + 'D' => '慣', + 'E' => '慟', + 'F' => '慚', + 'G' => '慘', + 'H' => '慵', + 'I' => '截', + 'J' => '撇', + 'K' => '摘', + 'L' => '摔', + 'M' => '撤', + 'N' => '摸', + 'O' => '摟', + 'P' => '摺', + 'Q' => '摑', + 'R' => '摧', + 'S' => '搴', + 'T' => '摭', + 'U' => '摻', + 'V' => '敲', + 'W' => '斡', + 'X' => '旗', + 'Y' => '旖', + 'Z' => '暢', + '[' => '暨', + '\\' => '暝', + ']' => '榜', + '^' => '榨', + '_' => '榕', + '`' => '槁', + 'a' => '榮', + 'b' => '槓', + 'c' => '構', + 'd' => '榛', + 'e' => '榷', + 'f' => '榻', + 'g' => '榫', + 'h' => '榴', + 'i' => '槐', + 'j' => '槍', + 'k' => '榭', + 'l' => '槌', + 'm' => '榦', + 'n' => '槃', + 'o' => '榣', + 'p' => '歉', + 'q' => '歌', + 'r' => '氳', + 's' => '漳', + 't' => '演', + 'u' => '滾', + 'v' => '漓', + 'w' => '滴', + 'x' => '漩', + 'y' => '漾', + 'z' => '漠', + '{' => '漬', + '|' => '漏', + '}' => '漂', + '~' => '漢', + '' => '滿', + '' => '滯', + '' => '漆', + '' => '漱', + '' => '漸', + '' => '漲', + '' => '漣', + '' => '漕', + '' => '漫', + '' => '漯', + '' => '澈', + '' => '漪', + '' => '滬', + '' => '漁', + '' => '滲', + '' => '滌', + '' => '滷', + '' => '熔', + '' => '熙', + '' => '煽', + '' => '熊', + '' => '熄', + '' => '熒', + '' => '爾', + '' => '犒', + '' => '犖', + '' => '獄', + '' => '獐', + '' => '瑤', + '' => '瑣', + '' => '瑪', + '' => '瑰', + '' => '瑭', + '' => '甄', + '' => '疑', + '' => '瘧', + '' => '瘍', + '' => '瘋', + '' => '瘉', + '' => '瘓', + '' => '盡', + '' => '監', + '' => '瞄', + '' => '睽', + '' => '睿', + '' => '睡', + '' => '磁', + '' => '碟', + '' => '碧', + '' => '碳', + '' => '碩', + '' => '碣', + '' => '禎', + '' => '福', + '' => '禍', + '' => '種', + '' => '稱', + '' => '窪', + '' => '窩', + '' => '竭', + '' => '端', + '' => '管', + '' => '箕', + '' => '箋', + '' => '筵', + '' => '算', + '' => '箝', + '' => '箔', + '' => '箏', + '' => '箸', + '' => '箇', + '' => '箄', + '' => '粹', + '' => '粽', + '' => '精', + '' => '綻', + '' => '綰', + '' => '綜', + '' => '綽', + '' => '綾', + '' => '綠', + '' => '緊', + '' => '綴', + '' => '網', + '' => '綱', + '' => '綺', + '' => '綢', + '' => '綿', + '' => '綵', + '' => '綸', + '' => '維', + '' => '緒', + '' => '緇', + '' => '綬', + '@' => '罰', + 'A' => '翠', + 'B' => '翡', + 'C' => '翟', + 'D' => '聞', + 'E' => '聚', + 'F' => '肇', + 'G' => '腐', + 'H' => '膀', + 'I' => '膏', + 'J' => '膈', + 'K' => '膊', + 'L' => '腿', + 'M' => '膂', + 'N' => '臧', + 'O' => '臺', + 'P' => '與', + 'Q' => '舔', + 'R' => '舞', + 'S' => '艋', + 'T' => '蓉', + 'U' => '蒿', + 'V' => '蓆', + 'W' => '蓄', + 'X' => '蒙', + 'Y' => '蒞', + 'Z' => '蒲', + '[' => '蒜', + '\\' => '蓋', + ']' => '蒸', + '^' => '蓀', + '_' => '蓓', + '`' => '蒐', + 'a' => '蒼', + 'b' => '蓑', + 'c' => '蓊', + 'd' => '蜿', + 'e' => '蜜', + 'f' => '蜻', + 'g' => '蜢', + 'h' => '蜥', + 'i' => '蜴', + 'j' => '蜘', + 'k' => '蝕', + 'l' => '蜷', + 'm' => '蜩', + 'n' => '裳', + 'o' => '褂', + 'p' => '裴', + 'q' => '裹', + 'r' => '裸', + 's' => '製', + 't' => '裨', + 'u' => '褚', + 'v' => '裯', + 'w' => '誦', + 'x' => '誌', + 'y' => '語', + 'z' => '誣', + '{' => '認', + '|' => '誡', + '}' => '誓', + '~' => '誤', + '' => '說', + '' => '誥', + '' => '誨', + '' => '誘', + '' => '誑', + '' => '誚', + '' => '誧', + '' => '豪', + '' => '貍', + '' => '貌', + '' => '賓', + '' => '賑', + '' => '賒', + '' => '赫', + '' => '趙', + '' => '趕', + '' => '跼', + '' => '輔', + '' => '輒', + '' => '輕', + '' => '輓', + '' => '辣', + '' => '遠', + '' => '遘', + '' => '遜', + '' => '遣', + '' => '遙', + '' => '遞', + '' => '遢', + '' => '遝', + '' => '遛', + '' => '鄙', + '' => '鄘', + '' => '鄞', + '' => '酵', + '' => '酸', + '' => '酷', + '' => '酴', + '' => '鉸', + '' => '銀', + '' => '銅', + '' => '銘', + '' => '銖', + '' => '鉻', + '' => '銓', + '' => '銜', + '' => '銨', + '' => '鉼', + '' => '銑', + '' => '閡', + '' => '閨', + '' => '閩', + '' => '閣', + '' => '閥', + '' => '閤', + '' => '隙', + '' => '障', + '' => '際', + '' => '雌', + '' => '雒', + '' => '需', + '' => '靼', + '' => '鞅', + '' => '韶', + '' => '頗', + '' => '領', + '' => '颯', + '' => '颱', + '' => '餃', + '' => '餅', + '' => '餌', + '' => '餉', + '' => '駁', + '' => '骯', + '' => '骰', + '' => '髦', + '' => '魁', + '' => '魂', + '' => '鳴', + '' => '鳶', + '' => '鳳', + '' => '麼', + '' => '鼻', + '' => '齊', + '' => '億', + '' => '儀', + '' => '僻', + '' => '僵', + '' => '價', + '' => '儂', + '' => '儈', + '' => '儉', + '' => '儅', + '' => '凜', + '@' => '劇', + 'A' => '劈', + 'B' => '劉', + 'C' => '劍', + 'D' => '劊', + 'E' => '勰', + 'F' => '厲', + 'G' => '嘮', + 'H' => '嘻', + 'I' => '嘹', + 'J' => '嘲', + 'K' => '嘿', + 'L' => '嘴', + 'M' => '嘩', + 'N' => '噓', + 'O' => '噎', + 'P' => '噗', + 'Q' => '噴', + 'R' => '嘶', + 'S' => '嘯', + 'T' => '嘰', + 'U' => '墀', + 'V' => '墟', + 'W' => '增', + 'X' => '墳', + 'Y' => '墜', + 'Z' => '墮', + '[' => '墩', + '\\' => '墦', + ']' => '奭', + '^' => '嬉', + '_' => '嫻', + '`' => '嬋', + 'a' => '嫵', + 'b' => '嬌', + 'c' => '嬈', + 'd' => '寮', + 'e' => '寬', + 'f' => '審', + 'g' => '寫', + 'h' => '層', + 'i' => '履', + 'j' => '嶝', + 'k' => '嶔', + 'l' => '幢', + 'm' => '幟', + 'n' => '幡', + 'o' => '廢', + 'p' => '廚', + 'q' => '廟', + 'r' => '廝', + 's' => '廣', + 't' => '廠', + 'u' => '彈', + 'v' => '影', + 'w' => '德', + 'x' => '徵', + 'y' => '慶', + 'z' => '慧', + '{' => '慮', + '|' => '慝', + '}' => '慕', + '~' => '憂', + '' => '慼', + '' => '慰', + '' => '慫', + '' => '慾', + '' => '憧', + '' => '憐', + '' => '憫', + '' => '憎', + '' => '憬', + '' => '憚', + '' => '憤', + '' => '憔', + '' => '憮', + '' => '戮', + '' => '摩', + '' => '摯', + '' => '摹', + '' => '撞', + '' => '撲', + '' => '撈', + '' => '撐', + '' => '撰', + '' => '撥', + '' => '撓', + '' => '撕', + '' => '撩', + '' => '撒', + '' => '撮', + '' => '播', + '' => '撫', + '' => '撚', + '' => '撬', + '' => '撙', + '' => '撢', + '' => '撳', + '' => '敵', + '' => '敷', + '' => '數', + '' => '暮', + '' => '暫', + '' => '暴', + '' => '暱', + '' => '樣', + '' => '樟', + '' => '槨', + '' => '樁', + '' => '樞', + '' => '標', + '' => '槽', + '' => '模', + '' => '樓', + '' => '樊', + '' => '槳', + '' => '樂', + '' => '樅', + '' => '槭', + '' => '樑', + '' => '歐', + '' => '歎', + '' => '殤', + '' => '毅', + '' => '毆', + '' => '漿', + '' => '潼', + '' => '澄', + '' => '潑', + '' => '潦', + '' => '潔', + '' => '澆', + '' => '潭', + '' => '潛', + '' => '潸', + '' => '潮', + '' => '澎', + '' => '潺', + '' => '潰', + '' => '潤', + '' => '澗', + '' => '潘', + '' => '滕', + '' => '潯', + '' => '潠', + '' => '潟', + '' => '熟', + '' => '熬', + '' => '熱', + '' => '熨', + '' => '牖', + '' => '犛', + '' => '獎', + '' => '獗', + '' => '瑩', + '' => '璋', + '' => '璃', + '@' => '瑾', + 'A' => '璀', + 'B' => '畿', + 'C' => '瘠', + 'D' => '瘩', + 'E' => '瘟', + 'F' => '瘤', + 'G' => '瘦', + 'H' => '瘡', + 'I' => '瘢', + 'J' => '皚', + 'K' => '皺', + 'L' => '盤', + 'M' => '瞎', + 'N' => '瞇', + 'O' => '瞌', + 'P' => '瞑', + 'Q' => '瞋', + 'R' => '磋', + 'S' => '磅', + 'T' => '確', + 'U' => '磊', + 'V' => '碾', + 'W' => '磕', + 'X' => '碼', + 'Y' => '磐', + 'Z' => '稿', + '[' => '稼', + '\\' => '穀', + ']' => '稽', + '^' => '稷', + '_' => '稻', + '`' => '窯', + 'a' => '窮', + 'b' => '箭', + 'c' => '箱', + 'd' => '範', + 'e' => '箴', + 'f' => '篆', + 'g' => '篇', + 'h' => '篁', + 'i' => '箠', + 'j' => '篌', + 'k' => '糊', + 'l' => '締', + 'm' => '練', + 'n' => '緯', + 'o' => '緻', + 'p' => '緘', + 'q' => '緬', + 'r' => '緝', + 's' => '編', + 't' => '緣', + 'u' => '線', + 'v' => '緞', + 'w' => '緩', + 'x' => '綞', + 'y' => '緙', + 'z' => '緲', + '{' => '緹', + '|' => '罵', + '}' => '罷', + '~' => '羯', + '' => '翩', + '' => '耦', + '' => '膛', + '' => '膜', + '' => '膝', + '' => '膠', + '' => '膚', + '' => '膘', + '' => '蔗', + '' => '蔽', + '' => '蔚', + '' => '蓮', + '' => '蔬', + '' => '蔭', + '' => '蔓', + '' => '蔑', + '' => '蔣', + '' => '蔡', + '' => '蔔', + '' => '蓬', + '' => '蔥', + '' => '蓿', + '' => '蔆', + '' => '螂', + '' => '蝴', + '' => '蝶', + '' => '蝠', + '' => '蝦', + '' => '蝸', + '' => '蝨', + '' => '蝙', + '' => '蝗', + '' => '蝌', + '' => '蝓', + '' => '衛', + '' => '衝', + '' => '褐', + '' => '複', + '' => '褒', + '' => '褓', + '' => '褕', + '' => '褊', + '' => '誼', + '' => '諒', + '' => '談', + '' => '諄', + '' => '誕', + '' => '請', + '' => '諸', + '' => '課', + '' => '諉', + '' => '諂', + '' => '調', + '' => '誰', + '' => '論', + '' => '諍', + '' => '誶', + '' => '誹', + '' => '諛', + '' => '豌', + '' => '豎', + '' => '豬', + '' => '賠', + '' => '賞', + '' => '賦', + '' => '賤', + '' => '賬', + '' => '賭', + '' => '賢', + '' => '賣', + '' => '賜', + '' => '質', + '' => '賡', + '' => '赭', + '' => '趟', + '' => '趣', + '' => '踫', + '' => '踐', + '' => '踝', + '' => '踢', + '' => '踏', + '' => '踩', + '' => '踟', + '' => '踡', + '' => '踞', + '' => '躺', + '' => '輝', + '' => '輛', + '' => '輟', + '' => '輩', + '' => '輦', + '' => '輪', + '' => '輜', + '' => '輞', + '@' => '輥', + 'A' => '適', + 'B' => '遮', + 'C' => '遨', + 'D' => '遭', + 'E' => '遷', + 'F' => '鄰', + 'G' => '鄭', + 'H' => '鄧', + 'I' => '鄱', + 'J' => '醇', + 'K' => '醉', + 'L' => '醋', + 'M' => '醃', + 'N' => '鋅', + 'O' => '銻', + 'P' => '銷', + 'Q' => '鋪', + 'R' => '銬', + 'S' => '鋤', + 'T' => '鋁', + 'U' => '銳', + 'V' => '銼', + 'W' => '鋒', + 'X' => '鋇', + 'Y' => '鋰', + 'Z' => '銲', + '[' => '閭', + '\\' => '閱', + ']' => '霄', + '^' => '霆', + '_' => '震', + '`' => '霉', + 'a' => '靠', + 'b' => '鞍', + 'c' => '鞋', + 'd' => '鞏', + 'e' => '頡', + 'f' => '頫', + 'g' => '頜', + 'h' => '颳', + 'i' => '養', + 'j' => '餓', + 'k' => '餒', + 'l' => '餘', + 'm' => '駝', + 'n' => '駐', + 'o' => '駟', + 'p' => '駛', + 'q' => '駑', + 'r' => '駕', + 's' => '駒', + 't' => '駙', + 'u' => '骷', + 'v' => '髮', + 'w' => '髯', + 'x' => '鬧', + 'y' => '魅', + 'z' => '魄', + '{' => '魷', + '|' => '魯', + '}' => '鴆', + '~' => '鴉', + '' => '鴃', + '' => '麩', + '' => '麾', + '' => '黎', + '' => '墨', + '' => '齒', + '' => '儒', + '' => '儘', + '' => '儔', + '' => '儐', + '' => '儕', + '' => '冀', + '' => '冪', + '' => '凝', + '' => '劑', + '' => '劓', + '' => '勳', + '' => '噙', + '' => '噫', + '' => '噹', + '' => '噩', + '' => '噤', + '' => '噸', + '' => '噪', + '' => '器', + '' => '噥', + '' => '噱', + '' => '噯', + '' => '噬', + '' => '噢', + '' => '噶', + '' => '壁', + '' => '墾', + '' => '壇', + '' => '壅', + '' => '奮', + '' => '嬝', + '' => '嬴', + '' => '學', + '' => '寰', + '' => '導', + '' => '彊', + '' => '憲', + '' => '憑', + '' => '憩', + '' => '憊', + '' => '懍', + '' => '憶', + '' => '憾', + '' => '懊', + '' => '懈', + '' => '戰', + '' => '擅', + '' => '擁', + '' => '擋', + '' => '撻', + '' => '撼', + '' => '據', + '' => '擄', + '' => '擇', + '' => '擂', + '' => '操', + '' => '撿', + '' => '擒', + '' => '擔', + '' => '撾', + '' => '整', + '' => '曆', + '' => '曉', + '' => '暹', + '' => '曄', + '' => '曇', + '' => '暸', + '' => '樽', + '' => '樸', + '' => '樺', + '' => '橙', + '' => '橫', + '' => '橘', + '' => '樹', + '' => '橄', + '' => '橢', + '' => '橡', + '' => '橋', + '' => '橇', + '' => '樵', + '' => '機', + '' => '橈', + '' => '歙', + '' => '歷', + '' => '氅', + '' => '濂', + '' => '澱', + '' => '澡', + '@' => '濃', + 'A' => '澤', + 'B' => '濁', + 'C' => '澧', + 'D' => '澳', + 'E' => '激', + 'F' => '澹', + 'G' => '澶', + 'H' => '澦', + 'I' => '澠', + 'J' => '澴', + 'K' => '熾', + 'L' => '燉', + 'M' => '燐', + 'N' => '燒', + 'O' => '燈', + 'P' => '燕', + 'Q' => '熹', + 'R' => '燎', + 'S' => '燙', + 'T' => '燜', + 'U' => '燃', + 'V' => '燄', + 'W' => '獨', + 'X' => '璜', + 'Y' => '璣', + 'Z' => '璘', + '[' => '璟', + '\\' => '璞', + ']' => '瓢', + '^' => '甌', + '_' => '甍', + '`' => '瘴', + 'a' => '瘸', + 'b' => '瘺', + 'c' => '盧', + 'd' => '盥', + 'e' => '瞠', + 'f' => '瞞', + 'g' => '瞟', + 'h' => '瞥', + 'i' => '磨', + 'j' => '磚', + 'k' => '磬', + 'l' => '磧', + 'm' => '禦', + 'n' => '積', + 'o' => '穎', + 'p' => '穆', + 'q' => '穌', + 'r' => '穋', + 's' => '窺', + 't' => '篙', + 'u' => '簑', + 'v' => '築', + 'w' => '篤', + 'x' => '篛', + 'y' => '篡', + 'z' => '篩', + '{' => '篦', + '|' => '糕', + '}' => '糖', + '~' => '縊', + '' => '縑', + '' => '縈', + '' => '縛', + '' => '縣', + '' => '縞', + '' => '縝', + '' => '縉', + '' => '縐', + '' => '罹', + '' => '羲', + '' => '翰', + '' => '翱', + '' => '翮', + '' => '耨', + '' => '膳', + '' => '膩', + '' => '膨', + '' => '臻', + '' => '興', + '' => '艘', + '' => '艙', + '' => '蕊', + '' => '蕙', + '' => '蕈', + '' => '蕨', + '' => '蕩', + '' => '蕃', + '' => '蕉', + '' => '蕭', + '' => '蕪', + '' => '蕞', + '' => '螃', + '' => '螟', + '' => '螞', + '' => '螢', + '' => '融', + '' => '衡', + '' => '褪', + '' => '褲', + '' => '褥', + '' => '褫', + '' => '褡', + '' => '親', + '' => '覦', + '' => '諦', + '' => '諺', + '' => '諫', + '' => '諱', + '' => '謀', + '' => '諜', + '' => '諧', + '' => '諮', + '' => '諾', + '' => '謁', + '' => '謂', + '' => '諷', + '' => '諭', + '' => '諳', + '' => '諶', + '' => '諼', + '' => '豫', + '' => '豭', + '' => '貓', + '' => '賴', + '' => '蹄', + '' => '踱', + '' => '踴', + '' => '蹂', + '' => '踹', + '' => '踵', + '' => '輻', + '' => '輯', + '' => '輸', + '' => '輳', + '' => '辨', + '' => '辦', + '' => '遵', + '' => '遴', + '' => '選', + '' => '遲', + '' => '遼', + '' => '遺', + '' => '鄴', + '' => '醒', + '' => '錠', + '' => '錶', + '' => '鋸', + '' => '錳', + '' => '錯', + '' => '錢', + '' => '鋼', + '' => '錫', + '' => '錄', + '' => '錚', + '@' => '錐', + 'A' => '錦', + 'B' => '錡', + 'C' => '錕', + 'D' => '錮', + 'E' => '錙', + 'F' => '閻', + 'G' => '隧', + 'H' => '隨', + 'I' => '險', + 'J' => '雕', + 'K' => '霎', + 'L' => '霑', + 'M' => '霖', + 'N' => '霍', + 'O' => '霓', + 'P' => '霏', + 'Q' => '靛', + 'R' => '靜', + 'S' => '靦', + 'T' => '鞘', + 'U' => '頰', + 'V' => '頸', + 'W' => '頻', + 'X' => '頷', + 'Y' => '頭', + 'Z' => '頹', + '[' => '頤', + '\\' => '餐', + ']' => '館', + '^' => '餞', + '_' => '餛', + '`' => '餡', + 'a' => '餚', + 'b' => '駭', + 'c' => '駢', + 'd' => '駱', + 'e' => '骸', + 'f' => '骼', + 'g' => '髻', + 'h' => '髭', + 'i' => '鬨', + 'j' => '鮑', + 'k' => '鴕', + 'l' => '鴣', + 'm' => '鴦', + 'n' => '鴨', + 'o' => '鴒', + 'p' => '鴛', + 'q' => '默', + 'r' => '黔', + 's' => '龍', + 't' => '龜', + 'u' => '優', + 'v' => '償', + 'w' => '儡', + 'x' => '儲', + 'y' => '勵', + 'z' => '嚎', + '{' => '嚀', + '|' => '嚐', + '}' => '嚅', + '~' => '嚇', + '' => '嚏', + '' => '壕', + '' => '壓', + '' => '壑', + '' => '壎', + '' => '嬰', + '' => '嬪', + '' => '嬤', + '' => '孺', + '' => '尷', + '' => '屨', + '' => '嶼', + '' => '嶺', + '' => '嶽', + '' => '嶸', + '' => '幫', + '' => '彌', + '' => '徽', + '' => '應', + '' => '懂', + '' => '懇', + '' => '懦', + '' => '懋', + '' => '戲', + '' => '戴', + '' => '擎', + '' => '擊', + '' => '擘', + '' => '擠', + '' => '擰', + '' => '擦', + '' => '擬', + '' => '擱', + '' => '擢', + '' => '擭', + '' => '斂', + '' => '斃', + '' => '曙', + '' => '曖', + '' => '檀', + '' => '檔', + '' => '檄', + '' => '檢', + '' => '檜', + '' => '櫛', + '' => '檣', + '' => '橾', + '' => '檗', + '' => '檐', + '' => '檠', + '' => '歜', + '' => '殮', + '' => '毚', + '' => '氈', + '' => '濘', + '' => '濱', + '' => '濟', + '' => '濠', + '' => '濛', + '' => '濤', + '' => '濫', + '' => '濯', + '' => '澀', + '' => '濬', + '' => '濡', + '' => '濩', + '' => '濕', + '' => '濮', + '' => '濰', + '' => '燧', + '' => '營', + '' => '燮', + '' => '燦', + '' => '燥', + '' => '燭', + '' => '燬', + '' => '燴', + '' => '燠', + '' => '爵', + '' => '牆', + '' => '獰', + '' => '獲', + '' => '璩', + '' => '環', + '' => '璦', + '' => '璨', + '' => '癆', + '' => '療', + '' => '癌', + '' => '盪', + '' => '瞳', + '' => '瞪', + '' => '瞰', + '' => '瞬', + '@' => '瞧', + 'A' => '瞭', + 'B' => '矯', + 'C' => '磷', + 'D' => '磺', + 'E' => '磴', + 'F' => '磯', + 'G' => '礁', + 'H' => '禧', + 'I' => '禪', + 'J' => '穗', + 'K' => '窿', + 'L' => '簇', + 'M' => '簍', + 'N' => '篾', + 'O' => '篷', + 'P' => '簌', + 'Q' => '篠', + 'R' => '糠', + 'S' => '糜', + 'T' => '糞', + 'U' => '糢', + 'V' => '糟', + 'W' => '糙', + 'X' => '糝', + 'Y' => '縮', + 'Z' => '績', + '[' => '繆', + '\\' => '縷', + ']' => '縲', + '^' => '繃', + '_' => '縫', + '`' => '總', + 'a' => '縱', + 'b' => '繅', + 'c' => '繁', + 'd' => '縴', + 'e' => '縹', + 'f' => '繈', + 'g' => '縵', + 'h' => '縿', + 'i' => '縯', + 'j' => '罄', + 'k' => '翳', + 'l' => '翼', + 'm' => '聱', + 'n' => '聲', + 'o' => '聰', + 'p' => '聯', + 'q' => '聳', + 'r' => '臆', + 's' => '臃', + 't' => '膺', + 'u' => '臂', + 'v' => '臀', + 'w' => '膿', + 'x' => '膽', + 'y' => '臉', + 'z' => '膾', + '{' => '臨', + '|' => '舉', + '}' => '艱', + '~' => '薪', + '' => '薄', + '' => '蕾', + '' => '薜', + '' => '薑', + '' => '薔', + '' => '薯', + '' => '薛', + '' => '薇', + '' => '薨', + '' => '薊', + '' => '虧', + '' => '蟀', + '' => '蟑', + '' => '螳', + '' => '蟒', + '' => '蟆', + '' => '螫', + '' => '螻', + '' => '螺', + '' => '蟈', + '' => '蟋', + '' => '褻', + '' => '褶', + '' => '襄', + '' => '褸', + '' => '褽', + '' => '覬', + '' => '謎', + '' => '謗', + '' => '謙', + '' => '講', + '' => '謊', + '' => '謠', + '' => '謝', + '' => '謄', + '' => '謐', + '' => '豁', + '' => '谿', + '' => '豳', + '' => '賺', + '' => '賽', + '' => '購', + '' => '賸', + '' => '賻', + '' => '趨', + '' => '蹉', + '' => '蹋', + '' => '蹈', + '' => '蹊', + '' => '轄', + '' => '輾', + '' => '轂', + '' => '轅', + '' => '輿', + '' => '避', + '' => '遽', + '' => '還', + '' => '邁', + '' => '邂', + '' => '邀', + '' => '鄹', + '' => '醣', + '' => '醞', + '' => '醜', + '' => '鍍', + '' => '鎂', + '' => '錨', + '' => '鍵', + '' => '鍊', + '' => '鍥', + '' => '鍋', + '' => '錘', + '' => '鍾', + '' => '鍬', + '' => '鍛', + '' => '鍰', + '' => '鍚', + '' => '鍔', + '' => '闊', + '' => '闋', + '' => '闌', + '' => '闈', + '' => '闆', + '' => '隱', + '' => '隸', + '' => '雖', + '' => '霜', + '' => '霞', + '' => '鞠', + '' => '韓', + '' => '顆', + '' => '颶', + '' => '餵', + '' => '騁', + '@' => '駿', + 'A' => '鮮', + 'B' => '鮫', + 'C' => '鮪', + 'D' => '鮭', + 'E' => '鴻', + 'F' => '鴿', + 'G' => '麋', + 'H' => '黏', + 'I' => '點', + 'J' => '黜', + 'K' => '黝', + 'L' => '黛', + 'M' => '鼾', + 'N' => '齋', + 'O' => '叢', + 'P' => '嚕', + 'Q' => '嚮', + 'R' => '壙', + 'S' => '壘', + 'T' => '嬸', + 'U' => '彝', + 'V' => '懣', + 'W' => '戳', + 'X' => '擴', + 'Y' => '擲', + 'Z' => '擾', + '[' => '攆', + '\\' => '擺', + ']' => '擻', + '^' => '擷', + '_' => '斷', + '`' => '曜', + 'a' => '朦', + 'b' => '檳', + 'c' => '檬', + 'd' => '櫃', + 'e' => '檻', + 'f' => '檸', + 'g' => '櫂', + 'h' => '檮', + 'i' => '檯', + 'j' => '歟', + 'k' => '歸', + 'l' => '殯', + 'm' => '瀉', + 'n' => '瀋', + 'o' => '濾', + 'p' => '瀆', + 'q' => '濺', + 'r' => '瀑', + 's' => '瀏', + 't' => '燻', + 'u' => '燼', + 'v' => '燾', + 'w' => '燸', + 'x' => '獷', + 'y' => '獵', + 'z' => '璧', + '{' => '璿', + '|' => '甕', + '}' => '癖', + '~' => '癘', + '¡' => '癒', + '¢' => '瞽', + '£' => '瞿', + '¤' => '瞻', + '¥' => '瞼', + '¦' => '礎', + '§' => '禮', + '¨' => '穡', + '©' => '穢', + 'ª' => '穠', + '«' => '竄', + '¬' => '竅', + '­' => '簫', + '®' => '簧', + '¯' => '簪', + '°' => '簞', + '±' => '簣', + '²' => '簡', + '³' => '糧', + '´' => '織', + 'µ' => '繕', + '¶' => '繞', + '·' => '繚', + '¸' => '繡', + '¹' => '繒', + 'º' => '繙', + '»' => '罈', + '¼' => '翹', + '½' => '翻', + '¾' => '職', + '¿' => '聶', + '' => '臍', + '' => '臏', + '' => '舊', + '' => '藏', + '' => '薩', + '' => '藍', + '' => '藐', + '' => '藉', + '' => '薰', + '' => '薺', + '' => '薹', + '' => '薦', + '' => '蟯', + '' => '蟬', + '' => '蟲', + '' => '蟠', + '' => '覆', + '' => '覲', + '' => '觴', + '' => '謨', + '' => '謹', + '' => '謬', + '' => '謫', + '' => '豐', + '' => '贅', + '' => '蹙', + '' => '蹣', + '' => '蹦', + '' => '蹤', + '' => '蹟', + '' => '蹕', + '' => '軀', + '' => '轉', + '' => '轍', + '' => '邇', + '' => '邃', + '' => '邈', + '' => '醫', + '' => '醬', + '' => '釐', + '' => '鎔', + '' => '鎊', + '' => '鎖', + '' => '鎢', + '' => '鎳', + '' => '鎮', + '' => '鎬', + '' => '鎰', + '' => '鎘', + '' => '鎚', + '' => '鎗', + '' => '闔', + '' => '闖', + '' => '闐', + '' => '闕', + '' => '離', + '' => '雜', + '' => '雙', + '' => '雛', + '' => '雞', + '' => '霤', + '' => '鞣', + '' => '鞦', + '@' => '鞭', + 'A' => '韹', + 'B' => '額', + 'C' => '顏', + 'D' => '題', + 'E' => '顎', + 'F' => '顓', + 'G' => '颺', + 'H' => '餾', + 'I' => '餿', + 'J' => '餽', + 'K' => '餮', + 'L' => '馥', + 'M' => '騎', + 'N' => '髁', + 'O' => '鬃', + 'P' => '鬆', + 'Q' => '魏', + 'R' => '魎', + 'S' => '魍', + 'T' => '鯊', + 'U' => '鯉', + 'V' => '鯽', + 'W' => '鯈', + 'X' => '鯀', + 'Y' => '鵑', + 'Z' => '鵝', + '[' => '鵠', + '\\' => '黠', + ']' => '鼕', + '^' => '鼬', + '_' => '儳', + '`' => '嚥', + 'a' => '壞', + 'b' => '壟', + 'c' => '壢', + 'd' => '寵', + 'e' => '龐', + 'f' => '廬', + 'g' => '懲', + 'h' => '懷', + 'i' => '懶', + 'j' => '懵', + 'k' => '攀', + 'l' => '攏', + 'm' => '曠', + 'n' => '曝', + 'o' => '櫥', + 'p' => '櫝', + 'q' => '櫚', + 'r' => '櫓', + 's' => '瀛', + 't' => '瀟', + 'u' => '瀨', + 'v' => '瀚', + 'w' => '瀝', + 'x' => '瀕', + 'y' => '瀘', + 'z' => '爆', + '{' => '爍', + '|' => '牘', + '}' => '犢', + '~' => '獸', + 'á' => '獺', + 'â' => '璽', + 'ã' => '瓊', + 'ä' => '瓣', + 'å' => '疇', + 'æ' => '疆', + 'ç' => '癟', + 'è' => '癡', + 'é' => '矇', + 'ê' => '礙', + 'ë' => '禱', + 'ì' => '穫', + 'í' => '穩', + 'î' => '簾', + 'ï' => '簿', + 'ð' => '簸', + 'ñ' => '簽', + 'ò' => '簷', + 'ó' => '籀', + 'ô' => '繫', + 'õ' => '繭', + 'ö' => '繹', + '÷' => '繩', + 'ø' => '繪', + 'ù' => '羅', + 'ú' => '繳', + 'û' => '羶', + 'ü' => '羹', + 'ý' => '羸', + 'þ' => '臘', + 'ÿ' => '藩', + '' => '藝', + '' => '藪', + '' => '藕', + '' => '藤', + '' => '藥', + '' => '藷', + '' => '蟻', + '' => '蠅', + '' => '蠍', + '' => '蟹', + '' => '蟾', + '' => '襠', + '' => '襟', + '' => '襖', + '' => '襞', + '' => '譁', + '' => '譜', + '' => '識', + '' => '證', + '' => '譚', + '' => '譎', + '' => '譏', + '' => '譆', + '' => '譙', + '' => '贈', + '' => '贊', + '' => '蹼', + '' => '蹲', + '' => '躇', + '' => '蹶', + '' => '蹬', + '' => '蹺', + '' => '蹴', + '' => '轔', + '' => '轎', + '' => '辭', + '' => '邊', + '' => '邋', + '' => '醱', + '' => '醮', + '' => '鏡', + '' => '鏑', + '' => '鏟', + '' => '鏃', + '' => '鏈', + '' => '鏜', + '' => '鏝', + '' => '鏖', + '' => '鏢', + '' => '鏍', + '' => '鏘', + '' => '鏤', + '' => '鏗', + '' => '鏨', + '' => '關', + '' => '隴', + '' => '難', + '' => '霪', + '' => '霧', + '' => '靡', + '' => '韜', + '' => '韻', + '' => '類', + '@' => '願', + 'A' => '顛', + 'B' => '颼', + 'C' => '饅', + 'D' => '饉', + 'E' => '騖', + 'F' => '騙', + 'G' => '鬍', + 'H' => '鯨', + 'I' => '鯧', + 'J' => '鯖', + 'K' => '鯛', + 'L' => '鶉', + 'M' => '鵡', + 'N' => '鵲', + 'O' => '鵪', + 'P' => '鵬', + 'Q' => '麒', + 'R' => '麗', + 'S' => '麓', + 'T' => '麴', + 'U' => '勸', + 'V' => '嚨', + 'W' => '嚷', + 'X' => '嚶', + 'Y' => '嚴', + 'Z' => '嚼', + '[' => '壤', + '\\' => '孀', + ']' => '孃', + '^' => '孽', + '_' => '寶', + '`' => '巉', + 'a' => '懸', + 'b' => '懺', + 'c' => '攘', + 'd' => '攔', + 'e' => '攙', + 'f' => '曦', + 'g' => '朧', + 'h' => '櫬', + 'i' => '瀾', + 'j' => '瀰', + 'k' => '瀲', + 'l' => '爐', + 'm' => '獻', + 'n' => '瓏', + 'o' => '癢', + 'p' => '癥', + 'q' => '礦', + 'r' => '礪', + 's' => '礬', + 't' => '礫', + 'u' => '竇', + 'v' => '競', + 'w' => '籌', + 'x' => '籃', + 'y' => '籍', + 'z' => '糯', + '{' => '糰', + '|' => '辮', + '}' => '繽', + '~' => '繼', + 'ġ' => '纂', + 'Ģ' => '罌', + 'ģ' => '耀', + 'Ĥ' => '臚', + 'ĥ' => '艦', + 'Ħ' => '藻', + 'ħ' => '藹', + 'Ĩ' => '蘑', + 'ĩ' => '藺', + 'Ī' => '蘆', + 'ī' => '蘋', + 'Ĭ' => '蘇', + 'ĭ' => '蘊', + 'Į' => '蠔', + 'į' => '蠕', + 'İ' => '襤', + 'ı' => '覺', + 'IJ' => '觸', + 'ij' => '議', + 'Ĵ' => '譬', + 'ĵ' => '警', + 'Ķ' => '譯', + 'ķ' => '譟', + 'ĸ' => '譫', + 'Ĺ' => '贏', + 'ĺ' => '贍', + 'Ļ' => '躉', + 'ļ' => '躁', + 'Ľ' => '躅', + 'ľ' => '躂', + 'Ŀ' => '醴', + '' => '釋', + '' => '鐘', + '' => '鐃', + '' => '鏽', + '' => '闡', + '' => '霰', + '' => '飄', + '' => '饒', + '' => '饑', + '' => '馨', + '' => '騫', + '' => '騰', + '' => '騷', + '' => '騵', + '' => '鰓', + '' => '鰍', + '' => '鹹', + '' => '麵', + '' => '黨', + '' => '鼯', + '' => '齟', + '' => '齣', + '' => '齡', + '' => '儷', + '' => '儸', + '' => '囁', + '' => '囀', + '' => '囂', + '' => '夔', + '' => '屬', + '' => '巍', + '' => '懼', + '' => '懾', + '' => '攝', + '' => '攜', + '' => '斕', + '' => '曩', + '' => '櫻', + '' => '欄', + '' => '櫺', + '' => '殲', + '' => '灌', + '' => '爛', + '' => '犧', + '' => '瓖', + '' => '瓔', + '' => '癩', + '' => '矓', + '' => '籐', + '' => '纏', + '' => '續', + '' => '羼', + '' => '蘗', + '' => '蘭', + '' => '蘚', + '' => '蠣', + '' => '蠢', + '' => '蠡', + '' => '蠟', + '' => '襪', + '' => '襬', + '' => '覽', + '' => '譴', + '@' => '護', + 'A' => '譽', + 'B' => '贓', + 'C' => '躊', + 'D' => '躍', + 'E' => '躋', + 'F' => '轟', + 'G' => '辯', + 'H' => '醺', + 'I' => '鐮', + 'J' => '鐳', + 'K' => '鐵', + 'L' => '鐺', + 'M' => '鐸', + 'N' => '鐲', + 'O' => '鐫', + 'P' => '闢', + 'Q' => '霸', + 'R' => '霹', + 'S' => '露', + 'T' => '響', + 'U' => '顧', + 'V' => '顥', + 'W' => '饗', + 'X' => '驅', + 'Y' => '驃', + 'Z' => '驀', + '[' => '騾', + '\\' => '髏', + ']' => '魔', + '^' => '魑', + '_' => '鰭', + '`' => '鰥', + 'a' => '鶯', + 'b' => '鶴', + 'c' => '鷂', + 'd' => '鶸', + 'e' => '麝', + 'f' => '黯', + 'g' => '鼙', + 'h' => '齜', + 'i' => '齦', + 'j' => '齧', + 'k' => '儼', + 'l' => '儻', + 'm' => '囈', + 'n' => '囊', + 'o' => '囉', + 'p' => '孿', + 'q' => '巔', + 'r' => '巒', + 's' => '彎', + 't' => '懿', + 'u' => '攤', + 'v' => '權', + 'w' => '歡', + 'x' => '灑', + 'y' => '灘', + 'z' => '玀', + '{' => '瓤', + '|' => '疊', + '}' => '癮', + '~' => '癬', + 'š' => '禳', + 'Ţ' => '籠', + 'ţ' => '籟', + 'Ť' => '聾', + 'ť' => '聽', + 'Ŧ' => '臟', + 'ŧ' => '襲', + 'Ũ' => '襯', + 'ũ' => '觼', + 'Ū' => '讀', + 'ū' => '贖', + 'Ŭ' => '贗', + 'ŭ' => '躑', + 'Ů' => '躓', + 'ů' => '轡', + 'Ű' => '酈', + 'ű' => '鑄', + 'Ų' => '鑑', + 'ų' => '鑒', + 'Ŵ' => '霽', + 'ŵ' => '霾', + 'Ŷ' => '韃', + 'ŷ' => '韁', + 'Ÿ' => '顫', + 'Ź' => '饕', + 'ź' => '驕', + 'Ż' => '驍', + 'ż' => '髒', + 'Ž' => '鬚', + 'ž' => '鱉', + 'ſ' => '鰱', + '' => '鰾', + '' => '鰻', + '' => '鷓', + '' => '鷗', + '' => '鼴', + '' => '齬', + '' => '齪', + '' => '龔', + '' => '囌', + '' => '巖', + '' => '戀', + '' => '攣', + '' => '攫', + '' => '攪', + '' => '曬', + '' => '欐', + '' => '瓚', + '' => '竊', + '' => '籤', + '' => '籣', + '' => '籥', + '' => '纓', + '' => '纖', + '' => '纔', + '' => '臢', + '' => '蘸', + '' => '蘿', + '' => '蠱', + '' => '變', + '' => '邐', + '' => '邏', + '' => '鑣', + '' => '鑠', + '' => '鑤', + '' => '靨', + '' => '顯', + '' => '饜', + '' => '驚', + '' => '驛', + '' => '驗', + '' => '髓', + '' => '體', + '' => '髑', + '' => '鱔', + '' => '鱗', + '' => '鱖', + '' => '鷥', + '' => '麟', + '' => '黴', + '' => '囑', + '' => '壩', + '' => '攬', + '' => '灞', + '' => '癱', + '' => '癲', + '' => '矗', + '' => '罐', + '' => '羈', + '' => '蠶', + '' => '蠹', + '' => '衢', + '' => '讓', + '' => '讒', + '@' => '讖', + 'A' => '艷', + 'B' => '贛', + 'C' => '釀', + 'D' => '鑪', + 'E' => '靂', + 'F' => '靈', + 'G' => '靄', + 'H' => '韆', + 'I' => '顰', + 'J' => '驟', + 'K' => '鬢', + 'L' => '魘', + 'M' => '鱟', + 'N' => '鷹', + 'O' => '鷺', + 'P' => '鹼', + 'Q' => '鹽', + 'R' => '鼇', + 'S' => '齷', + 'T' => '齲', + 'U' => '廳', + 'V' => '欖', + 'W' => '灣', + 'X' => '籬', + 'Y' => '籮', + 'Z' => '蠻', + '[' => '觀', + '\\' => '躡', + ']' => '釁', + '^' => '鑲', + '_' => '鑰', + '`' => '顱', + 'a' => '饞', + 'b' => '髖', + 'c' => '鬣', + 'd' => '黌', + 'e' => '灤', + 'f' => '矚', + 'g' => '讚', + 'h' => '鑷', + 'i' => '韉', + 'j' => '驢', + 'k' => '驥', + 'l' => '纜', + 'm' => '讜', + 'n' => '躪', + 'o' => '釅', + 'p' => '鑽', + 'q' => '鑾', + 'r' => '鑼', + 's' => '鱷', + 't' => '鱸', + 'u' => '黷', + 'v' => '豔', + 'w' => '鑿', + 'x' => '鸚', + 'y' => '爨', + 'z' => '驪', + '{' => '鬱', + '|' => '鸛', + '}' => '鸞', + '~' => '籲', + 'ơ' => 'ヾ', + 'Ƣ' => 'ゝ', + 'ƣ' => 'ゞ', + 'Ƥ' => '々', + 'ƥ' => 'ぁ', + 'Ʀ' => 'あ', + 'Ƨ' => 'ぃ', + 'ƨ' => 'い', + 'Ʃ' => 'ぅ', + 'ƪ' => 'う', + 'ƫ' => 'ぇ', + 'Ƭ' => 'え', + 'ƭ' => 'ぉ', + 'Ʈ' => 'お', + 'Ư' => 'か', + 'ư' => 'が', + 'Ʊ' => 'き', + 'Ʋ' => 'ぎ', + 'Ƴ' => 'く', + 'ƴ' => 'ぐ', + 'Ƶ' => 'け', + 'ƶ' => 'げ', + 'Ʒ' => 'こ', + 'Ƹ' => 'ご', + 'ƹ' => 'さ', + 'ƺ' => 'ざ', + 'ƻ' => 'し', + 'Ƽ' => 'じ', + 'ƽ' => 'す', + 'ƾ' => 'ず', + 'ƿ' => 'せ', + '' => 'ぜ', + '' => 'そ', + '' => 'ぞ', + '' => 'た', + '' => 'だ', + '' => 'ち', + '' => 'ぢ', + '' => 'っ', + '' => 'つ', + '' => 'づ', + '' => 'て', + '' => 'で', + '' => 'と', + '' => 'ど', + '' => 'な', + '' => 'に', + '' => 'ぬ', + '' => 'ね', + '' => 'の', + '' => 'は', + '' => 'ば', + '' => 'ぱ', + '' => 'ひ', + '' => 'び', + '' => 'ぴ', + '' => 'ふ', + '' => 'ぶ', + '' => 'ぷ', + '' => 'へ', + '' => 'べ', + '' => 'ぺ', + '' => 'ほ', + '' => 'ぼ', + '' => 'ぽ', + '' => 'ま', + '' => 'み', + '' => 'む', + '' => 'め', + '' => 'も', + '' => 'ゃ', + '' => 'や', + '' => 'ゅ', + '' => 'ゆ', + '' => 'ょ', + '' => 'よ', + '' => 'ら', + '' => 'り', + '' => 'る', + '' => 'れ', + '' => 'ろ', + '' => 'ゎ', + '' => 'わ', + '' => 'ゐ', + '' => 'ゑ', + '' => 'を', + '' => 'ん', + '' => 'ァ', + '' => 'ア', + '' => 'ィ', + '' => 'イ', + '' => 'ゥ', + '' => 'ウ', + '' => 'ェ', + '@' => 'エ', + 'A' => 'ォ', + 'B' => 'オ', + 'C' => 'カ', + 'D' => 'ガ', + 'E' => 'キ', + 'F' => 'ギ', + 'G' => 'ク', + 'H' => 'グ', + 'I' => 'ケ', + 'J' => 'ゲ', + 'K' => 'コ', + 'L' => 'ゴ', + 'M' => 'サ', + 'N' => 'ザ', + 'O' => 'シ', + 'P' => 'ジ', + 'Q' => 'ス', + 'R' => 'ズ', + 'S' => 'セ', + 'T' => 'ゼ', + 'U' => 'ソ', + 'V' => 'ゾ', + 'W' => 'タ', + 'X' => 'ダ', + 'Y' => 'チ', + 'Z' => 'ヂ', + '[' => 'ッ', + '\\' => 'ツ', + ']' => 'ヅ', + '^' => 'テ', + '_' => 'デ', + '`' => 'ト', + 'a' => 'ド', + 'b' => 'ナ', + 'c' => 'ニ', + 'd' => 'ヌ', + 'e' => 'ネ', + 'f' => 'ノ', + 'g' => 'ハ', + 'h' => 'バ', + 'i' => 'パ', + 'j' => 'ヒ', + 'k' => 'ビ', + 'l' => 'ピ', + 'm' => 'フ', + 'n' => 'ブ', + 'o' => 'プ', + 'p' => 'ヘ', + 'q' => 'ベ', + 'r' => 'ペ', + 's' => 'ホ', + 't' => 'ボ', + 'u' => 'ポ', + 'v' => 'マ', + 'w' => 'ミ', + 'x' => 'ム', + 'y' => 'メ', + 'z' => 'モ', + '{' => 'ャ', + '|' => 'ヤ', + '}' => 'ュ', + '~' => 'ユ', + 'ǡ' => 'ョ', + 'Ǣ' => 'ヨ', + 'ǣ' => 'ラ', + 'Ǥ' => 'リ', + 'ǥ' => 'ル', + 'Ǧ' => 'レ', + 'ǧ' => 'ロ', + 'Ǩ' => 'ヮ', + 'ǩ' => 'ワ', + 'Ǫ' => 'ヰ', + 'ǫ' => 'ヱ', + 'Ǭ' => 'ヲ', + 'ǭ' => 'ン', + 'Ǯ' => 'ヴ', + 'ǯ' => 'ヵ', + 'ǰ' => 'ヶ', + 'DZ' => 'Д', + 'Dz' => 'Е', + 'dz' => 'Ё', + 'Ǵ' => 'Ж', + 'ǵ' => 'З', + 'Ƕ' => 'И', + 'Ƿ' => 'Й', + 'Ǹ' => 'К', + 'ǹ' => 'Л', + 'Ǻ' => 'М', + 'ǻ' => 'У', + 'Ǽ' => 'Ф', + 'ǽ' => 'Х', + 'Ǿ' => 'Ц', + 'ǿ' => 'Ч', + '' => 'Ш', + '' => 'Щ', + '' => 'Ъ', + '' => 'Ы', + '' => 'Ь', + '' => 'Э', + '' => 'Ю', + '' => 'Я', + '' => 'а', + '' => 'б', + '' => 'в', + '' => 'г', + '' => 'д', + '' => 'е', + '' => 'ё', + '' => 'ж', + '' => 'з', + '' => 'и', + '' => 'й', + '' => 'к', + '' => 'л', + '' => 'м', + '' => 'н', + '' => 'о', + '' => 'п', + '' => 'р', + '' => 'с', + '' => 'т', + '' => 'у', + '' => 'ф', + '' => 'х', + '' => 'ц', + '' => 'ч', + '' => 'ш', + '' => 'щ', + '' => 'ъ', + '' => 'ы', + '' => 'ь', + '' => 'э', + '' => 'ю', + '' => 'я', + '' => '①', + '' => '②', + '' => '③', + '' => '④', + '' => '⑤', + '' => '⑥', + '' => '⑦', + '' => '⑧', + '' => '⑨', + '' => '⑩', + '' => '⑴', + '' => '⑵', + '' => '⑶', + '' => '⑷', + '' => '⑸', + '' => '⑹', + '' => '⑺', + '' => '⑻', + '' => '⑼', + '' => '⑽', + '@' => '乂', + 'A' => '乜', + 'B' => '凵', + 'C' => '匚', + 'D' => '厂', + 'E' => '万', + 'F' => '丌', + 'G' => '乇', + 'H' => '亍', + 'I' => '囗', + 'J' => '兀', + 'K' => '屮', + 'L' => '彳', + 'M' => '丏', + 'N' => '冇', + 'O' => '与', + 'P' => '丮', + 'Q' => '亓', + 'R' => '仂', + 'S' => '仉', + 'T' => '仈', + 'U' => '冘', + 'V' => '勼', + 'W' => '卬', + 'X' => '厹', + 'Y' => '圠', + 'Z' => '夃', + '[' => '夬', + '\\' => '尐', + ']' => '巿', + '^' => '旡', + '_' => '殳', + '`' => '毌', + 'a' => '气', + 'b' => '爿', + 'c' => '丱', + 'd' => '丼', + 'e' => '仨', + 'f' => '仜', + 'g' => '仩', + 'h' => '仡', + 'i' => '仝', + 'j' => '仚', + 'k' => '刌', + 'l' => '匜', + 'm' => '卌', + 'n' => '圢', + 'o' => '圣', + 'p' => '夗', + 'q' => '夯', + 'r' => '宁', + 's' => '宄', + 't' => '尒', + 'u' => '尻', + 'v' => '屴', + 'w' => '屳', + 'x' => '帄', + 'y' => '庀', + 'z' => '庂', + '{' => '忉', + '|' => '戉', + '}' => '扐', + '~' => '氕', + 'ɡ' => '氶', + 'ɢ' => '汃', + 'ɣ' => '氿', + 'ɤ' => '氻', + 'ɥ' => '犮', + 'ɦ' => '犰', + 'ɧ' => '玊', + 'ɨ' => '禸', + 'ɩ' => '肊', + 'ɪ' => '阞', + 'ɫ' => '伎', + 'ɬ' => '优', + 'ɭ' => '伬', + 'ɮ' => '仵', + 'ɯ' => '伔', + 'ɰ' => '仱', + 'ɱ' => '伀', + 'ɲ' => '价', + 'ɳ' => '伈', + 'ɴ' => '伝', + 'ɵ' => '伂', + 'ɶ' => '伅', + 'ɷ' => '伢', + 'ɸ' => '伓', + 'ɹ' => '伄', + 'ɺ' => '仴', + 'ɻ' => '伒', + 'ɼ' => '冱', + 'ɽ' => '刓', + 'ɾ' => '刉', + 'ɿ' => '刐', + '' => '劦', + '' => '匢', + '' => '匟', + '' => '卍', + '' => '厊', + '' => '吇', + '' => '囡', + '' => '囟', + '' => '圮', + '' => '圪', + '' => '圴', + '' => '夼', + '' => '妀', + '' => '奼', + '' => '妅', + '' => '奻', + '' => '奾', + '' => '奷', + '' => '奿', + '' => '孖', + '' => '尕', + '' => '尥', + '' => '屼', + '' => '屺', + '' => '屻', + '' => '屾', + '' => '巟', + '' => '幵', + '' => '庄', + '' => '异', + '' => '弚', + '' => '彴', + '' => '忕', + '' => '忔', + '' => '忏', + '' => '扜', + '' => '扞', + '' => '扤', + '' => '扡', + '' => '扦', + '' => '扢', + '' => '扙', + '' => '扠', + '' => '扚', + '' => '扥', + '' => '旯', + '' => '旮', + '' => '朾', + '' => '朹', + '' => '朸', + '' => '朻', + '' => '机', + '' => '朿', + '' => '朼', + '' => '朳', + '' => '氘', + '' => '汆', + '' => '汒', + '' => '汜', + '' => '汏', + '' => '汊', + '' => '汔', + '' => '汋', + '@' => '汌', + 'A' => '灱', + 'B' => '牞', + 'C' => '犴', + 'D' => '犵', + 'E' => '玎', + 'F' => '甪', + 'G' => '癿', + 'H' => '穵', + 'I' => '网', + 'J' => '艸', + 'K' => '艼', + 'L' => '芀', + 'M' => '艽', + 'N' => '艿', + 'O' => '虍', + 'P' => '襾', + 'Q' => '邙', + 'R' => '邗', + 'S' => '邘', + 'T' => '邛', + 'U' => '邔', + 'V' => '阢', + 'W' => '阤', + 'X' => '阠', + 'Y' => '阣', + 'Z' => '佖', + '[' => '伻', + '\\' => '佢', + ']' => '佉', + '^' => '体', + '_' => '佤', + '`' => '伾', + 'a' => '佧', + 'b' => '佒', + 'c' => '佟', + 'd' => '佁', + 'e' => '佘', + 'f' => '伭', + 'g' => '伳', + 'h' => '伿', + 'i' => '佡', + 'j' => '冏', + 'k' => '冹', + 'l' => '刜', + 'm' => '刞', + 'n' => '刡', + 'o' => '劭', + 'p' => '劮', + 'q' => '匉', + 'r' => '卣', + 's' => '卲', + 't' => '厎', + 'u' => '厏', + 'v' => '吰', + 'w' => '吷', + 'x' => '吪', + 'y' => '呔', + 'z' => '呅', + '{' => '吙', + '|' => '吜', + '}' => '吥', + '~' => '吘', + 'ʡ' => '吽', + 'ʢ' => '呏', + 'ʣ' => '呁', + 'ʤ' => '吨', + 'ʥ' => '吤', + 'ʦ' => '呇', + 'ʧ' => '囮', + 'ʨ' => '囧', + 'ʩ' => '囥', + 'ʪ' => '坁', + 'ʫ' => '坅', + 'ʬ' => '坌', + 'ʭ' => '坉', + 'ʮ' => '坋', + 'ʯ' => '坒', + 'ʰ' => '夆', + 'ʱ' => '奀', + 'ʲ' => '妦', + 'ʳ' => '妘', + 'ʴ' => '妠', + 'ʵ' => '妗', + 'ʶ' => '妎', + 'ʷ' => '妢', + 'ʸ' => '妐', + 'ʹ' => '妏', + 'ʺ' => '妧', + 'ʻ' => '妡', + 'ʼ' => '宎', + 'ʽ' => '宒', + 'ʾ' => '尨', + 'ʿ' => '尪', + '' => '岍', + '' => '岏', + '' => '岈', + '' => '岋', + '' => '岉', + '' => '岒', + '' => '岊', + '' => '岆', + '' => '岓', + '' => '岕', + '' => '巠', + '' => '帊', + '' => '帎', + '' => '庋', + '' => '庉', + '' => '庌', + '' => '庈', + '' => '庍', + '' => '弅', + '' => '弝', + '' => '彸', + '' => '彶', + '' => '忒', + '' => '忑', + '' => '忐', + '' => '忭', + '' => '忨', + '' => '忮', + '' => '忳', + '' => '忡', + '' => '忤', + '' => '忣', + '' => '忺', + '' => '忯', + '' => '忷', + '' => '忻', + '' => '怀', + '' => '忴', + '' => '戺', + '' => '抃', + '' => '抌', + '' => '抎', + '' => '抏', + '' => '抔', + '' => '抇', + '' => '扱', + '' => '扻', + '' => '扺', + '' => '扰', + '' => '抁', + '' => '抈', + '' => '扷', + '' => '扽', + '' => '扲', + '' => '扴', + '' => '攷', + '' => '旰', + '' => '旴', + '' => '旳', + '' => '旲', + '' => '旵', + '' => '杅', + '' => '杇', + '@' => '杙', + 'A' => '杕', + 'B' => '杌', + 'C' => '杈', + 'D' => '杝', + 'E' => '杍', + 'F' => '杚', + 'G' => '杋', + 'H' => '毐', + 'I' => '氙', + 'J' => '氚', + 'K' => '汸', + 'L' => '汧', + 'M' => '汫', + 'N' => '沄', + 'O' => '沋', + 'P' => '沏', + 'Q' => '汱', + 'R' => '汯', + 'S' => '汩', + 'T' => '沚', + 'U' => '汭', + 'V' => '沇', + 'W' => '沕', + 'X' => '沜', + 'Y' => '汦', + 'Z' => '汳', + '[' => '汥', + '\\' => '汻', + ']' => '沎', + '^' => '灴', + '_' => '灺', + '`' => '牣', + 'a' => '犿', + 'b' => '犽', + 'c' => '狃', + 'd' => '狆', + 'e' => '狁', + 'f' => '犺', + 'g' => '狅', + 'h' => '玕', + 'i' => '玗', + 'j' => '玓', + 'k' => '玔', + 'l' => '玒', + 'm' => '町', + 'n' => '甹', + 'o' => '疔', + 'p' => '疕', + 'q' => '皁', + 'r' => '礽', + 's' => '耴', + 't' => '肕', + 'u' => '肙', + 'v' => '肐', + 'w' => '肒', + 'x' => '肜', + 'y' => '芐', + 'z' => '芏', + '{' => '芅', + '|' => '芎', + '}' => '芑', + '~' => '芓', + 'ˡ' => '芊', + 'ˢ' => '芃', + 'ˣ' => '芄', + 'ˤ' => '豸', + '˥' => '迉', + '˦' => '辿', + '˧' => '邟', + '˨' => '邡', + '˩' => '邥', + '˪' => '邞', + '˫' => '邧', + 'ˬ' => '邠', + '˭' => '阰', + 'ˮ' => '阨', + '˯' => '阯', + '˰' => '阭', + '˱' => '丳', + '˲' => '侘', + '˳' => '佼', + '˴' => '侅', + '˵' => '佽', + '˶' => '侀', + '˷' => '侇', + '˸' => '佶', + '˹' => '佴', + '˺' => '侉', + '˻' => '侄', + '˼' => '佷', + '˽' => '佌', + '˾' => '侗', + '˿' => '佪', + '' => '侚', + '' => '佹', + '' => '侁', + '' => '佸', + '' => '侐', + '' => '侜', + '' => '侔', + '' => '侞', + '' => '侒', + '' => '侂', + '' => '侕', + '' => '佫', + '' => '佮', + '' => '冞', + '' => '冼', + '' => '冾', + '' => '刵', + '' => '刲', + '' => '刳', + '' => '剆', + '' => '刱', + '' => '劼', + '' => '匊', + '' => '匋', + '' => '匼', + '' => '厒', + '' => '厔', + '' => '咇', + '' => '呿', + '' => '咁', + '' => '咑', + '' => '咂', + '' => '咈', + '' => '呫', + '' => '呺', + '' => '呾', + '' => '呥', + '' => '呬', + '' => '呴', + '' => '呦', + '' => '咍', + '' => '呯', + '' => '呡', + '' => '呠', + '' => '咘', + '' => '呣', + '' => '呧', + '' => '呤', + '' => '囷', + '' => '囹', + '' => '坯', + '' => '坲', + '' => '坭', + '' => '坫', + '' => '坱', + '' => '坰', + '' => '坶', + '' => '垀', + '' => '坵', + '' => '坻', + '' => '坳', + '' => '坴', + '' => '坢', + '@' => '坨', + 'A' => '坽', + 'B' => '夌', + 'C' => '奅', + 'D' => '妵', + 'E' => '妺', + 'F' => '姏', + 'G' => '姎', + 'H' => '妲', + 'I' => '姌', + 'J' => '姁', + 'K' => '妶', + 'L' => '妼', + 'M' => '姃', + 'N' => '姖', + 'O' => '妱', + 'P' => '妽', + 'Q' => '姀', + 'R' => '姈', + 'S' => '妴', + 'T' => '姇', + 'U' => '孢', + 'V' => '孥', + 'W' => '宓', + 'X' => '宕', + 'Y' => '屄', + 'Z' => '屇', + '[' => '岮', + '\\' => '岤', + ']' => '岠', + '^' => '岵', + '_' => '岯', + '`' => '岨', + 'a' => '岬', + 'b' => '岟', + 'c' => '岣', + 'd' => '岭', + 'e' => '岢', + 'f' => '岪', + 'g' => '岧', + 'h' => '岝', + 'i' => '岥', + 'j' => '岶', + 'k' => '岰', + 'l' => '岦', + 'm' => '帗', + 'n' => '帔', + 'o' => '帙', + 'p' => '弨', + 'q' => '弢', + 'r' => '弣', + 's' => '弤', + 't' => '彔', + 'u' => '徂', + 'v' => '彾', + 'w' => '彽', + 'x' => '忞', + 'y' => '忥', + 'z' => '怭', + '{' => '怦', + '|' => '怙', + '}' => '怲', + '~' => '怋', + '̡' => '怴', + '̢' => '怊', + '̣' => '怗', + '̤' => '怳', + '̥' => '怚', + '̦' => '怞', + '̧' => '怬', + '̨' => '怢', + '̩' => '怍', + '̪' => '怐', + '̫' => '怮', + '̬' => '怓', + '̭' => '怑', + '̮' => '怌', + '̯' => '怉', + '̰' => '怜', + '̱' => '戔', + '̲' => '戽', + '̳' => '抭', + '̴' => '抴', + '̵' => '拑', + '̶' => '抾', + '̷' => '抪', + '̸' => '抶', + '̹' => '拊', + '̺' => '抮', + '̻' => '抳', + '̼' => '抯', + '̽' => '抻', + '̾' => '抩', + '̿' => '抰', + '' => '抸', + '' => '攽', + '' => '斨', + '' => '斻', + '' => '昉', + '' => '旼', + '' => '昄', + '' => '昒', + '' => '昈', + '' => '旻', + '' => '昃', + '' => '昋', + '' => '昍', + '' => '昅', + '' => '旽', + '' => '昑', + '' => '昐', + '' => '曶', + '' => '朊', + '' => '枅', + '' => '杬', + '' => '枎', + '' => '枒', + '' => '杶', + '' => '杻', + '' => '枘', + '' => '枆', + '' => '构', + '' => '杴', + '' => '枍', + '' => '枌', + '' => '杺', + '' => '枟', + '' => '枑', + '' => '枙', + '' => '枃', + '' => '杽', + '' => '极', + '' => '杸', + '' => '杹', + '' => '枔', + '' => '欥', + '' => '殀', + '' => '歾', + '' => '毞', + '' => '氝', + '' => '沓', + '' => '泬', + '' => '泫', + '' => '泮', + '' => '泙', + '' => '沶', + '' => '泔', + '' => '沭', + '' => '泧', + '' => '沷', + '' => '泐', + '' => '泂', + '' => '沺', + '' => '泃', + '' => '泆', + '' => '泭', + '' => '泲', + '@' => '泒', + 'A' => '泝', + 'B' => '沴', + 'C' => '沊', + 'D' => '沝', + 'E' => '沀', + 'F' => '泞', + 'G' => '泀', + 'H' => '洰', + 'I' => '泍', + 'J' => '泇', + 'K' => '沰', + 'L' => '泹', + 'M' => '泏', + 'N' => '泩', + 'O' => '泑', + 'P' => '炔', + 'Q' => '炘', + 'R' => '炅', + 'S' => '炓', + 'T' => '炆', + 'U' => '炄', + 'V' => '炑', + 'W' => '炖', + 'X' => '炂', + 'Y' => '炚', + 'Z' => '炃', + '[' => '牪', + '\\' => '狖', + ']' => '狋', + '^' => '狘', + '_' => '狉', + '`' => '狜', + 'a' => '狒', + 'b' => '狔', + 'c' => '狚', + 'd' => '狌', + 'e' => '狑', + 'f' => '玤', + 'g' => '玡', + 'h' => '玭', + 'i' => '玦', + 'j' => '玢', + 'k' => '玠', + 'l' => '玬', + 'm' => '玝', + 'n' => '瓝', + 'o' => '瓨', + 'p' => '甿', + 'q' => '畀', + 'r' => '甾', + 's' => '疌', + 't' => '疘', + 'u' => '皯', + 'v' => '盳', + 'w' => '盱', + 'x' => '盰', + 'y' => '盵', + 'z' => '矸', + '{' => '矼', + '|' => '矹', + '}' => '矻', + '~' => '矺', + '͡' => '矷', + '͢' => '祂', + 'ͣ' => '礿', + 'ͤ' => '秅', + 'ͥ' => '穸', + 'ͦ' => '穻', + 'ͧ' => '竻', + 'ͨ' => '籵', + 'ͩ' => '糽', + 'ͪ' => '耵', + 'ͫ' => '肏', + 'ͬ' => '肮', + 'ͭ' => '肣', + 'ͮ' => '肸', + 'ͯ' => '肵', + 'Ͱ' => '肭', + 'ͱ' => '舠', + 'Ͳ' => '芠', + 'ͳ' => '苀', + 'ʹ' => '芫', + '͵' => '芚', + 'Ͷ' => '芘', + 'ͷ' => '芛', + '͸' => '芵', + '͹' => '芧', + 'ͺ' => '芮', + 'ͻ' => '芼', + 'ͼ' => '芞', + 'ͽ' => '芺', + ';' => '芴', + 'Ϳ' => '芨', + '' => '芡', + '' => '芩', + '' => '苂', + '' => '芤', + '' => '苃', + '' => '芶', + '' => '芢', + '' => '虰', + '' => '虯', + '' => '虭', + '' => '虮', + '' => '豖', + '' => '迒', + '' => '迋', + '' => '迓', + '' => '迍', + '' => '迖', + '' => '迕', + '' => '迗', + '' => '邲', + '' => '邴', + '' => '邯', + '' => '邳', + '' => '邰', + '' => '阹', + '' => '阽', + '' => '阼', + '' => '阺', + '' => '陃', + '' => '俍', + '' => '俅', + '' => '俓', + '' => '侲', + '' => '俉', + '' => '俋', + '' => '俁', + '' => '俔', + '' => '俜', + '' => '俙', + '' => '侻', + '' => '侳', + '' => '俛', + '' => '俇', + '' => '俖', + '' => '侺', + '' => '俀', + '' => '侹', + '' => '俬', + '' => '剄', + '' => '剉', + '' => '勀', + '' => '勂', + '' => '匽', + '' => '卼', + '' => '厗', + '' => '厖', + '' => '厙', + '' => '厘', + '' => '咺', + '' => '咡', + '' => '咭', + '' => '咥', + '' => '哏', + '@' => '哃', + 'A' => '茍', + 'B' => '咷', + 'C' => '咮', + 'D' => '哖', + 'E' => '咶', + 'F' => '哅', + 'G' => '哆', + 'H' => '咠', + 'I' => '呰', + 'J' => '咼', + 'K' => '咢', + 'L' => '咾', + 'M' => '呲', + 'N' => '哞', + 'O' => '咰', + 'P' => '垵', + 'Q' => '垞', + 'R' => '垟', + 'S' => '垤', + 'T' => '垌', + 'U' => '垗', + 'V' => '垝', + 'W' => '垛', + 'X' => '垔', + 'Y' => '垘', + 'Z' => '垏', + '[' => '垙', + '\\' => '垥', + ']' => '垚', + '^' => '垕', + '_' => '壴', + '`' => '复', + 'a' => '奓', + 'b' => '姡', + 'c' => '姞', + 'd' => '姮', + 'e' => '娀', + 'f' => '姱', + 'g' => '姝', + 'h' => '姺', + 'i' => '姽', + 'j' => '姼', + 'k' => '姶', + 'l' => '姤', + 'm' => '姲', + 'n' => '姷', + 'o' => '姛', + 'p' => '姩', + 'q' => '姳', + 'r' => '姵', + 's' => '姠', + 't' => '姾', + 'u' => '姴', + 'v' => '姭', + 'w' => '宨', + 'x' => '屌', + 'y' => '峐', + 'z' => '峘', + '{' => '峌', + '|' => '峗', + '}' => '峋', + '~' => '峛', + 'Ρ' => '峞', + '΢' => '峚', + 'Σ' => '峉', + 'Τ' => '峇', + 'Υ' => '峊', + 'Φ' => '峖', + 'Χ' => '峓', + 'Ψ' => '峔', + 'Ω' => '峏', + 'Ϊ' => '峈', + 'Ϋ' => '峆', + 'ά' => '峎', + 'έ' => '峟', + 'ή' => '峸', + 'ί' => '巹', + 'ΰ' => '帡', + 'α' => '帢', + 'β' => '帣', + 'γ' => '帠', + 'δ' => '帤', + 'ε' => '庰', + 'ζ' => '庤', + 'η' => '庢', + 'θ' => '庛', + 'ι' => '庣', + 'κ' => '庥', + 'λ' => '弇', + 'μ' => '弮', + 'ν' => '彖', + 'ξ' => '徆', + 'ο' => '怷', + '' => '怹', + '' => '恔', + '' => '恲', + '' => '恞', + '' => '恅', + '' => '恓', + '' => '恇', + '' => '恉', + '' => '恛', + '' => '恌', + '' => '恀', + '' => '恂', + '' => '恟', + '' => '怤', + '' => '恄', + '' => '恘', + '' => '恦', + '' => '恮', + '' => '扂', + '' => '扃', + '' => '拏', + '' => '挍', + '' => '挋', + '' => '拵', + '' => '挎', + '' => '挃', + '' => '拫', + '' => '拹', + '' => '挏', + '' => '挌', + '' => '拸', + '' => '拶', + '' => '挀', + '' => '挓', + '' => '挔', + '' => '拺', + '' => '挕', + '' => '拻', + '' => '拰', + '' => '敁', + '' => '敃', + '' => '斪', + '' => '斿', + '' => '昶', + '' => '昡', + '' => '昲', + '' => '昵', + '' => '昜', + '' => '昦', + '' => '昢', + '' => '昳', + '' => '昫', + '' => '昺', + '' => '昝', + '' => '昴', + '' => '昹', + '' => '昮', + '' => '朏', + '' => '朐', + '' => '柁', + '' => '柲', + '' => '柈', + '' => '枺', + '@' => '柜', + 'A' => '枻', + 'B' => '柸', + 'C' => '柘', + 'D' => '柀', + 'E' => '枷', + 'F' => '柅', + 'G' => '柫', + 'H' => '柤', + 'I' => '柟', + 'J' => '枵', + 'K' => '柍', + 'L' => '枳', + 'M' => '柷', + 'N' => '柶', + 'O' => '柮', + 'P' => '柣', + 'Q' => '柂', + 'R' => '枹', + 'S' => '柎', + 'T' => '柧', + 'U' => '柰', + 'V' => '枲', + 'W' => '柼', + 'X' => '柆', + 'Y' => '柭', + 'Z' => '柌', + '[' => '枮', + '\\' => '柦', + ']' => '柛', + '^' => '柺', + '_' => '柉', + '`' => '柊', + 'a' => '柃', + 'b' => '柪', + 'c' => '柋', + 'd' => '欨', + 'e' => '殂', + 'f' => '殄', + 'g' => '殶', + 'h' => '毖', + 'i' => '毘', + 'j' => '毠', + 'k' => '氠', + 'l' => '氡', + 'm' => '洨', + 'n' => '洴', + 'o' => '洭', + 'p' => '洟', + 'q' => '洼', + 'r' => '洿', + 's' => '洒', + 't' => '洊', + 'u' => '泚', + 'v' => '洳', + 'w' => '洄', + 'x' => '洙', + 'y' => '洺', + 'z' => '洚', + '{' => '洑', + '|' => '洀', + '}' => '洝', + '~' => '浂', + 'ϡ' => '洁', + 'Ϣ' => '洘', + 'ϣ' => '洷', + 'Ϥ' => '洃', + 'ϥ' => '洏', + 'Ϧ' => '浀', + 'ϧ' => '洇', + 'Ϩ' => '洠', + 'ϩ' => '洬', + 'Ϫ' => '洈', + 'ϫ' => '洢', + 'Ϭ' => '洉', + 'ϭ' => '洐', + 'Ϯ' => '炷', + 'ϯ' => '炟', + 'ϰ' => '炾', + 'ϱ' => '炱', + 'ϲ' => '炰', + 'ϳ' => '炡', + 'ϴ' => '炴', + 'ϵ' => '炵', + '϶' => '炩', + 'Ϸ' => '牁', + 'ϸ' => '牉', + 'Ϲ' => '牊', + 'Ϻ' => '牬', + 'ϻ' => '牰', + 'ϼ' => '牳', + 'Ͻ' => '牮', + 'Ͼ' => '狊', + 'Ͽ' => '狤', + '' => '狨', + '' => '狫', + '' => '狟', + '' => '狪', + '' => '狦', + '' => '狣', + '' => '玅', + '' => '珌', + '' => '珂', + '' => '珈', + '' => '珅', + '' => '玹', + '' => '玶', + '' => '玵', + '' => '玴', + '' => '珫', + '' => '玿', + '' => '珇', + '' => '玾', + '' => '珃', + '' => '珆', + '' => '玸', + '' => '珋', + '' => '瓬', + '' => '瓮', + '' => '甮', + '' => '畇', + '' => '畈', + '' => '疧', + '' => '疪', + '' => '癹', + '' => '盄', + '' => '眈', + '' => '眃', + '' => '眄', + '' => '眅', + '' => '眊', + '' => '盷', + '' => '盻', + '' => '盺', + '' => '矧', + '' => '矨', + '' => '砆', + '' => '砑', + '' => '砒', + '' => '砅', + '' => '砐', + '' => '砏', + '' => '砎', + '' => '砉', + '' => '砃', + '' => '砓', + '' => '祊', + '' => '祌', + '' => '祋', + '' => '祅', + '' => '祄', + '' => '秕', + '' => '种', + '' => '秏', + '' => '秖', + '' => '秎', + '' => '窀', + '@' => '穾', + 'A' => '竑', + 'B' => '笀', + 'C' => '笁', + 'D' => '籺', + 'E' => '籸', + 'F' => '籹', + 'G' => '籿', + 'H' => '粀', + 'I' => '粁', + 'J' => '紃', + 'K' => '紈', + 'L' => '紁', + 'M' => '罘', + 'N' => '羑', + 'O' => '羍', + 'P' => '羾', + 'Q' => '耇', + 'R' => '耎', + 'S' => '耏', + 'T' => '耔', + 'U' => '耷', + 'V' => '胘', + 'W' => '胇', + 'X' => '胠', + 'Y' => '胑', + 'Z' => '胈', + '[' => '胂', + '\\' => '胐', + ']' => '胅', + '^' => '胣', + '_' => '胙', + '`' => '胜', + 'a' => '胊', + 'b' => '胕', + 'c' => '胉', + 'd' => '胏', + 'e' => '胗', + 'f' => '胦', + 'g' => '胍', + 'h' => '臿', + 'i' => '舡', + 'j' => '芔', + 'k' => '苙', + 'l' => '苾', + 'm' => '苹', + 'n' => '茇', + 'o' => '苨', + 'p' => '茀', + 'q' => '苕', + 'r' => '茺', + 's' => '苫', + 't' => '苖', + 'u' => '苴', + 'v' => '苬', + 'w' => '苡', + 'x' => '苲', + 'y' => '苵', + 'z' => '茌', + '{' => '苻', + '|' => '苶', + '}' => '苰', + '~' => '苪', + 'С' => '苤', + 'Т' => '苠', + 'У' => '苺', + 'Ф' => '苳', + 'Х' => '苭', + 'Ц' => '虷', + 'Ч' => '虴', + 'Ш' => '虼', + 'Щ' => '虳', + 'Ъ' => '衁', + 'Ы' => '衎', + 'Ь' => '衧', + 'Э' => '衪', + 'Ю' => '衩', + 'Я' => '觓', + 'а' => '訄', + 'б' => '訇', + 'в' => '赲', + 'г' => '迣', + 'д' => '迡', + 'е' => '迮', + 'ж' => '迠', + 'з' => '郱', + 'и' => '邽', + 'й' => '邿', + 'к' => '郕', + 'л' => '郅', + 'м' => '邾', + 'н' => '郇', + 'о' => '郋', + 'п' => '郈', + '' => '釔', + '' => '釓', + '' => '陔', + '' => '陏', + '' => '陑', + '' => '陓', + '' => '陊', + '' => '陎', + '' => '倞', + '' => '倅', + '' => '倇', + '' => '倓', + '' => '倢', + '' => '倰', + '' => '倛', + '' => '俵', + '' => '俴', + '' => '倳', + '' => '倷', + '' => '倬', + '' => '俶', + '' => '俷', + '' => '倗', + '' => '倜', + '' => '倠', + '' => '倧', + '' => '倵', + '' => '倯', + '' => '倱', + '' => '倎', + '' => '党', + '' => '冔', + '' => '冓', + '' => '凊', + '' => '凄', + '' => '凅', + '' => '凈', + '' => '凎', + '' => '剡', + '' => '剚', + '' => '剒', + '' => '剞', + '' => '剟', + '' => '剕', + '' => '剢', + '' => '勍', + '' => '匎', + '' => '厞', + '' => '唦', + '' => '哢', + '' => '唗', + '' => '唒', + '' => '哧', + '' => '哳', + '' => '哤', + '' => '唚', + '' => '哿', + '' => '唄', + '' => '唈', + '' => '哫', + '' => '唑', + '' => '唅', + '' => '哱', + '@' => '唊', + 'A' => '哻', + 'B' => '哷', + 'C' => '哸', + 'D' => '哠', + 'E' => '唎', + 'F' => '唃', + 'G' => '唋', + 'H' => '圁', + 'I' => '圂', + 'J' => '埌', + 'K' => '堲', + 'L' => '埕', + 'M' => '埒', + 'N' => '垺', + 'O' => '埆', + 'P' => '垽', + 'Q' => '垼', + 'R' => '垸', + 'S' => '垶', + 'T' => '垿', + 'U' => '埇', + 'V' => '埐', + 'W' => '垹', + 'X' => '埁', + 'Y' => '夎', + 'Z' => '奊', + '[' => '娙', + '\\' => '娖', + ']' => '娭', + '^' => '娮', + '_' => '娕', + '`' => '娏', + 'a' => '娗', + 'b' => '娊', + 'c' => '娞', + 'd' => '娳', + 'e' => '孬', + 'f' => '宧', + 'g' => '宭', + 'h' => '宬', + 'i' => '尃', + 'j' => '屖', + 'k' => '屔', + 'l' => '峬', + 'm' => '峿', + 'n' => '峮', + 'o' => '峱', + 'p' => '峷', + 'q' => '崀', + 'r' => '峹', + 's' => '帩', + 't' => '帨', + 'u' => '庨', + 'v' => '庮', + 'w' => '庪', + 'x' => '庬', + 'y' => '弳', + 'z' => '弰', + '{' => '彧', + '|' => '恝', + '}' => '恚', + '~' => '恧', + 'ѡ' => '恁', + 'Ѣ' => '悢', + 'ѣ' => '悈', + 'Ѥ' => '悀', + 'ѥ' => '悒', + 'Ѧ' => '悁', + 'ѧ' => '悝', + 'Ѩ' => '悃', + 'ѩ' => '悕', + 'Ѫ' => '悛', + 'ѫ' => '悗', + 'Ѭ' => '悇', + 'ѭ' => '悜', + 'Ѯ' => '悎', + 'ѯ' => '戙', + 'Ѱ' => '扆', + 'ѱ' => '拲', + 'Ѳ' => '挐', + 'ѳ' => '捖', + 'Ѵ' => '挬', + 'ѵ' => '捄', + 'Ѷ' => '捅', + 'ѷ' => '挶', + 'Ѹ' => '捃', + 'ѹ' => '揤', + 'Ѻ' => '挹', + 'ѻ' => '捋', + 'Ѽ' => '捊', + 'ѽ' => '挼', + 'Ѿ' => '挩', + 'ѿ' => '捁', + '' => '挴', + '' => '捘', + '' => '捔', + '' => '捙', + '' => '挭', + '' => '捇', + '' => '挳', + '' => '捚', + '' => '捑', + '' => '挸', + '' => '捗', + '' => '捀', + '' => '捈', + '' => '敊', + '' => '敆', + '' => '旆', + '' => '旃', + '' => '旄', + '' => '旂', + '' => '晊', + '' => '晟', + '' => '晇', + '' => '晑', + '' => '朒', + '' => '朓', + '' => '栟', + '' => '栚', + '' => '桉', + '' => '栲', + '' => '栳', + '' => '栻', + '' => '桋', + '' => '桏', + '' => '栖', + '' => '栱', + '' => '栜', + '' => '栵', + '' => '栫', + '' => '栭', + '' => '栯', + '' => '桎', + '' => '桄', + '' => '栴', + '' => '栝', + '' => '栒', + '' => '栔', + '' => '栦', + '' => '栨', + '' => '栮', + '' => '桍', + '' => '栺', + '' => '栥', + '' => '栠', + '' => '欬', + '' => '欯', + '' => '欭', + '' => '欱', + '' => '欴', + '' => '歭', + '' => '肂', + '' => '殈', + '' => '毦', + '' => '毤', + '@' => '毨', + 'A' => '毣', + 'B' => '毢', + 'C' => '毧', + 'D' => '氥', + 'E' => '浺', + 'F' => '浣', + 'G' => '浤', + 'H' => '浶', + 'I' => '洍', + 'J' => '浡', + 'K' => '涒', + 'L' => '浘', + 'M' => '浢', + 'N' => '浭', + 'O' => '浯', + 'P' => '涑', + 'Q' => '涍', + 'R' => '淯', + 'S' => '浿', + 'T' => '涆', + 'U' => '浞', + 'V' => '浧', + 'W' => '浠', + 'X' => '涗', + 'Y' => '浰', + 'Z' => '浼', + '[' => '浟', + '\\' => '涂', + ']' => '涘', + '^' => '洯', + '_' => '浨', + '`' => '涋', + 'a' => '浾', + 'b' => '涀', + 'c' => '涄', + 'd' => '洖', + 'e' => '涃', + 'f' => '浻', + 'g' => '浽', + 'h' => '浵', + 'i' => '涐', + 'j' => '烜', + 'k' => '烓', + 'l' => '烑', + 'm' => '烝', + 'n' => '烋', + 'o' => '缹', + 'p' => '烢', + 'q' => '烗', + 'r' => '烒', + 's' => '烞', + 't' => '烠', + 'u' => '烔', + 'v' => '烍', + 'w' => '烅', + 'x' => '烆', + 'y' => '烇', + 'z' => '烚', + '{' => '烎', + '|' => '烡', + '}' => '牂', + '~' => '牸', + 'ҡ' => '牷', + 'Ң' => '牶', + 'ң' => '猀', + 'Ҥ' => '狺', + 'ҥ' => '狴', + 'Ҧ' => '狾', + 'ҧ' => '狶', + 'Ҩ' => '狳', + 'ҩ' => '狻', + 'Ҫ' => '猁', + 'ҫ' => '珓', + 'Ҭ' => '珙', + 'ҭ' => '珥', + 'Ү' => '珖', + 'ү' => '玼', + 'Ұ' => '珧', + 'ұ' => '珣', + 'Ҳ' => '珩', + 'ҳ' => '珜', + 'Ҵ' => '珒', + 'ҵ' => '珛', + 'Ҷ' => '珔', + 'ҷ' => '珝', + 'Ҹ' => '珚', + 'ҹ' => '珗', + 'Һ' => '珘', + 'һ' => '珨', + 'Ҽ' => '瓞', + 'ҽ' => '瓟', + 'Ҿ' => '瓴', + 'ҿ' => '瓵', + '' => '甡', + '' => '畛', + '' => '畟', + '' => '疰', + '' => '痁', + '' => '疻', + '' => '痄', + '' => '痀', + '' => '疿', + '' => '疶', + '' => '疺', + '' => '皊', + '' => '盉', + '' => '眝', + '' => '眛', + '' => '眐', + '' => '眓', + '' => '眒', + '' => '眣', + '' => '眑', + '' => '眕', + '' => '眙', + '' => '眚', + '' => '眢', + '' => '眧', + '' => '砣', + '' => '砬', + '' => '砢', + '' => '砵', + '' => '砯', + '' => '砨', + '' => '砮', + '' => '砫', + '' => '砡', + '' => '砩', + '' => '砳', + '' => '砪', + '' => '砱', + '' => '祔', + '' => '祛', + '' => '祏', + '' => '祜', + '' => '祓', + '' => '祒', + '' => '祑', + '' => '秫', + '' => '秬', + '' => '秠', + '' => '秮', + '' => '秭', + '' => '秪', + '' => '秜', + '' => '秞', + '' => '秝', + '' => '窆', + '' => '窉', + '' => '窅', + '' => '窋', + '' => '窌', + '' => '窊', + '' => '窇', + '' => '竘', + '' => '笐', + '@' => '笄', + 'A' => '笓', + 'B' => '笅', + 'C' => '笏', + 'D' => '笈', + 'E' => '笊', + 'F' => '笎', + 'G' => '笉', + 'H' => '笒', + 'I' => '粄', + 'J' => '粑', + 'K' => '粊', + 'L' => '粌', + 'M' => '粈', + 'N' => '粍', + 'O' => '粅', + 'P' => '紞', + 'Q' => '紝', + 'R' => '紑', + 'S' => '紎', + 'T' => '紘', + 'U' => '紖', + 'V' => '紓', + 'W' => '紟', + 'X' => '紒', + 'Y' => '紏', + 'Z' => '紌', + '[' => '罜', + '\\' => '罡', + ']' => '罞', + '^' => '罠', + '_' => '罝', + '`' => '罛', + 'a' => '羖', + 'b' => '羒', + 'c' => '翃', + 'd' => '翂', + 'e' => '翀', + 'f' => '耖', + 'g' => '耾', + 'h' => '耹', + 'i' => '胺', + 'j' => '胲', + 'k' => '胹', + 'l' => '胵', + 'm' => '脁', + 'n' => '胻', + 'o' => '脀', + 'p' => '舁', + 'q' => '舯', + 'r' => '舥', + 's' => '茳', + 't' => '茭', + 'u' => '荄', + 'v' => '茙', + 'w' => '荑', + 'x' => '茥', + 'y' => '荖', + 'z' => '茿', + '{' => '荁', + '|' => '茦', + '}' => '茜', + '~' => '茢', + 'ӡ' => '荂', + 'Ӣ' => '荎', + 'ӣ' => '茛', + 'Ӥ' => '茪', + 'ӥ' => '茈', + 'Ӧ' => '茼', + 'ӧ' => '荍', + 'Ө' => '茖', + 'ө' => '茤', + 'Ӫ' => '茠', + 'ӫ' => '茷', + 'Ӭ' => '茯', + 'ӭ' => '茩', + 'Ӯ' => '荇', + 'ӯ' => '荅', + 'Ӱ' => '荌', + 'ӱ' => '荓', + 'Ӳ' => '茞', + 'ӳ' => '茬', + 'Ӵ' => '荋', + 'ӵ' => '茧', + 'Ӷ' => '荈', + 'ӷ' => '虓', + 'Ӹ' => '虒', + 'ӹ' => '蚢', + 'Ӻ' => '蚨', + 'ӻ' => '蚖', + 'Ӽ' => '蚍', + 'ӽ' => '蚑', + 'Ӿ' => '蚞', + 'ӿ' => '蚇', + '' => '蚗', + '' => '蚆', + '' => '蚋', + '' => '蚚', + '' => '蚅', + '' => '蚥', + '' => '蚙', + '' => '蚡', + '' => '蚧', + '' => '蚕', + '' => '蚘', + '' => '蚎', + '' => '蚝', + '' => '蚐', + '' => '蚔', + '' => '衃', + '' => '衄', + '' => '衭', + '' => '衵', + '' => '衶', + '' => '衲', + '' => '袀', + '' => '衱', + '' => '衿', + '' => '衯', + '' => '袃', + '' => '衾', + '' => '衴', + '' => '衼', + '' => '訒', + '' => '豇', + '' => '豗', + '' => '豻', + '' => '貤', + '' => '貣', + '' => '赶', + '' => '赸', + '' => '趵', + '' => '趷', + '' => '趶', + '' => '軑', + '' => '軓', + '' => '迾', + '' => '迵', + '' => '适', + '' => '迿', + '' => '迻', + '' => '逄', + '' => '迼', + '' => '迶', + '' => '郖', + '' => '郠', + '' => '郙', + '' => '郚', + '' => '郣', + '' => '郟', + '' => '郥', + '' => '郘', + '' => '郛', + '' => '郗', + '' => '郜', + '' => '郤', + '' => '酐', + '@' => '酎', + 'A' => '酏', + 'B' => '釕', + 'C' => '釢', + 'D' => '釚', + 'E' => '陜', + 'F' => '陟', + 'G' => '隼', + 'H' => '飣', + 'I' => '髟', + 'J' => '鬯', + 'K' => '乿', + 'L' => '偰', + 'M' => '偪', + 'N' => '偡', + 'O' => '偞', + 'P' => '偠', + 'Q' => '偓', + 'R' => '偋', + 'S' => '偝', + 'T' => '偲', + 'U' => '偈', + 'V' => '偍', + 'W' => '偁', + 'X' => '偛', + 'Y' => '偊', + 'Z' => '偢', + '[' => '倕', + '\\' => '偅', + ']' => '偟', + '^' => '偩', + '_' => '偫', + '`' => '偣', + 'a' => '偤', + 'b' => '偆', + 'c' => '偀', + 'd' => '偮', + 'e' => '偳', + 'f' => '偗', + 'g' => '偑', + 'h' => '凐', + 'i' => '剫', + 'j' => '剭', + 'k' => '剬', + 'l' => '剮', + 'm' => '勖', + 'n' => '勓', + 'o' => '匭', + 'p' => '厜', + 'q' => '啵', + 'r' => '啶', + 's' => '唼', + 't' => '啍', + 'u' => '啐', + 'v' => '唴', + 'w' => '唪', + 'x' => '啑', + 'y' => '啢', + 'z' => '唶', + '{' => '唵', + '|' => '唰', + '}' => '啒', + '~' => '啅', + 'ԡ' => '唌', + 'Ԣ' => '唲', + 'ԣ' => '啥', + 'Ԥ' => '啎', + 'ԥ' => '唹', + 'Ԧ' => '啈', + 'ԧ' => '唭', + 'Ԩ' => '唻', + 'ԩ' => '啀', + 'Ԫ' => '啋', + 'ԫ' => '圊', + 'Ԭ' => '圇', + 'ԭ' => '埻', + 'Ԯ' => '堔', + 'ԯ' => '埢', + '԰' => '埶', + 'Ա' => '埜', + 'Բ' => '埴', + 'Գ' => '堀', + 'Դ' => '埭', + 'Ե' => '埽', + 'Զ' => '堈', + 'Է' => '埸', + 'Ը' => '堋', + 'Թ' => '埳', + 'Ժ' => '埏', + 'Ի' => '堇', + 'Լ' => '埮', + 'Խ' => '埣', + 'Ծ' => '埲', + 'Կ' => '埥', + '' => '埬', + '' => '埡', + '' => '堎', + '' => '埼', + '' => '堐', + '' => '埧', + '' => '堁', + '' => '堌', + '' => '埱', + '' => '埩', + '' => '埰', + '' => '堍', + '' => '堄', + '' => '奜', + '' => '婠', + '' => '婘', + '' => '婕', + '' => '婧', + '' => '婞', + '' => '娸', + '' => '娵', + '' => '婭', + '' => '婐', + '' => '婟', + '' => '婥', + '' => '婬', + '' => '婓', + '' => '婤', + '' => '婗', + '' => '婃', + '' => '婝', + '' => '婒', + '' => '婄', + '' => '婛', + '' => '婈', + '' => '媎', + '' => '娾', + '' => '婍', + '' => '娹', + '' => '婌', + '' => '婰', + '' => '婩', + '' => '婇', + '' => '婑', + '' => '婖', + '' => '婂', + '' => '婜', + '' => '孲', + '' => '孮', + '' => '寁', + '' => '寀', + '' => '屙', + '' => '崞', + '' => '崋', + '' => '崝', + '' => '崚', + '' => '崠', + '' => '崌', + '' => '崨', + '' => '崍', + '' => '崦', + '' => '崥', + '' => '崏', + '@' => '崰', + 'A' => '崒', + 'B' => '崣', + 'C' => '崟', + 'D' => '崮', + 'E' => '帾', + 'F' => '帴', + 'G' => '庱', + 'H' => '庴', + 'I' => '庹', + 'J' => '庲', + 'K' => '庳', + 'L' => '弶', + 'M' => '弸', + 'N' => '徛', + 'O' => '徖', + 'P' => '徟', + 'Q' => '悊', + 'R' => '悐', + 'S' => '悆', + 'T' => '悾', + 'U' => '悰', + 'V' => '悺', + 'W' => '惓', + 'X' => '惔', + 'Y' => '惏', + 'Z' => '惤', + '[' => '惙', + '\\' => '惝', + ']' => '惈', + '^' => '悱', + '_' => '惛', + '`' => '悷', + 'a' => '惊', + 'b' => '悿', + 'c' => '惃', + 'd' => '惍', + 'e' => '惀', + 'f' => '挲', + 'g' => '捥', + 'h' => '掊', + 'i' => '掂', + 'j' => '捽', + 'k' => '掽', + 'l' => '掞', + 'm' => '掭', + 'n' => '掝', + 'o' => '掗', + 'p' => '掫', + 'q' => '掎', + 'r' => '捯', + 's' => '掇', + 't' => '掐', + 'u' => '据', + 'v' => '掯', + 'w' => '捵', + 'x' => '掜', + 'y' => '捭', + 'z' => '掮', + '{' => '捼', + '|' => '掤', + '}' => '挻', + '~' => '掟', + 'ա' => '捸', + 'բ' => '掅', + 'գ' => '掁', + 'դ' => '掑', + 'ե' => '掍', + 'զ' => '捰', + 'է' => '敓', + 'ը' => '旍', + 'թ' => '晥', + 'ժ' => '晡', + 'ի' => '晛', + 'լ' => '晙', + 'խ' => '晜', + 'ծ' => '晢', + 'կ' => '朘', + 'հ' => '桹', + 'ձ' => '梇', + 'ղ' => '梐', + 'ճ' => '梜', + 'մ' => '桭', + 'յ' => '桮', + 'ն' => '梮', + 'շ' => '梫', + 'ո' => '楖', + 'չ' => '桯', + 'պ' => '梣', + 'ջ' => '梬', + 'ռ' => '梩', + 'ս' => '桵', + 'վ' => '桴', + 'տ' => '梲', + '' => '梏', + '' => '桷', + '' => '梒', + '' => '桼', + '' => '桫', + '' => '桲', + '' => '梪', + '' => '梀', + '' => '桱', + '' => '桾', + '' => '梛', + '' => '梖', + '' => '梋', + '' => '梠', + '' => '梉', + '' => '梤', + '' => '桸', + '' => '桻', + '' => '梑', + '' => '梌', + '' => '梊', + '' => '桽', + '' => '欶', + '' => '欳', + '' => '欷', + '' => '欸', + '' => '殑', + '' => '殏', + '' => '殍', + '' => '殎', + '' => '殌', + '' => '氪', + '' => '淀', + '' => '涫', + '' => '涴', + '' => '涳', + '' => '湴', + '' => '涬', + '' => '淩', + '' => '淢', + '' => '涷', + '' => '淶', + '' => '淔', + '' => '渀', + '' => '淈', + '' => '淠', + '' => '淟', + '' => '淖', + '' => '涾', + '' => '淥', + '' => '淜', + '' => '淝', + '' => '淛', + '' => '淴', + '' => '淊', + '' => '涽', + '' => '淭', + '' => '淰', + '' => '涺', + '' => '淕', + '' => '淂', + '' => '淏', + '' => '淉', + '@' => '淐', + 'A' => '淲', + 'B' => '淓', + 'C' => '淽', + 'D' => '淗', + 'E' => '淍', + 'F' => '淣', + 'G' => '涻', + 'H' => '烺', + 'I' => '焍', + 'J' => '烷', + 'K' => '焗', + 'L' => '烴', + 'M' => '焌', + 'N' => '烰', + 'O' => '焄', + 'P' => '烳', + 'Q' => '焐', + 'R' => '烼', + 'S' => '烿', + 'T' => '焆', + 'U' => '焓', + 'V' => '焀', + 'W' => '烸', + 'X' => '烶', + 'Y' => '焋', + 'Z' => '焂', + '[' => '焎', + '\\' => '牾', + ']' => '牻', + '^' => '牼', + '_' => '牿', + '`' => '猝', + 'a' => '猗', + 'b' => '猇', + 'c' => '猑', + 'd' => '猘', + 'e' => '猊', + 'f' => '猈', + 'g' => '狿', + 'h' => '猏', + 'i' => '猞', + 'j' => '玈', + 'k' => '珶', + 'l' => '珸', + 'm' => '珵', + 'n' => '琄', + 'o' => '琁', + 'p' => '珽', + 'q' => '琇', + 'r' => '琀', + 's' => '珺', + 't' => '珼', + 'u' => '珿', + 'v' => '琌', + 'w' => '琋', + 'x' => '珴', + 'y' => '琈', + 'z' => '畤', + '{' => '畣', + '|' => '痎', + '}' => '痒', + '~' => '痏', + '֡' => '痋', + '֢' => '痌', + '֣' => '痑', + '֤' => '痐', + '֥' => '皏', + '֦' => '皉', + '֧' => '盓', + '֨' => '眹', + '֩' => '眯', + '֪' => '眭', + '֫' => '眱', + '֬' => '眲', + '֭' => '眴', + '֮' => '眳', + '֯' => '眽', + 'ְ' => '眥', + 'ֱ' => '眻', + 'ֲ' => '眵', + 'ֳ' => '硈', + 'ִ' => '硒', + 'ֵ' => '硉', + 'ֶ' => '硍', + 'ַ' => '硊', + 'ָ' => '硌', + 'ֹ' => '砦', + 'ֺ' => '硅', + 'ֻ' => '硐', + 'ּ' => '祤', + 'ֽ' => '祧', + '־' => '祩', + 'ֿ' => '祪', + '' => '祣', + '' => '祫', + '' => '祡', + '' => '离', + '' => '秺', + '' => '秸', + '' => '秶', + '' => '秷', + '' => '窏', + '' => '窔', + '' => '窐', + '' => '笵', + '' => '筇', + '' => '笴', + '' => '笥', + '' => '笰', + '' => '笢', + '' => '笤', + '' => '笳', + '' => '笘', + '' => '笪', + '' => '笝', + '' => '笱', + '' => '笫', + '' => '笭', + '' => '笯', + '' => '笲', + '' => '笸', + '' => '笚', + '' => '笣', + '' => '粔', + '' => '粘', + '' => '粖', + '' => '粣', + '' => '紵', + '' => '紽', + '' => '紸', + '' => '紶', + '' => '紺', + '' => '絅', + '' => '紬', + '' => '紩', + '' => '絁', + '' => '絇', + '' => '紾', + '' => '紿', + '' => '絊', + '' => '紻', + '' => '紨', + '' => '罣', + '' => '羕', + '' => '羜', + '' => '羝', + '' => '羛', + '' => '翊', + '' => '翋', + '' => '翍', + '' => '翐', + '' => '翑', + '' => '翇', + '' => '翏', + '' => '翉', + '' => '耟', + '@' => '耞', + 'A' => '耛', + 'B' => '聇', + 'C' => '聃', + 'D' => '聈', + 'E' => '脘', + 'F' => '脥', + 'G' => '脙', + 'H' => '脛', + 'I' => '脭', + 'J' => '脟', + 'K' => '脬', + 'L' => '脞', + 'M' => '脡', + 'N' => '脕', + 'O' => '脧', + 'P' => '脝', + 'Q' => '脢', + 'R' => '舑', + 'S' => '舸', + 'T' => '舳', + 'U' => '舺', + 'V' => '舴', + 'W' => '舲', + 'X' => '艴', + 'Y' => '莐', + 'Z' => '莣', + '[' => '莨', + '\\' => '莍', + ']' => '荺', + '^' => '荳', + '_' => '莤', + '`' => '荴', + 'a' => '莏', + 'b' => '莁', + 'c' => '莕', + 'd' => '莙', + 'e' => '荵', + 'f' => '莔', + 'g' => '莩', + 'h' => '荽', + 'i' => '莃', + 'j' => '莌', + 'k' => '莝', + 'l' => '莛', + 'm' => '莪', + 'n' => '莋', + 'o' => '荾', + 'p' => '莥', + 'q' => '莯', + 'r' => '莈', + 's' => '莗', + 't' => '莰', + 'u' => '荿', + 'v' => '莦', + 'w' => '莇', + 'x' => '莮', + 'y' => '荶', + 'z' => '莚', + '{' => '虙', + '|' => '虖', + '}' => '蚿', + '~' => '蚷', + 'ס' => '蛂', + 'ע' => '蛁', + 'ף' => '蛅', + 'פ' => '蚺', + 'ץ' => '蚰', + 'צ' => '蛈', + 'ק' => '蚹', + 'ר' => '蚳', + 'ש' => '蚸', + 'ת' => '蛌', + '׫' => '蚴', + '׬' => '蚻', + '׭' => '蚼', + '׮' => '蛃', + 'ׯ' => '蚽', + 'װ' => '蚾', + 'ױ' => '衒', + 'ײ' => '袉', + '׳' => '袕', + '״' => '袨', + '׵' => '袢', + '׶' => '袪', + '׷' => '袚', + '׸' => '袑', + '׹' => '袡', + '׺' => '袟', + '׻' => '袘', + '׼' => '袧', + '׽' => '袙', + '׾' => '袛', + '׿' => '袗', + '' => '袤', + '' => '袬', + '' => '袌', + '' => '袓', + '' => '袎', + '' => '覂', + '' => '觖', + '' => '觙', + '' => '觕', + '' => '訰', + '' => '訧', + '' => '訬', + '' => '訞', + '' => '谹', + '' => '谻', + '' => '豜', + '' => '豝', + '' => '豽', + '' => '貥', + '' => '赽', + '' => '赻', + '' => '赹', + '' => '趼', + '' => '跂', + '' => '趹', + '' => '趿', + '' => '跁', + '' => '軘', + '' => '軞', + '' => '軝', + '' => '軜', + '' => '軗', + '' => '軠', + '' => '軡', + '' => '逤', + '' => '逋', + '' => '逑', + '' => '逜', + '' => '逌', + '' => '逡', + '' => '郯', + '' => '郪', + '' => '郰', + '' => '郴', + '' => '郲', + '' => '郳', + '' => '郔', + '' => '郫', + '' => '郬', + '' => '郩', + '' => '酖', + '' => '酘', + '' => '酚', + '' => '酓', + '' => '酕', + '' => '釬', + '' => '釴', + '' => '釱', + '' => '釳', + '' => '釸', + '' => '釤', + '' => '釹', + '' => '釪', + '@' => '釫', + 'A' => '釷', + 'B' => '釨', + 'C' => '釮', + 'D' => '镺', + 'E' => '閆', + 'F' => '閈', + 'G' => '陼', + 'H' => '陭', + 'I' => '陫', + 'J' => '陱', + 'K' => '陯', + 'L' => '隿', + 'M' => '靪', + 'N' => '頄', + 'O' => '飥', + 'P' => '馗', + 'Q' => '傛', + 'R' => '傕', + 'S' => '傔', + 'T' => '傞', + 'U' => '傋', + 'V' => '傣', + 'W' => '傃', + 'X' => '傌', + 'Y' => '傎', + 'Z' => '傝', + '[' => '偨', + '\\' => '傜', + ']' => '傒', + '^' => '傂', + '_' => '傇', + '`' => '兟', + 'a' => '凔', + 'b' => '匒', + 'c' => '匑', + 'd' => '厤', + 'e' => '厧', + 'f' => '喑', + 'g' => '喨', + 'h' => '喥', + 'i' => '喭', + 'j' => '啷', + 'k' => '噅', + 'l' => '喢', + 'm' => '喓', + 'n' => '喈', + 'o' => '喏', + 'p' => '喵', + 'q' => '喁', + 'r' => '喣', + 's' => '喒', + 't' => '喤', + 'u' => '啽', + 'v' => '喌', + 'w' => '喦', + 'x' => '啿', + 'y' => '喕', + 'z' => '喡', + '{' => '喎', + '|' => '圌', + '}' => '堩', + '~' => '堷', + 'ء' => '堙', + 'آ' => '堞', + 'أ' => '堧', + 'ؤ' => '堣', + 'إ' => '堨', + 'ئ' => '埵', + 'ا' => '塈', + 'ب' => '堥', + 'ة' => '堜', + 'ت' => '堛', + 'ث' => '堳', + 'ج' => '堿', + 'ح' => '堶', + 'خ' => '堮', + 'د' => '堹', + 'ذ' => '堸', + 'ر' => '堭', + 'ز' => '堬', + 'س' => '堻', + 'ش' => '奡', + 'ص' => '媯', + 'ض' => '媔', + 'ط' => '媟', + 'ظ' => '婺', + 'ع' => '媢', + 'غ' => '媞', + 'ػ' => '婸', + 'ؼ' => '媦', + 'ؽ' => '婼', + 'ؾ' => '媥', + 'ؿ' => '媬', + '' => '媕', + '' => '媮', + '' => '娷', + '' => '媄', + '' => '媊', + '' => '媗', + '' => '媃', + '' => '媋', + '' => '媩', + '' => '婻', + '' => '婽', + '' => '媌', + '' => '媜', + '' => '媏', + '' => '媓', + '' => '媝', + '' => '寪', + '' => '寍', + '' => '寋', + '' => '寔', + '' => '寑', + '' => '寊', + '' => '寎', + '' => '尌', + '' => '尰', + '' => '崷', + '' => '嵃', + '' => '嵫', + '' => '嵁', + '' => '嵋', + '' => '崿', + '' => '崵', + '' => '嵑', + '' => '嵎', + '' => '嵕', + '' => '崳', + '' => '崺', + '' => '嵒', + '' => '崽', + '' => '崱', + '' => '嵙', + '' => '嵂', + '' => '崹', + '' => '嵉', + '' => '崸', + '' => '崼', + '' => '崲', + '' => '崶', + '' => '嵀', + '' => '嵅', + '' => '幄', + '' => '幁', + '' => '彘', + '' => '徦', + '' => '徥', + '' => '徫', + '' => '惉', + '' => '悹', + '' => '惌', + '' => '惢', + '' => '惎', + '' => '惄', + '' => '愔', + '@' => '惲', + 'A' => '愊', + 'B' => '愖', + 'C' => '愅', + 'D' => '惵', + 'E' => '愓', + 'F' => '惸', + 'G' => '惼', + 'H' => '惾', + 'I' => '惁', + 'J' => '愃', + 'K' => '愘', + 'L' => '愝', + 'M' => '愐', + 'N' => '惿', + 'O' => '愄', + 'P' => '愋', + 'Q' => '扊', + 'R' => '掔', + 'S' => '掱', + 'T' => '掰', + 'U' => '揎', + 'V' => '揥', + 'W' => '揨', + 'X' => '揯', + 'Y' => '揃', + 'Z' => '撝', + '[' => '揳', + '\\' => '揊', + ']' => '揠', + '^' => '揶', + '_' => '揕', + '`' => '揲', + 'a' => '揵', + 'b' => '摡', + 'c' => '揟', + 'd' => '掾', + 'e' => '揝', + 'f' => '揜', + 'g' => '揄', + 'h' => '揘', + 'i' => '揓', + 'j' => '揂', + 'k' => '揇', + 'l' => '揌', + 'm' => '揋', + 'n' => '揈', + 'o' => '揰', + 'p' => '揗', + 'q' => '揙', + 'r' => '攲', + 's' => '敧', + 't' => '敪', + 'u' => '敤', + 'v' => '敜', + 'w' => '敨', + 'x' => '敥', + 'y' => '斌', + 'z' => '斝', + '{' => '斞', + '|' => '斮', + '}' => '旐', + '~' => '旒', + '١' => '晼', + '٢' => '晬', + '٣' => '晻', + '٤' => '暀', + '٥' => '晱', + '٦' => '晹', + '٧' => '晪', + '٨' => '晲', + '٩' => '朁', + '٪' => '椌', + '٫' => '棓', + '٬' => '椄', + '٭' => '棜', + 'ٮ' => '椪', + 'ٯ' => '棬', + 'ٰ' => '棪', + 'ٱ' => '棱', + 'ٲ' => '椏', + 'ٳ' => '棖', + 'ٴ' => '棷', + 'ٵ' => '棫', + 'ٶ' => '棤', + 'ٷ' => '棶', + 'ٸ' => '椓', + 'ٹ' => '椐', + 'ٺ' => '棳', + 'ٻ' => '棡', + 'ټ' => '椇', + 'ٽ' => '棌', + 'پ' => '椈', + 'ٿ' => '楰', + '' => '梴', + '' => '椑', + '' => '棯', + '' => '棆', + '' => '椔', + '' => '棸', + '' => '棐', + '' => '棽', + '' => '棼', + '' => '棨', + '' => '椋', + '' => '椊', + '' => '椗', + '' => '棎', + '' => '棈', + '' => '棝', + '' => '棞', + '' => '棦', + '' => '棴', + '' => '棑', + '' => '椆', + '' => '棔', + '' => '棩', + '' => '椕', + '' => '椥', + '' => '棇', + '' => '欹', + '' => '欻', + '' => '欿', + '' => '欼', + '' => '殔', + '' => '殗', + '' => '殙', + '' => '殕', + '' => '殽', + '' => '毰', + '' => '毲', + '' => '毳', + '' => '氰', + '' => '淼', + '' => '湆', + '' => '湇', + '' => '渟', + '' => '湉', + '' => '溈', + '' => '渼', + '' => '渽', + '' => '湅', + '' => '湢', + '' => '渫', + '' => '渿', + '' => '湁', + '' => '湝', + '' => '湳', + '' => '渜', + '' => '渳', + '' => '湋', + '' => '湀', + '' => '湑', + '' => '渻', + '' => '渃', + '' => '渮', + '' => '湞', + '@' => '湨', + 'A' => '湜', + 'B' => '湡', + 'C' => '渱', + 'D' => '渨', + 'E' => '湠', + 'F' => '湱', + 'G' => '湫', + 'H' => '渹', + 'I' => '渢', + 'J' => '渰', + 'K' => '湓', + 'L' => '湥', + 'M' => '渧', + 'N' => '湸', + 'O' => '湤', + 'P' => '湷', + 'Q' => '湕', + 'R' => '湹', + 'S' => '湒', + 'T' => '湦', + 'U' => '渵', + 'V' => '渶', + 'W' => '湚', + 'X' => '焠', + 'Y' => '焞', + 'Z' => '焯', + '[' => '烻', + '\\' => '焮', + ']' => '焱', + '^' => '焣', + '_' => '焥', + '`' => '焢', + 'a' => '焲', + 'b' => '焟', + 'c' => '焨', + 'd' => '焺', + 'e' => '焛', + 'f' => '牋', + 'g' => '牚', + 'h' => '犈', + 'i' => '犉', + 'j' => '犆', + 'k' => '犅', + 'l' => '犋', + 'm' => '猒', + 'n' => '猋', + 'o' => '猰', + 'p' => '猢', + 'q' => '猱', + 'r' => '猳', + 's' => '猧', + 't' => '猲', + 'u' => '猭', + 'v' => '猦', + 'w' => '猣', + 'x' => '猵', + 'y' => '猌', + 'z' => '琮', + '{' => '琬', + '|' => '琰', + '}' => '琫', + '~' => '琖', + 'ڡ' => '琚', + 'ڢ' => '琡', + 'ڣ' => '琭', + 'ڤ' => '琱', + 'ڥ' => '琤', + 'ڦ' => '琣', + 'ڧ' => '琝', + 'ڨ' => '琩', + 'ک' => '琠', + 'ڪ' => '琲', + 'ګ' => '瓻', + 'ڬ' => '甯', + 'ڭ' => '畯', + 'ڮ' => '畬', + 'گ' => '痧', + 'ڰ' => '痚', + 'ڱ' => '痡', + 'ڲ' => '痦', + 'ڳ' => '痝', + 'ڴ' => '痟', + 'ڵ' => '痤', + 'ڶ' => '痗', + 'ڷ' => '皕', + 'ڸ' => '皒', + 'ڹ' => '盚', + 'ں' => '睆', + 'ڻ' => '睇', + 'ڼ' => '睄', + 'ڽ' => '睍', + 'ھ' => '睅', + 'ڿ' => '睊', + '' => '睎', + '' => '睋', + '' => '睌', + '' => '矞', + '' => '矬', + '' => '硠', + '' => '硤', + '' => '硥', + '' => '硜', + '' => '硭', + '' => '硱', + '' => '硪', + '' => '确', + '' => '硰', + '' => '硩', + '' => '硨', + '' => '硞', + '' => '硢', + '' => '祴', + '' => '祳', + '' => '祲', + '' => '祰', + '' => '稂', + '' => '稊', + '' => '稃', + '' => '稌', + '' => '稄', + '' => '窙', + '' => '竦', + '' => '竤', + '' => '筊', + '' => '笻', + '' => '筄', + '' => '筈', + '' => '筌', + '' => '筎', + '' => '筀', + '' => '筘', + '' => '筅', + '' => '粢', + '' => '粞', + '' => '粨', + '' => '粡', + '' => '絘', + '' => '絯', + '' => '絣', + '' => '絓', + '' => '絖', + '' => '絧', + '' => '絪', + '' => '絏', + '' => '絭', + '' => '絜', + '' => '絫', + '' => '絒', + '' => '絔', + '' => '絩', + '' => '絑', + '' => '絟', + '' => '絎', + '' => '缾', + '' => '缿', + '' => '罥', + '@' => '罦', + 'A' => '羢', + 'B' => '羠', + 'C' => '羡', + 'D' => '翗', + 'E' => '聑', + 'F' => '聏', + 'G' => '聐', + 'H' => '胾', + 'I' => '胔', + 'J' => '腃', + 'K' => '腊', + 'L' => '腒', + 'M' => '腏', + 'N' => '腇', + 'O' => '脽', + 'P' => '腍', + 'Q' => '脺', + 'R' => '臦', + 'S' => '臮', + 'T' => '臷', + 'U' => '臸', + 'V' => '臹', + 'W' => '舄', + 'X' => '舼', + 'Y' => '舽', + 'Z' => '舿', + '[' => '艵', + '\\' => '茻', + ']' => '菏', + '^' => '菹', + '_' => '萣', + '`' => '菀', + 'a' => '菨', + 'b' => '萒', + 'c' => '菧', + 'd' => '菤', + 'e' => '菼', + 'f' => '菶', + 'g' => '萐', + 'h' => '菆', + 'i' => '菈', + 'j' => '菫', + 'k' => '菣', + 'l' => '莿', + 'm' => '萁', + 'n' => '菝', + 'o' => '菥', + 'p' => '菘', + 'q' => '菿', + 'r' => '菡', + 's' => '菋', + 't' => '菎', + 'u' => '菖', + 'v' => '菵', + 'w' => '菉', + 'x' => '萉', + 'y' => '萏', + 'z' => '菞', + '{' => '萑', + '|' => '萆', + '}' => '菂', + '~' => '菳', + 'ۡ' => '菕', + 'ۢ' => '菺', + 'ۣ' => '菇', + 'ۤ' => '菑', + 'ۥ' => '菪', + 'ۦ' => '萓', + 'ۧ' => '菃', + 'ۨ' => '菬', + '۩' => '菮', + '۪' => '菄', + '۫' => '菻', + '۬' => '菗', + 'ۭ' => '菢', + 'ۮ' => '萛', + 'ۯ' => '菛', + '۰' => '菾', + '۱' => '蛘', + '۲' => '蛢', + '۳' => '蛦', + '۴' => '蛓', + '۵' => '蛣', + '۶' => '蛚', + '۷' => '蛪', + '۸' => '蛝', + '۹' => '蛫', + 'ۺ' => '蛜', + 'ۻ' => '蛬', + 'ۼ' => '蛩', + '۽' => '蛗', + '۾' => '蛨', + 'ۿ' => '蛑', + '' => '衈', + '' => '衖', + '' => '衕', + '' => '袺', + '' => '裗', + '' => '袹', + '' => '袸', + '' => '裀', + '' => '袾', + '' => '袶', + '' => '袼', + '' => '袷', + '' => '袽', + '' => '袲', + '' => '褁', + '' => '裉', + '' => '覕', + '' => '覘', + '' => '覗', + '' => '觝', + '' => '觚', + '' => '觛', + '' => '詎', + '' => '詍', + '' => '訹', + '' => '詙', + '' => '詀', + '' => '詗', + '' => '詘', + '' => '詄', + '' => '詅', + '' => '詒', + '' => '詈', + '' => '詑', + '' => '詊', + '' => '詌', + '' => '詏', + '' => '豟', + '' => '貁', + '' => '貀', + '' => '貺', + '' => '貾', + '' => '貰', + '' => '貹', + '' => '貵', + '' => '趄', + '' => '趀', + '' => '趉', + '' => '跘', + '' => '跓', + '' => '跍', + '' => '跇', + '' => '跖', + '' => '跜', + '' => '跏', + '' => '跕', + '' => '跙', + '' => '跈', + '' => '跗', + '' => '跅', + '' => '軯', + '' => '軷', + '' => '軺', + '@' => '軹', + 'A' => '軦', + 'B' => '軮', + 'C' => '軥', + 'D' => '軵', + 'E' => '軧', + 'F' => '軨', + 'G' => '軶', + 'H' => '軫', + 'I' => '軱', + 'J' => '軬', + 'K' => '軴', + 'L' => '軩', + 'M' => '逭', + 'N' => '逴', + 'O' => '逯', + 'P' => '鄆', + 'Q' => '鄬', + 'R' => '鄄', + 'S' => '郿', + 'T' => '郼', + 'U' => '鄈', + 'V' => '郹', + 'W' => '郻', + 'X' => '鄁', + 'Y' => '鄀', + 'Z' => '鄇', + '[' => '鄅', + '\\' => '鄃', + ']' => '酡', + '^' => '酤', + '_' => '酟', + '`' => '酢', + 'a' => '酠', + 'b' => '鈁', + 'c' => '鈊', + 'd' => '鈥', + 'e' => '鈃', + 'f' => '鈚', + 'g' => '鈦', + 'h' => '鈏', + 'i' => '鈌', + 'j' => '鈀', + 'k' => '鈒', + 'l' => '釿', + 'm' => '釽', + 'n' => '鈆', + 'o' => '鈄', + 'p' => '鈧', + 'q' => '鈂', + 'r' => '鈜', + 's' => '鈤', + 't' => '鈙', + 'u' => '鈗', + 'v' => '鈅', + 'w' => '鈖', + 'x' => '镻', + 'y' => '閍', + 'z' => '閌', + '{' => '閐', + '|' => '隇', + '}' => '陾', + '~' => '隈', + 'ܡ' => '隉', + 'ܢ' => '隃', + 'ܣ' => '隀', + 'ܤ' => '雂', + 'ܥ' => '雈', + 'ܦ' => '雃', + 'ܧ' => '雱', + 'ܨ' => '雰', + 'ܩ' => '靬', + 'ܪ' => '靰', + 'ܫ' => '靮', + 'ܬ' => '頇', + 'ܭ' => '颩', + 'ܮ' => '飫', + 'ܯ' => '鳦', + 'ܰ' => '黹', + 'ܱ' => '亃', + 'ܲ' => '亄', + 'ܳ' => '亶', + 'ܴ' => '傽', + 'ܵ' => '傿', + 'ܶ' => '僆', + 'ܷ' => '傮', + 'ܸ' => '僄', + 'ܹ' => '僊', + 'ܺ' => '傴', + 'ܻ' => '僈', + 'ܼ' => '僂', + 'ܽ' => '傰', + 'ܾ' => '僁', + 'ܿ' => '傺', + '' => '傱', + '' => '僋', + '' => '僉', + '' => '傶', + '' => '傸', + '' => '凗', + '' => '剺', + '' => '剸', + '' => '剻', + '' => '剼', + '' => '嗃', + '' => '嗛', + '' => '嗌', + '' => '嗐', + '' => '嗋', + '' => '嗊', + '' => '嗝', + '' => '嗀', + '' => '嗔', + '' => '嗄', + '' => '嗩', + '' => '喿', + '' => '嗒', + '' => '喍', + '' => '嗏', + '' => '嗕', + '' => '嗢', + '' => '嗖', + '' => '嗈', + '' => '嗲', + '' => '嗍', + '' => '嗙', + '' => '嗂', + '' => '圔', + '' => '塓', + '' => '塨', + '' => '塤', + '' => '塏', + '' => '塍', + '' => '塉', + '' => '塯', + '' => '塕', + '' => '塎', + '' => '塝', + '' => '塙', + '' => '塥', + '' => '塛', + '' => '堽', + '' => '塣', + '' => '塱', + '' => '壼', + '' => '嫇', + '' => '嫄', + '' => '嫋', + '' => '媺', + '' => '媸', + '' => '媱', + '' => '媵', + '' => '媰', + '' => '媿', + '' => '嫈', + '' => '媻', + '' => '嫆', + '@' => '媷', + 'A' => '嫀', + 'B' => '嫊', + 'C' => '媴', + 'D' => '媶', + 'E' => '嫍', + 'F' => '媹', + 'G' => '媐', + 'H' => '寖', + 'I' => '寘', + 'J' => '寙', + 'K' => '尟', + 'L' => '尳', + 'M' => '嵱', + 'N' => '嵣', + 'O' => '嵊', + 'P' => '嵥', + 'Q' => '嵲', + 'R' => '嵬', + 'S' => '嵞', + 'T' => '嵨', + 'U' => '嵧', + 'V' => '嵢', + 'W' => '巰', + 'X' => '幏', + 'Y' => '幎', + 'Z' => '幊', + '[' => '幍', + '\\' => '幋', + ']' => '廅', + '^' => '廌', + '_' => '廆', + '`' => '廋', + 'a' => '廇', + 'b' => '彀', + 'c' => '徯', + 'd' => '徭', + 'e' => '惷', + 'f' => '慉', + 'g' => '慊', + 'h' => '愫', + 'i' => '慅', + 'j' => '愶', + 'k' => '愲', + 'l' => '愮', + 'm' => '慆', + 'n' => '愯', + 'o' => '慏', + 'p' => '愩', + 'q' => '慀', + 'r' => '戠', + 's' => '酨', + 't' => '戣', + 'u' => '戥', + 'v' => '戤', + 'w' => '揅', + 'x' => '揱', + 'y' => '揫', + 'z' => '搐', + '{' => '搒', + '|' => '搉', + '}' => '搠', + '~' => '搤', + 'ݡ' => '搳', + 'ݢ' => '摃', + 'ݣ' => '搟', + 'ݤ' => '搕', + 'ݥ' => '搘', + 'ݦ' => '搹', + 'ݧ' => '搷', + 'ݨ' => '搢', + 'ݩ' => '搣', + 'ݪ' => '搌', + 'ݫ' => '搦', + 'ݬ' => '搰', + 'ݭ' => '搨', + 'ݮ' => '摁', + 'ݯ' => '搵', + 'ݰ' => '搯', + 'ݱ' => '搊', + 'ݲ' => '搚', + 'ݳ' => '摀', + 'ݴ' => '搥', + 'ݵ' => '搧', + 'ݶ' => '搋', + 'ݷ' => '揧', + 'ݸ' => '搛', + 'ݹ' => '搮', + 'ݺ' => '搡', + 'ݻ' => '搎', + 'ݼ' => '敯', + 'ݽ' => '斒', + 'ݾ' => '旓', + 'ݿ' => '暆', + '' => '暌', + '' => '暕', + '' => '暐', + '' => '暋', + '' => '暊', + '' => '暙', + '' => '暔', + '' => '晸', + '' => '朠', + '' => '楦', + '' => '楟', + '' => '椸', + '' => '楎', + '' => '楢', + '' => '楱', + '' => '椿', + '' => '楅', + '' => '楪', + '' => '椹', + '' => '楂', + '' => '楗', + '' => '楙', + '' => '楺', + '' => '楈', + '' => '楉', + '' => '椵', + '' => '楬', + '' => '椳', + '' => '椽', + '' => '楥', + '' => '棰', + '' => '楸', + '' => '椴', + '' => '楩', + '' => '楀', + '' => '楯', + '' => '楄', + '' => '楶', + '' => '楘', + '' => '楁', + '' => '楴', + '' => '楌', + '' => '椻', + '' => '楋', + '' => '椷', + '' => '楜', + '' => '楏', + '' => '楑', + '' => '椲', + '' => '楒', + '' => '椯', + '' => '楻', + '' => '椼', + '' => '歆', + '' => '歅', + '' => '歃', + '' => '歂', + '' => '歈', + '' => '歁', + '' => '殛', + '' => '嗀', + '' => '毻', + '' => '毼', + '@' => '毹', + 'A' => '毷', + 'B' => '毸', + 'C' => '溛', + 'D' => '滖', + 'E' => '滈', + 'F' => '溏', + 'G' => '滀', + 'H' => '溟', + 'I' => '溓', + 'J' => '溔', + 'K' => '溠', + 'L' => '溱', + 'M' => '溹', + 'N' => '滆', + 'O' => '滒', + 'P' => '溽', + 'Q' => '滁', + 'R' => '溞', + 'S' => '滉', + 'T' => '溷', + 'U' => '溰', + 'V' => '滍', + 'W' => '溦', + 'X' => '滏', + 'Y' => '溲', + 'Z' => '溾', + '[' => '滃', + '\\' => '滜', + ']' => '滘', + '^' => '溙', + '_' => '溒', + '`' => '溎', + 'a' => '溍', + 'b' => '溤', + 'c' => '溡', + 'd' => '溿', + 'e' => '溳', + 'f' => '滐', + 'g' => '滊', + 'h' => '溗', + 'i' => '溮', + 'j' => '溣', + 'k' => '煇', + 'l' => '煔', + 'm' => '煒', + 'n' => '煣', + 'o' => '煠', + 'p' => '煁', + 'q' => '煝', + 'r' => '煢', + 's' => '煲', + 't' => '煸', + 'u' => '煪', + 'v' => '煡', + 'w' => '煂', + 'x' => '煘', + 'y' => '煃', + 'z' => '煋', + '{' => '煰', + '|' => '煟', + '}' => '煐', + '~' => '煓', + 'ޡ' => '煄', + 'ޢ' => '煍', + 'ޣ' => '煚', + 'ޤ' => '牏', + 'ޥ' => '犍', + 'ަ' => '犌', + 'ާ' => '犑', + 'ި' => '犐', + 'ީ' => '犎', + 'ު' => '猼', + 'ޫ' => '獂', + 'ެ' => '猻', + 'ޭ' => '猺', + 'ޮ' => '獀', + 'ޯ' => '獊', + 'ް' => '獉', + 'ޱ' => '瑄', + '޲' => '瑊', + '޳' => '瑋', + '޴' => '瑒', + '޵' => '瑑', + '޶' => '瑗', + '޷' => '瑀', + '޸' => '瑏', + '޹' => '瑐', + '޺' => '瑎', + '޻' => '瑂', + '޼' => '瑆', + '޽' => '瑍', + '޾' => '瑔', + '޿' => '瓡', + '' => '瓿', + '' => '瓾', + '' => '瓽', + '' => '甝', + '' => '畹', + '' => '畷', + '' => '榃', + '' => '痯', + '' => '瘏', + '' => '瘃', + '' => '痷', + '' => '痾', + '' => '痼', + '' => '痹', + '' => '痸', + '' => '瘐', + '' => '痻', + '' => '痶', + '' => '痭', + '' => '痵', + '' => '痽', + '' => '皙', + '' => '皵', + '' => '盝', + '' => '睕', + '' => '睟', + '' => '睠', + '' => '睒', + '' => '睖', + '' => '睚', + '' => '睩', + '' => '睧', + '' => '睔', + '' => '睙', + '' => '睭', + '' => '矠', + '' => '碇', + '' => '碚', + '' => '碔', + '' => '碏', + '' => '碄', + '' => '碕', + '' => '碅', + '' => '碆', + '' => '碡', + '' => '碃', + '' => '硹', + '' => '碙', + '' => '碀', + '' => '碖', + '' => '硻', + '' => '祼', + '' => '禂', + '' => '祽', + '' => '祹', + '' => '稑', + '' => '稘', + '' => '稙', + '' => '稒', + '' => '稗', + '' => '稕', + '' => '稢', + '' => '稓', + '@' => '稛', + 'A' => '稐', + 'B' => '窣', + 'C' => '窢', + 'D' => '窞', + 'E' => '竫', + 'F' => '筦', + 'G' => '筤', + 'H' => '筭', + 'I' => '筴', + 'J' => '筩', + 'K' => '筲', + 'L' => '筥', + 'M' => '筳', + 'N' => '筱', + 'O' => '筰', + 'P' => '筡', + 'Q' => '筸', + 'R' => '筶', + 'S' => '筣', + 'T' => '粲', + 'U' => '粴', + 'V' => '粯', + 'W' => '綈', + 'X' => '綆', + 'Y' => '綀', + 'Z' => '綍', + '[' => '絿', + '\\' => '綅', + ']' => '絺', + '^' => '綎', + '_' => '絻', + '`' => '綃', + 'a' => '絼', + 'b' => '綌', + 'c' => '綔', + 'd' => '綄', + 'e' => '絽', + 'f' => '綒', + 'g' => '罭', + 'h' => '罫', + 'i' => '罧', + 'j' => '罨', + 'k' => '罬', + 'l' => '羦', + 'm' => '羥', + 'n' => '羧', + 'o' => '翛', + 'p' => '翜', + 'q' => '耡', + 'r' => '腤', + 's' => '腠', + 't' => '腷', + 'u' => '腜', + 'v' => '腩', + 'w' => '腛', + 'x' => '腢', + 'y' => '腲', + 'z' => '朡', + '{' => '腞', + '|' => '腶', + '}' => '腧', + '~' => '腯', + 'ߡ' => '腄', + 'ߢ' => '腡', + 'ߣ' => '舝', + 'ߤ' => '艉', + 'ߥ' => '艄', + 'ߦ' => '艀', + 'ߧ' => '艂', + 'ߨ' => '艅', + 'ߩ' => '蓱', + 'ߪ' => '萿', + '߫' => '葖', + '߬' => '葶', + '߭' => '葹', + '߮' => '蒏', + '߯' => '蒍', + '߰' => '葥', + '߱' => '葑', + '߲' => '葀', + '߳' => '蒆', + 'ߴ' => '葧', + 'ߵ' => '萰', + '߶' => '葍', + '߷' => '葽', + '߸' => '葚', + '߹' => '葙', + 'ߺ' => '葴', + '߻' => '葳', + '߼' => '葝', + '߽' => '蔇', + '߾' => '葞', + '߿' => '萷', + '' => '萺', + '' => '萴', + '' => '葺', + '' => '葃', + '' => '葸', + '' => '萲', + '' => '葅', + '' => '萩', + '' => '菙', + '' => '葋', + '' => '萯', + '' => '葂', + '' => '萭', + '' => '葟', + '' => '葰', + '' => '萹', + '' => '葎', + '' => '葌', + '' => '葒', + '' => '葯', + '' => '蓅', + '' => '蒎', + '' => '萻', + '' => '葇', + '' => '萶', + '' => '萳', + '' => '葨', + '' => '葾', + '' => '葄', + '' => '萫', + '' => '葠', + '' => '葔', + '' => '葮', + '' => '葐', + '' => '蜋', + '' => '蜄', + '' => '蛷', + '' => '蜌', + '' => '蛺', + '' => '蛖', + '' => '蛵', + '' => '蝍', + '' => '蛸', + '' => '蜎', + '' => '蜉', + '' => '蜁', + '' => '蛶', + '' => '蜍', + '' => '蜅', + '' => '裖', + '' => '裋', + '' => '裍', + '' => '裎', + '' => '裞', + '' => '裛', + '' => '裚', + '' => '裌', + '' => '裐', + '' => '覅', + '' => '覛', + '' => '觟', + '' => '觥', + '' => '觤', + '@' => '觡', + 'A' => '觠', + 'B' => '觢', + 'C' => '觜', + 'D' => '触', + 'E' => '詶', + 'F' => '誆', + 'G' => '詿', + 'H' => '詡', + 'I' => '訿', + 'J' => '詷', + 'K' => '誂', + 'L' => '誄', + 'M' => '詵', + 'N' => '誃', + 'O' => '誁', + 'P' => '詴', + 'Q' => '詺', + 'R' => '谼', + 'S' => '豋', + 'T' => '豊', + 'U' => '豥', + 'V' => '豤', + 'W' => '豦', + 'X' => '貆', + 'Y' => '貄', + 'Z' => '貅', + '[' => '賌', + '\\' => '赨', + ']' => '赩', + '^' => '趑', + '_' => '趌', + '`' => '趎', + 'a' => '趏', + 'b' => '趍', + 'c' => '趓', + 'd' => '趔', + 'e' => '趐', + 'f' => '趒', + 'g' => '跰', + 'h' => '跠', + 'i' => '跬', + 'j' => '跱', + 'k' => '跮', + 'l' => '跐', + 'm' => '跩', + 'n' => '跣', + 'o' => '跢', + 'p' => '跧', + 'q' => '跲', + 'r' => '跫', + 's' => '跴', + 't' => '輆', + 'u' => '軿', + 'v' => '輁', + 'w' => '輀', + 'x' => '輅', + 'y' => '輇', + 'z' => '輈', + '{' => '輂', + '|' => '輋', + '}' => '遒', + '~' => '逿', + '' => '遄', + '' => '遉', + '' => '逽', + '' => '鄐', + '' => '鄍', + '' => '鄏', + '' => '鄑', + '' => '鄖', + '' => '鄔', + '' => '鄋', + '' => '鄎', + '' => '酮', + '' => '酯', + '' => '鉈', + '' => '鉒', + '' => '鈰', + '' => '鈺', + '' => '鉦', + '' => '鈳', + '' => '鉥', + '' => '鉞', + '' => '銃', + '' => '鈮', + '' => '鉊', + '' => '鉆', + '' => '鉭', + '' => '鉬', + '' => '鉏', + '' => '鉠', + '' => '鉧', + '' => '鉯', + '' => '鈶', + '' => '鉡', + '' => '鉰', + '' => '鈱', + '' => '鉔', + '' => '鉣', + '' => '鉐', + '' => '鉲', + '' => '鉎', + '' => '鉓', + '' => '鉌', + '' => '鉖', + '' => '鈲', + '' => '閟', + '' => '閜', + '' => '閞', + '' => '閛', + '' => '隒', + '' => '隓', + '' => '隑', + '' => '隗', + '' => '雎', + '' => '雺', + '' => '雽', + '' => '雸', + '' => '雵', + '' => '靳', + '' => '靷', + '' => '靸', + '' => '靲', + '' => '頏', + '' => '頍', + '' => '頎', + '' => '颬', + '' => '飶', + '' => '飹', + '' => '馯', + '' => '馲', + '' => '馰', + '' => '馵', + '' => '骭', + '' => '骫', + '' => '魛', + '' => '鳪', + '' => '鳭', + '' => '鳧', + '' => '麀', + '' => '黽', + '' => '僦', + '' => '僔', + '' => '僗', + '' => '僨', + '' => '僳', + '' => '僛', + '' => '僪', + '' => '僝', + '' => '僤', + '' => '僓', + '' => '僬', + '' => '僰', + '' => '僯', + '' => '僣', + '' => '僠', + '@' => '凘', + 'A' => '劀', + 'B' => '劁', + 'C' => '勩', + 'D' => '勫', + 'E' => '匰', + 'F' => '厬', + 'G' => '嘧', + 'H' => '嘕', + 'I' => '嘌', + 'J' => '嘒', + 'K' => '嗼', + 'L' => '嘏', + 'M' => '嘜', + 'N' => '嘁', + 'O' => '嘓', + 'P' => '嘂', + 'Q' => '嗺', + 'R' => '嘝', + 'S' => '嘄', + 'T' => '嗿', + 'U' => '嗹', + 'V' => '墉', + 'W' => '塼', + 'X' => '墐', + 'Y' => '墘', + 'Z' => '墆', + '[' => '墁', + '\\' => '塿', + ']' => '塴', + '^' => '墋', + '_' => '塺', + '`' => '墇', + 'a' => '墑', + 'b' => '墎', + 'c' => '塶', + 'd' => '墂', + 'e' => '墈', + 'f' => '塻', + 'g' => '墔', + 'h' => '墏', + 'i' => '壾', + 'j' => '奫', + 'k' => '嫜', + 'l' => '嫮', + 'm' => '嫥', + 'n' => '嫕', + 'o' => '嫪', + 'p' => '嫚', + 'q' => '嫭', + 'r' => '嫫', + 's' => '嫳', + 't' => '嫢', + 'u' => '嫠', + 'v' => '嫛', + 'w' => '嫬', + 'x' => '嫞', + 'y' => '嫝', + 'z' => '嫙', + '{' => '嫨', + '|' => '嫟', + '}' => '孷', + '~' => '寠', + '' => '寣', + '' => '屣', + '' => '嶂', + '' => '嶀', + '' => '嵽', + '' => '嶆', + '' => '嵺', + '' => '嶁', + '' => '嵷', + '' => '嶊', + '' => '嶉', + '' => '嶈', + '' => '嵾', + '' => '嵼', + '' => '嶍', + '' => '嵹', + '' => '嵿', + '' => '幘', + '' => '幙', + '' => '幓', + '' => '廘', + '' => '廑', + '' => '廗', + '' => '廎', + '' => '廜', + '' => '廕', + '' => '廙', + '' => '廒', + '' => '廔', + '' => '彄', + '' => '彃', + '' => '彯', + '' => '徶', + '' => '愬', + '' => '愨', + '' => '慁', + '' => '慞', + '' => '慱', + '' => '慳', + '' => '慒', + '' => '慓', + '' => '慲', + '' => '慬', + '' => '憀', + '' => '慴', + '' => '慔', + '' => '慺', + '' => '慛', + '' => '慥', + '' => '愻', + '' => '慪', + '' => '慡', + '' => '慖', + '' => '戩', + '' => '戧', + '' => '戫', + '' => '搫', + '' => '摍', + '' => '摛', + '' => '摝', + '' => '摴', + '' => '摶', + '' => '摲', + '' => '摳', + '' => '摽', + '' => '摵', + '' => '摦', + '' => '撦', + '' => '摎', + '' => '撂', + '' => '摞', + '' => '摜', + '' => '摋', + '' => '摓', + '' => '摠', + '' => '摐', + '' => '摿', + '' => '搿', + '' => '摬', + '' => '摫', + '' => '摙', + '' => '摥', + '' => '摷', + '' => '敳', + '' => '斠', + '' => '暡', + '' => '暠', + '' => '暟', + '' => '朅', + '' => '朄', + '' => '朢', + '' => '榱', + '' => '榶', + '' => '槉', + '@' => '榠', + 'A' => '槎', + 'B' => '榖', + 'C' => '榰', + 'D' => '榬', + 'E' => '榼', + 'F' => '榑', + 'G' => '榙', + 'H' => '榎', + 'I' => '榧', + 'J' => '榍', + 'K' => '榩', + 'L' => '榾', + 'M' => '榯', + 'N' => '榿', + 'O' => '槄', + 'P' => '榽', + 'Q' => '榤', + 'R' => '槔', + 'S' => '榹', + 'T' => '槊', + 'U' => '榚', + 'V' => '槏', + 'W' => '榳', + 'X' => '榓', + 'Y' => '榪', + 'Z' => '榡', + '[' => '榞', + '\\' => '槙', + ']' => '榗', + '^' => '榐', + '_' => '槂', + '`' => '榵', + 'a' => '榥', + 'b' => '槆', + 'c' => '歊', + 'd' => '歍', + 'e' => '歋', + 'f' => '殞', + 'g' => '殟', + 'h' => '殠', + 'i' => '毃', + 'j' => '毄', + 'k' => '毾', + 'l' => '滎', + 'm' => '滵', + 'n' => '滱', + 'o' => '漃', + 'p' => '漥', + 'q' => '滸', + 'r' => '漷', + 's' => '滻', + 't' => '漮', + 'u' => '漉', + 'v' => '潎', + 'w' => '漙', + 'x' => '漚', + 'y' => '漧', + 'z' => '漘', + '{' => '漻', + '|' => '漒', + '}' => '滭', + '~' => '漊', + '' => '漶', + '' => '潳', + '' => '滹', + '' => '滮', + '' => '漭', + '' => '潀', + '' => '漰', + '' => '漼', + '' => '漵', + '' => '滫', + '' => '漇', + '' => '漎', + '' => '潃', + '' => '漅', + '' => '滽', + '' => '滶', + '' => '漹', + '' => '漜', + '' => '滼', + '' => '漺', + '' => '漟', + '' => '漍', + '' => '漞', + '' => '漈', + '' => '漡', + '' => '熇', + '' => '熐', + '' => '熉', + '' => '熀', + '' => '熅', + '' => '熂', + '' => '熏', + '' => '煻', + '' => '熆', + '' => '熁', + '' => '熗', + '' => '牄', + '' => '牓', + '' => '犗', + '' => '犕', + '' => '犓', + '' => '獃', + '' => '獍', + '' => '獑', + '' => '獌', + '' => '瑢', + '' => '瑳', + '' => '瑱', + '' => '瑵', + '' => '瑲', + '' => '瑧', + '' => '瑮', + '' => '甀', + '' => '甂', + '' => '甃', + '' => '畽', + '' => '疐', + '' => '瘖', + '' => '瘈', + '' => '瘌', + '' => '瘕', + '' => '瘑', + '' => '瘊', + '' => '瘔', + '' => '皸', + '' => '瞁', + '' => '睼', + '' => '瞅', + '' => '瞂', + '' => '睮', + '' => '瞀', + '' => '睯', + '' => '睾', + '' => '瞃', + '' => '碲', + '' => '碪', + '' => '碴', + '' => '碭', + '' => '碨', + '' => '硾', + '' => '碫', + '' => '碞', + '' => '碥', + '' => '碠', + '' => '碬', + '' => '碢', + '' => '碤', + '' => '禘', + '' => '禊', + '' => '禋', + '' => '禖', + '' => '禕', + '' => '禔', + '' => '禓', + '@' => '禗', + 'A' => '禈', + 'B' => '禒', + 'C' => '禐', + 'D' => '稫', + 'E' => '穊', + 'F' => '稰', + 'G' => '稯', + 'H' => '稨', + 'I' => '稦', + 'J' => '窨', + 'K' => '窫', + 'L' => '窬', + 'M' => '竮', + 'N' => '箈', + 'O' => '箜', + 'P' => '箊', + 'Q' => '箑', + 'R' => '箐', + 'S' => '箖', + 'T' => '箍', + 'U' => '箌', + 'V' => '箛', + 'W' => '箎', + 'X' => '箅', + 'Y' => '箘', + 'Z' => '劄', + '[' => '箙', + '\\' => '箤', + ']' => '箂', + '^' => '粻', + '_' => '粿', + '`' => '粼', + 'a' => '粺', + 'b' => '綧', + 'c' => '綷', + 'd' => '緂', + 'e' => '綣', + 'f' => '綪', + 'g' => '緁', + 'h' => '緀', + 'i' => '緅', + 'j' => '綝', + 'k' => '緎', + 'l' => '緄', + 'm' => '緆', + 'n' => '緋', + 'o' => '緌', + 'p' => '綯', + 'q' => '綹', + 'r' => '綖', + 's' => '綼', + 't' => '綟', + 'u' => '綦', + 'v' => '綮', + 'w' => '綩', + 'x' => '綡', + 'y' => '緉', + 'z' => '罳', + '{' => '翢', + '|' => '翣', + '}' => '翥', + '~' => '翞', + '' => '耤', + '' => '聝', + '' => '聜', + '' => '膉', + '' => '膆', + '' => '膃', + '' => '膇', + '' => '膍', + '' => '膌', + '' => '膋', + '' => '舕', + '' => '蒗', + '' => '蒤', + '' => '蒡', + '' => '蒟', + '' => '蒺', + '' => '蓎', + '' => '蓂', + '' => '蒬', + '' => '蒮', + '' => '蒫', + '' => '蒹', + '' => '蒴', + '' => '蓁', + '' => '蓍', + '' => '蒪', + '' => '蒚', + '' => '蒱', + '' => '蓐', + '' => '蒝', + '' => '蒧', + '' => '蒻', + '' => '蒢', + '' => '蒔', + '' => '蓇', + '' => '蓌', + '' => '蒛', + '' => '蒩', + '' => '蒯', + '' => '蒨', + '' => '蓖', + '' => '蒘', + '' => '蒶', + '' => '蓏', + '' => '蒠', + '' => '蓗', + '' => '蓔', + '' => '蓒', + '' => '蓛', + '' => '蒰', + '' => '蒑', + '' => '虡', + '' => '蜳', + '' => '蜣', + '' => '蜨', + '' => '蝫', + '' => '蝀', + '' => '蜮', + '' => '蜞', + '' => '蜡', + '' => '蜙', + '' => '蜛', + '' => '蝃', + '' => '蜬', + '' => '蝁', + '' => '蜾', + '' => '蝆', + '' => '蜠', + '' => '蜲', + '' => '蜪', + '' => '蜭', + '' => '蜼', + '' => '蜒', + '' => '蜺', + '' => '蜱', + '' => '蜵', + '' => '蝂', + '' => '蜦', + '' => '蜧', + '' => '蜸', + '' => '蜤', + '' => '蜚', + '' => '蜰', + '' => '蜑', + '' => '裷', + '' => '裧', + '' => '裱', + '' => '裲', + '' => '裺', + '' => '裾', + '' => '裮', + '' => '裼', + '' => '裶', + '' => '裻', + '@' => '裰', + 'A' => '裬', + 'B' => '裫', + 'C' => '覝', + 'D' => '覡', + 'E' => '覟', + 'F' => '覞', + 'G' => '觩', + 'H' => '觫', + 'I' => '觨', + 'J' => '誫', + 'K' => '誙', + 'L' => '誋', + 'M' => '誒', + 'N' => '誏', + 'O' => '誖', + 'P' => '谽', + 'Q' => '豨', + 'R' => '豩', + 'S' => '賕', + 'T' => '賏', + 'U' => '賗', + 'V' => '趖', + 'W' => '踉', + 'X' => '踂', + 'Y' => '跿', + 'Z' => '踍', + '[' => '跽', + '\\' => '踊', + ']' => '踃', + '^' => '踇', + '_' => '踆', + '`' => '踅', + 'a' => '跾', + 'b' => '踀', + 'c' => '踄', + 'd' => '輐', + 'e' => '輑', + 'f' => '輎', + 'g' => '輍', + 'h' => '鄣', + 'i' => '鄜', + 'j' => '鄠', + 'k' => '鄢', + 'l' => '鄟', + 'm' => '鄝', + 'n' => '鄚', + 'o' => '鄤', + 'p' => '鄡', + 'q' => '鄛', + 'r' => '酺', + 's' => '酲', + 't' => '酹', + 'u' => '酳', + 'v' => '銥', + 'w' => '銤', + 'x' => '鉶', + 'y' => '銛', + 'z' => '鉺', + '{' => '銠', + '|' => '銔', + '}' => '銪', + '~' => '銍', + '' => '銦', + '' => '銚', + '' => '銫', + '' => '鉹', + '' => '銗', + '' => '鉿', + '' => '銣', + '' => '鋮', + '' => '銎', + '' => '銂', + '' => '銕', + '' => '銢', + '' => '鉽', + '' => '銈', + '' => '銡', + '' => '銊', + '' => '銆', + '' => '銌', + '' => '銙', + '' => '銧', + '' => '鉾', + '' => '銇', + '' => '銩', + '' => '銝', + '' => '銋', + '' => '鈭', + '' => '隞', + '' => '隡', + '' => '雿', + '' => '靘', + '' => '靽', + '' => '靺', + '' => '靾', + '' => '鞃', + '' => '鞀', + '' => '鞂', + '' => '靻', + '' => '鞄', + '' => '鞁', + '' => '靿', + '' => '韎', + '' => '韍', + '' => '頖', + '' => '颭', + '' => '颮', + '' => '餂', + '' => '餀', + '' => '餇', + '' => '馝', + '' => '馜', + '' => '駃', + '' => '馹', + '' => '馻', + '' => '馺', + '' => '駂', + '' => '馽', + '' => '駇', + '' => '骱', + '' => '髣', + '' => '髧', + '' => '鬾', + '' => '鬿', + '' => '魠', + '' => '魡', + '' => '魟', + '' => '鳱', + '' => '鳲', + '' => '鳵', + '' => '麧', + '' => '僿', + '' => '儃', + '' => '儰', + '' => '僸', + '' => '儆', + '' => '儇', + '' => '僶', + '' => '僾', + '' => '儋', + '' => '儌', + '' => '僽', + '' => '儊', + '' => '劋', + '' => '劌', + '' => '勱', + '' => '勯', + '' => '噈', + '' => '噂', + '' => '噌', + '' => '嘵', + '' => '噁', + '' => '噊', + '' => '噉', + '' => '噆', + '' => '噘', + '@' => '噚', + 'A' => '噀', + 'B' => '嘳', + 'C' => '嘽', + 'D' => '嘬', + 'E' => '嘾', + 'F' => '嘸', + 'G' => '嘪', + 'H' => '嘺', + 'I' => '圚', + 'J' => '墫', + 'K' => '墝', + 'L' => '墱', + 'M' => '墠', + 'N' => '墣', + 'O' => '墯', + 'P' => '墬', + 'Q' => '墥', + 'R' => '墡', + 'S' => '壿', + 'T' => '嫿', + 'U' => '嫴', + 'V' => '嫽', + 'W' => '嫷', + 'X' => '嫶', + 'Y' => '嬃', + 'Z' => '嫸', + '[' => '嬂', + '\\' => '嫹', + ']' => '嬁', + '^' => '嬇', + '_' => '嬅', + '`' => '嬏', + 'a' => '屧', + 'b' => '嶙', + 'c' => '嶗', + 'd' => '嶟', + 'e' => '嶒', + 'f' => '嶢', + 'g' => '嶓', + 'h' => '嶕', + 'i' => '嶠', + 'j' => '嶜', + 'k' => '嶡', + 'l' => '嶚', + 'm' => '嶞', + 'n' => '幩', + 'o' => '幝', + 'p' => '幠', + 'q' => '幜', + 'r' => '緳', + 's' => '廛', + 't' => '廞', + 'u' => '廡', + 'v' => '彉', + 'w' => '徲', + 'x' => '憋', + 'y' => '憃', + 'z' => '慹', + '{' => '憱', + '|' => '憰', + '}' => '憢', + '~' => '憉', + '' => '憛', + '' => '憓', + '' => '憯', + '' => '憭', + '' => '憟', + '' => '憒', + '' => '憪', + '' => '憡', + '' => '憍', + '' => '慦', + '' => '憳', + '' => '戭', + '' => '摮', + '' => '摰', + '' => '撖', + '' => '撠', + '' => '撅', + '' => '撗', + '' => '撜', + '' => '撏', + '' => '撋', + '' => '撊', + '' => '撌', + '' => '撣', + '' => '撟', + '' => '摨', + '' => '撱', + '' => '撘', + '' => '敶', + '' => '敺', + '' => '敹', + '' => '敻', + '' => '斲', + '' => '斳', + '' => '暵', + '' => '暰', + '' => '暩', + '' => '暲', + '' => '暷', + '' => '暪', + '' => '暯', + '' => '樀', + '' => '樆', + '' => '樗', + '' => '槥', + '' => '槸', + '' => '樕', + '' => '槱', + '' => '槤', + '' => '樠', + '' => '槿', + '' => '槬', + '' => '槢', + '' => '樛', + '' => '樝', + '' => '槾', + '' => '樧', + '' => '槲', + '' => '槮', + '' => '樔', + '' => '槷', + '' => '槧', + '' => '橀', + '' => '樈', + '' => '槦', + '' => '槻', + '' => '樍', + '' => '槼', + '' => '槫', + '' => '樉', + '' => '樄', + '' => '樘', + '' => '樥', + '' => '樏', + '' => '槶', + '' => '樦', + '' => '樇', + '' => '槴', + '' => '樖', + '' => '歑', + '' => '殥', + '' => '殣', + '' => '殢', + '' => '殦', + '' => '氁', + '' => '氀', + '' => '毿', + '' => '氂', + '' => '潁', + '' => '漦', + '' => '潾', + '' => '澇', + '' => '濆', + '' => '澒', + '@' => '澍', + 'A' => '澉', + 'B' => '澌', + 'C' => '潢', + 'D' => '潏', + 'E' => '澅', + 'F' => '潚', + 'G' => '澖', + 'H' => '潶', + 'I' => '潬', + 'J' => '澂', + 'K' => '潕', + 'L' => '潲', + 'M' => '潒', + 'N' => '潐', + 'O' => '潗', + 'P' => '澔', + 'Q' => '澓', + 'R' => '潝', + 'S' => '漀', + 'T' => '潡', + 'U' => '潫', + 'V' => '潽', + 'W' => '潧', + 'X' => '澐', + 'Y' => '潓', + 'Z' => '澋', + '[' => '潩', + '\\' => '潿', + ']' => '澕', + '^' => '潣', + '_' => '潷', + '`' => '潪', + 'a' => '潻', + 'b' => '熲', + 'c' => '熯', + 'd' => '熛', + 'e' => '熰', + 'f' => '熠', + 'g' => '熚', + 'h' => '熩', + 'i' => '熵', + 'j' => '熝', + 'k' => '熥', + 'l' => '熞', + 'm' => '熤', + 'n' => '熡', + 'o' => '熪', + 'p' => '熜', + 'q' => '熧', + 'r' => '熳', + 's' => '犘', + 't' => '犚', + 'u' => '獘', + 'v' => '獒', + 'w' => '獞', + 'x' => '獟', + 'y' => '獠', + 'z' => '獝', + '{' => '獛', + '|' => '獡', + '}' => '獚', + '~' => '獙', + '' => '獢', + '' => '璇', + '' => '璉', + '' => '璊', + '' => '璆', + '' => '璁', + '' => '瑽', + '' => '璅', + '' => '璈', + '' => '瑼', + '' => '瑹', + '' => '甈', + '' => '甇', + '' => '畾', + '' => '瘥', + '' => '瘞', + '' => '瘙', + '' => '瘝', + '' => '瘜', + '' => '瘣', + '' => '瘚', + '' => '瘨', + '' => '瘛', + '' => '皜', + '' => '皝', + '' => '皞', + '' => '皛', + '' => '瞍', + '' => '瞏', + '' => '瞉', + '' => '瞈', + '' => '磍', + '' => '碻', + '' => '磏', + '' => '磌', + '' => '磑', + '' => '磎', + '' => '磔', + '' => '磈', + '' => '磃', + '' => '磄', + '' => '磉', + '' => '禚', + '' => '禡', + '' => '禠', + '' => '禜', + '' => '禢', + '' => '禛', + '' => '歶', + '' => '稹', + '' => '窲', + '' => '窴', + '' => '窳', + '' => '箷', + '' => '篋', + '' => '箾', + '' => '箬', + '' => '篎', + '' => '箯', + '' => '箹', + '' => '篊', + '' => '箵', + '' => '糅', + '' => '糈', + '' => '糌', + '' => '糋', + '' => '緷', + '' => '緛', + '' => '緪', + '' => '緧', + '' => '緗', + '' => '緡', + '' => '縃', + '' => '緺', + '' => '緦', + '' => '緶', + '' => '緱', + '' => '緰', + '' => '緮', + '' => '緟', + '' => '罶', + '' => '羬', + '' => '羰', + '' => '羭', + '' => '翭', + '' => '翫', + '' => '翪', + '' => '翬', + '' => '翦', + '' => '翨', + '' => '聤', + '' => '聧', + '' => '膣', + '' => '膟', + '@' => '膞', + 'A' => '膕', + 'B' => '膢', + 'C' => '膙', + 'D' => '膗', + 'E' => '舖', + 'F' => '艏', + 'G' => '艓', + 'H' => '艒', + 'I' => '艐', + 'J' => '艎', + 'K' => '艑', + 'L' => '蔤', + 'M' => '蔻', + 'N' => '蔏', + 'O' => '蔀', + 'P' => '蔩', + 'Q' => '蔎', + 'R' => '蔉', + 'S' => '蔍', + 'T' => '蔟', + 'U' => '蔊', + 'V' => '蔧', + 'W' => '蔜', + 'X' => '蓻', + 'Y' => '蔫', + 'Z' => '蓺', + '[' => '蔈', + '\\' => '蔌', + ']' => '蓴', + '^' => '蔪', + '_' => '蓲', + '`' => '蔕', + 'a' => '蓷', + 'b' => '蓫', + 'c' => '蓳', + 'd' => '蓼', + 'e' => '蔒', + 'f' => '蓪', + 'g' => '蓩', + 'h' => '蔖', + 'i' => '蓾', + 'j' => '蔨', + 'k' => '蔝', + 'l' => '蔮', + 'm' => '蔂', + 'n' => '蓽', + 'o' => '蔞', + 'p' => '蓶', + 'q' => '蔱', + 'r' => '蔦', + 's' => '蓧', + 't' => '蓨', + 'u' => '蓰', + 'v' => '蓯', + 'w' => '蓹', + 'x' => '蔘', + 'y' => '蔠', + 'z' => '蔰', + '{' => '蔋', + '|' => '蔙', + '}' => '蔯', + '~' => '虢', + '' => '蝖', + '' => '蝣', + '' => '蝤', + '' => '蝷', + '' => '蟡', + '' => '蝳', + '' => '蝘', + '' => '蝔', + '' => '蝛', + '' => '蝒', + '' => '蝡', + '' => '蝚', + '' => '蝑', + '' => '蝞', + '' => '蝭', + '' => '蝪', + '' => '蝐', + '' => '蝎', + '' => '蝟', + '' => '蝝', + '' => '蝯', + '' => '蝬', + '' => '蝺', + '' => '蝮', + '' => '蝜', + '' => '蝥', + '' => '蝏', + '' => '蝻', + '' => '蝵', + '' => '蝢', + '' => '蝧', + '' => '蝩', + '' => '衚', + '' => '褅', + '' => '褌', + '' => '褔', + '' => '褋', + '' => '褗', + '' => '褘', + '' => '褙', + '' => '褆', + '' => '褖', + '' => '褑', + '' => '褎', + '' => '褉', + '' => '覢', + '' => '覤', + '' => '覣', + '' => '觭', + '' => '觰', + '' => '觬', + '' => '諏', + '' => '諆', + '' => '誸', + '' => '諓', + '' => '諑', + '' => '諔', + '' => '諕', + '' => '誻', + '' => '諗', + '' => '誾', + '' => '諀', + '' => '諅', + '' => '諘', + '' => '諃', + '' => '誺', + '' => '誽', + '' => '諙', + '' => '谾', + '' => '豍', + '' => '貏', + '' => '賥', + '' => '賟', + '' => '賙', + '' => '賨', + '' => '賚', + '' => '賝', + '' => '賧', + '' => '趠', + '' => '趜', + '' => '趡', + '' => '趛', + '' => '踠', + '' => '踣', + '' => '踥', + '' => '踤', + '' => '踮', + '' => '踕', + '' => '踛', + '' => '踖', + '' => '踑', + '' => '踙', + '' => '踦', + '' => '踧', + '@' => '踔', + 'A' => '踒', + 'B' => '踘', + 'C' => '踓', + 'D' => '踜', + 'E' => '踗', + 'F' => '踚', + 'G' => '輬', + 'H' => '輤', + 'I' => '輘', + 'J' => '輚', + 'K' => '輠', + 'L' => '輣', + 'M' => '輖', + 'N' => '輗', + 'O' => '遳', + 'P' => '遰', + 'Q' => '遯', + 'R' => '遧', + 'S' => '遫', + 'T' => '鄯', + 'U' => '鄫', + 'V' => '鄩', + 'W' => '鄪', + 'X' => '鄲', + 'Y' => '鄦', + 'Z' => '鄮', + '[' => '醅', + '\\' => '醆', + ']' => '醊', + '^' => '醁', + '_' => '醂', + '`' => '醄', + 'a' => '醀', + 'b' => '鋐', + 'c' => '鋃', + 'd' => '鋄', + 'e' => '鋀', + 'f' => '鋙', + 'g' => '銶', + 'h' => '鋏', + 'i' => '鋱', + 'j' => '鋟', + 'k' => '鋘', + 'l' => '鋩', + 'm' => '鋗', + 'n' => '鋝', + 'o' => '鋌', + 'p' => '鋯', + 'q' => '鋂', + 'r' => '鋨', + 's' => '鋊', + 't' => '鋈', + 'u' => '鋎', + 'v' => '鋦', + 'w' => '鋍', + 'x' => '鋕', + 'y' => '鋉', + 'z' => '鋠', + '{' => '鋞', + '|' => '鋧', + '}' => '鋑', + '~' => '鋓', + '' => '銵', + '' => '鋡', + '' => '鋆', + '' => '銴', + '' => '镼', + '' => '閬', + '' => '閫', + '' => '閮', + '' => '閰', + '' => '隤', + '' => '隢', + '' => '雓', + '' => '霅', + '' => '霈', + '' => '霂', + '' => '靚', + '' => '鞊', + '' => '鞎', + '' => '鞈', + '' => '韐', + '' => '韏', + '' => '頞', + '' => '頝', + '' => '頦', + '' => '頩', + '' => '頨', + '' => '頠', + '' => '頛', + '' => '頧', + '' => '颲', + '' => '餈', + '' => '飺', + '' => '餑', + '' => '餔', + '' => '餖', + '' => '餗', + '' => '餕', + '' => '駜', + '' => '駍', + '' => '駏', + '' => '駓', + '' => '駔', + '' => '駎', + '' => '駉', + '' => '駖', + '' => '駘', + '' => '駋', + '' => '駗', + '' => '駌', + '' => '骳', + '' => '髬', + '' => '髫', + '' => '髳', + '' => '髲', + '' => '髱', + '' => '魆', + '' => '魃', + '' => '魧', + '' => '魴', + '' => '魱', + '' => '魦', + '' => '魶', + '' => '魵', + '' => '魰', + '' => '魨', + '' => '魤', + '' => '魬', + '' => '鳼', + '' => '鳺', + '' => '鳽', + '' => '鳿', + '' => '鳷', + '' => '鴇', + '' => '鴀', + '' => '鳹', + '' => '鳻', + '' => '鴈', + '' => '鴅', + '' => '鴄', + '' => '麃', + '' => '黓', + '' => '鼏', + '' => '鼐', + '' => '儜', + '' => '儓', + '' => '儗', + '' => '儚', + '' => '儑', + '' => '凞', + '' => '匴', + '' => '叡', + '' => '噰', + '' => '噠', + '' => '噮', + '@' => '噳', + 'A' => '噦', + 'B' => '噣', + 'C' => '噭', + 'D' => '噲', + 'E' => '噞', + 'F' => '噷', + 'G' => '圜', + 'H' => '圛', + 'I' => '壈', + 'J' => '墽', + 'K' => '壉', + 'L' => '墿', + 'M' => '墺', + 'N' => '壂', + 'O' => '墼', + 'P' => '壆', + 'Q' => '嬗', + 'R' => '嬙', + 'S' => '嬛', + 'T' => '嬡', + 'U' => '嬔', + 'V' => '嬓', + 'W' => '嬐', + 'X' => '嬖', + 'Y' => '嬨', + 'Z' => '嬚', + '[' => '嬠', + '\\' => '嬞', + ']' => '寯', + '^' => '嶬', + '_' => '嶱', + '`' => '嶩', + 'a' => '嶧', + 'b' => '嶵', + 'c' => '嶰', + 'd' => '嶮', + 'e' => '嶪', + 'f' => '嶨', + 'g' => '嶲', + 'h' => '嶭', + 'i' => '嶯', + 'j' => '嶴', + 'k' => '幧', + 'l' => '幨', + 'm' => '幦', + 'n' => '幯', + 'o' => '廩', + 'p' => '廧', + 'q' => '廦', + 'r' => '廨', + 's' => '廥', + 't' => '彋', + 'u' => '徼', + 'v' => '憝', + 'w' => '憨', + 'x' => '憖', + 'y' => '懅', + 'z' => '憴', + '{' => '懆', + '|' => '懁', + '}' => '懌', + '~' => '憺', + '' => '憿', + '' => '憸', + '' => '憌', + '' => '擗', + '' => '擖', + '' => '擐', + '' => '擏', + '' => '擉', + '' => '撽', + '' => '撉', + '' => '擃', + '' => '擛', + '' => '擳', + '' => '擙', + '' => '攳', + '' => '敿', + '' => '敼', + '' => '斢', + '' => '曈', + '' => '暾', + '' => '曀', + '' => '曊', + '' => '曋', + '' => '曏', + '' => '暽', + '' => '暻', + '' => '暺', + '' => '曌', + '' => '朣', + '' => '樴', + '' => '橦', + '' => '橉', + '' => '橧', + '' => '樲', + '' => '橨', + '' => '樾', + '' => '橝', + '' => '橭', + '' => '橶', + '' => '橛', + '' => '橑', + '' => '樨', + '' => '橚', + '' => '樻', + '' => '樿', + '' => '橁', + '' => '橪', + '' => '橤', + '' => '橐', + '' => '橏', + '' => '橔', + '' => '橯', + '' => '橩', + '' => '橠', + '' => '樼', + '' => '橞', + '' => '橖', + '' => '橕', + '' => '橍', + '' => '橎', + '' => '橆', + '' => '歕', + '' => '歔', + '' => '歖', + '' => '殧', + '' => '殪', + '' => '殫', + '' => '毈', + '' => '毇', + '' => '氄', + '' => '氃', + '' => '氆', + '' => '澭', + '' => '濋', + '' => '澣', + '' => '濇', + '' => '澼', + '' => '濎', + '' => '濈', + '' => '潞', + '' => '濄', + '' => '澽', + '' => '澞', + '' => '濊', + '' => '澨', + '' => '瀄', + '' => '澥', + '' => '澮', + '' => '澺', + '' => '澬', + '' => '澪', + '' => '濏', + '' => '澿', + '' => '澸', + '@' => '澢', + 'A' => '濉', + 'B' => '澫', + 'C' => '濍', + 'D' => '澯', + 'E' => '澲', + 'F' => '澰', + 'G' => '燅', + 'H' => '燂', + 'I' => '熿', + 'J' => '熸', + 'K' => '燖', + 'L' => '燀', + 'M' => '燁', + 'N' => '燋', + 'O' => '燔', + 'P' => '燊', + 'Q' => '燇', + 'R' => '燏', + 'S' => '熽', + 'T' => '燘', + 'U' => '熼', + 'V' => '燆', + 'W' => '燚', + 'X' => '燛', + 'Y' => '犝', + 'Z' => '犞', + '[' => '獩', + '\\' => '獦', + ']' => '獧', + '^' => '獬', + '_' => '獥', + '`' => '獫', + 'a' => '獪', + 'b' => '瑿', + 'c' => '璚', + 'd' => '璠', + 'e' => '璔', + 'f' => '璒', + 'g' => '璕', + 'h' => '璡', + 'i' => '甋', + 'j' => '疀', + 'k' => '瘯', + 'l' => '瘭', + 'm' => '瘱', + 'n' => '瘽', + 'o' => '瘳', + 'p' => '瘼', + 'q' => '瘵', + 'r' => '瘲', + 's' => '瘰', + 't' => '皻', + 'u' => '盦', + 'v' => '瞚', + 'w' => '瞝', + 'x' => '瞡', + 'y' => '瞜', + 'z' => '瞛', + '{' => '瞢', + '|' => '瞣', + '}' => '瞕', + '~' => '瞙', + '' => '瞗', + '' => '磝', + '' => '磩', + '' => '磥', + '' => '磪', + '' => '磞', + '' => '磣', + '' => '磛', + '' => '磡', + '' => '磢', + '' => '磭', + '' => '磟', + '' => '磠', + '' => '禤', + '' => '穄', + '' => '穈', + '' => '穇', + '' => '窶', + '' => '窸', + '' => '窵', + '' => '窱', + '' => '窷', + '' => '篞', + '' => '篣', + '' => '篧', + '' => '篝', + '' => '篕', + '' => '篥', + '' => '篚', + '' => '篨', + '' => '篹', + '' => '篔', + '' => '篪', + '' => '篢', + '' => '篜', + '' => '篫', + '' => '篘', + '' => '篟', + '' => '糒', + '' => '糔', + '' => '糗', + '' => '糐', + '' => '糑', + '' => '縒', + '' => '縡', + '' => '縗', + '' => '縌', + '' => '縟', + '' => '縠', + '' => '縓', + '' => '縎', + '' => '縜', + '' => '縕', + '' => '縚', + '' => '縢', + '' => '縋', + '' => '縏', + '' => '縖', + '' => '縍', + '' => '縔', + '' => '縥', + '' => '縤', + '' => '罃', + '' => '罻', + '' => '罼', + '' => '罺', + '' => '羱', + '' => '翯', + '' => '耪', + '' => '耩', + '' => '聬', + '' => '膱', + '' => '膦', + '' => '膮', + '' => '膹', + '' => '膵', + '' => '膫', + '' => '膰', + '' => '膬', + '' => '膴', + '' => '膲', + '' => '膷', + '' => '膧', + '' => '臲', + '' => '艕', + '' => '艖', + '' => '艗', + '' => '蕖', + '' => '蕅', + '' => '蕫', + '' => '蕍', + '' => '蕓', + '' => '蕡', + '' => '蕘', + '@' => '蕀', + 'A' => '蕆', + 'B' => '蕤', + 'C' => '蕁', + 'D' => '蕢', + 'E' => '蕄', + 'F' => '蕑', + 'G' => '蕇', + 'H' => '蕣', + 'I' => '蔾', + 'J' => '蕛', + 'K' => '蕱', + 'L' => '蕎', + 'M' => '蕮', + 'N' => '蕵', + 'O' => '蕕', + 'P' => '蕧', + 'Q' => '蕠', + 'R' => '薌', + 'S' => '蕦', + 'T' => '蕝', + 'U' => '蕔', + 'V' => '蕥', + 'W' => '蕬', + 'X' => '虣', + 'Y' => '虥', + 'Z' => '虤', + '[' => '螛', + '\\' => '螏', + ']' => '螗', + '^' => '螓', + '_' => '螒', + '`' => '螈', + 'a' => '螁', + 'b' => '螖', + 'c' => '螘', + 'd' => '蝹', + 'e' => '螇', + 'f' => '螣', + 'g' => '螅', + 'h' => '螐', + 'i' => '螑', + 'j' => '螝', + 'k' => '螄', + 'l' => '螔', + 'm' => '螜', + 'n' => '螚', + 'o' => '螉', + 'p' => '褞', + 'q' => '褦', + 'r' => '褰', + 's' => '褭', + 't' => '褮', + 'u' => '褧', + 'v' => '褱', + 'w' => '褢', + 'x' => '褩', + 'y' => '褣', + 'z' => '褯', + '{' => '褬', + '|' => '褟', + '}' => '觱', + '~' => '諠', + '' => '諢', + '' => '諲', + '' => '諴', + '' => '諵', + '' => '諝', + '' => '謔', + '' => '諤', + '' => '諟', + '' => '諰', + '' => '諈', + '' => '諞', + '' => '諡', + '' => '諨', + '' => '諿', + '' => '諯', + '' => '諻', + '' => '貑', + '' => '貒', + '' => '貐', + '' => '賵', + '' => '賮', + '' => '賱', + '' => '賰', + '' => '賳', + '' => '赬', + '' => '赮', + '' => '趥', + '' => '趧', + '' => '踳', + '' => '踾', + '' => '踸', + '' => '蹀', + '' => '蹅', + '' => '踶', + '' => '踼', + '' => '踽', + '' => '蹁', + '' => '踰', + '' => '踿', + '' => '躽', + '' => '輶', + '' => '輮', + '' => '輵', + '' => '輲', + '' => '輹', + '' => '輷', + '' => '輴', + '' => '遶', + '' => '遹', + '' => '遻', + '' => '邆', + '' => '郺', + '' => '鄳', + '' => '鄵', + '' => '鄶', + '' => '醓', + '' => '醐', + '' => '醑', + '' => '醍', + '' => '醏', + '' => '錧', + '' => '錞', + '' => '錈', + '' => '錟', + '' => '錆', + '' => '錏', + '' => '鍺', + '' => '錸', + '' => '錼', + '' => '錛', + '' => '錣', + '' => '錒', + '' => '錁', + '' => '鍆', + '' => '錭', + '' => '錎', + '' => '錍', + '' => '鋋', + '' => '錝', + '' => '鋺', + '' => '錥', + '' => '錓', + '' => '鋹', + '' => '鋷', + '' => '錴', + '' => '錂', + '' => '錤', + '' => '鋿', + '' => '錩', + '' => '錹', + '' => '錵', + '' => '錪', + '' => '錔', + '' => '錌', + '@' => '錋', + 'A' => '鋾', + 'B' => '錉', + 'C' => '錀', + 'D' => '鋻', + 'E' => '錖', + 'F' => '閼', + 'G' => '闍', + 'H' => '閾', + 'I' => '閹', + 'J' => '閺', + 'K' => '閶', + 'L' => '閿', + 'M' => '閵', + 'N' => '閽', + 'O' => '隩', + 'P' => '雔', + 'Q' => '霋', + 'R' => '霒', + 'S' => '霐', + 'T' => '鞙', + 'U' => '鞗', + 'V' => '鞔', + 'W' => '韰', + 'X' => '韸', + 'Y' => '頵', + 'Z' => '頯', + '[' => '頲', + '\\' => '餤', + ']' => '餟', + '^' => '餧', + '_' => '餩', + '`' => '馞', + 'a' => '駮', + 'b' => '駬', + 'c' => '駥', + 'd' => '駤', + 'e' => '駰', + 'f' => '駣', + 'g' => '駪', + 'h' => '駩', + 'i' => '駧', + 'j' => '骹', + 'k' => '骿', + 'l' => '骴', + 'm' => '骻', + 'n' => '髶', + 'o' => '髺', + 'p' => '髹', + 'q' => '髷', + 'r' => '鬳', + 's' => '鮀', + 't' => '鮅', + 'u' => '鮇', + 'v' => '魼', + 'w' => '魾', + 'x' => '魻', + 'y' => '鮂', + 'z' => '鮓', + '{' => '鮒', + '|' => '鮐', + '}' => '魺', + '~' => '鮕', + '' => '魽', + '' => '鮈', + '' => '鴥', + '' => '鴗', + '' => '鴠', + '' => '鴞', + '' => '鴔', + '' => '鴩', + '' => '鴝', + '' => '鴘', + '' => '鴢', + '' => '鴐', + '' => '鴙', + '' => '鴟', + '' => '麈', + '' => '麆', + '' => '麇', + '' => '麮', + '' => '麭', + '' => '黕', + '' => '黖', + '' => '黺', + '' => '鼒', + '' => '鼽', + '' => '儦', + '' => '儥', + '' => '儢', + '' => '儤', + '' => '儠', + '' => '儩', + '' => '勴', + '' => '嚓', + '' => '嚌', + '' => '嚍', + '' => '嚆', + '' => '嚄', + '' => '嚃', + '' => '噾', + '' => '嚂', + '' => '噿', + '' => '嚁', + '' => '壖', + '' => '壔', + '' => '壏', + '' => '壒', + '' => '嬭', + '' => '嬥', + '' => '嬲', + '' => '嬣', + '' => '嬬', + '' => '嬧', + '' => '嬦', + '' => '嬯', + '' => '嬮', + '' => '孻', + '' => '寱', + '' => '寲', + '' => '嶷', + '' => '幬', + '' => '幪', + '' => '徾', + '' => '徻', + '' => '懃', + '' => '憵', + '' => '憼', + '' => '懧', + '' => '懠', + '' => '懥', + '' => '懤', + '' => '懨', + '' => '懞', + '' => '擯', + '' => '擩', + '' => '擣', + '' => '擫', + '' => '擤', + '' => '擨', + '' => '斁', + '' => '斀', + '' => '斶', + '' => '旚', + '' => '曒', + '' => '檍', + '' => '檖', + '' => '檁', + '' => '檥', + '' => '檉', + '' => '檟', + '' => '檛', + '' => '檡', + '' => '檞', + '' => '檇', + '' => '檓', + '' => '檎', + '@' => '檕', + 'A' => '檃', + 'B' => '檨', + 'C' => '檤', + 'D' => '檑', + 'E' => '橿', + 'F' => '檦', + 'G' => '檚', + 'H' => '檅', + 'I' => '檌', + 'J' => '檒', + 'K' => '歛', + 'L' => '殭', + 'M' => '氉', + 'N' => '濌', + 'O' => '澩', + 'P' => '濴', + 'Q' => '濔', + 'R' => '濣', + 'S' => '濜', + 'T' => '濭', + 'U' => '濧', + 'V' => '濦', + 'W' => '濞', + 'X' => '濲', + 'Y' => '濝', + 'Z' => '濢', + '[' => '濨', + '\\' => '燡', + ']' => '燱', + '^' => '燨', + '_' => '燲', + '`' => '燤', + 'a' => '燰', + 'b' => '燢', + 'c' => '獳', + 'd' => '獮', + 'e' => '獯', + 'f' => '璗', + 'g' => '璲', + 'h' => '璫', + 'i' => '璐', + 'j' => '璪', + 'k' => '璭', + 'l' => '璱', + 'm' => '璥', + 'n' => '璯', + 'o' => '甐', + 'p' => '甑', + 'q' => '甒', + 'r' => '甏', + 's' => '疄', + 't' => '癃', + 'u' => '癈', + 'v' => '癉', + 'w' => '癇', + 'x' => '皤', + 'y' => '盩', + 'z' => '瞵', + '{' => '瞫', + '|' => '瞲', + '}' => '瞷', + '~' => '瞶', + '' => '瞴', + '' => '瞱', + '' => '瞨', + '' => '矰', + '' => '磳', + '' => '磽', + '' => '礂', + '' => '磻', + '' => '磼', + '' => '磲', + '' => '礅', + '' => '磹', + '' => '磾', + '' => '礄', + '' => '禫', + '' => '禨', + '' => '穜', + '' => '穛', + '' => '穖', + '' => '穘', + '' => '穔', + '' => '穚', + '' => '窾', + '' => '竀', + '' => '竁', + '' => '簅', + '' => '簏', + '' => '篲', + '' => '簀', + '' => '篿', + '' => '篻', + '' => '簎', + '' => '篴', + '' => '簋', + '' => '篳', + '' => '簂', + '' => '簉', + '' => '簃', + '' => '簁', + '' => '篸', + '' => '篽', + '' => '簆', + '' => '篰', + '' => '篱', + '' => '簐', + '' => '簊', + '' => '糨', + '' => '縭', + '' => '縼', + '' => '繂', + '' => '縳', + '' => '顈', + '' => '縸', + '' => '縪', + '' => '繉', + '' => '繀', + '' => '繇', + '' => '縩', + '' => '繌', + '' => '縰', + '' => '縻', + '' => '縶', + '' => '繄', + '' => '縺', + '' => '罅', + '' => '罿', + '' => '罾', + '' => '罽', + '' => '翴', + '' => '翲', + '' => '耬', + '' => '膻', + '' => '臄', + '' => '臌', + '' => '臊', + '' => '臅', + '' => '臇', + '' => '膼', + '' => '臩', + '' => '艛', + '' => '艚', + '' => '艜', + '' => '薃', + '' => '薀', + '' => '薏', + '' => '薧', + '' => '薕', + '' => '薠', + '' => '薋', + '' => '薣', + '' => '蕻', + '' => '薤', + '' => '薚', + '' => '薞', + '@' => '蕷', + 'A' => '蕼', + 'B' => '薉', + 'C' => '薡', + 'D' => '蕺', + 'E' => '蕸', + 'F' => '蕗', + 'G' => '薎', + 'H' => '薖', + 'I' => '薆', + 'J' => '薍', + 'K' => '薙', + 'L' => '薝', + 'M' => '薁', + 'N' => '薢', + 'O' => '薂', + 'P' => '薈', + 'Q' => '薅', + 'R' => '蕹', + 'S' => '蕶', + 'T' => '薘', + 'U' => '薐', + 'V' => '薟', + 'W' => '虨', + 'X' => '螾', + 'Y' => '螪', + 'Z' => '螭', + '[' => '蟅', + '\\' => '螰', + ']' => '螬', + '^' => '螹', + '_' => '螵', + '`' => '螼', + 'a' => '螮', + 'b' => '蟉', + 'c' => '蟃', + 'd' => '蟂', + 'e' => '蟌', + 'f' => '螷', + 'g' => '螯', + 'h' => '蟄', + 'i' => '蟊', + 'j' => '螴', + 'k' => '螶', + 'l' => '螿', + 'm' => '螸', + 'n' => '螽', + 'o' => '蟞', + 'p' => '螲', + 'q' => '褵', + 'r' => '褳', + 's' => '褼', + 't' => '褾', + 'u' => '襁', + 'v' => '襒', + 'w' => '褷', + 'x' => '襂', + 'y' => '覭', + 'z' => '覯', + '{' => '覮', + '|' => '觲', + '}' => '觳', + '~' => '謞', + '' => '謘', + '' => '謖', + '' => '謑', + '' => '謅', + '' => '謋', + '' => '謢', + '' => '謏', + '' => '謒', + '' => '謕', + '' => '謇', + '' => '謍', + '' => '謈', + '' => '謆', + '' => '謜', + '' => '謓', + '' => '謚', + '' => '豏', + '' => '豰', + '' => '豲', + '' => '豱', + '' => '豯', + '' => '貕', + '' => '貔', + '' => '賹', + '' => '赯', + '' => '蹎', + '' => '蹍', + '' => '蹓', + '' => '蹐', + '' => '蹌', + '' => '蹇', + '' => '轃', + '' => '轀', + '' => '邅', + '' => '遾', + '' => '鄸', + '' => '醚', + '' => '醢', + '' => '醛', + '' => '醙', + '' => '醟', + '' => '醡', + '' => '醝', + '' => '醠', + '' => '鎡', + '' => '鎃', + '' => '鎯', + '' => '鍤', + '' => '鍖', + '' => '鍇', + '' => '鍼', + '' => '鍘', + '' => '鍜', + '' => '鍶', + '' => '鍉', + '' => '鍐', + '' => '鍑', + '' => '鍠', + '' => '鍭', + '' => '鎏', + '' => '鍌', + '' => '鍪', + '' => '鍹', + '' => '鍗', + '' => '鍕', + '' => '鍒', + '' => '鍏', + '' => '鍱', + '' => '鍷', + '' => '鍻', + '' => '鍡', + '' => '鍞', + '' => '鍣', + '' => '鍧', + '' => '鎀', + '' => '鍎', + '' => '鍙', + '' => '闇', + '' => '闀', + '' => '闉', + '' => '闃', + '' => '闅', + '' => '閷', + '' => '隮', + '' => '隰', + '' => '隬', + '' => '霠', + '' => '霟', + '' => '霘', + '' => '霝', + '' => '霙', + '' => '鞚', + '' => '鞡', + '' => '鞜', + '@' => '鞞', + 'A' => '鞝', + 'B' => '韕', + 'C' => '韔', + 'D' => '韱', + 'E' => '顁', + 'F' => '顄', + 'G' => '顊', + 'H' => '顉', + 'I' => '顅', + 'J' => '顃', + 'K' => '餥', + 'L' => '餫', + 'M' => '餬', + 'N' => '餪', + 'O' => '餳', + 'P' => '餲', + 'Q' => '餯', + 'R' => '餭', + 'S' => '餱', + 'T' => '餰', + 'U' => '馘', + 'V' => '馣', + 'W' => '馡', + 'X' => '騂', + 'Y' => '駺', + 'Z' => '駴', + '[' => '駷', + '\\' => '駹', + ']' => '駸', + '^' => '駶', + '_' => '駻', + '`' => '駽', + 'a' => '駾', + 'b' => '駼', + 'c' => '騃', + 'd' => '骾', + 'e' => '髾', + 'f' => '髽', + 'g' => '鬁', + 'h' => '髼', + 'i' => '魈', + 'j' => '鮚', + 'k' => '鮨', + 'l' => '鮞', + 'm' => '鮛', + 'n' => '鮦', + 'o' => '鮡', + 'p' => '鮥', + 'q' => '鮤', + 'r' => '鮆', + 's' => '鮢', + 't' => '鮠', + 'u' => '鮯', + 'v' => '鴳', + 'w' => '鵁', + 'x' => '鵧', + 'y' => '鴶', + 'z' => '鴮', + '{' => '鴯', + '|' => '鴱', + '}' => '鴸', + '~' => '鴰', + '' => '鵅', + '' => '鵂', + '' => '鵃', + '' => '鴾', + '' => '鴷', + '' => '鵀', + '' => '鴽', + '' => '翵', + '' => '鴭', + '' => '麊', + '' => '麉', + '' => '麍', + '' => '麰', + '' => '黈', + '' => '黚', + '' => '黻', + '' => '黿', + '' => '鼤', + '' => '鼣', + '' => '鼢', + '' => '齔', + '' => '龠', + '' => '儱', + '' => '儭', + '' => '儮', + '' => '嚘', + '' => '嚜', + '' => '嚗', + '' => '嚚', + '' => '嚝', + '' => '嚙', + '' => '奰', + '' => '嬼', + '' => '屩', + '' => '屪', + '' => '巀', + '' => '幭', + '' => '幮', + '' => '懘', + '' => '懟', + '' => '懭', + '' => '懮', + '' => '懱', + '' => '懪', + '' => '懰', + '' => '懫', + '' => '懖', + '' => '懩', + '' => '擿', + '' => '攄', + '' => '擽', + '' => '擸', + '' => '攁', + '' => '攃', + '' => '擼', + '' => '斔', + '' => '旛', + '' => '曚', + '' => '曛', + '' => '曘', + '' => '櫅', + '' => '檹', + '' => '檽', + '' => '櫡', + '' => '櫆', + '' => '檺', + '' => '檶', + '' => '檷', + '' => '櫇', + '' => '檴', + '' => '檭', + '' => '歞', + '' => '毉', + '' => '氋', + '' => '瀇', + '' => '瀌', + '' => '瀍', + '' => '瀁', + '' => '瀅', + '' => '瀔', + '' => '瀎', + '' => '濿', + '' => '瀀', + '' => '濻', + '' => '瀦', + '' => '濼', + '' => '濷', + '' => '瀊', + '' => '爁', + '' => '燿', + '' => '燹', + '' => '爃', + '' => '燽', + '' => '獶', + '@' => '璸', + 'A' => '瓀', + 'B' => '璵', + 'C' => '瓁', + 'D' => '璾', + 'E' => '璶', + 'F' => '璻', + 'G' => '瓂', + 'H' => '甔', + 'I' => '甓', + 'J' => '癜', + 'K' => '癤', + 'L' => '癙', + 'M' => '癐', + 'N' => '癓', + 'O' => '癗', + 'P' => '癚', + 'Q' => '皦', + 'R' => '皽', + 'S' => '盬', + 'T' => '矂', + 'U' => '瞺', + 'V' => '磿', + 'W' => '礌', + 'X' => '礓', + 'Y' => '礔', + 'Z' => '礉', + '[' => '礐', + '\\' => '礒', + ']' => '礑', + '^' => '禭', + '_' => '禬', + '`' => '穟', + 'a' => '簜', + 'b' => '簩', + 'c' => '簙', + 'd' => '簠', + 'e' => '簟', + 'f' => '簭', + 'g' => '簝', + 'h' => '簦', + 'i' => '簨', + 'j' => '簢', + 'k' => '簥', + 'l' => '簰', + 'm' => '繜', + 'n' => '繐', + 'o' => '繖', + 'p' => '繣', + 'q' => '繘', + 'r' => '繢', + 's' => '繟', + 't' => '繑', + 'u' => '繠', + 'v' => '繗', + 'w' => '繓', + 'x' => '羵', + 'y' => '羳', + 'z' => '翷', + '{' => '翸', + '|' => '聵', + '}' => '臑', + '~' => '臒', + '' => '臐', + '' => '艟', + '' => '艞', + '' => '薴', + '' => '藆', + '' => '藀', + '' => '藃', + '' => '藂', + '' => '薳', + '' => '薵', + '' => '薽', + '' => '藇', + '' => '藄', + '' => '薿', + '' => '藋', + '' => '藎', + '' => '藈', + '' => '藅', + '' => '薱', + '' => '薶', + '' => '藒', + '' => '蘤', + '' => '薸', + '' => '薷', + '' => '薾', + '' => '虩', + '' => '蟧', + '' => '蟦', + '' => '蟢', + '' => '蟛', + '' => '蟫', + '' => '蟪', + '' => '蟥', + '' => '蟟', + '' => '蟳', + '' => '蟤', + '' => '蟔', + '' => '蟜', + '' => '蟓', + '' => '蟭', + '' => '蟘', + '' => '蟣', + '' => '螤', + '' => '蟗', + '' => '蟙', + '' => '蠁', + '' => '蟴', + '' => '蟨', + '' => '蟝', + '' => '襓', + '' => '襋', + '' => '襏', + '' => '襌', + '' => '襆', + '' => '襐', + '' => '襑', + '' => '襉', + '' => '謪', + '' => '謧', + '' => '謣', + '' => '謳', + '' => '謰', + '' => '謵', + '' => '譇', + '' => '謯', + '' => '謼', + '' => '謾', + '' => '謱', + '' => '謥', + '' => '謷', + '' => '謦', + '' => '謶', + '' => '謮', + '' => '謤', + '' => '謻', + '' => '謽', + '' => '謺', + '' => '豂', + '' => '豵', + '' => '貙', + '' => '貘', + '' => '貗', + '' => '賾', + '' => '贄', + '' => '贂', + '' => '贀', + '' => '蹜', + '' => '蹢', + '' => '蹠', + '' => '蹗', + '' => '蹖', + '' => '蹞', + '' => '蹥', + '' => '蹧', + '@' => '蹛', + 'A' => '蹚', + 'B' => '蹡', + 'C' => '蹝', + 'D' => '蹩', + 'E' => '蹔', + 'F' => '轆', + 'G' => '轇', + 'H' => '轈', + 'I' => '轋', + 'J' => '鄨', + 'K' => '鄺', + 'L' => '鄻', + 'M' => '鄾', + 'N' => '醨', + 'O' => '醥', + 'P' => '醧', + 'Q' => '醯', + 'R' => '醪', + 'S' => '鎵', + 'T' => '鎌', + 'U' => '鎒', + 'V' => '鎷', + 'W' => '鎛', + 'X' => '鎝', + 'Y' => '鎉', + 'Z' => '鎧', + '[' => '鎎', + '\\' => '鎪', + ']' => '鎞', + '^' => '鎦', + '_' => '鎕', + '`' => '鎈', + 'a' => '鎙', + 'b' => '鎟', + 'c' => '鎍', + 'd' => '鎱', + 'e' => '鎑', + 'f' => '鎲', + 'g' => '鎤', + 'h' => '鎨', + 'i' => '鎴', + 'j' => '鎣', + 'k' => '鎥', + 'l' => '闒', + 'm' => '闓', + 'n' => '闑', + 'o' => '隳', + 'p' => '雗', + 'q' => '雚', + 'r' => '巂', + 's' => '雟', + 't' => '雘', + 'u' => '雝', + 'v' => '霣', + 'w' => '霢', + 'x' => '霥', + 'y' => '鞬', + 'z' => '鞮', + '{' => '鞨', + '|' => '鞫', + '}' => '鞤', + '~' => '鞪', + '' => '鞢', + '' => '鞥', + '' => '韗', + '' => '韙', + '' => '韖', + '' => '韘', + '' => '韺', + '' => '顐', + '' => '顑', + '' => '顒', + '' => '颸', + '' => '饁', + '' => '餼', + '' => '餺', + '' => '騏', + '' => '騋', + '' => '騉', + '' => '騍', + '' => '騄', + '' => '騑', + '' => '騊', + '' => '騅', + '' => '騇', + '' => '騆', + '' => '髀', + '' => '髜', + '' => '鬈', + '' => '鬄', + '' => '鬅', + '' => '鬩', + '' => '鬵', + '' => '魊', + '' => '魌', + '' => '魋', + '' => '鯇', + '' => '鯆', + '' => '鯃', + '' => '鮿', + '' => '鯁', + '' => '鮵', + '' => '鮸', + '' => '鯓', + '' => '鮶', + '' => '鯄', + '' => '鮹', + '' => '鮽', + '' => '鵜', + '' => '鵓', + '' => '鵏', + '' => '鵊', + '' => '鵛', + '' => '鵋', + '' => '鵙', + '' => '鵖', + '' => '鵌', + '' => '鵗', + '' => '鵒', + '' => '鵔', + '' => '鵟', + '' => '鵘', + '' => '鵚', + '' => '麎', + '' => '麌', + '' => '黟', + '' => '鼁', + '' => '鼀', + '' => '鼖', + '' => '鼥', + '' => '鼫', + '' => '鼪', + '' => '鼩', + '' => '鼨', + '' => '齌', + '' => '齕', + '' => '儴', + '' => '儵', + '' => '劖', + '' => '勷', + '' => '厴', + '' => '嚫', + '' => '嚭', + '' => '嚦', + '' => '嚧', + '' => '嚪', + '' => '嚬', + '' => '壚', + '' => '壝', + '' => '壛', + '' => '夒', + '' => '嬽', + '' => '嬾', + '' => '嬿', + '' => '巃', + '' => '幰', + '@' => '徿', + 'A' => '懻', + 'B' => '攇', + 'C' => '攐', + 'D' => '攍', + 'E' => '攉', + 'F' => '攌', + 'G' => '攎', + 'H' => '斄', + 'I' => '旞', + 'J' => '旝', + 'K' => '曞', + 'L' => '櫧', + 'M' => '櫠', + 'N' => '櫌', + 'O' => '櫑', + 'P' => '櫙', + 'Q' => '櫋', + 'R' => '櫟', + 'S' => '櫜', + 'T' => '櫐', + 'U' => '櫫', + 'V' => '櫏', + 'W' => '櫍', + 'X' => '櫞', + 'Y' => '歠', + 'Z' => '殰', + '[' => '氌', + '\\' => '瀙', + ']' => '瀧', + '^' => '瀠', + '_' => '瀖', + '`' => '瀫', + 'a' => '瀡', + 'b' => '瀢', + 'c' => '瀣', + 'd' => '瀩', + 'e' => '瀗', + 'f' => '瀤', + 'g' => '瀜', + 'h' => '瀪', + 'i' => '爌', + 'j' => '爊', + 'k' => '爇', + 'l' => '爂', + 'm' => '爅', + 'n' => '犥', + 'o' => '犦', + 'p' => '犤', + 'q' => '犣', + 'r' => '犡', + 's' => '瓋', + 't' => '瓅', + 'u' => '璷', + 'v' => '瓃', + 'w' => '甖', + 'x' => '癠', + 'y' => '矉', + 'z' => '矊', + '{' => '矄', + '|' => '矱', + '}' => '礝', + '~' => '礛', + '' => '礡', + '' => '礜', + '' => '礗', + '' => '礞', + '' => '禰', + '' => '穧', + '' => '穨', + '' => '簳', + '' => '簼', + '' => '簹', + '' => '簬', + '' => '簻', + '' => '糬', + '' => '糪', + '' => '繶', + '' => '繵', + '' => '繸', + '' => '繰', + '' => '繷', + '' => '繯', + '' => '繺', + '' => '繲', + '' => '繴', + '' => '繨', + '' => '罋', + '' => '罊', + '' => '羃', + '' => '羆', + '' => '羷', + '' => '翽', + '' => '翾', + '' => '聸', + '' => '臗', + '' => '臕', + '' => '艤', + '' => '艡', + '' => '艣', + '' => '藫', + '' => '藱', + '' => '藭', + '' => '藙', + '' => '藡', + '' => '藨', + '' => '藚', + '' => '藗', + '' => '藬', + '' => '藲', + '' => '藸', + '' => '藘', + '' => '藟', + '' => '藣', + '' => '藜', + '' => '藑', + '' => '藰', + '' => '藦', + '' => '藯', + '' => '藞', + '' => '藢', + '' => '蠀', + '' => '蟺', + '' => '蠃', + '' => '蟶', + '' => '蟷', + '' => '蠉', + '' => '蠌', + '' => '蠋', + '' => '蠆', + '' => '蟼', + '' => '蠈', + '' => '蟿', + '' => '蠊', + '' => '蠂', + '' => '襢', + '' => '襚', + '' => '襛', + '' => '襗', + '' => '襡', + '' => '襜', + '' => '襘', + '' => '襝', + '' => '襙', + '' => '覈', + '' => '覷', + '' => '覶', + '' => '觶', + '' => '譐', + '' => '譈', + '' => '譊', + '' => '譀', + '' => '譓', + '' => '譖', + '' => '譔', + '' => '譋', + '' => '譕', + '@' => '譑', + 'A' => '譂', + 'B' => '譒', + 'C' => '譗', + 'D' => '豃', + 'E' => '豷', + 'F' => '豶', + 'G' => '貚', + 'H' => '贆', + 'I' => '贇', + 'J' => '贉', + 'K' => '趬', + 'L' => '趪', + 'M' => '趭', + 'N' => '趫', + 'O' => '蹭', + 'P' => '蹸', + 'Q' => '蹳', + 'R' => '蹪', + 'S' => '蹯', + 'T' => '蹻', + 'U' => '軂', + 'V' => '轒', + 'W' => '轑', + 'X' => '轏', + 'Y' => '轐', + 'Z' => '轓', + '[' => '辴', + '\\' => '酀', + ']' => '鄿', + '^' => '醰', + '_' => '醭', + '`' => '鏞', + 'a' => '鏇', + 'b' => '鏏', + 'c' => '鏂', + 'd' => '鏚', + 'e' => '鏐', + 'f' => '鏹', + 'g' => '鏬', + 'h' => '鏌', + 'i' => '鏙', + 'j' => '鎩', + 'k' => '鏦', + 'l' => '鏊', + 'm' => '鏔', + 'n' => '鏮', + 'o' => '鏣', + 'p' => '鏕', + 'q' => '鏄', + 'r' => '鏎', + 's' => '鏀', + 't' => '鏒', + 'u' => '鏧', + 'v' => '镽', + 'w' => '闚', + 'x' => '闛', + 'y' => '雡', + 'z' => '霩', + '{' => '霫', + '|' => '霬', + '}' => '霨', + '~' => '霦', + '' => '鞳', + '' => '鞷', + '' => '鞶', + '' => '韝', + '' => '韞', + '' => '韟', + '' => '顜', + '' => '顙', + '' => '顝', + '' => '顗', + '' => '颿', + '' => '颽', + '' => '颻', + '' => '颾', + '' => '饈', + '' => '饇', + '' => '饃', + '' => '馦', + '' => '馧', + '' => '騚', + '' => '騕', + '' => '騥', + '' => '騝', + '' => '騤', + '' => '騛', + '' => '騢', + '' => '騠', + '' => '騧', + '' => '騣', + '' => '騞', + '' => '騜', + '' => '騔', + '' => '髂', + '' => '鬋', + '' => '鬊', + '' => '鬎', + '' => '鬌', + '' => '鬷', + '' => '鯪', + '' => '鯫', + '' => '鯠', + '' => '鯞', + '' => '鯤', + '' => '鯦', + '' => '鯢', + '' => '鯰', + '' => '鯔', + '' => '鯗', + '' => '鯬', + '' => '鯜', + '' => '鯙', + '' => '鯥', + '' => '鯕', + '' => '鯡', + '' => '鯚', + '' => '鵷', + '' => '鶁', + '' => '鶊', + '' => '鶄', + '' => '鶈', + '' => '鵱', + '' => '鶀', + '' => '鵸', + '' => '鶆', + '' => '鶋', + '' => '鶌', + '' => '鵽', + '' => '鵫', + '' => '鵴', + '' => '鵵', + '' => '鵰', + '' => '鵩', + '' => '鶅', + '' => '鵳', + '' => '鵻', + '' => '鶂', + '' => '鵯', + '' => '鵹', + '' => '鵿', + '' => '鶇', + '' => '鵨', + '' => '麔', + '' => '麑', + '' => '黀', + '' => '黼', + '' => '鼭', + '' => '齀', + '' => '齁', + '' => '齍', + '' => '齖', + '' => '齗', + '' => '齘', + '' => '匷', + '' => '嚲', + '@' => '嚵', + 'A' => '嚳', + 'B' => '壣', + 'C' => '孅', + 'D' => '巆', + 'E' => '巇', + 'F' => '廮', + 'G' => '廯', + 'H' => '忀', + 'I' => '忁', + 'J' => '懹', + 'K' => '攗', + 'L' => '攖', + 'M' => '攕', + 'N' => '攓', + 'O' => '旟', + 'P' => '曨', + 'Q' => '曣', + 'R' => '曤', + 'S' => '櫳', + 'T' => '櫰', + 'U' => '櫪', + 'V' => '櫨', + 'W' => '櫹', + 'X' => '櫱', + 'Y' => '櫮', + 'Z' => '櫯', + '[' => '瀼', + '\\' => '瀵', + ']' => '瀯', + '^' => '瀷', + '_' => '瀴', + '`' => '瀱', + 'a' => '灂', + 'b' => '瀸', + 'c' => '瀿', + 'd' => '瀺', + 'e' => '瀹', + 'f' => '灀', + 'g' => '瀻', + 'h' => '瀳', + 'i' => '灁', + 'j' => '爓', + 'k' => '爔', + 'l' => '犨', + 'm' => '獽', + 'n' => '獼', + 'o' => '璺', + 'p' => '皫', + 'q' => '皪', + 'r' => '皾', + 's' => '盭', + 't' => '矌', + 'u' => '矎', + 'v' => '矏', + 'w' => '矍', + 'x' => '矲', + 'y' => '礥', + 'z' => '礣', + '{' => '礧', + '|' => '礨', + '}' => '礤', + '~' => '礩', + '' => '禲', + '' => '穮', + '' => '穬', + '' => '穭', + '' => '竷', + '' => '籉', + '' => '籈', + '' => '籊', + '' => '籇', + '' => '籅', + '' => '糮', + '' => '繻', + '' => '繾', + '' => '纁', + '' => '纀', + '' => '羺', + '' => '翿', + '' => '聹', + '' => '臛', + '' => '臙', + '' => '舋', + '' => '艨', + '' => '艩', + '' => '蘢', + '' => '藿', + '' => '蘁', + '' => '藾', + '' => '蘛', + '' => '蘀', + '' => '藶', + '' => '蘄', + '' => '蘉', + '' => '蘅', + '' => '蘌', + '' => '藽', + '' => '蠙', + '' => '蠐', + '' => '蠑', + '' => '蠗', + '' => '蠓', + '' => '蠖', + '' => '襣', + '' => '襦', + '' => '覹', + '' => '觷', + '' => '譠', + '' => '譪', + '' => '譝', + '' => '譨', + '' => '譣', + '' => '譥', + '' => '譧', + '' => '譭', + '' => '趮', + '' => '躆', + '' => '躈', + '' => '躄', + '' => '轙', + '' => '轖', + '' => '轗', + '' => '轕', + '' => '轘', + '' => '轚', + '' => '邍', + '' => '酃', + '' => '酁', + '' => '醷', + '' => '醵', + '' => '醲', + '' => '醳', + '' => '鐋', + '' => '鐓', + '' => '鏻', + '' => '鐠', + '' => '鐏', + '' => '鐔', + '' => '鏾', + '' => '鐕', + '' => '鐐', + '' => '鐨', + '' => '鐙', + '' => '鐍', + '' => '鏵', + '' => '鐀', + '' => '鏷', + '' => '鐇', + '' => '鐎', + '' => '鐖', + '' => '鐒', + '' => '鏺', + '' => '鐉', + '' => '鏸', + '' => '鐊', + '' => '鏿', + '@' => '鏼', + 'A' => '鐌', + 'B' => '鏶', + 'C' => '鐑', + 'D' => '鐆', + 'E' => '闞', + 'F' => '闠', + 'G' => '闟', + 'H' => '霮', + 'I' => '霯', + 'J' => '鞹', + 'K' => '鞻', + 'L' => '韽', + 'M' => '韾', + 'N' => '顠', + 'O' => '顢', + 'P' => '顣', + 'Q' => '顟', + 'R' => '飁', + 'S' => '飂', + 'T' => '饐', + 'U' => '饎', + 'V' => '饙', + 'W' => '饌', + 'X' => '饋', + 'Y' => '饓', + 'Z' => '騲', + '[' => '騴', + '\\' => '騱', + ']' => '騬', + '^' => '騪', + '_' => '騶', + '`' => '騩', + 'a' => '騮', + 'b' => '騸', + 'c' => '騭', + 'd' => '髇', + 'e' => '髊', + 'f' => '髆', + 'g' => '鬐', + 'h' => '鬒', + 'i' => '鬑', + 'j' => '鰋', + 'k' => '鰈', + 'l' => '鯷', + 'm' => '鰅', + 'n' => '鰒', + 'o' => '鯸', + 'p' => '鱀', + 'q' => '鰇', + 'r' => '鰎', + 's' => '鰆', + 't' => '鰗', + 'u' => '鰔', + 'v' => '鰉', + 'w' => '鶟', + 'x' => '鶙', + 'y' => '鶤', + 'z' => '鶝', + '{' => '鶒', + '|' => '鶘', + '}' => '鶐', + '~' => '鶛', + '' => '鶠', + '' => '鶔', + '' => '鶜', + '' => '鶪', + '' => '鶗', + '' => '鶡', + '' => '鶚', + '' => '鶢', + '' => '鶨', + '' => '鶞', + '' => '鶣', + '' => '鶿', + '' => '鶩', + '' => '鶖', + '' => '鶦', + '' => '鶧', + '' => '麙', + '' => '麛', + '' => '麚', + '' => '黥', + '' => '黤', + '' => '黧', + '' => '黦', + '' => '鼰', + '' => '鼮', + '' => '齛', + '' => '齠', + '' => '齞', + '' => '齝', + '' => '齙', + '' => '龑', + '' => '儺', + '' => '儹', + '' => '劘', + '' => '劗', + '' => '囃', + '' => '嚽', + '' => '嚾', + '' => '孈', + '' => '孇', + '' => '巋', + '' => '巏', + '' => '廱', + '' => '懽', + '' => '攛', + '' => '欂', + '' => '櫼', + '' => '欃', + '' => '櫸', + '' => '欀', + '' => '灃', + '' => '灄', + '' => '灊', + '' => '灈', + '' => '灉', + '' => '灅', + '' => '灆', + '' => '爝', + '' => '爚', + '' => '爙', + '' => '獾', + '' => '甗', + '' => '癪', + '' => '矐', + '' => '礭', + '' => '礱', + '' => '礯', + '' => '籔', + '' => '籓', + '' => '糲', + '' => '纊', + '' => '纇', + '' => '纈', + '' => '纋', + '' => '纆', + '' => '纍', + '' => '罍', + '' => '羻', + '' => '耰', + '' => '臝', + '' => '蘘', + '' => '蘪', + '' => '蘦', + '' => '蘟', + '' => '蘣', + '' => '蘜', + '' => '蘙', + '' => '蘧', + '' => '蘮', + '' => '蘡', + '' => '蘠', + '' => '蘩', + '' => '蘞', + '' => '蘥', + '@' => '蠩', + 'A' => '蠝', + 'B' => '蠛', + 'C' => '蠠', + 'D' => '蠤', + 'E' => '蠜', + 'F' => '蠫', + 'G' => '衊', + 'H' => '襭', + 'I' => '襩', + 'J' => '襮', + 'K' => '襫', + 'L' => '觺', + 'M' => '譹', + 'N' => '譸', + 'O' => '譅', + 'P' => '譺', + 'Q' => '譻', + 'R' => '贐', + 'S' => '贔', + 'T' => '趯', + 'U' => '躎', + 'V' => '躌', + 'W' => '轞', + 'X' => '轛', + 'Y' => '轝', + 'Z' => '酆', + '[' => '酄', + '\\' => '酅', + ']' => '醹', + '^' => '鐿', + '_' => '鐻', + '`' => '鐶', + 'a' => '鐩', + 'b' => '鐽', + 'c' => '鐼', + 'd' => '鐰', + 'e' => '鐹', + 'f' => '鐪', + 'g' => '鐷', + 'h' => '鐬', + 'i' => '鑀', + 'j' => '鐱', + 'k' => '闥', + 'l' => '闤', + 'm' => '闣', + 'n' => '霵', + 'o' => '霺', + 'p' => '鞿', + 'q' => '韡', + 'r' => '顤', + 's' => '飉', + 't' => '飆', + 'u' => '飀', + 'v' => '饘', + 'w' => '饖', + 'x' => '騹', + 'y' => '騽', + 'z' => '驆', + '{' => '驄', + '|' => '驂', + '}' => '驁', + '~' => '騺', + '' => '騿', + '' => '髍', + '' => '鬕', + '' => '鬗', + '' => '鬘', + '' => '鬖', + '' => '鬺', + '' => '魒', + '' => '鰫', + '' => '鰝', + '' => '鰜', + '' => '鰬', + '' => '鰣', + '' => '鰨', + '' => '鰩', + '' => '鰤', + '' => '鰡', + '' => '鶷', + '' => '鶶', + '' => '鶼', + '' => '鷁', + '' => '鷇', + '' => '鷊', + '' => '鷏', + '' => '鶾', + '' => '鷅', + '' => '鷃', + '' => '鶻', + '' => '鶵', + '' => '鷎', + '' => '鶹', + '' => '鶺', + '' => '鶬', + '' => '鷈', + '' => '鶱', + '' => '鶭', + '' => '鷌', + '' => '鶳', + '' => '鷍', + '' => '鶲', + '' => '鹺', + '' => '麜', + '' => '黫', + '' => '黮', + '' => '黭', + '' => '鼛', + '' => '鼘', + '' => '鼚', + '' => '鼱', + '' => '齎', + '' => '齥', + '' => '齤', + '' => '龒', + '' => '亹', + '' => '囆', + '' => '囅', + '' => '囋', + '' => '奱', + '' => '孋', + '' => '孌', + '' => '巕', + '' => '巑', + '' => '廲', + '' => '攡', + '' => '攠', + '' => '攦', + '' => '攢', + '' => '欋', + '' => '欈', + '' => '欉', + '' => '氍', + '' => '灕', + '' => '灖', + '' => '灗', + '' => '灒', + '' => '爞', + '' => '爟', + '' => '犩', + '' => '獿', + '' => '瓘', + '' => '瓕', + '' => '瓙', + '' => '瓗', + '' => '癭', + '' => '皭', + '' => '礵', + '' => '禴', + '' => '穰', + '' => '穱', + '' => '籗', + '' => '籜', + '' => '籙', + '' => '籛', + '' => '籚', + '@' => '糴', + 'A' => '糱', + 'B' => '纑', + 'C' => '罏', + 'D' => '羇', + 'E' => '臞', + 'F' => '艫', + 'G' => '蘴', + 'H' => '蘵', + 'I' => '蘳', + 'J' => '蘬', + 'K' => '蘲', + 'L' => '蘶', + 'M' => '蠬', + 'N' => '蠨', + 'O' => '蠦', + 'P' => '蠪', + 'Q' => '蠥', + 'R' => '襱', + 'S' => '覿', + 'T' => '覾', + 'U' => '觻', + 'V' => '譾', + 'W' => '讄', + 'X' => '讂', + 'Y' => '讆', + 'Z' => '讅', + '[' => '譿', + '\\' => '贕', + ']' => '躕', + '^' => '躔', + '_' => '躚', + '`' => '躒', + 'a' => '躐', + 'b' => '躖', + 'c' => '躗', + 'd' => '轠', + 'e' => '轢', + 'f' => '酇', + 'g' => '鑌', + 'h' => '鑐', + 'i' => '鑊', + 'j' => '鑋', + 'k' => '鑏', + 'l' => '鑇', + 'm' => '鑅', + 'n' => '鑈', + 'o' => '鑉', + 'p' => '鑆', + 'q' => '霿', + 'r' => '韣', + 's' => '顪', + 't' => '顩', + 'u' => '飋', + 'v' => '饔', + 'w' => '饛', + 'x' => '驎', + 'y' => '驓', + 'z' => '驔', + '{' => '驌', + '|' => '驏', + '}' => '驈', + '~' => '驊', + '' => '驉', + '' => '驒', + '' => '驐', + '' => '髐', + '' => '鬙', + '' => '鬫', + '' => '鬻', + '' => '魖', + '' => '魕', + '' => '鱆', + '' => '鱈', + '' => '鰿', + '' => '鱄', + '' => '鰹', + '' => '鰳', + '' => '鱁', + '' => '鰼', + '' => '鰷', + '' => '鰴', + '' => '鰲', + '' => '鰽', + '' => '鰶', + '' => '鷛', + '' => '鷒', + '' => '鷞', + '' => '鷚', + '' => '鷋', + '' => '鷐', + '' => '鷜', + '' => '鷑', + '' => '鷟', + '' => '鷩', + '' => '鷙', + '' => '鷘', + '' => '鷖', + '' => '鷵', + '' => '鷕', + '' => '鷝', + '' => '麶', + '' => '黰', + '' => '鼵', + '' => '鼳', + '' => '鼲', + '' => '齂', + '' => '齫', + '' => '龕', + '' => '龢', + '' => '儽', + '' => '劙', + '' => '壨', + '' => '壧', + '' => '奲', + '' => '孍', + '' => '巘', + '' => '蠯', + '' => '彏', + '' => '戁', + '' => '戃', + '' => '戄', + '' => '攩', + '' => '攥', + '' => '斖', + '' => '曫', + '' => '欑', + '' => '欒', + '' => '欏', + '' => '毊', + '' => '灛', + '' => '灚', + '' => '爢', + '' => '玂', + '' => '玁', + '' => '玃', + '' => '癰', + '' => '矔', + '' => '籧', + '' => '籦', + '' => '纕', + '' => '艬', + '' => '蘺', + '' => '虀', + '' => '蘹', + '' => '蘼', + '' => '蘱', + '' => '蘻', + '' => '蘾', + '' => '蠰', + '' => '蠲', + '' => '蠮', + '' => '蠳', + '' => '襶', + '' => '襴', + '' => '襳', + '' => '觾', + '@' => '讌', + 'A' => '讎', + 'B' => '讋', + 'C' => '讈', + 'D' => '豅', + 'E' => '贙', + 'F' => '躘', + 'G' => '轤', + 'H' => '轣', + 'I' => '醼', + 'J' => '鑢', + 'K' => '鑕', + 'L' => '鑝', + 'M' => '鑗', + 'N' => '鑞', + 'O' => '韄', + 'P' => '韅', + 'Q' => '頀', + 'R' => '驖', + 'S' => '驙', + 'T' => '鬞', + 'U' => '鬟', + 'V' => '鬠', + 'W' => '鱒', + 'X' => '鱘', + 'Y' => '鱐', + 'Z' => '鱊', + '[' => '鱍', + '\\' => '鱋', + ']' => '鱕', + '^' => '鱙', + '_' => '鱌', + '`' => '鱎', + 'a' => '鷻', + 'b' => '鷷', + 'c' => '鷯', + 'd' => '鷣', + 'e' => '鷫', + 'f' => '鷸', + 'g' => '鷤', + 'h' => '鷶', + 'i' => '鷡', + 'j' => '鷮', + 'k' => '鷦', + 'l' => '鷲', + 'm' => '鷰', + 'n' => '鷢', + 'o' => '鷬', + 'p' => '鷴', + 'q' => '鷳', + 'r' => '鷨', + 's' => '鷭', + 't' => '黂', + 'u' => '黐', + 'v' => '黲', + 'w' => '黳', + 'x' => '鼆', + 'y' => '鼜', + 'z' => '鼸', + '{' => '鼷', + '|' => '鼶', + '}' => '齃', + '~' => '齏', + '' => '齱', + '' => '齰', + '' => '齮', + '' => '齯', + '' => '囓', + '' => '囍', + '' => '孎', + '' => '屭', + '' => '攭', + '' => '曭', + '' => '曮', + '' => '欓', + '' => '灟', + '' => '灡', + '' => '灝', + '' => '灠', + '' => '爣', + '' => '瓛', + '' => '瓥', + '' => '矕', + '' => '礸', + '' => '禷', + '' => '禶', + '' => '籪', + '' => '纗', + '' => '羉', + '' => '艭', + '' => '虃', + '' => '蠸', + '' => '蠷', + '' => '蠵', + '' => '衋', + '' => '讔', + '' => '讕', + '' => '躞', + '' => '躟', + '' => '躠', + '' => '躝', + '' => '醾', + '' => '醽', + '' => '釂', + '' => '鑫', + '' => '鑨', + '' => '鑩', + '' => '雥', + '' => '靆', + '' => '靃', + '' => '靇', + '' => '韇', + '' => '韥', + '' => '驞', + '' => '髕', + '' => '魙', + '' => '鱣', + '' => '鱧', + '' => '鱦', + '' => '鱢', + '' => '鱞', + '' => '鱠', + '' => '鸂', + '' => '鷾', + '' => '鸇', + '' => '鸃', + '' => '鸆', + '' => '鸅', + '' => '鸀', + '' => '鸁', + '' => '鸉', + '' => '鷿', + '' => '鷽', + '' => '鸄', + '' => '麠', + '' => '鼞', + '' => '齆', + '' => '齴', + '' => '齵', + '' => '齶', + '' => '囔', + '' => '攮', + '' => '斸', + '' => '欘', + '' => '欙', + '' => '欗', + '' => '欚', + '' => '灢', + '' => '爦', + '' => '犪', + '' => '矘', + '' => '矙', + '' => '礹', + '' => '籩', + '' => '籫', + '' => '糶', + '' => '纚', + '@' => '纘', + 'A' => '纛', + 'B' => '纙', + 'C' => '臠', + 'D' => '臡', + 'E' => '虆', + 'F' => '虇', + 'G' => '虈', + 'H' => '襹', + 'I' => '襺', + 'J' => '襼', + 'K' => '襻', + 'L' => '觿', + 'M' => '讘', + 'N' => '讙', + 'O' => '躥', + 'P' => '躤', + 'Q' => '躣', + 'R' => '鑮', + 'S' => '鑭', + 'T' => '鑯', + 'U' => '鑱', + 'V' => '鑳', + 'W' => '靉', + 'X' => '顲', + 'Y' => '饟', + 'Z' => '鱨', + '[' => '鱮', + '\\' => '鱭', + ']' => '鸋', + '^' => '鸍', + '_' => '鸐', + '`' => '鸏', + 'a' => '鸒', + 'b' => '鸑', + 'c' => '麡', + 'd' => '黵', + 'e' => '鼉', + 'f' => '齇', + 'g' => '齸', + 'h' => '齻', + 'i' => '齺', + 'j' => '齹', + 'k' => '圞', + 'l' => '灦', + 'm' => '籯', + 'n' => '蠼', + 'o' => '趲', + 'p' => '躦', + 'q' => '釃', + 'r' => '鑴', + 's' => '鑸', + 't' => '鑶', + 'u' => '鑵', + 'v' => '驠', + 'w' => '鱴', + 'x' => '鱳', + 'y' => '鱱', + 'z' => '鱵', + '{' => '鸔', + '|' => '鸓', + '}' => '黶', + '~' => '鼊', + '' => '龤', + '' => '灨', + '' => '灥', + '' => '糷', + '' => '虪', + '' => '蠾', + '' => '蠽', + '' => '蠿', + '' => '讞', + '' => '貜', + '' => '躩', + '' => '軉', + '' => '靋', + '' => '顳', + '' => '顴', + '' => '飌', + '' => '饡', + '' => '馫', + '' => '驤', + '' => '驦', + '' => '驧', + '' => '鬤', + '' => '鸕', + '' => '鸗', + '' => '齈', + '' => '戇', + '' => '欞', + '' => '爧', + '' => '虌', + '' => '躨', + '' => '钂', + '' => '钀', + '' => '钁', + '' => '驩', + '' => '驨', + '' => '鬮', + '' => '鸙', + '' => '爩', + '' => '虋', + '' => '讟', + '' => '钃', + '' => '鱹', + '' => '麷', + '' => '癵', + '' => '驫', + '' => '鱺', + '' => '鸝', + '' => '灩', + '' => '灪', + '' => '麤', + '' => '齾', + '' => '齉', + '' => '龘', +); + +$result =& $data; +unset($data); + +return $result; diff --git a/pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.cp037.php b/pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.cp037.php new file mode 100644 index 0000000000000000000000000000000000000000..a014e4b4595544e94b92b16655ec45eb6616c1a8 GIT binary patch literal 3779 zcmXZfbyyT_6o&E7*0H;FRAfQ1+hxJ-?!Z`K6%-LSRP4kq1e8$h?(UfRy1To(yJ7C< zFZOpmXV|%R&wI{nbZly3s$m3z-e6L^8J6G;dQFe%_4~bPW`tpyu7_NvC#L96RFR6I zVyHMOj!K{ss3fxTVJTP+l~$Mz%fJ<=tis)}oVXPl;x*k zp+=}NYK%-|t%Oa)Rj{eJ8a5Nxz%X$wYz_?+j%uSg7pxB>bmayZDQ<)<#7(fJxEV%? zTVN|#3bjV1Q5#goQCp{FtsM^9ft?Q8JE-Nn?m)21K}V43pcBY)&>3Vq=;ENH^SUd+ z9tYh(jssVB-FPl^i+L~_)<7Oq6UC@>AB=_dP!D9Ho+{lBdqMjk>@6OKeMA-a6%Ua1 z6A!`u;t@DNJO&4f7vLah>3s*o)`UY)G#ZK`&@j{z4M$7S2o#P+BKrg!C7y(%#Zz#M zcpQ!u&%klwSvX!i2PcT9;Y6_jPJ&I)WE6(t;$RCn1x2E%$c?5UOK&nAwj%VRHfRR2 zbtvOSox%iB2ihm6p%fH@=Al@W zitOufzNksy7c~h2q9#F5)D#Jc+6fCp?SzG*=H(($QzQ*e=Pnkb?q~^WhL)lpXc;OT zZ_XxM4n1fEYKm4Oo6+D}1-*o;(G0W(#iO+-0j)zml#XVi^=KB_fD+M0l!P`ROUGlg zc#Cukw9mt>;vKk6ybHJMTAlnIqORQuXH%Pj=Ad0D8D*lmC<~>aY%~w;MyY5InvZgj zALSxTLm^MRNtzFBHS}JkYQ=p@(bQp!u5wrjuMGMg} zv)7u^A%D1;;ML+;%nkh=UPZ&vYiI;|9gRe9pi$^eWZi&oL0edg<~Xu^-s81yk3i#|c)(5GlT`V37#pQDNB z3p5FRi7b6VUqL&Q^lLF2ej{eUZ$%zSUEhgWq~F7~=m*pe{fOG5pHK(%GwO(bL7mXA zs5ANvbwR(QuILZc4gHBM_1$04&LjO>%!mJoIq+XG7ybvWfn>il`#0gesxRs4}X8s-UWK5EO#yqxvWmg`)T{c<<^m5)Q*r1d2cnPy^Hu zHAImp5;a1NP-D~>H9<|Bn!0>8b#*gWH*EQ&*Mr~~SNI--uK6Y7LIqt2)c z>VmqWuBaR8hPtEfs0ZqSdZM1F7wUz2qu!_w>Vx{CzNjDShx()bXaE|32BLvz5E_IA zqrqqh8iIzRp=cNyhK8fzXapL8Mxv2u6dHv_qtPfn9^SjUOpk$M&{#AUjYH$mcr+gQ zkPl5j6Ho$5KoikKl!y}1Bs2+4Mw8JLGzBH0Bs3LGMbpqUl#G(mbTl2MpcFI%%|NLr z70pC5kstX{8cIU}6hP@H9nC_s&}=jt%|UZe2FgHl(OfhS%|r9ie6#>9Knu}AveBJsLjT>ft8V{K@{+nif9uLcz+5Emo%-3}T!#Ed9^fx!(Qf?OYjs!K_ri zXjTqiGAns6o0YX!%sKqMSIsx@Yv!BybvZ}*dc&+W_oi8^>y}yf|CU+H>us~1|F&6q zeaEc4zH3%K-!p52y>C`tKQJqgADWfNkIc&B$7bd26SMO6sT|Z!{LHK^___5fk6)OT z$1ly=Kwp`azpu^8-#2nl`|MjgS02AJE01^NY|Z0)J6GO*kb`>Pel+WS`^l_4|7dP-ViAl!Y~&1>){2Gad0UiC$J{sW=Ke9`~_ literal 0 HcmV?d00001 diff --git a/pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.cp1026.php b/pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.cp1026.php new file mode 100644 index 0000000000000000000000000000000000000000..aba455b5ec97b2e9987a607421d5b571f3cea32e GIT binary patch literal 3779 zcmXZfbzBsC6vp9e>)72oDzc#1?XqBZcVMir3W|suDt2NQf(qE(-Ffc}+-uzK?(XiA z`M!U#&*we6%yE84Oj!!L^V+@m1e-&;$~O})Y%lQYR=;}1lt_61(^=ofh-5@!FC57929jP zcO=;9pcBY;;OeXk&w*|+7e>P>$b+h)7?tjUv9K2Ef=tv^rTbtvXdi&x#Y3=%sN$aD ze$rmzLD*Y74Ew+ZsIS8Fu%D>5?hl(24nWapAc{bPP*XG*H9$j9I2wxV<8YXG0uC2X z!V%&zI8rC@BVmrHBVn$nbvaMe5=n!3YTx;=GZ(c$wG6v! zAi9S>>O{C8 z>O{CGUgf1OiCWN?#iOKGM15XY#apD;#M|(?cn97PwUKYag@m^hYJ1-nwfXOemngmq zZGEeJT+}r_0lQLbp>D`V-BBLuf$~vL^d#zqoY({M4h z&nUbApA|2{=R~#Y^Ds|~`~}#L+80rO^b#6?UPc4aD`*gU6%9tOp&{sXG!(sohM_l+ zbsfG1ZEc~q;iF^JS+4IWRq?x`rujWlP5-{Amij(2uA!`U$l` zKclwj7t{{@irS;!PzUro>WKb8ozS1iQs4ar?Of8oVMFwf!fg1jm;?WVRzZ(Ox(y@D k?+b*IgQh2(pQCOgloId-Bb?u+1qFUzFyv1$Rp&PT2Vg`sAOHXW literal 0 HcmV?d00001 diff --git a/pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.cp424.php b/pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.cp424.php new file mode 100644 index 0000000000000000000000000000000000000000..e8e2370303b50cecec4043f3e0a324155eee90e5 GIT binary patch literal 3210 zcmXZfS6CER7{>9~aje+8qaXu{y}K;f#e%&dSXNjCMZ{%E#NK;i7klp|Rup5+kfv9u zu6ku}SLy90k@J7Ac7D(M&9n2J=X__LiA%`I$g!;4pf8x2W=E#`f&`VW zMqCS9itAu2aXpL`H^A1g9BPBgqqeAmQ9H9`-AxAV!DfRF26fDJM}n;eoxnDO&S1Mi z7qG*it3g?F-Hl+UL3gmr!0Dj}-wi$D9vBB}Aupp`i>J1@JHjtgD_b<1Sh~|CR#x4TI3tTF-^gmS~sd<0%x+Lp{)Z6oD3?o@gO@e+row)*|Rd zi&1m56#39HG!-pJX=nvXM=OyZtwPh#YBU|KK^bT*%0%msdj_r-Z@`V>MYu`405`)K zXbYN&wxTSw4b4K^Q8wCvW}^a>gLa}hXcr2geaJ0>2SjbdgJL1+A-D(~M!Dz+3ZkPZ z4;@1vqT}czbOOyqCs95+h3292$o&*vfRoTgg&LW98U{n6KG0Qv?cqI+l{x{us*@LRYLeTN32@6llN0~&&UL`mo;G!#8R!%zqfM-R~m z^azbakCA&FK7sGgb8~(?g~i$h&)_J+=V&x~fySVhXe@e##-Z0}JbHtY(OWbDy+iIL z_%m#WenIWguc!n14Ru7nqfY1#)EWJWx}d*MSM)dPhWKRu(&%c5F!xVNkVXUcUVXufe^xG0|a-HHf@n4xVt+PD{azJCw14< z-CZb|_kTX!^Lx(By>sWBx%+HnbW&WB$CDiJ1>&cBgJOIEpEt_u^ZR|N-cXO%8**QW zH>yj)CA>g|P$5(p6-Gr+5mXcvMa57tR2&sYB~S@e5|u=yP$}d=9#k5YMrBYLR2G#* zTM2%1*6oi6MW7HT0qhK^K1m3&49tnk^C=7+6Ca4K& zikhNu6posqW~e!8j#{7=PAy%3wsdhT7q@b8YZte6aT^!6adBH0w{>wl7q@e9dl$EN zaR(Q7aB)W$cXV+l7k6@TNM}~j8AYH76p12H6pBJ!P!|-9qET1W6?H@1Pl!y}1Tr?LY zp(Hd9%|m|VN69D|1yBH`pcFJ8%|{E+0<;h)}fA23#c`gR8~;aE*8nt`+yfb>bnoUOWQR#N#ksJOS?)kHQDUGcZFu4IdOw z!iU5)@L_Q++#sgIjpAXrNn8gvix*+0co}Ai=V7*Z9c~e?!mZ*hxJ}H4+r^!52h7nv z?-UP^-6d*ccfCq=d4DN*lmT2!-~5w-DWVScujdCsg2Id9&~vo6S)tMEm$ z+WL~5rKevut2$TAs^uf*Ebe#JtnytmYkk+vTNr=CybIqnt2rJu?;w9m&eYC6X3ix4 zxLIACW7gK^nsxst%qy7xq*=wdEobc}|CD(Te%ibpKV#NT?ME@i~ktrY3?V=s#QN#b~P*e z4CY*dpDU|%exbQ4>h%ZCIZOIarPI_-e<`ime_L9o;~#mY zzLWoIxPDarQ#xB~yQ_2o!y-JMAb)IfN>f{j)6?;ExTY_!GSv H7vcFIjh|ty literal 0 HcmV?d00001 diff --git a/pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.cp500.php b/pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.cp500.php new file mode 100644 index 0000000000000000000000000000000000000000..3771c8f624117ef901a2e0a79449a865ae717aef GIT binary patch literal 3779 zcmXZfbyQSq6vp9e>)73LRAfN0+hM@&?!Xvf6ciCBRP4kq1eCVByW^bO-QAsfy9>_m z{cGk~@BU_;1^e53CMqT+A;sbF2RwnqI3qOP6Yv;r!{hULQjKtjVK^Ug8t&-gm&jt3 zKqXK~R1%d!rBG>P=D{+s0xGL84VHr|QF(=XU9C==12%$ zH9<{K2ns<4GFQQ-;%eATTmzenYhkFk4z_>}6o%@eSSM@_Q3RTXTxdF)hGwAF$b;IVnaI+W zj1zSS<3(L(uc+%hOVs_HEow3)h?+%-B6q|&2bxECjJYrpC7~8*9-5AlQ8b#5Vo(aQ zuE7PO=73Ms9Po>p0|8MpBq(YlEEKg77Kxgci$%?lR5*jDSb}<>rKmYthI*pqsA#y^ zdvFDGqm`%`T7@hIgL5_X5UxQp(OMLT)}eT`9(hq3nuRu?*=Qq5K$}n^+Kf!yjxFL% z(yh=s2e*m0;db#3+@Z6&_d7+M-38}Rn~vt9-6#oVpm``0C8I1fAMHUYXfIlTvXKwv zAX76TSG+-*2Q4*pzEZVffzmXJ3zcec?h`MQ?uRST0pv#qQ2-r6L39``L`TpfbQCQ{ z$51Ldj+USk$kfxdPXdOXLVMS@SLdaabDCyxFBjFTokYJQI|x` z=gXqj#TD@i#aG2!@S3QWyDqBbZipJlH{mjl-cqRHeOuJvzaw6v_%5{crScwJN_Zdj zLMG~sEYt@*iu$6*P(SoI>W`j41JILbAbJW7LQf-8E9x0&>A{~B_2+v|yujJ##f$I- zQO)`yTu%5B8jM~>L(nT|D0&qQL$9IX=yfy#y@5ueH_<5c78;G-M&@<+4zx6g-WAmq z?};jYU(|K}Kvdg*2#Z#*J(@pKs^!SBR$_(0?+jN%}o(hkiiq(T}JD`U!PJKci0Q7t|U3in^fR zP*?Oj>W2P6-O-=ORNwsttz6Q-#XR_rm<|6GbKrl_EG%M#%i#$1dHunpfZ-0~=cvmO YO!j*N;r4IS;sT#H5cDM*s&hI12mJdrGXMYp literal 0 HcmV?d00001 diff --git a/pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.cp737.php b/pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.cp737.php new file mode 100644 index 0000000000000000000000000000000000000000..2d67d33f9ed9e1f8650061e59b0b04ee9942c21c GIT binary patch literal 3834 zcmXxnbyyT@6vy#v>)PEqDiVs_Qg(L-#tJAXA}+fsHYV7ytliz+buZoyxZTO^?hdcK z-{1S!oX>OKnK?V}IkV41#-t{ux?E{qw>K%y35s`n-AUqLLLcmqM{29 z;RPy$3ZcTNFe-wIprWWKDu#-o;;1+(fl8o~s3aT8xyxNaa$9&HE}x=w=;2j6Sp^U2NQQN zaYqw(G;t>rcQSEEXR7FoB2Wa1M3E>8MWJXEjbcy?>VmqUuBa>OhPt8ds5|O`dZ3=D zC+dZIq28!B>Vx{AzNjzihx(!Zs6QHj2B3jxAR2@Qp}}Y{8iIzPp=c-?hK8ZxXgC^y zMxc>sBpQWAq0wkG8iU55v1lwBhsL4tXgrFIg%6LWrzgM(Xd;@3CZS1aGMbFs$c?6; zDJTxbp?DOJ5>Nt~il(AzXc|gHi6{vrq3LKknt^7ZWR#3%qM0ZKrJz}87D`2_Xf~RS zJjjF6P#W?gFY+NDnuF$`xo9q$hvuPll#b@3`Dg)JfEJ>KXc1b37Nf;z30i`dqTJ0e zL)-$FiCf`v(GORM*>I&8fUCr9aJ9G{W{NvtmbeqH5qH70;%>N3+ymE(d*KFgAKWPJ zhnvI$aI<&_ZV?Z|t>O{r7mvbh@fZw<$Kf{d1l%rOfIGyCaHn_)?h-G<-QpFvN4yI6 zir3&i@jBcu-hc`yAsOM2@&FEv+>ZKg()2zR5t?NH-t$lpL zT0QZkoULhl%39<0w6!Mr8Ee(^thMIiIcp8o^VXWz7p(RBa;;T=p0%d%MQe@WOV--Y zm#sC^uUP9v^s2SqQ?FU8e_pp%|GZ&+is$*J^-27e?AP_)wq8g69XX)>eb-vE@Se5S zzi+MQ@qxAW>qDHE#pOSOxq4dp;u*3Zi)Y~{I(H5HRM~UzGi6oC=i+*@Ux;hrm*NKa z70lHLe=X`ae=%+%KiiAoafemDxIlL`b%k@{kKhPF#eG<^#1%;%k_`&pV9%%!2_iW7#87j n1$h$Ee92xXDwwa>2$wG9nb?j~(6$!;|5wN>EFh)Q@5pft)Ol;iMT?4SY*6xnooteAc-7(wU z9j=_;bN-t5`+47c=iGCi3!mv0pOKQ`a%K8FzSKl_Sdz!*amTtnUau$H9qDqrBkqfE z$HoHzs)Q<|%BTvef~umbs2ZwZAIo0cwC6qK3$g+^7+1gc_s9s0nIVx{CzNjDShx()bXaE|32BLvz5E_IAqrqqh8iIzRp=cNyhK8fzXapL8Mxv2u z6dHv_qtR##8iU57v1l9`hsLAvXabsmCZdUG5}Je(65zd0lj+HDGMa*>ps8ponuew! z5AvYtXgW$ni6{vrp=6YdW}q2pCYp&-Pzp*#sc06Og=VAKC=I2dIcN?_N9kxTnu{_} z2AYTFAusZxOq7Xy$cM5}7MhRdqXlRIT8I{+Y?O@_p+#shT8x&UC1@#Hik6{eXgOMr za!_zBTmb{O;7aj0T&3X^aJ9OJ;Tm-h!L{lhf$P*=2Xmpb60TQwE4*Lb0{DQq4Q|lz zNw`tn>+nGsSPdT%*T7BUdbn9U3b%;bjjhnxNH*YbzfX6`kYa8HP`Yr{GEPHasQji%&yGu{)!#j{mHvMW2JAg3a9Py!94* z!CFzfDCa4Om#npcmvK;Wx*~4iZdXN}#WhjKdL4%Hb#gbXwYHnqI=fre+S1!Ns7<>A zo&9|GBbv_Jgdere!;e{C!hUOQdcaz#3tB5Hjs zN8S*XzBk1?48H|Kc?!ha*2>E}azQTh?^-Kf?^$d9eQWK)2i7{H4{<Ba=`}v)^ zI>_%~C`U*41NNWhn|>6}!=LQ5BK@=4I-Orct@>B-7#IHr1A2(xVJK%W?LRbq4*scj zt`_!}+PeC0QU8?w5f!3;MZHS@!BBy+e^>27M#Z>XVcz7-tTdlHHk_ZVF|Mri%w%7r T`Tbfr;7#^rdDGpRi*fxA$_!4T literal 0 HcmV?d00001 diff --git a/pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.cp850.php b/pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.cp850.php new file mode 100644 index 0000000000000000000000000000000000000000..0b314c80bf4cb090e3973d71286a54e5d00cdf3f GIT binary patch literal 3809 zcmXxnWport6o%o&VQ_b7AVeUzGZEa~CCHEj5(ptoCP2{O?n!WWcemXcmUVaEoppzG zXGy(Z{p$OiTRm0X_g3|psMxfmG?y#g=kX=SJ0S@kpT~)IJYKIS(+PJuPS|5%PIOG( zB{EO>P(G9&s*9MS9lR1?)i zwNNco8`VY*a!?&q2h~M&Q9V=-g`f~rAJs>pC=|to!ADoqBjGR{MW6`O05w1jQ9~4o zB2gpM2sK8HQ4`d}sHy4CrY3G?;$|jpZsO)9ZeijUCT?lsmL_gx;#MYZZQ|A@Ze!v$ zCT?ruwkB?8;&vtuYtJg$BR6uRC=`XFQ8bD{F(?+rq7JA7>WDg`PN);=j5?z(s0-?f zx}t8V8|sd_qaLUS>WO-yUZ@x9je4U#s1NFk`l5cQAL@_#qXB3D8i)p>L1+*fj0U42 zXb2jLhN59;7#fa-qY-EX8i_`tQD_tzjYgxmIQZyldU^~TgT|tK?Q7W2-rlB;HhNh$G z$cwxv9i<~5@}Ufrfo7l?XeOG8W}#Uq6J?^=Xf~RI=AgM~E}Dntq4{V&T7VXyEEHG{ z7m7FGBJmhpEbfO(#Dj3DxEC%H55eW)5x7D;4p)jN;41MbTrHk~YsAxVt#}fy6PLjC z;!?OlTnRUdhv6o18Qd&hgxTU{m?NHtx#A7DMZ5;Lig(~PF&AzZcfuXwRk#!S55Qf@ zZiTzWEpQLKw+Zf5b|2g)o`UQJbPl{^7Q=%T>w5V1&BkHxEg~42{@|?Ba$9e0`%ymJ|UW6}NtEn&Hz(UfOMUB29 zW|6%L{n{?qU@%98yKb$u-LO{aZd&i+=Wb!Yw%ct{8|scmXK!HihXZ<;r^Lm~_OwRlY{$=7Yc)kwOt)2J0wN8&0to3v+T5I($ zVZX}sG7Ow$_E$vR{HnN$>}%p`_`0|Pz5(y5>)%v%E!nrkb?|L*J$wfSv$Z$hwO&L1 zJvmo%y>G3<>I3Z8OZgB6boWPgv?}zm(rV>T#68Rv6jgvvMeT#n#7hkRT+D%AK)}avhS%*)NpM0E-Cnm7WR2-E+B~VFJ5|u)wP-#>el|f~Y3%O8PR2G#(r zcQSEj6L&Uo7ZZ0eaadQrqAQ9*Q79TkqZkx}Vo@xLLvg4Z>V~?b?x+XqfqJ5zs2A#m zdZXT`59)*ZqQ0mf>WBKH{%8OifCi$0Xb>8N2BX1f2pWQhqM>LQ8it0W;b;UJfkvW{ zXcQWSMx)Va3>t&RqOoWk8i&TC@n`~?fF`1eC_WzE|1~{52~I+j(PT6QO+i!9ROCi( zG!0Ed2`B+2qC}L0lF)QC9nC;9P%=tJDJTWaL^IJWGz+DoR5TmSMrkMw%|UZeI!Z@# z(Ol#~9+ZJHkQaGTCdx$f&^$CB%|{E+0+fZa&_c8jEkcXXVzd}7K}*n5v=l8v%g}P< zUk6u+x8X|hG+ZU-!PVk1xCRCMU{KRP zDQfzsRJ@zw)8ZcZ5cHjeXEavtJ*(nPWX~yk2%gtiwaNwY7TJriAXmL|$$AI*hpl(w z%W}3F@rt$9{t@igVqXySKVoz3XSt<}9gYc0CpT1^+QUe5TSwchsx4ruC6imRx8O4T`9il?phHP2Y< zD#^D#!T4vb598;oHM{4n_4O}cpSI~m7|_bTBx>->;ufC$3iNM;uPVD0z6OK3w_aDV z&eI#B9`&Zi>R7)83$oSrZ(FOC-;s0I^R9QTb;RDo!93FMi@NAOu+`e353ygZ{E?`0 zQXpyrK88W<*C(Q0{Hdt#`b^Yjd@kw|`9jo_zl476{8!56Fo&(=;IRL6g( zVjY<8p-&zBgQ&~vN0_g%KZ)9kpG9rsFQPW)SLoAUqu-$a8Xx()ve)4sqNebtc#7;_ zFke^O-!OQI>_4L3`>&|t|6oC`7Wy9c6*3~qA^BQC*ble=%f9FaQ7m literal 0 HcmV?d00001 diff --git a/pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.cp855.php b/pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.cp855.php new file mode 100644 index 0000000000000000000000000000000000000000..48440ba1acf8727aa87bb9faa657f640dc2ec98a GIT binary patch literal 3809 zcmXxnby!qe6vp9e>)73TR3sF;rR?qwj1f>!M4TB^?7(gX?C$PvZuiXXj=A04Df{>B zzh=G9w@%GoXU{Xyap}qFE|=Hm_N62^A&G9E+lg`99*;ZI33oY8*dt+1OlC@PAIp<<{wDvnB^63B&Is3a;s*0+iYN$G@j%uJ9s3xk3YN1-FHmZ&4pgO27 zs*4=tpn9kts*mcU2B-lFK_RFiYKTHnD2fk*4?oR}gu`$Yfg(^N)Ce_3jZq|uL`_f= z)D$&E%}_I==4L*do4SRmTbR0~sau-5m8n~qy0xiWo4Spu+nBnosoR>movGWIy1l8} zo4SLkJD57GBX`jeMWHAZjiONuib1g`7R8}B)CqM$ol$4h1$9APQCHLrbwk}zchm#* zKs`}U)C=`Oy-{z}2lYXHQD4*#^+Wwpe>4CMKm*Z0GzbksgVA6#1Pwt$(NHuD4MW4x za5MsqKqJveGzyJEqtR$I28}^u(O4884LFsn5 zQRynUN$C!_S?OxHMd?nsRp}a-t#lX6QMwl9D%}mYDP0G*E8PosDBS>eD%}TnDcuNn zD^>FzrDsX^D%DNyQ+kqgzjz)V5I4bt;stm})Pf#{0e$U9lpdw|sCXG36SdsO#Ve#I zL@oD87|<}BQhJ!?)8Zv~M${0Vg?Xn)&xyC-c^J&qGhDFNfM2xM*)GZ1n)u7sx|b_B zpuxNf{YSXkHSs#UE^72{z+lcH;+xjGw_Da4o{)>?rF z)>@!E>(iX>QELtCW7dnwAGf}ZpTPc`@JUgx%2Vpjk)O8K-8^G`g2SJ+)-*k5y`TJf zYdzfy*1G!_ah{gR5B-{gfT%b1B~efEvZx1tMZCk6Ulp|ouZed_Ul;WrzaicueG>+= zH34r~YZrK1&ed-8j(prE`6c z^UiRtA9S!b;2(9cHinRtOq$7&&dReGG}-;}P0zbn;s|4^zQjX#xYvj0-5 zpQFE(9^+L1z&!C^7|hiw{iise5m7Ezh$qRLk?M0|Liw{A<;qC&Ci%k6KiB*QPm(Xg Kljf)|%Jn}O%1rG5 literal 0 HcmV?d00001 diff --git a/pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.cp856.php b/pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.cp856.php new file mode 100644 index 0000000000000000000000000000000000000000..c9cac0c35d7c8d46246383d6a092ba47f0422fbb GIT binary patch literal 3194 zcmXxnRd7^S9LMqEaB+9IK!`waXR`_J?h<5477_>{tN=j+rMRM#LZwk@R0fqnWl>pF4wXaYQF&AWRX`O{MN|n@LJo3JWmFke zK~+#yR25Z2)lhX*9o0ZJP)$@5)k3vUZB!f8L3L1FR2S7l^-z6OA2mP?P(#!ZHA0P0 zW7HTmK}}Fo)D$&C%}{gH9J$CvEl>;8617CFP%9LN;!tbU8pWe{l%4?JK247#!bFsW zl29Ae2DL?PQ8G$K?NB?^9<@guPzR%qrawEH+{xrlCU-Wuv&mgd?qYIRle?PS&E#$- zcQ?7a$vsT&VRBECdz#$Klkq3ED3Q9p<&ZMRUD1(R?%?EkFxU4$46b(L$7qa?v8R z2<4$Xv=}W$0Te(%6ht8uLSYm}OVARu6fH%|&@z;d^3ig%9IZer&`PuttwO8NYP1@y zL2FO}`f(RrEAEEt#69p`aW7miM&Ns5A>1HF;YM*E+$8RYo5cfgi+B)j6%WB};$gU5 zJOX!!N8wKK7~CZuhr7l1;U4h=xL5oTM#PU`p?CsD#glNKcnaJo zyVeDazh|wj{8}zllYV2Z?|o~n)qiKL2KnAvt@wkr=6~N>^Lv0}+S{L0j_3wGwBE*a zAIZ^8__6hR`~=4|o1bl2tNlggPZ<4Fya=C(+R9(WkE#A9UWU(MaeG5I{Z_-1pg9s$^I7g?myxU2LCHwh5w0H;A>bM)#y76x!sCQfm~PPJkI|K395bo literal 0 HcmV?d00001 diff --git a/pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.cp857.php b/pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.cp857.php new file mode 100644 index 0000000000000000000000000000000000000000..3e7770ad59374f6dff41ea47271b3e5399323c66 GIT binary patch literal 3763 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 H7vcFI$@E|M literal 0 HcmV?d00001 diff --git a/pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.cp861.php b/pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.cp861.php new file mode 100644 index 0000000000000000000000000000000000000000..4ba6573c397be67ff55c276c542c146876bcd4b5 GIT binary patch literal 3841 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 O8|O>)Cb?A?=K3GlBw-Z* literal 0 HcmV?d00001 diff --git a/pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.cp864.php b/pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.cp864.php new file mode 100644 index 0000000000000000000000000000000000000000..953e4635060777745fefbcedb6c16a49f7605388 GIT binary patch literal 3779 zcmXxnby(GR6vy$|dhKq#DkBuTrR?qwj4Pm^h#ni^`#Ls5~lY;k5KB|uzpa!TRYKR)4 zMyN4rjGCY(s3~fS+{lfZp=PK#YK~f<7AOb>q5Dz6DHsfcQEUjjcXbv?C=5kmC=9hk zEm14f3WcL^)Ec!$ZBQH37PWQM&RL-CoVdLcw|C+WPTawXJ34VkC+_6Lot(I{6L)sv zE>7IViMu*+S10b~#NC{@yAyYJ;*cJEMGq8#B2XlXL{TUTMWbjGgJMum)D!hWy-;t| z8}&hbP+!y+^+Wwof7BlhKm*V~G!P9!gV10!7!5%~&`>lK4MW4wa5Nl^KqJsdG!l(M zqtIwH8jV3?&{#AUjYH$mcr+eOKoihJG!acglh9-|8BIY`P;4x`cXihER5%q)L(|Z7 zG#$-AGmr;)&`dNF#i2M9kK$1RNXg52c_K zG#|}JsVEgKKnsu;c~KflLq6m~=_nm7L<`X(vX$qyurK%KVZIrGtI|vmiY|cXnqK9 zGGE4<&D-%7^Jcu&oQ=1c_u}pN&PBLG>CA(8C%(G@?t*~}Fk8F{cZ(WY4lK;dB)v!J z({Qiohx=fWUya{yzE1vtS@j3adfOo!I7Inj@hm)|>O4)uQKgTPJ|=1sj$8FQ(kIMY z@k#SGe9F8VpEhgJoWc2;le3mSK>1_l!}y%}I6jXHG_(t%sxOL1D83|WWS2#a?24!- zUlkwW-fQBc@Va;c=87j_9xU?jzc##LrlM6Mojb1wUuj;GQ?{BL9MU4}Q_C(Z6KYa9%cRTJD(D z>bqt&_Z71?%d2Ls=hw{Vc>n9>OZW}5cGH_??Vh*Hx2S(x_N$-yX7#VYtbV;?)(&_V z2egph6LpBa4{z&ZJ`mNr4`Go%i*NY|7ig+KwzOJbXx8nYnAQ4E&1(H;X0`rvvs(X! zS*`xktX6+zR;#}@tJUAgc{&BZwY+xwcV-B&BKR4{)>BV6ezX$ihi=f7!jfj7aI?oDy4F2eOceLHQ_ literal 0 HcmV?d00001 diff --git a/pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.cp865.php b/pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.cp865.php new file mode 100644 index 0000000000000000000000000000000000000000..2668bcc4e583f4fc5a97336648ffc0a17d767f16 GIT binary patch literal 3841 zcmXxnby$^26vy$k_1fKfRTS(_K52 zoig9w`RhHO=giDI@64IG&kc)6j7{`-k^;U!T$DE`+86M7!@WMg-8ilU;Z7%GN}qvEIpDuGI(lBg6ag*?cEN~6-K3@U@lqOzzQ zDu>FW@~8r;fGVPjs1mA#Dx=D%3aWytqN=DGs)nkg>Zk^)foh_fs1~Y)YNOhy4yuFd zqPnOas)y>M`pApCr~zt#8lr}%5o&~jP!MX28lxtt35pDc_nxjsLSP7LikhNks2OUG znxht|1!{>}qE@ICYK>YuwQ=>?#>H)2+}6eIT-?sZ?Ooj7#T{JS!Nnb2+|k9IT-?dU zon747#a&$7#l>A++||Xw-Izr;6pBJo7z#t-C>(W1-BARJKs`_o)D!hYy-+XI8}&wg zP#@G6^+o+qKhz)fM+49RG!P9$gU}!}7!5{4&=52f4MoGyFf<$uMm3(Z2YC>F(`I5Zp0Msv^{6p!N3Tr?LYpae7z%|nSO z5zR;QkstX{5=ue=6hO%+87)8y&_c8jEkcV>3Q9qX(PFd&EkR4sQnU;$L(9=}v;wU_ zD^c!xxJtYUQ^jL&wYVRy5f8$(;$FB;JOtN^M_`(G9HxsW;QiuJ_<(o@W{9WZgW^f} zkhlguEUtwc#B{h(JPbF9>)>YbBFq#o!z}SU%ocCJE#ft}RlE(iiP>{hrN=BH|9_uxC5NbgnaeQ=+63hoy#zysoScu+hC4~ZM$VVI*WJR+*^QBfa! z4CZHSp!0F1wP`2BTVzj)D#KHvzTvc}VmTwK49~*+Y)$i=SqpOByqR}hkTX;9MYG1c zBxmXEm(4l_SIpYWtL7}myJpt*T{mlfH_TgTf784R-!iK>9x?AAe_PJf%06n&B>$LM zRh(ni(&w5r{^RDA^nb#v&A20H?I!=Ec@KWdyd6Jn)_k5Z>r#2vtTXtWS@+2EW_{mX zv*w>?R{g(V*5&b{S^N2tSr^mG=55UP6|>IQt7g^DYi8BY>t>bX8)lu0H|0!?_m(+> z_q{D=r{QiudF8j5zJHHkCj!aexmGZX7(w} zxdcB`R`dK^eYK5Wi2CX;MQ!?5qH6MMn4hMa`UdCe9{yIX_2TcWwFdiMPS*+j0q1B1 zezdeU{3o*t;%7NS1^0_t!~KeLukhKwS$FN%?>Ofy=|7ZCQ#t*qw0i$#X`PP0T z|50=OsQjyRw&wPq(gkc9>hT2mW0I2N1K#i^{Fx2)Bqt=r1VY?D+kyuEm_V{W!K-$m Gp8o+}M`57= literal 0 HcmV?d00001 diff --git a/pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.cp866.php b/pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.cp866.php new file mode 100644 index 0000000000000000000000000000000000000000..a7b47f8f39f67571b0eb53559cc2bd10135a41e4 GIT binary patch literal 3831 zcmXxnWport6o%o&VQ_b7AVeUzGZEa~CCHErBoIOv0fI|_;Fb*T?(VkBx`%a_th>9C zdcXSB_c^zxr>pC`eNM;3rzfYoT>gM3kdo+xC3ylKC)V-!e4Y#^(&ac24@Ee!aruYn zd=)?iP(f4>6+(qjVN@6uK}AqeR1_6M#ZYln9F;&NkPEp`NmLS*LZwh?R2r2*Wl&jE z7L`NgPVY7dgm5^-w)jAJs<~ln?lkh zCa4K&ikhNksF_i7lh5X+Zei*crfzBKmZolH>Q<(1ZR*yhZe!{;rfzHMwx(`p>UO4X zZ|e4@?qKQ;rjF>yU35flu1P$$$Gbw*uK7t|GXMcq(0)E#w4 zJx~wS6ZJ&BP%qRQ^+tVAAJiB1Mg34e)F1Un1JD385Di3w&>%Dz4Ms!I5Hu7GMZ?fA zG#m{_BhUym5{*Qo&?qz-jYeb87&I1*MF|P;!O>)T92|$nqw#10nt&#viO7RIXcC%) z5>X;bLP^Mryl66-jHaL|C>bTA6qJIdqN!*anubzQDw>X_qcoI;W}q1;9i^k0XeRO@ zAMztV3ZMWAq9B@uW}(?=HkyOxpbV6O=AyZ19-4>dqxon7T7VX!g=i64gchURjc|#$ z2`&{k!)4+Ym?>t%%~2AgSZ!N z6!*bR;(oYUJOHdX}Cu` z1NVw&;Xd&k+%KMo2gD2Tpm-4;5--8S;$?V5yaJDkSK%@78aysuhbP1v@T7PXo)T}t z)8cJ-M!W;hig)2Tm={ul&s!_P7p#@xi*oi-et*eYn|xW$Q9`a*Dnu6=r z%FqpK-QP`X&BZNirTMnC!hXkEvv60=)&M_jt)YCxTAO&!T48$BTGxNfdNI%AacgbH z6LOBm>q%?P*HhLS-KVW}KhIbz`OjKwY@V~$fIe@n^}S%N`+w0|bCzqZLA!6Q{d~z< zQ~R>D-aM~Z>&5h{wes_twes`2wPy7VYmM@oa<;Dbmi1bm@7r=H3%_HXiQl!>`R`fl zdAx6}{rUjk7e5r2aJ4*9VgE>6M)zY;fBlKLobIRM3iz405`Hdf8DEI2=zb}#hF^(m z;Mby-_>H)Z?ziH4_?@@`eh+iCz#r7rbp5EVR`ip)%Hq%JY6-unt4aJ-UH$KG>MHlY z!+UzK{sHr{6r(@Y*4ywe+tyV4EobVj@sCbdNdHwkq#^iE?R-YLU9K>n*B?v`II-b; c!n$3-G`}|xX})LkPw;sIL0_7q^W3ig0aT-0AOHXW literal 0 HcmV?d00001 diff --git a/pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.cp869.php b/pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.cp869.php new file mode 100644 index 0000000000000000000000000000000000000000..0f040548b5fb5c26eff8859380f744574ca5c0c0 GIT binary patch literal 3676 zcmXxnWq1==6o>J}A-FpXP%2Q|sp0M}MM4{Bp_G!OK=Cyew{45t;_hy{S-0uBYu4Re z>3#qA)12RP&YhgOGV>%pDJw0@;|T=4!Soa-BGnu8Ith-~@Au|7(H_T%x+}^_NG!a> z7ODs;f{LP|s2D1SilgGF1S)|_qLQc-Duqg;(x?n7gFMKC%A&HU94d#(qw=T%s(>n@ zil`E*ges%Ts0ylrs-mi>8mfk>qw1&zs)1^vny414g=(YPs1B-w>Y}=+9;%1xqxz@; zYJeJ|hR8tk?uCNQn6L&Ci2NQQRaYqw(GI1vp zcQ$cn6L&Fj7ZXQyrHig84#lB(6ps>60!l=QCWliKeyAVnkNTqlXaE|B2BJY|5E_gIqakPr8j6OZVQ3f{j)tQVXapLGMxs$@ z6dH|2qcLa<8jHrFacCSGkH(`3XabsuCZgnIc;{;N^dvY5O-7T^6f^}*MN^R%dC@d9 z4W*zIl!{W35Bbn^G#$-AGf)~zL+L0T%|tWNEHn#cpbRt{%|@9h6U{+$P!`HUbJ1Mn zM}8DQ0Te_*l#Q~{JTwo@NAuAFv;gIx9JCNEM2pZOv=}W$OVARu6fH%|&@!|FxhvpG z7`hBsi6`J{@eo`C!^^kgwbtA4I_$25>uov@Z%}#_+$gSwo5W*qv$z)KiR)p$cpPql zp`&oCvK!zwWzWIw;(543#d_qO%I+t-OWBifw|ENf5l_Rtus~0=PuY!RA5vCNv|n6D z_JE2v!Gq#vcu0H@9u{-q5mEDeRLm!POxyyG!_ZB5LRl^8Nl`0$O2wMz)8ci;o`K;E_fA&^R#f+tkv6fYfZxqYmL8& z-QC>ombeGrR&}n{@?mSOz$4Zds1I3dS3PR2<{z_OPW|K7H}DhK-3y--_ra%Bou`R< z+FIQ_W3BV>thLVZbJn{3^VWJg*IL~dU{_Q7f~Zw{Q9MX!J?s8=?;Gn=qWKt^1a>4%pjrzFtS~Sl`Fp-^H$$>^<=!+4pU=R_FtzFOmLG z)O#~5ULpIDcolvuUW1>AIz^v~TKdmKozKt3Ta5ieybZsE1#0pu@outTi}%8BM4i5G zMNP+d&=tRjA-(v15VbNtYV7^o`6p2ym7m22$o`_S+5*2St7Z8Oy1LcxDn7&5KSb@9 zKQ&gLkiWz=6#orfjr~VieKY=r;e74-|8S^~F>xMGgx?p)&ImdQk^E1L^JHfRe8Fh* Sr?IfW?+a%8Gac2%dHx3%T`Zaa literal 0 HcmV?d00001 diff --git a/pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.cp874.php b/pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.cp874.php new file mode 100644 index 0000000000000000000000000000000000000000..479945691cebc26afca2bf4ff9f1b3c3da49644c GIT binary patch literal 3410 zcmXxnRd^I<7>42EFt|Gm5F!xV*=&Nly98O1g#;bG!}~GX88%(p;*Wd`k_c9ROlyrzMphck{?Vj zy`+|^3@U@lqOzzQDu>FW@~8r;fGVPjs1mA#Dx=D%3aWxUY%!)E~q57ykYJeJ`hNvNGgc_m7s4;4SnxLkrDQbqAq2{PL zYJpmymZ&B2k&jxTR;V>3=;9Z*Nq5p_bHoI1Pn+1c$bZg+9JtJ_`O?&fwkx4XOD-R&N3_i($X+dbXx<#sQ( zd%NA+?LKbzaXYCmzoIV+pa4okX()(-C>^Dv43vTTp?;`8>W>DX0cao^hz6lSXfPU# zhM*y6C>n}}pb$D8jmKR31}jkh$f*) zXfm3Nrl2WkDw>L>p=oG3nvQ0m8E7V&i83?cjjKD;v*0W=8_h;@&>S=u%|#&;Li5l( zl!dZTHp)g}6h`yWe6#>9KshJ}<)U1)5G_QD&?1zF^3YFNBtwrn5I#h(NZ#a%O znu`wNE%JSMt9(D+CO?F?%Marn@?N}C-iCL{+wpFEbvN7tuNAMyd*uyypL{dkFW-U> z$Q$uN`Br>Lz6~FiH{m1lW_(n>9UqhLz{lk~@d^1Zd{Vv}pOWvvr{#O`8F>pnD{sZ; zWcxeM%l3C(kazI>MR_N_B=5q-vc2vS*#xKc7@XPX1{EB=Gzbac! zugNF4|GIn*2!>nPyG^P}NdvinpjeIOE!#UuH?Js0r)2ggbZAOHXW literal 0 HcmV?d00001 diff --git a/pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.cp875.php b/pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.cp875.php new file mode 100644 index 0000000000000000000000000000000000000000..856164536ef82f4e77209da0e67af9350b42677b GIT binary patch literal 3776 zcmY+{Wn2_n7{~Ez>)NeYqap)}-7X7ucL&A_tDuOup<<$!Dr z-6`|?-xt2x{eGV3%${?0&hyN~#HA&rxmwG^(j!7OVwpq1vc63RCJ9SV!Cl z>%zLI9;%1xqxz@;YJd!6Wx$5wGT2C54jYRrV7QnGn?M(eKs8ak3G2W}ja&_*#5J&~ zxE3}O*THCUJ!}q3pcbekYKclYYUSLr)+Pt7!Da_-9Mo{WwK?ktI zK}QG0o$s9p>~hc<>~>&w(Zu&ax40L^z-q{Ys-sw?9)NK$40S~Y>V|AqW_A~K)ASHo zp4n4mfo3m}C7QiO7HReobprc}tkmo$YOVd@1ST~AwLk+=3>t(Y(O}dJ4M7djP!xfN zAzQmST-0uk5LIYKiaL^`MD6Ej@gP?oBOZcd#lvu%cm$4z6VU_|j^g8CQ#cVtp-IS% zCZkDc3TlqLs3n?;?4vM2JO&fR9Ox5s;WY6$oG#|UB=H1H7Ei(%a1ok`qEQNJf@Yz~ zC>6z`*(eUBAxra_18p?`zo;S+5LG0C8moUPq^N4fTv0`0o~ZsXUsUZ(hf|o;0@MX9 zM2*oR)D3}mYbEQ4Nx%h6P{0wthKl!#U$A6kW`p)52Vtwu>` z4N699k$oPn6EDE^;zgJ(UVTr?jYN9iaJEkGxbeH)$>@4!>yU3ePiXTUR}+WlEk{rw!YRO-${`xIj@h^OI2 z@eI5K^K~9CD|(jb6-9MCuZr13uZe2-*F_!P8={^`Zi<HUV}Bkm=9gYT{n3kP0D1`xL@%R3=oK^=y^4mQ*U(V(IvR%FK*Q0S z$WkqOOVrK$HVh;89c1g@dlwdD=$Yd^jm;tZeR!`4JJtCEs7n=~5yU=3Bhg1_6#5vA zMxUTD=uv;FR@5Q<4z}Vt-=o&(2h;}r zh}xo`P&@Q9YL9+F9ni0+Bl-<>LcgQV=nrJ6ar`Of5&a8ljep;#f0U|f`>$B|JQn44 mxx)RvKqw_>cp`Wgb-O~T0belEc`+?a@cV)xf2yH8x9dMXG%%O| literal 0 HcmV?d00001 diff --git a/pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.cp932.php b/pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.cp932.php new file mode 100644 index 0000000000000000000000000000000000000000..0bf828ffdbfbe208e5ee725770fb17a3560e8717 GIT binary patch literal 134095 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%0Dsv?L$y5;b4PJ= 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 AWdHyG literal 0 HcmV?d00001 diff --git a/pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.cp936.php b/pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.cp936.php new file mode 100644 index 0000000000000000000000000000000000000000..a593d05deb2677f456f5d87d26c555034c244ac8 GIT binary patch literal 372283 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 literal 0 HcmV?d00001 diff --git a/pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.cp949.php b/pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.cp949.php new file mode 100644 index 0000000000000000000000000000000000000000..d4e99f1f4310365ba3d0a8c27678f3f720f4c6b2 GIT binary patch literal 291504 zcmXusb)46Cy5Ie~-k!R9yKPT<>hA4ni@Q5j+}){#vERsV+=tDc;0`l5Y~)Ue5>E&L zZVmB)gd_wA-0~>p`+oj)@_jybnbYp|`druK>|^&|{_C|%*Z#_{Y}hz& zHqQImum5b``t|d+{p_#)%FllGYyZoy{p{EO)&Kk-fAfES{ifpUHx*yMx%m3c#n*2s zzJ5#b^;?Ut-&%bAw&Lrz6<@!-`1iU3~qX;_LSmU%$8b`n|>1?<>B3U-9+(i?82beEosq>kkxPf3W!agT>b$D!%?u z@%4v`uRmOT{gLA9j}%{jwD|g?#n&GzzW!M8^~Z~^KVE$OiQ?-|6kmU``1+H@*PklB z{#5bxr;D#YU3~qS;_J^8Uw^jv`m@E?pDVupT=Dhii?2UleEqEW`dRVy7mBaHP<;Kx z;_ELKUw^6i`b)*vuNGgwT73QG;_ELLUw@_e`YXlPzx%b~^YQi?6?3eEpr`>+d}I`nyl&^Y1?S z>%aHpum9eYzyAAA{`&7f`Rjl1wos-um9PTzy7sq*Tmv$ zQt>sZ_?ldNO)kEs6kk({uc^h?)Z%Me@indZnqGWOFTQ3JUo(oYnZ?)4;%ip%HLLiV zU3|?hzUCBPbBeFI#n;^8>)#e%|F-!0cmJ;VeEdJ3%=Eu6KL363^&g6_|4@AW$KvZh z7GM9V`1()9*Sz9uUhy@*_?lmQEhxSg6kiLAuZ6|eqT*{&@wK@4T3mcBDZZ8zUrURx zrN!5>;%iy)wY>ORUVN=6zE%`pD~qp{#n-ChYgO^Jy7*dMe61t;N^2;%i&+wY~V- zUVQ!M;_E*bU;m}}`Y*-Te=WZLYw`8pim(4xeEs+0>%SLYI}+Vse?=hO4fa2$FFKp?3O_8$zS*1`Tmfdo6)e>jk4 z2m6l%lI>vs@j%KQ>^~Vuyo3Fx0_k_K|8yX+4fdZ2q_@HTvwIVBS1`^(2 z|1Se+Z?ONlK=K>xe?E``2m4IAElb;^2UhN{xd9Rr#kR$iV?KmL>-W z%viD<94O_Vk}?MeY6FRLaG)-bJ_iTt14(pnz*wfz!2wg4PzMK0VOkv=Xvv?ETn7hQ z11WZJpe>MS2M5{%>2`3SGq9sbaB!e2PyxCFm7q6J1^NQjU}vBPJRK+jz0?A|)PZO6 zPpJn2Y5)Q%0|7OHz4FKW@6iR01-gOedccYN zBYJ@d`+x{{0?qv#XzponA%EyEfW&?SJez;SGeC2@faZ1s&Fu-Cl-OP%k9|NM`++C; z05JRqf#E*{%=%$q){g+QeiWGXW5BE*2WI^Q@X+@I!#@BF|4Cr@PXV)j8W`L&z~G(* z2KO8=xaWbvy#NgEMPLel2@Kt{z|cJh2J)}|^T5!(01Vy#3cUO;0#o=BFol!)~B>(TgB>x}a=lLoBC-AQS zU%;&Y-@v>62{8OOf#LrYnDx(qS^pe(g1-P}{YzlhzXE3cYhbhofl0mv%;{}#KL5}E z26#`u1t$3p@W6ftjQ01yX#Ws6?PR$NjP{SfXx{@y`#vzq4}cf?sdVi?HaRtyJulPgAm3~t3pkio4O1v0o5qe14h zVhqTfR*VIi(~5B*=SIbNkio5(05Z506G2|>ib)`oTrnABk}IZwyxJ90LC%eeX&~1{ z#dMHaub2Tc+7&ZFZik9lpuZU0irF9!eZ?G*8Ys8|egT~sUq$)jQ^NFEi-0%!8_S1bqVrD6q0FBL06dZ}0i^72=#2Fash4M+_Y zYe8zLSO;>iSF8tl`71Vn^ir`AYUUmSzQ~KqVlcT95<2q7DeC9_Xb3=%ozw(g^g@1oYAjvKuN|fPh+ofZBk7 z+JS&NfL=O*Ub=u9xh2WI^OFzXkAS$EN&HR~?= zvu52zf7YzK=+EX?(Fzy+*<4B$F8Z@-c+rnl!%M(Axdi0#GLXkBz&d#q4HK5Atzy`VjWa^?nCsP;wIhnfX&#BTye@=uh`g0<5(Vr9HCw{C5Zvqj1 z3PkuB5aH)QgkJy)=S!f zfe3#DBD@Dgcpr%H0TAI&K!gv02p<6vy6De|&_#bvgf9AXB6QK8%bu$o;tx%8l|wrrmLI>l33+@ki;q%fFxGA5M=RHE&^$;axqAAl}kXHt6U0l^;IqdiLi1xNQ9Lu zKq9PM2@+xDDv$^(SA#@YxdtS{%C#U7R;~kyuyQ>}gq0gWBCOm9l33*?ki;rCgA`S{ z1*E9Ttsq;havKoPc95l2xdSMw0w}5yWNB4a1ujUe8Yrp;=%oZ|i`%lY7Gy_N)`6^~ z%6g!e1|W|zkVhksM-z}oGf+bdP(v$FLmN;-J5WOhFzcPb;C2Cn+YJnE4=|^_z?}90 zQ|O|f-}Hqp9NOIIbhb$1G9bsnDvVw*H)#A{-WV`(O-ChT}y#aLVqQ9tH7yU)uy67+J z)IeO_8?I9 zEuie%K-u2_A%6>0c?YQSJD|$%fhvChs=NzS`6JNWJ)pV!Kw=Mo#C`%2dk7@<2uRFD z|4WIv=zl3O7yU0K=A!>)5~~{G4^3iKLqQU&8U|8S)o_rasz!hWR5cQ$m#R@9y;O|` z>7{B6NH0}mL3*hg2hvN`c#u4*CV=EoH4!9_s!1R^l{Y92^YRr5i5sagQiOVvV z{8Ci47$l&oB_NxyYAML#t6Bz15jldh_DfeunCB;8Hlh2WJguC0#&vF zRkj0Fb^sA}2AgP%p?zs_Fv*a?w90AQ$~}0&>wmm)o++MgN?lT=dT= z%0>U2qIUVQirNhnwFf9_FHqDzps4*oQ3rsc4gy6T0*X2e6m@KrbhN zUiyJv27nq)0yUfhYB&wla0aO1EKtKaV2hmxIRmRM0KHrUdU4S|XRW#DpA(Ra{yA&S zMgN?lT=dW746Jg|KPRyl{aA^;1SEC|NbF^xs8@iZUIqF44ppxKi|=)yxi^5tcRBF9 zJ@+QC=iUPL+}l8v?*LW43sm_Yu;<4HRpm{f%1?nRKLe`#9H{aOpvo_S zE%p_##l8l*9R#|)1$28G==K|++i!tx?*QF?2Xy;A(CrUEw|9YVe+0U{2XuQM==K57 z?N30r4}oqU0o}UjpO>kN{&|_Y=$}`mi~jjkSv|xbnkuV@23|;&)x$ultR4AUskKfgKWa;2_Vf?PXuYMdJ@RutDX$f zT=f)?=BlTHG*>+hq`B(pAk9_J0BNpzCP;JDvp|}wo(g6CsRj&Xks(K|zQPrzJdZ}Iw z(o6LkkUXl_g5*)X4kVB2^&p30^#+h$syBl4QoRXetyOOZ38;Dt5YSd2plt=*dP*MD@G-BDc)vev3=fTBtuYpuE#WQ$eTfo!qrdZ4)mAh9x#SR;^F z6OdRlkXQ?lSSyfN8<1E#kXQ$hSSL_a7f@6;P*e|4R4-6eA5c^-`dd#aDi{5&rxcZo z{?=29%0++cDMjU?zx7m>R&_4=TTe-Bmme#!-9Tb{fW-C!iR}Xt+Yhp|stLWmvM}aDj0aYFcIX0_L0Gaj!nGOJ%o&+*I1!Q^}$n*@5>Dj=Jr?O7Y z0gLZE5b^~e>VJncY(y-0}^{5 zNbCcUL$Ufppt&nRa~}cCT?Lx^7-;Sq(A;&Pxf?)px#(~0&|EJ1TRSwDi~iOQ&E=xM zwL^2c=x^=NTrT=sJ2dx+AFH{WKy#l0&3y(m_c_qq7eG;80!4ils1VTCKtO{)K(~NR zcpE6{8=$CfflYV^NbEac6Mhdg_XDu_?gEMZ2o!Y>*mL(metoNc04%OJ2HADQN>7`~UNG~P3AQMzG17w0~W`g{>QZozW8LycQGGjG!K;HG5xgaxEGY@3OYUYEC zRLugAk*Zk;GEy~*Ku)Kc#UKxT%@UBIt62*2(AO*jnZlaoAX8Yg0_5edSqbvc*Q^40 z=xbJk3~tRDU~tz0bGid={AG zbHF5@2PXLfFv%AK)#lViUu{lZ^pAf7FXqEV|M)lX0$lXf#?nRq_!sWtAK{{Z{0nyh zFZ!|e%S*t1xdcq|%fKYR0!;F&z)F4pQ zEug5|ff}pe8=$CfftUXdkl1%XV&4Oa{Qwko7YOJ_pqG0pa?#fa$VLBn^E{c4(hz@W0xAs!38*v-WLcDkgA`R70a8?HBuG)E zQ6NQ?MuQYp8Us>PX)H)lrEwqumBxbvRGI)1P-!AaK&43_0hK0$1XP*=5>RO>NI<1& zAOV%8g9KEX0TNJYCP+Y~Ss($GW`hJ&ngbG0X)ee;R+gR0;#gJ8l=k78jvbWYe9Zj zFRcUFgr)T$-Ig|hY{Jq;ki}Qp1QK#-Gf2p#Eg;>Nwt{TJ(l(GySlSL!c4-Gl*`*4Q zvP+d9e@m@Y1(JHH8YJ~n4M^&x5>R$65ON(5ay<}o0}yf<2)Pjmxd{ll83?%r=(ZK; zwhhR%9muo;$g~rvvJ0rP8>q4esInKRvJa@zMPE{-i@u~v7kx>DF8Y$@T=XT0x#&w0 z+m#<%E3w@`VtatZ_5z9R0|MF)1atuC)8OaXb7z3XcNWOw9I*J#19@Bk^0)}(;i9jVhl{>e9xnP?dAR6n z<>8{Q&E;5f(brmhFZ!_pdI<>V60rDQ28wzGDC$+9sMmnS_d1Z+8$e>0fyCYfih2tu z>TRH?cYvba1@_!~Kw|F$d+q~Zt$heIcLiwfqd=YJt^&<{3^aEQXzn_&)@}f6%|&0Q zN*8^dDqZw-)|!jHPNpvUI+?oY>#Vg;{Mg*5rJF#=p8_F&288@M5b_s5$X@~>e+7j6 zHOSxHC=CLe@D`BzZD13A11!F8f%fkJ?SBWP{ymWT4?ya7fz*ElQojeJejiBv0g(Dn zKH)E@yMyXfnL?4qv|vWvb>$S(T2gj_qsADWPBhk}G$I}9Y`+TkD}*Ny-QxppK- zx3!}{x~&}z(rxV+kZx9%$|H5r-M{kI|HQ3+L<5`*3JTnuy!^`gtc=(BCMSY5@GE;kO*t%gCthF03@;6 zg&;-ME&?g4b}>j%wM#&Hsa*=PD{Gg51XQ~mB%sl#82(MbtZxQpeG4$_TS1mq?KWWew*$k!0~r1aVE8M6 z;jaRQzZ&FFtgQiRC;>Ip0yWeH8q`n^)X)IbPzGvf1leM>O(0vWwi)Q91?Z&}$fFI& zqaCQB1E`@BsG$pF1J!l|HS~ZioZ4O>k3Jv|7kz^~T=WguFSRcE26?#X8`R*UZ%~7a zzTuhT`mEjM$7a9O?gm*WwR?a(_5wBR16dZ2FUTkVS>(4Gyz2*mSw9HO`XOMF4+BGY z1Q@!bz|b8FlugiaV1iBn1Je%-%m6SjCqb^9+Ec&;odzc84Di671xD%|FjD7%k-7jp zuor>(aM72|hl{?PUq)(O^yOSAwJ!Ry33Abwy|^y=vIq7>Kh{XS1dP-rV5D9KM(P#d z34RrrvDbh%`E`(!rS=Vwlcn}DFqUruul8HOoW2dr={vwP{w~N-Q~Mt9uD=hw>mLB` z`iH>qUjc^yBVhQi0uTMiAb$g(_8Rc=Uk7@*0lfS!`m&ebMPK&vyXebaeiwb&%kQEu zi_k@17U3s;tO#!cFaM{3Mlb(oz{~$R(CrsMw_gG;|5rfBUjrcz0wLc5E~VQ*+1~(V ze+!g-2PpeHpzQB~vVQ=|z6YvrrWw9{?JreHxwkox?v#A)eQ$ptZoEIVs#@yimDq0(o5ZFkY4J>faFm( z79@|laUglrjR&crZURURbrV5qsG9^*L)~PM8tSHi)KE7Sq=vd_fu_uQ-E@$_t(yTd zxOFo@2Dfe&$l%t^1{vJCIUs{uHy311>*j&XY2AE~Ijvg&GM04Xv{kt-7TkgIl)@WNFnc2btu$6(Eybw-RJ&)vW@#gX&g;%zE7#kS$iX7G#Untpl0$ zy7j=UZvfd*bsIr;RNW?^hRq;5s%{I&N~+rmf+oeY56V^v#-c z(KkzMmmjOB-9SKlfL`_jdF%u7*blNB>J9+C90Ynf1mtlT$m0l*$59}UV?Z9qfjmwC z>!cs(WdP{qB+$z#pqJA?FK2*W&H}xh19~|R^l|~{Qa4Cb0NE1@R?jzXZDd z3h4H0pxZ&9+gm`lw}EcI0lNJb==Khf>32Y;-vgQc0AzX>$n-}b(|bUs_kp$c0OaF>efZys#_O*t8QKNt?9OYh(9#l)(-{gwtg5$xAnt8x~(4p(rx`n zkZ$Wofpl9x8l>C$F(BR6j|J(rejG@*_2WS@t)BprY5hcyD(feKR9Qb6q{{j!AXU~+ z1*x)r8c3D((?Qm2{S1&y>t}*wT0aXU)B4#URo2e|iLibyNOSe`K$@$c5AwTM{Q{8n zTE7sa%KAkh>$QF{NR{fn-|09wgKH4Ir7;Zv@G-eiKNh^_xL5t=|HYY5i7^OzXD=+EQixc91IT zcYst`UjbBE2~=4HR9OvFSp!5^0wSyhBCG=0 z79i7BkZoGu26WpFblU-R+X-?7*LMLScLO2!03r7RA@>2@y6D?<>!NSV-&Co0(YIya z*1PE2l@JYlk3eGgfW+l%4MY5)DXL*8NKp;LK$cd+aFE0r zMt~&NFcM^GHH-q;Q4OO(dTAH~juw|e!&s0F)G!XDsD|+%8>nFdNKp+FL5gaa1QJlg zWRQRwrho+0Fcl=AhG`%HHB1Kys9^?3Kn*iN0&18A5>UfzkboNI1Ui#P!(5PAZkackX1!qn$gDRk1ex`QMIeLQuoz@;8kp0q70y)1LYJoiJfIR9!7EVJ0&`TNU zr4i_*3FJU)Xa)jm0Rn0T0%`*SY6k-900Qa+0_qBMWdl9_H_8_l6!jWV)a!w60lfhPbQuWfO`w;zfL`7PdU*%v z5OU`fii#qVIN~ed5PD&~5^={wXl)p8=cjb71(t0EYidVEDfRHsRMm4THcY zyajB++dv-Q0C{{11e$vU zEIt=~x5ek8@3#0{^xZOb(RU})@{s(YJz0F^p&;FshkgDMmsh4Mfq+Xs0l6rX-Nb2R;AgPzv67l5Q*UI>zUc@aqJ z<;5VWmzRK~US0}Pc6k{{+2!RRWtUfglwDp4Qg(S2NZIApAZ3@=fRtTc3sQD@9Z1>b z^&n-JH-MB~-Uw25c@s#;<;@@=m$!g~T;2*2a(Np_$mQ)IA(wZ6g#7s5V_e*YJqfv7 z2@-O-3MAxmH4t)5pjXHxAmmygMr_Tsk`WVrS78d&B0oB z(f4ZKMc=D^7k#hxcloi}-wm|C2WWpU(EdK4{ry1u2Y~hu0_`6H+3MxPK>J64_KyOo z9|KZ94y1kpc>u?o#9XSw;CXo84K{~$Dw}G<10m}Xs2>A{W@^?VU z-vc540EB!O2>C}K}CAR#x70tvZsG)TyeV?aV~919Y1<2aCz8^?o$ z+&BRw~o^r-O9cI0K~H#+e}9HqHX+wsAH{ zw~cc^wtC}SkgeW052WnI`5W*yB8?C4=CG3|8r%#=zp$k7yZwb?V|s=vR(8)SGJ4(=gQvY$0~a_Q1%|6?7cwQ z`+&0d17#lo%038`eF!M~Fi`dppxdKBx5t1?j{}*W0IKW5KWX zPs{Wrpvp@?l`jKTz5+z}DiGmoK!mRY5xxOLco~TBO(4RzfW+Pg5_<|G$S_khIS z2NL@LNbEx(u`57g9|4J71&aC@DC!ze)O8@B8$duV`lkitqJP>ZbkRSpC>Q1{v+9 zF(8xNG!|qmo5q2RWz%?&U*DQ0fb52*i6Dd9GznxkG))E>+@>iYgWEI}WKNr=fy`;s zbdWi1ngOyKnr4FRhNf8{liV~LWRjca1b!pCp=mD2XgAFR8SSR|Afw&10OW*gS_m@h zO^ZNgy=gJXXg4hZndGLWAd}p*4CG>KS`M--npS|!decgfWzn<>WLY$=23ZzOYe1Go z(^`;Tn%05z(zG6=m!=IM>!fKT$U14-1hP(=HiN8_rY#`NHEjiHu4x;{I%(Pt5@FL0 zAi@eD!b*^ft*HvAvKpwe2B@+GR9OpDSqD^E4^-Iz^1E158Ds-BH3Ho>fo!0rW+3Di zAmmn{+cu!vcA(o1kQ1({69~Br2)P?%12y#kW%mMQ_W@13*y+fuarpMI8o;Isz1R6e#K# z(93Zkj}t%*{Xh)^Kn*8>8cqQCNS%70ki%#$Z^&54zPjV1v##o-UIS@AIReaU?qJB^l}C0aaMACwa9s4eEF2g8E&;jdcUd?t`dtG0#E%uwO`w-gfnGiX zdifk!7GD4XeF+5g6|gM628tR4in;|9bsGri8=#kOfjsU2d3*;>7yq8Trtg7e@dFUh zU0_-K2<(P?Kw|fS#2x@e{R9;C5Gd+VV7DXBMZa5OF8bXPbJ6dXn2UaQ_Dk~+e`uO( z9tzT2^DvO+numil*E|BGx#p1|%{7k#X|8!RNOR3&KoV;n3zAs#IFQ7e$Aj#s<_RFp zHBSWDQO%P;B5a-v5@GWckO-Tnf<)Ln4J5+m=^zm{&j5+Ac_v7N&9gw(TJvm>tFL(u zNT$tmK{9Qg2eRjy=Yw?Hya1%z=7k{LHZKCX`kEJmgxtIYB;@9$AR#v|1L?MTIY_t7 zD?qw!UJ3HI8Jbsttj6ZmAZ0hN0a=aBYe6<)^E!~!o7aP+-n;>%?BK+1033Q~6SHjw4nyd5O<<{coZH&=k9-dq{jlaQOMfNraSOlyElOF*WzK&Ev- zru9Ik4IrDaxeR352xQs>RM`wv*#cDA3PjijMA!~Q*a1Y?2}IZhMA!{P*aJk^3pCdU zB<7;uqbL{s9!0t6_bAFmzeiCn`aOzr(eF{zE0MN@p zpqE1+tFieo5YQ1Iprb%Q$ADgr19_YPYUl@Q7zpgm;%hz$viO=$0ll0CS$xfBfIW8> z2{4ucSt^t`|2Qs|@>^T?xUfsIr_v+R~zgM>|`n@@6n_cvKh3ul= zE96i7SRvm8LjDv8`7hZu3?#yq;UE#Vi~xzSWh6+1Eu%mpY#9v_Vaphh2wTR2MA$M8 zB*K>QAQ84q07o)G`eupqA+%0kzBk$)jZ^NFFV- zKx$~24N^nP9FQ7X=7QXXE%QL~XqgX^N6Ui1{%pdQg&@7OECT7JWid!EElWW1XjuwU zL(4LdS#Mbmvc+0ffb6K2l_0a;vI=BJwX6mi{+2Z$!{4$NWcXXwfee4kdXV97*#Hdx zMv%L(WfREKYS|3ru?5IuE6CDn*#`8o9q45T&`Sl#<=9dQ1XKkCR1E}F0|Zn80;&Z9 zssjS52iamR4Io>rr3@t22(ramnt;Tbfy7#XqFRBX+JK_kK{ilJ2as4NkXRSU25RXB zn(G0Y>jj$Y0}^x5A5fHw{(yj7^aljwqCZeo{2imm|0#6EzdidvHc*R;{(!`G`A1{} zJ^qiS%ReRirDYG$++L9V(y|ZeWk1l%0ic(IKre@YUJe5_907*^C@|W`fYCk9Brt`ifGIo;ayqq~0mkwyFqY?lm;XF4rx$=Zy$H;yi~fMIbkQF$QZD)f z`Guy%MSsA%?xH_n=v?#%yz4LK#~w6vF9Ab$2^hMUfuVZ^7`j)1p?eMF%4vBWn8G)J zDZC84{BHtd`4-68)ABa38{PqS!@Iz4cn{bO?*p^`0Wj+y0;7Ee810XMRd5wp1s?;$ ze+^g#*MS;t0IR@7f6yv$(I3={i~gWqT=WO60vG*30lDZ8S_Pl@u~xxNU=@4{H1`?M z+~>e5_yUOVOCZ9pfC#?^&aXkB%3DB{w}C3Z0jm5KsPYa_<##}p--FY6f`0(k$z7n^ zAAxmp4_FrWfwCU}A^!w~{16EFQQ(k!%te1l$S(RrLUz#~60(c_P(p4U;tx&8twTY& zZ5;-ZY3p#12wO*hMA$kKB*NBFAQ85X21%@S3`kv)i&S|@-6)H)F) zpw>ws0kuvB38-}nNI})>1`<%~bdWq+XMoIl>r9YYZ=D4)>#egvX1#R|$gH={ z1)25Mc_5SAIv-?`TNi)~ZtFsj!EIdxGPtdaLC&7mB_NaBx)fxRTbF_CsMh5mqusg! zWVBmXf{b?Ss=(n~O0BCwX1#R{$QEl|3rzAlkY6=g*MqF2)(yaDZv*VzJ3uzj+yfsY(Ov7Krb~QE2*^v z1XK$IR0jl953-V48-Sw9Kv9iAQB6Qm%|KBtKvAtgQEebAskI$sCAD?{&2@sTq}DDV z!fqh39w4z^AhAA>?a}I@KP)j9{oyQ&Ru}zY&AI3gYtBV~SaUA=!xG!&$0}+!5YQeV zpuK@30@?=zv>yoQ0Lb=eJqWTaS`Pt<9R`-g5g@UnKw`&$#Et{&R(H~Kii~fkB zUi4!X^%79jC7`I6fuddkih30&>NTLK*FlcF);B2-`-3 zMA$Y4B*M0_AQ85W11YL)JV-!o6F>rLn+Q@v+oZs;EWWnMAbGS+0m-9nDo7q}(?Duy zn+`JkZ8Jb-y=^AQthdbqnf12WAhX^!2V_UJ%>|kDws|14-Zmd(wA&VdjCR{XkkM{i z1Txxfi$O-aZ3)O|w=D(PQEkgWX1#4W$gH=m0Gai+l^{E+Z57C@x2*;l?Y1=_qusU^ zWVGAX0i(Sh80`%p8>np~FzcH@Hc;DUVAi()v%VFW^=-hcZwF?52Qcduz^qq-ES$C~ zkcHD$4YF|BYJfaSAPc9h7U-o8=%pTH;j}e?+?H)+kPXz<2(p3Nntj5(D1v2deIX2r|^v7lDqCcKvv&}_+ zT(>Uzmn^Jge~KT!4opzMP{ z*@u9#4+CW%0m?oKlzj|jt+gEoQa=H**4p}k)CYjnPXei*0?IxOlzj#$`z%oQIiT$G zK-m|7vM&NfJ`p~RlW&S`4&*++d!4?09C#VRQVpTJl_X0{Q$`HLm<;DK&Br7 znO+5|{1~Y68c^kRpvoISl`i@ds&vtxP^F9hgeqP1CsgU8KcPw&{Rvfm;>W7;CQ#+4 zK$V{XRelas`310%zXUS<3drCl8Q`#6vq+Q);`&^`fV zaN8$>3~u`*kil)A3^KUwQ$WVDeJaQlwod~Yy7uWHL)Sh7Wa!#wg3MU^ERY#%pA9lW z?Q=jTsC_QTz_iZ;8JPC@AOq9B0Av-kF9eyO_C+8Q)V>&G6|^q_8L9TAAS2bj3}h9w zFAogl0yNiB6l`i@L zRqpa*Rk<6eat~1DUZBc-K$ZIgC!flTdjMDk2Z3%60lVQa5b_Zqz@Ln{TVRY zp97=)1+ZVf1oq2U!0>+!4F4doUv2?4+y-j+2G}p(0{i6-(93r~FW&>b`~dWF7wF|j zpqG0ANKqZb z0;jVII);NJ)-eJkv5t`-iFJ$uDXL>MNI)H9KzivI3(`x+IFMdC#)IsJjtL+EbxZ_V z79Ep7c0sSMlSjSqB#5&f2B-XJWB(aVSAc=Ks1WBx86UYhIu^Hrq>(~Oa z=Q_56RN1i&WY2YM2g$T!2S}zJ6(E^*RDzsv9aTWL)j+p3K)0p98JX4snbrZB)`R>u z-_ZcF8av8B$c-SYv7-qHxfuw#1?aXF=(Y{$wjJoU1L(FB=(Y=FH9r2Y;VbU3GeYhG zLhc1Z?gKJ)(Vvm2i~fvEUG!&U>Y_g*Qy2XinY!rD$aI$=Ljm zUj~|c1!(S7pt;w8#9jxAdIJdPG7!+4z$SbP2P#F)Zm8Sm#!tsBJ(|+kv8XfZUdk|9gRpWAnVkDuKkRKvrXCHPBoQ z&|C>2o%)>6x9qA)dCdN3KZ1_vMW2=fy6q1#5#e*x`4#G zfy8=%#Ck!F&CWicIT!tT&AI5$YtBV~KFhPyMSos|F8cE#bkUy|;VwTm$7bhlpvpZ! zm3x6I_W@Pz2dX>(RCy4n@=)MHwrS^KAk!m2rbj`xY3DH@)8jy7bm8U@#U*{Ph)3ZRP=YUMl165uCBD@HGUTpPF7ySim%|(Afb1wP|)|!j{g2Y_( z7bNDQzo4iW{a8i41Qc}%2pz5#~+TVVL_0K@+sF#O*G+v5kIhPyxwKLRz}18TSr)bIe< z9zOxw;~~(?BVc>D=r7tHF8YhMhl~EA#9Z_jlUUafe`pfx8VZtF*D#R8x`u;nkFF6Q z+oNkF$oA+O1yW_#Xpkzq#sq$u?a?(BB-5^OAenZJ2g$T+0?5_ZH4&uSu1O%>c1;H9 zwrdJVw_Q^~y6u_<(rwptkZ!wXfO7HBcg+OZKwYyy%I=yCvXZ*yfTZ3v7bNwrc_3wX z%?ByFYXQjB*R>F&?5;&1Wp^zGDZ6V4NZDOWLCWr022ys{a*&X_R)B=uwGyPtu2mpa zcC7|E^19Z5WZJbBB-5^SAenZp2dT1a14xx!8$qh<+5}Q%*Jh9^yS9K-*|im<%C2o7 zRd#I$sj_PaNR?d`K$Vq1l~q8M)j*XsK$Rt+%37exI-tsWpvs28v#Klu5jFx5HUSYf z0}-|W5w-#mwgHK?1BrD2iFE>rbpeTW1Bvy3Tzy@=AXi^k9}uC7{#g;a=%3BL?Q+pS zt4bIBv#NB_Kbw8q<)VL9mAm{{iR}gw+XJ#ZyY>Rj?E{+I53)SF4uCAru7e=Uv+EF$ z>0uz#BS5A{flQA9nH~o+Jpr;!yZV7{2Y_x*0^Obhx;+hadj{zCEYR&apxg66w-Ny6B(Pt&9Fy-MZ+X)vb&ES>3+q$LjVapxaA<=Vbaakm)Nxm9GL- zz6MnJI03aiZv&aW17!Lx5aD}3gzp0pegHK0A<*0v(32JY5wI(- z0#$wt?8B-<JKB;#P$shWBQtuuL zvXQ%ofwbQ}9Hjm35g_e%j|4f3yGMaM2Hm4U9)s>NAdf-!Sdhn{dmPAP&^;dHG3cHE z@)&ea1lif$lR$QM_hgXgqI(L+bJ0B&WJPyR19>jGr-M8f-7`R*i|&~q&qenvkmsU% zHpp|)JqP5u=$;GmTy)O^c`mx=gFF}A3qYQW?u8)FMfW0*=c0Qt$aB%X1mwBsUJCMD zbT0#WF1nY4JQv+7K%R^4l_1YW_bQO*qI)&SbJ4v9H19=^~w}ZS6-8(>DhwciH*P*)-4BCLlpdCoP14z9SD7yaNpxa#Zx1ZAOi^Y$<{giHB0=m5fbo(;U?JK}me-#M%H6Y~Ifso$-LcR=y z{3a0cTfkO-8`$da0I9zVr2ZbT)!zr&{{U$JL!kXDAio53e*`=RSAoaiW8g8k20RAW zfydwm@EGKxzx|ZQAQ%1Zr>yy0^tYe#I^?3i{gl@s7ya$0todB@x1aJ{eB#Gi^EZL_ z<5S@M_zZYIJ_p{9FM#*sOW^(Z3V1)h2HuZB;QhD-ydSrL_v0Jj{rDDmKkfkU$9KT{ z@jdW<`~bWkcY*igN8tUq2fQEmf%oG9@P7ORydMvN_u~=pe&nLR{gn437ya$0JQum> zZ$IU^$VGqqsXP}wL-L32$aB#%6y&++83yuP^b7}iE_z0QJQqD9L7t1AQ6SGn&uEb6 zqGt@qbI~&v2l8C>j0brxdM1E87d;a}o{OGIAkRh5WRT~gX9~!3(K8j~b?BJ} z@;dZP2YDTOW`Mj7Ju^XGhn`s=uS3slkjJ2B4#;EBGZ*AB=$Qx7e$RZ6_Inn9wBNH3 zB=w#}AgT8(21&hV2}tTaOF>faSq74N&vKB|dscvi+_MrSvKxT1%Rt$UK-o<|+08)NEkN0= zK-q0T+3i5t9YEQgK-pbD+1)_MJwV94K(~EBx4GzVSLiku{p||f=Ayq{q1#;aw<~m; zi~e>+mUvGt`r8#k-sQ&%c{dR99-!O3K&JbED)$3b9spUuJqJM+aL*y2+rvP&M}R7i z0?i!*nmZ2kasue3ALwNO=;b8P%PF9S(}7B(eFhlqv%qMd119-AFv%ByIlTzXX)gNP zmBum`{q0I)nT!5*rLoLKf4eg0XiqNs+m+_jMPF%7U-V-woR@&Xy#x&I%fR5i0?g^F zz|g%04BhJ>mt)Txz&g1MjOClaI(Z8i%eR5CdK zEItAT_bM>B9|Ozc8n6nk1Cx9M7+e>9rNMR4S9<7O^pzfZ7k#DCcF|XQ=w0+x-t|xN zW2+4RONAp?Hvy?xV;lV2Df)2$gABu31pIcCxc9K?-Y z4DyWkE&+MQdzXR?ZtpUX!R=iR@{ISc0C~oHSAxuG?<$Zv?OhFW;`gord9{1j0+YNB z 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 z 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 literal 0 HcmV?d00001 diff --git a/pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.cp950.php b/pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.cp950.php new file mode 100644 index 0000000000000000000000000000000000000000..267b190668f43dad5d1129cde15c033ed9e26597 GIT binary patch literal 231436 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 F{tLg)Cfxu4 literal 0 HcmV?d00001 diff --git a/pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-1.php b/pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-1.php new file mode 100644 index 0000000000000000000000000000000000000000..d7a217c9306874e5ef39c99ac566a70c695120c4 GIT binary patch literal 3779 zcmXZfMRXNO07l`#;o_P+F80 zr9WR2-E+B~VFJ5`|G1 zl|rRZX;d1OL1j=Bib7>kSyT>{Lj$7W{WG{DF)#*|N99okQ~^~)6;UNr2~|dwQ594L zRYg?;RSWKCwP05dcJ*M_2zHHN*9>;eVAl$Etzg#W;dj9;gTEiF%@5 zs2A#udZRw559*8hqJF3!>W})P0R!OuGq}?O;XpJ94MKy_U^D~`LGdUa4MjuIFfcdi1f`%9G#O1sQ_vJN6-`Cc&@?n1O-D1(3^WtXM6=K=G#kxEbI=?#7u}r;=gE0+ zzMKyi$OUkrTnHD*MR2iP4423yaH(7hm&s*txm*rc$Q5vnc^47bQFaI4%3x5;gAyW9?U$Q^K}+zEHdU2wPD4fn`B zaIf48_sM;5zuXTG$OG`8JO~fTL-4RX43Eeo@TfcrkI7^3xI7L|$P@6SJPA+9Q}DDr z4bR9k@T@!w&&hM}ygUyt$P4hIya+GJOYpM146n#5@T$BDugPohy1Wi=$Q$scya{i~ zTky8L4e!W1@IiRbejk$ddso`;J!!uWOZ$C9+V7*%ejk(e`?$2utI~d7llJ?%wBI+R{k|#f_bq9^ zZ%g}qN80bZ(th8Q_WQoH-w&kyekkqtBWb@MOZ)vq+V7{*em|4;`?<8=FQol`DedhllJ?&wBJ9Z{r)NK z_b+L`e@pxQN80bd(tiJwsr{CZ4TYkT5|UHKMZ$6Ac#g(~QWBFBA~C_+H1&g|gh)zK KV%YCuL;nN!8Z|Qj literal 0 HcmV?d00001 diff --git a/pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-10.php b/pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-10.php new file mode 100644 index 0000000000000000000000000000000000000000..d60f6473addc9e2f2663c09326734ca5a91c2315 GIT binary patch literal 3780 zcmXZfb#xSG6vkmZFt|Gm5F!xV*=&Nly98O1g#6Yd7xqK;!c6gG@=dzu)%j0on*in{kN9KsM zopIS8G1GilSnu7%Gm6qY|hDDv3&>Qm7OvjY^|3s0=EL%A#_p94e2>qY9`3s)#D0N~jX5 zj4Gols0ylzsv;ZNs2ZwV~FnWa>tyZfxqtrfy>DCZ=v`>ZYb{ zX6k09Zf@%4rfy;C7N(AD$rLS-136GEibYQ3L~$q%#iMxC3bjJ5QESu&wLxuBThtD< zL+w#})B$xs9Z^Tr33Wo9QD@WzbwOQGSJVx4L)}q#)C2WEJyB283-v<1QE$`-^+A16 zU(^rvL;X>IGyn}i1JOV<2n|Am(O@(L4M9WEP?V4WpMRR29tMY@;b=G-fkvQ_Xe4qW z7aD~|p+uC3l28(IBR3k2Mx!xk3`$1HC1aBdfo7nYXeOG4W}!?J z$b_@S*>H|H2WE*`aIQEP&J*Xs`Qm)IKwJP9iVNW)aS>cBE{03QC2*;@6fP5&!R6v| zxI$b3SBfj)DsdHDEv|-Z#5HiOxE8Jx*TMDTdbmN{05^&o;U;kt+$?T}Tf{AJtGE?z z6Su+b;&!-0+yQrrJK-)E)Faz1>U#HxyE(j9JPh}V2jPD4EIa@M2jD?gtLzu>-AFVqyRR910 literal 0 HcmV?d00001 diff --git a/pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-11.php b/pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-11.php new file mode 100644 index 0000000000000000000000000000000000000000..d69220bff7d2555652dffb45b4e2223c11278da2 GIT binary patch literal 3746 zcmXxnRd7{T7{&48aB+7yK!`waC%Fmk?h@pZ1QG}#Tmgc+ySuwP2^CuE?)p;d?%uwX z?Em_n_WI47hcmPGIx{CRIVU5>=L>}c;mlMoDlHHWcz!Ps3WR2-E+B~VFJ5|u)wkPrD#X;d1OL1j=`R2G#(C9VnMhPeZC89*+M}Cxql29^AMqN-B)D?9_-B35w9d$=NP!H4-^+df; zFVq|LMtx8p)ED(d{ZK#DAN5BA&;T?L4Mc;`AT$^aMnljLG!zX*!_Y7^91TY!&Eh2l!da;Of(Z^qii$_%|baS2hB#aQ4j@D z2!&7>g;4}W&>S=e%|&z3JTwpGqFgi|%|{E+0<;hnj?SKJHtiTmJwaX&mD9)JhMgYb}e2p$#> z!z1DmcvL(JkHH6dD)_ir4WBTp;*(}|e9EknPn*^98MA6WYgW(a%qsf4SxsLstLlqp zb$!XKvM-y}_7$`0zG_zA*UT#Xx>=3iFst&LW_5nctkQ3r)%qQ?YR@yP_k6R8ziU?W zkD68eV`g>#xLM^tVOIP1%&PxMv-*F^e2n{W-+UZDZ9ajYF`vZGnor^9%%}15<}>&O z^I80&`5b=9d>+4SzJOmbU&ODPFX7kBm+|Z7EBFobRs5#;8h*=s9lve9f!{IT#P6DK z;rGn9@%!dG_ycnu{?MF{KQiCNADi#t2Xel?&!3pJ-%rij?`LN1_j9xM`-NHi{nD)c zer48vzcy>X-KRaB+9IK!`waXR`_J?h<5477_>{tN=k5cXxLvZpEc7H(P@ise7Bc zJJcze_uo(V{GKy&Gc)&`$+K|@87Uc-F+$cB7gYuxfC@;!~@}c}FKPrF#ni^`#Ls5~lSnns1B-w>Y}Z1mzfl)(KpAAji$i$6I+}Om8P29x9O-$U>#7#}y%*4%1+}y;?P29r7 zElk|f#4SzS%EYZq9Mzgtv_>xELUAY#xse;iqj;2n5>Ok|2DL?PQ9INQwMXqy2h;&| zL>*Bl)CqM)olzIm1$9MTQ8&~Lbw}M%57YzoL_JY2)C=`Sy-^?32lYjLQ9slV^+)~D z05kv%L<7+vGzbkwgV7K)1Pw()(J(X&4M)RKVj_I}G&MZ}jzA;PNHhwKLZi`WKZ_N=4(*cr*b`KxrrqO+*t>I!Z^A&?J$5Pyhu{5KTc-&{Q-PO+(XACdx$9(R4He%|J8JOf(D4LbK6qGzZN=A#^hY z=ZbUTJaHbJFV2Sx#07AnxDYN97s18iVz@+H0+)(Q;WBX9dM_( z6Ydgs!QJ9+xJTRr_rmOuCht>vAL;$#et1AU01y5@S%2z~(uYVN77xQGp`#riQT7Pg zqcE(~I;QL~vd6{a@Pv2*o)k~QQ_xYNomTcV*)!r9cvd_M&xz;YQ!qQEqdu?ndD0ie z3-F?N5nh7MC3soc%kT;es~)Z@dzI`p@fy4?UWYft8}Mo9=-i)yS!%;)MV-z~Q4Q{h zI;W&vgwc(4Js}_CEb3ri5s$LpJEG3& zE)1)r?}@sU?u**OtI$ykzox9#{JOGg;WtDr@=Z~n>@Cez>AWrKs(eRO3%@IB3-3Wk zb@jfo+R+E1KKF+jtQP(VW@$$si>El8Y*EYjMAS9=DRk7qpNR*V`?&_|7WzWeS$!$$ zUj0gQ)xclF@D*P5jRxziz7=(md?%_?z8BT)KZq*+A7OYeZ~jSCiT*6AfPaCG8u(Xb zwdUWHRsTK^Rb~%Gt?GBp)vNvx^}p{=QFroRqPFlibhL$klokIK)xVEmb|~lEV_cRM l;q&@~X#v|E$xl+36-@Vg1JUO9Y0dzjHxTrt+ZyMx{sU@pHv<3w literal 0 HcmV?d00001 diff --git a/pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-14.php b/pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-14.php new file mode 100644 index 0000000000000000000000000000000000000000..65a48ee397f58fc7835c9f5007dd118001523bba GIT binary patch literal 3801 zcmXxnb#zln7{=knA-FqSpj4o^lcvSpU5bP@&_XFC0u*<5cXwSpX<^wd&APkqcHP~L zZRhvizwY;(Z|2@PGxO%0#3f{;WH=l?zuTXhWJM&q{cg);xxHR@rWNh5tf+^gELVKN zBep<=P$5(p6-Gr+5mXcvMa57tR2&sYB~S@e5|u=yP$}d<4pbVIMrBYLR2G#*z3-w05Q6JO?^+kPAKhzKPNBz+NGyn}m1JNKf2n|Mq(GWBQ4MjuIFfYlhI`4Ms73( zO+iU02_>Us9Knu}Avv2Dgjb;SO;J+$rvayTn~^x40Yb5%<8o;$FB<+z0oI`{4oc06ZujgongK z@UVCo9ubegqvBC`4CV!OqQ`CPNKa_^35K79xjKhaqR!#8Jz4EDntX=IXVuQq-8!fC zIojv#ww7{14(ja}7iwJTR`Yg?}2Ty4vB@ffpjXmm&` zziC^sxP^0WG5ogO*3k#$EDaCYecgpDyRS{pw)_tW1?1*BWm04i&{&rs85AOed%#gnSMf4rk@m*>8C_x`e{*@=lRl`YAe)li3;`G zqC)+Ss8GKvD%9_Z3ibOitQ+=$y1Km|in=d(qK^L~@i>e8SX87x5l_ zMJ4(R@hsghMFsjRQJeF%c!9y+h!^3vqSE}Gs5E~sUSaSLFnkmKsP0wxlc?W`pGAe| z7g3kvS5dF}P1HXB4)a1<^dD;LSLIJJ#E1V9v*6!iHvC7t1OFB8!vA3SHhiG&y?n+v n9gYaE#}`QRTdqj{q&gjebf3o`ZT_(q4DfpV0dKmcaZbno0Z>I1 literal 0 HcmV?d00001 diff --git a/pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-15.php b/pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-15.php new file mode 100644 index 0000000000000000000000000000000000000000..42e50e0fd412fe7dae7061749d94bb216f38235b GIT binary patch literal 3780 zcmXZfWpGnz7(n60A-FpPD73h1DemrW1&UKj1$TFMcXxMoVOe)~Vcp%8-gAECedfJ4 zH$XqloRDdxlk^Y z8|6lMP#%;Q7!^iEP!UuV6-C8RF;pBCM+tFbb7N=dtzfPl%(a8LPB7OA=DNXLH<;@M zbG=}$AI$ZGIkEwtq5+CV(WoJ6h+XIckAgpq8j5 zYK2;%)~GdVgW90Bs4Z%T+M)KSJ?eluppK{`>V!I>&Zsl$g1Vrts4MD*x}olVIqK6nkz^guWe4MKy^U^EyFK|@e1ibX@w zP&5n;L&MQ<6o=x_2s8qXL?h8CGzyJIqtO^N28~5y(Ks{?jYs2AJc>sX&;*o#63|36 z5hbETl!TH{GD=1%CoTWBp1QOaxq*Ym%ycRDO@I(!R2x}Tp?G$m2xFqC0D`K zay48d*TA)MEnFwp!S!-I+#ol=jdCO0Bsam$ax>f_x4^A(E8Hfx!R>N8+#z?sopLAK zC3nHyayQ%~_rSe!FWe{h!ToYSJOJ;{JAn_nJ_rxNd%pEyw};staqE+gx;@JFm^=oL z%j58b^tmVHNw%ltDR^3*hG*m%cvhZ;=j1tfUY>^+;JushqT7q`lDq^j%ggYJ_uhh6 z-Cl*)llNX~1`-0Y54Y_?|T2$D{#2 zE)DnzX~0iP1Aa;x@YB+OpOFUqtTf=~qyaxK4fq9Vz%NPzeo6XGzAXJFUy%mjFAex3X}}-L100o4 zr2T#>53&7B+VAJ`2-`2D{eCI!_bX|?UrYP_M%wSU(tf{__WQlG-yfv?{wVGDCuzSw z%L{zwU!?v1D(&|-X}`ZqEBiy*@1N3s|C09mx4gk~|B?QT{44!s_)n(xTRu7zib#x0 lN*R|Njw#3g(dbZ0d{SI;RPg6C^@7B>6+(qjVN@6uK}AqeR1_6M#gK(8R2&sYB~S@e5|u=yP$^Uz zl}2Sy8B`XPMdeUAR34Q_6;K6K5miK$P$g6uRYp}%6;u^fMb%I>R2@}EHBb#y6V*hu zP%Ts&)kZe5Q5{qV)kSqtJyZ{cp)gb*)kond9K}b#+^6Z0NEnHtP!wu_8lZ-#A&N%P zs1a&}8l%Rj32I{0)bwXl6E`z)GZQyAadQ*5FmVeLw={7}6Sp#PD-*XiacdK|F>xCc zw>5EF6Sp&QI}=B==UcQ#F62TnC*Bl)CqM)olzIm1$9MT zQ8&~Lbw}M%57YzoL_JY2)C=`Sy-^?32lYjLQ9slV^+)~D05kv%L<7+vGzbkwgV7K) z1Pw()(J(X&4M)S#2s8qXL?h8CGzyJIqfvZ3%zc`k9s|dqv1lwBhsL4tXgu;D51N1` zpahhF5>X=ZA}^YVCZb7b5=ufzC>bTA$!Ic~f~KGpl!B(BsVEhtqG@OvN<(RAI+~7r z$cOyMj{+!wf+&b)pc!Z;nu%tiStuQ)quFRSnuF$`xo9q$hvuRAXg*qi7N882l>rxu z3t^_12^Wcr;9_wxTp})kOU0#dnYaut7nj2o;tIG@TnSf+tKe#JHC!XEfosLJaGkgg zt{2zC4dMp4QQQbOiJRbNaWmW^Zh>3Ht#F&T4Q>~=!yV!dxKrE-cZs{;ZgDr)l6T)={dDDSH4OSN1qO z0Ylo4lggeXdrE7s!_&&1hG&$$0ndsz;W-tbgXhKb@B(zyI~TQ94Sq?yP4Q)zlcBA? zg0rrWzA9dY*R=Q!ybc|;gM=f)Brye&#?B9cozNu9o@-4!fdtZPb$7Z@z3H#_=|W6 z{;IWl)o;pbet%b1XY_}to8nIu>kj%$)TQ&csQLXz)JXmd9reb4Fr*K9tm3=5Uoy&N mSz$h}KbR7*-QoNrby>kwzc&zR{+{L)_`HFjFV$9^%laSmz%=>* literal 0 HcmV?d00001 diff --git a/pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-2.php b/pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-2.php new file mode 100644 index 0000000000000000000000000000000000000000..5f23f515c40cad0483fe085c94b215b720765e7d GIT binary patch literal 3779 zcmXZfb$Aq46o&Cqd~tVJAduj$A-KD{1qe=n2=4Cgt_4c5LUCwIl3MES?(S}6-uJIP zzvnx5_s+~clPAquOdCHf6iQ5rO`0$|95E&~DK;Dvj!j62ogIz}g~O5eM22IUXM9x8 zP$rZK-HYx;nNenx1!X~5QC5@{Ltzv~Q?Vzp`)OCWoZcx_^>Uu$4FR1GWb^V}j5Y!EVx?xZ^4C+Qf z-6*IV2X*71ZW7c@f;zG(yJ(7{Q8a3XnxPmJgPNn}s0C_)TB4Sy6>5cAqt>VmYJ=LM zwx}IyhuWj|r~~SNI--uK6Y7LIqt2)c>VmqWuBaR8hPtEfs0ZqSdZM1F7wUz2qu!_w z>Vx{CzNjDShx()bXaE|32BLvz5E_IAqrqqh8iIxng?B%LGd&CrL&MQBs3XKMpMuf6p!N3R5TS$ zL(|Z7G#w?N1eAypQ4&f*$tW4kKr_%xG!xB2v(Rib8_hv;&|EYZ%|r9hd^8^|Knu`9 zv=A*qcNW3Laxq*Ym%ycRDO@I(!R2x}Tp?G$m2xFqC0D`Kay48d*TA)MEnFwp!S!-I z+#ol=jdCO0Bsam$ax>f_x4^A(E8Hfx!R>N8+#z?sopLAKC3nHyayQ%~_rSe!FWe{h z!ToYSJRlFigYqCeBoD#EFx5wP1g5*IqcF{o$8uZ^*Meg*R>XirzBy5Wa2d z{JtZ7zVF(6gs*zf)T8pgsV|uiOg&d0O4oh_Q@tA>n>tpXn0m}UmENn*Y(Bv@J~#ED zd|`Tu^h;A;UtgJ?CjHvfN%_Xq`TbUU>%Ozu_w)DC7xE7<%_I7w^smNGFy$h@`?GX@ zf3exG`qlI@&A-Vj@OPWNqCez0(m!qX*8OFAf%I=vNAe%(3+i8+kJ9`fOwahCD$$`( oL_%C*^5mp&OlAHZjSeNpC&nd31^=67G$h0&B`3s(?TZfm53l_*NB{r; literal 0 HcmV?d00001 diff --git a/pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-3.php b/pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-3.php new file mode 100644 index 0000000000000000000000000000000000000000..b31bb83f400bd1597d5e5b1024755c27ae92eb04 GIT binary patch literal 3674 zcmXZfb#PQy7{=k^aB+9IK!`waXR`_J?h<5477_>{tN_8?-QC^Y8ECo-EurlcT4-?? zTBty$1})Uc`MrPL@0ssAchBB?-ksT~n3RMR%kuhMzQi~?B;Mt7*-qQ#@wig$aLcyC zJ_xg&(HWP>3}r%@P-c`FWkFd`R+JTGL)lPvlpW7!^iEP!UuV6-C8RF;pBCMeui1yli5L={mbR0)Nk5L6jeMxiJa#fHK6S93zlfPsT-KOp{X01x{;|HnL4a7yJ(CY$bq6z6mlXbibl~W2F0Kzs0nI{nxbZ?8ETH2 zqZX(IYKdB+R;U$fjas8Ns10h1+M;%-9cqu-qYkJ8>WDg`PN);=j5?z(s0-?fx}t8V z8|sd_qaLUS>WO-yUZ@x9je4U#s1NFk`l5cQAL@_#qu5yZ{%X$j05|{*L<7+vGzbkw zgOLll&=52P#i2M9kK&OVxzSKG6b(bePy$Loi6{{bN5jzwGy)}|Bs3C@M9C-_jY6YP z3Q9qv(P-pB9^^${B>M}9O0jX`74STqieL#ZegjYs3r1T+CnL=({@Gzm>clhG73 z1x-b1Q{gmm8k{aphcm<(aHcpD&Jt(A+2U+CN1OxaigV#SaUPs6&W8)c1#qFb5H1oI z!NuZYxI|n6mx@c_GI1GPE-r^F#1(L*xDu`sSHacdYPd#R1J{ac;W}|0TraMN8^jH8 zqqq@n5;wuk;%2x-+yb|XTj4es*bTSCbnR+~hIi22Dei>3wN~7t?jE{(#l3K!hL6Ji zFsMx)P**%Co@DqCOgjXRXzc}fR9)TqnAU0=$JIT~@Coq*JSpmfPKl@Jo`!*4@Qk`= z;92o3Jg4Df@H`Cav0qSEyeR5}F2S@*ti7zY7vUB7ks|q_s7R)Xiex}k27@r5;9M1z zvTGVv20s?n{X|p-uZy}>x~L4^5S77CMP=|aQ5pPPR0h8g6}p?ELU&74=)M#cy02hB z=lQm}3f&!1q5E3H3eGp`Ds*>6h3=lH(A^ic_5lnYKnZj6}ngAVTOMekHB9< z9sXZMh3+>|q5EA_=>C8KJ&o7up61SPM1}584ePh=FLlo`{8l^<---I6_*+!0{((V# z!GA^F`9GMRaW*0xmKEZ0d;Lj1+ZoEgM2F>1_PTxH<}YK$fXD6gdy;LOG`?#EPucgNKUZB5zs)Q<|%BTve zf~umb$VN7*hN_|Js5+{FYM?L_hH9dkC>({O_z3vy)67UDj6_i=3e`fjP;FEjMWbj` z2h~A!QC(CI)ibJZ=Ci(u8<@C(i5r@@p@|!rxRHq)o4B!wo0zzXiJO|ZsfnAJxS5HY zo4C1&TbQ_oi6dHaik8TQTqp*`AUATOSQLxmP#kK7TA|jcHEM&}pth(jYKPjP_NYDT zfI6U#s3YoxI-$;}GwOo6psuJZ>V~?Z?x;KJfqI~xs3+=$dZFH^H|m4>puVUt>WBKF z{-{41fCiv}XdoJd2BE=dFdBk}prL3eijRlSKFv%IgTv5pG#rgUBhW}R5_ymZjY6YP z0!l!MC=q#)7mY@v(HJxaC7~pgjFQnS>){4*1KcQXgqy@oaI?4>ZV|V@t>RX=P22{zi`(H2aR=Nf z?u5IcY*Jf-X@cv?IS&%lso@+{2KjXeh)J)`sLJx}ii^&Wv2#q01A z%+fqxRJ1fNr1wpjsr`LR)c(FL>QwKDnvHiwUD12cIm15so4 zp{V`+NWEH(k40VJCo0zdehNc+pr0wLxq2XKaUP1AtItL4?-$|$&itjQE&B?Fv`1fy zdMMwhSiA78vU+`er|dDl`Fmw`>wZvH`};`LAU#&GdVdu4LjDOl8p5ANo$41AU*dOv zg_+vl-^2@Ke-||je~9Y+Q`G+c1)X#B{;lj)_>ZVp-@l^X4F9QD_v(L97x)BbW#76e nmt}?dy#8QHz;=i8chqGCQ~lmRr1@`}UEuQug1%H+buQ~EguyeV literal 0 HcmV?d00001 diff --git a/pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-5.php b/pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-5.php new file mode 100644 index 0000000000000000000000000000000000000000..fd038823053f32e5358a44934fe6fa62c5d43f67 GIT binary patch literal 3780 zcmXZfWpES;07T)#VR3g@Aduj$A-KD{1qe=n2=4Cg?(Xi~<=o-ig>!dTGVlGG{%WSS zcDJXeY8p14IBH@jl$aEoG8PkQ3+H6l|&^` z7==+OR0@?wrBNAF21TF z1yw;+QPn`zg8Q>tkgEr|dXQ@bxkiv{2DxUCYX!MhkZT9Ic981?xlWMl2DxsK>jk-9 zkn0Dzevl&@@GTmkXcUbaqJ}62#h^y05o(MYqb8^cYKoeoW~dozj+&zus0C_?TB25{ z6>5!Iqc*4wYKz*UcBma{kJ_USr~~SVI-*Xf6Y7jQqb{fm>WaFeZm1jTj=G~Bs0Zqa zdZJ#a7wV0Aqduq)>WliKeyAVnkNTql1K@*Wa8D0}1JNKf2n|Mq(GWBQ#iCd=6b(hg z&@eO{4M%Y(4vjz~&`2~AjY6Z)Xfzs)L1WNZG!~6Rt@0GyzRO6VXI82~9!? zC;=s+M3jV*P%=tJlhI@}1x-Oy(Nr`IO+(YsbTk9aKr_)yGz-l_v(aoc2hBlqQOaC6 zPtJq$<$Sn6E`ST=LbymSf{W#1xI`|2OXX6yOfG}V<#M<}u7E4$O1Mg{f~)0fxJIsl zYvo$FPOgLN<$Ab5Zh#x*Mz~3Cf}7=LxJ7P(Tjf@`O>TqR<#xD3?tnYxPPj|%g1hBz zxJT}Rd*xoZ58k!k{nCC9Nc%k~?e~zh-^0>=k4XDHD(&}}wBO^>eosjIJt^(?6ihkA zPdM#a`#mG=_pG$vbJBj#OZ&Yb?f0Uz-%HYdFH8HqBJKC8wBKveey>aWy&>)QrnKK% z(tdAC`@JLW_hD(jkH~%eS1EEod{iEQkI94Zad`+nArHeR$@B1Kc>%s6FTz*lCHR`W3}2U5;2ZKPd{bV7 zZ^`TMZFvK}BX7cYExt^S9Fdeka}U_wfEgXZC}q9q^CR0skZ&@Xyi#{~{gm zuhLKcO*-J;r33y$I^aL01O7`o;J>8<{s*Qwm47|!fd7-J11=vO3PmKuB_@wc3dfY= deKb0h9G@7M6cxOjre2T`mz10kANIQF(EqUyHw^#) literal 0 HcmV?d00001 diff --git a/pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-6.php b/pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-6.php new file mode 100644 index 0000000000000000000000000000000000000000..ed6f72f362f7e68ceb8f5964cc783aa0e198283f GIT binary patch literal 3104 zcmXZe)l*eb9K~@PJ$8$ER3sD=`*Oj=E-X-tD_jLd#2YGhw_taR-CYlk-Q7Of-G70y zzw2qQ&;0hBn!RRDWORCRx@CENE?-Kb9hBtqxooHH@_1YscBp0BA-O_qXH?D-o}=6- zH_C(Zpu8wA%7^ly{3t&vfC``h6o3k%f~XKGge+vC!l*DRf{LJ`s3Zm%Zfoh8$jq0E}C>({Ox~MLy zhw7pFsJ>AHb3PlG+|cBPCO0ya-t{{g`!b3YK2;%)~GdVgW90Bs4Z%T+M)KSJ&Hjwr~~SN zI--uK6Y7LIqt2)c>VmqWuBaR8hPtEfs0ZqSdZM1F7wUy#Q7r0>dZRw559*8hqJF3! z>W})PI24ECQ9K%e2B3jxAWBGp|5tOS2f;yTFdB@8pdn}|8j4)Vg@&PFC=n&1B$R~Q z$c=`h;b;UJfs#=&NV+{Wfh;&ymh+ySqMy6;tSC(~=hA|p{rxDazn?_)_p_+}ei7B* zucG?q}kf%u>JuP5rh^1 literal 0 HcmV?d00001 diff --git a/pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-7.php b/pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-7.php new file mode 100644 index 0000000000000000000000000000000000000000..cf723ac686da214bb81f7ec12f1a1e039af4acf1 GIT binary patch literal 3692 zcmXxnb#N6|7(nsj@Njo{Kp??gLvVL@3lN+Tk{4WpySqbakpjitTIvSv)V-zd?lL8N zPXF5PH+T2V&d#}W=QVAfG%hI=N{Pfr#*Yd|jgF7RhvUNW$;t6E!!e<7IQqWma9p$W zOSN=mKp9X*lo4e@nNVhw8D&9PP*#)`WkcCec9b3EKsitdg-}kE6Xim=P;QhPWR2-E+B~VFJ5|u)wP-#>e zl|f}tSyUEF({rl={3Lvg4XYKEGl=BNc~fm))Ls1<63TBFve z4QhkhqPD0VYKPjR_NW8ufI6a%s1xdhI-}003+jTpqOPbL>V~?b?x+XqfqJ5zs2A#m zdZXT`59)*ZqQ0mf>WBKH{%8OifCi$0Xb>8N2BX1f$Pjq%8Z!(G)ZV zC7~oV6-`CSC>f=o6cj-bl!{W(G&BuON7K;^Gy}~nc^47bQFaI4%3x5;gAyW9?U$Q^K}+zEHdU2wPD z4fn`BaIf48_sM;5zuXTGz`JR_$Nm4?7dhzd2f6)_JOmHR!|;ea0*}h0@R&RXkIUom zgggOH!nHUUJneFH5t$BF*xu z&tB!(Yp$B*byu&mdc#$-yeZA{5owl>O0&Er&GIp6mXAxbd_wvqpOj|#lr+nyr8zt! zt>IZ|md{DEd|sO63(_oaOS8Nq&GJQQmM_Tze5;qG6}}=LVD(k`Abd^Q=G>>tt%`=@ln{v|y}{+4dof28NgzcPKpR*nsYqLLF*QYS^i gah3Sr7#m7WOi75u1b-saZ%9svq$VeZy)QQOA7qLkyZ`_I literal 0 HcmV?d00001 diff --git a/pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-8.php b/pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-8.php new file mode 100644 index 0000000000000000000000000000000000000000..c978731a429f57aa8383c20fd27a66ddd4519af6 GIT binary patch literal 3242 zcmXxn)l(H=0ETf3W5vKiu~tDsF)%O=2NVlCutntvM?nGcgo*_gb_aGBcDG*WAK|5n z-JLT!%J;lp?faW=XU>_OXLe@e5^^(gEz9e3`7+b&uymKtWjk$`$K%SgBQ4vGC=+2j z<4Z5mr7DZcqH?GlDv!#e3aA1KKmn*Cs)#C~N~kibjH;k2$U+vXimIYO6o{&!YN$G@ zj%uJ9s3xk3f>02ug=(SNs5YvD>Y%!)E~pZAIo0cwCkPzY*>8lpz15o(MY zqb8^cYKod78`-ECYKEGl<|q_}qA(POTA&sv9EGEl2>9=68i|CFC<;ZPmZ&9ag<7F# z6pdP=)~F3?gW96DM(s?W?aYobJI3txX16!HgV`O-?r3&LvpbpH$?RCOW6kbtc4xD@ znBB$fu4Z>NJE9x^q8oA`2Z}>+$cdaN9>t>slz_UU?x+Xqff7+7>WO-yUZ@x9je4U# zs1NFk`l2M1g!-X=s6XnD2A~0GAR34Up+RUc8jOaZA!sNXiiV+KXgC^qDg2HN=2#2gyP# z;6`yH+$3&-o5js=i?{`D6}Q4|;xDeI@U(au zo)OQ$v*KBJPCN(Ci|645@dCUkUWAv#OYpLI8D0^uz^md_cul+puZ!2=4R}vC-_+?% zPH%~~;BE0Xyd&O$4`4}wp4~%yUj;uBRd9)@f**@2_=%{3pNcB@nW%!Fi~8Lcq6&T~ zs^C|m3VtoB;5VWQek-crccKb@FRI`Vq6+>f9^mPG5*74kQ9*wZ74%n8L4Ok!^mkD~ z{}2`QPfN0qe#4Riy><%3)by9=F$@<+GjPe04Z1e~#Dfi!`4gr8juo MKEEf&)_o4^FR)&yX8-^I literal 0 HcmV?d00001 diff --git a/pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-9.php b/pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-9.php new file mode 100644 index 0000000000000000000000000000000000000000..2a3e36a486511cdabe21a6bd873b37694f642d57 GIT binary patch literal 3779 zcmXZfW0)3u0EY3C>&v(^2Bk%5 zQ96_krAO&e29yD1L>W;glnG@K9mpTNBL0!Q~(u31yLbX2o*+!Q4v%G6-7l+F;ol{N5xSIR05SmB~ciK zQ7Kdkl}4pe8B_*Epa@hJl||)HIW!;=KDY*FBnn2M@~AwjfGVJhs3NL_Dxu1#GOB{A zpsJ{9plZSStQPF*!LAD|J?7G3O8|-?)t{3e3 z!LA?d$OgPc0~C#-QA5-a#h@6}2sJ{DQDf8uH9<{LQ`8JKL(Nfh)B?3YEm2F<3bjJ5 zQESu&wLxuBThtDIG++RHa1GA%KsXQ$LW9s?G#Cv*Lr^S=MMKe0Gz<+x z!_jaQhvLu(Gy;u8Bhe@{3XMji(HJxajYVV8I5ZB8N8?dEiboUB1T+y%M3c}YlzcequdBL$xU#x+zhwKEpV&c3b)B^aJ$?NcgP)Zr`!p5$z5=_+zt20 zJ#eqw3-`%=aKGFS56A=Xpgaf<$wTn4JPeP>Bk-s^3XjQS@VGn_?>%Y1DbjxLOZ$CP+V5l1ejk_i`-HULC#C&9CGGcV zX}`}%`+Zj0?{m_ApNA=)_7}Wszb{JreM#Ey%hG;dk@owlwBOgH{k|^k_YG;kZ%X@p zOWN<-(th88DIU>x;eEg8Js-B;_oe-QAno@>7`~6wk?=RARf0g$8o3!8G zrTzXP?e|Ye|u?ripySuw~bvt3Z!|m=4SMK*c zfBnwqIcJ#5{oVII&qTIQicj)*k^{a#LX0;k))(-3qr5)9-L3vSLln>=Y`B8pU02M$5Q9)D)6+(qkVN?VaK_28mMNv^y3>8DgQE^lPl|Us? zNmL4zLZwk@R0fqnWl>pF4wXaYQF&AWRX`O{MN|n@LX}ZvR0UN*RZ&$`4OK(cQFT-U z)j%~-P2@#hR14KYwNY(U2h~AACbx|-1M$sYg;nSUwP#B8BP#CI*>Y@6mJ_<+S zr~zt#8lr}%5o+Yr*qzVDu5RM$Ca!Mk>ZY!4=IUmyZtm*lu5RJ#7OrmT>Xxo<VmqW zuBaR8hPtEfs0ZqSdZM1F7wUz2qu!_w>Vx{CzNjDShx()bXaE|32BLvz5E_IAqrqqh z8iIzRp=cNyhK8fzXapL8Mxv2u6dHv_qtPfj8a{lwGd%{5L1WQaG!BhJS=u%|-LjJTxE8M+?vbv=A*sY3P1N z8eU{xj2D~J@e=a}ywse5mzlTX<>sAuh4~;}X+DWpnJ?ni=9_qpoTc@qo0rmGYhH=h znYI4)X03mNc_Z^1&71Hh^JctRPTz|&tS@KEE4R_lGH=IQm1z`&(Xc7;pOmgbrsPk#7lIa)UX2il)4w_KCSLD_>8(&;j`j3_?&nhJ}=&Y zFNnGsUKDT9eM!6xv&B0w2j;AYFNL`99D#)LT%JFBS z&h_V_ZhU!tzKzePp*AMq56{8v;${}Xi|JP>o^9v0#8 n1o`8VQ>F&IQNjF-jqs!-CdUOr-EZ350e@T|#h>WaT!iO;WL94R literal 0 HcmV?d00001 diff --git a/pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.koi8-u.php b/pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.koi8-u.php new file mode 100644 index 0000000000000000000000000000000000000000..dbbf96be1470ea7d188775080050f13815ddba11 GIT binary patch literal 3827 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 nSyqJ4>kp;{Y|1AN{<(3fs&oXh$jw@N_P literal 0 HcmV?d00001 diff --git a/pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.windows-1252.php b/pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.windows-1252.php new file mode 100644 index 0000000000000000000000000000000000000000..ba6d203dcabee1831ae4ceaf3a3037340ffe7d3c GIT binary patch literal 3721 zcmXxnb#xS09L4eCFt|Gm5F!xV*=&Nly98O1g#0v` z0rI|g{+jzazj>3*&b#lNjfzQ0NUK9mpTNBL0!Q~+7XLIqJlR0tJ9g;8Nt1QkI= zQBhP36+^{Qaa018KqXO0R0@?srBP{A29-f&QCU z1yw;+QB`Ck8&yNqP<2!t)j%~+2nsS$sCCybwk}ychnvAKs``T)D!hWy-;t|8}&hbP+!y+^+Wwo zf7BlhKm*V~G!P9!gV10!7!5%~&`>lK#m2&CSF@*w!C`1P8jePw5ojbDi9E=IMxjwC z4#lB(6py^fi$Nt4M2ToD8jHrEaVQBTq48)uN=C_O0-AtQPzsueCL$m5 zAwTk?01BWW3ZhA95}J%AqbX<#N=2z?Dw>L>p=oG3nvQ0m8E7V&iDsc$C=ESMKZ4Wc zv`u&pzOxEuIOA=2uH$`pp5q;OzT=&E0nVBS7dqn;coELj>c!6ZBI6|*>%%M)uQFZf z+`R#>a=a0*cDx0zal93;b-W9&bG#a_cf1B~z*&0SMvXJHd=t*pf4J45NFSGWFcm-Y+wK=bedcW7j>)d<;-cExz#o6$dm=14?bKvu02Fw)a!aJf0 z_kuW|>5Jk5_>#B~-W3;%!j}#5Z-QO2=czhu0T>Mbn&f1Se_4i{@ z{e3K|zn_Te@28^r`hF)D`umfp{{AegzrTp;@2{fz`eFG?=yeR^EtnH=gggX-Z|$+#iS&pSe8HF2_(kZA@QDo$9CHupU;zOhg-HC z_EMPbj?O+rW-ABEfpVgpC>P3wa--ZR56Xk`qP!>{%7^l!{HOpbfGlL8f~X)WgbJa; zs4yymilCyXC@O}Eq2j1GDuGI%lBgsqg-W5)s5B~r%Am5SEGmb}q4KCas(>n>il`#0 zgesxRs4}X8s-UW#2DL$LQCrjw zwL|Sud(;7SKpjy>)CqM$ol$4h1$9APQCHLrbwk}zchm#*Ks`}U)C=`Oy-{z}2lYXH zQD4*#^+Wwpe>4CMKm*Z0GzbksgVA6#1Pwt$(NGi{3tt>fr-#8|XgC^QNXgo?r$!G$afKpHj znusPMAMznT@}mF>pdbpONoW$9j3%QgXbMV2sc0&iil(7yXgZpXW}q2pCYp(6p;;&m zWu@=J>2lgzcs9PY1ZFtnxA7duTku@R>+n3s>+yWY`|v`?$MIsvZ{j76SK+0O*WhK2 z*W%@lH{cbHm*SO_$;6d>qJOnc{ z;9*S?2gJQ3d`+JjU85qCR9#MSVxU z6;2ooA!$!C)E5zsZ2a^J}JCuKDE-RSq_Xfhv S-?i)$eBMCNmu%}im-Rn3-~){S literal 0 HcmV?d00001 diff --git a/pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.windows-1254.php b/pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.windows-1254.php new file mode 100644 index 0000000000000000000000000000000000000000..1cfadcf2b45b964117e92888b6cd54a1c501f1bb GIT binary patch literal 3691 zcmXxnb#&BN9L4d)A-FpPC>1E~OsB=&U5X6tKntam5uj+d6lZr2?(XjHFvCh$VBLjv zcQ@$!-u#vOIlsI#Y2M8_6PJ*Yl3`i?fG3ceWJe@>0v_9Kdwf1mrX6kBcGP20wmUxW z5SyobC?Cp?@}mN%04j(IqC%(;DvS!FBB%%|ii)CQs2H-4g^Hu%s01p3N}`ge6e@*E zqtd7hDuc?RvZx#?hsvY!r~;~hDx!+05~_qMqspiXs)DMbs;C;OhN`3Ls0ONmYNDE` z7OI76quR(uHmZZ_pt`6os)y>K2o!Z%NHmN_F(?K#Kn+ks)DXp@ zSkwqLLXA;l)C4s#YHIdpQ^g~=^UZfSB$lUteG%H-B2w>G(r$!$z- zYjRtY+nLsNC;@dq9Z*Nq5p_bHP-oN`bwOQFSJV}C zL)}n!)E)IeJy1{76ZJy9P;b;5^+A15U(^@%L;X;H)E^B%1JFP;5Dh|u&|owe4M9WD zP&5<`L&MN;G#rgUBhW}R5{*Km&}cLoB__g0N3*BLz%ghn8jHrEacDdmk37hOCZGu@ z2_>Oql#IN{izcFpXcC%)Qcwy?MX6{qnvABPDJTu4p{ZypN=NBv8k&YOPzIWgrXwHn zAwTk?01BWW3ZfZk2AYXxqFHDb%0!uHHkys*pgCwRnv3S4d1yYGj~1W>C<{HvK8myD ztj%~KzPlRcIOFYjk>mY%vE!Y1iQ`>(Db8ICmpS8;csUMh^$KTviSbH}bu+7+@kYk0 z9dE*G9B;*I9dE0Po)%BTGvXO|Ry+&OiRa*X@jSdBUVs-x{o5~z+F+MOy|OFf z71mxAufl8MHF#aT4sVDz;7xcZ3*HhRhquLSct>0aLt+jLi;Li0QI&dHT*CAjaVdOO zTn3*Lm&06f1$(q!k5IS;5``9cjCULtC+qls>rX1s>Z9LYWJGBj){*X2Kc6^Pr_TGz6fuN`nbI#Zei`aqWb+F3~7tL55sz*4|MVl)_y3ezaNR}?*mc& z{a93gKM~d6Pet|jGg1BhTvUI*5Y^u=MfLY9QT_c|RDZt_)!%PL_4hkb{rz54e}8}> zJ^qiHs=q&p>hI5@`umHh{{AYezrTs<@9(1e`-iCh{wb=ze~Iev-=g~akEs6s3q!i+ z|6o{8^uJEd>u-$9vLbw5e=sdzyCeD8=(2+8es3V!{D#as!RHMGed)H&b6F1ozXvC= literal 0 HcmV?d00001 diff --git a/pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.windows-1255.php b/pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.windows-1255.php new file mode 100644 index 0000000000000000000000000000000000000000..f73cbb6ffd844dcc04e7ec63775f611166299b26 GIT binary patch literal 3454 zcmXxnWpGqi7{>A9aB+9Ife?Y<&Snz=!QCy$k}M<;LRbNUh7f2OW^k7lcXzk6v`lEx zLO-^tA}zE~fthxiod0t_-RC#&Id}Ixd+$55(Xr{t>6YaWcmgSjc4(3(;IZAd$LI58 z*b$a(hkp=myJHG2Q3Wc53ZcTNFe-wIprWWKDu#-o;;1+(fl8o~s3an7^Dvv6l3aBEgh$^8YzHPE~<;_p?au3s*h}BqYxB=8lVQKA!>+1Q7CGJ8lf;0h7!VI{?$Aq5ikNp zqDa&jHAYQP6BLD_P*cS*+8AJhl+MSW2})DQJX{m}q401ZR~(I7Mk z4Mu~}5Hti0MMKdrGz<+#!_f#d0*yo?(I_+ujYgx<7&HbYB*6Tud8Wt0v1l9`hsLAv zXabsmJjjD4qKPOGC88vhguKX$CZS1aGMbE%Q8G$FDQF6sf~KOWC>5omX=oZsLuqI_ znvT*@I+}rIARqD}Kk}mh3ZNhgqM2wWnuTVe*=RP(KpAKbnuF$|xo94mhvuXCXaQP) z7NUhH6Xj(c!C7+V7Q7hWUIVk8^2d0I<9&Fk;~n@z$2;*yICm*r=9Ew1<&H1n)s8pe zHI6sqwT`#pb&j{=^^SMp4UX61jgHshO*mJ#+pKc7wr_QoUt;+Vd`r#l6xHi4QJZ&* zyV<)3=4BnidsW^G_lY{!{o;PA2gC#Lpm-1-f;k)EVO0;qBcgurqvBDj$HZgsxOg0% z5cPAN6i-q;C7yz(#nbSNcm|#o&%$%!Ie1h zOHmDeC91)Dq8hvppJvkU191_2C}zP&;$rw%)Zu(B>TsTjI-IAX4(A(Dhx4ttiaUQN zu7-J{X3+Pd-r*lay~00=>)HF0xB>nw>ecu~)OdL&YPviZH40ydTe;OsQM2M#QIqF4 zQFHQ@_z8Poiy9oiiy9n%h#DMkL=BF&;vR1Gr>ME{m#De%x2U=CkEprvPSo6ZFKQzF z3-dBp@JatUUYYMmmt}?ey#8Qnz;=i6Ps(Kl)BN5*g!x-lu)yaH1bu0?*14?z0cX+f ArvLx| literal 0 HcmV?d00001 diff --git a/pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.windows-1256.php b/pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.windows-1256.php new file mode 100644 index 0000000000000000000000000000000000000000..953704f6e5af289f97294f99980d3a2e651609bb GIT binary patch literal 3800 zcmXxnbzBsA9LDjpb?t5)6$!;|VZrY1z*u1w6cLwQ6%!G=+ zJo$Z|`D?!K*YlfU*ylI1uZ@mPO-yw-(!4HjQoI$C;PSdGr{(f^T98kIq1 zP+3$Kl|$uFc~l-%Kow9$R1sA|l~83=8C5}5P*qeFRYTQKbyOYIKs8WJR1?)gwNPzT z8`VK|P+e3PS;#{5P(4&1)kh6b0~CTnP(#!Zg`!Xt7X}|6%^nGd;V1${phl<>YK$7A zNEC^hpeCp(YKoenW=74;{%mgM7G`c?=9Xq|Y35dDZe`}yW^QffHfC;P=C)>TYvy)l zZfEB9W^Qlh4rcCP=CF?3MMo5cqEIx7Mo#2JF(?MbqFB@kbwZs{XVe9CL0wT-)D3k* z-BEYc1NA^XQBTwh^+LT-Z`23%L48qQ)DQJT{ZW5301ZF`(Lgi^4MKy_U^D~`K||3{ zGz<+x!_jaw0*yc;(MU83jY6Z*Xfy_mL1WQa6c+~{AI+W~2gjlDXgr#LCZLIEB61-Y znuI2ycodHkPy%uzH=2wlqbX<#N<@h$2_>PaXeye9rlDk%jHaXMCdqxon7T7VX!g=i64gfdWG z=4reb2kyd5#Th&C68vBj%(COXc&Y89c$w|}c)9HZcm;mA46d}}^LP~w+<>d?SYCs( zbu(*WP#0S#Zs+9n;tIGyJO?+zybP`0WP1nsX4|{*7TbI9leQ1yt+qGgZML`I?KpS> z?ogbi(|0P~NW9BF`zGFvvvu)3cD#moukE#X9}ep5{qVjzIRJBX@i2=DexDW9?{lL1eO^?*FNi0(tB0cceNj}u zFNx~+Wl{aUBC6k4MfLldsD57;)$bdk`h8PWzi)}^_ia)Az61T+_!n}Ns_uZOx`U$X z&K30xz6%2xTRKMTAz)Jqmx8f@JoffO#??v_dgBGu5@sFb3S3ik**ZnN6 zWAQK0uYP}3x}NkmaRdBai&f|!O7#-{Q>hC5OR2tm{#L5z_a9Nu@4qlFL$~#xZQaNt uoST2Kh$x36#N$r$C3`JrD8Eso9KMt^w>RAUV9j6PaeIB96ie%(9RCC6c1dpl literal 0 HcmV?d00001 diff --git a/pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.windows-1257.php b/pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.windows-1257.php new file mode 100644 index 0000000000000000000000000000000000000000..78580ece01bbaeb2477c97dbae88eafe2579e4a8 GIT binary patch literal 3616 zcmXxnb#PQy6vy%6@Njo{K!`waXR`_J?h<5477_>{tN=mNG{7(|?ch!+P~6=Md0A+i zy1P(!cP01xdw=cu%sKbXm2>aRCM0F0Wm#4*-I+yqDRvXeyeDrlDzQI+~7r z$cJX287Kv%pj4EK{K$`HqM2wGnuXF(8cIj$Xf~RS=Abz!17)DOXfDb`nP?uGhq6!> znvdqA01BWW3Zf7Sp)d-g1!w_Uh!&znXc5Xr*=R9ZjFzA!XenBXmZ4>6Ia-cZpcN%u6N;0uJ_{2t~cNU) z6z>=J!vmsr`Ji}^>>=oA8xAXbnCuZ4*$j^=dlViMb>7Ft<77{WC*Vowtb(VM)mfev zPm?_(o`Gk@v+$gF4xSg!!wcdCcu~9vFF{9ba9LTk&=nZjLh)5)ufl8MHF#aT4sVDz z;1kf%w%>#Wd1P;i+MIkbhpZ!NuL_`}u@P}4#kWb-pWV8Xt*z znm&e(F6<}b<9zv373*R8Ow?X|F0Q5c3yszN{Srp>$b6+@?bX+!-i>cW-IQ-dUH0!p zHUIZ8qPO`6Q7!tTs0RKCI=a6hQ$h1}G GvHk~;j}(jm literal 0 HcmV?d00001 diff --git a/pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.windows-1258.php b/pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/from.windows-1258.php new file mode 100644 index 0000000000000000000000000000000000000000..de1609d85ab469a8d4fe3e139a502b66b0c10c5e GIT binary patch literal 3662 zcmXxnb#xS09L4eCu(&%65F!xV*=&Nly98O1g#y^lnjT%=Xd*4ldOnjx8H5KEVtL|&a|Q(mKF6- zl;w&qIK&pH5GsTUqr#{NDuRllqNo@uhKi%&s01p3N}`ge6e@)r$bm|u(x?n7gUX_^ zs2nPX%A@kA0;+&2qKc>zs)Q<|%BTvef~umbs2ZwZAI|LKbR(8lZ-#A!>vgp$HU#8l%Q25=ElKDEQ!L_DD30MlmP`H9<{K zQ`8j2qFB@nHABr&bJPO0FluS`XG=4;GIJ|4w>EQYGq*8w8#A{xb6YdFGjlsLw>NWp zGj}j^2Qzmxb4N3GGIJ+0M|I{dIwL1?qBs z2kL=(qMoQ1>VqJd}-8iWR;!Dt8?f`+1@Xc!uX zhNIzV1R8-xqLFA68ihuq(P#`BgT|tKZ_N=4JrbTk9aKxrrq%|tU%I!Z^g&@7aJ zGSF-^8+nlz`H&C!ksk$60L?*j&|EYZ%|r80Cdx$f(R{Q3EkFy=LbM1iLW|L2v;-|d zStvjIIL?-{p2SOWXg$oa3!lp&fPEWhX=$1@Sv!7a7a8vdRRORkBCR$QSm4|CLV*wMQx4~;tA4| z;z@W)JOxjSdbMZ7Go)w5v+$gF4xSg!!wcdCcu~9vFNv4nWl@j)il`lRRn#lHCSK#* z>*95IL%acRiZ|gc@fLgv-pPVbix0!wVm7=3gJMu=4r#8q42DFN<{5DX>9gWW_?);3 zJ}*83^TgFK48ywT7nH6ceNkKsUlJdKFT>#D@D-)&;HxmK+jvc>s`0w0p1lD>s>Yj2 zH*u-A#Le(+QQv@fM12C@74`XgPu#}2?~5w*2QZ`^`ymW3W${N^ybFFT>Lx!C)!%$k z{rwaMb*ayks=uF$>hBk#`unA*{@xYU-+Q9^`<1Bvel4oM-@vdo;kQcF-|s~A_j^%K z;|Cbj3;j{4`uh_M>jU+(QuX&2QT_cDhV-m{Q>y;{E~>wOi0bd3qWb%nsQ&&fs=xn; z>hHfWq)*U)Fh5&Q=e|}K6gbA|a71`LzCfDaaz*mb(CG-I`#k<=^Ea_zf!E^?c+)Md Hb2|P9YmgvV literal 0 HcmV?d00001 diff --git a/pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/translit.php b/pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/translit.php new file mode 100644 index 0000000000..f322ff0d2e --- /dev/null +++ b/pandora_console/vendor/symfony/polyfill-iconv/Resources/charset/translit.php @@ -0,0 +1,4106 @@ + 'μ', + '¼' => ' 1⁄4 ', + '½' => ' 1⁄2 ', + '¾' => ' 3⁄4 ', + 'IJ' => 'IJ', + 'ij' => 'ij', + 'Ŀ' => 'L·', + 'ŀ' => 'l·', + 'ʼn' => 'ʼn', + 'ſ' => 's', + 'DŽ' => 'DŽ', + 'Dž' => 'Dž', + 'dž' => 'dž', + 'LJ' => 'LJ', + 'Lj' => 'Lj', + 'lj' => 'lj', + 'NJ' => 'NJ', + 'Nj' => 'Nj', + 'nj' => 'nj', + 'DZ' => 'DZ', + 'Dz' => 'Dz', + 'dz' => 'dz', + 'ϐ' => 'β', + 'ϑ' => 'θ', + 'ϒ' => 'Υ', + 'ϕ' => 'φ', + 'ϖ' => 'π', + 'ϰ' => 'κ', + 'ϱ' => 'ρ', + 'ϲ' => 'ς', + 'ϴ' => 'Θ', + 'ϵ' => 'ε', + 'Ϲ' => 'Σ', + 'և' => 'եւ', + 'ٵ' => 'اٴ', + 'ٶ' => 'وٴ', + 'ٷ' => 'ۇٴ', + 'ٸ' => 'يٴ', + 'ำ' => 'ํา', + 'ຳ' => 'ໍາ', + 'ໜ' => 'ຫນ', + 'ໝ' => 'ຫມ', + 'ཷ' => 'ྲཱྀ', + 'ཹ' => 'ླཱྀ', + 'ẚ' => 'aʾ', + '․' => '.', + '‥' => '..', + '…' => '...', + '″' => '′′', + '‴' => '′′′', + '‶' => '‵‵', + '‷' => '‵‵‵', + '‼' => '!!', + '⁇' => '??', + '⁈' => '?!', + '⁉' => '!?', + '⁗' => '′′′′', + '₨' => 'Rs', + '℀' => 'a/c', + '℁' => 'a/s', + 'ℂ' => 'C', + '℃' => '°C', + '℅' => 'c/o', + '℆' => 'c/u', + 'ℇ' => 'Ɛ', + '℉' => '°F', + 'ℊ' => 'g', + 'ℋ' => 'H', + 'ℌ' => 'H', + 'ℍ' => 'H', + 'ℎ' => 'h', + 'ℏ' => 'ħ', + 'ℐ' => 'I', + 'ℑ' => 'I', + 'ℒ' => 'L', + 'ℓ' => 'l', + 'ℕ' => 'N', + '№' => 'No', + 'ℙ' => 'P', + 'ℚ' => 'Q', + 'ℛ' => 'R', + 'ℜ' => 'R', + 'ℝ' => 'R', + '℡' => 'TEL', + 'ℤ' => 'Z', + 'ℨ' => 'Z', + 'ℬ' => 'B', + 'ℭ' => 'C', + 'ℯ' => 'e', + 'ℰ' => 'E', + 'ℱ' => 'F', + 'ℳ' => 'M', + 'ℴ' => 'o', + 'ℵ' => 'א', + 'ℶ' => 'ב', + 'ℷ' => 'ג', + 'ℸ' => 'ד', + 'ℹ' => 'i', + '℻' => 'FAX', + 'ℼ' => 'π', + 'ℽ' => 'γ', + 'ℾ' => 'Γ', + 'ℿ' => 'Π', + '⅀' => '∑', + 'ⅅ' => 'D', + 'ⅆ' => 'd', + 'ⅇ' => 'e', + 'ⅈ' => 'i', + 'ⅉ' => 'j', + '⅐' => ' 1⁄7 ', + '⅑' => ' 1⁄9 ', + '⅒' => ' 1⁄10 ', + '⅓' => ' 1⁄3 ', + '⅔' => ' 2⁄3 ', + '⅕' => ' 1⁄5 ', + '⅖' => ' 2⁄5 ', + '⅗' => ' 3⁄5 ', + '⅘' => ' 4⁄5 ', + '⅙' => ' 1⁄6 ', + '⅚' => ' 5⁄6 ', + '⅛' => ' 1⁄8 ', + '⅜' => ' 3⁄8 ', + '⅝' => ' 5⁄8 ', + '⅞' => ' 7⁄8 ', + '⅟' => ' 1⁄ ', + 'Ⅰ' => 'I', + 'Ⅱ' => 'II', + 'Ⅲ' => 'III', + 'Ⅳ' => 'IV', + 'Ⅴ' => 'V', + 'Ⅵ' => 'VI', + 'Ⅶ' => 'VII', + 'Ⅷ' => 'VIII', + 'Ⅸ' => 'IX', + 'Ⅹ' => 'X', + 'Ⅺ' => 'XI', + 'Ⅻ' => 'XII', + 'Ⅼ' => 'L', + 'Ⅽ' => 'C', + 'Ⅾ' => 'D', + 'Ⅿ' => 'M', + 'ⅰ' => 'i', + 'ⅱ' => 'ii', + 'ⅲ' => 'iii', + 'ⅳ' => 'iv', + 'ⅴ' => 'v', + 'ⅵ' => 'vi', + 'ⅶ' => 'vii', + 'ⅷ' => 'viii', + 'ⅸ' => 'ix', + 'ⅹ' => 'x', + 'ⅺ' => 'xi', + 'ⅻ' => 'xii', + 'ⅼ' => 'l', + 'ⅽ' => 'c', + 'ⅾ' => 'd', + 'ⅿ' => 'm', + '↉' => ' 0⁄3 ', + '∬' => '∫∫', + '∭' => '∫∫∫', + '∯' => '∮∮', + '∰' => '∮∮∮', + '①' => '(1)', + '②' => '(2)', + '③' => '(3)', + '④' => '(4)', + '⑤' => '(5)', + '⑥' => '(6)', + '⑦' => '(7)', + '⑧' => '(8)', + '⑨' => '(9)', + '⑩' => '(10)', + '⑪' => '(11)', + '⑫' => '(12)', + '⑬' => '(13)', + '⑭' => '(14)', + '⑮' => '(15)', + '⑯' => '(16)', + '⑰' => '(17)', + '⑱' => '(18)', + '⑲' => '(19)', + '⑳' => '(20)', + '⑴' => '(1)', + '⑵' => '(2)', + '⑶' => '(3)', + '⑷' => '(4)', + '⑸' => '(5)', + '⑹' => '(6)', + '⑺' => '(7)', + '⑻' => '(8)', + '⑼' => '(9)', + '⑽' => '(10)', + '⑾' => '(11)', + '⑿' => '(12)', + '⒀' => '(13)', + '⒁' => '(14)', + '⒂' => '(15)', + '⒃' => '(16)', + '⒄' => '(17)', + '⒅' => '(18)', + '⒆' => '(19)', + '⒇' => '(20)', + '⒈' => '1.', + '⒉' => '2.', + '⒊' => '3.', + '⒋' => '4.', + '⒌' => '5.', + '⒍' => '6.', + '⒎' => '7.', + '⒏' => '8.', + '⒐' => '9.', + '⒑' => '10.', + '⒒' => '11.', + '⒓' => '12.', + '⒔' => '13.', + '⒕' => '14.', + '⒖' => '15.', + '⒗' => '16.', + '⒘' => '17.', + '⒙' => '18.', + '⒚' => '19.', + '⒛' => '20.', + '⒜' => '(a)', + '⒝' => '(b)', + '⒞' => '(c)', + '⒟' => '(d)', + '⒠' => '(e)', + '⒡' => '(f)', + '⒢' => '(g)', + '⒣' => '(h)', + '⒤' => '(i)', + '⒥' => '(j)', + '⒦' => '(k)', + '⒧' => '(l)', + '⒨' => '(m)', + '⒩' => '(n)', + '⒪' => '(o)', + '⒫' => '(p)', + '⒬' => '(q)', + '⒭' => '(r)', + '⒮' => '(s)', + '⒯' => '(t)', + '⒰' => '(u)', + '⒱' => '(v)', + '⒲' => '(w)', + '⒳' => '(x)', + '⒴' => '(y)', + '⒵' => '(z)', + 'Ⓐ' => '(A)', + 'Ⓑ' => '(B)', + 'Ⓒ' => '(C)', + 'Ⓓ' => '(D)', + 'Ⓔ' => '(E)', + 'Ⓕ' => '(F)', + 'Ⓖ' => '(G)', + 'Ⓗ' => '(H)', + 'Ⓘ' => '(I)', + 'Ⓙ' => '(J)', + 'Ⓚ' => '(K)', + 'Ⓛ' => '(L)', + 'Ⓜ' => '(M)', + 'Ⓝ' => '(N)', + 'Ⓞ' => '(O)', + 'Ⓟ' => '(P)', + 'Ⓠ' => '(Q)', + 'Ⓡ' => '(R)', + 'Ⓢ' => '(S)', + 'Ⓣ' => '(T)', + 'Ⓤ' => '(U)', + 'Ⓥ' => '(V)', + 'Ⓦ' => '(W)', + 'Ⓧ' => '(X)', + 'Ⓨ' => '(Y)', + 'Ⓩ' => '(Z)', + 'ⓐ' => '(a)', + 'ⓑ' => '(b)', + 'ⓒ' => '(c)', + 'ⓓ' => '(d)', + 'ⓔ' => '(e)', + 'ⓕ' => '(f)', + 'ⓖ' => '(g)', + 'ⓗ' => '(h)', + 'ⓘ' => '(i)', + 'ⓙ' => '(j)', + 'ⓚ' => '(k)', + 'ⓛ' => '(l)', + 'ⓜ' => '(m)', + 'ⓝ' => '(n)', + 'ⓞ' => '(o)', + 'ⓟ' => '(p)', + 'ⓠ' => '(q)', + 'ⓡ' => '(r)', + 'ⓢ' => '(s)', + 'ⓣ' => '(t)', + 'ⓤ' => '(u)', + 'ⓥ' => '(v)', + 'ⓦ' => '(w)', + 'ⓧ' => '(x)', + 'ⓨ' => '(y)', + 'ⓩ' => '(z)', + '⓪' => '(0)', + '⨌' => '∫∫∫∫', + '⩴' => '::=', + '⩵' => '==', + '⩶' => '===', + '⺟' => '母', + '⻳' => '龟', + '⼀' => '一', + '⼁' => '丨', + '⼂' => '丶', + '⼃' => '丿', + '⼄' => '乙', + '⼅' => '亅', + '⼆' => '二', + '⼇' => '亠', + '⼈' => '人', + '⼉' => '儿', + '⼊' => '入', + '⼋' => '八', + '⼌' => '冂', + '⼍' => '冖', + '⼎' => '冫', + '⼏' => '几', + '⼐' => '凵', + '⼑' => '刀', + '⼒' => '力', + '⼓' => '勹', + '⼔' => '匕', + '⼕' => '匚', + '⼖' => '匸', + '⼗' => '十', + '⼘' => '卜', + '⼙' => '卩', + '⼚' => '厂', + '⼛' => '厶', + '⼜' => '又', + '⼝' => '口', + '⼞' => '囗', + '⼟' => '土', + '⼠' => '士', + '⼡' => '夂', + '⼢' => '夊', + '⼣' => '夕', + '⼤' => '大', + '⼥' => '女', + '⼦' => '子', + '⼧' => '宀', + '⼨' => '寸', + '⼩' => '小', + '⼪' => '尢', + '⼫' => '尸', + '⼬' => '屮', + '⼭' => '山', + '⼮' => '巛', + '⼯' => '工', + '⼰' => '己', + '⼱' => '巾', + '⼲' => '干', + '⼳' => '幺', + '⼴' => '广', + '⼵' => '廴', + '⼶' => '廾', + '⼷' => '弋', + '⼸' => '弓', + '⼹' => '彐', + '⼺' => '彡', + '⼻' => '彳', + '⼼' => '心', + '⼽' => '戈', + '⼾' => '戶', + '⼿' => '手', + '⽀' => '支', + '⽁' => '攴', + '⽂' => '文', + '⽃' => '斗', + '⽄' => '斤', + '⽅' => '方', + '⽆' => '无', + '⽇' => '日', + '⽈' => '曰', + '⽉' => '月', + '⽊' => '木', + '⽋' => '欠', + '⽌' => '止', + '⽍' => '歹', + '⽎' => '殳', + '⽏' => '毋', + '⽐' => '比', + '⽑' => '毛', + '⽒' => '氏', + '⽓' => '气', + '⽔' => '水', + '⽕' => '火', + '⽖' => '爪', + '⽗' => '父', + '⽘' => '爻', + '⽙' => '爿', + '⽚' => '片', + '⽛' => '牙', + '⽜' => '牛', + '⽝' => '犬', + '⽞' => '玄', + '⽟' => '玉', + '⽠' => '瓜', + '⽡' => '瓦', + '⽢' => '甘', + '⽣' => '生', + '⽤' => '用', + '⽥' => '田', + '⽦' => '疋', + '⽧' => '疒', + '⽨' => '癶', + '⽩' => '白', + '⽪' => '皮', + '⽫' => '皿', + '⽬' => '目', + '⽭' => '矛', + '⽮' => '矢', + '⽯' => '石', + '⽰' => '示', + '⽱' => '禸', + '⽲' => '禾', + '⽳' => '穴', + '⽴' => '立', + '⽵' => '竹', + '⽶' => '米', + '⽷' => '糸', + '⽸' => '缶', + '⽹' => '网', + '⽺' => '羊', + '⽻' => '羽', + '⽼' => '老', + '⽽' => '而', + '⽾' => '耒', + '⽿' => '耳', + '⾀' => '聿', + '⾁' => '肉', + '⾂' => '臣', + '⾃' => '自', + '⾄' => '至', + '⾅' => '臼', + '⾆' => '舌', + '⾇' => '舛', + '⾈' => '舟', + '⾉' => '艮', + '⾊' => '色', + '⾋' => '艸', + '⾌' => '虍', + '⾍' => '虫', + '⾎' => '血', + '⾏' => '行', + '⾐' => '衣', + '⾑' => '襾', + '⾒' => '見', + '⾓' => '角', + '⾔' => '言', + '⾕' => '谷', + '⾖' => '豆', + '⾗' => '豕', + '⾘' => '豸', + '⾙' => '貝', + '⾚' => '赤', + '⾛' => '走', + '⾜' => '足', + '⾝' => '身', + '⾞' => '車', + '⾟' => '辛', + '⾠' => '辰', + '⾡' => '辵', + '⾢' => '邑', + '⾣' => '酉', + '⾤' => '釆', + '⾥' => '里', + '⾦' => '金', + '⾧' => '長', + '⾨' => '門', + '⾩' => '阜', + '⾪' => '隶', + '⾫' => '隹', + '⾬' => '雨', + '⾭' => '靑', + '⾮' => '非', + '⾯' => '面', + '⾰' => '革', + '⾱' => '韋', + '⾲' => '韭', + '⾳' => '音', + '⾴' => '頁', + '⾵' => '風', + '⾶' => '飛', + '⾷' => '食', + '⾸' => '首', + '⾹' => '香', + '⾺' => '馬', + '⾻' => '骨', + '⾼' => '高', + '⾽' => '髟', + '⾾' => '鬥', + '⾿' => '鬯', + '⿀' => '鬲', + '⿁' => '鬼', + '⿂' => '魚', + '⿃' => '鳥', + '⿄' => '鹵', + '⿅' => '鹿', + '⿆' => '麥', + '⿇' => '麻', + '⿈' => '黃', + '⿉' => '黍', + '⿊' => '黑', + '⿋' => '黹', + '⿌' => '黽', + '⿍' => '鼎', + '⿎' => '鼓', + '⿏' => '鼠', + '⿐' => '鼻', + '⿑' => '齊', + '⿒' => '齒', + '⿓' => '龍', + '⿔' => '龜', + '⿕' => '龠', + ' ' => ' ', + '〶' => '〒', + '〸' => '十', + '〹' => '卄', + '〺' => '卅', + 'ㄱ' => 'ᄀ', + 'ㄲ' => 'ᄁ', + 'ㄳ' => 'ᆪ', + 'ㄴ' => 'ᄂ', + 'ㄵ' => 'ᆬ', + 'ㄶ' => 'ᆭ', + 'ㄷ' => 'ᄃ', + 'ㄸ' => 'ᄄ', + 'ㄹ' => 'ᄅ', + 'ㄺ' => 'ᆰ', + 'ㄻ' => 'ᆱ', + 'ㄼ' => 'ᆲ', + 'ㄽ' => 'ᆳ', + 'ㄾ' => 'ᆴ', + 'ㄿ' => 'ᆵ', + 'ㅀ' => 'ᄚ', + 'ㅁ' => 'ᄆ', + 'ㅂ' => 'ᄇ', + 'ㅃ' => 'ᄈ', + 'ㅄ' => 'ᄡ', + 'ㅅ' => 'ᄉ', + 'ㅆ' => 'ᄊ', + 'ㅇ' => 'ᄋ', + 'ㅈ' => 'ᄌ', + 'ㅉ' => 'ᄍ', + 'ㅊ' => 'ᄎ', + 'ㅋ' => 'ᄏ', + 'ㅌ' => 'ᄐ', + 'ㅍ' => 'ᄑ', + 'ㅎ' => 'ᄒ', + 'ㅏ' => 'ᅡ', + 'ㅐ' => 'ᅢ', + 'ㅑ' => 'ᅣ', + 'ㅒ' => 'ᅤ', + 'ㅓ' => 'ᅥ', + 'ㅔ' => 'ᅦ', + 'ㅕ' => 'ᅧ', + 'ㅖ' => 'ᅨ', + 'ㅗ' => 'ᅩ', + 'ㅘ' => 'ᅪ', + 'ㅙ' => 'ᅫ', + 'ㅚ' => 'ᅬ', + 'ㅛ' => 'ᅭ', + 'ㅜ' => 'ᅮ', + 'ㅝ' => 'ᅯ', + 'ㅞ' => 'ᅰ', + 'ㅟ' => 'ᅱ', + 'ㅠ' => 'ᅲ', + 'ㅡ' => 'ᅳ', + 'ㅢ' => 'ᅴ', + 'ㅣ' => 'ᅵ', + 'ㅤ' => 'ᅠ', + 'ㅥ' => 'ᄔ', + 'ㅦ' => 'ᄕ', + 'ㅧ' => 'ᇇ', + 'ㅨ' => 'ᇈ', + 'ㅩ' => 'ᇌ', + 'ㅪ' => 'ᇎ', + 'ㅫ' => 'ᇓ', + 'ㅬ' => 'ᇗ', + 'ㅭ' => 'ᇙ', + 'ㅮ' => 'ᄜ', + 'ㅯ' => 'ᇝ', + 'ㅰ' => 'ᇟ', + 'ㅱ' => 'ᄝ', + 'ㅲ' => 'ᄞ', + 'ㅳ' => 'ᄠ', + 'ㅴ' => 'ᄢ', + 'ㅵ' => 'ᄣ', + 'ㅶ' => 'ᄧ', + 'ㅷ' => 'ᄩ', + 'ㅸ' => 'ᄫ', + 'ㅹ' => 'ᄬ', + 'ㅺ' => 'ᄭ', + 'ㅻ' => 'ᄮ', + 'ㅼ' => 'ᄯ', + 'ㅽ' => 'ᄲ', + 'ㅾ' => 'ᄶ', + 'ㅿ' => 'ᅀ', + 'ㆀ' => 'ᅇ', + 'ㆁ' => 'ᅌ', + 'ㆂ' => 'ᇱ', + 'ㆃ' => 'ᇲ', + 'ㆄ' => 'ᅗ', + 'ㆅ' => 'ᅘ', + 'ㆆ' => 'ᅙ', + 'ㆇ' => 'ᆄ', + 'ㆈ' => 'ᆅ', + 'ㆉ' => 'ᆈ', + 'ㆊ' => 'ᆑ', + 'ㆋ' => 'ᆒ', + 'ㆌ' => 'ᆔ', + 'ㆍ' => 'ᆞ', + 'ㆎ' => 'ᆡ', + '㈀' => '(ᄀ)', + '㈁' => '(ᄂ)', + '㈂' => '(ᄃ)', + '㈃' => '(ᄅ)', + '㈄' => '(ᄆ)', + '㈅' => '(ᄇ)', + '㈆' => '(ᄉ)', + '㈇' => '(ᄋ)', + '㈈' => '(ᄌ)', + '㈉' => '(ᄎ)', + '㈊' => '(ᄏ)', + '㈋' => '(ᄐ)', + '㈌' => '(ᄑ)', + '㈍' => '(ᄒ)', + '㈎' => '(가)', + '㈏' => '(나)', + '㈐' => '(다)', + '㈑' => '(라)', + '㈒' => '(마)', + '㈓' => '(바)', + '㈔' => '(사)', + '㈕' => '(아)', + '㈖' => '(자)', + '㈗' => '(차)', + '㈘' => '(카)', + '㈙' => '(타)', + '㈚' => '(파)', + '㈛' => '(하)', + '㈜' => '(주)', + '㈝' => '(오전)', + '㈞' => '(오후)', + '㈠' => '(一)', + '㈡' => '(二)', + '㈢' => '(三)', + '㈣' => '(四)', + '㈤' => '(五)', + '㈥' => '(六)', + '㈦' => '(七)', + '㈧' => '(八)', + '㈨' => '(九)', + '㈩' => '(十)', + '㈪' => '(月)', + '㈫' => '(火)', + '㈬' => '(水)', + '㈭' => '(木)', + '㈮' => '(金)', + '㈯' => '(土)', + '㈰' => '(日)', + '㈱' => '(株)', + '㈲' => '(有)', + '㈳' => '(社)', + '㈴' => '(名)', + '㈵' => '(特)', + '㈶' => '(財)', + '㈷' => '(祝)', + '㈸' => '(労)', + '㈹' => '(代)', + '㈺' => '(呼)', + '㈻' => '(学)', + '㈼' => '(監)', + '㈽' => '(企)', + '㈾' => '(資)', + '㈿' => '(協)', + '㉀' => '(祭)', + '㉁' => '(休)', + '㉂' => '(自)', + '㉃' => '(至)', + '㉄' => '(問)', + '㉅' => '(幼)', + '㉆' => '(文)', + '㉇' => '(箏)', + '㉐' => 'PTE', + '㉑' => '(21)', + '㉒' => '(22)', + '㉓' => '(23)', + '㉔' => '(24)', + '㉕' => '(25)', + '㉖' => '(26)', + '㉗' => '(27)', + '㉘' => '(28)', + '㉙' => '(29)', + '㉚' => '(30)', + '㉛' => '(31)', + '㉜' => '(32)', + '㉝' => '(33)', + '㉞' => '(34)', + '㉟' => '(35)', + '㉠' => '(ᄀ)', + '㉡' => '(ᄂ)', + '㉢' => '(ᄃ)', + '㉣' => '(ᄅ)', + '㉤' => '(ᄆ)', + '㉥' => '(ᄇ)', + '㉦' => '(ᄉ)', + '㉧' => '(ᄋ)', + '㉨' => '(ᄌ)', + '㉩' => '(ᄎ)', + '㉪' => '(ᄏ)', + '㉫' => '(ᄐ)', + '㉬' => '(ᄑ)', + '㉭' => '(ᄒ)', + '㉮' => '(가)', + '㉯' => '(나)', + '㉰' => '(다)', + '㉱' => '(라)', + '㉲' => '(마)', + '㉳' => '(바)', + '㉴' => '(사)', + '㉵' => '(아)', + '㉶' => '(자)', + '㉷' => '(차)', + '㉸' => '(카)', + '㉹' => '(타)', + '㉺' => '(파)', + '㉻' => '(하)', + '㉼' => '(참고)', + '㉽' => '(주의)', + '㉾' => '(우)', + '㊀' => '(一)', + '㊁' => '(二)', + '㊂' => '(三)', + '㊃' => '(四)', + '㊄' => '(五)', + '㊅' => '(六)', + '㊆' => '(七)', + '㊇' => '(八)', + '㊈' => '(九)', + '㊉' => '(十)', + '㊊' => '(月)', + '㊋' => '(火)', + '㊌' => '(水)', + '㊍' => '(木)', + '㊎' => '(金)', + '㊏' => '(土)', + '㊐' => '(日)', + '㊑' => '(株)', + '㊒' => '(有)', + '㊓' => '(社)', + '㊔' => '(名)', + '㊕' => '(特)', + '㊖' => '(財)', + '㊗' => '(祝)', + '㊘' => '(労)', + '㊙' => '(秘)', + '㊚' => '(男)', + '㊛' => '(女)', + '㊜' => '(適)', + '㊝' => '(優)', + '㊞' => '(印)', + '㊟' => '(注)', + '㊠' => '(項)', + '㊡' => '(休)', + '㊢' => '(写)', + '㊣' => '(正)', + '㊤' => '(上)', + '㊥' => '(中)', + '㊦' => '(下)', + '㊧' => '(左)', + '㊨' => '(右)', + '㊩' => '(医)', + '㊪' => '(宗)', + '㊫' => '(学)', + '㊬' => '(監)', + '㊭' => '(企)', + '㊮' => '(資)', + '㊯' => '(協)', + '㊰' => '(夜)', + '㊱' => '(36)', + '㊲' => '(37)', + '㊳' => '(38)', + '㊴' => '(39)', + '㊵' => '(40)', + '㊶' => '(41)', + '㊷' => '(42)', + '㊸' => '(43)', + '㊹' => '(44)', + '㊺' => '(45)', + '㊻' => '(46)', + '㊼' => '(47)', + '㊽' => '(48)', + '㊾' => '(49)', + '㊿' => '(50)', + '㋀' => '1月', + '㋁' => '2月', + '㋂' => '3月', + '㋃' => '4月', + '㋄' => '5月', + '㋅' => '6月', + '㋆' => '7月', + '㋇' => '8月', + '㋈' => '9月', + '㋉' => '10月', + '㋊' => '11月', + '㋋' => '12月', + '㋌' => 'Hg', + '㋍' => 'erg', + '㋎' => 'eV', + '㋏' => 'LTD', + '㋐' => '(ア)', + '㋑' => '(イ)', + '㋒' => '(ウ)', + '㋓' => '(エ)', + '㋔' => '(オ)', + '㋕' => '(カ)', + '㋖' => '(キ)', + '㋗' => '(ク)', + '㋘' => '(ケ)', + '㋙' => '(コ)', + '㋚' => '(サ)', + '㋛' => '(シ)', + '㋜' => '(ス)', + '㋝' => '(セ)', + '㋞' => '(ソ)', + '㋟' => '(タ)', + '㋠' => '(チ)', + '㋡' => '(ツ)', + '㋢' => '(テ)', + '㋣' => '(ト)', + '㋤' => '(ナ)', + '㋥' => '(ニ)', + '㋦' => '(ヌ)', + '㋧' => '(ネ)', + '㋨' => '(ノ)', + '㋩' => '(ハ)', + '㋪' => '(ヒ)', + '㋫' => '(フ)', + '㋬' => '(ヘ)', + '㋭' => '(ホ)', + '㋮' => '(マ)', + '㋯' => '(ミ)', + '㋰' => '(ム)', + '㋱' => '(メ)', + '㋲' => '(モ)', + '㋳' => '(ヤ)', + '㋴' => '(ユ)', + '㋵' => '(ヨ)', + '㋶' => '(ラ)', + '㋷' => '(リ)', + '㋸' => '(ル)', + '㋹' => '(レ)', + '㋺' => '(ロ)', + '㋻' => '(ワ)', + '㋼' => '(ヰ)', + '㋽' => '(ヱ)', + '㋾' => '(ヲ)', + '㋿' => '令和', + '㌀' => 'アパート', + '㌁' => 'アルファ', + '㌂' => 'アンペア', + '㌃' => 'アール', + '㌄' => 'イニング', + '㌅' => 'インチ', + '㌆' => 'ウォン', + '㌇' => 'エスクード', + '㌈' => 'エーカー', + '㌉' => 'オンス', + '㌊' => 'オーム', + '㌋' => 'カイリ', + '㌌' => 'カラット', + '㌍' => 'カロリー', + '㌎' => 'ガロン', + '㌏' => 'ガンマ', + '㌐' => 'ギガ', + '㌑' => 'ギニー', + '㌒' => 'キュリー', + '㌓' => 'ギルダー', + '㌔' => 'キロ', + '㌕' => 'キログラム', + '㌖' => 'キロメートル', + '㌗' => 'キロワット', + '㌘' => 'グラム', + '㌙' => 'グラムトン', + '㌚' => 'クルゼイロ', + '㌛' => 'クローネ', + '㌜' => 'ケース', + '㌝' => 'コルナ', + '㌞' => 'コーポ', + '㌟' => 'サイクル', + '㌠' => 'サンチーム', + '㌡' => 'シリング', + '㌢' => 'センチ', + '㌣' => 'セント', + '㌤' => 'ダース', + '㌥' => 'デシ', + '㌦' => 'ドル', + '㌧' => 'トン', + '㌨' => 'ナノ', + '㌩' => 'ノット', + '㌪' => 'ハイツ', + '㌫' => 'パーセント', + '㌬' => 'パーツ', + '㌭' => 'バーレル', + '㌮' => 'ピアストル', + '㌯' => 'ピクル', + '㌰' => 'ピコ', + '㌱' => 'ビル', + '㌲' => 'ファラッド', + '㌳' => 'フィート', + '㌴' => 'ブッシェル', + '㌵' => 'フラン', + '㌶' => 'ヘクタール', + '㌷' => 'ペソ', + '㌸' => 'ペニヒ', + '㌹' => 'ヘルツ', + '㌺' => 'ペンス', + '㌻' => 'ページ', + '㌼' => 'ベータ', + '㌽' => 'ポイント', + '㌾' => 'ボルト', + '㌿' => 'ホン', + '㍀' => 'ポンド', + '㍁' => 'ホール', + '㍂' => 'ホーン', + '㍃' => 'マイクロ', + '㍄' => 'マイル', + '㍅' => 'マッハ', + '㍆' => 'マルク', + '㍇' => 'マンション', + '㍈' => 'ミクロン', + '㍉' => 'ミリ', + '㍊' => 'ミリバール', + '㍋' => 'メガ', + '㍌' => 'メガトン', + '㍍' => 'メートル', + '㍎' => 'ヤード', + '㍏' => 'ヤール', + '㍐' => 'ユアン', + '㍑' => 'リットル', + '㍒' => 'リラ', + '㍓' => 'ルピー', + '㍔' => 'ルーブル', + '㍕' => 'レム', + '㍖' => 'レントゲン', + '㍗' => 'ワット', + '㍘' => '0点', + '㍙' => '1点', + '㍚' => '2点', + '㍛' => '3点', + '㍜' => '4点', + '㍝' => '5点', + '㍞' => '6点', + '㍟' => '7点', + '㍠' => '8点', + '㍡' => '9点', + '㍢' => '10点', + '㍣' => '11点', + '㍤' => '12点', + '㍥' => '13点', + '㍦' => '14点', + '㍧' => '15点', + '㍨' => '16点', + '㍩' => '17点', + '㍪' => '18点', + '㍫' => '19点', + '㍬' => '20点', + '㍭' => '21点', + '㍮' => '22点', + '㍯' => '23点', + '㍰' => '24点', + '㍱' => 'hPa', + '㍲' => 'da', + '㍳' => 'AU', + '㍴' => 'bar', + '㍵' => 'oV', + '㍶' => 'pc', + '㍷' => 'dm', + '㍸' => 'dm²', + '㍹' => 'dm³', + '㍺' => 'IU', + '㍻' => '平成', + '㍼' => '昭和', + '㍽' => '大正', + '㍾' => '明治', + '㍿' => '株式会社', + '㎀' => 'pA', + '㎁' => 'nA', + '㎂' => 'μA', + '㎃' => 'mA', + '㎄' => 'kA', + '㎅' => 'KB', + '㎆' => 'MB', + '㎇' => 'GB', + '㎈' => 'cal', + '㎉' => 'kcal', + '㎊' => 'pF', + '㎋' => 'nF', + '㎌' => 'μF', + '㎍' => 'μg', + '㎎' => 'mg', + '㎏' => 'kg', + '㎐' => 'Hz', + '㎑' => 'kHz', + '㎒' => 'MHz', + '㎓' => 'GHz', + '㎔' => 'THz', + '㎕' => 'μℓ', + '㎖' => 'mℓ', + '㎗' => 'dℓ', + '㎘' => 'kℓ', + '㎙' => 'fm', + '㎚' => 'nm', + '㎛' => 'μm', + '㎜' => 'mm', + '㎝' => 'cm', + '㎞' => 'km', + '㎟' => 'mm²', + '㎠' => 'cm²', + '㎡' => 'm²', + '㎢' => 'km²', + '㎣' => 'mm³', + '㎤' => 'cm³', + '㎥' => 'm³', + '㎦' => 'km³', + '㎧' => 'm∕s', + '㎨' => 'm∕s²', + '㎩' => 'Pa', + '㎪' => 'kPa', + '㎫' => 'MPa', + '㎬' => 'GPa', + '㎭' => 'rad', + '㎮' => 'rad∕s', + '㎯' => 'rad∕s²', + '㎰' => 'ps', + '㎱' => 'ns', + '㎲' => 'μs', + '㎳' => 'ms', + '㎴' => 'pV', + '㎵' => 'nV', + '㎶' => 'μV', + '㎷' => 'mV', + '㎸' => 'kV', + '㎹' => 'MV', + '㎺' => 'pW', + '㎻' => 'nW', + '㎼' => 'μW', + '㎽' => 'mW', + '㎾' => 'kW', + '㎿' => 'MW', + '㏀' => 'kΩ', + '㏁' => 'MΩ', + '㏂' => 'a.m.', + '㏃' => 'Bq', + '㏄' => 'cc', + '㏅' => 'cd', + '㏆' => 'C∕kg', + '㏇' => 'Co.', + '㏈' => 'dB', + '㏉' => 'Gy', + '㏊' => 'ha', + '㏋' => 'HP', + '㏌' => 'in', + '㏍' => 'KK', + '㏎' => 'KM', + '㏏' => 'kt', + '㏐' => 'lm', + '㏑' => 'ln', + '㏒' => 'log', + '㏓' => 'lx', + '㏔' => 'mb', + '㏕' => 'mil', + '㏖' => 'mol', + '㏗' => 'PH', + '㏘' => 'p.m.', + '㏙' => 'PPM', + '㏚' => 'PR', + '㏛' => 'sr', + '㏜' => 'Sv', + '㏝' => 'Wb', + '㏞' => 'V∕m', + '㏟' => 'A∕m', + '㏠' => '1日', + '㏡' => '2日', + '㏢' => '3日', + '㏣' => '4日', + '㏤' => '5日', + '㏥' => '6日', + '㏦' => '7日', + '㏧' => '8日', + '㏨' => '9日', + '㏩' => '10日', + '㏪' => '11日', + '㏫' => '12日', + '㏬' => '13日', + '㏭' => '14日', + '㏮' => '15日', + '㏯' => '16日', + '㏰' => '17日', + '㏱' => '18日', + '㏲' => '19日', + '㏳' => '20日', + '㏴' => '21日', + '㏵' => '22日', + '㏶' => '23日', + '㏷' => '24日', + '㏸' => '25日', + '㏹' => '26日', + '㏺' => '27日', + '㏻' => '28日', + '㏼' => '29日', + '㏽' => '30日', + '㏾' => '31日', + '㏿' => 'gal', + '豈' => '豈', + '更' => '更', + '車' => '車', + '賈' => '賈', + '滑' => '滑', + '串' => '串', + '句' => '句', + '龜' => '龜', + '龜' => '龜', + '契' => '契', + '金' => '金', + '喇' => '喇', + '奈' => '奈', + '懶' => '懶', + '癩' => '癩', + '羅' => '羅', + '蘿' => '蘿', + '螺' => '螺', + '裸' => '裸', + '邏' => '邏', + '樂' => '樂', + '洛' => '洛', + '烙' => '烙', + '珞' => '珞', + '落' => '落', + '酪' => '酪', + '駱' => '駱', + '亂' => '亂', + '卵' => '卵', + '欄' => '欄', + '爛' => '爛', + '蘭' => '蘭', + '鸞' => '鸞', + '嵐' => '嵐', + '濫' => '濫', + '藍' => '藍', + '襤' => '襤', + '拉' => '拉', + '臘' => '臘', + '蠟' => '蠟', + '廊' => '廊', + '朗' => '朗', + '浪' => '浪', + '狼' => '狼', + '郎' => '郎', + '來' => '來', + '冷' => '冷', + '勞' => '勞', + '擄' => '擄', + '櫓' => '櫓', + '爐' => '爐', + '盧' => '盧', + '老' => '老', + '蘆' => '蘆', + '虜' => '虜', + '路' => '路', + '露' => '露', + '魯' => '魯', + '鷺' => '鷺', + '碌' => '碌', + '祿' => '祿', + '綠' => '綠', + '菉' => '菉', + '錄' => '錄', + '鹿' => '鹿', + '論' => '論', + '壟' => '壟', + '弄' => '弄', + '籠' => '籠', + '聾' => '聾', + '牢' => '牢', + '磊' => '磊', + '賂' => '賂', + '雷' => '雷', + '壘' => '壘', + '屢' => '屢', + '樓' => '樓', + '淚' => '淚', + '漏' => '漏', + '累' => '累', + '縷' => '縷', + '陋' => '陋', + '勒' => '勒', + '肋' => '肋', + '凜' => '凜', + '凌' => '凌', + '稜' => '稜', + '綾' => '綾', + '菱' => '菱', + '陵' => '陵', + '讀' => '讀', + '拏' => '拏', + '樂' => '樂', + '諾' => '諾', + '丹' => '丹', + '寧' => '寧', + '怒' => '怒', + '率' => '率', + '異' => '異', + '北' => '北', + '磻' => '磻', + '便' => '便', + '復' => '復', + '不' => '不', + '泌' => '泌', + '數' => '數', + '索' => '索', + '參' => '參', + '塞' => '塞', + '省' => '省', + '葉' => '葉', + '說' => '說', + '殺' => '殺', + '辰' => '辰', + '沈' => '沈', + '拾' => '拾', + '若' => '若', + '掠' => '掠', + '略' => '略', + '亮' => '亮', + '兩' => '兩', + '凉' => '凉', + '梁' => '梁', + '糧' => '糧', + '良' => '良', + '諒' => '諒', + '量' => '量', + '勵' => '勵', + '呂' => '呂', + '女' => '女', + '廬' => '廬', + '旅' => '旅', + '濾' => '濾', + '礪' => '礪', + '閭' => '閭', + '驪' => '驪', + '麗' => '麗', + '黎' => '黎', + '力' => '力', + '曆' => '曆', + '歷' => '歷', + '轢' => '轢', + '年' => '年', + '憐' => '憐', + '戀' => '戀', + '撚' => '撚', + '漣' => '漣', + '煉' => '煉', + '璉' => '璉', + '秊' => '秊', + '練' => '練', + '聯' => '聯', + '輦' => '輦', + '蓮' => '蓮', + '連' => '連', + '鍊' => '鍊', + '列' => '列', + '劣' => '劣', + '咽' => '咽', + '烈' => '烈', + '裂' => '裂', + '說' => '說', + '廉' => '廉', + '念' => '念', + '捻' => '捻', + '殮' => '殮', + '簾' => '簾', + '獵' => '獵', + '令' => '令', + '囹' => '囹', + '寧' => '寧', + '嶺' => '嶺', + '怜' => '怜', + '玲' => '玲', + '瑩' => '瑩', + '羚' => '羚', + '聆' => '聆', + '鈴' => '鈴', + '零' => '零', + '靈' => '靈', + '領' => '領', + '例' => '例', + '禮' => '禮', + '醴' => '醴', + '隸' => '隸', + '惡' => '惡', + '了' => '了', + '僚' => '僚', + '寮' => '寮', + '尿' => '尿', + '料' => '料', + '樂' => '樂', + '燎' => '燎', + '療' => '療', + '蓼' => '蓼', + '遼' => '遼', + '龍' => '龍', + '暈' => '暈', + '阮' => '阮', + '劉' => '劉', + '杻' => '杻', + '柳' => '柳', + '流' => '流', + '溜' => '溜', + '琉' => '琉', + '留' => '留', + '硫' => '硫', + '紐' => '紐', + '類' => '類', + '六' => '六', + '戮' => '戮', + '陸' => '陸', + '倫' => '倫', + '崙' => '崙', + '淪' => '淪', + '輪' => '輪', + '律' => '律', + '慄' => '慄', + '栗' => '栗', + '率' => '率', + '隆' => '隆', + '利' => '利', + '吏' => '吏', + '履' => '履', + '易' => '易', + '李' => '李', + '梨' => '梨', + '泥' => '泥', + '理' => '理', + '痢' => '痢', + '罹' => '罹', + '裏' => '裏', + '裡' => '裡', + '里' => '里', + '離' => '離', + '匿' => '匿', + '溺' => '溺', + '吝' => '吝', + '燐' => '燐', + '璘' => '璘', + '藺' => '藺', + '隣' => '隣', + '鱗' => '鱗', + '麟' => '麟', + '林' => '林', + '淋' => '淋', + '臨' => '臨', + '立' => '立', + '笠' => '笠', + '粒' => '粒', + '狀' => '狀', + '炙' => '炙', + '識' => '識', + '什' => '什', + '茶' => '茶', + '刺' => '刺', + '切' => '切', + '度' => '度', + '拓' => '拓', + '糖' => '糖', + '宅' => '宅', + '洞' => '洞', + '暴' => '暴', + '輻' => '輻', + '行' => '行', + '降' => '降', + '見' => '見', + '廓' => '廓', + '兀' => '兀', + '嗀' => '嗀', + '﨎' => '' . "\0" . '', + '﨏' => '' . "\0" . '', + '塚' => '塚', + '﨑' => '' . "\0" . '', + '晴' => '晴', + '﨓' => '' . "\0" . '', + '﨔' => '' . "\0" . '', + '凞' => '凞', + '猪' => '猪', + '益' => '益', + '礼' => '礼', + '神' => '神', + '祥' => '祥', + '福' => '福', + '靖' => '靖', + '精' => '精', + '羽' => '羽', + '﨟' => '' . "\0" . '', + '蘒' => '蘒', + '﨡' => '' . "\0" . '', + '諸' => '諸', + '﨣' => '' . "\0" . '', + '﨤' => '' . "\0" . '', + '逸' => '逸', + '都' => '都', + '﨧' => '' . "\0" . '', + '﨨' => '' . "\0" . '', + '﨩' => '' . "\0" . '', + '飯' => '飯', + '飼' => '飼', + '館' => '館', + '鶴' => '鶴', + '郞' => '郞', + '隷' => '隷', + '侮' => '侮', + '僧' => '僧', + '免' => '免', + '勉' => '勉', + '勤' => '勤', + '卑' => '卑', + '喝' => '喝', + '嘆' => '嘆', + '器' => '器', + '塀' => '塀', + '墨' => '墨', + '層' => '層', + '屮' => '屮', + '悔' => '悔', + '慨' => '慨', + '憎' => '憎', + '懲' => '懲', + '敏' => '敏', + '既' => '既', + '暑' => '暑', + '梅' => '梅', + '海' => '海', + '渚' => '渚', + '漢' => '漢', + '煮' => '煮', + '爫' => '爫', + '琢' => '琢', + '碑' => '碑', + '社' => '社', + '祉' => '祉', + '祈' => '祈', + '祐' => '祐', + '祖' => '祖', + '祝' => '祝', + '禍' => '禍', + '禎' => '禎', + '穀' => '穀', + '突' => '突', + '節' => '節', + '練' => '練', + '縉' => '縉', + '繁' => '繁', + '署' => '署', + '者' => '者', + '臭' => '臭', + '艹' => '艹', + '艹' => '艹', + '著' => '著', + '褐' => '褐', + '視' => '視', + '謁' => '謁', + '謹' => '謹', + '賓' => '賓', + '贈' => '贈', + '辶' => '辶', + '逸' => '逸', + '難' => '難', + '響' => '響', + '頻' => '頻', + '恵' => '恵', + '𤋮' => '𤋮', + '舘' => '舘', + '並' => '並', + '况' => '况', + '全' => '全', + '侀' => '侀', + '充' => '充', + '冀' => '冀', + '勇' => '勇', + '勺' => '勺', + '喝' => '喝', + '啕' => '啕', + '喙' => '喙', + '嗢' => '嗢', + '塚' => '塚', + '墳' => '墳', + '奄' => '奄', + '奔' => '奔', + '婢' => '婢', + '嬨' => '嬨', + '廒' => '廒', + '廙' => '廙', + '彩' => '彩', + '徭' => '徭', + '惘' => '惘', + '慎' => '慎', + '愈' => '愈', + '憎' => '憎', + '慠' => '慠', + '懲' => '懲', + '戴' => '戴', + '揄' => '揄', + '搜' => '搜', + '摒' => '摒', + '敖' => '敖', + '晴' => '晴', + '朗' => '朗', + '望' => '望', + '杖' => '杖', + '歹' => '歹', + '殺' => '殺', + '流' => '流', + '滛' => '滛', + '滋' => '滋', + '漢' => '漢', + '瀞' => '瀞', + '煮' => '煮', + '瞧' => '瞧', + '爵' => '爵', + '犯' => '犯', + '猪' => '猪', + '瑱' => '瑱', + '甆' => '甆', + '画' => '画', + '瘝' => '瘝', + '瘟' => '瘟', + '益' => '益', + '盛' => '盛', + '直' => '直', + '睊' => '睊', + '着' => '着', + '磌' => '磌', + '窱' => '窱', + '節' => '節', + '类' => '类', + '絛' => '絛', + '練' => '練', + '缾' => '缾', + '者' => '者', + '荒' => '荒', + '華' => '華', + '蝹' => '蝹', + '襁' => '襁', + '覆' => '覆', + '視' => '視', + '調' => '調', + '諸' => '諸', + '請' => '請', + '謁' => '謁', + '諾' => '諾', + '諭' => '諭', + '謹' => '謹', + '變' => '變', + '贈' => '贈', + '輸' => '輸', + '遲' => '遲', + '醙' => '醙', + '鉶' => '鉶', + '陼' => '陼', + '難' => '難', + '靖' => '靖', + '韛' => '韛', + '響' => '響', + '頋' => '頋', + '頻' => '頻', + '鬒' => '鬒', + '龜' => '龜', + '𢡊' => '𢡊', + '𢡄' => '𢡄', + '𣏕' => '𣏕', + '㮝' => '㮝', + '䀘' => '䀘', + '䀹' => '䀹', + '𥉉' => '𥉉', + '𥳐' => '𥳐', + '𧻓' => '𧻓', + '齃' => '齃', + '龎' => '龎', + 'ff' => 'ff', + 'fi' => 'fi', + 'fl' => 'fl', + 'ffi' => 'ffi', + 'ffl' => 'ffl', + 'ſt' => 'ſt', + 'st' => 'st', + 'ﬓ' => 'մն', + 'ﬔ' => 'մե', + 'ﬕ' => 'մի', + 'ﬖ' => 'վն', + 'ﬗ' => 'մխ', + 'ﬠ' => 'ע', + 'ﬡ' => 'א', + 'ﬢ' => 'ד', + 'ﬣ' => 'ה', + 'ﬤ' => 'כ', + 'ﬥ' => 'ל', + 'ﬦ' => 'ם', + 'ﬧ' => 'ר', + 'ﬨ' => 'ת', + '﬩' => '+', + 'ﭏ' => 'אל', + '﹉' => '‾', + '﹊' => '‾', + '﹋' => '‾', + '﹌' => '‾', + '﹍' => '_', + '﹎' => '_', + '﹏' => '_', + '﹐' => ',', + '﹑' => '、', + '﹒' => '.', + '﹔' => ';', + '﹕' => ':', + '﹖' => '?', + '﹗' => '!', + '﹘' => '—', + '﹙' => '(', + '﹚' => ')', + '﹛' => '{', + '﹜' => '}', + '﹝' => '〔', + '﹞' => '〕', + '﹟' => '#', + '﹠' => '&', + '﹡' => '*', + '﹢' => '+', + '﹣' => '-', + '﹤' => '<', + '﹥' => '>', + '﹦' => '=', + '﹨' => '\\', + '﹩' => '$', + '﹪' => '%', + '﹫' => '@', + '!' => '!', + '"' => '"', + '#' => '#', + '$' => '$', + '%' => '%', + '&' => '&', + ''' => '\'', + '(' => '(', + ')' => ')', + '*' => '*', + '+' => '+', + ',' => ',', + '-' => '-', + '.' => '.', + '/' => '/', + '0' => '0', + '1' => '1', + '2' => '2', + '3' => '3', + '4' => '4', + '5' => '5', + '6' => '6', + '7' => '7', + '8' => '8', + '9' => '9', + ':' => ':', + ';' => ';', + '<' => '<', + '=' => '=', + '>' => '>', + '?' => '?', + '@' => '@', + 'A' => 'A', + 'B' => 'B', + 'C' => 'C', + 'D' => 'D', + 'E' => 'E', + 'F' => 'F', + 'G' => 'G', + 'H' => 'H', + 'I' => 'I', + 'J' => 'J', + 'K' => 'K', + 'L' => 'L', + 'M' => 'M', + 'N' => 'N', + 'O' => 'O', + 'P' => 'P', + 'Q' => 'Q', + 'R' => 'R', + 'S' => 'S', + 'T' => 'T', + 'U' => 'U', + 'V' => 'V', + 'W' => 'W', + 'X' => 'X', + 'Y' => 'Y', + 'Z' => 'Z', + '[' => '[', + '\' => '\\', + ']' => ']', + '^' => '^', + '_' => '_', + '`' => '`', + 'a' => 'a', + 'b' => 'b', + 'c' => 'c', + 'd' => 'd', + 'e' => 'e', + 'f' => 'f', + 'g' => 'g', + 'h' => 'h', + 'i' => 'i', + 'j' => 'j', + 'k' => 'k', + 'l' => 'l', + 'm' => 'm', + 'n' => 'n', + 'o' => 'o', + 'p' => 'p', + 'q' => 'q', + 'r' => 'r', + 's' => 's', + 't' => 't', + 'u' => 'u', + 'v' => 'v', + 'w' => 'w', + 'x' => 'x', + 'y' => 'y', + 'z' => 'z', + '{' => '{', + '|' => '|', + '}' => '}', + '~' => '~', + '⦅' => '⦅', + '⦆' => '⦆', + '。' => '。', + '「' => '「', + '」' => '」', + '、' => '、', + '・' => '・', + 'ヲ' => 'ヲ', + 'ァ' => 'ァ', + 'ィ' => 'ィ', + 'ゥ' => 'ゥ', + 'ェ' => 'ェ', + 'ォ' => 'ォ', + 'ャ' => 'ャ', + 'ュ' => 'ュ', + 'ョ' => 'ョ', + 'ッ' => 'ッ', + 'ー' => 'ー', + 'ア' => 'ア', + 'イ' => 'イ', + 'ウ' => 'ウ', + 'エ' => 'エ', + 'オ' => 'オ', + 'カ' => 'カ', + 'キ' => 'キ', + 'ク' => 'ク', + 'ケ' => 'ケ', + 'コ' => 'コ', + 'サ' => 'サ', + 'シ' => 'シ', + 'ス' => 'ス', + 'セ' => 'セ', + 'ソ' => 'ソ', + 'タ' => 'タ', + 'チ' => 'チ', + 'ツ' => 'ツ', + 'テ' => 'テ', + 'ト' => 'ト', + 'ナ' => 'ナ', + 'ニ' => 'ニ', + 'ヌ' => 'ヌ', + 'ネ' => 'ネ', + 'ノ' => 'ノ', + 'ハ' => 'ハ', + 'ヒ' => 'ヒ', + 'フ' => 'フ', + 'ヘ' => 'ヘ', + 'ホ' => 'ホ', + 'マ' => 'マ', + 'ミ' => 'ミ', + 'ム' => 'ム', + 'メ' => 'メ', + 'モ' => 'モ', + 'ヤ' => 'ヤ', + 'ユ' => 'ユ', + 'ヨ' => 'ヨ', + 'ラ' => 'ラ', + 'リ' => 'リ', + 'ル' => 'ル', + 'レ' => 'レ', + 'ロ' => 'ロ', + 'ワ' => 'ワ', + 'ン' => 'ン', + '゙' => '゙', + '゚' => '゚', + 'ᅠ' => 'ㅤ', + 'ᄀ' => 'ㄱ', + 'ᄁ' => 'ㄲ', + 'ᆪ' => 'ㄳ', + 'ᄂ' => 'ㄴ', + 'ᆬ' => 'ㄵ', + 'ᆭ' => 'ㄶ', + 'ᄃ' => 'ㄷ', + 'ᄄ' => 'ㄸ', + 'ᄅ' => 'ㄹ', + 'ᆰ' => 'ㄺ', + 'ᆱ' => 'ㄻ', + 'ᆲ' => 'ㄼ', + 'ᆳ' => 'ㄽ', + 'ᆴ' => 'ㄾ', + 'ᆵ' => 'ㄿ', + 'ᄚ' => 'ㅀ', + 'ᄆ' => 'ㅁ', + 'ᄇ' => 'ㅂ', + 'ᄈ' => 'ㅃ', + 'ᄡ' => 'ㅄ', + 'ᄉ' => 'ㅅ', + 'ᄊ' => 'ㅆ', + 'ᄋ' => 'ㅇ', + 'ᄌ' => 'ㅈ', + 'ᄍ' => 'ㅉ', + 'ᄎ' => 'ㅊ', + 'ᄏ' => 'ㅋ', + 'ᄐ' => 'ㅌ', + 'ᄑ' => 'ㅍ', + 'ᄒ' => 'ㅎ', + 'ᅡ' => 'ㅏ', + 'ᅢ' => 'ㅐ', + 'ᅣ' => 'ㅑ', + 'ᅤ' => 'ㅒ', + 'ᅥ' => 'ㅓ', + 'ᅦ' => 'ㅔ', + 'ᅧ' => 'ㅕ', + 'ᅨ' => 'ㅖ', + 'ᅩ' => 'ㅗ', + 'ᅪ' => 'ㅘ', + 'ᅫ' => 'ㅙ', + 'ᅬ' => 'ㅚ', + 'ᅭ' => 'ㅛ', + 'ᅮ' => 'ㅜ', + 'ᅯ' => 'ㅝ', + 'ᅰ' => 'ㅞ', + 'ᅱ' => 'ㅟ', + 'ᅲ' => 'ㅠ', + 'ᅳ' => 'ㅡ', + 'ᅴ' => 'ㅢ', + 'ᅵ' => 'ㅣ', + '¢' => '¢', + '£' => '£', + '¬' => '¬', + ' ̄' => '¯', + '¦' => '¦', + '¥' => '¥', + '₩' => '₩', + '│' => '│', + '←' => '←', + '↑' => '↑', + '→' => '→', + '↓' => '↓', + '■' => '■', + '○' => '○', + '𝐀' => 'A', + '𝐁' => 'B', + '𝐂' => 'C', + '𝐃' => 'D', + '𝐄' => 'E', + '𝐅' => 'F', + '𝐆' => 'G', + '𝐇' => 'H', + '𝐈' => 'I', + '𝐉' => 'J', + '𝐊' => 'K', + '𝐋' => 'L', + '𝐌' => 'M', + '𝐍' => 'N', + '𝐎' => 'O', + '𝐏' => 'P', + '𝐐' => 'Q', + '𝐑' => 'R', + '𝐒' => 'S', + '𝐓' => 'T', + '𝐔' => 'U', + '𝐕' => 'V', + '𝐖' => 'W', + '𝐗' => 'X', + '𝐘' => 'Y', + '𝐙' => 'Z', + '𝐚' => 'a', + '𝐛' => 'b', + '𝐜' => 'c', + '𝐝' => 'd', + '𝐞' => 'e', + '𝐟' => 'f', + '𝐠' => 'g', + '𝐡' => 'h', + '𝐢' => 'i', + '𝐣' => 'j', + '𝐤' => 'k', + '𝐥' => 'l', + '𝐦' => 'm', + '𝐧' => 'n', + '𝐨' => 'o', + '𝐩' => 'p', + '𝐪' => 'q', + '𝐫' => 'r', + '𝐬' => 's', + '𝐭' => 't', + '𝐮' => 'u', + '𝐯' => 'v', + '𝐰' => 'w', + '𝐱' => 'x', + '𝐲' => 'y', + '𝐳' => 'z', + '𝐴' => 'A', + '𝐵' => 'B', + '𝐶' => 'C', + '𝐷' => 'D', + '𝐸' => 'E', + '𝐹' => 'F', + '𝐺' => 'G', + '𝐻' => 'H', + '𝐼' => 'I', + '𝐽' => 'J', + '𝐾' => 'K', + '𝐿' => 'L', + '𝑀' => 'M', + '𝑁' => 'N', + '𝑂' => 'O', + '𝑃' => 'P', + '𝑄' => 'Q', + '𝑅' => 'R', + '𝑆' => 'S', + '𝑇' => 'T', + '𝑈' => 'U', + '𝑉' => 'V', + '𝑊' => 'W', + '𝑋' => 'X', + '𝑌' => 'Y', + '𝑍' => 'Z', + '𝑎' => 'a', + '𝑏' => 'b', + '𝑐' => 'c', + '𝑑' => 'd', + '𝑒' => 'e', + '𝑓' => 'f', + '𝑔' => 'g', + '𝑖' => 'i', + '𝑗' => 'j', + '𝑘' => 'k', + '𝑙' => 'l', + '𝑚' => 'm', + '𝑛' => 'n', + '𝑜' => 'o', + '𝑝' => 'p', + '𝑞' => 'q', + '𝑟' => 'r', + '𝑠' => 's', + '𝑡' => 't', + '𝑢' => 'u', + '𝑣' => 'v', + '𝑤' => 'w', + '𝑥' => 'x', + '𝑦' => 'y', + '𝑧' => 'z', + '𝑨' => 'A', + '𝑩' => 'B', + '𝑪' => 'C', + '𝑫' => 'D', + '𝑬' => 'E', + '𝑭' => 'F', + '𝑮' => 'G', + '𝑯' => 'H', + '𝑰' => 'I', + '𝑱' => 'J', + '𝑲' => 'K', + '𝑳' => 'L', + '𝑴' => 'M', + '𝑵' => 'N', + '𝑶' => 'O', + '𝑷' => 'P', + '𝑸' => 'Q', + '𝑹' => 'R', + '𝑺' => 'S', + '𝑻' => 'T', + '𝑼' => 'U', + '𝑽' => 'V', + '𝑾' => 'W', + '𝑿' => 'X', + '𝒀' => 'Y', + '𝒁' => 'Z', + '𝒂' => 'a', + '𝒃' => 'b', + '𝒄' => 'c', + '𝒅' => 'd', + '𝒆' => 'e', + '𝒇' => 'f', + '𝒈' => 'g', + '𝒉' => 'h', + '𝒊' => 'i', + '𝒋' => 'j', + '𝒌' => 'k', + '𝒍' => 'l', + '𝒎' => 'm', + '𝒏' => 'n', + '𝒐' => 'o', + '𝒑' => 'p', + '𝒒' => 'q', + '𝒓' => 'r', + '𝒔' => 's', + '𝒕' => 't', + '𝒖' => 'u', + '𝒗' => 'v', + '𝒘' => 'w', + '𝒙' => 'x', + '𝒚' => 'y', + '𝒛' => 'z', + '𝒜' => 'A', + '𝒞' => 'C', + '𝒟' => 'D', + '𝒢' => 'G', + '𝒥' => 'J', + '𝒦' => 'K', + '𝒩' => 'N', + '𝒪' => 'O', + '𝒫' => 'P', + '𝒬' => 'Q', + '𝒮' => 'S', + '𝒯' => 'T', + '𝒰' => 'U', + '𝒱' => 'V', + '𝒲' => 'W', + '𝒳' => 'X', + '𝒴' => 'Y', + '𝒵' => 'Z', + '𝒶' => 'a', + '𝒷' => 'b', + '𝒸' => 'c', + '𝒹' => 'd', + '𝒻' => 'f', + '𝒽' => 'h', + '𝒾' => 'i', + '𝒿' => 'j', + '𝓀' => 'k', + '𝓁' => 'l', + '𝓂' => 'm', + '𝓃' => 'n', + '𝓅' => 'p', + '𝓆' => 'q', + '𝓇' => 'r', + '𝓈' => 's', + '𝓉' => 't', + '𝓊' => 'u', + '𝓋' => 'v', + '𝓌' => 'w', + '𝓍' => 'x', + '𝓎' => 'y', + '𝓏' => 'z', + '𝓐' => 'A', + '𝓑' => 'B', + '𝓒' => 'C', + '𝓓' => 'D', + '𝓔' => 'E', + '𝓕' => 'F', + '𝓖' => 'G', + '𝓗' => 'H', + '𝓘' => 'I', + '𝓙' => 'J', + '𝓚' => 'K', + '𝓛' => 'L', + '𝓜' => 'M', + '𝓝' => 'N', + '𝓞' => 'O', + '𝓟' => 'P', + '𝓠' => 'Q', + '𝓡' => 'R', + '𝓢' => 'S', + '𝓣' => 'T', + '𝓤' => 'U', + '𝓥' => 'V', + '𝓦' => 'W', + '𝓧' => 'X', + '𝓨' => 'Y', + '𝓩' => 'Z', + '𝓪' => 'a', + '𝓫' => 'b', + '𝓬' => 'c', + '𝓭' => 'd', + '𝓮' => 'e', + '𝓯' => 'f', + '𝓰' => 'g', + '𝓱' => 'h', + '𝓲' => 'i', + '𝓳' => 'j', + '𝓴' => 'k', + '𝓵' => 'l', + '𝓶' => 'm', + '𝓷' => 'n', + '𝓸' => 'o', + '𝓹' => 'p', + '𝓺' => 'q', + '𝓻' => 'r', + '𝓼' => 's', + '𝓽' => 't', + '𝓾' => 'u', + '𝓿' => 'v', + '𝔀' => 'w', + '𝔁' => 'x', + '𝔂' => 'y', + '𝔃' => 'z', + '𝔄' => 'A', + '𝔅' => 'B', + '𝔇' => 'D', + '𝔈' => 'E', + '𝔉' => 'F', + '𝔊' => 'G', + '𝔍' => 'J', + '𝔎' => 'K', + '𝔏' => 'L', + '𝔐' => 'M', + '𝔑' => 'N', + '𝔒' => 'O', + '𝔓' => 'P', + '𝔔' => 'Q', + '𝔖' => 'S', + '𝔗' => 'T', + '𝔘' => 'U', + '𝔙' => 'V', + '𝔚' => 'W', + '𝔛' => 'X', + '𝔜' => 'Y', + '𝔞' => 'a', + '𝔟' => 'b', + '𝔠' => 'c', + '𝔡' => 'd', + '𝔢' => 'e', + '𝔣' => 'f', + '𝔤' => 'g', + '𝔥' => 'h', + '𝔦' => 'i', + '𝔧' => 'j', + '𝔨' => 'k', + '𝔩' => 'l', + '𝔪' => 'm', + '𝔫' => 'n', + '𝔬' => 'o', + '𝔭' => 'p', + '𝔮' => 'q', + '𝔯' => 'r', + '𝔰' => 's', + '𝔱' => 't', + '𝔲' => 'u', + '𝔳' => 'v', + '𝔴' => 'w', + '𝔵' => 'x', + '𝔶' => 'y', + '𝔷' => 'z', + '𝔸' => 'A', + '𝔹' => 'B', + '𝔻' => 'D', + '𝔼' => 'E', + '𝔽' => 'F', + '𝔾' => 'G', + '𝕀' => 'I', + '𝕁' => 'J', + '𝕂' => 'K', + '𝕃' => 'L', + '𝕄' => 'M', + '𝕆' => 'O', + '𝕊' => 'S', + '𝕋' => 'T', + '𝕌' => 'U', + '𝕍' => 'V', + '𝕎' => 'W', + '𝕏' => 'X', + '𝕐' => 'Y', + '𝕒' => 'a', + '𝕓' => 'b', + '𝕔' => 'c', + '𝕕' => 'd', + '𝕖' => 'e', + '𝕗' => 'f', + '𝕘' => 'g', + '𝕙' => 'h', + '𝕚' => 'i', + '𝕛' => 'j', + '𝕜' => 'k', + '𝕝' => 'l', + '𝕞' => 'm', + '𝕟' => 'n', + '𝕠' => 'o', + '𝕡' => 'p', + '𝕢' => 'q', + '𝕣' => 'r', + '𝕤' => 's', + '𝕥' => 't', + '𝕦' => 'u', + '𝕧' => 'v', + '𝕨' => 'w', + '𝕩' => 'x', + '𝕪' => 'y', + '𝕫' => 'z', + '𝕬' => 'A', + '𝕭' => 'B', + '𝕮' => 'C', + '𝕯' => 'D', + '𝕰' => 'E', + '𝕱' => 'F', + '𝕲' => 'G', + '𝕳' => 'H', + '𝕴' => 'I', + '𝕵' => 'J', + '𝕶' => 'K', + '𝕷' => 'L', + '𝕸' => 'M', + '𝕹' => 'N', + '𝕺' => 'O', + '𝕻' => 'P', + '𝕼' => 'Q', + '𝕽' => 'R', + '𝕾' => 'S', + '𝕿' => 'T', + '𝖀' => 'U', + '𝖁' => 'V', + '𝖂' => 'W', + '𝖃' => 'X', + '𝖄' => 'Y', + '𝖅' => 'Z', + '𝖆' => 'a', + '𝖇' => 'b', + '𝖈' => 'c', + '𝖉' => 'd', + '𝖊' => 'e', + '𝖋' => 'f', + '𝖌' => 'g', + '𝖍' => 'h', + '𝖎' => 'i', + '𝖏' => 'j', + '𝖐' => 'k', + '𝖑' => 'l', + '𝖒' => 'm', + '𝖓' => 'n', + '𝖔' => 'o', + '𝖕' => 'p', + '𝖖' => 'q', + '𝖗' => 'r', + '𝖘' => 's', + '𝖙' => 't', + '𝖚' => 'u', + '𝖛' => 'v', + '𝖜' => 'w', + '𝖝' => 'x', + '𝖞' => 'y', + '𝖟' => 'z', + '𝖠' => 'A', + '𝖡' => 'B', + '𝖢' => 'C', + '𝖣' => 'D', + '𝖤' => 'E', + '𝖥' => 'F', + '𝖦' => 'G', + '𝖧' => 'H', + '𝖨' => 'I', + '𝖩' => 'J', + '𝖪' => 'K', + '𝖫' => 'L', + '𝖬' => 'M', + '𝖭' => 'N', + '𝖮' => 'O', + '𝖯' => 'P', + '𝖰' => 'Q', + '𝖱' => 'R', + '𝖲' => 'S', + '𝖳' => 'T', + '𝖴' => 'U', + '𝖵' => 'V', + '𝖶' => 'W', + '𝖷' => 'X', + '𝖸' => 'Y', + '𝖹' => 'Z', + '𝖺' => 'a', + '𝖻' => 'b', + '𝖼' => 'c', + '𝖽' => 'd', + '𝖾' => 'e', + '𝖿' => 'f', + '𝗀' => 'g', + '𝗁' => 'h', + '𝗂' => 'i', + '𝗃' => 'j', + '𝗄' => 'k', + '𝗅' => 'l', + '𝗆' => 'm', + '𝗇' => 'n', + '𝗈' => 'o', + '𝗉' => 'p', + '𝗊' => 'q', + '𝗋' => 'r', + '𝗌' => 's', + '𝗍' => 't', + '𝗎' => 'u', + '𝗏' => 'v', + '𝗐' => 'w', + '𝗑' => 'x', + '𝗒' => 'y', + '𝗓' => 'z', + '𝗔' => 'A', + '𝗕' => 'B', + '𝗖' => 'C', + '𝗗' => 'D', + '𝗘' => 'E', + '𝗙' => 'F', + '𝗚' => 'G', + '𝗛' => 'H', + '𝗜' => 'I', + '𝗝' => 'J', + '𝗞' => 'K', + '𝗟' => 'L', + '𝗠' => 'M', + '𝗡' => 'N', + '𝗢' => 'O', + '𝗣' => 'P', + '𝗤' => 'Q', + '𝗥' => 'R', + '𝗦' => 'S', + '𝗧' => 'T', + '𝗨' => 'U', + '𝗩' => 'V', + '𝗪' => 'W', + '𝗫' => 'X', + '𝗬' => 'Y', + '𝗭' => 'Z', + '𝗮' => 'a', + '𝗯' => 'b', + '𝗰' => 'c', + '𝗱' => 'd', + '𝗲' => 'e', + '𝗳' => 'f', + '𝗴' => 'g', + '𝗵' => 'h', + '𝗶' => 'i', + '𝗷' => 'j', + '𝗸' => 'k', + '𝗹' => 'l', + '𝗺' => 'm', + '𝗻' => 'n', + '𝗼' => 'o', + '𝗽' => 'p', + '𝗾' => 'q', + '𝗿' => 'r', + '𝘀' => 's', + '𝘁' => 't', + '𝘂' => 'u', + '𝘃' => 'v', + '𝘄' => 'w', + '𝘅' => 'x', + '𝘆' => 'y', + '𝘇' => 'z', + '𝘈' => 'A', + '𝘉' => 'B', + '𝘊' => 'C', + '𝘋' => 'D', + '𝘌' => 'E', + '𝘍' => 'F', + '𝘎' => 'G', + '𝘏' => 'H', + '𝘐' => 'I', + '𝘑' => 'J', + '𝘒' => 'K', + '𝘓' => 'L', + '𝘔' => 'M', + '𝘕' => 'N', + '𝘖' => 'O', + '𝘗' => 'P', + '𝘘' => 'Q', + '𝘙' => 'R', + '𝘚' => 'S', + '𝘛' => 'T', + '𝘜' => 'U', + '𝘝' => 'V', + '𝘞' => 'W', + '𝘟' => 'X', + '𝘠' => 'Y', + '𝘡' => 'Z', + '𝘢' => 'a', + '𝘣' => 'b', + '𝘤' => 'c', + '𝘥' => 'd', + '𝘦' => 'e', + '𝘧' => 'f', + '𝘨' => 'g', + '𝘩' => 'h', + '𝘪' => 'i', + '𝘫' => 'j', + '𝘬' => 'k', + '𝘭' => 'l', + '𝘮' => 'm', + '𝘯' => 'n', + '𝘰' => 'o', + '𝘱' => 'p', + '𝘲' => 'q', + '𝘳' => 'r', + '𝘴' => 's', + '𝘵' => 't', + '𝘶' => 'u', + '𝘷' => 'v', + '𝘸' => 'w', + '𝘹' => 'x', + '𝘺' => 'y', + '𝘻' => 'z', + '𝘼' => 'A', + '𝘽' => 'B', + '𝘾' => 'C', + '𝘿' => 'D', + '𝙀' => 'E', + '𝙁' => 'F', + '𝙂' => 'G', + '𝙃' => 'H', + '𝙄' => 'I', + '𝙅' => 'J', + '𝙆' => 'K', + '𝙇' => 'L', + '𝙈' => 'M', + '𝙉' => 'N', + '𝙊' => 'O', + '𝙋' => 'P', + '𝙌' => 'Q', + '𝙍' => 'R', + '𝙎' => 'S', + '𝙏' => 'T', + '𝙐' => 'U', + '𝙑' => 'V', + '𝙒' => 'W', + '𝙓' => 'X', + '𝙔' => 'Y', + '𝙕' => 'Z', + '𝙖' => 'a', + '𝙗' => 'b', + '𝙘' => 'c', + '𝙙' => 'd', + '𝙚' => 'e', + '𝙛' => 'f', + '𝙜' => 'g', + '𝙝' => 'h', + '𝙞' => 'i', + '𝙟' => 'j', + '𝙠' => 'k', + '𝙡' => 'l', + '𝙢' => 'm', + '𝙣' => 'n', + '𝙤' => 'o', + '𝙥' => 'p', + '𝙦' => 'q', + '𝙧' => 'r', + '𝙨' => 's', + '𝙩' => 't', + '𝙪' => 'u', + '𝙫' => 'v', + '𝙬' => 'w', + '𝙭' => 'x', + '𝙮' => 'y', + '𝙯' => 'z', + '𝙰' => 'A', + '𝙱' => 'B', + '𝙲' => 'C', + '𝙳' => 'D', + '𝙴' => 'E', + '𝙵' => 'F', + '𝙶' => 'G', + '𝙷' => 'H', + '𝙸' => 'I', + '𝙹' => 'J', + '𝙺' => 'K', + '𝙻' => 'L', + '𝙼' => 'M', + '𝙽' => 'N', + '𝙾' => 'O', + '𝙿' => 'P', + '𝚀' => 'Q', + '𝚁' => 'R', + '𝚂' => 'S', + '𝚃' => 'T', + '𝚄' => 'U', + '𝚅' => 'V', + '𝚆' => 'W', + '𝚇' => 'X', + '𝚈' => 'Y', + '𝚉' => 'Z', + '𝚊' => 'a', + '𝚋' => 'b', + '𝚌' => 'c', + '𝚍' => 'd', + '𝚎' => 'e', + '𝚏' => 'f', + '𝚐' => 'g', + '𝚑' => 'h', + '𝚒' => 'i', + '𝚓' => 'j', + '𝚔' => 'k', + '𝚕' => 'l', + '𝚖' => 'm', + '𝚗' => 'n', + '𝚘' => 'o', + '𝚙' => 'p', + '𝚚' => 'q', + '𝚛' => 'r', + '𝚜' => 's', + '𝚝' => 't', + '𝚞' => 'u', + '𝚟' => 'v', + '𝚠' => 'w', + '𝚡' => 'x', + '𝚢' => 'y', + '𝚣' => 'z', + '𝚤' => 'ı', + '𝚥' => 'ȷ', + '𝚨' => 'Α', + '𝚩' => 'Β', + '𝚪' => 'Γ', + '𝚫' => 'Δ', + '𝚬' => 'Ε', + '𝚭' => 'Ζ', + '𝚮' => 'Η', + '𝚯' => 'Θ', + '𝚰' => 'Ι', + '𝚱' => 'Κ', + '𝚲' => 'Λ', + '𝚳' => 'Μ', + '𝚴' => 'Ν', + '𝚵' => 'Ξ', + '𝚶' => 'Ο', + '𝚷' => 'Π', + '𝚸' => 'Ρ', + '𝚹' => 'ϴ', + '𝚺' => 'Σ', + '𝚻' => 'Τ', + '𝚼' => 'Υ', + '𝚽' => 'Φ', + '𝚾' => 'Χ', + '𝚿' => 'Ψ', + '𝛀' => 'Ω', + '𝛁' => '∇', + '𝛂' => 'α', + '𝛃' => 'β', + '𝛄' => 'γ', + '𝛅' => 'δ', + '𝛆' => 'ε', + '𝛇' => 'ζ', + '𝛈' => 'η', + '𝛉' => 'θ', + '𝛊' => 'ι', + '𝛋' => 'κ', + '𝛌' => 'λ', + '𝛍' => 'μ', + '𝛎' => 'ν', + '𝛏' => 'ξ', + '𝛐' => 'ο', + '𝛑' => 'π', + '𝛒' => 'ρ', + '𝛓' => 'ς', + '𝛔' => 'σ', + '𝛕' => 'τ', + '𝛖' => 'υ', + '𝛗' => 'φ', + '𝛘' => 'χ', + '𝛙' => 'ψ', + '𝛚' => 'ω', + '𝛛' => '∂', + '𝛜' => 'ϵ', + '𝛝' => 'ϑ', + '𝛞' => 'ϰ', + '𝛟' => 'ϕ', + '𝛠' => 'ϱ', + '𝛡' => 'ϖ', + '𝛢' => 'Α', + '𝛣' => 'Β', + '𝛤' => 'Γ', + '𝛥' => 'Δ', + '𝛦' => 'Ε', + '𝛧' => 'Ζ', + '𝛨' => 'Η', + '𝛩' => 'Θ', + '𝛪' => 'Ι', + '𝛫' => 'Κ', + '𝛬' => 'Λ', + '𝛭' => 'Μ', + '𝛮' => 'Ν', + '𝛯' => 'Ξ', + '𝛰' => 'Ο', + '𝛱' => 'Π', + '𝛲' => 'Ρ', + '𝛳' => 'ϴ', + '𝛴' => 'Σ', + '𝛵' => 'Τ', + '𝛶' => 'Υ', + '𝛷' => 'Φ', + '𝛸' => 'Χ', + '𝛹' => 'Ψ', + '𝛺' => 'Ω', + '𝛻' => '∇', + '𝛼' => 'α', + '𝛽' => 'β', + '𝛾' => 'γ', + '𝛿' => 'δ', + '𝜀' => 'ε', + '𝜁' => 'ζ', + '𝜂' => 'η', + '𝜃' => 'θ', + '𝜄' => 'ι', + '𝜅' => 'κ', + '𝜆' => 'λ', + '𝜇' => 'μ', + '𝜈' => 'ν', + '𝜉' => 'ξ', + '𝜊' => 'ο', + '𝜋' => 'π', + '𝜌' => 'ρ', + '𝜍' => 'ς', + '𝜎' => 'σ', + '𝜏' => 'τ', + '𝜐' => 'υ', + '𝜑' => 'φ', + '𝜒' => 'χ', + '𝜓' => 'ψ', + '𝜔' => 'ω', + '𝜕' => '∂', + '𝜖' => 'ϵ', + '𝜗' => 'ϑ', + '𝜘' => 'ϰ', + '𝜙' => 'ϕ', + '𝜚' => 'ϱ', + '𝜛' => 'ϖ', + '𝜜' => 'Α', + '𝜝' => 'Β', + '𝜞' => 'Γ', + '𝜟' => 'Δ', + '𝜠' => 'Ε', + '𝜡' => 'Ζ', + '𝜢' => 'Η', + '𝜣' => 'Θ', + '𝜤' => 'Ι', + '𝜥' => 'Κ', + '𝜦' => 'Λ', + '𝜧' => 'Μ', + '𝜨' => 'Ν', + '𝜩' => 'Ξ', + '𝜪' => 'Ο', + '𝜫' => 'Π', + '𝜬' => 'Ρ', + '𝜭' => 'ϴ', + '𝜮' => 'Σ', + '𝜯' => 'Τ', + '𝜰' => 'Υ', + '𝜱' => 'Φ', + '𝜲' => 'Χ', + '𝜳' => 'Ψ', + '𝜴' => 'Ω', + '𝜵' => '∇', + '𝜶' => 'α', + '𝜷' => 'β', + '𝜸' => 'γ', + '𝜹' => 'δ', + '𝜺' => 'ε', + '𝜻' => 'ζ', + '𝜼' => 'η', + '𝜽' => 'θ', + '𝜾' => 'ι', + '𝜿' => 'κ', + '𝝀' => 'λ', + '𝝁' => 'μ', + '𝝂' => 'ν', + '𝝃' => 'ξ', + '𝝄' => 'ο', + '𝝅' => 'π', + '𝝆' => 'ρ', + '𝝇' => 'ς', + '𝝈' => 'σ', + '𝝉' => 'τ', + '𝝊' => 'υ', + '𝝋' => 'φ', + '𝝌' => 'χ', + '𝝍' => 'ψ', + '𝝎' => 'ω', + '𝝏' => '∂', + '𝝐' => 'ϵ', + '𝝑' => 'ϑ', + '𝝒' => 'ϰ', + '𝝓' => 'ϕ', + '𝝔' => 'ϱ', + '𝝕' => 'ϖ', + '𝝖' => 'Α', + '𝝗' => 'Β', + '𝝘' => 'Γ', + '𝝙' => 'Δ', + '𝝚' => 'Ε', + '𝝛' => 'Ζ', + '𝝜' => 'Η', + '𝝝' => 'Θ', + '𝝞' => 'Ι', + '𝝟' => 'Κ', + '𝝠' => 'Λ', + '𝝡' => 'Μ', + '𝝢' => 'Ν', + '𝝣' => 'Ξ', + '𝝤' => 'Ο', + '𝝥' => 'Π', + '𝝦' => 'Ρ', + '𝝧' => 'ϴ', + '𝝨' => 'Σ', + '𝝩' => 'Τ', + '𝝪' => 'Υ', + '𝝫' => 'Φ', + '𝝬' => 'Χ', + '𝝭' => 'Ψ', + '𝝮' => 'Ω', + '𝝯' => '∇', + '𝝰' => 'α', + '𝝱' => 'β', + '𝝲' => 'γ', + '𝝳' => 'δ', + '𝝴' => 'ε', + '𝝵' => 'ζ', + '𝝶' => 'η', + '𝝷' => 'θ', + '𝝸' => 'ι', + '𝝹' => 'κ', + '𝝺' => 'λ', + '𝝻' => 'μ', + '𝝼' => 'ν', + '𝝽' => 'ξ', + '𝝾' => 'ο', + '𝝿' => 'π', + '𝞀' => 'ρ', + '𝞁' => 'ς', + '𝞂' => 'σ', + '𝞃' => 'τ', + '𝞄' => 'υ', + '𝞅' => 'φ', + '𝞆' => 'χ', + '𝞇' => 'ψ', + '𝞈' => 'ω', + '𝞉' => '∂', + '𝞊' => 'ϵ', + '𝞋' => 'ϑ', + '𝞌' => 'ϰ', + '𝞍' => 'ϕ', + '𝞎' => 'ϱ', + '𝞏' => 'ϖ', + '𝞐' => 'Α', + '𝞑' => 'Β', + '𝞒' => 'Γ', + '𝞓' => 'Δ', + '𝞔' => 'Ε', + '𝞕' => 'Ζ', + '𝞖' => 'Η', + '𝞗' => 'Θ', + '𝞘' => 'Ι', + '𝞙' => 'Κ', + '𝞚' => 'Λ', + '𝞛' => 'Μ', + '𝞜' => 'Ν', + '𝞝' => 'Ξ', + '𝞞' => 'Ο', + '𝞟' => 'Π', + '𝞠' => 'Ρ', + '𝞡' => 'ϴ', + '𝞢' => 'Σ', + '𝞣' => 'Τ', + '𝞤' => 'Υ', + '𝞥' => 'Φ', + '𝞦' => 'Χ', + '𝞧' => 'Ψ', + '𝞨' => 'Ω', + '𝞩' => '∇', + '𝞪' => 'α', + '𝞫' => 'β', + '𝞬' => 'γ', + '𝞭' => 'δ', + '𝞮' => 'ε', + '𝞯' => 'ζ', + '𝞰' => 'η', + '𝞱' => 'θ', + '𝞲' => 'ι', + '𝞳' => 'κ', + '𝞴' => 'λ', + '𝞵' => 'μ', + '𝞶' => 'ν', + '𝞷' => 'ξ', + '𝞸' => 'ο', + '𝞹' => 'π', + '𝞺' => 'ρ', + '𝞻' => 'ς', + '𝞼' => 'σ', + '𝞽' => 'τ', + '𝞾' => 'υ', + '𝞿' => 'φ', + '𝟀' => 'χ', + '𝟁' => 'ψ', + '𝟂' => 'ω', + '𝟃' => '∂', + '𝟄' => 'ϵ', + '𝟅' => 'ϑ', + '𝟆' => 'ϰ', + '𝟇' => 'ϕ', + '𝟈' => 'ϱ', + '𝟉' => 'ϖ', + '𝟊' => 'Ϝ', + '𝟋' => 'ϝ', + '𝟎' => '0', + '𝟏' => '1', + '𝟐' => '2', + '𝟑' => '3', + '𝟒' => '4', + '𝟓' => '5', + '𝟔' => '6', + '𝟕' => '7', + '𝟖' => '8', + '𝟗' => '9', + '𝟘' => '0', + '𝟙' => '1', + '𝟚' => '2', + '𝟛' => '3', + '𝟜' => '4', + '𝟝' => '5', + '𝟞' => '6', + '𝟟' => '7', + '𝟠' => '8', + '𝟡' => '9', + '𝟢' => '0', + '𝟣' => '1', + '𝟤' => '2', + '𝟥' => '3', + '𝟦' => '4', + '𝟧' => '5', + '𝟨' => '6', + '𝟩' => '7', + '𝟪' => '8', + '𝟫' => '9', + '𝟬' => '0', + '𝟭' => '1', + '𝟮' => '2', + '𝟯' => '3', + '𝟰' => '4', + '𝟱' => '5', + '𝟲' => '6', + '𝟳' => '7', + '𝟴' => '8', + '𝟵' => '9', + '𝟶' => '0', + '𝟷' => '1', + '𝟸' => '2', + '𝟹' => '3', + '𝟺' => '4', + '𝟻' => '5', + '𝟼' => '6', + '𝟽' => '7', + '𝟾' => '8', + '𝟿' => '9', + '𞸀' => 'ا', + '𞸁' => 'ب', + '𞸂' => 'ج', + '𞸃' => 'د', + '𞸅' => 'و', + '𞸆' => 'ز', + '𞸇' => 'ح', + '𞸈' => 'ط', + '𞸉' => 'ي', + '𞸊' => 'ك', + '𞸋' => 'ل', + '𞸌' => 'م', + '𞸍' => 'ن', + '𞸎' => 'س', + '𞸏' => 'ع', + '𞸐' => 'ف', + '𞸑' => 'ص', + '𞸒' => 'ق', + '𞸓' => 'ر', + '𞸔' => 'ش', + '𞸕' => 'ت', + '𞸖' => 'ث', + '𞸗' => 'خ', + '𞸘' => 'ذ', + '𞸙' => 'ض', + '𞸚' => 'ظ', + '𞸛' => 'غ', + '𞸜' => 'ٮ', + '𞸝' => 'ں', + '𞸞' => 'ڡ', + '𞸟' => 'ٯ', + '𞸡' => 'ب', + '𞸢' => 'ج', + '𞸤' => 'ه', + '𞸧' => 'ح', + '𞸩' => 'ي', + '𞸪' => 'ك', + '𞸫' => 'ل', + '𞸬' => 'م', + '𞸭' => 'ن', + '𞸮' => 'س', + '𞸯' => 'ع', + '𞸰' => 'ف', + '𞸱' => 'ص', + '𞸲' => 'ق', + '𞸴' => 'ش', + '𞸵' => 'ت', + '𞸶' => 'ث', + '𞸷' => 'خ', + '𞸹' => 'ض', + '𞸻' => 'غ', + '𞹂' => 'ج', + '𞹇' => 'ح', + '𞹉' => 'ي', + '𞹋' => 'ل', + '𞹍' => 'ن', + '𞹎' => 'س', + '𞹏' => 'ع', + '𞹑' => 'ص', + '𞹒' => 'ق', + '𞹔' => 'ش', + '𞹗' => 'خ', + '𞹙' => 'ض', + '𞹛' => 'غ', + '𞹝' => 'ں', + '𞹟' => 'ٯ', + '𞹡' => 'ب', + '𞹢' => 'ج', + '𞹤' => 'ه', + '𞹧' => 'ح', + '𞹨' => 'ط', + '𞹩' => 'ي', + '𞹪' => 'ك', + '𞹬' => 'م', + '𞹭' => 'ن', + '𞹮' => 'س', + '𞹯' => 'ع', + '𞹰' => 'ف', + '𞹱' => 'ص', + '𞹲' => 'ق', + '𞹴' => 'ش', + '𞹵' => 'ت', + '𞹶' => 'ث', + '𞹷' => 'خ', + '𞹹' => 'ض', + '𞹺' => 'ظ', + '𞹻' => 'غ', + '𞹼' => 'ٮ', + '𞹾' => 'ڡ', + '𞺀' => 'ا', + '𞺁' => 'ب', + '𞺂' => 'ج', + '𞺃' => 'د', + '𞺄' => 'ه', + '𞺅' => 'و', + '𞺆' => 'ز', + '𞺇' => 'ح', + '𞺈' => 'ط', + '𞺉' => 'ي', + '𞺋' => 'ل', + '𞺌' => 'م', + '𞺍' => 'ن', + '𞺎' => 'س', + '𞺏' => 'ع', + '𞺐' => 'ف', + '𞺑' => 'ص', + '𞺒' => 'ق', + '𞺓' => 'ر', + '𞺔' => 'ش', + '𞺕' => 'ت', + '𞺖' => 'ث', + '𞺗' => 'خ', + '𞺘' => 'ذ', + '𞺙' => 'ض', + '𞺚' => 'ظ', + '𞺛' => 'غ', + '𞺡' => 'ب', + '𞺢' => 'ج', + '𞺣' => 'د', + '𞺥' => 'و', + '𞺦' => 'ز', + '𞺧' => 'ح', + '𞺨' => 'ط', + '𞺩' => 'ي', + '𞺫' => 'ل', + '𞺬' => 'م', + '𞺭' => 'ن', + '𞺮' => 'س', + '𞺯' => 'ع', + '𞺰' => 'ف', + '𞺱' => 'ص', + '𞺲' => 'ق', + '𞺳' => 'ر', + '𞺴' => 'ش', + '𞺵' => 'ت', + '𞺶' => 'ث', + '𞺷' => 'خ', + '𞺸' => 'ذ', + '𞺹' => 'ض', + '𞺺' => 'ظ', + '𞺻' => 'غ', + '🄀' => '0.', + '🄁' => '0,', + '🄂' => '1,', + '🄃' => '2,', + '🄄' => '3,', + '🄅' => '4,', + '🄆' => '5,', + '🄇' => '6,', + '🄈' => '7,', + '🄉' => '8,', + '🄊' => '9,', + '🄐' => '(A)', + '🄑' => '(B)', + '🄒' => '(C)', + '🄓' => '(D)', + '🄔' => '(E)', + '🄕' => '(F)', + '🄖' => '(G)', + '🄗' => '(H)', + '🄘' => '(I)', + '🄙' => '(J)', + '🄚' => '(K)', + '🄛' => '(L)', + '🄜' => '(M)', + '🄝' => '(N)', + '🄞' => '(O)', + '🄟' => '(P)', + '🄠' => '(Q)', + '🄡' => '(R)', + '🄢' => '(S)', + '🄣' => '(T)', + '🄤' => '(U)', + '🄥' => '(V)', + '🄦' => '(W)', + '🄧' => '(X)', + '🄨' => '(Y)', + '🄩' => '(Z)', + '🄪' => '〔S〕', + '🄫' => '(C)', + '🄬' => '(R)', + '🄭' => '(CD)', + '🄮' => '(WZ)', + '🄰' => 'A', + '🄱' => 'B', + '🄲' => 'C', + '🄳' => 'D', + '🄴' => 'E', + '🄵' => 'F', + '🄶' => 'G', + '🄷' => 'H', + '🄸' => 'I', + '🄹' => 'J', + '🄺' => 'K', + '🄻' => 'L', + '🄼' => 'M', + '🄽' => 'N', + '🄾' => 'O', + '🄿' => 'P', + '🅀' => 'Q', + '🅁' => 'R', + '🅂' => 'S', + '🅃' => 'T', + '🅄' => 'U', + '🅅' => 'V', + '🅆' => 'W', + '🅇' => 'X', + '🅈' => 'Y', + '🅉' => 'Z', + '🅊' => 'HV', + '🅋' => 'MV', + '🅌' => 'SD', + '🅍' => 'SS', + '🅎' => 'PPV', + '🅏' => 'WC', + '🆐' => 'DJ', + '🈀' => 'ほか', + '🈁' => 'ココ', + '🈂' => 'サ', + '🈐' => '手', + '🈑' => '字', + '🈒' => '双', + '🈓' => 'デ', + '🈔' => '二', + '🈕' => '多', + '🈖' => '解', + '🈗' => '天', + '🈘' => '交', + '🈙' => '映', + '🈚' => '無', + '🈛' => '料', + '🈜' => '前', + '🈝' => '後', + '🈞' => '再', + '🈟' => '新', + '🈠' => '初', + '🈡' => '終', + '🈢' => '生', + '🈣' => '販', + '🈤' => '声', + '🈥' => '吹', + '🈦' => '演', + '🈧' => '投', + '🈨' => '捕', + '🈩' => '一', + '🈪' => '三', + '🈫' => '遊', + '🈬' => '左', + '🈭' => '中', + '🈮' => '右', + '🈯' => '指', + '🈰' => '走', + '🈱' => '打', + '🈲' => '禁', + '🈳' => '空', + '🈴' => '合', + '🈵' => '満', + '🈶' => '有', + '🈷' => '月', + '🈸' => '申', + '🈹' => '割', + '🈺' => '営', + '🈻' => '配', + '🉀' => '〔本〕', + '🉁' => '〔三〕', + '🉂' => '〔二〕', + '🉃' => '〔安〕', + '🉄' => '〔点〕', + '🉅' => '〔打〕', + '🉆' => '〔盗〕', + '🉇' => '〔勝〕', + '🉈' => '〔敗〕', + '🉐' => '(得)', + '🉑' => '(可)', + '🯰' => '0', + '🯱' => '1', + '🯲' => '2', + '🯳' => '3', + '🯴' => '4', + '🯵' => '5', + '🯶' => '6', + '🯷' => '7', + '🯸' => '8', + '🯹' => '9', + '丽' => '丽', + '丸' => '丸', + '乁' => '乁', + '𠄢' => '𠄢', + '你' => '你', + '侮' => '侮', + '侻' => '侻', + '倂' => '倂', + '偺' => '偺', + '備' => '備', + '僧' => '僧', + '像' => '像', + '㒞' => '㒞', + '𠘺' => '𠘺', + '免' => '免', + '兔' => '兔', + '兤' => '兤', + '具' => '具', + '𠔜' => '𠔜', + '㒹' => '㒹', + '內' => '內', + '再' => '再', + '𠕋' => '𠕋', + '冗' => '冗', + '冤' => '冤', + '仌' => '仌', + '冬' => '冬', + '况' => '况', + '𩇟' => '𩇟', + '凵' => '凵', + '刃' => '刃', + '㓟' => '㓟', + '刻' => '刻', + '剆' => '剆', + '割' => '割', + '剷' => '剷', + '㔕' => '㔕', + '勇' => '勇', + '勉' => '勉', + '勤' => '勤', + '勺' => '勺', + '包' => '包', + '匆' => '匆', + '北' => '北', + '卉' => '卉', + '卑' => '卑', + '博' => '博', + '即' => '即', + '卽' => '卽', + '卿' => '卿', + '卿' => '卿', + '卿' => '卿', + '𠨬' => '𠨬', + '灰' => '灰', + '及' => '及', + '叟' => '叟', + '𠭣' => '𠭣', + '叫' => '叫', + '叱' => '叱', + '吆' => '吆', + '咞' => '咞', + '吸' => '吸', + '呈' => '呈', + '周' => '周', + '咢' => '咢', + '哶' => '哶', + '唐' => '唐', + '啓' => '啓', + '啣' => '啣', + '善' => '善', + '善' => '善', + '喙' => '喙', + '喫' => '喫', + '喳' => '喳', + '嗂' => '嗂', + '圖' => '圖', + '嘆' => '嘆', + '圗' => '圗', + '噑' => '噑', + '噴' => '噴', + '切' => '切', + '壮' => '壮', + '城' => '城', + '埴' => '埴', + '堍' => '堍', + '型' => '型', + '堲' => '堲', + '報' => '報', + '墬' => '墬', + '𡓤' => '𡓤', + '売' => '売', + '壷' => '壷', + '夆' => '夆', + '多' => '多', + '夢' => '夢', + '奢' => '奢', + '𡚨' => '𡚨', + '𡛪' => '𡛪', + '姬' => '姬', + '娛' => '娛', + '娧' => '娧', + '姘' => '姘', + '婦' => '婦', + '㛮' => '㛮', + '㛼' => '㛼', + '嬈' => '嬈', + '嬾' => '嬾', + '嬾' => '嬾', + '𡧈' => '𡧈', + '寃' => '寃', + '寘' => '寘', + '寧' => '寧', + '寳' => '寳', + '𡬘' => '𡬘', + '寿' => '寿', + '将' => '将', + '当' => '当', + '尢' => '尢', + '㞁' => '㞁', + '屠' => '屠', + '屮' => '屮', + '峀' => '峀', + '岍' => '岍', + '𡷤' => '𡷤', + '嵃' => '嵃', + '𡷦' => '𡷦', + '嵮' => '嵮', + '嵫' => '嵫', + '嵼' => '嵼', + '巡' => '巡', + '巢' => '巢', + '㠯' => '㠯', + '巽' => '巽', + '帨' => '帨', + '帽' => '帽', + '幩' => '幩', + '㡢' => '㡢', + '𢆃' => '𢆃', + '㡼' => '㡼', + '庰' => '庰', + '庳' => '庳', + '庶' => '庶', + '廊' => '廊', + '𪎒' => '𪎒', + '廾' => '廾', + '𢌱' => '𢌱', + '𢌱' => '𢌱', + '舁' => '舁', + '弢' => '弢', + '弢' => '弢', + '㣇' => '㣇', + '𣊸' => '𣊸', + '𦇚' => '𦇚', + '形' => '形', + '彫' => '彫', + '㣣' => '㣣', + '徚' => '徚', + '忍' => '忍', + '志' => '志', + '忹' => '忹', + '悁' => '悁', + '㤺' => '㤺', + '㤜' => '㤜', + '悔' => '悔', + '𢛔' => '𢛔', + '惇' => '惇', + '慈' => '慈', + '慌' => '慌', + '慎' => '慎', + '慌' => '慌', + '慺' => '慺', + '憎' => '憎', + '憲' => '憲', + '憤' => '憤', + '憯' => '憯', + '懞' => '懞', + '懲' => '懲', + '懶' => '懶', + '成' => '成', + '戛' => '戛', + '扝' => '扝', + '抱' => '抱', + '拔' => '拔', + '捐' => '捐', + '𢬌' => '𢬌', + '挽' => '挽', + '拼' => '拼', + '捨' => '捨', + '掃' => '掃', + '揤' => '揤', + '𢯱' => '𢯱', + '搢' => '搢', + '揅' => '揅', + '掩' => '掩', + '㨮' => '㨮', + '摩' => '摩', + '摾' => '摾', + '撝' => '撝', + '摷' => '摷', + '㩬' => '㩬', + '敏' => '敏', + '敬' => '敬', + '𣀊' => '𣀊', + '旣' => '旣', + '書' => '書', + '晉' => '晉', + '㬙' => '㬙', + '暑' => '暑', + '㬈' => '㬈', + '㫤' => '㫤', + '冒' => '冒', + '冕' => '冕', + '最' => '最', + '暜' => '暜', + '肭' => '肭', + '䏙' => '䏙', + '朗' => '朗', + '望' => '望', + '朡' => '朡', + '杞' => '杞', + '杓' => '杓', + '𣏃' => '𣏃', + '㭉' => '㭉', + '柺' => '柺', + '枅' => '枅', + '桒' => '桒', + '梅' => '梅', + '𣑭' => '𣑭', + '梎' => '梎', + '栟' => '栟', + '椔' => '椔', + '㮝' => '㮝', + '楂' => '楂', + '榣' => '榣', + '槪' => '槪', + '檨' => '檨', + '𣚣' => '𣚣', + '櫛' => '櫛', + '㰘' => '㰘', + '次' => '次', + '𣢧' => '𣢧', + '歔' => '歔', + '㱎' => '㱎', + '歲' => '歲', + '殟' => '殟', + '殺' => '殺', + '殻' => '殻', + '𣪍' => '𣪍', + '𡴋' => '𡴋', + '𣫺' => '𣫺', + '汎' => '汎', + '𣲼' => '𣲼', + '沿' => '沿', + '泍' => '泍', + '汧' => '汧', + '洖' => '洖', + '派' => '派', + '海' => '海', + '流' => '流', + '浩' => '浩', + '浸' => '浸', + '涅' => '涅', + '𣴞' => '𣴞', + '洴' => '洴', + '港' => '港', + '湮' => '湮', + '㴳' => '㴳', + '滋' => '滋', + '滇' => '滇', + '𣻑' => '𣻑', + '淹' => '淹', + '潮' => '潮', + '𣽞' => '𣽞', + '𣾎' => '𣾎', + '濆' => '濆', + '瀹' => '瀹', + '瀞' => '瀞', + '瀛' => '瀛', + '㶖' => '㶖', + '灊' => '灊', + '災' => '災', + '灷' => '灷', + '炭' => '炭', + '𠔥' => '𠔥', + '煅' => '煅', + '𤉣' => '𤉣', + '熜' => '熜', + '𤎫' => '𤎫', + '爨' => '爨', + '爵' => '爵', + '牐' => '牐', + '𤘈' => '𤘈', + '犀' => '犀', + '犕' => '犕', + '𤜵' => '𤜵', + '𤠔' => '𤠔', + '獺' => '獺', + '王' => '王', + '㺬' => '㺬', + '玥' => '玥', + '㺸' => '㺸', + '㺸' => '㺸', + '瑇' => '瑇', + '瑜' => '瑜', + '瑱' => '瑱', + '璅' => '璅', + '瓊' => '瓊', + '㼛' => '㼛', + '甤' => '甤', + '𤰶' => '𤰶', + '甾' => '甾', + '𤲒' => '𤲒', + '異' => '異', + '𢆟' => '𢆟', + '瘐' => '瘐', + '𤾡' => '𤾡', + '𤾸' => '𤾸', + '𥁄' => '𥁄', + '㿼' => '㿼', + '䀈' => '䀈', + '直' => '直', + '𥃳' => '𥃳', + '𥃲' => '𥃲', + '𥄙' => '𥄙', + '𥄳' => '𥄳', + '眞' => '眞', + '真' => '真', + '真' => '真', + '睊' => '睊', + '䀹' => '䀹', + '瞋' => '瞋', + '䁆' => '䁆', + '䂖' => '䂖', + '𥐝' => '𥐝', + '硎' => '硎', + '碌' => '碌', + '磌' => '磌', + '䃣' => '䃣', + '𥘦' => '𥘦', + '祖' => '祖', + '𥚚' => '𥚚', + '𥛅' => '𥛅', + '福' => '福', + '秫' => '秫', + '䄯' => '䄯', + '穀' => '穀', + '穊' => '穊', + '穏' => '穏', + '𥥼' => '𥥼', + '𥪧' => '𥪧', + '𥪧' => '𥪧', + '竮' => '竮', + '䈂' => '䈂', + '𥮫' => '𥮫', + '篆' => '篆', + '築' => '築', + '䈧' => '䈧', + '𥲀' => '𥲀', + '糒' => '糒', + '䊠' => '䊠', + '糨' => '糨', + '糣' => '糣', + '紀' => '紀', + '𥾆' => '𥾆', + '絣' => '絣', + '䌁' => '䌁', + '緇' => '緇', + '縂' => '縂', + '繅' => '繅', + '䌴' => '䌴', + '𦈨' => '𦈨', + '𦉇' => '𦉇', + '䍙' => '䍙', + '𦋙' => '𦋙', + '罺' => '罺', + '𦌾' => '𦌾', + '羕' => '羕', + '翺' => '翺', + '者' => '者', + '𦓚' => '𦓚', + '𦔣' => '𦔣', + '聠' => '聠', + '𦖨' => '𦖨', + '聰' => '聰', + '𣍟' => '𣍟', + '䏕' => '䏕', + '育' => '育', + '脃' => '脃', + '䐋' => '䐋', + '脾' => '脾', + '媵' => '媵', + '𦞧' => '𦞧', + '𦞵' => '𦞵', + '𣎓' => '𣎓', + '𣎜' => '𣎜', + '舁' => '舁', + '舄' => '舄', + '辞' => '辞', + '䑫' => '䑫', + '芑' => '芑', + '芋' => '芋', + '芝' => '芝', + '劳' => '劳', + '花' => '花', + '芳' => '芳', + '芽' => '芽', + '苦' => '苦', + '𦬼' => '𦬼', + '若' => '若', + '茝' => '茝', + '荣' => '荣', + '莭' => '莭', + '茣' => '茣', + '莽' => '莽', + '菧' => '菧', + '著' => '著', + '荓' => '荓', + '菊' => '菊', + '菌' => '菌', + '菜' => '菜', + '𦰶' => '𦰶', + '𦵫' => '𦵫', + '𦳕' => '𦳕', + '䔫' => '䔫', + '蓱' => '蓱', + '蓳' => '蓳', + '蔖' => '蔖', + '𧏊' => '𧏊', + '蕤' => '蕤', + '𦼬' => '𦼬', + '䕝' => '䕝', + '䕡' => '䕡', + '𦾱' => '𦾱', + '𧃒' => '𧃒', + '䕫' => '䕫', + '虐' => '虐', + '虜' => '虜', + '虧' => '虧', + '虩' => '虩', + '蚩' => '蚩', + '蚈' => '蚈', + '蜎' => '蜎', + '蛢' => '蛢', + '蝹' => '蝹', + '蜨' => '蜨', + '蝫' => '蝫', + '螆' => '螆', + '䗗' => '䗗', + '蟡' => '蟡', + '蠁' => '蠁', + '䗹' => '䗹', + '衠' => '衠', + '衣' => '衣', + '𧙧' => '𧙧', + '裗' => '裗', + '裞' => '裞', + '䘵' => '䘵', + '裺' => '裺', + '㒻' => '㒻', + '𧢮' => '𧢮', + '𧥦' => '𧥦', + '䚾' => '䚾', + '䛇' => '䛇', + '誠' => '誠', + '諭' => '諭', + '變' => '變', + '豕' => '豕', + '𧲨' => '𧲨', + '貫' => '貫', + '賁' => '賁', + '贛' => '贛', + '起' => '起', + '𧼯' => '𧼯', + '𠠄' => '𠠄', + '跋' => '跋', + '趼' => '趼', + '跰' => '跰', + '𠣞' => '𠣞', + '軔' => '軔', + '輸' => '輸', + '𨗒' => '𨗒', + '𨗭' => '𨗭', + '邔' => '邔', + '郱' => '郱', + '鄑' => '鄑', + '𨜮' => '𨜮', + '鄛' => '鄛', + '鈸' => '鈸', + '鋗' => '鋗', + '鋘' => '鋘', + '鉼' => '鉼', + '鏹' => '鏹', + '鐕' => '鐕', + '𨯺' => '𨯺', + '開' => '開', + '䦕' => '䦕', + '閷' => '閷', + '𨵷' => '𨵷', + '䧦' => '䧦', + '雃' => '雃', + '嶲' => '嶲', + '霣' => '霣', + '𩅅' => '𩅅', + '𩈚' => '𩈚', + '䩮' => '䩮', + '䩶' => '䩶', + '韠' => '韠', + '𩐊' => '𩐊', + '䪲' => '䪲', + '𩒖' => '𩒖', + '頋' => '頋', + '頋' => '頋', + '頩' => '頩', + '𩖶' => '𩖶', + '飢' => '飢', + '䬳' => '䬳', + '餩' => '餩', + '馧' => '馧', + '駂' => '駂', + '駾' => '駾', + '䯎' => '䯎', + '𩬰' => '𩬰', + '鬒' => '鬒', + '鱀' => '鱀', + '鳽' => '鳽', + '䳎' => '䳎', + '䳭' => '䳭', + '鵧' => '鵧', + '𪃎' => '𪃎', + '䳸' => '䳸', + '𪄅' => '𪄅', + '𪈎' => '𪈎', + '𪊑' => '𪊑', + '麻' => '麻', + '䵖' => '䵖', + '黹' => '黹', + '黾' => '黾', + '鼅' => '鼅', + '鼏' => '鼏', + '鼖' => '鼖', + '鼻' => '鼻', + '𪘀' => '𪘀', + 'Æ' => 'AE', + 'Ð' => 'D', + 'Ø' => 'O', + 'Þ' => 'TH', + 'ß' => 'ss', + 'æ' => 'ae', + 'ð' => 'd', + 'ø' => 'o', + 'þ' => 'th', + 'Đ' => 'D', + 'đ' => 'd', + 'Ħ' => 'H', + 'ħ' => 'h', + 'ı' => 'i', + 'ĸ' => 'q', + 'Ł' => 'L', + 'ł' => 'l', + 'Ŋ' => 'N', + 'ŋ' => 'n', + 'Œ' => 'OE', + 'œ' => 'oe', + 'Ŧ' => 'T', + 'ŧ' => 't', + 'ƀ' => 'b', + 'Ɓ' => 'B', + 'Ƃ' => 'B', + 'ƃ' => 'b', + 'Ƈ' => 'C', + 'ƈ' => 'c', + 'Ɖ' => 'D', + 'Ɗ' => 'D', + 'Ƌ' => 'D', + 'ƌ' => 'd', + 'Ɛ' => 'E', + 'Ƒ' => 'F', + 'ƒ' => 'f', + 'Ɠ' => 'G', + 'ƕ' => 'hv', + 'Ɩ' => 'I', + 'Ɨ' => 'I', + 'Ƙ' => 'K', + 'ƙ' => 'k', + 'ƚ' => 'l', + 'Ɲ' => 'N', + 'ƞ' => 'n', + 'Ƣ' => 'OI', + 'ƣ' => 'oi', + 'Ƥ' => 'P', + 'ƥ' => 'p', + 'ƫ' => 't', + 'Ƭ' => 'T', + 'ƭ' => 't', + 'Ʈ' => 'T', + 'Ʋ' => 'V', + 'Ƴ' => 'Y', + 'ƴ' => 'y', + 'Ƶ' => 'Z', + 'ƶ' => 'z', + 'Ǥ' => 'G', + 'ǥ' => 'g', + 'ȡ' => 'd', + 'Ȥ' => 'Z', + 'ȥ' => 'z', + 'ȴ' => 'l', + 'ȵ' => 'n', + 'ȶ' => 't', + 'ȷ' => 'j', + 'ȸ' => 'db', + 'ȹ' => 'qp', + 'Ⱥ' => 'A', + 'Ȼ' => 'C', + 'ȼ' => 'c', + 'Ƚ' => 'L', + 'Ⱦ' => 'T', + 'ȿ' => 's', + 'ɀ' => 'z', + 'Ƀ' => 'B', + 'Ʉ' => 'U', + 'Ɇ' => 'E', + 'ɇ' => 'e', + 'Ɉ' => 'J', + 'ɉ' => 'j', + 'Ɍ' => 'R', + 'ɍ' => 'r', + 'Ɏ' => 'Y', + 'ɏ' => 'y', + 'ɓ' => 'b', + 'ɕ' => 'c', + 'ɖ' => 'd', + 'ɗ' => 'd', + 'ɛ' => 'e', + 'ɟ' => 'j', + 'ɠ' => 'g', + 'ɡ' => 'g', + 'ɢ' => 'G', + 'ɦ' => 'h', + 'ɧ' => 'h', + 'ɨ' => 'i', + 'ɪ' => 'I', + 'ɫ' => 'l', + 'ɬ' => 'l', + 'ɭ' => 'l', + 'ɱ' => 'm', + 'ɲ' => 'n', + 'ɳ' => 'n', + 'ɴ' => 'N', + 'ɶ' => 'OE', + 'ɼ' => 'r', + 'ɽ' => 'r', + 'ɾ' => 'r', + 'ʀ' => 'R', + 'ʂ' => 's', + 'ʈ' => 't', + 'ʉ' => 'u', + 'ʋ' => 'v', + 'ʏ' => 'Y', + 'ʐ' => 'z', + 'ʑ' => 'z', + 'ʙ' => 'B', + 'ʛ' => 'G', + 'ʜ' => 'H', + 'ʝ' => 'j', + 'ʟ' => 'L', + 'ʠ' => 'q', + 'ʣ' => 'dz', + 'ʥ' => 'dz', + 'ʦ' => 'ts', + 'ʪ' => 'ls', + 'ʫ' => 'lz', + 'ᴀ' => 'A', + 'ᴁ' => 'AE', + 'ᴃ' => 'B', + 'ᴄ' => 'C', + 'ᴅ' => 'D', + 'ᴆ' => 'D', + 'ᴇ' => 'E', + 'ᴊ' => 'J', + 'ᴋ' => 'K', + 'ᴌ' => 'L', + 'ᴍ' => 'M', + 'ᴏ' => 'O', + 'ᴘ' => 'P', + 'ᴛ' => 'T', + 'ᴜ' => 'U', + 'ᴠ' => 'V', + 'ᴡ' => 'W', + 'ᴢ' => 'Z', + 'ᵫ' => 'ue', + 'ᵬ' => 'b', + 'ᵭ' => 'd', + 'ᵮ' => 'f', + 'ᵯ' => 'm', + 'ᵰ' => 'n', + 'ᵱ' => 'p', + 'ᵲ' => 'r', + 'ᵳ' => 'r', + 'ᵴ' => 's', + 'ᵵ' => 't', + 'ᵶ' => 'z', + 'ᵺ' => 'th', + 'ᵻ' => 'I', + 'ᵽ' => 'p', + 'ᵾ' => 'U', + 'ᶀ' => 'b', + 'ᶁ' => 'd', + 'ᶂ' => 'f', + 'ᶃ' => 'g', + 'ᶄ' => 'k', + 'ᶅ' => 'l', + 'ᶆ' => 'm', + 'ᶇ' => 'n', + 'ᶈ' => 'p', + 'ᶉ' => 'r', + 'ᶊ' => 's', + 'ᶌ' => 'v', + 'ᶍ' => 'x', + 'ᶎ' => 'z', + 'ᶏ' => 'a', + 'ᶑ' => 'd', + 'ᶒ' => 'e', + 'ᶓ' => 'e', + 'ᶖ' => 'i', + 'ᶙ' => 'u', + 'ẜ' => 's', + 'ẝ' => 's', + 'ẞ' => 'SS', + 'Ỻ' => 'LL', + 'ỻ' => 'll', + 'Ỽ' => 'V', + 'ỽ' => 'v', + 'Ỿ' => 'Y', + 'ỿ' => 'y', + 'Ⱡ' => 'L', + 'ⱡ' => 'l', + 'Ɫ' => 'L', + 'Ᵽ' => 'P', + 'Ɽ' => 'R', + 'ⱥ' => 'a', + 'ⱦ' => 't', + 'Ⱨ' => 'H', + 'ⱨ' => 'h', + 'Ⱪ' => 'K', + 'ⱪ' => 'k', + 'Ⱬ' => 'Z', + 'ⱬ' => 'z', + 'Ɱ' => 'M', + 'ⱱ' => 'v', + 'Ⱳ' => 'W', + 'ⱳ' => 'w', + 'ⱴ' => 'v', + 'ⱸ' => 'e', + 'ⱺ' => 'o', + 'Ȿ' => 'S', + 'Ɀ' => 'Z', + 'ꜰ' => 'F', + 'ꜱ' => 'S', + 'Ꜳ' => 'AA', + 'ꜳ' => 'aa', + 'Ꜵ' => 'AO', + 'ꜵ' => 'ao', + 'Ꜷ' => 'AU', + 'ꜷ' => 'au', + 'Ꜹ' => 'AV', + 'ꜹ' => 'av', + 'Ꜻ' => 'AV', + 'ꜻ' => 'av', + 'Ꜽ' => 'AY', + 'ꜽ' => 'ay', + 'Ꝁ' => 'K', + 'ꝁ' => 'k', + 'Ꝃ' => 'K', + 'ꝃ' => 'k', + 'Ꝅ' => 'K', + 'ꝅ' => 'k', + 'Ꝇ' => 'L', + 'ꝇ' => 'l', + 'Ꝉ' => 'L', + 'ꝉ' => 'l', + 'Ꝋ' => 'O', + 'ꝋ' => 'o', + 'Ꝍ' => 'O', + 'ꝍ' => 'o', + 'Ꝏ' => 'OO', + 'ꝏ' => 'oo', + 'Ꝑ' => 'P', + 'ꝑ' => 'p', + 'Ꝓ' => 'P', + 'ꝓ' => 'p', + 'Ꝕ' => 'P', + 'ꝕ' => 'p', + 'Ꝗ' => 'Q', + 'ꝗ' => 'q', + 'Ꝙ' => 'Q', + 'ꝙ' => 'q', + 'Ꝟ' => 'V', + 'ꝟ' => 'v', + 'Ꝡ' => 'VY', + 'ꝡ' => 'vy', + 'Ꝥ' => 'TH', + 'ꝥ' => 'th', + 'Ꝧ' => 'TH', + 'ꝧ' => 'th', + 'ꝱ' => 'd', + 'ꝲ' => 'l', + 'ꝳ' => 'm', + 'ꝴ' => 'n', + 'ꝵ' => 'r', + 'ꝶ' => 'R', + 'ꝷ' => 't', + 'Ꝺ' => 'D', + 'ꝺ' => 'd', + 'Ꝼ' => 'F', + 'ꝼ' => 'f', + 'Ꞇ' => 'T', + 'ꞇ' => 't', + 'Ꞑ' => 'N', + 'ꞑ' => 'n', + 'Ꞓ' => 'C', + 'ꞓ' => 'c', + 'Ꞡ' => 'G', + 'ꞡ' => 'g', + 'Ꞣ' => 'K', + 'ꞣ' => 'k', + 'Ꞥ' => 'N', + 'ꞥ' => 'n', + 'Ꞧ' => 'R', + 'ꞧ' => 'r', + 'Ꞩ' => 'S', + 'ꞩ' => 's', + 'Ɦ' => 'H', + '©' => '(C)', + '®' => '(R)', + '₠' => 'CE', + '₢' => 'Cr', + '₣' => 'Fr.', + '₤' => 'L.', + '₧' => 'Pts', + '₹' => 'Rs', + '₺' => 'TL', + '℗' => '(P)', + '℘' => 'P', + '℞' => 'Rx', + '〇' => '0', + ' ' => ' ', + ' ' => ' ', + ' ' => ' ', + ' ' => ' ', + ' ' => ' ', + ' ' => ' ', + ' ' => ' ', + ' ' => ' ', + ' ' => ' ', + ' ' => ' ', + ' ' => ' ', + 'ʹ' => '\'', + 'ʺ' => '"', + 'ʻ' => '\'', + 'ʼ' => '\'', + 'ʽ' => '\'', + 'ˈ' => '\'', + 'ˋ' => '`', + '‘' => '\'', + '’' => '\'', + '‚' => ',', + '‛' => '\'', + '“' => '"', + '”' => '"', + '„' => ',,', + '‟' => '"', + '′' => '\'', + '〝' => '"', + '〞' => '"', + '«' => '<<', + '»' => '>>', + '‹' => '<', + '›' => '>', + '­' => '-', + '‐' => '-', + '‑' => '-', + '‒' => '-', + '–' => '-', + '—' => '-', + '―' => '-', + '︱' => '-', + '︲' => '-', + '¡' => '!', + '¿' => '?', + '˂' => '<', + '˃' => '>', + '˄' => '^', + 'ˆ' => '^', + 'ː' => ':', + '˜' => '~', + '‖' => '||', + '⁄' => '/', + '⁅' => '[', + '⁆' => ']', + '⁎' => '*', + '、' => ',', + '。' => '.', + '〈' => '<', + '〉' => '>', + '《' => '<<', + '》' => '>>', + '〔' => '[', + '〕' => ']', + '〘' => '[', + '〙' => ']', + '〚' => '[', + '〛' => ']', + '︐' => ',', + '︑' => ',', + '︒' => '.', + '︓' => ':', + '︔' => ';', + '︕' => '!', + '︖' => '?', + '︙' => '...', + '︰' => '..', + '︵' => '(', + '︶' => ')', + '︷' => '{', + '︸' => '}', + '︹' => '[', + '︺' => ']', + '︽' => '<<', + '︾' => '>>', + '︿' => '<', + '﹀' => '>', + '﹇' => '[', + '﹈' => ']', + '±' => '+/-', + '×' => '*', + '÷' => '/', + '˖' => '+', + '˗' => '-', + '−' => '-', + '∕' => '/', + '∖' => '\\', + '∣' => '|', + '∥' => '||', + '≪' => '<<', + '≫' => '>>', + '⦅' => '((', + '⦆' => '))', +); diff --git a/pandora_console/vendor/symfony/polyfill-iconv/bootstrap.php b/pandora_console/vendor/symfony/polyfill-iconv/bootstrap.php new file mode 100644 index 0000000000..c11df3b322 --- /dev/null +++ b/pandora_console/vendor/symfony/polyfill-iconv/bootstrap.php @@ -0,0 +1,88 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +use Symfony\Polyfill\Iconv as p; + +if (extension_loaded('iconv')) { + return; +} + +if (\PHP_VERSION_ID >= 80000) { + return require __DIR__.'/bootstrap80.php'; +} + +if (!defined('ICONV_IMPL')) { + define('ICONV_IMPL', 'Symfony'); +} +if (!defined('ICONV_VERSION')) { + define('ICONV_VERSION', '1.0'); +} +if (!defined('ICONV_MIME_DECODE_STRICT')) { + define('ICONV_MIME_DECODE_STRICT', 1); +} +if (!defined('ICONV_MIME_DECODE_CONTINUE_ON_ERROR')) { + define('ICONV_MIME_DECODE_CONTINUE_ON_ERROR', 2); +} + +if (!function_exists('iconv')) { + function iconv($from_encoding, $to_encoding, $string) { return p\Iconv::iconv($from_encoding, $to_encoding, $string); } +} +if (!function_exists('iconv_get_encoding')) { + function iconv_get_encoding($type = 'all') { return p\Iconv::iconv_get_encoding($type); } +} +if (!function_exists('iconv_set_encoding')) { + function iconv_set_encoding($type, $encoding) { return p\Iconv::iconv_set_encoding($type, $encoding); } +} +if (!function_exists('iconv_mime_encode')) { + function iconv_mime_encode($field_name, $field_value, $options = []) { return p\Iconv::iconv_mime_encode($field_name, $field_value, $options); } +} +if (!function_exists('iconv_mime_decode_headers')) { + function iconv_mime_decode_headers($headers, $mode = 0, $encoding = null) { return p\Iconv::iconv_mime_decode_headers($headers, $mode, $encoding); } +} + +if (extension_loaded('mbstring')) { + if (!function_exists('iconv_strlen')) { + function iconv_strlen($string, $encoding = null) { null === $encoding && $encoding = p\Iconv::$internalEncoding; return mb_strlen($string, $encoding); } + } + if (!function_exists('iconv_strpos')) { + function iconv_strpos($haystack, $needle, $offset = 0, $encoding = null) { null === $encoding && $encoding = p\Iconv::$internalEncoding; return mb_strpos($haystack, $needle, $offset, $encoding); } + } + if (!function_exists('iconv_strrpos')) { + function iconv_strrpos($haystack, $needle, $encoding = null) { null === $encoding && $encoding = p\Iconv::$internalEncoding; return mb_strrpos($haystack, $needle, 0, $encoding); } + } + if (!function_exists('iconv_substr')) { + function iconv_substr($string, $offset, $length = 2147483647, $encoding = null) { null === $encoding && $encoding = p\Iconv::$internalEncoding; return mb_substr($string, $offset, $length, $encoding); } + } + if (!function_exists('iconv_mime_decode')) { + function iconv_mime_decode($string, $mode = 0, $encoding = null) { $currentMbEncoding = mb_internal_encoding(); null === $encoding && $encoding = p\Iconv::$internalEncoding; mb_internal_encoding($encoding); $decoded = mb_decode_mimeheader($string); mb_internal_encoding($currentMbEncoding); return $decoded; } + } +} else { + if (!function_exists('iconv_strlen')) { + if (extension_loaded('xml')) { + function iconv_strlen($string, $encoding = null) { return p\Iconv::strlen1($string, $encoding); } + } else { + function iconv_strlen($string, $encoding = null) { return p\Iconv::strlen2($string, $encoding); } + } + } + + if (!function_exists('iconv_strpos')) { + function iconv_strpos($haystack, $needle, $offset = 0, $encoding = null) { return p\Iconv::iconv_strpos($haystack, $needle, $offset, $encoding); } + } + if (!function_exists('iconv_strrpos')) { + function iconv_strrpos($haystack, $needle, $encoding = null) { return p\Iconv::iconv_strrpos($haystack, $needle, $encoding); } + } + if (!function_exists('iconv_substr')) { + function iconv_substr($string, $offset, $length = 2147483647, $encoding = null) { return p\Iconv::iconv_substr($string, $offset, $length, $encoding); } + } + if (!function_exists('iconv_mime_decode')) { + function iconv_mime_decode($string, $mode = 0, $encoding = null) { return p\Iconv::iconv_mime_decode($string, $mode, $encoding); } + } +} diff --git a/pandora_console/vendor/symfony/polyfill-iconv/bootstrap80.php b/pandora_console/vendor/symfony/polyfill-iconv/bootstrap80.php new file mode 100644 index 0000000000..04b1473b75 --- /dev/null +++ b/pandora_console/vendor/symfony/polyfill-iconv/bootstrap80.php @@ -0,0 +1,80 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +use Symfony\Polyfill\Iconv as p; + +if (!defined('ICONV_IMPL')) { + define('ICONV_IMPL', 'Symfony'); +} +if (!defined('ICONV_VERSION')) { + define('ICONV_VERSION', '1.0'); +} +if (!defined('ICONV_MIME_DECODE_STRICT')) { + define('ICONV_MIME_DECODE_STRICT', 1); +} +if (!defined('ICONV_MIME_DECODE_CONTINUE_ON_ERROR')) { + define('ICONV_MIME_DECODE_CONTINUE_ON_ERROR', 2); +} + +if (!function_exists('iconv')) { + function iconv(?string $from_encoding, ?string $to_encoding, ?string $string): string|false { return p\Iconv::iconv((string) $from_encoding, (string) $to_encoding, (string) $string); } +} +if (!function_exists('iconv_get_encoding')) { + function iconv_get_encoding(?string $type = 'all'): array|string|false { return p\Iconv::iconv_get_encoding((string) $type); } +} +if (!function_exists('iconv_set_encoding')) { + function iconv_set_encoding(?string $type, ?string $encoding): bool { return p\Iconv::iconv_set_encoding((string) $type, (string) $encoding); } +} +if (!function_exists('iconv_mime_encode')) { + function iconv_mime_encode(?string $field_name, ?string $field_value, ?array $options = []): string|false { return p\Iconv::iconv_mime_encode((string) $field_name, (string) $field_value, (array) $options); } +} +if (!function_exists('iconv_mime_decode_headers')) { + function iconv_mime_decode_headers(?string $headers, ?int $mode = 0, ?string $encoding = null): array|false { return p\Iconv::iconv_mime_decode_headers((string) $headers, (int) $mode, $encoding); } +} + +if (extension_loaded('mbstring')) { + if (!function_exists('iconv_strlen')) { + function iconv_strlen(?string $string, ?string $encoding = null): int|false { null === $encoding && $encoding = p\Iconv::$internalEncoding; return mb_strlen((string) $string, $encoding); } + } + if (!function_exists('iconv_strpos')) { + function iconv_strpos(?string $haystack, ?string $needle, ?int $offset = 0, ?string $encoding = null): int|false { null === $encoding && $encoding = p\Iconv::$internalEncoding; return mb_strpos((string) $haystack, (string) $needle, (int) $offset, $encoding); } + } + if (!function_exists('iconv_strrpos')) { + function iconv_strrpos(?string $haystack, ?string $needle, ?string $encoding = null): int|false { null === $encoding && $encoding = p\Iconv::$internalEncoding; return mb_strrpos((string) $haystack, (string) $needle, 0, $encoding); } + } + if (!function_exists('iconv_substr')) { + function iconv_substr(?string $string, ?int $offset, ?int $length = null, ?string $encoding = null): string|false { null === $encoding && $encoding = p\Iconv::$internalEncoding; return mb_substr((string) $string, (int) $offset, $length, $encoding); } + } + if (!function_exists('iconv_mime_decode')) { + function iconv_mime_decode($string, $mode = 0, $encoding = null) { $currentMbEncoding = mb_internal_encoding(); null === $encoding && $encoding = p\Iconv::$internalEncoding; mb_internal_encoding($encoding); $decoded = mb_decode_mimeheader($string); mb_internal_encoding($currentMbEncoding); return $decoded; } + } +} else { + if (!function_exists('iconv_strlen')) { + if (extension_loaded('xml')) { + function iconv_strlen(?string $string, ?string $encoding = null): int|false { return p\Iconv::strlen1((string) $string, $encoding); } + } else { + function iconv_strlen(?string $string, ?string $encoding = null): int|false { return p\Iconv::strlen2((string) $string, $encoding); } + } + } + + if (!function_exists('iconv_strpos')) { + function iconv_strpos(?string $haystack, ?string $needle, ?int $offset = 0, ?string $encoding = null): int|false { return p\Iconv::iconv_strpos((string) $haystack, (string) $needle, (int) $offset, $encoding); } + } + if (!function_exists('iconv_strrpos')) { + function iconv_strrpos(?string $haystack, ?string $needle, ?string $encoding = null): int|false { return p\Iconv::iconv_strrpos((string) $haystack, (string) $needle, $encoding); } + } + if (!function_exists('iconv_substr')) { + function iconv_substr(?string $string, ?int $offset, ?int $length = null, ?string $encoding = null): string|false { return p\Iconv::iconv_substr((string) $string, (string) $offset, $length, $encoding); } + } + if (!function_exists('iconv_mime_decode')) { + function iconv_mime_decode(?string $string, ?int $mode = 0, ?string $encoding = null): string|false { return p\Iconv::iconv_mime_decode((string) $string, (int) $mode, $encoding); } + } +} diff --git a/pandora_console/vendor/symfony/polyfill-iconv/composer.json b/pandora_console/vendor/symfony/polyfill-iconv/composer.json new file mode 100644 index 0000000000..a1bd3a0c7f --- /dev/null +++ b/pandora_console/vendor/symfony/polyfill-iconv/composer.json @@ -0,0 +1,41 @@ +{ + "name": "symfony/polyfill-iconv", + "type": "library", + "description": "Symfony polyfill for the Iconv extension", + "keywords": ["polyfill", "shim", "compatibility", "portable", "iconv"], + "homepage": "https://symfony.com", + "license": "MIT", + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "require": { + "php": ">=7.1" + }, + "provide": { + "ext-iconv": "*" + }, + "autoload": { + "psr-4": { "Symfony\\Polyfill\\Iconv\\": "" }, + "files": [ "bootstrap.php" ] + }, + "suggest": { + "ext-iconv": "For best performance" + }, + "minimum-stability": "dev", + "extra": { + "branch-alias": { + "dev-main": "1.23-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + } +} diff --git a/pandora_console/vendor/symfony/polyfill-intl-idn/Idn.php b/pandora_console/vendor/symfony/polyfill-intl-idn/Idn.php new file mode 100644 index 0000000000..fee3026df2 --- /dev/null +++ b/pandora_console/vendor/symfony/polyfill-intl-idn/Idn.php @@ -0,0 +1,925 @@ + and Trevor Rowbotham + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Polyfill\Intl\Idn; + +use Exception; +use Normalizer; +use Symfony\Polyfill\Intl\Idn\Resources\unidata\DisallowedRanges; +use Symfony\Polyfill\Intl\Idn\Resources\unidata\Regex; + +/** + * @see https://www.unicode.org/reports/tr46/ + * + * @internal + */ +final class Idn +{ + public const ERROR_EMPTY_LABEL = 1; + public const ERROR_LABEL_TOO_LONG = 2; + public const ERROR_DOMAIN_NAME_TOO_LONG = 4; + public const ERROR_LEADING_HYPHEN = 8; + public const ERROR_TRAILING_HYPHEN = 0x10; + public const ERROR_HYPHEN_3_4 = 0x20; + public const ERROR_LEADING_COMBINING_MARK = 0x40; + public const ERROR_DISALLOWED = 0x80; + public const ERROR_PUNYCODE = 0x100; + public const ERROR_LABEL_HAS_DOT = 0x200; + public const ERROR_INVALID_ACE_LABEL = 0x400; + public const ERROR_BIDI = 0x800; + public const ERROR_CONTEXTJ = 0x1000; + public const ERROR_CONTEXTO_PUNCTUATION = 0x2000; + public const ERROR_CONTEXTO_DIGITS = 0x4000; + + public const INTL_IDNA_VARIANT_2003 = 0; + public const INTL_IDNA_VARIANT_UTS46 = 1; + + public const IDNA_DEFAULT = 0; + public const IDNA_ALLOW_UNASSIGNED = 1; + public const IDNA_USE_STD3_RULES = 2; + public const IDNA_CHECK_BIDI = 4; + public const IDNA_CHECK_CONTEXTJ = 8; + public const IDNA_NONTRANSITIONAL_TO_ASCII = 16; + public const IDNA_NONTRANSITIONAL_TO_UNICODE = 32; + + public const MAX_DOMAIN_SIZE = 253; + public const MAX_LABEL_SIZE = 63; + + public const BASE = 36; + public const TMIN = 1; + public const TMAX = 26; + public const SKEW = 38; + public const DAMP = 700; + public const INITIAL_BIAS = 72; + public const INITIAL_N = 128; + public const DELIMITER = '-'; + public const MAX_INT = 2147483647; + + /** + * Contains the numeric value of a basic code point (for use in representing integers) in the + * range 0 to BASE-1, or -1 if b is does not represent a value. + * + * @var array + */ + private static $basicToDigit = [ + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, -1, -1, -1, -1, -1, -1, + + -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, + 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, -1, -1, -1, -1, -1, + + -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, + 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, -1, -1, -1, -1, -1, + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + ]; + + /** + * @var array + */ + private static $virama; + + /** + * @var array + */ + private static $mapped; + + /** + * @var array + */ + private static $ignored; + + /** + * @var array + */ + private static $deviation; + + /** + * @var array + */ + private static $disallowed; + + /** + * @var array + */ + private static $disallowed_STD3_mapped; + + /** + * @var array + */ + private static $disallowed_STD3_valid; + + /** + * @var bool + */ + private static $mappingTableLoaded = false; + + /** + * @see https://www.unicode.org/reports/tr46/#ToASCII + * + * @param string $domainName + * @param int $options + * @param int $variant + * @param array $idna_info + * + * @return string|false + */ + public static function idn_to_ascii($domainName, $options = self::IDNA_DEFAULT, $variant = self::INTL_IDNA_VARIANT_UTS46, &$idna_info = []) + { + if (\PHP_VERSION_ID >= 70200 && self::INTL_IDNA_VARIANT_2003 === $variant) { + @trigger_error('idn_to_ascii(): INTL_IDNA_VARIANT_2003 is deprecated', \E_USER_DEPRECATED); + } + + $options = [ + 'CheckHyphens' => true, + 'CheckBidi' => self::INTL_IDNA_VARIANT_2003 === $variant || 0 !== ($options & self::IDNA_CHECK_BIDI), + 'CheckJoiners' => self::INTL_IDNA_VARIANT_UTS46 === $variant && 0 !== ($options & self::IDNA_CHECK_CONTEXTJ), + 'UseSTD3ASCIIRules' => 0 !== ($options & self::IDNA_USE_STD3_RULES), + 'Transitional_Processing' => self::INTL_IDNA_VARIANT_2003 === $variant || 0 === ($options & self::IDNA_NONTRANSITIONAL_TO_ASCII), + 'VerifyDnsLength' => true, + ]; + $info = new Info(); + $labels = self::process((string) $domainName, $options, $info); + + foreach ($labels as $i => $label) { + // Only convert labels to punycode that contain non-ASCII code points + if (1 === preg_match('/[^\x00-\x7F]/', $label)) { + try { + $label = 'xn--'.self::punycodeEncode($label); + } catch (Exception $e) { + $info->errors |= self::ERROR_PUNYCODE; + } + + $labels[$i] = $label; + } + } + + if ($options['VerifyDnsLength']) { + self::validateDomainAndLabelLength($labels, $info); + } + + $idna_info = [ + 'result' => implode('.', $labels), + 'isTransitionalDifferent' => $info->transitionalDifferent, + 'errors' => $info->errors, + ]; + + return 0 === $info->errors ? $idna_info['result'] : false; + } + + /** + * @see https://www.unicode.org/reports/tr46/#ToUnicode + * + * @param string $domainName + * @param int $options + * @param int $variant + * @param array $idna_info + * + * @return string|false + */ + public static function idn_to_utf8($domainName, $options = self::IDNA_DEFAULT, $variant = self::INTL_IDNA_VARIANT_UTS46, &$idna_info = []) + { + if (\PHP_VERSION_ID >= 70200 && self::INTL_IDNA_VARIANT_2003 === $variant) { + @trigger_error('idn_to_utf8(): INTL_IDNA_VARIANT_2003 is deprecated', \E_USER_DEPRECATED); + } + + $info = new Info(); + $labels = self::process((string) $domainName, [ + 'CheckHyphens' => true, + 'CheckBidi' => self::INTL_IDNA_VARIANT_2003 === $variant || 0 !== ($options & self::IDNA_CHECK_BIDI), + 'CheckJoiners' => self::INTL_IDNA_VARIANT_UTS46 === $variant && 0 !== ($options & self::IDNA_CHECK_CONTEXTJ), + 'UseSTD3ASCIIRules' => 0 !== ($options & self::IDNA_USE_STD3_RULES), + 'Transitional_Processing' => self::INTL_IDNA_VARIANT_2003 === $variant || 0 === ($options & self::IDNA_NONTRANSITIONAL_TO_UNICODE), + ], $info); + $idna_info = [ + 'result' => implode('.', $labels), + 'isTransitionalDifferent' => $info->transitionalDifferent, + 'errors' => $info->errors, + ]; + + return 0 === $info->errors ? $idna_info['result'] : false; + } + + /** + * @param string $label + * + * @return bool + */ + private static function isValidContextJ(array $codePoints, $label) + { + if (!isset(self::$virama)) { + self::$virama = require __DIR__.\DIRECTORY_SEPARATOR.'Resources'.\DIRECTORY_SEPARATOR.'unidata'.\DIRECTORY_SEPARATOR.'virama.php'; + } + + $offset = 0; + + foreach ($codePoints as $i => $codePoint) { + if (0x200C !== $codePoint && 0x200D !== $codePoint) { + continue; + } + + if (!isset($codePoints[$i - 1])) { + return false; + } + + // If Canonical_Combining_Class(Before(cp)) .eq. Virama Then True; + if (isset(self::$virama[$codePoints[$i - 1]])) { + continue; + } + + // If RegExpMatch((Joining_Type:{L,D})(Joining_Type:T)*\u200C(Joining_Type:T)*(Joining_Type:{R,D})) Then + // True; + // Generated RegExp = ([Joining_Type:{L,D}][Joining_Type:T]*\u200C[Joining_Type:T]*)[Joining_Type:{R,D}] + if (0x200C === $codePoint && 1 === preg_match(Regex::ZWNJ, $label, $matches, \PREG_OFFSET_CAPTURE, $offset)) { + $offset += \strlen($matches[1][0]); + + continue; + } + + return false; + } + + return true; + } + + /** + * @see https://www.unicode.org/reports/tr46/#ProcessingStepMap + * + * @param string $input + * @param array $options + * + * @return string + */ + private static function mapCodePoints($input, array $options, Info $info) + { + $str = ''; + $useSTD3ASCIIRules = $options['UseSTD3ASCIIRules']; + $transitional = $options['Transitional_Processing']; + + foreach (self::utf8Decode($input) as $codePoint) { + $data = self::lookupCodePointStatus($codePoint, $useSTD3ASCIIRules); + + switch ($data['status']) { + case 'disallowed': + $info->errors |= self::ERROR_DISALLOWED; + + // no break. + + case 'valid': + $str .= mb_chr($codePoint, 'utf-8'); + + break; + + case 'ignored': + // Do nothing. + break; + + case 'mapped': + $str .= $data['mapping']; + + break; + + case 'deviation': + $info->transitionalDifferent = true; + $str .= ($transitional ? $data['mapping'] : mb_chr($codePoint, 'utf-8')); + + break; + } + } + + return $str; + } + + /** + * @see https://www.unicode.org/reports/tr46/#Processing + * + * @param string $domain + * @param array $options + * + * @return array + */ + private static function process($domain, array $options, Info $info) + { + // If VerifyDnsLength is not set, we are doing ToUnicode otherwise we are doing ToASCII and + // we need to respect the VerifyDnsLength option. + $checkForEmptyLabels = !isset($options['VerifyDnsLength']) || $options['VerifyDnsLength']; + + if ($checkForEmptyLabels && '' === $domain) { + $info->errors |= self::ERROR_EMPTY_LABEL; + + return [$domain]; + } + + // Step 1. Map each code point in the domain name string + $domain = self::mapCodePoints($domain, $options, $info); + + // Step 2. Normalize the domain name string to Unicode Normalization Form C. + if (!Normalizer::isNormalized($domain, Normalizer::FORM_C)) { + $domain = Normalizer::normalize($domain, Normalizer::FORM_C); + } + + // Step 3. Break the string into labels at U+002E (.) FULL STOP. + $labels = explode('.', $domain); + $lastLabelIndex = \count($labels) - 1; + + // Step 4. Convert and validate each label in the domain name string. + foreach ($labels as $i => $label) { + $validationOptions = $options; + + if ('xn--' === substr($label, 0, 4)) { + try { + $label = self::punycodeDecode(substr($label, 4)); + } catch (Exception $e) { + $info->errors |= self::ERROR_PUNYCODE; + + continue; + } + + $validationOptions['Transitional_Processing'] = false; + $labels[$i] = $label; + } + + self::validateLabel($label, $info, $validationOptions, $i > 0 && $i === $lastLabelIndex); + } + + if ($info->bidiDomain && !$info->validBidiDomain) { + $info->errors |= self::ERROR_BIDI; + } + + // Any input domain name string that does not record an error has been successfully + // processed according to this specification. Conversely, if an input domain_name string + // causes an error, then the processing of the input domain_name string fails. Determining + // what to do with error input is up to the caller, and not in the scope of this document. + return $labels; + } + + /** + * @see https://tools.ietf.org/html/rfc5893#section-2 + * + * @param string $label + */ + private static function validateBidiLabel($label, Info $info) + { + if (1 === preg_match(Regex::RTL_LABEL, $label)) { + $info->bidiDomain = true; + + // Step 1. The first character must be a character with Bidi property L, R, or AL. + // If it has the R or AL property, it is an RTL label + if (1 !== preg_match(Regex::BIDI_STEP_1_RTL, $label)) { + $info->validBidiDomain = false; + + return; + } + + // Step 2. In an RTL label, only characters with the Bidi properties R, AL, AN, EN, ES, + // CS, ET, ON, BN, or NSM are allowed. + if (1 === preg_match(Regex::BIDI_STEP_2, $label)) { + $info->validBidiDomain = false; + + return; + } + + // Step 3. In an RTL label, the end of the label must be a character with Bidi property + // R, AL, EN, or AN, followed by zero or more characters with Bidi property NSM. + if (1 !== preg_match(Regex::BIDI_STEP_3, $label)) { + $info->validBidiDomain = false; + + return; + } + + // Step 4. In an RTL label, if an EN is present, no AN may be present, and vice versa. + if (1 === preg_match(Regex::BIDI_STEP_4_AN, $label) && 1 === preg_match(Regex::BIDI_STEP_4_EN, $label)) { + $info->validBidiDomain = false; + + return; + } + + return; + } + + // We are a LTR label + // Step 1. The first character must be a character with Bidi property L, R, or AL. + // If it has the L property, it is an LTR label. + if (1 !== preg_match(Regex::BIDI_STEP_1_LTR, $label)) { + $info->validBidiDomain = false; + + return; + } + + // Step 5. In an LTR label, only characters with the Bidi properties L, EN, + // ES, CS, ET, ON, BN, or NSM are allowed. + if (1 === preg_match(Regex::BIDI_STEP_5, $label)) { + $info->validBidiDomain = false; + + return; + } + + // Step 6.In an LTR label, the end of the label must be a character with Bidi property L or + // EN, followed by zero or more characters with Bidi property NSM. + if (1 !== preg_match(Regex::BIDI_STEP_6, $label)) { + $info->validBidiDomain = false; + + return; + } + } + + /** + * @param array $labels + */ + private static function validateDomainAndLabelLength(array $labels, Info $info) + { + $maxDomainSize = self::MAX_DOMAIN_SIZE; + $length = \count($labels); + + // Number of "." delimiters. + $domainLength = $length - 1; + + // If the last label is empty and it is not the first label, then it is the root label. + // Increase the max size by 1, making it 254, to account for the root label's "." + // delimiter. This also means we don't need to check the last label's length for being too + // long. + if ($length > 1 && '' === $labels[$length - 1]) { + ++$maxDomainSize; + --$length; + } + + for ($i = 0; $i < $length; ++$i) { + $bytes = \strlen($labels[$i]); + $domainLength += $bytes; + + if ($bytes > self::MAX_LABEL_SIZE) { + $info->errors |= self::ERROR_LABEL_TOO_LONG; + } + } + + if ($domainLength > $maxDomainSize) { + $info->errors |= self::ERROR_DOMAIN_NAME_TOO_LONG; + } + } + + /** + * @see https://www.unicode.org/reports/tr46/#Validity_Criteria + * + * @param string $label + * @param array $options + * @param bool $canBeEmpty + */ + private static function validateLabel($label, Info $info, array $options, $canBeEmpty) + { + if ('' === $label) { + if (!$canBeEmpty && (!isset($options['VerifyDnsLength']) || $options['VerifyDnsLength'])) { + $info->errors |= self::ERROR_EMPTY_LABEL; + } + + return; + } + + // Step 1. The label must be in Unicode Normalization Form C. + if (!Normalizer::isNormalized($label, Normalizer::FORM_C)) { + $info->errors |= self::ERROR_INVALID_ACE_LABEL; + } + + $codePoints = self::utf8Decode($label); + + if ($options['CheckHyphens']) { + // Step 2. If CheckHyphens, the label must not contain a U+002D HYPHEN-MINUS character + // in both the thrid and fourth positions. + if (isset($codePoints[2], $codePoints[3]) && 0x002D === $codePoints[2] && 0x002D === $codePoints[3]) { + $info->errors |= self::ERROR_HYPHEN_3_4; + } + + // Step 3. If CheckHyphens, the label must neither begin nor end with a U+002D + // HYPHEN-MINUS character. + if ('-' === substr($label, 0, 1)) { + $info->errors |= self::ERROR_LEADING_HYPHEN; + } + + if ('-' === substr($label, -1, 1)) { + $info->errors |= self::ERROR_TRAILING_HYPHEN; + } + } + + // Step 4. The label must not contain a U+002E (.) FULL STOP. + if (false !== strpos($label, '.')) { + $info->errors |= self::ERROR_LABEL_HAS_DOT; + } + + // Step 5. The label must not begin with a combining mark, that is: General_Category=Mark. + if (1 === preg_match(Regex::COMBINING_MARK, $label)) { + $info->errors |= self::ERROR_LEADING_COMBINING_MARK; + } + + // Step 6. Each code point in the label must only have certain status values according to + // Section 5, IDNA Mapping Table: + $transitional = $options['Transitional_Processing']; + $useSTD3ASCIIRules = $options['UseSTD3ASCIIRules']; + + foreach ($codePoints as $codePoint) { + $data = self::lookupCodePointStatus($codePoint, $useSTD3ASCIIRules); + $status = $data['status']; + + if ('valid' === $status || (!$transitional && 'deviation' === $status)) { + continue; + } + + $info->errors |= self::ERROR_DISALLOWED; + + break; + } + + // Step 7. If CheckJoiners, the label must satisify the ContextJ rules from Appendix A, in + // The Unicode Code Points and Internationalized Domain Names for Applications (IDNA) + // [IDNA2008]. + if ($options['CheckJoiners'] && !self::isValidContextJ($codePoints, $label)) { + $info->errors |= self::ERROR_CONTEXTJ; + } + + // Step 8. If CheckBidi, and if the domain name is a Bidi domain name, then the label must + // satisfy all six of the numbered conditions in [IDNA2008] RFC 5893, Section 2. + if ($options['CheckBidi'] && (!$info->bidiDomain || $info->validBidiDomain)) { + self::validateBidiLabel($label, $info); + } + } + + /** + * @see https://tools.ietf.org/html/rfc3492#section-6.2 + * + * @param string $input + * + * @return string + */ + private static function punycodeDecode($input) + { + $n = self::INITIAL_N; + $out = 0; + $i = 0; + $bias = self::INITIAL_BIAS; + $lastDelimIndex = strrpos($input, self::DELIMITER); + $b = false === $lastDelimIndex ? 0 : $lastDelimIndex; + $inputLength = \strlen($input); + $output = []; + $bytes = array_map('ord', str_split($input)); + + for ($j = 0; $j < $b; ++$j) { + if ($bytes[$j] > 0x7F) { + throw new Exception('Invalid input'); + } + + $output[$out++] = $input[$j]; + } + + if ($b > 0) { + ++$b; + } + + for ($in = $b; $in < $inputLength; ++$out) { + $oldi = $i; + $w = 1; + + for ($k = self::BASE; /* no condition */; $k += self::BASE) { + if ($in >= $inputLength) { + throw new Exception('Invalid input'); + } + + $digit = self::$basicToDigit[$bytes[$in++] & 0xFF]; + + if ($digit < 0) { + throw new Exception('Invalid input'); + } + + if ($digit > intdiv(self::MAX_INT - $i, $w)) { + throw new Exception('Integer overflow'); + } + + $i += $digit * $w; + + if ($k <= $bias) { + $t = self::TMIN; + } elseif ($k >= $bias + self::TMAX) { + $t = self::TMAX; + } else { + $t = $k - $bias; + } + + if ($digit < $t) { + break; + } + + $baseMinusT = self::BASE - $t; + + if ($w > intdiv(self::MAX_INT, $baseMinusT)) { + throw new Exception('Integer overflow'); + } + + $w *= $baseMinusT; + } + + $outPlusOne = $out + 1; + $bias = self::adaptBias($i - $oldi, $outPlusOne, 0 === $oldi); + + if (intdiv($i, $outPlusOne) > self::MAX_INT - $n) { + throw new Exception('Integer overflow'); + } + + $n += intdiv($i, $outPlusOne); + $i %= $outPlusOne; + array_splice($output, $i++, 0, [mb_chr($n, 'utf-8')]); + } + + return implode('', $output); + } + + /** + * @see https://tools.ietf.org/html/rfc3492#section-6.3 + * + * @param string $input + * + * @return string + */ + private static function punycodeEncode($input) + { + $n = self::INITIAL_N; + $delta = 0; + $out = 0; + $bias = self::INITIAL_BIAS; + $inputLength = 0; + $output = ''; + $iter = self::utf8Decode($input); + + foreach ($iter as $codePoint) { + ++$inputLength; + + if ($codePoint < 0x80) { + $output .= \chr($codePoint); + ++$out; + } + } + + $h = $out; + $b = $out; + + if ($b > 0) { + $output .= self::DELIMITER; + ++$out; + } + + while ($h < $inputLength) { + $m = self::MAX_INT; + + foreach ($iter as $codePoint) { + if ($codePoint >= $n && $codePoint < $m) { + $m = $codePoint; + } + } + + if ($m - $n > intdiv(self::MAX_INT - $delta, $h + 1)) { + throw new Exception('Integer overflow'); + } + + $delta += ($m - $n) * ($h + 1); + $n = $m; + + foreach ($iter as $codePoint) { + if ($codePoint < $n && 0 === ++$delta) { + throw new Exception('Integer overflow'); + } + + if ($codePoint === $n) { + $q = $delta; + + for ($k = self::BASE; /* no condition */; $k += self::BASE) { + if ($k <= $bias) { + $t = self::TMIN; + } elseif ($k >= $bias + self::TMAX) { + $t = self::TMAX; + } else { + $t = $k - $bias; + } + + if ($q < $t) { + break; + } + + $qMinusT = $q - $t; + $baseMinusT = self::BASE - $t; + $output .= self::encodeDigit($t + ($qMinusT) % ($baseMinusT), false); + ++$out; + $q = intdiv($qMinusT, $baseMinusT); + } + + $output .= self::encodeDigit($q, false); + ++$out; + $bias = self::adaptBias($delta, $h + 1, $h === $b); + $delta = 0; + ++$h; + } + } + + ++$delta; + ++$n; + } + + return $output; + } + + /** + * @see https://tools.ietf.org/html/rfc3492#section-6.1 + * + * @param int $delta + * @param int $numPoints + * @param bool $firstTime + * + * @return int + */ + private static function adaptBias($delta, $numPoints, $firstTime) + { + // xxx >> 1 is a faster way of doing intdiv(xxx, 2) + $delta = $firstTime ? intdiv($delta, self::DAMP) : $delta >> 1; + $delta += intdiv($delta, $numPoints); + $k = 0; + + while ($delta > ((self::BASE - self::TMIN) * self::TMAX) >> 1) { + $delta = intdiv($delta, self::BASE - self::TMIN); + $k += self::BASE; + } + + return $k + intdiv((self::BASE - self::TMIN + 1) * $delta, $delta + self::SKEW); + } + + /** + * @param int $d + * @param bool $flag + * + * @return string + */ + private static function encodeDigit($d, $flag) + { + return \chr($d + 22 + 75 * ($d < 26 ? 1 : 0) - (($flag ? 1 : 0) << 5)); + } + + /** + * Takes a UTF-8 encoded string and converts it into a series of integer code points. Any + * invalid byte sequences will be replaced by a U+FFFD replacement code point. + * + * @see https://encoding.spec.whatwg.org/#utf-8-decoder + * + * @param string $input + * + * @return array + */ + private static function utf8Decode($input) + { + $bytesSeen = 0; + $bytesNeeded = 0; + $lowerBoundary = 0x80; + $upperBoundary = 0xBF; + $codePoint = 0; + $codePoints = []; + $length = \strlen($input); + + for ($i = 0; $i < $length; ++$i) { + $byte = \ord($input[$i]); + + if (0 === $bytesNeeded) { + if ($byte >= 0x00 && $byte <= 0x7F) { + $codePoints[] = $byte; + + continue; + } + + if ($byte >= 0xC2 && $byte <= 0xDF) { + $bytesNeeded = 1; + $codePoint = $byte & 0x1F; + } elseif ($byte >= 0xE0 && $byte <= 0xEF) { + if (0xE0 === $byte) { + $lowerBoundary = 0xA0; + } elseif (0xED === $byte) { + $upperBoundary = 0x9F; + } + + $bytesNeeded = 2; + $codePoint = $byte & 0xF; + } elseif ($byte >= 0xF0 && $byte <= 0xF4) { + if (0xF0 === $byte) { + $lowerBoundary = 0x90; + } elseif (0xF4 === $byte) { + $upperBoundary = 0x8F; + } + + $bytesNeeded = 3; + $codePoint = $byte & 0x7; + } else { + $codePoints[] = 0xFFFD; + } + + continue; + } + + if ($byte < $lowerBoundary || $byte > $upperBoundary) { + $codePoint = 0; + $bytesNeeded = 0; + $bytesSeen = 0; + $lowerBoundary = 0x80; + $upperBoundary = 0xBF; + --$i; + $codePoints[] = 0xFFFD; + + continue; + } + + $lowerBoundary = 0x80; + $upperBoundary = 0xBF; + $codePoint = ($codePoint << 6) | ($byte & 0x3F); + + if (++$bytesSeen !== $bytesNeeded) { + continue; + } + + $codePoints[] = $codePoint; + $codePoint = 0; + $bytesNeeded = 0; + $bytesSeen = 0; + } + + // String unexpectedly ended, so append a U+FFFD code point. + if (0 !== $bytesNeeded) { + $codePoints[] = 0xFFFD; + } + + return $codePoints; + } + + /** + * @param int $codePoint + * @param bool $useSTD3ASCIIRules + * + * @return array{status: string, mapping?: string} + */ + private static function lookupCodePointStatus($codePoint, $useSTD3ASCIIRules) + { + if (!self::$mappingTableLoaded) { + self::$mappingTableLoaded = true; + self::$mapped = require __DIR__.'/Resources/unidata/mapped.php'; + self::$ignored = require __DIR__.'/Resources/unidata/ignored.php'; + self::$deviation = require __DIR__.'/Resources/unidata/deviation.php'; + self::$disallowed = require __DIR__.'/Resources/unidata/disallowed.php'; + self::$disallowed_STD3_mapped = require __DIR__.'/Resources/unidata/disallowed_STD3_mapped.php'; + self::$disallowed_STD3_valid = require __DIR__.'/Resources/unidata/disallowed_STD3_valid.php'; + } + + if (isset(self::$mapped[$codePoint])) { + return ['status' => 'mapped', 'mapping' => self::$mapped[$codePoint]]; + } + + if (isset(self::$ignored[$codePoint])) { + return ['status' => 'ignored']; + } + + if (isset(self::$deviation[$codePoint])) { + return ['status' => 'deviation', 'mapping' => self::$deviation[$codePoint]]; + } + + if (isset(self::$disallowed[$codePoint]) || DisallowedRanges::inRange($codePoint)) { + return ['status' => 'disallowed']; + } + + $isDisallowedMapped = isset(self::$disallowed_STD3_mapped[$codePoint]); + + if ($isDisallowedMapped || isset(self::$disallowed_STD3_valid[$codePoint])) { + $status = 'disallowed'; + + if (!$useSTD3ASCIIRules) { + $status = $isDisallowedMapped ? 'mapped' : 'valid'; + } + + if ($isDisallowedMapped) { + return ['status' => $status, 'mapping' => self::$disallowed_STD3_mapped[$codePoint]]; + } + + return ['status' => $status]; + } + + return ['status' => 'valid']; + } +} diff --git a/pandora_console/vendor/symfony/polyfill-intl-idn/Info.php b/pandora_console/vendor/symfony/polyfill-intl-idn/Info.php new file mode 100644 index 0000000000..25c3582b2a --- /dev/null +++ b/pandora_console/vendor/symfony/polyfill-intl-idn/Info.php @@ -0,0 +1,23 @@ + and Trevor Rowbotham + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Polyfill\Intl\Idn; + +/** + * @internal + */ +class Info +{ + public $bidiDomain = false; + public $errors = 0; + public $validBidiDomain = true; + public $transitionalDifferent = false; +} diff --git a/pandora_console/vendor/symfony/polyfill-intl-idn/LICENSE b/pandora_console/vendor/symfony/polyfill-intl-idn/LICENSE new file mode 100644 index 0000000000..03c5e25774 --- /dev/null +++ b/pandora_console/vendor/symfony/polyfill-intl-idn/LICENSE @@ -0,0 +1,19 @@ +Copyright (c) 2018-2019 Fabien Potencier and Trevor Rowbotham + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is furnished +to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/pandora_console/vendor/symfony/polyfill-intl-idn/README.md b/pandora_console/vendor/symfony/polyfill-intl-idn/README.md new file mode 100644 index 0000000000..2e75f2e520 --- /dev/null +++ b/pandora_console/vendor/symfony/polyfill-intl-idn/README.md @@ -0,0 +1,12 @@ +Symfony Polyfill / Intl: Idn +============================ + +This component provides [`idn_to_ascii`](https://php.net/idn-to-ascii) and [`idn_to_utf8`](https://php.net/idn-to-utf8) functions to users who run php versions without the [Intl](https://php.net/intl) extension. + +More information can be found in the +[main Polyfill README](https://github.com/symfony/polyfill/blob/master/README.md). + +License +======= + +This library is released under the [MIT license](LICENSE). diff --git a/pandora_console/vendor/symfony/polyfill-intl-idn/Resources/unidata/DisallowedRanges.php b/pandora_console/vendor/symfony/polyfill-intl-idn/Resources/unidata/DisallowedRanges.php new file mode 100644 index 0000000000..5bb70e48ac --- /dev/null +++ b/pandora_console/vendor/symfony/polyfill-intl-idn/Resources/unidata/DisallowedRanges.php @@ -0,0 +1,375 @@ += 128 && $codePoint <= 159) { + return true; + } + + if ($codePoint >= 2155 && $codePoint <= 2207) { + return true; + } + + if ($codePoint >= 3676 && $codePoint <= 3712) { + return true; + } + + if ($codePoint >= 3808 && $codePoint <= 3839) { + return true; + } + + if ($codePoint >= 4059 && $codePoint <= 4095) { + return true; + } + + if ($codePoint >= 4256 && $codePoint <= 4293) { + return true; + } + + if ($codePoint >= 6849 && $codePoint <= 6911) { + return true; + } + + if ($codePoint >= 11859 && $codePoint <= 11903) { + return true; + } + + if ($codePoint >= 42955 && $codePoint <= 42996) { + return true; + } + + if ($codePoint >= 55296 && $codePoint <= 57343) { + return true; + } + + if ($codePoint >= 57344 && $codePoint <= 63743) { + return true; + } + + if ($codePoint >= 64218 && $codePoint <= 64255) { + return true; + } + + if ($codePoint >= 64976 && $codePoint <= 65007) { + return true; + } + + if ($codePoint >= 65630 && $codePoint <= 65663) { + return true; + } + + if ($codePoint >= 65953 && $codePoint <= 65999) { + return true; + } + + if ($codePoint >= 66046 && $codePoint <= 66175) { + return true; + } + + if ($codePoint >= 66518 && $codePoint <= 66559) { + return true; + } + + if ($codePoint >= 66928 && $codePoint <= 67071) { + return true; + } + + if ($codePoint >= 67432 && $codePoint <= 67583) { + return true; + } + + if ($codePoint >= 67760 && $codePoint <= 67807) { + return true; + } + + if ($codePoint >= 67904 && $codePoint <= 67967) { + return true; + } + + if ($codePoint >= 68256 && $codePoint <= 68287) { + return true; + } + + if ($codePoint >= 68528 && $codePoint <= 68607) { + return true; + } + + if ($codePoint >= 68681 && $codePoint <= 68735) { + return true; + } + + if ($codePoint >= 68922 && $codePoint <= 69215) { + return true; + } + + if ($codePoint >= 69298 && $codePoint <= 69375) { + return true; + } + + if ($codePoint >= 69466 && $codePoint <= 69551) { + return true; + } + + if ($codePoint >= 70207 && $codePoint <= 70271) { + return true; + } + + if ($codePoint >= 70517 && $codePoint <= 70655) { + return true; + } + + if ($codePoint >= 70874 && $codePoint <= 71039) { + return true; + } + + if ($codePoint >= 71134 && $codePoint <= 71167) { + return true; + } + + if ($codePoint >= 71370 && $codePoint <= 71423) { + return true; + } + + if ($codePoint >= 71488 && $codePoint <= 71679) { + return true; + } + + if ($codePoint >= 71740 && $codePoint <= 71839) { + return true; + } + + if ($codePoint >= 72026 && $codePoint <= 72095) { + return true; + } + + if ($codePoint >= 72441 && $codePoint <= 72703) { + return true; + } + + if ($codePoint >= 72887 && $codePoint <= 72959) { + return true; + } + + if ($codePoint >= 73130 && $codePoint <= 73439) { + return true; + } + + if ($codePoint >= 73465 && $codePoint <= 73647) { + return true; + } + + if ($codePoint >= 74650 && $codePoint <= 74751) { + return true; + } + + if ($codePoint >= 75076 && $codePoint <= 77823) { + return true; + } + + if ($codePoint >= 78905 && $codePoint <= 82943) { + return true; + } + + if ($codePoint >= 83527 && $codePoint <= 92159) { + return true; + } + + if ($codePoint >= 92784 && $codePoint <= 92879) { + return true; + } + + if ($codePoint >= 93072 && $codePoint <= 93759) { + return true; + } + + if ($codePoint >= 93851 && $codePoint <= 93951) { + return true; + } + + if ($codePoint >= 94112 && $codePoint <= 94175) { + return true; + } + + if ($codePoint >= 101590 && $codePoint <= 101631) { + return true; + } + + if ($codePoint >= 101641 && $codePoint <= 110591) { + return true; + } + + if ($codePoint >= 110879 && $codePoint <= 110927) { + return true; + } + + if ($codePoint >= 111356 && $codePoint <= 113663) { + return true; + } + + if ($codePoint >= 113828 && $codePoint <= 118783) { + return true; + } + + if ($codePoint >= 119366 && $codePoint <= 119519) { + return true; + } + + if ($codePoint >= 119673 && $codePoint <= 119807) { + return true; + } + + if ($codePoint >= 121520 && $codePoint <= 122879) { + return true; + } + + if ($codePoint >= 122923 && $codePoint <= 123135) { + return true; + } + + if ($codePoint >= 123216 && $codePoint <= 123583) { + return true; + } + + if ($codePoint >= 123648 && $codePoint <= 124927) { + return true; + } + + if ($codePoint >= 125143 && $codePoint <= 125183) { + return true; + } + + if ($codePoint >= 125280 && $codePoint <= 126064) { + return true; + } + + if ($codePoint >= 126133 && $codePoint <= 126208) { + return true; + } + + if ($codePoint >= 126270 && $codePoint <= 126463) { + return true; + } + + if ($codePoint >= 126652 && $codePoint <= 126703) { + return true; + } + + if ($codePoint >= 126706 && $codePoint <= 126975) { + return true; + } + + if ($codePoint >= 127406 && $codePoint <= 127461) { + return true; + } + + if ($codePoint >= 127590 && $codePoint <= 127743) { + return true; + } + + if ($codePoint >= 129202 && $codePoint <= 129279) { + return true; + } + + if ($codePoint >= 129751 && $codePoint <= 129791) { + return true; + } + + if ($codePoint >= 129995 && $codePoint <= 130031) { + return true; + } + + if ($codePoint >= 130042 && $codePoint <= 131069) { + return true; + } + + if ($codePoint >= 173790 && $codePoint <= 173823) { + return true; + } + + if ($codePoint >= 191457 && $codePoint <= 194559) { + return true; + } + + if ($codePoint >= 195102 && $codePoint <= 196605) { + return true; + } + + if ($codePoint >= 201547 && $codePoint <= 262141) { + return true; + } + + if ($codePoint >= 262144 && $codePoint <= 327677) { + return true; + } + + if ($codePoint >= 327680 && $codePoint <= 393213) { + return true; + } + + if ($codePoint >= 393216 && $codePoint <= 458749) { + return true; + } + + if ($codePoint >= 458752 && $codePoint <= 524285) { + return true; + } + + if ($codePoint >= 524288 && $codePoint <= 589821) { + return true; + } + + if ($codePoint >= 589824 && $codePoint <= 655357) { + return true; + } + + if ($codePoint >= 655360 && $codePoint <= 720893) { + return true; + } + + if ($codePoint >= 720896 && $codePoint <= 786429) { + return true; + } + + if ($codePoint >= 786432 && $codePoint <= 851965) { + return true; + } + + if ($codePoint >= 851968 && $codePoint <= 917501) { + return true; + } + + if ($codePoint >= 917536 && $codePoint <= 917631) { + return true; + } + + if ($codePoint >= 917632 && $codePoint <= 917759) { + return true; + } + + if ($codePoint >= 918000 && $codePoint <= 983037) { + return true; + } + + if ($codePoint >= 983040 && $codePoint <= 1048573) { + return true; + } + + if ($codePoint >= 1048576 && $codePoint <= 1114109) { + return true; + } + + return false; + } +} diff --git a/pandora_console/vendor/symfony/polyfill-intl-idn/Resources/unidata/Regex.php b/pandora_console/vendor/symfony/polyfill-intl-idn/Resources/unidata/Regex.php new file mode 100644 index 0000000000..5c1c51ddee --- /dev/null +++ b/pandora_console/vendor/symfony/polyfill-intl-idn/Resources/unidata/Regex.php @@ -0,0 +1,24 @@ + 'ss', + 962 => 'σ', + 8204 => '', + 8205 => '', +); diff --git a/pandora_console/vendor/symfony/polyfill-intl-idn/Resources/unidata/disallowed.php b/pandora_console/vendor/symfony/polyfill-intl-idn/Resources/unidata/disallowed.php new file mode 100644 index 0000000000..25a5f564d5 --- /dev/null +++ b/pandora_console/vendor/symfony/polyfill-intl-idn/Resources/unidata/disallowed.php @@ -0,0 +1,2638 @@ + true, + 889 => true, + 896 => true, + 897 => true, + 898 => true, + 899 => true, + 907 => true, + 909 => true, + 930 => true, + 1216 => true, + 1328 => true, + 1367 => true, + 1368 => true, + 1419 => true, + 1420 => true, + 1424 => true, + 1480 => true, + 1481 => true, + 1482 => true, + 1483 => true, + 1484 => true, + 1485 => true, + 1486 => true, + 1487 => true, + 1515 => true, + 1516 => true, + 1517 => true, + 1518 => true, + 1525 => true, + 1526 => true, + 1527 => true, + 1528 => true, + 1529 => true, + 1530 => true, + 1531 => true, + 1532 => true, + 1533 => true, + 1534 => true, + 1535 => true, + 1536 => true, + 1537 => true, + 1538 => true, + 1539 => true, + 1540 => true, + 1541 => true, + 1564 => true, + 1565 => true, + 1757 => true, + 1806 => true, + 1807 => true, + 1867 => true, + 1868 => true, + 1970 => true, + 1971 => true, + 1972 => true, + 1973 => true, + 1974 => true, + 1975 => true, + 1976 => true, + 1977 => true, + 1978 => true, + 1979 => true, + 1980 => true, + 1981 => true, + 1982 => true, + 1983 => true, + 2043 => true, + 2044 => true, + 2094 => true, + 2095 => true, + 2111 => true, + 2140 => true, + 2141 => true, + 2143 => true, + 2229 => true, + 2248 => true, + 2249 => true, + 2250 => true, + 2251 => true, + 2252 => true, + 2253 => true, + 2254 => true, + 2255 => true, + 2256 => true, + 2257 => true, + 2258 => true, + 2274 => true, + 2436 => true, + 2445 => true, + 2446 => true, + 2449 => true, + 2450 => true, + 2473 => true, + 2481 => true, + 2483 => true, + 2484 => true, + 2485 => true, + 2490 => true, + 2491 => true, + 2501 => true, + 2502 => true, + 2505 => true, + 2506 => true, + 2511 => true, + 2512 => true, + 2513 => true, + 2514 => true, + 2515 => true, + 2516 => true, + 2517 => true, + 2518 => true, + 2520 => true, + 2521 => true, + 2522 => true, + 2523 => true, + 2526 => true, + 2532 => true, + 2533 => true, + 2559 => true, + 2560 => true, + 2564 => true, + 2571 => true, + 2572 => true, + 2573 => true, + 2574 => true, + 2577 => true, + 2578 => true, + 2601 => true, + 2609 => true, + 2612 => true, + 2615 => true, + 2618 => true, + 2619 => true, + 2621 => true, + 2627 => true, + 2628 => true, + 2629 => true, + 2630 => true, + 2633 => true, + 2634 => true, + 2638 => true, + 2639 => true, + 2640 => true, + 2642 => true, + 2643 => true, + 2644 => true, + 2645 => true, + 2646 => true, + 2647 => true, + 2648 => true, + 2653 => true, + 2655 => true, + 2656 => true, + 2657 => true, + 2658 => true, + 2659 => true, + 2660 => true, + 2661 => true, + 2679 => true, + 2680 => true, + 2681 => true, + 2682 => true, + 2683 => true, + 2684 => true, + 2685 => true, + 2686 => true, + 2687 => true, + 2688 => true, + 2692 => true, + 2702 => true, + 2706 => true, + 2729 => true, + 2737 => true, + 2740 => true, + 2746 => true, + 2747 => true, + 2758 => true, + 2762 => true, + 2766 => true, + 2767 => true, + 2769 => true, + 2770 => true, + 2771 => true, + 2772 => true, + 2773 => true, + 2774 => true, + 2775 => true, + 2776 => true, + 2777 => true, + 2778 => true, + 2779 => true, + 2780 => true, + 2781 => true, + 2782 => true, + 2783 => true, + 2788 => true, + 2789 => true, + 2802 => true, + 2803 => true, + 2804 => true, + 2805 => true, + 2806 => true, + 2807 => true, + 2808 => true, + 2816 => true, + 2820 => true, + 2829 => true, + 2830 => true, + 2833 => true, + 2834 => true, + 2857 => true, + 2865 => true, + 2868 => true, + 2874 => true, + 2875 => true, + 2885 => true, + 2886 => true, + 2889 => true, + 2890 => true, + 2894 => true, + 2895 => true, + 2896 => true, + 2897 => true, + 2898 => true, + 2899 => true, + 2900 => true, + 2904 => true, + 2905 => true, + 2906 => true, + 2907 => true, + 2910 => true, + 2916 => true, + 2917 => true, + 2936 => true, + 2937 => true, + 2938 => true, + 2939 => true, + 2940 => true, + 2941 => true, + 2942 => true, + 2943 => true, + 2944 => true, + 2945 => true, + 2948 => true, + 2955 => true, + 2956 => true, + 2957 => true, + 2961 => true, + 2966 => true, + 2967 => true, + 2968 => true, + 2971 => true, + 2973 => true, + 2976 => true, + 2977 => true, + 2978 => true, + 2981 => true, + 2982 => true, + 2983 => true, + 2987 => true, + 2988 => true, + 2989 => true, + 3002 => true, + 3003 => true, + 3004 => true, + 3005 => true, + 3011 => true, + 3012 => true, + 3013 => true, + 3017 => true, + 3022 => true, + 3023 => true, + 3025 => true, + 3026 => true, + 3027 => true, + 3028 => true, + 3029 => true, + 3030 => true, + 3032 => true, + 3033 => true, + 3034 => true, + 3035 => true, + 3036 => true, + 3037 => true, + 3038 => true, + 3039 => true, + 3040 => true, + 3041 => true, + 3042 => true, + 3043 => true, + 3044 => true, + 3045 => true, + 3067 => true, + 3068 => true, + 3069 => true, + 3070 => true, + 3071 => true, + 3085 => true, + 3089 => true, + 3113 => true, + 3130 => true, + 3131 => true, + 3132 => true, + 3141 => true, + 3145 => true, + 3150 => true, + 3151 => true, + 3152 => true, + 3153 => true, + 3154 => true, + 3155 => true, + 3156 => true, + 3159 => true, + 3163 => true, + 3164 => true, + 3165 => true, + 3166 => true, + 3167 => true, + 3172 => true, + 3173 => true, + 3184 => true, + 3185 => true, + 3186 => true, + 3187 => true, + 3188 => true, + 3189 => true, + 3190 => true, + 3213 => true, + 3217 => true, + 3241 => true, + 3252 => true, + 3258 => true, + 3259 => true, + 3269 => true, + 3273 => true, + 3278 => true, + 3279 => true, + 3280 => true, + 3281 => true, + 3282 => true, + 3283 => true, + 3284 => true, + 3287 => true, + 3288 => true, + 3289 => true, + 3290 => true, + 3291 => true, + 3292 => true, + 3293 => true, + 3295 => true, + 3300 => true, + 3301 => true, + 3312 => true, + 3315 => true, + 3316 => true, + 3317 => true, + 3318 => true, + 3319 => true, + 3320 => true, + 3321 => true, + 3322 => true, + 3323 => true, + 3324 => true, + 3325 => true, + 3326 => true, + 3327 => true, + 3341 => true, + 3345 => true, + 3397 => true, + 3401 => true, + 3408 => true, + 3409 => true, + 3410 => true, + 3411 => true, + 3428 => true, + 3429 => true, + 3456 => true, + 3460 => true, + 3479 => true, + 3480 => true, + 3481 => true, + 3506 => true, + 3516 => true, + 3518 => true, + 3519 => true, + 3527 => true, + 3528 => true, + 3529 => true, + 3531 => true, + 3532 => true, + 3533 => true, + 3534 => true, + 3541 => true, + 3543 => true, + 3552 => true, + 3553 => true, + 3554 => true, + 3555 => true, + 3556 => true, + 3557 => true, + 3568 => true, + 3569 => true, + 3573 => true, + 3574 => true, + 3575 => true, + 3576 => true, + 3577 => true, + 3578 => true, + 3579 => true, + 3580 => true, + 3581 => true, + 3582 => true, + 3583 => true, + 3584 => true, + 3643 => true, + 3644 => true, + 3645 => true, + 3646 => true, + 3715 => true, + 3717 => true, + 3723 => true, + 3748 => true, + 3750 => true, + 3774 => true, + 3775 => true, + 3781 => true, + 3783 => true, + 3790 => true, + 3791 => true, + 3802 => true, + 3803 => true, + 3912 => true, + 3949 => true, + 3950 => true, + 3951 => true, + 3952 => true, + 3992 => true, + 4029 => true, + 4045 => true, + 4294 => true, + 4296 => true, + 4297 => true, + 4298 => true, + 4299 => true, + 4300 => true, + 4302 => true, + 4303 => true, + 4447 => true, + 4448 => true, + 4681 => true, + 4686 => true, + 4687 => true, + 4695 => true, + 4697 => true, + 4702 => true, + 4703 => true, + 4745 => true, + 4750 => true, + 4751 => true, + 4785 => true, + 4790 => true, + 4791 => true, + 4799 => true, + 4801 => true, + 4806 => true, + 4807 => true, + 4823 => true, + 4881 => true, + 4886 => true, + 4887 => true, + 4955 => true, + 4956 => true, + 4989 => true, + 4990 => true, + 4991 => true, + 5018 => true, + 5019 => true, + 5020 => true, + 5021 => true, + 5022 => true, + 5023 => true, + 5110 => true, + 5111 => true, + 5118 => true, + 5119 => true, + 5760 => true, + 5789 => true, + 5790 => true, + 5791 => true, + 5881 => true, + 5882 => true, + 5883 => true, + 5884 => true, + 5885 => true, + 5886 => true, + 5887 => true, + 5901 => true, + 5909 => true, + 5910 => true, + 5911 => true, + 5912 => true, + 5913 => true, + 5914 => true, + 5915 => true, + 5916 => true, + 5917 => true, + 5918 => true, + 5919 => true, + 5943 => true, + 5944 => true, + 5945 => true, + 5946 => true, + 5947 => true, + 5948 => true, + 5949 => true, + 5950 => true, + 5951 => true, + 5972 => true, + 5973 => true, + 5974 => true, + 5975 => true, + 5976 => true, + 5977 => true, + 5978 => true, + 5979 => true, + 5980 => true, + 5981 => true, + 5982 => true, + 5983 => true, + 5997 => true, + 6001 => true, + 6004 => true, + 6005 => true, + 6006 => true, + 6007 => true, + 6008 => true, + 6009 => true, + 6010 => true, + 6011 => true, + 6012 => true, + 6013 => true, + 6014 => true, + 6015 => true, + 6068 => true, + 6069 => true, + 6110 => true, + 6111 => true, + 6122 => true, + 6123 => true, + 6124 => true, + 6125 => true, + 6126 => true, + 6127 => true, + 6138 => true, + 6139 => true, + 6140 => true, + 6141 => true, + 6142 => true, + 6143 => true, + 6150 => true, + 6158 => true, + 6159 => true, + 6170 => true, + 6171 => true, + 6172 => true, + 6173 => true, + 6174 => true, + 6175 => true, + 6265 => true, + 6266 => true, + 6267 => true, + 6268 => true, + 6269 => true, + 6270 => true, + 6271 => true, + 6315 => true, + 6316 => true, + 6317 => true, + 6318 => true, + 6319 => true, + 6390 => true, + 6391 => true, + 6392 => true, + 6393 => true, + 6394 => true, + 6395 => true, + 6396 => true, + 6397 => true, + 6398 => true, + 6399 => true, + 6431 => true, + 6444 => true, + 6445 => true, + 6446 => true, + 6447 => true, + 6460 => true, + 6461 => true, + 6462 => true, + 6463 => true, + 6465 => true, + 6466 => true, + 6467 => true, + 6510 => true, + 6511 => true, + 6517 => true, + 6518 => true, + 6519 => true, + 6520 => true, + 6521 => true, + 6522 => true, + 6523 => true, + 6524 => true, + 6525 => true, + 6526 => true, + 6527 => true, + 6572 => true, + 6573 => true, + 6574 => true, + 6575 => true, + 6602 => true, + 6603 => true, + 6604 => true, + 6605 => true, + 6606 => true, + 6607 => true, + 6619 => true, + 6620 => true, + 6621 => true, + 6684 => true, + 6685 => true, + 6751 => true, + 6781 => true, + 6782 => true, + 6794 => true, + 6795 => true, + 6796 => true, + 6797 => true, + 6798 => true, + 6799 => true, + 6810 => true, + 6811 => true, + 6812 => true, + 6813 => true, + 6814 => true, + 6815 => true, + 6830 => true, + 6831 => true, + 6988 => true, + 6989 => true, + 6990 => true, + 6991 => true, + 7037 => true, + 7038 => true, + 7039 => true, + 7156 => true, + 7157 => true, + 7158 => true, + 7159 => true, + 7160 => true, + 7161 => true, + 7162 => true, + 7163 => true, + 7224 => true, + 7225 => true, + 7226 => true, + 7242 => true, + 7243 => true, + 7244 => true, + 7305 => true, + 7306 => true, + 7307 => true, + 7308 => true, + 7309 => true, + 7310 => true, + 7311 => true, + 7355 => true, + 7356 => true, + 7368 => true, + 7369 => true, + 7370 => true, + 7371 => true, + 7372 => true, + 7373 => true, + 7374 => true, + 7375 => true, + 7419 => true, + 7420 => true, + 7421 => true, + 7422 => true, + 7423 => true, + 7674 => true, + 7958 => true, + 7959 => true, + 7966 => true, + 7967 => true, + 8006 => true, + 8007 => true, + 8014 => true, + 8015 => true, + 8024 => true, + 8026 => true, + 8028 => true, + 8030 => true, + 8062 => true, + 8063 => true, + 8117 => true, + 8133 => true, + 8148 => true, + 8149 => true, + 8156 => true, + 8176 => true, + 8177 => true, + 8181 => true, + 8191 => true, + 8206 => true, + 8207 => true, + 8228 => true, + 8229 => true, + 8230 => true, + 8232 => true, + 8233 => true, + 8234 => true, + 8235 => true, + 8236 => true, + 8237 => true, + 8238 => true, + 8289 => true, + 8290 => true, + 8291 => true, + 8293 => true, + 8294 => true, + 8295 => true, + 8296 => true, + 8297 => true, + 8298 => true, + 8299 => true, + 8300 => true, + 8301 => true, + 8302 => true, + 8303 => true, + 8306 => true, + 8307 => true, + 8335 => true, + 8349 => true, + 8350 => true, + 8351 => true, + 8384 => true, + 8385 => true, + 8386 => true, + 8387 => true, + 8388 => true, + 8389 => true, + 8390 => true, + 8391 => true, + 8392 => true, + 8393 => true, + 8394 => true, + 8395 => true, + 8396 => true, + 8397 => true, + 8398 => true, + 8399 => true, + 8433 => true, + 8434 => true, + 8435 => true, + 8436 => true, + 8437 => true, + 8438 => true, + 8439 => true, + 8440 => true, + 8441 => true, + 8442 => true, + 8443 => true, + 8444 => true, + 8445 => true, + 8446 => true, + 8447 => true, + 8498 => true, + 8579 => true, + 8588 => true, + 8589 => true, + 8590 => true, + 8591 => true, + 9255 => true, + 9256 => true, + 9257 => true, + 9258 => true, + 9259 => true, + 9260 => true, + 9261 => true, + 9262 => true, + 9263 => true, + 9264 => true, + 9265 => true, + 9266 => true, + 9267 => true, + 9268 => true, + 9269 => true, + 9270 => true, + 9271 => true, + 9272 => true, + 9273 => true, + 9274 => true, + 9275 => true, + 9276 => true, + 9277 => true, + 9278 => true, + 9279 => true, + 9291 => true, + 9292 => true, + 9293 => true, + 9294 => true, + 9295 => true, + 9296 => true, + 9297 => true, + 9298 => true, + 9299 => true, + 9300 => true, + 9301 => true, + 9302 => true, + 9303 => true, + 9304 => true, + 9305 => true, + 9306 => true, + 9307 => true, + 9308 => true, + 9309 => true, + 9310 => true, + 9311 => true, + 9352 => true, + 9353 => true, + 9354 => true, + 9355 => true, + 9356 => true, + 9357 => true, + 9358 => true, + 9359 => true, + 9360 => true, + 9361 => true, + 9362 => true, + 9363 => true, + 9364 => true, + 9365 => true, + 9366 => true, + 9367 => true, + 9368 => true, + 9369 => true, + 9370 => true, + 9371 => true, + 11124 => true, + 11125 => true, + 11158 => true, + 11311 => true, + 11359 => true, + 11508 => true, + 11509 => true, + 11510 => true, + 11511 => true, + 11512 => true, + 11558 => true, + 11560 => true, + 11561 => true, + 11562 => true, + 11563 => true, + 11564 => true, + 11566 => true, + 11567 => true, + 11624 => true, + 11625 => true, + 11626 => true, + 11627 => true, + 11628 => true, + 11629 => true, + 11630 => true, + 11633 => true, + 11634 => true, + 11635 => true, + 11636 => true, + 11637 => true, + 11638 => true, + 11639 => true, + 11640 => true, + 11641 => true, + 11642 => true, + 11643 => true, + 11644 => true, + 11645 => true, + 11646 => true, + 11671 => true, + 11672 => true, + 11673 => true, + 11674 => true, + 11675 => true, + 11676 => true, + 11677 => true, + 11678 => true, + 11679 => true, + 11687 => true, + 11695 => true, + 11703 => true, + 11711 => true, + 11719 => true, + 11727 => true, + 11735 => true, + 11743 => true, + 11930 => true, + 12020 => true, + 12021 => true, + 12022 => true, + 12023 => true, + 12024 => true, + 12025 => true, + 12026 => true, + 12027 => true, + 12028 => true, + 12029 => true, + 12030 => true, + 12031 => true, + 12246 => true, + 12247 => true, + 12248 => true, + 12249 => true, + 12250 => true, + 12251 => true, + 12252 => true, + 12253 => true, + 12254 => true, + 12255 => true, + 12256 => true, + 12257 => true, + 12258 => true, + 12259 => true, + 12260 => true, + 12261 => true, + 12262 => true, + 12263 => true, + 12264 => true, + 12265 => true, + 12266 => true, + 12267 => true, + 12268 => true, + 12269 => true, + 12270 => true, + 12271 => true, + 12272 => true, + 12273 => true, + 12274 => true, + 12275 => true, + 12276 => true, + 12277 => true, + 12278 => true, + 12279 => true, + 12280 => true, + 12281 => true, + 12282 => true, + 12283 => true, + 12284 => true, + 12285 => true, + 12286 => true, + 12287 => true, + 12352 => true, + 12439 => true, + 12440 => true, + 12544 => true, + 12545 => true, + 12546 => true, + 12547 => true, + 12548 => true, + 12592 => true, + 12644 => true, + 12687 => true, + 12772 => true, + 12773 => true, + 12774 => true, + 12775 => true, + 12776 => true, + 12777 => true, + 12778 => true, + 12779 => true, + 12780 => true, + 12781 => true, + 12782 => true, + 12783 => true, + 12831 => true, + 13250 => true, + 13255 => true, + 13272 => true, + 40957 => true, + 40958 => true, + 40959 => true, + 42125 => true, + 42126 => true, + 42127 => true, + 42183 => true, + 42184 => true, + 42185 => true, + 42186 => true, + 42187 => true, + 42188 => true, + 42189 => true, + 42190 => true, + 42191 => true, + 42540 => true, + 42541 => true, + 42542 => true, + 42543 => true, + 42544 => true, + 42545 => true, + 42546 => true, + 42547 => true, + 42548 => true, + 42549 => true, + 42550 => true, + 42551 => true, + 42552 => true, + 42553 => true, + 42554 => true, + 42555 => true, + 42556 => true, + 42557 => true, + 42558 => true, + 42559 => true, + 42744 => true, + 42745 => true, + 42746 => true, + 42747 => true, + 42748 => true, + 42749 => true, + 42750 => true, + 42751 => true, + 42944 => true, + 42945 => true, + 43053 => true, + 43054 => true, + 43055 => true, + 43066 => true, + 43067 => true, + 43068 => true, + 43069 => true, + 43070 => true, + 43071 => true, + 43128 => true, + 43129 => true, + 43130 => true, + 43131 => true, + 43132 => true, + 43133 => true, + 43134 => true, + 43135 => true, + 43206 => true, + 43207 => true, + 43208 => true, + 43209 => true, + 43210 => true, + 43211 => true, + 43212 => true, + 43213 => true, + 43226 => true, + 43227 => true, + 43228 => true, + 43229 => true, + 43230 => true, + 43231 => true, + 43348 => true, + 43349 => true, + 43350 => true, + 43351 => true, + 43352 => true, + 43353 => true, + 43354 => true, + 43355 => true, + 43356 => true, + 43357 => true, + 43358 => true, + 43389 => true, + 43390 => true, + 43391 => true, + 43470 => true, + 43482 => true, + 43483 => true, + 43484 => true, + 43485 => true, + 43519 => true, + 43575 => true, + 43576 => true, + 43577 => true, + 43578 => true, + 43579 => true, + 43580 => true, + 43581 => true, + 43582 => true, + 43583 => true, + 43598 => true, + 43599 => true, + 43610 => true, + 43611 => true, + 43715 => true, + 43716 => true, + 43717 => true, + 43718 => true, + 43719 => true, + 43720 => true, + 43721 => true, + 43722 => true, + 43723 => true, + 43724 => true, + 43725 => true, + 43726 => true, + 43727 => true, + 43728 => true, + 43729 => true, + 43730 => true, + 43731 => true, + 43732 => true, + 43733 => true, + 43734 => true, + 43735 => true, + 43736 => true, + 43737 => true, + 43738 => true, + 43767 => true, + 43768 => true, + 43769 => true, + 43770 => true, + 43771 => true, + 43772 => true, + 43773 => true, + 43774 => true, + 43775 => true, + 43776 => true, + 43783 => true, + 43784 => true, + 43791 => true, + 43792 => true, + 43799 => true, + 43800 => true, + 43801 => true, + 43802 => true, + 43803 => true, + 43804 => true, + 43805 => true, + 43806 => true, + 43807 => true, + 43815 => true, + 43823 => true, + 43884 => true, + 43885 => true, + 43886 => true, + 43887 => true, + 44014 => true, + 44015 => true, + 44026 => true, + 44027 => true, + 44028 => true, + 44029 => true, + 44030 => true, + 44031 => true, + 55204 => true, + 55205 => true, + 55206 => true, + 55207 => true, + 55208 => true, + 55209 => true, + 55210 => true, + 55211 => true, + 55212 => true, + 55213 => true, + 55214 => true, + 55215 => true, + 55239 => true, + 55240 => true, + 55241 => true, + 55242 => true, + 55292 => true, + 55293 => true, + 55294 => true, + 55295 => true, + 64110 => true, + 64111 => true, + 64263 => true, + 64264 => true, + 64265 => true, + 64266 => true, + 64267 => true, + 64268 => true, + 64269 => true, + 64270 => true, + 64271 => true, + 64272 => true, + 64273 => true, + 64274 => true, + 64280 => true, + 64281 => true, + 64282 => true, + 64283 => true, + 64284 => true, + 64311 => true, + 64317 => true, + 64319 => true, + 64322 => true, + 64325 => true, + 64450 => true, + 64451 => true, + 64452 => true, + 64453 => true, + 64454 => true, + 64455 => true, + 64456 => true, + 64457 => true, + 64458 => true, + 64459 => true, + 64460 => true, + 64461 => true, + 64462 => true, + 64463 => true, + 64464 => true, + 64465 => true, + 64466 => true, + 64832 => true, + 64833 => true, + 64834 => true, + 64835 => true, + 64836 => true, + 64837 => true, + 64838 => true, + 64839 => true, + 64840 => true, + 64841 => true, + 64842 => true, + 64843 => true, + 64844 => true, + 64845 => true, + 64846 => true, + 64847 => true, + 64912 => true, + 64913 => true, + 64968 => true, + 64969 => true, + 64970 => true, + 64971 => true, + 64972 => true, + 64973 => true, + 64974 => true, + 64975 => true, + 65022 => true, + 65023 => true, + 65042 => true, + 65049 => true, + 65050 => true, + 65051 => true, + 65052 => true, + 65053 => true, + 65054 => true, + 65055 => true, + 65072 => true, + 65106 => true, + 65107 => true, + 65127 => true, + 65132 => true, + 65133 => true, + 65134 => true, + 65135 => true, + 65141 => true, + 65277 => true, + 65278 => true, + 65280 => true, + 65440 => true, + 65471 => true, + 65472 => true, + 65473 => true, + 65480 => true, + 65481 => true, + 65488 => true, + 65489 => true, + 65496 => true, + 65497 => true, + 65501 => true, + 65502 => true, + 65503 => true, + 65511 => true, + 65519 => true, + 65520 => true, + 65521 => true, + 65522 => true, + 65523 => true, + 65524 => true, + 65525 => true, + 65526 => true, + 65527 => true, + 65528 => true, + 65529 => true, + 65530 => true, + 65531 => true, + 65532 => true, + 65533 => true, + 65534 => true, + 65535 => true, + 65548 => true, + 65575 => true, + 65595 => true, + 65598 => true, + 65614 => true, + 65615 => true, + 65787 => true, + 65788 => true, + 65789 => true, + 65790 => true, + 65791 => true, + 65795 => true, + 65796 => true, + 65797 => true, + 65798 => true, + 65844 => true, + 65845 => true, + 65846 => true, + 65935 => true, + 65949 => true, + 65950 => true, + 65951 => true, + 66205 => true, + 66206 => true, + 66207 => true, + 66257 => true, + 66258 => true, + 66259 => true, + 66260 => true, + 66261 => true, + 66262 => true, + 66263 => true, + 66264 => true, + 66265 => true, + 66266 => true, + 66267 => true, + 66268 => true, + 66269 => true, + 66270 => true, + 66271 => true, + 66300 => true, + 66301 => true, + 66302 => true, + 66303 => true, + 66340 => true, + 66341 => true, + 66342 => true, + 66343 => true, + 66344 => true, + 66345 => true, + 66346 => true, + 66347 => true, + 66348 => true, + 66379 => true, + 66380 => true, + 66381 => true, + 66382 => true, + 66383 => true, + 66427 => true, + 66428 => true, + 66429 => true, + 66430 => true, + 66431 => true, + 66462 => true, + 66500 => true, + 66501 => true, + 66502 => true, + 66503 => true, + 66718 => true, + 66719 => true, + 66730 => true, + 66731 => true, + 66732 => true, + 66733 => true, + 66734 => true, + 66735 => true, + 66772 => true, + 66773 => true, + 66774 => true, + 66775 => true, + 66812 => true, + 66813 => true, + 66814 => true, + 66815 => true, + 66856 => true, + 66857 => true, + 66858 => true, + 66859 => true, + 66860 => true, + 66861 => true, + 66862 => true, + 66863 => true, + 66916 => true, + 66917 => true, + 66918 => true, + 66919 => true, + 66920 => true, + 66921 => true, + 66922 => true, + 66923 => true, + 66924 => true, + 66925 => true, + 66926 => true, + 67383 => true, + 67384 => true, + 67385 => true, + 67386 => true, + 67387 => true, + 67388 => true, + 67389 => true, + 67390 => true, + 67391 => true, + 67414 => true, + 67415 => true, + 67416 => true, + 67417 => true, + 67418 => true, + 67419 => true, + 67420 => true, + 67421 => true, + 67422 => true, + 67423 => true, + 67590 => true, + 67591 => true, + 67593 => true, + 67638 => true, + 67641 => true, + 67642 => true, + 67643 => true, + 67645 => true, + 67646 => true, + 67670 => true, + 67743 => true, + 67744 => true, + 67745 => true, + 67746 => true, + 67747 => true, + 67748 => true, + 67749 => true, + 67750 => true, + 67827 => true, + 67830 => true, + 67831 => true, + 67832 => true, + 67833 => true, + 67834 => true, + 67868 => true, + 67869 => true, + 67870 => true, + 67898 => true, + 67899 => true, + 67900 => true, + 67901 => true, + 67902 => true, + 68024 => true, + 68025 => true, + 68026 => true, + 68027 => true, + 68048 => true, + 68049 => true, + 68100 => true, + 68103 => true, + 68104 => true, + 68105 => true, + 68106 => true, + 68107 => true, + 68116 => true, + 68120 => true, + 68150 => true, + 68151 => true, + 68155 => true, + 68156 => true, + 68157 => true, + 68158 => true, + 68169 => true, + 68170 => true, + 68171 => true, + 68172 => true, + 68173 => true, + 68174 => true, + 68175 => true, + 68185 => true, + 68186 => true, + 68187 => true, + 68188 => true, + 68189 => true, + 68190 => true, + 68191 => true, + 68327 => true, + 68328 => true, + 68329 => true, + 68330 => true, + 68343 => true, + 68344 => true, + 68345 => true, + 68346 => true, + 68347 => true, + 68348 => true, + 68349 => true, + 68350 => true, + 68351 => true, + 68406 => true, + 68407 => true, + 68408 => true, + 68438 => true, + 68439 => true, + 68467 => true, + 68468 => true, + 68469 => true, + 68470 => true, + 68471 => true, + 68498 => true, + 68499 => true, + 68500 => true, + 68501 => true, + 68502 => true, + 68503 => true, + 68504 => true, + 68509 => true, + 68510 => true, + 68511 => true, + 68512 => true, + 68513 => true, + 68514 => true, + 68515 => true, + 68516 => true, + 68517 => true, + 68518 => true, + 68519 => true, + 68520 => true, + 68787 => true, + 68788 => true, + 68789 => true, + 68790 => true, + 68791 => true, + 68792 => true, + 68793 => true, + 68794 => true, + 68795 => true, + 68796 => true, + 68797 => true, + 68798 => true, + 68799 => true, + 68851 => true, + 68852 => true, + 68853 => true, + 68854 => true, + 68855 => true, + 68856 => true, + 68857 => true, + 68904 => true, + 68905 => true, + 68906 => true, + 68907 => true, + 68908 => true, + 68909 => true, + 68910 => true, + 68911 => true, + 69247 => true, + 69290 => true, + 69294 => true, + 69295 => true, + 69416 => true, + 69417 => true, + 69418 => true, + 69419 => true, + 69420 => true, + 69421 => true, + 69422 => true, + 69423 => true, + 69580 => true, + 69581 => true, + 69582 => true, + 69583 => true, + 69584 => true, + 69585 => true, + 69586 => true, + 69587 => true, + 69588 => true, + 69589 => true, + 69590 => true, + 69591 => true, + 69592 => true, + 69593 => true, + 69594 => true, + 69595 => true, + 69596 => true, + 69597 => true, + 69598 => true, + 69599 => true, + 69623 => true, + 69624 => true, + 69625 => true, + 69626 => true, + 69627 => true, + 69628 => true, + 69629 => true, + 69630 => true, + 69631 => true, + 69710 => true, + 69711 => true, + 69712 => true, + 69713 => true, + 69744 => true, + 69745 => true, + 69746 => true, + 69747 => true, + 69748 => true, + 69749 => true, + 69750 => true, + 69751 => true, + 69752 => true, + 69753 => true, + 69754 => true, + 69755 => true, + 69756 => true, + 69757 => true, + 69758 => true, + 69821 => true, + 69826 => true, + 69827 => true, + 69828 => true, + 69829 => true, + 69830 => true, + 69831 => true, + 69832 => true, + 69833 => true, + 69834 => true, + 69835 => true, + 69836 => true, + 69837 => true, + 69838 => true, + 69839 => true, + 69865 => true, + 69866 => true, + 69867 => true, + 69868 => true, + 69869 => true, + 69870 => true, + 69871 => true, + 69882 => true, + 69883 => true, + 69884 => true, + 69885 => true, + 69886 => true, + 69887 => true, + 69941 => true, + 69960 => true, + 69961 => true, + 69962 => true, + 69963 => true, + 69964 => true, + 69965 => true, + 69966 => true, + 69967 => true, + 70007 => true, + 70008 => true, + 70009 => true, + 70010 => true, + 70011 => true, + 70012 => true, + 70013 => true, + 70014 => true, + 70015 => true, + 70112 => true, + 70133 => true, + 70134 => true, + 70135 => true, + 70136 => true, + 70137 => true, + 70138 => true, + 70139 => true, + 70140 => true, + 70141 => true, + 70142 => true, + 70143 => true, + 70162 => true, + 70279 => true, + 70281 => true, + 70286 => true, + 70302 => true, + 70314 => true, + 70315 => true, + 70316 => true, + 70317 => true, + 70318 => true, + 70319 => true, + 70379 => true, + 70380 => true, + 70381 => true, + 70382 => true, + 70383 => true, + 70394 => true, + 70395 => true, + 70396 => true, + 70397 => true, + 70398 => true, + 70399 => true, + 70404 => true, + 70413 => true, + 70414 => true, + 70417 => true, + 70418 => true, + 70441 => true, + 70449 => true, + 70452 => true, + 70458 => true, + 70469 => true, + 70470 => true, + 70473 => true, + 70474 => true, + 70478 => true, + 70479 => true, + 70481 => true, + 70482 => true, + 70483 => true, + 70484 => true, + 70485 => true, + 70486 => true, + 70488 => true, + 70489 => true, + 70490 => true, + 70491 => true, + 70492 => true, + 70500 => true, + 70501 => true, + 70509 => true, + 70510 => true, + 70511 => true, + 70748 => true, + 70754 => true, + 70755 => true, + 70756 => true, + 70757 => true, + 70758 => true, + 70759 => true, + 70760 => true, + 70761 => true, + 70762 => true, + 70763 => true, + 70764 => true, + 70765 => true, + 70766 => true, + 70767 => true, + 70768 => true, + 70769 => true, + 70770 => true, + 70771 => true, + 70772 => true, + 70773 => true, + 70774 => true, + 70775 => true, + 70776 => true, + 70777 => true, + 70778 => true, + 70779 => true, + 70780 => true, + 70781 => true, + 70782 => true, + 70783 => true, + 70856 => true, + 70857 => true, + 70858 => true, + 70859 => true, + 70860 => true, + 70861 => true, + 70862 => true, + 70863 => true, + 71094 => true, + 71095 => true, + 71237 => true, + 71238 => true, + 71239 => true, + 71240 => true, + 71241 => true, + 71242 => true, + 71243 => true, + 71244 => true, + 71245 => true, + 71246 => true, + 71247 => true, + 71258 => true, + 71259 => true, + 71260 => true, + 71261 => true, + 71262 => true, + 71263 => true, + 71277 => true, + 71278 => true, + 71279 => true, + 71280 => true, + 71281 => true, + 71282 => true, + 71283 => true, + 71284 => true, + 71285 => true, + 71286 => true, + 71287 => true, + 71288 => true, + 71289 => true, + 71290 => true, + 71291 => true, + 71292 => true, + 71293 => true, + 71294 => true, + 71295 => true, + 71353 => true, + 71354 => true, + 71355 => true, + 71356 => true, + 71357 => true, + 71358 => true, + 71359 => true, + 71451 => true, + 71452 => true, + 71468 => true, + 71469 => true, + 71470 => true, + 71471 => true, + 71923 => true, + 71924 => true, + 71925 => true, + 71926 => true, + 71927 => true, + 71928 => true, + 71929 => true, + 71930 => true, + 71931 => true, + 71932 => true, + 71933 => true, + 71934 => true, + 71943 => true, + 71944 => true, + 71946 => true, + 71947 => true, + 71956 => true, + 71959 => true, + 71990 => true, + 71993 => true, + 71994 => true, + 72007 => true, + 72008 => true, + 72009 => true, + 72010 => true, + 72011 => true, + 72012 => true, + 72013 => true, + 72014 => true, + 72015 => true, + 72104 => true, + 72105 => true, + 72152 => true, + 72153 => true, + 72165 => true, + 72166 => true, + 72167 => true, + 72168 => true, + 72169 => true, + 72170 => true, + 72171 => true, + 72172 => true, + 72173 => true, + 72174 => true, + 72175 => true, + 72176 => true, + 72177 => true, + 72178 => true, + 72179 => true, + 72180 => true, + 72181 => true, + 72182 => true, + 72183 => true, + 72184 => true, + 72185 => true, + 72186 => true, + 72187 => true, + 72188 => true, + 72189 => true, + 72190 => true, + 72191 => true, + 72264 => true, + 72265 => true, + 72266 => true, + 72267 => true, + 72268 => true, + 72269 => true, + 72270 => true, + 72271 => true, + 72355 => true, + 72356 => true, + 72357 => true, + 72358 => true, + 72359 => true, + 72360 => true, + 72361 => true, + 72362 => true, + 72363 => true, + 72364 => true, + 72365 => true, + 72366 => true, + 72367 => true, + 72368 => true, + 72369 => true, + 72370 => true, + 72371 => true, + 72372 => true, + 72373 => true, + 72374 => true, + 72375 => true, + 72376 => true, + 72377 => true, + 72378 => true, + 72379 => true, + 72380 => true, + 72381 => true, + 72382 => true, + 72383 => true, + 72713 => true, + 72759 => true, + 72774 => true, + 72775 => true, + 72776 => true, + 72777 => true, + 72778 => true, + 72779 => true, + 72780 => true, + 72781 => true, + 72782 => true, + 72783 => true, + 72813 => true, + 72814 => true, + 72815 => true, + 72848 => true, + 72849 => true, + 72872 => true, + 72967 => true, + 72970 => true, + 73015 => true, + 73016 => true, + 73017 => true, + 73019 => true, + 73022 => true, + 73032 => true, + 73033 => true, + 73034 => true, + 73035 => true, + 73036 => true, + 73037 => true, + 73038 => true, + 73039 => true, + 73050 => true, + 73051 => true, + 73052 => true, + 73053 => true, + 73054 => true, + 73055 => true, + 73062 => true, + 73065 => true, + 73103 => true, + 73106 => true, + 73113 => true, + 73114 => true, + 73115 => true, + 73116 => true, + 73117 => true, + 73118 => true, + 73119 => true, + 73649 => true, + 73650 => true, + 73651 => true, + 73652 => true, + 73653 => true, + 73654 => true, + 73655 => true, + 73656 => true, + 73657 => true, + 73658 => true, + 73659 => true, + 73660 => true, + 73661 => true, + 73662 => true, + 73663 => true, + 73714 => true, + 73715 => true, + 73716 => true, + 73717 => true, + 73718 => true, + 73719 => true, + 73720 => true, + 73721 => true, + 73722 => true, + 73723 => true, + 73724 => true, + 73725 => true, + 73726 => true, + 74863 => true, + 74869 => true, + 74870 => true, + 74871 => true, + 74872 => true, + 74873 => true, + 74874 => true, + 74875 => true, + 74876 => true, + 74877 => true, + 74878 => true, + 74879 => true, + 78895 => true, + 78896 => true, + 78897 => true, + 78898 => true, + 78899 => true, + 78900 => true, + 78901 => true, + 78902 => true, + 78903 => true, + 78904 => true, + 92729 => true, + 92730 => true, + 92731 => true, + 92732 => true, + 92733 => true, + 92734 => true, + 92735 => true, + 92767 => true, + 92778 => true, + 92779 => true, + 92780 => true, + 92781 => true, + 92910 => true, + 92911 => true, + 92918 => true, + 92919 => true, + 92920 => true, + 92921 => true, + 92922 => true, + 92923 => true, + 92924 => true, + 92925 => true, + 92926 => true, + 92927 => true, + 92998 => true, + 92999 => true, + 93000 => true, + 93001 => true, + 93002 => true, + 93003 => true, + 93004 => true, + 93005 => true, + 93006 => true, + 93007 => true, + 93018 => true, + 93026 => true, + 93048 => true, + 93049 => true, + 93050 => true, + 93051 => true, + 93052 => true, + 94027 => true, + 94028 => true, + 94029 => true, + 94030 => true, + 94088 => true, + 94089 => true, + 94090 => true, + 94091 => true, + 94092 => true, + 94093 => true, + 94094 => true, + 94181 => true, + 94182 => true, + 94183 => true, + 94184 => true, + 94185 => true, + 94186 => true, + 94187 => true, + 94188 => true, + 94189 => true, + 94190 => true, + 94191 => true, + 94194 => true, + 94195 => true, + 94196 => true, + 94197 => true, + 94198 => true, + 94199 => true, + 94200 => true, + 94201 => true, + 94202 => true, + 94203 => true, + 94204 => true, + 94205 => true, + 94206 => true, + 94207 => true, + 100344 => true, + 100345 => true, + 100346 => true, + 100347 => true, + 100348 => true, + 100349 => true, + 100350 => true, + 100351 => true, + 110931 => true, + 110932 => true, + 110933 => true, + 110934 => true, + 110935 => true, + 110936 => true, + 110937 => true, + 110938 => true, + 110939 => true, + 110940 => true, + 110941 => true, + 110942 => true, + 110943 => true, + 110944 => true, + 110945 => true, + 110946 => true, + 110947 => true, + 110952 => true, + 110953 => true, + 110954 => true, + 110955 => true, + 110956 => true, + 110957 => true, + 110958 => true, + 110959 => true, + 113771 => true, + 113772 => true, + 113773 => true, + 113774 => true, + 113775 => true, + 113789 => true, + 113790 => true, + 113791 => true, + 113801 => true, + 113802 => true, + 113803 => true, + 113804 => true, + 113805 => true, + 113806 => true, + 113807 => true, + 113818 => true, + 113819 => true, + 119030 => true, + 119031 => true, + 119032 => true, + 119033 => true, + 119034 => true, + 119035 => true, + 119036 => true, + 119037 => true, + 119038 => true, + 119039 => true, + 119079 => true, + 119080 => true, + 119155 => true, + 119156 => true, + 119157 => true, + 119158 => true, + 119159 => true, + 119160 => true, + 119161 => true, + 119162 => true, + 119273 => true, + 119274 => true, + 119275 => true, + 119276 => true, + 119277 => true, + 119278 => true, + 119279 => true, + 119280 => true, + 119281 => true, + 119282 => true, + 119283 => true, + 119284 => true, + 119285 => true, + 119286 => true, + 119287 => true, + 119288 => true, + 119289 => true, + 119290 => true, + 119291 => true, + 119292 => true, + 119293 => true, + 119294 => true, + 119295 => true, + 119540 => true, + 119541 => true, + 119542 => true, + 119543 => true, + 119544 => true, + 119545 => true, + 119546 => true, + 119547 => true, + 119548 => true, + 119549 => true, + 119550 => true, + 119551 => true, + 119639 => true, + 119640 => true, + 119641 => true, + 119642 => true, + 119643 => true, + 119644 => true, + 119645 => true, + 119646 => true, + 119647 => true, + 119893 => true, + 119965 => true, + 119968 => true, + 119969 => true, + 119971 => true, + 119972 => true, + 119975 => true, + 119976 => true, + 119981 => true, + 119994 => true, + 119996 => true, + 120004 => true, + 120070 => true, + 120075 => true, + 120076 => true, + 120085 => true, + 120093 => true, + 120122 => true, + 120127 => true, + 120133 => true, + 120135 => true, + 120136 => true, + 120137 => true, + 120145 => true, + 120486 => true, + 120487 => true, + 120780 => true, + 120781 => true, + 121484 => true, + 121485 => true, + 121486 => true, + 121487 => true, + 121488 => true, + 121489 => true, + 121490 => true, + 121491 => true, + 121492 => true, + 121493 => true, + 121494 => true, + 121495 => true, + 121496 => true, + 121497 => true, + 121498 => true, + 121504 => true, + 122887 => true, + 122905 => true, + 122906 => true, + 122914 => true, + 122917 => true, + 123181 => true, + 123182 => true, + 123183 => true, + 123198 => true, + 123199 => true, + 123210 => true, + 123211 => true, + 123212 => true, + 123213 => true, + 123642 => true, + 123643 => true, + 123644 => true, + 123645 => true, + 123646 => true, + 125125 => true, + 125126 => true, + 125260 => true, + 125261 => true, + 125262 => true, + 125263 => true, + 125274 => true, + 125275 => true, + 125276 => true, + 125277 => true, + 126468 => true, + 126496 => true, + 126499 => true, + 126501 => true, + 126502 => true, + 126504 => true, + 126515 => true, + 126520 => true, + 126522 => true, + 126524 => true, + 126525 => true, + 126526 => true, + 126527 => true, + 126528 => true, + 126529 => true, + 126531 => true, + 126532 => true, + 126533 => true, + 126534 => true, + 126536 => true, + 126538 => true, + 126540 => true, + 126544 => true, + 126547 => true, + 126549 => true, + 126550 => true, + 126552 => true, + 126554 => true, + 126556 => true, + 126558 => true, + 126560 => true, + 126563 => true, + 126565 => true, + 126566 => true, + 126571 => true, + 126579 => true, + 126584 => true, + 126589 => true, + 126591 => true, + 126602 => true, + 126620 => true, + 126621 => true, + 126622 => true, + 126623 => true, + 126624 => true, + 126628 => true, + 126634 => true, + 127020 => true, + 127021 => true, + 127022 => true, + 127023 => true, + 127124 => true, + 127125 => true, + 127126 => true, + 127127 => true, + 127128 => true, + 127129 => true, + 127130 => true, + 127131 => true, + 127132 => true, + 127133 => true, + 127134 => true, + 127135 => true, + 127151 => true, + 127152 => true, + 127168 => true, + 127184 => true, + 127222 => true, + 127223 => true, + 127224 => true, + 127225 => true, + 127226 => true, + 127227 => true, + 127228 => true, + 127229 => true, + 127230 => true, + 127231 => true, + 127232 => true, + 127491 => true, + 127492 => true, + 127493 => true, + 127494 => true, + 127495 => true, + 127496 => true, + 127497 => true, + 127498 => true, + 127499 => true, + 127500 => true, + 127501 => true, + 127502 => true, + 127503 => true, + 127548 => true, + 127549 => true, + 127550 => true, + 127551 => true, + 127561 => true, + 127562 => true, + 127563 => true, + 127564 => true, + 127565 => true, + 127566 => true, + 127567 => true, + 127570 => true, + 127571 => true, + 127572 => true, + 127573 => true, + 127574 => true, + 127575 => true, + 127576 => true, + 127577 => true, + 127578 => true, + 127579 => true, + 127580 => true, + 127581 => true, + 127582 => true, + 127583 => true, + 128728 => true, + 128729 => true, + 128730 => true, + 128731 => true, + 128732 => true, + 128733 => true, + 128734 => true, + 128735 => true, + 128749 => true, + 128750 => true, + 128751 => true, + 128765 => true, + 128766 => true, + 128767 => true, + 128884 => true, + 128885 => true, + 128886 => true, + 128887 => true, + 128888 => true, + 128889 => true, + 128890 => true, + 128891 => true, + 128892 => true, + 128893 => true, + 128894 => true, + 128895 => true, + 128985 => true, + 128986 => true, + 128987 => true, + 128988 => true, + 128989 => true, + 128990 => true, + 128991 => true, + 129004 => true, + 129005 => true, + 129006 => true, + 129007 => true, + 129008 => true, + 129009 => true, + 129010 => true, + 129011 => true, + 129012 => true, + 129013 => true, + 129014 => true, + 129015 => true, + 129016 => true, + 129017 => true, + 129018 => true, + 129019 => true, + 129020 => true, + 129021 => true, + 129022 => true, + 129023 => true, + 129036 => true, + 129037 => true, + 129038 => true, + 129039 => true, + 129096 => true, + 129097 => true, + 129098 => true, + 129099 => true, + 129100 => true, + 129101 => true, + 129102 => true, + 129103 => true, + 129114 => true, + 129115 => true, + 129116 => true, + 129117 => true, + 129118 => true, + 129119 => true, + 129160 => true, + 129161 => true, + 129162 => true, + 129163 => true, + 129164 => true, + 129165 => true, + 129166 => true, + 129167 => true, + 129198 => true, + 129199 => true, + 129401 => true, + 129484 => true, + 129620 => true, + 129621 => true, + 129622 => true, + 129623 => true, + 129624 => true, + 129625 => true, + 129626 => true, + 129627 => true, + 129628 => true, + 129629 => true, + 129630 => true, + 129631 => true, + 129646 => true, + 129647 => true, + 129653 => true, + 129654 => true, + 129655 => true, + 129659 => true, + 129660 => true, + 129661 => true, + 129662 => true, + 129663 => true, + 129671 => true, + 129672 => true, + 129673 => true, + 129674 => true, + 129675 => true, + 129676 => true, + 129677 => true, + 129678 => true, + 129679 => true, + 129705 => true, + 129706 => true, + 129707 => true, + 129708 => true, + 129709 => true, + 129710 => true, + 129711 => true, + 129719 => true, + 129720 => true, + 129721 => true, + 129722 => true, + 129723 => true, + 129724 => true, + 129725 => true, + 129726 => true, + 129727 => true, + 129731 => true, + 129732 => true, + 129733 => true, + 129734 => true, + 129735 => true, + 129736 => true, + 129737 => true, + 129738 => true, + 129739 => true, + 129740 => true, + 129741 => true, + 129742 => true, + 129743 => true, + 129939 => true, + 131070 => true, + 131071 => true, + 177973 => true, + 177974 => true, + 177975 => true, + 177976 => true, + 177977 => true, + 177978 => true, + 177979 => true, + 177980 => true, + 177981 => true, + 177982 => true, + 177983 => true, + 178206 => true, + 178207 => true, + 183970 => true, + 183971 => true, + 183972 => true, + 183973 => true, + 183974 => true, + 183975 => true, + 183976 => true, + 183977 => true, + 183978 => true, + 183979 => true, + 183980 => true, + 183981 => true, + 183982 => true, + 183983 => true, + 194664 => true, + 194676 => true, + 194847 => true, + 194911 => true, + 195007 => true, + 196606 => true, + 196607 => true, + 262142 => true, + 262143 => true, + 327678 => true, + 327679 => true, + 393214 => true, + 393215 => true, + 458750 => true, + 458751 => true, + 524286 => true, + 524287 => true, + 589822 => true, + 589823 => true, + 655358 => true, + 655359 => true, + 720894 => true, + 720895 => true, + 786430 => true, + 786431 => true, + 851966 => true, + 851967 => true, + 917502 => true, + 917503 => true, + 917504 => true, + 917505 => true, + 917506 => true, + 917507 => true, + 917508 => true, + 917509 => true, + 917510 => true, + 917511 => true, + 917512 => true, + 917513 => true, + 917514 => true, + 917515 => true, + 917516 => true, + 917517 => true, + 917518 => true, + 917519 => true, + 917520 => true, + 917521 => true, + 917522 => true, + 917523 => true, + 917524 => true, + 917525 => true, + 917526 => true, + 917527 => true, + 917528 => true, + 917529 => true, + 917530 => true, + 917531 => true, + 917532 => true, + 917533 => true, + 917534 => true, + 917535 => true, + 983038 => true, + 983039 => true, + 1048574 => true, + 1048575 => true, + 1114110 => true, + 1114111 => true, +); diff --git a/pandora_console/vendor/symfony/polyfill-intl-idn/Resources/unidata/disallowed_STD3_mapped.php b/pandora_console/vendor/symfony/polyfill-intl-idn/Resources/unidata/disallowed_STD3_mapped.php new file mode 100644 index 0000000000..54f21cc0cd --- /dev/null +++ b/pandora_console/vendor/symfony/polyfill-intl-idn/Resources/unidata/disallowed_STD3_mapped.php @@ -0,0 +1,308 @@ + ' ', + 168 => ' ̈', + 175 => ' ̄', + 180 => ' ́', + 184 => ' ̧', + 728 => ' ̆', + 729 => ' ̇', + 730 => ' ̊', + 731 => ' ̨', + 732 => ' ̃', + 733 => ' ̋', + 890 => ' ι', + 894 => ';', + 900 => ' ́', + 901 => ' ̈́', + 8125 => ' ̓', + 8127 => ' ̓', + 8128 => ' ͂', + 8129 => ' ̈͂', + 8141 => ' ̓̀', + 8142 => ' ̓́', + 8143 => ' ̓͂', + 8157 => ' ̔̀', + 8158 => ' ̔́', + 8159 => ' ̔͂', + 8173 => ' ̈̀', + 8174 => ' ̈́', + 8175 => '`', + 8189 => ' ́', + 8190 => ' ̔', + 8192 => ' ', + 8193 => ' ', + 8194 => ' ', + 8195 => ' ', + 8196 => ' ', + 8197 => ' ', + 8198 => ' ', + 8199 => ' ', + 8200 => ' ', + 8201 => ' ', + 8202 => ' ', + 8215 => ' ̳', + 8239 => ' ', + 8252 => '!!', + 8254 => ' ̅', + 8263 => '??', + 8264 => '?!', + 8265 => '!?', + 8287 => ' ', + 8314 => '+', + 8316 => '=', + 8317 => '(', + 8318 => ')', + 8330 => '+', + 8332 => '=', + 8333 => '(', + 8334 => ')', + 8448 => 'a/c', + 8449 => 'a/s', + 8453 => 'c/o', + 8454 => 'c/u', + 9332 => '(1)', + 9333 => '(2)', + 9334 => '(3)', + 9335 => '(4)', + 9336 => '(5)', + 9337 => '(6)', + 9338 => '(7)', + 9339 => '(8)', + 9340 => '(9)', + 9341 => '(10)', + 9342 => '(11)', + 9343 => '(12)', + 9344 => '(13)', + 9345 => '(14)', + 9346 => '(15)', + 9347 => '(16)', + 9348 => '(17)', + 9349 => '(18)', + 9350 => '(19)', + 9351 => '(20)', + 9372 => '(a)', + 9373 => '(b)', + 9374 => '(c)', + 9375 => '(d)', + 9376 => '(e)', + 9377 => '(f)', + 9378 => '(g)', + 9379 => '(h)', + 9380 => '(i)', + 9381 => '(j)', + 9382 => '(k)', + 9383 => '(l)', + 9384 => '(m)', + 9385 => '(n)', + 9386 => '(o)', + 9387 => '(p)', + 9388 => '(q)', + 9389 => '(r)', + 9390 => '(s)', + 9391 => '(t)', + 9392 => '(u)', + 9393 => '(v)', + 9394 => '(w)', + 9395 => '(x)', + 9396 => '(y)', + 9397 => '(z)', + 10868 => '::=', + 10869 => '==', + 10870 => '===', + 12288 => ' ', + 12443 => ' ゙', + 12444 => ' ゚', + 12800 => '(ᄀ)', + 12801 => '(ᄂ)', + 12802 => '(ᄃ)', + 12803 => '(ᄅ)', + 12804 => '(ᄆ)', + 12805 => '(ᄇ)', + 12806 => '(ᄉ)', + 12807 => '(ᄋ)', + 12808 => '(ᄌ)', + 12809 => '(ᄎ)', + 12810 => '(ᄏ)', + 12811 => '(ᄐ)', + 12812 => '(ᄑ)', + 12813 => '(ᄒ)', + 12814 => '(가)', + 12815 => '(나)', + 12816 => '(다)', + 12817 => '(라)', + 12818 => '(마)', + 12819 => '(바)', + 12820 => '(사)', + 12821 => '(아)', + 12822 => '(자)', + 12823 => '(차)', + 12824 => '(카)', + 12825 => '(타)', + 12826 => '(파)', + 12827 => '(하)', + 12828 => '(주)', + 12829 => '(오전)', + 12830 => '(오후)', + 12832 => '(一)', + 12833 => '(二)', + 12834 => '(三)', + 12835 => '(四)', + 12836 => '(五)', + 12837 => '(六)', + 12838 => '(七)', + 12839 => '(八)', + 12840 => '(九)', + 12841 => '(十)', + 12842 => '(月)', + 12843 => '(火)', + 12844 => '(水)', + 12845 => '(木)', + 12846 => '(金)', + 12847 => '(土)', + 12848 => '(日)', + 12849 => '(株)', + 12850 => '(有)', + 12851 => '(社)', + 12852 => '(名)', + 12853 => '(特)', + 12854 => '(財)', + 12855 => '(祝)', + 12856 => '(労)', + 12857 => '(代)', + 12858 => '(呼)', + 12859 => '(学)', + 12860 => '(監)', + 12861 => '(企)', + 12862 => '(資)', + 12863 => '(協)', + 12864 => '(祭)', + 12865 => '(休)', + 12866 => '(自)', + 12867 => '(至)', + 64297 => '+', + 64606 => ' ٌّ', + 64607 => ' ٍّ', + 64608 => ' َّ', + 64609 => ' ُّ', + 64610 => ' ِّ', + 64611 => ' ّٰ', + 65018 => 'صلى الله عليه وسلم', + 65019 => 'جل جلاله', + 65040 => ',', + 65043 => ':', + 65044 => ';', + 65045 => '!', + 65046 => '?', + 65075 => '_', + 65076 => '_', + 65077 => '(', + 65078 => ')', + 65079 => '{', + 65080 => '}', + 65095 => '[', + 65096 => ']', + 65097 => ' ̅', + 65098 => ' ̅', + 65099 => ' ̅', + 65100 => ' ̅', + 65101 => '_', + 65102 => '_', + 65103 => '_', + 65104 => ',', + 65108 => ';', + 65109 => ':', + 65110 => '?', + 65111 => '!', + 65113 => '(', + 65114 => ')', + 65115 => '{', + 65116 => '}', + 65119 => '#', + 65120 => '&', + 65121 => '*', + 65122 => '+', + 65124 => '<', + 65125 => '>', + 65126 => '=', + 65128 => '\\', + 65129 => '$', + 65130 => '%', + 65131 => '@', + 65136 => ' ً', + 65138 => ' ٌ', + 65140 => ' ٍ', + 65142 => ' َ', + 65144 => ' ُ', + 65146 => ' ِ', + 65148 => ' ّ', + 65150 => ' ْ', + 65281 => '!', + 65282 => '"', + 65283 => '#', + 65284 => '$', + 65285 => '%', + 65286 => '&', + 65287 => '\'', + 65288 => '(', + 65289 => ')', + 65290 => '*', + 65291 => '+', + 65292 => ',', + 65295 => '/', + 65306 => ':', + 65307 => ';', + 65308 => '<', + 65309 => '=', + 65310 => '>', + 65311 => '?', + 65312 => '@', + 65339 => '[', + 65340 => '\\', + 65341 => ']', + 65342 => '^', + 65343 => '_', + 65344 => '`', + 65371 => '{', + 65372 => '|', + 65373 => '}', + 65374 => '~', + 65507 => ' ̄', + 127233 => '0,', + 127234 => '1,', + 127235 => '2,', + 127236 => '3,', + 127237 => '4,', + 127238 => '5,', + 127239 => '6,', + 127240 => '7,', + 127241 => '8,', + 127242 => '9,', + 127248 => '(a)', + 127249 => '(b)', + 127250 => '(c)', + 127251 => '(d)', + 127252 => '(e)', + 127253 => '(f)', + 127254 => '(g)', + 127255 => '(h)', + 127256 => '(i)', + 127257 => '(j)', + 127258 => '(k)', + 127259 => '(l)', + 127260 => '(m)', + 127261 => '(n)', + 127262 => '(o)', + 127263 => '(p)', + 127264 => '(q)', + 127265 => '(r)', + 127266 => '(s)', + 127267 => '(t)', + 127268 => '(u)', + 127269 => '(v)', + 127270 => '(w)', + 127271 => '(x)', + 127272 => '(y)', + 127273 => '(z)', +); diff --git a/pandora_console/vendor/symfony/polyfill-intl-idn/Resources/unidata/disallowed_STD3_valid.php b/pandora_console/vendor/symfony/polyfill-intl-idn/Resources/unidata/disallowed_STD3_valid.php new file mode 100644 index 0000000000..223396ec4c --- /dev/null +++ b/pandora_console/vendor/symfony/polyfill-intl-idn/Resources/unidata/disallowed_STD3_valid.php @@ -0,0 +1,71 @@ + true, + 1 => true, + 2 => true, + 3 => true, + 4 => true, + 5 => true, + 6 => true, + 7 => true, + 8 => true, + 9 => true, + 10 => true, + 11 => true, + 12 => true, + 13 => true, + 14 => true, + 15 => true, + 16 => true, + 17 => true, + 18 => true, + 19 => true, + 20 => true, + 21 => true, + 22 => true, + 23 => true, + 24 => true, + 25 => true, + 26 => true, + 27 => true, + 28 => true, + 29 => true, + 30 => true, + 31 => true, + 32 => true, + 33 => true, + 34 => true, + 35 => true, + 36 => true, + 37 => true, + 38 => true, + 39 => true, + 40 => true, + 41 => true, + 42 => true, + 43 => true, + 44 => true, + 47 => true, + 58 => true, + 59 => true, + 60 => true, + 61 => true, + 62 => true, + 63 => true, + 64 => true, + 91 => true, + 92 => true, + 93 => true, + 94 => true, + 95 => true, + 96 => true, + 123 => true, + 124 => true, + 125 => true, + 126 => true, + 127 => true, + 8800 => true, + 8814 => true, + 8815 => true, +); diff --git a/pandora_console/vendor/symfony/polyfill-intl-idn/Resources/unidata/ignored.php b/pandora_console/vendor/symfony/polyfill-intl-idn/Resources/unidata/ignored.php new file mode 100644 index 0000000000..b377844130 --- /dev/null +++ b/pandora_console/vendor/symfony/polyfill-intl-idn/Resources/unidata/ignored.php @@ -0,0 +1,273 @@ + true, + 847 => true, + 6155 => true, + 6156 => true, + 6157 => true, + 8203 => true, + 8288 => true, + 8292 => true, + 65024 => true, + 65025 => true, + 65026 => true, + 65027 => true, + 65028 => true, + 65029 => true, + 65030 => true, + 65031 => true, + 65032 => true, + 65033 => true, + 65034 => true, + 65035 => true, + 65036 => true, + 65037 => true, + 65038 => true, + 65039 => true, + 65279 => true, + 113824 => true, + 113825 => true, + 113826 => true, + 113827 => true, + 917760 => true, + 917761 => true, + 917762 => true, + 917763 => true, + 917764 => true, + 917765 => true, + 917766 => true, + 917767 => true, + 917768 => true, + 917769 => true, + 917770 => true, + 917771 => true, + 917772 => true, + 917773 => true, + 917774 => true, + 917775 => true, + 917776 => true, + 917777 => true, + 917778 => true, + 917779 => true, + 917780 => true, + 917781 => true, + 917782 => true, + 917783 => true, + 917784 => true, + 917785 => true, + 917786 => true, + 917787 => true, + 917788 => true, + 917789 => true, + 917790 => true, + 917791 => true, + 917792 => true, + 917793 => true, + 917794 => true, + 917795 => true, + 917796 => true, + 917797 => true, + 917798 => true, + 917799 => true, + 917800 => true, + 917801 => true, + 917802 => true, + 917803 => true, + 917804 => true, + 917805 => true, + 917806 => true, + 917807 => true, + 917808 => true, + 917809 => true, + 917810 => true, + 917811 => true, + 917812 => true, + 917813 => true, + 917814 => true, + 917815 => true, + 917816 => true, + 917817 => true, + 917818 => true, + 917819 => true, + 917820 => true, + 917821 => true, + 917822 => true, + 917823 => true, + 917824 => true, + 917825 => true, + 917826 => true, + 917827 => true, + 917828 => true, + 917829 => true, + 917830 => true, + 917831 => true, + 917832 => true, + 917833 => true, + 917834 => true, + 917835 => true, + 917836 => true, + 917837 => true, + 917838 => true, + 917839 => true, + 917840 => true, + 917841 => true, + 917842 => true, + 917843 => true, + 917844 => true, + 917845 => true, + 917846 => true, + 917847 => true, + 917848 => true, + 917849 => true, + 917850 => true, + 917851 => true, + 917852 => true, + 917853 => true, + 917854 => true, + 917855 => true, + 917856 => true, + 917857 => true, + 917858 => true, + 917859 => true, + 917860 => true, + 917861 => true, + 917862 => true, + 917863 => true, + 917864 => true, + 917865 => true, + 917866 => true, + 917867 => true, + 917868 => true, + 917869 => true, + 917870 => true, + 917871 => true, + 917872 => true, + 917873 => true, + 917874 => true, + 917875 => true, + 917876 => true, + 917877 => true, + 917878 => true, + 917879 => true, + 917880 => true, + 917881 => true, + 917882 => true, + 917883 => true, + 917884 => true, + 917885 => true, + 917886 => true, + 917887 => true, + 917888 => true, + 917889 => true, + 917890 => true, + 917891 => true, + 917892 => true, + 917893 => true, + 917894 => true, + 917895 => true, + 917896 => true, + 917897 => true, + 917898 => true, + 917899 => true, + 917900 => true, + 917901 => true, + 917902 => true, + 917903 => true, + 917904 => true, + 917905 => true, + 917906 => true, + 917907 => true, + 917908 => true, + 917909 => true, + 917910 => true, + 917911 => true, + 917912 => true, + 917913 => true, + 917914 => true, + 917915 => true, + 917916 => true, + 917917 => true, + 917918 => true, + 917919 => true, + 917920 => true, + 917921 => true, + 917922 => true, + 917923 => true, + 917924 => true, + 917925 => true, + 917926 => true, + 917927 => true, + 917928 => true, + 917929 => true, + 917930 => true, + 917931 => true, + 917932 => true, + 917933 => true, + 917934 => true, + 917935 => true, + 917936 => true, + 917937 => true, + 917938 => true, + 917939 => true, + 917940 => true, + 917941 => true, + 917942 => true, + 917943 => true, + 917944 => true, + 917945 => true, + 917946 => true, + 917947 => true, + 917948 => true, + 917949 => true, + 917950 => true, + 917951 => true, + 917952 => true, + 917953 => true, + 917954 => true, + 917955 => true, + 917956 => true, + 917957 => true, + 917958 => true, + 917959 => true, + 917960 => true, + 917961 => true, + 917962 => true, + 917963 => true, + 917964 => true, + 917965 => true, + 917966 => true, + 917967 => true, + 917968 => true, + 917969 => true, + 917970 => true, + 917971 => true, + 917972 => true, + 917973 => true, + 917974 => true, + 917975 => true, + 917976 => true, + 917977 => true, + 917978 => true, + 917979 => true, + 917980 => true, + 917981 => true, + 917982 => true, + 917983 => true, + 917984 => true, + 917985 => true, + 917986 => true, + 917987 => true, + 917988 => true, + 917989 => true, + 917990 => true, + 917991 => true, + 917992 => true, + 917993 => true, + 917994 => true, + 917995 => true, + 917996 => true, + 917997 => true, + 917998 => true, + 917999 => true, +); diff --git a/pandora_console/vendor/symfony/polyfill-intl-idn/Resources/unidata/mapped.php b/pandora_console/vendor/symfony/polyfill-intl-idn/Resources/unidata/mapped.php new file mode 100644 index 0000000000..9b85fe9d3f --- /dev/null +++ b/pandora_console/vendor/symfony/polyfill-intl-idn/Resources/unidata/mapped.php @@ -0,0 +1,5778 @@ + 'a', + 66 => 'b', + 67 => 'c', + 68 => 'd', + 69 => 'e', + 70 => 'f', + 71 => 'g', + 72 => 'h', + 73 => 'i', + 74 => 'j', + 75 => 'k', + 76 => 'l', + 77 => 'm', + 78 => 'n', + 79 => 'o', + 80 => 'p', + 81 => 'q', + 82 => 'r', + 83 => 's', + 84 => 't', + 85 => 'u', + 86 => 'v', + 87 => 'w', + 88 => 'x', + 89 => 'y', + 90 => 'z', + 170 => 'a', + 178 => '2', + 179 => '3', + 181 => 'μ', + 185 => '1', + 186 => 'o', + 188 => '1⁄4', + 189 => '1⁄2', + 190 => '3⁄4', + 192 => 'à', + 193 => 'á', + 194 => 'â', + 195 => 'ã', + 196 => 'ä', + 197 => 'å', + 198 => 'æ', + 199 => 'ç', + 200 => 'è', + 201 => 'é', + 202 => 'ê', + 203 => 'ë', + 204 => 'ì', + 205 => 'í', + 206 => 'î', + 207 => 'ï', + 208 => 'ð', + 209 => 'ñ', + 210 => 'ò', + 211 => 'ó', + 212 => 'ô', + 213 => 'õ', + 214 => 'ö', + 216 => 'ø', + 217 => 'ù', + 218 => 'ú', + 219 => 'û', + 220 => 'ü', + 221 => 'ý', + 222 => 'þ', + 256 => 'ā', + 258 => 'ă', + 260 => 'ą', + 262 => 'ć', + 264 => 'ĉ', + 266 => 'ċ', + 268 => 'č', + 270 => 'ď', + 272 => 'đ', + 274 => 'ē', + 276 => 'ĕ', + 278 => 'ė', + 280 => 'ę', + 282 => 'ě', + 284 => 'ĝ', + 286 => 'ğ', + 288 => 'ġ', + 290 => 'ģ', + 292 => 'ĥ', + 294 => 'ħ', + 296 => 'ĩ', + 298 => 'ī', + 300 => 'ĭ', + 302 => 'į', + 304 => 'i̇', + 306 => 'ij', + 307 => 'ij', + 308 => 'ĵ', + 310 => 'ķ', + 313 => 'ĺ', + 315 => 'ļ', + 317 => 'ľ', + 319 => 'l·', + 320 => 'l·', + 321 => 'ł', + 323 => 'ń', + 325 => 'ņ', + 327 => 'ň', + 329 => 'ʼn', + 330 => 'ŋ', + 332 => 'ō', + 334 => 'ŏ', + 336 => 'ő', + 338 => 'œ', + 340 => 'ŕ', + 342 => 'ŗ', + 344 => 'ř', + 346 => 'ś', + 348 => 'ŝ', + 350 => 'ş', + 352 => 'š', + 354 => 'ţ', + 356 => 'ť', + 358 => 'ŧ', + 360 => 'ũ', + 362 => 'ū', + 364 => 'ŭ', + 366 => 'ů', + 368 => 'ű', + 370 => 'ų', + 372 => 'ŵ', + 374 => 'ŷ', + 376 => 'ÿ', + 377 => 'ź', + 379 => 'ż', + 381 => 'ž', + 383 => 's', + 385 => 'ɓ', + 386 => 'ƃ', + 388 => 'ƅ', + 390 => 'ɔ', + 391 => 'ƈ', + 393 => 'ɖ', + 394 => 'ɗ', + 395 => 'ƌ', + 398 => 'ǝ', + 399 => 'ə', + 400 => 'ɛ', + 401 => 'ƒ', + 403 => 'ɠ', + 404 => 'ɣ', + 406 => 'ɩ', + 407 => 'ɨ', + 408 => 'ƙ', + 412 => 'ɯ', + 413 => 'ɲ', + 415 => 'ɵ', + 416 => 'ơ', + 418 => 'ƣ', + 420 => 'ƥ', + 422 => 'ʀ', + 423 => 'ƨ', + 425 => 'ʃ', + 428 => 'ƭ', + 430 => 'ʈ', + 431 => 'ư', + 433 => 'ʊ', + 434 => 'ʋ', + 435 => 'ƴ', + 437 => 'ƶ', + 439 => 'ʒ', + 440 => 'ƹ', + 444 => 'ƽ', + 452 => 'dž', + 453 => 'dž', + 454 => 'dž', + 455 => 'lj', + 456 => 'lj', + 457 => 'lj', + 458 => 'nj', + 459 => 'nj', + 460 => 'nj', + 461 => 'ǎ', + 463 => 'ǐ', + 465 => 'ǒ', + 467 => 'ǔ', + 469 => 'ǖ', + 471 => 'ǘ', + 473 => 'ǚ', + 475 => 'ǜ', + 478 => 'ǟ', + 480 => 'ǡ', + 482 => 'ǣ', + 484 => 'ǥ', + 486 => 'ǧ', + 488 => 'ǩ', + 490 => 'ǫ', + 492 => 'ǭ', + 494 => 'ǯ', + 497 => 'dz', + 498 => 'dz', + 499 => 'dz', + 500 => 'ǵ', + 502 => 'ƕ', + 503 => 'ƿ', + 504 => 'ǹ', + 506 => 'ǻ', + 508 => 'ǽ', + 510 => 'ǿ', + 512 => 'ȁ', + 514 => 'ȃ', + 516 => 'ȅ', + 518 => 'ȇ', + 520 => 'ȉ', + 522 => 'ȋ', + 524 => 'ȍ', + 526 => 'ȏ', + 528 => 'ȑ', + 530 => 'ȓ', + 532 => 'ȕ', + 534 => 'ȗ', + 536 => 'ș', + 538 => 'ț', + 540 => 'ȝ', + 542 => 'ȟ', + 544 => 'ƞ', + 546 => 'ȣ', + 548 => 'ȥ', + 550 => 'ȧ', + 552 => 'ȩ', + 554 => 'ȫ', + 556 => 'ȭ', + 558 => 'ȯ', + 560 => 'ȱ', + 562 => 'ȳ', + 570 => 'ⱥ', + 571 => 'ȼ', + 573 => 'ƚ', + 574 => 'ⱦ', + 577 => 'ɂ', + 579 => 'ƀ', + 580 => 'ʉ', + 581 => 'ʌ', + 582 => 'ɇ', + 584 => 'ɉ', + 586 => 'ɋ', + 588 => 'ɍ', + 590 => 'ɏ', + 688 => 'h', + 689 => 'ɦ', + 690 => 'j', + 691 => 'r', + 692 => 'ɹ', + 693 => 'ɻ', + 694 => 'ʁ', + 695 => 'w', + 696 => 'y', + 736 => 'ɣ', + 737 => 'l', + 738 => 's', + 739 => 'x', + 740 => 'ʕ', + 832 => '̀', + 833 => '́', + 835 => '̓', + 836 => '̈́', + 837 => 'ι', + 880 => 'ͱ', + 882 => 'ͳ', + 884 => 'ʹ', + 886 => 'ͷ', + 895 => 'ϳ', + 902 => 'ά', + 903 => '·', + 904 => 'έ', + 905 => 'ή', + 906 => 'ί', + 908 => 'ό', + 910 => 'ύ', + 911 => 'ώ', + 913 => 'α', + 914 => 'β', + 915 => 'γ', + 916 => 'δ', + 917 => 'ε', + 918 => 'ζ', + 919 => 'η', + 920 => 'θ', + 921 => 'ι', + 922 => 'κ', + 923 => 'λ', + 924 => 'μ', + 925 => 'ν', + 926 => 'ξ', + 927 => 'ο', + 928 => 'π', + 929 => 'ρ', + 931 => 'σ', + 932 => 'τ', + 933 => 'υ', + 934 => 'φ', + 935 => 'χ', + 936 => 'ψ', + 937 => 'ω', + 938 => 'ϊ', + 939 => 'ϋ', + 975 => 'ϗ', + 976 => 'β', + 977 => 'θ', + 978 => 'υ', + 979 => 'ύ', + 980 => 'ϋ', + 981 => 'φ', + 982 => 'π', + 984 => 'ϙ', + 986 => 'ϛ', + 988 => 'ϝ', + 990 => 'ϟ', + 992 => 'ϡ', + 994 => 'ϣ', + 996 => 'ϥ', + 998 => 'ϧ', + 1000 => 'ϩ', + 1002 => 'ϫ', + 1004 => 'ϭ', + 1006 => 'ϯ', + 1008 => 'κ', + 1009 => 'ρ', + 1010 => 'σ', + 1012 => 'θ', + 1013 => 'ε', + 1015 => 'ϸ', + 1017 => 'σ', + 1018 => 'ϻ', + 1021 => 'ͻ', + 1022 => 'ͼ', + 1023 => 'ͽ', + 1024 => 'ѐ', + 1025 => 'ё', + 1026 => 'ђ', + 1027 => 'ѓ', + 1028 => 'є', + 1029 => 'ѕ', + 1030 => 'і', + 1031 => 'ї', + 1032 => 'ј', + 1033 => 'љ', + 1034 => 'њ', + 1035 => 'ћ', + 1036 => 'ќ', + 1037 => 'ѝ', + 1038 => 'ў', + 1039 => 'џ', + 1040 => 'а', + 1041 => 'б', + 1042 => 'в', + 1043 => 'г', + 1044 => 'д', + 1045 => 'е', + 1046 => 'ж', + 1047 => 'з', + 1048 => 'и', + 1049 => 'й', + 1050 => 'к', + 1051 => 'л', + 1052 => 'м', + 1053 => 'н', + 1054 => 'о', + 1055 => 'п', + 1056 => 'р', + 1057 => 'с', + 1058 => 'т', + 1059 => 'у', + 1060 => 'ф', + 1061 => 'х', + 1062 => 'ц', + 1063 => 'ч', + 1064 => 'ш', + 1065 => 'щ', + 1066 => 'ъ', + 1067 => 'ы', + 1068 => 'ь', + 1069 => 'э', + 1070 => 'ю', + 1071 => 'я', + 1120 => 'ѡ', + 1122 => 'ѣ', + 1124 => 'ѥ', + 1126 => 'ѧ', + 1128 => 'ѩ', + 1130 => 'ѫ', + 1132 => 'ѭ', + 1134 => 'ѯ', + 1136 => 'ѱ', + 1138 => 'ѳ', + 1140 => 'ѵ', + 1142 => 'ѷ', + 1144 => 'ѹ', + 1146 => 'ѻ', + 1148 => 'ѽ', + 1150 => 'ѿ', + 1152 => 'ҁ', + 1162 => 'ҋ', + 1164 => 'ҍ', + 1166 => 'ҏ', + 1168 => 'ґ', + 1170 => 'ғ', + 1172 => 'ҕ', + 1174 => 'җ', + 1176 => 'ҙ', + 1178 => 'қ', + 1180 => 'ҝ', + 1182 => 'ҟ', + 1184 => 'ҡ', + 1186 => 'ң', + 1188 => 'ҥ', + 1190 => 'ҧ', + 1192 => 'ҩ', + 1194 => 'ҫ', + 1196 => 'ҭ', + 1198 => 'ү', + 1200 => 'ұ', + 1202 => 'ҳ', + 1204 => 'ҵ', + 1206 => 'ҷ', + 1208 => 'ҹ', + 1210 => 'һ', + 1212 => 'ҽ', + 1214 => 'ҿ', + 1217 => 'ӂ', + 1219 => 'ӄ', + 1221 => 'ӆ', + 1223 => 'ӈ', + 1225 => 'ӊ', + 1227 => 'ӌ', + 1229 => 'ӎ', + 1232 => 'ӑ', + 1234 => 'ӓ', + 1236 => 'ӕ', + 1238 => 'ӗ', + 1240 => 'ә', + 1242 => 'ӛ', + 1244 => 'ӝ', + 1246 => 'ӟ', + 1248 => 'ӡ', + 1250 => 'ӣ', + 1252 => 'ӥ', + 1254 => 'ӧ', + 1256 => 'ө', + 1258 => 'ӫ', + 1260 => 'ӭ', + 1262 => 'ӯ', + 1264 => 'ӱ', + 1266 => 'ӳ', + 1268 => 'ӵ', + 1270 => 'ӷ', + 1272 => 'ӹ', + 1274 => 'ӻ', + 1276 => 'ӽ', + 1278 => 'ӿ', + 1280 => 'ԁ', + 1282 => 'ԃ', + 1284 => 'ԅ', + 1286 => 'ԇ', + 1288 => 'ԉ', + 1290 => 'ԋ', + 1292 => 'ԍ', + 1294 => 'ԏ', + 1296 => 'ԑ', + 1298 => 'ԓ', + 1300 => 'ԕ', + 1302 => 'ԗ', + 1304 => 'ԙ', + 1306 => 'ԛ', + 1308 => 'ԝ', + 1310 => 'ԟ', + 1312 => 'ԡ', + 1314 => 'ԣ', + 1316 => 'ԥ', + 1318 => 'ԧ', + 1320 => 'ԩ', + 1322 => 'ԫ', + 1324 => 'ԭ', + 1326 => 'ԯ', + 1329 => 'ա', + 1330 => 'բ', + 1331 => 'գ', + 1332 => 'դ', + 1333 => 'ե', + 1334 => 'զ', + 1335 => 'է', + 1336 => 'ը', + 1337 => 'թ', + 1338 => 'ժ', + 1339 => 'ի', + 1340 => 'լ', + 1341 => 'խ', + 1342 => 'ծ', + 1343 => 'կ', + 1344 => 'հ', + 1345 => 'ձ', + 1346 => 'ղ', + 1347 => 'ճ', + 1348 => 'մ', + 1349 => 'յ', + 1350 => 'ն', + 1351 => 'շ', + 1352 => 'ո', + 1353 => 'չ', + 1354 => 'պ', + 1355 => 'ջ', + 1356 => 'ռ', + 1357 => 'ս', + 1358 => 'վ', + 1359 => 'տ', + 1360 => 'ր', + 1361 => 'ց', + 1362 => 'ւ', + 1363 => 'փ', + 1364 => 'ք', + 1365 => 'օ', + 1366 => 'ֆ', + 1415 => 'եւ', + 1653 => 'اٴ', + 1654 => 'وٴ', + 1655 => 'ۇٴ', + 1656 => 'يٴ', + 2392 => 'क़', + 2393 => 'ख़', + 2394 => 'ग़', + 2395 => 'ज़', + 2396 => 'ड़', + 2397 => 'ढ़', + 2398 => 'फ़', + 2399 => 'य़', + 2524 => 'ড়', + 2525 => 'ঢ়', + 2527 => 'য়', + 2611 => 'ਲ਼', + 2614 => 'ਸ਼', + 2649 => 'ਖ਼', + 2650 => 'ਗ਼', + 2651 => 'ਜ਼', + 2654 => 'ਫ਼', + 2908 => 'ଡ଼', + 2909 => 'ଢ଼', + 3635 => 'ํา', + 3763 => 'ໍາ', + 3804 => 'ຫນ', + 3805 => 'ຫມ', + 3852 => '་', + 3907 => 'གྷ', + 3917 => 'ཌྷ', + 3922 => 'དྷ', + 3927 => 'བྷ', + 3932 => 'ཛྷ', + 3945 => 'ཀྵ', + 3955 => 'ཱི', + 3957 => 'ཱུ', + 3958 => 'ྲྀ', + 3959 => 'ྲཱྀ', + 3960 => 'ླྀ', + 3961 => 'ླཱྀ', + 3969 => 'ཱྀ', + 3987 => 'ྒྷ', + 3997 => 'ྜྷ', + 4002 => 'ྡྷ', + 4007 => 'ྦྷ', + 4012 => 'ྫྷ', + 4025 => 'ྐྵ', + 4295 => 'ⴧ', + 4301 => 'ⴭ', + 4348 => 'ნ', + 5112 => 'Ᏸ', + 5113 => 'Ᏹ', + 5114 => 'Ᏺ', + 5115 => 'Ᏻ', + 5116 => 'Ᏼ', + 5117 => 'Ᏽ', + 7296 => 'в', + 7297 => 'д', + 7298 => 'о', + 7299 => 'с', + 7300 => 'т', + 7301 => 'т', + 7302 => 'ъ', + 7303 => 'ѣ', + 7304 => 'ꙋ', + 7312 => 'ა', + 7313 => 'ბ', + 7314 => 'გ', + 7315 => 'დ', + 7316 => 'ე', + 7317 => 'ვ', + 7318 => 'ზ', + 7319 => 'თ', + 7320 => 'ი', + 7321 => 'კ', + 7322 => 'ლ', + 7323 => 'მ', + 7324 => 'ნ', + 7325 => 'ო', + 7326 => 'პ', + 7327 => 'ჟ', + 7328 => 'რ', + 7329 => 'ს', + 7330 => 'ტ', + 7331 => 'უ', + 7332 => 'ფ', + 7333 => 'ქ', + 7334 => 'ღ', + 7335 => 'ყ', + 7336 => 'შ', + 7337 => 'ჩ', + 7338 => 'ც', + 7339 => 'ძ', + 7340 => 'წ', + 7341 => 'ჭ', + 7342 => 'ხ', + 7343 => 'ჯ', + 7344 => 'ჰ', + 7345 => 'ჱ', + 7346 => 'ჲ', + 7347 => 'ჳ', + 7348 => 'ჴ', + 7349 => 'ჵ', + 7350 => 'ჶ', + 7351 => 'ჷ', + 7352 => 'ჸ', + 7353 => 'ჹ', + 7354 => 'ჺ', + 7357 => 'ჽ', + 7358 => 'ჾ', + 7359 => 'ჿ', + 7468 => 'a', + 7469 => 'æ', + 7470 => 'b', + 7472 => 'd', + 7473 => 'e', + 7474 => 'ǝ', + 7475 => 'g', + 7476 => 'h', + 7477 => 'i', + 7478 => 'j', + 7479 => 'k', + 7480 => 'l', + 7481 => 'm', + 7482 => 'n', + 7484 => 'o', + 7485 => 'ȣ', + 7486 => 'p', + 7487 => 'r', + 7488 => 't', + 7489 => 'u', + 7490 => 'w', + 7491 => 'a', + 7492 => 'ɐ', + 7493 => 'ɑ', + 7494 => 'ᴂ', + 7495 => 'b', + 7496 => 'd', + 7497 => 'e', + 7498 => 'ə', + 7499 => 'ɛ', + 7500 => 'ɜ', + 7501 => 'g', + 7503 => 'k', + 7504 => 'm', + 7505 => 'ŋ', + 7506 => 'o', + 7507 => 'ɔ', + 7508 => 'ᴖ', + 7509 => 'ᴗ', + 7510 => 'p', + 7511 => 't', + 7512 => 'u', + 7513 => 'ᴝ', + 7514 => 'ɯ', + 7515 => 'v', + 7516 => 'ᴥ', + 7517 => 'β', + 7518 => 'γ', + 7519 => 'δ', + 7520 => 'φ', + 7521 => 'χ', + 7522 => 'i', + 7523 => 'r', + 7524 => 'u', + 7525 => 'v', + 7526 => 'β', + 7527 => 'γ', + 7528 => 'ρ', + 7529 => 'φ', + 7530 => 'χ', + 7544 => 'н', + 7579 => 'ɒ', + 7580 => 'c', + 7581 => 'ɕ', + 7582 => 'ð', + 7583 => 'ɜ', + 7584 => 'f', + 7585 => 'ɟ', + 7586 => 'ɡ', + 7587 => 'ɥ', + 7588 => 'ɨ', + 7589 => 'ɩ', + 7590 => 'ɪ', + 7591 => 'ᵻ', + 7592 => 'ʝ', + 7593 => 'ɭ', + 7594 => 'ᶅ', + 7595 => 'ʟ', + 7596 => 'ɱ', + 7597 => 'ɰ', + 7598 => 'ɲ', + 7599 => 'ɳ', + 7600 => 'ɴ', + 7601 => 'ɵ', + 7602 => 'ɸ', + 7603 => 'ʂ', + 7604 => 'ʃ', + 7605 => 'ƫ', + 7606 => 'ʉ', + 7607 => 'ʊ', + 7608 => 'ᴜ', + 7609 => 'ʋ', + 7610 => 'ʌ', + 7611 => 'z', + 7612 => 'ʐ', + 7613 => 'ʑ', + 7614 => 'ʒ', + 7615 => 'θ', + 7680 => 'ḁ', + 7682 => 'ḃ', + 7684 => 'ḅ', + 7686 => 'ḇ', + 7688 => 'ḉ', + 7690 => 'ḋ', + 7692 => 'ḍ', + 7694 => 'ḏ', + 7696 => 'ḑ', + 7698 => 'ḓ', + 7700 => 'ḕ', + 7702 => 'ḗ', + 7704 => 'ḙ', + 7706 => 'ḛ', + 7708 => 'ḝ', + 7710 => 'ḟ', + 7712 => 'ḡ', + 7714 => 'ḣ', + 7716 => 'ḥ', + 7718 => 'ḧ', + 7720 => 'ḩ', + 7722 => 'ḫ', + 7724 => 'ḭ', + 7726 => 'ḯ', + 7728 => 'ḱ', + 7730 => 'ḳ', + 7732 => 'ḵ', + 7734 => 'ḷ', + 7736 => 'ḹ', + 7738 => 'ḻ', + 7740 => 'ḽ', + 7742 => 'ḿ', + 7744 => 'ṁ', + 7746 => 'ṃ', + 7748 => 'ṅ', + 7750 => 'ṇ', + 7752 => 'ṉ', + 7754 => 'ṋ', + 7756 => 'ṍ', + 7758 => 'ṏ', + 7760 => 'ṑ', + 7762 => 'ṓ', + 7764 => 'ṕ', + 7766 => 'ṗ', + 7768 => 'ṙ', + 7770 => 'ṛ', + 7772 => 'ṝ', + 7774 => 'ṟ', + 7776 => 'ṡ', + 7778 => 'ṣ', + 7780 => 'ṥ', + 7782 => 'ṧ', + 7784 => 'ṩ', + 7786 => 'ṫ', + 7788 => 'ṭ', + 7790 => 'ṯ', + 7792 => 'ṱ', + 7794 => 'ṳ', + 7796 => 'ṵ', + 7798 => 'ṷ', + 7800 => 'ṹ', + 7802 => 'ṻ', + 7804 => 'ṽ', + 7806 => 'ṿ', + 7808 => 'ẁ', + 7810 => 'ẃ', + 7812 => 'ẅ', + 7814 => 'ẇ', + 7816 => 'ẉ', + 7818 => 'ẋ', + 7820 => 'ẍ', + 7822 => 'ẏ', + 7824 => 'ẑ', + 7826 => 'ẓ', + 7828 => 'ẕ', + 7834 => 'aʾ', + 7835 => 'ṡ', + 7838 => 'ss', + 7840 => 'ạ', + 7842 => 'ả', + 7844 => 'ấ', + 7846 => 'ầ', + 7848 => 'ẩ', + 7850 => 'ẫ', + 7852 => 'ậ', + 7854 => 'ắ', + 7856 => 'ằ', + 7858 => 'ẳ', + 7860 => 'ẵ', + 7862 => 'ặ', + 7864 => 'ẹ', + 7866 => 'ẻ', + 7868 => 'ẽ', + 7870 => 'ế', + 7872 => 'ề', + 7874 => 'ể', + 7876 => 'ễ', + 7878 => 'ệ', + 7880 => 'ỉ', + 7882 => 'ị', + 7884 => 'ọ', + 7886 => 'ỏ', + 7888 => 'ố', + 7890 => 'ồ', + 7892 => 'ổ', + 7894 => 'ỗ', + 7896 => 'ộ', + 7898 => 'ớ', + 7900 => 'ờ', + 7902 => 'ở', + 7904 => 'ỡ', + 7906 => 'ợ', + 7908 => 'ụ', + 7910 => 'ủ', + 7912 => 'ứ', + 7914 => 'ừ', + 7916 => 'ử', + 7918 => 'ữ', + 7920 => 'ự', + 7922 => 'ỳ', + 7924 => 'ỵ', + 7926 => 'ỷ', + 7928 => 'ỹ', + 7930 => 'ỻ', + 7932 => 'ỽ', + 7934 => 'ỿ', + 7944 => 'ἀ', + 7945 => 'ἁ', + 7946 => 'ἂ', + 7947 => 'ἃ', + 7948 => 'ἄ', + 7949 => 'ἅ', + 7950 => 'ἆ', + 7951 => 'ἇ', + 7960 => 'ἐ', + 7961 => 'ἑ', + 7962 => 'ἒ', + 7963 => 'ἓ', + 7964 => 'ἔ', + 7965 => 'ἕ', + 7976 => 'ἠ', + 7977 => 'ἡ', + 7978 => 'ἢ', + 7979 => 'ἣ', + 7980 => 'ἤ', + 7981 => 'ἥ', + 7982 => 'ἦ', + 7983 => 'ἧ', + 7992 => 'ἰ', + 7993 => 'ἱ', + 7994 => 'ἲ', + 7995 => 'ἳ', + 7996 => 'ἴ', + 7997 => 'ἵ', + 7998 => 'ἶ', + 7999 => 'ἷ', + 8008 => 'ὀ', + 8009 => 'ὁ', + 8010 => 'ὂ', + 8011 => 'ὃ', + 8012 => 'ὄ', + 8013 => 'ὅ', + 8025 => 'ὑ', + 8027 => 'ὓ', + 8029 => 'ὕ', + 8031 => 'ὗ', + 8040 => 'ὠ', + 8041 => 'ὡ', + 8042 => 'ὢ', + 8043 => 'ὣ', + 8044 => 'ὤ', + 8045 => 'ὥ', + 8046 => 'ὦ', + 8047 => 'ὧ', + 8049 => 'ά', + 8051 => 'έ', + 8053 => 'ή', + 8055 => 'ί', + 8057 => 'ό', + 8059 => 'ύ', + 8061 => 'ώ', + 8064 => 'ἀι', + 8065 => 'ἁι', + 8066 => 'ἂι', + 8067 => 'ἃι', + 8068 => 'ἄι', + 8069 => 'ἅι', + 8070 => 'ἆι', + 8071 => 'ἇι', + 8072 => 'ἀι', + 8073 => 'ἁι', + 8074 => 'ἂι', + 8075 => 'ἃι', + 8076 => 'ἄι', + 8077 => 'ἅι', + 8078 => 'ἆι', + 8079 => 'ἇι', + 8080 => 'ἠι', + 8081 => 'ἡι', + 8082 => 'ἢι', + 8083 => 'ἣι', + 8084 => 'ἤι', + 8085 => 'ἥι', + 8086 => 'ἦι', + 8087 => 'ἧι', + 8088 => 'ἠι', + 8089 => 'ἡι', + 8090 => 'ἢι', + 8091 => 'ἣι', + 8092 => 'ἤι', + 8093 => 'ἥι', + 8094 => 'ἦι', + 8095 => 'ἧι', + 8096 => 'ὠι', + 8097 => 'ὡι', + 8098 => 'ὢι', + 8099 => 'ὣι', + 8100 => 'ὤι', + 8101 => 'ὥι', + 8102 => 'ὦι', + 8103 => 'ὧι', + 8104 => 'ὠι', + 8105 => 'ὡι', + 8106 => 'ὢι', + 8107 => 'ὣι', + 8108 => 'ὤι', + 8109 => 'ὥι', + 8110 => 'ὦι', + 8111 => 'ὧι', + 8114 => 'ὰι', + 8115 => 'αι', + 8116 => 'άι', + 8119 => 'ᾶι', + 8120 => 'ᾰ', + 8121 => 'ᾱ', + 8122 => 'ὰ', + 8123 => 'ά', + 8124 => 'αι', + 8126 => 'ι', + 8130 => 'ὴι', + 8131 => 'ηι', + 8132 => 'ήι', + 8135 => 'ῆι', + 8136 => 'ὲ', + 8137 => 'έ', + 8138 => 'ὴ', + 8139 => 'ή', + 8140 => 'ηι', + 8147 => 'ΐ', + 8152 => 'ῐ', + 8153 => 'ῑ', + 8154 => 'ὶ', + 8155 => 'ί', + 8163 => 'ΰ', + 8168 => 'ῠ', + 8169 => 'ῡ', + 8170 => 'ὺ', + 8171 => 'ύ', + 8172 => 'ῥ', + 8178 => 'ὼι', + 8179 => 'ωι', + 8180 => 'ώι', + 8183 => 'ῶι', + 8184 => 'ὸ', + 8185 => 'ό', + 8186 => 'ὼ', + 8187 => 'ώ', + 8188 => 'ωι', + 8209 => '‐', + 8243 => '′′', + 8244 => '′′′', + 8246 => '‵‵', + 8247 => '‵‵‵', + 8279 => '′′′′', + 8304 => '0', + 8305 => 'i', + 8308 => '4', + 8309 => '5', + 8310 => '6', + 8311 => '7', + 8312 => '8', + 8313 => '9', + 8315 => '−', + 8319 => 'n', + 8320 => '0', + 8321 => '1', + 8322 => '2', + 8323 => '3', + 8324 => '4', + 8325 => '5', + 8326 => '6', + 8327 => '7', + 8328 => '8', + 8329 => '9', + 8331 => '−', + 8336 => 'a', + 8337 => 'e', + 8338 => 'o', + 8339 => 'x', + 8340 => 'ə', + 8341 => 'h', + 8342 => 'k', + 8343 => 'l', + 8344 => 'm', + 8345 => 'n', + 8346 => 'p', + 8347 => 's', + 8348 => 't', + 8360 => 'rs', + 8450 => 'c', + 8451 => '°c', + 8455 => 'ɛ', + 8457 => '°f', + 8458 => 'g', + 8459 => 'h', + 8460 => 'h', + 8461 => 'h', + 8462 => 'h', + 8463 => 'ħ', + 8464 => 'i', + 8465 => 'i', + 8466 => 'l', + 8467 => 'l', + 8469 => 'n', + 8470 => 'no', + 8473 => 'p', + 8474 => 'q', + 8475 => 'r', + 8476 => 'r', + 8477 => 'r', + 8480 => 'sm', + 8481 => 'tel', + 8482 => 'tm', + 8484 => 'z', + 8486 => 'ω', + 8488 => 'z', + 8490 => 'k', + 8491 => 'å', + 8492 => 'b', + 8493 => 'c', + 8495 => 'e', + 8496 => 'e', + 8497 => 'f', + 8499 => 'm', + 8500 => 'o', + 8501 => 'א', + 8502 => 'ב', + 8503 => 'ג', + 8504 => 'ד', + 8505 => 'i', + 8507 => 'fax', + 8508 => 'π', + 8509 => 'γ', + 8510 => 'γ', + 8511 => 'π', + 8512 => '∑', + 8517 => 'd', + 8518 => 'd', + 8519 => 'e', + 8520 => 'i', + 8521 => 'j', + 8528 => '1⁄7', + 8529 => '1⁄9', + 8530 => '1⁄10', + 8531 => '1⁄3', + 8532 => '2⁄3', + 8533 => '1⁄5', + 8534 => '2⁄5', + 8535 => '3⁄5', + 8536 => '4⁄5', + 8537 => '1⁄6', + 8538 => '5⁄6', + 8539 => '1⁄8', + 8540 => '3⁄8', + 8541 => '5⁄8', + 8542 => '7⁄8', + 8543 => '1⁄', + 8544 => 'i', + 8545 => 'ii', + 8546 => 'iii', + 8547 => 'iv', + 8548 => 'v', + 8549 => 'vi', + 8550 => 'vii', + 8551 => 'viii', + 8552 => 'ix', + 8553 => 'x', + 8554 => 'xi', + 8555 => 'xii', + 8556 => 'l', + 8557 => 'c', + 8558 => 'd', + 8559 => 'm', + 8560 => 'i', + 8561 => 'ii', + 8562 => 'iii', + 8563 => 'iv', + 8564 => 'v', + 8565 => 'vi', + 8566 => 'vii', + 8567 => 'viii', + 8568 => 'ix', + 8569 => 'x', + 8570 => 'xi', + 8571 => 'xii', + 8572 => 'l', + 8573 => 'c', + 8574 => 'd', + 8575 => 'm', + 8585 => '0⁄3', + 8748 => '∫∫', + 8749 => '∫∫∫', + 8751 => '∮∮', + 8752 => '∮∮∮', + 9001 => '〈', + 9002 => '〉', + 9312 => '1', + 9313 => '2', + 9314 => '3', + 9315 => '4', + 9316 => '5', + 9317 => '6', + 9318 => '7', + 9319 => '8', + 9320 => '9', + 9321 => '10', + 9322 => '11', + 9323 => '12', + 9324 => '13', + 9325 => '14', + 9326 => '15', + 9327 => '16', + 9328 => '17', + 9329 => '18', + 9330 => '19', + 9331 => '20', + 9398 => 'a', + 9399 => 'b', + 9400 => 'c', + 9401 => 'd', + 9402 => 'e', + 9403 => 'f', + 9404 => 'g', + 9405 => 'h', + 9406 => 'i', + 9407 => 'j', + 9408 => 'k', + 9409 => 'l', + 9410 => 'm', + 9411 => 'n', + 9412 => 'o', + 9413 => 'p', + 9414 => 'q', + 9415 => 'r', + 9416 => 's', + 9417 => 't', + 9418 => 'u', + 9419 => 'v', + 9420 => 'w', + 9421 => 'x', + 9422 => 'y', + 9423 => 'z', + 9424 => 'a', + 9425 => 'b', + 9426 => 'c', + 9427 => 'd', + 9428 => 'e', + 9429 => 'f', + 9430 => 'g', + 9431 => 'h', + 9432 => 'i', + 9433 => 'j', + 9434 => 'k', + 9435 => 'l', + 9436 => 'm', + 9437 => 'n', + 9438 => 'o', + 9439 => 'p', + 9440 => 'q', + 9441 => 'r', + 9442 => 's', + 9443 => 't', + 9444 => 'u', + 9445 => 'v', + 9446 => 'w', + 9447 => 'x', + 9448 => 'y', + 9449 => 'z', + 9450 => '0', + 10764 => '∫∫∫∫', + 10972 => '⫝̸', + 11264 => 'ⰰ', + 11265 => 'ⰱ', + 11266 => 'ⰲ', + 11267 => 'ⰳ', + 11268 => 'ⰴ', + 11269 => 'ⰵ', + 11270 => 'ⰶ', + 11271 => 'ⰷ', + 11272 => 'ⰸ', + 11273 => 'ⰹ', + 11274 => 'ⰺ', + 11275 => 'ⰻ', + 11276 => 'ⰼ', + 11277 => 'ⰽ', + 11278 => 'ⰾ', + 11279 => 'ⰿ', + 11280 => 'ⱀ', + 11281 => 'ⱁ', + 11282 => 'ⱂ', + 11283 => 'ⱃ', + 11284 => 'ⱄ', + 11285 => 'ⱅ', + 11286 => 'ⱆ', + 11287 => 'ⱇ', + 11288 => 'ⱈ', + 11289 => 'ⱉ', + 11290 => 'ⱊ', + 11291 => 'ⱋ', + 11292 => 'ⱌ', + 11293 => 'ⱍ', + 11294 => 'ⱎ', + 11295 => 'ⱏ', + 11296 => 'ⱐ', + 11297 => 'ⱑ', + 11298 => 'ⱒ', + 11299 => 'ⱓ', + 11300 => 'ⱔ', + 11301 => 'ⱕ', + 11302 => 'ⱖ', + 11303 => 'ⱗ', + 11304 => 'ⱘ', + 11305 => 'ⱙ', + 11306 => 'ⱚ', + 11307 => 'ⱛ', + 11308 => 'ⱜ', + 11309 => 'ⱝ', + 11310 => 'ⱞ', + 11360 => 'ⱡ', + 11362 => 'ɫ', + 11363 => 'ᵽ', + 11364 => 'ɽ', + 11367 => 'ⱨ', + 11369 => 'ⱪ', + 11371 => 'ⱬ', + 11373 => 'ɑ', + 11374 => 'ɱ', + 11375 => 'ɐ', + 11376 => 'ɒ', + 11378 => 'ⱳ', + 11381 => 'ⱶ', + 11388 => 'j', + 11389 => 'v', + 11390 => 'ȿ', + 11391 => 'ɀ', + 11392 => 'ⲁ', + 11394 => 'ⲃ', + 11396 => 'ⲅ', + 11398 => 'ⲇ', + 11400 => 'ⲉ', + 11402 => 'ⲋ', + 11404 => 'ⲍ', + 11406 => 'ⲏ', + 11408 => 'ⲑ', + 11410 => 'ⲓ', + 11412 => 'ⲕ', + 11414 => 'ⲗ', + 11416 => 'ⲙ', + 11418 => 'ⲛ', + 11420 => 'ⲝ', + 11422 => 'ⲟ', + 11424 => 'ⲡ', + 11426 => 'ⲣ', + 11428 => 'ⲥ', + 11430 => 'ⲧ', + 11432 => 'ⲩ', + 11434 => 'ⲫ', + 11436 => 'ⲭ', + 11438 => 'ⲯ', + 11440 => 'ⲱ', + 11442 => 'ⲳ', + 11444 => 'ⲵ', + 11446 => 'ⲷ', + 11448 => 'ⲹ', + 11450 => 'ⲻ', + 11452 => 'ⲽ', + 11454 => 'ⲿ', + 11456 => 'ⳁ', + 11458 => 'ⳃ', + 11460 => 'ⳅ', + 11462 => 'ⳇ', + 11464 => 'ⳉ', + 11466 => 'ⳋ', + 11468 => 'ⳍ', + 11470 => 'ⳏ', + 11472 => 'ⳑ', + 11474 => 'ⳓ', + 11476 => 'ⳕ', + 11478 => 'ⳗ', + 11480 => 'ⳙ', + 11482 => 'ⳛ', + 11484 => 'ⳝ', + 11486 => 'ⳟ', + 11488 => 'ⳡ', + 11490 => 'ⳣ', + 11499 => 'ⳬ', + 11501 => 'ⳮ', + 11506 => 'ⳳ', + 11631 => 'ⵡ', + 11935 => '母', + 12019 => '龟', + 12032 => '一', + 12033 => '丨', + 12034 => '丶', + 12035 => '丿', + 12036 => '乙', + 12037 => '亅', + 12038 => '二', + 12039 => '亠', + 12040 => '人', + 12041 => '儿', + 12042 => '入', + 12043 => '八', + 12044 => '冂', + 12045 => '冖', + 12046 => '冫', + 12047 => '几', + 12048 => '凵', + 12049 => '刀', + 12050 => '力', + 12051 => '勹', + 12052 => '匕', + 12053 => '匚', + 12054 => '匸', + 12055 => '十', + 12056 => '卜', + 12057 => '卩', + 12058 => '厂', + 12059 => '厶', + 12060 => '又', + 12061 => '口', + 12062 => '囗', + 12063 => '土', + 12064 => '士', + 12065 => '夂', + 12066 => '夊', + 12067 => '夕', + 12068 => '大', + 12069 => '女', + 12070 => '子', + 12071 => '宀', + 12072 => '寸', + 12073 => '小', + 12074 => '尢', + 12075 => '尸', + 12076 => '屮', + 12077 => '山', + 12078 => '巛', + 12079 => '工', + 12080 => '己', + 12081 => '巾', + 12082 => '干', + 12083 => '幺', + 12084 => '广', + 12085 => '廴', + 12086 => '廾', + 12087 => '弋', + 12088 => '弓', + 12089 => '彐', + 12090 => '彡', + 12091 => '彳', + 12092 => '心', + 12093 => '戈', + 12094 => '戶', + 12095 => '手', + 12096 => '支', + 12097 => '攴', + 12098 => '文', + 12099 => '斗', + 12100 => '斤', + 12101 => '方', + 12102 => '无', + 12103 => '日', + 12104 => '曰', + 12105 => '月', + 12106 => '木', + 12107 => '欠', + 12108 => '止', + 12109 => '歹', + 12110 => '殳', + 12111 => '毋', + 12112 => '比', + 12113 => '毛', + 12114 => '氏', + 12115 => '气', + 12116 => '水', + 12117 => '火', + 12118 => '爪', + 12119 => '父', + 12120 => '爻', + 12121 => '爿', + 12122 => '片', + 12123 => '牙', + 12124 => '牛', + 12125 => '犬', + 12126 => '玄', + 12127 => '玉', + 12128 => '瓜', + 12129 => '瓦', + 12130 => '甘', + 12131 => '生', + 12132 => '用', + 12133 => '田', + 12134 => '疋', + 12135 => '疒', + 12136 => '癶', + 12137 => '白', + 12138 => '皮', + 12139 => '皿', + 12140 => '目', + 12141 => '矛', + 12142 => '矢', + 12143 => '石', + 12144 => '示', + 12145 => '禸', + 12146 => '禾', + 12147 => '穴', + 12148 => '立', + 12149 => '竹', + 12150 => '米', + 12151 => '糸', + 12152 => '缶', + 12153 => '网', + 12154 => '羊', + 12155 => '羽', + 12156 => '老', + 12157 => '而', + 12158 => '耒', + 12159 => '耳', + 12160 => '聿', + 12161 => '肉', + 12162 => '臣', + 12163 => '自', + 12164 => '至', + 12165 => '臼', + 12166 => '舌', + 12167 => '舛', + 12168 => '舟', + 12169 => '艮', + 12170 => '色', + 12171 => '艸', + 12172 => '虍', + 12173 => '虫', + 12174 => '血', + 12175 => '行', + 12176 => '衣', + 12177 => '襾', + 12178 => '見', + 12179 => '角', + 12180 => '言', + 12181 => '谷', + 12182 => '豆', + 12183 => '豕', + 12184 => '豸', + 12185 => '貝', + 12186 => '赤', + 12187 => '走', + 12188 => '足', + 12189 => '身', + 12190 => '車', + 12191 => '辛', + 12192 => '辰', + 12193 => '辵', + 12194 => '邑', + 12195 => '酉', + 12196 => '釆', + 12197 => '里', + 12198 => '金', + 12199 => '長', + 12200 => '門', + 12201 => '阜', + 12202 => '隶', + 12203 => '隹', + 12204 => '雨', + 12205 => '靑', + 12206 => '非', + 12207 => '面', + 12208 => '革', + 12209 => '韋', + 12210 => '韭', + 12211 => '音', + 12212 => '頁', + 12213 => '風', + 12214 => '飛', + 12215 => '食', + 12216 => '首', + 12217 => '香', + 12218 => '馬', + 12219 => '骨', + 12220 => '高', + 12221 => '髟', + 12222 => '鬥', + 12223 => '鬯', + 12224 => '鬲', + 12225 => '鬼', + 12226 => '魚', + 12227 => '鳥', + 12228 => '鹵', + 12229 => '鹿', + 12230 => '麥', + 12231 => '麻', + 12232 => '黃', + 12233 => '黍', + 12234 => '黑', + 12235 => '黹', + 12236 => '黽', + 12237 => '鼎', + 12238 => '鼓', + 12239 => '鼠', + 12240 => '鼻', + 12241 => '齊', + 12242 => '齒', + 12243 => '龍', + 12244 => '龜', + 12245 => '龠', + 12290 => '.', + 12342 => '〒', + 12344 => '十', + 12345 => '卄', + 12346 => '卅', + 12447 => 'より', + 12543 => 'コト', + 12593 => 'ᄀ', + 12594 => 'ᄁ', + 12595 => 'ᆪ', + 12596 => 'ᄂ', + 12597 => 'ᆬ', + 12598 => 'ᆭ', + 12599 => 'ᄃ', + 12600 => 'ᄄ', + 12601 => 'ᄅ', + 12602 => 'ᆰ', + 12603 => 'ᆱ', + 12604 => 'ᆲ', + 12605 => 'ᆳ', + 12606 => 'ᆴ', + 12607 => 'ᆵ', + 12608 => 'ᄚ', + 12609 => 'ᄆ', + 12610 => 'ᄇ', + 12611 => 'ᄈ', + 12612 => 'ᄡ', + 12613 => 'ᄉ', + 12614 => 'ᄊ', + 12615 => 'ᄋ', + 12616 => 'ᄌ', + 12617 => 'ᄍ', + 12618 => 'ᄎ', + 12619 => 'ᄏ', + 12620 => 'ᄐ', + 12621 => 'ᄑ', + 12622 => 'ᄒ', + 12623 => 'ᅡ', + 12624 => 'ᅢ', + 12625 => 'ᅣ', + 12626 => 'ᅤ', + 12627 => 'ᅥ', + 12628 => 'ᅦ', + 12629 => 'ᅧ', + 12630 => 'ᅨ', + 12631 => 'ᅩ', + 12632 => 'ᅪ', + 12633 => 'ᅫ', + 12634 => 'ᅬ', + 12635 => 'ᅭ', + 12636 => 'ᅮ', + 12637 => 'ᅯ', + 12638 => 'ᅰ', + 12639 => 'ᅱ', + 12640 => 'ᅲ', + 12641 => 'ᅳ', + 12642 => 'ᅴ', + 12643 => 'ᅵ', + 12645 => 'ᄔ', + 12646 => 'ᄕ', + 12647 => 'ᇇ', + 12648 => 'ᇈ', + 12649 => 'ᇌ', + 12650 => 'ᇎ', + 12651 => 'ᇓ', + 12652 => 'ᇗ', + 12653 => 'ᇙ', + 12654 => 'ᄜ', + 12655 => 'ᇝ', + 12656 => 'ᇟ', + 12657 => 'ᄝ', + 12658 => 'ᄞ', + 12659 => 'ᄠ', + 12660 => 'ᄢ', + 12661 => 'ᄣ', + 12662 => 'ᄧ', + 12663 => 'ᄩ', + 12664 => 'ᄫ', + 12665 => 'ᄬ', + 12666 => 'ᄭ', + 12667 => 'ᄮ', + 12668 => 'ᄯ', + 12669 => 'ᄲ', + 12670 => 'ᄶ', + 12671 => 'ᅀ', + 12672 => 'ᅇ', + 12673 => 'ᅌ', + 12674 => 'ᇱ', + 12675 => 'ᇲ', + 12676 => 'ᅗ', + 12677 => 'ᅘ', + 12678 => 'ᅙ', + 12679 => 'ᆄ', + 12680 => 'ᆅ', + 12681 => 'ᆈ', + 12682 => 'ᆑ', + 12683 => 'ᆒ', + 12684 => 'ᆔ', + 12685 => 'ᆞ', + 12686 => 'ᆡ', + 12690 => '一', + 12691 => '二', + 12692 => '三', + 12693 => '四', + 12694 => '上', + 12695 => '中', + 12696 => '下', + 12697 => '甲', + 12698 => '乙', + 12699 => '丙', + 12700 => '丁', + 12701 => '天', + 12702 => '地', + 12703 => '人', + 12868 => '問', + 12869 => '幼', + 12870 => '文', + 12871 => '箏', + 12880 => 'pte', + 12881 => '21', + 12882 => '22', + 12883 => '23', + 12884 => '24', + 12885 => '25', + 12886 => '26', + 12887 => '27', + 12888 => '28', + 12889 => '29', + 12890 => '30', + 12891 => '31', + 12892 => '32', + 12893 => '33', + 12894 => '34', + 12895 => '35', + 12896 => 'ᄀ', + 12897 => 'ᄂ', + 12898 => 'ᄃ', + 12899 => 'ᄅ', + 12900 => 'ᄆ', + 12901 => 'ᄇ', + 12902 => 'ᄉ', + 12903 => 'ᄋ', + 12904 => 'ᄌ', + 12905 => 'ᄎ', + 12906 => 'ᄏ', + 12907 => 'ᄐ', + 12908 => 'ᄑ', + 12909 => 'ᄒ', + 12910 => '가', + 12911 => '나', + 12912 => '다', + 12913 => '라', + 12914 => '마', + 12915 => '바', + 12916 => '사', + 12917 => '아', + 12918 => '자', + 12919 => '차', + 12920 => '카', + 12921 => '타', + 12922 => '파', + 12923 => '하', + 12924 => '참고', + 12925 => '주의', + 12926 => '우', + 12928 => '一', + 12929 => '二', + 12930 => '三', + 12931 => '四', + 12932 => '五', + 12933 => '六', + 12934 => '七', + 12935 => '八', + 12936 => '九', + 12937 => '十', + 12938 => '月', + 12939 => '火', + 12940 => '水', + 12941 => '木', + 12942 => '金', + 12943 => '土', + 12944 => '日', + 12945 => '株', + 12946 => '有', + 12947 => '社', + 12948 => '名', + 12949 => '特', + 12950 => '財', + 12951 => '祝', + 12952 => '労', + 12953 => '秘', + 12954 => '男', + 12955 => '女', + 12956 => '適', + 12957 => '優', + 12958 => '印', + 12959 => '注', + 12960 => '項', + 12961 => '休', + 12962 => '写', + 12963 => '正', + 12964 => '上', + 12965 => '中', + 12966 => '下', + 12967 => '左', + 12968 => '右', + 12969 => '医', + 12970 => '宗', + 12971 => '学', + 12972 => '監', + 12973 => '企', + 12974 => '資', + 12975 => '協', + 12976 => '夜', + 12977 => '36', + 12978 => '37', + 12979 => '38', + 12980 => '39', + 12981 => '40', + 12982 => '41', + 12983 => '42', + 12984 => '43', + 12985 => '44', + 12986 => '45', + 12987 => '46', + 12988 => '47', + 12989 => '48', + 12990 => '49', + 12991 => '50', + 12992 => '1月', + 12993 => '2月', + 12994 => '3月', + 12995 => '4月', + 12996 => '5月', + 12997 => '6月', + 12998 => '7月', + 12999 => '8月', + 13000 => '9月', + 13001 => '10月', + 13002 => '11月', + 13003 => '12月', + 13004 => 'hg', + 13005 => 'erg', + 13006 => 'ev', + 13007 => 'ltd', + 13008 => 'ア', + 13009 => 'イ', + 13010 => 'ウ', + 13011 => 'エ', + 13012 => 'オ', + 13013 => 'カ', + 13014 => 'キ', + 13015 => 'ク', + 13016 => 'ケ', + 13017 => 'コ', + 13018 => 'サ', + 13019 => 'シ', + 13020 => 'ス', + 13021 => 'セ', + 13022 => 'ソ', + 13023 => 'タ', + 13024 => 'チ', + 13025 => 'ツ', + 13026 => 'テ', + 13027 => 'ト', + 13028 => 'ナ', + 13029 => 'ニ', + 13030 => 'ヌ', + 13031 => 'ネ', + 13032 => 'ノ', + 13033 => 'ハ', + 13034 => 'ヒ', + 13035 => 'フ', + 13036 => 'ヘ', + 13037 => 'ホ', + 13038 => 'マ', + 13039 => 'ミ', + 13040 => 'ム', + 13041 => 'メ', + 13042 => 'モ', + 13043 => 'ヤ', + 13044 => 'ユ', + 13045 => 'ヨ', + 13046 => 'ラ', + 13047 => 'リ', + 13048 => 'ル', + 13049 => 'レ', + 13050 => 'ロ', + 13051 => 'ワ', + 13052 => 'ヰ', + 13053 => 'ヱ', + 13054 => 'ヲ', + 13055 => '令和', + 13056 => 'アパート', + 13057 => 'アルファ', + 13058 => 'アンペア', + 13059 => 'アール', + 13060 => 'イニング', + 13061 => 'インチ', + 13062 => 'ウォン', + 13063 => 'エスクード', + 13064 => 'エーカー', + 13065 => 'オンス', + 13066 => 'オーム', + 13067 => 'カイリ', + 13068 => 'カラット', + 13069 => 'カロリー', + 13070 => 'ガロン', + 13071 => 'ガンマ', + 13072 => 'ギガ', + 13073 => 'ギニー', + 13074 => 'キュリー', + 13075 => 'ギルダー', + 13076 => 'キロ', + 13077 => 'キログラム', + 13078 => 'キロメートル', + 13079 => 'キロワット', + 13080 => 'グラム', + 13081 => 'グラムトン', + 13082 => 'クルゼイロ', + 13083 => 'クローネ', + 13084 => 'ケース', + 13085 => 'コルナ', + 13086 => 'コーポ', + 13087 => 'サイクル', + 13088 => 'サンチーム', + 13089 => 'シリング', + 13090 => 'センチ', + 13091 => 'セント', + 13092 => 'ダース', + 13093 => 'デシ', + 13094 => 'ドル', + 13095 => 'トン', + 13096 => 'ナノ', + 13097 => 'ノット', + 13098 => 'ハイツ', + 13099 => 'パーセント', + 13100 => 'パーツ', + 13101 => 'バーレル', + 13102 => 'ピアストル', + 13103 => 'ピクル', + 13104 => 'ピコ', + 13105 => 'ビル', + 13106 => 'ファラッド', + 13107 => 'フィート', + 13108 => 'ブッシェル', + 13109 => 'フラン', + 13110 => 'ヘクタール', + 13111 => 'ペソ', + 13112 => 'ペニヒ', + 13113 => 'ヘルツ', + 13114 => 'ペンス', + 13115 => 'ページ', + 13116 => 'ベータ', + 13117 => 'ポイント', + 13118 => 'ボルト', + 13119 => 'ホン', + 13120 => 'ポンド', + 13121 => 'ホール', + 13122 => 'ホーン', + 13123 => 'マイクロ', + 13124 => 'マイル', + 13125 => 'マッハ', + 13126 => 'マルク', + 13127 => 'マンション', + 13128 => 'ミクロン', + 13129 => 'ミリ', + 13130 => 'ミリバール', + 13131 => 'メガ', + 13132 => 'メガトン', + 13133 => 'メートル', + 13134 => 'ヤード', + 13135 => 'ヤール', + 13136 => 'ユアン', + 13137 => 'リットル', + 13138 => 'リラ', + 13139 => 'ルピー', + 13140 => 'ルーブル', + 13141 => 'レム', + 13142 => 'レントゲン', + 13143 => 'ワット', + 13144 => '0点', + 13145 => '1点', + 13146 => '2点', + 13147 => '3点', + 13148 => '4点', + 13149 => '5点', + 13150 => '6点', + 13151 => '7点', + 13152 => '8点', + 13153 => '9点', + 13154 => '10点', + 13155 => '11点', + 13156 => '12点', + 13157 => '13点', + 13158 => '14点', + 13159 => '15点', + 13160 => '16点', + 13161 => '17点', + 13162 => '18点', + 13163 => '19点', + 13164 => '20点', + 13165 => '21点', + 13166 => '22点', + 13167 => '23点', + 13168 => '24点', + 13169 => 'hpa', + 13170 => 'da', + 13171 => 'au', + 13172 => 'bar', + 13173 => 'ov', + 13174 => 'pc', + 13175 => 'dm', + 13176 => 'dm2', + 13177 => 'dm3', + 13178 => 'iu', + 13179 => '平成', + 13180 => '昭和', + 13181 => '大正', + 13182 => '明治', + 13183 => '株式会社', + 13184 => 'pa', + 13185 => 'na', + 13186 => 'μa', + 13187 => 'ma', + 13188 => 'ka', + 13189 => 'kb', + 13190 => 'mb', + 13191 => 'gb', + 13192 => 'cal', + 13193 => 'kcal', + 13194 => 'pf', + 13195 => 'nf', + 13196 => 'μf', + 13197 => 'μg', + 13198 => 'mg', + 13199 => 'kg', + 13200 => 'hz', + 13201 => 'khz', + 13202 => 'mhz', + 13203 => 'ghz', + 13204 => 'thz', + 13205 => 'μl', + 13206 => 'ml', + 13207 => 'dl', + 13208 => 'kl', + 13209 => 'fm', + 13210 => 'nm', + 13211 => 'μm', + 13212 => 'mm', + 13213 => 'cm', + 13214 => 'km', + 13215 => 'mm2', + 13216 => 'cm2', + 13217 => 'm2', + 13218 => 'km2', + 13219 => 'mm3', + 13220 => 'cm3', + 13221 => 'm3', + 13222 => 'km3', + 13223 => 'm∕s', + 13224 => 'm∕s2', + 13225 => 'pa', + 13226 => 'kpa', + 13227 => 'mpa', + 13228 => 'gpa', + 13229 => 'rad', + 13230 => 'rad∕s', + 13231 => 'rad∕s2', + 13232 => 'ps', + 13233 => 'ns', + 13234 => 'μs', + 13235 => 'ms', + 13236 => 'pv', + 13237 => 'nv', + 13238 => 'μv', + 13239 => 'mv', + 13240 => 'kv', + 13241 => 'mv', + 13242 => 'pw', + 13243 => 'nw', + 13244 => 'μw', + 13245 => 'mw', + 13246 => 'kw', + 13247 => 'mw', + 13248 => 'kω', + 13249 => 'mω', + 13251 => 'bq', + 13252 => 'cc', + 13253 => 'cd', + 13254 => 'c∕kg', + 13256 => 'db', + 13257 => 'gy', + 13258 => 'ha', + 13259 => 'hp', + 13260 => 'in', + 13261 => 'kk', + 13262 => 'km', + 13263 => 'kt', + 13264 => 'lm', + 13265 => 'ln', + 13266 => 'log', + 13267 => 'lx', + 13268 => 'mb', + 13269 => 'mil', + 13270 => 'mol', + 13271 => 'ph', + 13273 => 'ppm', + 13274 => 'pr', + 13275 => 'sr', + 13276 => 'sv', + 13277 => 'wb', + 13278 => 'v∕m', + 13279 => 'a∕m', + 13280 => '1日', + 13281 => '2日', + 13282 => '3日', + 13283 => '4日', + 13284 => '5日', + 13285 => '6日', + 13286 => '7日', + 13287 => '8日', + 13288 => '9日', + 13289 => '10日', + 13290 => '11日', + 13291 => '12日', + 13292 => '13日', + 13293 => '14日', + 13294 => '15日', + 13295 => '16日', + 13296 => '17日', + 13297 => '18日', + 13298 => '19日', + 13299 => '20日', + 13300 => '21日', + 13301 => '22日', + 13302 => '23日', + 13303 => '24日', + 13304 => '25日', + 13305 => '26日', + 13306 => '27日', + 13307 => '28日', + 13308 => '29日', + 13309 => '30日', + 13310 => '31日', + 13311 => 'gal', + 42560 => 'ꙁ', + 42562 => 'ꙃ', + 42564 => 'ꙅ', + 42566 => 'ꙇ', + 42568 => 'ꙉ', + 42570 => 'ꙋ', + 42572 => 'ꙍ', + 42574 => 'ꙏ', + 42576 => 'ꙑ', + 42578 => 'ꙓ', + 42580 => 'ꙕ', + 42582 => 'ꙗ', + 42584 => 'ꙙ', + 42586 => 'ꙛ', + 42588 => 'ꙝ', + 42590 => 'ꙟ', + 42592 => 'ꙡ', + 42594 => 'ꙣ', + 42596 => 'ꙥ', + 42598 => 'ꙧ', + 42600 => 'ꙩ', + 42602 => 'ꙫ', + 42604 => 'ꙭ', + 42624 => 'ꚁ', + 42626 => 'ꚃ', + 42628 => 'ꚅ', + 42630 => 'ꚇ', + 42632 => 'ꚉ', + 42634 => 'ꚋ', + 42636 => 'ꚍ', + 42638 => 'ꚏ', + 42640 => 'ꚑ', + 42642 => 'ꚓ', + 42644 => 'ꚕ', + 42646 => 'ꚗ', + 42648 => 'ꚙ', + 42650 => 'ꚛ', + 42652 => 'ъ', + 42653 => 'ь', + 42786 => 'ꜣ', + 42788 => 'ꜥ', + 42790 => 'ꜧ', + 42792 => 'ꜩ', + 42794 => 'ꜫ', + 42796 => 'ꜭ', + 42798 => 'ꜯ', + 42802 => 'ꜳ', + 42804 => 'ꜵ', + 42806 => 'ꜷ', + 42808 => 'ꜹ', + 42810 => 'ꜻ', + 42812 => 'ꜽ', + 42814 => 'ꜿ', + 42816 => 'ꝁ', + 42818 => 'ꝃ', + 42820 => 'ꝅ', + 42822 => 'ꝇ', + 42824 => 'ꝉ', + 42826 => 'ꝋ', + 42828 => 'ꝍ', + 42830 => 'ꝏ', + 42832 => 'ꝑ', + 42834 => 'ꝓ', + 42836 => 'ꝕ', + 42838 => 'ꝗ', + 42840 => 'ꝙ', + 42842 => 'ꝛ', + 42844 => 'ꝝ', + 42846 => 'ꝟ', + 42848 => 'ꝡ', + 42850 => 'ꝣ', + 42852 => 'ꝥ', + 42854 => 'ꝧ', + 42856 => 'ꝩ', + 42858 => 'ꝫ', + 42860 => 'ꝭ', + 42862 => 'ꝯ', + 42864 => 'ꝯ', + 42873 => 'ꝺ', + 42875 => 'ꝼ', + 42877 => 'ᵹ', + 42878 => 'ꝿ', + 42880 => 'ꞁ', + 42882 => 'ꞃ', + 42884 => 'ꞅ', + 42886 => 'ꞇ', + 42891 => 'ꞌ', + 42893 => 'ɥ', + 42896 => 'ꞑ', + 42898 => 'ꞓ', + 42902 => 'ꞗ', + 42904 => 'ꞙ', + 42906 => 'ꞛ', + 42908 => 'ꞝ', + 42910 => 'ꞟ', + 42912 => 'ꞡ', + 42914 => 'ꞣ', + 42916 => 'ꞥ', + 42918 => 'ꞧ', + 42920 => 'ꞩ', + 42922 => 'ɦ', + 42923 => 'ɜ', + 42924 => 'ɡ', + 42925 => 'ɬ', + 42926 => 'ɪ', + 42928 => 'ʞ', + 42929 => 'ʇ', + 42930 => 'ʝ', + 42931 => 'ꭓ', + 42932 => 'ꞵ', + 42934 => 'ꞷ', + 42936 => 'ꞹ', + 42938 => 'ꞻ', + 42940 => 'ꞽ', + 42942 => 'ꞿ', + 42946 => 'ꟃ', + 42948 => 'ꞔ', + 42949 => 'ʂ', + 42950 => 'ᶎ', + 42951 => 'ꟈ', + 42953 => 'ꟊ', + 42997 => 'ꟶ', + 43000 => 'ħ', + 43001 => 'œ', + 43868 => 'ꜧ', + 43869 => 'ꬷ', + 43870 => 'ɫ', + 43871 => 'ꭒ', + 43881 => 'ʍ', + 43888 => 'Ꭰ', + 43889 => 'Ꭱ', + 43890 => 'Ꭲ', + 43891 => 'Ꭳ', + 43892 => 'Ꭴ', + 43893 => 'Ꭵ', + 43894 => 'Ꭶ', + 43895 => 'Ꭷ', + 43896 => 'Ꭸ', + 43897 => 'Ꭹ', + 43898 => 'Ꭺ', + 43899 => 'Ꭻ', + 43900 => 'Ꭼ', + 43901 => 'Ꭽ', + 43902 => 'Ꭾ', + 43903 => 'Ꭿ', + 43904 => 'Ꮀ', + 43905 => 'Ꮁ', + 43906 => 'Ꮂ', + 43907 => 'Ꮃ', + 43908 => 'Ꮄ', + 43909 => 'Ꮅ', + 43910 => 'Ꮆ', + 43911 => 'Ꮇ', + 43912 => 'Ꮈ', + 43913 => 'Ꮉ', + 43914 => 'Ꮊ', + 43915 => 'Ꮋ', + 43916 => 'Ꮌ', + 43917 => 'Ꮍ', + 43918 => 'Ꮎ', + 43919 => 'Ꮏ', + 43920 => 'Ꮐ', + 43921 => 'Ꮑ', + 43922 => 'Ꮒ', + 43923 => 'Ꮓ', + 43924 => 'Ꮔ', + 43925 => 'Ꮕ', + 43926 => 'Ꮖ', + 43927 => 'Ꮗ', + 43928 => 'Ꮘ', + 43929 => 'Ꮙ', + 43930 => 'Ꮚ', + 43931 => 'Ꮛ', + 43932 => 'Ꮜ', + 43933 => 'Ꮝ', + 43934 => 'Ꮞ', + 43935 => 'Ꮟ', + 43936 => 'Ꮠ', + 43937 => 'Ꮡ', + 43938 => 'Ꮢ', + 43939 => 'Ꮣ', + 43940 => 'Ꮤ', + 43941 => 'Ꮥ', + 43942 => 'Ꮦ', + 43943 => 'Ꮧ', + 43944 => 'Ꮨ', + 43945 => 'Ꮩ', + 43946 => 'Ꮪ', + 43947 => 'Ꮫ', + 43948 => 'Ꮬ', + 43949 => 'Ꮭ', + 43950 => 'Ꮮ', + 43951 => 'Ꮯ', + 43952 => 'Ꮰ', + 43953 => 'Ꮱ', + 43954 => 'Ꮲ', + 43955 => 'Ꮳ', + 43956 => 'Ꮴ', + 43957 => 'Ꮵ', + 43958 => 'Ꮶ', + 43959 => 'Ꮷ', + 43960 => 'Ꮸ', + 43961 => 'Ꮹ', + 43962 => 'Ꮺ', + 43963 => 'Ꮻ', + 43964 => 'Ꮼ', + 43965 => 'Ꮽ', + 43966 => 'Ꮾ', + 43967 => 'Ꮿ', + 63744 => '豈', + 63745 => '更', + 63746 => '車', + 63747 => '賈', + 63748 => '滑', + 63749 => '串', + 63750 => '句', + 63751 => '龜', + 63752 => '龜', + 63753 => '契', + 63754 => '金', + 63755 => '喇', + 63756 => '奈', + 63757 => '懶', + 63758 => '癩', + 63759 => '羅', + 63760 => '蘿', + 63761 => '螺', + 63762 => '裸', + 63763 => '邏', + 63764 => '樂', + 63765 => '洛', + 63766 => '烙', + 63767 => '珞', + 63768 => '落', + 63769 => '酪', + 63770 => '駱', + 63771 => '亂', + 63772 => '卵', + 63773 => '欄', + 63774 => '爛', + 63775 => '蘭', + 63776 => '鸞', + 63777 => '嵐', + 63778 => '濫', + 63779 => '藍', + 63780 => '襤', + 63781 => '拉', + 63782 => '臘', + 63783 => '蠟', + 63784 => '廊', + 63785 => '朗', + 63786 => '浪', + 63787 => '狼', + 63788 => '郎', + 63789 => '來', + 63790 => '冷', + 63791 => '勞', + 63792 => '擄', + 63793 => '櫓', + 63794 => '爐', + 63795 => '盧', + 63796 => '老', + 63797 => '蘆', + 63798 => '虜', + 63799 => '路', + 63800 => '露', + 63801 => '魯', + 63802 => '鷺', + 63803 => '碌', + 63804 => '祿', + 63805 => '綠', + 63806 => '菉', + 63807 => '錄', + 63808 => '鹿', + 63809 => '論', + 63810 => '壟', + 63811 => '弄', + 63812 => '籠', + 63813 => '聾', + 63814 => '牢', + 63815 => '磊', + 63816 => '賂', + 63817 => '雷', + 63818 => '壘', + 63819 => '屢', + 63820 => '樓', + 63821 => '淚', + 63822 => '漏', + 63823 => '累', + 63824 => '縷', + 63825 => '陋', + 63826 => '勒', + 63827 => '肋', + 63828 => '凜', + 63829 => '凌', + 63830 => '稜', + 63831 => '綾', + 63832 => '菱', + 63833 => '陵', + 63834 => '讀', + 63835 => '拏', + 63836 => '樂', + 63837 => '諾', + 63838 => '丹', + 63839 => '寧', + 63840 => '怒', + 63841 => '率', + 63842 => '異', + 63843 => '北', + 63844 => '磻', + 63845 => '便', + 63846 => '復', + 63847 => '不', + 63848 => '泌', + 63849 => '數', + 63850 => '索', + 63851 => '參', + 63852 => '塞', + 63853 => '省', + 63854 => '葉', + 63855 => '說', + 63856 => '殺', + 63857 => '辰', + 63858 => '沈', + 63859 => '拾', + 63860 => '若', + 63861 => '掠', + 63862 => '略', + 63863 => '亮', + 63864 => '兩', + 63865 => '凉', + 63866 => '梁', + 63867 => '糧', + 63868 => '良', + 63869 => '諒', + 63870 => '量', + 63871 => '勵', + 63872 => '呂', + 63873 => '女', + 63874 => '廬', + 63875 => '旅', + 63876 => '濾', + 63877 => '礪', + 63878 => '閭', + 63879 => '驪', + 63880 => '麗', + 63881 => '黎', + 63882 => '力', + 63883 => '曆', + 63884 => '歷', + 63885 => '轢', + 63886 => '年', + 63887 => '憐', + 63888 => '戀', + 63889 => '撚', + 63890 => '漣', + 63891 => '煉', + 63892 => '璉', + 63893 => '秊', + 63894 => '練', + 63895 => '聯', + 63896 => '輦', + 63897 => '蓮', + 63898 => '連', + 63899 => '鍊', + 63900 => '列', + 63901 => '劣', + 63902 => '咽', + 63903 => '烈', + 63904 => '裂', + 63905 => '說', + 63906 => '廉', + 63907 => '念', + 63908 => '捻', + 63909 => '殮', + 63910 => '簾', + 63911 => '獵', + 63912 => '令', + 63913 => '囹', + 63914 => '寧', + 63915 => '嶺', + 63916 => '怜', + 63917 => '玲', + 63918 => '瑩', + 63919 => '羚', + 63920 => '聆', + 63921 => '鈴', + 63922 => '零', + 63923 => '靈', + 63924 => '領', + 63925 => '例', + 63926 => '禮', + 63927 => '醴', + 63928 => '隸', + 63929 => '惡', + 63930 => '了', + 63931 => '僚', + 63932 => '寮', + 63933 => '尿', + 63934 => '料', + 63935 => '樂', + 63936 => '燎', + 63937 => '療', + 63938 => '蓼', + 63939 => '遼', + 63940 => '龍', + 63941 => '暈', + 63942 => '阮', + 63943 => '劉', + 63944 => '杻', + 63945 => '柳', + 63946 => '流', + 63947 => '溜', + 63948 => '琉', + 63949 => '留', + 63950 => '硫', + 63951 => '紐', + 63952 => '類', + 63953 => '六', + 63954 => '戮', + 63955 => '陸', + 63956 => '倫', + 63957 => '崙', + 63958 => '淪', + 63959 => '輪', + 63960 => '律', + 63961 => '慄', + 63962 => '栗', + 63963 => '率', + 63964 => '隆', + 63965 => '利', + 63966 => '吏', + 63967 => '履', + 63968 => '易', + 63969 => '李', + 63970 => '梨', + 63971 => '泥', + 63972 => '理', + 63973 => '痢', + 63974 => '罹', + 63975 => '裏', + 63976 => '裡', + 63977 => '里', + 63978 => '離', + 63979 => '匿', + 63980 => '溺', + 63981 => '吝', + 63982 => '燐', + 63983 => '璘', + 63984 => '藺', + 63985 => '隣', + 63986 => '鱗', + 63987 => '麟', + 63988 => '林', + 63989 => '淋', + 63990 => '臨', + 63991 => '立', + 63992 => '笠', + 63993 => '粒', + 63994 => '狀', + 63995 => '炙', + 63996 => '識', + 63997 => '什', + 63998 => '茶', + 63999 => '刺', + 64000 => '切', + 64001 => '度', + 64002 => '拓', + 64003 => '糖', + 64004 => '宅', + 64005 => '洞', + 64006 => '暴', + 64007 => '輻', + 64008 => '行', + 64009 => '降', + 64010 => '見', + 64011 => '廓', + 64012 => '兀', + 64013 => '嗀', + 64016 => '塚', + 64018 => '晴', + 64021 => '凞', + 64022 => '猪', + 64023 => '益', + 64024 => '礼', + 64025 => '神', + 64026 => '祥', + 64027 => '福', + 64028 => '靖', + 64029 => '精', + 64030 => '羽', + 64032 => '蘒', + 64034 => '諸', + 64037 => '逸', + 64038 => '都', + 64042 => '飯', + 64043 => '飼', + 64044 => '館', + 64045 => '鶴', + 64046 => '郞', + 64047 => '隷', + 64048 => '侮', + 64049 => '僧', + 64050 => '免', + 64051 => '勉', + 64052 => '勤', + 64053 => '卑', + 64054 => '喝', + 64055 => '嘆', + 64056 => '器', + 64057 => '塀', + 64058 => '墨', + 64059 => '層', + 64060 => '屮', + 64061 => '悔', + 64062 => '慨', + 64063 => '憎', + 64064 => '懲', + 64065 => '敏', + 64066 => '既', + 64067 => '暑', + 64068 => '梅', + 64069 => '海', + 64070 => '渚', + 64071 => '漢', + 64072 => '煮', + 64073 => '爫', + 64074 => '琢', + 64075 => '碑', + 64076 => '社', + 64077 => '祉', + 64078 => '祈', + 64079 => '祐', + 64080 => '祖', + 64081 => '祝', + 64082 => '禍', + 64083 => '禎', + 64084 => '穀', + 64085 => '突', + 64086 => '節', + 64087 => '練', + 64088 => '縉', + 64089 => '繁', + 64090 => '署', + 64091 => '者', + 64092 => '臭', + 64093 => '艹', + 64094 => '艹', + 64095 => '著', + 64096 => '褐', + 64097 => '視', + 64098 => '謁', + 64099 => '謹', + 64100 => '賓', + 64101 => '贈', + 64102 => '辶', + 64103 => '逸', + 64104 => '難', + 64105 => '響', + 64106 => '頻', + 64107 => '恵', + 64108 => '𤋮', + 64109 => '舘', + 64112 => '並', + 64113 => '况', + 64114 => '全', + 64115 => '侀', + 64116 => '充', + 64117 => '冀', + 64118 => '勇', + 64119 => '勺', + 64120 => '喝', + 64121 => '啕', + 64122 => '喙', + 64123 => '嗢', + 64124 => '塚', + 64125 => '墳', + 64126 => '奄', + 64127 => '奔', + 64128 => '婢', + 64129 => '嬨', + 64130 => '廒', + 64131 => '廙', + 64132 => '彩', + 64133 => '徭', + 64134 => '惘', + 64135 => '慎', + 64136 => '愈', + 64137 => '憎', + 64138 => '慠', + 64139 => '懲', + 64140 => '戴', + 64141 => '揄', + 64142 => '搜', + 64143 => '摒', + 64144 => '敖', + 64145 => '晴', + 64146 => '朗', + 64147 => '望', + 64148 => '杖', + 64149 => '歹', + 64150 => '殺', + 64151 => '流', + 64152 => '滛', + 64153 => '滋', + 64154 => '漢', + 64155 => '瀞', + 64156 => '煮', + 64157 => '瞧', + 64158 => '爵', + 64159 => '犯', + 64160 => '猪', + 64161 => '瑱', + 64162 => '甆', + 64163 => '画', + 64164 => '瘝', + 64165 => '瘟', + 64166 => '益', + 64167 => '盛', + 64168 => '直', + 64169 => '睊', + 64170 => '着', + 64171 => '磌', + 64172 => '窱', + 64173 => '節', + 64174 => '类', + 64175 => '絛', + 64176 => '練', + 64177 => '缾', + 64178 => '者', + 64179 => '荒', + 64180 => '華', + 64181 => '蝹', + 64182 => '襁', + 64183 => '覆', + 64184 => '視', + 64185 => '調', + 64186 => '諸', + 64187 => '請', + 64188 => '謁', + 64189 => '諾', + 64190 => '諭', + 64191 => '謹', + 64192 => '變', + 64193 => '贈', + 64194 => '輸', + 64195 => '遲', + 64196 => '醙', + 64197 => '鉶', + 64198 => '陼', + 64199 => '難', + 64200 => '靖', + 64201 => '韛', + 64202 => '響', + 64203 => '頋', + 64204 => '頻', + 64205 => '鬒', + 64206 => '龜', + 64207 => '𢡊', + 64208 => '𢡄', + 64209 => '𣏕', + 64210 => '㮝', + 64211 => '䀘', + 64212 => '䀹', + 64213 => '𥉉', + 64214 => '𥳐', + 64215 => '𧻓', + 64216 => '齃', + 64217 => '龎', + 64256 => 'ff', + 64257 => 'fi', + 64258 => 'fl', + 64259 => 'ffi', + 64260 => 'ffl', + 64261 => 'st', + 64262 => 'st', + 64275 => 'մն', + 64276 => 'մե', + 64277 => 'մի', + 64278 => 'վն', + 64279 => 'մխ', + 64285 => 'יִ', + 64287 => 'ײַ', + 64288 => 'ע', + 64289 => 'א', + 64290 => 'ד', + 64291 => 'ה', + 64292 => 'כ', + 64293 => 'ל', + 64294 => 'ם', + 64295 => 'ר', + 64296 => 'ת', + 64298 => 'שׁ', + 64299 => 'שׂ', + 64300 => 'שּׁ', + 64301 => 'שּׂ', + 64302 => 'אַ', + 64303 => 'אָ', + 64304 => 'אּ', + 64305 => 'בּ', + 64306 => 'גּ', + 64307 => 'דּ', + 64308 => 'הּ', + 64309 => 'וּ', + 64310 => 'זּ', + 64312 => 'טּ', + 64313 => 'יּ', + 64314 => 'ךּ', + 64315 => 'כּ', + 64316 => 'לּ', + 64318 => 'מּ', + 64320 => 'נּ', + 64321 => 'סּ', + 64323 => 'ףּ', + 64324 => 'פּ', + 64326 => 'צּ', + 64327 => 'קּ', + 64328 => 'רּ', + 64329 => 'שּ', + 64330 => 'תּ', + 64331 => 'וֹ', + 64332 => 'בֿ', + 64333 => 'כֿ', + 64334 => 'פֿ', + 64335 => 'אל', + 64336 => 'ٱ', + 64337 => 'ٱ', + 64338 => 'ٻ', + 64339 => 'ٻ', + 64340 => 'ٻ', + 64341 => 'ٻ', + 64342 => 'پ', + 64343 => 'پ', + 64344 => 'پ', + 64345 => 'پ', + 64346 => 'ڀ', + 64347 => 'ڀ', + 64348 => 'ڀ', + 64349 => 'ڀ', + 64350 => 'ٺ', + 64351 => 'ٺ', + 64352 => 'ٺ', + 64353 => 'ٺ', + 64354 => 'ٿ', + 64355 => 'ٿ', + 64356 => 'ٿ', + 64357 => 'ٿ', + 64358 => 'ٹ', + 64359 => 'ٹ', + 64360 => 'ٹ', + 64361 => 'ٹ', + 64362 => 'ڤ', + 64363 => 'ڤ', + 64364 => 'ڤ', + 64365 => 'ڤ', + 64366 => 'ڦ', + 64367 => 'ڦ', + 64368 => 'ڦ', + 64369 => 'ڦ', + 64370 => 'ڄ', + 64371 => 'ڄ', + 64372 => 'ڄ', + 64373 => 'ڄ', + 64374 => 'ڃ', + 64375 => 'ڃ', + 64376 => 'ڃ', + 64377 => 'ڃ', + 64378 => 'چ', + 64379 => 'چ', + 64380 => 'چ', + 64381 => 'چ', + 64382 => 'ڇ', + 64383 => 'ڇ', + 64384 => 'ڇ', + 64385 => 'ڇ', + 64386 => 'ڍ', + 64387 => 'ڍ', + 64388 => 'ڌ', + 64389 => 'ڌ', + 64390 => 'ڎ', + 64391 => 'ڎ', + 64392 => 'ڈ', + 64393 => 'ڈ', + 64394 => 'ژ', + 64395 => 'ژ', + 64396 => 'ڑ', + 64397 => 'ڑ', + 64398 => 'ک', + 64399 => 'ک', + 64400 => 'ک', + 64401 => 'ک', + 64402 => 'گ', + 64403 => 'گ', + 64404 => 'گ', + 64405 => 'گ', + 64406 => 'ڳ', + 64407 => 'ڳ', + 64408 => 'ڳ', + 64409 => 'ڳ', + 64410 => 'ڱ', + 64411 => 'ڱ', + 64412 => 'ڱ', + 64413 => 'ڱ', + 64414 => 'ں', + 64415 => 'ں', + 64416 => 'ڻ', + 64417 => 'ڻ', + 64418 => 'ڻ', + 64419 => 'ڻ', + 64420 => 'ۀ', + 64421 => 'ۀ', + 64422 => 'ہ', + 64423 => 'ہ', + 64424 => 'ہ', + 64425 => 'ہ', + 64426 => 'ھ', + 64427 => 'ھ', + 64428 => 'ھ', + 64429 => 'ھ', + 64430 => 'ے', + 64431 => 'ے', + 64432 => 'ۓ', + 64433 => 'ۓ', + 64467 => 'ڭ', + 64468 => 'ڭ', + 64469 => 'ڭ', + 64470 => 'ڭ', + 64471 => 'ۇ', + 64472 => 'ۇ', + 64473 => 'ۆ', + 64474 => 'ۆ', + 64475 => 'ۈ', + 64476 => 'ۈ', + 64477 => 'ۇٴ', + 64478 => 'ۋ', + 64479 => 'ۋ', + 64480 => 'ۅ', + 64481 => 'ۅ', + 64482 => 'ۉ', + 64483 => 'ۉ', + 64484 => 'ې', + 64485 => 'ې', + 64486 => 'ې', + 64487 => 'ې', + 64488 => 'ى', + 64489 => 'ى', + 64490 => 'ئا', + 64491 => 'ئا', + 64492 => 'ئە', + 64493 => 'ئە', + 64494 => 'ئو', + 64495 => 'ئو', + 64496 => 'ئۇ', + 64497 => 'ئۇ', + 64498 => 'ئۆ', + 64499 => 'ئۆ', + 64500 => 'ئۈ', + 64501 => 'ئۈ', + 64502 => 'ئې', + 64503 => 'ئې', + 64504 => 'ئې', + 64505 => 'ئى', + 64506 => 'ئى', + 64507 => 'ئى', + 64508 => 'ی', + 64509 => 'ی', + 64510 => 'ی', + 64511 => 'ی', + 64512 => 'ئج', + 64513 => 'ئح', + 64514 => 'ئم', + 64515 => 'ئى', + 64516 => 'ئي', + 64517 => 'بج', + 64518 => 'بح', + 64519 => 'بخ', + 64520 => 'بم', + 64521 => 'بى', + 64522 => 'بي', + 64523 => 'تج', + 64524 => 'تح', + 64525 => 'تخ', + 64526 => 'تم', + 64527 => 'تى', + 64528 => 'تي', + 64529 => 'ثج', + 64530 => 'ثم', + 64531 => 'ثى', + 64532 => 'ثي', + 64533 => 'جح', + 64534 => 'جم', + 64535 => 'حج', + 64536 => 'حم', + 64537 => 'خج', + 64538 => 'خح', + 64539 => 'خم', + 64540 => 'سج', + 64541 => 'سح', + 64542 => 'سخ', + 64543 => 'سم', + 64544 => 'صح', + 64545 => 'صم', + 64546 => 'ضج', + 64547 => 'ضح', + 64548 => 'ضخ', + 64549 => 'ضم', + 64550 => 'طح', + 64551 => 'طم', + 64552 => 'ظم', + 64553 => 'عج', + 64554 => 'عم', + 64555 => 'غج', + 64556 => 'غم', + 64557 => 'فج', + 64558 => 'فح', + 64559 => 'فخ', + 64560 => 'فم', + 64561 => 'فى', + 64562 => 'في', + 64563 => 'قح', + 64564 => 'قم', + 64565 => 'قى', + 64566 => 'قي', + 64567 => 'كا', + 64568 => 'كج', + 64569 => 'كح', + 64570 => 'كخ', + 64571 => 'كل', + 64572 => 'كم', + 64573 => 'كى', + 64574 => 'كي', + 64575 => 'لج', + 64576 => 'لح', + 64577 => 'لخ', + 64578 => 'لم', + 64579 => 'لى', + 64580 => 'لي', + 64581 => 'مج', + 64582 => 'مح', + 64583 => 'مخ', + 64584 => 'مم', + 64585 => 'مى', + 64586 => 'مي', + 64587 => 'نج', + 64588 => 'نح', + 64589 => 'نخ', + 64590 => 'نم', + 64591 => 'نى', + 64592 => 'ني', + 64593 => 'هج', + 64594 => 'هم', + 64595 => 'هى', + 64596 => 'هي', + 64597 => 'يج', + 64598 => 'يح', + 64599 => 'يخ', + 64600 => 'يم', + 64601 => 'يى', + 64602 => 'يي', + 64603 => 'ذٰ', + 64604 => 'رٰ', + 64605 => 'ىٰ', + 64612 => 'ئر', + 64613 => 'ئز', + 64614 => 'ئم', + 64615 => 'ئن', + 64616 => 'ئى', + 64617 => 'ئي', + 64618 => 'بر', + 64619 => 'بز', + 64620 => 'بم', + 64621 => 'بن', + 64622 => 'بى', + 64623 => 'بي', + 64624 => 'تر', + 64625 => 'تز', + 64626 => 'تم', + 64627 => 'تن', + 64628 => 'تى', + 64629 => 'تي', + 64630 => 'ثر', + 64631 => 'ثز', + 64632 => 'ثم', + 64633 => 'ثن', + 64634 => 'ثى', + 64635 => 'ثي', + 64636 => 'فى', + 64637 => 'في', + 64638 => 'قى', + 64639 => 'قي', + 64640 => 'كا', + 64641 => 'كل', + 64642 => 'كم', + 64643 => 'كى', + 64644 => 'كي', + 64645 => 'لم', + 64646 => 'لى', + 64647 => 'لي', + 64648 => 'ما', + 64649 => 'مم', + 64650 => 'نر', + 64651 => 'نز', + 64652 => 'نم', + 64653 => 'نن', + 64654 => 'نى', + 64655 => 'ني', + 64656 => 'ىٰ', + 64657 => 'ير', + 64658 => 'يز', + 64659 => 'يم', + 64660 => 'ين', + 64661 => 'يى', + 64662 => 'يي', + 64663 => 'ئج', + 64664 => 'ئح', + 64665 => 'ئخ', + 64666 => 'ئم', + 64667 => 'ئه', + 64668 => 'بج', + 64669 => 'بح', + 64670 => 'بخ', + 64671 => 'بم', + 64672 => 'به', + 64673 => 'تج', + 64674 => 'تح', + 64675 => 'تخ', + 64676 => 'تم', + 64677 => 'ته', + 64678 => 'ثم', + 64679 => 'جح', + 64680 => 'جم', + 64681 => 'حج', + 64682 => 'حم', + 64683 => 'خج', + 64684 => 'خم', + 64685 => 'سج', + 64686 => 'سح', + 64687 => 'سخ', + 64688 => 'سم', + 64689 => 'صح', + 64690 => 'صخ', + 64691 => 'صم', + 64692 => 'ضج', + 64693 => 'ضح', + 64694 => 'ضخ', + 64695 => 'ضم', + 64696 => 'طح', + 64697 => 'ظم', + 64698 => 'عج', + 64699 => 'عم', + 64700 => 'غج', + 64701 => 'غم', + 64702 => 'فج', + 64703 => 'فح', + 64704 => 'فخ', + 64705 => 'فم', + 64706 => 'قح', + 64707 => 'قم', + 64708 => 'كج', + 64709 => 'كح', + 64710 => 'كخ', + 64711 => 'كل', + 64712 => 'كم', + 64713 => 'لج', + 64714 => 'لح', + 64715 => 'لخ', + 64716 => 'لم', + 64717 => 'له', + 64718 => 'مج', + 64719 => 'مح', + 64720 => 'مخ', + 64721 => 'مم', + 64722 => 'نج', + 64723 => 'نح', + 64724 => 'نخ', + 64725 => 'نم', + 64726 => 'نه', + 64727 => 'هج', + 64728 => 'هم', + 64729 => 'هٰ', + 64730 => 'يج', + 64731 => 'يح', + 64732 => 'يخ', + 64733 => 'يم', + 64734 => 'يه', + 64735 => 'ئم', + 64736 => 'ئه', + 64737 => 'بم', + 64738 => 'به', + 64739 => 'تم', + 64740 => 'ته', + 64741 => 'ثم', + 64742 => 'ثه', + 64743 => 'سم', + 64744 => 'سه', + 64745 => 'شم', + 64746 => 'شه', + 64747 => 'كل', + 64748 => 'كم', + 64749 => 'لم', + 64750 => 'نم', + 64751 => 'نه', + 64752 => 'يم', + 64753 => 'يه', + 64754 => 'ـَّ', + 64755 => 'ـُّ', + 64756 => 'ـِّ', + 64757 => 'طى', + 64758 => 'طي', + 64759 => 'عى', + 64760 => 'عي', + 64761 => 'غى', + 64762 => 'غي', + 64763 => 'سى', + 64764 => 'سي', + 64765 => 'شى', + 64766 => 'شي', + 64767 => 'حى', + 64768 => 'حي', + 64769 => 'جى', + 64770 => 'جي', + 64771 => 'خى', + 64772 => 'خي', + 64773 => 'صى', + 64774 => 'صي', + 64775 => 'ضى', + 64776 => 'ضي', + 64777 => 'شج', + 64778 => 'شح', + 64779 => 'شخ', + 64780 => 'شم', + 64781 => 'شر', + 64782 => 'سر', + 64783 => 'صر', + 64784 => 'ضر', + 64785 => 'طى', + 64786 => 'طي', + 64787 => 'عى', + 64788 => 'عي', + 64789 => 'غى', + 64790 => 'غي', + 64791 => 'سى', + 64792 => 'سي', + 64793 => 'شى', + 64794 => 'شي', + 64795 => 'حى', + 64796 => 'حي', + 64797 => 'جى', + 64798 => 'جي', + 64799 => 'خى', + 64800 => 'خي', + 64801 => 'صى', + 64802 => 'صي', + 64803 => 'ضى', + 64804 => 'ضي', + 64805 => 'شج', + 64806 => 'شح', + 64807 => 'شخ', + 64808 => 'شم', + 64809 => 'شر', + 64810 => 'سر', + 64811 => 'صر', + 64812 => 'ضر', + 64813 => 'شج', + 64814 => 'شح', + 64815 => 'شخ', + 64816 => 'شم', + 64817 => 'سه', + 64818 => 'شه', + 64819 => 'طم', + 64820 => 'سج', + 64821 => 'سح', + 64822 => 'سخ', + 64823 => 'شج', + 64824 => 'شح', + 64825 => 'شخ', + 64826 => 'طم', + 64827 => 'ظم', + 64828 => 'اً', + 64829 => 'اً', + 64848 => 'تجم', + 64849 => 'تحج', + 64850 => 'تحج', + 64851 => 'تحم', + 64852 => 'تخم', + 64853 => 'تمج', + 64854 => 'تمح', + 64855 => 'تمخ', + 64856 => 'جمح', + 64857 => 'جمح', + 64858 => 'حمي', + 64859 => 'حمى', + 64860 => 'سحج', + 64861 => 'سجح', + 64862 => 'سجى', + 64863 => 'سمح', + 64864 => 'سمح', + 64865 => 'سمج', + 64866 => 'سمم', + 64867 => 'سمم', + 64868 => 'صحح', + 64869 => 'صحح', + 64870 => 'صمم', + 64871 => 'شحم', + 64872 => 'شحم', + 64873 => 'شجي', + 64874 => 'شمخ', + 64875 => 'شمخ', + 64876 => 'شمم', + 64877 => 'شمم', + 64878 => 'ضحى', + 64879 => 'ضخم', + 64880 => 'ضخم', + 64881 => 'طمح', + 64882 => 'طمح', + 64883 => 'طمم', + 64884 => 'طمي', + 64885 => 'عجم', + 64886 => 'عمم', + 64887 => 'عمم', + 64888 => 'عمى', + 64889 => 'غمم', + 64890 => 'غمي', + 64891 => 'غمى', + 64892 => 'فخم', + 64893 => 'فخم', + 64894 => 'قمح', + 64895 => 'قمم', + 64896 => 'لحم', + 64897 => 'لحي', + 64898 => 'لحى', + 64899 => 'لجج', + 64900 => 'لجج', + 64901 => 'لخم', + 64902 => 'لخم', + 64903 => 'لمح', + 64904 => 'لمح', + 64905 => 'محج', + 64906 => 'محم', + 64907 => 'محي', + 64908 => 'مجح', + 64909 => 'مجم', + 64910 => 'مخج', + 64911 => 'مخم', + 64914 => 'مجخ', + 64915 => 'همج', + 64916 => 'همم', + 64917 => 'نحم', + 64918 => 'نحى', + 64919 => 'نجم', + 64920 => 'نجم', + 64921 => 'نجى', + 64922 => 'نمي', + 64923 => 'نمى', + 64924 => 'يمم', + 64925 => 'يمم', + 64926 => 'بخي', + 64927 => 'تجي', + 64928 => 'تجى', + 64929 => 'تخي', + 64930 => 'تخى', + 64931 => 'تمي', + 64932 => 'تمى', + 64933 => 'جمي', + 64934 => 'جحى', + 64935 => 'جمى', + 64936 => 'سخى', + 64937 => 'صحي', + 64938 => 'شحي', + 64939 => 'ضحي', + 64940 => 'لجي', + 64941 => 'لمي', + 64942 => 'يحي', + 64943 => 'يجي', + 64944 => 'يمي', + 64945 => 'ممي', + 64946 => 'قمي', + 64947 => 'نحي', + 64948 => 'قمح', + 64949 => 'لحم', + 64950 => 'عمي', + 64951 => 'كمي', + 64952 => 'نجح', + 64953 => 'مخي', + 64954 => 'لجم', + 64955 => 'كمم', + 64956 => 'لجم', + 64957 => 'نجح', + 64958 => 'جحي', + 64959 => 'حجي', + 64960 => 'مجي', + 64961 => 'فمي', + 64962 => 'بحي', + 64963 => 'كمم', + 64964 => 'عجم', + 64965 => 'صمم', + 64966 => 'سخي', + 64967 => 'نجي', + 65008 => 'صلے', + 65009 => 'قلے', + 65010 => 'الله', + 65011 => 'اكبر', + 65012 => 'محمد', + 65013 => 'صلعم', + 65014 => 'رسول', + 65015 => 'عليه', + 65016 => 'وسلم', + 65017 => 'صلى', + 65020 => 'ریال', + 65041 => '、', + 65047 => '〖', + 65048 => '〗', + 65073 => '—', + 65074 => '–', + 65081 => '〔', + 65082 => '〕', + 65083 => '【', + 65084 => '】', + 65085 => '《', + 65086 => '》', + 65087 => '〈', + 65088 => '〉', + 65089 => '「', + 65090 => '」', + 65091 => '『', + 65092 => '』', + 65105 => '、', + 65112 => '—', + 65117 => '〔', + 65118 => '〕', + 65123 => '-', + 65137 => 'ـً', + 65143 => 'ـَ', + 65145 => 'ـُ', + 65147 => 'ـِ', + 65149 => 'ـّ', + 65151 => 'ـْ', + 65152 => 'ء', + 65153 => 'آ', + 65154 => 'آ', + 65155 => 'أ', + 65156 => 'أ', + 65157 => 'ؤ', + 65158 => 'ؤ', + 65159 => 'إ', + 65160 => 'إ', + 65161 => 'ئ', + 65162 => 'ئ', + 65163 => 'ئ', + 65164 => 'ئ', + 65165 => 'ا', + 65166 => 'ا', + 65167 => 'ب', + 65168 => 'ب', + 65169 => 'ب', + 65170 => 'ب', + 65171 => 'ة', + 65172 => 'ة', + 65173 => 'ت', + 65174 => 'ت', + 65175 => 'ت', + 65176 => 'ت', + 65177 => 'ث', + 65178 => 'ث', + 65179 => 'ث', + 65180 => 'ث', + 65181 => 'ج', + 65182 => 'ج', + 65183 => 'ج', + 65184 => 'ج', + 65185 => 'ح', + 65186 => 'ح', + 65187 => 'ح', + 65188 => 'ح', + 65189 => 'خ', + 65190 => 'خ', + 65191 => 'خ', + 65192 => 'خ', + 65193 => 'د', + 65194 => 'د', + 65195 => 'ذ', + 65196 => 'ذ', + 65197 => 'ر', + 65198 => 'ر', + 65199 => 'ز', + 65200 => 'ز', + 65201 => 'س', + 65202 => 'س', + 65203 => 'س', + 65204 => 'س', + 65205 => 'ش', + 65206 => 'ش', + 65207 => 'ش', + 65208 => 'ش', + 65209 => 'ص', + 65210 => 'ص', + 65211 => 'ص', + 65212 => 'ص', + 65213 => 'ض', + 65214 => 'ض', + 65215 => 'ض', + 65216 => 'ض', + 65217 => 'ط', + 65218 => 'ط', + 65219 => 'ط', + 65220 => 'ط', + 65221 => 'ظ', + 65222 => 'ظ', + 65223 => 'ظ', + 65224 => 'ظ', + 65225 => 'ع', + 65226 => 'ع', + 65227 => 'ع', + 65228 => 'ع', + 65229 => 'غ', + 65230 => 'غ', + 65231 => 'غ', + 65232 => 'غ', + 65233 => 'ف', + 65234 => 'ف', + 65235 => 'ف', + 65236 => 'ف', + 65237 => 'ق', + 65238 => 'ق', + 65239 => 'ق', + 65240 => 'ق', + 65241 => 'ك', + 65242 => 'ك', + 65243 => 'ك', + 65244 => 'ك', + 65245 => 'ل', + 65246 => 'ل', + 65247 => 'ل', + 65248 => 'ل', + 65249 => 'م', + 65250 => 'م', + 65251 => 'م', + 65252 => 'م', + 65253 => 'ن', + 65254 => 'ن', + 65255 => 'ن', + 65256 => 'ن', + 65257 => 'ه', + 65258 => 'ه', + 65259 => 'ه', + 65260 => 'ه', + 65261 => 'و', + 65262 => 'و', + 65263 => 'ى', + 65264 => 'ى', + 65265 => 'ي', + 65266 => 'ي', + 65267 => 'ي', + 65268 => 'ي', + 65269 => 'لآ', + 65270 => 'لآ', + 65271 => 'لأ', + 65272 => 'لأ', + 65273 => 'لإ', + 65274 => 'لإ', + 65275 => 'لا', + 65276 => 'لا', + 65293 => '-', + 65294 => '.', + 65296 => '0', + 65297 => '1', + 65298 => '2', + 65299 => '3', + 65300 => '4', + 65301 => '5', + 65302 => '6', + 65303 => '7', + 65304 => '8', + 65305 => '9', + 65313 => 'a', + 65314 => 'b', + 65315 => 'c', + 65316 => 'd', + 65317 => 'e', + 65318 => 'f', + 65319 => 'g', + 65320 => 'h', + 65321 => 'i', + 65322 => 'j', + 65323 => 'k', + 65324 => 'l', + 65325 => 'm', + 65326 => 'n', + 65327 => 'o', + 65328 => 'p', + 65329 => 'q', + 65330 => 'r', + 65331 => 's', + 65332 => 't', + 65333 => 'u', + 65334 => 'v', + 65335 => 'w', + 65336 => 'x', + 65337 => 'y', + 65338 => 'z', + 65345 => 'a', + 65346 => 'b', + 65347 => 'c', + 65348 => 'd', + 65349 => 'e', + 65350 => 'f', + 65351 => 'g', + 65352 => 'h', + 65353 => 'i', + 65354 => 'j', + 65355 => 'k', + 65356 => 'l', + 65357 => 'm', + 65358 => 'n', + 65359 => 'o', + 65360 => 'p', + 65361 => 'q', + 65362 => 'r', + 65363 => 's', + 65364 => 't', + 65365 => 'u', + 65366 => 'v', + 65367 => 'w', + 65368 => 'x', + 65369 => 'y', + 65370 => 'z', + 65375 => '⦅', + 65376 => '⦆', + 65377 => '.', + 65378 => '「', + 65379 => '」', + 65380 => '、', + 65381 => '・', + 65382 => 'ヲ', + 65383 => 'ァ', + 65384 => 'ィ', + 65385 => 'ゥ', + 65386 => 'ェ', + 65387 => 'ォ', + 65388 => 'ャ', + 65389 => 'ュ', + 65390 => 'ョ', + 65391 => 'ッ', + 65392 => 'ー', + 65393 => 'ア', + 65394 => 'イ', + 65395 => 'ウ', + 65396 => 'エ', + 65397 => 'オ', + 65398 => 'カ', + 65399 => 'キ', + 65400 => 'ク', + 65401 => 'ケ', + 65402 => 'コ', + 65403 => 'サ', + 65404 => 'シ', + 65405 => 'ス', + 65406 => 'セ', + 65407 => 'ソ', + 65408 => 'タ', + 65409 => 'チ', + 65410 => 'ツ', + 65411 => 'テ', + 65412 => 'ト', + 65413 => 'ナ', + 65414 => 'ニ', + 65415 => 'ヌ', + 65416 => 'ネ', + 65417 => 'ノ', + 65418 => 'ハ', + 65419 => 'ヒ', + 65420 => 'フ', + 65421 => 'ヘ', + 65422 => 'ホ', + 65423 => 'マ', + 65424 => 'ミ', + 65425 => 'ム', + 65426 => 'メ', + 65427 => 'モ', + 65428 => 'ヤ', + 65429 => 'ユ', + 65430 => 'ヨ', + 65431 => 'ラ', + 65432 => 'リ', + 65433 => 'ル', + 65434 => 'レ', + 65435 => 'ロ', + 65436 => 'ワ', + 65437 => 'ン', + 65438 => '゙', + 65439 => '゚', + 65441 => 'ᄀ', + 65442 => 'ᄁ', + 65443 => 'ᆪ', + 65444 => 'ᄂ', + 65445 => 'ᆬ', + 65446 => 'ᆭ', + 65447 => 'ᄃ', + 65448 => 'ᄄ', + 65449 => 'ᄅ', + 65450 => 'ᆰ', + 65451 => 'ᆱ', + 65452 => 'ᆲ', + 65453 => 'ᆳ', + 65454 => 'ᆴ', + 65455 => 'ᆵ', + 65456 => 'ᄚ', + 65457 => 'ᄆ', + 65458 => 'ᄇ', + 65459 => 'ᄈ', + 65460 => 'ᄡ', + 65461 => 'ᄉ', + 65462 => 'ᄊ', + 65463 => 'ᄋ', + 65464 => 'ᄌ', + 65465 => 'ᄍ', + 65466 => 'ᄎ', + 65467 => 'ᄏ', + 65468 => 'ᄐ', + 65469 => 'ᄑ', + 65470 => 'ᄒ', + 65474 => 'ᅡ', + 65475 => 'ᅢ', + 65476 => 'ᅣ', + 65477 => 'ᅤ', + 65478 => 'ᅥ', + 65479 => 'ᅦ', + 65482 => 'ᅧ', + 65483 => 'ᅨ', + 65484 => 'ᅩ', + 65485 => 'ᅪ', + 65486 => 'ᅫ', + 65487 => 'ᅬ', + 65490 => 'ᅭ', + 65491 => 'ᅮ', + 65492 => 'ᅯ', + 65493 => 'ᅰ', + 65494 => 'ᅱ', + 65495 => 'ᅲ', + 65498 => 'ᅳ', + 65499 => 'ᅴ', + 65500 => 'ᅵ', + 65504 => '¢', + 65505 => '£', + 65506 => '¬', + 65508 => '¦', + 65509 => '¥', + 65510 => '₩', + 65512 => '│', + 65513 => '←', + 65514 => '↑', + 65515 => '→', + 65516 => '↓', + 65517 => '■', + 65518 => '○', + 66560 => '𐐨', + 66561 => '𐐩', + 66562 => '𐐪', + 66563 => '𐐫', + 66564 => '𐐬', + 66565 => '𐐭', + 66566 => '𐐮', + 66567 => '𐐯', + 66568 => '𐐰', + 66569 => '𐐱', + 66570 => '𐐲', + 66571 => '𐐳', + 66572 => '𐐴', + 66573 => '𐐵', + 66574 => '𐐶', + 66575 => '𐐷', + 66576 => '𐐸', + 66577 => '𐐹', + 66578 => '𐐺', + 66579 => '𐐻', + 66580 => '𐐼', + 66581 => '𐐽', + 66582 => '𐐾', + 66583 => '𐐿', + 66584 => '𐑀', + 66585 => '𐑁', + 66586 => '𐑂', + 66587 => '𐑃', + 66588 => '𐑄', + 66589 => '𐑅', + 66590 => '𐑆', + 66591 => '𐑇', + 66592 => '𐑈', + 66593 => '𐑉', + 66594 => '𐑊', + 66595 => '𐑋', + 66596 => '𐑌', + 66597 => '𐑍', + 66598 => '𐑎', + 66599 => '𐑏', + 66736 => '𐓘', + 66737 => '𐓙', + 66738 => '𐓚', + 66739 => '𐓛', + 66740 => '𐓜', + 66741 => '𐓝', + 66742 => '𐓞', + 66743 => '𐓟', + 66744 => '𐓠', + 66745 => '𐓡', + 66746 => '𐓢', + 66747 => '𐓣', + 66748 => '𐓤', + 66749 => '𐓥', + 66750 => '𐓦', + 66751 => '𐓧', + 66752 => '𐓨', + 66753 => '𐓩', + 66754 => '𐓪', + 66755 => '𐓫', + 66756 => '𐓬', + 66757 => '𐓭', + 66758 => '𐓮', + 66759 => '𐓯', + 66760 => '𐓰', + 66761 => '𐓱', + 66762 => '𐓲', + 66763 => '𐓳', + 66764 => '𐓴', + 66765 => '𐓵', + 66766 => '𐓶', + 66767 => '𐓷', + 66768 => '𐓸', + 66769 => '𐓹', + 66770 => '𐓺', + 66771 => '𐓻', + 68736 => '𐳀', + 68737 => '𐳁', + 68738 => '𐳂', + 68739 => '𐳃', + 68740 => '𐳄', + 68741 => '𐳅', + 68742 => '𐳆', + 68743 => '𐳇', + 68744 => '𐳈', + 68745 => '𐳉', + 68746 => '𐳊', + 68747 => '𐳋', + 68748 => '𐳌', + 68749 => '𐳍', + 68750 => '𐳎', + 68751 => '𐳏', + 68752 => '𐳐', + 68753 => '𐳑', + 68754 => '𐳒', + 68755 => '𐳓', + 68756 => '𐳔', + 68757 => '𐳕', + 68758 => '𐳖', + 68759 => '𐳗', + 68760 => '𐳘', + 68761 => '𐳙', + 68762 => '𐳚', + 68763 => '𐳛', + 68764 => '𐳜', + 68765 => '𐳝', + 68766 => '𐳞', + 68767 => '𐳟', + 68768 => '𐳠', + 68769 => '𐳡', + 68770 => '𐳢', + 68771 => '𐳣', + 68772 => '𐳤', + 68773 => '𐳥', + 68774 => '𐳦', + 68775 => '𐳧', + 68776 => '𐳨', + 68777 => '𐳩', + 68778 => '𐳪', + 68779 => '𐳫', + 68780 => '𐳬', + 68781 => '𐳭', + 68782 => '𐳮', + 68783 => '𐳯', + 68784 => '𐳰', + 68785 => '𐳱', + 68786 => '𐳲', + 71840 => '𑣀', + 71841 => '𑣁', + 71842 => '𑣂', + 71843 => '𑣃', + 71844 => '𑣄', + 71845 => '𑣅', + 71846 => '𑣆', + 71847 => '𑣇', + 71848 => '𑣈', + 71849 => '𑣉', + 71850 => '𑣊', + 71851 => '𑣋', + 71852 => '𑣌', + 71853 => '𑣍', + 71854 => '𑣎', + 71855 => '𑣏', + 71856 => '𑣐', + 71857 => '𑣑', + 71858 => '𑣒', + 71859 => '𑣓', + 71860 => '𑣔', + 71861 => '𑣕', + 71862 => '𑣖', + 71863 => '𑣗', + 71864 => '𑣘', + 71865 => '𑣙', + 71866 => '𑣚', + 71867 => '𑣛', + 71868 => '𑣜', + 71869 => '𑣝', + 71870 => '𑣞', + 71871 => '𑣟', + 93760 => '𖹠', + 93761 => '𖹡', + 93762 => '𖹢', + 93763 => '𖹣', + 93764 => '𖹤', + 93765 => '𖹥', + 93766 => '𖹦', + 93767 => '𖹧', + 93768 => '𖹨', + 93769 => '𖹩', + 93770 => '𖹪', + 93771 => '𖹫', + 93772 => '𖹬', + 93773 => '𖹭', + 93774 => '𖹮', + 93775 => '𖹯', + 93776 => '𖹰', + 93777 => '𖹱', + 93778 => '𖹲', + 93779 => '𖹳', + 93780 => '𖹴', + 93781 => '𖹵', + 93782 => '𖹶', + 93783 => '𖹷', + 93784 => '𖹸', + 93785 => '𖹹', + 93786 => '𖹺', + 93787 => '𖹻', + 93788 => '𖹼', + 93789 => '𖹽', + 93790 => '𖹾', + 93791 => '𖹿', + 119134 => '𝅗𝅥', + 119135 => '𝅘𝅥', + 119136 => '𝅘𝅥𝅮', + 119137 => '𝅘𝅥𝅯', + 119138 => '𝅘𝅥𝅰', + 119139 => '𝅘𝅥𝅱', + 119140 => '𝅘𝅥𝅲', + 119227 => '𝆹𝅥', + 119228 => '𝆺𝅥', + 119229 => '𝆹𝅥𝅮', + 119230 => '𝆺𝅥𝅮', + 119231 => '𝆹𝅥𝅯', + 119232 => '𝆺𝅥𝅯', + 119808 => 'a', + 119809 => 'b', + 119810 => 'c', + 119811 => 'd', + 119812 => 'e', + 119813 => 'f', + 119814 => 'g', + 119815 => 'h', + 119816 => 'i', + 119817 => 'j', + 119818 => 'k', + 119819 => 'l', + 119820 => 'm', + 119821 => 'n', + 119822 => 'o', + 119823 => 'p', + 119824 => 'q', + 119825 => 'r', + 119826 => 's', + 119827 => 't', + 119828 => 'u', + 119829 => 'v', + 119830 => 'w', + 119831 => 'x', + 119832 => 'y', + 119833 => 'z', + 119834 => 'a', + 119835 => 'b', + 119836 => 'c', + 119837 => 'd', + 119838 => 'e', + 119839 => 'f', + 119840 => 'g', + 119841 => 'h', + 119842 => 'i', + 119843 => 'j', + 119844 => 'k', + 119845 => 'l', + 119846 => 'm', + 119847 => 'n', + 119848 => 'o', + 119849 => 'p', + 119850 => 'q', + 119851 => 'r', + 119852 => 's', + 119853 => 't', + 119854 => 'u', + 119855 => 'v', + 119856 => 'w', + 119857 => 'x', + 119858 => 'y', + 119859 => 'z', + 119860 => 'a', + 119861 => 'b', + 119862 => 'c', + 119863 => 'd', + 119864 => 'e', + 119865 => 'f', + 119866 => 'g', + 119867 => 'h', + 119868 => 'i', + 119869 => 'j', + 119870 => 'k', + 119871 => 'l', + 119872 => 'm', + 119873 => 'n', + 119874 => 'o', + 119875 => 'p', + 119876 => 'q', + 119877 => 'r', + 119878 => 's', + 119879 => 't', + 119880 => 'u', + 119881 => 'v', + 119882 => 'w', + 119883 => 'x', + 119884 => 'y', + 119885 => 'z', + 119886 => 'a', + 119887 => 'b', + 119888 => 'c', + 119889 => 'd', + 119890 => 'e', + 119891 => 'f', + 119892 => 'g', + 119894 => 'i', + 119895 => 'j', + 119896 => 'k', + 119897 => 'l', + 119898 => 'm', + 119899 => 'n', + 119900 => 'o', + 119901 => 'p', + 119902 => 'q', + 119903 => 'r', + 119904 => 's', + 119905 => 't', + 119906 => 'u', + 119907 => 'v', + 119908 => 'w', + 119909 => 'x', + 119910 => 'y', + 119911 => 'z', + 119912 => 'a', + 119913 => 'b', + 119914 => 'c', + 119915 => 'd', + 119916 => 'e', + 119917 => 'f', + 119918 => 'g', + 119919 => 'h', + 119920 => 'i', + 119921 => 'j', + 119922 => 'k', + 119923 => 'l', + 119924 => 'm', + 119925 => 'n', + 119926 => 'o', + 119927 => 'p', + 119928 => 'q', + 119929 => 'r', + 119930 => 's', + 119931 => 't', + 119932 => 'u', + 119933 => 'v', + 119934 => 'w', + 119935 => 'x', + 119936 => 'y', + 119937 => 'z', + 119938 => 'a', + 119939 => 'b', + 119940 => 'c', + 119941 => 'd', + 119942 => 'e', + 119943 => 'f', + 119944 => 'g', + 119945 => 'h', + 119946 => 'i', + 119947 => 'j', + 119948 => 'k', + 119949 => 'l', + 119950 => 'm', + 119951 => 'n', + 119952 => 'o', + 119953 => 'p', + 119954 => 'q', + 119955 => 'r', + 119956 => 's', + 119957 => 't', + 119958 => 'u', + 119959 => 'v', + 119960 => 'w', + 119961 => 'x', + 119962 => 'y', + 119963 => 'z', + 119964 => 'a', + 119966 => 'c', + 119967 => 'd', + 119970 => 'g', + 119973 => 'j', + 119974 => 'k', + 119977 => 'n', + 119978 => 'o', + 119979 => 'p', + 119980 => 'q', + 119982 => 's', + 119983 => 't', + 119984 => 'u', + 119985 => 'v', + 119986 => 'w', + 119987 => 'x', + 119988 => 'y', + 119989 => 'z', + 119990 => 'a', + 119991 => 'b', + 119992 => 'c', + 119993 => 'd', + 119995 => 'f', + 119997 => 'h', + 119998 => 'i', + 119999 => 'j', + 120000 => 'k', + 120001 => 'l', + 120002 => 'm', + 120003 => 'n', + 120005 => 'p', + 120006 => 'q', + 120007 => 'r', + 120008 => 's', + 120009 => 't', + 120010 => 'u', + 120011 => 'v', + 120012 => 'w', + 120013 => 'x', + 120014 => 'y', + 120015 => 'z', + 120016 => 'a', + 120017 => 'b', + 120018 => 'c', + 120019 => 'd', + 120020 => 'e', + 120021 => 'f', + 120022 => 'g', + 120023 => 'h', + 120024 => 'i', + 120025 => 'j', + 120026 => 'k', + 120027 => 'l', + 120028 => 'm', + 120029 => 'n', + 120030 => 'o', + 120031 => 'p', + 120032 => 'q', + 120033 => 'r', + 120034 => 's', + 120035 => 't', + 120036 => 'u', + 120037 => 'v', + 120038 => 'w', + 120039 => 'x', + 120040 => 'y', + 120041 => 'z', + 120042 => 'a', + 120043 => 'b', + 120044 => 'c', + 120045 => 'd', + 120046 => 'e', + 120047 => 'f', + 120048 => 'g', + 120049 => 'h', + 120050 => 'i', + 120051 => 'j', + 120052 => 'k', + 120053 => 'l', + 120054 => 'm', + 120055 => 'n', + 120056 => 'o', + 120057 => 'p', + 120058 => 'q', + 120059 => 'r', + 120060 => 's', + 120061 => 't', + 120062 => 'u', + 120063 => 'v', + 120064 => 'w', + 120065 => 'x', + 120066 => 'y', + 120067 => 'z', + 120068 => 'a', + 120069 => 'b', + 120071 => 'd', + 120072 => 'e', + 120073 => 'f', + 120074 => 'g', + 120077 => 'j', + 120078 => 'k', + 120079 => 'l', + 120080 => 'm', + 120081 => 'n', + 120082 => 'o', + 120083 => 'p', + 120084 => 'q', + 120086 => 's', + 120087 => 't', + 120088 => 'u', + 120089 => 'v', + 120090 => 'w', + 120091 => 'x', + 120092 => 'y', + 120094 => 'a', + 120095 => 'b', + 120096 => 'c', + 120097 => 'd', + 120098 => 'e', + 120099 => 'f', + 120100 => 'g', + 120101 => 'h', + 120102 => 'i', + 120103 => 'j', + 120104 => 'k', + 120105 => 'l', + 120106 => 'm', + 120107 => 'n', + 120108 => 'o', + 120109 => 'p', + 120110 => 'q', + 120111 => 'r', + 120112 => 's', + 120113 => 't', + 120114 => 'u', + 120115 => 'v', + 120116 => 'w', + 120117 => 'x', + 120118 => 'y', + 120119 => 'z', + 120120 => 'a', + 120121 => 'b', + 120123 => 'd', + 120124 => 'e', + 120125 => 'f', + 120126 => 'g', + 120128 => 'i', + 120129 => 'j', + 120130 => 'k', + 120131 => 'l', + 120132 => 'm', + 120134 => 'o', + 120138 => 's', + 120139 => 't', + 120140 => 'u', + 120141 => 'v', + 120142 => 'w', + 120143 => 'x', + 120144 => 'y', + 120146 => 'a', + 120147 => 'b', + 120148 => 'c', + 120149 => 'd', + 120150 => 'e', + 120151 => 'f', + 120152 => 'g', + 120153 => 'h', + 120154 => 'i', + 120155 => 'j', + 120156 => 'k', + 120157 => 'l', + 120158 => 'm', + 120159 => 'n', + 120160 => 'o', + 120161 => 'p', + 120162 => 'q', + 120163 => 'r', + 120164 => 's', + 120165 => 't', + 120166 => 'u', + 120167 => 'v', + 120168 => 'w', + 120169 => 'x', + 120170 => 'y', + 120171 => 'z', + 120172 => 'a', + 120173 => 'b', + 120174 => 'c', + 120175 => 'd', + 120176 => 'e', + 120177 => 'f', + 120178 => 'g', + 120179 => 'h', + 120180 => 'i', + 120181 => 'j', + 120182 => 'k', + 120183 => 'l', + 120184 => 'm', + 120185 => 'n', + 120186 => 'o', + 120187 => 'p', + 120188 => 'q', + 120189 => 'r', + 120190 => 's', + 120191 => 't', + 120192 => 'u', + 120193 => 'v', + 120194 => 'w', + 120195 => 'x', + 120196 => 'y', + 120197 => 'z', + 120198 => 'a', + 120199 => 'b', + 120200 => 'c', + 120201 => 'd', + 120202 => 'e', + 120203 => 'f', + 120204 => 'g', + 120205 => 'h', + 120206 => 'i', + 120207 => 'j', + 120208 => 'k', + 120209 => 'l', + 120210 => 'm', + 120211 => 'n', + 120212 => 'o', + 120213 => 'p', + 120214 => 'q', + 120215 => 'r', + 120216 => 's', + 120217 => 't', + 120218 => 'u', + 120219 => 'v', + 120220 => 'w', + 120221 => 'x', + 120222 => 'y', + 120223 => 'z', + 120224 => 'a', + 120225 => 'b', + 120226 => 'c', + 120227 => 'd', + 120228 => 'e', + 120229 => 'f', + 120230 => 'g', + 120231 => 'h', + 120232 => 'i', + 120233 => 'j', + 120234 => 'k', + 120235 => 'l', + 120236 => 'm', + 120237 => 'n', + 120238 => 'o', + 120239 => 'p', + 120240 => 'q', + 120241 => 'r', + 120242 => 's', + 120243 => 't', + 120244 => 'u', + 120245 => 'v', + 120246 => 'w', + 120247 => 'x', + 120248 => 'y', + 120249 => 'z', + 120250 => 'a', + 120251 => 'b', + 120252 => 'c', + 120253 => 'd', + 120254 => 'e', + 120255 => 'f', + 120256 => 'g', + 120257 => 'h', + 120258 => 'i', + 120259 => 'j', + 120260 => 'k', + 120261 => 'l', + 120262 => 'm', + 120263 => 'n', + 120264 => 'o', + 120265 => 'p', + 120266 => 'q', + 120267 => 'r', + 120268 => 's', + 120269 => 't', + 120270 => 'u', + 120271 => 'v', + 120272 => 'w', + 120273 => 'x', + 120274 => 'y', + 120275 => 'z', + 120276 => 'a', + 120277 => 'b', + 120278 => 'c', + 120279 => 'd', + 120280 => 'e', + 120281 => 'f', + 120282 => 'g', + 120283 => 'h', + 120284 => 'i', + 120285 => 'j', + 120286 => 'k', + 120287 => 'l', + 120288 => 'm', + 120289 => 'n', + 120290 => 'o', + 120291 => 'p', + 120292 => 'q', + 120293 => 'r', + 120294 => 's', + 120295 => 't', + 120296 => 'u', + 120297 => 'v', + 120298 => 'w', + 120299 => 'x', + 120300 => 'y', + 120301 => 'z', + 120302 => 'a', + 120303 => 'b', + 120304 => 'c', + 120305 => 'd', + 120306 => 'e', + 120307 => 'f', + 120308 => 'g', + 120309 => 'h', + 120310 => 'i', + 120311 => 'j', + 120312 => 'k', + 120313 => 'l', + 120314 => 'm', + 120315 => 'n', + 120316 => 'o', + 120317 => 'p', + 120318 => 'q', + 120319 => 'r', + 120320 => 's', + 120321 => 't', + 120322 => 'u', + 120323 => 'v', + 120324 => 'w', + 120325 => 'x', + 120326 => 'y', + 120327 => 'z', + 120328 => 'a', + 120329 => 'b', + 120330 => 'c', + 120331 => 'd', + 120332 => 'e', + 120333 => 'f', + 120334 => 'g', + 120335 => 'h', + 120336 => 'i', + 120337 => 'j', + 120338 => 'k', + 120339 => 'l', + 120340 => 'm', + 120341 => 'n', + 120342 => 'o', + 120343 => 'p', + 120344 => 'q', + 120345 => 'r', + 120346 => 's', + 120347 => 't', + 120348 => 'u', + 120349 => 'v', + 120350 => 'w', + 120351 => 'x', + 120352 => 'y', + 120353 => 'z', + 120354 => 'a', + 120355 => 'b', + 120356 => 'c', + 120357 => 'd', + 120358 => 'e', + 120359 => 'f', + 120360 => 'g', + 120361 => 'h', + 120362 => 'i', + 120363 => 'j', + 120364 => 'k', + 120365 => 'l', + 120366 => 'm', + 120367 => 'n', + 120368 => 'o', + 120369 => 'p', + 120370 => 'q', + 120371 => 'r', + 120372 => 's', + 120373 => 't', + 120374 => 'u', + 120375 => 'v', + 120376 => 'w', + 120377 => 'x', + 120378 => 'y', + 120379 => 'z', + 120380 => 'a', + 120381 => 'b', + 120382 => 'c', + 120383 => 'd', + 120384 => 'e', + 120385 => 'f', + 120386 => 'g', + 120387 => 'h', + 120388 => 'i', + 120389 => 'j', + 120390 => 'k', + 120391 => 'l', + 120392 => 'm', + 120393 => 'n', + 120394 => 'o', + 120395 => 'p', + 120396 => 'q', + 120397 => 'r', + 120398 => 's', + 120399 => 't', + 120400 => 'u', + 120401 => 'v', + 120402 => 'w', + 120403 => 'x', + 120404 => 'y', + 120405 => 'z', + 120406 => 'a', + 120407 => 'b', + 120408 => 'c', + 120409 => 'd', + 120410 => 'e', + 120411 => 'f', + 120412 => 'g', + 120413 => 'h', + 120414 => 'i', + 120415 => 'j', + 120416 => 'k', + 120417 => 'l', + 120418 => 'm', + 120419 => 'n', + 120420 => 'o', + 120421 => 'p', + 120422 => 'q', + 120423 => 'r', + 120424 => 's', + 120425 => 't', + 120426 => 'u', + 120427 => 'v', + 120428 => 'w', + 120429 => 'x', + 120430 => 'y', + 120431 => 'z', + 120432 => 'a', + 120433 => 'b', + 120434 => 'c', + 120435 => 'd', + 120436 => 'e', + 120437 => 'f', + 120438 => 'g', + 120439 => 'h', + 120440 => 'i', + 120441 => 'j', + 120442 => 'k', + 120443 => 'l', + 120444 => 'm', + 120445 => 'n', + 120446 => 'o', + 120447 => 'p', + 120448 => 'q', + 120449 => 'r', + 120450 => 's', + 120451 => 't', + 120452 => 'u', + 120453 => 'v', + 120454 => 'w', + 120455 => 'x', + 120456 => 'y', + 120457 => 'z', + 120458 => 'a', + 120459 => 'b', + 120460 => 'c', + 120461 => 'd', + 120462 => 'e', + 120463 => 'f', + 120464 => 'g', + 120465 => 'h', + 120466 => 'i', + 120467 => 'j', + 120468 => 'k', + 120469 => 'l', + 120470 => 'm', + 120471 => 'n', + 120472 => 'o', + 120473 => 'p', + 120474 => 'q', + 120475 => 'r', + 120476 => 's', + 120477 => 't', + 120478 => 'u', + 120479 => 'v', + 120480 => 'w', + 120481 => 'x', + 120482 => 'y', + 120483 => 'z', + 120484 => 'ı', + 120485 => 'ȷ', + 120488 => 'α', + 120489 => 'β', + 120490 => 'γ', + 120491 => 'δ', + 120492 => 'ε', + 120493 => 'ζ', + 120494 => 'η', + 120495 => 'θ', + 120496 => 'ι', + 120497 => 'κ', + 120498 => 'λ', + 120499 => 'μ', + 120500 => 'ν', + 120501 => 'ξ', + 120502 => 'ο', + 120503 => 'π', + 120504 => 'ρ', + 120505 => 'θ', + 120506 => 'σ', + 120507 => 'τ', + 120508 => 'υ', + 120509 => 'φ', + 120510 => 'χ', + 120511 => 'ψ', + 120512 => 'ω', + 120513 => '∇', + 120514 => 'α', + 120515 => 'β', + 120516 => 'γ', + 120517 => 'δ', + 120518 => 'ε', + 120519 => 'ζ', + 120520 => 'η', + 120521 => 'θ', + 120522 => 'ι', + 120523 => 'κ', + 120524 => 'λ', + 120525 => 'μ', + 120526 => 'ν', + 120527 => 'ξ', + 120528 => 'ο', + 120529 => 'π', + 120530 => 'ρ', + 120531 => 'σ', + 120532 => 'σ', + 120533 => 'τ', + 120534 => 'υ', + 120535 => 'φ', + 120536 => 'χ', + 120537 => 'ψ', + 120538 => 'ω', + 120539 => '∂', + 120540 => 'ε', + 120541 => 'θ', + 120542 => 'κ', + 120543 => 'φ', + 120544 => 'ρ', + 120545 => 'π', + 120546 => 'α', + 120547 => 'β', + 120548 => 'γ', + 120549 => 'δ', + 120550 => 'ε', + 120551 => 'ζ', + 120552 => 'η', + 120553 => 'θ', + 120554 => 'ι', + 120555 => 'κ', + 120556 => 'λ', + 120557 => 'μ', + 120558 => 'ν', + 120559 => 'ξ', + 120560 => 'ο', + 120561 => 'π', + 120562 => 'ρ', + 120563 => 'θ', + 120564 => 'σ', + 120565 => 'τ', + 120566 => 'υ', + 120567 => 'φ', + 120568 => 'χ', + 120569 => 'ψ', + 120570 => 'ω', + 120571 => '∇', + 120572 => 'α', + 120573 => 'β', + 120574 => 'γ', + 120575 => 'δ', + 120576 => 'ε', + 120577 => 'ζ', + 120578 => 'η', + 120579 => 'θ', + 120580 => 'ι', + 120581 => 'κ', + 120582 => 'λ', + 120583 => 'μ', + 120584 => 'ν', + 120585 => 'ξ', + 120586 => 'ο', + 120587 => 'π', + 120588 => 'ρ', + 120589 => 'σ', + 120590 => 'σ', + 120591 => 'τ', + 120592 => 'υ', + 120593 => 'φ', + 120594 => 'χ', + 120595 => 'ψ', + 120596 => 'ω', + 120597 => '∂', + 120598 => 'ε', + 120599 => 'θ', + 120600 => 'κ', + 120601 => 'φ', + 120602 => 'ρ', + 120603 => 'π', + 120604 => 'α', + 120605 => 'β', + 120606 => 'γ', + 120607 => 'δ', + 120608 => 'ε', + 120609 => 'ζ', + 120610 => 'η', + 120611 => 'θ', + 120612 => 'ι', + 120613 => 'κ', + 120614 => 'λ', + 120615 => 'μ', + 120616 => 'ν', + 120617 => 'ξ', + 120618 => 'ο', + 120619 => 'π', + 120620 => 'ρ', + 120621 => 'θ', + 120622 => 'σ', + 120623 => 'τ', + 120624 => 'υ', + 120625 => 'φ', + 120626 => 'χ', + 120627 => 'ψ', + 120628 => 'ω', + 120629 => '∇', + 120630 => 'α', + 120631 => 'β', + 120632 => 'γ', + 120633 => 'δ', + 120634 => 'ε', + 120635 => 'ζ', + 120636 => 'η', + 120637 => 'θ', + 120638 => 'ι', + 120639 => 'κ', + 120640 => 'λ', + 120641 => 'μ', + 120642 => 'ν', + 120643 => 'ξ', + 120644 => 'ο', + 120645 => 'π', + 120646 => 'ρ', + 120647 => 'σ', + 120648 => 'σ', + 120649 => 'τ', + 120650 => 'υ', + 120651 => 'φ', + 120652 => 'χ', + 120653 => 'ψ', + 120654 => 'ω', + 120655 => '∂', + 120656 => 'ε', + 120657 => 'θ', + 120658 => 'κ', + 120659 => 'φ', + 120660 => 'ρ', + 120661 => 'π', + 120662 => 'α', + 120663 => 'β', + 120664 => 'γ', + 120665 => 'δ', + 120666 => 'ε', + 120667 => 'ζ', + 120668 => 'η', + 120669 => 'θ', + 120670 => 'ι', + 120671 => 'κ', + 120672 => 'λ', + 120673 => 'μ', + 120674 => 'ν', + 120675 => 'ξ', + 120676 => 'ο', + 120677 => 'π', + 120678 => 'ρ', + 120679 => 'θ', + 120680 => 'σ', + 120681 => 'τ', + 120682 => 'υ', + 120683 => 'φ', + 120684 => 'χ', + 120685 => 'ψ', + 120686 => 'ω', + 120687 => '∇', + 120688 => 'α', + 120689 => 'β', + 120690 => 'γ', + 120691 => 'δ', + 120692 => 'ε', + 120693 => 'ζ', + 120694 => 'η', + 120695 => 'θ', + 120696 => 'ι', + 120697 => 'κ', + 120698 => 'λ', + 120699 => 'μ', + 120700 => 'ν', + 120701 => 'ξ', + 120702 => 'ο', + 120703 => 'π', + 120704 => 'ρ', + 120705 => 'σ', + 120706 => 'σ', + 120707 => 'τ', + 120708 => 'υ', + 120709 => 'φ', + 120710 => 'χ', + 120711 => 'ψ', + 120712 => 'ω', + 120713 => '∂', + 120714 => 'ε', + 120715 => 'θ', + 120716 => 'κ', + 120717 => 'φ', + 120718 => 'ρ', + 120719 => 'π', + 120720 => 'α', + 120721 => 'β', + 120722 => 'γ', + 120723 => 'δ', + 120724 => 'ε', + 120725 => 'ζ', + 120726 => 'η', + 120727 => 'θ', + 120728 => 'ι', + 120729 => 'κ', + 120730 => 'λ', + 120731 => 'μ', + 120732 => 'ν', + 120733 => 'ξ', + 120734 => 'ο', + 120735 => 'π', + 120736 => 'ρ', + 120737 => 'θ', + 120738 => 'σ', + 120739 => 'τ', + 120740 => 'υ', + 120741 => 'φ', + 120742 => 'χ', + 120743 => 'ψ', + 120744 => 'ω', + 120745 => '∇', + 120746 => 'α', + 120747 => 'β', + 120748 => 'γ', + 120749 => 'δ', + 120750 => 'ε', + 120751 => 'ζ', + 120752 => 'η', + 120753 => 'θ', + 120754 => 'ι', + 120755 => 'κ', + 120756 => 'λ', + 120757 => 'μ', + 120758 => 'ν', + 120759 => 'ξ', + 120760 => 'ο', + 120761 => 'π', + 120762 => 'ρ', + 120763 => 'σ', + 120764 => 'σ', + 120765 => 'τ', + 120766 => 'υ', + 120767 => 'φ', + 120768 => 'χ', + 120769 => 'ψ', + 120770 => 'ω', + 120771 => '∂', + 120772 => 'ε', + 120773 => 'θ', + 120774 => 'κ', + 120775 => 'φ', + 120776 => 'ρ', + 120777 => 'π', + 120778 => 'ϝ', + 120779 => 'ϝ', + 120782 => '0', + 120783 => '1', + 120784 => '2', + 120785 => '3', + 120786 => '4', + 120787 => '5', + 120788 => '6', + 120789 => '7', + 120790 => '8', + 120791 => '9', + 120792 => '0', + 120793 => '1', + 120794 => '2', + 120795 => '3', + 120796 => '4', + 120797 => '5', + 120798 => '6', + 120799 => '7', + 120800 => '8', + 120801 => '9', + 120802 => '0', + 120803 => '1', + 120804 => '2', + 120805 => '3', + 120806 => '4', + 120807 => '5', + 120808 => '6', + 120809 => '7', + 120810 => '8', + 120811 => '9', + 120812 => '0', + 120813 => '1', + 120814 => '2', + 120815 => '3', + 120816 => '4', + 120817 => '5', + 120818 => '6', + 120819 => '7', + 120820 => '8', + 120821 => '9', + 120822 => '0', + 120823 => '1', + 120824 => '2', + 120825 => '3', + 120826 => '4', + 120827 => '5', + 120828 => '6', + 120829 => '7', + 120830 => '8', + 120831 => '9', + 125184 => '𞤢', + 125185 => '𞤣', + 125186 => '𞤤', + 125187 => '𞤥', + 125188 => '𞤦', + 125189 => '𞤧', + 125190 => '𞤨', + 125191 => '𞤩', + 125192 => '𞤪', + 125193 => '𞤫', + 125194 => '𞤬', + 125195 => '𞤭', + 125196 => '𞤮', + 125197 => '𞤯', + 125198 => '𞤰', + 125199 => '𞤱', + 125200 => '𞤲', + 125201 => '𞤳', + 125202 => '𞤴', + 125203 => '𞤵', + 125204 => '𞤶', + 125205 => '𞤷', + 125206 => '𞤸', + 125207 => '𞤹', + 125208 => '𞤺', + 125209 => '𞤻', + 125210 => '𞤼', + 125211 => '𞤽', + 125212 => '𞤾', + 125213 => '𞤿', + 125214 => '𞥀', + 125215 => '𞥁', + 125216 => '𞥂', + 125217 => '𞥃', + 126464 => 'ا', + 126465 => 'ب', + 126466 => 'ج', + 126467 => 'د', + 126469 => 'و', + 126470 => 'ز', + 126471 => 'ح', + 126472 => 'ط', + 126473 => 'ي', + 126474 => 'ك', + 126475 => 'ل', + 126476 => 'م', + 126477 => 'ن', + 126478 => 'س', + 126479 => 'ع', + 126480 => 'ف', + 126481 => 'ص', + 126482 => 'ق', + 126483 => 'ر', + 126484 => 'ش', + 126485 => 'ت', + 126486 => 'ث', + 126487 => 'خ', + 126488 => 'ذ', + 126489 => 'ض', + 126490 => 'ظ', + 126491 => 'غ', + 126492 => 'ٮ', + 126493 => 'ں', + 126494 => 'ڡ', + 126495 => 'ٯ', + 126497 => 'ب', + 126498 => 'ج', + 126500 => 'ه', + 126503 => 'ح', + 126505 => 'ي', + 126506 => 'ك', + 126507 => 'ل', + 126508 => 'م', + 126509 => 'ن', + 126510 => 'س', + 126511 => 'ع', + 126512 => 'ف', + 126513 => 'ص', + 126514 => 'ق', + 126516 => 'ش', + 126517 => 'ت', + 126518 => 'ث', + 126519 => 'خ', + 126521 => 'ض', + 126523 => 'غ', + 126530 => 'ج', + 126535 => 'ح', + 126537 => 'ي', + 126539 => 'ل', + 126541 => 'ن', + 126542 => 'س', + 126543 => 'ع', + 126545 => 'ص', + 126546 => 'ق', + 126548 => 'ش', + 126551 => 'خ', + 126553 => 'ض', + 126555 => 'غ', + 126557 => 'ں', + 126559 => 'ٯ', + 126561 => 'ب', + 126562 => 'ج', + 126564 => 'ه', + 126567 => 'ح', + 126568 => 'ط', + 126569 => 'ي', + 126570 => 'ك', + 126572 => 'م', + 126573 => 'ن', + 126574 => 'س', + 126575 => 'ع', + 126576 => 'ف', + 126577 => 'ص', + 126578 => 'ق', + 126580 => 'ش', + 126581 => 'ت', + 126582 => 'ث', + 126583 => 'خ', + 126585 => 'ض', + 126586 => 'ظ', + 126587 => 'غ', + 126588 => 'ٮ', + 126590 => 'ڡ', + 126592 => 'ا', + 126593 => 'ب', + 126594 => 'ج', + 126595 => 'د', + 126596 => 'ه', + 126597 => 'و', + 126598 => 'ز', + 126599 => 'ح', + 126600 => 'ط', + 126601 => 'ي', + 126603 => 'ل', + 126604 => 'م', + 126605 => 'ن', + 126606 => 'س', + 126607 => 'ع', + 126608 => 'ف', + 126609 => 'ص', + 126610 => 'ق', + 126611 => 'ر', + 126612 => 'ش', + 126613 => 'ت', + 126614 => 'ث', + 126615 => 'خ', + 126616 => 'ذ', + 126617 => 'ض', + 126618 => 'ظ', + 126619 => 'غ', + 126625 => 'ب', + 126626 => 'ج', + 126627 => 'د', + 126629 => 'و', + 126630 => 'ز', + 126631 => 'ح', + 126632 => 'ط', + 126633 => 'ي', + 126635 => 'ل', + 126636 => 'م', + 126637 => 'ن', + 126638 => 'س', + 126639 => 'ع', + 126640 => 'ف', + 126641 => 'ص', + 126642 => 'ق', + 126643 => 'ر', + 126644 => 'ش', + 126645 => 'ت', + 126646 => 'ث', + 126647 => 'خ', + 126648 => 'ذ', + 126649 => 'ض', + 126650 => 'ظ', + 126651 => 'غ', + 127274 => '〔s〕', + 127275 => 'c', + 127276 => 'r', + 127277 => 'cd', + 127278 => 'wz', + 127280 => 'a', + 127281 => 'b', + 127282 => 'c', + 127283 => 'd', + 127284 => 'e', + 127285 => 'f', + 127286 => 'g', + 127287 => 'h', + 127288 => 'i', + 127289 => 'j', + 127290 => 'k', + 127291 => 'l', + 127292 => 'm', + 127293 => 'n', + 127294 => 'o', + 127295 => 'p', + 127296 => 'q', + 127297 => 'r', + 127298 => 's', + 127299 => 't', + 127300 => 'u', + 127301 => 'v', + 127302 => 'w', + 127303 => 'x', + 127304 => 'y', + 127305 => 'z', + 127306 => 'hv', + 127307 => 'mv', + 127308 => 'sd', + 127309 => 'ss', + 127310 => 'ppv', + 127311 => 'wc', + 127338 => 'mc', + 127339 => 'md', + 127340 => 'mr', + 127376 => 'dj', + 127488 => 'ほか', + 127489 => 'ココ', + 127490 => 'サ', + 127504 => '手', + 127505 => '字', + 127506 => '双', + 127507 => 'デ', + 127508 => '二', + 127509 => '多', + 127510 => '解', + 127511 => '天', + 127512 => '交', + 127513 => '映', + 127514 => '無', + 127515 => '料', + 127516 => '前', + 127517 => '後', + 127518 => '再', + 127519 => '新', + 127520 => '初', + 127521 => '終', + 127522 => '生', + 127523 => '販', + 127524 => '声', + 127525 => '吹', + 127526 => '演', + 127527 => '投', + 127528 => '捕', + 127529 => '一', + 127530 => '三', + 127531 => '遊', + 127532 => '左', + 127533 => '中', + 127534 => '右', + 127535 => '指', + 127536 => '走', + 127537 => '打', + 127538 => '禁', + 127539 => '空', + 127540 => '合', + 127541 => '満', + 127542 => '有', + 127543 => '月', + 127544 => '申', + 127545 => '割', + 127546 => '営', + 127547 => '配', + 127552 => '〔本〕', + 127553 => '〔三〕', + 127554 => '〔二〕', + 127555 => '〔安〕', + 127556 => '〔点〕', + 127557 => '〔打〕', + 127558 => '〔盗〕', + 127559 => '〔勝〕', + 127560 => '〔敗〕', + 127568 => '得', + 127569 => '可', + 130032 => '0', + 130033 => '1', + 130034 => '2', + 130035 => '3', + 130036 => '4', + 130037 => '5', + 130038 => '6', + 130039 => '7', + 130040 => '8', + 130041 => '9', + 194560 => '丽', + 194561 => '丸', + 194562 => '乁', + 194563 => '𠄢', + 194564 => '你', + 194565 => '侮', + 194566 => '侻', + 194567 => '倂', + 194568 => '偺', + 194569 => '備', + 194570 => '僧', + 194571 => '像', + 194572 => '㒞', + 194573 => '𠘺', + 194574 => '免', + 194575 => '兔', + 194576 => '兤', + 194577 => '具', + 194578 => '𠔜', + 194579 => '㒹', + 194580 => '內', + 194581 => '再', + 194582 => '𠕋', + 194583 => '冗', + 194584 => '冤', + 194585 => '仌', + 194586 => '冬', + 194587 => '况', + 194588 => '𩇟', + 194589 => '凵', + 194590 => '刃', + 194591 => '㓟', + 194592 => '刻', + 194593 => '剆', + 194594 => '割', + 194595 => '剷', + 194596 => '㔕', + 194597 => '勇', + 194598 => '勉', + 194599 => '勤', + 194600 => '勺', + 194601 => '包', + 194602 => '匆', + 194603 => '北', + 194604 => '卉', + 194605 => '卑', + 194606 => '博', + 194607 => '即', + 194608 => '卽', + 194609 => '卿', + 194610 => '卿', + 194611 => '卿', + 194612 => '𠨬', + 194613 => '灰', + 194614 => '及', + 194615 => '叟', + 194616 => '𠭣', + 194617 => '叫', + 194618 => '叱', + 194619 => '吆', + 194620 => '咞', + 194621 => '吸', + 194622 => '呈', + 194623 => '周', + 194624 => '咢', + 194625 => '哶', + 194626 => '唐', + 194627 => '啓', + 194628 => '啣', + 194629 => '善', + 194630 => '善', + 194631 => '喙', + 194632 => '喫', + 194633 => '喳', + 194634 => '嗂', + 194635 => '圖', + 194636 => '嘆', + 194637 => '圗', + 194638 => '噑', + 194639 => '噴', + 194640 => '切', + 194641 => '壮', + 194642 => '城', + 194643 => '埴', + 194644 => '堍', + 194645 => '型', + 194646 => '堲', + 194647 => '報', + 194648 => '墬', + 194649 => '𡓤', + 194650 => '売', + 194651 => '壷', + 194652 => '夆', + 194653 => '多', + 194654 => '夢', + 194655 => '奢', + 194656 => '𡚨', + 194657 => '𡛪', + 194658 => '姬', + 194659 => '娛', + 194660 => '娧', + 194661 => '姘', + 194662 => '婦', + 194663 => '㛮', + 194665 => '嬈', + 194666 => '嬾', + 194667 => '嬾', + 194668 => '𡧈', + 194669 => '寃', + 194670 => '寘', + 194671 => '寧', + 194672 => '寳', + 194673 => '𡬘', + 194674 => '寿', + 194675 => '将', + 194677 => '尢', + 194678 => '㞁', + 194679 => '屠', + 194680 => '屮', + 194681 => '峀', + 194682 => '岍', + 194683 => '𡷤', + 194684 => '嵃', + 194685 => '𡷦', + 194686 => '嵮', + 194687 => '嵫', + 194688 => '嵼', + 194689 => '巡', + 194690 => '巢', + 194691 => '㠯', + 194692 => '巽', + 194693 => '帨', + 194694 => '帽', + 194695 => '幩', + 194696 => '㡢', + 194697 => '𢆃', + 194698 => '㡼', + 194699 => '庰', + 194700 => '庳', + 194701 => '庶', + 194702 => '廊', + 194703 => '𪎒', + 194704 => '廾', + 194705 => '𢌱', + 194706 => '𢌱', + 194707 => '舁', + 194708 => '弢', + 194709 => '弢', + 194710 => '㣇', + 194711 => '𣊸', + 194712 => '𦇚', + 194713 => '形', + 194714 => '彫', + 194715 => '㣣', + 194716 => '徚', + 194717 => '忍', + 194718 => '志', + 194719 => '忹', + 194720 => '悁', + 194721 => '㤺', + 194722 => '㤜', + 194723 => '悔', + 194724 => '𢛔', + 194725 => '惇', + 194726 => '慈', + 194727 => '慌', + 194728 => '慎', + 194729 => '慌', + 194730 => '慺', + 194731 => '憎', + 194732 => '憲', + 194733 => '憤', + 194734 => '憯', + 194735 => '懞', + 194736 => '懲', + 194737 => '懶', + 194738 => '成', + 194739 => '戛', + 194740 => '扝', + 194741 => '抱', + 194742 => '拔', + 194743 => '捐', + 194744 => '𢬌', + 194745 => '挽', + 194746 => '拼', + 194747 => '捨', + 194748 => '掃', + 194749 => '揤', + 194750 => '𢯱', + 194751 => '搢', + 194752 => '揅', + 194753 => '掩', + 194754 => '㨮', + 194755 => '摩', + 194756 => '摾', + 194757 => '撝', + 194758 => '摷', + 194759 => '㩬', + 194760 => '敏', + 194761 => '敬', + 194762 => '𣀊', + 194763 => '旣', + 194764 => '書', + 194765 => '晉', + 194766 => '㬙', + 194767 => '暑', + 194768 => '㬈', + 194769 => '㫤', + 194770 => '冒', + 194771 => '冕', + 194772 => '最', + 194773 => '暜', + 194774 => '肭', + 194775 => '䏙', + 194776 => '朗', + 194777 => '望', + 194778 => '朡', + 194779 => '杞', + 194780 => '杓', + 194781 => '𣏃', + 194782 => '㭉', + 194783 => '柺', + 194784 => '枅', + 194785 => '桒', + 194786 => '梅', + 194787 => '𣑭', + 194788 => '梎', + 194789 => '栟', + 194790 => '椔', + 194791 => '㮝', + 194792 => '楂', + 194793 => '榣', + 194794 => '槪', + 194795 => '檨', + 194796 => '𣚣', + 194797 => '櫛', + 194798 => '㰘', + 194799 => '次', + 194800 => '𣢧', + 194801 => '歔', + 194802 => '㱎', + 194803 => '歲', + 194804 => '殟', + 194805 => '殺', + 194806 => '殻', + 194807 => '𣪍', + 194808 => '𡴋', + 194809 => '𣫺', + 194810 => '汎', + 194811 => '𣲼', + 194812 => '沿', + 194813 => '泍', + 194814 => '汧', + 194815 => '洖', + 194816 => '派', + 194817 => '海', + 194818 => '流', + 194819 => '浩', + 194820 => '浸', + 194821 => '涅', + 194822 => '𣴞', + 194823 => '洴', + 194824 => '港', + 194825 => '湮', + 194826 => '㴳', + 194827 => '滋', + 194828 => '滇', + 194829 => '𣻑', + 194830 => '淹', + 194831 => '潮', + 194832 => '𣽞', + 194833 => '𣾎', + 194834 => '濆', + 194835 => '瀹', + 194836 => '瀞', + 194837 => '瀛', + 194838 => '㶖', + 194839 => '灊', + 194840 => '災', + 194841 => '灷', + 194842 => '炭', + 194843 => '𠔥', + 194844 => '煅', + 194845 => '𤉣', + 194846 => '熜', + 194848 => '爨', + 194849 => '爵', + 194850 => '牐', + 194851 => '𤘈', + 194852 => '犀', + 194853 => '犕', + 194854 => '𤜵', + 194855 => '𤠔', + 194856 => '獺', + 194857 => '王', + 194858 => '㺬', + 194859 => '玥', + 194860 => '㺸', + 194861 => '㺸', + 194862 => '瑇', + 194863 => '瑜', + 194864 => '瑱', + 194865 => '璅', + 194866 => '瓊', + 194867 => '㼛', + 194868 => '甤', + 194869 => '𤰶', + 194870 => '甾', + 194871 => '𤲒', + 194872 => '異', + 194873 => '𢆟', + 194874 => '瘐', + 194875 => '𤾡', + 194876 => '𤾸', + 194877 => '𥁄', + 194878 => '㿼', + 194879 => '䀈', + 194880 => '直', + 194881 => '𥃳', + 194882 => '𥃲', + 194883 => '𥄙', + 194884 => '𥄳', + 194885 => '眞', + 194886 => '真', + 194887 => '真', + 194888 => '睊', + 194889 => '䀹', + 194890 => '瞋', + 194891 => '䁆', + 194892 => '䂖', + 194893 => '𥐝', + 194894 => '硎', + 194895 => '碌', + 194896 => '磌', + 194897 => '䃣', + 194898 => '𥘦', + 194899 => '祖', + 194900 => '𥚚', + 194901 => '𥛅', + 194902 => '福', + 194903 => '秫', + 194904 => '䄯', + 194905 => '穀', + 194906 => '穊', + 194907 => '穏', + 194908 => '𥥼', + 194909 => '𥪧', + 194910 => '𥪧', + 194912 => '䈂', + 194913 => '𥮫', + 194914 => '篆', + 194915 => '築', + 194916 => '䈧', + 194917 => '𥲀', + 194918 => '糒', + 194919 => '䊠', + 194920 => '糨', + 194921 => '糣', + 194922 => '紀', + 194923 => '𥾆', + 194924 => '絣', + 194925 => '䌁', + 194926 => '緇', + 194927 => '縂', + 194928 => '繅', + 194929 => '䌴', + 194930 => '𦈨', + 194931 => '𦉇', + 194932 => '䍙', + 194933 => '𦋙', + 194934 => '罺', + 194935 => '𦌾', + 194936 => '羕', + 194937 => '翺', + 194938 => '者', + 194939 => '𦓚', + 194940 => '𦔣', + 194941 => '聠', + 194942 => '𦖨', + 194943 => '聰', + 194944 => '𣍟', + 194945 => '䏕', + 194946 => '育', + 194947 => '脃', + 194948 => '䐋', + 194949 => '脾', + 194950 => '媵', + 194951 => '𦞧', + 194952 => '𦞵', + 194953 => '𣎓', + 194954 => '𣎜', + 194955 => '舁', + 194956 => '舄', + 194957 => '辞', + 194958 => '䑫', + 194959 => '芑', + 194960 => '芋', + 194961 => '芝', + 194962 => '劳', + 194963 => '花', + 194964 => '芳', + 194965 => '芽', + 194966 => '苦', + 194967 => '𦬼', + 194968 => '若', + 194969 => '茝', + 194970 => '荣', + 194971 => '莭', + 194972 => '茣', + 194973 => '莽', + 194974 => '菧', + 194975 => '著', + 194976 => '荓', + 194977 => '菊', + 194978 => '菌', + 194979 => '菜', + 194980 => '𦰶', + 194981 => '𦵫', + 194982 => '𦳕', + 194983 => '䔫', + 194984 => '蓱', + 194985 => '蓳', + 194986 => '蔖', + 194987 => '𧏊', + 194988 => '蕤', + 194989 => '𦼬', + 194990 => '䕝', + 194991 => '䕡', + 194992 => '𦾱', + 194993 => '𧃒', + 194994 => '䕫', + 194995 => '虐', + 194996 => '虜', + 194997 => '虧', + 194998 => '虩', + 194999 => '蚩', + 195000 => '蚈', + 195001 => '蜎', + 195002 => '蛢', + 195003 => '蝹', + 195004 => '蜨', + 195005 => '蝫', + 195006 => '螆', + 195008 => '蟡', + 195009 => '蠁', + 195010 => '䗹', + 195011 => '衠', + 195012 => '衣', + 195013 => '𧙧', + 195014 => '裗', + 195015 => '裞', + 195016 => '䘵', + 195017 => '裺', + 195018 => '㒻', + 195019 => '𧢮', + 195020 => '𧥦', + 195021 => '䚾', + 195022 => '䛇', + 195023 => '誠', + 195024 => '諭', + 195025 => '變', + 195026 => '豕', + 195027 => '𧲨', + 195028 => '貫', + 195029 => '賁', + 195030 => '贛', + 195031 => '起', + 195032 => '𧼯', + 195033 => '𠠄', + 195034 => '跋', + 195035 => '趼', + 195036 => '跰', + 195037 => '𠣞', + 195038 => '軔', + 195039 => '輸', + 195040 => '𨗒', + 195041 => '𨗭', + 195042 => '邔', + 195043 => '郱', + 195044 => '鄑', + 195045 => '𨜮', + 195046 => '鄛', + 195047 => '鈸', + 195048 => '鋗', + 195049 => '鋘', + 195050 => '鉼', + 195051 => '鏹', + 195052 => '鐕', + 195053 => '𨯺', + 195054 => '開', + 195055 => '䦕', + 195056 => '閷', + 195057 => '𨵷', + 195058 => '䧦', + 195059 => '雃', + 195060 => '嶲', + 195061 => '霣', + 195062 => '𩅅', + 195063 => '𩈚', + 195064 => '䩮', + 195065 => '䩶', + 195066 => '韠', + 195067 => '𩐊', + 195068 => '䪲', + 195069 => '𩒖', + 195070 => '頋', + 195071 => '頋', + 195072 => '頩', + 195073 => '𩖶', + 195074 => '飢', + 195075 => '䬳', + 195076 => '餩', + 195077 => '馧', + 195078 => '駂', + 195079 => '駾', + 195080 => '䯎', + 195081 => '𩬰', + 195082 => '鬒', + 195083 => '鱀', + 195084 => '鳽', + 195085 => '䳎', + 195086 => '䳭', + 195087 => '鵧', + 195088 => '𪃎', + 195089 => '䳸', + 195090 => '𪄅', + 195091 => '𪈎', + 195092 => '𪊑', + 195093 => '麻', + 195094 => '䵖', + 195095 => '黹', + 195096 => '黾', + 195097 => '鼅', + 195098 => '鼏', + 195099 => '鼖', + 195100 => '鼻', + 195101 => '𪘀', +); diff --git a/pandora_console/vendor/symfony/polyfill-intl-idn/Resources/unidata/virama.php b/pandora_console/vendor/symfony/polyfill-intl-idn/Resources/unidata/virama.php new file mode 100644 index 0000000000..1958e37ed2 --- /dev/null +++ b/pandora_console/vendor/symfony/polyfill-intl-idn/Resources/unidata/virama.php @@ -0,0 +1,65 @@ + 9, + 2509 => 9, + 2637 => 9, + 2765 => 9, + 2893 => 9, + 3021 => 9, + 3149 => 9, + 3277 => 9, + 3387 => 9, + 3388 => 9, + 3405 => 9, + 3530 => 9, + 3642 => 9, + 3770 => 9, + 3972 => 9, + 4153 => 9, + 4154 => 9, + 5908 => 9, + 5940 => 9, + 6098 => 9, + 6752 => 9, + 6980 => 9, + 7082 => 9, + 7083 => 9, + 7154 => 9, + 7155 => 9, + 11647 => 9, + 43014 => 9, + 43052 => 9, + 43204 => 9, + 43347 => 9, + 43456 => 9, + 43766 => 9, + 44013 => 9, + 68159 => 9, + 69702 => 9, + 69759 => 9, + 69817 => 9, + 69939 => 9, + 69940 => 9, + 70080 => 9, + 70197 => 9, + 70378 => 9, + 70477 => 9, + 70722 => 9, + 70850 => 9, + 71103 => 9, + 71231 => 9, + 71350 => 9, + 71467 => 9, + 71737 => 9, + 71997 => 9, + 71998 => 9, + 72160 => 9, + 72244 => 9, + 72263 => 9, + 72345 => 9, + 72767 => 9, + 73028 => 9, + 73029 => 9, + 73111 => 9, +); diff --git a/pandora_console/vendor/symfony/polyfill-intl-idn/bootstrap.php b/pandora_console/vendor/symfony/polyfill-intl-idn/bootstrap.php new file mode 100644 index 0000000000..57c78356c9 --- /dev/null +++ b/pandora_console/vendor/symfony/polyfill-intl-idn/bootstrap.php @@ -0,0 +1,145 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +use Symfony\Polyfill\Intl\Idn as p; + +if (extension_loaded('intl')) { + return; +} + +if (\PHP_VERSION_ID >= 80000) { + return require __DIR__.'/bootstrap80.php'; +} + +if (!defined('U_IDNA_PROHIBITED_ERROR')) { + define('U_IDNA_PROHIBITED_ERROR', 66560); +} +if (!defined('U_IDNA_ERROR_START')) { + define('U_IDNA_ERROR_START', 66560); +} +if (!defined('U_IDNA_UNASSIGNED_ERROR')) { + define('U_IDNA_UNASSIGNED_ERROR', 66561); +} +if (!defined('U_IDNA_CHECK_BIDI_ERROR')) { + define('U_IDNA_CHECK_BIDI_ERROR', 66562); +} +if (!defined('U_IDNA_STD3_ASCII_RULES_ERROR')) { + define('U_IDNA_STD3_ASCII_RULES_ERROR', 66563); +} +if (!defined('U_IDNA_ACE_PREFIX_ERROR')) { + define('U_IDNA_ACE_PREFIX_ERROR', 66564); +} +if (!defined('U_IDNA_VERIFICATION_ERROR')) { + define('U_IDNA_VERIFICATION_ERROR', 66565); +} +if (!defined('U_IDNA_LABEL_TOO_LONG_ERROR')) { + define('U_IDNA_LABEL_TOO_LONG_ERROR', 66566); +} +if (!defined('U_IDNA_ZERO_LENGTH_LABEL_ERROR')) { + define('U_IDNA_ZERO_LENGTH_LABEL_ERROR', 66567); +} +if (!defined('U_IDNA_DOMAIN_NAME_TOO_LONG_ERROR')) { + define('U_IDNA_DOMAIN_NAME_TOO_LONG_ERROR', 66568); +} +if (!defined('U_IDNA_ERROR_LIMIT')) { + define('U_IDNA_ERROR_LIMIT', 66569); +} +if (!defined('U_STRINGPREP_PROHIBITED_ERROR')) { + define('U_STRINGPREP_PROHIBITED_ERROR', 66560); +} +if (!defined('U_STRINGPREP_UNASSIGNED_ERROR')) { + define('U_STRINGPREP_UNASSIGNED_ERROR', 66561); +} +if (!defined('U_STRINGPREP_CHECK_BIDI_ERROR')) { + define('U_STRINGPREP_CHECK_BIDI_ERROR', 66562); +} +if (!defined('IDNA_DEFAULT')) { + define('IDNA_DEFAULT', 0); +} +if (!defined('IDNA_ALLOW_UNASSIGNED')) { + define('IDNA_ALLOW_UNASSIGNED', 1); +} +if (!defined('IDNA_USE_STD3_RULES')) { + define('IDNA_USE_STD3_RULES', 2); +} +if (!defined('IDNA_CHECK_BIDI')) { + define('IDNA_CHECK_BIDI', 4); +} +if (!defined('IDNA_CHECK_CONTEXTJ')) { + define('IDNA_CHECK_CONTEXTJ', 8); +} +if (!defined('IDNA_NONTRANSITIONAL_TO_ASCII')) { + define('IDNA_NONTRANSITIONAL_TO_ASCII', 16); +} +if (!defined('IDNA_NONTRANSITIONAL_TO_UNICODE')) { + define('IDNA_NONTRANSITIONAL_TO_UNICODE', 32); +} +if (!defined('INTL_IDNA_VARIANT_2003')) { + define('INTL_IDNA_VARIANT_2003', 0); +} +if (!defined('INTL_IDNA_VARIANT_UTS46')) { + define('INTL_IDNA_VARIANT_UTS46', 1); +} +if (!defined('IDNA_ERROR_EMPTY_LABEL')) { + define('IDNA_ERROR_EMPTY_LABEL', 1); +} +if (!defined('IDNA_ERROR_LABEL_TOO_LONG')) { + define('IDNA_ERROR_LABEL_TOO_LONG', 2); +} +if (!defined('IDNA_ERROR_DOMAIN_NAME_TOO_LONG')) { + define('IDNA_ERROR_DOMAIN_NAME_TOO_LONG', 4); +} +if (!defined('IDNA_ERROR_LEADING_HYPHEN')) { + define('IDNA_ERROR_LEADING_HYPHEN', 8); +} +if (!defined('IDNA_ERROR_TRAILING_HYPHEN')) { + define('IDNA_ERROR_TRAILING_HYPHEN', 16); +} +if (!defined('IDNA_ERROR_HYPHEN_3_4')) { + define('IDNA_ERROR_HYPHEN_3_4', 32); +} +if (!defined('IDNA_ERROR_LEADING_COMBINING_MARK')) { + define('IDNA_ERROR_LEADING_COMBINING_MARK', 64); +} +if (!defined('IDNA_ERROR_DISALLOWED')) { + define('IDNA_ERROR_DISALLOWED', 128); +} +if (!defined('IDNA_ERROR_PUNYCODE')) { + define('IDNA_ERROR_PUNYCODE', 256); +} +if (!defined('IDNA_ERROR_LABEL_HAS_DOT')) { + define('IDNA_ERROR_LABEL_HAS_DOT', 512); +} +if (!defined('IDNA_ERROR_INVALID_ACE_LABEL')) { + define('IDNA_ERROR_INVALID_ACE_LABEL', 1024); +} +if (!defined('IDNA_ERROR_BIDI')) { + define('IDNA_ERROR_BIDI', 2048); +} +if (!defined('IDNA_ERROR_CONTEXTJ')) { + define('IDNA_ERROR_CONTEXTJ', 4096); +} + +if (\PHP_VERSION_ID < 70400) { + if (!function_exists('idn_to_ascii')) { + function idn_to_ascii($domain, $flags = 0, $variant = \INTL_IDNA_VARIANT_2003, &$idna_info = null) { return p\Idn::idn_to_ascii($domain, $flags, $variant, $idna_info); } + } + if (!function_exists('idn_to_utf8')) { + function idn_to_utf8($domain, $flags = 0, $variant = \INTL_IDNA_VARIANT_2003, &$idna_info = null) { return p\Idn::idn_to_utf8($domain, $flags, $variant, $idna_info); } + } +} else { + if (!function_exists('idn_to_ascii')) { + function idn_to_ascii($domain, $flags = 0, $variant = \INTL_IDNA_VARIANT_UTS46, &$idna_info = null) { return p\Idn::idn_to_ascii($domain, $flags, $variant, $idna_info); } + } + if (!function_exists('idn_to_utf8')) { + function idn_to_utf8($domain, $flags = 0, $variant = \INTL_IDNA_VARIANT_UTS46, &$idna_info = null) { return p\Idn::idn_to_utf8($domain, $flags, $variant, $idna_info); } + } +} diff --git a/pandora_console/vendor/symfony/polyfill-intl-idn/bootstrap80.php b/pandora_console/vendor/symfony/polyfill-intl-idn/bootstrap80.php new file mode 100644 index 0000000000..a62c2d69bf --- /dev/null +++ b/pandora_console/vendor/symfony/polyfill-intl-idn/bootstrap80.php @@ -0,0 +1,125 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +use Symfony\Polyfill\Intl\Idn as p; + +if (!defined('U_IDNA_PROHIBITED_ERROR')) { + define('U_IDNA_PROHIBITED_ERROR', 66560); +} +if (!defined('U_IDNA_ERROR_START')) { + define('U_IDNA_ERROR_START', 66560); +} +if (!defined('U_IDNA_UNASSIGNED_ERROR')) { + define('U_IDNA_UNASSIGNED_ERROR', 66561); +} +if (!defined('U_IDNA_CHECK_BIDI_ERROR')) { + define('U_IDNA_CHECK_BIDI_ERROR', 66562); +} +if (!defined('U_IDNA_STD3_ASCII_RULES_ERROR')) { + define('U_IDNA_STD3_ASCII_RULES_ERROR', 66563); +} +if (!defined('U_IDNA_ACE_PREFIX_ERROR')) { + define('U_IDNA_ACE_PREFIX_ERROR', 66564); +} +if (!defined('U_IDNA_VERIFICATION_ERROR')) { + define('U_IDNA_VERIFICATION_ERROR', 66565); +} +if (!defined('U_IDNA_LABEL_TOO_LONG_ERROR')) { + define('U_IDNA_LABEL_TOO_LONG_ERROR', 66566); +} +if (!defined('U_IDNA_ZERO_LENGTH_LABEL_ERROR')) { + define('U_IDNA_ZERO_LENGTH_LABEL_ERROR', 66567); +} +if (!defined('U_IDNA_DOMAIN_NAME_TOO_LONG_ERROR')) { + define('U_IDNA_DOMAIN_NAME_TOO_LONG_ERROR', 66568); +} +if (!defined('U_IDNA_ERROR_LIMIT')) { + define('U_IDNA_ERROR_LIMIT', 66569); +} +if (!defined('U_STRINGPREP_PROHIBITED_ERROR')) { + define('U_STRINGPREP_PROHIBITED_ERROR', 66560); +} +if (!defined('U_STRINGPREP_UNASSIGNED_ERROR')) { + define('U_STRINGPREP_UNASSIGNED_ERROR', 66561); +} +if (!defined('U_STRINGPREP_CHECK_BIDI_ERROR')) { + define('U_STRINGPREP_CHECK_BIDI_ERROR', 66562); +} +if (!defined('IDNA_DEFAULT')) { + define('IDNA_DEFAULT', 0); +} +if (!defined('IDNA_ALLOW_UNASSIGNED')) { + define('IDNA_ALLOW_UNASSIGNED', 1); +} +if (!defined('IDNA_USE_STD3_RULES')) { + define('IDNA_USE_STD3_RULES', 2); +} +if (!defined('IDNA_CHECK_BIDI')) { + define('IDNA_CHECK_BIDI', 4); +} +if (!defined('IDNA_CHECK_CONTEXTJ')) { + define('IDNA_CHECK_CONTEXTJ', 8); +} +if (!defined('IDNA_NONTRANSITIONAL_TO_ASCII')) { + define('IDNA_NONTRANSITIONAL_TO_ASCII', 16); +} +if (!defined('IDNA_NONTRANSITIONAL_TO_UNICODE')) { + define('IDNA_NONTRANSITIONAL_TO_UNICODE', 32); +} +if (!defined('INTL_IDNA_VARIANT_UTS46')) { + define('INTL_IDNA_VARIANT_UTS46', 1); +} +if (!defined('IDNA_ERROR_EMPTY_LABEL')) { + define('IDNA_ERROR_EMPTY_LABEL', 1); +} +if (!defined('IDNA_ERROR_LABEL_TOO_LONG')) { + define('IDNA_ERROR_LABEL_TOO_LONG', 2); +} +if (!defined('IDNA_ERROR_DOMAIN_NAME_TOO_LONG')) { + define('IDNA_ERROR_DOMAIN_NAME_TOO_LONG', 4); +} +if (!defined('IDNA_ERROR_LEADING_HYPHEN')) { + define('IDNA_ERROR_LEADING_HYPHEN', 8); +} +if (!defined('IDNA_ERROR_TRAILING_HYPHEN')) { + define('IDNA_ERROR_TRAILING_HYPHEN', 16); +} +if (!defined('IDNA_ERROR_HYPHEN_3_4')) { + define('IDNA_ERROR_HYPHEN_3_4', 32); +} +if (!defined('IDNA_ERROR_LEADING_COMBINING_MARK')) { + define('IDNA_ERROR_LEADING_COMBINING_MARK', 64); +} +if (!defined('IDNA_ERROR_DISALLOWED')) { + define('IDNA_ERROR_DISALLOWED', 128); +} +if (!defined('IDNA_ERROR_PUNYCODE')) { + define('IDNA_ERROR_PUNYCODE', 256); +} +if (!defined('IDNA_ERROR_LABEL_HAS_DOT')) { + define('IDNA_ERROR_LABEL_HAS_DOT', 512); +} +if (!defined('IDNA_ERROR_INVALID_ACE_LABEL')) { + define('IDNA_ERROR_INVALID_ACE_LABEL', 1024); +} +if (!defined('IDNA_ERROR_BIDI')) { + define('IDNA_ERROR_BIDI', 2048); +} +if (!defined('IDNA_ERROR_CONTEXTJ')) { + define('IDNA_ERROR_CONTEXTJ', 4096); +} + +if (!function_exists('idn_to_ascii')) { + function idn_to_ascii(?string $domain, ?int $flags = IDNA_DEFAULT, ?int $variant = INTL_IDNA_VARIANT_UTS46, &$idna_info = null): string|false { return p\Idn::idn_to_ascii((string) $domain, (int) $flags, (int) $variant, $idna_info); } +} +if (!function_exists('idn_to_utf8')) { + function idn_to_utf8(?string $domain, ?int $flags = IDNA_DEFAULT, ?int $variant = INTL_IDNA_VARIANT_UTS46, &$idna_info = null): string|false { return p\Idn::idn_to_utf8((string) $domain, (int) $flags, (int) $variant, $idna_info); } +} diff --git a/pandora_console/vendor/symfony/polyfill-intl-idn/composer.json b/pandora_console/vendor/symfony/polyfill-intl-idn/composer.json new file mode 100644 index 0000000000..c5a2a462a7 --- /dev/null +++ b/pandora_console/vendor/symfony/polyfill-intl-idn/composer.json @@ -0,0 +1,44 @@ +{ + "name": "symfony/polyfill-intl-idn", + "type": "library", + "description": "Symfony polyfill for intl's idn_to_ascii and idn_to_utf8 functions", + "keywords": ["polyfill", "shim", "compatibility", "portable", "intl", "idn"], + "homepage": "https://symfony.com", + "license": "MIT", + "authors": [ + { + "name": "Laurent Bassin", + "email": "laurent@bassin.info" + }, + { + "name": "Trevor Rowbotham", + "email": "trevor.rowbotham@pm.me" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "require": { + "php": ">=7.1", + "symfony/polyfill-intl-normalizer": "^1.10", + "symfony/polyfill-php72": "^1.10" + }, + "autoload": { + "psr-4": { "Symfony\\Polyfill\\Intl\\Idn\\": "" }, + "files": [ "bootstrap.php" ] + }, + "suggest": { + "ext-intl": "For best performance" + }, + "minimum-stability": "dev", + "extra": { + "branch-alias": { + "dev-main": "1.23-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + } +} diff --git a/pandora_console/vendor/symfony/polyfill-intl-normalizer/LICENSE b/pandora_console/vendor/symfony/polyfill-intl-normalizer/LICENSE new file mode 100644 index 0000000000..4cd8bdd300 --- /dev/null +++ b/pandora_console/vendor/symfony/polyfill-intl-normalizer/LICENSE @@ -0,0 +1,19 @@ +Copyright (c) 2015-2019 Fabien Potencier + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is furnished +to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/pandora_console/vendor/symfony/polyfill-intl-normalizer/Normalizer.php b/pandora_console/vendor/symfony/polyfill-intl-normalizer/Normalizer.php new file mode 100644 index 0000000000..4443c2322a --- /dev/null +++ b/pandora_console/vendor/symfony/polyfill-intl-normalizer/Normalizer.php @@ -0,0 +1,310 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Polyfill\Intl\Normalizer; + +/** + * Normalizer is a PHP fallback implementation of the Normalizer class provided by the intl extension. + * + * It has been validated with Unicode 6.3 Normalization Conformance Test. + * See http://www.unicode.org/reports/tr15/ for detailed info about Unicode normalizations. + * + * @author Nicolas Grekas + * + * @internal + */ +class Normalizer +{ + public const FORM_D = \Normalizer::FORM_D; + public const FORM_KD = \Normalizer::FORM_KD; + public const FORM_C = \Normalizer::FORM_C; + public const FORM_KC = \Normalizer::FORM_KC; + public const NFD = \Normalizer::NFD; + public const NFKD = \Normalizer::NFKD; + public const NFC = \Normalizer::NFC; + public const NFKC = \Normalizer::NFKC; + + private static $C; + private static $D; + private static $KD; + private static $cC; + private static $ulenMask = ["\xC0" => 2, "\xD0" => 2, "\xE0" => 3, "\xF0" => 4]; + private static $ASCII = "\x20\x65\x69\x61\x73\x6E\x74\x72\x6F\x6C\x75\x64\x5D\x5B\x63\x6D\x70\x27\x0A\x67\x7C\x68\x76\x2E\x66\x62\x2C\x3A\x3D\x2D\x71\x31\x30\x43\x32\x2A\x79\x78\x29\x28\x4C\x39\x41\x53\x2F\x50\x22\x45\x6A\x4D\x49\x6B\x33\x3E\x35\x54\x3C\x44\x34\x7D\x42\x7B\x38\x46\x77\x52\x36\x37\x55\x47\x4E\x3B\x4A\x7A\x56\x23\x48\x4F\x57\x5F\x26\x21\x4B\x3F\x58\x51\x25\x59\x5C\x09\x5A\x2B\x7E\x5E\x24\x40\x60\x7F\x00\x01\x02\x03\x04\x05\x06\x07\x08\x0B\x0C\x0D\x0E\x0F\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1A\x1B\x1C\x1D\x1E\x1F"; + + public static function isNormalized(string $s, int $form = self::FORM_C) + { + if (!\in_array($form, [self::NFD, self::NFKD, self::NFC, self::NFKC])) { + return false; + } + if (!isset($s[strspn($s, self::$ASCII)])) { + return true; + } + if (self::NFC == $form && preg_match('//u', $s) && !preg_match('/[^\x00-\x{2FF}]/u', $s)) { + return true; + } + + return self::normalize($s, $form) === $s; + } + + public static function normalize(string $s, int $form = self::FORM_C) + { + if (!preg_match('//u', $s)) { + return false; + } + + switch ($form) { + case self::NFC: $C = true; $K = false; break; + case self::NFD: $C = false; $K = false; break; + case self::NFKC: $C = true; $K = true; break; + case self::NFKD: $C = false; $K = true; break; + default: + if (\defined('Normalizer::NONE') && \Normalizer::NONE == $form) { + return $s; + } + + if (80000 > \PHP_VERSION_ID) { + return false; + } + + throw new \ValueError('normalizer_normalize(): Argument #2 ($form) must be a a valid normalization form'); + } + + if ('' === $s) { + return ''; + } + + if ($K && null === self::$KD) { + self::$KD = self::getData('compatibilityDecomposition'); + } + + if (null === self::$D) { + self::$D = self::getData('canonicalDecomposition'); + self::$cC = self::getData('combiningClass'); + } + + if (null !== $mbEncoding = (2 /* MB_OVERLOAD_STRING */ & (int) ini_get('mbstring.func_overload')) ? mb_internal_encoding() : null) { + mb_internal_encoding('8bit'); + } + + $r = self::decompose($s, $K); + + if ($C) { + if (null === self::$C) { + self::$C = self::getData('canonicalComposition'); + } + + $r = self::recompose($r); + } + if (null !== $mbEncoding) { + mb_internal_encoding($mbEncoding); + } + + return $r; + } + + private static function recompose($s) + { + $ASCII = self::$ASCII; + $compMap = self::$C; + $combClass = self::$cC; + $ulenMask = self::$ulenMask; + + $result = $tail = ''; + + $i = $s[0] < "\x80" ? 1 : $ulenMask[$s[0] & "\xF0"]; + $len = \strlen($s); + + $lastUchr = substr($s, 0, $i); + $lastUcls = isset($combClass[$lastUchr]) ? 256 : 0; + + while ($i < $len) { + if ($s[$i] < "\x80") { + // ASCII chars + + if ($tail) { + $lastUchr .= $tail; + $tail = ''; + } + + if ($j = strspn($s, $ASCII, $i + 1)) { + $lastUchr .= substr($s, $i, $j); + $i += $j; + } + + $result .= $lastUchr; + $lastUchr = $s[$i]; + $lastUcls = 0; + ++$i; + continue; + } + + $ulen = $ulenMask[$s[$i] & "\xF0"]; + $uchr = substr($s, $i, $ulen); + + if ($lastUchr < "\xE1\x84\x80" || "\xE1\x84\x92" < $lastUchr + || $uchr < "\xE1\x85\xA1" || "\xE1\x85\xB5" < $uchr + || $lastUcls) { + // Table lookup and combining chars composition + + $ucls = $combClass[$uchr] ?? 0; + + if (isset($compMap[$lastUchr.$uchr]) && (!$lastUcls || $lastUcls < $ucls)) { + $lastUchr = $compMap[$lastUchr.$uchr]; + } elseif ($lastUcls = $ucls) { + $tail .= $uchr; + } else { + if ($tail) { + $lastUchr .= $tail; + $tail = ''; + } + + $result .= $lastUchr; + $lastUchr = $uchr; + } + } else { + // Hangul chars + + $L = \ord($lastUchr[2]) - 0x80; + $V = \ord($uchr[2]) - 0xA1; + $T = 0; + + $uchr = substr($s, $i + $ulen, 3); + + if ("\xE1\x86\xA7" <= $uchr && $uchr <= "\xE1\x87\x82") { + $T = \ord($uchr[2]) - 0xA7; + 0 > $T && $T += 0x40; + $ulen += 3; + } + + $L = 0xAC00 + ($L * 21 + $V) * 28 + $T; + $lastUchr = \chr(0xE0 | $L >> 12).\chr(0x80 | $L >> 6 & 0x3F).\chr(0x80 | $L & 0x3F); + } + + $i += $ulen; + } + + return $result.$lastUchr.$tail; + } + + private static function decompose($s, $c) + { + $result = ''; + + $ASCII = self::$ASCII; + $decompMap = self::$D; + $combClass = self::$cC; + $ulenMask = self::$ulenMask; + if ($c) { + $compatMap = self::$KD; + } + + $c = []; + $i = 0; + $len = \strlen($s); + + while ($i < $len) { + if ($s[$i] < "\x80") { + // ASCII chars + + if ($c) { + ksort($c); + $result .= implode('', $c); + $c = []; + } + + $j = 1 + strspn($s, $ASCII, $i + 1); + $result .= substr($s, $i, $j); + $i += $j; + continue; + } + + $ulen = $ulenMask[$s[$i] & "\xF0"]; + $uchr = substr($s, $i, $ulen); + $i += $ulen; + + if ($uchr < "\xEA\xB0\x80" || "\xED\x9E\xA3" < $uchr) { + // Table lookup + + if ($uchr !== $j = $compatMap[$uchr] ?? ($decompMap[$uchr] ?? $uchr)) { + $uchr = $j; + + $j = \strlen($uchr); + $ulen = $uchr[0] < "\x80" ? 1 : $ulenMask[$uchr[0] & "\xF0"]; + + if ($ulen != $j) { + // Put trailing chars in $s + + $j -= $ulen; + $i -= $j; + + if (0 > $i) { + $s = str_repeat(' ', -$i).$s; + $len -= $i; + $i = 0; + } + + while ($j--) { + $s[$i + $j] = $uchr[$ulen + $j]; + } + + $uchr = substr($uchr, 0, $ulen); + } + } + if (isset($combClass[$uchr])) { + // Combining chars, for sorting + + if (!isset($c[$combClass[$uchr]])) { + $c[$combClass[$uchr]] = ''; + } + $c[$combClass[$uchr]] .= $uchr; + continue; + } + } else { + // Hangul chars + + $uchr = unpack('C*', $uchr); + $j = (($uchr[1] - 224) << 12) + (($uchr[2] - 128) << 6) + $uchr[3] - 0xAC80; + + $uchr = "\xE1\x84".\chr(0x80 + (int) ($j / 588)) + ."\xE1\x85".\chr(0xA1 + (int) (($j % 588) / 28)); + + if ($j %= 28) { + $uchr .= $j < 25 + ? ("\xE1\x86".\chr(0xA7 + $j)) + : ("\xE1\x87".\chr(0x67 + $j)); + } + } + if ($c) { + ksort($c); + $result .= implode('', $c); + $c = []; + } + + $result .= $uchr; + } + + if ($c) { + ksort($c); + $result .= implode('', $c); + } + + return $result; + } + + private static function getData($file) + { + if (file_exists($file = __DIR__.'/Resources/unidata/'.$file.'.php')) { + return require $file; + } + + return false; + } +} diff --git a/pandora_console/vendor/symfony/polyfill-intl-normalizer/README.md b/pandora_console/vendor/symfony/polyfill-intl-normalizer/README.md new file mode 100644 index 0000000000..15060c5f1f --- /dev/null +++ b/pandora_console/vendor/symfony/polyfill-intl-normalizer/README.md @@ -0,0 +1,14 @@ +Symfony Polyfill / Intl: Normalizer +=================================== + +This component provides a fallback implementation for the +[`Normalizer`](https://php.net/Normalizer) class provided +by the [Intl](https://php.net/intl) extension. + +More information can be found in the +[main Polyfill README](https://github.com/symfony/polyfill/blob/master/README.md). + +License +======= + +This library is released under the [MIT license](LICENSE). diff --git a/pandora_console/vendor/symfony/polyfill-intl-normalizer/Resources/stubs/Normalizer.php b/pandora_console/vendor/symfony/polyfill-intl-normalizer/Resources/stubs/Normalizer.php new file mode 100644 index 0000000000..0fdfc890a2 --- /dev/null +++ b/pandora_console/vendor/symfony/polyfill-intl-normalizer/Resources/stubs/Normalizer.php @@ -0,0 +1,17 @@ + 'À', + 'Á' => 'Á', + 'Â' => 'Â', + 'Ã' => 'Ã', + 'Ä' => 'Ä', + 'Å' => 'Å', + 'Ç' => 'Ç', + 'È' => 'È', + 'É' => 'É', + 'Ê' => 'Ê', + 'Ë' => 'Ë', + 'Ì' => 'Ì', + 'Í' => 'Í', + 'Î' => 'Î', + 'Ï' => 'Ï', + 'Ñ' => 'Ñ', + 'Ò' => 'Ò', + 'Ó' => 'Ó', + 'Ô' => 'Ô', + 'Õ' => 'Õ', + 'Ö' => 'Ö', + 'Ù' => 'Ù', + 'Ú' => 'Ú', + 'Û' => 'Û', + 'Ü' => 'Ü', + 'Ý' => 'Ý', + 'à' => 'à', + 'á' => 'á', + 'â' => 'â', + 'ã' => 'ã', + 'ä' => 'ä', + 'å' => 'å', + 'ç' => 'ç', + 'è' => 'è', + 'é' => 'é', + 'ê' => 'ê', + 'ë' => 'ë', + 'ì' => 'ì', + 'í' => 'í', + 'î' => 'î', + 'ï' => 'ï', + 'ñ' => 'ñ', + 'ò' => 'ò', + 'ó' => 'ó', + 'ô' => 'ô', + 'õ' => 'õ', + 'ö' => 'ö', + 'ù' => 'ù', + 'ú' => 'ú', + 'û' => 'û', + 'ü' => 'ü', + 'ý' => 'ý', + 'ÿ' => 'ÿ', + 'Ā' => 'Ā', + 'ā' => 'ā', + 'Ă' => 'Ă', + 'ă' => 'ă', + 'Ą' => 'Ą', + 'ą' => 'ą', + 'Ć' => 'Ć', + 'ć' => 'ć', + 'Ĉ' => 'Ĉ', + 'ĉ' => 'ĉ', + 'Ċ' => 'Ċ', + 'ċ' => 'ċ', + 'Č' => 'Č', + 'č' => 'č', + 'Ď' => 'Ď', + 'ď' => 'ď', + 'Ē' => 'Ē', + 'ē' => 'ē', + 'Ĕ' => 'Ĕ', + 'ĕ' => 'ĕ', + 'Ė' => 'Ė', + 'ė' => 'ė', + 'Ę' => 'Ę', + 'ę' => 'ę', + 'Ě' => 'Ě', + 'ě' => 'ě', + 'Ĝ' => 'Ĝ', + 'ĝ' => 'ĝ', + 'Ğ' => 'Ğ', + 'ğ' => 'ğ', + 'Ġ' => 'Ġ', + 'ġ' => 'ġ', + 'Ģ' => 'Ģ', + 'ģ' => 'ģ', + 'Ĥ' => 'Ĥ', + 'ĥ' => 'ĥ', + 'Ĩ' => 'Ĩ', + 'ĩ' => 'ĩ', + 'Ī' => 'Ī', + 'ī' => 'ī', + 'Ĭ' => 'Ĭ', + 'ĭ' => 'ĭ', + 'Į' => 'Į', + 'į' => 'į', + 'İ' => 'İ', + 'Ĵ' => 'Ĵ', + 'ĵ' => 'ĵ', + 'Ķ' => 'Ķ', + 'ķ' => 'ķ', + 'Ĺ' => 'Ĺ', + 'ĺ' => 'ĺ', + 'Ļ' => 'Ļ', + 'ļ' => 'ļ', + 'Ľ' => 'Ľ', + 'ľ' => 'ľ', + 'Ń' => 'Ń', + 'ń' => 'ń', + 'Ņ' => 'Ņ', + 'ņ' => 'ņ', + 'Ň' => 'Ň', + 'ň' => 'ň', + 'Ō' => 'Ō', + 'ō' => 'ō', + 'Ŏ' => 'Ŏ', + 'ŏ' => 'ŏ', + 'Ő' => 'Ő', + 'ő' => 'ő', + 'Ŕ' => 'Ŕ', + 'ŕ' => 'ŕ', + 'Ŗ' => 'Ŗ', + 'ŗ' => 'ŗ', + 'Ř' => 'Ř', + 'ř' => 'ř', + 'Ś' => 'Ś', + 'ś' => 'ś', + 'Ŝ' => 'Ŝ', + 'ŝ' => 'ŝ', + 'Ş' => 'Ş', + 'ş' => 'ş', + 'Š' => 'Š', + 'š' => 'š', + 'Ţ' => 'Ţ', + 'ţ' => 'ţ', + 'Ť' => 'Ť', + 'ť' => 'ť', + 'Ũ' => 'Ũ', + 'ũ' => 'ũ', + 'Ū' => 'Ū', + 'ū' => 'ū', + 'Ŭ' => 'Ŭ', + 'ŭ' => 'ŭ', + 'Ů' => 'Ů', + 'ů' => 'ů', + 'Ű' => 'Ű', + 'ű' => 'ű', + 'Ų' => 'Ų', + 'ų' => 'ų', + 'Ŵ' => 'Ŵ', + 'ŵ' => 'ŵ', + 'Ŷ' => 'Ŷ', + 'ŷ' => 'ŷ', + 'Ÿ' => 'Ÿ', + 'Ź' => 'Ź', + 'ź' => 'ź', + 'Ż' => 'Ż', + 'ż' => 'ż', + 'Ž' => 'Ž', + 'ž' => 'ž', + 'Ơ' => 'Ơ', + 'ơ' => 'ơ', + 'Ư' => 'Ư', + 'ư' => 'ư', + 'Ǎ' => 'Ǎ', + 'ǎ' => 'ǎ', + 'Ǐ' => 'Ǐ', + 'ǐ' => 'ǐ', + 'Ǒ' => 'Ǒ', + 'ǒ' => 'ǒ', + 'Ǔ' => 'Ǔ', + 'ǔ' => 'ǔ', + 'Ǖ' => 'Ǖ', + 'ǖ' => 'ǖ', + 'Ǘ' => 'Ǘ', + 'ǘ' => 'ǘ', + 'Ǚ' => 'Ǚ', + 'ǚ' => 'ǚ', + 'Ǜ' => 'Ǜ', + 'ǜ' => 'ǜ', + 'Ǟ' => 'Ǟ', + 'ǟ' => 'ǟ', + 'Ǡ' => 'Ǡ', + 'ǡ' => 'ǡ', + 'Ǣ' => 'Ǣ', + 'ǣ' => 'ǣ', + 'Ǧ' => 'Ǧ', + 'ǧ' => 'ǧ', + 'Ǩ' => 'Ǩ', + 'ǩ' => 'ǩ', + 'Ǫ' => 'Ǫ', + 'ǫ' => 'ǫ', + 'Ǭ' => 'Ǭ', + 'ǭ' => 'ǭ', + 'Ǯ' => 'Ǯ', + 'ǯ' => 'ǯ', + 'ǰ' => 'ǰ', + 'Ǵ' => 'Ǵ', + 'ǵ' => 'ǵ', + 'Ǹ' => 'Ǹ', + 'ǹ' => 'ǹ', + 'Ǻ' => 'Ǻ', + 'ǻ' => 'ǻ', + 'Ǽ' => 'Ǽ', + 'ǽ' => 'ǽ', + 'Ǿ' => 'Ǿ', + 'ǿ' => 'ǿ', + 'Ȁ' => 'Ȁ', + 'ȁ' => 'ȁ', + 'Ȃ' => 'Ȃ', + 'ȃ' => 'ȃ', + 'Ȅ' => 'Ȅ', + 'ȅ' => 'ȅ', + 'Ȇ' => 'Ȇ', + 'ȇ' => 'ȇ', + 'Ȉ' => 'Ȉ', + 'ȉ' => 'ȉ', + 'Ȋ' => 'Ȋ', + 'ȋ' => 'ȋ', + 'Ȍ' => 'Ȍ', + 'ȍ' => 'ȍ', + 'Ȏ' => 'Ȏ', + 'ȏ' => 'ȏ', + 'Ȑ' => 'Ȑ', + 'ȑ' => 'ȑ', + 'Ȓ' => 'Ȓ', + 'ȓ' => 'ȓ', + 'Ȕ' => 'Ȕ', + 'ȕ' => 'ȕ', + 'Ȗ' => 'Ȗ', + 'ȗ' => 'ȗ', + 'Ș' => 'Ș', + 'ș' => 'ș', + 'Ț' => 'Ț', + 'ț' => 'ț', + 'Ȟ' => 'Ȟ', + 'ȟ' => 'ȟ', + 'Ȧ' => 'Ȧ', + 'ȧ' => 'ȧ', + 'Ȩ' => 'Ȩ', + 'ȩ' => 'ȩ', + 'Ȫ' => 'Ȫ', + 'ȫ' => 'ȫ', + 'Ȭ' => 'Ȭ', + 'ȭ' => 'ȭ', + 'Ȯ' => 'Ȯ', + 'ȯ' => 'ȯ', + 'Ȱ' => 'Ȱ', + 'ȱ' => 'ȱ', + 'Ȳ' => 'Ȳ', + 'ȳ' => 'ȳ', + '΅' => '΅', + 'Ά' => 'Ά', + 'Έ' => 'Έ', + 'Ή' => 'Ή', + 'Ί' => 'Ί', + 'Ό' => 'Ό', + 'Ύ' => 'Ύ', + 'Ώ' => 'Ώ', + 'ΐ' => 'ΐ', + 'Ϊ' => 'Ϊ', + 'Ϋ' => 'Ϋ', + 'ά' => 'ά', + 'έ' => 'έ', + 'ή' => 'ή', + 'ί' => 'ί', + 'ΰ' => 'ΰ', + 'ϊ' => 'ϊ', + 'ϋ' => 'ϋ', + 'ό' => 'ό', + 'ύ' => 'ύ', + 'ώ' => 'ώ', + 'ϓ' => 'ϓ', + 'ϔ' => 'ϔ', + 'Ѐ' => 'Ѐ', + 'Ё' => 'Ё', + 'Ѓ' => 'Ѓ', + 'Ї' => 'Ї', + 'Ќ' => 'Ќ', + 'Ѝ' => 'Ѝ', + 'Ў' => 'Ў', + 'Й' => 'Й', + 'й' => 'й', + 'ѐ' => 'ѐ', + 'ё' => 'ё', + 'ѓ' => 'ѓ', + 'ї' => 'ї', + 'ќ' => 'ќ', + 'ѝ' => 'ѝ', + 'ў' => 'ў', + 'Ѷ' => 'Ѷ', + 'ѷ' => 'ѷ', + 'Ӂ' => 'Ӂ', + 'ӂ' => 'ӂ', + 'Ӑ' => 'Ӑ', + 'ӑ' => 'ӑ', + 'Ӓ' => 'Ӓ', + 'ӓ' => 'ӓ', + 'Ӗ' => 'Ӗ', + 'ӗ' => 'ӗ', + 'Ӛ' => 'Ӛ', + 'ӛ' => 'ӛ', + 'Ӝ' => 'Ӝ', + 'ӝ' => 'ӝ', + 'Ӟ' => 'Ӟ', + 'ӟ' => 'ӟ', + 'Ӣ' => 'Ӣ', + 'ӣ' => 'ӣ', + 'Ӥ' => 'Ӥ', + 'ӥ' => 'ӥ', + 'Ӧ' => 'Ӧ', + 'ӧ' => 'ӧ', + 'Ӫ' => 'Ӫ', + 'ӫ' => 'ӫ', + 'Ӭ' => 'Ӭ', + 'ӭ' => 'ӭ', + 'Ӯ' => 'Ӯ', + 'ӯ' => 'ӯ', + 'Ӱ' => 'Ӱ', + 'ӱ' => 'ӱ', + 'Ӳ' => 'Ӳ', + 'ӳ' => 'ӳ', + 'Ӵ' => 'Ӵ', + 'ӵ' => 'ӵ', + 'Ӹ' => 'Ӹ', + 'ӹ' => 'ӹ', + 'آ' => 'آ', + 'أ' => 'أ', + 'ؤ' => 'ؤ', + 'إ' => 'إ', + 'ئ' => 'ئ', + 'ۀ' => 'ۀ', + 'ۂ' => 'ۂ', + 'ۓ' => 'ۓ', + 'ऩ' => 'ऩ', + 'ऱ' => 'ऱ', + 'ऴ' => 'ऴ', + 'ো' => 'ো', + 'ৌ' => 'ৌ', + 'ୈ' => 'ୈ', + 'ୋ' => 'ୋ', + 'ୌ' => 'ୌ', + 'ஔ' => 'ஔ', + 'ொ' => 'ொ', + 'ோ' => 'ோ', + 'ௌ' => 'ௌ', + 'ై' => 'ై', + 'ೀ' => 'ೀ', + 'ೇ' => 'ೇ', + 'ೈ' => 'ೈ', + 'ೊ' => 'ೊ', + 'ೋ' => 'ೋ', + 'ൊ' => 'ൊ', + 'ോ' => 'ോ', + 'ൌ' => 'ൌ', + 'ේ' => 'ේ', + 'ො' => 'ො', + 'ෝ' => 'ෝ', + 'ෞ' => 'ෞ', + 'ဦ' => 'ဦ', + 'ᬆ' => 'ᬆ', + 'ᬈ' => 'ᬈ', + 'ᬊ' => 'ᬊ', + 'ᬌ' => 'ᬌ', + 'ᬎ' => 'ᬎ', + 'ᬒ' => 'ᬒ', + 'ᬻ' => 'ᬻ', + 'ᬽ' => 'ᬽ', + 'ᭀ' => 'ᭀ', + 'ᭁ' => 'ᭁ', + 'ᭃ' => 'ᭃ', + 'Ḁ' => 'Ḁ', + 'ḁ' => 'ḁ', + 'Ḃ' => 'Ḃ', + 'ḃ' => 'ḃ', + 'Ḅ' => 'Ḅ', + 'ḅ' => 'ḅ', + 'Ḇ' => 'Ḇ', + 'ḇ' => 'ḇ', + 'Ḉ' => 'Ḉ', + 'ḉ' => 'ḉ', + 'Ḋ' => 'Ḋ', + 'ḋ' => 'ḋ', + 'Ḍ' => 'Ḍ', + 'ḍ' => 'ḍ', + 'Ḏ' => 'Ḏ', + 'ḏ' => 'ḏ', + 'Ḑ' => 'Ḑ', + 'ḑ' => 'ḑ', + 'Ḓ' => 'Ḓ', + 'ḓ' => 'ḓ', + 'Ḕ' => 'Ḕ', + 'ḕ' => 'ḕ', + 'Ḗ' => 'Ḗ', + 'ḗ' => 'ḗ', + 'Ḙ' => 'Ḙ', + 'ḙ' => 'ḙ', + 'Ḛ' => 'Ḛ', + 'ḛ' => 'ḛ', + 'Ḝ' => 'Ḝ', + 'ḝ' => 'ḝ', + 'Ḟ' => 'Ḟ', + 'ḟ' => 'ḟ', + 'Ḡ' => 'Ḡ', + 'ḡ' => 'ḡ', + 'Ḣ' => 'Ḣ', + 'ḣ' => 'ḣ', + 'Ḥ' => 'Ḥ', + 'ḥ' => 'ḥ', + 'Ḧ' => 'Ḧ', + 'ḧ' => 'ḧ', + 'Ḩ' => 'Ḩ', + 'ḩ' => 'ḩ', + 'Ḫ' => 'Ḫ', + 'ḫ' => 'ḫ', + 'Ḭ' => 'Ḭ', + 'ḭ' => 'ḭ', + 'Ḯ' => 'Ḯ', + 'ḯ' => 'ḯ', + 'Ḱ' => 'Ḱ', + 'ḱ' => 'ḱ', + 'Ḳ' => 'Ḳ', + 'ḳ' => 'ḳ', + 'Ḵ' => 'Ḵ', + 'ḵ' => 'ḵ', + 'Ḷ' => 'Ḷ', + 'ḷ' => 'ḷ', + 'Ḹ' => 'Ḹ', + 'ḹ' => 'ḹ', + 'Ḻ' => 'Ḻ', + 'ḻ' => 'ḻ', + 'Ḽ' => 'Ḽ', + 'ḽ' => 'ḽ', + 'Ḿ' => 'Ḿ', + 'ḿ' => 'ḿ', + 'Ṁ' => 'Ṁ', + 'ṁ' => 'ṁ', + 'Ṃ' => 'Ṃ', + 'ṃ' => 'ṃ', + 'Ṅ' => 'Ṅ', + 'ṅ' => 'ṅ', + 'Ṇ' => 'Ṇ', + 'ṇ' => 'ṇ', + 'Ṉ' => 'Ṉ', + 'ṉ' => 'ṉ', + 'Ṋ' => 'Ṋ', + 'ṋ' => 'ṋ', + 'Ṍ' => 'Ṍ', + 'ṍ' => 'ṍ', + 'Ṏ' => 'Ṏ', + 'ṏ' => 'ṏ', + 'Ṑ' => 'Ṑ', + 'ṑ' => 'ṑ', + 'Ṓ' => 'Ṓ', + 'ṓ' => 'ṓ', + 'Ṕ' => 'Ṕ', + 'ṕ' => 'ṕ', + 'Ṗ' => 'Ṗ', + 'ṗ' => 'ṗ', + 'Ṙ' => 'Ṙ', + 'ṙ' => 'ṙ', + 'Ṛ' => 'Ṛ', + 'ṛ' => 'ṛ', + 'Ṝ' => 'Ṝ', + 'ṝ' => 'ṝ', + 'Ṟ' => 'Ṟ', + 'ṟ' => 'ṟ', + 'Ṡ' => 'Ṡ', + 'ṡ' => 'ṡ', + 'Ṣ' => 'Ṣ', + 'ṣ' => 'ṣ', + 'Ṥ' => 'Ṥ', + 'ṥ' => 'ṥ', + 'Ṧ' => 'Ṧ', + 'ṧ' => 'ṧ', + 'Ṩ' => 'Ṩ', + 'ṩ' => 'ṩ', + 'Ṫ' => 'Ṫ', + 'ṫ' => 'ṫ', + 'Ṭ' => 'Ṭ', + 'ṭ' => 'ṭ', + 'Ṯ' => 'Ṯ', + 'ṯ' => 'ṯ', + 'Ṱ' => 'Ṱ', + 'ṱ' => 'ṱ', + 'Ṳ' => 'Ṳ', + 'ṳ' => 'ṳ', + 'Ṵ' => 'Ṵ', + 'ṵ' => 'ṵ', + 'Ṷ' => 'Ṷ', + 'ṷ' => 'ṷ', + 'Ṹ' => 'Ṹ', + 'ṹ' => 'ṹ', + 'Ṻ' => 'Ṻ', + 'ṻ' => 'ṻ', + 'Ṽ' => 'Ṽ', + 'ṽ' => 'ṽ', + 'Ṿ' => 'Ṿ', + 'ṿ' => 'ṿ', + 'Ẁ' => 'Ẁ', + 'ẁ' => 'ẁ', + 'Ẃ' => 'Ẃ', + 'ẃ' => 'ẃ', + 'Ẅ' => 'Ẅ', + 'ẅ' => 'ẅ', + 'Ẇ' => 'Ẇ', + 'ẇ' => 'ẇ', + 'Ẉ' => 'Ẉ', + 'ẉ' => 'ẉ', + 'Ẋ' => 'Ẋ', + 'ẋ' => 'ẋ', + 'Ẍ' => 'Ẍ', + 'ẍ' => 'ẍ', + 'Ẏ' => 'Ẏ', + 'ẏ' => 'ẏ', + 'Ẑ' => 'Ẑ', + 'ẑ' => 'ẑ', + 'Ẓ' => 'Ẓ', + 'ẓ' => 'ẓ', + 'Ẕ' => 'Ẕ', + 'ẕ' => 'ẕ', + 'ẖ' => 'ẖ', + 'ẗ' => 'ẗ', + 'ẘ' => 'ẘ', + 'ẙ' => 'ẙ', + 'ẛ' => 'ẛ', + 'Ạ' => 'Ạ', + 'ạ' => 'ạ', + 'Ả' => 'Ả', + 'ả' => 'ả', + 'Ấ' => 'Ấ', + 'ấ' => 'ấ', + 'Ầ' => 'Ầ', + 'ầ' => 'ầ', + 'Ẩ' => 'Ẩ', + 'ẩ' => 'ẩ', + 'Ẫ' => 'Ẫ', + 'ẫ' => 'ẫ', + 'Ậ' => 'Ậ', + 'ậ' => 'ậ', + 'Ắ' => 'Ắ', + 'ắ' => 'ắ', + 'Ằ' => 'Ằ', + 'ằ' => 'ằ', + 'Ẳ' => 'Ẳ', + 'ẳ' => 'ẳ', + 'Ẵ' => 'Ẵ', + 'ẵ' => 'ẵ', + 'Ặ' => 'Ặ', + 'ặ' => 'ặ', + 'Ẹ' => 'Ẹ', + 'ẹ' => 'ẹ', + 'Ẻ' => 'Ẻ', + 'ẻ' => 'ẻ', + 'Ẽ' => 'Ẽ', + 'ẽ' => 'ẽ', + 'Ế' => 'Ế', + 'ế' => 'ế', + 'Ề' => 'Ề', + 'ề' => 'ề', + 'Ể' => 'Ể', + 'ể' => 'ể', + 'Ễ' => 'Ễ', + 'ễ' => 'ễ', + 'Ệ' => 'Ệ', + 'ệ' => 'ệ', + 'Ỉ' => 'Ỉ', + 'ỉ' => 'ỉ', + 'Ị' => 'Ị', + 'ị' => 'ị', + 'Ọ' => 'Ọ', + 'ọ' => 'ọ', + 'Ỏ' => 'Ỏ', + 'ỏ' => 'ỏ', + 'Ố' => 'Ố', + 'ố' => 'ố', + 'Ồ' => 'Ồ', + 'ồ' => 'ồ', + 'Ổ' => 'Ổ', + 'ổ' => 'ổ', + 'Ỗ' => 'Ỗ', + 'ỗ' => 'ỗ', + 'Ộ' => 'Ộ', + 'ộ' => 'ộ', + 'Ớ' => 'Ớ', + 'ớ' => 'ớ', + 'Ờ' => 'Ờ', + 'ờ' => 'ờ', + 'Ở' => 'Ở', + 'ở' => 'ở', + 'Ỡ' => 'Ỡ', + 'ỡ' => 'ỡ', + 'Ợ' => 'Ợ', + 'ợ' => 'ợ', + 'Ụ' => 'Ụ', + 'ụ' => 'ụ', + 'Ủ' => 'Ủ', + 'ủ' => 'ủ', + 'Ứ' => 'Ứ', + 'ứ' => 'ứ', + 'Ừ' => 'Ừ', + 'ừ' => 'ừ', + 'Ử' => 'Ử', + 'ử' => 'ử', + 'Ữ' => 'Ữ', + 'ữ' => 'ữ', + 'Ự' => 'Ự', + 'ự' => 'ự', + 'Ỳ' => 'Ỳ', + 'ỳ' => 'ỳ', + 'Ỵ' => 'Ỵ', + 'ỵ' => 'ỵ', + 'Ỷ' => 'Ỷ', + 'ỷ' => 'ỷ', + 'Ỹ' => 'Ỹ', + 'ỹ' => 'ỹ', + 'ἀ' => 'ἀ', + 'ἁ' => 'ἁ', + 'ἂ' => 'ἂ', + 'ἃ' => 'ἃ', + 'ἄ' => 'ἄ', + 'ἅ' => 'ἅ', + 'ἆ' => 'ἆ', + 'ἇ' => 'ἇ', + 'Ἀ' => 'Ἀ', + 'Ἁ' => 'Ἁ', + 'Ἂ' => 'Ἂ', + 'Ἃ' => 'Ἃ', + 'Ἄ' => 'Ἄ', + 'Ἅ' => 'Ἅ', + 'Ἆ' => 'Ἆ', + 'Ἇ' => 'Ἇ', + 'ἐ' => 'ἐ', + 'ἑ' => 'ἑ', + 'ἒ' => 'ἒ', + 'ἓ' => 'ἓ', + 'ἔ' => 'ἔ', + 'ἕ' => 'ἕ', + 'Ἐ' => 'Ἐ', + 'Ἑ' => 'Ἑ', + 'Ἒ' => 'Ἒ', + 'Ἓ' => 'Ἓ', + 'Ἔ' => 'Ἔ', + 'Ἕ' => 'Ἕ', + 'ἠ' => 'ἠ', + 'ἡ' => 'ἡ', + 'ἢ' => 'ἢ', + 'ἣ' => 'ἣ', + 'ἤ' => 'ἤ', + 'ἥ' => 'ἥ', + 'ἦ' => 'ἦ', + 'ἧ' => 'ἧ', + 'Ἠ' => 'Ἠ', + 'Ἡ' => 'Ἡ', + 'Ἢ' => 'Ἢ', + 'Ἣ' => 'Ἣ', + 'Ἤ' => 'Ἤ', + 'Ἥ' => 'Ἥ', + 'Ἦ' => 'Ἦ', + 'Ἧ' => 'Ἧ', + 'ἰ' => 'ἰ', + 'ἱ' => 'ἱ', + 'ἲ' => 'ἲ', + 'ἳ' => 'ἳ', + 'ἴ' => 'ἴ', + 'ἵ' => 'ἵ', + 'ἶ' => 'ἶ', + 'ἷ' => 'ἷ', + 'Ἰ' => 'Ἰ', + 'Ἱ' => 'Ἱ', + 'Ἲ' => 'Ἲ', + 'Ἳ' => 'Ἳ', + 'Ἴ' => 'Ἴ', + 'Ἵ' => 'Ἵ', + 'Ἶ' => 'Ἶ', + 'Ἷ' => 'Ἷ', + 'ὀ' => 'ὀ', + 'ὁ' => 'ὁ', + 'ὂ' => 'ὂ', + 'ὃ' => 'ὃ', + 'ὄ' => 'ὄ', + 'ὅ' => 'ὅ', + 'Ὀ' => 'Ὀ', + 'Ὁ' => 'Ὁ', + 'Ὂ' => 'Ὂ', + 'Ὃ' => 'Ὃ', + 'Ὄ' => 'Ὄ', + 'Ὅ' => 'Ὅ', + 'ὐ' => 'ὐ', + 'ὑ' => 'ὑ', + 'ὒ' => 'ὒ', + 'ὓ' => 'ὓ', + 'ὔ' => 'ὔ', + 'ὕ' => 'ὕ', + 'ὖ' => 'ὖ', + 'ὗ' => 'ὗ', + 'Ὑ' => 'Ὑ', + 'Ὓ' => 'Ὓ', + 'Ὕ' => 'Ὕ', + 'Ὗ' => 'Ὗ', + 'ὠ' => 'ὠ', + 'ὡ' => 'ὡ', + 'ὢ' => 'ὢ', + 'ὣ' => 'ὣ', + 'ὤ' => 'ὤ', + 'ὥ' => 'ὥ', + 'ὦ' => 'ὦ', + 'ὧ' => 'ὧ', + 'Ὠ' => 'Ὠ', + 'Ὡ' => 'Ὡ', + 'Ὢ' => 'Ὢ', + 'Ὣ' => 'Ὣ', + 'Ὤ' => 'Ὤ', + 'Ὥ' => 'Ὥ', + 'Ὦ' => 'Ὦ', + 'Ὧ' => 'Ὧ', + 'ὰ' => 'ὰ', + 'ὲ' => 'ὲ', + 'ὴ' => 'ὴ', + 'ὶ' => 'ὶ', + 'ὸ' => 'ὸ', + 'ὺ' => 'ὺ', + 'ὼ' => 'ὼ', + 'ᾀ' => 'ᾀ', + 'ᾁ' => 'ᾁ', + 'ᾂ' => 'ᾂ', + 'ᾃ' => 'ᾃ', + 'ᾄ' => 'ᾄ', + 'ᾅ' => 'ᾅ', + 'ᾆ' => 'ᾆ', + 'ᾇ' => 'ᾇ', + 'ᾈ' => 'ᾈ', + 'ᾉ' => 'ᾉ', + 'ᾊ' => 'ᾊ', + 'ᾋ' => 'ᾋ', + 'ᾌ' => 'ᾌ', + 'ᾍ' => 'ᾍ', + 'ᾎ' => 'ᾎ', + 'ᾏ' => 'ᾏ', + 'ᾐ' => 'ᾐ', + 'ᾑ' => 'ᾑ', + 'ᾒ' => 'ᾒ', + 'ᾓ' => 'ᾓ', + 'ᾔ' => 'ᾔ', + 'ᾕ' => 'ᾕ', + 'ᾖ' => 'ᾖ', + 'ᾗ' => 'ᾗ', + 'ᾘ' => 'ᾘ', + 'ᾙ' => 'ᾙ', + 'ᾚ' => 'ᾚ', + 'ᾛ' => 'ᾛ', + 'ᾜ' => 'ᾜ', + 'ᾝ' => 'ᾝ', + 'ᾞ' => 'ᾞ', + 'ᾟ' => 'ᾟ', + 'ᾠ' => 'ᾠ', + 'ᾡ' => 'ᾡ', + 'ᾢ' => 'ᾢ', + 'ᾣ' => 'ᾣ', + 'ᾤ' => 'ᾤ', + 'ᾥ' => 'ᾥ', + 'ᾦ' => 'ᾦ', + 'ᾧ' => 'ᾧ', + 'ᾨ' => 'ᾨ', + 'ᾩ' => 'ᾩ', + 'ᾪ' => 'ᾪ', + 'ᾫ' => 'ᾫ', + 'ᾬ' => 'ᾬ', + 'ᾭ' => 'ᾭ', + 'ᾮ' => 'ᾮ', + 'ᾯ' => 'ᾯ', + 'ᾰ' => 'ᾰ', + 'ᾱ' => 'ᾱ', + 'ᾲ' => 'ᾲ', + 'ᾳ' => 'ᾳ', + 'ᾴ' => 'ᾴ', + 'ᾶ' => 'ᾶ', + 'ᾷ' => 'ᾷ', + 'Ᾰ' => 'Ᾰ', + 'Ᾱ' => 'Ᾱ', + 'Ὰ' => 'Ὰ', + 'ᾼ' => 'ᾼ', + '῁' => '῁', + 'ῂ' => 'ῂ', + 'ῃ' => 'ῃ', + 'ῄ' => 'ῄ', + 'ῆ' => 'ῆ', + 'ῇ' => 'ῇ', + 'Ὲ' => 'Ὲ', + 'Ὴ' => 'Ὴ', + 'ῌ' => 'ῌ', + '῍' => '῍', + '῎' => '῎', + '῏' => '῏', + 'ῐ' => 'ῐ', + 'ῑ' => 'ῑ', + 'ῒ' => 'ῒ', + 'ῖ' => 'ῖ', + 'ῗ' => 'ῗ', + 'Ῐ' => 'Ῐ', + 'Ῑ' => 'Ῑ', + 'Ὶ' => 'Ὶ', + '῝' => '῝', + '῞' => '῞', + '῟' => '῟', + 'ῠ' => 'ῠ', + 'ῡ' => 'ῡ', + 'ῢ' => 'ῢ', + 'ῤ' => 'ῤ', + 'ῥ' => 'ῥ', + 'ῦ' => 'ῦ', + 'ῧ' => 'ῧ', + 'Ῠ' => 'Ῠ', + 'Ῡ' => 'Ῡ', + 'Ὺ' => 'Ὺ', + 'Ῥ' => 'Ῥ', + '῭' => '῭', + 'ῲ' => 'ῲ', + 'ῳ' => 'ῳ', + 'ῴ' => 'ῴ', + 'ῶ' => 'ῶ', + 'ῷ' => 'ῷ', + 'Ὸ' => 'Ὸ', + 'Ὼ' => 'Ὼ', + 'ῼ' => 'ῼ', + '↚' => '↚', + '↛' => '↛', + '↮' => '↮', + '⇍' => '⇍', + '⇎' => '⇎', + '⇏' => '⇏', + '∄' => '∄', + '∉' => '∉', + '∌' => '∌', + '∤' => '∤', + '∦' => '∦', + '≁' => '≁', + '≄' => '≄', + '≇' => '≇', + '≉' => '≉', + '≠' => '≠', + '≢' => '≢', + '≭' => '≭', + '≮' => '≮', + '≯' => '≯', + '≰' => '≰', + '≱' => '≱', + '≴' => '≴', + '≵' => '≵', + '≸' => '≸', + '≹' => '≹', + '⊀' => '⊀', + '⊁' => '⊁', + '⊄' => '⊄', + '⊅' => '⊅', + '⊈' => '⊈', + '⊉' => '⊉', + '⊬' => '⊬', + '⊭' => '⊭', + '⊮' => '⊮', + '⊯' => '⊯', + '⋠' => '⋠', + '⋡' => '⋡', + '⋢' => '⋢', + '⋣' => '⋣', + '⋪' => '⋪', + '⋫' => '⋫', + '⋬' => '⋬', + '⋭' => '⋭', + 'が' => 'が', + 'ぎ' => 'ぎ', + 'ぐ' => 'ぐ', + 'げ' => 'げ', + 'ご' => 'ご', + 'ざ' => 'ざ', + 'じ' => 'じ', + 'ず' => 'ず', + 'ぜ' => 'ぜ', + 'ぞ' => 'ぞ', + 'だ' => 'だ', + 'ぢ' => 'ぢ', + 'づ' => 'づ', + 'で' => 'で', + 'ど' => 'ど', + 'ば' => 'ば', + 'ぱ' => 'ぱ', + 'び' => 'び', + 'ぴ' => 'ぴ', + 'ぶ' => 'ぶ', + 'ぷ' => 'ぷ', + 'べ' => 'べ', + 'ぺ' => 'ぺ', + 'ぼ' => 'ぼ', + 'ぽ' => 'ぽ', + 'ゔ' => 'ゔ', + 'ゞ' => 'ゞ', + 'ガ' => 'ガ', + 'ギ' => 'ギ', + 'グ' => 'グ', + 'ゲ' => 'ゲ', + 'ゴ' => 'ゴ', + 'ザ' => 'ザ', + 'ジ' => 'ジ', + 'ズ' => 'ズ', + 'ゼ' => 'ゼ', + 'ゾ' => 'ゾ', + 'ダ' => 'ダ', + 'ヂ' => 'ヂ', + 'ヅ' => 'ヅ', + 'デ' => 'デ', + 'ド' => 'ド', + 'バ' => 'バ', + 'パ' => 'パ', + 'ビ' => 'ビ', + 'ピ' => 'ピ', + 'ブ' => 'ブ', + 'プ' => 'プ', + 'ベ' => 'ベ', + 'ペ' => 'ペ', + 'ボ' => 'ボ', + 'ポ' => 'ポ', + 'ヴ' => 'ヴ', + 'ヷ' => 'ヷ', + 'ヸ' => 'ヸ', + 'ヹ' => 'ヹ', + 'ヺ' => 'ヺ', + 'ヾ' => 'ヾ', + '𑂚' => '𑂚', + '𑂜' => '𑂜', + '𑂫' => '𑂫', + '𑄮' => '𑄮', + '𑄯' => '𑄯', + '𑍋' => '𑍋', + '𑍌' => '𑍌', + '𑒻' => '𑒻', + '𑒼' => '𑒼', + '𑒾' => '𑒾', + '𑖺' => '𑖺', + '𑖻' => '𑖻', + '𑤸' => '𑤸', +); diff --git a/pandora_console/vendor/symfony/polyfill-intl-normalizer/Resources/unidata/canonicalDecomposition.php b/pandora_console/vendor/symfony/polyfill-intl-normalizer/Resources/unidata/canonicalDecomposition.php new file mode 100644 index 0000000000..5a3e8e0969 --- /dev/null +++ b/pandora_console/vendor/symfony/polyfill-intl-normalizer/Resources/unidata/canonicalDecomposition.php @@ -0,0 +1,2065 @@ + 'À', + 'Á' => 'Á', + 'Â' => 'Â', + 'Ã' => 'Ã', + 'Ä' => 'Ä', + 'Å' => 'Å', + 'Ç' => 'Ç', + 'È' => 'È', + 'É' => 'É', + 'Ê' => 'Ê', + 'Ë' => 'Ë', + 'Ì' => 'Ì', + 'Í' => 'Í', + 'Î' => 'Î', + 'Ï' => 'Ï', + 'Ñ' => 'Ñ', + 'Ò' => 'Ò', + 'Ó' => 'Ó', + 'Ô' => 'Ô', + 'Õ' => 'Õ', + 'Ö' => 'Ö', + 'Ù' => 'Ù', + 'Ú' => 'Ú', + 'Û' => 'Û', + 'Ü' => 'Ü', + 'Ý' => 'Ý', + 'à' => 'à', + 'á' => 'á', + 'â' => 'â', + 'ã' => 'ã', + 'ä' => 'ä', + 'å' => 'å', + 'ç' => 'ç', + 'è' => 'è', + 'é' => 'é', + 'ê' => 'ê', + 'ë' => 'ë', + 'ì' => 'ì', + 'í' => 'í', + 'î' => 'î', + 'ï' => 'ï', + 'ñ' => 'ñ', + 'ò' => 'ò', + 'ó' => 'ó', + 'ô' => 'ô', + 'õ' => 'õ', + 'ö' => 'ö', + 'ù' => 'ù', + 'ú' => 'ú', + 'û' => 'û', + 'ü' => 'ü', + 'ý' => 'ý', + 'ÿ' => 'ÿ', + 'Ā' => 'Ā', + 'ā' => 'ā', + 'Ă' => 'Ă', + 'ă' => 'ă', + 'Ą' => 'Ą', + 'ą' => 'ą', + 'Ć' => 'Ć', + 'ć' => 'ć', + 'Ĉ' => 'Ĉ', + 'ĉ' => 'ĉ', + 'Ċ' => 'Ċ', + 'ċ' => 'ċ', + 'Č' => 'Č', + 'č' => 'č', + 'Ď' => 'Ď', + 'ď' => 'ď', + 'Ē' => 'Ē', + 'ē' => 'ē', + 'Ĕ' => 'Ĕ', + 'ĕ' => 'ĕ', + 'Ė' => 'Ė', + 'ė' => 'ė', + 'Ę' => 'Ę', + 'ę' => 'ę', + 'Ě' => 'Ě', + 'ě' => 'ě', + 'Ĝ' => 'Ĝ', + 'ĝ' => 'ĝ', + 'Ğ' => 'Ğ', + 'ğ' => 'ğ', + 'Ġ' => 'Ġ', + 'ġ' => 'ġ', + 'Ģ' => 'Ģ', + 'ģ' => 'ģ', + 'Ĥ' => 'Ĥ', + 'ĥ' => 'ĥ', + 'Ĩ' => 'Ĩ', + 'ĩ' => 'ĩ', + 'Ī' => 'Ī', + 'ī' => 'ī', + 'Ĭ' => 'Ĭ', + 'ĭ' => 'ĭ', + 'Į' => 'Į', + 'į' => 'į', + 'İ' => 'İ', + 'Ĵ' => 'Ĵ', + 'ĵ' => 'ĵ', + 'Ķ' => 'Ķ', + 'ķ' => 'ķ', + 'Ĺ' => 'Ĺ', + 'ĺ' => 'ĺ', + 'Ļ' => 'Ļ', + 'ļ' => 'ļ', + 'Ľ' => 'Ľ', + 'ľ' => 'ľ', + 'Ń' => 'Ń', + 'ń' => 'ń', + 'Ņ' => 'Ņ', + 'ņ' => 'ņ', + 'Ň' => 'Ň', + 'ň' => 'ň', + 'Ō' => 'Ō', + 'ō' => 'ō', + 'Ŏ' => 'Ŏ', + 'ŏ' => 'ŏ', + 'Ő' => 'Ő', + 'ő' => 'ő', + 'Ŕ' => 'Ŕ', + 'ŕ' => 'ŕ', + 'Ŗ' => 'Ŗ', + 'ŗ' => 'ŗ', + 'Ř' => 'Ř', + 'ř' => 'ř', + 'Ś' => 'Ś', + 'ś' => 'ś', + 'Ŝ' => 'Ŝ', + 'ŝ' => 'ŝ', + 'Ş' => 'Ş', + 'ş' => 'ş', + 'Š' => 'Š', + 'š' => 'š', + 'Ţ' => 'Ţ', + 'ţ' => 'ţ', + 'Ť' => 'Ť', + 'ť' => 'ť', + 'Ũ' => 'Ũ', + 'ũ' => 'ũ', + 'Ū' => 'Ū', + 'ū' => 'ū', + 'Ŭ' => 'Ŭ', + 'ŭ' => 'ŭ', + 'Ů' => 'Ů', + 'ů' => 'ů', + 'Ű' => 'Ű', + 'ű' => 'ű', + 'Ų' => 'Ų', + 'ų' => 'ų', + 'Ŵ' => 'Ŵ', + 'ŵ' => 'ŵ', + 'Ŷ' => 'Ŷ', + 'ŷ' => 'ŷ', + 'Ÿ' => 'Ÿ', + 'Ź' => 'Ź', + 'ź' => 'ź', + 'Ż' => 'Ż', + 'ż' => 'ż', + 'Ž' => 'Ž', + 'ž' => 'ž', + 'Ơ' => 'Ơ', + 'ơ' => 'ơ', + 'Ư' => 'Ư', + 'ư' => 'ư', + 'Ǎ' => 'Ǎ', + 'ǎ' => 'ǎ', + 'Ǐ' => 'Ǐ', + 'ǐ' => 'ǐ', + 'Ǒ' => 'Ǒ', + 'ǒ' => 'ǒ', + 'Ǔ' => 'Ǔ', + 'ǔ' => 'ǔ', + 'Ǖ' => 'Ǖ', + 'ǖ' => 'ǖ', + 'Ǘ' => 'Ǘ', + 'ǘ' => 'ǘ', + 'Ǚ' => 'Ǚ', + 'ǚ' => 'ǚ', + 'Ǜ' => 'Ǜ', + 'ǜ' => 'ǜ', + 'Ǟ' => 'Ǟ', + 'ǟ' => 'ǟ', + 'Ǡ' => 'Ǡ', + 'ǡ' => 'ǡ', + 'Ǣ' => 'Ǣ', + 'ǣ' => 'ǣ', + 'Ǧ' => 'Ǧ', + 'ǧ' => 'ǧ', + 'Ǩ' => 'Ǩ', + 'ǩ' => 'ǩ', + 'Ǫ' => 'Ǫ', + 'ǫ' => 'ǫ', + 'Ǭ' => 'Ǭ', + 'ǭ' => 'ǭ', + 'Ǯ' => 'Ǯ', + 'ǯ' => 'ǯ', + 'ǰ' => 'ǰ', + 'Ǵ' => 'Ǵ', + 'ǵ' => 'ǵ', + 'Ǹ' => 'Ǹ', + 'ǹ' => 'ǹ', + 'Ǻ' => 'Ǻ', + 'ǻ' => 'ǻ', + 'Ǽ' => 'Ǽ', + 'ǽ' => 'ǽ', + 'Ǿ' => 'Ǿ', + 'ǿ' => 'ǿ', + 'Ȁ' => 'Ȁ', + 'ȁ' => 'ȁ', + 'Ȃ' => 'Ȃ', + 'ȃ' => 'ȃ', + 'Ȅ' => 'Ȅ', + 'ȅ' => 'ȅ', + 'Ȇ' => 'Ȇ', + 'ȇ' => 'ȇ', + 'Ȉ' => 'Ȉ', + 'ȉ' => 'ȉ', + 'Ȋ' => 'Ȋ', + 'ȋ' => 'ȋ', + 'Ȍ' => 'Ȍ', + 'ȍ' => 'ȍ', + 'Ȏ' => 'Ȏ', + 'ȏ' => 'ȏ', + 'Ȑ' => 'Ȑ', + 'ȑ' => 'ȑ', + 'Ȓ' => 'Ȓ', + 'ȓ' => 'ȓ', + 'Ȕ' => 'Ȕ', + 'ȕ' => 'ȕ', + 'Ȗ' => 'Ȗ', + 'ȗ' => 'ȗ', + 'Ș' => 'Ș', + 'ș' => 'ș', + 'Ț' => 'Ț', + 'ț' => 'ț', + 'Ȟ' => 'Ȟ', + 'ȟ' => 'ȟ', + 'Ȧ' => 'Ȧ', + 'ȧ' => 'ȧ', + 'Ȩ' => 'Ȩ', + 'ȩ' => 'ȩ', + 'Ȫ' => 'Ȫ', + 'ȫ' => 'ȫ', + 'Ȭ' => 'Ȭ', + 'ȭ' => 'ȭ', + 'Ȯ' => 'Ȯ', + 'ȯ' => 'ȯ', + 'Ȱ' => 'Ȱ', + 'ȱ' => 'ȱ', + 'Ȳ' => 'Ȳ', + 'ȳ' => 'ȳ', + '̀' => '̀', + '́' => '́', + '̓' => '̓', + '̈́' => '̈́', + 'ʹ' => 'ʹ', + ';' => ';', + '΅' => '΅', + 'Ά' => 'Ά', + '·' => '·', + 'Έ' => 'Έ', + 'Ή' => 'Ή', + 'Ί' => 'Ί', + 'Ό' => 'Ό', + 'Ύ' => 'Ύ', + 'Ώ' => 'Ώ', + 'ΐ' => 'ΐ', + 'Ϊ' => 'Ϊ', + 'Ϋ' => 'Ϋ', + 'ά' => 'ά', + 'έ' => 'έ', + 'ή' => 'ή', + 'ί' => 'ί', + 'ΰ' => 'ΰ', + 'ϊ' => 'ϊ', + 'ϋ' => 'ϋ', + 'ό' => 'ό', + 'ύ' => 'ύ', + 'ώ' => 'ώ', + 'ϓ' => 'ϓ', + 'ϔ' => 'ϔ', + 'Ѐ' => 'Ѐ', + 'Ё' => 'Ё', + 'Ѓ' => 'Ѓ', + 'Ї' => 'Ї', + 'Ќ' => 'Ќ', + 'Ѝ' => 'Ѝ', + 'Ў' => 'Ў', + 'Й' => 'Й', + 'й' => 'й', + 'ѐ' => 'ѐ', + 'ё' => 'ё', + 'ѓ' => 'ѓ', + 'ї' => 'ї', + 'ќ' => 'ќ', + 'ѝ' => 'ѝ', + 'ў' => 'ў', + 'Ѷ' => 'Ѷ', + 'ѷ' => 'ѷ', + 'Ӂ' => 'Ӂ', + 'ӂ' => 'ӂ', + 'Ӑ' => 'Ӑ', + 'ӑ' => 'ӑ', + 'Ӓ' => 'Ӓ', + 'ӓ' => 'ӓ', + 'Ӗ' => 'Ӗ', + 'ӗ' => 'ӗ', + 'Ӛ' => 'Ӛ', + 'ӛ' => 'ӛ', + 'Ӝ' => 'Ӝ', + 'ӝ' => 'ӝ', + 'Ӟ' => 'Ӟ', + 'ӟ' => 'ӟ', + 'Ӣ' => 'Ӣ', + 'ӣ' => 'ӣ', + 'Ӥ' => 'Ӥ', + 'ӥ' => 'ӥ', + 'Ӧ' => 'Ӧ', + 'ӧ' => 'ӧ', + 'Ӫ' => 'Ӫ', + 'ӫ' => 'ӫ', + 'Ӭ' => 'Ӭ', + 'ӭ' => 'ӭ', + 'Ӯ' => 'Ӯ', + 'ӯ' => 'ӯ', + 'Ӱ' => 'Ӱ', + 'ӱ' => 'ӱ', + 'Ӳ' => 'Ӳ', + 'ӳ' => 'ӳ', + 'Ӵ' => 'Ӵ', + 'ӵ' => 'ӵ', + 'Ӹ' => 'Ӹ', + 'ӹ' => 'ӹ', + 'آ' => 'آ', + 'أ' => 'أ', + 'ؤ' => 'ؤ', + 'إ' => 'إ', + 'ئ' => 'ئ', + 'ۀ' => 'ۀ', + 'ۂ' => 'ۂ', + 'ۓ' => 'ۓ', + 'ऩ' => 'ऩ', + 'ऱ' => 'ऱ', + 'ऴ' => 'ऴ', + 'क़' => 'क़', + 'ख़' => 'ख़', + 'ग़' => 'ग़', + 'ज़' => 'ज़', + 'ड़' => 'ड़', + 'ढ़' => 'ढ़', + 'फ़' => 'फ़', + 'य़' => 'य़', + 'ো' => 'ো', + 'ৌ' => 'ৌ', + 'ড়' => 'ড়', + 'ঢ়' => 'ঢ়', + 'য়' => 'য়', + 'ਲ਼' => 'ਲ਼', + 'ਸ਼' => 'ਸ਼', + 'ਖ਼' => 'ਖ਼', + 'ਗ਼' => 'ਗ਼', + 'ਜ਼' => 'ਜ਼', + 'ਫ਼' => 'ਫ਼', + 'ୈ' => 'ୈ', + 'ୋ' => 'ୋ', + 'ୌ' => 'ୌ', + 'ଡ଼' => 'ଡ଼', + 'ଢ଼' => 'ଢ଼', + 'ஔ' => 'ஔ', + 'ொ' => 'ொ', + 'ோ' => 'ோ', + 'ௌ' => 'ௌ', + 'ై' => 'ై', + 'ೀ' => 'ೀ', + 'ೇ' => 'ೇ', + 'ೈ' => 'ೈ', + 'ೊ' => 'ೊ', + 'ೋ' => 'ೋ', + 'ൊ' => 'ൊ', + 'ോ' => 'ോ', + 'ൌ' => 'ൌ', + 'ේ' => 'ේ', + 'ො' => 'ො', + 'ෝ' => 'ෝ', + 'ෞ' => 'ෞ', + 'གྷ' => 'གྷ', + 'ཌྷ' => 'ཌྷ', + 'དྷ' => 'དྷ', + 'བྷ' => 'བྷ', + 'ཛྷ' => 'ཛྷ', + 'ཀྵ' => 'ཀྵ', + 'ཱི' => 'ཱི', + 'ཱུ' => 'ཱུ', + 'ྲྀ' => 'ྲྀ', + 'ླྀ' => 'ླྀ', + 'ཱྀ' => 'ཱྀ', + 'ྒྷ' => 'ྒྷ', + 'ྜྷ' => 'ྜྷ', + 'ྡྷ' => 'ྡྷ', + 'ྦྷ' => 'ྦྷ', + 'ྫྷ' => 'ྫྷ', + 'ྐྵ' => 'ྐྵ', + 'ဦ' => 'ဦ', + 'ᬆ' => 'ᬆ', + 'ᬈ' => 'ᬈ', + 'ᬊ' => 'ᬊ', + 'ᬌ' => 'ᬌ', + 'ᬎ' => 'ᬎ', + 'ᬒ' => 'ᬒ', + 'ᬻ' => 'ᬻ', + 'ᬽ' => 'ᬽ', + 'ᭀ' => 'ᭀ', + 'ᭁ' => 'ᭁ', + 'ᭃ' => 'ᭃ', + 'Ḁ' => 'Ḁ', + 'ḁ' => 'ḁ', + 'Ḃ' => 'Ḃ', + 'ḃ' => 'ḃ', + 'Ḅ' => 'Ḅ', + 'ḅ' => 'ḅ', + 'Ḇ' => 'Ḇ', + 'ḇ' => 'ḇ', + 'Ḉ' => 'Ḉ', + 'ḉ' => 'ḉ', + 'Ḋ' => 'Ḋ', + 'ḋ' => 'ḋ', + 'Ḍ' => 'Ḍ', + 'ḍ' => 'ḍ', + 'Ḏ' => 'Ḏ', + 'ḏ' => 'ḏ', + 'Ḑ' => 'Ḑ', + 'ḑ' => 'ḑ', + 'Ḓ' => 'Ḓ', + 'ḓ' => 'ḓ', + 'Ḕ' => 'Ḕ', + 'ḕ' => 'ḕ', + 'Ḗ' => 'Ḗ', + 'ḗ' => 'ḗ', + 'Ḙ' => 'Ḙ', + 'ḙ' => 'ḙ', + 'Ḛ' => 'Ḛ', + 'ḛ' => 'ḛ', + 'Ḝ' => 'Ḝ', + 'ḝ' => 'ḝ', + 'Ḟ' => 'Ḟ', + 'ḟ' => 'ḟ', + 'Ḡ' => 'Ḡ', + 'ḡ' => 'ḡ', + 'Ḣ' => 'Ḣ', + 'ḣ' => 'ḣ', + 'Ḥ' => 'Ḥ', + 'ḥ' => 'ḥ', + 'Ḧ' => 'Ḧ', + 'ḧ' => 'ḧ', + 'Ḩ' => 'Ḩ', + 'ḩ' => 'ḩ', + 'Ḫ' => 'Ḫ', + 'ḫ' => 'ḫ', + 'Ḭ' => 'Ḭ', + 'ḭ' => 'ḭ', + 'Ḯ' => 'Ḯ', + 'ḯ' => 'ḯ', + 'Ḱ' => 'Ḱ', + 'ḱ' => 'ḱ', + 'Ḳ' => 'Ḳ', + 'ḳ' => 'ḳ', + 'Ḵ' => 'Ḵ', + 'ḵ' => 'ḵ', + 'Ḷ' => 'Ḷ', + 'ḷ' => 'ḷ', + 'Ḹ' => 'Ḹ', + 'ḹ' => 'ḹ', + 'Ḻ' => 'Ḻ', + 'ḻ' => 'ḻ', + 'Ḽ' => 'Ḽ', + 'ḽ' => 'ḽ', + 'Ḿ' => 'Ḿ', + 'ḿ' => 'ḿ', + 'Ṁ' => 'Ṁ', + 'ṁ' => 'ṁ', + 'Ṃ' => 'Ṃ', + 'ṃ' => 'ṃ', + 'Ṅ' => 'Ṅ', + 'ṅ' => 'ṅ', + 'Ṇ' => 'Ṇ', + 'ṇ' => 'ṇ', + 'Ṉ' => 'Ṉ', + 'ṉ' => 'ṉ', + 'Ṋ' => 'Ṋ', + 'ṋ' => 'ṋ', + 'Ṍ' => 'Ṍ', + 'ṍ' => 'ṍ', + 'Ṏ' => 'Ṏ', + 'ṏ' => 'ṏ', + 'Ṑ' => 'Ṑ', + 'ṑ' => 'ṑ', + 'Ṓ' => 'Ṓ', + 'ṓ' => 'ṓ', + 'Ṕ' => 'Ṕ', + 'ṕ' => 'ṕ', + 'Ṗ' => 'Ṗ', + 'ṗ' => 'ṗ', + 'Ṙ' => 'Ṙ', + 'ṙ' => 'ṙ', + 'Ṛ' => 'Ṛ', + 'ṛ' => 'ṛ', + 'Ṝ' => 'Ṝ', + 'ṝ' => 'ṝ', + 'Ṟ' => 'Ṟ', + 'ṟ' => 'ṟ', + 'Ṡ' => 'Ṡ', + 'ṡ' => 'ṡ', + 'Ṣ' => 'Ṣ', + 'ṣ' => 'ṣ', + 'Ṥ' => 'Ṥ', + 'ṥ' => 'ṥ', + 'Ṧ' => 'Ṧ', + 'ṧ' => 'ṧ', + 'Ṩ' => 'Ṩ', + 'ṩ' => 'ṩ', + 'Ṫ' => 'Ṫ', + 'ṫ' => 'ṫ', + 'Ṭ' => 'Ṭ', + 'ṭ' => 'ṭ', + 'Ṯ' => 'Ṯ', + 'ṯ' => 'ṯ', + 'Ṱ' => 'Ṱ', + 'ṱ' => 'ṱ', + 'Ṳ' => 'Ṳ', + 'ṳ' => 'ṳ', + 'Ṵ' => 'Ṵ', + 'ṵ' => 'ṵ', + 'Ṷ' => 'Ṷ', + 'ṷ' => 'ṷ', + 'Ṹ' => 'Ṹ', + 'ṹ' => 'ṹ', + 'Ṻ' => 'Ṻ', + 'ṻ' => 'ṻ', + 'Ṽ' => 'Ṽ', + 'ṽ' => 'ṽ', + 'Ṿ' => 'Ṿ', + 'ṿ' => 'ṿ', + 'Ẁ' => 'Ẁ', + 'ẁ' => 'ẁ', + 'Ẃ' => 'Ẃ', + 'ẃ' => 'ẃ', + 'Ẅ' => 'Ẅ', + 'ẅ' => 'ẅ', + 'Ẇ' => 'Ẇ', + 'ẇ' => 'ẇ', + 'Ẉ' => 'Ẉ', + 'ẉ' => 'ẉ', + 'Ẋ' => 'Ẋ', + 'ẋ' => 'ẋ', + 'Ẍ' => 'Ẍ', + 'ẍ' => 'ẍ', + 'Ẏ' => 'Ẏ', + 'ẏ' => 'ẏ', + 'Ẑ' => 'Ẑ', + 'ẑ' => 'ẑ', + 'Ẓ' => 'Ẓ', + 'ẓ' => 'ẓ', + 'Ẕ' => 'Ẕ', + 'ẕ' => 'ẕ', + 'ẖ' => 'ẖ', + 'ẗ' => 'ẗ', + 'ẘ' => 'ẘ', + 'ẙ' => 'ẙ', + 'ẛ' => 'ẛ', + 'Ạ' => 'Ạ', + 'ạ' => 'ạ', + 'Ả' => 'Ả', + 'ả' => 'ả', + 'Ấ' => 'Ấ', + 'ấ' => 'ấ', + 'Ầ' => 'Ầ', + 'ầ' => 'ầ', + 'Ẩ' => 'Ẩ', + 'ẩ' => 'ẩ', + 'Ẫ' => 'Ẫ', + 'ẫ' => 'ẫ', + 'Ậ' => 'Ậ', + 'ậ' => 'ậ', + 'Ắ' => 'Ắ', + 'ắ' => 'ắ', + 'Ằ' => 'Ằ', + 'ằ' => 'ằ', + 'Ẳ' => 'Ẳ', + 'ẳ' => 'ẳ', + 'Ẵ' => 'Ẵ', + 'ẵ' => 'ẵ', + 'Ặ' => 'Ặ', + 'ặ' => 'ặ', + 'Ẹ' => 'Ẹ', + 'ẹ' => 'ẹ', + 'Ẻ' => 'Ẻ', + 'ẻ' => 'ẻ', + 'Ẽ' => 'Ẽ', + 'ẽ' => 'ẽ', + 'Ế' => 'Ế', + 'ế' => 'ế', + 'Ề' => 'Ề', + 'ề' => 'ề', + 'Ể' => 'Ể', + 'ể' => 'ể', + 'Ễ' => 'Ễ', + 'ễ' => 'ễ', + 'Ệ' => 'Ệ', + 'ệ' => 'ệ', + 'Ỉ' => 'Ỉ', + 'ỉ' => 'ỉ', + 'Ị' => 'Ị', + 'ị' => 'ị', + 'Ọ' => 'Ọ', + 'ọ' => 'ọ', + 'Ỏ' => 'Ỏ', + 'ỏ' => 'ỏ', + 'Ố' => 'Ố', + 'ố' => 'ố', + 'Ồ' => 'Ồ', + 'ồ' => 'ồ', + 'Ổ' => 'Ổ', + 'ổ' => 'ổ', + 'Ỗ' => 'Ỗ', + 'ỗ' => 'ỗ', + 'Ộ' => 'Ộ', + 'ộ' => 'ộ', + 'Ớ' => 'Ớ', + 'ớ' => 'ớ', + 'Ờ' => 'Ờ', + 'ờ' => 'ờ', + 'Ở' => 'Ở', + 'ở' => 'ở', + 'Ỡ' => 'Ỡ', + 'ỡ' => 'ỡ', + 'Ợ' => 'Ợ', + 'ợ' => 'ợ', + 'Ụ' => 'Ụ', + 'ụ' => 'ụ', + 'Ủ' => 'Ủ', + 'ủ' => 'ủ', + 'Ứ' => 'Ứ', + 'ứ' => 'ứ', + 'Ừ' => 'Ừ', + 'ừ' => 'ừ', + 'Ử' => 'Ử', + 'ử' => 'ử', + 'Ữ' => 'Ữ', + 'ữ' => 'ữ', + 'Ự' => 'Ự', + 'ự' => 'ự', + 'Ỳ' => 'Ỳ', + 'ỳ' => 'ỳ', + 'Ỵ' => 'Ỵ', + 'ỵ' => 'ỵ', + 'Ỷ' => 'Ỷ', + 'ỷ' => 'ỷ', + 'Ỹ' => 'Ỹ', + 'ỹ' => 'ỹ', + 'ἀ' => 'ἀ', + 'ἁ' => 'ἁ', + 'ἂ' => 'ἂ', + 'ἃ' => 'ἃ', + 'ἄ' => 'ἄ', + 'ἅ' => 'ἅ', + 'ἆ' => 'ἆ', + 'ἇ' => 'ἇ', + 'Ἀ' => 'Ἀ', + 'Ἁ' => 'Ἁ', + 'Ἂ' => 'Ἂ', + 'Ἃ' => 'Ἃ', + 'Ἄ' => 'Ἄ', + 'Ἅ' => 'Ἅ', + 'Ἆ' => 'Ἆ', + 'Ἇ' => 'Ἇ', + 'ἐ' => 'ἐ', + 'ἑ' => 'ἑ', + 'ἒ' => 'ἒ', + 'ἓ' => 'ἓ', + 'ἔ' => 'ἔ', + 'ἕ' => 'ἕ', + 'Ἐ' => 'Ἐ', + 'Ἑ' => 'Ἑ', + 'Ἒ' => 'Ἒ', + 'Ἓ' => 'Ἓ', + 'Ἔ' => 'Ἔ', + 'Ἕ' => 'Ἕ', + 'ἠ' => 'ἠ', + 'ἡ' => 'ἡ', + 'ἢ' => 'ἢ', + 'ἣ' => 'ἣ', + 'ἤ' => 'ἤ', + 'ἥ' => 'ἥ', + 'ἦ' => 'ἦ', + 'ἧ' => 'ἧ', + 'Ἠ' => 'Ἠ', + 'Ἡ' => 'Ἡ', + 'Ἢ' => 'Ἢ', + 'Ἣ' => 'Ἣ', + 'Ἤ' => 'Ἤ', + 'Ἥ' => 'Ἥ', + 'Ἦ' => 'Ἦ', + 'Ἧ' => 'Ἧ', + 'ἰ' => 'ἰ', + 'ἱ' => 'ἱ', + 'ἲ' => 'ἲ', + 'ἳ' => 'ἳ', + 'ἴ' => 'ἴ', + 'ἵ' => 'ἵ', + 'ἶ' => 'ἶ', + 'ἷ' => 'ἷ', + 'Ἰ' => 'Ἰ', + 'Ἱ' => 'Ἱ', + 'Ἲ' => 'Ἲ', + 'Ἳ' => 'Ἳ', + 'Ἴ' => 'Ἴ', + 'Ἵ' => 'Ἵ', + 'Ἶ' => 'Ἶ', + 'Ἷ' => 'Ἷ', + 'ὀ' => 'ὀ', + 'ὁ' => 'ὁ', + 'ὂ' => 'ὂ', + 'ὃ' => 'ὃ', + 'ὄ' => 'ὄ', + 'ὅ' => 'ὅ', + 'Ὀ' => 'Ὀ', + 'Ὁ' => 'Ὁ', + 'Ὂ' => 'Ὂ', + 'Ὃ' => 'Ὃ', + 'Ὄ' => 'Ὄ', + 'Ὅ' => 'Ὅ', + 'ὐ' => 'ὐ', + 'ὑ' => 'ὑ', + 'ὒ' => 'ὒ', + 'ὓ' => 'ὓ', + 'ὔ' => 'ὔ', + 'ὕ' => 'ὕ', + 'ὖ' => 'ὖ', + 'ὗ' => 'ὗ', + 'Ὑ' => 'Ὑ', + 'Ὓ' => 'Ὓ', + 'Ὕ' => 'Ὕ', + 'Ὗ' => 'Ὗ', + 'ὠ' => 'ὠ', + 'ὡ' => 'ὡ', + 'ὢ' => 'ὢ', + 'ὣ' => 'ὣ', + 'ὤ' => 'ὤ', + 'ὥ' => 'ὥ', + 'ὦ' => 'ὦ', + 'ὧ' => 'ὧ', + 'Ὠ' => 'Ὠ', + 'Ὡ' => 'Ὡ', + 'Ὢ' => 'Ὢ', + 'Ὣ' => 'Ὣ', + 'Ὤ' => 'Ὤ', + 'Ὥ' => 'Ὥ', + 'Ὦ' => 'Ὦ', + 'Ὧ' => 'Ὧ', + 'ὰ' => 'ὰ', + 'ά' => 'ά', + 'ὲ' => 'ὲ', + 'έ' => 'έ', + 'ὴ' => 'ὴ', + 'ή' => 'ή', + 'ὶ' => 'ὶ', + 'ί' => 'ί', + 'ὸ' => 'ὸ', + 'ό' => 'ό', + 'ὺ' => 'ὺ', + 'ύ' => 'ύ', + 'ὼ' => 'ὼ', + 'ώ' => 'ώ', + 'ᾀ' => 'ᾀ', + 'ᾁ' => 'ᾁ', + 'ᾂ' => 'ᾂ', + 'ᾃ' => 'ᾃ', + 'ᾄ' => 'ᾄ', + 'ᾅ' => 'ᾅ', + 'ᾆ' => 'ᾆ', + 'ᾇ' => 'ᾇ', + 'ᾈ' => 'ᾈ', + 'ᾉ' => 'ᾉ', + 'ᾊ' => 'ᾊ', + 'ᾋ' => 'ᾋ', + 'ᾌ' => 'ᾌ', + 'ᾍ' => 'ᾍ', + 'ᾎ' => 'ᾎ', + 'ᾏ' => 'ᾏ', + 'ᾐ' => 'ᾐ', + 'ᾑ' => 'ᾑ', + 'ᾒ' => 'ᾒ', + 'ᾓ' => 'ᾓ', + 'ᾔ' => 'ᾔ', + 'ᾕ' => 'ᾕ', + 'ᾖ' => 'ᾖ', + 'ᾗ' => 'ᾗ', + 'ᾘ' => 'ᾘ', + 'ᾙ' => 'ᾙ', + 'ᾚ' => 'ᾚ', + 'ᾛ' => 'ᾛ', + 'ᾜ' => 'ᾜ', + 'ᾝ' => 'ᾝ', + 'ᾞ' => 'ᾞ', + 'ᾟ' => 'ᾟ', + 'ᾠ' => 'ᾠ', + 'ᾡ' => 'ᾡ', + 'ᾢ' => 'ᾢ', + 'ᾣ' => 'ᾣ', + 'ᾤ' => 'ᾤ', + 'ᾥ' => 'ᾥ', + 'ᾦ' => 'ᾦ', + 'ᾧ' => 'ᾧ', + 'ᾨ' => 'ᾨ', + 'ᾩ' => 'ᾩ', + 'ᾪ' => 'ᾪ', + 'ᾫ' => 'ᾫ', + 'ᾬ' => 'ᾬ', + 'ᾭ' => 'ᾭ', + 'ᾮ' => 'ᾮ', + 'ᾯ' => 'ᾯ', + 'ᾰ' => 'ᾰ', + 'ᾱ' => 'ᾱ', + 'ᾲ' => 'ᾲ', + 'ᾳ' => 'ᾳ', + 'ᾴ' => 'ᾴ', + 'ᾶ' => 'ᾶ', + 'ᾷ' => 'ᾷ', + 'Ᾰ' => 'Ᾰ', + 'Ᾱ' => 'Ᾱ', + 'Ὰ' => 'Ὰ', + 'Ά' => 'Ά', + 'ᾼ' => 'ᾼ', + 'ι' => 'ι', + '῁' => '῁', + 'ῂ' => 'ῂ', + 'ῃ' => 'ῃ', + 'ῄ' => 'ῄ', + 'ῆ' => 'ῆ', + 'ῇ' => 'ῇ', + 'Ὲ' => 'Ὲ', + 'Έ' => 'Έ', + 'Ὴ' => 'Ὴ', + 'Ή' => 'Ή', + 'ῌ' => 'ῌ', + '῍' => '῍', + '῎' => '῎', + '῏' => '῏', + 'ῐ' => 'ῐ', + 'ῑ' => 'ῑ', + 'ῒ' => 'ῒ', + 'ΐ' => 'ΐ', + 'ῖ' => 'ῖ', + 'ῗ' => 'ῗ', + 'Ῐ' => 'Ῐ', + 'Ῑ' => 'Ῑ', + 'Ὶ' => 'Ὶ', + 'Ί' => 'Ί', + '῝' => '῝', + '῞' => '῞', + '῟' => '῟', + 'ῠ' => 'ῠ', + 'ῡ' => 'ῡ', + 'ῢ' => 'ῢ', + 'ΰ' => 'ΰ', + 'ῤ' => 'ῤ', + 'ῥ' => 'ῥ', + 'ῦ' => 'ῦ', + 'ῧ' => 'ῧ', + 'Ῠ' => 'Ῠ', + 'Ῡ' => 'Ῡ', + 'Ὺ' => 'Ὺ', + 'Ύ' => 'Ύ', + 'Ῥ' => 'Ῥ', + '῭' => '῭', + '΅' => '΅', + '`' => '`', + 'ῲ' => 'ῲ', + 'ῳ' => 'ῳ', + 'ῴ' => 'ῴ', + 'ῶ' => 'ῶ', + 'ῷ' => 'ῷ', + 'Ὸ' => 'Ὸ', + 'Ό' => 'Ό', + 'Ὼ' => 'Ὼ', + 'Ώ' => 'Ώ', + 'ῼ' => 'ῼ', + '´' => '´', + ' ' => ' ', + ' ' => ' ', + 'Ω' => 'Ω', + 'K' => 'K', + 'Å' => 'Å', + '↚' => '↚', + '↛' => '↛', + '↮' => '↮', + '⇍' => '⇍', + '⇎' => '⇎', + '⇏' => '⇏', + '∄' => '∄', + '∉' => '∉', + '∌' => '∌', + '∤' => '∤', + '∦' => '∦', + '≁' => '≁', + '≄' => '≄', + '≇' => '≇', + '≉' => '≉', + '≠' => '≠', + '≢' => '≢', + '≭' => '≭', + '≮' => '≮', + '≯' => '≯', + '≰' => '≰', + '≱' => '≱', + '≴' => '≴', + '≵' => '≵', + '≸' => '≸', + '≹' => '≹', + '⊀' => '⊀', + '⊁' => '⊁', + '⊄' => '⊄', + '⊅' => '⊅', + '⊈' => '⊈', + '⊉' => '⊉', + '⊬' => '⊬', + '⊭' => '⊭', + '⊮' => '⊮', + '⊯' => '⊯', + '⋠' => '⋠', + '⋡' => '⋡', + '⋢' => '⋢', + '⋣' => '⋣', + '⋪' => '⋪', + '⋫' => '⋫', + '⋬' => '⋬', + '⋭' => '⋭', + '〈' => '〈', + '〉' => '〉', + '⫝̸' => '⫝̸', + 'が' => 'が', + 'ぎ' => 'ぎ', + 'ぐ' => 'ぐ', + 'げ' => 'げ', + 'ご' => 'ご', + 'ざ' => 'ざ', + 'じ' => 'じ', + 'ず' => 'ず', + 'ぜ' => 'ぜ', + 'ぞ' => 'ぞ', + 'だ' => 'だ', + 'ぢ' => 'ぢ', + 'づ' => 'づ', + 'で' => 'で', + 'ど' => 'ど', + 'ば' => 'ば', + 'ぱ' => 'ぱ', + 'び' => 'び', + 'ぴ' => 'ぴ', + 'ぶ' => 'ぶ', + 'ぷ' => 'ぷ', + 'べ' => 'べ', + 'ぺ' => 'ぺ', + 'ぼ' => 'ぼ', + 'ぽ' => 'ぽ', + 'ゔ' => 'ゔ', + 'ゞ' => 'ゞ', + 'ガ' => 'ガ', + 'ギ' => 'ギ', + 'グ' => 'グ', + 'ゲ' => 'ゲ', + 'ゴ' => 'ゴ', + 'ザ' => 'ザ', + 'ジ' => 'ジ', + 'ズ' => 'ズ', + 'ゼ' => 'ゼ', + 'ゾ' => 'ゾ', + 'ダ' => 'ダ', + 'ヂ' => 'ヂ', + 'ヅ' => 'ヅ', + 'デ' => 'デ', + 'ド' => 'ド', + 'バ' => 'バ', + 'パ' => 'パ', + 'ビ' => 'ビ', + 'ピ' => 'ピ', + 'ブ' => 'ブ', + 'プ' => 'プ', + 'ベ' => 'ベ', + 'ペ' => 'ペ', + 'ボ' => 'ボ', + 'ポ' => 'ポ', + 'ヴ' => 'ヴ', + 'ヷ' => 'ヷ', + 'ヸ' => 'ヸ', + 'ヹ' => 'ヹ', + 'ヺ' => 'ヺ', + 'ヾ' => 'ヾ', + '豈' => '豈', + '更' => '更', + '車' => '車', + '賈' => '賈', + '滑' => '滑', + '串' => '串', + '句' => '句', + '龜' => '龜', + '龜' => '龜', + '契' => '契', + '金' => '金', + '喇' => '喇', + '奈' => '奈', + '懶' => '懶', + '癩' => '癩', + '羅' => '羅', + '蘿' => '蘿', + '螺' => '螺', + '裸' => '裸', + '邏' => '邏', + '樂' => '樂', + '洛' => '洛', + '烙' => '烙', + '珞' => '珞', + '落' => '落', + '酪' => '酪', + '駱' => '駱', + '亂' => '亂', + '卵' => '卵', + '欄' => '欄', + '爛' => '爛', + '蘭' => '蘭', + '鸞' => '鸞', + '嵐' => '嵐', + '濫' => '濫', + '藍' => '藍', + '襤' => '襤', + '拉' => '拉', + '臘' => '臘', + '蠟' => '蠟', + '廊' => '廊', + '朗' => '朗', + '浪' => '浪', + '狼' => '狼', + '郎' => '郎', + '來' => '來', + '冷' => '冷', + '勞' => '勞', + '擄' => '擄', + '櫓' => '櫓', + '爐' => '爐', + '盧' => '盧', + '老' => '老', + '蘆' => '蘆', + '虜' => '虜', + '路' => '路', + '露' => '露', + '魯' => '魯', + '鷺' => '鷺', + '碌' => '碌', + '祿' => '祿', + '綠' => '綠', + '菉' => '菉', + '錄' => '錄', + '鹿' => '鹿', + '論' => '論', + '壟' => '壟', + '弄' => '弄', + '籠' => '籠', + '聾' => '聾', + '牢' => '牢', + '磊' => '磊', + '賂' => '賂', + '雷' => '雷', + '壘' => '壘', + '屢' => '屢', + '樓' => '樓', + '淚' => '淚', + '漏' => '漏', + '累' => '累', + '縷' => '縷', + '陋' => '陋', + '勒' => '勒', + '肋' => '肋', + '凜' => '凜', + '凌' => '凌', + '稜' => '稜', + '綾' => '綾', + '菱' => '菱', + '陵' => '陵', + '讀' => '讀', + '拏' => '拏', + '樂' => '樂', + '諾' => '諾', + '丹' => '丹', + '寧' => '寧', + '怒' => '怒', + '率' => '率', + '異' => '異', + '北' => '北', + '磻' => '磻', + '便' => '便', + '復' => '復', + '不' => '不', + '泌' => '泌', + '數' => '數', + '索' => '索', + '參' => '參', + '塞' => '塞', + '省' => '省', + '葉' => '葉', + '說' => '說', + '殺' => '殺', + '辰' => '辰', + '沈' => '沈', + '拾' => '拾', + '若' => '若', + '掠' => '掠', + '略' => '略', + '亮' => '亮', + '兩' => '兩', + '凉' => '凉', + '梁' => '梁', + '糧' => '糧', + '良' => '良', + '諒' => '諒', + '量' => '量', + '勵' => '勵', + '呂' => '呂', + '女' => '女', + '廬' => '廬', + '旅' => '旅', + '濾' => '濾', + '礪' => '礪', + '閭' => '閭', + '驪' => '驪', + '麗' => '麗', + '黎' => '黎', + '力' => '力', + '曆' => '曆', + '歷' => '歷', + '轢' => '轢', + '年' => '年', + '憐' => '憐', + '戀' => '戀', + '撚' => '撚', + '漣' => '漣', + '煉' => '煉', + '璉' => '璉', + '秊' => '秊', + '練' => '練', + '聯' => '聯', + '輦' => '輦', + '蓮' => '蓮', + '連' => '連', + '鍊' => '鍊', + '列' => '列', + '劣' => '劣', + '咽' => '咽', + '烈' => '烈', + '裂' => '裂', + '說' => '說', + '廉' => '廉', + '念' => '念', + '捻' => '捻', + '殮' => '殮', + '簾' => '簾', + '獵' => '獵', + '令' => '令', + '囹' => '囹', + '寧' => '寧', + '嶺' => '嶺', + '怜' => '怜', + '玲' => '玲', + '瑩' => '瑩', + '羚' => '羚', + '聆' => '聆', + '鈴' => '鈴', + '零' => '零', + '靈' => '靈', + '領' => '領', + '例' => '例', + '禮' => '禮', + '醴' => '醴', + '隸' => '隸', + '惡' => '惡', + '了' => '了', + '僚' => '僚', + '寮' => '寮', + '尿' => '尿', + '料' => '料', + '樂' => '樂', + '燎' => '燎', + '療' => '療', + '蓼' => '蓼', + '遼' => '遼', + '龍' => '龍', + '暈' => '暈', + '阮' => '阮', + '劉' => '劉', + '杻' => '杻', + '柳' => '柳', + '流' => '流', + '溜' => '溜', + '琉' => '琉', + '留' => '留', + '硫' => '硫', + '紐' => '紐', + '類' => '類', + '六' => '六', + '戮' => '戮', + '陸' => '陸', + '倫' => '倫', + '崙' => '崙', + '淪' => '淪', + '輪' => '輪', + '律' => '律', + '慄' => '慄', + '栗' => '栗', + '率' => '率', + '隆' => '隆', + '利' => '利', + '吏' => '吏', + '履' => '履', + '易' => '易', + '李' => '李', + '梨' => '梨', + '泥' => '泥', + '理' => '理', + '痢' => '痢', + '罹' => '罹', + '裏' => '裏', + '裡' => '裡', + '里' => '里', + '離' => '離', + '匿' => '匿', + '溺' => '溺', + '吝' => '吝', + '燐' => '燐', + '璘' => '璘', + '藺' => '藺', + '隣' => '隣', + '鱗' => '鱗', + '麟' => '麟', + '林' => '林', + '淋' => '淋', + '臨' => '臨', + '立' => '立', + '笠' => '笠', + '粒' => '粒', + '狀' => '狀', + '炙' => '炙', + '識' => '識', + '什' => '什', + '茶' => '茶', + '刺' => '刺', + '切' => '切', + '度' => '度', + '拓' => '拓', + '糖' => '糖', + '宅' => '宅', + '洞' => '洞', + '暴' => '暴', + '輻' => '輻', + '行' => '行', + '降' => '降', + '見' => '見', + '廓' => '廓', + '兀' => '兀', + '嗀' => '嗀', + '塚' => '塚', + '晴' => '晴', + '凞' => '凞', + '猪' => '猪', + '益' => '益', + '礼' => '礼', + '神' => '神', + '祥' => '祥', + '福' => '福', + '靖' => '靖', + '精' => '精', + '羽' => '羽', + '蘒' => '蘒', + '諸' => '諸', + '逸' => '逸', + '都' => '都', + '飯' => '飯', + '飼' => '飼', + '館' => '館', + '鶴' => '鶴', + '郞' => '郞', + '隷' => '隷', + '侮' => '侮', + '僧' => '僧', + '免' => '免', + '勉' => '勉', + '勤' => '勤', + '卑' => '卑', + '喝' => '喝', + '嘆' => '嘆', + '器' => '器', + '塀' => '塀', + '墨' => '墨', + '層' => '層', + '屮' => '屮', + '悔' => '悔', + '慨' => '慨', + '憎' => '憎', + '懲' => '懲', + '敏' => '敏', + '既' => '既', + '暑' => '暑', + '梅' => '梅', + '海' => '海', + '渚' => '渚', + '漢' => '漢', + '煮' => '煮', + '爫' => '爫', + '琢' => '琢', + '碑' => '碑', + '社' => '社', + '祉' => '祉', + '祈' => '祈', + '祐' => '祐', + '祖' => '祖', + '祝' => '祝', + '禍' => '禍', + '禎' => '禎', + '穀' => '穀', + '突' => '突', + '節' => '節', + '練' => '練', + '縉' => '縉', + '繁' => '繁', + '署' => '署', + '者' => '者', + '臭' => '臭', + '艹' => '艹', + '艹' => '艹', + '著' => '著', + '褐' => '褐', + '視' => '視', + '謁' => '謁', + '謹' => '謹', + '賓' => '賓', + '贈' => '贈', + '辶' => '辶', + '逸' => '逸', + '難' => '難', + '響' => '響', + '頻' => '頻', + '恵' => '恵', + '𤋮' => '𤋮', + '舘' => '舘', + '並' => '並', + '况' => '况', + '全' => '全', + '侀' => '侀', + '充' => '充', + '冀' => '冀', + '勇' => '勇', + '勺' => '勺', + '喝' => '喝', + '啕' => '啕', + '喙' => '喙', + '嗢' => '嗢', + '塚' => '塚', + '墳' => '墳', + '奄' => '奄', + '奔' => '奔', + '婢' => '婢', + '嬨' => '嬨', + '廒' => '廒', + '廙' => '廙', + '彩' => '彩', + '徭' => '徭', + '惘' => '惘', + '慎' => '慎', + '愈' => '愈', + '憎' => '憎', + '慠' => '慠', + '懲' => '懲', + '戴' => '戴', + '揄' => '揄', + '搜' => '搜', + '摒' => '摒', + '敖' => '敖', + '晴' => '晴', + '朗' => '朗', + '望' => '望', + '杖' => '杖', + '歹' => '歹', + '殺' => '殺', + '流' => '流', + '滛' => '滛', + '滋' => '滋', + '漢' => '漢', + '瀞' => '瀞', + '煮' => '煮', + '瞧' => '瞧', + '爵' => '爵', + '犯' => '犯', + '猪' => '猪', + '瑱' => '瑱', + '甆' => '甆', + '画' => '画', + '瘝' => '瘝', + '瘟' => '瘟', + '益' => '益', + '盛' => '盛', + '直' => '直', + '睊' => '睊', + '着' => '着', + '磌' => '磌', + '窱' => '窱', + '節' => '節', + '类' => '类', + '絛' => '絛', + '練' => '練', + '缾' => '缾', + '者' => '者', + '荒' => '荒', + '華' => '華', + '蝹' => '蝹', + '襁' => '襁', + '覆' => '覆', + '視' => '視', + '調' => '調', + '諸' => '諸', + '請' => '請', + '謁' => '謁', + '諾' => '諾', + '諭' => '諭', + '謹' => '謹', + '變' => '變', + '贈' => '贈', + '輸' => '輸', + '遲' => '遲', + '醙' => '醙', + '鉶' => '鉶', + '陼' => '陼', + '難' => '難', + '靖' => '靖', + '韛' => '韛', + '響' => '響', + '頋' => '頋', + '頻' => '頻', + '鬒' => '鬒', + '龜' => '龜', + '𢡊' => '𢡊', + '𢡄' => '𢡄', + '𣏕' => '𣏕', + '㮝' => '㮝', + '䀘' => '䀘', + '䀹' => '䀹', + '𥉉' => '𥉉', + '𥳐' => '𥳐', + '𧻓' => '𧻓', + '齃' => '齃', + '龎' => '龎', + 'יִ' => 'יִ', + 'ײַ' => 'ײַ', + 'שׁ' => 'שׁ', + 'שׂ' => 'שׂ', + 'שּׁ' => 'שּׁ', + 'שּׂ' => 'שּׂ', + 'אַ' => 'אַ', + 'אָ' => 'אָ', + 'אּ' => 'אּ', + 'בּ' => 'בּ', + 'גּ' => 'גּ', + 'דּ' => 'דּ', + 'הּ' => 'הּ', + 'וּ' => 'וּ', + 'זּ' => 'זּ', + 'טּ' => 'טּ', + 'יּ' => 'יּ', + 'ךּ' => 'ךּ', + 'כּ' => 'כּ', + 'לּ' => 'לּ', + 'מּ' => 'מּ', + 'נּ' => 'נּ', + 'סּ' => 'סּ', + 'ףּ' => 'ףּ', + 'פּ' => 'פּ', + 'צּ' => 'צּ', + 'קּ' => 'קּ', + 'רּ' => 'רּ', + 'שּ' => 'שּ', + 'תּ' => 'תּ', + 'וֹ' => 'וֹ', + 'בֿ' => 'בֿ', + 'כֿ' => 'כֿ', + 'פֿ' => 'פֿ', + '𑂚' => '𑂚', + '𑂜' => '𑂜', + '𑂫' => '𑂫', + '𑄮' => '𑄮', + '𑄯' => '𑄯', + '𑍋' => '𑍋', + '𑍌' => '𑍌', + '𑒻' => '𑒻', + '𑒼' => '𑒼', + '𑒾' => '𑒾', + '𑖺' => '𑖺', + '𑖻' => '𑖻', + '𑤸' => '𑤸', + '𝅗𝅥' => '𝅗𝅥', + '𝅘𝅥' => '𝅘𝅥', + '𝅘𝅥𝅮' => '𝅘𝅥𝅮', + '𝅘𝅥𝅯' => '𝅘𝅥𝅯', + '𝅘𝅥𝅰' => '𝅘𝅥𝅰', + '𝅘𝅥𝅱' => '𝅘𝅥𝅱', + '𝅘𝅥𝅲' => '𝅘𝅥𝅲', + '𝆹𝅥' => '𝆹𝅥', + '𝆺𝅥' => '𝆺𝅥', + '𝆹𝅥𝅮' => '𝆹𝅥𝅮', + '𝆺𝅥𝅮' => '𝆺𝅥𝅮', + '𝆹𝅥𝅯' => '𝆹𝅥𝅯', + '𝆺𝅥𝅯' => '𝆺𝅥𝅯', + '丽' => '丽', + '丸' => '丸', + '乁' => '乁', + '𠄢' => '𠄢', + '你' => '你', + '侮' => '侮', + '侻' => '侻', + '倂' => '倂', + '偺' => '偺', + '備' => '備', + '僧' => '僧', + '像' => '像', + '㒞' => '㒞', + '𠘺' => '𠘺', + '免' => '免', + '兔' => '兔', + '兤' => '兤', + '具' => '具', + '𠔜' => '𠔜', + '㒹' => '㒹', + '內' => '內', + '再' => '再', + '𠕋' => '𠕋', + '冗' => '冗', + '冤' => '冤', + '仌' => '仌', + '冬' => '冬', + '况' => '况', + '𩇟' => '𩇟', + '凵' => '凵', + '刃' => '刃', + '㓟' => '㓟', + '刻' => '刻', + '剆' => '剆', + '割' => '割', + '剷' => '剷', + '㔕' => '㔕', + '勇' => '勇', + '勉' => '勉', + '勤' => '勤', + '勺' => '勺', + '包' => '包', + '匆' => '匆', + '北' => '北', + '卉' => '卉', + '卑' => '卑', + '博' => '博', + '即' => '即', + '卽' => '卽', + '卿' => '卿', + '卿' => '卿', + '卿' => '卿', + '𠨬' => '𠨬', + '灰' => '灰', + '及' => '及', + '叟' => '叟', + '𠭣' => '𠭣', + '叫' => '叫', + '叱' => '叱', + '吆' => '吆', + '咞' => '咞', + '吸' => '吸', + '呈' => '呈', + '周' => '周', + '咢' => '咢', + '哶' => '哶', + '唐' => '唐', + '啓' => '啓', + '啣' => '啣', + '善' => '善', + '善' => '善', + '喙' => '喙', + '喫' => '喫', + '喳' => '喳', + '嗂' => '嗂', + '圖' => '圖', + '嘆' => '嘆', + '圗' => '圗', + '噑' => '噑', + '噴' => '噴', + '切' => '切', + '壮' => '壮', + '城' => '城', + '埴' => '埴', + '堍' => '堍', + '型' => '型', + '堲' => '堲', + '報' => '報', + '墬' => '墬', + '𡓤' => '𡓤', + '売' => '売', + '壷' => '壷', + '夆' => '夆', + '多' => '多', + '夢' => '夢', + '奢' => '奢', + '𡚨' => '𡚨', + '𡛪' => '𡛪', + '姬' => '姬', + '娛' => '娛', + '娧' => '娧', + '姘' => '姘', + '婦' => '婦', + '㛮' => '㛮', + '㛼' => '㛼', + '嬈' => '嬈', + '嬾' => '嬾', + '嬾' => '嬾', + '𡧈' => '𡧈', + '寃' => '寃', + '寘' => '寘', + '寧' => '寧', + '寳' => '寳', + '𡬘' => '𡬘', + '寿' => '寿', + '将' => '将', + '当' => '当', + '尢' => '尢', + '㞁' => '㞁', + '屠' => '屠', + '屮' => '屮', + '峀' => '峀', + '岍' => '岍', + '𡷤' => '𡷤', + '嵃' => '嵃', + '𡷦' => '𡷦', + '嵮' => '嵮', + '嵫' => '嵫', + '嵼' => '嵼', + '巡' => '巡', + '巢' => '巢', + '㠯' => '㠯', + '巽' => '巽', + '帨' => '帨', + '帽' => '帽', + '幩' => '幩', + '㡢' => '㡢', + '𢆃' => '𢆃', + '㡼' => '㡼', + '庰' => '庰', + '庳' => '庳', + '庶' => '庶', + '廊' => '廊', + '𪎒' => '𪎒', + '廾' => '廾', + '𢌱' => '𢌱', + '𢌱' => '𢌱', + '舁' => '舁', + '弢' => '弢', + '弢' => '弢', + '㣇' => '㣇', + '𣊸' => '𣊸', + '𦇚' => '𦇚', + '形' => '形', + '彫' => '彫', + '㣣' => '㣣', + '徚' => '徚', + '忍' => '忍', + '志' => '志', + '忹' => '忹', + '悁' => '悁', + '㤺' => '㤺', + '㤜' => '㤜', + '悔' => '悔', + '𢛔' => '𢛔', + '惇' => '惇', + '慈' => '慈', + '慌' => '慌', + '慎' => '慎', + '慌' => '慌', + '慺' => '慺', + '憎' => '憎', + '憲' => '憲', + '憤' => '憤', + '憯' => '憯', + '懞' => '懞', + '懲' => '懲', + '懶' => '懶', + '成' => '成', + '戛' => '戛', + '扝' => '扝', + '抱' => '抱', + '拔' => '拔', + '捐' => '捐', + '𢬌' => '𢬌', + '挽' => '挽', + '拼' => '拼', + '捨' => '捨', + '掃' => '掃', + '揤' => '揤', + '𢯱' => '𢯱', + '搢' => '搢', + '揅' => '揅', + '掩' => '掩', + '㨮' => '㨮', + '摩' => '摩', + '摾' => '摾', + '撝' => '撝', + '摷' => '摷', + '㩬' => '㩬', + '敏' => '敏', + '敬' => '敬', + '𣀊' => '𣀊', + '旣' => '旣', + '書' => '書', + '晉' => '晉', + '㬙' => '㬙', + '暑' => '暑', + '㬈' => '㬈', + '㫤' => '㫤', + '冒' => '冒', + '冕' => '冕', + '最' => '最', + '暜' => '暜', + '肭' => '肭', + '䏙' => '䏙', + '朗' => '朗', + '望' => '望', + '朡' => '朡', + '杞' => '杞', + '杓' => '杓', + '𣏃' => '𣏃', + '㭉' => '㭉', + '柺' => '柺', + '枅' => '枅', + '桒' => '桒', + '梅' => '梅', + '𣑭' => '𣑭', + '梎' => '梎', + '栟' => '栟', + '椔' => '椔', + '㮝' => '㮝', + '楂' => '楂', + '榣' => '榣', + '槪' => '槪', + '檨' => '檨', + '𣚣' => '𣚣', + '櫛' => '櫛', + '㰘' => '㰘', + '次' => '次', + '𣢧' => '𣢧', + '歔' => '歔', + '㱎' => '㱎', + '歲' => '歲', + '殟' => '殟', + '殺' => '殺', + '殻' => '殻', + '𣪍' => '𣪍', + '𡴋' => '𡴋', + '𣫺' => '𣫺', + '汎' => '汎', + '𣲼' => '𣲼', + '沿' => '沿', + '泍' => '泍', + '汧' => '汧', + '洖' => '洖', + '派' => '派', + '海' => '海', + '流' => '流', + '浩' => '浩', + '浸' => '浸', + '涅' => '涅', + '𣴞' => '𣴞', + '洴' => '洴', + '港' => '港', + '湮' => '湮', + '㴳' => '㴳', + '滋' => '滋', + '滇' => '滇', + '𣻑' => '𣻑', + '淹' => '淹', + '潮' => '潮', + '𣽞' => '𣽞', + '𣾎' => '𣾎', + '濆' => '濆', + '瀹' => '瀹', + '瀞' => '瀞', + '瀛' => '瀛', + '㶖' => '㶖', + '灊' => '灊', + '災' => '災', + '灷' => '灷', + '炭' => '炭', + '𠔥' => '𠔥', + '煅' => '煅', + '𤉣' => '𤉣', + '熜' => '熜', + '𤎫' => '𤎫', + '爨' => '爨', + '爵' => '爵', + '牐' => '牐', + '𤘈' => '𤘈', + '犀' => '犀', + '犕' => '犕', + '𤜵' => '𤜵', + '𤠔' => '𤠔', + '獺' => '獺', + '王' => '王', + '㺬' => '㺬', + '玥' => '玥', + '㺸' => '㺸', + '㺸' => '㺸', + '瑇' => '瑇', + '瑜' => '瑜', + '瑱' => '瑱', + '璅' => '璅', + '瓊' => '瓊', + '㼛' => '㼛', + '甤' => '甤', + '𤰶' => '𤰶', + '甾' => '甾', + '𤲒' => '𤲒', + '異' => '異', + '𢆟' => '𢆟', + '瘐' => '瘐', + '𤾡' => '𤾡', + '𤾸' => '𤾸', + '𥁄' => '𥁄', + '㿼' => '㿼', + '䀈' => '䀈', + '直' => '直', + '𥃳' => '𥃳', + '𥃲' => '𥃲', + '𥄙' => '𥄙', + '𥄳' => '𥄳', + '眞' => '眞', + '真' => '真', + '真' => '真', + '睊' => '睊', + '䀹' => '䀹', + '瞋' => '瞋', + '䁆' => '䁆', + '䂖' => '䂖', + '𥐝' => '𥐝', + '硎' => '硎', + '碌' => '碌', + '磌' => '磌', + '䃣' => '䃣', + '𥘦' => '𥘦', + '祖' => '祖', + '𥚚' => '𥚚', + '𥛅' => '𥛅', + '福' => '福', + '秫' => '秫', + '䄯' => '䄯', + '穀' => '穀', + '穊' => '穊', + '穏' => '穏', + '𥥼' => '𥥼', + '𥪧' => '𥪧', + '𥪧' => '𥪧', + '竮' => '竮', + '䈂' => '䈂', + '𥮫' => '𥮫', + '篆' => '篆', + '築' => '築', + '䈧' => '䈧', + '𥲀' => '𥲀', + '糒' => '糒', + '䊠' => '䊠', + '糨' => '糨', + '糣' => '糣', + '紀' => '紀', + '𥾆' => '𥾆', + '絣' => '絣', + '䌁' => '䌁', + '緇' => '緇', + '縂' => '縂', + '繅' => '繅', + '䌴' => '䌴', + '𦈨' => '𦈨', + '𦉇' => '𦉇', + '䍙' => '䍙', + '𦋙' => '𦋙', + '罺' => '罺', + '𦌾' => '𦌾', + '羕' => '羕', + '翺' => '翺', + '者' => '者', + '𦓚' => '𦓚', + '𦔣' => '𦔣', + '聠' => '聠', + '𦖨' => '𦖨', + '聰' => '聰', + '𣍟' => '𣍟', + '䏕' => '䏕', + '育' => '育', + '脃' => '脃', + '䐋' => '䐋', + '脾' => '脾', + '媵' => '媵', + '𦞧' => '𦞧', + '𦞵' => '𦞵', + '𣎓' => '𣎓', + '𣎜' => '𣎜', + '舁' => '舁', + '舄' => '舄', + '辞' => '辞', + '䑫' => '䑫', + '芑' => '芑', + '芋' => '芋', + '芝' => '芝', + '劳' => '劳', + '花' => '花', + '芳' => '芳', + '芽' => '芽', + '苦' => '苦', + '𦬼' => '𦬼', + '若' => '若', + '茝' => '茝', + '荣' => '荣', + '莭' => '莭', + '茣' => '茣', + '莽' => '莽', + '菧' => '菧', + '著' => '著', + '荓' => '荓', + '菊' => '菊', + '菌' => '菌', + '菜' => '菜', + '𦰶' => '𦰶', + '𦵫' => '𦵫', + '𦳕' => '𦳕', + '䔫' => '䔫', + '蓱' => '蓱', + '蓳' => '蓳', + '蔖' => '蔖', + '𧏊' => '𧏊', + '蕤' => '蕤', + '𦼬' => '𦼬', + '䕝' => '䕝', + '䕡' => '䕡', + '𦾱' => '𦾱', + '𧃒' => '𧃒', + '䕫' => '䕫', + '虐' => '虐', + '虜' => '虜', + '虧' => '虧', + '虩' => '虩', + '蚩' => '蚩', + '蚈' => '蚈', + '蜎' => '蜎', + '蛢' => '蛢', + '蝹' => '蝹', + '蜨' => '蜨', + '蝫' => '蝫', + '螆' => '螆', + '䗗' => '䗗', + '蟡' => '蟡', + '蠁' => '蠁', + '䗹' => '䗹', + '衠' => '衠', + '衣' => '衣', + '𧙧' => '𧙧', + '裗' => '裗', + '裞' => '裞', + '䘵' => '䘵', + '裺' => '裺', + '㒻' => '㒻', + '𧢮' => '𧢮', + '𧥦' => '𧥦', + '䚾' => '䚾', + '䛇' => '䛇', + '誠' => '誠', + '諭' => '諭', + '變' => '變', + '豕' => '豕', + '𧲨' => '𧲨', + '貫' => '貫', + '賁' => '賁', + '贛' => '贛', + '起' => '起', + '𧼯' => '𧼯', + '𠠄' => '𠠄', + '跋' => '跋', + '趼' => '趼', + '跰' => '跰', + '𠣞' => '𠣞', + '軔' => '軔', + '輸' => '輸', + '𨗒' => '𨗒', + '𨗭' => '𨗭', + '邔' => '邔', + '郱' => '郱', + '鄑' => '鄑', + '𨜮' => '𨜮', + '鄛' => '鄛', + '鈸' => '鈸', + '鋗' => '鋗', + '鋘' => '鋘', + '鉼' => '鉼', + '鏹' => '鏹', + '鐕' => '鐕', + '𨯺' => '𨯺', + '開' => '開', + '䦕' => '䦕', + '閷' => '閷', + '𨵷' => '𨵷', + '䧦' => '䧦', + '雃' => '雃', + '嶲' => '嶲', + '霣' => '霣', + '𩅅' => '𩅅', + '𩈚' => '𩈚', + '䩮' => '䩮', + '䩶' => '䩶', + '韠' => '韠', + '𩐊' => '𩐊', + '䪲' => '䪲', + '𩒖' => '𩒖', + '頋' => '頋', + '頋' => '頋', + '頩' => '頩', + '𩖶' => '𩖶', + '飢' => '飢', + '䬳' => '䬳', + '餩' => '餩', + '馧' => '馧', + '駂' => '駂', + '駾' => '駾', + '䯎' => '䯎', + '𩬰' => '𩬰', + '鬒' => '鬒', + '鱀' => '鱀', + '鳽' => '鳽', + '䳎' => '䳎', + '䳭' => '䳭', + '鵧' => '鵧', + '𪃎' => '𪃎', + '䳸' => '䳸', + '𪄅' => '𪄅', + '𪈎' => '𪈎', + '𪊑' => '𪊑', + '麻' => '麻', + '䵖' => '䵖', + '黹' => '黹', + '黾' => '黾', + '鼅' => '鼅', + '鼏' => '鼏', + '鼖' => '鼖', + '鼻' => '鼻', + '𪘀' => '𪘀', +); diff --git a/pandora_console/vendor/symfony/polyfill-intl-normalizer/Resources/unidata/combiningClass.php b/pandora_console/vendor/symfony/polyfill-intl-normalizer/Resources/unidata/combiningClass.php new file mode 100644 index 0000000000..ec90f36eb6 --- /dev/null +++ b/pandora_console/vendor/symfony/polyfill-intl-normalizer/Resources/unidata/combiningClass.php @@ -0,0 +1,876 @@ + 230, + '́' => 230, + '̂' => 230, + '̃' => 230, + '̄' => 230, + '̅' => 230, + '̆' => 230, + '̇' => 230, + '̈' => 230, + '̉' => 230, + '̊' => 230, + '̋' => 230, + '̌' => 230, + '̍' => 230, + '̎' => 230, + '̏' => 230, + '̐' => 230, + '̑' => 230, + '̒' => 230, + '̓' => 230, + '̔' => 230, + '̕' => 232, + '̖' => 220, + '̗' => 220, + '̘' => 220, + '̙' => 220, + '̚' => 232, + '̛' => 216, + '̜' => 220, + '̝' => 220, + '̞' => 220, + '̟' => 220, + '̠' => 220, + '̡' => 202, + '̢' => 202, + '̣' => 220, + '̤' => 220, + '̥' => 220, + '̦' => 220, + '̧' => 202, + '̨' => 202, + '̩' => 220, + '̪' => 220, + '̫' => 220, + '̬' => 220, + '̭' => 220, + '̮' => 220, + '̯' => 220, + '̰' => 220, + '̱' => 220, + '̲' => 220, + '̳' => 220, + '̴' => 1, + '̵' => 1, + '̶' => 1, + '̷' => 1, + '̸' => 1, + '̹' => 220, + '̺' => 220, + '̻' => 220, + '̼' => 220, + '̽' => 230, + '̾' => 230, + '̿' => 230, + '̀' => 230, + '́' => 230, + '͂' => 230, + '̓' => 230, + '̈́' => 230, + 'ͅ' => 240, + '͆' => 230, + '͇' => 220, + '͈' => 220, + '͉' => 220, + '͊' => 230, + '͋' => 230, + '͌' => 230, + '͍' => 220, + '͎' => 220, + '͐' => 230, + '͑' => 230, + '͒' => 230, + '͓' => 220, + '͔' => 220, + '͕' => 220, + '͖' => 220, + '͗' => 230, + '͘' => 232, + '͙' => 220, + '͚' => 220, + '͛' => 230, + '͜' => 233, + '͝' => 234, + '͞' => 234, + '͟' => 233, + '͠' => 234, + '͡' => 234, + '͢' => 233, + 'ͣ' => 230, + 'ͤ' => 230, + 'ͥ' => 230, + 'ͦ' => 230, + 'ͧ' => 230, + 'ͨ' => 230, + 'ͩ' => 230, + 'ͪ' => 230, + 'ͫ' => 230, + 'ͬ' => 230, + 'ͭ' => 230, + 'ͮ' => 230, + 'ͯ' => 230, + '҃' => 230, + '҄' => 230, + '҅' => 230, + '҆' => 230, + '҇' => 230, + '֑' => 220, + '֒' => 230, + '֓' => 230, + '֔' => 230, + '֕' => 230, + '֖' => 220, + '֗' => 230, + '֘' => 230, + '֙' => 230, + '֚' => 222, + '֛' => 220, + '֜' => 230, + '֝' => 230, + '֞' => 230, + '֟' => 230, + '֠' => 230, + '֡' => 230, + '֢' => 220, + '֣' => 220, + '֤' => 220, + '֥' => 220, + '֦' => 220, + '֧' => 220, + '֨' => 230, + '֩' => 230, + '֪' => 220, + '֫' => 230, + '֬' => 230, + '֭' => 222, + '֮' => 228, + '֯' => 230, + 'ְ' => 10, + 'ֱ' => 11, + 'ֲ' => 12, + 'ֳ' => 13, + 'ִ' => 14, + 'ֵ' => 15, + 'ֶ' => 16, + 'ַ' => 17, + 'ָ' => 18, + 'ֹ' => 19, + 'ֺ' => 19, + 'ֻ' => 20, + 'ּ' => 21, + 'ֽ' => 22, + 'ֿ' => 23, + 'ׁ' => 24, + 'ׂ' => 25, + 'ׄ' => 230, + 'ׅ' => 220, + 'ׇ' => 18, + 'ؐ' => 230, + 'ؑ' => 230, + 'ؒ' => 230, + 'ؓ' => 230, + 'ؔ' => 230, + 'ؕ' => 230, + 'ؖ' => 230, + 'ؗ' => 230, + 'ؘ' => 30, + 'ؙ' => 31, + 'ؚ' => 32, + 'ً' => 27, + 'ٌ' => 28, + 'ٍ' => 29, + 'َ' => 30, + 'ُ' => 31, + 'ِ' => 32, + 'ّ' => 33, + 'ْ' => 34, + 'ٓ' => 230, + 'ٔ' => 230, + 'ٕ' => 220, + 'ٖ' => 220, + 'ٗ' => 230, + '٘' => 230, + 'ٙ' => 230, + 'ٚ' => 230, + 'ٛ' => 230, + 'ٜ' => 220, + 'ٝ' => 230, + 'ٞ' => 230, + 'ٟ' => 220, + 'ٰ' => 35, + 'ۖ' => 230, + 'ۗ' => 230, + 'ۘ' => 230, + 'ۙ' => 230, + 'ۚ' => 230, + 'ۛ' => 230, + 'ۜ' => 230, + '۟' => 230, + '۠' => 230, + 'ۡ' => 230, + 'ۢ' => 230, + 'ۣ' => 220, + 'ۤ' => 230, + 'ۧ' => 230, + 'ۨ' => 230, + '۪' => 220, + '۫' => 230, + '۬' => 230, + 'ۭ' => 220, + 'ܑ' => 36, + 'ܰ' => 230, + 'ܱ' => 220, + 'ܲ' => 230, + 'ܳ' => 230, + 'ܴ' => 220, + 'ܵ' => 230, + 'ܶ' => 230, + 'ܷ' => 220, + 'ܸ' => 220, + 'ܹ' => 220, + 'ܺ' => 230, + 'ܻ' => 220, + 'ܼ' => 220, + 'ܽ' => 230, + 'ܾ' => 220, + 'ܿ' => 230, + '݀' => 230, + '݁' => 230, + '݂' => 220, + '݃' => 230, + '݄' => 220, + '݅' => 230, + '݆' => 220, + '݇' => 230, + '݈' => 220, + '݉' => 230, + '݊' => 230, + '߫' => 230, + '߬' => 230, + '߭' => 230, + '߮' => 230, + '߯' => 230, + '߰' => 230, + '߱' => 230, + '߲' => 220, + '߳' => 230, + '߽' => 220, + 'ࠖ' => 230, + 'ࠗ' => 230, + '࠘' => 230, + '࠙' => 230, + 'ࠛ' => 230, + 'ࠜ' => 230, + 'ࠝ' => 230, + 'ࠞ' => 230, + 'ࠟ' => 230, + 'ࠠ' => 230, + 'ࠡ' => 230, + 'ࠢ' => 230, + 'ࠣ' => 230, + 'ࠥ' => 230, + 'ࠦ' => 230, + 'ࠧ' => 230, + 'ࠩ' => 230, + 'ࠪ' => 230, + 'ࠫ' => 230, + 'ࠬ' => 230, + '࠭' => 230, + '࡙' => 220, + '࡚' => 220, + '࡛' => 220, + '࣓' => 220, + 'ࣔ' => 230, + 'ࣕ' => 230, + 'ࣖ' => 230, + 'ࣗ' => 230, + 'ࣘ' => 230, + 'ࣙ' => 230, + 'ࣚ' => 230, + 'ࣛ' => 230, + 'ࣜ' => 230, + 'ࣝ' => 230, + 'ࣞ' => 230, + 'ࣟ' => 230, + '࣠' => 230, + '࣡' => 230, + 'ࣣ' => 220, + 'ࣤ' => 230, + 'ࣥ' => 230, + 'ࣦ' => 220, + 'ࣧ' => 230, + 'ࣨ' => 230, + 'ࣩ' => 220, + '࣪' => 230, + '࣫' => 230, + '࣬' => 230, + '࣭' => 220, + '࣮' => 220, + '࣯' => 220, + 'ࣰ' => 27, + 'ࣱ' => 28, + 'ࣲ' => 29, + 'ࣳ' => 230, + 'ࣴ' => 230, + 'ࣵ' => 230, + 'ࣶ' => 220, + 'ࣷ' => 230, + 'ࣸ' => 230, + 'ࣹ' => 220, + 'ࣺ' => 220, + 'ࣻ' => 230, + 'ࣼ' => 230, + 'ࣽ' => 230, + 'ࣾ' => 230, + 'ࣿ' => 230, + '़' => 7, + '्' => 9, + '॑' => 230, + '॒' => 220, + '॓' => 230, + '॔' => 230, + '়' => 7, + '্' => 9, + '৾' => 230, + '਼' => 7, + '੍' => 9, + '઼' => 7, + '્' => 9, + '଼' => 7, + '୍' => 9, + '்' => 9, + '్' => 9, + 'ౕ' => 84, + 'ౖ' => 91, + '಼' => 7, + '್' => 9, + '഻' => 9, + '഼' => 9, + '്' => 9, + '්' => 9, + 'ุ' => 103, + 'ู' => 103, + 'ฺ' => 9, + '่' => 107, + '้' => 107, + '๊' => 107, + '๋' => 107, + 'ຸ' => 118, + 'ູ' => 118, + '຺' => 9, + '່' => 122, + '້' => 122, + '໊' => 122, + '໋' => 122, + '༘' => 220, + '༙' => 220, + '༵' => 220, + '༷' => 220, + '༹' => 216, + 'ཱ' => 129, + 'ི' => 130, + 'ུ' => 132, + 'ེ' => 130, + 'ཻ' => 130, + 'ོ' => 130, + 'ཽ' => 130, + 'ྀ' => 130, + 'ྂ' => 230, + 'ྃ' => 230, + '྄' => 9, + '྆' => 230, + '྇' => 230, + '࿆' => 220, + '့' => 7, + '္' => 9, + '်' => 9, + 'ႍ' => 220, + '፝' => 230, + '፞' => 230, + '፟' => 230, + '᜔' => 9, + '᜴' => 9, + '្' => 9, + '៝' => 230, + 'ᢩ' => 228, + '᤹' => 222, + '᤺' => 230, + '᤻' => 220, + 'ᨗ' => 230, + 'ᨘ' => 220, + '᩠' => 9, + '᩵' => 230, + '᩶' => 230, + '᩷' => 230, + '᩸' => 230, + '᩹' => 230, + '᩺' => 230, + '᩻' => 230, + '᩼' => 230, + '᩿' => 220, + '᪰' => 230, + '᪱' => 230, + '᪲' => 230, + '᪳' => 230, + '᪴' => 230, + '᪵' => 220, + '᪶' => 220, + '᪷' => 220, + '᪸' => 220, + '᪹' => 220, + '᪺' => 220, + '᪻' => 230, + '᪼' => 230, + '᪽' => 220, + 'ᪿ' => 220, + 'ᫀ' => 220, + '᬴' => 7, + '᭄' => 9, + '᭫' => 230, + '᭬' => 220, + '᭭' => 230, + '᭮' => 230, + '᭯' => 230, + '᭰' => 230, + '᭱' => 230, + '᭲' => 230, + '᭳' => 230, + '᮪' => 9, + '᮫' => 9, + '᯦' => 7, + '᯲' => 9, + '᯳' => 9, + '᰷' => 7, + '᳐' => 230, + '᳑' => 230, + '᳒' => 230, + '᳔' => 1, + '᳕' => 220, + '᳖' => 220, + '᳗' => 220, + '᳘' => 220, + '᳙' => 220, + '᳚' => 230, + '᳛' => 230, + '᳜' => 220, + '᳝' => 220, + '᳞' => 220, + '᳟' => 220, + '᳠' => 230, + '᳢' => 1, + '᳣' => 1, + '᳤' => 1, + '᳥' => 1, + '᳦' => 1, + '᳧' => 1, + '᳨' => 1, + '᳭' => 220, + '᳴' => 230, + '᳸' => 230, + '᳹' => 230, + '᷀' => 230, + '᷁' => 230, + '᷂' => 220, + '᷃' => 230, + '᷄' => 230, + '᷅' => 230, + '᷆' => 230, + '᷇' => 230, + '᷈' => 230, + '᷉' => 230, + '᷊' => 220, + '᷋' => 230, + '᷌' => 230, + '᷍' => 234, + '᷎' => 214, + '᷏' => 220, + '᷐' => 202, + '᷑' => 230, + '᷒' => 230, + 'ᷓ' => 230, + 'ᷔ' => 230, + 'ᷕ' => 230, + 'ᷖ' => 230, + 'ᷗ' => 230, + 'ᷘ' => 230, + 'ᷙ' => 230, + 'ᷚ' => 230, + 'ᷛ' => 230, + 'ᷜ' => 230, + 'ᷝ' => 230, + 'ᷞ' => 230, + 'ᷟ' => 230, + 'ᷠ' => 230, + 'ᷡ' => 230, + 'ᷢ' => 230, + 'ᷣ' => 230, + 'ᷤ' => 230, + 'ᷥ' => 230, + 'ᷦ' => 230, + 'ᷧ' => 230, + 'ᷨ' => 230, + 'ᷩ' => 230, + 'ᷪ' => 230, + 'ᷫ' => 230, + 'ᷬ' => 230, + 'ᷭ' => 230, + 'ᷮ' => 230, + 'ᷯ' => 230, + 'ᷰ' => 230, + 'ᷱ' => 230, + 'ᷲ' => 230, + 'ᷳ' => 230, + 'ᷴ' => 230, + '᷵' => 230, + '᷶' => 232, + '᷷' => 228, + '᷸' => 228, + '᷹' => 220, + '᷻' => 230, + '᷼' => 233, + '᷽' => 220, + '᷾' => 230, + '᷿' => 220, + '⃐' => 230, + '⃑' => 230, + '⃒' => 1, + '⃓' => 1, + '⃔' => 230, + '⃕' => 230, + '⃖' => 230, + '⃗' => 230, + '⃘' => 1, + '⃙' => 1, + '⃚' => 1, + '⃛' => 230, + '⃜' => 230, + '⃡' => 230, + '⃥' => 1, + '⃦' => 1, + '⃧' => 230, + '⃨' => 220, + '⃩' => 230, + '⃪' => 1, + '⃫' => 1, + '⃬' => 220, + '⃭' => 220, + '⃮' => 220, + '⃯' => 220, + '⃰' => 230, + '⳯' => 230, + '⳰' => 230, + '⳱' => 230, + '⵿' => 9, + 'ⷠ' => 230, + 'ⷡ' => 230, + 'ⷢ' => 230, + 'ⷣ' => 230, + 'ⷤ' => 230, + 'ⷥ' => 230, + 'ⷦ' => 230, + 'ⷧ' => 230, + 'ⷨ' => 230, + 'ⷩ' => 230, + 'ⷪ' => 230, + 'ⷫ' => 230, + 'ⷬ' => 230, + 'ⷭ' => 230, + 'ⷮ' => 230, + 'ⷯ' => 230, + 'ⷰ' => 230, + 'ⷱ' => 230, + 'ⷲ' => 230, + 'ⷳ' => 230, + 'ⷴ' => 230, + 'ⷵ' => 230, + 'ⷶ' => 230, + 'ⷷ' => 230, + 'ⷸ' => 230, + 'ⷹ' => 230, + 'ⷺ' => 230, + 'ⷻ' => 230, + 'ⷼ' => 230, + 'ⷽ' => 230, + 'ⷾ' => 230, + 'ⷿ' => 230, + '〪' => 218, + '〫' => 228, + '〬' => 232, + '〭' => 222, + '〮' => 224, + '〯' => 224, + '゙' => 8, + '゚' => 8, + '꙯' => 230, + 'ꙴ' => 230, + 'ꙵ' => 230, + 'ꙶ' => 230, + 'ꙷ' => 230, + 'ꙸ' => 230, + 'ꙹ' => 230, + 'ꙺ' => 230, + 'ꙻ' => 230, + '꙼' => 230, + '꙽' => 230, + 'ꚞ' => 230, + 'ꚟ' => 230, + '꛰' => 230, + '꛱' => 230, + '꠆' => 9, + '꠬' => 9, + '꣄' => 9, + '꣠' => 230, + '꣡' => 230, + '꣢' => 230, + '꣣' => 230, + '꣤' => 230, + '꣥' => 230, + '꣦' => 230, + '꣧' => 230, + '꣨' => 230, + '꣩' => 230, + '꣪' => 230, + '꣫' => 230, + '꣬' => 230, + '꣭' => 230, + '꣮' => 230, + '꣯' => 230, + '꣰' => 230, + '꣱' => 230, + '꤫' => 220, + '꤬' => 220, + '꤭' => 220, + '꥓' => 9, + '꦳' => 7, + '꧀' => 9, + 'ꪰ' => 230, + 'ꪲ' => 230, + 'ꪳ' => 230, + 'ꪴ' => 220, + 'ꪷ' => 230, + 'ꪸ' => 230, + 'ꪾ' => 230, + '꪿' => 230, + '꫁' => 230, + '꫶' => 9, + '꯭' => 9, + 'ﬞ' => 26, + '︠' => 230, + '︡' => 230, + '︢' => 230, + '︣' => 230, + '︤' => 230, + '︥' => 230, + '︦' => 230, + '︧' => 220, + '︨' => 220, + '︩' => 220, + '︪' => 220, + '︫' => 220, + '︬' => 220, + '︭' => 220, + '︮' => 230, + '︯' => 230, + '𐇽' => 220, + '𐋠' => 220, + '𐍶' => 230, + '𐍷' => 230, + '𐍸' => 230, + '𐍹' => 230, + '𐍺' => 230, + '𐨍' => 220, + '𐨏' => 230, + '𐨸' => 230, + '𐨹' => 1, + '𐨺' => 220, + '𐨿' => 9, + '𐫥' => 230, + '𐫦' => 220, + '𐴤' => 230, + '𐴥' => 230, + '𐴦' => 230, + '𐴧' => 230, + '𐺫' => 230, + '𐺬' => 230, + '𐽆' => 220, + '𐽇' => 220, + '𐽈' => 230, + '𐽉' => 230, + '𐽊' => 230, + '𐽋' => 220, + '𐽌' => 230, + '𐽍' => 220, + '𐽎' => 220, + '𐽏' => 220, + '𐽐' => 220, + '𑁆' => 9, + '𑁿' => 9, + '𑂹' => 9, + '𑂺' => 7, + '𑄀' => 230, + '𑄁' => 230, + '𑄂' => 230, + '𑄳' => 9, + '𑄴' => 9, + '𑅳' => 7, + '𑇀' => 9, + '𑇊' => 7, + '𑈵' => 9, + '𑈶' => 7, + '𑋩' => 7, + '𑋪' => 9, + '𑌻' => 7, + '𑌼' => 7, + '𑍍' => 9, + '𑍦' => 230, + '𑍧' => 230, + '𑍨' => 230, + '𑍩' => 230, + '𑍪' => 230, + '𑍫' => 230, + '𑍬' => 230, + '𑍰' => 230, + '𑍱' => 230, + '𑍲' => 230, + '𑍳' => 230, + '𑍴' => 230, + '𑑂' => 9, + '𑑆' => 7, + '𑑞' => 230, + '𑓂' => 9, + '𑓃' => 7, + '𑖿' => 9, + '𑗀' => 7, + '𑘿' => 9, + '𑚶' => 9, + '𑚷' => 7, + '𑜫' => 9, + '𑠹' => 9, + '𑠺' => 7, + '𑤽' => 9, + '𑤾' => 9, + '𑥃' => 7, + '𑧠' => 9, + '𑨴' => 9, + '𑩇' => 9, + '𑪙' => 9, + '𑰿' => 9, + '𑵂' => 7, + '𑵄' => 9, + '𑵅' => 9, + '𑶗' => 9, + '𖫰' => 1, + '𖫱' => 1, + '𖫲' => 1, + '𖫳' => 1, + '𖫴' => 1, + '𖬰' => 230, + '𖬱' => 230, + '𖬲' => 230, + '𖬳' => 230, + '𖬴' => 230, + '𖬵' => 230, + '𖬶' => 230, + '𖿰' => 6, + '𖿱' => 6, + '𛲞' => 1, + '𝅥' => 216, + '𝅦' => 216, + '𝅧' => 1, + '𝅨' => 1, + '𝅩' => 1, + '𝅭' => 226, + '𝅮' => 216, + '𝅯' => 216, + '𝅰' => 216, + '𝅱' => 216, + '𝅲' => 216, + '𝅻' => 220, + '𝅼' => 220, + '𝅽' => 220, + '𝅾' => 220, + '𝅿' => 220, + '𝆀' => 220, + '𝆁' => 220, + '𝆂' => 220, + '𝆅' => 230, + '𝆆' => 230, + '𝆇' => 230, + '𝆈' => 230, + '𝆉' => 230, + '𝆊' => 220, + '𝆋' => 220, + '𝆪' => 230, + '𝆫' => 230, + '𝆬' => 230, + '𝆭' => 230, + '𝉂' => 230, + '𝉃' => 230, + '𝉄' => 230, + '𞀀' => 230, + '𞀁' => 230, + '𞀂' => 230, + '𞀃' => 230, + '𞀄' => 230, + '𞀅' => 230, + '𞀆' => 230, + '𞀈' => 230, + '𞀉' => 230, + '𞀊' => 230, + '𞀋' => 230, + '𞀌' => 230, + '𞀍' => 230, + '𞀎' => 230, + '𞀏' => 230, + '𞀐' => 230, + '𞀑' => 230, + '𞀒' => 230, + '𞀓' => 230, + '𞀔' => 230, + '𞀕' => 230, + '𞀖' => 230, + '𞀗' => 230, + '𞀘' => 230, + '𞀛' => 230, + '𞀜' => 230, + '𞀝' => 230, + '𞀞' => 230, + '𞀟' => 230, + '𞀠' => 230, + '𞀡' => 230, + '𞀣' => 230, + '𞀤' => 230, + '𞀦' => 230, + '𞀧' => 230, + '𞀨' => 230, + '𞀩' => 230, + '𞀪' => 230, + '𞄰' => 230, + '𞄱' => 230, + '𞄲' => 230, + '𞄳' => 230, + '𞄴' => 230, + '𞄵' => 230, + '𞄶' => 230, + '𞋬' => 230, + '𞋭' => 230, + '𞋮' => 230, + '𞋯' => 230, + '𞣐' => 220, + '𞣑' => 220, + '𞣒' => 220, + '𞣓' => 220, + '𞣔' => 220, + '𞣕' => 220, + '𞣖' => 220, + '𞥄' => 230, + '𞥅' => 230, + '𞥆' => 230, + '𞥇' => 230, + '𞥈' => 230, + '𞥉' => 230, + '𞥊' => 7, +); diff --git a/pandora_console/vendor/symfony/polyfill-intl-normalizer/Resources/unidata/compatibilityDecomposition.php b/pandora_console/vendor/symfony/polyfill-intl-normalizer/Resources/unidata/compatibilityDecomposition.php new file mode 100644 index 0000000000..1574902893 --- /dev/null +++ b/pandora_console/vendor/symfony/polyfill-intl-normalizer/Resources/unidata/compatibilityDecomposition.php @@ -0,0 +1,3695 @@ + ' ', + '¨' => ' ̈', + 'ª' => 'a', + '¯' => ' ̄', + '²' => '2', + '³' => '3', + '´' => ' ́', + 'µ' => 'μ', + '¸' => ' ̧', + '¹' => '1', + 'º' => 'o', + '¼' => '1⁄4', + '½' => '1⁄2', + '¾' => '3⁄4', + 'IJ' => 'IJ', + 'ij' => 'ij', + 'Ŀ' => 'L·', + 'ŀ' => 'l·', + 'ʼn' => 'ʼn', + 'ſ' => 's', + 'DŽ' => 'DŽ', + 'Dž' => 'Dž', + 'dž' => 'dž', + 'LJ' => 'LJ', + 'Lj' => 'Lj', + 'lj' => 'lj', + 'NJ' => 'NJ', + 'Nj' => 'Nj', + 'nj' => 'nj', + 'DZ' => 'DZ', + 'Dz' => 'Dz', + 'dz' => 'dz', + 'ʰ' => 'h', + 'ʱ' => 'ɦ', + 'ʲ' => 'j', + 'ʳ' => 'r', + 'ʴ' => 'ɹ', + 'ʵ' => 'ɻ', + 'ʶ' => 'ʁ', + 'ʷ' => 'w', + 'ʸ' => 'y', + '˘' => ' ̆', + '˙' => ' ̇', + '˚' => ' ̊', + '˛' => ' ̨', + '˜' => ' ̃', + '˝' => ' ̋', + 'ˠ' => 'ɣ', + 'ˡ' => 'l', + 'ˢ' => 's', + 'ˣ' => 'x', + 'ˤ' => 'ʕ', + 'ͺ' => ' ͅ', + '΄' => ' ́', + '΅' => ' ̈́', + 'ϐ' => 'β', + 'ϑ' => 'θ', + 'ϒ' => 'Υ', + 'ϓ' => 'Ύ', + 'ϔ' => 'Ϋ', + 'ϕ' => 'φ', + 'ϖ' => 'π', + 'ϰ' => 'κ', + 'ϱ' => 'ρ', + 'ϲ' => 'ς', + 'ϴ' => 'Θ', + 'ϵ' => 'ε', + 'Ϲ' => 'Σ', + 'և' => 'եւ', + 'ٵ' => 'اٴ', + 'ٶ' => 'وٴ', + 'ٷ' => 'ۇٴ', + 'ٸ' => 'يٴ', + 'ำ' => 'ํา', + 'ຳ' => 'ໍາ', + 'ໜ' => 'ຫນ', + 'ໝ' => 'ຫມ', + '༌' => '་', + 'ཷ' => 'ྲཱྀ', + 'ཹ' => 'ླཱྀ', + 'ჼ' => 'ნ', + 'ᴬ' => 'A', + 'ᴭ' => 'Æ', + 'ᴮ' => 'B', + 'ᴰ' => 'D', + 'ᴱ' => 'E', + 'ᴲ' => 'Ǝ', + 'ᴳ' => 'G', + 'ᴴ' => 'H', + 'ᴵ' => 'I', + 'ᴶ' => 'J', + 'ᴷ' => 'K', + 'ᴸ' => 'L', + 'ᴹ' => 'M', + 'ᴺ' => 'N', + 'ᴼ' => 'O', + 'ᴽ' => 'Ȣ', + 'ᴾ' => 'P', + 'ᴿ' => 'R', + 'ᵀ' => 'T', + 'ᵁ' => 'U', + 'ᵂ' => 'W', + 'ᵃ' => 'a', + 'ᵄ' => 'ɐ', + 'ᵅ' => 'ɑ', + 'ᵆ' => 'ᴂ', + 'ᵇ' => 'b', + 'ᵈ' => 'd', + 'ᵉ' => 'e', + 'ᵊ' => 'ə', + 'ᵋ' => 'ɛ', + 'ᵌ' => 'ɜ', + 'ᵍ' => 'g', + 'ᵏ' => 'k', + 'ᵐ' => 'm', + 'ᵑ' => 'ŋ', + 'ᵒ' => 'o', + 'ᵓ' => 'ɔ', + 'ᵔ' => 'ᴖ', + 'ᵕ' => 'ᴗ', + 'ᵖ' => 'p', + 'ᵗ' => 't', + 'ᵘ' => 'u', + 'ᵙ' => 'ᴝ', + 'ᵚ' => 'ɯ', + 'ᵛ' => 'v', + 'ᵜ' => 'ᴥ', + 'ᵝ' => 'β', + 'ᵞ' => 'γ', + 'ᵟ' => 'δ', + 'ᵠ' => 'φ', + 'ᵡ' => 'χ', + 'ᵢ' => 'i', + 'ᵣ' => 'r', + 'ᵤ' => 'u', + 'ᵥ' => 'v', + 'ᵦ' => 'β', + 'ᵧ' => 'γ', + 'ᵨ' => 'ρ', + 'ᵩ' => 'φ', + 'ᵪ' => 'χ', + 'ᵸ' => 'н', + 'ᶛ' => 'ɒ', + 'ᶜ' => 'c', + 'ᶝ' => 'ɕ', + 'ᶞ' => 'ð', + 'ᶟ' => 'ɜ', + 'ᶠ' => 'f', + 'ᶡ' => 'ɟ', + 'ᶢ' => 'ɡ', + 'ᶣ' => 'ɥ', + 'ᶤ' => 'ɨ', + 'ᶥ' => 'ɩ', + 'ᶦ' => 'ɪ', + 'ᶧ' => 'ᵻ', + 'ᶨ' => 'ʝ', + 'ᶩ' => 'ɭ', + 'ᶪ' => 'ᶅ', + 'ᶫ' => 'ʟ', + 'ᶬ' => 'ɱ', + 'ᶭ' => 'ɰ', + 'ᶮ' => 'ɲ', + 'ᶯ' => 'ɳ', + 'ᶰ' => 'ɴ', + 'ᶱ' => 'ɵ', + 'ᶲ' => 'ɸ', + 'ᶳ' => 'ʂ', + 'ᶴ' => 'ʃ', + 'ᶵ' => 'ƫ', + 'ᶶ' => 'ʉ', + 'ᶷ' => 'ʊ', + 'ᶸ' => 'ᴜ', + 'ᶹ' => 'ʋ', + 'ᶺ' => 'ʌ', + 'ᶻ' => 'z', + 'ᶼ' => 'ʐ', + 'ᶽ' => 'ʑ', + 'ᶾ' => 'ʒ', + 'ᶿ' => 'θ', + 'ẚ' => 'aʾ', + 'ẛ' => 'ṡ', + '᾽' => ' ̓', + '᾿' => ' ̓', + '῀' => ' ͂', + '῁' => ' ̈͂', + '῍' => ' ̓̀', + '῎' => ' ̓́', + '῏' => ' ̓͂', + '῝' => ' ̔̀', + '῞' => ' ̔́', + '῟' => ' ̔͂', + '῭' => ' ̈̀', + '΅' => ' ̈́', + '´' => ' ́', + '῾' => ' ̔', + ' ' => ' ', + ' ' => ' ', + ' ' => ' ', + ' ' => ' ', + ' ' => ' ', + ' ' => ' ', + ' ' => ' ', + ' ' => ' ', + ' ' => ' ', + ' ' => ' ', + ' ' => ' ', + '‑' => '‐', + '‗' => ' ̳', + '․' => '.', + '‥' => '..', + '…' => '...', + ' ' => ' ', + '″' => '′′', + '‴' => '′′′', + '‶' => '‵‵', + '‷' => '‵‵‵', + '‼' => '!!', + '‾' => ' ̅', + '⁇' => '??', + '⁈' => '?!', + '⁉' => '!?', + '⁗' => '′′′′', + ' ' => ' ', + '⁰' => '0', + 'ⁱ' => 'i', + '⁴' => '4', + '⁵' => '5', + '⁶' => '6', + '⁷' => '7', + '⁸' => '8', + '⁹' => '9', + '⁺' => '+', + '⁻' => '−', + '⁼' => '=', + '⁽' => '(', + '⁾' => ')', + 'ⁿ' => 'n', + '₀' => '0', + '₁' => '1', + '₂' => '2', + '₃' => '3', + '₄' => '4', + '₅' => '5', + '₆' => '6', + '₇' => '7', + '₈' => '8', + '₉' => '9', + '₊' => '+', + '₋' => '−', + '₌' => '=', + '₍' => '(', + '₎' => ')', + 'ₐ' => 'a', + 'ₑ' => 'e', + 'ₒ' => 'o', + 'ₓ' => 'x', + 'ₔ' => 'ə', + 'ₕ' => 'h', + 'ₖ' => 'k', + 'ₗ' => 'l', + 'ₘ' => 'm', + 'ₙ' => 'n', + 'ₚ' => 'p', + 'ₛ' => 's', + 'ₜ' => 't', + '₨' => 'Rs', + '℀' => 'a/c', + '℁' => 'a/s', + 'ℂ' => 'C', + '℃' => '°C', + '℅' => 'c/o', + '℆' => 'c/u', + 'ℇ' => 'Ɛ', + '℉' => '°F', + 'ℊ' => 'g', + 'ℋ' => 'H', + 'ℌ' => 'H', + 'ℍ' => 'H', + 'ℎ' => 'h', + 'ℏ' => 'ħ', + 'ℐ' => 'I', + 'ℑ' => 'I', + 'ℒ' => 'L', + 'ℓ' => 'l', + 'ℕ' => 'N', + '№' => 'No', + 'ℙ' => 'P', + 'ℚ' => 'Q', + 'ℛ' => 'R', + 'ℜ' => 'R', + 'ℝ' => 'R', + '℠' => 'SM', + '℡' => 'TEL', + '™' => 'TM', + 'ℤ' => 'Z', + 'ℨ' => 'Z', + 'ℬ' => 'B', + 'ℭ' => 'C', + 'ℯ' => 'e', + 'ℰ' => 'E', + 'ℱ' => 'F', + 'ℳ' => 'M', + 'ℴ' => 'o', + 'ℵ' => 'א', + 'ℶ' => 'ב', + 'ℷ' => 'ג', + 'ℸ' => 'ד', + 'ℹ' => 'i', + '℻' => 'FAX', + 'ℼ' => 'π', + 'ℽ' => 'γ', + 'ℾ' => 'Γ', + 'ℿ' => 'Π', + '⅀' => '∑', + 'ⅅ' => 'D', + 'ⅆ' => 'd', + 'ⅇ' => 'e', + 'ⅈ' => 'i', + 'ⅉ' => 'j', + '⅐' => '1⁄7', + '⅑' => '1⁄9', + '⅒' => '1⁄10', + '⅓' => '1⁄3', + '⅔' => '2⁄3', + '⅕' => '1⁄5', + '⅖' => '2⁄5', + '⅗' => '3⁄5', + '⅘' => '4⁄5', + '⅙' => '1⁄6', + '⅚' => '5⁄6', + '⅛' => '1⁄8', + '⅜' => '3⁄8', + '⅝' => '5⁄8', + '⅞' => '7⁄8', + '⅟' => '1⁄', + 'Ⅰ' => 'I', + 'Ⅱ' => 'II', + 'Ⅲ' => 'III', + 'Ⅳ' => 'IV', + 'Ⅴ' => 'V', + 'Ⅵ' => 'VI', + 'Ⅶ' => 'VII', + 'Ⅷ' => 'VIII', + 'Ⅸ' => 'IX', + 'Ⅹ' => 'X', + 'Ⅺ' => 'XI', + 'Ⅻ' => 'XII', + 'Ⅼ' => 'L', + 'Ⅽ' => 'C', + 'Ⅾ' => 'D', + 'Ⅿ' => 'M', + 'ⅰ' => 'i', + 'ⅱ' => 'ii', + 'ⅲ' => 'iii', + 'ⅳ' => 'iv', + 'ⅴ' => 'v', + 'ⅵ' => 'vi', + 'ⅶ' => 'vii', + 'ⅷ' => 'viii', + 'ⅸ' => 'ix', + 'ⅹ' => 'x', + 'ⅺ' => 'xi', + 'ⅻ' => 'xii', + 'ⅼ' => 'l', + 'ⅽ' => 'c', + 'ⅾ' => 'd', + 'ⅿ' => 'm', + '↉' => '0⁄3', + '∬' => '∫∫', + '∭' => '∫∫∫', + '∯' => '∮∮', + '∰' => '∮∮∮', + '①' => '1', + '②' => '2', + '③' => '3', + '④' => '4', + '⑤' => '5', + '⑥' => '6', + '⑦' => '7', + '⑧' => '8', + '⑨' => '9', + '⑩' => '10', + '⑪' => '11', + '⑫' => '12', + '⑬' => '13', + '⑭' => '14', + '⑮' => '15', + '⑯' => '16', + '⑰' => '17', + '⑱' => '18', + '⑲' => '19', + '⑳' => '20', + '⑴' => '(1)', + '⑵' => '(2)', + '⑶' => '(3)', + '⑷' => '(4)', + '⑸' => '(5)', + '⑹' => '(6)', + '⑺' => '(7)', + '⑻' => '(8)', + '⑼' => '(9)', + '⑽' => '(10)', + '⑾' => '(11)', + '⑿' => '(12)', + '⒀' => '(13)', + '⒁' => '(14)', + '⒂' => '(15)', + '⒃' => '(16)', + '⒄' => '(17)', + '⒅' => '(18)', + '⒆' => '(19)', + '⒇' => '(20)', + '⒈' => '1.', + '⒉' => '2.', + '⒊' => '3.', + '⒋' => '4.', + '⒌' => '5.', + '⒍' => '6.', + '⒎' => '7.', + '⒏' => '8.', + '⒐' => '9.', + '⒑' => '10.', + '⒒' => '11.', + '⒓' => '12.', + '⒔' => '13.', + '⒕' => '14.', + '⒖' => '15.', + '⒗' => '16.', + '⒘' => '17.', + '⒙' => '18.', + '⒚' => '19.', + '⒛' => '20.', + '⒜' => '(a)', + '⒝' => '(b)', + '⒞' => '(c)', + '⒟' => '(d)', + '⒠' => '(e)', + '⒡' => '(f)', + '⒢' => '(g)', + '⒣' => '(h)', + '⒤' => '(i)', + '⒥' => '(j)', + '⒦' => '(k)', + '⒧' => '(l)', + '⒨' => '(m)', + '⒩' => '(n)', + '⒪' => '(o)', + '⒫' => '(p)', + '⒬' => '(q)', + '⒭' => '(r)', + '⒮' => '(s)', + '⒯' => '(t)', + '⒰' => '(u)', + '⒱' => '(v)', + '⒲' => '(w)', + '⒳' => '(x)', + '⒴' => '(y)', + '⒵' => '(z)', + 'Ⓐ' => 'A', + 'Ⓑ' => 'B', + 'Ⓒ' => 'C', + 'Ⓓ' => 'D', + 'Ⓔ' => 'E', + 'Ⓕ' => 'F', + 'Ⓖ' => 'G', + 'Ⓗ' => 'H', + 'Ⓘ' => 'I', + 'Ⓙ' => 'J', + 'Ⓚ' => 'K', + 'Ⓛ' => 'L', + 'Ⓜ' => 'M', + 'Ⓝ' => 'N', + 'Ⓞ' => 'O', + 'Ⓟ' => 'P', + 'Ⓠ' => 'Q', + 'Ⓡ' => 'R', + 'Ⓢ' => 'S', + 'Ⓣ' => 'T', + 'Ⓤ' => 'U', + 'Ⓥ' => 'V', + 'Ⓦ' => 'W', + 'Ⓧ' => 'X', + 'Ⓨ' => 'Y', + 'Ⓩ' => 'Z', + 'ⓐ' => 'a', + 'ⓑ' => 'b', + 'ⓒ' => 'c', + 'ⓓ' => 'd', + 'ⓔ' => 'e', + 'ⓕ' => 'f', + 'ⓖ' => 'g', + 'ⓗ' => 'h', + 'ⓘ' => 'i', + 'ⓙ' => 'j', + 'ⓚ' => 'k', + 'ⓛ' => 'l', + 'ⓜ' => 'm', + 'ⓝ' => 'n', + 'ⓞ' => 'o', + 'ⓟ' => 'p', + 'ⓠ' => 'q', + 'ⓡ' => 'r', + 'ⓢ' => 's', + 'ⓣ' => 't', + 'ⓤ' => 'u', + 'ⓥ' => 'v', + 'ⓦ' => 'w', + 'ⓧ' => 'x', + 'ⓨ' => 'y', + 'ⓩ' => 'z', + '⓪' => '0', + '⨌' => '∫∫∫∫', + '⩴' => '::=', + '⩵' => '==', + '⩶' => '===', + 'ⱼ' => 'j', + 'ⱽ' => 'V', + 'ⵯ' => 'ⵡ', + '⺟' => '母', + '⻳' => '龟', + '⼀' => '一', + '⼁' => '丨', + '⼂' => '丶', + '⼃' => '丿', + '⼄' => '乙', + '⼅' => '亅', + '⼆' => '二', + '⼇' => '亠', + '⼈' => '人', + '⼉' => '儿', + '⼊' => '入', + '⼋' => '八', + '⼌' => '冂', + '⼍' => '冖', + '⼎' => '冫', + '⼏' => '几', + '⼐' => '凵', + '⼑' => '刀', + '⼒' => '力', + '⼓' => '勹', + '⼔' => '匕', + '⼕' => '匚', + '⼖' => '匸', + '⼗' => '十', + '⼘' => '卜', + '⼙' => '卩', + '⼚' => '厂', + '⼛' => '厶', + '⼜' => '又', + '⼝' => '口', + '⼞' => '囗', + '⼟' => '土', + '⼠' => '士', + '⼡' => '夂', + '⼢' => '夊', + '⼣' => '夕', + '⼤' => '大', + '⼥' => '女', + '⼦' => '子', + '⼧' => '宀', + '⼨' => '寸', + '⼩' => '小', + '⼪' => '尢', + '⼫' => '尸', + '⼬' => '屮', + '⼭' => '山', + '⼮' => '巛', + '⼯' => '工', + '⼰' => '己', + '⼱' => '巾', + '⼲' => '干', + '⼳' => '幺', + '⼴' => '广', + '⼵' => '廴', + '⼶' => '廾', + '⼷' => '弋', + '⼸' => '弓', + '⼹' => '彐', + '⼺' => '彡', + '⼻' => '彳', + '⼼' => '心', + '⼽' => '戈', + '⼾' => '戶', + '⼿' => '手', + '⽀' => '支', + '⽁' => '攴', + '⽂' => '文', + '⽃' => '斗', + '⽄' => '斤', + '⽅' => '方', + '⽆' => '无', + '⽇' => '日', + '⽈' => '曰', + '⽉' => '月', + '⽊' => '木', + '⽋' => '欠', + '⽌' => '止', + '⽍' => '歹', + '⽎' => '殳', + '⽏' => '毋', + '⽐' => '比', + '⽑' => '毛', + '⽒' => '氏', + '⽓' => '气', + '⽔' => '水', + '⽕' => '火', + '⽖' => '爪', + '⽗' => '父', + '⽘' => '爻', + '⽙' => '爿', + '⽚' => '片', + '⽛' => '牙', + '⽜' => '牛', + '⽝' => '犬', + '⽞' => '玄', + '⽟' => '玉', + '⽠' => '瓜', + '⽡' => '瓦', + '⽢' => '甘', + '⽣' => '生', + '⽤' => '用', + '⽥' => '田', + '⽦' => '疋', + '⽧' => '疒', + '⽨' => '癶', + '⽩' => '白', + '⽪' => '皮', + '⽫' => '皿', + '⽬' => '目', + '⽭' => '矛', + '⽮' => '矢', + '⽯' => '石', + '⽰' => '示', + '⽱' => '禸', + '⽲' => '禾', + '⽳' => '穴', + '⽴' => '立', + '⽵' => '竹', + '⽶' => '米', + '⽷' => '糸', + '⽸' => '缶', + '⽹' => '网', + '⽺' => '羊', + '⽻' => '羽', + '⽼' => '老', + '⽽' => '而', + '⽾' => '耒', + '⽿' => '耳', + '⾀' => '聿', + '⾁' => '肉', + '⾂' => '臣', + '⾃' => '自', + '⾄' => '至', + '⾅' => '臼', + '⾆' => '舌', + '⾇' => '舛', + '⾈' => '舟', + '⾉' => '艮', + '⾊' => '色', + '⾋' => '艸', + '⾌' => '虍', + '⾍' => '虫', + '⾎' => '血', + '⾏' => '行', + '⾐' => '衣', + '⾑' => '襾', + '⾒' => '見', + '⾓' => '角', + '⾔' => '言', + '⾕' => '谷', + '⾖' => '豆', + '⾗' => '豕', + '⾘' => '豸', + '⾙' => '貝', + '⾚' => '赤', + '⾛' => '走', + '⾜' => '足', + '⾝' => '身', + '⾞' => '車', + '⾟' => '辛', + '⾠' => '辰', + '⾡' => '辵', + '⾢' => '邑', + '⾣' => '酉', + '⾤' => '釆', + '⾥' => '里', + '⾦' => '金', + '⾧' => '長', + '⾨' => '門', + '⾩' => '阜', + '⾪' => '隶', + '⾫' => '隹', + '⾬' => '雨', + '⾭' => '靑', + '⾮' => '非', + '⾯' => '面', + '⾰' => '革', + '⾱' => '韋', + '⾲' => '韭', + '⾳' => '音', + '⾴' => '頁', + '⾵' => '風', + '⾶' => '飛', + '⾷' => '食', + '⾸' => '首', + '⾹' => '香', + '⾺' => '馬', + '⾻' => '骨', + '⾼' => '高', + '⾽' => '髟', + '⾾' => '鬥', + '⾿' => '鬯', + '⿀' => '鬲', + '⿁' => '鬼', + '⿂' => '魚', + '⿃' => '鳥', + '⿄' => '鹵', + '⿅' => '鹿', + '⿆' => '麥', + '⿇' => '麻', + '⿈' => '黃', + '⿉' => '黍', + '⿊' => '黑', + '⿋' => '黹', + '⿌' => '黽', + '⿍' => '鼎', + '⿎' => '鼓', + '⿏' => '鼠', + '⿐' => '鼻', + '⿑' => '齊', + '⿒' => '齒', + '⿓' => '龍', + '⿔' => '龜', + '⿕' => '龠', + ' ' => ' ', + '〶' => '〒', + '〸' => '十', + '〹' => '卄', + '〺' => '卅', + '゛' => ' ゙', + '゜' => ' ゚', + 'ゟ' => 'より', + 'ヿ' => 'コト', + 'ㄱ' => 'ᄀ', + 'ㄲ' => 'ᄁ', + 'ㄳ' => 'ᆪ', + 'ㄴ' => 'ᄂ', + 'ㄵ' => 'ᆬ', + 'ㄶ' => 'ᆭ', + 'ㄷ' => 'ᄃ', + 'ㄸ' => 'ᄄ', + 'ㄹ' => 'ᄅ', + 'ㄺ' => 'ᆰ', + 'ㄻ' => 'ᆱ', + 'ㄼ' => 'ᆲ', + 'ㄽ' => 'ᆳ', + 'ㄾ' => 'ᆴ', + 'ㄿ' => 'ᆵ', + 'ㅀ' => 'ᄚ', + 'ㅁ' => 'ᄆ', + 'ㅂ' => 'ᄇ', + 'ㅃ' => 'ᄈ', + 'ㅄ' => 'ᄡ', + 'ㅅ' => 'ᄉ', + 'ㅆ' => 'ᄊ', + 'ㅇ' => 'ᄋ', + 'ㅈ' => 'ᄌ', + 'ㅉ' => 'ᄍ', + 'ㅊ' => 'ᄎ', + 'ㅋ' => 'ᄏ', + 'ㅌ' => 'ᄐ', + 'ㅍ' => 'ᄑ', + 'ㅎ' => 'ᄒ', + 'ㅏ' => 'ᅡ', + 'ㅐ' => 'ᅢ', + 'ㅑ' => 'ᅣ', + 'ㅒ' => 'ᅤ', + 'ㅓ' => 'ᅥ', + 'ㅔ' => 'ᅦ', + 'ㅕ' => 'ᅧ', + 'ㅖ' => 'ᅨ', + 'ㅗ' => 'ᅩ', + 'ㅘ' => 'ᅪ', + 'ㅙ' => 'ᅫ', + 'ㅚ' => 'ᅬ', + 'ㅛ' => 'ᅭ', + 'ㅜ' => 'ᅮ', + 'ㅝ' => 'ᅯ', + 'ㅞ' => 'ᅰ', + 'ㅟ' => 'ᅱ', + 'ㅠ' => 'ᅲ', + 'ㅡ' => 'ᅳ', + 'ㅢ' => 'ᅴ', + 'ㅣ' => 'ᅵ', + 'ㅤ' => 'ᅠ', + 'ㅥ' => 'ᄔ', + 'ㅦ' => 'ᄕ', + 'ㅧ' => 'ᇇ', + 'ㅨ' => 'ᇈ', + 'ㅩ' => 'ᇌ', + 'ㅪ' => 'ᇎ', + 'ㅫ' => 'ᇓ', + 'ㅬ' => 'ᇗ', + 'ㅭ' => 'ᇙ', + 'ㅮ' => 'ᄜ', + 'ㅯ' => 'ᇝ', + 'ㅰ' => 'ᇟ', + 'ㅱ' => 'ᄝ', + 'ㅲ' => 'ᄞ', + 'ㅳ' => 'ᄠ', + 'ㅴ' => 'ᄢ', + 'ㅵ' => 'ᄣ', + 'ㅶ' => 'ᄧ', + 'ㅷ' => 'ᄩ', + 'ㅸ' => 'ᄫ', + 'ㅹ' => 'ᄬ', + 'ㅺ' => 'ᄭ', + 'ㅻ' => 'ᄮ', + 'ㅼ' => 'ᄯ', + 'ㅽ' => 'ᄲ', + 'ㅾ' => 'ᄶ', + 'ㅿ' => 'ᅀ', + 'ㆀ' => 'ᅇ', + 'ㆁ' => 'ᅌ', + 'ㆂ' => 'ᇱ', + 'ㆃ' => 'ᇲ', + 'ㆄ' => 'ᅗ', + 'ㆅ' => 'ᅘ', + 'ㆆ' => 'ᅙ', + 'ㆇ' => 'ᆄ', + 'ㆈ' => 'ᆅ', + 'ㆉ' => 'ᆈ', + 'ㆊ' => 'ᆑ', + 'ㆋ' => 'ᆒ', + 'ㆌ' => 'ᆔ', + 'ㆍ' => 'ᆞ', + 'ㆎ' => 'ᆡ', + '㆒' => '一', + '㆓' => '二', + '㆔' => '三', + '㆕' => '四', + '㆖' => '上', + '㆗' => '中', + '㆘' => '下', + '㆙' => '甲', + '㆚' => '乙', + '㆛' => '丙', + '㆜' => '丁', + '㆝' => '天', + '㆞' => '地', + '㆟' => '人', + '㈀' => '(ᄀ)', + '㈁' => '(ᄂ)', + '㈂' => '(ᄃ)', + '㈃' => '(ᄅ)', + '㈄' => '(ᄆ)', + '㈅' => '(ᄇ)', + '㈆' => '(ᄉ)', + '㈇' => '(ᄋ)', + '㈈' => '(ᄌ)', + '㈉' => '(ᄎ)', + '㈊' => '(ᄏ)', + '㈋' => '(ᄐ)', + '㈌' => '(ᄑ)', + '㈍' => '(ᄒ)', + '㈎' => '(가)', + '㈏' => '(나)', + '㈐' => '(다)', + '㈑' => '(라)', + '㈒' => '(마)', + '㈓' => '(바)', + '㈔' => '(사)', + '㈕' => '(아)', + '㈖' => '(자)', + '㈗' => '(차)', + '㈘' => '(카)', + '㈙' => '(타)', + '㈚' => '(파)', + '㈛' => '(하)', + '㈜' => '(주)', + '㈝' => '(오전)', + '㈞' => '(오후)', + '㈠' => '(一)', + '㈡' => '(二)', + '㈢' => '(三)', + '㈣' => '(四)', + '㈤' => '(五)', + '㈥' => '(六)', + '㈦' => '(七)', + '㈧' => '(八)', + '㈨' => '(九)', + '㈩' => '(十)', + '㈪' => '(月)', + '㈫' => '(火)', + '㈬' => '(水)', + '㈭' => '(木)', + '㈮' => '(金)', + '㈯' => '(土)', + '㈰' => '(日)', + '㈱' => '(株)', + '㈲' => '(有)', + '㈳' => '(社)', + '㈴' => '(名)', + '㈵' => '(特)', + '㈶' => '(財)', + '㈷' => '(祝)', + '㈸' => '(労)', + '㈹' => '(代)', + '㈺' => '(呼)', + '㈻' => '(学)', + '㈼' => '(監)', + '㈽' => '(企)', + '㈾' => '(資)', + '㈿' => '(協)', + '㉀' => '(祭)', + '㉁' => '(休)', + '㉂' => '(自)', + '㉃' => '(至)', + '㉄' => '問', + '㉅' => '幼', + '㉆' => '文', + '㉇' => '箏', + '㉐' => 'PTE', + '㉑' => '21', + '㉒' => '22', + '㉓' => '23', + '㉔' => '24', + '㉕' => '25', + '㉖' => '26', + '㉗' => '27', + '㉘' => '28', + '㉙' => '29', + '㉚' => '30', + '㉛' => '31', + '㉜' => '32', + '㉝' => '33', + '㉞' => '34', + '㉟' => '35', + '㉠' => 'ᄀ', + '㉡' => 'ᄂ', + '㉢' => 'ᄃ', + '㉣' => 'ᄅ', + '㉤' => 'ᄆ', + '㉥' => 'ᄇ', + '㉦' => 'ᄉ', + '㉧' => 'ᄋ', + '㉨' => 'ᄌ', + '㉩' => 'ᄎ', + '㉪' => 'ᄏ', + '㉫' => 'ᄐ', + '㉬' => 'ᄑ', + '㉭' => 'ᄒ', + '㉮' => '가', + '㉯' => '나', + '㉰' => '다', + '㉱' => '라', + '㉲' => '마', + '㉳' => '바', + '㉴' => '사', + '㉵' => '아', + '㉶' => '자', + '㉷' => '차', + '㉸' => '카', + '㉹' => '타', + '㉺' => '파', + '㉻' => '하', + '㉼' => '참고', + '㉽' => '주의', + '㉾' => '우', + '㊀' => '一', + '㊁' => '二', + '㊂' => '三', + '㊃' => '四', + '㊄' => '五', + '㊅' => '六', + '㊆' => '七', + '㊇' => '八', + '㊈' => '九', + '㊉' => '十', + '㊊' => '月', + '㊋' => '火', + '㊌' => '水', + '㊍' => '木', + '㊎' => '金', + '㊏' => '土', + '㊐' => '日', + '㊑' => '株', + '㊒' => '有', + '㊓' => '社', + '㊔' => '名', + '㊕' => '特', + '㊖' => '財', + '㊗' => '祝', + '㊘' => '労', + '㊙' => '秘', + '㊚' => '男', + '㊛' => '女', + '㊜' => '適', + '㊝' => '優', + '㊞' => '印', + '㊟' => '注', + '㊠' => '項', + '㊡' => '休', + '㊢' => '写', + '㊣' => '正', + '㊤' => '上', + '㊥' => '中', + '㊦' => '下', + '㊧' => '左', + '㊨' => '右', + '㊩' => '医', + '㊪' => '宗', + '㊫' => '学', + '㊬' => '監', + '㊭' => '企', + '㊮' => '資', + '㊯' => '協', + '㊰' => '夜', + '㊱' => '36', + '㊲' => '37', + '㊳' => '38', + '㊴' => '39', + '㊵' => '40', + '㊶' => '41', + '㊷' => '42', + '㊸' => '43', + '㊹' => '44', + '㊺' => '45', + '㊻' => '46', + '㊼' => '47', + '㊽' => '48', + '㊾' => '49', + '㊿' => '50', + '㋀' => '1月', + '㋁' => '2月', + '㋂' => '3月', + '㋃' => '4月', + '㋄' => '5月', + '㋅' => '6月', + '㋆' => '7月', + '㋇' => '8月', + '㋈' => '9月', + '㋉' => '10月', + '㋊' => '11月', + '㋋' => '12月', + '㋌' => 'Hg', + '㋍' => 'erg', + '㋎' => 'eV', + '㋏' => 'LTD', + '㋐' => 'ア', + '㋑' => 'イ', + '㋒' => 'ウ', + '㋓' => 'エ', + '㋔' => 'オ', + '㋕' => 'カ', + '㋖' => 'キ', + '㋗' => 'ク', + '㋘' => 'ケ', + '㋙' => 'コ', + '㋚' => 'サ', + '㋛' => 'シ', + '㋜' => 'ス', + '㋝' => 'セ', + '㋞' => 'ソ', + '㋟' => 'タ', + '㋠' => 'チ', + '㋡' => 'ツ', + '㋢' => 'テ', + '㋣' => 'ト', + '㋤' => 'ナ', + '㋥' => 'ニ', + '㋦' => 'ヌ', + '㋧' => 'ネ', + '㋨' => 'ノ', + '㋩' => 'ハ', + '㋪' => 'ヒ', + '㋫' => 'フ', + '㋬' => 'ヘ', + '㋭' => 'ホ', + '㋮' => 'マ', + '㋯' => 'ミ', + '㋰' => 'ム', + '㋱' => 'メ', + '㋲' => 'モ', + '㋳' => 'ヤ', + '㋴' => 'ユ', + '㋵' => 'ヨ', + '㋶' => 'ラ', + '㋷' => 'リ', + '㋸' => 'ル', + '㋹' => 'レ', + '㋺' => 'ロ', + '㋻' => 'ワ', + '㋼' => 'ヰ', + '㋽' => 'ヱ', + '㋾' => 'ヲ', + '㋿' => '令和', + '㌀' => 'アパート', + '㌁' => 'アルファ', + '㌂' => 'アンペア', + '㌃' => 'アール', + '㌄' => 'イニング', + '㌅' => 'インチ', + '㌆' => 'ウォン', + '㌇' => 'エスクード', + '㌈' => 'エーカー', + '㌉' => 'オンス', + '㌊' => 'オーム', + '㌋' => 'カイリ', + '㌌' => 'カラット', + '㌍' => 'カロリー', + '㌎' => 'ガロン', + '㌏' => 'ガンマ', + '㌐' => 'ギガ', + '㌑' => 'ギニー', + '㌒' => 'キュリー', + '㌓' => 'ギルダー', + '㌔' => 'キロ', + '㌕' => 'キログラム', + '㌖' => 'キロメートル', + '㌗' => 'キロワット', + '㌘' => 'グラム', + '㌙' => 'グラムトン', + '㌚' => 'クルゼイロ', + '㌛' => 'クローネ', + '㌜' => 'ケース', + '㌝' => 'コルナ', + '㌞' => 'コーポ', + '㌟' => 'サイクル', + '㌠' => 'サンチーム', + '㌡' => 'シリング', + '㌢' => 'センチ', + '㌣' => 'セント', + '㌤' => 'ダース', + '㌥' => 'デシ', + '㌦' => 'ドル', + '㌧' => 'トン', + '㌨' => 'ナノ', + '㌩' => 'ノット', + '㌪' => 'ハイツ', + '㌫' => 'パーセント', + '㌬' => 'パーツ', + '㌭' => 'バーレル', + '㌮' => 'ピアストル', + '㌯' => 'ピクル', + '㌰' => 'ピコ', + '㌱' => 'ビル', + '㌲' => 'ファラッド', + '㌳' => 'フィート', + '㌴' => 'ブッシェル', + '㌵' => 'フラン', + '㌶' => 'ヘクタール', + '㌷' => 'ペソ', + '㌸' => 'ペニヒ', + '㌹' => 'ヘルツ', + '㌺' => 'ペンス', + '㌻' => 'ページ', + '㌼' => 'ベータ', + '㌽' => 'ポイント', + '㌾' => 'ボルト', + '㌿' => 'ホン', + '㍀' => 'ポンド', + '㍁' => 'ホール', + '㍂' => 'ホーン', + '㍃' => 'マイクロ', + '㍄' => 'マイル', + '㍅' => 'マッハ', + '㍆' => 'マルク', + '㍇' => 'マンション', + '㍈' => 'ミクロン', + '㍉' => 'ミリ', + '㍊' => 'ミリバール', + '㍋' => 'メガ', + '㍌' => 'メガトン', + '㍍' => 'メートル', + '㍎' => 'ヤード', + '㍏' => 'ヤール', + '㍐' => 'ユアン', + '㍑' => 'リットル', + '㍒' => 'リラ', + '㍓' => 'ルピー', + '㍔' => 'ルーブル', + '㍕' => 'レム', + '㍖' => 'レントゲン', + '㍗' => 'ワット', + '㍘' => '0点', + '㍙' => '1点', + '㍚' => '2点', + '㍛' => '3点', + '㍜' => '4点', + '㍝' => '5点', + '㍞' => '6点', + '㍟' => '7点', + '㍠' => '8点', + '㍡' => '9点', + '㍢' => '10点', + '㍣' => '11点', + '㍤' => '12点', + '㍥' => '13点', + '㍦' => '14点', + '㍧' => '15点', + '㍨' => '16点', + '㍩' => '17点', + '㍪' => '18点', + '㍫' => '19点', + '㍬' => '20点', + '㍭' => '21点', + '㍮' => '22点', + '㍯' => '23点', + '㍰' => '24点', + '㍱' => 'hPa', + '㍲' => 'da', + '㍳' => 'AU', + '㍴' => 'bar', + '㍵' => 'oV', + '㍶' => 'pc', + '㍷' => 'dm', + '㍸' => 'dm2', + '㍹' => 'dm3', + '㍺' => 'IU', + '㍻' => '平成', + '㍼' => '昭和', + '㍽' => '大正', + '㍾' => '明治', + '㍿' => '株式会社', + '㎀' => 'pA', + '㎁' => 'nA', + '㎂' => 'μA', + '㎃' => 'mA', + '㎄' => 'kA', + '㎅' => 'KB', + '㎆' => 'MB', + '㎇' => 'GB', + '㎈' => 'cal', + '㎉' => 'kcal', + '㎊' => 'pF', + '㎋' => 'nF', + '㎌' => 'μF', + '㎍' => 'μg', + '㎎' => 'mg', + '㎏' => 'kg', + '㎐' => 'Hz', + '㎑' => 'kHz', + '㎒' => 'MHz', + '㎓' => 'GHz', + '㎔' => 'THz', + '㎕' => 'μl', + '㎖' => 'ml', + '㎗' => 'dl', + '㎘' => 'kl', + '㎙' => 'fm', + '㎚' => 'nm', + '㎛' => 'μm', + '㎜' => 'mm', + '㎝' => 'cm', + '㎞' => 'km', + '㎟' => 'mm2', + '㎠' => 'cm2', + '㎡' => 'm2', + '㎢' => 'km2', + '㎣' => 'mm3', + '㎤' => 'cm3', + '㎥' => 'm3', + '㎦' => 'km3', + '㎧' => 'm∕s', + '㎨' => 'm∕s2', + '㎩' => 'Pa', + '㎪' => 'kPa', + '㎫' => 'MPa', + '㎬' => 'GPa', + '㎭' => 'rad', + '㎮' => 'rad∕s', + '㎯' => 'rad∕s2', + '㎰' => 'ps', + '㎱' => 'ns', + '㎲' => 'μs', + '㎳' => 'ms', + '㎴' => 'pV', + '㎵' => 'nV', + '㎶' => 'μV', + '㎷' => 'mV', + '㎸' => 'kV', + '㎹' => 'MV', + '㎺' => 'pW', + '㎻' => 'nW', + '㎼' => 'μW', + '㎽' => 'mW', + '㎾' => 'kW', + '㎿' => 'MW', + '㏀' => 'kΩ', + '㏁' => 'MΩ', + '㏂' => 'a.m.', + '㏃' => 'Bq', + '㏄' => 'cc', + '㏅' => 'cd', + '㏆' => 'C∕kg', + '㏇' => 'Co.', + '㏈' => 'dB', + '㏉' => 'Gy', + '㏊' => 'ha', + '㏋' => 'HP', + '㏌' => 'in', + '㏍' => 'KK', + '㏎' => 'KM', + '㏏' => 'kt', + '㏐' => 'lm', + '㏑' => 'ln', + '㏒' => 'log', + '㏓' => 'lx', + '㏔' => 'mb', + '㏕' => 'mil', + '㏖' => 'mol', + '㏗' => 'PH', + '㏘' => 'p.m.', + '㏙' => 'PPM', + '㏚' => 'PR', + '㏛' => 'sr', + '㏜' => 'Sv', + '㏝' => 'Wb', + '㏞' => 'V∕m', + '㏟' => 'A∕m', + '㏠' => '1日', + '㏡' => '2日', + '㏢' => '3日', + '㏣' => '4日', + '㏤' => '5日', + '㏥' => '6日', + '㏦' => '7日', + '㏧' => '8日', + '㏨' => '9日', + '㏩' => '10日', + '㏪' => '11日', + '㏫' => '12日', + '㏬' => '13日', + '㏭' => '14日', + '㏮' => '15日', + '㏯' => '16日', + '㏰' => '17日', + '㏱' => '18日', + '㏲' => '19日', + '㏳' => '20日', + '㏴' => '21日', + '㏵' => '22日', + '㏶' => '23日', + '㏷' => '24日', + '㏸' => '25日', + '㏹' => '26日', + '㏺' => '27日', + '㏻' => '28日', + '㏼' => '29日', + '㏽' => '30日', + '㏾' => '31日', + '㏿' => 'gal', + 'ꚜ' => 'ъ', + 'ꚝ' => 'ь', + 'ꝰ' => 'ꝯ', + 'ꟸ' => 'Ħ', + 'ꟹ' => 'œ', + 'ꭜ' => 'ꜧ', + 'ꭝ' => 'ꬷ', + 'ꭞ' => 'ɫ', + 'ꭟ' => 'ꭒ', + 'ꭩ' => 'ʍ', + 'ff' => 'ff', + 'fi' => 'fi', + 'fl' => 'fl', + 'ffi' => 'ffi', + 'ffl' => 'ffl', + 'ſt' => 'st', + 'st' => 'st', + 'ﬓ' => 'մն', + 'ﬔ' => 'մե', + 'ﬕ' => 'մի', + 'ﬖ' => 'վն', + 'ﬗ' => 'մխ', + 'ﬠ' => 'ע', + 'ﬡ' => 'א', + 'ﬢ' => 'ד', + 'ﬣ' => 'ה', + 'ﬤ' => 'כ', + 'ﬥ' => 'ל', + 'ﬦ' => 'ם', + 'ﬧ' => 'ר', + 'ﬨ' => 'ת', + '﬩' => '+', + 'ﭏ' => 'אל', + 'ﭐ' => 'ٱ', + 'ﭑ' => 'ٱ', + 'ﭒ' => 'ٻ', + 'ﭓ' => 'ٻ', + 'ﭔ' => 'ٻ', + 'ﭕ' => 'ٻ', + 'ﭖ' => 'پ', + 'ﭗ' => 'پ', + 'ﭘ' => 'پ', + 'ﭙ' => 'پ', + 'ﭚ' => 'ڀ', + 'ﭛ' => 'ڀ', + 'ﭜ' => 'ڀ', + 'ﭝ' => 'ڀ', + 'ﭞ' => 'ٺ', + 'ﭟ' => 'ٺ', + 'ﭠ' => 'ٺ', + 'ﭡ' => 'ٺ', + 'ﭢ' => 'ٿ', + 'ﭣ' => 'ٿ', + 'ﭤ' => 'ٿ', + 'ﭥ' => 'ٿ', + 'ﭦ' => 'ٹ', + 'ﭧ' => 'ٹ', + 'ﭨ' => 'ٹ', + 'ﭩ' => 'ٹ', + 'ﭪ' => 'ڤ', + 'ﭫ' => 'ڤ', + 'ﭬ' => 'ڤ', + 'ﭭ' => 'ڤ', + 'ﭮ' => 'ڦ', + 'ﭯ' => 'ڦ', + 'ﭰ' => 'ڦ', + 'ﭱ' => 'ڦ', + 'ﭲ' => 'ڄ', + 'ﭳ' => 'ڄ', + 'ﭴ' => 'ڄ', + 'ﭵ' => 'ڄ', + 'ﭶ' => 'ڃ', + 'ﭷ' => 'ڃ', + 'ﭸ' => 'ڃ', + 'ﭹ' => 'ڃ', + 'ﭺ' => 'چ', + 'ﭻ' => 'چ', + 'ﭼ' => 'چ', + 'ﭽ' => 'چ', + 'ﭾ' => 'ڇ', + 'ﭿ' => 'ڇ', + 'ﮀ' => 'ڇ', + 'ﮁ' => 'ڇ', + 'ﮂ' => 'ڍ', + 'ﮃ' => 'ڍ', + 'ﮄ' => 'ڌ', + 'ﮅ' => 'ڌ', + 'ﮆ' => 'ڎ', + 'ﮇ' => 'ڎ', + 'ﮈ' => 'ڈ', + 'ﮉ' => 'ڈ', + 'ﮊ' => 'ژ', + 'ﮋ' => 'ژ', + 'ﮌ' => 'ڑ', + 'ﮍ' => 'ڑ', + 'ﮎ' => 'ک', + 'ﮏ' => 'ک', + 'ﮐ' => 'ک', + 'ﮑ' => 'ک', + 'ﮒ' => 'گ', + 'ﮓ' => 'گ', + 'ﮔ' => 'گ', + 'ﮕ' => 'گ', + 'ﮖ' => 'ڳ', + 'ﮗ' => 'ڳ', + 'ﮘ' => 'ڳ', + 'ﮙ' => 'ڳ', + 'ﮚ' => 'ڱ', + 'ﮛ' => 'ڱ', + 'ﮜ' => 'ڱ', + 'ﮝ' => 'ڱ', + 'ﮞ' => 'ں', + 'ﮟ' => 'ں', + 'ﮠ' => 'ڻ', + 'ﮡ' => 'ڻ', + 'ﮢ' => 'ڻ', + 'ﮣ' => 'ڻ', + 'ﮤ' => 'ۀ', + 'ﮥ' => 'ۀ', + 'ﮦ' => 'ہ', + 'ﮧ' => 'ہ', + 'ﮨ' => 'ہ', + 'ﮩ' => 'ہ', + 'ﮪ' => 'ھ', + 'ﮫ' => 'ھ', + 'ﮬ' => 'ھ', + 'ﮭ' => 'ھ', + 'ﮮ' => 'ے', + 'ﮯ' => 'ے', + 'ﮰ' => 'ۓ', + 'ﮱ' => 'ۓ', + 'ﯓ' => 'ڭ', + 'ﯔ' => 'ڭ', + 'ﯕ' => 'ڭ', + 'ﯖ' => 'ڭ', + 'ﯗ' => 'ۇ', + 'ﯘ' => 'ۇ', + 'ﯙ' => 'ۆ', + 'ﯚ' => 'ۆ', + 'ﯛ' => 'ۈ', + 'ﯜ' => 'ۈ', + 'ﯝ' => 'ۇٴ', + 'ﯞ' => 'ۋ', + 'ﯟ' => 'ۋ', + 'ﯠ' => 'ۅ', + 'ﯡ' => 'ۅ', + 'ﯢ' => 'ۉ', + 'ﯣ' => 'ۉ', + 'ﯤ' => 'ې', + 'ﯥ' => 'ې', + 'ﯦ' => 'ې', + 'ﯧ' => 'ې', + 'ﯨ' => 'ى', + 'ﯩ' => 'ى', + 'ﯪ' => 'ئا', + 'ﯫ' => 'ئا', + 'ﯬ' => 'ئە', + 'ﯭ' => 'ئە', + 'ﯮ' => 'ئو', + 'ﯯ' => 'ئو', + 'ﯰ' => 'ئۇ', + 'ﯱ' => 'ئۇ', + 'ﯲ' => 'ئۆ', + 'ﯳ' => 'ئۆ', + 'ﯴ' => 'ئۈ', + 'ﯵ' => 'ئۈ', + 'ﯶ' => 'ئې', + 'ﯷ' => 'ئې', + 'ﯸ' => 'ئې', + 'ﯹ' => 'ئى', + 'ﯺ' => 'ئى', + 'ﯻ' => 'ئى', + 'ﯼ' => 'ی', + 'ﯽ' => 'ی', + 'ﯾ' => 'ی', + 'ﯿ' => 'ی', + 'ﰀ' => 'ئج', + 'ﰁ' => 'ئح', + 'ﰂ' => 'ئم', + 'ﰃ' => 'ئى', + 'ﰄ' => 'ئي', + 'ﰅ' => 'بج', + 'ﰆ' => 'بح', + 'ﰇ' => 'بخ', + 'ﰈ' => 'بم', + 'ﰉ' => 'بى', + 'ﰊ' => 'بي', + 'ﰋ' => 'تج', + 'ﰌ' => 'تح', + 'ﰍ' => 'تخ', + 'ﰎ' => 'تم', + 'ﰏ' => 'تى', + 'ﰐ' => 'تي', + 'ﰑ' => 'ثج', + 'ﰒ' => 'ثم', + 'ﰓ' => 'ثى', + 'ﰔ' => 'ثي', + 'ﰕ' => 'جح', + 'ﰖ' => 'جم', + 'ﰗ' => 'حج', + 'ﰘ' => 'حم', + 'ﰙ' => 'خج', + 'ﰚ' => 'خح', + 'ﰛ' => 'خم', + 'ﰜ' => 'سج', + 'ﰝ' => 'سح', + 'ﰞ' => 'سخ', + 'ﰟ' => 'سم', + 'ﰠ' => 'صح', + 'ﰡ' => 'صم', + 'ﰢ' => 'ضج', + 'ﰣ' => 'ضح', + 'ﰤ' => 'ضخ', + 'ﰥ' => 'ضم', + 'ﰦ' => 'طح', + 'ﰧ' => 'طم', + 'ﰨ' => 'ظم', + 'ﰩ' => 'عج', + 'ﰪ' => 'عم', + 'ﰫ' => 'غج', + 'ﰬ' => 'غم', + 'ﰭ' => 'فج', + 'ﰮ' => 'فح', + 'ﰯ' => 'فخ', + 'ﰰ' => 'فم', + 'ﰱ' => 'فى', + 'ﰲ' => 'في', + 'ﰳ' => 'قح', + 'ﰴ' => 'قم', + 'ﰵ' => 'قى', + 'ﰶ' => 'قي', + 'ﰷ' => 'كا', + 'ﰸ' => 'كج', + 'ﰹ' => 'كح', + 'ﰺ' => 'كخ', + 'ﰻ' => 'كل', + 'ﰼ' => 'كم', + 'ﰽ' => 'كى', + 'ﰾ' => 'كي', + 'ﰿ' => 'لج', + 'ﱀ' => 'لح', + 'ﱁ' => 'لخ', + 'ﱂ' => 'لم', + 'ﱃ' => 'لى', + 'ﱄ' => 'لي', + 'ﱅ' => 'مج', + 'ﱆ' => 'مح', + 'ﱇ' => 'مخ', + 'ﱈ' => 'مم', + 'ﱉ' => 'مى', + 'ﱊ' => 'مي', + 'ﱋ' => 'نج', + 'ﱌ' => 'نح', + 'ﱍ' => 'نخ', + 'ﱎ' => 'نم', + 'ﱏ' => 'نى', + 'ﱐ' => 'ني', + 'ﱑ' => 'هج', + 'ﱒ' => 'هم', + 'ﱓ' => 'هى', + 'ﱔ' => 'هي', + 'ﱕ' => 'يج', + 'ﱖ' => 'يح', + 'ﱗ' => 'يخ', + 'ﱘ' => 'يم', + 'ﱙ' => 'يى', + 'ﱚ' => 'يي', + 'ﱛ' => 'ذٰ', + 'ﱜ' => 'رٰ', + 'ﱝ' => 'ىٰ', + 'ﱞ' => ' ٌّ', + 'ﱟ' => ' ٍّ', + 'ﱠ' => ' َّ', + 'ﱡ' => ' ُّ', + 'ﱢ' => ' ِّ', + 'ﱣ' => ' ّٰ', + 'ﱤ' => 'ئر', + 'ﱥ' => 'ئز', + 'ﱦ' => 'ئم', + 'ﱧ' => 'ئن', + 'ﱨ' => 'ئى', + 'ﱩ' => 'ئي', + 'ﱪ' => 'بر', + 'ﱫ' => 'بز', + 'ﱬ' => 'بم', + 'ﱭ' => 'بن', + 'ﱮ' => 'بى', + 'ﱯ' => 'بي', + 'ﱰ' => 'تر', + 'ﱱ' => 'تز', + 'ﱲ' => 'تم', + 'ﱳ' => 'تن', + 'ﱴ' => 'تى', + 'ﱵ' => 'تي', + 'ﱶ' => 'ثر', + 'ﱷ' => 'ثز', + 'ﱸ' => 'ثم', + 'ﱹ' => 'ثن', + 'ﱺ' => 'ثى', + 'ﱻ' => 'ثي', + 'ﱼ' => 'فى', + 'ﱽ' => 'في', + 'ﱾ' => 'قى', + 'ﱿ' => 'قي', + 'ﲀ' => 'كا', + 'ﲁ' => 'كل', + 'ﲂ' => 'كم', + 'ﲃ' => 'كى', + 'ﲄ' => 'كي', + 'ﲅ' => 'لم', + 'ﲆ' => 'لى', + 'ﲇ' => 'لي', + 'ﲈ' => 'ما', + 'ﲉ' => 'مم', + 'ﲊ' => 'نر', + 'ﲋ' => 'نز', + 'ﲌ' => 'نم', + 'ﲍ' => 'نن', + 'ﲎ' => 'نى', + 'ﲏ' => 'ني', + 'ﲐ' => 'ىٰ', + 'ﲑ' => 'ير', + 'ﲒ' => 'يز', + 'ﲓ' => 'يم', + 'ﲔ' => 'ين', + 'ﲕ' => 'يى', + 'ﲖ' => 'يي', + 'ﲗ' => 'ئج', + 'ﲘ' => 'ئح', + 'ﲙ' => 'ئخ', + 'ﲚ' => 'ئم', + 'ﲛ' => 'ئه', + 'ﲜ' => 'بج', + 'ﲝ' => 'بح', + 'ﲞ' => 'بخ', + 'ﲟ' => 'بم', + 'ﲠ' => 'به', + 'ﲡ' => 'تج', + 'ﲢ' => 'تح', + 'ﲣ' => 'تخ', + 'ﲤ' => 'تم', + 'ﲥ' => 'ته', + 'ﲦ' => 'ثم', + 'ﲧ' => 'جح', + 'ﲨ' => 'جم', + 'ﲩ' => 'حج', + 'ﲪ' => 'حم', + 'ﲫ' => 'خج', + 'ﲬ' => 'خم', + 'ﲭ' => 'سج', + 'ﲮ' => 'سح', + 'ﲯ' => 'سخ', + 'ﲰ' => 'سم', + 'ﲱ' => 'صح', + 'ﲲ' => 'صخ', + 'ﲳ' => 'صم', + 'ﲴ' => 'ضج', + 'ﲵ' => 'ضح', + 'ﲶ' => 'ضخ', + 'ﲷ' => 'ضم', + 'ﲸ' => 'طح', + 'ﲹ' => 'ظم', + 'ﲺ' => 'عج', + 'ﲻ' => 'عم', + 'ﲼ' => 'غج', + 'ﲽ' => 'غم', + 'ﲾ' => 'فج', + 'ﲿ' => 'فح', + 'ﳀ' => 'فخ', + 'ﳁ' => 'فم', + 'ﳂ' => 'قح', + 'ﳃ' => 'قم', + 'ﳄ' => 'كج', + 'ﳅ' => 'كح', + 'ﳆ' => 'كخ', + 'ﳇ' => 'كل', + 'ﳈ' => 'كم', + 'ﳉ' => 'لج', + 'ﳊ' => 'لح', + 'ﳋ' => 'لخ', + 'ﳌ' => 'لم', + 'ﳍ' => 'له', + 'ﳎ' => 'مج', + 'ﳏ' => 'مح', + 'ﳐ' => 'مخ', + 'ﳑ' => 'مم', + 'ﳒ' => 'نج', + 'ﳓ' => 'نح', + 'ﳔ' => 'نخ', + 'ﳕ' => 'نم', + 'ﳖ' => 'نه', + 'ﳗ' => 'هج', + 'ﳘ' => 'هم', + 'ﳙ' => 'هٰ', + 'ﳚ' => 'يج', + 'ﳛ' => 'يح', + 'ﳜ' => 'يخ', + 'ﳝ' => 'يم', + 'ﳞ' => 'يه', + 'ﳟ' => 'ئم', + 'ﳠ' => 'ئه', + 'ﳡ' => 'بم', + 'ﳢ' => 'به', + 'ﳣ' => 'تم', + 'ﳤ' => 'ته', + 'ﳥ' => 'ثم', + 'ﳦ' => 'ثه', + 'ﳧ' => 'سم', + 'ﳨ' => 'سه', + 'ﳩ' => 'شم', + 'ﳪ' => 'شه', + 'ﳫ' => 'كل', + 'ﳬ' => 'كم', + 'ﳭ' => 'لم', + 'ﳮ' => 'نم', + 'ﳯ' => 'نه', + 'ﳰ' => 'يم', + 'ﳱ' => 'يه', + 'ﳲ' => 'ـَّ', + 'ﳳ' => 'ـُّ', + 'ﳴ' => 'ـِّ', + 'ﳵ' => 'طى', + 'ﳶ' => 'طي', + 'ﳷ' => 'عى', + 'ﳸ' => 'عي', + 'ﳹ' => 'غى', + 'ﳺ' => 'غي', + 'ﳻ' => 'سى', + 'ﳼ' => 'سي', + 'ﳽ' => 'شى', + 'ﳾ' => 'شي', + 'ﳿ' => 'حى', + 'ﴀ' => 'حي', + 'ﴁ' => 'جى', + 'ﴂ' => 'جي', + 'ﴃ' => 'خى', + 'ﴄ' => 'خي', + 'ﴅ' => 'صى', + 'ﴆ' => 'صي', + 'ﴇ' => 'ضى', + 'ﴈ' => 'ضي', + 'ﴉ' => 'شج', + 'ﴊ' => 'شح', + 'ﴋ' => 'شخ', + 'ﴌ' => 'شم', + 'ﴍ' => 'شر', + 'ﴎ' => 'سر', + 'ﴏ' => 'صر', + 'ﴐ' => 'ضر', + 'ﴑ' => 'طى', + 'ﴒ' => 'طي', + 'ﴓ' => 'عى', + 'ﴔ' => 'عي', + 'ﴕ' => 'غى', + 'ﴖ' => 'غي', + 'ﴗ' => 'سى', + 'ﴘ' => 'سي', + 'ﴙ' => 'شى', + 'ﴚ' => 'شي', + 'ﴛ' => 'حى', + 'ﴜ' => 'حي', + 'ﴝ' => 'جى', + 'ﴞ' => 'جي', + 'ﴟ' => 'خى', + 'ﴠ' => 'خي', + 'ﴡ' => 'صى', + 'ﴢ' => 'صي', + 'ﴣ' => 'ضى', + 'ﴤ' => 'ضي', + 'ﴥ' => 'شج', + 'ﴦ' => 'شح', + 'ﴧ' => 'شخ', + 'ﴨ' => 'شم', + 'ﴩ' => 'شر', + 'ﴪ' => 'سر', + 'ﴫ' => 'صر', + 'ﴬ' => 'ضر', + 'ﴭ' => 'شج', + 'ﴮ' => 'شح', + 'ﴯ' => 'شخ', + 'ﴰ' => 'شم', + 'ﴱ' => 'سه', + 'ﴲ' => 'شه', + 'ﴳ' => 'طم', + 'ﴴ' => 'سج', + 'ﴵ' => 'سح', + 'ﴶ' => 'سخ', + 'ﴷ' => 'شج', + 'ﴸ' => 'شح', + 'ﴹ' => 'شخ', + 'ﴺ' => 'طم', + 'ﴻ' => 'ظم', + 'ﴼ' => 'اً', + 'ﴽ' => 'اً', + 'ﵐ' => 'تجم', + 'ﵑ' => 'تحج', + 'ﵒ' => 'تحج', + 'ﵓ' => 'تحم', + 'ﵔ' => 'تخم', + 'ﵕ' => 'تمج', + 'ﵖ' => 'تمح', + 'ﵗ' => 'تمخ', + 'ﵘ' => 'جمح', + 'ﵙ' => 'جمح', + 'ﵚ' => 'حمي', + 'ﵛ' => 'حمى', + 'ﵜ' => 'سحج', + 'ﵝ' => 'سجح', + 'ﵞ' => 'سجى', + 'ﵟ' => 'سمح', + 'ﵠ' => 'سمح', + 'ﵡ' => 'سمج', + 'ﵢ' => 'سمم', + 'ﵣ' => 'سمم', + 'ﵤ' => 'صحح', + 'ﵥ' => 'صحح', + 'ﵦ' => 'صمم', + 'ﵧ' => 'شحم', + 'ﵨ' => 'شحم', + 'ﵩ' => 'شجي', + 'ﵪ' => 'شمخ', + 'ﵫ' => 'شمخ', + 'ﵬ' => 'شمم', + 'ﵭ' => 'شمم', + 'ﵮ' => 'ضحى', + 'ﵯ' => 'ضخم', + 'ﵰ' => 'ضخم', + 'ﵱ' => 'طمح', + 'ﵲ' => 'طمح', + 'ﵳ' => 'طمم', + 'ﵴ' => 'طمي', + 'ﵵ' => 'عجم', + 'ﵶ' => 'عمم', + 'ﵷ' => 'عمم', + 'ﵸ' => 'عمى', + 'ﵹ' => 'غمم', + 'ﵺ' => 'غمي', + 'ﵻ' => 'غمى', + 'ﵼ' => 'فخم', + 'ﵽ' => 'فخم', + 'ﵾ' => 'قمح', + 'ﵿ' => 'قمم', + 'ﶀ' => 'لحم', + 'ﶁ' => 'لحي', + 'ﶂ' => 'لحى', + 'ﶃ' => 'لجج', + 'ﶄ' => 'لجج', + 'ﶅ' => 'لخم', + 'ﶆ' => 'لخم', + 'ﶇ' => 'لمح', + 'ﶈ' => 'لمح', + 'ﶉ' => 'محج', + 'ﶊ' => 'محم', + 'ﶋ' => 'محي', + 'ﶌ' => 'مجح', + 'ﶍ' => 'مجم', + 'ﶎ' => 'مخج', + 'ﶏ' => 'مخم', + 'ﶒ' => 'مجخ', + 'ﶓ' => 'همج', + 'ﶔ' => 'همم', + 'ﶕ' => 'نحم', + 'ﶖ' => 'نحى', + 'ﶗ' => 'نجم', + 'ﶘ' => 'نجم', + 'ﶙ' => 'نجى', + 'ﶚ' => 'نمي', + 'ﶛ' => 'نمى', + 'ﶜ' => 'يمم', + 'ﶝ' => 'يمم', + 'ﶞ' => 'بخي', + 'ﶟ' => 'تجي', + 'ﶠ' => 'تجى', + 'ﶡ' => 'تخي', + 'ﶢ' => 'تخى', + 'ﶣ' => 'تمي', + 'ﶤ' => 'تمى', + 'ﶥ' => 'جمي', + 'ﶦ' => 'جحى', + 'ﶧ' => 'جمى', + 'ﶨ' => 'سخى', + 'ﶩ' => 'صحي', + 'ﶪ' => 'شحي', + 'ﶫ' => 'ضحي', + 'ﶬ' => 'لجي', + 'ﶭ' => 'لمي', + 'ﶮ' => 'يحي', + 'ﶯ' => 'يجي', + 'ﶰ' => 'يمي', + 'ﶱ' => 'ممي', + 'ﶲ' => 'قمي', + 'ﶳ' => 'نحي', + 'ﶴ' => 'قمح', + 'ﶵ' => 'لحم', + 'ﶶ' => 'عمي', + 'ﶷ' => 'كمي', + 'ﶸ' => 'نجح', + 'ﶹ' => 'مخي', + 'ﶺ' => 'لجم', + 'ﶻ' => 'كمم', + 'ﶼ' => 'لجم', + 'ﶽ' => 'نجح', + 'ﶾ' => 'جحي', + 'ﶿ' => 'حجي', + 'ﷀ' => 'مجي', + 'ﷁ' => 'فمي', + 'ﷂ' => 'بحي', + 'ﷃ' => 'كمم', + 'ﷄ' => 'عجم', + 'ﷅ' => 'صمم', + 'ﷆ' => 'سخي', + 'ﷇ' => 'نجي', + 'ﷰ' => 'صلے', + 'ﷱ' => 'قلے', + 'ﷲ' => 'الله', + 'ﷳ' => 'اكبر', + 'ﷴ' => 'محمد', + 'ﷵ' => 'صلعم', + 'ﷶ' => 'رسول', + 'ﷷ' => 'عليه', + 'ﷸ' => 'وسلم', + 'ﷹ' => 'صلى', + 'ﷺ' => 'صلى الله عليه وسلم', + 'ﷻ' => 'جل جلاله', + '﷼' => 'ریال', + '︐' => ',', + '︑' => '、', + '︒' => '。', + '︓' => ':', + '︔' => ';', + '︕' => '!', + '︖' => '?', + '︗' => '〖', + '︘' => '〗', + '︙' => '...', + '︰' => '..', + '︱' => '—', + '︲' => '–', + '︳' => '_', + '︴' => '_', + '︵' => '(', + '︶' => ')', + '︷' => '{', + '︸' => '}', + '︹' => '〔', + '︺' => '〕', + '︻' => '【', + '︼' => '】', + '︽' => '《', + '︾' => '》', + '︿' => '〈', + '﹀' => '〉', + '﹁' => '「', + '﹂' => '」', + '﹃' => '『', + '﹄' => '』', + '﹇' => '[', + '﹈' => ']', + '﹉' => ' ̅', + '﹊' => ' ̅', + '﹋' => ' ̅', + '﹌' => ' ̅', + '﹍' => '_', + '﹎' => '_', + '﹏' => '_', + '﹐' => ',', + '﹑' => '、', + '﹒' => '.', + '﹔' => ';', + '﹕' => ':', + '﹖' => '?', + '﹗' => '!', + '﹘' => '—', + '﹙' => '(', + '﹚' => ')', + '﹛' => '{', + '﹜' => '}', + '﹝' => '〔', + '﹞' => '〕', + '﹟' => '#', + '﹠' => '&', + '﹡' => '*', + '﹢' => '+', + '﹣' => '-', + '﹤' => '<', + '﹥' => '>', + '﹦' => '=', + '﹨' => '\\', + '﹩' => '$', + '﹪' => '%', + '﹫' => '@', + 'ﹰ' => ' ً', + 'ﹱ' => 'ـً', + 'ﹲ' => ' ٌ', + 'ﹴ' => ' ٍ', + 'ﹶ' => ' َ', + 'ﹷ' => 'ـَ', + 'ﹸ' => ' ُ', + 'ﹹ' => 'ـُ', + 'ﹺ' => ' ِ', + 'ﹻ' => 'ـِ', + 'ﹼ' => ' ّ', + 'ﹽ' => 'ـّ', + 'ﹾ' => ' ْ', + 'ﹿ' => 'ـْ', + 'ﺀ' => 'ء', + 'ﺁ' => 'آ', + 'ﺂ' => 'آ', + 'ﺃ' => 'أ', + 'ﺄ' => 'أ', + 'ﺅ' => 'ؤ', + 'ﺆ' => 'ؤ', + 'ﺇ' => 'إ', + 'ﺈ' => 'إ', + 'ﺉ' => 'ئ', + 'ﺊ' => 'ئ', + 'ﺋ' => 'ئ', + 'ﺌ' => 'ئ', + 'ﺍ' => 'ا', + 'ﺎ' => 'ا', + 'ﺏ' => 'ب', + 'ﺐ' => 'ب', + 'ﺑ' => 'ب', + 'ﺒ' => 'ب', + 'ﺓ' => 'ة', + 'ﺔ' => 'ة', + 'ﺕ' => 'ت', + 'ﺖ' => 'ت', + 'ﺗ' => 'ت', + 'ﺘ' => 'ت', + 'ﺙ' => 'ث', + 'ﺚ' => 'ث', + 'ﺛ' => 'ث', + 'ﺜ' => 'ث', + 'ﺝ' => 'ج', + 'ﺞ' => 'ج', + 'ﺟ' => 'ج', + 'ﺠ' => 'ج', + 'ﺡ' => 'ح', + 'ﺢ' => 'ح', + 'ﺣ' => 'ح', + 'ﺤ' => 'ح', + 'ﺥ' => 'خ', + 'ﺦ' => 'خ', + 'ﺧ' => 'خ', + 'ﺨ' => 'خ', + 'ﺩ' => 'د', + 'ﺪ' => 'د', + 'ﺫ' => 'ذ', + 'ﺬ' => 'ذ', + 'ﺭ' => 'ر', + 'ﺮ' => 'ر', + 'ﺯ' => 'ز', + 'ﺰ' => 'ز', + 'ﺱ' => 'س', + 'ﺲ' => 'س', + 'ﺳ' => 'س', + 'ﺴ' => 'س', + 'ﺵ' => 'ش', + 'ﺶ' => 'ش', + 'ﺷ' => 'ش', + 'ﺸ' => 'ش', + 'ﺹ' => 'ص', + 'ﺺ' => 'ص', + 'ﺻ' => 'ص', + 'ﺼ' => 'ص', + 'ﺽ' => 'ض', + 'ﺾ' => 'ض', + 'ﺿ' => 'ض', + 'ﻀ' => 'ض', + 'ﻁ' => 'ط', + 'ﻂ' => 'ط', + 'ﻃ' => 'ط', + 'ﻄ' => 'ط', + 'ﻅ' => 'ظ', + 'ﻆ' => 'ظ', + 'ﻇ' => 'ظ', + 'ﻈ' => 'ظ', + 'ﻉ' => 'ع', + 'ﻊ' => 'ع', + 'ﻋ' => 'ع', + 'ﻌ' => 'ع', + 'ﻍ' => 'غ', + 'ﻎ' => 'غ', + 'ﻏ' => 'غ', + 'ﻐ' => 'غ', + 'ﻑ' => 'ف', + 'ﻒ' => 'ف', + 'ﻓ' => 'ف', + 'ﻔ' => 'ف', + 'ﻕ' => 'ق', + 'ﻖ' => 'ق', + 'ﻗ' => 'ق', + 'ﻘ' => 'ق', + 'ﻙ' => 'ك', + 'ﻚ' => 'ك', + 'ﻛ' => 'ك', + 'ﻜ' => 'ك', + 'ﻝ' => 'ل', + 'ﻞ' => 'ل', + 'ﻟ' => 'ل', + 'ﻠ' => 'ل', + 'ﻡ' => 'م', + 'ﻢ' => 'م', + 'ﻣ' => 'م', + 'ﻤ' => 'م', + 'ﻥ' => 'ن', + 'ﻦ' => 'ن', + 'ﻧ' => 'ن', + 'ﻨ' => 'ن', + 'ﻩ' => 'ه', + 'ﻪ' => 'ه', + 'ﻫ' => 'ه', + 'ﻬ' => 'ه', + 'ﻭ' => 'و', + 'ﻮ' => 'و', + 'ﻯ' => 'ى', + 'ﻰ' => 'ى', + 'ﻱ' => 'ي', + 'ﻲ' => 'ي', + 'ﻳ' => 'ي', + 'ﻴ' => 'ي', + 'ﻵ' => 'لآ', + 'ﻶ' => 'لآ', + 'ﻷ' => 'لأ', + 'ﻸ' => 'لأ', + 'ﻹ' => 'لإ', + 'ﻺ' => 'لإ', + 'ﻻ' => 'لا', + 'ﻼ' => 'لا', + '!' => '!', + '"' => '"', + '#' => '#', + '$' => '$', + '%' => '%', + '&' => '&', + ''' => '\'', + '(' => '(', + ')' => ')', + '*' => '*', + '+' => '+', + ',' => ',', + '-' => '-', + '.' => '.', + '/' => '/', + '0' => '0', + '1' => '1', + '2' => '2', + '3' => '3', + '4' => '4', + '5' => '5', + '6' => '6', + '7' => '7', + '8' => '8', + '9' => '9', + ':' => ':', + ';' => ';', + '<' => '<', + '=' => '=', + '>' => '>', + '?' => '?', + '@' => '@', + 'A' => 'A', + 'B' => 'B', + 'C' => 'C', + 'D' => 'D', + 'E' => 'E', + 'F' => 'F', + 'G' => 'G', + 'H' => 'H', + 'I' => 'I', + 'J' => 'J', + 'K' => 'K', + 'L' => 'L', + 'M' => 'M', + 'N' => 'N', + 'O' => 'O', + 'P' => 'P', + 'Q' => 'Q', + 'R' => 'R', + 'S' => 'S', + 'T' => 'T', + 'U' => 'U', + 'V' => 'V', + 'W' => 'W', + 'X' => 'X', + 'Y' => 'Y', + 'Z' => 'Z', + '[' => '[', + '\' => '\\', + ']' => ']', + '^' => '^', + '_' => '_', + '`' => '`', + 'a' => 'a', + 'b' => 'b', + 'c' => 'c', + 'd' => 'd', + 'e' => 'e', + 'f' => 'f', + 'g' => 'g', + 'h' => 'h', + 'i' => 'i', + 'j' => 'j', + 'k' => 'k', + 'l' => 'l', + 'm' => 'm', + 'n' => 'n', + 'o' => 'o', + 'p' => 'p', + 'q' => 'q', + 'r' => 'r', + 's' => 's', + 't' => 't', + 'u' => 'u', + 'v' => 'v', + 'w' => 'w', + 'x' => 'x', + 'y' => 'y', + 'z' => 'z', + '{' => '{', + '|' => '|', + '}' => '}', + '~' => '~', + '⦅' => '⦅', + '⦆' => '⦆', + '。' => '。', + '「' => '「', + '」' => '」', + '、' => '、', + '・' => '・', + 'ヲ' => 'ヲ', + 'ァ' => 'ァ', + 'ィ' => 'ィ', + 'ゥ' => 'ゥ', + 'ェ' => 'ェ', + 'ォ' => 'ォ', + 'ャ' => 'ャ', + 'ュ' => 'ュ', + 'ョ' => 'ョ', + 'ッ' => 'ッ', + 'ー' => 'ー', + 'ア' => 'ア', + 'イ' => 'イ', + 'ウ' => 'ウ', + 'エ' => 'エ', + 'オ' => 'オ', + 'カ' => 'カ', + 'キ' => 'キ', + 'ク' => 'ク', + 'ケ' => 'ケ', + 'コ' => 'コ', + 'サ' => 'サ', + 'シ' => 'シ', + 'ス' => 'ス', + 'セ' => 'セ', + 'ソ' => 'ソ', + 'タ' => 'タ', + 'チ' => 'チ', + 'ツ' => 'ツ', + 'テ' => 'テ', + 'ト' => 'ト', + 'ナ' => 'ナ', + 'ニ' => 'ニ', + 'ヌ' => 'ヌ', + 'ネ' => 'ネ', + 'ノ' => 'ノ', + 'ハ' => 'ハ', + 'ヒ' => 'ヒ', + 'フ' => 'フ', + 'ヘ' => 'ヘ', + 'ホ' => 'ホ', + 'マ' => 'マ', + 'ミ' => 'ミ', + 'ム' => 'ム', + 'メ' => 'メ', + 'モ' => 'モ', + 'ヤ' => 'ヤ', + 'ユ' => 'ユ', + 'ヨ' => 'ヨ', + 'ラ' => 'ラ', + 'リ' => 'リ', + 'ル' => 'ル', + 'レ' => 'レ', + 'ロ' => 'ロ', + 'ワ' => 'ワ', + 'ン' => 'ン', + '゙' => '゙', + '゚' => '゚', + 'ᅠ' => 'ᅠ', + 'ᄀ' => 'ᄀ', + 'ᄁ' => 'ᄁ', + 'ᆪ' => 'ᆪ', + 'ᄂ' => 'ᄂ', + 'ᆬ' => 'ᆬ', + 'ᆭ' => 'ᆭ', + 'ᄃ' => 'ᄃ', + 'ᄄ' => 'ᄄ', + 'ᄅ' => 'ᄅ', + 'ᆰ' => 'ᆰ', + 'ᆱ' => 'ᆱ', + 'ᆲ' => 'ᆲ', + 'ᆳ' => 'ᆳ', + 'ᆴ' => 'ᆴ', + 'ᆵ' => 'ᆵ', + 'ᄚ' => 'ᄚ', + 'ᄆ' => 'ᄆ', + 'ᄇ' => 'ᄇ', + 'ᄈ' => 'ᄈ', + 'ᄡ' => 'ᄡ', + 'ᄉ' => 'ᄉ', + 'ᄊ' => 'ᄊ', + 'ᄋ' => 'ᄋ', + 'ᄌ' => 'ᄌ', + 'ᄍ' => 'ᄍ', + 'ᄎ' => 'ᄎ', + 'ᄏ' => 'ᄏ', + 'ᄐ' => 'ᄐ', + 'ᄑ' => 'ᄑ', + 'ᄒ' => 'ᄒ', + 'ᅡ' => 'ᅡ', + 'ᅢ' => 'ᅢ', + 'ᅣ' => 'ᅣ', + 'ᅤ' => 'ᅤ', + 'ᅥ' => 'ᅥ', + 'ᅦ' => 'ᅦ', + 'ᅧ' => 'ᅧ', + 'ᅨ' => 'ᅨ', + 'ᅩ' => 'ᅩ', + 'ᅪ' => 'ᅪ', + 'ᅫ' => 'ᅫ', + 'ᅬ' => 'ᅬ', + 'ᅭ' => 'ᅭ', + 'ᅮ' => 'ᅮ', + 'ᅯ' => 'ᅯ', + 'ᅰ' => 'ᅰ', + 'ᅱ' => 'ᅱ', + 'ᅲ' => 'ᅲ', + 'ᅳ' => 'ᅳ', + 'ᅴ' => 'ᅴ', + 'ᅵ' => 'ᅵ', + '¢' => '¢', + '£' => '£', + '¬' => '¬', + ' ̄' => ' ̄', + '¦' => '¦', + '¥' => '¥', + '₩' => '₩', + '│' => '│', + '←' => '←', + '↑' => '↑', + '→' => '→', + '↓' => '↓', + '■' => '■', + '○' => '○', + '𝐀' => 'A', + '𝐁' => 'B', + '𝐂' => 'C', + '𝐃' => 'D', + '𝐄' => 'E', + '𝐅' => 'F', + '𝐆' => 'G', + '𝐇' => 'H', + '𝐈' => 'I', + '𝐉' => 'J', + '𝐊' => 'K', + '𝐋' => 'L', + '𝐌' => 'M', + '𝐍' => 'N', + '𝐎' => 'O', + '𝐏' => 'P', + '𝐐' => 'Q', + '𝐑' => 'R', + '𝐒' => 'S', + '𝐓' => 'T', + '𝐔' => 'U', + '𝐕' => 'V', + '𝐖' => 'W', + '𝐗' => 'X', + '𝐘' => 'Y', + '𝐙' => 'Z', + '𝐚' => 'a', + '𝐛' => 'b', + '𝐜' => 'c', + '𝐝' => 'd', + '𝐞' => 'e', + '𝐟' => 'f', + '𝐠' => 'g', + '𝐡' => 'h', + '𝐢' => 'i', + '𝐣' => 'j', + '𝐤' => 'k', + '𝐥' => 'l', + '𝐦' => 'm', + '𝐧' => 'n', + '𝐨' => 'o', + '𝐩' => 'p', + '𝐪' => 'q', + '𝐫' => 'r', + '𝐬' => 's', + '𝐭' => 't', + '𝐮' => 'u', + '𝐯' => 'v', + '𝐰' => 'w', + '𝐱' => 'x', + '𝐲' => 'y', + '𝐳' => 'z', + '𝐴' => 'A', + '𝐵' => 'B', + '𝐶' => 'C', + '𝐷' => 'D', + '𝐸' => 'E', + '𝐹' => 'F', + '𝐺' => 'G', + '𝐻' => 'H', + '𝐼' => 'I', + '𝐽' => 'J', + '𝐾' => 'K', + '𝐿' => 'L', + '𝑀' => 'M', + '𝑁' => 'N', + '𝑂' => 'O', + '𝑃' => 'P', + '𝑄' => 'Q', + '𝑅' => 'R', + '𝑆' => 'S', + '𝑇' => 'T', + '𝑈' => 'U', + '𝑉' => 'V', + '𝑊' => 'W', + '𝑋' => 'X', + '𝑌' => 'Y', + '𝑍' => 'Z', + '𝑎' => 'a', + '𝑏' => 'b', + '𝑐' => 'c', + '𝑑' => 'd', + '𝑒' => 'e', + '𝑓' => 'f', + '𝑔' => 'g', + '𝑖' => 'i', + '𝑗' => 'j', + '𝑘' => 'k', + '𝑙' => 'l', + '𝑚' => 'm', + '𝑛' => 'n', + '𝑜' => 'o', + '𝑝' => 'p', + '𝑞' => 'q', + '𝑟' => 'r', + '𝑠' => 's', + '𝑡' => 't', + '𝑢' => 'u', + '𝑣' => 'v', + '𝑤' => 'w', + '𝑥' => 'x', + '𝑦' => 'y', + '𝑧' => 'z', + '𝑨' => 'A', + '𝑩' => 'B', + '𝑪' => 'C', + '𝑫' => 'D', + '𝑬' => 'E', + '𝑭' => 'F', + '𝑮' => 'G', + '𝑯' => 'H', + '𝑰' => 'I', + '𝑱' => 'J', + '𝑲' => 'K', + '𝑳' => 'L', + '𝑴' => 'M', + '𝑵' => 'N', + '𝑶' => 'O', + '𝑷' => 'P', + '𝑸' => 'Q', + '𝑹' => 'R', + '𝑺' => 'S', + '𝑻' => 'T', + '𝑼' => 'U', + '𝑽' => 'V', + '𝑾' => 'W', + '𝑿' => 'X', + '𝒀' => 'Y', + '𝒁' => 'Z', + '𝒂' => 'a', + '𝒃' => 'b', + '𝒄' => 'c', + '𝒅' => 'd', + '𝒆' => 'e', + '𝒇' => 'f', + '𝒈' => 'g', + '𝒉' => 'h', + '𝒊' => 'i', + '𝒋' => 'j', + '𝒌' => 'k', + '𝒍' => 'l', + '𝒎' => 'm', + '𝒏' => 'n', + '𝒐' => 'o', + '𝒑' => 'p', + '𝒒' => 'q', + '𝒓' => 'r', + '𝒔' => 's', + '𝒕' => 't', + '𝒖' => 'u', + '𝒗' => 'v', + '𝒘' => 'w', + '𝒙' => 'x', + '𝒚' => 'y', + '𝒛' => 'z', + '𝒜' => 'A', + '𝒞' => 'C', + '𝒟' => 'D', + '𝒢' => 'G', + '𝒥' => 'J', + '𝒦' => 'K', + '𝒩' => 'N', + '𝒪' => 'O', + '𝒫' => 'P', + '𝒬' => 'Q', + '𝒮' => 'S', + '𝒯' => 'T', + '𝒰' => 'U', + '𝒱' => 'V', + '𝒲' => 'W', + '𝒳' => 'X', + '𝒴' => 'Y', + '𝒵' => 'Z', + '𝒶' => 'a', + '𝒷' => 'b', + '𝒸' => 'c', + '𝒹' => 'd', + '𝒻' => 'f', + '𝒽' => 'h', + '𝒾' => 'i', + '𝒿' => 'j', + '𝓀' => 'k', + '𝓁' => 'l', + '𝓂' => 'm', + '𝓃' => 'n', + '𝓅' => 'p', + '𝓆' => 'q', + '𝓇' => 'r', + '𝓈' => 's', + '𝓉' => 't', + '𝓊' => 'u', + '𝓋' => 'v', + '𝓌' => 'w', + '𝓍' => 'x', + '𝓎' => 'y', + '𝓏' => 'z', + '𝓐' => 'A', + '𝓑' => 'B', + '𝓒' => 'C', + '𝓓' => 'D', + '𝓔' => 'E', + '𝓕' => 'F', + '𝓖' => 'G', + '𝓗' => 'H', + '𝓘' => 'I', + '𝓙' => 'J', + '𝓚' => 'K', + '𝓛' => 'L', + '𝓜' => 'M', + '𝓝' => 'N', + '𝓞' => 'O', + '𝓟' => 'P', + '𝓠' => 'Q', + '𝓡' => 'R', + '𝓢' => 'S', + '𝓣' => 'T', + '𝓤' => 'U', + '𝓥' => 'V', + '𝓦' => 'W', + '𝓧' => 'X', + '𝓨' => 'Y', + '𝓩' => 'Z', + '𝓪' => 'a', + '𝓫' => 'b', + '𝓬' => 'c', + '𝓭' => 'd', + '𝓮' => 'e', + '𝓯' => 'f', + '𝓰' => 'g', + '𝓱' => 'h', + '𝓲' => 'i', + '𝓳' => 'j', + '𝓴' => 'k', + '𝓵' => 'l', + '𝓶' => 'm', + '𝓷' => 'n', + '𝓸' => 'o', + '𝓹' => 'p', + '𝓺' => 'q', + '𝓻' => 'r', + '𝓼' => 's', + '𝓽' => 't', + '𝓾' => 'u', + '𝓿' => 'v', + '𝔀' => 'w', + '𝔁' => 'x', + '𝔂' => 'y', + '𝔃' => 'z', + '𝔄' => 'A', + '𝔅' => 'B', + '𝔇' => 'D', + '𝔈' => 'E', + '𝔉' => 'F', + '𝔊' => 'G', + '𝔍' => 'J', + '𝔎' => 'K', + '𝔏' => 'L', + '𝔐' => 'M', + '𝔑' => 'N', + '𝔒' => 'O', + '𝔓' => 'P', + '𝔔' => 'Q', + '𝔖' => 'S', + '𝔗' => 'T', + '𝔘' => 'U', + '𝔙' => 'V', + '𝔚' => 'W', + '𝔛' => 'X', + '𝔜' => 'Y', + '𝔞' => 'a', + '𝔟' => 'b', + '𝔠' => 'c', + '𝔡' => 'd', + '𝔢' => 'e', + '𝔣' => 'f', + '𝔤' => 'g', + '𝔥' => 'h', + '𝔦' => 'i', + '𝔧' => 'j', + '𝔨' => 'k', + '𝔩' => 'l', + '𝔪' => 'm', + '𝔫' => 'n', + '𝔬' => 'o', + '𝔭' => 'p', + '𝔮' => 'q', + '𝔯' => 'r', + '𝔰' => 's', + '𝔱' => 't', + '𝔲' => 'u', + '𝔳' => 'v', + '𝔴' => 'w', + '𝔵' => 'x', + '𝔶' => 'y', + '𝔷' => 'z', + '𝔸' => 'A', + '𝔹' => 'B', + '𝔻' => 'D', + '𝔼' => 'E', + '𝔽' => 'F', + '𝔾' => 'G', + '𝕀' => 'I', + '𝕁' => 'J', + '𝕂' => 'K', + '𝕃' => 'L', + '𝕄' => 'M', + '𝕆' => 'O', + '𝕊' => 'S', + '𝕋' => 'T', + '𝕌' => 'U', + '𝕍' => 'V', + '𝕎' => 'W', + '𝕏' => 'X', + '𝕐' => 'Y', + '𝕒' => 'a', + '𝕓' => 'b', + '𝕔' => 'c', + '𝕕' => 'd', + '𝕖' => 'e', + '𝕗' => 'f', + '𝕘' => 'g', + '𝕙' => 'h', + '𝕚' => 'i', + '𝕛' => 'j', + '𝕜' => 'k', + '𝕝' => 'l', + '𝕞' => 'm', + '𝕟' => 'n', + '𝕠' => 'o', + '𝕡' => 'p', + '𝕢' => 'q', + '𝕣' => 'r', + '𝕤' => 's', + '𝕥' => 't', + '𝕦' => 'u', + '𝕧' => 'v', + '𝕨' => 'w', + '𝕩' => 'x', + '𝕪' => 'y', + '𝕫' => 'z', + '𝕬' => 'A', + '𝕭' => 'B', + '𝕮' => 'C', + '𝕯' => 'D', + '𝕰' => 'E', + '𝕱' => 'F', + '𝕲' => 'G', + '𝕳' => 'H', + '𝕴' => 'I', + '𝕵' => 'J', + '𝕶' => 'K', + '𝕷' => 'L', + '𝕸' => 'M', + '𝕹' => 'N', + '𝕺' => 'O', + '𝕻' => 'P', + '𝕼' => 'Q', + '𝕽' => 'R', + '𝕾' => 'S', + '𝕿' => 'T', + '𝖀' => 'U', + '𝖁' => 'V', + '𝖂' => 'W', + '𝖃' => 'X', + '𝖄' => 'Y', + '𝖅' => 'Z', + '𝖆' => 'a', + '𝖇' => 'b', + '𝖈' => 'c', + '𝖉' => 'd', + '𝖊' => 'e', + '𝖋' => 'f', + '𝖌' => 'g', + '𝖍' => 'h', + '𝖎' => 'i', + '𝖏' => 'j', + '𝖐' => 'k', + '𝖑' => 'l', + '𝖒' => 'm', + '𝖓' => 'n', + '𝖔' => 'o', + '𝖕' => 'p', + '𝖖' => 'q', + '𝖗' => 'r', + '𝖘' => 's', + '𝖙' => 't', + '𝖚' => 'u', + '𝖛' => 'v', + '𝖜' => 'w', + '𝖝' => 'x', + '𝖞' => 'y', + '𝖟' => 'z', + '𝖠' => 'A', + '𝖡' => 'B', + '𝖢' => 'C', + '𝖣' => 'D', + '𝖤' => 'E', + '𝖥' => 'F', + '𝖦' => 'G', + '𝖧' => 'H', + '𝖨' => 'I', + '𝖩' => 'J', + '𝖪' => 'K', + '𝖫' => 'L', + '𝖬' => 'M', + '𝖭' => 'N', + '𝖮' => 'O', + '𝖯' => 'P', + '𝖰' => 'Q', + '𝖱' => 'R', + '𝖲' => 'S', + '𝖳' => 'T', + '𝖴' => 'U', + '𝖵' => 'V', + '𝖶' => 'W', + '𝖷' => 'X', + '𝖸' => 'Y', + '𝖹' => 'Z', + '𝖺' => 'a', + '𝖻' => 'b', + '𝖼' => 'c', + '𝖽' => 'd', + '𝖾' => 'e', + '𝖿' => 'f', + '𝗀' => 'g', + '𝗁' => 'h', + '𝗂' => 'i', + '𝗃' => 'j', + '𝗄' => 'k', + '𝗅' => 'l', + '𝗆' => 'm', + '𝗇' => 'n', + '𝗈' => 'o', + '𝗉' => 'p', + '𝗊' => 'q', + '𝗋' => 'r', + '𝗌' => 's', + '𝗍' => 't', + '𝗎' => 'u', + '𝗏' => 'v', + '𝗐' => 'w', + '𝗑' => 'x', + '𝗒' => 'y', + '𝗓' => 'z', + '𝗔' => 'A', + '𝗕' => 'B', + '𝗖' => 'C', + '𝗗' => 'D', + '𝗘' => 'E', + '𝗙' => 'F', + '𝗚' => 'G', + '𝗛' => 'H', + '𝗜' => 'I', + '𝗝' => 'J', + '𝗞' => 'K', + '𝗟' => 'L', + '𝗠' => 'M', + '𝗡' => 'N', + '𝗢' => 'O', + '𝗣' => 'P', + '𝗤' => 'Q', + '𝗥' => 'R', + '𝗦' => 'S', + '𝗧' => 'T', + '𝗨' => 'U', + '𝗩' => 'V', + '𝗪' => 'W', + '𝗫' => 'X', + '𝗬' => 'Y', + '𝗭' => 'Z', + '𝗮' => 'a', + '𝗯' => 'b', + '𝗰' => 'c', + '𝗱' => 'd', + '𝗲' => 'e', + '𝗳' => 'f', + '𝗴' => 'g', + '𝗵' => 'h', + '𝗶' => 'i', + '𝗷' => 'j', + '𝗸' => 'k', + '𝗹' => 'l', + '𝗺' => 'm', + '𝗻' => 'n', + '𝗼' => 'o', + '𝗽' => 'p', + '𝗾' => 'q', + '𝗿' => 'r', + '𝘀' => 's', + '𝘁' => 't', + '𝘂' => 'u', + '𝘃' => 'v', + '𝘄' => 'w', + '𝘅' => 'x', + '𝘆' => 'y', + '𝘇' => 'z', + '𝘈' => 'A', + '𝘉' => 'B', + '𝘊' => 'C', + '𝘋' => 'D', + '𝘌' => 'E', + '𝘍' => 'F', + '𝘎' => 'G', + '𝘏' => 'H', + '𝘐' => 'I', + '𝘑' => 'J', + '𝘒' => 'K', + '𝘓' => 'L', + '𝘔' => 'M', + '𝘕' => 'N', + '𝘖' => 'O', + '𝘗' => 'P', + '𝘘' => 'Q', + '𝘙' => 'R', + '𝘚' => 'S', + '𝘛' => 'T', + '𝘜' => 'U', + '𝘝' => 'V', + '𝘞' => 'W', + '𝘟' => 'X', + '𝘠' => 'Y', + '𝘡' => 'Z', + '𝘢' => 'a', + '𝘣' => 'b', + '𝘤' => 'c', + '𝘥' => 'd', + '𝘦' => 'e', + '𝘧' => 'f', + '𝘨' => 'g', + '𝘩' => 'h', + '𝘪' => 'i', + '𝘫' => 'j', + '𝘬' => 'k', + '𝘭' => 'l', + '𝘮' => 'm', + '𝘯' => 'n', + '𝘰' => 'o', + '𝘱' => 'p', + '𝘲' => 'q', + '𝘳' => 'r', + '𝘴' => 's', + '𝘵' => 't', + '𝘶' => 'u', + '𝘷' => 'v', + '𝘸' => 'w', + '𝘹' => 'x', + '𝘺' => 'y', + '𝘻' => 'z', + '𝘼' => 'A', + '𝘽' => 'B', + '𝘾' => 'C', + '𝘿' => 'D', + '𝙀' => 'E', + '𝙁' => 'F', + '𝙂' => 'G', + '𝙃' => 'H', + '𝙄' => 'I', + '𝙅' => 'J', + '𝙆' => 'K', + '𝙇' => 'L', + '𝙈' => 'M', + '𝙉' => 'N', + '𝙊' => 'O', + '𝙋' => 'P', + '𝙌' => 'Q', + '𝙍' => 'R', + '𝙎' => 'S', + '𝙏' => 'T', + '𝙐' => 'U', + '𝙑' => 'V', + '𝙒' => 'W', + '𝙓' => 'X', + '𝙔' => 'Y', + '𝙕' => 'Z', + '𝙖' => 'a', + '𝙗' => 'b', + '𝙘' => 'c', + '𝙙' => 'd', + '𝙚' => 'e', + '𝙛' => 'f', + '𝙜' => 'g', + '𝙝' => 'h', + '𝙞' => 'i', + '𝙟' => 'j', + '𝙠' => 'k', + '𝙡' => 'l', + '𝙢' => 'm', + '𝙣' => 'n', + '𝙤' => 'o', + '𝙥' => 'p', + '𝙦' => 'q', + '𝙧' => 'r', + '𝙨' => 's', + '𝙩' => 't', + '𝙪' => 'u', + '𝙫' => 'v', + '𝙬' => 'w', + '𝙭' => 'x', + '𝙮' => 'y', + '𝙯' => 'z', + '𝙰' => 'A', + '𝙱' => 'B', + '𝙲' => 'C', + '𝙳' => 'D', + '𝙴' => 'E', + '𝙵' => 'F', + '𝙶' => 'G', + '𝙷' => 'H', + '𝙸' => 'I', + '𝙹' => 'J', + '𝙺' => 'K', + '𝙻' => 'L', + '𝙼' => 'M', + '𝙽' => 'N', + '𝙾' => 'O', + '𝙿' => 'P', + '𝚀' => 'Q', + '𝚁' => 'R', + '𝚂' => 'S', + '𝚃' => 'T', + '𝚄' => 'U', + '𝚅' => 'V', + '𝚆' => 'W', + '𝚇' => 'X', + '𝚈' => 'Y', + '𝚉' => 'Z', + '𝚊' => 'a', + '𝚋' => 'b', + '𝚌' => 'c', + '𝚍' => 'd', + '𝚎' => 'e', + '𝚏' => 'f', + '𝚐' => 'g', + '𝚑' => 'h', + '𝚒' => 'i', + '𝚓' => 'j', + '𝚔' => 'k', + '𝚕' => 'l', + '𝚖' => 'm', + '𝚗' => 'n', + '𝚘' => 'o', + '𝚙' => 'p', + '𝚚' => 'q', + '𝚛' => 'r', + '𝚜' => 's', + '𝚝' => 't', + '𝚞' => 'u', + '𝚟' => 'v', + '𝚠' => 'w', + '𝚡' => 'x', + '𝚢' => 'y', + '𝚣' => 'z', + '𝚤' => 'ı', + '𝚥' => 'ȷ', + '𝚨' => 'Α', + '𝚩' => 'Β', + '𝚪' => 'Γ', + '𝚫' => 'Δ', + '𝚬' => 'Ε', + '𝚭' => 'Ζ', + '𝚮' => 'Η', + '𝚯' => 'Θ', + '𝚰' => 'Ι', + '𝚱' => 'Κ', + '𝚲' => 'Λ', + '𝚳' => 'Μ', + '𝚴' => 'Ν', + '𝚵' => 'Ξ', + '𝚶' => 'Ο', + '𝚷' => 'Π', + '𝚸' => 'Ρ', + '𝚹' => 'Θ', + '𝚺' => 'Σ', + '𝚻' => 'Τ', + '𝚼' => 'Υ', + '𝚽' => 'Φ', + '𝚾' => 'Χ', + '𝚿' => 'Ψ', + '𝛀' => 'Ω', + '𝛁' => '∇', + '𝛂' => 'α', + '𝛃' => 'β', + '𝛄' => 'γ', + '𝛅' => 'δ', + '𝛆' => 'ε', + '𝛇' => 'ζ', + '𝛈' => 'η', + '𝛉' => 'θ', + '𝛊' => 'ι', + '𝛋' => 'κ', + '𝛌' => 'λ', + '𝛍' => 'μ', + '𝛎' => 'ν', + '𝛏' => 'ξ', + '𝛐' => 'ο', + '𝛑' => 'π', + '𝛒' => 'ρ', + '𝛓' => 'ς', + '𝛔' => 'σ', + '𝛕' => 'τ', + '𝛖' => 'υ', + '𝛗' => 'φ', + '𝛘' => 'χ', + '𝛙' => 'ψ', + '𝛚' => 'ω', + '𝛛' => '∂', + '𝛜' => 'ε', + '𝛝' => 'θ', + '𝛞' => 'κ', + '𝛟' => 'φ', + '𝛠' => 'ρ', + '𝛡' => 'π', + '𝛢' => 'Α', + '𝛣' => 'Β', + '𝛤' => 'Γ', + '𝛥' => 'Δ', + '𝛦' => 'Ε', + '𝛧' => 'Ζ', + '𝛨' => 'Η', + '𝛩' => 'Θ', + '𝛪' => 'Ι', + '𝛫' => 'Κ', + '𝛬' => 'Λ', + '𝛭' => 'Μ', + '𝛮' => 'Ν', + '𝛯' => 'Ξ', + '𝛰' => 'Ο', + '𝛱' => 'Π', + '𝛲' => 'Ρ', + '𝛳' => 'Θ', + '𝛴' => 'Σ', + '𝛵' => 'Τ', + '𝛶' => 'Υ', + '𝛷' => 'Φ', + '𝛸' => 'Χ', + '𝛹' => 'Ψ', + '𝛺' => 'Ω', + '𝛻' => '∇', + '𝛼' => 'α', + '𝛽' => 'β', + '𝛾' => 'γ', + '𝛿' => 'δ', + '𝜀' => 'ε', + '𝜁' => 'ζ', + '𝜂' => 'η', + '𝜃' => 'θ', + '𝜄' => 'ι', + '𝜅' => 'κ', + '𝜆' => 'λ', + '𝜇' => 'μ', + '𝜈' => 'ν', + '𝜉' => 'ξ', + '𝜊' => 'ο', + '𝜋' => 'π', + '𝜌' => 'ρ', + '𝜍' => 'ς', + '𝜎' => 'σ', + '𝜏' => 'τ', + '𝜐' => 'υ', + '𝜑' => 'φ', + '𝜒' => 'χ', + '𝜓' => 'ψ', + '𝜔' => 'ω', + '𝜕' => '∂', + '𝜖' => 'ε', + '𝜗' => 'θ', + '𝜘' => 'κ', + '𝜙' => 'φ', + '𝜚' => 'ρ', + '𝜛' => 'π', + '𝜜' => 'Α', + '𝜝' => 'Β', + '𝜞' => 'Γ', + '𝜟' => 'Δ', + '𝜠' => 'Ε', + '𝜡' => 'Ζ', + '𝜢' => 'Η', + '𝜣' => 'Θ', + '𝜤' => 'Ι', + '𝜥' => 'Κ', + '𝜦' => 'Λ', + '𝜧' => 'Μ', + '𝜨' => 'Ν', + '𝜩' => 'Ξ', + '𝜪' => 'Ο', + '𝜫' => 'Π', + '𝜬' => 'Ρ', + '𝜭' => 'Θ', + '𝜮' => 'Σ', + '𝜯' => 'Τ', + '𝜰' => 'Υ', + '𝜱' => 'Φ', + '𝜲' => 'Χ', + '𝜳' => 'Ψ', + '𝜴' => 'Ω', + '𝜵' => '∇', + '𝜶' => 'α', + '𝜷' => 'β', + '𝜸' => 'γ', + '𝜹' => 'δ', + '𝜺' => 'ε', + '𝜻' => 'ζ', + '𝜼' => 'η', + '𝜽' => 'θ', + '𝜾' => 'ι', + '𝜿' => 'κ', + '𝝀' => 'λ', + '𝝁' => 'μ', + '𝝂' => 'ν', + '𝝃' => 'ξ', + '𝝄' => 'ο', + '𝝅' => 'π', + '𝝆' => 'ρ', + '𝝇' => 'ς', + '𝝈' => 'σ', + '𝝉' => 'τ', + '𝝊' => 'υ', + '𝝋' => 'φ', + '𝝌' => 'χ', + '𝝍' => 'ψ', + '𝝎' => 'ω', + '𝝏' => '∂', + '𝝐' => 'ε', + '𝝑' => 'θ', + '𝝒' => 'κ', + '𝝓' => 'φ', + '𝝔' => 'ρ', + '𝝕' => 'π', + '𝝖' => 'Α', + '𝝗' => 'Β', + '𝝘' => 'Γ', + '𝝙' => 'Δ', + '𝝚' => 'Ε', + '𝝛' => 'Ζ', + '𝝜' => 'Η', + '𝝝' => 'Θ', + '𝝞' => 'Ι', + '𝝟' => 'Κ', + '𝝠' => 'Λ', + '𝝡' => 'Μ', + '𝝢' => 'Ν', + '𝝣' => 'Ξ', + '𝝤' => 'Ο', + '𝝥' => 'Π', + '𝝦' => 'Ρ', + '𝝧' => 'Θ', + '𝝨' => 'Σ', + '𝝩' => 'Τ', + '𝝪' => 'Υ', + '𝝫' => 'Φ', + '𝝬' => 'Χ', + '𝝭' => 'Ψ', + '𝝮' => 'Ω', + '𝝯' => '∇', + '𝝰' => 'α', + '𝝱' => 'β', + '𝝲' => 'γ', + '𝝳' => 'δ', + '𝝴' => 'ε', + '𝝵' => 'ζ', + '𝝶' => 'η', + '𝝷' => 'θ', + '𝝸' => 'ι', + '𝝹' => 'κ', + '𝝺' => 'λ', + '𝝻' => 'μ', + '𝝼' => 'ν', + '𝝽' => 'ξ', + '𝝾' => 'ο', + '𝝿' => 'π', + '𝞀' => 'ρ', + '𝞁' => 'ς', + '𝞂' => 'σ', + '𝞃' => 'τ', + '𝞄' => 'υ', + '𝞅' => 'φ', + '𝞆' => 'χ', + '𝞇' => 'ψ', + '𝞈' => 'ω', + '𝞉' => '∂', + '𝞊' => 'ε', + '𝞋' => 'θ', + '𝞌' => 'κ', + '𝞍' => 'φ', + '𝞎' => 'ρ', + '𝞏' => 'π', + '𝞐' => 'Α', + '𝞑' => 'Β', + '𝞒' => 'Γ', + '𝞓' => 'Δ', + '𝞔' => 'Ε', + '𝞕' => 'Ζ', + '𝞖' => 'Η', + '𝞗' => 'Θ', + '𝞘' => 'Ι', + '𝞙' => 'Κ', + '𝞚' => 'Λ', + '𝞛' => 'Μ', + '𝞜' => 'Ν', + '𝞝' => 'Ξ', + '𝞞' => 'Ο', + '𝞟' => 'Π', + '𝞠' => 'Ρ', + '𝞡' => 'Θ', + '𝞢' => 'Σ', + '𝞣' => 'Τ', + '𝞤' => 'Υ', + '𝞥' => 'Φ', + '𝞦' => 'Χ', + '𝞧' => 'Ψ', + '𝞨' => 'Ω', + '𝞩' => '∇', + '𝞪' => 'α', + '𝞫' => 'β', + '𝞬' => 'γ', + '𝞭' => 'δ', + '𝞮' => 'ε', + '𝞯' => 'ζ', + '𝞰' => 'η', + '𝞱' => 'θ', + '𝞲' => 'ι', + '𝞳' => 'κ', + '𝞴' => 'λ', + '𝞵' => 'μ', + '𝞶' => 'ν', + '𝞷' => 'ξ', + '𝞸' => 'ο', + '𝞹' => 'π', + '𝞺' => 'ρ', + '𝞻' => 'ς', + '𝞼' => 'σ', + '𝞽' => 'τ', + '𝞾' => 'υ', + '𝞿' => 'φ', + '𝟀' => 'χ', + '𝟁' => 'ψ', + '𝟂' => 'ω', + '𝟃' => '∂', + '𝟄' => 'ε', + '𝟅' => 'θ', + '𝟆' => 'κ', + '𝟇' => 'φ', + '𝟈' => 'ρ', + '𝟉' => 'π', + '𝟊' => 'Ϝ', + '𝟋' => 'ϝ', + '𝟎' => '0', + '𝟏' => '1', + '𝟐' => '2', + '𝟑' => '3', + '𝟒' => '4', + '𝟓' => '5', + '𝟔' => '6', + '𝟕' => '7', + '𝟖' => '8', + '𝟗' => '9', + '𝟘' => '0', + '𝟙' => '1', + '𝟚' => '2', + '𝟛' => '3', + '𝟜' => '4', + '𝟝' => '5', + '𝟞' => '6', + '𝟟' => '7', + '𝟠' => '8', + '𝟡' => '9', + '𝟢' => '0', + '𝟣' => '1', + '𝟤' => '2', + '𝟥' => '3', + '𝟦' => '4', + '𝟧' => '5', + '𝟨' => '6', + '𝟩' => '7', + '𝟪' => '8', + '𝟫' => '9', + '𝟬' => '0', + '𝟭' => '1', + '𝟮' => '2', + '𝟯' => '3', + '𝟰' => '4', + '𝟱' => '5', + '𝟲' => '6', + '𝟳' => '7', + '𝟴' => '8', + '𝟵' => '9', + '𝟶' => '0', + '𝟷' => '1', + '𝟸' => '2', + '𝟹' => '3', + '𝟺' => '4', + '𝟻' => '5', + '𝟼' => '6', + '𝟽' => '7', + '𝟾' => '8', + '𝟿' => '9', + '𞸀' => 'ا', + '𞸁' => 'ب', + '𞸂' => 'ج', + '𞸃' => 'د', + '𞸅' => 'و', + '𞸆' => 'ز', + '𞸇' => 'ح', + '𞸈' => 'ط', + '𞸉' => 'ي', + '𞸊' => 'ك', + '𞸋' => 'ل', + '𞸌' => 'م', + '𞸍' => 'ن', + '𞸎' => 'س', + '𞸏' => 'ع', + '𞸐' => 'ف', + '𞸑' => 'ص', + '𞸒' => 'ق', + '𞸓' => 'ر', + '𞸔' => 'ش', + '𞸕' => 'ت', + '𞸖' => 'ث', + '𞸗' => 'خ', + '𞸘' => 'ذ', + '𞸙' => 'ض', + '𞸚' => 'ظ', + '𞸛' => 'غ', + '𞸜' => 'ٮ', + '𞸝' => 'ں', + '𞸞' => 'ڡ', + '𞸟' => 'ٯ', + '𞸡' => 'ب', + '𞸢' => 'ج', + '𞸤' => 'ه', + '𞸧' => 'ح', + '𞸩' => 'ي', + '𞸪' => 'ك', + '𞸫' => 'ل', + '𞸬' => 'م', + '𞸭' => 'ن', + '𞸮' => 'س', + '𞸯' => 'ع', + '𞸰' => 'ف', + '𞸱' => 'ص', + '𞸲' => 'ق', + '𞸴' => 'ش', + '𞸵' => 'ت', + '𞸶' => 'ث', + '𞸷' => 'خ', + '𞸹' => 'ض', + '𞸻' => 'غ', + '𞹂' => 'ج', + '𞹇' => 'ح', + '𞹉' => 'ي', + '𞹋' => 'ل', + '𞹍' => 'ن', + '𞹎' => 'س', + '𞹏' => 'ع', + '𞹑' => 'ص', + '𞹒' => 'ق', + '𞹔' => 'ش', + '𞹗' => 'خ', + '𞹙' => 'ض', + '𞹛' => 'غ', + '𞹝' => 'ں', + '𞹟' => 'ٯ', + '𞹡' => 'ب', + '𞹢' => 'ج', + '𞹤' => 'ه', + '𞹧' => 'ح', + '𞹨' => 'ط', + '𞹩' => 'ي', + '𞹪' => 'ك', + '𞹬' => 'م', + '𞹭' => 'ن', + '𞹮' => 'س', + '𞹯' => 'ع', + '𞹰' => 'ف', + '𞹱' => 'ص', + '𞹲' => 'ق', + '𞹴' => 'ش', + '𞹵' => 'ت', + '𞹶' => 'ث', + '𞹷' => 'خ', + '𞹹' => 'ض', + '𞹺' => 'ظ', + '𞹻' => 'غ', + '𞹼' => 'ٮ', + '𞹾' => 'ڡ', + '𞺀' => 'ا', + '𞺁' => 'ب', + '𞺂' => 'ج', + '𞺃' => 'د', + '𞺄' => 'ه', + '𞺅' => 'و', + '𞺆' => 'ز', + '𞺇' => 'ح', + '𞺈' => 'ط', + '𞺉' => 'ي', + '𞺋' => 'ل', + '𞺌' => 'م', + '𞺍' => 'ن', + '𞺎' => 'س', + '𞺏' => 'ع', + '𞺐' => 'ف', + '𞺑' => 'ص', + '𞺒' => 'ق', + '𞺓' => 'ر', + '𞺔' => 'ش', + '𞺕' => 'ت', + '𞺖' => 'ث', + '𞺗' => 'خ', + '𞺘' => 'ذ', + '𞺙' => 'ض', + '𞺚' => 'ظ', + '𞺛' => 'غ', + '𞺡' => 'ب', + '𞺢' => 'ج', + '𞺣' => 'د', + '𞺥' => 'و', + '𞺦' => 'ز', + '𞺧' => 'ح', + '𞺨' => 'ط', + '𞺩' => 'ي', + '𞺫' => 'ل', + '𞺬' => 'م', + '𞺭' => 'ن', + '𞺮' => 'س', + '𞺯' => 'ع', + '𞺰' => 'ف', + '𞺱' => 'ص', + '𞺲' => 'ق', + '𞺳' => 'ر', + '𞺴' => 'ش', + '𞺵' => 'ت', + '𞺶' => 'ث', + '𞺷' => 'خ', + '𞺸' => 'ذ', + '𞺹' => 'ض', + '𞺺' => 'ظ', + '𞺻' => 'غ', + '🄀' => '0.', + '🄁' => '0,', + '🄂' => '1,', + '🄃' => '2,', + '🄄' => '3,', + '🄅' => '4,', + '🄆' => '5,', + '🄇' => '6,', + '🄈' => '7,', + '🄉' => '8,', + '🄊' => '9,', + '🄐' => '(A)', + '🄑' => '(B)', + '🄒' => '(C)', + '🄓' => '(D)', + '🄔' => '(E)', + '🄕' => '(F)', + '🄖' => '(G)', + '🄗' => '(H)', + '🄘' => '(I)', + '🄙' => '(J)', + '🄚' => '(K)', + '🄛' => '(L)', + '🄜' => '(M)', + '🄝' => '(N)', + '🄞' => '(O)', + '🄟' => '(P)', + '🄠' => '(Q)', + '🄡' => '(R)', + '🄢' => '(S)', + '🄣' => '(T)', + '🄤' => '(U)', + '🄥' => '(V)', + '🄦' => '(W)', + '🄧' => '(X)', + '🄨' => '(Y)', + '🄩' => '(Z)', + '🄪' => '〔S〕', + '🄫' => 'C', + '🄬' => 'R', + '🄭' => 'CD', + '🄮' => 'WZ', + '🄰' => 'A', + '🄱' => 'B', + '🄲' => 'C', + '🄳' => 'D', + '🄴' => 'E', + '🄵' => 'F', + '🄶' => 'G', + '🄷' => 'H', + '🄸' => 'I', + '🄹' => 'J', + '🄺' => 'K', + '🄻' => 'L', + '🄼' => 'M', + '🄽' => 'N', + '🄾' => 'O', + '🄿' => 'P', + '🅀' => 'Q', + '🅁' => 'R', + '🅂' => 'S', + '🅃' => 'T', + '🅄' => 'U', + '🅅' => 'V', + '🅆' => 'W', + '🅇' => 'X', + '🅈' => 'Y', + '🅉' => 'Z', + '🅊' => 'HV', + '🅋' => 'MV', + '🅌' => 'SD', + '🅍' => 'SS', + '🅎' => 'PPV', + '🅏' => 'WC', + '🅪' => 'MC', + '🅫' => 'MD', + '🅬' => 'MR', + '🆐' => 'DJ', + '🈀' => 'ほか', + '🈁' => 'ココ', + '🈂' => 'サ', + '🈐' => '手', + '🈑' => '字', + '🈒' => '双', + '🈓' => 'デ', + '🈔' => '二', + '🈕' => '多', + '🈖' => '解', + '🈗' => '天', + '🈘' => '交', + '🈙' => '映', + '🈚' => '無', + '🈛' => '料', + '🈜' => '前', + '🈝' => '後', + '🈞' => '再', + '🈟' => '新', + '🈠' => '初', + '🈡' => '終', + '🈢' => '生', + '🈣' => '販', + '🈤' => '声', + '🈥' => '吹', + '🈦' => '演', + '🈧' => '投', + '🈨' => '捕', + '🈩' => '一', + '🈪' => '三', + '🈫' => '遊', + '🈬' => '左', + '🈭' => '中', + '🈮' => '右', + '🈯' => '指', + '🈰' => '走', + '🈱' => '打', + '🈲' => '禁', + '🈳' => '空', + '🈴' => '合', + '🈵' => '満', + '🈶' => '有', + '🈷' => '月', + '🈸' => '申', + '🈹' => '割', + '🈺' => '営', + '🈻' => '配', + '🉀' => '〔本〕', + '🉁' => '〔三〕', + '🉂' => '〔二〕', + '🉃' => '〔安〕', + '🉄' => '〔点〕', + '🉅' => '〔打〕', + '🉆' => '〔盗〕', + '🉇' => '〔勝〕', + '🉈' => '〔敗〕', + '🉐' => '得', + '🉑' => '可', + '🯰' => '0', + '🯱' => '1', + '🯲' => '2', + '🯳' => '3', + '🯴' => '4', + '🯵' => '5', + '🯶' => '6', + '🯷' => '7', + '🯸' => '8', + '🯹' => '9', +); diff --git a/pandora_console/vendor/symfony/polyfill-intl-normalizer/bootstrap.php b/pandora_console/vendor/symfony/polyfill-intl-normalizer/bootstrap.php new file mode 100644 index 0000000000..3608e5c05d --- /dev/null +++ b/pandora_console/vendor/symfony/polyfill-intl-normalizer/bootstrap.php @@ -0,0 +1,23 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +use Symfony\Polyfill\Intl\Normalizer as p; + +if (\PHP_VERSION_ID >= 80000) { + return require __DIR__.'/bootstrap80.php'; +} + +if (!function_exists('normalizer_is_normalized')) { + function normalizer_is_normalized($string, $form = p\Normalizer::FORM_C) { return p\Normalizer::isNormalized($string, $form); } +} +if (!function_exists('normalizer_normalize')) { + function normalizer_normalize($string, $form = p\Normalizer::FORM_C) { return p\Normalizer::normalize($string, $form); } +} diff --git a/pandora_console/vendor/symfony/polyfill-intl-normalizer/bootstrap80.php b/pandora_console/vendor/symfony/polyfill-intl-normalizer/bootstrap80.php new file mode 100644 index 0000000000..e36d1a9477 --- /dev/null +++ b/pandora_console/vendor/symfony/polyfill-intl-normalizer/bootstrap80.php @@ -0,0 +1,19 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +use Symfony\Polyfill\Intl\Normalizer as p; + +if (!function_exists('normalizer_is_normalized')) { + function normalizer_is_normalized(?string $string, ?int $form = p\Normalizer::FORM_C): bool { return p\Normalizer::isNormalized((string) $string, (int) $form); } +} +if (!function_exists('normalizer_normalize')) { + function normalizer_normalize(?string $string, ?int $form = p\Normalizer::FORM_C): string|false { return p\Normalizer::normalize((string) $string, (int) $form); } +} diff --git a/pandora_console/vendor/symfony/polyfill-intl-normalizer/composer.json b/pandora_console/vendor/symfony/polyfill-intl-normalizer/composer.json new file mode 100644 index 0000000000..393edf701a --- /dev/null +++ b/pandora_console/vendor/symfony/polyfill-intl-normalizer/composer.json @@ -0,0 +1,39 @@ +{ + "name": "symfony/polyfill-intl-normalizer", + "type": "library", + "description": "Symfony polyfill for intl's Normalizer class and related functions", + "keywords": ["polyfill", "shim", "compatibility", "portable", "intl", "normalizer"], + "homepage": "https://symfony.com", + "license": "MIT", + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "require": { + "php": ">=7.1" + }, + "autoload": { + "psr-4": { "Symfony\\Polyfill\\Intl\\Normalizer\\": "" }, + "files": [ "bootstrap.php" ], + "classmap": [ "Resources/stubs" ] + }, + "suggest": { + "ext-intl": "For best performance" + }, + "minimum-stability": "dev", + "extra": { + "branch-alias": { + "dev-main": "1.23-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + } +} diff --git a/pandora_console/vendor/symfony/polyfill-mbstring/LICENSE b/pandora_console/vendor/symfony/polyfill-mbstring/LICENSE new file mode 100644 index 0000000000..4cd8bdd300 --- /dev/null +++ b/pandora_console/vendor/symfony/polyfill-mbstring/LICENSE @@ -0,0 +1,19 @@ +Copyright (c) 2015-2019 Fabien Potencier + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is furnished +to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/pandora_console/vendor/symfony/polyfill-mbstring/Mbstring.php b/pandora_console/vendor/symfony/polyfill-mbstring/Mbstring.php new file mode 100644 index 0000000000..b65c54a6b5 --- /dev/null +++ b/pandora_console/vendor/symfony/polyfill-mbstring/Mbstring.php @@ -0,0 +1,873 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Polyfill\Mbstring; + +/** + * Partial mbstring implementation in PHP, iconv based, UTF-8 centric. + * + * Implemented: + * - mb_chr - Returns a specific character from its Unicode code point + * - mb_convert_encoding - Convert character encoding + * - mb_convert_variables - Convert character code in variable(s) + * - mb_decode_mimeheader - Decode string in MIME header field + * - mb_encode_mimeheader - Encode string for MIME header XXX NATIVE IMPLEMENTATION IS REALLY BUGGED + * - mb_decode_numericentity - Decode HTML numeric string reference to character + * - mb_encode_numericentity - Encode character to HTML numeric string reference + * - mb_convert_case - Perform case folding on a string + * - mb_detect_encoding - Detect character encoding + * - mb_get_info - Get internal settings of mbstring + * - mb_http_input - Detect HTTP input character encoding + * - mb_http_output - Set/Get HTTP output character encoding + * - mb_internal_encoding - Set/Get internal character encoding + * - mb_list_encodings - Returns an array of all supported encodings + * - mb_ord - Returns the Unicode code point of a character + * - mb_output_handler - Callback function converts character encoding in output buffer + * - mb_scrub - Replaces ill-formed byte sequences with substitute characters + * - mb_strlen - Get string length + * - mb_strpos - Find position of first occurrence of string in a string + * - mb_strrpos - Find position of last occurrence of a string in a string + * - mb_str_split - Convert a string to an array + * - mb_strtolower - Make a string lowercase + * - mb_strtoupper - Make a string uppercase + * - mb_substitute_character - Set/Get substitution character + * - mb_substr - Get part of string + * - mb_stripos - Finds position of first occurrence of a string within another, case insensitive + * - mb_stristr - Finds first occurrence of a string within another, case insensitive + * - mb_strrchr - Finds the last occurrence of a character in a string within another + * - mb_strrichr - Finds the last occurrence of a character in a string within another, case insensitive + * - mb_strripos - Finds position of last occurrence of a string within another, case insensitive + * - mb_strstr - Finds first occurrence of a string within another + * - mb_strwidth - Return width of string + * - mb_substr_count - Count the number of substring occurrences + * + * Not implemented: + * - mb_convert_kana - Convert "kana" one from another ("zen-kaku", "han-kaku" and more) + * - mb_ereg_* - Regular expression with multibyte support + * - mb_parse_str - Parse GET/POST/COOKIE data and set global variable + * - mb_preferred_mime_name - Get MIME charset string + * - mb_regex_encoding - Returns current encoding for multibyte regex as string + * - mb_regex_set_options - Set/Get the default options for mbregex functions + * - mb_send_mail - Send encoded mail + * - mb_split - Split multibyte string using regular expression + * - mb_strcut - Get part of string + * - mb_strimwidth - Get truncated string with specified width + * + * @author Nicolas Grekas + * + * @internal + */ +final class Mbstring +{ + public const MB_CASE_FOLD = \PHP_INT_MAX; + + private const CASE_FOLD = [ + ['µ', 'ſ', "\xCD\x85", 'ς', "\xCF\x90", "\xCF\x91", "\xCF\x95", "\xCF\x96", "\xCF\xB0", "\xCF\xB1", "\xCF\xB5", "\xE1\xBA\x9B", "\xE1\xBE\xBE"], + ['μ', 's', 'ι', 'σ', 'β', 'θ', 'φ', 'π', 'κ', 'ρ', 'ε', "\xE1\xB9\xA1", 'ι'], + ]; + + private static $encodingList = ['ASCII', 'UTF-8']; + private static $language = 'neutral'; + private static $internalEncoding = 'UTF-8'; + + public static function mb_convert_encoding($s, $toEncoding, $fromEncoding = null) + { + if (\is_array($fromEncoding) || ($fromEncoding !== null && false !== strpos($fromEncoding, ','))) { + $fromEncoding = self::mb_detect_encoding($s, $fromEncoding); + } else { + $fromEncoding = self::getEncoding($fromEncoding); + } + + $toEncoding = self::getEncoding($toEncoding); + + if ('BASE64' === $fromEncoding) { + $s = base64_decode($s); + $fromEncoding = $toEncoding; + } + + if ('BASE64' === $toEncoding) { + return base64_encode($s); + } + + if ('HTML-ENTITIES' === $toEncoding || 'HTML' === $toEncoding) { + if ('HTML-ENTITIES' === $fromEncoding || 'HTML' === $fromEncoding) { + $fromEncoding = 'Windows-1252'; + } + if ('UTF-8' !== $fromEncoding) { + $s = \iconv($fromEncoding, 'UTF-8//IGNORE', $s); + } + + return preg_replace_callback('/[\x80-\xFF]+/', [__CLASS__, 'html_encoding_callback'], $s); + } + + if ('HTML-ENTITIES' === $fromEncoding) { + $s = html_entity_decode($s, \ENT_COMPAT, 'UTF-8'); + $fromEncoding = 'UTF-8'; + } + + return \iconv($fromEncoding, $toEncoding.'//IGNORE', $s); + } + + public static function mb_convert_variables($toEncoding, $fromEncoding, &...$vars) + { + $ok = true; + array_walk_recursive($vars, function (&$v) use (&$ok, $toEncoding, $fromEncoding) { + if (false === $v = self::mb_convert_encoding($v, $toEncoding, $fromEncoding)) { + $ok = false; + } + }); + + return $ok ? $fromEncoding : false; + } + + public static function mb_decode_mimeheader($s) + { + return \iconv_mime_decode($s, 2, self::$internalEncoding); + } + + public static function mb_encode_mimeheader($s, $charset = null, $transferEncoding = null, $linefeed = null, $indent = null) + { + trigger_error('mb_encode_mimeheader() is bugged. Please use iconv_mime_encode() instead', \E_USER_WARNING); + } + + public static function mb_decode_numericentity($s, $convmap, $encoding = null) + { + if (null !== $s && !is_scalar($s) && !(\is_object($s) && method_exists($s, '__toString'))) { + trigger_error('mb_decode_numericentity() expects parameter 1 to be string, '.\gettype($s).' given', \E_USER_WARNING); + + return null; + } + + if (!\is_array($convmap) || (80000 > \PHP_VERSION_ID && !$convmap)) { + return false; + } + + if (null !== $encoding && !is_scalar($encoding)) { + trigger_error('mb_decode_numericentity() expects parameter 3 to be string, '.\gettype($s).' given', \E_USER_WARNING); + + return ''; // Instead of null (cf. mb_encode_numericentity). + } + + $s = (string) $s; + if ('' === $s) { + return ''; + } + + $encoding = self::getEncoding($encoding); + + if ('UTF-8' === $encoding) { + $encoding = null; + if (!preg_match('//u', $s)) { + $s = @\iconv('UTF-8', 'UTF-8//IGNORE', $s); + } + } else { + $s = \iconv($encoding, 'UTF-8//IGNORE', $s); + } + + $cnt = floor(\count($convmap) / 4) * 4; + + for ($i = 0; $i < $cnt; $i += 4) { + // collector_decode_htmlnumericentity ignores $convmap[$i + 3] + $convmap[$i] += $convmap[$i + 2]; + $convmap[$i + 1] += $convmap[$i + 2]; + } + + $s = preg_replace_callback('/&#(?:0*([0-9]+)|x0*([0-9a-fA-F]+))(?!&);?/', function (array $m) use ($cnt, $convmap) { + $c = isset($m[2]) ? (int) hexdec($m[2]) : $m[1]; + for ($i = 0; $i < $cnt; $i += 4) { + if ($c >= $convmap[$i] && $c <= $convmap[$i + 1]) { + return self::mb_chr($c - $convmap[$i + 2]); + } + } + + return $m[0]; + }, $s); + + if (null === $encoding) { + return $s; + } + + return \iconv('UTF-8', $encoding.'//IGNORE', $s); + } + + public static function mb_encode_numericentity($s, $convmap, $encoding = null, $is_hex = false) + { + if (null !== $s && !is_scalar($s) && !(\is_object($s) && method_exists($s, '__toString'))) { + trigger_error('mb_encode_numericentity() expects parameter 1 to be string, '.\gettype($s).' given', \E_USER_WARNING); + + return null; + } + + if (!\is_array($convmap) || (80000 > \PHP_VERSION_ID && !$convmap)) { + return false; + } + + if (null !== $encoding && !is_scalar($encoding)) { + trigger_error('mb_encode_numericentity() expects parameter 3 to be string, '.\gettype($s).' given', \E_USER_WARNING); + + return null; // Instead of '' (cf. mb_decode_numericentity). + } + + if (null !== $is_hex && !is_scalar($is_hex)) { + trigger_error('mb_encode_numericentity() expects parameter 4 to be boolean, '.\gettype($s).' given', \E_USER_WARNING); + + return null; + } + + $s = (string) $s; + if ('' === $s) { + return ''; + } + + $encoding = self::getEncoding($encoding); + + if ('UTF-8' === $encoding) { + $encoding = null; + if (!preg_match('//u', $s)) { + $s = @\iconv('UTF-8', 'UTF-8//IGNORE', $s); + } + } else { + $s = \iconv($encoding, 'UTF-8//IGNORE', $s); + } + + static $ulenMask = ["\xC0" => 2, "\xD0" => 2, "\xE0" => 3, "\xF0" => 4]; + + $cnt = floor(\count($convmap) / 4) * 4; + $i = 0; + $len = \strlen($s); + $result = ''; + + while ($i < $len) { + $ulen = $s[$i] < "\x80" ? 1 : $ulenMask[$s[$i] & "\xF0"]; + $uchr = substr($s, $i, $ulen); + $i += $ulen; + $c = self::mb_ord($uchr); + + for ($j = 0; $j < $cnt; $j += 4) { + if ($c >= $convmap[$j] && $c <= $convmap[$j + 1]) { + $cOffset = ($c + $convmap[$j + 2]) & $convmap[$j + 3]; + $result .= $is_hex ? sprintf('&#x%X;', $cOffset) : '&#'.$cOffset.';'; + continue 2; + } + } + $result .= $uchr; + } + + if (null === $encoding) { + return $result; + } + + return \iconv('UTF-8', $encoding.'//IGNORE', $result); + } + + public static function mb_convert_case($s, $mode, $encoding = null) + { + $s = (string) $s; + if ('' === $s) { + return ''; + } + + $encoding = self::getEncoding($encoding); + + if ('UTF-8' === $encoding) { + $encoding = null; + if (!preg_match('//u', $s)) { + $s = @\iconv('UTF-8', 'UTF-8//IGNORE', $s); + } + } else { + $s = \iconv($encoding, 'UTF-8//IGNORE', $s); + } + + if (\MB_CASE_TITLE == $mode) { + static $titleRegexp = null; + if (null === $titleRegexp) { + $titleRegexp = self::getData('titleCaseRegexp'); + } + $s = preg_replace_callback($titleRegexp, [__CLASS__, 'title_case'], $s); + } else { + if (\MB_CASE_UPPER == $mode) { + static $upper = null; + if (null === $upper) { + $upper = self::getData('upperCase'); + } + $map = $upper; + } else { + if (self::MB_CASE_FOLD === $mode) { + $s = str_replace(self::CASE_FOLD[0], self::CASE_FOLD[1], $s); + } + + static $lower = null; + if (null === $lower) { + $lower = self::getData('lowerCase'); + } + $map = $lower; + } + + static $ulenMask = ["\xC0" => 2, "\xD0" => 2, "\xE0" => 3, "\xF0" => 4]; + + $i = 0; + $len = \strlen($s); + + while ($i < $len) { + $ulen = $s[$i] < "\x80" ? 1 : $ulenMask[$s[$i] & "\xF0"]; + $uchr = substr($s, $i, $ulen); + $i += $ulen; + + if (isset($map[$uchr])) { + $uchr = $map[$uchr]; + $nlen = \strlen($uchr); + + if ($nlen == $ulen) { + $nlen = $i; + do { + $s[--$nlen] = $uchr[--$ulen]; + } while ($ulen); + } else { + $s = substr_replace($s, $uchr, $i - $ulen, $ulen); + $len += $nlen - $ulen; + $i += $nlen - $ulen; + } + } + } + } + + if (null === $encoding) { + return $s; + } + + return \iconv('UTF-8', $encoding.'//IGNORE', $s); + } + + public static function mb_internal_encoding($encoding = null) + { + if (null === $encoding) { + return self::$internalEncoding; + } + + $normalizedEncoding = self::getEncoding($encoding); + + if ('UTF-8' === $normalizedEncoding || false !== @\iconv($normalizedEncoding, $normalizedEncoding, ' ')) { + self::$internalEncoding = $normalizedEncoding; + + return true; + } + + if (80000 > \PHP_VERSION_ID) { + return false; + } + + throw new \ValueError(sprintf('Argument #1 ($encoding) must be a valid encoding, "%s" given', $encoding)); + } + + public static function mb_language($lang = null) + { + if (null === $lang) { + return self::$language; + } + + switch ($normalizedLang = strtolower($lang)) { + case 'uni': + case 'neutral': + self::$language = $normalizedLang; + + return true; + } + + if (80000 > \PHP_VERSION_ID) { + return false; + } + + throw new \ValueError(sprintf('Argument #1 ($language) must be a valid language, "%s" given', $lang)); + } + + public static function mb_list_encodings() + { + return ['UTF-8']; + } + + public static function mb_encoding_aliases($encoding) + { + switch (strtoupper($encoding)) { + case 'UTF8': + case 'UTF-8': + return ['utf8']; + } + + return false; + } + + public static function mb_check_encoding($var = null, $encoding = null) + { + if (null === $encoding) { + if (null === $var) { + return false; + } + $encoding = self::$internalEncoding; + } + + return self::mb_detect_encoding($var, [$encoding]) || false !== @\iconv($encoding, $encoding, $var); + } + + public static function mb_detect_encoding($str, $encodingList = null, $strict = false) + { + if (null === $encodingList) { + $encodingList = self::$encodingList; + } else { + if (!\is_array($encodingList)) { + $encodingList = array_map('trim', explode(',', $encodingList)); + } + $encodingList = array_map('strtoupper', $encodingList); + } + + foreach ($encodingList as $enc) { + switch ($enc) { + case 'ASCII': + if (!preg_match('/[\x80-\xFF]/', $str)) { + return $enc; + } + break; + + case 'UTF8': + case 'UTF-8': + if (preg_match('//u', $str)) { + return 'UTF-8'; + } + break; + + default: + if (0 === strncmp($enc, 'ISO-8859-', 9)) { + return $enc; + } + } + } + + return false; + } + + public static function mb_detect_order($encodingList = null) + { + if (null === $encodingList) { + return self::$encodingList; + } + + if (!\is_array($encodingList)) { + $encodingList = array_map('trim', explode(',', $encodingList)); + } + $encodingList = array_map('strtoupper', $encodingList); + + foreach ($encodingList as $enc) { + switch ($enc) { + default: + if (strncmp($enc, 'ISO-8859-', 9)) { + return false; + } + // no break + case 'ASCII': + case 'UTF8': + case 'UTF-8': + } + } + + self::$encodingList = $encodingList; + + return true; + } + + public static function mb_strlen($s, $encoding = null) + { + $encoding = self::getEncoding($encoding); + if ('CP850' === $encoding || 'ASCII' === $encoding) { + return \strlen($s); + } + + return @\iconv_strlen($s, $encoding); + } + + public static function mb_strpos($haystack, $needle, $offset = 0, $encoding = null) + { + $encoding = self::getEncoding($encoding); + if ('CP850' === $encoding || 'ASCII' === $encoding) { + return strpos($haystack, $needle, $offset); + } + + $needle = (string) $needle; + if ('' === $needle) { + if (80000 > \PHP_VERSION_ID) { + trigger_error(__METHOD__.': Empty delimiter', \E_USER_WARNING); + + return false; + } + + return 0; + } + + return \iconv_strpos($haystack, $needle, $offset, $encoding); + } + + public static function mb_strrpos($haystack, $needle, $offset = 0, $encoding = null) + { + $encoding = self::getEncoding($encoding); + if ('CP850' === $encoding || 'ASCII' === $encoding) { + return strrpos($haystack, $needle, $offset); + } + + if ($offset != (int) $offset) { + $offset = 0; + } elseif ($offset = (int) $offset) { + if ($offset < 0) { + if (0 > $offset += self::mb_strlen($needle)) { + $haystack = self::mb_substr($haystack, 0, $offset, $encoding); + } + $offset = 0; + } else { + $haystack = self::mb_substr($haystack, $offset, 2147483647, $encoding); + } + } + + $pos = '' !== $needle || 80000 > \PHP_VERSION_ID + ? \iconv_strrpos($haystack, $needle, $encoding) + : self::mb_strlen($haystack, $encoding); + + return false !== $pos ? $offset + $pos : false; + } + + public static function mb_str_split($string, $split_length = 1, $encoding = null) + { + if (null !== $string && !is_scalar($string) && !(\is_object($string) && method_exists($string, '__toString'))) { + trigger_error('mb_str_split() expects parameter 1 to be string, '.\gettype($string).' given', \E_USER_WARNING); + + return null; + } + + if (1 > $split_length = (int) $split_length) { + if (80000 > \PHP_VERSION_ID) { + trigger_error('The length of each segment must be greater than zero', \E_USER_WARNING); + return false; + } + + throw new \ValueError('Argument #2 ($length) must be greater than 0'); + } + + if (null === $encoding) { + $encoding = mb_internal_encoding(); + } + + if ('UTF-8' === $encoding = self::getEncoding($encoding)) { + $rx = '/('; + while (65535 < $split_length) { + $rx .= '.{65535}'; + $split_length -= 65535; + } + $rx .= '.{'.$split_length.'})/us'; + + return preg_split($rx, $string, null, \PREG_SPLIT_DELIM_CAPTURE | \PREG_SPLIT_NO_EMPTY); + } + + $result = []; + $length = mb_strlen($string, $encoding); + + for ($i = 0; $i < $length; $i += $split_length) { + $result[] = mb_substr($string, $i, $split_length, $encoding); + } + + return $result; + } + + public static function mb_strtolower($s, $encoding = null) + { + return self::mb_convert_case($s, \MB_CASE_LOWER, $encoding); + } + + public static function mb_strtoupper($s, $encoding = null) + { + return self::mb_convert_case($s, \MB_CASE_UPPER, $encoding); + } + + public static function mb_substitute_character($c = null) + { + if (null === $c) { + return 'none'; + } + if (0 === strcasecmp($c, 'none')) { + return true; + } + if (80000 > \PHP_VERSION_ID) { + return false; + } + if (\is_int($c) || 'long' === $c || 'entity' === $c) { + return false; + } + + throw new \ValueError('Argument #1 ($substitute_character) must be "none", "long", "entity" or a valid codepoint'); + } + + public static function mb_substr($s, $start, $length = null, $encoding = null) + { + $encoding = self::getEncoding($encoding); + if ('CP850' === $encoding || 'ASCII' === $encoding) { + return (string) substr($s, $start, null === $length ? 2147483647 : $length); + } + + if ($start < 0) { + $start = \iconv_strlen($s, $encoding) + $start; + if ($start < 0) { + $start = 0; + } + } + + if (null === $length) { + $length = 2147483647; + } elseif ($length < 0) { + $length = \iconv_strlen($s, $encoding) + $length - $start; + if ($length < 0) { + return ''; + } + } + + return (string) \iconv_substr($s, $start, $length, $encoding); + } + + public static function mb_stripos($haystack, $needle, $offset = 0, $encoding = null) + { + $haystack = self::mb_convert_case($haystack, self::MB_CASE_FOLD, $encoding); + $needle = self::mb_convert_case($needle, self::MB_CASE_FOLD, $encoding); + + return self::mb_strpos($haystack, $needle, $offset, $encoding); + } + + public static function mb_stristr($haystack, $needle, $part = false, $encoding = null) + { + $pos = self::mb_stripos($haystack, $needle, 0, $encoding); + + return self::getSubpart($pos, $part, $haystack, $encoding); + } + + public static function mb_strrchr($haystack, $needle, $part = false, $encoding = null) + { + $encoding = self::getEncoding($encoding); + if ('CP850' === $encoding || 'ASCII' === $encoding) { + $pos = strrpos($haystack, $needle); + } else { + $needle = self::mb_substr($needle, 0, 1, $encoding); + $pos = \iconv_strrpos($haystack, $needle, $encoding); + } + + return self::getSubpart($pos, $part, $haystack, $encoding); + } + + public static function mb_strrichr($haystack, $needle, $part = false, $encoding = null) + { + $needle = self::mb_substr($needle, 0, 1, $encoding); + $pos = self::mb_strripos($haystack, $needle, $encoding); + + return self::getSubpart($pos, $part, $haystack, $encoding); + } + + public static function mb_strripos($haystack, $needle, $offset = 0, $encoding = null) + { + $haystack = self::mb_convert_case($haystack, self::MB_CASE_FOLD, $encoding); + $needle = self::mb_convert_case($needle, self::MB_CASE_FOLD, $encoding); + + return self::mb_strrpos($haystack, $needle, $offset, $encoding); + } + + public static function mb_strstr($haystack, $needle, $part = false, $encoding = null) + { + $pos = strpos($haystack, $needle); + if (false === $pos) { + return false; + } + if ($part) { + return substr($haystack, 0, $pos); + } + + return substr($haystack, $pos); + } + + public static function mb_get_info($type = 'all') + { + $info = [ + 'internal_encoding' => self::$internalEncoding, + 'http_output' => 'pass', + 'http_output_conv_mimetypes' => '^(text/|application/xhtml\+xml)', + 'func_overload' => 0, + 'func_overload_list' => 'no overload', + 'mail_charset' => 'UTF-8', + 'mail_header_encoding' => 'BASE64', + 'mail_body_encoding' => 'BASE64', + 'illegal_chars' => 0, + 'encoding_translation' => 'Off', + 'language' => self::$language, + 'detect_order' => self::$encodingList, + 'substitute_character' => 'none', + 'strict_detection' => 'Off', + ]; + + if ('all' === $type) { + return $info; + } + if (isset($info[$type])) { + return $info[$type]; + } + + return false; + } + + public static function mb_http_input($type = '') + { + return false; + } + + public static function mb_http_output($encoding = null) + { + return null !== $encoding ? 'pass' === $encoding : 'pass'; + } + + public static function mb_strwidth($s, $encoding = null) + { + $encoding = self::getEncoding($encoding); + + if ('UTF-8' !== $encoding) { + $s = \iconv($encoding, 'UTF-8//IGNORE', $s); + } + + $s = preg_replace('/[\x{1100}-\x{115F}\x{2329}\x{232A}\x{2E80}-\x{303E}\x{3040}-\x{A4CF}\x{AC00}-\x{D7A3}\x{F900}-\x{FAFF}\x{FE10}-\x{FE19}\x{FE30}-\x{FE6F}\x{FF00}-\x{FF60}\x{FFE0}-\x{FFE6}\x{20000}-\x{2FFFD}\x{30000}-\x{3FFFD}]/u', '', $s, -1, $wide); + + return ($wide << 1) + \iconv_strlen($s, 'UTF-8'); + } + + public static function mb_substr_count($haystack, $needle, $encoding = null) + { + return substr_count($haystack, $needle); + } + + public static function mb_output_handler($contents, $status) + { + return $contents; + } + + public static function mb_chr($code, $encoding = null) + { + if (0x80 > $code %= 0x200000) { + $s = \chr($code); + } elseif (0x800 > $code) { + $s = \chr(0xC0 | $code >> 6).\chr(0x80 | $code & 0x3F); + } elseif (0x10000 > $code) { + $s = \chr(0xE0 | $code >> 12).\chr(0x80 | $code >> 6 & 0x3F).\chr(0x80 | $code & 0x3F); + } else { + $s = \chr(0xF0 | $code >> 18).\chr(0x80 | $code >> 12 & 0x3F).\chr(0x80 | $code >> 6 & 0x3F).\chr(0x80 | $code & 0x3F); + } + + if ('UTF-8' !== $encoding = self::getEncoding($encoding)) { + $s = mb_convert_encoding($s, $encoding, 'UTF-8'); + } + + return $s; + } + + public static function mb_ord($s, $encoding = null) + { + if ('UTF-8' !== $encoding = self::getEncoding($encoding)) { + $s = mb_convert_encoding($s, 'UTF-8', $encoding); + } + + if (1 === \strlen($s)) { + return \ord($s); + } + + $code = ($s = unpack('C*', substr($s, 0, 4))) ? $s[1] : 0; + if (0xF0 <= $code) { + return (($code - 0xF0) << 18) + (($s[2] - 0x80) << 12) + (($s[3] - 0x80) << 6) + $s[4] - 0x80; + } + if (0xE0 <= $code) { + return (($code - 0xE0) << 12) + (($s[2] - 0x80) << 6) + $s[3] - 0x80; + } + if (0xC0 <= $code) { + return (($code - 0xC0) << 6) + $s[2] - 0x80; + } + + return $code; + } + + private static function getSubpart($pos, $part, $haystack, $encoding) + { + if (false === $pos) { + return false; + } + if ($part) { + return self::mb_substr($haystack, 0, $pos, $encoding); + } + + return self::mb_substr($haystack, $pos, null, $encoding); + } + + private static function html_encoding_callback(array $m) + { + $i = 1; + $entities = ''; + $m = unpack('C*', htmlentities($m[0], \ENT_COMPAT, 'UTF-8')); + + while (isset($m[$i])) { + if (0x80 > $m[$i]) { + $entities .= \chr($m[$i++]); + continue; + } + if (0xF0 <= $m[$i]) { + $c = (($m[$i++] - 0xF0) << 18) + (($m[$i++] - 0x80) << 12) + (($m[$i++] - 0x80) << 6) + $m[$i++] - 0x80; + } elseif (0xE0 <= $m[$i]) { + $c = (($m[$i++] - 0xE0) << 12) + (($m[$i++] - 0x80) << 6) + $m[$i++] - 0x80; + } else { + $c = (($m[$i++] - 0xC0) << 6) + $m[$i++] - 0x80; + } + + $entities .= '&#'.$c.';'; + } + + return $entities; + } + + private static function title_case(array $s) + { + return self::mb_convert_case($s[1], \MB_CASE_UPPER, 'UTF-8').self::mb_convert_case($s[2], \MB_CASE_LOWER, 'UTF-8'); + } + + private static function getData($file) + { + if (file_exists($file = __DIR__.'/Resources/unidata/'.$file.'.php')) { + return require $file; + } + + return false; + } + + private static function getEncoding($encoding) + { + if (null === $encoding) { + return self::$internalEncoding; + } + + if ('UTF-8' === $encoding) { + return 'UTF-8'; + } + + $encoding = strtoupper($encoding); + + if ('8BIT' === $encoding || 'BINARY' === $encoding) { + return 'CP850'; + } + + if ('UTF8' === $encoding) { + return 'UTF-8'; + } + + return $encoding; + } +} diff --git a/pandora_console/vendor/symfony/polyfill-mbstring/README.md b/pandora_console/vendor/symfony/polyfill-mbstring/README.md new file mode 100644 index 0000000000..4efb599d81 --- /dev/null +++ b/pandora_console/vendor/symfony/polyfill-mbstring/README.md @@ -0,0 +1,13 @@ +Symfony Polyfill / Mbstring +=========================== + +This component provides a partial, native PHP implementation for the +[Mbstring](https://php.net/mbstring) extension. + +More information can be found in the +[main Polyfill README](https://github.com/symfony/polyfill/blob/master/README.md). + +License +======= + +This library is released under the [MIT license](LICENSE). diff --git a/pandora_console/vendor/symfony/polyfill-mbstring/Resources/unidata/lowerCase.php b/pandora_console/vendor/symfony/polyfill-mbstring/Resources/unidata/lowerCase.php new file mode 100644 index 0000000000..fac60b081a --- /dev/null +++ b/pandora_console/vendor/symfony/polyfill-mbstring/Resources/unidata/lowerCase.php @@ -0,0 +1,1397 @@ + 'a', + 'B' => 'b', + 'C' => 'c', + 'D' => 'd', + 'E' => 'e', + 'F' => 'f', + 'G' => 'g', + 'H' => 'h', + 'I' => 'i', + 'J' => 'j', + 'K' => 'k', + 'L' => 'l', + 'M' => 'm', + 'N' => 'n', + 'O' => 'o', + 'P' => 'p', + 'Q' => 'q', + 'R' => 'r', + 'S' => 's', + 'T' => 't', + 'U' => 'u', + 'V' => 'v', + 'W' => 'w', + 'X' => 'x', + 'Y' => 'y', + 'Z' => 'z', + 'À' => 'à', + 'Á' => 'á', + 'Â' => 'â', + 'Ã' => 'ã', + 'Ä' => 'ä', + 'Å' => 'å', + 'Æ' => 'æ', + 'Ç' => 'ç', + 'È' => 'è', + 'É' => 'é', + 'Ê' => 'ê', + 'Ë' => 'ë', + 'Ì' => 'ì', + 'Í' => 'í', + 'Î' => 'î', + 'Ï' => 'ï', + 'Ð' => 'ð', + 'Ñ' => 'ñ', + 'Ò' => 'ò', + 'Ó' => 'ó', + 'Ô' => 'ô', + 'Õ' => 'õ', + 'Ö' => 'ö', + 'Ø' => 'ø', + 'Ù' => 'ù', + 'Ú' => 'ú', + 'Û' => 'û', + 'Ü' => 'ü', + 'Ý' => 'ý', + 'Þ' => 'þ', + 'Ā' => 'ā', + 'Ă' => 'ă', + 'Ą' => 'ą', + 'Ć' => 'ć', + 'Ĉ' => 'ĉ', + 'Ċ' => 'ċ', + 'Č' => 'č', + 'Ď' => 'ď', + 'Đ' => 'đ', + 'Ē' => 'ē', + 'Ĕ' => 'ĕ', + 'Ė' => 'ė', + 'Ę' => 'ę', + 'Ě' => 'ě', + 'Ĝ' => 'ĝ', + 'Ğ' => 'ğ', + 'Ġ' => 'ġ', + 'Ģ' => 'ģ', + 'Ĥ' => 'ĥ', + 'Ħ' => 'ħ', + 'Ĩ' => 'ĩ', + 'Ī' => 'ī', + 'Ĭ' => 'ĭ', + 'Į' => 'į', + 'İ' => 'i̇', + 'IJ' => 'ij', + 'Ĵ' => 'ĵ', + 'Ķ' => 'ķ', + 'Ĺ' => 'ĺ', + 'Ļ' => 'ļ', + 'Ľ' => 'ľ', + 'Ŀ' => 'ŀ', + 'Ł' => 'ł', + 'Ń' => 'ń', + 'Ņ' => 'ņ', + 'Ň' => 'ň', + 'Ŋ' => 'ŋ', + 'Ō' => 'ō', + 'Ŏ' => 'ŏ', + 'Ő' => 'ő', + 'Œ' => 'œ', + 'Ŕ' => 'ŕ', + 'Ŗ' => 'ŗ', + 'Ř' => 'ř', + 'Ś' => 'ś', + 'Ŝ' => 'ŝ', + 'Ş' => 'ş', + 'Š' => 'š', + 'Ţ' => 'ţ', + 'Ť' => 'ť', + 'Ŧ' => 'ŧ', + 'Ũ' => 'ũ', + 'Ū' => 'ū', + 'Ŭ' => 'ŭ', + 'Ů' => 'ů', + 'Ű' => 'ű', + 'Ų' => 'ų', + 'Ŵ' => 'ŵ', + 'Ŷ' => 'ŷ', + 'Ÿ' => 'ÿ', + 'Ź' => 'ź', + 'Ż' => 'ż', + 'Ž' => 'ž', + 'Ɓ' => 'ɓ', + 'Ƃ' => 'ƃ', + 'Ƅ' => 'ƅ', + 'Ɔ' => 'ɔ', + 'Ƈ' => 'ƈ', + 'Ɖ' => 'ɖ', + 'Ɗ' => 'ɗ', + 'Ƌ' => 'ƌ', + 'Ǝ' => 'ǝ', + 'Ə' => 'ə', + 'Ɛ' => 'ɛ', + 'Ƒ' => 'ƒ', + 'Ɠ' => 'ɠ', + 'Ɣ' => 'ɣ', + 'Ɩ' => 'ɩ', + 'Ɨ' => 'ɨ', + 'Ƙ' => 'ƙ', + 'Ɯ' => 'ɯ', + 'Ɲ' => 'ɲ', + 'Ɵ' => 'ɵ', + 'Ơ' => 'ơ', + 'Ƣ' => 'ƣ', + 'Ƥ' => 'ƥ', + 'Ʀ' => 'ʀ', + 'Ƨ' => 'ƨ', + 'Ʃ' => 'ʃ', + 'Ƭ' => 'ƭ', + 'Ʈ' => 'ʈ', + 'Ư' => 'ư', + 'Ʊ' => 'ʊ', + 'Ʋ' => 'ʋ', + 'Ƴ' => 'ƴ', + 'Ƶ' => 'ƶ', + 'Ʒ' => 'ʒ', + 'Ƹ' => 'ƹ', + 'Ƽ' => 'ƽ', + 'DŽ' => 'dž', + 'Dž' => 'dž', + 'LJ' => 'lj', + 'Lj' => 'lj', + 'NJ' => 'nj', + 'Nj' => 'nj', + 'Ǎ' => 'ǎ', + 'Ǐ' => 'ǐ', + 'Ǒ' => 'ǒ', + 'Ǔ' => 'ǔ', + 'Ǖ' => 'ǖ', + 'Ǘ' => 'ǘ', + 'Ǚ' => 'ǚ', + 'Ǜ' => 'ǜ', + 'Ǟ' => 'ǟ', + 'Ǡ' => 'ǡ', + 'Ǣ' => 'ǣ', + 'Ǥ' => 'ǥ', + 'Ǧ' => 'ǧ', + 'Ǩ' => 'ǩ', + 'Ǫ' => 'ǫ', + 'Ǭ' => 'ǭ', + 'Ǯ' => 'ǯ', + 'DZ' => 'dz', + 'Dz' => 'dz', + 'Ǵ' => 'ǵ', + 'Ƕ' => 'ƕ', + 'Ƿ' => 'ƿ', + 'Ǹ' => 'ǹ', + 'Ǻ' => 'ǻ', + 'Ǽ' => 'ǽ', + 'Ǿ' => 'ǿ', + 'Ȁ' => 'ȁ', + 'Ȃ' => 'ȃ', + 'Ȅ' => 'ȅ', + 'Ȇ' => 'ȇ', + 'Ȉ' => 'ȉ', + 'Ȋ' => 'ȋ', + 'Ȍ' => 'ȍ', + 'Ȏ' => 'ȏ', + 'Ȑ' => 'ȑ', + 'Ȓ' => 'ȓ', + 'Ȕ' => 'ȕ', + 'Ȗ' => 'ȗ', + 'Ș' => 'ș', + 'Ț' => 'ț', + 'Ȝ' => 'ȝ', + 'Ȟ' => 'ȟ', + 'Ƞ' => 'ƞ', + 'Ȣ' => 'ȣ', + 'Ȥ' => 'ȥ', + 'Ȧ' => 'ȧ', + 'Ȩ' => 'ȩ', + 'Ȫ' => 'ȫ', + 'Ȭ' => 'ȭ', + 'Ȯ' => 'ȯ', + 'Ȱ' => 'ȱ', + 'Ȳ' => 'ȳ', + 'Ⱥ' => 'ⱥ', + 'Ȼ' => 'ȼ', + 'Ƚ' => 'ƚ', + 'Ⱦ' => 'ⱦ', + 'Ɂ' => 'ɂ', + 'Ƀ' => 'ƀ', + 'Ʉ' => 'ʉ', + 'Ʌ' => 'ʌ', + 'Ɇ' => 'ɇ', + 'Ɉ' => 'ɉ', + 'Ɋ' => 'ɋ', + 'Ɍ' => 'ɍ', + 'Ɏ' => 'ɏ', + 'Ͱ' => 'ͱ', + 'Ͳ' => 'ͳ', + 'Ͷ' => 'ͷ', + 'Ϳ' => 'ϳ', + 'Ά' => 'ά', + 'Έ' => 'έ', + 'Ή' => 'ή', + 'Ί' => 'ί', + 'Ό' => 'ό', + 'Ύ' => 'ύ', + 'Ώ' => 'ώ', + 'Α' => 'α', + 'Β' => 'β', + 'Γ' => 'γ', + 'Δ' => 'δ', + 'Ε' => 'ε', + 'Ζ' => 'ζ', + 'Η' => 'η', + 'Θ' => 'θ', + 'Ι' => 'ι', + 'Κ' => 'κ', + 'Λ' => 'λ', + 'Μ' => 'μ', + 'Ν' => 'ν', + 'Ξ' => 'ξ', + 'Ο' => 'ο', + 'Π' => 'π', + 'Ρ' => 'ρ', + 'Σ' => 'σ', + 'Τ' => 'τ', + 'Υ' => 'υ', + 'Φ' => 'φ', + 'Χ' => 'χ', + 'Ψ' => 'ψ', + 'Ω' => 'ω', + 'Ϊ' => 'ϊ', + 'Ϋ' => 'ϋ', + 'Ϗ' => 'ϗ', + 'Ϙ' => 'ϙ', + 'Ϛ' => 'ϛ', + 'Ϝ' => 'ϝ', + 'Ϟ' => 'ϟ', + 'Ϡ' => 'ϡ', + 'Ϣ' => 'ϣ', + 'Ϥ' => 'ϥ', + 'Ϧ' => 'ϧ', + 'Ϩ' => 'ϩ', + 'Ϫ' => 'ϫ', + 'Ϭ' => 'ϭ', + 'Ϯ' => 'ϯ', + 'ϴ' => 'θ', + 'Ϸ' => 'ϸ', + 'Ϲ' => 'ϲ', + 'Ϻ' => 'ϻ', + 'Ͻ' => 'ͻ', + 'Ͼ' => 'ͼ', + 'Ͽ' => 'ͽ', + 'Ѐ' => 'ѐ', + 'Ё' => 'ё', + 'Ђ' => 'ђ', + 'Ѓ' => 'ѓ', + 'Є' => 'є', + 'Ѕ' => 'ѕ', + 'І' => 'і', + 'Ї' => 'ї', + 'Ј' => 'ј', + 'Љ' => 'љ', + 'Њ' => 'њ', + 'Ћ' => 'ћ', + 'Ќ' => 'ќ', + 'Ѝ' => 'ѝ', + 'Ў' => 'ў', + 'Џ' => 'џ', + 'А' => 'а', + 'Б' => 'б', + 'В' => 'в', + 'Г' => 'г', + 'Д' => 'д', + 'Е' => 'е', + 'Ж' => 'ж', + 'З' => 'з', + 'И' => 'и', + 'Й' => 'й', + 'К' => 'к', + 'Л' => 'л', + 'М' => 'м', + 'Н' => 'н', + 'О' => 'о', + 'П' => 'п', + 'Р' => 'р', + 'С' => 'с', + 'Т' => 'т', + 'У' => 'у', + 'Ф' => 'ф', + 'Х' => 'х', + 'Ц' => 'ц', + 'Ч' => 'ч', + 'Ш' => 'ш', + 'Щ' => 'щ', + 'Ъ' => 'ъ', + 'Ы' => 'ы', + 'Ь' => 'ь', + 'Э' => 'э', + 'Ю' => 'ю', + 'Я' => 'я', + 'Ѡ' => 'ѡ', + 'Ѣ' => 'ѣ', + 'Ѥ' => 'ѥ', + 'Ѧ' => 'ѧ', + 'Ѩ' => 'ѩ', + 'Ѫ' => 'ѫ', + 'Ѭ' => 'ѭ', + 'Ѯ' => 'ѯ', + 'Ѱ' => 'ѱ', + 'Ѳ' => 'ѳ', + 'Ѵ' => 'ѵ', + 'Ѷ' => 'ѷ', + 'Ѹ' => 'ѹ', + 'Ѻ' => 'ѻ', + 'Ѽ' => 'ѽ', + 'Ѿ' => 'ѿ', + 'Ҁ' => 'ҁ', + 'Ҋ' => 'ҋ', + 'Ҍ' => 'ҍ', + 'Ҏ' => 'ҏ', + 'Ґ' => 'ґ', + 'Ғ' => 'ғ', + 'Ҕ' => 'ҕ', + 'Җ' => 'җ', + 'Ҙ' => 'ҙ', + 'Қ' => 'қ', + 'Ҝ' => 'ҝ', + 'Ҟ' => 'ҟ', + 'Ҡ' => 'ҡ', + 'Ң' => 'ң', + 'Ҥ' => 'ҥ', + 'Ҧ' => 'ҧ', + 'Ҩ' => 'ҩ', + 'Ҫ' => 'ҫ', + 'Ҭ' => 'ҭ', + 'Ү' => 'ү', + 'Ұ' => 'ұ', + 'Ҳ' => 'ҳ', + 'Ҵ' => 'ҵ', + 'Ҷ' => 'ҷ', + 'Ҹ' => 'ҹ', + 'Һ' => 'һ', + 'Ҽ' => 'ҽ', + 'Ҿ' => 'ҿ', + 'Ӏ' => 'ӏ', + 'Ӂ' => 'ӂ', + 'Ӄ' => 'ӄ', + 'Ӆ' => 'ӆ', + 'Ӈ' => 'ӈ', + 'Ӊ' => 'ӊ', + 'Ӌ' => 'ӌ', + 'Ӎ' => 'ӎ', + 'Ӑ' => 'ӑ', + 'Ӓ' => 'ӓ', + 'Ӕ' => 'ӕ', + 'Ӗ' => 'ӗ', + 'Ә' => 'ә', + 'Ӛ' => 'ӛ', + 'Ӝ' => 'ӝ', + 'Ӟ' => 'ӟ', + 'Ӡ' => 'ӡ', + 'Ӣ' => 'ӣ', + 'Ӥ' => 'ӥ', + 'Ӧ' => 'ӧ', + 'Ө' => 'ө', + 'Ӫ' => 'ӫ', + 'Ӭ' => 'ӭ', + 'Ӯ' => 'ӯ', + 'Ӱ' => 'ӱ', + 'Ӳ' => 'ӳ', + 'Ӵ' => 'ӵ', + 'Ӷ' => 'ӷ', + 'Ӹ' => 'ӹ', + 'Ӻ' => 'ӻ', + 'Ӽ' => 'ӽ', + 'Ӿ' => 'ӿ', + 'Ԁ' => 'ԁ', + 'Ԃ' => 'ԃ', + 'Ԅ' => 'ԅ', + 'Ԇ' => 'ԇ', + 'Ԉ' => 'ԉ', + 'Ԋ' => 'ԋ', + 'Ԍ' => 'ԍ', + 'Ԏ' => 'ԏ', + 'Ԑ' => 'ԑ', + 'Ԓ' => 'ԓ', + 'Ԕ' => 'ԕ', + 'Ԗ' => 'ԗ', + 'Ԙ' => 'ԙ', + 'Ԛ' => 'ԛ', + 'Ԝ' => 'ԝ', + 'Ԟ' => 'ԟ', + 'Ԡ' => 'ԡ', + 'Ԣ' => 'ԣ', + 'Ԥ' => 'ԥ', + 'Ԧ' => 'ԧ', + 'Ԩ' => 'ԩ', + 'Ԫ' => 'ԫ', + 'Ԭ' => 'ԭ', + 'Ԯ' => 'ԯ', + 'Ա' => 'ա', + 'Բ' => 'բ', + 'Գ' => 'գ', + 'Դ' => 'դ', + 'Ե' => 'ե', + 'Զ' => 'զ', + 'Է' => 'է', + 'Ը' => 'ը', + 'Թ' => 'թ', + 'Ժ' => 'ժ', + 'Ի' => 'ի', + 'Լ' => 'լ', + 'Խ' => 'խ', + 'Ծ' => 'ծ', + 'Կ' => 'կ', + 'Հ' => 'հ', + 'Ձ' => 'ձ', + 'Ղ' => 'ղ', + 'Ճ' => 'ճ', + 'Մ' => 'մ', + 'Յ' => 'յ', + 'Ն' => 'ն', + 'Շ' => 'շ', + 'Ո' => 'ո', + 'Չ' => 'չ', + 'Պ' => 'պ', + 'Ջ' => 'ջ', + 'Ռ' => 'ռ', + 'Ս' => 'ս', + 'Վ' => 'վ', + 'Տ' => 'տ', + 'Ր' => 'ր', + 'Ց' => 'ց', + 'Ւ' => 'ւ', + 'Փ' => 'փ', + 'Ք' => 'ք', + 'Օ' => 'օ', + 'Ֆ' => 'ֆ', + 'Ⴀ' => 'ⴀ', + 'Ⴁ' => 'ⴁ', + 'Ⴂ' => 'ⴂ', + 'Ⴃ' => 'ⴃ', + 'Ⴄ' => 'ⴄ', + 'Ⴅ' => 'ⴅ', + 'Ⴆ' => 'ⴆ', + 'Ⴇ' => 'ⴇ', + 'Ⴈ' => 'ⴈ', + 'Ⴉ' => 'ⴉ', + 'Ⴊ' => 'ⴊ', + 'Ⴋ' => 'ⴋ', + 'Ⴌ' => 'ⴌ', + 'Ⴍ' => 'ⴍ', + 'Ⴎ' => 'ⴎ', + 'Ⴏ' => 'ⴏ', + 'Ⴐ' => 'ⴐ', + 'Ⴑ' => 'ⴑ', + 'Ⴒ' => 'ⴒ', + 'Ⴓ' => 'ⴓ', + 'Ⴔ' => 'ⴔ', + 'Ⴕ' => 'ⴕ', + 'Ⴖ' => 'ⴖ', + 'Ⴗ' => 'ⴗ', + 'Ⴘ' => 'ⴘ', + 'Ⴙ' => 'ⴙ', + 'Ⴚ' => 'ⴚ', + 'Ⴛ' => 'ⴛ', + 'Ⴜ' => 'ⴜ', + 'Ⴝ' => 'ⴝ', + 'Ⴞ' => 'ⴞ', + 'Ⴟ' => 'ⴟ', + 'Ⴠ' => 'ⴠ', + 'Ⴡ' => 'ⴡ', + 'Ⴢ' => 'ⴢ', + 'Ⴣ' => 'ⴣ', + 'Ⴤ' => 'ⴤ', + 'Ⴥ' => 'ⴥ', + 'Ⴧ' => 'ⴧ', + 'Ⴭ' => 'ⴭ', + 'Ꭰ' => 'ꭰ', + 'Ꭱ' => 'ꭱ', + 'Ꭲ' => 'ꭲ', + 'Ꭳ' => 'ꭳ', + 'Ꭴ' => 'ꭴ', + 'Ꭵ' => 'ꭵ', + 'Ꭶ' => 'ꭶ', + 'Ꭷ' => 'ꭷ', + 'Ꭸ' => 'ꭸ', + 'Ꭹ' => 'ꭹ', + 'Ꭺ' => 'ꭺ', + 'Ꭻ' => 'ꭻ', + 'Ꭼ' => 'ꭼ', + 'Ꭽ' => 'ꭽ', + 'Ꭾ' => 'ꭾ', + 'Ꭿ' => 'ꭿ', + 'Ꮀ' => 'ꮀ', + 'Ꮁ' => 'ꮁ', + 'Ꮂ' => 'ꮂ', + 'Ꮃ' => 'ꮃ', + 'Ꮄ' => 'ꮄ', + 'Ꮅ' => 'ꮅ', + 'Ꮆ' => 'ꮆ', + 'Ꮇ' => 'ꮇ', + 'Ꮈ' => 'ꮈ', + 'Ꮉ' => 'ꮉ', + 'Ꮊ' => 'ꮊ', + 'Ꮋ' => 'ꮋ', + 'Ꮌ' => 'ꮌ', + 'Ꮍ' => 'ꮍ', + 'Ꮎ' => 'ꮎ', + 'Ꮏ' => 'ꮏ', + 'Ꮐ' => 'ꮐ', + 'Ꮑ' => 'ꮑ', + 'Ꮒ' => 'ꮒ', + 'Ꮓ' => 'ꮓ', + 'Ꮔ' => 'ꮔ', + 'Ꮕ' => 'ꮕ', + 'Ꮖ' => 'ꮖ', + 'Ꮗ' => 'ꮗ', + 'Ꮘ' => 'ꮘ', + 'Ꮙ' => 'ꮙ', + 'Ꮚ' => 'ꮚ', + 'Ꮛ' => 'ꮛ', + 'Ꮜ' => 'ꮜ', + 'Ꮝ' => 'ꮝ', + 'Ꮞ' => 'ꮞ', + 'Ꮟ' => 'ꮟ', + 'Ꮠ' => 'ꮠ', + 'Ꮡ' => 'ꮡ', + 'Ꮢ' => 'ꮢ', + 'Ꮣ' => 'ꮣ', + 'Ꮤ' => 'ꮤ', + 'Ꮥ' => 'ꮥ', + 'Ꮦ' => 'ꮦ', + 'Ꮧ' => 'ꮧ', + 'Ꮨ' => 'ꮨ', + 'Ꮩ' => 'ꮩ', + 'Ꮪ' => 'ꮪ', + 'Ꮫ' => 'ꮫ', + 'Ꮬ' => 'ꮬ', + 'Ꮭ' => 'ꮭ', + 'Ꮮ' => 'ꮮ', + 'Ꮯ' => 'ꮯ', + 'Ꮰ' => 'ꮰ', + 'Ꮱ' => 'ꮱ', + 'Ꮲ' => 'ꮲ', + 'Ꮳ' => 'ꮳ', + 'Ꮴ' => 'ꮴ', + 'Ꮵ' => 'ꮵ', + 'Ꮶ' => 'ꮶ', + 'Ꮷ' => 'ꮷ', + 'Ꮸ' => 'ꮸ', + 'Ꮹ' => 'ꮹ', + 'Ꮺ' => 'ꮺ', + 'Ꮻ' => 'ꮻ', + 'Ꮼ' => 'ꮼ', + 'Ꮽ' => 'ꮽ', + 'Ꮾ' => 'ꮾ', + 'Ꮿ' => 'ꮿ', + 'Ᏸ' => 'ᏸ', + 'Ᏹ' => 'ᏹ', + 'Ᏺ' => 'ᏺ', + 'Ᏻ' => 'ᏻ', + 'Ᏼ' => 'ᏼ', + 'Ᏽ' => 'ᏽ', + 'Ა' => 'ა', + 'Ბ' => 'ბ', + 'Გ' => 'გ', + 'Დ' => 'დ', + 'Ე' => 'ე', + 'Ვ' => 'ვ', + 'Ზ' => 'ზ', + 'Თ' => 'თ', + 'Ი' => 'ი', + 'Კ' => 'კ', + 'Ლ' => 'ლ', + 'Მ' => 'მ', + 'Ნ' => 'ნ', + 'Ო' => 'ო', + 'Პ' => 'პ', + 'Ჟ' => 'ჟ', + 'Რ' => 'რ', + 'Ს' => 'ს', + 'Ტ' => 'ტ', + 'Უ' => 'უ', + 'Ფ' => 'ფ', + 'Ქ' => 'ქ', + 'Ღ' => 'ღ', + 'Ყ' => 'ყ', + 'Შ' => 'შ', + 'Ჩ' => 'ჩ', + 'Ც' => 'ც', + 'Ძ' => 'ძ', + 'Წ' => 'წ', + 'Ჭ' => 'ჭ', + 'Ხ' => 'ხ', + 'Ჯ' => 'ჯ', + 'Ჰ' => 'ჰ', + 'Ჱ' => 'ჱ', + 'Ჲ' => 'ჲ', + 'Ჳ' => 'ჳ', + 'Ჴ' => 'ჴ', + 'Ჵ' => 'ჵ', + 'Ჶ' => 'ჶ', + 'Ჷ' => 'ჷ', + 'Ჸ' => 'ჸ', + 'Ჹ' => 'ჹ', + 'Ჺ' => 'ჺ', + 'Ჽ' => 'ჽ', + 'Ჾ' => 'ჾ', + 'Ჿ' => 'ჿ', + 'Ḁ' => 'ḁ', + 'Ḃ' => 'ḃ', + 'Ḅ' => 'ḅ', + 'Ḇ' => 'ḇ', + 'Ḉ' => 'ḉ', + 'Ḋ' => 'ḋ', + 'Ḍ' => 'ḍ', + 'Ḏ' => 'ḏ', + 'Ḑ' => 'ḑ', + 'Ḓ' => 'ḓ', + 'Ḕ' => 'ḕ', + 'Ḗ' => 'ḗ', + 'Ḙ' => 'ḙ', + 'Ḛ' => 'ḛ', + 'Ḝ' => 'ḝ', + 'Ḟ' => 'ḟ', + 'Ḡ' => 'ḡ', + 'Ḣ' => 'ḣ', + 'Ḥ' => 'ḥ', + 'Ḧ' => 'ḧ', + 'Ḩ' => 'ḩ', + 'Ḫ' => 'ḫ', + 'Ḭ' => 'ḭ', + 'Ḯ' => 'ḯ', + 'Ḱ' => 'ḱ', + 'Ḳ' => 'ḳ', + 'Ḵ' => 'ḵ', + 'Ḷ' => 'ḷ', + 'Ḹ' => 'ḹ', + 'Ḻ' => 'ḻ', + 'Ḽ' => 'ḽ', + 'Ḿ' => 'ḿ', + 'Ṁ' => 'ṁ', + 'Ṃ' => 'ṃ', + 'Ṅ' => 'ṅ', + 'Ṇ' => 'ṇ', + 'Ṉ' => 'ṉ', + 'Ṋ' => 'ṋ', + 'Ṍ' => 'ṍ', + 'Ṏ' => 'ṏ', + 'Ṑ' => 'ṑ', + 'Ṓ' => 'ṓ', + 'Ṕ' => 'ṕ', + 'Ṗ' => 'ṗ', + 'Ṙ' => 'ṙ', + 'Ṛ' => 'ṛ', + 'Ṝ' => 'ṝ', + 'Ṟ' => 'ṟ', + 'Ṡ' => 'ṡ', + 'Ṣ' => 'ṣ', + 'Ṥ' => 'ṥ', + 'Ṧ' => 'ṧ', + 'Ṩ' => 'ṩ', + 'Ṫ' => 'ṫ', + 'Ṭ' => 'ṭ', + 'Ṯ' => 'ṯ', + 'Ṱ' => 'ṱ', + 'Ṳ' => 'ṳ', + 'Ṵ' => 'ṵ', + 'Ṷ' => 'ṷ', + 'Ṹ' => 'ṹ', + 'Ṻ' => 'ṻ', + 'Ṽ' => 'ṽ', + 'Ṿ' => 'ṿ', + 'Ẁ' => 'ẁ', + 'Ẃ' => 'ẃ', + 'Ẅ' => 'ẅ', + 'Ẇ' => 'ẇ', + 'Ẉ' => 'ẉ', + 'Ẋ' => 'ẋ', + 'Ẍ' => 'ẍ', + 'Ẏ' => 'ẏ', + 'Ẑ' => 'ẑ', + 'Ẓ' => 'ẓ', + 'Ẕ' => 'ẕ', + 'ẞ' => 'ß', + 'Ạ' => 'ạ', + 'Ả' => 'ả', + 'Ấ' => 'ấ', + 'Ầ' => 'ầ', + 'Ẩ' => 'ẩ', + 'Ẫ' => 'ẫ', + 'Ậ' => 'ậ', + 'Ắ' => 'ắ', + 'Ằ' => 'ằ', + 'Ẳ' => 'ẳ', + 'Ẵ' => 'ẵ', + 'Ặ' => 'ặ', + 'Ẹ' => 'ẹ', + 'Ẻ' => 'ẻ', + 'Ẽ' => 'ẽ', + 'Ế' => 'ế', + 'Ề' => 'ề', + 'Ể' => 'ể', + 'Ễ' => 'ễ', + 'Ệ' => 'ệ', + 'Ỉ' => 'ỉ', + 'Ị' => 'ị', + 'Ọ' => 'ọ', + 'Ỏ' => 'ỏ', + 'Ố' => 'ố', + 'Ồ' => 'ồ', + 'Ổ' => 'ổ', + 'Ỗ' => 'ỗ', + 'Ộ' => 'ộ', + 'Ớ' => 'ớ', + 'Ờ' => 'ờ', + 'Ở' => 'ở', + 'Ỡ' => 'ỡ', + 'Ợ' => 'ợ', + 'Ụ' => 'ụ', + 'Ủ' => 'ủ', + 'Ứ' => 'ứ', + 'Ừ' => 'ừ', + 'Ử' => 'ử', + 'Ữ' => 'ữ', + 'Ự' => 'ự', + 'Ỳ' => 'ỳ', + 'Ỵ' => 'ỵ', + 'Ỷ' => 'ỷ', + 'Ỹ' => 'ỹ', + 'Ỻ' => 'ỻ', + 'Ỽ' => 'ỽ', + 'Ỿ' => 'ỿ', + 'Ἀ' => 'ἀ', + 'Ἁ' => 'ἁ', + 'Ἂ' => 'ἂ', + 'Ἃ' => 'ἃ', + 'Ἄ' => 'ἄ', + 'Ἅ' => 'ἅ', + 'Ἆ' => 'ἆ', + 'Ἇ' => 'ἇ', + 'Ἐ' => 'ἐ', + 'Ἑ' => 'ἑ', + 'Ἒ' => 'ἒ', + 'Ἓ' => 'ἓ', + 'Ἔ' => 'ἔ', + 'Ἕ' => 'ἕ', + 'Ἠ' => 'ἠ', + 'Ἡ' => 'ἡ', + 'Ἢ' => 'ἢ', + 'Ἣ' => 'ἣ', + 'Ἤ' => 'ἤ', + 'Ἥ' => 'ἥ', + 'Ἦ' => 'ἦ', + 'Ἧ' => 'ἧ', + 'Ἰ' => 'ἰ', + 'Ἱ' => 'ἱ', + 'Ἲ' => 'ἲ', + 'Ἳ' => 'ἳ', + 'Ἴ' => 'ἴ', + 'Ἵ' => 'ἵ', + 'Ἶ' => 'ἶ', + 'Ἷ' => 'ἷ', + 'Ὀ' => 'ὀ', + 'Ὁ' => 'ὁ', + 'Ὂ' => 'ὂ', + 'Ὃ' => 'ὃ', + 'Ὄ' => 'ὄ', + 'Ὅ' => 'ὅ', + 'Ὑ' => 'ὑ', + 'Ὓ' => 'ὓ', + 'Ὕ' => 'ὕ', + 'Ὗ' => 'ὗ', + 'Ὠ' => 'ὠ', + 'Ὡ' => 'ὡ', + 'Ὢ' => 'ὢ', + 'Ὣ' => 'ὣ', + 'Ὤ' => 'ὤ', + 'Ὥ' => 'ὥ', + 'Ὦ' => 'ὦ', + 'Ὧ' => 'ὧ', + 'ᾈ' => 'ᾀ', + 'ᾉ' => 'ᾁ', + 'ᾊ' => 'ᾂ', + 'ᾋ' => 'ᾃ', + 'ᾌ' => 'ᾄ', + 'ᾍ' => 'ᾅ', + 'ᾎ' => 'ᾆ', + 'ᾏ' => 'ᾇ', + 'ᾘ' => 'ᾐ', + 'ᾙ' => 'ᾑ', + 'ᾚ' => 'ᾒ', + 'ᾛ' => 'ᾓ', + 'ᾜ' => 'ᾔ', + 'ᾝ' => 'ᾕ', + 'ᾞ' => 'ᾖ', + 'ᾟ' => 'ᾗ', + 'ᾨ' => 'ᾠ', + 'ᾩ' => 'ᾡ', + 'ᾪ' => 'ᾢ', + 'ᾫ' => 'ᾣ', + 'ᾬ' => 'ᾤ', + 'ᾭ' => 'ᾥ', + 'ᾮ' => 'ᾦ', + 'ᾯ' => 'ᾧ', + 'Ᾰ' => 'ᾰ', + 'Ᾱ' => 'ᾱ', + 'Ὰ' => 'ὰ', + 'Ά' => 'ά', + 'ᾼ' => 'ᾳ', + 'Ὲ' => 'ὲ', + 'Έ' => 'έ', + 'Ὴ' => 'ὴ', + 'Ή' => 'ή', + 'ῌ' => 'ῃ', + 'Ῐ' => 'ῐ', + 'Ῑ' => 'ῑ', + 'Ὶ' => 'ὶ', + 'Ί' => 'ί', + 'Ῠ' => 'ῠ', + 'Ῡ' => 'ῡ', + 'Ὺ' => 'ὺ', + 'Ύ' => 'ύ', + 'Ῥ' => 'ῥ', + 'Ὸ' => 'ὸ', + 'Ό' => 'ό', + 'Ὼ' => 'ὼ', + 'Ώ' => 'ώ', + 'ῼ' => 'ῳ', + 'Ω' => 'ω', + 'K' => 'k', + 'Å' => 'å', + 'Ⅎ' => 'ⅎ', + 'Ⅰ' => 'ⅰ', + 'Ⅱ' => 'ⅱ', + 'Ⅲ' => 'ⅲ', + 'Ⅳ' => 'ⅳ', + 'Ⅴ' => 'ⅴ', + 'Ⅵ' => 'ⅵ', + 'Ⅶ' => 'ⅶ', + 'Ⅷ' => 'ⅷ', + 'Ⅸ' => 'ⅸ', + 'Ⅹ' => 'ⅹ', + 'Ⅺ' => 'ⅺ', + 'Ⅻ' => 'ⅻ', + 'Ⅼ' => 'ⅼ', + 'Ⅽ' => 'ⅽ', + 'Ⅾ' => 'ⅾ', + 'Ⅿ' => 'ⅿ', + 'Ↄ' => 'ↄ', + 'Ⓐ' => 'ⓐ', + 'Ⓑ' => 'ⓑ', + 'Ⓒ' => 'ⓒ', + 'Ⓓ' => 'ⓓ', + 'Ⓔ' => 'ⓔ', + 'Ⓕ' => 'ⓕ', + 'Ⓖ' => 'ⓖ', + 'Ⓗ' => 'ⓗ', + 'Ⓘ' => 'ⓘ', + 'Ⓙ' => 'ⓙ', + 'Ⓚ' => 'ⓚ', + 'Ⓛ' => 'ⓛ', + 'Ⓜ' => 'ⓜ', + 'Ⓝ' => 'ⓝ', + 'Ⓞ' => 'ⓞ', + 'Ⓟ' => 'ⓟ', + 'Ⓠ' => 'ⓠ', + 'Ⓡ' => 'ⓡ', + 'Ⓢ' => 'ⓢ', + 'Ⓣ' => 'ⓣ', + 'Ⓤ' => 'ⓤ', + 'Ⓥ' => 'ⓥ', + 'Ⓦ' => 'ⓦ', + 'Ⓧ' => 'ⓧ', + 'Ⓨ' => 'ⓨ', + 'Ⓩ' => 'ⓩ', + 'Ⰰ' => 'ⰰ', + 'Ⰱ' => 'ⰱ', + 'Ⰲ' => 'ⰲ', + 'Ⰳ' => 'ⰳ', + 'Ⰴ' => 'ⰴ', + 'Ⰵ' => 'ⰵ', + 'Ⰶ' => 'ⰶ', + 'Ⰷ' => 'ⰷ', + 'Ⰸ' => 'ⰸ', + 'Ⰹ' => 'ⰹ', + 'Ⰺ' => 'ⰺ', + 'Ⰻ' => 'ⰻ', + 'Ⰼ' => 'ⰼ', + 'Ⰽ' => 'ⰽ', + 'Ⰾ' => 'ⰾ', + 'Ⰿ' => 'ⰿ', + 'Ⱀ' => 'ⱀ', + 'Ⱁ' => 'ⱁ', + 'Ⱂ' => 'ⱂ', + 'Ⱃ' => 'ⱃ', + 'Ⱄ' => 'ⱄ', + 'Ⱅ' => 'ⱅ', + 'Ⱆ' => 'ⱆ', + 'Ⱇ' => 'ⱇ', + 'Ⱈ' => 'ⱈ', + 'Ⱉ' => 'ⱉ', + 'Ⱊ' => 'ⱊ', + 'Ⱋ' => 'ⱋ', + 'Ⱌ' => 'ⱌ', + 'Ⱍ' => 'ⱍ', + 'Ⱎ' => 'ⱎ', + 'Ⱏ' => 'ⱏ', + 'Ⱐ' => 'ⱐ', + 'Ⱑ' => 'ⱑ', + 'Ⱒ' => 'ⱒ', + 'Ⱓ' => 'ⱓ', + 'Ⱔ' => 'ⱔ', + 'Ⱕ' => 'ⱕ', + 'Ⱖ' => 'ⱖ', + 'Ⱗ' => 'ⱗ', + 'Ⱘ' => 'ⱘ', + 'Ⱙ' => 'ⱙ', + 'Ⱚ' => 'ⱚ', + 'Ⱛ' => 'ⱛ', + 'Ⱜ' => 'ⱜ', + 'Ⱝ' => 'ⱝ', + 'Ⱞ' => 'ⱞ', + 'Ⱡ' => 'ⱡ', + 'Ɫ' => 'ɫ', + 'Ᵽ' => 'ᵽ', + 'Ɽ' => 'ɽ', + 'Ⱨ' => 'ⱨ', + 'Ⱪ' => 'ⱪ', + 'Ⱬ' => 'ⱬ', + 'Ɑ' => 'ɑ', + 'Ɱ' => 'ɱ', + 'Ɐ' => 'ɐ', + 'Ɒ' => 'ɒ', + 'Ⱳ' => 'ⱳ', + 'Ⱶ' => 'ⱶ', + 'Ȿ' => 'ȿ', + 'Ɀ' => 'ɀ', + 'Ⲁ' => 'ⲁ', + 'Ⲃ' => 'ⲃ', + 'Ⲅ' => 'ⲅ', + 'Ⲇ' => 'ⲇ', + 'Ⲉ' => 'ⲉ', + 'Ⲋ' => 'ⲋ', + 'Ⲍ' => 'ⲍ', + 'Ⲏ' => 'ⲏ', + 'Ⲑ' => 'ⲑ', + 'Ⲓ' => 'ⲓ', + 'Ⲕ' => 'ⲕ', + 'Ⲗ' => 'ⲗ', + 'Ⲙ' => 'ⲙ', + 'Ⲛ' => 'ⲛ', + 'Ⲝ' => 'ⲝ', + 'Ⲟ' => 'ⲟ', + 'Ⲡ' => 'ⲡ', + 'Ⲣ' => 'ⲣ', + 'Ⲥ' => 'ⲥ', + 'Ⲧ' => 'ⲧ', + 'Ⲩ' => 'ⲩ', + 'Ⲫ' => 'ⲫ', + 'Ⲭ' => 'ⲭ', + 'Ⲯ' => 'ⲯ', + 'Ⲱ' => 'ⲱ', + 'Ⲳ' => 'ⲳ', + 'Ⲵ' => 'ⲵ', + 'Ⲷ' => 'ⲷ', + 'Ⲹ' => 'ⲹ', + 'Ⲻ' => 'ⲻ', + 'Ⲽ' => 'ⲽ', + 'Ⲿ' => 'ⲿ', + 'Ⳁ' => 'ⳁ', + 'Ⳃ' => 'ⳃ', + 'Ⳅ' => 'ⳅ', + 'Ⳇ' => 'ⳇ', + 'Ⳉ' => 'ⳉ', + 'Ⳋ' => 'ⳋ', + 'Ⳍ' => 'ⳍ', + 'Ⳏ' => 'ⳏ', + 'Ⳑ' => 'ⳑ', + 'Ⳓ' => 'ⳓ', + 'Ⳕ' => 'ⳕ', + 'Ⳗ' => 'ⳗ', + 'Ⳙ' => 'ⳙ', + 'Ⳛ' => 'ⳛ', + 'Ⳝ' => 'ⳝ', + 'Ⳟ' => 'ⳟ', + 'Ⳡ' => 'ⳡ', + 'Ⳣ' => 'ⳣ', + 'Ⳬ' => 'ⳬ', + 'Ⳮ' => 'ⳮ', + 'Ⳳ' => 'ⳳ', + 'Ꙁ' => 'ꙁ', + 'Ꙃ' => 'ꙃ', + 'Ꙅ' => 'ꙅ', + 'Ꙇ' => 'ꙇ', + 'Ꙉ' => 'ꙉ', + 'Ꙋ' => 'ꙋ', + 'Ꙍ' => 'ꙍ', + 'Ꙏ' => 'ꙏ', + 'Ꙑ' => 'ꙑ', + 'Ꙓ' => 'ꙓ', + 'Ꙕ' => 'ꙕ', + 'Ꙗ' => 'ꙗ', + 'Ꙙ' => 'ꙙ', + 'Ꙛ' => 'ꙛ', + 'Ꙝ' => 'ꙝ', + 'Ꙟ' => 'ꙟ', + 'Ꙡ' => 'ꙡ', + 'Ꙣ' => 'ꙣ', + 'Ꙥ' => 'ꙥ', + 'Ꙧ' => 'ꙧ', + 'Ꙩ' => 'ꙩ', + 'Ꙫ' => 'ꙫ', + 'Ꙭ' => 'ꙭ', + 'Ꚁ' => 'ꚁ', + 'Ꚃ' => 'ꚃ', + 'Ꚅ' => 'ꚅ', + 'Ꚇ' => 'ꚇ', + 'Ꚉ' => 'ꚉ', + 'Ꚋ' => 'ꚋ', + 'Ꚍ' => 'ꚍ', + 'Ꚏ' => 'ꚏ', + 'Ꚑ' => 'ꚑ', + 'Ꚓ' => 'ꚓ', + 'Ꚕ' => 'ꚕ', + 'Ꚗ' => 'ꚗ', + 'Ꚙ' => 'ꚙ', + 'Ꚛ' => 'ꚛ', + 'Ꜣ' => 'ꜣ', + 'Ꜥ' => 'ꜥ', + 'Ꜧ' => 'ꜧ', + 'Ꜩ' => 'ꜩ', + 'Ꜫ' => 'ꜫ', + 'Ꜭ' => 'ꜭ', + 'Ꜯ' => 'ꜯ', + 'Ꜳ' => 'ꜳ', + 'Ꜵ' => 'ꜵ', + 'Ꜷ' => 'ꜷ', + 'Ꜹ' => 'ꜹ', + 'Ꜻ' => 'ꜻ', + 'Ꜽ' => 'ꜽ', + 'Ꜿ' => 'ꜿ', + 'Ꝁ' => 'ꝁ', + 'Ꝃ' => 'ꝃ', + 'Ꝅ' => 'ꝅ', + 'Ꝇ' => 'ꝇ', + 'Ꝉ' => 'ꝉ', + 'Ꝋ' => 'ꝋ', + 'Ꝍ' => 'ꝍ', + 'Ꝏ' => 'ꝏ', + 'Ꝑ' => 'ꝑ', + 'Ꝓ' => 'ꝓ', + 'Ꝕ' => 'ꝕ', + 'Ꝗ' => 'ꝗ', + 'Ꝙ' => 'ꝙ', + 'Ꝛ' => 'ꝛ', + 'Ꝝ' => 'ꝝ', + 'Ꝟ' => 'ꝟ', + 'Ꝡ' => 'ꝡ', + 'Ꝣ' => 'ꝣ', + 'Ꝥ' => 'ꝥ', + 'Ꝧ' => 'ꝧ', + 'Ꝩ' => 'ꝩ', + 'Ꝫ' => 'ꝫ', + 'Ꝭ' => 'ꝭ', + 'Ꝯ' => 'ꝯ', + 'Ꝺ' => 'ꝺ', + 'Ꝼ' => 'ꝼ', + 'Ᵹ' => 'ᵹ', + 'Ꝿ' => 'ꝿ', + 'Ꞁ' => 'ꞁ', + 'Ꞃ' => 'ꞃ', + 'Ꞅ' => 'ꞅ', + 'Ꞇ' => 'ꞇ', + 'Ꞌ' => 'ꞌ', + 'Ɥ' => 'ɥ', + 'Ꞑ' => 'ꞑ', + 'Ꞓ' => 'ꞓ', + 'Ꞗ' => 'ꞗ', + 'Ꞙ' => 'ꞙ', + 'Ꞛ' => 'ꞛ', + 'Ꞝ' => 'ꞝ', + 'Ꞟ' => 'ꞟ', + 'Ꞡ' => 'ꞡ', + 'Ꞣ' => 'ꞣ', + 'Ꞥ' => 'ꞥ', + 'Ꞧ' => 'ꞧ', + 'Ꞩ' => 'ꞩ', + 'Ɦ' => 'ɦ', + 'Ɜ' => 'ɜ', + 'Ɡ' => 'ɡ', + 'Ɬ' => 'ɬ', + 'Ɪ' => 'ɪ', + 'Ʞ' => 'ʞ', + 'Ʇ' => 'ʇ', + 'Ʝ' => 'ʝ', + 'Ꭓ' => 'ꭓ', + 'Ꞵ' => 'ꞵ', + 'Ꞷ' => 'ꞷ', + 'Ꞹ' => 'ꞹ', + 'Ꞻ' => 'ꞻ', + 'Ꞽ' => 'ꞽ', + 'Ꞿ' => 'ꞿ', + 'Ꟃ' => 'ꟃ', + 'Ꞔ' => 'ꞔ', + 'Ʂ' => 'ʂ', + 'Ᶎ' => 'ᶎ', + 'Ꟈ' => 'ꟈ', + 'Ꟊ' => 'ꟊ', + 'Ꟶ' => 'ꟶ', + 'A' => 'a', + 'B' => 'b', + 'C' => 'c', + 'D' => 'd', + 'E' => 'e', + 'F' => 'f', + 'G' => 'g', + 'H' => 'h', + 'I' => 'i', + 'J' => 'j', + 'K' => 'k', + 'L' => 'l', + 'M' => 'm', + 'N' => 'n', + 'O' => 'o', + 'P' => 'p', + 'Q' => 'q', + 'R' => 'r', + 'S' => 's', + 'T' => 't', + 'U' => 'u', + 'V' => 'v', + 'W' => 'w', + 'X' => 'x', + 'Y' => 'y', + 'Z' => 'z', + '𐐀' => '𐐨', + '𐐁' => '𐐩', + '𐐂' => '𐐪', + '𐐃' => '𐐫', + '𐐄' => '𐐬', + '𐐅' => '𐐭', + '𐐆' => '𐐮', + '𐐇' => '𐐯', + '𐐈' => '𐐰', + '𐐉' => '𐐱', + '𐐊' => '𐐲', + '𐐋' => '𐐳', + '𐐌' => '𐐴', + '𐐍' => '𐐵', + '𐐎' => '𐐶', + '𐐏' => '𐐷', + '𐐐' => '𐐸', + '𐐑' => '𐐹', + '𐐒' => '𐐺', + '𐐓' => '𐐻', + '𐐔' => '𐐼', + '𐐕' => '𐐽', + '𐐖' => '𐐾', + '𐐗' => '𐐿', + '𐐘' => '𐑀', + '𐐙' => '𐑁', + '𐐚' => '𐑂', + '𐐛' => '𐑃', + '𐐜' => '𐑄', + '𐐝' => '𐑅', + '𐐞' => '𐑆', + '𐐟' => '𐑇', + '𐐠' => '𐑈', + '𐐡' => '𐑉', + '𐐢' => '𐑊', + '𐐣' => '𐑋', + '𐐤' => '𐑌', + '𐐥' => '𐑍', + '𐐦' => '𐑎', + '𐐧' => '𐑏', + '𐒰' => '𐓘', + '𐒱' => '𐓙', + '𐒲' => '𐓚', + '𐒳' => '𐓛', + '𐒴' => '𐓜', + '𐒵' => '𐓝', + '𐒶' => '𐓞', + '𐒷' => '𐓟', + '𐒸' => '𐓠', + '𐒹' => '𐓡', + '𐒺' => '𐓢', + '𐒻' => '𐓣', + '𐒼' => '𐓤', + '𐒽' => '𐓥', + '𐒾' => '𐓦', + '𐒿' => '𐓧', + '𐓀' => '𐓨', + '𐓁' => '𐓩', + '𐓂' => '𐓪', + '𐓃' => '𐓫', + '𐓄' => '𐓬', + '𐓅' => '𐓭', + '𐓆' => '𐓮', + '𐓇' => '𐓯', + '𐓈' => '𐓰', + '𐓉' => '𐓱', + '𐓊' => '𐓲', + '𐓋' => '𐓳', + '𐓌' => '𐓴', + '𐓍' => '𐓵', + '𐓎' => '𐓶', + '𐓏' => '𐓷', + '𐓐' => '𐓸', + '𐓑' => '𐓹', + '𐓒' => '𐓺', + '𐓓' => '𐓻', + '𐲀' => '𐳀', + '𐲁' => '𐳁', + '𐲂' => '𐳂', + '𐲃' => '𐳃', + '𐲄' => '𐳄', + '𐲅' => '𐳅', + '𐲆' => '𐳆', + '𐲇' => '𐳇', + '𐲈' => '𐳈', + '𐲉' => '𐳉', + '𐲊' => '𐳊', + '𐲋' => '𐳋', + '𐲌' => '𐳌', + '𐲍' => '𐳍', + '𐲎' => '𐳎', + '𐲏' => '𐳏', + '𐲐' => '𐳐', + '𐲑' => '𐳑', + '𐲒' => '𐳒', + '𐲓' => '𐳓', + '𐲔' => '𐳔', + '𐲕' => '𐳕', + '𐲖' => '𐳖', + '𐲗' => '𐳗', + '𐲘' => '𐳘', + '𐲙' => '𐳙', + '𐲚' => '𐳚', + '𐲛' => '𐳛', + '𐲜' => '𐳜', + '𐲝' => '𐳝', + '𐲞' => '𐳞', + '𐲟' => '𐳟', + '𐲠' => '𐳠', + '𐲡' => '𐳡', + '𐲢' => '𐳢', + '𐲣' => '𐳣', + '𐲤' => '𐳤', + '𐲥' => '𐳥', + '𐲦' => '𐳦', + '𐲧' => '𐳧', + '𐲨' => '𐳨', + '𐲩' => '𐳩', + '𐲪' => '𐳪', + '𐲫' => '𐳫', + '𐲬' => '𐳬', + '𐲭' => '𐳭', + '𐲮' => '𐳮', + '𐲯' => '𐳯', + '𐲰' => '𐳰', + '𐲱' => '𐳱', + '𐲲' => '𐳲', + '𑢠' => '𑣀', + '𑢡' => '𑣁', + '𑢢' => '𑣂', + '𑢣' => '𑣃', + '𑢤' => '𑣄', + '𑢥' => '𑣅', + '𑢦' => '𑣆', + '𑢧' => '𑣇', + '𑢨' => '𑣈', + '𑢩' => '𑣉', + '𑢪' => '𑣊', + '𑢫' => '𑣋', + '𑢬' => '𑣌', + '𑢭' => '𑣍', + '𑢮' => '𑣎', + '𑢯' => '𑣏', + '𑢰' => '𑣐', + '𑢱' => '𑣑', + '𑢲' => '𑣒', + '𑢳' => '𑣓', + '𑢴' => '𑣔', + '𑢵' => '𑣕', + '𑢶' => '𑣖', + '𑢷' => '𑣗', + '𑢸' => '𑣘', + '𑢹' => '𑣙', + '𑢺' => '𑣚', + '𑢻' => '𑣛', + '𑢼' => '𑣜', + '𑢽' => '𑣝', + '𑢾' => '𑣞', + '𑢿' => '𑣟', + '𖹀' => '𖹠', + '𖹁' => '𖹡', + '𖹂' => '𖹢', + '𖹃' => '𖹣', + '𖹄' => '𖹤', + '𖹅' => '𖹥', + '𖹆' => '𖹦', + '𖹇' => '𖹧', + '𖹈' => '𖹨', + '𖹉' => '𖹩', + '𖹊' => '𖹪', + '𖹋' => '𖹫', + '𖹌' => '𖹬', + '𖹍' => '𖹭', + '𖹎' => '𖹮', + '𖹏' => '𖹯', + '𖹐' => '𖹰', + '𖹑' => '𖹱', + '𖹒' => '𖹲', + '𖹓' => '𖹳', + '𖹔' => '𖹴', + '𖹕' => '𖹵', + '𖹖' => '𖹶', + '𖹗' => '𖹷', + '𖹘' => '𖹸', + '𖹙' => '𖹹', + '𖹚' => '𖹺', + '𖹛' => '𖹻', + '𖹜' => '𖹼', + '𖹝' => '𖹽', + '𖹞' => '𖹾', + '𖹟' => '𖹿', + '𞤀' => '𞤢', + '𞤁' => '𞤣', + '𞤂' => '𞤤', + '𞤃' => '𞤥', + '𞤄' => '𞤦', + '𞤅' => '𞤧', + '𞤆' => '𞤨', + '𞤇' => '𞤩', + '𞤈' => '𞤪', + '𞤉' => '𞤫', + '𞤊' => '𞤬', + '𞤋' => '𞤭', + '𞤌' => '𞤮', + '𞤍' => '𞤯', + '𞤎' => '𞤰', + '𞤏' => '𞤱', + '𞤐' => '𞤲', + '𞤑' => '𞤳', + '𞤒' => '𞤴', + '𞤓' => '𞤵', + '𞤔' => '𞤶', + '𞤕' => '𞤷', + '𞤖' => '𞤸', + '𞤗' => '𞤹', + '𞤘' => '𞤺', + '𞤙' => '𞤻', + '𞤚' => '𞤼', + '𞤛' => '𞤽', + '𞤜' => '𞤾', + '𞤝' => '𞤿', + '𞤞' => '𞥀', + '𞤟' => '𞥁', + '𞤠' => '𞥂', + '𞤡' => '𞥃', +); diff --git a/pandora_console/vendor/symfony/polyfill-mbstring/Resources/unidata/titleCaseRegexp.php b/pandora_console/vendor/symfony/polyfill-mbstring/Resources/unidata/titleCaseRegexp.php new file mode 100644 index 0000000000..2a8f6e73b9 --- /dev/null +++ b/pandora_console/vendor/symfony/polyfill-mbstring/Resources/unidata/titleCaseRegexp.php @@ -0,0 +1,5 @@ + 'A', + 'b' => 'B', + 'c' => 'C', + 'd' => 'D', + 'e' => 'E', + 'f' => 'F', + 'g' => 'G', + 'h' => 'H', + 'i' => 'I', + 'j' => 'J', + 'k' => 'K', + 'l' => 'L', + 'm' => 'M', + 'n' => 'N', + 'o' => 'O', + 'p' => 'P', + 'q' => 'Q', + 'r' => 'R', + 's' => 'S', + 't' => 'T', + 'u' => 'U', + 'v' => 'V', + 'w' => 'W', + 'x' => 'X', + 'y' => 'Y', + 'z' => 'Z', + 'µ' => 'Μ', + 'à' => 'À', + 'á' => 'Á', + 'â' => 'Â', + 'ã' => 'Ã', + 'ä' => 'Ä', + 'å' => 'Å', + 'æ' => 'Æ', + 'ç' => 'Ç', + 'è' => 'È', + 'é' => 'É', + 'ê' => 'Ê', + 'ë' => 'Ë', + 'ì' => 'Ì', + 'í' => 'Í', + 'î' => 'Î', + 'ï' => 'Ï', + 'ð' => 'Ð', + 'ñ' => 'Ñ', + 'ò' => 'Ò', + 'ó' => 'Ó', + 'ô' => 'Ô', + 'õ' => 'Õ', + 'ö' => 'Ö', + 'ø' => 'Ø', + 'ù' => 'Ù', + 'ú' => 'Ú', + 'û' => 'Û', + 'ü' => 'Ü', + 'ý' => 'Ý', + 'þ' => 'Þ', + 'ÿ' => 'Ÿ', + 'ā' => 'Ā', + 'ă' => 'Ă', + 'ą' => 'Ą', + 'ć' => 'Ć', + 'ĉ' => 'Ĉ', + 'ċ' => 'Ċ', + 'č' => 'Č', + 'ď' => 'Ď', + 'đ' => 'Đ', + 'ē' => 'Ē', + 'ĕ' => 'Ĕ', + 'ė' => 'Ė', + 'ę' => 'Ę', + 'ě' => 'Ě', + 'ĝ' => 'Ĝ', + 'ğ' => 'Ğ', + 'ġ' => 'Ġ', + 'ģ' => 'Ģ', + 'ĥ' => 'Ĥ', + 'ħ' => 'Ħ', + 'ĩ' => 'Ĩ', + 'ī' => 'Ī', + 'ĭ' => 'Ĭ', + 'į' => 'Į', + 'ı' => 'I', + 'ij' => 'IJ', + 'ĵ' => 'Ĵ', + 'ķ' => 'Ķ', + 'ĺ' => 'Ĺ', + 'ļ' => 'Ļ', + 'ľ' => 'Ľ', + 'ŀ' => 'Ŀ', + 'ł' => 'Ł', + 'ń' => 'Ń', + 'ņ' => 'Ņ', + 'ň' => 'Ň', + 'ŋ' => 'Ŋ', + 'ō' => 'Ō', + 'ŏ' => 'Ŏ', + 'ő' => 'Ő', + 'œ' => 'Œ', + 'ŕ' => 'Ŕ', + 'ŗ' => 'Ŗ', + 'ř' => 'Ř', + 'ś' => 'Ś', + 'ŝ' => 'Ŝ', + 'ş' => 'Ş', + 'š' => 'Š', + 'ţ' => 'Ţ', + 'ť' => 'Ť', + 'ŧ' => 'Ŧ', + 'ũ' => 'Ũ', + 'ū' => 'Ū', + 'ŭ' => 'Ŭ', + 'ů' => 'Ů', + 'ű' => 'Ű', + 'ų' => 'Ų', + 'ŵ' => 'Ŵ', + 'ŷ' => 'Ŷ', + 'ź' => 'Ź', + 'ż' => 'Ż', + 'ž' => 'Ž', + 'ſ' => 'S', + 'ƀ' => 'Ƀ', + 'ƃ' => 'Ƃ', + 'ƅ' => 'Ƅ', + 'ƈ' => 'Ƈ', + 'ƌ' => 'Ƌ', + 'ƒ' => 'Ƒ', + 'ƕ' => 'Ƕ', + 'ƙ' => 'Ƙ', + 'ƚ' => 'Ƚ', + 'ƞ' => 'Ƞ', + 'ơ' => 'Ơ', + 'ƣ' => 'Ƣ', + 'ƥ' => 'Ƥ', + 'ƨ' => 'Ƨ', + 'ƭ' => 'Ƭ', + 'ư' => 'Ư', + 'ƴ' => 'Ƴ', + 'ƶ' => 'Ƶ', + 'ƹ' => 'Ƹ', + 'ƽ' => 'Ƽ', + 'ƿ' => 'Ƿ', + 'Dž' => 'DŽ', + 'dž' => 'DŽ', + 'Lj' => 'LJ', + 'lj' => 'LJ', + 'Nj' => 'NJ', + 'nj' => 'NJ', + 'ǎ' => 'Ǎ', + 'ǐ' => 'Ǐ', + 'ǒ' => 'Ǒ', + 'ǔ' => 'Ǔ', + 'ǖ' => 'Ǖ', + 'ǘ' => 'Ǘ', + 'ǚ' => 'Ǚ', + 'ǜ' => 'Ǜ', + 'ǝ' => 'Ǝ', + 'ǟ' => 'Ǟ', + 'ǡ' => 'Ǡ', + 'ǣ' => 'Ǣ', + 'ǥ' => 'Ǥ', + 'ǧ' => 'Ǧ', + 'ǩ' => 'Ǩ', + 'ǫ' => 'Ǫ', + 'ǭ' => 'Ǭ', + 'ǯ' => 'Ǯ', + 'Dz' => 'DZ', + 'dz' => 'DZ', + 'ǵ' => 'Ǵ', + 'ǹ' => 'Ǹ', + 'ǻ' => 'Ǻ', + 'ǽ' => 'Ǽ', + 'ǿ' => 'Ǿ', + 'ȁ' => 'Ȁ', + 'ȃ' => 'Ȃ', + 'ȅ' => 'Ȅ', + 'ȇ' => 'Ȇ', + 'ȉ' => 'Ȉ', + 'ȋ' => 'Ȋ', + 'ȍ' => 'Ȍ', + 'ȏ' => 'Ȏ', + 'ȑ' => 'Ȑ', + 'ȓ' => 'Ȓ', + 'ȕ' => 'Ȕ', + 'ȗ' => 'Ȗ', + 'ș' => 'Ș', + 'ț' => 'Ț', + 'ȝ' => 'Ȝ', + 'ȟ' => 'Ȟ', + 'ȣ' => 'Ȣ', + 'ȥ' => 'Ȥ', + 'ȧ' => 'Ȧ', + 'ȩ' => 'Ȩ', + 'ȫ' => 'Ȫ', + 'ȭ' => 'Ȭ', + 'ȯ' => 'Ȯ', + 'ȱ' => 'Ȱ', + 'ȳ' => 'Ȳ', + 'ȼ' => 'Ȼ', + 'ȿ' => 'Ȿ', + 'ɀ' => 'Ɀ', + 'ɂ' => 'Ɂ', + 'ɇ' => 'Ɇ', + 'ɉ' => 'Ɉ', + 'ɋ' => 'Ɋ', + 'ɍ' => 'Ɍ', + 'ɏ' => 'Ɏ', + 'ɐ' => 'Ɐ', + 'ɑ' => 'Ɑ', + 'ɒ' => 'Ɒ', + 'ɓ' => 'Ɓ', + 'ɔ' => 'Ɔ', + 'ɖ' => 'Ɖ', + 'ɗ' => 'Ɗ', + 'ə' => 'Ə', + 'ɛ' => 'Ɛ', + 'ɜ' => 'Ɜ', + 'ɠ' => 'Ɠ', + 'ɡ' => 'Ɡ', + 'ɣ' => 'Ɣ', + 'ɥ' => 'Ɥ', + 'ɦ' => 'Ɦ', + 'ɨ' => 'Ɨ', + 'ɩ' => 'Ɩ', + 'ɪ' => 'Ɪ', + 'ɫ' => 'Ɫ', + 'ɬ' => 'Ɬ', + 'ɯ' => 'Ɯ', + 'ɱ' => 'Ɱ', + 'ɲ' => 'Ɲ', + 'ɵ' => 'Ɵ', + 'ɽ' => 'Ɽ', + 'ʀ' => 'Ʀ', + 'ʂ' => 'Ʂ', + 'ʃ' => 'Ʃ', + 'ʇ' => 'Ʇ', + 'ʈ' => 'Ʈ', + 'ʉ' => 'Ʉ', + 'ʊ' => 'Ʊ', + 'ʋ' => 'Ʋ', + 'ʌ' => 'Ʌ', + 'ʒ' => 'Ʒ', + 'ʝ' => 'Ʝ', + 'ʞ' => 'Ʞ', + 'ͅ' => 'Ι', + 'ͱ' => 'Ͱ', + 'ͳ' => 'Ͳ', + 'ͷ' => 'Ͷ', + 'ͻ' => 'Ͻ', + 'ͼ' => 'Ͼ', + 'ͽ' => 'Ͽ', + 'ά' => 'Ά', + 'έ' => 'Έ', + 'ή' => 'Ή', + 'ί' => 'Ί', + 'α' => 'Α', + 'β' => 'Β', + 'γ' => 'Γ', + 'δ' => 'Δ', + 'ε' => 'Ε', + 'ζ' => 'Ζ', + 'η' => 'Η', + 'θ' => 'Θ', + 'ι' => 'Ι', + 'κ' => 'Κ', + 'λ' => 'Λ', + 'μ' => 'Μ', + 'ν' => 'Ν', + 'ξ' => 'Ξ', + 'ο' => 'Ο', + 'π' => 'Π', + 'ρ' => 'Ρ', + 'ς' => 'Σ', + 'σ' => 'Σ', + 'τ' => 'Τ', + 'υ' => 'Υ', + 'φ' => 'Φ', + 'χ' => 'Χ', + 'ψ' => 'Ψ', + 'ω' => 'Ω', + 'ϊ' => 'Ϊ', + 'ϋ' => 'Ϋ', + 'ό' => 'Ό', + 'ύ' => 'Ύ', + 'ώ' => 'Ώ', + 'ϐ' => 'Β', + 'ϑ' => 'Θ', + 'ϕ' => 'Φ', + 'ϖ' => 'Π', + 'ϗ' => 'Ϗ', + 'ϙ' => 'Ϙ', + 'ϛ' => 'Ϛ', + 'ϝ' => 'Ϝ', + 'ϟ' => 'Ϟ', + 'ϡ' => 'Ϡ', + 'ϣ' => 'Ϣ', + 'ϥ' => 'Ϥ', + 'ϧ' => 'Ϧ', + 'ϩ' => 'Ϩ', + 'ϫ' => 'Ϫ', + 'ϭ' => 'Ϭ', + 'ϯ' => 'Ϯ', + 'ϰ' => 'Κ', + 'ϱ' => 'Ρ', + 'ϲ' => 'Ϲ', + 'ϳ' => 'Ϳ', + 'ϵ' => 'Ε', + 'ϸ' => 'Ϸ', + 'ϻ' => 'Ϻ', + 'а' => 'А', + 'б' => 'Б', + 'в' => 'В', + 'г' => 'Г', + 'д' => 'Д', + 'е' => 'Е', + 'ж' => 'Ж', + 'з' => 'З', + 'и' => 'И', + 'й' => 'Й', + 'к' => 'К', + 'л' => 'Л', + 'м' => 'М', + 'н' => 'Н', + 'о' => 'О', + 'п' => 'П', + 'р' => 'Р', + 'с' => 'С', + 'т' => 'Т', + 'у' => 'У', + 'ф' => 'Ф', + 'х' => 'Х', + 'ц' => 'Ц', + 'ч' => 'Ч', + 'ш' => 'Ш', + 'щ' => 'Щ', + 'ъ' => 'Ъ', + 'ы' => 'Ы', + 'ь' => 'Ь', + 'э' => 'Э', + 'ю' => 'Ю', + 'я' => 'Я', + 'ѐ' => 'Ѐ', + 'ё' => 'Ё', + 'ђ' => 'Ђ', + 'ѓ' => 'Ѓ', + 'є' => 'Є', + 'ѕ' => 'Ѕ', + 'і' => 'І', + 'ї' => 'Ї', + 'ј' => 'Ј', + 'љ' => 'Љ', + 'њ' => 'Њ', + 'ћ' => 'Ћ', + 'ќ' => 'Ќ', + 'ѝ' => 'Ѝ', + 'ў' => 'Ў', + 'џ' => 'Џ', + 'ѡ' => 'Ѡ', + 'ѣ' => 'Ѣ', + 'ѥ' => 'Ѥ', + 'ѧ' => 'Ѧ', + 'ѩ' => 'Ѩ', + 'ѫ' => 'Ѫ', + 'ѭ' => 'Ѭ', + 'ѯ' => 'Ѯ', + 'ѱ' => 'Ѱ', + 'ѳ' => 'Ѳ', + 'ѵ' => 'Ѵ', + 'ѷ' => 'Ѷ', + 'ѹ' => 'Ѹ', + 'ѻ' => 'Ѻ', + 'ѽ' => 'Ѽ', + 'ѿ' => 'Ѿ', + 'ҁ' => 'Ҁ', + 'ҋ' => 'Ҋ', + 'ҍ' => 'Ҍ', + 'ҏ' => 'Ҏ', + 'ґ' => 'Ґ', + 'ғ' => 'Ғ', + 'ҕ' => 'Ҕ', + 'җ' => 'Җ', + 'ҙ' => 'Ҙ', + 'қ' => 'Қ', + 'ҝ' => 'Ҝ', + 'ҟ' => 'Ҟ', + 'ҡ' => 'Ҡ', + 'ң' => 'Ң', + 'ҥ' => 'Ҥ', + 'ҧ' => 'Ҧ', + 'ҩ' => 'Ҩ', + 'ҫ' => 'Ҫ', + 'ҭ' => 'Ҭ', + 'ү' => 'Ү', + 'ұ' => 'Ұ', + 'ҳ' => 'Ҳ', + 'ҵ' => 'Ҵ', + 'ҷ' => 'Ҷ', + 'ҹ' => 'Ҹ', + 'һ' => 'Һ', + 'ҽ' => 'Ҽ', + 'ҿ' => 'Ҿ', + 'ӂ' => 'Ӂ', + 'ӄ' => 'Ӄ', + 'ӆ' => 'Ӆ', + 'ӈ' => 'Ӈ', + 'ӊ' => 'Ӊ', + 'ӌ' => 'Ӌ', + 'ӎ' => 'Ӎ', + 'ӏ' => 'Ӏ', + 'ӑ' => 'Ӑ', + 'ӓ' => 'Ӓ', + 'ӕ' => 'Ӕ', + 'ӗ' => 'Ӗ', + 'ә' => 'Ә', + 'ӛ' => 'Ӛ', + 'ӝ' => 'Ӝ', + 'ӟ' => 'Ӟ', + 'ӡ' => 'Ӡ', + 'ӣ' => 'Ӣ', + 'ӥ' => 'Ӥ', + 'ӧ' => 'Ӧ', + 'ө' => 'Ө', + 'ӫ' => 'Ӫ', + 'ӭ' => 'Ӭ', + 'ӯ' => 'Ӯ', + 'ӱ' => 'Ӱ', + 'ӳ' => 'Ӳ', + 'ӵ' => 'Ӵ', + 'ӷ' => 'Ӷ', + 'ӹ' => 'Ӹ', + 'ӻ' => 'Ӻ', + 'ӽ' => 'Ӽ', + 'ӿ' => 'Ӿ', + 'ԁ' => 'Ԁ', + 'ԃ' => 'Ԃ', + 'ԅ' => 'Ԅ', + 'ԇ' => 'Ԇ', + 'ԉ' => 'Ԉ', + 'ԋ' => 'Ԋ', + 'ԍ' => 'Ԍ', + 'ԏ' => 'Ԏ', + 'ԑ' => 'Ԑ', + 'ԓ' => 'Ԓ', + 'ԕ' => 'Ԕ', + 'ԗ' => 'Ԗ', + 'ԙ' => 'Ԙ', + 'ԛ' => 'Ԛ', + 'ԝ' => 'Ԝ', + 'ԟ' => 'Ԟ', + 'ԡ' => 'Ԡ', + 'ԣ' => 'Ԣ', + 'ԥ' => 'Ԥ', + 'ԧ' => 'Ԧ', + 'ԩ' => 'Ԩ', + 'ԫ' => 'Ԫ', + 'ԭ' => 'Ԭ', + 'ԯ' => 'Ԯ', + 'ա' => 'Ա', + 'բ' => 'Բ', + 'գ' => 'Գ', + 'դ' => 'Դ', + 'ե' => 'Ե', + 'զ' => 'Զ', + 'է' => 'Է', + 'ը' => 'Ը', + 'թ' => 'Թ', + 'ժ' => 'Ժ', + 'ի' => 'Ի', + 'լ' => 'Լ', + 'խ' => 'Խ', + 'ծ' => 'Ծ', + 'կ' => 'Կ', + 'հ' => 'Հ', + 'ձ' => 'Ձ', + 'ղ' => 'Ղ', + 'ճ' => 'Ճ', + 'մ' => 'Մ', + 'յ' => 'Յ', + 'ն' => 'Ն', + 'շ' => 'Շ', + 'ո' => 'Ո', + 'չ' => 'Չ', + 'պ' => 'Պ', + 'ջ' => 'Ջ', + 'ռ' => 'Ռ', + 'ս' => 'Ս', + 'վ' => 'Վ', + 'տ' => 'Տ', + 'ր' => 'Ր', + 'ց' => 'Ց', + 'ւ' => 'Ւ', + 'փ' => 'Փ', + 'ք' => 'Ք', + 'օ' => 'Օ', + 'ֆ' => 'Ֆ', + 'ა' => 'Ა', + 'ბ' => 'Ბ', + 'გ' => 'Გ', + 'დ' => 'Დ', + 'ე' => 'Ე', + 'ვ' => 'Ვ', + 'ზ' => 'Ზ', + 'თ' => 'Თ', + 'ი' => 'Ი', + 'კ' => 'Კ', + 'ლ' => 'Ლ', + 'მ' => 'Მ', + 'ნ' => 'Ნ', + 'ო' => 'Ო', + 'პ' => 'Პ', + 'ჟ' => 'Ჟ', + 'რ' => 'Რ', + 'ს' => 'Ს', + 'ტ' => 'Ტ', + 'უ' => 'Უ', + 'ფ' => 'Ფ', + 'ქ' => 'Ქ', + 'ღ' => 'Ღ', + 'ყ' => 'Ყ', + 'შ' => 'Შ', + 'ჩ' => 'Ჩ', + 'ც' => 'Ც', + 'ძ' => 'Ძ', + 'წ' => 'Წ', + 'ჭ' => 'Ჭ', + 'ხ' => 'Ხ', + 'ჯ' => 'Ჯ', + 'ჰ' => 'Ჰ', + 'ჱ' => 'Ჱ', + 'ჲ' => 'Ჲ', + 'ჳ' => 'Ჳ', + 'ჴ' => 'Ჴ', + 'ჵ' => 'Ჵ', + 'ჶ' => 'Ჶ', + 'ჷ' => 'Ჷ', + 'ჸ' => 'Ჸ', + 'ჹ' => 'Ჹ', + 'ჺ' => 'Ჺ', + 'ჽ' => 'Ჽ', + 'ჾ' => 'Ჾ', + 'ჿ' => 'Ჿ', + 'ᏸ' => 'Ᏸ', + 'ᏹ' => 'Ᏹ', + 'ᏺ' => 'Ᏺ', + 'ᏻ' => 'Ᏻ', + 'ᏼ' => 'Ᏼ', + 'ᏽ' => 'Ᏽ', + 'ᲀ' => 'В', + 'ᲁ' => 'Д', + 'ᲂ' => 'О', + 'ᲃ' => 'С', + 'ᲄ' => 'Т', + 'ᲅ' => 'Т', + 'ᲆ' => 'Ъ', + 'ᲇ' => 'Ѣ', + 'ᲈ' => 'Ꙋ', + 'ᵹ' => 'Ᵹ', + 'ᵽ' => 'Ᵽ', + 'ᶎ' => 'Ᶎ', + 'ḁ' => 'Ḁ', + 'ḃ' => 'Ḃ', + 'ḅ' => 'Ḅ', + 'ḇ' => 'Ḇ', + 'ḉ' => 'Ḉ', + 'ḋ' => 'Ḋ', + 'ḍ' => 'Ḍ', + 'ḏ' => 'Ḏ', + 'ḑ' => 'Ḑ', + 'ḓ' => 'Ḓ', + 'ḕ' => 'Ḕ', + 'ḗ' => 'Ḗ', + 'ḙ' => 'Ḙ', + 'ḛ' => 'Ḛ', + 'ḝ' => 'Ḝ', + 'ḟ' => 'Ḟ', + 'ḡ' => 'Ḡ', + 'ḣ' => 'Ḣ', + 'ḥ' => 'Ḥ', + 'ḧ' => 'Ḧ', + 'ḩ' => 'Ḩ', + 'ḫ' => 'Ḫ', + 'ḭ' => 'Ḭ', + 'ḯ' => 'Ḯ', + 'ḱ' => 'Ḱ', + 'ḳ' => 'Ḳ', + 'ḵ' => 'Ḵ', + 'ḷ' => 'Ḷ', + 'ḹ' => 'Ḹ', + 'ḻ' => 'Ḻ', + 'ḽ' => 'Ḽ', + 'ḿ' => 'Ḿ', + 'ṁ' => 'Ṁ', + 'ṃ' => 'Ṃ', + 'ṅ' => 'Ṅ', + 'ṇ' => 'Ṇ', + 'ṉ' => 'Ṉ', + 'ṋ' => 'Ṋ', + 'ṍ' => 'Ṍ', + 'ṏ' => 'Ṏ', + 'ṑ' => 'Ṑ', + 'ṓ' => 'Ṓ', + 'ṕ' => 'Ṕ', + 'ṗ' => 'Ṗ', + 'ṙ' => 'Ṙ', + 'ṛ' => 'Ṛ', + 'ṝ' => 'Ṝ', + 'ṟ' => 'Ṟ', + 'ṡ' => 'Ṡ', + 'ṣ' => 'Ṣ', + 'ṥ' => 'Ṥ', + 'ṧ' => 'Ṧ', + 'ṩ' => 'Ṩ', + 'ṫ' => 'Ṫ', + 'ṭ' => 'Ṭ', + 'ṯ' => 'Ṯ', + 'ṱ' => 'Ṱ', + 'ṳ' => 'Ṳ', + 'ṵ' => 'Ṵ', + 'ṷ' => 'Ṷ', + 'ṹ' => 'Ṹ', + 'ṻ' => 'Ṻ', + 'ṽ' => 'Ṽ', + 'ṿ' => 'Ṿ', + 'ẁ' => 'Ẁ', + 'ẃ' => 'Ẃ', + 'ẅ' => 'Ẅ', + 'ẇ' => 'Ẇ', + 'ẉ' => 'Ẉ', + 'ẋ' => 'Ẋ', + 'ẍ' => 'Ẍ', + 'ẏ' => 'Ẏ', + 'ẑ' => 'Ẑ', + 'ẓ' => 'Ẓ', + 'ẕ' => 'Ẕ', + 'ẛ' => 'Ṡ', + 'ạ' => 'Ạ', + 'ả' => 'Ả', + 'ấ' => 'Ấ', + 'ầ' => 'Ầ', + 'ẩ' => 'Ẩ', + 'ẫ' => 'Ẫ', + 'ậ' => 'Ậ', + 'ắ' => 'Ắ', + 'ằ' => 'Ằ', + 'ẳ' => 'Ẳ', + 'ẵ' => 'Ẵ', + 'ặ' => 'Ặ', + 'ẹ' => 'Ẹ', + 'ẻ' => 'Ẻ', + 'ẽ' => 'Ẽ', + 'ế' => 'Ế', + 'ề' => 'Ề', + 'ể' => 'Ể', + 'ễ' => 'Ễ', + 'ệ' => 'Ệ', + 'ỉ' => 'Ỉ', + 'ị' => 'Ị', + 'ọ' => 'Ọ', + 'ỏ' => 'Ỏ', + 'ố' => 'Ố', + 'ồ' => 'Ồ', + 'ổ' => 'Ổ', + 'ỗ' => 'Ỗ', + 'ộ' => 'Ộ', + 'ớ' => 'Ớ', + 'ờ' => 'Ờ', + 'ở' => 'Ở', + 'ỡ' => 'Ỡ', + 'ợ' => 'Ợ', + 'ụ' => 'Ụ', + 'ủ' => 'Ủ', + 'ứ' => 'Ứ', + 'ừ' => 'Ừ', + 'ử' => 'Ử', + 'ữ' => 'Ữ', + 'ự' => 'Ự', + 'ỳ' => 'Ỳ', + 'ỵ' => 'Ỵ', + 'ỷ' => 'Ỷ', + 'ỹ' => 'Ỹ', + 'ỻ' => 'Ỻ', + 'ỽ' => 'Ỽ', + 'ỿ' => 'Ỿ', + 'ἀ' => 'Ἀ', + 'ἁ' => 'Ἁ', + 'ἂ' => 'Ἂ', + 'ἃ' => 'Ἃ', + 'ἄ' => 'Ἄ', + 'ἅ' => 'Ἅ', + 'ἆ' => 'Ἆ', + 'ἇ' => 'Ἇ', + 'ἐ' => 'Ἐ', + 'ἑ' => 'Ἑ', + 'ἒ' => 'Ἒ', + 'ἓ' => 'Ἓ', + 'ἔ' => 'Ἔ', + 'ἕ' => 'Ἕ', + 'ἠ' => 'Ἠ', + 'ἡ' => 'Ἡ', + 'ἢ' => 'Ἢ', + 'ἣ' => 'Ἣ', + 'ἤ' => 'Ἤ', + 'ἥ' => 'Ἥ', + 'ἦ' => 'Ἦ', + 'ἧ' => 'Ἧ', + 'ἰ' => 'Ἰ', + 'ἱ' => 'Ἱ', + 'ἲ' => 'Ἲ', + 'ἳ' => 'Ἳ', + 'ἴ' => 'Ἴ', + 'ἵ' => 'Ἵ', + 'ἶ' => 'Ἶ', + 'ἷ' => 'Ἷ', + 'ὀ' => 'Ὀ', + 'ὁ' => 'Ὁ', + 'ὂ' => 'Ὂ', + 'ὃ' => 'Ὃ', + 'ὄ' => 'Ὄ', + 'ὅ' => 'Ὅ', + 'ὑ' => 'Ὑ', + 'ὓ' => 'Ὓ', + 'ὕ' => 'Ὕ', + 'ὗ' => 'Ὗ', + 'ὠ' => 'Ὠ', + 'ὡ' => 'Ὡ', + 'ὢ' => 'Ὢ', + 'ὣ' => 'Ὣ', + 'ὤ' => 'Ὤ', + 'ὥ' => 'Ὥ', + 'ὦ' => 'Ὦ', + 'ὧ' => 'Ὧ', + 'ὰ' => 'Ὰ', + 'ά' => 'Ά', + 'ὲ' => 'Ὲ', + 'έ' => 'Έ', + 'ὴ' => 'Ὴ', + 'ή' => 'Ή', + 'ὶ' => 'Ὶ', + 'ί' => 'Ί', + 'ὸ' => 'Ὸ', + 'ό' => 'Ό', + 'ὺ' => 'Ὺ', + 'ύ' => 'Ύ', + 'ὼ' => 'Ὼ', + 'ώ' => 'Ώ', + 'ᾀ' => 'ἈΙ', + 'ᾁ' => 'ἉΙ', + 'ᾂ' => 'ἊΙ', + 'ᾃ' => 'ἋΙ', + 'ᾄ' => 'ἌΙ', + 'ᾅ' => 'ἍΙ', + 'ᾆ' => 'ἎΙ', + 'ᾇ' => 'ἏΙ', + 'ᾐ' => 'ἨΙ', + 'ᾑ' => 'ἩΙ', + 'ᾒ' => 'ἪΙ', + 'ᾓ' => 'ἫΙ', + 'ᾔ' => 'ἬΙ', + 'ᾕ' => 'ἭΙ', + 'ᾖ' => 'ἮΙ', + 'ᾗ' => 'ἯΙ', + 'ᾠ' => 'ὨΙ', + 'ᾡ' => 'ὩΙ', + 'ᾢ' => 'ὪΙ', + 'ᾣ' => 'ὫΙ', + 'ᾤ' => 'ὬΙ', + 'ᾥ' => 'ὭΙ', + 'ᾦ' => 'ὮΙ', + 'ᾧ' => 'ὯΙ', + 'ᾰ' => 'Ᾰ', + 'ᾱ' => 'Ᾱ', + 'ᾳ' => 'ΑΙ', + 'ι' => 'Ι', + 'ῃ' => 'ΗΙ', + 'ῐ' => 'Ῐ', + 'ῑ' => 'Ῑ', + 'ῠ' => 'Ῠ', + 'ῡ' => 'Ῡ', + 'ῥ' => 'Ῥ', + 'ῳ' => 'ΩΙ', + 'ⅎ' => 'Ⅎ', + 'ⅰ' => 'Ⅰ', + 'ⅱ' => 'Ⅱ', + 'ⅲ' => 'Ⅲ', + 'ⅳ' => 'Ⅳ', + 'ⅴ' => 'Ⅴ', + 'ⅵ' => 'Ⅵ', + 'ⅶ' => 'Ⅶ', + 'ⅷ' => 'Ⅷ', + 'ⅸ' => 'Ⅸ', + 'ⅹ' => 'Ⅹ', + 'ⅺ' => 'Ⅺ', + 'ⅻ' => 'Ⅻ', + 'ⅼ' => 'Ⅼ', + 'ⅽ' => 'Ⅽ', + 'ⅾ' => 'Ⅾ', + 'ⅿ' => 'Ⅿ', + 'ↄ' => 'Ↄ', + 'ⓐ' => 'Ⓐ', + 'ⓑ' => 'Ⓑ', + 'ⓒ' => 'Ⓒ', + 'ⓓ' => 'Ⓓ', + 'ⓔ' => 'Ⓔ', + 'ⓕ' => 'Ⓕ', + 'ⓖ' => 'Ⓖ', + 'ⓗ' => 'Ⓗ', + 'ⓘ' => 'Ⓘ', + 'ⓙ' => 'Ⓙ', + 'ⓚ' => 'Ⓚ', + 'ⓛ' => 'Ⓛ', + 'ⓜ' => 'Ⓜ', + 'ⓝ' => 'Ⓝ', + 'ⓞ' => 'Ⓞ', + 'ⓟ' => 'Ⓟ', + 'ⓠ' => 'Ⓠ', + 'ⓡ' => 'Ⓡ', + 'ⓢ' => 'Ⓢ', + 'ⓣ' => 'Ⓣ', + 'ⓤ' => 'Ⓤ', + 'ⓥ' => 'Ⓥ', + 'ⓦ' => 'Ⓦ', + 'ⓧ' => 'Ⓧ', + 'ⓨ' => 'Ⓨ', + 'ⓩ' => 'Ⓩ', + 'ⰰ' => 'Ⰰ', + 'ⰱ' => 'Ⰱ', + 'ⰲ' => 'Ⰲ', + 'ⰳ' => 'Ⰳ', + 'ⰴ' => 'Ⰴ', + 'ⰵ' => 'Ⰵ', + 'ⰶ' => 'Ⰶ', + 'ⰷ' => 'Ⰷ', + 'ⰸ' => 'Ⰸ', + 'ⰹ' => 'Ⰹ', + 'ⰺ' => 'Ⰺ', + 'ⰻ' => 'Ⰻ', + 'ⰼ' => 'Ⰼ', + 'ⰽ' => 'Ⰽ', + 'ⰾ' => 'Ⰾ', + 'ⰿ' => 'Ⰿ', + 'ⱀ' => 'Ⱀ', + 'ⱁ' => 'Ⱁ', + 'ⱂ' => 'Ⱂ', + 'ⱃ' => 'Ⱃ', + 'ⱄ' => 'Ⱄ', + 'ⱅ' => 'Ⱅ', + 'ⱆ' => 'Ⱆ', + 'ⱇ' => 'Ⱇ', + 'ⱈ' => 'Ⱈ', + 'ⱉ' => 'Ⱉ', + 'ⱊ' => 'Ⱊ', + 'ⱋ' => 'Ⱋ', + 'ⱌ' => 'Ⱌ', + 'ⱍ' => 'Ⱍ', + 'ⱎ' => 'Ⱎ', + 'ⱏ' => 'Ⱏ', + 'ⱐ' => 'Ⱐ', + 'ⱑ' => 'Ⱑ', + 'ⱒ' => 'Ⱒ', + 'ⱓ' => 'Ⱓ', + 'ⱔ' => 'Ⱔ', + 'ⱕ' => 'Ⱕ', + 'ⱖ' => 'Ⱖ', + 'ⱗ' => 'Ⱗ', + 'ⱘ' => 'Ⱘ', + 'ⱙ' => 'Ⱙ', + 'ⱚ' => 'Ⱚ', + 'ⱛ' => 'Ⱛ', + 'ⱜ' => 'Ⱜ', + 'ⱝ' => 'Ⱝ', + 'ⱞ' => 'Ⱞ', + 'ⱡ' => 'Ⱡ', + 'ⱥ' => 'Ⱥ', + 'ⱦ' => 'Ⱦ', + 'ⱨ' => 'Ⱨ', + 'ⱪ' => 'Ⱪ', + 'ⱬ' => 'Ⱬ', + 'ⱳ' => 'Ⱳ', + 'ⱶ' => 'Ⱶ', + 'ⲁ' => 'Ⲁ', + 'ⲃ' => 'Ⲃ', + 'ⲅ' => 'Ⲅ', + 'ⲇ' => 'Ⲇ', + 'ⲉ' => 'Ⲉ', + 'ⲋ' => 'Ⲋ', + 'ⲍ' => 'Ⲍ', + 'ⲏ' => 'Ⲏ', + 'ⲑ' => 'Ⲑ', + 'ⲓ' => 'Ⲓ', + 'ⲕ' => 'Ⲕ', + 'ⲗ' => 'Ⲗ', + 'ⲙ' => 'Ⲙ', + 'ⲛ' => 'Ⲛ', + 'ⲝ' => 'Ⲝ', + 'ⲟ' => 'Ⲟ', + 'ⲡ' => 'Ⲡ', + 'ⲣ' => 'Ⲣ', + 'ⲥ' => 'Ⲥ', + 'ⲧ' => 'Ⲧ', + 'ⲩ' => 'Ⲩ', + 'ⲫ' => 'Ⲫ', + 'ⲭ' => 'Ⲭ', + 'ⲯ' => 'Ⲯ', + 'ⲱ' => 'Ⲱ', + 'ⲳ' => 'Ⲳ', + 'ⲵ' => 'Ⲵ', + 'ⲷ' => 'Ⲷ', + 'ⲹ' => 'Ⲹ', + 'ⲻ' => 'Ⲻ', + 'ⲽ' => 'Ⲽ', + 'ⲿ' => 'Ⲿ', + 'ⳁ' => 'Ⳁ', + 'ⳃ' => 'Ⳃ', + 'ⳅ' => 'Ⳅ', + 'ⳇ' => 'Ⳇ', + 'ⳉ' => 'Ⳉ', + 'ⳋ' => 'Ⳋ', + 'ⳍ' => 'Ⳍ', + 'ⳏ' => 'Ⳏ', + 'ⳑ' => 'Ⳑ', + 'ⳓ' => 'Ⳓ', + 'ⳕ' => 'Ⳕ', + 'ⳗ' => 'Ⳗ', + 'ⳙ' => 'Ⳙ', + 'ⳛ' => 'Ⳛ', + 'ⳝ' => 'Ⳝ', + 'ⳟ' => 'Ⳟ', + 'ⳡ' => 'Ⳡ', + 'ⳣ' => 'Ⳣ', + 'ⳬ' => 'Ⳬ', + 'ⳮ' => 'Ⳮ', + 'ⳳ' => 'Ⳳ', + 'ⴀ' => 'Ⴀ', + 'ⴁ' => 'Ⴁ', + 'ⴂ' => 'Ⴂ', + 'ⴃ' => 'Ⴃ', + 'ⴄ' => 'Ⴄ', + 'ⴅ' => 'Ⴅ', + 'ⴆ' => 'Ⴆ', + 'ⴇ' => 'Ⴇ', + 'ⴈ' => 'Ⴈ', + 'ⴉ' => 'Ⴉ', + 'ⴊ' => 'Ⴊ', + 'ⴋ' => 'Ⴋ', + 'ⴌ' => 'Ⴌ', + 'ⴍ' => 'Ⴍ', + 'ⴎ' => 'Ⴎ', + 'ⴏ' => 'Ⴏ', + 'ⴐ' => 'Ⴐ', + 'ⴑ' => 'Ⴑ', + 'ⴒ' => 'Ⴒ', + 'ⴓ' => 'Ⴓ', + 'ⴔ' => 'Ⴔ', + 'ⴕ' => 'Ⴕ', + 'ⴖ' => 'Ⴖ', + 'ⴗ' => 'Ⴗ', + 'ⴘ' => 'Ⴘ', + 'ⴙ' => 'Ⴙ', + 'ⴚ' => 'Ⴚ', + 'ⴛ' => 'Ⴛ', + 'ⴜ' => 'Ⴜ', + 'ⴝ' => 'Ⴝ', + 'ⴞ' => 'Ⴞ', + 'ⴟ' => 'Ⴟ', + 'ⴠ' => 'Ⴠ', + 'ⴡ' => 'Ⴡ', + 'ⴢ' => 'Ⴢ', + 'ⴣ' => 'Ⴣ', + 'ⴤ' => 'Ⴤ', + 'ⴥ' => 'Ⴥ', + 'ⴧ' => 'Ⴧ', + 'ⴭ' => 'Ⴭ', + 'ꙁ' => 'Ꙁ', + 'ꙃ' => 'Ꙃ', + 'ꙅ' => 'Ꙅ', + 'ꙇ' => 'Ꙇ', + 'ꙉ' => 'Ꙉ', + 'ꙋ' => 'Ꙋ', + 'ꙍ' => 'Ꙍ', + 'ꙏ' => 'Ꙏ', + 'ꙑ' => 'Ꙑ', + 'ꙓ' => 'Ꙓ', + 'ꙕ' => 'Ꙕ', + 'ꙗ' => 'Ꙗ', + 'ꙙ' => 'Ꙙ', + 'ꙛ' => 'Ꙛ', + 'ꙝ' => 'Ꙝ', + 'ꙟ' => 'Ꙟ', + 'ꙡ' => 'Ꙡ', + 'ꙣ' => 'Ꙣ', + 'ꙥ' => 'Ꙥ', + 'ꙧ' => 'Ꙧ', + 'ꙩ' => 'Ꙩ', + 'ꙫ' => 'Ꙫ', + 'ꙭ' => 'Ꙭ', + 'ꚁ' => 'Ꚁ', + 'ꚃ' => 'Ꚃ', + 'ꚅ' => 'Ꚅ', + 'ꚇ' => 'Ꚇ', + 'ꚉ' => 'Ꚉ', + 'ꚋ' => 'Ꚋ', + 'ꚍ' => 'Ꚍ', + 'ꚏ' => 'Ꚏ', + 'ꚑ' => 'Ꚑ', + 'ꚓ' => 'Ꚓ', + 'ꚕ' => 'Ꚕ', + 'ꚗ' => 'Ꚗ', + 'ꚙ' => 'Ꚙ', + 'ꚛ' => 'Ꚛ', + 'ꜣ' => 'Ꜣ', + 'ꜥ' => 'Ꜥ', + 'ꜧ' => 'Ꜧ', + 'ꜩ' => 'Ꜩ', + 'ꜫ' => 'Ꜫ', + 'ꜭ' => 'Ꜭ', + 'ꜯ' => 'Ꜯ', + 'ꜳ' => 'Ꜳ', + 'ꜵ' => 'Ꜵ', + 'ꜷ' => 'Ꜷ', + 'ꜹ' => 'Ꜹ', + 'ꜻ' => 'Ꜻ', + 'ꜽ' => 'Ꜽ', + 'ꜿ' => 'Ꜿ', + 'ꝁ' => 'Ꝁ', + 'ꝃ' => 'Ꝃ', + 'ꝅ' => 'Ꝅ', + 'ꝇ' => 'Ꝇ', + 'ꝉ' => 'Ꝉ', + 'ꝋ' => 'Ꝋ', + 'ꝍ' => 'Ꝍ', + 'ꝏ' => 'Ꝏ', + 'ꝑ' => 'Ꝑ', + 'ꝓ' => 'Ꝓ', + 'ꝕ' => 'Ꝕ', + 'ꝗ' => 'Ꝗ', + 'ꝙ' => 'Ꝙ', + 'ꝛ' => 'Ꝛ', + 'ꝝ' => 'Ꝝ', + 'ꝟ' => 'Ꝟ', + 'ꝡ' => 'Ꝡ', + 'ꝣ' => 'Ꝣ', + 'ꝥ' => 'Ꝥ', + 'ꝧ' => 'Ꝧ', + 'ꝩ' => 'Ꝩ', + 'ꝫ' => 'Ꝫ', + 'ꝭ' => 'Ꝭ', + 'ꝯ' => 'Ꝯ', + 'ꝺ' => 'Ꝺ', + 'ꝼ' => 'Ꝼ', + 'ꝿ' => 'Ꝿ', + 'ꞁ' => 'Ꞁ', + 'ꞃ' => 'Ꞃ', + 'ꞅ' => 'Ꞅ', + 'ꞇ' => 'Ꞇ', + 'ꞌ' => 'Ꞌ', + 'ꞑ' => 'Ꞑ', + 'ꞓ' => 'Ꞓ', + 'ꞔ' => 'Ꞔ', + 'ꞗ' => 'Ꞗ', + 'ꞙ' => 'Ꞙ', + 'ꞛ' => 'Ꞛ', + 'ꞝ' => 'Ꞝ', + 'ꞟ' => 'Ꞟ', + 'ꞡ' => 'Ꞡ', + 'ꞣ' => 'Ꞣ', + 'ꞥ' => 'Ꞥ', + 'ꞧ' => 'Ꞧ', + 'ꞩ' => 'Ꞩ', + 'ꞵ' => 'Ꞵ', + 'ꞷ' => 'Ꞷ', + 'ꞹ' => 'Ꞹ', + 'ꞻ' => 'Ꞻ', + 'ꞽ' => 'Ꞽ', + 'ꞿ' => 'Ꞿ', + 'ꟃ' => 'Ꟃ', + 'ꟈ' => 'Ꟈ', + 'ꟊ' => 'Ꟊ', + 'ꟶ' => 'Ꟶ', + 'ꭓ' => 'Ꭓ', + 'ꭰ' => 'Ꭰ', + 'ꭱ' => 'Ꭱ', + 'ꭲ' => 'Ꭲ', + 'ꭳ' => 'Ꭳ', + 'ꭴ' => 'Ꭴ', + 'ꭵ' => 'Ꭵ', + 'ꭶ' => 'Ꭶ', + 'ꭷ' => 'Ꭷ', + 'ꭸ' => 'Ꭸ', + 'ꭹ' => 'Ꭹ', + 'ꭺ' => 'Ꭺ', + 'ꭻ' => 'Ꭻ', + 'ꭼ' => 'Ꭼ', + 'ꭽ' => 'Ꭽ', + 'ꭾ' => 'Ꭾ', + 'ꭿ' => 'Ꭿ', + 'ꮀ' => 'Ꮀ', + 'ꮁ' => 'Ꮁ', + 'ꮂ' => 'Ꮂ', + 'ꮃ' => 'Ꮃ', + 'ꮄ' => 'Ꮄ', + 'ꮅ' => 'Ꮅ', + 'ꮆ' => 'Ꮆ', + 'ꮇ' => 'Ꮇ', + 'ꮈ' => 'Ꮈ', + 'ꮉ' => 'Ꮉ', + 'ꮊ' => 'Ꮊ', + 'ꮋ' => 'Ꮋ', + 'ꮌ' => 'Ꮌ', + 'ꮍ' => 'Ꮍ', + 'ꮎ' => 'Ꮎ', + 'ꮏ' => 'Ꮏ', + 'ꮐ' => 'Ꮐ', + 'ꮑ' => 'Ꮑ', + 'ꮒ' => 'Ꮒ', + 'ꮓ' => 'Ꮓ', + 'ꮔ' => 'Ꮔ', + 'ꮕ' => 'Ꮕ', + 'ꮖ' => 'Ꮖ', + 'ꮗ' => 'Ꮗ', + 'ꮘ' => 'Ꮘ', + 'ꮙ' => 'Ꮙ', + 'ꮚ' => 'Ꮚ', + 'ꮛ' => 'Ꮛ', + 'ꮜ' => 'Ꮜ', + 'ꮝ' => 'Ꮝ', + 'ꮞ' => 'Ꮞ', + 'ꮟ' => 'Ꮟ', + 'ꮠ' => 'Ꮠ', + 'ꮡ' => 'Ꮡ', + 'ꮢ' => 'Ꮢ', + 'ꮣ' => 'Ꮣ', + 'ꮤ' => 'Ꮤ', + 'ꮥ' => 'Ꮥ', + 'ꮦ' => 'Ꮦ', + 'ꮧ' => 'Ꮧ', + 'ꮨ' => 'Ꮨ', + 'ꮩ' => 'Ꮩ', + 'ꮪ' => 'Ꮪ', + 'ꮫ' => 'Ꮫ', + 'ꮬ' => 'Ꮬ', + 'ꮭ' => 'Ꮭ', + 'ꮮ' => 'Ꮮ', + 'ꮯ' => 'Ꮯ', + 'ꮰ' => 'Ꮰ', + 'ꮱ' => 'Ꮱ', + 'ꮲ' => 'Ꮲ', + 'ꮳ' => 'Ꮳ', + 'ꮴ' => 'Ꮴ', + 'ꮵ' => 'Ꮵ', + 'ꮶ' => 'Ꮶ', + 'ꮷ' => 'Ꮷ', + 'ꮸ' => 'Ꮸ', + 'ꮹ' => 'Ꮹ', + 'ꮺ' => 'Ꮺ', + 'ꮻ' => 'Ꮻ', + 'ꮼ' => 'Ꮼ', + 'ꮽ' => 'Ꮽ', + 'ꮾ' => 'Ꮾ', + 'ꮿ' => 'Ꮿ', + 'a' => 'A', + 'b' => 'B', + 'c' => 'C', + 'd' => 'D', + 'e' => 'E', + 'f' => 'F', + 'g' => 'G', + 'h' => 'H', + 'i' => 'I', + 'j' => 'J', + 'k' => 'K', + 'l' => 'L', + 'm' => 'M', + 'n' => 'N', + 'o' => 'O', + 'p' => 'P', + 'q' => 'Q', + 'r' => 'R', + 's' => 'S', + 't' => 'T', + 'u' => 'U', + 'v' => 'V', + 'w' => 'W', + 'x' => 'X', + 'y' => 'Y', + 'z' => 'Z', + '𐐨' => '𐐀', + '𐐩' => '𐐁', + '𐐪' => '𐐂', + '𐐫' => '𐐃', + '𐐬' => '𐐄', + '𐐭' => '𐐅', + '𐐮' => '𐐆', + '𐐯' => '𐐇', + '𐐰' => '𐐈', + '𐐱' => '𐐉', + '𐐲' => '𐐊', + '𐐳' => '𐐋', + '𐐴' => '𐐌', + '𐐵' => '𐐍', + '𐐶' => '𐐎', + '𐐷' => '𐐏', + '𐐸' => '𐐐', + '𐐹' => '𐐑', + '𐐺' => '𐐒', + '𐐻' => '𐐓', + '𐐼' => '𐐔', + '𐐽' => '𐐕', + '𐐾' => '𐐖', + '𐐿' => '𐐗', + '𐑀' => '𐐘', + '𐑁' => '𐐙', + '𐑂' => '𐐚', + '𐑃' => '𐐛', + '𐑄' => '𐐜', + '𐑅' => '𐐝', + '𐑆' => '𐐞', + '𐑇' => '𐐟', + '𐑈' => '𐐠', + '𐑉' => '𐐡', + '𐑊' => '𐐢', + '𐑋' => '𐐣', + '𐑌' => '𐐤', + '𐑍' => '𐐥', + '𐑎' => '𐐦', + '𐑏' => '𐐧', + '𐓘' => '𐒰', + '𐓙' => '𐒱', + '𐓚' => '𐒲', + '𐓛' => '𐒳', + '𐓜' => '𐒴', + '𐓝' => '𐒵', + '𐓞' => '𐒶', + '𐓟' => '𐒷', + '𐓠' => '𐒸', + '𐓡' => '𐒹', + '𐓢' => '𐒺', + '𐓣' => '𐒻', + '𐓤' => '𐒼', + '𐓥' => '𐒽', + '𐓦' => '𐒾', + '𐓧' => '𐒿', + '𐓨' => '𐓀', + '𐓩' => '𐓁', + '𐓪' => '𐓂', + '𐓫' => '𐓃', + '𐓬' => '𐓄', + '𐓭' => '𐓅', + '𐓮' => '𐓆', + '𐓯' => '𐓇', + '𐓰' => '𐓈', + '𐓱' => '𐓉', + '𐓲' => '𐓊', + '𐓳' => '𐓋', + '𐓴' => '𐓌', + '𐓵' => '𐓍', + '𐓶' => '𐓎', + '𐓷' => '𐓏', + '𐓸' => '𐓐', + '𐓹' => '𐓑', + '𐓺' => '𐓒', + '𐓻' => '𐓓', + '𐳀' => '𐲀', + '𐳁' => '𐲁', + '𐳂' => '𐲂', + '𐳃' => '𐲃', + '𐳄' => '𐲄', + '𐳅' => '𐲅', + '𐳆' => '𐲆', + '𐳇' => '𐲇', + '𐳈' => '𐲈', + '𐳉' => '𐲉', + '𐳊' => '𐲊', + '𐳋' => '𐲋', + '𐳌' => '𐲌', + '𐳍' => '𐲍', + '𐳎' => '𐲎', + '𐳏' => '𐲏', + '𐳐' => '𐲐', + '𐳑' => '𐲑', + '𐳒' => '𐲒', + '𐳓' => '𐲓', + '𐳔' => '𐲔', + '𐳕' => '𐲕', + '𐳖' => '𐲖', + '𐳗' => '𐲗', + '𐳘' => '𐲘', + '𐳙' => '𐲙', + '𐳚' => '𐲚', + '𐳛' => '𐲛', + '𐳜' => '𐲜', + '𐳝' => '𐲝', + '𐳞' => '𐲞', + '𐳟' => '𐲟', + '𐳠' => '𐲠', + '𐳡' => '𐲡', + '𐳢' => '𐲢', + '𐳣' => '𐲣', + '𐳤' => '𐲤', + '𐳥' => '𐲥', + '𐳦' => '𐲦', + '𐳧' => '𐲧', + '𐳨' => '𐲨', + '𐳩' => '𐲩', + '𐳪' => '𐲪', + '𐳫' => '𐲫', + '𐳬' => '𐲬', + '𐳭' => '𐲭', + '𐳮' => '𐲮', + '𐳯' => '𐲯', + '𐳰' => '𐲰', + '𐳱' => '𐲱', + '𐳲' => '𐲲', + '𑣀' => '𑢠', + '𑣁' => '𑢡', + '𑣂' => '𑢢', + '𑣃' => '𑢣', + '𑣄' => '𑢤', + '𑣅' => '𑢥', + '𑣆' => '𑢦', + '𑣇' => '𑢧', + '𑣈' => '𑢨', + '𑣉' => '𑢩', + '𑣊' => '𑢪', + '𑣋' => '𑢫', + '𑣌' => '𑢬', + '𑣍' => '𑢭', + '𑣎' => '𑢮', + '𑣏' => '𑢯', + '𑣐' => '𑢰', + '𑣑' => '𑢱', + '𑣒' => '𑢲', + '𑣓' => '𑢳', + '𑣔' => '𑢴', + '𑣕' => '𑢵', + '𑣖' => '𑢶', + '𑣗' => '𑢷', + '𑣘' => '𑢸', + '𑣙' => '𑢹', + '𑣚' => '𑢺', + '𑣛' => '𑢻', + '𑣜' => '𑢼', + '𑣝' => '𑢽', + '𑣞' => '𑢾', + '𑣟' => '𑢿', + '𖹠' => '𖹀', + '𖹡' => '𖹁', + '𖹢' => '𖹂', + '𖹣' => '𖹃', + '𖹤' => '𖹄', + '𖹥' => '𖹅', + '𖹦' => '𖹆', + '𖹧' => '𖹇', + '𖹨' => '𖹈', + '𖹩' => '𖹉', + '𖹪' => '𖹊', + '𖹫' => '𖹋', + '𖹬' => '𖹌', + '𖹭' => '𖹍', + '𖹮' => '𖹎', + '𖹯' => '𖹏', + '𖹰' => '𖹐', + '𖹱' => '𖹑', + '𖹲' => '𖹒', + '𖹳' => '𖹓', + '𖹴' => '𖹔', + '𖹵' => '𖹕', + '𖹶' => '𖹖', + '𖹷' => '𖹗', + '𖹸' => '𖹘', + '𖹹' => '𖹙', + '𖹺' => '𖹚', + '𖹻' => '𖹛', + '𖹼' => '𖹜', + '𖹽' => '𖹝', + '𖹾' => '𖹞', + '𖹿' => '𖹟', + '𞤢' => '𞤀', + '𞤣' => '𞤁', + '𞤤' => '𞤂', + '𞤥' => '𞤃', + '𞤦' => '𞤄', + '𞤧' => '𞤅', + '𞤨' => '𞤆', + '𞤩' => '𞤇', + '𞤪' => '𞤈', + '𞤫' => '𞤉', + '𞤬' => '𞤊', + '𞤭' => '𞤋', + '𞤮' => '𞤌', + '𞤯' => '𞤍', + '𞤰' => '𞤎', + '𞤱' => '𞤏', + '𞤲' => '𞤐', + '𞤳' => '𞤑', + '𞤴' => '𞤒', + '𞤵' => '𞤓', + '𞤶' => '𞤔', + '𞤷' => '𞤕', + '𞤸' => '𞤖', + '𞤹' => '𞤗', + '𞤺' => '𞤘', + '𞤻' => '𞤙', + '𞤼' => '𞤚', + '𞤽' => '𞤛', + '𞤾' => '𞤜', + '𞤿' => '𞤝', + '𞥀' => '𞤞', + '𞥁' => '𞤟', + '𞥂' => '𞤠', + '𞥃' => '𞤡', + 'ß' => 'SS', + 'ff' => 'FF', + 'fi' => 'FI', + 'fl' => 'FL', + 'ffi' => 'FFI', + 'ffl' => 'FFL', + 'ſt' => 'ST', + 'st' => 'ST', + 'և' => 'ԵՒ', + 'ﬓ' => 'ՄՆ', + 'ﬔ' => 'ՄԵ', + 'ﬕ' => 'ՄԻ', + 'ﬖ' => 'ՎՆ', + 'ﬗ' => 'ՄԽ', + 'ʼn' => 'ʼN', + 'ΐ' => 'Ϊ́', + 'ΰ' => 'Ϋ́', + 'ǰ' => 'J̌', + 'ẖ' => 'H̱', + 'ẗ' => 'T̈', + 'ẘ' => 'W̊', + 'ẙ' => 'Y̊', + 'ẚ' => 'Aʾ', + 'ὐ' => 'Υ̓', + 'ὒ' => 'Υ̓̀', + 'ὔ' => 'Υ̓́', + 'ὖ' => 'Υ̓͂', + 'ᾶ' => 'Α͂', + 'ῆ' => 'Η͂', + 'ῒ' => 'Ϊ̀', + 'ΐ' => 'Ϊ́', + 'ῖ' => 'Ι͂', + 'ῗ' => 'Ϊ͂', + 'ῢ' => 'Ϋ̀', + 'ΰ' => 'Ϋ́', + 'ῤ' => 'Ρ̓', + 'ῦ' => 'Υ͂', + 'ῧ' => 'Ϋ͂', + 'ῶ' => 'Ω͂', + 'ᾈ' => 'ἈΙ', + 'ᾉ' => 'ἉΙ', + 'ᾊ' => 'ἊΙ', + 'ᾋ' => 'ἋΙ', + 'ᾌ' => 'ἌΙ', + 'ᾍ' => 'ἍΙ', + 'ᾎ' => 'ἎΙ', + 'ᾏ' => 'ἏΙ', + 'ᾘ' => 'ἨΙ', + 'ᾙ' => 'ἩΙ', + 'ᾚ' => 'ἪΙ', + 'ᾛ' => 'ἫΙ', + 'ᾜ' => 'ἬΙ', + 'ᾝ' => 'ἭΙ', + 'ᾞ' => 'ἮΙ', + 'ᾟ' => 'ἯΙ', + 'ᾨ' => 'ὨΙ', + 'ᾩ' => 'ὩΙ', + 'ᾪ' => 'ὪΙ', + 'ᾫ' => 'ὫΙ', + 'ᾬ' => 'ὬΙ', + 'ᾭ' => 'ὭΙ', + 'ᾮ' => 'ὮΙ', + 'ᾯ' => 'ὯΙ', + 'ᾼ' => 'ΑΙ', + 'ῌ' => 'ΗΙ', + 'ῼ' => 'ΩΙ', + 'ᾲ' => 'ᾺΙ', + 'ᾴ' => 'ΆΙ', + 'ῂ' => 'ῊΙ', + 'ῄ' => 'ΉΙ', + 'ῲ' => 'ῺΙ', + 'ῴ' => 'ΏΙ', + 'ᾷ' => 'Α͂Ι', + 'ῇ' => 'Η͂Ι', + 'ῷ' => 'Ω͂Ι', +); diff --git a/pandora_console/vendor/symfony/polyfill-mbstring/bootstrap.php b/pandora_console/vendor/symfony/polyfill-mbstring/bootstrap.php new file mode 100644 index 0000000000..1fedd1f7c8 --- /dev/null +++ b/pandora_console/vendor/symfony/polyfill-mbstring/bootstrap.php @@ -0,0 +1,147 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +use Symfony\Polyfill\Mbstring as p; + +if (\PHP_VERSION_ID >= 80000) { + return require __DIR__.'/bootstrap80.php'; +} + +if (!function_exists('mb_convert_encoding')) { + function mb_convert_encoding($string, $to_encoding, $from_encoding = null) { return p\Mbstring::mb_convert_encoding($string, $to_encoding, $from_encoding); } +} +if (!function_exists('mb_decode_mimeheader')) { + function mb_decode_mimeheader($string) { return p\Mbstring::mb_decode_mimeheader($string); } +} +if (!function_exists('mb_encode_mimeheader')) { + function mb_encode_mimeheader($string, $charset = null, $transfer_encoding = null, $newline = "\r\n", $indent = 0) { return p\Mbstring::mb_encode_mimeheader($string, $charset, $transfer_encoding, $newline, $indent); } +} +if (!function_exists('mb_decode_numericentity')) { + function mb_decode_numericentity($string, $map, $encoding = null) { return p\Mbstring::mb_decode_numericentity($string, $map, $encoding); } +} +if (!function_exists('mb_encode_numericentity')) { + function mb_encode_numericentity($string, $map, $encoding = null, $hex = false) { return p\Mbstring::mb_encode_numericentity($string, $map, $encoding, $hex); } +} +if (!function_exists('mb_convert_case')) { + function mb_convert_case($string, $mode, $encoding = null) { return p\Mbstring::mb_convert_case($string, $mode, $encoding); } +} +if (!function_exists('mb_internal_encoding')) { + function mb_internal_encoding($encoding = null) { return p\Mbstring::mb_internal_encoding($encoding); } +} +if (!function_exists('mb_language')) { + function mb_language($language = null) { return p\Mbstring::mb_language($language); } +} +if (!function_exists('mb_list_encodings')) { + function mb_list_encodings() { return p\Mbstring::mb_list_encodings(); } +} +if (!function_exists('mb_encoding_aliases')) { + function mb_encoding_aliases($encoding) { return p\Mbstring::mb_encoding_aliases($encoding); } +} +if (!function_exists('mb_check_encoding')) { + function mb_check_encoding($value = null, $encoding = null) { return p\Mbstring::mb_check_encoding($value, $encoding); } +} +if (!function_exists('mb_detect_encoding')) { + function mb_detect_encoding($string, $encodings = null, $strict = false) { return p\Mbstring::mb_detect_encoding($string, $encodings, $strict); } +} +if (!function_exists('mb_detect_order')) { + function mb_detect_order($encoding = null) { return p\Mbstring::mb_detect_order($encoding); } +} +if (!function_exists('mb_parse_str')) { + function mb_parse_str($string, &$result = []) { parse_str($string, $result); return (bool) $result; } +} +if (!function_exists('mb_strlen')) { + function mb_strlen($string, $encoding = null) { return p\Mbstring::mb_strlen($string, $encoding); } +} +if (!function_exists('mb_strpos')) { + function mb_strpos($haystack, $needle, $offset = 0, $encoding = null) { return p\Mbstring::mb_strpos($haystack, $needle, $offset, $encoding); } +} +if (!function_exists('mb_strtolower')) { + function mb_strtolower($string, $encoding = null) { return p\Mbstring::mb_strtolower($string, $encoding); } +} +if (!function_exists('mb_strtoupper')) { + function mb_strtoupper($string, $encoding = null) { return p\Mbstring::mb_strtoupper($string, $encoding); } +} +if (!function_exists('mb_substitute_character')) { + function mb_substitute_character($substitute_character = null) { return p\Mbstring::mb_substitute_character($substitute_character); } +} +if (!function_exists('mb_substr')) { + function mb_substr($string, $start, $length = 2147483647, $encoding = null) { return p\Mbstring::mb_substr($string, $start, $length, $encoding); } +} +if (!function_exists('mb_stripos')) { + function mb_stripos($haystack, $needle, $offset = 0, $encoding = null) { return p\Mbstring::mb_stripos($haystack, $needle, $offset, $encoding); } +} +if (!function_exists('mb_stristr')) { + function mb_stristr($haystack, $needle, $before_needle = false, $encoding = null) { return p\Mbstring::mb_stristr($haystack, $needle, $before_needle, $encoding); } +} +if (!function_exists('mb_strrchr')) { + function mb_strrchr($haystack, $needle, $before_needle = false, $encoding = null) { return p\Mbstring::mb_strrchr($haystack, $needle, $before_needle, $encoding); } +} +if (!function_exists('mb_strrichr')) { + function mb_strrichr($haystack, $needle, $before_needle = false, $encoding = null) { return p\Mbstring::mb_strrichr($haystack, $needle, $before_needle, $encoding); } +} +if (!function_exists('mb_strripos')) { + function mb_strripos($haystack, $needle, $offset = 0, $encoding = null) { return p\Mbstring::mb_strripos($haystack, $needle, $offset, $encoding); } +} +if (!function_exists('mb_strrpos')) { + function mb_strrpos($haystack, $needle, $offset = 0, $encoding = null) { return p\Mbstring::mb_strrpos($haystack, $needle, $offset, $encoding); } +} +if (!function_exists('mb_strstr')) { + function mb_strstr($haystack, $needle, $before_needle = false, $encoding = null) { return p\Mbstring::mb_strstr($haystack, $needle, $before_needle, $encoding); } +} +if (!function_exists('mb_get_info')) { + function mb_get_info($type = 'all') { return p\Mbstring::mb_get_info($type); } +} +if (!function_exists('mb_http_output')) { + function mb_http_output($encoding = null) { return p\Mbstring::mb_http_output($encoding); } +} +if (!function_exists('mb_strwidth')) { + function mb_strwidth($string, $encoding = null) { return p\Mbstring::mb_strwidth($string, $encoding); } +} +if (!function_exists('mb_substr_count')) { + function mb_substr_count($haystack, $needle, $encoding = null) { return p\Mbstring::mb_substr_count($haystack, $needle, $encoding); } +} +if (!function_exists('mb_output_handler')) { + function mb_output_handler($string, $status) { return p\Mbstring::mb_output_handler($string, $status); } +} +if (!function_exists('mb_http_input')) { + function mb_http_input($type = null) { return p\Mbstring::mb_http_input($type); } +} + +if (!function_exists('mb_convert_variables')) { + function mb_convert_variables($to_encoding, $from_encoding, &...$vars) { return p\Mbstring::mb_convert_variables($to_encoding, $from_encoding, ...$vars); } +} + +if (!function_exists('mb_ord')) { + function mb_ord($string, $encoding = null) { return p\Mbstring::mb_ord($string, $encoding); } +} +if (!function_exists('mb_chr')) { + function mb_chr($codepoint, $encoding = null) { return p\Mbstring::mb_chr($codepoint, $encoding); } +} +if (!function_exists('mb_scrub')) { + function mb_scrub($string, $encoding = null) { $encoding = null === $encoding ? mb_internal_encoding() : $encoding; return mb_convert_encoding($string, $encoding, $encoding); } +} +if (!function_exists('mb_str_split')) { + function mb_str_split($string, $length = 1, $encoding = null) { return p\Mbstring::mb_str_split($string, $length, $encoding); } +} + +if (extension_loaded('mbstring')) { + return; +} + +if (!defined('MB_CASE_UPPER')) { + define('MB_CASE_UPPER', 0); +} +if (!defined('MB_CASE_LOWER')) { + define('MB_CASE_LOWER', 1); +} +if (!defined('MB_CASE_TITLE')) { + define('MB_CASE_TITLE', 2); +} diff --git a/pandora_console/vendor/symfony/polyfill-mbstring/bootstrap80.php b/pandora_console/vendor/symfony/polyfill-mbstring/bootstrap80.php new file mode 100644 index 0000000000..82f5ac4d0f --- /dev/null +++ b/pandora_console/vendor/symfony/polyfill-mbstring/bootstrap80.php @@ -0,0 +1,143 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +use Symfony\Polyfill\Mbstring as p; + +if (!function_exists('mb_convert_encoding')) { + function mb_convert_encoding(array|string|null $string, ?string $to_encoding, array|string|null $from_encoding = null): array|string|false { return p\Mbstring::mb_convert_encoding($string ?? '', (string) $to_encoding, $from_encoding); } +} +if (!function_exists('mb_decode_mimeheader')) { + function mb_decode_mimeheader(?string $string): string { return p\Mbstring::mb_decode_mimeheader((string) $string); } +} +if (!function_exists('mb_encode_mimeheader')) { + function mb_encode_mimeheader(?string $string, ?string $charset = null, ?string $transfer_encoding = null, ?string $newline = "\r\n", ?int $indent = 0): string { return p\Mbstring::mb_encode_mimeheader((string) $string, $charset, $transfer_encoding, (string) $newline, (int) $indent); } +} +if (!function_exists('mb_decode_numericentity')) { + function mb_decode_numericentity(?string $string, array $map, ?string $encoding = null): string { return p\Mbstring::mb_decode_numericentity((string) $string, $map, $encoding); } +} +if (!function_exists('mb_encode_numericentity')) { + function mb_encode_numericentity(?string $string, array $map, ?string $encoding = null, ?bool $hex = false): string { return p\Mbstring::mb_encode_numericentity((string) $string, $map, $encoding, (bool) $hex); } +} +if (!function_exists('mb_convert_case')) { + function mb_convert_case(?string $string, ?int $mode, ?string $encoding = null): string { return p\Mbstring::mb_convert_case((string) $string, (int) $mode, $encoding); } +} +if (!function_exists('mb_internal_encoding')) { + function mb_internal_encoding(?string $encoding = null): string|bool { return p\Mbstring::mb_internal_encoding($encoding); } +} +if (!function_exists('mb_language')) { + function mb_language(?string $language = null): string|bool { return p\Mbstring::mb_language($language); } +} +if (!function_exists('mb_list_encodings')) { + function mb_list_encodings(): array { return p\Mbstring::mb_list_encodings(); } +} +if (!function_exists('mb_encoding_aliases')) { + function mb_encoding_aliases(?string $encoding): array { return p\Mbstring::mb_encoding_aliases((string) $encoding); } +} +if (!function_exists('mb_check_encoding')) { + function mb_check_encoding(array|string|null $value = null, ?string $encoding = null): bool { return p\Mbstring::mb_check_encoding($value, $encoding); } +} +if (!function_exists('mb_detect_encoding')) { + function mb_detect_encoding(?string $string, array|string|null $encodings = null, ?bool $strict = false): string|false { return p\Mbstring::mb_detect_encoding((string) $string, $encodings, (bool) $strict); } +} +if (!function_exists('mb_detect_order')) { + function mb_detect_order(array|string|null $encoding = null): array|bool { return p\Mbstring::mb_detect_order($encoding); } +} +if (!function_exists('mb_parse_str')) { + function mb_parse_str(?string $string, &$result = []): bool { parse_str((string) $string, $result); return (bool) $result; } +} +if (!function_exists('mb_strlen')) { + function mb_strlen(?string $string, ?string $encoding = null): int { return p\Mbstring::mb_strlen((string) $string, $encoding); } +} +if (!function_exists('mb_strpos')) { + function mb_strpos(?string $haystack, ?string $needle, ?int $offset = 0, ?string $encoding = null): int|false { return p\Mbstring::mb_strpos((string) $haystack, (string) $needle, (int) $offset, $encoding); } +} +if (!function_exists('mb_strtolower')) { + function mb_strtolower(?string $string, ?string $encoding = null): string { return p\Mbstring::mb_strtolower((string) $string, $encoding); } +} +if (!function_exists('mb_strtoupper')) { + function mb_strtoupper(?string $string, ?string $encoding = null): string { return p\Mbstring::mb_strtoupper((string) $string, $encoding); } +} +if (!function_exists('mb_substitute_character')) { + function mb_substitute_character(string|int|null $substitute_character = null): string|int|bool { return p\Mbstring::mb_substitute_character($substitute_character); } +} +if (!function_exists('mb_substr')) { + function mb_substr(?string $string, ?int $start, ?int $length = null, ?string $encoding = null): string { return p\Mbstring::mb_substr((string) $string, (int) $start, $length, $encoding); } +} +if (!function_exists('mb_stripos')) { + function mb_stripos(?string $haystack, ?string $needle, ?int $offset = 0, ?string $encoding = null): int|false { return p\Mbstring::mb_stripos((string) $haystack, (string) $needle, (int) $offset, $encoding); } +} +if (!function_exists('mb_stristr')) { + function mb_stristr(?string $haystack, ?string $needle, ?bool $before_needle = false, ?string $encoding = null): string|false { return p\Mbstring::mb_stristr((string) $haystack, (string) $needle, (bool) $before_needle, $encoding); } +} +if (!function_exists('mb_strrchr')) { + function mb_strrchr(?string $haystack, ?string $needle, ?bool $before_needle = false, ?string $encoding = null): string|false { return p\Mbstring::mb_strrchr((string) $haystack, (string) $needle, (bool) $before_needle, $encoding); } +} +if (!function_exists('mb_strrichr')) { + function mb_strrichr(?string $haystack, ?string $needle, ?bool $before_needle = false, ?string $encoding = null): string|false { return p\Mbstring::mb_strrichr((string) $haystack, (string) $needle, (bool) $before_needle, $encoding); } +} +if (!function_exists('mb_strripos')) { + function mb_strripos(?string $haystack, ?string $needle, ?int $offset = 0, ?string $encoding = null): int|false { return p\Mbstring::mb_strripos((string) $haystack, (string) $needle, (int) $offset, $encoding); } +} +if (!function_exists('mb_strrpos')) { + function mb_strrpos(?string $haystack, ?string $needle, ?int $offset = 0, ?string $encoding = null): int|false { return p\Mbstring::mb_strrpos((string) $haystack, (string) $needle, (int) $offset, $encoding); } +} +if (!function_exists('mb_strstr')) { + function mb_strstr(?string $haystack, ?string $needle, ?bool $before_needle = false, ?string $encoding = null): string|false { return p\Mbstring::mb_strstr((string) $haystack, (string) $needle, (bool) $before_needle, $encoding); } +} +if (!function_exists('mb_get_info')) { + function mb_get_info(?string $type = 'all'): array|string|int|false { return p\Mbstring::mb_get_info((string) $type); } +} +if (!function_exists('mb_http_output')) { + function mb_http_output(?string $encoding = null): string|bool { return p\Mbstring::mb_http_output($encoding); } +} +if (!function_exists('mb_strwidth')) { + function mb_strwidth(?string $string, ?string $encoding = null): int { return p\Mbstring::mb_strwidth((string) $string, $encoding); } +} +if (!function_exists('mb_substr_count')) { + function mb_substr_count(?string $haystack, ?string $needle, ?string $encoding = null): int { return p\Mbstring::mb_substr_count((string) $haystack, (string) $needle, $encoding); } +} +if (!function_exists('mb_output_handler')) { + function mb_output_handler(?string $string, ?int $status): string { return p\Mbstring::mb_output_handler((string) $string, (int) $status); } +} +if (!function_exists('mb_http_input')) { + function mb_http_input(?string $type = null): array|string|false { return p\Mbstring::mb_http_input($type); } +} + +if (!function_exists('mb_convert_variables')) { + function mb_convert_variables(?string $to_encoding, array|string|null $from_encoding, mixed &$var, mixed &...$vars): string|false { return p\Mbstring::mb_convert_variables((string) $to_encoding, $from_encoding ?? '', $var, ...$vars); } +} + +if (!function_exists('mb_ord')) { + function mb_ord(?string $string, ?string $encoding = null): int|false { return p\Mbstring::mb_ord((string) $string, $encoding); } +} +if (!function_exists('mb_chr')) { + function mb_chr(?int $codepoint, ?string $encoding = null): string|false { return p\Mbstring::mb_chr((int) $codepoint, $encoding); } +} +if (!function_exists('mb_scrub')) { + function mb_scrub(?string $string, ?string $encoding = null): string { $encoding ??= mb_internal_encoding(); return mb_convert_encoding((string) $string, $encoding, $encoding); } +} +if (!function_exists('mb_str_split')) { + function mb_str_split(?string $string, ?int $length = 1, ?string $encoding = null): array { return p\Mbstring::mb_str_split((string) $string, (int) $length, $encoding); } +} + +if (extension_loaded('mbstring')) { + return; +} + +if (!defined('MB_CASE_UPPER')) { + define('MB_CASE_UPPER', 0); +} +if (!defined('MB_CASE_LOWER')) { + define('MB_CASE_LOWER', 1); +} +if (!defined('MB_CASE_TITLE')) { + define('MB_CASE_TITLE', 2); +} diff --git a/pandora_console/vendor/symfony/polyfill-mbstring/composer.json b/pandora_console/vendor/symfony/polyfill-mbstring/composer.json new file mode 100644 index 0000000000..1fa21ca16c --- /dev/null +++ b/pandora_console/vendor/symfony/polyfill-mbstring/composer.json @@ -0,0 +1,41 @@ +{ + "name": "symfony/polyfill-mbstring", + "type": "library", + "description": "Symfony polyfill for the Mbstring extension", + "keywords": ["polyfill", "shim", "compatibility", "portable", "mbstring"], + "homepage": "https://symfony.com", + "license": "MIT", + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "require": { + "php": ">=7.1" + }, + "provide": { + "ext-mbstring": "*" + }, + "autoload": { + "psr-4": { "Symfony\\Polyfill\\Mbstring\\": "" }, + "files": [ "bootstrap.php" ] + }, + "suggest": { + "ext-mbstring": "For best performance" + }, + "minimum-stability": "dev", + "extra": { + "branch-alias": { + "dev-main": "1.23-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + } +} diff --git a/pandora_console/vendor/symfony/polyfill-php72/LICENSE b/pandora_console/vendor/symfony/polyfill-php72/LICENSE new file mode 100644 index 0000000000..4cd8bdd300 --- /dev/null +++ b/pandora_console/vendor/symfony/polyfill-php72/LICENSE @@ -0,0 +1,19 @@ +Copyright (c) 2015-2019 Fabien Potencier + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is furnished +to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/pandora_console/vendor/symfony/polyfill-php72/Php72.php b/pandora_console/vendor/symfony/polyfill-php72/Php72.php new file mode 100644 index 0000000000..5e20d5bf8f --- /dev/null +++ b/pandora_console/vendor/symfony/polyfill-php72/Php72.php @@ -0,0 +1,217 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Polyfill\Php72; + +/** + * @author Nicolas Grekas + * @author Dariusz Rumiński + * + * @internal + */ +final class Php72 +{ + private static $hashMask; + + public static function utf8_encode($s) + { + $s .= $s; + $len = \strlen($s); + + for ($i = $len >> 1, $j = 0; $i < $len; ++$i, ++$j) { + switch (true) { + case $s[$i] < "\x80": $s[$j] = $s[$i]; break; + case $s[$i] < "\xC0": $s[$j] = "\xC2"; $s[++$j] = $s[$i]; break; + default: $s[$j] = "\xC3"; $s[++$j] = \chr(\ord($s[$i]) - 64); break; + } + } + + return substr($s, 0, $j); + } + + public static function utf8_decode($s) + { + $s = (string) $s; + $len = \strlen($s); + + for ($i = 0, $j = 0; $i < $len; ++$i, ++$j) { + switch ($s[$i] & "\xF0") { + case "\xC0": + case "\xD0": + $c = (\ord($s[$i] & "\x1F") << 6) | \ord($s[++$i] & "\x3F"); + $s[$j] = $c < 256 ? \chr($c) : '?'; + break; + + case "\xF0": + ++$i; + // no break + + case "\xE0": + $s[$j] = '?'; + $i += 2; + break; + + default: + $s[$j] = $s[$i]; + } + } + + return substr($s, 0, $j); + } + + public static function php_os_family() + { + if ('\\' === \DIRECTORY_SEPARATOR) { + return 'Windows'; + } + + $map = [ + 'Darwin' => 'Darwin', + 'DragonFly' => 'BSD', + 'FreeBSD' => 'BSD', + 'NetBSD' => 'BSD', + 'OpenBSD' => 'BSD', + 'Linux' => 'Linux', + 'SunOS' => 'Solaris', + ]; + + return isset($map[\PHP_OS]) ? $map[\PHP_OS] : 'Unknown'; + } + + public static function spl_object_id($object) + { + if (null === self::$hashMask) { + self::initHashMask(); + } + if (null === $hash = spl_object_hash($object)) { + return; + } + + // On 32-bit systems, PHP_INT_SIZE is 4, + return self::$hashMask ^ hexdec(substr($hash, 16 - (\PHP_INT_SIZE * 2 - 1), (\PHP_INT_SIZE * 2 - 1))); + } + + public static function sapi_windows_vt100_support($stream, $enable = null) + { + if (!\is_resource($stream)) { + trigger_error('sapi_windows_vt100_support() expects parameter 1 to be resource, '.\gettype($stream).' given', \E_USER_WARNING); + + return false; + } + + $meta = stream_get_meta_data($stream); + + if ('STDIO' !== $meta['stream_type']) { + trigger_error('sapi_windows_vt100_support() was not able to analyze the specified stream', \E_USER_WARNING); + + return false; + } + + // We cannot actually disable vt100 support if it is set + if (false === $enable || !self::stream_isatty($stream)) { + return false; + } + + // The native function does not apply to stdin + $meta = array_map('strtolower', $meta); + $stdin = 'php://stdin' === $meta['uri'] || 'php://fd/0' === $meta['uri']; + + return !$stdin + && (false !== getenv('ANSICON') + || 'ON' === getenv('ConEmuANSI') + || 'xterm' === getenv('TERM') + || 'Hyper' === getenv('TERM_PROGRAM')); + } + + public static function stream_isatty($stream) + { + if (!\is_resource($stream)) { + trigger_error('stream_isatty() expects parameter 1 to be resource, '.\gettype($stream).' given', \E_USER_WARNING); + + return false; + } + + if ('\\' === \DIRECTORY_SEPARATOR) { + $stat = @fstat($stream); + // Check if formatted mode is S_IFCHR + return $stat ? 0020000 === ($stat['mode'] & 0170000) : false; + } + + return \function_exists('posix_isatty') && @posix_isatty($stream); + } + + private static function initHashMask() + { + $obj = (object) []; + self::$hashMask = -1; + + // check if we are nested in an output buffering handler to prevent a fatal error with ob_start() below + $obFuncs = ['ob_clean', 'ob_end_clean', 'ob_flush', 'ob_end_flush', 'ob_get_contents', 'ob_get_flush']; + foreach (debug_backtrace(\PHP_VERSION_ID >= 50400 ? \DEBUG_BACKTRACE_IGNORE_ARGS : false) as $frame) { + if (isset($frame['function'][0]) && !isset($frame['class']) && 'o' === $frame['function'][0] && \in_array($frame['function'], $obFuncs)) { + $frame['line'] = 0; + break; + } + } + if (!empty($frame['line'])) { + ob_start(); + debug_zval_dump($obj); + self::$hashMask = (int) substr(ob_get_clean(), 17); + } + + self::$hashMask ^= hexdec(substr(spl_object_hash($obj), 16 - (\PHP_INT_SIZE * 2 - 1), (\PHP_INT_SIZE * 2 - 1))); + } + + public static function mb_chr($code, $encoding = null) + { + if (0x80 > $code %= 0x200000) { + $s = \chr($code); + } elseif (0x800 > $code) { + $s = \chr(0xC0 | $code >> 6).\chr(0x80 | $code & 0x3F); + } elseif (0x10000 > $code) { + $s = \chr(0xE0 | $code >> 12).\chr(0x80 | $code >> 6 & 0x3F).\chr(0x80 | $code & 0x3F); + } else { + $s = \chr(0xF0 | $code >> 18).\chr(0x80 | $code >> 12 & 0x3F).\chr(0x80 | $code >> 6 & 0x3F).\chr(0x80 | $code & 0x3F); + } + + if ('UTF-8' !== $encoding = $encoding ?? mb_internal_encoding()) { + $s = mb_convert_encoding($s, $encoding, 'UTF-8'); + } + + return $s; + } + + public static function mb_ord($s, $encoding = null) + { + if (null === $encoding) { + $s = mb_convert_encoding($s, 'UTF-8'); + } elseif ('UTF-8' !== $encoding) { + $s = mb_convert_encoding($s, 'UTF-8', $encoding); + } + + if (1 === \strlen($s)) { + return \ord($s); + } + + $code = ($s = unpack('C*', substr($s, 0, 4))) ? $s[1] : 0; + if (0xF0 <= $code) { + return (($code - 0xF0) << 18) + (($s[2] - 0x80) << 12) + (($s[3] - 0x80) << 6) + $s[4] - 0x80; + } + if (0xE0 <= $code) { + return (($code - 0xE0) << 12) + (($s[2] - 0x80) << 6) + $s[3] - 0x80; + } + if (0xC0 <= $code) { + return (($code - 0xC0) << 6) + $s[2] - 0x80; + } + + return $code; + } +} diff --git a/pandora_console/vendor/symfony/polyfill-php72/README.md b/pandora_console/vendor/symfony/polyfill-php72/README.md new file mode 100644 index 0000000000..59dec8a237 --- /dev/null +++ b/pandora_console/vendor/symfony/polyfill-php72/README.md @@ -0,0 +1,28 @@ +Symfony Polyfill / Php72 +======================== + +This component provides functions added to PHP 7.2 core: + +- [`spl_object_id`](https://php.net/spl_object_id) +- [`stream_isatty`](https://php.net/stream_isatty) + +On Windows only: + +- [`sapi_windows_vt100_support`](https://php.net/sapi_windows_vt100_support) + +Moved to core since 7.2 (was in the optional XML extension earlier): + +- [`utf8_encode`](https://php.net/utf8_encode) +- [`utf8_decode`](https://php.net/utf8_decode) + +Also, it provides constants added to PHP 7.2: +- [`PHP_FLOAT_*`](https://php.net/reserved.constants#constant.php-float-dig) +- [`PHP_OS_FAMILY`](https://php.net/reserved.constants#constant.php-os-family) + +More information can be found in the +[main Polyfill README](https://github.com/symfony/polyfill/blob/master/README.md). + +License +======= + +This library is released under the [MIT license](LICENSE). diff --git a/pandora_console/vendor/symfony/polyfill-php72/bootstrap.php b/pandora_console/vendor/symfony/polyfill-php72/bootstrap.php new file mode 100644 index 0000000000..b5c92d4c7c --- /dev/null +++ b/pandora_console/vendor/symfony/polyfill-php72/bootstrap.php @@ -0,0 +1,57 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +use Symfony\Polyfill\Php72 as p; + +if (\PHP_VERSION_ID >= 70200) { + return; +} + +if (!defined('PHP_FLOAT_DIG')) { + define('PHP_FLOAT_DIG', 15); +} +if (!defined('PHP_FLOAT_EPSILON')) { + define('PHP_FLOAT_EPSILON', 2.2204460492503E-16); +} +if (!defined('PHP_FLOAT_MIN')) { + define('PHP_FLOAT_MIN', 2.2250738585072E-308); +} +if (!defined('PHP_FLOAT_MAX')) { + define('PHP_FLOAT_MAX', 1.7976931348623157E+308); +} +if (!defined('PHP_OS_FAMILY')) { + define('PHP_OS_FAMILY', p\Php72::php_os_family()); +} + +if ('\\' === \DIRECTORY_SEPARATOR && !function_exists('sapi_windows_vt100_support')) { + function sapi_windows_vt100_support($stream, $enable = null) { return p\Php72::sapi_windows_vt100_support($stream, $enable); } +} +if (!function_exists('stream_isatty')) { + function stream_isatty($stream) { return p\Php72::stream_isatty($stream); } +} +if (!function_exists('utf8_encode')) { + function utf8_encode($string) { return p\Php72::utf8_encode($string); } +} +if (!function_exists('utf8_decode')) { + function utf8_decode($string) { return p\Php72::utf8_decode($string); } +} +if (!function_exists('spl_object_id')) { + function spl_object_id($object) { return p\Php72::spl_object_id($object); } +} +if (!function_exists('mb_ord')) { + function mb_ord($string, $encoding = null) { return p\Php72::mb_ord($string, $encoding); } +} +if (!function_exists('mb_chr')) { + function mb_chr($codepoint, $encoding = null) { return p\Php72::mb_chr($codepoint, $encoding); } +} +if (!function_exists('mb_scrub')) { + function mb_scrub($string, $encoding = null) { $encoding = null === $encoding ? mb_internal_encoding() : $encoding; return mb_convert_encoding($string, $encoding, $encoding); } +} diff --git a/pandora_console/vendor/symfony/polyfill-php72/composer.json b/pandora_console/vendor/symfony/polyfill-php72/composer.json new file mode 100644 index 0000000000..c96c844778 --- /dev/null +++ b/pandora_console/vendor/symfony/polyfill-php72/composer.json @@ -0,0 +1,35 @@ +{ + "name": "symfony/polyfill-php72", + "type": "library", + "description": "Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions", + "keywords": ["polyfill", "shim", "compatibility", "portable"], + "homepage": "https://symfony.com", + "license": "MIT", + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "require": { + "php": ">=7.1" + }, + "autoload": { + "psr-4": { "Symfony\\Polyfill\\Php72\\": "" }, + "files": [ "bootstrap.php" ] + }, + "minimum-stability": "dev", + "extra": { + "branch-alias": { + "dev-main": "1.23-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + } +}

    Hssa0y9p>3MQ}upDdRs z%QYbMLcPCiRW~fjb&=JYlUfY1q~fr8p5HR12pQL}xrTD;Jn0E6&~iH^WTaw$N!i8b zJb#*UJX}{TfAPGQzb^CV^(ne2d{d>Q#&~|3QU#K!*efHs(`Zdp^}WnSAHA8Dzts6# z{^GvldT_p_p1I;Lb^eyWxbH}X-H7w8;MMjWu%nkG2AK2Vy)QH!BZIoB|AC%DkI`D2 z!F})^`e!w%H{>y~n@^Y0D|Od)N_a6371_V^a@OMM Gbp8Q9a6f7Q diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv7_2.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv7_2.dat deleted file mode 100644 index 57d216c436124e5e050d785ae92ada42239c6df4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4740 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 oqOTTx(1)A68( zaeBBoK)urSl?W6jn;+m7LaXLQd=ET23n-lheA2%4tPZE3I%yq(!9Y;D61Nm6l%-d5N5G z{eR%KWoB56Pa-Yz`oD17^%#6**vmM{efGC_j65gv*)BJe(7$~;_sQezR30Z@c^n_f z|@_2R*+~VqG9`x%B}^1cQ8sa-?Tdj;b1oP>$(zCZnUcxxS9a;Rp7Os%Epf+|yG&zx`6T zD7%xWv;XKBR8e{ct!3(o1n;gWPUpda!(q37_j<9uVm`>*kQ?Ky@_DR-57rseZduT!R<@wVH)ay`un`FzCu;5v9bJS{>Yn~f(QPuq(N zp0>&4XL)|rdh{vkjXKkOqS1u@j68GU-vF;!BMtNQRJ$N5B=5L*D;l1=cSx>v8qPBS%&lb(v zAEj5Bty-H-f3z63C$&L)qEw58M){-O9j&MD!{38-wNY-)UbJTWb*Z&xz1p8eb3E&m zOM~gWSWv3%$zs?aZ90{*qa@plG%S1VS4Xp`?e5vvmOa{&_FL7*^X0TQaFi-#(z2dD zPu@%2LSqgEtVc0+-@Ftx2MOx+wN)!I)=SkPcYV}R zR#X)FzzO`wyV#33!O`Sl)CPN!7VHO3a2fm!PT&VWffHN?9qjVj09^$=$a`yYy|t`e zWjY)jc5@)+GVPQT{7L$W74^hhr!gnblSZQr^d4r#&a3LEH}FHhf}d4qUjsMHi%GlWC=@#zQf=yN zD$rS451yy*^X~q{<%;j=H2gN+djl|MQ7828zX8~Rs5|;~J|?o0HuG#Mv*OE28#kBG zS$``us_&EEJUu{}dxQLdIbw3=PB!0ERzH9zbYik_AA_R9VOL73y)yKA>6MleB eaCY;t{o^L5|E{e6$E*IQu5s6W`Sa(mU;hAq!eV6r diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv8_1.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv8_1.dat deleted file mode 100644 index abeb98fc9c8233309534a090f91e5e5baf9d9d2f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5841 zcmdT|Icq9y6pk6ieI56G-?zVDCw6vXB_dWqL`1j{f(jNE0TrgO$S?9ISXx-7u&~Vc z9?#63@l70^kMFy1=fEVMF)!yi&tj5lrTS2nOOI8tAYb{Md}ZLuN{V`!&7>|@I`vp3 z6Ur(cQ&!Q4vI>WkRWP8e{66{edhVCo^}Xm8zQf5XD~DZK*{sUSVpdirqfn2zpjvs% z1?7^Q3*;OiNMGUrXi+b-na9+R?^5P~WI~w(;xT0oh(?q-ARJQWfM7u00r>Qu3qap+ ziB9uzti&@aWvabfcveId9l}7z@G0$?Pdb(Bja44JGpuaUY z^nadQqyBf3Bcf`xQYn{9r7ZD$I-N>Iqmf8B913~89*>(y(q^+-Ef%v`uQwQsMw7{I zcQ{zq>Gb*h{y-oYjK$*dL?W5YHAozxsUO%4)UQfGgZe zB!XMXWbW~!QazDNrK0)f*Bjy2n?bg!)j}bk&*idNk#E1>=kt15*5R<*Z8oFPV9@Jz zy60y+S)G$KqG(z zvdWMyIhY(Y2a^jrMmHss=%!#0w_&xy8ISP8%Qeo+)lcsew>~Ir_~Dl|Lx~r=fn4$k>lrg4rsJG3Ev*C&mXvm zltf-8o68qS!eDw9i}ZPzp3>aHgi)z5VK7b2W=vC;3)3_d!Zb~#Firpb`TviPrTK83 zySI3fpW}9Z2!8vo_D}OF^~)_E!zazHIqvcP)$KKp?bq44@v=T{#>?}(xBVQAYjnT! z&Q4m~VNhS3-d5bMKV9r6!w;rU_fMngayK8Y@y@n8v*DU;*K16p)r4og=2v&TJZ^g1 z^Za%8vWEMy-D~3gtJ~+^7X9JJe$sj0^;g_!G2kxWLTkD>3|8Ez*_ds%)8%Q@YBG&_ zjcpItyLo4}->kNWF5SOiBbWdiU;=Cxtbke4=erw3RbK#BzzA3YBVYyWbRV!v@g2IW z?S9jl(S7VPjpK%3Zj5W!dpNeS`#GZfEWZdu-{MYh^#wx~ME9|~pD+#BxVR78O1*~L z>dXXQdDiDIYibW7MT2(mmbp%&zw!)dgr> z;2X36*wGa)>%#z%Uc^qm<>@9myvBP^_fkK|>7MojxCHpWr+cX%z}HfIa(;jm0IWRQ zzxP1vUf2)xVJC?GyYA^eWCUpaItMy4Oo{0dyaCTJ?L_{idw^$<1N{Xj$+-zPSWJd| z9JI*8H;yF3J>82szyyHo18nlT7yWQg_o5##0U#5BdwJcrnt~t191s!`6O-PL@IHJO zd=8*OguKK&nDU*Hz{XO>AuZ`pEWpmz+=f`Dl^wk`9KWn}AdHpK*S(sPEfeA18RDNC&hsYl) yT&i=JbUkb^wfg9U_w5SMe4kguLC;I$(BXCYWv@(rmnQ#^BY&duU7h#WuYUl2^kQcK diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv8_2.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv8_2.dat deleted file mode 100644 index 57f789b6936abcbf8750674f270372c1851cabbf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5845 zcmc&&Jx?-S5EYPs0wVGupMrw&De@QS2pt`vB7{&GLI|NU21vG`FaeS+DEvkI1WF3Z zr=Xzpy|c4Nx%d*F_t8A>4&lh&-8(a9&dh>^hk|7Jd)abXwoIBWNk=M~5--i}Ze>fv zWxKhSP4-rJkiF&aKl#%g{hL48Qz9;Vy19-;W6?wY;0O4g-@CtC?Lc*%K z7cSY(owA)dWV733J3W!jYGE@Uvzd%+h9kBg%g0NH&nsu+am(3Uxa4fkopLs34mlgU zP0r@@5S^Lp9?AOPxXd82&pFjci+g}V>qJz zkte}bM4klU(C#EaK3Xo^GMd!>meTfXgSr3? zjK=--TrQiDoXb7^G_{_Fym&px6zDBXJlE`|IM1L-I~+LVHrgbZ;mW4kK^Q!e)!buCH%y zgrn>0SS%X7vRIA`M$@sGuBAwbBZ{3kqS%c_lj-=_{ApbaR%~LobHtoQEXGkJ5|qWs z$?0h#aeI4rmrUw(1uYhsqj46S~)Cv)effL=lV8Ifvuy4EzSD ztwaVmACGe+#1Y*EJ`Sy;zEor4p7wS+&(ArVR7y~%r9|gQOW>KSO;zCY;!9nMGu3zY$ zIvR5teh$rL^flH|U+5q6RUd~@p5mz#_%fS$Leb17F2B1DztH{1XP%(&gShtRKIR41 zQD5|j#=hBN)yHid{DCi?rVa-^6KFzycO8DAdwkya^VVoq*0rZ0u%v9BC+eaFtPeX= zcdb-x&bOnd;p4QWJ}a%x>r%Y>17+1N72UPYbTI<{>h_A;^5c}>*E8Cy{^ITfx1;7< zyGBP^tE#IuaMhU1m$UkCTkaKqb(?d|NmX@=SHJ$UXbr}jZna`66KXNfdSgO*U$qAc z?KM!A+Mb*4U`(;B#Wg@$>%5v;w6+*^rlxYWqFpDlTi2Qu&B;XFOw?|rJe!)-(HpO4kJIOpViJ7z!5K~fou>ml za&~T!5qsk7-Wp0<{lp{jNgVC+xyvJQ2Ab!zaV5!JgJWjcSt2S3oP^zU0K7rs9 z2tI+}75?#=xFZkn!|IsmDw(LJGAVa4VztzTa=CucnJ$wKcmiTyAan<$eMu2O?jE5G zt&6rJ=mLoTnNLQGVSU?Fo#p17JD8_I{RN14%cf$fyO~eaL4Wbm zX}KG}ip|<~`h+?`cR-#NRTYT(qfeke^b1dgO}9Se9r^uD^r60^hO0K_5bwL`GCS1@ z<6DEfU)-nZd)4NB2MXhIhIpwuHFu?|mY!G2q_rHa$Ib3rr3bx1XTW{EF^i-#_C$K7 zzw0l3wXO6&>5RL7EBcOigudQU^dxa~NN1?~ht4rlMkJ-B6|80;ujKa juW5%nXJ2Q~o0Sjk%XMD-<`n-x7C(XYv({ir9O?8w!kl7h diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv8_3.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv8_3.dat deleted file mode 100644 index 545a500d63f3881dbfb4e3dc127401b16d2dd84f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5845 zcmc&&Jx?lI6ct7S3W&&udZ7$BK~!URaBpzs&*6DTPt zEhs2`XV0Fc9DU|qufF?clUX{$oU``YYj4ovO;L)%wH)~zM>fNeq9dJ3i2k@u){HjjiWZ36F<3k$l>hvpK@C^|90Dnp+@B)T{as*B} z{5}o?{9cb7CvG{8U2+^b<#5>LI6RQUX63N#b0}sG(;mlf^Yzi;_sML%9+~ZlTV{Lg zlGz?PWws8x%=Yl$t9+p=5c)FyEw(o6@9GPlK)|v|eb{36BBH^&bvcIn=X7g9? z=kvK-Hk--No+l@6w~cjS(dgM(EOvEynM@`U7k2yM;lY8; zM(+&8tm}7mw7H*o5|^jA`v~I1+(wtb*MhkDs4kTnHlP z=ka(fc4oEinas+*h2Bd{Nn^^5G^X6lW<}ZGw|x1&o~+o!;oyu}g?OAk9E?RJNQRRGI)oUS>YM@Oh%klI!# zfa{3_GbN4bDd_p9_u)VCAl07scDas^S&ejBlt!0?u94SKM|K-knXij4ooVWU3!|Xy zF01uV@56_?_1~=%`V2Z6vZREgbO!J@XXAELZHeJ`?_*!|H>(y1U?2Dc^*|kQ9r~uy znQTr>0O)JA@&w>%;`8w|`Tl+Ei~i@S<@I78_y=`DeQ_Q0ji*Vmht1<3kJjK&#_JuF;`}=)f8qMnZ_I?N~tDA?3wrBzC!_L%mTP`){+tK~-Zraiw)K=$d zDPH}7x@wn8p4-lJF#O(#&6<&9J3*3&HbA1g1 z>DijLY6J27w$dv-cbjvaL{0OESHJ$aXbr}jZmp_R2=$z1y)hx3SM7mHYYo(;zUHPo z7%P=pm5|Oajo!FfrSp15xN6rl%4IFq0MfIaC#6NtEJmFvo+oug7FC_ZMB7ZXZnZL; z&FjPEY%*UpNMp(k$g7l9T8p%%wMb{+dUiLZ9Qpj*I8hN6EmUbi3w+MH+?9p zil|o~^#P(zK-32aoq?ziaAPctdZ9i*R>vb0VJ583OG9mIAL>N)B8_+JwOc3B96AHB zE|A?=(_VQQbwj;?U~A6wKtXZ@NTx9 z_n;^Gia68H@C|f*YN-#J=yd2?E^&ubk5X>{q4PvzW3C$PNTAXEVlMCm;b~NV1j3IM zrBv>2<`ZquUp#hNp2l;jdApt7Lub?veFA@>UwEo)y7eJDiq9{iPYp-uxN2k0@w%HX zXJ4x_zBG6`i05?wuG+lrKxJIc;8#-j)>Ex%<%g9zX)Q{kBMnxH5S9Ny?O5kuG+HCQ%!s>7{0=M zHOATG%?Dhup79Ct(Fg3X$^0`Pu+z#aPbT;P{ZOqD)7cU}V4U8=5A+#DJ;t9>gE9O? zdAC%pWqdr<-~*uSgWecE0Lnh7RZ%yf?1O;{J*FLY?t34=4>msZFSiBpH>LOovG^0% MxN7sK#gWPU16o;PWdHyG diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv9_0.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv9_0.dat deleted file mode 100644 index e88c008d12688916058aed4d3b2140c71b056e2a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7044 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 AOaK4? diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv9_3.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/qrv9_3.dat deleted file mode 100644 index 539445e5ad2a94e8dc9a70c7382042a584344e32..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7047 zcmcgxJ5MTI7Zyi?Tm?ov-tfXjKtMtG19XIrj!+pwsEi@RP#FUx78EA|5()}`5kG;F zg3^M5(s!>}^T^C7z6Z|xeX~z8gv_k{+}7HhbF!JNZr!DMrEYoMBzeW@O2iZ5kFu^~ zyrL2Px(f3O1@$X%sb3f8y!5+gGb{I3H%`Q3%Jnz8@uV3WB|M zZ|(lzjr$kd#ms*k@2U$$EQ{Az_$wD5*dH`f8m2}xNnAU*&Unchu)<-`d0OKr*3jYcB;t;Hgy<>ArM@iEm*rEYJjrrW(IF0ONXn@XkA zcX!9fM@JNHdgkUPnWSf2E~k@f27{qcFc=72US3?t^8UWhcW|I?b7iq?nYN`JGd&Xy zUx|xQ27_kv&Wlc*aTp0b_R3E%YT2eMCbChND2W5ji0xs?r zw|m{ZgYT;RKws(&VoJS4ndX#6qreGV+%*ozy17T4RXIYxX!#Ka>M_bXcS$TpnINQ` zUZ<1On@n>5oSvFYoJ{WOa2RvNV&RTuc78ukfkXm)I0Zf*ry!Al{&*kzfj3W~t1Ie3 z+L3UOSKQ@ZFQ?n%;dH0d?DFBE+02fB59SWD+}h%4czLHev6sU)6-@HUp_5TDdZnK zH`Nt-A#d;n`=L*07E?c9KB!|mD$XMDyIGR{EJy3>YCH$v3-&|*;QZvd;rFX!J@ltJ z+EiCeL!1-v1-Zp}i}MxV8ztO=WqM--*nZUFEm5= zSAf-uc_7v5ZQmPepKpjQZ4^Fe`$0({c=7xZFR?; zdS5PAM~lvLdse1*sD|9U|4lVo-Fc%_lnVTIwfNq6$}I{Hebgxpr;n}INmDA6it|RR zJAEt->0RKc_s1QoQ7z8O&+SF0HyqdQf6L8EZ!{U)x21fp(jD{*xoYvF^3J$s1UQr=fE2{2s_oNjtF_RNR{U=y`c(s4Bij@Md2y;-uUD# zP!My{jyQlfaD3qnLaP4Y4gK*Rvo8%5(S`ot4II#)QTIkh{aO9l0Q!TsQGf6T4&Z0E z>Td$>pj{|7z#BL|^;dZt^`{I`4d_2rc>@P{zz6UL9{9&8quf~Upw5qawmx)thGxyco&S17Y0s*2Op zqf~KL=1O?Kr*0o)%jA0dzAV4pH>KCoovJB zYd;JYqbKOdQ%Y{4zu*V@Q_puYK+d7tdxIcxFYz1XTM&Ma{0!5 zn17kR_G**Ld#+ku^q=7`Pw)8)>Qd$_#d4eaSL-k8fj9C3oS*)VIC(~Yxu3e;i2toJ}^_v¯FV0#ǯv|M0"(#<&qMveUOd *vOMBh;쉙C%~+2M%&`5'tkxПFCkQpn -`DPFxL03 C[W ]$ "{? U5PΡ@&:5P/fxeDj(eT2vsۦMe -a/JڧQpį)Vdmw>Б[EJLjN_&ӯ94.om#0q̾x;>)CTQtXK! yS`:' l`_OӁfA2O|.Bmc">)oH@,:'Hvn}dWVDI~!4սmkoj_i51F6􍇃_LtjUE+n ^ʈP?1 Iʨ!d)jZNwJ -g1Qsy0 —^ -P@` ˩S7qs.TCRc{?)' k%`G|q?ǁ*6[`wԜLRV&ϕ' Crh"\/$,6}-ͻ<ڱgFoyASۮ`"I CabS1v|{Rݴɘ#,G2+yp-/u& BYW@ȲbdtNi:7lGE(# ]-SLZ& -_s!Ynۂ68d$cDf;U"a\D|\g3bڅٽRqm̕O.CΫ6=}usdQAXitN,Bm*O? {Ȯ4=*r$۳8BIP3 I߈%h"g e.Mp9R] jK2bGl+hK\3r4фryƷfB8-$V6rHz GA@<] B|(a~bA7?5g hMBR*{gQ- u -$Դ[@Z+ݛb7K)N4iӴ'c=`@y9mRժ1(3<"5KbSե G}Ҕ(g]JOn8Y{7dW?Mc\:҉\n!*:Y,A0]6DْxUDf_4OB9c3!9$Vu=lpH]4v.9[(vDU8)|!WrאK9ofĩsgzQ H2 C<["3ԁ4c|B<ߡ7\цy@KlzG=XܛrY$ =Ȣ>7K˥byUc =XZ/k/AT~F -2AEs{i.4h{z1TiJo% 9H{p=$Sf;Œ xTI>JDsʱ+EWpI\rK.?',:p>a[c*?殅.8d=?K jXLĎVLltZw6iŖfqhOQ9&6:a-͵UsvڣsW̄{}5,&QEI pZHl88SE! @ux`P 3TΗXJ SVZz5FetHu%5/wJqj^u,V%}ͧ+=ɔ#Լ:ĿnYRY <0(,]h(uNjwz )fU3krڤSIb;mE˔ \ No newline at end of file diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/rsc13.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/rsc13.dat deleted file mode 100644 index 138135033c..0000000000 --- a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/rsc13.dat +++ /dev/null @@ -1,14 +0,0 @@ -I4 .+SxI4 .+Sx""h\V833\r}9DD4Q*pHUOU9pff.? w0w#Ѥu>;Ǩ9[f=I!Ib&.XXL [ViOk^k>pzz[D݅>ڸ4>xLKA]M𶆯ŲmZv -cq>!HRU=bS5 9tNV}_GA1ν My  "G88_XKv )m)tG3^]^gFgyOO*?>~A|"|vMErh7mmBçzBsL\EGgC$5=Ϙ J|B/¶1Ҟּ֣|A3[2 ǗR - &QTEr)1|mshxD`]a|55w/M$$zt SSyY/ϕAB3BMTK홚qqCye4`L`%NRO^C쟝I= -, 057|B2ԬSHl zGc1jr#3FX[jj^-{{pyU#HyH<ݕYY,ol1^i7Yƿu:O>ÄfϖǷ ו#/)"38ʦ`PVk- hJo:)~A8Bu#'#( -<&22{zX@`4j]tNgkngg>=Uvhv3цd-EE$ke@dVTT)@6vIƫbQ0+mwocFfUx >/u#źlW%8EVxaބq[S2aX_G-L.AshhΞ$)n:'yy+ðJJwrT<&a[x[CY^Jo,H,&+p==Sش7zWTVWࢦaP}1RHlJIԓT(ʼ7h]ڷә8$rKWLqǵFeRӴʪֆB!Fޙa[DjܲvBGX4QǸ!Ol {gNi }X;IU:nrrs7-@dmcc~4.PjPik{q}AAdEP ^66GNֽ'Z'5JB i]׷[`Df%]P+ԾlZh0]EXtC$Fe؋>D%z:0 (5 -/ijw":Μu56-č8FoBc̾ n{nÌJH`и]]޹N[LL괟]6q{;4;fU HC2+**R{ b;~K ]:'vwS0(+ ˀ⻘Yy?Ʈ!\TcܴWN M ճ8N겤@`de6BXdLTһJ3#,Ħ\\6EM\M7V}~~`-Mo#o¾K~"5 Niڙ@ zG8 o:l:&5|&5++/& #s)ZŽ̒Xzc")$6sK%mv8FxͧƥC*+I7XWT~;q^k&Ք!o> ΜiIrQ qLIϭU^K )XHPuu ޙ%ww3k8𽬠/*!iAE<~1&z<.L4; -Jy;aNW+canp`魭m(neht6.>N~(TΧ#.X߯uKc!۠ǎu}}~^P0JR ı^S -"AyyO5sG^Ϥm>F1ճD 3V$ !>қ8bN_tYexo{{َ VqR -tLW¯Qw__}. !=66Ȝ)㮍v 4sW g`cBkHh8z 4H]Blֆ44`{()@1]]!900Q^}WYYJuCZѵO*h,&f_F0>ȖorxG\јhvY2e3r"|ݥ/cv96Շ헗FSg}-V,, -gEEMF*GG_5mcZ..Pym A`%/ICw87a?Y.G Dr7\MII+cDSj ~l4Y:-"y#oU&|0Ӂ ieM;fby{KK@fH -H q""~F*R@B|OO+pĬ-Fs6&&2]ދ՜>C 9LwSI?;س5$=>+$$%{&RN!MM/[n&Ci)\4;jҤcq;GBz}llvvܙ& Aqx(҆ZIb*ٮ}vǵs,Rq||51俣`; b-(dJ]~~6>QfD#W^ G򬬨#~@5[ᇳr%.O(=4Oو 7Ul 33Ae?{cGZZ"EaAZ.XX '\ -^11={[$8'fKrś ݗT󃎎8jSk>$ c)ƴg\\x{Ƶe-55+vX+ƫ77ظHdʈ^^6IO5{piRYÎ=\|%Ms??ክyVVT`? °;U@g_tT0m_S1܌D}x[1+ 2QBOTT$ߕC@E==I5K'#PPO;" wm)99xˬ"d8*d$7ZB7 =sޟbu d| e]JytjXnʢFP^Œ:;;pn~C-1JRReWd\:5U,@@7eQ#(U%f))zq2nl` v}cԼb; ,./s E3Q_9XÊDDT Tu ---kҾ.oVkbDtv$wK-EZl:LLdC+X5/&0%%D < %a''y|sJ« NN1":;Yri,攙K"ӗۦ~C,vE*tȆVi_{Aj##H6qj^1L`JJÓxkz|VHHU(J- \!!ެK7LK3B^=yĈyHչZ \ No newline at end of file diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/rsc16.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/rsc16.dat deleted file mode 100644 index e44c7a933d..0000000000 --- a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/rsc16.dat +++ /dev/null @@ -1,17 +0,0 @@ -; hDA)b2$;; hDA)b2$;vg<[RdHvMn"{2VlM4 cx Ȑ9sIf(XVך.mD0dQؚ# Z8N߁3hg@q2U{7=e<^Hs|UryP*u[֨X.IQ)\O`+ȢE)QSthdj-w_F -(pf!_dKb˪x?d4dnzݦp@A% 5^x.!c2vߘQ{s9T}E{@l}#<'@ M\? 6 uw]6R.W VYGRi#j0h;ci$y1ԭZ$D9/k+P#4u%O[>B׾|gkrۮpȖ7I~ &󛬊ZW݌ j3>h?I3,z`<EQY J&jE~9Q! 2zX~߉C"r^7cV>NJ5@uv0)ʇlPkjLJi( *C;mMlV^&]HX_<;&ka3jrmWkPw%t3sP4߶)퓁"8K.3.byX$= yFXc)UIMݓy$cb7ܖ9$ FtC9W8VE-|F5 -5Cdk4\ن"qlBn 6TPg N\V_CVSQ8 Dχ/Vm;|L bd m Yy:K425l` 21UOтDkTi,D䷪Y3,+}Zޟ --'mΗO~ޓ4"߮1\mf7 |S+6[mFc9?[`ZͼX"[ `- z[- H=EdY'i*M)>z7'% ܴ;C90N LeqhU=H`L -qvfQn{zsllGӔa/_Ŕ(\rB*ΔfHbݛz rIOBМ K8HIXw=0 -_h?UrR쌞=,L?s\ip6~{Ba9Y'ĉio]|`yM"ORKd~qb -`oGؠ$I,ԡ(Jjq:AD|̷(e]oPYwTvښe^PQ^:G)%i>:Բ!H މL G9wxvLw `k1>^[Rw/ef ])s" 4?KA5Jf 栛8S'%›hqRx1yhSd]Si#)3!U1%-ׂTۖb:w"߻*e{UcS"z'.+ZPav>&s12S+>p#CI6b!7=yY#x=t&‹ƭ(\Kc?ѬUlS=XG0KpnWA}-z:upMRUTpY @:kW2u͏Zꏘ@4kCeTE{ܝ}tɜaÎ X}jY$^Fo 0G/ )%5N">f/(]i -gj\T/b? !GbY2?10YS5B.*Al[LҢpݍCn:N`ӭḰ߈|u ts[F^fuN-uL{ oBN:ac.87İk{=l -8\|;{Dp\gq[a1s{g*f\CAÃ*k] ̤Hz3i%o[EHV;Q(:]R;#AH _/v%+ -h*97n1,r&H@-5ultga"5x޾¹NÌ̄IxCBP/3){CkMj \ No newline at end of file diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/rsc17.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/rsc17.dat deleted file mode 100644 index f44d14e229..0000000000 --- a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/rsc17.dat +++ /dev/null @@ -1,18 +0,0 @@ -wBSxwS)U5}cOwBSxwS)U5}cO,Rjƞ:R{_QX3Qä"I!WN:n/ /t,3WXӤuXbaߊn4*矰fU D?Bh覣b|ǀ\ qqtU85Wo4W.mH^?^UX -fa&c)}b)؅T[,UU wq hN$> #TY#}Y+9w~T -Tk -҃lB#Q[y[G=є(UA.%pj凌[V3:[',% Ů h\ɐ);{{u=Jt~4̫ͪLAslĹn{i9Ei!Ez5>P{euق\JG9zǔQ)(öVкeheI}(KʧދxMM+bD:k'@麕zG.MqӫɿGn!Wx pJmeJQ-'.=/O=(O<0aI7/I$,WӍ!G*ޜR 'sF{Mcc }ͨV&s;r;o%",LK -LyK;eOGC@!:DlUN3ito9#Myky`6***UKebߛbŀCc N#E@MX(M$(o6f8t :{:{ D܎fde)%ԞԋvyMRJXgیYq7l^vthd%dO#A'}|u}ؕoO.c#.!ɉ+~rqBcj|?KI0  Jjm(<,<-,1imKK; 8xݶ[s؂s~AHALhj{wO]0606ՑC"2>n qEnqD~b\ -N"=-"6W!i׵׫}>ʄR'k=ۯ^03_0$mtOzGq'G2xDP6ǣ޷$*$?wibrwשw -A\=&Ӣ|rד5͆dچjK&rSVuRPu0q嬽iSh&*hF&ɲcP/-?WߑPzp$am $?mSXS)>܀ip - K9V5Ĉ|U|]dVٳιQtN6oqo/ڢ C-Ui7Uia\S&}":O"1:QE2Kǻcώ_B ̙we8ʔ8*ZqMN \kk[{vz^:zPMxY`$q B ʹQ鱒n^qHXg{x(Xm54B4>#K2T%pwgpT g -P)j((6mNG_搆_ ;: eeML0b6v ?6*SKv0v80J$D=aXcc ]h;򯖥vGʗg]lj\_L²(a aBt92a2p! Y -YfASrF.H.Ynfl .E94՟lTrءr롼OT&Tk%ʜ\^|SBL*rď+ėKFuSI~%:* *i6!]IV]OVJc㤚P1HPlpG*Ii'ECދYt4tS1>a@Y.vE@u$M[['{RJy7,R,1RE[7x!< CcD) F&Ϋ&nؼQ}Q'W:ݒʟJ Ȟu ۭFoN^^xT+h 7ޞ<8񐙩TQ {[ _\ F\BeݏVo~p~ЃLR Zc  ~] ΦZAZ [~+h]W`W.7P "j 8Xo3CxXxZX6b7 gLr K]\bduv 0˝3-7` ^MNbC2@mC5@p9qw+A4p4#nYD -H杭<"(  |X.'m`eB{]B)y/l`lA? -Dd|WƯz܅%}5ĸZq s`wL2Dz2ZDgwlBҝEE^pʛ? wK_|Q"jOj;ನu)%,miNzCFF]vȃO `f`Hg8豞U$J^Jg736Nd׈4l[6r5.d&aYssHCTH~1;Wa`OO<,}z88*b(a5LY ;j!ZksYF ԖLfNfSNhbV>Y>2`+EgIImQRLTЌLy (=8,`vPn@8U^w׋&9髠.1^Z2~0/dk'Q1gS-Mg --?4~5k~,ݗH@H~ -* x_?8?hω&)-F|R|]Ie/DX/!&`9̪n[)LM0;(7 ]/DtDwbt-SC#d3E'3a'z41v^+kkƃA01M%c/Q%EPv9v2x -5p5pYT⚜sB#BV#};dϩk-yֶ0&oO/8ueÑi!t!H♃r erc=F}87uy"$mzmԌ>W,xGH9ܼ9#CAk=j~yjF<$!!+P2ڻV̎V̩kjhh|F -d_Jy(;yJ;o_Q< ΓRԗsݝj=;/PUPlڛ$g)'ș'zݞ0f=@M=v{ot7ɓniVn2.Z T@4Eg`d",:Gl~lAT2??hg+`p`Hz°i33ma-/Ӡ%{Э8vqu]u"3->1(-C1W쎉3+!Z|bPZbf&VBúԗyPĠALs2sr CJӑ4 iGp❅d=dOBI37+D7fx-*|ϲI%̹͡V_5 K}\5?\e5# +fG+swfZ^c] \ No newline at end of file diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/rsc18.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/rsc18.dat deleted file mode 100644 index 1da90b223a..0000000000 --- a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/rsc18.dat +++ /dev/null @@ -1,19 +0,0 @@ -qIRK CْqIRK Cْs7CG@9,ēTd y`vn;{W9U1Crt0Q)p#zRX ;YŨɧK"Jjo.d5+ѯvӮrb"pfI!#r;)=a_v`MRE. F])<~"ש\}O@7vM4KS3Ŗ_'8Z%"psD>\[ݵjP{9 e=V C"AI:Dչ20+&KG̡aBFvERz¾z{θ8?Zg~Yˤ׊\UR";^ ]ʔN!5+*xD9OcН iHQof(ڐ$ }ny3h'f1{ٝ]И3߱%NkNp JGD0g8QceM{GK5|wC ?Dfd ܇4 % 2r={z[LYt@gJDzcWDkՒt"C(^T%od`VL'G6C4fdHMT7݅_9NJa&2.m9S| 'ڸW6m7qp~c2A̛.71`y\n)U ,8iShfXtHjI}Dv˼ E5Ba), jv)mU|* oVTӈr_{m!p|O?&>߽'Ґ P=H0FcG?REa~f)1QN3bkg xn9'%-fAJ[ VP}jݺ-. Ea:u7`p-m OբHA%+=I1*[)M> F:xbі j.w_mCq3S>mؘ/ -#xsl}~4K@h 3+-J]@d:z$\^T3v$I/fQw0ΔyYfM/ 0Cc߳:_E,97 Dsq`;'P4&k|NǵP+%OJi< dÇ`l2 1Nlh1UkO>+MH_ޓ S*M?+(8[b<7Ulqnrœ U/—\6&klLd\ErW7NõmB-uqe㈕F<*/U}Xw6+\IEnb5.|5 -'0mN'yR {mXSp -IU#ŝ" -4 -<衐Me?7F/v`!.# 쟋e,@ij%RXg(z#w)rFKiRowT޹[ vn2`8׻ ! kBWB3N*h( -GWCS~L|{lnuWY,LgN$=6YOz0LU,H}Q(o9I`=Ǝ~,+6? wbTyo}/:Rb flcMG+ƿV*uΏ@>K4*a[ x]@orCNJigZ[% -?宰/<$0 ԧiZ\^5=WhN|QS±t8%$n5 -JIr=YS9ZYJV!O1pcLbYzK[b)TR%Fy`.!z|"tǻgA0 kujVrKi,as1\چfwPʭAy:ϰ-|i6k-^FIG(!G ]$ 2h፿W&4cK|BAQ-+%(-fVZ8dAjFBȔ{tH{A| -P%O(gWQ[(fHe^̸" /&^q-y`2#5;{4O,~k̚^@:`φ_ƣ{t#a1L?Zk[7,X"A 3۱2srne&SԢ A: %YQtIvNhLW'ߦHUgKMw/VeJ'_M ˔h$wu3mHxț؃ d=hg\[t-ν?@E-b 8N(@HG{אb83o_֞9|V;Ä?Io.Ѱx:T~V8=P)Mp%f5uq2vpjնxn)ثIbQv*2{u0;S.a/* -s;^33qi@]lLU<6 -CFËN -LwGȸQ$nwOAc#<1W ӄsZw< 7uxk +(E5]uvF8>|#Hn )þ?E43,}:o$xw5T^;]Ԥ>gi|lV>ĝjm\fUpV0J.7ja/N`o*@݄T32w$ -*&NI$ڰQɵEՃ1*lﲹs奁F! -e'4DSmh -^67@}&W}x_=矵9#R~ ` -;70~ngO^B \yF#;0DCpYF # X J,>z_G҄'.PaFR6!hԶgDuZҤ޻I$oyr1q|~M6UU0(>d'A206quDdlpEMkaB?ֻ&- tb>(fT QP\UtNl_/뎫>!{uOHByvz25E#!d(eꮲ{XߘCAWǞouʋߠ -rc][ΜHozl#_0]=`5+9իByQ%X9OPrYwX͖8G&1KzWXU Vl~/S@4'> s6먭^c+TC|hDXpL;#EVuT@ }o xuy#'&|L3δ;85Jq 1;DYpv'~A}I $E^xHBxmX<4`E]Sҏ -$ 4Ƚ.b:AgБjQzwМ:S$^TB}pJHj S@v_,iP?Z}z!ϲ] _ryo,K@$!s;=WB2OرeP9G_}KbƘ:1 .:'6D¡~q虲9ߖ>?Rq[]"26qJ=a \iBL4Zj[^"b-)?0Dk΂`hwm“O"8#DԬs6YX/ZQ n}cb4a Q"-nuXq7GWt }[ZAOr&-5/1ZlGZ(юPReCk"a?t;B[(kiԹtzx KHd1csLhƧRk/*!lTS"Z8 ;d!&p!=Ȃ *2Px.5)yBi]5i6kڒ,ZOJttX}ƦHQqe\F] spEЁ$fw -<ɵfUTp_R{ܑSYx1}"bSQ)A<>5R.L65I($߂l7XXVX 4):!!>-Df∪*7n'eQNi?7~(eW߀&5]pHXV :dؐzPմ1V'am |XY+$rm%푑TQ]> `>!\{Nh|ccB -ߙHx~Yziӯ; -hhˏw?7W#;I9S6lvO>rsC%#?/$*U&N L*թ㖔2Γ~~TM%C/bSE,DI*Ǐ5i RAY15աx]"|j_a4V}Bjy.;\l%jPH  T>3`N)F=uu#߽]Yn2+fMz[Gϝ%Ɏ@}Q>hRIt?BB| Wgm)_e;;CyZE*;ёK II.ḪmCZr]=00 TnNIi -[٢g oW-OqZw~n&m5P<L__jǞГEk &&"a@tŏݭ="cMgL:P~,ԘZ͠]ubìxs7Uy2siNat˃qymITTvxvX $--6Vg=ڤ{`nss9r;Z_xl - - 0{á1Dv3 B]_V 74k3T[q ^Ṽ%y6?ӕ#Q 8 7!1b0)(`xxP] S/ :f !ՅBX tFz%-; sbjvM)N(9d.!nnW؊ !*h2#jLeeF F”򼐨I㫕ϛ=>[mlD )?RlZN(׼}±'2=cVVd{A!Jxdهu//#LG+B"3:(r-K2{RݖbV8F?e4g ԌMW%9(qC0Jos3/b]]N`[5 ٭$$8;cb/n͹%ڒ@uji : .9)S\KKrՎowM啿াE!22{agyz&Z'@@u c~1C499.Lxn8K rcWkH6hy -'GsIOb$HA\aCoKx˞PggOK M -apPC8_$,+v2pllH=8[Y\U9ֶ퓍,XSUឞ|7U]q'No ZA $[ӶdiVyG|L9c/kވhvqq^e43heHL`pYe|+u!5V}*Hlt}0'#VGH'&KJg??*ЪIɔLoFF?=Yى|mi44k 6;9L{MMv|B9ۜAƄ*t0I.'W4>! 2/g>("") 0–G@PP`#aJFUW~Qy^HTۈO)6-']^lwwZu=L@TO15d;lEٞre 4J^ğXQYDv[z3Sg{T9j-ҡ<6+QVaX*||bj_CD'<;Bgv ,`TlOhǬ ETmϽ&`(?jjL-\Uv-J9@fsט]Nt-aa3|f=REzGKXy ^q隡Fg[2+>&d}}VE4Q$&08k̚'JU - ujꗰRcbn3}|.Ф~k[DŽp^FSh]i1}$e.ڃRvvKwk8DZ  -( Tv?\jDknY$4KmIˆ G5wz``@GԹpS_M峨Sۥ҉Y%kk0ep{Zwi%<2ʹ -^9yÉ)rK13ܷLj'xA[:wE,/ܶб\M^q!;@0*w LL6*ѸT0Fa 55&i";D=}EGGz˦+ ,ia>>[DMƩΘt -/X6-6xDOG9̈]sEIQQnwuaK ((02da ǜw/2 བྷDT) xg݃ځ&٨;E:tOўB$6:M+HZZlhU優GJ&]ώ## G:zU O!4BU|u%{GꏁrMv o`Hkp"*ךRl5o*?P%!ri\Bc%JBc8︄? ;CBTՉ..46J] KpmWW~md?ۏ*Fӱʌ -Z:,B|ų)@5I&AYe=M88K5i0j* ?1s+TAA~7=+z2|!I/<33"s.}4 c_JJ&R~!>Pieuɂ$˻8hMskg \ No newline at end of file diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/rsc22.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/rsc22.dat deleted file mode 100644 index 5cf0985e9c..0000000000 --- a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/rsc22.dat +++ /dev/null @@ -1,23 +0,0 @@ -YE({CVYE({CV{}q&gP8:笩4?Ș5x$'s7.y6L ptEOh~ EJT_sLliR.Yrˍ-jHN4n\A>7%yTS|ɿaИ_ tKò xwŒ7@hnqRK 5M a-fULny՛ٺmrlh2iE -2rHHiۈBg˶P.3I Ay+Dw}F>]2|Y9-1@S<+5NovVM1IyɖyA*W .8ϦMgQ8$n0˙;}f#*hԧ\~!:j¿Z4Go$m+0DB,[Er_ůidU,4u#Y]eLcJHowbř2dxqS7ջݓMU=Wt +[CI6֟ !#=Yq:j4,o]Tn^,L6Y(R [#&ݑX#2?[9s$"{5 .Dt_ߜ5~4 -۽^;='_.VDޢ1h=T>,%hz2J+k$`ٝ/_nw.6Բb(Ĩa2#M(hmx!/`4" ~ҥy2xZVvӷV,:.L*G˴|S $?γhī0?OtNLr^"~q\f>k)]V-|(Aʁ_w{4&ȫ-qdUv1o ;sV}$lvu:FTеS>G2BtzUDWY(&X:$)0chHI-sV`cdĊ@ 3 -'{iǕ_Xſ>8= (Gi1{Ō]bCҩ.խX hF(a*}3>0fS27ƔOC/d1 wr4q5=5n6ka;fpF7_r0+(|;nz@6',eV A Kl#k748iMJ?:{]H#4M,BFzt%hFw^._=9OEX޺ckK%&xUNZ] -5x`:!e˿zj,8 Bػ pg6Ʈd@ui(s脉 ƚ`HC%Ro[rU!ۘЋ@}̵BUb'עs }_ґ#13I%SۋFV"[KwS %DD֗Vc Q&ﴱɆqv1|ܼXyz'e~a!+c Nl m&P@,>Fy!;ML5C0[bF+W6?$: Fd/~rH3;H)nx͔ wDjI\ 20U%ٿL(F9% >@/sdE?HJ2Wj])uY ?ht/)5Di=^g)*.:vQzceGN \>3y ~Ŕ_:/1,Yk-bz|X>؜.E0",r1fnJ٩adV8HG`O-I:} -ŀRQZ'6^([\Il㷵y }P~HatJ쥕ME}d FePBst)n!$ϖ&O -jD#hX[zЬʀ+ms dL펔m<C }WbTVpX{^A4<;IKZ\+g^&/Mυ~SC^i4yqm={_%G0`\) YO{TBsU" :RNq{~-r2N3 `jΛ!/Ԋ0zN:gf ^W|˪bwNv*,?Rp="!mv9Hg -]{mݠ&%$ڹ1S twm|dZ3G4j.?[(ψӲMP"L#'Bur͆;P+ftStH#R`/uZW-<{0T =538# 9fN>ғ7xa%W$ Oc|pq azP3T cp9XmI¶Cƿ2bEo IvwVҳUF`kg|1O\Gg+IoɌ6P; -=g"Tj,4T!f $s6|`]omqבLŭnu*9Oyidn-5=3^.Ȧߐ4+ <\D=M4b}:h'&9/j?keSUdopʍzQjolsSv)[I+xKodBq?A?n$:`VP%ovfc:7Kةu)ÀlNXʬq937حN0]@p)-F:nhpҚ~"tAG/UMm{͗? JF$hXC7PrJ|O^*Ȋ~@<ľ ]TCPldadԫR;~(K b_*Nc@( 62ӥ^oRjz \[c`*zvlZIeRT6\t"ʎ;o@a䀨ɩ>}۱6mFZM|I)Gf<,5t^O%ʙ]#rGKXnϺEbG X;_ZĽMыw_G^UrE:|%\}`2;DXbGY68'P}Ix>M<>O.5p Ce' Y[\HA3N %Zit*ݤ\p(z/1N ijKq;3ANla{Psw?ͤb!(kU -K距E.][ǡW$QXUi!T7k )ʠ2Sn) +/S֍0R]dgOR BHǃ1LGxɻRV^ϱ` -,Ξ*QЈ.$o'luE[.S8W=s'\5_VCYW/QŤq9WUHEeK(<BkYkr@TbE#-xeqWm9,7]w1DP' nG_.~UW0=;6[-BP֪ \ No newline at end of file diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/rsc24.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/rsc24.dat deleted file mode 100644 index e480c83697..0000000000 --- a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/rsc24.dat +++ /dev/null @@ -1,25 +0,0 @@ -zvFfsIH=+ِuzvFfsIH=+ِuOyǭ1גzV=ꎚ*u2ۛG}O*vŞGb92=Czɏ7C@~Vpuɇ~ )щTI7Sd+TG#{_x92/DŁP`5V! -;{rdzE>;߆LKVqR;2n _d{n#Y} -!)ey 2*cI8q ^YR ɒnKVG! >ŎFx$IE0-< EA3rod^O{ojY8͟Fn#3Bv.c|vˣER]HJʡ =d"gTƒOYyp"ü l:3'PwaD[,4$"UcM9QBM |~XW_h.?NH,o":`Zxӂ8gIM7VE g$aȼ 3>c]۝{ET]V3~H3, 0ep=#5(c{F/ tkf(\7Ս ["-nq:"6!|$gsˤ+ &Ge_y"+xubwS-t#ƏTZ-1EUB$patճkdç=:)%ŸOUHd~X}f&Dΰ%9U0sp7$@ب'Ut; P ":׌KyL(`v d:T- -eok;g):}C!]5|G*z >ckCT|rWA1+dҮ4;'DΨ9۲,Dey@BazY-l>5 tfN "X.hHDwnd=6 E@j/nU<,r1E0@3r#ozw4xI9J1wpU]CУ\~2]? v05C3DyEX9 Dtw8YJ^B?TG!Pn@ D )(9#A(ɝcy Ztw_(%gDlBHeVPql/oC72^ UiVC=@ L5DVWd"ۻ[3Ƿ24T ;|ƗL`4͚uP_#v@ŰֆŨm䮂bV -A,c/M -7>fIW -?u`YhvNM?r!yݯX+?eS>h)1aYeܵ -b9O&M郋.ZO4|jaF+ؘ@0[/K_K]D q\+I`A b$Q 0Z~]'TIނ$+J50awF!(hrMbs90wsN<OfZclo}Aa;[? -d{ %~ß;WX:weWs@}` -jɡf}C)ka4#EgS\=rux^+hk2K4P Yl0uiM9`%?j՘OoiVj8Y}:Gu#dk8o].wSv9)E 4lӣLh1lJi#`^ 4mlgz9a*FbsnFc- bȽܬXGN{oR'l_4Bip_KNw z*߬GZºq1a|uΘ/[frm5|ur`k].&suO\\MiE@OKp =vt̰4l*/!)86u!G< -i[qkv CQ*ƫ5p ydL@9w.B&_fNd݋& -Wxdnx[ Qf7yW(7$m9Tf?pzSo^8lNw/TM{NlcXZj0xH|[pO%>)ՄS}k:'#0c[_ !.~0BoQwݻi_˅*+m?s$ǀqz LJ: zQkm?ie,RP4crFP'Ej}Ǫ{Ѩ+YV>@OPJ<؄ˁD6k闎("ʬ)$%^eYnd;Ro.:B{bX.,N< ҬzjaFd`A^}H#J7A -ןD&k+f)Osd7xkP2}`QY/xו ?Qz+8X?OMu^<"q(0+=;#Yl3KA$gHGMseUl;8h C\IҙBv %/DO!u *@nZ'8&xߗf:&.,63,~|'L][Ss6rNƍ+:r&3tҷ_Cvr)jL9=O -kq9ʛ2iW :׻I2ܐ@GI\]@~}Ay8 lT:(7m -Ng>󽷴~1qc{H Z:՟cm*-0㮈{ -1-?{* JZW}N%jUsk4b{n1yHB#QlL }_PpQܡ&0M(; fv׿P˨[D3sѪ01c/xθv ס/5FK=KG8.D*obJHt@&F/i|h@v,&ģ\@5e4Cϩh3h)F> {IiHjӈ[|NjrtZU2ãMAӍoXHǸQ>?W $Э>zk-]^ noq| c~+M( 6N^Q/ ~BKC VEڵy ɺҌbih7<~ʦ|O3Rb²ʥwMJ -V'~֙* 'RT6rLKW{y \hLcGs82& sZ!=YV-`_a]ݶY^W>S>90޻e\v.K4G͖6%0/}6V= N1dL]nV,zy'ɳJ)(ËH6`N0x+\5P]2K S , NbF~w[վHN@eHȧ.5nuboA%bIJOYǏ'a҆m3-B6 I?R ծ 6*RZ?Գ$L-aԥp|ɕHVj`•9c5:{xy;.WKexFՌBKPЯ;95&rݯ,6 FJqٱ,YV!`y;朙xo"̴ O7[G?>w&zBIivgm~siJZb6XɄgl#2Qv0/G$t%ʮqYD0ChUm[CRU'59:-(Ti"kUw܌ZsQ^ka"~a1%$%čg-KiE'K5N_$!6& o(8ߦn/sh?ྖYSXSa7og/T -yE:aiSyebAU]{#")B㔒R.%݁-I ^(-m}T3jqa4*tjQ_։\mLꞃ1pJ<,@l-Pi(D,ҊAcz}Ch V38hXs*b+Q"h !sR\ٲaS*NF×`5eӾB\`M:WP8%S 6 -(wA~"ޢ Ok,o -Ԡ \JeR!JIL) \ No newline at end of file diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/rsc26.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/rsc26.dat deleted file mode 100644 index efafc0fefb..0000000000 --- a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/rsc26.dat +++ /dev/null @@ -1,27 +0,0 @@ -3bǘM8(u*DFM+^3bǘM8(u*DFM+^fs ē-p0?PT=9VU THO(xn&~ʭ};Z)`~cɃ& zr)e QdxjICd;QwPA#L5GK"3oPH Vֲч 47vR>]ƏML -REf$U,mug^Ldvn(9ȭ ye_v,"qR%=3YO8(I70.M{=!Fj{z4v6t3qSI6/D8#fMWy<[un,پ#=M@hnu|庑64դ-$D +韲t@v߰pReG*qHeX>.΋>5B{Lȸs3K X~sk$YPr/Gcʵ29&T -2#\9}W5 ս*X?D7ͤJM zfpP#\]Z,5bUL*" Z[8n`\YzB]W-.1CΡd;]YBEφSjXhQ l -m&fǦ<l?Ǫlt!2 u9 @Ԭ!^pF̡ߚ]=gG4E#{Cc&1m?tήf%o0GUug]ђHx68xK2E Xa+᫗FzE5 L|j.?Zڈfī.cUS'i?l)-h(U ]ԄXrk6?FAs,ng%"QZHV#y9}>ʎ_{Uz_yQJWZtT⅐I|G\ e-|j2B+9(1)_8፺!kW14Ǎmfw% SAOo2P n؈H^+4wdar"SLžltJ(N6dJg/ sGdFc0r>jyOvaMƉυLQ1'gT~.nهU@G'y!.ATvOcVļK5;acF')Xj%;TD2{ܱ&ҲӳԊBp9)2ӮZ\<b񃆆 -k0Jp2z؁_ȵvk ԰?[k:wl=}*&˒|!&d:Т'LsQ9x/yƍ*E],U[01肕~IدBds#r&OٵE)By_'Fp\ SeջR _+)zΎhAF6Le瘳tb_~pfb~A9Y;J`κ˿9 # taR`gm[-tlpdqɥ. CVK3j)C\rk!6+|XufAw\$*~ ÿzE4Ca- -U葔qi8P!l;+QPm/ IȶV( uoM^@'Ꮃ(Ȍm`A|'4(IG<~j@]JcFjEš˽3,4aAbNh[AJSYKp%IsΨ} \ܯ5)NB\]yiʐa ; bu8%Ƭ.#ej:ѝv{ƋtlqdZY;MG2_鋠Nmi6RuV0O֕`eY[{/d09eM'a(ZA/to(fCwiy - "7Q}~ַt-3;$*0z(TLe9%K)B=CL뇁J=]E!cL\yʖtYN$(+懅6;r ^ù, VF4`uT7X8o`b(*7gp"z`d6Hn]z#9;C̈́4FL,wR -%˹Uwn59Ŵ1 ]N['knV}KxS{H> -c'S\;eV[Ri l[Vٍuyj)|kh*ai-{"ľQoM($<0р&/y{@\zĩ rvIɁicr=2KɗB?nbcN/?5ϏF! * ZkA8$ѹ9Q_'7]M&ȥ@1 W4}\f R.|BzD,tp$ gD )<[ϓB lV8̓ߵ񴆜W$x7Z^ީ',-+ oHTuOc x74 mWLԤ:.%mSiJ^&q`d<ʥPB. y '|5i -mD3ktbg2j!FDCb5,rU6g: qjVMYitw*}`. `YG.M-1N&-"pY:I ;X8)n!&d\`ԫaNr|o,?u=@S`E;\:aV7D_쟐VJ[3^xl}y/&2;7JrhĶt)Tlk` -I~a2l,3~[bu+nr򞡠]rLw:1STj?83 -w JvO:)0{@E~:Wcja -tADPn#8.jyqߧӉ)Cbhw^f%Q8 =Ix^Tl6 f -^IN`M>H{2*Z;N+b^s`׿XH^lnKvziYjE!_LR6:c%[]~O's2%é;Vhc& _tW|hQJ!˚]FGծNUT(7lDjB,_9 #w̏U7 VF=ơAՉ%Rq-A:=򺷋e?Ո Q-3˥E?1Q:=k(ΜQmOeHr|ي]1h{:62-Jp BPZ?5 pB%؍v#5V4i%| -xCXq8x3EFdNSkAHU!Ŋ)g?.-fXYh‡gĜrK|*-BtU*й(O+}ٲwQ3UgM/l~MC&IjRW݈>Bh=i>!="v:8CiĽ"ԉZCNo 4d ]co@uF n_KR S.]Fv=lx}7ZM `p7+c<@$EpʿН.bp֊g+x#^s0YpQXnt8=02O $7\=zGWØb˗[okwN y%fZ&.瀎eK YHx~J+YtK-eI:Yڹ3W'F*kum6"+#RcޮYCSai)|,$/67ky;=|5y`ڱ+_T4efSz:>4K"(7g5^`rʚG3HX/'0tO$uN?ͣ 1Pg^79 -yOP%}u;E˩_zB \?L>a*46DnwqsR1fj -%3lXA+Z" fqvH+%T94B kcGfb[:N*H60Qf -`P騘 rJ'Rzߍ7|2.0j۾'9>0zBuƘ"Gs:1qODZIm5+OogH3GPVO-ClvY@G_c: -hWbFm -oX 8ehy,k7:g}e.PI?w sinI/SqpPT2n s k#7Y)#;Y}Dl!4Cm Frj{-'ܹ AĘ+*m,v9G>hь՘X!:C aECX@ 6X?JOojru)b4#K j2'~_$„W>g$2 -Dq~Zܬ_ߐ| gN[Qh%8T!}(v4 -.a"?-L4*lgDAosG,S R֋ЍT,iq𫏈5aݱzӍ?WRaBωҷZD͕aۚw݅PH5eٝn|s]bLҸx`4L^a1U#QiSCH ڰD q(HO>y5_{ zc|R{ЀA"-rw[TQd)3݄5~ mwƜ^6~,[!C31M'$m3j$,B͙UT:qւڀ=M !h.V&ܛp)HoWreNn[LW>mǛ*xѼ}3v˧D=`݋b@h,/E[1 -[<"JA_;`pkdoue_\os/XH@7ΈOlK@TB ;\FRmxն;Oج})[h@ڮ9Ut\J*ڦI ѯؗ߀v SL7i>xEW1&Äai\ G Ā$AmX"^b$wU@A&SNG6x"OX -xDv=ȑޥ )ʾ! \ No newline at end of file diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/rsc28.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/rsc28.dat deleted file mode 100644 index c0e7d4ea90..0000000000 --- a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/rsc28.dat +++ /dev/null @@ -1,29 +0,0 @@ -  Жgd) 8uwdyJ:  Жgd) 8uwdyJ:8$1ARSpw;}t$6m{H&¬NR$p4Hgb0v53+-l9Z0,< ؼj[J26H.l SOE(#/LE M?T#~ -(m!R$VX`,!r7aHhUQ`ݏjfOAepRxc|ltcY VZr`sXxeq!הSc.t=^dD$4dl\@P=F^>/_%UeQʻy05P\3)qAo ~FPBHMWXBnQ}wKP7t&DuǾ&2ށk{= >2˧#6ԇ̇/QYj="ĥ$2% `MK(3[UۚE}_܋Qr,0 -Gl\unL (ꯓacL'di[E F( r(^U=z7|dIYSFl[# -4hϡx`|ks1$x3)@/^% -x#쨣Ti!g&LrՋ2J?Nk]!׉2xUpχ͑by˄ &ÚHXxrs 6d3Y%i DY!8T = tP;=I^EuGc}`wt{j|[fe5W ڕ&gvl­זPf]O=)A'} Y/m:q 1\Xq-Ac}W%XY` -E؟-'=^)acg<h}1]7͘ PC;ƓN_><璻c;6L+&7[t +5P@_ 8P"ŋ&MZu"4iTܢGQ4`NzSg,>n8' ضF8+3w& sOjf\+y1\R=hk}ǃ_6?bH1fRawpS3EOw?å#;,lfScEwJ@i=(Bi6>G^J{?D:b9p!*z1oB?YKu(H9nYq?1mA+܀01=lūrKWMUDGU~VxܰV}G?جj:4o!@]* Jop /Kڝ"g]Xa0Aҽd5q -oa-e)ac6x+]\Iz)#k(U2#_HqH J? G֜"FMG&1Q,:ZRU˜Xo`s ǟ"xDXi}g9Ŭ߭;*9\r5vfxOcz-=fT dPz0@`jXQ -R-FC^|) -1̺*qIzKR N*saW^5pZ0NXvj|k1ON -\t#b"MZ*e !kq -nOp8ɚ Y>Ǯ;J(#ZmWE38\HFG_Сi`Na$z]oRC*Qcox,з.}) ^_'. `?ϟb#n-$v;-|83o1A)I WpI6E*xQ9kvKSlVoLn քu h_%s1jVkq j$*[oOpՠeDI 䲥[yCĩ&W:`hLO[Dh2YՎh9A]ad͍ J>_'.< SYX|p9yNQqpVf6L.磬J#BimrD9/vѳ#̸k*V!b]Kz8H{DbBZN0|(l~.bۤh( xrיփ|xN5όf;*n5]+OЊ1틃vQ+jN]Q$OLFeӲwl(.Mw߄HZw(b:E" -_oλ~A8)<տ>{6}tyP:KUbS߿[{:/2"Z6-zsȎl^[5O@%i{g*?)T+,09oS~ hKW22X%삃Vz -$aVTo')d{SIӿ~ێ&~:xmgڨ-ߴ|*nQr0Ip'avC@x.T,dgu_ CzP/پS 4䅰S@ *+R=7}&3l#ѯI'cJ5ڲ.LHFER30s'|;e.f8 ͊;~WFJ[/=_L"^M~>?_}m7,vX3̦yƊ6+ yzOP%{J#-irgܠl|3籔[~WO󥱈tmr.7an^*eIս~2c ݎHBTM$b,]x<9eOy*K:(꓉Z/rX4ރe<0>K}^ ֿ3[{_;.@w"{2 &!Z )'^rEtǩܟm/WMr׃?XYkz"Eh܂pz-jk5N@;5sw|3.ӄ~O.)Pېit8aꦝJ#wDŽBJPk4rYܣE~bڂV`0b4zgP2u%hw⢗K乖_Oa 8wGkBU4ΡvR΅Q5}.Y~$#EԡthB0TYtuUIW/Z}֝k0 -@oe8-',w;^5>O'y.Düf̞軇C7 K8RC|Md~<",esxVeؓ= 05,ltJ@)DK#/$%~݀kNx#qa -A-'g0 f3jp^;[S5LjK1@+uCF[>oi2Ag79S v8Hw=(itM_BЧirXv -\O *n O_A ̃\m+=ag+*tX-۵1GZq|`gȤ1֧ѣnbH - je4Z<9 Rk>Oly;ps5'P\u]V%E -o!9" -CR;sA$"1n!- Nx'ng>u(y<'+wFiPCdUFM4t.L"(Υ!hbݪ"R0 c~6S:% D"Lٙbl n -oz3e58/:XMtE˥ϙ-kGx^3D@fOt[hڈ)>u2?G(`WP_td4{eqQ!|ZBg;)AygNզKV 4nAT8=5XAQ| ' :_uS%}ʵB!%(mV#D /krۗE㉣GvTM`D/9~:Vnr%?jmQZz̨ -Ƞ{(ĺB91U$2%ϨљAXe`?װ{5 Z17i2/&`j%m۸`#<̆R{b]i!TT®,yNi05ag\0QfCyj_ധ`e!bӸ +vMr0"fV?+mjc7/" 3:F4mD}TӞ>-!Rq oȚ|ysf'SJʅ:B&gܞ41Up)67W@ALu=i DuK|Av8SÔ}yPC(S .GFڷqC7dA'<7p f.py同 wͽ_:MRk7y1$H"#eTXs\`E$:¨q!hs 9f,yRI9A6uN\c(~_2^Urh#r{p#FiWZH04]/?vZ%ap*T 0>a8;d@>\Ѳĵf1ba!Rc,s<l8py3 YKu &"Tr֑-ޘqCYk?1QۭZE-+,*ICU2c .JYbM8~{bG_Z{WVX0koH -]aTޞs4]눒3bsB/94XAݟ9x8 yW KO2LEt8G)pKsf@auACEL}DO)uɈйdM>WY3r%Fҥ &`h"^~J]'ȇ|N\x.3T;9`g|3pIv+|5yw \ No newline at end of file diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/rsc30.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/rsc30.dat deleted file mode 100644 index 26235e76dd..0000000000 --- a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/rsc30.dat +++ /dev/null @@ -1,31 +0,0 @@ -MIKbFgي3H.J jMIKbFgي3H.J j񚒛 -, fw2$\Ք1aX]ݦʩ:vU+6r1uXw)9+'1XC=dH5G+,2b dpzCON[ u}ZS'߰QOtVlb:a+Ssz3(0b5,O~ʆ2s1 RrVNb7( -ᰆ$zȐmsjVXwd:;)U-LxP_t2тC VSR["ў)-1#N}䅩'/BEc{K}iS<6I/G_}tVM69Iz 0,f6P`j?/XמdbO%437ҳ%i|ۤ䬜nP>}H=ȕ-o\ URYnk$*-/oJt*>v7RZQAq*d3@7:Ѥs?_ޗGgB], -tPS2$݇D!%RZq$ubQF[bD{AWؐ3ҁgLD1xaO&c?Nq^ SYQ>u#Z(]K$َ#C`?3߁aP/8ҦYx!>͗l^8E虬Qλ9;}XFN\qW9.ǚlaO0rA8e)w@*"aM`N?!M{wԈǜ?VnŤ`'7X߯l~^dz!",315ܮi]q m18!F6E=Jhfn{w86#SeJ9tJjc  rk -}UْUE%ܠ(|".#zѵE}7K]޾n]h5چv*ZG޸֍HTZe5^!kxHzmT{-,Lkw`T|nI-]aTc2fEnQtU<1+k촸xz ?ʝZ=]~23"΋XQMGdS76_yTSHcW^06L$qHk"cBJHĢߌ%JЫd\}>WFT.keĹ5a/=f ͕ΘwK!3bO|K6*Mʌp7 OWܶK8rT.8L~'g |8 ۑAca >,TARiYF P,>H{F" ~f gE`ؓKr(%2ΰj$4`@6^p1Qʔ3WIruy/dC&?tWrMƿCY&g9 -5k]̍߶uUm%Qk ̤S#KJ7]P[D=\FKOwnI|Xoa[=I0%סaW6$4:1g<jK_BL}lRQ2 L/%=q!Tm0IUy/jBC*5 BbMRLޥBsb@E:Cٷڝ&EZX:,=5TU0ۖFkqjA96˔ͨUuZYهd"ܢc^p O2^v (WRb47^KnlkӨ;-.s Ʈ`lHP'~nϊ;@PhJoS& DƄUuKِɕY&Jq6fC5xlfKۻAMmWaKe|-aɌ7\ʃو~.moJ#ۨh}p~WT\o'j ^AGzg7o>-B fAj#1< v -ܚm lT͉n@եq;phU`h̷_H7U{zf> s\!p%Ne$QsyKY*ɋp?؅hXڞ 2 -1RK΃Sl)Ƴ8/|Xoy}]&Ҳmt(LZ*pқt`o(0{u[i1KX|CD/@[>]z8Q 4 ?*jI1Cz 6ny5}"6;ǖP?Jd}5Hha(gl}>UFW4'2"# boyxfre nχ^Yh+ >I'AJȊ 4 eT4J?ɤ;VTh(2-6).'"_s[H}K%?m^A;'؎;b]5>wtp=':~L(yg_ c? -NJ淬qSG&<(SW[:A+ħs)rƝ`[ExhrQS!Zߊ28t=s'ML񣊴-KtXz |q=v1|?eCj{`1# E{$ r%l5AK,Seg;Ϥal9o,_݇M헥9i2MD: YISf[ؤ@OjapfRD2w><86;dP>OxJ:LUw~zJߺ6|Ds]Į/R c:2Nux+$DM5&PHDrEM~vEC^< h=u)CǤcurF -{YЬ6?޶;hoiF¾̈*Ү}YX)PX0l9ƜgX5@J_0 - _%wh^2.L_k|u#*hnh>teF8irn[ǎ9*QaֻMvZ\, uչхsn|!&6iu)M_B&aGڶiNB-?JH0T $ K~ #tO{^b(ð#/f"{!@adGb{2ROyopCEVr!*eQ~9o{ -p^.4MULy2E[I!:~k{ PTKtm\KQ3Pu;aŴ DlGv1ՠ~:j8PU @^'%sVd #xt^[N4 Y|ѝh %NdEDoFyYm\JMpeăY&Gܙ  +@r\0+L 8@֋$,yVC6|ے -cN, % h4ۃT:#ı97Gy"hg~U($"9vIikK? ;ԇk9#hVqo[Gk4cFPo3dyZlR \NSөDm583)"s%&?=D}%]Zr>"w>Ր; - Jca >~ڑKmv_PpʼmR6ÃKZ@>+$N vsj|zg/N]tG9fmc0¬<49Ξ-Vu -P qCg~_(7=wA2޹CP7 *=l݂I0e*sEx˒0ӌXRheqF%OT5"<'ƛv)zijG /B+2[U< :M /R'p -iLM.%8Cݲ XhMwr"`W٠w@:.a( -y xwZne ?txJE#Pǥk}G fi2DŽqf:ͩmd/1Y]PX矙3t\8q+9jyB?\YhJRy 4[+vWfI'y%X̴ɚSbE!NHm[O'uiob"e:.+‰!Q" $-#VR|x!>D=-9z3Rאq"\Ҝ*XɶXg{R0 '+iD\ -v!noҬ̱ -. &v.GiNv{x ,n}.X;LB7]\ iVfeO,]fZMT1Aެa'_$ظ]xqaʞHT+q)>M -<{s"(S谄q3IBȶYa.VtO5h!^S.I4q8xvAkYQ&Ϩ`px\CovTH \A~FSŎZ<_v-@covlhO(~F6 -Ac*Su{jzy|c; XS=`bסd~ (8e^@)_dI- pu3s`aVpSgO+{cjZ{Q4+jsǻ#xR~"ks-9xP֛W  Hq[9.屛&j kmB*t^]bmnI;jg@WvFjޓL[_C"0 &[MTשΆ\g@P\b>lGU!Z.2:_ݳp&z2-׷LR;A@9oR8\HA&~rvre"-p4L^ݯ Ew*FYgC-Us DZU8hm=N@<)jw?HpyXNPϘ<( !:/1k7I|YB`5J=ֲ>bM,01I\dt0 +8 uI{ཀྵLdZsi[+ɎI:YB4w/QvG$.?_#G --Yԡ; @,&!Oe.@+3köeOSD$ `@sL*yO \ No newline at end of file diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/rsc32.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/rsc32.dat deleted file mode 100644 index d18d778326..0000000000 --- a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/rsc32.dat +++ /dev/null @@ -1,33 +0,0 @@ -t@46~¢!! ;7䔹7Xt@46~¢!! ;7䔹7XhAl YBB'}vn5o{o0 (nE\Z0[ccR>MY1(Hlc:׀^yf[`ťsԡ$ z44YlF@BخFoX+ WWx\Ί-\LJUvv&$4etBuw9w觡J'mu2qˑUP)yhľ6hy>gY5CLгiO\N *ƴƸN/ߢn'H_|?71t/*0hDd rϩr̉ jotg2G**%̶Wk__Hk]Wg4Sq ~P  W̬`!L–I`s+O=%hh[i9300Au 9WY;1- IIq7qaiV]@k5{Q߁ Z -)(MQ⏏:@EK88E46} -LHh _rS_% $B_mȻ+6Ң`~WW٢1q|N+d??&RЕa]l  )$o i-qGGE-ŷK|βj{}}[=2$7@Tume7 ^İ歹p\\Ӵʤ((uYS -29ܙN." =~.n->jl\ƟK%=6b^}T`С@>OO w@œVFhMpw0wx&d{:eTTJq3w'ֺ$Rʸ*[uu3@+5P?+h%mE1Bј1a( ->77NO~h+h̆'VzJKyҭrf``Gr*H`js3E٦_Euv:bZ#! (nww5B J칒+Wݶo֝+GZs}#;AAj* mm -5ՒGҪ"``K&KUPPÉKdA%;KWB{(Zy|t "It|UOdrkk/=a\D@@zG\? RaEJJn}1Zk^bvSkZ&|+))ظC%2#//Jo2zl.fH>܉Ih}),u%R{4ͼ_? | cjb (''d(;1"2&I`*2?{"x;NHH2m+\IĹt﨨'fAaaN=i AH8f7dM +]vL[zhVL}vۤMm -TSf=?/Vj~4VA!/ 3 '[tD.E3+OfUkQJ4],,$Ab-./b9"em$' GQ6-niP9 |nnݱV&#N OO`,vx9%iix+<Ѭ!qG -:* -$Ay_V4BXK(yyݪ!#wT /f_ՊQ%W7`>m޲?#SStĴ$99FBwO8{P ٙ&8rBy۸{t$ħo$g\j8"}{{auo9V>eqq>'V*.FZZ$caJƈåa"_FEivTY[>$>u4(Zj+Tp;y,d!'χ' !29*IDLx=nQ_Q|=)xyY- jOhO6x)Y. 1g d*֨9 ''b-& -YaYp|Oz$^9\ DDS(k;nL+dj"TeeEPߐ66X9؃[(d-=4a*՟Qa,SoMƶx&f& ۜ03nɱ= -@*ПB݆#X- DC s1y{.II;{xa3wcǎoA#AsC.oa޿ t22wKMXOyqkOРXu _QQDsUH.X.CJU/]^׎i\-pp -ܒ6D[60j%ONޘUgn8ig0lLe{^mC(Wrnؚ ffq'Ǿ'qn6OL#CY1)C~ퟟdU}_8 A.}￶8.Whxxb03 231xaBYY dцI=g}5IJiOo;.::6]S nn9S3]; >_*jR!SW^%z¸ ,ǀ 8~ 0@CFfvl9t9o񚶏@ߤs*b]9;tqcHA nVVfML"G6qrff<&FsFLYjQz-Dv92dڃV?玣9$$Y>~}3))|P~BʘMM56.N̂c«œz@+#4Kall8BU{{εN?(\fV0Ks&saKC0_ZODjm -ʕ붾&h׺XXH. 'cZc\^rD'k:Xxyy4oc"29D9f5=HN]6I# ! lW#ZEIQ}{XA;;:D~!tN~p Ҡrw(%{!:֊y:>׮n|[ڡy~Fg +,,Q) KgM?.%Ax΃PjIPg ŦukHrr4p<</LpxeSSAGR4ٜR;G'PIiU00mH#SSHMθ IE06 -)m镵)b$0p5D귗r|AS|Nu!%X_ZrvI^[[k-)T}e\ݣ H›( WOD]Ijx'?fpk44fC蝾o錊:,|H|hP,/G.88nITV"ţ`T|V﹨vuc[[X25b*](LJH r,ǒi*8Z2eS{]s5^`4}tvt{`ݩA9Ul!]RC \:bݹ{T.MX^#Bp--~%d -dcDھvMr+NN!Z,LW²KU0{booYͧw q SMTHr񈈭PUvOVU7S_S0;b<V(?!L -eEޚɑqq} %6LL%Y14 3PP5 %"e! "O`fY܏zT#iAFeZ,@FR%ؖ0\/DD^:qԐ #3b;6\:vM[i:I^$ԮM7 ++n3 YŨ*! fO&&ƓEsy'ׂFy\ޯ^a?lP_[#ĤC;; ¡c -oddk۰=֏]wW-l9wrqKf[-p@KLEUU"5[eej[_Gv훟|66TC!Aͤ BxAcg1,li>-)0 - -Zw>wDτ=:Ohq~rʑ=|R0lXE/pͿ ;*G*g# -#)QlKK.Hv"y"/vjH@ ~c[/jjWϕidʛ7TAI5 eQ&XMMk&u((pՔlQl@Dnc 1IN]~]+Fl1Ë4DpcV7䗡RoӨ,/!8?v ю_{22"nm_;1\ݵhxzh*c1A^^Vu$9nIYBQLAe/0:;:0e]zaLq7b*+0*>o Fkq==ww)6,o,ys3LRVV8ыFmu8 &xwG\ȣ~b5tٖ6g^-y^YyLWP:MΌ*DDuXz)#W͊/O-jjpE=NfW 9鲤pbbUpv 0v ,S#-r'Mk#ӈPUFGbb~mz ewz:`$EaUV CCpMjG\}bjM87ϻ'ap4:sBlBhs\x:XSѵ85 ypH B V_R3~#,xT>--XtyT}kMt" CciL@i`cV,*C_\ zdX?$Tw7>>+]%)%]țK~,]]ԀG8G${!s ~Hn||:Vam&JRJ 0+f -g;^RT˟Ș9㨻|DQf+8FX5|Z.Z15KlK ]uxL/M 挘/},= ED@ҩ5U58Z{ - -r%d'C/S=k=ȩ~Cm9߱n&k)N++htDŽ؄#taCq2[rHH;|Q-fRR-(71gKiiw:pj* \ No newline at end of file diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/rsc34.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/rsc34.dat deleted file mode 100644 index 7864d34d78..0000000000 --- a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/rsc34.dat +++ /dev/null @@ -1,36 +0,0 @@ -o~C -o~C -x) 꽴4>2fs,V |ޕ..OD -m.!+ΑUĎ:}BQ99Rguh|d*̹Xie7\&_\(Ȩ/rc}OQN4;KRK"{;#\;BV?Wktلr5r0ЯT?oE4_nL"P>6P\fn0a`ZM1+~6|3 p/&(9&o.xt [x^)* pjPC~ӟ,S rUR Jܝ[7}*ABPO#mE>An\kC*df&kVyw -\x"~6vS%b\fY+wAcQV?'~ ^BZ"C4nm -ٌhP@]5HE(V5i!^cF&@wؓ9DN0 Dv8qRma?H_x/Au4^ܒD1W85K}!BE+H -Gu LĐ԰fӪgM.c oa{-]60s}ɟԁ"X2QaWyd;Sd5X:Hs_ճ0>cIʙraI,mY{utUMC#_x_c]gmjk u)b.޺.zq2tB[4UVCf[ѽ%N;Q"rǼbba|b X?X 󝠘v\gl@QuuGV'clу= fy^LPr,Lj䌈fuvp1aZ'<[.o[\@C3RgwTԠ>IG#>%Ɓ5fJŁ\ 1Tv8)7)/Xu }&' >nAiT=1ccbr2̐w({3B.~\;4ŠF*|9ֆTyȵ̣JepN5a -kr0j2}L'#'D_յl:(4JpLVV t'l=1dn(J! ܎ĭ3V:/~N-U7m)imI3KpƯ*⽒S"&DhՓI y_Рр[]ԀSݜwL^}sR'Xү˺[jP -jB 7ƌLt[,5ޏy!Ya~;r`>p{~ ^!h!=B$iS q 1F6m+b69 C7b&c,p -ojm)A! SBSkŽ6x±?OC\pyA0wNDXD$A QmVQ{C<ו=}y}} Z7L -%/UqjxK:=jI >[\_;WZ #`yY`o6q95@NGl`惷<$#:DdG‡ -I8S% @ eo89yst搤KȅYvjt {c`|\iM]*\UduhC??^-0-Jt_Ӓc* 6,h(X(̶gJvgDKe.<M0>xM%?Gl`(&F8SZ}ZMΖ*(B);s[- Rc8#cփ rX6u@25g;Sl_tFtܑ\RsR~2Kyg|EI_`#zoi#a5xb]:O;E -&$5~G@']-S -+Y$]_J>:PuVNؿz -84ݼX2@˜iQ(GS:xcy8gi,e /i< b´Nx)\&YQ5#̴҃[cIJFl"pء,̀q Kef$]#|kF|Ja"zR2i/L!k (k@.ّj̔ysb<mpRnR^ n΍n`UladRSE9ETQ$IU$/L5WN|q8 wz b~mpU<U6*V1>`jZsf7 /97h1)٣Yd=P'f\GvY{UݐW슔F ~;ګ3{X$;ܽnaoRMڒfCTg9" (!DdgW*i#܄9Mدb4euLХ穷;(C -]Ys9XI ϼV-A%hW2od<y5%q]פN>C0{!r?r)8nV\=sŮi= EԹ'ge no.>:G,;|pVIxUQr @h M61 6XjiB$û0G0S&G7ͫ:G0mTz-'{E'Yv %0| U6=aBeBoC~|#jf|hѕKl <`Ոe%6A`g䩴=k7& H@O ڬ=(8,-x+7zw ?:ـ"1SiDr5i@n@GJ$^.& =tz+1d41lyMoT8R&Î7!k"'|";)׸$g}Y8 pAZ9)Xa%GnDW]jHKY3;yJ7ʻpr =聍=Ush5NvhfS!/̉**_6QW}=@<aSs&897bKFiJ.X{O3xo}Xeo(h.[3S7^JU0-҅MhjE֔wΤl'fdT^ՙ9TWyh'Icg)Ϋ(Z% +#%1G]3YjgMh- B= D/b?ͯo"wǞgܤbGq!֦AJ챒aGF=F)jq́{t&vL p7g70ä6P2)ѧIZ W* Hj}}NZmVYEty6pN/%:FIJ4Au,zX^x -2ęuRq qLЉT-LDgrH(iftfF0òwj0FuC _D'_XQ}AǧpAYċ r~H:gdsHRC_m@[UMHw"F9֌ch2A{H6^W*)GR'D_o/ٓ>7d^BP-ր tut0]zMrZX`\?>ԅ53>m4Mx6 'ӤOUo)Orb~L MC$ ܓ>8SK+<]Ȥc9u 4Ar댭KLwao*v@=V^}H,H^+j4p@M2@ijS99G 7+Nc.v}WʷW઻xlTb|Դ̳,n^rn2z۽ ADu QXŸnByl1MybR[K㑕:ղzN7 kmn.#d6~ͻeyK J u즳 *sks= 5vKf2xc2-(&1#^O3t+u % %*3BO32W &6"M[ABa_UB \7Q׈Z0R"|s4=yiTh٫Ѷ{і 3$ -`Ş1leh/a9#"ZK_߅z5 %p'v(X~Gκ*=o1hHK -OE7X7DleN!Rͬ$[ۀHzd:yBH y]}u[DEK`\Ö-P aזs^Т5^\OýcnR1XfkSI%vIUV~q1[~ns\#%Tp,p[iqv45BYkJ -gR6wg -ERE,͜7`"čX5$W4';43CI^X|fdKgV.çZ~1${5,ɗ,D֘͆t <\9q#o;(;V7ppE2L?[ƫ%vS׋s bZ/V_M: yO~xƒ{M'w|;Hevgs=Ј"d馄,]a7!ITt6▨mIܩޤ91?&rDQPB[Fīt&} \; L+/VQȿK4 Kɳ$YT}/FrC)Oo:AW:xj=ʨ9m-H,0CćEh* &"߽WOsvP9$agK3c:qi3#|8NbE9^I?YՏ$2$)=r=eZJǯd)7'L` L|#ф%  -᮴ -=w:xQjSJ3-eѳU}|o`6o w$ Pw*၉h~ Ztx#xBQ~Rp$;%ǸAzA8~˕dGR_(ݪ-VIVqz](oN@4? --:\<|ßt<?|g2p z)MsU+Dܪ+S{XWv>WQ'1G/iG&p0d&N>okUBϜ WZ #lb:@lq_.yH&k`+`ϹdZ hP<5eT$wbwL -n1Kt-C`+ڨZENeNhDWn2Z~ESBd*:YqKTYJ`ݯO/,lz>3e2ʄ"OkLC:k.|FRVzQ -mFw.п7)@,3x[OW;kʣf@։a;T!V%qc)xRTQ`4$N=2T!$O"0.Krv!^I!Ջ.Dp-)>*4J4PX˙Pʒ-WL`uT=i$CVݞ(bQ[Q.`ؾd  #)+=[҈{ -j]3 Gk[{* JQ+ӜjК<`Ҁ2Wu-4(H*I\L zٵ1VAH4"7-?}! P_wOU2*\b>hb8=e -ApL"nUBa82'@xs!Nˈ-H \ No newline at end of file diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/rsc36.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/rsc36.dat deleted file mode 100644 index cf64fb26fd..0000000000 --- a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/rsc36.dat +++ /dev/null @@ -1,73 +0,0 @@ -CL{I|~I h-+JY;v`;CL{I|~I h-+JY;v`;8o>6Z_V4vǭ>v$Qԍ]Lۄ!-w}ށ.pME*u!Mp7-'99|l,5yhKG|lRa0gppcw'ՙ rח~cH BZ:m\)TB]Tf|zWig]A1@`F;_B2]=n"ZN6rrXguaEjЖ<;'ap; ;SXn MV8G ӵ`? -+N/>!@=3{#0?rzwC UE8^戺 -KÇY3wi-@K* 2Kt_>)"R Ʉ )p;uV -L~AҢ$E̵ٺb -9v_-odz_4aPib!`dL(dDl _Šԣ1x3vN\ͭ򶻦cܠEԛx.I,0vkOvӛ@]Kwߑp`n ?1?̀v< -"AY\t̃ڭUw~Vݑs^|&Bz{fF`{/i{;8(ڗs -=ϡ@@~&+OO#pu2 -i"믛 -M;W)[?k -6l^3hs6=fZTdu詟Ͼ| mRDM@iR!v%g{G( -nRw|iڠW - i'vOk+Cy*Y $KH"+$:(MM4X]`C>Wg4HMwAK i+crZaiQA45v|H+73vXu[h O=A}=W/qB5c1GUeWP4iԲ` -[t=tH4٬\U+PHT󧥈u%; {G}ə [gb3f8 3a9G!\v8"$}y0-[G"GqkQ_!]SE+\EMVxh#j`9gtkI~v}w<~גX*`$+Q<}')?EVQ &٥%।0ZTPgaܟ@6~.&b~G'xD$;O\_Ͷ7R'7L -^;}!Yh9zU0衒G˪/$k(?%L߄6׌?[c_!f) .YgD/E:T 3^,mvp5*P536Kz_!;{co6|x+.|8^1Jks7LV,IC [Fed߿41DC+&+8N:xm-7\3%ˠ=d![B\F!i=#v . }R~lؼf}l~XFE/Eb4WTtnb#Wzy8101*O#[aSU$*ҤfCy{Xx1x5'+O#w5sBJY$7P24۟y҇]{^(  -7,3J Ty#av r -Nɞ?E4-V/ToH# DVkOH^`-A95SAIꚺDf6sI/s2[t?,=P6њh"ͺy݆>|h>.8D7wJRh -f#1wc@Co8C2(V: ' -a*Kaӭ׼7Mm -9a -)@{AXZ=LU͸Zh1j}/ї: eV>n.f 5F+OJΆ;!Ļզ$,2XoCU, 6Й]zƝb-2ʮhMV'3=3E%AtxU#qSҵy.Mz>hE<8/V%g[q:bMH?xs-zGvL,hSW -J,av@/wfp%fONЊb -Aw9=ɚ]t(܌E]k‹r].%B -%pDHqo w>&#l\L:N(HvOߞym6O}O M!cQbltV豀tSqnN8n) vB9r`)_9_I(~|'OF'6}9 XiY?I^H'>SPES~#Je혣:sl~kO -3܇Q;a8AHLjci. ^an ʶƾKBQR@\?7G^t@fڌŋ7aSLj_Wi}]e)p_˼XsjTjOflS4C:k Bvx?1Y#tU#Tm܋e&L͚&)OlYV\ 2q+(اe9e=#Q] Q5cZT.ۭN&G"o.7^ġ(m'hAaF:wK_ۺ# "ZX!7 1۵qpou:bM`bTɇF,U -H)TU6 f+1a+KҌk0u}n܀KngѰbqjNMV -#Fjy#У@K29* cu&1HflLJ0 -suŔHn[dh[(# UoOA($ -e7Kߩs 6W7DP*wnXfWcF} -ϠQf "׀$g ) -4 ŏ!C~hZ3^2y01=F֞XJYi$Y -ԑvuMc뫸KP%, !]yZrj')i%-^0b|kˍd~Xz)gl)}Diӧ{|/A=|xoƗ`m`f,׬ GlcG\>0pۑϻnCK6 -% - Fb -@s<[jvo=PCRL? 1b51).+1p>d7PtNuT_5g39Ϣq@Ϧ<8պ\1LߦeGen&rR!+ǂg :urWYb^3tۿ=#|.k\S@}j.EݓJOu5kif*!ڎ -aVI1-v'-> -=BkQHwXd X}HNdwYd%Uo4@.GRc5uc@ql/!xAo7|'IZdA]Մ=}Aey^d_6~^$q;,J̺jY0T{::$V.›Nn(z$*;Q ij -7Yrz)>imP׊ Hhs,tY0pa}$֙ 亳\JJGmŃې @OG ]Hsh}jXvAp6/X4 |L.xsy[SOnPuVjy<V07ʑf@; Ǯmڢ.:fwmF8qc+&ٱYv?aiQ m Z{(HWXHº1[J0K2Rd&A^ -2~U BG8 ӊړ柳,`7Peck+bG9=õگZ/sD]D6)Ej8ƌ8ͱO9H? *3j>=qq 0I#L!b&`Ҫ>?4ޛ% -;dl0jȠ&kBA㞘\o8CMP{r^}+SB֬Y霮:b<[ ֧[g1$<ɷR=p;&`4 Td`C^O ,-Zq&\-_#%UgCKLLDHbS,| EOPY/0CuM]"3TﷁsrNL "c~%p)ELBN433ȯs,<>Y/{B%d+m -aUpR-*(CGeyrIRr.Fݡ[)M&Bl/I4=MtIӾPNNl.;r[xml|~z+dl#ǰC{,\6~b*.F誡F:> 4L$[):1L4u2 %`Xtmwj%QwR˞زxe ^*5xl֍}Ƥg -&NkD>g 'ShE1lDFQGMj:]\nFd6y:6Y|ڕpZ+Y̛s-E#BD9B$q [ho - hD< 8G / -AS _SBPpLм/2zZw?om`Tla";ה ݏoL}D\ n _PNзAMͥ•"APJ3@u@D[{e_zHBztc]3iF{DIװ7Bn@bow7h 꿉ҴrM$36k  #tĚĨ!q6XOQIR :o=To%yIӸU?XԷlCiVbV.` -9{ѨmduÅKGFa!xy2}w?8Ϛ&!'FKF -EBj9>DĴ Ŝ4nYx=}_,"}[drToo)Lb8ؓ0 `*20ڜ&`&"$O1r j >R 5y]жPWKFso&ޞiPHo Sv5dP!ɮOL@.ԱXgTVZO(T- -_m$,$na]O%gl)2/n -1͐mRmqzV-A"DCq"e$T4܏5,;gM8,ՃydgweK3 l`􌆊WmQ3鵸]5*D߳H -q+Ra'7=hAc$ -T4ϷT -zC:Px8ξа -u(%SB д E"fMd`=bz$ -E!=4xIEiuiZ9K DZBAH{?<ٚKm{JK tCo*6dWMJpxdpXBe"Q9NR -xؚ+|J9ZDROP/P&U:;2CZ&`"_M֭xRF{jsSp||Cn8Ѥ`cm3[%Ν?RKq ]RcR'S"^zԏ2>sm -8-כJ[fU -326ڟXIE]Q.ƎqQ䋉Jቜ0d,: w5r|` -+?k#܆k5lUZ*J@(#vd:"_"ލ]~X%sPf/^Mab/x(z3~bOKij[b-4v/UʍВ(dYƲ;YR\V;2b|onE?,(3/o1N@;XXpehIf2cY`Sp“jfrY Qxpib%yQ3v -Z~r%Ns2B\Cl{N9S"k{)(L(BV}@xu-Inu>7Rza0a IuSZN}g )N J[$kljd_9 -Cq=Yo')hz KEˮzqs*\ZΉfea؟_O'rYeW{ Ѵ  -Dـq?g74,DZK#c3e(&ѭCуc]4(H ׀1>#c3e(&GSiƺhP %b|FfuP%Lk nŒnӥ \x -ydSBaeUsxjoc..c6ґiРW=4{:JwOJ?#Rh4`u9$!^ ־*ɗ99-W@.'8o>WCo dԼR 4.#4<&+ޓ"\Q\l? ]0zht?]- k#a\u6r*2e!T]:&\Dj}u g~.yFKKywh < $rEiHB[C7ż aިΥΨj5+%:բ-Ư`%-GT43rrZkm(8G\NpQ|Iц#޵ct"pPtkY.%QZΏB`+Mz BȵeeAhK$\F>S3i,h/xLVA9e¸ \1"6KlgWc )gߡ;Do~g`AK57[ -~!˺5ZsK@==@[SfZ&h)${;<|F.E¯.lTdBUtLq8.*V*@^6;j8,ǕuWdDoBRNŒ0\UНxHҐ?ne0#!#mv2~ʹ]Rozb2wMӁWM)jVJtY9sZCe)]JZQfvnJ7broFOƠ}J84bƨhWfWAkPpࡢ*/AF wP%aTa7l"6V3Ƶ=,"et=QED诿ֲ\JVI3ӷ;e9vv9,=Z~VchNj̾$o4wU4 -GH|;f'X^G— 4OO_}>oNdb&wWٌm*,owɩr݋m]bDl#ϻ8YR(Σ{zZgXXZuV?Bk;'R589u 7m?R_vk?mYm?o,iK͖jn.B<ij.d2A^(Mi_HK7Y|A曖Cz -z:9'eLuO W*R:Hvx9O4cfQMQ5 Y E-P=ѩqY{10\CC\ mըȉM kim p ,I|'Xƍ[L* YSwU<] -\qTTelvpWX7]ޫ`[2`\ 2BҬjQ)vȷ~(tF11gý's4, =~që3`4SH(鴯(BݠGa9b@2V~b8EFB,&[&FdoϺۙWudoYfZ/LUWm$!G< -tf dLG"_RԬ{sr?Rg <گK& Kt1G(4Ҿ1TIߔl('WϢ%=%ܔngތ"]+۔:pUhđM7Ra~Zof3}j lg2 kMЮծu:Ӡm%_YT^9c"@_, P\P ѝI`٥"hj= -G8G-AJ¨nDlfw8>z;( XD_zX GGb'1zj -?{'lMD愑7͈]CcysEKe/ர;nA -. KU%/ -@ -*}-- -p(83<_6In(&UddEQ !Ԣ/Rs4P/dm::Wh, -T]l@&QWm -IbbΛgNhX=oz*"Kfh//> ->t:@K}6x=7@} :PMuCuP]݅8“rĉWd]- 38ct`>n!3۠vfX5G>HXEpXLL -6>iU/ -c;ȫz])]*iS./v^7: Ai07w3[[3u̴^!HBMx C%ȘnB1ϯjv Ƚ|F˯ҙ@?D) k>A>)wE[5yu~ ';i@+5uN(po*13.O/w $xCL))b3eSW2Pmhab5ePNQGᮬGkReMǏȀ-SmBHƁ/MhYJzJť5΋աD! -?V{5tЕ?|{(9@FV%} HרV1'nf,<ؕd*#ŖT$o$]v; IΐWOkᚽA AtO]JǼ<rD3bM2L2iz{[G,JX"9hzA!w"Xw@K 'Q>"WD& zops뛍/@%%/rVTWx׻Y'Ą]Z"M"ܭE>?gp|vP˰{Y\/_3CwhGnS[3h7Nb4KIim,~N KHWLhQ LD~-?cO0`M%-b.cM3? n 뇆&cm5x> *'EdR9&XKk*VnnV|E>k0={EĂ.xζʆ8J!8ٴaY#E9񁹘TcbyNy_gLt{3\+ oPΉ䃶 -"FubE`㽻%;&F`t6y5.@@53Wns F(҃EͧgnR#t[0O[}q?Jy՜"4EZq]ScE8;ۄisWW(~>띑ٰDndm>@I2gb(=v -싅o}6geZKYU);:"QbV=?>)LoIGo)y@Q1f^}pNQ+ Bty7x.?2-S0KOy2/f᳀!!a%>7AC -`b-Hbx<̉#Qd3A]pޙrG]% V66 0")(j[$%#뢿0CODsjݜSɤ/)+x\kS|xi2SS^Xi\ tbG?3XyUC\L%Ǣֿ;t \oV!G;ӣ0Wt'(HeDKDE` Rxˤ:r&uП6S :'x&xz=I$ TuK[C V -$2u}}uh{ɳE#NV`Uz,6ܩ[U.# ¤, q[lcD0Htjjs )-!LpQJܨpb?k7JlTZ@iAq8lyEsh_Daűy_ס'21bvFP׸ =A-Y,,- [+! )Hsϕ)(LCW*C6{w+ch -޼:y鐦 -м;;rFC-K?+ٿ~ 4'5rf_ V ߇F;?e)a=1FtZyrN3HxN;7%19#wFcP%GR1cT ٍ rI3-^4Z܄I>e[t+ ^/a5ĴF2"P!)'aFVb:8(:sꉦ-g!0AU=!m{ppa\.P@6|vQq -̽V{.pʴ9z*R.["5CoTggTz5MQI՘c^0MhPБY)ێY4y0rD V]kcyv/Dk_iu2j^)^WGFl ]` lyi|xد]n$@NjmZN7uIzI7L.<l2ҧ!ܤ<5 -m^mV0xGs*)Z4|ՊEML+AkO{GSyʜ7*+yUMYomSKeʥX2oɝ$.S/ ${M - Nf59? GAB{9گ9O?}?`8q-_$y:*QVIf8c{gi&(}1 ںX[,ƜYr'A Vgw$[PыV(.({S045Eҭd,`v`1 U]w=5\s y6Ȩ"sBm٫|MM:ʭ^wA}v܏\i_*J6^̕)z?-z3Fvq5{ }6b|pv$TZZ!Ppf{xloa1e PL+?1ux~ŢZ3-&}OaT:3N2&q>ȝmc,c [&o@BY^äh^R0.d!iVSOp5;d? :#Gwttw2}c/]X{$L>{I3w񦔈DIeU(EaɆo> #+Μzs$TD+W^K*AA;HwlN~^ C۪ gHjCx^'|Ss|8tWilznU׭WVVR)td@CfK!$cΙf4Qt=Sp;G_/ȺZEfpƃq7o!oq5X;hsJd >#uzi QX :|i Bf]̰maj|< :a0pFxrx΍@7]P;y3,\_ϭk$b, qO8l|Ҫ_K^7AvKs2Ը̂wA|XP4*o6 bw rUYR6"TQҦ\ۻ^anZJcgѐ_[ MC bA8B;DӴJ^Ee&ٻkɭeNw˕K|ϙϏgCJ'3Ss}!ⳒmD5//DG #6|~0} a6BDv=&nY6`iݞ_^nRwiWI^88.(Kf }Ў>;Mfj*n*=JNr֪}L/4|(NLn}S'$<'hҟC#(X@) *:g/Ǿn bZ#f(k# אТoZ~ƞw`J$IZ\ƚfh^I}ȓI F9#HG?{93 @~SiLj y|TNȤrL󰖅TŬ,·NN’+/ܶt6pQ/j1!!]:ܬ -|5`czaq,)4\%q}YY}B!ޥ(n9Dҩ;pBp'Cݯu)q=MFr?o-q]-ˡ9`h`Y@e,a( P1S9˔R[y%t+#]69yF趕`K}~,4%D2h=a,pg8#<9y'&l1 8lel>K`D=RPԶHJFYc`2*՞>ɽ T%EJIwWqIŧ*{6{%"U^+&R -V$֣_uZ5vyivLdaX)n_.lFq낇l!d,ۦ0,O7G6> ~;f]>qG##?94M1q'E(2WJY]c&v_MޅmBe v[`=JqB44B$NkIR,s[aZGYNPOʈO!Y8MUtL!#lt[= 1 'B0cUp _B"gFQ0NLşzH[Q@wUHQ%]!zb!N'y`ƪ)Iͷ-DΌ`̓da{ي*F%cXlO\-;;SL&2,m7E6#@kA6zFUX2U˟I&csƏ׈<`%I>o:Ei҂pоň%{-F3F~r=8hqbY"NÊPdI=Y \ No newline at end of file diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/rsc42.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/rsc42.dat deleted file mode 100644 index d004026633..0000000000 --- a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/rsc42.dat +++ /dev/null @@ -1,43 +0,0 @@ -lE-iEAgk4)&\BN" 5"8ų2lE-iEAgk4)&\BN" 5"8ų2 Z!}:WhRLDjD p{cd -wé'\v{jf_f HRV*v B tCm%$Ԉ83ȓCL(JLXi 䚍1Wk-6Ey~u -c0kOgNՑ6$T 87( S\5?*a>5G4u@o2AU-*J H p,f;(+WX HYWsx_| h/A/1~B.-_9/ -Pѩ)abIZI:l'"); X$ϳ.G>kSkb49M'. `+m?ola,H:=UWE<ņ^X h^jJYؓ}!eTFwE92#pnPj~ T1M|4!o6j^y -xm7s1Sw>'Zuϋ3h$0$d>͂gZTwX?vPa3Nja%Y'Sȃ|8B8iӆ L5UVe64 (^^bS [\cZ:5e맗Cp;g0MF|(|؇7Q\_g#r- <^Wg5-}O ,RAtN -G DROh?sh<$'ń:FA:vHq{\|-֦֍E 7hr"N 9) $u c΅%K$\6(&6V!%ڗws~Xt zMxs+ؖsF8fNQ/<55Bo}NQ.Űc[W8;BSʨS -=ur8} -. -< 1 qÝqS2rgwdF?$+?O0Qm -[kbhBlz 'Malz[ L> rB)#E逢\Kp3i K -"qڡn -k:b{ g|Ni &f{!\l vV )I0cH`* H|"IO54=4+ݰS~"mX c>!3 `{4;k@P<f <" sJ7N,p/p#j+Ue#N \T2ޫnR&R 0+XƯTAl}h8$=yAPa,":aBoP%5q;* -~^6-stj'I&-S3vο`9 P=!nۢOi -:'%TEBF{e&dUFZx0(]jZcoXs9u[9譜׈*l{0)UrG}51|n&P:}~*MxHU N-}g1}ti a}2+Eu9#H/gqD_n_Ʊ3St,}wS/ZQn)KDvw%r6-u DS>'XVWy>3rR4.ma,!HM@CGJ/H_{qS/e] K<kQJ -&,nlP#? 0LlBJ3..=IA 30)S1)%tW>Ⱥ B3č;wWVy21.p^x=jjI!g"m];=UT"3āomiE:sHH/hԝ_E"e\}4ƶeî>5ypGv鄦M_z pN* _&5 #MnP׫ʄx u,Y8Z\$67 xb:3m'dߖ'Y7}{vj%<o/VT~\("[#Ȍ~HV8~]`<#,#sM)/Єص;K{%.9y;:  l`CO^oLlN ,:|䏄RwgFgQYf| M!;ūh](Hͩ9EsEx_Da}% ҋewD(<_wt[QΫuL2 2Gg=2ƻ/;} ͉n{Y٨~/B>{"#Y@GRӒei`u(YAF*?Dul񆘀i1ڧ͗gRNÀT@:_2DuMjhzhV} ]Dn5?â~A26̟?S$JsJhC.(Xڰ>u|B*f6 >)e9&,h,v!րxW8_C"_NQb42za]E JR2<;xDᙔyn?`RS>kjcb664[.)qL_t8P{1bS:{*o1B#CE,UIM#!ϽT8.GǪ6Z b"3* MG3fUQ 3ϵNWq-a72"dVS7rF2I^Gc8+fJrWr3-ƍj`ݾ =)mم -`śX=^6[m37 ,ܽR%ӧi7=[nY㚾57+To -D$q]6]9xfe -,6JlZ<@,Y6 3|?NU(;i;+-*1O/|digz[Uiph f\%*f4䤇h\WǯX4B_ɚ&.<#^1 -s]>w?_IdՏK+l4I%^ʅ%@9x?8 /LX:;?~`58j_ -`R5edCtH1>m F~@`'E> +Of_\G/\}z08)foԣka/(Uԉ{獧~N~tFW= `Rզ_b7,RJծ|'ɉiaUEf1Cvɷ!1Bc?EU-!5#:\p:vhM^Dw׬o P +@3V}ϟKCe+qk 8$WsUbk&m*7T~$9m*-bw -8S3Τ?40Ӯ(ށM(ɍD+Hvf/'Y6ݞg= t6=&d9!ЬS@Q.8hx.6|׆xF;+Q}ؚ^]qiZ -zQj~YdlK#u~3w'kHUOA!І\P't lDCB\Az|c9n}4|T4l|R˝rLXKXCkB]#qt \n|q_ yOoTͿz~zeg̉qpDձĉhd> m!wC&@äd}ULů}u8I#>>HylO.CS/xv,4/5x%lݼ*o#DHZt/j[C4@?E!ky,j[ayxvLud1V㆝xI&nh%&,smrM_UUFl{}?Mc{cm{.FywwrKT O҃6DzOXz.!'yGZ鎌 Ўy.;5rci33 @$)dn+;p`c]px@d7HT?\# I\"6CL@ԌmŽ)'e @R䲄ѱ60J܎vίIu/[&6>q4֠zq$l<"Ǿi']zR쇟H7(eB@7 ߅M[(ȰyĂĒe$Ui"ء7cmi`!t({蜔HMtw \b?/OON˷SzI\ GZG *j!K#cammr2HӅ,rZdʃEM^}0Iu  O (Ԥu_Ꟍ '͋.uPI*o7))Q,c*u`ʂiuϑB`}Ѫp^n2q䇎JPH6{i?05av0)sYx2pDu:n$sݺ7yM_*"ֶ}~AQr<3R2a=£qx 8a 43.JG`Qܨ|~3IO|'llh\R☾]%9cS^ƥA9wcv50_eNN]  0pb$ĦYt2T%biFX((WS>/F( 1QN!] - -cݪvBg;)p\g=I'n0Z^PyOۗqj=Znd DȬ ɦnd=o aapV?Os&o+&=+h 7ͅOC%CY;sA>#7Qe?fZӧa%z%R{WOi4,[e|ʯrk'1e`=\Ow%)Q +zQlfuYnXg1 JWo ޱoqZb"$;P3`֝ObSnzܲ)ajnVHKlrYU@?ZW()zhK ͡n#BY|5xg'E&XlشxX. lQf~sPv}vVZETAb^JM¹K-0IfR!W1TtTX}s[!ҙ/٪0ۙ"W,2o2 -J[5:YTW@mjڷMqm?:NfD QChUиCh =)L?>\xF56b=cx%#ר?Aq-@gɝ2'|~ceȣٷ&5]=Vhxni"һ^Z~iLWKC - 0SmKaJQ#iJ1r~+pY{5g{0&(^2tv~ ykֽ~Vk,TYD Z*=?=ּflwNa |J`}&^ٰs T -$6S4C<#EdflMyUy/g -=ѦXqyEL:6yb"EK!@.[`[ݮ=>7mfk?+*)ahP&#$:OnKwVR̯LOq(JdTh0<ɲPNk<ȜlTNƒrS Ci bEGr<7FhViք/F-?&zEvj_Gu%Laҫ3Lz)]{*:*,jy뷣I Ÿb5mŶXG{'A3|"B_ZG -goTe -ud并-A1n(nw0kQp1-OMd=O4Mu7PL!L>I<φHum؎P 4HD[T̩`Vdl~[޼v>eن9ޝS 0p}ΐ._PjxVsILgڞv^+*,t-D[xmؕ{TIpdҒۖT@I7g-/(oMɩvsk5-by/cܮŵLd;pE'rH'M\nmqfKzݦAׄ'KyV {}RnUe;TaJ޾;G{J^l<8c`"c@o7K]|Аa߶R<]CnEzAiAFNe%@0n -=EKS@BiOP+)7pg*Gk_>hH[)_d7 =Ů#'y SB7o^;CoK^8AgHȡ(5!rDe-SƘ2 -M{GDto(&Q&|JVtrf7Oc+)f&%2@@ *s4†Y#]4+kB#A]=y|b;b5 ݭ}\@>X%0R/GpvXZh*UYtyboh,&EF1Gٱ v0WAIhj3}#jsG:}4`YJ]oEu MBe8Y G 8_Y}lΓZK1*`$)C3iS.=+G@ a v0o{+[*; (8[3 :++o,']~5)tZ/1#Dt9ZUAxMͻM}w~S qY1,A+-p1^ Ra]h6oĎosѻ\9:yzC[HS6N+~Seh|t<&QVo,ʗxLxRBq VӣG[Hy\UkrC|ɠ?yޖWٮ8U/wW)4zCbG{.v:[YVf#YVO;ypH}45zYJEᡢ~f6gLJp-DU0cLTnHr ɭT"Z:pOfU~>%kh`+:ğC]!ŸLƠnV>1F1ذZ.AP4$_P{u2VW]W^Nl !U`UL® -ҢuTumvw>J$L \ No newline at end of file diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/rsc44.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/rsc44.dat deleted file mode 100644 index ac3b30de93..0000000000 --- a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/rsc44.dat +++ /dev/null @@ -1,45 +0,0 @@ -ov/}Ae:M xTf>c2)J.D1ov/}Ae:M xTf>c2)J.D1Ae^]Wʗt&$̓|/(d+Rה\>bLq>RN5/6TB["}/H+I5ރps`jiy6[> $#Jucn!@ӼUu /bp5s@&i[ aQ+ -dwvh,j}u?; Eb93RpyYP_Ol;+98!ZTv.AC}J1uxw?p+ᤆZLV(J0e4߭9*A.":4f 1+top72L_]@"r*h -jj?H-2.=>l4~ V­PZ*+P>_F1˕-!,6JOhoY`4a@aLAmNO$8弡҇ЭB[>i#-f&/<ȯ'\:^fp$ry!vgW軞)M\:_"REߙ<;9V!p2& SWF; bp"!7>A1u U}Hn5daf؉q`<UZ@}Rz\œIhxnM -fcY@)I.Bvbh:S<`,_%п{[NJfg|DkMKc^V:j&! PǔDO e]o5F`3L|YX:2k;=5!l|HQF2kmBewHwh 3os1JZ>KC 9U G,?!O@k^ Sj!0LGҶ<m¢VM jq9 D8Eui䵫#NL<s)"֐lp^c4}>EX*x3P%\|K~v&?rf9Q+!p˩{V&JBR.A$-t@5o 6<m.x~tT3n`· Y2 N]K$kN-\S9}YV84&SGdb$/}Uj6;T.+]5h8t76hb.VkQnd c(DmT/;n2ioU&Bfq}'_5  -~ۯZ5dq\z|;ChU6GTVQKzg`q _οF(jb"Ւhpn}QI|,b7ZaBXle]+;՟ch; -,CZvY(2nzʃ9]FG)<چwOQ˜&>ڜWH-/Ype_GcU| FZ$M }*KHcrSA0L^.x_ۍCN-9t(I<{oHBӮ1XAW'(]M}tځvb {/Nlk!Rt?D/xvrBdAM,L5>KUcNqVGًǰz -O~;*t9v7 #DBn4|,=b?(@j"E9DA N]~YP=J0+i|ԏ[ȇ<o26x&Gk;i YwOfb KĂGP}.=a:퉚 Y.Q2e=ƲR0\ě 8tG#Ax"(Xy'sV~ܱNEh}߆*Xy?@UJ#ͩ=Jc &Aߔ$΃q֚Ƽ=t9_6 -LB= Jyu9ϔt[kN-ש5) 5˞%;j[fAg?td֫Uvz ғ/(?nXW^vT˵aMp~K[jBswq,+&>'d5ɑ"kIs- TEXѵ?jv&謹ݣ>"aW t$xC4[$f=޽b -0|@crXS~UBg+>n,l[~|#/ XRPJS<ּB`qsx,*.kKYc7(ISOixmכ9sW '>L(khJqb+rp$4wKFxIRD=1 )OhŢA/$eQMUlC6 o|3ŽTfۡJCɖ{4L8 ~TvȨCA&u )aڻrVBoOkLՔ\H%YZ]gj7@lEeꍴ@Bj2*ɉ٬Wl0qMCr;}_(xU:y]\I'թfE@ -d[-/ղLEV!-sj*m2=yu:+ipၵ_ 9H֜Y'ZI(r%=phxL1mqZ65^@ݺϡ#3MK8^F5bחVl- $n <\AoB3 si@*k޼(>R5ȥ!:Zh{T؎37mOʢx]#*f'b"2?J"u+-ED5[RCTܞvrP!WiŒgz &KBW}FG؋|LǦAeđH ^(lv\Vj0C09+٭{(rƚX -$ND3<ut.pon:lЅ0\֢͡ȫ-aiP^(vmT, ѹd盱_ʠUnNVuXp7MGom܃d15>ު6L̽,2N-jc=1"KwCbDζ9G{=-eҏ), y%>=C㿴jwKvߪ7l$E&s/]u'KH)6.1eDO8; {fEg⥳\#"Q=c7PkD:?9[<ג*EZMrBe䦶zC…(YpIOɟ'Gvnt7]aX_ck n:5!Vv#Wy*Ɲ3Я㙄2ݗpav/*)3۲udD؃87e#SvXPd:rq 3Rx o'ؙb.z6Um^S(B`KQtCAcڰ-L|%!Z^[27:ʾo&gq<0"rc `?бNC|?vnS yMB/)m~aU8 [^oE#ȂX.j$ |QA)V-x3MR0EDHdZ1;: f6^`!˜w0* }Ey-%[AvT #rhK}cX@Ѝj1nrlw,_v#`ZCn4F݈ - hCskXz~P<_0I=ԫlw4D]jb"oD=' ˊr1sUzO`V4ݵ,qRQx*ɁsY"^\]8rlB%W懍xGdl.LIu -U/m3v89;#Ĉ1~8Fvf  H -o$7Gi@3:8S&ѡ - \9k4z5tb( o#Ę_|@%^Pg4rnB0q)8@\d(zy`9ŕ+pQFDP&GaW6o_؞-*;{SLϰ%ߴ<X8PN49͝T۰љ$~oFOzy8{ഉkә18DݔO غB\㾦bTf|2gq{L%5H )1ϑezErlç0:dMTctVaIOw*f%E})z%r]Y5 g0A.Zѕ>O/jR{w(= -JU׼$Pz 3SMNnZkc]g;j !J,v{i2̂-~cy"}G+Kg.7mSWX?]t6Ose&W@;^P~w<*o 3¿ -Ú%"eM&y)'LD~U*![+X=o9f'w+ ocXV=YL|NC߱j?W:D։{HxC"'K?R}(%ʛ ̺>pj ZQa$uw~M9OLEo[|D®HPf,gQhA:m;Dc1 i'6E=s0hSHzg#`5u1I487VAG-{;7~=eϒ#w[ŚmCEҵg|Xس6FW^2{1c -w5*eq G4\7d|KJ򁹤ȃm!3hpnl 㡱LʔюHx!e74 Q:-oXT\֖/EnP).WBҞ]A<ӹ/ -.J2nbO;`16璦͛8ӳ+r%!)NQ|: PДuVeIɻ'Q.U -NHh+@jn`3K?\[_T$4 Hh %-ђzbeRÊ5"v r۟'&gqUdkH6K8/MeQS^H3ʿ !;14اW0 -lY(h~J|"NA#0ߗW&{>C,lsRfg }w̫_/#]m1+h6p[7ՅG^PI -neQ<_hS3W1\H|YO&:*wM<+ 8YGLe@R"k] CIy c[sT`( j EƘkY&+ E5cUJǴ8Cn؊d6PK}"v ]xpWl -#,UD$@>*u;dTïEQ`x^a|vӾPmyuZ !5VS6_-~9\t<͒NOM̥S&yȻ4%i1Zϛ^^*SfݮFżOKɍ @G6w܉ k{tQoy*S_k,B ZԑTIdz5;tVw:G<76?>lܙKъa,)Jϱ^[(% r%NmPQJzgyE:w W'sbx”iǙ}a7,/;@*GE|ξA8?Ng^3]@1ŏfibAxso(CIB FJ +?It`n'4C,sa ﲑ %ڐY6Fi]rgظ}$."U51Au) -]Nw;7 gqWϲ{r| 9kR@b0ǑD hqrVM,. Sd?ZVz򼣃q~F{Usp˟0uHaY;hed'L kBG8E;ꚗm|Y2"ljqilv1\ -|=Fָ/ow !0n :zmX_ǫFf$apij"3Z@Hqs. -ߨ9I!L{ZrS[=kaHM8ϩ;7:@x*ބfҀT2֡eP|mjW7Bt'+,81ǎ"g[ܭx ۘFiɚbefnO];G9(ߞYaFTQNAKm= yDd~!ϯ UC`9cMS,\'u^"PJ:E[IDV;Z]9jɝդM2$Ѩm y4?%>'^PJťhcsQ6)H!iO[ByҙMY%71@0L  ӝ`LIX'k$4Q 5 70rБ.GN*Ǯ Q -ʍ?@IPأMi`i.2>%]yRdϸ|4~87[6XA&eJG$Ȍ$`rV{bD?#O;3qrWz$KZcRXJ1GދsKbL>O z/(9w7Q!dv _{w|zKcuԍmGInR#lk\b -pv7̊GuS=W{Ѹ,Tʪl&^-h9ىf$ -QUuzؓydrFDg٢z.0an'֓t~srݶYx9T>[+=RHy^Mbz?#8VfL$ٓ42&[S9G-ugQq<c=)P#Nܷ%X$4dKiB'0 xޓk}n° -ƕu t}jBi>g_sFT'fC/՛~:07kvVXgYRi}tmH/d3W# ^sSTRfyȈ pnF:˦ wgp6nAEFj%zB/fl2(;uy<8Kt6ifO"N Bt^d-힔zueq+ȧ [¡T?ْX -./m(\lG7P4.$>Ʃ}sMKx| ӣIQݷG*05̬cL!Y:/Z2OJAB=ydnt{aL*I,xouUY<>yCem~iխ -˔fVpA&`D?U;~+ ,xB _Ec)N:$Quċ~tƁ87as_ M#5k=|!3 -N6Dc)$/[1=RB+3 Z&_QF^z , D2XJI!j?t,ˮ`ok%sdF n{`S(*W,f\d K}7]:a9Vw -|ym/~(Wi% 4׿ @A՚$UuS0&R,zꕱx9h'U^Rڃ& pՊF)\-H1I 1j}zhgϵ_?+TJ'HOauRZ0 f#8 `犈%"bkevtIlB,5#'?E"Ń$]vjp [`{d3b)&У -s%ٟE`Tc_+?#C;Z(J"w! K—y'" \ No newline at end of file diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/rsc46.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/rsc46.dat deleted file mode 100644 index f4764fd1ca..0000000000 --- a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/rsc46.dat +++ /dev/null @@ -1,47 +0,0 @@ -qGp|܆ PiL%ٹX 6wp Z&qGp|܆ PiL%ٹX 6wp Z&$@>.ҘOyJ o:l;($L6y>`!9/X2o0vC'Z&<b6hj>>HW"]|\-+@C}4t؃vP sH$uk!FZB cKqa7V@ -Pg%90ijDZ-/!;>!l=3|Br^kѰd `͆. NLMx -l/=6ԠJ~Mi.]exs9p5L#Sl ~XM?||ǮD[#oZ!V{5h۠搟H-]E׻rº=K_ep*3A cMBcG? U]Ɩnͬ)Jr`$QqGZ^ma<˦7Ce}Jف ԎI2Zw]=D՜7SGBv|Bz*fw} \@u8^zlD -V%R;-QCq @) -en]]\w'G}rj7FW"~+cꮀݓmY%oRKP/26wqC[=SA:imF޴Bj _< G6ū]0=#SɱZy2yC/#W9zo]O" qVZI3/T#b|硺kizC , 7! $=0Y+Tu6fͳ} -fDf 8ZTie`$&-gma5 Ë'0ƚu~41g܇E(]R3H 8 n-KQ2_$D})V ;D;@YdhvaTV: 6灰LGb' -Y ɥƥA.W;[J靁<{Oޤk^adl"ⷣ$8$ӹ=yp~Hճ />n[vh!&d톶z; qtڌuE@:"xlK`zF=lHlOhG^Tb9-qB*횸cjh14լdW^F'4rMs&D⣬f^F/;ssL6O"bF -Th';J?EeL6&a_i 2{/􏻆XnB1@Hza`wVl2{,R.RN 3ߤqeJj꽄&`rYo  -̽̇.p> /UH -LZ6: Wj{i N`MvMR<6p/NJZ4 Ii|F) -,I*ih?b/:P5f՝o#w{xYueXMqI8 uAc oR}mfra{q|?zX)Ln]CT pvUO@o2~7g -ܑxU [uCKV%HyQӞ&};@nʯ {k5C>0w;89uXHiV sJt*Q.4.Lmhe\)NzPZ>x^woXJ'+$\(3vm̪JX9H!IQljwT-#'0_XivP44+Ƚ1FhŔtYc`lGPC=}Z+Jț:-90Zwz}8EnWNK Y9=ijNiRomS|Ջp@ZdA;GHRI"G}sQyN|grlmR-SK]ō"vvC!($t/l}oN?QV36ƫONvÖ4>g5{McBpWW:?\Svy'xU1]ּD;s[oHe DW*:z/'<ˊ+[)G.Lȃ}HQpHoz}{.6^U|Y+ '?BLom ƩCtjYbp~׀HI&M`+A71qQv蹓_tDag,3icQzuF`FW! -Ŝ錾6I)d:j71g}ö!sY-S؞б =črZ(T3y})miAbhE9YnY`܈I*>PچD2kp<4[UaȮN8AhNjLi!4Sg[Eu9M^vxPxV璾Ht"b$5^zք-Ů:W,F*O柘lc)(D[4_:kNvI ]~ʧlL.g[g؊7̵]m~NqiD@}{rEһd^k&04܄byM؅d2(X:,:UvkXStYaХy!$\*LPvd;~\3@IOfU?({GSʔmgL 2@ ]%-%Rf5ɇJ( d҄ĴwCRf)@2g ,+\|u^M7;lt@,+CT>[ [Ɛ暅욝ˤEm5)cx[l^.qh!QA<(ؙ$6t2IL[{,|.fєK r+?R*?XT~C^W& tߠiU>j̷'F=4ɯO/#ԾSraӭy2pe gr㐜 p@S IQE*!A~c5a!j _l:~;Y#肏7^36$'ER8s K)Ã쪞mdnο$ Rt6r2Q?`_4n9YO /pi?(-<놖m J!Lv? ܷOv'2}#/UM$`6K(XOQLCCY"j|`vprӟ߬6TY0 ŒwQK^*P:kH߳?ϲ -&W+KGիzJ$\h\}ESЏʸR<9| [G :!}E"Nno5A1EOUА(@F٥IxȼӲ6o5h}$V}xϡO7 W)[~AgB3vl'xUUP}rMog7>eA$[I_!bƷb57s>4?.]Tx_W5II'Kc/weiP E'h蝻**MkTsXaNfL:Ӡ܎G9_1Gr;Kdg8 D^fB]7,ǣ NR5u&5>Lj]H,T!+nɰѮ{"k$U8:شѸg‭uJEKw<~ *Ւ 量Sg\bN*506(/G佪%1W7> *cY?^ZS z0x3V8dVP5SȁѬ˪ŰuT~|"Hs:UPfWI] )DZq9\JaFg " #IV+-ޜ~(y0[m|mZ OQ;gUJ䋮q30&dʟ_ j%ߙ(YflKӜ<31h2$|,jƙOr\r*F{"ҫy#B0) -J'ͱ3i{?#t~AOq5N>!_be.#v/ -/Y1se]^&=[f(`oASp\:>1s5ޱʡ-齮T7t^N#xQ VR\]0 0 L@H`mQu?%Aܐk#;=s\l0"VqŽN~k޻ڍ.Xy<"흟kFzo[؋hjMy^@O> {EԲ$#,LV/OY>n6b1]NpZn[\MFw)Aa8hOǃ#`)YTܲ y=T|ds{xh+-*1>3h"3D-f*0Rzbʎuܾ׋]˝A"e+p)ѓ _B hcίr e7nnewuW@cǸߢ}`gxڹ)(ә_fwuoA9a]u DO H Qj8yZAtXq^qS缰%jG- Xx "NBS_T#-R!Pht+ (Mw5 "S-[ؘ\_P%`Pd?pؠX<Β8&Ao6?,Ïyζέ 8>nC(w&Y,e - 8-OǁOHB0xjs,;kt-T1Hw45kak$so"L`}h=SE&dPGcځ:V5 1fv8?@$ sr0kQmtXt֭ '>½W96BH)Tev{a -+Qc۩'r;K C ua!8UfU%,$w[~P65C*yߡd,@;(ɘb\-W i=_MC7'cFˢ\IJZJj7P ȹqO1u,?G0sӤ Rd+y춼] Gb֔3g=>}w~[TSB&XV4.o'In=(-u<vOA/XV,%aJ&~1fk0 /eƅP{#iܰ;$J&%U,|@xݿhDb)USVl39OtF|W>=щ]n#6$64k/H*Al1dC -!YXM\]W54kVIڷ&M -s 1#*4UPj%C&o~T~(װ9L]Ҫ|ԅsNzhyCɉ^ժotlIhvZ_sŌO~(b|4tMxaFa/(w»G$őYd iʅ@Ϋ=%7KṔSɮMݬhH #[ܪT3PJ ӈ9U;Cl,:d~hIr.sM&^(;2C?)3g%2iB[KbZ n{)E3 <(<+W~I_P$Zxq:1EoS/=YkBW~#뽣ֽlEٱ -gfԠ?Q'G ^" ϰ9EjL#0#sNdF_S^ HA2l5P[s󞷢A7ay0nDYHri(mC"ջ8LaK,WD}ϻ#=El45ͨ`WY@/k'8-7.DE#besq !}'P"Tt/{3~yL0V8.KHt& $0z -̦{UKќ ʄBGn>и-m_x%rW]u@tB2e}5D9O.9jz\#riGxw!D|u%qto1jQbC)S=PqW?e"yMlOjo&&-cyLpe>2s+?IRW duzLo_;m5PK֛0*M{n"|ʂ-Hiow.% -#Bed۳d`&b{y+5kKT/ޣ-5ߒEEhx]Q>c ~3^ɾMgb툆=xI]Matk}:]rf Ͽ&8JǼGT@O)ubf 3{KPBT"v1MW_gP( ~ : B`D=n\kfS}ZNdeB!W7k63jP\y[]/X|Fu5V&xQQqwd7"U$9t ߱&RvGBw_|=ϸ6a BUFש!2; *G(ns%DäNLtNJub -E!m1-cl7~zp𚬗M7#uXoR"T A %?d1 -4yrSpowJop_OFxk,Q:(y2z4{ VU:6ѪA4;x-CaF?^]1>V:`i%г WĦ_Y 2QB]: -\نAr);_!>g'&:'M%дt1N]߸yۖ˿6r?j=8xMVŨdAl93LY`{%^*z UQ1i3 ~!0" w7.3tzr-Rcs'E2!yؕh[6-N+jv:B9Uy7hKȇױ2Y3BõlJ97m4 c:fgL/ #&hk|Z .7%P`DkxD}lNF@3Ss86qGƵ&)':e gڴv a Aif`Lȉ#KϾ J[[b~/,N|ȤALjE(k}z$9 blY;/PE?!%xf+bdH".X)/ݞzz|_SmxʒvۈE3h%*Z_O!䵇sTmCDK F `RNc+/8͡fePFe)Ҍ-V]8'_2 ,A~A֡Fvz<`eI;yDWg4-sk\(#yщiFVeql+ZQxmbz"<"A x6wD'# ֌޶ cAy£1q?x'[Jl>dR& 5=CO1pGo6?|yHFӗ{:=9X)㿷^|OlĂx dK!6%ka^ Fb۶*8 [Rтx\]h׈hZ:z'VAO\KL95q<+T2 \ No newline at end of file diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/rsc48.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/rsc48.dat deleted file mode 100644 index f26e340026..0000000000 --- a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/rsc48.dat +++ /dev/null @@ -1,49 +0,0 @@ -=.5D,o|-EΩbhSU;u Aqkc5N=.5D,o|-EΩbhSU;u Aqkc5Nz\y)ojXK_#ZOSЦ٪v7[= -jGEr˳֌u|_tRwO7;M1%_m RG[ F3 QIn6*,z%gϖ@gI=L7YMS'Xok -{enQmvY#-b?:J;GgWڳ B92'v@aiPx3RNV1ڢJ 4 -m }_1afu>!c7QgCqlsTX2(?JCK>Vi^Q0XWUISsd-\1#ߒ%z>?/n8*ewANMɩ"sK2w џ04CqTWxm~BE6۹OG!vnYb$d?i#s3 >0U_qw4b̓$|BnY9樰d&CP~w3]ٮBpc a  -dl0Av[,%2eUBQ6|0`)&[k _ᒹ3(Z<5Y$扔t (<3Vv@9XC_(F<bF*9J|C~^-cys)p{TQ}OD>?L8}fp_:shu[%@^md.ɱ#`hⓨ?W  lxN)-[D9^ִW3V>),:N]6iUv` "KJc(.ST6BcYūRyV5xAO?+ڙkGWjo(sC;T'i07qxݝ}"x.oؑ"d?=ż,ty]$Nf@ZƥR%_)[;{ꈔTn6Q^Y& C BF.Xn1|~C'p?!1ྦྷtG#/[6Jcw 3x>H1lA}sɰ(:x˕CM^i)PY89z#ft1|\:$cFS;M~[A@3 y/RZwRzxк;_m% 3!p5t0D1fr u9f|A(GRXt$lE&aD qtsгP.|zZVWGo$ cԒЈP$s,(\ߦ[I#lWOK;u7ͬj9S]eXL? )Jo\'ugpa킴tN~V/U֎+0K,PyvMN`n.'?D=#CUaL7vƐgnF,T `PÚtoOV's\#ޭ?.DMQ~0IzEeX']8HCxM_l7xDֿ9 UEWs .dKmpx)ZP-k'{j9">&XU7 Ex'DYf1(Ծ߁JO>uS۱^vȏVH*[@$%,Fn:/oV~4(Ia.JDyj`ؽ,PK0gUB<{;tN @6Z5ߑf NBr/' F6^e ;A s`˶{FwMol薨Ys1w?}!#^&,u ]\[s9=D-' "~K!wy {@C/󛹇,78G刕'N%Z2kmrKŶ_6ÒB^ !gݒÆJz$6Z_E:w4&3QRBAhHzyNꟼ-@oܷ -D !lÉZpOIa`•/v?y"f G]j>øa)> -#w*]; y[p`cX$`czXp7lZaN\jU W#5=PqsuѨE_F+ Wߎ N^bR@SwifCcR$;0(q֔ȉnItOY2Ͽہ] S 0<"fR{oU4L u2e!U'HqcasQGrTB/jݥ*CH2i6J ovLVmݶRbZ9!W:[$FJ4~"blotʲNq4\xavrރ+΢ut 3۶ wyRAD#}(JcϗpAn t~įo'BCIR{V}Ei0۴=F\:vMI;P^+,D$#5Mk4.Z&_|-z+yj4<2B\N̪EŊ?OhJ{䎦 g}aKױ"%땃.SQA ce,jt?`zd(KGqi`OZyդM2,9+3$@kʙ*<[ H vb9DLԡ}ՅJue)Ьn lt>x5|eW MY2JR! 1Ɔw\LH_sFʞzAV#Jov 5Q{ lm2L?>(C}w<儌'\ks;]bK)翯p(Aa{ޱmi՟"hW*>,k-N~BbaSWѽF^lq eƩf9| -b4Y,W-t@`<"&X* -miWqg}Pa* t7>kR,; priAFGe._M67=%l뺌r/qBԄ0kPY1߉{3-= btH#ƌ"vAO4<*fۭ^%q?"&S6dLm-x^=a|BpEb5 6w&ivӾ*J,.9K8f$>BgjsY`ψ/bi(̾'F Ib\2<&r!giZwܰyukn_*\f e@ArEP2ێϤ%i HعIŝL>*$15ב0npDK~A @cS,)C{HXP;/&QMFy3Uv -nׇEԗ>/_!5yf -W1k8HLnliSi[r_FpLO^VA`X -M#߹\SN~zFp+ٙmldߔĦK~c_=y?4ӘnUÑ=܌W{6X[@(y,8iM#Z+j!DACc)-"ן|֞({Op.x 5Vm FSkȿmRå 5G| YFe*Tvܒ*#&`C^ҩ;W[j712atbdc +@/M`,xD̤{i}ho2 -.@Y@eukw*gs14qߴrBtH'h9kF>f:p^)BsSz\Q|LƀЉܡiDǝ y'U-h9[VYc a]@!4jv]$WUH='\u^[| `qnaR"6-fqۤ}!u:'i F-MPOƃ3o@[6tKT|E b􎏟/H^FYδD. 6CN<Ɇ"kђ]}Mm`2uzt8AıNK=l-Zc+sQ -jIhD㓳uDJS*7\/@Ɓ -GX~!#,P7[X_pɄ<ʯ~/Ӛ( D=]W3^13CU(d,*X.7rVf] A-H/T =}[]ژYxr)GT~B bI({& wfdagxͶm r_a=;REZ4^ORh[_1S=ؒ?”pn0-.٢978| -Mqj"u? @U#da B+qc%ZҒDFXfn0 ă9kV՜)HDbUk]2&Oso !8gqMF1}_E#|1.I9SpH-nXb D7.3ߏjMYeyd:~| 0Px,N}vyɐ6]FS9|!jB(폢ʳ ِԖRcCP.&G$ҷ#DeOw=[T+K%|Xtz8j腇ʾ ogr^H4ߥNiZ¦gq5:O0r =2ītds\$;i1l"&jְ`_H%ǼzhV7w}[h)XGOyZ]x"DϟL{T%8Ү7(/ pc"XȨNi`-wh>WU=yà§T n3)e|֤]Xyv҂&$QTu%iw;&+иKp [)1-#%c\lnzJGiQ^턵`֠bf80Z,Czw^씐(}vOӷTy|Q#FG'A/1) O\m# <F'gD QC)qӞhxT$GJUu õg3):8 Eχ%J1S&hxH/ꯖiO63;2I~DL릟liȘZz£!ѡ -4#2)j@l_ȁd~@Y-q5W -Cva%ce]9hbtTEYU?Lg aTX\rp$H|ׄ> ^P& {GDa չpHmNb(Of[UaN ĸdx9LBQ=Gw}>60 ܾT8\Ć'>+b9 TVE-tG(6KUwq.Qaʀɂ䅊dUC}J o '|TH bj?,'LS;k]Uv 4xdt~rYwؼ9g q`G܇()s;{IXRxj0h٣]Џ5zTh7@S"2+}t'N  aZq۠~mA8 \g]62nJbSGu?EA[PӑwrvgKmRqם{r%ùz."t6[;sRT@du3or ~f}Υ$&{L76䱺EFsJ|= ܈J(n8:) $Q`ꖅ- G9#MCy^8&]Ѱۣ v^mL[q<9*?A!f1ܳ3|2^B-^XA/ԩk)`4 У䖧lI؄dzOaJ87]BQkj[̣4.b'p6-ط x54"WXգ{hu,y -8BkbevT?~]MQ"Il/QiB}K-`4z -w85gmxFZk?2r󣊛%R_G)$Еn +-}|4ڛW5;$Yb./>L|07侌)OeT:*>QլK1XOkzG$/ #BgZ"PypIHEIw1_]"ŚF)%o3K FV#Z3k8/!ڷħ=.zT>&Kc@Nlhn޺\C0Vm/ciOȥ5Qɖ qz]:k~ˁh1@΂ Es َp[cn\"e=vV{Q&I-ܪś?zlM Pʮi`){2+hȈ'Il4 -;kOXh8U{NH4:yDfC )\zb+9`m _ )Y9 fV}i=J:pL)*nD%E7k0uK̘a·]߭bޟ{m/dkW&C;b<2VX:?t9K}U -l^TC~hy=*4x{vT MF:W'p -P?va"J\TDV ҀI8 ROA$'13.bCF1*+ŇJkh:ЭiXAtigM^R\Q -Ȭ͜%4ަɟ#Ah.hs:2.˓d6I5okXz0$rfZ^M=4+Upm8Ï , JdT' 0e4xL@ò`yTxHN{gl#w[>5! QKesLHEjzM:=5} -Wtle_׹k\9]r/mj$܄w'} -QiI"#,37ybϒP+pGN$"ס|U>O]8$lj7,YZ1"G=xsq:f6Eһ.9wC5d nBGΰ]>`VKAUIyh6L5j-gzeoBō;%$ -Xr7ڍ-+YoSpnx4WKM8 -{ы%2*]fL͍ɀimqS{`*iVDjc,=y͋Q!-(8~$/, jڻ0h~strKH6lB2=% !LqxI,߳4u!@1;*?g -˦HPtŎ6 $B1_*3p2@0n`zV& -c)|.:us믋N`P"3/5td?g7Q n 9 -FZOuK/DŽc(x*>CȤ7vaSWz+5ԏ"!֕ʅC/$eͱnvH<%uCȱgՖ1^3sa؊\|?X/p!:{4%a&xJ95ꆣ6O1bf­ ~^B&tk>F_yV'AB0(xD:2i何M yhJ=Lrj[lsbke̯љGm}o Le㄁Sr+"5KӐuwa ²ИY?rUrZ YGo Ӊ^qaPTS|U$(nw:G›7,z~ Y2dkBtM5Iɯ35/-VjյDq>Bѕ7c^HS0*-w=&z%nڏFǴ'W/( K+pu(uY%H דbTfdCA,`:"eˬL.}>o0+Rk̮ʤڲ4P &d5 QK=b{!R\atC EwD3 f&^j ~n)$ \ No newline at end of file diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/rsc50.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/rsc50.dat deleted file mode 100644 index c3a84e51e8..0000000000 --- a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/rsc50.dat +++ /dev/null @@ -1,51 +0,0 @@ -3:ǟd$f.m3:ǟd$f.mft#Y2%Y}H#'Y\}}xw'>a3^z|3SUbnWNT=+O=l7r7,D!ߤqGB d,sc?;F"dJ F&NS=Lcymc+xe +OQ3³HcYqCYYwt'[JT[!"Qy UP ϔu_ 1f,;HEЄ)"0n-Xq$nQ0&TT$$i{&Fh+hIA%Mf`!jܒD /҄[pz@tUiBhiUO:i:_K1O=<+k=Z_P/"Qw)pBn)y ^ nsnZuXm:{iK>s<kv0ɇgx0n&vh80ޜUI:hFWlQё򈦍5|Ϧz%.V%/KV˞<$@:+PFPjF^ HP *N&<8qf.m&{Ʋ{2&⫆NݨB8DBɸ  3 z]!6W!z)V0ۢoC@@c5Cky@by55qXkv?07w#U,9L"+StY>vot]"ZýMRD`ZKHܢ`Lg>HHoL(yCVs9W4!=<Ƹ,/<*NNSѰ2GD}G4 7WJEB &GԹ9&}&^I*I} סDp])J\=)mcS$C_)C&$ -ހ?В׼T> (w[(Ǟtt[[b)5+zxVz $U95p[np +5@pŒQ^b4iEh=cQ$f^D49R!9]R9ܴit/Җ;/|xU,m{fPh8w蛓lPujڛ!l ljvʸ<}ĸ ,(8,2``Lp`Sˡ%tWM]%( &Zsyo -R(osfM-}-r#MHb'ϡ.? - QjQ --J\#2J^,!Y|j#)[[6x3Еw:[w3C3eέi(C|LxHtgV)5O y)>m@@oTm?$׉u$Lox -{Q]l,NlۦNN恳 p\LK/c =KydL .K.y7y#sq5kMq7p9z5)@ӌȿ?x$":ULS؇X{Kmo>+Q-fY+,o#M[#Bk}lB7Rt2H%=scgCD@)Qt? `Y޳I]jɆaKjj.?~'= `n(]t"bU"K-"hڊWK yL;@LhF - XMG߁r#٘#DV|D[d;̐:{?GE{?:l{ŧj IlA<!mdg*62k}2ٖYGM2|M CPrǮlTKb O_E(u E}_R ⹦\*ϸG*l h%5BkzxmkX^xTk {_}dgh2Hx| eɖ:]5|"zdz]0]"b!Č0pZ@9n) _ LoWr sWLL 4+o*qCT:ݒ@ -߮ÕJv2] |5l9j"\_,R*zR1*,HR/191L˅H~(>9eDl N}ʡ˾!``ցp~ 62C6jD&|IPPI!a1Rj!Vua]LF!U:>=I c͒ZcL{Hrjඍ0WˍVj9;9ˢ/%hǡzƢHq2FB0mŬB3{mr]B{M{ wlPPMhgY_rBr4er4ѥu}^&1v^ѫ\]cGD[WtqD~n0>znV ̇ډ/>\ X?-̠+yp+;y+Bk -mxmKX*0 ?Virʼnh?mIωlhhdPI7WjG^Pp Xd&_#߽_J_I9轮*8A8JPY C.ڞZbe?bkZX mbmF& 8QRT4L$P"k̚Z,Z""WAFK =qN 0_T%e0y;t> 8;4>OyKJ;ԼfX}QBfT \c~&:8Z?O?EFd.;X1.E BoPMBH2M#\Bы Ma٫3  ι4/:FR7 <*lf7Itff1ʳQGP hè%m"֟.=i.c~yx-iFάR]8j]eR|ڀ=]K%~HH.ksH/UD4tyѦװ$mbm?̤$kmPk?B?EJFIsFqBۖ$|V -Z$̲VX0F*$iF.AnE&# -P9ARָ|ALY3sAdwI}m/J}Mzu#a2}2u6u a)R6~@MbkB߃k4bԀŲ^68 l] -K+{6±\}~ Nz7xg>훼}_Rd䫎E,dd`l*,a-<1¥<73-P2DٱĪD2і(ZD(Щ $Ӗ@v3CЁ|/9Xޚ9V <? _LKnfv?k;I@W竚.WF-F..+7<Qyši;u̴]s 6C7 @ߞC;cbu g$kbZV:.^Zgv3=t~ՎsS~WtؗqSKS5@<0'xBKȯ?ңCT'TspEqT_q:E#iFi ?B+T)Ul dWKud1=W-d=8=o- -gEg8+AVPRaU ||׍`/.3ب=NJyP=.@ -KM=K@@qoQ -kTm2TWI/6G"Y!Aj`j!+~ѾSeÀ/$'Jj6/?ְ"ۨc%@%ǣSQc -:'1򛬾Dtr6t~wD/btnwLw\mCv30%HL'W@#d-ʏ1t-jDȏ`M)Dĩ2Bw2,`#WE$=bg-c- -Ng<-2 - -B4GmJԍrA25R '$wޮ殘heVT9t9cwA "/@(%CHH((TCK\5XwLskA=O.;7O.I=d(O*j -rԿD -*s'/e{"?ZUmdN픙UU ,du=OTxń{" iX5Tm -bTXQa^brb&( _:P|_gr{MzthҴ pҝ)>@ 7nȰ{$_a{B8Ald,4lԱLZ=_iFM_Ei*&_,&^7I* K`^}k:L$oS*go+#q<;BoqqbB{E k,V @ضoG@ +ͥ+-m߳b{b=-A8݌6B}w6 }t(e?6  |zeƽ9YoXp.ĝdP.Ysf-Q_QoN;Isq`G4 rv3rY^eJ й_ דYg5*KO;K;;QY‘p4(Fgc][d`ڗEWf+o@=;+ؠs?4"c_On+$^Kh&:_&{F:hE&AEFuFO!lf7.N7u2Ke βUi*WU{hvE?]U?Ib$?{N^7{W߿S\! [~:@ WÌ -Lc@5CwpCWShKx1+fL;gfs;*+7R`۴"(D cvJ/`v|pvh9|eve99"%˄)%̨_y٧mn mԛ#uI8€#_JL3(4Ytp6Y(5~mÞ~66k5;e\vb\ۊy-uva)|a ӷ3 aeW9$1H[ eqC"8 %.dFK ¯KIKfo@ -{ohI^*g8d7 l8d I8I/N1o4~3tnqxTqgn{q&b{G:;:-G`NJӐac\|C''||X"Fw@x ЛM(#JD(Y5#/M\$(zұ'\y eZ !\ҊSFLQ BT=ߠpfxX=+= :́Ep -!4w -ʤzߡ߫MJ{ɐ-( - ;ͽ<7o;4oNo4BT#P6N -[\ևa$x̶ׂ̢b:%dp*b{hBTA7,A7l*A*ҏ#4 -Yٛ4I|SYi~Rk%ZK%:%f >c0V:b†4S}M(M~}YzDeDՕZ\za]a)cQCpNQg2Xps3QsXXԥ_ř17'*^Ő V6^J]U9"a]R!R2zݯmO-11~-,C1D#J)**¼:uI^%j^I3I,N!MN3*w|.ɠ޿Lh"h:"?7ihi=d7+fm.u+º94ᑸ6442(}[5}N٭/&cdp#kXԃXk -^ƃG|^hI-QG&}P߶#!V!j9!᳨@Hõ6(Gw (ӱWwHڏ%;~UHy -ڠ~~>y65i."6`'mx esx_eqמ0lx0k8?iW 5k"6*1HYHy`TH)[qS.\6U$z~L@KL>=2=TMg1mbF} 8-LFr:qk1mqs -u -m4mE & fa&o4ŏ2fHorݑ6[J56 2~ =^ Fddlg<Rs &Ysl,:WUxX\$œXTZx_XZZhE_M" ͦp:>5wģ{&ɳY[M6X'6L[xS{S'@'vxs|ZE@K؝yV_":9i:?l"1:7&.;KK$& je1Ca' W !ܸ%w jȇn|+ec()ycKX>ck>0TXZxbWxns50fqpx5o ؛Ex -x?m_@ -fZ -idI Od1PPOOHA1-+/-_f iq -*Of A*O8*Rt쬟G#кRa!<^G -rMYѡ)2rGxӁ2~2 06ua~bh>sT,QsoM+gsg B&Z_73;brv(C}[K)Ck\[>&CZ\ \VEnx_ vq JG1!1R~j@tjYy/~6|⁇օu(ln9!v]]!!H=:ôt\a΅0"rFkf1NǑfRAY(!GY%}#JC#!r]fz_ 33j9x`NᩖCz9@|wSSЂwt0Sye5n0gva${v~yz.p~[ن(˨N!$.!oUtFcgU~@4T - -QJkTg -kk{BYE?^-s l=7u?& D^uP&JuP P*AOj1#A 3$׹9Venzvףv%U`WO\q?([z \v+n5\zPiT $cCTom0X} ea]vezia\UexdUİܣC'xؙaCDҰUjUOĨ?="U"L- .=P@tRܝ/Hi+tH/%Ĥt tCyO)[؞) =A {u uw 'RU|n!*(}'S4!*M L[ S 6h ]iׇq>n 0'%OH. >sG>>pos,Xh#ص -C՗TLXLCCnTk$o RIrJ26Dn2JɪvSa' ]|VH?|S tH9ަ]TVF]x9v 7UEəXi!^׏| |"R\a|%aRvR ZH`ڴ`v!5%ì qއ׎0eV7WVZO"{ą5zZ%:Ҧ}ϣ%1`%/`>Q%y//sL>d)SS-?psllIP8~l8ǻ94gruÑ- ҡa?·WΝިW&H.L<eڜhY6q\5';5e'\C5eeZU9i +)jeK'×ЧgDŽpԗ.y p5T0U5.)F;=v >WhA E:f ʔ7o;g;?=8EG *dN\%a*H]!`Ѭ/YL]z%jwTev )?5 :5vqv?h>Pqk9#nj \u3|y\'3) F\ƞƭV΢U%կ[9ƺ3wV[i[):zvV]~h]D)ƾ14glFI*AIl˽AA!-ۡʓ195V HLtLtqLꌞB qn\㵋n5d؎QOW38`K.cWQ#. -cOcG+gQNX餜OPfmi޾Zpg qAsgT fpo goTTߥE$&OmN45xŇh{Bb8jϲ8 *k#`a/S>Cdc>L).S>);)pq-$0zmZ0;giS ̜0Zku0 -qXXԙ&2UPdoi}O{gݟSG˺wGHG(w3n1H}Ê|)9%"7%U;UKꈠ>+ $>槊d)Knv$m:$PbRIb::_PlOryCW& Wħ̈́4WgdͶ Qqr Udy7\,E^3޽^[9  ӽ]9ADJӆeqZfcþI;= c.} < 2s -bXnJX'Za 3['a5a9v΂RҎ65]y0J-쁢ۅ`>쨬S6Sw})'9qwڪ|~Ѫ~/Hk~') nemӅcYB*ُ<11t! !(~twD#S[DRYĦOButכu}"ƀjYUMЖQ"m,q7K7+K8OD74O+A+ -(-߲AQ1Uwb%V̘vQ0vTVnxFxmlh mU -ŢD!Xnn{Vp:nhVVPZ?:ߵ"yI")gbX-3^_P^]_Ru^uARz1,7%,6aAk; < iI6^98 ϓ88N%Re2ڻA[E>UGhbu|_auDPisE2 OT}xb{EbBBE2EP]u[F92M^<4r!15wrr}YDJ RJMǺXfNK-|NAf,SNY,jrMݤ(2lj`6Sڵ%ţ%i";+Fc.;8yopyFEI"<Cj}8EDN,βu>I,#5k=s>kߤ!3 #"_$fi:G2Ffun뒛Lo)5Oof|DŏxpX(?O&BO/8te_dJGB,|cU`efO)Jl&N?"*y|+eUYXFjֳz|;֣UBf@)FDžHt*<0c20^›qy7޴j҉Af;P߮P\ɥrV-Ϧ!2C/ -3"wJ};UnUWJn0xع>sFW2sxEnB8mkêZrZWi&ٶ}p; >@{ isN/paW^Q ִ.__tS!'z%s -R!>6%(|#G.D! DFC!K`͉a΍5n -I`!5% -AeA4xܐt^J"crᴄStXvc 43N^N`^@GwuH xwЯkV@^H֘ KKq3+aGRihTZ?<+_ 2GzhlHq閨x>x>rI#y@K}& +I@ ->3&=o P}}W .y玲e  -!5HۂPErA%r^"2AzN̓l*[( -2jz+H1Ap[^S! -EwKw75;HQ&!`̃i4H=>&/ߝqol\lNe/VߋRN5t/iauMoؗiq2i=Pq Xs `’l*DʸvX}`kq#lQ=ԃ҂ffe P%CߩEYשWP]CI|u۽zccxps,:ʩ{UopF{HWYIixzvA$q -W Z_UQBqd_^ ,f D$4v]/ڐtNCI3 3잎Wܝa)=$;`o|!%d?$8apIcmwOma/o4kNl1O4) /mNRcC]䴮EҿL]q9v70|y -_0q^ৣ]:y׮uI슱3=c栬i1ל3H."OLim/I\"8 -o"*BN?J0+ -B|lOJ"PF\aVG0$#[^~ [C՚m9.eGakB-*Be݇j*})?'BU[jG-9J -xTkZL?3whSJXSyL 3̇ n[\=ʂh!=Ѽ;D8Ku<8;+=1h}fr:)>,?k,5c_p"ˉ+O.ꐥC+4oӏ7-"%ڙ -ݙ hY_ -M*Jpj17rN@|rG#04]cb#Mr?]ND(7;M|6E|F -waLcVq*:U -|fLz6.އḾ&ǐ(gs<d,+&,5s#ɬf 3s\,a{9QGk1*'G5{&%1BsjX]v޳6Pu)B&V6 $)8Ɓ^HXJDdwI3ka;TP,dVSkbM -Br3$3?ci o(CzmC -cIBZo|3OxeɔrgnjvLJML(Bˍ(hqz|L^'2 gLU1ZLP>cM{m_Z;lPw`c -@L {.U+啟؝?!^.K Oj ^ҟK1 w,?#7ޭ&,ݓU},>AD'}V͎ڴ,!&3dz C8Omə9yTCm콰.4Fآzg3S -?SBCL*KthK7CX*SshE -˳c̵?c8@=JO>_?ͳO*8۠c_굫gosޑZSlthcSQql^@yg -X mw[tO"QK [qO")C í\y7f$]>" $訚\U ][]H[m.Ew .4X[SHh5 XX꡹Y;l=B^f`l%峺'OJW$^W -=7$휆ђ0f-!= $˫fk -,{!R0Rqܜ$ 6i;}֟'cxV;dw\ӯ+I'ICA5RzHvGޗуB"AJ~Hp #ੱ"+LILn,U1}Qa8} Q?nŽӘCC,q{^h֜b# *h{R^M#Ɔ>FkF+6k3bͺT,8[C󓴉kJ,+>uuAcCrn,`$Ѿ`%kS[#tAeY$p pRX u.F?WBXϲut.-= 6ABG7O 'fz]E& -b,%f\DU&!^u%jztgz$t -FB8 /?i>- FJs8tu+?ycjaDpaQDT6~`(VU&Sg6؞[D&@ddgAƉ~sݜbY3~Egϫ@Uk;k`H;ѷ(+76]FKu')r]g;\u-'U֭nn"$b r>ٷUdk&$d8 6>y"; -, -ZT1 (TR~9N.ԎZr(/5BݵM54jH1 nç^e>W\J3QT11̬ۛU Mut.a$έ=|.b{4*4uMD*Ė,NLx^|8wMU|vN%x*wuj{hn;;as2FE`[kh-/s 2FA[~&P/nv>Ul>0gUAxŢ" -Ƶ7Uш -:0F|l91˜09T.t4/l\0bIrIl3(r3\K?*Ic(~bw)L=P -8x*XeV.o1LuX -j FE)?1w6qs6b[7ۊ(UεC=uT076 pUЅ:)]fA0X_rbT20.N _(joLJb=K2]ϥJ:Ƿȣ q\ҴSр?\7{qRҘJ]Űy{yGlM -R7Lc 3o7AlH -4Rpy sg3H4#ȋ5@^)i YnȦTqH ef%v?qX4ȵ8?{=ݚqeQ4 ШP)l -7b<%-e@)Ib%KڨrsfH %f~-AP7< }5چƒ-f , ʏ5&ڌu.ײQ4CTzv+ZTQ_41ż07홻1kK=Y:P6k7P=[Nd6Ο6V_C^KV I0r);͸rV{;xC?6#˘˪bi|ӚQ ھ7vؠ?Q$\V7#)UGh)75yu;SCF:dUr;f75b)F@qہ'm~%B'E\C@[WU8%@ͼ#b'XW)~Fn8GYE+ePВ\=0s+2eזAm5dxYMLX;[8X km -|*N96muX2*;B9LSߢr٧1+ȚhqG+B1 - TYfȹ@p]ٞ02}$/r#: -/g}\hYw6:fohXghRMj{w?irg|Mv*whǹEXP eYi~T/;Y]nE"T+a9;{sz5~ސu2D`۵D~Tuƾ`} sq2:w~&Ƨp]z[ |y<~{TpA]i9wK<2ʀwTQwk{HLD6棲) -L^x'wPiȲߏ2$?"C3W}'=ƙ'5C2='@+A"U2nޢs; -@h`UI2s-' 88 ID6>=˞A8y9DR>? -Q_VWNjW玡3 -D3KW*FODV9 5^c;8$NmVoQc:mBPdUoZ5hiʮ3(+]s(qXb"E]opw(_@~ܙSE-Cp4?mZ7˼{#4iubp&EC'!X :2%F!T> 0׼3%6U'Fi}/afVM%aۡV-5˕*w1i|7VlAf-Uui%XpmGWi_Ł;uٔXV G|gY^gRwQo萷ǻRMgv3Ʉi o-i6X:4HoaJe6Fi/{ H.юDJNqTo3KpIƎNtTMX؀Ig.kǤ{\~yw"Iy+G\mZzlCǎnIk|Q]}!F&m:4GQP}V,d÷4_kI9NkLWGX{J=!L-s>< BJ9&|-v&](S}E-}6(0S & `MHp2^~K|Z錔pV~3MK,Y;oYT(Dk!e+WD -YEc/$,mˆ‹4%8l5PL4.l!5>]Lm9'_ >9dVLpm1FWߨ9h'"•<*뻂-&4%mqM,&ϗf}7m΃K.MxFRb -9F˚duhݑ -I]u dFݿbl8xvEvsPVnlqe N$qsR&vOZNR+ӭvxs -tăP/Z?vfMt͒PZmLRG DmH :@a|'s LOHep@l|s D vOGٸ赩 [׾@A'6˄s~T')`X -"bK'S&[WP>;Kr'<\Iq5P4K6IӃ^jwjx=! QwFZxPW`j -9Q^ ]+g/ -U˅x5$ߖ7UA/y~ۥ.x%]ߦ*t>M du-xcQ5nOR k}Q-6&$ϥOq>lbmRt Z 3Z?kRYpx$O G'?PY:Z`mNE{܌!{ԨGHO7~zE2rS*7z2I{(,ASa%O85*%<"V:Ⰲk5:&7%#U - Wa 22Lcj -?N1\[T ࢇt?X\ۅT d7Ea7\e1E9_դ2{^z2|ղEn88),ɴ#Yԥ!`U,Yô:\!Up5=:=T|:#h!f}#%:T5z& -&7P -[gVPrҏ`x -7aGVL##WwvL1RyZ]*N\رܣ]vgZʻq%C`F -,uv,rnuҢUy6!/W306F]yuz۩r% W -X))޶nNTEknAEY<+2Ok.RJJ K'>@!p:zvX:kzܦHXpO{O -ɸ{Y&_MNuMYn_aп{3 -ܓ^pe@*@RWh$&"sY&u/]WA<(ldYeEDEO~ Лwj\7oQ 4tj0LJYOrםO^4S^,Lya4)5GN𑺀 9ZY>֨m;G4Ҁ,v(ZO[=[\?oH_]"0\O"h?r*c_DžB0TԷTKTib`BK(|hI .Ԑ[bIS|Ki2f<[ZQQ9` OPǖ{FdM4JՃ LO!MA*Zb+bE/+og[9A\EHAgG9Q+z<\gg]4ܕӉ#2Ҥl93j1OՆ# ѶhT}h(6T1XQpq A]1՜JmT9]mmF{YDow*=;^{-*Ros^Fvv%d.iZ^@.Od -)giL%{ -^$sdjsrd /\ٺ}\7dSRPY*$1||`o9ΪWk6wYD_9s.Wwn -t`?C_1yy̷؆QN1iEgدE* 8hd) ; RK;zpTʬ\bcׅR0~bPyl*"ZMbgyib "MghlG"Yl%'Ķ*n P8wcG z':*`n,l@ઽtRc݌>鰞#xra(yİ+C2VD т`m 3[+YĨd`\@P+ ѵzdBʽ}Z/U) JtH)O;t }]BWsŔ/ts[ -'+gue~!n -(2sׁ-4eW~8^ ljf- |^jqDx 18믝}i[_ؚ]n>@fEn,h?>e[=f}C"iCBOcNՌ"p4Yv~ml7А*> 4rʞA3]L˰rwGZ*Y=F-NjIu-]S)8<anuϭ]~(-0HI'nF l mbH+qXAIBwތb^H}AR iRWnjkvtovnjk!Rs" coSuK OZX -<Krங^?Ϡ9,wzq`W9VQd1jȅqJHhH{tFd9eOact&XNu9-cvJSSvIpT -rlEOGdT"vWr`VVڑ4ԔC)A=SF -= )AQ>&p`uYϣY36Sϝ0K!];bV)5s6V$0- !b)3@su\~\<-~QtԈHǙ0L21op~;b>ooຯ!`dH'^FGMt8^ϸ'Glt4jjYXb%>:  k> $a0Yz4!eQe-ФS%~:$uyTCГo:Š@u!`a?`/{ah -\d653>/׉5 -"]a#a -7lHYVg? 7(%vp:9DWlj}k`F3mS,_4%%ak sĥv¸,["Fvi@c 1C+kǚ%50#7])?k`s_Y`Oku-f Eo1z#罎p۸\晶[`Ԙty*Jӟ`Vfe~r 4RxxسPAL&Q9VdeKؾ9 QM*l[x7C0fVދ;"Z`@!qM8\=ZQ|soƋLW‚Æ$˅%oG:,g Gq!jiTl򣟳}PCxL *҅$əLQirn[__WZ?C%#r΀L+Rw%=$xчm1'oS9kkD y.6"gkb._H&{hrS F^Hc܂3O23Et~:7lD&Uj8}+w#:8)yu{1ei)r&QG8!}@wH_656n/dSC@` Yw2qUJ _thn!LoL8VD=\5_p};pY^(wo!fCVGG5ɝG@v XRqAW0&<M$yl*qɎ\ !2EZ_8IPe:Jb.7tO)5pHgugÖ"C SFN@PW, yy쬄ɤ,ťԭRF N\ϕz>-Vo#9Z„p[Gj$&$( PP|U֧GmɕH8NoeVIQƹ/L8w7z\=Han>b,6 I k ':Rݾ 0ǿ_s)~,Z#C^|^d۴dxh&j5}Vysn0?ZJ>Ddz)(^U\wSl>Kr}BR5>D:(Y=Mti\Å@ñ)`~Ҋؕ.dFrƠΐ.!GAv/HaP)1 #DӖ ;VݞRy_6SWKuZ> ڿ77YV`P҃+ 8o1N\YgjjFa?7׈>ߊz`{grjJ}Mc,=a-KEȪu ѝwC*̹@#Kjn{@6D;7JէɺOд26Z-ɲՊbA!Ց+RMGL("Qf/KsƯwk{< w -? NB2qMM&qlvyäO;@+8NA'Zf5_$͍WÐ  -]_|"i 1f>EڦXshJJՌyX;7є6M9";}1H&i]L_lJ͊[‘ q7ݕWmXDA!]+@bV֓)J,jb(_cTR [o Um-&EŬ+SiHx4`FnR~)Ie]ͅ59["Z1$MYbFgmm~LUA\oU-!:1q~8z­Ƶ6/qC-U4T,# ̳ף6]8hϗ1QVZwFb ]hcb}'ܶg_ӬD6b81n.4 2߆響ʥf](K:Nd~y~J!:~ J FcV 4(JzHmbNަr֭.YO9Jcaz-GAp迳FM }A3o'94P0q>@2\<*lSDi}<!)\L&A=uq䟦6KKI{_LW(:TXWf`6?In t hCWQfe84( edm*ftn؈ LŪpVxdm;Q p7m^z-&g.F1H1 -)F7<,t0:pRWabRL+pBOwkeK[ɾljl;-r#Y{s%TIw0fXK{4]Pީt^Ȧ -%d׫u,ѷ04q8a>E6Bޘ*!5 Bݖ_;B).Nx಼:P-2AC*B) {x;ǔ#i!՞*u2U8u0̣:y{eŜ<ﱯI1>3"Wq,Hv?.> -FYGtZEӪ,П5=K竆LO%_|yGL9%ģ|;(_j{'Kّ/(鰤`ULx ""HtRZ`g>#iN?- zsP#Tnh{teő ]>,T -Bd]3Ӵ0pIU!gt\o=4on6[UuK\l%0[l]"X MWn2͟V3~:*gQRj=I0,OM%[QΓ{1D@$#*X3Wu=Q[mtEfW[`SL}%To:242_EU(X ,髗WGE72|Z FrඎH!LHC- 7Ǟa.1C~:hd2|I-$\&R=PIeY[){A㽠;=%IE3w6Se4ڏ7/p O]2 \r5 y_VO5#M` W+^ ](nm(Aʬ{I%"y&I|'jy| E74tP(z -5Ҹ?2k靛ML hf4c&HG -ٹ󄕱 1uW/;[[.=R ̓7\{ ]=\B87^/  RbY@FM;j|sB<_IF;Wk<ÞpPjDd3J3l1"gv8!k3:1lk[M9!eɖ|"c(nCn]7}>3ݢ*@/7ٲ2* p͓B~+ D뮹%q]2끙V=%2p:7bm(.$!-c/Q?#ڵ±a&.n#]T_"0Vی)§*~n? | Kk)i; Ԕ}Xz86"ZI_IH/G:_JM"@IQ/!'x+?cų -DX@ 'ATŅoeFO} &.C2 d}oŇÚiALWe":N('H{ߟS{jɰHc·gW #Zn_ZmyUў$v.u< Vp?UkϜNỸj)Hg}&'(mI^LWMȭbLB<^?Y.d#~',`c}'Q=;(eA${'DAҭ@bK.|Q&aДcj!ix$mտ4aE!ԌD)0Are,i[;tTT;+!u) vn5lrD+vbALI!{ؔ -pJXq8Y"- ~Ƽ|>e;M -ɮR?4Gn7/gq6?/<.BŹV ;RXó]9yqXκCnӣ9 cFؒlQOzss0 3Py;Mƨ/8(Q:32%CZLE*VKh..5 fNxi؍ |5ЍFإ7[O]mv=u?e>i/×RʧѺayjr!DɴbH$ ڟK0j;BJf_ʺ6ϒ2bN9pPӐmUU -ۥ}͘Â/7ުsZyE*B߃tb#p;GwGőa# ?kjA)qwZhͷX"5kFE{[:l0pU33 TIc+}fA~ -h Jf6Ȗ>u_,^Tۧw=-=Cb_"QqA -NGxvhIi``r$^/Q-6fmWQɀȈ)¨ I$ۻ3rG]b-JYE`1GƏHY) -q&[3FA6;\nYRqs ZA qDrR'Q`-3MXaKГ+O)hKߧTIO^u-@m -yzP#MDFE=0MF]9D5%X̘UdUE_kuك)_mJuYѡ線G?-AB/>/2Y.BU6z~9!)qYvV~ " -J:.Ƃ}` Sf:8H$cU TNSKcF# ' (fxU^QߋMWh(qHbxNUV(o>sh~kݭ^ $rrw+" .8谓Hfbw8/LWلB3M+FFqIN1>m -ޔfqc ;i -},)AΥRFE訆{["~A]{XO1Ma$W4HZ[f9#M}c{  _}9ְk ^۵c$|u+o˓R]-V0 Go.V^N-Y>xrTl|c&wqOaaAiGM(x<&Xlik&r9Ij7mСcE[lpb;a\hd#caW{O;P 鯛tM ze.s[Σ0jLR :re C%0E+3?9@fP)<G\:)-0k'v{=᷃|(Cޟ *n74ijTA:wq@BqVrZ!K]c{!@Qf'<NrWh,I`,gZJ݁OoPnTf߉ڲ -VJUN~< |d2xTئx8BR/a=Lz#Ql[$ژT9G b*C3, ܳ](RoȱNV\:V%=GO8Pto#OS̗le~( U mN泡H&ls|*d,ݥ30e^i`x7: -R4e=gW2!>pChGPKT_o : ߗIV"17_C_e3Ǡ}|T'2?x?%ۯ4:{8MvG> onUڼZ-2L\sYbqb4ݗm%} =h{R˸-h|CEw! -nvR?nxX`t&ĉ.Ϲ՘YVʖ?=Ǐacv+g-w޵#1ϊS4[1W{;jy<3 U]CdOZMF,J`̰$WghiwU&O6%EmEw1YT*)r -SłNV$w<ljGׇQ'J$yȧIӳK5X$sagͽ`hp|l-7-Th\O/&]jd؁1&!v/@QS2?aqM0Bj?/u@21iv -R8Y2\x_%kAV&9f0E9-z3 S9l5Ȕ%\K/p>peE Xma־^xz 7|yetZdT*REv -+ -$}frh[H%ͨ Hq<vֿU}d"T,u5FS>B!Td#]p`M[t{O8(E5"I2%6 LK QI Áv͙GYRx8 !?]W"WҹxC钫b|ofDXo/~\|Վ,[y x`AcQc'}@&43gwP`$rwBb@jѣO,xDhjX - s|?IX6#[]jzOKۑ7JYm0~ Rma<(7JʹaSЧfAwc0*>s>rJ[OvPN˯?o4^P}U2>AK -.{D)DJ_.r9s[~e+Zݔц[0Iz/WY7t褴.g|F6Ҝ~Z6_F,7M+?Eߥ텴QyM:3LeIMX`0 &찜*׹E |X<m,6Ⱥf ua`Sg9]Bs5߸zh=agz5&)9Yz^~ 3( }v8l'oJ3u`Da[Wg )d#fCtTC b@MYnZK^f]MSOmjkX/>ރsJ΢!z=?ے`XJɁ;+b? -QHF%T]cA0fk -/x˨4$1<'+4wjpR?}/\ub9a9[g.7Yz)-"9c)k}W0Jg{ tdh,d_pkBc"#e#В"XT, Hx_CfLVo2Z*P@XK3?wUs4%3mndK_Eou/*qBShO/@3XǦi@dDFMaT\ ӗPEPKZ5nq!]w\ %b t3e]ICd1'8Z(H L zƀbApq VS5ߚ'HLV䒹 @"objK͞ʲӶ,R{g]vz7J]_Kfg#SlI6׃hn=^dي3'i^Ev۔h_#lܕJڠ;[򃴑wYw5da<qj徉uSjFc"gqO9VA:y*P*8y J]%z,ö䘱wz?c^>LNΆSH[W)%PE9JDxY?޼-JCThm=ÙP@~B -B:hZbHSr\V|&Cx,0nvXNhҬ ް T{ }(09}Όqi!bk1DK~ZB 5yt?JFd)̸%AZeѧh3pY °3؀94$TlUSO$j;ackѤvu2*eeĈX&p;ĭq)<bt`ij -4\U.T5F2lΖ;k Qg nXC3OA﬒Ƅ=mth6dJ.lwUzL88KSoԟECP꣖FXlu5  2e I쵖 -ޢ*a9ҧ@A'R\LVv+B] 6r5{̭+rK ˂}znmP -sێq>*z~yqp`7Q;GQx|mL*Q1NUԯ ۊnh yPj)͹m~d'+.+U's$l6m -~i>m2ܗvez/0o7b*^vc !+-%]OrZkR(7Z *3t|ymY+%^C}Av'?v\zo6Gn@?zw pn; =^ϙ]cIJ" |pg9Be-A)w|-e:@y>囜/R;;vKoQMxᾍi v).qx&+;! 9ff p \*NXEHsך.B`pL=?sٶ8wV0O䕉ꦓ^nyUdsT<7 ;,'4iV@AAo:h %#2D̚f\_t -Bht-m_G48WѢ obՁ2JyE]o6d /z;J4dt6n%mP\HByZ^~LA%j=[FQrLb=/&'gC^A$GTuauF 4}we SL,\FSͺu 2"M#*.DU `(C(c@1_8`+zӔWM@{$&+rI҈ Dd1}m5]ORSxގطp 85s!grgD;dVՈukHƢqGԛ5 ڎ#;9belsK*ĹL~(*Utym.J xasEΘN>Kޥwÿ%Tʿ` ÒU"uCi4KX\J:P:ڷ7ujs<'k^s~ tzU)PC-⻮Y N@ -@\s۹nu$8xN72ERCZkA] ۲<"B2V + D~TO Dg$cQ{߭jÔmG1Z6݉oGɵ Hpnd*e0I]ւy,.%x(m*z1?g+^$*(4|%'d sٗ)҂)*,we :TQoۙ,PT6\52-՜|{&YDtPN5 #C9&k1}љΝ/*FߴܾM W[0c=J c9iD"2ht۠t2>W+!&H\x2~փ%'u>Ra/4Ɯ"fM3.:b!NwW4:^|spjQB1L>N{wP8ڒm!i -G>Ęx ~Y\QFNX)WƓ8v.'E,$ M!08& Y[w+jFvruSS \ No newline at end of file diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/rsc56.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/rsc56.dat deleted file mode 100644 index a3015fa076..0000000000 --- a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/rsc56.dat +++ /dev/null @@ -1,57 +0,0 @@ -4;hÁc%8pz@rQעB*b6t"ISco ȃ9pot4;hÁc%8pz@rQעB*b6t"ISco ȃ9pothvз[6JpMOYTlA0,7D3IrQu\MbWX -oH取dJI~Zp(g:fvFEKs?+>l՞Y{K`Xnf9QC06ݢզ?wح]27Wۂ,xNp<ϵ8ݭ^ιmĮ!*ZWސ=1딑QP%tYUW(-ۖ=%hsNA4M{CxIY^3;mHQb5E4$BqMU+Qg~V| q?5ݧ:)!y&*.M7 r?_`l9էY_3k$\׍zň!hgUM*(I/[;_\0l}0ճQc~(*GdSnE =$XoOI)xwpGo߄),Z7y̋!Alg3~khW@tKڞ7m)ڕA}BT0Ǵ=z'b5?9u8J貅KP Z1z#JY@ì4d̈́ -xgZi}C5>W'=͑\ -]>_ -"]8hMI>fvڐ0ąUjh HACV 1db%A|{;tYIcTë)U7b%- /sY/-b,Jx~/Ӭ0`+^Gl ѹ = {ٞV&$z|4uҹa3,jhFt_OuP:͹m3EvGS)܎bKd'&W4ղ"a8sya&j#lz\kց -([Ut?R џ.NJ߷REQt򛈂q:#FhPL,=}ɴ%n`p$G:F(vΒ~9ݲsc!jY6u(ApbnWzERGT^YЉ}586к3KIV)G렢9qam?v{*TRI0e tASFc+`YH_v楰ܮ }]v{K\4 -ÛusU 7 9*Ս:WwB~EΔ?囊B6M/5۝X{ Y owǘ7]qz,(qwsY堨 ҍQ@ d#}!J9ۧ>6ݦ >G͎] Ķqv%# "sZN/a\LC}נQBwq~Q6 -R90/O_o =[*8"Run;r2~sl^屽AR1OB܂ l!3b.ڴ1PVH`MdQp*>1t{$l5ϸEŔ?< OZ`tk*> HAռ0.13]$uˌ5'*Ę̅r^o٩(Ag xQ"Y4gְ`d !p@mvO}ǚߘՠuXMR8%JquE\sA־!B/eKh ;d&>POQyfkda(giJ2)R"9rd;Oz7.#^CI=*RE Z@]|&)ޮ"wPNh/?Rb! -l1("4|?$v3{Y &ƨK+uROAnJZqgm{^%c0^ZH,0aqf:ʜ#>5R. ET1)oLZe1.čXW^,ɏ -Ey`Vo@8z,! -/=0!.W_EO:p퐅1Tb,|rU)c iyՉ3K/ON嬗N ELHhUo;60fGX%'*Cw Y4toa- sp{a;("2U͜Wh޾nfc׊嵦QU -MmRĖNLh.yD0'pGQL]wIF !4Mx7gfV8u;J*+!T8F#ֱM!5Z[Pamoi~ř,%#?\s+YW@e G -g$,['f l2v@s356sQ+ t!F"]>Xz0ُuJ.ܱH(3tcwqGPce.bx ~dgv"ORT6 -U{ ;X 9ry:BԲk6lP#+$ im{jpli rg>N*mSt3{bUqu2I-W:cF.p,S;xf\,WO-h:K+&n$rTtS"5KIy4sv+xm3%#z>)DH6l MO -K*wir &`^x=ejq? -k5cݒ&΀IXTinٯ5` NJn rg|# ]*8k2RgW>. K_[%+Oܣq*)Kz'c-Zxüka6π]m_ HZ[m Ne&3@!tG(;Fo9Oglr @_LRA"D9^~5 Ӥ<đ,Bk4ثb) -PDhÑto;LlId4mF5wxqT ]gb¬ni4K.~Hf"yL9:M+VꤞIܕ62ڿ4'JSy`7mɁ l zA'Rc&d4 MF{ =X=`y>0™t;u%m F|wj]\S-e0bRb\cUrs%S阌ܵb7$J( ~d6BaS ^2l (752X>k<ߛ e4cހKp0"XBZ^z`CB<_>v/F;sn+"[?kBS\),ic(;-s-q\!t=bX" RCf^E316Jm0'QǓoe3f]҆?qhb"-/ŇdƙbE늘Sɪov>&l`/̎JNT3a!*]h©3qMI ˪W6Tȷ|.׋LGʐ{၄2k誌&B*dG-Z/>]?#;vK -5PqDdۭه%_=2sa>=2Fl'NojԆHz:@|{LglR> XN5hR>Ƴ :CwQˇ@*ZڤW1[A\s`יNѢ +Vu=>Riұ̓ a54N#:QB( _wq"(27=!B?A[eMh_n>̬pvoT'GVmByGpCQ 6,r2EGO)8\X?b<&r(ZT2( "*mF>0BjqI U$/X:JcF8~%5[8U`J,.Vv%ƉDژwӄ&#!z%Wr/; RW!VS"[}C( HXu-N̽ dfjlG -潓m;z3& @ZREĊIrdC>V%j ~'ɢ Y _V2B9Eٗl'VfK'L`‰f~8΁BPƾیJ[sklqN@H4o_7H- >troWsI('4hJj)e1c ӎ 6oqMc$HuvY ra3ZeN\@ԔP)݈F}L^* &-aBMdpU9j8,bJQۑy=aFBo8`W,iF%Mn[.\k_!ș]Ϋ4y2`([3\O2JbLf9n/Kmڂ_hD|Qtƽ<\uXv{̸X',f^C.ŏ<5xO -ǟwIڢ($u)7ɼ7Ş1mZt(+VL{I$H0s2A D8 jx:VJx $0^so &y u dYlx催Zƣ:V&xGFhRBPb[;IMo`-'ʄ.&wP!C?/fxV(Y3GcA 4׸z" BOI#8>i,3ɐr*)Jfˋ:KN}#ۛ0y$;ZVOsX\i nW!IBWRNd@~,pXsSLm d=n}5C6GB=.kTOJu:_\]e)va @Nx'%k)I?YF5Ӄ81i7=j ˉ]\`)*/hʰGah]yVL~F+0oPY$:2bz黾5K@x+#S׬K9]H:tJ/+Lp,GR#sHt&ʹoa^prCQῗcEO\V5!x4&U8z&VশbkJH@+-ևt"}>IǝwI" -ig@t,*7rR0D_'u%Tksmxl-{YF"Ys5(j߯1ک2<*e|bgh-{NB06kQ6ieҽ_w|}91ShVq8f*JAO( F|R49s]^h>?aXIKqַ;s<[̗W -D=" I$l:؟( ߣU'TCL!a{9z,~OjwƧ9XJك؞Hwӽڜ&)ZP^cM_wȿNrML(͒ܯC3jU - acɔxM^K˩FDy[T#Cy0w`B53Ixi\{Sh#Z8׉<3.e1<]?~2HV; [h)*Brݤao}y~{, 9'HI~S:OBK1CvපiRݘiԠ[# -CHOW^Tp<핁3+%C؛\b*Yݎ@i mwX٭ -ZL3hbE6F; hhqxUɥW\X*dȎf>&eHBtUF!W2FS}l#p6'[XE5jC$= u>ٳ^&Y Jb6) x,'4);{e#ݓշ7YΣf C!m.Edп IhgcE%M۹׼ -3ĠwiC41rj2c^A1fە˸O·]E6Zr=zs)p2YF`v{Hw#ͳj`RS9mx}LFnԍlyP1%V^HT?2!/ N6ވlP╱5j†[=#&v<2W9;Nj9:t“&Z6a2 #iʁ׵`Ih}o;lD` wO[J \L婌^-c9/hЩ~o>|'FrWM߀`i/D1K? oU @'i2zn8X(6/w}IJtrӊ; -Y@;/pWw2k0]H狛%qE:g[~aS'Tɉ0NDT[)RwN<}j6l( +/ -f$*_D'd}oD -:a-sU \cJge0k[7~PG+C(] +~A68xvңzk,5y/n%1<Jue\ {@cxS^֗bP[9L5vxοa/DyЁGs$l\?!n@떯;Rp[Zsɂ})UL@pG QyCw^D, -&41#JlwF4,X%wlO$̵ЄmN-@uo](/Vǡյdf`'9d0!NKŗa<.[\Wo_ ف܀4ɟ-  ܔ5RFWɖ mn„D҉>14']k!YKB/]4oSj,UY kՓ\fBNm"rtMtbVH_$C:%So&L8W]˭e)cn$P:eY -pS[1Gf%J_$w Dzk:ZAnGXJgPƹ_5Uۢ[p.3!'ܸe9H:dDUr :dG8ӭ3%w"=L-Xj7U`,}%ԽU8p]n\Ե/"qlFth`VA%6#| x֞'JkyUb].FCn@̘keŅȋnui퇘_D.r]%gjwUx?X(hK_įR?Nux.` <|Ti/k1(]c KC&a;t{#9@0ęE"I]hE8 { $N؜Q L?tb *'"*\̇D#y,rt?V1U! 785uldchNe+eug)9SD4 AVM3{~Ɩ-z>*ȱ -nt -*Kn !&7i ?uNѤLyh@SŚ=7+z[ً=TL1bX|UWhz9V nTԀ\b=z |`/مvJ@6:ԺU4 - Z+M`Ĥ>-u/*ĸ ZxzQg_@^5%Mp"+XiL_/Uƪ8Q 柩J-wKG]ijnHE+eP=Ml¦,%d_Pae -QѿWE |.吆D*U}$ok?] u>~u$7n}jAde|( x6'+SE@Ghơ`D45t~Y;vRPnio"ٶpw3&8|?^vf2_x|^Sv6sVDy?~$RX w*gPvZ,9Z kC֩*2q/HKmnR;rI@}D.5 $7G5}ӸBAa !˓z.gM>DI,s1G!%fbl%,ٻm[B۫;\Ε7}|Ƿ$U?Xo<beBJ{ .JX`N:?碓;)K{(f7~[8DZ^>/e;3Ļk$KS v7)n sH9~ x"\K -<=ǦIޡ |L/^}wg -f8,yBT&Ofalѥ>q~HC"QOmTΑXrSg?ٚ"IA+lm}s\ ?cK=dIL7˄TA:ֆOTd^*&1Q,>ܤ4v=_+c\7*j@H.m1njZ'^<0>|*~FvjȫGIJ:Azd_|;zn܋Ԃӳ} P'lN[V&ߑ_:1}hue 2Qd魌KؗNq} &tCeWy,5ؤ|0jФCj Y0:t+$̞sW3FR@ 8ͅgW=͏*3\4T(ZPڏy1:VKu[I -X']{9]n IUn.\?"NksԯCWDz̅Hgm6 qEmM~z$AtH@ -fKdn9C1;OU0:/ zaʿ=xUWo=,/[A"Dbe .`Vz͙/ʛ,CNݔ p !( ;`^anWRXMȭGY/ Nf+tm'\!Y6v'cIbf[?̿ `ruXJq -7Ct$ŗ.4z -ߛcx$ -lÜE9ݏKSMgћv+PNqCG>وGtpq[.j@v6/tخrS?KBJO=TwsR\wshF5SN=ݟ2Ji1&Kn|2` ~m!vȞ`j xڔ[HBS -Ƒf)& [\bN:at蟣?V5H2!E3O/f4pǮz"#TfhrvdAf]ҽ3k-&aL25Is>[ZϷׂ'LhgPqߩY=& {btu׶ -iUNϺr-M/@㪴PV7;!WR[>.nܨAÛ I䊻eĠoE\~yD"[6ϵC]&_l]ښ:G=Z,Ҵ=F)7XMxϩiL|!; gN]IH oH萀M.rbv2`tg^ 7sSczezX ^ߗN^| Q}l+I镤@Um.HJ*G3J~UXm\D*!u@]\ei/=^ щ+X84oӧ5EY aB+P8dzBKgjiwN4th_ OTCe*,_*9 @vܧ,s1GՎ)^.0V NUBlN) ..ݑ驾3 J;ҏ\ OFѿ ů"~t~K8@ě̶~cQC]갔qGn}?H3\ h_.=+.* }H6c59z DwNA80 jGWy{^<@(t1GJgSW{d؛%ο+V 6[Y| 'ǶIDCT'+ELϖ-y=0`vN"8ҹaul1cװ.ADF+gmtk3&+G ={2sYLTԵF)#cMI#T?yՂ̺g7fZ0 -L dj9|Os:;sNG7o\a] -Y@E9²2[APCnCg=#2Mu]Oz:kLE1> q29(Ҫ}icZi^[9IQ}'fO^cDxKϣ -ݧF?ܠY(wY֙s -un EAvB61|\ܣM _+oK kaM] C{_ަXAI^vhYͮlRrgk\9&|9?0͈l-C{m' -%Dol wA L.O=/, )tkzvra"%EZq6uA'J1 ޡ/яG?0D1ܿgXu]"2Kz!Rשn}Os-QyBvɜO*͟yJb.|,1{k~4KO&elQרAR_O#Hecx(ސ=(\1!2CdIμ$nIA:Kq/&1@kڢUw(Oj) -RIV_۫uB'LdiԸ#3%@A2_ Vc7U8qڝ'5\6 &!9OTfeոp˚n)b#h:ZD@>ǀ7`TUf6tgďC}s/T Bꀺ_EG+^zV*p"h%Sj4ݲ24DŽVp$Ꭼ5$rQY>E3KiH|!CحDAhK+%|SCv4Eqg"/ٜ -hоK!ˆ;}.Ɖj>grp`W,mex'P<b<Φȳ>_l(6,Q*IBUݻ؄cu; y T3}| 5oՄŚv(+JG'x S1|3Q)cVŬ]%O6l7WCN.ٓq+KӸRBh -ʔMU5bZη|1*1]5.0_NV['1AZz`W}KDposw?abƳ} 9axK&7@jSX4s?ڙx{.:ap࢟!7(*Q/ -i.QaՌe#CwxŇ8ؼHGQ:t"15j!MTU@m6B@{*e3Na!BTY&. Z񜘏٩nQ&UoV`uLYH n,si_ZjcK,sb+pc}maAţǺ'.E8@s?v*t&fGj>@0O; -ˎN:Q%d#SF BȓVKx"֟fL8Vݎ&@zcdͳ$ kwRFƚ$:OFӫѭ~*Qk9ZJe)#ω0w|< -CEvVHwӢvmr^,ō ionDZ`3-9rGߞ qutv{2-!{Fc( X%wYQPvE1&7Z8Į֯N1KInO­&3aϲ_urydq0'u܆mzyFd+].fo:6 -ZQ+,i&SzWqn^ A&P1 SWy܁]ٺ[ yt,Sb|{dr(PI&%s˴)ҼW{rRb[i؟v(uYF+_Q\A٥ -ed0]h$QAW:wQNḰ垼ƈm͖/[Sy~]MePom{ /Wrz$&жT+sUMk>='n`RJf(>H']]E@#3lAbUkq縥[W +V$ޖ98/‰79C_!K/̙ HP:a^D2x8"SW"dQIǂ(]41&#͡;S/w#z+83)}Hޢ0Ǖ N4M+ҵmFX7$nE Br>FiI]g՟/0bWǑ'쥌gu0 [f%Je퀂Yd@9ƃnpI'NjlLB=5r5 -I}m#F-ES&4Zcn -T@ U?Rr!kc)R=Fa -"ti>-|eSnϨM}4lkUe U3s/^Uj$}=C5`G܍V%dJ67Qaʑ{@e6'ek4p7uA?2 ^7 im'V&e0cT}"DJkh y0dh]H85 Z_B*Q~"2mCScY˰+XDkcpXG]Ej%Hs0$ÕDžU|?f Ґ5BG눂"ЖV&Jm쯎' DIso9i/?ҋӵdp5\8 -ſN8Ujh1*ۊD^%ͽa,!BMvx 6aZ, ^ P&,ץ w*$˄2X.(-g=p6Sm|20 -).EO6s2zZq)c9]a( _ǭP2k*X/={zIygeEW6Rs[ e{`JEO$%I%F^?,r.2=! BV5[~Іq'G:4gꋩO*XϡDzLߋ Z(+VW{K)x7nTDÊ۪arE_TbPEֹ-iZPې#}pOzm,X<ں&L>SGvYufu'$|?S~p^;dO05oeNx25?x߁QA {i W2*ۭIKǻڮqAR dkh¬E_bH/RH "k߾|Ͼo41PlXTAk_Ɨ0v fmj޷)4L -\uS@Ø-?W#FP: `(媷(?{)PGVN9{զ bfRƬE$>Jlqyn"4\>;A[gMI;P_) -DslcWdU52Jr 2S=/Ti'KMV UCmQе5ߚ) j+Ĵ!s bw T&b2új\ɟu8M71H_|4-"j ]L^@0*TX x3R:G^Rb@Ͱ;9_` M -NbK%coޙɭ~đ{r"LcnYl%1>Bʻ?^v竩b6qPQ -Ti)]$P<S{Ϧh3g~/"a<\tY#BnPT^\׵E}k·FS,Unv -/P K;4touWN6)R9Ͻ.G>XD6mw:peѳt D&sb*j#Bɚ럿 ڟisl*Uq.lGF_y oZaYm[C( dpZi7\YA={!yQGTʣf8*m"Bw']L\I%-Oܢ'L5x}/){4!9Y># ,Xkp hv dgo "ޯ*&KW0X;'iҾմ6G_XI_C2ۇķ>RiCqB0ZnQ `ՠ]9ϔlos? oAtՖrVGc_m[%iɉ.N\p#~T? :L̎?ԏ|` eВw="' 5j\β/^ :A%c2垳#v,g -tJȃF@(;xjo-kbW@{k'MK3׹w-]Ro=7F/[Q([ fԥn%^8LoSO9BW:CA.p45Z2{  lD<ǒ-%uxk}ֵ>|vP;+$Q;9l/tqMO F\^*T)%Z{KLrɁ5uB諮y(%Z&lj7|m}T<׽31bB-nGCiy+)2ުxBz[?i]N-I܀24W 8Jq`DuZ 5,`зm<_|{}F8pQcjVXӾF#y e)Uæp4+h`.}lKHq6g[Y6@h 6Kb!WlB޿u f*\>BM; -b;nM{<_V/VGqv LgpxIRLa, Jk=زgQ[|J|̤=_e -Q!A?gRЧԢCuvXxכ,"߿8,Z|CW GcC"H~f^[ƙi2d8.ow'yi_5DOͱ#̘pLy{H-7Mw*  )9HtoKGMTN/ 5ꯔ0nȏ+2%jh~ae F s8~s;rߴRF`+x] Y+X,ZU7trֈ!9M#⪠I} 1bTƝvF`JREO -s2<ށ܅u>(-/30f.Zr俎!@6d%Zg*f~ j|]#&8(yPMip3$7kbZaW2"Vp7QBkPJ(856 -*bKLnpA#C;bgMt!^ʀ5&/ }*R,<)/)s1 }Xɺ Ff؂ĪmW)2@4aVH1rp^s$)ni$a_B&. QxZt~ LzuR#(M0IXUz_bRrWB^-(/6ta$! ٯdip%D+D>O -Eȡ=#wc1?% A3+zmaş4 Edgtf|HCt4 }9WPehb>LF_;vxy3JU6m䘎@xlqx5:2y?6 @+t9<۞%ڭH-B+(9!+Д]ԣ?hCatF ȽGuک^, "=I&Gh -(C}AH8M=~T,m]&u;O3дPUmB>(c ⡭06" D4l-\!>GC$l}ܒ 4RT#C9irsFH7A;~ -'jɮpFBP0 -3v?]X5>(t8ӻ1-nt+8JbЉRW: ޞx/JH_ Z'~)4ΐ'eMX'hR XHuJ7dɛbNf54S?_c#^n^ Z?W-Ĥ V:9kDy]BxwqUPаr 1܏*c;n#0%)Zno ~8<)`&ejz@Hx%׻UlYн|^F>yV%p>fRYQȿˍ~|U$?3/I]hcvj2JrmvRjx}i1 - SU{Rp6!ovZY3.pXJr!zvyŷ[ -,lx'#1q @E;f+D$3X #3s EVlfX\o_>W.v'Vuշc@֗cu }0 hƸasC>׉_#8O -SŒ]~5S+,_r#^FKG65>~*ʗk1!7YP{oU=WcYx~qr2aУbePiS ])ֱ̐[#uAWȇK3EjY7{SI^M;yV(\6 `_zdt.Rm[D79'8߇H^iߠ4ac;~]5%9wF;sY])5JunIH܊߄)|*矯9#$^`ĕ M?NW5UW8 _#!`(ch)TxoO<%$-? S ajYgHQg, SzݶJ<aGErIc :ONm$zj!MjגOse4L]{$Xڨ?\b *}r|ؓQZhZ( |! !FkZ݊<-:?c&L=h), -~=B -1)M@ڛv{=znMtD2X:3h>n$:uwB R>zDǽ#{ e@LPgΙp|b )Dؙhut,f^%g4Hzj7JȔln™?0WlNhn~Xy*Md&p >O"IQ?D3 Eq?<ɓDлdM4n@:aN oLe`1XB "M@}l4MKqX:,SXuas2Y8ȩQy"k } }"khӼ&ˠL -XW,mTH.1 d\P9>͇ZzlǦ-d4-`R\>o H@ԱKNEWmr;\=7_v :"V,Ѝ47!vy Dl02dCR rźUPѾG?xA\ij#`eo%4eh*<tœExM駈 gp5w$^vTi=>9|Ud&'-Tkw^:z,5G΁Y#q -5xa˲%8~Xp {D;r._oef ,1!ݾ#PfJ ޒw \ No newline at end of file diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/rsc60.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/rsc60.dat deleted file mode 100644 index a6af3e93ab..0000000000 --- a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/rsc60.dat +++ /dev/null @@ -1,61 +0,0 @@ -h:}HV"V;1@|V"J v`1k2D^ L',h:}HV"V;1@|V"J v`1k2D^ L', t*yDv0b"SiDgѻ5Y3bdaAEYNX -JN?؊^fM(SI3 ӄf7hޡ7%SV>it*T=E#E`D6Eοk5j, -fı e0-:ծAu@x]UhsY'YOo|I,&;<aBm?~ 鼋Pf-̩nС_:n)JU]g -(|'Ykn儿}9H^wRi1I_0= `mc$IgT0&ͨzF .:l Q8NJ cjXcy'ߙ `yZ[t%}62܇K/ؤz$?/< @SP[G'^lQA<5&ـI&w(6?&ImN {!XLvx „ik%:lHp2kpg,1jCpk[TuET /6h^F(teL ~(5%&Ge )Q9'Z0$k*υOܽ_tRQE>[PwNͲ.[`g4P#V:n*:i$|=`wAS5/\i;Ξ -k$Qcrc_3A8*c( ˋb `Yz3!:H'Sb"ká5;5dp<-5Ձi0ѱstjMD0йΨ`LM88  7\t @po ƱԵ(3&N70/42J,fX_M]8_4[Dw_8 b! PEn.35ܑpPWhmlgy?d?^U/H~k^x -@-ߠ붎U(6c]NsW5ث,iv9jr,$|ڵd>@LVy| - !dC5Q"k `u#sx_oj66LL{KiIPl~Lyߜ"y@!OPjJL$$R]rN`HTga<>5Ii(|.+CoxVp1Ʃ 5iE7dTOl(5#CC)ҏ +j) Hy\>϶##/UoS/$mΧhF/St*T9tHAzW.צj^v2!mZ ˮVyqyu;,lAyqD`p><-ip:Hy**ƾ=feSpUTƟP 69a/f0$Bt#&9N7|RNا(V%WtSŐϺqZW['pg=x&D֛_-#-jvj xZmAj7˷>3`4"&cԚ`[oGB3"kw}PfLn`[^hd$uq͔U)fDqD?_t .dGDwvw[_c<$,ʈQ[9MQXgwewpE =h8 -þpY@!BkU@܁$\ 7fj?%aڱ9]-[R~=()5 Rk`٦mi<=\eXځOP'WloZf'׫z4hzɮrlqڳNBַDPOԔטHH,.Yu.!WaxW U|jYP q\V6] %'aIMH Mh(\ M +V#͂htS;Q&?SbOOUjҊ;a5nȨPjFu}R;Vms:ERY8KtH -\$b,H`c`ϲO6r -U_ydIgϸ|qFvqX -9w9| ǏxZٕ_ut J^2̤κA`ܩ5͊ B -LPYl;UyB8Z+(YWT{T#azʦનo#4 l4ry^`H'FO?L=rQn@5?cj*3gZb掚 Aд,ɕ KXV1}Bu-USS=Pg=JO&a=g壟#i+.m5Nىz%+CL6 @ޣkEk,Rf^kEzpշXS\UMҦ7֮)O̒+ZFZ'ԍݻ/ ڂԫns>|fc8hDL*K͵) ?kg,>ׂ-9ʬ`mtmbq9G~cwb@EfD]]xs^x*jX;4_zx ZȪIcZ3 jB(8KÌ.v)- -9О..2[{ .ʹݤ;ۜ[lAG"\;b-&)6$ -h$fNm4Gݡv$h|?w?[.%H'5w\>}a)ia.zpq saಀB֪] HnW~J{]A4hcc776)a 7fF&f)(n%=SrW%ZͶzPRjGcͤQ.ֱQ{xzʰU _'!tBXddwK3CȠh%#k:Kɂ֡+ xέ LbeIC+=e\(:\[Iؑi%AGJєqqGx9DG@W84- cubxۣK4Xs7ۡ!վ+w05qI!ϷF+vDBh_(f^_A~vUvTT -715T'k@Û=kmtF>6SmdnyoOT-E\3C(P$D YS˱w$Ɍ`9m"Ͻt)p ώbą2zkYg{I.w GG9j%GT2e2}r;_=vO o}Z}uRMxhx1[*˅!+7) ?ެ 8 "ScI$Tv2ad-tr-19]-rcO[Jk!Z^To5qUKU{GP{(Yt{PA5V< J)j-TX'NOߓ߁ 6㉴9UC6(7n\(Dsl+DƋr1mi+[2RRؿ׼xy -Qa'}WeJ˸ML(ujAlrI0\>hh/&}MhF$1fF:z9/QxׯsUs%![v[>d4>&l*It>ܥm LZ| ?ĩ =Ѯ:kM$_Euľʗp6MF -0a9N(Hԉ8\\MP|odN1ABόwqLH{ qTiV|-u%9TȊfGlzyħ4~}Aw"⚙ɏdhegL~^ -S]dZHˊVI1I?] Oàpy^]_|J|E,O5뤵MH}dfs _; B#u ;K"]K=`T4kv= "NN]F]y;-VCkq]8.-K2 13< LTDsm牥,%>%֭*Ѻ^+a8)!cәG G"մkFi@Ց!q5t*–lTvufteMYiN|NC؍e7NKIh(A29:թ{ s<ʧ@@[A^]avK"D#-7UqR?0ڣ-]5-6X\6Ui%.=M6\B™9>⸬lJ&S[xPJ`~`nqe?iL:1`~HR |HI<كU \Orʆ -NQ2Aח!#YP 3%:VOF -yv0)OLW~&FW{Q:Ar4:8y06ქDl=tCKR#EĞ?s,s v8j܍M!sԌoS_$v .t0p=KyCkw%%Gx{_&%19gvDGsJ*I!>߳Ӑ9GHDž/XߐQcƽylYA=oȒ*msΛlOCra!%YD(~$V&)Rs&_v%2y_fTmxIQ'ƊQWMo='A2{eo>[k^0s꫱7_|s~+h+K/b*MɅ͉)w)a1E~ rtɳnZ9Δ/DuO EjS|Ⱝg r<'r@Wӹ7k,-sM*Zv G B3׳bVcқeC?ǔydeՅU*U -iO}Uj 룄Á&3-'vpV8^p41ᰥ(ETCgE&b)e7MRfc\&X |Z7qr"EK{]y,Crio52ˀ1i>T>O-OJC|zO-Ԉq;e>)'ZLRlH+H̜ڇh:y_H~]~Å-\J8qeޠE2Uјa*Ȟ -#m2Z &+^> -چw2x|j0DGY}|R \0(+y7IW>m0܅.gO1LL`2D8a\W΁d B:5"ch҉hYnͫnlRq={ň L(R -P/J6 ]z6$KQK8 8Dtc}zܖ58*_Z*A4ca/#k{p:AG&WoiJϴχq U<㠤 -4ƇU\Cשm}O>!]N S7BBѰw$/W)w -DDQaO0b4B$+Y+ f ݍ]>+s%JFsQ;t0_"WV/Q&@\%'ElE}/3}`LzB}3m4oހʕMgRPЌ+fq -j:GAA[eVz0AP:tYu1i ]?J1}o yA -hOhYv`Jt~|ЊZ^pR^Nd6 .낓1{U K5-1sGMrY펀iAOpihZ[,+ hn!HM\ hoo)3Vv/=8D,.}iSEPkWʩQfI M_#K:6BaV!`j}B);usV3=оP%/Y^{frfRz`Ryg]0nXR`E~!&d(gL6!-A坾SWa$OQ4n{b.ŋjNր+czڟAY4: |Ml:UOmtaa$I.f1$0Sѿh0xY9QWH2x\սw0 }=˞:ZfۆPaH!#" ӓH'4Qq<]t5t坥6d^-3ĝ=U4 -=W9C6Irm'!k"(G{rgADge-I!R@g -=ĕd -&eK\/D}zHss11T ޢV~Z<1쳻F=T _Ib -lp*o#@Orÿԩ J,[UOde-kdvsÓz$ -B{izz<}mIsN)m>/^&XwHڊDXFv5c3"b ":TB2" ϵV;n R@~EpeDƣHneiN}}t)t?Ft)rSk0S~.,mRީ(d_wZZbor# GZ[ :aKB6*;3:je - N Z ģ/c@; { M" ܶ)UGmߘI^FoqE+⍪P8sI/>%σ>cjxRZ]c$wð2''O#+ANRSyDv`]hCNѷ;2lur6[S:lPnܸP&-Kk>V㈑ bj.s.INI(>2'!\FIN&$H*PZ+>̴GŒ*dE[Vödc(emU:³(oNʔ+m%5P*{ ,))l -^\<rR -g}gs%É\NJ&״sE5y 0`|W:{^LUOq8GH1bCtr^=C)u<4<ˆco̞xlj{ǕjEoV扊^*;%cJB|h|LK7DS)/$%)GΘ1ۦ6HC␉\S>[nx%0T8dŗ/j{Yu -jDً b~]962 =GQ93Jbj8g-4OX3 柝0ϛvF8);$+<vDi/z48 hY,#z% ( bP -`@GT@^ F*N,@Tppc(?e fh/i\ D_!2vZw%UQ2pG.\*G#K Zǝdic;#bfxtw~>nk`U"-͡,d kį =7AT-;٭i!WXJ|1JG+TiռV¯psREB~e/8FLяXat*Cw1X֎)3l.¶ƍ/auDu ՌҀ>{u?Bqj4T1 بskʚ_ߵ [P#5#:Y'#};va}Jq:~R7-FgJ{y҇ {A$ZnWϤI.~`[Z9eC#FU m ff N9ƁVfLM"6:Wd)!wj{Z==llyJ\'zlA/A,Iroy|]$mE"i,#;_LI7Pn'L::H{ -MJ#l}D:9ӻq?\]H^g)t|eox`Q::2~/tb㐤 uxA[@9qu"=$Dݷܷ@{ޖ*oQ+?s-^vwGtv#*XrF1} 68d/393)=B0)FW7mf,w)0JtE?2Q&`RGY:ξq}l |3a 4{<ڃRY$iUhEt-/8p)/`l'2WzAǖG$.4cV +g;oVr"~eRpTĬ(Meڦ3FQӕ!~!XIopԥBG]"K"U HE@w\ Uy`z1.c6T -U0&=E!o@eN)(hFg3}5`]o&&J0J"L.Jbrg] 2skC!T 4iv":а= nK-ZV`Dƒ迾@8 -^}E͒BO|/C/{=r(m<^=˝Ƒg!(Iaz[9T恓Iu jB-Y/v{qlo{EmCOJS<>p5E"Z+؞;((yBJ oPHyLRqLJdO1!ǨC\Y%p[YZ{ǭ WF4Y[0zj<|u{L7x]1o-G;6e_e=ON>Qgi - eMՇz2!Nm#dYwʫޗ|#3S3W'~@c +u3&a}Ya| {`AnHf|l2?ּ#` &K,ns -o:VٯVM^,TkG6Ra[Wq ^(̔ğpgbkBAƓ;\%S?hu)#I%C|R1(b0 * /#'wC *U8x8l3a4T@Ιl.F:?wMvpv70cshv2dS}ܻXb[쐕Ʈ*$ίqH ] .ny7<*n2~ř5S٢|g{Uܴr5"[^bK]fLڜٵ&{;`LQV%15َd,nrO Ԧ}G82(x'NӀ;uoCnaɧ0k”× DC5mMbhfvo?7XZTCKC@fOk9APswpvh ˻JaJ҄ -u"dIY۸mx14V3uK;Nb`ΕDop7)DŽEDFbuf%`s$.SD 8|X.tĢbCC;8;uR4L;to 2Bog~n,1}EvHg{cWuPd1΄m3&mNѳH0m&ɉSI+ŜG2L 7p9n{RD\D@? Ig@T>ϳ07$3>6~MEhߊ/fJb8Q1ʻ!bXcǓ_.Xp~[΀4LМ>aǪJɴIQQ]\5!âf;F6Ԃ%C8甬 -د.L\ܢ8g-ߋd#Ue =5U>&<[Y@FNctVVXX*X\b ҹ bT'4#ýy[0;@v SAhX7Jޘ-+0W"a t_ W/zR\g__~x UF6>eK s }QmIFS)o!rhTf+Mwś¹+H9r? X)w8*]bVܨmSUD^](7X&XMe$%6"sMf G.$/ \:>Gm -<0X"nK oK}EKo/;G:;Hk,9#U`nVuuwwh SK0O2wޅ' c -?14'_nĹM!V.!5pZ?N!y j 7w@uB81sC$8rrxXBVic&jlȀ~}B IɹR,~z#鰓EWC@sx$㜶!&L !܆_Ds{wF 6,+|+{8{2n2D2k͇򏩕oX jz``mWQqߔMW3fy{ (| v 8ܕocB\uBj"#1~3Bu0y@n">,gpA:bQ \ No newline at end of file diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/rsc62.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/rsc62.dat deleted file mode 100644 index eb8c3399f6..0000000000 --- a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/rsc62.dat +++ /dev/null @@ -1,63 +0,0 @@ -pC qJ=ivx}^ e^2yf1Ez)j|@b+%ng4pC qJ=ivx}^ e^2yf1Ez)j|@b+%ng4a>e6Ŕz4O< -d-b%UR8" VJhߐ!-T)F G.戇T">OVS* %{R $3 -L}I,o\|$l;5:h;ex$eZJ 3pD|cRv-w:{гr7;f-B;€L~`oߑ]lUt=B6Z,;Rk)'\ D6|Cٞw IoT@JaHfQXyOM]?AoJE_FxunoZ?&Pr/ƹ{[a iTwW3^("Hv3j ot!vH[(>; IUfw:067E.+5W'a5Añb $ʈAj-,qW|1z6Un9xGƤZtM -({in5vZ"v:?ت<F7PS"< @, oH"(Se'(qd-+6y.4CĻ:z8gZ[z3ClMXv _0RN&Mlg#+2DʷEh+W{Uײ5HaΉ6 i4f OYSNjġ@H #y5iZ5cX1U[b:k/lٕ ŕ֋=O -JLeu[kߋ_k3QHd\6}cўP>j z;펑UŴPg.j셴Dc/:-坡8t[~iIxw&K SyT>RuVAChvI|':1)X~ "e؃nӠDx4uXyސDP]NPgZ"Vlm\hkt?pq2 ?I\DlO:+8K,Ͻuzr;][ᑹfuU -`mc4LC xCB,96M5XTN=PZYr}_! -%:n]Id?wL1] t}YU_=s~o(!V;侒zF+C _*hxcHY,Ķ 12r=M\ٝ%id4_XΦ|`LlE ->CΡ/Ӿw tg=*S'ЎZ;Q0Kt)iwLs5‹ paɥ&uNl&]Bռf?ޖq[,SMHAce\ -Yv4fD.ta&TfxkixpWwz3}Zr\EFQNH 2>W)/2xڍ19_2IRf&'pε]$ NAuD5%nbH4eUO|;+A"Wp7c.^5R ˼=iB j,ʤ V^Lj=GV ̵fg=q<\njH,L9I+; A|ˢ4\! фM}-fQ4YQ6943б4)(L#t7s6O +ce* mz&}O;Um֣ f˸lƿ!=.u|@* -83vC\ 'r^]@9j!usUbR5mҏ/VTB?u)(񹷥\Գu*3ƃ^tKZ'_ pGLcsyq +|t4X)פ;9 $t |V -b:̷v5&܀[!gZhxG,g "*:K|. y+gyGs%NtbRm/DʭoNnۺ+XAuk$CS'5n'GzgxcM1߫/C]Q,hw4;=oQK?SDڸ7~u⣻\XO-ԴBŒ@OqXhߙy(G0~im+:MP݅d<}=8C.~؞tQSCVpX/)]كg GOv?o,Lb~Jc/A4[̮)BMJBdl nw+ ؝0Kq*)}0aU%h)" XrY_l:jI/zBυ51F+9#o&GJ;!h)wтrʌBEf{Ш(%Jtܺ'2o~8b:&:m;z]IPB57va93e ȶ}kV3RCϸ }d8d_* -棰OZ,\^$](Vۉ4=TƐXqbdše Gz_E -S'/a*Jy XIgGm5ͯ柨 ս|U]ؑ Zn9B`E?$Mh[Q6؊|e_^a_S;0z TN2q,yv` lwF7Qܷ} -F@Zԗp*]ά#s<(T$A.`RMEj%R2_j8 Q -W_L-L+e~1y/sXoы]V"ͭ$)9uAyN*}HtW;LڑF2憎M>: h :\.L>C;Ef 上&AOd|7+A ;T춫X$ ׮Ҟ<ϟr\q}xf# -H*R^d%<>kbyrd)?)LqNw2 -H킻ۈjJĔE=t8qx -ãwwk~792Qp;nʎVrA:sKoy7hQ>˪{vV6Dnƕ$(\,jq3@e9z;ۡAfM4f~lʇb%`Kٳ# ZL[?0^hewAu`1 K^:ߠ AlT"GR`I(J-R4GD#䲾)tKے}^M%.]uyaÄO\KƞNҕa5ʳ8PO*Nr!O ɂ"ğpqȋT[}4-6k?XHI(G Q1x=/g)mC=nxbE%MvkU$YO"Jʋ^Ԭ{P$a8hz.=>y7$K+_'*)mCN^T  -IiKcO).Ѕ&/1LC_k,u7-q!'j6rꂫՅu T-$$q{v?#d&1 |At@4IGsbѸ?:5)zz&C`23uBm( - Z 7Udty t#' \|MGӹv OAusm 3LYg%=$; ړ[B|uTi6*f:Bg)p]!loO Ev#R˺\nV>v}qKHAYA!x# "&aE)Fk>%waL"Rv|9x:P?}T/N$@zTA㤟J{x|" -OaR9~URWdi$8%kɫ / ԧ>:s^ -y67&xV[ '0 z! n4 ׭e+պ Bk{T¡5e[zp[nr:d,v"Wtk`&}\{5dMKl朰@WwC!NIĚa_j.ycQ ɖ=n|I!l7Aܑ7HPeXUf: rv4x$E("Ҳ4p}gßla4i_ɢ 86S|Cq>t `f@~Nݮ$'#r`}4pm0)oҜ3 q.5C-IN71gMQqcs (CoYpx#-e;x3E"`:뾅*l3<<8Vm=-9.#쇦h'GW$ڊw$YS>󓛃b8b -/ )xz[ű@^IǺy!5eRw+B7z2lie&:F\ǐP{?kUJ+ēr_I=#w2ߡ,gS>0&6^gޙ_ވn: EB|hG[- YDCG mc*@)+YzyYկa4;>NC,?\ˆlXHvl."n6SٛM֎PcqBDر}=9 Ɵy[iEO"eլ4¥Y]$ھgϊB3Hҩ`xfk@\h%&XڴR\D֡`$B2F.OH(Z5d=œ8Eލ$fgQ 1EK;z0!/>WZJ8Ng 1odzeDYJw]5JxKRkp>ߖ=~7qb<#( Z Yj$iP2c\d}b=-[>ؿ);~Te -h]9J~3!v}a@k&?0{Ơ6j:srj%_#<7-(O9cQr* /F_8^v%;@ 1f7H⃘* Ǐo#MsD*qىq+UG)_B`&SY.J^wdnaq:lz`@gФlVr-7x !_0GR6\ I#Tɕ -EnհAN_{# I-j8gVUdx*0Y)]|5̔RwBZ#b `wlRl% -4A9eF!jn3ShTΜWd[+)fb\zp2[2lsX C-L./U| -kV.|,tΘBPjZ!I ,4NzT ڭ?Ƅɛw(m&1?B%on ^fW]n!%Մ!K26N7FAĉqld >B:,R͒:Ê>+ce1f;j n@I{ʽ-4b< '7Y]k,V¯j7 -N͝T=Aν< }QGReRm46eiJ䵄ɒhz^I&:bUoGlEMM.Uf9/N ߒ5~gUDv DTHGw@1Kre)ils+*!pklQ.Bgd3Hܦ9q{R0 ۭTӋc_:}s5 /FZ ~(1N,{cdϚeJ=:@I;fF[xmw3\ɨ3?6e1u{a0por矋-b&Xхt]1ա7%v^ -1mBImWC0wJyYnu/cPɆ6ZpeFbᝍe`wRH?WĈ"<~6/9PO{_Wk7>_yCH~Җcp`FfQD, \S%A-P+ -8ـ*}Ln{&0V$ EV ?4|wԘhW:rq6u7G1 -) $Pd -: ̧M> 9]=F2m'K|Rw59^?t`d^ԏꡚxm/+1"I~}!i&IFue=y5o\,7Kc龲Uȸ@}3%u6Ԟ87i?l=Nd jWIe^O+!'0`~x%KҬ}ɱ^wQԥPJ&sۣn2> Hϲ)[g♬|N$D,|ʬ/#Aū+>H;YJ}Ky'hF'@(0c]j^( 跏, )o$8kiRȩ1UHvԿYd]AV;^r+ p~n)~Q%>P ɸ<мymWiY8簽t6[YJC1Q GOg D>p'PQŽҨAEƉPOwyvaf8[n<Ȃu/P K݉x<+oNK@U=ӞA7ؼ]p!񻳃*a0BN.tQ2zJu -6sNXB }EX gS'bM5LCw\D֊mǣ}!>*wx 3rC!}[^\J8X6~T;p )]S.fhrtO&c);`t\>[Ҏ <s(LAWF*' x=IRjSAoܶ.a=cobTcݝgVZY °, -mQk]( Lzfud1\Ï˚u=fQ=|0k!-ƈv`2:3lHrGBY;lpQEbp}i~C6T4{!<[ 3\(Z9b'1‘d!F.Og.N^E2Xӛ31.=8Xydބ6,گ&c  >lsPzz 8?`I ,G1v.!i]ݏ׽:r%Z&ľW4AS "ESK"HpM\g?z|}nHV#3NT$aR >(Qچ뙨5+HZ9;cV lǝ{(08u~4@I'v[L͗@{. -1oa2# R\GL7,q5^'QSbsXnZ)0dݓkܛ^I9Iu5QF޶]zj b:LJ4}9B:Nscx_wF0s:.IiG~u&Ǝ#X <) &=3UՏ2s.ƀJM3z>Z\ -|cDRk;0U(xK֦iTS[cr(թrȏD; -pQw3`7FyvLdAX!c':J{T=%۴',!,٧OU1_ޔY`|&ѯm.S"uoqV>Y'ZGP"\>aeV֙ahQ$MT%갫Ųb4Dw2~_+mC/98k?{_7?(\h^}VPOD ] SpḒ=OhyYD Sʪ >M[63o@q׾,MjOLKUw jGM6'2FyT5ե/J Н`rPYW(2Jtruwfݨi~M#>U) ǵ#{cwݼXSۀ^Pk Z{uZTE.aCe_Yd\~,Ҡ:m`uޕ_;/~!`ځZ}K%7Dۙ(WC{rJiQy[Rd$xQ?iK80h#L3]^"_F.ٜ(fuȇUoZa^,H@/Y(Aa-JG-* ۯ}RFz2.?ciP9%pӦFf)Y2~L"b) ,%S*Z՝XVnfjݩToJ̢0>dٸ$h-ɓ Ŀm+~tj R˅6YLdfꄳP? nŝ;ȣ&2KIj PBpns/Ռג\C#o[=5v1heQA$mFN/-o , -fJz!H#vo k +Fέ3йaj"ph$VB`خL{Q;&lT0t[Cqe[m5R}B'سMޞF,iQbx -=C2DQ"|i C]/`4&8Ϣ̈X@HhdL?߱/|,sM}g,߲2{oBFDmLŠR6ӷ(=b_g9 dSW~=]ډ}wI:,ޛT;mq>r o$tя-A~ks^H9UiQxPӭ -犾x`%Čt`9{l1(=HpJ2֏K^@S5|tW7v*~JmԲ)j1PJl*`A\%97RaNZ"Y0]01S{lnL𬡶%8N1#`/IkBKhGVi݄6_w8Hقe&S%,]EFP8F{l s3"A-xkjʟ W/G'ًg(+ -_#"t[YXݗC&EDԫ#q^CN PVqFD荶3ņWL2AͿ ;L?%jY5(%}6 }0.QB)¾\'K-Om KF$ACӁ#(a #6Wqy}Sf[ < sd c1zkY BE2 nk?nmʰto*hw}I#He`b<(؋ܘE_qJp<0bF:0^ք62$4{s,۱lM/PADyhϛ#gqhҾyxo5@8|׏Y4+!Op0 lW&볦1[<p"L˦JXk>p -0AQfDZq,K $э42&|ÒAHN-F O,+ h735q`RK*޹%fQ2s\j݆ZM F5p(!87﷙UFI.UAZJS@|Pz;d4wjn8ns]S#bY3o ?S]! Pދ벟q'>& -FZ2,'-TyRbGcT:$>"YJrn/wm1;8?D!#4` \ No newline at end of file diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/rsc64.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/rsc64.dat deleted file mode 100644 index ff93d85933..0000000000 --- a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/rsc64.dat +++ /dev/null @@ -1,66 +0,0 @@ - -:s[܎x(y0MQU+ã##dd3 Є} -:s[܎x(y0MQU+ã##dd3 Є}ts/;8*U; Pq`բVY [F7)Ff}_}K+^NĕRpzy$? -Ix7P1}0XeeUm]z%1 #(: -^vq3KSWpTv8)YI@+nR*,"g*'SV"$ҺQ*lAۈYT6dSPȯJ'Jo=S<8'7qMǤH ~Mn$ b`Y{?EE:3?J}b}6Ǧ"Dޜa;).Tuk[^؈%*rIpsN!!71@ -7z)vnFPtѿfI0.]cp RsEyVqܤTXaDTN1ϬsZTf̘%M{r6uo~nې&I>&ccYSY{71DHiYT= < lȦ8 *CCAN>UsAz5: N* -D4׋oD:g%Tbd̀BAm8`~`ū$Eӣ$6HBexp%N7n⚓U(9;H] -{}lj~Itf~i&,r΀{ Ȑ(%bG .:Fom6 iоd'lz~y(| [a lQSD͡%vR\ֶ$ JT= IqυkBB/nbwknRY;flkT2~2"pZ $0%?E&&i!4GJ' -Kc(e1QAM`\Ư'y9 -U -ϰˆϜQ&bEMhV ꌝX6Vf (lP oA)0),jj$cQ,\i̅-Jo[ #gl1G>3ۓܫ=7L|Lq<)yn3bҾWu{m4A+8[rcmjhHws׊ -oo9B<9+א鯈oY";z -.8xKyM:Q p&@]T5| 5jQtnoUR :ʄV ~2Cבq% MD^腗,6{I_0s*T'hѥ 3mtJ<ȇp}.KKH#[H&l8!O'E -xo&rbNʱZ`ӏ[m߬i//= x`Jn<); =4)Prv,˫ϋy &O&5SLX pٯ@`o|*3!LVCUq)90,k,xmmJx*1rqU>:9= PJ ώ\tl@iҽaINI[[OP@Io׍*Z;!8TpkjBjm]["m 돍YS; 6_J줸Mɱq_HeGz"c9%ք^(ť"(Ę&?~\7ydQNo"J÷H9RmlϼhR l5yZn$Evֻ3dGu9$dD'E0H5`J~ LL8B -h_N';L1˜iAB,?-S^*aG(( yEGޗ%"]cPʗb9iCݛN0Ur :EWM.} M%L+Wi)MԵS@^ÏtAw~5'"[*z707xx3v83of5>Iug U'Kl=9@2i.3P_ނR`RXHkX<[C]PS|?B3?t -!qqܰ{N`grNxi$: &uMZ޶)FΓد.b6|f;Kzno9gyQ'/xgyRf8w2d rs, >7rc1nj̻bZ,#G6͹a_h!Vp*5 Z4rYYGx>rV=xkQjA"I3YbIf޺WXذJ6K==Lٸ_ulW:C =޹yDv{M,G\2p{4t<@Lj%Ijk_&09 -&/[$'Z, JFg" 22.Yګٷ^FުAY@t_%@d#뱆?wJٚW'W 3Xl . w!$vӠ~Uc L]Г1{KPt)t8޼6~zS2`%6TN( <пW{7f 联Mx:.28\3g Fk3LWc=pá/ ±gd+s~MΛ#cHːpƾT f 0@61B'NK6GQL6Ĝ s9kڣEu&^^z &([4>;x=Ǟт-)Y+zC$V`G::2]ۢ]-$ ݔ%ܥxRvISzh׫RW=Xi(7K ';9L[Lj7 H"k6-.f(Z3!Y7*=ge=avv -Nay. TB>8C}iTfBia! +k)Rr`XX_1#1$TbIڸ0#^Z`+/9&x{PL{tlХtOF"|:tr$z -$s.؀/gϟ綞0q_kFh\}H향?[ ؙdWw. 7KD!)K^} d&5Iw12eTv#9S-BUpyGYԫWWD {U$2G(h. *!RBWu>^33{0^{)TϭvYQ l/Um⾐ʎ45M$D9rJ.[:PUyWcDscѺi-jF-҃Cīhз|885qqG57<*.P-L~i<"nUODQE'9s+$]r]؃ejܭH,jɏy}/@_[ma{71AbW_ՓC%eînsNv-cbS%҂X~ZiT!&:<w юPP""M3JD&e߲/^`N|C`Vgd]“o; -44%ztZ -|9—* -1&Ƒ3CY Sk)r3m?+`t(I(88\/>JY6 V˰q,ŮO<֠0R[9MdI ; \\o?p>K[~Rwo!k'c0j[NDTn`n:fp >fU"j|T-h)?E#`w$A} -oDWM M эS #u])ν @E2$ -N"#}Ezrd\f]4֑8Y(gydȱX%|nߍ.6aobGkEkOM͏XFlnӻ=wL#"Ϋw -kOQ/*mĄ&H^H_?ɝ_9?YD~roAkB&qՑT/=j{?$h䲲|# 2{zȾ9IF2:q< 5: D土CjІ4˂%`&QG`;qmhv֢wԂDfղ E'Ē2ϡiK}l3+zzsum*:u yخt1]MT5j7=i֙`WzJ߄ľ u@œu~)җCJqzoyX(d1h)GxYݘi&M" "266KJ풿20LY`G΁ue.ՄqDe@ICшyRRxdALodV\׽?r -,L^)HN8(X[{"wDId<5d'-\'ũKsOg4fgZ^wr!0[^xUchs"Y~GGWң1r2hb2IU#[*E0J&F{~'ٔ4) eN.fS.[9a\"d8^s(P+-eӤ=%}qhKj - 9Xԍߴm631! -f:&B=HŇ]+Ƶ飘c};{>b Rg ssSp e 2Sl*1;d,[ (!v(oq m+*kITUˉ{'!۪)JlMPxc,n_̩57&t\*2Odp<'׸'f11=qf=z*@.V>ɉ#xs*r' |F9~cB"UU-P7XsEm{n_^2۫!* S-V!eK+Fw=gaas@s6@ `lT"l沕ԏJXVM7%v(Bu BrAԈ&Pb -!Nl (.l%rukq֩[L>2L4ǿ*Ph"hRK }ڍĽä8y:SZt),p1w5rw -y|v<=z!WZ/&RVWٍc qHɬ'Yttd(mY"ZiH|ʼ Xء:*Au -rYW -#c{5 -j5JWC쒦0гK]ջzPn Nv<<$$r! oQ-n}@X$|7W}&G訦7[Hst߲Z0^ lyS@@A(S(&1 QPfBSe kDr`szpҵzOc&PB _>85l믶+l֯v'Ce虱I >tH0]547Hm -_O\^oΙ9%G9##qSq!]`/¾ÛhfU1Ok7+&QuZGGv?'/˟LN֣#sc5,1Wsa~m/_76\n ɈBR& -+GL}mI@'L0$gz,J#\\)ĂҼ|'e,j9>{b6dO>uFr2ZMݎK;iq$@ yQH(*%Jb8$ӾxZ s nH<߿Nqޏ-;X-;Ө]vN4dPЩ7\:eyi.TYB礄)|E9 -S&I8nF8%F[teɛZJG첢4&a5^8)a=hjsH[rSc6\6**eW7tW3ƈBM"GTnLw5{};E)ܔ -l#FC7,NNV<p/3w]l^Sƿi Z< 9ԌZ1 QK]ǽspkpj*!+j.*n ?xT]\Y?ޡQ У (7y_ČPc;lSS0*ښ)vo7ZxDm:Ys%׈5Nr?+=VH"2UʽU,uG? Xae`K^$QEׄ#R1>?z~Úk;$: ?{.W,w^(;a&,)xUMLk3y@oo z@I^q+8p[ο?}v/Oe¥@#ߐW `4*-`PE ZGˋ̚8 tyJ> ,IA.ܧ [1KE,%:jqv lia%$:QeB Ltx/S@,DC D_fA&x]+_`OEӶMrȒvo36*?@ZI 8~-CV Jxvvobo֭%-*z3fLߨ9E~q̹?Kρ7Hih[`ahGMYŖ '"snb\"*12@!AX0?0hyn$!dqi]QC{HGF6̮D*@x2(tdW%RW%GJ觀S"toN*o /lD9HECU[8'fӞ• {=Q;7sCr@շFǣnGg} -0AJ+^2Waǹfyq]yIR=:-I>aʿ]pEuDIC5#KSiϯgbwP4Fh>ɄOí@D|P5f ԙ -_ M{yRT:eY?Ft?4Db+q4U.h<#ȍ4.$J K_\l2ϥ֊֫cu"/2z AFu4m^xFY]Q֞)!M/P~J/smdh{*$WܻkzFDK3aS-^mTڕL;;~c}'r~A*!m\ }Ã]/pt-}U0R! lϗdeSB^Ap:nXX'0M9nu' e^E\brn,lyb 䀴[QVL9ggfq͉X -Vu5 +Áʟ<\Q9>#? g {c!qȂ(q,g~7O*C6lsYj%,Y+ؕF;|˃XPb!!x9axjD(2/(XCRqwupP45Dg,xjNZOyNOCeh3Ѝd[]g;mXMyx*ʅi؝cVUƭgBSI`" DѲwOC[))<2& -[b2 +.dБl3yн-/9U/<gwz4s?ԭ٭MMiߖ9Å~4c1Wd_#FyaT`L"N5hCRAʜA0kk\̦}0\r¸4D;n*5ku0рj=[s%`CBHb_b }g?kiů%pPV&}ZUzJ&]Ж >r%u!l%f!bB zC7Ӑϵ&g_eL쩦p\bB$h/$FXW"?O9tLzŗ'k*IVw4>k[-3i6gv|1]ͤߦ_dTQbvȵF{@r䟾;8؍!ɗȢu*)S1T8,Y=XgqP iBWkP})VT֒2..GNwEB8IR?*R4 WZ0ٵ UPfvG -"i}JJkȧekдGʝ6M%4gAXܾO4>j)nLTdxNmNbbz$̛z-AGT+\@9-Ɛ링BK`w|g5ˌj#m&mH/72Ho휯:F\+>| FmTYN:r,"4{#D٪2Z_nÊ5;6w:|doea3++]Է9&]p;bqsme)d0 K/BTZCB)ʖV= z?Ml - -8gڑVz԰;AљpXal ؟mHb~0Ub0(`-!Dح*y7&[yGnJ 6}]#P''+8 L6 -/x~oަHlhՈ`D|bF(v6wCCMEwmMWh;B%1P_\q@xz;Bc2^Ly&ÐENDziPKiD6'0#90͇=8iPl=˿p(a!mte^6[{Q6kلi;tg,e >mե_tTS$:qYE-Z/6 Fj}( EԦӳa`kqh,F]N4An|3?G(#DDM$@&#U;!SjWU9Q+`{UkA}16,xxHH-q.B@-뵢Z٬Pqƞ6n2Ƽ{C!/8Gd@O[zA[7,,םШ76] '8uǰ$HnsLaMQn2;٣y `u>>P.?PCLx0 w@O$ ;t0(k!R5DgvP,4K׬Mh"/"ABݫ=# -|b@/<#ūykOxܨZ(? %24Mksw. {Ae8:lI)-^^c++Rt@\cGtPN8,KˎǗl e-f?`D+z % gHD>!|ֈuZ׳o\ Wyߒ\B{%EL=ȷIl;Iwɮz$};&K'wg]W Lݠ_@|epj - -CqYVرC*N/%?GUjg>dA/gk&O)lӔ\nnzP߆\EdQ)݊s|`jh(n6ч8G:oށ/rJrFF⣳B^:akSy_YzG0g4#'aǮ7 ->]|QQ""R ORg{kޓ ga+̫biQnVIL͢ꇡU4}4~N^#um,X\U8 8Т54 %w=/M1/ ^ ji[F߽m+=jXbq8,G^n6Al$1? 1LeV0pQn1#ig;ݱFݵ t4Mi|m.O q[}ڒQNk`cHy!0>XF5$YeR$eN#XwoEKʉV N[D|]_Nȵ >2žm\@oggjՒɠM81# 9r_|lȉM|ŌdQIݚyw*wOAAv OH I)LMV- Wj(3;XTT%%Esd˼hZkiPeK7PTJpGH]amyG@5xc0!$11ZvZvMٜ[g=nHf&vS8x.e\1!4#,u`IQfBx h2ߣ -Ont -,[\òw,(q -1Z˞``<ʒWe+'@J">'dԊf^_. CP5IPǖ[\^M~_=ӽ[s PnG Wo>vئ -`)T )ARoOf,.`shQXgHNֵ{tEuuS_WE]`[/w5]n-׹.ڥtI.J!_ Y j~Vz&DidiSSOG6gXGW=~ԑR5i~2\BLwUWpZQ6SJOJ.77|=(C.u2Eʍ01>MHucFb|E -~{, /S/): v.:(H'tGr!B0FeՕ~iv@h'K:3O.Wȼ f ;+w;YϷ O~\XPvLXR6 af -ރ7E􀯽mgkCJfu?7ˢ,5adTYo-^vxQƟ $[ Raj-V( -pඁcO~Ew7c^ݞ}ʙW2GF = hTIZ@ Ǔ:)"X;(s{gV -4rrpҙpH!A. )pxլ=S{%Јz'jf$fVZZa*VPagJV$q1>Ջ- Ҥѧ7OU:m<穿My%h< -װ>?~ * CuaCO8>W0,O ^"rb]̯!ۮn܋2/V~SMp`9}X!#CD?K;C 4BeA d^c3 ExEtՊȩYVe˝ %~Pޝ2jE@3i/v\{(Дru(TrK./f3\ R{0Ez4m,J $'wNkԳ:H̬¡TK0˔]mBσ䦖tJ'?z>1 -[K==J_Hbx}5wh;Go/58#=^!KO a|| ZUSnCcm \ No newline at end of file diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/rsc66.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/rsc66.dat deleted file mode 100644 index 85106ac52a..0000000000 --- a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/rsc66.dat +++ /dev/null @@ -1,68 +0,0 @@ - NJOO -B"e9vP&ՁPK _@`/Zt> %}Fv$BBP;L+k*lC㙄1>C {Ct#>wa߻}J(^F=R .ZČ,hB'%/:jbFEQq7-O>Bo]-D_踙wzI[ti⧅{2>!\%ۇ"Vm̍ՊĨ}"cMN0_9xF; -qxkIx qV f^ '9|M6ccWxʨj?Z[Ƨ!셙XN1 !R>h͒ omSc4K9@'lQƮM}~$8SB/$ŜebB:|9 xg (vm]ljSZY<7'@'5tIh'[&-A_r&}4k +^ wg e`XX䪊Ǿn#uװS_Z#bñMH7bBӲr-1{u.UYGr5g@Qt,?i.o qNJ)^ z'>O]Y^ $w/B-3C~3hk*jtŇ]jXs>*j]1,a7 -l u -$<fP3u )K1Mnۧ&֓F@$ֵ,>ik9>K'"(2wyy %ն-6ܳR-;ܺVBcopg(bfITb"Qv166sf2.0Ql%1Q97e Q;ͮqC)VcdWV0!S+tŐ7~] --ꨭp^*4ob,wZ? yp*&wMyƥ1xۃf2SĢCƹ_n5+*$|*R@*P8g:珒>+eK[IU44uL 7 -~ThR羼赕B~#St' Y#p!JlD&9{{Ӓ(\" )\{݅SCײ"ډpjeP:h=Bᡰy0^V4o9A܇YM-1Gz G{,) ɌrD skiYG}"]knVGb`ż V+'i~Z܃ 7T3:DYiOi_۸i$jk4wjd/\5`/}]鈦vv)%DGabc(9b0BE4Fe $pZo\tx`O,99/_tWArȱ{iBCLlnq֗WwUΡũJ1T߲)e$Fd(X$pe$0X-Y|[h˖wySu˟r %6;|n0UQo,ưSg  yPdMO,q8>N)آAguHpq?.^"}H%4t/U{[ r4@٩PnR4w2ůuϡ 6Ju Gu$JE#/@K?T﷝qeSiZHѓ",]9xnOgNNjON8 LZKL=hu&@gV.}[@@㳰!S*:ԬwFˬH?k5¬p4χygpsD8LU+I aCF8}08)F8U ě6n ĄyZby\ @V8;]Yy hUڄGQڟUbDfJLMv|74MY_k..j΀mXA~\{aQcARN|牃;H^oZf5FIgaa[#Mp/"lGHzk?$ -t])V%C@%"YS_fЭ +Tԓ軗#-|TQɺbX:'nec>[Hx5 -svoL~>볔^6eV%3  ?m8%7wEтNZ"XĦӍ9H'pH%M$d2Jq/Z{l*M{Ǥ%Z{kv9i59Ps DbdZXP遬רgk*יkq%(HjGa-x5llủd\G4]`KJb$rn]vA$982,AR Ȯ 1`BϦsV0m##ʛyKf@kF@ͦ 3@Y})SPzGƪJ}TAwL=n**ZEMG"KT"h#x"̤/ϸ j ]Iʁ! -PeeC(ݪQmh>#JUm߇#{LWޒ$X -hÙ0Ԩ4_7I\uަl,C(Ĕl;K pHVt"WE`SLþ iK|jLcu?B׺j*!VX7ٻRATh/ :RV|ēXq-~ToLK* Wb=_KOQI&Q-d)HkDDͻ1# coBNNi -F znp=wV0r9P0QYDR!xSA>R-<c>T TQ.* $ԂB ȡvZoDZ!vZn xV°`z[@^`]0u IIm0'rW2k7ɹ׶̭]s*aC[RovU^AH0o,Y ,n ,IWf7'Q$T.LhKdiE%yo l5I#6| -yDM4xM&rۯv>ZΙkpg"?BowbGٛxP8-݃QxT vCn+y чz1X{u$A쑤rf ؤoCQ\q5L\ O.v$n)sm|^EN$[UFf-\u_FP6~UFh`_WLj'S`7v0җ֟Gi|002tz_}a`}6Wh}r#$%=mZg$b3o5_XG/\V? R쟗LZޟɑ;RleqA<,ĺ' -]R@g2W  oQa D Uܵ:S ;6]$VNY6˥r8cg~N*[a+@A_[2@\LRuHԛa }dnf&tKˈѩҞ0"*Ҿ %mHh -1G^jg^ٺ:/2>^^, -p&S1\0h0@R\0zk.>;>.҄4M(3/"⑱3_YҘ==T!kNtz&m -@N܆OʸrK{<+Pf/* s7O6C]͔byR&#HȇPH{H!`QZ2+QЋ1#o˂+hD/LdFGzv~կ&$GYm~JTOPb-m'4!pſ祤"JlSSvܻ`X}!1*0͑<>)1 -gAmUȝ) #; IÞXpc|/bH|g1Y\սRY??)w#83~QC3\D3Jh^g&h_O4O8'pp=)i\~h!gT#4ܢ_ -Tw{R*ym{sγh=d*aC_l ٗWHcF^~(s':6'CҴ.^#r=Z:<צ,Z0 -Hl}RN3,PjQi;DXQruyܞΜ < -9pq -o a՘z{Lάe',<5QQW֝_}~鞢l~X~H(sI^N4,9R+B}ݑ\ -'{}BTtǙEA2E~jEmh?WSέ5QpV|=<Ϙ^A6D'Eb/9:EUGeܨɂnr$}};¥φp{`+pQRKaup>@+)=l2[/kմWGɸIy 22 -Bzdfs.Dy5CK8vM!]w[H3zcp(vK+Ъ灎#k2uĈ;?퉘Qnh{mMp -:ϩ.8" KEIdK73wGK d)/Yoڭ?W\\՟ԁYڰ?4%¢Ƃ5e4!ivye0"c<"?j!ijKlU3= -&]8=[#=۝Y>uȬ\Y~gğtH A¶F^D ؙM~H6-蕳RcJˆ/lPOduw+뒄W@@ fkjjaYu{,w"<Ӑ& "?i&#ը`vOteXHt%:&{o]$ 1)xv -KPv\ʯlO[<1*|B}8e!ND+2޶+Co*k"Z@) CG̼W~̂>aff{~ p! J5nWÊÅDѰ:Q84rCNͥJG?HFt KKq]b,!ЖE9!k|y,!;9n4. ;<3WgOR,ds^6TWKUJrWEjr9M6YěK${z9.qiG0f9VNxJYNW35'[9ggOWEM/)5I/&T/- -YJoPA -S*];M4ZۜB(( +N7GW]>ߋP,-\>Kü6yw6SɊ֎t;j?ȸhY'HY܉0YsHrpdX<[EA@bEQ4YU5N/ 7s(3?]0p7l*\ -X=>q^_ڠqs;'{`[FF+0 -sɀQf罀aR'􎃑I8-6}i- y[P 6!m# H0b Itrbs0bq\XQU~ev_c9V3zTTi(ݫDe7DFED -k}#U^q mkỒBJZcz3e P`6 򒕼PW Ig W+2K+՛sʆ} PI-Нg| F:4ڝˣFiۡ9HwZwЛ/`g{9w :\Wc׹'_SW%/=eǢ/C扙!CcJMhuu#AnEՏ]iQX1yP)5v@!3DϮ(]7m(::KM;^ t - z^ { 6LAQfߧYZd E a@UMÁҖ &2~Y2i24TGYBnKk$om1?&-\_.=q`I YnxUA>P֐bYд~ߗ6(GB#铡1sM4iE^t9;Zu,ݨޘg)kT?"zL7K6עZRQԎYY3;ANraLB*7|'}L=7>d9e% -US~KW)-kbF4!ބ Mxޙ51Ozvxg`P#ʘwN!eݿǨ'lvzK P~Lz77?:.aϬ>nUv+Ϩ]f`ׂO#Nfr\3dr1*q9pxx }YWBJ|;t(Jw BJXZ( 0dbsZFg-:F#EKL!q{_Ogqjq@wg5;*ޱ3'~Ma׏\[ 0*n^JcLEdp[3 E" _M~ :UX"i.4ף.d/2I-,(VTMJUjʇnLfQͶ|$yCW@xPF5xT <ߟeò 3bh #u Sh {_u(=cU%̰*LxX]L箵Y&L;xNN&?JM/+E:2$:Z,!|.az/`ב˸OoJAx'ofc-s,bS Ȓ$8dtn$yw +kr -G`m4mBgmӂ|Zxs1"3%|e&S;>\TW#t8fD6ahj`$TCfA=@jeL:b堚@+ќ ؜ozN7w)ooH@_{ٴCވ%EBq%Ѭ} -*٧-$` XkajVW@#V$ȻaV\8ܲl8"JS&AjzK`CN:9dօinoqG! &Tq -67ckťgn>7֦tcXmOKc彄 tcMKW\rRa(2`MDU: (s4c`!X_/X+X nNH\ ŭ=J޳A؊*CCw"sm `ʺN\s@5pK52.0mqjﳳIFl S.Q{.Oh6.WLC|'ѭ/1DS~JUy2xz̧YTm 8z5nTeⓁ`6a:!>Ы!3<* --ĎU+9u(pZ -1%>}V}(b -ƇHbbQ[c@̡7}V>) }( ~Wmf{IIBAA4"{&Oe2#HU=;?UUކ?%*(j1 \8HR1`}$>ɨp ˅X\ ^hSfUToFWjMB.de H83Z꾌lŪG6N2}n%`u3#٢iLG*Q -{'n:=spnc 'nCpe\y9(3~ O9``]d追?'e lEСFH .W&Jyz)ڴHf$j2 -r//8Re. 4G^Nz )D.dt=PشnUt5 "&:5 y^>G/~'#3.#(?v#40&5x0Xi;NCZikY{.+)v&-o -Ɠ)y6 on鼶J`~ b]ǝ٘]vwl/ -d@ $Oޢy7ÈiwE3t*&4Evl2HluW6GDLLn1RIZ< -(iq<*KNym;@yX7FpX -=,ipT/'Vϭ gϷd=A5 O=78_+MzjA!d;q-}"N-Vl[;-7<Ns+aXtcyr0= /0qL $M""L󖟋 yO!`DT'a@JKڿ:8 +b&m#ΝOit^|VmmsFw>tyxO2[[C/?2[ԪJDŽk5&Q!]5 Qx+, \)tK}z*p~Ť' pfC86_C .,_uVJr/mP͓[(芊~$x1 :91̷1.,cfz?kyFc;O+K\AÉO[[ǀJ= -uڏ -3 -+g'‚ȓc7j ZR[YǥR)C-zzBY4(g֜:Lݥ2ڑ݉mxV^T@:$n!cu355ݴUG jHGeGpBE T0;납:Q,$:Ĝl5ī6M[LF}ݣB}{GdVy.q? bQ F:$ۋ ,Ȋ4ʴ<r3 r"Zzr 1)inqJ?g=*OS?ւVЈ^!Ȍ=I23ICLHI_";ZڣNch$Bmc=WUD8VVwR@2r̋2_Hc癢WmؑszUWㅥWئkIY?OQ6Bb?{T`,?x|$Rb΂ڷ/]'RFv)!۰>NLrH/f" - ϝ۬YU1 -nߤ{WhqnTsA7Xp9^ĝ88bxݺ .p}m?4eV*nQIMA *|)ߍg~ww/Q}K9 x-v So-Tp$6)'By (zx5%G~~M&UP2O撼iUhKXrVKC?ǫXT C6G;=I9s[(dU}i[uDoEhi&FI@qNQ/w:d =/ڳ ~&3G j-2wI{.RRi0h7+㸸#:<}~om_hJYjUh%Bһ6`=Dxe*D~u""u)*]AZƦAtAlEb2޴yРJ讇-cSO~P:JDB6{S bE{e8M۳X8;15T"WO[LqXiLLĬGõ_#!GY H} [8(EZJJp-jRCe؉E=|^Cc͞V}9 mS/ # e1'68@Oqbln(: -[:&YX:U6~9j\V˴2Z²S;XIDx$=L@8D~ҋLF ,M2Yʰ -7JGtF@}qԿCɭ㎚+bjl3뷂vpaw|i\6cՐRܭ4fnLA))޺H[UQb4RW4$Q4- -9C:؞=}oKxb%T ]lyffI%hci"֣s֭N"H`m(<^}jeaO&컜 pʙB5VdsmšqAV0amTֽDR]e C#9|,Cp*do۪Fu2ںô"w¹4y`R]f# ,#0B@>_j c2%_?u}t7p;hk={W=)~kGGc.<'ybj7=y+WyL2=C ݍ|D}2q ~` '*6YSѺ3o%XB1rBMXB -vrkh\0@vxuUqyf;U/᤬xb@<=\m!oՠ>J#jJ6at%4 a\,[( kX.3[5+ul);u䮹*?s<_]7r$7l {KJ$%Ai?[]`m1+`rjދ@{sOQlX -V+!qq;:H5r(\O/(Ҏ`{r(/2G"uk_fjN _ - >>0l$ʪw|Z),긠-vԾi+ dYkPkgɻ붍rΞu[}]>{^Rjw^L#W{^Z&ǔޠ=":T -vhq䁁! A| )9rex-Aeu\PC;j_2P袻 M(R^vԭ~miN1G5ե`i&K>"xU?0ĊEV<1Bvt jCS.Pٞ ^PPE%^dD5y%A:Ԝ._6h33j4^@nkPf~k`onk'Ta$0g/z|SaE5ռ]vNq8s||`ك2HUI#߉ -RXm]ZaV]0)o3UekV`167gkˏ,gy鏤QN]?5.pMZ+lZk@-# ð\fjѯVeGMRA1vI56Ao;8 T~xS>n.H)ny37SlBڧ"F`@$W#`⸰/2!r21m*]]HEJ~&,C}&uÃ&bVԡ 柞I$a \ No newline at end of file diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/rsc68.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/rsc68.dat deleted file mode 100644 index fe53a44911..0000000000 --- a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/rsc68.dat +++ /dev/null @@ -1,69 +0,0 @@ -s '<^李wUk"mpશk&kG3X?$Pw " c s '<^李wUk"mpશk&kG3X?$Pw " c N$qx'DAS(o?EIqL֎=(C(f!~H'D7@:i6D|7f<֐=ǽj7><;K׬Ci1vǑtTv /^2A@m7p% -Fa277Z@ʒ<*H ͼVrmoukp`= 4:k5S&L힦ߍ\Rh6yl\\OZϨ*Ɇ{'򘑌"` RY`2#j.;P`{vP,P T.ҍ¾8)hOd7MQ9=mQd/ 4fșn;HX 8; -;N3m\22_͏( D73}M)U3Yn]j'(l@#_&ɑ?>]##O&i2&笘l!@8_)E Hf8Q-xޠM/JUOx// MyJJgHY5 ͱ}R tX -ЫoDQ ^x ED'DLAh^|6^dTr}OeoGpMu1NCc bEjapD0q+pd`՗H7eu+w`/"#?l%}KզIHP.m'CtB!]?(LPv dx8ӷ)}[!am>eWńz{XPJy O&:ԶvZa ?#pX +_k9Jx̟PsMx:x~9E$\VFJzuv+9ɀߛ=;UmĈZՋ ыhH³rFM=y>5L%4`#OG@R?5``4GMwGŰ܁_v1=#.SiŃn  S"_D Ie}fSC6.Sd%Qn>1sޞDsg*o/zyDbCoQ4 ,onښlԣ%gO{YIc&E^G{`֙Lݩǔ[{_{4 Ipjc)E3/g9)~;ѫ Y=[l?u{(p}#d\sJ; @,@awm Lźc4'!a}Hm{^UCgB RLQO4-)AZ:_?otZ?i?%rkȉNկqwX꯷^}ol"+H\>l1lk!+g@*+%FIh̍/%v!p,.vvYf:ڸxr5/y_!Ej)yR6k>f2ۯkuZr"oߤ1@B슿sS -b,4F&?SE+1V~W}΃bX-^FCAҎwTZuK> ۨjzɍ[g zzT,vn& \]|)ې3{ωRU( 2a'<ǩ~q7njǝ2@\tsI%a6<o+J5j zSHKȻ"kzP$Хi@-#4!+]KcB)\(!r4>VZ)!/!T4G`4KAj{]бOzJNr 1ޛJX۟`w,؈JPT r J JSf IF .6x2Y,APA1X$+ ()Aw6CQiXca(;[}^W-`UpЙA\6<]\gu 6"k9DEݗjUFb/Q '?f6Wnx>W#ˬF*nxud(У5ːoF|d, dP@M$nfe&R -f*Pē},bpY|C}RpqfpeAOo;Ibg^m.rimܭNP+>F9L?~|FF(ALcodL ".WE-؟KBpϾRp1Պ qEk-BX6O9 --hqXm0XҼsA}EL{Üo2{MZY]-,0O^ASW^^s7盔c ŐI }j-8ѕ0E6p>}KF|G5]M&;4F5$5Q|b9n[vy:J.G]B+諰}K --;IEׁNKϼ+>lȹ 7u -"2; bkع3o7b $I5j}7ht1_%WܙmzxYq͜euVŜQ8E%c.a:Ax %=Hh({"6m7c ->ηOB5>FmfS@WEuPzM1ig!L5%,o_V5z5c)D/9 .-Ec99}s~d]jeDI`(x(] '9١hRz0RRދ%sjXW8Nbaٚh#A/e#WGh;0ʖ>\cdl1>>ஓz3@Ӧr~LRkށ=ʇt\'i$NsTOHCU~LfsUU_Hrtcѵ}hA%;CRX:~l/zU華1$<[).xL9f _I:*D3$P7ܮߑr\ȸ,GdSi:C gʅ癭h B'mdŻ4ST:[?܆c='t`2 ߏ.Mʃ*T'Y0~BJ˾<14i6r|! ԗ_jԑ* |꧗ZJ ^L~F6i f 9&|<`qsV3uYon%VYYC^ EDF~JQ/4G\NDxTܖ&* 2}׺i@232&ӿPu=*^`(ߞ5|-ۍB4UAQ,s~PeAAs -ps0R-<$BW UQ%g|& R+ߺ"Q*sAg @**]+)`grNgd㹁߄-"Ԕs7oaEԝ:mg.e5[ }Am[L[Stqe ɴ~wF}(97ZNO6]O1KO@3E^lPp!? _7[°9+Ver 6M7#trk#2[H#{%;Ѭ C1(_H9 nX{>%Z21gʬޚB(V_FR09A;L]1/O5Y+ïwh_ "Rf0 pO;m̨Q2Oi&Ⰴ!Zk03+X^ןF -S^#rR gt~Q.'~yY~J,")iC*;C)uyixR!evjFQABeeXR<| bؑeBV:TVQJx`E6gYU)25{UϠ;]ۃ.JB)N D BbB:yG#`.^>L[l^?jk<~5@գЍy¢{Y ~S D ҕF3:o5bNAt& LMWbpr#{<g`8k]N6C>?2er[B|;$` Au*^BDՄ`uugON>މ2ZI{Vv_d/IϜ*b32ydTIVA 'g6~ZlrY{BĜX-%r!izk1tf -g*2{;~X/TMRF;ѯE+'̳yzx@EyTyf'e$ Gt>5C.bYFrz\mO%Σ¸W\C*6Ns:_#l>įw2ut/"\1Z*fHD h {˟4߻]c>+4nD,ygP!UK \&=]j>L-u‼OeȖDGݔ(rc -"ur#r=,Eթ7ɟ.ݝ4ahw~4:fu5$~ecf-f|,4N6P"8<ӋfAJ̎Et -{Z ǹ - -]2Z?_Z[ Qmub*tp6q$.z&Se*a{|N)p7maar*N1]3zkHW5ꍕ v8t6*x]4€ -3Q 0܀V\d Ⱦ޸H&]ʿž]]$Mo/!zP)&YY/m^Q6|w$.o66c^ S#~V3QRMqJRMvn }i7IF"ϋi3l2ɜB_Lr7OmoOIyWǿP/Ka0k&yJQ`v85޿DF D`@\|Ѕ^JB=}C,XW\(%tߋmcj[^;Gu-Bw8uI@ZĐ`\qbD-˅4$Pa9#n ̐~Ʋ`]W[~{kR-l&yK :|.i,M-:d:CIDE?Uwby c7c[ն820~ZQ$҉㕼NeQBQ0EV㟑6@gqfSk~h $(h:,XgqhیL~"ǦU//2i*9İZ8%"JM!=+I-8;&'LVIIaX=j;͑c;Pn^U} -Fd -!>K| -MWُS]q_ -}XL:R=4aWf-9Pv7ln56 I~b -WҺBVL6۞ ᬊ$3 23dNx7O$, n'Qd.y{u8 JlYx-&OVjw-A3D_bmk[3#`vkk-UN_>&msJjd&4OE e&Wk#D'EIEHWWҫZFhBAV; a:*M;&BOSx.)KC46B.o.VS-CTC ĝyLFx@E0) -P0#R3MPCB h|SRB^B(= hIUhٖE&GCbi+ٝm 4)G|t=)x)o I|5|, z'1M @4wƃaH8۰#>XQ s@#>w1@ -7@\ld;KeX%IWˠ!y킻lҗ1XT]54:ؖTnT=<oM -Nډǂ+qن(bǰHVP1Rlk 8>)P v838Zͪ1/[lxuI9պ[EtɶN!a,COkn4,`,gzi^ -&R\NAٳ,0굁SlD%(*9{r%%3K#<^@N~Ul(OYy| w jgN -rtI|ג"wNNg5#1A3R7 -H _̗L)I5 =y$j~ګ`V^ևd=VUVm(jhܺ vGW~x|_!TwT;=EX]U2뭱"0Co#?/],ʂu'vμq2\9sӚ)LYEʀ] 3TfLٻU-9VFRԖY !CvEѷh1nyGWi3V|arC~.7i+!3P޹Ș*@DS\Z#ca[ $=`E߉0j)Cp.Rlձq[= c| -0y{djC1 bq s WZ%3lr!ZZ⏿ڝ`?e"(Ugmכ%dC.a~ل1#11&n/2ʤZ!Kj<D Y_<)ZX`ۂ;5#WI!,)5nk+5=yZ/p7`$>lU$xPKcu%V!' -NK"ki!`1!̲ e]@0/a&q6/|K'}Y4jLvshjHjr( -m綍1t}\92A V2cB݄:X@a4v O:n T |) y(N$G\>9wK9K}(gZ vY$e7,  -eV|eoM@n!Dd+#v)N8t詓pւfTqDffjp\qXB-qV~KQى,/TH#֭ofncG3[O}2wHMjinۣGbMJ/M&+)3(%O;2C"UfA=8(%Y+4Pذ.YDGYj/uy,x"8!7`c?a%"$pJ\ t$).JE zЕPwDln[|soj|V0.U[҈Ylt;$i󬤝r%"7H`>[*wjܡ wU)] QUe09I'Cb2w BjJkX޾j -}|f~-'éT`F~C~}{ ҩ Q/6(8֞|wfagYa5 jR^>Er{@u\-%Zrr/w&?#QW3>P -C{P"<*xpnKIYҰ]Z ph (SUcA/0I[OYˁ>['CN*r$_?&3`÷ $9J:4p -“),F[?6^=F9a.d\2ѧjegi4!kRʸ2M*WN~^Mɮ_"vA`1|Eƻb||0A;fQe'֡SziN%52J݇x!|ΉK/GO@ñNU ?+ϗkh)At%~{e)g걪dQUчpV(׫apmp%ɦqjs} 0;{Uxo"CMV#vf"zN-"=d\T4Ѩ[N2>"`%{Njaxbh?l=BK 38 K&b]Ġah=$}Hhhuāl;ǎ_R:W< Ea@Un@4?UTce S3m u?ռ33l>YwAr'L](x]=i -\ӳn>'Ě8ؾ9^Q'xy'4NJ)S KVӑXV٬ݍsf=< K܉J[ɬ*3ÆKK:1s#^gh9=].gD{蠿pM_ec t7{"_h}_W(G.aqYl5B&l&ݥ18LTg9@dyociuҀdfd0LcQSc'IzTP9q!yj >Zq UkoN[1ȗw -2*k@ƪ+wwýS?WNzH-[6؎9z<87hwiX-]8ł4k`qZxHg -JL2. a]5Eмfsalmpw)e\c}v ݨ'?/ -+ [IOViDT6:Γ@YITTVR9$0oZD5}n_ŠX| -sI{>3?Ę*0#`??PKiŦVkO>Ƶ3޽':t\8jkA3*"}S@3]358.,!O+? swku*$ݏo3flWX[h (lX{Xr"m 5T̴sW<0濑<(Prkn+Ml'˫0bofYؠB~ ny߶!B, pL;Fa7*>t[j'{p.ULx}rV0al5n8F])6 FdFJvmE>Gx25ɯŎs_W?nBϖzRw@oWΖq7RjAeR-EӀaCU]L5Bō " fD~5?m0+/kn2`++5 4nxzgn]L; O?qP<>@B*MY&Ӣe@Ɂ̠z*3&@@zvZz+#c)jK;4b7Kr:[VnL'잾گILpL7[us\0 c=/CWXV)h.~'Үd{Z5'B9:>I'V'p코Rf鉱|SƗ)ܕmyPE`rBIqoycd>: tr<늪N>@sՔ>F=_q cW^$6i~lm,Aj *UJXlK*N7a*\Q[{t'm^AZCGdh{-pC!Uԝ+8vJ)wK3W>a`cŚnSQnib?sK6v5%PJ,b 6o'n.HҦTv:e/-[qe_{7q!K`=)r wϥKgK)5)O@۠&!xȏCxMGQV fP=űe A qtR=;-LI=Ci5QOٓVsFK1ksRW36Hor -,4NQÈav 6,,9oQGظQx*fZY BOs_Bʞp!8y_G& #EzGG~E:MEY5 -rB 8yI&C{񷪳XbLmϟ0ّX(mmS+ƒ -c_obtQk_ "wtP8è : Y4ORwHnP6ϔd!LZ6¹U'dŵrY }cUWE~|Ѓe'=$lG=1|[bPu{4yrܰ$|4J4db6EG)sP S `7 Bʺ^._7jbM\_l_/K<uECNdr+h ,}T+>ry 9vS eb/^-SS;j qaVCc'[,9ӵD -63.`uUY2ܦ8+l_ ӾY88|Soy5듳w2M6 Ϣ:d҅mL}BE1`YCfV M=# (J`;goUʹ3c(m;sA֯͞8f7xdo+  #F{xzc0y\B {cqc< -\\;þ錍m54Sk?x*T:S/HvkB^W{[HLUH]֨J=Sq98Kbէ1b -FyеRct-ūѽ -=\#7tՠ(Wtjm,*+Ev$8pF!tu`T1!§`ʢ`rZ|Vtu  XÊz-3 ۄdf=R_p e^S IL0U-YsD ! :/(aOZf+Tp:҂Iyx ,дk֢nSuR|s -a6_͢\>Nu[XGD R%sT}vSb%0w[ZїKgwzwyFn]POk3<Ç2XTVRyau}BK2ԌA9ʰxԥk?`>frhwuܝL6IH!pe]/B啁51b.e6IBSY Mݯ'o29@c4*eO8@ ~ǟ=|xm_@ĭ?tߢ9!׊lβRdjeFU,1&` xG,]vaځjšh1:}]v1;\ {WɔERG(%1{{@۹7_t$iS*;F\|Wؼ~TQt+^ug3(քż:)&ѱMz+rpu #Ļ \ No newline at end of file diff --git a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/rsc7.dat b/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/rsc7.dat deleted file mode 100644 index 5d50131e29..0000000000 --- a/pandora_console/vendor/mpdf/mpdf/src/QrCode/data/rsc7.dat +++ /dev/null @@ -1,8 +0,0 @@ -z Duz Du)Uꁎ̟R, ɞ'I{:#`{[1VIX>S^!Ne^yE>tFAxlGS3߶bEi٣U4܉6pv]|Ǧ"}cB89=|}.m ÈɁU|.~kj؎fB*q#E9g0c$ҫ[9}h$0v,slku`Qetb7Z!DG%;KbLP p%rv.6z'%3c8e\ @~;5 uw+\repyLZАQf7 T&sS'[FXF r`q - HKCp68 éGܶIr ɑyH`'X7eW(d|ݙ2U/֐)Zi;ʃfwnBi^ʿ鿑J%5?vĘO g ` JjbDAz5\l唖W(NJfƋm -gpa,uc{%Y︩" 4vjKa X2+>IT`p5NŰDZn8;s|N<6F P/}/\kOd^0+=MR"Gf8vYB]Rn,#OStDE3͕uLx~9c 8C&-hHM c?r -;Jj~A_ :1-]@1&(;md0R*08ݔUJyk],jw״ӳ51C"P=JKنHǜϑ0Nj 3G{tI/e2>XkHT-kJ}ljmO$/hw7D2iM޾9-h6?LAd>鸌 KV4|)NSwSjsx׺za7 P[Ȼ[.I5F~6O(]M: ۖmZA2)a9Fhg&Չ' qxzdӎYb'Q]=&ܮT\F -{4o_A$*MC^Er:ZxNQ%C -$%Qƻ_ʂΜqn eAgb/XxU^sɍ}.#BTIL -PT1_DC,6mpdf = $mpdf; + $this->logger = $logger; + } + + public function getFileContentsByCurl($url) + { + $this->logger->debug(sprintf('Fetching (cURL) content of remote URL "%s"', $url), ['context' => LogContext::REMOTE_CONTENT]); + + $ch = curl_init($url); + + curl_setopt($ch, CURLOPT_USERAGENT, $this->mpdf->curlUserAgent); + curl_setopt($ch, CURLOPT_HEADER, 0); + curl_setopt($ch, CURLOPT_NOBODY, 0); + curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); + curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $this->mpdf->curlTimeout); + + if ($this->mpdf->curlExecutionTimeout) { + curl_setopt($ch, CURLOPT_TIMEOUT, $this->mpdf->curlExecutionTimeout); + } + + if ($this->mpdf->curlFollowLocation) { + curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); + } + + if ($this->mpdf->curlAllowUnsafeSslRequests) { + curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); + curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); + } + + if ($this->mpdf->curlCaCertificate && is_file($this->mpdf->curlCaCertificate)) { + curl_setopt($ch, CURLOPT_CAINFO, $this->mpdf->curlCaCertificate); + } + + if ($this->mpdf->curlProxy) { + curl_setopt($ch, CURLOPT_PROXY, $this->mpdf->curlProxy); + if ($this->mpdf->curlProxyAuth) { + curl_setopt($ch, CURLOPT_PROXYUSERPWD, $this->mpdf->curlProxyAuth); + } + } + + $data = curl_exec($ch); + + if (curl_error($ch)) { + $message = sprintf('cURL error: "%s"', curl_error($ch)); + $this->logger->error($message, ['context' => LogContext::REMOTE_CONTENT]); + + if ($this->mpdf->debug) { + throw new \Mpdf\MpdfException($message); + } + } + + $info = curl_getinfo($ch); + if (isset($info['http_code']) && $info['http_code'] !== 200) { + $message = sprintf('HTTP error: %d', $info['http_code']); + $this->logger->error($message, ['context' => LogContext::REMOTE_CONTENT]); + + if ($this->mpdf->debug) { + throw new \Mpdf\MpdfException($message); + } + } + + curl_close($ch); + + return $data; + } + + public function getFileContentsBySocket($url) + { + $this->logger->debug(sprintf('Fetching (socket) content of remote URL "%s"', $url), ['context' => LogContext::REMOTE_CONTENT]); + // mPDF 5.7.3 + + $timeout = 1; + $p = parse_url($url); + + $file = Arrays::get($p, 'path', ''); + $scheme = Arrays::get($p, 'scheme', ''); + $port = Arrays::get($p, 'port', 80); + $prefix = ''; + + if ($scheme === 'https') { + $prefix = 'ssl://'; + $port = Arrays::get($p, 'port', 443); + } + + $query = Arrays::get($p, 'query', null); + if ($query) { + $file .= '?' . $query; + } + + if (!($fh = @fsockopen($prefix . $p['host'], $port, $errno, $errstr, $timeout))) { + $this->logger->error(sprintf('Socket error "%s": "%s"', $errno, $errstr), ['context' => LogContext::REMOTE_CONTENT]); + return false; + } + + $getstring = 'GET ' . $file . " HTTP/1.0 \r\n" . + 'Host: ' . $p['host'] . " \r\n" . + "Connection: close\r\n\r\n"; + + fwrite($fh, $getstring); + + // Get rid of HTTP header + $s = fgets($fh, 1024); + if (!$s) { + return false; + } + + while (!feof($fh)) { + $s = fgets($fh, 1024); + if ($s === "\r\n") { + break; + } + } + + $data = ''; + + while (!feof($fh)) { + $data .= fgets($fh, 1024); + } + + fclose($fh); + + return $data; + } + + public function setLogger(LoggerInterface $logger) + { + $this->logger = $logger; + } +} diff --git a/pandora_console/vendor/mpdf/mpdf/src/ServiceFactory.php b/pandora_console/vendor/mpdf/mpdf/src/ServiceFactory.php new file mode 100644 index 0000000000..0962a6c37b --- /dev/null +++ b/pandora_console/vendor/mpdf/mpdf/src/ServiceFactory.php @@ -0,0 +1,170 @@ +dpi, $mpdf->default_font_size, $mpdf, $logger); + + $colorModeConverter = new ColorModeConverter(); + $colorSpaceRestrictor = new ColorSpaceRestrictor( + $mpdf, + $colorModeConverter, + $restrictColorSpace + ); + $colorConverter = new ColorConverter($mpdf, $colorModeConverter, $colorSpaceRestrictor); + + $tableOfContents = new TableOfContents($mpdf, $sizeConverter); + + $cacheBasePath = $config['tempDir'] . '/mpdf'; + + $cache = new Cache($cacheBasePath, $config['cacheCleanupInterval']); + $fontCache = new FontCache(new Cache($cacheBasePath . '/ttfontdata', $config['cacheCleanupInterval'])); + + $fontFileFinder = new FontFileFinder($config['fontDir']); + + $remoteContentFetcher = new RemoteContentFetcher($mpdf, $logger); + + $cssManager = new CssManager($mpdf, $cache, $sizeConverter, $colorConverter, $remoteContentFetcher); + + $otl = new Otl($mpdf, $fontCache); + + $protection = new Protection(new UniqidGenerator()); + + $writer = new BaseWriter($mpdf, $protection); + + $gradient = new Gradient($mpdf, $sizeConverter, $colorConverter, $writer); + + $formWriter = new FormWriter($mpdf, $writer); + + $form = new Form($mpdf, $otl, $colorConverter, $writer, $formWriter); + + $hyphenator = new Hyphenator($mpdf); + + $imageProcessor = new ImageProcessor( + $mpdf, + $otl, + $cssManager, + $sizeConverter, + $colorConverter, + $colorModeConverter, + $cache, + $languageToFont, + $scriptToLanguage, + $remoteContentFetcher, + $logger + ); + + $tag = new Tag( + $mpdf, + $cache, + $cssManager, + $form, + $otl, + $tableOfContents, + $sizeConverter, + $colorConverter, + $imageProcessor, + $languageToFont + ); + + $fontWriter = new FontWriter($mpdf, $writer, $fontCache, $fontDescriptor); + $metadataWriter = new MetadataWriter($mpdf, $writer, $form, $protection, $logger); + $imageWriter = new ImageWriter($mpdf, $writer); + $pageWriter = new PageWriter($mpdf, $form, $writer, $metadataWriter); + $bookmarkWriter = new BookmarkWriter($mpdf, $writer); + $optionalContentWriter = new OptionalContentWriter($mpdf, $writer); + $colorWriter = new ColorWriter($mpdf, $writer); + $backgroundWriter = new BackgroundWriter($mpdf, $writer); + $javaScriptWriter = new JavaScriptWriter($mpdf, $writer); + + $resourceWriter = new ResourceWriter( + $mpdf, + $writer, + $colorWriter, + $fontWriter, + $imageWriter, + $formWriter, + $optionalContentWriter, + $backgroundWriter, + $bookmarkWriter, + $metadataWriter, + $javaScriptWriter, + $logger + ); + + return [ + 'otl' => $otl, + 'bmp' => $bmp, + 'cache' => $cache, + 'cssManager' => $cssManager, + 'directWrite' => $directWrite, + 'fontCache' => $fontCache, + 'fontFileFinder' => $fontFileFinder, + 'form' => $form, + 'gradient' => $gradient, + 'tableOfContents' => $tableOfContents, + 'tag' => $tag, + 'wmf' => $wmf, + 'sizeConverter' => $sizeConverter, + 'colorConverter' => $colorConverter, + 'hyphenator' => $hyphenator, + 'remoteContentFetcher' => $remoteContentFetcher, + 'imageProcessor' => $imageProcessor, + 'protection' => $protection, + + 'languageToFont' => $languageToFont, + 'scriptToLanguage' => $scriptToLanguage, + + 'writer' => $writer, + 'fontWriter' => $fontWriter, + 'metadataWriter' => $metadataWriter, + 'imageWriter' => $imageWriter, + 'formWriter' => $formWriter, + 'pageWriter' => $pageWriter, + 'bookmarkWriter' => $bookmarkWriter, + 'optionalContentWriter' => $optionalContentWriter, + 'colorWriter' => $colorWriter, + 'backgroundWriter' => $backgroundWriter, + 'javaScriptWriter' => $javaScriptWriter, + + 'resourceWriter' => $resourceWriter + ]; + } + +} diff --git a/pandora_console/vendor/mpdf/mpdf/src/Shaper/Indic.php b/pandora_console/vendor/mpdf/mpdf/src/Shaper/Indic.php index 19cedda8fa..ab1d4bbff3 100644 --- a/pandora_console/vendor/mpdf/mpdf/src/Shaper/Indic.php +++ b/pandora_console/vendor/mpdf/mpdf/src/Shaper/Indic.php @@ -149,11 +149,11 @@ class Indic if ($u == 0x200C) { $cat = self::OT_ZWNJ; - } else if ($u == 0x200D) { + } elseif ($u == 0x200D) { $cat = self::OT_ZWJ; - } else if ($u == 0x25CC) { + } elseif ($u == 0x25CC) { $cat = self::OT_DOTTEDCIRCLE; - } else if ($u == 0x0A71) { + } elseif ($u == 0x0A71) { $cat = self::OT_SM; } /* GURMUKHI ADDAK. More like consonant medial. like 0A75. */ @@ -184,9 +184,9 @@ class Indic if (self::is_ra($u)) { $cat = self::OT_RA; } - } else if ($cat == self::OT_M) { + } elseif ($cat == self::OT_M) { $pos = self::matra_position($u, $pos); - } else if ($cat == self::OT_SM || $cat == self::OT_VD) { + } elseif ($cat == self::OT_SM || $cat == self::OT_VD) { $pos = self::POS_SMVD; } @@ -224,7 +224,7 @@ class Indic $syllable_type = self::CONSONANT_SYLLABLE; } // VOWEL_SYLLABLE Vowel-based syllable // From OT spec: - else if (preg_match('/^(RH|r)?V[N]?([ZJ]?H[CR]m*|J[CR]m*)?([M]*[N]?[H]?)?[S]?[v]{0,2}/', substr($s, $ptr), $ma)) { + elseif (preg_match('/^(RH|r)?V[N]?([ZJ]?H[CR]m*|J[CR]m*)?([M]*[N]?[H]?)?[S]?[v]{0,2}/', substr($s, $ptr), $ma)) { // From HarfBuzz: //else if (preg_match('/^(RH|r)?V(Z?[N]{0,2})?(J|([ZJ]?H(J[N]?)?[CR]J?(Z?[N]{0,2})?){0,4}((([ZJ]?H(J[N]?)?)|HZ)|(HJ)?([ZJ]{0,3}M[N]?(H|JHJR)?){0,4})?(S[Z]?)?[v]{0,2})/', substr($s,$ptr), $ma)) { $syllable_length = strlen($ma[0]); @@ -232,7 +232,7 @@ class Indic } /* Apply only if it's a word start. */ // STANDALONE_CLUSTER Stand Alone syllable at start of word // From OT spec: - else if (($ptr == 0 || + elseif (($ptr == 0 || $o[$ptr - 1]['general_category'] < Ucdn::UNICODE_GENERAL_CATEGORY_LOWERCASE_LETTER || $o[$ptr - 1]['general_category'] > Ucdn::UNICODE_GENERAL_CATEGORY_NON_SPACING_MARK ) && (preg_match('/^(RH|r)?[sD][N]?([ZJ]?H[CR]m*)?([M]*[N]?[H]?)?[S]?[v]{0,2}/', substr($s, $ptr), $ma))) { @@ -241,7 +241,7 @@ class Indic $syllable_length = strlen($ma[0]); $syllable_type = self::STANDALONE_CLUSTER; } // BROKEN_CLUSTER syllable - else if (preg_match('/^(RH|r)?[N]?([ZJ]?H[CR])?([M]*[N]?[H]?)?[S]?[v]{0,2}/', substr($s, $ptr), $ma)) { + elseif (preg_match('/^(RH|r)?[N]?([ZJ]?H[CR])?([M]*[N]?[H]?)?[S]?[v]{0,2}/', substr($s, $ptr), $ma)) { // From HarfBuzz: //else if (preg_match('/^(RH|r)?(Z?[N]{0,2})?(([ZJ]?H(J[N]?)?)[CR]J?(Z?[N]{0,2})?){0,4}((([ZJ]?H(J[N]?)?)|HZ)|(HJ)?([ZJ]{0,3}M[N]?(H|JHJR)?){0,4})(S[Z]?)?[v]{0,2}/', substr($s,$ptr), $ma)) { if (strlen($ma[0])) { // May match blank @@ -279,7 +279,7 @@ class Indic $syllable_type = self::CONSONANT_SYLLABLE; } // VOWEL_SYLLABLE Vowel-based syllable // From OT spec: - else if (preg_match('/^V[S]{0,1}/', substr($s, $ptr), $ma)) { + elseif (preg_match('/^V[S]{0,1}/', substr($s, $ptr), $ma)) { $syllable_length = strlen($ma[0]); $syllable_type = self::VOWEL_SYLLABLE; } @@ -310,11 +310,11 @@ class Indic $syllable_length = strlen($ma[0]); $syllable_type = self::CONSONANT_SYLLABLE; } // VOWEL_SYLLABLE Vowel-based syllable - else if (preg_match('/^(RH|r)?V((Z?F)?[N]{0,2})?(J|([ZJ]?G(JN?)?[CR]J?((Z?F)?[N]{0,2})?){0,4}((([ZJ]?G(JN?)?)|GZ)|(GJ)?([ZJ]{0,3}MN?(H|JHJR)?){0,4})?(G([CR]J?((Z?F)?[N]{0,2})?|V))?(SZ?)?[v]{0,2})/', substr($s, $ptr), $ma)) { + elseif (preg_match('/^(RH|r)?V((Z?F)?[N]{0,2})?(J|([ZJ]?G(JN?)?[CR]J?((Z?F)?[N]{0,2})?){0,4}((([ZJ]?G(JN?)?)|GZ)|(GJ)?([ZJ]{0,3}MN?(H|JHJR)?){0,4})?(G([CR]J?((Z?F)?[N]{0,2})?|V))?(SZ?)?[v]{0,2})/', substr($s, $ptr), $ma)) { $syllable_length = strlen($ma[0]); $syllable_type = self::VOWEL_SYLLABLE; } // BROKEN_CLUSTER syllable - else if (preg_match('/^(RH|r)?((Z?F)?[N]{0,2})?(([ZJ]?G(JN?)?)[CR]J?((Z?F)?[N]{0,2})?){0,4}((([ZJ]?G(JN?)?)|GZ)|(GJ)?([ZJ]{0,3}MN?(H|JHJR)?){0,4})(G([CR]J?((Z?F)?[N]{0,2})?|V))?(SZ?)?[v]{0,2}/', substr($s, $ptr), $ma)) { + elseif (preg_match('/^(RH|r)?((Z?F)?[N]{0,2})?(([ZJ]?G(JN?)?)[CR]J?((Z?F)?[N]{0,2})?){0,4}((([ZJ]?G(JN?)?)|GZ)|(GJ)?([ZJ]{0,3}MN?(H|JHJR)?){0,4})(G([CR]J?((Z?F)?[N]{0,2})?|V))?(SZ?)?[v]{0,2}/', substr($s, $ptr), $ma)) { if (strlen($ma[0])) { // May match blank $syllable_length = strlen($ma[0]); $syllable_type = self::BROKEN_CLUSTER; @@ -367,9 +367,9 @@ class Indic // If would substitute... if (isset($GSUBdata['pref'][$c])) { $info[$i]['indic_position'] = self::POS_POST_C; - } else if (isset($GSUBdata['blwf'][$c])) { + } elseif (isset($GSUBdata['blwf'][$c])) { $info[$i]['indic_position'] = self::POS_BELOW_C; - } else if (isset($GSUBdata['pstf'][$c])) { + } elseif (isset($GSUBdata['pstf'][$c])) { $info[$i]['indic_position'] = self::POS_POST_C; } } @@ -401,7 +401,7 @@ class Indic // I am not sue how this code below got in here, since $idx should now be > count($info) and thus invalid. // In case I am missing something(!) I'll leave a warning here for now: if (isset($info[$idx])) { - throw new \Mpdf\MpdfException('Unexpected error occured in Indic processing'); + throw new \Mpdf\MpdfException('Unexpected error occurred in Indic processing'); } // In case of final bloken cluster... //$syllable = $info[$idx]['syllable']; @@ -473,7 +473,7 @@ class Indic $base = $start; $has_reph = true; } - } else if ($indic_config[4] == self::REPH_MODE_LOG_REPHA && $info[$start]['indic_category'] == self::OT_REPHA) { + } elseif ($indic_config[4] == self::REPH_MODE_LOG_REPHA && $info[$start]['indic_category'] == self::OT_REPHA) { $limit += 1; while ($limit < $end && self::is_joiner($info[$limit])) { $limit++; @@ -681,7 +681,7 @@ class Indic } } } - } else if ($info[$i]['indic_position'] != self::POS_SMVD) { + } elseif ($info[$i]['indic_position'] != self::POS_SMVD) { $last_pos = $info[$i]['indic_position']; } } @@ -691,7 +691,7 @@ class Indic for ($i = $base + 1; $i < $end; $i++) { if (self::is_halant_or_coeng($info[$i])) { $last_halant = $i; - } else if (self::is_consonant($info[$i])) { + } elseif (self::is_consonant($info[$i])) { for ($j = $last_halant; $j < $i; $j++) { if ($info[$j]['indic_position'] != self::POS_SMVD) { $info[$j]['indic_position'] = $info[$i]['indic_position']; @@ -805,7 +805,7 @@ class Indic if (isset($GSUBdata['blwf'][$info[$i + 2]['uni']])) { $info[$i + 1]['mask'] |= self::FLAG(self::BLWF); $info[$i + 2]['mask'] |= self::FLAG(self::BLWF); - } /* If would not substitute as blwf, mark Ra+Halant for RPHF using following Halant (if present) */ else if (self::is_halant_or_coeng($info[$i + 3])) { + } /* If would not substitute as blwf, mark Ra+Halant for RPHF using following Halant (if present) */ elseif (self::is_halant_or_coeng($info[$i + 3])) { $info[$i + 2]['mask'] |= self::FLAG(self::RPHF); $info[$i + 3]['mask'] |= self::FLAG(self::RPHF); } @@ -1248,10 +1248,7 @@ class Indic public static function is_ra($u) { - if (isset(self::$ra_chars[$u])) { - return true; - } - return false; + return isset(self::$ra_chars[$u]); } public static function is_one_of($info, $flags) diff --git a/pandora_console/vendor/mpdf/mpdf/src/Shaper/Myanmar.php b/pandora_console/vendor/mpdf/mpdf/src/Shaper/Myanmar.php index 7bcad01358..9a68edacfd 100644 --- a/pandora_console/vendor/mpdf/mpdf/src/Shaper/Myanmar.php +++ b/pandora_console/vendor/mpdf/mpdf/src/Shaper/Myanmar.php @@ -122,9 +122,9 @@ class Myanmar */ if (self::in_range($u, 0xFE00, 0xFE0F)) { $cat = self::OT_VS; - } else if ($u == 0x200C) { + } elseif ($u == 0x200C) { $cat = self::OT_ZWNJ; - } else if ($u == 0x200D) { + } elseif ($u == 0x200D) { $cat = self::OT_ZWJ; } @@ -275,7 +275,7 @@ class Myanmar $syllable_length = strlen($ma[0]); $syllable_type = self::CONSONANT_SYLLABLE; } // BROKEN_CLUSTER syllable - else if (preg_match('/^(RaH)?s?(H|[a]*[n]?[l]?((m[k]?|k)[a]?)?[e]*[v]*[b]*[A]*(N[a]?)?(t[k]?[a]*[v]*[A]*(N[a]?)?)*(p[A]*(N[a]?)?)*S*[J|Z]?)/', substr($s, $ptr), $ma)) { + elseif (preg_match('/^(RaH)?s?(H|[a]*[n]?[l]?((m[k]?|k)[a]?)?[e]*[v]*[b]*[A]*(N[a]?)?(t[k]?[a]*[v]*[A]*(N[a]?)?)*(p[A]*(N[a]?)?)*S*[J|Z]?)/', substr($s, $ptr), $ma)) { if (strlen($ma[0])) { // May match blank $syllable_length = strlen($ma[0]); $syllable_type = self::BROKEN_CLUSTER; diff --git a/pandora_console/vendor/mpdf/mpdf/src/Shaper/Sea.php b/pandora_console/vendor/mpdf/mpdf/src/Shaper/Sea.php index 8bc7a6bd1c..40adaccfac 100644 --- a/pandora_console/vendor/mpdf/mpdf/src/Shaper/Sea.php +++ b/pandora_console/vendor/mpdf/mpdf/src/Shaper/Sea.php @@ -183,7 +183,7 @@ class Sea $syllable_length = strlen($ma[0]); $syllable_type = self::CONSONANT_SYLLABLE; } // BROKEN_CLUSTER syllable - else if (preg_match('/^(p|a|b|t|HC|M|R|T|A)+/', substr($s, $ptr), $ma)) { + elseif (preg_match('/^(p|a|b|t|HC|M|R|T|A)+/', substr($s, $ptr), $ma)) { $syllable_length = strlen($ma[0]); $syllable_type = self::BROKEN_CLUSTER; $broken_syllables = true; diff --git a/pandora_console/vendor/mpdf/mpdf/src/SizeConverter.php b/pandora_console/vendor/mpdf/mpdf/src/SizeConverter.php index 6d123bbd85..9ec93fd2a2 100644 --- a/pandora_console/vendor/mpdf/mpdf/src/SizeConverter.php +++ b/pandora_console/vendor/mpdf/mpdf/src/SizeConverter.php @@ -50,7 +50,7 @@ class SizeConverter implements \Psr\Log\LoggerAwareInterface public function convert($size = 5, $maxsize = 0, $fontsize = false, $usefontsize = true) { $size = trim(strtolower($size)); - $res = preg_match('/^(?P[-0-9.,]+)?(?P[%a-z-]+)?$/', $size, $parts); + $res = preg_match('/^(?P[-0-9.,]+([eE]\-?[0-9]+)?)?(?P[%a-z-]+)?$/', $size, $parts); if (!$res) { // ignore definition $this->logger->warning(sprintf('Invalid size representation "%s"', $size), ['context' => LogContext::CSS_SIZE_CONVERSION]); diff --git a/pandora_console/vendor/mpdf/mpdf/src/Strict.php b/pandora_console/vendor/mpdf/mpdf/src/Strict.php new file mode 100644 index 0000000000..bab863db7f --- /dev/null +++ b/pandora_console/vendor/mpdf/mpdf/src/Strict.php @@ -0,0 +1,67 @@ +maxStrLenRead = 200000; } - function getMetrics($file, $fontkey, $TTCfontID = 0, $debug = false, $BMPonly = false, $useOTL = 0) + public function getMetrics($file, $fontkey, $TTCfontID = 0, $debug = false, $BMPonly = false, $useOTL = 0) { - $this->useOTL = $useOTL; // mPDF 5.7.1 - $this->fontkey = $fontkey; // mPDF 5.7.1 + $this->useOTL = $useOTL; + $this->fontkey = $fontkey; $this->filename = $file; $this->fh = fopen($file, 'rb'); if (!$this->fh) { - throw new \Mpdf\MpdfException('Can\'t open file ' . $file); + throw new \Mpdf\Exception\FontException(sprintf('Unable to open font file "%s"', $file)); } $this->_pos = 0; @@ -241,21 +242,21 @@ class TTFontFile $this->hassmallcapsGSUB = []; $this->ascent = 0; $this->descent = 0; - $this->lineGap = 0; // mPDF 6 - $this->hheaascent = 0; // mPDF 6 - $this->hheadescent = 0; // mPDF 6 - $this->hhealineGap = 0; // mPDF 6 - $this->xHeight = 0; // mPDF 6 - $this->capHeight = 0; // mPDF 6 + $this->lineGap = 0; + $this->hheaascent = 0; + $this->hheadescent = 0; + $this->hhealineGap = 0; + $this->xHeight = 0; + $this->capHeight = 0; $this->panose = []; $this->sFamilyClass = 0; $this->sFamilySubClass = 0; - $this->typoAscender = 0; // mPDF 6 - $this->typoDescender = 0; // mPDF 6 - $this->typoLineGap = 0; // mPDF 6 - $this->usWinAscent = 0; // mPDF 6 - $this->usWinDescent = 0; // mPDF 6 - $this->advanceWidthMax = 0; // mPDF 6 + $this->typoAscender = 0; + $this->typoDescender = 0; + $this->typoLineGap = 0; + $this->usWinAscent = 0; + $this->usWinDescent = 0; + $this->advanceWidthMax = 0; $this->strikeoutSize = 0; $this->strikeoutPosition = 0; $this->numTTCFonts = 0; @@ -263,22 +264,22 @@ class TTFontFile $this->version = $version = $this->read_ulong(); $this->panose = []; - if ($version == 0x4F54544F) { - throw new \Mpdf\MpdfException("Postscript outlines are not supported"); + if ($version === 0x4F54544F) { + throw new \Mpdf\Exception\FontException(sprintf('Fonts with postscript outlines are not supported (%s)', $file)); } - if ($version == 0x74746366 && !$TTCfontID) { - throw new \Mpdf\MpdfException("ERROR - You must define the TTCfontID for a TrueType Collection in config_fonts.php (" . $file . ")"); + if ($version === 0x74746366 && !$TTCfontID) { + throw new \Mpdf\Exception\FontException(sprintf('TTCfontID for a TrueType Collection is not defined in mPDF "fontdata" configuration (%s)', $file)); } - if (!in_array($version, [0x00010000, 0x74727565]) && !$TTCfontID) { - throw new \Mpdf\MpdfException("Not a TrueType font: version=" . $version); + if (!in_array($version, [0x00010000, 0x74727565], true) && !$TTCfontID) { + throw new \Mpdf\Exception\FontException(sprintf('Not a TrueType font: version=%s)', $version)); } if ($TTCfontID > 0) { $this->version = $version = $this->read_ulong(); // TTC Header version now - if (!in_array($version, [0x00010000, 0x00020000])) { - throw new \Mpdf\MpdfException("ERROR - Error parsing TrueType Collection: version=" . $version . " - " . $file); + if (!in_array($version, [0x00010000, 0x00020000], true)) { + throw new \Mpdf\Exception\FontException(sprintf('Error parsing TrueType Collection: version=%s - (%s)', $version, $file)); } $this->numTTCFonts = $this->read_ulong(); for ($i = 1; $i <= $this->numTTCFonts; $i++) { @@ -290,6 +291,7 @@ class TTFontFile $this->readTableDirectory($debug); $this->extractInfo($debug, $BMPonly, $useOTL); + fclose($this->fh); } @@ -300,6 +302,7 @@ class TTFontFile $this->entrySelector = $this->read_ushort(); $this->rangeShift = $this->read_ushort(); $this->tables = []; + for ($i = 0; $i < $this->numTables; $i++) { $record = []; $record['tag'] = $this->read_tag(); @@ -308,6 +311,7 @@ class TTFontFile $record['length'] = $this->read_ulong(); $this->tables[$record['tag']] = $record; } + if ($debug) { $this->checksumTables(); } @@ -320,7 +324,7 @@ class TTFontFile if ($t['length'] > 0 && $t['length'] < $this->maxStrLenRead) { // 1.02 $table = $this->get_chunk($t['offset'], $t['length']); $checksum = $this->calcChecksum($table); - if ($t['tag'] == 'head') { + if ($t['tag'] === 'head') { $up = unpack('n*', substr($table, 8, 4)); $adjustment[0] = $up[1]; $adjustment[1] = $up[2]; @@ -328,7 +332,7 @@ class TTFontFile } $xchecksum = $t['checksum']; if ($xchecksum != $checksum) { - throw new \Mpdf\MpdfException(sprintf('TTF file "%s": invalid checksum %s table: %s (expected %s)', $this->filename, dechex($checksum[0]) . dechex($checksum[1]), $t['tag'], dechex($xchecksum[0]) . dechex($xchecksum[1]))); + throw new \Mpdf\Exception\FontException(sprintf('TTF file "%s": invalid checksum %s table: %s (expected %s)', $this->filename, dechex($checksum[0]) . dechex($checksum[1]), $t['tag'], dechex($xchecksum[0]) . dechex($xchecksum[1]))); } } } @@ -340,16 +344,17 @@ class TTFontFile $xhi = $x[0]; $ylo = $y[1]; $yhi = $y[0]; + if ($ylo > $xlo) { $xlo += 1 << 16; - $yhi += 1; + ++$yhi; } $reslo = $xlo - $ylo; if ($yhi > $xhi) { $xhi += 1 << 16; } $reshi = $xhi - $yhi; - $reshi = $reshi & 0xFFFF; + $reshi &= 0xFFFF; return [$reshi, $reslo]; } @@ -357,18 +362,22 @@ class TTFontFile function calcChecksum($data) { if (strlen($data) % 4) { - $data .= str_repeat("\0", (4 - (strlen($data) % 4))); + $data .= str_repeat("\0", 4 - (strlen($data) % 4)); } + $len = strlen($data); $hi = 0x0000; $lo = 0x0000; + for ($i = 0; $i < $len; $i += 4) { $hi += (ord($data[$i]) << 8) + ord($data[$i + 1]); $lo += (ord($data[$i + 2]) << 8) + ord($data[$i + 3]); $hi += ($lo >> 16) & 0xFFFF; - $lo = $lo & 0xFFFF; + $lo &= 0xFFFF; } - $hi = $hi & 0xFFFF; // mPDF 5.7.1 + + $hi &= 0xFFFF; + return [$hi, $lo]; } @@ -472,10 +481,10 @@ class TTFontFile if ($val < 0) { $val = abs($val); $val = ~$val; - $val += 1; + ++$val; } - return pack("n", $val); + return pack('n', $val); } function splice($stream, $offset, $value) @@ -509,7 +518,19 @@ class TTFontFile return ''; } - return (fread($this->fh, $length)); + $data = (fread($this->fh, $length)); + + // fix for #1504 + // if fread is used to read from a compressed / buffered stream (e.g. phar://...) + // the $length parameter will be ignored - fread is limited in size (usually 8192 bytes) + // to fix this, the data length must be checked after reading. If the read was incomplete, + // try to read the rest of the data + $dataLen = strlen($data); + while ($dataLen < $length && !feof($this->fh)) { + $data .= fread($this->fh, $length - $dataLen); + $dataLen = strlen($data); + } + return $data; } function get_table($tag) @@ -525,23 +546,21 @@ class TTFontFile function add($tag, $data) { - if ($tag == 'head') { + if ($tag === 'head') { $data = $this->splice($data, 8, "\0\0\0\0"); } $this->otables[$tag] = $data; } - ///////////////////////////////////////////////////////////////////////////////////////// function getCTG($file, $TTCfontID = 0, $debug = false, $useOTL = false) { - // mPDF 5.7.1 // Only called if font is not to be used as embedded subset i.e. NOT called for SIP/SMP fonts $this->useOTL = $useOTL; // mPDF 5.7.1 $this->filename = $file; $this->fh = fopen($file, 'rb'); if (!$this->fh) { - throw new \Mpdf\MpdfException('Can\'t open file ' . $file); + throw new \Mpdf\Exception\FontException(sprintf('Unable to open file "%s"', $file)); } $this->_pos = 0; @@ -552,10 +571,11 @@ class TTFontFile $this->numTTCFonts = 0; $this->TTCFonts = []; $this->skip(4); + if ($TTCfontID > 0) { $this->version = $version = $this->read_ulong(); // TTC Header version now - if (!in_array($version, [0x00010000, 0x00020000])) { - throw new \Mpdf\MpdfException("ERROR - Error parsing TrueType Collection: version=" . $version . " - " . $file); + if (!in_array($version, [0x00010000, 0x00020000], true)) { + throw new \Mpdf\Exception\FontException(sprintf("Error parsing TrueType Collection: version=%s (%s)", $version, $file)); } $this->numTTCFonts = $this->read_ulong(); for ($i = 1; $i <= $this->numTTCFonts; $i++) { @@ -567,7 +587,7 @@ class TTFontFile $this->readTableDirectory($debug); // cmap - Character to glyph index mapping table - $cmap_offset = $this->seek_table("cmap"); + $cmap_offset = $this->seek_table('cmap'); $this->skip(2); $cmapTableCount = $this->read_ushort(); $unicode_cmap_offset = 0; @@ -582,7 +602,7 @@ class TTFontFile $unicode_cmap_offset = $cmap_offset + $offset; break; } - } else if ($platformID == 0) { // Unicode -- assume all encodings are compatible + } elseif ($platformID == 0) { // Unicode -- assume all encodings are compatible $format = $this->get_ushort($cmap_offset + $offset); if ($format == 4) { $unicode_cmap_offset = $cmap_offset + $offset; @@ -596,8 +616,6 @@ class TTFontFile $charToGlyph = []; $this->getCMAP4($unicode_cmap_offset, $glyphToChar, $charToGlyph); - /////////////////////////////////// - // mPDF 5.7.1 // Map Unmapped glyphs - from $numGlyphs if ($useOTL) { $this->seek_table("maxp"); @@ -610,7 +628,7 @@ class TTFontFile $bctr++; } // Avoid overwriting a glyph already mapped in PUA if ($bctr > 0xF8FF) { - throw new \Mpdf\MpdfException($file . " : WARNING - Font cannot map all included glyphs into Private Use Area U+E000 - U+F8FF; cannot use useOTL on this font"); + throw new \Mpdf\Exception\FontException(sprintf('Font "%s" cannot map all included glyphs into Private Use Area U+E000-U+F8FF; cannot use useOTL on this font', $file)); } $glyphToChar[$gid][] = $bctr; $charToGlyph[$bctr] = $gid; @@ -618,73 +636,74 @@ class TTFontFile } } } - /////////////////////////////////// fclose($this->fh); - return ($charToGlyph); + return $charToGlyph; } - ///////////////////////////////////////////////////////////////////////////////////////// function getTTCFonts($file) { $this->filename = $file; + $this->fh = fopen($file, 'rb'); if (!$this->fh) { - throw new \Mpdf\MpdfException('ERROR - Can\'t open file ' . $file); + throw new \Mpdf\Exception\FontException(sprintf('Unable to open file "%s"', $file)); } + $this->numTTCFonts = 0; $this->TTCFonts = []; $this->version = $version = $this->read_ulong(); - if ($version == 0x74746366) { + if ($version === 0x74746366) { $this->version = $version = $this->read_ulong(); // TTC Header version now - if (!in_array($version, [0x00010000, 0x00020000])) { - throw new \Mpdf\MpdfException("ERROR - Error parsing TrueType Collection: version=" . $version . " - " . $file); + if (!in_array($version, [0x00010000, 0x00020000], true)) { + throw new \Mpdf\Exception\FontException(sprintf("Error parsing TrueType Collection: version=%s (%s)", $version, $file)); } } else { - throw new \Mpdf\MpdfException("ERROR - Not a TrueType Collection: version=" . $version . " - " . $file); + throw new \Mpdf\Exception\FontException(sprintf("Not a TrueType Collection: version=%s (%s)", $version, $file)); } + $this->numTTCFonts = $this->read_ulong(); for ($i = 1; $i <= $this->numTTCFonts; $i++) { $this->TTCFonts[$i]['offset'] = $this->read_ulong(); } } - ///////////////////////////////////////////////////////////////////////////////////////// - ///////////////////////////////////////////////////////////////////////////////////////// - function extractInfo($debug = false, $BMPonly = false, $useOTL = 0) { // Values are all set to 0 or blank at start of getMetrics - /////////////////////////////////// // name - Naming table - /////////////////////////////////// $name_offset = $this->seek_table("name"); $format = $this->read_ushort(); if ($format != 0 && $format != 1) { - throw new \Mpdf\MpdfException("Unknown name table format " . $format); + throw new \Mpdf\Exception\FontException("Error loading font: Unknown name table format $format for font $this->filename"); } + $numRecords = $this->read_ushort(); $string_data_offset = $name_offset + $this->read_ushort(); $names = [1 => '', 2 => '', 3 => '', 4 => '', 6 => '']; $K = array_keys($names); $nameCount = count($names); + for ($i = 0; $i < $numRecords; $i++) { + $platformId = $this->read_ushort(); $encodingId = $this->read_ushort(); $languageId = $this->read_ushort(); $nameId = $this->read_ushort(); $length = $this->read_ushort(); $offset = $this->read_ushort(); + if (!in_array($nameId, $K)) { continue; } + $N = ''; if ($platformId == 3 && $encodingId == 1 && $languageId == 0x409) { // Microsoft, Unicode, US English, PS Name $opos = $this->_pos; $this->seek($string_data_offset + $offset); if ($length % 2 != 0) { - throw new \Mpdf\MpdfException("PostScript name is UTF-16BE string of odd length"); + throw new \Mpdf\Exception\FontException("Error loading font: PostScript name is UTF-16BE string of odd length for font $this->filename"); } $length /= 2; $N = ''; @@ -695,7 +714,7 @@ class TTFontFile } $this->_pos = $opos; $this->seek($opos); - } else if ($platformId == 1 && $encodingId == 0 && $languageId == 0) { // Macintosh, Roman, English, PS Name + } elseif ($platformId == 1 && $encodingId == 0 && $languageId == 0) { // Macintosh, Roman, English, PS Name $opos = $this->_pos; $N = $this->get_chunk($string_data_offset + $offset, $length); $this->_pos = $opos; @@ -709,25 +728,29 @@ class TTFontFile } } } + if ($names[6]) { $psName = $names[6]; - } else if ($names[4]) { + } elseif ($names[4]) { $psName = preg_replace('/ /', '-', $names[4]); - } else if ($names[1]) { + } elseif ($names[1]) { $psName = preg_replace('/ /', '-', $names[1]); } else { $psName = ''; } + if (!$psName) { - throw new \Mpdf\MpdfException("Could not find PostScript font name: " . $this->filename); + throw new \Mpdf\Exception\FontException("Error loading font: Could not find PostScript font name '$this->filename'"); } + // CHECK IF psName valid (PadaukBook contains illegal characters in Name ID 6 i.e. Postscript Name) $psNameInvalid = false; - for ($i = 0; $i < strlen($psName); $i++) { + $nameLength = strlen($psName); + for ($i = 0; $i < $nameLength; $i++) { $c = $psName[$i]; $oc = ord($c); if ($oc > 126 || strpos(' [](){}<>/%', $c) !== false) { - //throw new \Mpdf\MpdfException("psName=".$psName." contains invalid character ".$c." ie U+".ord(c)); + //throw new \Mpdf\Exception\FontException("psName=".$psName." contains invalid character ".$c." ie U+".ord(c)); $psNameInvalid = true; break; } @@ -763,22 +786,20 @@ class TTFontFile $this->fullName = $names[6]; } - /////////////////////////////////// // head - Font header table - /////////////////////////////////// - $this->seek_table("head"); + $this->seek_table('head'); if ($debug) { $ver_maj = $this->read_ushort(); $ver_min = $this->read_ushort(); if ($ver_maj != 1) { - throw new \Mpdf\MpdfException('Unknown head table version ' . $ver_maj . '.' . $ver_min); + throw new \Mpdf\Exception\FontException('Error loading font: Unknown head table version ' . $ver_maj . '.' . $ver_min); } $this->fontRevision = $this->read_ushort() . $this->read_ushort(); $this->skip(4); $magic = $this->read_ulong(); - if ($magic != 0x5F0F3CF5) { - throw new \Mpdf\MpdfException('Invalid head table magic ' . $magic); + if ($magic !== 0x5F0F3CF5) { + throw new \Mpdf\Exception\FontException('Error loading font: Invalid head table magic ' . $magic); } $this->skip(2); } else { @@ -797,28 +818,24 @@ class TTFontFile $indexToLocFormat = $this->read_ushort(); $glyphDataFormat = $this->read_ushort(); if ($glyphDataFormat != 0) { - throw new \Mpdf\MpdfException('Unknown glyph data format ' . $glyphDataFormat); + throw new \Mpdf\Exception\FontException(sprintf('Error loading font: Unknown glyph data format %s', $glyphDataFormat)); } - /////////////////////////////////// // hhea metrics table - /////////////////////////////////// if (isset($this->tables["hhea"])) { $this->seek_table("hhea"); $this->skip(4); $hheaAscender = $this->read_short(); $hheaDescender = $this->read_short(); - $hheaLineGap = $this->read_short(); // mPDF 6 - $hheaAdvanceWidthMax = $this->read_ushort(); // mPDF 6 + $hheaLineGap = $this->read_short(); + $hheaAdvanceWidthMax = $this->read_ushort(); $this->hheaascent = ($hheaAscender * $scale); $this->hheadescent = ($hheaDescender * $scale); - $this->hhealineGap = ($hheaLineGap * $scale); // mPDF 6 - $this->advanceWidthMax = ($hheaAdvanceWidthMax * $scale); // mPDF 6 + $this->hhealineGap = ($hheaLineGap * $scale); + $this->advanceWidthMax = ($hheaAdvanceWidthMax * $scale); } - /////////////////////////////////// // OS/2 - OS/2 and Windows metrics table - /////////////////////////////////// $use_typo_metrics = false; if (isset($this->tables["OS/2"])) { $this->seek_table("OS/2"); @@ -831,7 +848,6 @@ class TTFontFile $this->restrictedUse = true; } - // mPDF 6 $this->skip(16); $yStrikeoutSize = $this->read_short(); $yStrikeoutPosition = $this->read_short(); @@ -844,40 +860,41 @@ class TTFontFile $this->_pos += 10; //PANOSE = 10 byte length $panose = fread($this->fh, 10); $this->panose = []; - for ($p = 0; $p < strlen($panose); $p++) { + $panoseLenght = strlen($panose); + for ($p = 0; $p < $panoseLenght; $p++) { $this->panose[] = ord($panose[$p]); } - //$this->skip(26); - // mPDF 6 + $this->skip(20); $fsSelection = $this->read_ushort(); - $use_typo_metrics = (($fsSelection & 0x80) == 0x80); // bit#7 = USE_TYPO_METRICS + $use_typo_metrics = (($fsSelection & 0x80) === 0x80); // bit#7 = USE_TYPO_METRICS $this->skip(4); $sTypoAscender = $this->read_short(); $sTypoDescender = $this->read_short(); - $sTypoLineGap = $this->read_short(); // mPDF 6 + $sTypoLineGap = $this->read_short(); + if ($sTypoAscender) { $this->typoAscender = ($sTypoAscender * $scale); - } // mPDF 6 + } if ($sTypoDescender) { $this->typoDescender = ($sTypoDescender * $scale); - } // mPDF 6 + } if ($sTypoLineGap) { $this->typoLineGap = ($sTypoLineGap * $scale); - } // mPDF 6 + } - $usWinAscent = $this->read_ushort(); // mPDF 6 - $usWinDescent = $this->read_ushort(); // mPDF 6 + $usWinAscent = $this->read_ushort(); + $usWinDescent = $this->read_ushort(); if ($usWinAscent) { $this->usWinAscent = ($usWinAscent * $scale); - } // mPDF 6 + } if ($usWinDescent) { $this->usWinDescent = ($usWinDescent * $scale); - } // mPDF 6 + } if ($version > 1) { - $this->skip(8); // mPDF 6 + $this->skip(8); $sxHeight = $this->read_short(); $this->xHeight = ($sxHeight * $scale); $sCapHeight = $this->read_short(); @@ -886,40 +903,41 @@ class TTFontFile } else { $usWeightClass = 400; } - $this->stemV = 50 + intval(pow(($usWeightClass / 65.0), 2)); + $this->stemV = 50 + (int) (($usWeightClass / 65.0) ** 2); // FONT DESCRIPTOR METRICS - if ($this->fontDescriptor == 'winTypo') { + if ($this->fontDescriptor === 'winTypo') { $this->ascent = $this->typoAscender; $this->descent = $this->typoDescender; $this->lineGap = $this->typoLineGap; - } else if ($this->fontDescriptor == 'mac') { + } elseif ($this->fontDescriptor === 'mac') { $this->ascent = $this->hheaascent; $this->descent = $this->hheadescent; $this->lineGap = $this->hhealineGap; - } else { // if (_FONT_DESCRIPTOR == 'win') { // default + } else { // $this->fontDescriptor === 'win' $this->ascent = $this->usWinAscent; $this->descent = -$this->usWinDescent; $this->lineGap = 0; - /* Special case - if either the winAscent or winDescent are greater than the - font bounding box yMin yMax, then reduce them accordingly. - This works with Myanmar Text (Windows 8 version) to give a - line-height normal that is equivalent to that produced in browsers. - Also Khmer OS = compatible with MSWord, Wordpad and browser. */ + // Special case - if either the winAscent or winDescent are greater than the + // font bounding box yMin yMax, then reduce them accordingly. + // This works with Myanmar Text (Windows 8 version) to give a + // line-height normal that is equivalent to that produced in browsers. + // Also Khmer OS = compatible with MSWord, Wordpad and browser. if ($this->ascent > $this->bbox[3]) { $this->ascent = $this->bbox[3]; } + if ($this->descent < $this->bbox[1]) { $this->descent = $this->bbox[1]; } - /* Override case - if the USE_TYPO_METRICS bit is set on OS/2 fsSelection - this is telling the font to use the sTypo values and not the usWinAscent values. - This works as a fix with Cambria Math to give a normal line-height; - at present, this is the only font I have found with this bit set; - although note that MS WordPad and windows FF browser uses the big line-height from winAscent - but Word 2007 get it right . */ + // Override case - if the USE_TYPO_METRICS bit is set on OS/2 fsSelection + // this is telling the font to use the sTypo values and not the usWinAscent values. + // This works as a fix with Cambria Math to give a normal line-height; + // at present, this is the only font I have found with this bit set; + // although note that MS WordPad and windows FF browser uses the big line-height from winAscent + // but Word 2007 get it right if ($use_typo_metrics && $this->typoAscender) { $this->ascent = $this->typoAscender; $this->descent = $this->typoDescender; @@ -927,18 +945,17 @@ class TTFontFile } } - /////////////////////////////////// // post - PostScript table - /////////////////////////////////// - $this->seek_table("post"); + $this->seek_table('post'); if ($debug) { $ver_maj = $this->read_ushort(); if ($ver_maj < 1 || $ver_maj > 4) { - throw new \Mpdf\MpdfException('Unknown post table version ' . $ver_maj); + throw new \Mpdf\Exception\FontException(sprintf('Error loading font: Unknown post table version %s', $ver_maj)); } } else { $this->skip(4); } + $this->italicAngle = $this->read_short() + $this->read_ushort() / 65536.0; $this->underlinePosition = $this->read_short() * $scale; $this->underlineThickness = $this->read_short() * $scale; @@ -947,23 +964,21 @@ class TTFontFile $this->flags = 4; if ($this->italicAngle != 0) { - $this->flags = $this->flags | 64; + $this->flags |= 64; } if ($usWeightClass >= 600) { - $this->flags = $this->flags | 262144; + $this->flags |= 262144; } if ($isFixedPitch) { - $this->flags = $this->flags | 1; + $this->flags |= 1; } - /////////////////////////////////// // hhea - Horizontal header table - /////////////////////////////////// - $this->seek_table("hhea"); + $this->seek_table('hhea'); if ($debug) { $ver_maj = $this->read_ushort(); if ($ver_maj != 1) { - throw new \Mpdf\MpdfException('Unknown hhea table version ' . $ver_maj); + throw new \Mpdf\Exception\FontException(sprintf('Error loading font: Unknown hhea table version %s', $ver_maj)); } $this->skip(28); } else { @@ -973,33 +988,29 @@ class TTFontFile $metricDataFormat = $this->read_ushort(); if ($metricDataFormat != 0) { - throw new \Mpdf\MpdfException('Unknown horizontal metric data format ' . $metricDataFormat); + throw new \Mpdf\Exception\FontException(sprintf('Error loading font: Unknown horizontal metric data format "%s"', $metricDataFormat)); } $numberOfHMetrics = $this->read_ushort(); if ($numberOfHMetrics == 0) { - throw new \Mpdf\MpdfException('Number of horizontal metrics is 0'); + throw new \Mpdf\Exception\FontException('Error loading font: Number of horizontal metrics is 0'); } - /////////////////////////////////// // maxp - Maximum profile table - /////////////////////////////////// - $this->seek_table("maxp"); + $this->seek_table('maxp'); if ($debug) { $ver_maj = $this->read_ushort(); if ($ver_maj != 1) { - throw new \Mpdf\MpdfException('Unknown maxp table version ' . $ver_maj); + throw new \Mpdf\Exception\FontException(sprintf('Error loading font: Unknown maxp table version %s', $ver_maj)); } } else { $this->skip(4); } $numGlyphs = $this->read_ushort(); - /////////////////////////////////// // cmap - Character to glyph index mapping table - /////////////////////////////////// - $cmap_offset = $this->seek_table("cmap"); + $cmap_offset = $this->seek_table('cmap'); $this->skip(2); $cmapTableCount = $this->read_ushort(); $unicode_cmap_offset = 0; @@ -1018,8 +1029,7 @@ class TTFontFile break; } } - } // Microsoft, Unicode Format 12 table HKCS - else if ((($platformID == 3 && $encodingID == 10) || $platformID == 0) && !$BMPonly) { + } elseif ((($platformID == 3 && $encodingID == 10) || $platformID == 0) && !$BMPonly) { // Microsoft, Unicode Format 12 table HKCS $format = $this->get_ushort($cmap_offset + $offset); if ($format == 12) { $unicode_cmap_offset = $cmap_offset + $offset; @@ -1030,15 +1040,13 @@ class TTFontFile } if (!$unicode_cmap_offset) { - throw new \Mpdf\MpdfException('Font (' . $this->filename . ') does not have cmap for Unicode (platform 3, encoding 1, format 4, or platform 0, any encoding, format 4)'); + throw new \Mpdf\Exception\FontException(sprintf('Font "%s" does not have cmap for Unicode (platform 3, encoding 1, format 4, or platform 0, any encoding, format 4)', $this->filename)); } $sipset = false; $smpset = false; - // mPDF 5.7.1 $this->rtlPUAstr = ''; - //$this->rtlPUAarr = array(); $this->GSUBScriptLang = []; $this->GSUBFeatures = []; $this->GSUBLookups = []; @@ -1066,7 +1074,7 @@ class TTFontFile // ZZZ98 if ($endCharCode > 0x20000 && $endCharCode < 0x2FFFF) { $sipset = true; - } else if ($endCharCode > 0x10000 && $endCharCode < 0x1FFFF) { + } elseif ($endCharCode > 0x10000 && $endCharCode < 0x1FFFF) { $smpset = true; } $offset = 0; @@ -1089,16 +1097,20 @@ class TTFontFile $this->sipset = $sipset; $this->smpset = $smpset; - /////////////////////////////////// - // mPDF 5.7.1 // Map Unmapped glyphs (or glyphs mapped to upper PUA U+F00000 onwards i.e. > U+2FFFF) - from $numGlyphs if ($this->useOTL) { + $bctr = 0xE000; + for ($gid = 1; $gid < $numGlyphs; $gid++) { + if (!isset($glyphToChar[$gid])) { + while (isset($charToGlyph[$bctr])) { $bctr++; - } // Avoid overwriting a glyph already mapped in PUA + } + + // Avoid overwriting a glyph already mapped in PUA // ZZZ98 if (($bctr > 0xF8FF) && ($bctr < 0x2CEB0)) { if (!$BMPonly) { @@ -1108,9 +1120,10 @@ class TTFontFile $bctr++; } } else { - throw new \Mpdf\MpdfException($names[1] . " : WARNING - The font does not have enough space to map all (unmapped) included glyphs into Private Use Area U+E000 - U+F8FF"); + throw new \Mpdf\Exception\FontException(sprintf('The font "%s" does not have enough space to map all (unmapped) included glyphs into Private Use Area U+E000-U+F8FF', $names[1])); } } + $glyphToChar[$gid][] = $bctr; $charToGlyph[$bctr] = $gid; $this->maxUniChar = max($bctr, $this->maxUniChar); @@ -1120,15 +1133,12 @@ class TTFontFile } $this->glyphToChar = $glyphToChar; - /////////////////////////////////// - // mPDF 5.7.1 OpenType Layout tables + $this->GSUBScriptLang = []; $this->rtlPUAstr = ''; - //$this->rtlPUAarr = array(); if ($useOTL) { $this->_getGDEFtables(); list($this->GSUBScriptLang, $this->GSUBFeatures, $this->GSUBLookups, $this->rtlPUAstr) = $this->_getGSUBtables(); - // , $this->rtlPUAarr not needed list($this->GPOSScriptLang, $this->GPOSFeatures, $this->GPOSLookups) = $this->_getGPOStables(); $this->glyphIDtoUni = str_pad('', 256 * 256 * 3, "\x00"); foreach ($glyphToChar as $gid => $arr) { @@ -1143,7 +1153,7 @@ class TTFontFile } } } - /////////////////////////////////// + // if xHeight and/or CapHeight are not available from OS/2 (e.g. eraly versions) // Calculate from yMax of 'x' or 'H' Glyphs... if ($this->xHeight == 0) { @@ -1153,7 +1163,7 @@ class TTFontFile if ($indexToLocFormat == 0) { $this->skip($gidx * 2); $locax = $this->read_ushort() * 2; - } else if ($indexToLocFormat == 1) { + } elseif ($indexToLocFormat == 1) { $this->skip($gidx * 4); $locax = $this->read_ulong(); } @@ -1164,6 +1174,7 @@ class TTFontFile $this->xHeight = $yMaxx * $scale; } } + if ($this->capHeight == 0) { if (isset($charToGlyph[0x48])) { $gidH = $charToGlyph[0x48]; // U+0048 (LATIN CAPITAL LETTER H) @@ -1171,7 +1182,7 @@ class TTFontFile if ($indexToLocFormat == 0) { $this->skip($gidH * 2); $locaH = $this->read_ushort() * 2; - } else if ($indexToLocFormat == 1) { + } elseif ($indexToLocFormat == 1) { $this->skip($gidH * 4); $locaH = $this->read_ulong(); } @@ -1182,21 +1193,19 @@ class TTFontFile $this->capHeight = $yMaxH * $scale; } else { $this->capHeight = $this->ascent; - } // final default is to set it = to Ascent + } + // final default is to set it = to Ascent } - /////////////////////////////////// // hmtx - Horizontal metrics table - /////////////////////////////////// $this->getHMTX($numberOfHMetrics, $numGlyphs, $glyphToChar, $scale); - /////////////////////////////////// // kern - Kerning pair table - /////////////////////////////////// // Recognises old form of Kerning table - as required by Windows - Format 0 only $kern_offset = $this->seek_table("kern"); $version = $this->read_ushort(); $nTables = $this->read_ushort(); + // subtable header $sversion = $this->read_ushort(); $slength = $this->read_ushort(); @@ -1219,15 +1228,12 @@ class TTFontFile } } - ///////////////////////////////////////////////////////////////////////////////////////// function _getGDEFtables() { - /////////////////////////////////// - // GDEF - Glyph Definition - /////////////////////////////////// // http://www.microsoft.com/typography/otspec/gdef.htm if (isset($this->tables["GDEF"])) { $gdef_offset = $this->seek_table("GDEF"); + // ULONG Version of the GDEF table-currently 0x00010000 $ver_maj = $this->read_ushort(); $ver_min = $this->read_ushort(); @@ -1235,6 +1241,7 @@ class TTFontFile $AttachList_offset = $this->read_ushort(); $LigCaretList_offset = $this->read_ushort(); $MarkAttachClassDef_offset = $this->read_ushort(); + // Version 0x00010002 of GDEF header contains additional Offset to a list defining mark glyph set definitions (MarkGlyphSetDef) if ($ver_min == 2) { $MarkGlyphSetsDef_offset = $this->read_ushort(); @@ -1242,13 +1249,12 @@ class TTFontFile // GlyphClassDef if ($GlyphClassDef_offset) { + $this->seek($gdef_offset + $GlyphClassDef_offset); - /* - 1 Base glyph (single character, spacing glyph) - 2 Ligature glyph (multiple character, spacing glyph) - 3 Mark glyph (non-spacing combining glyph) - 4 Component glyph (part of single character, spacing glyph) - */ + // 1 Base glyph (single character, spacing glyph) + // 2 Ligature glyph (multiple character, spacing glyph) + // 3 Mark glyph (non-spacing combining glyph) + // 4 Component glyph (part of single character, spacing glyph) $GlyphByClass = $this->_getClassDefinitionTable(); } else { $GlyphByClass = []; @@ -1277,8 +1283,7 @@ class TTFontFile if (isset($GlyphByClass[3]) && count($GlyphByClass[3]) > 0) { $Marks = $GlyphByClass[3]; - } // to use for MarkAttachmentType - else { + } else { // to use for MarkAttachmentType $Marks = []; } @@ -1347,53 +1352,51 @@ class TTFontFile $this->MarkGlyphSets = []; } } else { - throw new \Mpdf\MpdfException('Warning - You cannot set this font (' . $this->filename . ') to use OTL, as it does not include OTL tables (or at least, not a GDEF table).'); + throw new \Mpdf\Exception\FontException(sprintf('Unable to set font "%s" to use OTL as it does not include OTL tables (or at least not a GDEF table).', $this->filename)); } - //===================================================================================== - //===================================================================================== - //===================================================================================== $GSUB_offset = 0; $GPOS_offset = 0; $GSUB_length = 0; + $s = ''; - if (isset($this->tables["GSUB"])) { - $GSUB_offset = $this->seek_table("GSUB"); - $GSUB_length = $this->tables["GSUB"]['length']; - $s .= fread($this->fh, $this->tables["GSUB"]['length']); + + if (isset($this->tables['GSUB'])) { + $GSUB_offset = $this->seek_table('GSUB'); + $GSUB_length = $this->tables['GSUB']['length']; + $s .= fread($this->fh, $this->tables['GSUB']['length']); } - if (isset($this->tables["GPOS"])) { - $GPOS_offset = $this->seek_table("GPOS"); - $s .= fread($this->fh, $this->tables["GPOS"]['length']); + + if (isset($this->tables['GPOS'])) { + $GPOS_offset = $this->seek_table('GPOS'); + $s .= fread($this->fh, $this->tables['GPOS']['length']); } + if ($s) { $this->fontCache->write($this->fontkey . '.GSUBGPOStables.dat', $s); } - //===================================================================================== - //===================================================================================== + $font = [ + 'GSUB_offset' => $GSUB_offset, + 'GPOS_offset' => $GPOS_offset, + 'GSUB_length' => $GSUB_length, + 'GlyphClassBases' => $this->GlyphClassBases, + 'GlyphClassMarks' => $this->GlyphClassMarks, + 'GlyphClassLigatures' => $this->GlyphClassLigatures, + 'GlyphClassComponents' => $this->GlyphClassComponents, + 'MarkGlyphSets' => $this->MarkGlyphSets, + 'MarkAttachmentType' => $this->MarkAttachmentType, + ]; - $s = 'GlyphClassBases . '\'; -$GlyphClassMarks = \'' . $this->GlyphClassMarks . '\'; -$GlyphClassLigatures = \'' . $this->GlyphClassLigatures . '\'; -$GlyphClassComponents = \'' . $this->GlyphClassComponents . '\'; -$MarkGlyphSets = ' . var_export($this->MarkGlyphSets, true) . '; -$MarkAttachmentType = ' . var_export($this->MarkAttachmentType, true) . '; -'; - - $this->fontCache->write($this->fontkey . '.GDEFdata.php', $s); + $this->fontCache->jsonWrite($this->fontkey . '.GDEFdata.json', $font); } function _getClassDefinitionTable() { - // NB Any glyph not included in the range of covered GlyphIDs automatically belongs to Class 0. This is not returned by this function $ClassFormat = $this->read_ushort(); $GlyphByClass = []; + if ($ClassFormat == 1) { $StartGlyph = $this->read_ushort(); $GlyphCount = $this->read_ushort(); @@ -1407,7 +1410,7 @@ $MarkAttachmentType = ' . var_export($this->MarkAttachmentType, true) . '; $GlyphByClass[$class][] = unicode_hex($this->glyphToChar[$gid][0]); } } - } else if ($ClassFormat == 2) { + } elseif ($ClassFormat == 2) { $tableCount = $this->read_ushort(); for ($i = 0; $i < $tableCount; $i++) { $startGlyphID = $this->read_ushort(); @@ -1428,1032 +1431,989 @@ $MarkAttachmentType = ' . var_export($this->MarkAttachmentType, true) . '; return $GlyphByClass; } + /** + * GSUB - Glyph Substitution + */ function _getGSUBtables() { - /////////////////////////////////// - // GSUB - Glyph Substitution - /////////////////////////////////// - if (isset($this->tables["GSUB"])) { - $ffeats = []; - $gsub_offset = $this->seek_table("GSUB"); - $this->skip(4); - $ScriptList_offset = $gsub_offset + $this->read_ushort(); - $FeatureList_offset = $gsub_offset + $this->read_ushort(); - $LookupList_offset = $gsub_offset + $this->read_ushort(); + if (!isset($this->tables['GSUB'])) { + return [[], [], [], '']; + } - // ScriptList - $this->seek($ScriptList_offset); - $ScriptCount = $this->read_ushort(); - for ($i = 0; $i < $ScriptCount; $i++) { - $ScriptTag = $this->read_tag(); // = "beng", "deva" etc. - $ScriptTableOffset = $this->read_ushort(); - $ffeats[$ScriptTag] = $ScriptList_offset + $ScriptTableOffset; + $ffeats = []; + $gsub_offset = $this->seek_table('GSUB'); + $this->skip(4); + $ScriptList_offset = $gsub_offset + $this->read_ushort(); + $FeatureList_offset = $gsub_offset + $this->read_ushort(); + $LookupList_offset = $gsub_offset + $this->read_ushort(); + + // ScriptList + $this->seek($ScriptList_offset); + $ScriptCount = $this->read_ushort(); + for ($i = 0; $i < $ScriptCount; $i++) { + $ScriptTag = $this->read_tag(); // = "beng", "deva" etc. + $ScriptTableOffset = $this->read_ushort(); + $ffeats[$ScriptTag] = $ScriptList_offset + $ScriptTableOffset; + } + + // Script Table + foreach ($ffeats as $t => $o) { + $ls = []; + $this->seek($o); + $DefLangSys_offset = $this->read_ushort(); + if ($DefLangSys_offset > 0) { + $ls['DFLT'] = $DefLangSys_offset + $o; + } + $LangSysCount = $this->read_ushort(); + for ($i = 0; $i < $LangSysCount; $i++) { + $LangTag = $this->read_tag(); // = + $LangTableOffset = $this->read_ushort(); + $ls[$LangTag] = $o + $LangTableOffset; + } + $ffeats[$t] = $ls; + } + + // Get FeatureIndexList + // LangSys Table - from first listed langsys + foreach ($ffeats as $st => $scripts) { + foreach ($scripts as $t => $o) { + $FeatureIndex = []; + $langsystable_offset = $o; + $this->seek($langsystable_offset); + $LookUpOrder = $this->read_ushort(); //==NULL + $ReqFeatureIndex = $this->read_ushort(); + if ($ReqFeatureIndex != 0xFFFF) { + $FeatureIndex[] = $ReqFeatureIndex; + } + $FeatureCount = $this->read_ushort(); + for ($i = 0; $i < $FeatureCount; $i++) { + $FeatureIndex[] = $this->read_ushort(); // = index of feature + } + $ffeats[$st][$t] = $FeatureIndex; + } + } + + // Feauture List => LookupListIndex es + $this->seek($FeatureList_offset); + $FeatureCount = $this->read_ushort(); + $Feature = []; + + for ($i = 0; $i < $FeatureCount; $i++) { + $tag = $this->read_tag(); + if ($tag == 'smcp') { + $this->hassmallcapsGSUB = true; + } + $Feature[$i] = ['tag' => $tag]; + $Feature[$i]['offset'] = $FeatureList_offset + $this->read_ushort(); + } + + for ($i = 0; $i < $FeatureCount; $i++) { + $this->seek($Feature[$i]['offset']); + $this->read_ushort(); // null [FeatureParams] + $Feature[$i]['LookupCount'] = $Lookupcount = $this->read_ushort(); + $Feature[$i]['LookupListIndex'] = []; + for ($c = 0; $c < $Lookupcount; $c++) { + $Feature[$i]['LookupListIndex'][] = $this->read_ushort(); + } + } + + foreach ($ffeats as $st => $scripts) { + foreach ($scripts as $t => $o) { + $FeatureIndex = $ffeats[$st][$t]; + foreach ($FeatureIndex as $k => $fi) { + $ffeats[$st][$t][$k] = $Feature[$fi]; + } + } + } + + $gsub = []; + $GSUBScriptLang = []; + foreach ($ffeats as $st => $scripts) { + foreach ($scripts as $t => $langsys) { + $lg = []; + foreach ($langsys as $ft) { + $lg[$ft['LookupListIndex'][0]] = $ft; + } + // list of Lookups in order they need to be run i.e. order listed in Lookup table + ksort($lg); + foreach ($lg as $ft) { + $gsub[$st][$t][$ft['tag']] = $ft['LookupListIndex']; + } + if (!isset($GSUBScriptLang[$st])) { + $GSUBScriptLang[$st] = ''; + } + $GSUBScriptLang[$st] .= $t . ' '; + } + } + + // Get metadata and offsets for whole Lookup List table + $this->seek($LookupList_offset); + $LookupCount = $this->read_ushort(); + $GSLookup = []; + $Offsets = []; + $SubtableCount = []; + + for ($i = 0; $i < $LookupCount; $i++) { + $Offsets[$i] = $LookupList_offset + $this->read_ushort(); + } + + for ($i = 0; $i < $LookupCount; $i++) { + + $this->seek($Offsets[$i]); + + $GSLookup[$i]['Type'] = $this->read_ushort(); + $GSLookup[$i]['Flag'] = $flag = $this->read_ushort(); + $GSLookup[$i]['SubtableCount'] = $SubtableCount[$i] = $this->read_ushort(); + + for ($c = 0; $c < $SubtableCount[$i]; $c++) { + $GSLookup[$i]['Subtables'][$c] = $Offsets[$i] + $this->read_ushort(); } - // Script Table - foreach ($ffeats as $t => $o) { - $ls = []; - $this->seek($o); - $DefLangSys_offset = $this->read_ushort(); - if ($DefLangSys_offset > 0) { - $ls['DFLT'] = $DefLangSys_offset + $o; - } - $LangSysCount = $this->read_ushort(); - for ($i = 0; $i < $LangSysCount; $i++) { - $LangTag = $this->read_tag(); // = - $LangTableOffset = $this->read_ushort(); - $ls[$LangTag] = $o + $LangTableOffset; - } - $ffeats[$t] = $ls; - } -//print_r($ffeats); exit; - // Get FeatureIndexList - // LangSys Table - from first listed langsys - foreach ($ffeats as $st => $scripts) { - foreach ($scripts as $t => $o) { - $FeatureIndex = []; - $langsystable_offset = $o; - $this->seek($langsystable_offset); - $LookUpOrder = $this->read_ushort(); //==NULL - $ReqFeatureIndex = $this->read_ushort(); - if ($ReqFeatureIndex != 0xFFFF) { - $FeatureIndex[] = $ReqFeatureIndex; - } - $FeatureCount = $this->read_ushort(); - for ($i = 0; $i < $FeatureCount; $i++) { - $FeatureIndex[] = $this->read_ushort(); // = index of feature - } - $ffeats[$st][$t] = $FeatureIndex; - } - } -//print_r($ffeats); exit; - // Feauture List => LookupListIndex es - $this->seek($FeatureList_offset); - $FeatureCount = $this->read_ushort(); - $Feature = []; - for ($i = 0; $i < $FeatureCount; $i++) { - $tag = $this->read_tag(); - if ($tag == 'smcp') { - $this->hassmallcapsGSUB = true; - } - $Feature[$i] = ['tag' => $tag]; - $Feature[$i]['offset'] = $FeatureList_offset + $this->read_ushort(); - } - for ($i = 0; $i < $FeatureCount; $i++) { - $this->seek($Feature[$i]['offset']); - $this->read_ushort(); // null [FeatureParams] - $Feature[$i]['LookupCount'] = $Lookupcount = $this->read_ushort(); - $Feature[$i]['LookupListIndex'] = []; - for ($c = 0; $c < $Lookupcount; $c++) { - $Feature[$i]['LookupListIndex'][] = $this->read_ushort(); - } + // MarkFilteringSet = Index (base 0) into GDEF mark glyph sets structure + if (($flag & 0x0010) == 0x0010) { + $GSLookup[$i]['MarkFilteringSet'] = $this->read_ushort(); + } else { + $GSLookup[$i]['MarkFilteringSet'] = ''; } -//print_r($Feature); exit; - - foreach ($ffeats as $st => $scripts) { - foreach ($scripts as $t => $o) { - $FeatureIndex = $ffeats[$st][$t]; - foreach ($FeatureIndex as $k => $fi) { - $ffeats[$st][$t][$k] = $Feature[$fi]; - } - } - } - //===================================================================================== - $gsub = []; - $GSUBScriptLang = []; - foreach ($ffeats as $st => $scripts) { - foreach ($scripts as $t => $langsys) { - $lg = []; - foreach ($langsys as $ft) { - $lg[$ft['LookupListIndex'][0]] = $ft; - } - // list of Lookups in order they need to be run i.e. order listed in Lookup table - ksort($lg); - foreach ($lg as $ft) { - $gsub[$st][$t][$ft['tag']] = $ft['LookupListIndex']; - } - if (!isset($GSUBScriptLang[$st])) { - $GSUBScriptLang[$st] = ''; - } - $GSUBScriptLang[$st] .= $t . ' '; - } - } - -//print_r($gsub); exit; - //===================================================================================== - // Get metadata and offsets for whole Lookup List table - $this->seek($LookupList_offset); - $LookupCount = $this->read_ushort(); - $GSLookup = []; - $Offsets = []; - $SubtableCount = []; - for ($i = 0; $i < $LookupCount; $i++) { - $Offsets[$i] = $LookupList_offset + $this->read_ushort(); - } - for ($i = 0; $i < $LookupCount; $i++) { - $this->seek($Offsets[$i]); - $GSLookup[$i]['Type'] = $this->read_ushort(); - $GSLookup[$i]['Flag'] = $flag = $this->read_ushort(); - $GSLookup[$i]['SubtableCount'] = $SubtableCount[$i] = $this->read_ushort(); + // Lookup Type 7: Extension + if ($GSLookup[$i]['Type'] == 7) { + // Overwrites new offset (32-bit) for each subtable, and a new lookup Type for ($c = 0; $c < $SubtableCount[$i]; $c++) { - $GSLookup[$i]['Subtables'][$c] = $Offsets[$i] + $this->read_ushort(); - } - // MarkFilteringSet = Index (base 0) into GDEF mark glyph sets structure - if (($flag & 0x0010) == 0x0010) { - $GSLookup[$i]['MarkFilteringSet'] = $this->read_ushort(); - } else { - $GSLookup[$i]['MarkFilteringSet'] = ''; - } - - // Lookup Type 7: Extension - if ($GSLookup[$i]['Type'] == 7) { - // Overwrites new offset (32-bit) for each subtable, and a new lookup Type - for ($c = 0; $c < $SubtableCount[$i]; $c++) { - $this->seek($GSLookup[$i]['Subtables'][$c]); - $ExtensionPosFormat = $this->read_ushort(); - $type = $this->read_ushort(); - $ext_offset = $this->read_ulong(); - $GSLookup[$i]['Subtables'][$c] = $GSLookup[$i]['Subtables'][$c] + $ext_offset; - } - $GSLookup[$i]['Type'] = $type; - } - } - -//print_r($GSLookup); exit; - //===================================================================================== - // Process Whole LookupList - Get LuCoverage = Lookup coverage just for first glyph - $this->GSLuCoverage = []; - for ($i = 0; $i < $LookupCount; $i++) { - for ($c = 0; $c < $GSLookup[$i]['SubtableCount']; $c++) { $this->seek($GSLookup[$i]['Subtables'][$c]); - $PosFormat = $this->read_ushort(); - - if ($GSLookup[$i]['Type'] == 5 && $PosFormat == 3) { - $this->skip(4); - } else if ($GSLookup[$i]['Type'] == 6 && $PosFormat == 3) { - $BacktrackGlyphCount = $this->read_ushort(); - $this->skip(2 * $BacktrackGlyphCount + 2); - } - // NB Coverage only looks at glyphs for position 1 (i.e. 5.3 and 6.3) // NEEDS TO READ ALL ******************** - $Coverage = $GSLookup[$i]['Subtables'][$c] + $this->read_ushort(); - $this->seek($Coverage); - $glyphs = $this->_getCoverage(false, 2); - $this->GSLuCoverage[$i][$c] = $glyphs; + $ExtensionPosFormat = $this->read_ushort(); + $type = $this->read_ushort(); + $ext_offset = $this->read_ulong(); + $GSLookup[$i]['Subtables'][$c] = $GSLookup[$i]['Subtables'][$c] + $ext_offset; } + $GSLookup[$i]['Type'] = $type; + } + } + + // Process Whole LookupList - Get LuCoverage = Lookup coverage just for first glyph + $this->GSLuCoverage = []; + for ($i = 0; $i < $LookupCount; $i++) { + for ($c = 0; $c < $GSLookup[$i]['SubtableCount']; $c++) { + $this->seek($GSLookup[$i]['Subtables'][$c]); + $PosFormat = $this->read_ushort(); + + if ($GSLookup[$i]['Type'] == 5 && $PosFormat == 3) { + $this->skip(4); + } elseif ($GSLookup[$i]['Type'] == 6 && $PosFormat == 3) { + $BacktrackGlyphCount = $this->read_ushort(); + $this->skip(2 * $BacktrackGlyphCount + 2); + } + + // NB Coverage only looks at glyphs for position 1 (i.e. 5.3 and 6.3) // NEEDS TO READ ALL ******************** + $Coverage = $GSLookup[$i]['Subtables'][$c] + $this->read_ushort(); + $this->seek($Coverage); + $glyphs = $this->_getCoverage(false, 2); + $this->GSLuCoverage[$i][$c] = $glyphs; + } + } + + // $this->GSLuCoverage and $GSLookup + $this->fontCache->jsonWrite($this->fontkey . '.GSUBdata.json', $this->GSLuCoverage); + + // Now repeats as original to get Substitution rules + // Get metadata and offsets for whole Lookup List table + $this->seek($LookupList_offset); + $LookupCount = $this->read_ushort(); + $Lookup = []; + + for ($i = 0; $i < $LookupCount; $i++) { + $Lookup[$i]['offset'] = $LookupList_offset + $this->read_ushort(); + } + + for ($i = 0; $i < $LookupCount; $i++) { + $this->seek($Lookup[$i]['offset']); + $Lookup[$i]['Type'] = $this->read_ushort(); + $Lookup[$i]['Flag'] = $flag = $this->read_ushort(); + $Lookup[$i]['SubtableCount'] = $this->read_ushort(); + for ($c = 0; $c < $Lookup[$i]['SubtableCount']; $c++) { + $Lookup[$i]['Subtable'][$c]['Offset'] = $Lookup[$i]['offset'] + $this->read_ushort(); + } + // MarkFilteringSet = Index (base 0) into GDEF mark glyph sets structure + if (($flag & 0x0010) == 0x0010) { + $Lookup[$i]['MarkFilteringSet'] = $this->read_ushort(); + } else { + $Lookup[$i]['MarkFilteringSet'] = ''; } - // $this->GSLuCoverage and $GSLookup - - $s = 'GSLuCoverage, true) . '; -'; - - $this->fontCache->write($this->fontkey . '.GSUBdata.php', $s); - - // Now repeats as original to get Substitution rules - - // Get metadata and offsets for whole Lookup List table - $this->seek($LookupList_offset); - $LookupCount = $this->read_ushort(); - $Lookup = []; - - for ($i = 0; $i < $LookupCount; $i++) { - $Lookup[$i]['offset'] = $LookupList_offset + $this->read_ushort(); - } - - for ($i = 0; $i < $LookupCount; $i++) { - $this->seek($Lookup[$i]['offset']); - $Lookup[$i]['Type'] = $this->read_ushort(); - $Lookup[$i]['Flag'] = $flag = $this->read_ushort(); - $Lookup[$i]['SubtableCount'] = $this->read_ushort(); - for ($c = 0; $c < $Lookup[$i]['SubtableCount']; $c++) { - $Lookup[$i]['Subtable'][$c]['Offset'] = $Lookup[$i]['offset'] + $this->read_ushort(); - } - // MarkFilteringSet = Index (base 0) into GDEF mark glyph sets structure - if (($flag & 0x0010) == 0x0010) { - $Lookup[$i]['MarkFilteringSet'] = $this->read_ushort(); - } else { - $Lookup[$i]['MarkFilteringSet'] = ''; - } - - // Lookup Type 7: Extension - if ($Lookup[$i]['Type'] == 7) { - // Overwrites new offset (32-bit) for each subtable, and a new lookup Type - for ($c = 0; $c < $Lookup[$i]['SubtableCount']; $c++) { - $this->seek($Lookup[$i]['Subtable'][$c]['Offset']); - $ExtensionPosFormat = $this->read_ushort(); - $type = $this->read_ushort(); - $Lookup[$i]['Subtable'][$c]['Offset'] = $Lookup[$i]['Subtable'][$c]['Offset'] + $this->read_ulong(); - } - $Lookup[$i]['Type'] = $type; - } - } - -//print_r($Lookup); exit; - //===================================================================================== - // Process (1) Whole LookupList - for ($i = 0; $i < $LookupCount; $i++) { + // Lookup Type 7: Extension + if ($Lookup[$i]['Type'] == 7) { + // Overwrites new offset (32-bit) for each subtable, and a new lookup Type for ($c = 0; $c < $Lookup[$i]['SubtableCount']; $c++) { $this->seek($Lookup[$i]['Subtable'][$c]['Offset']); - $SubstFormat = $this->read_ushort(); - $Lookup[$i]['Subtable'][$c]['Format'] = $SubstFormat; + $ExtensionPosFormat = $this->read_ushort(); + $type = $this->read_ushort(); + $Lookup[$i]['Subtable'][$c]['Offset'] = $Lookup[$i]['Subtable'][$c]['Offset'] + $this->read_ulong(); + } + $Lookup[$i]['Type'] = $type; + } + } - /* - Lookup['Type'] Enumeration table for glyph substitution - Value Type Description - 1 Single Replace one glyph with one glyph - 2 Multiple Replace one glyph with more than one glyph - 3 Alternate Replace one glyph with one of many glyphs - 4 Ligature Replace multiple glyphs with one glyph - 5 Context Replace one or more glyphs in context - 6 Chaining Context Replace one or more glyphs in chained context - 7 Extension Substitution Extension mechanism for other substitutions (i.e. this excludes the Extension type substitution itself) - 8 Reverse chaining context single Applied in reverse order, replace single glyph in chaining context - */ + // Process (1) Whole LookupList + for ($i = 0; $i < $LookupCount; $i++) { + for ($c = 0; $c < $Lookup[$i]['SubtableCount']; $c++) { + $this->seek($Lookup[$i]['Subtable'][$c]['Offset']); + $SubstFormat = $this->read_ushort(); + $Lookup[$i]['Subtable'][$c]['Format'] = $SubstFormat; - // LookupType 1: Single Substitution Subtable - if ($Lookup[$i]['Type'] == 1) { - $Lookup[$i]['Subtable'][$c]['CoverageTableOffset'] = $Lookup[$i]['Subtable'][$c]['Offset'] + $this->read_ushort(); - if ($SubstFormat == 1) { // Calculated output glyph indices - $Lookup[$i]['Subtable'][$c]['DeltaGlyphID'] = $this->read_short(); - } else if ($SubstFormat == 2) { // Specified output glyph indices - $GlyphCount = $this->read_ushort(); - for ($g = 0; $g < $GlyphCount; $g++) { - $Lookup[$i]['Subtable'][$c]['Glyphs'][] = $this->read_ushort(); - } - } - } // LookupType 2: Multiple Substitution Subtable - else if ($Lookup[$i]['Type'] == 2) { - $Lookup[$i]['Subtable'][$c]['CoverageTableOffset'] = $Lookup[$i]['Subtable'][$c]['Offset'] + $this->read_ushort(); - $Lookup[$i]['Subtable'][$c]['SequenceCount'] = $SequenceCount = $this->read_short(); - for ($s = 0; $s < $SequenceCount; $s++) { - $Lookup[$i]['Subtable'][$c]['Sequences'][$s]['Offset'] = $Lookup[$i]['Subtable'][$c]['Offset'] + $this->read_short(); - } - for ($s = 0; $s < $SequenceCount; $s++) { - // Sequence Tables - $this->seek($Lookup[$i]['Subtable'][$c]['Sequences'][$s]['Offset']); - $Lookup[$i]['Subtable'][$c]['Sequences'][$s]['GlyphCount'] = $this->read_short(); - for ($g = 0; $g < $Lookup[$i]['Subtable'][$c]['Sequences'][$s]['GlyphCount']; $g++) { - $Lookup[$i]['Subtable'][$c]['Sequences'][$s]['SubstituteGlyphID'][] = $this->read_ushort(); - } - } - } // LookupType 3: Alternate Forms - else if ($Lookup[$i]['Type'] == 3) { - $Lookup[$i]['Subtable'][$c]['CoverageTableOffset'] = $Lookup[$i]['Subtable'][$c]['Offset'] + $this->read_ushort(); - $Lookup[$i]['Subtable'][$c]['AlternateSetCount'] = $AlternateSetCount = $this->read_short(); - for ($s = 0; $s < $AlternateSetCount; $s++) { - $Lookup[$i]['Subtable'][$c]['AlternateSets'][$s]['Offset'] = $Lookup[$i]['Subtable'][$c]['Offset'] + $this->read_short(); - } + /* + Lookup['Type'] Enumeration table for glyph substitution + Value Type Description + 1 Single Replace one glyph with one glyph + 2 Multiple Replace one glyph with more than one glyph + 3 Alternate Replace one glyph with one of many glyphs + 4 Ligature Replace multiple glyphs with one glyph + 5 Context Replace one or more glyphs in context + 6 Chaining Context Replace one or more glyphs in chained context + 7 Extension Substitution Extension mechanism for other substitutions (i.e. this excludes the Extension type substitution itself) + 8 Reverse chaining context single Applied in reverse order, replace single glyph in chaining context + */ - for ($s = 0; $s < $AlternateSetCount; $s++) { - // AlternateSet Tables - $this->seek($Lookup[$i]['Subtable'][$c]['AlternateSets'][$s]['Offset']); - $Lookup[$i]['Subtable'][$c]['AlternateSets'][$s]['GlyphCount'] = $this->read_short(); - for ($g = 0; $g < $Lookup[$i]['Subtable'][$c]['AlternateSets'][$s]['GlyphCount']; $g++) { - $Lookup[$i]['Subtable'][$c]['AlternateSets'][$s]['SubstituteGlyphID'][] = $this->read_ushort(); + // LookupType 1: Single Substitution Subtable + if ($Lookup[$i]['Type'] == 1) { + $Lookup[$i]['Subtable'][$c]['CoverageTableOffset'] = $Lookup[$i]['Subtable'][$c]['Offset'] + $this->read_ushort(); + if ($SubstFormat == 1) { // Calculated output glyph indices + $Lookup[$i]['Subtable'][$c]['DeltaGlyphID'] = $this->read_short(); + } elseif ($SubstFormat == 2) { // Specified output glyph indices + $GlyphCount = $this->read_ushort(); + for ($g = 0; $g < $GlyphCount; $g++) { + $Lookup[$i]['Subtable'][$c]['Glyphs'][] = $this->read_ushort(); + } + } + } // LookupType 2: Multiple Substitution Subtable + elseif ($Lookup[$i]['Type'] == 2) { + $Lookup[$i]['Subtable'][$c]['CoverageTableOffset'] = $Lookup[$i]['Subtable'][$c]['Offset'] + $this->read_ushort(); + $Lookup[$i]['Subtable'][$c]['SequenceCount'] = $SequenceCount = $this->read_short(); + for ($s = 0; $s < $SequenceCount; $s++) { + $Lookup[$i]['Subtable'][$c]['Sequences'][$s]['Offset'] = $Lookup[$i]['Subtable'][$c]['Offset'] + $this->read_short(); + } + for ($s = 0; $s < $SequenceCount; $s++) { + // Sequence Tables + $this->seek($Lookup[$i]['Subtable'][$c]['Sequences'][$s]['Offset']); + $Lookup[$i]['Subtable'][$c]['Sequences'][$s]['GlyphCount'] = $this->read_short(); + for ($g = 0; $g < $Lookup[$i]['Subtable'][$c]['Sequences'][$s]['GlyphCount']; $g++) { + $Lookup[$i]['Subtable'][$c]['Sequences'][$s]['SubstituteGlyphID'][] = $this->read_ushort(); + } + } + } // LookupType 3: Alternate Forms + elseif ($Lookup[$i]['Type'] == 3) { + $Lookup[$i]['Subtable'][$c]['CoverageTableOffset'] = $Lookup[$i]['Subtable'][$c]['Offset'] + $this->read_ushort(); + $Lookup[$i]['Subtable'][$c]['AlternateSetCount'] = $AlternateSetCount = $this->read_short(); + for ($s = 0; $s < $AlternateSetCount; $s++) { + $Lookup[$i]['Subtable'][$c]['AlternateSets'][$s]['Offset'] = $Lookup[$i]['Subtable'][$c]['Offset'] + $this->read_short(); + } + + for ($s = 0; $s < $AlternateSetCount; $s++) { + // AlternateSet Tables + $this->seek($Lookup[$i]['Subtable'][$c]['AlternateSets'][$s]['Offset']); + $Lookup[$i]['Subtable'][$c]['AlternateSets'][$s]['GlyphCount'] = $this->read_short(); + for ($g = 0; $g < $Lookup[$i]['Subtable'][$c]['AlternateSets'][$s]['GlyphCount']; $g++) { + $Lookup[$i]['Subtable'][$c]['AlternateSets'][$s]['SubstituteGlyphID'][] = $this->read_ushort(); + } + } + } // LookupType 4: Ligature Substitution Subtable + elseif ($Lookup[$i]['Type'] == 4) { + $Lookup[$i]['Subtable'][$c]['CoverageTableOffset'] = $Lookup[$i]['Subtable'][$c]['Offset'] + $this->read_ushort(); + $Lookup[$i]['Subtable'][$c]['LigSetCount'] = $LigSetCount = $this->read_short(); + for ($s = 0; $s < $LigSetCount; $s++) { + $Lookup[$i]['Subtable'][$c]['LigSet'][$s]['Offset'] = $Lookup[$i]['Subtable'][$c]['Offset'] + $this->read_short(); + } + for ($s = 0; $s < $LigSetCount; $s++) { + // LigatureSet Tables + $this->seek($Lookup[$i]['Subtable'][$c]['LigSet'][$s]['Offset']); + $Lookup[$i]['Subtable'][$c]['LigSet'][$s]['LigCount'] = $this->read_short(); + for ($g = 0; $g < $Lookup[$i]['Subtable'][$c]['LigSet'][$s]['LigCount']; $g++) { + $Lookup[$i]['Subtable'][$c]['LigSet'][$s]['LigatureOffset'][$g] = $Lookup[$i]['Subtable'][$c]['LigSet'][$s]['Offset'] + $this->read_ushort(); + } + } + for ($s = 0; $s < $LigSetCount; $s++) { + for ($g = 0; $g < $Lookup[$i]['Subtable'][$c]['LigSet'][$s]['LigCount']; $g++) { + // Ligature tables + $this->seek($Lookup[$i]['Subtable'][$c]['LigSet'][$s]['LigatureOffset'][$g]); + $Lookup[$i]['Subtable'][$c]['LigSet'][$s]['Ligature'][$g]['LigGlyph'] = $this->read_ushort(); + $Lookup[$i]['Subtable'][$c]['LigSet'][$s]['Ligature'][$g]['CompCount'] = $this->read_ushort(); + for ($l = 1; $l < $Lookup[$i]['Subtable'][$c]['LigSet'][$s]['Ligature'][$g]['CompCount']; $l++) { + $Lookup[$i]['Subtable'][$c]['LigSet'][$s]['Ligature'][$g]['GlyphID'][$l] = $this->read_ushort(); } } - } // LookupType 4: Ligature Substitution Subtable - else if ($Lookup[$i]['Type'] == 4) { + } + } // LookupType 5: Contextual Substitution Subtable + elseif ($Lookup[$i]['Type'] == 5) { + // Format 1: Context Substitution + if ($SubstFormat == 1) { $Lookup[$i]['Subtable'][$c]['CoverageTableOffset'] = $Lookup[$i]['Subtable'][$c]['Offset'] + $this->read_ushort(); - $Lookup[$i]['Subtable'][$c]['LigSetCount'] = $LigSetCount = $this->read_short(); - for ($s = 0; $s < $LigSetCount; $s++) { - $Lookup[$i]['Subtable'][$c]['LigSet'][$s]['Offset'] = $Lookup[$i]['Subtable'][$c]['Offset'] + $this->read_short(); + $Lookup[$i]['Subtable'][$c]['SubRuleSetCount'] = $SubRuleSetCount = $this->read_short(); + for ($s = 0; $s < $SubRuleSetCount; $s++) { + $Lookup[$i]['Subtable'][$c]['SubRuleSet'][$s]['Offset'] = $Lookup[$i]['Subtable'][$c]['Offset'] + $this->read_short(); } - for ($s = 0; $s < $LigSetCount; $s++) { - // LigatureSet Tables - $this->seek($Lookup[$i]['Subtable'][$c]['LigSet'][$s]['Offset']); - $Lookup[$i]['Subtable'][$c]['LigSet'][$s]['LigCount'] = $this->read_short(); - for ($g = 0; $g < $Lookup[$i]['Subtable'][$c]['LigSet'][$s]['LigCount']; $g++) { - $Lookup[$i]['Subtable'][$c]['LigSet'][$s]['LigatureOffset'][$g] = $Lookup[$i]['Subtable'][$c]['LigSet'][$s]['Offset'] + $this->read_ushort(); + for ($s = 0; $s < $SubRuleSetCount; $s++) { + // SubRuleSet Tables + $this->seek($Lookup[$i]['Subtable'][$c]['SubRuleSet'][$s]['Offset']); + $Lookup[$i]['Subtable'][$c]['SubRuleSet'][$s]['SubRuleCount'] = $this->read_short(); + for ($g = 0; $g < $Lookup[$i]['Subtable'][$c]['SubRuleSet'][$s]['SubRuleCount']; $g++) { + $Lookup[$i]['Subtable'][$c]['SubRuleSet'][$s]['SubRuleOffset'][$g] = $Lookup[$i]['Subtable'][$c]['SubRuleSet'][$s]['Offset'] + $this->read_ushort(); } } - for ($s = 0; $s < $LigSetCount; $s++) { - for ($g = 0; $g < $Lookup[$i]['Subtable'][$c]['LigSet'][$s]['LigCount']; $g++) { + for ($s = 0; $s < $SubRuleSetCount; $s++) { + // SubRule Tables + for ($g = 0; $g < $Lookup[$i]['Subtable'][$c]['SubRuleSet'][$s]['SubRuleCount']; $g++) { // Ligature tables - $this->seek($Lookup[$i]['Subtable'][$c]['LigSet'][$s]['LigatureOffset'][$g]); - $Lookup[$i]['Subtable'][$c]['LigSet'][$s]['Ligature'][$g]['LigGlyph'] = $this->read_ushort(); - $Lookup[$i]['Subtable'][$c]['LigSet'][$s]['Ligature'][$g]['CompCount'] = $this->read_ushort(); - for ($l = 1; $l < $Lookup[$i]['Subtable'][$c]['LigSet'][$s]['Ligature'][$g]['CompCount']; $l++) { - $Lookup[$i]['Subtable'][$c]['LigSet'][$s]['Ligature'][$g]['GlyphID'][$l] = $this->read_ushort(); - } - } - } - } // LookupType 5: Contextual Substitution Subtable - else if ($Lookup[$i]['Type'] == 5) { - // Format 1: Context Substitution - if ($SubstFormat == 1) { - $Lookup[$i]['Subtable'][$c]['CoverageTableOffset'] = $Lookup[$i]['Subtable'][$c]['Offset'] + $this->read_ushort(); - $Lookup[$i]['Subtable'][$c]['SubRuleSetCount'] = $SubRuleSetCount = $this->read_short(); - for ($s = 0; $s < $SubRuleSetCount; $s++) { - $Lookup[$i]['Subtable'][$c]['SubRuleSet'][$s]['Offset'] = $Lookup[$i]['Subtable'][$c]['Offset'] + $this->read_short(); - } - for ($s = 0; $s < $SubRuleSetCount; $s++) { - // SubRuleSet Tables - $this->seek($Lookup[$i]['Subtable'][$c]['SubRuleSet'][$s]['Offset']); - $Lookup[$i]['Subtable'][$c]['SubRuleSet'][$s]['SubRuleCount'] = $this->read_short(); - for ($g = 0; $g < $Lookup[$i]['Subtable'][$c]['SubRuleSet'][$s]['SubRuleCount']; $g++) { - $Lookup[$i]['Subtable'][$c]['SubRuleSet'][$s]['SubRuleOffset'][$g] = $Lookup[$i]['Subtable'][$c]['SubRuleSet'][$s]['Offset'] + $this->read_ushort(); - } - } - for ($s = 0; $s < $SubRuleSetCount; $s++) { - // SubRule Tables - for ($g = 0; $g < $Lookup[$i]['Subtable'][$c]['SubRuleSet'][$s]['SubRuleCount']; $g++) { - // Ligature tables - $this->seek($Lookup[$i]['Subtable'][$c]['SubRuleSet'][$s]['SubRuleOffset'][$g]); + $this->seek($Lookup[$i]['Subtable'][$c]['SubRuleSet'][$s]['SubRuleOffset'][$g]); - $Lookup[$i]['Subtable'][$c]['SubRuleSet'][$s]['SubRule'][$g]['GlyphCount'] = $this->read_ushort(); - $Lookup[$i]['Subtable'][$c]['SubRuleSet'][$s]['SubRule'][$g]['SubstCount'] = $this->read_ushort(); - // "Input"::[GlyphCount - 1]::Array of input GlyphIDs-start with second glyph - for ($l = 1; $l < $Lookup[$i]['Subtable'][$c]['SubRuleSet'][$s]['SubRule'][$g]['GlyphCount']; $l++) { - $Lookup[$i]['Subtable'][$c]['SubRuleSet'][$s]['SubRule'][$g]['Input'][$l] = $this->read_ushort(); - } - // "SubstLookupRecord"::[SubstCount]::Array of SubstLookupRecords-in design order - for ($l = 0; $l < $Lookup[$i]['Subtable'][$c]['SubRuleSet'][$s]['SubRule'][$g]['SubstCount']; $l++) { - $Lookup[$i]['Subtable'][$c]['SubRuleSet'][$s]['SubRule'][$g]['SubstLookupRecord'][$l]['SequenceIndex'] = $this->read_ushort(); - $Lookup[$i]['Subtable'][$c]['SubRuleSet'][$s]['SubRule'][$g]['SubstLookupRecord'][$l]['LookupListIndex'] = $this->read_ushort(); - } + $Lookup[$i]['Subtable'][$c]['SubRuleSet'][$s]['SubRule'][$g]['GlyphCount'] = $this->read_ushort(); + $Lookup[$i]['Subtable'][$c]['SubRuleSet'][$s]['SubRule'][$g]['SubstCount'] = $this->read_ushort(); + // "Input"::[GlyphCount - 1]::Array of input GlyphIDs-start with second glyph + for ($l = 1; $l < $Lookup[$i]['Subtable'][$c]['SubRuleSet'][$s]['SubRule'][$g]['GlyphCount']; $l++) { + $Lookup[$i]['Subtable'][$c]['SubRuleSet'][$s]['SubRule'][$g]['Input'][$l] = $this->read_ushort(); + } + // "SubstLookupRecord"::[SubstCount]::Array of SubstLookupRecords-in design order + for ($l = 0; $l < $Lookup[$i]['Subtable'][$c]['SubRuleSet'][$s]['SubRule'][$g]['SubstCount']; $l++) { + $Lookup[$i]['Subtable'][$c]['SubRuleSet'][$s]['SubRule'][$g]['SubstLookupRecord'][$l]['SequenceIndex'] = $this->read_ushort(); + $Lookup[$i]['Subtable'][$c]['SubRuleSet'][$s]['SubRule'][$g]['SubstLookupRecord'][$l]['LookupListIndex'] = $this->read_ushort(); } } - } // Format 2: Class-based Context Glyph Substitution - else if ($SubstFormat == 2) { - $Lookup[$i]['Subtable'][$c]['CoverageTableOffset'] = $Lookup[$i]['Subtable'][$c]['Offset'] + $this->read_ushort(); - $Lookup[$i]['Subtable'][$c]['ClassDefOffset'] = $Lookup[$i]['Subtable'][$c]['Offset'] + $this->read_ushort(); - $Lookup[$i]['Subtable'][$c]['SubClassSetCnt'] = $this->read_ushort(); - for ($b = 0; $b < $Lookup[$i]['Subtable'][$c]['SubClassSetCnt']; $b++) { - $offset = $this->read_ushort(); - if ($offset == 0x0000) { - $Lookup[$i]['Subtable'][$c]['SubClassSetOffset'][] = 0; - } else { - $Lookup[$i]['Subtable'][$c]['SubClassSetOffset'][] = $Lookup[$i]['Subtable'][$c]['Offset'] + $offset; - } - } - } else { - throw new \Mpdf\MpdfException("GPOS Lookup Type " . $Lookup[$i]['Type'] . ", Format " . $SubstFormat . " not supported (ttfontsuni.php)."); } - } // LookupType 6: Chaining Contextual Substitution Subtable - else if ($Lookup[$i]['Type'] == 6) { - // Format 1: Simple Chaining Context Glyph Substitution p255 - if ($SubstFormat == 1) { - $Lookup[$i]['Subtable'][$c]['CoverageTableOffset'] = $Lookup[$i]['Subtable'][$c]['Offset'] + $this->read_ushort(); - $Lookup[$i]['Subtable'][$c]['ChainSubRuleSetCount'] = $this->read_ushort(); - for ($b = 0; $b < $Lookup[$i]['Subtable'][$c]['ChainSubRuleSetCount']; $b++) { - $Lookup[$i]['Subtable'][$c]['ChainSubRuleSetOffset'][] = $Lookup[$i]['Subtable'][$c]['Offset'] + $this->read_ushort(); - } - } // Format 2: Class-based Chaining Context Glyph Substitution p257 - else if ($SubstFormat == 2) { - $Lookup[$i]['Subtable'][$c]['CoverageTableOffset'] = $Lookup[$i]['Subtable'][$c]['Offset'] + $this->read_ushort(); - $Lookup[$i]['Subtable'][$c]['BacktrackClassDefOffset'] = $Lookup[$i]['Subtable'][$c]['Offset'] + $this->read_ushort(); - $Lookup[$i]['Subtable'][$c]['InputClassDefOffset'] = $Lookup[$i]['Subtable'][$c]['Offset'] + $this->read_ushort(); - $Lookup[$i]['Subtable'][$c]['LookaheadClassDefOffset'] = $Lookup[$i]['Subtable'][$c]['Offset'] + $this->read_ushort(); - $Lookup[$i]['Subtable'][$c]['ChainSubClassSetCnt'] = $this->read_ushort(); - for ($b = 0; $b < $Lookup[$i]['Subtable'][$c]['ChainSubClassSetCnt']; $b++) { - $offset = $this->read_ushort(); - if ($offset == 0x0000) { - $Lookup[$i]['Subtable'][$c]['ChainSubClassSetOffset'][] = $offset; - } else { - $Lookup[$i]['Subtable'][$c]['ChainSubClassSetOffset'][] = $Lookup[$i]['Subtable'][$c]['Offset'] + $offset; - } - } - } // Format 3: Coverage-based Chaining Context Glyph Substitution p259 - else if ($SubstFormat == 3) { - $Lookup[$i]['Subtable'][$c]['BacktrackGlyphCount'] = $this->read_ushort(); - for ($b = 0; $b < $Lookup[$i]['Subtable'][$c]['BacktrackGlyphCount']; $b++) { - $Lookup[$i]['Subtable'][$c]['CoverageBacktrack'][] = $Lookup[$i]['Subtable'][$c]['Offset'] + $this->read_ushort(); - } - $Lookup[$i]['Subtable'][$c]['InputGlyphCount'] = $this->read_ushort(); - for ($b = 0; $b < $Lookup[$i]['Subtable'][$c]['InputGlyphCount']; $b++) { - $Lookup[$i]['Subtable'][$c]['CoverageInput'][] = $Lookup[$i]['Subtable'][$c]['Offset'] + $this->read_ushort(); - } - $Lookup[$i]['Subtable'][$c]['LookaheadGlyphCount'] = $this->read_ushort(); - for ($b = 0; $b < $Lookup[$i]['Subtable'][$c]['LookaheadGlyphCount']; $b++) { - $Lookup[$i]['Subtable'][$c]['CoverageLookahead'][] = $Lookup[$i]['Subtable'][$c]['Offset'] + $this->read_ushort(); - } - $Lookup[$i]['Subtable'][$c]['SubstCount'] = $this->read_ushort(); - for ($b = 0; $b < $Lookup[$i]['Subtable'][$c]['SubstCount']; $b++) { - $Lookup[$i]['Subtable'][$c]['SubstLookupRecord'][$b]['SequenceIndex'] = $this->read_ushort(); - $Lookup[$i]['Subtable'][$c]['SubstLookupRecord'][$b]['LookupListIndex'] = $this->read_ushort(); - /* - Substitution Lookup Record - All contextual substitution subtables specify the substitution data in a Substitution Lookup Record (SubstLookupRecord). Each record contains a SequenceIndex, which indicates the position where the substitution will occur in the glyph sequence. In addition, a LookupListIndex identifies the lookup to be applied at the glyph position specified by the SequenceIndex. - */ + } // Format 2: Class-based Context Glyph Substitution + elseif ($SubstFormat == 2) { + $Lookup[$i]['Subtable'][$c]['CoverageTableOffset'] = $Lookup[$i]['Subtable'][$c]['Offset'] + $this->read_ushort(); + $Lookup[$i]['Subtable'][$c]['ClassDefOffset'] = $Lookup[$i]['Subtable'][$c]['Offset'] + $this->read_ushort(); + $Lookup[$i]['Subtable'][$c]['SubClassSetCnt'] = $this->read_ushort(); + for ($b = 0; $b < $Lookup[$i]['Subtable'][$c]['SubClassSetCnt']; $b++) { + $offset = $this->read_ushort(); + if ($offset == 0x0000) { + $Lookup[$i]['Subtable'][$c]['SubClassSetOffset'][] = 0; + } else { + $Lookup[$i]['Subtable'][$c]['SubClassSetOffset'][] = $Lookup[$i]['Subtable'][$c]['Offset'] + $offset; } } } else { - throw new \Mpdf\MpdfException("Lookup Type " . $Lookup[$i]['Type'] . " not supported."); + throw new \Mpdf\Exception\FontException("GPOS Lookup Type " . $Lookup[$i]['Type'] . ", Format " . $SubstFormat . " not supported (ttfontsuni.php)."); } + } // LookupType 6: Chaining Contextual Substitution Subtable + elseif ($Lookup[$i]['Type'] == 6) { + // Format 1: Simple Chaining Context Glyph Substitution p255 + if ($SubstFormat == 1) { + $Lookup[$i]['Subtable'][$c]['CoverageTableOffset'] = $Lookup[$i]['Subtable'][$c]['Offset'] + $this->read_ushort(); + $Lookup[$i]['Subtable'][$c]['ChainSubRuleSetCount'] = $this->read_ushort(); + for ($b = 0; $b < $Lookup[$i]['Subtable'][$c]['ChainSubRuleSetCount']; $b++) { + $Lookup[$i]['Subtable'][$c]['ChainSubRuleSetOffset'][] = $Lookup[$i]['Subtable'][$c]['Offset'] + $this->read_ushort(); + } + } // Format 2: Class-based Chaining Context Glyph Substitution p257 + elseif ($SubstFormat == 2) { + $Lookup[$i]['Subtable'][$c]['CoverageTableOffset'] = $Lookup[$i]['Subtable'][$c]['Offset'] + $this->read_ushort(); + $Lookup[$i]['Subtable'][$c]['BacktrackClassDefOffset'] = $Lookup[$i]['Subtable'][$c]['Offset'] + $this->read_ushort(); + $Lookup[$i]['Subtable'][$c]['InputClassDefOffset'] = $Lookup[$i]['Subtable'][$c]['Offset'] + $this->read_ushort(); + $Lookup[$i]['Subtable'][$c]['LookaheadClassDefOffset'] = $Lookup[$i]['Subtable'][$c]['Offset'] + $this->read_ushort(); + $Lookup[$i]['Subtable'][$c]['ChainSubClassSetCnt'] = $this->read_ushort(); + for ($b = 0; $b < $Lookup[$i]['Subtable'][$c]['ChainSubClassSetCnt']; $b++) { + $offset = $this->read_ushort(); + if ($offset == 0x0000) { + $Lookup[$i]['Subtable'][$c]['ChainSubClassSetOffset'][] = $offset; + } else { + $Lookup[$i]['Subtable'][$c]['ChainSubClassSetOffset'][] = $Lookup[$i]['Subtable'][$c]['Offset'] + $offset; + } + } + } // Format 3: Coverage-based Chaining Context Glyph Substitution p259 + elseif ($SubstFormat == 3) { + $Lookup[$i]['Subtable'][$c]['BacktrackGlyphCount'] = $this->read_ushort(); + for ($b = 0; $b < $Lookup[$i]['Subtable'][$c]['BacktrackGlyphCount']; $b++) { + $Lookup[$i]['Subtable'][$c]['CoverageBacktrack'][] = $Lookup[$i]['Subtable'][$c]['Offset'] + $this->read_ushort(); + } + $Lookup[$i]['Subtable'][$c]['InputGlyphCount'] = $this->read_ushort(); + for ($b = 0; $b < $Lookup[$i]['Subtable'][$c]['InputGlyphCount']; $b++) { + $Lookup[$i]['Subtable'][$c]['CoverageInput'][] = $Lookup[$i]['Subtable'][$c]['Offset'] + $this->read_ushort(); + } + $Lookup[$i]['Subtable'][$c]['LookaheadGlyphCount'] = $this->read_ushort(); + for ($b = 0; $b < $Lookup[$i]['Subtable'][$c]['LookaheadGlyphCount']; $b++) { + $Lookup[$i]['Subtable'][$c]['CoverageLookahead'][] = $Lookup[$i]['Subtable'][$c]['Offset'] + $this->read_ushort(); + } + $Lookup[$i]['Subtable'][$c]['SubstCount'] = $this->read_ushort(); + for ($b = 0; $b < $Lookup[$i]['Subtable'][$c]['SubstCount']; $b++) { + $Lookup[$i]['Subtable'][$c]['SubstLookupRecord'][$b]['SequenceIndex'] = $this->read_ushort(); + $Lookup[$i]['Subtable'][$c]['SubstLookupRecord'][$b]['LookupListIndex'] = $this->read_ushort(); + // Substitution Lookup Record + // All contextual substitution subtables specify the substitution data in a Substitution Lookup Record + // (SubstLookupRecord). Each record contains a SequenceIndex, which indicates the position where the substitution + // will occur in the glyph sequence. In addition, a LookupListIndex identifies the lookup to be applied at the + // glyph position specified by the SequenceIndex. + } + } + } else { + throw new \Mpdf\Exception\FontException(sprintf('Lookup Type "%s" not supported.', $Lookup[$i]['Type'])); } } -//print_r($Lookup); exit; - //===================================================================================== - // Process (2) Whole LookupList - // Get Coverage tables and prepare preg_replace - for ($i = 0; $i < $LookupCount; $i++) { - for ($c = 0; $c < $Lookup[$i]['SubtableCount']; $c++) { - $SubstFormat = $Lookup[$i]['Subtable'][$c]['Format']; + } - // LookupType 1: Single Substitution Subtable 1 => 1 - if ($Lookup[$i]['Type'] == 1) { - $this->seek($Lookup[$i]['Subtable'][$c]['CoverageTableOffset']); - $glyphs = $this->_getCoverage(false); - for ($g = 0; $g < count($glyphs); $g++) { - $replace = []; - $substitute = []; - $replace[] = unicode_hex($this->glyphToChar[$glyphs[$g]][0]); - // Flag = Ignore - if ($this->_checkGSUBignore($Lookup[$i]['Flag'], $replace[0], $Lookup[$i]['MarkFilteringSet'])) { - continue; - } - if (isset($Lookup[$i]['Subtable'][$c]['DeltaGlyphID'])) { // Format 1 - $substitute[] = unicode_hex($this->glyphToChar[($glyphs[$g] + $Lookup[$i]['Subtable'][$c]['DeltaGlyphID'])][0]); - } else { // Format 2 - $substitute[] = unicode_hex($this->glyphToChar[($Lookup[$i]['Subtable'][$c]['Glyphs'][$g])][0]); - } - $Lookup[$i]['Subtable'][$c]['subs'][] = ['Replace' => $replace, 'substitute' => $substitute]; + // Process (2) Whole LookupList + // Get Coverage tables and prepare preg_replace + for ($i = 0; $i < $LookupCount; $i++) { + for ($c = 0; $c < $Lookup[$i]['SubtableCount']; $c++) { + $SubstFormat = $Lookup[$i]['Subtable'][$c]['Format']; + + // LookupType 1: Single Substitution Subtable 1 => 1 + if ($Lookup[$i]['Type'] == 1) { + $this->seek($Lookup[$i]['Subtable'][$c]['CoverageTableOffset']); + $glyphs = $this->_getCoverage(false); + for ($g = 0; $g < count($glyphs); $g++) { + $replace = []; + $substitute = []; + $replace[] = unicode_hex($this->glyphToChar[$glyphs[$g]][0]); + // Flag = Ignore + if ($this->_checkGSUBignore($Lookup[$i]['Flag'], $replace[0], $Lookup[$i]['MarkFilteringSet'])) { + continue; } - } // LookupType 2: Multiple Substitution Subtable 1 => n - else if ($Lookup[$i]['Type'] == 2) { - $this->seek($Lookup[$i]['Subtable'][$c]['CoverageTableOffset']); - $glyphs = $this->_getCoverage(); - for ($g = 0; $g < count($glyphs); $g++) { - $replace = []; - $substitute = []; - $replace[] = $glyphs[$g]; - // Flag = Ignore - if ($this->_checkGSUBignore($Lookup[$i]['Flag'], $replace[0], $Lookup[$i]['MarkFilteringSet'])) { - continue; - } - if (!isset($Lookup[$i]['Subtable'][$c]['Sequences'][$g]['SubstituteGlyphID']) || count($Lookup[$i]['Subtable'][$c]['Sequences'][$g]['SubstituteGlyphID']) == 0) { - continue; - } // Illegal for GlyphCount to be 0; either error in font, or something has gone wrong - lets carry on for now! - foreach ($Lookup[$i]['Subtable'][$c]['Sequences'][$g]['SubstituteGlyphID'] as $sub) { - $substitute[] = unicode_hex($this->glyphToChar[$sub][0]); - } - $Lookup[$i]['Subtable'][$c]['subs'][] = ['Replace' => $replace, 'substitute' => $substitute]; + if (isset($Lookup[$i]['Subtable'][$c]['DeltaGlyphID'])) { // Format 1 + $substitute[] = unicode_hex($this->glyphToChar[($glyphs[$g] + $Lookup[$i]['Subtable'][$c]['DeltaGlyphID'])][0]); + } else { // Format 2 + $substitute[] = unicode_hex($this->glyphToChar[($Lookup[$i]['Subtable'][$c]['Glyphs'][$g])][0]); } - } // LookupType 3: Alternate Forms 1 => 1 (only first alternate form is used) - else if ($Lookup[$i]['Type'] == 3) { - $this->seek($Lookup[$i]['Subtable'][$c]['CoverageTableOffset']); - $glyphs = $this->_getCoverage(); - for ($g = 0; $g < count($glyphs); $g++) { + $Lookup[$i]['Subtable'][$c]['subs'][] = ['Replace' => $replace, 'substitute' => $substitute]; + } + } // LookupType 2: Multiple Substitution Subtable 1 => n + elseif ($Lookup[$i]['Type'] == 2) { + $this->seek($Lookup[$i]['Subtable'][$c]['CoverageTableOffset']); + $glyphs = $this->_getCoverage(); + for ($g = 0; $g < count($glyphs); $g++) { + $replace = []; + $substitute = []; + $replace[] = $glyphs[$g]; + // Flag = Ignore + if ($this->_checkGSUBignore($Lookup[$i]['Flag'], $replace[0], $Lookup[$i]['MarkFilteringSet'])) { + continue; + } + if (!isset($Lookup[$i]['Subtable'][$c]['Sequences'][$g]['SubstituteGlyphID']) || count($Lookup[$i]['Subtable'][$c]['Sequences'][$g]['SubstituteGlyphID']) == 0) { + continue; + } // Illegal for GlyphCount to be 0; either error in font, or something has gone wrong - lets carry on for now! + foreach ($Lookup[$i]['Subtable'][$c]['Sequences'][$g]['SubstituteGlyphID'] as $sub) { + $substitute[] = unicode_hex($this->glyphToChar[$sub][0]); + } + $Lookup[$i]['Subtable'][$c]['subs'][] = ['Replace' => $replace, 'substitute' => $substitute]; + } + } // LookupType 3: Alternate Forms 1 => 1 (only first alternate form is used) + elseif ($Lookup[$i]['Type'] == 3) { + $this->seek($Lookup[$i]['Subtable'][$c]['CoverageTableOffset']); + $glyphs = $this->_getCoverage(); + for ($g = 0; $g < count($glyphs); $g++) { + $replace = []; + $substitute = []; + $replace[] = $glyphs[$g]; + // Flag = Ignore + if ($this->_checkGSUBignore($Lookup[$i]['Flag'], $replace[0], $Lookup[$i]['MarkFilteringSet'])) { + continue; + } + $gid = $Lookup[$i]['Subtable'][$c]['AlternateSets'][$g]['SubstituteGlyphID'][0]; + if (!isset($this->glyphToChar[$gid][0])) { + continue; + } + $substitute[] = unicode_hex($this->glyphToChar[$gid][0]); + $Lookup[$i]['Subtable'][$c]['subs'][] = ['Replace' => $replace, 'substitute' => $substitute]; + } + } // LookupType 4: Ligature Substitution Subtable n => 1 + elseif ($Lookup[$i]['Type'] == 4) { + $this->seek($Lookup[$i]['Subtable'][$c]['CoverageTableOffset']); + $glyphs = $this->_getCoverage(); + $LigSetCount = $Lookup[$i]['Subtable'][$c]['LigSetCount']; + for ($s = 0; $s < $LigSetCount; $s++) { + for ($g = 0; $g < $Lookup[$i]['Subtable'][$c]['LigSet'][$s]['LigCount']; $g++) { $replace = []; $substitute = []; - $replace[] = $glyphs[$g]; + $replace[] = $glyphs[$s]; // Flag = Ignore if ($this->_checkGSUBignore($Lookup[$i]['Flag'], $replace[0], $Lookup[$i]['MarkFilteringSet'])) { continue; } - $gid = $Lookup[$i]['Subtable'][$c]['AlternateSets'][$g]['SubstituteGlyphID'][0]; + for ($l = 1; $l < $Lookup[$i]['Subtable'][$c]['LigSet'][$s]['Ligature'][$g]['CompCount']; $l++) { + $gid = $Lookup[$i]['Subtable'][$c]['LigSet'][$s]['Ligature'][$g]['GlyphID'][$l]; + $rpl = unicode_hex($this->glyphToChar[$gid][0]); + // Flag = Ignore + if ($this->_checkGSUBignore($Lookup[$i]['Flag'], $rpl, $Lookup[$i]['MarkFilteringSet'])) { + continue 2; + } + $replace[] = $rpl; + } + $gid = $Lookup[$i]['Subtable'][$c]['LigSet'][$s]['Ligature'][$g]['LigGlyph']; if (!isset($this->glyphToChar[$gid][0])) { continue; } $substitute[] = unicode_hex($this->glyphToChar[$gid][0]); - $Lookup[$i]['Subtable'][$c]['subs'][] = ['Replace' => $replace, 'substitute' => $substitute]; + $Lookup[$i]['Subtable'][$c]['subs'][] = ['Replace' => $replace, 'substitute' => $substitute, 'CompCount' => $Lookup[$i]['Subtable'][$c]['LigSet'][$s]['Ligature'][$g]['CompCount']]; } - } // LookupType 4: Ligature Substitution Subtable n => 1 - else if ($Lookup[$i]['Type'] == 4) { + } + } // LookupType 5: Contextual Substitution Subtable + elseif ($Lookup[$i]['Type'] == 5) { + // Format 1: Context Substitution + if ($SubstFormat == 1) { $this->seek($Lookup[$i]['Subtable'][$c]['CoverageTableOffset']); - $glyphs = $this->_getCoverage(); - $LigSetCount = $Lookup[$i]['Subtable'][$c]['LigSetCount']; - for ($s = 0; $s < $LigSetCount; $s++) { - for ($g = 0; $g < $Lookup[$i]['Subtable'][$c]['LigSet'][$s]['LigCount']; $g++) { - $replace = []; - $substitute = []; - $replace[] = $glyphs[$s]; - // Flag = Ignore - if ($this->_checkGSUBignore($Lookup[$i]['Flag'], $replace[0], $Lookup[$i]['MarkFilteringSet'])) { - continue; + $Lookup[$i]['Subtable'][$c]['CoverageGlyphs'] = $CoverageGlyphs = $this->_getCoverage(); + + for ($s = 0; $s < $Lookup[$i]['Subtable'][$c]['SubRuleSetCount']; $s++) { + $SubRuleSet = $Lookup[$i]['Subtable'][$c]['SubRuleSet'][$s]; + $Lookup[$i]['Subtable'][$c]['SubRuleSet'][$s]['FirstGlyph'] = $CoverageGlyphs[$s]; + for ($r = 0; $r < $Lookup[$i]['Subtable'][$c]['SubRuleSet'][$s]['SubRuleCount']; $r++) { + $GlyphCount = $Lookup[$i]['Subtable'][$c]['SubRuleSet'][$s]['SubRule'][$r]['GlyphCount']; + for ($g = 1; $g < $GlyphCount; $g++) { + $glyphID = $Lookup[$i]['Subtable'][$c]['SubRuleSet'][$s]['SubRule'][$r]['Input'][$g]; + $Lookup[$i]['Subtable'][$c]['SubRuleSet'][$s]['SubRule'][$r]['InputGlyphs'][$g] = unicode_hex($this->glyphToChar[$glyphID][0]); } - for ($l = 1; $l < $Lookup[$i]['Subtable'][$c]['LigSet'][$s]['Ligature'][$g]['CompCount']; $l++) { - $gid = $Lookup[$i]['Subtable'][$c]['LigSet'][$s]['Ligature'][$g]['GlyphID'][$l]; - $rpl = unicode_hex($this->glyphToChar[$gid][0]); - // Flag = Ignore - if ($this->_checkGSUBignore($Lookup[$i]['Flag'], $rpl, $Lookup[$i]['MarkFilteringSet'])) { - continue 2; - } - $replace[] = $rpl; - } - $gid = $Lookup[$i]['Subtable'][$c]['LigSet'][$s]['Ligature'][$g]['LigGlyph']; - if (!isset($this->glyphToChar[$gid][0])) { - continue; - } - $substitute[] = unicode_hex($this->glyphToChar[$gid][0]); - $Lookup[$i]['Subtable'][$c]['subs'][] = ['Replace' => $replace, 'substitute' => $substitute, 'CompCount' => $Lookup[$i]['Subtable'][$c]['LigSet'][$s]['Ligature'][$g]['CompCount']]; } } - } // LookupType 5: Contextual Substitution Subtable - else if ($Lookup[$i]['Type'] == 5) { - // Format 1: Context Substitution - if ($SubstFormat == 1) { - $this->seek($Lookup[$i]['Subtable'][$c]['CoverageTableOffset']); - $Lookup[$i]['Subtable'][$c]['CoverageGlyphs'] = $CoverageGlyphs = $this->_getCoverage(); + } // Format 2: Class-based Context Glyph Substitution + elseif ($SubstFormat == 2) { + $this->seek($Lookup[$i]['Subtable'][$c]['CoverageTableOffset']); + $Lookup[$i]['Subtable'][$c]['CoverageGlyphs'] = $CoverageGlyphs = $this->_getCoverage(); - for ($s = 0; $s < $Lookup[$i]['Subtable'][$c]['SubRuleSetCount']; $s++) { - $SubRuleSet = $Lookup[$i]['Subtable'][$c]['SubRuleSet'][$s]; - $Lookup[$i]['Subtable'][$c]['SubRuleSet'][$s]['FirstGlyph'] = $CoverageGlyphs[$s]; - for ($r = 0; $r < $Lookup[$i]['Subtable'][$c]['SubRuleSet'][$s]['SubRuleCount']; $r++) { - $GlyphCount = $Lookup[$i]['Subtable'][$c]['SubRuleSet'][$s]['SubRule'][$r]['GlyphCount']; - for ($g = 1; $g < $GlyphCount; $g++) { - $glyphID = $Lookup[$i]['Subtable'][$c]['SubRuleSet'][$s]['SubRule'][$r]['Input'][$g]; - $Lookup[$i]['Subtable'][$c]['SubRuleSet'][$s]['SubRule'][$r]['InputGlyphs'][$g] = unicode_hex($this->glyphToChar[$glyphID][0]); - } + $InputClasses = $this->_getClasses($Lookup[$i]['Subtable'][$c]['ClassDefOffset']); + $Lookup[$i]['Subtable'][$c]['InputClasses'] = $InputClasses; + for ($s = 0; $s < $Lookup[$i]['Subtable'][$c]['SubClassSetCnt']; $s++) { + if ($Lookup[$i]['Subtable'][$c]['SubClassSetOffset'][$s] > 0) { + $this->seek($Lookup[$i]['Subtable'][$c]['SubClassSetOffset'][$s]); + $Lookup[$i]['Subtable'][$c]['SubClassSet'][$s]['SubClassRuleCnt'] = $SubClassRuleCnt = $this->read_ushort(); + $SubClassRule = []; + for ($b = 0; $b < $SubClassRuleCnt; $b++) { + $SubClassRule[$b] = $Lookup[$i]['Subtable'][$c]['SubClassSetOffset'][$s] + $this->read_ushort(); + $Lookup[$i]['Subtable'][$c]['SubClassSet'][$s]['SubClassRule'][$b] = $SubClassRule[$b]; } } - } // Format 2: Class-based Context Glyph Substitution - else if ($SubstFormat == 2) { - $this->seek($Lookup[$i]['Subtable'][$c]['CoverageTableOffset']); - $Lookup[$i]['Subtable'][$c]['CoverageGlyphs'] = $CoverageGlyphs = $this->_getCoverage(); - - $InputClasses = $this->_getClasses($Lookup[$i]['Subtable'][$c]['ClassDefOffset']); - $Lookup[$i]['Subtable'][$c]['InputClasses'] = $InputClasses; - for ($s = 0; $s < $Lookup[$i]['Subtable'][$c]['SubClassSetCnt']; $s++) { - if ($Lookup[$i]['Subtable'][$c]['SubClassSetOffset'][$s] > 0) { - $this->seek($Lookup[$i]['Subtable'][$c]['SubClassSetOffset'][$s]); - $Lookup[$i]['Subtable'][$c]['SubClassSet'][$s]['SubClassRuleCnt'] = $SubClassRuleCnt = $this->read_ushort(); - $SubClassRule = []; - for ($b = 0; $b < $SubClassRuleCnt; $b++) { - $SubClassRule[$b] = $Lookup[$i]['Subtable'][$c]['SubClassSetOffset'][$s] + $this->read_ushort(); - $Lookup[$i]['Subtable'][$c]['SubClassSet'][$s]['SubClassRule'][$b] = $SubClassRule[$b]; - } - } - } - - for ($s = 0; $s < $Lookup[$i]['Subtable'][$c]['SubClassSetCnt']; $s++) { - if ($Lookup[$i]['Subtable'][$c]['SubClassSetOffset'][$s] > 0) { - $SubClassRuleCnt = $Lookup[$i]['Subtable'][$c]['SubClassSet'][$s]['SubClassRuleCnt']; - for ($b = 0; $b < $SubClassRuleCnt; $b++) { - $this->seek($Lookup[$i]['Subtable'][$c]['SubClassSet'][$s]['SubClassRule'][$b]); - $Rule = []; - $Rule['InputGlyphCount'] = $this->read_ushort(); - $Rule['SubstCount'] = $this->read_ushort(); - for ($r = 1; $r < $Rule['InputGlyphCount']; $r++) { - $Rule['Input'][$r] = $this->read_ushort(); - } - for ($r = 0; $r < $Rule['SubstCount']; $r++) { - $Rule['SequenceIndex'][$r] = $this->read_ushort(); - $Rule['LookupListIndex'][$r] = $this->read_ushort(); - } - - $Lookup[$i]['Subtable'][$c]['SubClassSet'][$s]['SubClassRule'][$b] = $Rule; - } - } - } - } // Format 3: Coverage-based Context Glyph Substitution - else if ($SubstFormat == 3) { - for ($b = 0; $b < $Lookup[$i]['Subtable'][$c]['InputGlyphCount']; $b++) { - $this->seek($Lookup[$i]['Subtable'][$c]['CoverageInput'][$b]); - $glyphs = $this->_getCoverage(); - $Lookup[$i]['Subtable'][$c]['CoverageInputGlyphs'][] = implode("|", $glyphs); - } - throw new \Mpdf\MpdfException("Lookup Type 5, SubstFormat 3 not tested. Please report this with the name of font used - " . $this->fontkey); } - } // LookupType 6: Chaining Contextual Substitution Subtable - else if ($Lookup[$i]['Type'] == 6) { - // Format 1: Simple Chaining Context Glyph Substitution p255 - if ($SubstFormat == 1) { - $this->seek($Lookup[$i]['Subtable'][$c]['CoverageTableOffset']); - $Lookup[$i]['Subtable'][$c]['CoverageGlyphs'] = $CoverageGlyphs = $this->_getCoverage(); - $ChainSubRuleSetCnt = $Lookup[$i]['Subtable'][$c]['ChainSubRuleSetCount']; + for ($s = 0; $s < $Lookup[$i]['Subtable'][$c]['SubClassSetCnt']; $s++) { + if ($Lookup[$i]['Subtable'][$c]['SubClassSetOffset'][$s] > 0) { + $SubClassRuleCnt = $Lookup[$i]['Subtable'][$c]['SubClassSet'][$s]['SubClassRuleCnt']; + for ($b = 0; $b < $SubClassRuleCnt; $b++) { + $this->seek($Lookup[$i]['Subtable'][$c]['SubClassSet'][$s]['SubClassRule'][$b]); + $Rule = []; + $Rule['InputGlyphCount'] = $this->read_ushort(); + $Rule['SubstCount'] = $this->read_ushort(); + for ($r = 1; $r < $Rule['InputGlyphCount']; $r++) { + $Rule['Input'][$r] = $this->read_ushort(); + } + for ($r = 0; $r < $Rule['SubstCount']; $r++) { + $Rule['SequenceIndex'][$r] = $this->read_ushort(); + $Rule['LookupListIndex'][$r] = $this->read_ushort(); + } - for ($s = 0; $s < $ChainSubRuleSetCnt; $s++) { - $this->seek($Lookup[$i]['Subtable'][$c]['ChainSubRuleSetOffset'][$s]); - $ChainSubRuleCnt = $Lookup[$i]['Subtable'][$c]['ChainSubRuleSet'][$s]['ChainSubRuleCount'] = $this->read_ushort(); - for ($r = 0; $r < $ChainSubRuleCnt; $r++) { - $Lookup[$i]['Subtable'][$c]['ChainSubRuleSet'][$s]['ChainSubRuleOffset'][$r] = $Lookup[$i]['Subtable'][$c]['ChainSubRuleSetOffset'][$s] + $this->read_ushort(); + $Lookup[$i]['Subtable'][$c]['SubClassSet'][$s]['SubClassRule'][$b] = $Rule; } } - for ($s = 0; $s < $ChainSubRuleSetCnt; $s++) { - $ChainSubRuleCnt = $Lookup[$i]['Subtable'][$c]['ChainSubRuleSet'][$s]['ChainSubRuleCount']; - for ($r = 0; $r < $ChainSubRuleCnt; $r++) { - // ChainSubRule - $this->seek($Lookup[$i]['Subtable'][$c]['ChainSubRuleSet'][$s]['ChainSubRuleOffset'][$r]); + } + } // Format 3: Coverage-based Context Glyph Substitution + elseif ($SubstFormat == 3) { + for ($b = 0; $b < $Lookup[$i]['Subtable'][$c]['InputGlyphCount']; $b++) { + $this->seek($Lookup[$i]['Subtable'][$c]['CoverageInput'][$b]); + $glyphs = $this->_getCoverage(); + $Lookup[$i]['Subtable'][$c]['CoverageInputGlyphs'][] = implode("|", $glyphs); + } + throw new \Mpdf\Exception\FontException("Lookup Type 5, SubstFormat 3 not tested. Please report this with the name of font used - " . $this->fontkey); + } + } // LookupType 6: Chaining Contextual Substitution Subtable + elseif ($Lookup[$i]['Type'] == 6) { + // Format 1: Simple Chaining Context Glyph Substitution p255 + if ($SubstFormat == 1) { + $this->seek($Lookup[$i]['Subtable'][$c]['CoverageTableOffset']); + $Lookup[$i]['Subtable'][$c]['CoverageGlyphs'] = $CoverageGlyphs = $this->_getCoverage(); - $BacktrackGlyphCount = $Lookup[$i]['Subtable'][$c]['ChainSubRuleSet'][$s]['ChainSubRule'][$r]['BacktrackGlyphCount'] = $this->read_ushort(); - for ($g = 0; $g < $BacktrackGlyphCount; $g++) { - $glyphID = $this->read_ushort(); - $Lookup[$i]['Subtable'][$c]['ChainSubRuleSet'][$s]['ChainSubRule'][$r]['BacktrackGlyphs'][$g] = unicode_hex($this->glyphToChar[$glyphID][0]); - } + $ChainSubRuleSetCnt = $Lookup[$i]['Subtable'][$c]['ChainSubRuleSetCount']; - $InputGlyphCount = $Lookup[$i]['Subtable'][$c]['ChainSubRuleSet'][$s]['ChainSubRule'][$r]['InputGlyphCount'] = $this->read_ushort(); - for ($g = 1; $g < $InputGlyphCount; $g++) { - $glyphID = $this->read_ushort(); - $Lookup[$i]['Subtable'][$c]['ChainSubRuleSet'][$s]['ChainSubRule'][$r]['InputGlyphs'][$g] = unicode_hex($this->glyphToChar[$glyphID][0]); - } + for ($s = 0; $s < $ChainSubRuleSetCnt; $s++) { + $this->seek($Lookup[$i]['Subtable'][$c]['ChainSubRuleSetOffset'][$s]); + $ChainSubRuleCnt = $Lookup[$i]['Subtable'][$c]['ChainSubRuleSet'][$s]['ChainSubRuleCount'] = $this->read_ushort(); + for ($r = 0; $r < $ChainSubRuleCnt; $r++) { + $Lookup[$i]['Subtable'][$c]['ChainSubRuleSet'][$s]['ChainSubRuleOffset'][$r] = $Lookup[$i]['Subtable'][$c]['ChainSubRuleSetOffset'][$s] + $this->read_ushort(); + } + } + for ($s = 0; $s < $ChainSubRuleSetCnt; $s++) { + $ChainSubRuleCnt = $Lookup[$i]['Subtable'][$c]['ChainSubRuleSet'][$s]['ChainSubRuleCount']; + for ($r = 0; $r < $ChainSubRuleCnt; $r++) { + // ChainSubRule + $this->seek($Lookup[$i]['Subtable'][$c]['ChainSubRuleSet'][$s]['ChainSubRuleOffset'][$r]); - $LookaheadGlyphCount = $Lookup[$i]['Subtable'][$c]['ChainSubRuleSet'][$s]['ChainSubRule'][$r]['LookaheadGlyphCount'] = $this->read_ushort(); - for ($g = 0; $g < $LookaheadGlyphCount; $g++) { - $glyphID = $this->read_ushort(); - $Lookup[$i]['Subtable'][$c]['ChainSubRuleSet'][$s]['ChainSubRule'][$r]['LookaheadGlyphs'][$g] = unicode_hex($this->glyphToChar[$glyphID][0]); - } + $BacktrackGlyphCount = $Lookup[$i]['Subtable'][$c]['ChainSubRuleSet'][$s]['ChainSubRule'][$r]['BacktrackGlyphCount'] = $this->read_ushort(); + for ($g = 0; $g < $BacktrackGlyphCount; $g++) { + $glyphID = $this->read_ushort(); + $Lookup[$i]['Subtable'][$c]['ChainSubRuleSet'][$s]['ChainSubRule'][$r]['BacktrackGlyphs'][$g] = unicode_hex($this->glyphToChar[$glyphID][0]); + } - $SubstCount = $Lookup[$i]['Subtable'][$c]['ChainSubRuleSet'][$s]['ChainSubRule'][$r]['SubstCount'] = $this->read_ushort(); - for ($lu = 0; $lu < $SubstCount; $lu++) { - $Lookup[$i]['Subtable'][$c]['ChainSubRuleSet'][$s]['ChainSubRule'][$r]['SequenceIndex'][$lu] = $this->read_ushort(); - $Lookup[$i]['Subtable'][$c]['ChainSubRuleSet'][$s]['ChainSubRule'][$r]['LookupListIndex'][$lu] = $this->read_ushort(); - } + $InputGlyphCount = $Lookup[$i]['Subtable'][$c]['ChainSubRuleSet'][$s]['ChainSubRule'][$r]['InputGlyphCount'] = $this->read_ushort(); + for ($g = 1; $g < $InputGlyphCount; $g++) { + $glyphID = $this->read_ushort(); + $Lookup[$i]['Subtable'][$c]['ChainSubRuleSet'][$s]['ChainSubRule'][$r]['InputGlyphs'][$g] = unicode_hex($this->glyphToChar[$glyphID][0]); + } + + $LookaheadGlyphCount = $Lookup[$i]['Subtable'][$c]['ChainSubRuleSet'][$s]['ChainSubRule'][$r]['LookaheadGlyphCount'] = $this->read_ushort(); + for ($g = 0; $g < $LookaheadGlyphCount; $g++) { + $glyphID = $this->read_ushort(); + $Lookup[$i]['Subtable'][$c]['ChainSubRuleSet'][$s]['ChainSubRule'][$r]['LookaheadGlyphs'][$g] = unicode_hex($this->glyphToChar[$glyphID][0]); + } + + $SubstCount = $Lookup[$i]['Subtable'][$c]['ChainSubRuleSet'][$s]['ChainSubRule'][$r]['SubstCount'] = $this->read_ushort(); + for ($lu = 0; $lu < $SubstCount; $lu++) { + $Lookup[$i]['Subtable'][$c]['ChainSubRuleSet'][$s]['ChainSubRule'][$r]['SequenceIndex'][$lu] = $this->read_ushort(); + $Lookup[$i]['Subtable'][$c]['ChainSubRuleSet'][$s]['ChainSubRule'][$r]['LookupListIndex'][$lu] = $this->read_ushort(); } } - } // Format 2: Class-based Chaining Context Glyph Substitution p257 - else if ($SubstFormat == 2) { - $this->seek($Lookup[$i]['Subtable'][$c]['CoverageTableOffset']); - $Lookup[$i]['Subtable'][$c]['CoverageGlyphs'] = $CoverageGlyphs = $this->_getCoverage(); + } + } // Format 2: Class-based Chaining Context Glyph Substitution p257 + elseif ($SubstFormat == 2) { + $this->seek($Lookup[$i]['Subtable'][$c]['CoverageTableOffset']); + $Lookup[$i]['Subtable'][$c]['CoverageGlyphs'] = $CoverageGlyphs = $this->_getCoverage(); - $BacktrackClasses = $this->_getClasses($Lookup[$i]['Subtable'][$c]['BacktrackClassDefOffset']); - $Lookup[$i]['Subtable'][$c]['BacktrackClasses'] = $BacktrackClasses; + $BacktrackClasses = $this->_getClasses($Lookup[$i]['Subtable'][$c]['BacktrackClassDefOffset']); + $Lookup[$i]['Subtable'][$c]['BacktrackClasses'] = $BacktrackClasses; - $InputClasses = $this->_getClasses($Lookup[$i]['Subtable'][$c]['InputClassDefOffset']); - $Lookup[$i]['Subtable'][$c]['InputClasses'] = $InputClasses; + $InputClasses = $this->_getClasses($Lookup[$i]['Subtable'][$c]['InputClassDefOffset']); + $Lookup[$i]['Subtable'][$c]['InputClasses'] = $InputClasses; - $LookaheadClasses = $this->_getClasses($Lookup[$i]['Subtable'][$c]['LookaheadClassDefOffset']); - $Lookup[$i]['Subtable'][$c]['LookaheadClasses'] = $LookaheadClasses; + $LookaheadClasses = $this->_getClasses($Lookup[$i]['Subtable'][$c]['LookaheadClassDefOffset']); + $Lookup[$i]['Subtable'][$c]['LookaheadClasses'] = $LookaheadClasses; - for ($s = 0; $s < $Lookup[$i]['Subtable'][$c]['ChainSubClassSetCnt']; $s++) { - if ($Lookup[$i]['Subtable'][$c]['ChainSubClassSetOffset'][$s] > 0) { - $this->seek($Lookup[$i]['Subtable'][$c]['ChainSubClassSetOffset'][$s]); - $Lookup[$i]['Subtable'][$c]['ChainSubClassSet'][$s]['ChainSubClassRuleCnt'] = $ChainSubClassRuleCnt = $this->read_ushort(); - $ChainSubClassRule = []; - for ($b = 0; $b < $ChainSubClassRuleCnt; $b++) { - $ChainSubClassRule[$b] = $Lookup[$i]['Subtable'][$c]['ChainSubClassSetOffset'][$s] + $this->read_ushort(); - $Lookup[$i]['Subtable'][$c]['ChainSubClassSet'][$s]['ChainSubClassRule'][$b] = $ChainSubClassRule[$b]; - } - } - } - - for ($s = 0; $s < $Lookup[$i]['Subtable'][$c]['ChainSubClassSetCnt']; $s++) { - if (isset($Lookup[$i]['Subtable'][$c]['ChainSubClassSet'][$s]['ChainSubClassRuleCnt'])) { - $ChainSubClassRuleCnt = $Lookup[$i]['Subtable'][$c]['ChainSubClassSet'][$s]['ChainSubClassRuleCnt']; - } else { - $ChainSubClassRuleCnt = 0; - } + for ($s = 0; $s < $Lookup[$i]['Subtable'][$c]['ChainSubClassSetCnt']; $s++) { + if ($Lookup[$i]['Subtable'][$c]['ChainSubClassSetOffset'][$s] > 0) { + $this->seek($Lookup[$i]['Subtable'][$c]['ChainSubClassSetOffset'][$s]); + $Lookup[$i]['Subtable'][$c]['ChainSubClassSet'][$s]['ChainSubClassRuleCnt'] = $ChainSubClassRuleCnt = $this->read_ushort(); + $ChainSubClassRule = []; for ($b = 0; $b < $ChainSubClassRuleCnt; $b++) { - if ($Lookup[$i]['Subtable'][$c]['ChainSubClassSetOffset'][$s] > 0) { - $this->seek($Lookup[$i]['Subtable'][$c]['ChainSubClassSet'][$s]['ChainSubClassRule'][$b]); - $Rule = []; - $Rule['BacktrackGlyphCount'] = $this->read_ushort(); - for ($r = 0; $r < $Rule['BacktrackGlyphCount']; $r++) { - $Rule['Backtrack'][$r] = $this->read_ushort(); - } - $Rule['InputGlyphCount'] = $this->read_ushort(); - for ($r = 1; $r < $Rule['InputGlyphCount']; $r++) { - $Rule['Input'][$r] = $this->read_ushort(); - } - $Rule['LookaheadGlyphCount'] = $this->read_ushort(); - for ($r = 0; $r < $Rule['LookaheadGlyphCount']; $r++) { - $Rule['Lookahead'][$r] = $this->read_ushort(); - } - $Rule['SubstCount'] = $this->read_ushort(); - for ($r = 0; $r < $Rule['SubstCount']; $r++) { - $Rule['SequenceIndex'][$r] = $this->read_ushort(); - $Rule['LookupListIndex'][$r] = $this->read_ushort(); - } - - $Lookup[$i]['Subtable'][$c]['ChainSubClassSet'][$s]['ChainSubClassRule'][$b] = $Rule; - } + $ChainSubClassRule[$b] = $Lookup[$i]['Subtable'][$c]['ChainSubClassSetOffset'][$s] + $this->read_ushort(); + $Lookup[$i]['Subtable'][$c]['ChainSubClassSet'][$s]['ChainSubClassRule'][$b] = $ChainSubClassRule[$b]; } } - } // Format 3: Coverage-based Chaining Context Glyph Substitution p259 - else if ($SubstFormat == 3) { - for ($b = 0; $b < $Lookup[$i]['Subtable'][$c]['BacktrackGlyphCount']; $b++) { - $this->seek($Lookup[$i]['Subtable'][$c]['CoverageBacktrack'][$b]); - $glyphs = $this->_getCoverage(); - $Lookup[$i]['Subtable'][$c]['CoverageBacktrackGlyphs'][] = implode("|", $glyphs); + } + + for ($s = 0; $s < $Lookup[$i]['Subtable'][$c]['ChainSubClassSetCnt']; $s++) { + if (isset($Lookup[$i]['Subtable'][$c]['ChainSubClassSet'][$s]['ChainSubClassRuleCnt'])) { + $ChainSubClassRuleCnt = $Lookup[$i]['Subtable'][$c]['ChainSubClassSet'][$s]['ChainSubClassRuleCnt']; + } else { + $ChainSubClassRuleCnt = 0; } - for ($b = 0; $b < $Lookup[$i]['Subtable'][$c]['InputGlyphCount']; $b++) { - $this->seek($Lookup[$i]['Subtable'][$c]['CoverageInput'][$b]); - $glyphs = $this->_getCoverage(); - $Lookup[$i]['Subtable'][$c]['CoverageInputGlyphs'][] = implode("|", $glyphs); - // Don't use above value as these are ordered numerically not as need to process - } - for ($b = 0; $b < $Lookup[$i]['Subtable'][$c]['LookaheadGlyphCount']; $b++) { - $this->seek($Lookup[$i]['Subtable'][$c]['CoverageLookahead'][$b]); - $glyphs = $this->_getCoverage(); - $Lookup[$i]['Subtable'][$c]['CoverageLookaheadGlyphs'][] = implode("|", $glyphs); + for ($b = 0; $b < $ChainSubClassRuleCnt; $b++) { + if ($Lookup[$i]['Subtable'][$c]['ChainSubClassSetOffset'][$s] > 0) { + $this->seek($Lookup[$i]['Subtable'][$c]['ChainSubClassSet'][$s]['ChainSubClassRule'][$b]); + $Rule = []; + $Rule['BacktrackGlyphCount'] = $this->read_ushort(); + for ($r = 0; $r < $Rule['BacktrackGlyphCount']; $r++) { + $Rule['Backtrack'][$r] = $this->read_ushort(); + } + $Rule['InputGlyphCount'] = $this->read_ushort(); + for ($r = 1; $r < $Rule['InputGlyphCount']; $r++) { + $Rule['Input'][$r] = $this->read_ushort(); + } + $Rule['LookaheadGlyphCount'] = $this->read_ushort(); + for ($r = 0; $r < $Rule['LookaheadGlyphCount']; $r++) { + $Rule['Lookahead'][$r] = $this->read_ushort(); + } + $Rule['SubstCount'] = $this->read_ushort(); + for ($r = 0; $r < $Rule['SubstCount']; $r++) { + $Rule['SequenceIndex'][$r] = $this->read_ushort(); + $Rule['LookupListIndex'][$r] = $this->read_ushort(); + } + + $Lookup[$i]['Subtable'][$c]['ChainSubClassSet'][$s]['ChainSubClassRule'][$b] = $Rule; + } } } + } // Format 3: Coverage-based Chaining Context Glyph Substitution p259 + elseif ($SubstFormat == 3) { + for ($b = 0; $b < $Lookup[$i]['Subtable'][$c]['BacktrackGlyphCount']; $b++) { + $this->seek($Lookup[$i]['Subtable'][$c]['CoverageBacktrack'][$b]); + $glyphs = $this->_getCoverage(); + $Lookup[$i]['Subtable'][$c]['CoverageBacktrackGlyphs'][] = implode("|", $glyphs); + } + for ($b = 0; $b < $Lookup[$i]['Subtable'][$c]['InputGlyphCount']; $b++) { + $this->seek($Lookup[$i]['Subtable'][$c]['CoverageInput'][$b]); + $glyphs = $this->_getCoverage(); + $Lookup[$i]['Subtable'][$c]['CoverageInputGlyphs'][] = implode("|", $glyphs); + // Don't use above value as these are ordered numerically not as need to process + } + for ($b = 0; $b < $Lookup[$i]['Subtable'][$c]['LookaheadGlyphCount']; $b++) { + $this->seek($Lookup[$i]['Subtable'][$c]['CoverageLookahead'][$b]); + $glyphs = $this->_getCoverage(); + $Lookup[$i]['Subtable'][$c]['CoverageLookaheadGlyphs'][] = implode("|", $glyphs); + } } } } - - //===================================================================================== - //===================================================================================== - //===================================================================================== - //===================================================================================== - - $GSUBScriptLang = []; - $rtlpua = []; // All glyphs added to PUA [for magic_reverse] - foreach ($gsub as $st => $scripts) { - foreach ($scripts as $t => $langsys) { - $lul = []; // array of LookupListIndexes - $tags = []; // corresponding array of feature tags e.g. 'ccmp' -//print_r($langsys ); exit; - foreach ($langsys as $tag => $ft) { - foreach ($ft as $ll) { - $lul[$ll] = $tag; - } - } - ksort($lul); // Order the Lookups in the order they are in the GUSB table, regardless of Feature order - $volt = $this->_getGSUBarray($Lookup, $lul, $st); -//print_r($lul); exit; - //===================================================================================== - //===================================================================================== - // Interrogate $volt - // isol, fin, medi, init(arab syrc) into $rtlSUB for use in ArabJoin - // but also identify all RTL chars in PUA for magic_reverse (arab syrc hebr thaa nko samr) - // identify reph, matras, vatu, half forms etc for Indic for final re-ordering - //===================================================================================== - //===================================================================================== - $rtl = []; - $rtlSUB = "array()"; - $finals = ''; - if (strpos('arab syrc hebr thaa nko samr', $st) !== false) { // all RTL scripts [any/all languages] ? Mandaic -//print_r($volt); exit; - foreach ($volt as $v) { - // isol fina fin2 fin3 medi med2 for Syriac - // ISOLATED FORM :: FINAL :: INITIAL :: MEDIAL :: MED2 :: FIN2 :: FIN3 - if (strpos('isol fina init medi fin2 fin3 med2', $v['tag']) !== false) { - $key = $v['match']; - $key = preg_replace('/[\(\)]*/', '', $key); - $sub = $v['replace']; - if ($v['tag'] == 'isol') { - $kk = 0; - } else if ($v['tag'] == 'fina') { - $kk = 1; - } else if ($v['tag'] == 'init') { - $kk = 2; - } else if ($v['tag'] == 'medi') { - $kk = 3; - } else if ($v['tag'] == 'med2') { - $kk = 4; - } else if ($v['tag'] == 'fin2') { - $kk = 5; - } else if ($v['tag'] == 'fin3') { - $kk = 6; - } - $rtl[$key][$kk] = $sub; - if (isset($v['prel']) && count($v['prel'])) { - $rtl[$key]['prel'][$kk] = $v['prel']; - } - if (isset($v['postl']) && count($v['postl'])) { - $rtl[$key]['postl'][$kk] = $v['postl']; - } - if (isset($v['ignore']) && $v['ignore']) { - $rtl[$key]['ignore'][$kk] = $v['ignore']; - } - $rtlpua[] = $sub; - } // Add any other glyphs which are in PUA - else { - if (isset($v['context']) && $v['context']) { - foreach ($v['rules'] as $vs) { - for ($i = 0; $i < count($vs['match']); $i++) { - if (isset($vs['replace'][$i]) && preg_match('/^0[A-F0-9]{4}$/', $vs['match'][$i])) { - if (preg_match('/^0[EF][A-F0-9]{3}$/', $vs['replace'][$i])) { - $rtlpua[] = $vs['replace'][$i]; - } - } - } - } - } else { - preg_match_all('/\((0[A-F0-9]{4})\)/', $v['match'], $m); - for ($i = 0; $i < count($m[0]); $i++) { - $sb = explode(' ', $v['replace']); - foreach ($sb as $sbg) { - if (preg_match('/(0[EF][A-F0-9]{3})/', $sbg, $mr)) { - $rtlpua[] = $mr[1]; - } - } - } - } - } - } -//print_r($rtl); exit; - // For kashida, need to determine all final forms except ones already identified by kashida - // priority rules (see otl.php) - foreach ($rtl as $base => $variants) { - if (isset($variants[1])) { // i.e. final form - if (strpos('0FE8E 0FE94 0FEA2 0FEAA 0FEAE 0FEC2 0FEDA 0FEDE 0FB93 0FECA 0FED2 0FED6 0FEEE 0FEF0 0FEF2', $variants[1]) === false) { // not already included - // This version does not exclude RA (0631) FEAE; Ya (064A) FEF2; Alef Maqsurah (0649) FEF0 which - // are selected in priority if connected to a medial Bah - //if (strpos('0FE8E 0FE94 0FEA2 0FEAA 0FEC2 0FEDA 0FEDE 0FB93 0FECA 0FED2 0FED6 0FEEE', $variants[1])===false) { // not already included - $finals .= $variants[1] . ' '; - } - } - } -//echo $finals ; exit; -//print_r($rtlpua); exit; - ksort($rtl); - $a = var_export($rtl, true); - $a = preg_replace('/\\\\\\\\/', "\\", $a); - $a = preg_replace('/\'/', '"', $a); - $a = preg_replace('/\r/', '', $a); - $a = preg_replace('/> \n/', '>', $a); - $a = preg_replace('/\n \)/', ')', $a); - $a = preg_replace('/\n /', ' ', $a); - $a = preg_replace('/\[IGNORE(\d+)\]/', '".$ignore[\\1]."', $a); - $rtlSUB = preg_replace('/[ ]+/', ' ', $a); - } - //===================================================================================== - // INDIC - Dynamic properties - //===================================================================================== - $rphf = []; - $half = []; - $pref = []; - $blwf = []; - $pstf = []; - if (strpos('dev2 bng2 gur2 gjr2 ory2 tml2 tel2 knd2 mlm2 deva beng guru gujr orya taml telu knda mlym', $st) !== false) { // all INDIC scripts [any/all languages] - if (strpos('deva beng guru gujr orya taml telu knda mlym', $st) !== false) { - $is_old_spec = true; - } else { - $is_old_spec = false; - } - - // First get 'locl' substitutions (reversed!) - $loclsubs = []; - foreach ($volt as $v) { - if (strpos('locl', $v['tag']) !== false) { - $key = $v['match']; - $key = preg_replace('/[\(\)]*/', '', $key); - $sub = $v['replace']; - if ($key && strlen(trim($key)) == 5 && $sub) { - $loclsubs[$sub] = $key; - } - } - } -//if (count($loclsubs)) { print_r($loclsubs); exit; } - - foreach ($volt as $v) { - // - // defines consonant types: - // Reph - // Half forms - // Pre-base-reordering forms of Ra/Rra - // Below-base forms - // Post-base forms - // applied together with feature to input sequences consisting of two characters - // This is done for each consonant - // for and , features are applied to Consonant + Halant combinations - // for , and , features are applied to Halant + Consonant combinations - // Old version eg 'deva' , and , features are applied to Consonant + Halant - // Some malformed fonts still do Consonant + Halant for these - so match both?? - // If these two glyphs form a ligature, with no additional glyphs in context - // this means the consonant has the corresponding form - // Currently set to cope with both - // See also classes/otl.php - - if (strpos('rphf half pref blwf pstf', $v['tag']) !== false) { - if (isset($v['context']) && $v['context'] && $v['nBacktrack'] == 0 && $v['nLookahead'] == 0) { - foreach ($v['rules'] as $vs) { - if (count($vs['match']) == 2 && count($vs['replace']) == 1) { - $sub = $vs['replace'][0]; - // If Halant Cons , and in New version only - if (strpos('0094D 009CD 00A4D 00ACD 00B4D 00BCD 00C4D 00CCD 00D4D', $vs['match'][0]) !== false && strpos('pref blwf pstf', $v['tag']) !== false && !$is_old_spec) { - $key = $vs['match'][1]; - $tag = $v['tag']; - if (isset($loclsubs[$key])) { - ${$tag[$loclsubs[$key]]} = $sub; - } - $tmp = &$$tag; - $tmp[hexdec($key)] = hexdec($sub); - } // If Cons Halant and always - // and , and in Old version - else if (strpos('0094D 009CD 00A4D 00ACD 00B4D 00BCD 00C4D 00CCD 00D4D', $vs['match'][1]) !== false && (strpos('rphf half', $v['tag']) !== false || (strpos('pref blwf pstf', $v['tag']) !== false && ($is_old_spec || _OTL_OLD_SPEC_COMPAT_2)))) { - $key = $vs['match'][0]; - $tag = $v['tag']; - if (isset($loclsubs[$key])) { - ${$tag[$loclsubs[$key]]} = $sub; - } - $tmp = &$$tag; - $tmp[hexdec($key)] = hexdec($sub); - } - } - } - } else if (!isset($v['context'])) { - $key = $v['match']; - $key = preg_replace('/[\(\)]*/', '', $key); - $sub = $v['replace']; - if ($key && strlen(trim($key)) == 11 && $sub) { - // If Cons Halant and always - // and , and in Old version - // If Halant Cons , and in New version only - if (strpos('0094D 009CD 00A4D 00ACD 00B4D 00BCD 00C4D 00CCD 00D4D', substr($key, 0, 5)) !== false && strpos('pref blwf pstf', $v['tag']) !== false && !$is_old_spec) { - $key = substr($key, 6, 5); - $tag = $v['tag']; - if (isset($loclsubs[$key])) { - ${$tag[$loclsubs[$key]]} = $sub; - } - $tmp = &$$tag; - $tmp[hexdec($key)] = hexdec($sub); - } else if (strpos('0094D 009CD 00A4D 00ACD 00B4D 00BCD 00C4D 00CCD 00D4D', substr($key, 6, 5)) !== false && (strpos('rphf half', $v['tag']) !== false || (strpos('pref blwf pstf', $v['tag']) !== false && ($is_old_spec || _OTL_OLD_SPEC_COMPAT_2)))) { - $key = substr($key, 0, 5); - $tag = $v['tag']; - if (isset($loclsubs[$key])) { - ${$tag[$loclsubs[$key]]} = $sub; - } - $tmp = &$$tag; - $tmp[hexdec($key)] = hexdec($sub); - } - } - } - } - } - /* - print_r($rphf ); - print_r($half ); - print_r($pref ); - print_r($blwf ); - print_r($pstf ); exit; - */ - } -//print_r($rtlpua); exit; - //===================================================================================== - //===================================================================================== - //===================================================================================== - //===================================================================================== - if (count($rtl) || count($rphf) || count($half) || count($pref) || count($blwf) || count($pstf) || $finals) { - // SAVE LOOKUPS TO FILE fontname.GSUB.scripttag.langtag.php - - $s = ''; - - $this->fontCache->write($this->fontkey . '.GSUB.' . $st . '.' . $t . '.php', $s); - } - //===================================================================================== - if (!isset($GSUBScriptLang[$st])) { - $GSUBScriptLang[$st] = ''; - } - $GSUBScriptLang[$st] .= $t . ' '; - //===================================================================================== - } - } - //print_r($rtlpua); exit; - // All RTL glyphs from font added to (or already in) PUA [reqd for magic_reverse] - $rtlPUAstr = ""; - if (count($rtlpua)) { - $rtlpua = array_unique($rtlpua); - sort($rtlpua); - $n = count($rtlpua); - for ($i = 0; $i < $n; $i++) { - if (hexdec($rtlpua[$i]) < hexdec('E000') || hexdec($rtlpua[$i]) > hexdec('F8FF')) { - unset($rtlpua[$i]); - } - } - sort($rtlpua, SORT_STRING); - - $rangeid = -1; - $range = []; - $prevgid = -2; - // for each character - foreach ($rtlpua as $gidhex) { - $gid = hexdec($gidhex); - if ($gid == ($prevgid + 1)) { - $range[$rangeid]['end'] = $gidhex; - $range[$rangeid]['count']++; - } else { - // new range - $rangeid++; - $range[$rangeid] = []; - $range[$rangeid]['start'] = $gidhex; - $range[$rangeid]['end'] = $gidhex; - $range[$rangeid]['count'] = 1; - } - $prevgid = $gid; - } - foreach ($range as $rg) { - if ($rg['count'] == 1) { - $rtlPUAstr .= "\x{" . $rg['start'] . "}"; - } else if ($rg['count'] == 2) { - $rtlPUAstr .= "\x{" . $rg['start'] . "}\x{" . $rg['end'] . "}"; - } else { - $rtlPUAstr .= "\x{" . $rg['start'] . "}-\x{" . $rg['end'] . "}"; - } - } - } - - //print_r($rtlPUAstr ); exit; - //===================================================================================== - //===================================================================================== - //===================================================================================== - //===================================================================================== - //print_r($rtlpua); exit; - //print_r($GSUBScriptLang); exit; } -//print_r($Lookup); exit; + $GSUBScriptLang = []; + $rtlpua = []; // All glyphs added to PUA [for magic_reverse] + foreach ($gsub as $st => $scripts) { + foreach ($scripts as $t => $langsys) { + $lul = []; // array of LookupListIndexes + $tags = []; // corresponding array of feature tags e.g. 'ccmp' - return [$GSUBScriptLang, $gsub, $GSLookup, $rtlPUAstr]; // , $rtlPUAarr Not needed + foreach ($langsys as $tag => $ft) { + foreach ($ft as $ll) { + $lul[$ll] = $tag; + } + } + ksort($lul); // Order the Lookups in the order they are in the GUSB table, regardless of Feature order + $volt = $this->_getGSUBarray($Lookup, $lul, $st); + + // Interrogate $volt + // isol, fin, medi, init(arab syrc) into $rtlSUB for use in ArabJoin + // but also identify all RTL chars in PUA for magic_reverse (arab syrc hebr thaa nko samr) + // identify reph, matras, vatu, half forms etc for Indic for final re-ordering + $rtl = []; + $rtlSUB = []; + $finals = ''; + + if (strpos('arab syrc hebr thaa nko samr', $st) !== false) { // all RTL scripts [any/all languages] ? Mandaic + + foreach ($volt as $v) { + // isol fina fin2 fin3 medi med2 for Syriac + // ISOLATED FORM :: FINAL :: INITIAL :: MEDIAL :: MED2 :: FIN2 :: FIN3 + if (strpos('isol fina init medi fin2 fin3 med2', $v['tag']) !== false) { + + $key = $v['match']; + $key = preg_replace('/[\(\)]*/', '', $key); + $sub = $v['replace']; + if ($v['tag'] === 'isol') { + $kk = 0; + } elseif ($v['tag'] === 'fina') { + $kk = 1; + } elseif ($v['tag'] === 'init') { + $kk = 2; + } elseif ($v['tag'] === 'medi') { + $kk = 3; + } elseif ($v['tag'] === 'med2') { + $kk = 4; + } elseif ($v['tag'] === 'fin2') { + $kk = 5; + } elseif ($v['tag'] === 'fin3') { + $kk = 6; + } + + $rtl[$key][$kk] = $sub; + if (isset($v['prel']) && count($v['prel'])) { + $rtl[$key]['prel'][$kk] = $v['prel']; + } + if (isset($v['postl']) && count($v['postl'])) { + $rtl[$key]['postl'][$kk] = $v['postl']; + } + if (isset($v['ignore']) && $v['ignore']) { + $rtl[$key]['ignore'][$kk] = $v['ignore']; + } + $rtlpua[] = $sub; + + } else { // Add any other glyphs which are in PUA + if (isset($v['context']) && $v['context']) { + foreach ($v['rules'] as $vs) { + $matchCount = count($vs['match']); + for ($i = 0; $i < $matchCount; $i++) { + if (isset($vs['replace'][$i]) && preg_match('/^0[A-F0-9]{4}$/', $vs['match'][$i])) { + if (preg_match('/^0[EF][A-F0-9]{3}$/', $vs['replace'][$i])) { + $rtlpua[] = $vs['replace'][$i]; + } + } + } + } + } else { + preg_match_all('/\((0[A-F0-9]{4})\)/', $v['match'], $m); + $matchCount = count($m[0]); + for ($i = 0; $i < $matchCount; $i++) { + $sb = explode(' ', $v['replace']); + foreach ($sb as $sbg) { + if (preg_match('/(0[EF][A-F0-9]{3})/', $sbg, $mr)) { + $rtlpua[] = $mr[1]; + } + } + } + } + } + } + + // For kashida, need to determine all final forms except ones already identified by kashida priority rules (see \Mpdf\Otl) + foreach ($rtl as $base => $variants) { + if (isset($variants[1])) { // i.e. final form + if (strpos('0FE8E 0FE94 0FEA2 0FEAA 0FEAE 0FEC2 0FEDA 0FEDE 0FB93 0FECA 0FED2 0FED6 0FEEE 0FEF0 0FEF2', $variants[1]) === false) { // not already included + // This version does not exclude RA (0631) FEAE; Ya (064A) FEF2; Alef Maqsurah (0649) FEF0 which + // are selected in priority if connected to a medial Bah + //if (strpos('0FE8E 0FE94 0FEA2 0FEAA 0FEC2 0FEDA 0FEDE 0FB93 0FECA 0FED2 0FED6 0FEEE', $variants[1])===false) { // not already included + $finals .= $variants[1] . ' '; + } + } + } + + ksort($rtl); + $rtlSUB = $rtl; + } + + // INDIC - Dynamic properties + $rphf = []; + $half = []; + $pref = []; + $blwf = []; + $pstf = []; + + if (strpos('dev2 bng2 gur2 gjr2 ory2 tml2 tel2 knd2 mlm2 deva beng guru gujr orya taml telu knda mlym', $st) !== false) { // all INDIC scripts [any/all languages] + if (strpos('deva beng guru gujr orya taml telu knda mlym', $st) !== false) { + $is_old_spec = true; + } else { + $is_old_spec = false; + } + + // First get 'locl' substitutions (reversed!) + $loclsubs = []; + foreach ($volt as $v) { + if (strpos('locl', $v['tag']) !== false) { + $key = $v['match']; + $key = preg_replace('/[\(\)]*/', '', $key); + $sub = $v['replace']; + if ($key && strlen(trim($key)) == 5 && $sub) { + $loclsubs[$sub] = $key; + } + } + } + + foreach ($volt as $v) { + // + // defines consonant types: + // Reph + // Half forms + // Pre-base-reordering forms of Ra/Rra + // Below-base forms + // Post-base forms + // applied together with feature to input sequences consisting of two characters + // This is done for each consonant + // for and , features are applied to Consonant + Halant combinations + // for , and , features are applied to Halant + Consonant combinations + // Old version eg 'deva' , and , features are applied to Consonant + Halant + // Some malformed fonts still do Consonant + Halant for these - so match both?? + // If these two glyphs form a ligature, with no additional glyphs in context + // this means the consonant has the corresponding form + // Currently set to cope with both + // See also classes/otl.php + + if (strpos('rphf half pref blwf pstf', $v['tag']) !== false) { + if (isset($v['context']) && $v['context'] && $v['nBacktrack'] == 0 && $v['nLookahead'] == 0) { + foreach ($v['rules'] as $vs) { + if (count($vs['match']) == 2 && count($vs['replace']) == 1) { + $sub = $vs['replace'][0]; + // If Halant Cons , and in New version only + if (strpos('0094D 009CD 00A4D 00ACD 00B4D 00BCD 00C4D 00CCD 00D4D', $vs['match'][0]) !== false && strpos('pref blwf pstf', $v['tag']) !== false && !$is_old_spec) { + $key = $vs['match'][1]; + $tag = $v['tag']; + if (isset($loclsubs[$key])) { + ${$tag[$loclsubs[$key]]} = $sub; + } + $tmp = &$$tag; + $tmp[hexdec($key)] = hexdec($sub); + } // If Cons Halant and always + // and , and in Old version + elseif (strpos('0094D 009CD 00A4D 00ACD 00B4D 00BCD 00C4D 00CCD 00D4D', $vs['match'][1]) !== false && (strpos('rphf half', $v['tag']) !== false || (strpos('pref blwf pstf', $v['tag']) !== false && ($is_old_spec || _OTL_OLD_SPEC_COMPAT_2)))) { + $key = $vs['match'][0]; + $tag = $v['tag']; + if (isset($loclsubs[$key])) { + ${$tag[$loclsubs[$key]]} = $sub; + } + $tmp = &$$tag; + $tmp[hexdec($key)] = hexdec($sub); + } + } + } + } elseif (!isset($v['context'])) { + $key = $v['match']; + $key = preg_replace('/[\(\)]*/', '', $key); + $sub = $v['replace']; + if ($key && strlen(trim($key)) == 11 && $sub) { + // If Cons Halant and always + // and , and in Old version + // If Halant Cons , and in New version only + if (strpos('0094D 009CD 00A4D 00ACD 00B4D 00BCD 00C4D 00CCD 00D4D', substr($key, 0, 5)) !== false && strpos('pref blwf pstf', $v['tag']) !== false && !$is_old_spec) { + $key = substr($key, 6, 5); + $tag = $v['tag']; + if (isset($loclsubs[$key])) { + ${$tag[$loclsubs[$key]]} = $sub; + } + $tmp = &$$tag; + $tmp[hexdec($key)] = hexdec($sub); + } elseif (strpos('0094D 009CD 00A4D 00ACD 00B4D 00BCD 00C4D 00CCD 00D4D', substr($key, 6, 5)) !== false && (strpos('rphf half', $v['tag']) !== false || (strpos('pref blwf pstf', $v['tag']) !== false && ($is_old_spec || _OTL_OLD_SPEC_COMPAT_2)))) { + $key = substr($key, 0, 5); + $tag = $v['tag']; + if (isset($loclsubs[$key])) { + ${$tag[$loclsubs[$key]]} = $sub; + } + $tmp = &$$tag; + $tmp[hexdec($key)] = hexdec($sub); + } + } + } + } + } + } + + if (count($rtl) || count($rphf) || count($half) || count($pref) || count($blwf) || count($pstf) || $finals) { + $font = [ + 'rtlSUB' => $rtlSUB, + 'finals' => $finals, + 'rphf' => $rphf, + 'half' => $half, + 'pref' => $pref, + 'blwf' => $blwf, + 'pstf' => $pstf, + ]; + + $this->fontCache->jsonWrite($this->fontkey . '.GSUB.' . $st . '.' . $t . '.json', $font); + } + + if (!isset($GSUBScriptLang[$st])) { + $GSUBScriptLang[$st] = ''; + } + $GSUBScriptLang[$st] .= $t . ' '; + } + } + + // All RTL glyphs from font added to (or already in) PUA [reqd for magic_reverse] + $rtlPUAstr = ''; + if (count($rtlpua)) { + $rtlpua = array_unique($rtlpua); + sort($rtlpua); + $n = count($rtlpua); + for ($i = 0; $i < $n; $i++) { + if (hexdec($rtlpua[$i]) < hexdec('E000') || hexdec($rtlpua[$i]) > hexdec('F8FF')) { + unset($rtlpua[$i]); + } + } + sort($rtlpua, SORT_STRING); + + $rangeid = -1; + $range = []; + $prevgid = -2; + + // for each character + foreach ($rtlpua as $gidhex) { + $gid = hexdec($gidhex); + if ($gid == ($prevgid + 1)) { + $range[$rangeid]['end'] = $gidhex; + $range[$rangeid]['count']++; + } else { + // new range + $rangeid++; + $range[$rangeid] = []; + $range[$rangeid]['start'] = $gidhex; + $range[$rangeid]['end'] = $gidhex; + $range[$rangeid]['count'] = 1; + } + $prevgid = $gid; + } + + foreach ($range as $rg) { + if ($rg['count'] == 1) { + $rtlPUAstr .= "\x{" . $rg['start'] . "}"; + } elseif ($rg['count'] == 2) { + $rtlPUAstr .= "\x{" . $rg['start'] . "}\x{" . $rg['end'] . "}"; + } else { + $rtlPUAstr .= "\x{" . $rg['start'] . "}-\x{" . $rg['end'] . "}"; + } + } + } + + return [$GSUBScriptLang, $gsub, $GSLookup, $rtlPUAstr]; } - ///////////////////////////////////////////////////////////////////////////////////////// // GSUB functions function _getGSUBarray(&$Lookup, &$lul, $scripttag) { @@ -2463,13 +2423,15 @@ $pstf = ' . var_export($pstf, true) . '; $reph = ''; $matraE = ''; $vatu = ''; + foreach ($lul as $i => $tag) { for ($c = 0; $c < $Lookup[$i]['SubtableCount']; $c++) { $SubstFormat = $Lookup[$i]['Subtable'][$c]['Format']; // LookupType 1: Single Substitution Subtable if ($Lookup[$i]['Type'] == 1) { - for ($s = 0; $s < count($Lookup[$i]['Subtable'][$c]['subs']); $s++) { + $subCount = count($Lookup[$i]['Subtable'][$c]['subs']); + for ($s = 0; $s < $subCount; $s++) { $inputGlyphs = $Lookup[$i]['Subtable'][$c]['subs'][$s]['Replace']; $substitute = $Lookup[$i]['Subtable'][$c]['subs'][$s]['substitute'][0]; // Ignore has already been applied earlier on @@ -2478,7 +2440,7 @@ $pstf = ' . var_export($pstf, true) . '; $volt[] = ['match' => $repl, 'replace' => $subs, 'tag' => $tag, 'key' => $inputGlyphs[0], 'type' => 1]; } } // LookupType 2: Multiple Substitution Subtable - else if ($Lookup[$i]['Type'] == 2) { + elseif ($Lookup[$i]['Type'] == 2) { for ($s = 0; $s < count($Lookup[$i]['Subtable'][$c]['subs']); $s++) { $inputGlyphs = $Lookup[$i]['Subtable'][$c]['subs'][$s]['Replace']; $substitute = implode(" ", $Lookup[$i]['Subtable'][$c]['subs'][$s]['substitute']); @@ -2488,7 +2450,7 @@ $pstf = ' . var_export($pstf, true) . '; $volt[] = ['match' => $repl, 'replace' => $subs, 'tag' => $tag, 'key' => $inputGlyphs[0], 'type' => 2]; } } // LookupType 3: Alternate Forms - else if ($Lookup[$i]['Type'] == 3) { + elseif ($Lookup[$i]['Type'] == 3) { for ($s = 0; $s < count($Lookup[$i]['Subtable'][$c]['subs']); $s++) { $inputGlyphs = $Lookup[$i]['Subtable'][$c]['subs'][$s]['Replace']; $substitute = $Lookup[$i]['Subtable'][$c]['subs'][$s]['substitute'][0]; @@ -2498,7 +2460,7 @@ $pstf = ' . var_export($pstf, true) . '; $volt[] = ['match' => $repl, 'replace' => $subs, 'tag' => $tag, 'key' => $inputGlyphs[0], 'type' => 3]; } } // LookupType 4: Ligature Substitution Subtable - else if ($Lookup[$i]['Type'] == 4) { + elseif ($Lookup[$i]['Type'] == 4) { for ($s = 0; $s < count($Lookup[$i]['Subtable'][$c]['subs']); $s++) { $inputGlyphs = $Lookup[$i]['Subtable'][$c]['subs'][$s]['Replace']; $substitute = $Lookup[$i]['Subtable'][$c]['subs'][$s]['substitute'][0]; @@ -2509,7 +2471,7 @@ $pstf = ' . var_export($pstf, true) . '; $volt[] = ['match' => $repl, 'replace' => $subs, 'tag' => $tag, 'key' => $inputGlyphs[0], 'type' => 4, 'CompCount' => $Lookup[$i]['Subtable'][$c]['subs'][$s]['CompCount'], 'Lig' => $substitute]; } } // LookupType 5: Chaining Contextual Substitution Subtable - else if ($Lookup[$i]['Type'] == 5) { + elseif ($Lookup[$i]['Type'] == 5) { // Format 1: Context Substitution if ($SubstFormat == 1) { $ignore = $this->_getGSUBignoreString($Lookup[$i]['Flag'], $Lookup[$i]['MarkFilteringSet']); @@ -2563,7 +2525,7 @@ $pstf = ' . var_export($pstf, true) . '; } } } // Format 2: Class-based Context Glyph Substitution - else if ($SubstFormat == 2) { + elseif ($SubstFormat == 2) { $ignore = $this->_getGSUBignoreString($Lookup[$i]['Flag'], $Lookup[$i]['MarkFilteringSet']); foreach ($Lookup[$i]['Subtable'][$c]['SubClassSet'] as $inputClass => $cscs) { for ($cscrule = 0; $cscrule < $cscs['SubClassRuleCnt']; $cscrule++) { @@ -2587,7 +2549,6 @@ $pstf = ' . var_export($pstf, true) . '; } $nInput = $rule['InputGlyphCount']; - $nIsubs = (2 * $nInput) - 1; $contextInputMatch = $this->_makeGSUBcontextInputMatch($inputGlyphs, $ignore, [], 0); @@ -2630,8 +2591,10 @@ $pstf = ' . var_export($pstf, true) . '; } } } + } // Format 3: Coverage-based Context Glyph Substitution p259 - else if ($SubstFormat == 3) { + elseif ($SubstFormat == 3) { + // IgnoreMarks flag set on main Lookup table $ignore = $this->_getGSUBignoreString($Lookup[$i]['Flag'], $Lookup[$i]['MarkFilteringSet']); $inputGlyphs = $Lookup[$i]['Subtable'][$c]['CoverageInputGlyphs']; @@ -2643,6 +2606,7 @@ $pstf = ' . var_export($pstf, true) . '; } else { $backtrackGlyphs = []; } + // Returns e.g. ¦(FEEB|FEEC)(ignore) ¦(FD12|FD13)(ignore) ¦ $backtrackMatch = $this->_makeGSUBbacktrackMatch($backtrackGlyphs, $ignore); @@ -2651,6 +2615,7 @@ $pstf = ' . var_export($pstf, true) . '; } else { $lookaheadGlyphs = []; } + // Returns e.g. ¦(ignore) (FD12|FD13)¦(ignore) (FEEB|FEEC)¦ $lookaheadMatch = $this->_makeGSUBlookaheadMatch($lookaheadGlyphs, $ignore); @@ -2693,17 +2658,18 @@ $pstf = ' . var_export($pstf, true) . '; } } -//print_r($Lookup[$i]); -//print_r($volt[(count($volt)-1)]); exit; } // LookupType 6: ing Contextual Substitution Subtable - else if ($Lookup[$i]['Type'] == 6) { + elseif ($Lookup[$i]['Type'] == 6) { + // Format 1: Simple Chaining Context Glyph Substitution p255 if ($SubstFormat == 1) { $ignore = $this->_getGSUBignoreString($Lookup[$i]['Flag'], $Lookup[$i]['MarkFilteringSet']); for ($s = 0; $s < $Lookup[$i]['Subtable'][$c]['ChainSubRuleSetCount']; $s++) { + // ChainSubRuleSet $subRule = []; $firstInputGlyph = $Lookup[$i]['Subtable'][$c]['CoverageGlyphs'][$s]; // First input gyyph + foreach ($Lookup[$i]['Subtable'][$c]['ChainSubRuleSet'][$s]['ChainSubRule'] as $rule) { // ChainSubRule $inputGlyphs = []; @@ -2773,8 +2739,9 @@ $pstf = ' . var_export($pstf, true) . '; } } } + } // Format 2: Class-based Chaining Context Glyph Substitution p257 - else if ($SubstFormat == 2) { + elseif ($SubstFormat == 2) { $ignore = $this->_getGSUBignoreString($Lookup[$i]['Flag'], $Lookup[$i]['MarkFilteringSet']); foreach ($Lookup[$i]['Subtable'][$c]['ChainSubClassSet'] as $inputClass => $cscs) { for ($cscrule = 0; $cscrule < $cscs['ChainSubClassRuleCnt']; $cscrule++) { @@ -2888,9 +2855,8 @@ $pstf = ' . var_export($pstf, true) . '; } } -//print_r($Lookup[$i]['Subtable'][$c]); exit; } // Format 3: Coverage-based Chaining Context Glyph Substitution p259 - else if ($SubstFormat == 3) { + elseif ($SubstFormat == 3) { // IgnoreMarks flag set on main Lookup table $ignore = $this->_getGSUBignoreString($Lookup[$i]['Flag'], $Lookup[$i]['MarkFilteringSet']); $inputGlyphs = $Lookup[$i]['Subtable'][$c]['CoverageInputGlyphs']; @@ -2955,13 +2921,9 @@ $pstf = ' . var_export($pstf, true) . '; } } -//print_r($Lookup); exit; return $volt; } - //===================================================================================== - //===================================================================================== - // mPDF 5.7.1 function _checkGSUBignore($flag, $glyph, $MarkFilteringSet) { $ignore = false; @@ -3010,7 +2972,7 @@ $pstf = ' . var_export($pstf, true) . '; // Flag & 0x0010 = UseMarkFilteringSet if ($flag & 0x0010) { - throw new \Mpdf\MpdfException("This font " . $this->fontkey . " contains MarkGlyphSets - Not tested yet"); + throw new \Mpdf\Exception\FontException("This font " . $this->fontkey . " contains MarkGlyphSets - Not tested yet"); $str = $this->MarkGlyphSets[$MarkFilteringSet]; } @@ -3187,7 +3149,7 @@ $pstf = ' . var_export($pstf, true) . '; $str = ""; if ($nInput == 1) { $str = $REPL; - } else if ($nInput > 1) { + } elseif ($nInput > 1) { if ($mLen == $nInput) { // whole string replaced $str = $REPL; if ($ign) { @@ -3228,7 +3190,6 @@ $pstf = ' . var_export($pstf, true) . '; return $str; } - ////////////////////////////////////////////////////////////////////////////////// function _getCoverage($convert2hex = true, $mode = 1) { $g = []; @@ -3241,7 +3202,7 @@ $pstf = ' . var_export($pstf, true) . '; $uni = $this->glyphToChar[$glyphID][0]; if ($convert2hex) { $g[] = unicode_hex($uni); - } else if ($mode == 2) { + } elseif ($mode == 2) { $g[$uni] = $ctr; $ctr++; } else { @@ -3259,7 +3220,7 @@ $pstf = ' . var_export($pstf, true) . '; $uni = $this->glyphToChar[$glyphID][0]; if ($convert2hex) { $g[] = unicode_hex($uni); - } else if ($mode == 2) { + } elseif ($mode == 2) { $uni = $g[$uni] = $ctr; $ctr++; } else { @@ -3272,7 +3233,6 @@ $pstf = ' . var_export($pstf, true) . '; return $g; } - ////////////////////////////////////////////////////////////////////////////////// function _getClasses($offset) { $this->seek($offset); @@ -3291,7 +3251,7 @@ $pstf = ' . var_export($pstf, true) . '; } } } - } else if ($ClassFormat == 2) { + } elseif ($ClassFormat == 2) { $tableCount = $this->read_ushort(); for ($i = 0; $i < $tableCount; $i++) { $startGlyphID = $this->read_ushort(); @@ -3312,215 +3272,196 @@ $pstf = ' . var_export($pstf, true) . '; return $gbc; } - ////////////////////////////////////////////////////////////////////////////////// - ////////////////////////////////////////////////////////////////////////////////// - ////////////////////////////////////////////////////////////////////////////////// - ////////////////////////////////////////////////////////////////////////////////// - ////////////////////////////////////////////////////////////////////////////////// function _getGPOStables() { /////////////////////////////////// // GPOS - Glyph Positioning /////////////////////////////////// - if (isset($this->tables["GPOS"])) { - $ffeats = []; - $gpos_offset = $this->seek_table("GPOS"); - $this->skip(4); - $ScriptList_offset = $gpos_offset + $this->read_ushort(); - $FeatureList_offset = $gpos_offset + $this->read_ushort(); - $LookupList_offset = $gpos_offset + $this->read_ushort(); + if (!isset($this->tables["GPOS"])) { + return [[], [], []]; + } - // ScriptList - $this->seek($ScriptList_offset); - $ScriptCount = $this->read_ushort(); - for ($i = 0; $i < $ScriptCount; $i++) { - $ScriptTag = $this->read_tag(); // = "beng", "deva" etc. - $ScriptTableOffset = $this->read_ushort(); - $ffeats[$ScriptTag] = $ScriptList_offset + $ScriptTableOffset; + $ffeats = []; + $gpos_offset = $this->seek_table("GPOS"); + $this->skip(4); + $ScriptList_offset = $gpos_offset + $this->read_ushort(); + $FeatureList_offset = $gpos_offset + $this->read_ushort(); + $LookupList_offset = $gpos_offset + $this->read_ushort(); + + // ScriptList + $this->seek($ScriptList_offset); + $ScriptCount = $this->read_ushort(); + for ($i = 0; $i < $ScriptCount; $i++) { + $ScriptTag = $this->read_tag(); // = "beng", "deva" etc. + $ScriptTableOffset = $this->read_ushort(); + $ffeats[$ScriptTag] = $ScriptList_offset + $ScriptTableOffset; + } + + // Script Table + foreach ($ffeats as $t => $o) { + $ls = []; + $this->seek($o); + $DefLangSys_offset = $this->read_ushort(); + if ($DefLangSys_offset > 0) { + $ls['DFLT'] = $DefLangSys_offset + $o; + } + $LangSysCount = $this->read_ushort(); + for ($i = 0; $i < $LangSysCount; $i++) { + $LangTag = $this->read_tag(); // = + $LangTableOffset = $this->read_ushort(); + $ls[$LangTag] = $o + $LangTableOffset; + } + $ffeats[$t] = $ls; + } + + // Get FeatureIndexList + // LangSys Table - from first listed langsys + foreach ($ffeats as $st => $scripts) { + foreach ($scripts as $t => $o) { + $FeatureIndex = []; + $langsystable_offset = $o; + $this->seek($langsystable_offset); + $LookUpOrder = $this->read_ushort(); //==NULL + $ReqFeatureIndex = $this->read_ushort(); + if ($ReqFeatureIndex != 0xFFFF) { + $FeatureIndex[] = $ReqFeatureIndex; + } + $FeatureCount = $this->read_ushort(); + for ($i = 0; $i < $FeatureCount; $i++) { + $FeatureIndex[] = $this->read_ushort(); // = index of feature + } + $ffeats[$st][$t] = $FeatureIndex; + } + } + // Feauture List => LookupListIndex es + $this->seek($FeatureList_offset); + $FeatureCount = $this->read_ushort(); + $Feature = []; + for ($i = 0; $i < $FeatureCount; $i++) { + $tag = $this->read_tag(); + if ($tag === 'kern') { + $this->haskernGPOS = true; + } + $Feature[$i] = ['tag' => $tag]; + $Feature[$i]['offset'] = $FeatureList_offset + $this->read_ushort(); + } + + for ($i = 0; $i < $FeatureCount; $i++) { + $this->seek($Feature[$i]['offset']); + $this->read_ushort(); // null + $Feature[$i]['LookupCount'] = $Lookupcount = $this->read_ushort(); + $Feature[$i]['LookupListIndex'] = []; + for ($c = 0; $c < $Lookupcount; $c++) { + $Feature[$i]['LookupListIndex'][] = $this->read_ushort(); + } + } + + foreach ($ffeats as $st => $scripts) { + foreach ($scripts as $t => $o) { + $FeatureIndex = $ffeats[$st][$t]; + foreach ($FeatureIndex as $k => $fi) { + $ffeats[$st][$t][$k] = $Feature[$fi]; + } + } + } + + $gpos = []; + $GPOSScriptLang = []; + foreach ($ffeats as $st => $scripts) { + + foreach ($scripts as $t => $langsys) { + + $lg = []; + foreach ($langsys as $ft) { + $lg[$ft['LookupListIndex'][0]] = $ft; + } + + // list of Lookups in order they need to be run i.e. order listed in Lookup table + ksort($lg); + foreach ($lg as $ft) { + $gpos[$st][$t][$ft['tag']] = $ft['LookupListIndex']; + } + if (!isset($GPOSScriptLang[$st])) { + $GPOSScriptLang[$st] = ''; + } + $GPOSScriptLang[$st] .= $t . ' '; + } + } + + // Get metadata and offsets for whole Lookup List table + $this->seek($LookupList_offset); + $LookupCount = $this->read_ushort(); + $Lookup = []; + $Offsets = []; + $SubtableCount = []; + + for ($i = 0; $i < $LookupCount; $i++) { + $Offsets[$i] = $LookupList_offset + $this->read_ushort(); + } + + for ($i = 0; $i < $LookupCount; $i++) { + $this->seek($Offsets[$i]); + $Lookup[$i]['Type'] = $this->read_ushort(); + $Lookup[$i]['Flag'] = $flag = $this->read_ushort(); + $Lookup[$i]['SubtableCount'] = $SubtableCount[$i] = $this->read_ushort(); + for ($c = 0; $c < $SubtableCount[$i]; $c++) { + $Lookup[$i]['Subtables'][$c] = $Offsets[$i] + $this->read_ushort(); + } + // MarkFilteringSet = Index (base 0) into GDEF mark glyph sets structure + if (($flag & 0x0010) === 0x0010) { + $Lookup[$i]['MarkFilteringSet'] = $this->read_ushort(); + } else { + $Lookup[$i]['MarkFilteringSet'] = ''; } - // Script Table - foreach ($ffeats as $t => $o) { - $ls = []; - $this->seek($o); - $DefLangSys_offset = $this->read_ushort(); - if ($DefLangSys_offset > 0) { - $ls['DFLT'] = $DefLangSys_offset + $o; - } - $LangSysCount = $this->read_ushort(); - for ($i = 0; $i < $LangSysCount; $i++) { - $LangTag = $this->read_tag(); // = - $LangTableOffset = $this->read_ushort(); - $ls[$LangTag] = $o + $LangTableOffset; - } - $ffeats[$t] = $ls; - } - - // Get FeatureIndexList - // LangSys Table - from first listed langsys - foreach ($ffeats as $st => $scripts) { - foreach ($scripts as $t => $o) { - $FeatureIndex = []; - $langsystable_offset = $o; - $this->seek($langsystable_offset); - $LookUpOrder = $this->read_ushort(); //==NULL - $ReqFeatureIndex = $this->read_ushort(); - if ($ReqFeatureIndex != 0xFFFF) { - $FeatureIndex[] = $ReqFeatureIndex; - } - $FeatureCount = $this->read_ushort(); - for ($i = 0; $i < $FeatureCount; $i++) { - $FeatureIndex[] = $this->read_ushort(); // = index of feature - } - $ffeats[$st][$t] = $FeatureIndex; - } - } -//print_r($ffeats); exit; - // Feauture List => LookupListIndex es - $this->seek($FeatureList_offset); - $FeatureCount = $this->read_ushort(); - $Feature = []; - for ($i = 0; $i < $FeatureCount; $i++) { - $tag = $this->read_tag(); - if ($tag == 'kern') { - $this->haskernGPOS = true; - } - $Feature[$i] = ['tag' => $tag]; - $Feature[$i]['offset'] = $FeatureList_offset + $this->read_ushort(); - } - for ($i = 0; $i < $FeatureCount; $i++) { - $this->seek($Feature[$i]['offset']); - $this->read_ushort(); // null - $Feature[$i]['LookupCount'] = $Lookupcount = $this->read_ushort(); - $Feature[$i]['LookupListIndex'] = []; - for ($c = 0; $c < $Lookupcount; $c++) { - $Feature[$i]['LookupListIndex'][] = $this->read_ushort(); - } - } - - foreach ($ffeats as $st => $scripts) { - foreach ($scripts as $t => $o) { - $FeatureIndex = $ffeats[$st][$t]; - foreach ($FeatureIndex as $k => $fi) { - $ffeats[$st][$t][$k] = $Feature[$fi]; - } - } - } -//print_r($ffeats); exit; - //===================================================================================== - $gpos = []; - $GPOSScriptLang = []; - foreach ($ffeats as $st => $scripts) { - foreach ($scripts as $t => $langsys) { - $lg = []; - foreach ($langsys as $ft) { - $lg[$ft['LookupListIndex'][0]] = $ft; - } - // list of Lookups in order they need to be run i.e. order listed in Lookup table - ksort($lg); - foreach ($lg as $ft) { - $gpos[$st][$t][$ft['tag']] = $ft['LookupListIndex']; - } - if (!isset($GPOSScriptLang[$st])) { - $GPOSScriptLang[$st] = ''; - } - $GPOSScriptLang[$st] .= $t . ' '; - } - } - - //===================================================================================== - // Get metadata and offsets for whole Lookup List table - $this->seek($LookupList_offset); - $LookupCount = $this->read_ushort(); - $Lookup = []; - $Offsets = []; - $SubtableCount = []; - for ($i = 0; $i < $LookupCount; $i++) { - $Offsets[$i] = $LookupList_offset + $this->read_ushort(); - } - for ($i = 0; $i < $LookupCount; $i++) { - $this->seek($Offsets[$i]); - $Lookup[$i]['Type'] = $this->read_ushort(); - $Lookup[$i]['Flag'] = $flag = $this->read_ushort(); - $Lookup[$i]['SubtableCount'] = $SubtableCount[$i] = $this->read_ushort(); + // Lookup Type 9: Extension + if ($Lookup[$i]['Type'] == 9) { + // Overwrites new offset (32-bit) for each subtable, and a new lookup Type for ($c = 0; $c < $SubtableCount[$i]; $c++) { - $Lookup[$i]['Subtables'][$c] = $Offsets[$i] + $this->read_ushort(); - } - // MarkFilteringSet = Index (base 0) into GDEF mark glyph sets structure - if (($flag & 0x0010) == 0x0010) { - $Lookup[$i]['MarkFilteringSet'] = $this->read_ushort(); - } else { - $Lookup[$i]['MarkFilteringSet'] = ''; - } - - // Lookup Type 9: Extension - if ($Lookup[$i]['Type'] == 9) { - // Overwrites new offset (32-bit) for each subtable, and a new lookup Type - for ($c = 0; $c < $SubtableCount[$i]; $c++) { - $this->seek($Lookup[$i]['Subtables'][$c]); - $ExtensionPosFormat = $this->read_ushort(); - $type = $this->read_ushort(); - $Lookup[$i]['Subtables'][$c] = $Lookup[$i]['Subtables'][$c] + $this->read_ulong(); - } - $Lookup[$i]['Type'] = $type; - } - } - - //===================================================================================== - // Process Whole LookupList - Get LuCoverage = Lookup coverage just for first glyph - $this->LuCoverage = []; - for ($i = 0; $i < $LookupCount; $i++) { - for ($c = 0; $c < $Lookup[$i]['SubtableCount']; $c++) { $this->seek($Lookup[$i]['Subtables'][$c]); - $PosFormat = $this->read_ushort(); - - if ($Lookup[$i]['Type'] == 7 && $PosFormat == 3) { - $this->skip(4); - } else if ($Lookup[$i]['Type'] == 8 && $PosFormat == 3) { - $BacktrackGlyphCount = $this->read_ushort(); - $this->skip(2 * $BacktrackGlyphCount + 2); - } - // NB Coverage only looks at glyphs for position 1 (i.e. 7.3 and 8.3) // NEEDS TO READ ALL ******************** - // NB For e.g. Type 4, this may be the Coverage for the Mark - $Coverage = $Lookup[$i]['Subtables'][$c] + $this->read_ushort(); - $this->seek($Coverage); - $glyphs = $this->_getCoverage(false, 2); - $this->LuCoverage[$i][$c] = $glyphs; + $ExtensionPosFormat = $this->read_ushort(); + $type = $this->read_ushort(); + $Lookup[$i]['Subtables'][$c] = $Lookup[$i]['Subtables'][$c] + $this->read_ulong(); } + $Lookup[$i]['Type'] = $type; } + } - //===================================================================================== -//print_r($GPOSScriptLang); exit; -//print_r($gpos); exit; -//print_r($Lookup); exit; + // Process Whole LookupList - Get LuCoverage = Lookup coverage just for first glyph + $this->LuCoverage = []; + for ($i = 0; $i < $LookupCount; $i++) { + for ($c = 0; $c < $Lookup[$i]['SubtableCount']; $c++) { + $this->seek($Lookup[$i]['Subtables'][$c]); + $PosFormat = $this->read_ushort(); - $s = 'LuCoverage, true) . '; -?>'; + if ($Lookup[$i]['Type'] == 7 && $PosFormat == 3) { + $this->skip(4); + } elseif ($Lookup[$i]['Type'] == 8 && $PosFormat == 3) { + $BacktrackGlyphCount = $this->read_ushort(); + $this->skip(2 * $BacktrackGlyphCount + 2); + } + // NB Coverage only looks at glyphs for position 1 (i.e. 7.3 and 8.3) // NEEDS TO READ ALL ******************** + // NB For e.g. Type 4, this may be the Coverage for the Mark + $Coverage = $Lookup[$i]['Subtables'][$c] + $this->read_ushort(); + $this->seek($Coverage); + $glyphs = $this->_getCoverage(false, 2); + $this->LuCoverage[$i][$c] = $glyphs; + } + } - $this->fontCache->write($this->fontkey . '.GPOSdata.php', $s); + $this->fontCache->jsonWrite($this->fontkey . '.GPOSdata.json', $this->LuCoverage); - return [$GPOSScriptLang, $gpos, $Lookup]; - } // end if GPOS + return [$GPOSScriptLang, $gpos, $Lookup]; } - ////////////////////////////////////////////////////////////////////////////////// - //===================================================================================== - //===================================================================================== - //===================================================================================== - //===================================================================================== - //===================================================================================== - //===================================================================================== - function makeSubset($file, &$subset, $TTCfontID = 0, $debug = false, $useOTL = false) { - // mPDF 5.7.1 - $this->useOTL = $useOTL; // mPDF 5.7.1 + $this->useOTL = $useOTL; $this->filename = $file; $this->fh = fopen($file, 'rb'); if (!$this->fh) { - throw new \Mpdf\MpdfException('Can\'t open file ' . $file); + throw new \Mpdf\Exception\FontException(sprintf('Unable to open file %s', $file)); } $this->_pos = 0; @@ -3537,10 +3478,11 @@ $LuCoverage = ' . var_export($this->LuCoverage, true) . '; $this->TTCFonts = []; $this->skip(4); $this->maxUni = 0; + if ($TTCfontID > 0) { $this->version = $version = $this->read_ulong(); // TTC Header version now - if (!in_array($version, [0x00010000, 0x00020000])) { - throw new \Mpdf\MpdfException("ERROR - Error parsing TrueType Collection: version=" . $version . " - " . $file); + if (!in_array($version, [0x00010000, 0x00020000], true)) { + throw new \Mpdf\Exception\FontException(sprintf('Error parsing TrueType Collection: version=%s - %s', $version, $file)); } $this->numTTCFonts = $this->read_ulong(); for ($i = 1; $i <= $this->numTTCFonts; $i++) { @@ -3551,33 +3493,25 @@ $LuCoverage = ' . var_export($this->LuCoverage, true) . '; } $this->readTableDirectory($debug); - /////////////////////////////////// // head - Font header table - /////////////////////////////////// - $this->seek_table("head"); + $this->seek_table('head'); $this->skip(50); $indexToLocFormat = $this->read_ushort(); $glyphDataFormat = $this->read_ushort(); - /////////////////////////////////// // hhea - Horizontal header table - /////////////////////////////////// - $this->seek_table("hhea"); + $this->seek_table('hhea'); $this->skip(32); $metricDataFormat = $this->read_ushort(); $orignHmetrics = $numberOfHMetrics = $this->read_ushort(); - /////////////////////////////////// // maxp - Maximum profile table - /////////////////////////////////// - $this->seek_table("maxp"); + $this->seek_table('maxp'); $this->skip(4); $numGlyphs = $this->read_ushort(); - /////////////////////////////////// // cmap - Character to glyph index mapping table - /////////////////////////////////// - $cmap_offset = $this->seek_table("cmap"); + $cmap_offset = $this->seek_table('cmap'); $this->skip(2); $cmapTableCount = $this->read_ushort(); $unicode_cmap_offset = 0; @@ -3597,15 +3531,13 @@ $LuCoverage = ' . var_export($this->LuCoverage, true) . '; } if (!$unicode_cmap_offset) { - throw new \Mpdf\MpdfException('Font (' . $this->filename . ') does not have Unicode cmap (platform 3, encoding 1, format 4, or platform 0 [any encoding] format 4)'); + throw new \Mpdf\Exception\FontException(sprintf('Font "%s" does not have Unicode cmap (platform 3, encoding 1, format 4, or platform 0 [any encoding] format 4)', $this->filename)); } $glyphToChar = []; $charToGlyph = []; $this->getCMAP4($unicode_cmap_offset, $glyphToChar, $charToGlyph); - /////////////////////////////////// - // mPDF 5.7.1 // Map Unmapped glyphs - from $numGlyphs if ($useOTL) { $bctr = 0xE000; @@ -3615,7 +3547,7 @@ $LuCoverage = ' . var_export($this->LuCoverage, true) . '; $bctr++; } // Avoid overwriting a glyph already mapped in PUA if ($bctr > 0xF8FF) { - throw new \Mpdf\MpdfException($file . " : WARNING - Font cannot map all included glyphs into Private Use Area U+E000 - U+F8FF; cannot use useOTL on this font"); + throw new \Mpdf\Exception\FontException($file . " : WARNING - Font cannot map all included glyphs into Private Use Area U+E000 - U+F8FF; cannot use useOTL on this font"); } $glyphToChar[$gid][] = $bctr; $charToGlyph[$bctr] = $gid; @@ -3623,20 +3555,15 @@ $LuCoverage = ' . var_export($this->LuCoverage, true) . '; } } } - /////////////////////////////////// $this->charToGlyph = $charToGlyph; $this->glyphToChar = $glyphToChar; - /////////////////////////////////// // hmtx - Horizontal metrics table - /////////////////////////////////// $scale = 1; // not used $this->getHMTX($numberOfHMetrics, $numGlyphs, $glyphToChar, $scale); - /////////////////////////////////// // loca - Index to location - /////////////////////////////////// $this->getLOCA($indexToLocFormat, $numGlyphs); $subsetglyphs = [0 => 0, 1 => 1, 2 => 2]; @@ -3661,6 +3588,7 @@ $LuCoverage = ' . var_export($this->LuCoverage, true) . '; $n++; } + $codeToGlyph = []; ksort($subsetCharToGlyph); foreach ($subsetCharToGlyph as $uni => $originalGlyphIdx) { $codeToGlyph[$uni] = $glyphSet[$originalGlyphIdx]; @@ -3674,18 +3602,13 @@ $LuCoverage = ' . var_export($this->LuCoverage, true) . '; $numGlyphs = $numberOfHMetrics = count($subsetglyphs); - /////////////////////////////////// // name - table copied from the original - /////////////////////////////////// // MS spec says that "Platform and encoding ID's in the name table should be consistent with those in the cmap table. // If they are not, the font will not load in Windows" // Doesn't seem to be a problem? - /////////////////////////////////// $this->add('name', $this->get_table('name')); - /////////////////////////////////// - //tables copied from the original - /////////////////////////////////// + // tables copied from the original $tags = ['cvt ', 'fpgm', 'prep', 'gasp']; foreach ($tags as $tag) { if (isset($this->tables[$tag])) { @@ -3693,25 +3616,22 @@ $LuCoverage = ' . var_export($this->LuCoverage, true) . '; } } - /////////////////////////////////// // post - PostScript - /////////////////////////////////// if (isset($this->tables['post'])) { $opost = $this->get_table('post'); $post = "\x00\x03\x00\x00" . substr($opost, 4, 12) . "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"; $this->add('post', $post); } - /////////////////////////////////// // Sort CID2GID map into segments of contiguous codes - /////////////////////////////////// ksort($codeToGlyph); unset($codeToGlyph[0]); - //unset($codeToGlyph[65535]); + $rangeid = 0; $range = []; $prevcid = -2; $prevglidx = -1; + // for each character foreach ($codeToGlyph as $cid => $glidx) { if ($cid == ($prevcid + 1) && $glidx == ($prevglidx + 1)) { @@ -3726,21 +3646,21 @@ $LuCoverage = ' . var_export($this->LuCoverage, true) . '; $prevglidx = $glidx; } - /////////////////////////////////// - // CMap table - /////////////////////////////////// // cmap - Character to glyph mapping $segCount = count($range) + 1; // + 1 Last segment has missing character 0xFFFF $searchRange = 1; $entrySelector = 0; + while ($searchRange * 2 <= $segCount) { - $searchRange = $searchRange * 2; - $entrySelector = $entrySelector + 1; + $searchRange *= 2; + ++$entrySelector; } - $searchRange = $searchRange * 2; + + $searchRange *= 2; $rangeShift = $segCount * 2 - $searchRange; $length = 16 + (8 * $segCount) + ($numGlyphs + 1); - $cmap = [0, 3, // Index : version, number of encoding subtables + $cmap = [ + 0, 3, // Index : version, number of encoding subtables 0, 0, // Encoding Subtable : platform (UNI=0), encoding 0 0, 28, // Encoding Subtable : offset (hi,lo) 0, 3, // Encoding Subtable : platform (UNI=0), encoding 3 @@ -3751,47 +3671,55 @@ $LuCoverage = ' . var_export($this->LuCoverage, true) . '; $segCount * 2, $searchRange, $entrySelector, - $rangeShift]; + $rangeShift, + ]; // endCode(s) foreach ($range as $start => $subrange) { $endCode = $start + (count($subrange) - 1); $cmap[] = $endCode; // endCode(s) } + $cmap[] = 0xFFFF; // endCode of last Segment $cmap[] = 0; // reservedPad + // startCode(s) foreach ($range as $start => $subrange) { $cmap[] = $start; // startCode(s) } + $cmap[] = 0xFFFF; // startCode of last Segment + // idDelta(s) foreach ($range as $start => $subrange) { $idDelta = -($start - $subrange[0]); $n += count($subrange); $cmap[] = $idDelta; // idDelta(s) } + $cmap[] = 1; // idDelta of last Segment // idRangeOffset(s) + foreach ($range as $subrange) { $cmap[] = 0; // idRangeOffset[segCount] Offset in bytes to glyph indexArray, or 0 } + $cmap[] = 0; // idRangeOffset of last Segment foreach ($range as $subrange) { foreach ($subrange as $glidx) { $cmap[] = $glidx; } } + $cmap[] = 0; // Mapping for last character $cmapstr = ''; + foreach ($cmap as $cm) { - $cmapstr .= pack("n", $cm); + $cmapstr .= pack('n', $cm); } $this->add('cmap', $cmapstr); - /////////////////////////////////// // glyf - Glyph data - /////////////////////////////////// list($glyfOffset, $glyfLength) = $this->get_table_pos('glyf'); if ($glyfLength < $this->maxStrLenRead) { $glyphData = $this->get_table('glyf'); @@ -3874,15 +3802,16 @@ $LuCoverage = ' . var_export($this->LuCoverage, true) . '; } if ($flags & GlyphOperator::SCALE) { $pos_in_glyph += 2; - } else if ($flags & GlyphOperator::XYSCALE) { + } elseif ($flags & GlyphOperator::XYSCALE) { $pos_in_glyph += 4; - } else if ($flags & GlyphOperator::TWOBYTWO) { + } elseif ($flags & GlyphOperator::TWOBYTWO) { $pos_in_glyph += 8; } } $maxComponentElements = max($maxComponentElements, $nComponentElements); + } // Simple Glyph - else if (_RECALC_PROFILE && $glyphLen > 2 && $up[1] < (1 << 15) && $up[1] > 0) { // Number of contours > 0 simple glyph + elseif (_RECALC_PROFILE && $glyphLen > 2 && $up[1] < (1 << 15) && $up[1] > 0) { // Number of contours > 0 simple glyph $nContours = $up[1]; $this->glyphdata[$originalGlyphIdx]['nContours'] = $nContours; $maxContours = max($maxContours, $nContours); @@ -3919,33 +3848,28 @@ $LuCoverage = ' . var_export($this->LuCoverage, true) . '; $offsets[] = $pos; $this->add('glyf', $glyf); - /////////////////////////////////// // hmtx - Horizontal Metrics - /////////////////////////////////// $this->add('hmtx', $hmtxstr); - /////////////////////////////////// // loca - Index to location - /////////////////////////////////// $locastr = ''; if ((($pos + 1) >> 1) > 0xFFFF) { - $indexToLocFormat = 1; // long format + $indexToLocFormat = 1; // long format foreach ($offsets as $offset) { $locastr .= pack("N", $offset); } } else { - $indexToLocFormat = 0; // short format + $indexToLocFormat = 0; // short format foreach ($offsets as $offset) { $locastr .= pack("n", ($offset / 2)); } } $this->add('loca', $locastr); - /////////////////////////////////// // head - Font header - /////////////////////////////////// $head = $this->get_table('head'); $head = $this->_set_ushort($head, 50, $indexToLocFormat); + if (_RECALC_PROFILE) { $head = $this->_set_short($head, 36, $xMinT); // for all glyph bounding boxes $head = $this->_set_short($head, 38, $yMinT); // for all glyph bounding boxes @@ -3953,11 +3877,10 @@ $LuCoverage = ' . var_export($this->LuCoverage, true) . '; $head = $this->_set_short($head, 42, $yMaxT); // for all glyph bounding boxes $head[17] = chr($head[17] & ~(1 << 4)); // Unset Bit 4 (as hdmx/LTSH tables not included) } + $this->add('head', $head); - /////////////////////////////////// // hhea - Horizontal Header - /////////////////////////////////// $hhea = $this->get_table('hhea'); $hhea = $this->_set_ushort($hhea, 34, $numberOfHMetrics); if (_RECALC_PROFILE) { @@ -3968,9 +3891,7 @@ $LuCoverage = ' . var_export($this->LuCoverage, true) . '; } $this->add('hhea', $hhea); - /////////////////////////////////// // maxp - Maximum Profile - /////////////////////////////////// $maxp = $this->get_table('maxp'); $maxp = $this->_set_ushort($maxp, 4, $numGlyphs); if (_RECALC_PROFILE) { @@ -3983,9 +3904,7 @@ $LuCoverage = ' . var_export($this->LuCoverage, true) . '; } $this->add('maxp', $maxp); - /////////////////////////////////// // OS/2 - OS/2 - /////////////////////////////////// if (isset($this->tables['OS/2'])) { $os2_offset = $this->seek_table("OS/2"); if (_RECALC_PROFILE) { @@ -4020,23 +3939,20 @@ $LuCoverage = ' . var_export($this->LuCoverage, true) . '; } fclose($this->fh); + // Put the TTF file together $stm = ''; $this->endTTFile($stm); - //file_put_contents('testfont.ttf', $stm); exit; return $stm; } - //================================================================================ - // Also does SMP function makeSubsetSIP($file, &$subset, $TTCfontID = 0, $debug = false, $useOTL = 0) { - // mPDF 5.7.1 $this->fh = fopen($file, 'rb'); if (!$this->fh) { - throw new \Mpdf\MpdfException('Can\'t open file ' . $file); + throw new \Mpdf\Exception\FontException(sprintf('Unable to open file "%s"', $file)); } $this->filename = $file; @@ -4054,10 +3970,11 @@ $LuCoverage = ' . var_export($this->LuCoverage, true) . '; $this->numTTCFonts = 0; $this->TTCFonts = []; $this->skip(4); + if ($TTCfontID > 0) { $this->version = $version = $this->read_ulong(); // TTC Header version now if (!in_array($version, [0x00010000, 0x00020000])) { - throw new \Mpdf\MpdfException("ERROR - Error parsing TrueType Collection: version=" . $version . " - " . $file); + throw new \Mpdf\Exception\FontException("ERROR - Error parsing TrueType Collection: version=" . $version . " - " . $file); } $this->numTTCFonts = $this->read_ulong(); for ($i = 1; $i <= $this->numTTCFonts; $i++) { @@ -4068,42 +3985,35 @@ $LuCoverage = ' . var_export($this->LuCoverage, true) . '; } $this->readTableDirectory($debug); - /////////////////////////////////// // head - Font header table - /////////////////////////////////// - $this->seek_table("head"); + $this->seek_table('head'); $this->skip(50); $indexToLocFormat = $this->read_ushort(); $glyphDataFormat = $this->read_ushort(); - /////////////////////////////////// // hhea - Horizontal header table - /////////////////////////////////// - $this->seek_table("hhea"); + $this->seek_table('hhea'); $this->skip(32); $metricDataFormat = $this->read_ushort(); $orignHmetrics = $numberOfHMetrics = $this->read_ushort(); - /////////////////////////////////// // maxp - Maximum profile table - /////////////////////////////////// - $this->seek_table("maxp"); + $this->seek_table('maxp'); $this->skip(4); $numGlyphs = $this->read_ushort(); - /////////////////////////////////// // cmap - Character to glyph index mapping table - /////////////////////////////////// - - $cmap_offset = $this->seek_table("cmap"); + $cmap_offset = $this->seek_table('cmap'); $this->skip(2); $cmapTableCount = $this->read_ushort(); $unicode_cmap_offset = 0; for ($i = 0; $i < $cmapTableCount; $i++) { + $platformID = $this->read_ushort(); $encodingID = $this->read_ushort(); $offset = $this->read_ulong(); $save_pos = $this->_pos; + if (($platformID == 3 && $encodingID == 10) || $platformID == 0) { // Microsoft, Unicode Format 12 table HKCS $format = $this->get_ushort($cmap_offset + $offset); if ($format == 12) { @@ -4111,18 +4021,19 @@ $LuCoverage = ' . var_export($this->LuCoverage, true) . '; break; } } - // mPDF 5.7.1 + if (($platformID == 3 && $encodingID == 1) || $platformID == 0) { // Microsoft, Unicode $format = $this->get_ushort($cmap_offset + $offset); if ($format == 4) { $unicode_cmap_offset = $cmap_offset + $offset; } } + $this->seek($save_pos); } if (!$unicode_cmap_offset) { - throw new \Mpdf\MpdfException('Font does not have cmap for Unicode (platform 3, encoding 1, format 4, or platform 0, any encoding, format 4)'); + throw new \Mpdf\Exception\FontException(sprintf('Font "%s" does not have cmap for Unicode (platform 3, encoding 1, format 4, or platform 0, any encoding, format 4)', $file)); } // Format 12 CMAP does characters above Unicode BMP i.e. some HKCS characters U+20000 and above @@ -4153,15 +4064,12 @@ $LuCoverage = ' . var_export($this->LuCoverage, true) . '; } } } - } // mPDF 5.7.1 - else { + } else { $glyphToChar = []; $charToGlyph = []; $this->getCMAP4($unicode_cmap_offset, $glyphToChar, $charToGlyph); } - /////////////////////////////////// - // mPDF 5.7.1 // Map Unmapped glyphs - from $numGlyphs if ($useOTL) { $bctr = 0xE000; @@ -4184,34 +4092,29 @@ $LuCoverage = ' . var_export($this->LuCoverage, true) . '; } } } - /////////////////////////////////// - /////////////////////////////////// + // hmtx - Horizontal metrics table - /////////////////////////////////// $scale = 1; // not used here $this->getHMTX($numberOfHMetrics, $numGlyphs, $glyphToChar, $scale); - /////////////////////////////////// // loca - Index to location - /////////////////////////////////// $this->getLOCA($indexToLocFormat, $numGlyphs); - /////////////////////////////////////////////////////////////////// - $glyphMap = [0 => 0]; $glyphSet = [0 => 0]; $codeToGlyph = []; + // Set a substitute if ASCII characters do not have glyphs if (isset($charToGlyph[0x3F])) { $subs = $charToGlyph[0x3F]; - } // Question mark - else { + } else { // Question mark $subs = $charToGlyph[32]; } + foreach ($subset as $code) { if (isset($charToGlyph[$code])) { $originalGlyphIdx = $charToGlyph[$code]; - } else if ($code < 128) { + } elseif ($code < 128) { $originalGlyphIdx = $subs; } else { $originalGlyphIdx = 0; @@ -4230,7 +4133,7 @@ $LuCoverage = ' . var_export($this->LuCoverage, true) . '; $originalGlyphIdx = $glyphMap[$n]; $glyphPos = $this->glyphPos[$originalGlyphIdx]; $glyphLen = $this->glyphPos[$originalGlyphIdx + 1] - $glyphPos; - $n += 1; + ++$n; if (!$glyphLen) { continue; } @@ -4253,9 +4156,9 @@ $LuCoverage = ' . var_export($this->LuCoverage, true) . '; } if ($flags & GlyphOperator::SCALE) { $this->skip(2); - } else if ($flags & GlyphOperator::XYSCALE) { + } elseif ($flags & GlyphOperator::XYSCALE) { $this->skip(4); - } else if ($flags & GlyphOperator::TWOBYTWO) { + } elseif ($flags & GlyphOperator::TWOBYTWO) { $this->skip(8); } } @@ -4265,13 +4168,9 @@ $LuCoverage = ' . var_export($this->LuCoverage, true) . '; $numGlyphs = $n = count($glyphMap); $numberOfHMetrics = $n; - /////////////////////////////////// - // name - /////////////////////////////////// // MS spec says that "Platform and encoding ID's in the name table should be consistent with those in the cmap table. // If they are not, the font will not load in Windows" // Doesn't seem to be a problem? - /////////////////////////////////// // Needs to have a name entry in 3,0 (e.g. symbol) - original font will be 3,1 (i.e. Unicode) $name = $this->get_table('name'); $name_offset = $this->seek_table("name"); @@ -4289,9 +4188,7 @@ $LuCoverage = ' . var_export($this->LuCoverage, true) . '; } $this->add('name', $name); - /////////////////////////////////// // OS/2 - /////////////////////////////////// if (isset($this->tables['OS/2'])) { $os2 = $this->get_table('OS/2'); $os2 = $this->_set_ushort($os2, 42, 0x00); // ulCharRange (Unicode ranges) @@ -4316,9 +4213,7 @@ $LuCoverage = ' . var_export($this->LuCoverage, true) . '; $this->add('OS/2', $os2); } - /////////////////////////////////// //tables copied from the original - /////////////////////////////////// $tags = ['cvt ', 'fpgm', 'prep', 'gasp']; foreach ($tags as $tag) { // 1.02 if (isset($this->tables[$tag])) { @@ -4326,39 +4221,30 @@ $LuCoverage = ' . var_export($this->LuCoverage, true) . '; } } - /////////////////////////////////// // post - PostScript - /////////////////////////////////// if (isset($this->tables['post'])) { $opost = $this->get_table('post'); $post = "\x00\x03\x00\x00" . substr($opost, 4, 12) . "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"; } $this->add('post', $post); - /////////////////////////////////// // hhea - Horizontal Header - /////////////////////////////////// $hhea = $this->get_table('hhea'); $hhea = $this->_set_ushort($hhea, 34, $numberOfHMetrics); $this->add('hhea', $hhea); - /////////////////////////////////// // maxp - Maximum Profile - /////////////////////////////////// $maxp = $this->get_table('maxp'); $maxp = $this->_set_ushort($maxp, 4, $numGlyphs); $this->add('maxp', $maxp); - /////////////////////////////////// // CMap table Formats [1,0,]6 and [3,0,]4 - /////////////////////////////////// - /////////////////////////////////// // Sort CID2GID map into segments of contiguous codes - /////////////////////////////////// $rangeid = 0; $range = []; $prevcid = -2; $prevglidx = -1; + // for each character foreach ($subset as $cid => $code) { $glidx = $codeToGlyph[$code]; @@ -4373,14 +4259,17 @@ $LuCoverage = ' . var_export($this->LuCoverage, true) . '; $prevcid = $cid; $prevglidx = $glidx; } + // cmap - Character to glyph mapping $segCount = count($range) + 1; // + 1 Last segment has missing character 0xFFFF $searchRange = 1; $entrySelector = 0; + while ($searchRange * 2 <= $segCount) { $searchRange = $searchRange * 2; $entrySelector = $entrySelector + 1; } + $searchRange = $searchRange * 2; $rangeShift = $segCount * 2 - $searchRange; $length = 16 + (8 * $segCount) + ($numGlyphs + 1); @@ -4389,7 +4278,8 @@ $LuCoverage = ' . var_export($this->LuCoverage, true) . '; $segCount * 2, $searchRange, $entrySelector, - $rangeShift]; + $rangeShift, + ]; // endCode(s) foreach ($range as $start => $subrange) { @@ -4398,11 +4288,13 @@ $LuCoverage = ' . var_export($this->LuCoverage, true) . '; } $cmap[] = 0xFFFF; // endCode of last Segment $cmap[] = 0; // reservedPad + // startCode(s) foreach ($range as $start => $subrange) { $cmap[] = $start; // startCode(s) } $cmap[] = 0xFFFF; // startCode of last Segment + // idDelta(s) foreach ($range as $start => $subrange) { $idDelta = -($start - $subrange[0]); @@ -4410,25 +4302,26 @@ $LuCoverage = ' . var_export($this->LuCoverage, true) . '; $cmap[] = $idDelta; // idDelta(s) } $cmap[] = 1; // idDelta of last Segment + // idRangeOffset(s) foreach ($range as $subrange) { $cmap[] = 0; // idRangeOffset[segCount] Offset in bytes to glyph indexArray, or 0 } + $cmap[] = 0; // idRangeOffset of last Segment foreach ($range as $subrange) { foreach ($subrange as $glidx) { $cmap[] = $glidx; } } + $cmap[] = 0; // Mapping for last character $cmapstr4 = ''; foreach ($cmap as $cm) { $cmapstr4 .= pack("n", $cm); } - /////////////////////////////////// // cmap - Character to glyph mapping - /////////////////////////////////// $entryCount = count($subset); $length = 10 + $entryCount * 2; @@ -4436,7 +4329,8 @@ $LuCoverage = ' . var_export($this->LuCoverage, true) . '; $hoff = $off >> 16; $loff = $off & 0xFFFF; - $cmap = [0, 2, // Index : version, number of subtables + $cmap = [ + 0, 2, // Index : version, number of subtables 1, 0, // Subtable : platform, encoding 0, 20, // offset (hi,lo) 3, 0, // Subtable : platform, encoding // See note above for 'name' @@ -4445,19 +4339,20 @@ $LuCoverage = ' . var_export($this->LuCoverage, true) . '; 0, 1, // language, First char code $entryCount, ]; + $cmapstr = ''; foreach ($subset as $code) { $cmap[] = $codeToGlyph[$code]; } + foreach ($cmap as $cm) { $cmapstr .= pack("n", $cm); } + $cmapstr .= $cmapstr4; $this->add('cmap', $cmapstr); - /////////////////////////////////// // hmtx - Horizontal Metrics - /////////////////////////////////// $hmtxstr = ''; for ($n = 0; $n < $numGlyphs; $n++) { $originalGlyphIdx = $glyphMap[$n]; @@ -4466,9 +4361,7 @@ $LuCoverage = ' . var_export($this->LuCoverage, true) . '; } $this->add('hmtx', $hmtxstr); - /////////////////////////////////// // glyf - Glyph data - /////////////////////////////////// list($glyfOffset, $glyfLength) = $this->get_table_pos('glyf'); if ($glyfLength < $this->maxStrLenRead) { $glyphData = $this->get_table('glyf'); @@ -4478,10 +4371,12 @@ $LuCoverage = ' . var_export($this->LuCoverage, true) . '; $glyf = ''; $pos = 0; for ($n = 0; $n < $numGlyphs; $n++) { + $offsets[] = $pos; $originalGlyphIdx = $glyphMap[$n]; $glyphPos = $this->glyphPos[$originalGlyphIdx]; $glyphLen = $this->glyphPos[$originalGlyphIdx + 1] - $glyphPos; + if ($glyfLength < $this->maxStrLenRead) { $data = substr($glyphData, $glyphPos, $glyphLen); } else { @@ -4491,47 +4386,54 @@ $LuCoverage = ' . var_export($this->LuCoverage, true) . '; $data = ''; } } + if ($glyphLen > 0) { - $up = unpack("n", substr($data, 0, 2)); + $up = unpack('n', substr($data, 0, 2)); } + if ($glyphLen > 2 && ($up[1] & (1 << 15))) { + $pos_in_glyph = 10; $flags = GlyphOperator::MORE; + while ($flags & GlyphOperator::MORE) { - $up = unpack("n", substr($data, $pos_in_glyph, 2)); + $up = unpack('n', substr($data, $pos_in_glyph, 2)); $flags = $up[1]; - $up = unpack("n", substr($data, $pos_in_glyph + 2, 2)); + $up = unpack('n', substr($data, $pos_in_glyph + 2, 2)); $glyphIdx = $up[1]; $data = $this->_set_ushort($data, $pos_in_glyph + 2, $glyphSet[$glyphIdx]); $pos_in_glyph += 4; + if ($flags & GlyphOperator::WORDS) { $pos_in_glyph += 4; } else { $pos_in_glyph += 2; } + if ($flags & GlyphOperator::SCALE) { $pos_in_glyph += 2; - } else if ($flags & GlyphOperator::XYSCALE) { + } elseif ($flags & GlyphOperator::XYSCALE) { $pos_in_glyph += 4; - } else if ($flags & GlyphOperator::TWOBYTWO) { + } elseif ($flags & GlyphOperator::TWOBYTWO) { $pos_in_glyph += 8; } } } + $glyf .= $data; $pos += $glyphLen; + if ($pos % 4 != 0) { $padding = 4 - ($pos % 4); $glyf .= str_repeat("\0", $padding); $pos += $padding; } } + $offsets[] = $pos; $this->add('glyf', $glyf); - /////////////////////////////////// // loca - Index to location - /////////////////////////////////// $locastr = ''; if ((($pos + 1) >> 1) > 0xFFFF) { $indexToLocFormat = 1; // long format @@ -4544,53 +4446,51 @@ $LuCoverage = ' . var_export($this->LuCoverage, true) . '; $locastr .= pack("n", ($offset / 2)); } } + $this->add('loca', $locastr); - /////////////////////////////////// // head - Font header - /////////////////////////////////// $head = $this->get_table('head'); $head = $this->_set_ushort($head, 50, $indexToLocFormat); $this->add('head', $head); fclose($this->fh); - // Put the TTF file together $stm = ''; $this->endTTFile($stm); - //file_put_contents('testfont.ttf', $stm); exit; return $stm; } - ////////////////////////////////////////////////////////////////////////////////// - // Recursively get composite glyph data function getGlyphData($originalGlyphIdx, &$maxdepth, &$depth, &$points, &$contours) { $depth++; $maxdepth = max($maxdepth, $depth); + if (count($this->glyphdata[$originalGlyphIdx]['compGlyphs'])) { foreach ($this->glyphdata[$originalGlyphIdx]['compGlyphs'] as $glyphIdx) { $this->getGlyphData($glyphIdx, $maxdepth, $depth, $points, $contours); } - } else if (($this->glyphdata[$originalGlyphIdx]['nContours'] > 0) && $depth > 0) { // simple + } elseif (($this->glyphdata[$originalGlyphIdx]['nContours'] > 0) && $depth > 0) { // simple $contours += $this->glyphdata[$originalGlyphIdx]['nContours']; $points += $this->glyphdata[$originalGlyphIdx]['nPoints']; } + $depth--; } - ////////////////////////////////////////////////////////////////////////////////// - // Recursively get composite glyphs function getGlyphs($originalGlyphIdx, &$start, &$glyphSet, &$subsetglyphs) { $glyphPos = $this->glyphPos[$originalGlyphIdx]; $glyphLen = $this->glyphPos[$originalGlyphIdx + 1] - $glyphPos; + if (!$glyphLen) { return; } + $this->seek($start + $glyphPos); $numberOfContours = $this->read_short(); + if ($numberOfContours < 0) { $this->skip(8); $flags = GlyphOperator::MORE; @@ -4611,36 +4511,39 @@ $LuCoverage = ' . var_export($this->LuCoverage, true) . '; } if ($flags & GlyphOperator::SCALE) { $this->skip(2); - } else if ($flags & GlyphOperator::XYSCALE) { + } elseif ($flags & GlyphOperator::XYSCALE) { $this->skip(4); - } else if ($flags & GlyphOperator::TWOBYTWO) { + } elseif ($flags & GlyphOperator::TWOBYTWO) { $this->skip(8); } } } } - ////////////////////////////////////////////////////////////////////////////////// - function getHMTX($numberOfHMetrics, $numGlyphs, &$glyphToChar, $scale) { - $start = $this->seek_table("hmtx"); + $start = $this->seek_table('hmtx'); $aw = 0; $this->charWidths = str_pad('', 256 * 256 * 2, "\x00"); + if ($this->maxUniChar > 65536) { $this->charWidths .= str_pad('', 256 * 256 * 2, "\x00"); } // Plane 1 SMP + if ($this->maxUniChar > 131072) { $this->charWidths .= str_pad('', 256 * 256 * 2, "\x00"); } // Plane 2 SMP + $nCharWidths = 0; if (($numberOfHMetrics * 4) < $this->maxStrLenRead) { - $data = $this->get_chunk($start, ($numberOfHMetrics * 4)); - $arr = unpack("n*", $data); + $data = $this->get_chunk($start, $numberOfHMetrics * 4); + $arr = unpack('n*', $data); } else { $this->seek($start); } + for ($glyph = 0; $glyph < $numberOfHMetrics; $glyph++) { + if (($numberOfHMetrics * 4) < $this->maxStrLenRead) { $aw = $arr[($glyph * 2) + 1]; } else { @@ -4650,16 +4553,19 @@ $LuCoverage = ' . var_export($this->LuCoverage, true) . '; if (isset($glyphToChar[$glyph]) || $glyph == 0) { if ($aw >= (1 << 15)) { $aw = 0; - } // 1.03 Some (arabic) fonts have -ve values for width + } + + // 1.03 Some (arabic) fonts have -ve values for width // although should be unsigned value - comes out as e.g. 65108 (intended -50) - if ($glyph == 0) { + if ($glyph === 0) { $this->defaultWidth = $scale * $aw; continue; } + foreach ($glyphToChar[$glyph] as $char) { if ($char != 0 && $char != 65535) { - $w = intval(round($scale * $aw)); - if ($w == 0) { + $w = (int) round($scale * $aw); + if ($w === 0) { $w = 65535; } if ($char < 196608) { @@ -4675,8 +4581,8 @@ $LuCoverage = ' . var_export($this->LuCoverage, true) . '; $data = $this->get_chunk(($start + $numberOfHMetrics * 4), ($numGlyphs * 2)); $arr = unpack("n*", $data); $diff = $numGlyphs - $numberOfHMetrics; - $w = intval(round($scale * $aw)); - if ($w == 0) { + $w = (int) round($scale * $aw); + if ($w === 0) { $w = 65535; } for ($pos = 0; $pos < $diff; $pos++) { @@ -4693,6 +4599,7 @@ $LuCoverage = ' . var_export($this->LuCoverage, true) . '; } } } + // NB 65535 is a set width of 0 // First bytes define number of chars in font $this->charWidths[0] = chr($nCharWidths >> 8); @@ -4725,18 +4632,20 @@ $LuCoverage = ' . var_export($this->LuCoverage, true) . '; for ($n = 0; $n <= $numGlyphs; $n++) { $this->glyphPos[] = ($arr[$n + 1] * 2); } - } else if ($indexToLocFormat == 1) { + } elseif ($indexToLocFormat == 1) { $data = $this->get_chunk($start, ($numGlyphs * 4) + 4); $arr = unpack("N*", $data); for ($n = 0; $n <= $numGlyphs; $n++) { $this->glyphPos[] = ($arr[$n + 1]); } } else { - throw new \Mpdf\MpdfException('Unknown location table format ' . $indexToLocFormat); + throw new \Mpdf\Exception\FontException('Unknown location table format ' . $indexToLocFormat); } } - // CMAP Format 4 + /** + * CMAP Format 4 + */ function getCMAP4($unicode_cmap_offset, &$glyphToChar, &$charToGlyph) { $this->maxUniChar = 0; @@ -4748,20 +4657,27 @@ $LuCoverage = ' . var_export($this->LuCoverage, true) . '; $segCount = $this->read_ushort() / 2; $this->skip(6); $endCount = []; + for ($i = 0; $i < $segCount; $i++) { $endCount[] = $this->read_ushort(); } + $this->skip(2); $startCount = []; + for ($i = 0; $i < $segCount; $i++) { $startCount[] = $this->read_ushort(); } + $idDelta = []; + for ($i = 0; $i < $segCount; $i++) { $idDelta[] = $this->read_short(); } // ???? was unsigned short + $idRangeOffset_start = $this->_pos; $idRangeOffset = []; + for ($i = 0; $i < $segCount; $i++) { $idRangeOffset[] = $this->read_ushort(); } @@ -4792,7 +4708,6 @@ $LuCoverage = ' . var_export($this->LuCoverage, true) . '; } } - // Put the TTF file together function endTTFile(&$stm) { $stm = ''; @@ -4800,17 +4715,17 @@ $LuCoverage = ' . var_export($this->LuCoverage, true) . '; $searchRange = 1; $entrySelector = 0; while ($searchRange * 2 <= $numTables) { - $searchRange = $searchRange * 2; - $entrySelector = $entrySelector + 1; + $searchRange *= 2; + $entrySelector += 1; } - $searchRange = $searchRange * 16; + $searchRange *= 16; $rangeShift = $numTables * 16 - $searchRange; // Header if (_TTF_MAC_HEADER) { - $stm .= (pack("Nnnnn", 0x74727565, $numTables, $searchRange, $entrySelector, $rangeShift)); // Mac + $stm .= pack('Nnnnn', 0x74727565, $numTables, $searchRange, $entrySelector, $rangeShift); // Mac } else { - $stm .= (pack("Nnnnn", 0x00010000, $numTables, $searchRange, $entrySelector, $rangeShift)); // Windows + $stm .= pack('Nnnnn', 0x00010000, $numTables, $searchRange, $entrySelector, $rangeShift); // Windows } // Table directory @@ -4818,15 +4733,15 @@ $LuCoverage = ' . var_export($this->LuCoverage, true) . '; ksort($tables); $offset = 12 + $numTables * 16; foreach ($tables as $tag => $data) { - if ($tag == 'head') { + if ($tag === 'head') { $head_start = $offset; } $stm .= $tag; $checksum = $this->calcChecksum($data); - $stm .= pack("nn", $checksum[0], $checksum[1]); - $stm .= pack("NN", $offset, strlen($data)); + $stm .= pack('nn', $checksum[0], $checksum[1]); + $stm .= pack('NN', $offset, strlen($data)); $paddedLength = (strlen($data) + 3) & ~3; - $offset = $offset + $paddedLength; + $offset += $paddedLength; } // Table data @@ -4845,14 +4760,12 @@ $LuCoverage = ' . var_export($this->LuCoverage, true) . '; function repackageTTF($file, $TTCfontID = 0, $debug = false, $useOTL = false) { - // mPDF 5.7.1 - // (Does not called for subsets) - $this->useOTL = $useOTL; // mPDF 5.7.1 + $this->useOTL = $useOTL; $this->filename = $file; $this->fh = fopen($file, 'rb'); if (!$this->fh) { - throw new \Mpdf\MpdfException('Can\'t open file ' . $file); + throw new \Mpdf\Exception\FontException(sprintf('Unable to open file "%s"', $file)); } $this->_pos = 0; @@ -4869,10 +4782,11 @@ $LuCoverage = ' . var_export($this->LuCoverage, true) . '; $this->TTCFonts = []; $this->skip(4); $this->maxUni = 0; + if ($TTCfontID > 0) { $this->version = $version = $this->read_ulong(); // TTC Header version now - if (!in_array($version, [0x00010000, 0x00020000])) { - throw new \Mpdf\MpdfException("ERROR - Error parsing TrueType Collection: version=" . $version . " - " . $file); + if (!in_array($version, [0x00010000, 0x00020000], true)) { + throw new \Mpdf\Exception\FontException(sprintf('Error parsing TrueType Collection: version=%s - %s', $version, $file)); } $this->numTTCFonts = $this->read_ulong(); for ($i = 1; $i <= $this->numTTCFonts; $i++) { @@ -4881,6 +4795,7 @@ $LuCoverage = ' . var_export($this->LuCoverage, true) . '; $this->seek($this->TTCFonts[$TTCfontID]['offset']); $this->version = $version = $this->read_ulong(); // TTFont version again now } + $this->readTableDirectory($debug); $tags = ['OS/2', 'glyf', 'head', 'hhea', 'hmtx', 'loca', 'maxp', 'name', 'post', 'cvt ', 'fpgm', 'gasp', 'prep']; @@ -4890,19 +4805,15 @@ $LuCoverage = ' . var_export($this->LuCoverage, true) . '; } } - // mPDF 5.7.1 if ($useOTL) { - /////////////////////////////////// + // maxp - Maximum profile table - /////////////////////////////////// - $this->seek_table("maxp"); + $this->seek_table('maxp'); $this->skip(4); $numGlyphs = $this->read_ushort(); - /////////////////////////////////// // cmap - Character to glyph index mapping table - /////////////////////////////////// - $cmap_offset = $this->seek_table("cmap"); + $cmap_offset = $this->seek_table('cmap'); $this->skip(2); $cmapTableCount = $this->read_ushort(); $unicode_cmap_offset = 0; @@ -4922,14 +4833,13 @@ $LuCoverage = ' . var_export($this->LuCoverage, true) . '; } if (!$unicode_cmap_offset) { - throw new \Mpdf\MpdfException('Font (' . $this->filename . ') does not have cmap for Unicode (platform 3, encoding 1, format 4, or platform 0, any encoding, format 4)'); + throw new \Mpdf\Exception\FontException(sprintf('Font "%s" does not have cmap for Unicode (platform 3, encoding 1, format 4, or platform 0, any encoding, format 4)', $this->filename)); } $glyphToChar = []; $charToGlyph = []; $this->getCMAP4($unicode_cmap_offset, $glyphToChar, $charToGlyph); - /////////////////////////////////// // Map Unmapped glyphs - from $numGlyphs $bctr = 0xE000; for ($gid = 1; $gid < $numGlyphs; $gid++) { @@ -4938,24 +4848,24 @@ $LuCoverage = ' . var_export($this->LuCoverage, true) . '; $bctr++; } // Avoid overwriting a glyph already mapped in PUA (6,400) if ($bctr > 0xF8FF) { - throw new \Mpdf\MpdfException("Problem. Trying to repackage TF file; not enough space for unmapped glyphs"); + throw new \Mpdf\Exception\FontException("Problem. Trying to repackage TF file; not enough space for unmapped glyphs"); } $glyphToChar[$gid][] = $bctr; $charToGlyph[$bctr] = $gid; $bctr++; } } - /////////////////////////////////// - /////////////////////////////////// + // Sort CID2GID map into segments of contiguous codes - /////////////////////////////////// unset($charToGlyph[65535]); unset($charToGlyph[0]); + ksort($charToGlyph); $rangeid = 0; $range = []; $prevcid = -2; $prevglidx = -1; + // for each character foreach ($charToGlyph as $cid => $glidx) { if ($cid == ($prevcid + 1) && $glidx == ($prevglidx + 1)) { @@ -4970,18 +4880,18 @@ $LuCoverage = ' . var_export($this->LuCoverage, true) . '; $prevglidx = $glidx; } - /////////////////////////////////// // CMap table - /////////////////////////////////// // cmap - Character to glyph mapping $segCount = count($range) + 1; // + 1 Last segment has missing character 0xFFFF $searchRange = 1; $entrySelector = 0; + while ($searchRange * 2 <= $segCount) { - $searchRange = $searchRange * 2; - $entrySelector = $entrySelector + 1; + $searchRange *= 2; + ++$entrySelector; } - $searchRange = $searchRange * 2; + + $searchRange *= 2; $rangeShift = $segCount * 2 - $searchRange; $length = 16 + (8 * $segCount) + ($numGlyphs + 1); $cmap = [0, 3, // Index : version, number of encoding subtables @@ -5004,22 +4914,25 @@ $LuCoverage = ' . var_export($this->LuCoverage, true) . '; } $cmap[] = 0xFFFF; // endCode of last Segment $cmap[] = 0; // reservedPad + // startCode(s) foreach ($range as $start => $subrange) { $cmap[] = $start; // startCode(s) } $cmap[] = 0xFFFF; // startCode of last Segment + // idDelta(s) foreach ($range as $start => $subrange) { $idDelta = -($start - $subrange[0]); - //$n += count($subrange); // ?? Line not required $cmap[] = $idDelta; // idDelta(s) } + $cmap[] = 1; // idDelta of last Segment // idRangeOffset(s) foreach ($range as $subrange) { - $cmap[] = 0; // idRangeOffset[segCount] Offset in bytes to glyph indexArray, or 0 + $cmap[] = 0; // idRangeOffset[segCount] Offset in bytes to glyph indexArray, or 0 } + $cmap[] = 0; // idRangeOffset of last Segment foreach ($range as $subrange) { foreach ($subrange as $glidx) { @@ -5029,8 +4942,9 @@ $LuCoverage = ' . var_export($this->LuCoverage, true) . '; $cmap[] = 0; // Mapping for last character $cmapstr = ''; foreach ($cmap as $cm) { - $cmapstr .= pack("n", $cm); + $cmapstr .= pack('n', $cm); } + $this->add('cmap', $cmapstr); } else { $this->add('cmap', $this->get_table('cmap')); diff --git a/pandora_console/vendor/mpdf/mpdf/src/TTFontFileAnalysis.php b/pandora_console/vendor/mpdf/mpdf/src/TTFontFileAnalysis.php index 343f2f5825..b58fc5916e 100644 --- a/pandora_console/vendor/mpdf/mpdf/src/TTFontFileAnalysis.php +++ b/pandora_console/vendor/mpdf/mpdf/src/TTFontFileAnalysis.php @@ -27,7 +27,7 @@ class TTFontFileAnalysis extends TTFontFile $this->panose = []; // mPDF 5.0 if ($version == 0x4F54544F) { - throw new \Mpdf\MpdfException('ERROR - NOT ADDED as Postscript outlines are not supported - ' . $file); + throw new \Mpdf\Exception\FontException(sprintf('Fonts with postscript outlines are not supported (%s)', $file)); } if ($version == 0x74746366) { @@ -152,7 +152,7 @@ class TTFontFileAnalysis extends TTFontFile } $this->_pos = $opos; $this->seek($opos); - } else if ($platformId == 1 && $encodingId == 0 && $languageId == 0) { // Macintosh, Roman, English, PS Name + } elseif ($platformId == 1 && $encodingId == 0 && $languageId == 0) { // Macintosh, Roman, English, PS Name $opos = $this->_pos; $N = $this->get_chunk($string_data_offset + $offset, $length); $this->_pos = $opos; @@ -168,9 +168,9 @@ class TTFontFileAnalysis extends TTFontFile } if ($names[6]) { $psName = preg_replace('/ /', '-', $names[6]); - } else if ($names[4]) { + } elseif ($names[4]) { $psName = preg_replace('/ /', '-', $names[4]); - } else if ($names[1]) { + } elseif ($names[1]) { $psName = preg_replace('/ /', '-', $names[1]); } else { $psName = ''; @@ -264,7 +264,7 @@ class TTFontFileAnalysis extends TTFontFile $unicode_cmap_offset = $cmap_offset + $offset; } } - } else if ((($platformID == 3 && $encodingID == 10) || $platformID == 0)) { // Microsoft, Unicode Format 12 table HKCS + } elseif ((($platformID == 3 && $encodingID == 10) || $platformID == 0)) { // Microsoft, Unicode Format 12 table HKCS $format = $this->get_ushort($cmap_offset + $offset); if ($format == 12) { $unicode_cmap_offset = $cmap_offset + $offset; @@ -404,27 +404,27 @@ class TTFontFileAnalysis extends TTFontFile if ($macStyle & (1 << 0)) { $bold = true; } // bit 0 bold - else if ($fsSelection & (1 << 5)) { + elseif ($fsSelection & (1 << 5)) { $bold = true; } // 5 BOLD Characters are emboldened if ($macStyle & (1 << 1)) { $italic = true; } // bit 1 italic - else if ($fsSelection & (1 << 0)) { + elseif ($fsSelection & (1 << 0)) { $italic = true; } // 0 ITALIC Font contains Italic characters, otherwise they are upright - else if ($this->italicAngle <> 0) { + elseif ($this->italicAngle <> 0) { $italic = true; } if ($isFixedPitch) { $ftype = 'mono'; - } else if ($sFamily > 0 && $sFamily < 8) { + } elseif ($sFamily > 0 && $sFamily < 8) { $ftype = 'serif'; - } else if ($sFamily == 8) { + } elseif ($sFamily == 8) { $ftype = 'sans'; - } else if ($sFamily == 10) { + } elseif ($sFamily == 10) { $ftype = 'cursive'; } // Use PANOSE @@ -435,7 +435,7 @@ class TTFontFileAnalysis extends TTFontFile if (!$ftype) { if ($bSerifStyle > 1 && $bSerifStyle < 11) { $ftype = 'serif'; - } else if ($bSerifStyle > 10) { + } elseif ($bSerifStyle > 10) { $ftype = 'sans'; } } @@ -443,7 +443,7 @@ class TTFontFileAnalysis extends TTFontFile if ($bProportion == 9 || $bProportion == 1) { $ftype = 'mono'; } // ==1 i.e. No Fit needed for OCR-a and -b - } else if ($bFamilyType == 3) { + } elseif ($bFamilyType == 3) { $ftype = 'cursive'; } } diff --git a/pandora_console/vendor/mpdf/mpdf/src/TableOfContents.php b/pandora_console/vendor/mpdf/mpdf/src/TableOfContents.php index 014ec1df7a..82ce748e84 100644 --- a/pandora_console/vendor/mpdf/mpdf/src/TableOfContents.php +++ b/pandora_console/vendor/mpdf/mpdf/src/TableOfContents.php @@ -148,7 +148,7 @@ class TableOfContents if (strtoupper($toc_id) == 'ALL') { $toc_id = '_mpdf_all'; - } else if (!$toc_id) { + } elseif (!$toc_id) { $toc_id = 0; } else { $toc_id = strtolower($toc_id); @@ -259,7 +259,7 @@ class TableOfContents if (strtoupper($toc_id) == 'ALL') { $toc_id = '_mpdf_all'; - } else if (!$toc_id) { + } elseif (!$toc_id) { $toc_id = 0; } else { $toc_id = strtolower($toc_id); @@ -705,22 +705,22 @@ class TableOfContents $this->m_TOC[$toc_id]['TOC_odd_header_value'] = $this->m_TOC[$toc_id]['TOC_even_header_value'] = $this->m_TOC[$toc_id]['TOC_odd_footer_value'] = $this->m_TOC[$toc_id]['TOC_even_footer_value'] = 0; if (isset($attr['TOC-ODD-HEADER-VALUE']) && ($attr['TOC-ODD-HEADER-VALUE'] == '1' || strtoupper($attr['TOC-ODD-HEADER-VALUE']) == 'ON')) { $this->m_TOC[$toc_id]['TOC_odd_header_value'] = 1; - } else if (isset($attr['TOC-ODD-HEADER-VALUE']) && ($attr['TOC-ODD-HEADER-VALUE'] == '-1' || strtoupper($attr['TOC-ODD-HEADER-VALUE']) == 'OFF')) { + } elseif (isset($attr['TOC-ODD-HEADER-VALUE']) && ($attr['TOC-ODD-HEADER-VALUE'] == '-1' || strtoupper($attr['TOC-ODD-HEADER-VALUE']) == 'OFF')) { $this->m_TOC[$toc_id]['TOC_odd_header_value'] = -1; } if (isset($attr['TOC-EVEN-HEADER-VALUE']) && ($attr['TOC-EVEN-HEADER-VALUE'] == '1' || strtoupper($attr['TOC-EVEN-HEADER-VALUE']) == 'ON')) { $this->m_TOC[$toc_id]['TOC_even_header_value'] = 1; - } else if (isset($attr['TOC-EVEN-HEADER-VALUE']) && ($attr['TOC-EVEN-HEADER-VALUE'] == '-1' || strtoupper($attr['TOC-EVEN-HEADER-VALUE']) == 'OFF')) { + } elseif (isset($attr['TOC-EVEN-HEADER-VALUE']) && ($attr['TOC-EVEN-HEADER-VALUE'] == '-1' || strtoupper($attr['TOC-EVEN-HEADER-VALUE']) == 'OFF')) { $this->m_TOC[$toc_id]['TOC_even_header_value'] = -1; } if (isset($attr['TOC-ODD-FOOTER-VALUE']) && ($attr['TOC-ODD-FOOTER-VALUE'] == '1' || strtoupper($attr['TOC-ODD-FOOTER-VALUE']) == 'ON')) { $this->m_TOC[$toc_id]['TOC_odd_footer_value'] = 1; - } else if (isset($attr['TOC-ODD-FOOTER-VALUE']) && ($attr['TOC-ODD-FOOTER-VALUE'] == '-1' || strtoupper($attr['TOC-ODD-FOOTER-VALUE']) == 'OFF')) { + } elseif (isset($attr['TOC-ODD-FOOTER-VALUE']) && ($attr['TOC-ODD-FOOTER-VALUE'] == '-1' || strtoupper($attr['TOC-ODD-FOOTER-VALUE']) == 'OFF')) { $this->m_TOC[$toc_id]['TOC_odd_footer_value'] = -1; } if (isset($attr['TOC-EVEN-FOOTER-VALUE']) && ($attr['TOC-EVEN-FOOTER-VALUE'] == '1' || strtoupper($attr['TOC-EVEN-FOOTER-VALUE']) == 'ON')) { $this->m_TOC[$toc_id]['TOC_even_footer_value'] = 1; - } else if (isset($attr['TOC-EVEN-FOOTER-VALUE']) && ($attr['TOC-EVEN-FOOTER-VALUE'] == '-1' || strtoupper($attr['TOC-EVEN-FOOTER-VALUE']) == 'OFF')) { + } elseif (isset($attr['TOC-EVEN-FOOTER-VALUE']) && ($attr['TOC-EVEN-FOOTER-VALUE'] == '-1' || strtoupper($attr['TOC-EVEN-FOOTER-VALUE']) == 'OFF')) { $this->m_TOC[$toc_id]['TOC_even_footer_value'] = -1; } if (isset($attr['TOC-RESETPAGENUM']) && $attr['TOC-RESETPAGENUM']) { @@ -817,23 +817,23 @@ class TableOfContents $this->TOC_odd_header_value = $this->TOC_even_header_value = $this->TOC_odd_footer_value = $this->TOC_even_footer_value = 0; if (isset($attr['TOC-ODD-HEADER-VALUE']) && ($attr['TOC-ODD-HEADER-VALUE'] == '1' || strtoupper($attr['TOC-ODD-HEADER-VALUE']) == 'ON')) { $this->TOC_odd_header_value = 1; - } else if (isset($attr['TOC-ODD-HEADER-VALUE']) && ($attr['TOC-ODD-HEADER-VALUE'] == '-1' || strtoupper($attr['TOC-ODD-HEADER-VALUE']) == 'OFF')) { + } elseif (isset($attr['TOC-ODD-HEADER-VALUE']) && ($attr['TOC-ODD-HEADER-VALUE'] == '-1' || strtoupper($attr['TOC-ODD-HEADER-VALUE']) == 'OFF')) { $this->TOC_odd_header_value = -1; } if (isset($attr['TOC-EVEN-HEADER-VALUE']) && ($attr['TOC-EVEN-HEADER-VALUE'] == '1' || strtoupper($attr['TOC-EVEN-HEADER-VALUE']) == 'ON')) { $this->TOC_even_header_value = 1; - } else if (isset($attr['TOC-EVEN-HEADER-VALUE']) && ($attr['TOC-EVEN-HEADER-VALUE'] == '-1' || strtoupper($attr['TOC-EVEN-HEADER-VALUE']) == 'OFF')) { + } elseif (isset($attr['TOC-EVEN-HEADER-VALUE']) && ($attr['TOC-EVEN-HEADER-VALUE'] == '-1' || strtoupper($attr['TOC-EVEN-HEADER-VALUE']) == 'OFF')) { $this->TOC_even_header_value = -1; } if (isset($attr['TOC-ODD-FOOTER-VALUE']) && ($attr['TOC-ODD-FOOTER-VALUE'] == '1' || strtoupper($attr['TOC-ODD-FOOTER-VALUE']) == 'ON')) { $this->TOC_odd_footer_value = 1; - } else if (isset($attr['TOC-ODD-FOOTER-VALUE']) && ($attr['TOC-ODD-FOOTER-VALUE'] == '-1' || strtoupper($attr['TOC-ODD-FOOTER-VALUE']) == 'OFF')) { + } elseif (isset($attr['TOC-ODD-FOOTER-VALUE']) && ($attr['TOC-ODD-FOOTER-VALUE'] == '-1' || strtoupper($attr['TOC-ODD-FOOTER-VALUE']) == 'OFF')) { $this->TOC_odd_footer_value = -1; } if (isset($attr['TOC-EVEN-FOOTER-VALUE']) && ($attr['TOC-EVEN-FOOTER-VALUE'] == '1' || strtoupper($attr['TOC-EVEN-FOOTER-VALUE']) == 'ON')) { $this->TOC_even_footer_value = 1; - } else if (isset($attr['TOC-EVEN-FOOTER-VALUE']) && ($attr['TOC-EVEN-FOOTER-VALUE'] == '-1' || strtoupper($attr['TOC-EVEN-FOOTER-VALUE']) == 'OFF')) { + } elseif (isset($attr['TOC-EVEN-FOOTER-VALUE']) && ($attr['TOC-EVEN-FOOTER-VALUE'] == '-1' || strtoupper($attr['TOC-EVEN-FOOTER-VALUE']) == 'OFF')) { $this->TOC_even_footer_value = -1; } if (isset($attr['TOC-PAGE-SELECTOR']) && $attr['TOC-PAGE-SELECTOR']) { diff --git a/pandora_console/vendor/mpdf/mpdf/src/Tag.php b/pandora_console/vendor/mpdf/mpdf/src/Tag.php index 6877ca6f75..33d90b6b72 100644 --- a/pandora_console/vendor/mpdf/mpdf/src/Tag.php +++ b/pandora_console/vendor/mpdf/mpdf/src/Tag.php @@ -2,15 +2,16 @@ namespace Mpdf; +use Mpdf\Strict; use Mpdf\Color\ColorConverter; - use Mpdf\Image\ImageProcessor; - use Mpdf\Language\LanguageToFontInterface; class Tag { + use Strict; + /** * @var \Mpdf\Mpdf */ diff --git a/pandora_console/vendor/mpdf/mpdf/src/Tag/BarCode.php b/pandora_console/vendor/mpdf/mpdf/src/Tag/BarCode.php index e80fe591e6..44ecd951de 100644 --- a/pandora_console/vendor/mpdf/mpdf/src/Tag/BarCode.php +++ b/pandora_console/vendor/mpdf/mpdf/src/Tag/BarCode.php @@ -25,6 +25,8 @@ class BarCode extends Tag $objattr['padding_right'] = 0; $objattr['width'] = 0; $objattr['height'] = 0; + $objattr['quiet_l'] = 0; + $objattr['quiet_r'] = 0; $objattr['border_top']['w'] = 0; $objattr['border_bottom']['w'] = 0; $objattr['border_left']['w'] = 0; @@ -67,6 +69,17 @@ class BarCode extends Tag } else { $objattr['pr_ratio'] = ''; } + if (isset($attr['QUIET_ZONE_LEFT']) && is_numeric($attr['QUIET_ZONE_LEFT'])) { + $objattr['quiet_zone_left'] = $attr['QUIET_ZONE_LEFT']; + } else { + $objattr['quiet_zone_left'] = null; + } + if (isset($attr['QUIET_ZONE_RIGHT']) && is_numeric($attr['QUIET_ZONE_RIGHT'])) { + $objattr['quiet_zone_right'] = $attr['QUIET_ZONE_RIGHT']; + } else { + $objattr['quiet_zone_right'] = null; + } + $properties = $this->cssManager->MergeCSS('', 'BARCODE', $attr); if (isset($properties ['DISPLAY']) && strtolower($properties ['DISPLAY']) === 'none') { return; @@ -151,7 +164,7 @@ class BarCode extends Tag } if (isset($properties['VERTICAL-ALIGN'])) { - $objattr['vertical-align'] = self::ALIGN[strtolower($properties['VERTICAL-ALIGN'])]; + $objattr['vertical-align'] = $this->getAlign($properties['VERTICAL-ALIGN']); } if (isset($properties['COLOR']) && $properties['COLOR'] != '') { $objattr['color'] = $this->colorConverter->convert($properties['COLOR'], $this->mpdf->PDFAXwarnings); @@ -169,10 +182,10 @@ class BarCode extends Tag if (in_array($objattr['btype'], ['EAN13', 'ISBN', 'ISSN', 'UPCA', 'UPCE', 'EAN8'])) { $code = preg_replace('/\-/', '', $objattr['code']); - $arrcode = $this->barcode->getBarcodeArray($code, $objattr['btype']); + $arrcode = $this->barcode->getBarcodeArray($code, $objattr['btype'], '', $objattr['quiet_l'], $objattr['quiet_r']); if ($objattr['bsupp'] == 2 || $objattr['bsupp'] == 5) { // EAN-2 or -5 Supplement - $supparrcode = $this->barcode->getBarcodeArray($objattr['bsupp_code'], 'EAN' . $objattr['bsupp']); + $supparrcode = $this->barcode->getBarcodeArray($objattr['bsupp_code'], 'EAN' . $objattr['bsupp'], '', $objattr['quiet_l'], $objattr['quiet_r']); $w = ($arrcode['maxw'] + $arrcode['lightmL'] + $arrcode['lightmR'] + $supparrcode['maxw'] + $supparrcode['sepM']) * $arrcode['nom-X'] * $objattr['bsize']; } else { @@ -200,16 +213,16 @@ class BarCode extends Tag } elseif (in_array($objattr['btype'], ['IMB', 'RM4SCC', 'KIX', 'POSTNET', 'PLANET'])) { - $arrcode = $this->barcode->getBarcodeArray($objattr['code'], $objattr['btype']); + $arrcode = $this->barcode->getBarcodeArray($objattr['code'], $objattr['btype'], '', $objattr['quiet_l'], $objattr['quiet_r']); $w = ($arrcode['maxw'] * $arrcode['nom-X'] * $objattr['bsize']) + $arrcode['quietL'] + $arrcode['quietR']; $h = ($arrcode['nom-H'] * $objattr['bsize']) + (2 * $arrcode['quietTB']); - } elseif (in_array($objattr['btype'], ['C128A', 'C128B', 'C128C', 'EAN128A', 'EAN128B', 'EAN128C', + } elseif (in_array($objattr['btype'], ['C128A', 'C128B', 'C128C', 'C128RAW', 'EAN128A', 'EAN128B', 'EAN128C', 'C39', 'C39+', 'C39E', 'C39E+', 'S25', 'S25+', 'I25', 'I25+', 'I25B', 'I25B+', 'C93', 'MSI', 'MSI+', 'CODABAR', 'CODE11'])) { - $arrcode = $this->barcode->getBarcodeArray($objattr['code'], $objattr['btype'], $objattr['pr_ratio']); + $arrcode = $this->barcode->getBarcodeArray($objattr['code'], $objattr['btype'], $objattr['pr_ratio'], $objattr['quiet_zone_left'], $objattr['quiet_zone_right']); $w = ($arrcode['maxw'] + $arrcode['lightmL'] + $arrcode['lightmR']) * $arrcode['nom-X'] * $objattr['bsize']; $h = ((2 * $arrcode['lightTB'] * $arrcode['nom-X']) + $arrcode['nom-H']) * $objattr['bsize'] * $objattr['bheight']; diff --git a/pandora_console/vendor/mpdf/mpdf/src/Tag/BlockTag.php b/pandora_console/vendor/mpdf/mpdf/src/Tag/BlockTag.php index 80074bac6e..94a17dc17e 100644 --- a/pandora_console/vendor/mpdf/mpdf/src/Tag/BlockTag.php +++ b/pandora_console/vendor/mpdf/mpdf/src/Tag/BlockTag.php @@ -4,7 +4,6 @@ namespace Mpdf\Tag; use Mpdf\Conversion\DecToAlpha; use Mpdf\Conversion\DecToRoman; - use Mpdf\Utils\Arrays; use Mpdf\Utils\UtfString; @@ -126,7 +125,7 @@ abstract class BlockTag extends Tag } // Cannot set block properties inside table - use Bold to indicate h1-h6 if ($tag === 'CENTER' && $this->mpdf->tdbegin) { - $this->mpdf->cell[$this->mpdf->row][$this->mpdf->col]['a'] = self::ALIGN['center']; + $this->mpdf->cell[$this->mpdf->row][$this->mpdf->col]['a'] = $this->getAlign('center'); } $this->mpdf->InlineProperties['BLOCKINTABLE'] = $this->mpdf->saveInlineProperties(); @@ -165,7 +164,7 @@ abstract class BlockTag extends Tag $this->mpdf->listcounter[$this->mpdf->listlvl] = 0; } - $this->mpdf->listcounter[$this->mpdf->listlvl] ++; + $this->mpdf->listcounter[$this->mpdf->listlvl]++; $this->mpdf->listitem = []; //if in table - output here as a tabletextbuffer //position:inside OR position:outside (always output in table as position:inside) @@ -230,6 +229,7 @@ abstract class BlockTag extends Tag elseif ($this->mpdf->lastblocklevelchange < 1) { $blockstate = 0; } // NO margins/padding + $this->mpdf->printbuffer($this->mpdf->textbuffer, $blockstate); $this->mpdf->textbuffer = []; @@ -397,7 +397,7 @@ abstract class BlockTag extends Tag // mPDF 6 if (!empty($attr['ALIGN'])) { - $currblk['block-align'] = self::ALIGN[strtolower($attr['ALIGN'])]; + $currblk['block-align'] = $this->getAlign($attr['ALIGN']); } @@ -427,6 +427,9 @@ abstract class BlockTag extends Tag $this->mpdf->ClearFloats(strtoupper($properties['CLEAR']), $this->mpdf->blklvl - 1); } // *CSS-FLOAT* + $currblk['padding_left'] = is_numeric($currblk['padding_left']) ? $currblk['padding_left'] : 0; + $currblk['padding_right'] = is_numeric($currblk['padding_right']) ? $currblk['padding_right'] : 0; + $container_w = $prevblk['inner_width']; $bdr = $currblk['border_right']['w']; $bdl = $currblk['border_left']['w']; @@ -443,7 +446,7 @@ abstract class BlockTag extends Tag // Cancel Keep-Block-together $currblk['keep_block_together'] = false; - $this->mpdf->kt_y00 = ''; + $this->mpdf->kt_y00 = 0; $this->mpdf->keep_block_together = 0; $this->mpdf->blockContext++; @@ -494,7 +497,7 @@ abstract class BlockTag extends Tag } elseif (isset($properties['FLOAT']) && strtoupper($properties['FLOAT']) === 'LEFT' && !$this->mpdf->ColActive) { // Cancel Keep-Block-together $currblk['keep_block_together'] = false; - $this->mpdf->kt_y00 = ''; + $this->mpdf->kt_y00 = 0; $this->mpdf->keep_block_together = 0; $this->mpdf->blockContext++; @@ -736,9 +739,6 @@ abstract class BlockTag extends Tag $currblk['width'] = $this->mpdf->pgwidth - ($currblk['outer_right_margin'] + $currblk['outer_left_margin']); - $currblk['padding_left'] = is_numeric($currblk['padding_left']) ? $currblk['padding_left'] : 0; - $currblk['padding_right'] = is_numeric($currblk['padding_right']) ? $currblk['padding_right'] : 0; - $currblk['inner_width'] = $currblk['width'] - ($currblk['border_left']['w'] + $currblk['padding_left'] + $currblk['border_right']['w'] + $currblk['padding_right']); @@ -883,14 +883,17 @@ abstract class BlockTag extends Tag } } - // mPDF 6 Lists if ($tag === 'LI') { - if ($this->mpdf->listlvl == 0) { //in case of malformed HTML code. Example:(...)