From 4fbaa42324455c86207ff3180950630e02a5929e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 25 May 2023 08:58:14 +0200 Subject: [PATCH 01/15] chore(deps-dev): bump cypress from 12.1.0 to 12.13.0 (#483) Bumps [cypress](https://github.com/cypress-io/cypress) from 12.1.0 to 12.13.0. - [Release notes](https://github.com/cypress-io/cypress/releases) - [Changelog](https://github.com/cypress-io/cypress/blob/develop/CHANGELOG.md) - [Commits](https://github.com/cypress-io/cypress/compare/v12.1.0...v12.13.0) --- updated-dependencies: - dependency-name: cypress dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- yarn.lock | 28 ++++++++-------------------- 1 file changed, 8 insertions(+), 20 deletions(-) diff --git a/yarn.lock b/yarn.lock index 315ef5c..e76491e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1241,9 +1241,9 @@ crypto-random-string@^2.0.0: integrity sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA== cypress@^12.1.0: - version "12.1.0" - resolved "https://registry.yarnpkg.com/cypress/-/cypress-12.1.0.tgz#1fdaa631bc30df466dc9505154616f4cf69dbd4b" - integrity sha512-7fz8N84uhN1+ePNDsfQvoWEl4P3/VGKKmAg+bJQFY4onhA37Ys+6oBkGbNdwGeC7n2QqibNVPhk8x3YuQLwzfw== + version "12.13.0" + resolved "https://registry.yarnpkg.com/cypress/-/cypress-12.13.0.tgz#725b6617ea19e41e5c59cc509fc3e08097142b01" + integrity sha512-QJlSmdPk+53Zhy69woJMySZQJoWfEWun3X5OOenGsXjRPVfByVTHorxNehbzhZrEzH9RDUDqVcck0ahtlS+N/Q== dependencies: "@cypress/request" "^2.88.10" "@cypress/xvfb" "^1.2.4" @@ -1259,10 +1259,10 @@ cypress@^12.1.0: check-more-types "^2.24.0" cli-cursor "^3.1.0" cli-table3 "~0.6.1" - commander "^5.1.0" + commander "^6.2.1" common-tags "^1.8.0" dayjs "^1.10.4" - debug "^4.3.2" + debug "^4.3.4" enquirer "^2.3.6" eventemitter2 "6.4.7" execa "4.1.0" @@ -1277,7 +1277,7 @@ cypress@^12.1.0: listr2 "^3.8.3" lodash "^4.17.21" log-symbols "^4.0.0" - minimist "^1.2.6" + minimist "^1.2.8" ospath "^1.2.2" pretty-bytes "^5.6.0" proxy-from-env "1.0.0" @@ -2936,12 +2936,7 @@ minimist-options@4.1.0: is-plain-obj "^1.1.0" kind-of "^6.0.3" -minimist@^1.2.0: - version "1.2.7" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.7.tgz#daa1c4d91f507390437c6a8bc01078e7000c4d18" - integrity sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g== - -minimist@^1.2.5, minimist@^1.2.8: +minimist@^1.2.0, minimist@^1.2.5, minimist@^1.2.8: version "1.2.8" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== @@ -4002,14 +3997,7 @@ semver@^6.0.0, semver@^6.3.0: resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== -semver@^7.1.1, semver@^7.1.2, semver@^7.1.3, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5: - version "7.3.7" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.7.tgz#12c5b649afdbf9049707796e22a4028814ce523f" - integrity sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g== - dependencies: - lru-cache "^6.0.0" - -semver@^7.3.7: +semver@^7.1.1, semver@^7.1.2, semver@^7.1.3, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5, semver@^7.3.7: version "7.3.8" resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.8.tgz#07a78feafb3f7b32347d725e33de7e2a2df67798" integrity sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A== From 466e2453411ac769ca6a70552a75c63c8eebba34 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 5 Jun 2023 08:17:33 +0200 Subject: [PATCH 02/15] chore(deps-dev): bump typedoc from 0.23.22 to 0.24.8 (#489) --- package.json | 2 +- yarn.lock | 62 ++++++++++++++++++++++++++++------------------------ 2 files changed, 35 insertions(+), 29 deletions(-) diff --git a/package.json b/package.json index bc86307..c00d29d 100644 --- a/package.json +++ b/package.json @@ -23,7 +23,7 @@ "fs-extra": "^11.1.0", "pixelmatch": "^5.3.0", "semantic-release": "^17.3.0", - "typedoc": "^0.23.22", + "typedoc": "^0.24.8", "typedoc-plugin-markdown": "^3.14.0", "typescript": "^4.8.4" }, diff --git a/yarn.lock b/yarn.lock index e76491e..9b27172 100644 --- a/yarn.lock +++ b/yarn.lock @@ -682,6 +682,11 @@ ansi-regex@^5.0.1: resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== +ansi-sequence-parser@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/ansi-sequence-parser/-/ansi-sequence-parser-1.1.0.tgz#4d790f31236ac20366b23b3916b789e1bde39aed" + integrity sha512-lEm8mt52to2fT8GhciPCGeCXACSz2UwIN4X2e2LJSnZ5uAbn2/dsYdOmUXq0AtWS5cpAupysIneExOgH0Vd2TQ== + ansi-styles@^3.2.1: version "3.2.1" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" @@ -2494,7 +2499,7 @@ json-stringify-safe@^5.0.1, json-stringify-safe@~5.0.1: resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA== -jsonc-parser@^3.0.0: +jsonc-parser@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-3.2.0.tgz#31ff3f4c2b9793f89c67212627c51c6394f88e76" integrity sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w== @@ -2846,10 +2851,10 @@ marked@^2.0.0: resolved "https://registry.yarnpkg.com/marked/-/marked-2.1.3.tgz#bd017cef6431724fd4b27e0657f5ceb14bff3753" integrity sha512-/Q+7MGzaETqifOMWYEA7HVMaZb4XbcRfaOzcSsHZEith83KGlvaSG33u0SKu89Mj5h+T8V2hM+8O45Qc5XTgwA== -marked@^4.0.19: - version "4.2.4" - resolved "https://registry.yarnpkg.com/marked/-/marked-4.2.4.tgz#5a4ce6c7a1ae0c952601fce46376ee4cf1797e1c" - integrity sha512-Wcc9ikX7Q5E4BYDPvh1C6QNSxrjC9tBgz+A/vAhp59KXUgachw++uMvMKiSW8oA85nopmPZcEvBoex/YLMsiyA== +marked@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/marked/-/marked-4.3.0.tgz#796362821b019f734054582038b116481b456cf3" + integrity sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A== meow@^8.0.0: version "8.1.2" @@ -2920,10 +2925,10 @@ minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: dependencies: brace-expansion "^1.1.7" -minimatch@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.0.tgz#1717b464f4971b144f6aabe8f2d0b8e4511e09c7" - integrity sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg== +minimatch@^9.0.0: + version "9.0.1" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.1.tgz#8a555f541cf976c622daf078bb28f29fb927c253" + integrity sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w== dependencies: brace-expansion "^2.0.1" @@ -4021,14 +4026,15 @@ shebang-regex@^3.0.0: resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== -shiki@^0.11.1: - version "0.11.1" - resolved "https://registry.yarnpkg.com/shiki/-/shiki-0.11.1.tgz#df0f719e7ab592c484d8b73ec10e215a503ab8cc" - integrity sha512-EugY9VASFuDqOexOgXR18ZV+TbFrQHeCpEYaXamO+SZlsnT/2LxuLBX25GGtIrwaEVFXUAbUQ601SWE2rMwWHA== +shiki@^0.14.1: + version "0.14.2" + resolved "https://registry.yarnpkg.com/shiki/-/shiki-0.14.2.tgz#d51440800b701392b31ce2336036058e338247a1" + integrity sha512-ltSZlSLOuSY0M0Y75KA+ieRaZ0Trf5Wl3gutE7jzLuIcWxLp5i/uEnLoQWNvgKXQ5OMpGkJnVMRLAuzjc0LJ2A== dependencies: - jsonc-parser "^3.0.0" - vscode-oniguruma "^1.6.1" - vscode-textmate "^6.0.0" + ansi-sequence-parser "^1.1.0" + jsonc-parser "^3.2.0" + vscode-oniguruma "^1.7.0" + vscode-textmate "^8.0.0" side-channel@^1.0.4: version "1.0.4" @@ -4502,15 +4508,15 @@ typedoc-plugin-markdown@^3.14.0: dependencies: handlebars "^4.7.7" -typedoc@^0.23.22: - version "0.23.22" - resolved "https://registry.yarnpkg.com/typedoc/-/typedoc-0.23.22.tgz#e25281ca816cd92ecfdaf3ec336d27e7bebb69ac" - integrity sha512-5sJkjK60xp8A7YpcYniu3+Wf0QcgojEnhzHuCN+CkdpQkKRhOspon/9+sGTkGI8kjVkZs3KHrhltpQyVhRMVfw== +typedoc@^0.24.8: + version "0.24.8" + resolved "https://registry.yarnpkg.com/typedoc/-/typedoc-0.24.8.tgz#cce9f47ba6a8d52389f5e583716a2b3b4335b63e" + integrity sha512-ahJ6Cpcvxwaxfu4KtjA8qZNqS43wYt6JL27wYiIgl1vd38WW/KWX11YuAeZhuz9v+ttrutSsgK+XO1CjL1kA3w== dependencies: lunr "^2.3.9" - marked "^4.0.19" - minimatch "^5.1.0" - shiki "^0.11.1" + marked "^4.3.0" + minimatch "^9.0.0" + shiki "^0.14.1" typescript@^4.8.4: version "4.9.4" @@ -4609,15 +4615,15 @@ verror@1.10.0: core-util-is "1.0.2" extsprintf "^1.2.0" -vscode-oniguruma@^1.6.1: +vscode-oniguruma@^1.7.0: version "1.7.0" resolved "https://registry.yarnpkg.com/vscode-oniguruma/-/vscode-oniguruma-1.7.0.tgz#439bfad8fe71abd7798338d1cd3dc53a8beea94b" integrity sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA== -vscode-textmate@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/vscode-textmate/-/vscode-textmate-6.0.0.tgz#a3777197235036814ac9a92451492f2748589210" - integrity sha512-gu73tuZfJgu+mvCSy4UZwd2JXykjK9zAZsfmDeut5dx/1a7FeTk0XwJsSuqQn+cuMCGVbIBfl+s53X4T19DnzQ== +vscode-textmate@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/vscode-textmate/-/vscode-textmate-8.0.0.tgz#2c7a3b1163ef0441097e0b5d6389cd5504b59e5d" + integrity sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg== walk-up-path@^1.0.0: version "1.0.0" From a60c71a6231fd52d17b676c87b83e10a86a58527 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 5 Jun 2023 08:17:54 +0200 Subject: [PATCH 03/15] chore(deps-dev): bump eslint from 8.29.0 to 8.42.0 (#488) --- yarn.lock | 116 ++++++++++++++++++++++++++++++------------------------ 1 file changed, 64 insertions(+), 52 deletions(-) diff --git a/yarn.lock b/yarn.lock index 9b27172..4461e18 100644 --- a/yarn.lock +++ b/yarn.lock @@ -60,30 +60,47 @@ debug "^3.1.0" lodash.once "^4.1.1" -"@eslint/eslintrc@^1.3.3": - version "1.3.3" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.3.3.tgz#2b044ab39fdfa75b4688184f9e573ce3c5b0ff95" - integrity sha512-uj3pT6Mg+3t39fvLrj8iuCIJ38zKO9FpGtJ4BBJebJhEwjoT+KLVNCcHT5QC9NGRIEi7fZ0ZR8YRb884auB4Lg== +"@eslint-community/eslint-utils@^4.2.0": + version "4.4.0" + resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59" + integrity sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA== + dependencies: + eslint-visitor-keys "^3.3.0" + +"@eslint-community/regexpp@^4.4.0": + version "4.5.1" + resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.5.1.tgz#cdd35dce4fa1a89a4fd42b1599eb35b3af408884" + integrity sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ== + +"@eslint/eslintrc@^2.0.3": + version "2.0.3" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.0.3.tgz#4910db5505f4d503f27774bf356e3704818a0331" + integrity sha512-+5gy6OQfk+xx3q0d6jGZZC3f3KzAkXc/IanVxd1is/VIIziRqqt3ongQz0FiTUXqTk0c7aDB3OaFuKnuSoJicQ== dependencies: ajv "^6.12.4" debug "^4.3.2" - espree "^9.4.0" - globals "^13.15.0" + espree "^9.5.2" + globals "^13.19.0" ignore "^5.2.0" import-fresh "^3.2.1" js-yaml "^4.1.0" minimatch "^3.1.2" strip-json-comments "^3.1.1" +"@eslint/js@8.42.0": + version "8.42.0" + resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.42.0.tgz#484a1d638de2911e6f5a30c12f49c7e4a3270fb6" + integrity sha512-6SWlXpWU5AvId8Ac7zjzmIOqMOba/JWY8XZ4A7q7Gn1Vlfg/SFFIlrtHXt9nPn4op9ZPAkl91Jao+QQv3r/ukw== + "@gar/promisify@^1.0.1": version "1.1.3" resolved "https://registry.yarnpkg.com/@gar/promisify/-/promisify-1.1.3.tgz#555193ab2e3bb3b6adc3d551c9c030d9e860daf6" integrity sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw== -"@humanwhocodes/config-array@^0.11.6": - version "0.11.7" - resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.7.tgz#38aec044c6c828f6ed51d5d7ae3d9b9faf6dbb0f" - integrity sha512-kBbPWzN8oVMLb0hOUYXhmxggL/1cJE6ydvjDIGi9EnAGUyA7cLVKQg+d/Dsm+KZwx2czGHrCmMVLiyg8s5JPKw== +"@humanwhocodes/config-array@^0.11.10": + version "0.11.10" + resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.10.tgz#5a3ffe32cc9306365fb3fd572596cd602d5e12d2" + integrity sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ== dependencies: "@humanwhocodes/object-schema" "^1.2.1" debug "^4.1.1" @@ -1529,10 +1546,10 @@ eslint-scope@^5.1.1: esrecurse "^4.3.0" estraverse "^4.1.1" -eslint-scope@^7.1.1: - version "7.1.1" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.1.1.tgz#fff34894c2f65e5226d3041ac480b4513a163642" - integrity sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw== +eslint-scope@^7.2.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.2.0.tgz#f21ebdafda02352f103634b96dd47d9f81ca117b" + integrity sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw== dependencies: esrecurse "^4.3.0" estraverse "^5.2.0" @@ -1549,18 +1566,21 @@ eslint-visitor-keys@^2.0.0: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== -eslint-visitor-keys@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826" - integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA== +eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1: + version "3.4.1" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz#c22c48f48942d08ca824cc526211ae400478a994" + integrity sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA== eslint@^8.29.0: - version "8.29.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.29.0.tgz#d74a88a20fb44d59c51851625bc4ee8d0ec43f87" - integrity sha512-isQ4EEiyUjZFbEKvEGJKKGBwXtvXX+zJbkVKCgTuB9t/+jUBcy8avhkEwWJecI15BkRkOYmvIM5ynbhRjEkoeg== - dependencies: - "@eslint/eslintrc" "^1.3.3" - "@humanwhocodes/config-array" "^0.11.6" + version "8.42.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.42.0.tgz#7bebdc3a55f9ed7167251fe7259f75219cade291" + integrity sha512-ulg9Ms6E1WPf67PHaEY4/6E2tEn5/f7FXGzr3t9cBMugOmf1INYvuUwwh1aXQN4MfJ6a5K2iNwP3w4AColvI9A== + dependencies: + "@eslint-community/eslint-utils" "^4.2.0" + "@eslint-community/regexpp" "^4.4.0" + "@eslint/eslintrc" "^2.0.3" + "@eslint/js" "8.42.0" + "@humanwhocodes/config-array" "^0.11.10" "@humanwhocodes/module-importer" "^1.0.1" "@nodelib/fs.walk" "^1.2.8" ajv "^6.10.0" @@ -1569,24 +1589,22 @@ eslint@^8.29.0: debug "^4.3.2" doctrine "^3.0.0" escape-string-regexp "^4.0.0" - eslint-scope "^7.1.1" - eslint-utils "^3.0.0" - eslint-visitor-keys "^3.3.0" - espree "^9.4.0" - esquery "^1.4.0" + eslint-scope "^7.2.0" + eslint-visitor-keys "^3.4.1" + espree "^9.5.2" + esquery "^1.4.2" esutils "^2.0.2" fast-deep-equal "^3.1.3" file-entry-cache "^6.0.1" find-up "^5.0.0" glob-parent "^6.0.2" - globals "^13.15.0" - grapheme-splitter "^1.0.4" + globals "^13.19.0" + graphemer "^1.4.0" ignore "^5.2.0" import-fresh "^3.0.0" imurmurhash "^0.1.4" is-glob "^4.0.0" is-path-inside "^3.0.3" - js-sdsl "^4.1.4" js-yaml "^4.1.0" json-stable-stringify-without-jsonify "^1.0.1" levn "^0.4.1" @@ -1594,26 +1612,25 @@ eslint@^8.29.0: minimatch "^3.1.2" natural-compare "^1.4.0" optionator "^0.9.1" - regexpp "^3.2.0" strip-ansi "^6.0.1" strip-json-comments "^3.1.0" text-table "^0.2.0" -espree@^9.4.0: - version "9.4.1" - resolved "https://registry.yarnpkg.com/espree/-/espree-9.4.1.tgz#51d6092615567a2c2cff7833445e37c28c0065bd" - integrity sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg== +espree@^9.5.2: + version "9.5.2" + resolved "https://registry.yarnpkg.com/espree/-/espree-9.5.2.tgz#e994e7dc33a082a7a82dceaf12883a829353215b" + integrity sha512-7OASN1Wma5fum5SrNhFMAMJxOUAbhyfQ8dQ//PJaJbNw0URTPWqIghHWt1MmAANKhHZIYOHruW4Kw4ruUWOdGw== dependencies: acorn "^8.8.0" acorn-jsx "^5.3.2" - eslint-visitor-keys "^3.3.0" + eslint-visitor-keys "^3.4.1" esprima@~4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== -esquery@^1.4.0: +esquery@^1.4.2: version "1.5.0" resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.5.0.tgz#6ce17738de8577694edd7361c57182ac8cb0db0b" integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg== @@ -2018,10 +2035,10 @@ globals@^11.12.0: resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== -globals@^13.15.0: - version "13.18.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-13.18.0.tgz#fb224daeeb2bb7d254cd2c640f003528b8d0c1dc" - integrity sha512-/mR4KI8Ps2spmoc0Ulu9L7agOF0du1CZNQ3dke8yItYlyKNmGrkONemBbd6V8UTc1Wgcqn21t3WYB7dbRmh6/A== +globals@^13.19.0: + version "13.20.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-13.20.0.tgz#ea276a1e508ffd4f1612888f9d1bad1e2717bf82" + integrity sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ== dependencies: type-fest "^0.20.2" @@ -2042,10 +2059,10 @@ graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.3, resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c" integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== -grapheme-splitter@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz#9cf3a665c6247479896834af35cf1dbb4400767e" - integrity sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ== +graphemer@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/graphemer/-/graphemer-1.4.0.tgz#fb2f1d55e0e3a1849aeffc90c4fa0dd53a0e66c6" + integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag== handlebars@^4.7.6, handlebars@^4.7.7: version "4.7.7" @@ -2442,11 +2459,6 @@ java-properties@^1.0.0: resolved "https://registry.yarnpkg.com/java-properties/-/java-properties-1.0.2.tgz#ccd1fa73907438a5b5c38982269d0e771fe78211" integrity sha512-qjdpeo2yKlYTH7nFdK0vbZWuTCesk4o63v5iVOlhMQPfuIZQfW/HI35SjfhA+4qpg36rnFSvUK5b1m+ckIblQQ== -js-sdsl@^4.1.4: - version "4.1.5" - resolved "https://registry.yarnpkg.com/js-sdsl/-/js-sdsl-4.1.5.tgz#1ff1645e6b4d1b028cd3f862db88c9d887f26e2a" - integrity sha512-08bOAKweV2NUC1wqTtf3qZlnpOX/R2DU9ikpjOHs0H+ibQv3zpncVQg6um4uYtRtrwIX8M4Nh3ytK4HGlYAq7Q== - js-tokens@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" From ca1af33a5132f76047bbfe2b896810e79775bee1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 5 Jun 2023 08:20:21 +0200 Subject: [PATCH 04/15] chore(deps-dev): bump @typescript-eslint/parser from 5.46.1 to 5.59.8 (#485) --- yarn.lock | 46 ++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 40 insertions(+), 6 deletions(-) diff --git a/yarn.lock b/yarn.lock index 4461e18..d0a8f19 100644 --- a/yarn.lock +++ b/yarn.lock @@ -548,13 +548,13 @@ tsutils "^3.21.0" "@typescript-eslint/parser@^5.46.1": - version "5.46.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.46.1.tgz#1fc8e7102c1141eb64276c3b89d70da8c0ba5699" - integrity sha512-RelQ5cGypPh4ySAtfIMBzBGyrNerQcmfA1oJvPj5f+H4jI59rl9xxpn4bonC0tQvUKOEN7eGBFWxFLK3Xepneg== + version "5.59.8" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.59.8.tgz#60cbb00671d86cf746044ab797900b1448188567" + integrity sha512-AnR19RjJcpjoeGojmwZtCwBX/RidqDZtzcbG3xHrmz0aHHoOcbWnpDllenRDmDvsV0RQ6+tbb09/kyc+UT9Orw== dependencies: - "@typescript-eslint/scope-manager" "5.46.1" - "@typescript-eslint/types" "5.46.1" - "@typescript-eslint/typescript-estree" "5.46.1" + "@typescript-eslint/scope-manager" "5.59.8" + "@typescript-eslint/types" "5.59.8" + "@typescript-eslint/typescript-estree" "5.59.8" debug "^4.3.4" "@typescript-eslint/scope-manager@5.46.1": @@ -565,6 +565,14 @@ "@typescript-eslint/types" "5.46.1" "@typescript-eslint/visitor-keys" "5.46.1" +"@typescript-eslint/scope-manager@5.59.8": + version "5.59.8" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.59.8.tgz#ff4ad4fec6433647b817c4a7d4b4165d18ea2fa8" + integrity sha512-/w08ndCYI8gxGf+9zKf1vtx/16y8MHrZs5/tnjHhMLNSixuNcJavSX4wAiPf4aS5x41Es9YPCn44MIe4cxIlig== + dependencies: + "@typescript-eslint/types" "5.59.8" + "@typescript-eslint/visitor-keys" "5.59.8" + "@typescript-eslint/type-utils@5.46.1": version "5.46.1" resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.46.1.tgz#195033e4b30b51b870dfcf2828e88d57b04a11cc" @@ -580,6 +588,11 @@ resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.46.1.tgz#4e9db2107b9a88441c4d5ecacde3bb7a5ebbd47e" integrity sha512-Z5pvlCaZgU+93ryiYUwGwLl9AQVB/PQ1TsJ9NZ/gHzZjN7g9IAn6RSDkpCV8hqTwAiaj6fmCcKSQeBPlIpW28w== +"@typescript-eslint/types@5.59.8": + version "5.59.8" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.59.8.tgz#212e54414733618f5d0fd50b2da2717f630aebf8" + integrity sha512-+uWuOhBTj/L6awoWIg0BlWy0u9TyFpCHrAuQ5bNfxDaZ1Ppb3mx6tUigc74LHcbHpOHuOTOJrBoAnhdHdaea1w== + "@typescript-eslint/typescript-estree@5.46.1": version "5.46.1" resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.46.1.tgz#5358088f98a8f9939355e0996f9c8f41c25eced2" @@ -593,6 +606,19 @@ semver "^7.3.7" tsutils "^3.21.0" +"@typescript-eslint/typescript-estree@5.59.8": + version "5.59.8" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.8.tgz#801a7b1766481629481b3b0878148bd7a1f345d7" + integrity sha512-Jy/lPSDJGNow14vYu6IrW790p7HIf/SOV1Bb6lZ7NUkLc2iB2Z9elESmsaUtLw8kVqogSbtLH9tut5GCX1RLDg== + dependencies: + "@typescript-eslint/types" "5.59.8" + "@typescript-eslint/visitor-keys" "5.59.8" + debug "^4.3.4" + globby "^11.1.0" + is-glob "^4.0.3" + semver "^7.3.7" + tsutils "^3.21.0" + "@typescript-eslint/utils@5.46.1": version "5.46.1" resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.46.1.tgz#7da3c934d9fd0eb4002a6bb3429f33298b469b4a" @@ -615,6 +641,14 @@ "@typescript-eslint/types" "5.46.1" eslint-visitor-keys "^3.3.0" +"@typescript-eslint/visitor-keys@5.59.8": + version "5.59.8" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.8.tgz#aa6a7ef862add919401470c09e1609392ef3cc40" + integrity sha512-pJhi2ms0x0xgloT7xYabil3SGGlojNNKjK/q6dB3Ey0uJLMjK2UDGJvHieiyJVW/7C3KI+Z4Q3pEHkm4ejA+xQ== + dependencies: + "@typescript-eslint/types" "5.59.8" + eslint-visitor-keys "^3.3.0" + JSONStream@^1.0.4: version "1.3.5" resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.5.tgz#3208c1f08d3a4d99261ab64f92302bc15e111ca0" From 83ed0e32df798a4ea0eb1694a82dfe7f9905f637 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 6 Jun 2023 06:05:18 +0200 Subject: [PATCH 05/15] chore(deps-dev): bump typescript from 4.9.4 to 5.1.3 (#493) --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index c00d29d..7fdd3b0 100644 --- a/package.json +++ b/package.json @@ -25,7 +25,7 @@ "semantic-release": "^17.3.0", "typedoc": "^0.24.8", "typedoc-plugin-markdown": "^3.14.0", - "typescript": "^4.8.4" + "typescript": "^5.1.3" }, "repository": { "type": "git", diff --git a/yarn.lock b/yarn.lock index d0a8f19..fb60df2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4564,10 +4564,10 @@ typedoc@^0.24.8: minimatch "^9.0.0" shiki "^0.14.1" -typescript@^4.8.4: - version "4.9.4" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.4.tgz#a2a3d2756c079abda241d75f149df9d561091e78" - integrity sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg== +typescript@^5.1.3: + version "5.1.3" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.1.3.tgz#8d84219244a6b40b6fb2b33cc1c062f715b9e826" + integrity sha512-XH627E9vkeqhlZFQuL+UsyAXEnibT0kWR2FWONlr4sTjvxyJYnyefgrkyECLzM5NenmKzRAy2rR/OlYLA1HkZw== uglify-js@^3.1.4: version "3.17.4" From a17a5cc68ffab0bd9c6d5f467b1d56cea7cd0412 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 6 Jun 2023 06:05:39 +0200 Subject: [PATCH 06/15] chore(deps-dev): bump typedoc-plugin-markdown from 3.14.0 to 3.15.3 (#492) --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index fb60df2..ade11a9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4548,9 +4548,9 @@ typedarray-to-buffer@^3.1.5: is-typedarray "^1.0.0" typedoc-plugin-markdown@^3.14.0: - version "3.14.0" - resolved "https://registry.yarnpkg.com/typedoc-plugin-markdown/-/typedoc-plugin-markdown-3.14.0.tgz#17b99ee3ab0d21046d253f185f7669e80d0d7891" - integrity sha512-UyQLkLRkfTFhLdhSf3RRpA3nNInGn+k6sll2vRXjflaMNwQAAiB61SYbisNZTg16t4K1dt1bPQMMGLrxS0GZ0Q== + version "3.15.3" + resolved "https://registry.yarnpkg.com/typedoc-plugin-markdown/-/typedoc-plugin-markdown-3.15.3.tgz#f5419a32b93efbdc0fcba60ca4de37727aeb8ba9" + integrity sha512-idntFYu3vfaY3eaD+w9DeRd0PmNGqGuNLKihPU9poxFGnATJYGn9dPtEhn2QrTdishFMg7jPXAhos+2T6YCWRQ== dependencies: handlebars "^4.7.7" From c3664b625a6a7b0fa612c91ff1360ecd0e6cf24f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 6 Jun 2023 06:06:00 +0200 Subject: [PATCH 07/15] chore(deps-dev): bump @typescript-eslint/parser from 5.59.8 to 5.59.9 (#491) --- yarn.lock | 54 +++++++++++++++++++++++++++--------------------------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/yarn.lock b/yarn.lock index ade11a9..e52fdc1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -548,13 +548,13 @@ tsutils "^3.21.0" "@typescript-eslint/parser@^5.46.1": - version "5.59.8" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.59.8.tgz#60cbb00671d86cf746044ab797900b1448188567" - integrity sha512-AnR19RjJcpjoeGojmwZtCwBX/RidqDZtzcbG3xHrmz0aHHoOcbWnpDllenRDmDvsV0RQ6+tbb09/kyc+UT9Orw== + version "5.59.9" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.59.9.tgz#a85c47ccdd7e285697463da15200f9a8561dd5fa" + integrity sha512-FsPkRvBtcLQ/eVK1ivDiNYBjn3TGJdXy2fhXX+rc7czWl4ARwnpArwbihSOHI2Peg9WbtGHrbThfBUkZZGTtvQ== dependencies: - "@typescript-eslint/scope-manager" "5.59.8" - "@typescript-eslint/types" "5.59.8" - "@typescript-eslint/typescript-estree" "5.59.8" + "@typescript-eslint/scope-manager" "5.59.9" + "@typescript-eslint/types" "5.59.9" + "@typescript-eslint/typescript-estree" "5.59.9" debug "^4.3.4" "@typescript-eslint/scope-manager@5.46.1": @@ -565,13 +565,13 @@ "@typescript-eslint/types" "5.46.1" "@typescript-eslint/visitor-keys" "5.46.1" -"@typescript-eslint/scope-manager@5.59.8": - version "5.59.8" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.59.8.tgz#ff4ad4fec6433647b817c4a7d4b4165d18ea2fa8" - integrity sha512-/w08ndCYI8gxGf+9zKf1vtx/16y8MHrZs5/tnjHhMLNSixuNcJavSX4wAiPf4aS5x41Es9YPCn44MIe4cxIlig== +"@typescript-eslint/scope-manager@5.59.9": + version "5.59.9" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.59.9.tgz#eadce1f2733389cdb58c49770192c0f95470d2f4" + integrity sha512-8RA+E+w78z1+2dzvK/tGZ2cpGigBZ58VMEHDZtpE1v+LLjzrYGc8mMaTONSxKyEkz3IuXFM0IqYiGHlCsmlZxQ== dependencies: - "@typescript-eslint/types" "5.59.8" - "@typescript-eslint/visitor-keys" "5.59.8" + "@typescript-eslint/types" "5.59.9" + "@typescript-eslint/visitor-keys" "5.59.9" "@typescript-eslint/type-utils@5.46.1": version "5.46.1" @@ -588,10 +588,10 @@ resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.46.1.tgz#4e9db2107b9a88441c4d5ecacde3bb7a5ebbd47e" integrity sha512-Z5pvlCaZgU+93ryiYUwGwLl9AQVB/PQ1TsJ9NZ/gHzZjN7g9IAn6RSDkpCV8hqTwAiaj6fmCcKSQeBPlIpW28w== -"@typescript-eslint/types@5.59.8": - version "5.59.8" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.59.8.tgz#212e54414733618f5d0fd50b2da2717f630aebf8" - integrity sha512-+uWuOhBTj/L6awoWIg0BlWy0u9TyFpCHrAuQ5bNfxDaZ1Ppb3mx6tUigc74LHcbHpOHuOTOJrBoAnhdHdaea1w== +"@typescript-eslint/types@5.59.9": + version "5.59.9" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.59.9.tgz#3b4e7ae63718ce1b966e0ae620adc4099a6dcc52" + integrity sha512-uW8H5NRgTVneSVTfiCVffBb8AbwWSKg7qcA4Ot3JI3MPCJGsB4Db4BhvAODIIYE5mNj7Q+VJkK7JxmRhk2Lyjw== "@typescript-eslint/typescript-estree@5.46.1": version "5.46.1" @@ -606,13 +606,13 @@ semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/typescript-estree@5.59.8": - version "5.59.8" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.8.tgz#801a7b1766481629481b3b0878148bd7a1f345d7" - integrity sha512-Jy/lPSDJGNow14vYu6IrW790p7HIf/SOV1Bb6lZ7NUkLc2iB2Z9elESmsaUtLw8kVqogSbtLH9tut5GCX1RLDg== +"@typescript-eslint/typescript-estree@5.59.9": + version "5.59.9" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.9.tgz#6bfea844e468427b5e72034d33c9fffc9557392b" + integrity sha512-pmM0/VQ7kUhd1QyIxgS+aRvMgw+ZljB3eDb+jYyp6d2bC0mQWLzUDF+DLwCTkQ3tlNyVsvZRXjFyV0LkU/aXjA== dependencies: - "@typescript-eslint/types" "5.59.8" - "@typescript-eslint/visitor-keys" "5.59.8" + "@typescript-eslint/types" "5.59.9" + "@typescript-eslint/visitor-keys" "5.59.9" debug "^4.3.4" globby "^11.1.0" is-glob "^4.0.3" @@ -641,12 +641,12 @@ "@typescript-eslint/types" "5.46.1" eslint-visitor-keys "^3.3.0" -"@typescript-eslint/visitor-keys@5.59.8": - version "5.59.8" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.8.tgz#aa6a7ef862add919401470c09e1609392ef3cc40" - integrity sha512-pJhi2ms0x0xgloT7xYabil3SGGlojNNKjK/q6dB3Ey0uJLMjK2UDGJvHieiyJVW/7C3KI+Z4Q3pEHkm4ejA+xQ== +"@typescript-eslint/visitor-keys@5.59.9": + version "5.59.9" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.9.tgz#9f86ef8e95aca30fb5a705bb7430f95fc58b146d" + integrity sha512-bT7s0td97KMaLwpEBckbzj/YohnvXtqbe2XgqNvTl6RJVakY5mvENOTPvw5u66nljfZxthESpDozs86U+oLY8Q== dependencies: - "@typescript-eslint/types" "5.59.8" + "@typescript-eslint/types" "5.59.9" eslint-visitor-keys "^3.3.0" JSONStream@^1.0.4: From 06dea7e50282158be3ee92accc602c7512a11038 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 8 Jun 2023 06:05:47 +0200 Subject: [PATCH 08/15] chore(deps-dev): bump cypress from 12.13.0 to 12.14.0 (#494) --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index e52fdc1..553c2e3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1297,9 +1297,9 @@ crypto-random-string@^2.0.0: integrity sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA== cypress@^12.1.0: - version "12.13.0" - resolved "https://registry.yarnpkg.com/cypress/-/cypress-12.13.0.tgz#725b6617ea19e41e5c59cc509fc3e08097142b01" - integrity sha512-QJlSmdPk+53Zhy69woJMySZQJoWfEWun3X5OOenGsXjRPVfByVTHorxNehbzhZrEzH9RDUDqVcck0ahtlS+N/Q== + version "12.14.0" + resolved "https://registry.yarnpkg.com/cypress/-/cypress-12.14.0.tgz#37a19b85f5e9d881995e9fee1ddf41b3d3a623dd" + integrity sha512-HiLIXKXZaIT1RT7sw1sVPt+qKtis3uYNm6KwC4qoYjabwLKaqZlyS/P+uVvvlBNcHIwL/BC6nQZajpbUd7hOgQ== dependencies: "@cypress/request" "^2.88.10" "@cypress/xvfb" "^1.2.4" From f90bdb2a2a4c0390616d063eaf5788c8346214b2 Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Mon, 17 Jul 2023 19:35:17 +0200 Subject: [PATCH 09/15] chore(ci): Update browsers (#519) * Update browsers * Config validate * Skip install * Use js config * Add checkout * Make cypress config cjs * Fix config * Fix executor * Cache binary * Cache binary * Cache binary * Copy binary * Fix executor * Fix executor * Fix executor * cp instead of mv * cp instead of mv * --chrome browser * install browsers inside job * install browsers inside job --- .circleci/config.yml | 64 ++++++++++-------- cypress.config.ts => cypress.config.js | 8 +-- .../screenshots/compareFile/clickDraw100.png | Bin 0 -> 4288 bytes .../compareFile/clickDraw100Diff.png | Bin 0 -> 1402 bytes .../compareFile/clickDrawScaled.png | Bin 0 -> 4164 bytes .../compareFile/clickDrawScaledDiff.png | Bin 0 -> 1385 bytes .../screenshots/compareFile/touchDraw100.png | Bin 0 -> 4441 bytes .../compareFile/touchDraw100Diff.png | Bin 0 -> 1402 bytes .../compareFile/touchDrawScaled.png | Bin 0 -> 4284 bytes .../compareFile/touchDrawScaledDiff.png | Bin 0 -> 1405 bytes ... touches with a custom radius (failed).png | Bin 0 -> 154924 bytes ...a custom radius for each axis (failed).png | Bin 0 -> 156144 bytes 12 files changed, 40 insertions(+), 32 deletions(-) rename cypress.config.ts => cypress.config.js (54%) create mode 100644 cypress/screenshots/compareFile/clickDraw100.png create mode 100644 cypress/screenshots/compareFile/clickDraw100Diff.png create mode 100644 cypress/screenshots/compareFile/clickDrawScaled.png create mode 100644 cypress/screenshots/compareFile/clickDrawScaledDiff.png create mode 100644 cypress/screenshots/compareFile/touchDraw100.png create mode 100644 cypress/screenshots/compareFile/touchDraw100Diff.png create mode 100644 cypress/screenshots/compareFile/touchDrawScaled.png create mode 100644 cypress/screenshots/compareFile/touchDrawScaledDiff.png create mode 100644 cypress/screenshots/touch.cy.ts/cy.realTouch -- touches with a custom radius (failed).png create mode 100644 cypress/screenshots/touch.cy.ts/cy.realTouch -- touches with a custom radius for each axis (failed).png diff --git a/.circleci/config.yml b/.circleci/config.yml index 90f6a18..f92574b 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,7 +1,20 @@ version: 2.1 orbs: - cypress: cypress-io/cypress@2.2.0 + cypress: cypress-io/cypress@3 jobs: + install: + executor: cypress/default + steps: + - checkout + - attach_workspace: + at: ~/ + - cypress/install: + install-browsers: true + install-command: yarn install --frozen-lockfile + - persist_to_workspace: + root: ~/ + paths: . + build: docker: - image: cimg/node:lts @@ -14,6 +27,22 @@ jobs: - persist_to_workspace: root: ~/ paths: . + run-tests-in-parallel: + executor: cypress/default + parallelism: 2 + steps: + - attach_workspace: + at: ~/ + - cypress/install: + install-browsers: true + install-command: "echo 'skipping install'" + - cypress/run-tests: + # following examples from + # https://circleci.com/docs/2.0/parallelism-faster-jobs/ + cypress-command: | + TESTFILES=$(circleci tests glob "cypress/e2e/**/*.cy.ts" | circleci tests split --total=2) + echo "Test files for this machine are $TESTFILES" + npx cypress run --browser chrome --spec $TESTFILES release: docker: @@ -29,35 +58,14 @@ jobs: workflows: build: jobs: - - cypress/install: - executor: cypress/base-16-14-2-slim - yarn: true + - install - build: requires: - - cypress/install - - cypress/run: - executor: cypress/base-16-14-2-slim - parallelism: 2 - # make sure app has been installed and built - # before running tests across multiple machines - # this avoids installing same dependencies 10 times + - install + - run-tests-in-parallel: + name: Run Cypress tests requires: - - cypress/install - browser: chrome - # notice a trick to avoid re-installing dependencies - # in this job - a do-nothing "install-command" parameter - install-command: echo 'Nothing to install in this job' - yarn: true - no-workspace: true - # we are not going to use results from this job anywhere else - record: false - store_artifacts: true - # following examples from - # https://circleci.com/docs/2.0/parallelism-faster-jobs/ - command: | - TESTFILES=$(circleci tests glob "cypress/e2e/**/*.cy.ts" | circleci tests split --total=2) - echo "Test files for this machine are $TESTFILES" - npx cypress run --spec $TESTFILES + - install - release: name: NPM release filters: @@ -66,4 +74,4 @@ workflows: - main requires: - build - - cypress/run + - Run Cypress tests diff --git a/cypress.config.ts b/cypress.config.js similarity index 54% rename from cypress.config.ts rename to cypress.config.js index 104e000..9910304 100644 --- a/cypress.config.ts +++ b/cypress.config.js @@ -1,12 +1,12 @@ -import { defineConfig } from 'cypress' +const defineConfig = require("cypress").defineConfig; -export default defineConfig({ +module.exports = defineConfig({ video: false, e2e: { // We've imported your old cypress plugins here. // You may want to clean this up later by importing these. setupNodeEvents(on, config) { - return require('./cypress/plugins/index.js')(on, config) + return require("./cypress/plugins/index.js")(on, config); }, }, -}) +}); diff --git a/cypress/screenshots/compareFile/clickDraw100.png b/cypress/screenshots/compareFile/clickDraw100.png new file mode 100644 index 0000000000000000000000000000000000000000..bf135ac8c3fd07929e622a170b29a938f4c4e938 GIT binary patch literal 4288 zcmeAS@N?(olHy`uVBq!ia0y~yV4MKL9Be?5hW%z|fD~hKkh>GZx^prw85jhrJY5_^ zD&pQ=wRUn2jgc-OCetHn1)x~tgocKe z8#+oLX~vJdK;s)6JRBUHa>N9I%!Y;^Y+x%@6ciNAxkbA5n0 z^db|JQB{qeKagq1$oO(|xe+jDxp8xxc=2(k4UqYZg=NY4dnbXpPC{2fVe#?jpMcC! zLr24OG)WEV9A)GD;A4qzy}ohUvuW}|AJ{)CW*qMk6_~Jbaq-72M#hz5+y0j@GS0Mf z{H_lyL5!lLK_$rchK4uu)?Wu!-V1yj98P8Af=ZCPOiY`q_rXO%3Fc?wv9^jtdzEH-WcOOV~qUzY-z8l#4ehUsXM8iG0MhRTPEs-FL`@dlC3 zKbjPGFflUeb8?*U_L=`%mGS4Ct&=$fDuB(4d!N1IbroJNF;j79IKa!uxYICwJ&@_J ztD#}Z x*})<2%uQ_|bAq12sG*}_I+~=0PL67{kKD*L@j>_BnZO|l22WQ%mvv4FO#qRvUSj|N literal 0 HcmV?d00001 diff --git a/cypress/screenshots/compareFile/clickDraw100Diff.png b/cypress/screenshots/compareFile/clickDraw100Diff.png new file mode 100644 index 0000000000000000000000000000000000000000..6df3fe20da4855a230cbd9eb3caa55adfadc5447 GIT binary patch literal 1402 zcmeAS@N?(olHy`uVBq!ia0y~yV4MKL9Be?5hW%z|7#LU`JzX3_Dj44$+*o*vWC7Z?sKU~F(?W@u((VB=-rkz$ZAVKB%T zmB1b(4@BoZw)k|smi@s=DY>Ur`-}J9KUv5EGZx^prw85sEgdAc}; zRK&f#?${UO&co{X@?ZP3?acZ-9bZ{`tq*65-{q;(d^q3!k8=Y9BNGcBlRbaFjiLjH zW6yHL9n4T?WVGB^=>igCdL*p?6l&XHW-k0+4Z)0fuF92kIt>ifIeOG(DGdx!&=sx)GaBa~uU`|y~Qc#%a96cGB ztFjpxBfDq01G9EVLxT%nt}ig}tzl(J(an+rW;rD$CLzl$rknx_8^i=AY+X?aOnx04 z93D?DTvGvN{V0b~14qMfG}#PTPN|)AV7>n7ADcgUPTzXk<$!z_=VC>9Ed>Sns)+1d z7M7I98K=^@I8LPByBem<$SCP31+48GXEiij(aVbmX7nDQ5|&IJp!2hsn1Xiis0C(p z17J-pxWo{c(N}PCc)We|O%<5YJscd|CL9CS=L^&n6t;HXo(@d)qXv$K;b^iMBst}O zKB!HwZ~y*(pLAs(=*u6dpU2R6ADETzKl-)#|E7jNk@1%~1#SS#f@_~MXEoS-tn>kv z1nU|aO7ioIfhB%=U{!j&S=Pw@3(L|SJ57?hF%9>oBr)LW+ PLK!?={an^LB{Ts5`^Po8 literal 0 HcmV?d00001 diff --git a/cypress/screenshots/compareFile/touchDraw100.png b/cypress/screenshots/compareFile/touchDraw100.png new file mode 100644 index 0000000000000000000000000000000000000000..fc95befa1f53b2640f5424ec9a975f210dacc033 GIT binary patch literal 4441 zcmeAS@N?(olHy`uVBq!ia0y~yV4MKL9Be?5hW%z|fD~hKkh>GZx^prw85jhGJzX3_ zD&pSWJe@b&lBeO~v%m6IcS{6Cd~+|e96mksZN#so&ZTxDpFf_qXW^J}L^Qp(P%lUSGE)56d8UHuF z`Yyt<52+}(;m4XGHfK%KekD#nexCqC?hN|A(^>67RXHDdrxa$c$uS8Z~q@Oh=Q{;LTCrRU6Oi@BfzmRMpCUpTYzFqpg~|lS3Y4J1naHv-jNm zojRVs|LkZu{^zlBLBla7rb`tTecwJaF@5@MT+non>89Yv^mX6&%zeko*#DDN$KF;` zK|%fayG!ReI8GRQ)fGoNIOzG`zx!WXK|zkA@jo|5hq%)NX-3A6Cg7%mf{KEIqFFZ| z=MU)<3ln$0$_5%dYkK^BUe;{mF0=2hP^dVce?xgNBzKpW#WYT`d9~tb^95< z{||F;u;F9+r@qVFfg*#x+h5$v$m9rYvK)%s7JuNr!?*J{ctLLX{%1{`j)FpW`|B)C zU`ci;V{$JO)26~z@1_8~Idj&xC}2sr`q)b&U<+miP`Oohyb`cb)M8|eH1(SfEFT@_ zHZ)v`{4E4**@SU&oLE)3iwDSj#lo`W+^y-rLUn_egF{&FWab zXh+r@J!c@(iji^U=5MONl6VcUtrYsWL=won0xXp0Zq*02q!Ok!G^~+Yej3=mTHxp4 z@M=wMC$P|6&BBs$)grbH$Sh@I3QB+L4Rl|`s8dHnb*QD)Yuq(z_b=2l-)Ct3&Ngo; z3&#|04iC$p-{nOnxE(GKVPcWv;yB^FXqP-RLwwlR(6A?e#)74O)gnPiW?g2H?0Wp5P}GN+g+ zIV^B+aNwFS|8Gl!jrP-W7LF1DfeC!UAO1T?`5p`eW?6#(U{S%wcXlGMO$0Iepd?t> oVN`T996(8JG(8NxeDT2i@FL}j67$S$fny~Mp00i_>zopr0J;+lpa1{> literal 0 HcmV?d00001 diff --git a/cypress/screenshots/compareFile/touchDraw100Diff.png b/cypress/screenshots/compareFile/touchDraw100Diff.png new file mode 100644 index 0000000000000000000000000000000000000000..1c1343379b7c4e4eac7415dc5d6a7243eaaf6d3e GIT binary patch literal 1402 zcmeAS@N?(olHy`uVBq!ia0y~yV4MKL9Be?5hW%z|7#LU`JzX3_Dj44$JeV0B$iQ;o z>ZjEef44uo-zLPw$@0WmO#X?1asP9F#)kSU3Qp7&pXdBKbxFnSO7H6QvE>o2u;k|4EK-J-v82YLMf>tNNkM~K|w>L2Nr7zS||w0i$M+~yc}H5XZaKS$>{yC*(dXv z-DmdM`ObWI%MKsZx=FpI48yp^=rjoogN)+AJ3|X?54#5^l$)ScGflmUDTWd9Vl=A6 z{FIqNRgNOrJvzR?UVbGY>1@EA{j&P;sL_S1xYDJ)uye>zxFSO=#|u37M0(ys$goL!MUs%d<{;!5;M9BW?CfaI zvP8i7B2+f;v%6R?H^VYp z`g#1s`ON5%Hfq@Ob|gYmZRH>Hf<^g?eqC%kJuO-Ii0UuU)}9?0Yh|;ot^(faDHt1T z^`J8aL^s}F8U%h-%6BLJuou*K0iyeztC_&#B;0E|UatX7Y9-wGz z$cE^`*5M4`X)rj)Fdfx&%*}r$q4prl*l(uOGcLAMf9?)YenvXdQ?mU7i*8eTIj^vY{pUaG--hw=rRD=BN*9K@_H6^0!@v1J%Ijv{ z2wEIs+4&(a%hE3ruFj@jTn$5LC9J@ZUq)$A#HHOPFTprrwtah?Wk3BR6wvVDG3&+f zr}*w_mFDbFQ{x8RV5IoBMhsod4YreH0-l z9}OlugKenY5&;j?&^wcE&=OLl?deO|BpAz+m(0Pge0OYI(PT5MMUh_}vKzo#s2$$I z;VocK`|tYH0e{PwxyPC@!fYC5`kqB>1xRdc+-`G`)J;B<ZPK;p62CyEHEX9?_k>Pz)Uf@8$yYHoI(7F tHlBR^f$IQ&;W^Ip7e`9~EM?yV{+ZvTT)0lX7XlWm44$rjF6*2UngE+qN45X} literal 0 HcmV?d00001 diff --git a/cypress/screenshots/touch.cy.ts/cy.realTouch -- touches with a custom radius (failed).png b/cypress/screenshots/touch.cy.ts/cy.realTouch -- touches with a custom radius (failed).png new file mode 100644 index 0000000000000000000000000000000000000000..c4b87141cbcab44cf398043c776d944e18ffa71c GIT binary patch literal 154924 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%0DC{N5)5sKwp1*3Fdd;(*bycl*Fy0bV7np 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 Wq$Ld-O@5+F)F%z9AYgF4 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%0A8^ft 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

0r8%Zs>Wg3S99@hp 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


+
Hover/mousemove over me with shift pressed
+
+
Initiate mouse down with shift pressed
+
+
Initiate mouse up with shift pressed
+
+ +

+ + + + diff --git a/src/commands/mouseDown.ts b/src/commands/mouseDown.ts index d7816b2..93cb033 100644 --- a/src/commands/mouseDown.ts +++ b/src/commands/mouseDown.ts @@ -5,6 +5,7 @@ import { Position, } from "../getCypressElementCoordinates"; import { mouseButtonNumbers } from "../mouseButtonNumbers"; +import { keyToModifierBitMap } from "../keyToModifierBitMap"; export interface realMouseDownOptions { /** Pointer type for realMouseDown, if "pen" touch simulated */ @@ -24,6 +25,11 @@ export interface realMouseDownOptions { * @default "left" */ button?: keyof typeof mouseButtonNumbers; + /** + * Indicates whether the shift key was pressed or not when an event occurred + * @example cy.realMouseDown({ shiftKey: true }); + */ + shiftKey?: boolean; } /** @ignore this, update documentation for this function at index.d.ts */ @@ -51,6 +57,7 @@ export async function realMouseDown( buttons: mouseButtonNumbers[options.button ?? "left"], pointerType: options.pointer ?? "mouse", button: options.button ?? "left", + modifiers: options.shiftKey ? keyToModifierBitMap.Shift : 0, }); log.snapshot("after").end(); diff --git a/src/commands/mouseMove.ts b/src/commands/mouseMove.ts index b0302c5..b9c7a7d 100644 --- a/src/commands/mouseMove.ts +++ b/src/commands/mouseMove.ts @@ -4,6 +4,7 @@ import { Position, ScrollBehaviorOptions, } from "../getCypressElementCoordinates"; +import { keyToModifierBitMap } from "../keyToModifierBitMap"; export interface RealMouseMoveOptions { /** @@ -14,9 +15,14 @@ export interface RealMouseMoveOptions { position?: Position; /** * Controls how the page is scrolled to bring the subject into view, if needed. - * @example cy.realClick({ scrollBehavior: "top" }); + * @example cy.realMouseMove({ scrollBehavior: "top" }); */ scrollBehavior?: ScrollBehaviorOptions; + /** + * Indicates whether the shift key was pressed or not when an event occurred + * @example cy.realMouseMove({ shiftKey: true }); + */ + shiftKey?: boolean; } /** @ignore this, update documentation for this function at index.d.ts */ @@ -46,6 +52,7 @@ export async function realMouseMove( type: "mouseMoved", x: x * basePosition.frameScale + basePosition.x, y: y * basePosition.frameScale + basePosition.y, + modifiers: options.shiftKey ? keyToModifierBitMap.Shift : 0, }); log.snapshot("after").end(); diff --git a/src/commands/mouseUp.ts b/src/commands/mouseUp.ts index 783301e..71c1743 100644 --- a/src/commands/mouseUp.ts +++ b/src/commands/mouseUp.ts @@ -5,6 +5,7 @@ import { Position, } from "../getCypressElementCoordinates"; import { mouseButtonNumbers } from "../mouseButtonNumbers"; +import { keyToModifierBitMap } from "../keyToModifierBitMap"; export interface realMouseUpOptions { /** Pointer type for realMouseUp, if "pen" touch simulated */ @@ -23,6 +24,11 @@ export interface realMouseUpOptions { * @default "left" */ button?: keyof typeof mouseButtonNumbers; + /** + * Indicates whether the shift key was pressed or not when an event occurred + * @example cy.realMouseUp({ shiftKey: true }); + */ + shiftKey?: boolean; } /** @ignore this, update documentation for this function at index.d.ts */ @@ -50,6 +56,7 @@ export async function realMouseUp( buttons: mouseButtonNumbers[options.button ?? "left"], pointerType: options.pointer ?? "mouse", button: options.button ?? "left", + modifiers: options.shiftKey ? keyToModifierBitMap.Shift : 0, }); log.snapshot("after").end(); diff --git a/src/commands/realClick.ts b/src/commands/realClick.ts index 99d4a18..ef7f786 100644 --- a/src/commands/realClick.ts +++ b/src/commands/realClick.ts @@ -5,6 +5,7 @@ import { Position, } from "../getCypressElementCoordinates"; import { mouseButtonNumbers } from "../mouseButtonNumbers"; +import { keyToModifierBitMap } from "../keyToModifierBitMap"; export interface RealClickOptions { /** Pointer type for realClick, if "pen" touch simulated */ @@ -38,6 +39,11 @@ export interface RealClickOptions { * @example cy.realClick({ clickCount: 2 }); */ clickCount?: number; + /** + * Indicates whether the shift key was pressed or not when an event occurred + * @example cy.realClick({ shiftKey: true }); + */ + shiftKey?: boolean; } /** @ignore this, update documentation for this function at index.d.ts */ @@ -78,6 +84,7 @@ export async function realClick( buttons: mouseButtonNumbers[options.button ?? "left"], pointerType: options.pointer ?? "mouse", button: options.button ?? "left", + modifiers: options.shiftKey ? keyToModifierBitMap.Shift : 0, }); await fireCdpCommand("Input.dispatchMouseEvent", { @@ -88,6 +95,7 @@ export async function realClick( buttons: mouseButtonNumbers[options.button ?? "left"], pointerType: options.pointer ?? "mouse", button: options.button ?? "left", + modifiers: options.shiftKey ? keyToModifierBitMap.Shift : 0, }); } diff --git a/src/commands/realHover.ts b/src/commands/realHover.ts index 64e443e..33a7899 100644 --- a/src/commands/realHover.ts +++ b/src/commands/realHover.ts @@ -4,6 +4,7 @@ import { ScrollBehaviorOptions, getCypressElementCoordinates, } from "../getCypressElementCoordinates"; +import { keyToModifierBitMap } from "../keyToModifierBitMap"; export interface RealHoverOptions { /** @@ -20,6 +21,11 @@ export interface RealHoverOptions { * @example cy.realHover({ scrollBehavior: "top" }); */ scrollBehavior?: ScrollBehaviorOptions; + /** + * Indicates whether the shift key was pressed or not when an event occurred + * @example cy.realHover({ shiftKey: true }); + */ + shiftKey?: boolean; } /** @ignore this, update documentation for this function at index.d.ts */ @@ -44,6 +50,7 @@ export async function realHover( type: "mouseMoved", button: "none", pointerType: options.pointer ?? "mouse", + modifiers: options.shiftKey ? keyToModifierBitMap.Shift : 0, }); log.snapshot().end(); diff --git a/src/commands/realPress.ts b/src/commands/realPress.ts index 64ee61e..63ac1aa 100644 --- a/src/commands/realPress.ts +++ b/src/commands/realPress.ts @@ -1,5 +1,6 @@ import { fireCdpCommand } from "../fireCdpCommand"; import { keyCodeDefinitions } from "../keyCodeDefinitions"; +import { keyToModifierBitMap } from "../keyToModifierBitMap"; export interface RealPressOptions { /** @@ -34,13 +35,6 @@ function getKeyDefinition(key: keyof typeof keyCodeDefinitions) { }; } -const keyToModifierBitMap: Record = { - Alt: 1, - Control: 2, - Meta: 4, - Shift: 8, -}; - type Key = keyof typeof keyCodeDefinitions; // unfortunately passing a string like Shift+P is not possible cause typescript template literals can not handle such giant union type KeyOrShortcut = Key | Array; diff --git a/src/keyToModifierBitMap.ts b/src/keyToModifierBitMap.ts new file mode 100644 index 0000000..bffac80 --- /dev/null +++ b/src/keyToModifierBitMap.ts @@ -0,0 +1,6 @@ +export const keyToModifierBitMap: Record = { + Alt: 1, + Control: 2, + Meta: 4, + Shift: 8, +}; From 1b65608bceb4143a4ba8dc707afdb23548eb3085 Mon Sep 17 00:00:00 2001 From: Adam Robinson <30032798+adamistheanswer@users.noreply.github.com> Date: Mon, 17 Jul 2023 18:45:10 +0100 Subject: [PATCH 11/15] feat: add x & y options for mouseDown and moustUp events (#486) * Update mouseDown.ts Add X & Y coordinates to mouseDown * Update src/commands/mouseDown.ts * Update mouseUp as well --------- Co-authored-by: Dmitriy Kovalenko --- src/commands/mouseDown.ts | 22 +++++++++++++++++++++- src/commands/mouseUp.ts | 21 ++++++++++++++++++++- src/commands/realClick.ts | 8 +++----- 3 files changed, 44 insertions(+), 7 deletions(-) diff --git a/src/commands/mouseDown.ts b/src/commands/mouseDown.ts index 93cb033..4119d48 100644 --- a/src/commands/mouseDown.ts +++ b/src/commands/mouseDown.ts @@ -25,6 +25,19 @@ export interface realMouseDownOptions { * @default "left" */ button?: keyof typeof mouseButtonNumbers; + + /** X coordinate to click, relative to the Element. Overrides `position`. + * @example + * cy.get("canvas").realMouseDown({ x: 100, y: 115 }) + * cy.get("body").realMouseDown({ x: 11, y: 12 }) // global click by coordinates + */ + x?: number; + /** Y coordinate to click, relative to the Element. Overrides `position`. + * @example + * cy.get("canvas").realMouseDown({ x: 100, y: 115 }) + * cy.get("body").realMouseDown({ x: 11, y: 12 }) // global click by coordinates + */ + y?: number; /** * Indicates whether the shift key was pressed or not when an event occurred * @example cy.realMouseDown({ shiftKey: true }); @@ -37,7 +50,14 @@ export async function realMouseDown( subject: JQuery, options: realMouseDownOptions = {} ) { - const { x, y } = getCypressElementCoordinates(subject, options.position, options.scrollBehavior); + const position = + options.x && options.y ? { x: options.x, y: options.y } : options.position; + + const { x, y } = getCypressElementCoordinates( + subject, + position, + options.scrollBehavior + ); const log = Cypress.log({ $el: subject, diff --git a/src/commands/mouseUp.ts b/src/commands/mouseUp.ts index 71c1743..76aaf32 100644 --- a/src/commands/mouseUp.ts +++ b/src/commands/mouseUp.ts @@ -24,6 +24,18 @@ export interface realMouseUpOptions { * @default "left" */ button?: keyof typeof mouseButtonNumbers; + /** X coordinate to click, relative to the Element. Overrides `position`. + * @example + * cy.get("canvas").realMouseUp({ x: 100, y: 115 }) + * cy.get("body").realMouseUp({ x: 11, y: 12 }) // global click by coordinates + */ + x?: number; + /** Y coordinate to click, relative to the Element. Overrides `position`. + * @example + * cy.get("canvas").realMouseUp({ x: 100, y: 115 }) + * cy.get("body").realMouseUp({ x: 11, y: 12 }) // global click by coordinates + */ + y?: number; /** * Indicates whether the shift key was pressed or not when an event occurred * @example cy.realMouseUp({ shiftKey: true }); @@ -36,7 +48,14 @@ export async function realMouseUp( subject: JQuery, options: realMouseUpOptions = {} ) { - const { x, y } = getCypressElementCoordinates(subject, options.position, options.scrollBehavior); + const position = + options.x && options.y ? { x: options.x, y: options.y } : options.position; + + const { x, y } = getCypressElementCoordinates( + subject, + position, + options.scrollBehavior + ); const log = Cypress.log({ $el: subject, diff --git a/src/commands/realClick.ts b/src/commands/realClick.ts index ef7f786..bfd756c 100644 --- a/src/commands/realClick.ts +++ b/src/commands/realClick.ts @@ -51,10 +51,8 @@ export async function realClick( subject: JQuery, options: RealClickOptions = {} ) { - // prettier-ignore - const position = options.x && options.y - ? { x: options.x, y: options.y } - : options.position; + const position = + options.x && options.y ? { x: options.x, y: options.y } : options.position; const { x, y } = getCypressElementCoordinates( subject, @@ -73,7 +71,7 @@ export async function realClick( log.snapshot("before"); - const { clickCount = 1 } = options + const { clickCount = 1 } = options; for (let currentClick = 1; currentClick <= clickCount; currentClick++) { await fireCdpCommand("Input.dispatchMouseEvent", { From ab05df73427ccc03a0ea2cf11320c3e2bd2210a9 Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Mon, 17 Jul 2023 19:50:00 +0200 Subject: [PATCH 12/15] chore(style): Format whole codebase with prettier and enforce it on CI (#520) --- .circleci/config.yml | 5 +- cypress/e2e/click.cy.ts | 6 +- cypress/e2e/hover.cy.ts | 10 +- cypress/e2e/mouse.cy.ts | 24 +-- cypress/e2e/swipe.cy.ts | 74 +++++---- cypress/e2e/touch.cy.ts | 2 +- cypress/e2e/type.cy.ts | 2 +- cypress/e2e/viewport-scaling.cy.ts | 243 +++++++++++++++++----------- cypress/e2e/wheel.cy.ts | 15 +- package.json | 5 + src/commands/mouseDown.ts | 4 +- src/commands/mouseMove.ts | 10 +- src/commands/mouseUp.ts | 4 +- src/commands/mouseWheel.ts | 13 +- src/commands/realClick.ts | 4 +- src/commands/realHover.ts | 10 +- src/commands/realPress.ts | 4 +- src/commands/realSwipe.ts | 12 +- src/commands/realTouch.ts | 38 ++--- src/commands/realType.ts | 2 +- src/fireCdpCommand.ts | 4 +- src/getCypressElementCoordinates.ts | 22 +-- src/index.d.ts | 20 ++- src/mouseButtonNumbers.ts | 14 +- src/support.ts | 23 ++- yarn.lock | 5 + 26 files changed, 335 insertions(+), 240 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index f92574b..2ea24e3 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -8,9 +8,7 @@ jobs: - checkout - attach_workspace: at: ~/ - - cypress/install: - install-browsers: true - install-command: yarn install --frozen-lockfile + - run: yarn install --frozen-lockfile - persist_to_workspace: root: ~/ paths: . @@ -23,6 +21,7 @@ jobs: at: ~/ - run: yarn lint - run: yarn build + - run: yarn format-check - run: node scripts/release.js - persist_to_workspace: root: ~/ diff --git a/cypress/e2e/click.cy.ts b/cypress/e2e/click.cy.ts index b911756..efd041c 100644 --- a/cypress/e2e/click.cy.ts +++ b/cypress/e2e/click.cy.ts @@ -124,10 +124,10 @@ describe("cy.realClick", () => { const screenCenter = screenTop + (screenBottom - screenTop) / 2; expect($elTop).to.eq( - Math.floor(screenCenter - $canvas.outerHeight() / 2) + Math.floor(screenCenter - $canvas.outerHeight() / 2), ); expect($elBottom).to.equal( - Math.floor(screenCenter + $canvas.outerHeight() / 2) + Math.floor(screenCenter + $canvas.outerHeight() / 2), ); }); }); @@ -214,4 +214,4 @@ describe("iframe behavior", { retries: 10 }, () => { cy.get("#target").realClick().contains("clicked").should("exist"); }); }); -}); \ No newline at end of file +}); diff --git a/cypress/e2e/hover.cy.ts b/cypress/e2e/hover.cy.ts index ee8aff8..2afdfc3 100644 --- a/cypress/e2e/hover.cy.ts +++ b/cypress/e2e/hover.cy.ts @@ -13,7 +13,7 @@ describe("cy.realHover", () => { cy.get(".action-btn").should( "have.css", "background-color", - "rgb(217, 83, 79)" + "rgb(217, 83, 79)", ); }); @@ -66,10 +66,10 @@ describe("cy.realHover", () => { const screenCenter = screenTop + (screenBottom - screenTop) / 2; expect($elTop).to.equal( - Math.floor(screenCenter) - $canvas.outerHeight() / 2 + Math.floor(screenCenter) - $canvas.outerHeight() / 2, ); expect($elBottom).to.equal( - Math.floor(screenCenter) + $canvas.outerHeight() / 2 + Math.floor(screenCenter) + $canvas.outerHeight() / 2, ); }); }); @@ -144,7 +144,7 @@ describe("iframe behavior", { retries: 10 }, () => { .realHover() .then(($target) => { expect($target.css("background-color")).to.equal( - "rgb(255, 192, 203)" + "rgb(255, 192, 203)", ); }); }); @@ -169,7 +169,7 @@ describe("iframe behavior", { retries: 10 }, () => { .realHover() .then(($target) => { expect($target.css("background-color")).to.equal( - "rgb(255, 192, 203)" + "rgb(255, 192, 203)", ); }); }); diff --git a/cypress/e2e/mouse.cy.ts b/cypress/e2e/mouse.cy.ts index 74f1728..7ae0601 100644 --- a/cypress/e2e/mouse.cy.ts +++ b/cypress/e2e/mouse.cy.ts @@ -7,19 +7,19 @@ describe("cy.realMouseDown and cy.realMouseUp", () => { cy.get(".action-btn").should( "have.css", "background-color", - "rgb(217, 83, 79)" + "rgb(217, 83, 79)", ); cy.get(".action-btn").realMouseDown(); cy.get(".action-btn").should( "have.css", "background-color", - "rgb(172, 41, 37)" + "rgb(172, 41, 37)", ); cy.get(".action-btn").realMouseUp(); // will go in hover state cy.get(".action-btn").should( "have.css", "background-color", - "rgb(201, 48, 44)" + "rgb(201, 48, 44)", ); }); @@ -123,10 +123,10 @@ describe("cy.realMouseDown and cy.realMouseUp", () => { const screenCenter = screenTop + (screenBottom - screenTop) / 2; expect($elTop).to.equal( - Math.floor(screenCenter) - $canvas.outerHeight() / 2 + Math.floor(screenCenter) - $canvas.outerHeight() / 2, ); expect($elBottom).to.equal( - Math.floor(screenCenter) + $canvas.outerHeight() / 2 + Math.floor(screenCenter) + $canvas.outerHeight() / 2, ); }); }); @@ -204,10 +204,10 @@ describe("cy.realMouseDown and cy.realMouseUp", () => { const screenCenter = screenTop + (screenBottom - screenTop) / 2; expect($elTop).to.equal( - Math.floor(screenCenter) - $canvas.outerHeight() / 2 + Math.floor(screenCenter) - $canvas.outerHeight() / 2, ); expect($elBottom).to.equal( - Math.floor(screenCenter) + $canvas.outerHeight() / 2 + Math.floor(screenCenter) + $canvas.outerHeight() / 2, ); }); }); @@ -285,7 +285,7 @@ describe( .realMouseDown() .then(($target) => { expect($target.css("background-color")).to.equal( - "rgb(0, 0, 255)" + "rgb(0, 0, 255)", ); }); @@ -294,7 +294,7 @@ describe( .realMouseUp() .then(($target) => { expect($target.css("background-color")).to.equal( - "rgb(255, 192, 203)" + "rgb(255, 192, 203)", ); }); }); @@ -319,7 +319,7 @@ describe( .realMouseDown() .then(($target) => { expect($target.css("background-color")).to.equal( - "rgb(0, 0, 255)" + "rgb(0, 0, 255)", ); }); @@ -328,12 +328,12 @@ describe( .realMouseUp() .then(($target) => { expect($target.css("background-color")).to.equal( - "rgb(255, 192, 203)" + "rgb(255, 192, 203)", ); }); }); }); - } + }, ); describe("realMouseMove", () => { diff --git a/cypress/e2e/swipe.cy.ts b/cypress/e2e/swipe.cy.ts index 3558dd7..ce0971a 100644 --- a/cypress/e2e/swipe.cy.ts +++ b/cypress/e2e/swipe.cy.ts @@ -1,45 +1,59 @@ describe("cy.realSwipe", () => { beforeEach(() => { - cy.viewport("iphone-x") + cy.viewport("iphone-x"); cy.visit("https://csb-dhe0i-qj8xxmx8y.vercel.app/"); }); - ([ - { - button: "left", - swipe: "toLeft", - length: 150, - touchPosition: "right", - }, - { - button: "right", - swipe: "toRight", - length: 150, - touchPosition: "left", - }, - { - button: "top", - swipe: "toTop", - length: 300, - touchPosition: "center", - }, - { - button: "bottom", - swipe: "toBottom", - length: 300, - touchPosition: "top", - }, - ] as const).forEach(({ button, swipe, length, touchPosition }) => { + ( + [ + { + button: "left", + swipe: "toLeft", + length: 150, + touchPosition: "right", + }, + { + button: "right", + swipe: "toRight", + length: 150, + touchPosition: "left", + }, + { + button: "top", + swipe: "toTop", + length: 300, + touchPosition: "center", + }, + { + button: "bottom", + swipe: "toBottom", + length: 300, + touchPosition: "top", + }, + ] as const + ).forEach(({ button, swipe, length, touchPosition }) => { it(`swipes ${button} drawer ${swipe}`, { retries: 4 }, () => { cy.contains("button", button).click(); - cy.get(".MuiDrawer-paper").realSwipe(swipe, { length, step: 10, touchPosition }); + cy.get(".MuiDrawer-paper").realSwipe(swipe, { + length, + step: 10, + touchPosition, + }); cy.get(".MuiDrawer-paper").should("not.be.visible"); }); }); it("opens drawer with swipe", { retries: 4 }, () => { - cy.get('.jss3.jss4').realSwipe("toRight", { length: 150, step: 10, touchPosition: "center" }); - cy.get('.MuiDrawer-paper').realSwipe("toLeft", { length: 150, step: 10, touchPosition: "center" }); + cy.get(".jss3.jss4").realSwipe("toRight", { + length: 150, + step: 10, + touchPosition: "center", + }); + cy.get(".MuiDrawer-paper").realSwipe("toLeft", { + length: 150, + step: 10, + touchPosition: "center", + }); }); }); diff --git a/cypress/e2e/touch.cy.ts b/cypress/e2e/touch.cy.ts index a2de114..df76b63 100644 --- a/cypress/e2e/touch.cy.ts +++ b/cypress/e2e/touch.cy.ts @@ -71,4 +71,4 @@ describe("cy.realTouch", () => { }) .realTouch({ radiusX: 5, radiusY: 7 }); }); -}); \ No newline at end of file +}); diff --git a/cypress/e2e/type.cy.ts b/cypress/e2e/type.cy.ts index f01a0a1..21389cd 100644 --- a/cypress/e2e/type.cy.ts +++ b/cypress/e2e/type.cy.ts @@ -9,7 +9,7 @@ describe("cy.realType", () => { cy.get("input[name=q]").should( "have.value", - "cypress can produce real events" + "cypress can produce real events", ); }); diff --git a/cypress/e2e/viewport-scaling.cy.ts b/cypress/e2e/viewport-scaling.cy.ts index 698274e..22cfcdf 100644 --- a/cypress/e2e/viewport-scaling.cy.ts +++ b/cypress/e2e/viewport-scaling.cy.ts @@ -1,96 +1,147 @@ -import * as pixelmatch from 'pixelmatch' -import { PNG } from 'pngjs/browser'; - -/** - * No matter how th viewport is scaled by cypress, all clicks and draws should not be moved by more than 1 px in y and x direction - * 1px tolerance in each direction is ok, because the scaling forces the click coordinates to round up or down - * 1px movement in one direction makes a difference of two pixels - * **/ - -describe('draw on canvas with scaled viewport',()=>{ - beforeEach(() => { - cy.visit("./cypress/fixtures/drawCanvas.html"); - }); - - it('clicks custom coordinates and viewport scaling',()=>{ - // default cypress scale - cy.viewport(1000, 660 ); - const canvas = 'canvas' - cy.get(canvas).realClick({ x: 100, y: 100 }) - cy.get(canvas).realClick({ x: 200, y: 200 }) - cy.get(canvas).realClick({ x: 300, y: 300}) - cy.get(canvas).then(cnv =>{ - const url = cnv[0].toDataURL('image/png'); - const realData = url.replace(/^data:image\/png;base64,/, '') - cy.writeFile('cypress/screenshots/compareFile/clickDraw100.png', realData, 'base64') - /** - * Three clicks produce three 3x3 Pixel rectangles - * Each of them should not be moved more than 1px in each direction - * --> max allowed difference to the reference image 18px - **/ - compareImages('clickDraw100.png', 'clickDraw.png', 'clickDraw100Diff.png').should('be.lessThan', 33) - }) - cy.get('input').click(); - cy.viewport(1500, 1500 ); - cy.get(canvas).realClick({ x: 100, y: 100 }) - cy.get(canvas).realClick({ x: 200, y: 200 }) - cy.get(canvas).realClick({ x: 300, y: 300}) - cy.get(canvas).then(cnv =>{ - const url = cnv[0].toDataURL('image/png'); - const data = url.replace(/^data:image\/png;base64,/, '') - cy.writeFile('cypress/screenshots/compareFile/clickDrawScaled.png', data, 'base64') - compareImages('clickDrawScaled.png', 'clickDraw.png', 'clickDrawScaledDiff.png').should('be.lessThan', 33) - }) - }) - - it('touches custom coordinates with radius and viewport scaling',()=>{ - // default cypress scale - cy.viewport(1000, 660 ); - const canvas = 'canvas' - cy.get(canvas).realTouch({ x: 100, y: 100 }) - cy.get(canvas).realTouch({ x: 200, y: 200, radius: 10 }) - cy.get(canvas).realTouch({ x: 300, y: 300, radiusX: 10, radiusY: 5 }) - cy.get(canvas).then(cnv =>{ - const url = cnv[0].toDataURL('image/png'); - const data = url.replace(/^data:image\/png;base64,/, '') - cy.writeFile('cypress/screenshots/compareFile/touchDraw100.png', data, 'base64') - /** - * Three touches with different radius create the following rectanges: - * Radius 0 --> default 3x3 - * Radius 10 --> 10x10 - * Radius x:10 y:5 --> 10x15 - * Each of them should not be moved more than 1px in each direction - * --> max allowed difference to the reference image 31px - **/ - compareImages('touchDraw100.png', 'touchDraw.png', 'touchDraw100Diff.png').should('be.lessThan', 63) - }) - cy.get('input').click(); - cy.viewport(2000, 2000 ); - cy.get(canvas).realTouch({ x: 100, y: 100 }) - cy.get(canvas).realTouch({ x: 200, y: 200, radius: 10 }) - cy.get(canvas).realTouch({ x: 300, y: 300, radiusX: 10, radiusY: 5 }) - cy.get(canvas).then(cnv =>{ - const url = cnv[0].toDataURL('image/png'); - const data = url.replace(/^data:image\/png;base64,/, '') - cy.writeFile('cypress/screenshots/compareFile/touchDrawScaled.png', data, 'base64') - compareImages('touchDrawScaled.png', 'touchDraw.png', 'touchDrawScaledDiff.png').should('be.lessThan', 63) - }) - }) -}) - -const compareImages = (realFile: string, compareFile: string, diffFile: string): Cypress.Chainable => { - return cy.fixture('images/'+compareFile, null).then((compareDate: Uint8Array)=> { - return cy.readFile('cypress/screenshots/compareFile/'+realFile, null).then((realData: Uint8Array) =>{ - - const a = PNG.sync.read(realData); - const b = PNG.sync.read(compareDate); - const {width, height} = a; - const diff = new PNG({width, height}); - const diffPixel = pixelmatch(a.data, b.data, diff.data, width, height, {}); - return cy.writeFile('cypress/screenshots/compareFile/'+diffFile, PNG.sync.write(diff).toString('binary'), { encoding: 'binary' }).then(()=>{ - return diffPixel - }) - - }) - }) -} \ No newline at end of file +import * as pixelmatch from "pixelmatch"; +import { PNG } from "pngjs/browser"; + +/** + * No matter how th viewport is scaled by cypress, all clicks and draws should not be moved by more than 1 px in y and x direction + * 1px tolerance in each direction is ok, because the scaling forces the click coordinates to round up or down + * 1px movement in one direction makes a difference of two pixels + * **/ + +describe("draw on canvas with scaled viewport", () => { + beforeEach(() => { + cy.visit("./cypress/fixtures/drawCanvas.html"); + }); + + it("clicks custom coordinates and viewport scaling", () => { + // default cypress scale + cy.viewport(1000, 660); + const canvas = "canvas"; + cy.get(canvas).realClick({ x: 100, y: 100 }); + cy.get(canvas).realClick({ x: 200, y: 200 }); + cy.get(canvas).realClick({ x: 300, y: 300 }); + cy.get(canvas).then((cnv) => { + const url = cnv[0].toDataURL("image/png"); + const realData = url.replace(/^data:image\/png;base64,/, ""); + cy.writeFile( + "cypress/screenshots/compareFile/clickDraw100.png", + realData, + "base64", + ); + /** + * Three clicks produce three 3x3 Pixel rectangles + * Each of them should not be moved more than 1px in each direction + * --> max allowed difference to the reference image 18px + **/ + compareImages( + "clickDraw100.png", + "clickDraw.png", + "clickDraw100Diff.png", + ).should("be.lessThan", 33); + }); + cy.get("input").click(); + cy.viewport(1500, 1500); + cy.get(canvas).realClick({ x: 100, y: 100 }); + cy.get(canvas).realClick({ x: 200, y: 200 }); + cy.get(canvas).realClick({ x: 300, y: 300 }); + cy.get(canvas).then((cnv) => { + const url = cnv[0].toDataURL("image/png"); + const data = url.replace(/^data:image\/png;base64,/, ""); + cy.writeFile( + "cypress/screenshots/compareFile/clickDrawScaled.png", + data, + "base64", + ); + compareImages( + "clickDrawScaled.png", + "clickDraw.png", + "clickDrawScaledDiff.png", + ).should("be.lessThan", 33); + }); + }); + + it("touches custom coordinates with radius and viewport scaling", () => { + // default cypress scale + cy.viewport(1000, 660); + const canvas = "canvas"; + cy.get(canvas).realTouch({ x: 100, y: 100 }); + cy.get(canvas).realTouch({ x: 200, y: 200, radius: 10 }); + cy.get(canvas).realTouch({ x: 300, y: 300, radiusX: 10, radiusY: 5 }); + cy.get(canvas).then((cnv) => { + const url = cnv[0].toDataURL("image/png"); + const data = url.replace(/^data:image\/png;base64,/, ""); + cy.writeFile( + "cypress/screenshots/compareFile/touchDraw100.png", + data, + "base64", + ); + /** + * Three touches with different radius create the following rectanges: + * Radius 0 --> default 3x3 + * Radius 10 --> 10x10 + * Radius x:10 y:5 --> 10x15 + * Each of them should not be moved more than 1px in each direction + * --> max allowed difference to the reference image 31px + **/ + compareImages( + "touchDraw100.png", + "touchDraw.png", + "touchDraw100Diff.png", + ).should("be.lessThan", 63); + }); + cy.get("input").click(); + cy.viewport(2000, 2000); + cy.get(canvas).realTouch({ x: 100, y: 100 }); + cy.get(canvas).realTouch({ x: 200, y: 200, radius: 10 }); + cy.get(canvas).realTouch({ x: 300, y: 300, radiusX: 10, radiusY: 5 }); + cy.get(canvas).then((cnv) => { + const url = cnv[0].toDataURL("image/png"); + const data = url.replace(/^data:image\/png;base64,/, ""); + cy.writeFile( + "cypress/screenshots/compareFile/touchDrawScaled.png", + data, + "base64", + ); + compareImages( + "touchDrawScaled.png", + "touchDraw.png", + "touchDrawScaledDiff.png", + ).should("be.lessThan", 63); + }); + }); +}); + +const compareImages = ( + realFile: string, + compareFile: string, + diffFile: string, +): Cypress.Chainable => { + return cy + .fixture("images/" + compareFile, null) + .then((compareDate: Uint8Array) => { + return cy + .readFile("cypress/screenshots/compareFile/" + realFile, null) + .then((realData: Uint8Array) => { + const a = PNG.sync.read(realData); + const b = PNG.sync.read(compareDate); + const { width, height } = a; + const diff = new PNG({ width, height }); + const diffPixel = pixelmatch( + a.data, + b.data, + diff.data, + width, + height, + {}, + ); + return cy + .writeFile( + "cypress/screenshots/compareFile/" + diffFile, + PNG.sync.write(diff).toString("binary"), + { encoding: "binary" }, + ) + .then(() => { + return diffPixel; + }); + }); + }); +}; diff --git a/cypress/e2e/wheel.cy.ts b/cypress/e2e/wheel.cy.ts index f6163c1..a2d6f1f 100644 --- a/cypress/e2e/wheel.cy.ts +++ b/cypress/e2e/wheel.cy.ts @@ -1,4 +1,9 @@ -function assertWheel(opt: { deltax: string; deltay:string; trusted: string; className: string }) { +function assertWheel(opt: { + deltax: string; + deltay: string; + trusted: string; + className: string; +}) { cy.get(".deltax").should("have.text", opt.deltax, "DeltaX"); cy.get(".deltay").should("have.text", opt.deltay, "DeltaY"); cy.get(".isTrusted").should("have.text", opt.trusted); @@ -16,7 +21,7 @@ describe("cy.realMouseWheel", () => { deltax: "0", deltay: "100", trusted: "true", - className: "main greenbox" + className: "main greenbox", }); }); @@ -26,7 +31,7 @@ describe("cy.realMouseWheel", () => { deltax: "0", deltay: "75", trusted: "true", - className: "smallbox redbox" + className: "smallbox redbox", }); }); @@ -36,7 +41,7 @@ describe("cy.realMouseWheel", () => { deltax: "25", deltay: "0", trusted: "true", - className: "smallbox redbox" + className: "smallbox redbox", }); }); @@ -46,7 +51,7 @@ describe("cy.realMouseWheel", () => { deltax: "33", deltay: "33", trusted: "true", - className: "smallbox redbox" + className: "smallbox redbox", }); }); diff --git a/package.json b/package.json index 7fdd3b0..7d55109 100644 --- a/package.json +++ b/package.json @@ -8,6 +8,8 @@ "build": "tsc", "lint": "yarn eslint './{src,cypress}/**/*.ts'", "release": "yarn build && yarn version && node scripts/release.js && yarn publish dist", + "format": "yarn prettier --write './{src,cypress}/**/*.ts'", + "format-check": "yarn prettier --check './{src,cypress}/**/*.ts'", "semantic-release": "semantic-release" }, "peerDependencies": { @@ -35,5 +37,8 @@ "branches": [ "main" ] + }, + "dependencies": { + "prettier": "^3.0.0" } } diff --git a/src/commands/mouseDown.ts b/src/commands/mouseDown.ts index 4119d48..3336f21 100644 --- a/src/commands/mouseDown.ts +++ b/src/commands/mouseDown.ts @@ -48,7 +48,7 @@ export interface realMouseDownOptions { /** @ignore this, update documentation for this function at index.d.ts */ export async function realMouseDown( subject: JQuery, - options: realMouseDownOptions = {} + options: realMouseDownOptions = {}, ) { const position = options.x && options.y ? { x: options.x, y: options.y } : options.position; @@ -56,7 +56,7 @@ export async function realMouseDown( const { x, y } = getCypressElementCoordinates( subject, position, - options.scrollBehavior + options.scrollBehavior, ); const log = Cypress.log({ diff --git a/src/commands/mouseMove.ts b/src/commands/mouseMove.ts index b9c7a7d..dc93cd0 100644 --- a/src/commands/mouseMove.ts +++ b/src/commands/mouseMove.ts @@ -28,14 +28,14 @@ export interface RealMouseMoveOptions { /** @ignore this, update documentation for this function at index.d.ts */ export async function realMouseMove( subject: JQuery, - x: number , + x: number, y: number, - options: RealMouseMoveOptions = {} + options: RealMouseMoveOptions = {}, ) { - const basePosition= getCypressElementCoordinates( + const basePosition = getCypressElementCoordinates( subject, options.position ?? "topLeft", - options.scrollBehavior + options.scrollBehavior, ); const log = Cypress.log({ @@ -58,4 +58,4 @@ export async function realMouseMove( log.snapshot("after").end(); return subject; -} \ No newline at end of file +} diff --git a/src/commands/mouseUp.ts b/src/commands/mouseUp.ts index 76aaf32..f960507 100644 --- a/src/commands/mouseUp.ts +++ b/src/commands/mouseUp.ts @@ -46,7 +46,7 @@ export interface realMouseUpOptions { /** @ignore this, update documentation for this function at index.d.ts */ export async function realMouseUp( subject: JQuery, - options: realMouseUpOptions = {} + options: realMouseUpOptions = {}, ) { const position = options.x && options.y ? { x: options.x, y: options.y } : options.position; @@ -54,7 +54,7 @@ export async function realMouseUp( const { x, y } = getCypressElementCoordinates( subject, position, - options.scrollBehavior + options.scrollBehavior, ); const log = Cypress.log({ diff --git a/src/commands/mouseWheel.ts b/src/commands/mouseWheel.ts index 08256bd..18baab4 100644 --- a/src/commands/mouseWheel.ts +++ b/src/commands/mouseWheel.ts @@ -31,8 +31,15 @@ export interface RealMouseWheelOptions { } /** @ignore this, update documentation for this function at index.d.ts */ -export async function realMouseWheel(subject: JQuery, options: RealMouseWheelOptions = {}) { - const { x, y } = getCypressElementCoordinates(subject, options.position, options.scrollBehavior); +export async function realMouseWheel( + subject: JQuery, + options: RealMouseWheelOptions = {}, +) { + const { x, y } = getCypressElementCoordinates( + subject, + options.position, + options.scrollBehavior, + ); const { deltaX = 0, deltaY = 0 } = options || {}; if (deltaX === 0 && deltaY === 0) { @@ -63,4 +70,4 @@ export async function realMouseWheel(subject: JQuery, options: RealMouseWheelOpt log.snapshot().end(); return subject; -} \ No newline at end of file +} diff --git a/src/commands/realClick.ts b/src/commands/realClick.ts index bfd756c..81df633 100644 --- a/src/commands/realClick.ts +++ b/src/commands/realClick.ts @@ -49,7 +49,7 @@ export interface RealClickOptions { /** @ignore this, update documentation for this function at index.d.ts */ export async function realClick( subject: JQuery, - options: RealClickOptions = {} + options: RealClickOptions = {}, ) { const position = options.x && options.y ? { x: options.x, y: options.y } : options.position; @@ -57,7 +57,7 @@ export async function realClick( const { x, y } = getCypressElementCoordinates( subject, position, - options.scrollBehavior + options.scrollBehavior, ); const log = Cypress.log({ diff --git a/src/commands/realHover.ts b/src/commands/realHover.ts index 33a7899..502a5a7 100644 --- a/src/commands/realHover.ts +++ b/src/commands/realHover.ts @@ -11,7 +11,7 @@ export interface RealHoverOptions { * If set to `pen`, simulates touch based hover (via long press) */ pointer?: "mouse" | "pen"; - /** + /** * Position relative to the element where to hover the element. * @example cy.realHover({ position: "topLeft" }) */ @@ -31,9 +31,13 @@ export interface RealHoverOptions { /** @ignore this, update documentation for this function at index.d.ts */ export async function realHover( subject: JQuery, - options: RealHoverOptions = {} + options: RealHoverOptions = {}, ) { - const { x, y } = getCypressElementCoordinates(subject, options.position, options.scrollBehavior); + const { x, y } = getCypressElementCoordinates( + subject, + options.position, + options.scrollBehavior, + ); const log = Cypress.log({ $el: subject, diff --git a/src/commands/realPress.ts b/src/commands/realPress.ts index 63ac1aa..f877f9f 100644 --- a/src/commands/realPress.ts +++ b/src/commands/realPress.ts @@ -42,7 +42,7 @@ type KeyOrShortcut = Key | Array; /** @ignore this, update documentation for this function at index.d.ts */ export async function realPress( keyOrShortcut: KeyOrShortcut, - options: RealPressOptions = {} + options: RealPressOptions = {}, ) { let log; @@ -88,7 +88,7 @@ export async function realPress( modifiers, ...key, }); - }) + }), ); log?.snapshot("after").end(); diff --git a/src/commands/realSwipe.ts b/src/commands/realSwipe.ts index 3c6934c..1095940 100644 --- a/src/commands/realSwipe.ts +++ b/src/commands/realSwipe.ts @@ -51,11 +51,11 @@ async function forEachSwipePosition( direction: SwipeDirection; startPosition: { x: number; y: number }; }, - onStep: (pos: { x: number; y: number }) => Promise + onStep: (pos: { x: number; y: number }) => Promise, ) { if (length < step) { throw new Error( - "cy.realSwipe: options.length can not be smaller than options.step" + "cy.realSwipe: options.length can not be smaller than options.step", ); } @@ -89,7 +89,7 @@ async function forEachSwipePosition( export async function realSwipe( subject: JQuery, direction: SwipeDirection, - options: RealSwipeOptions = {} + options: RealSwipeOptions = {}, ) { const position = options.x && options.y @@ -99,7 +99,7 @@ export async function realSwipe( const length = options.length ?? 10; const step = options.step ?? 10; const elementCoordinates = getCypressElementCoordinates(subject, position); - const startPosition = {x: elementCoordinates.x, y: elementCoordinates.y} ; + const startPosition = { x: elementCoordinates.x, y: elementCoordinates.y }; const log = Cypress.log({ $el: subject, name: "realSwipe", @@ -128,7 +128,7 @@ export async function realSwipe( fireCdpCommand("Input.dispatchTouchEvent", { type: "touchMove", touchPoints: [position], - }) + }), ); await fireCdpCommand("Input.dispatchTouchEvent", { @@ -139,4 +139,4 @@ export async function realSwipe( log.snapshot("after").end(); return subject; -} \ No newline at end of file +} diff --git a/src/commands/realTouch.ts b/src/commands/realTouch.ts index 1eb8a8d..51af41c 100644 --- a/src/commands/realTouch.ts +++ b/src/commands/realTouch.ts @@ -1,5 +1,8 @@ -import { fireCdpCommand } from '../fireCdpCommand'; -import { getCypressElementCoordinates, Position } from '../getCypressElementCoordinates'; +import { fireCdpCommand } from "../fireCdpCommand"; +import { + getCypressElementCoordinates, + Position, +} from "../getCypressElementCoordinates"; export interface RealTouchOptions { /** @@ -41,18 +44,17 @@ export interface RealTouchOptions { export async function realTouch( subject: JQuery, - options: RealTouchOptions = {} + options: RealTouchOptions = {}, ) { - const position = typeof options.x === 'number' || typeof options.y === 'number' - ? { x: options.x || 0, y: options.y || 0 } - : options.position; + const position = + typeof options.x === "number" || typeof options.y === "number" + ? { x: options.x || 0, y: options.y || 0 } + : options.position; const elementCoordinates = getCypressElementCoordinates(subject, position); - const elementPoint = {x: elementCoordinates.x, y: elementCoordinates.y} - const radiusX = (options.radiusX || options.radius || 1) - const radiusY = (options.radiusY || options.radius || 1) - - + const elementPoint = { x: elementCoordinates.x, y: elementCoordinates.y }; + const radiusX = options.radiusX || options.radius || 1; + const radiusY = options.radiusY || options.radius || 1; const log = Cypress.log({ $el: subject, @@ -63,17 +65,17 @@ export async function realTouch( "Touched Area (Radius)": { x: radiusX, y: radiusY, - } - }) - }) + }, + }), + }); log.snapshot("before"); const touchPoint = { ...elementPoint, radiusX, - radiusY - } + radiusY, + }; await fireCdpCommand("Input.dispatchTouchEvent", { type: "touchStart", @@ -83,9 +85,9 @@ export async function realTouch( await fireCdpCommand("Input.dispatchTouchEvent", { type: "touchEnd", touchPoints: [touchPoint], - }) + }); log.snapshot("after").end(); return subject; -} \ No newline at end of file +} diff --git a/src/commands/realType.ts b/src/commands/realType.ts index cfca9d3..fca819b 100644 --- a/src/commands/realType.ts +++ b/src/commands/realType.ts @@ -21,7 +21,7 @@ export interface RealTypeOptions { const availableChars = Object.keys(keyCodeDefinitions); function assertChar( - char: string + char: string, ): asserts char is keyof typeof keyCodeDefinitions { if (!availableChars.includes(char)) { throw new Error(`Unrecognized character "${char}".`); diff --git a/src/fireCdpCommand.ts b/src/fireCdpCommand.ts index 2e68fe6..0ca961b 100644 --- a/src/fireCdpCommand.ts +++ b/src/fireCdpCommand.ts @@ -1,13 +1,13 @@ export async function fireCdpCommand( command: string, - params: Record + params: Record, ): Promise { return Cypress.automation("remote:debugger:protocol", { command, params, }).catch((e) => { throw new Error( - `Failed request to chrome devtools protocol. This can happen if cypress lost connection to the browser or the command itself is not valid. Original cypress error: ${e}` + `Failed request to chrome devtools protocol. This can happen if cypress lost connection to the browser or the command itself is not valid. Original cypress error: ${e}`, ); }); } diff --git a/src/getCypressElementCoordinates.ts b/src/getCypressElementCoordinates.ts index 5a86e35..e0d8277 100644 --- a/src/getCypressElementCoordinates.ts +++ b/src/getCypressElementCoordinates.ts @@ -19,7 +19,7 @@ function getPositionedCoordinates( width: number, height: number, position: Position, - frameScale: number + frameScale: number, ) { if (typeof position === "object" && position !== null) { const { x, y } = position; @@ -55,7 +55,7 @@ function getPositionedCoordinates( */ function scrollIntoView( htmlElement: HTMLElement, - scrollBehavior: ScrollBehaviorPosition = "center" + scrollBehavior: ScrollBehaviorPosition = "center", ) { let block: ScrollLogicalPosition; @@ -82,7 +82,7 @@ function getFrameElement(currentWindow: Window): HTMLElement { // fallback to querying using the parent window, mainly to grab the AUT iframe // eslint-disable-next-line @typescript-eslint/no-non-null-assertion return [...currentWindow.parent.document.querySelectorAll("iframe")].find( - (iframe) => iframe.contentWindow === currentWindow + (iframe) => iframe.contentWindow === currentWindow, )!; } @@ -113,8 +113,8 @@ function getIframesPositionShift(element: HTMLElement) { frameX: frameX + x * frameScale, frameY: frameY + y * frameScale, frameScale: frameScale * (width / frame.offsetWidth), - } - }, noPositionShift) + }; + }, noPositionShift); } /** @@ -136,7 +136,7 @@ function getElementPositionXY(htmlElement: HTMLElement) { y: frameY + elementY * frameScale, width: width * frameScale, height: height * frameScale, - frameScale: frameScale + frameScale: frameScale, }; } @@ -150,14 +150,14 @@ function getElementPositionXY(htmlElement: HTMLElement) { export function getCypressElementCoordinates( jqueryEl: JQuery, position: Position | undefined, - scrollBehavior?: ScrollBehaviorOptions + scrollBehavior?: ScrollBehaviorOptions, ) { const htmlElement = jqueryEl.get(0); const cypressAppFrame = window.parent.document.querySelector("iframe"); if (!cypressAppFrame) { throw new Error( - "Can not find cypress application iframe, it looks like critical issue. Please rise an issue on GitHub." + "Can not find cypress application iframe, it looks like critical issue. Please rise an issue on GitHub.", ); } @@ -175,12 +175,12 @@ export function getCypressElementCoordinates( width, height, position ?? "center", - frameScale + frameScale, ); return { x: posX, y: posY, - frameScale: frameScale + frameScale: frameScale, }; -} \ No newline at end of file +} diff --git a/src/index.d.ts b/src/index.d.ts index 12af74e..8ddddcd 100644 --- a/src/index.d.ts +++ b/src/index.d.ts @@ -64,7 +64,9 @@ declare namespace Cypress { * @param key key to type. Should be the same as cypress's default type command argument (https://docs.cypress.io/api/commands/type.html#Arguments) * @param options press options */ - realPress: NormalizeNonSubjectCypressCommand; + realPress: NormalizeNonSubjectCypressCommand< + typeof import("./commands/realPress").realPress + >; /** * Runs a sequence of native press event (via cy.press) * Type event is global. Make sure that it is not attached to any field. @@ -74,7 +76,9 @@ declare namespace Cypress { * cy.realType("some text {enter}") * @param text text to type. Should be the same as cypress's default type command argument (https://docs.cypress.io/api/commands/type.html#Arguments) */ - realType: NormalizeNonSubjectCypressCommand; + realType: NormalizeNonSubjectCypressCommand< + typeof import("./commands/realType").realType + >; /** * Fires native system mousePressed event. * @see https://github.com/dmtrKovalenko/cypress-real-events#cyrealMouseDown @@ -94,12 +98,12 @@ declare namespace Cypress { typeof import("./commands/mouseUp").realMouseUp >; /** - * Fires native system mouseMoved event. - * Moves mouse inside a subject to the provided amount of coordinates from top left corner (adjustable with position option.) - * @see https://github.com/dmtrKovalenko/cypress-real-events#cyrealMouseMove - * @example - * cy.get("button").realMouseUp() - */ + * Fires native system mouseMoved event. + * Moves mouse inside a subject to the provided amount of coordinates from top left corner (adjustable with position option.) + * @see https://github.com/dmtrKovalenko/cypress-real-events#cyrealMouseMove + * @example + * cy.get("button").realMouseUp() + */ realMouseMove: NormalizeCypressCommand< typeof import("./commands/mouseMove").realMouseMove >; diff --git a/src/mouseButtonNumbers.ts b/src/mouseButtonNumbers.ts index 3d1c90f..7072c63 100644 --- a/src/mouseButtonNumbers.ts +++ b/src/mouseButtonNumbers.ts @@ -1,8 +1,8 @@ export const mouseButtonNumbers = { - "none": 0, - "left": 1, - "right": 2, - "middle": 4, - "back": 8, - "forward": 16, -} + none: 0, + left: 1, + right: 2, + middle: 4, + back: 8, + forward: 16, +}; diff --git a/src/support.ts b/src/support.ts index fb35548..1f864d1 100644 --- a/src/support.ts +++ b/src/support.ts @@ -9,55 +9,54 @@ import { realMouseUp } from "./commands/mouseUp"; import { realMouseMove } from "./commands/mouseMove"; import { realMouseWheel } from "./commands/mouseWheel"; - // TODO fix this unsafe convertions. This happens because cypress does not allow anymore to return Promise for types, but allows for command which is pretty useful for current implementation. Cypress.Commands.add( "realClick", { prevSubject: true }, - realClick as unknown as NormalizeCypressCommand + realClick as unknown as NormalizeCypressCommand, ); Cypress.Commands.add( "realHover", { prevSubject: true }, - realHover as unknown as NormalizeCypressCommand + realHover as unknown as NormalizeCypressCommand, ); Cypress.Commands.add( "realTouch", { prevSubject: true }, - realTouch as unknown as NormalizeCypressCommand + realTouch as unknown as NormalizeCypressCommand, ); Cypress.Commands.add( "realSwipe", { prevSubject: true }, - realSwipe as unknown as NormalizeCypressCommand + realSwipe as unknown as NormalizeCypressCommand, ); Cypress.Commands.add( "realPress", - realPress as unknown as NormalizeNonSubjectCypressCommand + realPress as unknown as NormalizeNonSubjectCypressCommand, ); Cypress.Commands.add( "realType", - realType as unknown as NormalizeNonSubjectCypressCommand + realType as unknown as NormalizeNonSubjectCypressCommand, ); Cypress.Commands.add( "realMouseDown", { prevSubject: true }, - realMouseDown as unknown as NormalizeCypressCommand + realMouseDown as unknown as NormalizeCypressCommand, ); Cypress.Commands.add( "realMouseUp", { prevSubject: true }, - realMouseUp as unknown as NormalizeCypressCommand + realMouseUp as unknown as NormalizeCypressCommand, ); Cypress.Commands.add( "realMouseMove", // @ts-expect-error HOW is it possible?! { prevSubject: true }, - realMouseMove as unknown as NormalizeCypressCommand + realMouseMove as unknown as NormalizeCypressCommand, ); Cypress.Commands.add( "realMouseWheel", { prevSubject: true }, - realMouseWheel as unknown as NormalizeCypressCommand -); \ No newline at end of file + realMouseWheel as unknown as NormalizeCypressCommand, +); diff --git a/yarn.lock b/yarn.lock index 553c2e3..e939d19 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3653,6 +3653,11 @@ prelude-ls@^1.2.1: resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== +prettier@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.0.0.tgz#e7b19f691245a21d618c68bc54dc06122f6105ae" + integrity sha512-zBf5eHpwHOGPC47h0zrPyNn+eAEIdEzfywMoYn2XPi0P44Zp0tSq64rq0xAREh4auw2cJZHo9QUob+NqCQky4g== + pretty-bytes@^5.6.0: version "5.6.0" resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-5.6.0.tgz#356256f643804773c82f64723fe78c92c62beaeb" From 0ae581b29c3e9a11219429f0e858cd708a6d7ea3 Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Mon, 24 Jul 2023 11:01:57 +0200 Subject: [PATCH 13/15] chore(github): Create FUNDING.md (#524) --- .github/FUNDING.yml | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 .github/FUNDING.yml diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml new file mode 100644 index 0000000..ec8222f --- /dev/null +++ b/.github/FUNDING.yml @@ -0,0 +1,3 @@ +# These are supported funding model platforms + +github: dmtrKovalenko From ba96c003105d95406fa6ec54bdca031302baf714 Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Thu, 3 Aug 2023 13:18:14 +0200 Subject: [PATCH 14/15] fix: Remove prettier dependency (#529) --- package.json | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 7d55109..0e28a03 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cypress-real-events", - "version": "1.7.6", + "version": "1.9.1", "description": "Real native events for cypress. Dispatched via CDP.", "author": "Dmitriy Kovalenko", "license": "MIT", @@ -27,7 +27,8 @@ "semantic-release": "^17.3.0", "typedoc": "^0.24.8", "typedoc-plugin-markdown": "^3.14.0", - "typescript": "^5.1.3" + "typescript": "^5.1.3", + "prettier": "^3.0.0" }, "repository": { "type": "git", From d3df3d49bf972612f96b85d2d23c8f94e196714b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 3 Aug 2023 13:18:45 +0200 Subject: [PATCH 15/15] chore(deps-dev): bump eslint from 8.42.0 to 8.46.0 (#526) Bumps [eslint](https://github.com/eslint/eslint) from 8.42.0 to 8.46.0. - [Release notes](https://github.com/eslint/eslint/releases) - [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md) - [Commits](https://github.com/eslint/eslint/compare/v8.42.0...v8.46.0) --- updated-dependencies: - dependency-name: eslint dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- yarn.lock | 110 +++++++++++++++++++++++++++--------------------------- 1 file changed, 54 insertions(+), 56 deletions(-) diff --git a/yarn.lock b/yarn.lock index e939d19..79ca5b5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,6 +2,11 @@ # yarn lockfile v1 +"@aashutoshrathi/word-wrap@^1.2.3": + version "1.2.6" + resolved "https://registry.yarnpkg.com/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz#bd9154aec9983f77b3a034ecaa015c2e4201f6cf" + integrity sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA== + "@babel/code-frame@^7.0.0": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.18.6.tgz#3b25d38c89600baa2dcc219edfa88a74eb2c427a" @@ -67,19 +72,19 @@ dependencies: eslint-visitor-keys "^3.3.0" -"@eslint-community/regexpp@^4.4.0": - version "4.5.1" - resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.5.1.tgz#cdd35dce4fa1a89a4fd42b1599eb35b3af408884" - integrity sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ== +"@eslint-community/regexpp@^4.6.1": + version "4.6.2" + resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.6.2.tgz#1816b5f6948029c5eaacb0703b850ee0cb37d8f8" + integrity sha512-pPTNuaAG3QMH+buKyBIGJs3g/S5y0caxw0ygM3YyE6yJFySwiGGSzA+mM3KJ8QQvzeLh3blwgSonkFjgQdxzMw== -"@eslint/eslintrc@^2.0.3": - version "2.0.3" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.0.3.tgz#4910db5505f4d503f27774bf356e3704818a0331" - integrity sha512-+5gy6OQfk+xx3q0d6jGZZC3f3KzAkXc/IanVxd1is/VIIziRqqt3ongQz0FiTUXqTk0c7aDB3OaFuKnuSoJicQ== +"@eslint/eslintrc@^2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.1.1.tgz#18d635e24ad35f7276e8a49d135c7d3ca6a46f93" + integrity sha512-9t7ZA7NGGK8ckelF0PQCfcxIUzs1Md5rrO6U/c+FIQNanea5UZC0wqKXH4vHBccmu4ZJgZ2idtPeW7+Q2npOEA== dependencies: ajv "^6.12.4" debug "^4.3.2" - espree "^9.5.2" + espree "^9.6.0" globals "^13.19.0" ignore "^5.2.0" import-fresh "^3.2.1" @@ -87,10 +92,10 @@ minimatch "^3.1.2" strip-json-comments "^3.1.1" -"@eslint/js@8.42.0": - version "8.42.0" - resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.42.0.tgz#484a1d638de2911e6f5a30c12f49c7e4a3270fb6" - integrity sha512-6SWlXpWU5AvId8Ac7zjzmIOqMOba/JWY8XZ4A7q7Gn1Vlfg/SFFIlrtHXt9nPn4op9ZPAkl91Jao+QQv3r/ukw== +"@eslint/js@^8.46.0": + version "8.46.0" + resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.46.0.tgz#3f7802972e8b6fe3f88ed1aabc74ec596c456db6" + integrity sha512-a8TLtmPi8xzPkCbp/OGFUo5yhRkHM2Ko9kOWP4znJr0WAhWyThaw3PnwX4vOTWOAMsV2uRt32PPDcEz63esSaA== "@gar/promisify@^1.0.1": version "1.1.3" @@ -667,10 +672,10 @@ acorn-jsx@^5.3.2: resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== -acorn@^8.8.0: - version "8.8.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.1.tgz#0a3f9cbecc4ec3bea6f0a80b66ae8dd2da250b73" - integrity sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA== +acorn@^8.9.0: + version "8.10.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.10.0.tgz#8be5b3907a67221a81ab23c7889c4c5526b62ec5" + integrity sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw== agent-base@6, agent-base@^6.0.2: version "6.0.2" @@ -696,7 +701,7 @@ aggregate-error@^3.0.0: clean-stack "^2.0.0" indent-string "^4.0.0" -ajv@^6.10.0, ajv@^6.12.3, ajv@^6.12.4: +ajv@^6.12.3, ajv@^6.12.4: version "6.12.6" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== @@ -1580,10 +1585,10 @@ eslint-scope@^5.1.1: esrecurse "^4.3.0" estraverse "^4.1.1" -eslint-scope@^7.2.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.2.0.tgz#f21ebdafda02352f103634b96dd47d9f81ca117b" - integrity sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw== +eslint-scope@^7.2.2: + version "7.2.2" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.2.2.tgz#deb4f92563390f32006894af62a22dba1c46423f" + integrity sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg== dependencies: esrecurse "^4.3.0" estraverse "^5.2.0" @@ -1600,32 +1605,32 @@ eslint-visitor-keys@^2.0.0: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== -eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1: - version "3.4.1" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz#c22c48f48942d08ca824cc526211ae400478a994" - integrity sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA== +eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4.2: + version "3.4.2" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.2.tgz#8c2095440eca8c933bedcadf16fefa44dbe9ba5f" + integrity sha512-8drBzUEyZ2llkpCA67iYrgEssKDUu68V8ChqqOfFupIaG/LCVPUT+CoGJpT77zJprs4T/W7p07LP7zAIMuweVw== eslint@^8.29.0: - version "8.42.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.42.0.tgz#7bebdc3a55f9ed7167251fe7259f75219cade291" - integrity sha512-ulg9Ms6E1WPf67PHaEY4/6E2tEn5/f7FXGzr3t9cBMugOmf1INYvuUwwh1aXQN4MfJ6a5K2iNwP3w4AColvI9A== + version "8.46.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.46.0.tgz#a06a0ff6974e53e643acc42d1dcf2e7f797b3552" + integrity sha512-cIO74PvbW0qU8e0mIvk5IV3ToWdCq5FYG6gWPHHkx6gNdjlbAYvtfHmlCMXxjcoVaIdwy/IAt3+mDkZkfvb2Dg== dependencies: "@eslint-community/eslint-utils" "^4.2.0" - "@eslint-community/regexpp" "^4.4.0" - "@eslint/eslintrc" "^2.0.3" - "@eslint/js" "8.42.0" + "@eslint-community/regexpp" "^4.6.1" + "@eslint/eslintrc" "^2.1.1" + "@eslint/js" "^8.46.0" "@humanwhocodes/config-array" "^0.11.10" "@humanwhocodes/module-importer" "^1.0.1" "@nodelib/fs.walk" "^1.2.8" - ajv "^6.10.0" + ajv "^6.12.4" chalk "^4.0.0" cross-spawn "^7.0.2" debug "^4.3.2" doctrine "^3.0.0" escape-string-regexp "^4.0.0" - eslint-scope "^7.2.0" - eslint-visitor-keys "^3.4.1" - espree "^9.5.2" + eslint-scope "^7.2.2" + eslint-visitor-keys "^3.4.2" + espree "^9.6.1" esquery "^1.4.2" esutils "^2.0.2" fast-deep-equal "^3.1.3" @@ -1635,7 +1640,6 @@ eslint@^8.29.0: globals "^13.19.0" graphemer "^1.4.0" ignore "^5.2.0" - import-fresh "^3.0.0" imurmurhash "^0.1.4" is-glob "^4.0.0" is-path-inside "^3.0.3" @@ -1645,17 +1649,16 @@ eslint@^8.29.0: lodash.merge "^4.6.2" minimatch "^3.1.2" natural-compare "^1.4.0" - optionator "^0.9.1" + optionator "^0.9.3" strip-ansi "^6.0.1" - strip-json-comments "^3.1.0" text-table "^0.2.0" -espree@^9.5.2: - version "9.5.2" - resolved "https://registry.yarnpkg.com/espree/-/espree-9.5.2.tgz#e994e7dc33a082a7a82dceaf12883a829353215b" - integrity sha512-7OASN1Wma5fum5SrNhFMAMJxOUAbhyfQ8dQ//PJaJbNw0URTPWqIghHWt1MmAANKhHZIYOHruW4Kw4ruUWOdGw== +espree@^9.6.0, espree@^9.6.1: + version "9.6.1" + resolved "https://registry.yarnpkg.com/espree/-/espree-9.6.1.tgz#a2a17b8e434690a5432f2f8018ce71d331a48c6f" + integrity sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ== dependencies: - acorn "^8.8.0" + acorn "^8.9.0" acorn-jsx "^5.3.2" eslint-visitor-keys "^3.4.1" @@ -2258,7 +2261,7 @@ ignore@^5.2.0: resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.0.tgz#6d3bac8fa7fe0d45d9f9be7bac2fc279577e345a" integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ== -import-fresh@^3.0.0, import-fresh@^3.2.1: +import-fresh@^3.2.1: version "3.3.0" resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== @@ -3403,17 +3406,17 @@ opener@^1.5.2: resolved "https://registry.yarnpkg.com/opener/-/opener-1.5.2.tgz#5d37e1f35077b9dcac4301372271afdeb2a13598" integrity sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A== -optionator@^0.9.1: - version "0.9.1" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" - integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw== +optionator@^0.9.3: + version "0.9.3" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.3.tgz#007397d44ed1872fdc6ed31360190f81814e2c64" + integrity sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg== dependencies: + "@aashutoshrathi/word-wrap" "^1.2.3" deep-is "^0.1.3" fast-levenshtein "^2.0.6" levn "^0.4.1" prelude-ls "^1.2.1" type-check "^0.4.0" - word-wrap "^1.2.3" ospath@^1.2.2: version "1.2.2" @@ -4325,7 +4328,7 @@ strip-indent@^3.0.0: dependencies: min-indent "^1.0.0" -strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: +strip-json-comments@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== @@ -4715,11 +4718,6 @@ wide-align@^1.1.0, wide-align@^1.1.2: dependencies: string-width "^1.0.2 || 2 || 3 || 4" -word-wrap@^1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" - integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== - wordwrap@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb"

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 KLjG;DXa5hX;`o^W literal 0 HcmV?d00001 diff --git a/cypress/screenshots/touch.cy.ts/cy.realTouch -- touches with a custom radius for each axis (failed).png b/cypress/screenshots/touch.cy.ts/cy.realTouch -- touches with a custom radius for each axis (failed).png new file mode 100644 index 0000000000000000000000000000000000000000..bdddde22ecf1062a98eaec0d6f026b1cde199de4 GIT binary patch literal 156144 zcmc$FRahO}wj}`q!Gi`TxVr@>xVyUrcXtv9!QCB#2Z!M9?w$>7++pJ`UHQ+s_jEt? z!~MSQ7pT4Ws#;a6=9)6bm|;o^k|>Dyh)_^aDAH15Do{{wfkWu2cW}VJNxxMMD5y8g zR-&Rxsy0@}P*5~+ezBdhy-HZYLb9Ldn122Y5*=W&)~yk$Ms2X3u2C98)!gPA&IKJ7PFFeSlr`oI$3QYEQ{{Y`;YHf(V8(=7kpL&R(xr7n;q*C`JyW zQ6=`WRAl$w#UAZ(UUif|Z4rD>m2b5u4JhT;3^_`XKli2IF8fMAY6$Opz>|GPWprDu zg9DC8s6e-mtlnw*_A0M;{F}Lae~se!R9U{gQm3e=xmKJYgVQ?GDV$cOM)n*3(IIFA zMLj(-5n8)KC6P96mU}QevF&E&7+E`dU7(lz5mL>0=J(1vg9_)E5_}LMC2QYf3!R-! z&ggAA=sKQ}^~<>tVohHk_%onzS$IZ^(PYMuc% z6x2s3X|d00o|(t19-eA@X=fW?HF;%+TsUZDiudBK(|iL1O-6(6gvET?)EU|1r{=O; zYo47H8S*9;Teind18)bjqEU)IOsiW$Q;;fEsdBXY1|Uar9De*J%zx{4&*pOIGSQaq zGU2lJ^ON&-Xu#oIX#q-3=zEcOPQ}fxHAcCjz#-}P_adPLG8?y#&+$)~e}9UH&HdN+ zCe^Ak7mELk_}8#*S)Qpk|M~om)Sgfp3i0n1{`Dnms5G?Fe|``BEQj&+-#`5wglrNI zh4r7$ChrseYo>p`3`(Vd3jVK4k$%VRqj*E}-&u6LIJb( zolI<9PtR=jnY*l?-@)+`0yAv>P$^T#MK=CU(5qBhS)~xRc+~sn?}*KF&qp2+R@~Bg z8Duyj2~*s|BL)xWNh*8lXXRbdhD9`11mJWJhL}Z3(V*aJ7L;?RI7^OS-%zE2HEGIQ zA!g>vhRYcnubQbo9DHM~^sW1-jG6tNIPKlP1WDr&tB`_x9L|Mq#46A#g+Os=PnwQEJ^;>3_69&T>Dv#$LWSUKMx&U8#QV>wPxZ(AW#-V8zoSTtK~%~W&Qr>rv7U+KDX}C(g`eOnFU@%07+%f7IIXNaH@AS|O7qYCZlZ46)u^<7 z5wKTfM+C0-l|(6!M982qBY9T5$(k-qzZRp=-~kzjd(f}U9RBtB{Kqp4ZrFRGYguT= z&F!?lzCI7$s?yTzKuj;cm7qZJh?F=1V+@Tl>>z`f*&UP10XH?Z#9JqjNa&hUsoK*< zvth060kkVGQ3{j#*<7Q)oPYQ5H`J3Kq0!O(Cr;BQ_0UEf61gg6EE(zWpK3v%pW?Dj zd)eyyR}Tt%e8=uw_A6b{L?8!eGj2ow&#c44VHACmXs$FwYUZ z<|CtJLuvf(xuVU5+eCC^8k+;59@ui=j(Dn6r-+;tVjWT;FWSp|72X9RBnFR0lXfUL>bXlfJIYtA-in4qC zphSa3lN3(eI6r6GZ(SdkobD;_1V*&?MG@}ooXpUwc0`btrfs|0yj-$ngo?z==np~@ z=phL3ODh`qAqWu-<%=>b{kRpOs`LvhGvGifX7qJG1Z*Bk%4;>EhdwRsOQXvfFsUWQDe z`cYUTbvGC{w}XtQ&RMTen{CwxR8sGNNkNE}qM)NAgevQokRILvF}<;5)8_Fj!iwl0s4Zj9cNt~8F_N&!m>$dk>n+Rfr z%+yhDwU%AvsGP-GrgS&#m+4`Q3#7@d%llM59~CK+Y3usSQ}~?osi26kcW7!x@3;@O z8jaCz!F)L-C6x&kjX(XRp>B$PjbR3Dx;>-*z0QWvTW3q7re*%&BxyspvHR+w#vCJH(Xn%QsU zyS1jKCj`qBww*#0Lc0g{Zk>j-MY9Tip7)hFZfi_=(5`O!BTEnGG?U3Szo z7ZVZ_zxK~~$LQ+McBQd@K_*BR)7Rgde9M&)_;A!!7OYH985 ztsY$E&i~S}u|tIhKQD+bwkf#DlUH?gL|<(TQ=mj4rD>{yhB6!+HqHl6$y{uC0e`gj za)-JhApqD8^m=cMhY6eZ{eh7G+bEs!iB(C@>+5UZTL_7G6;kic&Dr76(eMaiH&~z< zu4-|Rz`?=%q&4TFe-LuY+7Z~}V*7mcG2k|elY*)b79*O(f1rr*(QCiEAL_4_{yOx2 z*??CxV%e|OvTeIM90dG2yPJ$g4q&Px(r;0V=~IpTo~Cz*lJ7x}d{PRCnS=R*la6`6 z;|ED}6#zF0Ix*f#hB;nNnf&=y6>2F*voEF7k(-gxoy$((eLU1k#}*BHaSRgGD-;Jl z=kk_B^{Wvnz2+F=a^vDreqq0~nb}@N)|fdTkap3{*Dp$)qH$NCb&-my;&FNtmRga2 zayk~S`Wp%`+NY&tGq%C%AfZ)^F{;77ff}=6L@v9h)WXqIlch6s4z4*>H8tVSFEz2( z@v1YaTy}6)R=uTFRrw_)UlYXdNk=0|gyNi*G4a?q!hSsPMiWkK>75^}KlPDHGwA(J zyt@-Sb|(-IrvBu+-&LQDLkjoZ-4fO+LUQBs;ZtWr?%>YWmT6dcci^52O0%aI zkc9)bv~LXQ?5Iz>++#*3A?b&?WhCRIj8ha87r551 zb1&368tA3U6K6PF7gdD_Xz_Hq3FZ>o?tRE5Jx>7ZN>U&>n@a%j>ho7xKC-N z6$KMld_Pk0+gGlSQz%_8LBVS3iwW_GUB7&GB((1mny(;J4+(WW`63WNWS3Dqr zsNmI|aNY*LWJxP+N?>JDIZZ{*TARF2YX_suKo%j>mTF_^tlyTKF@5|PL{`G_kL5qD zDulKi!=_uHI!~)3_e2+JkNF^E$fw z+IVDMw<>1z3#dj+xLMAgyL*RnhsT@VB01Q|1PW*W_`LT-NaV92TfpJ_@+GPJz`ilXYIXqKe$FLt+d1U= z$zLc~d=F2M9}mcH#u2*A6QV*LiQq){k=AfBFw5pY>)FCuU$09;8K6ZJ2G5u6vNPFG zFt=S954Al7x)c;sC-877xs&&xFzE7U`N1Qmvio2dRK?^EDqdDN2u5mPNxs#sZ zk(wPh*p|20n_Nrb5=w)=$eRCDqERYSFW2EoF?_wLS~^j{#~*LIp1|q2*_rR_hqF%W zyuZOwQNhsq6hP;5yI1FXAcuhoy(n9+)1QyVj5M%+{Q%hhP)x_IXSIZp*!ORcfW4Y^ zHi3Re&gHd)%MWz8JY>zI_d6-pR`v}nq&`?sgK} zLBBoi@Q_L(MuxZ=c3mE1BQFmGNbDfe%wbjMX-n_LH4x-h*+8SG_6z;=fk<76pkXc| z!&jX`GG40WR*lNdxnZ)Gr+~>C4~T;KM5gFM(*oVdG^^8!4;X(Ulczs|`6*7o$DPGx z*LJ|X0d+hpDQUc%=W>XzI_1O56=BFFYBdlX1|o-{g^Op;n&s-()lZ@ilsvdL~_t&wPe=KyQ~u{XEb{qtciy_gMM0*vDh9XpnL zi#lyu27ZoQr!|CzlTTw!W3C-f{p#NdP}*)5QJ}_B#=hxR&7v-{KN){4{3)5ztOp3$lba<-YF#SUi@ z_M(`*RkQ|G-^$F$IIBd1@`8p++9u!W;Y%Qe`Kdw+>a`xP2n+nx-{B#KW6PTn zwoAXcDQ==NZdt8*EITd==b?NXE?FdFa?IyfU9>N|Ou{Gi&9-*^gg<)S&y^&}K=t%&_lU3YN^CNTE)axj#qWi)Nh;wUR4g?8Qk-JBR%{h6ZTX(Za5Ysvy zTtWUYpQ^bg-|Y?Tv5bt_jaK%w^0tdVye6h(_Yaz<7S;+l5WhRT;>pB@>{g@{9*+&S z7=hYAyxD;|pppUtwznG)0e&$kAOQv>5lkfMO=nDNmAL3puBBoC5y^|{j|uD|uY%5L z-P2&kDMM*zDxbx-Ip|H0l2&-<@7}zkwm8RbuLnmiQJ|!(J-8Fz1x_8@Dy*57Q%wkS z+G3N!$B*dU*z5~q-@oQ9+BS<%OzbM1Eu35AZmgU&>$a|E^_s!Oz%Zd@;GMj`+%Yqc zHWIm^IXsfrt1Lk|eeDaY!$tN6&cndQ{_OwRNeVi@LK&~rl7r~zwV;p+E`dC&Sx-4+ za?e!jPd%sATcxt3zCPRsX^*wrdrVWY3gT3;p{T$0rLud?L;3=q09}-m zHaTC`;?xx3OyY-+q@>Y6+T<_9!I^e`|3o@UlZ1$|nIH6}EHAHAG{@J;Ng1f44i7V= z<)w{0|0pd~fKgx{IvHEFq)*4XWb+>$%zwTmmZrAv1u}37>pEztfWeNQ_T{7R4nKzll$oLJv+B^a! zNhYj2H@~GQ?m~9HZ}4q{UCq)b*KLl75Ar9jLafspch4{D0;B4@SwG^)Lsaxv#r#B% zp4I$4?Fqn$5|8-*aCJq(NCCE@_S2hege$Mwkv1ox8>eni#x7im<$;5 zo=otH6?1?z1fy0@PL83~!*1{Cz78tUkiqo%0nKyYC1>xdR0Il#QD@|(y_H6gpk!QA z+bJzZ$UA0I;Nk5=HV*=gR>PD1n*XEQp*2iE)81rG|K4T1AX(7n<}5`qaz0QkMSP)z z;^5>u+jxY$CuXfiyB2XBK#P1lAk`(p_K$q$`){3;?AY!u1nb5C~gkOA7+>^p~%n;7mldS@{(CJt3HZ*9v(PaRFN zKgFSS)j5p$w}4vTQPE0G2ET6DrDrgTNlLya!j9I+NAOzOx5XFUUAi)=DE&PrMn`AO z<9)?3nlk?L*RSk2auq45cPmrAd!U&0>pLhZdFk!2$ttt4Bz&azCEark2&SM(>?F6u zB+YY((6df%XYz)0>Nw*upHkPI6P{cKZ}b**_`RzSF;zkmfNV(1BT$Tm6r$|p1YBT8 zN~|WCru8!W-?LFAa4r?kj9G03IW!gTnmO;<;>o7K`V%BGrgi6$Q;Q};PMbi7w5K=G zS)W8*)jr);8H9?w>7DtJi!{6G_z6h3A}4SMhE+dE>Ajb-&*oRhP|+Q;_c&YH(}3MV zMw-3Y93}ZN2c4P47q_DQjliap#Qm6eM6>fZ@14e@3mW5I%6uS8MHaFN>yu>=#o|^j)t@Ss8fZgsh3hzt!2nk=&e7wKOqBF3psoC@G$UhZ8x?O z4XU5QVN4w`G`LTN_#UAH$bBg-!tt_C=E%q&qY8nyh^L0_P(X+^5kdC3%`tjeq3ym* z6tJgA(j;c_Rvjo(Bmfs7Jj)q)bH*~Lm#Q5LX?3M^I4V}dDVl8R^Iwi?2JV#sFXgVu zawdd2U#ZJ9hM~BypE%P{L!*0&)Cs`MJoyb?HbN9(Z!>@tIn3IVGwj$f~e9<;BCD(4Zeo4BZ z%Ru~T{`(J-foQyFk-U#9C3`c4_&?ATsi=6*$b?u~;mSDAE;?#|5eI$#P>xNAXVqs? zqoO`PWrtE~vvK3uq~shXjXB`hUg27g&&kRvk)EzYPo%}*ZekMIjc*e)e9iIZR6#VK z)|1&yT}|zieIq=O9RHBOG}e(1u@P5O6FVzZ6%9%&89Ix-M+^=ek|K|a8b_8T=xM(l z+v4u@3Hpm#thB`dpmz8@>k&2#6? zTYCa&hg@2w^u#vn_J_=^{uH52$m^*w5WIb`MIC_bxu@0gN5FwIV^kE?sqXwAJ82yq zvcbzqRwnu^V1A~Q3{?wgW+q*o<36#FI>$Av2K!ObQngxVFD59EJ0YcqIhVH|u0;g% z<}Ex%y{646Ef!)=@AcA2G^!IWig6?%Phx!hf|#SaIyt!{YQH7!Qe`yUG4sT1f5ySY zrz{0Q&j7|a<>^Sgg#IDreC=vWgknYPnlG1dz8%7tVmXtt!@(}3M;e;y>(`#4;n4$g zD`T;F(zc)m9<#I`KfDtW-wvEPa-_3lGFh6%J-M}Hzfw$$eZ+;0PF&J;Q^+4xqO>Mh-SDm!%WJ=Mu=Hj6oz?5 z#}@TxKA%I!Y!doG9`^$f{Y!qKBFA#N$xsFO1n{ZPqnJe#P4pd4e>XfB6f0GO&5+Vl zSJ6SAId=t3CMDH3>Df2<&OGQk0)?5QA(RcV-WVj?4=G=HvKNgJMPc#a_uL$pGubPH z{5a0oZdcIP+4%<#V(@NMC6k=2Sq4FWnY`#q_JTcp3*TvjH>St_#Wj#E0Up^3H0E|u zFb$N^X48RIa|@it4ZmSAQ=nL< z3gLrW=O#6O&OF-yr!y1Mm|Pm_2y=d30b>tfTHye^eZE4n7!P>2<>h>l22B;6;URkY z!g*_KnWXsqK?PM+Q0VGuK}YxZBN>LIq`WIku&4!VpH@@4eUx34po3e{&ep6^MJp1lllk88#r8?s(u^#*7yh2^}!gG zS(jk!D2bqD+Y@yLW8?JLKXMxz1F>$`57n_9Ck)BSsEfC$`|p?xE3N9HxtgL?O2zV& z-Y=Mcg{{{idLpv2v@8ND7$Al3zOUE6+VE(Xk);m{i{7u*c5<-dv^FvAv9d(wXC55* z0oEAq^n+JW0kg2^Z|%DplPODDMzq}WfsCMJk|88hCQ8sJi#~WWXnsRzQeB0LSPLEk9S&#bU_9el+H6dh?;f>K#6Y^8nY5QPWtN>!L$Tz^% z%=EJdGB*swjIJv(w+#XqaI=lLeU-_6*zCaogpoyn?qp$IW5drqY(x!1!NUfJ;tB&Tq^D9c)bs)5Az5^D=CMs21QCX#5NS zBuBJ9N)H_W@uugu&hgEJ%?kcsf5MuGM5zvCW=4VHd4XoX`|%?_Baf{R)2LLT3*v{sMJy8n<*0_LDtS%K`I4PG85x<^ zaSgMF)_@T*H5(g#(3-HSscFc)o%Wddn%^D@P-Bm0HX~U!%`6(dgyq8?>LNJVuo9IO zka315@_d7zi^$15QJ)2u=`nHJfbYMCEUb*)OuA1ifrrpKUa@v|uoIJ$3_bKF<+4R; zyM@JNk%RZ zyBw;K$`l5cmm_RXpkAqZo~^GjEp{q9t(mO*-0`qtz}bMBTXyV+Tk_lji{e-;J79-imv3k52&l_3q|&;iYaAd&%52 zV|(HIc|JfDgn>yy4Xcnuf!(%HqEufRtfAx??EwZW>@K;+Cv1jABkqZPw(M!ExY3-Q zsH|Ki^3ZJ$Yh{dC1lfTZwgxTEUL^TgbZs+v)kOfzk+kM_jBKgePc^z0+vKAbHUTa! zvh7SpLpDtPRJaO>agWYt8gc4LmqS-P=FWy_Aoa_BI)quBupyE3A#VKO)|&E(E{V;P zdH&@Qa?p15yZwfjK)9p$^A2dz;jx+f3&WK|R_=(eRgl2sLA~xNkAAT z^@Q_-EuL=UPL0tT)~Pn${$*9cZ?dKB_R7jMq4qOk0Fq&46DaHz4OrK6e|>fxJUMs0 z^H-P zbE_^1&Kl~$k4D`at0mi}U;H}(4Rh6@I>REbBLE*CDe>v%sjVOFhD?Hc`RirGwE*uw zFf?bdXmkv0oLwNrkcgHmY~Y$Y3BDddN;pi1+uZu;(>C$DaJnQkA`0p$i%YyC>6+`l zc)Fy@2W!2uZ%{nMb^Og=ewnT3t42PRAQOJhWK91I#>GWV^RnD-s&Tg+A+Il+839uY zLF+2sg$WZI+f;eIot?;PQi|J&VN3Lgl<8u&>D}{tOiW9Jv^8_QU}%Xbxt-0zL!0nC zKFz9W!JMkzwoz<1AdPT=tmZAU28(q6N~*K6VY5@KOt!0zWcN0Ba^C^AP}b z3}!!mlqp06>akXR`P@J0bQc#l3G83+Vc{tIEhFE(3^iiop@%Ko_Ut%sR`Yp2Uw5us zvbR|1o}Y(_Nr=1gR#l`Q(k=Ks3Ca|PU!miTWpu{w?_0W`B)+KjRg{`MTSbcYoVWP3 z+dqI7ssf$~X=#Vc{f?NSfL(dn&nz@woT?{Cl2WeW@BBm~uetW_`ECjQ#b<=0O+eu7 z+Q<3%B;Q&$Oxcvx{!PkJ?Y06pGuoWV(PVjol8WXAe*t?prj&%<5ckyrzve0HRtU@j zWj$IDZ)^8~t&X_3{?JetcG5Lz{tzYAK(&b%6MgdD#d(YV@gJAASy&@&ZOZfW>2CbM z6Cr9!N+XWLRBmqS?e1bb47=VUfk={+&u;PpeD1^uTpI$ZntjJBVckWw09U_Yx8hP! zyqzBX_-n0iRYS%ZnvxQmbe2hTZsXb;Ptca8g@rNAbe6}j<$FT0tX6}W`Ox3fG8H_| z;980r&;crJO2H&ZxPqflMS6D$o%FmhO0hx%fC{vz6!9a5&2~~cy`pL()FVfvPTUPV z;uE$?%gd4QJ{8vf64a8ddA<@m~J|AF4<7&oR-{N>eLgM|Yw_pH_@R}TQ{D7w?lRpcbpGbC*4f-6!X{vo=76f}(KQB+w*a0KipL zE0*sJNW71%J8c`w9yQ)pGEWM;8dR4$Xuh5@13bV|{hpQ-baPV^|5A9L<(x6cA&sC% z+`%mL7Jlj&BcKO~_51?pQ?&3i7=S$m|2WB~>x*8mgDtn_#c#0oY(#Kdkv_R#2R{sC z>jOhwoOXBBdEc1S{#aUCQZX?Bl8>pB9F4NP=4A}$@hS(Fw+TM&VR_Wn^@spT)w_JI zy)gyE-gK5DAt-9-;-g7d?i<8^*kjbwt5X04VyU% z>X5Z#2?+^f7JMt)cN{{cr4?kHg5PW`63t%dFKO zjP%7X`~Y4O?b2-Ro6!YY?(oj$5&Z3CzNuu3_T|8ckkfY$uwMeZg@SQIDy!~TrhrR) zXN6x-0<}YXQCnj|TU!w6_~Rd!Rsll(kL15Z*Ck3DD#H%b2aGUs>#U%>Bo$PAD+wDx zz0;<}JZ?pa2+QC4mLRWZTt{5T02Q`*{lJo@8^~<{FxZRW6)}0c++Cks1k)q8-_Lu$ zf0F{3o1j4_LB{yE@!j>PMy^YMZ~oTR1xKxzQtK?v1fT;$03Zq5XvcBb?Awgf+8YL> zP`iwekG|3Wq}t&G>p?N@N=mr<5@tPj%6e^T;~mfUO)JDB%=2deaym0L)dm>`H@B_ zU{`#_9!;E@`Rvld0NI_xj;#^M1j8aC4&8}`*YbYG7ERj8r)3V`WQEW&mi3(6IBxIL zPGq+ZeW#b6zX1m*?iCiFtXlffngXu=*a^?~w>>o=WGZKL7rZ;Gi~WAyg3@}w_1YdW zjo5e04RS@s6s+02G{_KnSkrG+uUVp z%F_I(A&5bjja)0p4p=EbwUY+$VSmqkMr(wx5|YIkH+t=c21G$yx1xYbDaUrwwC7Hk zn@uMw-OGil&Uls>A7362Y9Jy`Dtlh=1ALh`k*I^%_anZ!(DIV<;+BRu0Pp5yaA@RP zuC@|#yB@!L{`P%6FTYsS`a)k_$upa!BE7~`$8bVi9KW=TTN!MGN_%PF_#t9mK}>8= z=X+x-RsnGsw;1pvQxiU(GXO)GQ~ZjrNNO_&DpsXDN(=N+5J*gi+BMiwyO3E z3n*0LrNP5_w2O@ph)H9;5eI&=#e7irH!&5}5LS;DvNg}=LL>PeWjxcClMiyC-9I}z z9;q&Z#J#j>cfJ(D5DnyBPW)-~v^dcPj_pWI%@9o`P`1z}J9~d6xeR4-*34SHx1?)v zx-|Ipiy$|F?@L??lHKk;o&5ji>H3x>V#Q~k-K>Z0{}i^1LO;(c5ra1@d?rZ#SenmcH7pV6Ibq?OKQS)HnLRwc=v?4&HQ&y{*iD*>_t(M;L(l| zUQFUjYCa#Vy~z}pT{%2JQam?D3XmW-ZO)n?f}C!EKFJi+4+l^|O3FOZ*W914QBsPB z=ip~?z#7idzxbX_TL6h2GQcteRkBDr?qnwGw}=#L&zpcn=vWSpXh8d*IpnTUl|Bgw zkv7u|+XKN63%%WUIAcf@17*JmmfCMWf$tZ{p|&T|h1WL71Xr^MN3iSglHx`LJjOSY z78mn1O3yso25$ z@BUftZ$&;fAzXE|G-5fnZ_L4ws`YrvrACL1AC;adZOXgCoG!;mDB$1F`}_x>GMAco zSUgVxy?DA0055@iWlYg`yW)MN@l%S3D{u1TxJ4d{Ye6|SphOX*SysHYGN8=G8c>8ZS{@DW1F* z?!0=EZ;M;PRTiavdea>R{^8>uN={S#^=>Qi(1l|wtbDWWgKLfB#GxbsPHvkm6ufErtwkow#BxRsumNQ$e$M5Kt}FEE9bv;9F?fw>Qun zTu5HsK=!IWIe3H|wz<}~XOvcb89Q*!SD|YyNAYm$das`WA0_kxZUy%Jdo~(G*oP?< zn$}mogUY9eXV?ekqg|~B=Sn_49Ma19Yd!eKtv?6nUZ0!~U@dGWw{GCz;I-0uznh6u zA_gO>-&v}~&3<-zb~CW$g13%p0mGL&`tbYVOI7vWtbFtTTvcz_16m$u@E~#6*DVV! zlMi|P)zK{`=PH)MxeEwUP+Qpxn7eMqc5!~|jJrLbwyqK%639{Xd91$XkMDMw)W2WSF0tYLroiIw?7^*mGka1ls*Ci;m753Ob+i*|PXOe}WI~JhV4w?K$NaG6 zaan`{J@bJ$CPJP-NFq;5(pHZjH6#niW-p(8enIX0aP&1q!J*5zaaOx=1Hg1$F3bdZ zvrrpBn1qFO6|1ccbv}#kK$y94e}4P$?0*9R^}qPFvfxH8oiy0Wfuqt4g&;=iOR(i3?Sxtpclxz1qD#+8PRaKfLhqF|XP|%nxnwj!JC}PlER8 zQb4_hK*@3=B@^<+C*kRYX{~Ercr_)jBlGA6z!gr!D%99*?l_7H6@Jd>1r3{1QL2PV zBm|4_!6y2>61AW&GUOU21a#SPmkgW$CH`THu={Bplt1@t?Yh1liI0UK_14j)%F zIa#K5jl(9F$ALB!a@`xEQBQ8 z=f}>Zrc8T{icC>kIk8D3B+`d0okC+RIl4Y%R|=Er^aMVCpfAUcAu~r*zx8vAJr$ru z0-S$~@3}X9YX!#FRi{>gxrO^GSi>-T}**o z*q6o+DG=NQR8%nl9{KpC*E`^h4GSmas zWBRCf+OpU2lecpIJt`gAqW3?I6n|T36u6smFoJRWo&-s7WHEWOzMX|y&H;5njOTxU$KV>hmZr^AS;f*#S;L1-Ub=Jp2zsnXuYZ) z8m-5s!t5d&IGfCE2{u5ekMi%pWF~!v{Yx%>0}_ognAX*>LGot|pfw721-M;+5!%?` zo%?lErb@P`;8ant62>PVka*wlPlwZH^a9C$w>C8;{q1`B+lTV6KmWrvr~i)~R{xi& z=loWM^?X$V`u;wrUdoS$UxF0??_=ZdUcYbJi$y_4xHVK`Ny!w2#;K0GDIWPmE>|Ly$7+qk?r5Bxrfct9N#yr=SB zjcUfePcd|`_)}m;tQ9wJyteU#$o8ZEJ%Q=|?Q`YJA?WF_cytIK8*ID=@Xs6T)1yzF z0S14LPW&Ji8F)MlKOlZ~8beo=6DQYqs}O%l2?@9|%_`Ki)7!`8b|3D`-Eq;<4A9;dux+&Hk`SXL zTzVTI?yXL(s{%}Ww~wt)oj^6a8GSNGBoH}h+hbJ&yBBe^cYUvP?MU=qK$Qk--^7F! zl|W&j{WdQqLNZSYcCY@~1N0i98>CStUU8c9s1Y+LDld}61QR!LFO5BUtP8ox*PnVFfpy?_^s@bK_YZiiTguMdlFK6zi!z@rgw zgTOEDDF8OX(Dr!RdiWey_56c2rh9wqKfpNvzsS_)By-?K+ zO-t47sc2j|5`}7Kvyd@UskXQP&t27tBn~Hz&hVIqOylv@Evx|1vpyDY@|S@I^npQsfyYK$Lw(&bP`fYIa3a;67uaRLKR1Mv4) z*`+&`!TFw>-O^&;ZSK1#8=YI4Q0wOVQ~b|Jw+1QB5{h>XZUu`JvPNbVg;tMX*GpB4 zmwsDeO2!aVa&vRv`MG_$JzXu=ZAAUbuj-NLVEfi(tCJ7#3^@iaq;)1?bqK(qXQfq7y`U}rK_GCsgbmv zAqT&Zh|_oYW6t1@_C(h8fg1?CuAGI5cB^Ak%a@@eL+>UWbQ>t|xtr8AG&Ws%5s;8X z%jV%QzY@p5r;LiLt7Ch&cYtr{|MA77$OBS<=DKLN<&BRGVB?OhSxu`7A7kG~hDLU8 zIhoq9qDjd$)&@K_2AJL)FY`Yh*XcDmzNuOqU8*s?A6E45A&=n~5fg(Y@xLQwx0pC~ z=Yw><3KkX?@;_hAK5d`{beXZeskQ@gG3hmRRrz1jUtC^#?WS4W&E~xH1)&KJT^-Ec z1H*=x{m+qduYb%#ZdJ9kq@10dL!JvLCC^77n)&lrdiiR3N@x9?m_x*T-}8f$`0ux_ z316==_Iu{qe&66y?#Msgb}|6XADfQep)s5nE0d7jG@)bjnI_V59k%4^>aG(785N4o zhdn?gXvl3`!yELd)p^2@b3(tN`C1#8OD${3#piX|E@JR-VttItt@!Hi zQ5ElU9p&!-O5$-2`ha>d@j%w`vV@iWGEK&1D>NDxNcZyWgQQdjgHWG+b3TVT%U3~} zmYF$LD4XKgtY=yO$9}6ur^5I35xiF{^h~QLcuxTs%E>vd`B>^_4GkPL{xjjBE7QT~ z^ByGTvzXVr7z#>Cr_+_@*n8&oD~$X5`=^VPPGkjoW@d}KvyH4%YEI51z?`meW8RDW zUcB+nSE3nu1%uglGQgYn`Zxx6gEMcU6+$af2+Y@S!B1>atwKOI8Z*X&164A*AOjv&0T6^h6003Ft+@kvJ z;3?3we1&Q1iDeK2f616^cKPU+Dvz@73Kuy*qoX4SLo~yf-_nv^Tg#Rm@Ztp+m6KD2 zeEbJSojzcXqF}R4d70dh-R>!47c_L(bwSu zzJ3xc^o`kfPqcEkqpl7kRe%vCXL1t!>dG!p1rNGSuJ#8l$J&WW9(vyF(ZBIruauKO zjo8TZsrB4(7`%TlRSkW&XfkCp^(%>#)vZ1zm4*l^EsKK^Zt4K~k_c5Y2B8ZE9+k!I zPz{Gk?_Jkse?+VP%i#^5&2FvfAgV@{!T5IsOsLQphbYLrreR@eX&4Ftml4ZvuBry0 zT`dR1hKrm!-namXdcS!CsNYNI89uU+#wmukx1Du=Nfd-HT~ICfR0hY(Pa3EvgVO&) zZiE?SZy20y0)})9-H`aFtQbDk?j`l-=1*HrS=W;y2p6h^P40>2Pp@BlA3%70o@?u` z(DQwOW*rvXUTG3moxeT4PDre{?hNf0bu9q_an2pQzW6q&=vZ5RvK)?1iI5CsXwim~s{ad0l5d%}#bVs66h$(5=Z zu~-7)5QbFF%;TCcQjk)kG~EvZXwXbZX^ob?z-ecl-&H|N3w{tFT|57?d~3~?CeraZ zan;b^;NrrLj*gx+F*-3JQ8o|kyr*E2*So>)11l@5On$H0SvSCk4_VGW0p0GEAX@ZE9+$uK6U3Ss+$0h&Q~|08rLy^w z`9mX2qfRhMX0b|XZjKM@eu|1Y2b{fN1Y*qfVQ0e;kO$&=TD#?{f==TD{t~6Xj&3FX zu&hSCtAGi~-;rtKt|Y$z4X3i2P90qn^18lzM`3wG* zmGjm9v_#BKyEtEy$u5~YL`cBY6w<8+cN1M?7-Jc2j<2@^boP`DxUN4Yh14t)YL&ZR zAVyYh#clYTWiwc*wTeE}oA)-z9lOI1(^BK|6xda02U;K^os)Lxmw-CmD-_|yxNU`^ zd*2XvWEv^u%(4@ai}>+ms|T+7zsMfN5DUlvaoQ%y$6F7`WX2w@kA^2b{8q7|GtW{P~ zu^4dUQP#TeNDo!C)j}5*Q;ypZed*XJ@2Huqp6T6TfaWX=Kysf%`2()~kn+-AbrAHv!SDJ`U(9CTgY|Gj(36%B z92h8yCuB@VE)i|fqdxl%C90&6F-b=r>>rfIV}oj7P@fXg5NbJGFwA~1?_-qZmY9Nf zc3sw<*R>-B1k$r!w98@YoWGfdeak@+*yYEkPW?;{D-7POiF&g-!31i>qVn=cKun>c zrL~`~u2nbO>$a#rIF`ol^>9$Ezqs$pYu|BiZr{9v14w1UR{g#6Q-LI?)^@qp1$Xu! zr;2bs&TyfC-FiR-$G;A~{l#_tcEC!SkWae@yH3z_E;6{F=tE0%6wyL7iDn_I>mjx8 z{j)#RORFU{roEQj$SEPQw>{lci67<|_Y-vA2$ja_!#7 z2Ne}iLFqO@>F!WaQBY7yx=Xsd1SOkdl_}p&4N4ZoYfYdEd`^*YB^N z>)^sOF!Mb3v+o_(b?tp8A1X&>R}?Jru6kUf=`?OFmCf1w+3+kv8rPS>t6iTxS1gwg z3e{G~EvUt=n{+4PBF7!6_fT%^{A1SVA>qs#-MA&`_bDNvOX-bfV}?>D!g;$}s%)c) z8mAQg!bU5^`HNR>^6`CDEi~eUbsBtni}(2W*cnn6=Z!}4mbSL@-(5~`5EBoVJ7kWQ zJx%`1Yc{}PIac~KL=ql_pSI@e2gc_mL_&S_{Mow#Dvq3vf@O z7x!WcjI5AKFQT?isazMV(OEtxM~>aUUb?xvi?Uzkq-qoNWC>|t6Gf=h?4~~Lr>CEI zhpKYj>>rdFtM0D;6z{f+ceuUS_>Gz2uA*`%K??}Cz+~2SlVsu1Tq-eiVQd%@+PE_F6Q*YMgAki&U8~!Z6 zH;<_He5d#(Iz5LkVQ`<{N^Nxg`A&c(Y0vue5Cgu12^HA+o}QkTZSNACr}3s|W}CC-e1{n%YuHQ0}mKlR2N;SVu8im-v|ow^6%5u3`K&f9^GH>mTUx zzpWwtX^QyU^I$hAy*9IpBMCMDhW z@%8OGik(|pG6mmFb)xa?<;yvAg4cZAC3^eFY|V!xhk=hC>yhN) z4{G#jw6(;HUt>8A2q<-I-xs{#Fi$s6?(w(1ia6=uyW;zG(`8~2flOW-@tTK7|M^4$ z%j&)G>E94+=@eGK2er4qaQE=&#_X8zP$6GFY&YU&2*=A-mU&`W@4)+{aP6Fi70(8Z zQ~2_DCS#cBE|K_Y(J>(bLW|`T=h1?_D;~_8Ipu)bEVFo(f2=#-LLj1?(7#@=5c9Wg z;@Lu9$aaz9@p+$zIK!&Zh}pTg-x^BKpFN{EI1p6H%+wqd9F-3*@VEp2w3mMI+h*X5 zmx<}carv>ZP!nU);8EYGRc!x9>1;ngg)B|J&i3Lr8XE1DE?XQ_A(jV2ONC~GY-B7d z47Bd^knRjMBT3wTfsEaTM9H21_5S68f7MpAO;;7$fL(&yiD zxx-$$ZiSfdjH~~1T@tF6JNFDPSyi2gHHQg{zpviz5zkk(X!km%e50Aben{U!ja)~$ z(VzQUW+#Ficjc~f-Mv}!!~330wegg(c4@J=`w-D;&6(`E^XFBn^-?k|D_ov!NP(-l3HVu;(fep*JfTV z(Y;`}^X}2DqPM-*Bh@}M>fJi|gY)9cvDW487mB95Ut7!V&JGR_^m*b@DTS4lSH#7Q z>E6^7hT>4PwXN@LF^Y@(>o<>|CFt;cjT4)|`B+FMYCtD`;#83Mc1<}G*D4Mj_vC}! z8S6L!UhX81NX z78JscSI+jlCT#cf3UiKDjrTCWVaN3(um$v8+#4T&AWHs$6Cg8@K3PluTP$8 zh#v{{^m6YnWu_D#QW6opFvsjJPau7n>~P;bO0<8zRKJ^zdGO#t(#zOumN>QRdCyuq zrFUI6XJ4}nnA!`8HgkPHQB3c%U-%m-TEVZNsrezn>n2`YMRud zv?M24YVU3sPHmcU_H#M$hy829CSNJ=pNqRAvIl}-F(T*j-Q7<(PsFzF-DUZH{>YJU zNX{xQe#x{DQ}5)WidW&-7e_2}`Bsejhn4^&@>+Pe;Fe12pu%fids?$$u8|e@I9WLx zn{IlP92PSSAm|XU=Dtr7k+NDdqE9Llu_(yE_X~o?6$Qd^k{4QfgfmzxB8ZGZC5 zo&5Uyq~vj;@@t#T_nBE|QbGCA9p(vc+=vs@2@wgtC+z^T?$EVn2PeiG!FOgcf{WQ| zBoVW}t4Zhfg?4Y^$zq)cd4;ezO$@jf2u2uNHm(>*5K0=}l z4KFfvL>7f$o;7vXKW;9Ajs5 z{y%Dmq~!t6SmsiMhQJ%Q_pd5(z& z+554AN^2Wc^`yw#`rofzFs~Lp*qzlS0=81kSMf1d-o>Hibr36Sqn-3Z5q{&Asdnhz z!jp67&YKK#ee6>-UakCyPn@mZTpo(q5dv?hQIq%ilTu^YX3I(Jt2R^=StYS@zN^9WETl0zX_{mQkm1o|^Y7zl$ zz8$8Il;l3Kq5GcO+7*^AWh`p&zNNb7rzdMb=Rhkr{PjhutY)-zKhKvhhj|{Di!?Q7 z9pax|B7&3s*`C!XnO^0?Mmb1!MT#gyL$4vno;p0otDyIKUlbG6fjf^>GHrG>~A*L;>X%qNt z&?rBm>7;!H7926#232$jzgF|$gr`(fxBl@VhH1XNEP8oa!62b^uCvUm*&suwBWA~& z`X2UYI3# z>B|lI3FpY)tkmP|icAY9181)=_U2`VUq>%QKhkD-LXJB3LAvpimFHb61ulPWFG}yw zJ&_kdiS>W?_w`y^^}1#V^*ghxVzNfJ&TbbOTOkfBx5Sz3?1nv?Uv{3pER7lH&5e!g!>>XkgZ5XymGth-w=DkAT!(U^02_%%kvy0g-p)8xKO3&zA_$ENN^kPtyAg3L+NaD=NlmW`Tb-Z$ER|qX?`IJ2zR5}Eu`4biDOt9M@^2Bb zx#1lqb{afhv1f~pL*}oC?+H4u6J4xdr13~k_jlQ+59=*?X;!Urj3*}|76vG5;GTHe z(fP&Uk&+O``vO$^O!XZ$A@>3fttn7ldgI?sc-FT8W{1rDvy^u)%t zbWvX2ooDX**S9~vCb69GlgMUp{}Z4#xZ}LT>T{#QdihK&w^%6W?#|8KiC($LUvxj0 z|2{$piSNqkrD_Dprz9<#2%WBsayxeq-Y?cFUSgLKmT*YtmMY}j5@VU8|q zst80+u+}+mUKm>WIVK!cgw)RLzm%ItwtcvF&Rt(!p~#F;>rvgd=Zv`XhvGB`HgB(r z-3#`?sV5;`&3R6Q_$gn~t|u=zch%<{9#)@-J&GfKAZSk%8O3koRS~%BBs#h4{5Y)U z*3U$MSHXlZt?aQKw`7pzEP|W&Q65FUKb)olOrD_9w+_ zr)u+zka7a|1_g&o3ge(J0Dg)w+`Kx)2El{07ROaNlwkm z8e56kw7oOfQ6BA$5O1G1&B(~uUzq6{>r^c^WzAI1zQ<9UV4K{++B`8MC!(H7UuZNj zy?c}sw_34b6!+&Q=J7?-;_}dAAABaJU=q@J6wS}H`&|}=ME>=4)m5Ftp1d*(p}$gX zc|?^qHSun-QDpY}^qbbHqkYRZ!w6>M2(01=m1T;LMX{qU8(i>~h6xc0jst>&pRFf+ z5m|KNG;WdTNIVP6Z;~dtVg{Z^yk*Ru84m7e+*=#k`=p0|?(d3i5E>`SKWbxc(q&`O zsV6ax$tV?cy1{>RaRepczr8o%m^m}VxR$)L$LQF~bFKQACQ@)1(J--v5TMDT!NZo&?b-s2%Db~behXjfESydjhqrjk(n~~I* zmT&JiO*ztD{aG|@Y(j^&|K3HP3VXYL(h(%Ra`^S$?mKtIb|jLU6!P>dFsFDn56r$I zCO7oo7QG$4?r|sFOZi(cx=3+o>Q>l~4x>!$4t)D|yxBA&g3roFQLav$o?cw-3Gx;@ ze?{j#N8?Q%<%2xt_obhhJkPkAM@KIe9`sx}=ZbNE#iXRjGbMBPpY-eSe&>it!Gp?k zzG-ZneU!(&hlky#^MVod!c9}SxqRg)@6OI2iY;{~IR%vtnE|mL=W+1jmddlp)+UKE zt~3gGo&~GfYzkb@0!Qgblr)LhYZ>gOj3f>&|{M?|?dgaFVlPD_5 z2oFI)+;n>=tJ*bhVZ29}awB$lS=k(^_UbskZSAiY+25UfM#?fhQMkq2Pp@RN z)!r2+`5YHBrZ_Z7owUkXfq-`eml30!~3j}$b-RtX! zX0fBv=QHVlTFtlj-dz1+q%VTPi zb`&Fh;_`ak(~#b(3H&0QcM)`g%UQWU5V?~?$0N-O@s5`fHGCE}D%qW$ZbUt);s_UN zexCAcc8|n#J&yEwqw^x7pw4jK3YH3xX;082CW2e@V#(~62u$=|V&cAEtDefpaX;eI z-#_BB+B&c9ql857|0vJ!xgq%uyJixXyO(#*F!xBPu1Z#)zWZZC92jHG>sxd9E~l&V zg1~uaDs9p7uibRHT@&S$9{_kg^ORnwy=Ct?``~u-OMBtwJbh+HuTvb&$9FdfyY^JV z9&8CnXMbH!yz`dVfgy63k&~QklA2oPw>VwuoRY$Vb(@6_(rzi$kPd={)5VMWIdRW3 z)45+`JX&6A`AcN~8dP5+7BeUDKpkB6CYGtetrZu;LDYOxsg#fmjPtmIqxnU{!PVa{ zY2fI`#?~G8S{*&(e7$l*E4puct(jH&<(1c-TXbdxOvU!jz;`&)&%gXI%e* zBZ_VJ74i4m)Xyf)*z7Of;m^XoIa4TySUBye!K1gqea>DLI@0X_TXXf`Qt>HHQLGz1 z>(j71HmDiI?D4TjGUkug1_710m;Lq6vz97oCh@_I%Qop>D6u1vmlQQE{L1-Hu{yl> z`wDF*JB;?9Ul+v*#GN%? zvoP=d3$B&x?9j@sto&uGZO;<@tNNHlx9aGI-Q3+x<(%5QX3+o#`zinTJJb(*xY?)k z)E=Np0%`ZgA0;5gZ@T_|{Eg$fn-Zy8yvN6n;fx}o_qq zu8;8sPUbup$WoSduL)kJ|Bh4J-k5OX+fZcfd)bBCci=Gul-b_6q~#X5yjDGrBu_}G z&vqi}ODC4j=4bW0lH3ujniVVHSJ}_}%-x!9#VX#nwJit&*t|iQ)?>ME&-T#YaTM)z zahANjU8BS<*}wRKZp%HdBl5W=FqiB+HW_cfH$f!qg8y7jl;GMW!?#jHqH9`v_{)wX zTEg|bTbyoA8&zj7MMo$aOcrsO0{*^*Dee)brny00Ejv3~+HJ>_5V`4!(oI!W3 z)4vfsZ_`%Ys9XH`WPC8k?2DGC@4DytA=lBD5wt=GeB8rte3l-{X^Q(L7GZ*n)Is^H zF9j>awr*UPlv>B+RWGPF>hXS6u(+S$ktF}lO5@UtX6~`33mo=~?DzXj2VPS7YHLWn zU<`FZeM*TJqUssi;2C)SP^Ok!i8H%^%Z*&GFXdAF41j z#oUt{8?F?JhM|=a#JdmI~{Q?B+(zvSKRT=!R)2dan(79PimJ zSrl?Q^i63r-Dya9cJBWsjyD+oDsQOmenRk8ct+^U>48t-U(4q8Q7uom&Fe*Vx3;y` zwT0Tt>K#H-DuX?`L>66sp~|ekpZPp?E1u1~p2T?<@qgpTHT*(7*ZHKxov9nwWT?9| zs?9q^pKKOoBG5PV!eq?4>Z`pv(a2w`mF{1!D&(3Uu69Uh{QBSDZ=z~d9~!F@|Dk%$ z>Bcc}(nbV%#d+-B|EC1Sf>~1kTzG@_`*BO-gUz{bFMg>tmspNV8yU?D_Q!&t3TSfG zQtMkFdngVyHZm$OX!-KAzu0z8T3%j$Nu=6k%ZSekNyPM?Ubvl!?Eln$QF1LRE{F&#xp;vvp+4eNfD}QyRCq?F9xv*=0%AcOi zMA%`2XVs5q&}@FTB^+R~3M?B?f*Qn>sg;;hE-o&H2qDwEXyumNG({TgIyqeKsGbdRO^N*|J6~t6juBe^mp?qJ!d@Cy}H4GgqXe-7&Q4ah_Vn*3dk&#dA z?YHSsCF7P@#Yamx;|v--m}bT{P!%WQ!gc8y&CNT>yKLXRF38PTKC`Pb+FcoiijSnO zt}chGVmx%^97}HDuz83pOV?c4%yW;h%v2i!Y!rNQLr?;`c&=oIg7P$r&0sXV~ zLYlq~28M?DRuf`C)&S2ROeb27+8WH&mebX}_3qufBFpg+B}=~8VWbs3B_-v368wwT zXr8rwWgX8MFEAu9DvX}0_dnmMDg=BEtiyFWx@!XG-=wFfE53Q7&lSBeQp_ADBjZzuZ=~4kzXFKAg>tj1O^ZG>=i1WKMoyW4$ov|nR2QeT`Gat%( zS6L|nG|*yy<{RHff8c@bu8zw%I`Rp{g)--qo~zQ5GcsZT^m@pgPsnlk*%|r*6Sd@9@QjSXCeR0h0}*KX7YvG%MiHfy-*yU*VDV{(4D`z{kgj z+q)ztCI(A+or2=e{>BVu+3fAx2f|LPcg4jMN=pU4eEIU%ga>TXdU=Qwp`4}i?rE}a z&(G)NC#V75)x##FZvDm9wzj~)z(nJ&cxN}atrg^i9&!}8q;DNY+peO(GsE0qSMy{T zzDnxWQho)i9}Bv?C5=e$5>;Vopig`} z=N`ILW$@_NzJ3e0EOr+WJd=}ap0fU1?cs*B4R2`x?sx(FWE^1nUV%{u705)QfsTg3 zELXKa8ApHP#tl=}#L;pG=2Y1@z1csXuh0q=4LE=plu=kX7U%rM($=P6N=Y4^n?P3O z6ny-M50u8UXU~49BP~IbNZ<|BA1G6vOG_syq{@w zY3(YQCXyO5%_>IdD|M~OhpbfwUO0~nN-h`)oiI?IEUGFU($Fb?IMqz;nrsU6G zS+^-1I7#jwvpYt;PwQofv+IA1v8IijGjzUmL2H&Su z;qXwNu4L5?K&!x7<9|43WwoX@BlqIPT^5#LXy3ef~U^v4u5t?9$|^oRaC@N z?zpma=&|rO(WF@I_wV0JmGlrJeCui_>wNL9T=}V4;rLy^#>aBJJh9tkeRucb`o2gR z#a;>Lj97T1USeq}MNp%Jtu2?5k`f6SS$U|`*mnYj+ws9 zH|)TqK>7pn)uweJz0{id(d6v->hrnzq6 zV9!LEmRp4|4Rln0OqD!X99T9+v)qNDaCmH%usgnQ_G;$Ax+kBuwl?&+!5+~WE48^g z@P_zq7T(zKiX#gdf%M$shb!?ut}kB~im0W?_s1sZahjgPV~T8zM7Nt3-ykPPm(b)_ z|1dW+gtn>Q7Qwu8;MqM-4$E3QuOzveRAsZBN6Y>C#wC0=1h}SH#z^P4S{`STYzaHcKV{T*bH+raT5c7u~s6 z%*v+8`lUSlpq}fgcINEv1J2656}*!7+AUv$#yM|^1X!k^Lql3t3MY05>>;T2BxutGDOo^IkNmlF=kBwyIm!gD&CE#3%F6o6 z5JyVigM46lq9y^{4NTSom$82&9A!{!KKzAEvwR)mlkH^fyQdvIBI=ldY}oIKd3i(? zryqXxn?7J;W4L?wXPuqCp5A>HmY)#Tz?2|XzRJXSQj?LALcqDp${GU80f_!+-7rG@MlYJa_qUEkWOA03SaZ?D#s*aX6h zg&kLjYl}T81dOuZ1=c#Avdvamn2f=DU{i(6{*P+e;1n;xw#FwQfOznG%K8;3yQ~tH zOp_CJv=y2($qR>rrBjl;&Q9S}5gyYrK>_WFi@u4k(R@4c%}q^M?IwsI$$}b-FYIfq zu0ZIzOh}jtTYyHux>hNtcM*=rfIpKnGYV!0Yr|ofvS4+MkwcLUIX+Q$_CeXWI*VL} zFK;)J)7pF1KS&%u>NCa7*F`y_>F=xr@#6)oJvPx>>8F;^xc{F#tpQf)J~MMBZ+NFs zq0Rof?$cn3?uBxo^594vbZUa9#6P?d40w;hID@|(f=sODWS1IzG+=?TYanba7REqc z9T*yFv_4t4z0@C+t&ZGmB-fs_7J#@L#f-SzNr>^iL#A;#{e->gL zHWG!MC_*=ay%6}L*3G##NR1#~ASs{5n~#-#hGbQzSZx>t@aiSzHXXqkcprHU8FcmZ zZbLo=vfenz!^&*4<5b^tbb-gZCny-rUcLXDx6le=_Rhcr(n=c=jwjO6_>eV%=4^Ux zO%Bph)iT?A(AbdKFAe{|yL>sV(8Btnx#RLsUDA`F%h#?M{eF*!?Qy>^0G=MS4de)6RMXv8!vggee97ej?)gc^WOn;UdXz!~O(7dGdMZSF(FgRCVF zY7z+fkDEhjHFL$~azlQh?7*z1r>9j44Dh_wYx{evXa#Kz;v5`S$D*~pP9j0gR5`GT z9>`YT0(}KgeWti~MMZOVz%>f)cbR4 zQ%+7`zo)s9O-Os6%>RZ=zSP_TRkT}~6K3hK%I(mp9Nv}jKsiSPj3R8*hzfyi&iI=s znM2DNn^9Q_-0sAdmYTY%YM^wA>DQD-<4o0Ew6%ark;!#PTQlv3H&T*75gXJfZ`ShG z11ubcLKUC;J~ubFU|;TPti=n|a?|-32?I@j|Ji!GPp}Pw`Ux@^# zIvkLYFoA1?{nB6(mA`=d{(9r;({KX=gFL9EkOi}|2GBdhCLi`Mc;NBx z`!oneGcqMn!E+!!*UUwKZkWyU79XZ=EIfm^&~#2~76p?jhEPk#6~;wCJ(i zs!Mh)tq-=G%~y{ThO5pt+jK>AdZf&UU3#)#BzLd3GUrZOe?O|ah<&cmk73aMjgv0S z3&xsbO+F+8<40{dxzL^LK<9O`GiVk`N=C+4?g{q>%l7%gKj)I!bV^H0J1?e0iO@ku z&l&}{(G}M!RCZ-fEh<0!qUX4E#P?&{uWaJ)<0Ci ztTnfE8Xt%7#*KP175DT$+synBvA(mw2J;j%iYIvI__{hikmVv1Y#J zbta5}l+6Gl&zK83&S5}7ORIBG+p7aUX%V8Qa%QC4T2&O(D`JNWclazu9)s{VTFgTz zTdi1cW4aOBs{?5jNT$!%##&VeN=#iDgVaAz-Lfp@wf?uWR?|=#*4x5^f2!nI8Tls~ z2&}9o=iiRI%y$^T3qPNHBXrW3h<)Uthv10GII!8d{`L6FN9pv*{EADxxBLA46SSYJ z`MryCvxA|&L<&t#deaM`21b$VV?I|ABF-3ukMH+)Egz)`WIUhGRgn5qjPd(X5)YuBF42iF5)5mO23$2Am9SwWAdcvaUXrCCAYWwb0TTN8M?9C7;BKe(jI*jzeW{7#2_R`0bsx{aP40U4EaxjKN}AUQ5b~_g*F2)=uJk2-TC@bVh6LtP!!{+ zl-oamW`UgnY*B0r1$4a2JSDaeg3H5EDK;gA_L@29J7c(Y>m8^(>AcNy%KZH4J+W0? zyxXcE_Up}h*OWDOZzd%rnHCe%lGZj`y?C7Yx~$bQwm%5r#ZFgdb~CX~Y|P6{+w%Je zR5EoFzwC8~{kcmWl;!3{w$INqp?jtXYsMPC#xc4$oSMYD{Gr^&ySl4eC*I7RCdV@< zx68l6$q`W$yp5idlG5c-Qn1XjEk3EwsLvXXsB7DjQZUMz?+7cwc_pvhh@M#1 zZ!NuGSyN5kRb7@?*Q__X%A$2Pp$wPg8+Io8`JtB;qOz)A#Bq=4t2;-W?24qzVR7+J zNjFnZLawL4<%cQ5tIqm1hTRAg;%)bqjJNT3GAYqwkuf zce?Uh26HO9=Eg4fL%}~!&BL-kL#ax}va1M$pP+5=FoF$BZB_Z&%mv8^U5|Iz*h1ln zm4R3uHIN2w>-6|w|KOkucbkig%cMUeve^+fWlMXzd7r?)PL7}J{6EPiaa%{n98}Jg zTb;sCHc3cGXf*o~(s!0SU;wM&7)4s4KTFZ2BXc@p`N3n+K%%(tNxlqz%GDq z{^>WEyeUdme6*L)GAe7^QF>vd>4MF8zvefOJ^4ZT;fD7d7q>scOnK`;{TiM7yoIj% z7saz|Cj{>NorvW>6AYch^h7%vGL|zwJx4^hR4JaVj+<{}cQGhxWkykplCeMz&A8py z^yi(0%l1J(jP1|2kRuxx^6$OfuKK3!vbdObc~~&HFKh_nLPqM_Vqp4z&*uh0q;1@3ylGIIJteL5n{s!2jc$p$g+aW);>OUy z5~_+BlG>?JtD1_NJCJVdn>}Dw)b0&n0?yZ`knAl$N7ID-flvmaPoi zNuzKVYF)_S5jkfAMK=9PZ@LSO@fQOEKt8|SpnLiHrRuax6TTlC?-`XlrH`kQqei?t zR&@qu*$n0)Hd-rUHJe3>uaiu6e4Db#8vasO-Vv?A`)g)x=Z$Ue$;8&Q{vAsGN?Jy_ z$nrzit?gAfXe8fM|6*5l$-7)sf^^hA+0{^SK%fB9LvqD-JhilBqYCj`U+>jteej^J zD|gDU@oM^-3jv4AromTsZ7fbn!D||kSqY7`#YQ&<1Y9=nj#oH|uT^7@)RZ_TZMiX7 z_#&3?!{jF&wIY+ciZhour?V{~de3!w&*M|G!8OPsXK~GH^!;~XChE3NKRcv7xhYV( zL3R#V2*9m8k&&IzwtzZAA@3a~e)hRYt3Zk2W6%&E>&y0P{53|MpMSz+65sx%2lcP zmM<4aFH-d6@=})=>cPg86|DPn%fhVVhKPbn0O7`p#Q15k*~*oGP-?p7uFPHzB^88* z@by%B_W9P=w9l4@e5%r2LY4-9a?+|+8qiZC<8)>b#;bLbiyw+Yt{Sv|5~!@|TNeJb zCM2Hw_s=?xh4U%>9ZI1*-WuM5xb1Cwz;zdtmDSX+Z6Pj8>8WF_Qo$5;OZ}PYX=w;+ zf~Nipu6DLmDBZGZG;8grTay3uddx+>`O_&@6)gj4z95_~+bpC2KP@+K@}lw07b)_bZ+q?n z>YlBsAQ}yrK2%#Tz6*SY>T7U0E9NB~^dtyDe@zRt8LyN-P3^VW>fpC)V?|;cca|M1 zFhhOm3aTaMs>x0H9!`87;c8zB_DDRw$g(R{*(yqTs)l!_Q4*-`chGGg_Hq+jegE2! zAAV1R6T|(qL*<#NYa(W7NOxu5Mu|!?)$@1Mgs>gusZ+Ns!&u(8h;c!Y?J;TWx6@yw z8G_B_pb-b#T=OMC;ozwKr_fQliH`oX?#bw1K8An|ucPnzg=8CE;sT@9hDL;RF1oyT zetEU#6Z^Sh(%$OptWj`r$x!t1U-S}3XZ=P!XYF>$q~z7VrC@au^FA~+YLac=nmXBt z#o+hVpa=XhWwr)Va{U#YR3TZag?=_OO}x%*wca@A;h-18fh^Vb?}FjbWsGuok*#bu zsOiM%w5nlQI&~2N6wx!Hhy8$z44Cr&^_kzb<`sIAd}owQ~OyH3M8)V~Kdu9Y1*HigoLBqY$s@>xxlp|$EvcsTVBN&K!*J~NufV|ZEl z1(4y>oe}jc^{8Md2@_rdM7t6(5{Z9`M)Bmp?9%2d#6*<;bY(FqGJHIvy ze5)Wp(^=_dj4sN2ZJG5nMgGU&TM;^|EL(kE&+3t_jO3?E#UYRfKf*!f6qp8uWH6~0 z7U|ySC7wiokYA+x%)*)pNE#`J`5%C70b!gf$K;sFANBWRyYqM!%U+Sob&VdfXqJ<( zv$Hpa(XYW#P~%REqeyn}hXQM-mv4zc?P zq_x`PqTfcy&yFTmz78zTTcj{1z_6#E8$hDDVy~KKy1LgV+zYQ14!2L%omVMtJ(x0| zZoqTj8xJd9f*u-!zOr8+2qLf5HKseT8Nytjun$S@Ct9ewf%FW_I!V@ja1X zB$8ZL7X~$a`0!zBZpEEj%xRUz?<#fsm@s{`8;RM()l{_6BXrKk? za&vzstb%rLceiPDv?4T9G*;ZpGrV)}apI58N&3I$k1FOfF4f9p{+7wKW$raqv=pXK z2;)8k=BCSkBob0D!=`>S~&} zH;BBOYb30<)w^#e85Lf^Wxf5q%@Kc#y7TM?9obW8^DJH2tpnIt0Xm#s@{hlhU2_jV z8+Q`t-2M1EORe}T)CEFLs||4=;mpr*LLGSPQ#RvJ2pJGHhZz^xM{}!`8Y~iGqw?x_ zxJrfP`N6Z5?Hj1b%z@1wnXVoozOO~wep@8{-#BzxU9q0*y1*{l4Svib;5$DSL?j245ZEvYr*X8->7o^MLpOy}*($a=@fOl>(;F%tOF;M_fvQz}}ei*qP<31iOT>alp zCaO+1oWeu_LhI6V-XT{{aSV*&e?AE!17Ojdj~W5>yF)*N0`8M1jmyJ@QNW0Cz|(Ty zpE3@~;Aduzb-)bRHII!H;)a*svmMk#a$6iu2zZJBrTn~g_i70B@*2oDQf23eDEoht z=JjD5_K%J}M@B-1jKDS_4)(QQDN@S@hPJmrNyc{T`yf-K^zpI#eb($M-=zP+e9+0N zjyQZI=x~os3ROmKD%#`oe_C4R078KcNDCJW9eyhNi$^cwY>P490c#BuwmcJt=3zJ| z0Q|M_NYTiFwyF7ObvUpz-MQLU2#D?nYi?FICh|p5C?UAYi@tVW$J;3tx-ryRC2l1S z7(Q$Cm>`Uq1%_!4B^(te?4+P&IjhoS13WDd*useOhkGeIlrrvvS(;sY7sbAG}8{3n#bUjoJ*HxL)@v-9h)u)p1OutSSIl$Yn{W5_i)DJT7zYP{YU zrCkx4t6CA?8ArSiRkLQG=B2ANwO0oRtJF0ecOT4mxcM;BB{a{!%sklew;HN)WB0$7 z`nf=#oSNU#XnbVOT&3omxR>}9zh8Stb8obob?zJPWF$O8tuxb(AZJiV^EjVkqq>CG zD!b0a_6cLZyy3E$c9vHltjIYTtRedp9^RbGTy4DdtN-p@`vpn{um5TRW{1&QZ*A%S z=Uz+#lAu{uMz7*7kY(V%O&ulz2L}iJwcogRE!UjH1t&La%)y>`Ei8(AVgI$3Wk#`Y zj%;eZB~n32$wBKxIb9J9F$~%D-&FKmic^D96(GwBl9oKx-f?e%C|cD zh>cNiARCyL|0$miwG4TdC$=3_uS^F@p@xIMrg4i)F_It|sIIOC$^m9|g1XAT{$0PR z!|Hk6eATX-)^)rvSV2%ZgR}G<}lZ9mh&UF1B5>8A`pxk z_3~Xsl7Un6BiI%ZlbvxD?2hFB zvrPL6W+g8l{?Gp)ilY0s%jQ2;u|dx851;m5BRT#3KN=paw&mNuNZ@}yYM&td--f3D zyrq|JD~dgArrqnmzyE$;ACOMyrq;%wWt2c;0NNA;7G0X6inIiI|O!UJYz zvt2QW)axT=xu4_WG%-WKUI5xCU5I?pkP!DT`h)$HjZ`D#=)qEEZYk_2=h@FvL(ptb zkMf6t6gyHW%?|V#Fo?DCJRCzL+62tA*@^qD5nQYi1E!3aZXd+*S?B>mF$RO8S=38F z$KYt)OzQ+EfT~HWsZl|`P@I#QmNr>3YB>YY1RdrCVimR~*!S996=BP;^_tu_)=@F~ z^zza0>(|#6>@GRIZWw!}A%8)Vv$%)M>zC2I!*k{pWmC+~ynI=4xzX3#zkJU5+|Rju z|7L7bJr_s4P>ndl#ixExGR@kyJgc1X(1PgU`J3DmTP#*JCwx+&G>M@8XmOBFSJbF- zjf9O26K@3U=7Y74Z0+n~zen9XRtP}+xOv&<-~ZO5N??XgiTUvFACG+3H#d_2(GPiw zH9&GUjlUtU6f*l~=jWkY{|_uwT1G}vUfwJ6htM)`o0}WByC=_|<3+J+GcYsDypaVZ z3Vi=G@zp}47ci7CoaC9JVuWRby2Gc|zYC>6JL~D`Em_C`whxGWL}cV^W#y;vNkDx< zBQqqSWhrHdU@(4oo6cd&?WoD=F6+*!!edSFu8VNI4gG9BsR^AU z;s2fp+0LMDJ^IzkQ<^8ymB>ws!7Qx_+h9b%*Ij-~~CkE-B4O2AP*HQy`ZC zB2#23<5&)E^BSGVAFyCft{YvexQSvw-|)^fh3JD8q+B1ajPz)4Z4lQUv=PiO-KH7H zwYTHtyhy8wrolmSD=Vv07zJjtKKaOUqWYzZ3Ppm~sUUmJF&Dti(@=1-s202j+>@A$ z?4q}Px&f3l!Iaz=y;;>u5P3i^vaqmNJ2@GH%3)|^NWeSsBzn*whT`nF*FWyNgeq0N? z%{M%pxU;hpcxVYH6k~$BgoXx9g6Cnnmhkx47zJQ<03y(UddjOIJO56qq%6~ zcwHdk9S%K!dxTOe-=zCC)IHu3i8^zwk=Q{R(D~0{@P`Ph6LrR1fU^qR_AEh9=TlZD z2qH7c<|6>zLqns~0Yiqh4oF$dHZk`ud*M!NzW-;B5WY;2zfMW{mIDO*0Z5c9 z0o-WS%=2`o4XW+yOvR@GmqRX!oiX5ev)2gADMijFVjNCwuOSPr<_c~f_eg%P_;&Kw zdhZ>S?->EGAX)YNSQU<2LpISg~8R8&~!RkaAk zXm#C;-^iOJCdS)KPs3X+{zOg0p_e~oHOW=VnM*K)&%1X_299p8HqWG5$!o}Kq1`2G zsBZ+m2crbYj4o%>XPwX*HY2>WbTMvbRt)Go?xjniy^1@RanfVgM@VThpTu|Q*EBY0#E_kC;7R<;7}Zhye4QA*?u$vP(# zzt#KG1i*|mS9=_RYGfXMsYXVfUAy`PmUcy2(&kofO2^saSfVOhpeMZv_5r2{i|b#Z z;P7UQclIIIcK-|}4Tk_X0tXNM=jL&)T4lB$;9B|Ba{t4!V1WzJ#KHWG5Vn*75SYsvsSk6CeoX=?BRewmrf z;Lv;8Mqg<~Mn)o3R8-av&Uo1ZmJ&Es7aH6^~M*k_5|mD{^C)gM29o=wE;?9|CLXr)zf2-F6r z(lw6{A0}>{W-_s6Po4@S`1@Z{R#tX3V-yYk^oa;`St?fLVPRNN#>-Y2(2-Dodhz1L z<7{PWniJzRkB{!8GJ{Y11os|2iLZJxl6`!sdUeZ+eZ9Re{&;i6UW3N$+*I3yXs70r z@#37Nqj6^lJVOA7pO0d{d`2=bFml#wCfARWU8w3JOfXLm^gI zSHFw8?K-{10E-SH4~F~q0|0oZ7D)w@hTi;lAm0(PDAfie6HfR5F9A}^N1oNEXAYnP zfoVSQd|^$&Ozqzlj=ZY|N?>YfNg5QO7!9YBLkG|mIs@4Vqdmv~t}iVu)iE{w7!*VR z?*%V0z`(e<}2qP3JVMWlz+e#9Sqt#P|9H4B*6VfBSmj_a@6l%_A6RRWZ#AjWdv9X2kv1G0U8AvuhyJr(vmxKAP~s#Ym_j|Ny1#7env zg8L>OC_k{13CGGE2)rSaE^t4v1!f5Z2)E%YNo$gUi%Z^$>b2z890KEwm^)+7*e6rw z{9DR2+hghDZ=xNqcd?7UpNL?;>^UVY+t}xR`88QozT4T8c-K{GpLtK2>3$7M^aH%O z8vlSlJf~YvXcD*f^3MM7B6=+6xXrpf`BnmEcE@8TWdbw4uS{s`^nA}9E}grA+$zFc zxTn!-w9`b);yh!_&~Xrx%&0(ZA!V522j93jwh#ti8*iyjC=SYMW-!>?mYJC0pCgFZ zb`98W_qo`%Z>@fXG0AM;-XVNb^S#@XLUp&3GyXEFb6-_Ee+6?v^Di@VYCsC+_eSg{ zE?m?nkBYSC9&0NrFYWE^!#lIHvSwjdvS?L)gM}UUU-H97CGhmGtY)uLR9l%bv$7hF zmpjl1JHBvY5fUnIdDqZUF&$mA#7Kfq3hzfGWY zyG9MI6JVWQUGg9m?S~Au?AbWEJCwBL;gM_fgSdFaY=*=_UW8MO@&{eJh2?`YiZ6uV zEv=6nIdij4qyHYbm43BFc9&qMYHCzCzC>z8-MoAV<^pr?<{)Rheed1}$Wz#~tJ|Zr zJzHRo+BcAk{-8%xP5^KVPzxhW?g3e-^?W-e@KY)kj;vt#5m8Z42tbX=x)0$AcF4wE+Fq!u7Tm7`AOM4FC@U z^U!7N?Rg+``Yz_77NzWFA*rseK5HuoB_kw3RXU)HwkvbnV*@%nt9KWqGx;E2ha&TH zi^2Bta5&^ctEj5B4+P{0li>nG-xEtqOE^OAC!Aur<`IxsxupID63h2+?|EKlo(QPa zE!RaJ?K2bOJbVO+(0&kTbSNS4z^FM;K|BMUTYP*xmfKCbZ9!xL{=c-WjQ3j?<1H=NP6%eHxq(lYj5)hC^x}{4%K|z!dkS>w#?(XjH z?(T+J+jE}(%-lP3@7y={yf^|MV#hDm`qm0yQy#?7FnpiJ&HkhaZ$MtRj4PARrkyT? zZ!~=QUMabsu${vzyaUsynzgB@Hivn{ip)BOPkZSsCvk8!x0pxn3XVErElfGfeEuo= zp1ICQU52p==Z(vkBi+|JeB{$qXFPI>yvTIgpMFCX$~32C4$K$xkWHf1s>L;7q^->Q zMLbE#tQm*bDY;rtNGQpAq9hPqT7McHsVVsZyP$&blXsxa)i1@xzXsJF)E!<%iYFe} zq}eh2sb*FoN z<0Abft%E5-H{nE#*QLaUHIi#+Fgf?f4>31cQ==cgz5vlmeEISv3zURhy`@<1%Iug( zNJy*&7ao+Dr6$W!Ls-@K`1r@rOqR@oS{}~L2egY92NGCoEiGsjLnAFiMHcr76?|Ti zeVz+HRNUTRpbZ(v+a#gqIZd%CQMP}Lme`@KVMM3ZUlWsdNgF06Qb=e#iak9jELz_B z#LOo_tTCwUWZ(^g%htHQAuv{dGK2F+)M_L0L!Cjd=i`yX@COPCm@oEsG}tqUz6u#B zt2(vg*J)yGHDg+k@}tzp1PZ7nB8`v(OjoL2n)4RKUvYR<cNRJ71eWsZ$t=0kJ!1p>Z4%r)JCU%tJ!rwuY|@kp*fs7CJK;Uxw)#)$+V_0%`< z=qVmP`~=4elp-iqkWCxUEk)*stcfi_X?J#hz8~b2m7U$4E;KYW84mRfQWFio^BAlF z?FrHT-=L!b*)CF~I5MKNY3BRzO!b?@ z3xesjIdMr-pNa4uK7Tnw*GSNb4Og0&{F$U7g-tr$N%!Q5M>vPs&UPayd7!94_n)uy z?Sq5CAm~HZJWv7J?e{AXw$V^ie}^YDy|K{&7d8MNxQi=KQ}iuHT5D_ zw;i!^)ip&3tw}qFYhJNQVrzLi#kQ@#IjmL0cDN{oj*vrWcVI?SQ91O@+xTfw3ldUe zZ%U~c;^E&1+A+oZN~zT2f@m%OjDubIpu|XiGSia~HSXMi8gL4`8*M?44E|&URR<-R$yF zEOyybbpizP+O=z464m*+xkh^ggoNQ-hcEdL>8gw}%iZ1FP&;`KBPPt_Wem2WTuasi zLdCLkx_n%dok$~mTC2=72umC|yZT!{Taya;g=JKwgdU6~OW7n8r$@w~D%}hC`8wDq zeZ^$d_s$@dT+nv)fPM<=&z~V;@{)HXZw0|?`-qLb=9Os*&17HG1KE38;FZWS)J;%e zU_2|05zEc`4V!+VH-s@2fdbshBw!JkdRmLkm)6Swr7W`eK=KE=x(PeeNa%i;Q>HE23c%{appr9ZZ#S8g?fuhpFf%CPc zxuyut&dY_5E=JEuNY?iUj7ut`popxA=70I}^F%oG(^sxM`!Iz7I=6OkP~lLQD6f}+ zg@t85p#><5mFMDem&&RQNpE7oM}dx1JVT=O0u;!K4DeE@sH$2Ut+Q&kDl9JXnL<%} zqmoM9KlH7@iy?aEoEy*Z0~#9Wx{nTw+9Nd9?_IQrVg2SXW(+sgOpPHSMqMXRV_w1#% zG5S40`#VQp@aA#emay{cD6+HEPY$|iCCVN@I^)th=XGgUulG7WHJD7`wB&c3ozYHC zH5!`RC}U1!2=+H+(XLsfP-{1lIfZ9x9m|;l$m zS!wC2?pUFHpF)G)gbv{vjJHX&{Pd|*3iJUoig5$y#--&N={@13QBWkP(@ z39jnm>I+tO_5toq&2iE;$rL+l?_zkVb&< zO=+_P?Itc#xlxW*4eetqz#4B-`ym5X#&)c;(-$ylv0 zNCyLoM3@o*dolN}o+ArK8i$xV(Tkxz)4#o6WE!Unr^iLP>h|)qsA$+LTW>f*voDB; zT;>P@0|{DaQku$R`{KC^@+jzH4Z_(mcMRG+msnF$SR=e7^oD*HSPNbs(4DMt^;uur zs~E{2Ko<}?arp4`ti;q~a3xYbz-&UxOC5vDv0&ybFad2LYVS~c@z68kyQH3CWdTA( zq9ZoF6zjr`hmj+|-!7T*MR0gxU7+XC*m;)!k0 zv_j09q==^tR{cozGiBvH z`l;M~-2Sn}bI0P_IJQ6TzU53_zH$H9kZX`&-j<8rttUscqi*t#8E@=%iZ{u?XCo?G zbMw4E`#> zYta?wAe!gWiY5};Jxz#FR33!@&#SHplCe&X=k?0vWn4`5EpiQB#2#+3v1&@0YUQB^ zdsdX<4k?lZFIL%2ki0UT@(9avGL?fAA%tw!{`#%a;2SOc<1}HARc_%tA|fK>?){ph z?R(}n$@cd~%N?=HxOfvzhbwew+_48u6QApfBj5zX+$I*iL_u9m*K;~o9j`=+QqR7K zT;;(RPIbUl#)0SSOz0_4Q}gvE(#8e)b--d!<7Ei1v9Pl*K#;2dWdQyd+rBf1cEIOz z_x9}k72r3`2yzI^?P%rgb;6~M&!!|YIjffaHz&ZaJ+ zwXQUrC3`Vx(N+%5{-#8#aS{cXBG zkQ?g%}n?xV$V#XoUyMsTq z?j9I#Bd57(+R@Y&eX}jbFm{5+OGiUhoQzIC^Jj7 zUK@f@o{6~t!H)mhLGA(ov&T!l%_2}928S}j-k#NSs)xs(oYK=(tVQ$Dp@`99t=Tqa&tN{+Bn9{}OPkp<1$y-v z57Jv(c7+?51kb);Ketm4ZuB5^YN5HQCYUaNkBG;6p?w{sX?TFQF7atROr2B|G0*mQ zsVt59HFv*5K&U4rko@9;+|H<-aICqMA2x>l`#Jqvmq)0`#k{+#cYb3H-o)|LF!ynY`OT2 zoA5_!I1MTWrf#$U*UQ}e`*6O5QByO|aHwvs^!(Wl2upInsPc%He!7>y_1Px&D?rhA ziHOFQ_Hl4P)%h}<_yg2)@Nh@sNP|3t=>os_YE*~uU_$lh88-j>c2asIBD`D1tTl^RJNpV zcSEfkx4o?$thEA{V@?jU2}IS%2rg-~GZ9Y_sh%EQPA)Ti@50GG#rw{NzGJtb=*)+_ zi?!r?@0MBYWZPsQkFuQcEadlN6HI%r7 zIEvE4Qm(~;Aggr(ofR3=G2zF&yjZ^_c?nlGSN7v>k#Y&^%2QsyzHPNW0;VMjkz%YgNTUe>C>l4x#1d4tLLoR;8Vl4 zs(5tw`ab&Qr%5{fL&tg45rf}{QfO>!Oc}YQtFSM1EqOHt#g`VLzhU|#;g4%i z8yTzM-4Wh?G;%HS9%sovJcre`&n&@Lu{F(K61}^-3)M}Y;V?|qfinbH$o+vAT(c!W&AIE zKJQaCbq>zIlUMqllXNY#nDe#wFZ)V>j#am?AM*01cgT%<^h>)e&KV9~G?yy(n%Udi zOQ<0fkQmi^T3VXj>@B%lzy6~I@aD)WEHwM@W^)8umRiu-fs?&h(MbHLF*`rVQbV~b zHpBfd2~vvbl_ZT z001Pz*A}Ls=nZFWJ2Ch4l9riE(C#`zVu3Kl-SKZ_xAVG*wg=`PU00Wwx$NeC`U<8UL} zrQMC$^ip~N5mLU3o*b-W>$_>EPS^zuq>r*HdC(}(vsfjOjvyl3??~~y^d%`rJYafH z!Rv6403iAjOX8ckMRJx*ZYPms+PaR6*8xI$$XW&njt5+A*ofjWR{$3+)>m*4ri%+b z*|B&Dy1K#?f_rQILYpIGI(O2Q`agastBk_hFZ?h18a~)s+-?#?;MVE+Ex-4+yc|Hp zoqzPsA<`jN=>Nt`SnGw~35GfXpm;^+k^_cD^XJrC6=F~}7Us8y6Qod@nmZ_|ckZ`d zdn~fuXe9c_NTwS`m8II+AD78mw-dD%pA@AD7l_HENx~4-XTx}ayN<-K+Z-m z_IYq@ECQGvht`TpwZqFXX%{$v&T!5mZBQ;)zI%FBx3{myB#_^9DFbE&fT^v$y^now z4RZSW2Vi;|Ai1R8$-kiFx|lr|0Uxw+Ol{sD1)$iDW7F*Tb^__`Bz(rGpm% z=fpNB&f2n{P$&qBE+!Ra3hR00wy=}#_4Vkp?xV+2Q@0RehVY7SVgD{G`!n(JZHm93 zn@bhyWwl{aTghS&KIX;egIZmFoylmM%g%pR$JQYXzyQ@FYlys@TpgfqZ}sja#r2ii zVVztHEP1tAB#0XA5`d@zHZ^hO(Ig=vqB5d3eeIQ-0kAT4#Xp9zBM;TzRz4~Gz(vo$ z8RF@A9eTIkbiA`Hq$5vS`ZnN>=)FLmw}Ubv4AIaKVh(tJR{~HFsa4!o8d=! zA=y6L$%XlOwqg@_`Iu7NJYdfGjMzudOeJ*!Z}dP>+TO?do{U-l(9CoY;Q@xza3m-p z0`3)3_!~|07Ui@1Xa}a+PmhiTZd|zW4p|;i_fqm)bnTzOXg3GmjW0j6#=R?adG?=e zbPW7`*aik@hmFTPJUm%BIWsU?VQ+o(FlP4_)S-3X?p(#dAQV5`-ZrrK`349^M^muV z8s?8oE%EWM%g&`Lmaw}fIeBNUkA<9UjNTy^ME0pLWkqyXeJ~vN>a>d#Wk5HGr-f9p zULMI(F)%CwCiL|p|aJ`l^0@$e8SC@284Rs*dT}0tw9I$6c(-vz?nxCwnn}{`ax+0P9D6@lK_odW)jsa{ESu;9WIG&4=l0w2DOw*9K*A>LNRJH>Xp@ zAM|^EnvRMaZ_xu94FQO^fExm@m(9T)hyW;M6mn)g@?se_?``g`k zOahI1Gi&6}4Jb>!;T>ePYX_OkQwD}c zh^}EbF}z~#zA-uy`x=rhhO;zL%N_RL189zb-!MBn+pEuu!oK-^G4USN)BDt~7B^8e zMjby3Q*7;e-nUsR{v<0V78TWpm1$#h|9;R;%S!YI%YucPd6idBcsr6}h#8svSrvU$ z=#eHo0PRV@98B3S@%QYSc3Jn6L_uCxSEmdAw`9>DG6b^Z1m%z0F=&@3N2D_)wrXjnFh-5;5X`;)-@~FnrWz6}732 zf^Q{CziV)(>qgAs1?9|+3Q&6O%?ulq+iBH$3abBDvMjW_%w=i2zEM43i<*_qj8QeF z(qhDbIdgg`nIP-PEnkM$t$|PPBmdE9iWvcwwX*G#uI}1fpPb88hR>S?F3Q`YCAeoe zZJBO-C{~t3&pi^BY=CGQS2lYBq-41J_{I?P$P|?%V zqqi1UI?1Az=2(1Y00sy7?19$#Dg5wwfmgol^yW?7!}?N>o1GO7w?FNCzabgfTs5H7 zkn)xP-Q_!000&ohSga;jdQ?@ zGcD;q|NQ&=4U?aelmY!zjjv2yrLYyswK60JR3uAU8{V1>7jcFa;$qj1w0NaZV=4IW z9>F%Wzp+lh{{0Hht%D$MTwOmLn)j{B3%w zy&#iDD~__a;nr)8e}rYsufTu-Y(&<^>{FRu97VR?DDM5{4%Wgz7ONLV@9*X;^K{;4jT{*@G-eT6C*;CtN<3OS!XAudiQFJ;u!d@?gLCq{$;Vg-rG z)ZAPgVZMTrQp)Ib_JO1?8X6j?D1#u4mgGP+QWut9jz zMq3+aX$6VPl57+Z@dmaKZbnY6O5C%qPIcGT)t#B1jfGAv#mlFGT|L&|Ka!;x%xPM)@@CIV|F+eQGQ$fV%Oaz=Ke95};{Ok;wa@O5_M?qoz+EZCsldQUi z2K2A5V!{nolmW;JXU%6dwy<63JkT{&Gz+SD_9-iQ{Ahl3xrpnXB?#Zn9ZP3=YXg6= ze%&BQ&c35{&W%*9P}8veQjqg=6iODeH8v1Y5_FE$LH$3*ptmxqg+oPbON)}nal9lflBc1e=Hl?`p^w8oF^#<(s(1 zfA>Q-4dF@lJnLMYzFuxSKq1wMyMlOGk}xtW@H@Jiqb|zFpzc*lJFoaEvMTO z1(vqtUPdFL!{D`+YpBRyFr>8EHs zv}D`ohm$~|{Vx2Gsgw>_D)gGYFX&G|;9L8PN_It@$>}zMx6OFv>0n-}d>n11oR|?IeMKWZEbB}H10E_E`(nentWeN%Y<}c zoJO~A>`$w3;3E_ghaH37hk-j|21wLUwnPlcrUQJCB2FLKLrphEE zCB@1suWnym-|Poe%Q<+S`(jyKLL&T3EuIM?7+H-5FpE`up!b4n43yI_VhctbLYStO zp`oZquRNInb2j>4CHt8~pPJDoG$O$JK8TlThAD+TajQ_x4i}k|-@0|{UorA(e0X>` z5Z!8>{qA(CC3~McI0VRICZ{!Cs!H-1^qEr8c#W>|3T4@SnmESh$4jkc?LO8 zdSZe^Yc>Hb^1mZYoE;tRV72;ENuzAUiBW*YyJGnF9({QB=s#zIJ8072kz;>UT_;vY zn~tu7cQn8)gzPc$8*3&5hOP?ykBGqSi-v!H@}I*6{{LTJ`N9Xc4kjljC$wp=cr(<> zTR_TBV$DV(40Rq-Sj80J70Vkd+V*l0M9VDGH zW+$hcm1bK-|F+X5-EkJHvMMqiJ=W8-s(2ml?RvsRzuM2o^XF47jVGKky320-5M4g5 zOK|92Ej3#`jf7EpMi!OGp44@#lk$J3+$Akm$*?V}sG9J`MB|GVespSc$MKeWeUtFc zKOOda25kcI@a?|YB5vis&m=w`$NGu_sH~vbG6!gW@|P`~F5p>8;~4)N02WO-A1{-< zf+Y-3^^bfipdn(Btp91Q|A@>FB&L=5Z(^(IK#vzT+7wbeh1m9d=dg&mW22Yl>lkZq zz$z^xqhqXVk7{ab&B0C4?EhG$%+9Yhm|?e#r4w-*53dpQx*)G=gBZo}ZNEzo3i zL4GFeNo1nWQ;>9m_zH~vJ>`zJlu}V%AkBpX7o3T+5OJyYar-qg$MciGAFQ$0f`ZJJ z3vHD7n#(00{AD)$Lu2Ru2Vv}5@m`k(hpFoV~HZAh;au&zS zo1*NX=7rMmyQ~lGcQO*Gzi~&mPt+=eGN#-^spS$^YC8)bQk` z-B%|*Rh{33gtAw-dV4bPuLtLFK5!;}{W)w;`MB-+^4H0#0<41A92tIrKCB8}tFK;Z zS9CEBr$jD&>Odk3nwuPpK&!2++5W}T*#%=&Gkj9hA2F#4H0bt5ZlcJKK?jFvJdk=T{ZeS5+URfOF#~`b>8@Z~UuU(wPLy6m21rKP2t+nS}H4tF>Eaau-Qs_q8tDY z)w}tN#@kstq*Yt$wmSzU>b1q05MtBPhHbah)IWRnj6Liy&QoezaWMnES1I4HKDTr5 z^3hv35tFiwhnbbxugKlwqrR-vetx)5_*epS6%}0Q2dilEQP^tY5z<-!m15uO2@_Qe0 zZ2Bx(si1Gt5_hC1B$WK@U$ ze@7PHoMx@{uIpuIGwWRrJjCVYK(NT3FP24T5KAQ9vYzAy4L<9$`GSI@BRgd56&!&O znw!Z|KKc{TzS-&Nm-0au{JcORvVoZcj==1^yuO>p@d*hat$&{taXQMumPJE@cl6$f zMr*d^4N`sUdDS08CiSJ2SsFI#WsXH#YpED0PcxII`a&^{({<96p8eX7er-v$TtHu$ zHb(ZoQ_q5$GBQIg-KtT6VK1J46jxijUwquVGNe9XeY>pK?tw++~ePYFH`_R2uu0h`;Of+SymsPj2p*F@?6hQHaY>xFUk4Coj*aL4$OizXCuH6|wf&$xBbNX&LtA zP_}9^ejUu!$)K%!$$%tUFjIOrk{XH7IGU()|0BR8bt1X>AJl`0FS21GI^(?_O>D8Z z^W>rP*gL$RX%e8XSJbyFuRDD$AaEPRDUkJ+1rp4jq?i9_FyR8t2XnhO#2h2Dxm2a` zU;ITrF!QB!>FZl+?jzut10aZaMjZTkvWnem-$G;To6oOc1vurpR5<|qu*=WYTKY6l zN6}XneO&pLZ+q{iqrtjid%y*;bz}HwQ`XP$mHx*o#^~f81+iM(+?2lQrw`elW!+p? z;z)$|G=pN&V55+C5qqYU7o>pwJGp|VS!hF9c(2TJ~MPG9D zV)qj^4p#aJGbMfB{Good)7Q+^>!4g{AO<-!2E#p3AZnU!>hv(`Q7WuXG~;U#6+51< zGY9UBExFB5tKq7KfkE@_$(TIj{_jn)PgctZ+S?<+HVm}{3WA7;czHM$@6MgZ2ZW50 zgX)X-I{bdg<;wmJ48+lD;PHgV8{2sG!}fbJ(2cxb8#0Fs*x;NT8P&;xU41Ee8{BR^ zNm-RN)}s&UYzDOMe1kf{ej9-!cjc%GqJ%W&GbXN_Ew& zTOhrJ*6D+VMGu-HI6naiLFqaN`6YCX%fq=(5TL(g1=mxx19)dO zayB<|5pGdX{oMWf>NUtO3(PS4BqPV}w*Of?=^hj8h#?Of!4`SFMma_s6mJEd%qX;IdKcb_M{(!sZQCsAw>`m2VFO};(v@KbT|!9?NDP#I~t zT=C`&UrJbE^-Tuc-?+kGg7A7jC`Kk&OD7piFf44qL@QSvH9$8(5CEQj5trLwt+d*l zIOhOiEu5+~Ksp#+)kuvoF_`YZ8(RL_ZBa*8=a2MUfbHU~LH~>^BU6(gBYKlYJF^nl zdUT5zT!C6BS-FMa8#8sV2N&N}Ev&-u08M3qBIbYX%&*erQGv^6LC1Vh7uXuCuWL|WX3wykVUW}|;-8@& zn^)$Q7tYZvEM>MeqFl&qmu9I~=5+GNPxxBY2`hBZ;7G9K6(L+Jvp8n9H9~t0j6%Fh zX~Oy?l+=Fkv=OKnSUu%2E`}Dj$4mAfZqJ}0Gr4j*+u4qEU8bt4ukvvE#KjrGJ-}?< zbDy7~98Qc6(YJ`X9tJdj^Ylc?Lm>zhCCmf+Y}Qr90VpUP>!6Sq+W z@jQ@g^NfpYW+es7AtcNY^#MCOI~3>Ra*E=`W&M3ZF1#r1pj_!AH^4OF6@`l=vHX8YGT#kPhdjGRbmDS2gg4hs5l z-hzM?0Wisu4GAp9(xY6lSB-MbG+#E_*f^;78&!Jm?N3P`S$}sKUy5-M8U*XfgW18) z9Z~7eTpkySK+^JLK;+~T3u>-N&GS4XY_S@br-ciz?zJLA z>3d~e(u?7+hX$k#(uDVYkf6@i)(3DEBKBO(`#(>tQKo7A-%!1@;rq3{z2Ja~<2vqd z91wJeO`Mgq@O*Q!^=nd*@~@;85ebFgO$xom^1t_>a*NjqjPR^{JxOx%@;O`}xV)3T zg?!K7>ec#%Kb} zv!0ZaMmE2CB6NwOJ<&2XQO*N;n08olhzE@Nj8CK@ACi$pST4>StyM-dgThWw5R0R` zrR6&buVc1BZzBaoo#oaPm?#awo6h#KiCoBePURzyhs)XLHswP7-BsD0CxSk@r@_&d z2gbB;5Sb2D&g5Wy?DuoP{SFzn6mfz1@=Grcrzfm}yZB(x{ zW@I*Y%}LdmsX*QMPPX9gmoOvv-Y}s*(=2Q>-y(gj;Kg`JVTRcJKte)%(4V5;SBk%W zC;Od5OU<>$lD2!QWuc+{$$VMqFluqOnw&Gbb1`D~xGlK>W+NR=52S}vHuf8`K|b{C zWb|bKOQO{FI*0O4VTz+MmR5wu)Nc)Tle6z%zRUsw|Ffv5HopT2qADxS=JMj4QmkUN7efD`T5SLi=yhytJB@l;W=H)1vyN3!{d1nLQpU< zWe*3)Oi4=*x(33j3YIkq1 z4Ug!V;SmXCVA!c7HPgEpW7DyLMTlF26SD`ffAmhIS{n2Zqgu*WjK|yVIK4)T5B<87 zPLW46ib9i&gI^gZ?L2$28v;7@Y`sqU*-gOdAv-aQ-8}t}3tNi8bgW2|8Fi*FIe>C; zZa~r5ad$w%IL+i|^Bk~U%#YuvFd5{BhZ8QkU<)_Yt?9J^wK zg5)kQ>!83O89Bvo-uY}_vGU$UyPr4$Gwwt5yzb`{kDbETH)&V&_<4BCA;Y>&J!?pD zVPV1D!vl{BFE#qBN=6mjO%$K48v<#3;^*|5L2$XrX!<=h&?sNf@~0oDrfjFS@?i)Y0}%oTYH0|O&q6*L&0US4T$qv47H z<9b|te819rhfLc`-1kMn1l4>9QZpfNV!BeQE7K&ZT1sI|DBpdh`37Gm`D&nq^@l7S z%O?jWq3N0=`hn?71B3W_lczX6N+vBj@*nZ{S;IaO9~eHCm+y~WRle!g z%<%LzS@i=(V_{f+&}HSb??Qn%0|vMJ4uxd7vZI+F$oxOR0F<;Iv9kVxZ9TgQ5**#e zk#VhshIKGPY4PYmHoSNUWA#xf7~%c={OTGTSzri|l64r%;xJ-?hfw2e{KoYk3w!gI z604tO9Ol z98^`HSek}xWeO=-%Vc*=-loXW!s9KsN+=nYhmu)Xba|xY_Anaei?IL1u#+w*CCiDz zkeuSs0DhPS0A=J9>fvq%+_n~G^Erm|76BIJ6Rd+0_V)Nn>A1iqu8+FESabVGiCkx^ zh6^L5z(DRUb|MY+ApTLZItRKD1_v~NofFiX7YBuvp+toR1q~x52b6dB!O3b4;eap5 zV&u0n6T(pPJ+_lpQ24hblNrae-#!Ws8?WDgIfg|$v1;1YB78|HZ|5Omu#V{UVw5qbA`q#*ntQ z)nC8#i|tn_)zl^$bn-r<^s6I94M{0UFoj|QF_h9zt6cGYpYkMCu`9QIyqr(Si&s-P=wYI)aS3(I+)x$}bXiyY?1&dt- zC@#*c%kO{T!xnPH;U4th^DiMto?E*xB)i-!eqob_^(0RHoJHdw$IOMkuL-)wMKdik z@A~$ViQ<9(cI)dFi?+>MMv^m`*To}Gh{S?3=Day@@7c~V(sxMMoqOvneI6|?K0D2I zx$-k0vc0>AoYvln>gzEY5ihP@nowruOn?+0sM7tX$p!!Xr1|DK+!{y|Ot@B?;H}QY zX2C_HP~lc5`pUt9D;whg)m=kbK!AeW-B*A*&|;ymm$DRNGSFf9F6g+m`$so-rcYg5 zk{}stNdschYuGDw zndj-vFE%a}XC1ERIdnv~>`?bq@EB~bRfa)Q7*itg1OJ%T`5VyM8AZ|r;0HNCv{HDw zSh8H$+?BjvD)juB!6E5`4T4`K6I1io_SGO(gwnH@G@;#nr6SsB(_c6Z!FzI2P?qWe zCl}$?ei!UJVok4v$uHq_SK@iN#95@nxg;ZnOxXqlJ6Ifo%I|G#gvsr z>{zs3I?Dw7ohAgJ=;=2{h{-X5^n9d=D*vRreCk9U{0!nd#(d!J#xyoDd6O&$3Pz}! z9Ll3$tQA}u5Fi6RhiIN}9A|7JJL>Hhe>}vZpAcM}eX{Puyg-4-v)pRFBv}5to-gVB#ZvwO?_3{-91dCh6(PEA zO)@}8JJ_Te$FX8=L8J{bX~4IX@DRlIkx=M2j(ek@<3y+b{qf84f4Q?S7%))A^T!Vs z$F!`hpU9}6Qb!vbDUnKvaOcYxsVtFx8H2TWlTqkXshgeB`-tS18(fypJywU&bbZUS z?C=shbooAvySyzIOrIa}G@{f2G#ug!_^ejEk+BG1bQ2c-HarXBH%&-B$L+^~2oxnH zrN~A;I81Zr4=2=}Us6Gd(!Ji?d9=`IiJOo0(=zvG=uPLi!KD1P=O3CC)h0tu$p3xZ zHL(x>!)j&06gp%cO>U#}(KH4`p+f;cId6@2K(F4r)f&T^V}_e!(utOqM#B2?+Q;2l z&buzHtd7PjLz1k!S;l&Emy|$jjS>FX+25~+!vPvcKDlwI(a0d5qhl7C`3#r=Zhw5g z;VNbr*h6A^mq9bgpRRQ{5nUeXA6*erCCh)lL36Eevq>k+e#COmL)aaiSCcl=O#Ixh zQyzK9UY&kpm&S?sdurI(LHdIRgss6SoT>TwdJyn&Iv&t2c1AB2FGitGLGcKpln99O z8GMHv5jg35N(b>=NJ~AeBcx3qV4Zi6z5yyEtL2`rpbwm0UTy~A3`F_9hIth|Vhkv^ zVfc^0`)gyc=9nN>;KzpM_R0g99@BtO*}7Jxpax0I=fnJk6DkoGSoV?7UDLp z9_}X}KBuPHCwk@(x@q&+l8z=C|6VCGbsU>#BFnM9D$hHP@A~trZLW9@v+J7bdW58z zQopsr6ZUQzqgOSq-dpM_xqj}*s@Gh4D#8=_RrK)_t1QwxomPTK#_83?w$7F9CoJ0^ zWOom0G{(YMBlfs~4gs(p(nE%)kc<<6*4q#P)0wMtkh`O2DEUrrgLMP+32@7nWgQ98 z#~VoxHx-2hiOm(!=NT-kEQT01o%1Ne3V@rI&p!m^-}oJ|AljE?e()~6hKL?`L=gL* z4Wk*MtwMom4uqg;g;5M3e6T#;(SfY72Dq}2iv$6zF*zNbx9x^nHuuY~zKxjiFJhcZ`V~9g^O5 zI)V>7eU@DX$TVA)ZW*hyM8Uhj-^U4lqbOIt+}GiRH%uDb!Tke6R$5N5Z^RC4N5S-Q^Y}Xw>!j*VvWq_J=SPR;x{_-xC5NxfvvSd^MwA-<;GJgg@0#a1)r4|P z@=2Q!Mw!}t%-!WdD5;{Y7DOcEXR;v5OB}Q3dzsFhM6N}f@H8jqzC)Z@)@D8%dY7xE z`Yf}3#Z5-@B0S4lRte157yk&IVVjkVO;h?-si7D7z9RAC_KRolR!~7>B=4LA-E4KvFAmt%V z+ROwTrp7$D_wNfB8`DBi2F&C7494g_CYLvaD6&;y{dDG70U!wvHyN?_sc+A>KzrYcdLe1Np zT>LSQK1#(K7a>uBtANMGeVDK{-Sfm?VOc{axIFT1@z{+(QJ?b29!2^9rRlk(SM)4S zm-f#t2&Ax0+933BkUPrl$52E&;hB0Uhe@#j_LgmY`I*)5ykB2`v;oSEf02XihA-n z!Pt$kuD*KdV2{)=?@@o@$`q7`r@D6#6C?-5qn0Sx3f$=Xrk?}cmU9m`=iaR5BH)O> ze?O$t#5NNeWeBJ;RB>HhTN|5V1Kmh|!%L@GT#fEOuaV6qq`L*|fLAV8>&8k&rQ)-BA|zlgi7El0-)1U$W_4@P}(XLa6j z3e_R|0V1?>a&yhCtkMq0^3|hfCc`Dc%XppS5{JM$sH>^n_}eY=^Az``{OvOKR6NOB z)Hdto0y^x0`oDw1;t+L;2`KLF}BjuD3atXK$NgN z8H>Mu9v0H~=#)3f?unF8@U8sQyp>pfIr-(#2Lqqs%1*o3OWF=8W+z%tzkYp3=Q7*s zy{|4KbKU0QNxry~4u%;WL0#AHAeGh@jsrFe6}*q(oH?7qT&`12)s>zT2JZYeN0f(F8!I~yeDoF1|t8$+H8zah? z$A$}wz4w={ZH&4$$8w`=&GaFN*4r>}NP~*?Xpq3U>(;YxkN>0SOnFNK(G@Uw6oH9C zkUqdDn*mG+M34Od#Dodb_yShdoc7-Wl`RBprpyqiX~9tZLo#s|Mm{#|OigJ(N~*b~ zWo>IKqoq^~ z%cAAd`sQoj47E5NeXqf$IC(EjgLhg%`qn>S@qCcZ{<}xsVrr`>jT&cs%m( z@&HkV{z!_3ZRnZ<{x=#|%Bfsh+K*;A9)LTWdz4J2szueB%4AGlH<(s^mqqRVdA4F|=dDD!^_WR)VI{{hzWv_yy#`5>khe>d!>E8> zzyr{3^D;A-RVcs80Y@c&pN|tkN5i~t0iU*WPdX$AF|=Dya)VJ4;004VgrN?$ znJXnD6`&lM96VTfP1Q$ojD1(R3nkr;9V_=5PNqk?xTSsX7H2)BS#y*EO7UryWg*A^ z2&!X!T5Bj2gt+goL*v};>k+6EZIDnoy+m;MU+34Q|D0cE9;>UXN|3At))qilE<}Oq z0%K_g4_jkhT^_mozw-{`uKce|J4UL2W{4NATwgIl?bH0-l!4Gh;^bcb^1s|WkBR>C z9oJ5oAnpN90zQ=4CEF4R`y*o1a2XpfVT1%*s)rBxQD%HOV`FOH?r?9Fl>g&L&xo%h zZvMRP{*|0rKO{r%PgMw1(~=Bd=F1JOb<`6GqZjrsAYRHR`KK4C{D)2rHP)^ zoc!P1KH~=k_wz48LNYdho}hjX<*(9hy$!g9iL^TODPZ7Q$76Q_0VY*5)akPIvI$2g z<8kv(>pFd;u$58PuujrsJef@(pHtGoAu|k!lc*_dzs(Mw@bcm24e4gKpMqg1<7HNyt z_cC|m6P_^-)AN%cANA6^yGx)3mQ9TJvEcwl+T8qnOaeE7{2uHVU%q|ILOXyB0w`0@ zm$rt5BRtqYz()p47qWWZtb~>xrAx6AI4Ak8n{<}~zXz2kVf?$sGPgC?x%79HUcOvg zfha|gh%G>ERbfT`Kg5AxiLw0hmxy%UTes%NS}J!ui_k6UXrUGTc4ifdI_|sc2wl8MN)56E~rz84yTlmTS5E&VzYSbjSQg3nBdF+?I@t&BzQ0eOvlnPrlGqtF*ehW@%$V^%n3o~7SqWkkp&)Vo_yEnfH)f59gi>cr*c;3vJS)_&%HY||LrU-Y^XDNa zsumNp1tH!rT0DdVU-*cvX3ehw;FAx09mJWPr%0)mBo7*k=TVwz!J?&Ubx;!ztG zH@8vG%yaGnU=b=$L2=*8gedqW`J;#QAxR9rq3pvk0_P?Wa7WtI5yu5L+k?U%Ie+S_ z*lf*yR|Gki24+qF4l^lQFRl5bZF-q}Rk&e?PvHdx)>J=9rG*vS`A1>}^Csg_Z3Kdv zvF5RyvqGc2zlVc+7xNC77jD4#t(d*YY%OE|@#wJ6nIb622@F_m_T@iHgM&JKywpi< z^@RWK4Z{ro8DuXDwrurkuT*aC=49vl`VBtr%9W5kyug7y=7V_mUs`~v*`3Qa2IHSj z`NQ+)#!slCJDw;0AcWig7k!=w{!bMoDbMyzQy!&=o*AwA`bFG8>|4{hb}|Vbi#}JXQGl9 zM)~vi1Oz5#p5CuPVTUwTDZdaMF_nyIrF?7h_?NIP=7B|W$J7xD_-?MtRnFSZEQt%8 z-akiXd?Aa$mzX~TpIn8LePHKslAvoM`*L>29}l?vC8F{gDCf}di$5A=Gu#ufoQu4*oT9cBO_saXL#Vy9^5m8T1!hr|dkWTowIU!l_idkSyl-Piq(D7c zHsh(^?%y@~76is%-i2p;2^iG8yc>dof&TBmrpoVot-*kVpt*3pai_b zu!=8e!3Yi8)h1-gbwM;WRMK9q0R*ER^1du=Y~I189}>iW5g+%i?7&_N>4h5U!}A<^WR!K+(nbmMpqMd!!U zH>H0axy(axe8k22*iLucIgV?HL@!HKwN+{RtzeOxz_%hPF7(0?&a!D;Z~HfMyJ(!J z>FHYI!Mz2$wija+?HP+)cs^G%UY^ePeavk;u)#kaL*`ar+YwH_^2^awfg%vMcdz2i zMW4%5wX|yQq0Vl2kPKrTz5$T(VM}95Jb(lH02&k?kJswr`i% z43PuxkkO<)WeS?(ET^fJ z(I0tvEH|w#j20sah=W(`mKOX}G9S&)T+n&bR#z7gOdm4^^+ydn(ImXlYok^16%|;J z0fU9*yz!z{VeZ!4b>JZE%_cdbjm_7g`O7^=I(46&Ia(}4#-|YyqQx2|qo7fIdQfw= zxjC!jTyJH$py^0a{0r6RWBzrI8jY5F63M`PEF522SMS~YsPWY|m#^f!MZJZpoX~vp z6sip%Kyfxi(~kA+?9-nKE;)S5x-tkF_Ac+T(F#@_K)#^uAn-XL)GEE(3ycDP&$1E04N=kz~ z`^)t>c(*Q|$4?OHP5MpFZPK$?Zkni8@p{tjgqntK#^G4ntnW3}WRWTFNb&k>cxcH| zG57iT`yDbIuTWrNJKYNq;dWhMTkIgc;kvil?cG-(2ZtPlcqfPu5@BAz%IZ}JP3_K% z5QKthGDM+@FY+k?yuX2?%gbLOzw&A3(>E_YC|~RA=*Xr=y`td;4M13+W9g{1z&uBHtIHP+ z!cJ8*j<$JnLYkV{sS(W%+BrccQ{OiT5q4T%YBqa|JGGv zt%iOqTW5@o-~|*48*dixscAYB37J;Y<)JurLMK~J9|;2c-r)c^NV~^+Ke&Bp=eFN` z6z6^dw+{esrJFL0`f<9-5)T%wITO7klZE2mgz{r_mlzcPP_`Xm!qes1U>dG9+mkYZ zX31yiHrQ&awDtC;CPD~pnD0i0P&3fXJ>PQtc=77n{SAKvS9wWSZoJ{Qkkb>KdqJc# zG1Jq8o9lO9%k-H4p-m6vG(YD{I!xM0&S64DqR1HEJ*GWy#oEG>qe2}uF&@*c)9@qM z$!q2()NiB( zT^}TX+a&0CntR8l0V1Z-6ci zd0bf};p6(`c7ks{CCi|m04hNrTE!B(9ivQVD;tY?vVN z4Cf^U*zHRs2RRU*dpo5ta33p!4jtU|{>?_!y;tz@bumG8lhrZ*6VroOPYJ8cpy1&9 zA+6_p&MHP5pc6fm$Cd`P4<-{8B*_=8I$P$gVAO0XntIqWk}cJJlv-%OrUC+?mwF16 zasCmQ8EpC!-p|1X!oGBFIQ6jcT1{xv)4JxCa`H3DZAvvSc&Ny6e7@(?qVoAweB#Vr zh3WqT%e$h#$9~{wnWnuk7{y0!r-$_{U4Z9>+6?SVjR7G+>X?nX6B2te%^Z|1g_g;RF`8j`vGSqXIbiEHy-HuW$k6v)Hwii( zDMghJg+HAX(qs%rIB}eXx+LSi%N$%I>w8a$NRvsW3x7ua56^pYY^aB58SitzHxZH7 zy=6Gr$A3g{4}Hjv8f#7j!f_7$Iic0{aA$GDU+50kHSC)CR>O+Z1{S;ZETlar)Ebo8 zt#thK$c8AhmZjdu&21HuphkPbz)>MRS#Hmnn);c{t+)f=iDJiA$3}-_c^udoL2}%YAH7>u1bh4NA_2Ak0 z0An*`iu%76uYR{UZ&>2AMl;bKPPSf|WVgmE1D$-ulcaiCR1Z%YApgX0AcK2p>GMO$ z&CSiui0KwM*sPaX&oh3xB8- zAU6A|gpK1Y&&uFC<0!J~>Fdd0HkszqX!ZBW5##{4ZoGYW4*=J#-czyLJH~QfAn7jb zwbQG+tw_xo7fN=b7`>~Xw$Tq)UQvoHnmrGlJ|-)Dd49*}*_-U!V*`Ko=?^|LBh_62 zQ{F_QS*cq)JM|%_1>n37aNX%s!T_(pG75np5Ci}aF+vjJ$jd{jv8}7GKfAD?U>>pK ztNI=y>$^cJh`CY1;N|Y=scnZ*kX4@^reBa+Keb)|)3NGN-c%AT3Zi_0dh zK`V|xy3kLQJc8E|Q>!Fy{|~o8wd!0!sBl`p(3E~=s7L8Udzrq`u13`8WdkF1;N+94 z^+S-w4WXTLaPiDjYi&q_kl|EvJEd=$DP zy>MeQ&UDm{?sSx_fyF~jvUk${R!1x6iT9hysuRSeOKfc_ImP+H{V7h#4ZOwa>qiPG zdXx28`ki*w;x40f&P$~*V_l)3n6tVd5zaBa+;809n5DO|z0P{8Gy24Lmz*chq+V66 zz2uh{VYSuqkhJ&c1tEs`a8|+{C;q`~&APg}USdRBX0BsfyDF#U*$E>}u*=_d{s>AM zAR9XuDu@I?b^zEU=4Jp|Z~*jP`I6Q{pj8_x+zBL9OqjB%>(E71Znx%>pAUK^j5{uj zNgE4fA>ir?Xa7tj3f~CcMHb-KLFNH2SV#)L#z)4ghllB00Y?*lQ4~mBb03Us!eWCp zWJX7EeYMeN&@RszNyFePpCZ@KN*F^v8V1}V)4Lf(FcIW#_n&J(Oa)-8Y#o237%p18 zpPyu-?_%J5S~z_kJ_%GOd7n$eoO4YRrqWZGF!*(`fWY&Z99uSYfzIib$`!|noyo@c z(e$uTF9Lr3`xUj01(HG|s@wY?f_<@c?5l#nPG@w*C`RtOKtCxK^VEE`@3XSUX%v4> zZt!)`;ffaAD%ecdcuQLODEc?6@{=HzJF9^{#B=&tPK014#2k}QWWnLUfU#miWQHC9 z*pPMJTa83wdTB9z9bj_>2wS5D6cx}3^AS49FwhC>5@W1<@$~7_sM+1DflO8O zYJTU|LWKDi6cXGIXeQ>exQD4ffZngHLX)B6{6J!~%tT`IAoEgUCV(iGXgy}oi7>O2 zfbA32q3VspJbz}|SmcjIU|%S5Z{Li6@7srtHAq$X(e>Db9NURqr~mjF{;n}xuff`1 zSc}F?au6IC^nVr;lDAGog|~EeHVzayEqsupsc(4o((S{=kVgzp0{ai-=eCvw7Y*4` zD6|gX)!+tAh|6}j=bWL@#R0the$-f1yC=mlIS|QkqY7i5b^Q5Lkm<5`P)G=r+(I7Y zSe5Cervk4vQDsri5wnfoaxG^SAI&?t-hz}r$)~PRuhJ38{qpVeU)aUUMCHzUAKBy;;B=tYhW~d` z*WjN#+}x1V>#wqyE=Pm0V?&7+0E;4-xj-C?8W^N(+9Q$3e4RBEv-RvQ6n-&Bvx1cU zk$5NwT1Q60AzdAiEfNkBCHFl}Ta!f<-EX@C$J_PiS@r9_OeuW2x*IQ={n%o^+L!f7 zv711LgXI2`Uac}2O5IuE_*^-torWG!*jZFueE%Znzv`S!xDkwJ4(DjY0taNvr}*A^g!Z3zzrVZzE1ihwq3`y#oQa8C;W8r)P0es=E^~HFvvrBX z2k>3Y9v)>>f$C*uX<9q-M3F*FkQ1Yxc_0iiZAkR`SZN)I(|yJ4=`FYBL>@_m|Aw-O z1`uzGTjVUA1puL9e8Gh@&tY@sqB|1b|8>f(F89mZnlbyvShC3i zjXjC9jPFG_PbMN%6*-)3nG&DuE-OdU7)sw7rucYtK z_4)w`_-_A;|C2e~w{Lez(TDx|y$#u+q})+Kw3E-?KBNRq-w^iEIUx%skc?ih6TTlL z%8ed13>bG`AE|J}?$zh(R5i~|%E<5;8p7UQ7p$3Cd?Tx%aC@}at#Ngjkuvwkz1+OF zD|?f~_HQc&{U3N*SXxf|at2GwE5Ec9Vb;vhG?rHNyxMT%Hb?kv0Rfkt`9qb)Z1wWb z$(}^C3YG3^H1kt&?hP)k(5<4i+-I1fba49y72GsC{RB@DPeG=7a)^`bQm+b45LQRK z$YVly%d21;4NroGi( zdK^fQ2Z|<&Fgz7&o@d#1@)~wBHIaj@5EeeGVtA3df`VQi*=*gLRFfyv-6}R&kUKgu z(ms>RIQluao3)Df-l?8Z~OzQUDzVHQ}sBiG9K||Z^&o*?s zO7`c1|4jERdVLlY)FR)z=(p`uIXp$tN4{Ua@(k;xR+FkCk(j#?!HAtY9scQu=`jA+ zkVwk8f3fdC`RPe#W<|xSf5BO7=gzYj&;LdR{)%bWX+8Jkc(0|Yq>X505JLn0ql*6h zpKpQW{V!xP+*`m6viXkzJiZKlMVL0DbmMU{;mdxV5IKOcCmkH{qq3CfU~R+W29~O8 zqxqv3aEAkz!n*_+2)nzx;Br0oFQ(P| zk1DpNKn0_i)bj(fbZbD>Tw7mXUncs8TLj0+=?4Ya+#nEeBudE)@QFO39V7y(ZEW4UZdo!d@l1z3ow2Z>MilQ}hw0_UlSA#%o zVqEHsc}00=lTyb~&+c4uXBb6mHp7_*a5bTU!=s~UXsm>`UgtA%qQ5VJe~Hb~4WJG& z(-#<4BBP=#?d%$wn=eBgd!kqf-N^54H!sA$&RYUHh>wSq)zQ^lOaMMSUZ{x`aa8|M z**eH}Z1u!RH>MtP)#tOz!bu0$tUFWydNzG`h$s zgfEB&x6VU-NI3NT?w;~8{FNp=kd~48sFK+L8AEW-ob`i7EI4Rkj0XxaN_Zkm3F~kE zGt%<^UvgWHwrD5YSB#N&@FC#ElpFX&bX_OWAF@B~`(3+imPPa1r6z7ZrJo*YHukSL z!k85WYLJ}?s6dRy7G^|`XT8hPooCf~tN6;J;L)bdBMeHs^6Gk~OO*1)bMp%R)fJOj z3ee(&_%qq}BC z6B@)mssW$vPp;tMQ9+R=NU=B^%%BbrK6l64y;1-)u|T9QT&85!*&+2U0VH&=3c&!Z zO$Q20WE2AZo0k_`o^em+ zWORnxyvB2jW%INo%_E~oH$nIoP2PI}_KU!7@*xOQW_@I*b2t|DM-*SobI^pl8Fo7d z`%SIjc6_Xw;neFGo$KQo?`9pI8`| zaiK<#^Z2WK6g%&L2O9X@C%2N;9nTIrEJli~Qv3Cxk=iL_Y`_M_MS-JLR?Nr<9a>7p zj>X(y%W8xgxQqsYHr>8=b!*ut`n=uF+`$DwtZQBM?x2#kuql|{IU9_DUv8M9l-5Jjj91lO zx9h&Jpar2W7q?Pxo(JL4EW_YY< z;e36H?7y@CHkhCLro=Aw)8?Sz~`&vEijrRz>5#@EnnD;2Z*tq;Ti&3TkyqP zc|&_mPFnj?&+yPtpHZ^Es3d47AL(kKc0pMvvCTs9bMQBM;P@G6ZlT>JATqpFcx9%! z-{4%=oUx^?biTDYE(L?@554HCk8FoWsr_3sVYh+5>^skrdQ0*f%^XYbUX15#_U3jM z$G!tE%XI2haVN_NOKQU-4uKij5X1YXwe%(Wdg4~SBy?B5 z6xkTAUwlfaUxzkCEj69SFPV%)zZmev%FOd`s0EON#6WP~l+xZ&<3+C_W?C+X$MVuOG2mtwzbYEHKXK*&Ay5`imE{EiEik z*sm@Fjt&_(zxw+N2j~j_DU#bJHCY**FK)9@b(_sDiuZVsQE8UFw3xhYV=^n+$dQ$C zI`;(rS$L*Dzl*_(k&`bU?h{qkAm^%+tcz}7L)*l{m$_Sini%O48OnNa?M@?q#kvVp zoDDOx9jGv<4{XT1BQPPO23`wliXNG!o8r&oh6RZnsAsB%pP6K2;y*Ktl7xKOlzgeb zW7;t@46sHg;6;M3kiV#;e8OzK^Iyq)zkmUfrU`0#S9lh37ixi_>IWhXxncD*Xps{K zYeL}s6bfY)iOIM%av4=ZXX-$sJ){>Wz&42htPB%NZC(wdlZJ-IJ3vJL{83sjHLez@ zujY&bcRYB&Y1v5WfjJqzM*iwh9>3do7MOiF?BrHQoV{8^`JwyGV9RD`c;KqbSoX)~ z^fY8b_g?7I3&nTKY&xUZLME{tKzt%c!wrMO_IkGuuoU9U-%sw!RRko*i+PT?s_b-A z(xh*T>g#Nfmv zJ0j)Ix>D7CXV{)9YJQz!CZe;UE6%p};<_L!DvVjtZ$);7>`0=Y_3dE z(=`Y-0$^A8Y5xQ4|Lk4ja@o(x<>TTCg>Hkfv9XOUmbS5SUhAgX+H=0IbnKGz;2;8v z3>zrKHNvhpt-eOyuI}?}x*Ub^_nyU6^7?s~jez8nRPVF4zr;D^ai-b}_SZS(sM-rx zgTJaIt?Am*wzrjq>3UC2W)_UDO_b?|g%?Z6%9>}D-kSObK?gtSa9LJancCXc{hB}c zYZLcnEx8I(5ZrB9bP>>xaQ9i~zA{ZIa7Q4z^S!|I?_Ipd=!}6wAJL^>L(}9+&#q<)SZjk*+? z>spC}hx*p~|^z3EelF#P#6wcc^lCyiP%bHQGyIxC3 z;!$9{*1A!0X^f3V#!tOq0vVSR8Fw<8x8b3Ucem^F1Ige3fB$Fi-X*jb{`heN{n=zrRVmTSJHwlBufg*sG)7x}P7-GArIhEhx0Sn8I?QNUn zkqf~OYlv`LAWpjZL*2pl>WyFTC$v|`kk?b@2!$O%)F=`_~fRk*pn&jAlJv!w{Db(a7=5wl|+&qWs-1f%P8q zRYE-O4U_Y(iNM*hHIxryOeyp8!B0aWfEGkZzd^ZzN=;QH6?EfEOiYAA^l!g@JzrVP zX!Yd7Bnt!HyU-b9?%FUu9tG958&mECpilnNEXUir1bI~2pn8@pd~l$3)wSI7hZR>y zD5_A5yOHWeo~7!=%K^c;tD`~=4t*WsE?Up+C1W6CHIPvxw7{pp=eh9+xzI?yTPyX& zNi=u*fXXh*@#5BrPju0bKzGMBCmq)KDN>an3qp)jWO$TpK0h*AJzVjuGn8tn0f40yJV7C$Hx%D94kee*KwOQ$DFpJ zk}eM`Wj3kZWi&T&p9@tGpLGrTL{)v|X2qH6Zwq3O zruSMSX=pl9*l4=4;&3qhEG4ke+$(u}G^$u&OadPF9e!mptwPSEa2C5|Qf|i!JJJo^6>}>w=;yBB}N--t|2HcC^G+V^hO>EOv!85=L z)pp6KTbKosDa3r5PGlm$A|95%`KtfrCCX3x*`ww9N9_C*cL#oMMnonIYL2t~ZiS0C zZ1)_kG@6d{x8R9|vgnG&cMkUT!FbFRChh`4WC))gikwLw1k`J1|L~BfseS-#kzufr zRz6IU(B@FxJt?=6DsOFRNtdR%^>}&N2r8>0*lv@)H6P>2bJ{Ti zq7oQotL0PpA>pL5m7CJ3tg)8zadH|*HzHQJ?L>5lLf5eB^!!q5r@XXux9xD%EHWxRJ-v5bo-`j^et>IT z!o~eHIy&lvYXRCMAV}vH7G~z>J&^Bbv5&(=cM+J6qS4l3gtcQQV@5*3XhbYCGY&r;c|KJ1%Zl$_KM9K3#i0 z=0b&dg8BMUj^-8&2NG^sD6i~)fA&Sy{SMZB_`|<{6P6LZ_}~5J)BZTb{RPCtAmh_1 zNiAl6UzUvKbBs^#rh+!;grua2KSpZydih~s`WcQ)pvU|G%gWb?oa=Fvagys%RHwXh zknH-5a$sGx(8%|><=W%@%aorCc%md5;TpP{1TLjbKz*jy)=aJW`B!eh`hSs}om*b(hPyKK$jD)Q>c>4QO}Ra#q_ z-Lci@uPuj<{dq`bB?^t!q*2HP=Lln5kB<;Y1eKA_>Meg?nG|qXAui&0T*Cx3hoD!{ z`Q~L0^3POVt>X(!hJQ3hJKR7>b?UW+^Lxg|P8qkL71mkdeX4|nX!P!=`KZLvv?m3z zfD0F7^>Pf7;jTsrB+n;Dh0Uqc>FgvCmXxTSc=Bpy3%+Xczf*45``9MlHl-8uOu@b} z-NK~_N!VaPJqAK(FmMkNfRyvziMTI;4jOI=JV7B~17W%s2F4?>nSx7NVmoOr{P{Qg`4s0!nUl zmk`0Z90)ykJK0f;24CexG{g|h0)aCPb14K6e+~~Pjdolhf#FJ^=_pv@m8H z506~1&f2XGeNafB2j20b7U(|*l!rkaK3$7LVUvcBzHR!DAAN)SV4e@X{Ai0&VPj#^ zjz#A=!EL&Umri<=^w@lk$5jG&K86>bI=*CIDNaJ4G_VCS;A%J-U86tY5396bP0lM= z6^v{Qmw3G2nNIBIT}oyoP>PW@jRzHaUR6{Q74+7RjB_&x)t!WbhrE8*f-qyRVbR zN69^~tkA9d7RoFlI98YNcW2g0FQ3QZIHlCXh!jOde}Y}icfy#B6olObf~Wfr;Ho!f zKk4d2%=~Mb6+ANaT1-q}!W$_vHLf%>9~+3GR{;tUuFy;4<(!~5L4X{YoBZ|pk~eP} z;u*6V4cNAZTwVW+_vd|_f(4nO{^>=IW zJrKHpXlKB^k6QPVHlJEedw@SdL`W$1;)Qcsdb*{2d7fUo{d?U~Gd~U2jjgTwCv%r~ z*QIjR2=L=wk4El^&X*Bxnl!W*!79^tHYJvKgB{a_73;= zSs-F^jGu2Py(?)%4#&&TkG-%EG^LSC5Cb?Wy=WVVU<(!i8VPgpFinF8|J9yAA_%QH{7FaR{DN0*WK?n zpfk6B?q2DrZ-ymRRq-KjYlPt2fGKx#5x;T;>$;snmWb}Az6hO*HgSETe8xUUkkll( zr=+1Kz4nepgPji|a`zev>@Tob`qv9Z}m!K&YJ2X3F-FlEMfLR*Gs zcGclmU{xYkb{p1ofg}QH47j3dG2s@2`FVN7d=5F|R;z{U1}f($Dp^T`dOVKwvKG36 z8@WPMe;rq!wh2z$eW_r_>{nS59aHW4KJ;$f3*o|dbFQ@etuZ)+cURq$lSzp@e%3Pg zcMWm-OE*P5_^DKUK-KO#ZeeTMQN*7d#!^L#*u);`Db#6oG6m|95@-{EM?R04a21i@|2S;$c6XI%bK69((!MVxH?m#8S3&jn ztW;Y8!>zUPasp(TK2{h>a>^4%-Gw&&4D*3Q0%G9J>-Kj-D%G0WXNMQ{Af;F%n;x>+ z#KCVF#+uyR*{XBsPH>&%)`h2?8kMl+ZCAy0|`glDR>_aO}FNb{&eRPr3(ASzA4#&^m(u-EULMhQ9PTh z%Dp4S`zlDIG4`1|iT$E_LUIgL+6FqKqTb2+K^qZl7_hS8`D(Wfl{dAt{Wjs)Jho<3 z+OrTBk8Cj||H-wXnzPy2*$#T&p|$+rXV3V!(S{HW+0@pe)iXzJv!X{L^sKg)?|36V zA(4Ex$-fSgzPy^6zS$kUzC`I}4)%9Ub6u)za?j6~S77_uK%?Wq#Dho969|nRZ`9Pp zt*r7S?$t-bX2$}~DJbr4hj_8fL4X-V!B>S*^uT{G$o+tfF35Uo4_7`N-`m|S3agZt z)ft}b9IrfG7my-g&*iU^h8D5?&z}1hd?z<9V~_erD>rRCTLY*1{aBC3hcpi;=p^2* z>9yimjNBmCW6c_|hyCp`k3(G)*+%yw3mG1+^)O>TVI(8f^hAsbvGm>OHNVEN-BqKA zY<-RKOEpR4B;v%qUU$_$Ufwoum>S|h6kJBnzEhw)TaR((wxRP|jU1_*TMc41dCFUa zYWtZ`@KwE8e`$dGd+@p7s;l^0Z|j%k1de}g9nr17@s` zE>I0QM0SmGLTkq4sJicNro_a(U%&aECPbIiFdlXKGo{e0^Io(Z{PG0vA|dQ@YW<=s zLz`wvwT-IoqDwOt;@qUXYoi6RwxNueFA|{?iSzvfP8V>Tu9M3PA}&oWEs226DgJ~8 zGrM))M23>QU)Ey$H9M-q65e!NHa(0)a4&XB%gMb4KGv|&?;I188B@94`n#juOhlwW zRI{drdQF3`AWvH>ME^%uI-z^Uh@dHbrYjD6ZZ7g{tvzHOe`lecthuQP5o?{?QQ-R} zHa6!yF9diVglJkUv>75?T#mo^u5}*n7+=Q6f56D;2`NiZ&G=YXljWk&34Wrm4{@_1 zZ50*&xE0o9DSFXDzMNx36Mr7b?yAE?dVm_uKG$WSCQ{;her4cvLp8$Xi%%NGm{p&- zXyTP|=k2M)QtOngteK5C_x*#z?qYMgvxCltS1URh%v%RNQklB-1Y%nAUm1<{HE8Zp z*1Em9q1F3&2RbM$An&=%Zmq+#_@&j%Z_BC^lyTa&d}#Y48Ckz;z0hUv{&978_&eq1 zafJ>JFLL7C`>eblqrzjg({-MguHq(D{QL+8xi|9iFM-j)tuHiFw-MZBZlPv_*WSk3zY_2{d_V+uTt-6>hF^x*6b4*a8 z1Xn>+jt0=7kN^vQOcN~LU6q5eP>+Cej_I?8f3a1Nm0M>|$_! z)UEk#<3zp>`P~E6Q=TNj^59|((uStEHSQ4Ax0x$GUi@DS)*6Gyl`BqBl2xbs(HGst zZRh9aAVE{xy4`>cvxk87i7BTj69SF~bSqMVm19H7OVx1 z7#?UC9d)%vrA+eJEw_Pk0@klYt3Zf^=T(2n{^XK`q3|Sy@|pGZPMF;@2RjCq7@ct$ z`>QknZWth;rdQb~q!9F(nz}Z|W(I{t@iHT4*NNGlTzwxp8Qgl{a5Ob-I83|zr~848 z7pmnW=fwS^Rg&HH$;RyJCNJ0LU&!L&I0Nb_ATkouu>GNubvBV?>1RfLyiP31pGuNJ~qDS+~{6{P}Y%@Yef~utF(pJ;Wng*cP7W z2N!d){HLdX>ikf1o5%fV-Tv|E!NMoWZCV?c&#-ITr1=4OIGq;n<$WXA<( z$8ZUM-G4`b{U!%-0*1x?i+Xs(7`VE;^B2Fa1=}b7!+=|1vm6Tg(VhcN6}`&?x4M1> zyuZDxNb3XmZ}?fH)_&}+gHsB3jH0Mg4kwBJR|lh4nq@DF<{C|X86z%~SUXTr(2G&7 zm@sE|=Cw`m`AfepAE?6f^S-zDoFui8;g>_}2@!59=1dVfDxUwL(CJ@rMe+gy))@5j z7L+Q;$ozt|FGzx1fGo;94L?6WeF%ny+;3t60s;uu&1|h;#BqX1l}lIcT)0BwEw4Z! zjWB4-9S@h1mxgj5#Kl2*>8n?Hz$-j<>YRZ=4X|NpYIQCPu9#?ZkEz+jX-4Guv&4?4 zZqK;?V#C|AN;yQs+z$)NW@3q*b<$FGl9}P{LJaKUVy@G}DWgJ$E7bN-D=6?6O@y85c?Y{Y4) z87Vc5qY+RR@1z^rt{35?dDHdQhyy4H5pU?79!VPd^RmS61~Uoii) zwt9ocX#lV#-KEz0D>zRvB}JHMDJbiO{0OiJ?r+PsiksTo+v~N3)(FuSBgv|e3-{2@0CeO<{Jm}dXS-iE$1}9hX=Tv?bIp2IoSuPn&fAADu zYx|A!$Y#+!vDqhd>)~fo!fbxQ-=v5No!8EHoh|v(Iiuz_kDOTz)rd|@T?CCeW2jaN zf|a==Al0cQ#JiEzX~?uJDg6v^lpQL3feKKxRUbJ*MP%|s^gPC zFy8Z0-7>sE?P=X@Ah+*iO#HuK;E+XT@DBqI0I4zf1}vjOos{t(A^QUBGyPeCTxE^21`kkBS{$TwxF(!zA%>+n0}!*nL@;=sJ0 z6=QlLqADZI7YXkEigQ0oO-s8kAOMMrXgP)D5+w`&jSYo;cJpsVDPO9X3nO9|7Z-KX zn0vA(5rEbbv{zI>xJ#+a?$YCd#7cY-Fc0}5o3x5&7~jJOtnTy?$Qei)xA8?aconb#QTOKt zdHbeLFv;g{TjrvZYV^VxYi}PYlFtc6JMl2^U&5HAy6u z9oa<_u?Y4?rnHVY+K2O&-6D=CqDH)hlXvq}Pk&r^Kuw!nq|CyTph@<5J01TOYI6Ha z9mjiJWL+sM&gR&Ilhi(v4Rmf>7Ur`zgHw>0*7C=Ogj7+tlBJ)9D44#A%+%{H1tUHK zLt*xcsx{#g>dfbHHKb4~C@P8zMROcSoFC`eC!ry%@`#_0&tW+=*#XvYDzNOFw=uCz zFy&=T?k)8;qLj)b^~}cr)Epde#-#Z}LSg1)d1)!891{|np@J~5uBe{CKenyYNkg|rxe364-J2{35^MUoe#OOH z{XGV(W9)<0^ear*A-Go#1{=>1_XHXJDxK}nEt(qf83}=v)qT-6`WzAaN5T|LrXzT- z{7AghM}i;qJKT}jWs*H>^$8}U;W$RDUz+!rKFnZ&G-{!!mH;hSojo;SbluZ!X>0hEb z=tOdC&5VUmGtxfZ8M@AJYan{tMK@+`qA~z_d^KEc&pnFw`r3k9wSUZ7V}+$XHWi0? zM4;-jT#~sic$|}DNDgdAwR@TK8bksy1Ihw4U>Lh`uxuv>hp!JOzV^jJ9=0S%pCLV0Wp4_*HR5sMNWb1$X{#JfD_LcD_@SpI z0tUGV{|9$0ExRyB; zeLpW>>CTe2+Y2rF%<(UbWF-kGLgI=p8|m6b<&~sCU5*H{RUP-Z!|;^{uo#Gf zL|?x7KI@*dnp#f&@$W|rxD1P(#z0`D{{0qU>eG#XMA`p)E^JJuO^+3PnRV~1D)b96 zKhR9$#$VR(w|wuC4Ya*AnyJ8T+`Mwi6|^LD-cnFt{SHgnvURg`;>ED9@KLB7aNY-0R%2p}-3J79LY6V2kzJlUw_a*$OKxf?}49T^q zdDfiDvNE#SNb72S!SnRI8TmtY9pL0Q_lRGnpOD&-!287}}b zWX)M>R6@0I_sO0hy0V?!X~HMt+yvvj-_2%)kCNUa&-1*3Hwmn1-%WmY46h z(2Zoge;>=-+#Ivr8n-wD7Z1&Y3ANi$hYJSSs1~v0UUuT|(9HTWdyo)h&Wvjznfj7v_Clt4TU~ti`?U_|~~hO32Q> ztG{aKZQJJDczSv9Rs3aF+Y>j8olq=<;eS52@h;i-9`IgTu7S`U(?WnL9)RSkwkX~Z z$X~KL-nYE#^oJ4wx3JFa>eH40DS=@v0SFIqfzFL%xM#r#^F~&-jR|dh@DB z1b0xP?%6cofC*1+%q!csV{87A{F-fKVs=;?FlHK}^e>AmEaSOUGy77UT7P`zs>%%W zE7nPbWIx87G0czUlWqwY67UPVhcG6-{B2tg=MiY z%i09$$<6N(nhl<p(m5l9$ zfa{pUcKr^q@2k7z*#wp4pAj3q9pVZZ0?%K^675ZnMtxg58IFoy7z6eV74W;OHxK*V z8TlWyy>(QTZTB?_qM(uj(jlUVv~-Gyq7s6DbV_%#X;2VE2@xr25fJI_7E$SP(;>nJ zVbi^dvo^l(?|fr?-x=eaKh86JPysjhzVGW=*IIMUHD^Qfy62A1EoSbq2lFFWz2pc6 z()9_C1;0?>+$iO7IuV%4==&VMy#RWoI%|uX1baQ*iU0-;r05ejp;jXv^gWcUhlXAf z$kYLq2i!4|S4^<6YMj9oKMlJoqrK;1G*#Fsv3WX_K_-H9;C=B2D}|buM-%|$kO4Tb zL-u`kClE=ueLsMnts``GBABEuHUVQ4gkJtYA(al!(;&4>766r6A^;P!C=|Ap(~Om^ z{6BYdbgb%k7T!0aqIoYxAuTI+Tk{&XWz?JG-NOK%Xu2RhgO)5n4SlIfyh`^*v= zKOiyjbzI8pS&TAU|Dv$}d}Hl|@qc?bIO4v<3Yv^pIa=B<5N(1**a?kz zPaw-Iaj#Zb04L<$y?bvH6Kz~3CadZdvj=WDOiIFVAgIWE-u8kCFF5_&JBpDF8CK`6 zO^&=ISV1@Y3TUc5wYvs{w#}0Rfgb7p$OfrakL9*)oUdEw&3@QqtZllWc>S3=;U-<` z`_?lPZ*94p^qt*Q@h*X+)S%$5TZZr0yzQ8Y_PgA|FDy3---nMWM@8$(p{D+h_wM=3 zom9X-i`?%aH5-Uf1bSIT)^+C2nau3pudG*lHdaaT_&j|y4ZQu>{rpzAJnbkI4Cu`$ z4&N~M#%iX7<|6$;pAg=aBUq@`9&y6jdzF~j`Hu_p>_07t#*?E}s2;I114{HDm?Po7 zY}A`30~>Vn_ZwdEPOKL;v@u%C>?b~e0B;HKGH@!O2LUuyC@OP=isDjJl~q*8fPjYg znfm;foZ_>KfLblZ%r2(0RajJYm9LR8M`Rm5`|-k^YhN(5a-OIaaB?8ea%a3Hjb(fC zc?cJ}1D7bL+iJQN>rO@)%SblMe{{h2=%8POgwQcNgm2f#FWz;LCLQD$>ybuWPo7fXAg7_vH_GI+c7V8R^q6pmjBV6GojFJK--F6X0p(zb#DFuy+Sg61ppK?CQ)nBvEDyEen4!`-p1nUzIcPbNp zqm27|^JeZ1)+l9B>l)uKeUe=FuJ4jiJd615=XrVGc9 z`Ep#i1!&Fsj~l5*d^FhYA*4kRI~OM;Bm^>xS{7&+8cWy6#m)0K;4uMQX6x?|VE}Lz zd+R)1Lbg?Nhd`P&Ixa2*6dGE+r7^oQ$K@MWbn+vD9vOZd`b#4+%Nff{s|;`Zdg}G{ zmRUIAmYRdRviaz`Xq4E>+Pvx#he#a-pIRl5kRlYCzP2j8)X2^FW;vqEJza^D0=P3N zDO`#ietSihf@zu()0e3i!uQ*}yzU_j2NIc=zgqGOnE42zHs!Uqo}i5hcYdyII+^VC zp07B12U5fqv=WjVm4|MM{_flk^@3qhvSThhm0xv`v=rWCeWQ`wwWS_M6UjbD>r&90 zwJkdWN&sxJVLbu5aI651M(zcoJUbgFr&|UF;lNf71CWu=?+|Nj`xT-#sLd7`IKVMi zpAZz`A>>kiJn{bmNuPBWwSz@KSb>L#S8vb*GuL@Y3Uc!A-@ji067!m4N2ipg zrb2Hk5=ot}VWV%YrwOj9Njf^>CeKJyd_VCjcQ3ToWfSn5I3xUycW_%|eMEgEQ*nJ; zfLr-^UORuA7FyuNtrA7SJ!{gd%_4*YC zrXN37)kc!vcNHDS))Oe3QuY^=^R~`jbsYHoP|Cf}>*QsNbMTHsM+b`sn}9JY#Q;MXBBKR&ZlWvVO49%y8gNdVS83=hlP`9+?UG)sZUh zz@SGRT03YKNl9x9w%dH^64^bM1)lwkyQZikrz4jxgpOcAYd6kO2CnWWJ+IG#6$r*#MPuw7ziv4msy0l${U#eaL7!(~LU5C45s8h1G;Svs zSK>>O{0mFp9~nJUHt=!bT&HN9cCGkj%oNu_)0=%++u{xFaOLGmgIMjCzBM7gSF)}e z_w%oK{-GC_`^D3&4-hLbqHlSP%K!Yi9Y#xK#p_KE4PV=_3arAsuov$gXb4zM)Cj3% zDYAfEG)NBV3;;|DbdNuwH&Tp1VFm|mU-*FbfzAIxz$XDjtiTYHq#bPrHL>Jc6JBSk z^i<6!N#LWue@_Y0GJ}@-moJ`6XE6x#U$FW1*s$$?gH=8LymYHOT)v|IbF}j7zzVus zmwAN^t~(+nkGN=*UQLNsVy82HIMB?H86+S+Hm{4VF3R|7~H;z z`RTMcQ!xL7*0%~Xk&sw3zZ9ldpss~hZ*ppo0w(a|w4y;fMaaS`5{Vgi3=AIiqs8vFv{71^-5 zny^c3AFmHBZNrEQG?^IxJhPc;d8zn8FlUl{Ad4@N8*{8*ojqX&>|$_}k{lm$A4qQV3bSgE-6{gAg!fz1AUv}Ngr%vz}POsVZ%%|*>T6n?XBXFL=^as%3 zs~^ollTJ-rd*oAbFPZo3uPDfpGx{vC7@pd$<|%mhH#`#P%i*~fGfSdA7f=+ShO1S> z`-0>bUyKkb*Ox@yoUQFG)byAo6@ETq3$ZT6Zi3QV}( zB__U!i=#fqjUZjK;n;tLCH+?2ADpl$gb^=rFH|uw=+4tFP4YSh7ZfOvgFqw=ZluTl zT%2A1#P~Qs`!>^7nE!#aEcx~b^eUS=wuz=K^5zJl-L7T7mmJFbj}|{>cE@y_ZM5cnrSBbx^TEoi;+C_)7ZKjqL3? zAA<`_E7oUphNZdgVHeTITmK*vdl{JAN=r*)lh)k*s>$*-JX@W^lF=QlkdIw{>y1hz zxR*{zg{L2WQ?cPT$pr-miPyXS-5vb$)P|CnL29_OgHXD0zR{aer)&*GwOez%FJGj- zD|>g{#&3IDHD~bbIReA&O{L4^sM`0l;Ji_ zr;!27>bL8h;_J6VEPbnepp>@MyoZJTJ2_Ep2^#1}VGLpih{E;>|C*461^dSn7=SmO zPPPcFkUM{seThge%=bM={d{zc@asA`L}~9Gx__7nqa~#n5ZOU+F3H2GI$Mo0AIPw9 zs9l7#JB-$wy3{ZpW0)I_MUzf3DtlrPG*f_+Y_N)k#kOORU922yQ+ zwBOiM4xwZTg!#&wQh>7S?DvmF#*UDUJRc7#kB=P|MoOs-PcWP$%(vBf^F7~Cb;hsr z&6$}6z5GEW^Y2H%BQyu-EZSEujjlhY0zU+AOYe~Iq$R@^e9jJh#OxPz<8do zTj6sRJB;i++~z$i`jq-LruE47_Ba;V;F*<~=7#szfJ0K5<+eN=S};)q^y44Edi{f% z(;o2JU6BR(o}9s_B>;IR3I+rO+^KO}?T+n|#s#@73m@O3;aWuH_C7R3;WaFlhikQJ z-H9h^cZkEsG^U7#=RvZ$Iq;kRQm zndEnb-wU*=chT?uW{%m^LPyNx+cR- zXYPQccc13dDEGtoOyx7W{q?#CVTa>LwL(w*-N*4?C+odINr~)1WR~-?rFG!k85lQ- zovb&3d1N>_+Sm&HijRJL@4SLK6q5t$%<<7pN-CX$9G5stI66W|8Os_TM;M?w=;%^S zR_oq?y7R%;ub>iWA@CUY<5h_g0M_{hl-EaJyma5B`tN%A%AESc)OxMMQt%mnf?u5T ziHbsi?zhT}`|Wqe@gx~1qvD^25ZNgQFdrzB?FR#I}@?yriD zPRpxHtofL3VkQQM()WnrqOqKU0(>JCJqC`LpY~(T}x`Hl5FYo9- z`>k%jMAr6v>V>kupMC5^{ke(p3D3Vd(zD>c71bI-Bgz+{F_WLaNL;RO__XaubgUPn zv|m`ui!-p3Jq~iDqvH}=*G<|VR{4tJ5fGiZa`m^cPGvzCvIiLlBML*g%ChJN?9dfR zZ$d{%d1s`QQm<~IXnaj0-{bH{c9m<++psV-#dy&R<+-CD4Bg*0Ip#~ARAnx6zeT^S0?O;sZM*F*uDLG{;8T;V6#zLP0i?m86S;p zLzvvG8}BZu0G9`vSZ%F&t2axyH(h7toz7J|KMc#fz3R zD>Pys<_!Isfj)`5w!Y3PTpdBw^5< zRRSZ}&~+r5>XHJg0cE4lz`p56_w6yuFlDC zPgzVXSq_Fe_~(Wa%c-C{36dfW`(BrEU~BLAknzl~Bom?NPRjZa0`Rz}2)Co#;|Z%}71xg-b_3WzeL z-gwOLpb!}y6Jv%}{%?4@JMIO{XRmrD7_-&MujoF=&C9!2hyaeoJk)7Gxquk0un+4Z%g z?(G?$B?y_$asq*J`k0bqzVjDIu48QN*7|^q<#H@}C&RAs9Sl@jjvIaaC_XbgE9>aU z=Sj>JU9U0v@oM%@;tRxcYf+;|I~yA=`K8>6EhEU0zP-+l9y{mi|3;6Xs(tVeRy8n) zIPKPGpFnRE%W{R)2Xr>SiH>?>+@{Y~QYzN!pZxYX8VM<+JK35XxyiR2Du1TgWc|Ae?NIkORHUh=gBYS@bV-1_156N>ouIY z4LUN-ZEv>1(GQ^T^!IKF%gz1fRS3%>v3TvaH8F}$XpxrRI+a} zWBC8QnhqVn6$}qrSdhMUh!GSNKw1mUap?Vx+1C=o8{lw5R*utG5KJ#_-*9|#GxWpc z8;#ac6JhPxV-CgcE{|Mx-Wz;;y$8Pk_zN%OOfImswcmIf?UM3So{^f6hn#8hV&l}+ z&%P!HI;kC?fv0Zr$*>U@N06ND?f3t30X8?DH7_~zXDN-zExnC(Pukl%%k`XBfOVxR z5JDLq-?Og|y>|Y}LIVou3ok0FXb_bL-mS^f{v;;>IO6x@u)YVqrX!@J4@x z#E`p1b&a*7+tAyDsEEg!k6;V}1_4LwMUK?P^=s}?P%;o{ku;nqCU*OR*4$X%nNgKt z+4uCUs$z%kdU=+9o#XS*pChWQ1=%S<2!L_G=qPd2{=r;|s8bS4V>lS(Hlte~j7|_< z0yj)7RU-KA%nMi~`X4j$t-2e!Bfe$-Pug=V0%8XJnF`d<0ixwI!hx|T=m$i~1mgGA zB7m-T7mhZEVWOsYc-4P`_Q}N4h;c0Z#UHu(RS)!JFDsZIY=wBB%U{+V{FU5Up1dF6 zf5qR^4cDAY;n~Udx-`yrAdIi3Ow?_}A=x=^nyvDB=j{Vu^!T`sKrvA`5cHmZe{nZk z`qlLq-B#h;7N?lH&PPby5ZH2G22fpz3I{wc+!Ct+b3XGet@rZRLn0YU#H6YU@;Zq= zczS6oqm`sR-+^Z#m_#O9*Ot20$RBT}hS!Pin*Hqf`AEt=Na1DN@?@gRF~gFdR_lPW z)SDl+SD_1EHd~JS=z(2he~$!WZP-M4<6BE*-=ga$M(JSxfa`DL-o3k5IO*%L*@a-| z=AK(impw}`VpuUT=q|y5K=nwRzi`0>Kzw69n&Dz!&X~(F?wccJ>kpXx4{z4&F33D` zx@GYg89{7eXz^fH?LYY?97MaHXikO*h1FJ6=WP!QFWYO}2?;qc5{&<@=ian9;_r4d zMm}-i36R^Z%Q=UJo^G!^&EZmzC@Hx(MqGj}6)2AIoIs(=$3yGQk~#(5VWkFKcvatf`8l_V0+f6ljDgUdHlbxf zy}iICKd7o23NbMJfq^3HL-U!p;MB)4w4ES}0M!;iBEXKEz`C3c!qbRtR#p~1=(E7| zC$>2Ay|6|sbx!MlZA703k_IupCLN)wJ~W~k2qIm@F}N8^GuDwWh3Uc{OWO!1G9HHv zCNzzhMa0$$&q>!S*;QsZCu*Do8!G&7x7o4v-%ROgUJoA*kN?k|=l^Vi@s|Jdm#c0v zh&ndSU-=A91pWQ}_D13VUa(5+;b~vC>ORCHfDZ3L=~-W9=zkPbYSCkW+<;kI?P}-i z9kJXd09Lp!mD-N*E3&C&ctVDh1S6e7@qR!NEh#C1^z@evDAr&lM&YlyHckFe)ni?D zMQZ3oApQUKHY&;~BiE@5z)88MPh++*S%h`1INTA zV5WY`&ZeND@zC$sTw5~&p59q}{Aa?6OPRG*RlTsKDKFm7@Jvu-OC0gl9IbR<2D!xY z>MYe9%YiInz)6$}4~gFK6049<3^1{WY8!x;+0xqTgg`X@t?NmZRtAA&o%~p+QSBR#+(UMmrTxZhBt@X4 zqFaDTXsksI#f`^l$fd>cYJrIww^C1G*qPA!<%bbFAa((DC99<59o*nS&TPmFmdC3H za)bfgd7F?B`ok2Qb>@L1P8lvYTjUFG8#q3DC#49~`V)=a-|f<+Yzd}p-rpPUoM$0C z^JsXth&7Eee=vXa*RPtPFB5rQ<t(kIIqOm&dinRn$$R7|%Sq@-}%HBMi5v z)HHUAIqEq}v?BS7S5m9Uj=0X!q|KyF$w%f5n^GthLqj02lEO2V%~XA&udnp@F^O{{4^XmW=cqw3#8#Ld5|!&;dc%1_s77BK8bG;Fn8R z!6~xnVS=_P&;eU)g|Wj{A2Tvw*oqSLVS(#iJBVJfXtfo_y1ZdcW-TqRh>L#!zVjJ8 z=}J5)wO$duhO#nBpqm0$5@7eW;mA`(7N62bsq6#*?SXl!Bg4!jN zj|Dl#Ki@9_3o{hzO&l~D4I0Sr<;@zs&fwt{>*QMoL3K^c+iIfz_&$PZa>~W!6y?Y^tyu z4f@~~+OT0ktp}nVw!MG*_U&#Q)QfY3dcpaDm{j7#uHa@P5Ih%K5;fet(}TX#qYiHw z2u#@dIuMm2VUm2+XSwx1&ocBscCh&HFc68MZm@_z4L~J#h?S=ny6ELP=+0hwC8ceT z2-Tc>JgXj ziZDg??YfJQuy8B{7g0lMDk^et6Zh~C1z2-%XsEi(JIzlb_10e$>H++`=g*(x-Nx=P z*oQcO=H|pIA^qQ`zsq~7BIr+bi{MlqQE%4T#^zRH*HN&84i^)lK0`JS4LF1q9qDbobQ%TJhAs%@8aQOJ) zhO1>izC=bgokVZPPQobu^#QZ*Jtd`Z7hRB_gUHeyRvHmO66XSI#>&o)QFR|yN|FSk zJK=)6lQwwBVukB~g9WdFZ-AIYS!JcS zt)Z#uHPxK=kcFi2?wJ>BVWTkBn{zqppy$kfe09{*qbkH{sMc)tqzgRo*F+eysRU7##4zA@~E0koD%x(5x&r z?2HbKaZ5_pO$k94=skEgsGW{>^7m2?in{%M?-CWb33K)nJU-4hnVFeE%mpZFxtrT6 zqawZsu23CAy3}l63F$B$=&8V14=iKCkk;oz*4F_6^7r>o<7M9;wJA(j%>jSD^wJbq z?~jv2n;`&$BFeL&FHa%%J3+P#8NYk&gjnR*9oRr%NMW)$-vv=3G9dv6?70{u+`~Wt z!dvgWdC^lV!iyIdmX`tl*#<@sY~qnx#A+I03sI##$Z}!1)o?c81~XL2KYEm&mIlnM zPb`emy}nAIy#q?25V9aeOU50C5hLI#fxAdHl;GVc=PNK&4y!Z*WL`?A91RiD^q{}E zsu_ImD(zPFx!oRhn0mrm!HiW9L;f&iZ3b75XFhpq{JoYc^A7XpTAb5a8w18sGNw~0 zE;dmg%T=>vW(p~fiay79#Vq60Qdn2eg~F1BJ9gl-0W(o;n3%QHXX=gXn?s>QEYmF6 zA)c6*diL(m^T0~S+IGUXB)i0CfomDe&yRb|hRYTpP5D{kItY>i?I6?;;e&J}hWHV5 zxu8)b+TlGLE&^-hl6AS4mR+e9m+Vi|x;-y-j-j`!fkW1rm6f|C8ZVe~q6Q%@M0L!` z(w!mledCV}%;U}-+_D#6r=V6EQkcCYdW+U($}+OE+h^Cd($}`eYfLJ~fS#MNvB`11 zS47ZPRCY8Zx3UuPUAr-kpDr9|w!}-jpRXL=5KSHN6LXOv^u-{m}@BvNe) z3Zo1fYou%O=Y&)+_!sAicRdhLmleIxXys-Oo|?+Ay5{}~#S1w8@I&=+F@R8U8BN=i34Xv%R9vzB|?zK=Vg)|24d9kj=}+ z#*?QVWfWyw*O|!5$o2#5cA)|PI@%n0gCGi4%fy8xILNGY6dUWfC z^8A)v@K9uACfIs$Y%EJ+!;%vOPxQ^cl}ML(BFO1qG|d?aSCF z*PK!K6n{GYzR86YnqcLH>1Ye2$Y92hd;hOd`A1f_dZ`aZ(qTLjd`k8(j2(!?Sv~oz!Dl83b!tBM%us->Hu^1eC(~ za|;Y*vo#ca^`(MSm@X3bKo1IVnBNT;=BuLY@vz>%-Uyo`kglQzZPa^Ljp40x={LOi z{qZUUfnDi6zRh{=E4(6c(C4$SJ$hVe7Z&-(;^-jp0?Ebn=}xOibi>h(#3Ka-)L@R} zix+_j(*9AUT;Xg1ISJaV_LZR1uKB~ha`PX_>;Ns{wZ%R(G{n>aT<@4-MfSf}B@5uPk{6GT$+2zE;mtM=FxzWzt8r^p5MATTzw&ocf))Q>{H zeE}FR*x#=nL?R(By=m?xZYt210Pi+}D?-;}f}Cb8?QG2UUq7|=I+}up&zb2}=I>#& zrNhOuc#soV*?tB~?IhTj&W{aC^JmyPM_J8mv1}fmo_Q@FjMNGPqy7_*lU1!1Y^D$Zp4DMWw`` zKFdGo%1NBG>8+dQJqd4A7lkbSzo<7@9ty#F`tYklqdS>XmM6|cI58(DpGBA_rPShL zKttGlNT*}D9kz#_IDWX1;_;!X$^)P&oZgLy zN+tGSjET9-GZKYYK4vQT?%juAV8=L28o5$bbmFq%bo(o3C_h9I=@u?-) zl|gMZSF=>GsU-)Qmz$d#F!Mz#N6_xJ!ed2+D5$Bh`Q4n*-c$sqvEW~g9CaU*#MBHB z`kQAQJ#HJHl^dvZlH^x@+q@GCZ1OOibO3h{-vh0a~cC zX5wV3Cu$K+?Tm=x^=cHn&l%86fC^(PxAF5DSLkdzYh1@oUhYf?sG&D=1cih^RFwaZ z$PAiV-^50jaPsz~eIzId8TWm(y?XWP`p$-2M&FgVZGR#_OL7XnI5$*`p&5oxUbZj6 z;k7>H0;&J@UN%}?BkLL2H_P}){LngNDas+ zC;|byN-X8s1EI==m6dPirNwSb8c=Rxi+(IRVmnd-<;71JtN|6W2iXI~0QPu!c>x_B zNJcNArT|loZva3PjiG&x_fg+X`R6+mWIgt#{iB!u{$*!pzmq#e4wAWG#}?2)R0z4A zkB<+wq=BjgDoT(dlX>_Mf*diZeF#9M8|mf%r8D+*)zyR4Ip#o$?Ez05=;L7_W0(ms zH8u6n!^!*d<#k=1B=$mbhd`a#@fSiy2AAqh+uS5O<{_6{3V` zdz}3Id^l&%Kz981@89$1&l`b)IM^n@SV<%ZxZUqjw z6t9k-v{4&YZE@d$`7Q`%!?wcUlG6k!(p!>^T^js`LOd|m{`C3t`2au_EXaE8Ps<13 zma;{M4h|0b$)Evw0OootbXV4Q+)oS^d>G?ytKq8x#FnI&AE1{@8Azu zzH}p@!!I*_+S|7|T=jMCw%&c>bu$@5`I_)#WzhPGjbLj*k2N|oJ3FNDaIVMIT7q|U zfVybO(gD@uf8YR09MJ`dol?7puc!?Vq7|A5(>^b7**Iv06w2Q>o}s0qqpLz!NT^_} zlA6Evf!CGCLV5`3g>vdv)&=$rx0ceUBD`%avSau5itTsBmUnP56h^zK+TmIYkz%KH zF2ja*5U`HdPmX^T!ol~z);6z0*ic%!rpC3^ZZr+w1_5ldMp93@atzA2Y?S-_3&-mq z90_<9jkI4~hkIc29a&jCkx7q?cK%o{?G}I@01Ue-Au%R)|J;^uacpw35)8-zcMZ&> z&%goehSYxml{SE?3}Vhfz$t}d?A7bn&wvk%#kZQ8nq&fR^@=RJ0wWi&4t|(G_|kAl z{v|W>B~+RvpxQM$IyzkMEmAq*PA{BD4AB=7A^_LsA=0sMb9b3cKrsy^A9iRm?^lCo zfO6_>C5V^+0s>OwG~I-2L1u9U2AIqMDZ0kSrmCqavQP|cEnwXMPaui*101rj*YY%S z#~Q$Z2x}z?b0-iAun0126R3ZT_!9sXyw4L?YWjoRwWgsl5o~0eU}XWc=nU?=Fc9?( z06qM=0>JCOMKE>%op`09o*fMzgN%ELoLSbPACDLa$Iq5%)LV3hTB?_OG7hR#Jh`mH78ikSN@nuMndxyof| z9w%@7Ntikh>wW>zvr-DDVNCF`{IYC^hkz>rD1P%k`s%K+` zSp@_-1tS$QoPlg5L<%Ud22EI-%y*95nQEc#Ih+^!Jxd{JAp7JA3y_1eco$GcBO7yy z$saB>m6<V(=1F5r+F%;e1@uXypUAeM{?i12|F_8^JmMn)vmqLp89~h=?rDkvUl%R9Yw5O z)nxztCGX1ap9>Z{G6)1U3rll1>HEy@`gZodOIN1-|(OcEh)6>8G zX=>^_65Nz_g}*ebn%m+NnhHd(IZl}jDU%KuP1)he|mN{5HMAan2)MCdci$F zH7AFIE$9M8k_-vBJGVWX0dC{__giMw^hEfeP|gu^G4$RGfJcB3WD=_dt!$9ffnWr2 zC3!>e?7YUsMFdL(aGhXv1emEpp!(Y0J`401J3DR| zEQ4d8-|XjmmUC+GBcMqJ{RuKgMyZ8jV5@FzZNXX{2KMOo_V(!ux*#i27y*!*Jv{WW zVAi(<<|n)W2q`~waNuQRWQ3p%vq5(dh|2cqcd9wA_&*_+1uV)?T7SF}b}e8V5L88- z|D1b(ORrl%oM>e|lLV2%DE>LxyAwmtpkX%c69 zk0x5Lyt3?55S&<*oZ~e%7!}%ZDW8MI$A0S_h6DMlS<}l_qhsU#->vMef9F>UZytI3 z1>NOo$F-f@qN}fumBEze=MzWweHG}jbv3_cJG$k71D$qDE327mlz&g^$=;Npu<%;9 zgu`YA^JIu3OZzka&5g$6P=i9|{v_#)KKsP3Zzo5ytK&}X`s0qR;y~vRYmclwN|Wq& zhYhc1RbE~W8Gdhv>(%IU#6TUCw8@Y{YV^ajgas*O-boXO)X2U3@-FVyxm0N22q$)3$J^+?DfX*C zUjf2DEDYE_E*;#Jq8(N5VFN(V4sr}gSKwGqgQE`;caYpfRlpqaW*ldqA&s!l`gjBk zXJ;CA69holHtG3T$C0j=)f8R09P|YQ%sU;KX00OHp06ym1&dEW_nV2YRGA|N0%P{0Gq4+K(% z|BB%+1*$41#+MpQ4vV%&ttNHF^3of-l$0b-#w_$FlR$x2c+%e=CgaK9w7JbSf|_JB zdJHpPS*+u|zx8qdOk(1Py$Qk|kfa%MXlr`FydT=Jgf#RX+IJ`&>6|**Eo7&3W*`X_ z2q1v5+AasbO-jfMfHh6h-oz}=!?Wol!L!{PxJx{|BUOv2W*D3N^{vN$=haw^yI);k z&+Um&MV|I&!liZ{5_krh2KGFjFnW%G1Bp(5hxk{jZbe;Nh23h})`qiK57dsx#zWd1 z^}mO2W4-x9#-qiK4kl+D9Z!6vof}pbZ*4Rk?TQ;B+^s#qYjVP1_W|>^;RVMccg?3y zH#!BBf6r#LSS~w>6@L7fG-dBIUvhf?ZOe|qz!+FrUyaV%QdfF&1Pj;chwQi+m2|Dsv3>R`Y zVjXP91g4g;U_4+haQB5Qjko}ThL?sxto5B8pt_NMxW5RMCoE|=*1Pj6(oOjf4i0`h zit^EgGYKHu0oH}&I7&Vf!mtUnd%gC&MS6Xudi1AAu0h`uf*r{0zlw{CQ}|DZAre6E zIIIT)Wb(Kjvr9goA23Dm^CbBA-UbKbr#Zy0sSxds;9|ws zU^g4L1`{8>cnLBjvxgu4;do#O!tQiuMB3%xSgM7eM}NC(#&L`AI2qvtTt|gKf7zii z8%D>eOx(;q!T!su*xIj~kv(2W%YPKTgWKa0mwv0iftf@Z&GfgP&Z-t{914Pd{n7xC z2#~**9qx%;axlXNXEB|ICy~GqJD>>gj8IPB-ySvprsCx4Xd03u0;F^VIYs3u&`hWPuLSmN65DWdBmO8%ZW91 zGoN>X&jYrP3b6!`6Xzd}fekO&K@ZjghT{_?J^2B7_t~2X`99~o>@EQ(!a7Y8OaOn% z$q9v5#6EK}O@uE!1%)i+jF2MALhLEm(Jr^X41GB~d~*wEc)>G+65*?P=_Oj)NAB)B zX~)TI%v4L$hoGp$<)w zY7WCMOiHu5rY2lthH--oiSwSTP@HSEF5dt(bz|YgePrWt8{8Q1Xt+3ayid)Lr30pGSax!WM}Nm%l@cH(`CO?E?0Vo1tCP!<(l&ykxnVoLI*g@NRq z#cJViK?lyOXzk7fD#AOJ%`FiVnYL5fL5dtRnxvg(im!Mh?Z)qGzl@E}rt@5le%4UV z|58YSO+_F1qm&m-FdgM>eu;9JI)3@qPKmF@rB#2O&hf?K@e;Q1A~NZX9^n!b1g%bT z=!creejd7PZ%`48WsJg!f%PGrBL_~G%8A8Ss@*_RmMuEku*c9qOitEC(l!1VXs7L8_$FrM5J#W_Cs>(n3J8ZXV7a>K7NBa?q8s+k z+1IVh0r!G}O>ufi(-2fe@YYspSIOz=fyn|fGXq#BKq(FeFCoB5@S30&?S?uP6vL>o z!<}F2?Jlzf#Pa-y2b+b2qGXEk=TgPu2)9o%~ zif`ZX_e*@g&T@!k-X+m_;2IQ+xXpF8$+BeQr|$l>NJ3mA4Ra!gqgAhCOlanzi3^XX z1s%>FCX3>%W!?UC4DsReq?pIeIUeNBF11F~JIc}34;jF{LaZdUS71F<;TMvp8YO$W zZT4#5Nc#xDS>qAf0b(#5g~=Ey9=-1kzLu1|!pC&H%kBjC=j;yWVob`c!f`C!V9(y~K(_HX(*K zaAIZp*bsd$SD+YUbdK3?rN&V%;9DYfszLJ&%+Kom1InyV_i@Om`jOJ>eb1N0^qT2c zFZcG2-&Z<%xqo3|C`!tkt8u)FUOz6uWZz9Mj_zB0Z$rt)mLXfe%7E8&+&JOf6F6Vx z_BU51)N8r^z&r!WrFb@a9&-b~b zlTU@f8S@7+GO)3*(2zwD$w4r&ZoURA+GK5S^HN$UNv01^_QkQv@G#Yk1CdGu7$1QK zagYvxp99b`pdcWS+A(xMt@}ItNgtxq_UTx%ESLK=e#Dk&P!k0g%6qg#BVCK2lELM; zJ^3`aYre_6G6OA`zP?FUww%7uPyb|}9aqJ(qt7~A%g!C=ZX?n3qfBrNJExHwzAy0m zVItYQYVcu4+Or4Qp*I(g3Ky#zm)p$|j!WT-gF^1>wI@=`3aP#bWnI93F)<4nGF^?Z+l2J))J*xP|5yzH>5nn+INsh zqyX698gD0@F3uN@c9&!Wum{HsUF`e!K|rH~RY-6^HOEJX;h)Qb0W)BgVTW3CHS(Rs zR-+y;&5TVQ3!87gOfLeap(%uCIHLgzm>zHNSbqlkV?cbl!j{GBqMWl#7=P~U*|Z_+ zWZ7_Dp#2GdO3y_2dtW4-5=h3ZbpKu_KsoLr*f!gKt&&6J$Z26Sw`k)tu_i)&Derdq z!+$e3j%~fUfZSG?pk70wD}SQ<=#sJZ7aIwwU&MS4a*~+HrzVvWqHon?cj}6dO3w09 z(Jd=DKYP{TAG+>~+jp6;9nd0vBB^?u?wD5{x#CrRPUKb;-yFYu_I!vecV9d^Ic(6> zY$9aZ^Ec7EsH!f!*a?>_S%k!aSL~dHZc@8QrCX_^#uv?9$WfHMJ= zNHNe<0H93LehH*iylIK4eG>5Uoo+l{YD_`_a_9(3Hk{+>9k{{QX(F+ zy4d@?L^D&b9}!0r)IAOjc^OLGsc2+tdxdj#xN}2SWPK;Z*UjIdRo!oW+@8u8Go}8^ zl7M^Ghq1KuS>Fo5hU8^PKCo%1n>p5+kl?}!g0`Rp!r0p38&bf zSY7+-JeDky2UB(aaotvkl!h^Iqm-G;aIE$Jyfr~J==ZaOV^*@XO)j!H4mKM~SfP-( zbVQiL&C-qSaLC|cX2GRL`f;?OXDym~qd|44e|Y#iqG2<+qk&C^tYHMOk&Z30jQq;V zIH*1@C4+^@I@B}?fA5k7HKgW3kvnL;J=E~tCIxUaiMj5F|7+HJCHjY>C<9Pnq1OM$ zONn$+|KdXK@{jl?^0mzc?dIybwwZd81ZXXj?^Yj6a%y5?2UeCH4g?@27@iy;c`%S~ zLpjSdZMzGD5bMT_s}c8F0-B|b24A>mJS7Q;Qw@$&oi99@t9hmrFo&(&MGkgZxz=Aq?zrSNdgPludC*)OhC^;-%a z&Wkj%2ntdr*jmbDTMcBbw@V*KO->qo{5W1n^UvEJn%m{5FFm;IF+bmS#CUk-;E+-* z>0P@j`L6eEFDJs-&}%QMy}+v`udt9g^7f8PODk)@v0bXL9X^P_(k*Ni5{EZRJ2|aG zA};x}GwItlvJm&mb)jSero$hfW0{##n<$i}l-zgvS^U{gIPTw*TWe)L-g_P6fBit6 zEa(`JQb6)skEHU`+#)$%7}2(%dQ z(k;RP8IX2n-@PHdwWp?huA9Rdq!OCebsA$S@$p}i#5O$^+obi-3bZ9a51^#J9ATZX z7|rGcgI*POo)+pI^%{Di|7aHfwu7+|fA~rK$%fDH0wM96YkYiXq5HDzPT%m?Dd;}e z^{ZaDSd60=mf1fdKO($WfLQ`8_p9ve@kK?qpcKUQZFNKOerID9Amq)Y4i6{x9n1Kb zATAUL1}qk|A`?D@W|?iUX@Dv}V9{wh(_;IZ{I`{jO`GL%qMg%X$y}0nOi#7qu1LK~X2~svZ9EOH*>E(U5iot97MOdezPo1yc4za8M(a})?|MkGXUpQh5weG9- zpViUP<=d(9e+=rZ@;kq;e^OLzvlWKh`CNXkb+mj6n_I#L`r~{~WPFbslFhYUq$q}x zMz!%mOUxFWC%YxxyU5RSi}H@g$5>W>P$7Mey4U>&h4AnzQw@WEA70gvpIhjf<2XNc z7HE*w45wCD=0T-2E>sE+b6G{h(`Z*TB+-HO8pimj5XIwH%y5g3JVClama5>aG5issi{4s?OeEkYxHYbj7uxN3wSzK z_LhHUQf~*#&xt?x)QpQT>(CHAdE1@Z_}z@%!F`9Ei;57(1=R)2jaoa2t#gnWUKR76 zC(6lL9QWDew#V4F29MFCzE@oN!GPnpG4LSj;Q?tq43+*q29}SY;Cr>~P3RHLO)^VQ z7fW9!zYr<8;Q|@xgGdJR{!c&hYW#?kb-1_PwrRY)*tsOZ0<;Ar#4#)Wucp(C9?zjJ zrSio>!fycgnmjZJ`e#M1`xjroc@6R*<0sRtor#qJb>mnPdNq1SVxr>KZJw0vB?mT9 z_MjI6*-{mlow3zx+}z1(*&F9Cl9(SK-tR6E{D6~XZXRAW5eKZt47D*C1qH(UZNA!$ z1KB;MM@my!U%tG{nwMKSp4@%(_%Uq}H?2%?GHt>#0__Lj6YqoJfZ(?H_ zPddFgJ*B18Li_(>?X2Uf+`e_cPy_@K3lJ$4MMUXt5CNqHq#LBW8x#?gRHVB>TDlvg zL8QC8yYE=)KIeDNx%b@o+&{Lu6d{mi{n~qyP?;6%=f@0F3;{JA$@c#RYNYBfn4n=GNM3a`+esVI z4g&`u)IFiwi^i|kIQE-0T5pvV7JKmxf0fsUszzVrc3}dU*4dom@zg?=_9$M5l8?L8fMVo@0Am((T}#9 z(g)WiaL7QY&o^;EGdVfA^pkIu^IQD$9Y^G3wvc(dN63YF!WvBTH^v-?ISc<+sL`>M zbpaFL@jb>}9LE}qKWEEx51Hl}`i6&FryhztKBMQg(^sN~GT*OKsdH~t35DV@^%Qat z&*~{NHsl<~3vn<2_{^U472?5|rA3n$4CMK?fEc6wp(ZN9w(P@gxAH>cJ2sCw#jI7XqW&BG-G0#{17a~ge z9_#)4wQPx&`)ex5>79|&nmx#FS)CT{CM7*QU814n6q!2MgdRhShzKya>YBooKsNv^ zb;aIeV9z@%w;=P9DXD2u(G8pn%pR9yHidWaLzCFBudKv*ny) z`S)u;1p|o+n>|9Vf{u`f> zX5)JyDK)vKTKjESv1-Q0W4ydD?o?gbaVV`S?GT^0G^UGK>|5U4+?)IP1dai)vj-Os zu!3RA?VH>mT0T`e_75A*wzD8_d6HSz^F6tz!Dn>^LPMtS?m88~_;4U!|0bNn%*uG! z*&V8#LzY%ot4>dpc1sd0W>MU^_RU(Ymn5DZ1n*H&_QSVAw z-V0QVlibKOb@qn%7&Blxu9k`asri5=aGph}-bSfX^}bZ1{I=KO-jj|=L|`s)iL!5d zpMYt${*PJ6d_6g#&ggp**u1g%DsK7bjXQXselFKKUBhhfaJ4lkNM#DwD60E^Lx*-} zXnOG&Gb%yIFUNj+nR=M`D#xIANI)?6M<2&A zv42>AqOlQCLlG<}Ums8z-=IA>CHCW3EBD^pV?Nv6;_0?tES~NtQ`yti)|OI|uG=AC z0DBUjVS2%zaP5`ZU}EBQve|@mpoPZu7NB@n9ZsO_Q42n?1Td)ye54ji4zObc0EpY& zLZr@zjtBSP(5celyqsACBgvBuPaf1*@T`J)6ztNGO}7{qF)%hXCW~p4pQC->l_bbS zW58A+ZzF#~Gs+s&Z*ly6mWNv3LT3THDc)S8!_}1C#;+id=EQhwQ7;IO1i+bhX)n{zU=wG03}k#jX{AHL zI5v~mj<32E<~r3TB1bH`;~Rjf?e5V^Oe*jIXQK=5?+~Hf#--ckAir6WC4^=U+7X_h z-5g8jb<&uLTq*$p4soDQW~@rS<;( zhcArx!hnr}+TTfrQmW@Cn)2h_pM^Lw-?t7If5B7@ywhKuq- zRCH!=UX?da^6F5`y?ggYT$*e@Ke;9IS~kFO3zeJOc@-qt_a8hMV4K$f2yMGOM$xvzyu&RyE|mddS)s=iI%u&%G(G(+b)D$IxlZzHfo)HpiMnx%$5XS+ zLQleTU6$qZf|$|ScIqY}K|v`crRB(MxxeGA%B(D5v{=>gkNzzo6J2JB^aP_0#PnfA zCC~VH-NH?r@4ab=K%;szUvCZr^JB2+7L0aSGQUd9$*cF`wgmU?6=;~&pN;dJUFDV5 zA_J2q@b`-m%wC?__{`q{paO^M@pzRPjCJ#tj(RC@g`rnH8`*D4Yii^Ic?f4Hge;YA z&ne?T0P5^`OioQhNr{YdpF4V;4hM)x_9zJjg|uM{%8sDv`E(l{{@~!R0U#Zdlj{!{ z;+7HA!T~WtpxVh+ztwWtV^+uTy+WI!CT12U$W@LwJmcbdb}wWa!EEZ_JEqzidpg+H z_n}#DDomG|J#T>7_=p7o&R_ZY`5PnKRX|Ign1cMyZa%8$up4KcKRG~)F3kQ=?HsIe z%2YzN6VVKd+I6PS;WDokPg9!|YY@Zj9y#4~{N_^aL}$19>fTH{3yXQb%J}r4ZQBxF`Dk3g2%wvHI`ttr40S(TCNy1pXOx)b@uzU}tvL z3vBbH7vsHluV(VcE$2En<381|!lp2JVmIahYAqTo&eU$c!SeFU2RCkECJi4p&TLgq za^T}|RE7dH(W>mmpCtLiob`c8>+a?&Xx&9(MfoI)40A_rYg?4GmfN~-?rqj+Gwuy@ z%exALa$Hr_q%%-BX<#+$^e@z~2Y-)o&+aKOd3(>}0-#4MXeEInLrFSM^pStiWsG;< zmT`&XTk9eVU$L?$j>=ehAYC_^l3guvp#FlinsV0MoDN9eKw{THqk=Ru{hfEXcGj8% z?bwYG%g)aM6X6fRmAA7Mp5ybuvhCt;%TAlq*_Kx$>n!AhURPgw&Ww9WS;|s~K}6|S zO1KXadn>Ps_yBj z`Od`W*Y!CLJf!|4*4)R38y>8t+*sh)f2mqC7inq$tx~=slPukD)L@AYVpP~LVg3X5 z=3QY$Z(8w?f#7H3=f|!c`QygiFJESUekhHunO9fO!o1nS|2Q;*885S)ob#9eJ}F@f zO+V2C@*keM>#IFkhqOw@BUL+uF2|CXb>YRLi9>pGlU1fVhn<35qvM2bFzExjybh}D zph|K%~2gV6v0`^;;nZvlR-gg z9d*Xj-$XhxbH1#M16aqhQNISw8a+l3!9qiKq)}*v+<95aEjvB!8#w0V$;iD{XTF1S ziHYg;SJetpfreh@B1_AhdXpj+f|H9v)yX9jq+M%>uY*SVg`=hHb;Os?_@?(=p6m`m z50j5h<%m=FLMX?z><~eBG)nYJzlR zto-u5A>EpHmjJu1o1I?=w>BggDVNQD#-l7FGb06Bwhypb<_{G@m?(fLMkB@7(|f_j zAud1vS6EDVcuTDZ)*ztAN=3}5>RMV_&F$^hhYGi6rukk5kwlD&m&B2z_X_67)>Rv_ zpmYi^H(acY&Cso*T7!827(_&EZ6(WnxuMxBD>`aFuJP8 zkp-9%T=w4p%9+}00DkS@sKXL<2t#-+kjo=e^NPkCus{tBh8B=QmICsBg*=_lphN`v zIE+pU4MeEm;&2fFHAq1gl9c3k>wvL_oSJhGfX@(o$O|t3ngWR3&IR|857?HG?Hm=R z4>-i}8T1!f28?V3cYNFo)5Mj!c#{&%b9HO zk6swLQ8p?LKr=}1DT0cM6u>S66u(0*bW$eNfZo8uS^cnLNUu?8^+UwZT_1V(!B5Sa zb>ltON{TS|!! zOa1|B%rU8PvCA7qM;88&j&b?ycQ%XH`jyLw-{zu@4PcQD3%vCn?O&T4L#v^OcmK_> z47^@ABrdr9%l|w1|IH`)^Lt+FbbtS;tXGiB0hTrFj<;8JiiY9bMw2sW6vcJxk563W z%#CZvU*%JP-wOcx?m%>cS?^2mcvRl<2S6QMGY+Ro&j$>YM1r3JiTeqpCd^^y5M4ht zH+Qt$9HdD0=!2mbCcSt*0JVgu4^}+piFf3SFreXSgNW8D) zhD{8Wd9vrRLjVcBpo8-5>FHWl`^sCUwn7sdNi_Zz2hScS9KYWhE99i#&dT4-EL|X+ znqMK~{uL8AFLHUa55{k7_LX1ha^n)4Jm@IN>yyTI7JC$OH3iC!ZvFnSr^Ewre_skS zcKfXdaF=Q8>M~d@NJaw@i`SYhpNq8C=}MQQfdfO-B1~x7BUth@>HzP+g}~`YQ28aT zE%l~@W(1k~yiq~2m>Wkq%wJi>h8 zc*A{mpcS$MUM|v-lGU&Q`amxenBSQy2vnPaMhuAT*?M4GdI2T|DlM1n4Hb#&JO>Yb z)(GE9q0FKQ@o-(NI2`=uoY?4LUReCCmswFWZ+OrlBVe49wfZ5~^r~@j`fJgb%MCPW z`xePhf`nn-0Oa1+-v&$Ig7xH&;nOw5%4iu)-UshSCMh7 z@ch7X)ScP^%$~@bHxI$+u?g6-u&ka%Wz`}9kDBMIE(D$azUZ-IOT|vpb&(>^t-I;z z$wQ?*aEpG;wKK<1@x{r|W_Xf?rbtoBAJ$XUI&ls-=0=V?MK=6;Z}!ZYGtwIL?%m6~ zMgMlE3UvHVjc{=T`FOF@Aw4wF!(_q!L^jMkNFh>C{>WG1XS|veVIy8i-3W`oyqL@@`ZFC zDW$rBMO~prf$&T9SQh^2I?2bl+9XdNBstbGkGyFOhD`$&Vf%<7nr?z-nv5ACmYrAe z3{nd70|rjt6F&?olI`zZv6xeH%?6^#aQpbrQ$8jB1r}CV(-C(cJa`Z65j`X?LSX|G zNBQAgM8^rt2y=lkKqh5EmFxk4IB>lHC`v0Twty|r3keBbaPs);8WQ;V^IzL)GK$oD zFXpDF>(a9;TR?9E7DvbzfZh?Xn@F_|%Gx`hn{8UbGu^#QuS8{7;t7X-z z({A!Q6}KMSxj5aRar)BGp%nrS0uzt)xuWc0Oa*ovjNyHqc&G;y^EYbvxSt=g7>RK^ zBz@}V<^h*KOt&=t_>Vh=KgM%3E<)j6T+*Da@MqCji}mta8a`5uCZ*s}plJt5M+5WY@lZPUFr?v^|j^2 z?@R;0ej`DymM7U0^YgY!&hVO}&y%Dk*VbH`hFBunL)+(UdNb40`4hVH9eg~l@i6M- zg@KX|kbHJWig9~nMR!)LBq{0k+W;L4jv273*_07`H@pM8ne2W@d7%4c{lZp!e33^C zwC2HQtE8Y0jFX|r9Wpi=FZ3|297C;U=%fbu3Q>B)RL1s}2n~|mJt}eq@_kygvz@E? zc)bFv`u)ei+uT#CJM6?`id1DbM!M6DG$>xHJ)VzZB0a~{tHqMyOH0EgxX*APp~l8< zzR?B?i)PcmipJPtger)T!G;s!x-hm~cCkWAFQO&VzG>mVz3i*!>@-m3h)>Au1OmNg z9L>~pt=75hsM(u018;+U@A^~6GUvdjP+g!4#YtKXtQHglM9T<(_HMulNM$9vy zU;%mz1^tO}(RwEM@R|_)lA*YTBzucSEB|g_Y0?+n#uS?}-#VzYi!HjS7bW!fGrn#Y zaCYXZvfp$?!MJ*L($)3!J~|Fj?6*=(w<;QEcW-a;4{qVF)>Qc8Rm(6e}41RjfoA z5*{w7pijW%u=9ZD`~o6QLxYpum|Y~eTpaunNk~XemgFR)rKH+w+!ZqS9z#8F5@2s< zm!sDm-$C->&wCgz6|X=|RC-QxKS2`)GB(MVP|`u(8%d0LLMrR5O8!MCp8zyp$?zTnoSdvSh*+bvnD z`qG4Vd_R2L7poPU74M9$7%0)=NP2_Kf_;^Q{wudLk{z}gyl6}IxBy`XB z`LvGz`X;jAE(i*e&=VqFxZ>gE1Uh{2a zU&_jyW9VZd%F2?Wd?~uJ>|~tEAgQ9_{w%H9#I{1d&Ll6s+B^$~wFBj(O3oD+-5Pb; zjiRcGNvSgjR|L8AcKUYs6WdO%{f+%9D!v3+a2e-=#8;$QaFUcpo`O;&R$v-QMP-~y zLbsRVXkoS*T>zq^+V zK4orL_#NO~b5-|jSA-YtQ?K=R;A{kDXFs3>fHi3qXaEIBVBCioSL5+mcy!^-JQpf? z;=+)bQQR^sf=^Lybr$^2m8D0Iap$9V3bg%4jaSCYJQsTyBGc!7-NEkB)y^?pj~0Am z_$_^~%#k^j=UH_`k}1omjz+&i8jo4Z&sO$%RNAtZs~RpV3)LjEnHASD!_O zhHi$~PbEB!9uKISjHlE+@(||g%;0FF;b!|0{cel7G9r2Q*6YpXwgm0D5)wX(B?D~u zW6?&(vcqNZCejHb8#@Ez!tEF}-8t6QC$}(>>0QxWzOJT!9^m*qt0T%6l@A+|N>vF{EP{mC(9#>U|MO@gRptgF` z8La|kS6TDcxYH>UO~nbOQju|7M*gh=#rAY>m-RNVjh=}yJx_R5k=#;|w_<#>FEZ!d z+0WKPg~wo@vb`|Q6P9uD_|RxIh4Zv6Z^6J2{?Xa`&1vwH%zSnH`%;0^g%-%dL3qI! zMhf+t(O5gQ7V^$X`xdQ`=6`Ty$HQ#Oi^Ho-IXk?i(agT(2dlY$5tx&n22FgMQh|ST z+*v)^@y5?b3QimK6i}v_9G+6OmR1Xubxvf-POdL@BywvYWctEFi!5kfcGqyS#p66I zWv|X{S)VzSniE^`j*xn*ID54J3oMyH9Ca2nS?4*vCI9rXX@}8B;kgoxkyoKI$eDJ^OumVpKIK2--u>neD2-yYmo_Q(T-KAb& z%#hlC1Q=xjpIJRVKCUn)Z_adf7VYDARfpFO5wpV0pH>+ie}`;W5KDyQ&JRaVA|Yq( zIo$1@UnE5*(O@gKDQ|JB>ToMnxWr^9U72(isQibShfZ@mkn;)Kokn$enA%ZbUdzj7Ult8KN`kK@lRB9QmB|oGM z^GXzr)n(3KJj*B1#+99zPKc9H>ufsi>@IVZqn2CL_g~;O4qTjXwOYU?C#O0DJKUO! zXdwF^3$;^-1jwb<956LIfNNTiy(TX}7MHqYc7eTw8 zyHl5ADw|^gUV6KD)Zi!Kq?sZ$;`u7UdW-zjPY&LhT&AEcCC8HW_Qi?0?NOsW`DlG* zA{S+JbKgpL_GSXc_NMxJgN4hsIiB>*T9ralM@Pqm{vw*Y$c-Dh+Lb+_{+%0AUzDDh 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%0Ag#;8OnKs%cfVtlUrEnpkHXb!muJE7jjK+;SfK6 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 literal 0 HcmV?d00001 From 769273df38da5c527b5b973cac32b81dd1d68742 Mon Sep 17 00:00:00 2001 From: Ilfat Mindubaev Date: Mon, 17 Jul 2023 20:40:36 +0300 Subject: [PATCH 10/15] feat: Add shiftKey modifier to keyboard events (#514) * add shiftKey option to some events * add test cases * revert unrelated formatting changes * add shiftKey option for mouseUp event * one more formatting revert --------- Co-authored-by: Dmitriy --- cypress/e2e/modifiers.cy.ts | 30 ++++++++++++++++++ cypress/fixtures/modifiers-test.html | 46 ++++++++++++++++++++++++++++ src/commands/mouseDown.ts | 7 +++++ src/commands/mouseMove.ts | 9 +++++- src/commands/mouseUp.ts | 7 +++++ src/commands/realClick.ts | 8 +++++ src/commands/realHover.ts | 7 +++++ src/commands/realPress.ts | 8 +---- src/keyToModifierBitMap.ts | 6 ++++ 9 files changed, 120 insertions(+), 8 deletions(-) create mode 100644 cypress/e2e/modifiers.cy.ts create mode 100644 cypress/fixtures/modifiers-test.html create mode 100644 src/keyToModifierBitMap.ts diff --git a/cypress/e2e/modifiers.cy.ts b/cypress/e2e/modifiers.cy.ts new file mode 100644 index 0000000..359382f --- /dev/null +++ b/cypress/e2e/modifiers.cy.ts @@ -0,0 +1,30 @@ +describe("Events behavior with shiftKey modifier applied", () => { + beforeEach(() => { + cy.visit("./cypress/fixtures/modifiers-test.html"); + }); + + it("detects shift key modifier on click", () => { + cy.get("#action-button").realClick({ shiftKey: true }); + cy.contains("Shift key was pressed"); + }); + + it("detects shift key modifier on hover", () => { + cy.get("#mouse-move-div").realHover({ shiftKey: true }); + cy.contains("Shift key was pressed"); + }); + + it("detects shift key modifier on mousedown", () => { + cy.get("#mouse-down-div").realMouseDown({ shiftKey: true }); + cy.contains("Shift key was pressed"); + }); + + it("detects shift key modifier on mpuseup", () => { + cy.get("#mouse-up-div").realMouseUp({ shiftKey: true }); + cy.contains("Shift key was pressed"); + }); + + it("detects shift key modifier on mousemove", () => { + cy.get("#mouse-move-div").realMouseMove(100, 50, { shiftKey: true }); + cy.contains("Shift key was pressed"); + }); +}); diff --git a/cypress/fixtures/modifiers-test.html b/cypress/fixtures/modifiers-test.html new file mode 100644 index 0000000..8c77c74 --- /dev/null +++ b/cypress/fixtures/modifiers-test.html @@ -0,0 +1,46 @@ + + + + +