From b9eea8f8959a32a1bea8bd7d5f0fc712c3de9913 Mon Sep 17 00:00:00 2001 From: ryzetech Date: Tue, 18 Jul 2023 23:27:10 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=8E=89=20init!?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .editorconfig | 10 + .gitattributes | 4 + .gitignore | 11 + .pnp.cjs | 11400 ++++++++++++++++ ...ccepts-npm-1.3.8-9a812371c9-50c43d32e7.zip | Bin 0 -> 6503 bytes ...latten-npm-1.1.1-9d94ad5f1d-a9925bf351.zip | Bin 0 -> 2765 bytes ...arser-npm-1.20.1-759fd14db9-f1050dbac3.zip | Bin 0 -> 20819 bytes .../bytes-npm-3.1.2-28b8643004-e4bcd3948d.zip | Bin 0 -> 5571 bytes ...l-bind-npm-1.0.2-c957124861-f8e31de9d1.zip | Bin 0 -> 7776 bytes ...sition-npm-0.5.4-2d93678616-afb9d545e2.zip | Bin 0 -> 7986 bytes ...t-type-npm-1.0.5-3e037bf9ab-566271e0a2.zip | Bin 0 -> 4970 bytes ...cookie-npm-0.5.0-e2d58a161a-1f4bd2ca57.zip | Bin 0 -> 9379 bytes ...nature-npm-1.0.6-93f325f7f0-f4e1b0a98a.zip | Bin 0 -> 3027 bytes .../debug-npm-2.6.9-7d4cb597dc-d2f51589ca.zip | Bin 0 -> 21186 bytes .../depd-npm-2.0.0-b6c51a4b43-abbe19c768.zip | Bin 0 -> 10336 bytes ...estroy-npm-1.2.0-6a511802e2-0acb300b74.zip | Bin 0 -> 4258 bytes ...-first-npm-1.1.1-33f8535b39-1b4cac778d.zip | Bin 0 -> 3501 bytes ...odeurl-npm-1.0.2-f8c8454c41-e50e3d508c.zip | Bin 0 -> 4440 bytes ...e-html-npm-1.0.3-376c22ee74-6213ca9ae0.zip | Bin 0 -> 2709 bytes .../etag-npm-1.8.1-54a3b989d9-571aeb3dbe.zip | Bin 0 -> 5286 bytes ...press-npm-4.18.2-bb15ff679a-3c4b9b0768.zip | Bin 0 -> 63988 bytes ...andler-npm-1.2.0-593d001463-92effbfd32.zip | Bin 0 -> 8162 bytes ...warded-npm-0.2.0-6473dabe35-fd27e2394d.zip | Bin 0 -> 3668 bytes .../fresh-npm-0.5.2-ad2bb4c0a2-13ea8b08f9.zip | Bin 0 -> 5279 bytes ...n-bind-npm-1.1.1-b56b322ae9-b32fbaebb3.zip | Bin 0 -> 8526 bytes ...rinsic-npm-1.2.1-ae857fd610-5b61d88552.zip | Bin 0 -> 13828 bytes .../has-npm-1.0.3-b7f00631c1-b9ad53d53b.zip | Bin 0 -> 2659 bytes ...-proto-npm-1.0.1-631ea9d820-febc5b5b53.zip | Bin 0 -> 5117 bytes ...ymbols-npm-1.0.3-1986bff2c4-a054c40c63.zip | Bin 0 -> 10514 bytes ...errors-npm-2.0.0-3f1c503428-9b0a378266.zip | Bin 0 -> 7584 bytes ...-lite-npm-0.4.24-c5c4ac6695-bd9f120f5a.zip | Bin 0 -> 189545 bytes ...herits-npm-2.0.4-c66b3957a0-4a48a73384.zip | Bin 0 -> 2949 bytes ...ddr.js-npm-1.9.1-19ae7878b4-f88d382598.zip | Bin 0 -> 13511 bytes ...-typer-npm-0.3.0-8674f8f0f5-af1b38516c.zip | Bin 0 -> 5177 bytes ...iptors-npm-1.0.1-615287aaa8-5abc259d2a.zip | Bin 0 -> 3370 bytes ...ethods-npm-1.1.2-92f6fdb39b-0917ff4041.zip | Bin 0 -> 3441 bytes ...me-db-npm-1.52.0-b5371d6fd2-0d99a03585.zip | Bin 0 -> 27826 bytes .../mime-npm-1.6.0-60ae95038a-fef25e3926.zip | Bin 0 -> 17139 bytes ...types-npm-2.1.35-dd9ea9f3e2-89a5b7f1de.zip | Bin 0 -> 6692 bytes .../ms-npm-2.0.0-9e1101a471-0e6a22b8b7.zip | Bin 0 -> 3478 bytes .../ms-npm-2.1.3-81ff3cfac1-aa92de6080.zip | Bin 0 -> 3593 bytes ...tiator-npm-0.6.3-9d50e36171-b8ffeb1e26.zip | Bin 0 -> 10848 bytes ...spect-npm-1.12.3-1e7d20f5ff-dabfd824d9.zip | Bin 0 -> 34490 bytes ...nished-npm-2.4.1-907af70f88-d20929a25e.zip | Bin 0 -> 6210 bytes ...rseurl-npm-1.3.3-1542397e00-407cee8e0a.zip | Bin 0 -> 4978 bytes ...regexp-npm-0.1.7-2605347373-69a14ea24d.zip | Bin 0 -> 4204 bytes ...y-addr-npm-2.0.7-dae6552872-29c6990ce9.zip | Bin 0 -> 6599 bytes .../qs-npm-6.11.0-caf1bc9dea-6e1f29dd53.zip | Bin 0 -> 56200 bytes ...parser-npm-1.2.1-1a470fa390-0a268d4fea.zip | Bin 0 -> 4716 bytes ...w-body-npm-2.5.1-9dd1d9fff9-5362adff15.zip | Bin 0 -> 10509 bytes ...buffer-npm-5.2.1-3481c8aa9b-b99c4b41fd.zip | Bin 0 -> 11229 bytes ...buffer-npm-2.1.2-8d5c0b705e-cab8f25ae6.zip | Bin 0 -> 14275 bytes .../send-npm-0.18.0-faadf6353f-74fc07ebb5.zip | Bin 0 -> 17318 bytes ...tatic-npm-1.15.0-86c81879f5-af57fc13be.zip | Bin 0 -> 9748 bytes ...typeof-npm-1.2.0-0fedbdcd3a-be18cbbf70.zip | Bin 0 -> 3292 bytes ...hannel-npm-1.0.4-e1f38b9e06-351e41b947.zip | Bin 0 -> 7631 bytes ...atuses-npm-2.0.1-81d2b97fee-18c7623fdb.zip | Bin 0 -> 5925 bytes ...tifier-npm-1.0.1-f759712599-952c29e2a8.zip | Bin 0 -> 3357 bytes ...pe-is-npm-1.6.18-6dee4d4961-2c8e47675d.zip | Bin 0 -> 7027 bytes ...unpipe-npm-1.0.0-2ed2a3c2bf-4fa18d8d8d.zip | Bin 0 -> 3010 bytes ...-merge-npm-1.0.1-363bbdfbca-c810954932.zip | Bin 0 -> 2853 bytes .../vary-npm-1.1.2-b49f70ae63-ae0123222c.zip | Bin 0 -> 4660 bytes .yarn/releases/yarn-3.6.1.cjs | 874 ++ .yarnrc.yml | 1 + README.md | 3 + app.js | 8 + construct.json | 47 + package.json | 7 + yarn.lock | 540 + 69 files changed, 12905 insertions(+) create mode 100644 .editorconfig create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 .pnp.cjs create mode 100644 .yarn/cache/accepts-npm-1.3.8-9a812371c9-50c43d32e7.zip create mode 100644 .yarn/cache/array-flatten-npm-1.1.1-9d94ad5f1d-a9925bf351.zip create mode 100644 .yarn/cache/body-parser-npm-1.20.1-759fd14db9-f1050dbac3.zip create mode 100644 .yarn/cache/bytes-npm-3.1.2-28b8643004-e4bcd3948d.zip create mode 100644 .yarn/cache/call-bind-npm-1.0.2-c957124861-f8e31de9d1.zip create mode 100644 .yarn/cache/content-disposition-npm-0.5.4-2d93678616-afb9d545e2.zip create mode 100644 .yarn/cache/content-type-npm-1.0.5-3e037bf9ab-566271e0a2.zip create mode 100644 .yarn/cache/cookie-npm-0.5.0-e2d58a161a-1f4bd2ca57.zip create mode 100644 .yarn/cache/cookie-signature-npm-1.0.6-93f325f7f0-f4e1b0a98a.zip create mode 100644 .yarn/cache/debug-npm-2.6.9-7d4cb597dc-d2f51589ca.zip create mode 100644 .yarn/cache/depd-npm-2.0.0-b6c51a4b43-abbe19c768.zip create mode 100644 .yarn/cache/destroy-npm-1.2.0-6a511802e2-0acb300b74.zip create mode 100644 .yarn/cache/ee-first-npm-1.1.1-33f8535b39-1b4cac778d.zip create mode 100644 .yarn/cache/encodeurl-npm-1.0.2-f8c8454c41-e50e3d508c.zip create mode 100644 .yarn/cache/escape-html-npm-1.0.3-376c22ee74-6213ca9ae0.zip create mode 100644 .yarn/cache/etag-npm-1.8.1-54a3b989d9-571aeb3dbe.zip create mode 100644 .yarn/cache/express-npm-4.18.2-bb15ff679a-3c4b9b0768.zip create mode 100644 .yarn/cache/finalhandler-npm-1.2.0-593d001463-92effbfd32.zip create mode 100644 .yarn/cache/forwarded-npm-0.2.0-6473dabe35-fd27e2394d.zip create mode 100644 .yarn/cache/fresh-npm-0.5.2-ad2bb4c0a2-13ea8b08f9.zip create mode 100644 .yarn/cache/function-bind-npm-1.1.1-b56b322ae9-b32fbaebb3.zip create mode 100644 .yarn/cache/get-intrinsic-npm-1.2.1-ae857fd610-5b61d88552.zip create mode 100644 .yarn/cache/has-npm-1.0.3-b7f00631c1-b9ad53d53b.zip create mode 100644 .yarn/cache/has-proto-npm-1.0.1-631ea9d820-febc5b5b53.zip create mode 100644 .yarn/cache/has-symbols-npm-1.0.3-1986bff2c4-a054c40c63.zip create mode 100644 .yarn/cache/http-errors-npm-2.0.0-3f1c503428-9b0a378266.zip create mode 100644 .yarn/cache/iconv-lite-npm-0.4.24-c5c4ac6695-bd9f120f5a.zip create mode 100644 .yarn/cache/inherits-npm-2.0.4-c66b3957a0-4a48a73384.zip create mode 100644 .yarn/cache/ipaddr.js-npm-1.9.1-19ae7878b4-f88d382598.zip create mode 100644 .yarn/cache/media-typer-npm-0.3.0-8674f8f0f5-af1b38516c.zip create mode 100644 .yarn/cache/merge-descriptors-npm-1.0.1-615287aaa8-5abc259d2a.zip create mode 100644 .yarn/cache/methods-npm-1.1.2-92f6fdb39b-0917ff4041.zip create mode 100644 .yarn/cache/mime-db-npm-1.52.0-b5371d6fd2-0d99a03585.zip create mode 100644 .yarn/cache/mime-npm-1.6.0-60ae95038a-fef25e3926.zip create mode 100644 .yarn/cache/mime-types-npm-2.1.35-dd9ea9f3e2-89a5b7f1de.zip create mode 100644 .yarn/cache/ms-npm-2.0.0-9e1101a471-0e6a22b8b7.zip create mode 100644 .yarn/cache/ms-npm-2.1.3-81ff3cfac1-aa92de6080.zip create mode 100644 .yarn/cache/negotiator-npm-0.6.3-9d50e36171-b8ffeb1e26.zip create mode 100644 .yarn/cache/object-inspect-npm-1.12.3-1e7d20f5ff-dabfd824d9.zip create mode 100644 .yarn/cache/on-finished-npm-2.4.1-907af70f88-d20929a25e.zip create mode 100644 .yarn/cache/parseurl-npm-1.3.3-1542397e00-407cee8e0a.zip create mode 100644 .yarn/cache/path-to-regexp-npm-0.1.7-2605347373-69a14ea24d.zip create mode 100644 .yarn/cache/proxy-addr-npm-2.0.7-dae6552872-29c6990ce9.zip create mode 100644 .yarn/cache/qs-npm-6.11.0-caf1bc9dea-6e1f29dd53.zip create mode 100644 .yarn/cache/range-parser-npm-1.2.1-1a470fa390-0a268d4fea.zip create mode 100644 .yarn/cache/raw-body-npm-2.5.1-9dd1d9fff9-5362adff15.zip create mode 100644 .yarn/cache/safe-buffer-npm-5.2.1-3481c8aa9b-b99c4b41fd.zip create mode 100644 .yarn/cache/safer-buffer-npm-2.1.2-8d5c0b705e-cab8f25ae6.zip create mode 100644 .yarn/cache/send-npm-0.18.0-faadf6353f-74fc07ebb5.zip create mode 100644 .yarn/cache/serve-static-npm-1.15.0-86c81879f5-af57fc13be.zip create mode 100644 .yarn/cache/setprototypeof-npm-1.2.0-0fedbdcd3a-be18cbbf70.zip create mode 100644 .yarn/cache/side-channel-npm-1.0.4-e1f38b9e06-351e41b947.zip create mode 100644 .yarn/cache/statuses-npm-2.0.1-81d2b97fee-18c7623fdb.zip create mode 100644 .yarn/cache/toidentifier-npm-1.0.1-f759712599-952c29e2a8.zip create mode 100644 .yarn/cache/type-is-npm-1.6.18-6dee4d4961-2c8e47675d.zip create mode 100644 .yarn/cache/unpipe-npm-1.0.0-2ed2a3c2bf-4fa18d8d8d.zip create mode 100644 .yarn/cache/utils-merge-npm-1.0.1-363bbdfbca-c810954932.zip create mode 100644 .yarn/cache/vary-npm-1.1.2-b49f70ae63-ae0123222c.zip create mode 100644 .yarn/releases/yarn-3.6.1.cjs create mode 100644 .yarnrc.yml create mode 100644 README.md create mode 100644 app.js create mode 100644 construct.json create mode 100644 package.json create mode 100644 yarn.lock diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..1ed453a --- /dev/null +++ b/.editorconfig @@ -0,0 +1,10 @@ +root = true + +[*] +end_of_line = lf +insert_final_newline = true + +[*.{js,json,yml}] +charset = utf-8 +indent_style = space +indent_size = 2 diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..af3ad12 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,4 @@ +/.yarn/** linguist-vendored +/.yarn/releases/* binary +/.yarn/plugins/**/* binary +/.pnp.* binary linguist-generated diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..8410b55 --- /dev/null +++ b/.gitignore @@ -0,0 +1,11 @@ +.yarn/* +!.yarn/patches +!.yarn/plugins +!.yarn/releases +!.yarn/sdks +!.yarn/versions + +# Swap the comments on the following lines if you don't wish to use zero-installs +# Documentation here: https://yarnpkg.com/features/zero-installs +!.yarn/cache +#.pnp.* diff --git a/.pnp.cjs b/.pnp.cjs new file mode 100644 index 0000000..f876511 --- /dev/null +++ b/.pnp.cjs @@ -0,0 +1,11400 @@ +#!/usr/bin/env node +/* eslint-disable */ +"use strict"; + +function $$SETUP_STATE(hydrateRuntimeState, basePath) { + return hydrateRuntimeState(JSON.parse('{\ + "__info": [\ + "This file is automatically generated. Do not touch it, or risk",\ + "your modifications being lost. We also recommend you not to read",\ + "it either without using the @yarnpkg/pnp package, as the data layout",\ + "is entirely unspecified and WILL change from a version to another."\ + ],\ + "dependencyTreeRoots": [\ + {\ + "name": "UNHB-spaceapi",\ + "reference": "workspace:."\ + }\ + ],\ + "enableTopLevelFallback": true,\ + "ignorePatternData": "(^(?:\\\\.yarn\\\\/sdks(?:\\\\/(?!\\\\.{1,2}(?:\\\\/|$))(?:(?:(?!(?:^|\\\\/)\\\\.{1,2}(?:\\\\/|$)).)*?)|$))$)",\ + "fallbackExclusionList": [\ + ["UNHB-spaceapi", ["workspace:."]]\ + ],\ + "fallbackPool": [\ + ],\ + "packageRegistryData": [\ + [null, [\ + [null, {\ + "packageLocation": "./",\ + "packageDependencies": [\ + ["express", "npm:4.18.2"]\ + ],\ + "linkType": "SOFT"\ + }]\ + ]],\ + ["UNHB-spaceapi", [\ + ["workspace:.", {\ + "packageLocation": "./",\ + "packageDependencies": [\ + ["UNHB-spaceapi", "workspace:."],\ + ["express", "npm:4.18.2"]\ + ],\ + "linkType": "SOFT"\ + }]\ + ]],\ + ["accepts", [\ + ["npm:1.3.8", {\ + "packageLocation": "./.yarn/cache/accepts-npm-1.3.8-9a812371c9-50c43d32e7.zip/node_modules/accepts/",\ + "packageDependencies": [\ + ["accepts", "npm:1.3.8"],\ + ["mime-types", "npm:2.1.35"],\ + ["negotiator", "npm:0.6.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["array-flatten", [\ + ["npm:1.1.1", {\ + "packageLocation": "./.yarn/cache/array-flatten-npm-1.1.1-9d94ad5f1d-a9925bf351.zip/node_modules/array-flatten/",\ + "packageDependencies": [\ + ["array-flatten", "npm:1.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["body-parser", [\ + ["npm:1.20.1", {\ + "packageLocation": "./.yarn/cache/body-parser-npm-1.20.1-759fd14db9-f1050dbac3.zip/node_modules/body-parser/",\ + "packageDependencies": [\ + ["body-parser", "npm:1.20.1"],\ + ["bytes", "npm:3.1.2"],\ + ["content-type", "npm:1.0.5"],\ + ["debug", "virtual:759fd14db92b54abdb7afb3d21dbf8d50f1a5c59c96cd3f963ce3e3ed063bdb801142fae5f01cc81fb79f7ddc13b7c31a9deb9d5a9cfa48ec107f83de8f7f40e#npm:2.6.9"],\ + ["depd", "npm:2.0.0"],\ + ["destroy", "npm:1.2.0"],\ + ["http-errors", "npm:2.0.0"],\ + ["iconv-lite", "npm:0.4.24"],\ + ["on-finished", "npm:2.4.1"],\ + ["qs", "npm:6.11.0"],\ + ["raw-body", "npm:2.5.1"],\ + ["type-is", "npm:1.6.18"],\ + ["unpipe", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["bytes", [\ + ["npm:3.1.2", {\ + "packageLocation": "./.yarn/cache/bytes-npm-3.1.2-28b8643004-e4bcd3948d.zip/node_modules/bytes/",\ + "packageDependencies": [\ + ["bytes", "npm:3.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["call-bind", [\ + ["npm:1.0.2", {\ + "packageLocation": "./.yarn/cache/call-bind-npm-1.0.2-c957124861-f8e31de9d1.zip/node_modules/call-bind/",\ + "packageDependencies": [\ + ["call-bind", "npm:1.0.2"],\ + ["function-bind", "npm:1.1.1"],\ + ["get-intrinsic", "npm:1.2.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["content-disposition", [\ + ["npm:0.5.4", {\ + "packageLocation": "./.yarn/cache/content-disposition-npm-0.5.4-2d93678616-afb9d545e2.zip/node_modules/content-disposition/",\ + "packageDependencies": [\ + ["content-disposition", "npm:0.5.4"],\ + ["safe-buffer", "npm:5.2.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["content-type", [\ + ["npm:1.0.5", {\ + "packageLocation": "./.yarn/cache/content-type-npm-1.0.5-3e037bf9ab-566271e0a2.zip/node_modules/content-type/",\ + "packageDependencies": [\ + ["content-type", "npm:1.0.5"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["cookie", [\ + ["npm:0.5.0", {\ + "packageLocation": "./.yarn/cache/cookie-npm-0.5.0-e2d58a161a-1f4bd2ca57.zip/node_modules/cookie/",\ + "packageDependencies": [\ + ["cookie", "npm:0.5.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["cookie-signature", [\ + ["npm:1.0.6", {\ + "packageLocation": "./.yarn/cache/cookie-signature-npm-1.0.6-93f325f7f0-f4e1b0a98a.zip/node_modules/cookie-signature/",\ + "packageDependencies": [\ + ["cookie-signature", "npm:1.0.6"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["debug", [\ + ["npm:2.6.9", {\ + "packageLocation": "./.yarn/cache/debug-npm-2.6.9-7d4cb597dc-d2f51589ca.zip/node_modules/debug/",\ + "packageDependencies": [\ + ["debug", "npm:2.6.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:759fd14db92b54abdb7afb3d21dbf8d50f1a5c59c96cd3f963ce3e3ed063bdb801142fae5f01cc81fb79f7ddc13b7c31a9deb9d5a9cfa48ec107f83de8f7f40e#npm:2.6.9", {\ + "packageLocation": "./.yarn/__virtual__/debug-virtual-c49e738777/0/cache/debug-npm-2.6.9-7d4cb597dc-d2f51589ca.zip/node_modules/debug/",\ + "packageDependencies": [\ + ["debug", "virtual:759fd14db92b54abdb7afb3d21dbf8d50f1a5c59c96cd3f963ce3e3ed063bdb801142fae5f01cc81fb79f7ddc13b7c31a9deb9d5a9cfa48ec107f83de8f7f40e#npm:2.6.9"],\ + ["@types/supports-color", null],\ + ["ms", "npm:2.0.0"],\ + ["supports-color", null]\ + ],\ + "packagePeers": [\ + "@types/supports-color",\ + "supports-color"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["depd", [\ + ["npm:2.0.0", {\ + "packageLocation": "./.yarn/cache/depd-npm-2.0.0-b6c51a4b43-abbe19c768.zip/node_modules/depd/",\ + "packageDependencies": [\ + ["depd", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["destroy", [\ + ["npm:1.2.0", {\ + "packageLocation": "./.yarn/cache/destroy-npm-1.2.0-6a511802e2-0acb300b74.zip/node_modules/destroy/",\ + "packageDependencies": [\ + ["destroy", "npm:1.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["ee-first", [\ + ["npm:1.1.1", {\ + "packageLocation": "./.yarn/cache/ee-first-npm-1.1.1-33f8535b39-1b4cac778d.zip/node_modules/ee-first/",\ + "packageDependencies": [\ + ["ee-first", "npm:1.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["encodeurl", [\ + ["npm:1.0.2", {\ + "packageLocation": "./.yarn/cache/encodeurl-npm-1.0.2-f8c8454c41-e50e3d508c.zip/node_modules/encodeurl/",\ + "packageDependencies": [\ + ["encodeurl", "npm:1.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["escape-html", [\ + ["npm:1.0.3", {\ + "packageLocation": "./.yarn/cache/escape-html-npm-1.0.3-376c22ee74-6213ca9ae0.zip/node_modules/escape-html/",\ + "packageDependencies": [\ + ["escape-html", "npm:1.0.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["etag", [\ + ["npm:1.8.1", {\ + "packageLocation": "./.yarn/cache/etag-npm-1.8.1-54a3b989d9-571aeb3dbe.zip/node_modules/etag/",\ + "packageDependencies": [\ + ["etag", "npm:1.8.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["express", [\ + ["npm:4.18.2", {\ + "packageLocation": "./.yarn/cache/express-npm-4.18.2-bb15ff679a-3c4b9b0768.zip/node_modules/express/",\ + "packageDependencies": [\ + ["express", "npm:4.18.2"],\ + ["accepts", "npm:1.3.8"],\ + ["array-flatten", "npm:1.1.1"],\ + ["body-parser", "npm:1.20.1"],\ + ["content-disposition", "npm:0.5.4"],\ + ["content-type", "npm:1.0.5"],\ + ["cookie", "npm:0.5.0"],\ + ["cookie-signature", "npm:1.0.6"],\ + ["debug", "virtual:759fd14db92b54abdb7afb3d21dbf8d50f1a5c59c96cd3f963ce3e3ed063bdb801142fae5f01cc81fb79f7ddc13b7c31a9deb9d5a9cfa48ec107f83de8f7f40e#npm:2.6.9"],\ + ["depd", "npm:2.0.0"],\ + ["encodeurl", "npm:1.0.2"],\ + ["escape-html", "npm:1.0.3"],\ + ["etag", "npm:1.8.1"],\ + ["finalhandler", "npm:1.2.0"],\ + ["fresh", "npm:0.5.2"],\ + ["http-errors", "npm:2.0.0"],\ + ["merge-descriptors", "npm:1.0.1"],\ + ["methods", "npm:1.1.2"],\ + ["on-finished", "npm:2.4.1"],\ + ["parseurl", "npm:1.3.3"],\ + ["path-to-regexp", "npm:0.1.7"],\ + ["proxy-addr", "npm:2.0.7"],\ + ["qs", "npm:6.11.0"],\ + ["range-parser", "npm:1.2.1"],\ + ["safe-buffer", "npm:5.2.1"],\ + ["send", "npm:0.18.0"],\ + ["serve-static", "npm:1.15.0"],\ + ["setprototypeof", "npm:1.2.0"],\ + ["statuses", "npm:2.0.1"],\ + ["type-is", "npm:1.6.18"],\ + ["utils-merge", "npm:1.0.1"],\ + ["vary", "npm:1.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["finalhandler", [\ + ["npm:1.2.0", {\ + "packageLocation": "./.yarn/cache/finalhandler-npm-1.2.0-593d001463-92effbfd32.zip/node_modules/finalhandler/",\ + "packageDependencies": [\ + ["finalhandler", "npm:1.2.0"],\ + ["debug", "virtual:759fd14db92b54abdb7afb3d21dbf8d50f1a5c59c96cd3f963ce3e3ed063bdb801142fae5f01cc81fb79f7ddc13b7c31a9deb9d5a9cfa48ec107f83de8f7f40e#npm:2.6.9"],\ + ["encodeurl", "npm:1.0.2"],\ + ["escape-html", "npm:1.0.3"],\ + ["on-finished", "npm:2.4.1"],\ + ["parseurl", "npm:1.3.3"],\ + ["statuses", "npm:2.0.1"],\ + ["unpipe", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["forwarded", [\ + ["npm:0.2.0", {\ + "packageLocation": "./.yarn/cache/forwarded-npm-0.2.0-6473dabe35-fd27e2394d.zip/node_modules/forwarded/",\ + "packageDependencies": [\ + ["forwarded", "npm:0.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["fresh", [\ + ["npm:0.5.2", {\ + "packageLocation": "./.yarn/cache/fresh-npm-0.5.2-ad2bb4c0a2-13ea8b08f9.zip/node_modules/fresh/",\ + "packageDependencies": [\ + ["fresh", "npm:0.5.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["function-bind", [\ + ["npm:1.1.1", {\ + "packageLocation": "./.yarn/cache/function-bind-npm-1.1.1-b56b322ae9-b32fbaebb3.zip/node_modules/function-bind/",\ + "packageDependencies": [\ + ["function-bind", "npm:1.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["get-intrinsic", [\ + ["npm:1.2.1", {\ + "packageLocation": "./.yarn/cache/get-intrinsic-npm-1.2.1-ae857fd610-5b61d88552.zip/node_modules/get-intrinsic/",\ + "packageDependencies": [\ + ["get-intrinsic", "npm:1.2.1"],\ + ["function-bind", "npm:1.1.1"],\ + ["has", "npm:1.0.3"],\ + ["has-proto", "npm:1.0.1"],\ + ["has-symbols", "npm:1.0.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["has", [\ + ["npm:1.0.3", {\ + "packageLocation": "./.yarn/cache/has-npm-1.0.3-b7f00631c1-b9ad53d53b.zip/node_modules/has/",\ + "packageDependencies": [\ + ["has", "npm:1.0.3"],\ + ["function-bind", "npm:1.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["has-proto", [\ + ["npm:1.0.1", {\ + "packageLocation": "./.yarn/cache/has-proto-npm-1.0.1-631ea9d820-febc5b5b53.zip/node_modules/has-proto/",\ + "packageDependencies": [\ + ["has-proto", "npm:1.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["has-symbols", [\ + ["npm:1.0.3", {\ + "packageLocation": "./.yarn/cache/has-symbols-npm-1.0.3-1986bff2c4-a054c40c63.zip/node_modules/has-symbols/",\ + "packageDependencies": [\ + ["has-symbols", "npm:1.0.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["http-errors", [\ + ["npm:2.0.0", {\ + "packageLocation": "./.yarn/cache/http-errors-npm-2.0.0-3f1c503428-9b0a378266.zip/node_modules/http-errors/",\ + "packageDependencies": [\ + ["http-errors", "npm:2.0.0"],\ + ["depd", "npm:2.0.0"],\ + ["inherits", "npm:2.0.4"],\ + ["setprototypeof", "npm:1.2.0"],\ + ["statuses", "npm:2.0.1"],\ + ["toidentifier", "npm:1.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["iconv-lite", [\ + ["npm:0.4.24", {\ + "packageLocation": "./.yarn/cache/iconv-lite-npm-0.4.24-c5c4ac6695-bd9f120f5a.zip/node_modules/iconv-lite/",\ + "packageDependencies": [\ + ["iconv-lite", "npm:0.4.24"],\ + ["safer-buffer", "npm:2.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["inherits", [\ + ["npm:2.0.4", {\ + "packageLocation": "./.yarn/cache/inherits-npm-2.0.4-c66b3957a0-4a48a73384.zip/node_modules/inherits/",\ + "packageDependencies": [\ + ["inherits", "npm:2.0.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["ipaddr.js", [\ + ["npm:1.9.1", {\ + "packageLocation": "./.yarn/cache/ipaddr.js-npm-1.9.1-19ae7878b4-f88d382598.zip/node_modules/ipaddr.js/",\ + "packageDependencies": [\ + ["ipaddr.js", "npm:1.9.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["media-typer", [\ + ["npm:0.3.0", {\ + "packageLocation": "./.yarn/cache/media-typer-npm-0.3.0-8674f8f0f5-af1b38516c.zip/node_modules/media-typer/",\ + "packageDependencies": [\ + ["media-typer", "npm:0.3.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["merge-descriptors", [\ + ["npm:1.0.1", {\ + "packageLocation": "./.yarn/cache/merge-descriptors-npm-1.0.1-615287aaa8-5abc259d2a.zip/node_modules/merge-descriptors/",\ + "packageDependencies": [\ + ["merge-descriptors", "npm:1.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["methods", [\ + ["npm:1.1.2", {\ + "packageLocation": "./.yarn/cache/methods-npm-1.1.2-92f6fdb39b-0917ff4041.zip/node_modules/methods/",\ + "packageDependencies": [\ + ["methods", "npm:1.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["mime", [\ + ["npm:1.6.0", {\ + "packageLocation": "./.yarn/cache/mime-npm-1.6.0-60ae95038a-fef25e3926.zip/node_modules/mime/",\ + "packageDependencies": [\ + ["mime", "npm:1.6.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["mime-db", [\ + ["npm:1.52.0", {\ + "packageLocation": "./.yarn/cache/mime-db-npm-1.52.0-b5371d6fd2-0d99a03585.zip/node_modules/mime-db/",\ + "packageDependencies": [\ + ["mime-db", "npm:1.52.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["mime-types", [\ + ["npm:2.1.35", {\ + "packageLocation": "./.yarn/cache/mime-types-npm-2.1.35-dd9ea9f3e2-89a5b7f1de.zip/node_modules/mime-types/",\ + "packageDependencies": [\ + ["mime-types", "npm:2.1.35"],\ + ["mime-db", "npm:1.52.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["ms", [\ + ["npm:2.0.0", {\ + "packageLocation": "./.yarn/cache/ms-npm-2.0.0-9e1101a471-0e6a22b8b7.zip/node_modules/ms/",\ + "packageDependencies": [\ + ["ms", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:2.1.3", {\ + "packageLocation": "./.yarn/cache/ms-npm-2.1.3-81ff3cfac1-aa92de6080.zip/node_modules/ms/",\ + "packageDependencies": [\ + ["ms", "npm:2.1.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["negotiator", [\ + ["npm:0.6.3", {\ + "packageLocation": "./.yarn/cache/negotiator-npm-0.6.3-9d50e36171-b8ffeb1e26.zip/node_modules/negotiator/",\ + "packageDependencies": [\ + ["negotiator", "npm:0.6.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["object-inspect", [\ + ["npm:1.12.3", {\ + "packageLocation": "./.yarn/cache/object-inspect-npm-1.12.3-1e7d20f5ff-dabfd824d9.zip/node_modules/object-inspect/",\ + "packageDependencies": [\ + ["object-inspect", "npm:1.12.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["on-finished", [\ + ["npm:2.4.1", {\ + "packageLocation": "./.yarn/cache/on-finished-npm-2.4.1-907af70f88-d20929a25e.zip/node_modules/on-finished/",\ + "packageDependencies": [\ + ["on-finished", "npm:2.4.1"],\ + ["ee-first", "npm:1.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["parseurl", [\ + ["npm:1.3.3", {\ + "packageLocation": "./.yarn/cache/parseurl-npm-1.3.3-1542397e00-407cee8e0a.zip/node_modules/parseurl/",\ + "packageDependencies": [\ + ["parseurl", "npm:1.3.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["path-to-regexp", [\ + ["npm:0.1.7", {\ + "packageLocation": "./.yarn/cache/path-to-regexp-npm-0.1.7-2605347373-69a14ea24d.zip/node_modules/path-to-regexp/",\ + "packageDependencies": [\ + ["path-to-regexp", "npm:0.1.7"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["proxy-addr", [\ + ["npm:2.0.7", {\ + "packageLocation": "./.yarn/cache/proxy-addr-npm-2.0.7-dae6552872-29c6990ce9.zip/node_modules/proxy-addr/",\ + "packageDependencies": [\ + ["proxy-addr", "npm:2.0.7"],\ + ["forwarded", "npm:0.2.0"],\ + ["ipaddr.js", "npm:1.9.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["qs", [\ + ["npm:6.11.0", {\ + "packageLocation": "./.yarn/cache/qs-npm-6.11.0-caf1bc9dea-6e1f29dd53.zip/node_modules/qs/",\ + "packageDependencies": [\ + ["qs", "npm:6.11.0"],\ + ["side-channel", "npm:1.0.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["range-parser", [\ + ["npm:1.2.1", {\ + "packageLocation": "./.yarn/cache/range-parser-npm-1.2.1-1a470fa390-0a268d4fea.zip/node_modules/range-parser/",\ + "packageDependencies": [\ + ["range-parser", "npm:1.2.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["raw-body", [\ + ["npm:2.5.1", {\ + "packageLocation": "./.yarn/cache/raw-body-npm-2.5.1-9dd1d9fff9-5362adff15.zip/node_modules/raw-body/",\ + "packageDependencies": [\ + ["raw-body", "npm:2.5.1"],\ + ["bytes", "npm:3.1.2"],\ + ["http-errors", "npm:2.0.0"],\ + ["iconv-lite", "npm:0.4.24"],\ + ["unpipe", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["safe-buffer", [\ + ["npm:5.2.1", {\ + "packageLocation": "./.yarn/cache/safe-buffer-npm-5.2.1-3481c8aa9b-b99c4b41fd.zip/node_modules/safe-buffer/",\ + "packageDependencies": [\ + ["safe-buffer", "npm:5.2.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["safer-buffer", [\ + ["npm:2.1.2", {\ + "packageLocation": "./.yarn/cache/safer-buffer-npm-2.1.2-8d5c0b705e-cab8f25ae6.zip/node_modules/safer-buffer/",\ + "packageDependencies": [\ + ["safer-buffer", "npm:2.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["send", [\ + ["npm:0.18.0", {\ + "packageLocation": "./.yarn/cache/send-npm-0.18.0-faadf6353f-74fc07ebb5.zip/node_modules/send/",\ + "packageDependencies": [\ + ["send", "npm:0.18.0"],\ + ["debug", "virtual:759fd14db92b54abdb7afb3d21dbf8d50f1a5c59c96cd3f963ce3e3ed063bdb801142fae5f01cc81fb79f7ddc13b7c31a9deb9d5a9cfa48ec107f83de8f7f40e#npm:2.6.9"],\ + ["depd", "npm:2.0.0"],\ + ["destroy", "npm:1.2.0"],\ + ["encodeurl", "npm:1.0.2"],\ + ["escape-html", "npm:1.0.3"],\ + ["etag", "npm:1.8.1"],\ + ["fresh", "npm:0.5.2"],\ + ["http-errors", "npm:2.0.0"],\ + ["mime", "npm:1.6.0"],\ + ["ms", "npm:2.1.3"],\ + ["on-finished", "npm:2.4.1"],\ + ["range-parser", "npm:1.2.1"],\ + ["statuses", "npm:2.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["serve-static", [\ + ["npm:1.15.0", {\ + "packageLocation": "./.yarn/cache/serve-static-npm-1.15.0-86c81879f5-af57fc13be.zip/node_modules/serve-static/",\ + "packageDependencies": [\ + ["serve-static", "npm:1.15.0"],\ + ["encodeurl", "npm:1.0.2"],\ + ["escape-html", "npm:1.0.3"],\ + ["parseurl", "npm:1.3.3"],\ + ["send", "npm:0.18.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["setprototypeof", [\ + ["npm:1.2.0", {\ + "packageLocation": "./.yarn/cache/setprototypeof-npm-1.2.0-0fedbdcd3a-be18cbbf70.zip/node_modules/setprototypeof/",\ + "packageDependencies": [\ + ["setprototypeof", "npm:1.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["side-channel", [\ + ["npm:1.0.4", {\ + "packageLocation": "./.yarn/cache/side-channel-npm-1.0.4-e1f38b9e06-351e41b947.zip/node_modules/side-channel/",\ + "packageDependencies": [\ + ["side-channel", "npm:1.0.4"],\ + ["call-bind", "npm:1.0.2"],\ + ["get-intrinsic", "npm:1.2.1"],\ + ["object-inspect", "npm:1.12.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["statuses", [\ + ["npm:2.0.1", {\ + "packageLocation": "./.yarn/cache/statuses-npm-2.0.1-81d2b97fee-18c7623fdb.zip/node_modules/statuses/",\ + "packageDependencies": [\ + ["statuses", "npm:2.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["toidentifier", [\ + ["npm:1.0.1", {\ + "packageLocation": "./.yarn/cache/toidentifier-npm-1.0.1-f759712599-952c29e2a8.zip/node_modules/toidentifier/",\ + "packageDependencies": [\ + ["toidentifier", "npm:1.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["type-is", [\ + ["npm:1.6.18", {\ + "packageLocation": "./.yarn/cache/type-is-npm-1.6.18-6dee4d4961-2c8e47675d.zip/node_modules/type-is/",\ + "packageDependencies": [\ + ["type-is", "npm:1.6.18"],\ + ["media-typer", "npm:0.3.0"],\ + ["mime-types", "npm:2.1.35"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["unpipe", [\ + ["npm:1.0.0", {\ + "packageLocation": "./.yarn/cache/unpipe-npm-1.0.0-2ed2a3c2bf-4fa18d8d8d.zip/node_modules/unpipe/",\ + "packageDependencies": [\ + ["unpipe", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["utils-merge", [\ + ["npm:1.0.1", {\ + "packageLocation": "./.yarn/cache/utils-merge-npm-1.0.1-363bbdfbca-c810954932.zip/node_modules/utils-merge/",\ + "packageDependencies": [\ + ["utils-merge", "npm:1.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["vary", [\ + ["npm:1.1.2", {\ + "packageLocation": "./.yarn/cache/vary-npm-1.1.2-b49f70ae63-ae0123222c.zip/node_modules/vary/",\ + "packageDependencies": [\ + ["vary", "npm:1.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]]\ + ]\ + }'), {basePath: basePath || __dirname}); + } + +const fs = require('fs'); +const path = require('path'); +const require$$0 = require('module'); +const StringDecoder = require('string_decoder'); +const url = require('url'); +const os = require('os'); +const nodeUtils = require('util'); +const readline = require('readline'); +const assert = require('assert'); +const stream = require('stream'); +const zlib = require('zlib'); +const events = require('events'); + +const _interopDefaultLegacy = e => e && typeof e === 'object' && 'default' in e ? e : { default: e }; + +function _interopNamespace(e) { + if (e && e.__esModule) return e; + const n = Object.create(null); + if (e) { + for (const k in e) { + if (k !== 'default') { + const d = Object.getOwnPropertyDescriptor(e, k); + Object.defineProperty(n, k, d.get ? d : { + enumerable: true, + get: () => e[k] + }); + } + } + } + n.default = e; + return Object.freeze(n); +} + +const fs__default = /*#__PURE__*/_interopDefaultLegacy(fs); +const path__default = /*#__PURE__*/_interopDefaultLegacy(path); +const require$$0__default = /*#__PURE__*/_interopDefaultLegacy(require$$0); +const StringDecoder__default = /*#__PURE__*/_interopDefaultLegacy(StringDecoder); +const nodeUtils__namespace = /*#__PURE__*/_interopNamespace(nodeUtils); +const assert__default = /*#__PURE__*/_interopDefaultLegacy(assert); +const zlib__default = /*#__PURE__*/_interopDefaultLegacy(zlib); + +const S_IFMT = 61440; +const S_IFDIR = 16384; +const S_IFREG = 32768; +const S_IFLNK = 40960; +const SAFE_TIME = 456789e3; + +const DEFAULT_MODE = S_IFREG | 420; +class StatEntry { + constructor() { + this.uid = 0; + this.gid = 0; + this.size = 0; + this.blksize = 0; + this.atimeMs = 0; + this.mtimeMs = 0; + this.ctimeMs = 0; + this.birthtimeMs = 0; + this.atime = new Date(0); + this.mtime = new Date(0); + this.ctime = new Date(0); + this.birthtime = new Date(0); + this.dev = 0; + this.ino = 0; + this.mode = DEFAULT_MODE; + this.nlink = 1; + this.rdev = 0; + this.blocks = 1; + } + isBlockDevice() { + return false; + } + isCharacterDevice() { + return false; + } + isDirectory() { + return (this.mode & S_IFMT) === S_IFDIR; + } + isFIFO() { + return false; + } + isFile() { + return (this.mode & S_IFMT) === S_IFREG; + } + isSocket() { + return false; + } + isSymbolicLink() { + return (this.mode & S_IFMT) === S_IFLNK; + } +} +class BigIntStatsEntry { + constructor() { + this.uid = BigInt(0); + this.gid = BigInt(0); + this.size = BigInt(0); + this.blksize = BigInt(0); + this.atimeMs = BigInt(0); + this.mtimeMs = BigInt(0); + this.ctimeMs = BigInt(0); + this.birthtimeMs = BigInt(0); + this.atimeNs = BigInt(0); + this.mtimeNs = BigInt(0); + this.ctimeNs = BigInt(0); + this.birthtimeNs = BigInt(0); + this.atime = new Date(0); + this.mtime = new Date(0); + this.ctime = new Date(0); + this.birthtime = new Date(0); + this.dev = BigInt(0); + this.ino = BigInt(0); + this.mode = BigInt(DEFAULT_MODE); + this.nlink = BigInt(1); + this.rdev = BigInt(0); + this.blocks = BigInt(1); + } + isBlockDevice() { + return false; + } + isCharacterDevice() { + return false; + } + isDirectory() { + return (this.mode & BigInt(S_IFMT)) === BigInt(S_IFDIR); + } + isFIFO() { + return false; + } + isFile() { + return (this.mode & BigInt(S_IFMT)) === BigInt(S_IFREG); + } + isSocket() { + return false; + } + isSymbolicLink() { + return (this.mode & BigInt(S_IFMT)) === BigInt(S_IFLNK); + } +} +function makeDefaultStats() { + return new StatEntry(); +} +function clearStats(stats) { + for (const key in stats) { + if (Object.prototype.hasOwnProperty.call(stats, key)) { + const element = stats[key]; + if (typeof element === `number`) { + stats[key] = 0; + } else if (typeof element === `bigint`) { + stats[key] = BigInt(0); + } else if (nodeUtils__namespace.types.isDate(element)) { + stats[key] = new Date(0); + } + } + } + return stats; +} +function convertToBigIntStats(stats) { + const bigintStats = new BigIntStatsEntry(); + for (const key in stats) { + if (Object.prototype.hasOwnProperty.call(stats, key)) { + const element = stats[key]; + if (typeof element === `number`) { + bigintStats[key] = BigInt(element); + } else if (nodeUtils__namespace.types.isDate(element)) { + bigintStats[key] = new Date(element); + } + } + } + bigintStats.atimeNs = bigintStats.atimeMs * BigInt(1e6); + bigintStats.mtimeNs = bigintStats.mtimeMs * BigInt(1e6); + bigintStats.ctimeNs = bigintStats.ctimeMs * BigInt(1e6); + bigintStats.birthtimeNs = bigintStats.birthtimeMs * BigInt(1e6); + return bigintStats; +} +function areStatsEqual(a, b) { + if (a.atimeMs !== b.atimeMs) + return false; + if (a.birthtimeMs !== b.birthtimeMs) + return false; + if (a.blksize !== b.blksize) + return false; + if (a.blocks !== b.blocks) + return false; + if (a.ctimeMs !== b.ctimeMs) + return false; + if (a.dev !== b.dev) + return false; + if (a.gid !== b.gid) + return false; + if (a.ino !== b.ino) + return false; + if (a.isBlockDevice() !== b.isBlockDevice()) + return false; + if (a.isCharacterDevice() !== b.isCharacterDevice()) + return false; + if (a.isDirectory() !== b.isDirectory()) + return false; + if (a.isFIFO() !== b.isFIFO()) + return false; + if (a.isFile() !== b.isFile()) + return false; + if (a.isSocket() !== b.isSocket()) + return false; + if (a.isSymbolicLink() !== b.isSymbolicLink()) + return false; + if (a.mode !== b.mode) + return false; + if (a.mtimeMs !== b.mtimeMs) + return false; + if (a.nlink !== b.nlink) + return false; + if (a.rdev !== b.rdev) + return false; + if (a.size !== b.size) + return false; + if (a.uid !== b.uid) + return false; + const aN = a; + const bN = b; + if (aN.atimeNs !== bN.atimeNs) + return false; + if (aN.mtimeNs !== bN.mtimeNs) + return false; + if (aN.ctimeNs !== bN.ctimeNs) + return false; + if (aN.birthtimeNs !== bN.birthtimeNs) + return false; + return true; +} + +const PortablePath = { + root: `/`, + dot: `.`, + parent: `..` +}; +const Filename = { + nodeModules: `node_modules`, + manifest: `package.json`, + lockfile: `yarn.lock`, + virtual: `__virtual__`, + pnpJs: `.pnp.js`, + pnpCjs: `.pnp.cjs`, + rc: `.yarnrc.yml` +}; +const npath = Object.create(path__default.default); +const ppath = Object.create(path__default.default.posix); +npath.cwd = () => process.cwd(); +ppath.cwd = () => toPortablePath(process.cwd()); +ppath.resolve = (...segments) => { + if (segments.length > 0 && ppath.isAbsolute(segments[0])) { + return path__default.default.posix.resolve(...segments); + } else { + return path__default.default.posix.resolve(ppath.cwd(), ...segments); + } +}; +const contains = function(pathUtils, from, to) { + from = pathUtils.normalize(from); + to = pathUtils.normalize(to); + if (from === to) + return `.`; + if (!from.endsWith(pathUtils.sep)) + from = from + pathUtils.sep; + if (to.startsWith(from)) { + return to.slice(from.length); + } else { + return null; + } +}; +npath.fromPortablePath = fromPortablePath; +npath.toPortablePath = toPortablePath; +npath.contains = (from, to) => contains(npath, from, to); +ppath.contains = (from, to) => contains(ppath, from, to); +const WINDOWS_PATH_REGEXP = /^([a-zA-Z]:.*)$/; +const UNC_WINDOWS_PATH_REGEXP = /^\/\/(\.\/)?(.*)$/; +const PORTABLE_PATH_REGEXP = /^\/([a-zA-Z]:.*)$/; +const UNC_PORTABLE_PATH_REGEXP = /^\/unc\/(\.dot\/)?(.*)$/; +function fromPortablePath(p) { + if (process.platform !== `win32`) + return p; + let portablePathMatch, uncPortablePathMatch; + if (portablePathMatch = p.match(PORTABLE_PATH_REGEXP)) + p = portablePathMatch[1]; + else if (uncPortablePathMatch = p.match(UNC_PORTABLE_PATH_REGEXP)) + p = `\\\\${uncPortablePathMatch[1] ? `.\\` : ``}${uncPortablePathMatch[2]}`; + else + return p; + return p.replace(/\//g, `\\`); +} +function toPortablePath(p) { + if (process.platform !== `win32`) + return p; + p = p.replace(/\\/g, `/`); + let windowsPathMatch, uncWindowsPathMatch; + if (windowsPathMatch = p.match(WINDOWS_PATH_REGEXP)) + p = `/${windowsPathMatch[1]}`; + else if (uncWindowsPathMatch = p.match(UNC_WINDOWS_PATH_REGEXP)) + p = `/unc/${uncWindowsPathMatch[1] ? `.dot/` : ``}${uncWindowsPathMatch[2]}`; + return p; +} +function convertPath(targetPathUtils, sourcePath) { + return targetPathUtils === npath ? fromPortablePath(sourcePath) : toPortablePath(sourcePath); +} + +const defaultTime = new Date(SAFE_TIME * 1e3); +async function copyPromise(destinationFs, destination, sourceFs, source, opts) { + const normalizedDestination = destinationFs.pathUtils.normalize(destination); + const normalizedSource = sourceFs.pathUtils.normalize(source); + const prelayout = []; + const postlayout = []; + const { atime, mtime } = opts.stableTime ? { atime: defaultTime, mtime: defaultTime } : await sourceFs.lstatPromise(normalizedSource); + await destinationFs.mkdirpPromise(destinationFs.pathUtils.dirname(destination), { utimes: [atime, mtime] }); + const updateTime = typeof destinationFs.lutimesPromise === `function` ? destinationFs.lutimesPromise.bind(destinationFs) : destinationFs.utimesPromise.bind(destinationFs); + await copyImpl(prelayout, postlayout, updateTime, destinationFs, normalizedDestination, sourceFs, normalizedSource, { ...opts, didParentExist: true }); + for (const operation of prelayout) + await operation(); + await Promise.all(postlayout.map((operation) => { + return operation(); + })); +} +async function copyImpl(prelayout, postlayout, updateTime, destinationFs, destination, sourceFs, source, opts) { + var _a, _b; + const destinationStat = opts.didParentExist ? await maybeLStat(destinationFs, destination) : null; + const sourceStat = await sourceFs.lstatPromise(source); + const { atime, mtime } = opts.stableTime ? { atime: defaultTime, mtime: defaultTime } : sourceStat; + let updated; + switch (true) { + case sourceStat.isDirectory(): + { + updated = await copyFolder(prelayout, postlayout, updateTime, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts); + } + break; + case sourceStat.isFile(): + { + updated = await copyFile(prelayout, postlayout, updateTime, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts); + } + break; + case sourceStat.isSymbolicLink(): + { + updated = await copySymlink(prelayout, postlayout, updateTime, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts); + } + break; + default: + { + throw new Error(`Unsupported file type (${sourceStat.mode})`); + } + } + if (updated || ((_a = destinationStat == null ? void 0 : destinationStat.mtime) == null ? void 0 : _a.getTime()) !== mtime.getTime() || ((_b = destinationStat == null ? void 0 : destinationStat.atime) == null ? void 0 : _b.getTime()) !== atime.getTime()) { + postlayout.push(() => updateTime(destination, atime, mtime)); + updated = true; + } + if (destinationStat === null || (destinationStat.mode & 511) !== (sourceStat.mode & 511)) { + postlayout.push(() => destinationFs.chmodPromise(destination, sourceStat.mode & 511)); + updated = true; + } + return updated; +} +async function maybeLStat(baseFs, p) { + try { + return await baseFs.lstatPromise(p); + } catch (e) { + return null; + } +} +async function copyFolder(prelayout, postlayout, updateTime, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts) { + if (destinationStat !== null && !destinationStat.isDirectory()) { + if (opts.overwrite) { + prelayout.push(async () => destinationFs.removePromise(destination)); + destinationStat = null; + } else { + return false; + } + } + let updated = false; + if (destinationStat === null) { + prelayout.push(async () => { + try { + await destinationFs.mkdirPromise(destination, { mode: sourceStat.mode }); + } catch (err) { + if (err.code !== `EEXIST`) { + throw err; + } + } + }); + updated = true; + } + const entries = await sourceFs.readdirPromise(source); + const nextOpts = opts.didParentExist && !destinationStat ? { ...opts, didParentExist: false } : opts; + if (opts.stableSort) { + for (const entry of entries.sort()) { + if (await copyImpl(prelayout, postlayout, updateTime, destinationFs, destinationFs.pathUtils.join(destination, entry), sourceFs, sourceFs.pathUtils.join(source, entry), nextOpts)) { + updated = true; + } + } + } else { + const entriesUpdateStatus = await Promise.all(entries.map(async (entry) => { + await copyImpl(prelayout, postlayout, updateTime, destinationFs, destinationFs.pathUtils.join(destination, entry), sourceFs, sourceFs.pathUtils.join(source, entry), nextOpts); + })); + if (entriesUpdateStatus.some((status) => status)) { + updated = true; + } + } + return updated; +} +const isCloneSupportedCache = /* @__PURE__ */ new WeakMap(); +function makeLinkOperation(opFs, destination, source, sourceStat, linkStrategy) { + return async () => { + await opFs.linkPromise(source, destination); + if (linkStrategy === "readOnly" /* ReadOnly */) { + sourceStat.mode &= ~146; + await opFs.chmodPromise(destination, sourceStat.mode); + } + }; +} +function makeCloneLinkOperation(opFs, destination, source, sourceStat, linkStrategy) { + const isCloneSupported = isCloneSupportedCache.get(opFs); + if (typeof isCloneSupported === `undefined`) { + return async () => { + try { + await opFs.copyFilePromise(source, destination, fs__default.default.constants.COPYFILE_FICLONE_FORCE); + isCloneSupportedCache.set(opFs, true); + } catch (err) { + if (err.code === `ENOSYS` || err.code === `ENOTSUP`) { + isCloneSupportedCache.set(opFs, false); + await makeLinkOperation(opFs, destination, source, sourceStat, linkStrategy)(); + } else { + throw err; + } + } + }; + } else { + if (isCloneSupported) { + return async () => opFs.copyFilePromise(source, destination, fs__default.default.constants.COPYFILE_FICLONE_FORCE); + } else { + return makeLinkOperation(opFs, destination, source, sourceStat, linkStrategy); + } + } +} +async function copyFile(prelayout, postlayout, updateTime, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts) { + var _a; + if (destinationStat !== null) { + if (opts.overwrite) { + prelayout.push(async () => destinationFs.removePromise(destination)); + destinationStat = null; + } else { + return false; + } + } + const linkStrategy = (_a = opts.linkStrategy) != null ? _a : null; + const op = destinationFs === sourceFs ? linkStrategy !== null ? makeCloneLinkOperation(destinationFs, destination, source, sourceStat, linkStrategy) : async () => destinationFs.copyFilePromise(source, destination, fs__default.default.constants.COPYFILE_FICLONE) : linkStrategy !== null ? makeLinkOperation(destinationFs, destination, source, sourceStat, linkStrategy) : async () => destinationFs.writeFilePromise(destination, await sourceFs.readFilePromise(source)); + prelayout.push(async () => op()); + return true; +} +async function copySymlink(prelayout, postlayout, updateTime, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts) { + if (destinationStat !== null) { + if (opts.overwrite) { + prelayout.push(async () => destinationFs.removePromise(destination)); + destinationStat = null; + } else { + return false; + } + } + prelayout.push(async () => { + await destinationFs.symlinkPromise(convertPath(destinationFs.pathUtils, await sourceFs.readlinkPromise(source)), destination); + }); + return true; +} + +function makeError$1(code, message) { + return Object.assign(new Error(`${code}: ${message}`), { code }); +} +function EBUSY(message) { + return makeError$1(`EBUSY`, message); +} +function ENOSYS(message, reason) { + return makeError$1(`ENOSYS`, `${message}, ${reason}`); +} +function EINVAL(reason) { + return makeError$1(`EINVAL`, `invalid argument, ${reason}`); +} +function EBADF(reason) { + return makeError$1(`EBADF`, `bad file descriptor, ${reason}`); +} +function ENOENT(reason) { + return makeError$1(`ENOENT`, `no such file or directory, ${reason}`); +} +function ENOTDIR(reason) { + return makeError$1(`ENOTDIR`, `not a directory, ${reason}`); +} +function EISDIR(reason) { + return makeError$1(`EISDIR`, `illegal operation on a directory, ${reason}`); +} +function EEXIST(reason) { + return makeError$1(`EEXIST`, `file already exists, ${reason}`); +} +function EROFS(reason) { + return makeError$1(`EROFS`, `read-only filesystem, ${reason}`); +} +function ENOTEMPTY(reason) { + return makeError$1(`ENOTEMPTY`, `directory not empty, ${reason}`); +} +function EOPNOTSUPP(reason) { + return makeError$1(`EOPNOTSUPP`, `operation not supported, ${reason}`); +} +function ERR_DIR_CLOSED() { + return makeError$1(`ERR_DIR_CLOSED`, `Directory handle was closed`); +} +class LibzipError extends Error { + constructor(message, code) { + super(message); + this.name = `Libzip Error`; + this.code = code; + } +} + +class CustomDir { + constructor(path, nextDirent, opts = {}) { + this.path = path; + this.nextDirent = nextDirent; + this.opts = opts; + this.closed = false; + } + throwIfClosed() { + if (this.closed) { + throw ERR_DIR_CLOSED(); + } + } + async *[Symbol.asyncIterator]() { + try { + let dirent; + while ((dirent = await this.read()) !== null) { + yield dirent; + } + } finally { + await this.close(); + } + } + read(cb) { + const dirent = this.readSync(); + if (typeof cb !== `undefined`) + return cb(null, dirent); + return Promise.resolve(dirent); + } + readSync() { + this.throwIfClosed(); + return this.nextDirent(); + } + close(cb) { + this.closeSync(); + if (typeof cb !== `undefined`) + return cb(null); + return Promise.resolve(); + } + closeSync() { + var _a, _b; + this.throwIfClosed(); + (_b = (_a = this.opts).onClose) == null ? void 0 : _b.call(_a); + this.closed = true; + } +} +function opendir(fakeFs, path, entries, opts) { + const nextDirent = () => { + const filename = entries.shift(); + if (typeof filename === `undefined`) + return null; + return Object.assign(fakeFs.statSync(fakeFs.pathUtils.join(path, filename)), { + name: filename + }); + }; + return new CustomDir(path, nextDirent, opts); +} + +class FakeFS { + constructor(pathUtils) { + this.pathUtils = pathUtils; + } + async *genTraversePromise(init, { stableSort = false } = {}) { + const stack = [init]; + while (stack.length > 0) { + const p = stack.shift(); + const entry = await this.lstatPromise(p); + if (entry.isDirectory()) { + const entries = await this.readdirPromise(p); + if (stableSort) { + for (const entry2 of entries.sort()) { + stack.push(this.pathUtils.join(p, entry2)); + } + } else { + throw new Error(`Not supported`); + } + } else { + yield p; + } + } + } + async removePromise(p, { recursive = true, maxRetries = 5 } = {}) { + let stat; + try { + stat = await this.lstatPromise(p); + } catch (error) { + if (error.code === `ENOENT`) { + return; + } else { + throw error; + } + } + if (stat.isDirectory()) { + if (recursive) { + const entries = await this.readdirPromise(p); + await Promise.all(entries.map((entry) => { + return this.removePromise(this.pathUtils.resolve(p, entry)); + })); + } + for (let t = 0; t <= maxRetries; t++) { + try { + await this.rmdirPromise(p); + break; + } catch (error) { + if (error.code !== `EBUSY` && error.code !== `ENOTEMPTY`) { + throw error; + } else if (t < maxRetries) { + await new Promise((resolve) => setTimeout(resolve, t * 100)); + } + } + } + } else { + await this.unlinkPromise(p); + } + } + removeSync(p, { recursive = true } = {}) { + let stat; + try { + stat = this.lstatSync(p); + } catch (error) { + if (error.code === `ENOENT`) { + return; + } else { + throw error; + } + } + if (stat.isDirectory()) { + if (recursive) + for (const entry of this.readdirSync(p)) + this.removeSync(this.pathUtils.resolve(p, entry)); + this.rmdirSync(p); + } else { + this.unlinkSync(p); + } + } + async mkdirpPromise(p, { chmod, utimes } = {}) { + p = this.resolve(p); + if (p === this.pathUtils.dirname(p)) + return void 0; + const parts = p.split(this.pathUtils.sep); + let createdDirectory; + for (let u = 2; u <= parts.length; ++u) { + const subPath = parts.slice(0, u).join(this.pathUtils.sep); + if (!this.existsSync(subPath)) { + try { + await this.mkdirPromise(subPath); + } catch (error) { + if (error.code === `EEXIST`) { + continue; + } else { + throw error; + } + } + createdDirectory != null ? createdDirectory : createdDirectory = subPath; + if (chmod != null) + await this.chmodPromise(subPath, chmod); + if (utimes != null) { + await this.utimesPromise(subPath, utimes[0], utimes[1]); + } else { + const parentStat = await this.statPromise(this.pathUtils.dirname(subPath)); + await this.utimesPromise(subPath, parentStat.atime, parentStat.mtime); + } + } + } + return createdDirectory; + } + mkdirpSync(p, { chmod, utimes } = {}) { + p = this.resolve(p); + if (p === this.pathUtils.dirname(p)) + return void 0; + const parts = p.split(this.pathUtils.sep); + let createdDirectory; + for (let u = 2; u <= parts.length; ++u) { + const subPath = parts.slice(0, u).join(this.pathUtils.sep); + if (!this.existsSync(subPath)) { + try { + this.mkdirSync(subPath); + } catch (error) { + if (error.code === `EEXIST`) { + continue; + } else { + throw error; + } + } + createdDirectory != null ? createdDirectory : createdDirectory = subPath; + if (chmod != null) + this.chmodSync(subPath, chmod); + if (utimes != null) { + this.utimesSync(subPath, utimes[0], utimes[1]); + } else { + const parentStat = this.statSync(this.pathUtils.dirname(subPath)); + this.utimesSync(subPath, parentStat.atime, parentStat.mtime); + } + } + } + return createdDirectory; + } + async copyPromise(destination, source, { baseFs = this, overwrite = true, stableSort = false, stableTime = false, linkStrategy = null } = {}) { + return await copyPromise(this, destination, baseFs, source, { overwrite, stableSort, stableTime, linkStrategy }); + } + copySync(destination, source, { baseFs = this, overwrite = true } = {}) { + const stat = baseFs.lstatSync(source); + const exists = this.existsSync(destination); + if (stat.isDirectory()) { + this.mkdirpSync(destination); + const directoryListing = baseFs.readdirSync(source); + for (const entry of directoryListing) { + this.copySync(this.pathUtils.join(destination, entry), baseFs.pathUtils.join(source, entry), { baseFs, overwrite }); + } + } else if (stat.isFile()) { + if (!exists || overwrite) { + if (exists) + this.removeSync(destination); + const content = baseFs.readFileSync(source); + this.writeFileSync(destination, content); + } + } else if (stat.isSymbolicLink()) { + if (!exists || overwrite) { + if (exists) + this.removeSync(destination); + const target = baseFs.readlinkSync(source); + this.symlinkSync(convertPath(this.pathUtils, target), destination); + } + } else { + throw new Error(`Unsupported file type (file: ${source}, mode: 0o${stat.mode.toString(8).padStart(6, `0`)})`); + } + const mode = stat.mode & 511; + this.chmodSync(destination, mode); + } + async changeFilePromise(p, content, opts = {}) { + if (Buffer.isBuffer(content)) { + return this.changeFileBufferPromise(p, content, opts); + } else { + return this.changeFileTextPromise(p, content, opts); + } + } + async changeFileBufferPromise(p, content, { mode } = {}) { + let current = Buffer.alloc(0); + try { + current = await this.readFilePromise(p); + } catch (error) { + } + if (Buffer.compare(current, content) === 0) + return; + await this.writeFilePromise(p, content, { mode }); + } + async changeFileTextPromise(p, content, { automaticNewlines, mode } = {}) { + let current = ``; + try { + current = await this.readFilePromise(p, `utf8`); + } catch (error) { + } + const normalizedContent = automaticNewlines ? normalizeLineEndings(current, content) : content; + if (current === normalizedContent) + return; + await this.writeFilePromise(p, normalizedContent, { mode }); + } + changeFileSync(p, content, opts = {}) { + if (Buffer.isBuffer(content)) { + return this.changeFileBufferSync(p, content, opts); + } else { + return this.changeFileTextSync(p, content, opts); + } + } + changeFileBufferSync(p, content, { mode } = {}) { + let current = Buffer.alloc(0); + try { + current = this.readFileSync(p); + } catch (error) { + } + if (Buffer.compare(current, content) === 0) + return; + this.writeFileSync(p, content, { mode }); + } + changeFileTextSync(p, content, { automaticNewlines = false, mode } = {}) { + let current = ``; + try { + current = this.readFileSync(p, `utf8`); + } catch (error) { + } + const normalizedContent = automaticNewlines ? normalizeLineEndings(current, content) : content; + if (current === normalizedContent) + return; + this.writeFileSync(p, normalizedContent, { mode }); + } + async movePromise(fromP, toP) { + try { + await this.renamePromise(fromP, toP); + } catch (error) { + if (error.code === `EXDEV`) { + await this.copyPromise(toP, fromP); + await this.removePromise(fromP); + } else { + throw error; + } + } + } + moveSync(fromP, toP) { + try { + this.renameSync(fromP, toP); + } catch (error) { + if (error.code === `EXDEV`) { + this.copySync(toP, fromP); + this.removeSync(fromP); + } else { + throw error; + } + } + } + async lockPromise(affectedPath, callback) { + const lockPath = `${affectedPath}.flock`; + const interval = 1e3 / 60; + const startTime = Date.now(); + let fd = null; + const isAlive = async () => { + let pid; + try { + [pid] = await this.readJsonPromise(lockPath); + } catch (error) { + return Date.now() - startTime < 500; + } + try { + process.kill(pid, 0); + return true; + } catch (error) { + return false; + } + }; + while (fd === null) { + try { + fd = await this.openPromise(lockPath, `wx`); + } catch (error) { + if (error.code === `EEXIST`) { + if (!await isAlive()) { + try { + await this.unlinkPromise(lockPath); + continue; + } catch (error2) { + } + } + if (Date.now() - startTime < 60 * 1e3) { + await new Promise((resolve) => setTimeout(resolve, interval)); + } else { + throw new Error(`Couldn't acquire a lock in a reasonable time (via ${lockPath})`); + } + } else { + throw error; + } + } + } + await this.writePromise(fd, JSON.stringify([process.pid])); + try { + return await callback(); + } finally { + try { + await this.closePromise(fd); + await this.unlinkPromise(lockPath); + } catch (error) { + } + } + } + async readJsonPromise(p) { + const content = await this.readFilePromise(p, `utf8`); + try { + return JSON.parse(content); + } catch (error) { + error.message += ` (in ${p})`; + throw error; + } + } + readJsonSync(p) { + const content = this.readFileSync(p, `utf8`); + try { + return JSON.parse(content); + } catch (error) { + error.message += ` (in ${p})`; + throw error; + } + } + async writeJsonPromise(p, data) { + return await this.writeFilePromise(p, `${JSON.stringify(data, null, 2)} +`); + } + writeJsonSync(p, data) { + return this.writeFileSync(p, `${JSON.stringify(data, null, 2)} +`); + } + async preserveTimePromise(p, cb) { + const stat = await this.lstatPromise(p); + const result = await cb(); + if (typeof result !== `undefined`) + p = result; + if (this.lutimesPromise) { + await this.lutimesPromise(p, stat.atime, stat.mtime); + } else if (!stat.isSymbolicLink()) { + await this.utimesPromise(p, stat.atime, stat.mtime); + } + } + async preserveTimeSync(p, cb) { + const stat = this.lstatSync(p); + const result = cb(); + if (typeof result !== `undefined`) + p = result; + if (this.lutimesSync) { + this.lutimesSync(p, stat.atime, stat.mtime); + } else if (!stat.isSymbolicLink()) { + this.utimesSync(p, stat.atime, stat.mtime); + } + } +} +class BasePortableFakeFS extends FakeFS { + constructor() { + super(ppath); + } +} +function getEndOfLine(content) { + const matches = content.match(/\r?\n/g); + if (matches === null) + return os.EOL; + const crlf = matches.filter((nl) => nl === `\r +`).length; + const lf = matches.length - crlf; + return crlf > lf ? `\r +` : ` +`; +} +function normalizeLineEndings(originalContent, newContent) { + return newContent.replace(/\r?\n/g, getEndOfLine(originalContent)); +} + +class NodeFS extends BasePortableFakeFS { + constructor(realFs = fs__default.default) { + super(); + this.realFs = realFs; + if (typeof this.realFs.lutimes !== `undefined`) { + this.lutimesPromise = this.lutimesPromiseImpl; + this.lutimesSync = this.lutimesSyncImpl; + } + } + getExtractHint() { + return false; + } + getRealPath() { + return PortablePath.root; + } + resolve(p) { + return ppath.resolve(p); + } + async openPromise(p, flags, mode) { + return await new Promise((resolve, reject) => { + this.realFs.open(npath.fromPortablePath(p), flags, mode, this.makeCallback(resolve, reject)); + }); + } + openSync(p, flags, mode) { + return this.realFs.openSync(npath.fromPortablePath(p), flags, mode); + } + async opendirPromise(p, opts) { + return await new Promise((resolve, reject) => { + if (typeof opts !== `undefined`) { + this.realFs.opendir(npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject)); + } else { + this.realFs.opendir(npath.fromPortablePath(p), this.makeCallback(resolve, reject)); + } + }).then((dir) => { + return Object.defineProperty(dir, `path`, { value: p, configurable: true, writable: true }); + }); + } + opendirSync(p, opts) { + const dir = typeof opts !== `undefined` ? this.realFs.opendirSync(npath.fromPortablePath(p), opts) : this.realFs.opendirSync(npath.fromPortablePath(p)); + return Object.defineProperty(dir, `path`, { value: p, configurable: true, writable: true }); + } + async readPromise(fd, buffer, offset = 0, length = 0, position = -1) { + return await new Promise((resolve, reject) => { + this.realFs.read(fd, buffer, offset, length, position, (error, bytesRead) => { + if (error) { + reject(error); + } else { + resolve(bytesRead); + } + }); + }); + } + readSync(fd, buffer, offset, length, position) { + return this.realFs.readSync(fd, buffer, offset, length, position); + } + async writePromise(fd, buffer, offset, length, position) { + return await new Promise((resolve, reject) => { + if (typeof buffer === `string`) { + return this.realFs.write(fd, buffer, offset, this.makeCallback(resolve, reject)); + } else { + return this.realFs.write(fd, buffer, offset, length, position, this.makeCallback(resolve, reject)); + } + }); + } + writeSync(fd, buffer, offset, length, position) { + if (typeof buffer === `string`) { + return this.realFs.writeSync(fd, buffer, offset); + } else { + return this.realFs.writeSync(fd, buffer, offset, length, position); + } + } + async closePromise(fd) { + await new Promise((resolve, reject) => { + this.realFs.close(fd, this.makeCallback(resolve, reject)); + }); + } + closeSync(fd) { + this.realFs.closeSync(fd); + } + createReadStream(p, opts) { + const realPath = p !== null ? npath.fromPortablePath(p) : p; + return this.realFs.createReadStream(realPath, opts); + } + createWriteStream(p, opts) { + const realPath = p !== null ? npath.fromPortablePath(p) : p; + return this.realFs.createWriteStream(realPath, opts); + } + async realpathPromise(p) { + return await new Promise((resolve, reject) => { + this.realFs.realpath(npath.fromPortablePath(p), {}, this.makeCallback(resolve, reject)); + }).then((path) => { + return npath.toPortablePath(path); + }); + } + realpathSync(p) { + return npath.toPortablePath(this.realFs.realpathSync(npath.fromPortablePath(p), {})); + } + async existsPromise(p) { + return await new Promise((resolve) => { + this.realFs.exists(npath.fromPortablePath(p), resolve); + }); + } + accessSync(p, mode) { + return this.realFs.accessSync(npath.fromPortablePath(p), mode); + } + async accessPromise(p, mode) { + return await new Promise((resolve, reject) => { + this.realFs.access(npath.fromPortablePath(p), mode, this.makeCallback(resolve, reject)); + }); + } + existsSync(p) { + return this.realFs.existsSync(npath.fromPortablePath(p)); + } + async statPromise(p, opts) { + return await new Promise((resolve, reject) => { + if (opts) { + this.realFs.stat(npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject)); + } else { + this.realFs.stat(npath.fromPortablePath(p), this.makeCallback(resolve, reject)); + } + }); + } + statSync(p, opts) { + if (opts) { + return this.realFs.statSync(npath.fromPortablePath(p), opts); + } else { + return this.realFs.statSync(npath.fromPortablePath(p)); + } + } + async fstatPromise(fd, opts) { + return await new Promise((resolve, reject) => { + if (opts) { + this.realFs.fstat(fd, opts, this.makeCallback(resolve, reject)); + } else { + this.realFs.fstat(fd, this.makeCallback(resolve, reject)); + } + }); + } + fstatSync(fd, opts) { + if (opts) { + return this.realFs.fstatSync(fd, opts); + } else { + return this.realFs.fstatSync(fd); + } + } + async lstatPromise(p, opts) { + return await new Promise((resolve, reject) => { + if (opts) { + this.realFs.lstat(npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject)); + } else { + this.realFs.lstat(npath.fromPortablePath(p), this.makeCallback(resolve, reject)); + } + }); + } + lstatSync(p, opts) { + if (opts) { + return this.realFs.lstatSync(npath.fromPortablePath(p), opts); + } else { + return this.realFs.lstatSync(npath.fromPortablePath(p)); + } + } + async fchmodPromise(fd, mask) { + return await new Promise((resolve, reject) => { + this.realFs.fchmod(fd, mask, this.makeCallback(resolve, reject)); + }); + } + fchmodSync(fd, mask) { + return this.realFs.fchmodSync(fd, mask); + } + async chmodPromise(p, mask) { + return await new Promise((resolve, reject) => { + this.realFs.chmod(npath.fromPortablePath(p), mask, this.makeCallback(resolve, reject)); + }); + } + chmodSync(p, mask) { + return this.realFs.chmodSync(npath.fromPortablePath(p), mask); + } + async fchownPromise(fd, uid, gid) { + return await new Promise((resolve, reject) => { + this.realFs.fchown(fd, uid, gid, this.makeCallback(resolve, reject)); + }); + } + fchownSync(fd, uid, gid) { + return this.realFs.fchownSync(fd, uid, gid); + } + async chownPromise(p, uid, gid) { + return await new Promise((resolve, reject) => { + this.realFs.chown(npath.fromPortablePath(p), uid, gid, this.makeCallback(resolve, reject)); + }); + } + chownSync(p, uid, gid) { + return this.realFs.chownSync(npath.fromPortablePath(p), uid, gid); + } + async renamePromise(oldP, newP) { + return await new Promise((resolve, reject) => { + this.realFs.rename(npath.fromPortablePath(oldP), npath.fromPortablePath(newP), this.makeCallback(resolve, reject)); + }); + } + renameSync(oldP, newP) { + return this.realFs.renameSync(npath.fromPortablePath(oldP), npath.fromPortablePath(newP)); + } + async copyFilePromise(sourceP, destP, flags = 0) { + return await new Promise((resolve, reject) => { + this.realFs.copyFile(npath.fromPortablePath(sourceP), npath.fromPortablePath(destP), flags, this.makeCallback(resolve, reject)); + }); + } + copyFileSync(sourceP, destP, flags = 0) { + return this.realFs.copyFileSync(npath.fromPortablePath(sourceP), npath.fromPortablePath(destP), flags); + } + async appendFilePromise(p, content, opts) { + return await new Promise((resolve, reject) => { + const fsNativePath = typeof p === `string` ? npath.fromPortablePath(p) : p; + if (opts) { + this.realFs.appendFile(fsNativePath, content, opts, this.makeCallback(resolve, reject)); + } else { + this.realFs.appendFile(fsNativePath, content, this.makeCallback(resolve, reject)); + } + }); + } + appendFileSync(p, content, opts) { + const fsNativePath = typeof p === `string` ? npath.fromPortablePath(p) : p; + if (opts) { + this.realFs.appendFileSync(fsNativePath, content, opts); + } else { + this.realFs.appendFileSync(fsNativePath, content); + } + } + async writeFilePromise(p, content, opts) { + return await new Promise((resolve, reject) => { + const fsNativePath = typeof p === `string` ? npath.fromPortablePath(p) : p; + if (opts) { + this.realFs.writeFile(fsNativePath, content, opts, this.makeCallback(resolve, reject)); + } else { + this.realFs.writeFile(fsNativePath, content, this.makeCallback(resolve, reject)); + } + }); + } + writeFileSync(p, content, opts) { + const fsNativePath = typeof p === `string` ? npath.fromPortablePath(p) : p; + if (opts) { + this.realFs.writeFileSync(fsNativePath, content, opts); + } else { + this.realFs.writeFileSync(fsNativePath, content); + } + } + async unlinkPromise(p) { + return await new Promise((resolve, reject) => { + this.realFs.unlink(npath.fromPortablePath(p), this.makeCallback(resolve, reject)); + }); + } + unlinkSync(p) { + return this.realFs.unlinkSync(npath.fromPortablePath(p)); + } + async utimesPromise(p, atime, mtime) { + return await new Promise((resolve, reject) => { + this.realFs.utimes(npath.fromPortablePath(p), atime, mtime, this.makeCallback(resolve, reject)); + }); + } + utimesSync(p, atime, mtime) { + this.realFs.utimesSync(npath.fromPortablePath(p), atime, mtime); + } + async lutimesPromiseImpl(p, atime, mtime) { + const lutimes = this.realFs.lutimes; + if (typeof lutimes === `undefined`) + throw ENOSYS(`unavailable Node binding`, `lutimes '${p}'`); + return await new Promise((resolve, reject) => { + lutimes.call(this.realFs, npath.fromPortablePath(p), atime, mtime, this.makeCallback(resolve, reject)); + }); + } + lutimesSyncImpl(p, atime, mtime) { + const lutimesSync = this.realFs.lutimesSync; + if (typeof lutimesSync === `undefined`) + throw ENOSYS(`unavailable Node binding`, `lutimes '${p}'`); + lutimesSync.call(this.realFs, npath.fromPortablePath(p), atime, mtime); + } + async mkdirPromise(p, opts) { + return await new Promise((resolve, reject) => { + this.realFs.mkdir(npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject)); + }); + } + mkdirSync(p, opts) { + return this.realFs.mkdirSync(npath.fromPortablePath(p), opts); + } + async rmdirPromise(p, opts) { + return await new Promise((resolve, reject) => { + if (opts) { + this.realFs.rmdir(npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject)); + } else { + this.realFs.rmdir(npath.fromPortablePath(p), this.makeCallback(resolve, reject)); + } + }); + } + rmdirSync(p, opts) { + return this.realFs.rmdirSync(npath.fromPortablePath(p), opts); + } + async linkPromise(existingP, newP) { + return await new Promise((resolve, reject) => { + this.realFs.link(npath.fromPortablePath(existingP), npath.fromPortablePath(newP), this.makeCallback(resolve, reject)); + }); + } + linkSync(existingP, newP) { + return this.realFs.linkSync(npath.fromPortablePath(existingP), npath.fromPortablePath(newP)); + } + async symlinkPromise(target, p, type) { + return await new Promise((resolve, reject) => { + this.realFs.symlink(npath.fromPortablePath(target.replace(/\/+$/, ``)), npath.fromPortablePath(p), type, this.makeCallback(resolve, reject)); + }); + } + symlinkSync(target, p, type) { + return this.realFs.symlinkSync(npath.fromPortablePath(target.replace(/\/+$/, ``)), npath.fromPortablePath(p), type); + } + async readFilePromise(p, encoding) { + return await new Promise((resolve, reject) => { + const fsNativePath = typeof p === `string` ? npath.fromPortablePath(p) : p; + this.realFs.readFile(fsNativePath, encoding, this.makeCallback(resolve, reject)); + }); + } + readFileSync(p, encoding) { + const fsNativePath = typeof p === `string` ? npath.fromPortablePath(p) : p; + return this.realFs.readFileSync(fsNativePath, encoding); + } + async readdirPromise(p, opts) { + return await new Promise((resolve, reject) => { + if (opts == null ? void 0 : opts.withFileTypes) { + this.realFs.readdir(npath.fromPortablePath(p), { withFileTypes: true }, this.makeCallback(resolve, reject)); + } else { + this.realFs.readdir(npath.fromPortablePath(p), this.makeCallback((value) => resolve(value), reject)); + } + }); + } + readdirSync(p, opts) { + if (opts == null ? void 0 : opts.withFileTypes) { + return this.realFs.readdirSync(npath.fromPortablePath(p), { withFileTypes: true }); + } else { + return this.realFs.readdirSync(npath.fromPortablePath(p)); + } + } + async readlinkPromise(p) { + return await new Promise((resolve, reject) => { + this.realFs.readlink(npath.fromPortablePath(p), this.makeCallback(resolve, reject)); + }).then((path) => { + return npath.toPortablePath(path); + }); + } + readlinkSync(p) { + return npath.toPortablePath(this.realFs.readlinkSync(npath.fromPortablePath(p))); + } + async truncatePromise(p, len) { + return await new Promise((resolve, reject) => { + this.realFs.truncate(npath.fromPortablePath(p), len, this.makeCallback(resolve, reject)); + }); + } + truncateSync(p, len) { + return this.realFs.truncateSync(npath.fromPortablePath(p), len); + } + async ftruncatePromise(fd, len) { + return await new Promise((resolve, reject) => { + this.realFs.ftruncate(fd, len, this.makeCallback(resolve, reject)); + }); + } + ftruncateSync(fd, len) { + return this.realFs.ftruncateSync(fd, len); + } + watch(p, a, b) { + return this.realFs.watch( + npath.fromPortablePath(p), + a, + b + ); + } + watchFile(p, a, b) { + return this.realFs.watchFile( + npath.fromPortablePath(p), + a, + b + ); + } + unwatchFile(p, cb) { + return this.realFs.unwatchFile(npath.fromPortablePath(p), cb); + } + makeCallback(resolve, reject) { + return (err, result) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }; + } +} + +function assertStatus(current, expected) { + if (current !== expected) { + throw new Error(`Invalid StatWatcher status: expected '${expected}', got '${current}'`); + } +} +class CustomStatWatcher extends events.EventEmitter { + constructor(fakeFs, path, { bigint = false } = {}) { + super(); + this.status = "ready" /* Ready */; + this.changeListeners = /* @__PURE__ */ new Map(); + this.startTimeout = null; + this.fakeFs = fakeFs; + this.path = path; + this.bigint = bigint; + this.lastStats = this.stat(); + } + static create(fakeFs, path, opts) { + const statWatcher = new CustomStatWatcher(fakeFs, path, opts); + statWatcher.start(); + return statWatcher; + } + start() { + assertStatus(this.status, "ready" /* Ready */); + this.status = "running" /* Running */; + this.startTimeout = setTimeout(() => { + this.startTimeout = null; + if (!this.fakeFs.existsSync(this.path)) { + this.emit("change" /* Change */, this.lastStats, this.lastStats); + } + }, 3); + } + stop() { + assertStatus(this.status, "running" /* Running */); + this.status = "stopped" /* Stopped */; + if (this.startTimeout !== null) { + clearTimeout(this.startTimeout); + this.startTimeout = null; + } + this.emit("stop" /* Stop */); + } + stat() { + try { + return this.fakeFs.statSync(this.path, { bigint: this.bigint }); + } catch (error) { + const statInstance = this.bigint ? new BigIntStatsEntry() : new StatEntry(); + return clearStats(statInstance); + } + } + makeInterval(opts) { + const interval = setInterval(() => { + const currentStats = this.stat(); + const previousStats = this.lastStats; + if (areStatsEqual(currentStats, previousStats)) + return; + this.lastStats = currentStats; + this.emit("change" /* Change */, currentStats, previousStats); + }, opts.interval); + return opts.persistent ? interval : interval.unref(); + } + registerChangeListener(listener, opts) { + this.addListener("change" /* Change */, listener); + this.changeListeners.set(listener, this.makeInterval(opts)); + } + unregisterChangeListener(listener) { + this.removeListener("change" /* Change */, listener); + const interval = this.changeListeners.get(listener); + if (typeof interval !== `undefined`) + clearInterval(interval); + this.changeListeners.delete(listener); + } + unregisterAllChangeListeners() { + for (const listener of this.changeListeners.keys()) { + this.unregisterChangeListener(listener); + } + } + hasChangeListeners() { + return this.changeListeners.size > 0; + } + ref() { + for (const interval of this.changeListeners.values()) + interval.ref(); + return this; + } + unref() { + for (const interval of this.changeListeners.values()) + interval.unref(); + return this; + } +} + +const statWatchersByFakeFS = /* @__PURE__ */ new WeakMap(); +function watchFile(fakeFs, path, a, b) { + let bigint; + let persistent; + let interval; + let listener; + switch (typeof a) { + case `function`: + { + bigint = false; + persistent = true; + interval = 5007; + listener = a; + } + break; + default: + { + ({ + bigint = false, + persistent = true, + interval = 5007 + } = a); + listener = b; + } + break; + } + let statWatchers = statWatchersByFakeFS.get(fakeFs); + if (typeof statWatchers === `undefined`) + statWatchersByFakeFS.set(fakeFs, statWatchers = /* @__PURE__ */ new Map()); + let statWatcher = statWatchers.get(path); + if (typeof statWatcher === `undefined`) { + statWatcher = CustomStatWatcher.create(fakeFs, path, { bigint }); + statWatchers.set(path, statWatcher); + } + statWatcher.registerChangeListener(listener, { persistent, interval }); + return statWatcher; +} +function unwatchFile(fakeFs, path, cb) { + const statWatchers = statWatchersByFakeFS.get(fakeFs); + if (typeof statWatchers === `undefined`) + return; + const statWatcher = statWatchers.get(path); + if (typeof statWatcher === `undefined`) + return; + if (typeof cb === `undefined`) + statWatcher.unregisterAllChangeListeners(); + else + statWatcher.unregisterChangeListener(cb); + if (!statWatcher.hasChangeListeners()) { + statWatcher.stop(); + statWatchers.delete(path); + } +} +function unwatchAllFiles(fakeFs) { + const statWatchers = statWatchersByFakeFS.get(fakeFs); + if (typeof statWatchers === `undefined`) + return; + for (const path of statWatchers.keys()) { + unwatchFile(fakeFs, path); + } +} + +const DEFAULT_COMPRESSION_LEVEL = `mixed`; +function toUnixTimestamp(time) { + if (typeof time === `string` && String(+time) === time) + return +time; + if (typeof time === `number` && Number.isFinite(time)) { + if (time < 0) { + return Date.now() / 1e3; + } else { + return time; + } + } + if (nodeUtils.types.isDate(time)) + return time.getTime() / 1e3; + throw new Error(`Invalid time`); +} +function makeEmptyArchive() { + return Buffer.from([ + 80, + 75, + 5, + 6, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ]); +} +class ZipFS extends BasePortableFakeFS { + constructor(source, opts) { + super(); + this.lzSource = null; + this.listings = /* @__PURE__ */ new Map(); + this.entries = /* @__PURE__ */ new Map(); + this.fileSources = /* @__PURE__ */ new Map(); + this.fds = /* @__PURE__ */ new Map(); + this.nextFd = 0; + this.ready = false; + this.readOnly = false; + this.libzip = opts.libzip; + const pathOptions = opts; + this.level = typeof pathOptions.level !== `undefined` ? pathOptions.level : DEFAULT_COMPRESSION_LEVEL; + source != null ? source : source = makeEmptyArchive(); + if (typeof source === `string`) { + const { baseFs = new NodeFS() } = pathOptions; + this.baseFs = baseFs; + this.path = source; + } else { + this.path = null; + this.baseFs = null; + } + if (opts.stats) { + this.stats = opts.stats; + } else { + if (typeof source === `string`) { + try { + this.stats = this.baseFs.statSync(source); + } catch (error) { + if (error.code === `ENOENT` && pathOptions.create) { + this.stats = makeDefaultStats(); + } else { + throw error; + } + } + } else { + this.stats = makeDefaultStats(); + } + } + const errPtr = this.libzip.malloc(4); + try { + let flags = 0; + if (typeof source === `string` && pathOptions.create) + flags |= this.libzip.ZIP_CREATE | this.libzip.ZIP_TRUNCATE; + if (opts.readOnly) { + flags |= this.libzip.ZIP_RDONLY; + this.readOnly = true; + } + if (typeof source === `string`) { + this.zip = this.libzip.open(npath.fromPortablePath(source), flags, errPtr); + } else { + const lzSource = this.allocateUnattachedSource(source); + try { + this.zip = this.libzip.openFromSource(lzSource, flags, errPtr); + this.lzSource = lzSource; + } catch (error) { + this.libzip.source.free(lzSource); + throw error; + } + } + if (this.zip === 0) { + const error = this.libzip.struct.errorS(); + this.libzip.error.initWithCode(error, this.libzip.getValue(errPtr, `i32`)); + throw this.makeLibzipError(error); + } + } finally { + this.libzip.free(errPtr); + } + this.listings.set(PortablePath.root, /* @__PURE__ */ new Set()); + const entryCount = this.libzip.getNumEntries(this.zip, 0); + for (let t = 0; t < entryCount; ++t) { + const raw = this.libzip.getName(this.zip, t, 0); + if (ppath.isAbsolute(raw)) + continue; + const p = ppath.resolve(PortablePath.root, raw); + this.registerEntry(p, t); + if (raw.endsWith(`/`)) { + this.registerListing(p); + } + } + this.symlinkCount = this.libzip.ext.countSymlinks(this.zip); + if (this.symlinkCount === -1) + throw this.makeLibzipError(this.libzip.getError(this.zip)); + this.ready = true; + } + makeLibzipError(error) { + const errorCode = this.libzip.struct.errorCodeZip(error); + const strerror = this.libzip.error.strerror(error); + const libzipError = new LibzipError(strerror, this.libzip.errors[errorCode]); + if (errorCode === this.libzip.errors.ZIP_ER_CHANGED) + throw new Error(`Assertion failed: Unexpected libzip error: ${libzipError.message}`); + return libzipError; + } + getExtractHint(hints) { + for (const fileName of this.entries.keys()) { + const ext = this.pathUtils.extname(fileName); + if (hints.relevantExtensions.has(ext)) { + return true; + } + } + return false; + } + getAllFiles() { + return Array.from(this.entries.keys()); + } + getRealPath() { + if (!this.path) + throw new Error(`ZipFS don't have real paths when loaded from a buffer`); + return this.path; + } + getBufferAndClose() { + this.prepareClose(); + if (!this.lzSource) + throw new Error(`ZipFS was not created from a Buffer`); + if (this.entries.size === 0) { + this.discardAndClose(); + return makeEmptyArchive(); + } + try { + this.libzip.source.keep(this.lzSource); + if (this.libzip.close(this.zip) === -1) + throw this.makeLibzipError(this.libzip.getError(this.zip)); + if (this.libzip.source.open(this.lzSource) === -1) + throw this.makeLibzipError(this.libzip.source.error(this.lzSource)); + if (this.libzip.source.seek(this.lzSource, 0, 0, this.libzip.SEEK_END) === -1) + throw this.makeLibzipError(this.libzip.source.error(this.lzSource)); + const size = this.libzip.source.tell(this.lzSource); + if (size === -1) + throw this.makeLibzipError(this.libzip.source.error(this.lzSource)); + if (this.libzip.source.seek(this.lzSource, 0, 0, this.libzip.SEEK_SET) === -1) + throw this.makeLibzipError(this.libzip.source.error(this.lzSource)); + const buffer = this.libzip.malloc(size); + if (!buffer) + throw new Error(`Couldn't allocate enough memory`); + try { + const rc = this.libzip.source.read(this.lzSource, buffer, size); + if (rc === -1) + throw this.makeLibzipError(this.libzip.source.error(this.lzSource)); + else if (rc < size) + throw new Error(`Incomplete read`); + else if (rc > size) + throw new Error(`Overread`); + const memory = this.libzip.HEAPU8.subarray(buffer, buffer + size); + return Buffer.from(memory); + } finally { + this.libzip.free(buffer); + } + } finally { + this.libzip.source.close(this.lzSource); + this.libzip.source.free(this.lzSource); + this.ready = false; + } + } + prepareClose() { + if (!this.ready) + throw EBUSY(`archive closed, close`); + unwatchAllFiles(this); + } + saveAndClose() { + if (!this.path || !this.baseFs) + throw new Error(`ZipFS cannot be saved and must be discarded when loaded from a buffer`); + this.prepareClose(); + if (this.readOnly) { + this.discardAndClose(); + return; + } + const newMode = this.baseFs.existsSync(this.path) || this.stats.mode === DEFAULT_MODE ? void 0 : this.stats.mode; + if (this.entries.size === 0) { + this.discardAndClose(); + this.baseFs.writeFileSync(this.path, makeEmptyArchive(), { mode: newMode }); + } else { + const rc = this.libzip.close(this.zip); + if (rc === -1) + throw this.makeLibzipError(this.libzip.getError(this.zip)); + if (typeof newMode !== `undefined`) { + this.baseFs.chmodSync(this.path, newMode); + } + } + this.ready = false; + } + discardAndClose() { + this.prepareClose(); + this.libzip.discard(this.zip); + this.ready = false; + } + resolve(p) { + return ppath.resolve(PortablePath.root, p); + } + async openPromise(p, flags, mode) { + return this.openSync(p, flags, mode); + } + openSync(p, flags, mode) { + const fd = this.nextFd++; + this.fds.set(fd, { cursor: 0, p }); + return fd; + } + hasOpenFileHandles() { + return !!this.fds.size; + } + async opendirPromise(p, opts) { + return this.opendirSync(p, opts); + } + opendirSync(p, opts = {}) { + const resolvedP = this.resolveFilename(`opendir '${p}'`, p); + if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) + throw ENOENT(`opendir '${p}'`); + const directoryListing = this.listings.get(resolvedP); + if (!directoryListing) + throw ENOTDIR(`opendir '${p}'`); + const entries = [...directoryListing]; + const fd = this.openSync(resolvedP, `r`); + const onClose = () => { + this.closeSync(fd); + }; + return opendir(this, resolvedP, entries, { onClose }); + } + async readPromise(fd, buffer, offset, length, position) { + return this.readSync(fd, buffer, offset, length, position); + } + readSync(fd, buffer, offset = 0, length = buffer.byteLength, position = -1) { + const entry = this.fds.get(fd); + if (typeof entry === `undefined`) + throw EBADF(`read`); + const realPosition = position === -1 || position === null ? entry.cursor : position; + const source = this.readFileSync(entry.p); + source.copy(buffer, offset, realPosition, realPosition + length); + const bytesRead = Math.max(0, Math.min(source.length - realPosition, length)); + if (position === -1 || position === null) + entry.cursor += bytesRead; + return bytesRead; + } + async writePromise(fd, buffer, offset, length, position) { + if (typeof buffer === `string`) { + return this.writeSync(fd, buffer, position); + } else { + return this.writeSync(fd, buffer, offset, length, position); + } + } + writeSync(fd, buffer, offset, length, position) { + const entry = this.fds.get(fd); + if (typeof entry === `undefined`) + throw EBADF(`read`); + throw new Error(`Unimplemented`); + } + async closePromise(fd) { + return this.closeSync(fd); + } + closeSync(fd) { + const entry = this.fds.get(fd); + if (typeof entry === `undefined`) + throw EBADF(`read`); + this.fds.delete(fd); + } + createReadStream(p, { encoding } = {}) { + if (p === null) + throw new Error(`Unimplemented`); + const fd = this.openSync(p, `r`); + const stream$1 = Object.assign( + new stream.PassThrough({ + emitClose: true, + autoDestroy: true, + destroy: (error, callback) => { + clearImmediate(immediate); + this.closeSync(fd); + callback(error); + } + }), + { + close() { + stream$1.destroy(); + }, + bytesRead: 0, + path: p + } + ); + const immediate = setImmediate(async () => { + try { + const data = await this.readFilePromise(p, encoding); + stream$1.bytesRead = data.length; + stream$1.end(data); + } catch (error) { + stream$1.destroy(error); + } + }); + return stream$1; + } + createWriteStream(p, { encoding } = {}) { + if (this.readOnly) + throw EROFS(`open '${p}'`); + if (p === null) + throw new Error(`Unimplemented`); + const chunks = []; + const fd = this.openSync(p, `w`); + const stream$1 = Object.assign( + new stream.PassThrough({ + autoDestroy: true, + emitClose: true, + destroy: (error, callback) => { + try { + if (error) { + callback(error); + } else { + this.writeFileSync(p, Buffer.concat(chunks), encoding); + callback(null); + } + } catch (err) { + callback(err); + } finally { + this.closeSync(fd); + } + } + }), + { + bytesWritten: 0, + path: p, + close() { + stream$1.destroy(); + } + } + ); + stream$1.on(`data`, (chunk) => { + const chunkBuffer = Buffer.from(chunk); + stream$1.bytesWritten += chunkBuffer.length; + chunks.push(chunkBuffer); + }); + return stream$1; + } + async realpathPromise(p) { + return this.realpathSync(p); + } + realpathSync(p) { + const resolvedP = this.resolveFilename(`lstat '${p}'`, p); + if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) + throw ENOENT(`lstat '${p}'`); + return resolvedP; + } + async existsPromise(p) { + return this.existsSync(p); + } + existsSync(p) { + if (!this.ready) + throw EBUSY(`archive closed, existsSync '${p}'`); + if (this.symlinkCount === 0) { + const resolvedP2 = ppath.resolve(PortablePath.root, p); + return this.entries.has(resolvedP2) || this.listings.has(resolvedP2); + } + let resolvedP; + try { + resolvedP = this.resolveFilename(`stat '${p}'`, p, void 0, false); + } catch (error) { + return false; + } + if (resolvedP === void 0) + return false; + return this.entries.has(resolvedP) || this.listings.has(resolvedP); + } + async accessPromise(p, mode) { + return this.accessSync(p, mode); + } + accessSync(p, mode = fs.constants.F_OK) { + const resolvedP = this.resolveFilename(`access '${p}'`, p); + if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) + throw ENOENT(`access '${p}'`); + if (this.readOnly && mode & fs.constants.W_OK) { + throw EROFS(`access '${p}'`); + } + } + async statPromise(p, opts = { bigint: false }) { + if (opts.bigint) + return this.statSync(p, { bigint: true }); + return this.statSync(p); + } + statSync(p, opts = { bigint: false, throwIfNoEntry: true }) { + const resolvedP = this.resolveFilename(`stat '${p}'`, p, void 0, opts.throwIfNoEntry); + if (resolvedP === void 0) + return void 0; + if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) { + if (opts.throwIfNoEntry === false) + return void 0; + throw ENOENT(`stat '${p}'`); + } + if (p[p.length - 1] === `/` && !this.listings.has(resolvedP)) + throw ENOTDIR(`stat '${p}'`); + return this.statImpl(`stat '${p}'`, resolvedP, opts); + } + async fstatPromise(fd, opts) { + return this.fstatSync(fd, opts); + } + fstatSync(fd, opts) { + const entry = this.fds.get(fd); + if (typeof entry === `undefined`) + throw EBADF(`fstatSync`); + const { p } = entry; + const resolvedP = this.resolveFilename(`stat '${p}'`, p); + if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) + throw ENOENT(`stat '${p}'`); + if (p[p.length - 1] === `/` && !this.listings.has(resolvedP)) + throw ENOTDIR(`stat '${p}'`); + return this.statImpl(`fstat '${p}'`, resolvedP, opts); + } + async lstatPromise(p, opts = { bigint: false }) { + if (opts.bigint) + return this.lstatSync(p, { bigint: true }); + return this.lstatSync(p); + } + lstatSync(p, opts = { bigint: false, throwIfNoEntry: true }) { + const resolvedP = this.resolveFilename(`lstat '${p}'`, p, false, opts.throwIfNoEntry); + if (resolvedP === void 0) + return void 0; + if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) { + if (opts.throwIfNoEntry === false) + return void 0; + throw ENOENT(`lstat '${p}'`); + } + if (p[p.length - 1] === `/` && !this.listings.has(resolvedP)) + throw ENOTDIR(`lstat '${p}'`); + return this.statImpl(`lstat '${p}'`, resolvedP, opts); + } + statImpl(reason, p, opts = {}) { + const entry = this.entries.get(p); + if (typeof entry !== `undefined`) { + const stat = this.libzip.struct.statS(); + const rc = this.libzip.statIndex(this.zip, entry, 0, 0, stat); + if (rc === -1) + throw this.makeLibzipError(this.libzip.getError(this.zip)); + const uid = this.stats.uid; + const gid = this.stats.gid; + const size = this.libzip.struct.statSize(stat) >>> 0; + const blksize = 512; + const blocks = Math.ceil(size / blksize); + const mtimeMs = (this.libzip.struct.statMtime(stat) >>> 0) * 1e3; + const atimeMs = mtimeMs; + const birthtimeMs = mtimeMs; + const ctimeMs = mtimeMs; + const atime = new Date(atimeMs); + const birthtime = new Date(birthtimeMs); + const ctime = new Date(ctimeMs); + const mtime = new Date(mtimeMs); + const type = this.listings.has(p) ? S_IFDIR : this.isSymbolicLink(entry) ? S_IFLNK : S_IFREG; + const defaultMode = type === S_IFDIR ? 493 : 420; + const mode = type | this.getUnixMode(entry, defaultMode) & 511; + const crc = this.libzip.struct.statCrc(stat); + const statInstance = Object.assign(new StatEntry(), { uid, gid, size, blksize, blocks, atime, birthtime, ctime, mtime, atimeMs, birthtimeMs, ctimeMs, mtimeMs, mode, crc }); + return opts.bigint === true ? convertToBigIntStats(statInstance) : statInstance; + } + if (this.listings.has(p)) { + const uid = this.stats.uid; + const gid = this.stats.gid; + const size = 0; + const blksize = 512; + const blocks = 0; + const atimeMs = this.stats.mtimeMs; + const birthtimeMs = this.stats.mtimeMs; + const ctimeMs = this.stats.mtimeMs; + const mtimeMs = this.stats.mtimeMs; + const atime = new Date(atimeMs); + const birthtime = new Date(birthtimeMs); + const ctime = new Date(ctimeMs); + const mtime = new Date(mtimeMs); + const mode = S_IFDIR | 493; + const crc = 0; + const statInstance = Object.assign(new StatEntry(), { uid, gid, size, blksize, blocks, atime, birthtime, ctime, mtime, atimeMs, birthtimeMs, ctimeMs, mtimeMs, mode, crc }); + return opts.bigint === true ? convertToBigIntStats(statInstance) : statInstance; + } + throw new Error(`Unreachable`); + } + getUnixMode(index, defaultMode) { + const rc = this.libzip.file.getExternalAttributes(this.zip, index, 0, 0, this.libzip.uint08S, this.libzip.uint32S); + if (rc === -1) + throw this.makeLibzipError(this.libzip.getError(this.zip)); + const opsys = this.libzip.getValue(this.libzip.uint08S, `i8`) >>> 0; + if (opsys !== this.libzip.ZIP_OPSYS_UNIX) + return defaultMode; + return this.libzip.getValue(this.libzip.uint32S, `i32`) >>> 16; + } + registerListing(p) { + const existingListing = this.listings.get(p); + if (existingListing) + return existingListing; + const parentListing = this.registerListing(ppath.dirname(p)); + parentListing.add(ppath.basename(p)); + const newListing = /* @__PURE__ */ new Set(); + this.listings.set(p, newListing); + return newListing; + } + registerEntry(p, index) { + const parentListing = this.registerListing(ppath.dirname(p)); + parentListing.add(ppath.basename(p)); + this.entries.set(p, index); + } + unregisterListing(p) { + this.listings.delete(p); + const parentListing = this.listings.get(ppath.dirname(p)); + parentListing == null ? void 0 : parentListing.delete(ppath.basename(p)); + } + unregisterEntry(p) { + this.unregisterListing(p); + const entry = this.entries.get(p); + this.entries.delete(p); + if (typeof entry === `undefined`) + return; + this.fileSources.delete(entry); + if (this.isSymbolicLink(entry)) { + this.symlinkCount--; + } + } + deleteEntry(p, index) { + this.unregisterEntry(p); + const rc = this.libzip.delete(this.zip, index); + if (rc === -1) { + throw this.makeLibzipError(this.libzip.getError(this.zip)); + } + } + resolveFilename(reason, p, resolveLastComponent = true, throwIfNoEntry = true) { + if (!this.ready) + throw EBUSY(`archive closed, ${reason}`); + let resolvedP = ppath.resolve(PortablePath.root, p); + if (resolvedP === `/`) + return PortablePath.root; + const fileIndex = this.entries.get(resolvedP); + if (resolveLastComponent && fileIndex !== void 0) { + if (this.symlinkCount !== 0 && this.isSymbolicLink(fileIndex)) { + const target = this.getFileSource(fileIndex).toString(); + return this.resolveFilename(reason, ppath.resolve(ppath.dirname(resolvedP), target), true, throwIfNoEntry); + } else { + return resolvedP; + } + } + while (true) { + const parentP = this.resolveFilename(reason, ppath.dirname(resolvedP), true, throwIfNoEntry); + if (parentP === void 0) + return parentP; + const isDir = this.listings.has(parentP); + const doesExist = this.entries.has(parentP); + if (!isDir && !doesExist) { + if (throwIfNoEntry === false) + return void 0; + throw ENOENT(reason); + } + if (!isDir) + throw ENOTDIR(reason); + resolvedP = ppath.resolve(parentP, ppath.basename(resolvedP)); + if (!resolveLastComponent || this.symlinkCount === 0) + break; + const index = this.libzip.name.locate(this.zip, resolvedP.slice(1), 0); + if (index === -1) + break; + if (this.isSymbolicLink(index)) { + const target = this.getFileSource(index).toString(); + resolvedP = ppath.resolve(ppath.dirname(resolvedP), target); + } else { + break; + } + } + return resolvedP; + } + allocateBuffer(content) { + if (!Buffer.isBuffer(content)) + content = Buffer.from(content); + const buffer = this.libzip.malloc(content.byteLength); + if (!buffer) + throw new Error(`Couldn't allocate enough memory`); + const heap = new Uint8Array(this.libzip.HEAPU8.buffer, buffer, content.byteLength); + heap.set(content); + return { buffer, byteLength: content.byteLength }; + } + allocateUnattachedSource(content) { + const error = this.libzip.struct.errorS(); + const { buffer, byteLength } = this.allocateBuffer(content); + const source = this.libzip.source.fromUnattachedBuffer(buffer, byteLength, 0, 1, error); + if (source === 0) { + this.libzip.free(error); + throw this.makeLibzipError(error); + } + return source; + } + allocateSource(content) { + const { buffer, byteLength } = this.allocateBuffer(content); + const source = this.libzip.source.fromBuffer(this.zip, buffer, byteLength, 0, 1); + if (source === 0) { + this.libzip.free(buffer); + throw this.makeLibzipError(this.libzip.getError(this.zip)); + } + return source; + } + setFileSource(p, content) { + const buffer = Buffer.isBuffer(content) ? content : Buffer.from(content); + const target = ppath.relative(PortablePath.root, p); + const lzSource = this.allocateSource(content); + try { + const newIndex = this.libzip.file.add(this.zip, target, lzSource, this.libzip.ZIP_FL_OVERWRITE); + if (newIndex === -1) + throw this.makeLibzipError(this.libzip.getError(this.zip)); + if (this.level !== `mixed`) { + const method = this.level === 0 ? this.libzip.ZIP_CM_STORE : this.libzip.ZIP_CM_DEFLATE; + const rc = this.libzip.file.setCompression(this.zip, newIndex, 0, method, this.level); + if (rc === -1) { + throw this.makeLibzipError(this.libzip.getError(this.zip)); + } + } + this.fileSources.set(newIndex, buffer); + return newIndex; + } catch (error) { + this.libzip.source.free(lzSource); + throw error; + } + } + isSymbolicLink(index) { + if (this.symlinkCount === 0) + return false; + const attrs = this.libzip.file.getExternalAttributes(this.zip, index, 0, 0, this.libzip.uint08S, this.libzip.uint32S); + if (attrs === -1) + throw this.makeLibzipError(this.libzip.getError(this.zip)); + const opsys = this.libzip.getValue(this.libzip.uint08S, `i8`) >>> 0; + if (opsys !== this.libzip.ZIP_OPSYS_UNIX) + return false; + const attributes = this.libzip.getValue(this.libzip.uint32S, `i32`) >>> 16; + return (attributes & S_IFMT) === S_IFLNK; + } + getFileSource(index, opts = { asyncDecompress: false }) { + const cachedFileSource = this.fileSources.get(index); + if (typeof cachedFileSource !== `undefined`) + return cachedFileSource; + const stat = this.libzip.struct.statS(); + const rc = this.libzip.statIndex(this.zip, index, 0, 0, stat); + if (rc === -1) + throw this.makeLibzipError(this.libzip.getError(this.zip)); + const size = this.libzip.struct.statCompSize(stat); + const compressionMethod = this.libzip.struct.statCompMethod(stat); + const buffer = this.libzip.malloc(size); + try { + const file = this.libzip.fopenIndex(this.zip, index, 0, this.libzip.ZIP_FL_COMPRESSED); + if (file === 0) + throw this.makeLibzipError(this.libzip.getError(this.zip)); + try { + const rc2 = this.libzip.fread(file, buffer, size, 0); + if (rc2 === -1) + throw this.makeLibzipError(this.libzip.file.getError(file)); + else if (rc2 < size) + throw new Error(`Incomplete read`); + else if (rc2 > size) + throw new Error(`Overread`); + const memory = this.libzip.HEAPU8.subarray(buffer, buffer + size); + const data = Buffer.from(memory); + if (compressionMethod === 0) { + this.fileSources.set(index, data); + return data; + } else if (opts.asyncDecompress) { + return new Promise((resolve, reject) => { + zlib__default.default.inflateRaw(data, (error, result) => { + if (error) { + reject(error); + } else { + this.fileSources.set(index, result); + resolve(result); + } + }); + }); + } else { + const decompressedData = zlib__default.default.inflateRawSync(data); + this.fileSources.set(index, decompressedData); + return decompressedData; + } + } finally { + this.libzip.fclose(file); + } + } finally { + this.libzip.free(buffer); + } + } + async fchmodPromise(fd, mask) { + return this.chmodPromise(this.fdToPath(fd, `fchmod`), mask); + } + fchmodSync(fd, mask) { + return this.chmodSync(this.fdToPath(fd, `fchmodSync`), mask); + } + async chmodPromise(p, mask) { + return this.chmodSync(p, mask); + } + chmodSync(p, mask) { + if (this.readOnly) + throw EROFS(`chmod '${p}'`); + mask &= 493; + const resolvedP = this.resolveFilename(`chmod '${p}'`, p, false); + const entry = this.entries.get(resolvedP); + if (typeof entry === `undefined`) + throw new Error(`Assertion failed: The entry should have been registered (${resolvedP})`); + const oldMod = this.getUnixMode(entry, S_IFREG | 0); + const newMod = oldMod & ~511 | mask; + const rc = this.libzip.file.setExternalAttributes(this.zip, entry, 0, 0, this.libzip.ZIP_OPSYS_UNIX, newMod << 16); + if (rc === -1) { + throw this.makeLibzipError(this.libzip.getError(this.zip)); + } + } + async fchownPromise(fd, uid, gid) { + return this.chownPromise(this.fdToPath(fd, `fchown`), uid, gid); + } + fchownSync(fd, uid, gid) { + return this.chownSync(this.fdToPath(fd, `fchownSync`), uid, gid); + } + async chownPromise(p, uid, gid) { + return this.chownSync(p, uid, gid); + } + chownSync(p, uid, gid) { + throw new Error(`Unimplemented`); + } + async renamePromise(oldP, newP) { + return this.renameSync(oldP, newP); + } + renameSync(oldP, newP) { + throw new Error(`Unimplemented`); + } + async copyFilePromise(sourceP, destP, flags) { + const { indexSource, indexDest, resolvedDestP } = this.prepareCopyFile(sourceP, destP, flags); + const source = await this.getFileSource(indexSource, { asyncDecompress: true }); + const newIndex = this.setFileSource(resolvedDestP, source); + if (newIndex !== indexDest) { + this.registerEntry(resolvedDestP, newIndex); + } + } + copyFileSync(sourceP, destP, flags = 0) { + const { indexSource, indexDest, resolvedDestP } = this.prepareCopyFile(sourceP, destP, flags); + const source = this.getFileSource(indexSource); + const newIndex = this.setFileSource(resolvedDestP, source); + if (newIndex !== indexDest) { + this.registerEntry(resolvedDestP, newIndex); + } + } + prepareCopyFile(sourceP, destP, flags = 0) { + if (this.readOnly) + throw EROFS(`copyfile '${sourceP} -> '${destP}'`); + if ((flags & fs.constants.COPYFILE_FICLONE_FORCE) !== 0) + throw ENOSYS(`unsupported clone operation`, `copyfile '${sourceP}' -> ${destP}'`); + const resolvedSourceP = this.resolveFilename(`copyfile '${sourceP} -> ${destP}'`, sourceP); + const indexSource = this.entries.get(resolvedSourceP); + if (typeof indexSource === `undefined`) + throw EINVAL(`copyfile '${sourceP}' -> '${destP}'`); + const resolvedDestP = this.resolveFilename(`copyfile '${sourceP}' -> ${destP}'`, destP); + const indexDest = this.entries.get(resolvedDestP); + if ((flags & (fs.constants.COPYFILE_EXCL | fs.constants.COPYFILE_FICLONE_FORCE)) !== 0 && typeof indexDest !== `undefined`) + throw EEXIST(`copyfile '${sourceP}' -> '${destP}'`); + return { + indexSource, + resolvedDestP, + indexDest + }; + } + async appendFilePromise(p, content, opts) { + if (this.readOnly) + throw EROFS(`open '${p}'`); + if (typeof opts === `undefined`) + opts = { flag: `a` }; + else if (typeof opts === `string`) + opts = { flag: `a`, encoding: opts }; + else if (typeof opts.flag === `undefined`) + opts = { flag: `a`, ...opts }; + return this.writeFilePromise(p, content, opts); + } + appendFileSync(p, content, opts = {}) { + if (this.readOnly) + throw EROFS(`open '${p}'`); + if (typeof opts === `undefined`) + opts = { flag: `a` }; + else if (typeof opts === `string`) + opts = { flag: `a`, encoding: opts }; + else if (typeof opts.flag === `undefined`) + opts = { flag: `a`, ...opts }; + return this.writeFileSync(p, content, opts); + } + fdToPath(fd, reason) { + var _a; + const path = (_a = this.fds.get(fd)) == null ? void 0 : _a.p; + if (typeof path === `undefined`) + throw EBADF(reason); + return path; + } + async writeFilePromise(p, content, opts) { + const { encoding, mode, index, resolvedP } = this.prepareWriteFile(p, opts); + if (index !== void 0 && typeof opts === `object` && opts.flag && opts.flag.includes(`a`)) + content = Buffer.concat([await this.getFileSource(index, { asyncDecompress: true }), Buffer.from(content)]); + if (encoding !== null) + content = content.toString(encoding); + const newIndex = this.setFileSource(resolvedP, content); + if (newIndex !== index) + this.registerEntry(resolvedP, newIndex); + if (mode !== null) { + await this.chmodPromise(resolvedP, mode); + } + } + writeFileSync(p, content, opts) { + const { encoding, mode, index, resolvedP } = this.prepareWriteFile(p, opts); + if (index !== void 0 && typeof opts === `object` && opts.flag && opts.flag.includes(`a`)) + content = Buffer.concat([this.getFileSource(index), Buffer.from(content)]); + if (encoding !== null) + content = content.toString(encoding); + const newIndex = this.setFileSource(resolvedP, content); + if (newIndex !== index) + this.registerEntry(resolvedP, newIndex); + if (mode !== null) { + this.chmodSync(resolvedP, mode); + } + } + prepareWriteFile(p, opts) { + if (typeof p === `number`) + p = this.fdToPath(p, `read`); + if (this.readOnly) + throw EROFS(`open '${p}'`); + const resolvedP = this.resolveFilename(`open '${p}'`, p); + if (this.listings.has(resolvedP)) + throw EISDIR(`open '${p}'`); + let encoding = null, mode = null; + if (typeof opts === `string`) { + encoding = opts; + } else if (typeof opts === `object`) { + ({ + encoding = null, + mode = null + } = opts); + } + const index = this.entries.get(resolvedP); + return { + encoding, + mode, + resolvedP, + index + }; + } + async unlinkPromise(p) { + return this.unlinkSync(p); + } + unlinkSync(p) { + if (this.readOnly) + throw EROFS(`unlink '${p}'`); + const resolvedP = this.resolveFilename(`unlink '${p}'`, p); + if (this.listings.has(resolvedP)) + throw EISDIR(`unlink '${p}'`); + const index = this.entries.get(resolvedP); + if (typeof index === `undefined`) + throw EINVAL(`unlink '${p}'`); + this.deleteEntry(resolvedP, index); + } + async utimesPromise(p, atime, mtime) { + return this.utimesSync(p, atime, mtime); + } + utimesSync(p, atime, mtime) { + if (this.readOnly) + throw EROFS(`utimes '${p}'`); + const resolvedP = this.resolveFilename(`utimes '${p}'`, p); + this.utimesImpl(resolvedP, mtime); + } + async lutimesPromise(p, atime, mtime) { + return this.lutimesSync(p, atime, mtime); + } + lutimesSync(p, atime, mtime) { + if (this.readOnly) + throw EROFS(`lutimes '${p}'`); + const resolvedP = this.resolveFilename(`utimes '${p}'`, p, false); + this.utimesImpl(resolvedP, mtime); + } + utimesImpl(resolvedP, mtime) { + if (this.listings.has(resolvedP)) { + if (!this.entries.has(resolvedP)) + this.hydrateDirectory(resolvedP); + } + const entry = this.entries.get(resolvedP); + if (entry === void 0) + throw new Error(`Unreachable`); + const rc = this.libzip.file.setMtime(this.zip, entry, 0, toUnixTimestamp(mtime), 0); + if (rc === -1) { + throw this.makeLibzipError(this.libzip.getError(this.zip)); + } + } + async mkdirPromise(p, opts) { + return this.mkdirSync(p, opts); + } + mkdirSync(p, { mode = 493, recursive = false } = {}) { + if (recursive) + return this.mkdirpSync(p, { chmod: mode }); + if (this.readOnly) + throw EROFS(`mkdir '${p}'`); + const resolvedP = this.resolveFilename(`mkdir '${p}'`, p); + if (this.entries.has(resolvedP) || this.listings.has(resolvedP)) + throw EEXIST(`mkdir '${p}'`); + this.hydrateDirectory(resolvedP); + this.chmodSync(resolvedP, mode); + return void 0; + } + async rmdirPromise(p, opts) { + return this.rmdirSync(p, opts); + } + rmdirSync(p, { recursive = false } = {}) { + if (this.readOnly) + throw EROFS(`rmdir '${p}'`); + if (recursive) { + this.removeSync(p); + return; + } + const resolvedP = this.resolveFilename(`rmdir '${p}'`, p); + const directoryListing = this.listings.get(resolvedP); + if (!directoryListing) + throw ENOTDIR(`rmdir '${p}'`); + if (directoryListing.size > 0) + throw ENOTEMPTY(`rmdir '${p}'`); + const index = this.entries.get(resolvedP); + if (typeof index === `undefined`) + throw EINVAL(`rmdir '${p}'`); + this.deleteEntry(p, index); + } + hydrateDirectory(resolvedP) { + const index = this.libzip.dir.add(this.zip, ppath.relative(PortablePath.root, resolvedP)); + if (index === -1) + throw this.makeLibzipError(this.libzip.getError(this.zip)); + this.registerListing(resolvedP); + this.registerEntry(resolvedP, index); + return index; + } + async linkPromise(existingP, newP) { + return this.linkSync(existingP, newP); + } + linkSync(existingP, newP) { + throw EOPNOTSUPP(`link '${existingP}' -> '${newP}'`); + } + async symlinkPromise(target, p) { + return this.symlinkSync(target, p); + } + symlinkSync(target, p) { + if (this.readOnly) + throw EROFS(`symlink '${target}' -> '${p}'`); + const resolvedP = this.resolveFilename(`symlink '${target}' -> '${p}'`, p); + if (this.listings.has(resolvedP)) + throw EISDIR(`symlink '${target}' -> '${p}'`); + if (this.entries.has(resolvedP)) + throw EEXIST(`symlink '${target}' -> '${p}'`); + const index = this.setFileSource(resolvedP, target); + this.registerEntry(resolvedP, index); + const rc = this.libzip.file.setExternalAttributes(this.zip, index, 0, 0, this.libzip.ZIP_OPSYS_UNIX, (S_IFLNK | 511) << 16); + if (rc === -1) + throw this.makeLibzipError(this.libzip.getError(this.zip)); + this.symlinkCount += 1; + } + async readFilePromise(p, encoding) { + if (typeof encoding === `object`) + encoding = encoding ? encoding.encoding : void 0; + const data = await this.readFileBuffer(p, { asyncDecompress: true }); + return encoding ? data.toString(encoding) : data; + } + readFileSync(p, encoding) { + if (typeof encoding === `object`) + encoding = encoding ? encoding.encoding : void 0; + const data = this.readFileBuffer(p); + return encoding ? data.toString(encoding) : data; + } + readFileBuffer(p, opts = { asyncDecompress: false }) { + if (typeof p === `number`) + p = this.fdToPath(p, `read`); + const resolvedP = this.resolveFilename(`open '${p}'`, p); + if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) + throw ENOENT(`open '${p}'`); + if (p[p.length - 1] === `/` && !this.listings.has(resolvedP)) + throw ENOTDIR(`open '${p}'`); + if (this.listings.has(resolvedP)) + throw EISDIR(`read`); + const entry = this.entries.get(resolvedP); + if (entry === void 0) + throw new Error(`Unreachable`); + return this.getFileSource(entry, opts); + } + async readdirPromise(p, opts) { + return this.readdirSync(p, opts); + } + readdirSync(p, opts) { + const resolvedP = this.resolveFilename(`scandir '${p}'`, p); + if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) + throw ENOENT(`scandir '${p}'`); + const directoryListing = this.listings.get(resolvedP); + if (!directoryListing) + throw ENOTDIR(`scandir '${p}'`); + const entries = [...directoryListing]; + if (!(opts == null ? void 0 : opts.withFileTypes)) + return entries; + return entries.map((name) => { + return Object.assign(this.statImpl(`lstat`, ppath.join(p, name)), { + name + }); + }); + } + async readlinkPromise(p) { + const entry = this.prepareReadlink(p); + return (await this.getFileSource(entry, { asyncDecompress: true })).toString(); + } + readlinkSync(p) { + const entry = this.prepareReadlink(p); + return this.getFileSource(entry).toString(); + } + prepareReadlink(p) { + const resolvedP = this.resolveFilename(`readlink '${p}'`, p, false); + if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) + throw ENOENT(`readlink '${p}'`); + if (p[p.length - 1] === `/` && !this.listings.has(resolvedP)) + throw ENOTDIR(`open '${p}'`); + if (this.listings.has(resolvedP)) + throw EINVAL(`readlink '${p}'`); + const entry = this.entries.get(resolvedP); + if (entry === void 0) + throw new Error(`Unreachable`); + if (!this.isSymbolicLink(entry)) + throw EINVAL(`readlink '${p}'`); + return entry; + } + async truncatePromise(p, len = 0) { + const resolvedP = this.resolveFilename(`open '${p}'`, p); + const index = this.entries.get(resolvedP); + if (typeof index === `undefined`) + throw EINVAL(`open '${p}'`); + const source = await this.getFileSource(index, { asyncDecompress: true }); + const truncated = Buffer.alloc(len, 0); + source.copy(truncated); + return await this.writeFilePromise(p, truncated); + } + truncateSync(p, len = 0) { + const resolvedP = this.resolveFilename(`open '${p}'`, p); + const index = this.entries.get(resolvedP); + if (typeof index === `undefined`) + throw EINVAL(`open '${p}'`); + const source = this.getFileSource(index); + const truncated = Buffer.alloc(len, 0); + source.copy(truncated); + return this.writeFileSync(p, truncated); + } + async ftruncatePromise(fd, len) { + return this.truncatePromise(this.fdToPath(fd, `ftruncate`), len); + } + ftruncateSync(fd, len) { + return this.truncateSync(this.fdToPath(fd, `ftruncateSync`), len); + } + watch(p, a, b) { + let persistent; + switch (typeof a) { + case `function`: + case `string`: + case `undefined`: + { + persistent = true; + } + break; + default: + { + ({ persistent = true } = a); + } + break; + } + if (!persistent) + return { on: () => { + }, close: () => { + } }; + const interval = setInterval(() => { + }, 24 * 60 * 60 * 1e3); + return { on: () => { + }, close: () => { + clearInterval(interval); + } }; + } + watchFile(p, a, b) { + const resolvedP = ppath.resolve(PortablePath.root, p); + return watchFile(this, resolvedP, a, b); + } + unwatchFile(p, cb) { + const resolvedP = ppath.resolve(PortablePath.root, p); + return unwatchFile(this, resolvedP, cb); + } +} + +class ProxiedFS extends FakeFS { + getExtractHint(hints) { + return this.baseFs.getExtractHint(hints); + } + resolve(path) { + return this.mapFromBase(this.baseFs.resolve(this.mapToBase(path))); + } + getRealPath() { + return this.mapFromBase(this.baseFs.getRealPath()); + } + async openPromise(p, flags, mode) { + return this.baseFs.openPromise(this.mapToBase(p), flags, mode); + } + openSync(p, flags, mode) { + return this.baseFs.openSync(this.mapToBase(p), flags, mode); + } + async opendirPromise(p, opts) { + return Object.assign(await this.baseFs.opendirPromise(this.mapToBase(p), opts), { path: p }); + } + opendirSync(p, opts) { + return Object.assign(this.baseFs.opendirSync(this.mapToBase(p), opts), { path: p }); + } + async readPromise(fd, buffer, offset, length, position) { + return await this.baseFs.readPromise(fd, buffer, offset, length, position); + } + readSync(fd, buffer, offset, length, position) { + return this.baseFs.readSync(fd, buffer, offset, length, position); + } + async writePromise(fd, buffer, offset, length, position) { + if (typeof buffer === `string`) { + return await this.baseFs.writePromise(fd, buffer, offset); + } else { + return await this.baseFs.writePromise(fd, buffer, offset, length, position); + } + } + writeSync(fd, buffer, offset, length, position) { + if (typeof buffer === `string`) { + return this.baseFs.writeSync(fd, buffer, offset); + } else { + return this.baseFs.writeSync(fd, buffer, offset, length, position); + } + } + async closePromise(fd) { + return this.baseFs.closePromise(fd); + } + closeSync(fd) { + this.baseFs.closeSync(fd); + } + createReadStream(p, opts) { + return this.baseFs.createReadStream(p !== null ? this.mapToBase(p) : p, opts); + } + createWriteStream(p, opts) { + return this.baseFs.createWriteStream(p !== null ? this.mapToBase(p) : p, opts); + } + async realpathPromise(p) { + return this.mapFromBase(await this.baseFs.realpathPromise(this.mapToBase(p))); + } + realpathSync(p) { + return this.mapFromBase(this.baseFs.realpathSync(this.mapToBase(p))); + } + async existsPromise(p) { + return this.baseFs.existsPromise(this.mapToBase(p)); + } + existsSync(p) { + return this.baseFs.existsSync(this.mapToBase(p)); + } + accessSync(p, mode) { + return this.baseFs.accessSync(this.mapToBase(p), mode); + } + async accessPromise(p, mode) { + return this.baseFs.accessPromise(this.mapToBase(p), mode); + } + async statPromise(p, opts) { + return this.baseFs.statPromise(this.mapToBase(p), opts); + } + statSync(p, opts) { + return this.baseFs.statSync(this.mapToBase(p), opts); + } + async fstatPromise(fd, opts) { + return this.baseFs.fstatPromise(fd, opts); + } + fstatSync(fd, opts) { + return this.baseFs.fstatSync(fd, opts); + } + lstatPromise(p, opts) { + return this.baseFs.lstatPromise(this.mapToBase(p), opts); + } + lstatSync(p, opts) { + return this.baseFs.lstatSync(this.mapToBase(p), opts); + } + async fchmodPromise(fd, mask) { + return this.baseFs.fchmodPromise(fd, mask); + } + fchmodSync(fd, mask) { + return this.baseFs.fchmodSync(fd, mask); + } + async chmodPromise(p, mask) { + return this.baseFs.chmodPromise(this.mapToBase(p), mask); + } + chmodSync(p, mask) { + return this.baseFs.chmodSync(this.mapToBase(p), mask); + } + async fchownPromise(fd, uid, gid) { + return this.baseFs.fchownPromise(fd, uid, gid); + } + fchownSync(fd, uid, gid) { + return this.baseFs.fchownSync(fd, uid, gid); + } + async chownPromise(p, uid, gid) { + return this.baseFs.chownPromise(this.mapToBase(p), uid, gid); + } + chownSync(p, uid, gid) { + return this.baseFs.chownSync(this.mapToBase(p), uid, gid); + } + async renamePromise(oldP, newP) { + return this.baseFs.renamePromise(this.mapToBase(oldP), this.mapToBase(newP)); + } + renameSync(oldP, newP) { + return this.baseFs.renameSync(this.mapToBase(oldP), this.mapToBase(newP)); + } + async copyFilePromise(sourceP, destP, flags = 0) { + return this.baseFs.copyFilePromise(this.mapToBase(sourceP), this.mapToBase(destP), flags); + } + copyFileSync(sourceP, destP, flags = 0) { + return this.baseFs.copyFileSync(this.mapToBase(sourceP), this.mapToBase(destP), flags); + } + async appendFilePromise(p, content, opts) { + return this.baseFs.appendFilePromise(this.fsMapToBase(p), content, opts); + } + appendFileSync(p, content, opts) { + return this.baseFs.appendFileSync(this.fsMapToBase(p), content, opts); + } + async writeFilePromise(p, content, opts) { + return this.baseFs.writeFilePromise(this.fsMapToBase(p), content, opts); + } + writeFileSync(p, content, opts) { + return this.baseFs.writeFileSync(this.fsMapToBase(p), content, opts); + } + async unlinkPromise(p) { + return this.baseFs.unlinkPromise(this.mapToBase(p)); + } + unlinkSync(p) { + return this.baseFs.unlinkSync(this.mapToBase(p)); + } + async utimesPromise(p, atime, mtime) { + return this.baseFs.utimesPromise(this.mapToBase(p), atime, mtime); + } + utimesSync(p, atime, mtime) { + return this.baseFs.utimesSync(this.mapToBase(p), atime, mtime); + } + async mkdirPromise(p, opts) { + return this.baseFs.mkdirPromise(this.mapToBase(p), opts); + } + mkdirSync(p, opts) { + return this.baseFs.mkdirSync(this.mapToBase(p), opts); + } + async rmdirPromise(p, opts) { + return this.baseFs.rmdirPromise(this.mapToBase(p), opts); + } + rmdirSync(p, opts) { + return this.baseFs.rmdirSync(this.mapToBase(p), opts); + } + async linkPromise(existingP, newP) { + return this.baseFs.linkPromise(this.mapToBase(existingP), this.mapToBase(newP)); + } + linkSync(existingP, newP) { + return this.baseFs.linkSync(this.mapToBase(existingP), this.mapToBase(newP)); + } + async symlinkPromise(target, p, type) { + const mappedP = this.mapToBase(p); + if (this.pathUtils.isAbsolute(target)) + return this.baseFs.symlinkPromise(this.mapToBase(target), mappedP, type); + const mappedAbsoluteTarget = this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(p), target)); + const mappedTarget = this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(mappedP), mappedAbsoluteTarget); + return this.baseFs.symlinkPromise(mappedTarget, mappedP, type); + } + symlinkSync(target, p, type) { + const mappedP = this.mapToBase(p); + if (this.pathUtils.isAbsolute(target)) + return this.baseFs.symlinkSync(this.mapToBase(target), mappedP, type); + const mappedAbsoluteTarget = this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(p), target)); + const mappedTarget = this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(mappedP), mappedAbsoluteTarget); + return this.baseFs.symlinkSync(mappedTarget, mappedP, type); + } + async readFilePromise(p, encoding) { + if (encoding === `utf8`) { + return this.baseFs.readFilePromise(this.fsMapToBase(p), encoding); + } else { + return this.baseFs.readFilePromise(this.fsMapToBase(p), encoding); + } + } + readFileSync(p, encoding) { + if (encoding === `utf8`) { + return this.baseFs.readFileSync(this.fsMapToBase(p), encoding); + } else { + return this.baseFs.readFileSync(this.fsMapToBase(p), encoding); + } + } + async readdirPromise(p, opts) { + return this.baseFs.readdirPromise(this.mapToBase(p), opts); + } + readdirSync(p, opts) { + return this.baseFs.readdirSync(this.mapToBase(p), opts); + } + async readlinkPromise(p) { + return this.mapFromBase(await this.baseFs.readlinkPromise(this.mapToBase(p))); + } + readlinkSync(p) { + return this.mapFromBase(this.baseFs.readlinkSync(this.mapToBase(p))); + } + async truncatePromise(p, len) { + return this.baseFs.truncatePromise(this.mapToBase(p), len); + } + truncateSync(p, len) { + return this.baseFs.truncateSync(this.mapToBase(p), len); + } + async ftruncatePromise(fd, len) { + return this.baseFs.ftruncatePromise(fd, len); + } + ftruncateSync(fd, len) { + return this.baseFs.ftruncateSync(fd, len); + } + watch(p, a, b) { + return this.baseFs.watch( + this.mapToBase(p), + a, + b + ); + } + watchFile(p, a, b) { + return this.baseFs.watchFile( + this.mapToBase(p), + a, + b + ); + } + unwatchFile(p, cb) { + return this.baseFs.unwatchFile(this.mapToBase(p), cb); + } + fsMapToBase(p) { + if (typeof p === `number`) { + return p; + } else { + return this.mapToBase(p); + } + } +} + +class PosixFS extends ProxiedFS { + constructor(baseFs) { + super(npath); + this.baseFs = baseFs; + } + mapFromBase(path) { + return npath.fromPortablePath(path); + } + mapToBase(path) { + return npath.toPortablePath(path); + } +} + +const NUMBER_REGEXP = /^[0-9]+$/; +const VIRTUAL_REGEXP = /^(\/(?:[^/]+\/)*?(?:\$\$virtual|__virtual__))((?:\/((?:[^/]+-)?[a-f0-9]+)(?:\/([^/]+))?)?((?:\/.*)?))$/; +const VALID_COMPONENT = /^([^/]+-)?[a-f0-9]+$/; +class VirtualFS extends ProxiedFS { + constructor({ baseFs = new NodeFS() } = {}) { + super(ppath); + this.baseFs = baseFs; + } + static makeVirtualPath(base, component, to) { + if (ppath.basename(base) !== `__virtual__`) + throw new Error(`Assertion failed: Virtual folders must be named "__virtual__"`); + if (!ppath.basename(component).match(VALID_COMPONENT)) + throw new Error(`Assertion failed: Virtual components must be ended by an hexadecimal hash`); + const target = ppath.relative(ppath.dirname(base), to); + const segments = target.split(`/`); + let depth = 0; + while (depth < segments.length && segments[depth] === `..`) + depth += 1; + const finalSegments = segments.slice(depth); + const fullVirtualPath = ppath.join(base, component, String(depth), ...finalSegments); + return fullVirtualPath; + } + static resolveVirtual(p) { + const match = p.match(VIRTUAL_REGEXP); + if (!match || !match[3] && match[5]) + return p; + const target = ppath.dirname(match[1]); + if (!match[3] || !match[4]) + return target; + const isnum = NUMBER_REGEXP.test(match[4]); + if (!isnum) + return p; + const depth = Number(match[4]); + const backstep = `../`.repeat(depth); + const subpath = match[5] || `.`; + return VirtualFS.resolveVirtual(ppath.join(target, backstep, subpath)); + } + getExtractHint(hints) { + return this.baseFs.getExtractHint(hints); + } + getRealPath() { + return this.baseFs.getRealPath(); + } + realpathSync(p) { + const match = p.match(VIRTUAL_REGEXP); + if (!match) + return this.baseFs.realpathSync(p); + if (!match[5]) + return p; + const realpath = this.baseFs.realpathSync(this.mapToBase(p)); + return VirtualFS.makeVirtualPath(match[1], match[3], realpath); + } + async realpathPromise(p) { + const match = p.match(VIRTUAL_REGEXP); + if (!match) + return await this.baseFs.realpathPromise(p); + if (!match[5]) + return p; + const realpath = await this.baseFs.realpathPromise(this.mapToBase(p)); + return VirtualFS.makeVirtualPath(match[1], match[3], realpath); + } + mapToBase(p) { + if (p === ``) + return p; + if (this.pathUtils.isAbsolute(p)) + return VirtualFS.resolveVirtual(p); + const resolvedRoot = VirtualFS.resolveVirtual(this.baseFs.resolve(PortablePath.dot)); + const resolvedP = VirtualFS.resolveVirtual(this.baseFs.resolve(p)); + return ppath.relative(resolvedRoot, resolvedP) || PortablePath.dot; + } + mapFromBase(p) { + return p; + } +} + +const ZIP_MASK = 4278190080; +const ZIP_MAGIC = 704643072; +const getArchivePart = (path, extension) => { + let idx = path.indexOf(extension); + if (idx <= 0) + return null; + let nextCharIdx = idx; + while (idx >= 0) { + nextCharIdx = idx + extension.length; + if (path[nextCharIdx] === ppath.sep) + break; + if (path[idx - 1] === ppath.sep) + return null; + idx = path.indexOf(extension, nextCharIdx); + } + if (path.length > nextCharIdx && path[nextCharIdx] !== ppath.sep) + return null; + return path.slice(0, nextCharIdx); +}; +class ZipOpenFS extends BasePortableFakeFS { + constructor({ libzip, baseFs = new NodeFS(), filter = null, maxOpenFiles = Infinity, readOnlyArchives = false, useCache = true, maxAge = 5e3, fileExtensions = null }) { + super(); + this.fdMap = /* @__PURE__ */ new Map(); + this.nextFd = 3; + this.isZip = /* @__PURE__ */ new Set(); + this.notZip = /* @__PURE__ */ new Set(); + this.realPaths = /* @__PURE__ */ new Map(); + this.limitOpenFilesTimeout = null; + this.libzipFactory = typeof libzip !== `function` ? () => libzip : libzip; + this.baseFs = baseFs; + this.zipInstances = useCache ? /* @__PURE__ */ new Map() : null; + this.filter = filter; + this.maxOpenFiles = maxOpenFiles; + this.readOnlyArchives = readOnlyArchives; + this.maxAge = maxAge; + this.fileExtensions = fileExtensions; + } + static async openPromise(fn, opts) { + const zipOpenFs = new ZipOpenFS(opts); + try { + return await fn(zipOpenFs); + } finally { + zipOpenFs.saveAndClose(); + } + } + get libzip() { + if (typeof this.libzipInstance === `undefined`) + this.libzipInstance = this.libzipFactory(); + return this.libzipInstance; + } + getExtractHint(hints) { + return this.baseFs.getExtractHint(hints); + } + getRealPath() { + return this.baseFs.getRealPath(); + } + saveAndClose() { + unwatchAllFiles(this); + if (this.zipInstances) { + for (const [path, { zipFs }] of this.zipInstances.entries()) { + zipFs.saveAndClose(); + this.zipInstances.delete(path); + } + } + } + discardAndClose() { + unwatchAllFiles(this); + if (this.zipInstances) { + for (const [path, { zipFs }] of this.zipInstances.entries()) { + zipFs.discardAndClose(); + this.zipInstances.delete(path); + } + } + } + resolve(p) { + return this.baseFs.resolve(p); + } + remapFd(zipFs, fd) { + const remappedFd = this.nextFd++ | ZIP_MAGIC; + this.fdMap.set(remappedFd, [zipFs, fd]); + return remappedFd; + } + async openPromise(p, flags, mode) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.openPromise(p, flags, mode); + }, async (zipFs, { subPath }) => { + return this.remapFd(zipFs, await zipFs.openPromise(subPath, flags, mode)); + }); + } + openSync(p, flags, mode) { + return this.makeCallSync(p, () => { + return this.baseFs.openSync(p, flags, mode); + }, (zipFs, { subPath }) => { + return this.remapFd(zipFs, zipFs.openSync(subPath, flags, mode)); + }); + } + async opendirPromise(p, opts) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.opendirPromise(p, opts); + }, async (zipFs, { subPath }) => { + return await zipFs.opendirPromise(subPath, opts); + }, { + requireSubpath: false + }); + } + opendirSync(p, opts) { + return this.makeCallSync(p, () => { + return this.baseFs.opendirSync(p, opts); + }, (zipFs, { subPath }) => { + return zipFs.opendirSync(subPath, opts); + }, { + requireSubpath: false + }); + } + async readPromise(fd, buffer, offset, length, position) { + if ((fd & ZIP_MASK) !== ZIP_MAGIC) + return await this.baseFs.readPromise(fd, buffer, offset, length, position); + const entry = this.fdMap.get(fd); + if (typeof entry === `undefined`) + throw EBADF(`read`); + const [zipFs, realFd] = entry; + return await zipFs.readPromise(realFd, buffer, offset, length, position); + } + readSync(fd, buffer, offset, length, position) { + if ((fd & ZIP_MASK) !== ZIP_MAGIC) + return this.baseFs.readSync(fd, buffer, offset, length, position); + const entry = this.fdMap.get(fd); + if (typeof entry === `undefined`) + throw EBADF(`readSync`); + const [zipFs, realFd] = entry; + return zipFs.readSync(realFd, buffer, offset, length, position); + } + async writePromise(fd, buffer, offset, length, position) { + if ((fd & ZIP_MASK) !== ZIP_MAGIC) { + if (typeof buffer === `string`) { + return await this.baseFs.writePromise(fd, buffer, offset); + } else { + return await this.baseFs.writePromise(fd, buffer, offset, length, position); + } + } + const entry = this.fdMap.get(fd); + if (typeof entry === `undefined`) + throw EBADF(`write`); + const [zipFs, realFd] = entry; + if (typeof buffer === `string`) { + return await zipFs.writePromise(realFd, buffer, offset); + } else { + return await zipFs.writePromise(realFd, buffer, offset, length, position); + } + } + writeSync(fd, buffer, offset, length, position) { + if ((fd & ZIP_MASK) !== ZIP_MAGIC) { + if (typeof buffer === `string`) { + return this.baseFs.writeSync(fd, buffer, offset); + } else { + return this.baseFs.writeSync(fd, buffer, offset, length, position); + } + } + const entry = this.fdMap.get(fd); + if (typeof entry === `undefined`) + throw EBADF(`writeSync`); + const [zipFs, realFd] = entry; + if (typeof buffer === `string`) { + return zipFs.writeSync(realFd, buffer, offset); + } else { + return zipFs.writeSync(realFd, buffer, offset, length, position); + } + } + async closePromise(fd) { + if ((fd & ZIP_MASK) !== ZIP_MAGIC) + return await this.baseFs.closePromise(fd); + const entry = this.fdMap.get(fd); + if (typeof entry === `undefined`) + throw EBADF(`close`); + this.fdMap.delete(fd); + const [zipFs, realFd] = entry; + return await zipFs.closePromise(realFd); + } + closeSync(fd) { + if ((fd & ZIP_MASK) !== ZIP_MAGIC) + return this.baseFs.closeSync(fd); + const entry = this.fdMap.get(fd); + if (typeof entry === `undefined`) + throw EBADF(`closeSync`); + this.fdMap.delete(fd); + const [zipFs, realFd] = entry; + return zipFs.closeSync(realFd); + } + createReadStream(p, opts) { + if (p === null) + return this.baseFs.createReadStream(p, opts); + return this.makeCallSync(p, () => { + return this.baseFs.createReadStream(p, opts); + }, (zipFs, { archivePath, subPath }) => { + const stream = zipFs.createReadStream(subPath, opts); + stream.path = npath.fromPortablePath(this.pathUtils.join(archivePath, subPath)); + return stream; + }); + } + createWriteStream(p, opts) { + if (p === null) + return this.baseFs.createWriteStream(p, opts); + return this.makeCallSync(p, () => { + return this.baseFs.createWriteStream(p, opts); + }, (zipFs, { subPath }) => { + return zipFs.createWriteStream(subPath, opts); + }); + } + async realpathPromise(p) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.realpathPromise(p); + }, async (zipFs, { archivePath, subPath }) => { + let realArchivePath = this.realPaths.get(archivePath); + if (typeof realArchivePath === `undefined`) { + realArchivePath = await this.baseFs.realpathPromise(archivePath); + this.realPaths.set(archivePath, realArchivePath); + } + return this.pathUtils.join(realArchivePath, this.pathUtils.relative(PortablePath.root, await zipFs.realpathPromise(subPath))); + }); + } + realpathSync(p) { + return this.makeCallSync(p, () => { + return this.baseFs.realpathSync(p); + }, (zipFs, { archivePath, subPath }) => { + let realArchivePath = this.realPaths.get(archivePath); + if (typeof realArchivePath === `undefined`) { + realArchivePath = this.baseFs.realpathSync(archivePath); + this.realPaths.set(archivePath, realArchivePath); + } + return this.pathUtils.join(realArchivePath, this.pathUtils.relative(PortablePath.root, zipFs.realpathSync(subPath))); + }); + } + async existsPromise(p) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.existsPromise(p); + }, async (zipFs, { subPath }) => { + return await zipFs.existsPromise(subPath); + }); + } + existsSync(p) { + return this.makeCallSync(p, () => { + return this.baseFs.existsSync(p); + }, (zipFs, { subPath }) => { + return zipFs.existsSync(subPath); + }); + } + async accessPromise(p, mode) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.accessPromise(p, mode); + }, async (zipFs, { subPath }) => { + return await zipFs.accessPromise(subPath, mode); + }); + } + accessSync(p, mode) { + return this.makeCallSync(p, () => { + return this.baseFs.accessSync(p, mode); + }, (zipFs, { subPath }) => { + return zipFs.accessSync(subPath, mode); + }); + } + async statPromise(p, opts) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.statPromise(p, opts); + }, async (zipFs, { subPath }) => { + return await zipFs.statPromise(subPath, opts); + }); + } + statSync(p, opts) { + return this.makeCallSync(p, () => { + return this.baseFs.statSync(p, opts); + }, (zipFs, { subPath }) => { + return zipFs.statSync(subPath, opts); + }); + } + async fstatPromise(fd, opts) { + if ((fd & ZIP_MASK) !== ZIP_MAGIC) + return this.baseFs.fstatPromise(fd, opts); + const entry = this.fdMap.get(fd); + if (typeof entry === `undefined`) + throw EBADF(`fstat`); + const [zipFs, realFd] = entry; + return zipFs.fstatPromise(realFd, opts); + } + fstatSync(fd, opts) { + if ((fd & ZIP_MASK) !== ZIP_MAGIC) + return this.baseFs.fstatSync(fd, opts); + const entry = this.fdMap.get(fd); + if (typeof entry === `undefined`) + throw EBADF(`fstatSync`); + const [zipFs, realFd] = entry; + return zipFs.fstatSync(realFd, opts); + } + async lstatPromise(p, opts) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.lstatPromise(p, opts); + }, async (zipFs, { subPath }) => { + return await zipFs.lstatPromise(subPath, opts); + }); + } + lstatSync(p, opts) { + return this.makeCallSync(p, () => { + return this.baseFs.lstatSync(p, opts); + }, (zipFs, { subPath }) => { + return zipFs.lstatSync(subPath, opts); + }); + } + async fchmodPromise(fd, mask) { + if ((fd & ZIP_MASK) !== ZIP_MAGIC) + return this.baseFs.fchmodPromise(fd, mask); + const entry = this.fdMap.get(fd); + if (typeof entry === `undefined`) + throw EBADF(`fchmod`); + const [zipFs, realFd] = entry; + return zipFs.fchmodPromise(realFd, mask); + } + fchmodSync(fd, mask) { + if ((fd & ZIP_MASK) !== ZIP_MAGIC) + return this.baseFs.fchmodSync(fd, mask); + const entry = this.fdMap.get(fd); + if (typeof entry === `undefined`) + throw EBADF(`fchmodSync`); + const [zipFs, realFd] = entry; + return zipFs.fchmodSync(realFd, mask); + } + async chmodPromise(p, mask) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.chmodPromise(p, mask); + }, async (zipFs, { subPath }) => { + return await zipFs.chmodPromise(subPath, mask); + }); + } + chmodSync(p, mask) { + return this.makeCallSync(p, () => { + return this.baseFs.chmodSync(p, mask); + }, (zipFs, { subPath }) => { + return zipFs.chmodSync(subPath, mask); + }); + } + async fchownPromise(fd, uid, gid) { + if ((fd & ZIP_MASK) !== ZIP_MAGIC) + return this.baseFs.fchownPromise(fd, uid, gid); + const entry = this.fdMap.get(fd); + if (typeof entry === `undefined`) + throw EBADF(`fchown`); + const [zipFs, realFd] = entry; + return zipFs.fchownPromise(realFd, uid, gid); + } + fchownSync(fd, uid, gid) { + if ((fd & ZIP_MASK) !== ZIP_MAGIC) + return this.baseFs.fchownSync(fd, uid, gid); + const entry = this.fdMap.get(fd); + if (typeof entry === `undefined`) + throw EBADF(`fchownSync`); + const [zipFs, realFd] = entry; + return zipFs.fchownSync(realFd, uid, gid); + } + async chownPromise(p, uid, gid) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.chownPromise(p, uid, gid); + }, async (zipFs, { subPath }) => { + return await zipFs.chownPromise(subPath, uid, gid); + }); + } + chownSync(p, uid, gid) { + return this.makeCallSync(p, () => { + return this.baseFs.chownSync(p, uid, gid); + }, (zipFs, { subPath }) => { + return zipFs.chownSync(subPath, uid, gid); + }); + } + async renamePromise(oldP, newP) { + return await this.makeCallPromise(oldP, async () => { + return await this.makeCallPromise(newP, async () => { + return await this.baseFs.renamePromise(oldP, newP); + }, async () => { + throw Object.assign(new Error(`EEXDEV: cross-device link not permitted`), { code: `EEXDEV` }); + }); + }, async (zipFsO, { subPath: subPathO }) => { + return await this.makeCallPromise(newP, async () => { + throw Object.assign(new Error(`EEXDEV: cross-device link not permitted`), { code: `EEXDEV` }); + }, async (zipFsN, { subPath: subPathN }) => { + if (zipFsO !== zipFsN) { + throw Object.assign(new Error(`EEXDEV: cross-device link not permitted`), { code: `EEXDEV` }); + } else { + return await zipFsO.renamePromise(subPathO, subPathN); + } + }); + }); + } + renameSync(oldP, newP) { + return this.makeCallSync(oldP, () => { + return this.makeCallSync(newP, () => { + return this.baseFs.renameSync(oldP, newP); + }, () => { + throw Object.assign(new Error(`EEXDEV: cross-device link not permitted`), { code: `EEXDEV` }); + }); + }, (zipFsO, { subPath: subPathO }) => { + return this.makeCallSync(newP, () => { + throw Object.assign(new Error(`EEXDEV: cross-device link not permitted`), { code: `EEXDEV` }); + }, (zipFsN, { subPath: subPathN }) => { + if (zipFsO !== zipFsN) { + throw Object.assign(new Error(`EEXDEV: cross-device link not permitted`), { code: `EEXDEV` }); + } else { + return zipFsO.renameSync(subPathO, subPathN); + } + }); + }); + } + async copyFilePromise(sourceP, destP, flags = 0) { + const fallback = async (sourceFs, sourceP2, destFs, destP2) => { + if ((flags & fs.constants.COPYFILE_FICLONE_FORCE) !== 0) + throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${sourceP2}' -> ${destP2}'`), { code: `EXDEV` }); + if (flags & fs.constants.COPYFILE_EXCL && await this.existsPromise(sourceP2)) + throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${sourceP2}' -> '${destP2}'`), { code: `EEXIST` }); + let content; + try { + content = await sourceFs.readFilePromise(sourceP2); + } catch (error) { + throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${sourceP2}' -> '${destP2}'`), { code: `EINVAL` }); + } + await destFs.writeFilePromise(destP2, content); + }; + return await this.makeCallPromise(sourceP, async () => { + return await this.makeCallPromise(destP, async () => { + return await this.baseFs.copyFilePromise(sourceP, destP, flags); + }, async (zipFsD, { subPath: subPathD }) => { + return await fallback(this.baseFs, sourceP, zipFsD, subPathD); + }); + }, async (zipFsS, { subPath: subPathS }) => { + return await this.makeCallPromise(destP, async () => { + return await fallback(zipFsS, subPathS, this.baseFs, destP); + }, async (zipFsD, { subPath: subPathD }) => { + if (zipFsS !== zipFsD) { + return await fallback(zipFsS, subPathS, zipFsD, subPathD); + } else { + return await zipFsS.copyFilePromise(subPathS, subPathD, flags); + } + }); + }); + } + copyFileSync(sourceP, destP, flags = 0) { + const fallback = (sourceFs, sourceP2, destFs, destP2) => { + if ((flags & fs.constants.COPYFILE_FICLONE_FORCE) !== 0) + throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${sourceP2}' -> ${destP2}'`), { code: `EXDEV` }); + if (flags & fs.constants.COPYFILE_EXCL && this.existsSync(sourceP2)) + throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${sourceP2}' -> '${destP2}'`), { code: `EEXIST` }); + let content; + try { + content = sourceFs.readFileSync(sourceP2); + } catch (error) { + throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${sourceP2}' -> '${destP2}'`), { code: `EINVAL` }); + } + destFs.writeFileSync(destP2, content); + }; + return this.makeCallSync(sourceP, () => { + return this.makeCallSync(destP, () => { + return this.baseFs.copyFileSync(sourceP, destP, flags); + }, (zipFsD, { subPath: subPathD }) => { + return fallback(this.baseFs, sourceP, zipFsD, subPathD); + }); + }, (zipFsS, { subPath: subPathS }) => { + return this.makeCallSync(destP, () => { + return fallback(zipFsS, subPathS, this.baseFs, destP); + }, (zipFsD, { subPath: subPathD }) => { + if (zipFsS !== zipFsD) { + return fallback(zipFsS, subPathS, zipFsD, subPathD); + } else { + return zipFsS.copyFileSync(subPathS, subPathD, flags); + } + }); + }); + } + async appendFilePromise(p, content, opts) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.appendFilePromise(p, content, opts); + }, async (zipFs, { subPath }) => { + return await zipFs.appendFilePromise(subPath, content, opts); + }); + } + appendFileSync(p, content, opts) { + return this.makeCallSync(p, () => { + return this.baseFs.appendFileSync(p, content, opts); + }, (zipFs, { subPath }) => { + return zipFs.appendFileSync(subPath, content, opts); + }); + } + async writeFilePromise(p, content, opts) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.writeFilePromise(p, content, opts); + }, async (zipFs, { subPath }) => { + return await zipFs.writeFilePromise(subPath, content, opts); + }); + } + writeFileSync(p, content, opts) { + return this.makeCallSync(p, () => { + return this.baseFs.writeFileSync(p, content, opts); + }, (zipFs, { subPath }) => { + return zipFs.writeFileSync(subPath, content, opts); + }); + } + async unlinkPromise(p) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.unlinkPromise(p); + }, async (zipFs, { subPath }) => { + return await zipFs.unlinkPromise(subPath); + }); + } + unlinkSync(p) { + return this.makeCallSync(p, () => { + return this.baseFs.unlinkSync(p); + }, (zipFs, { subPath }) => { + return zipFs.unlinkSync(subPath); + }); + } + async utimesPromise(p, atime, mtime) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.utimesPromise(p, atime, mtime); + }, async (zipFs, { subPath }) => { + return await zipFs.utimesPromise(subPath, atime, mtime); + }); + } + utimesSync(p, atime, mtime) { + return this.makeCallSync(p, () => { + return this.baseFs.utimesSync(p, atime, mtime); + }, (zipFs, { subPath }) => { + return zipFs.utimesSync(subPath, atime, mtime); + }); + } + async mkdirPromise(p, opts) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.mkdirPromise(p, opts); + }, async (zipFs, { subPath }) => { + return await zipFs.mkdirPromise(subPath, opts); + }); + } + mkdirSync(p, opts) { + return this.makeCallSync(p, () => { + return this.baseFs.mkdirSync(p, opts); + }, (zipFs, { subPath }) => { + return zipFs.mkdirSync(subPath, opts); + }); + } + async rmdirPromise(p, opts) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.rmdirPromise(p, opts); + }, async (zipFs, { subPath }) => { + return await zipFs.rmdirPromise(subPath, opts); + }); + } + rmdirSync(p, opts) { + return this.makeCallSync(p, () => { + return this.baseFs.rmdirSync(p, opts); + }, (zipFs, { subPath }) => { + return zipFs.rmdirSync(subPath, opts); + }); + } + async linkPromise(existingP, newP) { + return await this.makeCallPromise(newP, async () => { + return await this.baseFs.linkPromise(existingP, newP); + }, async (zipFs, { subPath }) => { + return await zipFs.linkPromise(existingP, subPath); + }); + } + linkSync(existingP, newP) { + return this.makeCallSync(newP, () => { + return this.baseFs.linkSync(existingP, newP); + }, (zipFs, { subPath }) => { + return zipFs.linkSync(existingP, subPath); + }); + } + async symlinkPromise(target, p, type) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.symlinkPromise(target, p, type); + }, async (zipFs, { subPath }) => { + return await zipFs.symlinkPromise(target, subPath); + }); + } + symlinkSync(target, p, type) { + return this.makeCallSync(p, () => { + return this.baseFs.symlinkSync(target, p, type); + }, (zipFs, { subPath }) => { + return zipFs.symlinkSync(target, subPath); + }); + } + async readFilePromise(p, encoding) { + return this.makeCallPromise(p, async () => { + switch (encoding) { + case `utf8`: + return await this.baseFs.readFilePromise(p, encoding); + default: + return await this.baseFs.readFilePromise(p, encoding); + } + }, async (zipFs, { subPath }) => { + return await zipFs.readFilePromise(subPath, encoding); + }); + } + readFileSync(p, encoding) { + return this.makeCallSync(p, () => { + switch (encoding) { + case `utf8`: + return this.baseFs.readFileSync(p, encoding); + default: + return this.baseFs.readFileSync(p, encoding); + } + }, (zipFs, { subPath }) => { + return zipFs.readFileSync(subPath, encoding); + }); + } + async readdirPromise(p, opts) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.readdirPromise(p, opts); + }, async (zipFs, { subPath }) => { + return await zipFs.readdirPromise(subPath, opts); + }, { + requireSubpath: false + }); + } + readdirSync(p, opts) { + return this.makeCallSync(p, () => { + return this.baseFs.readdirSync(p, opts); + }, (zipFs, { subPath }) => { + return zipFs.readdirSync(subPath, opts); + }, { + requireSubpath: false + }); + } + async readlinkPromise(p) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.readlinkPromise(p); + }, async (zipFs, { subPath }) => { + return await zipFs.readlinkPromise(subPath); + }); + } + readlinkSync(p) { + return this.makeCallSync(p, () => { + return this.baseFs.readlinkSync(p); + }, (zipFs, { subPath }) => { + return zipFs.readlinkSync(subPath); + }); + } + async truncatePromise(p, len) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.truncatePromise(p, len); + }, async (zipFs, { subPath }) => { + return await zipFs.truncatePromise(subPath, len); + }); + } + truncateSync(p, len) { + return this.makeCallSync(p, () => { + return this.baseFs.truncateSync(p, len); + }, (zipFs, { subPath }) => { + return zipFs.truncateSync(subPath, len); + }); + } + async ftruncatePromise(fd, len) { + if ((fd & ZIP_MASK) !== ZIP_MAGIC) + return this.baseFs.ftruncatePromise(fd, len); + const entry = this.fdMap.get(fd); + if (typeof entry === `undefined`) + throw EBADF(`ftruncate`); + const [zipFs, realFd] = entry; + return zipFs.ftruncatePromise(realFd, len); + } + ftruncateSync(fd, len) { + if ((fd & ZIP_MASK) !== ZIP_MAGIC) + return this.baseFs.ftruncateSync(fd, len); + const entry = this.fdMap.get(fd); + if (typeof entry === `undefined`) + throw EBADF(`ftruncateSync`); + const [zipFs, realFd] = entry; + return zipFs.ftruncateSync(realFd, len); + } + watch(p, a, b) { + return this.makeCallSync(p, () => { + return this.baseFs.watch( + p, + a, + b + ); + }, (zipFs, { subPath }) => { + return zipFs.watch( + subPath, + a, + b + ); + }); + } + watchFile(p, a, b) { + return this.makeCallSync(p, () => { + return this.baseFs.watchFile( + p, + a, + b + ); + }, () => { + return watchFile(this, p, a, b); + }); + } + unwatchFile(p, cb) { + return this.makeCallSync(p, () => { + return this.baseFs.unwatchFile(p, cb); + }, () => { + return unwatchFile(this, p, cb); + }); + } + async makeCallPromise(p, discard, accept, { requireSubpath = true } = {}) { + if (typeof p !== `string`) + return await discard(); + const normalizedP = this.resolve(p); + const zipInfo = this.findZip(normalizedP); + if (!zipInfo) + return await discard(); + if (requireSubpath && zipInfo.subPath === `/`) + return await discard(); + return await this.getZipPromise(zipInfo.archivePath, async (zipFs) => await accept(zipFs, zipInfo)); + } + makeCallSync(p, discard, accept, { requireSubpath = true } = {}) { + if (typeof p !== `string`) + return discard(); + const normalizedP = this.resolve(p); + const zipInfo = this.findZip(normalizedP); + if (!zipInfo) + return discard(); + if (requireSubpath && zipInfo.subPath === `/`) + return discard(); + return this.getZipSync(zipInfo.archivePath, (zipFs) => accept(zipFs, zipInfo)); + } + findZip(p) { + if (this.filter && !this.filter.test(p)) + return null; + let filePath = ``; + while (true) { + const pathPartWithArchive = p.substring(filePath.length); + let archivePart; + if (!this.fileExtensions) { + archivePart = getArchivePart(pathPartWithArchive, `.zip`); + } else { + for (const ext of this.fileExtensions) { + archivePart = getArchivePart(pathPartWithArchive, ext); + if (archivePart) { + break; + } + } + } + if (!archivePart) + return null; + filePath = this.pathUtils.join(filePath, archivePart); + if (this.isZip.has(filePath) === false) { + if (this.notZip.has(filePath)) + continue; + try { + if (!this.baseFs.lstatSync(filePath).isFile()) { + this.notZip.add(filePath); + continue; + } + } catch { + return null; + } + this.isZip.add(filePath); + } + return { + archivePath: filePath, + subPath: this.pathUtils.join(PortablePath.root, p.substring(filePath.length)) + }; + } + } + limitOpenFiles(max) { + if (this.zipInstances === null) + return; + const now = Date.now(); + let nextExpiresAt = now + this.maxAge; + let closeCount = max === null ? 0 : this.zipInstances.size - max; + for (const [path, { zipFs, expiresAt, refCount }] of this.zipInstances.entries()) { + if (refCount !== 0 || zipFs.hasOpenFileHandles()) { + continue; + } else if (now >= expiresAt) { + zipFs.saveAndClose(); + this.zipInstances.delete(path); + closeCount -= 1; + continue; + } else if (max === null || closeCount <= 0) { + nextExpiresAt = expiresAt; + break; + } + zipFs.saveAndClose(); + this.zipInstances.delete(path); + closeCount -= 1; + } + if (this.limitOpenFilesTimeout === null && (max === null && this.zipInstances.size > 0 || max !== null)) { + this.limitOpenFilesTimeout = setTimeout(() => { + this.limitOpenFilesTimeout = null; + this.limitOpenFiles(null); + }, nextExpiresAt - now).unref(); + } + } + async getZipPromise(p, accept) { + const getZipOptions = async () => ({ + baseFs: this.baseFs, + libzip: this.libzip, + readOnly: this.readOnlyArchives, + stats: await this.baseFs.statPromise(p) + }); + if (this.zipInstances) { + let cachedZipFs = this.zipInstances.get(p); + if (!cachedZipFs) { + const zipOptions = await getZipOptions(); + cachedZipFs = this.zipInstances.get(p); + if (!cachedZipFs) { + cachedZipFs = { + zipFs: new ZipFS(p, zipOptions), + expiresAt: 0, + refCount: 0 + }; + } + } + this.zipInstances.delete(p); + this.limitOpenFiles(this.maxOpenFiles - 1); + this.zipInstances.set(p, cachedZipFs); + cachedZipFs.expiresAt = Date.now() + this.maxAge; + cachedZipFs.refCount += 1; + try { + return await accept(cachedZipFs.zipFs); + } finally { + cachedZipFs.refCount -= 1; + } + } else { + const zipFs = new ZipFS(p, await getZipOptions()); + try { + return await accept(zipFs); + } finally { + zipFs.saveAndClose(); + } + } + } + getZipSync(p, accept) { + const getZipOptions = () => ({ + baseFs: this.baseFs, + libzip: this.libzip, + readOnly: this.readOnlyArchives, + stats: this.baseFs.statSync(p) + }); + if (this.zipInstances) { + let cachedZipFs = this.zipInstances.get(p); + if (!cachedZipFs) { + cachedZipFs = { + zipFs: new ZipFS(p, getZipOptions()), + expiresAt: 0, + refCount: 0 + }; + } + this.zipInstances.delete(p); + this.limitOpenFiles(this.maxOpenFiles - 1); + this.zipInstances.set(p, cachedZipFs); + cachedZipFs.expiresAt = Date.now() + this.maxAge; + return accept(cachedZipFs.zipFs); + } else { + const zipFs = new ZipFS(p, getZipOptions()); + try { + return accept(zipFs); + } finally { + zipFs.saveAndClose(); + } + } + } +} + +class NodePathFS extends ProxiedFS { + constructor(baseFs) { + super(npath); + this.baseFs = baseFs; + } + mapFromBase(path) { + return path; + } + mapToBase(path) { + if (typeof path === `string`) + return path; + if (path instanceof url.URL) + return url.fileURLToPath(path); + if (Buffer.isBuffer(path)) { + const str = path.toString(); + if (Buffer.byteLength(str) !== path.byteLength) + throw new Error(`Non-utf8 buffers are not supported at the moment. Please upvote the following issue if you encounter this error: https://github.com/yarnpkg/berry/issues/4942`); + return str; + } + throw new Error(`Unsupported path type: ${nodeUtils.inspect(path)}`); + } +} + +var _a, _b, _c, _d; +const kBaseFs = Symbol(`kBaseFs`); +const kFd = Symbol(`kFd`); +const kClosePromise = Symbol(`kClosePromise`); +const kCloseResolve = Symbol(`kCloseResolve`); +const kCloseReject = Symbol(`kCloseReject`); +const kRefs = Symbol(`kRefs`); +const kRef = Symbol(`kRef`); +const kUnref = Symbol(`kUnref`); +class FileHandle { + constructor(fd, baseFs) { + this[_a] = 1; + this[_b] = void 0; + this[_c] = void 0; + this[_d] = void 0; + this[kBaseFs] = baseFs; + this[kFd] = fd; + } + get fd() { + return this[kFd]; + } + async appendFile(data, options) { + var _a2; + try { + this[kRef](this.appendFile); + const encoding = (_a2 = typeof options === `string` ? options : options == null ? void 0 : options.encoding) != null ? _a2 : void 0; + return await this[kBaseFs].appendFilePromise(this.fd, data, encoding ? { encoding } : void 0); + } finally { + this[kUnref](); + } + } + async chown(uid, gid) { + try { + this[kRef](this.chown); + return await this[kBaseFs].fchownPromise(this.fd, uid, gid); + } finally { + this[kUnref](); + } + } + async chmod(mode) { + try { + this[kRef](this.chmod); + return await this[kBaseFs].fchmodPromise(this.fd, mode); + } finally { + this[kUnref](); + } + } + createReadStream(options) { + return this[kBaseFs].createReadStream(null, { ...options, fd: this.fd }); + } + createWriteStream(options) { + return this[kBaseFs].createWriteStream(null, { ...options, fd: this.fd }); + } + datasync() { + throw new Error(`Method not implemented.`); + } + sync() { + throw new Error(`Method not implemented.`); + } + async read(bufferOrOptions, offset, length, position) { + var _a2, _b2, _c2; + try { + this[kRef](this.read); + let buffer; + if (!Buffer.isBuffer(bufferOrOptions)) { + bufferOrOptions != null ? bufferOrOptions : bufferOrOptions = {}; + buffer = (_a2 = bufferOrOptions.buffer) != null ? _a2 : Buffer.alloc(16384); + offset = bufferOrOptions.offset || 0; + length = (_b2 = bufferOrOptions.length) != null ? _b2 : buffer.byteLength; + position = (_c2 = bufferOrOptions.position) != null ? _c2 : null; + } else { + buffer = bufferOrOptions; + } + offset != null ? offset : offset = 0; + length != null ? length : length = 0; + if (length === 0) { + return { + bytesRead: length, + buffer + }; + } + const bytesRead = await this[kBaseFs].readPromise(this.fd, buffer, offset, length, position); + return { + bytesRead, + buffer + }; + } finally { + this[kUnref](); + } + } + async readFile(options) { + var _a2; + try { + this[kRef](this.readFile); + const encoding = (_a2 = typeof options === `string` ? options : options == null ? void 0 : options.encoding) != null ? _a2 : void 0; + return await this[kBaseFs].readFilePromise(this.fd, encoding); + } finally { + this[kUnref](); + } + } + readLines(options) { + return readline.createInterface({ + input: this.createReadStream(options), + crlfDelay: Infinity + }); + } + async stat(opts) { + try { + this[kRef](this.stat); + return await this[kBaseFs].fstatPromise(this.fd, opts); + } finally { + this[kUnref](); + } + } + async truncate(len) { + try { + this[kRef](this.truncate); + return await this[kBaseFs].ftruncatePromise(this.fd, len); + } finally { + this[kUnref](); + } + } + utimes(atime, mtime) { + throw new Error(`Method not implemented.`); + } + async writeFile(data, options) { + var _a2; + try { + this[kRef](this.writeFile); + const encoding = (_a2 = typeof options === `string` ? options : options == null ? void 0 : options.encoding) != null ? _a2 : void 0; + await this[kBaseFs].writeFilePromise(this.fd, data, encoding); + } finally { + this[kUnref](); + } + } + async write(...args) { + try { + this[kRef](this.write); + if (ArrayBuffer.isView(args[0])) { + const [buffer, offset, length, position] = args; + const bytesWritten = await this[kBaseFs].writePromise(this.fd, buffer, offset != null ? offset : void 0, length != null ? length : void 0, position != null ? position : void 0); + return { bytesWritten, buffer }; + } else { + const [data, position, encoding] = args; + const bytesWritten = await this[kBaseFs].writePromise(this.fd, data, position, encoding); + return { bytesWritten, buffer: data }; + } + } finally { + this[kUnref](); + } + } + async writev(buffers, position) { + try { + this[kRef](this.writev); + let bytesWritten = 0; + if (typeof position !== `undefined`) { + for (const buffer of buffers) { + const writeResult = await this.write(buffer, void 0, void 0, position); + bytesWritten += writeResult.bytesWritten; + position += writeResult.bytesWritten; + } + } else { + for (const buffer of buffers) { + const writeResult = await this.write(buffer); + bytesWritten += writeResult.bytesWritten; + } + } + return { + buffers, + bytesWritten + }; + } finally { + this[kUnref](); + } + } + readv(buffers, position) { + throw new Error(`Method not implemented.`); + } + close() { + if (this[kFd] === -1) + return Promise.resolve(); + if (this[kClosePromise]) + return this[kClosePromise]; + this[kRefs]--; + if (this[kRefs] === 0) { + const fd = this[kFd]; + this[kFd] = -1; + this[kClosePromise] = this[kBaseFs].closePromise(fd).finally(() => { + this[kClosePromise] = void 0; + }); + } else { + this[kClosePromise] = new Promise((resolve, reject) => { + this[kCloseResolve] = resolve; + this[kCloseReject] = reject; + }).finally(() => { + this[kClosePromise] = void 0; + this[kCloseReject] = void 0; + this[kCloseResolve] = void 0; + }); + } + return this[kClosePromise]; + } + [(_a = kRefs, _b = kClosePromise, _c = kCloseResolve, _d = kCloseReject, kRef)](caller) { + if (this[kFd] === -1) { + const err = new Error(`file closed`); + err.code = `EBADF`; + err.syscall = caller.name; + throw err; + } + this[kRefs]++; + } + [kUnref]() { + this[kRefs]--; + if (this[kRefs] === 0) { + const fd = this[kFd]; + this[kFd] = -1; + this[kBaseFs].closePromise(fd).then(this[kCloseResolve], this[kCloseReject]); + } + } +} + +const SYNC_IMPLEMENTATIONS = /* @__PURE__ */ new Set([ + `accessSync`, + `appendFileSync`, + `createReadStream`, + `createWriteStream`, + `chmodSync`, + `fchmodSync`, + `chownSync`, + `fchownSync`, + `closeSync`, + `copyFileSync`, + `linkSync`, + `lstatSync`, + `fstatSync`, + `lutimesSync`, + `mkdirSync`, + `openSync`, + `opendirSync`, + `readlinkSync`, + `readFileSync`, + `readdirSync`, + `readlinkSync`, + `realpathSync`, + `renameSync`, + `rmdirSync`, + `statSync`, + `symlinkSync`, + `truncateSync`, + `ftruncateSync`, + `unlinkSync`, + `unwatchFile`, + `utimesSync`, + `watch`, + `watchFile`, + `writeFileSync`, + `writeSync` +]); +const ASYNC_IMPLEMENTATIONS = /* @__PURE__ */ new Set([ + `accessPromise`, + `appendFilePromise`, + `fchmodPromise`, + `chmodPromise`, + `fchownPromise`, + `chownPromise`, + `closePromise`, + `copyFilePromise`, + `linkPromise`, + `fstatPromise`, + `lstatPromise`, + `lutimesPromise`, + `mkdirPromise`, + `openPromise`, + `opendirPromise`, + `readdirPromise`, + `realpathPromise`, + `readFilePromise`, + `readdirPromise`, + `readlinkPromise`, + `renamePromise`, + `rmdirPromise`, + `statPromise`, + `symlinkPromise`, + `truncatePromise`, + `ftruncatePromise`, + `unlinkPromise`, + `utimesPromise`, + `writeFilePromise`, + `writeSync` +]); +function patchFs(patchedFs, fakeFs) { + fakeFs = new NodePathFS(fakeFs); + const setupFn = (target, name, replacement) => { + const orig = target[name]; + target[name] = replacement; + if (typeof (orig == null ? void 0 : orig[nodeUtils.promisify.custom]) !== `undefined`) { + replacement[nodeUtils.promisify.custom] = orig[nodeUtils.promisify.custom]; + } + }; + { + setupFn(patchedFs, `exists`, (p, ...args) => { + const hasCallback = typeof args[args.length - 1] === `function`; + const callback = hasCallback ? args.pop() : () => { + }; + process.nextTick(() => { + fakeFs.existsPromise(p).then((exists) => { + callback(exists); + }, () => { + callback(false); + }); + }); + }); + setupFn(patchedFs, `read`, (...args) => { + let [fd, buffer, offset, length, position, callback] = args; + if (args.length <= 3) { + let options = {}; + if (args.length < 3) { + callback = args[1]; + } else { + options = args[1]; + callback = args[2]; + } + ({ + buffer = Buffer.alloc(16384), + offset = 0, + length = buffer.byteLength, + position + } = options); + } + if (offset == null) + offset = 0; + length |= 0; + if (length === 0) { + process.nextTick(() => { + callback(null, 0, buffer); + }); + return; + } + if (position == null) + position = -1; + process.nextTick(() => { + fakeFs.readPromise(fd, buffer, offset, length, position).then((bytesRead) => { + callback(null, bytesRead, buffer); + }, (error) => { + callback(error, 0, buffer); + }); + }); + }); + for (const fnName of ASYNC_IMPLEMENTATIONS) { + const origName = fnName.replace(/Promise$/, ``); + if (typeof patchedFs[origName] === `undefined`) + continue; + const fakeImpl = fakeFs[fnName]; + if (typeof fakeImpl === `undefined`) + continue; + const wrapper = (...args) => { + const hasCallback = typeof args[args.length - 1] === `function`; + const callback = hasCallback ? args.pop() : () => { + }; + process.nextTick(() => { + fakeImpl.apply(fakeFs, args).then((result) => { + callback(null, result); + }, (error) => { + callback(error); + }); + }); + }; + setupFn(patchedFs, origName, wrapper); + } + patchedFs.realpath.native = patchedFs.realpath; + } + { + setupFn(patchedFs, `existsSync`, (p) => { + try { + return fakeFs.existsSync(p); + } catch (error) { + return false; + } + }); + setupFn(patchedFs, `readSync`, (...args) => { + let [fd, buffer, offset, length, position] = args; + if (args.length <= 3) { + const options = args[2] || {}; + ({ offset = 0, length = buffer.byteLength, position } = options); + } + if (offset == null) + offset = 0; + length |= 0; + if (length === 0) + return 0; + if (position == null) + position = -1; + return fakeFs.readSync(fd, buffer, offset, length, position); + }); + for (const fnName of SYNC_IMPLEMENTATIONS) { + const origName = fnName; + if (typeof patchedFs[origName] === `undefined`) + continue; + const fakeImpl = fakeFs[fnName]; + if (typeof fakeImpl === `undefined`) + continue; + setupFn(patchedFs, origName, fakeImpl.bind(fakeFs)); + } + patchedFs.realpathSync.native = patchedFs.realpathSync; + } + { + const origEmitWarning = process.emitWarning; + process.emitWarning = () => { + }; + let patchedFsPromises; + try { + patchedFsPromises = patchedFs.promises; + } finally { + process.emitWarning = origEmitWarning; + } + if (typeof patchedFsPromises !== `undefined`) { + for (const fnName of ASYNC_IMPLEMENTATIONS) { + const origName = fnName.replace(/Promise$/, ``); + if (typeof patchedFsPromises[origName] === `undefined`) + continue; + const fakeImpl = fakeFs[fnName]; + if (typeof fakeImpl === `undefined`) + continue; + if (fnName === `open`) + continue; + setupFn(patchedFsPromises, origName, (pathLike, ...args) => { + if (pathLike instanceof FileHandle) { + return pathLike[origName].apply(pathLike, args); + } else { + return fakeImpl.call(fakeFs, pathLike, ...args); + } + }); + } + setupFn(patchedFsPromises, `open`, async (...args) => { + const fd = await fakeFs.openPromise(...args); + return new FileHandle(fd, fakeFs); + }); + } + } + { + patchedFs.read[nodeUtils.promisify.custom] = async (fd, buffer, ...args) => { + const res = fakeFs.readPromise(fd, buffer, ...args); + return { bytesRead: await res, buffer }; + }; + patchedFs.write[nodeUtils.promisify.custom] = async (fd, buffer, ...args) => { + const res = fakeFs.writePromise(fd, buffer, ...args); + return { bytesWritten: await res, buffer }; + }; + } +} + +var libzipSync = {exports: {}}; + +(function (module, exports) { +var frozenFs = Object.assign({}, fs__default.default); +var createModule = function() { + var _scriptDir = void 0; + if (typeof __filename !== "undefined") + _scriptDir = _scriptDir || __filename; + return function(createModule2) { + createModule2 = createModule2 || {}; + var Module = typeof createModule2 !== "undefined" ? createModule2 : {}; + var readyPromiseResolve, readyPromiseReject; + Module["ready"] = new Promise(function(resolve, reject) { + readyPromiseResolve = resolve; + readyPromiseReject = reject; + }); + var moduleOverrides = {}; + var key; + for (key in Module) { + if (Module.hasOwnProperty(key)) { + moduleOverrides[key] = Module[key]; + } + } + var scriptDirectory = ""; + function locateFile(path) { + if (Module["locateFile"]) { + return Module["locateFile"](path, scriptDirectory); + } + return scriptDirectory + path; + } + var read_, readBinary; + var nodeFS; + var nodePath; + { + { + scriptDirectory = __dirname + "/"; + } + read_ = function shell_read(filename, binary) { + var ret = tryParseAsDataURI(filename); + if (ret) { + return binary ? ret : ret.toString(); + } + if (!nodeFS) + nodeFS = frozenFs; + if (!nodePath) + nodePath = path__default.default; + filename = nodePath["normalize"](filename); + return nodeFS["readFileSync"](filename, binary ? null : "utf8"); + }; + readBinary = function readBinary2(filename) { + var ret = read_(filename, true); + if (!ret.buffer) { + ret = new Uint8Array(ret); + } + assert(ret.buffer); + return ret; + }; + if (process["argv"].length > 1) { + process["argv"][1].replace(/\\/g, "/"); + } + process["argv"].slice(2); + Module["inspect"] = function() { + return "[Emscripten Module object]"; + }; + } + var out = Module["print"] || console.log.bind(console); + var err = Module["printErr"] || console.warn.bind(console); + for (key in moduleOverrides) { + if (moduleOverrides.hasOwnProperty(key)) { + Module[key] = moduleOverrides[key]; + } + } + moduleOverrides = null; + if (Module["arguments"]) + ; + if (Module["thisProgram"]) + ; + if (Module["quit"]) + ; + var STACK_ALIGN = 16; + function alignMemory(size, factor) { + if (!factor) + factor = STACK_ALIGN; + return Math.ceil(size / factor) * factor; + } + var wasmBinary; + if (Module["wasmBinary"]) + wasmBinary = Module["wasmBinary"]; + Module["noExitRuntime"] || true; + if (typeof WebAssembly !== "object") { + abort("no native wasm support detected"); + } + function getValue(ptr, type, noSafe) { + type = type || "i8"; + if (type.charAt(type.length - 1) === "*") + type = "i32"; + switch (type) { + case "i1": + return HEAP8[ptr >> 0]; + case "i8": + return HEAP8[ptr >> 0]; + case "i16": + return HEAP16[ptr >> 1]; + case "i32": + return HEAP32[ptr >> 2]; + case "i64": + return HEAP32[ptr >> 2]; + case "float": + return HEAPF32[ptr >> 2]; + case "double": + return HEAPF64[ptr >> 3]; + default: + abort("invalid type for getValue: " + type); + } + return null; + } + var wasmMemory; + var ABORT = false; + function assert(condition, text) { + if (!condition) { + abort("Assertion failed: " + text); + } + } + function getCFunc(ident) { + var func = Module["_" + ident]; + assert( + func, + "Cannot call unknown function " + ident + ", make sure it is exported" + ); + return func; + } + function ccall(ident, returnType, argTypes, args, opts) { + var toC = { + string: function(str) { + var ret2 = 0; + if (str !== null && str !== void 0 && str !== 0) { + var len = (str.length << 2) + 1; + ret2 = stackAlloc(len); + stringToUTF8(str, ret2, len); + } + return ret2; + }, + array: function(arr) { + var ret2 = stackAlloc(arr.length); + writeArrayToMemory(arr, ret2); + return ret2; + } + }; + function convertReturnValue(ret2) { + if (returnType === "string") + return UTF8ToString(ret2); + if (returnType === "boolean") + return Boolean(ret2); + return ret2; + } + var func = getCFunc(ident); + var cArgs = []; + var stack = 0; + if (args) { + for (var i = 0; i < args.length; i++) { + var converter = toC[argTypes[i]]; + if (converter) { + if (stack === 0) + stack = stackSave(); + cArgs[i] = converter(args[i]); + } else { + cArgs[i] = args[i]; + } + } + } + var ret = func.apply(null, cArgs); + ret = convertReturnValue(ret); + if (stack !== 0) + stackRestore(stack); + return ret; + } + function cwrap(ident, returnType, argTypes, opts) { + argTypes = argTypes || []; + var numericArgs = argTypes.every(function(type) { + return type === "number"; + }); + var numericRet = returnType !== "string"; + if (numericRet && numericArgs && !opts) { + return getCFunc(ident); + } + return function() { + return ccall(ident, returnType, argTypes, arguments); + }; + } + var UTF8Decoder = typeof TextDecoder !== "undefined" ? new TextDecoder("utf8") : void 0; + function UTF8ArrayToString(heap, idx, maxBytesToRead) { + var endIdx = idx + maxBytesToRead; + var endPtr = idx; + while (heap[endPtr] && !(endPtr >= endIdx)) + ++endPtr; + if (endPtr - idx > 16 && heap.subarray && UTF8Decoder) { + return UTF8Decoder.decode(heap.subarray(idx, endPtr)); + } else { + var str = ""; + while (idx < endPtr) { + var u0 = heap[idx++]; + if (!(u0 & 128)) { + str += String.fromCharCode(u0); + continue; + } + var u1 = heap[idx++] & 63; + if ((u0 & 224) == 192) { + str += String.fromCharCode((u0 & 31) << 6 | u1); + continue; + } + var u2 = heap[idx++] & 63; + if ((u0 & 240) == 224) { + u0 = (u0 & 15) << 12 | u1 << 6 | u2; + } else { + u0 = (u0 & 7) << 18 | u1 << 12 | u2 << 6 | heap[idx++] & 63; + } + if (u0 < 65536) { + str += String.fromCharCode(u0); + } else { + var ch = u0 - 65536; + str += String.fromCharCode(55296 | ch >> 10, 56320 | ch & 1023); + } + } + } + return str; + } + function UTF8ToString(ptr, maxBytesToRead) { + return ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead) : ""; + } + function stringToUTF8Array(str, heap, outIdx, maxBytesToWrite) { + if (!(maxBytesToWrite > 0)) + return 0; + var startIdx = outIdx; + var endIdx = outIdx + maxBytesToWrite - 1; + for (var i = 0; i < str.length; ++i) { + var u = str.charCodeAt(i); + if (u >= 55296 && u <= 57343) { + var u1 = str.charCodeAt(++i); + u = 65536 + ((u & 1023) << 10) | u1 & 1023; + } + if (u <= 127) { + if (outIdx >= endIdx) + break; + heap[outIdx++] = u; + } else if (u <= 2047) { + if (outIdx + 1 >= endIdx) + break; + heap[outIdx++] = 192 | u >> 6; + heap[outIdx++] = 128 | u & 63; + } else if (u <= 65535) { + if (outIdx + 2 >= endIdx) + break; + heap[outIdx++] = 224 | u >> 12; + heap[outIdx++] = 128 | u >> 6 & 63; + heap[outIdx++] = 128 | u & 63; + } else { + if (outIdx + 3 >= endIdx) + break; + heap[outIdx++] = 240 | u >> 18; + heap[outIdx++] = 128 | u >> 12 & 63; + heap[outIdx++] = 128 | u >> 6 & 63; + heap[outIdx++] = 128 | u & 63; + } + } + heap[outIdx] = 0; + return outIdx - startIdx; + } + function stringToUTF8(str, outPtr, maxBytesToWrite) { + return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite); + } + function lengthBytesUTF8(str) { + var len = 0; + for (var i = 0; i < str.length; ++i) { + var u = str.charCodeAt(i); + if (u >= 55296 && u <= 57343) + u = 65536 + ((u & 1023) << 10) | str.charCodeAt(++i) & 1023; + if (u <= 127) + ++len; + else if (u <= 2047) + len += 2; + else if (u <= 65535) + len += 3; + else + len += 4; + } + return len; + } + function allocateUTF8(str) { + var size = lengthBytesUTF8(str) + 1; + var ret = _malloc(size); + if (ret) + stringToUTF8Array(str, HEAP8, ret, size); + return ret; + } + function writeArrayToMemory(array, buffer2) { + HEAP8.set(array, buffer2); + } + function alignUp(x, multiple) { + if (x % multiple > 0) { + x += multiple - x % multiple; + } + return x; + } + var buffer, HEAP8, HEAPU8, HEAP16, HEAP32, HEAPF32, HEAPF64; + function updateGlobalBufferAndViews(buf) { + buffer = buf; + Module["HEAP8"] = HEAP8 = new Int8Array(buf); + Module["HEAP16"] = HEAP16 = new Int16Array(buf); + Module["HEAP32"] = HEAP32 = new Int32Array(buf); + Module["HEAPU8"] = HEAPU8 = new Uint8Array(buf); + Module["HEAPU16"] = new Uint16Array(buf); + Module["HEAPU32"] = new Uint32Array(buf); + Module["HEAPF32"] = HEAPF32 = new Float32Array(buf); + Module["HEAPF64"] = HEAPF64 = new Float64Array(buf); + } + Module["INITIAL_MEMORY"] || 16777216; + var wasmTable; + var __ATPRERUN__ = []; + var __ATINIT__ = []; + var __ATPOSTRUN__ = []; + function preRun() { + if (Module["preRun"]) { + if (typeof Module["preRun"] == "function") + Module["preRun"] = [Module["preRun"]]; + while (Module["preRun"].length) { + addOnPreRun(Module["preRun"].shift()); + } + } + callRuntimeCallbacks(__ATPRERUN__); + } + function initRuntime() { + if (!Module["noFSInit"] && !FS.init.initialized) + FS.init(); + callRuntimeCallbacks(__ATINIT__); + } + function postRun() { + if (Module["postRun"]) { + if (typeof Module["postRun"] == "function") + Module["postRun"] = [Module["postRun"]]; + while (Module["postRun"].length) { + addOnPostRun(Module["postRun"].shift()); + } + } + callRuntimeCallbacks(__ATPOSTRUN__); + } + function addOnPreRun(cb) { + __ATPRERUN__.unshift(cb); + } + function addOnInit(cb) { + __ATINIT__.unshift(cb); + } + function addOnPostRun(cb) { + __ATPOSTRUN__.unshift(cb); + } + var runDependencies = 0; + var dependenciesFulfilled = null; + function addRunDependency(id) { + runDependencies++; + if (Module["monitorRunDependencies"]) { + Module["monitorRunDependencies"](runDependencies); + } + } + function removeRunDependency(id) { + runDependencies--; + if (Module["monitorRunDependencies"]) { + Module["monitorRunDependencies"](runDependencies); + } + if (runDependencies == 0) { + if (dependenciesFulfilled) { + var callback = dependenciesFulfilled; + dependenciesFulfilled = null; + callback(); + } + } + } + Module["preloadedImages"] = {}; + Module["preloadedAudios"] = {}; + function abort(what) { + if (Module["onAbort"]) { + Module["onAbort"](what); + } + what += ""; + err(what); + ABORT = true; + what = "abort(" + what + "). Build with -s ASSERTIONS=1 for more info."; + var e = new WebAssembly.RuntimeError(what); + readyPromiseReject(e); + throw e; + } + var dataURIPrefix = "data:application/octet-stream;base64,"; + function isDataURI(filename) { + return filename.startsWith(dataURIPrefix); + } + var wasmBinaryFile = "data:application/octet-stream;base64,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ACgCFC0AAiAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQADIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAQgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0ABSAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAGIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAcgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0ACCAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAJIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAogACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0ACyAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAMIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAA0gACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0ADiAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAPIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhRBEGo2AhQgACAAKAIIQQFrIgE2AgggAQ0ACyAAIAAoAhhB8f8DcDYCGCAAIAAoAgxB8f8DcDYCDAwBCwsgACgCEARAA0AgACgCEEEQTwRAIAAgACgCEEEQazYCECAAIAAoAhQtAAAgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0AASAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQACIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAMgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0ABCAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAFIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAYgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0AByAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAIIAAoAhhqNgIYIAAgACgCGCAAKAIMajYC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NgIYIAEoAgxCADcDICABKAIMQgA3AyggASgCDEEANgIwIAEoAgxBADYCNCABKAIMQQA2AjggASgCDEEANgI8IAEoAgxBADsBQCABKAIMQYCA2I14NgJEIAEoAgxCADcDSCABKAIMQQA7AVAgASgCDEEAOwFSIAEoAgxBADYCVAvSEwEBfyMAQbABayIDJAAgAyAANgKoASADIAE2AqQBIAMgAjYCoAEgA0EANgKQASADIAMoAqQBKAIwQQAQOjYClAEgAyADKAKkASgCOEEAEDo2ApgBAkACQAJAAkAgAygClAFBAkYEQCADKAKYAUEBRg0BCyADKAKUAUEBRgRAIAMoApgBQQJGDQELIAMoApQBQQJHDQEgAygCmAFBAkcNAQsgAygCpAEiACAALwEMQYAQcjsBDAwBCyADKAKkASIAIAAvAQxB/+8DcTsBDCADKAKUAUECRgRAIANB9eABIAMoAqQBKAIwIAMoAqgBQQhqEI4BNgKQASADKAKQAUUEQCADQX82AqwBDAMLCwJAIAMoAqABQYACcQ0AIAMoApgBQQJHDQAgA0H1xgEgAygCpAEoAjggAygCqAFBCGoQjgE2AkggAygCSEUEQCADKAKQARAjIANBfzYCrAEMAwsgAygCSCADKAKQATYCACADIAMoAkg2ApABCwsCQCADKAKkAS8BUkUEQCADKAKkASIAIAAvAQxB/v8DcTsBDAwBCyADKAKkASIAIAAvAQxBAXI7AQwLIAMgAygCpAEgAygCoAEQZUEBcToAhgEgAyADKAKgAUGACnFBgApHBH8gAy0AhgEFQQELQQFxOgCHASADAn9BASADKAKkAS8BUkGBAkYNABpBASADKAKkAS8BUkGCAkYNABogAygCpAEvAVJBgwJGC0EBcToAhQEgAy0AhwFBAXEEQCADIANBIGpCHBApNgIcIAMoAhxFBEAgAygCqAFBCGpBDkEAEBQgAygCkAEQIyADQX82AqwBDAILAkAgAygCoAFBgAJxBEACQCADKAKgAUGACHENACADKAKkASkDIEL/////D1YNACADKAKkASkDKEL/////D1gNAgsgAygCHCADKAKkASkDKBAtIAMoAhwgAygCpAEpAyAQLQwBCwJAAkAgAygCoAFBgAhxDQAgAygCpAEpAyBC/////w9WDQAgAygCpAEpAyhC/////w9WDQAgAygCpAEpA0hC/////w9YDQELIAMoAqQBKQMoQv////8PWgRAIAMoAhwgAygCpAEpAygQLQsgAygCpAEpAyBC/////w9aBEAgAygCHCADKAKkASkDIBAtCyADKAKkASkDSEL/////D1oEQCADKAIcIAMoAqQBKQNIEC0LCwsCfyMAQRBrIgAgAygCHDYCDCAAKAIMLQAAQQFxRQsEQCADKAKoAUEIakEUQQAQFCADKAIcEBYgAygCkAEQIyADQX82AqwBDAILIANBAQJ/IwBBEGsiACADKAIcNgIMAn4gACgCDC0AAEEBcQRAIAAoAgwpAxAMAQtCAAunQf//A3ELIANBIGpBgAYQVTYCjAEgAygCHBAWIAMoAowBIAMoApABNgIAIAMgAygCjAE2ApABCyADLQCFAUEBcQRAIAMgA0EVakIHECk2AhAgAygCEEUEQCADKAKoAUEIakEOQQAQFCADKAKQARAjIANBfzYCrAEMAgsgAygCEEECEB8gAygCEEG9EkECEEEgAygCECADKAKkAS8BUkH/AXEQlgEgAygCECADKAKkASgCEEH//wNxEB8CfyMAQRBrIgAgAygCEDYCDCAAKAIMLQAAQQFxRQsEQCADKAKoAUEIakEUQQAQFCADKAIQEBYgAygCkAEQIyADQX82AqwBDAILIANBgbICQQcgA0EVakGABhBVNgIMIAMoAhAQFiADKAIMIAMoApABNgIAIAMgAygCDDYCkAELIAMgA0HQAGpCLhApIgA2AkwgAEUEQCADKAKoAUEIakEOQQAQFCADKAKQARAjIANBfzYCrAEMAQsgAygCTEHxEkH2EiADKAKgAUGAAnEbQQQQQSADKAKgAUGAAnFFBEAgAygCTCADLQCGAUEBcQR/QS0FIAMoAqQBLwEIC0H//wNxEB8LIAMoAkwgAy0AhgFBAXEEf0EtBSADKAKkAS8BCgtB//8DcRAfIAMoAkwgAygCpAEvAQwQHwJAIAMtAIUBQQFxBEAgAygCTEHjABAfDAELIAMoAkwgAygCpAEoAhBB//8DcRAfCyADKAKkASgCFCADQZ4BaiADQZwBahCNASADKAJMIAMvAZ4BEB8gAygCTCADLwGcARAfAkACQCADLQCFAUEBcUUNACADKAKkASkDKEIUWg0AIAMoAkxBABAhDAELIAMoAkwgAygCpAEoAhgQIQsCQAJAIAMoAqABQYACcUGAAkcNACADKAKkASkDIEL/////D1QEQCADKAKkASkDKEL/////D1QNAQsgAygCTEF/ECEgAygCTEF/ECEMAQsCQCADKAKkASkDIEL/////D1QEQCADKAJMIAMoAqQBKQMgpxAhDAELIAMoAkxBfxAhCwJAIAMoAqQBKQMoQv////8PVARAIAMoAkwgAygCpAEpAyinECEMAQsgAygCTEF/ECELCyADKAJMIAMoAqQBKAIwEFFB//8DcRAfIAMgAygCpAEoAjQgAygCoAEQkgFB//8DcSADKAKQAUGABhCSAUH//wNxajYCiAEgAygCTCADKAKIAUH//wNxEB8gAygCoAFBgAJxRQRAIAMoAkwgAygCpAEoAjgQUUH//wNxEB8gAygCTCADKAKkASgCPEH//wNxEB8gAygCTCADKAKkAS8BQBAfIAMoAkwgAygCpAEoAkQQIQJAIAMoAqQBKQNIQv////8PVARAIAMoAkwgAygCpAEpA0inECEMAQsgAygCTEF/ECELCwJ/IwBBEGsiACADKAJMNgIMIAAoAgwtAABBAXFFCwRAIAMoAqgBQQhqQRRBABAUIAMoAkwQFiADKAKQARAjIANBfzYCrAEMAQsgAygCqAEgA0HQAGoCfiMAQRBrIgAgAygCTDYCDAJ+IAAoAgwtAABBAXEEQCAAKAIMKQMQDAELQgALCxA2QQBIBEAgAygCTBAWIAMoApABECMgA0F/NgKsAQwBCyADKAJMEBYgAygCpAEoAjAEQCADKAKoASADKAKkASgCMBCFAUEASARAIAMoApABECMgA0F/NgKsAQwCCwsgAygCkAEEQCADKAKoASADKAKQAUGABhCRAUEASARAIAMoApABECMgA0F/NgKsAQwCCwsgAygCkAEQIyADKAKkASgCNARAIAMoAqgBIAMoAqQBKAI0IAMoAqABEJEBQQBIBEAgA0F/NgKsAQwCCwsgAygCoAFBgAJxRQRAIAMoAqQBKAI4BEAgAygCqAEgAygCpAEoAjgQhQFBAEgEQCADQX82AqwBDAMLCwsgAyADLQCHAUEBcTYCrAELIAMoAqwBIQAgA0GwAWokACAAC+ACAQF/IwBBIGsiBCQAIAQgADsBGiAEIAE7ARggBCACNgIUIAQgAzYCECAEQRAQGCIANgIMAkAgAEUEQCAEQQA2AhwMAQsgBCgCDEEANgIAIAQoAgwgBCgCEDYCBCAEKAIMIAQvARo7AQggBCgCDCAELwEYOwEKAkAgBC8BGARAIAQoAhQhASAELwEYIQIjAEEgayIAJAAgACABNgIYIAAgAjYCFCAAQQA2AhACQCAAKAIURQRAIABBADYCHAwBCyAAIAAoAhQQGDYCDCAAKAIMRQRAIAAoAhBBDkEAEBQgAEEANgIcDAELIAAoAgwgACgCGCAAKAIUEBkaIAAgACgCDDYCHAsgACgCHCEBIABBIGokACABIQAgBCgCDCAANgIMIABFBEAgBCgCDBAVIARBADYCHAwDCwwBCyAEKAIMQQA2AgwLIAQgBCgCDDYCHAsgBCgCHCEAIARBIGokACAAC5EBAQV/IAAoAkxBAE4hAyAAKAIAQQFxIgRFBEAgACgCNCIBBEAgASAAKAI4NgI4CyAAKAI4IgIEQCACIAE2AjQLIABBrKABKAIARgRAQaygASACNgIACwsgABClASEBIAAgACgCDBEAACECIAAoAmAiBQRAIAUQFQsCQCAERQRAIAAQFQwBCyADRQ0ACyABIAJyC/kBAQF/IwBBIGsiAiQAIAIgADYCHCACIAE5AxACQCACKAIcRQ0AIAICfAJ8IAIrAxBEAAAAAAAAAABkBEAgAisDEAwBC0QAAAAAAAAAAAtEAAAAAAAA8D9jBEACfCACKwMQRAAAAAAAAAAAZARAIAIrAxAMAQtEAAAAAAAAAAALDAELRAAAAAAAAPA/CyACKAIcKwMoIAIoAhwrAyChoiACKAIcKwMgoDkDCCACKAIcKwMQIAIrAwggAigCHCsDGKFjRQ0AIAIoAhwoAgAgAisDCCACKAIcKAIMIAIoAhwoAgQRFgAgAigCHCACKwMIOQMYCyACQSBqJAAL4QUCAn8BfiMAQTBrIgQkACAEIAA2AiQgBCABNgIgIAQgAjYCHCAEIAM2AhgCQCAEKAIkRQRAIARCfzcDKAwBCyAEKAIgRQRAIAQoAhhBEkEAEBQgBEJ/NwMoDAELIAQoAhxBgyBxBEAgBEEVQRYgBCgCHEEBcRs2AhQgBEIANwMAA0AgBCkDACAEKAIkKQMwVARAIAQgBCgCJCAEKQMAIAQoAhwgBCgCGBBNNgIQIAQoAhAEQCAEKAIcQQJxBEAgBAJ/IAQoAhAiARAuQQFqIQADQEEAIABFDQEaIAEgAEEBayIAaiICLQAAQS9HDQALIAILNgIMIAQoAgwEQCAEIAQoAgxBAWo2AhALCyAEKAIgIAQoAhAgBCgCFBEDAEUEQCMAQRBrIgAgBCgCGDYCDCAAKAIMBEAgACgCDEEANgIAIAAoAgxBADYCBAsgBCAEKQMANwMoDAULCyAEIAQpAwBCAXw3AwAMAQsLIAQoAhhBCUEAEBQgBEJ/NwMoDAELIAQoAiQoAlAhASAEKAIgIQIgBCgCHCEDIAQoAhghBSMAQTBrIgAkACAAIAE2AiQgACACNgIgIAAgAzYCHCAAIAU2AhgCQAJAIAAoAiQEQCAAKAIgDQELIAAoAhhBEkEAEBQgAEJ/NwMoDAELIAAoAiQpAwhCAFIEQCAAIAAoAiAQczYCFCAAIAAoAhQgACgCJCgCAHA2AhAgACAAKAIkKAIQIAAoAhBBAnRqKAIANgIMA0ACQCAAKAIMRQ0AIAAoAiAgACgCDCgCABBbBEAgACAAKAIMKAIYNgIMDAIFIAAoAhxBCHEEQCAAKAIMKQMIQn9SBEAgACAAKAIMKQMINwMoDAYLDAILIAAoAgwpAxBCf1IEQCAAIAAoAgwpAxA3AygMBQsLCwsLIAAoAhhBCUEAEBQgAEJ/NwMoCyAAKQMoIQYgAEEwaiQAIAQgBjcDKAsgBCkDKCEGIARBMGokACAGC9QDAQF/IwBBIGsiAyQAIAMgADYCGCADIAE2AhQgAyACNgIQAkACQCADKAIYBEAgAygCFA0BCyADKAIQQRJBABAUIANBADoAHwwBCyADKAIYKQMIQgBSBEAgAyADKAIUEHM2AgwgAyADKAIMIAMoAhgoAgBwNgIIIANBADYCACADIAMoAhgoAhAgAygCCEECdGooAgA2AgQDQCADKAIEBEACQCADKAIEKAIcIAMoAgxHDQAgAygCFCADKAIEKAIAEFsNAAJAIAMoAgQpAwhCf1EEQAJAIAMoAgAEQCADKAIAIAMoAgQoAhg2AhgMAQsgAygCGCgCECADKAIIQQJ0aiADKAIEKAIYNgIACyADKAIEEBUgAygCGCIAIAApAwhCAX03AwgCQCADKAIYIgApAwi6IAAoAgC4RHsUrkfheoQ/omNFDQAgAygCGCgCAEGAAk0NACADKAIYIAMoAhgoAgBBAXYgAygCEBBaQQFxRQRAIANBADoAHwwICwsMAQsgAygCBEJ/NwMQCyADQQE6AB8MBAsgAyADKAIENgIAIAMgAygCBCgCGDYCBAwBCwsLIAMoAhBBCUEAEBQgA0EAOgAfCyADLQAfQQFxIQAgA0EgaiQAIAAL3wIBAX8jAEEwayIDJAAgAyAANgIoIAMgATYCJCADIAI2AiACQCADKAIkIAMoAigoAgBGBEAgA0EBOgAvDAELIAMgAygCJEEEEH8iADYCHCAARQRAIAMoAiBBDkEAEBQgA0EAOgAvDAELIAMoAigpAwhCAFIEQCADQQA2AhgDQCADKAIYIAMoAigoAgBPRQRAIAMgAygCKCgCECADKAIYQQJ0aigCADYCFANAIAMoAhQEQCADIAMoAhQoAhg2AhAgAyADKAIUKAIcIAMoAiRwNgIMIAMoAhQgAygCHCADKAIMQQJ0aigCADYCGCADKAIcIAMoAgxBAnRqIAMoAhQ2AgAgAyADKAIQNgIUDAELCyADIAMoAhhBAWo2AhgMAQsLCyADKAIoKAIQEBUgAygCKCADKAIcNgIQIAMoAiggAygCJDYCACADQQE6AC8LIAMtAC9BAXEhACADQTBqJAAgAAtNAQJ/IAEtAAAhAgJAIAAtAAAiA0UNACACIANHDQADQCABLQABIQIgAC0AASIDRQ0BIAFBAWohASAAQQFqIQAgAiADRg0ACwsgAyACawvRCQECfyMAQSBrIgEkACABIAA2AhwgASABKAIcKAIsNgIQA0AgASABKAIcKAI8IAEoAhwoAnRrIAEoAhwoAmxrNgIUIAEoAhwoAmwgASgCECABKAIcKAIsQYYCa2pPBEAgASgCHCgCOCABKAIcKAI4IAEoAhBqIAEoAhAgASgCFGsQGRogASgCHCIAIAAoAnAgASgCEGs2AnAgASgCHCIAIAAoAmwgASgCEGs2AmwgASgCHCIAIAAoAlwgASgCEGs2AlwjAEEgayIAIAEoAhw2AhwgACAAKAIcKAIsNgIMIAAgACgCHCgCTDYCGCAAIAAoAhwoAkQgACgCGEEBdGo2AhADQCAAIAAoAhBBAmsiAjYCECAAIAIvAQA2AhQgACgCEAJ/IAAoAhQgACgCDE8EQCAAKAIUIAAoAgxrDAELQQALOwEAIAAgACgCGEEBayICNgIYIAINAAsgACAAKAIMNgIYIAAgACgCHCgCQCAAKAIYQQF0ajYCEANAIAAgACgCEEECayICNgIQIAAgAi8BADYCFCAAKAIQAn8gACgCFCAAKAIMTwRAIAAoAhQgACgCDGsMAQtBAAs7AQAgACAAKAIYQQFrIgI2AhggAg0ACyABIAEoAhAgASgCFGo2AhQLIAEoAhwoAgAoAgQEQCABIAEoAhwoAgAgASgCHCgCdCABKAIcKAI4IAEoAhwoAmxqaiABKAIUEHY2AhggASgCHCIAIAEoAhggACgCdGo2AnQgASgCHCgCdCABKAIcKAK0LWpBA08EQCABIAEoAhwoAmwgASgCHCgCtC1rNgIMIAEoAhwgASgCHCgCOCABKAIMai0AADYCSCABKAIcIAEoAhwoAlQgASgCHCgCOCABKAIMQQFqai0AACABKAIcKAJIIAEoAhwoAlh0c3E2AkgDQCABKAIcKAK0LQRAIAEoAhwgASgCHCgCVCABKAIcKAI4IAEoAgxBAmpqLQAAIAEoAhwoAkggASgCHCgCWHRzcTYCSCABKAIcKAJAIAEoAgwgASgCHCgCNHFBAXRqIAEoAhwoAkQgASgCHCgCSEEBdGovAQA7AQAgASgCHCgCRCABKAIcKAJIQQF0aiABKAIMOwEAIAEgASgCDEEBajYCDCABKAIcIgAgACgCtC1BAWs2ArQtIAEoAhwoAnQgASgCHCgCtC1qQQNPDQELCwsgASgCHCgCdEGGAkkEfyABKAIcKAIAKAIEQQBHBUEAC0EBcQ0BCwsgASgCHCgCwC0gASgCHCgCPEkEQCABIAEoAhwoAmwgASgCHCgCdGo2AggCQCABKAIcKALALSABKAIISQRAIAEgASgCHCgCPCABKAIIazYCBCABKAIEQYICSwRAIAFBggI2AgQLIAEoAhwoAjggASgCCGpBACABKAIEEDMgASgCHCABKAIIIAEoAgRqNgLALQwBCyABKAIcKALALSABKAIIQYICakkEQCABIAEoAghBggJqIAEoAhwoAsAtazYCBCABKAIEIAEoAhwoAjwgASgCHCgCwC1rSwRAIAEgASgCHCgCPCABKAIcKALALWs2AgQLIAEoAhwoAjggASgCHCgCwC1qQQAgASgCBBAzIAEoAhwiACABKAIEIAAoAsAtajYCwC0LCwsgAUEgaiQAC4YFAQF/IwBBIGsiBCQAIAQgADYCHCAEIAE2AhggBCACNgIUIAQgAzYCECAEQQM2AgwCQCAEKAIcKAK8LUEQIAQoAgxrSgRAIAQgBCgCEDYCCCAEKAIcIgAgAC8BuC0gBCgCCEH//wNxIAQoAhwoArwtdHI7AbgtIAQoAhwvAbgtQf8BcSEBIAQoAhwoAgghAiAEKAIcIgMoAhQhACADIABBAWo2AhQgACACaiABOgAAIAQoAhwvAbgtQQh2IQEgBCgCHCgCCCECIAQoAhwiAygCFCEAIAMgAEEBajYCFCAAIAJqIAE6AAAgBCgCHCAEKAIIQf//A3FBECAEKAIcKAK8LWt1OwG4LSAEKAIcIgAgACgCvC0gBCgCDEEQa2o2ArwtDAELIAQoAhwiACAALwG4LSAEKAIQQf//A3EgBCgCHCgCvC10cjsBuC0gBCgCHCIAIAQoAgwgACgCvC1qNgK8LQsgBCgCHBC9ASAEKAIUQf8BcSEBIAQoAhwoAgghAiAEKAIcIgMoAhQhACADIABBAWo2AhQgACACaiABOgAAIAQoAhRB//8DcUEIdiEBIAQoAhwoAgghAiAEKAIcIgMoAhQhACADIABBAWo2AhQgACACaiABOgAAIAQoAhRBf3NB/wFxIQEgBCgCHCgCCCECIAQoAhwiAygCFCEAIAMgAEEBajYCFCAAIAJqIAE6AAAgBCgCFEF/c0H//wNxQQh2IQEgBCgCHCgCCCECIAQoAhwiAygCFCEAIAMgAEEBajYCFCAAIAJqIAE6AAAgBCgCHCgCCCAEKAIcKAIUaiAEKAIYIAQoAhQQGRogBCgCHCIAIAQoAhQgACgCFGo2AhQgBEEgaiQAC6sBAQF/IwBBEGsiASQAIAEgADYCDCABKAIMKAIIBEAgASgCDCgCCBAbIAEoAgxBADYCCAsCQCABKAIMKAIERQ0AIAEoAgwoAgQoAgBBAXFFDQAgASgCDCgCBCgCEEF+Rw0AIAEoAgwoAgQiACAAKAIAQX5xNgIAIAEoAgwoAgQoAgBFBEAgASgCDCgCBBA3IAEoAgxBADYCBAsLIAEoAgxBADoADCABQRBqJAAL8QMBAX8jAEHQAGsiCCQAIAggADYCSCAIIAE3A0AgCCACNwM4IAggAzYCNCAIIAQ6ADMgCCAFNgIsIAggBjcDICAIIAc2AhwCQAJAAkAgCCgCSEUNACAIKQNAIAgpA0AgCCkDOHxWDQAgCCgCLA0BIAgpAyBQDQELIAgoAhxBEkEAEBQgCEEANgJMDAELIAhBgAEQGCIANgIYIABFBEAgCCgCHEEOQQAQFCAIQQA2AkwMAQsgCCgCGCAIKQNANwMAIAgoAhggCCkDQCAIKQM4fDcDCCAIKAIYQShqEDsgCCgCGCAILQAzOgBgIAgoAhggCCgCLDYCECAIKAIYIAgpAyA3AxgjAEEQayIAIAgoAhhB5ABqNgIMIAAoAgxBADYCACAAKAIMQQA2AgQgACgCDEEANgIIIwBBEGsiACAIKAJINgIMIAAoAgwpAxhC/4EBgyEBIAhBfzYCCCAIQQc2AgQgCEEONgIAQRAgCBA0IAGEIQEgCCgCGCABNwNwIAgoAhggCCgCGCkDcELAAINCAFI6AHggCCgCNARAIAgoAhhBKGogCCgCNCAIKAIcEIQBQQBIBEAgCCgCGBAVIAhBADYCTAwCCwsgCCAIKAJIQQEgCCgCGCAIKAIcEIEBNgJMCyAIKAJMIQAgCEHQAGokACAAC9MEAQJ/IwBBMGsiAyQAIAMgADYCJCADIAE3AxggAyACNgIUAkAgAygCJCgCQCADKQMYp0EEdGooAgBFBEAgAygCFEEUQQAQFCADQgA3AygMAQsgAyADKAIkKAJAIAMpAxinQQR0aigCACkDSDcDCCADKAIkKAIAIAMpAwhBABAnQQBIBEAgAygCFCADKAIkKAIAEBcgA0IANwMoDAELIAMoAiQoAgAhAiADKAIUIQQjAEEwayIAJAAgACACNgIoIABBgAI7ASYgACAENgIgIAAgAC8BJkGAAnFBAEc6ABsgAEEeQS4gAC0AG0EBcRs2AhwCQCAAKAIoQRpBHCAALQAbQQFxG6xBARAnQQBIBEAgACgCICAAKAIoEBcgAEF/NgIsDAELIAAgACgCKEEEQQYgAC0AG0EBcRusIABBDmogACgCIBBCIgI2AgggAkUEQCAAQX82AiwMAQsgAEEANgIUA0AgACgCFEECQQMgAC0AG0EBcRtIBEAgACAAKAIIEB1B//8DcSAAKAIcajYCHCAAIAAoAhRBAWo2AhQMAQsLIAAoAggQR0EBcUUEQCAAKAIgQRRBABAUIAAoAggQFiAAQX82AiwMAQsgACgCCBAWIAAgACgCHDYCLAsgACgCLCECIABBMGokACADIAIiADYCBCAAQQBIBEAgA0IANwMoDAELIAMpAwggAygCBK18Qv///////////wBWBEAgAygCFEEEQRYQFCADQgA3AygMAQsgAyADKQMIIAMoAgStfDcDKAsgAykDKCEBIANBMGokACABC20BAX8jAEEgayIEJAAgBCAANgIYIAQgATYCFCAEIAI2AhAgBCADNgIMAkAgBCgCGEUEQCAEQQA2AhwMAQsgBCAEKAIUIAQoAhAgBCgCDCAEKAIYQQhqEIEBNgIcCyAEKAIcIQAgBEEgaiQAIAALVQEBfyMAQRBrIgEkACABIAA2AgwCQAJAIAEoAgwoAiRBAUYNACABKAIMKAIkQQJGDQAMAQsgASgCDEEAQgBBChAgGiABKAIMQQA2AiQLIAFBEGokAAv/AgEBfyMAQTBrIgUkACAFIAA2AiggBSABNgIkIAUgAjYCICAFIAM6AB8gBSAENgIYAkACQCAFKAIgDQAgBS0AH0EBcQ0AIAVBADYCLAwBCyAFIAUoAiAgBS0AH0EBcWoQGDYCFCAFKAIURQRAIAUoAhhBDkEAEBQgBUEANgIsDAELAkAgBSgCKARAIAUgBSgCKCAFKAIgrRAeNgIQIAUoAhBFBEAgBSgCGEEOQQAQFCAFKAIUEBUgBUEANgIsDAMLIAUoAhQgBSgCECAFKAIgEBkaDAELIAUoAiQgBSgCFCAFKAIgrSAFKAIYEGRBAEgEQCAFKAIUEBUgBUEANgIsDAILCyAFLQAfQQFxBEAgBSgCFCAFKAIgakEAOgAAIAUgBSgCFDYCDANAIAUoAgwgBSgCFCAFKAIgakkEQCAFKAIMLQAARQRAIAUoAgxBIDoAAAsgBSAFKAIMQQFqNgIMDAELCwsgBSAFKAIUNgIsCyAFKAIsIQAgBUEwaiQAIAALwgEBAX8jAEEwayIEJAAgBCAANgIoIAQgATYCJCAEIAI3AxggBCADNgIUAkAgBCkDGEL///////////8AVgRAIAQoAhRBFEEAEBQgBEF/NgIsDAELIAQgBCgCKCAEKAIkIAQpAxgQKyICNwMIIAJCAFMEQCAEKAIUIAQoAigQFyAEQX82AiwMAQsgBCkDCCAEKQMYUwRAIAQoAhRBEUEAEBQgBEF/NgIsDAELIARBADYCLAsgBCgCLCEAIARBMGokACAAC3cBAX8jAEEQayICIAA2AgggAiABNgIEAkACQAJAIAIoAggpAyhC/////w9aDQAgAigCCCkDIEL/////D1oNACACKAIEQYAEcUUNASACKAIIKQNIQv////8PVA0BCyACQQE6AA8MAQsgAkEAOgAPCyACLQAPQQFxC/4BAQF/IwBBIGsiBSQAIAUgADYCGCAFIAE2AhQgBSACOwESIAVBADsBECAFIAM2AgwgBSAENgIIIAVBADYCBAJAA0AgBSgCGARAAkAgBSgCGC8BCCAFLwESRw0AIAUoAhgoAgQgBSgCDHFBgAZxRQ0AIAUoAgQgBS8BEEgEQCAFIAUoAgRBAWo2AgQMAQsgBSgCFARAIAUoAhQgBSgCGC8BCjsBAAsgBSgCGC8BCgRAIAUgBSgCGCgCDDYCHAwECyAFQZAVNgIcDAMLIAUgBSgCGCgCADYCGAwBCwsgBSgCCEEJQQAQFCAFQQA2AhwLIAUoAhwhACAFQSBqJAAgAAumAQEBfyMAQRBrIgIkACACIAA2AgggAiABNgIEAkAgAigCCC0AKEEBcQRAIAJBfzYCDAwBCyACKAIIKAIABEAgAigCCCgCACACKAIEEGdBAEgEQCACKAIIQQxqIAIoAggoAgAQFyACQX82AgwMAgsLIAIoAgggAkEEakIEQRMQIEIAUwRAIAJBfzYCDAwBCyACQQA2AgwLIAIoAgwhACACQRBqJAAgAAuNCAIBfwF+IwBBkAFrIgMkACADIAA2AoQBIAMgATYCgAEgAyACNgJ8IAMQUwJAIAMoAoABKQMIQgBSBEAgAyADKAKAASgCACgCACkDSDcDYCADIAMoAoABKAIAKAIAKQNINwNoDAELIANCADcDYCADQgA3A2gLIANCADcDcAJAA0AgAykDcCADKAKAASkDCFQEQCADKAKAASgCACADKQNwp0EEdGooAgApA0ggAykDaFQEQCADIAMoAoABKAIAIAMpA3CnQQR0aigCACkDSDcDaAsgAykDaCADKAKAASkDIFYEQCADKAJ8QRNBABAUIANCfzcDiAEMAwsgAyADKAKAASgCACADKQNwp0EEdGooAgApA0ggAygCgAEoAgAgAykDcKdBBHRqKAIAKQMgfCADKAKAASgCACADKQNwp0EEdGooAgAoAjAQUUH//wNxrXxCHnw3A1ggAykDWCADKQNgVgRAIAMgAykDWDcDYAsgAykDYCADKAKAASkDIFYEQCADKAJ8QRNBABAUIANCfzcDiAEMAwsgAygChAEoAgAgAygCgAEoAgAgAykDcKdBBHRqKAIAKQNIQQAQJ0EASARAIAMoAnwgAygChAEoAgAQFyADQn83A4gBDAMLIAMgAygChAEoAgBBAEEBIAMoAnwQjAFCf1EEQCADEFIgA0J/NwOIAQwDCwJ/IAMoAoABKAIAIAMpA3CnQQR0aigCACEBIwBBEGsiACQAIAAgATYCCCAAIAM2AgQCQAJAAkAgACgCCC8BCiAAKAIELwEKSA0AIAAoAggoAhAgACgCBCgCEEcNACAAKAIIKAIUIAAoAgQoAhRHDQAgACgCCCgCMCAAKAIEKAIwEIYBDQELIABBfzYCDAwBCwJAAkAgACgCCCgCGCAAKAIEKAIYRw0AIAAoAggpAyAgACgCBCkDIFINACAAKAIIKQMoIAAoAgQpAyhRDQELAkACQCAAKAIELwEMQQhxRQ0AIAAoAgQoAhgNACAAKAIEKQMgQgBSDQAgACgCBCkDKFANAQsgAEF/NgIMDAILCyAAQQA2AgwLIAAoAgwhASAAQRBqJAAgAQsEQCADKAJ8QRVBABAUIAMQUiADQn83A4gBDAMFIAMoAoABKAIAIAMpA3CnQQR0aigCACgCNCADKAI0EJUBIQAgAygCgAEoAgAgAykDcKdBBHRqKAIAIAA2AjQgAygCgAEoAgAgAykDcKdBBHRqKAIAQQE6AAQgA0EANgI0IAMQUiADIAMpA3BCAXw3A3AMAgsACwsgAwJ+IAMpA2AgAykDaH1C////////////AFQEQCADKQNgIAMpA2h9DAELQv///////////wALNwOIAQsgAykDiAEhBCADQZABaiQAIAQL1AQBAX8jAEEgayIDJAAgAyAANgIYIAMgATYCFCADIAI2AhAgAygCECEBIwBBEGsiACQAIAAgATYCCCAAQdgAEBg2AgQCQCAAKAIERQRAIAAoAghBDkEAEBQgAEEANgIMDAELIAAoAgghAiMAQRBrIgEkACABIAI2AgggAUEYEBgiAjYCBAJAIAJFBEAgASgCCEEOQQAQFCABQQA2AgwMAQsgASgCBEEANgIAIAEoAgRCADcDCCABKAIEQQA2AhAgASABKAIENgIMCyABKAIMIQIgAUEQaiQAIAAoAgQgAjYCUCACRQRAIAAoAgQQFSAAQQA2AgwMAQsgACgCBEEANgIAIAAoAgRBADYCBCMAQRBrIgEgACgCBEEIajYCDCABKAIMQQA2AgAgASgCDEEANgIEIAEoAgxBADYCCCAAKAIEQQA2AhggACgCBEEANgIUIAAoAgRBADYCHCAAKAIEQQA2AiQgACgCBEEANgIgIAAoAgRBADoAKCAAKAIEQgA3AzggACgCBEIANwMwIAAoAgRBADYCQCAAKAIEQQA2AkggACgCBEEANgJEIAAoAgRBADYCTCAAKAIEQQA2AlQgACAAKAIENgIMCyAAKAIMIQEgAEEQaiQAIAMgASIANgIMAkAgAEUEQCADQQA2AhwMAQsgAygCDCADKAIYNgIAIAMoAgwgAygCFDYCBCADKAIUQRBxBEAgAygCDCIAIAAoAhRBAnI2AhQgAygCDCIAIAAoAhhBAnI2AhgLIAMgAygCDDYCHAsgAygCHCEAIANBIGokACAAC9UBAQF/IwBBIGsiBCQAIAQgADYCGCAEIAE3AxAgBCACNgIMIAQgAzYCCAJAAkAgBCkDEEL///////////8AVwRAIAQpAxBCgICAgICAgICAf1kNAQsgBCgCCEEEQT0QFCAEQX82AhwMAQsCfyAEKQMQIQEgBCgCDCEAIAQoAhgiAigCTEF/TARAIAIgASAAEKABDAELIAIgASAAEKABC0EASARAIAQoAghBBEG0mwEoAgAQFCAEQX82AhwMAQsgBEEANgIcCyAEKAIcIQAgBEEgaiQAIAALJABBACAAEAUiACAAQRtGGyIABH9BtJsBIAA2AgBBAAVBAAsaC3ABAX8jAEEQayIDJAAgAwJ/IAFBwABxRQRAQQAgAUGAgIQCcUGAgIQCRw0BGgsgAyACQQRqNgIMIAIoAgALNgIAIAAgAUGAgAJyIAMQECIAQYFgTwRAQbSbAUEAIABrNgIAQX8hAAsgA0EQaiQAIAALMwEBfwJ/IAAQByIBQWFGBEAgABARIQELIAFBgWBPCwR/QbSbAUEAIAFrNgIAQX8FIAELC2kBAn8CQCAAKAIUIAAoAhxNDQAgAEEAQQAgACgCJBEBABogACgCFA0AQX8PCyAAKAIEIgEgACgCCCICSQRAIAAgASACa6xBASAAKAIoEQ8AGgsgAEEANgIcIABCADcDECAAQgA3AgRBAAvaAwEGfyMAQRBrIgUkACAFIAI2AgwjAEGgAWsiBCQAIARBCGpBkIcBQZABEBkaIAQgADYCNCAEIAA2AhwgBEF+IABrIgNB/////wcgA0H/////B0kbIgY2AjggBCAAIAZqIgA2AiQgBCAANgIYIARBCGohACMAQdABayIDJAAgAyACNgLMASADQaABakEAQSgQMyADIAMoAswBNgLIAQJAQQAgASADQcgBaiADQdAAaiADQaABahBwQQBIDQAgACgCTEEATiEHIAAoAgAhAiAALABKQQBMBEAgACACQV9xNgIACyACQSBxIQgCfyAAKAIwBEAgACABIANByAFqIANB0ABqIANBoAFqEHAMAQsgAEHQADYCMCAAIANB0ABqNgIQIAAgAzYCHCAAIAM2AhQgACgCLCECIAAgAzYCLCAAIAEgA0HIAWogA0HQAGogA0GgAWoQcCACRQ0AGiAAQQBBACAAKAIkEQEAGiAAQQA2AjAgACACNgIsIABBADYCHCAAQQA2AhAgACgCFBogAEEANgIUQQALGiAAIAAoAgAgCHI2AgAgB0UNAAsgA0HQAWokACAGBEAgBCgCHCIAIAAgBCgCGEZrQQA6AAALIARBoAFqJAAgBUEQaiQAC4wSAg9/AX4jAEHQAGsiBSQAIAUgATYCTCAFQTdqIRMgBUE4aiEQQQAhAQNAAkAgDUEASA0AQf////8HIA1rIAFIBEBBtJsBQT02AgBBfyENDAELIAEgDWohDQsgBSgCTCIHIQECQAJAAkACQAJAAkACQAJAIAUCfwJAIActAAAiBgRAA0ACQAJAIAZB/wFxIgZFBEAgASEGDAELIAZBJUcNASABIQYDQCABLQABQSVHDQEgBSABQQJqIgg2AkwgBkEBaiEGIAEtAAIhDiAIIQEgDkElRg0ACwsgBiAHayEBIAAEQCAAIAcgARAiCyABDQ0gBSgCTCEBIAUoAkwsAAFBMGtBCk8NAyABLQACQSRHDQMgASwAAUEwayEPQQEhESABQQNqDAQLIAUgAUEBaiIINgJMIAEtAAEhBiAIIQEMAAsACyANIQsgAA0IIBFFDQJBASEBA0AgBCABQQJ0aigCACIABEAgAyABQQN0aiAAIAIQqAFBASELIAFBAWoiAUEKRw0BDAoLC0EBIQsgAUEKTw0IA0AgBCABQQJ0aigCAA0IIAFBAWoiAUEKRw0ACwwIC0F/IQ8gAUEBagsiATYCTEEAIQgCQCABLAAAIgxBIGsiBkEfSw0AQQEgBnQiBkGJ0QRxRQ0AA0ACQCAFIAFBAWoiCDYCTCABLAABIgxBIGsiAUEgTw0AQQEgAXQiAUGJ0QRxRQ0AIAEgBnIhBiAIIQEMAQsLIAghASAGIQgLAkAgDEEqRgRAIAUCfwJAIAEsAAFBMGtBCk8NACAFKAJMIgEtAAJBJEcNACABLAABQQJ0IARqQcABa0EKNgIAIAEsAAFBA3QgA2pBgANrKAIAIQpBASERIAFBA2oMAQsgEQ0IQQAhEUEAIQogAARAIAIgAigCACIBQQRqNgIAIAEoAgAhCgsgBSgCTEEBagsiATYCTCAKQX9KDQFBACAKayEKIAhBgMAAciEIDAELIAVBzABqEKcBIgpBAEgNBiAFKAJMIQELQX8hCQJAIAEtAABBLkcNACABLQABQSpGBEACQCABLAACQTBrQQpPDQAgBSgCTCIBLQADQSRHDQAgASwAAkECdCAEakHAAWtBCjYCACABLAACQQN0IANqQYADaygCACEJIAUgAUEEaiIBNgJMDAILIBENByAABH8gAiACKAIAIgFBBGo2AgAgASgCAAVBAAshCSAFIAUoAkxBAmoiATYCTAwBCyAFIAFBAWo2AkwgBUHMAGoQpwEhCSAFKAJMIQELQQAhBgNAIAYhEkF/IQsgASwAAEHBAGtBOUsNByAFIAFBAWoiDDYCTCABLAAAIQYgDCEBIAYgEkE6bGpB74IBai0AACIGQQFrQQhJDQALIAZBE0YNAiAGRQ0GIA9BAE4EQCAEIA9BAnRqIAY2AgAgBSADIA9BA3RqKQMANwNADAQLIAANAQtBACELDAULIAVBQGsgBiACEKgBIAUoAkwhDAwCCyAPQX9KDQMLQQAhASAARQ0ECyAIQf//e3EiDiAIIAhBgMAAcRshBkEAIQtBpAghDyAQIQgCQAJAAkACfwJAAkACQAJAAn8CQAJAAkACQAJAAkACQCAMQQFrLAAAIgFBX3EgASABQQ9xQQNGGyABIBIbIgFB2ABrDiEEEhISEhISEhIOEg8GDg4OEgYSEhISAgUDEhIJEgESEgQACwJAIAFBwQBrDgcOEgsSDg4OAAsgAUHTAEYNCQwRCyAFKQNAIRRBpAgMBQtBACEBAkACQAJAAkACQAJAAkAgEkH/AXEOCAABAgMEFwUGFwsgBSgCQCANNgIADBYLIAUoAkAgDTYCAAwVCyAFKAJAIA2sNwMADBQLIAUoAkAgDTsBAAwTCyAFKAJAIA06AAAMEgsgBSgCQCANNgIADBELIAUoAkAgDaw3AwAMEAsgCUEIIAlBCEsbIQkgBkEIciEGQfgAIQELIBAhByABQSBxIQ4gBSkDQCIUUEUEQANAIAdBAWsiByAUp0EPcUGAhwFqLQAAIA5yOgAAIBRCD1YhDCAUQgSIIRQgDA0ACwsgBSkDQFANAyAGQQhxRQ0DIAFBBHZBpAhqIQ9BAiELDAMLIBAhASAFKQNAIhRQRQRAA0AgAUEBayIBIBSnQQdxQTByOgAAIBRCB1YhByAUQgOIIRQgBw0ACwsgASEHIAZBCHFFDQIgCSAQIAdrIgFBAWogASAJSBshCQwCCyAFKQNAIhRCf1cEQCAFQgAgFH0iFDcDQEEBIQtBpAgMAQsgBkGAEHEEQEEBIQtBpQgMAQtBpghBpAggBkEBcSILGwshDyAUIBAQRCEHCyAGQf//e3EgBiAJQX9KGyEGAkAgBSkDQCIUQgBSDQAgCQ0AQQAhCSAQIQcMCgsgCSAUUCAQIAdraiIBIAEgCUgbIQkMCQsgBSgCQCIBQdgSIAEbIgdBACAJEKsBIgEgByAJaiABGyEIIA4hBiABIAdrIAkgARshCQwICyAJBEAgBSgCQAwCC0EAIQEgAEEgIApBACAGECYMAgsgBUEANgIMIAUgBSkDQD4CCCAFIAVBCGo2AkBBfyEJIAVBCGoLIQhBACEBAkADQCAIKAIAIgdFDQECQCAFQQRqIAcQqgEiB0EASCIODQAgByAJIAFrSw0AIAhBBGohCCAJIAEgB2oiAUsNAQwCCwtBfyELIA4NBQsgAEEgIAogASAGECYgAUUEQEEAIQEMAQtBACEIIAUoAkAhDANAIAwoAgAiB0UNASAFQQRqIAcQqgEiByAIaiIIIAFKDQEgACAFQQRqIAcQIiAMQQRqIQwgASAISw0ACwsgAEEgIAogASAGQYDAAHMQJiAKIAEgASAKSBshAQwFCyAAIAUrA0AgCiAJIAYgAUEXERkAIQEMBAsgBSAFKQNAPAA3QQEhCSATIQcgDiEGDAILQX8hCwsgBUHQAGokACALDwsgAEEgIAsgCCAHayIOIAkgCSAOSBsiDGoiCCAKIAggCkobIgEgCCAGECYgACAPIAsQIiAAQTAgASAIIAZBgIAEcxAmIABBMCAMIA5BABAmIAAgByAOECIgAEEgIAEgCCAGQYDAAHMQJgwACwALkAIBA38CQCABIAIoAhAiBAR/IAQFQQAhBAJ/IAIgAi0ASiIDQQFrIANyOgBKIAIoAgAiA0EIcQRAIAIgA0EgcjYCAEF/DAELIAJCADcCBCACIAIoAiwiAzYCHCACIAM2AhQgAiADIAIoAjBqNgIQQQALDQEgAigCEAsgAigCFCIFa0sEQCACIAAgASACKAIkEQEADwsCfyACLABLQX9KBEAgASEEA0AgASAEIgNFDQIaIAAgA0EBayIEai0AAEEKRw0ACyACIAAgAyACKAIkEQEAIgQgA0kNAiAAIANqIQAgAigCFCEFIAEgA2sMAQsgAQshBCAFIAAgBBAZGiACIAIoAhQgBGo2AhQgASEECyAEC0gCAX8BfiMAQRBrIgMkACADIAA2AgwgAyABNgIIIAMgAjYCBCADKAIMIAMoAgggAygCBCADKAIMQQhqEFghBCADQRBqJAAgBAt3AQF/IwBBEGsiASAANgIIIAFChSo3AwACQCABKAIIRQRAIAFBADYCDAwBCwNAIAEoAggtAAAEQCABIAEoAggtAACtIAEpAwBCIX58Qv////8PgzcDACABIAEoAghBAWo2AggMAQsLIAEgASkDAD4CDAsgASgCDAuHBQEBfyMAQTBrIgUkACAFIAA2AiggBSABNgIkIAUgAjcDGCAFIAM2AhQgBSAENgIQAkACQAJAIAUoAihFDQAgBSgCJEUNACAFKQMYQv///////////wBYDQELIAUoAhBBEkEAEBQgBUEAOgAvDAELIAUoAigoAgBFBEAgBSgCKEGAAiAFKAIQEFpBAXFFBEAgBUEAOgAvDAILCyAFIAUoAiQQczYCDCAFIAUoAgwgBSgCKCgCAHA2AgggBSAFKAIoKAIQIAUoAghBAnRqKAIANgIEA0ACQCAFKAIERQ0AAkAgBSgCBCgCHCAFKAIMRw0AIAUoAiQgBSgCBCgCABBbDQACQAJAIAUoAhRBCHEEQCAFKAIEKQMIQn9SDQELIAUoAgQpAxBCf1ENAQsgBSgCEEEKQQAQFCAFQQA6AC8MBAsMAQsgBSAFKAIEKAIYNgIEDAELCyAFKAIERQRAIAVBIBAYIgA2AgQgAEUEQCAFKAIQQQ5BABAUIAVBADoALwwCCyAFKAIEIAUoAiQ2AgAgBSgCBCAFKAIoKAIQIAUoAghBAnRqKAIANgIYIAUoAigoAhAgBSgCCEECdGogBSgCBDYCACAFKAIEIAUoAgw2AhwgBSgCBEJ/NwMIIAUoAigiACAAKQMIQgF8NwMIAkAgBSgCKCIAKQMIuiAAKAIAuEQAAAAAAADoP6JkRQ0AIAUoAigoAgBBgICAgHhPDQAgBSgCKCAFKAIoKAIAQQF0IAUoAhAQWkEBcUUEQCAFQQA6AC8MAwsLCyAFKAIUQQhxBEAgBSgCBCAFKQMYNwMICyAFKAIEIAUpAxg3AxAgBUEBOgAvCyAFLQAvQQFxIQAgBUEwaiQAIAAL1BEBAX8jAEGwAWsiBiQAIAYgADYCqAEgBiABNgKkASAGIAI2AqABIAYgAzYCnAEgBiAENgKYASAGIAU2ApQBIAZBADYCkAEDQCAGKAKQAUEPS0UEQCAGQSBqIAYoApABQQF0akEAOwEAIAYgBigCkAFBAWo2ApABDAELCyAGQQA2AowBA0AgBigCjAEgBigCoAFPRQRAIAZBIGogBigCpAEgBigCjAFBAXRqLwEAQQF0aiIAIAAvAQBBAWo7AQAgBiAGKAKMAUEBajYCjAEMAQsLIAYgBigCmAEoAgA2AoABIAZBDzYChAEDQAJAIAYoAoQBQQFJDQAgBkEgaiAGKAKEAUEBdGovAQANACAGIAYoAoQBQQFrNgKEAQwBCwsgBigCgAEgBigChAFLBEAgBiAGKAKEATYCgAELAkAgBigChAFFBEAgBkHAADoAWCAGQQE6AFkgBkEAOwFaIAYoApwBIgEoAgAhACABIABBBGo2AgAgACAGQdgAaigBADYBACAGKAKcASIBKAIAIQAgASAAQQRqNgIAIAAgBkHYAGooAQA2AQAgBigCmAFBATYCACAGQQA2AqwBDAELIAZBATYCiAEDQAJAIAYoAogBIAYoAoQBTw0AIAZBIGogBigCiAFBAXRqLwEADQAgBiAGKAKIAUEBajYCiAEMAQsLIAYoAoABIAYoAogBSQRAIAYgBigCiAE2AoABCyAGQQE2AnQgBkEBNgKQAQNAIAYoApABQQ9NBEAgBiAGKAJ0QQF0NgJ0IAYgBigCdCAGQSBqIAYoApABQQF0ai8BAGs2AnQgBigCdEEASARAIAZBfzYCrAEMAwUgBiAGKAKQAUEBajYCkAEMAgsACwsCQCAGKAJ0QQBMDQAgBigCqAEEQCAGKAKEAUEBRg0BCyAGQX82AqwBDAELIAZBADsBAiAGQQE2ApABA0AgBigCkAFBD09FBEAgBigCkAFBAWpBAXQgBmogBigCkAFBAXQgBmovAQAgBkEgaiAGKAKQAUEBdGovAQBqOwEAIAYgBigCkAFBAWo2ApABDAELCyAGQQA2AowBA0AgBigCjAEgBigCoAFJBEAgBigCpAEgBigCjAFBAXRqLwEABEAgBigClAEhASAGKAKkASAGKAKMASICQQF0ai8BAEEBdCAGaiIDLwEAIQAgAyAAQQFqOwEAIABB//8DcUEBdCABaiACOwEACyAGIAYoAowBQQFqNgKMAQwBCwsCQAJAAkACQCAGKAKoAQ4CAAECCyAGIAYoApQBIgA2AkwgBiAANgJQIAZBFDYCSAwCCyAGQYDwADYCUCAGQcDwADYCTCAGQYECNgJIDAELIAZBgPEANgJQIAZBwPEANgJMIAZBADYCSAsgBkEANgJsIAZBADYCjAEgBiAGKAKIATYCkAEgBiAGKAKcASgCADYCVCAGIAYoAoABNgJ8IAZBADYCeCAGQX82AmAgBkEBIAYoAoABdDYCcCAGIAYoAnBBAWs2AlwCQAJAIAYoAqgBQQFGBEAgBigCcEHUBksNAQsgBigCqAFBAkcNASAGKAJwQdAETQ0BCyAGQQE2AqwBDAELA0AgBiAGKAKQASAGKAJ4azoAWQJAIAYoAkggBigClAEgBigCjAFBAXRqLwEAQQFqSwRAIAZBADoAWCAGIAYoApQBIAYoAowBQQF0ai8BADsBWgwBCwJAIAYoApQBIAYoAowBQQF0ai8BACAGKAJITwRAIAYgBigCTCAGKAKUASAGKAKMAUEBdGovAQAgBigCSGtBAXRqLwEAOgBYIAYgBigCUCAGKAKUASAGKAKMAUEBdGovAQAgBigCSGtBAXRqLwEAOwFaDAELIAZB4AA6AFggBkEAOwFaCwsgBkEBIAYoApABIAYoAnhrdDYCaCAGQQEgBigCfHQ2AmQgBiAGKAJkNgKIAQNAIAYgBigCZCAGKAJoazYCZCAGKAJUIAYoAmQgBigCbCAGKAJ4dmpBAnRqIAZB2ABqKAEANgEAIAYoAmQNAAsgBkEBIAYoApABQQFrdDYCaANAIAYoAmwgBigCaHEEQCAGIAYoAmhBAXY2AmgMAQsLAkAgBigCaARAIAYgBigCbCAGKAJoQQFrcTYCbCAGIAYoAmggBigCbGo2AmwMAQsgBkEANgJsCyAGIAYoAowBQQFqNgKMASAGQSBqIAYoApABQQF0aiIBLwEAQQFrIQAgASAAOwEAAkAgAEH//wNxRQRAIAYoApABIAYoAoQBRg0BIAYgBigCpAEgBigClAEgBigCjAFBAXRqLwEAQQF0ai8BADYCkAELAkAgBigCkAEgBigCgAFNDQAgBigCYCAGKAJsIAYoAlxxRg0AIAYoAnhFBEAgBiAGKAKAATYCeAsgBiAGKAJUIAYoAogBQQJ0ajYCVCAGIAYoApABIAYoAnhrNgJ8IAZBASAGKAJ8dDYCdANAAkAgBigChAEgBigCfCAGKAJ4ak0NACAGIAYoAnQgBkEgaiAGKAJ8IAYoAnhqQQF0ai8BAGs2AnQgBigCdEEATA0AIAYgBigCfEEBajYCfCAGIAYoAnRBAXQ2AnQMAQsLIAYgBigCcEEBIAYoAnx0ajYCcAJAAkAgBigCqAFBAUYEQCAGKAJwQdQGSw0BCyAGKAKoAUECRw0BIAYoAnBB0ARNDQELIAZBATYCrAEMBAsgBiAGKAJsIAYoAlxxNgJgIAYoApwBKAIAIAYoAmBBAnRqIAYoAnw6AAAgBigCnAEoAgAgBigCYEECdGogBigCgAE6AAEgBigCnAEoAgAgBigCYEECdGogBigCVCAGKAKcASgCAGtBAnU7AQILDAELCyAGKAJsBEAgBkHAADoAWCAGIAYoApABIAYoAnhrOgBZIAZBADsBWiAGKAJUIAYoAmxBAnRqIAZB2ABqKAEANgEACyAGKAKcASIAIAAoAgAgBigCcEECdGo2AgAgBigCmAEgBigCgAE2AgAgBkEANgKsAQsgBigCrAEhACAGQbABaiQAIAALsQIBAX8jAEEgayIDJAAgAyAANgIYIAMgATYCFCADIAI2AhAgAyADKAIYKAIENgIMIAMoAgwgAygCEEsEQCADIAMoAhA2AgwLAkAgAygCDEUEQCADQQA2AhwMAQsgAygCGCIAIAAoAgQgAygCDGs2AgQgAygCFCADKAIYKAIAIAMoAgwQGRoCQCADKAIYKAIcKAIYQQFGBEAgAygCGCgCMCADKAIUIAMoAgwQPSEAIAMoAhggADYCMAwBCyADKAIYKAIcKAIYQQJGBEAgAygCGCgCMCADKAIUIAMoAgwQGiEAIAMoAhggADYCMAsLIAMoAhgiACADKAIMIAAoAgBqNgIAIAMoAhgiACADKAIMIAAoAghqNgIIIAMgAygCDDYCHAsgAygCHCEAIANBIGokACAACzYBAX8jAEEQayIBJAAgASAANgIMIAEoAgwQXiABKAIMKAIAEDcgASgCDCgCBBA3IAFBEGokAAvtAQEBfyMAQRBrIgEgADYCCAJAAkACQCABKAIIRQ0AIAEoAggoAiBFDQAgASgCCCgCJA0BCyABQQE2AgwMAQsgASABKAIIKAIcNgIEAkACQCABKAIERQ0AIAEoAgQoAgAgASgCCEcNACABKAIEKAIEQSpGDQEgASgCBCgCBEE5Rg0BIAEoAgQoAgRBxQBGDQEgASgCBCgCBEHJAEYNASABKAIEKAIEQdsARg0BIAEoAgQoAgRB5wBGDQEgASgCBCgCBEHxAEYNASABKAIEKAIEQZoFRg0BCyABQQE2AgwMAQsgAUEANgIMCyABKAIMC9IEAQF/IwBBIGsiAyAANgIcIAMgATYCGCADIAI2AhQgAyADKAIcQdwWaiADKAIUQQJ0aigCADYCECADIAMoAhRBAXQ2AgwDQAJAIAMoAgwgAygCHCgC0ChKDQACQCADKAIMIAMoAhwoAtAoTg0AIAMoAhggAygCHCADKAIMQQJ0akHgFmooAgBBAnRqLwEAIAMoAhggAygCHEHcFmogAygCDEECdGooAgBBAnRqLwEATgRAIAMoAhggAygCHCADKAIMQQJ0akHgFmooAgBBAnRqLwEAIAMoAhggAygCHEHcFmogAygCDEECdGooAgBBAnRqLwEARw0BIAMoAhwgAygCDEECdGpB4BZqKAIAIAMoAhxB2Chqai0AACADKAIcQdwWaiADKAIMQQJ0aigCACADKAIcQdgoamotAABKDQELIAMgAygCDEEBajYCDAsgAygCGCADKAIQQQJ0ai8BACADKAIYIAMoAhxB3BZqIAMoAgxBAnRqKAIAQQJ0ai8BAEgNAAJAIAMoAhggAygCEEECdGovAQAgAygCGCADKAIcQdwWaiADKAIMQQJ0aigCAEECdGovAQBHDQAgAygCECADKAIcQdgoamotAAAgAygCHEHcFmogAygCDEECdGooAgAgAygCHEHYKGpqLQAASg0ADAELIAMoAhxB3BZqIAMoAhRBAnRqIAMoAhxB3BZqIAMoAgxBAnRqKAIANgIAIAMgAygCDDYCFCADIAMoAgxBAXQ2AgwMAQsLIAMoAhxB3BZqIAMoAhRBAnRqIAMoAhA2AgAL1xMBA38jAEEwayICJAAgAiAANgIsIAIgATYCKCACIAIoAigoAgA2AiQgAiACKAIoKAIIKAIANgIgIAIgAigCKCgCCCgCDDYCHCACQX82AhAgAigCLEEANgLQKCACKAIsQb0ENgLUKCACQQA2AhgDQCACKAIYIAIoAhxIBEACQCACKAIkIAIoAhhBAnRqLwEABEAgAiACKAIYIgE2AhAgAigCLEHcFmohAyACKAIsIgQoAtAoQQFqIQAgBCAANgLQKCAAQQJ0IANqIAE2AgAgAigCGCACKAIsQdgoampBADoAAAwBCyACKAIkIAIoAhhBAnRqQQA7AQILIAIgAigCGEEBajYCGAwBCwsDQCACKAIsKALQKEECSARAAkAgAigCEEECSARAIAIgAigCEEEBaiIANgIQDAELQQAhAAsgAigCLEHcFmohAyACKAIsIgQoAtAoQQFqIQEgBCABNgLQKCABQQJ0IANqIAA2AgAgAiAANgIMIAIoAiQgAigCDEECdGpBATsBACACKAIMIAIoAixB2ChqakEAOgAAIAIoAiwiACAAKAKoLUEBazYCqC0gAigCIARAIAIoAiwiACAAKAKsLSACKAIgIAIoAgxBAnRqLwECazYCrC0LDAELCyACKAIoIAIoAhA2AgQgAiACKAIsKALQKEECbTYCGANAIAIoAhhBAU4EQCACKAIsIAIoAiQgAigCGBB5IAIgAigCGEEBazYCGAwBCwsgAiACKAIcNgIMA0AgAiACKAIsKALgFjYCGCACKAIsQdwWaiEBIAIoAiwiAygC0CghACADIABBAWs2AtAoIAIoAiwgAEECdCABaigCADYC4BYgAigCLCACKAIkQQEQeSACIAIoAiwoAuAWNgIUIAIoAhghASACKAIsQdwWaiEDIAIoAiwiBCgC1ChBAWshACAEIAA2AtQoIABBAnQgA2ogATYCACACKAIUIQEgAigCLEHcFmohAyACKAIsIgQoAtQoQQFrIQAgBCAANgLUKCAA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AQsgAigCCEEANgIAIAIoAghCADcDECACKAIIQgA3AwggAigCCEIANwMgIAIoAghCADcDGCACKAIIQQA2AiggAigCCEEAOgAsIAIoAgggAikDECACKAIMEI8BQQFxRQRAIAIoAggQJSACQQA2AhwMAQsgAiACKAIINgIcCyACKAIcIQEgAkEgaiQAIAEL1gIBAX8jAEEgayIDJAAgAyAANgIYIAMgATYCFCADIAI2AhAgAyADQQxqQgQQKTYCCAJAIAMoAghFBEAgA0F/NgIcDAELA0AgAygCFARAIAMoAhQoAgQgAygCEHFBgAZxBEAgAygCCEIAECwaIAMoAgggAygCFC8BCBAfIAMoAgggAygCFC8BChAfAn8jAEEQayIAIAMoAgg2AgwgACgCDC0AAEEBcUULBEAgAygCGEEIakEUQQAQFCADKAIIEBYgA0F/NgIcDAQLIAMoAhggA0EMakIEEDZBAEgEQCADKAIIEBYgA0F/NgIcDAQLIAMoAhQvAQoEQCADKAIYIAMoAhQoAgwgAygCFC8BCq0QNkEASARAIAMoAggQFiADQX82AhwMBQsLCyADIAMoAhQoAgA2AhQMAQsLIAMoAggQFiADQQA2AhwLIAMoAhwhACADQSBqJAAgAAtoAQF/IwBBEGsiAiAANgIMIAIgATYCCCACQQA7AQYDQCACKAIMBEAgAigCDCgCBCACKAIIcUGABnEEQCACIAIoAgwvAQogAi8BBkEEamo7AQYLIAIgAigCDCgCADYCDAwBCwsgAi8BBgvwAQEBfyMAQRBrIgEkACABIAA2AgwgASABKAIMNgIIIAFBADYCBANAIAEoAgwEQAJAAkAgASgCDC8BCEH1xgFGDQAgASgCDC8BCEH14AFGDQAgASgCDC8BCEGBsgJGDQAgASgCDC8BCEEBRw0BCyABIAEoAgwoAgA2AgAgASgCCCABKAIMRgRAIAEgASgCADYCCAsgASgCDEEANgIAIAEoAgwQIyABKAIEBEAgASgCBCABKAIANgIACyABIAEoAgA2AgwMAgsgASABKAIMNgIEIAEgASgCDCgCADYCDAwBCwsgASgCCCEAIAFBEGokACAAC7IEAQF/IwBBQGoiBSQAIAUgADYCOCAFIAE7ATYgBSACNgIwIAUgAzYCLCAFIAQ2AiggBSAFKAI4IAUvATatECkiADYC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IAEoAhBB//8DRgRAIAEgASgCDDYCEAsgASgCCEH//wNGBEAgASABKAIENgIICwJAIAEoApQBQQRxRQ0AIAEoAgggASgCBEYEQCABKAIQIAEoAgxGDQELIAEoApABQRVBABAUIAEtABdBAXEEQCABKAKkARAWCyABQQA2AqwBDAELAkAgASgCEEUEQCABKAIIRQ0BCyABKAKQAUEBQQAQFCABLQAXQQFxBEAgASgCpAEQFgsgAUEANgKsAQwBCyABIAEoAqQBEDE3AyggASABKAKkARAxNwMgIAEpAyggASkDIFIEQCABKAKQAUEBQQAQFCABLQAXQQFxBEAgASgCpAEQFgsgAUEANgKsAQwBCyABIAEoAqQBEDE3AzAgASABKAKkARAxNwOAAQJ/IwBBEGsiBSABKAKkATYCDCAFKAIMLQAAQQFxRQsEQCABKAKQAUEUQQAQFCABLQAXQQFxBEAgASgCpAEQFgsgAUEANgKsAQwBCyABLQAXQQFxBEAgASgCpAEQFgsCQCABKQOAAUL///////////8AWARAIAEpA4ABIAEpA4ABIAEpAzB8WA0BCyABKAKQAUEEQRYQFCABQQA2AqwBDAELIAEpA4ABIAEpAzB8IAEpA5gBIAEpAzh8VgRAIAEoApABQRVBABAUIAFBADYCrAEMAQsCQCABKAKUAUEEcUUNACABKQOAASABKQMwfCABKQOYASABKQM4fFENACABKAKQAUEVQQAQFCABQQA2AqwBDAELIAEpAyggASkDMEIugFYEQCABKAKQAUEVQQAQFCABQQA2AqwBDAELIAEgASkDKCABKAKQARCQASIFNgKMASAFRQRAIAFBADYCrAEMAQsgASgCjAFBAToALCABKAKMASABKQMwNwMYIAEoAowBIAEpA4ABNwMgIAEgASgCjAE2AqwBCyABKAKsASEFIAFBsAFqJAAgACAFNgJQDAELIAAoAmQgACkDMBAsGiAAKAJkIQUgACkDWCEJIAAoAmgoAhQhBiAAKAJUIQcjAEHQAGsiASQAIAEgBTYCSCABIAk3A0AgASAGNgI8IAEgBzYCOAJAIAEoAkgQMEIWVARAIAEoAjhBFUEAEBQgAUEANgJMDAELIwBBEGsiBSABKAJINgIMIAECfiAFKAIMLQAAQQFxBEAgBSgCDCkDEAwBC0IACzcDCCABKAJIQgQQHhogASgCSBAqBEAgASgCOEEBQQAQFCABQQA2AkwMAQsgASABKAJIEB1B//8Dca03AyggASABKAJIEB1B//8Dca03AyAgASkDICABKQMoUgRAIAEoAjhBE0EAEBQgAUEANgJMDAELIAEgASgCSBAqrTcDGCABIAEoAkgQKq03AxAgASkDECABKQMQIAEpAxh8VgRAIAEoAjhBBEEWEBQgAUEANgJMDAELIAEpAxAgASkDGHwgASkDQCABKQMIfFYEQCABKAI4QRVBABAUIAFBADYCTAwBCwJAIAEoAjxBBHFFDQAgASkDECABKQMYfCABKQNAIAEpAwh8UQ0AIAEoAjhBFUEAEBQgAUEANgJMDAELIAEgASkDICABKAI4EJABIgU2AjQgBUUEQCABQQA2AkwMAQsgASgCNEEAOgAsIAEoAjQgASkDGDcDGCABKAI0IAEpAxA3AyAgASABKAI0NgJMCyABKAJMIQUgAUHQAGokACAAIAU2AlALIAAoAlBFBEAgAEEANgJsDAELIAAoAmQgACkDMEIUfBAsGiAAIAAoAmQQHTsBTiAAKAJQKQMgIAAoAlApAxh8IAApA1ggACkDMHxWBEAgACgCVEEVQQAQFCAAKAJQECUgAEEANgJsDAELAkAgAC8BTkUEQCAAKAJoKAIEQQRxRQ0BCyAAKAJkIAApAzBCFnwQLBogACAAKAJkEDA3AyACQCAAKQMgIAAvAU6tWgRAIAAoAmgoAgRBBHFFDQEgACkDICAALwFOrVENAQsgACgCVEEVQQAQFCAAKAJQECUgAEEANgJsDAILIAAvAU4EQCAAKAJkIAAvAU6tEB4gAC8BTkEAIAAoAlQQUCEBIAAoAlAgATYCKCABRQRAIAAoAlAQJSAAQQA2AmwMAwsLCwJAIAAoAlApAyAgACkDWFoEQCAAKAJkIAAoAlApAyAgACkDWH0QLBogACAAKAJkIAAoAlApAxgQHiIBNgIcIAFFBEAgACgCVEEVQQAQFCAAKAJQECUgAEEANgJsDAMLIAAgACgCHCAAKAJQKQMYECkiATYCLCABRQRAIAAoAlRBDkEAEBQgACgCUBAlIABBADYCbAwDCwwBCyAAQQA2AiwgACgCaCgCACAAKAJQKQMgQQAQJ0EASARAIAAoAlQgACgCaCgCABAXIAAoAlAQJSAAQQA2AmwMAgsgACgCaCgCABBJIAAoAlApAyBSBEAgACgCVEETQQAQFCAAKAJQECUgAEEANgJsDAILCyAAIAAoAlApAxg3AzggAEIANwNAA0ACQCAAKQM4UA0AIABBADoAGyAAKQNAIAAoAlApAwhRBEAgACgCUC0ALEEBcQ0BIAApAzhCLlQNASAAKAJQQoCABCAAKAJUEI8BQQFxRQRAIAAoAlAQJSAAKAIsEBYgAEEANgJsDAQLIABBAToAGwsjAEEQayIBJAAgAUHYABAYIgU2AggCQCAFRQRAIAFBADYCDAwBCyABKAIIEFMgASABKAIINgIMCyABKAIMIQUgAUEQaiQAIAUhASAAKAJQKAIAIAApA0CnQQR0aiABNgIAAkAgAQRAIAAgACgCUCgCACAAKQNAp0EEdGooAgAgACgCaCgCACAAKAIsQQAgACgCVBCMASIJNwMQIAlCAFkNAQsCQCAALQAbQQFxRQ0AIwBBEGsiASAAKAJUNgIMIAEoAgwoAgBBE0cNACAAKAJUQRVBABAUCyAAKAJQECUgACgCLBAWIABBADYCbAwDCyAAIAApA0BCAXw3A0AgACAAKQM4IAApAxB9NwM4DAELCwJAIAApA0AgACgCUCkDCFEEQCAAKQM4UA0BCyAAKAJUQRVBABAUIAAoAiwQFiAAKAJQECUgAEEANgJsDAELIAAoAmgoAgRBBHEEQAJAIAAoAiwEQCAAIAAoAiwQR0EBcToADwwBCyAAIAAoAmgoAgAQSTcDACAAKQMAQgBTBEAgACgCVCAAKAJoKAIAEBcgACgCUBAlIABBADYCbAwDCyAAIAApAwAgACgCUCkDICAAKAJQKQMYfFE6AA8LIAAtAA9BAXFFBEAgACgCVEEVQQAQFCAAKAIsEBYgACgCUBAlIABBADYCbAwCCwsgACgCLBAWIAAgACgCUDYCbAsgACgCbCEBIABB8ABqJAAgAiABNgJIIAEEQAJAIAIoAkwEQCACKQMgQgBXBEAgAiACKAJYIAIoAkwgAkEQahBoNwMgCyACIAIoAlggAigCSCACQRBqEGg3AygCQCACKQMgIAIpAyhTBEAgAigCTBAlIAIgAigCSDYCTCACIAIpAyg3AyAMAQsgAigCSBAlCwwBCyACIAIoAkg2AkwCQCACKAJYKAIEQQRxBEAgAiACKAJYIAIoAkwgAkEQahBoNwMgDAELIAJCADcDIAsLIAJBADYCSAsgAiACKAJEQQFqNgJEIAIoAgwgAigCRAJ/IwBBEGsiACACKAIMNgIMIAAoAgwoAgQLa6wQLBoMAQsLIAIoAgwQFiACKQMgQgBTBEAgAigCWEEIaiACQRBqEEUgAigCTBAlIAJBADYCXAwBCyACIAIoAkw2AlwLIAIoAlwhACACQeAAaiQAIAMgADYCWCAARQRAIAMoAmAgAygCXEEIahBFIwBBEGsiACADKAJoNgIMIAAoAgwiACAAKAIwQQFqNgIwIAMoAlwQPCADQQA2AmwMAQsgAygCXCADKAJYKAIANgJAIAMoAlwgAygCWCkDCDcDMCADKAJcIAMoAlgpAxA3AzggAygCXCADKAJYKAIoNgIgIAMoAlgQFSADKAJcKAJQIQAgAygCXCkDMCEJIAMoAlxBCGohAiMAQSBrIgEkACABIAA2AhggASAJNwMQIAEgAjYCDAJAIAEpAxBQBEAgAUEBOgAfDAELIwBBIGsiACABKQMQNwMQIAAgACkDELpEAAAAAAAA6D+jOQMIAkAgACsDCEQAAOD////vQWQEQCAAQX82AgQMAQsgAAJ/IAArAwgiCkQAAAAAAADwQWMgCkQAAAAAAAAAAGZxBEAgCqsMAQtBAAs2AgQLAkAgACgCBEGAgICAeEsEQCAAQYCAgIB4NgIcDAELIAAgACgCBEEBazYCBCAAIAAoAgQgACgCBEEBdnI2AgQgACAAKAIEIAAoAgRBAnZyNgIEIAAgACgCBCAAKAIEQQR2cjYCBCAAIAAoAgQgACgCBEEIdnI2AgQgACAAKAIEIAAoAgRBEHZyNgIEIAAgACgCBEEBajYCBCAAIAAoAgQ2AhwLIAEgACgCHDYCCCABKAIIIAEoAhgoAgBNBEAgAUEBOgAfDAELIAEoAhggASgCCCABKAIMEFpBAXFFBEAgAUEAOgAfDAELIAFBAToAHwsgAS0AHxogAUEgaiQAIANCADcDEANAIAMpAxAgAygCXCkDMFQEQCADIAMoAlwoAkAgAykDEKdBBHRqKAIAKAIwQQBBACADKAJgEEY2AgwgAygCDEUEQCMAQRBrIgAgAygCaDYCDCAAKAIMIgAgACgCMEEBajYCMCADKAJcEDwgA0EANgJsDAMLIAMoAlwoAlAgAygCDCADKQMQQQggAygCXEEIahB0QQFxRQRAAkAgAygCXCgCCEEKRgRAIAMoAmRBBHFFDQELIAMoAmAgAygCXEEIahBFIwBBEGsiACADKAJoNgIMIAAoAgwiACAAKAIwQQFqNgIwIAMoAlwQPCADQQA2AmwMBAsLIAMgAykDEEIBfDcDEAwBCwsgAygCXCADKAJcKAIUNgIYIAMgAygCXDYCbAsgAygCbCEAIANB8ABqJAAgBCAANgI4CyAEKAI4RQRAIAQoAlgQLxogBEEANgJcDAELIAQgBCgCODYCXAsgBCgCXCEAIARB4ABqJAAgAAuOAQEBfyMAQRBrIgIkACACIAA2AgwgAiABNgIIIAJBADYCBCACKAIIBEAjAEEQayIAIAIoAgg2AgwgAiAAKAIMKAIANgIEIAIoAggQrAFBAUYEQCMAQRBrIgAgAigCCDYCDEG0mwEgACgCDCgCBDYCAAsLIAIoAgwEQCACKAIMIAIoAgQ2AgALIAJBEGokAAuVAQEBfyMAQRBrIgEkACABIAA2AggCQAJ/IwBBEGsiACABKAIINgIMIAAoAgwpAxhCgIAQg1ALBEAgASgCCCgCAARAIAEgASgCCCgCABCeAUEBcToADwwCCyABQQE6AA8MAQsgASABKAIIQQBCAEESECA+AgQgASABKAIEQQBHOgAPCyABLQAPQQFxIQAgAUEQaiQAIAALfwEBfyMAQSBrIgMkACADIAA2AhggAyABNwMQIANBADYCDCADIAI2AggCQCADKQMQQv///////////wBWBEAgAygCCEEEQT0QFCADQX82AhwMAQsgAyADKAIYIAMpAxAgAygCDCADKAIIEGo2AhwLIAMoAhwhACADQSBqJAAgAAt9ACACQQFGBEAgASAAKAIIIAAoAgRrrH0hAQsCQCAAKAIUIAAoAhxLBEAgAEEAQQAgACgCJBEBABogACgCFEUNAQsgAEEANgIcIABCADcDECAAIAEgAiAAKAIoEQ8AQgBTDQAgAEIANwIEIAAgACgCAEFvcTYCAEEADwtBfwvhAgECfyMAQSBrIgMkAAJ/AkACQEGnEiABLAAAEKIBRQRAQbSbAUEcNgIADAELQZgJEBgiAg0BC0EADAELIAJBAEGQARAzIAFBKxCiAUUEQCACQQhBBCABLQAAQfIARhs2AgALAkAgAS0AAEHhAEcEQCACKAIAIQEMAQsgAEEDQQAQBCIBQYAIcUUEQCADIAFBgAhyNgIQIABBBCADQRBqEAQaCyACIAIoAgBBgAFyIgE2AgALIAJB/wE6AEsgAkGACDYCMCACIAA2AjwgAiACQZgBajYCLAJAIAFBCHENACADIANBGGo2AgAgAEGTqAEgAxAODQAgAkEKOgBLCyACQRo2AiggAkEbNgIkIAJBHDYCICACQR02AgxB6J8BKAIARQRAIAJBfzYCTAsgAkGsoAEoAgA2AjhBrKABKAIAIgAEQCAAIAI2AjQLQaygASACNgIAIAILIQAgA0EgaiQAIAAL8AEBAn8CfwJAIAFB/wFxIgMEQCAAQQNxBEADQCAALQAAIgJFDQMgAiABQf8BcUYNAyAAQQFqIgBBA3ENAAsLAkAgACgCACICQX9zIAJBgYKECGtxQYCBgoR4cQ0AIANBgYKECGwhAwNAIAIgA3MiAkF/cyACQYGChAhrcUGAgYKEeHENASAAKAIEIQIgAEEEaiEAIAJBgYKECGsgAkF/c3FBgIGChHhxRQ0ACwsDQCAAIgItAAAiAwRAIAJBAWohACADIAFB/wFxRw0BCwsgAgwCCyAAEC4gAGoMAQsgAAsiAEEAIAAtAAAgAUH/AXFGGwsYACAAKAJMQX9MBEAgABCkAQ8LIAAQpAELYAIBfgJ/IAAoAighAkEBIQMgAEIAIAAtAABBgAFxBH9BAkEBIAAoAhQgACgCHEsbBUEBCyACEQ8AIgFCAFkEfiAAKAIUIAAoAhxrrCABIAAoAgggACgCBGusfXwFIAELC2sBAX8gAARAIAAoAkxBf0wEQCAAEG4PCyAAEG4PC0GwoAEoAgAEQEGwoAEoAgAQpQEhAQtBrKABKAIAIgAEQANAIAAoAkwaIAAoAhQgACgCHEsEQCAAEG4gAXIhAQsgACgCOCIADQALCyABCyIAIAAgARACIgBBgWBPBH9BtJsBQQAgAGs2AgBBfwUgAAsLUwEDfwJAIAAoAgAsAABBMGtBCk8NAANAIAAoAgAiAiwAACEDIAAgAkEBajYCACABIANqQTBrIQEgAiwAAUEwa0EKTw0BIAFBCmwhAQwACwALIAELuwIAAkAgAUEUSw0AAkACQAJAAkACQAJAAkACQAJAAkAgAUEJaw4KAAECAwQFBgcICQoLIAIgAigCACIBQQRqNgIAIAAgASgCADYCAA8LIAIgAigCACIBQQRqNgIAIAAgATQCADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATUCADcDAA8LIAIgAigCAEEHakF4cSIBQQhqNgIAIAAgASkDADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATIBADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATMBADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATAAADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATEAADcDAA8LIAIgAigCAEEHakF4cSIBQQhqNgIAIAAgASsDADkDAA8LIAAgAkEYEQQACwt/AgF/AX4gAL0iA0I0iKdB/w9xIgJB/w9HBHwgAkUEQCABIABEAAAAAAAAAABhBH9BAAUgAEQAAAAAAADwQ6IgARCpASEAIAEoAgBBQGoLNgIAIAAPCyABIAJB/gdrNgIAIANC/////////4eAf4NCgICAgICAgPA/hL8FIAALC5sCACAARQRAQQAPCwJ/AkAgAAR/IAFB/wBNDQECQEGQmQEoAgAoAgBFBEAgAUGAf3FBgL8DRg0DDAELIAFB/w9NBEAgACABQT9xQYABcjoAASAAIAFBBnZBwAFyOgAAQQIMBAsgAUGAsANPQQAgAUGAQHFBgMADRxtFBEAgACABQT9xQYABcjoAAiAAIAFBDHZB4AFyOgAAIAAgAUEGdkE/cUGAAXI6AAFBAwwECyABQYCABGtB//8/TQRAIAAgAUE/cUGAAXI6AAMgACABQRJ2QfABcjoAACAAIAFBBnZBP3FBgAFyOgACIAAgAUEMdkE/cUGAAXI6AAFBBAwECwtBtJsBQRk2AgBBfwVBAQsMAQsgACABOgAAQQELC+MBAQJ/IAJBAEchAwJAAkACQCAAQQNxRQ0AIAJFDQAgAUH/AXEhBANAIAAtAAAgBEYNAiACQQFrIgJBAEchAyAAQQFqIgBBA3FFDQEgAg0ACwsgA0UNAQsCQCAALQAAIAFB/wFxRg0AIAJBBEkNACABQf8BcUGBgoQIbCEDA0AgACgCACADcyIEQX9zIARBgYKECGtxQYCBgoR4cQ0BIABBBGohACACQQRrIgJBA0sNAAsLIAJFDQAgAUH/AXEhAQNAIAEgAC0AAEYEQCAADwsgAEEBaiEAIAJBAWsiAg0ACwtBAAtaAQF/IwBBEGsiASAANgIIAkACQCABKAIIKAIAQQBOBEAgASgCCCgCAEGAFCgCAEgNAQsgAUEANgIMDAELIAEgASgCCCgCAEECdEGQFGooAgA2AgwLIAEoAgwL+QIBAX8jAEEgayIEJAAgBCAANgIYIAQgATcDECAEIAI2AgwgBCADNgIIIAQgBCgCGCAEKAIYIAQpAxAgBCgCDCAEKAIIEK4BIgA2AgACQCAARQRAIARBADYCHAwBCyAEKAIAEEhBAEgEQCAEKAIYQQhqIAQoAgAQFyAEKAIAEBsgBEEANgIcDAELIAQoAhghAiMAQRBrIgAkACAAIAI2AgggAEEYEBgiAjYCBAJAIAJFBEAgACgCCEEIakEOQQAQFCAAQQA2AgwMAQsgACgCBCAAKAIINgIAIwBBEGsiAiAAKAIEQQRqNgIMIAIoAgxBADYCACACKAIMQQA2AgQgAigCDEEANgIIIAAoAgRBADoAECAAKAIEQQA2AhQgACAAKAIENgIMCyAAKAIMIQIgAEEQaiQAIAQgAjYCBCACRQRAIAQoAgAQGyAEQQA2AhwMAQsgBCgCBCAEKAIANgIUIAQgBCgCBDYCHAsgBCgCHCEAIARBIGokACAAC7cOAgN/AX4jAEHAAWsiBSQAIAUgADYCuAEgBSABNgK0ASAFIAI3A6gBIAUgAzYCpAEgBUIANwOYASAFQgA3A5ABIAUgBDYCjAECQCAFKAK4AUUEQCAFQQA2ArwBDAELAkAgBSgCtAEEQCAFKQOoASAFKAK0ASkDMFQNAQsgBSgCuAFBCGpBEkEAEBQgBUEANgK8AQwBCwJAIAUoAqQBQQhxDQAgBSgCtAEoAkAgBSkDqAGnQQR0aigCCEUEQCAFKAK0ASgCQCAFKQOoAadBBHRqLQAMQQFxRQ0BCyAFKAK4AUEIakEPQQAQFCAFQQA2ArwBDAELIAUoArQBIAUpA6gBIAUoAqQBQQhyIAVByABqEH5BAEgEQCAFKAK4AUEIakEUQQAQFCAFQQA2ArwBDAELIAUoAqQBQSBxBEAgBSAFKAKkAUEEcjYCpAELAkAgBSkDmAFQBEAgBSkDkAFQDQELIAUoAqQBQQRxRQ0AIAUoArgBQQhqQRJBABAUIAVBADYCvAEMAQsCQCAFKQOYAVAEQCAFKQOQAVANAQsgBSkDmAEgBSkDmAEgBSkDkAF8WARAIAUpA2AgBSkDmAEgBSkDkAF8Wg0BCyAFKAK4AUEIakESQQAQFCAFQQA2ArwBDAELIAUpA5ABUARAIAUgBSkDYCAFKQOYAX03A5ABCyAFIAUpA5ABIAUpA2BUOgBHIAUgBSgCpAFBIHEEf0EABSAFLwF6QQBHC0EBcToARSAFIAUoAqQBQQRxBH9BAAUgBS8BeEEARwtBAXE6AEQgBQJ/IAUoAqQBQQRxBEBBACAFLwF4DQEaCyAFLQBHQX9zC0EBcToARiAFLQBFQQFxBEAgBSgCjAFFBEAgBSAFKAK4ASgCHDYCjAELIAUoAowBRQRAIAUoArgBQQhqQRpBABAUIAVBADYCvAEMAgsLIAUpA2hQBEAgBSAFKAK4AUEAQgBBABB9NgK8AQwBCwJAAkAgBS0AR0EBcUUNACAFLQBFQQFxDQAgBS0AREEBcQ0AIAUgBSkDkAE3AyAgBSAFKQOQATcDKCAFQQA7ATggBSAFKAJwNgIwIAVC3AA3AwggBSAFKAK0ASgCACAFKQOYASAFKQOQASAFQQhqQQAgBSgCtAEgBSkDqAEgBSgCuAFBCGoQXyIANgKIAQwBCyAFIAUoArQBIAUpA6gBIAUoAqQBIAUoArgBQQhqED8iADYCBCAARQRAIAVBADYCvAEMAgsgBSAFKAK0ASgCAEIAIAUpA2ggBUHIAGogBSgCBC8BDEEBdkEDcSAFKAK0ASAFKQOoASAFKAK4AUEIahBfIgA2AogBCyAARQRAIAVBADYCvAEMAQsCfyAFKAKIASEAIAUoArQBIQMjAEEQayIBJAAgASAANgIMIAEgAzYCCCABKAIMIAEoAgg2AiwgASgCCCEDIAEoAgwhBCMAQSBrIgAkACAAIAM2AhggACAENgIUAkAgACgCGCgCSCAAKAIYKAJEQQFqTQRAIAAgACgCGCgCSEEKajYCDCAAIAAoAhgoAkwgACgCDEECdBBONgIQIAAoAhBFBEAgACgCGEEIakEOQQAQFCAAQX82AhwMAgsgACgCGCAAKAIMNgJIIAAoAhggACgCEDYCTAsgACgCFCEEIAAoAhgoAkwhBiAAKAIYIgcoAkQhAyAHIANBAWo2AkQgA0ECdCAGaiAENgIAIABBADYCHAsgACgCHCEDIABBIGokACABQRBqJAAgA0EASAsEQCAFKAKIARAbIAVBADYCvAEMAQsgBS0ARUEBcQRAIAUgBS8BekEAEHsiADYCACAARQRAIAUoArgBQQhqQRhBABAUIAVBADYCvAEMAgsgBSAFKAK4ASAFKAKIASAFLwF6QQAgBSgCjAEgBSgCABEFADYChAEgBSgCiAEQGyAFKAKEAUUEQCAFQQA2ArwBDAILIAUgBSgChAE2AogBCyAFLQBEQQFxBEAgBSAFKAK4ASAFKAKIASAFLwF4ELABNgKEASAFKAKIARAbIAUoAoQBRQRAIAVBADYCvAEMAgsgBSAFKAKEATYCiAELIAUtAEZBAXEEQCAFIAUoArgBIAUoAogBQQEQrwE2AoQBIAUoAogBEBsgBSgChAFFBEAgBUEANgK8AQwCCyAFIAUoAoQBNgKIAQsCQCAFLQBHQQFxRQ0AIAUtAEVBAXFFBEAgBS0AREEBcUUNAQsgBSgCuAEhASAFKAKIASEDIAUpA5gBIQIgBSkDkAEhCCMAQSBrIgAkACAAIAE2AhwgACADNgIYIAAgAjcDECAAIAg3AwggACgCGCAAKQMQIAApAwhBAEEAQQBCACAAKAIcQQhqEF8hASAAQSBqJAAgBSABNgKEASAFKAKIARAbIAUoAoQBRQRAIAVBADYCvAEMAgsgBSAFKAKEATYCiAELIAUgBSgCiAE2ArwBCyAFKAK8ASEAIAVBwAFqJAAgAAuEAgEBfyMAQSBrIgMkACADIAA2AhggAyABNgIUIAMgAjYCEAJAIAMoAhRFBEAgAygCGEEIakESQQAQFCADQQA2AhwMAQsgA0E4EBgiADYCDCAARQRAIAMoAhhBCGpBDkEAEBQgA0EANgIcDAELIwBBEGsiACADKAIMQQhqNgIMIAAoAgxBADYCACAAKAIMQQA2AgQgACgCDEEANgIIIAMoAgwgAygCEDYCACADKAIMQQA2AgQgAygCDEIANwMoQQBBAEEAEBohACADKAIMIAA2AjAgAygCDEIANwMYIAMgAygCGCADKAIUQRQgAygCDBBhNgIcCyADKAIcIQAgA0EgaiQAIAALQwEBfyMAQRBrIgMkACADIAA2AgwgAyABNgIIIAMgAjYCBCADKAIMIAMoAgggAygCBEEAQQAQsgEhACADQRBqJAAgAAtJAQF/IwBBEGsiASQAIAEgADYCDCABKAIMBEAgASgCDCgCrEAgASgCDCgCqEAoAgQRAgAgASgCDBA4IAEoAgwQFQsgAUEQaiQAC5QFAQF/IwBBMGsiBSQAIAUgADYCKCAFIAE2AiQgBSACNgIgIAUgAzoAHyAFIAQ2AhggBUEANgIMAkAgBSgCJEUEQCAFKAIoQQhqQRJBABAUIAVBADYCLAwBCyAFIAUoAiAgBS0AH0EBcRCzASIANgIMIABFBEAgBSgCKEEIakEQQQAQFCAFQQA2AiwMAQsgBSgCICEBIAUtAB9BAXEhAiAFKAIYIQMgBSgCDCEEIwBBIGsiACQAIAAgATYCGCAAIAI6ABcgACADNgIQIAAgBDYCDCAAQbDAABAYIgE2AggCQCABRQRAIABBADYCHAwBCyMAQRBrIgEgACgCCDYCDCABKAIMQQA2AgAgASgCDEEANgIEIAEoAgxBADYCCCAAKAIIAn8gAC0AF0EBcQRAIAAoAhhBf0cEfyAAKAIYQX5GBUEBC0EBcQwBC0EAC0EARzoADiAAKAIIIAAoAgw2AqhAIAAoAgggACgCGDYCFCAAKAIIIAAtABdBAXE6ABAgACgCCEEAOgAMIAAoAghBADoADSAAKAIIQQA6AA8gACgCCCgCqEAoAgAhAQJ/AkAgACgCGEF/RwRAIAAoAhhBfkcNAQtBCAwBCyAAKAIYC0H//wNxIAAoAhAgACgCCCABEQEAIQEgACgCCCABNgKsQCABRQRAIAAoAggQOCAAKAIIEBUgAEEANgIcDAELIAAgACgCCDYCHAsgACgCHCEBIABBIGokACAFIAE2AhQgAUUEQCAFKAIoQQhqQQ5BABAUIAVBADYCLAwBCyAFIAUoAiggBSgCJEETIAUoAhQQYSIANgIQIABFBEAgBSgCFBCxASAFQQA2AiwMAQsgBSAFKAIQNgIsCyAFKAIsIQAgBUEwaiQAIAALzAEBAX8jAEEgayICIAA2AhggAiABOgAXIAICfwJAIAIoAhhBf0cEQCACKAIYQX5HDQELQQgMAQsgAigCGAs7AQ4gAkEANgIQAkADQCACKAIQQdSXASgCAEkEQCACKAIQQQxsQdiXAWovAQAgAi8BDkYEQCACLQAXQQFxBEAgAiACKAIQQQxsQdiXAWooAgQ2AhwMBAsgAiACKAIQQQxsQdiXAWooAgg2AhwMAwUgAiACKAIQQQFqNgIQDAILAAsLIAJBADYCHAsgAigCHAvkAQEBfyMAQSBrIgMkACADIAA6ABsgAyABNgIUIAMgAjYCECADQcgAEBgiADYCDAJAIABFBEAgAygCEEEBQbSbASgCABAUIANBADYCHAwBCyADKAIMIAMoAhA2AgAgAygCDCADLQAbQQFxOgAEIAMoAgwgAygCFDYCCAJAIAMoAgwoAghBAU4EQCADKAIMKAIIQQlMDQELIAMoAgxBCTYCCAsgAygCDEEAOgAMIAMoAgxBADYCMCADKAIMQQA2AjQgAygCDEEANgI4IAMgAygCDDYCHAsgAygCHCEAIANBIGokACAACzgBAX8jAEEQayIBIAA2AgwgASgCDEEANgIAIAEoAgxBADYCBCABKAIMQQA2AgggASgCDEEAOgAMC+MIAQF/IwBBQGoiAiAANgI4IAIgATYCNCACIAIoAjgoAnw2AjAgAiACKAI4KAI4IAIoAjgoAmxqNgIsIAIgAigCOCgCeDYCICACIAIoAjgoApABNgIcIAICfyACKAI4KAJsIAIoAjgoAixBhgJrSwRAIAIoAjgoAmwgAigCOCgCLEGGAmtrDAELQQALNgIYIAIgAigCOCgCQDYCFCACIAIoAjgoAjQ2AhAgAiACKAI4KAI4IAIoAjgoAmxqQYICajYCDCACIAIoAiwgAigCIEEBa2otAAA6AAsgAiACKAIsIAIoAiBqLQAAOgAKIAIoAjgoAnggAigCOCgCjAFPBEAgAiACKAIwQQJ2NgIwCyACKAIcIAIoAjgoAnRLBEAgAiACKAI4KAJ0NgIcCwNAAkAgAiACKAI4KAI4IAIoAjRqNgIoAkAgAigCKCACKAIgai0AACACLQAKRw0AIAIoAiggAigCIEEBa2otAAAgAi0AC0cNACACKAIoLQAAIAIoAiwtAABHDQAgAiACKAIoIgBBAWo2AiggAC0AASACKAIsLQABRwRADAELIAIgAigCLEECajYCLCACIAIoAihBAWo2AigDQCACIAIoAiwiAEEBajYCLCAALQABIQEgAiACKAIoIgBBAWo2AigCf0EAIAAtAAEgAUcNABogAiACKAIsIgBBAWo2AiwgAC0AASEBIAIgAigCKCIAQQFqNgIoQQAgAC0AASABRw0AGiACIAIoAiwiAEEBajYCLCAALQABIQEgAiACKAIoIgBBAWo2AihBACAALQABIAFHDQAaIAIgAigCLCIAQQFqNgIsIAAtAAEhASACIAIoAigiAEEBajYCKEEAIAAtAAEgAUcNABogAiACKAIsIgBBAWo2AiwgAC0AASEBIAIgAigCKCIAQQFqNgIoQQAgAC0AASABRw0AGiACIAIoAiwiAEEBajYCLCAALQABIQEgAiACKAIoIgBBAWo2AihBACAALQABIAFHDQAaIAIgAigCLCIAQQFqNgIsIAAtAAEhASACIAIoAigiAEEBajYCKEEAIAAtAAEgAUcNABogAiACKAIsIgBBAWo2AiwgAC0AASEBIAIgAigCKCIAQQFqNgIoQQAgAC0AASABRw0AGiACKAIsIAIoAgxJC0EBcQ0ACyACQYICIAIoAgwgAigCLGtrNgIkIAIgAigCDEGCAms2AiwgAigCJCACKAIgSgRAIAIoAjggAigCNDYCcCACIAIoAiQ2AiAgAigCJCACKAIcTg0CIAIgAigCLCACKAIgQQFrai0AADoACyACIAIoAiwgAigCIGotAAA6AAoLCyACIAIoAhQgAigCNCACKAIQcUEBdGovAQAiATYCNEEAIQAgASACKAIYSwR/IAIgAigCMEEBayIANgIwIABBAEcFQQALQQFxDQELCwJAIAIoAiAgAigCOCgCdE0EQCACIAIoAiA2AjwMAQsgAiACKAI4KAJ0NgI8CyACKAI8C5IQAQF/IwBBMGsiAiQAIAIgADYCKCACIAE2AiQgAgJ/IAIoAigoAiwgAigCKCgCDEEFa0kEQCACKAIoKAIsDAELIAIoAigoAgxBBWsLNgIgIAJBADYCECACIAIoAigoAgAoAgQ2AgwDQAJAIAJB//8DNgIcIAIgAigCKCgCvC1BKmpBA3U2AhQgAigCKCgCACgCECACKAIUSQ0AIAIgAigCKCgCACgCECACKAIUazYCFCACIAIoAigoAmwgAigCKCgCXGs2AhggAigCHCACKAIYIAIoAigoAgAoAgRqSwRAIAIgAigCGCACKAIoKAIAKAIEajYCHAsgAigCHCACKAIUSwRAIAIgAigCFDYCHAsCQCACKAIcIAIoAiBPDQACQCACKAIcRQRAIAIoAiRBBEcNAQsgAigCJEUNACACKAIcIAIoAhggAigCKCgCACgCBGpGDQELDAELQQAhACACIAIoAiRBBEYEfyACKAIcIAIoAhggAigCKCgCACgCBGpGBUEAC0EBcTYCECACKAIoQQBBACACKAIQEF0gAigCKCgCCCACKAIoKAIUQQRraiACKAIcOgAAIAIoAigoAgggAigCKCgCFEEDa2ogAigCHEEIdjoAACACKAIoKAIIIAIoAigoAhRBAmtqIAIoAhxBf3M6AAAgAigCKCgCCCACKAIoKAIUQQFraiACKAIcQX9zQQh2OgAAIAIoAigoAgAQHCACKAIYBEAgAigCGCACKAIcSwRAIAIgAigCHDYCGAsgAigCKCgCACgCDCACKAIoKAI4IAIoAigoAlxqIAIoAhgQGRogAigCKCgCACIAIAIoAhggACgCDGo2AgwgAigCKCgCACIAIAAoAhAgAigCGGs2AhAgAigCKCgCACIAIAIoAhggACgCFGo2AhQgAigCKCIAIAIoAhggACgCXGo2AlwgAiACKAIcIAIoAhhrNgIcCyACKAIcBEAgAigCKCgCACACKAIoKAIAKAIMIAIoAhwQdhogAigCKCgCACIAIAIoAhwgACgCDGo2AgwgAigCKCgCACIAIAAoAhAgAigCHGs2AhAgAigCKCgCACIAIAIoAhwgACgCFGo2AhQLIAIoAhBFDQELCyACIAIoAgwgAigCKCgCACgCBGs2AgwgAigCDARAAkAgAigCDCACKAIoKAIsTwRAIAIoAihBAjYCsC0gAigCKCgCOCACKAIoKAIAKAIAIAIoAigoAixrIAIoAigoAiwQGRogAigCKCACKAIoKAIsNgJsDAELIAIoAgwgAigCKCgCPCACKAIoKAJsa08EQCACKAIoIgAgACgCbCACKAIoKAIsazYCbCACKAIoKAI4IAIoAigoAjggAigCKCgCLGogAigCKCgCbBAZGiACKAIoKAKwLUECSQRAIAIoAigiACAAKAKwLUEBajYCsC0LCyACKAIoKAI4IAIoAigoAmxqIAIoAigoAgAoAgAgAigCDGsgAigCDBAZGiACKAIoIgAgAigCDCAAKAJsajYCbAsgAigCKCACKAIoKAJsNgJcIAIoAigiAQJ/IAIoAgwgAigCKCgCLCACKAIoKAK0LWtLBEAgAigCKCgCLCACKAIoKAK0LWsMAQsgAigCDAsgASgCtC1qNgK0LQsgAigCKCgCwC0gAigCKCgCbEkEQCACKAIoIAIoAigoAmw2AsAtCwJAIAIoAhAEQCACQQM2AiwMAQsCQCACKAIkRQ0AIAIoAiRBBEYNACACKAIoKAIAKAIEDQAgAigCKCgCbCACKAIoKAJcRw0AIAJBATYCLAwBCyACIAIoAigoAjwgAigCKCgCbGtBAWs2AhQCQCACKAIoKAIAKAIEIAIoAhRNDQAgAigCKCgCXCACKAIoKAIsSA0AIAIoAigiACAAKAJcIAIoAigoAixrNgJcIAIoAigiACAAKAJsIAIoAigoAixrNgJsIAIoAigoAjggAigCKCgCOCACKAIoKAIsaiACKAIoKAJsEBkaIAIoAigoArAtQQJJBEAgAigCKCIAIAAoArAtQQFqNgKwLQsgAiACKAIoKAIsIAIoAhRqNgIUCyACKAIUIAIoAigoAgAoAgRLBEAgAiACKAIoKAIAKAIENgIUCyACKAIUBEAgAigCKCgCACACKAIoKAI4IAIoAigoAmxqIAIoAhQQdhogAigCKCIAIAIoAhQgACgCbGo2AmwLIAIoAigoAsAtIAIoAigoAmxJBEAgAigCKCACKAIoKAJsNgLALQsgAiACKAIoKAK8LUEqakEDdTYCFCACIAIoAigoAgwgAigCFGtB//8DSwR/Qf//AwUgAigCKCgCDCACKAIUaws2AhQgAgJ/IAIoAhQgAigCKCgCLEsEQCACKAIoKAIsDAELIAIoAhQLNgIgIAIgAigCKCgCbCACKAIoKAJcazYCGAJAIAIoAhggAigCIEkEQCACKAIYRQRAIAIoAiRBBEcNAgsgAigCJEUNASACKAIoKAIAKAIEDQEgAigCGCACKAIUSw0BCyACAn8gAigCGCACKAIUSwRAIAIoAhQMAQsgAigCGAs2AhwgAgJ/QQAgAigCJEEERw0AGkEAIAIoAigoAgAoAgQNABogAigCHCACKAIYRgtBAXE2AhAgAigCKCACKAIoKAI4IAIoAigoAlxqIAIoAhwgAigCEBBdIAIoAigiACACKAIcIAAoAlxqNgJcIAIoAigoAgAQHAsgAkECQQAgAigCEBs2AiwLIAIoAiwhACACQTBqJAAgAAuyAgEBfyMAQRBrIgEkACABIAA2AggCQCABKAIIEHgEQCABQX42AgwMAQsgASABKAIIKAIcKAIENgIEIAEoAggoAhwoAggEQCABKAIIKAIoIAEoAggoAhwoAgggASgCCCgCJBEEAAsgASgCCCgCHCgCRARAIAEoAggoAiggASgCCCgCHCgCRCABKAIIKAIkEQQACyABKAIIKAIc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DQAgAiEAIANBAWsiAw0ACwsgBCgCFBogASACNgKgAQwCCyMAQRBrIgAgASgCqAEoAgQ2AgwgAUEAIAAoAgxrQQJ0QajZAGooAgA2AqABDAELIAFBADYCoAELCwJAIAEoAqABRQRAIAEgASgCpAE2AqwBDAELIAEgASgCoAEQLgJ/IAEoAqQBBEAgASgCpAEQLkECagwBC0EAC2pBAWoQGCIANgIcIABFBEAgAUG4EygCADYCrAEMAQsgASgCHCEAAn8gASgCpAEEQCABKAKkAQwBC0H6EgshA0HfEkH6EiABKAKkARshAiABIAEoAqABNgIIIAEgAjYCBCABIAM2AgAgAEG+CiABEG8gASgCqAEgASgCHDYCCCABIAEoAhw2AqwBCyABKAKsASEAIAFBsAFqJAAgAAsIAEEBQTgQfwszAQF/IAAoAhQiAyABIAIgACgCECADayIBIAEgAksbIgEQGRogACAAKAIUIAFqNgIUIAILjwUCBn4BfyABIAEoAgBBD2pBcHEiAUEQajYCACAAAnwgASkDACEDIAEpAwghBiMAQSBrIggkAAJAIAZC////////////AIMiBEKAgICAgIDAgDx9IARCgICAgICAwP/DAH1UBEAgBkIEhiADQjyIhCEEIANC//////////8PgyIDQoGAgICAgICACFoEQCAEQoGAgICAgICAwAB8IQIMAgsgBEKAgICAgICAgEB9IQIgA0KAgICAgICAgAiFQgBSDQEgAiAEQgGDfCECDAELIANQIARCgICAgICAwP//AFQgBEKAgICAgIDA//8AURtFBEAgBkIEhiADQjyIhEL/////////A4NCgICAgICAgPz/AIQhAgwBC0KAgICAgICA+P8AIQIgBEL///////+//8MAVg0AQgAhAiAEQjCIpyIAQZH3AEkNACADIQIgBkL///////8/g0KAgICAgIDAAIQiBSEHAkAgAEGB9wBrIgFBwABxBEAgAiABQUBqrYYhB0IAIQIMAQsgAUUNACAHIAGtIgSGIAJBwAAgAWutiIQhByACIASGIQILIAggAjcDECAIIAc3AxgCQEGB+AAgAGsiAEHAAHEEQCAFIABBQGqtiCEDQgAhBQwBCyAARQ0AIAVBwAAgAGuthiADIACtIgKIhCEDIAUgAoghBQsgCCADNwMAIAggBTcDCCAIKQMI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ADYCtC0gASgCFEEERgRAIAEoAhgCfyABKAIYKAJcQQBOBEAgASgCGCgCOCABKAIYKAJcagwBC0EACyABKAIYKAJsIAEoAhgoAlxrQQEQKCABKAIYIAEoAhgoAmw2AlwgASgCGCgCABAcIAEoAhgoAgAoAhBFBEAgAUECNgIcDAILIAFBAzYCHAwBCyABKAIYKAKgLQRAIAEoAhgCfyABKAIYKAJcQQBOBEAgASgCGCgCOCABKAIYKAJcagwBC0EACyABKAIYKAJsIAEoAhgoAlxrQQAQKCABKAIYIAEoAhgoAmw2AlwgASgCGCgCABAcIAEoAhgoAgAoAhBFBEAgAUEANgIcDAILCyABQQE2AhwLIAEoAhwhAiABQSBqJAAgAgwBCwJ/IAAoAiwoAogBQQNGBEAgACgCLCECIAAoAjQhAyMAQTBrIgEkACABIAI2AiggASADNgIkAkADQAJAIAEoAigoAnRBggJNBEAgASgCKBBcAkAgASgCKCgCdEGCAksNACABKAIkDQAgAUEANgIsDAQLIAEoAigoAnRFDQELIAEoAihBADYCYAJAIAEoAigoAnRBA0kNACABKAIoKAJsRQ0AIAEgASgCKCgCOCABKAIoKAJsakEBazYCGCABIAEoAhgtAAA2AhwgASgCHCECIAEgASgCGCIDQQFqNgIYAkAgAy0AASACRw0AIAEoAhwhAiABIAEoAhgiA0EBajYCGCADLQABIAJHDQAgASgCHCECIAEgASgCGCIDQQFqNgIYIAMtAAEgAkcNACABIAEoAigoAjggASgCKCgCbGpBggJqNgIUA0AgASgCHCECIAEgASgCGCIDQQFqNgIYAn9BACADLQABIAJHDQAaIAEoAhwhAiABIAEoAhgiA0EBajYCGEEAIAMtAAEgAkcNABogASgCHCECIAEgASgCGCIDQQFqNgIYQQAgAy0AASACRw0AGiABKAIcIQIgASABKAIYIgNBAWo2AhhBACADLQABIAJHDQAaIAEoAhwhAiABIAEoAhgiA0EBajYCGEEAIAMtAAEgAkcNABogASgCHCECIAEgASgCGCIDQQFqNgIYQQAgAy0AASACRw0AGiABKAIcIQIgASABKAIYIgNBAWo2AhhBACADLQABIAJHDQAaIAEoAhwhAiABIAEoAhgiA0EBajYCGEEAIAMtAAEgAkcNABog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AS8BEiECIAEgASgCSCIDQQFqNgJIIAMgAjoAAAwCCyABKAIMQRBxBEAgASABLwESNgIIIAEgASgCDEEPcTYCDCABKAIMBEAgASgCKCABKAIMSQRAIAEgASgCUCICQQFqNgJQIAEgASgCLCACLQAAIAEoAih0ajYCLCABIAEoAihBCGo2AigLIAEgASgCCCABKAIsQQEgASgCDHRBAWtxajYCCCABIAEoAiwgASgCDHY2AiwgASABKAIoIAEoAgxrNgIoCyABKAIoQQ9JBEAgASABKAJQIgJBAWo2AlAgASABKAIsIAItAAAgASgCKHRqNgIsIAEgASgCKEEIajYCKCABIAEoAlAiAkEBajYCUCABIAEoAiwgAi0AACABKAIodGo2AiwgASABKAIoQQhqNgIoCyABIAEoAiAgASgCLCABKAIYcUECdGooAQA2ARACQANAIAEgAS0AETYCDCABIAEoAiwgASgCDHY2AiwgASABKAIoIAEoAgxrNgIoIAEgAS0AEDYCDCABKAIMQRBxBEAgASABLwESNgIEIAEgASgCDEEPcTYCDCABKAIoIAEoAgxJBEAgASABKAJQIgJBAWo2AlAgASABKAIsIAItAAAgASgCKHRqNgIsIAEgASgCKEEIajYCKCABKAIoIAEoAgxJBEAgASABKAJQIgJBAWo2AlAgASABKAIsIAItAAAgASgCKHRqNgIsIAEgASgCKEEIajYCKAsLIAEgASgCBCABKAIsQQEgASgCDHRBAWtxajYCBCABIAEoAiwgASgCDHY2AiwgASABKAIoIAEoAgxrNgIoIAEgASgCSCABKAJEazYCDAJAIAEoAgQgASgCDEsEQCABIAEoAgQgASgCDGs2AgwgASgCDCABKAI4SwRAIAEoAlQoAsQ3BEAgASgCXEHdDDYCGCABKAJUQdH+ADYCBAwKCwsgASABKAIwNgIAAkAgASgCNEUEQCABIAEoAgAgASgCPCABKAIMa2o2AgAgASgCDCABKAIISQRAIAEgASgCCCABKAIMazYCCANAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgiA0EBajYCSCADIAI6AAAgASABKAIMQQFrIgI2AgwgAg0ACyABIAEoAkggASgCBGs2AgALDAELAkAgASgCNCABKAIMSQRAIAEgASgCACABKAI8IAEoAjRqIAEoAgxrajYCACABIAEoAgwgASgCNGs2AgwgASgCDCABKAIISQRAIAEgASgCCCABKAIMazYCCANAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgiA0EBajYCSCADIAI6AAAgASABKAIMQQFrIgI2AgwgAg0ACyABIAEoAjA2AgAgASgCNCABKAIISQRAIAEgASgCNDYCDCABIAEoAgggASgCDGs2AggDQCABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCDEEBayICNgIMIAINAAsgASABKAJIIAEoAgRrNgIACwsMAQsgASABKAIAIAEoAjQgASgCDGtqNgIAIAEoAgwgASgCCEkEQCABIAEoAgggASgCDGs2AggDQCABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCDEEBayICNgIMIAINAAsgASABKAJIIAEoAgRrNgIACwsLA0AgASgCCEECSwRAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgiA0EBajYCSCADIAI6AAAgASABKAIAIgJBAWo2AgAgAi0AACECIAEgASgCSCIDQQFqNgJIIAMgAjoAACABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCCEEDazYCCAwBCwsMAQsgASABKAJIIAEoAgRrNgIAA0AgASABKAIAIgJBAWo2AgAgAi0AACECIAEgASgCSCIDQQFqNgJIIAMgAjoAACABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgiA0EBajYCSCADIAI6AAAgASABKAIIQQNrNgIIIAEoAghBAksNAAsLIAEoAggEQCABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEoAghBAUsEQCABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAACwsMAgsgASgCDEHAAHFFBEAgASABKAIgIAEvARIgASgCLEEBIAEoAgx0QQFrcWpBAnRqKAEANgEQDAELCyAB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AG5hbgAvZGV2L3VyYW5kb20AaW52YWxpZCBjb2RlIC0tIG1pc3NpbmcgZW5kLW9mLWJsb2NrAGluY29ycmVjdCBoZWFkZXIgY2hlY2sAaW5jb3JyZWN0IGxlbmd0aCBjaGVjawBpbmNvcnJlY3QgZGF0YSBjaGVjawBpbnZhbGlkIGRpc3RhbmNlIHRvbyBmYXIgYmFjawBoZWFkZXIgY3JjIG1pc21hdGNoAGluZgBpbnZhbGlkIHdpbmRvdyBzaXplAFJlYWQtb25seSBhcmNoaXZlAE5vdCBhIHppcCBhcmNoaXZlAFJlc291cmNlIHN0aWxsIGluIHVzZQBNYWxsb2MgZmFpbHVyZQBpbnZhbGlkIGJsb2NrIHR5cGUARmFpbHVyZSB0byBjcmVhdGUgdGVtcG9yYXJ5IGZpbGUAQ2FuJ3Qgb3BlbiBmaWxlAE5vIHN1Y2ggZmlsZQBQcmVtYXR1cmUgZW5kIG9mIGZpbGUAQ2FuJ3QgcmVtb3ZlIGZpbGUAaW52YWxpZCBsaXRlcmFsL2xlbmd0aCBjb2RlAGludmFsaWQgZGlzdGFuY2UgY29kZQB1bmtub3duIGNvbXByZXNzaW9uIG1ldGhvZABzdHJlYW0gZW5kAENvbXByZXNzZWQgZGF0YSBpbnZhbGlkAE11bHRpLWRpc2sgemlwIGFyY2hpdmVzIG5vdCBzdXBwb3J0ZWQAT3BlcmF0aW9uIG5vdCBzdXBwb3J0ZWQARW5jcnlwdGlvbiBtZXRob2Qgbm90IHN1cHBvcnRlZABDb21wcmVzc2lvbiBtZXRob2Qgbm90IHN1cHBvcnRlZABFbnRyeSBoYXMgYmVlbiBkZWxldGVkAENvbnRhaW5pbmcgemlwIGFyY2hpdmUgd2FzIGNsb3NlZABDbG9zaW5nIHppcCBhcmNoaXZlIGZhaWxlZABSZW5hbWluZyB0ZW1wb3JhcnkgZmlsZSBmYWlsZWQARW50cnkgaGFzIGJlZW4gY2hhbmdlZABObyBwYXNzd29yZCBwcm92aWRlZABXcm9uZyBwYXNzd29yZCBwcm92aWRlZABVbmtub3duIGVycm9yICVkAHJiAHIrYgByd2EAJXMuWFhYWFhYAE5BTgBJTkYAQUUAMS4yLjExAC9wcm9jL3NlbGYvZmQvAC4AKG51bGwpADogAFBLBgcA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0gAIADIACACyAAgAcgAIAPIACAAKAAgAigAIAEoACADKAAgAKgAIAKoACABqAAgA6gAIABoACACaAAgAWgAIANoACAA6AAgAugAIAHoACAD6AAgABgAIAIYACABGAAgAxgAIACYACACmAAgAZgAIAOYACAAWAAgAlgAIAFYACADWAAgANgAIALYACAB2AAgA9gAIAA4ACACOAAgATgAIAM4ACAAuAAgArgAIAG4ACADuAAgAHgAIAJ4ACABeAAgA3gAIAD4ACAC+AAgAfgAIAP4ACAABAAgAgQAIAEEACADBAAgAIQAIAKEACABhAAgA4QAIABEACACRAAgAUQAIANEACAAxAAgAsQAIAHEACADxAAgACQAIAIkACABJAAgAyQAIACkACACpAAgAaQAIAOkACAAZAAgAmQAIAFkACADZAAgAOQAIALkACAB5AAgA+QAIAAUACACFAAgARQAIAMUACAAlAAgApQAIAGUACADlAAgAFQAIAJUACABVAAgA1QAIADUACAC1AAgAdQAIAPUACAANAAgAjQAIAE0ACADNAAgALQAIAK0ACABtAAgA7QAIAB0ACACdAAgAXQAIAN0ACAA9AAgAvQAIAH0ACAD9AAgAEwAJABMBCQCTAAkAkwEJAFMACQBTAQkA0wAJANMBCQAzAAkAMwEJALMACQCzAQkAcwAJAHMBCQDzAAkA8wEJAAsACQALAQkAiwAJAIsBCQBLAAkASwEJAMsACQDLAQkAKwAJACsBCQCrAAkAqwEJAGsACQBrAQkA6wAJAOsBCQAbAAkAGwEJAJsACQCbAQkAWwAJAFsBCQDbAAkA2wEJADsACQA7AQkAuwAJALsBCQB7AAkAewEJAPsACQD7AQkABwAJAAcBCQCHAAkAhwEJAEcACQBHAQkAxwAJAMcBCQAnAAkAJwEJAKcACQCnAQkAZwAJAGcBCQDnAAkA5wEJABcACQAXAQkAlwAJAJcBCQBXAAkAVwEJANcACQDXAQkANwAJADcBCQC3AAkAtwEJAHcACQB3AQkA9wAJAPcBCQAPAAkADwEJAI8ACQCPAQkATwAJAE8BCQDPAAkAzwEJAC8ACQAvAQkArwAJAK8BCQBvAAkAbwEJAO8ACQDvAQkAHwAJAB8BCQCfAAkAnwEJAF8ACQBfAQkA3wAJAN8BCQA/AAkAPwEJAL8ACQC/AQkAfwAJAH8BCQD/AAkA/wEJAAAABwBAAAcAIAAHAGAABwAQAAcAUAAHADAABwBwAAcACAAHAEgABwAoAAcAaAAHABgABwBYAAcAOAAHAHgABwAEAAcARAAHACQABwBkAAcAFAAHAFQABwA0AAcAdAAHAAMACACDAAgAQwAIAMMACAAjAAgAowAIAGMACADjAAgAAAAFABAABQAIAAUAGAAFAAQABQAUAAUADAAFABwABQACAAUAEgAFAAoABQAaAAUABgAFABYABQAOAAUAHgAFAAEABQARAAUACQAFABkABQAFAAUAFQAFAA0ABQAdAAUAAwAFABMABQALAAUAGwAFAAcABQAXAAUAQbDqAAtNAQAAAAEAAAABAAAAAQAAAAIAAAACAAAAAgAAAAIAAAADAAAAAwAAAAMAAAADAAAABAAAAAQAAAAEAAAABAAAAAUAAAAFAAAABQAAAAUAQaDrAAtlAQAAAAEAAAACAAAAAgAAAAMAAAADAAAABAAAAAQAAAAFAAAABQAAAAYAAAAGAAAABwAAAAcAAAAIAAAACAAAAAkAAAAJAAAACgAAAAoAAAALAAAACwAAAAwAAAAMAAAADQAAAA0AQdDsAAsjAgAAAAMAAAAHAAAAAAAAABAREgAIBwkGCgULBAwDDQIOAQ8AQYTtAAtpAQAAAAIAAAADAAAABAAAAAUAAAAGAAAABwAAAAgAAAAKAAAADAAAAA4AAAAQAAAAFAAAABgAAAAcAAAAIAAAACgAAAAwAAAAOAAAAEAAAABQAAAAYAAAAHAAAACAAAAAoAAAAMAAAADgAEGE7gALegEAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAAABAACAAQAAAAIAAAADAAAABAAAAAYAAAAIAAAADAAAABAAAAAYAAAAIAAAADAAAABAAAAAYAAAMS4yLjExAEGI7wALbQcAAAAEAAQACAAEAAgAAAAEAAUAEAAIAAgAAAAEAAYAIAAgAAgAAAAEAAQAEAAQAAkAAAAIABAAIAAgAAkAAAAIABAAgACAAAkAAAAIACAAgAAAAQkAAAAgAIAAAgEABAkAAAAgAAIBAgEAEAkAQYDwAAulAgMABAAFAAYABwAIAAkACgALAA0ADwARABMAFwAbAB8AIwArADMAOwBDAFMAYwBzAIMAowDDAOMAAgEAAAAAAAAQABAAEAAQABAAEAAQABAAEQARABEAEQASABIAEgASABMAEwATABMAFAAUABQAFAAVABUAFQAVABAATQDKAAAAAQACAAMABAAFAAcACQANABEAGQAhADEAQQBhAIEAwQABAYEBAQIBAwEEAQYBCAEMARABGAEgATABQAFgAAAAABAAEAAQABAAEQARABIAEgATABMAFAAUABUAFQAWABYAFwAXABgAGAAZABkAGgAaABsAGwAcABwAHQAdAEAAQAAQABEAEgAAAAgABwAJAAYACgAFAAsABAAMAAMADQACAA4AAQAPAEGw8gALwRFgBwAAAAhQAAAIEAAUCHMAEgcfAAAIcAAACDAAAAnAABAHCgAACGAAAAggAAAJoAAACAAAAAiAAAAIQAAACeAAEAcGAAAIWAAACBgAAAmQABMHOwAACHgAAAg4AAAJ0AARBxEAAAhoAAAIKAAACbAAAAgIAAAIiAAACEgAAAnwABAHBAAACFQAAAgUABUI4wATBysAAAh0AAAINAAACcgAEQcNAAAIZAAACCQAAAmoAAAIBAAACIQAAAhEAAAJ6AAQBwgAAAhcAAAIHAAACZgAFAdTAAAIfAAACDwAAAnYABIHFwAACGwAAAgsAAAJuAAACAwAAAiMAAAITAAACfgAEAcDAAAIUgAACBIAFQijABMHIwAACHIAAAgyAAAJxAARBwsAAAhiAAAIIgAACaQAAAgCAAAIggAACEIAAAnkABAHBwAACFoAAAgaAAAJlAAUB0MAAAh6AAAIOgAACdQAEgcTAAAIagAACCoAAAm0AAAICgAACIoAAAhKAAAJ9AAQBwUAAAhWAAAIFgBACAAAEwczAAAIdgAACDYAAAnMABEHDwAACGYAAAgmAAAJrAAACAYAAAiGAAAIRgAACewAEAcJAAAIXgAACB4AAAmcABQHYwAACH4AAAg+AAAJ3AASBxsAAAhuAAAILgAACbwAAAgOAAAIjgAACE4AAAn8AGAHAAAACFEAAAgRABUIgwASBx8AAAhxAAAIMQAACcIAEAcKAAAIYQAACCEAAAmiAAAIAQAACIEAAAhBAAAJ4gAQBwYAAAhZAAAIGQAACZIAEwc7AAAIeQAACDkAAAnSABEHEQAACGkAAAgpAAAJsgAACAkAAAiJAAAISQAACfIAEAcEAAAIVQAACBUAEAgCARMHKwAACHUAAAg1AAAJygARBw0AAAhlAAAIJQAACaoAAAgFAAAIhQAACEUAAAnqABAHCAAACF0AAAgdAAAJmgAUB1MAAAh9AAAIPQAACdoAEgcXAAAIbQAACC0AAAm6AAAIDQAACI0AAAhNAAAJ+gAQBwMAAAhTAAAIEwAVCMMAEwcjAAAIcwAACDMAAAnGABEHCwAACGMAAAgjAAAJpgAACAMAAAiDAAAIQwAACeYAEAcHAAAIWwAACBsAAAmWABQHQwAACHsAAAg7AAAJ1gASBxMAAAhrAAAIKwAACbYAAAgLAAAIiwAACEsAAAn2ABAHBQAACFcAAAgXAEAIAAATBzMAAAh3AAAINwAACc4AEQcPAAAIZwAACCcAAAmuAAAIBwAACIcAAAhHAAAJ7gAQBwkAAAhfAAAIHwAACZ4AFAdjAAAIfwAACD8AAAneABIHGwAACG8AAAgvAAAJvgAACA8AAAiPAAAITwAACf4AYAcAAAAIUAAACBAAFAhzABIHHwAACHAAAAgwAAAJwQAQBwoAAAhgAAAIIAAACaEAAAgAAAAIgAAACEAAAAnhABAHBgAACFgAAAgYAAAJkQATBzsAAAh4AAAIOAAACdEAEQcRAAAIaAAACCgAAAmxAAAICAAACIgAAAhIAAAJ8QAQBwQAAAhUAAAIFAAVCOMAEwcrAAAIdAAACDQAAAnJABEHDQAACGQAAAgkAAAJqQAACAQAAAiEAAAIRAAACekAEAcIAAAIXAAACBwAAAmZABQHUwAACHwAAAg8AAAJ2QASBxcAAAhsAAAILAAACbkAAAgMAAAIjAAACEwAAAn5ABAHAwAACFIAAAgSABUIowATByMAAAhyAAAIMgAACcUAEQcLAAAIYgAACCIAAAmlAAAIAgAACIIAAAhCAAAJ5QAQBwcAAAhaAAAIGgAACZUAFAdDAAAIegAACDoAAAnVABIHEwAACGoAAAgqAAAJtQAACAoAAAiKAAAISgAACfUAEAcFAAAIVgAACBYAQAgAABMHMwAACHYAAAg2AAAJzQARBw8AAAhmAAAIJgAACa0AAAgGAAAIhgAACEYAAAntABAHCQAACF4AAAgeAAAJnQAUB2MAAAh+AAAIPgAACd0AEgcbAAAIbgAACC4AAAm9AAAIDgAACI4AAAhOAAAJ/QBgBwAAAAhRAAAIEQAVCIMAEgcfAAAIcQAACDEAAAnDABAHCgAACGEAAAghAAAJowAACAEAAAiBAAAIQQAACeMAEAcGAAAIWQAACBkAAAmTABMHOwAACHkAAAg5AAAJ0wARBxEAAAhpAAAIKQAACbMAAAgJAAAIiQAACEkAAAnzABAHBAAACFUAAAgVABAIAgETBysAAAh1AAAINQAACcsAEQcNAAAIZQAACCUAAAmrAAAIBQAACIUAAAhFAAAJ6wAQBwgAAAhdAAAIHQAACZsAFAdTAAAIfQAACD0AAAnbABIHFwAACG0AAAgtAAAJuwAACA0AAAiNAAAITQAACfsAEAcDAAAIUwAACBMAFQjDABMHIwAACHMAAAgzAAAJxwARBwsAAAhjAAAIIwAACacAAAgDAAAIgwAACEMAAAnnABAHBwAACFsAAAgbAAAJlwAUB0MAAAh7AAAIOwAACdcAEgcTAAAIawAACCsAAAm3AAAICwAACIsAAAhLAAAJ9wAQBwUAAAhXAAAIFwBACAAAEwczAAAIdwAACDcAAAnPABEHDwAACGcAAAgnAAAJrwAACAcAAAiHAAAIRwAACe8AEAcJAAAIXwAACB8AAAmfABQHYwAACH8AAAg/AAAJ3wASBxsAAAhvAAAILwAACb8AAAgPAAAIjwAACE8AAAn/ABAFAQAXBQEBEwURABsFARARBQUAGQUBBBUFQQAdBQFAEAUDABgFAQIUBSEAHAUBIBIFCQAaBQEIFgWBAEAFAAAQBQIAFwWBARMFGQAbBQEYEQUHABkFAQYVBWEAHQUBYBAFBAAYBQEDFAUxABwFATASBQ0AGgUBDBYFwQBABQAAEQAKABEREQAAAAAFAAAAAAAACQAAAAALAAAAAAAAAAARAA8KERERAwoHAAEACQsLAAAJBgsAAAsABhEAAAAREREAQYGEAQshCwAAAAAAAAAAEQAKChEREQAKAAACAAkLAAAACQALAAALAEG7hAELAQwAQceEAQsVDAAAAAAMAAAAAAkMAAAAAAAMAAAMAEH1hAELAQ4AQYGFAQsVDQAAAAQNAAAAAAkOAAAAAAAOAAAOAEGvhQELARAAQbuFAQseDwAAAAAPAAAAAAkQAAAAAAAQAAAQAAASAAAAEhISAEHyhQELDhIAAAASEhIAAAAAAAAJAEGjhgELAQsAQa+GAQsVCgAAAAAKAAAAAAkLAAAAAAALAAALAEHdhgELAQwAQemGAQsnDAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAwMTIzNDU2Nzg5QUJDREVGAEG0hwELARkAQduHAQsF//////8AQaCIAQtXGRJEOwI/LEcUPTMwChsGRktFNw9JDo4XA0AdPGkrNh9KLRwBICUpIQgMFRYiLhA4Pgs0MRhkdHV2L0EJfzkRI0MyQomKiwUEJignDSoeNYwHGkiTE5SVAEGAiQELig5JbGxlZ2FsIGJ5dGUgc2VxdWVuY2UARG9tYWluIGVycm9yAFJlc3VsdCBub3QgcmVwcmVzZW50YWJsZQBOb3QgYSB0dHkAUGVybWlzc2lvbiBkZW5pZWQAT3BlcmF0aW9uIG5vdCBwZXJtaXR0ZWQATm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQBObyBzdWNoIHByb2Nlc3MARmlsZSBleGlzdHMAVmFsdWUgdG9vIGxhcmdlIGZvciBkYXRhIHR5cGUATm8gc3BhY2UgbGVmdCBvbiBkZXZpY2UAT3V0IG9mIG1lbW9yeQBSZXNvdXJjZSBidXN5AEludGVycnVwdGVkIHN5c3RlbSBjYWxsAFJlc291cmNlIHRlbXBvcmFyaWx5IHVuYXZhaWxhYmxlAEludmFsaWQgc2VlawBDcm9zcy1kZXZpY2UgbGluawBSZWFkLW9ubHkgZmlsZSBzeXN0ZW0ARGlyZWN0b3J5IG5vdCBlbXB0eQBDb25uZWN0aW9uIHJlc2V0IGJ5IHBlZXIAT3BlcmF0aW9uIHRpbWVkIG91dABDb25uZWN0aW9uIHJlZnVzZWQASG9zdCBpcyBkb3duAEhvc3QgaXMgdW5yZWFjaGFibGUAQWRkcmVzcyBpbiB1c2UAQnJva2VuIHBpcGUASS9PIGVycm9yAE5vIHN1Y2ggZGV2aWNlIG9yIGFkZHJlc3MAQmxvY2sgZGV2aWNlIHJlcXVpcmVkAE5vIHN1Y2ggZGV2aWNlAE5vdCBhIGRpcmVjdG9yeQBJcyBhIGRpcmVjdG9yeQBUZXh0IGZpbGUgYnVzeQBFeGVjIGZvcm1hdCBlcnJvcgBJbnZhbGlkIGFyZ3VtZW50AEFyZ3VtZW50IGxpc3QgdG9vIGxvbmcAU3ltYm9saWMgbGluayBsb29wAEZpbGVuYW1lIHRvbyBsb25nAFRvbyBtYW55IG9wZW4gZmlsZXMgaW4gc3lzdGVtAE5vIGZpbGUgZGVzY3JpcHRvcnMgYXZhaWxhYmxlAEJhZCBmaWxlIGRlc2NyaXB0b3IATm8gY2hpbGQgcHJvY2VzcwBCYWQgYWRkcmVzcwBGaWxlIHRvbyBsYXJnZQBUb28gbWFueSBsaW5rcwBObyBsb2NrcyBhdmFpbGFibGUAUmVzb3VyY2UgZGVhZGxvY2sgd291bGQgb2NjdXIAU3RhdGUgbm90IHJlY292ZXJhYmxlAFByZXZpb3VzIG93bmVyIGRpZWQAT3BlcmF0aW9uIGNhbmNlbGVkAEZ1bmN0aW9uIG5vdCBpbXBsZW1lbnRlZABObyBtZXNzYWdlIG9mIGRlc2lyZWQgdHlwZQBJZGVudGlmaWVyIHJlbW92ZWQARGV2aWNlIG5vdCBhIHN0cmVhbQBObyBkYXRhIGF2YWlsYWJsZQBEZXZpY2UgdGltZW91dABPdXQgb2Ygc3RyZWFtcyByZXNvdXJjZXMATGluayBoYXMgYmVlbiBzZXZlcmVkAFByb3RvY29sIGVycm9yAEJhZCBtZXNzYWdlAEZpbGUgZGVzY3JpcHRvciBpbiBiYWQgc3RhdGUATm90IGEgc29ja2V0AERlc3RpbmF0aW9uIGFkZHJlc3MgcmVxdWlyZWQATWVzc2FnZSB0b28gbGFyZ2UAUHJvdG9jb2wgd3JvbmcgdHlwZSBmb3Igc29ja2V0AFByb3RvY29sIG5vdCBhdmFpbGFibGUAUHJvdG9jb2wgbm90IHN1cHBvcnRlZABTb2NrZXQgdHlwZSBub3Qgc3VwcG9ydGVkAE5vdCBzdXBwb3J0ZWQAUHJvdG9jb2wgZmFtaWx5IG5vdCBzdXBwb3J0ZWQAQWRkcmVzcyBmYW1pbHkgbm90IHN1cHBvcnRlZCBieSBwcm90b2NvbABBZGRyZXNzIG5vdCBhdmFpbGFibGUATmV0d29yayBpcyBkb3duAE5ldHdvcmsgdW5yZWFjaGFibGUAQ29ubmVjdGlvbiByZXNldCBieSBuZXR3b3JrAENvbm5lY3Rpb24gYWJvcnRlZABObyBidWZmZXIgc3BhY2UgYXZhaWxhYmxlAFNvY2tldCBpcyBjb25uZWN0ZWQAU29ja2V0IG5vdCBjb25uZWN0ZWQAQ2Fubm90IHNlbmQgYWZ0ZXIgc29ja2V0IHNodXRkb3duAE9wZXJhdGlvbiBhbHJlYWR5IGluIHByb2dyZXNzAE9wZXJhdGlvbiBpbiBwcm9ncmVzcwBTdGFsZSBmaWxlIGhhbmRsZQBSZW1vdGUgSS9PIGVycm9yAFF1b3RhIGV4Y2VlZGVkAE5vIG1lZGl1bSBmb3VuZABXcm9uZyBtZWRpdW0gdHlwZQBObyBlcnJvciBpbmZvcm1hdGlvbgBBkJcBC1JQUFAACgAAAAsAAAAMAAAADQAAAA4AAAAPAAAAEAAAABEAAAASAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAAAAEQAAAAEAAAAIAAAAlEsAALRLAEGQmQELAgxQAEHImQELCR8AAADkTAAAAwBB5JkBC4wBLfRRWM+MscBG9rXLKTEDxwRbcDC0Xf0geH+LmthZKVBoSImrp1YDbP+3zYg/1He0K6WjcPG65Kj8QYP92W/hinovLXSWBx8NCV4Ddixw90ClLKdvV0GoqnTfoFhkA0rHxDxTrq9fGAQVseNtKIarDKS/Q/DpUIE5VxZSN/////////////////////8="; + if (!isDataURI(wasmBinaryFile)) { + wasmBinaryFile = locateFile(wasmBinaryFile); + } + function getBinary(file) { + try { + if (file == wasmBinaryFile && wasmBinary) { + return new Uint8Array(wasmBinary); + } + var binary = tryParseAsDataURI(file); + if (binary) { + return binary; + } + if (readBinary) { + return readBinary(file); + } else { + throw "sync fetching of the wasm failed: you can preload it to Module['wasmBinary'] manually, or emcc.py will do that for you when generating HTML (but not JS)"; + } + } catch (err2) { + abort(err2); + } + } + function instantiateSync(file, info) { + var instance; + var module2; + var binary; + try { + binary = getBinary(file); + module2 = new WebAssembly.Module(binary); + instance = new WebAssembly.Instance(module2, info); + } catch (e) { + var str = e.toString(); + err("failed to compile wasm module: " + str); + if (str.includes("imported Memory") || str.includes("memory import")) { + err( + "Memory size incompatibility issues may be due to changing INITIAL_MEMORY at runtime to something too large. Use ALLOW_MEMORY_GROWTH to allow any size memory (and also make sure not to set INITIAL_MEMORY at runtime to something smaller than it was at compile time)." + ); + } + throw e; + } + return [instance, module2]; + } + function createWasm() { + var info = { a: asmLibraryArg }; + function receiveInstance(instance, module2) { + var exports3 = instance.exports; + Module["asm"] = exports3; + wasmMemory = Module["asm"]["u"]; + updateGlobalBufferAndViews(wasmMemory.buffer); + wasmTable = Module["asm"]["pa"]; + addOnInit(Module["asm"]["v"]); + removeRunDependency(); + } + addRunDependency(); + if (Module["instantiateWasm"]) { + try { + var exports2 = Module["instantiateWasm"](info, receiveInstance); + return exports2; + } catch (e) { + err("Module.instantiateWasm callback failed with error: " + e); + return false; + } + } + var result = instantiateSync(wasmBinaryFile, info); + receiveInstance(result[0]); + return Module["asm"]; + } + var tempDouble; + var tempI64; + function callRuntimeCallbacks(callbacks) { + while (callbacks.length > 0) { + var callback = callbacks.shift(); + if (typeof callback == "function") { + callback(Module); + continue; + } + var func = callback.func; + if (typeof func === "number") { + if (callback.arg === void 0) { + wasmTable.get(func)(); + } else { + wasmTable.get(func)(callback.arg); + } + } else { + func(callback.arg === void 0 ? null : callback.arg); + } + } + } + function _gmtime_r(time, tmPtr) { + var date = new Date(HEAP32[time >> 2] * 1e3); + HEAP32[tmPtr >> 2] = date.getUTCSeconds(); + HEAP32[tmPtr + 4 >> 2] = date.getUTCMinutes(); + HEAP32[tmPtr + 8 >> 2] = date.getUTCHours(); + HEAP32[tmPtr + 12 >> 2] = date.getUTCDate(); + HEAP32[tmPtr + 16 >> 2] = date.getUTCMonth(); + HEAP32[tmPtr + 20 >> 2] = date.getUTCFullYear() - 1900; + HEAP32[tmPtr + 24 >> 2] = date.getUTCDay(); + HEAP32[tmPtr + 36 >> 2] = 0; + HEAP32[tmPtr + 32 >> 2] = 0; + var start = Date.UTC(date.getUTCFullYear(), 0, 1, 0, 0, 0, 0); + var yday = (date.getTime() - start) / (1e3 * 60 * 60 * 24) | 0; + HEAP32[tmPtr + 28 >> 2] = yday; + if (!_gmtime_r.GMTString) + _gmtime_r.GMTString = allocateUTF8("GMT"); + HEAP32[tmPtr + 40 >> 2] = _gmtime_r.GMTString; + return tmPtr; + } + function ___gmtime_r(a0, a1) { + return _gmtime_r(a0, a1); + } + var PATH = { + splitPath: function(filename) { + var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/; + return splitPathRe.exec(filename).slice(1); + }, + normalizeArray: function(parts, allowAboveRoot) { + var up = 0; + for (var i = parts.length - 1; i >= 0; i--) { + var last = parts[i]; + if (last === ".") { + parts.splice(i, 1); + } else if (last === "..") { + parts.splice(i, 1); + up++; + } else if (up) { + parts.splice(i, 1); + up--; + } + } + if (allowAboveRoot) { + for (; up; up--) { + parts.unshift(".."); + } + } + return parts; + }, + normalize: function(path) { + var isAbsolute = path.charAt(0) === "/", trailingSlash = path.substr(-1) === "/"; + path = PATH.normalizeArray( + path.split("/").filter(function(p) { + return !!p; + }), + !isAbsolute + ).join("/"); + if (!path && !isAbsolute) { + path = "."; + } + if (path && trailingSlash) { + path += "/"; + } + return (isAbsolute ? "/" : "") + path; + }, + dirname: function(path) { + var result = PATH.splitPath(path), root = result[0], dir = result[1]; + if (!root && !dir) { + return "."; + } + if (dir) { + dir = dir.substr(0, dir.length - 1); + } + return root + dir; + }, + basename: function(path) { + if (path === "/") + return "/"; + path = PATH.normalize(path); + path = path.replace(/\/$/, ""); + var lastSlash = path.lastIndexOf("/"); + if (lastSlash === -1) + return path; + return path.substr(lastSlash + 1); + }, + extname: function(path) { + return PATH.splitPath(path)[3]; + }, + join: function() { + var paths = Array.prototype.slice.call(arguments, 0); + return PATH.normalize(paths.join("/")); + }, + join2: function(l, r) { + return PATH.normalize(l + "/" + r); + } + }; + function getRandomDevice() { + { + try { + var crypto_module = require("crypto"); + return function() { + return crypto_module["randomBytes"](1)[0]; + }; + } catch (e) { + } + } + return function() { + abort("randomDevice"); + }; + } + var PATH_FS = { + resolve: function() { + var resolvedPath = "", resolvedAbsolute = false; + for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) { + var path = i >= 0 ? arguments[i] : FS.cwd(); + if (typeof path !== "string") { + throw new TypeError("Arguments to path.resolve must be strings"); + } else if (!path) { + return ""; + } + resolvedPath = path + "/" + resolvedPath; + resolvedAbsolute = path.charAt(0) === "/"; + } + resolvedPath = PATH.normalizeArray( + resolvedPath.split("/").filter(function(p) { + return !!p; + }), + !resolvedAbsolute + ).join("/"); + return (resolvedAbsolute ? "/" : "") + resolvedPath || "."; + }, + relative: function(from, to) { + from = PATH_FS.resolve(from).substr(1); + to = PATH_FS.resolve(to).substr(1); + function trim(arr) { + var start = 0; + for (; start < arr.length; start++) { + if (arr[start] !== "") + break; + } + var end = arr.length - 1; + for (; end >= 0; end--) { + if (arr[end] !== "") + break; + } + if (start > end) + return []; + return arr.slice(start, end - start + 1); + } + var fromParts = trim(from.split("/")); + var toParts = trim(to.split("/")); + var length = Math.min(fromParts.length, toParts.length); + var samePartsLength = length; + for (var i = 0; i < length; i++) { + if (fromParts[i] !== toParts[i]) { + samePartsLength = i; + break; + } + } + var outputParts = []; + for (var i = samePartsLength; i < fromParts.length; i++) { + outputParts.push(".."); + } + outputParts = outputParts.concat(toParts.slice(samePartsLength)); + return outputParts.join("/"); + } + }; + var TTY = { + ttys: [], + init: function() { + }, + shutdown: function() { + }, + register: function(dev, ops) { + TTY.ttys[dev] = { input: [], output: [], ops }; + FS.registerDevice(dev, TTY.stream_ops); + }, + stream_ops: { + open: function(stream) { + var tty = TTY.ttys[stream.node.rdev]; + if (!tty) { + throw new FS.ErrnoError(43); + } + stream.tty = tty; + stream.seekable = false; + }, + close: function(stream) { + stream.tty.ops.flush(stream.tty); + }, + flush: function(stream) { + stream.tty.ops.flush(stream.tty); + }, + read: function(stream, buffer2, offset, length, pos) { + if (!stream.tty || !stream.tty.ops.get_char) { + throw new FS.ErrnoError(60); + } + var bytesRead = 0; + for (var i = 0; i < length; i++) { + var result; + try { + result = stream.tty.ops.get_char(stream.tty); + } catch (e) { + throw new FS.ErrnoError(29); + } + if (result === void 0 && bytesRead === 0) { + throw new FS.ErrnoError(6); + } + if (result === null || result === void 0) + break; + bytesRead++; + buffer2[offset + i] = result; + } + if (bytesRead) { + stream.node.timestamp = Date.now(); + } + return bytesRead; + }, + write: function(stream, buffer2, offset, length, pos) { + if (!stream.tty || !stream.tty.ops.put_char) { + throw new FS.ErrnoError(60); + } + try { + for (var i = 0; i < length; i++) { + stream.tty.ops.put_char(stream.tty, buffer2[offset + i]); + } + } catch (e) { + throw new FS.ErrnoError(29); + } + if (length) { + stream.node.timestamp = Date.now(); + } + return i; + } + }, + default_tty_ops: { + get_char: function(tty) { + if (!tty.input.length) { + var result = null; + { + var BUFSIZE = 256; + var buf = Buffer.alloc ? Buffer.alloc(BUFSIZE) : new Buffer(BUFSIZE); + var bytesRead = 0; + try { + bytesRead = nodeFS.readSync( + process.stdin.fd, + buf, + 0, + BUFSIZE, + null + ); + } catch (e) { + if (e.toString().includes("EOF")) + bytesRead = 0; + else + throw e; + } + if (bytesRead > 0) { + result = buf.slice(0, bytesRead).toString("utf-8"); + } else { + result = null; + } + } + if (!result) { + return null; + } + tty.input = intArrayFromString(result, true); + } + return tty.input.shift(); + }, + put_char: function(tty, val) { + if (val === null || val === 10) { + out(UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } else { + if (val != 0) + tty.output.push(val); + } + }, + flush: function(tty) { + if (tty.output && tty.output.length > 0) { + out(UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } + } + }, + default_tty1_ops: { + put_char: function(tty, val) { + if (val === null || val === 10) { + err(UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } else { + if (val != 0) + tty.output.push(val); + } + }, + flush: function(tty) { + if (tty.output && tty.output.length > 0) { + err(UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } + } + } + }; + function mmapAlloc(size) { + var alignedSize = alignMemory(size, 65536); + var ptr = _malloc(alignedSize); + while (size < alignedSize) + HEAP8[ptr + size++] = 0; + return ptr; + } + var MEMFS = { + ops_table: null, + mount: function(mount) { + return MEMFS.createNode(null, "/", 16384 | 511, 0); + }, + createNode: function(parent, name, mode, dev) { + if (FS.isBlkdev(mode) || FS.isFIFO(mode)) { + throw new FS.ErrnoError(63); + } + if (!MEMFS.ops_table) { + MEMFS.ops_table = { + dir: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr, + lookup: MEMFS.node_ops.lookup, + mknod: MEMFS.node_ops.mknod, + rename: MEMFS.node_ops.rename, + unlink: MEMFS.node_ops.unlink, + rmdir: MEMFS.node_ops.rmdir, + readdir: MEMFS.node_ops.readdir, + symlink: MEMFS.node_ops.symlink + }, + stream: { llseek: MEMFS.stream_ops.llseek } + }, + file: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr + }, + stream: { + llseek: MEMFS.stream_ops.llseek, + read: MEMFS.stream_ops.read, + write: MEMFS.stream_ops.write, + allocate: MEMFS.stream_ops.allocate, + mmap: MEMFS.stream_ops.mmap, + msync: MEMFS.stream_ops.msync + } + }, + link: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr, + readlink: MEMFS.node_ops.readlink + }, + stream: {} + }, + chrdev: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr + }, + stream: FS.chrdev_stream_ops + } + }; + } + var node = FS.createNode(parent, name, mode, dev); + if (FS.isDir(node.mode)) { + node.node_ops = MEMFS.ops_table.dir.node; + node.stream_ops = MEMFS.ops_table.dir.stream; + node.contents = {}; + } else if (FS.isFile(node.mode)) { + node.node_ops = MEMFS.ops_table.file.node; + node.stream_ops = MEMFS.ops_table.file.stream; + node.usedBytes = 0; + node.contents = null; + } else if (FS.isLink(node.mode)) { + node.node_ops = MEMFS.ops_table.link.node; + node.stream_ops = MEMFS.ops_table.link.stream; + } else if (FS.isChrdev(node.mode)) { + node.node_ops = MEMFS.ops_table.chrdev.node; + node.stream_ops = MEMFS.ops_table.chrdev.stream; + } + node.timestamp = Date.now(); + if (parent) { + parent.contents[name] = node; + parent.timestamp = node.timestamp; + } + return node; + }, + getFileDataAsTypedArray: function(node) { + if (!node.contents) + return new Uint8Array(0); + if (node.contents.subarray) + return node.contents.subarray(0, node.usedBytes); + return new Uint8Array(node.contents); + }, + expandFileStorage: function(node, newCapacity) { + var prevCapacity = node.contents ? node.contents.length : 0; + if (prevCapacity >= newCapacity) + return; + var CAPACITY_DOUBLING_MAX = 1024 * 1024; + newCapacity = Math.max( + newCapacity, + prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2 : 1.125) >>> 0 + ); + if (prevCapacity != 0) + newCapacity = Math.max(newCapacity, 256); + var oldContents = node.contents; + node.contents = new Uint8Array(newCapacity); + if (node.usedBytes > 0) + node.contents.set(oldContents.subarray(0, node.usedBytes), 0); + }, + resizeFileStorage: function(node, newSize) { + if (node.usedBytes == newSize) + return; + if (newSize == 0) { + node.contents = null; + node.usedBytes = 0; + } else { + var oldContents = node.contents; + node.contents = new Uint8Array(newSize); + if (oldContents) { + node.contents.set( + oldContents.subarray(0, Math.min(newSize, node.usedBytes)) + ); + } + node.usedBytes = newSize; + } + }, + node_ops: { + getattr: function(node) { + var attr = {}; + attr.dev = FS.isChrdev(node.mode) ? node.id : 1; + attr.ino = node.id; + attr.mode = node.mode; + attr.nlink = 1; + attr.uid = 0; + attr.gid = 0; + attr.rdev = node.rdev; + if (FS.isDir(node.mode)) { + attr.size = 4096; + } else if (FS.isFile(node.mode)) { + attr.size = node.usedBytes; + } else if (FS.isLink(node.mode)) { + attr.size = node.link.length; + } else { + attr.size = 0; + } + attr.atime = new Date(node.timestamp); + attr.mtime = new Date(node.timestamp); + attr.ctime = new Date(node.timestamp); + attr.blksize = 4096; + attr.blocks = Math.ceil(attr.size / attr.blksize); + return attr; + }, + setattr: function(node, attr) { + if (attr.mode !== void 0) { + node.mode = attr.mode; + } + if (attr.timestamp !== void 0) { + node.timestamp = attr.timestamp; + } + if (attr.size !== void 0) { + MEMFS.resizeFileStorage(node, attr.size); + } + }, + lookup: function(parent, name) { + throw FS.genericErrors[44]; + }, + mknod: function(parent, name, mode, dev) { + return MEMFS.createNode(parent, name, mode, dev); + }, + rename: function(old_node, new_dir, new_name) { + if (FS.isDir(old_node.mode)) { + var new_node; + try { + new_node = FS.lookupNode(new_dir, new_name); + } catch (e) { + } + if (new_node) { + for (var i in new_node.contents) { + throw new FS.ErrnoError(55); + } + } + } + delete old_node.parent.contents[old_node.name]; + old_node.parent.timestamp = Date.now(); + old_node.name = new_name; + new_dir.contents[new_name] = old_node; + new_dir.timestamp = old_node.parent.timestamp; + old_node.parent = new_dir; + }, + unlink: function(parent, name) { + delete parent.contents[name]; + parent.timestamp = Date.now(); + }, + rmdir: function(parent, name) { + var node = FS.lookupNode(parent, name); + for (var i in node.contents) { + throw new FS.ErrnoError(55); + } + delete parent.contents[name]; + parent.timestamp = Date.now(); + }, + readdir: function(node) { + var entries = [".", ".."]; + for (var key2 in node.contents) { + if (!node.contents.hasOwnProperty(key2)) { + continue; + } + entries.push(key2); + } + return entries; + }, + symlink: function(parent, newname, oldpath) { + var node = MEMFS.createNode(parent, newname, 511 | 40960, 0); + node.link = oldpath; + return node; + }, + readlink: function(node) { + if (!FS.isLink(node.mode)) { + throw new FS.ErrnoError(28); + } + return node.link; + } + }, + stream_ops: { + read: function(stream, buffer2, offset, length, position) { + var contents = stream.node.contents; + if (position >= stream.node.usedBytes) + return 0; + var size = Math.min(stream.node.usedBytes - position, length); + if (size > 8 && contents.subarray) { + buffer2.set(contents.subarray(position, position + size), offset); + } else { + for (var i = 0; i < size; i++) + buffer2[offset + i] = contents[position + i]; + } + return size; + }, + write: function(stream, buffer2, offset, length, position, canOwn) { + if (buffer2.buffer === HEAP8.buffer) { + canOwn = false; + } + if (!length) + return 0; + var node = stream.node; + node.timestamp = Date.now(); + if (buffer2.subarray && (!node.contents || node.contents.subarray)) { + if (canOwn) { + node.contents = buffer2.subarray(offset, offset + length); + node.usedBytes = length; + return length; + } else if (node.usedBytes === 0 && position === 0) { + node.contents = buffer2.slice(offset, offset + length); + node.usedBytes = length; + return length; + } else if (position + length <= node.usedBytes) { + node.contents.set( + buffer2.subarray(offset, offset + length), + position + ); + return length; + } + } + MEMFS.expandFileStorage(node, position + length); + if (node.contents.subarray && buffer2.subarray) { + node.contents.set( + buffer2.subarray(offset, offset + length), + position + ); + } else { + for (var i = 0; i < length; i++) { + node.contents[position + i] = buffer2[offset + i]; + } + } + node.usedBytes = Math.max(node.usedBytes, position + length); + return length; + }, + llseek: function(stream, offset, whence) { + var position = offset; + if (whence === 1) { + position += stream.position; + } else if (whence === 2) { + if (FS.isFile(stream.node.mode)) { + position += stream.node.usedBytes; + } + } + if (position < 0) { + throw new FS.ErrnoError(28); + } + return position; + }, + allocate: function(stream, offset, length) { + MEMFS.expandFileStorage(stream.node, offset + length); + stream.node.usedBytes = Math.max( + stream.node.usedBytes, + offset + length + ); + }, + mmap: function(stream, address, length, position, prot, flags) { + if (address !== 0) { + throw new FS.ErrnoError(28); + } + if (!FS.isFile(stream.node.mode)) { + throw new FS.ErrnoError(43); + } + var ptr; + var allocated; + var contents = stream.node.contents; + if (!(flags & 2) && contents.buffer === buffer) { + allocated = false; + ptr = contents.byteOffset; + } else { + if (position > 0 || position + length < contents.length) { + if (contents.subarray) { + contents = contents.subarray(position, position + length); + } else { + contents = Array.prototype.slice.call( + contents, + position, + position + length + ); + } + } + allocated = true; + ptr = mmapAlloc(length); + if (!ptr) { + throw new FS.ErrnoError(48); + } + HEAP8.set(contents, ptr); + } + return { ptr, allocated }; + }, + msync: function(stream, buffer2, offset, length, mmapFlags) { + if (!FS.isFile(stream.node.mode)) { + throw new FS.ErrnoError(43); + } + if (mmapFlags & 2) { + return 0; + } + MEMFS.stream_ops.write( + stream, + buffer2, + 0, + length, + offset, + false + ); + return 0; + } + } + }; + var ERRNO_CODES = { + EPERM: 63, + ENOENT: 44, + ESRCH: 71, + EINTR: 27, + EIO: 29, + ENXIO: 60, + E2BIG: 1, + ENOEXEC: 45, + EBADF: 8, + ECHILD: 12, + EAGAIN: 6, + EWOULDBLOCK: 6, + ENOMEM: 48, + EACCES: 2, + EFAULT: 21, + ENOTBLK: 105, + EBUSY: 10, + EEXIST: 20, + EXDEV: 75, + ENODEV: 43, + ENOTDIR: 54, + EISDIR: 31, + EINVAL: 28, + ENFILE: 41, + EMFILE: 33, + ENOTTY: 59, + ETXTBSY: 74, + EFBIG: 22, + ENOSPC: 51, + ESPIPE: 70, + EROFS: 69, + EMLINK: 34, + EPIPE: 64, + EDOM: 18, + ERANGE: 68, + ENOMSG: 49, + EIDRM: 24, + ECHRNG: 106, + EL2NSYNC: 156, + EL3HLT: 107, + EL3RST: 108, + ELNRNG: 109, + EUNATCH: 110, + ENOCSI: 111, + EL2HLT: 112, + EDEADLK: 16, + ENOLCK: 46, + EBADE: 113, + EBADR: 114, + EXFULL: 115, + ENOANO: 104, + EBADRQC: 103, + EBADSLT: 102, + EDEADLOCK: 16, + EBFONT: 101, + ENOSTR: 100, + ENODATA: 116, + ETIME: 117, + ENOSR: 118, + ENONET: 119, + ENOPKG: 120, + EREMOTE: 121, + ENOLINK: 47, + EADV: 122, + ESRMNT: 123, + ECOMM: 124, + EPROTO: 65, + EMULTIHOP: 36, + EDOTDOT: 125, + EBADMSG: 9, + ENOTUNIQ: 126, + EBADFD: 127, + EREMCHG: 128, + ELIBACC: 129, + ELIBBAD: 130, + ELIBSCN: 131, + ELIBMAX: 132, + ELIBEXEC: 133, + ENOSYS: 52, + ENOTEMPTY: 55, + ENAMETOOLONG: 37, + ELOOP: 32, + EOPNOTSUPP: 138, + EPFNOSUPPORT: 139, + ECONNRESET: 15, + ENOBUFS: 42, + EAFNOSUPPORT: 5, + EPROTOTYPE: 67, + ENOTSOCK: 57, + ENOPROTOOPT: 50, + ESHUTDOWN: 140, + ECONNREFUSED: 14, + EADDRINUSE: 3, + ECONNABORTED: 13, + ENETUNREACH: 40, + ENETDOWN: 38, + ETIMEDOUT: 73, + EHOSTDOWN: 142, + EHOSTUNREACH: 23, + EINPROGRESS: 26, + EALREADY: 7, + EDESTADDRREQ: 17, + EMSGSIZE: 35, + EPROTONOSUPPORT: 66, + ESOCKTNOSUPPORT: 137, + EADDRNOTAVAIL: 4, + ENETRESET: 39, + EISCONN: 30, + ENOTCONN: 53, + ETOOMANYREFS: 141, + EUSERS: 136, + EDQUOT: 19, + ESTALE: 72, + ENOTSUP: 138, + ENOMEDIUM: 148, + EILSEQ: 25, + EOVERFLOW: 61, + ECANCELED: 11, + ENOTRECOVERABLE: 56, + EOWNERDEAD: 62, + ESTRPIPE: 135 + }; + var NODEFS = { + isWindows: false, + staticInit: function() { + NODEFS.isWindows = !!process.platform.match(/^win/); + var flags = { fs: fs.constants }; + if (flags["fs"]) { + flags = flags["fs"]; + } + NODEFS.flagsForNodeMap = { + 1024: flags["O_APPEND"], + 64: flags["O_CREAT"], + 128: flags["O_EXCL"], + 256: flags["O_NOCTTY"], + 0: flags["O_RDONLY"], + 2: flags["O_RDWR"], + 4096: flags["O_SYNC"], + 512: flags["O_TRUNC"], + 1: flags["O_WRONLY"] + }; + }, + bufferFrom: function(arrayBuffer) { + return Buffer["alloc"] ? Buffer.from(arrayBuffer) : new Buffer(arrayBuffer); + }, + convertNodeCode: function(e) { + var code = e.code; + return ERRNO_CODES[code]; + }, + mount: function(mount) { + return NODEFS.createNode(null, "/", NODEFS.getMode(mount.opts.root), 0); + }, + createNode: function(parent, name, mode, dev) { + if (!FS.isDir(mode) && !FS.isFile(mode) && !FS.isLink(mode)) { + throw new FS.ErrnoError(28); + } + var node = FS.createNode(parent, name, mode); + node.node_ops = NODEFS.node_ops; + node.stream_ops = NODEFS.stream_ops; + return node; + }, + getMode: function(path) { + var stat; + try { + stat = fs.lstatSync(path); + if (NODEFS.isWindows) { + stat.mode = stat.mode | (stat.mode & 292) >> 2; + } + } catch (e) { + if (!e.code) + throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)); + } + return stat.mode; + }, + realPath: function(node) { + var parts = []; + while (node.parent !== node) { + parts.push(node.name); + node = node.parent; + } + parts.push(node.mount.opts.root); + parts.reverse(); + return PATH.join.apply(null, parts); + }, + flagsForNode: function(flags) { + flags &= ~2097152; + flags &= ~2048; + flags &= ~32768; + flags &= ~524288; + var newFlags = 0; + for (var k in NODEFS.flagsForNodeMap) { + if (flags & k) { + newFlags |= NODEFS.flagsForNodeMap[k]; + flags ^= k; + } + } + if (!flags) { + return newFlags; + } else { + throw new FS.ErrnoError(28); + } + }, + node_ops: { + getattr: function(node) { + var path = NODEFS.realPath(node); + var stat; + try { + stat = fs.lstatSync(path); + } catch (e) { + if (!e.code) + throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)); + } + if (NODEFS.isWindows && !stat.blksize) { + stat.blksize = 4096; + } + if (NODEFS.isWindows && !stat.blocks) { + stat.blocks = (stat.size + stat.blksize - 1) / stat.blksize | 0; + } + return { + dev: stat.dev, + ino: stat.ino, + mode: stat.mode, + nlink: stat.nlink, + uid: stat.uid, + gid: stat.gid, + rdev: stat.rdev, + size: stat.size, + atime: stat.atime, + mtime: stat.mtime, + ctime: stat.ctime, + blksize: stat.blksize, + blocks: stat.blocks + }; + }, + setattr: function(node, attr) { + var path = NODEFS.realPath(node); + try { + if (attr.mode !== void 0) { + fs.chmodSync(path, attr.mode); + node.mode = attr.mode; + } + if (attr.timestamp !== void 0) { + var date = new Date(attr.timestamp); + fs.utimesSync(path, date, date); + } + if (attr.size !== void 0) { + fs.truncateSync(path, attr.size); + } + } catch (e) { + if (!e.code) + throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)); + } + }, + lookup: function(parent, name) { + var path = PATH.join2(NODEFS.realPath(parent), name); + var mode = NODEFS.getMode(path); + return NODEFS.createNode(parent, name, mode); + }, + mknod: function(parent, name, mode, dev) { + var node = NODEFS.createNode(parent, name, mode, dev); + var path = NODEFS.realPath(node); + try { + if (FS.isDir(node.mode)) { + fs.mkdirSync(path, node.mode); + } else { + fs.writeFileSync(path, "", { mode: node.mode }); + } + } catch (e) { + if (!e.code) + throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)); + } + return node; + }, + rename: function(oldNode, newDir, newName) { + var oldPath = NODEFS.realPath(oldNode); + var newPath = PATH.join2(NODEFS.realPath(newDir), newName); + try { + fs.renameSync(oldPath, newPath); + } catch (e) { + if (!e.code) + throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)); + } + oldNode.name = newName; + }, + unlink: function(parent, name) { + var path = PATH.join2(NODEFS.realPath(parent), name); + try { + fs.unlinkSync(path); + } catch (e) { + if (!e.code) + throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)); + } + }, + rmdir: function(parent, name) { + var path = PATH.join2(NODEFS.realPath(parent), name); + try { + fs.rmdirSync(path); + } catch (e) { + if (!e.code) + throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)); + } + }, + readdir: function(node) { + var path = NODEFS.realPath(node); + try { + return fs.readdirSync(path); + } catch (e) { + if (!e.code) + throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)); + } + }, + symlink: function(parent, newName, oldPath) { + var newPath = PATH.join2(NODEFS.realPath(parent), newName); + try { + fs.symlinkSync(oldPath, newPath); + } catch (e) { + if (!e.code) + throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)); + } + }, + readlink: function(node) { + var path = NODEFS.realPath(node); + try { + path = fs.readlinkSync(path); + path = NODEJS_PATH.relative( + NODEJS_PATH.resolve(node.mount.opts.root), + path + ); + return path; + } catch (e) { + if (!e.code) + throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)); + } + } + }, + stream_ops: { + open: function(stream) { + var path = NODEFS.realPath(stream.node); + try { + if (FS.isFile(stream.node.mode)) { + stream.nfd = fs.openSync(path, NODEFS.flagsForNode(stream.flags)); + } + } catch (e) { + if (!e.code) + throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)); + } + }, + close: function(stream) { + try { + if (FS.isFile(stream.node.mode) && stream.nfd) { + fs.closeSync(stream.nfd); + } + } catch (e) { + if (!e.code) + throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)); + } + }, + read: function(stream, buffer2, offset, length, position) { + if (length === 0) + return 0; + try { + return fs.readSync( + stream.nfd, + NODEFS.bufferFrom(buffer2.buffer), + offset, + length, + position + ); + } catch (e) { + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)); + } + }, + write: function(stream, buffer2, offset, length, position) { + try { + return fs.writeSync( + stream.nfd, + NODEFS.bufferFrom(buffer2.buffer), + offset, + length, + position + ); + } catch (e) { + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)); + } + }, + llseek: function(stream, offset, whence) { + var position = offset; + if (whence === 1) { + position += stream.position; + } else if (whence === 2) { + if (FS.isFile(stream.node.mode)) { + try { + var stat = fs.fstatSync(stream.nfd); + position += stat.size; + } catch (e) { + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)); + } + } + } + if (position < 0) { + throw new FS.ErrnoError(28); + } + return position; + }, + mmap: function(stream, address, length, position, prot, flags) { + if (address !== 0) { + throw new FS.ErrnoError(28); + } + if (!FS.isFile(stream.node.mode)) { + throw new FS.ErrnoError(43); + } + var ptr = mmapAlloc(length); + NODEFS.stream_ops.read(stream, HEAP8, ptr, length, position); + return { ptr, allocated: true }; + }, + msync: function(stream, buffer2, offset, length, mmapFlags) { + if (!FS.isFile(stream.node.mode)) { + throw new FS.ErrnoError(43); + } + if (mmapFlags & 2) { + return 0; + } + NODEFS.stream_ops.write( + stream, + buffer2, + 0, + length, + offset, + false + ); + return 0; + } + } + }; + var NODERAWFS = { + lookupPath: function(path) { + return { path, node: { mode: NODEFS.getMode(path) } }; + }, + createStandardStreams: function() { + FS.streams[0] = { + fd: 0, + nfd: 0, + position: 0, + path: "", + flags: 0, + tty: true, + seekable: false + }; + for (var i = 1; i < 3; i++) { + FS.streams[i] = { + fd: i, + nfd: i, + position: 0, + path: "", + flags: 577, + tty: true, + seekable: false + }; + } + }, + cwd: function() { + return process.cwd(); + }, + chdir: function() { + process.chdir.apply(void 0, arguments); + }, + mknod: function(path, mode) { + if (FS.isDir(path)) { + fs.mkdirSync(path, mode); + } else { + fs.writeFileSync(path, "", { mode }); + } + }, + mkdir: function() { + fs.mkdirSync.apply(void 0, arguments); + }, + symlink: function() { + fs.symlinkSync.apply(void 0, arguments); + }, + rename: function() { + fs.renameSync.apply(void 0, arguments); + }, + rmdir: function() { + fs.rmdirSync.apply(void 0, arguments); + }, + readdir: function() { + fs.readdirSync.apply(void 0, arguments); + }, + unlink: function() { + fs.unlinkSync.apply(void 0, arguments); + }, + readlink: function() { + return fs.readlinkSync.apply(void 0, arguments); + }, + stat: function() { + return fs.statSync.apply(void 0, arguments); + }, + lstat: function() { + return fs.lstatSync.apply(void 0, arguments); + }, + chmod: function() { + fs.chmodSync.apply(void 0, arguments); + }, + fchmod: function() { + fs.fchmodSync.apply(void 0, arguments); + }, + chown: function() { + fs.chownSync.apply(void 0, arguments); + }, + fchown: function() { + fs.fchownSync.apply(void 0, arguments); + }, + truncate: function() { + fs.truncateSync.apply(void 0, arguments); + }, + ftruncate: function(fd, len) { + if (len < 0) { + throw new FS.ErrnoError(28); + } + fs.ftruncateSync.apply(void 0, arguments); + }, + utime: function() { + fs.utimesSync.apply(void 0, arguments); + }, + open: function(path, flags, mode, suggestFD) { + if (typeof flags === "string") { + flags = VFS.modeStringToFlags(flags); + } + var nfd = fs.openSync(path, NODEFS.flagsForNode(flags), mode); + var fd = suggestFD != null ? suggestFD : FS.nextfd(nfd); + var stream = { + fd, + nfd, + position: 0, + path, + flags, + seekable: true + }; + FS.streams[fd] = stream; + return stream; + }, + close: function(stream) { + if (!stream.stream_ops) { + fs.closeSync(stream.nfd); + } + FS.closeStream(stream.fd); + }, + llseek: function(stream, offset, whence) { + if (stream.stream_ops) { + return VFS.llseek(stream, offset, whence); + } + var position = offset; + if (whence === 1) { + position += stream.position; + } else if (whence === 2) { + position += fs.fstatSync(stream.nfd).size; + } else if (whence !== 0) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + if (position < 0) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + stream.position = position; + return position; + }, + read: function(stream, buffer2, offset, length, position) { + if (stream.stream_ops) { + return VFS.read(stream, buffer2, offset, length, position); + } + var seeking = typeof position !== "undefined"; + if (!seeking && stream.seekable) + position = stream.position; + var bytesRead = fs.readSync( + stream.nfd, + NODEFS.bufferFrom(buffer2.buffer), + offset, + length, + position + ); + if (!seeking) + stream.position += bytesRead; + return bytesRead; + }, + write: function(stream, buffer2, offset, length, position) { + if (stream.stream_ops) { + return VFS.write(stream, buffer2, offset, length, position); + } + if (stream.flags & +"1024") { + FS.llseek(stream, 0, +"2"); + } + var seeking = typeof position !== "undefined"; + if (!seeking && stream.seekable) + position = stream.position; + var bytesWritten = fs.writeSync( + stream.nfd, + NODEFS.bufferFrom(buffer2.buffer), + offset, + length, + position + ); + if (!seeking) + stream.position += bytesWritten; + return bytesWritten; + }, + allocate: function() { + throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP); + }, + mmap: function(stream, address, length, position, prot, flags) { + if (stream.stream_ops) { + return VFS.mmap(stream, address, length, position, prot, flags); + } + if (address !== 0) { + throw new FS.ErrnoError(28); + } + var ptr = mmapAlloc(length); + FS.read(stream, HEAP8, ptr, length, position); + return { ptr, allocated: true }; + }, + msync: function(stream, buffer2, offset, length, mmapFlags) { + if (stream.stream_ops) { + return VFS.msync(stream, buffer2, offset, length, mmapFlags); + } + if (mmapFlags & 2) { + return 0; + } + FS.write(stream, buffer2, 0, length, offset); + return 0; + }, + munmap: function() { + return 0; + }, + ioctl: function() { + throw new FS.ErrnoError(ERRNO_CODES.ENOTTY); + } + }; + var FS = { + root: null, + mounts: [], + devices: {}, + streams: [], + nextInode: 1, + nameTable: null, + currentPath: "/", + initialized: false, + ignorePermissions: true, + trackingDelegate: {}, + tracking: { openFlags: { READ: 1, WRITE: 2 } }, + ErrnoError: null, + genericErrors: {}, + filesystems: null, + syncFSRequests: 0, + lookupPath: function(path, opts) { + path = PATH_FS.resolve(FS.cwd(), path); + opts = opts || {}; + if (!path) + return { path: "", node: null }; + var defaults = { follow_mount: true, recurse_count: 0 }; + for (var key2 in defaults) { + if (opts[key2] === void 0) { + opts[key2] = defaults[key2]; + } + } + if (opts.recurse_count > 8) { + throw new FS.ErrnoError(32); + } + var parts = PATH.normalizeArray( + path.split("/").filter(function(p) { + return !!p; + }), + false + ); + var current = FS.root; + var current_path = "/"; + for (var i = 0; i < parts.length; i++) { + var islast = i === parts.length - 1; + if (islast && opts.parent) { + break; + } + current = FS.lookupNode(current, parts[i]); + current_path = PATH.join2(current_path, parts[i]); + if (FS.isMountpoint(current)) { + if (!islast || islast && opts.follow_mount) { + current = current.mounted.root; + } + } + if (!islast || opts.follow) { + var count = 0; + while (FS.isLink(current.mode)) { + var link = FS.readlink(current_path); + current_path = PATH_FS.resolve(PATH.dirname(current_path), link); + var lookup = FS.lookupPath(current_path, { + recurse_count: opts.recurse_count + }); + current = lookup.node; + if (count++ > 40) { + throw new FS.ErrnoError(32); + } + } + } + } + return { path: current_path, node: current }; + }, + getPath: function(node) { + var path; + while (true) { + if (FS.isRoot(node)) { + var mount = node.mount.mountpoint; + if (!path) + return mount; + return mount[mount.length - 1] !== "/" ? mount + "/" + path : mount + path; + } + path = path ? node.name + "/" + path : node.name; + node = node.parent; + } + }, + hashName: function(parentid, name) { + var hash = 0; + for (var i = 0; i < name.length; i++) { + hash = (hash << 5) - hash + name.charCodeAt(i) | 0; + } + return (parentid + hash >>> 0) % FS.nameTable.length; + }, + hashAddNode: function(node) { + var hash = FS.hashName(node.parent.id, node.name); + node.name_next = FS.nameTable[hash]; + FS.nameTable[hash] = node; + }, + hashRemoveNode: function(node) { + var hash = FS.hashName(node.parent.id, node.name); + if (FS.nameTable[hash] === node) { + FS.nameTable[hash] = node.name_next; + } else { + var current = FS.nameTable[hash]; + while (current) { + if (current.name_next === node) { + current.name_next = node.name_next; + break; + } + current = current.name_next; + } + } + }, + lookupNode: function(parent, name) { + var errCode = FS.mayLookup(parent); + if (errCode) { + throw new FS.ErrnoError(errCode, parent); + } + var hash = FS.hashName(parent.id, name); + for (var node = FS.nameTable[hash]; node; node = node.name_next) { + var nodeName = node.name; + if (node.parent.id === parent.id && nodeName === name) { + return node; + } + } + return FS.lookup(parent, name); + }, + createNode: function(parent, name, mode, rdev) { + var node = new FS.FSNode(parent, name, mode, rdev); + FS.hashAddNode(node); + return node; + }, + destroyNode: function(node) { + FS.hashRemoveNode(node); + }, + isRoot: function(node) { + return node === node.parent; + }, + isMountpoint: function(node) { + return !!node.mounted; + }, + isFile: function(mode) { + return (mode & 61440) === 32768; + }, + isDir: function(mode) { + return (mode & 61440) === 16384; + }, + isLink: function(mode) { + return (mode & 61440) === 40960; + }, + isChrdev: function(mode) { + return (mode & 61440) === 8192; + }, + isBlkdev: function(mode) { + return (mode & 61440) === 24576; + }, + isFIFO: function(mode) { + return (mode & 61440) === 4096; + }, + isSocket: function(mode) { + return (mode & 49152) === 49152; + }, + flagModes: { r: 0, "r+": 2, w: 577, "w+": 578, a: 1089, "a+": 1090 }, + modeStringToFlags: function(str) { + var flags = FS.flagModes[str]; + if (typeof flags === "undefined") { + throw new Error("Unknown file open mode: " + str); + } + return flags; + }, + flagsToPermissionString: function(flag) { + var perms = ["r", "w", "rw"][flag & 3]; + if (flag & 512) { + perms += "w"; + } + return perms; + }, + nodePermissions: function(node, perms) { + if (FS.ignorePermissions) { + return 0; + } + if (perms.includes("r") && !(node.mode & 292)) { + return 2; + } else if (perms.includes("w") && !(node.mode & 146)) { + return 2; + } else if (perms.includes("x") && !(node.mode & 73)) { + return 2; + } + return 0; + }, + mayLookup: function(dir) { + var errCode = FS.nodePermissions(dir, "x"); + if (errCode) + return errCode; + if (!dir.node_ops.lookup) + return 2; + return 0; + }, + mayCreate: function(dir, name) { + try { + var node = FS.lookupNode(dir, name); + return 20; + } catch (e) { + } + return FS.nodePermissions(dir, "wx"); + }, + mayDelete: function(dir, name, isdir) { + var node; + try { + node = FS.lookupNode(dir, name); + } catch (e) { + return e.errno; + } + var errCode = FS.nodePermissions(dir, "wx"); + if (errCode) { + return errCode; + } + if (isdir) { + if (!FS.isDir(node.mode)) { + return 54; + } + if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) { + return 10; + } + } else { + if (FS.isDir(node.mode)) { + return 31; + } + } + return 0; + }, + mayOpen: function(node, flags) { + if (!node) { + return 44; + } + if (FS.isLink(node.mode)) { + return 32; + } else if (FS.isDir(node.mode)) { + if (FS.flagsToPermissionString(flags) !== "r" || flags & 512) { + return 31; + } + } + return FS.nodePermissions(node, FS.flagsToPermissionString(flags)); + }, + MAX_OPEN_FDS: 4096, + nextfd: function(fd_start, fd_end) { + fd_start = fd_start || 0; + fd_end = fd_end || FS.MAX_OPEN_FDS; + for (var fd = fd_start; fd <= fd_end; fd++) { + if (!FS.streams[fd]) { + return fd; + } + } + throw new FS.ErrnoError(33); + }, + getStream: function(fd) { + return FS.streams[fd]; + }, + createStream: function(stream, fd_start, fd_end) { + if (!FS.FSStream) { + FS.FSStream = function() { + }; + FS.FSStream.prototype = { + object: { + get: function() { + return this.node; + }, + set: function(val) { + this.node = val; + } + }, + isRead: { + get: function() { + return (this.flags & 2097155) !== 1; + } + }, + isWrite: { + get: function() { + return (this.flags & 2097155) !== 0; + } + }, + isAppend: { + get: function() { + return this.flags & 1024; + } + } + }; + } + var newStream = new FS.FSStream(); + for (var p in stream) { + newStream[p] = stream[p]; + } + stream = newStream; + var fd = FS.nextfd(fd_start, fd_end); + stream.fd = fd; + FS.streams[fd] = stream; + return stream; + }, + closeStream: function(fd) { + FS.streams[fd] = null; + }, + chrdev_stream_ops: { + open: function(stream) { + var device = FS.getDevice(stream.node.rdev); + stream.stream_ops = device.stream_ops; + if (stream.stream_ops.open) { + stream.stream_ops.open(stream); + } + }, + llseek: function() { + throw new FS.ErrnoError(70); + } + }, + major: function(dev) { + return dev >> 8; + }, + minor: function(dev) { + return dev & 255; + }, + makedev: function(ma, mi) { + return ma << 8 | mi; + }, + registerDevice: function(dev, ops) { + FS.devices[dev] = { stream_ops: ops }; + }, + getDevice: function(dev) { + return FS.devices[dev]; + }, + getMounts: function(mount) { + var mounts = []; + var check = [mount]; + while (check.length) { + var m = check.pop(); + mounts.push(m); + check.push.apply(check, m.mounts); + } + return mounts; + }, + syncfs: function(populate, callback) { + if (typeof populate === "function") { + callback = populate; + populate = false; + } + FS.syncFSRequests++; + if (FS.syncFSRequests > 1) { + err( + "warning: " + FS.syncFSRequests + " FS.syncfs operations in flight at once, probably just doing extra work" + ); + } + var mounts = FS.getMounts(FS.root.mount); + var completed = 0; + function doCallback(errCode) { + FS.syncFSRequests--; + return callback(errCode); + } + function done(errCode) { + if (errCode) { + if (!done.errored) { + done.errored = true; + return doCallback(errCode); + } + return; + } + if (++completed >= mounts.length) { + doCallback(null); + } + } + mounts.forEach(function(mount) { + if (!mount.type.syncfs) { + return done(null); + } + mount.type.syncfs(mount, populate, done); + }); + }, + mount: function(type, opts, mountpoint) { + var root = mountpoint === "/"; + var pseudo = !mountpoint; + var node; + if (root && FS.root) { + throw new FS.ErrnoError(10); + } else if (!root && !pseudo) { + var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); + mountpoint = lookup.path; + node = lookup.node; + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(10); + } + if (!FS.isDir(node.mode)) { + throw new FS.ErrnoError(54); + } + } + var mount = { + type, + opts, + mountpoint, + mounts: [] + }; + var mountRoot = type.mount(mount); + mountRoot.mount = mount; + mount.root = mountRoot; + if (root) { + FS.root = mountRoot; + } else if (node) { + node.mounted = mount; + if (node.mount) { + node.mount.mounts.push(mount); + } + } + return mountRoot; + }, + unmount: function(mountpoint) { + var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); + if (!FS.isMountpoint(lookup.node)) { + throw new FS.ErrnoError(28); + } + var node = lookup.node; + var mount = node.mounted; + var mounts = FS.getMounts(mount); + Object.keys(FS.nameTable).forEach(function(hash) { + var current = FS.nameTable[hash]; + while (current) { + var next = current.name_next; + if (mounts.includes(current.mount)) { + FS.destroyNode(current); + } + current = next; + } + }); + node.mounted = null; + var idx = node.mount.mounts.indexOf(mount); + node.mount.mounts.splice(idx, 1); + }, + lookup: function(parent, name) { + return parent.node_ops.lookup(parent, name); + }, + mknod: function(path, mode, dev) { + var lookup = FS.lookupPath(path, { parent: true }); + var parent = lookup.node; + var name = PATH.basename(path); + if (!name || name === "." || name === "..") { + throw new FS.ErrnoError(28); + } + var errCode = FS.mayCreate(parent, name); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!parent.node_ops.mknod) { + throw new FS.ErrnoError(63); + } + return parent.node_ops.mknod(parent, name, mode, dev); + }, + create: function(path, mode) { + mode = mode !== void 0 ? mode : 438; + mode &= 4095; + mode |= 32768; + return FS.mknod(path, mode, 0); + }, + mkdir: function(path, mode) { + mode = mode !== void 0 ? mode : 511; + mode &= 511 | 512; + mode |= 16384; + return FS.mknod(path, mode, 0); + }, + mkdirTree: function(path, mode) { + var dirs = path.split("/"); + var d = ""; + for (var i = 0; i < dirs.length; ++i) { + if (!dirs[i]) + continue; + d += "/" + dirs[i]; + try { + FS.mkdir(d, mode); + } catch (e) { + if (e.errno != 20) + throw e; + } + } + }, + mkdev: function(path, mode, dev) { + if (typeof dev === "undefined") { + dev = mode; + mode = 438; + } + mode |= 8192; + return FS.mknod(path, mode, dev); + }, + symlink: function(oldpath, newpath) { + if (!PATH_FS.resolve(oldpath)) { + throw new FS.ErrnoError(44); + } + var lookup = FS.lookupPath(newpath, { parent: true }); + var parent = lookup.node; + if (!parent) { + throw new FS.ErrnoError(44); + } + var newname = PATH.basename(newpath); + var errCode = FS.mayCreate(parent, newname); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!parent.node_ops.symlink) { + throw new FS.ErrnoError(63); + } + return parent.node_ops.symlink(parent, newname, oldpath); + }, + rename: function(old_path, new_path) { + var old_dirname = PATH.dirname(old_path); + var new_dirname = PATH.dirname(new_path); + var old_name = PATH.basename(old_path); + var new_name = PATH.basename(new_path); + var lookup, old_dir, new_dir; + lookup = FS.lookupPath(old_path, { parent: true }); + old_dir = lookup.node; + lookup = FS.lookupPath(new_path, { parent: true }); + new_dir = lookup.node; + if (!old_dir || !new_dir) + throw new FS.ErrnoError(44); + if (old_dir.mount !== new_dir.mount) { + throw new FS.ErrnoError(75); + } + var old_node = FS.lookupNode(old_dir, old_name); + var relative = PATH_FS.relative(old_path, new_dirname); + if (relative.charAt(0) !== ".") { + throw new FS.ErrnoError(28); + } + relative = PATH_FS.relative(new_path, old_dirname); + if (relative.charAt(0) !== ".") { + throw new FS.ErrnoError(55); + } + var new_node; + try { + new_node = FS.lookupNode(new_dir, new_name); + } catch (e) { + } + if (old_node === new_node) { + return; + } + var isdir = FS.isDir(old_node.mode); + var errCode = FS.mayDelete(old_dir, old_name, isdir); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + errCode = new_node ? FS.mayDelete(new_dir, new_name, isdir) : FS.mayCreate(new_dir, new_name); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!old_dir.node_ops.rename) { + throw new FS.ErrnoError(63); + } + if (FS.isMountpoint(old_node) || new_node && FS.isMountpoint(new_node)) { + throw new FS.ErrnoError(10); + } + if (new_dir !== old_dir) { + errCode = FS.nodePermissions(old_dir, "w"); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + } + try { + if (FS.trackingDelegate["willMovePath"]) { + FS.trackingDelegate["willMovePath"](old_path, new_path); + } + } catch (e) { + err( + "FS.trackingDelegate['willMovePath']('" + old_path + "', '" + new_path + "') threw an exception: " + e.message + ); + } + FS.hashRemoveNode(old_node); + try { + old_dir.node_ops.rename(old_node, new_dir, new_name); + } catch (e) { + throw e; + } finally { + FS.hashAddNode(old_node); + } + try { + if (FS.trackingDelegate["onMovePath"]) + FS.trackingDelegate["onMovePath"](old_path, new_path); + } catch (e) { + err( + "FS.trackingDelegate['onMovePath']('" + old_path + "', '" + new_path + "') threw an exception: " + e.message + ); + } + }, + rmdir: function(path) { + var lookup = FS.lookupPath(path, { parent: true }); + var parent = lookup.node; + var name = PATH.basename(path); + var node = FS.lookupNode(parent, name); + var errCode = FS.mayDelete(parent, name, true); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!parent.node_ops.rmdir) { + throw new FS.ErrnoError(63); + } + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(10); + } + try { + if (FS.trackingDelegate["willDeletePath"]) { + FS.trackingDelegate["willDeletePath"](path); + } + } catch (e) { + err( + "FS.trackingDelegate['willDeletePath']('" + path + "') threw an exception: " + e.message + ); + } + parent.node_ops.rmdir(parent, name); + FS.destroyNode(node); + try { + if (FS.trackingDelegate["onDeletePath"]) + FS.trackingDelegate["onDeletePath"](path); + } catch (e) { + err( + "FS.trackingDelegate['onDeletePath']('" + path + "') threw an exception: " + e.message + ); + } + }, + readdir: function(path) { + var lookup = FS.lookupPath(path, { follow: true }); + var node = lookup.node; + if (!node.node_ops.readdir) { + throw new FS.ErrnoError(54); + } + return node.node_ops.readdir(node); + }, + unlink: function(path) { + var lookup = FS.lookupPath(path, { parent: true }); + var parent = lookup.node; + var name = PATH.basename(path); + var node = FS.lookupNode(parent, name); + var errCode = FS.mayDelete(parent, name, false); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!parent.node_ops.unlink) { + throw new FS.ErrnoError(63); + } + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(10); + } + try { + if (FS.trackingDelegate["willDeletePath"]) { + FS.trackingDelegate["willDeletePath"](path); + } + } catch (e) { + err( + "FS.trackingDelegate['willDeletePath']('" + path + "') threw an exception: " + e.message + ); + } + parent.node_ops.unlink(parent, name); + FS.destroyNode(node); + try { + if (FS.trackingDelegate["onDeletePath"]) + FS.trackingDelegate["onDeletePath"](path); + } catch (e) { + err( + "FS.trackingDelegate['onDeletePath']('" + path + "') threw an exception: " + e.message + ); + } + }, + readlink: function(path) { + var lookup = FS.lookupPath(path); + var link = lookup.node; + if (!link) { + throw new FS.ErrnoError(44); + } + if (!link.node_ops.readlink) { + throw new FS.ErrnoError(28); + } + return PATH_FS.resolve( + FS.getPath(link.parent), + link.node_ops.readlink(link) + ); + }, + stat: function(path, dontFollow) { + var lookup = FS.lookupPath(path, { follow: !dontFollow }); + var node = lookup.node; + if (!node) { + throw new FS.ErrnoError(44); + } + if (!node.node_ops.getattr) { + throw new FS.ErrnoError(63); + } + return node.node_ops.getattr(node); + }, + lstat: function(path) { + return FS.stat(path, true); + }, + chmod: function(path, mode, dontFollow) { + var node; + if (typeof path === "string") { + var lookup = FS.lookupPath(path, { follow: !dontFollow }); + node = lookup.node; + } else { + node = path; + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(63); + } + node.node_ops.setattr(node, { + mode: mode & 4095 | node.mode & ~4095, + timestamp: Date.now() + }); + }, + lchmod: function(path, mode) { + FS.chmod(path, mode, true); + }, + fchmod: function(fd, mode) { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(8); + } + FS.chmod(stream.node, mode); + }, + chown: function(path, uid, gid, dontFollow) { + var node; + if (typeof path === "string") { + var lookup = FS.lookupPath(path, { follow: !dontFollow }); + node = lookup.node; + } else { + node = path; + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(63); + } + node.node_ops.setattr(node, { timestamp: Date.now() }); + }, + lchown: function(path, uid, gid) { + FS.chown(path, uid, gid, true); + }, + fchown: function(fd, uid, gid) { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(8); + } + FS.chown(stream.node, uid, gid); + }, + truncate: function(path, len) { + if (len < 0) { + throw new FS.ErrnoError(28); + } + var node; + if (typeof path === "string") { + var lookup = FS.lookupPath(path, { follow: true }); + node = lookup.node; + } else { + node = path; + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(63); + } + if (FS.isDir(node.mode)) { + throw new FS.ErrnoError(31); + } + if (!FS.isFile(node.mode)) { + throw new FS.ErrnoError(28); + } + var errCode = FS.nodePermissions(node, "w"); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + node.node_ops.setattr(node, { size: len, timestamp: Date.now() }); + }, + ftruncate: function(fd, len) { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(8); + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(28); + } + FS.truncate(stream.node, len); + }, + utime: function(path, atime, mtime) { + var lookup = FS.lookupPath(path, { follow: true }); + var node = lookup.node; + node.node_ops.setattr(node, { timestamp: Math.max(atime, mtime) }); + }, + open: function(path, flags, mode, fd_start, fd_end) { + if (path === "") { + throw new FS.ErrnoError(44); + } + flags = typeof flags === "string" ? FS.modeStringToFlags(flags) : flags; + mode = typeof mode === "undefined" ? 438 : mode; + if (flags & 64) { + mode = mode & 4095 | 32768; + } else { + mode = 0; + } + var node; + if (typeof path === "object") { + node = path; + } else { + path = PATH.normalize(path); + try { + var lookup = FS.lookupPath(path, { follow: !(flags & 131072) }); + node = lookup.node; + } catch (e) { + } + } + var created = false; + if (flags & 64) { + if (node) { + if (flags & 128) { + throw new FS.ErrnoError(20); + } + } else { + node = FS.mknod(path, mode, 0); + created = true; + } + } + if (!node) { + throw new FS.ErrnoError(44); + } + if (FS.isChrdev(node.mode)) { + flags &= ~512; + } + if (flags & 65536 && !FS.isDir(node.mode)) { + throw new FS.ErrnoError(54); + } + if (!created) { + var errCode = FS.mayOpen(node, flags); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + } + if (flags & 512) { + FS.truncate(node, 0); + } + flags &= ~(128 | 512 | 131072); + var stream = FS.createStream( + { + node, + path: FS.getPath(node), + flags, + seekable: true, + position: 0, + stream_ops: node.stream_ops, + ungotten: [], + error: false + }, + fd_start, + fd_end + ); + if (stream.stream_ops.open) { + stream.stream_ops.open(stream); + } + if (Module["logReadFiles"] && !(flags & 1)) { + if (!FS.readFiles) + FS.readFiles = {}; + if (!(path in FS.readFiles)) { + FS.readFiles[path] = 1; + err("FS.trackingDelegate error on read file: " + path); + } + } + try { + if (FS.trackingDelegate["onOpenFile"]) { + var trackingFlags = 0; + if ((flags & 2097155) !== 1) { + trackingFlags |= FS.tracking.openFlags.READ; + } + if ((flags & 2097155) !== 0) { + trackingFlags |= FS.tracking.openFlags.WRITE; + } + FS.trackingDelegate["onOpenFile"](path, trackingFlags); + } + } catch (e) { + err( + "FS.trackingDelegate['onOpenFile']('" + path + "', flags) threw an exception: " + e.message + ); + } + return stream; + }, + close: function(stream) { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if (stream.getdents) + stream.getdents = null; + try { + if (stream.stream_ops.close) { + stream.stream_ops.close(stream); + } + } catch (e) { + throw e; + } finally { + FS.closeStream(stream.fd); + } + stream.fd = null; + }, + isClosed: function(stream) { + return stream.fd === null; + }, + llseek: function(stream, offset, whence) { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if (!stream.seekable || !stream.stream_ops.llseek) { + throw new FS.ErrnoError(70); + } + if (whence != 0 && whence != 1 && whence != 2) { + throw new FS.ErrnoError(28); + } + stream.position = stream.stream_ops.llseek(stream, offset, whence); + stream.ungotten = []; + return stream.position; + }, + read: function(stream, buffer2, offset, length, position) { + if (length < 0 || position < 0) { + throw new FS.ErrnoError(28); + } + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if ((stream.flags & 2097155) === 1) { + throw new FS.ErrnoError(8); + } + if (FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(31); + } + if (!stream.stream_ops.read) { + throw new FS.ErrnoError(28); + } + var seeking = typeof position !== "undefined"; + if (!seeking) { + position = stream.position; + } else if (!stream.seekable) { + throw new FS.ErrnoError(70); + } + var bytesRead = stream.stream_ops.read( + stream, + buffer2, + offset, + length, + position + ); + if (!seeking) + stream.position += bytesRead; + return bytesRead; + }, + write: function(stream, buffer2, offset, length, position, canOwn) { + if (length < 0 || position < 0) { + throw new FS.ErrnoError(28); + } + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(8); + } + if (FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(31); + } + if (!stream.stream_ops.write) { + throw new FS.ErrnoError(28); + } + if (stream.seekable && stream.flags & 1024) { + FS.llseek(stream, 0, 2); + } + var seeking = typeof position !== "undefined"; + if (!seeking) { + position = stream.position; + } else if (!stream.seekable) { + throw new FS.ErrnoError(70); + } + var bytesWritten = stream.stream_ops.write( + stream, + buffer2, + offset, + length, + position, + canOwn + ); + if (!seeking) + stream.position += bytesWritten; + try { + if (stream.path && FS.trackingDelegate["onWriteToFile"]) + FS.trackingDelegate["onWriteToFile"](stream.path); + } catch (e) { + err( + "FS.trackingDelegate['onWriteToFile']('" + stream.path + "') threw an exception: " + e.message + ); + } + return bytesWritten; + }, + allocate: function(stream, offset, length) { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if (offset < 0 || length <= 0) { + throw new FS.ErrnoError(28); + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(8); + } + if (!FS.isFile(stream.node.mode) && !FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(43); + } + if (!stream.stream_ops.allocate) { + throw new FS.ErrnoError(138); + } + stream.stream_ops.allocate(stream, offset, length); + }, + mmap: function(stream, address, length, position, prot, flags) { + if ((prot & 2) !== 0 && (flags & 2) === 0 && (stream.flags & 2097155) !== 2) { + throw new FS.ErrnoError(2); + } + if ((stream.flags & 2097155) === 1) { + throw new FS.ErrnoError(2); + } + if (!stream.stream_ops.mmap) { + throw new FS.ErrnoError(43); + } + return stream.stream_ops.mmap( + stream, + address, + length, + position, + prot, + flags + ); + }, + msync: function(stream, buffer2, offset, length, mmapFlags) { + if (!stream || !stream.stream_ops.msync) { + return 0; + } + return stream.stream_ops.msync( + stream, + buffer2, + offset, + length, + mmapFlags + ); + }, + munmap: function(stream) { + return 0; + }, + ioctl: function(stream, cmd, arg) { + if (!stream.stream_ops.ioctl) { + throw new FS.ErrnoError(59); + } + return stream.stream_ops.ioctl(stream, cmd, arg); + }, + readFile: function(path, opts) { + opts = opts || {}; + opts.flags = opts.flags || 0; + opts.encoding = opts.encoding || "binary"; + if (opts.encoding !== "utf8" && opts.encoding !== "binary") { + throw new Error('Invalid encoding type "' + opts.encoding + '"'); + } + var ret; + var stream = FS.open(path, opts.flags); + var stat = FS.stat(path); + var length = stat.size; + var buf = new Uint8Array(length); + FS.read(stream, buf, 0, length, 0); + if (opts.encoding === "utf8") { + ret = UTF8ArrayToString(buf, 0); + } else if (opts.encoding === "binary") { + ret = buf; + } + FS.close(stream); + return ret; + }, + writeFile: function(path, data, opts) { + opts = opts || {}; + opts.flags = opts.flags || 577; + var stream = FS.open(path, opts.flags, opts.mode); + if (typeof data === "string") { + var buf = new Uint8Array(lengthBytesUTF8(data) + 1); + var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length); + FS.write(stream, buf, 0, actualNumBytes, void 0, opts.canOwn); + } else if (ArrayBuffer.isView(data)) { + FS.write(stream, data, 0, data.byteLength, void 0, opts.canOwn); + } else { + throw new Error("Unsupported data type"); + } + FS.close(stream); + }, + cwd: function() { + return FS.currentPath; + }, + chdir: function(path) { + var lookup = FS.lookupPath(path, { follow: true }); + if (lookup.node === null) { + throw new FS.ErrnoError(44); + } + if (!FS.isDir(lookup.node.mode)) { + throw new FS.ErrnoError(54); + } + var errCode = FS.nodePermissions(lookup.node, "x"); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + FS.currentPath = lookup.path; + }, + createDefaultDirectories: function() { + FS.mkdir("/tmp"); + FS.mkdir("/home"); + FS.mkdir("/home/web_user"); + }, + createDefaultDevices: function() { + FS.mkdir("/dev"); + FS.registerDevice(FS.makedev(1, 3), { + read: function() { + return 0; + }, + write: function(stream, buffer2, offset, length, pos) { + return length; + } + }); + FS.mkdev("/dev/null", FS.makedev(1, 3)); + TTY.register(FS.makedev(5, 0), TTY.default_tty_ops); + TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops); + FS.mkdev("/dev/tty", FS.makedev(5, 0)); + FS.mkdev("/dev/tty1", FS.makedev(6, 0)); + var random_device = getRandomDevice(); + FS.createDevice("/dev", "random", random_device); + FS.createDevice("/dev", "urandom", random_device); + FS.mkdir("/dev/shm"); + FS.mkdir("/dev/shm/tmp"); + }, + createSpecialDirectories: function() { + FS.mkdir("/proc"); + var proc_self = FS.mkdir("/proc/self"); + FS.mkdir("/proc/self/fd"); + FS.mount( + { + mount: function() { + var node = FS.createNode(proc_self, "fd", 16384 | 511, 73); + node.node_ops = { + lookup: function(parent, name) { + var fd = +name; + var stream = FS.getStream(fd); + if (!stream) + throw new FS.ErrnoError(8); + var ret = { + parent: null, + mount: { mountpoint: "fake" }, + node_ops: { + readlink: function() { + return stream.path; + } + } + }; + ret.parent = ret; + return ret; + } + }; + return node; + } + }, + {}, + "/proc/self/fd" + ); + }, + createStandardStreams: function() { + if (Module["stdin"]) { + FS.createDevice("/dev", "stdin", Module["stdin"]); + } else { + FS.symlink("/dev/tty", "/dev/stdin"); + } + if (Module["stdout"]) { + FS.createDevice("/dev", "stdout", null, Module["stdout"]); + } else { + FS.symlink("/dev/tty", "/dev/stdout"); + } + if (Module["stderr"]) { + FS.createDevice("/dev", "stderr", null, Module["stderr"]); + } else { + FS.symlink("/dev/tty1", "/dev/stderr"); + } + FS.open("/dev/stdin", 0); + FS.open("/dev/stdout", 1); + FS.open("/dev/stderr", 1); + }, + ensureErrnoError: function() { + if (FS.ErrnoError) + return; + FS.ErrnoError = function ErrnoError(errno, node) { + this.node = node; + this.setErrno = function(errno2) { + this.errno = errno2; + }; + this.setErrno(errno); + this.message = "FS error"; + }; + FS.ErrnoError.prototype = new Error(); + FS.ErrnoError.prototype.constructor = FS.ErrnoError; + [44].forEach(function(code) { + FS.genericErrors[code] = new FS.ErrnoError(code); + FS.genericErrors[code].stack = ""; + }); + }, + staticInit: function() { + FS.ensureErrnoError(); + FS.nameTable = new Array(4096); + FS.mount(MEMFS, {}, "/"); + FS.createDefaultDirectories(); + FS.createDefaultDevices(); + FS.createSpecialDirectories(); + FS.filesystems = { MEMFS, NODEFS }; + }, + init: function(input, output, error) { + FS.init.initialized = true; + FS.ensureErrnoError(); + Module["stdin"] = input || Module["stdin"]; + Module["stdout"] = output || Module["stdout"]; + Module["stderr"] = error || Module["stderr"]; + FS.createStandardStreams(); + }, + quit: function() { + FS.init.initialized = false; + var fflush = Module["_fflush"]; + if (fflush) + fflush(0); + for (var i = 0; i < FS.streams.length; i++) { + var stream = FS.streams[i]; + if (!stream) { + continue; + } + FS.close(stream); + } + }, + getMode: function(canRead, canWrite) { + var mode = 0; + if (canRead) + mode |= 292 | 73; + if (canWrite) + mode |= 146; + return mode; + }, + findObject: function(path, dontResolveLastLink) { + var ret = FS.analyzePath(path, dontResolveLastLink); + if (ret.exists) { + return ret.object; + } else { + return null; + } + }, + analyzePath: function(path, dontResolveLastLink) { + try { + var lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); + path = lookup.path; + } catch (e) { + } + var ret = { + isRoot: false, + exists: false, + error: 0, + name: null, + path: null, + object: null, + parentExists: false, + parentPath: null, + parentObject: null + }; + try { + var lookup = FS.lookupPath(path, { parent: true }); + ret.parentExists = true; + ret.parentPath = lookup.path; + ret.parentObject = lookup.node; + ret.name = PATH.basename(path); + lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); + ret.exists = true; + ret.path = lookup.path; + ret.object = lookup.node; + ret.name = lookup.node.name; + ret.isRoot = lookup.path === "/"; + } catch (e) { + ret.error = e.errno; + } + return ret; + }, + createPath: function(parent, path, canRead, canWrite) { + parent = typeof parent === "string" ? parent : FS.getPath(parent); + var parts = path.split("/").reverse(); + while (parts.length) { + var part = parts.pop(); + if (!part) + continue; + var current = PATH.join2(parent, part); + try { + FS.mkdir(current); + } catch (e) { + } + parent = current; + } + return current; + }, + createFile: function(parent, name, properties, canRead, canWrite) { + var path = PATH.join2( + typeof parent === "string" ? parent : FS.getPath(parent), + name + ); + var mode = FS.getMode(canRead, canWrite); + return FS.create(path, mode); + }, + createDataFile: function(parent, name, data, canRead, canWrite, canOwn) { + var path = name ? PATH.join2( + typeof parent === "string" ? parent : FS.getPath(parent), + name + ) : parent; + var mode = FS.getMode(canRead, canWrite); + var node = FS.create(path, mode); + if (data) { + if (typeof data === "string") { + var arr = new Array(data.length); + for (var i = 0, len = data.length; i < len; ++i) + arr[i] = data.charCodeAt(i); + data = arr; + } + FS.chmod(node, mode | 146); + var stream = FS.open(node, 577); + FS.write(stream, data, 0, data.length, 0, canOwn); + FS.close(stream); + FS.chmod(node, mode); + } + return node; + }, + createDevice: function(parent, name, input, output) { + var path = PATH.join2( + typeof parent === "string" ? parent : FS.getPath(parent), + name + ); + var mode = FS.getMode(!!input, !!output); + if (!FS.createDevice.major) + FS.createDevice.major = 64; + var dev = FS.makedev(FS.createDevice.major++, 0); + FS.registerDevice(dev, { + open: function(stream) { + stream.seekable = false; + }, + close: function(stream) { + if (output && output.buffer && output.buffer.length) { + output(10); + } + }, + read: function(stream, buffer2, offset, length, pos) { + var bytesRead = 0; + for (var i = 0; i < length; i++) { + var result; + try { + result = input(); + } catch (e) { + throw new FS.ErrnoError(29); + } + if (result === void 0 && bytesRead === 0) { + throw new FS.ErrnoError(6); + } + if (result === null || result === void 0) + break; + bytesRead++; + buffer2[offset + i] = result; + } + if (bytesRead) { + stream.node.timestamp = Date.now(); + } + return bytesRead; + }, + write: function(stream, buffer2, offset, length, pos) { + for (var i = 0; i < length; i++) { + try { + output(buffer2[offset + i]); + } catch (e) { + throw new FS.ErrnoError(29); + } + } + if (length) { + stream.node.timestamp = Date.now(); + } + return i; + } + }); + return FS.mkdev(path, mode, dev); + }, + forceLoadFile: function(obj) { + if (obj.isDevice || obj.isFolder || obj.link || obj.contents) + return true; + if (read_) { + try { + obj.contents = intArrayFromString(read_(obj.url), true); + obj.usedBytes = obj.contents.length; + } catch (e) { + throw new FS.ErrnoError(29); + } + } else { + throw new Error("Cannot load without read() or XMLHttpRequest."); + } + }, + createLazyFile: function(parent, name, url, canRead, canWrite) { + var properties; { + var properties = { isDevice: false, url }; + } + var node = FS.createFile(parent, name, properties, canRead, canWrite); + if (properties.contents) { + node.contents = properties.contents; + } else if (properties.url) { + node.contents = null; + node.url = properties.url; + } + Object.defineProperties(node, { + usedBytes: { + get: function() { + return this.contents.length; + } + } + }); + var stream_ops = {}; + var keys = Object.keys(node.stream_ops); + keys.forEach(function(key2) { + var fn = node.stream_ops[key2]; + stream_ops[key2] = function forceLoadLazyFile() { + FS.forceLoadFile(node); + return fn.apply(null, arguments); + }; + }); + stream_ops.read = function stream_ops_read(stream, buffer2, offset, length, position) { + FS.forceLoadFile(node); + var contents = stream.node.contents; + if (position >= contents.length) + return 0; + var size = Math.min(contents.length - position, length); + if (contents.slice) { + for (var i = 0; i < size; i++) { + buffer2[offset + i] = contents[position + i]; + } + } else { + for (var i = 0; i < size; i++) { + buffer2[offset + i] = contents.get(position + i); + } + } + return size; + }; + node.stream_ops = stream_ops; + return node; + }, + createPreloadedFile: function(parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish) { + Browser.init(); + var fullname = name ? PATH_FS.resolve(PATH.join2(parent, name)) : parent; + function processData(byteArray) { + function finish(byteArray2) { + if (preFinish) + preFinish(); + if (!dontCreateFile) { + FS.createDataFile( + parent, + name, + byteArray2, + canRead, + canWrite, + canOwn + ); + } + if (onload) + onload(); + removeRunDependency(); + } + var handled = false; + Module["preloadPlugins"].forEach(function(plugin) { + if (handled) + return; + if (plugin["canHandle"](fullname)) { + plugin["handle"](byteArray, fullname, finish, function() { + if (onerror) + onerror(); + removeRunDependency(); + }); + handled = true; + } + }); + if (!handled) + finish(byteArray); + } + addRunDependency(); + if (typeof url == "string") { + Browser.asyncLoad( + url, + function(byteArray) { + processData(byteArray); + }, + onerror + ); + } else { + processData(url); + } + }, + indexedDB: function() { + return window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB; + }, + DB_NAME: function() { + return "EM_FS_" + window.location.pathname; + }, + DB_VERSION: 20, + DB_STORE_NAME: "FILE_DATA", + saveFilesToDB: function(paths, onload, onerror) { + onload = onload || function() { + }; + onerror = onerror || function() { + }; + var indexedDB = FS.indexedDB(); + try { + var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION); + } catch (e) { + return onerror(e); + } + openRequest.onupgradeneeded = function openRequest_onupgradeneeded() { + out("creating db"); + var db = openRequest.result; + db.createObjectStore(FS.DB_STORE_NAME); + }; + openRequest.onsuccess = function openRequest_onsuccess() { + var db = openRequest.result; + var transaction = db.transaction([FS.DB_STORE_NAME], "readwrite"); + var files = transaction.objectStore(FS.DB_STORE_NAME); + var ok = 0, fail = 0, total = paths.length; + function finish() { + if (fail == 0) + onload(); + else + onerror(); + } + paths.forEach(function(path) { + var putRequest = files.put( + FS.analyzePath(path).object.contents, + path + ); + putRequest.onsuccess = function putRequest_onsuccess() { + ok++; + if (ok + fail == total) + finish(); + }; + putRequest.onerror = function putRequest_onerror() { + fail++; + if (ok + fail == total) + finish(); + }; + }); + transaction.onerror = onerror; + }; + openRequest.onerror = onerror; + }, + loadFilesFromDB: function(paths, onload, onerror) { + onload = onload || function() { + }; + onerror = onerror || function() { + }; + var indexedDB = FS.indexedDB(); + try { + var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION); + } catch (e) { + return onerror(e); + } + openRequest.onupgradeneeded = onerror; + openRequest.onsuccess = function openRequest_onsuccess() { + var db = openRequest.result; + try { + var transaction = db.transaction([FS.DB_STORE_NAME], "readonly"); + } catch (e) { + onerror(e); + return; + } + var files = transaction.objectStore(FS.DB_STORE_NAME); + var ok = 0, fail = 0, total = paths.length; + function finish() { + if (fail == 0) + onload(); + else + onerror(); + } + paths.forEach(function(path) { + var getRequest = files.get(path); + getRequest.onsuccess = function getRequest_onsuccess() { + if (FS.analyzePath(path).exists) { + FS.unlink(path); + } + FS.createDataFile( + PATH.dirname(path), + PATH.basename(path), + getRequest.result, + true, + true, + true + ); + ok++; + if (ok + fail == total) + finish(); + }; + getRequest.onerror = function getRequest_onerror() { + fail++; + if (ok + fail == total) + finish(); + }; + }); + transaction.onerror = onerror; + }; + openRequest.onerror = onerror; + } + }; + var SYSCALLS = { + mappings: {}, + DEFAULT_POLLMASK: 5, + umask: 511, + calculateAt: function(dirfd, path, allowEmpty) { + if (path[0] === "/") { + return path; + } + var dir; + if (dirfd === -100) { + dir = FS.cwd(); + } else { + var dirstream = FS.getStream(dirfd); + if (!dirstream) + throw new FS.ErrnoError(8); + dir = dirstream.path; + } + if (path.length == 0) { + if (!allowEmpty) { + throw new FS.ErrnoError(44); + } + return dir; + } + return PATH.join2(dir, path); + }, + doStat: function(func, path, buf) { + try { + var stat = func(path); + } catch (e) { + if (e && e.node && PATH.normalize(path) !== PATH.normalize(FS.getPath(e.node))) { + return -54; + } + throw e; + } + HEAP32[buf >> 2] = stat.dev; + HEAP32[buf + 4 >> 2] = 0; + HEAP32[buf + 8 >> 2] = stat.ino; + HEAP32[buf + 12 >> 2] = stat.mode; + HEAP32[buf + 16 >> 2] = stat.nlink; + HEAP32[buf + 20 >> 2] = stat.uid; + HEAP32[buf + 24 >> 2] = stat.gid; + HEAP32[buf + 28 >> 2] = stat.rdev; + HEAP32[buf + 32 >> 2] = 0; + tempI64 = [ + stat.size >>> 0, + (tempDouble = stat.size, +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil( + (tempDouble - +(~~tempDouble >>> 0)) / 4294967296 + ) >>> 0 : 0) + ], HEAP32[buf + 40 >> 2] = tempI64[0], HEAP32[buf + 44 >> 2] = tempI64[1]; + HEAP32[buf + 48 >> 2] = 4096; + HEAP32[buf + 52 >> 2] = stat.blocks; + HEAP32[buf + 56 >> 2] = stat.atime.getTime() / 1e3 | 0; + HEAP32[buf + 60 >> 2] = 0; + HEAP32[buf + 64 >> 2] = stat.mtime.getTime() / 1e3 | 0; + HEAP32[buf + 68 >> 2] = 0; + HEAP32[buf + 72 >> 2] = stat.ctime.getTime() / 1e3 | 0; + HEAP32[buf + 76 >> 2] = 0; + tempI64 = [ + stat.ino >>> 0, + (tempDouble = stat.ino, +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil( + (tempDouble - +(~~tempDouble >>> 0)) / 4294967296 + ) >>> 0 : 0) + ], HEAP32[buf + 80 >> 2] = tempI64[0], HEAP32[buf + 84 >> 2] = tempI64[1]; + return 0; + }, + doMsync: function(addr, stream, len, flags, offset) { + var buffer2 = HEAPU8.slice(addr, addr + len); + FS.msync(stream, buffer2, offset, len, flags); + }, + doMkdir: function(path, mode) { + path = PATH.normalize(path); + if (path[path.length - 1] === "/") + path = path.substr(0, path.length - 1); + FS.mkdir(path, mode, 0); + return 0; + }, + doMknod: function(path, mode, dev) { + switch (mode & 61440) { + case 32768: + case 8192: + case 24576: + case 4096: + case 49152: + break; + default: + return -28; + } + FS.mknod(path, mode, dev); + return 0; + }, + doReadlink: function(path, buf, bufsize) { + if (bufsize <= 0) + return -28; + var ret = FS.readlink(path); + var len = Math.min(bufsize, lengthBytesUTF8(ret)); + var endChar = HEAP8[buf + len]; + stringToUTF8(ret, buf, bufsize + 1); + HEAP8[buf + len] = endChar; + return len; + }, + doAccess: function(path, amode) { + if (amode & ~7) { + return -28; + } + var node; + var lookup = FS.lookupPath(path, { follow: true }); + node = lookup.node; + if (!node) { + return -44; + } + var perms = ""; + if (amode & 4) + perms += "r"; + if (amode & 2) + perms += "w"; + if (amode & 1) + perms += "x"; + if (perms && FS.nodePermissions(node, perms)) { + return -2; + } + return 0; + }, + doDup: function(path, flags, suggestFD) { + var suggest = FS.getStream(suggestFD); + if (suggest) + FS.close(suggest); + return FS.open(path, flags, 0, suggestFD, suggestFD).fd; + }, + doReadv: function(stream, iov, iovcnt, offset) { + var ret = 0; + for (var i = 0; i < iovcnt; i++) { + var ptr = HEAP32[iov + i * 8 >> 2]; + var len = HEAP32[iov + (i * 8 + 4) >> 2]; + var curr = FS.read(stream, HEAP8, ptr, len, offset); + if (curr < 0) + return -1; + ret += curr; + if (curr < len) + break; + } + return ret; + }, + doWritev: function(stream, iov, iovcnt, offset) { + var ret = 0; + for (var i = 0; i < iovcnt; i++) { + var ptr = HEAP32[iov + i * 8 >> 2]; + var len = HEAP32[iov + (i * 8 + 4) >> 2]; + var curr = FS.write(stream, HEAP8, ptr, len, offset); + if (curr < 0) + return -1; + ret += curr; + } + return ret; + }, + varargs: void 0, + get: function() { + SYSCALLS.varargs += 4; + var ret = HEAP32[SYSCALLS.varargs - 4 >> 2]; + return ret; + }, + getStr: function(ptr) { + var ret = UTF8ToString(ptr); + return ret; + }, + getStreamFromFD: function(fd) { + var stream = FS.getStream(fd); + if (!stream) + throw new FS.ErrnoError(8); + return stream; + }, + get64: function(low, high) { + return low; + } + }; + function ___sys_chmod(path, mode) { + try { + path = SYSCALLS.getStr(path); + FS.chmod(path, mode); + return 0; + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) + abort(e); + return -e.errno; + } + } + function setErrNo(value) { + HEAP32[___errno_location() >> 2] = value; + return value; + } + function ___sys_fcntl64(fd, cmd, varargs) { + SYSCALLS.varargs = varargs; + try { + var stream = SYSCALLS.getStreamFromFD(fd); + switch (cmd) { + case 0: { + var arg = SYSCALLS.get(); + if (arg < 0) { + return -28; + } + var newStream; + newStream = FS.open(stream.path, stream.flags, 0, arg); + return newStream.fd; + } + case 1: + case 2: + return 0; + case 3: + return stream.flags; + case 4: { + var arg = SYSCALLS.get(); + stream.flags |= arg; + return 0; + } + case 12: { + var arg = SYSCALLS.get(); + var offset = 0; + HEAP16[arg + offset >> 1] = 2; + return 0; + } + case 13: + case 14: + return 0; + case 16: + case 8: + return -28; + case 9: + setErrNo(28); + return -1; + default: { + return -28; + } + } + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) + abort(e); + return -e.errno; + } + } + function ___sys_fstat64(fd, buf) { + try { + var stream = SYSCALLS.getStreamFromFD(fd); + return SYSCALLS.doStat(FS.stat, stream.path, buf); + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) + abort(e); + return -e.errno; + } + } + function ___sys_ioctl(fd, op, varargs) { + SYSCALLS.varargs = varargs; + try { + var stream = SYSCALLS.getStreamFromFD(fd); + switch (op) { + case 21509: + case 21505: { + if (!stream.tty) + return -59; + return 0; + } + case 21510: + case 21511: + case 21512: + case 21506: + case 21507: + case 21508: { + if (!stream.tty) + return -59; + return 0; + } + case 21519: { + if (!stream.tty) + return -59; + var argp = SYSCALLS.get(); + HEAP32[argp >> 2] = 0; + return 0; + } + case 21520: { + if (!stream.tty) + return -59; + return -28; + } + case 21531: { + var argp = SYSCALLS.get(); + return FS.ioctl(stream, op, argp); + } + case 21523: { + if (!stream.tty) + return -59; + return 0; + } + case 21524: { + if (!stream.tty) + return -59; + return 0; + } + default: + abort("bad ioctl syscall " + op); + } + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) + abort(e); + return -e.errno; + } + } + function ___sys_open(path, flags, varargs) { + SYSCALLS.varargs = varargs; + try { + var pathname = SYSCALLS.getStr(path); + var mode = varargs ? SYSCALLS.get() : 0; + var stream = FS.open(pathname, flags, mode); + return stream.fd; + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) + abort(e); + return -e.errno; + } + } + function ___sys_rename(old_path, new_path) { + try { + old_path = SYSCALLS.getStr(old_path); + new_path = SYSCALLS.getStr(new_path); + FS.rename(old_path, new_path); + return 0; + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) + abort(e); + return -e.errno; + } + } + function ___sys_rmdir(path) { + try { + path = SYSCALLS.getStr(path); + FS.rmdir(path); + return 0; + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) + abort(e); + return -e.errno; + } + } + function ___sys_stat64(path, buf) { + try { + path = SYSCALLS.getStr(path); + return SYSCALLS.doStat(FS.stat, path, buf); + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) + abort(e); + return -e.errno; + } + } + function ___sys_unlink(path) { + try { + path = SYSCALLS.getStr(path); + FS.unlink(path); + return 0; + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) + abort(e); + return -e.errno; + } + } + function _emscripten_memcpy_big(dest, src, num) { + HEAPU8.copyWithin(dest, src, src + num); + } + function emscripten_realloc_buffer(size) { + try { + wasmMemory.grow(size - buffer.byteLength + 65535 >>> 16); + updateGlobalBufferAndViews(wasmMemory.buffer); + return 1; + } catch (e) { + } + } + function _emscripten_resize_heap(requestedSize) { + var oldSize = HEAPU8.length; + requestedSize = requestedSize >>> 0; + var maxHeapSize = 2147483648; + if (requestedSize > maxHeapSize) { + return false; + } + for (var cutDown = 1; cutDown <= 4; cutDown *= 2) { + var overGrownHeapSize = oldSize * (1 + 0.2 / cutDown); + overGrownHeapSize = Math.min( + overGrownHeapSize, + requestedSize + 100663296 + ); + var newSize = Math.min( + maxHeapSize, + alignUp(Math.max(requestedSize, overGrownHeapSize), 65536) + ); + var replacement = emscripten_realloc_buffer(newSize); + if (replacement) { + return true; + } + } + return false; + } + function _fd_close(fd) { + try { + var stream = SYSCALLS.getStreamFromFD(fd); + FS.close(stream); + return 0; + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) + abort(e); + return e.errno; + } + } + function _fd_fdstat_get(fd, pbuf) { + try { + var stream = SYSCALLS.getStreamFromFD(fd); + var type = stream.tty ? 2 : FS.isDir(stream.mode) ? 3 : FS.isLink(stream.mode) ? 7 : 4; + HEAP8[pbuf >> 0] = type; + return 0; + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) + abort(e); + return e.errno; + } + } + function _fd_read(fd, iov, iovcnt, pnum) { + try { + var stream = SYSCALLS.getStreamFromFD(fd); + var num = SYSCALLS.doReadv(stream, iov, iovcnt); + HEAP32[pnum >> 2] = num; + return 0; + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) + abort(e); + return e.errno; + } + } + function _fd_seek(fd, offset_low, offset_high, whence, newOffset) { + try { + var stream = SYSCALLS.getStreamFromFD(fd); + var HIGH_OFFSET = 4294967296; + var offset = offset_high * HIGH_OFFSET + (offset_low >>> 0); + var DOUBLE_LIMIT = 9007199254740992; + if (offset <= -DOUBLE_LIMIT || offset >= DOUBLE_LIMIT) { + return -61; + } + FS.llseek(stream, offset, whence); + tempI64 = [ + stream.position >>> 0, + (tempDouble = stream.position, +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil( + (tempDouble - +(~~tempDouble >>> 0)) / 4294967296 + ) >>> 0 : 0) + ], HEAP32[newOffset >> 2] = tempI64[0], HEAP32[newOffset + 4 >> 2] = tempI64[1]; + if (stream.getdents && offset === 0 && whence === 0) + stream.getdents = null; + return 0; + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) + abort(e); + return e.errno; + } + } + function _fd_write(fd, iov, iovcnt, pnum) { + try { + var stream = SYSCALLS.getStreamFromFD(fd); + var num = SYSCALLS.doWritev(stream, iov, iovcnt); + HEAP32[pnum >> 2] = num; + return 0; + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) + abort(e); + return e.errno; + } + } + function _setTempRet0(val) { + } + function _time(ptr) { + var ret = Date.now() / 1e3 | 0; + if (ptr) { + HEAP32[ptr >> 2] = ret; + } + return ret; + } + function _tzset() { + if (_tzset.called) + return; + _tzset.called = true; + var currentYear = new Date().getFullYear(); + var winter = new Date(currentYear, 0, 1); + var summer = new Date(currentYear, 6, 1); + var winterOffset = winter.getTimezoneOffset(); + var summerOffset = summer.getTimezoneOffset(); + var stdTimezoneOffset = Math.max(winterOffset, summerOffset); + HEAP32[__get_timezone() >> 2] = stdTimezoneOffset * 60; + HEAP32[__get_daylight() >> 2] = Number(winterOffset != summerOffset); + function extractZone(date) { + var match = date.toTimeString().match(/\(([A-Za-z ]+)\)$/); + return match ? match[1] : "GMT"; + } + var winterName = extractZone(winter); + var summerName = extractZone(summer); + var winterNamePtr = allocateUTF8(winterName); + var summerNamePtr = allocateUTF8(summerName); + if (summerOffset < winterOffset) { + HEAP32[__get_tzname() >> 2] = winterNamePtr; + HEAP32[__get_tzname() + 4 >> 2] = summerNamePtr; + } else { + HEAP32[__get_tzname() >> 2] = summerNamePtr; + HEAP32[__get_tzname() + 4 >> 2] = winterNamePtr; + } + } + function _timegm(tmPtr) { + _tzset(); + var time = Date.UTC( + HEAP32[tmPtr + 20 >> 2] + 1900, + HEAP32[tmPtr + 16 >> 2], + HEAP32[tmPtr + 12 >> 2], + HEAP32[tmPtr + 8 >> 2], + HEAP32[tmPtr + 4 >> 2], + HEAP32[tmPtr >> 2], + 0 + ); + var date = new Date(time); + HEAP32[tmPtr + 24 >> 2] = date.getUTCDay(); + var start = Date.UTC(date.getUTCFullYear(), 0, 1, 0, 0, 0, 0); + var yday = (date.getTime() - start) / (1e3 * 60 * 60 * 24) | 0; + HEAP32[tmPtr + 28 >> 2] = yday; + return date.getTime() / 1e3 | 0; + } + var FSNode = function(parent, name, mode, rdev) { + if (!parent) { + parent = this; + } + this.parent = parent; + this.mount = parent.mount; + this.mounted = null; + this.id = FS.nextInode++; + this.name = name; + this.mode = mode; + this.node_ops = {}; + this.stream_ops = {}; + this.rdev = rdev; + }; + var readMode = 292 | 73; + var writeMode = 146; + Object.defineProperties(FSNode.prototype, { + read: { + get: function() { + return (this.mode & readMode) === readMode; + }, + set: function(val) { + val ? this.mode |= readMode : this.mode &= ~readMode; + } + }, + write: { + get: function() { + return (this.mode & writeMode) === writeMode; + }, + set: function(val) { + val ? this.mode |= writeMode : this.mode &= ~writeMode; + } + }, + isFolder: { + get: function() { + return FS.isDir(this.mode); + } + }, + isDevice: { + get: function() { + return FS.isChrdev(this.mode); + } + } + }); + FS.FSNode = FSNode; + FS.staticInit(); + { + var fs = frozenFs; + var NODEJS_PATH = path__default.default; + NODEFS.staticInit(); + } + { + var _wrapNodeError = function(func) { + return function() { + try { + return func.apply(this, arguments); + } catch (e) { + if (!e.code) + throw e; + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + }; + }; + var VFS = Object.assign({}, FS); + for (var _key in NODERAWFS) + FS[_key] = _wrapNodeError(NODERAWFS[_key]); + } + function intArrayFromString(stringy, dontAddNull, length) { + var len = length > 0 ? length : lengthBytesUTF8(stringy) + 1; + var u8array = new Array(len); + var numBytesWritten = stringToUTF8Array( + stringy, + u8array, + 0, + u8array.length + ); + if (dontAddNull) + u8array.length = numBytesWritten; + return u8array; + } + function intArrayFromBase64(s) { + { + var buf; + try { + buf = Buffer.from(s, "base64"); + } catch (_) { + buf = new Buffer(s, "base64"); + } + return new Uint8Array( + buf["buffer"], + buf["byteOffset"], + buf["byteLength"] + ); + } + } + function tryParseAsDataURI(filename) { + if (!isDataURI(filename)) { + return; + } + return intArrayFromBase64(filename.slice(dataURIPrefix.length)); + } + var asmLibraryArg = { + s: ___gmtime_r, + p: ___sys_chmod, + e: ___sys_fcntl64, + k: ___sys_fstat64, + o: ___sys_ioctl, + q: ___sys_open, + i: ___sys_rename, + r: ___sys_rmdir, + c: ___sys_stat64, + h: ___sys_unlink, + l: _emscripten_memcpy_big, + m: _emscripten_resize_heap, + f: _fd_close, + j: _fd_fdstat_get, + g: _fd_read, + n: _fd_seek, + d: _fd_write, + a: _setTempRet0, + b: _time, + t: _timegm + }; + var asm = createWasm(); + Module["___wasm_call_ctors"] = asm["v"]; + Module["_zip_ext_count_symlinks"] = asm["w"]; + Module["_zip_file_get_external_attributes"] = asm["x"]; + Module["_zipstruct_stat"] = asm["y"]; + Module["_zipstruct_statS"] = asm["z"]; + Module["_zipstruct_stat_name"] = asm["A"]; + Module["_zipstruct_stat_index"] = asm["B"]; + Module["_zipstruct_stat_size"] = asm["C"]; + Module["_zipstruct_stat_mtime"] = asm["D"]; + Module["_zipstruct_stat_crc"] = asm["E"]; + Module["_zipstruct_error"] = asm["F"]; + Module["_zipstruct_errorS"] = asm["G"]; + Module["_zipstruct_error_code_zip"] = asm["H"]; + Module["_zipstruct_stat_comp_size"] = asm["I"]; + Module["_zipstruct_stat_comp_method"] = asm["J"]; + Module["_zip_close"] = asm["K"]; + Module["_zip_delete"] = asm["L"]; + Module["_zip_dir_add"] = asm["M"]; + Module["_zip_discard"] = asm["N"]; + Module["_zip_error_init_with_code"] = asm["O"]; + Module["_zip_get_error"] = asm["P"]; + Module["_zip_file_get_error"] = asm["Q"]; + Module["_zip_error_strerror"] = asm["R"]; + Module["_zip_fclose"] = asm["S"]; + Module["_zip_file_add"] = asm["T"]; + Module["_free"] = asm["U"]; + var _malloc = Module["_malloc"] = asm["V"]; + var ___errno_location = Module["___errno_location"] = asm["W"]; + Module["_zip_source_error"] = asm["X"]; + Module["_zip_source_seek"] = asm["Y"]; + Module["_zip_file_set_external_attributes"] = asm["Z"]; + Module["_zip_file_set_mtime"] = asm["_"]; + Module["_zip_fopen"] = asm["$"]; + Module["_zip_fopen_index"] = asm["aa"]; + Module["_zip_fread"] = asm["ba"]; + Module["_zip_get_name"] = asm["ca"]; + Module["_zip_get_num_entries"] = asm["da"]; + Module["_zip_source_read"] = asm["ea"]; + Module["_zip_name_locate"] = asm["fa"]; + Module["_zip_open"] = asm["ga"]; + Module["_zip_open_from_source"] = asm["ha"]; + Module["_zip_set_file_compression"] = asm["ia"]; + Module["_zip_source_buffer"] = asm["ja"]; + Module["_zip_source_buffer_create"] = asm["ka"]; + Module["_zip_source_close"] = asm["la"]; + Module["_zip_source_free"] = asm["ma"]; + Module["_zip_source_keep"] = asm["na"]; + Module["_zip_source_open"] = asm["oa"]; + Module["_zip_source_set_mtime"] = asm["qa"]; + Module["_zip_source_tell"] = asm["ra"]; + Module["_zip_stat"] = asm["sa"]; + Module["_zip_stat_index"] = asm["ta"]; + var __get_tzname = Module["__get_tzname"] = asm["ua"]; + var __get_daylight = Module["__get_daylight"] = asm["va"]; + var __get_timezone = Module["__get_timezone"] = asm["wa"]; + var stackSave = Module["stackSave"] = asm["xa"]; + var stackRestore = Module["stackRestore"] = asm["ya"]; + var stackAlloc = Module["stackAlloc"] = asm["za"]; + Module["cwrap"] = cwrap; + Module["getValue"] = getValue; + var calledRun; + dependenciesFulfilled = function runCaller() { + if (!calledRun) + run(); + if (!calledRun) + dependenciesFulfilled = runCaller; + }; + function run(args) { + if (runDependencies > 0) { + return; + } + preRun(); + if (runDependencies > 0) { + return; + } + function doRun() { + if (calledRun) + return; + calledRun = true; + Module["calledRun"] = true; + if (ABORT) + return; + initRuntime(); + readyPromiseResolve(Module); + if (Module["onRuntimeInitialized"]) + Module["onRuntimeInitialized"](); + postRun(); + } + if (Module["setStatus"]) { + Module["setStatus"]("Running..."); + setTimeout(function() { + setTimeout(function() { + Module["setStatus"](""); + }, 1); + doRun(); + }, 1); + } else { + doRun(); + } + } + Module["run"] = run; + if (Module["preInit"]) { + if (typeof Module["preInit"] == "function") + Module["preInit"] = [Module["preInit"]]; + while (Module["preInit"].length > 0) { + Module["preInit"].pop()(); + } + } + run(); + return createModule2; + }; +}(); +module.exports = createModule; +}(libzipSync)); + +const createModule = libzipSync.exports; + +const number64 = [ + `number`, + `number` +]; +var Errors = /* @__PURE__ */ ((Errors2) => { + Errors2[Errors2["ZIP_ER_OK"] = 0] = "ZIP_ER_OK"; + Errors2[Errors2["ZIP_ER_MULTIDISK"] = 1] = "ZIP_ER_MULTIDISK"; + Errors2[Errors2["ZIP_ER_RENAME"] = 2] = "ZIP_ER_RENAME"; + Errors2[Errors2["ZIP_ER_CLOSE"] = 3] = "ZIP_ER_CLOSE"; + Errors2[Errors2["ZIP_ER_SEEK"] = 4] = "ZIP_ER_SEEK"; + Errors2[Errors2["ZIP_ER_READ"] = 5] = "ZIP_ER_READ"; + Errors2[Errors2["ZIP_ER_WRITE"] = 6] = "ZIP_ER_WRITE"; + Errors2[Errors2["ZIP_ER_CRC"] = 7] = "ZIP_ER_CRC"; + Errors2[Errors2["ZIP_ER_ZIPCLOSED"] = 8] = "ZIP_ER_ZIPCLOSED"; + Errors2[Errors2["ZIP_ER_NOENT"] = 9] = "ZIP_ER_NOENT"; + Errors2[Errors2["ZIP_ER_EXISTS"] = 10] = "ZIP_ER_EXISTS"; + Errors2[Errors2["ZIP_ER_OPEN"] = 11] = "ZIP_ER_OPEN"; + Errors2[Errors2["ZIP_ER_TMPOPEN"] = 12] = "ZIP_ER_TMPOPEN"; + Errors2[Errors2["ZIP_ER_ZLIB"] = 13] = "ZIP_ER_ZLIB"; + Errors2[Errors2["ZIP_ER_MEMORY"] = 14] = "ZIP_ER_MEMORY"; + Errors2[Errors2["ZIP_ER_CHANGED"] = 15] = "ZIP_ER_CHANGED"; + Errors2[Errors2["ZIP_ER_COMPNOTSUPP"] = 16] = "ZIP_ER_COMPNOTSUPP"; + Errors2[Errors2["ZIP_ER_EOF"] = 17] = "ZIP_ER_EOF"; + Errors2[Errors2["ZIP_ER_INVAL"] = 18] = "ZIP_ER_INVAL"; + Errors2[Errors2["ZIP_ER_NOZIP"] = 19] = "ZIP_ER_NOZIP"; + Errors2[Errors2["ZIP_ER_INTERNAL"] = 20] = "ZIP_ER_INTERNAL"; + Errors2[Errors2["ZIP_ER_INCONS"] = 21] = "ZIP_ER_INCONS"; + Errors2[Errors2["ZIP_ER_REMOVE"] = 22] = "ZIP_ER_REMOVE"; + Errors2[Errors2["ZIP_ER_DELETED"] = 23] = "ZIP_ER_DELETED"; + Errors2[Errors2["ZIP_ER_ENCRNOTSUPP"] = 24] = "ZIP_ER_ENCRNOTSUPP"; + Errors2[Errors2["ZIP_ER_RDONLY"] = 25] = "ZIP_ER_RDONLY"; + Errors2[Errors2["ZIP_ER_NOPASSWD"] = 26] = "ZIP_ER_NOPASSWD"; + Errors2[Errors2["ZIP_ER_WRONGPASSWD"] = 27] = "ZIP_ER_WRONGPASSWD"; + Errors2[Errors2["ZIP_ER_OPNOTSUPP"] = 28] = "ZIP_ER_OPNOTSUPP"; + Errors2[Errors2["ZIP_ER_INUSE"] = 29] = "ZIP_ER_INUSE"; + Errors2[Errors2["ZIP_ER_TELL"] = 30] = "ZIP_ER_TELL"; + Errors2[Errors2["ZIP_ER_COMPRESSED_DATA"] = 31] = "ZIP_ER_COMPRESSED_DATA"; + return Errors2; +})(Errors || {}); +const makeInterface = (libzip) => ({ + get HEAP8() { + return libzip.HEAP8; + }, + get HEAPU8() { + return libzip.HEAPU8; + }, + errors: Errors, + SEEK_SET: 0, + SEEK_CUR: 1, + SEEK_END: 2, + ZIP_CHECKCONS: 4, + ZIP_CREATE: 1, + ZIP_EXCL: 2, + ZIP_TRUNCATE: 8, + ZIP_RDONLY: 16, + ZIP_FL_OVERWRITE: 8192, + ZIP_FL_COMPRESSED: 4, + ZIP_OPSYS_DOS: 0, + ZIP_OPSYS_AMIGA: 1, + ZIP_OPSYS_OPENVMS: 2, + ZIP_OPSYS_UNIX: 3, + ZIP_OPSYS_VM_CMS: 4, + ZIP_OPSYS_ATARI_ST: 5, + ZIP_OPSYS_OS_2: 6, + ZIP_OPSYS_MACINTOSH: 7, + ZIP_OPSYS_Z_SYSTEM: 8, + ZIP_OPSYS_CPM: 9, + ZIP_OPSYS_WINDOWS_NTFS: 10, + ZIP_OPSYS_MVS: 11, + ZIP_OPSYS_VSE: 12, + ZIP_OPSYS_ACORN_RISC: 13, + ZIP_OPSYS_VFAT: 14, + ZIP_OPSYS_ALTERNATE_MVS: 15, + ZIP_OPSYS_BEOS: 16, + ZIP_OPSYS_TANDEM: 17, + ZIP_OPSYS_OS_400: 18, + ZIP_OPSYS_OS_X: 19, + ZIP_CM_DEFAULT: -1, + ZIP_CM_STORE: 0, + ZIP_CM_DEFLATE: 8, + uint08S: libzip._malloc(1), + uint16S: libzip._malloc(2), + uint32S: libzip._malloc(4), + uint64S: libzip._malloc(8), + malloc: libzip._malloc, + free: libzip._free, + getValue: libzip.getValue, + open: libzip.cwrap(`zip_open`, `number`, [`string`, `number`, `number`]), + openFromSource: libzip.cwrap(`zip_open_from_source`, `number`, [`number`, `number`, `number`]), + close: libzip.cwrap(`zip_close`, `number`, [`number`]), + discard: libzip.cwrap(`zip_discard`, null, [`number`]), + getError: libzip.cwrap(`zip_get_error`, `number`, [`number`]), + getName: libzip.cwrap(`zip_get_name`, `string`, [`number`, `number`, `number`]), + getNumEntries: libzip.cwrap(`zip_get_num_entries`, `number`, [`number`, `number`]), + delete: libzip.cwrap(`zip_delete`, `number`, [`number`, `number`]), + stat: libzip.cwrap(`zip_stat`, `number`, [`number`, `string`, `number`, `number`]), + statIndex: libzip.cwrap(`zip_stat_index`, `number`, [`number`, ...number64, `number`, `number`]), + fopen: libzip.cwrap(`zip_fopen`, `number`, [`number`, `string`, `number`]), + fopenIndex: libzip.cwrap(`zip_fopen_index`, `number`, [`number`, ...number64, `number`]), + fread: libzip.cwrap(`zip_fread`, `number`, [`number`, `number`, `number`, `number`]), + fclose: libzip.cwrap(`zip_fclose`, `number`, [`number`]), + dir: { + add: libzip.cwrap(`zip_dir_add`, `number`, [`number`, `string`]) + }, + file: { + add: libzip.cwrap(`zip_file_add`, `number`, [`number`, `string`, `number`, `number`]), + getError: libzip.cwrap(`zip_file_get_error`, `number`, [`number`]), + getExternalAttributes: libzip.cwrap(`zip_file_get_external_attributes`, `number`, [`number`, ...number64, `number`, `number`, `number`]), + setExternalAttributes: libzip.cwrap(`zip_file_set_external_attributes`, `number`, [`number`, ...number64, `number`, `number`, `number`]), + setMtime: libzip.cwrap(`zip_file_set_mtime`, `number`, [`number`, ...number64, `number`, `number`]), + setCompression: libzip.cwrap(`zip_set_file_compression`, `number`, [`number`, ...number64, `number`, `number`]) + }, + ext: { + countSymlinks: libzip.cwrap(`zip_ext_count_symlinks`, `number`, [`number`]) + }, + error: { + initWithCode: libzip.cwrap(`zip_error_init_with_code`, null, [`number`, `number`]), + strerror: libzip.cwrap(`zip_error_strerror`, `string`, [`number`]) + }, + name: { + locate: libzip.cwrap(`zip_name_locate`, `number`, [`number`, `string`, `number`]) + }, + source: { + fromUnattachedBuffer: libzip.cwrap(`zip_source_buffer_create`, `number`, [`number`, ...number64, `number`, `number`]), + fromBuffer: libzip.cwrap(`zip_source_buffer`, `number`, [`number`, `number`, ...number64, `number`]), + free: libzip.cwrap(`zip_source_free`, null, [`number`]), + keep: libzip.cwrap(`zip_source_keep`, null, [`number`]), + open: libzip.cwrap(`zip_source_open`, `number`, [`number`]), + close: libzip.cwrap(`zip_source_close`, `number`, [`number`]), + seek: libzip.cwrap(`zip_source_seek`, `number`, [`number`, ...number64, `number`]), + tell: libzip.cwrap(`zip_source_tell`, `number`, [`number`]), + read: libzip.cwrap(`zip_source_read`, `number`, [`number`, `number`, `number`]), + error: libzip.cwrap(`zip_source_error`, `number`, [`number`]), + setMtime: libzip.cwrap(`zip_source_set_mtime`, `number`, [`number`, `number`]) + }, + struct: { + stat: libzip.cwrap(`zipstruct_stat`, `number`, []), + statS: libzip.cwrap(`zipstruct_statS`, `number`, []), + statName: libzip.cwrap(`zipstruct_stat_name`, `string`, [`number`]), + statIndex: libzip.cwrap(`zipstruct_stat_index`, `number`, [`number`]), + statSize: libzip.cwrap(`zipstruct_stat_size`, `number`, [`number`]), + statCompSize: libzip.cwrap(`zipstruct_stat_comp_size`, `number`, [`number`]), + statCompMethod: libzip.cwrap(`zipstruct_stat_comp_method`, `number`, [`number`]), + statMtime: libzip.cwrap(`zipstruct_stat_mtime`, `number`, [`number`]), + statCrc: libzip.cwrap(`zipstruct_stat_crc`, `number`, [`number`]), + error: libzip.cwrap(`zipstruct_error`, `number`, []), + errorS: libzip.cwrap(`zipstruct_errorS`, `number`, []), + errorCodeZip: libzip.cwrap(`zipstruct_error_code_zip`, `number`, [`number`]) + } +}); + +let mod = null; +function getLibzipSync() { + if (mod === null) + mod = makeInterface(createModule()); + return mod; +} + +var ErrorCode = /* @__PURE__ */ ((ErrorCode2) => { + ErrorCode2["API_ERROR"] = `API_ERROR`; + ErrorCode2["BUILTIN_NODE_RESOLUTION_FAILED"] = `BUILTIN_NODE_RESOLUTION_FAILED`; + ErrorCode2["EXPORTS_RESOLUTION_FAILED"] = `EXPORTS_RESOLUTION_FAILED`; + ErrorCode2["MISSING_DEPENDENCY"] = `MISSING_DEPENDENCY`; + ErrorCode2["MISSING_PEER_DEPENDENCY"] = `MISSING_PEER_DEPENDENCY`; + ErrorCode2["QUALIFIED_PATH_RESOLUTION_FAILED"] = `QUALIFIED_PATH_RESOLUTION_FAILED`; + ErrorCode2["INTERNAL"] = `INTERNAL`; + ErrorCode2["UNDECLARED_DEPENDENCY"] = `UNDECLARED_DEPENDENCY`; + ErrorCode2["UNSUPPORTED"] = `UNSUPPORTED`; + return ErrorCode2; +})(ErrorCode || {}); +const MODULE_NOT_FOUND_ERRORS = /* @__PURE__ */ new Set([ + "BUILTIN_NODE_RESOLUTION_FAILED" /* BUILTIN_NODE_RESOLUTION_FAILED */, + "MISSING_DEPENDENCY" /* MISSING_DEPENDENCY */, + "MISSING_PEER_DEPENDENCY" /* MISSING_PEER_DEPENDENCY */, + "QUALIFIED_PATH_RESOLUTION_FAILED" /* QUALIFIED_PATH_RESOLUTION_FAILED */, + "UNDECLARED_DEPENDENCY" /* UNDECLARED_DEPENDENCY */ +]); +function makeError(pnpCode, message, data = {}, code) { + code != null ? code : code = MODULE_NOT_FOUND_ERRORS.has(pnpCode) ? `MODULE_NOT_FOUND` : pnpCode; + const propertySpec = { + configurable: true, + writable: true, + enumerable: false + }; + return Object.defineProperties(new Error(message), { + code: { + ...propertySpec, + value: code + }, + pnpCode: { + ...propertySpec, + value: pnpCode + }, + data: { + ...propertySpec, + value: data + } + }); +} +function getIssuerModule(parent) { + let issuer = parent; + while (issuer && (issuer.id === `[eval]` || issuer.id === `` || !issuer.filename)) + issuer = issuer.parent; + return issuer || null; +} +function getPathForDisplay(p) { + return npath.normalize(npath.fromPortablePath(p)); +} + +const [major, minor] = process.versions.node.split(`.`).map((value) => parseInt(value, 10)); +const WATCH_MODE_MESSAGE_USES_ARRAYS = major > 19 || major === 19 && minor >= 2 || major === 18 && minor >= 13; + +const builtinModules = new Set(require$$0.Module.builtinModules || Object.keys(process.binding(`natives`))); +const isBuiltinModule = (request) => request.startsWith(`node:`) || builtinModules.has(request); +function readPackageScope(checkPath) { + const rootSeparatorIndex = checkPath.indexOf(npath.sep); + let separatorIndex; + do { + separatorIndex = checkPath.lastIndexOf(npath.sep); + checkPath = checkPath.slice(0, separatorIndex); + if (checkPath.endsWith(`${npath.sep}node_modules`)) + return false; + const pjson = readPackage(checkPath + npath.sep); + if (pjson) { + return { + data: pjson, + path: checkPath + }; + } + } while (separatorIndex > rootSeparatorIndex); + return false; +} +function readPackage(requestPath) { + const jsonPath = npath.resolve(requestPath, `package.json`); + if (!fs__default.default.existsSync(jsonPath)) + return null; + return JSON.parse(fs__default.default.readFileSync(jsonPath, `utf8`)); +} +function ERR_REQUIRE_ESM(filename, parentPath = null) { + const basename = parentPath && path__default.default.basename(filename) === path__default.default.basename(parentPath) ? filename : path__default.default.basename(filename); + const msg = `require() of ES Module ${filename}${parentPath ? ` from ${parentPath}` : ``} not supported. +Instead change the require of ${basename} in ${parentPath} to a dynamic import() which is available in all CommonJS modules.`; + const err = new Error(msg); + err.code = `ERR_REQUIRE_ESM`; + return err; +} +function reportRequiredFilesToWatchMode(files) { + if (process.env.WATCH_REPORT_DEPENDENCIES && process.send) { + files = files.map((filename) => npath.fromPortablePath(VirtualFS.resolveVirtual(npath.toPortablePath(filename)))); + if (WATCH_MODE_MESSAGE_USES_ARRAYS) { + process.send({ "watch:require": files }); + } else { + for (const filename of files) { + process.send({ "watch:require": filename }); + } + } + } +} + +function applyPatch(pnpapi, opts) { + let enableNativeHooks = true; + process.versions.pnp = String(pnpapi.VERSIONS.std); + const moduleExports = require$$0__default.default; + moduleExports.findPnpApi = (lookupSource) => { + const lookupPath = lookupSource instanceof url.URL ? url.fileURLToPath(lookupSource) : lookupSource; + const apiPath = opts.manager.findApiPathFor(lookupPath); + if (apiPath === null) + return null; + const apiEntry = opts.manager.getApiEntry(apiPath, true); + return apiEntry.instance.findPackageLocator(lookupPath) ? apiEntry.instance : null; + }; + function getRequireStack(parent) { + const requireStack = []; + for (let cursor = parent; cursor; cursor = cursor.parent) + requireStack.push(cursor.filename || cursor.id); + return requireStack; + } + const originalModuleLoad = require$$0.Module._load; + require$$0.Module._load = function(request, parent, isMain) { + if (request === `pnpapi`) { + const parentApiPath = opts.manager.getApiPathFromParent(parent); + if (parentApiPath) { + return opts.manager.getApiEntry(parentApiPath, true).instance; + } + } + return originalModuleLoad.call(require$$0.Module, request, parent, isMain); + }; + function getIssuerSpecsFromPaths(paths) { + return paths.map((path) => ({ + apiPath: opts.manager.findApiPathFor(path), + path, + module: null + })); + } + function getIssuerSpecsFromModule(module) { + var _a; + if (module && module.id !== `` && module.id !== `internal/preload` && !module.parent && !module.filename && module.paths.length > 0) { + return [{ + apiPath: opts.manager.findApiPathFor(module.paths[0]), + path: module.paths[0], + module + }]; + } + const issuer = getIssuerModule(module); + if (issuer !== null) { + const path = npath.dirname(issuer.filename); + const apiPath = opts.manager.getApiPathFromParent(issuer); + return [{ apiPath, path, module }]; + } else { + const path = process.cwd(); + const apiPath = (_a = opts.manager.findApiPathFor(npath.join(path, `[file]`))) != null ? _a : opts.manager.getApiPathFromParent(null); + return [{ apiPath, path, module }]; + } + } + function makeFakeParent(path) { + const fakeParent = new require$$0.Module(``); + const fakeFilePath = npath.join(path, `[file]`); + fakeParent.paths = require$$0.Module._nodeModulePaths(fakeFilePath); + return fakeParent; + } + const pathRegExp = /^(?![a-zA-Z]:[\\/]|\\\\|\.{0,2}(?:\/|$))((?:@[^/]+\/)?[^/]+)\/*(.*|)$/; + const originalModuleResolveFilename = require$$0.Module._resolveFilename; + require$$0.Module._resolveFilename = function(request, parent, isMain, options) { + if (isBuiltinModule(request)) + return request; + if (!enableNativeHooks) + return originalModuleResolveFilename.call(require$$0.Module, request, parent, isMain, options); + if (options && options.plugnplay === false) { + const { plugnplay, ...rest } = options; + const forwardedOptions = Object.keys(rest).length > 0 ? rest : void 0; + try { + enableNativeHooks = false; + return originalModuleResolveFilename.call(require$$0.Module, request, parent, isMain, forwardedOptions); + } finally { + enableNativeHooks = true; + } + } + if (options) { + const optionNames = new Set(Object.keys(options)); + optionNames.delete(`paths`); + optionNames.delete(`plugnplay`); + if (optionNames.size > 0) { + throw makeError( + ErrorCode.UNSUPPORTED, + `Some options passed to require() aren't supported by PnP yet (${Array.from(optionNames).join(`, `)})` + ); + } + } + const issuerSpecs = options && options.paths ? getIssuerSpecsFromPaths(options.paths) : getIssuerSpecsFromModule(parent); + if (request.match(pathRegExp) === null) { + const parentDirectory = (parent == null ? void 0 : parent.filename) != null ? npath.dirname(parent.filename) : null; + const absoluteRequest = npath.isAbsolute(request) ? request : parentDirectory !== null ? npath.resolve(parentDirectory, request) : null; + if (absoluteRequest !== null) { + const apiPath = parent && parentDirectory === npath.dirname(absoluteRequest) ? opts.manager.getApiPathFromParent(parent) : opts.manager.findApiPathFor(absoluteRequest); + if (apiPath !== null) { + issuerSpecs.unshift({ + apiPath, + path: parentDirectory, + module: null + }); + } + } + } + let firstError; + for (const { apiPath, path, module } of issuerSpecs) { + let resolution; + const issuerApi = apiPath !== null ? opts.manager.getApiEntry(apiPath, true).instance : null; + try { + if (issuerApi !== null) { + resolution = issuerApi.resolveRequest(request, path !== null ? `${path}/` : null); + } else { + if (path === null) + throw new Error(`Assertion failed: Expected the path to be set`); + resolution = originalModuleResolveFilename.call(require$$0.Module, request, module || makeFakeParent(path), isMain); + } + } catch (error) { + firstError = firstError || error; + continue; + } + if (resolution !== null) { + return resolution; + } + } + const requireStack = getRequireStack(parent); + Object.defineProperty(firstError, `requireStack`, { + configurable: true, + writable: true, + enumerable: false, + value: requireStack + }); + if (requireStack.length > 0) + firstError.message += ` +Require stack: +- ${requireStack.join(` +- `)}`; + if (typeof firstError.pnpCode === `string`) + Error.captureStackTrace(firstError); + throw firstError; + }; + const originalFindPath = require$$0.Module._findPath; + require$$0.Module._findPath = function(request, paths, isMain) { + if (request === `pnpapi`) + return false; + if (!enableNativeHooks) + return originalFindPath.call(require$$0.Module, request, paths, isMain); + const isAbsolute = npath.isAbsolute(request); + if (isAbsolute) + paths = [``]; + else if (!paths || paths.length === 0) + return false; + for (const path of paths) { + let resolution; + try { + const pnpApiPath = opts.manager.findApiPathFor(isAbsolute ? request : path); + if (pnpApiPath !== null) { + const api = opts.manager.getApiEntry(pnpApiPath, true).instance; + resolution = api.resolveRequest(request, path) || false; + } else { + resolution = originalFindPath.call(require$$0.Module, request, [path], isMain); + } + } catch (error) { + continue; + } + if (resolution) { + return resolution; + } + } + return false; + }; + const originalExtensionJSFunction = require$$0.Module._extensions[`.js`]; + require$$0.Module._extensions[`.js`] = function(module, filename) { + var _a, _b; + if (filename.endsWith(`.js`)) { + const pkg = readPackageScope(filename); + if (pkg && ((_a = pkg.data) == null ? void 0 : _a.type) === `module`) { + const err = ERR_REQUIRE_ESM(filename, (_b = module.parent) == null ? void 0 : _b.filename); + Error.captureStackTrace(err); + throw err; + } + } + originalExtensionJSFunction.call(this, module, filename); + }; + const originalDlopen = process.dlopen; + process.dlopen = function(...args) { + const [module, filename, ...rest] = args; + return originalDlopen.call( + this, + module, + npath.fromPortablePath(VirtualFS.resolveVirtual(npath.toPortablePath(filename))), + ...rest + ); + }; + const originalEmit = process.emit; + process.emit = function(name, data, ...args) { + if (name === `warning` && typeof data === `object` && data.name === `ExperimentalWarning` && (data.message.includes(`--experimental-loader`) || data.message.includes(`Custom ESM Loaders is an experimental feature`))) + return false; + return originalEmit.apply(process, arguments); + }; + patchFs(fs__default.default, new PosixFS(opts.fakeFs)); +} + +function hydrateRuntimeState(data, { basePath }) { + const portablePath = npath.toPortablePath(basePath); + const absolutePortablePath = ppath.resolve(portablePath); + const ignorePattern = data.ignorePatternData !== null ? new RegExp(data.ignorePatternData) : null; + const packageLocatorsByLocations = /* @__PURE__ */ new Map(); + const packageRegistry = new Map(data.packageRegistryData.map(([packageName, packageStoreData]) => { + return [packageName, new Map(packageStoreData.map(([packageReference, packageInformationData]) => { + var _a; + if (packageName === null !== (packageReference === null)) + throw new Error(`Assertion failed: The name and reference should be null, or neither should`); + const discardFromLookup = (_a = packageInformationData.discardFromLookup) != null ? _a : false; + const packageLocator = { name: packageName, reference: packageReference }; + const entry = packageLocatorsByLocations.get(packageInformationData.packageLocation); + if (!entry) { + packageLocatorsByLocations.set(packageInformationData.packageLocation, { locator: packageLocator, discardFromLookup }); + } else { + entry.discardFromLookup = entry.discardFromLookup && discardFromLookup; + if (!discardFromLookup) { + entry.locator = packageLocator; + } + } + let resolvedPackageLocation = null; + return [packageReference, { + packageDependencies: new Map(packageInformationData.packageDependencies), + packagePeers: new Set(packageInformationData.packagePeers), + linkType: packageInformationData.linkType, + discardFromLookup, + get packageLocation() { + return resolvedPackageLocation || (resolvedPackageLocation = ppath.join(absolutePortablePath, packageInformationData.packageLocation)); + } + }]; + }))]; + })); + const fallbackExclusionList = new Map(data.fallbackExclusionList.map(([packageName, packageReferences]) => { + return [packageName, new Set(packageReferences)]; + })); + const fallbackPool = new Map(data.fallbackPool); + const dependencyTreeRoots = data.dependencyTreeRoots; + const enableTopLevelFallback = data.enableTopLevelFallback; + return { + basePath: portablePath, + dependencyTreeRoots, + enableTopLevelFallback, + fallbackExclusionList, + fallbackPool, + ignorePattern, + packageLocatorsByLocations, + packageRegistry + }; +} + +const ArrayIsArray = Array.isArray; +const JSONStringify = JSON.stringify; +const ObjectGetOwnPropertyNames = Object.getOwnPropertyNames; +const ObjectPrototypeHasOwnProperty = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop); +const RegExpPrototypeExec = (obj, string) => RegExp.prototype.exec.call(obj, string); +const RegExpPrototypeSymbolReplace = (obj, ...rest) => RegExp.prototype[Symbol.replace].apply(obj, rest); +const StringPrototypeEndsWith = (str, ...rest) => String.prototype.endsWith.apply(str, rest); +const StringPrototypeIncludes = (str, ...rest) => String.prototype.includes.apply(str, rest); +const StringPrototypeLastIndexOf = (str, ...rest) => String.prototype.lastIndexOf.apply(str, rest); +const StringPrototypeIndexOf = (str, ...rest) => String.prototype.indexOf.apply(str, rest); +const StringPrototypeReplace = (str, ...rest) => String.prototype.replace.apply(str, rest); +const StringPrototypeSlice = (str, ...rest) => String.prototype.slice.apply(str, rest); +const StringPrototypeStartsWith = (str, ...rest) => String.prototype.startsWith.apply(str, rest); +const SafeMap = Map; +const JSONParse = JSON.parse; + +function createErrorType(code, messageCreator, errorType) { + return class extends errorType { + constructor(...args) { + super(messageCreator(...args)); + this.code = code; + this.name = `${errorType.name} [${code}]`; + } + }; +} +const ERR_PACKAGE_IMPORT_NOT_DEFINED = createErrorType( + `ERR_PACKAGE_IMPORT_NOT_DEFINED`, + (specifier, packagePath, base) => { + return `Package import specifier "${specifier}" is not defined${packagePath ? ` in package ${packagePath}package.json` : ``} imported from ${base}`; + }, + TypeError +); +const ERR_INVALID_MODULE_SPECIFIER = createErrorType( + `ERR_INVALID_MODULE_SPECIFIER`, + (request, reason, base = void 0) => { + return `Invalid module "${request}" ${reason}${base ? ` imported from ${base}` : ``}`; + }, + TypeError +); +const ERR_INVALID_PACKAGE_TARGET = createErrorType( + `ERR_INVALID_PACKAGE_TARGET`, + (pkgPath, key, target, isImport = false, base = void 0) => { + const relError = typeof target === `string` && !isImport && target.length && !StringPrototypeStartsWith(target, `./`); + if (key === `.`) { + assert__default.default(isImport === false); + return `Invalid "exports" main target ${JSONStringify(target)} defined in the package config ${pkgPath}package.json${base ? ` imported from ${base}` : ``}${relError ? `; targets must start with "./"` : ``}`; + } + return `Invalid "${isImport ? `imports` : `exports`}" target ${JSONStringify( + target + )} defined for '${key}' in the package config ${pkgPath}package.json${base ? ` imported from ${base}` : ``}${relError ? `; targets must start with "./"` : ``}`; + }, + Error +); +const ERR_INVALID_PACKAGE_CONFIG = createErrorType( + `ERR_INVALID_PACKAGE_CONFIG`, + (path, base, message) => { + return `Invalid package config ${path}${base ? ` while importing ${base}` : ``}${message ? `. ${message}` : ``}`; + }, + Error +); +const ERR_PACKAGE_PATH_NOT_EXPORTED = createErrorType( + "ERR_PACKAGE_PATH_NOT_EXPORTED", + (pkgPath, subpath, base = void 0) => { + if (subpath === ".") + return `No "exports" main defined in ${pkgPath}package.json${base ? ` imported from ${base}` : ""}`; + return `Package subpath '${subpath}' is not defined by "exports" in ${pkgPath}package.json${base ? ` imported from ${base}` : ""}`; + }, + Error +); + +function filterOwnProperties(source, keys) { + const filtered = /* @__PURE__ */ Object.create(null); + for (let i = 0; i < keys.length; i++) { + const key = keys[i]; + if (ObjectPrototypeHasOwnProperty(source, key)) { + filtered[key] = source[key]; + } + } + return filtered; +} + +const packageJSONCache = new SafeMap(); +function getPackageConfig(path, specifier, base, readFileSyncFn) { + const existing = packageJSONCache.get(path); + if (existing !== void 0) { + return existing; + } + const source = readFileSyncFn(path); + if (source === void 0) { + const packageConfig2 = { + pjsonPath: path, + exists: false, + main: void 0, + name: void 0, + type: "none", + exports: void 0, + imports: void 0 + }; + packageJSONCache.set(path, packageConfig2); + return packageConfig2; + } + let packageJSON; + try { + packageJSON = JSONParse(source); + } catch (error) { + throw new ERR_INVALID_PACKAGE_CONFIG( + path, + (base ? `"${specifier}" from ` : "") + url.fileURLToPath(base || specifier), + error.message + ); + } + let { imports, main, name, type } = filterOwnProperties(packageJSON, [ + "imports", + "main", + "name", + "type" + ]); + const exports = ObjectPrototypeHasOwnProperty(packageJSON, "exports") ? packageJSON.exports : void 0; + if (typeof imports !== "object" || imports === null) { + imports = void 0; + } + if (typeof main !== "string") { + main = void 0; + } + if (typeof name !== "string") { + name = void 0; + } + if (type !== "module" && type !== "commonjs") { + type = "none"; + } + const packageConfig = { + pjsonPath: path, + exists: true, + main, + name, + type, + exports, + imports + }; + packageJSONCache.set(path, packageConfig); + return packageConfig; +} +function getPackageScopeConfig(resolved, readFileSyncFn) { + let packageJSONUrl = new URL("./package.json", resolved); + while (true) { + const packageJSONPath2 = packageJSONUrl.pathname; + if (StringPrototypeEndsWith(packageJSONPath2, "node_modules/package.json")) { + break; + } + const packageConfig2 = getPackageConfig( + url.fileURLToPath(packageJSONUrl), + resolved, + void 0, + readFileSyncFn + ); + if (packageConfig2.exists) { + return packageConfig2; + } + const lastPackageJSONUrl = packageJSONUrl; + packageJSONUrl = new URL("../package.json", packageJSONUrl); + if (packageJSONUrl.pathname === lastPackageJSONUrl.pathname) { + break; + } + } + const packageJSONPath = url.fileURLToPath(packageJSONUrl); + const packageConfig = { + pjsonPath: packageJSONPath, + exists: false, + main: void 0, + name: void 0, + type: "none", + exports: void 0, + imports: void 0 + }; + packageJSONCache.set(packageJSONPath, packageConfig); + return packageConfig; +} + +/** + @license + Copyright Node.js contributors. All rights reserved. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to + deal in the Software without restriction, including without limitation the + rights to use, copy, modify, merge, publish, distribute, sublicense, and/or + sell copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + IN THE SOFTWARE. +*/ +function throwImportNotDefined(specifier, packageJSONUrl, base) { + throw new ERR_PACKAGE_IMPORT_NOT_DEFINED( + specifier, + packageJSONUrl && url.fileURLToPath(new URL(".", packageJSONUrl)), + url.fileURLToPath(base) + ); +} +function throwInvalidSubpath(subpath, packageJSONUrl, internal, base) { + const reason = `request is not a valid subpath for the "${internal ? "imports" : "exports"}" resolution of ${url.fileURLToPath(packageJSONUrl)}`; + throw new ERR_INVALID_MODULE_SPECIFIER( + subpath, + reason, + base && url.fileURLToPath(base) + ); +} +function throwInvalidPackageTarget(subpath, target, packageJSONUrl, internal, base) { + if (typeof target === "object" && target !== null) { + target = JSONStringify(target, null, ""); + } else { + target = `${target}`; + } + throw new ERR_INVALID_PACKAGE_TARGET( + url.fileURLToPath(new URL(".", packageJSONUrl)), + subpath, + target, + internal, + base && url.fileURLToPath(base) + ); +} +const invalidSegmentRegEx = /(^|\\|\/)((\.|%2e)(\.|%2e)?|(n|%6e|%4e)(o|%6f|%4f)(d|%64|%44)(e|%65|%45)(_|%5f)(m|%6d|%4d)(o|%6f|%4f)(d|%64|%44)(u|%75|%55)(l|%6c|%4c)(e|%65|%45)(s|%73|%53))(\\|\/|$)/i; +const patternRegEx = /\*/g; +function resolvePackageTargetString(target, subpath, match, packageJSONUrl, base, pattern, internal, conditions) { + if (subpath !== "" && !pattern && target[target.length - 1] !== "/") + throwInvalidPackageTarget(match, target, packageJSONUrl, internal, base); + if (!StringPrototypeStartsWith(target, "./")) { + if (internal && !StringPrototypeStartsWith(target, "../") && !StringPrototypeStartsWith(target, "/")) { + let isURL = false; + try { + new URL(target); + isURL = true; + } catch { + } + if (!isURL) { + const exportTarget = pattern ? RegExpPrototypeSymbolReplace(patternRegEx, target, () => subpath) : target + subpath; + return exportTarget; + } + } + throwInvalidPackageTarget(match, target, packageJSONUrl, internal, base); + } + if (RegExpPrototypeExec( + invalidSegmentRegEx, + StringPrototypeSlice(target, 2) + ) !== null) + throwInvalidPackageTarget(match, target, packageJSONUrl, internal, base); + const resolved = new URL(target, packageJSONUrl); + const resolvedPath = resolved.pathname; + const packagePath = new URL(".", packageJSONUrl).pathname; + if (!StringPrototypeStartsWith(resolvedPath, packagePath)) + throwInvalidPackageTarget(match, target, packageJSONUrl, internal, base); + if (subpath === "") + return resolved; + if (RegExpPrototypeExec(invalidSegmentRegEx, subpath) !== null) { + const request = pattern ? StringPrototypeReplace(match, "*", () => subpath) : match + subpath; + throwInvalidSubpath(request, packageJSONUrl, internal, base); + } + if (pattern) { + return new URL( + RegExpPrototypeSymbolReplace(patternRegEx, resolved.href, () => subpath) + ); + } + return new URL(subpath, resolved); +} +function isArrayIndex(key) { + const keyNum = +key; + if (`${keyNum}` !== key) + return false; + return keyNum >= 0 && keyNum < 4294967295; +} +function resolvePackageTarget(packageJSONUrl, target, subpath, packageSubpath, base, pattern, internal, conditions) { + if (typeof target === "string") { + return resolvePackageTargetString( + target, + subpath, + packageSubpath, + packageJSONUrl, + base, + pattern, + internal); + } else if (ArrayIsArray(target)) { + if (target.length === 0) { + return null; + } + let lastException; + for (let i = 0; i < target.length; i++) { + const targetItem = target[i]; + let resolveResult; + try { + resolveResult = resolvePackageTarget( + packageJSONUrl, + targetItem, + subpath, + packageSubpath, + base, + pattern, + internal, + conditions + ); + } catch (e) { + lastException = e; + if (e.code === "ERR_INVALID_PACKAGE_TARGET") { + continue; + } + throw e; + } + if (resolveResult === void 0) { + continue; + } + if (resolveResult === null) { + lastException = null; + continue; + } + return resolveResult; + } + if (lastException === void 0 || lastException === null) + return lastException; + throw lastException; + } else if (typeof target === "object" && target !== null) { + const keys = ObjectGetOwnPropertyNames(target); + for (let i = 0; i < keys.length; i++) { + const key = keys[i]; + if (isArrayIndex(key)) { + throw new ERR_INVALID_PACKAGE_CONFIG( + url.fileURLToPath(packageJSONUrl), + base, + '"exports" cannot contain numeric property keys.' + ); + } + } + for (let i = 0; i < keys.length; i++) { + const key = keys[i]; + if (key === "default" || conditions.has(key)) { + const conditionalTarget = target[key]; + const resolveResult = resolvePackageTarget( + packageJSONUrl, + conditionalTarget, + subpath, + packageSubpath, + base, + pattern, + internal, + conditions + ); + if (resolveResult === void 0) + continue; + return resolveResult; + } + } + return void 0; + } else if (target === null) { + return null; + } + throwInvalidPackageTarget( + packageSubpath, + target, + packageJSONUrl, + internal, + base + ); +} +function patternKeyCompare(a, b) { + const aPatternIndex = StringPrototypeIndexOf(a, "*"); + const bPatternIndex = StringPrototypeIndexOf(b, "*"); + const baseLenA = aPatternIndex === -1 ? a.length : aPatternIndex + 1; + const baseLenB = bPatternIndex === -1 ? b.length : bPatternIndex + 1; + if (baseLenA > baseLenB) + return -1; + if (baseLenB > baseLenA) + return 1; + if (aPatternIndex === -1) + return 1; + if (bPatternIndex === -1) + return -1; + if (a.length > b.length) + return -1; + if (b.length > a.length) + return 1; + return 0; +} +function isConditionalExportsMainSugar(exports, packageJSONUrl, base) { + if (typeof exports === "string" || ArrayIsArray(exports)) + return true; + if (typeof exports !== "object" || exports === null) + return false; + const keys = ObjectGetOwnPropertyNames(exports); + let isConditionalSugar = false; + let i = 0; + for (let j = 0; j < keys.length; j++) { + const key = keys[j]; + const curIsConditionalSugar = key === "" || key[0] !== "."; + if (i++ === 0) { + isConditionalSugar = curIsConditionalSugar; + } else if (isConditionalSugar !== curIsConditionalSugar) { + throw new ERR_INVALID_PACKAGE_CONFIG( + url.fileURLToPath(packageJSONUrl), + base, + `"exports" cannot contain some keys starting with '.' and some not. The exports object must either be an object of package subpath keys or an object of main entry condition name keys only.` + ); + } + } + return isConditionalSugar; +} +function throwExportsNotFound(subpath, packageJSONUrl, base) { + throw new ERR_PACKAGE_PATH_NOT_EXPORTED( + url.fileURLToPath(new URL(".", packageJSONUrl)), + subpath, + base && url.fileURLToPath(base) + ); +} +const emittedPackageWarnings = /* @__PURE__ */ new Set(); +function emitTrailingSlashPatternDeprecation(match, pjsonUrl, base) { + const pjsonPath = url.fileURLToPath(pjsonUrl); + if (emittedPackageWarnings.has(pjsonPath + "|" + match)) + return; + emittedPackageWarnings.add(pjsonPath + "|" + match); + process.emitWarning( + `Use of deprecated trailing slash pattern mapping "${match}" in the "exports" field module resolution of the package at ${pjsonPath}${base ? ` imported from ${url.fileURLToPath(base)}` : ""}. Mapping specifiers ending in "/" is no longer supported.`, + "DeprecationWarning", + "DEP0155" + ); +} +function packageExportsResolve({ + packageJSONUrl, + packageSubpath, + exports, + base, + conditions +}) { + if (isConditionalExportsMainSugar(exports, packageJSONUrl, base)) + exports = { ".": exports }; + if (ObjectPrototypeHasOwnProperty(exports, packageSubpath) && !StringPrototypeIncludes(packageSubpath, "*") && !StringPrototypeEndsWith(packageSubpath, "/")) { + const target = exports[packageSubpath]; + const resolveResult = resolvePackageTarget( + packageJSONUrl, + target, + "", + packageSubpath, + base, + false, + false, + conditions + ); + if (resolveResult == null) { + throwExportsNotFound(packageSubpath, packageJSONUrl, base); + } + return resolveResult; + } + let bestMatch = ""; + let bestMatchSubpath; + const keys = ObjectGetOwnPropertyNames(exports); + for (let i = 0; i < keys.length; i++) { + const key = keys[i]; + const patternIndex = StringPrototypeIndexOf(key, "*"); + if (patternIndex !== -1 && StringPrototypeStartsWith( + packageSubpath, + StringPrototypeSlice(key, 0, patternIndex) + )) { + if (StringPrototypeEndsWith(packageSubpath, "/")) + emitTrailingSlashPatternDeprecation( + packageSubpath, + packageJSONUrl, + base + ); + const patternTrailer = StringPrototypeSlice(key, patternIndex + 1); + if (packageSubpath.length >= key.length && StringPrototypeEndsWith(packageSubpath, patternTrailer) && patternKeyCompare(bestMatch, key) === 1 && StringPrototypeLastIndexOf(key, "*") === patternIndex) { + bestMatch = key; + bestMatchSubpath = StringPrototypeSlice( + packageSubpath, + patternIndex, + packageSubpath.length - patternTrailer.length + ); + } + } + } + if (bestMatch) { + const target = exports[bestMatch]; + const resolveResult = resolvePackageTarget( + packageJSONUrl, + target, + bestMatchSubpath, + bestMatch, + base, + true, + false, + conditions + ); + if (resolveResult == null) { + throwExportsNotFound(packageSubpath, packageJSONUrl, base); + } + return resolveResult; + } + throwExportsNotFound(packageSubpath, packageJSONUrl, base); +} +function packageImportsResolve({ name, base, conditions, readFileSyncFn }) { + if (name === "#" || StringPrototypeStartsWith(name, "#/") || StringPrototypeEndsWith(name, "/")) { + const reason = "is not a valid internal imports specifier name"; + throw new ERR_INVALID_MODULE_SPECIFIER(name, reason, url.fileURLToPath(base)); + } + let packageJSONUrl; + const packageConfig = getPackageScopeConfig(base, readFileSyncFn); + if (packageConfig.exists) { + packageJSONUrl = url.pathToFileURL(packageConfig.pjsonPath); + const imports = packageConfig.imports; + if (imports) { + if (ObjectPrototypeHasOwnProperty(imports, name) && !StringPrototypeIncludes(name, "*")) { + const resolveResult = resolvePackageTarget( + packageJSONUrl, + imports[name], + "", + name, + base, + false, + true, + conditions + ); + if (resolveResult != null) { + return resolveResult; + } + } else { + let bestMatch = ""; + let bestMatchSubpath; + const keys = ObjectGetOwnPropertyNames(imports); + for (let i = 0; i < keys.length; i++) { + const key = keys[i]; + const patternIndex = StringPrototypeIndexOf(key, "*"); + if (patternIndex !== -1 && StringPrototypeStartsWith( + name, + StringPrototypeSlice(key, 0, patternIndex) + )) { + const patternTrailer = StringPrototypeSlice(key, patternIndex + 1); + if (name.length >= key.length && StringPrototypeEndsWith(name, patternTrailer) && patternKeyCompare(bestMatch, key) === 1 && StringPrototypeLastIndexOf(key, "*") === patternIndex) { + bestMatch = key; + bestMatchSubpath = StringPrototypeSlice( + name, + patternIndex, + name.length - patternTrailer.length + ); + } + } + } + if (bestMatch) { + const target = imports[bestMatch]; + const resolveResult = resolvePackageTarget( + packageJSONUrl, + target, + bestMatchSubpath, + bestMatch, + base, + true, + true, + conditions + ); + if (resolveResult != null) { + return resolveResult; + } + } + } + } + } + throwImportNotDefined(name, packageJSONUrl, base); +} + +const flagSymbol = Symbol('arg flag'); + +class ArgError extends Error { + constructor(msg, code) { + super(msg); + this.name = 'ArgError'; + this.code = code; + + Object.setPrototypeOf(this, ArgError.prototype); + } +} + +function arg( + opts, + { + argv = process.argv.slice(2), + permissive = false, + stopAtPositional = false + } = {} +) { + if (!opts) { + throw new ArgError( + 'argument specification object is required', + 'ARG_CONFIG_NO_SPEC' + ); + } + + const result = { _: [] }; + + const aliases = {}; + const handlers = {}; + + for (const key of Object.keys(opts)) { + if (!key) { + throw new ArgError( + 'argument key cannot be an empty string', + 'ARG_CONFIG_EMPTY_KEY' + ); + } + + if (key[0] !== '-') { + throw new ArgError( + `argument key must start with '-' but found: '${key}'`, + 'ARG_CONFIG_NONOPT_KEY' + ); + } + + if (key.length === 1) { + throw new ArgError( + `argument key must have a name; singular '-' keys are not allowed: ${key}`, + 'ARG_CONFIG_NONAME_KEY' + ); + } + + if (typeof opts[key] === 'string') { + aliases[key] = opts[key]; + continue; + } + + let type = opts[key]; + let isFlag = false; + + if ( + Array.isArray(type) && + type.length === 1 && + typeof type[0] === 'function' + ) { + const [fn] = type; + type = (value, name, prev = []) => { + prev.push(fn(value, name, prev[prev.length - 1])); + return prev; + }; + isFlag = fn === Boolean || fn[flagSymbol] === true; + } else if (typeof type === 'function') { + isFlag = type === Boolean || type[flagSymbol] === true; + } else { + throw new ArgError( + `type missing or not a function or valid array type: ${key}`, + 'ARG_CONFIG_VAD_TYPE' + ); + } + + if (key[1] !== '-' && key.length > 2) { + throw new ArgError( + `short argument keys (with a single hyphen) must have only one character: ${key}`, + 'ARG_CONFIG_SHORTOPT_TOOLONG' + ); + } + + handlers[key] = [type, isFlag]; + } + + for (let i = 0, len = argv.length; i < len; i++) { + const wholeArg = argv[i]; + + if (stopAtPositional && result._.length > 0) { + result._ = result._.concat(argv.slice(i)); + break; + } + + if (wholeArg === '--') { + result._ = result._.concat(argv.slice(i + 1)); + break; + } + + if (wholeArg.length > 1 && wholeArg[0] === '-') { + /* eslint-disable operator-linebreak */ + const separatedArguments = + wholeArg[1] === '-' || wholeArg.length === 2 + ? [wholeArg] + : wholeArg + .slice(1) + .split('') + .map((a) => `-${a}`); + /* eslint-enable operator-linebreak */ + + for (let j = 0; j < separatedArguments.length; j++) { + const arg = separatedArguments[j]; + const [originalArgName, argStr] = + arg[1] === '-' ? arg.split(/=(.*)/, 2) : [arg, undefined]; + + let argName = originalArgName; + while (argName in aliases) { + argName = aliases[argName]; + } + + if (!(argName in handlers)) { + if (permissive) { + result._.push(arg); + continue; + } else { + throw new ArgError( + `unknown or unexpected option: ${originalArgName}`, + 'ARG_UNKNOWN_OPTION' + ); + } + } + + const [type, isFlag] = handlers[argName]; + + if (!isFlag && j + 1 < separatedArguments.length) { + throw new ArgError( + `option requires argument (but was followed by another short argument): ${originalArgName}`, + 'ARG_MISSING_REQUIRED_SHORTARG' + ); + } + + if (isFlag) { + result[argName] = type(true, argName, result[argName]); + } else if (argStr === undefined) { + if ( + argv.length < i + 2 || + (argv[i + 1].length > 1 && + argv[i + 1][0] === '-' && + !( + argv[i + 1].match(/^-?\d*(\.(?=\d))?\d*$/) && + (type === Number || + // eslint-disable-next-line no-undef + (typeof BigInt !== 'undefined' && type === BigInt)) + )) + ) { + const extended = + originalArgName === argName ? '' : ` (alias for ${argName})`; + throw new ArgError( + `option requires argument: ${originalArgName}${extended}`, + 'ARG_MISSING_REQUIRED_LONGARG' + ); + } + + result[argName] = type(argv[i + 1], argName, result[argName]); + ++i; + } else { + result[argName] = type(argStr, argName, result[argName]); + } + } + } else { + result._.push(wholeArg); + } + } + + return result; +} + +arg.flag = (fn) => { + fn[flagSymbol] = true; + return fn; +}; + +// Utility types +arg.COUNT = arg.flag((v, name, existingCount) => (existingCount || 0) + 1); + +// Expose error class +arg.ArgError = ArgError; + +var arg_1 = arg; + +/** + @license + The MIT License (MIT) + + Copyright (c) 2014 Blake Embrey (hello@blakeembrey.com) + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. +*/ +function getOptionValue(opt) { + parseOptions(); + return options[opt]; +} +let options; +function parseOptions() { + if (!options) { + options = { + "--conditions": [], + ...parseArgv(getNodeOptionsEnvArgv()), + ...parseArgv(process.execArgv) + }; + } +} +function parseArgv(argv) { + return arg_1( + { + "--conditions": [String], + "-C": "--conditions" + }, + { + argv, + permissive: true + } + ); +} +function getNodeOptionsEnvArgv() { + const errors = []; + const envArgv = ParseNodeOptionsEnvVar(process.env.NODE_OPTIONS || "", errors); + if (errors.length !== 0) ; + return envArgv; +} +function ParseNodeOptionsEnvVar(node_options, errors) { + const env_argv = []; + let is_in_string = false; + let will_start_new_arg = true; + for (let index = 0; index < node_options.length; ++index) { + let c = node_options[index]; + if (c === "\\" && is_in_string) { + if (index + 1 === node_options.length) { + errors.push("invalid value for NODE_OPTIONS (invalid escape)\n"); + return env_argv; + } else { + c = node_options[++index]; + } + } else if (c === " " && !is_in_string) { + will_start_new_arg = true; + continue; + } else if (c === '"') { + is_in_string = !is_in_string; + continue; + } + if (will_start_new_arg) { + env_argv.push(c); + will_start_new_arg = false; + } else { + env_argv[env_argv.length - 1] += c; + } + } + if (is_in_string) { + errors.push("invalid value for NODE_OPTIONS (unterminated string)\n"); + } + return env_argv; +} + +function makeApi(runtimeState, opts) { + const alwaysWarnOnFallback = Number(process.env.PNP_ALWAYS_WARN_ON_FALLBACK) > 0; + const debugLevel = Number(process.env.PNP_DEBUG_LEVEL); + const pathRegExp = /^(?![a-zA-Z]:[\\/]|\\\\|\.{0,2}(?:\/|$))((?:node:)?(?:@[^/]+\/)?[^/]+)\/*(.*|)$/; + const isStrictRegExp = /^(\/|\.{1,2}(\/|$))/; + const isDirRegExp = /\/$/; + const isRelativeRegexp = /^\.{0,2}\//; + const topLevelLocator = { name: null, reference: null }; + const fallbackLocators = []; + const emittedWarnings = /* @__PURE__ */ new Set(); + if (runtimeState.enableTopLevelFallback === true) + fallbackLocators.push(topLevelLocator); + if (opts.compatibilityMode !== false) { + for (const name of [`react-scripts`, `gatsby`]) { + const packageStore = runtimeState.packageRegistry.get(name); + if (packageStore) { + for (const reference of packageStore.keys()) { + if (reference === null) { + throw new Error(`Assertion failed: This reference shouldn't be null`); + } else { + fallbackLocators.push({ name, reference }); + } + } + } + } + } + const { + ignorePattern, + packageRegistry, + packageLocatorsByLocations + } = runtimeState; + function makeLogEntry(name, args) { + return { + fn: name, + args, + error: null, + result: null + }; + } + function trace(entry) { + var _a, _b, _c, _d, _e, _f; + const colors = (_c = (_b = (_a = process.stderr) == null ? void 0 : _a.hasColors) == null ? void 0 : _b.call(_a)) != null ? _c : process.stdout.isTTY; + const c = (n, str) => `\x1B[${n}m${str}\x1B[0m`; + const error = entry.error; + if (error) + console.error(c(`31;1`, `\u2716 ${(_d = entry.error) == null ? void 0 : _d.message.replace(/\n.*/s, ``)}`)); + else + console.error(c(`33;1`, `\u203C Resolution`)); + if (entry.args.length > 0) + console.error(); + for (const arg of entry.args) + console.error(` ${c(`37;1`, `In \u2190`)} ${nodeUtils.inspect(arg, { colors, compact: true })}`); + if (entry.result) { + console.error(); + console.error(` ${c(`37;1`, `Out \u2192`)} ${nodeUtils.inspect(entry.result, { colors, compact: true })}`); + } + const stack = (_f = (_e = new Error().stack.match(/(?<=^ +)at.*/gm)) == null ? void 0 : _e.slice(2)) != null ? _f : []; + if (stack.length > 0) { + console.error(); + for (const line of stack) { + console.error(` ${c(`38;5;244`, line)}`); + } + } + console.error(); + } + function maybeLog(name, fn) { + if (opts.allowDebug === false) + return fn; + if (Number.isFinite(debugLevel)) { + if (debugLevel >= 2) { + return (...args) => { + const logEntry = makeLogEntry(name, args); + try { + return logEntry.result = fn(...args); + } catch (error) { + throw logEntry.error = error; + } finally { + trace(logEntry); + } + }; + } else if (debugLevel >= 1) { + return (...args) => { + try { + return fn(...args); + } catch (error) { + const logEntry = makeLogEntry(name, args); + logEntry.error = error; + trace(logEntry); + throw error; + } + }; + } + } + return fn; + } + function getPackageInformationSafe(packageLocator) { + const packageInformation = getPackageInformation(packageLocator); + if (!packageInformation) { + throw makeError( + ErrorCode.INTERNAL, + `Couldn't find a matching entry in the dependency tree for the specified parent (this is probably an internal error)` + ); + } + return packageInformation; + } + function isDependencyTreeRoot(packageLocator) { + if (packageLocator.name === null) + return true; + for (const dependencyTreeRoot of runtimeState.dependencyTreeRoots) + if (dependencyTreeRoot.name === packageLocator.name && dependencyTreeRoot.reference === packageLocator.reference) + return true; + return false; + } + const defaultExportsConditions = /* @__PURE__ */ new Set([ + `node`, + `require`, + ...getOptionValue(`--conditions`) + ]); + function applyNodeExportsResolution(unqualifiedPath, conditions = defaultExportsConditions, issuer) { + const locator = findPackageLocator(ppath.join(unqualifiedPath, `internal.js`), { + resolveIgnored: true, + includeDiscardFromLookup: true + }); + if (locator === null) { + throw makeError( + ErrorCode.INTERNAL, + `The locator that owns the "${unqualifiedPath}" path can't be found inside the dependency tree (this is probably an internal error)` + ); + } + const { packageLocation } = getPackageInformationSafe(locator); + const manifestPath = ppath.join(packageLocation, Filename.manifest); + if (!opts.fakeFs.existsSync(manifestPath)) + return null; + const pkgJson = JSON.parse(opts.fakeFs.readFileSync(manifestPath, `utf8`)); + if (pkgJson.exports == null) + return null; + let subpath = ppath.contains(packageLocation, unqualifiedPath); + if (subpath === null) { + throw makeError( + ErrorCode.INTERNAL, + `unqualifiedPath doesn't contain the packageLocation (this is probably an internal error)` + ); + } + if (subpath !== `.` && !isRelativeRegexp.test(subpath)) + subpath = `./${subpath}`; + try { + const resolvedExport = packageExportsResolve({ + packageJSONUrl: url.pathToFileURL(npath.fromPortablePath(manifestPath)), + packageSubpath: subpath, + exports: pkgJson.exports, + base: issuer ? url.pathToFileURL(npath.fromPortablePath(issuer)) : null, + conditions + }); + return npath.toPortablePath(url.fileURLToPath(resolvedExport)); + } catch (error) { + throw makeError( + ErrorCode.EXPORTS_RESOLUTION_FAILED, + error.message, + { unqualifiedPath: getPathForDisplay(unqualifiedPath), locator, pkgJson, subpath: getPathForDisplay(subpath), conditions }, + error.code + ); + } + } + function applyNodeExtensionResolution(unqualifiedPath, candidates, { extensions }) { + let stat; + try { + candidates.push(unqualifiedPath); + stat = opts.fakeFs.statSync(unqualifiedPath); + } catch (error) { + } + if (stat && !stat.isDirectory()) + return opts.fakeFs.realpathSync(unqualifiedPath); + if (stat && stat.isDirectory()) { + let pkgJson; + try { + pkgJson = JSON.parse(opts.fakeFs.readFileSync(ppath.join(unqualifiedPath, Filename.manifest), `utf8`)); + } catch (error) { + } + let nextUnqualifiedPath; + if (pkgJson && pkgJson.main) + nextUnqualifiedPath = ppath.resolve(unqualifiedPath, pkgJson.main); + if (nextUnqualifiedPath && nextUnqualifiedPath !== unqualifiedPath) { + const resolution = applyNodeExtensionResolution(nextUnqualifiedPath, candidates, { extensions }); + if (resolution !== null) { + return resolution; + } + } + } + for (let i = 0, length = extensions.length; i < length; i++) { + const candidateFile = `${unqualifiedPath}${extensions[i]}`; + candidates.push(candidateFile); + if (opts.fakeFs.existsSync(candidateFile)) { + return candidateFile; + } + } + if (stat && stat.isDirectory()) { + for (let i = 0, length = extensions.length; i < length; i++) { + const candidateFile = ppath.format({ dir: unqualifiedPath, name: `index`, ext: extensions[i] }); + candidates.push(candidateFile); + if (opts.fakeFs.existsSync(candidateFile)) { + return candidateFile; + } + } + } + return null; + } + function makeFakeModule(path) { + const fakeModule = new require$$0.Module(path, null); + fakeModule.filename = path; + fakeModule.paths = require$$0.Module._nodeModulePaths(path); + return fakeModule; + } + function callNativeResolution(request, issuer) { + if (issuer.endsWith(`/`)) + issuer = ppath.join(issuer, `internal.js`); + return require$$0.Module._resolveFilename(npath.fromPortablePath(request), makeFakeModule(npath.fromPortablePath(issuer)), false, { plugnplay: false }); + } + function isPathIgnored(path) { + if (ignorePattern === null) + return false; + const subPath = ppath.contains(runtimeState.basePath, path); + if (subPath === null) + return false; + if (ignorePattern.test(subPath.replace(/\/$/, ``))) { + return true; + } else { + return false; + } + } + const VERSIONS = { std: 3, resolveVirtual: 1, getAllLocators: 1 }; + const topLevel = topLevelLocator; + function getPackageInformation({ name, reference }) { + const packageInformationStore = packageRegistry.get(name); + if (!packageInformationStore) + return null; + const packageInformation = packageInformationStore.get(reference); + if (!packageInformation) + return null; + return packageInformation; + } + function findPackageDependents({ name, reference }) { + const dependents = []; + for (const [dependentName, packageInformationStore] of packageRegistry) { + if (dependentName === null) + continue; + for (const [dependentReference, packageInformation] of packageInformationStore) { + if (dependentReference === null) + continue; + const dependencyReference = packageInformation.packageDependencies.get(name); + if (dependencyReference !== reference) + continue; + if (dependentName === name && dependentReference === reference) + continue; + dependents.push({ + name: dependentName, + reference: dependentReference + }); + } + } + return dependents; + } + function findBrokenPeerDependencies(dependency, initialPackage) { + const brokenPackages = /* @__PURE__ */ new Map(); + const alreadyVisited = /* @__PURE__ */ new Set(); + const traversal = (currentPackage) => { + const identifier = JSON.stringify(currentPackage.name); + if (alreadyVisited.has(identifier)) + return; + alreadyVisited.add(identifier); + const dependents = findPackageDependents(currentPackage); + for (const dependent of dependents) { + const dependentInformation = getPackageInformationSafe(dependent); + if (dependentInformation.packagePeers.has(dependency)) { + traversal(dependent); + } else { + let brokenSet = brokenPackages.get(dependent.name); + if (typeof brokenSet === `undefined`) + brokenPackages.set(dependent.name, brokenSet = /* @__PURE__ */ new Set()); + brokenSet.add(dependent.reference); + } + } + }; + traversal(initialPackage); + const brokenList = []; + for (const name of [...brokenPackages.keys()].sort()) + for (const reference of [...brokenPackages.get(name)].sort()) + brokenList.push({ name, reference }); + return brokenList; + } + function findPackageLocator(location, { resolveIgnored = false, includeDiscardFromLookup = false } = {}) { + if (isPathIgnored(location) && !resolveIgnored) + return null; + let relativeLocation = ppath.relative(runtimeState.basePath, location); + if (!relativeLocation.match(isStrictRegExp)) + relativeLocation = `./${relativeLocation}`; + if (!relativeLocation.endsWith(`/`)) + relativeLocation = `${relativeLocation}/`; + do { + const entry = packageLocatorsByLocations.get(relativeLocation); + if (typeof entry === `undefined` || entry.discardFromLookup && !includeDiscardFromLookup) { + relativeLocation = relativeLocation.substring(0, relativeLocation.lastIndexOf(`/`, relativeLocation.length - 2) + 1); + continue; + } + return entry.locator; + } while (relativeLocation !== ``); + return null; + } + function tryReadFile(filePath) { + try { + return opts.fakeFs.readFileSync(npath.toPortablePath(filePath), `utf8`); + } catch (err) { + if (err.code === `ENOENT`) + return void 0; + throw err; + } + } + function resolveToUnqualified(request, issuer, { considerBuiltins = true } = {}) { + if (request.startsWith(`#`)) + throw new Error(`resolveToUnqualified can not handle private import mappings`); + if (request === `pnpapi`) + return npath.toPortablePath(opts.pnpapiResolution); + if (considerBuiltins && isBuiltinModule(request)) + return null; + const requestForDisplay = getPathForDisplay(request); + const issuerForDisplay = issuer && getPathForDisplay(issuer); + if (issuer && isPathIgnored(issuer)) { + if (!ppath.isAbsolute(request) || findPackageLocator(request) === null) { + const result = callNativeResolution(request, issuer); + if (result === false) { + throw makeError( + ErrorCode.BUILTIN_NODE_RESOLUTION_FAILED, + `The builtin node resolution algorithm was unable to resolve the requested module (it didn't go through the pnp resolver because the issuer was explicitely ignored by the regexp) + +Require request: "${requestForDisplay}" +Required by: ${issuerForDisplay} +`, + { request: requestForDisplay, issuer: issuerForDisplay } + ); + } + return npath.toPortablePath(result); + } + } + let unqualifiedPath; + const dependencyNameMatch = request.match(pathRegExp); + if (!dependencyNameMatch) { + if (ppath.isAbsolute(request)) { + unqualifiedPath = ppath.normalize(request); + } else { + if (!issuer) { + throw makeError( + ErrorCode.API_ERROR, + `The resolveToUnqualified function must be called with a valid issuer when the path isn't a builtin nor absolute`, + { request: requestForDisplay, issuer: issuerForDisplay } + ); + } + const absoluteIssuer = ppath.resolve(issuer); + if (issuer.match(isDirRegExp)) { + unqualifiedPath = ppath.normalize(ppath.join(absoluteIssuer, request)); + } else { + unqualifiedPath = ppath.normalize(ppath.join(ppath.dirname(absoluteIssuer), request)); + } + } + } else { + if (!issuer) { + throw makeError( + ErrorCode.API_ERROR, + `The resolveToUnqualified function must be called with a valid issuer when the path isn't a builtin nor absolute`, + { request: requestForDisplay, issuer: issuerForDisplay } + ); + } + const [, dependencyName, subPath] = dependencyNameMatch; + const issuerLocator = findPackageLocator(issuer); + if (!issuerLocator) { + const result = callNativeResolution(request, issuer); + if (result === false) { + throw makeError( + ErrorCode.BUILTIN_NODE_RESOLUTION_FAILED, + `The builtin node resolution algorithm was unable to resolve the requested module (it didn't go through the pnp resolver because the issuer doesn't seem to be part of the Yarn-managed dependency tree). + +Require path: "${requestForDisplay}" +Required by: ${issuerForDisplay} +`, + { request: requestForDisplay, issuer: issuerForDisplay } + ); + } + return npath.toPortablePath(result); + } + const issuerInformation = getPackageInformationSafe(issuerLocator); + let dependencyReference = issuerInformation.packageDependencies.get(dependencyName); + let fallbackReference = null; + if (dependencyReference == null) { + if (issuerLocator.name !== null) { + const exclusionEntry = runtimeState.fallbackExclusionList.get(issuerLocator.name); + const canUseFallbacks = !exclusionEntry || !exclusionEntry.has(issuerLocator.reference); + if (canUseFallbacks) { + for (let t = 0, T = fallbackLocators.length; t < T; ++t) { + const fallbackInformation = getPackageInformationSafe(fallbackLocators[t]); + const reference = fallbackInformation.packageDependencies.get(dependencyName); + if (reference == null) + continue; + if (alwaysWarnOnFallback) + fallbackReference = reference; + else + dependencyReference = reference; + break; + } + if (runtimeState.enableTopLevelFallback) { + if (dependencyReference == null && fallbackReference === null) { + const reference = runtimeState.fallbackPool.get(dependencyName); + if (reference != null) { + fallbackReference = reference; + } + } + } + } + } + } + let error = null; + if (dependencyReference === null) { + if (isDependencyTreeRoot(issuerLocator)) { + error = makeError( + ErrorCode.MISSING_PEER_DEPENDENCY, + `Your application tried to access ${dependencyName} (a peer dependency); this isn't allowed as there is no ancestor to satisfy the requirement. Use a devDependency if needed. + +Required package: ${dependencyName}${dependencyName !== requestForDisplay ? ` (via "${requestForDisplay}")` : ``} +Required by: ${issuerForDisplay} +`, + { request: requestForDisplay, issuer: issuerForDisplay, dependencyName } + ); + } else { + const brokenAncestors = findBrokenPeerDependencies(dependencyName, issuerLocator); + if (brokenAncestors.every((ancestor) => isDependencyTreeRoot(ancestor))) { + error = makeError( + ErrorCode.MISSING_PEER_DEPENDENCY, + `${issuerLocator.name} tried to access ${dependencyName} (a peer dependency) but it isn't provided by your application; this makes the require call ambiguous and unsound. + +Required package: ${dependencyName}${dependencyName !== requestForDisplay ? ` (via "${requestForDisplay}")` : ``} +Required by: ${issuerLocator.name}@${issuerLocator.reference} (via ${issuerForDisplay}) +${brokenAncestors.map((ancestorLocator) => `Ancestor breaking the chain: ${ancestorLocator.name}@${ancestorLocator.reference} +`).join(``)} +`, + { request: requestForDisplay, issuer: issuerForDisplay, issuerLocator: Object.assign({}, issuerLocator), dependencyName, brokenAncestors } + ); + } else { + error = makeError( + ErrorCode.MISSING_PEER_DEPENDENCY, + `${issuerLocator.name} tried to access ${dependencyName} (a peer dependency) but it isn't provided by its ancestors; this makes the require call ambiguous and unsound. + +Required package: ${dependencyName}${dependencyName !== requestForDisplay ? ` (via "${requestForDisplay}")` : ``} +Required by: ${issuerLocator.name}@${issuerLocator.reference} (via ${issuerForDisplay}) + +${brokenAncestors.map((ancestorLocator) => `Ancestor breaking the chain: ${ancestorLocator.name}@${ancestorLocator.reference} +`).join(``)} +`, + { request: requestForDisplay, issuer: issuerForDisplay, issuerLocator: Object.assign({}, issuerLocator), dependencyName, brokenAncestors } + ); + } + } + } else if (dependencyReference === void 0) { + if (!considerBuiltins && isBuiltinModule(request)) { + if (isDependencyTreeRoot(issuerLocator)) { + error = makeError( + ErrorCode.UNDECLARED_DEPENDENCY, + `Your application tried to access ${dependencyName}. While this module is usually interpreted as a Node builtin, your resolver is running inside a non-Node resolution context where such builtins are ignored. Since ${dependencyName} isn't otherwise declared in your dependencies, this makes the require call ambiguous and unsound. + +Required package: ${dependencyName}${dependencyName !== requestForDisplay ? ` (via "${requestForDisplay}")` : ``} +Required by: ${issuerForDisplay} +`, + { request: requestForDisplay, issuer: issuerForDisplay, dependencyName } + ); + } else { + error = makeError( + ErrorCode.UNDECLARED_DEPENDENCY, + `${issuerLocator.name} tried to access ${dependencyName}. While this module is usually interpreted as a Node builtin, your resolver is running inside a non-Node resolution context where such builtins are ignored. Since ${dependencyName} isn't otherwise declared in ${issuerLocator.name}'s dependencies, this makes the require call ambiguous and unsound. + +Required package: ${dependencyName}${dependencyName !== requestForDisplay ? ` (via "${requestForDisplay}")` : ``} +Required by: ${issuerForDisplay} +`, + { request: requestForDisplay, issuer: issuerForDisplay, issuerLocator: Object.assign({}, issuerLocator), dependencyName } + ); + } + } else { + if (isDependencyTreeRoot(issuerLocator)) { + error = makeError( + ErrorCode.UNDECLARED_DEPENDENCY, + `Your application tried to access ${dependencyName}, but it isn't declared in your dependencies; this makes the require call ambiguous and unsound. + +Required package: ${dependencyName}${dependencyName !== requestForDisplay ? ` (via "${requestForDisplay}")` : ``} +Required by: ${issuerForDisplay} +`, + { request: requestForDisplay, issuer: issuerForDisplay, dependencyName } + ); + } else { + error = makeError( + ErrorCode.UNDECLARED_DEPENDENCY, + `${issuerLocator.name} tried to access ${dependencyName}, but it isn't declared in its dependencies; this makes the require call ambiguous and unsound. + +Required package: ${dependencyName}${dependencyName !== requestForDisplay ? ` (via "${requestForDisplay}")` : ``} +Required by: ${issuerLocator.name}@${issuerLocator.reference} (via ${issuerForDisplay}) +`, + { request: requestForDisplay, issuer: issuerForDisplay, issuerLocator: Object.assign({}, issuerLocator), dependencyName } + ); + } + } + } + if (dependencyReference == null) { + if (fallbackReference === null || error === null) + throw error || new Error(`Assertion failed: Expected an error to have been set`); + dependencyReference = fallbackReference; + const message = error.message.replace(/\n.*/g, ``); + error.message = message; + if (!emittedWarnings.has(message) && debugLevel !== 0) { + emittedWarnings.add(message); + process.emitWarning(error); + } + } + const dependencyLocator = Array.isArray(dependencyReference) ? { name: dependencyReference[0], reference: dependencyReference[1] } : { name: dependencyName, reference: dependencyReference }; + const dependencyInformation = getPackageInformationSafe(dependencyLocator); + if (!dependencyInformation.packageLocation) { + throw makeError( + ErrorCode.MISSING_DEPENDENCY, + `A dependency seems valid but didn't get installed for some reason. This might be caused by a partial install, such as dev vs prod. + +Required package: ${dependencyLocator.name}@${dependencyLocator.reference}${dependencyLocator.name !== requestForDisplay ? ` (via "${requestForDisplay}")` : ``} +Required by: ${issuerLocator.name}@${issuerLocator.reference} (via ${issuerForDisplay}) +`, + { request: requestForDisplay, issuer: issuerForDisplay, dependencyLocator: Object.assign({}, dependencyLocator) } + ); + } + const dependencyLocation = dependencyInformation.packageLocation; + if (subPath) { + unqualifiedPath = ppath.join(dependencyLocation, subPath); + } else { + unqualifiedPath = dependencyLocation; + } + } + return ppath.normalize(unqualifiedPath); + } + function resolveUnqualifiedExport(request, unqualifiedPath, conditions = defaultExportsConditions, issuer) { + if (isStrictRegExp.test(request)) + return unqualifiedPath; + const unqualifiedExportPath = applyNodeExportsResolution(unqualifiedPath, conditions, issuer); + if (unqualifiedExportPath) { + return ppath.normalize(unqualifiedExportPath); + } else { + return unqualifiedPath; + } + } + function resolveUnqualified(unqualifiedPath, { extensions = Object.keys(require$$0.Module._extensions) } = {}) { + var _a, _b; + const candidates = []; + const qualifiedPath = applyNodeExtensionResolution(unqualifiedPath, candidates, { extensions }); + if (qualifiedPath) { + return ppath.normalize(qualifiedPath); + } else { + reportRequiredFilesToWatchMode(candidates.map((candidate) => npath.fromPortablePath(candidate))); + const unqualifiedPathForDisplay = getPathForDisplay(unqualifiedPath); + const containingPackage = findPackageLocator(unqualifiedPath); + if (containingPackage) { + const { packageLocation } = getPackageInformationSafe(containingPackage); + let exists = true; + try { + opts.fakeFs.accessSync(packageLocation); + } catch (err) { + if ((err == null ? void 0 : err.code) === `ENOENT`) { + exists = false; + } else { + const readableError = ((_b = (_a = err == null ? void 0 : err.message) != null ? _a : err) != null ? _b : `empty exception thrown`).replace(/^[A-Z]/, ($0) => $0.toLowerCase()); + throw makeError(ErrorCode.QUALIFIED_PATH_RESOLUTION_FAILED, `Required package exists but could not be accessed (${readableError}). + +Missing package: ${containingPackage.name}@${containingPackage.reference} +Expected package location: ${getPathForDisplay(packageLocation)} +`, { unqualifiedPath: unqualifiedPathForDisplay, extensions }); + } + } + if (!exists) { + const errorMessage = packageLocation.includes(`/unplugged/`) ? `Required unplugged package missing from disk. This may happen when switching branches without running installs (unplugged packages must be fully materialized on disk to work).` : `Required package missing from disk. If you keep your packages inside your repository then restarting the Node process may be enough. Otherwise, try to run an install first.`; + throw makeError( + ErrorCode.QUALIFIED_PATH_RESOLUTION_FAILED, + `${errorMessage} + +Missing package: ${containingPackage.name}@${containingPackage.reference} +Expected package location: ${getPathForDisplay(packageLocation)} +`, + { unqualifiedPath: unqualifiedPathForDisplay, extensions } + ); + } + } + throw makeError( + ErrorCode.QUALIFIED_PATH_RESOLUTION_FAILED, + `Qualified path resolution failed: we looked for the following paths, but none could be accessed. + +Source path: ${unqualifiedPathForDisplay} +${candidates.map((candidate) => `Not found: ${getPathForDisplay(candidate)} +`).join(``)}`, + { unqualifiedPath: unqualifiedPathForDisplay, extensions } + ); + } + } + function resolvePrivateRequest(request, issuer, opts2) { + var _a; + if (!issuer) + throw new Error(`Assertion failed: An issuer is required to resolve private import mappings`); + const resolved = packageImportsResolve({ + name: request, + base: url.pathToFileURL(npath.fromPortablePath(issuer)), + conditions: (_a = opts2.conditions) != null ? _a : defaultExportsConditions, + readFileSyncFn: tryReadFile + }); + if (resolved instanceof url.URL) { + return resolveUnqualified(npath.toPortablePath(url.fileURLToPath(resolved)), { extensions: opts2.extensions }); + } else { + if (resolved.startsWith(`#`)) + throw new Error(`Mapping from one private import to another isn't allowed`); + return resolveRequest(resolved, issuer, opts2); + } + } + function resolveRequest(request, issuer, opts2 = {}) { + try { + if (request.startsWith(`#`)) + return resolvePrivateRequest(request, issuer, opts2); + const { considerBuiltins, extensions, conditions } = opts2; + const unqualifiedPath = resolveToUnqualified(request, issuer, { considerBuiltins }); + if (request === `pnpapi`) + return unqualifiedPath; + if (unqualifiedPath === null) + return null; + const isIssuerIgnored = () => issuer !== null ? isPathIgnored(issuer) : false; + const remappedPath = (!considerBuiltins || !isBuiltinModule(request)) && !isIssuerIgnored() ? resolveUnqualifiedExport(request, unqualifiedPath, conditions, issuer) : unqualifiedPath; + return resolveUnqualified(remappedPath, { extensions }); + } catch (error) { + if (Object.prototype.hasOwnProperty.call(error, `pnpCode`)) + Object.assign(error.data, { request: getPathForDisplay(request), issuer: issuer && getPathForDisplay(issuer) }); + throw error; + } + } + function resolveVirtual(request) { + const normalized = ppath.normalize(request); + const resolved = VirtualFS.resolveVirtual(normalized); + return resolved !== normalized ? resolved : null; + } + return { + VERSIONS, + topLevel, + getLocator: (name, referencish) => { + if (Array.isArray(referencish)) { + return { name: referencish[0], reference: referencish[1] }; + } else { + return { name, reference: referencish }; + } + }, + getDependencyTreeRoots: () => { + return [...runtimeState.dependencyTreeRoots]; + }, + getAllLocators() { + const locators = []; + for (const [name, entry] of packageRegistry) + for (const reference of entry.keys()) + if (name !== null && reference !== null) + locators.push({ name, reference }); + return locators; + }, + getPackageInformation: (locator) => { + const info = getPackageInformation(locator); + if (info === null) + return null; + const packageLocation = npath.fromPortablePath(info.packageLocation); + const nativeInfo = { ...info, packageLocation }; + return nativeInfo; + }, + findPackageLocator: (path) => { + return findPackageLocator(npath.toPortablePath(path)); + }, + resolveToUnqualified: maybeLog(`resolveToUnqualified`, (request, issuer, opts2) => { + const portableIssuer = issuer !== null ? npath.toPortablePath(issuer) : null; + const resolution = resolveToUnqualified(npath.toPortablePath(request), portableIssuer, opts2); + if (resolution === null) + return null; + return npath.fromPortablePath(resolution); + }), + resolveUnqualified: maybeLog(`resolveUnqualified`, (unqualifiedPath, opts2) => { + return npath.fromPortablePath(resolveUnqualified(npath.toPortablePath(unqualifiedPath), opts2)); + }), + resolveRequest: maybeLog(`resolveRequest`, (request, issuer, opts2) => { + const portableIssuer = issuer !== null ? npath.toPortablePath(issuer) : null; + const resolution = resolveRequest(npath.toPortablePath(request), portableIssuer, opts2); + if (resolution === null) + return null; + return npath.fromPortablePath(resolution); + }), + resolveVirtual: maybeLog(`resolveVirtual`, (path) => { + const result = resolveVirtual(npath.toPortablePath(path)); + if (result !== null) { + return npath.fromPortablePath(result); + } else { + return null; + } + }) + }; +} + +function makeManager(pnpapi, opts) { + const initialApiPath = npath.toPortablePath(pnpapi.resolveToUnqualified(`pnpapi`, null)); + const initialApiStats = opts.fakeFs.statSync(npath.toPortablePath(initialApiPath)); + const apiMetadata = /* @__PURE__ */ new Map([ + [initialApiPath, { + instance: pnpapi, + stats: initialApiStats, + lastRefreshCheck: Date.now() + }] + ]); + function loadApiInstance(pnpApiPath) { + const nativePath = npath.fromPortablePath(pnpApiPath); + const module = new require$$0.Module(nativePath, null); + module.load(nativePath); + return module.exports; + } + function refreshApiEntry(pnpApiPath, apiEntry) { + const timeNow = Date.now(); + if (timeNow - apiEntry.lastRefreshCheck < 500) + return; + apiEntry.lastRefreshCheck = timeNow; + const stats = opts.fakeFs.statSync(pnpApiPath); + if (stats.mtime > apiEntry.stats.mtime) { + process.emitWarning(`[Warning] The runtime detected new informations in a PnP file; reloading the API instance (${npath.fromPortablePath(pnpApiPath)})`); + apiEntry.stats = stats; + apiEntry.instance = loadApiInstance(pnpApiPath); + } + } + function getApiEntry(pnpApiPath, refresh = false) { + let apiEntry = apiMetadata.get(pnpApiPath); + if (typeof apiEntry !== `undefined`) { + if (refresh) { + refreshApiEntry(pnpApiPath, apiEntry); + } + } else { + apiMetadata.set(pnpApiPath, apiEntry = { + instance: loadApiInstance(pnpApiPath), + stats: opts.fakeFs.statSync(pnpApiPath), + lastRefreshCheck: Date.now() + }); + } + return apiEntry; + } + const findApiPathCache = /* @__PURE__ */ new Map(); + function addToCacheAndReturn(start, end, target) { + if (target !== null) + target = VirtualFS.resolveVirtual(target); + let curr; + let next = start; + do { + curr = next; + findApiPathCache.set(curr, target); + next = ppath.dirname(curr); + } while (curr !== end); + return target; + } + function findApiPathFor(modulePath) { + let bestCandidate = null; + for (const [apiPath, apiEntry] of apiMetadata) { + const locator = apiEntry.instance.findPackageLocator(modulePath); + if (!locator) + continue; + if (apiMetadata.size === 1) + return apiPath; + const packageInformation = apiEntry.instance.getPackageInformation(locator); + if (!packageInformation) + throw new Error(`Assertion failed: Couldn't get package information for '${modulePath}'`); + if (!bestCandidate) + bestCandidate = { packageLocation: packageInformation.packageLocation, apiPaths: [] }; + if (packageInformation.packageLocation === bestCandidate.packageLocation) { + bestCandidate.apiPaths.push(apiPath); + } else if (packageInformation.packageLocation.length > bestCandidate.packageLocation.length) { + bestCandidate = { packageLocation: packageInformation.packageLocation, apiPaths: [apiPath] }; + } + } + if (bestCandidate) { + if (bestCandidate.apiPaths.length === 1) + return bestCandidate.apiPaths[0]; + const controlSegment = bestCandidate.apiPaths.map((apiPath) => ` ${npath.fromPortablePath(apiPath)}`).join(` +`); + throw new Error(`Unable to locate pnpapi, the module '${modulePath}' is controlled by multiple pnpapi instances. +This is usually caused by using the global cache (enableGlobalCache: true) + +Controlled by: +${controlSegment} +`); + } + const start = ppath.resolve(npath.toPortablePath(modulePath)); + let curr; + let next = start; + do { + curr = next; + const cached = findApiPathCache.get(curr); + if (cached !== void 0) + return addToCacheAndReturn(start, curr, cached); + const cjsCandidate = ppath.join(curr, Filename.pnpCjs); + if (opts.fakeFs.existsSync(cjsCandidate) && opts.fakeFs.statSync(cjsCandidate).isFile()) + return addToCacheAndReturn(start, curr, cjsCandidate); + const legacyCjsCandidate = ppath.join(curr, Filename.pnpJs); + if (opts.fakeFs.existsSync(legacyCjsCandidate) && opts.fakeFs.statSync(legacyCjsCandidate).isFile()) + return addToCacheAndReturn(start, curr, legacyCjsCandidate); + next = ppath.dirname(curr); + } while (curr !== PortablePath.root); + return addToCacheAndReturn(start, curr, null); + } + const moduleToApiPathCache = /* @__PURE__ */ new WeakMap(); + function getApiPathFromParent(parent) { + if (parent == null) + return initialApiPath; + let apiPath = moduleToApiPathCache.get(parent); + if (typeof apiPath !== `undefined`) + return apiPath; + apiPath = parent.filename ? findApiPathFor(parent.filename) : null; + moduleToApiPathCache.set(parent, apiPath); + return apiPath; + } + return { + getApiPathFromParent, + findApiPathFor, + getApiEntry + }; +} + +const localFs = { ...fs__default.default }; +const nodeFs = new NodeFS(localFs); +const defaultRuntimeState = $$SETUP_STATE(hydrateRuntimeState); +const defaultPnpapiResolution = __filename; +const defaultFsLayer = new VirtualFS({ + baseFs: new ZipOpenFS({ + baseFs: nodeFs, + libzip: () => getLibzipSync(), + maxOpenFiles: 80, + readOnlyArchives: true + }) +}); +class DynamicFS extends ProxiedFS { + constructor() { + super(ppath); + this.baseFs = defaultFsLayer; + } + mapToBase(p) { + return p; + } + mapFromBase(p) { + return p; + } +} +const dynamicFsLayer = new DynamicFS(); +let manager; +const defaultApi = Object.assign(makeApi(defaultRuntimeState, { + fakeFs: dynamicFsLayer, + pnpapiResolution: defaultPnpapiResolution +}), { + makeApi: ({ + basePath = void 0, + fakeFs = dynamicFsLayer, + pnpapiResolution = defaultPnpapiResolution, + ...rest + }) => { + const apiRuntimeState = typeof basePath !== `undefined` ? $$SETUP_STATE(hydrateRuntimeState, basePath) : defaultRuntimeState; + return makeApi(apiRuntimeState, { + fakeFs, + pnpapiResolution, + ...rest + }); + }, + setup: (api) => { + applyPatch(api || defaultApi, { + fakeFs: defaultFsLayer, + manager + }); + dynamicFsLayer.baseFs = new NodeFS(fs__default.default); + } +}); +manager = makeManager(defaultApi, { + fakeFs: dynamicFsLayer +}); +if (module.parent && module.parent.id === `internal/preload`) { + defaultApi.setup(); + if (module.filename) { + delete require$$0__default.default._cache[module.filename]; + } +} +if (process.mainModule === module) { + const reportError = (code, message, data) => { + process.stdout.write(`${JSON.stringify([{ code, message, data }, null])} +`); + }; + const reportSuccess = (resolution) => { + process.stdout.write(`${JSON.stringify([null, resolution])} +`); + }; + const processResolution = (request, issuer) => { + try { + reportSuccess(defaultApi.resolveRequest(request, issuer)); + } catch (error) { + reportError(error.code, error.message, error.data); + } + }; + const processRequest = (data) => { + try { + const [request, issuer] = JSON.parse(data); + processResolution(request, issuer); + } catch (error) { + reportError(`INVALID_JSON`, error.message, error.data); + } + }; + if (process.argv.length > 2) { + if (process.argv.length !== 4) { + process.stderr.write(`Usage: ${process.argv[0]} ${process.argv[1]} +`); + process.exitCode = 64; + } else { + processResolution(process.argv[2], process.argv[3]); + } + } else { + let buffer = ``; + const decoder = new StringDecoder__default.default.StringDecoder(); + process.stdin.on(`data`, (chunk) => { + buffer += decoder.write(chunk); + do { + const index = buffer.indexOf(` +`); + if (index === -1) + break; + const line = buffer.slice(0, index); + buffer = buffer.slice(index + 1); + processRequest(line); + } while (true); + }); + } +} + +module.exports = defaultApi; diff --git a/.yarn/cache/accepts-npm-1.3.8-9a812371c9-50c43d32e7.zip b/.yarn/cache/accepts-npm-1.3.8-9a812371c9-50c43d32e7.zip new file mode 100644 index 0000000000000000000000000000000000000000..416f55bd5bc0e7a7d37398659b68b6a45f2fb5e0 GIT binary patch literal 6503 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 B*RKEo literal 0 HcmV?d00001 diff --git a/.yarn/cache/array-flatten-npm-1.1.1-9d94ad5f1d-a9925bf351.zip b/.yarn/cache/array-flatten-npm-1.1.1-9d94ad5f1d-a9925bf351.zip new file mode 100644 index 0000000000000000000000000000000000000000..c6a8b53334379563a9bdfa6824923e6770223800 GIT binary patch literal 2765 zcmai0c{r5q8XrrR&pN&t6}~Jf%VdmwFpA7nGh>;o*+Mb;YOF=Fguyt5EDd9eh)~&6 z2w6trg9t+T6xC&BTmJnpwgg?Asd_wca4A%`c}U%Te$@;#9m!13)H;bl}}C=&qS z$^rmL?VadmfANaFlOy! zv=nM%e(J(g4PacnPG`cBO=rtGtJt5Vw2vUghbn(9s^s+FYmP#cqMQ>!hf;wn5q(1X z_mfI&n@v9grjHvkdGIjbdZCfV1G7JZgXt-Y)IpGvbkDeO(Y1*_V~cO>Nxy7@t6z)4ypfw( z225uf&)_#V|J-qD>+qqaCLM5l;;?f-4!xBZ?7UEe{P4y_{%l6>SrhKl{dCGgX_s+{ z*kcq%^!(}Eu9iC@IVJQ&%@Kn8y6tM76DQPoW8&TRSuu!$HV_AHkWM0VD!8~{8Pv6z-&=opNuqGm4!!OWM!=zub zSSI4WED}m_u~ARu#^JXQIHO2t1oX6bEB6sw$bBVkc|R0*INVa-dt0+8T0kp{N>Cnh zFQfa6<>*<}yO1D(>4nvlH$?G+NuJvrt=?SBxFl=rD}j+&q+3FE$?~h-L3+=NP*S8~ z<-dwwFwgN+^f&bIUYubhpM{($=2){>_>y6twxj5912)DGGHu+#7C&In) z$DIuu8L8mMN!=FB=W4jeR^IUkq?f0!o^emQLz5yy$Xy`Y+cECXp9PU5W8n2rP6<*B z36733;RU^WpDRRwP*hWc#6oJgNh$m4Cr!m~HSyyyoa_79szbRHkC#qYV(#l)?x$@Y z)@t}LX+!H=7bsLWM;&@=fKIi~Iwln|;Mf0@V`f8e^L(2r#eO_96)C+G66>ihk6P1X zZwJ4syLgkak>^dT_2V}vQb>u(JfuN(E%m0Byn{$qmQMbOqG$GEE3>ci{`56p1Z=C+5mW`5_@wOYJL(;d9)C zEK;v3et~W396~{`a>=>030hlqgIIXC#xK~>c2hyjfN{wMHm^5QDXLZ)*!^EqI29&+j4WM;) zi{H8)=9YgdxI@llxU$i#nLYmsR7xpCHfFf)b0ZC5chBNWVxpG5ME(OGJbQZCfK>Tl zcLg@^3@bC`b5b+#*>18<-?G$BDqN0&FqMRyoRn7ta<+SiGma5cduRL} zF=>LjmJcn07YKYO9H~gLn_x`bkqL5(ek>*^v3=}XO7q8qRCvPVsy}w4DAweiHjz(O z1|u=V0WK__z$Rg;qhDdBBjM&1%)I-|EgOg8Akt4CHe-VpIq7&sD;X1@aO{VD4<*>f z_HjuMAoS7XPjb)9C-}yyUO~Q8^%r&aAjQf-?<3`n-4p6@?yZwYi6O45j}x;!9L`1# z&du4C39`l>YO>99OgkG1?<%cVtdGOg+?sQckr>5LOJm|&)qt6vW60yNqt-{~j+I_s zbpsMIe5}Z7C(p1N#&UI0{NW?SO_pD&d;v(3{3=+FcBl;5o65iF-i~bL8@CzIVEk3@ zAX6rE!ISE`z%#W#NvOy}jOUR4#THKqUz=Rq_Fqlz7*R2BxUNHsrlw|EOPV^ih%gb^ zb$g;@0NYI)KW(};6An9-cQ?-Ns8);Lq@o4&YL4{bXc$4E0gA^iV3eHltbvQ!#Md7V zwi%7vcm%1NTK9&itQH8IIu_Kmo_sl&wAe%zp8?Isr@isO;CpZ+vbfi&GJPF}mrvZ% z6bjMHbB0#5)a*CheeF{c;KtuE1tCGpT_V=&}_e&Yv{g?0C%B@zZlHf~V1o+ae=X5&(A|3c6BN2LiT42guR8BW+&#sAB4T!$VGqRbGkrJS j?pFGV2WH~6%j5&O;5kE;4{vu;#Go;;^c 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௮!H}ZN0)`|!3HsJ>xSv2WK1d)nQE`R9Rb8_Q! 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 E0fh?pH2?qr literal 0 HcmV?d00001 diff --git a/.yarn/cache/content-disposition-npm-0.5.4-2d93678616-afb9d545e2.zip b/.yarn/cache/content-disposition-npm-0.5.4-2d93678616-afb9d545e2.zip new file mode 100644 index 0000000000000000000000000000000000000000..5f9dc26d3d9846771c70768a702b8f213859c02a GIT binary patch literal 7986 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 literal 0 HcmV?d00001 diff --git a/.yarn/cache/cookie-signature-npm-1.0.6-93f325f7f0-f4e1b0a98a.zip b/.yarn/cache/cookie-signature-npm-1.0.6-93f325f7f0-f4e1b0a98a.zip new file mode 100644 index 0000000000000000000000000000000000000000..bf40b1449e49d1a342f1be69e700c746594c63d5 GIT binary patch literal 3027 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 JjOJhK{SA=3-eCX$ literal 0 HcmV?d00001 diff --git a/.yarn/cache/debug-npm-2.6.9-7d4cb597dc-d2f51589ca.zip b/.yarn/cache/debug-npm-2.6.9-7d4cb597dc-d2f51589ca.zip new file mode 100644 index 0000000000000000000000000000000000000000..5a1127607623920ccf91914bd2c36856948619a6 GIT binary patch literal 21186 zcmaI7W0YmhvNc?`ZJS-T?JnE4ZM(W`+qP|^%eHO3buNB9_dDm?W5?cWjL2NMGDk$l z$~hx`O96wR0Q~F2U;P*2zb^jg2lnUR#@5JK*V@*|*~-|F{`Y@uiu`|@8W|fnoBmG+ zAOMK}y7zK92pSR)0DuDs0092K?_j5IXsK^%OlRR}YvZga6S@8iq3c)`B1gl_h-=l# zRS1IeVHRy|puVLDP~`8hq|sQ^L7~Z*@3r{dvY@9#C7bOQ_f*uDNf1f8GLd>hAwuX; zs@L7Dh+mSZr<1_-siCmI;;^J??ocl_QCM3u+?d!Y5M&;hQfTD@itoe`e_PpndHf7M>1^JHIYB}dhrg;(TA;ba0hvP6>^ea2GvIC+;s`@ zog~<}(_E%eLg#KsO3*E&_>#vKR>3~G^IjLx-gBT~)b3Q8w4-1j_|UUgY7AvwBh3Zo zl?08jSzoW89H&?+(Ap4FMYa3Va(Q*02k=URM^+%kn_2jmAc22`W?OCi zv1vAJ1qK7ER5o^K! zV@BdXg8T2yiO$B(+T7H}*1?#Xj+SDSo@$p$f|hPqvPyiCc2t5kgrT+ZA>uxvp-q9& zKRzj3#NC5~z{bHx-9p~LgGyDw$K4`MN5$R;4;|pYP5*x_*{97o9T5ot;7bGm0O#Ki ztso*GEF(f^ZB(W8?Xu2V|CJ->&zX^wB$+6|)x2-jPQ5N!RZZ(oTC}RQjTcEo2+1H~ z0XZMjzUla6{?vDsuwe_fNY7=y;JN!if(8N8jrsG93gbnN!$CzpKFY{g5FCm-ITp}4 z$#E%h=Upa`7R?5ImRuG(EM6`2*HuoRG%5@LgLiuTJeVn<5$`|EP|tNtQ||GwQihQB zOx~KHNgX9;3jH96X{wkPB|9#&kyhfR6_q1p5fxyL>xnRyT1z?L#+rJ0vq#vfI<$%^ z3q7?`A)(S;WN}sq&nSei&aU27@;&aQnp(-4IG~9(#5_9FsU|HngIB$z3#x2{zcwmv zDfU)jRSCZLMJziu&tDi}OsP@^=aY%6Fd~d+j=vJK{xHjr52tWI6=Gu;Kn{x${uRQ~ zRsgXet-{K6%$P}bh9B&Ndps2BSTrD*kS82lB!U#~MK$#2J>Pv3O%l41e_p5-flV>Z zn!-RO5!LMsSMpr&Z1`(V=Wz&n#QjOS5jkrBGXRGN*OVP628hS`iy;10n&Q541H)~Y zc+32SqTS*A_o&>BSeXdHun1Co>at+PDz{FUdoGI}@Z}vMbsPv2<$Rr5p@?WPrGYv! zAhS}N+wWBR1ot=rTWJ_-P!1UI6k|=jm0u(aBlAh>$tFS!vP?*%cZ<@atst?-4rB>9 z5DKa=5TMYZf~Nxx{MoW(bw)}iY8nUkM5bwRSby|aNkUg(44M%m0q#h~7P!4OvBE+r z`y4a>mH@cK?y;uM>|(T#TkZT=YlE+M=w|!lUZjuu% zW;Mi?@6d!W_1by2W{(BS0C(l5&+Cel+^mUNWG*}XsHHj?OT`(F!Zt}lvzUS@-O-_y zqdloK;MD#mCv9MqJC-%(l`gucDc_f43;9RWh`|W*>|&e*h*gdF^SUtLudni^nm>E| z=4V$|*P6wvE8C!oG`t@ZF)NCjIFpqcW2t)Ztyrn=) zvO8DbQ78P~=1hOILOn5XzCKJl8TU!cARsw#*!un7(~fIf+hFM{WzltbJP-^j48Q^d zTM6O3-9z6rNDlq`A2p;1m6ekUDI7ECjX%*z1>_(f8F3_LcjNufDCg9CtqEH#^w06Z76d_F256m2x^#6?tq= z9XcfLH{r>l!rpMvTbbAJC-(iw{bMeyM;rc!ZYu1e0oKYGUm2#SB+w=#zDjq~K?cC$ z+UNooj1xNk6^UTq`jC*ARsEiKnSQ`1D=hIZa{Rkt`?+b*10XHO zxd`SGgcu!7WF~#Mrw|!4;+OM#Mn&wj!0%M;r689~4dR8+iv`Al{G6}KxZE>6E2^Fj z^qU=9&>ube86G+7>U%UYSNiy)%Otf^gcbd@Fi5>BCUpyw06HN}YJ`UqiHj`FAG9Fo z_D)hzJke{#_dp+pPYS1z5c9Po2AC?#Z8H4&>VaN;Vxw}S!^m#nfm9q*dZ-IKI#_xL zR?zQ;x*7l6VJl|>lD52z@ugX^%iTbM<2dz_<< zlP-hoQl>`JAdrM+@Jv{H!^LZmGWTPmz76Kv`x^*g>Vv~2X1~1ryO@Ux3EjEVhONd+ zrBTMebT_muy^H;~eu0>yd!vb4Z$eoFMK^9)EyO!YGRr%V2Zkjl5;4>uHS6$Bg;9=X z3kl`Rk(cpg=RJvk%)TI;Y8D5`zo~6NI|bCMq3wyh$TjOJ|moMbxE( zlTG6>?pOq|_c+M2l0<-0E9Klv7J!m+=GGud_$dO$B0{y|2DwC!Ins!YFGl*6l2D3T zg8j7ky!cs@#Uxb0!Y3)xlX!R%R`f{@7ELBa@g@8MJz;Rx*k7+ATIiVX2g_d{dmjqA z-&S8=&U_fUYhI)GE$nRb(cO9e^Vap1;MD--9pEvB0jHZ^=7!IO|8On1x%PHx!l zh;Sb49f-)h(;qE`nJv}e=t2aiF}z5ydJ~gH93#SNC#NdMUn0++mm=>UolALypOnT- zil`!La>8DAhHwr=7u6_2Wq1?DCyh@nEs0r~1g!o zX*odyqK$e+g*Ynj`z(H?@e%FWywg3b)dap`Wl=lL6$%n} zL|z(1+K@3aewtlJ6>r|+peHVIU~>#Q_0n2?CE8-g;w$B1DOvbsm?sx)dF5vL(6xlK zRU!3w+d(Z$$?aG#^J|{rLr#A^a5b!cb6vBE&)0hvqXKvr^-;{ubP|J>yG{k#KVR}xGO}VrfdPtvOG=%e zCrS<~CphxHox7^o3}g|)FRj2LXhtI|UKNVrlwj2zFcY}PHsI*S^I4$;V^b2b2Pt$z zvhXs*X=x9yjkyJohcJq-=54Aa#)+^TM1;Nb`m;f^YMWzAh^fpWTV5M{-~I9{t8ShC zn_2nSSKi86F8lFQwHpkgz z7>c=7GcprdxDaPbl#2P)n6OerKsjB8<%=|mB*Kss>R8ThUTzNc!}tt+uTM_wybkuC zfwz&jucjW#ZJg8nye<|J{`rj9O6%R+wB(FI!2=>BX zr(T?$PcLB|^;!4?9ak!x!s(Q77wGB_A1ZhTI` zcv|9^QGHWMBumQViTaaXNfJYusA7TnXA{+2<)I#~PnoISQq9N-rI-j$d5f8Y(#sp8 zgx%rsKJjc(C<0bIt|?!E-NnhBe?*KWhVC262}JgVB|SFD3*eiyBQ*4zlhR zmk8UnNvXmEGN;GPxS61>n4<0Ovt*{!NM-sZ-@vONEwPOU0?f#o!a|lf*#IbtYSS4q z`;4!Ee5zo(loYf_UhFL?uYexzaha4tQ7ev^>Rf?8_&CeHdjCej{;yEpB*~xg;28kKIG-smfJl0Bhp)!@>gX6zLECy9$~tx29% zvLm6vw&wd23buGh!-FYFHJRwU=azuswK1>&7kTZY{9D=d(!(1gkiq>R8D)hb@~{Qj zIR{0X4>@|fY*Qd-7TLLBU~V^O+24ESXlL!|q+;5RYnJk*c|ZwuLFp^TKhPvvlcUt6 z0Y-I;xo6chQpwCq`|L8;4~m>R_&2YXsqC~w%fBJQ2n*cA`odO7W^aHu+3!A5LZiKH zznA8A?F}E!*u6MnV$Sc>V$QS4pU+1^eSU*)c5UF}#=yt)57Z;^J1w)QAy^py+JEFL zN}pr*+Z?QSn^{6T`1azQu3J-&wxDyuV)Cr4BnI42lYyF#lWrMr4@W*ZFO;qVCK!Yb zro_mxLNS#wKdgvssClJKd0FnDNu7~vEmKI26thf%`7qWV-nHpSf*krxa@f9MN0R2W z4Hp6C36kd2th=(LCG-Q^sNkpR@#;0Lofu>ZVAa@+lg!_&&wJD0&nGl!ofXESQh^Np zs9#_sF@vUp5z&*xwPPQl@|I0NqBV6kX`9oJw*f3lM|P%33GXfwc)nC7AteZNX=1g1 zjng4Hh%=CKg2eE_eoHuoq^@`oMt-O!WaPmO(7M!D-XV9jL9?Scs%yviAfT(=#|sc) zr@bmILbhuvMfZwQW-mgE^$6k4XVWH`N5uJ_TK0=spl_%Yq@Ms_y6B=*rHrp<4+RxG zV<_QmWKdQhc&2Am^j3C?cO06UDuW4+isPug*#2Uz`=G0TOW6OQL{PjL%gCzvP-v)I z2B;wFm#lTK;H-r_=>^J7VFm1J1UQ)`%N2t5i?IUYtOqz*An-t?>oU#OwJo+uUEcrH^lf!3KRx|B)i;c%<7J6%x78(k zMS#@n7Yn*YX}QT(k_0)Wa>MDfPKCSAQoh`_W4N>WS-7%;*bq4$|7gn@d(lb_#X%yE zuP$i`j!{`+L-NzN+E@|73>C=?7|Avj$u?M_cSY=zH9u!9)M+nRVTuZ2S0mu*ELEWp zc5FI%++d<-3(Nyr;Ef!L;qg3Hr8|H zO{;0jC=a#tkIG>ND#g=f>_>H!t!Q5;~NYIoWulm() zn=zfpZQDCe5a3>HBd=NIi?%pZnTJn5|}IA=CEb&oC@rAKboQk@j_ zaei@nJ>W|< zdMG!K^LrwNozS~mXX!33d;Z*(_%u7fEk4^*A3qiZBNW;CrN7E)p z4M$av?z6^c_sNs+``KIlCTC5!%kjnCrhCVI7yD4FEV}GgNQKZzF11;|f>KAYy=_*7 z%Jl^hen!dV1go~P_d1@F_>m@rb;P-e?JTdS>*_`Lxog+CO;7OY3}N%aRp+IC@?Yf& zCc7*baO?a>V&1SXk^8&&5{qu&H@tnWa~#o#siUEcoeF z;|6bK27!)s!i-F3u0TBAznKCpY-+IH+gB|X z`Ky-CV+6LI+F|652Er-9dRisMg|TIjO${1|PK2~ukD8V=$5lt9MvvwT8j;TF))ts$9D6CZAPDxE zCklXN?ZoVYWC}js@wiTn6Nm`$-#fB5!esm6AxE7Hz$$DCC>TcWOP{j>Gmg-@z1}`h z2kA$pZDsE^oECInuJC+$%`2vEc5^joud!Z}w3{zz*y}3b1H_CjUzCoanYlkxbz1Wb5fg<8)B&cGEP8Nr#GA|Cq z%5>7PEAcem9oA1(_YR)436!ibg7*OMeRcpPzvN`%z({f~u;CViiNj0xvFM6SdDp>z zQ10IsqW#+-i^k+u!hj=P;rdk}Si9eN*>q`O)^xlj3m5tqUZ~Gr{BABvPkGxDDtcOI zgUy%WrIEt%A*{u?VW!Sb1-JvEqA2;l(0%Q$PTnDRGq&AVBt!ytx6%oEFWr# zGb|~1bESi*{cr?{Zc$}xD92ue0)HaYM*?vLMIW_J8%7n+di)*90C8GFX1ELtG#Qj! zJHHAL>TUpOMW$V;N+*?N#2e)uTBVv@VxE*n7+08@zfdl`TL34qJ6_``)aU)qFUks7 z)8{n5%1OnD0gm9zICoik4GiirNX_Bcc+$2KKxHCm_?habd}q-C7*NPBq`vWfaEWn2 zJMQ7sghyI6ef&l;!{ChjL)OWDfr!%y*G5Nvwla$wG*ZC2=pH(L_5?G`2 zl+EiF!K)EzK~ea*bIaFO3_bO`EH6n3fxfyLx_fgH7 zC8iSpf>KNtp@oI{g)cM=nvS@mO{5hufHf1Cg{T6f&km)+!Z;CYhyi6ujVu;dIgZVw!uiKUgBC`#rL{1Tx&3j?TaU6LOfGt9+Xpw9ic*a|Al9e# zn?;KX^Xp6=X+!O|`U0r1ToBk!=fixtsr2Wy|ZFHW`daVdl z4-+aGua=l@jr5@g==tMQo9f^RNj%k1kAX54brljbn50QUz(nUzmVPlakbKTNL6gFp z#yKqyS0Fia(Y6oFr#8zG)}%MC7fzM9r*~&fCP9S)ojTfMIs=t4%yZ_EG&{XVDwXAj zJd%@ah9*Py?RD+ebl1AP;bXHdU()GBSFd^%#oS|=Ov?kpz|%6lW|wdxOCH21(W7EM zNcdcuB!?ykbfB_`9wX`cVR4(Nj0=nk*98~&F-4~{1yjk-TU+H*K7Nj@&ozG5^#vY& z?|=}W$FHnx*<}M&u7!lA*}1XZQw_6ky=MmnbTXuo?BAW;`?{PoZ*)~1!(7stRXmd2 zziKJWfINcJv{==h!i{5!hmEGossG#x;uxki>u5JPw7Q$exqyNc0IGldQEtbb%Cv-b zE6GIUsTjXLo~f)aAz?X8WU?cnJ(>yv$6BQRb6}7;pq~x;CZ`jXw?KL3Po+3@e zVB6IS6j_!OC1sP+c*hQd7s&T7w}JX`kpJe}`0LB@D1NU0CI4aj{}%=K<1qhC!qFMK z+1WZcITG*?I2hYIn>!d&kkipSIvCRbs~I^Z7t}x9GR%Mc(evltjX&}qm$M=Nt1 zCkI23$v&w5Uoc=ho;gGZo&Gwms5ye%ldQS3Wb-Dnl-{n2IQPk3AK$vT07yM{0Tv}Z zEi{&SR=MtZyP-7xtPEz_4D@m1JtK@ByF_*1@Se7X4~u{14%zuZGYu0TH!hhgdTa}3 ztKaFmlGq=N3z6_E70Ku+F%|fiH_-q2(8Lu8=uAI*3Gq)%#Qu5ke~^&>%`D33TN;~~ zTNxWGYTK^;Lh&B%>Cg8zD<@4>v2ILjuhJF@mjnb{3u1;$8$^H~iLo+;G3WDHmLMqT z9DLTS?5y*EC91HDO zf9~qgbXa&_Ip55ECCH}L#n;LA;f_j92z@2!?CD&i%-VbVWrueidTVv%emzaZGNs7v zte3z*XtxKEOZSp(>9$p3km3QMy))vrnEWRbeGC5={|RE5Li41u29$|-?cRJI*`moP zL)%3|)XiPFf6k@hIj?JOXrv)vGo>Po5%FipC?B3S#X zFwRMKe6}F~QrXq=4feo^#83N>fr0Q?y z%;{P{=dJ^BYK>HC#!*}Gx#&>Rd~z&BTA~J%`B1mP)zQuKuHpM;OJ8v~o!}CN-U}HB zmW4h4*=PtNpi1wd#%>P+Z`vZFvdsC3GA&3#pIajY0|;EkP`I9wN|7qs8~8sRFcA2| zg6_x0{w0L}-qwCXmW#22zLk|Dox8P_gRz~hu9K~$u?;7IqJ)64hJ}>6mADievx9-5 zsEe$)jIxJ?g1L;HiItm+@&EBgODD*Inx8=g0RQ7)hPKvrwl>B#PXEP$TgObm^%Efc z0Gm+#YrmcI=5!h8D5UKY#h4!Aicfo>ix{+9_j!-Bjv^SYihzAgwS*S1eMZp)uX#Zmlf{?g?teA+joY)U}o26mt zxGq}%S*^=3lxSOMC7wX=SUFWi5r4sMsYxlZb@BJF3Oh*1K^Op7FrfHc&sX*prXPTa z{H+XW9VrmcC%1QdD7e6Np)1{1L@pou<xYHl*7OQH0SDnUQHyd#RLFz~ z2^$qO1Jk;+(G|gu6OtGCkIYf8d?d`b1lbJotP8$VDYP-c@WF`wu-xVA$5VR6Phqm8 zx=GNB@uViKV=<~FMl=(u+#!WfNty|E<+jWdHFV4Q;}@8>$q5Ogh*=V`j6mK(hDpCh z!J@d-WOKDxaW@*4I3&(7gQU{N*bmEi;bf8G%qk}Mr4-JG&6gX7I90m%7LD>E zCukHIQy#ETFtY^X464aIk}J%L7yHXTB-U>PgX-eTC>l6JG{x4IMMf!*%#)pnStw1r zRwgMFy3*(#XjnL$R(zJ)3>Tfme0^E@YblQE5vUc1#oK<-5URFx4g6mw8wXL8y4q2+=O+j@Rf$H|$!#;nD{!I~%A_UGr$<0ICP@ zSrP814%n(s$9CSD6{=elIj%a1oYprdtiW;TuU=<8g&Y7Fii=0Udo#jVo`-Js+4Vez z*{dD=Hb=&Wz~^i5o?L^?)h3%@&n(TaoqFg@pKvOs;8zlx84&aUmFdz6hr)k5E}8KC zba!`keZA)6+w$`HzM-Z>e8>xmK2+#VIaS@HikB*!5DtM(B37W_$mpvBkXryzSp#P^C{e)nMH@cSPWW|{xl|RT-n`X0F%n# z4j7i!Uoxb&!cw~v&LhtLvU?;QWt+`d3Qe=fpD!raG(IAD*fz$7^qnfyp|;-Nak}iwKRMq~b-m#-j|;N7lk^2Z;fEv1O#n%(X5u8t=k|**fx3{g zN-&r5F0`ZfP$&RIm$6;@r5FwIWQ21u7(Vg=!k`Da_ckIa}(;y zJ(yQqA8t0He9r9OWR&Y&Oom{QYVw2?9BWNXY)l?LFnamXL|9eEm~_~@@pXx^eL-v@Ei_^cTj3{ zgHNYVtq4TM#(W|8A`iW*OPsr5lIlA!7`)dBSfKVBt8aWCnZDs0mJwUJ1I#N@!%1AC zHbm{vQjFjv5pk|pObL(hNxq>C$N_2&uq}F))NK#6Oo=c$XcxyEwm&g27N7UeAQx$5 z{E4sGd|7r92is@;tUY{ZPU+v>xfLV0OiDvuL$Z&{>_teIkY==(BNs1-oXB-z$@_dY zSEeXpaR(;%Ahl^YvgY?PC|*FR8%Pmh{Q;y9rE_G(UXPA*WfJZ?0{JWJzuCUh)V!m? zyoFeikcS891?*NRE4k}@zQ%+Ek#=;$J)7G;S8e{#*1)`uBBCB}(|O0XCgGI#NR>WW z<)Rl?D4jz$OffPP`?Da=XD*%H%$^f^ul5JqL@4E zNk*lB$F_9=!Td8G7X6hE>O@8UFL#KrZdcLp-F+{RI9euD*BTtg+@K|ja--(V9(G8z z+XFfHQSST*e71~1TaAt;d)2&oSWr|oChB(TQ&~@dv_}mZGUcr>-2zQg!x320Ik!oA zjfRp|?h6ur&XaLr(ek(?Z|5Q9R;E{3@$vy1J&f*G#fjTxqu0j=5m^r!JQ8a)`~`l? zR7_b1w6UG{ALg|8C|QBYa>Af#g6?!d^TE*!nj*|@<@4(G5SklMUxq_+*Tk*4zmX_zijY#E|$c@*VuYGp69G8dr+B`oU4 z?Z1%59FkZx5|+;Kfj;V#MX4KG?jp%&*Z%Z)ef^voS$}@G$MbML zJykAMsQ4I!yp-FCRb1F9s(_P~yGN`2jp;#;q*tw6wMpLgyD(xwuASp&uc@OT8K#AL z-nsB90dTYZU6;78idL%3Z3PI9YI_TwDzN})N-kCf{wZd=3B5SE+Z1FTlVQ-0vqu+d@6?){$V>Kw|eN`}wVlkWUgwW*jGgAGu%8 zZG@IP>_FbS1Kb@K_Z3x+MJ^T_d;Aw%at1U;%dkV$%n&fGl8XB%y=<}}Mp^fRwIdX;#>IvXf@<3_(cUH4T#RB3GVe>r ze-sph5<3fn3Fdl*?zTd)?Vp~!D*l!lQTdS~R`)=q88?GY+vt4+vPEN5(X^pw$sa*K z<5oC9k)eb9#8EA~7o_HenmKT15CqGv!iR%xGyfV?GqX=G>3zFvxr z;o|;T#}&p$G?v;pR<^~z=}a7J%mj`{#+-1^UTt;= z>+`R`30fR+{$-XXmK#3^W*&#hc{@fFk{%EGUj+z7TcB^${)FSzGyJ@yW}D8O6ObI6quKSy0-8+jq;tkY3XYj!u! ziqk{m2CpLSYB8PAHnBq4<#x8u91`vUkzR`M>B=RNBUS;!aiP!1P?%=F8Xs zn-{!-yaqoQcd=bm9CZxB=5^f#38UkvXSC+h#JR4OTCRov7^X{CoHTm?0CqE_Kk{A|fSV*A6QzmhgG%Aj5{8+UKfh*2lVQEM<29&Th~PD5KJ%?Q4N z%KjiRT_G$+K-*`<(GlDZC2;48@9&xYhQgzPy2#}%ACgA_!pKEAlEVi*vNcoke47=pKghV z9%I{`LI;0Jr*4wu&aRSHf~G2TX@b>46Aw{**J7wNJXue0eS6PI_tZ+wwsJyJ$xe{F zNt{$wdQlP)aH;VQ722f)O!srm_iwkDiy4rK8wC2j+umC*yWi?Ww_Dqey29)`jQD}P zOX8k89v7mqZ^_bMl255>ds%b=3#$!=(a?b6Sk_%^5--Z6HQ}wFMFDZlxuBv%+0%YoPiMv5%@!3>j(NY zsgw{i&Et}gN3pNI%)P|m3 z`@=caIo}REPd{8D>mcoa?zka|ujV=ap`-dfTvWxR3Wdc6-`r_RlyrjW4%$ti`;cH3 zBHmL(ImZvqyLAnoVGz}Ew-5^jxfIeFi}q+NgGMAeiyqA7dZ9i&d=J0=HpW_LA8KJJ zxw=QGZu8Aqyy)4eeY z005t#y!!tD#Qm$2frG89qp`yeI@YCT?TFoi_*Jc2=Q6M%pMONaKrLzZU)zkg?6nPN6sLkrpwLzFC zWtzVtG6Udy(P+A-99?!zrO|C9acnobSKM9*3A=)WSk?-6U+(zf1BznBd zu>6WM)mU2VgLWjFVMTcUIXPOiM8)|s+aX~L(~~-DJ+8V&-NK(NC~J*`+dh!Msv# zbhvv;;0dL=&tQbw*OZvkiN8MVy50SHI>iyj4GxG5f5z^|>7VpVK^oe~JjjTUX>2Wb zZ-_bNuPvAr@K%GQF|VYCZbax!8i1st+vh$Q1I;H~#}~l23{J zf&oaih=(X?#31LjxrR&uEv^fV@=OrkwhcG{hnw1jL{U?-%l)Jv(q2-gc;o}KSz$n^ zTszk!`5kGIUC0}|-U!4x#F&>nn1F#qjw2D$-TjXAf8#gWoFXmGK&OR66sxZ1d5txYrk&ds$8z*Eisf|^(!WuO+(nKYDXZuI3Yg>x+V*|613NJxl)|?$4gB7m#SD&udyZ;JiGMR{pDv*7oT+^PycJj2WA_Ld;IVKD-!X1jP@@|`4VDfk zQ$LeKAt9PG$x|4*m>?mqMqUJzHxp`Nz zWowg8RlQ$}_e@4Ev3uA-ez$7uzp9Okelfc#=5_2W&PK(-R)H}Vd3Gh|+I-l<18d>r= z`Y?(#Iq|3{ZJQD_^ZcB*VBSth0Jknm9&K)rVVPj{>dYuZeaBSTxDD9}owP-3yQ;`^ zk=nf@!n}F|N^%EgVyA@ChA5y&T56o;+W?poW(5Z?DpJvcz@YRrHCa_=$vAV9Bxa~% z%rg#!g8XDKkBxTWT@;KcL0eElq(>gYUu_oXCTFBTV*%Fag+5RFkJF{w9x(j**V0Ht z{PyS`rjI#2gjWacYi6>WcdvuFIgvl?>qK8#uBC+-lxH1XvC$Bq7SuwNCfabX^`Rh= zBMA4LrWi=g{-CZ`i-MI#G2NdDV5LRae;=Z&zeIO=;c?st{$69t-6Zy5H#^KlYn*a5 z{xTm&2qu@KIR{m^(t=dCvvaWOxAd-@sGTdxu3ffcBHJ+!JYJ{)Z{RCA1@(S!$_0u} zEIcvg0XW3Dvvd6Pelr*Z$G+%vd55Z6(JD}mgYFf{j9`;rZWQ)-i~FF$sK68q$PDyQ zI1RT>_Nfkbq(5eEAl0!GoU%uJ#t?;lE{zPQZ5;8ckjOBw;$ryXcm7SYd%se$4}K!f zi4v^^8OrtRP8!{Hv7;=zOHuw_6l#DDwZ{dFDG59z94YXFNQ(Q)CDT?|X_X3}|YUuVKZsh5z|Owjeyn~zdE zcv+7Yqu8H1y;O`1{>SVPp+L_;-Xhl>l4>77jt z%wE2ZdmF3jH zk4Pra9JZ?FtP^qmZaQ987R37;5G8hs^lJ)8%MS;_L6pbh zWYBFW*5(Nvgu6r#Kh;2If=EexMEZGAsVTy@x^X1ba`yNmK_X)6!t?E$VUphYni^lr zRJ035hVd7B2Zg{m{x(gbgX275{pD34$0%>Kc}Upi!%@t>0ablozo!t2HsB&*EC~3Pl(O5n!iMsqZdo1GCfEt`xXImGdOIBo?MAq;eA`iWBQ@!P6u~6tGiz>RoM0fy} zUWr$Nnm(E8uk*^Q@$Zpd-_zU6zU^r#Wt_Zi>TAL`5NEx+=;48=mzO;q?tS2dsS-bXJzXka|#qRUAo1G8tAfQx-ic)#ky_=E*C%a+B2}1+S z=Icdd#%q*d28K)}NbdGdkPcfC){fr4r^44FO)ZvZ?)6SGlznxo@|ulwfnqhDU`N)* ze=W=xj2<}0z=q>0i}U_!U+SZ+qa6jJCE0^7Dstf{H^t&(rW0R(s8$;*8X%P{$a_$e zFjG4yMu3eeK@`EZ%&SH^16N`{ z;WYNkwd3sQBngO5>LuMvjS`h8h1l7T>=kpJo*9sHs0qwPuYs7TdhhHwp_B~Jg|xhv zKfeEz3T3WCR>#F2c95O4^0fQobnfi}u?tcaI-E(lp zy#ZfiMUJjc=OO75$vQ2kmjwo0N5*Vu=7mTp*OZ7|{T0V+DIVF*D&i3h0Z;4Z&Bp{E zbn~k&PaK*O_uebNr0uam?#I&yH33PwZ*gS95a}0udz$(2A%;7S9aE{yYI+P1IYX9KDWAj8fy`}4T@QolG)pwN6H?7cq6SS)~u~=w*8KK%Ka&I zddlN8j1YyEG+bCZ5_mAQ8YnO15+%_l|KJr#o%Y4@a{KS3jNz+3^}}|bZ3BoD!wg?v z(J7v>ne5x>jjsY5L?qk-N|`Siwl>%Jdwuj+P$Zm;Y>mM>*EwZsa}1E zj>{8lb+(=2kGfWCPHP70&an$~KALUC>wwRKv$S`>N0ivSr#$Vh<3P{Q89P?rTkckQ z{KGwdLr(-)*N@(eN%}D6yH)l(zo(Gd?z-sC+4jGiDuIJI5<}qWZV$j+%mza?!f1@2 z|8vs)-$HPj2q?__pA#;ML2;RBo? zSj2C;Sk0nb(b2R!(uOkFdWy?osI)Lv#k5LbNhcAeV+8w%@=DGi&rjYFbr`@$kZmXp zNS$EJ9Xf8ql+~<2VlXwY9h$ z!KOIQ3fBIRZhvk>Y13yw=o^Tnd1enbB{Cd}knmU8HWI$?CGxUBdzbj^rP3k?qE@vM zJS@0{_XF8pN8A~hSV3Il74JY;UEKL+BtCu3LbL|q|G7kCV(1GNkN^O_KS0NSNOJk# z?7W|q+5EvQ)`$NKvq+Nwp3Uc%u-U|~cuL9CRW#Pm2YokPK%~myLeB)LM=samp*{4QDax!a#;wz)sKGmqLt6=EA4B z&6Vc5ku=Mi>b2&XQ^vJ-y>OV7)d{N+1x;5eTqQ z{3^qkIgM;B65PW`eL)%8!U#f)RlZq`Ghr#^u0CJsE1ev`mZ@cY>?VRR5-jCY*qrC> zBuX~OXS!=F8ZObK7Ld9K8{QaqcXb=cU46%!7Iw@Ty-?KHoS9egP}A$snW&?-bnbm1 zL0uyz)$X%DFcW5$T6Zor-HR<0lsck%Di_R#V=-1&$=j??NW8tM(6v!3f7s}|5AN`T z`dK(b$JYq=m4`W$5XZ>c5Y%UU$zZ#wx$B0W?%6jaR^5eZbQWQ%N*T4xw$wEL>L{gt5oD=pu_s*z0Ic+-VbzM?i~ngJK>9^<2R&tHzT^_*##1tS2rR`&n{j z+m%luC(hY1@?eu(5^l~YS&S23c6rleA&%vWxoctS|9HuY3{yBm$Wty#_t()1?G4(*kjSxv{m3&6J`uXurr3uuylF5JHQ# z!YggLMmA=nE7XCB2`H$+gyp#?j&(mPM2 zdCqK!LQZk?oQi+T03R4U9l4ZoEaR@UCOm&~()H@eV*ZVKm-b>}Y_zhD-re78AjD~N zVst95vjv4~v{L=%TvmsduEd?_giI~yyWNqVb`?L8(h&8sqd$Xj6)u#t<+EK972;Jg zRONg~hmB{g;dyGWqRV?tjcj}CMY#Vu1pnS!g*1hRY#({l6No9SfW!_hb&7hHAl02)4eo=8`vxF zJdu*LcGKD#JKW@d;>XlaPB=DPKVCZ`|8 z*DhS1!TYD5k;^0Xikuxrhdt{dZ;9~ARhNsWk20|k#nKB7?lf1#$a&H}Xvy8a&2G_| zKW-ag7M&iKV|AtfiA`%?x9a`3C%rkWgco!5GVVDz(CKh11`ryXvWc>sG(aU}0ZF$`CAf~RaTw|s^COk!KXoS`b+s>#={G?+u%6C3sPh9U{8vCz`^LEGxwz!m$K8=551Wv~jpixR7gXn4W8X;RDwEs0*0rjBSY zOhVY^`_|59)#jkNx5Q1KoTroa?UV|>PFB|`i|O*-&!=n?Dp{H3`BdHpHW}f=!rjY$ zLsex;dh~(ct?wubXz5fyzcx18d7Axe%&YCb{G>4Wuc^C6XM1B_O?>C=PgD17&;CC5 z-Yx-Xe6|O8>}Rn*;NLcAd(rH{fVNju7->f`u}?Hq6D%MK2e7fCqC`OZqW&?p0+N6# zMk)!-u`lWWnnoZ8s3N0sE^zJ3`AJjuH|^Kr8Y<0gM^>`Wt=j!+=P4Z+6;MP&<#g`P z`A1R%BmtEzR8r86I%l7V_H-`5O9RRlsGy~tUC2J5pG6G7xPZb0D$a6eTe}bLXPE*J z2kiW(;*clz#X+b#03Zw4u}@`hC*%Nbay z-h({$^Z7M|TDRVdX>UOTbK+Fo@33FSw3i_V!hi`0DokqUk8YnIa`yuF(i1=!aQjb% tv8n$D?B`?v5DMHdQ=u}KehJ+T{I7*czf(M*p#kq4J@hm*ACSAB{saO!<1+vN literal 0 HcmV?d00001 diff --git a/.yarn/cache/depd-npm-2.0.0-b6c51a4b43-abbe19c768.zip b/.yarn/cache/depd-npm-2.0.0-b6c51a4b43-abbe19c768.zip new file mode 100644 index 0000000000000000000000000000000000000000..30053d1cf9c3fa0f1cf5f539d6536bc33456e923 GIT binary patch literal 10336 zcmaia1yCJZ*6zXG-QC>|?ye!Y`yn_4cPF@efZ*=#5FCPQaM$1t!T#KTCU4$k?!33U zYWMD{y}sVvOS;zTPgx!U5)<&3h*T}W{_o_U1JbXvoxK^z(AM6}#RlZWqWoW%qW`(n z4CG+;&-LH{*#CuYaGpg2f&&2DPyhh&->!EsHnleX0AjXsvbU>Lt+iWWMP0kb3Jz63 z0}%jKFcp%`3ehStbRNIbSRf^hff=iyYeEp`0)Yu`MkgYAGrU>SNiJ0j)Mm$a z6zNpljc5x;P0-?JAq_h5D1@dYm3E{8hxQF~<1XG}5$H)sGhOR1QHvBeUbZcg7dY!d z3!-|Y3SdIwn{F~3Q&tR_KpzXtHt3SG9mulu_MO<|70;cg!m!u@k+56e(EYQ^u)o@nFf@zZKOQlMT)qhQZf$RUx!bubacF~ee?yMq-h3PaL4*h@HIqNO`bh5Itd&ss z)}W7sxnjGH6v`^j$qL9t4- z76UaXIr;ll+}gOa!O#~Q?K@n)o6(C_(MW=ZNYXaggvcxl6eJ}oDn4kv?_aCR9tpXE z^ez>K2ZUNa!h8oF3WPBSxwl~0(LXXuld4Nv<>r`C(&}>s+DCanQ6~lQQAFLpOXPmX z%@dTaK@ilY$s;0y`KBS3AD~TDzuJk-5L`~JF=m~kF@2O!%rHdtqkw{0T*aOy)qWdq z(Nuq1&AKo>U>u!_E*%Y$zf3{;dKizc?-b87F>%i5h*riRryjMs0v>yUY1Kq(pM4^p zWCX37>~$ud$MT207u!weqW)XfHGL{F2sNbdqQi}`ZPnwXiL^Npr1Is!NUp$Y1oqn1 z0&$w+sE7IE6C&_)s@bu=l+|Xa?nCFNm&zOZO`Z6O8e(yV^q~H{1};k_AIS2~bnoqY z-|gvj*KMZ=kZRrW9=Rq*Glh4Mc=qEo)hjc+F&^xXT$SA>MTn#u|Lrw!1BS}@)eTr$ z#-E^Ri=^A&-Tt@&>aB{ymi|ytXFJspd^W~_=w*HFH=*XOlEJpv~PHshw4A^S7}f4Vcj>m)ADvZ5IacU-^#VfN?0dMmujK}(*=_Ce-kTKvOxjH?tiqQsDCh}>2|$!J zes3@$#mTKgDm!h#rf5yK??GmrtNs-_rdvEMTuZ}~`j{`hvd(=MHfuym15{Nod>~d> zSdn^!Xkf)QTPABvj?tRe_@n6Cd|>#bE|;}qC8L(lmV+sP&`XEn(&Zhj**=g-88uDm z2PmHVaw{3v@SG&Z-C*kkMu+O|P&VK2IJrVe6w^#EthGua3YPb)um`emH|l9YoYnN| z*RQW#+VhnN{;(gD4bP`9wv0(D5|fHVP}oeKpX(p96sXBP3B$Wz#nAQbEL7$x+CKwK zxox3-mg&e+xOqJ^A5iaq4Owk>`YAmBLqj84MluC>@ou4>-VjJirp1+&JFvNgf>J_q zISF_i1JnP3gUzup`_8oC#gS2DolhSU8cri4tafMu@QBai+KiJv)$xXXW$ZWD+`JdoV5K^!78BWR<=_rET&}=5-I+B7Xf$K#3yG`QJcWu3|6$halQto1{r`0Y+XJ;B-|c#LTt z@QBuh1T!&P-lWM|y?*rG@&tKuQ*j!kEDrnlwqMEbfsj1p;wVEaGdKg*aBxuNGj~;gMbnc8;){3LT3)$gQ5eo>!MKl zW7>Y{E(J@h@LITcE~gBFlgIdEfLwcx!8?rVdS)5bp153d;%0Q+!enxp2~uiQlX>ic zlF<&;If;rgXG=qVR{045L{me4yij9^$zwH7kH{|4(agGiq#yXfadH|{BK~Is;P{xd zrkf&%;bDGoOke5s^L^MArzy?3(Fvi5*^$h8&MDnpg|bKCOCcPhk$rMG(!I+Ds!>fw zI4IS1y(_Ksca;tg#AsraKz!%5lOFGkbSMV{QoN*P)zTy|!*g0$HR{81{sp~{k zAJ9&<#ve?;V}qydI!lvJx4c(p>QZWCHY+CCP$34m_mR(PiWVpH!!1L1&sGaDTl z+mmUkD_c0ZI1Qi)+X;dwL}3@E`r#UGd$MjGibD#aob5?+jF`1#W71#Za4zf;>h4XQztkwH%`^FpQ6xX#|m6whtdQ^7OdEE$OXzD9x5M0AGELTb2ye!+|^x>7B%JV}*& zzIy_EszEiYxpbX=W0-_~K51!luaFMs4htdEIx)3}pb>t7UB#pbsQ3agkXW8z9BYLk zzj-Su79?kPjhI;hw1#gN(p1B*BNS4L7A!a_rcS}_L9z(-%@ z;Zlooe$Qb{4BTmUpUUOS$GWKNeZ$piwOZk#m*JDGO;5)1Hbc(8Ws~p>`&nL@soixPP;Hmw!&N9&6Dl zLowloRoabr$d0Lro5G1Qb^nN2&ebAa6)RD4ja;-&ul~pNrOXb;0QxQYpc$Jkuiv9dByXb6Y z*!k4S>0z5Qk5x{H?Z3<37rfxsOO5~;o*Kw!C*tXXxkaV)t%1{ z)dgQz2Ud^J8_{X?C7eTH<=?zpA-c`7^~ugHEm^ZaoN}MeHjF9KeE0VHTte7@4?##G z?DrET5FoGU5+AkeS7h6=~9it zuIXW6xAMCAX|&ehUb~4vyRGh{4s(a)nKRP^s*=$uzgI_9eB-51l?7T z+zLl3F?XIq_XB7-mQ)OoMdSeB+KX7rru&A+eu+YAZX%tSp`z9H~T6u;rLBFe#&JTs^kj6*PaVqrphDn8IOuQHFgKbo5p8ScumZ#Lk zfQY`FvbUbGHJ2$Q?)(VBE{U`n1S7RI-4u3E=EiNw4|_4%`hzI#%yksZ0;J1r5>wh=ZIvu@M@d)Rt2=rK_JctS!308wD zMRPs}oVO-!QG5j}qX!G6Tj-c~a?2(=)aN7*1^hJa(d|WE%C$zGlG)7m^LK-Dlf7aR zI*MyD$WT3xEk)8%KhA%UQz}z@Qz(w>q&p94=Vc|=K{2l*I)7O&_hJxpQ1u}Z?guZ# zD#lmvW}qrZYVvf(I6OIc%&Y80cTtaOhLs(<^<0B^pfpE7iyJ5Ihn8 zbuFIcX<6~&A#)av2ZPtG6TSDJbu>V6FgWjhOkt7i%D(oLp6EVuijRH=`SXL{oDYmg zMQRuD>&`{elyE=m24M6Oiigtb%QCWe4l)sjF80bG0SDTxI_e9l zu-PohT-1H^`9X-@uGgdgp)gzYjqrOK?sbP~@Ee>xDN%Zx-+d{_nNNxIxFK&|m#0DM$bS z?{8}l1zB-PB~?j%75UfZj|8NvuA-NQDT6j~_mrgxJLnV;Fxn1lMv5L+M`d^m^{p?gF*g!+~gco6MK z@cEZ7W$-QH`CUH|8+Y&r%X8q_oaJ1uH#Uh19P06BkKukseMEL;B|a0kAJ+HDXz`Mv z%(8^8p~%B?Zw-t@>db&p7z`b0LZj#_a!qS5+1m50q46>e+o3}x5&aO0oHv1}R8=4P zz%{bqv5vBEk9TAfygmsQDTJ-spnY>Wt++YPDghbUmiV39r4&Ycm=_w~4vlJE{#@ye zuO|%onv=ZnC_z6oo@#KT2nmgn+WjH8T&G+Z z0#CQ?t?S+sbmKWvEA*!hT>I;Z3Cts(uLHVcuO~(Q_ub>tyM}Bfdn)#&CSR>flAcEp zG`e|6y<6QZEE^9(OdeXQBb4mvt^+%)o7sc#~x)o{iG8)DpyJt zI>QgjQ(QhKmU83~a<<$qD_HVWyZH~hpXJdwMhd6kWAUa{j=oPbRck}5UGhQKsiAL~ zX7Z3>z)rxqN`}9ep5Jw$SVY&ivAQcNG-{Bj;6v^<+@N?w_;>F$Gf2Yh_*FSW(f|Mi zf9t&}AY(II(63h3n$C*j${=3XMzPjt7TM93sKz!Wh~k5d?05?X$)LtDLNqmG097ln zCDI6NI+MD38fL^LyXf7_`36Ky4y~kPVusZqG5F$3?1rDtCfTG!Je%v~=JtF>>N80m zr%L%Kf_jCt=9vlQ_YoDnHZPZS!%qXnp81YhW`ly?diP$D_%L=*sJHzIPUYHQ<^AHy zUi-7ZvrjU!l(DxaFvTb#3mq<_=)a*AJ}cHs2O) zfE)~WG%=$!i@aDUZF4gcqA>Z7dKVs*?Bs1^NMj3XCbsU(!tkz_9l^4abT})cuVrNs zM`rBycF``anTRdSj{{O;k(4io*mxCJ+=KE{6$hrJG(lwL8f^wu58ep5*s@ugX8uwI z(ZLO}2H^>#Wgi~uxmnx`TW18mTZOl$b4q@(>51#PKN=de1H|L$jvAwwZV2Hm%j$#>SHOH3AWL7(vIv6*jbE~Vw zMY#)&Ug2qSv1zB4q>U+qEjol;-0^h2X7%JGv7jS4WM(BgEy`>q2zgZ(l`%ohVbVAy z+@mwoLrEMxW`JI62dZcIOascs0G?(>k0Kp4KL#2*&U`p38ekU(bA@=fNU3Wk`z^Kx zLZqGytV4;T>VO1b2RkB}P^Du{hcqekEo+su?@EmnebZCNX!fgk#?4Q9(L*wXa4=IE zwnX46LA`bcaG7Z@S-E4$-Y=feeekn`l8rxli}zIX5AgI3TB`J~OY@Qiq)v(RVKMcD zOTfD^-qJ2Zad>nz>Wzuw`QI%bJ8w|Ak(wfR;6 z5DY!t58ya-33bdEX&$5BAFxLJmQCh|bAw@w15}m|u*Rg^5Pj!WqwljNJX zUdRDSqcK8?mD!T82^ZK72;Ra$%A5f0Pv)a|$CV*eR%@t`0hsC_KR#(FN4J@z)9Hq2 z1YObv@XmLG-_^7Z$RS&$lT+P-mMQpFYm;GNhG>-7COcu>1}%^tRxRI}N$8vBMPZ0Es$RA!LHUt$K+}6o zm#xRK%;l^E|BOLF!esAQ>SdHvPhCf1gL$9QR!|g*0KXC^_F|iTHjMmCy6lRI*fDlX zc$VQYZ7x%>puy^GL27>ie>86AAa}Tl8c&i3wUngl*b_3qpT@jFu+_H8CS%4K94)lVN zgnykf`K{e5cjTyHEMFZy=rZIQE!%^0{9?sqKs|)|POoK>2;N6?2dHut<@R`IvcPXU z&r8APS??ND8Qb2m+}mv(orKOAlAUklbbV%*TC?N3T0B`&q(jQ;dPk>?0~?&qHMy8L z>!LoFOmMJRb)g#LK{?NNFD|Q~exNNA7Z>Zq^VT@dv}2D^IPY3%eVugA(yyLi7(?sV zdpBEMBrP3O^IAy7_llNpE!x<4-eRPe?fVGH&~2rG9`6QJRQ9aHc)1zDk)F+`8Am@< z)o_^>dfRvS>2l4v`h2}LeS^TQJ@6=AQhr(fUHHqFP7g2FtCQz}W6dbR{3NMp!E|ng zr6!kr2WzIS9S!{vm2$2D@FD?Am>%ua{iq&mA&(EMz#-hXP2v1&J~ey@`I4kfPp5og zoZa^ad@zrwzEuQd&dz0>UYz`bUa$A(J4>Am8y`7*khwyHeRccZJ3;M8LX?ivt0kb0 z6mj57gL~R6F}h8~3Dvy!Ma3nIvbFN}v)(F$rD99KF43Z)por+_l2y#XEve8wYqqD5au>YM8E6snizU{Ig2)ZNgUeDFr0VX;0QU$O`e5Ssb8fXHf=nNBiO(Z}y< ze93BIJKK!M)GD`$rxQbnKT(W4w4r=eaHpFTYaa=^uF}DAz@7@b4dnC5&vhcGFKu?owJwl zNJme}%4CiuI*H=jN5jYqTMzw%7`KLZ53V#Nn^+mv!HbrTRotFF!gFoUaX<7_pGubo^7JA>A1R&ujL`ZXqHXS@ zv-!(MstLxlY&}qy0!BrB^XjJPk$P z!ctW-#lu_0@ct7N9sG-gYRlN{(rrt5?>qpMcs&%2T&dw(0YCL<{&&OR*t60DpO3Yobx#6jQvo_W zmM+Cut=2Q|sbfF;4n4B~;IYqP!zCnz>8_p9j&=k4ikmgN3Je4`<;t5!@?08|3GYG_R3D_6h3TX~5sA(+}qzRmI%U91a^q0GLi zo_~zb522ZGMwYc_3j*MTrat#vvYn?##K?I)6)NjQuY$jQYCJkWrx3FIcUq9OC;m1$8l*)Z$(fV|FKa6U?rsO+&1N7Is z&%hccS>u#y#Il&w#h4r@{Lpq>PH=X>o~*7)e%8?ZGLlVfs^aCnXzuwMq!7X$SR0wj zGQsjB+`+@^b$f<*;@aJkes#e#EHIKH7M)x|Z9GnyoT%_!-hIe|E4TD2C^wuVqXI)U z{EA;8id=ZTCDv2x{x~benSN+%1b6ltQcTshD*)Jj7d~k~mLZwwyxnEks;|*>ouy1^ z(DIJtYZABeBXWMBoaRt~)(zL3!KGSl(+Z7J;l5X?Yb}MH@FbcQy3pX~n$8XLwP6Zf z806QL$}rK|yPG2l66J6WS7EI7_@BueGmjxuY9Rq1?UpiXVXP$_0QVN)KyQ?^)A0rz686KHDWN#IY|{$%&snP4)i zL_121KpkVgKi=WNv0&aPV+2LzTIhGK=0^UWn|eq7;o-GUP=HpqS)s3rEI0ZGKBYT) zrN+#V-&0*^bzuJ7;bjJ;Y^BuHCrEC~1RITV)FQbR^38Ll_~}+|pC2~U@V;O~fx;xu zHJulD)BIxQQ!B8oZ<=)ABgiHEgJ{8!6U*3i-IV1OyHd1x2_o1KsTVY0s90u^1O)z; zGPk6)p)aLx~PW$ip`r|k}oCkD#c8>8zHoX|X z#Ajr}3~*SkxO$AU-L-{$(c&hqHsMntO5jCe+nJ^z=S(pdqdMT(Bf-IGHzLf?l5;?|L}Mgf?_CUrMBy7k zIC+Kw*5t9s8HpTICWe7Qp4lrdr>gP2N=ti??sv+Om7ANd@2ALYF|UV*=?ZznCtAEH z&%C4eYg0EuiHS}6=M)|=#Sk!F)rA5AzuVy_eeXy;L+&heN#s6|)5vS;kGQ+lr7t2T z_(Bo-e6ah={lLJ5A^to4>aRffOHM`q8vh_;{dd*B=vcqyRFvV@^xstfNzVF*{%^9( zpY*KX`UL^Hf2;q0leK<7#&4`Yi8uek8vhkt|GAfc(Qy7m`jas5FC;_gzeD;RlYip; z+5Gz#&dRTs^`ATXXDjeem_NHP|AI-!`a78a)06oP^q0b)JiEU#+iy7)jUoR#pnv4K z|8DWWGTm=E747}67{7DZ@BRF?*q@p2H&#Kw>;D()U+*01mrVcw_+Q6gcJ`tA>*{|1 D)Eb}K literal 0 HcmV?d00001 diff --git a/.yarn/cache/destroy-npm-1.2.0-6a511802e2-0acb300b74.zip b/.yarn/cache/destroy-npm-1.2.0-6a511802e2-0acb300b74.zip new file mode 100644 index 0000000000000000000000000000000000000000..3bc30ea4d8cae2482b17343c9237cb434939a187 GIT binary patch literal 4258 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 LI;P**{&@N~MNso{ literal 0 HcmV?d00001 diff --git a/.yarn/cache/encodeurl-npm-1.0.2-f8c8454c41-e50e3d508c.zip b/.yarn/cache/encodeurl-npm-1.0.2-f8c8454c41-e50e3d508c.zip new file mode 100644 index 0000000000000000000000000000000000000000..e9badb765271d8f9d0747ae07b07ba3f8c7a6026 GIT binary patch literal 4440 zcmZ{ocT`i$7RE!7CQ_t>NHL*b6p$tag#a1?2$9}H=mA3SMNvX;YADf2QJQoF3?OJI z(u+t@LPx4}qzUTd-gkZXUDjgGI%npO*}rw>tZ(-0@94oOC|Lo2wi~6xG=B~Lew;h* z-O+aT)^2D!UsrqY%X+6yFeeCcMv&%<}bcthM40T82|vG1OP6b9^`>Q zq7aVuk}lq8cRU<{B3)tn@yuG_s5bSH1J~+erzX-QYn*?T(>^}OByFGDbPK4668W*N z)ZyuJzSAaCq9H$ceGQ*U9S<@yNDi@~U2MALRIH^-Ei#HEXzyt)miA6u%p-ps20O>S=%>5Z>~(FFnQF+v*pQWOVlgO zDj(9mFK1P{a^=cd@+QwRr))Wf!d5q?5`9qwpQRt`lmnft6I4O1JZK_DDRMMwK#C8) zJw0)CMpUD`#c=seKiq_iA}3^jamum;$F|H`H2SH)ud^?)#V^SxJ>i-5#BgCrVR?dc z_vBm9;JS-8iWG;iVNalINq#%~D6v3WKencUmM@CQ+Ey86(BJhd$PXLd&{O~N@+(q3 zdOO&vgCS!fGhaTC@rKrJ%=NmFhP!#}hfsf{b(kF_YdLah)p@ynym4|_1?AM z#p3Vo1N-510pfCtKbs4D5wTW0B{kH;^{Pn?ko5a$MC<=*?6+JZ_Ju<#&j0|7i~s=t z>2iTnviWa8i2T&sN@b#p735N+2D!v;Gn>a=3WE}B7C07FYsb*nZ(y`N-;8b1xe?SV zteT!cqxrat(9P6=%jK$XN;4HTl{DV(1Dl7zLo!^R*YLh~c(qwUo_=ed*golr=52#} zh*c+$h!5C>OCGC5==Z9RO}9!9fZu`Ssq$C~#G7Zcx!94PxU_S2{mUnDvk+2xRcD%XSS&@^E7q!-6=Cl8wi@0&JrZ zJd0A6SWFXj%;QyQSyKV{rys5(nmXWRn+>eDP<)BB1jAL>{ylM3i9oh^&;q!t5I9G4#Wh-A&&CdF zmS2eXitF{q*A%hK4sA77m_h0vsfP2sKuOa%9Naq>7}UHaScKsV+j)%yMj{H!L&ar{ zSq{xR=yl>U5Z2Yd@DCGBh?D6d#$8Zh@#yS@&#Ln`KfT0cdPnMCcU1zlb`P^HG&2n& zZ)9182dS&x;Pe^f(3;@}k2W?{V4Ee+1D@aD(krND{W19>zEz31#*R<9*4;?XJNTY^4Z z1xE*!6h6>5n+t9mtlx&$jf55jpegHb7c&%K%{i;vj$Vtms#jg><#Olgtlus@YD;W8 zSXJ=j%eEfge@pi7eD7&&RvtkP0H_|92NzGz_u5d1hVC5=OE@fv#Lv{YEk2)W*)giZ z0RE=wTB+*$uF3A>1>Pqu28l8B?p41UDLU3_u!0)zLi#rEubp!xUr;|DwH?1U_+Bz$+_z;Y^T6Sx(k1WD z+R+m(RfWpnwW)}zGL22G+B8)DGzq+`0fOhMM0kWDNmnO$o2xVE8T|VL*3C%#d_JZ4 zJ_mZ8=%AZQoQ#aw@^<=@%yDhNfeZ(LlHikjuZ0Pt{q>6P>_XCAc@(8DxJ1>)U7UDE z9bDrdNpstB|JJo&ZKhBM4?jHkefT3=%lT%T(9D!x&E@6`8v|`!gD&jeAzmy2GW03L zob|^$&6YS-Hm{gSOt1!YZ?t~q=e6Rh z{pBsodEmOjjHR^5ckMz$zjqFn`7*j%GAsse&L>X z1`e;!vn-c!4SMDJ8%Ryb8fZ0cM6i`-$v)%YS|M07iIb&C7?fkOOk(GaTZPVy?{(!UQd*c*{AIZ#3lDXS`TsA20fHIc>;l zbDBa$!z;}&qEn28FXgX> zM&T{$f2%h_lC$r}v3jMc006$z)$8nTXCH7}+F}jd(4$wFem=AIgk+t6f2h7Es3RWP zFSw(_S_SQg%S*MGmCKN_vj%=OdY^YPF*iK40r@uuAB`Ps4r%d8h>*>dZa4uckUr{! zRM)kyIVi}h355rx(eq^b{hOdWW)D=b8;{Otd9Z{}@HKIHiy99?>K#m}Q*yGZ>`GP2 zi_HpIqi8SFiS!$ayf8AHy+-%^@NO-1Kyacg?{EVQl2wD7N0Z@|ikPbIp7~J9XtB}h z3WO!%(mrWa>@tfRhbTR@D-6$fNNrE01ZCtusNx|S-fzy)_ z=Sy{hrT)lokDs5Z1gjcqYaPOs0j*uBCJxs5mXA=B@*XDoAq++{wmi%tkI65KnK;H} zz5>nV<VH$Y@W&>3OMugYHg6i)}fxqm+kO=NT=*kEVl}$?Zsana#Uy zt2aN{R^GkIcJ`2Vz&Qw5mgUMgY-bBx$XT%H?V2=iM$WB5!s47-Z5*(x4`K;=N9yi!ELzdaiO1(P(ep7#iV{1 z(t1@+ZS5he7kf=axM!C=m_i_>=i>eWRVlN&N4kSeKp&$!4JY%{%;Igi0PllXsdvmH z-^kN)-y0ZpM{x}%7mB7*)Be$E8^5mbc2;+I=h?4jw>c?CEa|gLir3WJ;zfN(wc|KmqUu{+O&+dekK0WkLGyS`*s)`>E z{}uZG*80DY-)`xox&94#anI&-$p2gI-wXN;JZZoF0VW-%xl`Wie`f3??d0M94=w!o zzr!iCzmNKptdpts9~SuRsjT0L_ayA3`u>6WGn@+hM~ix}Gsg)Z0HFT!I{q$7$7U4( F_z!WZu>Al4 literal 0 HcmV?d00001 diff --git a/.yarn/cache/escape-html-npm-1.0.3-376c22ee74-6213ca9ae0.zip b/.yarn/cache/escape-html-npm-1.0.3-376c22ee74-6213ca9ae0.zip new file mode 100644 index 0000000000000000000000000000000000000000..d12a72b12e6e351c4e0c75f2b664774fccbad7c1 GIT binary patch literal 2709 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 Zr&DRFVBYmJ6cntxYa0~>rSz{)^gmwGN1Xrw literal 0 HcmV?d00001 diff --git a/.yarn/cache/express-npm-4.18.2-bb15ff679a-3c4b9b0768.zip b/.yarn/cache/express-npm-4.18.2-bb15ff679a-3c4b9b0768.zip new file mode 100644 index 0000000000000000000000000000000000000000..4d2711460b4476644aacc37f9ae44ad4ca13ab5e GIT binary patch literal 63988 zcma&NV~{Y-vaUV0?PqM;wr$(CZQHhO+qP}bJY$@9op0|SXGN_2?T+Z`{!v*G-JO|t z*OgWBQotZ60RKApYgZxu@6CTTu>V|b?Tk(IZ0w9(tWBKgs%r^)7F@+@T%tB)cX?kk{Or=db7eBzRBHMRSnVo~5IT4uTq+Lh(W+ zFcW@OsGZoov9}c&{CfBw8C-TGoXV~WNW5NLw^BCr5P&$D4t`D!X#{W5`K{6Gp}yFL z*ri&gS{ZR8pue_{?H7Zl-G7OX-?n1+o!3CYf_jZs&D;VgZxPj! z-v%7MuH%(c5kTmavk7cvQ>BZcwHLi|ojPRnXH5{<&%`ASL_&@)ILm-ktr{q)LLV^~ z(Yn*2l?|j+$1x8;Zvj7pq07;j=Za8tio6iNOHM4Q-i8DR3#XYvvtD6x7Cy6cN+M|_ zoF>yCjh!X_s0*iz6CSRQ?3fN5qFpL{l_aK#oD088}!%Sb~p?g+LN=v_{}(@Hbvv@Z0-LCxe*W-KphMKc3FvdS!WK8EPt% zlO0wf;A_rV#^U=~Z~m0EY4z!x99Eml{T{pcr}d+${UQEYSDx`{(6b49MfL}HYTZC> zY2SYNgyNMR@D3XP(do7fl~FN&IBHeuwA-w?9^O+a!Pb0E%c~pCTajGVOuhfUJ|@O& zM(Mm;u9VZw&d%oXk+hfLP*zNCOmU&ON=f7#d$`+_-9ha+ZgCSKTdkz6v{6VywSHD~ ze*6=3X`C5+B=HiczsD-{N9e>1H%22o=ekX%LI{EB7+)EZ{4Pp%)cxx%qf*6g;Fn?C z)(<7ol*XJQZHN@4B!E~7xoGgI(1xmo(sO0mb%9QDckKL5e|XmRvlrIvp({s=rAt-i z@vw4z7$OvJImOrm0HNj$8|l0B{8>G@CwHNXTDx|9aELp^p? zW#P3Ejv%U*>ZQzdkg8)#_|5!N39FUfzpdhyu)OuWjlU?vfS%@)O=pSiyEmn7jevQ& z*|k)IY-7FIpoKDZMWJgK?c=Wx?6}s(Uvq)Fw7cWVIow6=P<_XK?)cNYgd2e5(eI0o z-K~UseqXzKCVrqrn@+sB!C3Lx@BT6HxNG#GaCNqvbBQ+pry<>Ptl8enC@gVJw5r## z@}0sw(=@c+0hhYtPK?SQ$387q)aw-Q*PPP1GY}`KaXYC{DDBZX`%7ho3O~sOyMdDN zTUpm}6j>;T$WAOx1GGSfRjU?E&cs3HaK7>f?hcsw=T4xIe3+Ohdase`0BR>^i2e!B za!kCwvWz!(LVx9wCzXaxNg`Dy;;Wd-l2~wqPu&&lGC(Hl^KXV@a!@YcbQIZrVMBuB zrC~V(_>7F*oOGd)$q%@E0ShYjivCrdpS86*T3foGkEpjBHbAj=Syh>?B$f-s@FpfQ zzp2_Z$W4t*Z+4q3uZ@XEXNlP*DR6B;J?q2{@mrIJAN|_iAc{9X=2_lO61fnolQ6s@ zSq|O0FcU}v`ISPAIs*{>KCA$c7x<>D!bQd=YnkkrH|=#IxUZnwn*mv(mASZ_WDW^! z_msf$Sw!_&i?7;pFeZS#Kk1Z_^cIcQSi*415p>MCt{2C~9l$xHU8dy;7G)o$r3EO$ z;2%>kp#7C5bov>k%bLU2+J6pCMZ3M<7m=cVeP6i-a+U8*@r1~o8fuYsGt~)^rO+I; zCUi%|C^U1oyWh0sHzNxE$c|bk$*nMBfkT+$83iwYZ#NqDn#EDi+W=E2)dzyd(lPuD z)zI(7(cOcwBH5qLfT|nAtFuti+gM?L&4iV!kPQSC|CLwSeam`rUh{vZZzX4Dq{q>S zEJQa$gO4#t7OC@d-G?h>h1D?}9(8{h-vJj(eJtT1Q7jsYX2L3!9&Q8PfVjpzZmj{Z zq~x9{q;+-oM&gRE|L3bupcgs>1|$nv=O%;=#ej%_z6cl_j`aXvn=YzffwDI8xt%fp z70cgqo#`nD{1jPZ(aHSE%#S-;=_4)2Omj$)^R3xaZtVZkc9j3-`~}EF+3U~C*-Tfj z$5ftJ=mWWf&OmtsZ3wXea5R^i-g%kf*ASV##uu_y76`A5^sBU_i$q$q+qR0pW-=h> zW><~B5AVDf(G5IGjz0&irnU+H?E;BdVTT_I!?484gfW%UN3TQ>2I}&E00K2Hoo&5s zvuqKGZEI(UjWUc;|Fjt}b`i>v3-LR~#Mp9ceYEdgio^PwAHYpO)qe6Y&S;AZri_Qq zSg~>mh0zn731#?&`{8aUX_8s39$=b!3@A;qu}yutY1JJm#=~qCBf~*T0lrXzBDj%Y zJxYM8W0HzF@~8S)0Gy008mg!Yx6_d6l!gU-)`=Lh$Sw&pGM)s@oRe6?Tz$4laAV6)+@!u#kA^%e z%k6=C7&mowYS7Gjf4>dp)A~B|q&hslpzhoNo87rmud>SoXY?Rgc;@-y>bwy$n@4yM z()F?AGci8;6-)g6viB`Mf=i22>}Vm}aEO#4pU_08`aR+Y8}op5KrK{{sQk89Rb#uu z0}1<}J;}ZvY9PBA2_^!VbOvNe)DBWN8K-NL zhG$Q$9b=JJQdy1FgE1pw5meJq=};%@4+su*y3eFZ)#5W7XgbUj?^~8yd>;UA_YM2FMCrV|AW= zzT#xoMq(cI4KrQYS?m?rDgKUafqB;w0uNuu$=jz0C5EW)epK+>RZo*d<~I`%PpPPd z^#^|XVW7d<(^({!oOzByN!uDR?ff zmakd^`CoPx2v`rby12kv0VYs1-aat^Q_448Nz)D)mdXL9P+12<0P3^o+uV(g+C z5OYlW6>y7$9S&RzMbP443HVtMYiwsQR)uA+^@%jFw3%D}xJ@kht%?LKC8JIF^s|>} zZ6OOtI5C5btiB~S3f+$Lr=})Y2wU|-*fEXYTWeGS6XoAZ6Se+_4sh9yAi?JV9e-}h z<{2z(C;2kw8+n7NZF%uD@73unF$f%H!$Tpk8_O)>guaL1e~8$eLqo{ZKB_2+#4 z*bLSUv}sNqF~IqolcIgN3{HrU0-rBYiZ9@TZ}dz^BgpDti6Nct6zO1fBQ6J@fGS2S z)^?Z3O;u&IfxKVhLm6KV)&+g&zSovcj%hU_mCOb5!8mh2<=;K4=O#k~O-1E; z+S^FW0E!%)6Vm|+`L4Y^Uj^@cTM}WTYgt<8&ZpdT=OX=Hx;|7U|7=WdKL$+vy&8+X z(>=+RjNXO}5G3o*>vV92r-S7sa0l4rJ>gOZ2?)L+&US65)&QIgo>Ox8J0WcuG*!L1 zph&O=o3F>|m71~583oKM|9p3syaki!I{O|00+k0JTD7=dDmw{CD?lOwHvt3Q?RDax z<6#w`R7;^j(puO--QRWphS@^XXcj}I@PcMDJ$`pkr7s{G%0w4?z5Z7A-XZ5W^wGk+0Xfc1`bVPlk5GVy(ISSRAQ? z0|v3z)mS9~2;E|J!NOn>)Y1gj?BJA$2d;`)Ypx$!%iIcH_$xrYy6DW&baxRMHX2hi zkq)K5*0#0)%5^3!rP&qp4Ev3itW38D8PfCi;(`G9WWO6oO9>exLu%8liJVvDnMLz+?5p55S%X zAR;h#iS^vJ@11t`q%v8rseUGpo*H)c{BlRtmU^GUSB`hn(l#8ZE0G(iLcBjNs+}Vx%sjJ;xr(Hq>Hd*6S$p`@aqMJtZ zLJ62Cw8p#f%=PZ2oen`Pts5hrQ$s~&$!^(?V5C*94@I&qHr{6NBGwzAYLv|Owc3MH zSeoR`5YlK5L+Ri`F;yh|8TRHt{~ck&G7Z(-YRtb4o{Kzh9MS^iLD10WY|dv)*#dxG zGCnG$TNgd3DN?U7ma6OChGh|KHwI`ivS>uM;z7@5%^5?CP!mY)p+a%R;X|T{ zm(pgDO4-NtKf-a%hPIY2lykqFZEIkeM2W+=Y!B(rxVGEXg+CcW{J&lVuE zcUhf3JkoYpzoD#03Ty5Wj*87PS9M&1KZSt@?ngDZB@M&?Q6Nd3Y#QO|? zEy;JYTOE@Qh|b-V=6wND%m-MXNHmMRJGWhV4+CI!jY;)FJ{;8ed)i@X?pH<2)YLDl@oc!29n)QGxwePx$pszxGie-$2TMQMQ-2j-80`Z^Hpd{laLw( zHk@|EKoA;76tW`}WPd6~cOy(#1GT5|A#LDC0u+-Nl)x$}uUQfi%eZ+*NI&PL6QK^C zV>#jR)X-TG{?F4F=AGdC4s3gS=H5|P?9r>U2_c$0c#;!#!X$$!ik_#!x^Pf&I3_c& zqSC{XN;)iY6iiRWB@5fa#?tBAFj+V8@f3E0H2}-7=Jbd)_vl<&snBID=oHvpEewg` zbo^$9j=fV?y$wW~_tVT8T;G%gaE$C)WjDL0{lvNV zGpnULhd`s(=ssulvk{W0!J;r;)+eQ@amLJOv4%JL1e-78nVDmec3A9R;K4twzTCj4 zF*$ySjxQ)M&2*P1@{lbR52|2#j{A-KH9daKW3Q?`%RJt(5Q5npJ(2xvoNpy|?0`}g z0|)D!Kz1W#iHZ`gnsEp`ybEHD6y9w6N9i)u@BtL118SBa;B-dR{!d!){7-(s{~rbW zZ=5B&ru{Sl3;?L!KjEzZ;>-U+S*lWYN300FS8CD=LC4Dpi#A^7(Lgkc=vyK| zu#JG8pl^l_D@NW3bosLt)d@4MiifW9iVDAWBq zB^?cw74k!Q+8C(Ww|;(seD1M}`T~w!bJ+^_Ix}e)H{)@I&wl_!-x^{;uoZ!}hQZst(*+y2& zB)aJ4jx*R*%pES{qEuC<J2VfwWveVAOMr2(a zEm@)pc|7{&S1%U`>1O z6L`+eVpc66>-sn{yoR*q8$*STT!U{J*I!lJ<4L+j0eZEeklUEcfFiS>3xR5s$PBW7_z<3udUEMJipZFD>|9uL zRrmvJMUPrwIA>OkMP9hOR+LK?GNgIMvU_at108f|RQ}ChGefk}oxjA(7&U39BQ@q} z(4UVsmDFvMqD?0>8Mx#yppL>#8xUu}iYdW6dD0JN-*+j?3u|z$Npk>yMAX0PCy zI^Kx8iu`wFG)+x!zeOC$@Zl-28RAg&2My&K=#=cxf$s>MxVXmut_Og0@ z31P11PxSvc6PPlE1r`630rvknasN{$u&^~YasMX=*u*u!1@a>Ze||=`07-)g)4((g z3dXQX8phNg(Be_=?uxv74X7{95ZjS5EqIga!@XU=Fvc+!)v{HluF?UEAG&vmAD%!x zBIAfJb)8FH>%?+ot3=Qk zvAl^x%rO9I6-i!|2r?^k#2nCPMw_e$45TT6`Orl-dkX)u>BdL?55+V5|MYnO!u^hR zF3u*7|3>}&P_Q@ckpTcuxBvji{} zkBr2en2)Z5s>Njr1q{JJFaVN=$-iEgYwYk#GO}}yj39SbR#sf|Daz={5*FveA_ zI^+I)RBG64I`*C~X_WTza=h;q)yc{J=I{O%`&w6?3fP%O{T<`+2XI=UcB$E=`H%ta zyAFD{6Mo^l3^V1ab1u`R*=)SZS{ZD<{GF_{GGCyx+pWr*%BbK<8hU*&Pp;-F>g=U4 z^KsEUd|Lu>OjYpl=kky?Fba0JV5v{V-PXn!15^2&A zT3F(B_Nm`0c0PV)o&ESMolKwkBW-Xz0k{HhstbGH?E$x#)Y9w@ZAV7!837C|u|_7u z=UjOC>d?@+^jPwcJ|1;Ly-3ODt}x1Z>q-_;M!h}Nj_c`KD-@uG^^Pi9Dbx2>>qVAt z6JweP1SAs`*Aj{ZD+*{e?cZikRk)ewpp3t2ravDJpzd+MKU*yD70+#MVH?L1`6v-mzwa43bMp}I)10MoM`Ivz@CJ{47ud7>67S>P^WoC~`ZVU2p_ zz6Q(P-QZxmELFYMm$z_n{blntx|L+R##ObT`=O*-OLbeCJPfThp6ba>A(UL8q4Y~C zA=~mJow)~CqHVc@1l)4rmh8ic>g<3WtTz9sm|97rL20h2BqFvN2>#Kf-mjvZ7JH?m z6bh9hR3LWHb0-7NdxIH>Bq}sVSZwa3g@CW+qVx=jNFUaZs33BoIBXO#^~^1{l>a>G{6>90Pl^3op#6{quR62rVg&iG_*is6O85Mfu% zPrKu}86d~va#wO7Gi5m;XG_H{FrF#Xq$-uo-0!0fx!MIJ(!d#ZyV*}|9V|`OCF)II zbC<;!CJr?;EedYKrjj3T-C#jTnH1ea7uf@P&pMZDo}t)Bh#l29yTk~unvUiTWa#KG znG!PS;3&>`TpimUmvm-pTO|!zIHUp|e6itjzMMd#|=Rh_`N%6_r(MQi(}mi6~l+~+jOsA70DTi)^CI%^iJ)pF|?U8&M%vMf)EU} znu_uY2)A}UKcK**y)x~<@eo18tWZo#ORH?CK+Fo&eoZJN$d?1O$>d@J#dC!n-FR%G ziWNxAbsa1iOqkRt>)oj722ChM`krq<9Y7RB!&G2^kWd`V;~xH`O-eOsY5eCc{S}%E zv@5=E6!_?Ljf~BEy-6;YQ6cQI%q`8YL|uMv%5dm-$X>9TN61GtuPHPs@tOH4YCykh z*Iax#93nL^(x1jk9$JxG8WMr*?EVOw`>}(QoBD>}-rHVvEcEJe^vWL;NICoGFLj_z zzc)nAxxpWpFR;@3!(y>5ayuTW`11K&U5jPFdKKr%OWaESE$;IE(|##I>PZn9CRaXp zL1SEp0Cr|OPb@%bSrNs=o@{slyJ}uxqxdWBJ>zP-M(t=QgCg~Bp^bn|!Sv-xPn!6s zzX{aqJIpDtaZW|^kFJd*{QFFev&td!QdklhJj7RmKp&fQTyJ!kNo@y*0e)e_TtzI! zAn!yK0W2`YrVGyGA05V8ZyB2*<8j0er}fsi11AB1#Arg`8e4~-++_!XLD()#S)QR@ zA*|t#gyIuq0$lmrz$5h)q?3=2H=k^2em-Wv;6Vz-r7&P9X6S;As)GlM)#|VQeY67x zKqM4GyN;o!su!Ab43vQoaq5Y^&-Z5m_m_@B#_HE<82u@N$kJx_QS6ohkEN%VQS0%8 zsz$1%!uTO`9Eb8k!061j1PL{%JcG@)*MpqcROiYCYbtRt zwOP5&k%NW)E<{)4)xHgMCSrg<2c_<`OEX)u)8gGc z144=T`_f?=w!vQNjU7G0aB>adBV)X=_l0>8#5!E?$-ZS*t|}Abm_P`dozYmur6UJu z$C3Uik-J`G(4auQ-)mt|hgW&UXtMRe)guT2rxWuMFvDZnTnThG~+%LFlXaz4lluXKACnfdqh0sx?qPKxryrF zT5GV$djOB6uF5UZ=4_$xJhq`W7L8Kw^VxL#*$@YR!ecNCArE&s!K5wuyrXY16-k3h#3)@k`jn0xZYeymdYq$>VQv*clR4AQwq#6fFpFI?E`nK^rMVv?Q)rl zw&&6CywY;zE5VEdW9MYl0uz;U#7br^xh|@ev*v~I$cMRu$DZdiVKfCBAkEcVNeNIN zMx@B^@9J*vw3&_AJ&t+M_ss9qfC~hYwt35PlK9Bs1E@CsI48tt?Em>Dy1A>C{ zm&9H01)4TbUO?8oX*%EIe9()2lq`YehLy6gs%bFv4O;L;F=wY7hY?*1|-Ws zi$nBiO^~FgI|QkR{LhU9H>}YdtHZpI6GUV>d4luU5Bvi-Xj_&isRmHNH*AzncV2;e zgpA*a7N{sAzoLpI2tB;qJfdxDnS>Q{USanWLhs;ylYJ%XZQSK0?@&7lIKsHtJ+ zLAQXb!f}1RBqcNNg1Z>~QKrDOZB`aOX-K z4^kQRa+x}o*Kr@2S}gI>^7hXvLGI3du;TnL1HEbEB+IyR*ihH=YW!&Um1OgNchGEi z)&i!>b!vQ7D1!WZmyM3gCUk1>^$j#!wcsaX37jdRI}V58AF~YLUB}B7LR1?%mo^8} zv!f3p$Fec#{tt?|_D|OM5Ba(~oM{GvPnPP?0e~0tD*^^MX!?m(0^6-yjaOY99kQ9q{ljWpc90vB9~70roA5 z?$jKIR&Js*w-@c0Yz?$Ds!C@lI=fhVd&q~NtFV#)V-#p%EVp%G4_{^3;peVD8MW$G zNYGjcre5k|&~F<>2;fH2Yo*l8C5Es?$x>@3AE+-!9kkd0?4_S~Zhi2N8`arvyybf~ zWB6fL`DvAl0pK|u5$qbAOfR(Hl_WaOY-W5ms=F+Su$>5m+R`0iHyjy?GB>PuT9N#5 zBm~*sZtlGZBVI>Bj^YtOLB#x{u~YBh@ZNfrQ$;u;Zy*pu0?P25H-(Zxuu=t;r;&$w zU2o)(pXg8&yAfY9KnZHNihPIIsaNK32X<1U!M!d zqYg`E=ONx=%XUD}r3Hc`+ZkRQ9aZlRccW3bVJ$-e>zW2)Qi|{)Jo_ehc=*cKoy=HF zosKs#qy0nzbTUt!H+IVDV*Bb}x5Md5rv7$8A~>c!{PpRorHD7Q)_MMx{C@oSj!WZ< zUUA;(;_|gNImg*6efNbF+XJiL95d8m>V~-Zdc<6QCF#K!@P2_)=+IKAy^)fPV|x@7 z%KS>&7XV%R`Edb3!%r69OC)M{QHhWVqnJKCeKk>&r6RHeim!5n5gQ72RksY61G}Fi z)&e&UIatGTZ8B-9^+J9EI#O+7q){b!;)YXyyo zD43j6$#1*;<3I3-X^37_vg>MBDl=qR45hhi=T*0Z@Mi@--3&hUB7;p9Wn)nj#VTr z@t-#W>q)6^k}&RWt|J^i&uFtDM!pKJquT;pW*1r_??{Hdw>a-_BQAGZsU`(*w!;@* zoxjM<@aJ+_Qxnhy{Y{54PJ{Am5p;9n&D^ORb5^U{>QpHexR-y$?2kcXsJagSh2D} zq0m4H>N_$r^H>Ezylz()aBSUo#K*ine>dn_>LH8`5s{R12>)?34U~2|xp_T*d_pJ{ zqg8#P=nvOqT|+t=(wUx{0yiExhr|FIZYbVu1gZHvqacRpV#ZUvfp^pW_(}SFH_^7H z5SmNGvJ{a=+!5t0j&Eu$5h^%wS)$u5P-G(8DGwx2g@?FqxK~FR`#zylNOmsXQ+^Wg z`>G-zNQHH(XjuoChI{z8^=aDFbWgPVAuEK(EaKsnWu!$V9=3#Ha%Q$A_+7U}!dG6n zQteqGCSvv+cyh@nw!9WGQYikI6w=6;-uAi$DiR7Yo9w#i7A{ z6Es&#moCW6(!KIg@RDuiQZ|Cia&6CmyXw|fmas?w0YlIWGsGVP|23`8pZfAK%17?* z=q5%r8AsQBJIUVJYVA7$^k1BFGa#OuR=UY05PSbB$${@;>hFBIP8bJE^jxn+#vQxzVEMv zU!GLAQ1@bsB)hLXR~cUBe69(02MfI7b}*#HyQ)eL|NhYZ1svijTkAYv*x$~UnrZU&Af|Hl2~E{n)l00970{wa}A{Vzwb zu(fdh7a~=(v0I`?_{r6C@OD&evB10sR1psc+(a-(mNwMW`CP=%-fGHeG1&4uyC(KZ zpcI+x;dXoFcGI2JMWqMkW{)Evep>F_t+K(EQW%)9{Ojw`==lv++dGi4;yUNG;OZ9# z0Qt0Z+a922bIpP|MsKIo_J}=HJXi%>7RrGY3Du!ce*AeFbu()Mzba!7E0KflGs)Q#c zipgeTJybb%dL}9|((*A@)ClG(DH-E+>yVpj62zz#Zj+giWf0yUL(Ii4HB6w%PperE z^5}%$;I+&-Fp<1|FFV!%u1!aKgU2&DQii8_oVdC`zRWm*iQ+KlX8+p4M7ZDqaH}or z9-YHB$H+066NoM)p6mnDLa0LAhq*w~QgI9A-!Oxcw=1M6DDikIv4#VKXBY}x4yNc3 z6KcminTU&KyIg;vp;8i7E%nJTug3({;Vk^dE`S@fqhysPui5dGhSQ3Xk z)%O`m@%h97yfb3cJ@t~ETsr?iSLK0SS!>|0xQXNK-GSi~xJY$~*rufgXH8WC|DmEO z0sK{9?;+p+i_BF;o`1{!*;%m<^S`6Q)&?FXj{mqukLsS?7Au19nx2ENItf?oP4muB zVJAjvt$7$6?joGmcwlIPg;bQZC2`8I_;=skt@uWwkr^=5H9@RT-`md47*{NK4+I$g z9TibcNu61zW`r9>%Hh&l%hKOl#D@6t)s<$Tw!x&j<3%zCND~cvg+*pD|_VOreysrN=DQYITk#a zb(xt9g#js5g{h)RNHbC5uX@IzD*J_xT}Xgr`-^2`T z6;ZAm)f5~T8a!No_GSl}w~tP0#y>t29}4qE$M7JC-)Ak8+65`-#K~_6&LV_d!5x=F zLLlvAOrJ{6+Do#U_ zn9-z6y;4dK#n31S8dmovP(isnOhjz*0^`OFNP;^V;C2mkqd;%PuoK>(Qk1uxgKHU@*EL~joYWrh*+33@5&$M)Fn?PppBXXJAD=DP0JRBn?a(2;`x#$ zwX|7J%_UqdcCsY&QnjJBiX{%VqQVxejt6^EQ! zg8SeXkoS`PSum}gZxTVg1$jWTP>^itpZr@dNr&BOn3U{_?|;sXY>HNS+#{2=_&WQi z&!nEI3casy1EB8VB5fJcy~q7}CuVoB$9@f6KN+!yq24Jo^Aku<~9) zu3+fF6G59hLe2rv#FMnIetFIDkLg~gpTLcjxSNa7?sGM)^zIb3#mi3Tg-V-@w%t^k@adW|%n1&QK&+XzZnlUwc(iC|;C3VNlpj41Iav^Fw9Y+fdK@?C5 z8O4v+Nl>U)Tw+lX>4rU!rs8!JQ0&1m<4*ZKn6mEJmQPi`v;3|_KDe&-OA##Dc;x9% zsp2#DImwROGC8tI#v4eew_#u3Nlcnv{2P+oaJYrJPq}>*vV~WCw}JKUo|>N<>pDHQ z{01hhz|UJsd&hT9_kz!-Y>`DkTodWT`dB1|T{25jnl4OIPMOxYwOKJ(3E%ze)2o?h z#FPl-*ccvGT`-7WYhKj(R9&=<$%20Kuv?S*{3nesRU{Jju`@fh^6eaZDADX0gyC00 zYd1rCRYc&{AG70#C|^d2Ew<$o(Y*wX^w))dOLl8X>p>xa@U833(*vkG}Dziw1V`7hUZ3 zrb@`8=yY8@SFf9^r~qv6CbZeTf2OeXL=YD3=j0>UA)}RWvwy7B-Y&&eNIAs4tlb$f zZ7!f9qV&j*QYtaSb_=lzJ&a(^0Q$EaK;sr@3ZL4wn2$Q-jGV#6{&E%+Il=T(g-_!v zC{Mv0d%ztOV#pHSzeZxtlru$XrMZr9QTw=PyDB*)=`|l*Mv5Y>wue3GKoWHaNVt`t zZ7_!rQQ^IYn3FKcLr(fanXCNzp<%4&;g+<#QMK8HaZrAttCp17!m9^V*?X9r^62`f?P&&dL6E zc7MKqAHn{e=3cT?MIlJ4e7>-6BOTFdw*hd#|Fey#P;R7=ZbG5n;Fkf}&# zT8ZFSoUsu6{Bcs@o-#_wMj5d8>E$J0l1y)sFlu7o-PZPdjyP~pJee%MEO-(zd8C{H zvF4|Za$%-HIr>cvO>m@6BS|z`DDS6YQScF<0|hn)0w@fH3Y-WJ93?@24z9`x$I3#t z_o3fG86*%~)vZ^HMrnf^N;T9>N>4Qv(ihXWvx_2|`JUCh?~2|?f0;8)r{#^-PG8(p z2zmj$AgE%@!e3CQ$|wjnp|a_adSFXPxP8G?MjXM@@K3Q`2$F?vC1GyC z@`*_4wgj1)WAAt}=EmL|yn7_A$_9L{760Va0fjcUiPh`t>&Tne0@aF2N8h+{=4)rX zQIz&B=zC9Yl_S{U-e7gVO{s;fZYbAWBT5N=KNDH_Y~v+7>1`-qAmT*F+asPfL!Wk( z_AF`*dNp8MLkaIxG{zl^vp~cWW!#kVnJSe}F&l#3OR#uZ;cxysg)j%zv*NKOg?u2H zNCEUcHvmA4wyIM+oaGXhBcbFC2!9*e6^|5(NO{?ChdVu9R6oMhz}j4fn!XmgeXf4; zEz>+=BgSngyF!KDMG0kYkoxDjykNSC<|xy`oS_?`W-bI2YrTGR$0~K9ti*J_j8TX= zA-J(XaC`49fcyvpp#PvrN(vhS_tc?N?@VU|K$#}7Cvl}nAOYh-g9GVx_ON)&YBzEz;%^zjJu_J^FdAQv{I4EI<=AB>?cR(g-6cq_ib;PVm0V zKfB79gh}74ok^yp)%M2`h|saVP=dLT_i(sTd-j|ua#ze=H5UNhv;0dNp_(bxR4e+? zh4a_w^z!6E+B8Lpl>meGQFuDk{UxNBH@@TIYdi^r!67vFv%zN8--TlK{XszbJ8(!T zrOqrMUor%Ct%5@0(M~nUx$R2rLBN;Mb_X-rFL{KA`|vJKw*{86_epwvC3a^+F3m9&ivMQ~LoBkCn(JRGCSN@gIMZMxwX z^WNjXMHKfG5^~G$h1GlNBzn0WH69_HXQi|#LbiHB+G^JdedCLl>n{ z(^D#klC8zp4NWkmO?_Q(Ybjsix9BqV_%$1gogYAl0CGuL1$-#i3SziSn~o`^A5s1* z$hSd@<(^EHQ0d)-BWieRJEcTf2Phi_or>Hof_7zG{jA>;CR`Me{JDV<*@LAIpw$2x z5oVq+t7zBxN>`j1oTzclLQ=ag5^BWQo&BJ)eG-;fhDpXssU+3e-S~Bel8(fjJXHg% zL>(@~Msv)A^0L}^{yYmf-iP+y6rTpN1%@~qkM$i|C7Fu0HG!;?Om)~Z5+#S-xa;V0 zjs>Mm{p^xkOTa~<@En%Vflz_KIdL-CY9*h3g_)8+^H{e(kitaa<=mGig$$2PiCioJ z@%p!6dG&f_I9hM})jtRt!A$NP6mZlY0p$(Dtv{A@-OygHj<1Ta3GGFG{J1DOfh84{ zDa9n*l7e*o^{Q0K9QS)GYbgm4!l-r}Nt`oxd5L?L5*P|TWWgDIxrb z4@{oC#5$%AMyLxd-xTvvEtJj0geit$ls2?8nqQ7cFPa%OuG6iZ?s{VBZp`({m{JC& z%Py3u_h8F5?lcrvS!I{E<~fm6!Ak4_X?m#`TBfH0mUg^xdrPSUfB;N2sMkR)W~9a@ z$U4pfWy)?xtl9<`0!&05-@xrmC(7*SJO;l4@)qMScEMFUQE0YKKcF)x15jtV`iyfZ zt~10WZUp>idF{7Crnfnf_POzhnC3V$<{!L}Ln%5L&!V9s7woS(NmME}$NL3ed~UN3 zO=XkJfxlM_7}-gJ-lqz1c$^Q^&|11@{)p^w?8Pq0!e{g8b^YtzqCSCdDCG_~#HSXC z#+Hz&-zyXGI(|926(BHE=%?>BVq((6O~jh{4hrPni7^}v#o0U?dTVQkQy=Ss@p#v~ z-+e7phHYD4L$_Vj+VT}zWJ}>s;TUmahw-CSd=OYTpwC9be3q`j+~u@llZq$sjk1XyH0`lnyRlRt@S2)%gGHN>;`&rT2b1>d*=^L|a!dz){QMQs6R ziY&7aU_9K}ZkG3^7Rc%8TmCPr;Tm1nR}OA&Nt+suHmB^^DfV8QH}6KOk;ONWKu5lv z0Ye_{xwAXQ=cSNftnq&O%rEedrI=%bsUt^~*>JxKMFoY6Hw!{NyDWz0cD#>n?J*o(T~y zr;pO`dp4dJ2IqdE+7XOJE?g#2iA!pCH~aD1@Xa%K!fI5tM#>tBpmA5%wxVNs`DjCI zq$bkmm&dz#Lwe4D6eJ20_cV=5R%$b~SVW4kw%@XC+qP}nwr!lA`L<8Q?3jr48&*DfXXf>=m7;tEsdlT%6`cv}oD9+# zh$FaXis~qtgdJlw7oDe7@DVRo3tw2iGaafD4gQx!=uP8zzy13!60nhMtR^K0#R=h~ zLz=cFHm`<#8>E3sH55t+$&iIm%E_Z}=ki-nHnR4&fvg(#Zh@Af`#bW&rZhUDSxJvO zF=}JG@=Rtmg2jM~I|x_R4u7w1E>EysYmxM|dpMUf)&Po2cJ_Vf0@k{1 zfNxw8ZFLRBZqx|jYKJ7e0kb^0**Fpnl~u=8fU6<(^>Co|=_lIbzT3y(8zSPLLEs6 zVO<(m5IX_u=BTabb|$i$CPf3-d&#APx1fQ9iwO{1`0h+w(94jEq8<7s)G%WdU>KhD zNy!lkm3+*!P%=Ls;h`9R*|zD+ByY#X4k|)XPaUiwxwJAWKI_BYhX)Yn>v{2v6OjNz zhv%qPe>%G0yWuXDF=sotNUK)WPYQ=TrRfHzWAK6B#| zIc4h+`5V+MVwnG~*_M}3=fqWc6k~s~RdNyGxEGIX%g)t@^%|Tna8<~SVaVrD^sEO& zhj@u!*h(}DyLFwvfsCi|%hg`*`f#{!RV{9DL;VNsU&siDGQ3)Gt5PXaf+_XN8c3G$ZDl-LHYxe%izl#dc)1I;;M`}jAEIfyl6 zda76m7OE8W+0wZAUJf?AypOWi@U9j2zk+YN733DF8_?1FYIUec-BcHp!97czx!`Tt zQzy?oCM{fZesL5YuD*~REnmmmX35@EUfzoNtV#9CAAfDVJ6|A)V@j##p4aioC$3{aq`u<#w>KHp!Rlz@CHqcJ;n zU7Oemb~XSU>5*qZW@a(~GeWE}SF4s_c$X%9TOj!UO^e;$j$2*My4CI4ZSWh@2hT%i z896(VR@r&8GQtHhjiLNsfw{>QG@qxZ1@tcIPDn0%zD=}V9mzHZH{6F5Oj_m;ZqAj} z;?5n})LUjWY@b||kJmY*!d(GgJYH45d~O0TTWxhk<>bhG%ajdLWOj~!znl@i7A({r z+#&anErvPbeIG4qmwN1K?EZo|iBwER^R0vS&+_4239E;Ay%?jC!_vv*{Ycw?Qylx_ zb%yH+?lB(!xeKaeB+CU<=|?-{@Nk<46&u*2M!}m7!vzp%Z|{G|#`OX`ErEE|rw)t% zLCgssu+1+hdG_lze*a+d0ggJn>UZ^X7xX4m6pY!8ifT@!pMB{mhrPIy&6RS;ij=@b zb(eSTBXrtOQ-VKH9pTrKegppK^{8dKt4q<|>2LINq^+qmf6_R7gSOFCdpIYG;d_A) zkMa9gUED#iwsvKRAhFSSLZEN#yaa|$H1dqVp>Ol~zCF44%aB{sw8QAzijnZQq2CnQ zhdmm&xIM0EyG>yYiDH;H8VaPQ3M}y%BOlkW<`~Om|Ct!)>lHRBZ)uq~SMF5Pk`}SB zmDHtf#3tL7{kY8b@)zOd_VLj%hUfhH{Puf)w@DEhV=g|7&z&Bx3-X6ECtx`S5x@3} zT=it(v7Xv)mwkUm*j)Q)*59g1XP<*8n#X@$-PAV_N-j>U1{PuYo7ga&znH; z2_As_cnNmBsW>25il7~vE|_v^`(B;Dz2;cG)qG;rWQZ?S{*x@KrK;Y&81(L$nW!F~ zrPIZ$Dlnv!mFxkr1CXOoOVLPDLH<*rw|E9;vs3J{W|d{ew$LVL%AGab4p;Zd;EtRl znsnT4s*vZSHgm!_lt=x@aM3!ul^c2N;VV2O#Bk_g!96uERkF0uI@!Qny-)kpA$j#Z zsRG%B>`Kcz`Bq6;zy5ooeEfwiIaw$M8>BNRTUfIP3w1g`hXaW;Lr7m`P3EUb;qkGL7tlTWe2GyKfjMT8pn`X8yz;J4KrB zVZ-$7TPu93*Ik+Ji~QC4e4M&m&vs&cSt2dhvM53no)p9^C;W=>F27E8ZA9(HkSS6{ zumj20@qm>^RRQHkiNN+A&$5cm{7glsK$9x>?0k%wdiRef!CwZW-?_F7!}MroUBPs( z%}%#vQUz!(Vz?pqW6l++)V1!RJ#DCFbkfsSh;N77uRFsz&^`9#13tEFw?Mb0;}MnP z)N1v1J09_aN+Vw2c^6ZMfNWJFM@bB52HyFhH2O)#JiOwSLp#0j%F^+xy}!x?QhdOg z>^z`Q_N1;iRC5vr#fzBb$qu=jN zr!Hbo!cK6oKB8efAYnuu3!czXR~3iM)z6?p(T+jjN-eN5bpDvpfz3l%fLX5UEw+^& z{FHEhl_oPHj6S$mCZuu42z4tvy-xgUv>n z2Ya}aE))ge+fdB2`v}qLd*oHv_^kq}fTW-U;*e0;&+Qj@1ZBO^Sf7E66P>Q4c?PBl zo{AH>22>JV>2QPOJYRu0EJf0!y9-HSx@GEV=M>(_NW8rDCFmDPGpyHxfFfKeKxBSJ|h7!P&K2cg8SA-g|>O*an_$%h8aWdn?GdhKknL9WF1T#+Pk-HaTTcFik? zLMkibNK+dm43CqO}k8J2g!?XY2)kHEY61Y&{!$2Tn~rFmuXiVljner0@O9&IAAOk% zydvQ|2;=lA$EZ}dQ*T*U5N%lF4uT^{XYX*(wGSlQHvwn{%Hze!WmnjFur^EN7i#;# zqgg3VolBxuwU_#MyX4d;bx5n~^UCnsD^}75!kCU^ugD*AbUGD8yMw9wJ*8BSR~K|9 z1d2y(dr(Ju>b~9&7c9+U!G@H3PpeBo`7+t>L(FAdNs;B^RW9n>DCZBZkH!MXzL2Mw z1goV&4ggBXgx@;MFsWKtZ0$Ah zbppTU&T{EL0?)&$Sje6!O-4cD!pFiUX=?-Jyp!`dMQOu_IkT>+SQ*y%-Qs;d-_PeL z|9c`)ZpRFQ@m!etqKPu+W5BjD39>V@q7~>uBS+MnEIR?~c>5N|Ao3V~E4w)OAlVp5=D;IeLAEr?hBz zN;`nbQ?jf_gWCGlU(k^J2w&@#a3@0Z+d0)cQ(hFx-l%eZFgk=ACz7m14L=?{N`1ErV-^TIN2((9E>oeRh)Fzf0JNtoJ8$zH z3_*|j!r(J!I!ou0Ei|COUOZ%nem?{n4fjn)q8dF{evyIv90er`iPLhe6SqnaJcZbs zSn#)%Ul8s}*oV5hxQ9O^_k=y&f}=guy?BeG^D%k|=fND`gJeI(<6rMYsaREI-Y!{4jtBFhm>s^oYN& z(xqUtLw-FdK@CMpQJTBWHYX4u2nk41!x-?yBx!KO?6!>YmHLCSfzpQO_BX4IX2rOQz=v-GTW`;zSDK$!4){^Nf z#B=;W^-~qLWBS~cRHapZf01%-ND)Zh)#aX z_J!=yp2ByV!k1`(jj)RZ_bzD z|DWHlo}Qd{*%B>lp&*v5*bob1eNkxq;v+h^1V2`Zguxq;E&}r^k`s;O{;UCL(OEzQ z2`n*JP^i2d8j6JrE`Vn>c&pgx#ilB`po|HxY}aUvU@1AEC^aZ(LE0;vmC+$v&qKepi&<1Bx-fTbLF`E~qtu0fb-H@(;}BneW0k zi`H!fQALCwOsvg~JnTK~y*OQU`30j5mn0JK+_A*l%(FvQQe^4Gj}nNBtuxXN^Z93 zD#+2b;p`SzS-{QlAn8_%zez?x=xe)$(oW&TgFh@f!}%Qdux25lPmE@j| zcHtPA*92P}HX964)m5X?%J)*zhx7_n)cZofg5>m4rrkv5*eR_AgutDQ4YAdiGNXW? z$cB^G&PTeNH)tzvao+7=AGU01_3{1pF{#vt-C`blw^Kt*pzD}Z%NRRo3_oL4M+@o$ zo5UoC0a0}m*M5A83%mo+b`D{+6`YcSKnHQSqbQ7*Bf+{kpq<*eEUVn-2)9+{?I>fR za$$;n>7h9Bws(o#Lk;TrGsse_Qpdy+Cvk-yYDYPV9G7)Mky3~_8^J2Q**eF0mfvg`1B=`sY!coiN4HwZ) zpA#`$77vJBqgH-NDyx%xv+w<$G{WQv2n}Bt?mgOvgmikSvV+ljz_|x&8_Nq-;I@P+7`m=#k6oT6he7NZ>>eHDsB#CSm3-+0riiPE&cPy^4J!_n?9FmG zI9jv8^we{i#JOk5fbTlnDo7Qz*38IgZ~1pOBBhtX96T?)s&+6I(NI1@gpd&5wINFu z=Er(`io7iaDsLknn8k%TJen-UAtQ%!-y9&=KP$L z3-(B|k$@zM_eZ=Cb0cA=Or;=7pA%6#t>pC1@b{4%u=p#M|xW!qkN+QCu4q?z} zMvd@Q2wtoizZ=Q^mcj|kaz+QA&-;zN_A559BYR?S=Ty6NtUaERnqux6H}&*-ErFv( zSKxbZYU9B452%v1jg%3KjgX`XgLjY18cMw157WMSQZOuN9!`vk9_L8-=9vnqwb9}<1QD-&1}nc&Ey(Y& zR-`4FPd8G}748YP)`yGW^;cNE7X|E7lST&F4~tQVtTcsbvS-;c6#}_PpR?B_CMGit zcS`FRD%{md)l$Hur!sZ4HFhnH7Ev)e5Xu4Tv&g2$I`RCuwkEz#UlRuafoRVEJ~dF@ z*w-*Vr{(#h@czNPlpJQq*6@YRL^BeT0e>Lq6O6wpF6^ zv=QCokbMd4kR)iwO~zdJpA{gezmG~(zDPq>*jbpyM;6MaX*zMjEwx2^*)Qg? zaT5@KlMp%~BaGM8a@TdrX#b#yvDRiseHiuX7lTHM90z99=X(ws5#OGH`=Mf-W7v5y zNqD1^S++I2yOJ*O1-l>)F~n2r{1PV#kV`qXS5Pg{DIc<)>Ac|KMw>vz1_<|GklRb* z`$#zIwXiy}wb3Inq=R-ll`CKZsz~t%@OR*TDxY;geHMO-2Bx>oye?`m5n zLb2+ofZKT!Y_(rctNTKu@?_M_i}UbHHK6`c-uDF|>hyR!Pm`~{L{V^7tmmTVn4a4l zbF{{+LNyR*1$jW*>id$#6xaIUFBQAg;hKk6_!t<@1P>_Ab;V!xCXBI@5dvM7F6|~} zOaAT01Vd!RvdFtU#x~LzXQ-A4OC#@>=Ru`|t_j&F&Y1ZRo0Hiau1&%$Tg5`zZQXiM zUN1TExfBj?-R^0QTm$4V@Xf4ocb#3bKj|?lqPc-U5*J>m9m2T{mPWBO&x295x^AZ$ zoTLrbiCdUW;gIY|H-1PJB)+Px6x;0@LTi&Wc(Q{*@>Ne>S9K8!@d+zJI8*{xkX*zf z`r9S)6OHr`2(sTF0@mzUivBh(b-1_rolbf#6vBe7y1uA}=HSE_F!Ecx^a8^n9$+zm zF-=9zb-bGdm|nO~50uqC`jN?HNqdi18g?*ybl0_UkdDD$mc%rP9RVyFe#oA z;Ub8ggTpS#vu;K{(7+oF=Yg_b3QP5E8^h%+X`_H_NXrFAu@#FK^aq@#94^UwLYERtf ze87By)5bsYw7|K?Ox?0lWI@E9f3b#N$ zOVDChF7>i&LF+z%r>k+p3Us@2Pez6Zts=UU$@gU+P0*-w+ew4cw)|ATJOHHoLu>!k z{k)!}eEdK!gQ^-QtoBgcafXp_={!a&T8{X!&9hR!TPD!+nJ(HRz5S+TWDk2i&p_uV zvQpOq{9(9-24Xc)6iMEP9qxP&=!)NL%)tg^HCxX!J@RPAHbshkk@X z<%RLM38vVFck8~A;q$1+dZnBkjr5RkAN%Zxu2(o{EjKyrG@B1hWnoJgz#q-~LMxFO zq;oaSYoAFnf?BGcxK?%j0jAso-{W;gM$st)rY*6PrBR}FnkqKF72qh`$d8U}xATlQ zdjVU0RUG(t&VWDo%)$lB{v2+=3p@;SkC?!XKeWq~!G83tr`3NPGVU?ho(6z9 z9YS-HWD21l?@nZfP9-sM$8ihLqAn^7e% z`Ip1guZgosP?CTerX^g;=sH>qU;0nZF%PkscjaB0we*lPSk?K*lFE9K!7fs2RVSI> zR#N|LW2CHly@;WUkfxjEtaN zIuXSaW$9A1WRMJjAGfg+c|^E-VR4G|)sn{koPYvW3LCEC6+Nr6E;&)sOy2^8qWd`! zuFH9pEr9=R9TH=k4;MA1reH<8`ks~28401!O`Rq}f}tlOYtHjsZXDv1SDY`@5Th@~ za5-gHB{#IPBjBI?zQIRQKu+MHe>_wFP0Yja0u@8L>0g~@Ivy9Ri7^e#>wPb|v4EFsx zYn|Tdl&yeX2Gr!od%TQbWtA~|lanM$VGqbi@+lnbRkN)Llyf^gSb^2Zc_f5+B z`UB8EUjO{dxaa+4$)0isl^baojnlt#F9OLsCU2WyF>*2s^$57dI)L^2XdABu|Ez6h zHXKCXMEMcKOq`f83r_(zB{Tv9|I%~CC97Z<{N$gUGLzVVOb5KUll zqGAVg*f))yE|b7#KK|Et$QlL!x<$Ls97cyT@w5ykyN1N?U~hvAz4^D#pl_t`vPuk7 zJdxU9DnRrO+)77%MIl@sS*OaC8o`)QBq{2?lQ0Fa`YxaiJ|DO3+@y9h*K6O(vP@D& zx?|L!Y9K?%AMJQYW}xvcx`AX^#1HEGoC%dxDuLXL!a-44d}_+npCn`*F(D3u_Q`GXmVQQhVC%3HJI zU2(Q6r`{v2)vcsgf%_Je7~@0Qtn3x4fAIDrzddVja*}_{Lw_;spVH^UFwr*8aJ6c) zC86e_9>iHMLtyKVQapq1IXm#mXBYq^WscT%eR<6890C{==wF7vG>q5s zN9^|nR*3_2NDG2yVTFC}ycmjWAQNS#827isTidb8bmlhUM$lX<8$f?Y7%^I|@Sm+@|Zx``WJwS_7bj- zGeZSTm!&{6n)vb!Nn+~B2?pZJE9>=dHZN3Rm21O{(@5Ke`qtVZU_ry=T7mDXgKo&o z$mPo-RtVFY@mL#2=G)vhG^Zd!qYWc z%r5ik9UHD{4oxS0T^UR7@{n!$2g||r4y0V(mRwc_SRJdM42JEVY6GN&B*14DVl$OJ zB9Q1lkyVx)Au`l^EYVomo{`FRxH$V!pB|$+!?;~LZM{mTPLO&X<{_Zr2EtxFfE;hq z32kWXbFZAkxr8>jz^&-#}UXZ^MQSNDedzSi~kG9w$Q z&UD!bnVP7sakZ}LxLUt->CmDtCL1;&iJ+Dox^wux0e#Kq;IVFJNEY=&6x;=dnu?AQ zvxEC=R@Ab5|BzDEBvWk*TVUel;d*-;Ye*;&=w0)4qk(PH-(an&L8Q!|7H=~l^BSLO z?iC1e@*%Cw*=?%)3%+nm{Z|-A{Ya~CCx3R{=KX66%L|E$fo?-q zCoYqKV&wYQjg&qZ&0r5Mx@x0e6eCyaKdRlP-X}U5%bP*?I6@{>b1=`z2!ceb>0>#) z5{c1SenpP=gmcWT6B5m6^kMw4h(WDASAOU!I)kf(xqi99w*lt=uQghRP(mm~MKdsbHtavkOid_du?$G?@8b z-d&Tod1jqO8xOEL`FK7WrY1QIsc2v_ufgYPhNky?jNgUZjy1O&=Yv2c2dK}Pdo2L6 z)1j!Rw;}y8BRjAv!sA48`c>u5_#K$h8E(i}h7Pj1N)(P>pX*kXZf(NDfK(X}bna%8 z6A$Z6vwTL{P5Q6mr;VSueK&9&sg_#(AoH46NrSJA!qDK#ow$Rt_yX zwnu9IyO&q#>;@bws2oe{T%^^&Wnz&)cqLpU*bW8BY~^?q!6|4VjKigXW)c%>X_E1D zQ1%Ga5Jp@`kXM2F<`460&6OZzv}no*Fd}pWs1_Edj<}!=ULYq6$|-jb?=muDC|NiW zr<28v_lBB|H~v|8IW8>bJCrWP9r%StX&`R#O%WVdFi>9r6pjS0R@(|EJsCFEpBE_w ziB$=e){7wzmTbh}TA)@~;7jfP=A@f{m%_|2l&(4lRp?VW%Yo!S(C1E`+{zp4171$p z#}}*7)zC$3CKf6+?&goH9Q~jxd61k=c+Ib+*H5?G87%o zyX&Ta`aak;tzDlxNTN+Rx3{l~XCJCoa^&)c5esQ>RagkZyZqzi&O-*T1+RipS7<^W z0yy%s(XA@SXD?km9fACcn({S2H5l16zK7U@u{hcse!E zCB3iu{-+R}L#hm_LjnPbU;qIT{kQ#>vy-`%<39zM!d!FMV87kcts4`O;9@rJxDqMy zm|v9jka29hlOe#Jf+7}zWs{r*GFxj}vb~`P(qYD%vIb66dLf{VZ4h zCjh+3M@=ZEG{1&PI5&5GTyE@sc4;`@(0r29v>GnlRI(5W@x5e2cY0&$xhGPC50X&U zM;(UHKB<`LV2M4RCZIpb4Rp-1cW=g~<>bu~)+v!Q^qL!3*0!45n9GASrrKL^#Octx6g9D_PLH-=hQ5hzagaCSSrEu*VcfqKX zh|UqY0_|H9r%R+(eN%0)ckN#(QaaiVq-SZP_}6phQ7(BMw-I6^5#be<4hnM#vs~np z>(0J*N@W3B)W|t(0ry{>y#NxiOou>WV7@k4#OM~vL#gbA4cOb) zfai(f$boV3@YJD8J|2+WpbK9rhtpi_5RPvTp|iVucer>n2d?NI-SDQxy-gU?^!lh! z+LlwpQq-(In=&I`ZaQ#DwCS{=LOu*RarK_02Bj?0u-(30i`)!_N1PUhzoc`KQf`>DQY$mBG zm<_1UPwlQK9?|~teYn;x?WG%LM}9?{kS6u+WOjeXOy*7ITDe`lrD3TveHp@FI@A7` zx@W-8fV|dTe1F~F*i2hpgL=69&I3Ss&(v%eqB@WS0`r2Rk94xyN@87=((1u**p1bP z|FQOtqLeJ3CyMMluSPZnJw2X^^{!NTG|dz~-3M6`_vd$C zy)NY*`m*JEEty5}zohaU-?D&z>tIEtyKve3;rXCK#CqMwf#jy{;4ptRS^$nO$VN!5 zP`Xo_(|-$#xz2y%SV9So7TBeX$<0z`FIN+Bc(&tx5xS7NF3SLteu#D;54GX^s4z2u z>bNRcyeYWbQTw$y$#O#w4>YAnM|MQ)AtlX-oOBS-c2Wy0$0C<9x^=R6mjO8NVtjc8 zP;EtHFf)KJabwHk^K|&f$-=LfJ53SVUyKx`;MxDGPor%~~?JV?j z2S$oFNfnb$t}~WG2gp^C+=b4fvP88Z*W?~SBe66RML{e)n+k%eF+K&$QvG-WHYP=q zIlHoEG`M-3$pl#yHvn8iB9!Lejir|y8&|EGMHZaFF$ho)>BGZlzttvKctL}x$e0)1Jm=U>J8q? zZfc57MKqx=al1C=X4-P^#8s&n_(s|qpYI#=k>1S4oAFRx!%8(}8014Tjk8O;| zuU!PBqe{4pP6UQHd&5mA08#d~KWiKbI5zi*9S=-Q9veaWE#RhYGaW{KrUS|vwUkFmigz#}P z6Qeo4VtEOkk*EthD$j@b93f476~o7++*M3poqWYM ziFN)u=lUpu^`@xVx3^$<=mCYo@MI5>+VdxP&S|^0WE-9j_VN?2+Nfa{ z<{LdJdHF2HHD|YL)V<2x|Kv_DwlN*RE_Fzr1_yD_z+y=e(Y!Bz8@vKuB$vkduaZUl%WZC& zUc3zEKNRIN1@3w;*cTf^^Wt2yA!4=VD_? zlx}fk=+`d0?o^^f0#5obbKsZ zIRy+Z;OS#ZX;oK^?R@ZRqNvuDXmuX zG}2$2Ll$lx&6$Z~_6P$nkq=C`As8;E4M=(}A5Lzm)kylS+2K>j)->vcGbn&xTTtgj?Jz1QP z%=bxJ;q_L8Zyy=_zg*5)7tuXka9(yjPb?f$tr6IF5;TiGe$S4N#$u3!S^Lr%1df}b>Ly`%0d6^$&(*awLs`^l1)FCs3! zBxvkL-u1j%Wn_M|l^*QL^g60>$sV^~tkQJi+~Il8KW_`a}mAko=rD_+y7(y^4UrlaLp~j(myt>lC(J%WOo9(XZ9PHA*cBaA@)Ys?o zRZy78zKng1q$>tuWUyN5&pndQqEqN82D6-)>Cpz;W$;%xig%KB-l>Xd;B34P?-O=F z<2oabxV6nK%@f?aw@nf!+M~d)_rFduA^MEZ+~zH{xB+#&`$NNIr=usNr@{|iBI)b1X`{_nph2=ib3h@HNnrM~I^ z*(})FB&lltqwb*k%+wHmu1jX zZl4l?1Z8)>PPxH-zknuU5zFWn>#A=+mKT_$2F*>&*X)5vQrf`j)5MM`&+DM4n+QLo! zJElR2H3jQ|rwl_?X`*Rb#9sP}I3N2CyQCP)L-|aH7GPD{b24S;tHQF;dL_H1IQ$^o z+=qU?#av!S_>x+#WTf=CvIQG(Q&_>pcGx_Zny(CRc8_rY(PblbxP`eEV4Yg}btUn{ zF~SMCC3PRxo==2x<$I2ix%pwhjyWT)kRS`o!9!(%pgG&lgYrqrM0Y>C8vQSbhb#Fj zvf*+Je&H(}Vsb+j3%MK*|8D;CajQRARJ11A(mI^D_uIj^;Ec3*lnMYsp+D}()8I>C(WU% zG2VtK<@=YHvfIZQ?pNZ<#|5>1YpOx12P}Bqcc-fr=fczvH^;SQrzS6hK2aBI=_7LG zR~;$|7|aAj)TxM!?1@sx?nlffWUyNZ6s1xHPD_Oukw9DwVv+Ze1Q?Dy_h2+Vm zP+9PivxLp$nUDoyDk@Lp=XHe)F{!UOJ!a11wZPHnbujrsSLeera?bpkExYQjR8?a! z{Di=_N6I@wHM>|bi&=4AWuBH-omhDzgNL06kzw@~_VwhEPUVNgSoy6@*&FbuJL?njKOb8ejg$FV zRzN@tZNNYT|F6fEgt?=W?LY2~wb50VxhKv_65*$IPd#)jeSk#A7*P0DaETU45j-qq{#t3kO1|@WOA-35O9Bw?ir} z31A&h+-ZF&2cPt#^u97C8+y%?%N`ya-*cERXldR-2j91q-nuJy?=T#oAM+h!=tA}_ z*>`d^YEKyc5k`gd0|Oqs{7!K?gXK4I59)5hqGMwr!I(0ID7(8Nh~< zC;Sd_JgR?V+3;?J~B>`b(vBnWwp_l-H*W zuxqg_9sL;Fr0J81L-y&n_HC`I243jmojE=PcK7C~W>=ioVcE`2GH{=AiDoG6+IvgR z&x#8@Y+H8FS2Xm{pY{OXJEMz?%U?1OmeH;gbOgHcy>(?*1N^t3L0f~w6MyR_?YcLt z>b-D!xq%LMEhvDTh9Is%ATE)Tk1peza6ezby>2}^wjL9BXB=8tQfD$ab0Mv3ZF6yB zVs#Kyq5fr{oGUTlez0Bmn>r;xo*8b*v*&l^ri~6P*tR^nBhqQd&)n(*wh?4N!?NTkw_uAQ;y=!0-mAMh&XT{Zf4iS3EeTg{}w%E9Nh=*f;?36YLb&e(B za(aI}R^fiK1n>|x#okPvE!h45y8z$M?{oLn9cX|cBZzI+xO;7kX!rX;!!wFc`@ORU z=1l!XA}h(j1>)b@mIbFQnZ^skdNzT5)K-9H~W&k>FOm9+u%pEqlI+-Bs?y(+K?KK?LE-D6F zhnycTQ6cSuK}KbQRt@wtqYjD=b7NT(G7~uKKF_dbPy}Gk&-9MHHPG_YDDMaO?|>88 z9?w$BEbFDu?n~?O@sw?7v|XD-EE_d&AjxJ-fgwQET!_<(ecY_OD?w<7P_Fm-*9VAW zCRf%qCGHA=IH=nUFvb1lG|!_h!fR9s?BXH$*};Jm#7-o6k@**k$0lnQNR&GJAH9{4 z=f6gReNMcYU^}2o!Jq*N?%8xHVL*&PB>m^S(p;*1G0?=~a#Y_Qt z9QXGKcJF6U#ki`_(`&nhVcU^iF=`$x#pd`cvWf<2qs|QUp};y?GJrp0cm+(iPaboS zhYW-YVCjNvFa{bqH;1{Ru@UbIA3}eVb2+>9V@Lhi7p7OjFl0OjtK$vOZR7DL6~KVl zQzndTMoKQ!lTReXvuJ^=sM4-NCs9;3tNahOO`-G_UdEOtW-`q6DeNNFA@6SF^X4ou)>}(3 zbHbHxVx|yGN*0R-AM!#%v>!kyBOya+YfBB zH?4)n`8(#u9x7NYJF&XxEB>zp9|=u3V}CL2DtX1!bM)}QoVV1nDC|%*5TFH{!@{!Y z(28g?C@#Ax^R$vcPNOOArPo$y^r}m}PexFsoY^$$Q&$nk<9YmeQpQb&{+!-z$7#^T@q>q+sFI@_E7a;{6@XH50eW}sV>c!q|eE=pg z#tBs8#`%8$ML@d0R%}_(_;df20pR{?_;uRE=1$s3l9pW)Aft06!{5I7-|FX0vW<~e z1^d&@<@6vZcufkWaYE7%^E|!-F)v1J1ifehGAgWfo_uZ~d|?Ytlrbg+Jih5KL0w@c zIIfb#lhTA9SqxhU-^o1)UjsAtg#U98XU<`Tzki#pfx@|ys+FDL+fF7p2dSC0FF3R5 zb6LbW@G#US`tP!3Is>JG#Yk@}be+3=$+tbKm+j!$#1qr1qnfDgq=hnuWy*Ns$;nxE&c8>EgfyxDyg3yb*jae z;}V>dDfFmHp(mvo6@@NCoev7fEd*-ZNT5!u1Zv`oKAz}?`(@}D8R!T{pzl0LtDLj~ zttVqw&)Fjg#=?l^uc83)5C2fZiC-I}4ecCcs4%R2`aj9ex{Lu}XV)=+!8Xa8jX9Ag zs*l5Q0C2k5Z3%QP<2f9Qv3MYjLiODzsSRtY(uA?kjY?NKYP`~8-`F6e>Db%7(+A;k zu#K+}C&h#-4B>Z{9v1fk{hzt7GNm4Mud{w#?ceuK;c@4xs;Jcpu#6I{|3@d}$mwu+ zOh3Q`FY%zK9yt`1{wlpe#a;w+ax6?=eu%G(c!Ru!Efs_g#iw**MTu+yXR%F@5^D+g z9kL=T9`TAJv*Pfq)kRZ2#HjTGHG(LI727J%Awwn#d$qvj&>#xJeH2I!6$)0B5PA%&`rw(8wLr=^-F8 zrv&M1sih@x%_yG1u9=hMt^24WjOhm{M3h;QO_ ziAKIgjit;n=Q~&y+JA5|x|RiK*unSjzbU*ock4WZ-_a!BTL4$=BOmKon_vr1(v%za zxLV;UE)xdcBNVYxGGc!BZ|4;S9sbp1eENG>VK$oIO*(dJuCektrz)1@pQuJb`yGJW zY6HT7b+yiuWFx-tqLxZ(k^UqM)_}C^1*NkGN(aCJ0F1CvXz3pgZnwp&t?`f<*<$*y zN7vic@({=qAqZ>V#W!PQvQR zhH2r@9hQOiK8P@~y~4z1un^&s?7|yGq;Zb;F&)TJ5PvLtAdu-!1{2M6$6bQLJh|Lm zfx>b;IBT)&ge4QbKdMRb*7Dl|)_F~)Crx>@uVe*WY>@)vG0sJz!DU}^_2`Mkt>W$M z8g$ldQ~S>J&7zN1tp2z7-qgRR8iFvf`~CT=Y(J?gPii`+>P|X0;p616bb0lxr|AIv z&ljM3T?2VtF5?Y-mSJveVGfkc5tCv6O;>52%eEUr>&t^L%W7aLL2~wI3HKT_69<_X>b$8X<95vkLs8KQQu;ff? znVl~bTxTFc)JV$$K~|>@NB1BCgc)Pcz^)Wf!$Q%`kGg+OtdS#vJ{nFJ=?_lss}lP% zqqT+tD8B&eJs|2h1;7B21>reQw!0i2zK!2{)>kC;o@J6OkvD0!WJw7i>@p_`ovd%t zJR?=6XuZ^5dtKFi^SOok+@f~1oS@WKbB&5yR&7a)TZ44B-=iSVymvtQcJevh0$b-WF*SP7gfB&IZ&rx>%j6(24023i(IS|A;|5T-l@WKC}{ z+7npy($H#Ay$jY3w&^8kINLi0Dr0Uw4c6(^^>%sZ6m1i{YslSCXip%s2wsCR?vVQT zKQp2%BsBBE!S=TaYG@<^$8d@2bqVU6fwH?zI6Me0bz=hte`odez{;(KQr$gqc8a3O z4#aB;L14vJ2h4~)MGY5=+LROslrHfYk*nCL*u;*nSxZGN1vh}p;kh6k08he$xXtoU zPT_c=LK&FMzj`s%*nxy6MHRppnWiHE?L4@KE3t0E6936TI>6gO*K-a~0a{=17B2TD zQ5q73xYDwCOZX>QdofhBOnk$EA5h>VHLdEOzkU|!gZuWygytq`^csXDK5Kma-{2HP zPJH#|-FXm=!~QV%Zj-Ff&%Z&-$RfSk<+12I%^b~(-TRDo7-y=36R{ll68E~s5C%AD zGSyit1`XdWmv?AN=(ACbtOv&ajkkt>k3+-WzFWiF>3X)@HNUE&iCAR=r3{g5nE(pb z@mW;rn%u%qjE>wd@>#G~B+JEKt*h9FzpA34&ubAc3)G>u96Q4?+*yAXgMK`<2*;|p zgB{Uh-EzV4Hi_xND7bax|ffg=@6&KJHXCAAaC(D>4 zgV5HGv34KA~6 znZ#=tlH{|>%w)PFdj#&uDpK1NVQImbBj$=YU6%Idna#_mZ_P&9?(Q4Pkm6}Rs%akD zDDc^|ES~uGaaIS+8i=70r^3HDj>*P)nIXy!wFUq~Yc5Vw)QTnlJ>m6dFk%x2q;y%b z*TbLRuMJ%E&tWHtxy+($WxYzauj$EKq~rSsHKx`FSY?}tN}awQHt6eNyLJ|}ihlp^ z+=~cSDU3fM{Q{!pjZdr8Yl9|=U;Gt#BBgxm7|EYYUA3aZ#|<)rpo?Zb_42H%t$)0pLQ9FV!%j&)BcQs zMY2j!o3upe+jxEFove^&WAbT1#;7eXCu;Se54(l`N{Fu`uY^~Hg!tBYFL_8X{WkvG zrwj)Gsx=12qkb6&i)F^{s!f&xI<9xCODl4>gh)&oiyT7;Ou)l^#+r;nJ9uiub{zTv zBP3yUTMP`~@f6TdLJu1P;tf+4G*Po`00v?c(B+iFSAPwStD>5ae>TfD0_R0ic|+2c z0Sb`6t(movF+*0?YCq8O>2pj@P3&$Z^dBw|CYl*@4;u!uU=o^P-@(=2f|{O`EJ8{! zq;Oq3++{Cf7zv33{PZ~kz(W5fVMeqhCGuJOm+`id*5!*9o*p#zPuXgYu z_u4VaiU><+%(O-y*fK>6#b%O5$tJ2M0S*1A=6Qlwm|Iqj6jwB7g|N-R?%rf2MoeJ| z{1ZifEMwN8X_lf+omt+Axf@^WM@$a3WH<(}iMJTI0;dH!4j(X2RVN|Zce%PbPXFd7WC=)7Nn8YG?;-*pwG%$ z(|q;}_lD`cE=iw`PBQh$uL69UVi`rm>Yma#(`Y?LC-XkyxpYK6(k??3bSPMS8v}x3 z*ffzK6v}K=Z|x*{I4xfIvOUzQ#6%dwxn}qcO8xOgn4(>r4?8j=!WPLs{5gTpH7dY= z0eEb@OzRN2-+kWiF34!FIMFDKh-BA?6Z?o;uM=r8lZ8vS2ae#?X%&vC#aFneZMP6t zb)JUWg3h-l_N-u`M*I@T zS|uu#WH?|!N$vzSHi0)wWaY{QwJSAaDJrcGs_iUKH(Smr3?Fh=5*t_-!`3>^4;FgB z2Ynd|*4mtt?6UIiF>jdy-|I%pEPhlv`zrAHH7aVti5dZ`ZJCWUzMKTnF}r^&^@S`( z;_n}s(4GlJXAL{D!`4__W1Fx#VtqeGWFRcr;BWMZ6b8-`KXrgY zr#RatM+Qi|gLLd-DoY*OrJnRh(F0PIfDR8^iS$^HLnllh%l-ffd|C~3>A;BXb$^@n zxxNHZzmtY63Y1OwCg*6uUC&k4DEwh<>sRn_Q#A3eh0X z{dERxZ;j;upTB=T8XlBvlE|+;Gwn()W$sqVA-a3faQ-FlO5WG^PFF0>)d)+?(`fu_tDm2Q(nOP8!;&3ZI*;-Rzs zmw0G|O!1>JS)4ANOSrK|L@`udl) z44kRK#}9uMBldmaze;YKK=xO}7tNO>y<%w`utmFq7A@ zKWxnGF93&c<0UcyxHwG71io@B654@xUE?r(z=c#X<=3P{o-{prfOI1{np>14;Ho|a zMf#W875H+7z0g*bN}^c`jG9kaqy^QGJP-DR)m*rGF@p*!Z#V+PSYGZq%mh_w*m%I; za*+0eMss-iLxxQMlqR>+a!rAljk^-7#o~PMmn6@OT%>ZDm0>Zyp-B4$Xc;KdpnVRB z%;5aPvk%{&Up)Wr#mjTn&WFarIH4S&lLzUTCoK>cwz|Rnq!y0PgF(Y;AtMa5iE2!W zek!M-doJm>Q&{_1!q;@+6$2`XQlr|8%9?$Z$nLPQWUPH?{WodxN*?Y5fSc&GdAyAS z&iMCIdCLa7(-wPO$$e-GHHu(}48GPPpb7*{Yh;9BZHiRQq4+mjn}2DEY23GQkZ3sLz(id3UX0>N{FitQMN##w-{qE$__Vkl|#>q!7^EpP;oCE zNiuaBCgrD0srXyjh1$CFDtHYWz^ggTuj}#|yoL(Ax{SYm1(=5VU~q;~8?03DohwE1 zS0nw^sQs(X)PYtR$H3Vzg*v; z4qUC*+D&x2hYScfYv!;&9CZ{s@>c80@N6?1h`@o(n+-z33O6Eb#F|-Hvt`2!SDj%P zDhCL>wdR&Qkvf0mAS7dq3t6Br#jo)~DS-R+%V#e<9aW5eIzUd<`SBBwl^kD7QO7zQ z&`Cu_mYY+!Bs8y49pS`qWCP131W9PXp!7o)NCsVT!yrCX72FGKZ* zO?POpLUEnJ2Y*sknQLFdF2NJ(pAJ!g|MB22NEwf^mCoPb7TB>9w>br@lbcRU$ z%((kIRTz%Mof;`}8ug=5N8G&gPwZ2K$00gpI4_!i_9&8TQ)5aoO`ou{hnw3FWLUq? zKK^(ZEY=6*CO6KriWZ4}pYz|8yY-O&!fKW9Z;k{1X#lX6-&qSrc~19T`$dB4@7{fQ z^WEF?sUq3LEnLc|05iuR2-}tvYl|0-H*?TEQ8Gz_LK<7)i8P!tdrW?Kx+TNIO#A%!amHtFGp!0%W(uhj!;`&J&*$!*LIcyRH>vfif%#jXlFlP?hK+vq*e;|rL3-y__P@iL2+=*ITIPM^=WK^~>ii9V2T^PBZZB2lh$`X>G zn3~oL6}i_XOE^H~062ziZh%s+a7As3(&&Cr(t7b;a8Ij!pbcD3yg27ghEh`+FVUX2 zF2!Jq*oUFFNI;v|#iRqJ_@0mXp2yUSqeDY+NoJ|U9+J7*2;bY7?nNvx72_>`Z=$~! z-h*XxvCm)5uA|l{hR_qOymRat#`_xEeMPN>zr1}>ZVoAQBeSWWTI~AX2kEjHCb5HD*BXMol@m}qx!zkAMm}YR91AIlCwa2plN|r zxgWlnEpNE1A(i~WGu>_KS)DSeFDXp6RO&^Qc&WI%ol!Ter3n>tJxAK=#Ai8?CD-tA zRqL=2BOU33!W|q~e@OBbJlhiJz?@_zbNq!27MRkbiqF#lD*iiVugsQaN~}$Ufu~6Z zXchiiS-r1KX^6xiiY3JW)Nm_7=dcZ(DIjZ>ZV8{0&*qP&!WLmA*0y1L{{7bp$PYM< zs&G?pnh05~J2Rp%(V|*2e4`#ueIupQqXQK2q~QYN z$SJFJ&fgyCZ+C%M`3SvK&ERU8U4jO)M5@o2WzwCB-Q}9%u=9l512&fQn zokl2E3i2Ih|H82(gU!V7V$C~6TT~%DG!k*%kVQq+6VRwRRw8R|(1pz|?6+K@0Nz!k zcXixO`Rp7IT$-Zrh|rT7)EL!uNGkiqycw!MKk8^?6gC%0t#R3^HPAtY>Y!R^pSAlr z8PV&%Y*hqK-)0?*!E?4uQD!2egN@olk62REl%-lqAnaWNmCrUi zZh1^-nER#<)sNZ4J-m5m5{{{5o7KGmiRRe~6XaCzHQoim$Cd97YInUjVPLnJ(;!E7 zr(Ir=Nu4knwmGO>KmnDa`*UA=iTdBM2L$*~R;<&-qNV&?^+OUqH}uqb;^?%S+zYK! zp60UinllDmp1!LLP@=n|y0W1;x_WZBD^;1y@$|GHb2qV<*4(OL9ZGuXsMw6>TPdeh z3dOq*IJ6yUH70S`>V7)D_sVKER4WKX%KL<_CbE}{7Z9_bSWPo}9LHHb3Br==tl{n( z9QQT3q$>DPr;$$o6z6xY&5Sg*FH9~e60K7w*CNsC5>w|2>>t_YF=$K$uv1l= z)`S3Hrx@*4j8Q4z3?Hh6YHFEPcwvb{l&^GBU$+_;NV~IQZg^VX6{ki{88(*}pDnYs zR5d?!qAt#Ta=*FlJ^8f)Q`0l@T~m=5`r<@=u~YJ~M=@$>t6feS^c!bKt@7cdUOqf! zN$6C`hp^Id_t_W+OJ(sxRU{RN6NMg47l5xMv-z&OkkM^X4Bi9COC^NXO$_TdG2~5* z^d`bCL9>!_S=wIIx{|0~qrOejTsr$^d3uFR>U&J4_bN$t=X{o1SA@L5q1s@0a=%+@ z?sy5yHCY)nd!%P?mKztIW2LFzUrnbawXCR209{L`p!jKrBB#l$^xxBUIT4zi?Si(n z&bAyYOdAUIh9-?0inV-aB60AWBF;!}tf069tzyL#Pz8m@Xa$rJD0*Q@BP@*P*8wB* zANAjoqA3+yf^+q1OTP2%jBYz_4w zgVBjc0$UjCqUvoa>4wfK!ItPdWwNL-sGazVw#BS*I6_3SW#xd7>aYi0t6n~+KI435 z7!Ls}X*srWJx@MiN7RW&R_`luoRsUp-Fs8bs~r7;W2!8UcIN2mNw-8`Rn@U#aeZNN zH>bMgkCBLMbJN;uZ_tFtt%oq=l}CEz$M;?NsJXnSSXMY)Z$L}`fGZc@T8cP};eEGt zJBjLdGHTt4pk1hUGU-A)6`x7C#^xfi5vuq~8smkTQY;KJU8%F^yiWSr-l6=%dY>BK z+an4CJPR|pIXaOh?)_BsoPDo-iUK)UQkekXVu`vJVB*3(r=y5Em`e&l9a zbD$n{FtrIjw7zmzBF(F?!ld}j4v_^Ml$e(1RO7e#EzQJg=G;7N(oOfQ$^&>vR{r)` z>2-OnG^^EZqmrB7!v0Wmq7Uz%J%4%e;^n*dFP}fdAeQ$wc(p{x7B!&}hv>yQkmfb0yThNEd+66jEl{94nxrXEFQv`*Lj%h3`Fsf47Gt2Zd*l*$N*11<;gWEY|^}# zxM?$tD&&g@wON7$yyV%%qVagzG0ss1lz$wBxz8{(a__rWr>?MXwMx9HBpxu~l6n!U z7DKU{Az=ZDf^9HcNeZ#Es{&@;7v2*#%G~r);RVdI7$t?vOnD+}3*ziCj?o9AYIIEs zq@b{)>v*fP%!IT(@+dV%Q(w7qOq==CO7SIvZl=+J{cZu4WHTJuN*@G0HWJ7PUrzBi zds^s#A=3#S9u9zGl4i&GS=^E0v5A5-j%%BBKyPta3_jsPC;SCW_sViVBSBc zz2YA87B#t=N-trQ?fjT?QaNOVa=Wm*dP(t_Dof1tseDxDkff0R60H$~k+m)g?;+s? zM7S75xP8}q>+%kME;y0MHYW&Rk)L!Y=$Zy5%~Y%P`_Edx&jsI2M-xvBb&I2hEM|qZ ztyTIpM^fWE8?ohKtb7{Bjh2U2=kEBCO8|q7A`3>7G=@cfD)<{?{f)4VsFp)2ZR{gb z3tN!&JYIl`WybWdKRRUtrk{JIhKMPbrAGq&BsV0a7MdpRcTT?V&+^%5NKVZWZ)2pk z(Im<8k~Sz@Vmt3y;x#2!2=x(n^MlYWmAi9Lvp_3SG{j#WKdO;Ih86S}n@L`9!o`-H z+Z5Xan1&L!WSr>RlHBRq3J4tI(X#i*2|HDUsKW)d9NM812`BwgBWaw09*TKg z+n8ER;5y4TPkgo~*^7@#7D0JtYU+y+m`EP(!Cy_Y+PxmW+1m^L2J(Uarm=+^oT*H` zhk@H@^`ro9_^s(Zbbha|@J;>~&EK?Mv3}Cpvc;m|H8F6ynq4&GV-RTaPdY(}8W@7+ zOG`w*f>chzZt1DiBYbSan~bjzZ9R@~v8w_=8#u}~cGh+Y@jyD{suii(NcD!PY>7U! zD=lXf<;CmbI{EX7DWeVxn|mu$#n}t;tQ&gc+v+gcpo-k$hg0iuaLijA{>JOFctEc3 zk)pSg`dpYt710+Mt6xE)B;Z;L5`Q7mUl=ug0nKPsNk~iP$il602f^=8FW-N~I8JH& z9Gbno?(q)EdNhl<--p%@B}FI85m;bS7QBs<1SKj#n8~OuQ5|p}3zS;;c@}ACDJu$JzgC#PH7UW)>VRsp%lsVI5E zioIeWUQX{+(Jv7dN~FtJ+6s{0DaeflGeoPQhgQwP``k~bpC?P5pf5iq+hqU1)8p%0 zXxZhD4W`^051TXN68%W1;&z`Juvdq$Mc2lrG`i*Jy+=*nxc2pJe#Qbf4_)ELEz$ae zu}tICWQG*!JTYcmTmdJMJ+{RQyiipFpmLt?{YV+F-+ll7>z5)` zK5~{+($seOm9cX%Ar_LRem6_xX^h<)O*9IQZ4>&?6a$b6*;|WHrWY{d)?nP)cne$R zlC0Z#w$svvNWw;TQS;JbD7n*PxZ!DsPHqfZcwE%qYDu*mmW8Lci(i2Cu5{r7={apF zH4#O;0LPEVjlmkCO~V`@tke9sDbVznl*Pq21^jJ|CIa#3@a&H&hAV7{|r5X?$z^_tZuDBW2T2wNv&C*I}k&_NdDgXp&8%7Rx}WhDpaj zg0@IYwB(r}^HlKr-vfdOT91-sh}4MHNdoG*wm70!tesHVui|6f`i;`oXyF2fn4>lEk_kF?pnR8qGpUd zMDV1CNYh93udwq`LQ-88w4uy=Y}lBMd-+irc+^Rd?t~uQX|@}&pY;h(OT-Iny?7s! z;3uL4^6xzg*GD70M0*j0i2S4s>^NMEp8L@O;&OJwmD@hb&watAEdOC2tH~Bmj*hMX z>UWm|K=~ti>&N2Az9&X%V@w@TR6%l1b-_tQ3eqiiE>EzAsS!9ht2^d8Y+Hb+ffx^E zd7fZy;=9mEL(<4HyP{S#!Ckfk-Q>y^}NI`F0iv74Z9lz9}r^@OJXD| zv+IGHmFYA0rRT+$n$_EWcWa4-Wz2hTD;x+nRR~Se0 z7xpbFiiQnsh~!cG)?4FVB~Hel`W^oRV~lo}OQ2gI{ycg#8VsWccFhuMkA)t}dG{z5 zsQkaET%HO~PmE1<2{t5|o0t*_KlU@>aIbx=ype|0FW_HK{rqW8I(% z@$~Pb#vD371b(X`uT9l3s%=KUm=wBSsSbZ37xl0vU5=YnJIHyL7BIFj!P_6 zZpiYhcwJY6c!MTMFW$4ZX;{NWN6i;KmgCcHxuVkt9N#_Lr9ZH9w~D~7zFGX7CJo-L zh8?$By7jwlQar6zRjJ%|`EjKKl;?|gUo2zltk~rXE;Bgl0H9Jm7m*PQx2mZ8^~T0S z?LA5~Y}SF>BEA9jcz%GBPK33+d*+Em=9_lsj>!?O++N+XkB zum8@^?KAUVrb!IrgYK(QTQ#W}AEFL?7`EfXs2d-mwjLyHa6jpk)XM2c9i3llabwts z8^b!>=z#1|2V}QskkN0~A*ZQD$1m@O^V{{WVaShkJCW1QLcsrs&MLf6-S;Fq{b%13 zzxb9%l0q%yJaoo3S{Am`vZ$MugEZYu^w6h2N~)}_NLS_T zVLN#nc96FgyGi)pp`8riYIJt*J}MR1J#9Bpme1ebec60iz5CHU?ta*Qca3*5@s9ps zy;=Cc9@b>VJFs?nJnVqD(^{$Q9^G4b-MV{9TbcD=&{|}B=cpqBFIGFYQ$_C4r<5u>?%?L=ixoTIcgW}M%|)a)F|3@ zDli>%FzkTJuo>4T-F-P4TWCD2bICuj4-BH$>2KLggTCiA(|8EoJ}EP0A4!JY@OswH zd50yQt#wt*)eyFe)h>&2{V= zno|6lojmvoM)z#XQF8?&TcxbFV@GqVj#|Pyk_8R#*;S)vLBocU{P$_N(E>}gH$9Z) zdQCt&2m+;^U{>vv3JMNLXPws8>}%R$)V|cH8*V#zP?PPTtV@(S8MJi;=;~Nd(`bOt zHtgydAZPpEquU2p>XjAUtA4Y0^I@ZHU2T$!#n@yAzWuh&on5&6V# z{xNv~O+RjzVxqDw*Rhjf2ZtZZ(oVV>ZZt2=E8wv4~d5;la8Yq{f4bQ_%J%#bTl8v zu>CMVzAX!z&;D}##t z*W{&WYHjh*Rv0zF61D?N)XqpcMVC>xrF_(FDW5d)tLT268mf#e?1uJMk$>3Q3*z2w z7OGO!uu-ZSRRb7@6{Y*0sAnaqdJlbF_llNA6qQid@Ym>#^4qm6`ES-?o^`e2Xx`*m8)ZB$*`#b25B}_FSC@|F&z`n_w!vvw zYiKYA*ki9FNp$+4^_;Y?r&DYwn^YY^8+J$qle)@^zofGWpT%)kmyqVOIBq|Sarp|W z7UTMEApZ#sNO-Sa@0RF6d)3&A2FY70+{wAI>1DdaxD%8!jDp4=9CvjuQDT%Wg^ZbF zruL@E3$`g{P3zPB2BuW~d#ZE5F5wtH*`|J_+R+X7*J}Q*)Zwp@cJARHI4SoZuZjRs z6_CZsRcAM7>%gL#z_eIn!uD9EdRt7{{NB`&hQVUg)$^qp4omJmlZblvbY$(x$K5?; zn&%(3!^E)eK+U!~o6WSa(Du(p)z3N#*4YxK`LkjBXTuH*2%ET1*bVnJ)G_R&jz6op z3ZBxWyW_{N-U~&Y^tfH@?lRkq>m;b(sK*MQUT0U4CKwyHW7MRrV@L-C4I2fCVaI6> z{~;|<_#`{KoHUhCsezuOKS(R4 z&{W&7qJ`oen=;=m6wRBureQzfSjiG;mR--AwOf7JDCCEw~D{Q~}@E=vhA1`j`RhVuR zNo!6k^7rgJbF8bpe~-fXjmJ9i=O`8L|3yXlY3rfhdNa}g+07cf({fN?$hSP+cb2MB zrA_Rx<304MFI8u%)})fj%$LejD7r6Q7xt-dAEx)i9+9K7&5ZtYm29y#53CIN0sM=K zn8sM>eEq0RKs|lb;(sf_Q7stMV35*7SjLaM>uiiQct}5!`c4RS*Q*Qrn@fQ^0NKau z;erg%-HMX)b(lrtE!Rxwx(xs9XX_Hi{2}XPbr2i5%9G`y|D|=Z50xE(2;iaDsiZ|n zEkkE?##Y<<(=DHlLSCEW+0n%G`M`Oj;vV)QI(5(3AMX`Wu$^(K&md+N6;X)KLidsZj@arkIomia1DU5Oc$>4J?CJ-ug_ zk_Xq`|Al=a%4ZRk6g@j9YjLO(n}WM+r}O1=tY@69ldd!KX(?Os8w5cEm?5ieCw^Os z#xnf>Yy~# zU#pnvkE$bXM1PMxq--wY{?A@9|Dawmzh#FOA6vy1_n6&t6(r$j&#|@;Yv&v~;vEE^8 z2cE~x9e5u9S{-=Qn^Yi_7a;kLI$rA^(3=MrFuYgyoLUqab0^)Vo-?%@A2$f%BXb~5 zARhIHlSU~CaCnK(qk>z5aZ(cLN#A=m-oxvYD3Z+4jQXS_NX6?nng9nH5Zf? z??Ba~ekoEeM^(%DB04=j4W7=?kC3V}xJ=hn>~oC{_ZU-jx!%~1*p&xu{V?$4ICy%O z0iGPvUnjv+0EPm@*-!Mt*)VttpS@0YMf{h)(By1H9ETw(%t(*1-(S2$of(dYJFq;> zm+AcWQ_P!|aQP9{4+-xF2|V&xjSQoE!q9#m-%|6N1D<4JCyDN@2}uWY8#issr~>sQ zk$-T6=M%#De2O>Oj{TuJRN#rj8yh{ax6RJU5xIAOqlag3x+#!@WVuLZSd`UFg5dik zh`BZw!7?k4NdJv`Ayu0H5D?rmZ+b%Xftv{+7ur8Cl!s1YY)>MrPv2-b34>HSEWG4* zB^4@#zqo2kcv_n!8j|rE-jT!wOCfc`iE!`>!X}9hcpfKbli=y>I?dy&aLfxH=>?A- z0y#r9vRNmpZWU`WT;dXPQ?Q`;5f>DPLmW+l{in;%$$^0-HfBAc4kaS46joz>8l8+!U_b$M zCcTUcI|_Z@*gc#oM%!o!Txdaqj=e#2LZLY!Oo2LSYdUHS%KHa{;Q2CRB6fT_tiQ~W zp_)AN@cv*ha-;_{hfW_d@>q{-+|7Gw^(xfC94qm5it@2!TJLle^@4qB?pkoB7Db;F z*$QS@rkJd6Ta^T=_e!wE{$SKlM#{sJ=1I%7sExrRT^l8eqMAbS6eB&w_#tOC)FVd^ zrz^>Nu0o&&65xdd1#3poCoKA5pux#Q78mM~$M;`c+!QjT6N=wqjH@*I(l#KB~xRX*QaFj^66u3ZhAy2M84WfdFQ zl8@Lt@xs4hKfH`Tr~#`YdF{ym@r1dC%bvuM9)ax-fCED)W7HuCAkC<_OIgE zUEoDkT9KMbFxHCRCZJrwJOkdB1GA`6(X2U0qgnI@J(LCr0)@);4DdNjBgFDgK{fMx zES)I1DdgZY^(V^#N{hkWYU!Zd(k(Pf!)W^OTk5{xbcP*pC1#nwBAa9R;;e8(iT&XbGSDo9q^d|Ga;B=dDc&c1vG2zIMzA;5M-) zxVbQH9uw&L2VoJJJbtHSzPN z*-H|9$U*o(Trot;>#H^l$3(Yv>lcrz^>9J#7M4Tk@qWf?KVdu0c*Ako(v(+)-@_5V zl>WYwa9|?o;XVLL2}ZWb=j{=9STx=W1*jCdjlh#F=fNeMV8Jb#;o^arZKVhV217kk zHa(&sI(8;TYa>PyU!pk;{(qLNrC3H)va)eHSZ1}+Jk-iKg>9&6Q;Zn=D@Q-@r-tfN zO$vjYo-sLL|3d0Ez}6%Mm!q>&M|`P+Ash(Txpc{&-uoxKib$^_y6=W*XlREv+Xf7o zTA|`JL&@3EuHIJ|?A{YCoJ{0QB{X$2yf^rKT(nIUl$;^Z2X@ zvIMj%tAp=gIY%rN&*eu@!s%PqYY2M~U%^`Rr%pW{i{xmNV}4?KlbAUD%H{;EEs!B| z>~kO0I&eG*eQ@j-2}&kg)+*_B0it|nNoiA|vqqd_K@P|daHcq)UE8Vc9Z{4>pEHBY z4||%oImWxsUO%R3`+NGOy@RQfAbao{kQ3U|Q8wEq+djvO^jw~T2xSbsap4_NbYf4y z65sH&F~mtT{5s$cPn7Ho{1Sebz?GgN)$~h$gZ;89=VAH)GyRaKG|07~F0x>gWca(u z{VI?qtrs9U%u9Cyx*dQ# zNy343&Y&g9(KSa!fJ14@YLyzG72fiCM@Ne+!xqRrpcG!sRbMzg1B2Y`;?g8eYR4z6Bpz>F98Kl)QLvN4*+>) zAVwynnha|+hc6|Wt^RYz`g0wU1uTDnmo~M1Dd?N5yb=A==P`8ryH_F%$UUoio@RtS zyxpTGmvR2MM{E<8p3LvKb)>+qX4d+!ky%r3Lpcg1AeM*NmwPrU7k}>QF@iwEsu)@^ z(@L5cxfbX2BSVO3p6lGI>cA)Jz&i*)k3~6@*?Jy?6X7Rbzd~0@iMcd|$(Zw{E5Jkk z>bd$9t9(6#q(if3TR+_>gz8w@@d+hK&DV_dgxyR*4ZHj_UkugzbK={Dy$$Pq>#37- ztoyjl*6?hO$>uuY)Bll5_U&WapM%mf@dWKtR8IL3K@-O+H=k%(*42{?gv;%#fkuR8 zztz6?)#2yQuwhg$t<jsEGV$p%?AB$;8w)wc;EtiWlU;Us47@)If3JW*#cRA&($cR}O7OzSVF z44lrkC!3M-B4}z9+Q!hpk|PD8a{1pXI=Zz+daY46<|u%4L|fZ}U0~F4$t0}cOp6lm zqCUyVSXLJ=H`j_JPTFL0bxi5T!_U8pnD>OjNrS(6Nspd6O3((Wo52Pe`P_TK0@6IA zzSQWXOU#$WB*+`}JN6m9hOfw)<7kZ9?^x}(#p6PoGj8eW#~&!N+vlYEOoylXNZx(- z{)4ScZ(+}i?y;s^HA!?De7sE7@fH+^9~5BCZTMPXi&dKKjP!QK9oM(nU4kaZ+>~Ir zP^#7G>4|#vLJ5c$9+#8ntD9Nf?r*aw@%TM#x5J`S-!O$8X4*VsE>$`lZ~APP$bK?t{Zn}a2XsLcXxLm z+}+(_aCdhGcZXqc9o$_9clW`0?ECJyXPSU@qpKr2zy52j?24?eto4hlXO?_Y z=K$rjy%lZaE(iwfj#o3Hm`Y_era(}iOF|C_iYd>__36?DW8T6Mt6#C1GUW4UhZL-EtcYTqJz$2O$Eq?BC6fRa_pTF)jMSIeJR{Ena zQ5k_MJ|Ic1E}t~?0$1r!+WNex?4Cy@XJOQHoaEQ+Q+$kFLRYPhcaKT!tW_6R;!Uo? z7VZv-swSXId(?mArT%nMDb{+gegx}WUdw~OI=+lnO{I&9Q*}~GXNd>3U9&k+6QiY~sM8coAXb4%jb`p!qgIdHj0Aj*O{ z2c2bYLmG2;S>O`8x$Z^Gw*lH#(v4Pksy%X73E45w#SVLZwB z`?`W3L10D_)9n*>4*eFezg`&u>3c!LEd#BkZ>L-eZrr2QxABY3hnZ!o_vD1HHr9&H zH0E8PM>B%&!}f)cR2}MtM(PaH9a`0+sjr;Y zPW}vZh%sp+n&`hBDn#l%;4#VtV4%Wnaw-|;SoP-Ix;!mox^oI~OxFx~`{M5lb$T`Q*!&pYO37FdsqEXll)LvX0 zyBvF`!IRBdv;EQ_Km0^*aSgVyTGzrp278!K&1RT&vr{==OGmoz%yHlKPBeMmIRRMT z9Ywp_J3IwBm5qa=3q~WSwk?~ztR(K4#+vv%r9TPE59#GjBk3n=OFI4Wc~Wto}gqmn?CNCJbNg$(hfEgzJ|DD z*-7b;RYp^$t=K7<8}M!-8A?hrl|+X+K_|ezg5H7dMW?}gH`hUbcEPj+5JdV!*XGhO zHiU*r$9B}tp=qjSU%hsQC4Hz0kynQnG{x_=;xLcSTqdN^;s>(-qN-}a87C|Q)nHOB zyN&MJ(g>x|bR8CCpQ(Lc=HE}_fI_nr!hv(l%6`-Q{?LoXM8$ZJG6KCX8Nf92E`at0 z^)u%)p~>oKGBX2;=skw`glT&O|3D_z6oVknW~F+lx)At=yJz-9V%x8h#;{qN;?66w zK`r(QOKpbE%?#8N+>Tb9+1FL8aV_;{M0?P?1*D*%0h#b zD+xi$-nyZE2>DIFRK9j}-$?1_NDhgN;qdDa-lUct{3YU96ayulChwv2gb=1h+HUm) zfBW$_SazlQW^(sjbRTb&8o?kq@4O+%*aijgnTxqWuu4N=NS*AE0PxUqeFGzZs}VeS zKE6mN^(Cv^`3iShMfQvASX1)jOm|Zn4QWryJk%E>4sJdAEJ%bobz=pHKDk>l`Nn6y zzKrFidybtXiC9`rE8&okzGzt^dvk90UGfDuG&(|tW|HL$GWQIeYk^met{A&vRF>N* zj$>zMQmo0HLt(N8NKS}-x@k6REjmV23*rjv%gP|5?OZG$sTJlLW#uSa|Kz=0AC-Q@ z+CgYgrqFvucP1q+lp++4vU3>SLari-(RF27UX3l$e9THnS&gq3+NH?Ls5`8SS}aW1 zm@Da0TSAR?SIxd8ZQ(wrGEeFkXh{Y#%In3S6+oSeKBFJMB!FCS7G5nb(}EHl$<20^ ztMb9TwGP!&^sJj?UA&&zv9PihV8Eoo8AHy>5C6*io-oEC0`--){To!QwFrWkVVsHA z_u=rUX$*QaAZvASU_?c{&j5L+7T!2ev1gkDWWtIH{zu*y<|Eg1EHa0ugre#)43}CK zYS8s0kU^A@X-UfBL-1WU>1EMtq?D22KVSbqZkS*zsQ8KH5)e>ttvVwj&?duY_uF6s zOs!97k)c&;y81A4wublP`iRu1VdZ1|F$b~VxTr{9;dZPgM|J>Yyd2c*t={y`TWCS# z`(2Gh_ZtH(+OG&f8y-HYqg?R!P}m0~Z0t>P2qbGHZX1HkjIjD^=}>fNGR}I5HU0dK zUL=88f8p(O1q8y`;BZM|QT-7tNYEjKwes7UipYh@6sg#i-y>6ahs{lAzZ}gPZkvS! zWtu?in2x*(uT`qylP&7bO#HX{gV*~-b(ko%5q^JhDb}>aX)GR!O^7>#<7`5y=x#eo z6Y~xl#;6%2pL3xtBU*_TzOIudl%zX<;Eh6qwk_Xv2k-UAjdh zRSdNH#czdG@6zSuqqEA|CS z!crzovD!<>$(vs#oacPS+p!!bTU$?LMUOfFj;G|L-o(+@W`f0OtL8NW zpeaMmLAF~Bi!S@hK2zhJXQsXt+RZMPxS1{jy@J^Y_K|{kg*PB5mK_ufU}<(65)g>_{Mcx(mNmq;wf`Asd|#_TOlu-=_Y&; zQ1ZWDA9B34Y=zel`DtlbDh;x@25frc%|^AqA{e&K*~P4degk{2!f*PlRFX6o5?1b? zF5#R!LTS&j8wEcxY-B1I_>@Vb<5jUzrRx0>YFnmTpF`XI)L)AoRvFiFtvT)I? za!}p4`eTNX3z5~cV1bhtG+1`mk7EC1F<_gir3kgJZq}NNx#S-~BPvIyXj2I=NbXP) zkuMU<63fx?mPU;gN$`N^0-APOiZnVXaqTS5mBQT50VzYzG1dW(nn=?-rU=d*ge zMe*%op{~u$quo5e5hy)$fN?O>=uYpF2nnXKfUeXkWMnEZ9};BV+BSwm;+(Ev+#nF^PEa~74E zl^C`PX@lZb+9RuN*pB9kd2r25ibk2?M=8|Yy-r2nDCeAW+|K~xjHk<^^~K>gIr8vI z$~tbTKn@i@%NTUpue>^LLP)yMur705F&!v+p)Mak#?qRfHw?VSkn*sYOjJAZ464>8 zk#~F~ku6Z47R?yZeK>faK<}900k}&d;5*WaLwwkl=k$3b2P!BBk+QAR_$*-{=xzem zt`*UwgeiHIT+99P{i08W zObE2K+h1-zZfKdDq}T0yO@w>c?cn@zTPqt@Gq3IzbTo}#H%kcyIxm2w^X`W3z z622zb?MSu>Gk-9b6xi#0ge>F*t*G^h03~&QEn|{_fwAxE*K}3AI8-+2@F!ra>aRJ` zH*NnK3c72hQ?= zx(=4%v!6sQ;g6lHvZrworX#c=2_t{ae=6uBTR;N}{MLBQO-u|0ExW&@34>{?B@mDl zUI5YXL8f>r#-AMA4uvbnQ=KUzt(sh56$62C5mKXuxR-ux`KiM!3)Ox?t2B$}U$f1R!OB`5=9@vCCE6TN~ z6&G4o%zgQ$w_*=CP#1V!jOH?yt+o7hXF@uY^BghF>K;nUrSZP$+&8Q)OAWH)ova6o z@W9v^9*HdxFVN*@ULfqE)L-rh9WV=)h5i8Y^W28>|>v_L)!q2f#Brtga z;Vn@~JBh3)#Yym1upn`^V^vZ3<9o@8&#>^pJkJ6SNFcMz74IkoFTP9Sj?cS?61C^z zD*kHXYHiLr@NpPl1=ERM?amsZRx&)d;O0NfFN2e}NR-LaHhxN=J8LQ`ZpPAYXKq?; ziUtp`QQIMtBy|h!(cq>LD4WvJNquHzmw>g;TOglV!5EC;Y%h76U1`p{GnES5LS3QL z6rd8^nQrdU)?4eymWH8B^3BW6=Xw@b`YKx(@;OO&R3o?sQ2x?i zVf!5npl;VcrI%Rj8cyaJ_!}KWNiB3B4g9_;Pe2Pvz?qX08!Ka{SK|d&N+fsTa$q}y z-G{=Ka$h3-&`Wz~;YP{p2=r$ve*t5 zaHg_`LNr62NZl~t^cz)Gv&u>&tXrDD#P6X}X@m}yCs zeg_Mj)))pSr*&e4Ppn+j#t#beNr;Q5nn_f<_iyq|hMaFcFBoFp$>*z*hF$cJ4SQQ5 z72v`vZBvcbPRzdUgQK@8UMN;jZY#+GXw>!o71q@Cqo7;v?6D_q&{eT{3o;JPc$H)9#P)m(A4fxceF2*aQUAuX#|E&Db>U_L09xL9|Cb3tF}tcaj6Rm z4J^G0=CXJ6vjksi3s>RzsWSfiQ8U8$t7F%0bM921dcX*xrIIOiDn&o~&qoA+WaoFB z=Gi>cq;2{r2cU&l?Rys?0)x>RsJj&+sFadB>#p?yxh^u)dg)vMY7??gvkXT=;8|tv z`I_M~&_{>@gOG+R%ee#!=h_)zsM?g9?B(DAnisy`AC|8CFevVYIS(Gj{=n(}+Pl*Jz?j09gidd>cB3r9 zD%fQ1M%n@*M?_PC8Wj`EYOY&~z6|$C+IHyF5&{p0LH0Kg7ylb9a@hk|NP!{+-d<6} z0Z=_DT4}bpl$@yic*Wl9!9 zF&f^OBS%TxaMkwnQ_%O;o9{%x+~`~sRbnfJ`pMZ*{DCk9=7FcZ`|W%Ro9}hNPy})I zU3EK7B>@+rTT2CPJv`8nPuw%BbU+a}+0U0Ac8|i+D8AY+Q!=VHA{IR{d?vOS5o;Jb zt3pocOP~)0-U5j2Wh!_WvBcbWGXZZKB`+fnknd58ImEdQxq95IAT!82Y6BBqU8*{2))OMYed!qCfXbo#pKXS993`&}ZpGW|``0W#W6N zR2|~XEbU1-*laH8)#Kr_R59(!rk8rPD-7rQ|R^njy4np5Pn^&?_Yda zMt;fc8}^z@8tW_izH@C9JV>(WSnbPzK#nj+Zwo2bOn1A*+%~4_&yhsl+tOb2OSn)- z68q}PFnUyj#-Y<4BI_N_3%pmFBni2CX<0|kg7Lq!v?_wbDLfJ2^;U)b$oj4T@>y#b zJfn&Fv0PO8P%9>S#0p3KyMu=G534=GW?IJBh;T760Qd;}C-y7$yC*O+Z9jpyp{OwE z+Xg5Rzykt$RXlS0%T5b%JF11JnbU(I>^uW1!WcjFdR+AlgsW@siL%_~{fl`Wb>Rs| z7no_#2t>pbOK_l{gPUn;9-V0mfnbu^v$?l;CTRq@n>)zbD)f|LtdhoWb$67LnKyrt z2(n@yB9oa!x~|Z?Zm&a_4HD0$l3$v<%mQu=Op%QBNoY(VW}5bA<8Bqv2@Rffwy~1X zG`&HmoO)Zinhg-28x7w}SKwuv!ql%>h&lCc3=|OS7AyG6n2nbN=whfw+yb3W-Vp1<`(PM&tJ0NdaHgs4qsw?rjn^a6o8(N9Twz`~og-Vg@ zre*A37^of0BP_M2aCFTyaFQsJVKZy!?YvJS*!5A;(xnU#jdC}eG2RVo-TW39DFeAd zI}&dcy)E#YGC6)=^+l-Lz-E#`WKqQ-IwOCE#GT}geZ;jo@_Y(5zI$$O^ECY_^$-ww z-Ig_AGoU@V^xi*6A@~I%p~UQsX2WU!UWd`IZz=9hbCqQJ6T3beIqP~qvCO=$RL{3I z*7gFlp9-4rw4%ybf02-8`x2MFfZgaPpL_V7rdv&^9veF~0+)Js$7dQtkLR#~)SsfeX~calA2y zF86}|KvaSb$KUW2#?#0YyrLuaW+1d#mzvTT_AVe3fU1;R{M!8`=O2rY@e^z2-bqK= z8^g#NW9fqiT)dm~6J0PV=CiOt0pX(MQp&$F?I~+6Wi)lq$s=tOGD6wd3xz!9zf!a| zNZNh!#rT4&k5;mhzgO`9yPB<8mxP8%T^y$W&QJHY6A;jPMHmY5mg=3BCY?Q+BchRh9d=u2S5aZJ|^l>1mhG{n=cW#DR&E{RQ>y#(&_ae6`qj8`WQ2*UwVbkLWzj2vweZ8qnVF88Dx0z_lrF)8 z!oC@9-R~~msG`V5-_YYq(!aFfA){Rnf@=jyAY>HWx8Se*@a{8$y+)8fQJ@q*cJ8tR zq9o|zd(uy;c2IZKJJP3^2b5zx&?n@#exs$dOhpToGi5W9>^%y zQ_6)HjQA=ztVf?<40emzJW#fcQ*gfB+5mq$83fiqL+s91yVdMm2iU{vi zZS&OUaA+gYuX`3wbsRRUexEgn?}K|^1|7OjyS5e{ZrQc5506;b|4pw;O&T{xl?zQn zZ>5upDBD}kw2ih`TqiW5%=3Jin!$;cwdC-))oMR@J&lCzjez%D6}ce`Kn6kRE->#o z9N0Lgvelsi6B2CD%5#JfwC8i%`~wv;cH=d%N{G}EWmrYtQ}$xiupPzQ;VrF(X`Vg7 z5N!!@aLWln%h1}eBxfH}H(c9dYm`xbCfm$K(pGw`POWzj4l07Ro-e~^1o>F7{;K74 z!D_@rur|xQmZy_KT?!vw+Ciop4dab1U6E$cC_5n-sHSDdotGSS@dLGM11;`8dL!*r zx{1Qb!Fz(Dui&-r&=WPeqi~>BCf8l_fNh<#|6*h zJMQg;v>aXy8EHmmwP}5*6X(Bv3?*%QG%>pRy5W}6;kIvCe4)Z{OH5FwJVs6h%J2@+ z(l72nCVB~xXF#LtpVKQ<>IY&)=(5<(NFRYwY7#&SF)l}nkp;|U<#UBk)!BhEjd9D-3*Oizw||?QJ9Zs zIMa3(gQ-nUQ;A$wX$;J)>qhYEFbvr$99F?Q@RQ}tAW-%EqBu@_lo$R*2}kkknS(jA zGV+Ao%Fdt{6duMTJR-j_+DBQP*VL$knN(8U+#AA;V!1-s))Giqc(Y;OKfEWH88LT>rQ4Ktt@gUmzZ3_TnaISNPsm3sf>RV^n)QJm;JJNCa44-?YV-=hi}{YHq*BZ4OK)N2hO^oT9oM^klRB#s5jkLRcUjLJVH#@;LT zkJNl)+4|P9jwB)v)zjhGesZBa+khxRQ6~G{cM@g)Tm?~ z<Lm^*9tFc_875(?=o;#i62*OKlS%C_ujZE>k?XI}s`EgZl$ zBq$b-@bj51n35XCTe{~0wERg6CX})_rE#s;DX{5O%H8H@17{6Z#J2iV%ayPtG1wtO z5a%eXw4HDvlu1X23|VUy%p%QU%%f^M2Mq*<-$N}klS|KPw@L?;(rh{Bn&zgu{T{8< zi|iClQIb^LnP5%P6HJ2$DjV=Wt1pni(Z*)xl2}fEs}UUD`Q}VnshM-6BbJ&&TbGyn z9m$>>(guRq0etqnP?Sei*%04=T7DTAkxXn?6R)N(oIk45O4?V=ceo{)o?gKDRXU91 z6U%gzpD|=$g~&ik8auZ<3(vy5bJGv?iE;_Ylxo>Bz4%-_#dpvXQLT4&i%n-K-E7Vz z-t*hfCBa*|RS;!fz(tFAIL>K*^!sDV%H;>?OInmO=Uc@&vFkcG9!wcc@?15(r@z=K zQjBd=XF~%3)SmzVg8$@fretF9;cEI}Y?iEUBflnr`gX3Ts3-?=FhDRR=B7lN)P|g3 z9}ooAcxX(tRp)gIxq5cigiT)Zdhx8{<~0BYww#P?Z;eKufr;Oo)MtKUdcAP2r1C- z(8;nD<}TXOghVybmH3-N^Z{2@;gLC!Da)b-Er!&_w6=v*XPNfTAEspAd$>h_Izfz) zGP-0N6LLptc?hJs6tY_4zt716mV~t1zU!(jT3zo9I9sSr2fq-lbvjeW_l!X93=9+} z$y-jV0LP;X#zGen-tNjx5N$u2Y#db>*#$AzXWFkPMHp?|Uo9wZNi9|lS8L9DBh|y; zrq9l0+{jrjGAjei8sR|DBp8Wa31PR1*z$+n+&Ux5KfIfrlZE#$bOBykENys=ajdWb zi#1Rsg)|J%bkY{kzDEUEY0;l$M41uFzIf=tNL?sv6fyI-6n*hg+*SiWg`iZ~l<3eN zRj0vVbcJ;PoJI&iOgF@>&DI~3(BqZF_E;;-KW(;Y@UhpnH6JEQ9p2dT{k?eoQNB>;8)L=m~{(1b3h z3^pu9SvYnsY_z(%*KfAV)vw#grYe?Jfxk~DEM)7&SNgzmq3;HOmuZs9S5e6hZsyQj z_GtyyoXNnA-m_A~wE}H(3>_9yrYTd8o_?|v{gVW|nJQw`5_+aWifNH((P8}*>N^kw ztwH3YHk0@&a2z=Gu_|5I@z)o4^l9{Z|7scEQk+5^DCbY*iFDKMuZM!hK4#3JRdga? z!IhMxR%FZ{x$zr6FE6_5p#V=_7ckWM4OpIeByK@vCc)0>W{`No8PqsG7-14kB88hQ z66FRyK-8{HYG*+f%idqEWIwIc#MEnzDHxkFkW7p;W+I{!iIZ{GaXW`)vyO)G6z<#z zQ#?hUcHT2TRYx|)^NSVplo*)nJoxaXev}>NO7_qV7lp;^$WzuTiHgOSA_L~2n}gKT&Xfj zP*4(1qkR&@3;9MIj?=eNiLEYA*rfu0eBPxIx8--e3DDNf`kve_5pWwrdm#M`nN|?0 zcxU@^M7w1pWzLdVUg^}h&1FB=T|#Ew_<1Nh|MYxG=}aE?WT(SQG;_+UzLYab28_zU z@5*xq59=I!E#`#_Zb;b!48{8b_(}khrT&+MZxgO#(!rcS$jpM|@^{aJW0vW>6N5^y zIUgD``-R4e)gx^x&zq2X?>jDNY?@)wNJ(LqbaeVMmfGd+<$~xb20Pry=wIFXkux zCXTs+m6X&u`JFIO;!%A%6$x1Ai2gnYpn=vf5mjmCrQ>H!9ICceiYWn6633|r) z&d1H>T8xiA@kyyf5r1?7oL1Ft+6v1|nyG4tv>eZepWnnFmP<}XE$Sstrq*-q;Pcn_ zUy0`;zfqmm^AG~Y>gpJEqnUEsvQ2SSw!l#}8sL|HBfv5%ab38puI@)dwi2A^pc3*H zPIZ63ln&nUi3-*e|54>WawK-ObKb}Zb-gcr7`UzrpYv78#gIIPI4p4Xz6bs%((L#b zJTMJ}BZ4xGkxF#?v)p!}`>EGP(CGuwOz%ow!gTcq2% zRMoH99Mbu7a^xQly~iV0&SpMlEeQywM$FJ4LKpo?N1rY%4aOaZRqv*dBo@PQlgllA z`Za2rPsS;?+|TcsS$;q?;|uIGFK0%d=WTavV%h<}?8NW!TsiZ2EJnHJY>tuE`cND3 zGv%7`&ZzL!s&@;qkWIStTm$%rl2|5-68lzTkVhZg=`t!yXMmdyaT?!c;OIc={bydL z?iDia;AJ)$%w;AS_RMmW^dNeI?cHSurVHq8U+`=CUCuq5@$ICvt|khW%-8aQ2{6r0UiJ8O#@jCcdi1jW#9%#QeX!9Y^ z=51FYD7}JKXBvw`_#_l9J$wLKi%c$-zQ#>H1}U~v2k$C9mTB#~ET3h{J{H`znDeZ^ zX~uB;K!wu@`VZV!kVQ{Ld>U;K7&hvDO>6QUgTaig2H(iFO-ZWd^0f%_43FQ|4$;bt z?kW*tng}O#D$1`a-B6v^W_vxK4_dZcRfTIlaS6DZ<)}_P*KFeu@F*87ZtH;u9Ar4s zXM@d!baYl$=%28cR&fQ|XDps5@Vv@=H|-;^HEzAp1FHPm27bTJdUtj6vpna!wSJCi zQiXa?&!e4}Del|zRW72?TVDuZYpycYKdCqu_Npb?4yS#ijz8GovAb#5YRGBRb9e<& zkOl$e2Sfju#C*6zS1)`_YW~>}{<#S_6a3?it(~!no{gQci?xXp{oi%{m>B&}I}@b- zYgZF@dq)$eeV9l z6Z8Q4%YOVrjJ1W~|LoI01Z88wL`R?k03e(I0L7m$h5ogFhcU3Xx3(}caJI0s{jk&i zhqiw}J_#18it@GaiO_@Uj3qL@cA5Z*$0fyuJ2cU(mv5EVi zP=ECLYyLm~33VoDj{6@_f5gqv&c)fp@qdNS7ae!S9t{9M=LP^M|3oYFFaAH!{x2Fy z|3p0#)TaL%jW!m>#?~fo2975GOQ-yC0p&ah0HFGjl|KgSKU$%G&i|2UVQb<1r*Qrw z)n7z!-%CCQ^CtXX1JKU+H&XvQoYn>&CXWAxx)>Wx+4mvW=`cOC=2>@7T`0LPY;`ke~qsa%*>E8u_hPk|A{bNkp+5iB5&Q+nm zpTyq+o$T#wo&GSR|Ld=3oizWc4*~#aLH=t-Qhe`-Jh0K%96 z0MWmO^uxmXUygf!K3=#uTUa~&8(hXMnpEpY-d{iR{`p^Ug3f<~bG0yW`!}?`R*zV= z51Ih%U&V2H{0Ex7fsvJg*&p$iqkH{Ob<1H#0Y~vo~}3Xzs+U{9lI>{65se z8ffy-$^>Zk(cJOh^B}}lQd8@vR`3A^Sk@j z+|;N#$XEZ(I^6<8tvrawQ2{@OjJ01aROJNe=j!=Kt2V`OtOxJAC$~ZJ@CDl93j6{;fej&<-?^#lo=q$#H!Ob>813IW$?~M_q+Awgxf6q z=pP)mCx?V&g(U9>c>@#&!J`je5Q&C7FIpA1SZt7Q!4$P(q_aLZDWftwESQQkco}7Y zU&An}4_M%ul|}8m^*=ZEJl)!GOJCDy3Tq3InK^2O zWhYG!UZiiv+gu*$E6xHaVzOX-w0SH+CNQk>a$@5SW+6#%1b22kAU#mnGShQ{^CPy) z`sQP=pAx$Ob?~xNb0EfQkqrd^oWd#H`G~L-^LzSe;d;deWs2v%;;8I&IN#n>VMZRX zL_w+^aji7q>6kqi5(1RPo_cOOI&wJ+h;%WDT9^X^VO7pg?TI_|0lmh8avgGTh&)~P zKV5fQ2^!8hTVR6Q@$6qxvRJ41V4&ARvAqhqGtu#d9VcBE&fNI90mBGqlh_>|uz~CaTkA10CtUt_`cIBOS5_GP>6! z4)-pUE3@|^mV{+*~)Ou#3)|W*=0e)Xn7_?LAO%k zeMs>VN`7(X%{>^lI-XQXh1foYDF#g9f;68`?xEhoJ{2LPhj@Phj1eziYLuw^WCbsj zs`Jfn!C=?Ar<;~|4A2p{>~U4yy*T#Bh%9LFGP+6DQXn9M z6a`=QNJ8;YJ!NUPZ1zQ3sUfKh9I5nTeBW(H-RSJ`=B5&S-op+mNt~sWwsRzuYLPeV z@;C3UHi_AGac$MC_;L}7;}PGAeb~3tvnhp?8#B7X*dfy=bfy??iac??K)D&r``T>J zV6WI2^x7KB6I4#^JN5wIlE673<|CaEHo~Sto%d^e{RL{rT-`H)I*1?ALYa!!p$s*X zK3^@sPVx`ymEI6wHp@3XH|O>SjV|YKK)&APiJ2b-=s1hEKaDI`Z}2FX8o0w@1gxN! z;-OPlLBB)0n2J_L?>?Tqn!+pbr2cl^MF^E~r0VgdyaN4D2r7fNr+^ zWI`Oh<>gg=?9n8K6_e`dCf9MaUAj8RyXLK1f~_|SbcZ)=o=MQCl%$^*>T-11krAib zPo0%6T=(tg#<0*VQgYQ$0fS@4W!qu-h7+g_Z?QAMGDFP=k0=}O`c;x0nd;+GCphiO z{jXp`Ncb$gpss6xktHor?}5ZK2Pn~&_ftGz0sM$P!IFEb3;}li%t})|RL7M_Kd@4x zy8S`o(Al^)j>yC~xnkFv`O~~^J)(&ro;|k2Mn5&YL||8@?V{Zjt>BTn@<(zep6ozo z1v)mUci&Y{Mlw%Ck85zu6dSnwK1YfS6Sf75Nu8mQOEe`d)nONW$lQkzSa9Qo>dGhO zYsl?Bf=){jsbP?a<{XPn7o})K!E6{ikZhIE@*zMGPvnUejhtzn+o8wykPktQREJSS zrq7(rC9NS4AxmEOgfp>Psv(aFy$qLbx6o|siwB=y}@j^*Yf$)GXXUA-z0Oqxu2 zABM4vJTHslq86^|gQlPxeXN4s^OM-wb7s^uDY&1Q-Lg2Gd zGM4P&GwD1P;1GM(c}B4TNAne!j8NjmBc~%6cUP;nX?ESsOHC8=S$ctku@qwX%#I!0PrqXP)I$?PBv{Dsfxyc>0>0i;ozkf)H* zLKP6=S6pp%_oW+AF{AtA_mPcB3_~v>Cqzk$qxjIZw)lEd!o|p0#{7@uUryzam&-X7 z0fUvhBA@N%CGZJs4Oioq+i;#>5-FWYLPvm7J5D{d5dOVv32Bj*=Eypx?!Awe5o&dH zve{Fgno9?gc(nzfmJ<`?Xa=^Frn#gOp`a+LOc7 z9?5;`8)$&_XtHAt^i(;Xvejsp;0P6_z0m4R(97-sP4l!+YMVj|1gu@tKUpWxy6*E05H}u zPHz5ef`#ou_*N;sKPnF9RZZ;W$9dQ3cP(Q|HRuJ~e=$(Be5=ETjEBf1DcCMbk2I_@>`N)vy8~Fkbr1);l}0=J5TvtIb0s$^rAUyQ1l3# z%j%waML3Dp(}Hc?$^kLTi2+7r$O$BU?{*<=09T^(iW?vvgNdoFiKY3k zsKy@XqGn)Ez>4O*uca+;N7R|2uBaYHid~{uD59>R0f@AZak@zP2tW>>+1zM|;jg3< z0Iy@Ot82S&kd`rGhkijVFoGL58*ygp`MEhDhmy^262QWTL85?ivz#D7VGftfbFpyH zj(*bfK<*(U?W~+%j!^gsy`6hrlkNRpA*K+X-WT%Cpc|=#7~TaTk9^WZF?$g6_o&t~ z#)7R}pYR8lmP%IG1$XpFeu*Un+BC0Qt^L93&-k3UTXB!!+G5=ETy)aTQuY{_DrP?t zlM-sKEM;Jw=aL01acbF$)jq9ZMNL%KTu|;b><6M`q?=E;F$_^Bp)#lo6^e~)QIynU zg(_^I0+l5q%g`8zrCoZbR=(mB`67 z*CM6H$2+MycItSo2k=N4G=65V-mz%@Qo|&f9)_;|NAH9-bzj~E!-oOdp*lw?sx4n*MvLY?nT>Y~Pl*3%VZxPJkhm~lVEt%dU=)9}Fd11j_4lee zOm=2TS_byBGFU#7Rd{3-O9mr@uJJfiXW>9vEO-REl768dVS>@f6OnEfYcW1sP3JA_ zjiAH=sD63VO|QvJ-n+G99);deK@-_T3Q-Q^c(bd0w>K)xL0`+14;7Wr?7g)Lvh)S! zgI9q;6G|Ee5o4NiMPqc~iM)#~es*86_(83m^3(}Dk$wGHw7xhJ*QB0} zcM5<{c&08%I$w1>k7BUBv2@Dly>PviU6R%d*LkI@2`i(lTwb>Ih?M#cD#=k%~@=u;MRm4d=ae z5asZKq(OmCE_-CVAC@a~!}BlFVzOiMKo6*SP3PbC3(#BLQG)jDsPO8`;cN3-td7$S z3_3aW>>E|Zos^r5V-Os0(cWUTJ!v&9n-q^ejl<|WcfjTxmBeJDOka}<@$o!1_Z|8f zJ>7aoieZo(-yi=3s3x%s8 zq+Doy_?B1RDEr0d=i_x-!uy=}Ow8|JAD(YdwtsH7lY8fn?vRl+!!(aeh)4hUnTk-M zmi&np`$R4_N)!rb148)61l-PdSaDQ0iqP(+lv$BYALnIlo6^|U`G;m0~24v z8&9)4v7&JBsg+vw+<&qK#p!G5%0diQwp12>TPFpxKjbh!$gR~)s=P85(gj%#wE+t$ z6zegzw$7>nu03`xjIDPg;z;Pb#x2p#etcE7?o_VU>}d*H2pwE8UwBZqcPw|O+HlNl z@J7DK7bP39Sl%vy>IscD$mBG7R2#G#I2VUeuSosIx~BP8Cdb?D9PEv8kQOv1h*4BS zg{9^I9Iv%s)VmrV;7q)bHW|Gkq)HT}_ImTXB9V_+dFJHrtF1$#f(Y8zE_d zi&n3!J!m_VsZnWa^fv08uaD=MAWB6R?*6rG%VS{_8W`cTFMUR%Fi40V8~1R?x1Nrw zt)@@j4E;qUykZDJS5NCLY(l$RPECB&z$<1DDf&G~^5At`0X|CIFdCUtwW7j_~R5)DFP9)o@Od*`vP6VgV0+>Ja z@ory+y3In^^cx2#ogdir%atue_4z_DXk?x9dG44fz~ZsK0#L|(L*tm-n#9Jx@H|@U zf*5s87CjV+!P)a&OR}h7*IR5Zi&y;lbIWECLCB0~O3tg~UL2)92~UnHM$tHjppIP} zu_}7mYlKR0aqVfVRi3sybJ*Lh!RJ9NDYNFPdZG;EUG$eUel04R5u8L=SIZ_?AB0Cm zt52{1k8>DaxVZ1br8Ku^LYuAgJS*Naxf_?_3P!Esdy%+1BZ3#br-28@hDmt0i`}N$ z%Y38PW5zIKbHyk0%Cq$rcBY-;yPZUEa~JSiqQq1?mo)FHj?Wew#tHaMphc@QN+;O8 zN!u9hmkJ`8`DijNzQ3M>oZ`SLYLFiCexNp3qG}bzA@b^OswJA z&c_Qoe*fuM81ms!tDwQaD1SK?@;^EjRY_3^Maf@&WnRn9mWUhewX;iXfYD8BqAi%h z2#JcKQXZ+s_K5t&SV60)tRtzyz<~0!BX+0j4*&3WH`588Oc?^^Jjx>517IDkO=epu zXSgqyO4Isuc=os#?t?ZcXRx_BKYFCC=}mUl=Vm(RGkTL@xF~nMwz0W;YB{u~#)qC2 zao>YdEqc&%C_Vbv7)NK>6x{~1g?RYg!gq`vmenhBMCo8O0mp=@+;rcQ66w>1`Kx@% zMrZc6WZpt+UWp)qQ~HQ!Apjbb+@cyN!g|~vKM`3iZ?J#!0OV@xIrk$th|E7Y2sKz( z0MEcw#u}Hi#((9pHFXeX%Fj!h|*j;xvXXf zs9E>Ba}>l-RoqOIyy2~>$&Dti9~Lr)KFMOe(CV8Wy|hmZFf}~*ui>n?&xln@jH~7r zArTym7JZVjfDJxpzL?1)K{TbJ#Zaln%Avi))?YrI6K^7^EL5Fdk)cin5*>kdM@9`y zbVR%RiEc0woeguW_2Eek*+u%6l)C$RaKxOevsgk%k;Z-m@Qm0{D?m@iX;2{^oaf5j z_avbUY)ZAY=hwc``L7%XG4d<+l!?(7E~=Z=N}-iiKD%c}v^NxJ_|uu3XmPFL|4PC80m@VBP+e1T|;OI6JP~clYSNT&S>-vLzXI!T5eg4n1cZg#l@G}HAQ9TY*3|{*Xe$$Ez5$wU#ONIE30FU3v+GYw0(G=;r zFJ?Fbxhh$1iRH3c_qw7`^b*-ALECy5Rp)>^`Z*2TVi!CV&(g||8YpPD)-n~f4F42b zO3v!nkx5K4h|1fbO0aeXR4l66cl z?L1U>stV?^(?3XQC^^Y=irt7&fz2+Qch8C)LK}eJ5FlXggfN}aJ`KAj z94G1{R(+Wi)*YA5lFUNwL8_$_|7uIQ4HODNO!0Y?z>m!8bb-O`b%%I9Q+YDnR;q>= zotxi1@qK>1dftA#g-C~4oujoiTCLUXZ%h>1uz29G(lL3bI|V#YH(sOLS& z-ttnNcIfalBy>k9vt6w5@9fYhTtClab}h3^a)}(lh(Q99oPZBJdFjN=Ps5K8Nx2IS z9W&8S(nUYNgLvOG^M>SUNL+2<7xD7AB-~UhWGjj$v#=t7<1R`4Bg}nioFYNi;gZu; z;_Cz(zF-}~-D7Wy(E$kqdJa5UqjsI3?dkpQ0O9Ai-x7%^(k<-|zf#rOU#TkPAJ2O= zNpTHTS@pj%2?I5L`&AaSjR$&^;dn6r4riLyLXi-lC}FO+3TdKqJX4;GKPvy@-AlA8 z#!$w9mk;yils!;Bv3{-TY(5qL04V}He4Qh-~VZShz7Ry zbf<6m6Zc0#MMCfBnM8&q7Z!_rzk$4-@a1r?fCyc)9NJ95p;hN^)xz=x&Xo9hJI+JOZ#r8bF}EvUqi$VxEc{vY{F_L7&C~`1ds~vLEq%_BS9#^y?Do?3gHJC| zzsB(0{(Lv=%f^bR89!Y%C#J_*nkI7z{JQS!Hsmvk5-N9OHp+;wld17t!HO772Dne= zC)ij38!gh(xrf^~m@_`Tr>vKYlq!yG)^$G$j+zZNC$N-gf6O|-TGd{z9(BdIJ^tl0 z!crP;h4N1@N++^Kf0DtDa!ero;i!?VP5r9{etAV6EpFR#_e# zLKyPDE3CgP^ZPtD!?wl&Ks+92T%vSittb}akc14ZzmMM&HPpO>P=J#75jb9yv}Ub=OP+?jU^4X=E!&vkM3U)-j-P^SjjR&!%oTac0Z1nq`1Jg0|Z-JcTr(|nGofn+D zgj{lUm&oAY$dx5_Xuo}V-Q7+MX_S5?*LN{Q&dyouqbj*IsP?x;NZ`8r^b#b=uK?VV z5bH?!#0*tj^I($&3yO}x;z3!Xwo6Z=Gv-@!7O;?nLX8l*>PQV^A%k5mNn;In3sJc5(Cv?8= zZER`*Jb)jT&K;JesFO;*?bS|!I>_`I|s4&$Bx(vyM;hD+(rsb>ybQ8*y>KvM0z@F&Pvvu&VQm z4ZZaXOP@TT>WP!V3_eU|3ls(}T^PB{paM@{9A5S;`Q>R^=&FyY*9slWV~*qdt_k~! zcU+m0mgzgd1nKU~;*cmkJVk_54@$p!KekTCnE9l6=4@87M3G`ivV!(DjqNcmc$C!5 z{>a<;!FY8LkwjMW;!zM0Xt1cJMQ)luRQhHROk6Yig3# z?%~ed6PI}P{++v}R9fPL=@d7pZl7?5mZX}a4jgw~ucpBfY}_%={U=gC@`3ksB;u5^ z82O|KjNd$kghj*sDvC$4((eo&ulTI|?RMyckB21unEN41)PaO0=m7x1qb2O(Veb$G zb@j!XQQgL5*>{(kr?GAG!lEQAEiC`95cFTnU!*mMzD`-TNzFvz}lYqKrxia7RkXKpV>Z zWYJWOI5wGXdu5TQi6w!!bvjQx&h0L`lykh(78v z*9Vu__O#-g7*6=_Bc^PdR_H%&VX+!Y0;D;&HKF{3O^$0X;^K`3vm0s>(^|F77saIFJ?xexeh~{+e1u_h91K53~hNesV*~v>+ zTh|NP-dIUyzedciAIISmPQ}kc&pCR(u?_v3hh ztoO7ofrz4{@z?XVUD%0fu$r32LNCX-`0beVWwxBW-J$1=iHRLryIG;zQlAWb98)et zT+8K+-uRQ3%cbUw!svy{Bq>*e8pcfV^5GuRs7@hbrd3RO=~0JJo`AlZtfX1)pn^_= zgCLtC5({@&shpZ^=MW6=O`Llsh+9zD6TaTiljpnDcNTPBYweiIgx96a1{l-VC^=t` zs8NxgaZU&lFA0YctoEhfZs>b_up>ylUnH~x`@qdYtHOVP42mL^qubdDlXZ)mrrh=W zQ{|07M-eF*EBqOmhfPTEwNah5Q9c0SasJBo4Ydf9$>-T?Y26NdBj&aodT`1XMb3mvUsFIzh|TPKGD z4SRY-nc8^1l|2zkEi2zH7hAYpDjP|rv$}6_ueHjYCNjutajf&19j1CrA#-E0B0Jw3 z99u}9o$!6ruhMP$+moiJB5RXR_6)}KTve9$o-z7*^)Y{lvZx5weopK63N@Zf-7+2H zF)9M|v<{c@qe!yR_K0YOo~l&~shVrnTn6g2oCC!ZFGT$3D$Cn$xigo~WhEL)uI0px zG8Dp>qm1W+gb*2AyDi_+UybA#WdI~~V_1U(Bfa0fyglom(Yw3UYL z3>ro%JX7A9=;&-^u?sMj%~ci`Jr#FhC?#E^=31#l11Rlje!$yNS(lCk2|KyZ5_~P_ zATkmR7m^dstEMw#{v;Fv>vX~vGVn3@THe5B7skaXaD*O*?YDNpJV;u$COqz;&($w3 zaw;z&GsQghYzZtK1zjkcxbt_IRCY72HIak`EnF=IVw*%#*vwDD@nxoNEjcNFNkSmK z>tDY4Y<%(jNr{)9cQMEF~iBql2XkMuZ55Blm zO+ptUpH(8ARXGDeU9FF4)ayyT7lt6!H!rhX@7Z5{8Kwpv*phely860##G;ka&*#o? zn^2ERk6avKBL~wA{I8&F9!lqp9tbHB2mnBi7SttuQ!^vv6{x$tf8tpqItY6d=61(B zQLk{Pc+u(%)D`YL5xP$6X=o|!?E5!?wXevprTP&Mr!Wr+)697S(61Dblik)rIeYvN zfCuIIY2`LgbNE)OF}W_s}jC*y}R6mvYak7DuS`jaHA=m7a{sAMG3pP!{lq|_Fq z)e`4dkw!*}cCV~bF_m_``lDwVQ7Vm_OCi({TKsUq4OsXo`xV<2HO$lI7F6+&&y#=- z6sJ^_gD>=Q(@o7uKb%j0qzzODv(N$|npA~5+hInzxv5!U5PfwrvN>IjYpvs~Nx@HKEBetO`hUC*VcK{oR~PR{DMTVJm=hluOYCo2hBCo%VL>84m2YeG-q}tMtG)N zKx^hv)rqk9>av%7j)cX9%X~XMN{U2LtY(Lhm9xo=#z;>0pYfIs+V;V>xJM0>nSw>x0H? zy{Et3@(qmltgsAt?3OUqJ{O%RtbY@Bk$5d=Esc7otUa{QdGRLAWx@hHVQ=u&pe}Yi5rh<`dB_puc!wu^kdlgl*{ zYJgunf$AUMp{^*CBeW*0E>dT;7kHW8D4ENA>6UP|v_(LxiS=hxDVRo2SLOFEn$PcJ zq3a zNc5!BXq`N^5-Kn4;4bli+ z-g~d#`@N2LKQqtX&&*oC*?Zsk8`Qb$E2Mfz*VRL)}kd-2~F{{8IYYGrNa>}uuZ zWbMfZ`k$dBzlYj*SbN(2Hvt6+>)-6+@m*{?6eJ`KbR;B(KPR}ETRNKCTJt)1y1Hb6 zO&pi_N&OG22z?Cm;7N5W2H)gzAJ$nL4Ny~B#xNU+)DS}+C1wgG-(9RY_GwO5;+-dN z2V{C4NG9eypxmX>mOG3&d;7p|0+=6|S z#YVX9-26x;umn%%RmX)S89|-vO=35GQ(F|Sq4PX_dFD<=r{|aF>r#*cR;8;De7rCEIP={*cWj=8is1UC0W1lO#}~>) zR;~N_4VosS+Xix}ljwf-?IE;d=^*OBqt9QX6+#Vq$K;!rUZ>iqQtq2lWfKLTN+s*h zHn!AtX$e|SM#3FZH5QMw;Ol4skh@ThTK?FX+3hpjozdK?rlG{ptx)OzsQQ;kBbe=V z?e7K3d#`@lKZ{gHQC2}ik=NPk-BV}RrN@MK2(vDBR3}t8X~hj`1>FZ8`OtdBV5=oe zmLRH^wUi@;N;=Tc{GV-O2`@Y+pWpH`MzNh7G_`D*`bm8$N~yGPIjB<1)M--r zw@i-mY6EK$8jhRl&z$*ATg0{(qq4~{mu z9TzpiwT7Z}(pEXP_Isk-MQL@Gk=R9AoD%5M0X^Xpi46}{71M-2m2lL31ubHm#K6Lb zR?ys7B+=nA%P$~SS2Ofw&#>Ej?OG-5g?mY;nqpS_4jj?TUUGwuT+1sm$GW?mCN{E_UWy&8sc7eN z!IMi5e7fcp*}m_y+P-C#>vvL$!^$p0DU5llho(w(Q=E8hfKSSD5p}{Ulf$^f7(b`x zAnhqZA!a(a`oRO=-loX)9lS4*W^f@CWw4pF9(S&_jD7GlZ}wC%QC?I!E&FB?A;KCzl{ota1!Q-P_(jO`YU?}9yw z91lwxl%WuI=j%Y@q1|)1&JB4=YRJGN9|WvHZ*glo*qItKWpIJynXouLr^UV_nQ#dB zLVM7H*jX<{6zRT+6DiomG|gzn0FoNp8O;qEr)-LfqxR*+0w^BzyO0D+$)kZQj1&MR zqT;U(7GpO&sp?95#fDi^r`FQ~?Z6y?LT?H)VQ2~5O{uv6q3X$^nwI&bYHTA8fEFk4 zdAfC$Si;R?8O{b3P8ECWOok=Gw)|~N$=q=d`?gM75j1&ivuGWI`aLPgGkRVc+#HD@ z)GZ4Y#~@;b6yPxB@^Z8x*`VN!;Z)je2u5!S5$c_yCktwd%q7aqstjd9-#WwY#i(2n z+(Ti>v$@$-AnjnrGpX{81O)H_DeUc|;wxluM8n8yE9z-sjg_J-X|=}JQ|TOJOg|Av z{TXd?!UEHqvk6KIhC5)`L!2_*Zl*q7E3it%*vM;(xy}pzSpKi;c*cIvc?e{%Rmq=k zW1HLR3bq~FgO_wjl2iIjkC&T%MYqU?fGaU2Waoj`mk*tEe~iOI^F=Vf*(Jv z^0CuA4>UXsZyylX7;?}5Nv3ond-dvq23ZfaAFkLJIM;w`f{`^u*S5j6tjMuEX`aE- zXKEVx-e+M)f)xLXHq+!tE5;MHsG^R);y7nhZ~{wu%jspb5}`(Ra zv7+sEYr6wajbqzCtV+3J*1pD*Tnz<~zt(>OZ6%O)WLC4jh&w1Ka>A7AGU6A76e!0W z@IUQZ1gAgsUFLa@v9UuG&L%CNnEOLfLHG*Es}j=*;V1(gzWK3{~dng)F6mDC9xr`{vq(Z>g7 z1vTVeQ;2RerI=@xoVqthGR~_zH;Mc~> zV@>BUziJ(OxAJozjb$-T{&jNmOXx!-aw-O|eN;7$wZ#XnD2DRG?E+m1H<~Jq$_|z} z&rdyCvD(f!&N!Ix){mrSrV<><9Mo<$B`RE=Vvj8THW zfGbO$b#fa-odnzRgbEsdy5c4jhjgrk!s z7LR1&81VGvS5QvcVi_G-aK(p@LYM$y6pfgB$P}PayKH5yW`#569rcku!=sz@Fi5&B zp2#63SAn+}P>0Mh@oVxJ$>4V8>ic;;=2ubH0IzbYXrn>pV^uc3=y+8_a-H=@OtqvZ z@4WiB;YehyIKfX8Umh`O?s2eSos;cF5$8WB8(LDRW^FXk-!oC~w~I5-v%3>*$G$@S zr{w$NZwmzO<(`Uzghcaa$=kbFS;Oud=U9CsEfx{dfUzo3?efuZR#ZF1ndd|+Hrn=m z8cv1p6gWL>Bm_;_&!^9M7zYCn#m0_8?mkUp8Kv!+#st%E# zu%HdzQ1dGQZRwMh+8h3dE~beKZ$4M$tS50L#!wj)8d8>@Bs*R*KPq75%=%FiW=Z5> z4-4DMoueU*2(2*;gO2Z_ZwS0JIodqp#Vluh;sZminPi+1vV!$4(eTQu7>v6&gC-qP zMpX{yjH6vYdbnQGOjTbtii)?IW@hp7A>yjE#wu_7`aT^-24?k0q4k7bNxx2-ShMj1 z`Q*B`W=q_O;_Sq0g27g_mnM~U!bJ@hDKE!?MnFIP&vpw*kWxNB`saWqfn1B~G~8^@ za4Q+}uqQ{Cu3fR{>;)KVV$qFI-nOT27pUnG`er_MB88rtY^F*YG&9TOhTT1`YSx)U zqwj@2%SGsOe3K71xAdQ^6%L7{mm!qlfsyCgGgc;`1XE1dGReo`2{osp5@~V69IzOS zQw()f1G=5kq~;jyn%VJ++T`)HhEzaNJmr^iD!u%B-l(vP2iNuP3<5H$G9Mp>nxMRy z+#A3HE`dvG@YMa^oB$*rSG^f`G!M*RE)GFWotQ4;^bQ{(jV_yyq0o3YIx2z1L+ol3 zvIKkkoVXC0g)aWU`vQ6%z`v|5z2YN%<8$6#IMBp>D{Vd~J2h?@r)7~>5JcN5jw~3> z1O+RtnV0FpC#`kmPUmQ^Z*KT03AjR&@f&#DA!*{c%_mHDViYAUuA zK=kVcHTIc5zi0rkT^6RH&CFsv)sW>fvKGIM!)Gm!ex4%UEpQcv>o?!8e3Zvyh3{=i zBRu3y+ZG-~?7siLbnZ;dr$-o1dE|>&yt<#8+cMRlMce1=Z;#$$K4GVc`mynSlc_A# z0f0@JSob>#DWN0)KPEn~A;o+fY#YkK#ggJD$N1GV(4a=ZAtXCv# z)7DI51g&{Mzem)_er+o=JHKD}taQwMJxbh8#yh)*6X=gf1`JD&Qbk+@qJ3IBJl56X z#?x;86ba?lwD(~Kz*;M^iDE!Tk-o2pZN8ZiP!R2}ACzbz4bVuB%L;Cb{1K= zKUX|$m)mljJpZCHhMUxEpiy%Y!?N)9$Lf;p)>L0z7$4|spBH@1 zs?X_Ue^VqK$+(;E3MWoKt~FJu2Sa{Ett~{OIHc~?`j)G)Pds&53%f6WM(qu(c&GSb zlMS|qW!A!EhX`YuuzmHm1PLH1Q;$quudk$xydI?e%Kn*Um=i0u9X7fc0g%d&yk3zF z9Sd($dV-_~pqv|1qbeH!2HAXRL@9OLpq&XOImyJ_GZY^R_Id$(%v0Q45hPsP8y8Ra ziMs64>@3@b-`8YSM-s%V@`*+oU$HgiBg&h-LHXiPaPCXAmt9e2>bPF&XU%3yOeKsW zXtk^i&%;27@Dt|2X!U@pxO%y!Z_J^MvjiE@jt-wD#U zq9;DmfbqylMb8Zevu$dr7v%efethCU!J?XDZV)0=pw4Nkk`f)F*ulkuV4G3_k(gG(rP9k4Z=1E(5SAZrJHC!(o|cfQJScVYg;uvc8-r+P z*Wa2%jTwCgI>zD>>1%FbKYs118Q@QTo@}!oe5++9u{l*PBz@Cyb+bL1AZ&`!Guv3o z*N)%CuI5vi3~~2_pQspF5K-JJ#fI93zZlgsB0AE{sg?y?aSrD;s;qy;;;lWgX=UE% z>|L^z9yzJ9WXMp)$(k~z-rP}e^P+hJU!kVU)K(XT@>xWq!X5om$f74w0{rseoo10; za^FKY!iLB44}_i)>Io@t+n-Q?)R9r7QUA9$b+68UkA2y{rr(^Z|DF1mSM_V`%W~f@ z|B?F3x%v;_mo4zScl8TU7;OA!!2fr$ejVf&?01jhZx}M_A9wSAj>GSy-&^6oNrm@T z-XG5O-^TcN&hP!j-<(w3KXQI`8^42oFCTw{kO}_?`n#Bb)X_2i3dg*E4v~?NGKl~B F`WO5PS_S|B literal 0 HcmV?d00001 diff --git a/.yarn/cache/function-bind-npm-1.1.1-b56b322ae9-b32fbaebb3.zip b/.yarn/cache/function-bind-npm-1.1.1-b56b322ae9-b32fbaebb3.zip new file mode 100644 index 0000000000000000000000000000000000000000..c22a184eba20398048d5902dd4b91a7822852d26 GIT binary patch literal 8526 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 HfBpJ@*^Jya literal 0 HcmV?d00001 diff --git a/.yarn/cache/has-npm-1.0.3-b7f00631c1-b9ad53d53b.zip b/.yarn/cache/has-npm-1.0.3-b7f00631c1-b9ad53d53b.zip new file mode 100644 index 0000000000000000000000000000000000000000..f0731c951d277c8d8940f9ccfb7f4f43a97dda1e GIT binary patch literal 2659 zcmaJ@2{fBo8;;P_z7?fY)UMVjwN$AfI>f$KEQ5$>EU}IbQ^XRbD%PX6Qd3n+sC}ns zZ2#0&RfDRf!PktEBP+w%QvgNU^JV#x<-D&PX0P|<$DFlYSj{yMKU<3e!>A45EBYfOZ zNF{VI#y`uZ8$Ao=?pSqTE^J%(Z%vRMO&RulRBRji?Z0VMV+TYj`g)Mgk; zLGyCZ`G<+SW15)^s=bVwU8bwMDP6-a#(sArrV_acUEVX01;I;7&t{7Qls1cRu8RSA z6&6~RiX1fRlz{e`C^I&iWU0=lL(=IO2A3At9 z;B2YekSm**ohy6t)ty=~pH}crR?YfG&>~@7*E1mpVa;1_Vc+TcT0NAMGnMoXxX-oV zf5AnY4L?7v{8F^4bH91oC^xFMIRCj0Wm4ObJP|{Nz)rkq4TJpWM(d3ESi*0KuOrO6 zLhD3Cbal0V$?39Vi?lw|6e1gj9$-g(OqLxgD2YU$-8uNxuV~=BVn&TN^{+b-z2wHM)R=zN)$L`irfdh4xj}RSnWr=IV4Y*aZ8{^~l`+(x?4*w- z4fjPLWWXXI(&hrcc~wCSSyl5Apx^tA!o>LQdf<<*^tKHR5!4eNBnbG*-x|c$Ux~iHpb7z+vN*k0m+|?oniZrbD zz$X>fCZlIkK zF#1M7Fi2(YTDVg`w4G~b4OG{4E&Il&>fN}H7h{boCsIs6?O1ryY1hX0T~Zej)cOK7+ZSIHt}r*l-g2jjZgM7>AL^Pg_i6Wp{D%e0D(b zH6@~>fu(P+XJ?;;%X)gnO^|$5`J)znE7pryNh>qyCXbqG1vm_Tg~(Y^&{AnV>Xp_O zKSKE)pT4YD_Yj$58FHJ9T+hB8uDrVePiv56!x5znP$7=BKd@#G!G<)1_(BW{9dmgf ziQCLP6aItXC?|$rRCaK-RmpI+HCa^YRV)b?eMP|`^`tPPa*oE>brth`Zeykuxu0zk zt$MF0$0$-Rrj^t6hbd@^J(Cb!fD8$eVs^sSx zno`5r173q!f!3V5Q0)l0FJ z_SlYa7ogo3hD?5<%l*#UQ8h)j0M(EI^b{f&c&pvnnq#QLl9Kt_ZBxe z%PY`Q4nXu}-kLY))nWq6{hRv~jE-Brt~XRhT1@NITjHBQJmz7X0!pXtUy2i;S6m1( zIOIrmTo6OWYN{`cDoY~A#?Z>UgNL!kg1K?qTEuy29!Z_(P4+F;GV|*uKaP9a8n#Es zj6)S&LR7$O`*5ORbseG}8;ChxU$x~L7q+zmjlsLg6{+5ST`hDMd z^}Tz(YekQ6c7Rl`mcXPMcoQh8DsNvZ{#K%ZV_ko9vT4r;tPZv=ZctMY=(UDz{#l>7 zE@4L<63SjSB-CH-KQjKlNDub3keJyA>}>dN;inI~5K1fMaPJv_R~V01c51z!jRZNI zj_CaHp@&LOGZI9ey8JHmi|&63r!~=0<)?)|z{2T;e|rz06+weKsv&76ADMik zC`XZw^80TjmJ@W4{?B$A&Y}O&3)3N~Xhwp}(!=>evG4!SQIgRh9$>jZbW-`2a{rdi vAq!|mg0#?s`pSv#(>clt8pZ=G=~xUJM=W6{s6GGy3-t-5?#R^1!>|7Vfu-!N literal 0 HcmV?d00001 diff --git a/.yarn/cache/has-proto-npm-1.0.1-631ea9d820-febc5b5b53.zip b/.yarn/cache/has-proto-npm-1.0.1-631ea9d820-febc5b5b53.zip new file mode 100644 index 0000000000000000000000000000000000000000..78afc3de42958078c42a105a30b65eb079cd6fb3 GIT binary patch literal 5117 zcmai&2UL^U5`ZBAF(AFS1*A#|RYI2%kPreGIs^oP5Nbk^Dz1R^A}UoWDn+U+y(nFp zE>e{$h#)~B6cIt{gMFLl$~o+toSQ#6=gxQA{Bvi<2o5A;A~_cIXYbDb_2cg^>Z7M8 z*3s#z2iEbryOWQk(WzZoPj9l>j7X|KiiE+M9_Ubrw5nyr(OHoqXI~ zJbk?#N)|qvh`#EVyi$o2xgd&oI}7+~ET)ItK*ok@>d`1#vd3t{^psFFD3bq9jyO() z>-G&Fz|lBlBqYC`K8`+2OWVL$+Xi_RJ0V5)`_@y1^%2+=$fg%oNV?OS;d0`IIcb5& z07~iDKBJcX6@bSmO!w~U%GPS4CP$BrTelrMeE-LF?{2krtzGi$W>wWtu8#3q`kN#1 zrhZBdbeTMDx>}?I zC-YsGagWdTVedyA1>$V;b?UDg_{rD3i4`$<{i|$nK42%JN+WsPZ){l)%M&X;P^F9vJpR_3}AvbN#ROn6E|LnuSIyNhlAmZYz zkN0w_`iO0$GQ;eBh-$lf!D^}d&6Ou>S<>NU=+(n9#n*)D+&h>}bSMq(p#Dn}^A4KL z4!cUFWrMPyRBvq zY9`oPL4EKlU=6@_<-=3)Dzca5dU1_s@-xJXQIw^1{+8 zTL9O?XbVSG`eCu_)QzL_v`AAz^$lB2ixL$^3lybqS6V|o%)U?#U#ZJGNB%pDtR7z+ zTF%dhVzTBD!)LF(e4XNZ*Yb+xIC4M*BMaP(DK)yc+$@JR&8(O~x!2EY_6bCbbtXiZ zQRjfe_`gk$e9WSgY4e#c2IUukIWp7EqsDW(xw?2dIt74TeM}SK zH0@I7pri9lI-2|LLAT5lfm6JcZOqz&&$uY~OdFJ8R8)T1f&Bd=(!6A|y)adg&B}9O z8tNUzH2ha+-H@N*2KXhQP3Z1jg7Eu~@!ZX<*FYKZgUT5_9q%Kl?i&rKn#VJYcTjeT zcU~-*i9@DYtGhMzB21XM9=7D&**FIh;&~YqC3jFzt;N1Ydb(fWI(;p^PCmXToWr@c zL1hpr3Ca7TCh&hWiCf{3)aKbPMF;Jl7h6DIPQpokfm9@CbZ8S~?!n%MLV}|pA>luLD{=M?ZuZVjM<#{!Ofj`K zoRng^>G^xaTSO}x%npLUNC~CeF>(fvaXNeu5{`*;aIQ5jv^xyJk9jSUxI8d1UGZN@ zTm6Psc_1>~>i7`h>UsYi=BY4e^qV$|$IPJGp+4W&;pAge(eF0HfYhlCRu*Sm!SQC) zBHgZP6wuK1qNH|-^x;wf{_*fImZ?p`N>+2i|FOPcx@eym_|h-6Cr1;PSZ88fNQb8al#k zZE2r^i)SUDytK2nxi+`nYd^u{pLjSa_fd{t193$uw7ms4{+8GO#Wh&(P5lMK(PS{L z@zy2pveML~Yqu@}Ta@hWJT_MoEJISi!&G;r+YG08xsqzzU8?amZ=a>AlZx`*LYg)iAH^?wdflzw#h zFno*FQRMEfLq3Fa@cBcTfJw@GvyFjm=pC5{Dt;ADJjyj$I~>Y~A&ceZ ztR~w2((hnX=kwol*Jd=w>e0roH8%Qq;5$@Q&d@wa9pe2gIB@;9Qea&&DQF6Cv2=bY zEUJTDfn|G>RZUxGZfaf&CP6s{@s*+TD+pKn)Xci;Wu!Lu*#D*OULD9fna@xXUQ~_& z={PUi?FH{q{Oa1J5sE^tN0A5{`MAoQLP z_3dgWj^6LGAN4;()CG@rDMZma{YW-zRqJQ<V~5Lg_$)A`|4! zV|PAx22}$mt91LeubH{pS5Pz-_o-)-H>l@0-+UePpTEfw366a0s#Ocr8KYO0fH$}H zW3K{wN4?pWhx#gBZ;t1d-^LX0BjiC>Y{OX!OI*i|`k7^iFfpb!KE1B!0Ky9!=M?rQ z9{xqq;0yDQUk5D0WMb-llMoyQZV6ba2C}S5%H*$IaaO^4W%P@jV3k}es2l4=awwE#mFGKd{A6~V9CPIxtHSH>Zk0+hTc(pNN#NiJmy zgE|x{Zmn1@Fd$6I*hgy{vVy3C+9Iymae5@Ur-#b9n)?(!q)cGJt0inCsjbW2foR?e z2Ci~IO&{tgT+q-JbTekxRY^oN7A*8&7DBjpFOe-MCJh*LPv2!R(B0`(`^2NK%OS7r zu^)*Kq^5M0%h$|PfO6gX@}}pQ_Xk<5Dq>vRr53d8k{4wHJ}LX zV>>lLU`M3rns&|E%AnRoFdCewjak_DTPA#Y=fQ)nbBKbNxdDLA~lC1AN>ni85jx-#g!XO7)u73Wt zS1K4MsK$8Q;8eJ|RYWf8`$Ff1YB}$KRha7}7#hs))BtGIaf>S+tzVAztt1yZRlPM@J!JyY?zL zjuoaE&E3_N(u>PkwzfC?Z3@cy!d_q6PP0hjGdltIr2D0v3n|N;`Us2@J@fUnP38sr zigFoXNy34!GedM<4i=|>iEO8vfdx5}Ay`q~8U|L!GbC}Ve#tnfwv%~-V0)=g3Ml(- zUHR=ASk#m+x;_7ILqdJ7w*z; zZM$C_^I4Vz%5QJ5nKzr2%r;0kS1Iq^C}0b}Bp_LWe_D546K{&7D!M-evbG;8dd~_u z>@4`BePUZuvnqFWL)#uR@lKauo{Uz!wo|Uaq4mx1QDEKh>VDS6K-Vy<615p{BLHIp+PMV!zh%Rf#{e@S_N=CMR& z9a94+%-}LO(8E1s0O1CZraSW?_-5y=sHXbV)NGY^@O;gr+jYrd&Ql;52ScSdLxmYj`^B7Lm= zQ8cWH?MC4mL4jP7Ha5Ld7dq3gIHz?Pzh(>s&-be`iX!S(0!XzqKc$ZyP&v}Z%+iBr z=v1Hg@VS0ntFZ0N(T1e(`PY{h;BKmzSg%tX!ASv^fTtG}jyCu&A!r;we%b4PQ#~#) z5QU&|Ts`RMBvGg>L(BhIu-cO0P7_1>s|$2u^-R@xT87yXhqv literal 0 HcmV?d00001 diff --git a/.yarn/cache/has-symbols-npm-1.0.3-1986bff2c4-a054c40c63.zip b/.yarn/cache/has-symbols-npm-1.0.3-1986bff2c4-a054c40c63.zip new file mode 100644 index 0000000000000000000000000000000000000000..d07bbd4967bf36dc0580b00a8235430d4263fac9 GIT binary patch literal 10514 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

-QgikN{gF-T>rQ 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