From 7fd6ceacd43b10301c64e5972469eaab812607e9 Mon Sep 17 00:00:00 2001 From: bokuweb Date: Sun, 3 May 2026 14:43:04 +0900 Subject: [PATCH] Revert "Wasm (#534)" This reverts commit 81f1d9ca5b001d862fc9b630e34f6e820ec06139. --- .babelrc | 19 + .flowconfig | 13 + .github/workflows/ci.yml | 43 +- .gitignore | 161 +- .npmignore | 0 .prettierrc | 4 +- .travis.yml | 14 + Cargo.toml | 13 - README.md | 6 - appveyor.yml | 20 + build.config.ts | 38 - crates/reg_cli/Cargo.toml | 14 - crates/reg_cli/src/main.rs | 242 - crates/reg_core/.gitignore | 1 - crates/reg_core/Cargo.toml | 29 - crates/reg_core/src/dir.rs | 68 - crates/reg_core/src/lib.rs | 758 -- crates/reg_core/src/report.rs | 504 -- crates/reg_core/src/tracing_layer.rs | 323 - decls/cli-spinner.js | 5 + decls/glob.js | 3 + decls/img-diff.js | 21 + decls/mkdirp.js | 3 + decls/x-img-diff-js.js | 4 + dist/.keep | 0 fixture.html | 17 + flow-typed/npm/avaron_vx.x.x.js | 122 + flow-typed/npm/babel-cli_vx.x.x.js | 108 + flow-typed/npm/babel-loader_vx.x.x.js | 67 + ...n-transform-es2015-block-scoping_vx.x.x.js | 39 + ...lugin-transform-flow-strip-types_vx.x.x.js | 32 + flow-typed/npm/babel-preset-es2015_vx.x.x.js | 32 + flow-typed/npm/babel-preset-es2016_vx.x.x.js | 32 + flow-typed/npm/babel-preset-es2017_vx.x.x.js | 32 + flow-typed/npm/babel-preset-stage-2_vx.x.x.js | 32 + flow-typed/npm/chalk_v2.x.x.js | 108 + flow-typed/npm/cli-spinner_vx.x.x.js | 38 + flow-typed/npm/copyfiles_vx.x.x.js | 38 + flow-typed/npm/cross-spawn_vx.x.x.js | 80 + flow-typed/npm/css-loader_vx.x.x.js | 101 + flow-typed/npm/flow-bin_v0.x.x.js | 6 + flow-typed/npm/flow-typed_vx.x.x.js | 193 + flow-typed/npm/glob_vx.x.x.js | 46 + flow-typed/npm/husky_vx.x.x.js | 88 + flow-typed/npm/img-diff-js_vx.x.x.js | 67 + flow-typed/npm/lodash_v4.x.x.js | 4440 ++++++++++++ flow-typed/npm/make-dir_vx.x.x.js | 33 + flow-typed/npm/md5-file_vx.x.x.js | 45 + flow-typed/npm/meow_v3.x.x.js | 39 + flow-typed/npm/mustache_vx.x.x.js | 39 + flow-typed/npm/nightmare_vx.x.x.js | 144 + .../npm/reg-keygen-git-hash-plugin_vx.x.x.js | 46 + .../npm/reg-notify-github-plugin_vx.x.x.js | 53 + .../npm/reg-publish-s3-plugin_vx.x.x.js | 46 + flow-typed/npm/reg-suit_vx.x.x.js | 102 + .../require-extension-hooks-babel_vx.x.x.js | 33 + .../npm/require-extension-hooks-vue_vx.x.x.js | 39 + .../npm/require-extension-hooks_vx.x.x.js | 60 + flow-typed/npm/rimraf_v2.x.x.js | 18 + flow-typed/npm/uglify-js_vx.x.x.js | 123 + .../npm/uglifyjs-webpack-plugin_vx.x.x.js | 67 + flow-typed/npm/url-loader_vx.x.x.js | 33 + flow-typed/npm/vue-lazyload_vx.x.x.js | 74 + flow-typed/npm/vue-loader_vx.x.x.js | 129 + .../npm/vue-template-compiler_vx.x.x.js | 38 + flow-typed/npm/vue-thin-modal_vx.x.x.js | 53 + flow-typed/npm/vue_vx.x.x.js | 1264 ++++ flow-typed/npm/webpack-dev-server_vx.x.x.js | 151 + flow-typed/npm/webpack_vx.x.x.js | 1957 +++++ flow-typed/npm/x-img-diff-js_vx.x.x.js | 60 + package.json | 153 +- pnpm-lock.yaml | 6339 +++++++++++------ reg.json | 1 + reg.wasm | Bin 2489328 -> 0 bytes report/diff/sample.jpg | Bin 0 -> 24135 bytes report/index.html | 30 + .../sample/actual/sample.png | Bin .../sample/diff/sample.png | Bin .../sample/expected/sample.png | Bin report/worker.js | 2 + .../actual/sample(cal).png | Bin resource/expected/sample(cal).png | Bin 0 -> 43691 bytes resource/reg.json | 1 + rust-toolchain.toml | 3 - .../sample1.png => actual/sample.png} | Bin sample/detector.wasm | Bin 0 -> 1442916 bytes sample/diff/sample.png | Bin 0 -> 28829 bytes sample/diff/sample0.webp | Bin 5666 -> 0 bytes sample/expected/sample.png | Bin 0 -> 43691 bytes sample/reg.json | 12 + sample/worker.js | 1575 ++++ scripts/build-wasm.sh | 69 - scripts/release.sh | 64 - src/cli.js | 224 + src/cli.ts | 275 - src/diff.js | 78 + src/entry.ts | 183 - src/icon.js | 6 + src/image-finder.js | 27 + src/index.js | 229 + src/index.ts | 371 - src/log.js | 18 + src/process-adaptor.js | 43 + src/progress.ts | 47 - src/proxy.js | 79 - src/proxy.ts | 91 - src/report.js | 177 + src/tracing.ts | 412 -- src/utils.ts | 165 - src/worker.ts | 112 - src/ximgdiff.ts | 87 - test/cli.test.mjs | 1330 ++-- test/helpers/get-instance.js | 6 + test/library.test.mjs | 469 -- test/screenshot.js | 40 + tsconfig.json | 21 - 116 files changed, 17913 insertions(+), 7496 deletions(-) create mode 100644 .babelrc create mode 100644 .flowconfig create mode 100644 .npmignore create mode 100644 .travis.yml delete mode 100644 Cargo.toml create mode 100644 appveyor.yml delete mode 100644 build.config.ts delete mode 100644 crates/reg_cli/Cargo.toml delete mode 100644 crates/reg_cli/src/main.rs delete mode 100644 crates/reg_core/.gitignore delete mode 100644 crates/reg_core/Cargo.toml delete mode 100644 crates/reg_core/src/dir.rs delete mode 100644 crates/reg_core/src/lib.rs delete mode 100644 crates/reg_core/src/report.rs delete mode 100644 crates/reg_core/src/tracing_layer.rs create mode 100644 decls/cli-spinner.js create mode 100644 decls/glob.js create mode 100644 decls/img-diff.js create mode 100644 decls/mkdirp.js create mode 100644 decls/x-img-diff-js.js create mode 100644 dist/.keep create mode 100644 fixture.html create mode 100644 flow-typed/npm/avaron_vx.x.x.js create mode 100644 flow-typed/npm/babel-cli_vx.x.x.js create mode 100644 flow-typed/npm/babel-loader_vx.x.x.js create mode 100644 flow-typed/npm/babel-plugin-transform-es2015-block-scoping_vx.x.x.js create mode 100644 flow-typed/npm/babel-plugin-transform-flow-strip-types_vx.x.x.js create mode 100644 flow-typed/npm/babel-preset-es2015_vx.x.x.js create mode 100644 flow-typed/npm/babel-preset-es2016_vx.x.x.js create mode 100644 flow-typed/npm/babel-preset-es2017_vx.x.x.js create mode 100644 flow-typed/npm/babel-preset-stage-2_vx.x.x.js create mode 100644 flow-typed/npm/chalk_v2.x.x.js create mode 100644 flow-typed/npm/cli-spinner_vx.x.x.js create mode 100644 flow-typed/npm/copyfiles_vx.x.x.js create mode 100644 flow-typed/npm/cross-spawn_vx.x.x.js create mode 100644 flow-typed/npm/css-loader_vx.x.x.js create mode 100644 flow-typed/npm/flow-bin_v0.x.x.js create mode 100644 flow-typed/npm/flow-typed_vx.x.x.js create mode 100644 flow-typed/npm/glob_vx.x.x.js create mode 100644 flow-typed/npm/husky_vx.x.x.js create mode 100644 flow-typed/npm/img-diff-js_vx.x.x.js create mode 100644 flow-typed/npm/lodash_v4.x.x.js create mode 100644 flow-typed/npm/make-dir_vx.x.x.js create mode 100644 flow-typed/npm/md5-file_vx.x.x.js create mode 100644 flow-typed/npm/meow_v3.x.x.js create mode 100644 flow-typed/npm/mustache_vx.x.x.js create mode 100644 flow-typed/npm/nightmare_vx.x.x.js create mode 100644 flow-typed/npm/reg-keygen-git-hash-plugin_vx.x.x.js create mode 100644 flow-typed/npm/reg-notify-github-plugin_vx.x.x.js create mode 100644 flow-typed/npm/reg-publish-s3-plugin_vx.x.x.js create mode 100644 flow-typed/npm/reg-suit_vx.x.x.js create mode 100644 flow-typed/npm/require-extension-hooks-babel_vx.x.x.js create mode 100644 flow-typed/npm/require-extension-hooks-vue_vx.x.x.js create mode 100644 flow-typed/npm/require-extension-hooks_vx.x.x.js create mode 100644 flow-typed/npm/rimraf_v2.x.x.js create mode 100644 flow-typed/npm/uglify-js_vx.x.x.js create mode 100644 flow-typed/npm/uglifyjs-webpack-plugin_vx.x.x.js create mode 100644 flow-typed/npm/url-loader_vx.x.x.js create mode 100644 flow-typed/npm/vue-lazyload_vx.x.x.js create mode 100644 flow-typed/npm/vue-loader_vx.x.x.js create mode 100644 flow-typed/npm/vue-template-compiler_vx.x.x.js create mode 100644 flow-typed/npm/vue-thin-modal_vx.x.x.js create mode 100644 flow-typed/npm/vue_vx.x.x.js create mode 100644 flow-typed/npm/webpack-dev-server_vx.x.x.js create mode 100644 flow-typed/npm/webpack_vx.x.x.js create mode 100644 flow-typed/npm/x-img-diff-js_vx.x.x.js create mode 100644 reg.json delete mode 100755 reg.wasm create mode 100644 report/diff/sample.jpg create mode 100644 report/index.html rename sample/actual/sample0.png => report/sample/actual/sample.png (100%) rename sample/diff/sample0.png => report/sample/diff/sample.png (100%) rename sample/expected/sample0.png => report/sample/expected/sample.png (100%) create mode 100644 report/worker.js rename sample/actual/sample1.png => resource/actual/sample(cal).png (100%) create mode 100644 resource/expected/sample(cal).png create mode 100644 resource/reg.json delete mode 100644 rust-toolchain.toml rename sample/{expected/sample1.png => actual/sample.png} (100%) create mode 100644 sample/detector.wasm create mode 100644 sample/diff/sample.png delete mode 100644 sample/diff/sample0.webp create mode 100644 sample/expected/sample.png create mode 100644 sample/reg.json create mode 100644 sample/worker.js delete mode 100755 scripts/build-wasm.sh delete mode 100755 scripts/release.sh create mode 100644 src/cli.js delete mode 100644 src/cli.ts create mode 100644 src/diff.js delete mode 100644 src/entry.ts create mode 100644 src/icon.js create mode 100644 src/image-finder.js create mode 100644 src/index.js delete mode 100644 src/index.ts create mode 100644 src/log.js create mode 100644 src/process-adaptor.js delete mode 100644 src/progress.ts delete mode 100644 src/proxy.js delete mode 100644 src/proxy.ts create mode 100644 src/report.js delete mode 100644 src/tracing.ts delete mode 100644 src/utils.ts delete mode 100644 src/worker.ts delete mode 100644 src/ximgdiff.ts create mode 100644 test/helpers/get-instance.js delete mode 100644 test/library.test.mjs create mode 100644 test/screenshot.js delete mode 100644 tsconfig.json diff --git a/.babelrc b/.babelrc new file mode 100644 index 00000000..d2e7d8df --- /dev/null +++ b/.babelrc @@ -0,0 +1,19 @@ +{ + "presets": [ + [ + "@babel/preset-env", + { + "targets": "node 12.0" + } + ] + ], + "plugins": [ + "@babel/plugin-transform-flow-strip-types", + [ + "@babel/plugin-transform-block-scoping", + { + "throwIfClosureRequired": true + } + ] + ] +} \ No newline at end of file diff --git a/.flowconfig b/.flowconfig new file mode 100644 index 00000000..744cf459 --- /dev/null +++ b/.flowconfig @@ -0,0 +1,13 @@ +[ignore] +.*/node_modules/.* + +[include] + +[libs] +./decls + +[options] +suppress_comment= \\(.\\|\n\\)*\\$FlowIgnore +munge_underscores=true +module.ignore_non_literal_requires=true +esproposal.decorators=ignore \ No newline at end of file diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index fc0c68d0..9d675323 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,40 +1,23 @@ name: CI on: [push, pull_request] -permissions: - contents: read jobs: - # Wasm pipeline (the only pipeline now that the legacy JS impl is gone): - # uses the committed js/reg.wasm so we don't pay the wasi-sdk toolchain - # cost on every PR. Rust unit tests (`cargo test`) and the JS CLI/library - # integration tests (`node:test` via `pnpm test` in `js/`) both run here - # and cover junit/reg.json schema compat, -F/-X/-E, and the `compare()` - # EventEmitter surface (reg-suit drop-in). test: runs-on: ubuntu-latest steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 - - uses: pnpm/action-setup@b906affcce14559ad1aafd4ab0e942779e9f58b1 # v4.3.0 - - uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0 + - uses: actions/checkout@ff7abcd0c3c05ccf6adc123a8cd1fd4fb30fb493 + - uses: actions/setup-node@dda4788290998366da86b6a4f497909644397bb2 with: - node-version: 20 - # `reg_core` embeds `report/ui/dist/{report.js,style.css}` via - # `include_str!`, so `cargo test` fails before we even compile unless - # we materialise them first. The `build-ui.sh` script clones - # `reg-viz/reg-cli-report-ui` at a pinned tag and builds it with - # yarn (enabled via corepack in setup-node). - - name: enable corepack (yarn for report-ui build) + node-version: 22 + - name: corepack enable run: corepack enable - - name: build report-ui (report.js + style.css) - run: sh ./scripts/build-ui.sh v0.3.0 - - uses: actions-rust-lang/setup-rust-toolchain@2b1f5e9b395427c92ee4e3331786ca3c37afe2d7 # v1.16.0 - with: - toolchain: stable - - name: cargo test (reg_core) - run: cargo test -p reg_core --lib - - name: install + - name: corepack prepare pnpm + run: corepack prepare pnpm@10.14.0 --activate + - name: pnpm install run: pnpm install --frozen-lockfile - - name: build (dist + bundle reg.wasm) - run: pnpm build - - name: test (CLI + library) - run: pnpm test + - name: install chrome for puppeteer + run: pnpm exec puppeteer browsers install chrome + - name: flow + run: pnpm run flow + - name: test + run: pnpm run test diff --git a/.gitignore b/.gitignore index 4ea740de..2ad53959 100644 --- a/.gitignore +++ b/.gitignore @@ -1,10 +1,7 @@ /node_modules/* report/assets/cv-wasm_browser.* report/ui -/test/__workspace__/ -/.libtest-* -/.phase-h-* -/.phase-h-subdir/ +/test/__workspace__/* .DS_Store report.html /diff/* @@ -13,159 +10,3 @@ report.html /screenshot/* sample/index.html from-json.html -### Generated by gibo (https://github.com/simonwhitaker/gibo) -### https://raw.github.com/github/gitignore/e5323759e387ba347a9d50f8b0ddd16502eb71d4/Node.gitignore - -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -lerna-debug.log* -.pnpm-debug.log* - -# Diagnostic reports (https://nodejs.org/api/report.html) -report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json - -# Runtime data -pids -*.pid -*.seed -*.pid.lock - -# Directory for instrumented libs generated by jscoverage/JSCover -lib-cov - -# Coverage directory used by tools like istanbul -coverage -*.lcov - -# nyc test coverage -.nyc_output - -# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) -.grunt - -# Bower dependency directory (https://bower.io/) -bower_components - -# node-waf configuration -.lock-wscript - -# Compiled binary addons (https://nodejs.org/api/addons.html) -build/Release - -# Dependency directories -node_modules/ -jspm_packages/ - -# Snowpack dependency directory (https://snowpack.dev/) -web_modules/ - -# TypeScript cache -*.tsbuildinfo - -# Optional npm cache directory -.npm - -# Optional eslint cache -.eslintcache - -# Optional stylelint cache -.stylelintcache - -# Microbundle cache -.rpt2_cache/ -.rts2_cache_cjs/ -.rts2_cache_es/ -.rts2_cache_umd/ - -# Optional REPL history -.node_repl_history - -# Output of 'npm pack' -*.tgz - -# Yarn Integrity file -.yarn-integrity - -# dotenv environment variable files -.env -.env.development.local -.env.test.local -.env.production.local -.env.local - -# parcel-bundler cache (https://parceljs.org/) -.cache -.parcel-cache - -# Next.js build output -.next -out - -# Nuxt.js build / generate output -.nuxt -dist - -# Gatsby files -.cache/ -# Comment in the public line in if your project uses Gatsby and not Next.js -# https://nextjs.org/blog/next-9-1#public-directory-support -# public - -# vuepress build output -.vuepress/dist - -# vuepress v2.x temp and cache directory -.temp -.cache - -# Docusaurus cache and generated files -.docusaurus - -# Serverless directories -.serverless/ - -# FuseBox cache -.fusebox/ - -# DynamoDB Local files -.dynamodb/ - -# TernJS port file -.tern-port - -# Stores VSCode versions used for testing VSCode extensions -.vscode-test - -# yarn v2 -.yarn/cache -.yarn/unplugged -.yarn/build-state.yml -.yarn/install-state.gz -.pnp.* - - -### https://raw.github.com/github/gitignore/e5323759e387ba347a9d50f8b0ddd16502eb71d4/Rust.gitignore - -# Generated by Cargo -# will have compiled files and executables -debug/ -target/ - -# Remove Cargo.lock from gitignore if creating an executable, leave it for libraries -# More information here https://doc.rust-lang.org/cargo/guide/cargo-toml-vs-cargo-lock.html -Cargo.lock - -# These are backup files generated by rustfmt -**/*.rs.bk - -# MSVC Windows builds of rustc generate these, which store debugging information -*.pdb - -wasi-sdk-21.0 -wasi-sdk-* -m.md - diff --git a/.npmignore b/.npmignore new file mode 100644 index 00000000..e69de29b diff --git a/.prettierrc b/.prettierrc index 535e1101..2f9a61f2 100644 --- a/.prettierrc +++ b/.prettierrc @@ -3,4 +3,6 @@ printWidth: 120 tabWidth: 2 singleQuote: true trailingComma: "all" -semi: true +jsxBracketSameLine: false +parser: "flow" +semi: true \ No newline at end of file diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 00000000..436070af --- /dev/null +++ b/.travis.yml @@ -0,0 +1,14 @@ +os: + - linux + +language: node_js +node_js: + - '12' + - '10' +addons: + apt: + packages: + - xvfb +before_install: + - export DISPLAY=':99.0' + - Xvfb :99 -screen 0 1024x768x24 > /dev/null 2>&1 & diff --git a/Cargo.toml b/Cargo.toml deleted file mode 100644 index 53a605bb..00000000 --- a/Cargo.toml +++ /dev/null @@ -1,13 +0,0 @@ -[workspace] -resolver = "2" -members = [ - "crates/*", -] - -# Release optimization settings -[profile.release] -lto = true # Link Time Optimization - significantly improves performance -codegen-units = 1 # Maximize optimization (slower compile, faster runtime) -opt-level = 3 # Maximum optimization level -panic = "abort" # Skip unwinding on panic (smaller binary, faster) -strip = true # Remove debug symbols (smaller binary) diff --git a/README.md b/README.md index 98ff278c..49d91223 100644 --- a/README.md +++ b/README.md @@ -108,9 +108,3 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI ![reg-viz](https://raw.githubusercontent.com/reg-viz/artwork/master/repository/footer.png) -``` -export WASI_VERSION_FULL=24.0 -export WASI_SDK_PATH=`pwd`/wasi-sdk-${WASI_VERSION_FULL} -CFLAGS="--sysroot ${WASI_SDK_PATH}/share/wasi-sysroot" cargo build --release --target=wasm32-wasip1-threads -cp target/wasm32-wasip1-threads/release/reg_cli.wasm js/reg.wasm -``` \ No newline at end of file diff --git a/appveyor.yml b/appveyor.yml new file mode 100644 index 00000000..f0083136 --- /dev/null +++ b/appveyor.yml @@ -0,0 +1,20 @@ +# Test against the latest version of this Node.js version +environment: + nodejs_version: "12" + +# Install scripts. (runs after repo cloning) +install: + # Get the latest stable version of Node.js or io.js + - ps: Install-Product node $env:nodejs_version + # install modules + - npm i -g yarn + - yarn install --frozen-lockfile + +# Post-install test scripts. +test_script: + # run tests + - yarn build + - yarn run test + +# Don't actually build. +build: off diff --git a/build.config.ts b/build.config.ts deleted file mode 100644 index 400eb9a3..00000000 --- a/build.config.ts +++ /dev/null @@ -1,38 +0,0 @@ -import { defineBuildConfig } from 'unbuild'; -import { cp, mkdir } from 'node:fs/promises'; -import { dirname, join } from 'node:path'; - -// Browser-side worker sources that `ximgdiff.ts` concatenates at runtime -// when `-X client` is used. We stage them into dist/shared/ during build -// so the published package carries them without running any UI build on -// `npm install`. -async function stageXimgdiffSources(outDir: string): Promise { - // After collapsing js/ into the repo root this file lives at the root, - // so its dirname IS repoRoot. (Pre-collapse it was `js/..`.) - const repoRoot = dirname(new URL(import.meta.url).pathname); - const sharedOut = join(outDir, 'shared'); - await mkdir(sharedOut, { recursive: true }); - // `report/ui/dist/worker.js` is produced by `scripts/build-ui.sh v0.3.0` - // (also run during the wasm-test CI job before this build). - await cp( - join(repoRoot, 'report/ui/dist/worker.js'), - join(sharedOut, 'report-worker.js'), - ); - await cp( - join(repoRoot, 'template/worker_pre.js'), - join(sharedOut, 'worker_pre.js'), - ); -} - -export default defineBuildConfig({ - entries: ['./src/index.ts', './src/cli.ts', './src/worker.ts', './src/entry.ts'], - declaration: true, - rollup: { - emitCJS: true, - }, - hooks: { - 'build:done'(ctx): Promise { - return stageXimgdiffSources(ctx.options.outDir); - }, - }, -}); diff --git a/crates/reg_cli/Cargo.toml b/crates/reg_cli/Cargo.toml deleted file mode 100644 index 0942b6dc..00000000 --- a/crates/reg_cli/Cargo.toml +++ /dev/null @@ -1,14 +0,0 @@ -[package] -name = "cli" -version = "0.1.0" -edition = "2021" - -[[bin]] -name = "reg_cli" -path = "src/main.rs" - -[dependencies] -reg_core = { path = "../reg_core" } -clap = { version = "4", features = ["derive"] } -serde_json = { version = "1.0" } -tracing = "0.1" \ No newline at end of file diff --git a/crates/reg_cli/src/main.rs b/crates/reg_cli/src/main.rs deleted file mode 100644 index 0e23a0a4..00000000 --- a/crates/reg_cli/src/main.rs +++ /dev/null @@ -1,242 +0,0 @@ -use clap::{Parser, ValueEnum}; -use reg_core::{run, run_from_json, DiffImageFormat, JsonReport, Options, Url}; -use std::path::{Path, PathBuf}; -use tracing::info_span; - -#[derive(ValueEnum, Debug, Clone, Copy, PartialEq, Eq)] -enum DiffFormatArg { - Webp, - Png, -} - -impl From for DiffImageFormat { - fn from(f: DiffFormatArg) -> Self { - match f { - DiffFormatArg::Webp => DiffImageFormat::Webp, - DiffFormatArg::Png => DiffImageFormat::Png, - } - } -} - -#[derive(ValueEnum, Debug, Clone, Copy, PartialEq, Eq)] -enum AdditionalDetection { - None, - Client, -} - -#[derive(Parser, Debug)] -#[command(author, version, about, long_about = None)] -struct Args { - #[clap(index = 1)] - actual_dir: Option, - - #[clap(index = 2)] - expected_dir: Option, - - #[clap(index = 3)] - diff_dir: Option, - - #[arg(short = 'R', long)] - report: Option, - - #[arg(short = 'J', long)] - json: Option, - - /// Path to write the JUnit XML test report. - #[arg(long = "junit")] - junit: Option, - - /// Escalate added/deleted images to failures in the JUnit XML (and at - /// the CLI exit-code layer on the JS wrapper). Mirrors classic - /// reg-cli's `-E, --extendedErrors`. - #[arg(short = 'E', long = "extendedErrors", default_missing_value = "true", num_args = 0..=1)] - extended_errors: Option, - - #[arg(short = 'M', long = "matchingThreshold")] - matching_threshold: Option, - - #[arg(short = 'T', long = "thresholdRate")] - threshold_rate: Option, - - #[arg(short = 'S', long = "thresholdPixel")] - threshold_pixel: Option, - - #[arg(short = 'P', long = "urlPrefix")] - url_prefix: Option, - - #[arg(short = 'C', long)] - concurrency: Option, - - #[arg(short = 'A', long = "enableAntialias", default_missing_value = "true", num_args = 0..=1)] - enable_antialias: Option, - - /// Output format for diff images. `webp` (default) matches the current - /// Rust/Wasm behaviour. `png` matches the classic JS implementation. - #[arg(long = "diffFormat", value_enum)] - diff_format: Option, - - /// Re-render HTML report from an existing reg.json (no image comparison). - /// Mirrors classic reg-cli's `-F, --from`. - #[arg(short = 'F', long = "from")] - from: Option, - - /// Enable the HTML report's client-side additional detection pass. - /// Mirrors classic reg-cli's `-X, --additionalDetection`. - #[arg(short = 'X', long = "additionalDetection", value_enum)] - additional_detection: Option, -} - -#[cfg(not(all(target_os = "wasi", target_env = "p1")))] -pub fn main() { - // Initialize tracing for non-WASI builds - reg_core::init_tracing(); - let _ = inner(); -} - -#[cfg(all(target_os = "wasi", target_env = "p1"))] -pub fn main() { - // NOP -} - -fn inner() -> Result { - let _root_span = info_span!("reg_cli_main").entered(); - - let args = Args::parse(); - - let options = Options { - report: args.report.as_deref().map(Path::new), - junit_report: args.junit.as_deref().map(Path::new), - json: args.json.as_deref().map(Path::new), - extended_errors: args.extended_errors, - matching_threshold: args.matching_threshold, - threshold_rate: args.threshold_rate, - threshold_pixel: args.threshold_pixel, - concurrency: args.concurrency, - enable_antialias: args.enable_antialias, - url_prefix: args.url_prefix, - diff_image_format: args.diff_format.map(DiffImageFormat::from), - enable_client_additional_detection: args - .additional_detection - .map(|v| matches!(v, AdditionalDetection::Client)), - }; - - // `-F / --from` short-circuits the diff pipeline and re-renders HTML from - // an existing reg.json. Positional dirs are not required in this mode. - if let Some(from) = args.from.as_deref() { - return run_from_json(from, options); - } - - let actual_dir = args.actual_dir.ok_or_else(|| { - std::io::Error::new( - std::io::ErrorKind::InvalidInput, - "actual_dir is required (or pass --from to regenerate from reg.json)", - ) - })?; - let expected_dir = args.expected_dir.ok_or_else(|| { - std::io::Error::new( - std::io::ErrorKind::InvalidInput, - "expected_dir is required", - ) - })?; - let diff_dir = args.diff_dir.ok_or_else(|| { - std::io::Error::new(std::io::ErrorKind::InvalidInput, "diff_dir is required") - })?; - - run(actual_dir, expected_dir, diff_dir, options) -} - -#[cfg(all(target_os = "wasi", target_env = "p1"))] -#[repr(C)] -pub struct WasmOutput { - pub len: usize, - pub buf: *mut u8, -} - -#[cfg(all(target_os = "wasi", target_env = "p1"))] -#[no_mangle] -pub extern "C" fn init_tracing() { - reg_core::init_tracing(); -} - -/// Set JS trace context for context propagation -/// trace_id_ptr: pointer to trace_id string (null-terminated or with length) -/// trace_id_len: length of trace_id string -/// span_id_ptr: pointer to parent span_id string -/// span_id_len: length of span_id string -#[cfg(all(target_os = "wasi", target_env = "p1"))] -#[no_mangle] -pub unsafe extern "C" fn set_trace_context( - trace_id_ptr: *const u8, - trace_id_len: usize, - span_id_ptr: *const u8, - span_id_len: usize, -) { - let trace_id = if trace_id_ptr.is_null() || trace_id_len == 0 { - None - } else { - let slice = std::slice::from_raw_parts(trace_id_ptr, trace_id_len); - std::str::from_utf8(slice).ok() - }; - - let span_id = if span_id_ptr.is_null() || span_id_len == 0 { - None - } else { - let slice = std::slice::from_raw_parts(span_id_ptr, span_id_len); - std::str::from_utf8(slice).ok() - }; - - reg_core::set_js_trace_context(trace_id, span_id); -} - -#[cfg(all(target_os = "wasi", target_env = "p1"))] -#[no_mangle] -pub extern "C" fn wasm_main() -> *mut WasmOutput { - let res = inner(); - if let Ok(res) = res { - let mut s = serde_json::to_string_pretty(&res).unwrap(); - - let len = s.len(); - let ptr = s.as_mut_ptr(); - std::mem::forget(s); - - let output = Box::new(WasmOutput { len, buf: ptr }); - Box::into_raw(output) - } else { - eprintln!("Failed to exec wasm main. Error details: {:?}", res); - panic!("Failed to exec wasm main. reason: {:?}", res); - } -} - -/// Get collected trace data as JSON string -/// Returns a pointer to WasmOutput containing JSON trace data -#[cfg(all(target_os = "wasi", target_env = "p1"))] -#[no_mangle] -pub extern "C" fn get_trace_data() -> *mut WasmOutput { - let mut trace_json = reg_core::get_trace_data_json(); - - let len = trace_json.len(); - let ptr = trace_json.as_mut_ptr(); - std::mem::forget(trace_json); - - let output = Box::new(WasmOutput { len, buf: ptr }); - Box::into_raw(output) -} - -/// Clear all collected trace data -#[cfg(all(target_os = "wasi", target_env = "p1"))] -#[no_mangle] -pub extern "C" fn clear_trace_data() { - reg_core::clear_trace_data(); -} - -#[cfg(all(target_os = "wasi", target_env = "p1"))] -#[no_mangle] -pub extern "C" fn free_wasm_output(ptr: *mut WasmOutput) { - if ptr.is_null() { - return; - } - unsafe { - let output = Box::from_raw(ptr); - Vec::from_raw_parts(output.buf, output.len, output.len); - } -} diff --git a/crates/reg_core/.gitignore b/crates/reg_core/.gitignore deleted file mode 100644 index a5a74d75..00000000 --- a/crates/reg_core/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/reg.json diff --git a/crates/reg_core/Cargo.toml b/crates/reg_core/Cargo.toml deleted file mode 100644 index e4a7308a..00000000 --- a/crates/reg_core/Cargo.toml +++ /dev/null @@ -1,29 +0,0 @@ -[package] -name = "reg_core" -version = "0.1.0" -edition = "2021" - -# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html - -[lib] -name = "reg_core" -path = "src/lib.rs" - -[dependencies] -image-diff-rs = { git = "https://github.com/bokuweb/image-diff-rs.git", tag = "0.1.1" } -rayon = "1.8" -mustache = "0.9.0" -serde = { version = "1.0.207", features = ["derive"] } -serde_json = "1.0.125" -bytes = "1.7.1" -urlencoding = "2.1.3" -base64 = "0.22" -pathdiff = "0.2.1" -thiserror = "1.0" -url = "2.5.2" -tracing = "0.1" -tracing-subscriber = { version = "0.3", features = ["json"] } -once_cell = "1.19" - -[dev-dependencies] -tempfile = "3" diff --git a/crates/reg_core/src/dir.rs b/crates/reg_core/src/dir.rs deleted file mode 100644 index 56ffd342..00000000 --- a/crates/reg_core/src/dir.rs +++ /dev/null @@ -1,68 +0,0 @@ -use std::path::{Path, PathBuf}; - -pub(crate) fn dirname(path: &Path) -> PathBuf { - if path.file_name().is_some() { - path.parent().unwrap_or_else(|| Path::new("")).to_path_buf() - } else { - path.to_path_buf() - } -} - -/// Compute `target` relative to `base`'s directory. -/// -/// `pathdiff::diff_paths` returns `None` when one path is absolute and the -/// other is relative (e.g. user ran reg-cli with a relative fixture dir but -/// an absolute report path). Historically this panicked. To be robust we -/// canonicalize both sides to absolute via the current working directory -/// before diffing; if diff still fails, return the target unchanged. -pub(crate) fn resolve_dir(base: &Path, target: &Path) -> PathBuf { - let base_dir = dirname(base); - - if base_dir.is_absolute() == target.is_absolute() { - if let Some(p) = pathdiff::diff_paths(target, &base_dir) { - return p; - } - } - - // Mixed absolute/relative — try to normalize through $CWD. - let cwd = std::env::current_dir().unwrap_or_default(); - let abs_base = if base_dir.is_absolute() { - base_dir.clone() - } else { - cwd.join(&base_dir) - }; - let abs_target = if target.is_absolute() { - target.to_path_buf() - } else { - cwd.join(target) - }; - pathdiff::diff_paths(&abs_target, &abs_base).unwrap_or_else(|| target.to_path_buf()) -} - -#[cfg(test)] -mod tests { - use super::*; - - #[test] - fn both_relative() { - let r = resolve_dir(Path::new("a/b/reg.json"), Path::new("a/c/diff")); - assert_eq!(r, Path::new("../c/diff")); - } - - #[test] - fn both_absolute() { - let r = resolve_dir(Path::new("/a/b/reg.json"), Path::new("/a/c/diff")); - assert_eq!(r, Path::new("../c/diff")); - } - - #[test] - fn mixed_absolute_base_relative_target_no_panic() { - // Prior to the fix this panicked with `pathdiff returned None`. - let _ = resolve_dir(Path::new("/tmp/out/reg.json"), Path::new("fixtures/actual")); - } - - #[test] - fn mixed_relative_base_absolute_target_no_panic() { - let _ = resolve_dir(Path::new("bench/reg.json"), Path::new("/tmp/actual")); - } -} diff --git a/crates/reg_core/src/lib.rs b/crates/reg_core/src/lib.rs deleted file mode 100644 index 2eb5db3a..00000000 --- a/crates/reg_core/src/lib.rs +++ /dev/null @@ -1,758 +0,0 @@ -mod dir; -mod report; -pub mod tracing_layer; - -use image_diff_rs::{DiffOption, DiffOutput, EncodeFormat, ImageDiffError}; -use rayon::{prelude::*, ThreadPoolBuilder}; -use report::create_reports; -use std::{ - collections::BTreeSet, - path::{Path, PathBuf}, -}; -use tracing::{info, info_span, instrument}; - -use thiserror::Error; - -pub use report::JsonReport; -pub use tracing_layer::{clear_trace_data, get_trace_data_json, init_tracing, set_js_trace_context, SpanData, TraceData}; -pub use url::*; - -#[derive(Error, Debug)] -pub enum CompareError { - #[error("file io error, {0}")] - File(#[from] std::io::Error), - #[error("image diff error, {0}")] - ImageDiff(#[from] ImageDiffError), - #[error("unknown error")] - Unknown, -} - -static SUPPORTED_EXTENTIONS: [&str; 7] = ["tiff", "jpeg", "jpg", "gif", "png", "bmp", "webp"]; - -/// Per-file outcome of the parallel diff loop. We never propagate -/// per-image errors out of the rayon closure — instead each failure is -/// logged to stderr, fired as a `compare-event` of kind "fail", and -/// folded into the `failedItems` bucket downstream. This matches classic -/// reg-cli's tolerance (it forks per image, so a single corrupt PNG -/// can't sink the whole batch). -enum ImageOutcome { - Ok(DiffOutput), - Failed, -} - -static DEFAULT_JSON_PATH: &'static str = "./reg.json"; -static DEFAULT_REPORT_PATH: &'static str = "./report.html"; - -/// Magic line prefix that the JS host (`js/entry.ts`, `js/worker.ts`) parses -/// out of the Wasm's stderr stream to produce live `compare` events on the -/// `EventEmitter` returned by `compare()`. Mirrors classic reg-cli's -/// `ProcessAdaptor` which fires per-file events as each image finishes -/// diffing, so reg-suit spinners and progress UIs animate. -/// -/// Format (one event per line, TAB-delimited, newline-terminated): -/// -/// __REG_CLI_EVT__\t{"type":"pass|fail|new|delete","path":"..."}\n -/// -/// Everything else on stderr is forwarded through to `console.error` on the -/// host, so actual errors still reach users. -const PROGRESS_MARKER: &str = "__REG_CLI_EVT__"; - -/// Print a live progress event to stderr. Uses JSON for the payload so that -/// arbitrary characters in `path` (Unicode, backslashes on Windows, tabs, -/// newlines) don't break the downstream parser. Flushing here would be -/// nice-to-have but `eprintln!` already flushes to the WASI fd per-call. -fn emit_progress(kind: &'static str, path: &str) { - let payload = serde_json::json!({ "type": kind, "path": path }); - eprintln!("{}\t{}", PROGRESS_MARKER, payload); -} - -fn is_supported_extension(path: &Path) -> bool { - if let Some(extension) = path.extension() { - if let Some(ext_str) = extension.to_str() { - return SUPPORTED_EXTENTIONS.contains(&ext_str.to_lowercase().as_str()); - } - } - false -} - -#[derive(Debug)] -pub(crate) struct DetectedImages { - pub(crate) expected: BTreeSet, - pub(crate) actual: BTreeSet, - pub(crate) deleted: BTreeSet, - pub(crate) new: BTreeSet, -} - -/// Options for configuring the comparison process. -/// -/// # Fields -/// -/// * `report` - An optional path to a report file. -/// * `threshold_rate` - An optional threshold rate for comparison. -/// * `threshold_pixel` - An optional threshold pixel count for comparison. -/// * `enable_antialias` - An optional flag to enable or disable antialiasing. -#[derive(Debug)] -pub struct Options<'a> { - pub report: Option<&'a Path>, - /// Where to write the JUnit XML report. `None` means no junit output. - pub junit_report: Option<&'a Path>, - pub json: Option<&'a Path>, - /// Mirror of classic reg-cli's `-E / --extendedErrors`. Affects only the - /// JUnit XML: new/deleted items become `` / - /// `"deletedItem"` instead of silent passed testcases. Non-junit exit - /// code behaviour is still driven by the CLI wrapper itself. - pub extended_errors: Option, - // update?: boolean, - pub url_prefix: Option, - pub matching_threshold: Option, - pub threshold_rate: Option, - pub threshold_pixel: Option, - pub concurrency: Option, - pub enable_antialias: Option, - /// Format for the generated diff images. `None` keeps the default - /// (WebP lossless). Setting `Some(Png)` makes the output apples-to-apples - /// with the classic JS implementation. - pub diff_image_format: Option, - /// Mirror of classic reg-cli's `--additionalDetection client`. When set, - /// the HTML report's `ximgdiffConfig.enabled` is `true` and the report UI - /// runs a second-pass pixel detector in the browser. - pub enable_client_additional_detection: Option, -} - -/// User-facing mirror of `image_diff_rs::EncodeFormat` so that `reg_core` -/// consumers don't have to depend on image-diff-rs directly. -#[derive(Debug, Copy, Clone, PartialEq, Eq, Default)] -pub enum DiffImageFormat { - #[default] - Webp, - Png, -} - -impl From for EncodeFormat { - fn from(f: DiffImageFormat) -> Self { - match f { - DiffImageFormat::Webp => EncodeFormat::Webp, - DiffImageFormat::Png => EncodeFormat::Png, - } - } -} - -impl DiffImageFormat { - fn extension(self) -> &'static str { - match self { - DiffImageFormat::Webp => "webp", - DiffImageFormat::Png => "png", - } - } -} - -impl<'a> Default for Options<'a> { - fn default() -> Self { - Self { - report: None, - junit_report: None, - json: Some(Path::new(DEFAULT_JSON_PATH)), - extended_errors: None, - url_prefix: None, - matching_threshold: Some(0.0), - threshold_rate: None, - threshold_pixel: None, - concurrency: Some(4), - enable_antialias: None, - diff_image_format: None, - enable_client_additional_detection: None, - } - } -} - -/// Runs the comparison process. -/// -/// # Arguments -/// -/// * `actual_dir` - The directory containing the actual images. -/// * `expected_dir` - The directory containing the expected images. -/// * `diff_dir` - The directory where the diff images will be saved. -/// * `options` - The options for configuring the comparison process. -#[instrument(skip(options), fields(actual_dir = %actual_dir.as_ref().display(), expected_dir = %expected_dir.as_ref().display(), diff_dir = %diff_dir.as_ref().display()))] -pub fn run( - actual_dir: impl AsRef, - expected_dir: impl AsRef, - diff_dir: impl AsRef, - options: Options, -) -> Result { - let actual_dir = actual_dir.as_ref(); - let expected_dir = expected_dir.as_ref(); - let diff_dir = diff_dir.as_ref(); - let json_path = options.json.unwrap_or_else(|| Path::new(DEFAULT_JSON_PATH)); - let report = options - .report - .unwrap_or_else(|| Path::new(DEFAULT_REPORT_PATH)); - - info!( - actual_dir = %actual_dir.display(), - expected_dir = %expected_dir.display(), - diff_dir = %diff_dir.display(), - "Starting image comparison" - ); - - let detected = find_images(&expected_dir, &actual_dir); - - // Emit `new` / `delete` progress events up front — classic reg-cli - // fires these before the per-image diff loop starts, and reg-suit / - // spinners depend on live progress. See `emit_progress` for the wire - // format and `js/entry.ts` for the receiving side. - for p in &detected.new { - emit_progress("new", &p.display().to_string()); - } - for p in &detected.deleted { - emit_progress("delete", &p.display().to_string()); - } - - let targets: Vec = detected - .actual - .intersection(&detected.expected) - .cloned() - .collect(); - - // Match classic reg-cli (src/index.js:77): for small image sets the - // rayon thread-pool spin-up + cross-thread span dance costs more than - // any parallelism buys. Force single-threaded until we cross the - // classic's 20-image threshold. - let concurrency = if targets.len() < 20 { - 1 - } else { - options.concurrency.unwrap_or(4) - }; - info!(target_count = targets.len(), concurrency, "Starting parallel image diff"); - - let pool = { - let _pool_span = info_span!("build_thread_pool", num_threads = concurrency).entered(); - ThreadPoolBuilder::new() - .num_threads(concurrency) - .build() - .unwrap() - }; - - let result = { - let diff_span = info_span!("parallel_image_diff", target_count = targets.len()); - let _diff_guard = diff_span.enter(); - - // Capture the parent span to propagate to rayon threads - let parent_span = diff_span.clone(); - - pool.install(|| { - // Note: There may be ~20-30ms delay here due to rayon thread scheduling overhead - // This is especially noticeable in WASI environments - targets - .par_iter() - .map(|path| { - // Explicitly set parent span for cross-thread context propagation - let image_span = info_span!(parent: parent_span.clone(), "diff_single_image", image = %path.display()); - let _image_guard = image_span.enter(); - - let actual_path = actual_dir.join(path); - let expected_path = expected_dir.join(path); - - // Per-file failure policy: read OR decode errors are - // logged to stderr, classified as "fail" via a live - // compare-event, and counted into `failedItems`. We - // never propagate them up — one corrupt PNG must not - // abort a 1000-image batch (parity with classic - // reg-cli, which forks-per-image and tolerates child - // crashes individually). - let img1 = match std::fs::read(&actual_path) { - Ok(b) => b, - Err(e) => { - eprintln!( - "[reg-cli] failed to read actual {}: {}", - actual_path.display(), - e - ); - emit_progress("fail", &path.display().to_string()); - return (path.clone(), ImageOutcome::Failed); - } - }; - let img2 = match std::fs::read(&expected_path) { - Ok(b) => b, - Err(e) => { - eprintln!( - "[reg-cli] failed to read expected {}: {}", - expected_path.display(), - e - ); - emit_progress("fail", &path.display().to_string()); - return (path.clone(), ImageOutcome::Failed); - } - }; - - let res = { - let _calc_span = info_span!(parent: image_span.clone(), "calculate_diff", - actual_size = img1.len(), - expected_size = img2.len() - ).entered(); - match image_diff_rs::diff( - img1, - img2, - &DiffOption { - threshold: options.matching_threshold, - include_anti_alias: Some(!options.enable_antialias.unwrap_or_default()), - encode_format: options - .diff_image_format - .map(EncodeFormat::from), - }, - ) { - Ok(r) => r, - Err(e) => { - eprintln!( - "[reg-cli] failed to diff {}: {}", - path.display(), - e - ); - emit_progress("fail", &path.display().to_string()); - return (path.clone(), ImageOutcome::Failed); - } - } - }; - - // Fire the live pass/fail event as early as we can — - // right after the pixel-diff completes, before the - // caller-thread serialises through `collect`. Classify - // here (not in the post-collect loop) so consumers see - // progress while other rayon threads are still working - // on remaining images. - let kind = match &res { - DiffOutput::Eq => "pass", - DiffOutput::NotEq { - diff_count, - width, - height, - .. - } => { - if is_passed( - *width, - *height, - *diff_count as u64, - options.threshold_pixel, - options.threshold_rate, - ) { - "pass" - } else { - "fail" - } - } - }; - emit_progress(kind, &path.display().to_string()); - - (path.clone(), ImageOutcome::Ok(res)) - }) - .collect::>() - }) - }; - - let mut differences = BTreeSet::new(); - let mut passed = BTreeSet::new(); - let mut failed = BTreeSet::new(); - - for (image_name, item) in result.iter() { - match item { - ImageOutcome::Failed => { - // Per-file read/decode failure: count as failed but - // don't try to write a diff image (we have no pixels). - failed.insert(image_name.clone()); - } - ImageOutcome::Ok(DiffOutput::Eq) => { - passed.insert(image_name.clone()); - } - ImageOutcome::Ok(DiffOutput::NotEq { - diff_count, - diff_image, - width, - height, - }) => { - if is_passed( - width.clone(), - height.clone(), - diff_count.clone() as u64, - options.threshold_pixel, - options.threshold_rate, - ) { - passed.insert(image_name.clone()); - } else { - let mut diff_image_name = image_name.clone(); - failed.insert(image_name.clone()); - diff_image_name.set_extension( - options - .diff_image_format - .unwrap_or_default() - .extension(), - ); - differences.insert(diff_image_name.clone()); - - let diff_path = diff_dir.join(&diff_image_name); - if let Some(parent) = diff_path.parent() { - std::fs::create_dir_all(parent).map_err(|e| { - eprintln!("Failed to create diff directory: {:?}, error: {:?}", parent, e); - e - })?; - } - std::fs::write(&diff_path, diff_image).map_err(|e| { - eprintln!("Failed to write diff file: {:?}, error: {:?}", diff_path, e); - e - })?; - } - } - } - } - - let report = { - let _report_span = info_span!("create_reports").entered(); - info!( - passed_count = passed.len(), - failed_count = failed.len(), - new_count = detected.new.len(), - deleted_count = detected.deleted.len(), - "Creating reports" - ); - create_reports(report::ReportInput { - passed, - failed, - new: detected.new, - deleted: detected.deleted, - actual: detected.actual, - expected: detected.expected, - report, - differences, - json: json_path, - actual_dir, - expected_dir, - diff_dir, - from_json: false, - url_prefix: options.url_prefix, - diff_image_extention: options - .diff_image_format - .unwrap_or_default() - .extension(), - enable_client_additional_detection: options - .enable_client_additional_detection - .unwrap_or(false), - }) - }; - - if let (Some(html), Some(report_path)) = (report.html, options.report) { - let _write_span = info_span!("write_report", path = %report_path.display()).entered(); - if let Some(parent) = report_path.parent() { - std::fs::create_dir_all(parent).map_err(|e| { - eprintln!("Failed to create report directory: {:?}, error: {:?}", parent, e); - e - })?; - } - std::fs::write(report_path, html).map_err(|e| { - eprintln!("Failed to write report file: {:?}, error: {:?}", report_path, e); - e - })?; - info!(path = %report_path.display(), "Report written"); - }; - - // Persist reg.json to disk. Previously this was done on the JS side after - // the Wasm returned the string; moving it to Rust makes the contract - // symmetric with HTML / diff images (reg_core writes every artefact it - // knows how to produce) and keeps the non-wasm `cargo run` CLI useful. - { - let _write_span = info_span!("write_json", path = %json_path.display()).entered(); - if let Some(parent) = json_path.parent() { - std::fs::create_dir_all(parent).ok(); - } - let body = serde_json::to_string_pretty(&report.json).map_err(|e| { - eprintln!("Failed to serialize reg.json: {:?}", e); - std::io::Error::new(std::io::ErrorKind::Other, e) - })?; - std::fs::write(json_path, body + "\n").map_err(|e| { - eprintln!("Failed to write {:?}: {:?}", json_path, e); - e - })?; - } - - // JUnit XML (optional). - if let Some(junit_path) = options.junit_report { - let _write_span = info_span!("write_junit", path = %junit_path.display()).entered(); - if let Some(parent) = junit_path.parent() { - std::fs::create_dir_all(parent).ok(); - } - let xml = report::build_junit_xml( - &report.json, - options.extended_errors.unwrap_or(false), - ); - std::fs::write(junit_path, xml).map_err(|e| { - eprintln!("Failed to write {:?}: {:?}", junit_path, e); - e - })?; - } - - info!("Comparison complete"); - Ok(report.json) -} - -/// Re-render the HTML report from an existing `reg.json` WITHOUT running any -/// image comparison. Mirrors classic reg-cli's `-F / --from` mode. -/// -/// `json_path` is the source reg.json; `options.report` is where to write -/// the resulting HTML; `options.junit_report` / `options.enable_client_*` are -/// honoured as usual. -pub fn run_from_json( - json_path: impl AsRef, - options: Options, -) -> Result { - let _root = info_span!("run_from_json", path = %json_path.as_ref().display()).entered(); - let content = std::fs::read_to_string(json_path.as_ref())?; - let json: JsonReport = serde_json::from_str(&content).map_err(|e| { - eprintln!("Failed to parse {:?}: {:?}", json_path.as_ref(), e); - std::io::Error::new(std::io::ErrorKind::InvalidData, e) - })?; - - let report_path = options - .report - .unwrap_or_else(|| Path::new(DEFAULT_REPORT_PATH)); - let out_json_path = options.json.unwrap_or_else(|| Path::new(DEFAULT_JSON_PATH)); - - // Rebuild ReportInput fields from the parsed JsonReport. Note: the JSON's - // actualDir / expectedDir / diffDir are already strings the template - // expects, so `from_json: true` makes the template use them verbatim - // rather than re-resolving via `resolve_dir`. - let report = { - let _s = info_span!("create_reports_from_json").entered(); - create_reports(report::ReportInput { - passed: json.passed_items.clone(), - failed: json.failed_items.clone(), - new: json.new_items.clone(), - deleted: json.deleted_items.clone(), - actual: json.actual_items.clone(), - expected: json.expected_items.clone(), - differences: json.diff_items.clone(), - report: report_path, - json: out_json_path, - actual_dir: Path::new(&json.actual_dir), - expected_dir: Path::new(&json.expected_dir), - diff_dir: Path::new(&json.diff_dir), - from_json: true, - url_prefix: options.url_prefix, - diff_image_extention: options - .diff_image_format - .unwrap_or_default() - .extension(), - enable_client_additional_detection: options - .enable_client_additional_detection - .unwrap_or(false), - }) - }; - - if let Some(html) = report.html { - if let Some(parent) = report_path.parent() { - std::fs::create_dir_all(parent).ok(); - } - std::fs::write(report_path, html)?; - info!(path = %report_path.display(), "Report written (from-json mode)"); - } - - if let Some(junit_path) = options.junit_report { - if let Some(parent) = junit_path.parent() { - std::fs::create_dir_all(parent).ok(); - } - std::fs::write( - junit_path, - report::build_junit_xml(&report.json, options.extended_errors.unwrap_or(false)), - )?; - } - - Ok(report.json) -} - -// Recursively collect supported image files under `root`, returning paths -// relative to `root` (not absolute). -// -// We avoid `glob::glob` here even though the upstream API would be a -// one-liner. Rationale: -// -// `glob::glob("deep/a/b/actual/**/*")` walks from `.` and opens each -// intermediate directory (`.`, `deep`, `deep/a`, …) to enumerate. Under -// our WASI sandbox the preopen we register is the common-ancestor -// directory (e.g. `./deep/a/b`), so `.` / `deep` / `deep/a` are OUTSIDE -// the sandbox and `read_dir` on them fails. glob swallows that error -// and returns 0 matches — silent data loss: reg.json comes back with -// every list empty, exit code 0, HTML report says "success". -// -// `std::fs::read_dir(root)` on the other hand starts at an absolute-ish -// path that wasi-libc's `__wasilibc_find_relpath` CAN resolve to the -// preopen fd directly (verified empirically). So a direct recursive -// walker starting at `root` sidesteps the trap without needing any -// sandbox widening. -fn walk_images(root: &Path) -> BTreeSet { - let mut out = BTreeSet::new(); - // `root` itself might not exist (e.g. a brand-new actual/ dir that a - // user forgot to populate). Classic reg-cli treats that as "no images - // here" rather than erroring out, so we do too. - let Ok(entries) = std::fs::read_dir(root) else { - return out; - }; - let mut stack: Vec = vec![entries]; - while let Some(dir) = stack.last_mut() { - match dir.next() { - Some(Ok(entry)) => { - let p = entry.path(); - let Ok(ft) = entry.file_type() else { continue }; - if ft.is_dir() { - if let Ok(sub) = std::fs::read_dir(&p) { - stack.push(sub); - } - } else if is_supported_extension(&p) { - // Strip `root` so callers get repo-relative paths like - // `sample.png` or `sub/sample.png`, matching what - // glob used to produce after `.strip_prefix(root)`. - if let Ok(rel) = p.strip_prefix(root) { - out.insert(rel.to_path_buf()); - } - } - } - Some(Err(_)) | None => { - stack.pop(); - } - } - } - out -} - -#[instrument(fields(expected_dir = %expected_dir.as_ref().display(), actual_dir = %actual_dir.as_ref().display()))] -pub(crate) fn find_images( - expected_dir: impl AsRef, - actual_dir: impl AsRef, -) -> DetectedImages { - let expected_dir = expected_dir.as_ref(); - let actual_dir = actual_dir.as_ref(); - - let expected: BTreeSet = walk_images(expected_dir); - let actual: BTreeSet = walk_images(actual_dir); - - let deleted: BTreeSet = expected.difference(&actual).cloned().collect(); - let new: BTreeSet = actual.difference(&expected).cloned().collect(); - - info!( - expected_count = expected.len(), - actual_count = actual.len(), - deleted_count = deleted.len(), - new_count = new.len(), - "Found images" - ); - - DetectedImages { - expected, - actual, - deleted, - new, - } -} - -fn is_passed( - width: u32, - height: u32, - diff_count: u64, - threshold_pixel: Option, - threshold_rate: Option, -) -> bool { - if let Some(t) = threshold_pixel { - diff_count <= t - } else if let Some(t) = threshold_rate { - let pixel = width * height; - let ratio = diff_count as f32 / pixel as f32; - ratio <= t - } else { - diff_count == 0 - } -} - -#[cfg(test)] -mod per_image_failure_tests { - use super::*; - use std::fs; - - /// Smallest possible 1×1 PNG (transparent pixel). Used for the - /// "valid neighbour" image so we can assert that a corrupt sibling - /// doesn't sink the whole batch. - const TINY_PNG: &[u8] = &[ - 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, 0x49, 0x48, 0x44, - 0x52, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x08, 0x06, 0x00, 0x00, 0x00, 0x1f, - 0x15, 0xc4, 0x89, 0x00, 0x00, 0x00, 0x0d, 0x49, 0x44, 0x41, 0x54, 0x78, 0x9c, 0x63, 0x00, - 0x01, 0x00, 0x00, 0x05, 0x00, 0x01, 0x0d, 0x0a, 0x2d, 0xb4, 0x00, 0x00, 0x00, 0x00, 0x49, - 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82, - ]; - - fn mkdirs(root: &Path) -> (PathBuf, PathBuf, PathBuf) { - let actual = root.join("actual"); - let expected = root.join("expected"); - let diff = root.join("diff"); - fs::create_dir_all(&actual).unwrap(); - fs::create_dir_all(&expected).unwrap(); - fs::create_dir_all(&diff).unwrap(); - (actual, expected, diff) - } - - /// A single corrupt PNG (0 bytes) on both sides must NOT bubble up - /// as `Err(CompareError)`. It must show up as a `failedItems` entry, - /// while the neighbouring valid pair still passes through normally. - #[test] - fn corrupt_png_is_recorded_as_failed_not_propagated() { - let tmp = tempfile::tempdir().unwrap(); - let (actual, expected, diff) = mkdirs(tmp.path()); - - // Valid pair (same bytes → pass) - fs::write(actual.join("good.png"), TINY_PNG).unwrap(); - fs::write(expected.join("good.png"), TINY_PNG).unwrap(); - - // Corrupt pair: looks like a PNG (right extension, file exists, - // non-zero so find_images doesn't drop it as a delete) but the - // bytes are not a valid image — image_diff_rs will Err on decode. - // Bytes must DIFFER between sides so the lib can't byte-eq fast-path - // its way to a fake "pass". - fs::write(actual.join("bad.png"), b"this is definitely not a png AAA").unwrap(); - fs::write(expected.join("bad.png"), b"this is definitely not a png BBB").unwrap(); - - let report = run(&actual, &expected, &diff, Options::default()) - .expect("per-image decode failures must not propagate as Err"); - - // good.png passed, bad.png went into failedItems. - let passed: Vec = report.passed_items.iter().map(|p| p.display().to_string()).collect(); - let failed: Vec = report.failed_items.iter().map(|p| p.display().to_string()).collect(); - assert!(passed.iter().any(|s| s == "good.png"), "good.png should pass, got passed={:?}", passed); - assert!(failed.iter().any(|s| s == "bad.png"), "bad.png should fail, got failed={:?}", failed); - } - -/// Non-image extensions (`.txt`, `.md`, etc.) are filtered out by - /// `find_images` upstream — they should NOT show up in any of the - /// output buckets. This locks in the "silently skip non-images" - /// contract documented in `SUPPORTED_EXTENTIONS`. - #[test] - fn non_image_extensions_are_silently_skipped() { - let tmp = tempfile::tempdir().unwrap(); - let (actual, expected, diff) = mkdirs(tmp.path()); - - fs::write(actual.join("ok.png"), TINY_PNG).unwrap(); - fs::write(expected.join("ok.png"), TINY_PNG).unwrap(); - // Random non-image siblings on both sides. - fs::write(actual.join("README.md"), b"hello").unwrap(); - fs::write(expected.join("notes.txt"), b"world").unwrap(); - - let report = run(&actual, &expected, &diff, Options::default()).unwrap(); - - for bucket in [ - &report.passed_items, - &report.failed_items, - &report.new_items, - &report.deleted_items, - ] { - let names: Vec = bucket.iter().map(|p| p.display().to_string()).collect(); - assert!( - names.iter().all(|n| !n.ends_with(".md") && !n.ends_with(".txt")), - "non-image leaked into a bucket: {:?}", - names - ); - } - } -} diff --git a/crates/reg_core/src/report.rs b/crates/reg_core/src/report.rs deleted file mode 100644 index 79cc0b71..00000000 --- a/crates/reg_core/src/report.rs +++ /dev/null @@ -1,504 +0,0 @@ -use std::{ - collections::BTreeSet, - path::{Path, PathBuf}, -}; - -use base64::{engine::general_purpose::STANDARD as BASE64_STANDARD, Engine as _}; -use bytes::Bytes; -use mustache::MapBuilder; -use serde::{Deserialize, Serialize}; - -use crate::dir::resolve_dir; - -#[derive(Debug, Serialize)] -#[serde(rename_all = "camelCase")] -pub(crate) enum ReportStatus { - Success, - Danger, -} - -pub(crate) struct ReportInput<'a> { - pub(crate) passed: BTreeSet, - pub(crate) failed: BTreeSet, - pub(crate) new: BTreeSet, - pub(crate) deleted: BTreeSet, - pub(crate) expected: BTreeSet, - pub(crate) actual: BTreeSet, - pub(crate) differences: BTreeSet, - pub(crate) json: &'a Path, - pub(crate) actual_dir: &'a Path, - pub(crate) expected_dir: &'a Path, - pub(crate) diff_dir: &'a Path, - pub(crate) report: &'a Path, - // extendedErrors: boolean, - pub(crate) url_prefix: Option, - pub(crate) enable_client_additional_detection: bool, - pub(crate) from_json: bool, - pub(crate) diff_image_extention: &'static str, -} - -#[derive(Debug, Serialize)] -#[serde(rename_all = "camelCase")] -pub(crate) struct ReportItem { - pub(crate) raw: String, - pub(crate) encoded: String, -} - -impl From for ReportItem { - fn from(item: PathBuf) -> Self { - let encoded = encode_file_path(&item); - ReportItem { - raw: item.display().to_string(), - encoded, - } - } -} - -#[derive(Debug, Serialize)] -#[serde(rename_all = "camelCase")] -pub(crate) struct XimgdiffConfig { - pub(crate) enabled: bool, - pub(crate) worker_url: String, -} - -#[derive(Debug, Serialize)] -#[serde(rename_all = "camelCase")] -pub(crate) struct ReportJsonInput { - r#type: ReportStatus, - has_new: bool, - new_items: Vec, - has_deleted: bool, - deleted_items: Vec, - has_passed: bool, - passed_items: Vec, - has_failed: bool, - failed_items: Vec, - actual_dir: PathBuf, - expected_dir: PathBuf, - diff_dir: PathBuf, - diff_image_extention: &'static str, - ximgdiff_config: XimgdiffConfig, -} - -#[derive(Debug, Serialize, Deserialize)] -#[serde(rename_all = "camelCase")] -pub struct JsonReport { - pub failed_items: BTreeSet, - pub new_items: BTreeSet, - pub deleted_items: BTreeSet, - pub passed_items: BTreeSet, - pub expected_items: BTreeSet, - pub actual_items: BTreeSet, - pub diff_items: BTreeSet, - pub actual_dir: String, - pub expected_dir: String, - pub diff_dir: String, -} - -fn encode_file_path(file_path: &Path) -> String { - file_path - .display() - .to_string() - .split(std::path::MAIN_SEPARATOR) - .map(|p| urlencoding::encode(p).into()) - .collect::>() - .join(std::path::MAIN_SEPARATOR_STR) -} - -pub(crate) struct Reports { - pub(crate) json: JsonReport, - pub(crate) html: Option, -} - -/// Render an image directory path for a reg.json entry, optionally resolved -/// against `url` when `urlPrefix` was supplied. Falls back to the bare -/// relative path on unjoinable URLs (e.g. malformed prefix, non-hierarchical -/// scheme) rather than panicking — classic reg-cli lets garbage -/// url-prefixes through silently, so we do the same and log. `urlPrefix` is -/// validated at the clap layer (it takes `url::Url` directly), so this -/// fallback is defensive and almost never exercised. -pub fn create_dir_for_json_report<'a>( - json: &'a Path, - dir: &'a Path, - url: Option, -) -> String { - let relative = resolve_dir(json, dir).to_string_lossy().to_string(); - if let Some(url) = url { - match url.join(&relative) { - Ok(u) => u.to_string(), - Err(e) => { - tracing::warn!( - url = %url, - relative = %relative, - error = %e, - "url_prefix.join failed — falling back to relative path in reg.json", - ); - relative - } - } - } else { - relative - } -} - -pub fn create_reports(input: ReportInput) -> Reports { - let json_report = JsonReport { - failed_items: input.failed.clone(), - new_items: input.new.clone(), - deleted_items: input.deleted.clone(), - passed_items: input.passed.clone(), - expected_items: input.expected.clone(), - actual_items: input.actual.clone(), - diff_items: input.differences.clone(), - actual_dir: create_dir_for_json_report( - input.json, - input.actual_dir, - input.url_prefix.clone(), - ), - expected_dir: create_dir_for_json_report( - input.json, - input.expected_dir, - input.url_prefix.clone(), - ), - diff_dir: create_dir_for_json_report(input.json, input.diff_dir, input.url_prefix.clone()), - }; - - let html_report = { - let report = input.report; - let template = include_str!("../../../template/template.html"); - let js = include_str!("../../../report/ui/dist/report.js"); - let css = include_str!("../../../report/ui/dist/style.css"); - // Favicon payloads are committed PNG bytes under `report/assets/`. - // Classic reg-cli embeds them as data URLs too - // (`src/report.js::loadFaviconAsDataURL`) so the report is a single - // self-contained HTML file — no separate asset fetch at view time. - let favicon_success: &[u8] = - include_bytes!("../../../report/assets/favicon_success.png"); - let favicon_failure: &[u8] = - include_bytes!("../../../report/assets/favicon_failure.png"); - - let json = ReportJsonInput { - r#type: if input.failed.is_empty() { - ReportStatus::Success - } else { - ReportStatus::Danger - }, - has_new: !input.new.is_empty(), - new_items: input.new.into_iter().map(ReportItem::from).collect(), - has_deleted: !input.deleted.is_empty(), - deleted_items: input.deleted.into_iter().map(ReportItem::from).collect(), - has_passed: !input.passed.is_empty(), - passed_items: input.passed.into_iter().map(ReportItem::from).collect(), - has_failed: !input.differences.is_empty(), - failed_items: input - .differences - .into_iter() - .map(ReportItem::from) - .collect(), - actual_dir: if input.from_json { - input.actual_dir.into() - } else { - resolve_dir(report, input.actual_dir).into() - }, - expected_dir: if input.from_json { - input.expected_dir.into() - } else { - resolve_dir(report, input.expected_dir).into() - }, - diff_dir: if input.from_json { - input.diff_dir.into() - } else { - resolve_dir(report, input.diff_dir).into() - }, - diff_image_extention: input.diff_image_extention, - ximgdiff_config: XimgdiffConfig { - enabled: input.enable_client_additional_detection, - worker_url: "./worker.js".to_string(), - }, - }; - - // Render with base64-encoded PNG bytes so the `` placeholder gets a self-contained - // data URL. Choice of success/failure favicon mirrors - // `json.type == Success/Danger` (i.e. presence of failures/new/deleted - // in the report), same rule classic uses. - let favicon_bytes = match &json.r#type { - ReportStatus::Success => favicon_success, - ReportStatus::Danger => favicon_failure, - }; - let favicon_data = format!( - "data:image/png;base64,{}", - BASE64_STANDARD.encode(favicon_bytes) - ); - let data = MapBuilder::new() - .insert_str("js", js) - .insert_str("css", css) - .insert_str("faviconData", favicon_data) - .insert_str( - "report", - serde_json::to_string(&json).expect("should convert."), - ) - .build(); - let template = mustache::compile_str(template).expect("should compile template."); - let mut html = vec![]; - template - .render_data(&mut html, &data) - .expect("should render report."); - Some(html.into()) - }; - - Reports { - json: json_report, - html: html_report, - } -} - -/// Build a JUnit XML document byte-compatible with classic reg-cli's -/// `src/report.js` output (via `xmlbuilder2`). -/// -/// ```xml -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// ``` -/// -/// Semantics (match classic exactly): -/// - `failedItems` always emit ``. -/// - `newItems` / `deletedItems` become `` -/// ONLY when `extended_errors` is set; otherwise they are reported as -/// passed testcases. -/// - `passedItems` emit bare ``. -/// - `tests` / `failures` attributes appear on BOTH `` and the -/// nested ``. -/// - Output is pretty-printed with 2-space indent, no `encoding=` -/// declaration, no trailing newline (xmlbuilder2's `prettyPrint: true`). -pub(crate) fn build_junit_xml(report: &JsonReport, extended_errors: bool) -> String { - fn esc(s: &str) -> String { - s.replace('&', "&") - .replace('<', "<") - .replace('>', ">") - .replace('"', """) - } - - // Classify items. In non-extended mode, new/deleted are treated as - // successful tests so CI doesn't go red on baseline additions. - let mut passed_names: Vec = Vec::new(); - let mut failure_cases: Vec<(String, &'static str)> = Vec::new(); - - for p in &report.failed_items { - failure_cases.push((p.display().to_string(), "failed")); - } - for p in &report.new_items { - if extended_errors { - failure_cases.push((p.display().to_string(), "newItem")); - } else { - passed_names.push(p.display().to_string()); - } - } - for p in &report.deleted_items { - if extended_errors { - failure_cases.push((p.display().to_string(), "deletedItem")); - } else { - passed_names.push(p.display().to_string()); - } - } - for p in &report.passed_items { - passed_names.push(p.display().to_string()); - } - - let failures = failure_cases.len(); - let tests = passed_names.len() + failures; - - // Classic's testcase ordering is: failed, new, deleted, passed (the order - // classic's forEach loop visits them). `failure_cases` already holds - // failed→new→deleted in that order; `passed_names` holds - // new-treated-as-passed → deleted-as-passed → passed in order. - let mut cases: Vec = Vec::with_capacity(tests); - for p in &report.failed_items { - cases.push(format!( - " \n \n ", - esc(&p.display().to_string()) - )); - } - for p in &report.new_items { - if extended_errors { - cases.push(format!( - " \n \n ", - esc(&p.display().to_string()) - )); - } else { - cases.push(format!( - " ", - esc(&p.display().to_string()) - )); - } - } - for p in &report.deleted_items { - if extended_errors { - cases.push(format!( - " \n \n ", - esc(&p.display().to_string()) - )); - } else { - cases.push(format!( - " ", - esc(&p.display().to_string()) - )); - } - } - for p in &report.passed_items { - cases.push(format!( - " ", - esc(&p.display().to_string()) - )); - } - - // No encoding attr, no trailing newline — matches xmlbuilder2's default - // when created with `{ version: '1.0' }` and rendered with `prettyPrint: true`. - if cases.is_empty() { - format!( - "\n\n \n" - ) - } else { - format!( - "\n\n \n{cases}\n \n", - cases = cases.join("\n"), - ) - } -} - -#[cfg(test)] -mod tests { - use super::*; - - fn mk_report( - passed: &[&str], - failed: &[&str], - new: &[&str], - deleted: &[&str], - ) -> JsonReport { - let to_set = |s: &[&str]| -> BTreeSet { - s.iter().map(|x| PathBuf::from(x)).collect() - }; - JsonReport { - passed_items: to_set(passed), - failed_items: to_set(failed), - new_items: to_set(new), - deleted_items: to_set(deleted), - // The rest are irrelevant to junit output; empty is fine. - expected_items: BTreeSet::new(), - actual_items: BTreeSet::new(), - diff_items: BTreeSet::new(), - actual_dir: String::new(), - expected_dir: String::new(), - diff_dir: String::new(), - } - } - - // Reference bytes come from classic reg-cli (src/report.js via - // xmlbuilder2, { version: '1.0' }, prettyPrint: true). The - // `test/cli.test.mjs` snapshot tests pin these exact bytes, so the - // expected strings below are the same ones the classic test suite - // asserts on. - - #[test] - fn junit_single_failure() { - let r = mk_report(&[], &["sample(cal).png"], &[], &[]); - let xml = build_junit_xml(&r, /*extended=*/ false); - assert_eq!( - xml, - r#" - - - - - - -"# - ); - } - - #[test] - fn junit_passed_and_failed_mix() { - let r = mk_report(&["ok.png"], &["bad.png"], &[], &[]); - let xml = build_junit_xml(&r, false); - assert_eq!( - xml, - r#" - - - - - - - -"# - ); - } - - #[test] - fn junit_new_and_deleted_not_extended_are_passed() { - // Without -E, new/deleted items are counted as passed tests. - let r = mk_report(&[], &[], &["added.png"], &["gone.png"]); - let xml = build_junit_xml(&r, false); - assert_eq!( - xml, - r#" - - - - - -"# - ); - } - - #[test] - fn junit_new_and_deleted_extended_are_failures() { - // With -E, they become . - let r = mk_report(&[], &[], &["added.png"], &["gone.png"]); - let xml = build_junit_xml(&r, true); - assert_eq!( - xml, - r#" - - - - - - - - - -"# - ); - } - - #[test] - fn junit_escapes_xml_special_chars_in_name() { - let r = mk_report(&[], &[r#"a&bd".png"#], &[], &[]); - let xml = build_junit_xml(&r, false); - // Only attribute-value escapes matter here (name="..."). Classic - // xmlbuilder2 also escapes all five, but quoting is consistent. - assert!(xml.contains(r#"name="a&b<c>d".png""#)); - } - - #[test] - fn junit_empty_report_has_self_closing_testsuite() { - let r = mk_report(&[], &[], &[], &[]); - let xml = build_junit_xml(&r, false); - assert_eq!( - xml, - r#" - - -"# - ); - } -} diff --git a/crates/reg_core/src/tracing_layer.rs b/crates/reg_core/src/tracing_layer.rs deleted file mode 100644 index e47731d8..00000000 --- a/crates/reg_core/src/tracing_layer.rs +++ /dev/null @@ -1,323 +0,0 @@ -//! Custom tracing layer for collecting span data to be sent to JS side -//! -//! Since WASI doesn't support direct HTTP connections, we collect trace data -//! and pass it to the JS side via WASM exports, where it's converted to OpenTelemetry spans. - -use once_cell::sync::Lazy; -use serde::{Deserialize, Serialize}; -use std::collections::HashMap; -use std::sync::atomic::{AtomicU64, Ordering}; -use std::sync::Mutex; -use std::time::{Duration, SystemTime, UNIX_EPOCH}; -use tracing::span::{Attributes, Id, Record}; -use tracing::{Event, Subscriber}; -use tracing_subscriber::layer::Context; -use tracing_subscriber::registry::LookupSpan; -use tracing_subscriber::Layer; - -/// Global counter for generating unique span IDs -static SPAN_ID_COUNTER: AtomicU64 = AtomicU64::new(1); - -/// Represents a completed span with all its metadata -#[derive(Debug, Clone, Serialize, Deserialize)] -pub struct SpanData { - /// Unique identifier for this span - pub span_id: String, - /// Parent span id if any - pub parent_span_id: Option, - /// Name of the span (usually the function/operation name) - pub name: String, - /// Start timestamp in milliseconds since UNIX epoch - pub start_time_ms: u64, - /// End timestamp in milliseconds since UNIX epoch - pub end_time_ms: u64, - /// Duration in milliseconds - pub duration_ms: u64, - /// Span level (trace, debug, info, warn, error) - pub level: String, - /// Target module path - pub target: String, - /// Custom attributes - pub attributes: HashMap, - /// Status: "ok" or "error" - pub status: String, - /// Error message if status is "error" - pub error_message: Option, -} - -/// Container for all collected spans -#[derive(Debug, Default, Serialize, Deserialize)] -pub struct TraceData { - /// Service name - pub service_name: String, - /// Trace ID from JS side (for context propagation) - pub trace_id: Option, - /// Parent span ID from JS side (for context propagation) - pub js_parent_span_id: Option, - /// All completed spans - pub spans: Vec, -} - -/// Global storage for trace data -static TRACE_COLLECTOR: Lazy> = - Lazy::new(|| Mutex::new(TraceCollector::new())); - -struct TraceCollector { - spans: Vec, - /// Maps tracing crate's span ID to our unique span ID - id_mapping: HashMap, - active_spans: HashMap, - /// Trace ID from JS side - trace_id: Option, - /// Parent span ID from JS side - js_parent_span_id: Option, -} - -struct ActiveSpan { - unique_id: u64, - name: String, - start_time_ms: u64, - parent_unique_id: Option, - level: String, - target: String, - attributes: HashMap, -} - -impl TraceCollector { - fn new() -> Self { - Self { - spans: Vec::new(), - id_mapping: HashMap::new(), - active_spans: HashMap::new(), - trace_id: None, - js_parent_span_id: None, - } - } - - fn current_time_ms() -> u64 { - SystemTime::now() - .duration_since(UNIX_EPOCH) - .unwrap_or(Duration::ZERO) - .as_millis() as u64 - } - - fn generate_unique_id() -> u64 { - SPAN_ID_COUNTER.fetch_add(1, Ordering::SeqCst) - } - - fn set_js_context(&mut self, trace_id: Option, parent_span_id: Option) { - self.trace_id = trace_id; - self.js_parent_span_id = parent_span_id; - } - - fn start_span(&mut self, tracing_id: u64, parent_tracing_id: Option, name: String, level: String, target: String) { - let start_time_ms = Self::current_time_ms(); - let unique_id = Self::generate_unique_id(); - - // Map tracing's ID to our unique ID - self.id_mapping.insert(tracing_id, unique_id); - - // Look up parent's unique ID - let parent_unique_id = parent_tracing_id.and_then(|pid| self.id_mapping.get(&pid).copied()); - - self.active_spans.insert( - tracing_id, - ActiveSpan { - unique_id, - name, - start_time_ms, - parent_unique_id, - level, - target, - attributes: HashMap::new(), - }, - ); - } - - fn record_attribute(&mut self, tracing_id: u64, key: String, value: String) { - if let Some(span) = self.active_spans.get_mut(&tracing_id) { - span.attributes.insert(key, value); - } - } - - fn end_span(&mut self, tracing_id: u64, error_message: Option) { - if let Some(active) = self.active_spans.remove(&tracing_id) { - let end_time_ms = Self::current_time_ms(); - // Calculate duration from timestamps (more reliable in WASI) - let duration_ms = end_time_ms.saturating_sub(active.start_time_ms); - - self.spans.push(SpanData { - span_id: format!("{:016x}", active.unique_id), - parent_span_id: active.parent_unique_id.map(|pid| format!("{:016x}", pid)), - name: active.name, - start_time_ms: active.start_time_ms, - end_time_ms, - duration_ms, - level: active.level, - target: active.target, - attributes: active.attributes, - status: if error_message.is_some() { - "error".to_string() - } else { - "ok".to_string() - }, - error_message, - }); - } - - // Note: We keep id_mapping entries for now in case of late references - } -} - -/// Custom tracing layer that collects span data -pub struct CollectorLayer; - -impl CollectorLayer { - pub fn new() -> Self { - Self - } -} - -impl Layer for CollectorLayer -where - S: Subscriber + for<'a> LookupSpan<'a>, -{ - fn on_new_span(&self, attrs: &Attributes<'_>, id: &Id, ctx: Context<'_, S>) { - let span = ctx.span(id).expect("Span not found"); - - // Try to get parent from explicit parent first, then from current context - let parent_id = span - .parent() - .map(|p| p.id().into_u64()) - .or_else(|| { - // If no explicit parent, check current span context (for implicit parenting) - ctx.current_span().id().map(|id| id.into_u64()) - }); - - let metadata = span.metadata(); - let name = metadata.name().to_string(); - let level = format!("{:?}", metadata.level()); - let target = metadata.target().to_string(); - - if let Ok(mut collector) = TRACE_COLLECTOR.lock() { - collector.start_span(id.into_u64(), parent_id, name, level, target); - } - - // Record initial attributes - let mut visitor = AttributeVisitor { id: id.into_u64() }; - attrs.record(&mut visitor); - } - - fn on_record(&self, id: &Id, values: &Record<'_>, _ctx: Context<'_, S>) { - let mut visitor = AttributeVisitor { id: id.into_u64() }; - values.record(&mut visitor); - } - - fn on_event(&self, event: &Event<'_>, ctx: Context<'_, S>) { - // Record events as attributes on the current span - if let Some(span) = ctx.current_span().id() { - let mut visitor = AttributeVisitor { - id: span.into_u64(), - }; - event.record(&mut visitor); - } - } - - fn on_close(&self, id: Id, _ctx: Context<'_, S>) { - if let Ok(mut collector) = TRACE_COLLECTOR.lock() { - collector.end_span(id.into_u64(), None); - } - } -} - -struct AttributeVisitor { - id: u64, -} - -impl tracing::field::Visit for AttributeVisitor { - fn record_debug(&mut self, field: &tracing::field::Field, value: &dyn std::fmt::Debug) { - if let Ok(mut collector) = TRACE_COLLECTOR.lock() { - collector.record_attribute(self.id, field.name().to_string(), format!("{:?}", value)); - } - } - - fn record_str(&mut self, field: &tracing::field::Field, value: &str) { - if let Ok(mut collector) = TRACE_COLLECTOR.lock() { - collector.record_attribute(self.id, field.name().to_string(), value.to_string()); - } - } - - fn record_i64(&mut self, field: &tracing::field::Field, value: i64) { - if let Ok(mut collector) = TRACE_COLLECTOR.lock() { - collector.record_attribute(self.id, field.name().to_string(), value.to_string()); - } - } - - fn record_u64(&mut self, field: &tracing::field::Field, value: u64) { - if let Ok(mut collector) = TRACE_COLLECTOR.lock() { - collector.record_attribute(self.id, field.name().to_string(), value.to_string()); - } - } - - fn record_bool(&mut self, field: &tracing::field::Field, value: bool) { - if let Ok(mut collector) = TRACE_COLLECTOR.lock() { - collector.record_attribute(self.id, field.name().to_string(), value.to_string()); - } - } -} - -/// Initialize tracing with the collector layer -pub fn init_tracing() { - use tracing_subscriber::prelude::*; - - let collector_layer = CollectorLayer::new(); - - tracing_subscriber::registry() - .with(collector_layer) - .init(); -} - -/// Set JS context for trace propagation -/// This should be called before starting any spans to link Rust spans to JS parent -pub fn set_js_trace_context(trace_id: Option<&str>, parent_span_id: Option<&str>) { - if let Ok(mut collector) = TRACE_COLLECTOR.lock() { - collector.set_js_context( - trace_id.map(|s| s.to_string()), - parent_span_id.map(|s| s.to_string()), - ); - } -} - -/// Get all collected trace data as JSON string -pub fn get_trace_data_json() -> String { - let (spans, trace_id, js_parent_span_id) = if let Ok(collector) = TRACE_COLLECTOR.lock() { - ( - collector.spans.clone(), - collector.trace_id.clone(), - collector.js_parent_span_id.clone(), - ) - } else { - (Vec::new(), None, None) - }; - - let trace_data = TraceData { - service_name: "reg-cli-wasm".to_string(), - trace_id, - js_parent_span_id, - spans, - }; - - serde_json::to_string(&trace_data).unwrap_or_else(|_| "{}".to_string()) -} - -/// Clear all collected trace data -pub fn clear_trace_data() { - if let Ok(mut collector) = TRACE_COLLECTOR.lock() { - collector.spans.clear(); - collector.active_spans.clear(); - collector.id_mapping.clear(); - collector.trace_id = None; - collector.js_parent_span_id = None; - } -} - diff --git a/decls/cli-spinner.js b/decls/cli-spinner.js new file mode 100644 index 00000000..77bccf1d --- /dev/null +++ b/decls/cli-spinner.js @@ -0,0 +1,5 @@ +declare module 'cli-spinner' { + declare var Spinner:any; +}; + + diff --git a/decls/glob.js b/decls/glob.js new file mode 100644 index 00000000..d0bea637 --- /dev/null +++ b/decls/glob.js @@ -0,0 +1,3 @@ +declare module 'glob' { + declare function sync(path: string): string[]; +}; diff --git a/decls/img-diff.js b/decls/img-diff.js new file mode 100644 index 00000000..0b891c19 --- /dev/null +++ b/decls/img-diff.js @@ -0,0 +1,21 @@ +type Params = { + actualFilename: string; + expectedFilename: string; + diffFilename: string; + options: { + threshold: number; + includeAA: boolean; + } +} + +type Result = { + width: number; + height: number; + imagesAreSame: boolean; + diffCount: number; +} + +declare module 'img-diff-js' { + declare function imgDiff(p: Params): Promise; +}; + diff --git a/decls/mkdirp.js b/decls/mkdirp.js new file mode 100644 index 00000000..ca09140f --- /dev/null +++ b/decls/mkdirp.js @@ -0,0 +1,3 @@ +declare module 'mkdirp' { + declare function sync(path: string, options?: any): string; +}; diff --git a/decls/x-img-diff-js.js b/decls/x-img-diff-js.js new file mode 100644 index 00000000..926bb76b --- /dev/null +++ b/decls/x-img-diff-js.js @@ -0,0 +1,4 @@ +declare module 'x-img-diff-js' { + declare function getBrowserJsPath(): string; + declare function getBrowserWasmPath(): string; +} diff --git a/dist/.keep b/dist/.keep new file mode 100644 index 00000000..e69de29b diff --git a/fixture.html b/fixture.html new file mode 100644 index 00000000..f7f996f5 --- /dev/null +++ b/fixture.html @@ -0,0 +1,17 @@ + + + + + + + + + +
This is fixture sample.
+ + + \ No newline at end of file diff --git a/flow-typed/npm/avaron_vx.x.x.js b/flow-typed/npm/avaron_vx.x.x.js new file mode 100644 index 00000000..32f7f1a4 --- /dev/null +++ b/flow-typed/npm/avaron_vx.x.x.js @@ -0,0 +1,122 @@ +// flow-typed signature: f42f28f31d4218206a65a460826c3bf9 +// flow-typed version: <>/avaron_v^0.0.14/flow_v0.63.1 + +/** + * This is an autogenerated libdef stub for: + * + * 'avaron' + * + * Fill this stub out by replacing all the `any` types. + * + * Once filled out, we encourage you to share your work with the + * community by sending a pull request to: + * https://github.com/flowtype/flow-typed + */ + +declare module 'avaron' { + declare module.exports: any; +} + +/** + * We include stubs for each file inside this npm package in case you need to + * require those files directly. Feel free to delete any files that aren't + * needed. + */ +declare module 'avaron/api' { + declare module.exports: any; +} + +declare module 'avaron/cli' { + declare module.exports: any; +} + +declare module 'avaron/lib/cli' { + declare module.exports: any; +} + +declare module 'avaron/lib/fork' { + declare module.exports: any; +} + +declare module 'avaron/main/create-window' { + declare module.exports: any; +} + +declare module 'avaron/main/initialize-renderer' { + declare module.exports: any; +} + +declare module 'avaron/main/messages' { + declare module.exports: any; +} + +declare module 'avaron/main/renderer-console' { + declare module.exports: any; +} + +declare module 'avaron/main/starter' { + declare module.exports: any; +} + +declare module 'avaron/renderer/console' { + declare module.exports: any; +} + +declare module 'avaron/renderer/process-adapter' { + declare module.exports: any; +} + +declare module 'avaron/renderer/starter' { + declare module.exports: any; +} + +declare module 'avaron/renderer/test-helper' { + declare module.exports: any; +} + +// Filename aliases +declare module 'avaron/api.js' { + declare module.exports: $Exports<'avaron/api'>; +} +declare module 'avaron/cli.js' { + declare module.exports: $Exports<'avaron/cli'>; +} +declare module 'avaron/index' { + declare module.exports: $Exports<'avaron'>; +} +declare module 'avaron/index.js' { + declare module.exports: $Exports<'avaron'>; +} +declare module 'avaron/lib/cli.js' { + declare module.exports: $Exports<'avaron/lib/cli'>; +} +declare module 'avaron/lib/fork.js' { + declare module.exports: $Exports<'avaron/lib/fork'>; +} +declare module 'avaron/main/create-window.js' { + declare module.exports: $Exports<'avaron/main/create-window'>; +} +declare module 'avaron/main/initialize-renderer.js' { + declare module.exports: $Exports<'avaron/main/initialize-renderer'>; +} +declare module 'avaron/main/messages.js' { + declare module.exports: $Exports<'avaron/main/messages'>; +} +declare module 'avaron/main/renderer-console.js' { + declare module.exports: $Exports<'avaron/main/renderer-console'>; +} +declare module 'avaron/main/starter.js' { + declare module.exports: $Exports<'avaron/main/starter'>; +} +declare module 'avaron/renderer/console.js' { + declare module.exports: $Exports<'avaron/renderer/console'>; +} +declare module 'avaron/renderer/process-adapter.js' { + declare module.exports: $Exports<'avaron/renderer/process-adapter'>; +} +declare module 'avaron/renderer/starter.js' { + declare module.exports: $Exports<'avaron/renderer/starter'>; +} +declare module 'avaron/renderer/test-helper.js' { + declare module.exports: $Exports<'avaron/renderer/test-helper'>; +} diff --git a/flow-typed/npm/babel-cli_vx.x.x.js b/flow-typed/npm/babel-cli_vx.x.x.js new file mode 100644 index 00000000..e38c7862 --- /dev/null +++ b/flow-typed/npm/babel-cli_vx.x.x.js @@ -0,0 +1,108 @@ +// flow-typed signature: 806967f09b0efda655ab5cd79fb33bca +// flow-typed version: <>/babel-cli_v^6.24.1/flow_v0.63.1 + +/** + * This is an autogenerated libdef stub for: + * + * 'babel-cli' + * + * Fill this stub out by replacing all the `any` types. + * + * Once filled out, we encourage you to share your work with the + * community by sending a pull request to: + * https://github.com/flowtype/flow-typed + */ + +declare module 'babel-cli' { + declare module.exports: any; +} + +/** + * We include stubs for each file inside this npm package in case you need to + * require those files directly. Feel free to delete any files that aren't + * needed. + */ +declare module 'babel-cli/bin/babel-doctor' { + declare module.exports: any; +} + +declare module 'babel-cli/bin/babel-external-helpers' { + declare module.exports: any; +} + +declare module 'babel-cli/bin/babel-node' { + declare module.exports: any; +} + +declare module 'babel-cli/bin/babel' { + declare module.exports: any; +} + +declare module 'babel-cli/lib/_babel-node' { + declare module.exports: any; +} + +declare module 'babel-cli/lib/babel-external-helpers' { + declare module.exports: any; +} + +declare module 'babel-cli/lib/babel-node' { + declare module.exports: any; +} + +declare module 'babel-cli/lib/babel/dir' { + declare module.exports: any; +} + +declare module 'babel-cli/lib/babel/file' { + declare module.exports: any; +} + +declare module 'babel-cli/lib/babel/index' { + declare module.exports: any; +} + +declare module 'babel-cli/lib/babel/util' { + declare module.exports: any; +} + +// Filename aliases +declare module 'babel-cli/bin/babel-doctor.js' { + declare module.exports: $Exports<'babel-cli/bin/babel-doctor'>; +} +declare module 'babel-cli/bin/babel-external-helpers.js' { + declare module.exports: $Exports<'babel-cli/bin/babel-external-helpers'>; +} +declare module 'babel-cli/bin/babel-node.js' { + declare module.exports: $Exports<'babel-cli/bin/babel-node'>; +} +declare module 'babel-cli/bin/babel.js' { + declare module.exports: $Exports<'babel-cli/bin/babel'>; +} +declare module 'babel-cli/index' { + declare module.exports: $Exports<'babel-cli'>; +} +declare module 'babel-cli/index.js' { + declare module.exports: $Exports<'babel-cli'>; +} +declare module 'babel-cli/lib/_babel-node.js' { + declare module.exports: $Exports<'babel-cli/lib/_babel-node'>; +} +declare module 'babel-cli/lib/babel-external-helpers.js' { + declare module.exports: $Exports<'babel-cli/lib/babel-external-helpers'>; +} +declare module 'babel-cli/lib/babel-node.js' { + declare module.exports: $Exports<'babel-cli/lib/babel-node'>; +} +declare module 'babel-cli/lib/babel/dir.js' { + declare module.exports: $Exports<'babel-cli/lib/babel/dir'>; +} +declare module 'babel-cli/lib/babel/file.js' { + declare module.exports: $Exports<'babel-cli/lib/babel/file'>; +} +declare module 'babel-cli/lib/babel/index.js' { + declare module.exports: $Exports<'babel-cli/lib/babel/index'>; +} +declare module 'babel-cli/lib/babel/util.js' { + declare module.exports: $Exports<'babel-cli/lib/babel/util'>; +} diff --git a/flow-typed/npm/babel-loader_vx.x.x.js b/flow-typed/npm/babel-loader_vx.x.x.js new file mode 100644 index 00000000..70ada55f --- /dev/null +++ b/flow-typed/npm/babel-loader_vx.x.x.js @@ -0,0 +1,67 @@ +// flow-typed signature: b1ed4114820669c4378f69022813d77a +// flow-typed version: <>/babel-loader_v^7.0.0/flow_v0.63.1 + +/** + * This is an autogenerated libdef stub for: + * + * 'babel-loader' + * + * Fill this stub out by replacing all the `any` types. + * + * Once filled out, we encourage you to share your work with the + * community by sending a pull request to: + * https://github.com/flowtype/flow-typed + */ + +declare module 'babel-loader' { + declare module.exports: any; +} + +/** + * We include stubs for each file inside this npm package in case you need to + * require those files directly. Feel free to delete any files that aren't + * needed. + */ +declare module 'babel-loader/lib/fs-cache' { + declare module.exports: any; +} + +declare module 'babel-loader/lib/index' { + declare module.exports: any; +} + +declare module 'babel-loader/lib/resolve-rc' { + declare module.exports: any; +} + +declare module 'babel-loader/lib/utils/exists' { + declare module.exports: any; +} + +declare module 'babel-loader/lib/utils/read' { + declare module.exports: any; +} + +declare module 'babel-loader/lib/utils/relative' { + declare module.exports: any; +} + +// Filename aliases +declare module 'babel-loader/lib/fs-cache.js' { + declare module.exports: $Exports<'babel-loader/lib/fs-cache'>; +} +declare module 'babel-loader/lib/index.js' { + declare module.exports: $Exports<'babel-loader/lib/index'>; +} +declare module 'babel-loader/lib/resolve-rc.js' { + declare module.exports: $Exports<'babel-loader/lib/resolve-rc'>; +} +declare module 'babel-loader/lib/utils/exists.js' { + declare module.exports: $Exports<'babel-loader/lib/utils/exists'>; +} +declare module 'babel-loader/lib/utils/read.js' { + declare module.exports: $Exports<'babel-loader/lib/utils/read'>; +} +declare module 'babel-loader/lib/utils/relative.js' { + declare module.exports: $Exports<'babel-loader/lib/utils/relative'>; +} diff --git a/flow-typed/npm/babel-plugin-transform-es2015-block-scoping_vx.x.x.js b/flow-typed/npm/babel-plugin-transform-es2015-block-scoping_vx.x.x.js new file mode 100644 index 00000000..4aa13c0e --- /dev/null +++ b/flow-typed/npm/babel-plugin-transform-es2015-block-scoping_vx.x.x.js @@ -0,0 +1,39 @@ +// flow-typed signature: 132c7110e1f7d6605329655ee5b4de13 +// flow-typed version: <>/babel-plugin-transform-es2015-block-scoping_v^6.26.0/flow_v0.63.1 + +/** + * This is an autogenerated libdef stub for: + * + * 'babel-plugin-transform-es2015-block-scoping' + * + * Fill this stub out by replacing all the `any` types. + * + * Once filled out, we encourage you to share your work with the + * community by sending a pull request to: + * https://github.com/flowtype/flow-typed + */ + +declare module 'babel-plugin-transform-es2015-block-scoping' { + declare module.exports: any; +} + +/** + * We include stubs for each file inside this npm package in case you need to + * require those files directly. Feel free to delete any files that aren't + * needed. + */ +declare module 'babel-plugin-transform-es2015-block-scoping/lib/index' { + declare module.exports: any; +} + +declare module 'babel-plugin-transform-es2015-block-scoping/lib/tdz' { + declare module.exports: any; +} + +// Filename aliases +declare module 'babel-plugin-transform-es2015-block-scoping/lib/index.js' { + declare module.exports: $Exports<'babel-plugin-transform-es2015-block-scoping/lib/index'>; +} +declare module 'babel-plugin-transform-es2015-block-scoping/lib/tdz.js' { + declare module.exports: $Exports<'babel-plugin-transform-es2015-block-scoping/lib/tdz'>; +} diff --git a/flow-typed/npm/babel-plugin-transform-flow-strip-types_vx.x.x.js b/flow-typed/npm/babel-plugin-transform-flow-strip-types_vx.x.x.js new file mode 100644 index 00000000..fc9606ae --- /dev/null +++ b/flow-typed/npm/babel-plugin-transform-flow-strip-types_vx.x.x.js @@ -0,0 +1,32 @@ +// flow-typed signature: 76cf24c882811a6100dbf999faa85748 +// flow-typed version: <>/babel-plugin-transform-flow-strip-types_v^6.22.0/flow_v0.63.1 + +/** + * This is an autogenerated libdef stub for: + * + * 'babel-plugin-transform-flow-strip-types' + * + * Fill this stub out by replacing all the `any` types. + * + * Once filled out, we encourage you to share your work with the + * community by sending a pull request to: + * https://github.com/flowtype/flow-typed + */ + +declare module 'babel-plugin-transform-flow-strip-types' { + declare module.exports: any; +} + +/** + * We include stubs for each file inside this npm package in case you need to + * require those files directly. Feel free to delete any files that aren't + * needed. + */ +declare module 'babel-plugin-transform-flow-strip-types/lib/index' { + declare module.exports: any; +} + +// Filename aliases +declare module 'babel-plugin-transform-flow-strip-types/lib/index.js' { + declare module.exports: $Exports<'babel-plugin-transform-flow-strip-types/lib/index'>; +} diff --git a/flow-typed/npm/babel-preset-es2015_vx.x.x.js b/flow-typed/npm/babel-preset-es2015_vx.x.x.js new file mode 100644 index 00000000..717def04 --- /dev/null +++ b/flow-typed/npm/babel-preset-es2015_vx.x.x.js @@ -0,0 +1,32 @@ +// flow-typed signature: a687480edaa0c9fd54363a419774ad2c +// flow-typed version: <>/babel-preset-es2015_v^6.24.1/flow_v0.63.1 + +/** + * This is an autogenerated libdef stub for: + * + * 'babel-preset-es2015' + * + * Fill this stub out by replacing all the `any` types. + * + * Once filled out, we encourage you to share your work with the + * community by sending a pull request to: + * https://github.com/flowtype/flow-typed + */ + +declare module 'babel-preset-es2015' { + declare module.exports: any; +} + +/** + * We include stubs for each file inside this npm package in case you need to + * require those files directly. Feel free to delete any files that aren't + * needed. + */ +declare module 'babel-preset-es2015/lib/index' { + declare module.exports: any; +} + +// Filename aliases +declare module 'babel-preset-es2015/lib/index.js' { + declare module.exports: $Exports<'babel-preset-es2015/lib/index'>; +} diff --git a/flow-typed/npm/babel-preset-es2016_vx.x.x.js b/flow-typed/npm/babel-preset-es2016_vx.x.x.js new file mode 100644 index 00000000..228b4be0 --- /dev/null +++ b/flow-typed/npm/babel-preset-es2016_vx.x.x.js @@ -0,0 +1,32 @@ +// flow-typed signature: 574fb5d791136c16e358f056fe87d239 +// flow-typed version: <>/babel-preset-es2016_v^6.24.1/flow_v0.63.1 + +/** + * This is an autogenerated libdef stub for: + * + * 'babel-preset-es2016' + * + * Fill this stub out by replacing all the `any` types. + * + * Once filled out, we encourage you to share your work with the + * community by sending a pull request to: + * https://github.com/flowtype/flow-typed + */ + +declare module 'babel-preset-es2016' { + declare module.exports: any; +} + +/** + * We include stubs for each file inside this npm package in case you need to + * require those files directly. Feel free to delete any files that aren't + * needed. + */ +declare module 'babel-preset-es2016/lib/index' { + declare module.exports: any; +} + +// Filename aliases +declare module 'babel-preset-es2016/lib/index.js' { + declare module.exports: $Exports<'babel-preset-es2016/lib/index'>; +} diff --git a/flow-typed/npm/babel-preset-es2017_vx.x.x.js b/flow-typed/npm/babel-preset-es2017_vx.x.x.js new file mode 100644 index 00000000..0e1e4472 --- /dev/null +++ b/flow-typed/npm/babel-preset-es2017_vx.x.x.js @@ -0,0 +1,32 @@ +// flow-typed signature: 95d01a3766cd938e233d4aff5262fab5 +// flow-typed version: <>/babel-preset-es2017_v^6.24.1/flow_v0.63.1 + +/** + * This is an autogenerated libdef stub for: + * + * 'babel-preset-es2017' + * + * Fill this stub out by replacing all the `any` types. + * + * Once filled out, we encourage you to share your work with the + * community by sending a pull request to: + * https://github.com/flowtype/flow-typed + */ + +declare module 'babel-preset-es2017' { + declare module.exports: any; +} + +/** + * We include stubs for each file inside this npm package in case you need to + * require those files directly. Feel free to delete any files that aren't + * needed. + */ +declare module 'babel-preset-es2017/lib/index' { + declare module.exports: any; +} + +// Filename aliases +declare module 'babel-preset-es2017/lib/index.js' { + declare module.exports: $Exports<'babel-preset-es2017/lib/index'>; +} diff --git a/flow-typed/npm/babel-preset-stage-2_vx.x.x.js b/flow-typed/npm/babel-preset-stage-2_vx.x.x.js new file mode 100644 index 00000000..b0cb3af1 --- /dev/null +++ b/flow-typed/npm/babel-preset-stage-2_vx.x.x.js @@ -0,0 +1,32 @@ +// flow-typed signature: a759917202b9e10e4d52bcc214f707c1 +// flow-typed version: <>/babel-preset-stage-2_v^6.24.1/flow_v0.63.1 + +/** + * This is an autogenerated libdef stub for: + * + * 'babel-preset-stage-2' + * + * Fill this stub out by replacing all the `any` types. + * + * Once filled out, we encourage you to share your work with the + * community by sending a pull request to: + * https://github.com/flowtype/flow-typed + */ + +declare module 'babel-preset-stage-2' { + declare module.exports: any; +} + +/** + * We include stubs for each file inside this npm package in case you need to + * require those files directly. Feel free to delete any files that aren't + * needed. + */ +declare module 'babel-preset-stage-2/lib/index' { + declare module.exports: any; +} + +// Filename aliases +declare module 'babel-preset-stage-2/lib/index.js' { + declare module.exports: $Exports<'babel-preset-stage-2/lib/index'>; +} diff --git a/flow-typed/npm/chalk_v2.x.x.js b/flow-typed/npm/chalk_v2.x.x.js new file mode 100644 index 00000000..50c50089 --- /dev/null +++ b/flow-typed/npm/chalk_v2.x.x.js @@ -0,0 +1,108 @@ +// flow-typed signature: fa51178772ad1f35158cb4238bc3f1eb +// flow-typed version: da30fe6876/chalk_v2.x.x/flow_>=v0.25.x + +type $npm$chalk$StyleElement = { + open: string, + close: string +}; + +type $npm$chalk$Chain = $npm$chalk$Style & ((...text: any[]) => string); + +type $npm$chalk$Style = { + // General + reset: $npm$chalk$Chain, + bold: $npm$chalk$Chain, + dim: $npm$chalk$Chain, + italic: $npm$chalk$Chain, + underline: $npm$chalk$Chain, + inverse: $npm$chalk$Chain, + strikethrough: $npm$chalk$Chain, + + // Text colors + black: $npm$chalk$Chain, + red: $npm$chalk$Chain, + redBright: $npm$chalk$Chain, + green: $npm$chalk$Chain, + greenBright: $npm$chalk$Chain, + yellow: $npm$chalk$Chain, + yellowBright: $npm$chalk$Chain, + blue: $npm$chalk$Chain, + blueBright: $npm$chalk$Chain, + magenta: $npm$chalk$Chain, + magentaBright: $npm$chalk$Chain, + cyan: $npm$chalk$Chain, + cyanBright: $npm$chalk$Chain, + white: $npm$chalk$Chain, + whiteBright: $npm$chalk$Chain, + gray: $npm$chalk$Chain, + grey: $npm$chalk$Chain, + + // Background colors + bgBlack: $npm$chalk$Chain, + bgBlackBright: $npm$chalk$Chain, + bgRed: $npm$chalk$Chain, + bgRedBright: $npm$chalk$Chain, + bgGreen: $npm$chalk$Chain, + bgGreenBright: $npm$chalk$Chain, + bgYellow: $npm$chalk$Chain, + bgYellowBright: $npm$chalk$Chain, + bgBlue: $npm$chalk$Chain, + bgBlueBright: $npm$chalk$Chain, + bgMagenta: $npm$chalk$Chain, + bgMagentaBright: $npm$chalk$Chain, + bgCyan: $npm$chalk$Chain, + bgCyanBright: $npm$chalk$Chain, + bgWhite: $npm$chalk$Chain, + bgWhiteBright: $npm$chalk$Chain +}; + +declare module "chalk" { + declare var enabled: boolean; + declare var supportsColor: boolean; + + // General + declare var reset: $npm$chalk$Chain; + declare var bold: $npm$chalk$Chain; + declare var dim: $npm$chalk$Chain; + declare var italic: $npm$chalk$Chain; + declare var underline: $npm$chalk$Chain; + declare var inverse: $npm$chalk$Chain; + declare var strikethrough: $npm$chalk$Chain; + + // Text colors + declare var black: $npm$chalk$Chain; + declare var red: $npm$chalk$Chain; + declare var redBright: $npm$chalk$Chain; + declare var green: $npm$chalk$Chain; + declare var greenBright: $npm$chalk$Chain; + declare var yellow: $npm$chalk$Chain; + declare var yellowBright: $npm$chalk$Chain; + declare var blue: $npm$chalk$Chain; + declare var blueBright: $npm$chalk$Chain; + declare var magenta: $npm$chalk$Chain; + declare var magentaBright: $npm$chalk$Chain; + declare var cyan: $npm$chalk$Chain; + declare var cyanBright: $npm$chalk$Chain; + declare var white: $npm$chalk$Chain; + declare var whiteBright: $npm$chalk$Chain; + declare var gray: $npm$chalk$Chain; + declare var grey: $npm$chalk$Chain; + + // Background colors + declare var bgBlack: $npm$chalk$Chain; + declare var bgBlackBright: $npm$chalk$Chain; + declare var bgRed: $npm$chalk$Chain; + declare var bgRedBright: $npm$chalk$Chain; + declare var bgGreen: $npm$chalk$Chain; + declare var bgGreenBright: $npm$chalk$Chain; + declare var bgYellow: $npm$chalk$Chain; + declare var bgYellowBright: $npm$chalk$Chain; + declare var bgBlue: $npm$chalk$Chain; + declare var bgBlueBright: $npm$chalk$Chain; + declare var bgMagenta: $npm$chalk$Chain; + declare var bgMagentaBright: $npm$chalk$Chain; + declare var bgCyan: $npm$chalk$Chain; + declare var bgCyanBright: $npm$chalk$Chain; + declare var bgWhite: $npm$chalk$Chain; + declare var bgWhiteBright: $npm$chalk$Chain; +} diff --git a/flow-typed/npm/cli-spinner_vx.x.x.js b/flow-typed/npm/cli-spinner_vx.x.x.js new file mode 100644 index 00000000..dc502cf2 --- /dev/null +++ b/flow-typed/npm/cli-spinner_vx.x.x.js @@ -0,0 +1,38 @@ +// flow-typed signature: 760d91bb2e9b21e0ae30b837a2c19ef6 +// flow-typed version: <>/cli-spinner_v^0.2.7/flow_v0.63.1 + +/** + * This is an autogenerated libdef stub for: + * + * 'cli-spinner' + * + * Fill this stub out by replacing all the `any` types. + * + * Once filled out, we encourage you to share your work with the + * community by sending a pull request to: + * https://github.com/flowtype/flow-typed + */ + +declare module 'cli-spinner' { + declare module.exports: any; +} + +/** + * We include stubs for each file inside this npm package in case you need to + * require those files directly. Feel free to delete any files that aren't + * needed. + */ +declare module 'cli-spinner/example/spinner' { + declare module.exports: any; +} + +// Filename aliases +declare module 'cli-spinner/example/spinner.js' { + declare module.exports: $Exports<'cli-spinner/example/spinner'>; +} +declare module 'cli-spinner/index' { + declare module.exports: $Exports<'cli-spinner'>; +} +declare module 'cli-spinner/index.js' { + declare module.exports: $Exports<'cli-spinner'>; +} diff --git a/flow-typed/npm/copyfiles_vx.x.x.js b/flow-typed/npm/copyfiles_vx.x.x.js new file mode 100644 index 00000000..85ff5cdd --- /dev/null +++ b/flow-typed/npm/copyfiles_vx.x.x.js @@ -0,0 +1,38 @@ +// flow-typed signature: d3fd00b0e27beee612f86cc5638fa301 +// flow-typed version: <>/copyfiles_v^1.2.0/flow_v0.63.1 + +/** + * This is an autogenerated libdef stub for: + * + * 'copyfiles' + * + * Fill this stub out by replacing all the `any` types. + * + * Once filled out, we encourage you to share your work with the + * community by sending a pull request to: + * https://github.com/flowtype/flow-typed + */ + +declare module 'copyfiles' { + declare module.exports: any; +} + +/** + * We include stubs for each file inside this npm package in case you need to + * require those files directly. Feel free to delete any files that aren't + * needed. + */ +declare module 'copyfiles/test/test.fromNode' { + declare module.exports: any; +} + +// Filename aliases +declare module 'copyfiles/index' { + declare module.exports: $Exports<'copyfiles'>; +} +declare module 'copyfiles/index.js' { + declare module.exports: $Exports<'copyfiles'>; +} +declare module 'copyfiles/test/test.fromNode.js' { + declare module.exports: $Exports<'copyfiles/test/test.fromNode'>; +} diff --git a/flow-typed/npm/cross-spawn_vx.x.x.js b/flow-typed/npm/cross-spawn_vx.x.x.js new file mode 100644 index 00000000..3ea99a30 --- /dev/null +++ b/flow-typed/npm/cross-spawn_vx.x.x.js @@ -0,0 +1,80 @@ +// flow-typed signature: 2641901a3aacbf1f64ee2efe3d413b3e +// flow-typed version: <>/cross-spawn_v^5.1.0/flow_v0.63.1 + +/** + * This is an autogenerated libdef stub for: + * + * 'cross-spawn' + * + * Fill this stub out by replacing all the `any` types. + * + * Once filled out, we encourage you to share your work with the + * community by sending a pull request to: + * https://github.com/flowtype/flow-typed + */ + +declare module 'cross-spawn' { + declare module.exports: any; +} + +/** + * We include stubs for each file inside this npm package in case you need to + * require those files directly. Feel free to delete any files that aren't + * needed. + */ +declare module 'cross-spawn/lib/enoent' { + declare module.exports: any; +} + +declare module 'cross-spawn/lib/parse' { + declare module.exports: any; +} + +declare module 'cross-spawn/lib/util/escapeArgument' { + declare module.exports: any; +} + +declare module 'cross-spawn/lib/util/escapeCommand' { + declare module.exports: any; +} + +declare module 'cross-spawn/lib/util/hasEmptyArgumentBug' { + declare module.exports: any; +} + +declare module 'cross-spawn/lib/util/readShebang' { + declare module.exports: any; +} + +declare module 'cross-spawn/lib/util/resolveCommand' { + declare module.exports: any; +} + +// Filename aliases +declare module 'cross-spawn/index' { + declare module.exports: $Exports<'cross-spawn'>; +} +declare module 'cross-spawn/index.js' { + declare module.exports: $Exports<'cross-spawn'>; +} +declare module 'cross-spawn/lib/enoent.js' { + declare module.exports: $Exports<'cross-spawn/lib/enoent'>; +} +declare module 'cross-spawn/lib/parse.js' { + declare module.exports: $Exports<'cross-spawn/lib/parse'>; +} +declare module 'cross-spawn/lib/util/escapeArgument.js' { + declare module.exports: $Exports<'cross-spawn/lib/util/escapeArgument'>; +} +declare module 'cross-spawn/lib/util/escapeCommand.js' { + declare module.exports: $Exports<'cross-spawn/lib/util/escapeCommand'>; +} +declare module 'cross-spawn/lib/util/hasEmptyArgumentBug.js' { + declare module.exports: $Exports<'cross-spawn/lib/util/hasEmptyArgumentBug'>; +} +declare module 'cross-spawn/lib/util/readShebang.js' { + declare module.exports: $Exports<'cross-spawn/lib/util/readShebang'>; +} +declare module 'cross-spawn/lib/util/resolveCommand.js' { + declare module.exports: $Exports<'cross-spawn/lib/util/resolveCommand'>; +} diff --git a/flow-typed/npm/css-loader_vx.x.x.js b/flow-typed/npm/css-loader_vx.x.x.js new file mode 100644 index 00000000..218e0dab --- /dev/null +++ b/flow-typed/npm/css-loader_vx.x.x.js @@ -0,0 +1,101 @@ +// flow-typed signature: ddcd85fb5fdc27da5a6088e7d7a8679c +// flow-typed version: <>/css-loader_v^0.28.8/flow_v0.63.1 + +/** + * This is an autogenerated libdef stub for: + * + * 'css-loader' + * + * Fill this stub out by replacing all the `any` types. + * + * Once filled out, we encourage you to share your work with the + * community by sending a pull request to: + * https://github.com/flowtype/flow-typed + */ + +declare module 'css-loader' { + declare module.exports: any; +} + +/** + * We include stubs for each file inside this npm package in case you need to + * require those files directly. Feel free to delete any files that aren't + * needed. + */ +declare module 'css-loader/lib/compile-exports' { + declare module.exports: any; +} + +declare module 'css-loader/lib/createResolver' { + declare module.exports: any; +} + +declare module 'css-loader/lib/css-base' { + declare module.exports: any; +} + +declare module 'css-loader/lib/getImportPrefix' { + declare module.exports: any; +} + +declare module 'css-loader/lib/getLocalIdent' { + declare module.exports: any; +} + +declare module 'css-loader/lib/loader' { + declare module.exports: any; +} + +declare module 'css-loader/lib/localsLoader' { + declare module.exports: any; +} + +declare module 'css-loader/lib/processCss' { + declare module.exports: any; +} + +declare module 'css-loader/lib/url/escape' { + declare module.exports: any; +} + +declare module 'css-loader/locals' { + declare module.exports: any; +} + +// Filename aliases +declare module 'css-loader/index' { + declare module.exports: $Exports<'css-loader'>; +} +declare module 'css-loader/index.js' { + declare module.exports: $Exports<'css-loader'>; +} +declare module 'css-loader/lib/compile-exports.js' { + declare module.exports: $Exports<'css-loader/lib/compile-exports'>; +} +declare module 'css-loader/lib/createResolver.js' { + declare module.exports: $Exports<'css-loader/lib/createResolver'>; +} +declare module 'css-loader/lib/css-base.js' { + declare module.exports: $Exports<'css-loader/lib/css-base'>; +} +declare module 'css-loader/lib/getImportPrefix.js' { + declare module.exports: $Exports<'css-loader/lib/getImportPrefix'>; +} +declare module 'css-loader/lib/getLocalIdent.js' { + declare module.exports: $Exports<'css-loader/lib/getLocalIdent'>; +} +declare module 'css-loader/lib/loader.js' { + declare module.exports: $Exports<'css-loader/lib/loader'>; +} +declare module 'css-loader/lib/localsLoader.js' { + declare module.exports: $Exports<'css-loader/lib/localsLoader'>; +} +declare module 'css-loader/lib/processCss.js' { + declare module.exports: $Exports<'css-loader/lib/processCss'>; +} +declare module 'css-loader/lib/url/escape.js' { + declare module.exports: $Exports<'css-loader/lib/url/escape'>; +} +declare module 'css-loader/locals.js' { + declare module.exports: $Exports<'css-loader/locals'>; +} diff --git a/flow-typed/npm/flow-bin_v0.x.x.js b/flow-typed/npm/flow-bin_v0.x.x.js new file mode 100644 index 00000000..c538e208 --- /dev/null +++ b/flow-typed/npm/flow-bin_v0.x.x.js @@ -0,0 +1,6 @@ +// flow-typed signature: 6a5610678d4b01e13bbfbbc62bdaf583 +// flow-typed version: 3817bc6980/flow-bin_v0.x.x/flow_>=v0.25.x + +declare module "flow-bin" { + declare module.exports: string; +} diff --git a/flow-typed/npm/flow-typed_vx.x.x.js b/flow-typed/npm/flow-typed_vx.x.x.js new file mode 100644 index 00000000..445ff7f7 --- /dev/null +++ b/flow-typed/npm/flow-typed_vx.x.x.js @@ -0,0 +1,193 @@ +// flow-typed signature: 18900275c28a96722c5b911866345ad4 +// flow-typed version: <>/flow-typed_v^2.2.3/flow_v0.63.1 + +/** + * This is an autogenerated libdef stub for: + * + * 'flow-typed' + * + * Fill this stub out by replacing all the `any` types. + * + * Once filled out, we encourage you to share your work with the + * community by sending a pull request to: + * https://github.com/flowtype/flow-typed + */ + +declare module 'flow-typed' { + declare module.exports: any; +} + +/** + * We include stubs for each file inside this npm package in case you need to + * require those files directly. Feel free to delete any files that aren't + * needed. + */ +declare module 'flow-typed/dist/cli' { + declare module.exports: any; +} + +declare module 'flow-typed/dist/commands/create-stub' { + declare module.exports: any; +} + +declare module 'flow-typed/dist/commands/install' { + declare module.exports: any; +} + +declare module 'flow-typed/dist/commands/runTests' { + declare module.exports: any; +} + +declare module 'flow-typed/dist/commands/search' { + declare module.exports: any; +} + +declare module 'flow-typed/dist/commands/update-cache' { + declare module.exports: any; +} + +declare module 'flow-typed/dist/commands/update' { + declare module.exports: any; +} + +declare module 'flow-typed/dist/commands/validateDefs' { + declare module.exports: any; +} + +declare module 'flow-typed/dist/commands/version' { + declare module.exports: any; +} + +declare module 'flow-typed/dist/lib/cacheRepoUtils' { + declare module.exports: any; +} + +declare module 'flow-typed/dist/lib/codeSign' { + declare module.exports: any; +} + +declare module 'flow-typed/dist/lib/fileUtils' { + declare module.exports: any; +} + +declare module 'flow-typed/dist/lib/flowProjectUtils' { + declare module.exports: any; +} + +declare module 'flow-typed/dist/lib/flowVersion' { + declare module.exports: any; +} + +declare module 'flow-typed/dist/lib/git' { + declare module.exports: any; +} + +declare module 'flow-typed/dist/lib/github' { + declare module.exports: any; +} + +declare module 'flow-typed/dist/lib/isInFlowTypedRepo' { + declare module.exports: any; +} + +declare module 'flow-typed/dist/lib/libDefs' { + declare module.exports: any; +} + +declare module 'flow-typed/dist/lib/node' { + declare module.exports: any; +} + +declare module 'flow-typed/dist/lib/npm/npmLibDefs' { + declare module.exports: any; +} + +declare module 'flow-typed/dist/lib/npm/npmProjectUtils' { + declare module.exports: any; +} + +declare module 'flow-typed/dist/lib/semver' { + declare module.exports: any; +} + +declare module 'flow-typed/dist/lib/stubUtils' { + declare module.exports: any; +} + +declare module 'flow-typed/dist/lib/validationErrors' { + declare module.exports: any; +} + +// Filename aliases +declare module 'flow-typed/dist/cli.js' { + declare module.exports: $Exports<'flow-typed/dist/cli'>; +} +declare module 'flow-typed/dist/commands/create-stub.js' { + declare module.exports: $Exports<'flow-typed/dist/commands/create-stub'>; +} +declare module 'flow-typed/dist/commands/install.js' { + declare module.exports: $Exports<'flow-typed/dist/commands/install'>; +} +declare module 'flow-typed/dist/commands/runTests.js' { + declare module.exports: $Exports<'flow-typed/dist/commands/runTests'>; +} +declare module 'flow-typed/dist/commands/search.js' { + declare module.exports: $Exports<'flow-typed/dist/commands/search'>; +} +declare module 'flow-typed/dist/commands/update-cache.js' { + declare module.exports: $Exports<'flow-typed/dist/commands/update-cache'>; +} +declare module 'flow-typed/dist/commands/update.js' { + declare module.exports: $Exports<'flow-typed/dist/commands/update'>; +} +declare module 'flow-typed/dist/commands/validateDefs.js' { + declare module.exports: $Exports<'flow-typed/dist/commands/validateDefs'>; +} +declare module 'flow-typed/dist/commands/version.js' { + declare module.exports: $Exports<'flow-typed/dist/commands/version'>; +} +declare module 'flow-typed/dist/lib/cacheRepoUtils.js' { + declare module.exports: $Exports<'flow-typed/dist/lib/cacheRepoUtils'>; +} +declare module 'flow-typed/dist/lib/codeSign.js' { + declare module.exports: $Exports<'flow-typed/dist/lib/codeSign'>; +} +declare module 'flow-typed/dist/lib/fileUtils.js' { + declare module.exports: $Exports<'flow-typed/dist/lib/fileUtils'>; +} +declare module 'flow-typed/dist/lib/flowProjectUtils.js' { + declare module.exports: $Exports<'flow-typed/dist/lib/flowProjectUtils'>; +} +declare module 'flow-typed/dist/lib/flowVersion.js' { + declare module.exports: $Exports<'flow-typed/dist/lib/flowVersion'>; +} +declare module 'flow-typed/dist/lib/git.js' { + declare module.exports: $Exports<'flow-typed/dist/lib/git'>; +} +declare module 'flow-typed/dist/lib/github.js' { + declare module.exports: $Exports<'flow-typed/dist/lib/github'>; +} +declare module 'flow-typed/dist/lib/isInFlowTypedRepo.js' { + declare module.exports: $Exports<'flow-typed/dist/lib/isInFlowTypedRepo'>; +} +declare module 'flow-typed/dist/lib/libDefs.js' { + declare module.exports: $Exports<'flow-typed/dist/lib/libDefs'>; +} +declare module 'flow-typed/dist/lib/node.js' { + declare module.exports: $Exports<'flow-typed/dist/lib/node'>; +} +declare module 'flow-typed/dist/lib/npm/npmLibDefs.js' { + declare module.exports: $Exports<'flow-typed/dist/lib/npm/npmLibDefs'>; +} +declare module 'flow-typed/dist/lib/npm/npmProjectUtils.js' { + declare module.exports: $Exports<'flow-typed/dist/lib/npm/npmProjectUtils'>; +} +declare module 'flow-typed/dist/lib/semver.js' { + declare module.exports: $Exports<'flow-typed/dist/lib/semver'>; +} +declare module 'flow-typed/dist/lib/stubUtils.js' { + declare module.exports: $Exports<'flow-typed/dist/lib/stubUtils'>; +} +declare module 'flow-typed/dist/lib/validationErrors.js' { + declare module.exports: $Exports<'flow-typed/dist/lib/validationErrors'>; +} diff --git a/flow-typed/npm/glob_vx.x.x.js b/flow-typed/npm/glob_vx.x.x.js new file mode 100644 index 00000000..21dd56d1 --- /dev/null +++ b/flow-typed/npm/glob_vx.x.x.js @@ -0,0 +1,46 @@ +// flow-typed signature: 021cc1193b38c0a8f0bfb838f636c154 +// flow-typed version: <>/glob_v^7.1.2/flow_v0.63.1 + +/** + * This is an autogenerated libdef stub for: + * + * 'glob' + * + * Fill this stub out by replacing all the `any` types. + * + * Once filled out, we encourage you to share your work with the + * community by sending a pull request to: + * https://github.com/flowtype/flow-typed + */ + +declare module 'glob' { + declare module.exports: any; +} + +/** + * We include stubs for each file inside this npm package in case you need to + * require those files directly. Feel free to delete any files that aren't + * needed. + */ +declare module 'glob/common' { + declare module.exports: any; +} + +declare module 'glob/glob' { + declare module.exports: any; +} + +declare module 'glob/sync' { + declare module.exports: any; +} + +// Filename aliases +declare module 'glob/common.js' { + declare module.exports: $Exports<'glob/common'>; +} +declare module 'glob/glob.js' { + declare module.exports: $Exports<'glob/glob'>; +} +declare module 'glob/sync.js' { + declare module.exports: $Exports<'glob/sync'>; +} diff --git a/flow-typed/npm/husky_vx.x.x.js b/flow-typed/npm/husky_vx.x.x.js new file mode 100644 index 00000000..34b68c3c --- /dev/null +++ b/flow-typed/npm/husky_vx.x.x.js @@ -0,0 +1,88 @@ +// flow-typed signature: 6dc0ba413dee811c0efcd4a99602cc51 +// flow-typed version: <>/husky_v^0.14.0/flow_v0.63.1 + +/** + * This is an autogenerated libdef stub for: + * + * 'husky' + * + * Fill this stub out by replacing all the `any` types. + * + * Once filled out, we encourage you to share your work with the + * community by sending a pull request to: + * https://github.com/flowtype/flow-typed + */ + +declare module 'husky' { + declare module.exports: any; +} + +/** + * We include stubs for each file inside this npm package in case you need to + * require those files directly. Feel free to delete any files that aren't + * needed. + */ +declare module 'husky/__tests__/index' { + declare module.exports: any; +} + +declare module 'husky/bin/install' { + declare module.exports: any; +} + +declare module 'husky/bin/uninstall' { + declare module.exports: any; +} + +declare module 'husky/src/install' { + declare module.exports: any; +} + +declare module 'husky/src/uninstall' { + declare module.exports: any; +} + +declare module 'husky/src/utils/find-hooks-dir' { + declare module.exports: any; +} + +declare module 'husky/src/utils/find-parent' { + declare module.exports: any; +} + +declare module 'husky/src/utils/get-hook-script' { + declare module.exports: any; +} + +declare module 'husky/src/utils/is-husky' { + declare module.exports: any; +} + +// Filename aliases +declare module 'husky/__tests__/index.js' { + declare module.exports: $Exports<'husky/__tests__/index'>; +} +declare module 'husky/bin/install.js' { + declare module.exports: $Exports<'husky/bin/install'>; +} +declare module 'husky/bin/uninstall.js' { + declare module.exports: $Exports<'husky/bin/uninstall'>; +} +declare module 'husky/src/install.js' { + declare module.exports: $Exports<'husky/src/install'>; +} +declare module 'husky/src/uninstall.js' { + declare module.exports: $Exports<'husky/src/uninstall'>; +} +declare module 'husky/src/utils/find-hooks-dir.js' { + declare module.exports: $Exports<'husky/src/utils/find-hooks-dir'>; +} +declare module 'husky/src/utils/find-parent.js' { + declare module.exports: $Exports<'husky/src/utils/find-parent'>; +} +declare module 'husky/src/utils/get-hook-script.js' { + declare module.exports: $Exports<'husky/src/utils/get-hook-script'>; +} +declare module 'husky/src/utils/is-husky.js' { + declare module.exports: $Exports<'husky/src/utils/is-husky'>; +} diff --git a/flow-typed/npm/img-diff-js_vx.x.x.js b/flow-typed/npm/img-diff-js_vx.x.x.js new file mode 100644 index 00000000..5c358b96 --- /dev/null +++ b/flow-typed/npm/img-diff-js_vx.x.x.js @@ -0,0 +1,67 @@ +// flow-typed signature: 8d47c428179c795674ad420a1c21adbb +// flow-typed version: <>/img-diff-js_v^0.4.0/flow_v0.63.1 + +/** + * This is an autogenerated libdef stub for: + * + * 'img-diff-js' + * + * Fill this stub out by replacing all the `any` types. + * + * Once filled out, we encourage you to share your work with the + * community by sending a pull request to: + * https://github.com/flowtype/flow-typed + */ + +declare module 'img-diff-js' { + declare module.exports: any; +} + +/** + * We include stubs for each file inside this npm package in case you need to + * require those files directly. Feel free to delete any files that aren't + * needed. + */ +declare module 'img-diff-js/lib/decode-jpeg' { + declare module.exports: any; +} + +declare module 'img-diff-js/lib/decode-png' { + declare module.exports: any; +} + +declare module 'img-diff-js/lib/decode-tiff' { + declare module.exports: any; +} + +declare module 'img-diff-js/lib/expand' { + declare module.exports: any; +} + +declare module 'img-diff-js/lib/index' { + declare module.exports: any; +} + +declare module 'img-diff-js/tool/perf' { + declare module.exports: any; +} + +// Filename aliases +declare module 'img-diff-js/lib/decode-jpeg.js' { + declare module.exports: $Exports<'img-diff-js/lib/decode-jpeg'>; +} +declare module 'img-diff-js/lib/decode-png.js' { + declare module.exports: $Exports<'img-diff-js/lib/decode-png'>; +} +declare module 'img-diff-js/lib/decode-tiff.js' { + declare module.exports: $Exports<'img-diff-js/lib/decode-tiff'>; +} +declare module 'img-diff-js/lib/expand.js' { + declare module.exports: $Exports<'img-diff-js/lib/expand'>; +} +declare module 'img-diff-js/lib/index.js' { + declare module.exports: $Exports<'img-diff-js/lib/index'>; +} +declare module 'img-diff-js/tool/perf.js' { + declare module.exports: $Exports<'img-diff-js/tool/perf'>; +} diff --git a/flow-typed/npm/lodash_v4.x.x.js b/flow-typed/npm/lodash_v4.x.x.js new file mode 100644 index 00000000..bf3d945d --- /dev/null +++ b/flow-typed/npm/lodash_v4.x.x.js @@ -0,0 +1,4440 @@ +// flow-typed signature: 13b94db0df5081010f4e428ece1d41c5 +// flow-typed version: 0211ce08b2/lodash_v4.x.x/flow_>=v0.55.x + +declare module "lodash" { + declare type __CurriedFunction1 = (...r: [AA]) => R; + declare type CurriedFunction1 = __CurriedFunction1; + + declare type __CurriedFunction2 = (( + ...r: [AA] + ) => CurriedFunction1) & + ((...r: [AA, BB]) => R); + declare type CurriedFunction2 = __CurriedFunction2; + + declare type __CurriedFunction3 = (( + ...r: [AA] + ) => CurriedFunction2) & + ((...r: [AA, BB]) => CurriedFunction1) & + ((...r: [AA, BB, CC]) => R); + declare type CurriedFunction3 = __CurriedFunction3< + A, + B, + C, + R, + *, + *, + * + >; + + declare type __CurriedFunction4< + A, + B, + C, + D, + R, + AA: A, + BB: B, + CC: C, + DD: D + > = ((...r: [AA]) => CurriedFunction3) & + ((...r: [AA, BB]) => CurriedFunction2) & + ((...r: [AA, BB, CC]) => CurriedFunction1) & + ((...r: [AA, BB, CC, DD]) => R); + declare type CurriedFunction4 = __CurriedFunction4< + A, + B, + C, + D, + R, + *, + *, + *, + * + >; + + declare type __CurriedFunction5< + A, + B, + C, + D, + E, + R, + AA: A, + BB: B, + CC: C, + DD: D, + EE: E + > = ((...r: [AA]) => CurriedFunction4) & + ((...r: [AA, BB]) => CurriedFunction3) & + ((...r: [AA, BB, CC]) => CurriedFunction2) & + ((...r: [AA, BB, CC, DD]) => CurriedFunction1) & + ((...r: [AA, BB, CC, DD, EE]) => R); + declare type CurriedFunction5 = __CurriedFunction5< + A, + B, + C, + D, + E, + R, + *, + *, + *, + *, + * + >; + + declare type __CurriedFunction6< + A, + B, + C, + D, + E, + F, + R, + AA: A, + BB: B, + CC: C, + DD: D, + EE: E, + FF: F + > = ((...r: [AA]) => CurriedFunction5) & + ((...r: [AA, BB]) => CurriedFunction4) & + ((...r: [AA, BB, CC]) => CurriedFunction3) & + ((...r: [AA, BB, CC, DD]) => CurriedFunction2) & + ((...r: [AA, BB, CC, DD, EE]) => CurriedFunction1) & + ((...r: [AA, BB, CC, DD, EE, FF]) => R); + declare type CurriedFunction6 = __CurriedFunction6< + A, + B, + C, + D, + E, + F, + R, + *, + *, + *, + *, + *, + * + >; + + declare type Curry = (((...r: [A]) => R) => CurriedFunction1) & + (((...r: [A, B]) => R) => CurriedFunction2) & + (((...r: [A, B, C]) => R) => CurriedFunction3) & + (( + (...r: [A, B, C, D]) => R + ) => CurriedFunction4) & + (( + (...r: [A, B, C, D, E]) => R + ) => CurriedFunction5) & + (( + (...r: [A, B, C, D, E, F]) => R + ) => CurriedFunction6); + + declare type UnaryFn = (a: A) => R; + + declare type TemplateSettings = { + escape?: RegExp, + evaluate?: RegExp, + imports?: Object, + interpolate?: RegExp, + variable?: string + }; + + declare type TruncateOptions = { + length?: number, + omission?: string, + separator?: RegExp | string + }; + + declare type DebounceOptions = { + leading?: boolean, + maxWait?: number, + trailing?: boolean + }; + + declare type ThrottleOptions = { + leading?: boolean, + trailing?: boolean + }; + + declare type NestedArray = Array>; + + declare type matchesIterateeShorthand = Object; + declare type matchesPropertyIterateeShorthand = [string, any]; + declare type propertyIterateeShorthand = string; + + declare type OPredicate = + | ((value: A, key: string, object: O) => any) + | matchesIterateeShorthand + | matchesPropertyIterateeShorthand + | propertyIterateeShorthand; + + declare type OIterateeWithResult = + | Object + | string + | ((value: V, key: string, object: O) => R); + declare type OIteratee = OIterateeWithResult; + declare type OFlatMapIteratee = OIterateeWithResult>; + + declare type Predicate = + | ((value: T, index: number, array: Array) => any) + | matchesIterateeShorthand + | matchesPropertyIterateeShorthand + | propertyIterateeShorthand; + + declare type _ValueOnlyIteratee = (value: T) => mixed; + declare type ValueOnlyIteratee = _ValueOnlyIteratee | string; + declare type _Iteratee = ( + item: T, + index: number, + array: ?Array + ) => mixed; + declare type Iteratee = _Iteratee | Object | string; + declare type FlatMapIteratee = + | ((item: T, index: number, array: ?Array) => Array) + | Object + | string; + declare type Comparator = (item: T, item2: T) => boolean; + + declare type MapIterator = + | ((item: T, index: number, array: Array) => U) + | propertyIterateeShorthand; + + declare type ReadOnlyMapIterator = + | ((item: T, index: number, array: $ReadOnlyArray) => U) + | propertyIterateeShorthand; + + declare type OMapIterator = + | ((item: T, key: string, object: O) => U) + | propertyIterateeShorthand; + + declare class Lodash { + // Array + chunk(array?: ?Array, size?: ?number): Array>; + compact(array?: ?Array): Array; + concat(base?: ?Array, ...elements: Array): Array; + difference(array?: ?Array, values?: ?Array): Array; + differenceBy( + array?: ?Array, + values?: ?Array, + iteratee?: ?ValueOnlyIteratee + ): T[]; + differenceWith(array?: ?T[], values?: ?T[], comparator?: ?Comparator): T[]; + drop(array?: ?Array, n?: ?number): Array; + dropRight(array?: ?Array, n?: ?number): Array; + dropRightWhile(array?: ?Array, predicate?: ?Predicate): Array; + dropWhile(array?: ?Array, predicate?: ?Predicate): Array; + fill( + array?: ?Array, + value?: ?U, + start?: ?number, + end?: ?number + ): Array; + findIndex( + array: $ReadOnlyArray, + predicate?: ?Predicate, + fromIndex?: ?number + ): number; + findIndex( + array: void | null, + predicate?: ?Predicate, + fromIndex?: ?number + ): -1; + findLastIndex( + array: $ReadOnlyArray, + predicate?: ?Predicate, + fromIndex?: ?number + ): number; + findLastIndex( + array: void | null, + predicate?: ?Predicate, + fromIndex?: ?number + ): -1; + // alias of _.head + first(array: ?Array): T; + flatten(array?: ?Array | X>): Array; + flattenDeep(array?: ?any[]): Array; + flattenDepth(array?: ?any[], depth?: ?number): any[]; + fromPairs(pairs?: ?Array<[A, B]>): { [key: A]: B }; + head(array: ?Array): T; + indexOf(array: Array, value: T, fromIndex?: number): number; + indexOf(array: void | null, value?: ?T, fromIndex?: ?number): -1; + initial(array: ?Array): Array; + intersection(...arrays?: Array>): Array; + //Workaround until (...parameter: T, parameter2: U) works + intersectionBy(a1?: ?Array, iteratee?: ?ValueOnlyIteratee): Array; + intersectionBy( + a1?: ?Array, + a2?: ?Array, + iteratee?: ?ValueOnlyIteratee + ): Array; + intersectionBy( + a1?: ?Array, + a2?: ?Array, + a3?: ?Array, + iteratee?: ?ValueOnlyIteratee + ): Array; + intersectionBy( + a1?: ?Array, + a2?: ?Array, + a3?: ?Array, + a4?: ?Array, + iteratee?: ?ValueOnlyIteratee + ): Array; + //Workaround until (...parameter: T, parameter2: U) works + intersectionWith(a1?: ?Array, comparator?: ?Comparator): Array; + intersectionWith( + a1?: ?Array, + a2?: ?Array, + comparator?: ?Comparator + ): Array; + intersectionWith( + a1?: ?Array, + a2?: ?Array, + a3?: ?Array, + comparator?: ?Comparator + ): Array; + intersectionWith( + a1?: ?Array, + a2?: ?Array, + a3?: ?Array, + a4?: ?Array, + comparator?: ?Comparator + ): Array; + join(array: Array, separator?: ?string): string; + join(array: void | null, separator?: ?string): ''; + last(array: ?Array): T; + lastIndexOf(array: Array, value?: ?T, fromIndex?: ?number): number; + lastIndexOf(array: void | null, value?: ?T, fromIndex?: ?number): -1; + nth(array: T[], n?: ?number): T; + nth(array: void | null, n?: ?number): void; + pull(array: Array, ...values?: Array): Array; + pull(array: T, ...values?: Array): T; + pullAll(array: Array, values?: ?Array): Array; + pullAll(array: T, values?: ?Array): T; + pullAllBy( + array: Array, + values?: ?Array, + iteratee?: ?ValueOnlyIteratee + ): Array; + pullAllBy( + array: T, + values?: ?Array, + iteratee?: ?ValueOnlyIteratee + ): T; + pullAllWith(array: T[], values?: ?T[], comparator?: ?Function): T[]; + pullAllWith(array: T, values?: ?Array, comparator?: ?Function): T; + pullAt(array?: ?Array, ...indexed?: Array): Array; + pullAt(array?: ?Array, indexed?: ?Array): Array; + remove(array?: ?Array, predicate?: ?Predicate): Array; + reverse(array: Array): Array; + reverse(array: T): T; + slice(array?: ?Array, start?: ?number, end?: ?number): Array; + sortedIndex(array: Array, value: T): number; + sortedIndex(array: void | null, value: ?T): 0; + sortedIndexBy( + array: Array, + value?: ?T, + iteratee?: ?ValueOnlyIteratee + ): number; + sortedIndexBy( + array: void | null, + value?: ?T, + iteratee?: ?ValueOnlyIteratee + ): 0; + sortedIndexOf(array: Array, value: T): number; + sortedIndexOf(array: void | null, value?: ?T): -1; + sortedLastIndex(array: Array, value: T): number; + sortedLastIndex(array: void | null, value?: ?T): 0; + sortedLastIndexBy( + array: Array, + value: T, + iteratee?: ValueOnlyIteratee + ): number; + sortedLastIndexBy( + array: void | null, + value?: ?T, + iteratee?: ?ValueOnlyIteratee + ): 0; + sortedLastIndexOf(array: Array, value: T): number; + sortedLastIndexOf(array: void | null, value?: ?T): -1; + sortedUniq(array?: ?Array): Array; + sortedUniqBy(array?: ?Array, iteratee?: ?(value: T) => mixed): Array; + tail(array?: ?Array): Array; + take(array?: ?Array, n?: ?number): Array; + takeRight(array?: ?Array, n?: ?number): Array; + takeRightWhile(array?: ?Array, predicate?: ?Predicate): Array; + takeWhile(array?: ?Array, predicate?: ?Predicate): Array; + union(...arrays?: Array>): Array; + //Workaround until (...parameter: T, parameter2: U) works + unionBy(a1?: ?Array, iteratee?: ?ValueOnlyIteratee): Array; + unionBy( + a1?: ?Array, + a2: Array, + iteratee?: ValueOnlyIteratee + ): Array; + unionBy( + a1: Array, + a2: Array, + a3: Array, + iteratee?: ValueOnlyIteratee + ): Array; + unionBy( + a1: Array, + a2: Array, + a3: Array, + a4: Array, + iteratee?: ValueOnlyIteratee + ): Array; + //Workaround until (...parameter: T, parameter2: U) works + unionWith(a1?: ?Array, comparator?: ?Comparator): Array; + unionWith( + a1: Array, + a2: Array, + comparator?: Comparator + ): Array; + unionWith( + a1: Array, + a2: Array, + a3: Array, + comparator?: Comparator + ): Array; + unionWith( + a1: Array, + a2: Array, + a3: Array, + a4: Array, + comparator?: Comparator + ): Array; + uniq(array?: ?Array): Array; + uniqBy(array?: ?Array, iteratee?: ?ValueOnlyIteratee): Array; + uniqWith(array?: ?Array, comparator?: ?Comparator): Array; + unzip(array?: ?Array): Array; + unzipWith(array: ?Array, iteratee?: ?Iteratee): Array; + without(array?: ?Array, ...values?: Array): Array; + xor(...array: Array>): Array; + //Workaround until (...parameter: T, parameter2: U) works + xorBy(a1?: ?Array, iteratee?: ?ValueOnlyIteratee): Array; + xorBy( + a1: Array, + a2: Array, + iteratee?: ValueOnlyIteratee + ): Array; + xorBy( + a1: Array, + a2: Array, + a3: Array, + iteratee?: ValueOnlyIteratee + ): Array; + xorBy( + a1: Array, + a2: Array, + a3: Array, + a4: Array, + iteratee?: ValueOnlyIteratee + ): Array; + //Workaround until (...parameter: T, parameter2: U) works + xorWith(a1?: ?Array, comparator?: ?Comparator): Array; + xorWith( + a1: Array, + a2: Array, + comparator?: Comparator + ): Array; + xorWith( + a1: Array, + a2: Array, + a3: Array, + comparator?: Comparator + ): Array; + xorWith( + a1: Array, + a2: Array, + a3: Array, + a4: Array, + comparator?: Comparator + ): Array; + zip(a1?: ?A[], a2?: ?B[]): Array<[A, B]>; + zip(a1: A[], a2: B[], a3: C[]): Array<[A, B, C]>; + zip(a1: A[], a2: B[], a3: C[], a4: D[]): Array<[A, B, C, D]>; + zip( + a1: A[], + a2: B[], + a3: C[], + a4: D[], + a5: E[] + ): Array<[A, B, C, D, E]>; + + zipObject(props: Array, values?: ?Array): { [key: K]: V }; + zipObject(props: void | null, values?: ?Array): {}; + zipObjectDeep(props: any[], values?: ?any): Object; + zipObjectDeep(props: void | null, values?: ?any): {}; + + zipWith(a1?: ?Array): Array<[A]>; + zipWith(a1: Array, iteratee: (A) => T): Array; + + zipWith(a1: Array, a2: Array): Array<[A, B]>; + zipWith( + a1: Array, + a2: Array, + iteratee: (A, B) => T + ): Array; + + zipWith( + a1: Array, + a2: Array, + a3: Array + ): Array<[A, B, C]>; + zipWith( + a1: Array, + a2: Array, + a3: Array, + iteratee: (A, B, C) => T + ): Array; + + zipWith( + a1: Array, + a2: Array, + a3: Array, + a4: Array + ): Array<[A, B, C, D]>; + zipWith( + a1: Array, + a2: Array, + a3: Array, + a4: Array, + iteratee: (A, B, C, D) => T + ): Array; + + // Collection + countBy(array: Array, iteratee?: ?ValueOnlyIteratee): Object; + countBy(array: void | null, iteratee?: ?ValueOnlyIteratee): {}; + countBy(object: T, iteratee?: ?ValueOnlyIteratee): Object; + // alias of _.forEach + each(array: Array, iteratee?: ?Iteratee): Array; + each(array: T, iteratee?: ?Iteratee): T; + each(object: T, iteratee?: ?OIteratee): T; + // alias of _.forEachRight + eachRight(array: Array, iteratee?: ?Iteratee): Array; + eachRight(array: T, iteratee?: ?Iteratee): T; + eachRight(object: T, iteratee?: OIteratee): T; + every(array?: ?Array, iteratee?: ?Iteratee): boolean; + every(object: T, iteratee?: OIteratee): boolean; + filter(array?: ?Array, predicate?: ?Predicate): Array; + filter( + object: T, + predicate?: OPredicate + ): Array; + find( + array: $ReadOnlyArray, + predicate?: ?Predicate, + fromIndex?: ?number + ): T | void; + find( + array: void | null, + predicate?: ?Predicate, + fromIndex?: ?number + ): void; + find( + object: T, + predicate?: OPredicate, + fromIndex?: number + ): V; + findLast( + array: ?$ReadOnlyArray, + predicate?: ?Predicate, + fromIndex?: ?number + ): T | void; + findLast( + object: T, + predicate?: ?OPredicate + ): V; + flatMap(array?: ?Array, iteratee?: ?FlatMapIteratee): Array; + flatMap( + object: T, + iteratee?: OFlatMapIteratee + ): Array; + flatMapDeep( + array?: ?Array, + iteratee?: ?FlatMapIteratee + ): Array; + flatMapDeep( + object: T, + iteratee?: ?OFlatMapIteratee + ): Array; + flatMapDepth( + array?: ?Array, + iteratee?: ?FlatMapIteratee, + depth?: ?number + ): Array; + flatMapDepth( + object: T, + iteratee?: OFlatMapIteratee, + depth?: number + ): Array; + forEach(array: Array, iteratee?: ?Iteratee): Array; + forEach(array: T, iteratee?: ?Iteratee): T; + forEach(object: T, iteratee?: ?OIteratee): T; + forEachRight(array: Array, iteratee?: ?Iteratee): Array; + forEachRight(array: T, iteratee?: ?Iteratee): T; + forEachRight(object: T, iteratee?: ?OIteratee): T; + groupBy( + array: Array, + iteratee?: ?ValueOnlyIteratee + ): { [key: V]: Array }; + groupBy( + array: void | null, + iteratee?: ?ValueOnlyIteratee + ): {}; + groupBy( + object: T, + iteratee?: ValueOnlyIteratee + ): { [key: V]: Array }; + includes(array: Array, value: T, fromIndex?: ?number): boolean; + includes(array: void | null, value?: ?T, fromIndex?: ?number): false; + includes(object: T, value: any, fromIndex?: number): boolean; + includes(str: string, value: string, fromIndex?: number): boolean; + invokeMap( + array?: ?Array, + path?: ?((value: T) => Array | string) | Array | string, + ...args?: Array + ): Array; + invokeMap( + object: T, + path: ((value: any) => Array | string) | Array | string, + ...args?: Array + ): Array; + keyBy( + array: Array, + iteratee?: ?ValueOnlyIteratee + ): { [key: V]: ?T }; + keyBy( + array: void | null, + iteratee?: ?ValueOnlyIteratee<*> + ): {}; + keyBy( + object: T, + iteratee?: ?ValueOnlyIteratee + ): { [key: V]: ?A }; + map(array?: ?Array, iteratee?: ?MapIterator): Array; + map( + array: ?$ReadOnlyArray, + iteratee?: ReadOnlyMapIterator + ): Array, + map( + object: ?T, + iteratee?: OMapIterator + ): Array; + map( + str: ?string, + iteratee?: (char: string, index: number, str: string) => any + ): string; + orderBy( + array: Array, + iteratees?: ?Array> | ?string, + orders?: ?Array<"asc" | "desc"> | ?string + ): Array; + orderBy( + array: null | void, + iteratees?: ?Array> | ?string, + orders?: ?Array<"asc" | "desc"> | ?string + ): Array; + orderBy( + object: T, + iteratees?: Array> | string, + orders?: Array<"asc" | "desc"> | string + ): Array; + partition( + array?: ?Array, + predicate?: ?Predicate + ): [Array, Array]; + partition( + object: T, + predicate?: OPredicate + ): [Array, Array]; + reduce( + array: Array, + iteratee?: ( + accumulator: U, + value: T, + index: number, + array: ?Array + ) => U, + accumulator?: U + ): U; + reduce( + array: void | null, + iteratee?: ?( + accumulator: U, + value: T, + index: number, + array: ?Array + ) => U, + accumulator?: ?U + ): void | null; + reduce( + object: T, + iteratee?: (accumulator: U, value: any, key: string, object: T) => U, + accumulator?: U + ): U; + reduceRight( + array: void | null, + iteratee?: ?( + accumulator: U, + value: T, + index: number, + array: ?Array + ) => U, + accumulator?: ?U + ): void | null; + reduceRight( + array: Array, + iteratee?: ?( + accumulator: U, + value: T, + index: number, + array: ?Array + ) => U, + accumulator?: ?U + ): U; + reduceRight( + object: T, + iteratee?: ?(accumulator: U, value: any, key: string, object: T) => U, + accumulator?: ?U + ): U; + reject(array: ?Array, predicate?: Predicate): Array; + reject( + object?: ?T, + predicate?: ?OPredicate + ): Array; + sample(array: ?Array): T; + sample(object: T): V; + sampleSize(array?: ?Array, n?: ?number): Array; + sampleSize(object: T, n?: number): Array; + shuffle(array: ?Array): Array; + shuffle(object: T): Array; + size(collection: Array | Object | string): number; + some(array: ?Array, predicate?: Predicate): boolean; + some(array: void | null, predicate?: ?Predicate): false; + some( + object?: ?T, + predicate?: OPredicate + ): boolean; + sortBy(array: ?Array, ...iteratees?: Array>): Array; + sortBy(array: ?Array, iteratees?: Array>): Array; + sortBy( + object: T, + ...iteratees?: Array> + ): Array; + sortBy(object: T, iteratees?: Array>): Array; + + // Date + now(): number; + + // Function + after(n: number, fn: Function): Function; + ary(func: Function, n?: number): Function; + before(n: number, fn: Function): Function; + bind(func: Function, thisArg: any, ...partials: Array): Function; + bindKey(obj?: ?Object, key?: ?string, ...partials?: Array): Function; + curry: Curry; + curry(func: Function, arity?: number): Function; + curryRight(func: Function, arity?: number): Function; + debounce(func: F, wait?: number, options?: DebounceOptions): F; + defer(func: Function, ...args?: Array): number; + delay(func: Function, wait: number, ...args?: Array): number; + flip(func: Function): Function; + memoize(func: F, resolver?: Function): F; + negate(predicate: Function): Function; + once(func: Function): Function; + overArgs(func?: ?Function, ...transforms?: Array): Function; + overArgs(func?: ?Function, transforms?: ?Array): Function; + partial(func: Function, ...partials: any[]): Function; + partialRight(func: Function, ...partials: Array): Function; + partialRight(func: Function, partials: Array): Function; + rearg(func: Function, ...indexes: Array): Function; + rearg(func: Function, indexes: Array): Function; + rest(func: Function, start?: number): Function; + spread(func: Function): Function; + throttle( + func: Function, + wait?: number, + options?: ThrottleOptions + ): Function; + unary(func: Function): Function; + wrap(value?: any, wrapper?: ?Function): Function; + + // Lang + castArray(value: *): any[]; + clone(value: T): T; + cloneDeep(value: T): T; + cloneDeepWith( + value: T, + customizer?: ?(value: T, key: number | string, object: T, stack: any) => U + ): U; + cloneWith( + value: T, + customizer?: ?(value: T, key: number | string, object: T, stack: any) => U + ): U; + conformsTo( + source: T, + predicates: T & { [key: string]: (x: any) => boolean } + ): boolean; + eq(value: any, other: any): boolean; + gt(value: any, other: any): boolean; + gte(value: any, other: any): boolean; + isArguments(value: void | null): false; + isArguments(value: any): boolean; + isArray(value: Array): true; + isArray(value: any): false; + isArrayBuffer(value: ArrayBuffer): true; + isArrayBuffer(value: any): false; + isArrayLike(value: Array | string | {length: number}): true; + isArrayLike(value: any): false; + isArrayLikeObject(value: {length: number} | Array): true; + isArrayLikeObject(value: any): false; + isBoolean(value: boolean): true; + isBoolean(value: any): false; + isBuffer(value: void | null): false; + isBuffer(value: any): boolean; + isDate(value: Date): true; + isDate(value: any): false; + isElement(value: Element): true; + isElement(value: any): false; + isEmpty(value: void | null | '' | {} | [] | number | boolean): true; + isEmpty(value: any): boolean; + isEqual(value: any, other: any): boolean; + isEqualWith( + value?: ?T, + other?: ?U, + customizer?: ?( + objValue: any, + otherValue: any, + key: number | string, + object: T, + other: U, + stack: any + ) => boolean | void + ): boolean; + isError(value: Error): true; + isError(value: any): false; + isFinite(value: number): boolean; + isFinite(value: any): false; + isFunction(value: Function): true; + isFunction(value: any): false; + isInteger(value: number): boolean; + isInteger(value: any): false; + isLength(value: void | null): false; + isLength(value: any): boolean; + isMap(value: Map): true; + isMap(value: any): false; + isMatch(object?: ?Object, source?: ?Object): boolean; + isMatchWith( + object?: ?T, + source?: ?U, + customizer?: ?( + objValue: any, + srcValue: any, + key: number | string, + object: T, + source: U + ) => boolean | void + ): boolean; + isNaN(value: Function | string | void | null | Object): false; + isNaN(value: number): boolean; + isNative(value: number | string | void | null | Object): false; + isNative(value: any): boolean; + isNil(value: void | null): true; + isNil(value: any): false; + isNull(value: null): true; + isNull(value: any): false; + isNumber(value: number): true; + isNumber(value: any): false; + isObject(value: Object): true; + isObject(value: any): false; + isObjectLike(value: void | null): false; + isObjectLike(value: any): boolean; + isPlainObject(value: Object): true; + isPlainObject(value: any): false; + isRegExp(value: RegExp): true; + isRegExp(value: any): false; + isSafeInteger(value: number): boolean; + isSafeInteger(value: any): false; + isSet(value: Set): true; + isSet(value: any): false; + isString(value: string): true; + isString( + value: number | boolean | Function | void | null | Object | Array + ): false; + isSymbol(value: Symbol): true; + isSymbol(value: any): false; + isTypedArray(value: $TypedArray): true; + isTypedArray(value: any): false; + isUndefined(value: void): true; + isUndefined(value: any): false; + isWeakMap(value: WeakMap): true; + isWeakMap(value: any): false; + isWeakSet(value: WeakSet): true; + isWeakSet(value: any): false; + lt(value: any, other: any): boolean; + lte(value: any, other: any): boolean; + toArray(value: any): Array; + toFinite(value: void | null): 0; + toFinite(value: any): number; + toInteger(value: void | null): 0; + toInteger(value: any): number; + toLength(value: void | null): 0; + toLength(value: any): number; + toNumber(value: void | null): 0; + toNumber(value: any): number; + toPlainObject(value: any): Object; + toSafeInteger(value: void | null): 0; + toSafeInteger(value: any): number; + toString(value: void | null): ''; + toString(value: any): string; + + // Math + add(augend: number, addend: number): number; + ceil(number: number, precision?: number): number; + divide(dividend: number, divisor: number): number; + floor(number: number, precision?: number): number; + max(array: ?Array): T; + maxBy(array: ?Array, iteratee?: Iteratee): T; + mean(array: Array<*>): number; + meanBy(array: Array, iteratee?: Iteratee): number; + min(array: ?Array): T; + minBy(array: ?Array, iteratee?: Iteratee): T; + multiply(multiplier: number, multiplicand: number): number; + round(number: number, precision?: number): number; + subtract(minuend: number, subtrahend: number): number; + sum(array: Array<*>): number; + sumBy(array: Array, iteratee?: Iteratee): number; + + // number + clamp(number?: number, lower?: ?number, upper?: ?number): number; + clamp(number: ?number, lower?: ?number, upper?: ?number): 0; + inRange(number: number, start?: number, end: number): boolean; + random(lower?: number, upper?: number, floating?: boolean): number; + + // Object + assign(object?: ?Object, ...sources?: Array): Object; + assignIn(): {}; + assignIn(a: A, b: B): A & B; + assignIn(a: A, b: B, c: C): A & B & C; + assignIn(a: A, b: B, c: C, d: D): A & B & C & D; + assignIn(a: A, b: B, c: C, d: D, e: E): A & B & C & D & E; + assignInWith(): {}; + assignInWith( + object: T, + s1: A, + customizer?: ( + objValue: any, + srcValue: any, + key: string, + object: T, + source: A + ) => any | void + ): Object; + assignInWith( + object: T, + s1: A, + s2: B, + customizer?: ( + objValue: any, + srcValue: any, + key: string, + object: T, + source: A | B + ) => any | void + ): Object; + assignInWith( + object: T, + s1: A, + s2: B, + s3: C, + customizer?: ( + objValue: any, + srcValue: any, + key: string, + object: T, + source: A | B | C + ) => any | void + ): Object; + assignInWith( + object: T, + s1: A, + s2: B, + s3: C, + s4: D, + customizer?: ( + objValue: any, + srcValue: any, + key: string, + object: T, + source: A | B | C | D + ) => any | void + ): Object; + assignWith(): {}; + assignWith( + object: T, + s1: A, + customizer?: ( + objValue: any, + srcValue: any, + key: string, + object: T, + source: A + ) => any | void + ): Object; + assignWith( + object: T, + s1: A, + s2: B, + customizer?: ( + objValue: any, + srcValue: any, + key: string, + object: T, + source: A | B + ) => any | void + ): Object; + assignWith( + object: T, + s1: A, + s2: B, + s3: C, + customizer?: ( + objValue: any, + srcValue: any, + key: string, + object: T, + source: A | B | C + ) => any | void + ): Object; + assignWith( + object: T, + s1: A, + s2: B, + s3: C, + s4: D, + customizer?: ( + objValue: any, + srcValue: any, + key: string, + object: T, + source: A | B | C | D + ) => any | void + ): Object; + at(object?: ?Object, ...paths: Array): Array; + at(object?: ?Object, paths: Array): Array; + create(prototype: T, properties: Object): $Supertype; + create(prototype: any, properties: void | null): {}; + defaults(object?: ?Object, ...sources?: Array): Object; + defaultsDeep(object?: ?Object, ...sources?: Array): Object; + // alias for _.toPairs + entries(object?: ?Object): Array<[string, any]>; + // alias for _.toPairsIn + entriesIn(object?: ?Object): Array<[string, any]>; + // alias for _.assignIn + extend(a?: ?A, b?: ?B): A & B; + extend(a: A, b: B, c: C): A & B & C; + extend(a: A, b: B, c: C, d: D): A & B & C & D; + extend(a: A, b: B, c: C, d: D, e: E): A & B & C & D & E; + // alias for _.assignInWith + extendWith( + object?: ?T, + s1?: ?A, + customizer?: ?( + objValue: any, + srcValue: any, + key: string, + object: T, + source: A + ) => any | void + ): Object; + extendWith( + object: T, + s1: A, + s2: B, + customizer?: ( + objValue: any, + srcValue: any, + key: string, + object: T, + source: A | B + ) => any | void + ): Object; + extendWith( + object: T, + s1: A, + s2: B, + s3: C, + customizer?: ( + objValue: any, + srcValue: any, + key: string, + object: T, + source: A | B | C + ) => any | void + ): Object; + extendWith( + object: T, + s1: A, + s2: B, + s3: C, + s4: D, + customizer?: ( + objValue: any, + srcValue: any, + key: string, + object: T, + source: A | B | C | D + ) => any | void + ): Object; + findKey( + object: T, + predicate?: ?OPredicate + ): string | void; + findKey( + object: void | null, + predicate?: ?OPredicate + ): void; + findLastKey( + object: T, + predicate?: ?OPredicate + ): string | void; + findLastKey( + object: void | null, + predicate?: ?OPredicate + ): void; + forIn(object: Object, iteratee?: ?OIteratee<*>): Object; + forIn(object: void | null, iteratee?: ?OIteratee<*>): null; + forInRight(object: Object, iteratee?: ?OIteratee<*>): Object; + forInRight(object: void | null, iteratee?: ?OIteratee<*>): null; + forOwn(object: Object, iteratee?: ?OIteratee<*>): Object; + forOwn(object: void | null, iteratee?: ?OIteratee<*>): null; + forOwnRight(object: Object, iteratee?: ?OIteratee<*>): Object; + forOwnRight(object: void | null, iteratee?: ?OIteratee<*>): null; + functions(object?: ?Object): Array; + functionsIn(object?: ?Object): Array; + get( + object?: ?Object | ?Array, + path?: ?Array | string, + defaultValue?: any + ): any; + has(object: Object, path: Array | string): boolean; + has(object: Object, path: void | null): false; + has(object: void | null, path?: ?Array | ?string): false; + hasIn(object: Object, path: Array | string): boolean; + hasIn(object: Object, path: void | null): false; + hasIn(object: void | null, path?: ?Array | ?string): false; + invert(object: Object, multiVal?: ?boolean): Object; + invert(object: void | null, multiVal?: ?boolean): {}; + invertBy(object: Object, iteratee?: ?Function): Object; + invertBy(object: void | null, iteratee?: ?Function): {}; + invoke( + object?: ?Object, + path?: ?Array | string, + ...args?: Array + ): any; + keys(object?: ?{ [key: K]: any }): Array; + keys(object?: ?Object): Array; + keysIn(object?: ?Object): Array; + mapKeys(object: Object, iteratee?: ?OIteratee<*>): Object; + mapKeys(object: void | null, iteratee?: ?OIteratee<*>): {}; + mapValues(object: Object, iteratee?: ?OIteratee<*>): Object; + mapValues(object: void | null, iteratee?: ?OIteratee<*>): {}; + merge(object?: ?Object, ...sources?: Array): Object; + mergeWith(): {}; + mergeWith( + object: T, + customizer?: ( + objValue: any, + srcValue: any, + key: string, + object: T, + source: A + ) => any | void + ): Object; + mergeWith( + object: T, + s1: A, + s2: B, + customizer?: ( + objValue: any, + srcValue: any, + key: string, + object: T, + source: A | B + ) => any | void + ): Object; + mergeWith( + object: T, + s1: A, + s2: B, + s3: C, + customizer?: ( + objValue: any, + srcValue: any, + key: string, + object: T, + source: A | B | C + ) => any | void + ): Object; + mergeWith( + object: T, + s1: A, + s2: B, + s3: C, + s4: D, + customizer?: ( + objValue: any, + srcValue: any, + key: string, + object: T, + source: A | B | C | D + ) => any | void + ): Object; + omit(object?: ?Object, ...props: Array): Object; + omit(object?: ?Object, props: Array): Object; + omitBy( + object: T, + predicate?: ?OPredicate + ): Object; + omitBy( + object: T, + predicate?: ?OPredicate + ): {}; + pick(object?: ?Object, ...props: Array): Object; + pick(object?: ?Object, props: Array): Object; + pickBy( + object: T, + predicate?: ?OPredicate + ): Object; + pickBy( + object: T, + predicate?: ?OPredicate + ): {}; + result( + object?: ?Object, + path?: ?Array | string, + defaultValue?: any + ): any; + set(object: Object, path?: ?Array | string, value: any): Object; + set( + object: T, + path?: ?Array | string, + value?: ?any): T; + setWith( + object: T, + path?: ?Array | string, + value: any, + customizer?: (nsValue: any, key: string, nsObject: T) => any + ): Object; + setWith( + object: T, + path?: ?Array | string, + value?: ?any, + customizer?: ?(nsValue: any, key: string, nsObject: T) => any + ): T; + toPairs(object?: ?Object | Array<*>): Array<[string, any]>; + toPairsIn(object?: ?Object): Array<[string, any]>; + transform( + collection: Object | Array, + iteratee?: ?OIteratee<*>, + accumulator?: any + ): any; + transform( + collection: void | null, + iteratee?: ?OIteratee<*>, + accumulator?: ?any + ): {}; + unset(object: Object, path?: ?Array | ?string): boolean; + unset(object: void | null, path?: ?Array | ?string): true; + update(object: Object, path: string[] | string, updater: Function): Object; + update( + object: T, + path?: ?string[] | ?string, + updater?: ?Function): T; + updateWith( + object: Object, + path?: ?string[] | ?string, + updater?: ?Function, + customizer?: ?Function + ): Object; + updateWith( + object: T, + path?: ?string[] | ?string, + updater?: ?Function, + customizer?: ?Function + ): T; + values(object?: ?Object): Array; + valuesIn(object?: ?Object): Array; + + // Seq + // harder to read, but this is _() + (value: any): any; + chain(value: T): any; + tap(value: T, interceptor: (value: T) => any): T; + thru(value: T1, interceptor: (value: T1) => T2): T2; + // TODO: _.prototype.* + + // String + camelCase(string: string): string; + camelCase(string: void | null): ''; + capitalize(string: string): string; + capitalize(string: void | null): ''; + deburr(string: string): string; + deburr(string: void | null): ''; + endsWith(string: string, target?: string, position?: ?number): boolean; + endsWith(string: void | null, target?: ?string, position?: ?number): false; + escape(string: string): string; + escape(string: void | null): ''; + escapeRegExp(string: string): string; + escapeRegExp(string: void | null): ''; + kebabCase(string: string): string; + kebabCase(string: void | null): ''; + lowerCase(string: string): string; + lowerCase(string: void | null): ''; + lowerFirst(string: string): string; + lowerFirst(string: void | null): ''; + pad(string?: ?string, length?: ?number, chars?: ?string): string; + padEnd(string?: ?string, length?: ?number, chars?: ?string): string; + padStart(string?: ?string, length?: ?number, chars?: ?string): string; + parseInt(string: string, radix?: ?number): number; + repeat(string: string, n?: ?number): string; + repeat(string: void | null, n?: ?number): ''; + replace( + string: string, + pattern: RegExp | string, + replacement: ((string: string) => string) | string + ): string; + replace( + string: void | null, + pattern?: ?RegExp | ?string, + replacement: ?((string: string) => string) | ?string + ): ''; + snakeCase(string: string): string; + snakeCase(string: void | null): ''; + split( + string?: ?string, + separator?: ?RegExp | ?string, + limit?: ?number + ): Array; + startCase(string: string): string; + startCase(string: void | null): ''; + startsWith(string: string, target?: string, position?: number): boolean; + startsWith(string: void | null, target?: ?string, position?: ?number): false; + template(string?: ?string, options?: ?TemplateSettings): Function; + toLower(string: string): string; + toLower(string: void | null): ''; + toUpper(string: string): string; + toUpper(string: void | null): ''; + trim(string: string, chars?: string): string; + trim(string: void | null, chars?: ?string): ''; + trimEnd(string: string, chars?: ?string): string; + trimEnd(string: void | null, chars?: ?string): ''; + trimStart(string: string, chars?: ?string): string; + trimStart(string: void | null, chars?: ?string): ''; + truncate(string: string, options?: TruncateOptions): string; + truncate(string: void | null, options?: ?TruncateOptions): ''; + unescape(string: string): string; + unescape(string: void | null): ''; + upperCase(string: string): string; + upperCase(string: void | null): ''; + upperFirst(string: string): string; + upperFirst(string: void | null): ''; + words(string?: ?string, pattern?: ?RegExp | ?string): Array; + + // Util + attempt(func: Function, ...args: Array): any; + bindAll(object: Object, methodNames?: ?Array): Object; + bindAll(object: T, methodNames?: ?Array): T; + bindAll(object: Object, ...methodNames: Array): Object; + cond(pairs?: ?NestedArray): Function; + conforms(source?: ?Object): Function; + constant(value: T): () => T; + defaultTo( + value: T1, + defaultValue: T2 + ): T1; + // NaN is a number instead of its own type, otherwise it would behave like null/void + defaultTo(value: T1, defaultValue: T2): T1 | T2; + defaultTo(value: T1, defaultValue: T2): T2; + flow: $ComposeReverse; + flow(funcs?: Array): Function; + flowRight: $Compose; + flowRight(funcs?: Array): Function; + identity(value: T): T; + iteratee(func?: any): Function; + matches(source?: ?Object): Function; + matchesProperty(path?: ?Array | string, srcValue: any): Function; + method(path?: ?Array | string, ...args?: Array): Function; + methodOf(object?: ?Object, ...args?: Array): Function; + mixin( + object?: T, + source: Object, + options?: { chain: boolean } + ): T; + noConflict(): Lodash; + noop(...args: Array): void; + nthArg(n?: ?number): Function; + over(...iteratees: Array): Function; + over(iteratees: Array): Function; + overEvery(...predicates: Array): Function; + overEvery(predicates: Array): Function; + overSome(...predicates: Array): Function; + overSome(predicates: Array): Function; + property(path?: ?Array | string): Function; + propertyOf(object?: ?Object): Function; + range(start: number, end: number, step?: number): Array; + range(end: number, step?: number): Array; + rangeRight(start?: ?number, end?: ?number, step?: ?number): Array; + rangeRight(end?: ?number, step?: ?number): Array; + runInContext(context?: ?Object): Function; + + stubArray(): Array<*>; + stubFalse(): false; + stubObject(): {}; + stubString(): ""; + stubTrue(): true; + times(n?: ?number, ...rest?: Array): Array; + times(n: number, iteratee: (i: number) => T): Array; + toPath(value: any): Array; + uniqueId(prefix?: ?string): string; + + // Properties + VERSION: string; + templateSettings: TemplateSettings; + } + + declare module.exports: Lodash; +} + +declare module "lodash/fp" { + declare type __CurriedFunction1 = (...r: [AA]) => R; + declare type CurriedFunction1 = __CurriedFunction1; + + declare type __CurriedFunction2 = (( + ...r: [AA] + ) => CurriedFunction1) & + ((...r: [AA, BB]) => R); + declare type CurriedFunction2 = __CurriedFunction2; + + declare type __CurriedFunction3 = (( + ...r: [AA] + ) => CurriedFunction2) & + ((...r: [AA, BB]) => CurriedFunction1) & + ((...r: [AA, BB, CC]) => R); + declare type CurriedFunction3 = __CurriedFunction3< + A, + B, + C, + R, + *, + *, + * + >; + + declare type __CurriedFunction4< + A, + B, + C, + D, + R, + AA: A, + BB: B, + CC: C, + DD: D + > = ((...r: [AA]) => CurriedFunction3) & + ((...r: [AA, BB]) => CurriedFunction2) & + ((...r: [AA, BB, CC]) => CurriedFunction1) & + ((...r: [AA, BB, CC, DD]) => R); + declare type CurriedFunction4 = __CurriedFunction4< + A, + B, + C, + D, + R, + *, + *, + *, + * + >; + + declare type __CurriedFunction5< + A, + B, + C, + D, + E, + R, + AA: A, + BB: B, + CC: C, + DD: D, + EE: E + > = ((...r: [AA]) => CurriedFunction4) & + ((...r: [AA, BB]) => CurriedFunction3) & + ((...r: [AA, BB, CC]) => CurriedFunction2) & + ((...r: [AA, BB, CC, DD]) => CurriedFunction1) & + ((...r: [AA, BB, CC, DD, EE]) => R); + declare type CurriedFunction5 = __CurriedFunction5< + A, + B, + C, + D, + E, + R, + *, + *, + *, + *, + * + >; + + declare type __CurriedFunction6< + A, + B, + C, + D, + E, + F, + R, + AA: A, + BB: B, + CC: C, + DD: D, + EE: E, + FF: F + > = ((...r: [AA]) => CurriedFunction5) & + ((...r: [AA, BB]) => CurriedFunction4) & + ((...r: [AA, BB, CC]) => CurriedFunction3) & + ((...r: [AA, BB, CC, DD]) => CurriedFunction2) & + ((...r: [AA, BB, CC, DD, EE]) => CurriedFunction1) & + ((...r: [AA, BB, CC, DD, EE, FF]) => R); + declare type CurriedFunction6 = __CurriedFunction6< + A, + B, + C, + D, + E, + F, + R, + *, + *, + *, + *, + *, + * + >; + + declare type Curry = (((...r: [A]) => R) => CurriedFunction1) & + (((...r: [A, B]) => R) => CurriedFunction2) & + (((...r: [A, B, C]) => R) => CurriedFunction3) & + (( + (...r: [A, B, C, D]) => R + ) => CurriedFunction4) & + (( + (...r: [A, B, C, D, E]) => R + ) => CurriedFunction5) & + (( + (...r: [A, B, C, D, E, F]) => R + ) => CurriedFunction6); + + declare type UnaryFn = (a: A) => R; + + declare type TemplateSettings = { + escape?: RegExp, + evaluate?: RegExp, + imports?: Object, + interpolate?: RegExp, + variable?: string + }; + + declare type TruncateOptions = { + length?: number, + omission?: string, + separator?: RegExp | string + }; + + declare type DebounceOptions = { + leading?: boolean, + maxWait?: number, + trailing?: boolean + }; + + declare type ThrottleOptions = { + leading?: boolean, + trailing?: boolean + }; + + declare type NestedArray = Array>; + + declare type matchesIterateeShorthand = Object; + declare type matchesPropertyIterateeShorthand = [string, any]; + declare type propertyIterateeShorthand = string; + + declare type OPredicate = + | ((value: A) => any) + | matchesIterateeShorthand + | matchesPropertyIterateeShorthand + | propertyIterateeShorthand; + + declare type OIterateeWithResult = Object | string | ((value: V) => R); + declare type OIteratee = OIterateeWithResult; + declare type OFlatMapIteratee = OIterateeWithResult>; + + declare type Predicate = + | ((value: T) => any) + | matchesIterateeShorthand + | matchesPropertyIterateeShorthand + | propertyIterateeShorthand; + + declare type _ValueOnlyIteratee = (value: T) => mixed; + declare type ValueOnlyIteratee = _ValueOnlyIteratee | string; + declare type _Iteratee = (item: T) => mixed; + declare type Iteratee = _Iteratee | Object | string; + declare type FlatMapIteratee = + | ((item: T) => Array) + | Object + | string; + declare type Comparator = (item: T, item2: T) => boolean; + + declare type MapIterator = ((item: T) => U) | propertyIterateeShorthand; + + declare type OMapIterator = + | ((item: T) => U) + | propertyIterateeShorthand; + + declare class Lodash { + // Array + chunk(size: number): (array: Array) => Array>; + chunk(size: number, array: Array): Array>; + compact(array: Array): Array; + concat | T, B: Array | U>( + base: A + ): (elements: B) => Array; + concat | T, B: Array | U>( + base: A, + elements: B + ): Array; + difference(values: Array): (array: Array) => Array; + difference(values: Array, array: Array): Array; + differenceBy( + iteratee: ValueOnlyIteratee + ): ((values: Array) => (array: Array) => T[]) & + ((values: Array, array: Array) => T[]); + differenceBy( + iteratee: ValueOnlyIteratee, + values: Array + ): (array: Array) => T[]; + differenceBy( + iteratee: ValueOnlyIteratee, + values: Array, + array: Array + ): T[]; + differenceWith( + values: T[] + ): ((comparator: Comparator) => (array: T[]) => T[]) & + ((comparator: Comparator, array: T[]) => T[]); + differenceWith( + values: T[], + comparator: Comparator + ): (array: T[]) => T[]; + differenceWith(values: T[], comparator: Comparator, array: T[]): T[]; + drop(n: number): (array: Array) => Array; + drop(n: number, array: Array): Array; + dropLast(n: number): (array: Array) => Array; + dropLast(n: number, array: Array): Array; + dropRight(n: number): (array: Array) => Array; + dropRight(n: number, array: Array): Array; + dropRightWhile(predicate: Predicate): (array: Array) => Array; + dropRightWhile(predicate: Predicate, array: Array): Array; + dropWhile(predicate: Predicate): (array: Array) => Array; + dropWhile(predicate: Predicate, array: Array): Array; + dropLastWhile(predicate: Predicate): (array: Array) => Array; + dropLastWhile(predicate: Predicate, array: Array): Array; + fill( + start: number + ): (( + end: number + ) => ((value: U) => (array: Array) => Array) & + ((value: U, array: Array) => Array)) & + ((end: number, value: U) => (array: Array) => Array) & + ((end: number, value: U, array: Array) => Array); + fill( + start: number, + end: number + ): ((value: U) => (array: Array) => Array) & + ((value: U, array: Array) => Array); + fill( + start: number, + end: number, + value: U + ): (array: Array) => Array; + fill( + start: number, + end: number, + value: U, + array: Array + ): Array; + findIndex(predicate: Predicate): (array: $ReadOnlyArray) => number; + findIndex(predicate: Predicate, array: $ReadOnlyArray): number; + findIndexFrom( + predicate: Predicate + ): ((fromIndex: number) => (array: $ReadOnlyArray) => number) & + ((fromIndex: number, array: $ReadOnlyArray) => number); + findIndexFrom( + predicate: Predicate, + fromIndex: number + ): (array: $ReadOnlyArray) => number; + findIndexFrom( + predicate: Predicate, + fromIndex: number, + array: $ReadOnlyArray + ): number; + findLastIndex( + predicate: Predicate + ): (array: $ReadOnlyArray) => number; + findLastIndex(predicate: Predicate, array: $ReadOnlyArray): number; + findLastIndexFrom( + predicate: Predicate + ): ((fromIndex: number) => (array: $ReadOnlyArray) => number) & + ((fromIndex: number, array: $ReadOnlyArray) => number); + findLastIndexFrom( + predicate: Predicate, + fromIndex: number + ): (array: $ReadOnlyArray) => number; + findLastIndexFrom( + predicate: Predicate, + fromIndex: number, + array: $ReadOnlyArray + ): number; + // alias of _.head + first(array: Array): T; + flatten(array: Array | X>): Array; + unnest(array: Array | X>): Array; + flattenDeep(array: any[]): Array; + flattenDepth(depth: number): (array: any[]) => any[]; + flattenDepth(depth: number, array: any[]): any[]; + fromPairs(pairs: Array<[A, B]>): { [key: A]: B }; + head(array: Array): T; + indexOf(value: T): (array: Array) => number; + indexOf(value: T, array: Array): number; + indexOfFrom( + value: T + ): ((fromIndex: number) => (array: Array) => number) & + ((fromIndex: number, array: Array) => number); + indexOfFrom(value: T, fromIndex: number): (array: Array) => number; + indexOfFrom(value: T, fromIndex: number, array: Array): number; + initial(array: Array): Array; + init(array: Array): Array; + intersection(a1: Array): (a2: Array) => Array; + intersection(a1: Array, a2: Array): Array; + intersectionBy( + iteratee: ValueOnlyIteratee + ): ((a1: Array) => (a2: Array) => Array) & + ((a1: Array, a2: Array) => Array); + intersectionBy( + iteratee: ValueOnlyIteratee, + a1: Array + ): (a2: Array) => Array; + intersectionBy( + iteratee: ValueOnlyIteratee, + a1: Array, + a2: Array + ): Array; + intersectionWith( + comparator: Comparator + ): ((a1: Array) => (a2: Array) => Array) & + ((a1: Array, a2: Array) => Array); + intersectionWith( + comparator: Comparator, + a1: Array + ): (a2: Array) => Array; + intersectionWith( + comparator: Comparator, + a1: Array, + a2: Array + ): Array; + join(separator: string): (array: Array) => string; + join(separator: string, array: Array): string; + last(array: Array): T; + lastIndexOf(value: T): (array: Array) => number; + lastIndexOf(value: T, array: Array): number; + lastIndexOfFrom( + value: T + ): ((fromIndex: number) => (array: Array) => number) & + ((fromIndex: number, array: Array) => number); + lastIndexOfFrom( + value: T, + fromIndex: number + ): (array: Array) => number; + lastIndexOfFrom(value: T, fromIndex: number, array: Array): number; + nth(n: number): (array: T[]) => T; + nth(n: number, array: T[]): T; + pull(value: T): (array: Array) => Array; + pull(value: T, array: Array): Array; + pullAll(values: Array): (array: Array) => Array; + pullAll(values: Array, array: Array): Array; + pullAllBy( + iteratee: ValueOnlyIteratee + ): ((values: Array) => (array: Array) => Array) & + ((values: Array, array: Array) => Array); + pullAllBy( + iteratee: ValueOnlyIteratee, + values: Array + ): (array: Array) => Array; + pullAllBy( + iteratee: ValueOnlyIteratee, + values: Array, + array: Array + ): Array; + pullAllWith( + comparator: Function + ): ((values: T[]) => (array: T[]) => T[]) & + ((values: T[], array: T[]) => T[]); + pullAllWith(comparator: Function, values: T[]): (array: T[]) => T[]; + pullAllWith(comparator: Function, values: T[], array: T[]): T[]; + pullAt(indexed: Array): (array: Array) => Array; + pullAt(indexed: Array, array: Array): Array; + remove(predicate: Predicate): (array: Array) => Array; + remove(predicate: Predicate, array: Array): Array; + reverse(array: Array): Array; + slice( + start: number + ): ((end: number) => (array: Array) => Array) & + ((end: number, array: Array) => Array); + slice(start: number, end: number): (array: Array) => Array; + slice(start: number, end: number, array: Array): Array; + sortedIndex(value: T): (array: Array) => number; + sortedIndex(value: T, array: Array): number; + sortedIndexBy( + iteratee: ValueOnlyIteratee + ): ((value: T) => (array: Array) => number) & + ((value: T, array: Array) => number); + sortedIndexBy( + iteratee: ValueOnlyIteratee, + value: T + ): (array: Array) => number; + sortedIndexBy( + iteratee: ValueOnlyIteratee, + value: T, + array: Array + ): number; + sortedIndexOf(value: T): (array: Array) => number; + sortedIndexOf(value: T, array: Array): number; + sortedLastIndex(value: T): (array: Array) => number; + sortedLastIndex(value: T, array: Array): number; + sortedLastIndexBy( + iteratee: ValueOnlyIteratee + ): ((value: T) => (array: Array) => number) & + ((value: T, array: Array) => number); + sortedLastIndexBy( + iteratee: ValueOnlyIteratee, + value: T + ): (array: Array) => number; + sortedLastIndexBy( + iteratee: ValueOnlyIteratee, + value: T, + array: Array + ): number; + sortedLastIndexOf(value: T): (array: Array) => number; + sortedLastIndexOf(value: T, array: Array): number; + sortedUniq(array: Array): Array; + sortedUniqBy( + iteratee: (value: T) => mixed + ): (array: Array) => Array; + sortedUniqBy(iteratee: (value: T) => mixed, array: Array): Array; + tail(array: Array): Array; + take(n: number): (array: Array) => Array; + take(n: number, array: Array): Array; + takeRight(n: number): (array: Array) => Array; + takeRight(n: number, array: Array): Array; + takeLast(n: number): (array: Array) => Array; + takeLast(n: number, array: Array): Array; + takeRightWhile(predicate: Predicate): (array: Array) => Array; + takeRightWhile(predicate: Predicate, array: Array): Array; + takeLastWhile(predicate: Predicate): (array: Array) => Array; + takeLastWhile(predicate: Predicate, array: Array): Array; + takeWhile(predicate: Predicate): (array: Array) => Array; + takeWhile(predicate: Predicate, array: Array): Array; + union(a1: Array): (a2: Array) => Array; + union(a1: Array, a2: Array): Array; + unionBy( + iteratee: ValueOnlyIteratee + ): ((a1: Array) => (a2: Array) => Array) & + ((a1: Array, a2: Array) => Array); + unionBy( + iteratee: ValueOnlyIteratee, + a1: Array + ): (a2: Array) => Array; + unionBy( + iteratee: ValueOnlyIteratee, + a1: Array, + a2: Array + ): Array; + unionWith( + comparator: Comparator + ): ((a1: Array) => (a2: Array) => Array) & + ((a1: Array, a2: Array) => Array); + unionWith( + comparator: Comparator, + a1: Array + ): (a2: Array) => Array; + unionWith( + comparator: Comparator, + a1: Array, + a2: Array + ): Array; + uniq(array: Array): Array; + uniqBy(iteratee: ValueOnlyIteratee): (array: Array) => Array; + uniqBy(iteratee: ValueOnlyIteratee, array: Array): Array; + uniqWith(comparator: Comparator): (array: Array) => Array; + uniqWith(comparator: Comparator, array: Array): Array; + unzip(array: Array): Array; + unzipWith(iteratee: Iteratee): (array: Array) => Array; + unzipWith(iteratee: Iteratee, array: Array): Array; + without(values: Array): (array: Array) => Array; + without(values: Array, array: Array): Array; + xor(a1: Array): (a2: Array) => Array; + xor(a1: Array, a2: Array): Array; + symmetricDifference(a1: Array): (a2: Array) => Array; + symmetricDifference(a1: Array, a2: Array): Array; + xorBy( + iteratee: ValueOnlyIteratee + ): ((a1: Array) => (a2: Array) => Array) & + ((a1: Array, a2: Array) => Array); + xorBy( + iteratee: ValueOnlyIteratee, + a1: Array + ): (a2: Array) => Array; + xorBy( + iteratee: ValueOnlyIteratee, + a1: Array, + a2: Array + ): Array; + symmetricDifferenceBy( + iteratee: ValueOnlyIteratee + ): ((a1: Array) => (a2: Array) => Array) & + ((a1: Array, a2: Array) => Array); + symmetricDifferenceBy( + iteratee: ValueOnlyIteratee, + a1: Array + ): (a2: Array) => Array; + symmetricDifferenceBy( + iteratee: ValueOnlyIteratee, + a1: Array, + a2: Array + ): Array; + xorWith( + comparator: Comparator + ): ((a1: Array) => (a2: Array) => Array) & + ((a1: Array, a2: Array) => Array); + xorWith( + comparator: Comparator, + a1: Array + ): (a2: Array) => Array; + xorWith(comparator: Comparator, a1: Array, a2: Array): Array; + symmetricDifferenceWith( + comparator: Comparator + ): ((a1: Array) => (a2: Array) => Array) & + ((a1: Array, a2: Array) => Array); + symmetricDifferenceWith( + comparator: Comparator, + a1: Array + ): (a2: Array) => Array; + symmetricDifferenceWith( + comparator: Comparator, + a1: Array, + a2: Array + ): Array; + zip(a1: A[]): (a2: B[]) => Array<[A, B]>; + zip(a1: A[], a2: B[]): Array<[A, B]>; + zipAll(arrays: Array>): Array; + zipObject(props?: Array): (values?: Array) => { [key: K]: V }; + zipObject(props?: Array, values?: Array): { [key: K]: V }; + zipObj(props: Array): (values: Array) => Object; + zipObj(props: Array, values: Array): Object; + zipObjectDeep(props: any[]): (values: any) => Object; + zipObjectDeep(props: any[], values: any): Object; + zipWith( + iteratee: Iteratee + ): ((a1: NestedArray) => (a2: NestedArray) => Array) & + ((a1: NestedArray, a2: NestedArray) => Array); + zipWith( + iteratee: Iteratee, + a1: NestedArray + ): (a2: NestedArray) => Array; + zipWith( + iteratee: Iteratee, + a1: NestedArray, + a2: NestedArray + ): Array; + // Collection + countBy( + iteratee: ValueOnlyIteratee + ): (collection: Array | { [id: any]: T }) => { [string]: number }; + countBy( + iteratee: ValueOnlyIteratee, + collection: Array | { [id: any]: T } + ): { [string]: number }; + // alias of _.forEach + each( + iteratee: Iteratee | OIteratee + ): (collection: Array | { [id: any]: T }) => Array; + each( + iteratee: Iteratee | OIteratee, + collection: Array | { [id: any]: T } + ): Array; + // alias of _.forEachRight + eachRight( + iteratee: Iteratee | OIteratee + ): (collection: Array | { [id: any]: T }) => Array; + eachRight( + iteratee: Iteratee | OIteratee, + collection: Array | { [id: any]: T } + ): Array; + every( + iteratee: Iteratee | OIteratee + ): (collection: Array | { [id: any]: T }) => boolean; + every( + iteratee: Iteratee | OIteratee, + collection: Array | { [id: any]: T } + ): boolean; + all( + iteratee: Iteratee | OIteratee + ): (collection: Array | { [id: any]: T }) => boolean; + all( + iteratee: Iteratee | OIteratee, + collection: Array | { [id: any]: T } + ): boolean; + filter( + predicate: Predicate | OPredicate + ): (collection: Array | { [id: any]: T }) => Array; + filter( + predicate: Predicate | OPredicate, + collection: Array | { [id: any]: T } + ): Array; + find( + predicate: Predicate | OPredicate + ): (collection: $ReadOnlyArray | { [id: any]: T }) => T | void; + find( + predicate: Predicate | OPredicate, + collection: $ReadOnlyArray | { [id: any]: T } + ): T | void; + findFrom( + predicate: Predicate | OPredicate + ): (( + fromIndex: number + ) => (collection: $ReadOnlyArray | { [id: any]: T }) => T | void) & + (( + fromIndex: number, + collection: $ReadOnlyArray | { [id: any]: T } + ) => T | void); + findFrom( + predicate: Predicate | OPredicate, + fromIndex: number + ): (collection: Array | { [id: any]: T }) => T | void; + findFrom( + predicate: Predicate | OPredicate, + fromIndex: number, + collection: $ReadOnlyArray | { [id: any]: T } + ): T | void; + findLast( + predicate: Predicate | OPredicate + ): (collection: $ReadOnlyArray | { [id: any]: T }) => T | void; + findLast( + predicate: Predicate | OPredicate, + collection: $ReadOnlyArray | { [id: any]: T } + ): T | void; + findLastFrom( + predicate: Predicate | OPredicate + ): (( + fromIndex: number + ) => (collection: $ReadOnlyArray | { [id: any]: T }) => T | void) & + (( + fromIndex: number, + collection: $ReadOnlyArray | { [id: any]: T } + ) => T | void); + findLastFrom( + predicate: Predicate | OPredicate, + fromIndex: number + ): (collection: $ReadOnlyArray | { [id: any]: T }) => T | void; + findLastFrom( + predicate: Predicate | OPredicate, + fromIndex: number, + collection: $ReadOnlyArray | { [id: any]: T } + ): T | void; + flatMap( + iteratee: FlatMapIteratee | OFlatMapIteratee + ): (collection: Array | { [id: any]: T }) => Array; + flatMap( + iteratee: FlatMapIteratee | OFlatMapIteratee, + collection: Array | { [id: any]: T } + ): Array; + flatMapDeep( + iteratee: FlatMapIteratee | OFlatMapIteratee + ): (collection: Array | { [id: any]: T }) => Array; + flatMapDeep( + iteratee: FlatMapIteratee | OFlatMapIteratee, + collection: Array | { [id: any]: T } + ): Array; + flatMapDepth( + iteratee: FlatMapIteratee | OFlatMapIteratee + ): (( + depth: number + ) => (collection: Array | { [id: any]: T }) => Array) & + ((depth: number, collection: Array | { [id: any]: T }) => Array); + flatMapDepth( + iteratee: FlatMapIteratee | OFlatMapIteratee, + depth: number + ): (collection: Array | { [id: any]: T }) => Array; + flatMapDepth( + iteratee: FlatMapIteratee | OFlatMapIteratee, + depth: number, + collection: Array | { [id: any]: T } + ): Array; + forEach( + iteratee: Iteratee | OIteratee + ): (collection: Array | { [id: any]: T }) => Array; + forEach( + iteratee: Iteratee | OIteratee, + collection: Array | { [id: any]: T } + ): Array; + forEachRight( + iteratee: Iteratee | OIteratee + ): (collection: Array | { [id: any]: T }) => Array; + forEachRight( + iteratee: Iteratee | OIteratee, + collection: Array | { [id: any]: T } + ): Array; + groupBy( + iteratee: ValueOnlyIteratee + ): (collection: Array | { [id: any]: T }) => { [key: V]: Array }; + groupBy( + iteratee: ValueOnlyIteratee, + collection: Array | { [id: any]: T } + ): { [key: V]: Array }; + includes(value: string): (str: string) => boolean; + includes(value: string, str: string): boolean; + includes(value: T): (collection: Array | { [id: any]: T }) => boolean; + includes(value: T, collection: Array | { [id: any]: T }): boolean; + contains(value: string): (str: string) => boolean; + contains(value: string, str: string): boolean; + contains(value: T): (collection: Array | { [id: any]: T }) => boolean; + contains(value: T, collection: Array | { [id: any]: T }): boolean; + includesFrom( + value: string + ): ((fromIndex: number) => (str: string) => boolean) & + ((fromIndex: number, str: string) => boolean); + includesFrom(value: string, fromIndex: number): (str: string) => boolean; + includesFrom(value: string, fromIndex: number, str: string): boolean; + includesFrom( + value: T + ): ((fromIndex: number) => (collection: Array) => boolean) & + ((fromIndex: number, collection: Array) => boolean); + includesFrom( + value: T, + fromIndex: number + ): (collection: Array) => boolean; + includesFrom(value: T, fromIndex: number, collection: Array): boolean; + invokeMap( + path: ((value: T) => Array | string) | Array | string + ): (collection: Array | { [id: any]: T }) => Array; + invokeMap( + path: ((value: T) => Array | string) | Array | string, + collection: Array | { [id: any]: T } + ): Array; + invokeArgsMap( + path: ((value: T) => Array | string) | Array | string + ): (( + collection: Array | { [id: any]: T } + ) => (args: Array) => Array) & + (( + collection: Array | { [id: any]: T }, + args: Array + ) => Array); + invokeArgsMap( + path: ((value: T) => Array | string) | Array | string, + collection: Array | { [id: any]: T } + ): (args: Array) => Array; + invokeArgsMap( + path: ((value: T) => Array | string) | Array | string, + collection: Array | { [id: any]: T }, + args: Array + ): Array; + keyBy( + iteratee: ValueOnlyIteratee + ): (collection: Array | { [id: any]: T }) => { [key: V]: T }; + keyBy( + iteratee: ValueOnlyIteratee, + collection: Array | { [id: any]: T } + ): { [key: V]: T }; + indexBy( + iteratee: ValueOnlyIteratee + ): (collection: Array | { [id: any]: T }) => { [key: V]: T }; + indexBy( + iteratee: ValueOnlyIteratee, + collection: Array | { [id: any]: T } + ): { [key: V]: T }; + map( + iteratee: MapIterator | OMapIterator + ): (collection: Array | { [id: any]: T }) => Array; + map( + iteratee: MapIterator | OMapIterator, + collection: Array | { [id: any]: T } + ): Array; + map(iteratee: (char: string) => any): (str: string) => string; + map(iteratee: (char: string) => any, str: string): string; + pluck( + iteratee: MapIterator | OMapIterator + ): (collection: Array | { [id: any]: T }) => Array; + pluck( + iteratee: MapIterator | OMapIterator, + collection: Array | { [id: any]: T } + ): Array; + pluck(iteratee: (char: string) => any): (str: string) => string; + pluck(iteratee: (char: string) => any, str: string): string; + orderBy( + iteratees: Array | OIteratee<*>> | string + ): (( + orders: Array<"asc" | "desc"> | string + ) => (collection: Array | { [id: any]: T }) => Array) & + (( + orders: Array<"asc" | "desc"> | string, + collection: Array | { [id: any]: T } + ) => Array); + orderBy( + iteratees: Array | OIteratee<*>> | string, + orders: Array<"asc" | "desc"> | string + ): (collection: Array | { [id: any]: T }) => Array; + orderBy( + iteratees: Array | OIteratee<*>> | string, + orders: Array<"asc" | "desc"> | string, + collection: Array | { [id: any]: T } + ): Array; + partition( + predicate: Predicate | OPredicate + ): (collection: Array | { [id: any]: T }) => [Array, Array]; + partition( + predicate: Predicate | OPredicate, + collection: Array | { [id: any]: T } + ): [Array, Array]; + reduce( + iteratee: (accumulator: U, value: T) => U + ): ((accumulator: U) => (collection: Array | { [id: any]: T }) => U) & + ((accumulator: U, collection: Array | { [id: any]: T }) => U); + reduce( + iteratee: (accumulator: U, value: T) => U, + accumulator: U + ): (collection: Array | { [id: any]: T }) => U; + reduce( + iteratee: (accumulator: U, value: T) => U, + accumulator: U, + collection: Array | { [id: any]: T } + ): U; + reduceRight( + iteratee: (value: T, accumulator: U) => U + ): ((accumulator: U) => (collection: Array | { [id: any]: T }) => U) & + ((accumulator: U, collection: Array | { [id: any]: T }) => U); + reduceRight( + iteratee: (value: T, accumulator: U) => U, + accumulator: U + ): (collection: Array | { [id: any]: T }) => U; + reduceRight( + iteratee: (value: T, accumulator: U) => U, + accumulator: U, + collection: Array | { [id: any]: T } + ): U; + reject( + predicate: Predicate | OPredicate + ): (collection: Array | { [id: any]: T }) => Array; + reject( + predicate: Predicate | OPredicate, + collection: Array | { [id: any]: T } + ): Array; + sample(collection: Array | { [id: any]: T }): T; + sampleSize( + n: number + ): (collection: Array | { [id: any]: T }) => Array; + sampleSize(n: number, collection: Array | { [id: any]: T }): Array; + shuffle(collection: Array | { [id: any]: T }): Array; + size(collection: Array | Object | string): number; + some( + predicate: Predicate | OPredicate + ): (collection: Array | { [id: any]: T }) => boolean; + some( + predicate: Predicate | OPredicate, + collection: Array | { [id: any]: T } + ): boolean; + any( + predicate: Predicate | OPredicate + ): (collection: Array | { [id: any]: T }) => boolean; + any( + predicate: Predicate | OPredicate, + collection: Array | { [id: any]: T } + ): boolean; + sortBy( + iteratees: Array | OIteratee> | Iteratee | OIteratee + ): (collection: Array | { [id: any]: T }) => Array; + sortBy( + iteratees: Array | OIteratee> | Iteratee | OIteratee, + collection: Array | { [id: any]: T } + ): Array; + + // Date + now(): number; + + // Function + after(fn: Function): (n: number) => Function; + after(fn: Function, n: number): Function; + ary(func: Function): Function; + nAry(n: number): (func: Function) => Function; + nAry(n: number, func: Function): Function; + before(fn: Function): (n: number) => Function; + before(fn: Function, n: number): Function; + bind(func: Function): (thisArg: any) => Function; + bind(func: Function, thisArg: any): Function; + bindKey(obj: Object): (key: string) => Function; + bindKey(obj: Object, key: string): Function; + curry: Curry; + curryN(arity: number): (func: Function) => Function; + curryN(arity: number, func: Function): Function; + curryRight(func: Function): Function; + curryRightN(arity: number): (func: Function) => Function; + curryRightN(arity: number, func: Function): Function; + debounce(wait: number): (func: F) => F; + debounce(wait: number, func: F): F; + defer(func: Function): number; + delay(wait: number): (func: Function) => number; + delay(wait: number, func: Function): number; + flip(func: Function): Function; + memoize(func: F): F; + negate(predicate: Function): Function; + complement(predicate: Function): Function; + once(func: Function): Function; + overArgs(func: Function): (transforms: Array) => Function; + overArgs(func: Function, transforms: Array): Function; + useWith(func: Function): (transforms: Array) => Function; + useWith(func: Function, transforms: Array): Function; + partial(func: Function): (partials: any[]) => Function; + partial(func: Function, partials: any[]): Function; + partialRight(func: Function): (partials: Array) => Function; + partialRight(func: Function, partials: Array): Function; + rearg(indexes: Array): (func: Function) => Function; + rearg(indexes: Array, func: Function): Function; + rest(func: Function): Function; + unapply(func: Function): Function; + restFrom(start: number): (func: Function) => Function; + restFrom(start: number, func: Function): Function; + spread(func: Function): Function; + apply(func: Function): Function; + spreadFrom(start: number): (func: Function) => Function; + spreadFrom(start: number, func: Function): Function; + throttle(wait: number): (func: Function) => Function; + throttle(wait: number, func: Function): Function; + unary(func: Function): Function; + wrap(wrapper: Function): (value: any) => Function; + wrap(wrapper: Function, value: any): Function; + + // Lang + castArray(value: *): any[]; + clone(value: T): T; + cloneDeep(value: T): T; + cloneDeepWith( + customizer: (value: T, key: number | string, object: T, stack: any) => U + ): (value: T) => U; + cloneDeepWith( + customizer: (value: T, key: number | string, object: T, stack: any) => U, + value: T + ): U; + cloneWith( + customizer: (value: T, key: number | string, object: T, stack: any) => U + ): (value: T) => U; + cloneWith( + customizer: (value: T, key: number | string, object: T, stack: any) => U, + value: T + ): U; + conformsTo( + predicates: T & { [key: string]: (x: any) => boolean } + ): (source: T) => boolean; + conformsTo( + predicates: T & { [key: string]: (x: any) => boolean }, + source: T + ): boolean; + where( + predicates: T & { [key: string]: (x: any) => boolean } + ): (source: T) => boolean; + where( + predicates: T & { [key: string]: (x: any) => boolean }, + source: T + ): boolean; + conforms( + predicates: T & { [key: string]: (x: any) => boolean } + ): (source: T) => boolean; + conforms( + predicates: T & { [key: string]: (x: any) => boolean }, + source: T + ): boolean; + eq(value: any): (other: any) => boolean; + eq(value: any, other: any): boolean; + identical(value: any): (other: any) => boolean; + identical(value: any, other: any): boolean; + gt(value: any): (other: any) => boolean; + gt(value: any, other: any): boolean; + gte(value: any): (other: any) => boolean; + gte(value: any, other: any): boolean; + isArguments(value: any): boolean; + isArray(value: any): boolean; + isArrayBuffer(value: any): boolean; + isArrayLike(value: any): boolean; + isArrayLikeObject(value: any): boolean; + isBoolean(value: any): boolean; + isBuffer(value: any): boolean; + isDate(value: any): boolean; + isElement(value: any): boolean; + isEmpty(value: any): boolean; + isEqual(value: any): (other: any) => boolean; + isEqual(value: any, other: any): boolean; + equals(value: any): (other: any) => boolean; + equals(value: any, other: any): boolean; + isEqualWith( + customizer: ( + objValue: any, + otherValue: any, + key: number | string, + object: T, + other: U, + stack: any + ) => boolean | void + ): ((value: T) => (other: U) => boolean) & + ((value: T, other: U) => boolean); + isEqualWith( + customizer: ( + objValue: any, + otherValue: any, + key: number | string, + object: T, + other: U, + stack: any + ) => boolean | void, + value: T + ): (other: U) => boolean; + isEqualWith( + customizer: ( + objValue: any, + otherValue: any, + key: number | string, + object: T, + other: U, + stack: any + ) => boolean | void, + value: T, + other: U + ): boolean; + isError(value: any): boolean; + isFinite(value: any): boolean; + isFunction(value: Function): true; + isFunction(value: number | string | void | null | Object): false; + isInteger(value: any): boolean; + isLength(value: any): boolean; + isMap(value: any): boolean; + isMatch(source: Object): (object: Object) => boolean; + isMatch(source: Object, object: Object): boolean; + whereEq(source: Object): (object: Object) => boolean; + whereEq(source: Object, object: Object): boolean; + isMatchWith( + customizer: ( + objValue: any, + srcValue: any, + key: number | string, + object: T, + source: U + ) => boolean | void + ): ((source: U) => (object: T) => boolean) & + ((source: U, object: T) => boolean); + isMatchWith( + customizer: ( + objValue: any, + srcValue: any, + key: number | string, + object: T, + source: U + ) => boolean | void, + source: U + ): (object: T) => boolean; + isMatchWith( + customizer: ( + objValue: any, + srcValue: any, + key: number | string, + object: T, + source: U + ) => boolean | void, + source: U, + object: T + ): boolean; + isNaN(value: any): boolean; + isNative(value: any): boolean; + isNil(value: any): boolean; + isNull(value: any): boolean; + isNumber(value: any): boolean; + isObject(value: any): boolean; + isObjectLike(value: any): boolean; + isPlainObject(value: any): boolean; + isRegExp(value: any): boolean; + isSafeInteger(value: any): boolean; + isSet(value: any): boolean; + isString(value: string): true; + isString( + value: number | boolean | Function | void | null | Object | Array + ): false; + isSymbol(value: any): boolean; + isTypedArray(value: any): boolean; + isUndefined(value: any): boolean; + isWeakMap(value: any): boolean; + isWeakSet(value: any): boolean; + lt(value: any): (other: any) => boolean; + lt(value: any, other: any): boolean; + lte(value: any): (other: any) => boolean; + lte(value: any, other: any): boolean; + toArray(value: any): Array; + toFinite(value: any): number; + toInteger(value: any): number; + toLength(value: any): number; + toNumber(value: any): number; + toPlainObject(value: any): Object; + toSafeInteger(value: any): number; + toString(value: any): string; + + // Math + add(augend: number): (addend: number) => number; + add(augend: number, addend: number): number; + ceil(number: number): number; + divide(dividend: number): (divisor: number) => number; + divide(dividend: number, divisor: number): number; + floor(number: number): number; + max(array: Array): T; + maxBy(iteratee: Iteratee): (array: Array) => T; + maxBy(iteratee: Iteratee, array: Array): T; + mean(array: Array<*>): number; + meanBy(iteratee: Iteratee): (array: Array) => number; + meanBy(iteratee: Iteratee, array: Array): number; + min(array: Array): T; + minBy(iteratee: Iteratee): (array: Array) => T; + minBy(iteratee: Iteratee, array: Array): T; + multiply(multiplier: number): (multiplicand: number) => number; + multiply(multiplier: number, multiplicand: number): number; + round(number: number): number; + subtract(minuend: number): (subtrahend: number) => number; + subtract(minuend: number, subtrahend: number): number; + sum(array: Array<*>): number; + sumBy(iteratee: Iteratee): (array: Array) => number; + sumBy(iteratee: Iteratee, array: Array): number; + + // number + clamp( + lower: number + ): ((upper: number) => (number: number) => number) & + ((upper: number, number: number) => number); + clamp(lower: number, upper: number): (number: number) => number; + clamp(lower: number, upper: number, number: number): number; + inRange( + start: number + ): ((end: number) => (number: number) => boolean) & + ((end: number, number: number) => boolean); + inRange(start: number, end: number): (number: number) => boolean; + inRange(start: number, end: number, number: number): boolean; + random(lower: number): (upper: number) => number; + random(lower: number, upper: number): number; + + // Object + assign(object: Object): (source: Object) => Object; + assign(object: Object, source: Object): Object; + assignAll(objects: Array): Object; + assignInAll(objects: Array): Object; + extendAll(objects: Array): Object; + assignIn(a: A): (b: B) => A & B; + assignIn(a: A, b: B): A & B; + assignInWith( + customizer: ( + objValue: any, + srcValue: any, + key: string, + object: T, + source: A + ) => any | void + ): ((object: T) => (s1: A) => Object) & ((object: T, s1: A) => Object); + assignInWith( + customizer: ( + objValue: any, + srcValue: any, + key: string, + object: T, + source: A + ) => any | void, + object: T + ): (s1: A) => Object; + assignInWith( + customizer: ( + objValue: any, + srcValue: any, + key: string, + object: T, + source: A + ) => any | void, + object: T, + s1: A + ): Object; + assignWith( + customizer: ( + objValue: any, + srcValue: any, + key: string, + object: T, + source: A + ) => any | void + ): ((object: T) => (s1: A) => Object) & ((object: T, s1: A) => Object); + assignWith( + customizer: ( + objValue: any, + srcValue: any, + key: string, + object: T, + source: A + ) => any | void, + object: T + ): (s1: A) => Object; + assignWith( + customizer: ( + objValue: any, + srcValue: any, + key: string, + object: T, + source: A + ) => any | void, + object: T, + s1: A + ): Object; + assignInAllWith( + customizer: ( + objValue: any, + srcValue: any, + key: string, + object: Object, + source: Object + ) => any | void + ): (objects: Array) => Object; + assignInAllWith( + customizer: ( + objValue: any, + srcValue: any, + key: string, + object: Object, + source: Object + ) => any | void, + objects: Array + ): Object; + extendAllWith( + customizer: ( + objValue: any, + srcValue: any, + key: string, + object: Object, + source: Object + ) => any | void + ): (objects: Array) => Object; + extendAllWith( + customizer: ( + objValue: any, + srcValue: any, + key: string, + object: Object, + source: Object + ) => any | void, + objects: Array + ): Object; + assignAllWith( + customizer: ( + objValue: any, + srcValue: any, + key: string, + object: Object, + source: Object + ) => any | void + ): (objects: Array) => Object; + assignAllWith( + customizer: ( + objValue: any, + srcValue: any, + key: string, + object: Object, + source: Object + ) => any | void, + objects: Array + ): Object; + at(paths: Array): (object: Object) => Array; + at(paths: Array, object: Object): Array; + props(paths: Array): (object: Object) => Array; + props(paths: Array, object: Object): Array; + paths(paths: Array): (object: Object) => Array; + paths(paths: Array, object: Object): Array; + create(prototype: T): $Supertype; + defaults(source: Object): (object: Object) => Object; + defaults(source: Object, object: Object): Object; + defaultsAll(objects: Array): Object; + defaultsDeep(source: Object): (object: Object) => Object; + defaultsDeep(source: Object, object: Object): Object; + defaultsDeepAll(objects: Array): Object; + // alias for _.toPairs + entries(object: Object): Array<[string, any]>; + // alias for _.toPairsIn + entriesIn(object: Object): Array<[string, any]>; + // alias for _.assignIn + extend(a: A): (b: B) => A & B; + extend(a: A, b: B): A & B; + // alias for _.assignInWith + extendWith( + customizer: ( + objValue: any, + srcValue: any, + key: string, + object: T, + source: A + ) => any | void + ): ((object: T) => (s1: A) => Object) & ((object: T, s1: A) => Object); + extendWith( + customizer: ( + objValue: any, + srcValue: any, + key: string, + object: T, + source: A + ) => any | void, + object: T + ): (s1: A) => Object; + extendWith( + customizer: ( + objValue: any, + srcValue: any, + key: string, + object: T, + source: A + ) => any | void, + object: T, + s1: A + ): Object; + findKey( + predicate: OPredicate + ): (object: T) => string | void; + findKey( + predicate: OPredicate, + object: T + ): string | void; + findLastKey( + predicate: OPredicate + ): (object: T) => string | void; + findLastKey( + predicate: OPredicate, + object: T + ): string | void; + forIn(iteratee: OIteratee<*>): (object: Object) => Object; + forIn(iteratee: OIteratee<*>, object: Object): Object; + forInRight(iteratee: OIteratee<*>): (object: Object) => Object; + forInRight(iteratee: OIteratee<*>, object: Object): Object; + forOwn(iteratee: OIteratee<*>): (object: Object) => Object; + forOwn(iteratee: OIteratee<*>, object: Object): Object; + forOwnRight(iteratee: OIteratee<*>): (object: Object) => Object; + forOwnRight(iteratee: OIteratee<*>, object: Object): Object; + functions(object: Object): Array; + functionsIn(object: Object): Array; + get(path: Array | string): (object: Object | Array) => any; + get(path: Array | string, object: Object | Array): any; + prop(path: Array | string): (object: Object | Array) => any; + prop(path: Array | string, object: Object | Array): any; + path(path: Array | string): (object: Object | Array) => any; + path(path: Array | string, object: Object | Array): any; + getOr( + defaultValue: any + ): (( + path: Array | string + ) => (object: Object | Array) => any) & + ((path: Array | string, object: Object | Array) => any); + getOr( + defaultValue: any, + path: Array | string + ): (object: Object | Array) => any; + getOr( + defaultValue: any, + path: Array | string, + object: Object | Array + ): any; + propOr( + defaultValue: any + ): (( + path: Array | string + ) => (object: Object | Array) => any) & + ((path: Array | string, object: Object | Array) => any); + propOr( + defaultValue: any, + path: Array | string + ): (object: Object | Array) => any; + propOr( + defaultValue: any, + path: Array | string, + object: Object | Array + ): any; + pathOr( + defaultValue: any + ): (( + path: Array | string + ) => (object: Object | Array) => any) & + ((path: Array | string, object: Object | Array) => any); + pathOr( + defaultValue: any, + path: Array | string + ): (object: Object | Array) => any; + pathOr( + defaultValue: any, + path: Array | string, + object: Object | Array + ): any; + has(path: Array | string): (object: Object) => boolean; + has(path: Array | string, object: Object): boolean; + hasIn(path: Array | string): (object: Object) => boolean; + hasIn(path: Array | string, object: Object): boolean; + invert(object: Object): Object; + invertObj(object: Object): Object; + invertBy(iteratee: Function): (object: Object) => Object; + invertBy(iteratee: Function, object: Object): Object; + invoke(path: Array | string): (object: Object) => any; + invoke(path: Array | string, object: Object): any; + invokeArgs( + path: Array | string + ): ((object: Object) => (args: Array) => any) & + ((object: Object, args: Array) => any); + invokeArgs( + path: Array | string, + object: Object + ): (args: Array) => any; + invokeArgs( + path: Array | string, + object: Object, + args: Array + ): any; + keys(object: { [key: K]: any }): Array; + keys(object: Object): Array; + keysIn(object: Object): Array; + mapKeys(iteratee: OIteratee<*>): (object: Object) => Object; + mapKeys(iteratee: OIteratee<*>, object: Object): Object; + mapValues(iteratee: OIteratee<*>): (object: Object) => Object; + mapValues(iteratee: OIteratee<*>, object: Object): Object; + merge(object: Object): (source: Object) => Object; + merge(object: Object, source: Object): Object; + mergeAll(objects: Array): Object; + mergeWith( + customizer: ( + objValue: any, + srcValue: any, + key: string, + object: T, + source: A | B + ) => any | void + ): ((object: T) => (s1: A) => Object) & ((object: T, s1: A) => Object); + mergeWith( + customizer: ( + objValue: any, + srcValue: any, + key: string, + object: T, + source: A | B + ) => any | void, + object: T + ): (s1: A) => Object; + mergeWith( + customizer: ( + objValue: any, + srcValue: any, + key: string, + object: T, + source: A | B + ) => any | void, + object: T, + s1: A + ): Object; + mergeAllWith( + customizer: ( + objValue: any, + srcValue: any, + key: string, + object: Object, + source: Object + ) => any | void + ): (objects: Array) => Object; + mergeAllWith( + customizer: ( + objValue: any, + srcValue: any, + key: string, + object: Object, + source: Object + ) => any | void, + objects: Array + ): Object; + omit(props: Array): (object: Object) => Object; + omit(props: Array, object: Object): Object; + omitAll(props: Array): (object: Object) => Object; + omitAll(props: Array, object: Object): Object; + omitBy( + predicate: OPredicate + ): (object: T) => Object; + omitBy(predicate: OPredicate, object: T): Object; + pick(props: Array): (object: Object) => Object; + pick(props: Array, object: Object): Object; + pickAll(props: Array): (object: Object) => Object; + pickAll(props: Array, object: Object): Object; + pickBy( + predicate: OPredicate + ): (object: T) => Object; + pickBy(predicate: OPredicate, object: T): Object; + result(path: Array | string): (object: Object) => any; + result(path: Array | string, object: Object): any; + set( + path: Array | string + ): ((value: any) => (object: Object) => Object) & + ((value: any, object: Object) => Object); + set(path: Array | string, value: any): (object: Object) => Object; + set(path: Array | string, value: any, object: Object): Object; + assoc( + path: Array | string + ): ((value: any) => (object: Object) => Object) & + ((value: any, object: Object) => Object); + assoc(path: Array | string, value: any): (object: Object) => Object; + assoc(path: Array | string, value: any, object: Object): Object; + assocPath( + path: Array | string + ): ((value: any) => (object: Object) => Object) & + ((value: any, object: Object) => Object); + assocPath( + path: Array | string, + value: any + ): (object: Object) => Object; + assocPath(path: Array | string, value: any, object: Object): Object; + setWith( + customizer: (nsValue: any, key: string, nsObject: T) => any + ): (( + path: Array | string + ) => ((value: any) => (object: T) => Object) & + ((value: any, object: T) => Object)) & + ((path: Array | string, value: any) => (object: T) => Object) & + ((path: Array | string, value: any, object: T) => Object); + setWith( + customizer: (nsValue: any, key: string, nsObject: T) => any, + path: Array | string + ): ((value: any) => (object: T) => Object) & + ((value: any, object: T) => Object); + setWith( + customizer: (nsValue: any, key: string, nsObject: T) => any, + path: Array | string, + value: any + ): (object: T) => Object; + setWith( + customizer: (nsValue: any, key: string, nsObject: T) => any, + path: Array | string, + value: any, + object: T + ): Object; + toPairs(object: Object | Array<*>): Array<[string, any]>; + toPairsIn(object: Object): Array<[string, any]>; + transform( + iteratee: OIteratee<*> + ): ((accumulator: any) => (collection: Object | Array) => any) & + ((accumulator: any, collection: Object | Array) => any); + transform( + iteratee: OIteratee<*>, + accumulator: any + ): (collection: Object | Array) => any; + transform( + iteratee: OIteratee<*>, + accumulator: any, + collection: Object | Array + ): any; + unset(path: Array | string): (object: Object) => boolean; + unset(path: Array | string, object: Object): boolean; + dissoc(path: Array | string): (object: Object) => boolean; + dissoc(path: Array | string, object: Object): boolean; + dissocPath(path: Array | string): (object: Object) => boolean; + dissocPath(path: Array | string, object: Object): boolean; + update( + path: string[] | string + ): ((updater: Function) => (object: Object) => Object) & + ((updater: Function, object: Object) => Object); + update( + path: string[] | string, + updater: Function + ): (object: Object) => Object; + update(path: string[] | string, updater: Function, object: Object): Object; + updateWith( + customizer: Function + ): (( + path: string[] | string + ) => ((updater: Function) => (object: Object) => Object) & + ((updater: Function, object: Object) => Object)) & + (( + path: string[] | string, + updater: Function + ) => (object: Object) => Object) & + ((path: string[] | string, updater: Function, object: Object) => Object); + updateWith( + customizer: Function, + path: string[] | string + ): ((updater: Function) => (object: Object) => Object) & + ((updater: Function, object: Object) => Object); + updateWith( + customizer: Function, + path: string[] | string, + updater: Function + ): (object: Object) => Object; + updateWith( + customizer: Function, + path: string[] | string, + updater: Function, + object: Object + ): Object; + values(object: Object): Array; + valuesIn(object: Object): Array; + + tap(interceptor: (value: T) => any): (value: T) => T; + tap(interceptor: (value: T) => any, value: T): T; + thru(interceptor: (value: T1) => T2): (value: T1) => T2; + thru(interceptor: (value: T1) => T2, value: T1): T2; + + // String + camelCase(string: string): string; + capitalize(string: string): string; + deburr(string: string): string; + endsWith(target: string): (string: string) => boolean; + endsWith(target: string, string: string): boolean; + escape(string: string): string; + escapeRegExp(string: string): string; + kebabCase(string: string): string; + lowerCase(string: string): string; + lowerFirst(string: string): string; + pad(length: number): (string: string) => string; + pad(length: number, string: string): string; + padChars( + chars: string + ): ((length: number) => (string: string) => string) & + ((length: number, string: string) => string); + padChars(chars: string, length: number): (string: string) => string; + padChars(chars: string, length: number, string: string): string; + padEnd(length: number): (string: string) => string; + padEnd(length: number, string: string): string; + padCharsEnd( + chars: string + ): ((length: number) => (string: string) => string) & + ((length: number, string: string) => string); + padCharsEnd(chars: string, length: number): (string: string) => string; + padCharsEnd(chars: string, length: number, string: string): string; + padStart(length: number): (string: string) => string; + padStart(length: number, string: string): string; + padCharsStart( + chars: string + ): ((length: number) => (string: string) => string) & + ((length: number, string: string) => string); + padCharsStart(chars: string, length: number): (string: string) => string; + padCharsStart(chars: string, length: number, string: string): string; + parseInt(radix: number): (string: string) => number; + parseInt(radix: number, string: string): number; + repeat(n: number): (string: string) => string; + repeat(n: number, string: string): string; + replace( + pattern: RegExp | string + ): (( + replacement: ((string: string) => string) | string + ) => (string: string) => string) & + (( + replacement: ((string: string) => string) | string, + string: string + ) => string); + replace( + pattern: RegExp | string, + replacement: ((string: string) => string) | string + ): (string: string) => string; + replace( + pattern: RegExp | string, + replacement: ((string: string) => string) | string, + string: string + ): string; + snakeCase(string: string): string; + split(separator: RegExp | string): (string: string) => Array; + split(separator: RegExp | string, string: string): Array; + startCase(string: string): string; + startsWith(target: string): (string: string) => boolean; + startsWith(target: string, string: string): boolean; + template(string: string): Function; + toLower(string: string): string; + toUpper(string: string): string; + trim(string: string): string; + trimChars(chars: string): (string: string) => string; + trimChars(chars: string, string: string): string; + trimEnd(string: string): string; + trimCharsEnd(chars: string): (string: string) => string; + trimCharsEnd(chars: string, string: string): string; + trimStart(string: string): string; + trimCharsStart(chars: string): (string: string) => string; + trimCharsStart(chars: string, string: string): string; + truncate(options: TruncateOptions): (string: string) => string; + truncate(options: TruncateOptions, string: string): string; + unescape(string: string): string; + upperCase(string: string): string; + upperFirst(string: string): string; + words(string: string): Array; + + // Util + attempt(func: Function): any; + bindAll(methodNames: Array): (object: Object) => Object; + bindAll(methodNames: Array, object: Object): Object; + cond(pairs: NestedArray): Function; + constant(value: T): () => T; + always(value: T): () => T; + defaultTo( + defaultValue: T2 + ): (value: T1) => T1; + defaultTo( + defaultValue: T2, + value: T1 + ): T1; + // NaN is a number instead of its own type, otherwise it would behave like null/void + defaultTo(defaultValue: T2): (value: T1) => T1 | T2; + defaultTo(defaultValue: T2, value: T1): T1 | T2; + defaultTo(defaultValue: T2): (value: T1) => T2; + defaultTo(defaultValue: T2, value: T1): T2; + flow: $ComposeReverse; + flow(funcs: Array): Function; + pipe: $ComposeReverse; + pipe(funcs: Array): Function; + flowRight: $Compose; + flowRight(funcs: Array): Function; + compose: $Compose; + compose(funcs: Array): Function; + identity(value: T): T; + iteratee(func: any): Function; + matches(source: Object): (object: Object) => boolean; + matches(source: Object, object: Object): boolean; + matchesProperty(path: Array | string): (srcValue: any) => Function; + matchesProperty(path: Array | string, srcValue: any): Function; + propEq(path: Array | string): (srcValue: any) => Function; + propEq(path: Array | string, srcValue: any): Function; + pathEq(path: Array | string): (srcValue: any) => Function; + pathEq(path: Array | string, srcValue: any): Function; + method(path: Array | string): Function; + methodOf(object: Object): Function; + mixin( + object: T + ): ((source: Object) => (options: { chain: boolean }) => T) & + ((source: Object, options: { chain: boolean }) => T); + mixin( + object: T, + source: Object + ): (options: { chain: boolean }) => T; + mixin( + object: T, + source: Object, + options: { chain: boolean } + ): T; + noConflict(): Lodash; + noop(...args: Array): void; + nthArg(n: number): Function; + over(iteratees: Array): Function; + juxt(iteratees: Array): Function; + overEvery(predicates: Array): Function; + allPass(predicates: Array): Function; + overSome(predicates: Array): Function; + anyPass(predicates: Array): Function; + property( + path: Array | string + ): (object: Object | Array) => any; + property(path: Array | string, object: Object | Array): any; + propertyOf(object: Object): (path: Array | string) => Function; + propertyOf(object: Object, path: Array | string): Function; + range(start: number): (end: number) => Array; + range(start: number, end: number): Array; + rangeStep( + step: number + ): ((start: number) => (end: number) => Array) & + ((start: number, end: number) => Array); + rangeStep(step: number, start: number): (end: number) => Array; + rangeStep(step: number, start: number, end: number): Array; + rangeRight(start: number): (end: number) => Array; + rangeRight(start: number, end: number): Array; + rangeStepRight( + step: number + ): ((start: number) => (end: number) => Array) & + ((start: number, end: number) => Array); + rangeStepRight(step: number, start: number): (end: number) => Array; + rangeStepRight(step: number, start: number, end: number): Array; + runInContext(context: Object): Function; + + stubArray(): Array<*>; + stubFalse(): false; + F(): false; + stubObject(): {}; + stubString(): ""; + stubTrue(): true; + T(): true; + times(iteratee: (i: number) => T): (n: number) => Array; + times(iteratee: (i: number) => T, n: number): Array; + toPath(value: any): Array; + uniqueId(prefix: string): string; + + __: any; + placeholder: any; + + convert(options: { + cap?: boolean, + curry?: boolean, + fixed?: boolean, + immutable?: boolean, + rearg?: boolean + }): void; + + // Properties + VERSION: string; + templateSettings: TemplateSettings; + } + + declare module.exports: Lodash; +} + +declare module "lodash/chunk" { + declare module.exports: $PropertyType<$Exports<"lodash">, "chunk">; +} + +declare module "lodash/compact" { + declare module.exports: $PropertyType<$Exports<"lodash">, "compact">; +} + +declare module "lodash/concat" { + declare module.exports: $PropertyType<$Exports<"lodash">, "concat">; +} + +declare module "lodash/difference" { + declare module.exports: $PropertyType<$Exports<"lodash">, "difference">; +} + +declare module "lodash/differenceBy" { + declare module.exports: $PropertyType<$Exports<"lodash">, "differenceBy">; +} + +declare module "lodash/differenceWith" { + declare module.exports: $PropertyType<$Exports<"lodash">, "differenceWith">; +} + +declare module "lodash/drop" { + declare module.exports: $PropertyType<$Exports<"lodash">, "drop">; +} + +declare module "lodash/dropRight" { + declare module.exports: $PropertyType<$Exports<"lodash">, "dropRight">; +} + +declare module "lodash/dropRightWhile" { + declare module.exports: $PropertyType<$Exports<"lodash">, "dropRightWhile">; +} + +declare module "lodash/dropWhile" { + declare module.exports: $PropertyType<$Exports<"lodash">, "dropWhile">; +} + +declare module "lodash/fill" { + declare module.exports: $PropertyType<$Exports<"lodash">, "fill">; +} + +declare module "lodash/findIndex" { + declare module.exports: $PropertyType<$Exports<"lodash">, "findIndex">; +} + +declare module "lodash/findLastIndex" { + declare module.exports: $PropertyType<$Exports<"lodash">, "findLastIndex">; +} + +declare module "lodash/first" { + declare module.exports: $PropertyType<$Exports<"lodash">, "first">; +} + +declare module "lodash/flatten" { + declare module.exports: $PropertyType<$Exports<"lodash">, "flatten">; +} + +declare module "lodash/flattenDeep" { + declare module.exports: $PropertyType<$Exports<"lodash">, "flattenDeep">; +} + +declare module "lodash/flattenDepth" { + declare module.exports: $PropertyType<$Exports<"lodash">, "flattenDepth">; +} + +declare module "lodash/fromPairs" { + declare module.exports: $PropertyType<$Exports<"lodash">, "fromPairs">; +} + +declare module "lodash/head" { + declare module.exports: $PropertyType<$Exports<"lodash">, "head">; +} + +declare module "lodash/indexOf" { + declare module.exports: $PropertyType<$Exports<"lodash">, "indexOf">; +} + +declare module "lodash/initial" { + declare module.exports: $PropertyType<$Exports<"lodash">, "initial">; +} + +declare module "lodash/intersection" { + declare module.exports: $PropertyType<$Exports<"lodash">, "intersection">; +} + +declare module "lodash/intersectionBy" { + declare module.exports: $PropertyType<$Exports<"lodash">, "intersectionBy">; +} + +declare module "lodash/intersectionWith" { + declare module.exports: $PropertyType<$Exports<"lodash">, "intersectionWith">; +} + +declare module "lodash/join" { + declare module.exports: $PropertyType<$Exports<"lodash">, "join">; +} + +declare module "lodash/last" { + declare module.exports: $PropertyType<$Exports<"lodash">, "last">; +} + +declare module "lodash/lastIndexOf" { + declare module.exports: $PropertyType<$Exports<"lodash">, "lastIndexOf">; +} + +declare module "lodash/nth" { + declare module.exports: $PropertyType<$Exports<"lodash">, "nth">; +} + +declare module "lodash/pull" { + declare module.exports: $PropertyType<$Exports<"lodash">, "pull">; +} + +declare module "lodash/pullAll" { + declare module.exports: $PropertyType<$Exports<"lodash">, "pullAll">; +} + +declare module "lodash/pullAllBy" { + declare module.exports: $PropertyType<$Exports<"lodash">, "pullAllBy">; +} + +declare module "lodash/pullAllWith" { + declare module.exports: $PropertyType<$Exports<"lodash">, "pullAllWith">; +} + +declare module "lodash/pullAt" { + declare module.exports: $PropertyType<$Exports<"lodash">, "pullAt">; +} + +declare module "lodash/remove" { + declare module.exports: $PropertyType<$Exports<"lodash">, "remove">; +} + +declare module "lodash/reverse" { + declare module.exports: $PropertyType<$Exports<"lodash">, "reverse">; +} + +declare module "lodash/slice" { + declare module.exports: $PropertyType<$Exports<"lodash">, "slice">; +} + +declare module "lodash/sortedIndex" { + declare module.exports: $PropertyType<$Exports<"lodash">, "sortedIndex">; +} + +declare module "lodash/sortedIndexBy" { + declare module.exports: $PropertyType<$Exports<"lodash">, "sortedIndexBy">; +} + +declare module "lodash/sortedIndexOf" { + declare module.exports: $PropertyType<$Exports<"lodash">, "sortedIndexOf">; +} + +declare module "lodash/sortedLastIndex" { + declare module.exports: $PropertyType<$Exports<"lodash">, "sortedLastIndex">; +} + +declare module "lodash/sortedLastIndexBy" { + declare module.exports: $PropertyType< + $Exports<"lodash">, + "sortedLastIndexBy" + >; +} + +declare module "lodash/sortedLastIndexOf" { + declare module.exports: $PropertyType< + $Exports<"lodash">, + "sortedLastIndexOf" + >; +} + +declare module "lodash/sortedUniq" { + declare module.exports: $PropertyType<$Exports<"lodash">, "sortedUniq">; +} + +declare module "lodash/sortedUniqBy" { + declare module.exports: $PropertyType<$Exports<"lodash">, "sortedUniqBy">; +} + +declare module "lodash/tail" { + declare module.exports: $PropertyType<$Exports<"lodash">, "tail">; +} + +declare module "lodash/take" { + declare module.exports: $PropertyType<$Exports<"lodash">, "take">; +} + +declare module "lodash/takeRight" { + declare module.exports: $PropertyType<$Exports<"lodash">, "takeRight">; +} + +declare module "lodash/takeRightWhile" { + declare module.exports: $PropertyType<$Exports<"lodash">, "takeRightWhile">; +} + +declare module "lodash/takeWhile" { + declare module.exports: $PropertyType<$Exports<"lodash">, "takeWhile">; +} + +declare module "lodash/union" { + declare module.exports: $PropertyType<$Exports<"lodash">, "union">; +} + +declare module "lodash/unionBy" { + declare module.exports: $PropertyType<$Exports<"lodash">, "unionBy">; +} + +declare module "lodash/unionWith" { + declare module.exports: $PropertyType<$Exports<"lodash">, "unionWith">; +} + +declare module "lodash/uniq" { + declare module.exports: $PropertyType<$Exports<"lodash">, "uniq">; +} + +declare module "lodash/uniqBy" { + declare module.exports: $PropertyType<$Exports<"lodash">, "uniqBy">; +} + +declare module "lodash/uniqWith" { + declare module.exports: $PropertyType<$Exports<"lodash">, "uniqWith">; +} + +declare module "lodash/unzip" { + declare module.exports: $PropertyType<$Exports<"lodash">, "unzip">; +} + +declare module "lodash/unzipWith" { + declare module.exports: $PropertyType<$Exports<"lodash">, "unzipWith">; +} + +declare module "lodash/without" { + declare module.exports: $PropertyType<$Exports<"lodash">, "without">; +} + +declare module "lodash/xor" { + declare module.exports: $PropertyType<$Exports<"lodash">, "xor">; +} + +declare module "lodash/xorBy" { + declare module.exports: $PropertyType<$Exports<"lodash">, "xorBy">; +} + +declare module "lodash/xorWith" { + declare module.exports: $PropertyType<$Exports<"lodash">, "xorWith">; +} + +declare module "lodash/zip" { + declare module.exports: $PropertyType<$Exports<"lodash">, "zip">; +} + +declare module "lodash/zipObject" { + declare module.exports: $PropertyType<$Exports<"lodash">, "zipObject">; +} + +declare module "lodash/zipObjectDeep" { + declare module.exports: $PropertyType<$Exports<"lodash">, "zipObjectDeep">; +} + +declare module "lodash/zipWith" { + declare module.exports: $PropertyType<$Exports<"lodash">, "zipWith">; +} + +declare module "lodash/countBy" { + declare module.exports: $PropertyType<$Exports<"lodash">, "countBy">; +} + +declare module "lodash/each" { + declare module.exports: $PropertyType<$Exports<"lodash">, "each">; +} + +declare module "lodash/eachRight" { + declare module.exports: $PropertyType<$Exports<"lodash">, "eachRight">; +} + +declare module "lodash/every" { + declare module.exports: $PropertyType<$Exports<"lodash">, "every">; +} + +declare module "lodash/filter" { + declare module.exports: $PropertyType<$Exports<"lodash">, "filter">; +} + +declare module "lodash/find" { + declare module.exports: $PropertyType<$Exports<"lodash">, "find">; +} + +declare module "lodash/findLast" { + declare module.exports: $PropertyType<$Exports<"lodash">, "findLast">; +} + +declare module "lodash/flatMap" { + declare module.exports: $PropertyType<$Exports<"lodash">, "flatMap">; +} + +declare module "lodash/flatMapDeep" { + declare module.exports: $PropertyType<$Exports<"lodash">, "flatMapDeep">; +} + +declare module "lodash/flatMapDepth" { + declare module.exports: $PropertyType<$Exports<"lodash">, "flatMapDepth">; +} + +declare module "lodash/forEach" { + declare module.exports: $PropertyType<$Exports<"lodash">, "forEach">; +} + +declare module "lodash/forEachRight" { + declare module.exports: $PropertyType<$Exports<"lodash">, "forEachRight">; +} + +declare module "lodash/groupBy" { + declare module.exports: $PropertyType<$Exports<"lodash">, "groupBy">; +} + +declare module "lodash/includes" { + declare module.exports: $PropertyType<$Exports<"lodash">, "includes">; +} + +declare module "lodash/invokeMap" { + declare module.exports: $PropertyType<$Exports<"lodash">, "invokeMap">; +} + +declare module "lodash/keyBy" { + declare module.exports: $PropertyType<$Exports<"lodash">, "keyBy">; +} + +declare module "lodash/map" { + declare module.exports: $PropertyType<$Exports<"lodash">, "map">; +} + +declare module "lodash/orderBy" { + declare module.exports: $PropertyType<$Exports<"lodash">, "orderBy">; +} + +declare module "lodash/partition" { + declare module.exports: $PropertyType<$Exports<"lodash">, "partition">; +} + +declare module "lodash/reduce" { + declare module.exports: $PropertyType<$Exports<"lodash">, "reduce">; +} + +declare module "lodash/reduceRight" { + declare module.exports: $PropertyType<$Exports<"lodash">, "reduceRight">; +} + +declare module "lodash/reject" { + declare module.exports: $PropertyType<$Exports<"lodash">, "reject">; +} + +declare module "lodash/sample" { + declare module.exports: $PropertyType<$Exports<"lodash">, "sample">; +} + +declare module "lodash/sampleSize" { + declare module.exports: $PropertyType<$Exports<"lodash">, "sampleSize">; +} + +declare module "lodash/shuffle" { + declare module.exports: $PropertyType<$Exports<"lodash">, "shuffle">; +} + +declare module "lodash/size" { + declare module.exports: $PropertyType<$Exports<"lodash">, "size">; +} + +declare module "lodash/some" { + declare module.exports: $PropertyType<$Exports<"lodash">, "some">; +} + +declare module "lodash/sortBy" { + declare module.exports: $PropertyType<$Exports<"lodash">, "sortBy">; +} + +declare module "lodash/now" { + declare module.exports: $PropertyType<$Exports<"lodash">, "now">; +} + +declare module "lodash/after" { + declare module.exports: $PropertyType<$Exports<"lodash">, "after">; +} + +declare module "lodash/ary" { + declare module.exports: $PropertyType<$Exports<"lodash">, "ary">; +} + +declare module "lodash/before" { + declare module.exports: $PropertyType<$Exports<"lodash">, "before">; +} + +declare module "lodash/bind" { + declare module.exports: $PropertyType<$Exports<"lodash">, "bind">; +} + +declare module "lodash/bindKey" { + declare module.exports: $PropertyType<$Exports<"lodash">, "bindKey">; +} + +declare module "lodash/curry" { + declare module.exports: $PropertyType<$Exports<"lodash">, "curry">; +} + +declare module "lodash/curryRight" { + declare module.exports: $PropertyType<$Exports<"lodash">, "curryRight">; +} + +declare module "lodash/debounce" { + declare module.exports: $PropertyType<$Exports<"lodash">, "debounce">; +} + +declare module "lodash/defer" { + declare module.exports: $PropertyType<$Exports<"lodash">, "defer">; +} + +declare module "lodash/delay" { + declare module.exports: $PropertyType<$Exports<"lodash">, "delay">; +} + +declare module "lodash/flip" { + declare module.exports: $PropertyType<$Exports<"lodash">, "flip">; +} + +declare module "lodash/memoize" { + declare module.exports: $PropertyType<$Exports<"lodash">, "memoize">; +} + +declare module "lodash/negate" { + declare module.exports: $PropertyType<$Exports<"lodash">, "negate">; +} + +declare module "lodash/once" { + declare module.exports: $PropertyType<$Exports<"lodash">, "once">; +} + +declare module "lodash/overArgs" { + declare module.exports: $PropertyType<$Exports<"lodash">, "overArgs">; +} + +declare module "lodash/partial" { + declare module.exports: $PropertyType<$Exports<"lodash">, "partial">; +} + +declare module "lodash/partialRight" { + declare module.exports: $PropertyType<$Exports<"lodash">, "partialRight">; +} + +declare module "lodash/rearg" { + declare module.exports: $PropertyType<$Exports<"lodash">, "rearg">; +} + +declare module "lodash/rest" { + declare module.exports: $PropertyType<$Exports<"lodash">, "rest">; +} + +declare module "lodash/spread" { + declare module.exports: $PropertyType<$Exports<"lodash">, "spread">; +} + +declare module "lodash/throttle" { + declare module.exports: $PropertyType<$Exports<"lodash">, "throttle">; +} + +declare module "lodash/unary" { + declare module.exports: $PropertyType<$Exports<"lodash">, "unary">; +} + +declare module "lodash/wrap" { + declare module.exports: $PropertyType<$Exports<"lodash">, "wrap">; +} + +declare module "lodash/castArray" { + declare module.exports: $PropertyType<$Exports<"lodash">, "castArray">; +} + +declare module "lodash/clone" { + declare module.exports: $PropertyType<$Exports<"lodash">, "clone">; +} + +declare module "lodash/cloneDeep" { + declare module.exports: $PropertyType<$Exports<"lodash">, "cloneDeep">; +} + +declare module "lodash/cloneDeepWith" { + declare module.exports: $PropertyType<$Exports<"lodash">, "cloneDeepWith">; +} + +declare module "lodash/cloneWith" { + declare module.exports: $PropertyType<$Exports<"lodash">, "cloneWith">; +} + +declare module "lodash/conformsTo" { + declare module.exports: $PropertyType<$Exports<"lodash">, "conformsTo">; +} + +declare module "lodash/eq" { + declare module.exports: $PropertyType<$Exports<"lodash">, "eq">; +} + +declare module "lodash/gt" { + declare module.exports: $PropertyType<$Exports<"lodash">, "gt">; +} + +declare module "lodash/gte" { + declare module.exports: $PropertyType<$Exports<"lodash">, "gte">; +} + +declare module "lodash/isArguments" { + declare module.exports: $PropertyType<$Exports<"lodash">, "isArguments">; +} + +declare module "lodash/isArray" { + declare module.exports: $PropertyType<$Exports<"lodash">, "isArray">; +} + +declare module "lodash/isArrayBuffer" { + declare module.exports: $PropertyType<$Exports<"lodash">, "isArrayBuffer">; +} + +declare module "lodash/isArrayLike" { + declare module.exports: $PropertyType<$Exports<"lodash">, "isArrayLike">; +} + +declare module "lodash/isArrayLikeObject" { + declare module.exports: $PropertyType< + $Exports<"lodash">, + "isArrayLikeObject" + >; +} + +declare module "lodash/isBoolean" { + declare module.exports: $PropertyType<$Exports<"lodash">, "isBoolean">; +} + +declare module "lodash/isBuffer" { + declare module.exports: $PropertyType<$Exports<"lodash">, "isBuffer">; +} + +declare module "lodash/isDate" { + declare module.exports: $PropertyType<$Exports<"lodash">, "isDate">; +} + +declare module "lodash/isElement" { + declare module.exports: $PropertyType<$Exports<"lodash">, "isElement">; +} + +declare module "lodash/isEmpty" { + declare module.exports: $PropertyType<$Exports<"lodash">, "isEmpty">; +} + +declare module "lodash/isEqual" { + declare module.exports: $PropertyType<$Exports<"lodash">, "isEqual">; +} + +declare module "lodash/isEqualWith" { + declare module.exports: $PropertyType<$Exports<"lodash">, "isEqualWith">; +} + +declare module "lodash/isError" { + declare module.exports: $PropertyType<$Exports<"lodash">, "isError">; +} + +declare module "lodash/isFinite" { + declare module.exports: $PropertyType<$Exports<"lodash">, "isFinite">; +} + +declare module "lodash/isFunction" { + declare module.exports: $PropertyType<$Exports<"lodash">, "isFunction">; +} + +declare module "lodash/isInteger" { + declare module.exports: $PropertyType<$Exports<"lodash">, "isInteger">; +} + +declare module "lodash/isLength" { + declare module.exports: $PropertyType<$Exports<"lodash">, "isLength">; +} + +declare module "lodash/isMap" { + declare module.exports: $PropertyType<$Exports<"lodash">, "isMap">; +} + +declare module "lodash/isMatch" { + declare module.exports: $PropertyType<$Exports<"lodash">, "isMatch">; +} + +declare module "lodash/isMatchWith" { + declare module.exports: $PropertyType<$Exports<"lodash">, "isMatchWith">; +} + +declare module "lodash/isNaN" { + declare module.exports: $PropertyType<$Exports<"lodash">, "isNaN">; +} + +declare module "lodash/isNative" { + declare module.exports: $PropertyType<$Exports<"lodash">, "isNative">; +} + +declare module "lodash/isNil" { + declare module.exports: $PropertyType<$Exports<"lodash">, "isNil">; +} + +declare module "lodash/isNull" { + declare module.exports: $PropertyType<$Exports<"lodash">, "isNull">; +} + +declare module "lodash/isNumber" { + declare module.exports: $PropertyType<$Exports<"lodash">, "isNumber">; +} + +declare module "lodash/isObject" { + declare module.exports: $PropertyType<$Exports<"lodash">, "isObject">; +} + +declare module "lodash/isObjectLike" { + declare module.exports: $PropertyType<$Exports<"lodash">, "isObjectLike">; +} + +declare module "lodash/isPlainObject" { + declare module.exports: $PropertyType<$Exports<"lodash">, "isPlainObject">; +} + +declare module "lodash/isRegExp" { + declare module.exports: $PropertyType<$Exports<"lodash">, "isRegExp">; +} + +declare module "lodash/isSafeInteger" { + declare module.exports: $PropertyType<$Exports<"lodash">, "isSafeInteger">; +} + +declare module "lodash/isSet" { + declare module.exports: $PropertyType<$Exports<"lodash">, "isSet">; +} + +declare module "lodash/isString" { + declare module.exports: $PropertyType<$Exports<"lodash">, "isString">; +} + +declare module "lodash/isSymbol" { + declare module.exports: $PropertyType<$Exports<"lodash">, "isSymbol">; +} + +declare module "lodash/isTypedArray" { + declare module.exports: $PropertyType<$Exports<"lodash">, "isTypedArray">; +} + +declare module "lodash/isUndefined" { + declare module.exports: $PropertyType<$Exports<"lodash">, "isUndefined">; +} + +declare module "lodash/isWeakMap" { + declare module.exports: $PropertyType<$Exports<"lodash">, "isWeakMap">; +} + +declare module "lodash/isWeakSet" { + declare module.exports: $PropertyType<$Exports<"lodash">, "isWeakSet">; +} + +declare module "lodash/lt" { + declare module.exports: $PropertyType<$Exports<"lodash">, "lt">; +} + +declare module "lodash/lte" { + declare module.exports: $PropertyType<$Exports<"lodash">, "lte">; +} + +declare module "lodash/toArray" { + declare module.exports: $PropertyType<$Exports<"lodash">, "toArray">; +} + +declare module "lodash/toFinite" { + declare module.exports: $PropertyType<$Exports<"lodash">, "toFinite">; +} + +declare module "lodash/toInteger" { + declare module.exports: $PropertyType<$Exports<"lodash">, "toInteger">; +} + +declare module "lodash/toLength" { + declare module.exports: $PropertyType<$Exports<"lodash">, "toLength">; +} + +declare module "lodash/toNumber" { + declare module.exports: $PropertyType<$Exports<"lodash">, "toNumber">; +} + +declare module "lodash/toPlainObject" { + declare module.exports: $PropertyType<$Exports<"lodash">, "toPlainObject">; +} + +declare module "lodash/toSafeInteger" { + declare module.exports: $PropertyType<$Exports<"lodash">, "toSafeInteger">; +} + +declare module "lodash/toString" { + declare module.exports: $PropertyType<$Exports<"lodash">, "toString">; +} + +declare module "lodash/add" { + declare module.exports: $PropertyType<$Exports<"lodash">, "add">; +} + +declare module "lodash/ceil" { + declare module.exports: $PropertyType<$Exports<"lodash">, "ceil">; +} + +declare module "lodash/divide" { + declare module.exports: $PropertyType<$Exports<"lodash">, "divide">; +} + +declare module "lodash/floor" { + declare module.exports: $PropertyType<$Exports<"lodash">, "floor">; +} + +declare module "lodash/max" { + declare module.exports: $PropertyType<$Exports<"lodash">, "max">; +} + +declare module "lodash/maxBy" { + declare module.exports: $PropertyType<$Exports<"lodash">, "maxBy">; +} + +declare module "lodash/mean" { + declare module.exports: $PropertyType<$Exports<"lodash">, "mean">; +} + +declare module "lodash/meanBy" { + declare module.exports: $PropertyType<$Exports<"lodash">, "meanBy">; +} + +declare module "lodash/min" { + declare module.exports: $PropertyType<$Exports<"lodash">, "min">; +} + +declare module "lodash/minBy" { + declare module.exports: $PropertyType<$Exports<"lodash">, "minBy">; +} + +declare module "lodash/multiply" { + declare module.exports: $PropertyType<$Exports<"lodash">, "multiply">; +} + +declare module "lodash/round" { + declare module.exports: $PropertyType<$Exports<"lodash">, "round">; +} + +declare module "lodash/subtract" { + declare module.exports: $PropertyType<$Exports<"lodash">, "subtract">; +} + +declare module "lodash/sum" { + declare module.exports: $PropertyType<$Exports<"lodash">, "sum">; +} + +declare module "lodash/sumBy" { + declare module.exports: $PropertyType<$Exports<"lodash">, "sumBy">; +} + +declare module "lodash/clamp" { + declare module.exports: $PropertyType<$Exports<"lodash">, "clamp">; +} + +declare module "lodash/inRange" { + declare module.exports: $PropertyType<$Exports<"lodash">, "inRange">; +} + +declare module "lodash/random" { + declare module.exports: $PropertyType<$Exports<"lodash">, "random">; +} + +declare module "lodash/assign" { + declare module.exports: $PropertyType<$Exports<"lodash">, "assign">; +} + +declare module "lodash/assignIn" { + declare module.exports: $PropertyType<$Exports<"lodash">, "assignIn">; +} + +declare module "lodash/assignInWith" { + declare module.exports: $PropertyType<$Exports<"lodash">, "assignInWith">; +} + +declare module "lodash/assignWith" { + declare module.exports: $PropertyType<$Exports<"lodash">, "assignWith">; +} + +declare module "lodash/at" { + declare module.exports: $PropertyType<$Exports<"lodash">, "at">; +} + +declare module "lodash/create" { + declare module.exports: $PropertyType<$Exports<"lodash">, "create">; +} + +declare module "lodash/defaults" { + declare module.exports: $PropertyType<$Exports<"lodash">, "defaults">; +} + +declare module "lodash/defaultsDeep" { + declare module.exports: $PropertyType<$Exports<"lodash">, "defaultsDeep">; +} + +declare module "lodash/entries" { + declare module.exports: $PropertyType<$Exports<"lodash">, "entries">; +} + +declare module "lodash/entriesIn" { + declare module.exports: $PropertyType<$Exports<"lodash">, "entriesIn">; +} + +declare module "lodash/extend" { + declare module.exports: $PropertyType<$Exports<"lodash">, "extend">; +} + +declare module "lodash/extendWith" { + declare module.exports: $PropertyType<$Exports<"lodash">, "extendWith">; +} + +declare module "lodash/findKey" { + declare module.exports: $PropertyType<$Exports<"lodash">, "findKey">; +} + +declare module "lodash/findLastKey" { + declare module.exports: $PropertyType<$Exports<"lodash">, "findLastKey">; +} + +declare module "lodash/forIn" { + declare module.exports: $PropertyType<$Exports<"lodash">, "forIn">; +} + +declare module "lodash/forInRight" { + declare module.exports: $PropertyType<$Exports<"lodash">, "forInRight">; +} + +declare module "lodash/forOwn" { + declare module.exports: $PropertyType<$Exports<"lodash">, "forOwn">; +} + +declare module "lodash/forOwnRight" { + declare module.exports: $PropertyType<$Exports<"lodash">, "forOwnRight">; +} + +declare module "lodash/functions" { + declare module.exports: $PropertyType<$Exports<"lodash">, "functions">; +} + +declare module "lodash/functionsIn" { + declare module.exports: $PropertyType<$Exports<"lodash">, "functionsIn">; +} + +declare module "lodash/get" { + declare module.exports: $PropertyType<$Exports<"lodash">, "get">; +} + +declare module "lodash/has" { + declare module.exports: $PropertyType<$Exports<"lodash">, "has">; +} + +declare module "lodash/hasIn" { + declare module.exports: $PropertyType<$Exports<"lodash">, "hasIn">; +} + +declare module "lodash/invert" { + declare module.exports: $PropertyType<$Exports<"lodash">, "invert">; +} + +declare module "lodash/invertBy" { + declare module.exports: $PropertyType<$Exports<"lodash">, "invertBy">; +} + +declare module "lodash/invoke" { + declare module.exports: $PropertyType<$Exports<"lodash">, "invoke">; +} + +declare module "lodash/keys" { + declare module.exports: $PropertyType<$Exports<"lodash">, "keys">; +} + +declare module "lodash/keysIn" { + declare module.exports: $PropertyType<$Exports<"lodash">, "keysIn">; +} + +declare module "lodash/mapKeys" { + declare module.exports: $PropertyType<$Exports<"lodash">, "mapKeys">; +} + +declare module "lodash/mapValues" { + declare module.exports: $PropertyType<$Exports<"lodash">, "mapValues">; +} + +declare module "lodash/merge" { + declare module.exports: $PropertyType<$Exports<"lodash">, "merge">; +} + +declare module "lodash/mergeWith" { + declare module.exports: $PropertyType<$Exports<"lodash">, "mergeWith">; +} + +declare module "lodash/omit" { + declare module.exports: $PropertyType<$Exports<"lodash">, "omit">; +} + +declare module "lodash/omitBy" { + declare module.exports: $PropertyType<$Exports<"lodash">, "omitBy">; +} + +declare module "lodash/pick" { + declare module.exports: $PropertyType<$Exports<"lodash">, "pick">; +} + +declare module "lodash/pickBy" { + declare module.exports: $PropertyType<$Exports<"lodash">, "pickBy">; +} + +declare module "lodash/result" { + declare module.exports: $PropertyType<$Exports<"lodash">, "result">; +} + +declare module "lodash/set" { + declare module.exports: $PropertyType<$Exports<"lodash">, "set">; +} + +declare module "lodash/setWith" { + declare module.exports: $PropertyType<$Exports<"lodash">, "setWith">; +} + +declare module "lodash/toPairs" { + declare module.exports: $PropertyType<$Exports<"lodash">, "toPairs">; +} + +declare module "lodash/toPairsIn" { + declare module.exports: $PropertyType<$Exports<"lodash">, "toPairsIn">; +} + +declare module "lodash/transform" { + declare module.exports: $PropertyType<$Exports<"lodash">, "transform">; +} + +declare module "lodash/unset" { + declare module.exports: $PropertyType<$Exports<"lodash">, "unset">; +} + +declare module "lodash/update" { + declare module.exports: $PropertyType<$Exports<"lodash">, "update">; +} + +declare module "lodash/updateWith" { + declare module.exports: $PropertyType<$Exports<"lodash">, "updateWith">; +} + +declare module "lodash/values" { + declare module.exports: $PropertyType<$Exports<"lodash">, "values">; +} + +declare module "lodash/valuesIn" { + declare module.exports: $PropertyType<$Exports<"lodash">, "valuesIn">; +} + +declare module "lodash/chain" { + declare module.exports: $PropertyType<$Exports<"lodash">, "chain">; +} + +declare module "lodash/tap" { + declare module.exports: $PropertyType<$Exports<"lodash">, "tap">; +} + +declare module "lodash/thru" { + declare module.exports: $PropertyType<$Exports<"lodash">, "thru">; +} + +declare module "lodash/camelCase" { + declare module.exports: $PropertyType<$Exports<"lodash">, "camelCase">; +} + +declare module "lodash/capitalize" { + declare module.exports: $PropertyType<$Exports<"lodash">, "capitalize">; +} + +declare module "lodash/deburr" { + declare module.exports: $PropertyType<$Exports<"lodash">, "deburr">; +} + +declare module "lodash/endsWith" { + declare module.exports: $PropertyType<$Exports<"lodash">, "endsWith">; +} + +declare module "lodash/escape" { + declare module.exports: $PropertyType<$Exports<"lodash">, "escape">; +} + +declare module "lodash/escapeRegExp" { + declare module.exports: $PropertyType<$Exports<"lodash">, "escapeRegExp">; +} + +declare module "lodash/kebabCase" { + declare module.exports: $PropertyType<$Exports<"lodash">, "kebabCase">; +} + +declare module "lodash/lowerCase" { + declare module.exports: $PropertyType<$Exports<"lodash">, "lowerCase">; +} + +declare module "lodash/lowerFirst" { + declare module.exports: $PropertyType<$Exports<"lodash">, "lowerFirst">; +} + +declare module "lodash/pad" { + declare module.exports: $PropertyType<$Exports<"lodash">, "pad">; +} + +declare module "lodash/padEnd" { + declare module.exports: $PropertyType<$Exports<"lodash">, "padEnd">; +} + +declare module "lodash/padStart" { + declare module.exports: $PropertyType<$Exports<"lodash">, "padStart">; +} + +declare module "lodash/parseInt" { + declare module.exports: $PropertyType<$Exports<"lodash">, "parseInt">; +} + +declare module "lodash/repeat" { + declare module.exports: $PropertyType<$Exports<"lodash">, "repeat">; +} + +declare module "lodash/replace" { + declare module.exports: $PropertyType<$Exports<"lodash">, "replace">; +} + +declare module "lodash/snakeCase" { + declare module.exports: $PropertyType<$Exports<"lodash">, "snakeCase">; +} + +declare module "lodash/split" { + declare module.exports: $PropertyType<$Exports<"lodash">, "split">; +} + +declare module "lodash/startCase" { + declare module.exports: $PropertyType<$Exports<"lodash">, "startCase">; +} + +declare module "lodash/startsWith" { + declare module.exports: $PropertyType<$Exports<"lodash">, "startsWith">; +} + +declare module "lodash/template" { + declare module.exports: $PropertyType<$Exports<"lodash">, "template">; +} + +declare module "lodash/toLower" { + declare module.exports: $PropertyType<$Exports<"lodash">, "toLower">; +} + +declare module "lodash/toUpper" { + declare module.exports: $PropertyType<$Exports<"lodash">, "toUpper">; +} + +declare module "lodash/trim" { + declare module.exports: $PropertyType<$Exports<"lodash">, "trim">; +} + +declare module "lodash/trimEnd" { + declare module.exports: $PropertyType<$Exports<"lodash">, "trimEnd">; +} + +declare module "lodash/trimStart" { + declare module.exports: $PropertyType<$Exports<"lodash">, "trimStart">; +} + +declare module "lodash/truncate" { + declare module.exports: $PropertyType<$Exports<"lodash">, "truncate">; +} + +declare module "lodash/unescape" { + declare module.exports: $PropertyType<$Exports<"lodash">, "unescape">; +} + +declare module "lodash/upperCase" { + declare module.exports: $PropertyType<$Exports<"lodash">, "upperCase">; +} + +declare module "lodash/upperFirst" { + declare module.exports: $PropertyType<$Exports<"lodash">, "upperFirst">; +} + +declare module "lodash/words" { + declare module.exports: $PropertyType<$Exports<"lodash">, "words">; +} + +declare module "lodash/attempt" { + declare module.exports: $PropertyType<$Exports<"lodash">, "attempt">; +} + +declare module "lodash/bindAll" { + declare module.exports: $PropertyType<$Exports<"lodash">, "bindAll">; +} + +declare module "lodash/cond" { + declare module.exports: $PropertyType<$Exports<"lodash">, "cond">; +} + +declare module "lodash/conforms" { + declare module.exports: $PropertyType<$Exports<"lodash">, "conforms">; +} + +declare module "lodash/constant" { + declare module.exports: $PropertyType<$Exports<"lodash">, "constant">; +} + +declare module "lodash/defaultTo" { + declare module.exports: $PropertyType<$Exports<"lodash">, "defaultTo">; +} + +declare module "lodash/flow" { + declare module.exports: $PropertyType<$Exports<"lodash">, "flow">; +} + +declare module "lodash/flowRight" { + declare module.exports: $PropertyType<$Exports<"lodash">, "flowRight">; +} + +declare module "lodash/identity" { + declare module.exports: $PropertyType<$Exports<"lodash">, "identity">; +} + +declare module "lodash/iteratee" { + declare module.exports: $PropertyType<$Exports<"lodash">, "iteratee">; +} + +declare module "lodash/matches" { + declare module.exports: $PropertyType<$Exports<"lodash">, "matches">; +} + +declare module "lodash/matchesProperty" { + declare module.exports: $PropertyType<$Exports<"lodash">, "matchesProperty">; +} + +declare module "lodash/method" { + declare module.exports: $PropertyType<$Exports<"lodash">, "method">; +} + +declare module "lodash/methodOf" { + declare module.exports: $PropertyType<$Exports<"lodash">, "methodOf">; +} + +declare module "lodash/mixin" { + declare module.exports: $PropertyType<$Exports<"lodash">, "mixin">; +} + +declare module "lodash/noConflict" { + declare module.exports: $PropertyType<$Exports<"lodash">, "noConflict">; +} + +declare module "lodash/noop" { + declare module.exports: $PropertyType<$Exports<"lodash">, "noop">; +} + +declare module "lodash/nthArg" { + declare module.exports: $PropertyType<$Exports<"lodash">, "nthArg">; +} + +declare module "lodash/over" { + declare module.exports: $PropertyType<$Exports<"lodash">, "over">; +} + +declare module "lodash/overEvery" { + declare module.exports: $PropertyType<$Exports<"lodash">, "overEvery">; +} + +declare module "lodash/overSome" { + declare module.exports: $PropertyType<$Exports<"lodash">, "overSome">; +} + +declare module "lodash/property" { + declare module.exports: $PropertyType<$Exports<"lodash">, "property">; +} + +declare module "lodash/propertyOf" { + declare module.exports: $PropertyType<$Exports<"lodash">, "propertyOf">; +} + +declare module "lodash/range" { + declare module.exports: $PropertyType<$Exports<"lodash">, "range">; +} + +declare module "lodash/rangeRight" { + declare module.exports: $PropertyType<$Exports<"lodash">, "rangeRight">; +} + +declare module "lodash/runInContext" { + declare module.exports: $PropertyType<$Exports<"lodash">, "runInContext">; +} + +declare module "lodash/stubArray" { + declare module.exports: $PropertyType<$Exports<"lodash">, "stubArray">; +} + +declare module "lodash/stubFalse" { + declare module.exports: $PropertyType<$Exports<"lodash">, "stubFalse">; +} + +declare module "lodash/stubObject" { + declare module.exports: $PropertyType<$Exports<"lodash">, "stubObject">; +} + +declare module "lodash/stubString" { + declare module.exports: $PropertyType<$Exports<"lodash">, "stubString">; +} + +declare module "lodash/stubTrue" { + declare module.exports: $PropertyType<$Exports<"lodash">, "stubTrue">; +} + +declare module "lodash/times" { + declare module.exports: $PropertyType<$Exports<"lodash">, "times">; +} + +declare module "lodash/toPath" { + declare module.exports: $PropertyType<$Exports<"lodash">, "toPath">; +} + +declare module "lodash/uniqueId" { + declare module.exports: $PropertyType<$Exports<"lodash">, "uniqueId">; +} diff --git a/flow-typed/npm/make-dir_vx.x.x.js b/flow-typed/npm/make-dir_vx.x.x.js new file mode 100644 index 00000000..d7099aef --- /dev/null +++ b/flow-typed/npm/make-dir_vx.x.x.js @@ -0,0 +1,33 @@ +// flow-typed signature: 598f7f6de3cca2bd0c0a1fb0adff6f9b +// flow-typed version: <>/make-dir_v^1.1.0/flow_v0.63.1 + +/** + * This is an autogenerated libdef stub for: + * + * 'make-dir' + * + * Fill this stub out by replacing all the `any` types. + * + * Once filled out, we encourage you to share your work with the + * community by sending a pull request to: + * https://github.com/flowtype/flow-typed + */ + +declare module 'make-dir' { + declare module.exports: any; +} + +/** + * We include stubs for each file inside this npm package in case you need to + * require those files directly. Feel free to delete any files that aren't + * needed. + */ + + +// Filename aliases +declare module 'make-dir/index' { + declare module.exports: $Exports<'make-dir'>; +} +declare module 'make-dir/index.js' { + declare module.exports: $Exports<'make-dir'>; +} diff --git a/flow-typed/npm/md5-file_vx.x.x.js b/flow-typed/npm/md5-file_vx.x.x.js new file mode 100644 index 00000000..525b047c --- /dev/null +++ b/flow-typed/npm/md5-file_vx.x.x.js @@ -0,0 +1,45 @@ +// flow-typed signature: 1a5e8961d35b76202dc28f590c3fe5af +// flow-typed version: <>/md5-file_v^3.2.3/flow_v0.63.1 + +/** + * This is an autogenerated libdef stub for: + * + * 'md5-file' + * + * Fill this stub out by replacing all the `any` types. + * + * Once filled out, we encourage you to share your work with the + * community by sending a pull request to: + * https://github.com/flowtype/flow-typed + */ + +declare module 'md5-file' { + declare module.exports: any; +} + +/** + * We include stubs for each file inside this npm package in case you need to + * require those files directly. Feel free to delete any files that aren't + * needed. + */ +declare module 'md5-file/cli' { + declare module.exports: any; +} + +declare module 'md5-file/promise' { + declare module.exports: any; +} + +// Filename aliases +declare module 'md5-file/cli.js' { + declare module.exports: $Exports<'md5-file/cli'>; +} +declare module 'md5-file/index' { + declare module.exports: $Exports<'md5-file'>; +} +declare module 'md5-file/index.js' { + declare module.exports: $Exports<'md5-file'>; +} +declare module 'md5-file/promise.js' { + declare module.exports: $Exports<'md5-file/promise'>; +} diff --git a/flow-typed/npm/meow_v3.x.x.js b/flow-typed/npm/meow_v3.x.x.js new file mode 100644 index 00000000..859e39e3 --- /dev/null +++ b/flow-typed/npm/meow_v3.x.x.js @@ -0,0 +1,39 @@ +// flow-typed signature: f31bb79b260c49b95de5971e0bcd777d +// flow-typed version: 2c78418fff/meow_v3.x.x/flow_>=v0.25.x + +declare module 'meow' { + declare type options = string | Array | { + description?: string, + help: string, + version?: string | boolean, + pkg?: string | Object, + argv?: Array, + inferType?: boolean + }; + + declare type minimistOptions = { + string?: string | Array, + boolean?: boolean | string | Array, + alias?: { [arg: string]: string | Array }, + default?: { [arg: string]: any }, + stopEarly?: boolean, + '--'?: boolean, + unknown?: (param: string) => boolean + }; + + declare type Flags = { + '--'?: Array, + [flag: string]: string | boolean + }; + + declare module.exports: ( + options: options, + minimistOptions?: minimistOptions, + ) => { + input: Array, + flags: Flags, + pkg: Object, + help: string, + showHelp: Function + } +} diff --git a/flow-typed/npm/mustache_vx.x.x.js b/flow-typed/npm/mustache_vx.x.x.js new file mode 100644 index 00000000..a6afb745 --- /dev/null +++ b/flow-typed/npm/mustache_vx.x.x.js @@ -0,0 +1,39 @@ +// flow-typed signature: 27e77d5a06f741b9e737a754a65f33a9 +// flow-typed version: <>/mustache_v^2.3.0/flow_v0.63.1 + +/** + * This is an autogenerated libdef stub for: + * + * 'mustache' + * + * Fill this stub out by replacing all the `any` types. + * + * Once filled out, we encourage you to share your work with the + * community by sending a pull request to: + * https://github.com/flowtype/flow-typed + */ + +declare module 'mustache' { + declare module.exports: any; +} + +/** + * We include stubs for each file inside this npm package in case you need to + * require those files directly. Feel free to delete any files that aren't + * needed. + */ +declare module 'mustache/mustache' { + declare module.exports: any; +} + +declare module 'mustache/mustache.min' { + declare module.exports: any; +} + +// Filename aliases +declare module 'mustache/mustache.js' { + declare module.exports: $Exports<'mustache/mustache'>; +} +declare module 'mustache/mustache.min.js' { + declare module.exports: $Exports<'mustache/mustache.min'>; +} diff --git a/flow-typed/npm/nightmare_vx.x.x.js b/flow-typed/npm/nightmare_vx.x.x.js new file mode 100644 index 00000000..a41907bc --- /dev/null +++ b/flow-typed/npm/nightmare_vx.x.x.js @@ -0,0 +1,144 @@ +// flow-typed signature: 4638c816b07da7905592d5337e929ba4 +// flow-typed version: <>/nightmare_v^2.10.0/flow_v0.63.1 + +/** + * This is an autogenerated libdef stub for: + * + * 'nightmare' + * + * Fill this stub out by replacing all the `any` types. + * + * Once filled out, we encourage you to share your work with the + * community by sending a pull request to: + * https://github.com/flowtype/flow-typed + */ + +declare module 'nightmare' { + declare module.exports: any; +} + +/** + * We include stubs for each file inside this npm package in case you need to + * require those files directly. Feel free to delete any files that aren't + * needed. + */ +declare module 'nightmare/example' { + declare module.exports: any; +} + +declare module 'nightmare/lib/actions' { + declare module.exports: any; +} + +declare module 'nightmare/lib/frame-manager' { + declare module.exports: any; +} + +declare module 'nightmare/lib/ipc' { + declare module.exports: any; +} + +declare module 'nightmare/lib/javascript' { + declare module.exports: any; +} + +declare module 'nightmare/lib/nightmare' { + declare module.exports: any; +} + +declare module 'nightmare/lib/preload' { + declare module.exports: any; +} + +declare module 'nightmare/lib/runner' { + declare module.exports: any; +} + +declare module 'nightmare/test/files/globals' { + declare module.exports: any; +} + +declare module 'nightmare/test/files/jquery-1.9.0.min' { + declare module.exports: any; +} + +declare module 'nightmare/test/files/jquery-2.1.1.min' { + declare module.exports: any; +} + +declare module 'nightmare/test/files/nightmare-created' { + declare module.exports: any; +} + +declare module 'nightmare/test/files/nightmare-error' { + declare module.exports: any; +} + +declare module 'nightmare/test/files/nightmare-unended' { + declare module.exports: any; +} + +declare module 'nightmare/test/fixtures/preload/index' { + declare module.exports: any; +} + +declare module 'nightmare/test/index' { + declare module.exports: any; +} + +declare module 'nightmare/test/server' { + declare module.exports: any; +} + +// Filename aliases +declare module 'nightmare/example.js' { + declare module.exports: $Exports<'nightmare/example'>; +} +declare module 'nightmare/lib/actions.js' { + declare module.exports: $Exports<'nightmare/lib/actions'>; +} +declare module 'nightmare/lib/frame-manager.js' { + declare module.exports: $Exports<'nightmare/lib/frame-manager'>; +} +declare module 'nightmare/lib/ipc.js' { + declare module.exports: $Exports<'nightmare/lib/ipc'>; +} +declare module 'nightmare/lib/javascript.js' { + declare module.exports: $Exports<'nightmare/lib/javascript'>; +} +declare module 'nightmare/lib/nightmare.js' { + declare module.exports: $Exports<'nightmare/lib/nightmare'>; +} +declare module 'nightmare/lib/preload.js' { + declare module.exports: $Exports<'nightmare/lib/preload'>; +} +declare module 'nightmare/lib/runner.js' { + declare module.exports: $Exports<'nightmare/lib/runner'>; +} +declare module 'nightmare/test/files/globals.js' { + declare module.exports: $Exports<'nightmare/test/files/globals'>; +} +declare module 'nightmare/test/files/jquery-1.9.0.min.js' { + declare module.exports: $Exports<'nightmare/test/files/jquery-1.9.0.min'>; +} +declare module 'nightmare/test/files/jquery-2.1.1.min.js' { + declare module.exports: $Exports<'nightmare/test/files/jquery-2.1.1.min'>; +} +declare module 'nightmare/test/files/nightmare-created.js' { + declare module.exports: $Exports<'nightmare/test/files/nightmare-created'>; +} +declare module 'nightmare/test/files/nightmare-error.js' { + declare module.exports: $Exports<'nightmare/test/files/nightmare-error'>; +} +declare module 'nightmare/test/files/nightmare-unended.js' { + declare module.exports: $Exports<'nightmare/test/files/nightmare-unended'>; +} +declare module 'nightmare/test/fixtures/preload/index.js' { + declare module.exports: $Exports<'nightmare/test/fixtures/preload/index'>; +} +declare module 'nightmare/test/index.js' { + declare module.exports: $Exports<'nightmare/test/index'>; +} +declare module 'nightmare/test/server.js' { + declare module.exports: $Exports<'nightmare/test/server'>; +} diff --git a/flow-typed/npm/reg-keygen-git-hash-plugin_vx.x.x.js b/flow-typed/npm/reg-keygen-git-hash-plugin_vx.x.x.js new file mode 100644 index 00000000..1a99641d --- /dev/null +++ b/flow-typed/npm/reg-keygen-git-hash-plugin_vx.x.x.js @@ -0,0 +1,46 @@ +// flow-typed signature: 54c4169176d533712d40ce6fd1e6afca +// flow-typed version: <>/reg-keygen-git-hash-plugin_v^0.6.3/flow_v0.63.1 + +/** + * This is an autogenerated libdef stub for: + * + * 'reg-keygen-git-hash-plugin' + * + * Fill this stub out by replacing all the `any` types. + * + * Once filled out, we encourage you to share your work with the + * community by sending a pull request to: + * https://github.com/flowtype/flow-typed + */ + +declare module 'reg-keygen-git-hash-plugin' { + declare module.exports: any; +} + +/** + * We include stubs for each file inside this npm package in case you need to + * require those files directly. Feel free to delete any files that aren't + * needed. + */ +declare module 'reg-keygen-git-hash-plugin/lib/commit-explorer' { + declare module.exports: any; +} + +declare module 'reg-keygen-git-hash-plugin/lib/git-cmd-client' { + declare module.exports: any; +} + +declare module 'reg-keygen-git-hash-plugin/lib/index' { + declare module.exports: any; +} + +// Filename aliases +declare module 'reg-keygen-git-hash-plugin/lib/commit-explorer.js' { + declare module.exports: $Exports<'reg-keygen-git-hash-plugin/lib/commit-explorer'>; +} +declare module 'reg-keygen-git-hash-plugin/lib/git-cmd-client.js' { + declare module.exports: $Exports<'reg-keygen-git-hash-plugin/lib/git-cmd-client'>; +} +declare module 'reg-keygen-git-hash-plugin/lib/index.js' { + declare module.exports: $Exports<'reg-keygen-git-hash-plugin/lib/index'>; +} diff --git a/flow-typed/npm/reg-notify-github-plugin_vx.x.x.js b/flow-typed/npm/reg-notify-github-plugin_vx.x.x.js new file mode 100644 index 00000000..6e1b6ee5 --- /dev/null +++ b/flow-typed/npm/reg-notify-github-plugin_vx.x.x.js @@ -0,0 +1,53 @@ +// flow-typed signature: 2fb36989f7274d45e5d2dcb9d5221ba2 +// flow-typed version: <>/reg-notify-github-plugin_v^0.6.0/flow_v0.63.1 + +/** + * This is an autogenerated libdef stub for: + * + * 'reg-notify-github-plugin' + * + * Fill this stub out by replacing all the `any` types. + * + * Once filled out, we encourage you to share your work with the + * community by sending a pull request to: + * https://github.com/flowtype/flow-typed + */ + +declare module 'reg-notify-github-plugin' { + declare module.exports: any; +} + +/** + * We include stubs for each file inside this npm package in case you need to + * require those files directly. Feel free to delete any files that aren't + * needed. + */ +declare module 'reg-notify-github-plugin/lib/git-config-parser' { + declare module.exports: any; +} + +declare module 'reg-notify-github-plugin/lib/github-notifier-plugin' { + declare module.exports: any; +} + +declare module 'reg-notify-github-plugin/lib/github-preparer' { + declare module.exports: any; +} + +declare module 'reg-notify-github-plugin/lib/index' { + declare module.exports: any; +} + +// Filename aliases +declare module 'reg-notify-github-plugin/lib/git-config-parser.js' { + declare module.exports: $Exports<'reg-notify-github-plugin/lib/git-config-parser'>; +} +declare module 'reg-notify-github-plugin/lib/github-notifier-plugin.js' { + declare module.exports: $Exports<'reg-notify-github-plugin/lib/github-notifier-plugin'>; +} +declare module 'reg-notify-github-plugin/lib/github-preparer.js' { + declare module.exports: $Exports<'reg-notify-github-plugin/lib/github-preparer'>; +} +declare module 'reg-notify-github-plugin/lib/index.js' { + declare module.exports: $Exports<'reg-notify-github-plugin/lib/index'>; +} diff --git a/flow-typed/npm/reg-publish-s3-plugin_vx.x.x.js b/flow-typed/npm/reg-publish-s3-plugin_vx.x.x.js new file mode 100644 index 00000000..11df9e88 --- /dev/null +++ b/flow-typed/npm/reg-publish-s3-plugin_vx.x.x.js @@ -0,0 +1,46 @@ +// flow-typed signature: bba32553c057327629d930d8272be038 +// flow-typed version: <>/reg-publish-s3-plugin_v^0.6.3/flow_v0.63.1 + +/** + * This is an autogenerated libdef stub for: + * + * 'reg-publish-s3-plugin' + * + * Fill this stub out by replacing all the `any` types. + * + * Once filled out, we encourage you to share your work with the + * community by sending a pull request to: + * https://github.com/flowtype/flow-typed + */ + +declare module 'reg-publish-s3-plugin' { + declare module.exports: any; +} + +/** + * We include stubs for each file inside this npm package in case you need to + * require those files directly. Feel free to delete any files that aren't + * needed. + */ +declare module 'reg-publish-s3-plugin/lib/index' { + declare module.exports: any; +} + +declare module 'reg-publish-s3-plugin/lib/s3-bucket-preparer' { + declare module.exports: any; +} + +declare module 'reg-publish-s3-plugin/lib/s3-publisher-plugin' { + declare module.exports: any; +} + +// Filename aliases +declare module 'reg-publish-s3-plugin/lib/index.js' { + declare module.exports: $Exports<'reg-publish-s3-plugin/lib/index'>; +} +declare module 'reg-publish-s3-plugin/lib/s3-bucket-preparer.js' { + declare module.exports: $Exports<'reg-publish-s3-plugin/lib/s3-bucket-preparer'>; +} +declare module 'reg-publish-s3-plugin/lib/s3-publisher-plugin.js' { + declare module.exports: $Exports<'reg-publish-s3-plugin/lib/s3-publisher-plugin'>; +} diff --git a/flow-typed/npm/reg-suit_vx.x.x.js b/flow-typed/npm/reg-suit_vx.x.x.js new file mode 100644 index 00000000..322ed522 --- /dev/null +++ b/flow-typed/npm/reg-suit_vx.x.x.js @@ -0,0 +1,102 @@ +// flow-typed signature: 92deae86ef2a73e2b5b01df0fd0561f7 +// flow-typed version: <>/reg-suit_v^0.6.0/flow_v0.63.1 + +/** + * This is an autogenerated libdef stub for: + * + * 'reg-suit' + * + * Fill this stub out by replacing all the `any` types. + * + * Once filled out, we encourage you to share your work with the + * community by sending a pull request to: + * https://github.com/flowtype/flow-typed + */ + +declare module 'reg-suit' { + declare module.exports: any; +} + +/** + * We include stubs for each file inside this npm package in case you need to + * require those files directly. Feel free to delete any files that aren't + * needed. + */ +declare module 'reg-suit/lib/cli-options' { + declare module.exports: any; +} + +declare module 'reg-suit/lib/cli' { + declare module.exports: any; +} + +declare module 'reg-suit/lib/commands/compare' { + declare module.exports: any; +} + +declare module 'reg-suit/lib/commands/init' { + declare module.exports: any; +} + +declare module 'reg-suit/lib/commands/install' { + declare module.exports: any; +} + +declare module 'reg-suit/lib/commands/prepare' { + declare module.exports: any; +} + +declare module 'reg-suit/lib/commands/publish' { + declare module.exports: any; +} + +declare module 'reg-suit/lib/commands/run' { + declare module.exports: any; +} + +declare module 'reg-suit/lib/commands/sync-expected' { + declare module.exports: any; +} + +declare module 'reg-suit/lib/get-reg-core' { + declare module.exports: any; +} + +declare module 'reg-suit/lib/package-util' { + declare module.exports: any; +} + +// Filename aliases +declare module 'reg-suit/lib/cli-options.js' { + declare module.exports: $Exports<'reg-suit/lib/cli-options'>; +} +declare module 'reg-suit/lib/cli.js' { + declare module.exports: $Exports<'reg-suit/lib/cli'>; +} +declare module 'reg-suit/lib/commands/compare.js' { + declare module.exports: $Exports<'reg-suit/lib/commands/compare'>; +} +declare module 'reg-suit/lib/commands/init.js' { + declare module.exports: $Exports<'reg-suit/lib/commands/init'>; +} +declare module 'reg-suit/lib/commands/install.js' { + declare module.exports: $Exports<'reg-suit/lib/commands/install'>; +} +declare module 'reg-suit/lib/commands/prepare.js' { + declare module.exports: $Exports<'reg-suit/lib/commands/prepare'>; +} +declare module 'reg-suit/lib/commands/publish.js' { + declare module.exports: $Exports<'reg-suit/lib/commands/publish'>; +} +declare module 'reg-suit/lib/commands/run.js' { + declare module.exports: $Exports<'reg-suit/lib/commands/run'>; +} +declare module 'reg-suit/lib/commands/sync-expected.js' { + declare module.exports: $Exports<'reg-suit/lib/commands/sync-expected'>; +} +declare module 'reg-suit/lib/get-reg-core.js' { + declare module.exports: $Exports<'reg-suit/lib/get-reg-core'>; +} +declare module 'reg-suit/lib/package-util.js' { + declare module.exports: $Exports<'reg-suit/lib/package-util'>; +} diff --git a/flow-typed/npm/require-extension-hooks-babel_vx.x.x.js b/flow-typed/npm/require-extension-hooks-babel_vx.x.x.js new file mode 100644 index 00000000..02cf6962 --- /dev/null +++ b/flow-typed/npm/require-extension-hooks-babel_vx.x.x.js @@ -0,0 +1,33 @@ +// flow-typed signature: 7a2a812ee3c97d8039206c3ceef680dc +// flow-typed version: <>/require-extension-hooks-babel_v^0.1.1/flow_v0.63.1 + +/** + * This is an autogenerated libdef stub for: + * + * 'require-extension-hooks-babel' + * + * Fill this stub out by replacing all the `any` types. + * + * Once filled out, we encourage you to share your work with the + * community by sending a pull request to: + * https://github.com/flowtype/flow-typed + */ + +declare module 'require-extension-hooks-babel' { + declare module.exports: any; +} + +/** + * We include stubs for each file inside this npm package in case you need to + * require those files directly. Feel free to delete any files that aren't + * needed. + */ + + +// Filename aliases +declare module 'require-extension-hooks-babel/index' { + declare module.exports: $Exports<'require-extension-hooks-babel'>; +} +declare module 'require-extension-hooks-babel/index.js' { + declare module.exports: $Exports<'require-extension-hooks-babel'>; +} diff --git a/flow-typed/npm/require-extension-hooks-vue_vx.x.x.js b/flow-typed/npm/require-extension-hooks-vue_vx.x.x.js new file mode 100644 index 00000000..cdb38c77 --- /dev/null +++ b/flow-typed/npm/require-extension-hooks-vue_vx.x.x.js @@ -0,0 +1,39 @@ +// flow-typed signature: 5a626c4cdbf2bc8bbf7ab9911b7f0b59 +// flow-typed version: <>/require-extension-hooks-vue_v^0.4.1/flow_v0.63.1 + +/** + * This is an autogenerated libdef stub for: + * + * 'require-extension-hooks-vue' + * + * Fill this stub out by replacing all the `any` types. + * + * Once filled out, we encourage you to share your work with the + * community by sending a pull request to: + * https://github.com/flowtype/flow-typed + */ + +declare module 'require-extension-hooks-vue' { + declare module.exports: any; +} + +/** + * We include stubs for each file inside this npm package in case you need to + * require those files directly. Feel free to delete any files that aren't + * needed. + */ +declare module 'require-extension-hooks-vue/src/index' { + declare module.exports: any; +} + +declare module 'require-extension-hooks-vue/src/renderTemplate' { + declare module.exports: any; +} + +// Filename aliases +declare module 'require-extension-hooks-vue/src/index.js' { + declare module.exports: $Exports<'require-extension-hooks-vue/src/index'>; +} +declare module 'require-extension-hooks-vue/src/renderTemplate.js' { + declare module.exports: $Exports<'require-extension-hooks-vue/src/renderTemplate'>; +} diff --git a/flow-typed/npm/require-extension-hooks_vx.x.x.js b/flow-typed/npm/require-extension-hooks_vx.x.x.js new file mode 100644 index 00000000..5be2ede6 --- /dev/null +++ b/flow-typed/npm/require-extension-hooks_vx.x.x.js @@ -0,0 +1,60 @@ +// flow-typed signature: 0b754ac19405a8a14167f13793adeafb +// flow-typed version: <>/require-extension-hooks_v^0.3.2/flow_v0.63.1 + +/** + * This is an autogenerated libdef stub for: + * + * 'require-extension-hooks' + * + * Fill this stub out by replacing all the `any` types. + * + * Once filled out, we encourage you to share your work with the + * community by sending a pull request to: + * https://github.com/flowtype/flow-typed + */ + +declare module 'require-extension-hooks' { + declare module.exports: any; +} + +/** + * We include stubs for each file inside this npm package in case you need to + * require those files directly. Feel free to delete any files that aren't + * needed. + */ +declare module 'require-extension-hooks/src/api' { + declare module.exports: any; +} + +declare module 'require-extension-hooks/src/cache' { + declare module.exports: any; +} + +declare module 'require-extension-hooks/src/hook' { + declare module.exports: any; +} + +declare module 'require-extension-hooks/src/index' { + declare module.exports: any; +} + +declare module 'require-extension-hooks/src/permaCache' { + declare module.exports: any; +} + +// Filename aliases +declare module 'require-extension-hooks/src/api.js' { + declare module.exports: $Exports<'require-extension-hooks/src/api'>; +} +declare module 'require-extension-hooks/src/cache.js' { + declare module.exports: $Exports<'require-extension-hooks/src/cache'>; +} +declare module 'require-extension-hooks/src/hook.js' { + declare module.exports: $Exports<'require-extension-hooks/src/hook'>; +} +declare module 'require-extension-hooks/src/index.js' { + declare module.exports: $Exports<'require-extension-hooks/src/index'>; +} +declare module 'require-extension-hooks/src/permaCache.js' { + declare module.exports: $Exports<'require-extension-hooks/src/permaCache'>; +} diff --git a/flow-typed/npm/rimraf_v2.x.x.js b/flow-typed/npm/rimraf_v2.x.x.js new file mode 100644 index 00000000..13b85249 --- /dev/null +++ b/flow-typed/npm/rimraf_v2.x.x.js @@ -0,0 +1,18 @@ +// flow-typed signature: 1dff23447d5e18f5ac2b05aaec7cfb74 +// flow-typed version: a453e98ea2/rimraf_v2.x.x/flow_>=v0.25.0 + +declare module 'rimraf' { + declare type Options = { + maxBusyTries?: number, + emfileWait?: number, + glob?: boolean, + disableGlob?: boolean + }; + + declare type Callback = (err: ?Error, path: ?string) => void; + + declare module.exports: { + (f: string, opts?: Options | Callback, callback?: Callback): void; + sync(path: string, opts?: Options): void; + }; +} diff --git a/flow-typed/npm/uglify-js_vx.x.x.js b/flow-typed/npm/uglify-js_vx.x.x.js new file mode 100644 index 00000000..dc335c9e --- /dev/null +++ b/flow-typed/npm/uglify-js_vx.x.x.js @@ -0,0 +1,123 @@ +// flow-typed signature: 2b61eeca24f2e524abec0eb03e0e779a +// flow-typed version: <>/uglify-js_v^3.3.5/flow_v0.63.1 + +/** + * This is an autogenerated libdef stub for: + * + * 'uglify-js' + * + * Fill this stub out by replacing all the `any` types. + * + * Once filled out, we encourage you to share your work with the + * community by sending a pull request to: + * https://github.com/flowtype/flow-typed + */ + +declare module 'uglify-js' { + declare module.exports: any; +} + +/** + * We include stubs for each file inside this npm package in case you need to + * require those files directly. Feel free to delete any files that aren't + * needed. + */ +declare module 'uglify-js/lib/ast' { + declare module.exports: any; +} + +declare module 'uglify-js/lib/compress' { + declare module.exports: any; +} + +declare module 'uglify-js/lib/minify' { + declare module.exports: any; +} + +declare module 'uglify-js/lib/mozilla-ast' { + declare module.exports: any; +} + +declare module 'uglify-js/lib/output' { + declare module.exports: any; +} + +declare module 'uglify-js/lib/parse' { + declare module.exports: any; +} + +declare module 'uglify-js/lib/propmangle' { + declare module.exports: any; +} + +declare module 'uglify-js/lib/scope' { + declare module.exports: any; +} + +declare module 'uglify-js/lib/sourcemap' { + declare module.exports: any; +} + +declare module 'uglify-js/lib/transform' { + declare module.exports: any; +} + +declare module 'uglify-js/lib/utils' { + declare module.exports: any; +} + +declare module 'uglify-js/tools/exit' { + declare module.exports: any; +} + +declare module 'uglify-js/tools/exports' { + declare module.exports: any; +} + +declare module 'uglify-js/tools/node' { + declare module.exports: any; +} + +// Filename aliases +declare module 'uglify-js/lib/ast.js' { + declare module.exports: $Exports<'uglify-js/lib/ast'>; +} +declare module 'uglify-js/lib/compress.js' { + declare module.exports: $Exports<'uglify-js/lib/compress'>; +} +declare module 'uglify-js/lib/minify.js' { + declare module.exports: $Exports<'uglify-js/lib/minify'>; +} +declare module 'uglify-js/lib/mozilla-ast.js' { + declare module.exports: $Exports<'uglify-js/lib/mozilla-ast'>; +} +declare module 'uglify-js/lib/output.js' { + declare module.exports: $Exports<'uglify-js/lib/output'>; +} +declare module 'uglify-js/lib/parse.js' { + declare module.exports: $Exports<'uglify-js/lib/parse'>; +} +declare module 'uglify-js/lib/propmangle.js' { + declare module.exports: $Exports<'uglify-js/lib/propmangle'>; +} +declare module 'uglify-js/lib/scope.js' { + declare module.exports: $Exports<'uglify-js/lib/scope'>; +} +declare module 'uglify-js/lib/sourcemap.js' { + declare module.exports: $Exports<'uglify-js/lib/sourcemap'>; +} +declare module 'uglify-js/lib/transform.js' { + declare module.exports: $Exports<'uglify-js/lib/transform'>; +} +declare module 'uglify-js/lib/utils.js' { + declare module.exports: $Exports<'uglify-js/lib/utils'>; +} +declare module 'uglify-js/tools/exit.js' { + declare module.exports: $Exports<'uglify-js/tools/exit'>; +} +declare module 'uglify-js/tools/exports.js' { + declare module.exports: $Exports<'uglify-js/tools/exports'>; +} +declare module 'uglify-js/tools/node.js' { + declare module.exports: $Exports<'uglify-js/tools/node'>; +} diff --git a/flow-typed/npm/uglifyjs-webpack-plugin_vx.x.x.js b/flow-typed/npm/uglifyjs-webpack-plugin_vx.x.x.js new file mode 100644 index 00000000..0e0772fe --- /dev/null +++ b/flow-typed/npm/uglifyjs-webpack-plugin_vx.x.x.js @@ -0,0 +1,67 @@ +// flow-typed signature: 6308ab9ce123f8b69def77c0fbdf6980 +// flow-typed version: <>/uglifyjs-webpack-plugin_v^1.1.6/flow_v0.63.1 + +/** + * This is an autogenerated libdef stub for: + * + * 'uglifyjs-webpack-plugin' + * + * Fill this stub out by replacing all the `any` types. + * + * Once filled out, we encourage you to share your work with the + * community by sending a pull request to: + * https://github.com/flowtype/flow-typed + */ + +declare module 'uglifyjs-webpack-plugin' { + declare module.exports: any; +} + +/** + * We include stubs for each file inside this npm package in case you need to + * require those files directly. Feel free to delete any files that aren't + * needed. + */ +declare module 'uglifyjs-webpack-plugin/dist/cjs' { + declare module.exports: any; +} + +declare module 'uglifyjs-webpack-plugin/dist/index' { + declare module.exports: any; +} + +declare module 'uglifyjs-webpack-plugin/dist/uglify/index' { + declare module.exports: any; +} + +declare module 'uglifyjs-webpack-plugin/dist/uglify/minify' { + declare module.exports: any; +} + +declare module 'uglifyjs-webpack-plugin/dist/uglify/versions' { + declare module.exports: any; +} + +declare module 'uglifyjs-webpack-plugin/dist/uglify/worker' { + declare module.exports: any; +} + +// Filename aliases +declare module 'uglifyjs-webpack-plugin/dist/cjs.js' { + declare module.exports: $Exports<'uglifyjs-webpack-plugin/dist/cjs'>; +} +declare module 'uglifyjs-webpack-plugin/dist/index.js' { + declare module.exports: $Exports<'uglifyjs-webpack-plugin/dist/index'>; +} +declare module 'uglifyjs-webpack-plugin/dist/uglify/index.js' { + declare module.exports: $Exports<'uglifyjs-webpack-plugin/dist/uglify/index'>; +} +declare module 'uglifyjs-webpack-plugin/dist/uglify/minify.js' { + declare module.exports: $Exports<'uglifyjs-webpack-plugin/dist/uglify/minify'>; +} +declare module 'uglifyjs-webpack-plugin/dist/uglify/versions.js' { + declare module.exports: $Exports<'uglifyjs-webpack-plugin/dist/uglify/versions'>; +} +declare module 'uglifyjs-webpack-plugin/dist/uglify/worker.js' { + declare module.exports: $Exports<'uglifyjs-webpack-plugin/dist/uglify/worker'>; +} diff --git a/flow-typed/npm/url-loader_vx.x.x.js b/flow-typed/npm/url-loader_vx.x.x.js new file mode 100644 index 00000000..944261c7 --- /dev/null +++ b/flow-typed/npm/url-loader_vx.x.x.js @@ -0,0 +1,33 @@ +// flow-typed signature: 256b1b6361a73c147babad793d6e8722 +// flow-typed version: <>/url-loader_v^0.6.2/flow_v0.63.1 + +/** + * This is an autogenerated libdef stub for: + * + * 'url-loader' + * + * Fill this stub out by replacing all the `any` types. + * + * Once filled out, we encourage you to share your work with the + * community by sending a pull request to: + * https://github.com/flowtype/flow-typed + */ + +declare module 'url-loader' { + declare module.exports: any; +} + +/** + * We include stubs for each file inside this npm package in case you need to + * require those files directly. Feel free to delete any files that aren't + * needed. + */ + + +// Filename aliases +declare module 'url-loader/index' { + declare module.exports: $Exports<'url-loader'>; +} +declare module 'url-loader/index.js' { + declare module.exports: $Exports<'url-loader'>; +} diff --git a/flow-typed/npm/vue-lazyload_vx.x.x.js b/flow-typed/npm/vue-lazyload_vx.x.x.js new file mode 100644 index 00000000..541d2f1f --- /dev/null +++ b/flow-typed/npm/vue-lazyload_vx.x.x.js @@ -0,0 +1,74 @@ +// flow-typed signature: 937249951f60d12ebd2510a344c2e278 +// flow-typed version: <>/vue-lazyload_v^1.0.3/flow_v0.63.1 + +/** + * This is an autogenerated libdef stub for: + * + * 'vue-lazyload' + * + * Fill this stub out by replacing all the `any` types. + * + * Once filled out, we encourage you to share your work with the + * community by sending a pull request to: + * https://github.com/flowtype/flow-typed + */ + +declare module 'vue-lazyload' { + declare module.exports: any; +} + +/** + * We include stubs for each file inside this npm package in case you need to + * require those files directly. Feel free to delete any files that aren't + * needed. + */ +declare module 'vue-lazyload/build' { + declare module.exports: any; +} + +declare module 'vue-lazyload/src/index' { + declare module.exports: any; +} + +declare module 'vue-lazyload/src/lazy-component' { + declare module.exports: any; +} + +declare module 'vue-lazyload/src/lazy' { + declare module.exports: any; +} + +declare module 'vue-lazyload/src/listener' { + declare module.exports: any; +} + +declare module 'vue-lazyload/src/util' { + declare module.exports: any; +} + +declare module 'vue-lazyload/vue-lazyload' { + declare module.exports: any; +} + +// Filename aliases +declare module 'vue-lazyload/build.js' { + declare module.exports: $Exports<'vue-lazyload/build'>; +} +declare module 'vue-lazyload/src/index.js' { + declare module.exports: $Exports<'vue-lazyload/src/index'>; +} +declare module 'vue-lazyload/src/lazy-component.js' { + declare module.exports: $Exports<'vue-lazyload/src/lazy-component'>; +} +declare module 'vue-lazyload/src/lazy.js' { + declare module.exports: $Exports<'vue-lazyload/src/lazy'>; +} +declare module 'vue-lazyload/src/listener.js' { + declare module.exports: $Exports<'vue-lazyload/src/listener'>; +} +declare module 'vue-lazyload/src/util.js' { + declare module.exports: $Exports<'vue-lazyload/src/util'>; +} +declare module 'vue-lazyload/vue-lazyload.js' { + declare module.exports: $Exports<'vue-lazyload/vue-lazyload'>; +} diff --git a/flow-typed/npm/vue-loader_vx.x.x.js b/flow-typed/npm/vue-loader_vx.x.x.js new file mode 100644 index 00000000..f8dedd06 --- /dev/null +++ b/flow-typed/npm/vue-loader_vx.x.x.js @@ -0,0 +1,129 @@ +// flow-typed signature: a9660627569f334a4a9753569bd272f9 +// flow-typed version: <>/vue-loader_v~12.2.2/flow_v0.63.1 + +/** + * This is an autogenerated libdef stub for: + * + * 'vue-loader' + * + * Fill this stub out by replacing all the `any` types. + * + * Once filled out, we encourage you to share your work with the + * community by sending a pull request to: + * https://github.com/flowtype/flow-typed + */ + +declare module 'vue-loader' { + declare module.exports: any; +} + +/** + * We include stubs for each file inside this npm package in case you need to + * require those files directly. Feel free to delete any files that aren't + * needed. + */ +declare module 'vue-loader/lib/component-normalizer' { + declare module.exports: any; +} + +declare module 'vue-loader/lib/loader' { + declare module.exports: any; +} + +declare module 'vue-loader/lib/parser' { + declare module.exports: any; +} + +declare module 'vue-loader/lib/selector' { + declare module.exports: any; +} + +declare module 'vue-loader/lib/style-compiler/index' { + declare module.exports: any; +} + +declare module 'vue-loader/lib/style-compiler/load-postcss-config' { + declare module.exports: any; +} + +declare module 'vue-loader/lib/style-compiler/plugins/scope-id' { + declare module.exports: any; +} + +declare module 'vue-loader/lib/style-compiler/plugins/trim' { + declare module.exports: any; +} + +declare module 'vue-loader/lib/template-compiler/index' { + declare module.exports: any; +} + +declare module 'vue-loader/lib/template-compiler/modules/transform-require' { + declare module.exports: any; +} + +declare module 'vue-loader/lib/template-compiler/preprocessor' { + declare module.exports: any; +} + +declare module 'vue-loader/lib/utils/gen-id' { + declare module.exports: any; +} + +declare module 'vue-loader/lib/utils/normalize' { + declare module.exports: any; +} + +declare module 'vue-loader/lib/utils/try-require' { + declare module.exports: any; +} + +// Filename aliases +declare module 'vue-loader/index' { + declare module.exports: $Exports<'vue-loader'>; +} +declare module 'vue-loader/index.js' { + declare module.exports: $Exports<'vue-loader'>; +} +declare module 'vue-loader/lib/component-normalizer.js' { + declare module.exports: $Exports<'vue-loader/lib/component-normalizer'>; +} +declare module 'vue-loader/lib/loader.js' { + declare module.exports: $Exports<'vue-loader/lib/loader'>; +} +declare module 'vue-loader/lib/parser.js' { + declare module.exports: $Exports<'vue-loader/lib/parser'>; +} +declare module 'vue-loader/lib/selector.js' { + declare module.exports: $Exports<'vue-loader/lib/selector'>; +} +declare module 'vue-loader/lib/style-compiler/index.js' { + declare module.exports: $Exports<'vue-loader/lib/style-compiler/index'>; +} +declare module 'vue-loader/lib/style-compiler/load-postcss-config.js' { + declare module.exports: $Exports<'vue-loader/lib/style-compiler/load-postcss-config'>; +} +declare module 'vue-loader/lib/style-compiler/plugins/scope-id.js' { + declare module.exports: $Exports<'vue-loader/lib/style-compiler/plugins/scope-id'>; +} +declare module 'vue-loader/lib/style-compiler/plugins/trim.js' { + declare module.exports: $Exports<'vue-loader/lib/style-compiler/plugins/trim'>; +} +declare module 'vue-loader/lib/template-compiler/index.js' { + declare module.exports: $Exports<'vue-loader/lib/template-compiler/index'>; +} +declare module 'vue-loader/lib/template-compiler/modules/transform-require.js' { + declare module.exports: $Exports<'vue-loader/lib/template-compiler/modules/transform-require'>; +} +declare module 'vue-loader/lib/template-compiler/preprocessor.js' { + declare module.exports: $Exports<'vue-loader/lib/template-compiler/preprocessor'>; +} +declare module 'vue-loader/lib/utils/gen-id.js' { + declare module.exports: $Exports<'vue-loader/lib/utils/gen-id'>; +} +declare module 'vue-loader/lib/utils/normalize.js' { + declare module.exports: $Exports<'vue-loader/lib/utils/normalize'>; +} +declare module 'vue-loader/lib/utils/try-require.js' { + declare module.exports: $Exports<'vue-loader/lib/utils/try-require'>; +} diff --git a/flow-typed/npm/vue-template-compiler_vx.x.x.js b/flow-typed/npm/vue-template-compiler_vx.x.x.js new file mode 100644 index 00000000..5efe3f10 --- /dev/null +++ b/flow-typed/npm/vue-template-compiler_vx.x.x.js @@ -0,0 +1,38 @@ +// flow-typed signature: 4661a03662dabee218c24fe8baf7b302 +// flow-typed version: <>/vue-template-compiler_v^2.3.3/flow_v0.63.1 + +/** + * This is an autogenerated libdef stub for: + * + * 'vue-template-compiler' + * + * Fill this stub out by replacing all the `any` types. + * + * Once filled out, we encourage you to share your work with the + * community by sending a pull request to: + * https://github.com/flowtype/flow-typed + */ + +declare module 'vue-template-compiler' { + declare module.exports: any; +} + +/** + * We include stubs for each file inside this npm package in case you need to + * require those files directly. Feel free to delete any files that aren't + * needed. + */ +declare module 'vue-template-compiler/build' { + declare module.exports: any; +} + +// Filename aliases +declare module 'vue-template-compiler/build.js' { + declare module.exports: $Exports<'vue-template-compiler/build'>; +} +declare module 'vue-template-compiler/index' { + declare module.exports: $Exports<'vue-template-compiler'>; +} +declare module 'vue-template-compiler/index.js' { + declare module.exports: $Exports<'vue-template-compiler'>; +} diff --git a/flow-typed/npm/vue-thin-modal_vx.x.x.js b/flow-typed/npm/vue-thin-modal_vx.x.x.js new file mode 100644 index 00000000..be38ea88 --- /dev/null +++ b/flow-typed/npm/vue-thin-modal_vx.x.x.js @@ -0,0 +1,53 @@ +// flow-typed signature: 4308d4eacd1050d43e2768399b4fc0dd +// flow-typed version: <>/vue-thin-modal_v^0.2.5/flow_v0.63.1 + +/** + * This is an autogenerated libdef stub for: + * + * 'vue-thin-modal' + * + * Fill this stub out by replacing all the `any` types. + * + * Once filled out, we encourage you to share your work with the + * community by sending a pull request to: + * https://github.com/flowtype/flow-typed + */ + +declare module 'vue-thin-modal' { + declare module.exports: any; +} + +/** + * We include stubs for each file inside this npm package in case you need to + * require those files directly. Feel free to delete any files that aren't + * needed. + */ +declare module 'vue-thin-modal/dist/vue-thin-modal.cjs' { + declare module.exports: any; +} + +declare module 'vue-thin-modal/dist/vue-thin-modal.esm' { + declare module.exports: any; +} + +declare module 'vue-thin-modal/dist/vue-thin-modal' { + declare module.exports: any; +} + +declare module 'vue-thin-modal/dist/vue-thin-modal.min' { + declare module.exports: any; +} + +// Filename aliases +declare module 'vue-thin-modal/dist/vue-thin-modal.cjs.js' { + declare module.exports: $Exports<'vue-thin-modal/dist/vue-thin-modal.cjs'>; +} +declare module 'vue-thin-modal/dist/vue-thin-modal.esm.js' { + declare module.exports: $Exports<'vue-thin-modal/dist/vue-thin-modal.esm'>; +} +declare module 'vue-thin-modal/dist/vue-thin-modal.js' { + declare module.exports: $Exports<'vue-thin-modal/dist/vue-thin-modal'>; +} +declare module 'vue-thin-modal/dist/vue-thin-modal.min.js' { + declare module.exports: $Exports<'vue-thin-modal/dist/vue-thin-modal.min'>; +} diff --git a/flow-typed/npm/vue_vx.x.x.js b/flow-typed/npm/vue_vx.x.x.js new file mode 100644 index 00000000..2a30c83f --- /dev/null +++ b/flow-typed/npm/vue_vx.x.x.js @@ -0,0 +1,1264 @@ +// flow-typed signature: a6c6a477ce4893d4ac80623770221a1b +// flow-typed version: <>/vue_v^2.3.3/flow_v0.63.1 + +/** + * This is an autogenerated libdef stub for: + * + * 'vue' + * + * Fill this stub out by replacing all the `any` types. + * + * Once filled out, we encourage you to share your work with the + * community by sending a pull request to: + * https://github.com/flowtype/flow-typed + */ + +declare module 'vue' { + declare module.exports: any; +} + +/** + * We include stubs for each file inside this npm package in case you need to + * require those files directly. Feel free to delete any files that aren't + * needed. + */ +declare module 'vue/dist/vue.common' { + declare module.exports: any; +} + +declare module 'vue/dist/vue.esm' { + declare module.exports: any; +} + +declare module 'vue/dist/vue' { + declare module.exports: any; +} + +declare module 'vue/dist/vue.min' { + declare module.exports: any; +} + +declare module 'vue/dist/vue.runtime.common' { + declare module.exports: any; +} + +declare module 'vue/dist/vue.runtime.esm' { + declare module.exports: any; +} + +declare module 'vue/dist/vue.runtime' { + declare module.exports: any; +} + +declare module 'vue/dist/vue.runtime.min' { + declare module.exports: any; +} + +declare module 'vue/src/compiler/codegen/events' { + declare module.exports: any; +} + +declare module 'vue/src/compiler/codegen/index' { + declare module.exports: any; +} + +declare module 'vue/src/compiler/create-compiler' { + declare module.exports: any; +} + +declare module 'vue/src/compiler/directives/bind' { + declare module.exports: any; +} + +declare module 'vue/src/compiler/directives/index' { + declare module.exports: any; +} + +declare module 'vue/src/compiler/directives/model' { + declare module.exports: any; +} + +declare module 'vue/src/compiler/directives/on' { + declare module.exports: any; +} + +declare module 'vue/src/compiler/error-detector' { + declare module.exports: any; +} + +declare module 'vue/src/compiler/helpers' { + declare module.exports: any; +} + +declare module 'vue/src/compiler/index' { + declare module.exports: any; +} + +declare module 'vue/src/compiler/optimizer' { + declare module.exports: any; +} + +declare module 'vue/src/compiler/parser/entity-decoder' { + declare module.exports: any; +} + +declare module 'vue/src/compiler/parser/filter-parser' { + declare module.exports: any; +} + +declare module 'vue/src/compiler/parser/html-parser' { + declare module.exports: any; +} + +declare module 'vue/src/compiler/parser/index' { + declare module.exports: any; +} + +declare module 'vue/src/compiler/parser/text-parser' { + declare module.exports: any; +} + +declare module 'vue/src/compiler/to-function' { + declare module.exports: any; +} + +declare module 'vue/src/core/components/index' { + declare module.exports: any; +} + +declare module 'vue/src/core/components/keep-alive' { + declare module.exports: any; +} + +declare module 'vue/src/core/config' { + declare module.exports: any; +} + +declare module 'vue/src/core/global-api/assets' { + declare module.exports: any; +} + +declare module 'vue/src/core/global-api/extend' { + declare module.exports: any; +} + +declare module 'vue/src/core/global-api/index' { + declare module.exports: any; +} + +declare module 'vue/src/core/global-api/mixin' { + declare module.exports: any; +} + +declare module 'vue/src/core/global-api/use' { + declare module.exports: any; +} + +declare module 'vue/src/core/index' { + declare module.exports: any; +} + +declare module 'vue/src/core/instance/events' { + declare module.exports: any; +} + +declare module 'vue/src/core/instance/index' { + declare module.exports: any; +} + +declare module 'vue/src/core/instance/init' { + declare module.exports: any; +} + +declare module 'vue/src/core/instance/inject' { + declare module.exports: any; +} + +declare module 'vue/src/core/instance/lifecycle' { + declare module.exports: any; +} + +declare module 'vue/src/core/instance/proxy' { + declare module.exports: any; +} + +declare module 'vue/src/core/instance/render-helpers/bind-object-listeners' { + declare module.exports: any; +} + +declare module 'vue/src/core/instance/render-helpers/bind-object-props' { + declare module.exports: any; +} + +declare module 'vue/src/core/instance/render-helpers/check-keycodes' { + declare module.exports: any; +} + +declare module 'vue/src/core/instance/render-helpers/render-list' { + declare module.exports: any; +} + +declare module 'vue/src/core/instance/render-helpers/render-slot' { + declare module.exports: any; +} + +declare module 'vue/src/core/instance/render-helpers/render-static' { + declare module.exports: any; +} + +declare module 'vue/src/core/instance/render-helpers/resolve-filter' { + declare module.exports: any; +} + +declare module 'vue/src/core/instance/render-helpers/resolve-slots' { + declare module.exports: any; +} + +declare module 'vue/src/core/instance/render' { + declare module.exports: any; +} + +declare module 'vue/src/core/instance/state' { + declare module.exports: any; +} + +declare module 'vue/src/core/observer/array' { + declare module.exports: any; +} + +declare module 'vue/src/core/observer/dep' { + declare module.exports: any; +} + +declare module 'vue/src/core/observer/index' { + declare module.exports: any; +} + +declare module 'vue/src/core/observer/scheduler' { + declare module.exports: any; +} + +declare module 'vue/src/core/observer/watcher' { + declare module.exports: any; +} + +declare module 'vue/src/core/util/debug' { + declare module.exports: any; +} + +declare module 'vue/src/core/util/env' { + declare module.exports: any; +} + +declare module 'vue/src/core/util/error' { + declare module.exports: any; +} + +declare module 'vue/src/core/util/index' { + declare module.exports: any; +} + +declare module 'vue/src/core/util/lang' { + declare module.exports: any; +} + +declare module 'vue/src/core/util/options' { + declare module.exports: any; +} + +declare module 'vue/src/core/util/perf' { + declare module.exports: any; +} + +declare module 'vue/src/core/util/props' { + declare module.exports: any; +} + +declare module 'vue/src/core/vdom/create-component' { + declare module.exports: any; +} + +declare module 'vue/src/core/vdom/create-element' { + declare module.exports: any; +} + +declare module 'vue/src/core/vdom/create-functional-component' { + declare module.exports: any; +} + +declare module 'vue/src/core/vdom/helpers/extract-props' { + declare module.exports: any; +} + +declare module 'vue/src/core/vdom/helpers/get-first-component-child' { + declare module.exports: any; +} + +declare module 'vue/src/core/vdom/helpers/index' { + declare module.exports: any; +} + +declare module 'vue/src/core/vdom/helpers/merge-hook' { + declare module.exports: any; +} + +declare module 'vue/src/core/vdom/helpers/normalize-children' { + declare module.exports: any; +} + +declare module 'vue/src/core/vdom/helpers/resolve-async-component' { + declare module.exports: any; +} + +declare module 'vue/src/core/vdom/helpers/update-listeners' { + declare module.exports: any; +} + +declare module 'vue/src/core/vdom/modules/directives' { + declare module.exports: any; +} + +declare module 'vue/src/core/vdom/modules/index' { + declare module.exports: any; +} + +declare module 'vue/src/core/vdom/modules/ref' { + declare module.exports: any; +} + +declare module 'vue/src/core/vdom/patch' { + declare module.exports: any; +} + +declare module 'vue/src/core/vdom/vnode' { + declare module.exports: any; +} + +declare module 'vue/src/platforms/web/compiler/directives/html' { + declare module.exports: any; +} + +declare module 'vue/src/platforms/web/compiler/directives/index' { + declare module.exports: any; +} + +declare module 'vue/src/platforms/web/compiler/directives/model' { + declare module.exports: any; +} + +declare module 'vue/src/platforms/web/compiler/directives/text' { + declare module.exports: any; +} + +declare module 'vue/src/platforms/web/compiler/index' { + declare module.exports: any; +} + +declare module 'vue/src/platforms/web/compiler/modules/class' { + declare module.exports: any; +} + +declare module 'vue/src/platforms/web/compiler/modules/index' { + declare module.exports: any; +} + +declare module 'vue/src/platforms/web/compiler/modules/style' { + declare module.exports: any; +} + +declare module 'vue/src/platforms/web/compiler/options' { + declare module.exports: any; +} + +declare module 'vue/src/platforms/web/compiler/util' { + declare module.exports: any; +} + +declare module 'vue/src/platforms/web/entry-compiler' { + declare module.exports: any; +} + +declare module 'vue/src/platforms/web/entry-runtime-with-compiler' { + declare module.exports: any; +} + +declare module 'vue/src/platforms/web/entry-runtime' { + declare module.exports: any; +} + +declare module 'vue/src/platforms/web/entry-server-basic-renderer' { + declare module.exports: any; +} + +declare module 'vue/src/platforms/web/entry-server-renderer' { + declare module.exports: any; +} + +declare module 'vue/src/platforms/web/runtime/class-util' { + declare module.exports: any; +} + +declare module 'vue/src/platforms/web/runtime/components/index' { + declare module.exports: any; +} + +declare module 'vue/src/platforms/web/runtime/components/transition-group' { + declare module.exports: any; +} + +declare module 'vue/src/platforms/web/runtime/components/transition' { + declare module.exports: any; +} + +declare module 'vue/src/platforms/web/runtime/directives/index' { + declare module.exports: any; +} + +declare module 'vue/src/platforms/web/runtime/directives/model' { + declare module.exports: any; +} + +declare module 'vue/src/platforms/web/runtime/directives/show' { + declare module.exports: any; +} + +declare module 'vue/src/platforms/web/runtime/index' { + declare module.exports: any; +} + +declare module 'vue/src/platforms/web/runtime/modules/attrs' { + declare module.exports: any; +} + +declare module 'vue/src/platforms/web/runtime/modules/class' { + declare module.exports: any; +} + +declare module 'vue/src/platforms/web/runtime/modules/dom-props' { + declare module.exports: any; +} + +declare module 'vue/src/platforms/web/runtime/modules/events' { + declare module.exports: any; +} + +declare module 'vue/src/platforms/web/runtime/modules/index' { + declare module.exports: any; +} + +declare module 'vue/src/platforms/web/runtime/modules/style' { + declare module.exports: any; +} + +declare module 'vue/src/platforms/web/runtime/modules/transition' { + declare module.exports: any; +} + +declare module 'vue/src/platforms/web/runtime/node-ops' { + declare module.exports: any; +} + +declare module 'vue/src/platforms/web/runtime/patch' { + declare module.exports: any; +} + +declare module 'vue/src/platforms/web/runtime/transition-util' { + declare module.exports: any; +} + +declare module 'vue/src/platforms/web/server/compiler' { + declare module.exports: any; +} + +declare module 'vue/src/platforms/web/server/directives/index' { + declare module.exports: any; +} + +declare module 'vue/src/platforms/web/server/directives/show' { + declare module.exports: any; +} + +declare module 'vue/src/platforms/web/server/modules/attrs' { + declare module.exports: any; +} + +declare module 'vue/src/platforms/web/server/modules/class' { + declare module.exports: any; +} + +declare module 'vue/src/platforms/web/server/modules/dom-props' { + declare module.exports: any; +} + +declare module 'vue/src/platforms/web/server/modules/index' { + declare module.exports: any; +} + +declare module 'vue/src/platforms/web/server/modules/style' { + declare module.exports: any; +} + +declare module 'vue/src/platforms/web/server/util' { + declare module.exports: any; +} + +declare module 'vue/src/platforms/web/util/attrs' { + declare module.exports: any; +} + +declare module 'vue/src/platforms/web/util/class' { + declare module.exports: any; +} + +declare module 'vue/src/platforms/web/util/compat' { + declare module.exports: any; +} + +declare module 'vue/src/platforms/web/util/element' { + declare module.exports: any; +} + +declare module 'vue/src/platforms/web/util/index' { + declare module.exports: any; +} + +declare module 'vue/src/platforms/web/util/style' { + declare module.exports: any; +} + +declare module 'vue/src/platforms/weex/compiler/directives/index' { + declare module.exports: any; +} + +declare module 'vue/src/platforms/weex/compiler/directives/model' { + declare module.exports: any; +} + +declare module 'vue/src/platforms/weex/compiler/index' { + declare module.exports: any; +} + +declare module 'vue/src/platforms/weex/compiler/modules/append' { + declare module.exports: any; +} + +declare module 'vue/src/platforms/weex/compiler/modules/class' { + declare module.exports: any; +} + +declare module 'vue/src/platforms/weex/compiler/modules/index' { + declare module.exports: any; +} + +declare module 'vue/src/platforms/weex/compiler/modules/props' { + declare module.exports: any; +} + +declare module 'vue/src/platforms/weex/compiler/modules/style' { + declare module.exports: any; +} + +declare module 'vue/src/platforms/weex/entry-compiler' { + declare module.exports: any; +} + +declare module 'vue/src/platforms/weex/entry-framework' { + declare module.exports: any; +} + +declare module 'vue/src/platforms/weex/entry-runtime-factory' { + declare module.exports: any; +} + +declare module 'vue/src/platforms/weex/runtime/components/index' { + declare module.exports: any; +} + +declare module 'vue/src/platforms/weex/runtime/components/transition-group' { + declare module.exports: any; +} + +declare module 'vue/src/platforms/weex/runtime/components/transition' { + declare module.exports: any; +} + +declare module 'vue/src/platforms/weex/runtime/directives/index' { + declare module.exports: any; +} + +declare module 'vue/src/platforms/weex/runtime/index' { + declare module.exports: any; +} + +declare module 'vue/src/platforms/weex/runtime/modules/attrs' { + declare module.exports: any; +} + +declare module 'vue/src/platforms/weex/runtime/modules/class' { + declare module.exports: any; +} + +declare module 'vue/src/platforms/weex/runtime/modules/events' { + declare module.exports: any; +} + +declare module 'vue/src/platforms/weex/runtime/modules/index' { + declare module.exports: any; +} + +declare module 'vue/src/platforms/weex/runtime/modules/style' { + declare module.exports: any; +} + +declare module 'vue/src/platforms/weex/runtime/modules/transition' { + declare module.exports: any; +} + +declare module 'vue/src/platforms/weex/runtime/node-ops' { + declare module.exports: any; +} + +declare module 'vue/src/platforms/weex/runtime/patch' { + declare module.exports: any; +} + +declare module 'vue/src/platforms/weex/runtime/text-node' { + declare module.exports: any; +} + +declare module 'vue/src/platforms/weex/util/index' { + declare module.exports: any; +} + +declare module 'vue/src/server/bundle-renderer/create-bundle-renderer' { + declare module.exports: any; +} + +declare module 'vue/src/server/bundle-renderer/create-bundle-runner' { + declare module.exports: any; +} + +declare module 'vue/src/server/bundle-renderer/source-map-support' { + declare module.exports: any; +} + +declare module 'vue/src/server/create-basic-renderer' { + declare module.exports: any; +} + +declare module 'vue/src/server/create-renderer' { + declare module.exports: any; +} + +declare module 'vue/src/server/optimizing-compiler/codegen' { + declare module.exports: any; +} + +declare module 'vue/src/server/optimizing-compiler/index' { + declare module.exports: any; +} + +declare module 'vue/src/server/optimizing-compiler/modules' { + declare module.exports: any; +} + +declare module 'vue/src/server/optimizing-compiler/optimizer' { + declare module.exports: any; +} + +declare module 'vue/src/server/optimizing-compiler/runtime-helpers' { + declare module.exports: any; +} + +declare module 'vue/src/server/render-context' { + declare module.exports: any; +} + +declare module 'vue/src/server/render-stream' { + declare module.exports: any; +} + +declare module 'vue/src/server/render' { + declare module.exports: any; +} + +declare module 'vue/src/server/template-renderer/create-async-file-mapper' { + declare module.exports: any; +} + +declare module 'vue/src/server/template-renderer/index' { + declare module.exports: any; +} + +declare module 'vue/src/server/template-renderer/parse-template' { + declare module.exports: any; +} + +declare module 'vue/src/server/template-renderer/template-stream' { + declare module.exports: any; +} + +declare module 'vue/src/server/util' { + declare module.exports: any; +} + +declare module 'vue/src/server/webpack-plugin/client' { + declare module.exports: any; +} + +declare module 'vue/src/server/webpack-plugin/server' { + declare module.exports: any; +} + +declare module 'vue/src/server/webpack-plugin/util' { + declare module.exports: any; +} + +declare module 'vue/src/server/write' { + declare module.exports: any; +} + +declare module 'vue/src/sfc/parser' { + declare module.exports: any; +} + +declare module 'vue/src/shared/constants' { + declare module.exports: any; +} + +declare module 'vue/src/shared/util' { + declare module.exports: any; +} + +// Filename aliases +declare module 'vue/dist/vue.common.js' { + declare module.exports: $Exports<'vue/dist/vue.common'>; +} +declare module 'vue/dist/vue.esm.js' { + declare module.exports: $Exports<'vue/dist/vue.esm'>; +} +declare module 'vue/dist/vue.js' { + declare module.exports: $Exports<'vue/dist/vue'>; +} +declare module 'vue/dist/vue.min.js' { + declare module.exports: $Exports<'vue/dist/vue.min'>; +} +declare module 'vue/dist/vue.runtime.common.js' { + declare module.exports: $Exports<'vue/dist/vue.runtime.common'>; +} +declare module 'vue/dist/vue.runtime.esm.js' { + declare module.exports: $Exports<'vue/dist/vue.runtime.esm'>; +} +declare module 'vue/dist/vue.runtime.js' { + declare module.exports: $Exports<'vue/dist/vue.runtime'>; +} +declare module 'vue/dist/vue.runtime.min.js' { + declare module.exports: $Exports<'vue/dist/vue.runtime.min'>; +} +declare module 'vue/src/compiler/codegen/events.js' { + declare module.exports: $Exports<'vue/src/compiler/codegen/events'>; +} +declare module 'vue/src/compiler/codegen/index.js' { + declare module.exports: $Exports<'vue/src/compiler/codegen/index'>; +} +declare module 'vue/src/compiler/create-compiler.js' { + declare module.exports: $Exports<'vue/src/compiler/create-compiler'>; +} +declare module 'vue/src/compiler/directives/bind.js' { + declare module.exports: $Exports<'vue/src/compiler/directives/bind'>; +} +declare module 'vue/src/compiler/directives/index.js' { + declare module.exports: $Exports<'vue/src/compiler/directives/index'>; +} +declare module 'vue/src/compiler/directives/model.js' { + declare module.exports: $Exports<'vue/src/compiler/directives/model'>; +} +declare module 'vue/src/compiler/directives/on.js' { + declare module.exports: $Exports<'vue/src/compiler/directives/on'>; +} +declare module 'vue/src/compiler/error-detector.js' { + declare module.exports: $Exports<'vue/src/compiler/error-detector'>; +} +declare module 'vue/src/compiler/helpers.js' { + declare module.exports: $Exports<'vue/src/compiler/helpers'>; +} +declare module 'vue/src/compiler/index.js' { + declare module.exports: $Exports<'vue/src/compiler/index'>; +} +declare module 'vue/src/compiler/optimizer.js' { + declare module.exports: $Exports<'vue/src/compiler/optimizer'>; +} +declare module 'vue/src/compiler/parser/entity-decoder.js' { + declare module.exports: $Exports<'vue/src/compiler/parser/entity-decoder'>; +} +declare module 'vue/src/compiler/parser/filter-parser.js' { + declare module.exports: $Exports<'vue/src/compiler/parser/filter-parser'>; +} +declare module 'vue/src/compiler/parser/html-parser.js' { + declare module.exports: $Exports<'vue/src/compiler/parser/html-parser'>; +} +declare module 'vue/src/compiler/parser/index.js' { + declare module.exports: $Exports<'vue/src/compiler/parser/index'>; +} +declare module 'vue/src/compiler/parser/text-parser.js' { + declare module.exports: $Exports<'vue/src/compiler/parser/text-parser'>; +} +declare module 'vue/src/compiler/to-function.js' { + declare module.exports: $Exports<'vue/src/compiler/to-function'>; +} +declare module 'vue/src/core/components/index.js' { + declare module.exports: $Exports<'vue/src/core/components/index'>; +} +declare module 'vue/src/core/components/keep-alive.js' { + declare module.exports: $Exports<'vue/src/core/components/keep-alive'>; +} +declare module 'vue/src/core/config.js' { + declare module.exports: $Exports<'vue/src/core/config'>; +} +declare module 'vue/src/core/global-api/assets.js' { + declare module.exports: $Exports<'vue/src/core/global-api/assets'>; +} +declare module 'vue/src/core/global-api/extend.js' { + declare module.exports: $Exports<'vue/src/core/global-api/extend'>; +} +declare module 'vue/src/core/global-api/index.js' { + declare module.exports: $Exports<'vue/src/core/global-api/index'>; +} +declare module 'vue/src/core/global-api/mixin.js' { + declare module.exports: $Exports<'vue/src/core/global-api/mixin'>; +} +declare module 'vue/src/core/global-api/use.js' { + declare module.exports: $Exports<'vue/src/core/global-api/use'>; +} +declare module 'vue/src/core/index.js' { + declare module.exports: $Exports<'vue/src/core/index'>; +} +declare module 'vue/src/core/instance/events.js' { + declare module.exports: $Exports<'vue/src/core/instance/events'>; +} +declare module 'vue/src/core/instance/index.js' { + declare module.exports: $Exports<'vue/src/core/instance/index'>; +} +declare module 'vue/src/core/instance/init.js' { + declare module.exports: $Exports<'vue/src/core/instance/init'>; +} +declare module 'vue/src/core/instance/inject.js' { + declare module.exports: $Exports<'vue/src/core/instance/inject'>; +} +declare module 'vue/src/core/instance/lifecycle.js' { + declare module.exports: $Exports<'vue/src/core/instance/lifecycle'>; +} +declare module 'vue/src/core/instance/proxy.js' { + declare module.exports: $Exports<'vue/src/core/instance/proxy'>; +} +declare module 'vue/src/core/instance/render-helpers/bind-object-listeners.js' { + declare module.exports: $Exports<'vue/src/core/instance/render-helpers/bind-object-listeners'>; +} +declare module 'vue/src/core/instance/render-helpers/bind-object-props.js' { + declare module.exports: $Exports<'vue/src/core/instance/render-helpers/bind-object-props'>; +} +declare module 'vue/src/core/instance/render-helpers/check-keycodes.js' { + declare module.exports: $Exports<'vue/src/core/instance/render-helpers/check-keycodes'>; +} +declare module 'vue/src/core/instance/render-helpers/render-list.js' { + declare module.exports: $Exports<'vue/src/core/instance/render-helpers/render-list'>; +} +declare module 'vue/src/core/instance/render-helpers/render-slot.js' { + declare module.exports: $Exports<'vue/src/core/instance/render-helpers/render-slot'>; +} +declare module 'vue/src/core/instance/render-helpers/render-static.js' { + declare module.exports: $Exports<'vue/src/core/instance/render-helpers/render-static'>; +} +declare module 'vue/src/core/instance/render-helpers/resolve-filter.js' { + declare module.exports: $Exports<'vue/src/core/instance/render-helpers/resolve-filter'>; +} +declare module 'vue/src/core/instance/render-helpers/resolve-slots.js' { + declare module.exports: $Exports<'vue/src/core/instance/render-helpers/resolve-slots'>; +} +declare module 'vue/src/core/instance/render.js' { + declare module.exports: $Exports<'vue/src/core/instance/render'>; +} +declare module 'vue/src/core/instance/state.js' { + declare module.exports: $Exports<'vue/src/core/instance/state'>; +} +declare module 'vue/src/core/observer/array.js' { + declare module.exports: $Exports<'vue/src/core/observer/array'>; +} +declare module 'vue/src/core/observer/dep.js' { + declare module.exports: $Exports<'vue/src/core/observer/dep'>; +} +declare module 'vue/src/core/observer/index.js' { + declare module.exports: $Exports<'vue/src/core/observer/index'>; +} +declare module 'vue/src/core/observer/scheduler.js' { + declare module.exports: $Exports<'vue/src/core/observer/scheduler'>; +} +declare module 'vue/src/core/observer/watcher.js' { + declare module.exports: $Exports<'vue/src/core/observer/watcher'>; +} +declare module 'vue/src/core/util/debug.js' { + declare module.exports: $Exports<'vue/src/core/util/debug'>; +} +declare module 'vue/src/core/util/env.js' { + declare module.exports: $Exports<'vue/src/core/util/env'>; +} +declare module 'vue/src/core/util/error.js' { + declare module.exports: $Exports<'vue/src/core/util/error'>; +} +declare module 'vue/src/core/util/index.js' { + declare module.exports: $Exports<'vue/src/core/util/index'>; +} +declare module 'vue/src/core/util/lang.js' { + declare module.exports: $Exports<'vue/src/core/util/lang'>; +} +declare module 'vue/src/core/util/options.js' { + declare module.exports: $Exports<'vue/src/core/util/options'>; +} +declare module 'vue/src/core/util/perf.js' { + declare module.exports: $Exports<'vue/src/core/util/perf'>; +} +declare module 'vue/src/core/util/props.js' { + declare module.exports: $Exports<'vue/src/core/util/props'>; +} +declare module 'vue/src/core/vdom/create-component.js' { + declare module.exports: $Exports<'vue/src/core/vdom/create-component'>; +} +declare module 'vue/src/core/vdom/create-element.js' { + declare module.exports: $Exports<'vue/src/core/vdom/create-element'>; +} +declare module 'vue/src/core/vdom/create-functional-component.js' { + declare module.exports: $Exports<'vue/src/core/vdom/create-functional-component'>; +} +declare module 'vue/src/core/vdom/helpers/extract-props.js' { + declare module.exports: $Exports<'vue/src/core/vdom/helpers/extract-props'>; +} +declare module 'vue/src/core/vdom/helpers/get-first-component-child.js' { + declare module.exports: $Exports<'vue/src/core/vdom/helpers/get-first-component-child'>; +} +declare module 'vue/src/core/vdom/helpers/index.js' { + declare module.exports: $Exports<'vue/src/core/vdom/helpers/index'>; +} +declare module 'vue/src/core/vdom/helpers/merge-hook.js' { + declare module.exports: $Exports<'vue/src/core/vdom/helpers/merge-hook'>; +} +declare module 'vue/src/core/vdom/helpers/normalize-children.js' { + declare module.exports: $Exports<'vue/src/core/vdom/helpers/normalize-children'>; +} +declare module 'vue/src/core/vdom/helpers/resolve-async-component.js' { + declare module.exports: $Exports<'vue/src/core/vdom/helpers/resolve-async-component'>; +} +declare module 'vue/src/core/vdom/helpers/update-listeners.js' { + declare module.exports: $Exports<'vue/src/core/vdom/helpers/update-listeners'>; +} +declare module 'vue/src/core/vdom/modules/directives.js' { + declare module.exports: $Exports<'vue/src/core/vdom/modules/directives'>; +} +declare module 'vue/src/core/vdom/modules/index.js' { + declare module.exports: $Exports<'vue/src/core/vdom/modules/index'>; +} +declare module 'vue/src/core/vdom/modules/ref.js' { + declare module.exports: $Exports<'vue/src/core/vdom/modules/ref'>; +} +declare module 'vue/src/core/vdom/patch.js' { + declare module.exports: $Exports<'vue/src/core/vdom/patch'>; +} +declare module 'vue/src/core/vdom/vnode.js' { + declare module.exports: $Exports<'vue/src/core/vdom/vnode'>; +} +declare module 'vue/src/platforms/web/compiler/directives/html.js' { + declare module.exports: $Exports<'vue/src/platforms/web/compiler/directives/html'>; +} +declare module 'vue/src/platforms/web/compiler/directives/index.js' { + declare module.exports: $Exports<'vue/src/platforms/web/compiler/directives/index'>; +} +declare module 'vue/src/platforms/web/compiler/directives/model.js' { + declare module.exports: $Exports<'vue/src/platforms/web/compiler/directives/model'>; +} +declare module 'vue/src/platforms/web/compiler/directives/text.js' { + declare module.exports: $Exports<'vue/src/platforms/web/compiler/directives/text'>; +} +declare module 'vue/src/platforms/web/compiler/index.js' { + declare module.exports: $Exports<'vue/src/platforms/web/compiler/index'>; +} +declare module 'vue/src/platforms/web/compiler/modules/class.js' { + declare module.exports: $Exports<'vue/src/platforms/web/compiler/modules/class'>; +} +declare module 'vue/src/platforms/web/compiler/modules/index.js' { + declare module.exports: $Exports<'vue/src/platforms/web/compiler/modules/index'>; +} +declare module 'vue/src/platforms/web/compiler/modules/style.js' { + declare module.exports: $Exports<'vue/src/platforms/web/compiler/modules/style'>; +} +declare module 'vue/src/platforms/web/compiler/options.js' { + declare module.exports: $Exports<'vue/src/platforms/web/compiler/options'>; +} +declare module 'vue/src/platforms/web/compiler/util.js' { + declare module.exports: $Exports<'vue/src/platforms/web/compiler/util'>; +} +declare module 'vue/src/platforms/web/entry-compiler.js' { + declare module.exports: $Exports<'vue/src/platforms/web/entry-compiler'>; +} +declare module 'vue/src/platforms/web/entry-runtime-with-compiler.js' { + declare module.exports: $Exports<'vue/src/platforms/web/entry-runtime-with-compiler'>; +} +declare module 'vue/src/platforms/web/entry-runtime.js' { + declare module.exports: $Exports<'vue/src/platforms/web/entry-runtime'>; +} +declare module 'vue/src/platforms/web/entry-server-basic-renderer.js' { + declare module.exports: $Exports<'vue/src/platforms/web/entry-server-basic-renderer'>; +} +declare module 'vue/src/platforms/web/entry-server-renderer.js' { + declare module.exports: $Exports<'vue/src/platforms/web/entry-server-renderer'>; +} +declare module 'vue/src/platforms/web/runtime/class-util.js' { + declare module.exports: $Exports<'vue/src/platforms/web/runtime/class-util'>; +} +declare module 'vue/src/platforms/web/runtime/components/index.js' { + declare module.exports: $Exports<'vue/src/platforms/web/runtime/components/index'>; +} +declare module 'vue/src/platforms/web/runtime/components/transition-group.js' { + declare module.exports: $Exports<'vue/src/platforms/web/runtime/components/transition-group'>; +} +declare module 'vue/src/platforms/web/runtime/components/transition.js' { + declare module.exports: $Exports<'vue/src/platforms/web/runtime/components/transition'>; +} +declare module 'vue/src/platforms/web/runtime/directives/index.js' { + declare module.exports: $Exports<'vue/src/platforms/web/runtime/directives/index'>; +} +declare module 'vue/src/platforms/web/runtime/directives/model.js' { + declare module.exports: $Exports<'vue/src/platforms/web/runtime/directives/model'>; +} +declare module 'vue/src/platforms/web/runtime/directives/show.js' { + declare module.exports: $Exports<'vue/src/platforms/web/runtime/directives/show'>; +} +declare module 'vue/src/platforms/web/runtime/index.js' { + declare module.exports: $Exports<'vue/src/platforms/web/runtime/index'>; +} +declare module 'vue/src/platforms/web/runtime/modules/attrs.js' { + declare module.exports: $Exports<'vue/src/platforms/web/runtime/modules/attrs'>; +} +declare module 'vue/src/platforms/web/runtime/modules/class.js' { + declare module.exports: $Exports<'vue/src/platforms/web/runtime/modules/class'>; +} +declare module 'vue/src/platforms/web/runtime/modules/dom-props.js' { + declare module.exports: $Exports<'vue/src/platforms/web/runtime/modules/dom-props'>; +} +declare module 'vue/src/platforms/web/runtime/modules/events.js' { + declare module.exports: $Exports<'vue/src/platforms/web/runtime/modules/events'>; +} +declare module 'vue/src/platforms/web/runtime/modules/index.js' { + declare module.exports: $Exports<'vue/src/platforms/web/runtime/modules/index'>; +} +declare module 'vue/src/platforms/web/runtime/modules/style.js' { + declare module.exports: $Exports<'vue/src/platforms/web/runtime/modules/style'>; +} +declare module 'vue/src/platforms/web/runtime/modules/transition.js' { + declare module.exports: $Exports<'vue/src/platforms/web/runtime/modules/transition'>; +} +declare module 'vue/src/platforms/web/runtime/node-ops.js' { + declare module.exports: $Exports<'vue/src/platforms/web/runtime/node-ops'>; +} +declare module 'vue/src/platforms/web/runtime/patch.js' { + declare module.exports: $Exports<'vue/src/platforms/web/runtime/patch'>; +} +declare module 'vue/src/platforms/web/runtime/transition-util.js' { + declare module.exports: $Exports<'vue/src/platforms/web/runtime/transition-util'>; +} +declare module 'vue/src/platforms/web/server/compiler.js' { + declare module.exports: $Exports<'vue/src/platforms/web/server/compiler'>; +} +declare module 'vue/src/platforms/web/server/directives/index.js' { + declare module.exports: $Exports<'vue/src/platforms/web/server/directives/index'>; +} +declare module 'vue/src/platforms/web/server/directives/show.js' { + declare module.exports: $Exports<'vue/src/platforms/web/server/directives/show'>; +} +declare module 'vue/src/platforms/web/server/modules/attrs.js' { + declare module.exports: $Exports<'vue/src/platforms/web/server/modules/attrs'>; +} +declare module 'vue/src/platforms/web/server/modules/class.js' { + declare module.exports: $Exports<'vue/src/platforms/web/server/modules/class'>; +} +declare module 'vue/src/platforms/web/server/modules/dom-props.js' { + declare module.exports: $Exports<'vue/src/platforms/web/server/modules/dom-props'>; +} +declare module 'vue/src/platforms/web/server/modules/index.js' { + declare module.exports: $Exports<'vue/src/platforms/web/server/modules/index'>; +} +declare module 'vue/src/platforms/web/server/modules/style.js' { + declare module.exports: $Exports<'vue/src/platforms/web/server/modules/style'>; +} +declare module 'vue/src/platforms/web/server/util.js' { + declare module.exports: $Exports<'vue/src/platforms/web/server/util'>; +} +declare module 'vue/src/platforms/web/util/attrs.js' { + declare module.exports: $Exports<'vue/src/platforms/web/util/attrs'>; +} +declare module 'vue/src/platforms/web/util/class.js' { + declare module.exports: $Exports<'vue/src/platforms/web/util/class'>; +} +declare module 'vue/src/platforms/web/util/compat.js' { + declare module.exports: $Exports<'vue/src/platforms/web/util/compat'>; +} +declare module 'vue/src/platforms/web/util/element.js' { + declare module.exports: $Exports<'vue/src/platforms/web/util/element'>; +} +declare module 'vue/src/platforms/web/util/index.js' { + declare module.exports: $Exports<'vue/src/platforms/web/util/index'>; +} +declare module 'vue/src/platforms/web/util/style.js' { + declare module.exports: $Exports<'vue/src/platforms/web/util/style'>; +} +declare module 'vue/src/platforms/weex/compiler/directives/index.js' { + declare module.exports: $Exports<'vue/src/platforms/weex/compiler/directives/index'>; +} +declare module 'vue/src/platforms/weex/compiler/directives/model.js' { + declare module.exports: $Exports<'vue/src/platforms/weex/compiler/directives/model'>; +} +declare module 'vue/src/platforms/weex/compiler/index.js' { + declare module.exports: $Exports<'vue/src/platforms/weex/compiler/index'>; +} +declare module 'vue/src/platforms/weex/compiler/modules/append.js' { + declare module.exports: $Exports<'vue/src/platforms/weex/compiler/modules/append'>; +} +declare module 'vue/src/platforms/weex/compiler/modules/class.js' { + declare module.exports: $Exports<'vue/src/platforms/weex/compiler/modules/class'>; +} +declare module 'vue/src/platforms/weex/compiler/modules/index.js' { + declare module.exports: $Exports<'vue/src/platforms/weex/compiler/modules/index'>; +} +declare module 'vue/src/platforms/weex/compiler/modules/props.js' { + declare module.exports: $Exports<'vue/src/platforms/weex/compiler/modules/props'>; +} +declare module 'vue/src/platforms/weex/compiler/modules/style.js' { + declare module.exports: $Exports<'vue/src/platforms/weex/compiler/modules/style'>; +} +declare module 'vue/src/platforms/weex/entry-compiler.js' { + declare module.exports: $Exports<'vue/src/platforms/weex/entry-compiler'>; +} +declare module 'vue/src/platforms/weex/entry-framework.js' { + declare module.exports: $Exports<'vue/src/platforms/weex/entry-framework'>; +} +declare module 'vue/src/platforms/weex/entry-runtime-factory.js' { + declare module.exports: $Exports<'vue/src/platforms/weex/entry-runtime-factory'>; +} +declare module 'vue/src/platforms/weex/runtime/components/index.js' { + declare module.exports: $Exports<'vue/src/platforms/weex/runtime/components/index'>; +} +declare module 'vue/src/platforms/weex/runtime/components/transition-group.js' { + declare module.exports: $Exports<'vue/src/platforms/weex/runtime/components/transition-group'>; +} +declare module 'vue/src/platforms/weex/runtime/components/transition.js' { + declare module.exports: $Exports<'vue/src/platforms/weex/runtime/components/transition'>; +} +declare module 'vue/src/platforms/weex/runtime/directives/index.js' { + declare module.exports: $Exports<'vue/src/platforms/weex/runtime/directives/index'>; +} +declare module 'vue/src/platforms/weex/runtime/index.js' { + declare module.exports: $Exports<'vue/src/platforms/weex/runtime/index'>; +} +declare module 'vue/src/platforms/weex/runtime/modules/attrs.js' { + declare module.exports: $Exports<'vue/src/platforms/weex/runtime/modules/attrs'>; +} +declare module 'vue/src/platforms/weex/runtime/modules/class.js' { + declare module.exports: $Exports<'vue/src/platforms/weex/runtime/modules/class'>; +} +declare module 'vue/src/platforms/weex/runtime/modules/events.js' { + declare module.exports: $Exports<'vue/src/platforms/weex/runtime/modules/events'>; +} +declare module 'vue/src/platforms/weex/runtime/modules/index.js' { + declare module.exports: $Exports<'vue/src/platforms/weex/runtime/modules/index'>; +} +declare module 'vue/src/platforms/weex/runtime/modules/style.js' { + declare module.exports: $Exports<'vue/src/platforms/weex/runtime/modules/style'>; +} +declare module 'vue/src/platforms/weex/runtime/modules/transition.js' { + declare module.exports: $Exports<'vue/src/platforms/weex/runtime/modules/transition'>; +} +declare module 'vue/src/platforms/weex/runtime/node-ops.js' { + declare module.exports: $Exports<'vue/src/platforms/weex/runtime/node-ops'>; +} +declare module 'vue/src/platforms/weex/runtime/patch.js' { + declare module.exports: $Exports<'vue/src/platforms/weex/runtime/patch'>; +} +declare module 'vue/src/platforms/weex/runtime/text-node.js' { + declare module.exports: $Exports<'vue/src/platforms/weex/runtime/text-node'>; +} +declare module 'vue/src/platforms/weex/util/index.js' { + declare module.exports: $Exports<'vue/src/platforms/weex/util/index'>; +} +declare module 'vue/src/server/bundle-renderer/create-bundle-renderer.js' { + declare module.exports: $Exports<'vue/src/server/bundle-renderer/create-bundle-renderer'>; +} +declare module 'vue/src/server/bundle-renderer/create-bundle-runner.js' { + declare module.exports: $Exports<'vue/src/server/bundle-renderer/create-bundle-runner'>; +} +declare module 'vue/src/server/bundle-renderer/source-map-support.js' { + declare module.exports: $Exports<'vue/src/server/bundle-renderer/source-map-support'>; +} +declare module 'vue/src/server/create-basic-renderer.js' { + declare module.exports: $Exports<'vue/src/server/create-basic-renderer'>; +} +declare module 'vue/src/server/create-renderer.js' { + declare module.exports: $Exports<'vue/src/server/create-renderer'>; +} +declare module 'vue/src/server/optimizing-compiler/codegen.js' { + declare module.exports: $Exports<'vue/src/server/optimizing-compiler/codegen'>; +} +declare module 'vue/src/server/optimizing-compiler/index.js' { + declare module.exports: $Exports<'vue/src/server/optimizing-compiler/index'>; +} +declare module 'vue/src/server/optimizing-compiler/modules.js' { + declare module.exports: $Exports<'vue/src/server/optimizing-compiler/modules'>; +} +declare module 'vue/src/server/optimizing-compiler/optimizer.js' { + declare module.exports: $Exports<'vue/src/server/optimizing-compiler/optimizer'>; +} +declare module 'vue/src/server/optimizing-compiler/runtime-helpers.js' { + declare module.exports: $Exports<'vue/src/server/optimizing-compiler/runtime-helpers'>; +} +declare module 'vue/src/server/render-context.js' { + declare module.exports: $Exports<'vue/src/server/render-context'>; +} +declare module 'vue/src/server/render-stream.js' { + declare module.exports: $Exports<'vue/src/server/render-stream'>; +} +declare module 'vue/src/server/render.js' { + declare module.exports: $Exports<'vue/src/server/render'>; +} +declare module 'vue/src/server/template-renderer/create-async-file-mapper.js' { + declare module.exports: $Exports<'vue/src/server/template-renderer/create-async-file-mapper'>; +} +declare module 'vue/src/server/template-renderer/index.js' { + declare module.exports: $Exports<'vue/src/server/template-renderer/index'>; +} +declare module 'vue/src/server/template-renderer/parse-template.js' { + declare module.exports: $Exports<'vue/src/server/template-renderer/parse-template'>; +} +declare module 'vue/src/server/template-renderer/template-stream.js' { + declare module.exports: $Exports<'vue/src/server/template-renderer/template-stream'>; +} +declare module 'vue/src/server/util.js' { + declare module.exports: $Exports<'vue/src/server/util'>; +} +declare module 'vue/src/server/webpack-plugin/client.js' { + declare module.exports: $Exports<'vue/src/server/webpack-plugin/client'>; +} +declare module 'vue/src/server/webpack-plugin/server.js' { + declare module.exports: $Exports<'vue/src/server/webpack-plugin/server'>; +} +declare module 'vue/src/server/webpack-plugin/util.js' { + declare module.exports: $Exports<'vue/src/server/webpack-plugin/util'>; +} +declare module 'vue/src/server/write.js' { + declare module.exports: $Exports<'vue/src/server/write'>; +} +declare module 'vue/src/sfc/parser.js' { + declare module.exports: $Exports<'vue/src/sfc/parser'>; +} +declare module 'vue/src/shared/constants.js' { + declare module.exports: $Exports<'vue/src/shared/constants'>; +} +declare module 'vue/src/shared/util.js' { + declare module.exports: $Exports<'vue/src/shared/util'>; +} diff --git a/flow-typed/npm/webpack-dev-server_vx.x.x.js b/flow-typed/npm/webpack-dev-server_vx.x.x.js new file mode 100644 index 00000000..34261521 --- /dev/null +++ b/flow-typed/npm/webpack-dev-server_vx.x.x.js @@ -0,0 +1,151 @@ +// flow-typed signature: 162893f2e7d568a32f79aed973446735 +// flow-typed version: <>/webpack-dev-server_v^2.10.0/flow_v0.63.1 + +/** + * This is an autogenerated libdef stub for: + * + * 'webpack-dev-server' + * + * Fill this stub out by replacing all the `any` types. + * + * Once filled out, we encourage you to share your work with the + * community by sending a pull request to: + * https://github.com/flowtype/flow-typed + */ + +declare module 'webpack-dev-server' { + declare module.exports: any; +} + +/** + * We include stubs for each file inside this npm package in case you need to + * require those files directly. Feel free to delete any files that aren't + * needed. + */ +declare module 'webpack-dev-server/bin/webpack-dev-server' { + declare module.exports: any; +} + +declare module 'webpack-dev-server/client/index.bundle' { + declare module.exports: any; +} + +declare module 'webpack-dev-server/client/index' { + declare module.exports: any; +} + +declare module 'webpack-dev-server/client/live.bundle' { + declare module.exports: any; +} + +declare module 'webpack-dev-server/client/live' { + declare module.exports: any; +} + +declare module 'webpack-dev-server/client/overlay' { + declare module.exports: any; +} + +declare module 'webpack-dev-server/client/socket' { + declare module.exports: any; +} + +declare module 'webpack-dev-server/client/sockjs.bundle' { + declare module.exports: any; +} + +declare module 'webpack-dev-server/client/sockjs' { + declare module.exports: any; +} + +declare module 'webpack-dev-server/client/web_modules/jquery/index' { + declare module.exports: any; +} + +declare module 'webpack-dev-server/client/web_modules/jquery/jquery-1.8.1' { + declare module.exports: any; +} + +declare module 'webpack-dev-server/client/webpack.config' { + declare module.exports: any; +} + +declare module 'webpack-dev-server/client/webpack.sockjs.config' { + declare module.exports: any; +} + +declare module 'webpack-dev-server/lib/OptionsValidationError' { + declare module.exports: any; +} + +declare module 'webpack-dev-server/lib/polyfills' { + declare module.exports: any; +} + +declare module 'webpack-dev-server/lib/Server' { + declare module.exports: any; +} + +declare module 'webpack-dev-server/lib/util/addDevServerEntrypoints' { + declare module.exports: any; +} + +declare module 'webpack-dev-server/lib/util/createDomain' { + declare module.exports: any; +} + +// Filename aliases +declare module 'webpack-dev-server/bin/webpack-dev-server.js' { + declare module.exports: $Exports<'webpack-dev-server/bin/webpack-dev-server'>; +} +declare module 'webpack-dev-server/client/index.bundle.js' { + declare module.exports: $Exports<'webpack-dev-server/client/index.bundle'>; +} +declare module 'webpack-dev-server/client/index.js' { + declare module.exports: $Exports<'webpack-dev-server/client/index'>; +} +declare module 'webpack-dev-server/client/live.bundle.js' { + declare module.exports: $Exports<'webpack-dev-server/client/live.bundle'>; +} +declare module 'webpack-dev-server/client/live.js' { + declare module.exports: $Exports<'webpack-dev-server/client/live'>; +} +declare module 'webpack-dev-server/client/overlay.js' { + declare module.exports: $Exports<'webpack-dev-server/client/overlay'>; +} +declare module 'webpack-dev-server/client/socket.js' { + declare module.exports: $Exports<'webpack-dev-server/client/socket'>; +} +declare module 'webpack-dev-server/client/sockjs.bundle.js' { + declare module.exports: $Exports<'webpack-dev-server/client/sockjs.bundle'>; +} +declare module 'webpack-dev-server/client/sockjs.js' { + declare module.exports: $Exports<'webpack-dev-server/client/sockjs'>; +} +declare module 'webpack-dev-server/client/web_modules/jquery/index.js' { + declare module.exports: $Exports<'webpack-dev-server/client/web_modules/jquery/index'>; +} +declare module 'webpack-dev-server/client/web_modules/jquery/jquery-1.8.1.js' { + declare module.exports: $Exports<'webpack-dev-server/client/web_modules/jquery/jquery-1.8.1'>; +} +declare module 'webpack-dev-server/client/webpack.config.js' { + declare module.exports: $Exports<'webpack-dev-server/client/webpack.config'>; +} +declare module 'webpack-dev-server/client/webpack.sockjs.config.js' { + declare module.exports: $Exports<'webpack-dev-server/client/webpack.sockjs.config'>; +} +declare module 'webpack-dev-server/lib/OptionsValidationError.js' { + declare module.exports: $Exports<'webpack-dev-server/lib/OptionsValidationError'>; +} +declare module 'webpack-dev-server/lib/polyfills.js' { + declare module.exports: $Exports<'webpack-dev-server/lib/polyfills'>; +} +declare module 'webpack-dev-server/lib/Server.js' { + declare module.exports: $Exports<'webpack-dev-server/lib/Server'>; +} +declare module 'webpack-dev-server/lib/util/addDevServerEntrypoints.js' { + declare module.exports: $Exports<'webpack-dev-server/lib/util/addDevServerEntrypoints'>; +} +declare module 'webpack-dev-server/lib/util/createDomain.js' { + declare module.exports: $Exports<'webpack-dev-server/lib/util/createDomain'>; +} diff --git a/flow-typed/npm/webpack_vx.x.x.js b/flow-typed/npm/webpack_vx.x.x.js new file mode 100644 index 00000000..766c1fe8 --- /dev/null +++ b/flow-typed/npm/webpack_vx.x.x.js @@ -0,0 +1,1957 @@ +// flow-typed signature: 3330876feb18875b3f070fc7d5c15d6e +// flow-typed version: <>/webpack_v~3.10.0/flow_v0.63.1 + +/** + * This is an autogenerated libdef stub for: + * + * 'webpack' + * + * Fill this stub out by replacing all the `any` types. + * + * Once filled out, we encourage you to share your work with the + * community by sending a pull request to: + * https://github.com/flowtype/flow-typed + */ + +declare module 'webpack' { + declare module.exports: any; +} + +/** + * We include stubs for each file inside this npm package in case you need to + * require those files directly. Feel free to delete any files that aren't + * needed. + */ +declare module 'webpack/bin/config-optimist' { + declare module.exports: any; +} + +declare module 'webpack/bin/config-yargs' { + declare module.exports: any; +} + +declare module 'webpack/bin/convert-argv' { + declare module.exports: any; +} + +declare module 'webpack/bin/webpack' { + declare module.exports: any; +} + +declare module 'webpack/buildin/amd-define' { + declare module.exports: any; +} + +declare module 'webpack/buildin/amd-options' { + declare module.exports: any; +} + +declare module 'webpack/buildin/global' { + declare module.exports: any; +} + +declare module 'webpack/buildin/harmony-module' { + declare module.exports: any; +} + +declare module 'webpack/buildin/module' { + declare module.exports: any; +} + +declare module 'webpack/buildin/system' { + declare module.exports: any; +} + +declare module 'webpack/hot/dev-server' { + declare module.exports: any; +} + +declare module 'webpack/hot/emitter' { + declare module.exports: any; +} + +declare module 'webpack/hot/log-apply-result' { + declare module.exports: any; +} + +declare module 'webpack/hot/log' { + declare module.exports: any; +} + +declare module 'webpack/hot/only-dev-server' { + declare module.exports: any; +} + +declare module 'webpack/hot/poll' { + declare module.exports: any; +} + +declare module 'webpack/hot/signal' { + declare module.exports: any; +} + +declare module 'webpack/lib/AmdMainTemplatePlugin' { + declare module.exports: any; +} + +declare module 'webpack/lib/APIPlugin' { + declare module.exports: any; +} + +declare module 'webpack/lib/AsyncDependenciesBlock' { + declare module.exports: any; +} + +declare module 'webpack/lib/AsyncDependencyToInitialChunkWarning' { + declare module.exports: any; +} + +declare module 'webpack/lib/AutomaticPrefetchPlugin' { + declare module.exports: any; +} + +declare module 'webpack/lib/BannerPlugin' { + declare module.exports: any; +} + +declare module 'webpack/lib/BasicEvaluatedExpression' { + declare module.exports: any; +} + +declare module 'webpack/lib/CachePlugin' { + declare module.exports: any; +} + +declare module 'webpack/lib/CaseSensitiveModulesWarning' { + declare module.exports: any; +} + +declare module 'webpack/lib/Chunk' { + declare module.exports: any; +} + +declare module 'webpack/lib/ChunkRenderError' { + declare module.exports: any; +} + +declare module 'webpack/lib/ChunkTemplate' { + declare module.exports: any; +} + +declare module 'webpack/lib/compareLocations' { + declare module.exports: any; +} + +declare module 'webpack/lib/CompatibilityPlugin' { + declare module.exports: any; +} + +declare module 'webpack/lib/Compilation' { + declare module.exports: any; +} + +declare module 'webpack/lib/Compiler' { + declare module.exports: any; +} + +declare module 'webpack/lib/ConstPlugin' { + declare module.exports: any; +} + +declare module 'webpack/lib/ContextExclusionPlugin' { + declare module.exports: any; +} + +declare module 'webpack/lib/ContextModule' { + declare module.exports: any; +} + +declare module 'webpack/lib/ContextModuleFactory' { + declare module.exports: any; +} + +declare module 'webpack/lib/ContextReplacementPlugin' { + declare module.exports: any; +} + +declare module 'webpack/lib/DefinePlugin' { + declare module.exports: any; +} + +declare module 'webpack/lib/DelegatedModule' { + declare module.exports: any; +} + +declare module 'webpack/lib/DelegatedModuleFactoryPlugin' { + declare module.exports: any; +} + +declare module 'webpack/lib/DelegatedPlugin' { + declare module.exports: any; +} + +declare module 'webpack/lib/dependencies/AMDDefineDependency' { + declare module.exports: any; +} + +declare module 'webpack/lib/dependencies/AMDDefineDependencyParserPlugin' { + declare module.exports: any; +} + +declare module 'webpack/lib/dependencies/AMDPlugin' { + declare module.exports: any; +} + +declare module 'webpack/lib/dependencies/AMDRequireArrayDependency' { + declare module.exports: any; +} + +declare module 'webpack/lib/dependencies/AMDRequireContextDependency' { + declare module.exports: any; +} + +declare module 'webpack/lib/dependencies/AMDRequireDependenciesBlock' { + declare module.exports: any; +} + +declare module 'webpack/lib/dependencies/AMDRequireDependenciesBlockParserPlugin' { + declare module.exports: any; +} + +declare module 'webpack/lib/dependencies/AMDRequireDependency' { + declare module.exports: any; +} + +declare module 'webpack/lib/dependencies/AMDRequireItemDependency' { + declare module.exports: any; +} + +declare module 'webpack/lib/dependencies/CommonJsPlugin' { + declare module.exports: any; +} + +declare module 'webpack/lib/dependencies/CommonJsRequireContextDependency' { + declare module.exports: any; +} + +declare module 'webpack/lib/dependencies/CommonJsRequireDependency' { + declare module.exports: any; +} + +declare module 'webpack/lib/dependencies/CommonJsRequireDependencyParserPlugin' { + declare module.exports: any; +} + +declare module 'webpack/lib/dependencies/ConstDependency' { + declare module.exports: any; +} + +declare module 'webpack/lib/dependencies/ContextDependency' { + declare module.exports: any; +} + +declare module 'webpack/lib/dependencies/ContextDependencyHelpers' { + declare module.exports: any; +} + +declare module 'webpack/lib/dependencies/ContextDependencyTemplateAsId' { + declare module.exports: any; +} + +declare module 'webpack/lib/dependencies/ContextDependencyTemplateAsRequireCall' { + declare module.exports: any; +} + +declare module 'webpack/lib/dependencies/ContextElementDependency' { + declare module.exports: any; +} + +declare module 'webpack/lib/dependencies/CriticalDependencyWarning' { + declare module.exports: any; +} + +declare module 'webpack/lib/dependencies/DelegatedExportsDependency' { + declare module.exports: any; +} + +declare module 'webpack/lib/dependencies/DelegatedSourceDependency' { + declare module.exports: any; +} + +declare module 'webpack/lib/dependencies/DepBlockHelpers' { + declare module.exports: any; +} + +declare module 'webpack/lib/dependencies/DllEntryDependency' { + declare module.exports: any; +} + +declare module 'webpack/lib/dependencies/getFunctionExpression' { + declare module.exports: any; +} + +declare module 'webpack/lib/dependencies/HarmonyAcceptDependency' { + declare module.exports: any; +} + +declare module 'webpack/lib/dependencies/HarmonyAcceptImportDependency' { + declare module.exports: any; +} + +declare module 'webpack/lib/dependencies/HarmonyCompatibilityDependency' { + declare module.exports: any; +} + +declare module 'webpack/lib/dependencies/HarmonyDetectionParserPlugin' { + declare module.exports: any; +} + +declare module 'webpack/lib/dependencies/HarmonyExportDependencyParserPlugin' { + declare module.exports: any; +} + +declare module 'webpack/lib/dependencies/HarmonyExportExpressionDependency' { + declare module.exports: any; +} + +declare module 'webpack/lib/dependencies/HarmonyExportHeaderDependency' { + declare module.exports: any; +} + +declare module 'webpack/lib/dependencies/HarmonyExportImportedSpecifierDependency' { + declare module.exports: any; +} + +declare module 'webpack/lib/dependencies/HarmonyExportSpecifierDependency' { + declare module.exports: any; +} + +declare module 'webpack/lib/dependencies/HarmonyImportDependency' { + declare module.exports: any; +} + +declare module 'webpack/lib/dependencies/HarmonyImportDependencyParserPlugin' { + declare module.exports: any; +} + +declare module 'webpack/lib/dependencies/HarmonyImportSpecifierDependency' { + declare module.exports: any; +} + +declare module 'webpack/lib/dependencies/HarmonyModulesHelpers' { + declare module.exports: any; +} + +declare module 'webpack/lib/dependencies/HarmonyModulesPlugin' { + declare module.exports: any; +} + +declare module 'webpack/lib/dependencies/ImportContextDependency' { + declare module.exports: any; +} + +declare module 'webpack/lib/dependencies/ImportDependenciesBlock' { + declare module.exports: any; +} + +declare module 'webpack/lib/dependencies/ImportDependency' { + declare module.exports: any; +} + +declare module 'webpack/lib/dependencies/ImportEagerContextDependency' { + declare module.exports: any; +} + +declare module 'webpack/lib/dependencies/ImportEagerDependency' { + declare module.exports: any; +} + +declare module 'webpack/lib/dependencies/ImportLazyContextDependency' { + declare module.exports: any; +} + +declare module 'webpack/lib/dependencies/ImportLazyOnceContextDependency' { + declare module.exports: any; +} + +declare module 'webpack/lib/dependencies/ImportParserPlugin' { + declare module.exports: any; +} + +declare module 'webpack/lib/dependencies/ImportPlugin' { + declare module.exports: any; +} + +declare module 'webpack/lib/dependencies/ImportWeakContextDependency' { + declare module.exports: any; +} + +declare module 'webpack/lib/dependencies/ImportWeakDependency' { + declare module.exports: any; +} + +declare module 'webpack/lib/dependencies/LoaderDependency' { + declare module.exports: any; +} + +declare module 'webpack/lib/dependencies/LoaderPlugin' { + declare module.exports: any; +} + +declare module 'webpack/lib/dependencies/LocalModule' { + declare module.exports: any; +} + +declare module 'webpack/lib/dependencies/LocalModuleDependency' { + declare module.exports: any; +} + +declare module 'webpack/lib/dependencies/LocalModulesHelpers' { + declare module.exports: any; +} + +declare module 'webpack/lib/dependencies/ModuleDependency' { + declare module.exports: any; +} + +declare module 'webpack/lib/dependencies/ModuleDependencyTemplateAsId' { + declare module.exports: any; +} + +declare module 'webpack/lib/dependencies/ModuleDependencyTemplateAsRequireId' { + declare module.exports: any; +} + +declare module 'webpack/lib/dependencies/ModuleHotAcceptDependency' { + declare module.exports: any; +} + +declare module 'webpack/lib/dependencies/ModuleHotDeclineDependency' { + declare module.exports: any; +} + +declare module 'webpack/lib/dependencies/MultiEntryDependency' { + declare module.exports: any; +} + +declare module 'webpack/lib/dependencies/NullDependency' { + declare module.exports: any; +} + +declare module 'webpack/lib/dependencies/PrefetchDependency' { + declare module.exports: any; +} + +declare module 'webpack/lib/dependencies/RequireContextDependency' { + declare module.exports: any; +} + +declare module 'webpack/lib/dependencies/RequireContextDependencyParserPlugin' { + declare module.exports: any; +} + +declare module 'webpack/lib/dependencies/RequireContextPlugin' { + declare module.exports: any; +} + +declare module 'webpack/lib/dependencies/RequireEnsureDependenciesBlock' { + declare module.exports: any; +} + +declare module 'webpack/lib/dependencies/RequireEnsureDependenciesBlockParserPlugin' { + declare module.exports: any; +} + +declare module 'webpack/lib/dependencies/RequireEnsureDependency' { + declare module.exports: any; +} + +declare module 'webpack/lib/dependencies/RequireEnsureItemDependency' { + declare module.exports: any; +} + +declare module 'webpack/lib/dependencies/RequireEnsurePlugin' { + declare module.exports: any; +} + +declare module 'webpack/lib/dependencies/RequireHeaderDependency' { + declare module.exports: any; +} + +declare module 'webpack/lib/dependencies/RequireIncludeDependency' { + declare module.exports: any; +} + +declare module 'webpack/lib/dependencies/RequireIncludeDependencyParserPlugin' { + declare module.exports: any; +} + +declare module 'webpack/lib/dependencies/RequireIncludePlugin' { + declare module.exports: any; +} + +declare module 'webpack/lib/dependencies/RequireResolveContextDependency' { + declare module.exports: any; +} + +declare module 'webpack/lib/dependencies/RequireResolveDependency' { + declare module.exports: any; +} + +declare module 'webpack/lib/dependencies/RequireResolveDependencyParserPlugin' { + declare module.exports: any; +} + +declare module 'webpack/lib/dependencies/RequireResolveHeaderDependency' { + declare module.exports: any; +} + +declare module 'webpack/lib/dependencies/SingleEntryDependency' { + declare module.exports: any; +} + +declare module 'webpack/lib/dependencies/SystemPlugin' { + declare module.exports: any; +} + +declare module 'webpack/lib/dependencies/UnsupportedDependency' { + declare module.exports: any; +} + +declare module 'webpack/lib/dependencies/WebpackMissingModule' { + declare module.exports: any; +} + +declare module 'webpack/lib/DependenciesBlock' { + declare module.exports: any; +} + +declare module 'webpack/lib/DependenciesBlockVariable' { + declare module.exports: any; +} + +declare module 'webpack/lib/Dependency' { + declare module.exports: any; +} + +declare module 'webpack/lib/DllEntryPlugin' { + declare module.exports: any; +} + +declare module 'webpack/lib/DllModule' { + declare module.exports: any; +} + +declare module 'webpack/lib/DllModuleFactory' { + declare module.exports: any; +} + +declare module 'webpack/lib/DllPlugin' { + declare module.exports: any; +} + +declare module 'webpack/lib/DllReferencePlugin' { + declare module.exports: any; +} + +declare module 'webpack/lib/DynamicEntryPlugin' { + declare module.exports: any; +} + +declare module 'webpack/lib/EntryModuleNotFoundError' { + declare module.exports: any; +} + +declare module 'webpack/lib/EntryOptionPlugin' { + declare module.exports: any; +} + +declare module 'webpack/lib/Entrypoint' { + declare module.exports: any; +} + +declare module 'webpack/lib/EnvironmentPlugin' { + declare module.exports: any; +} + +declare module 'webpack/lib/ErrorHelpers' { + declare module.exports: any; +} + +declare module 'webpack/lib/EvalDevToolModulePlugin' { + declare module.exports: any; +} + +declare module 'webpack/lib/EvalDevToolModuleTemplatePlugin' { + declare module.exports: any; +} + +declare module 'webpack/lib/EvalSourceMapDevToolModuleTemplatePlugin' { + declare module.exports: any; +} + +declare module 'webpack/lib/EvalSourceMapDevToolPlugin' { + declare module.exports: any; +} + +declare module 'webpack/lib/ExportPropertyMainTemplatePlugin' { + declare module.exports: any; +} + +declare module 'webpack/lib/ExtendedAPIPlugin' { + declare module.exports: any; +} + +declare module 'webpack/lib/ExternalModule' { + declare module.exports: any; +} + +declare module 'webpack/lib/ExternalModuleFactoryPlugin' { + declare module.exports: any; +} + +declare module 'webpack/lib/ExternalsPlugin' { + declare module.exports: any; +} + +declare module 'webpack/lib/FlagDependencyExportsPlugin' { + declare module.exports: any; +} + +declare module 'webpack/lib/FlagDependencyUsagePlugin' { + declare module.exports: any; +} + +declare module 'webpack/lib/FlagInitialModulesAsUsedPlugin' { + declare module.exports: any; +} + +declare module 'webpack/lib/formatLocation' { + declare module.exports: any; +} + +declare module 'webpack/lib/FunctionModulePlugin' { + declare module.exports: any; +} + +declare module 'webpack/lib/FunctionModuleTemplatePlugin' { + declare module.exports: any; +} + +declare module 'webpack/lib/HashedModuleIdsPlugin' { + declare module.exports: any; +} + +declare module 'webpack/lib/HotModuleReplacement.runtime' { + declare module.exports: any; +} + +declare module 'webpack/lib/HotModuleReplacementPlugin' { + declare module.exports: any; +} + +declare module 'webpack/lib/HotUpdateChunkTemplate' { + declare module.exports: any; +} + +declare module 'webpack/lib/IgnorePlugin' { + declare module.exports: any; +} + +declare module 'webpack/lib/JsonpChunkTemplatePlugin' { + declare module.exports: any; +} + +declare module 'webpack/lib/JsonpExportMainTemplatePlugin' { + declare module.exports: any; +} + +declare module 'webpack/lib/JsonpHotUpdateChunkTemplatePlugin' { + declare module.exports: any; +} + +declare module 'webpack/lib/JsonpMainTemplate.runtime' { + declare module.exports: any; +} + +declare module 'webpack/lib/JsonpMainTemplatePlugin' { + declare module.exports: any; +} + +declare module 'webpack/lib/JsonpTemplatePlugin' { + declare module.exports: any; +} + +declare module 'webpack/lib/LibManifestPlugin' { + declare module.exports: any; +} + +declare module 'webpack/lib/LibraryTemplatePlugin' { + declare module.exports: any; +} + +declare module 'webpack/lib/LoaderOptionsPlugin' { + declare module.exports: any; +} + +declare module 'webpack/lib/LoaderTargetPlugin' { + declare module.exports: any; +} + +declare module 'webpack/lib/MainTemplate' { + declare module.exports: any; +} + +declare module 'webpack/lib/MemoryOutputFileSystem' { + declare module.exports: any; +} + +declare module 'webpack/lib/Module' { + declare module.exports: any; +} + +declare module 'webpack/lib/ModuleBuildError' { + declare module.exports: any; +} + +declare module 'webpack/lib/ModuleDependencyError' { + declare module.exports: any; +} + +declare module 'webpack/lib/ModuleDependencyWarning' { + declare module.exports: any; +} + +declare module 'webpack/lib/ModuleError' { + declare module.exports: any; +} + +declare module 'webpack/lib/ModuleFilenameHelpers' { + declare module.exports: any; +} + +declare module 'webpack/lib/ModuleNotFoundError' { + declare module.exports: any; +} + +declare module 'webpack/lib/ModuleParseError' { + declare module.exports: any; +} + +declare module 'webpack/lib/ModuleReason' { + declare module.exports: any; +} + +declare module 'webpack/lib/ModuleTemplate' { + declare module.exports: any; +} + +declare module 'webpack/lib/ModuleWarning' { + declare module.exports: any; +} + +declare module 'webpack/lib/MovedToPluginWarningPlugin' { + declare module.exports: any; +} + +declare module 'webpack/lib/MultiCompiler' { + declare module.exports: any; +} + +declare module 'webpack/lib/MultiEntryPlugin' { + declare module.exports: any; +} + +declare module 'webpack/lib/MultiModule' { + declare module.exports: any; +} + +declare module 'webpack/lib/MultiModuleFactory' { + declare module.exports: any; +} + +declare module 'webpack/lib/MultiStats' { + declare module.exports: any; +} + +declare module 'webpack/lib/MultiWatching' { + declare module.exports: any; +} + +declare module 'webpack/lib/NamedChunksPlugin' { + declare module.exports: any; +} + +declare module 'webpack/lib/NamedModulesPlugin' { + declare module.exports: any; +} + +declare module 'webpack/lib/NewWatchingPlugin' { + declare module.exports: any; +} + +declare module 'webpack/lib/node/NodeChunkTemplatePlugin' { + declare module.exports: any; +} + +declare module 'webpack/lib/node/NodeEnvironmentPlugin' { + declare module.exports: any; +} + +declare module 'webpack/lib/node/NodeHotUpdateChunkTemplatePlugin' { + declare module.exports: any; +} + +declare module 'webpack/lib/node/NodeMainTemplate.runtime' { + declare module.exports: any; +} + +declare module 'webpack/lib/node/NodeMainTemplateAsync.runtime' { + declare module.exports: any; +} + +declare module 'webpack/lib/node/NodeMainTemplatePlugin' { + declare module.exports: any; +} + +declare module 'webpack/lib/node/NodeOutputFileSystem' { + declare module.exports: any; +} + +declare module 'webpack/lib/node/NodeSourcePlugin' { + declare module.exports: any; +} + +declare module 'webpack/lib/node/NodeTargetPlugin' { + declare module.exports: any; +} + +declare module 'webpack/lib/node/NodeTemplatePlugin' { + declare module.exports: any; +} + +declare module 'webpack/lib/node/NodeWatchFileSystem' { + declare module.exports: any; +} + +declare module 'webpack/lib/NodeStuffPlugin' { + declare module.exports: any; +} + +declare module 'webpack/lib/NoEmitOnErrorsPlugin' { + declare module.exports: any; +} + +declare module 'webpack/lib/NoErrorsPlugin' { + declare module.exports: any; +} + +declare module 'webpack/lib/NormalModule' { + declare module.exports: any; +} + +declare module 'webpack/lib/NormalModuleFactory' { + declare module.exports: any; +} + +declare module 'webpack/lib/NormalModuleReplacementPlugin' { + declare module.exports: any; +} + +declare module 'webpack/lib/NullFactory' { + declare module.exports: any; +} + +declare module 'webpack/lib/optimize/AggressiveMergingPlugin' { + declare module.exports: any; +} + +declare module 'webpack/lib/optimize/AggressiveSplittingPlugin' { + declare module.exports: any; +} + +declare module 'webpack/lib/optimize/ChunkModuleIdRangePlugin' { + declare module.exports: any; +} + +declare module 'webpack/lib/optimize/CommonsChunkPlugin' { + declare module.exports: any; +} + +declare module 'webpack/lib/optimize/ConcatenatedModule' { + declare module.exports: any; +} + +declare module 'webpack/lib/optimize/DedupePlugin' { + declare module.exports: any; +} + +declare module 'webpack/lib/optimize/EnsureChunkConditionsPlugin' { + declare module.exports: any; +} + +declare module 'webpack/lib/optimize/FlagIncludedChunksPlugin' { + declare module.exports: any; +} + +declare module 'webpack/lib/optimize/LimitChunkCountPlugin' { + declare module.exports: any; +} + +declare module 'webpack/lib/optimize/MergeDuplicateChunksPlugin' { + declare module.exports: any; +} + +declare module 'webpack/lib/optimize/MinChunkSizePlugin' { + declare module.exports: any; +} + +declare module 'webpack/lib/optimize/ModuleConcatenationPlugin' { + declare module.exports: any; +} + +declare module 'webpack/lib/optimize/OccurrenceOrderPlugin' { + declare module.exports: any; +} + +declare module 'webpack/lib/optimize/RemoveEmptyChunksPlugin' { + declare module.exports: any; +} + +declare module 'webpack/lib/optimize/RemoveParentModulesPlugin' { + declare module.exports: any; +} + +declare module 'webpack/lib/optimize/UglifyJsPlugin' { + declare module.exports: any; +} + +declare module 'webpack/lib/OptionsApply' { + declare module.exports: any; +} + +declare module 'webpack/lib/OptionsDefaulter' { + declare module.exports: any; +} + +declare module 'webpack/lib/Parser' { + declare module.exports: any; +} + +declare module 'webpack/lib/ParserHelpers' { + declare module.exports: any; +} + +declare module 'webpack/lib/performance/AssetsOverSizeLimitWarning' { + declare module.exports: any; +} + +declare module 'webpack/lib/performance/EntrypointsOverSizeLimitWarning' { + declare module.exports: any; +} + +declare module 'webpack/lib/performance/NoAsyncChunksWarning' { + declare module.exports: any; +} + +declare module 'webpack/lib/performance/SizeLimitsPlugin' { + declare module.exports: any; +} + +declare module 'webpack/lib/PrefetchPlugin' { + declare module.exports: any; +} + +declare module 'webpack/lib/prepareOptions' { + declare module.exports: any; +} + +declare module 'webpack/lib/ProgressPlugin' { + declare module.exports: any; +} + +declare module 'webpack/lib/ProvidePlugin' { + declare module.exports: any; +} + +declare module 'webpack/lib/RawModule' { + declare module.exports: any; +} + +declare module 'webpack/lib/RecordIdsPlugin' { + declare module.exports: any; +} + +declare module 'webpack/lib/removeAndDo' { + declare module.exports: any; +} + +declare module 'webpack/lib/RequestShortener' { + declare module.exports: any; +} + +declare module 'webpack/lib/RequireJsStuffPlugin' { + declare module.exports: any; +} + +declare module 'webpack/lib/RuleSet' { + declare module.exports: any; +} + +declare module 'webpack/lib/SetVarMainTemplatePlugin' { + declare module.exports: any; +} + +declare module 'webpack/lib/SingleEntryPlugin' { + declare module.exports: any; +} + +declare module 'webpack/lib/SizeFormatHelpers' { + declare module.exports: any; +} + +declare module 'webpack/lib/SourceMapDevToolModuleOptionsPlugin' { + declare module.exports: any; +} + +declare module 'webpack/lib/SourceMapDevToolPlugin' { + declare module.exports: any; +} + +declare module 'webpack/lib/Stats' { + declare module.exports: any; +} + +declare module 'webpack/lib/Template' { + declare module.exports: any; +} + +declare module 'webpack/lib/TemplatedPathPlugin' { + declare module.exports: any; +} + +declare module 'webpack/lib/UmdMainTemplatePlugin' { + declare module.exports: any; +} + +declare module 'webpack/lib/UnsupportedFeatureWarning' { + declare module.exports: any; +} + +declare module 'webpack/lib/UseStrictPlugin' { + declare module.exports: any; +} + +declare module 'webpack/lib/util/identifier' { + declare module.exports: any; +} + +declare module 'webpack/lib/util/Queue' { + declare module.exports: any; +} + +declare module 'webpack/lib/util/Semaphore' { + declare module.exports: any; +} + +declare module 'webpack/lib/util/SortableSet' { + declare module.exports: any; +} + +declare module 'webpack/lib/validateSchema' { + declare module.exports: any; +} + +declare module 'webpack/lib/WarnCaseSensitiveModulesPlugin' { + declare module.exports: any; +} + +declare module 'webpack/lib/WatchIgnorePlugin' { + declare module.exports: any; +} + +declare module 'webpack/lib/web/WebEnvironmentPlugin' { + declare module.exports: any; +} + +declare module 'webpack/lib/webpack' { + declare module.exports: any; +} + +declare module 'webpack/lib/webpack.web' { + declare module.exports: any; +} + +declare module 'webpack/lib/WebpackError' { + declare module.exports: any; +} + +declare module 'webpack/lib/WebpackOptionsApply' { + declare module.exports: any; +} + +declare module 'webpack/lib/WebpackOptionsDefaulter' { + declare module.exports: any; +} + +declare module 'webpack/lib/WebpackOptionsValidationError' { + declare module.exports: any; +} + +declare module 'webpack/lib/webworker/WebWorkerChunkTemplatePlugin' { + declare module.exports: any; +} + +declare module 'webpack/lib/webworker/WebWorkerHotUpdateChunkTemplatePlugin' { + declare module.exports: any; +} + +declare module 'webpack/lib/webworker/WebWorkerMainTemplate.runtime' { + declare module.exports: any; +} + +declare module 'webpack/lib/webworker/WebWorkerMainTemplatePlugin' { + declare module.exports: any; +} + +declare module 'webpack/lib/webworker/WebWorkerTemplatePlugin' { + declare module.exports: any; +} + +declare module 'webpack/schemas/ajv.absolutePath' { + declare module.exports: any; +} + +declare module 'webpack/web_modules/node-libs-browser' { + declare module.exports: any; +} + +// Filename aliases +declare module 'webpack/bin/config-optimist.js' { + declare module.exports: $Exports<'webpack/bin/config-optimist'>; +} +declare module 'webpack/bin/config-yargs.js' { + declare module.exports: $Exports<'webpack/bin/config-yargs'>; +} +declare module 'webpack/bin/convert-argv.js' { + declare module.exports: $Exports<'webpack/bin/convert-argv'>; +} +declare module 'webpack/bin/webpack.js' { + declare module.exports: $Exports<'webpack/bin/webpack'>; +} +declare module 'webpack/buildin/amd-define.js' { + declare module.exports: $Exports<'webpack/buildin/amd-define'>; +} +declare module 'webpack/buildin/amd-options.js' { + declare module.exports: $Exports<'webpack/buildin/amd-options'>; +} +declare module 'webpack/buildin/global.js' { + declare module.exports: $Exports<'webpack/buildin/global'>; +} +declare module 'webpack/buildin/harmony-module.js' { + declare module.exports: $Exports<'webpack/buildin/harmony-module'>; +} +declare module 'webpack/buildin/module.js' { + declare module.exports: $Exports<'webpack/buildin/module'>; +} +declare module 'webpack/buildin/system.js' { + declare module.exports: $Exports<'webpack/buildin/system'>; +} +declare module 'webpack/hot/dev-server.js' { + declare module.exports: $Exports<'webpack/hot/dev-server'>; +} +declare module 'webpack/hot/emitter.js' { + declare module.exports: $Exports<'webpack/hot/emitter'>; +} +declare module 'webpack/hot/log-apply-result.js' { + declare module.exports: $Exports<'webpack/hot/log-apply-result'>; +} +declare module 'webpack/hot/log.js' { + declare module.exports: $Exports<'webpack/hot/log'>; +} +declare module 'webpack/hot/only-dev-server.js' { + declare module.exports: $Exports<'webpack/hot/only-dev-server'>; +} +declare module 'webpack/hot/poll.js' { + declare module.exports: $Exports<'webpack/hot/poll'>; +} +declare module 'webpack/hot/signal.js' { + declare module.exports: $Exports<'webpack/hot/signal'>; +} +declare module 'webpack/lib/AmdMainTemplatePlugin.js' { + declare module.exports: $Exports<'webpack/lib/AmdMainTemplatePlugin'>; +} +declare module 'webpack/lib/APIPlugin.js' { + declare module.exports: $Exports<'webpack/lib/APIPlugin'>; +} +declare module 'webpack/lib/AsyncDependenciesBlock.js' { + declare module.exports: $Exports<'webpack/lib/AsyncDependenciesBlock'>; +} +declare module 'webpack/lib/AsyncDependencyToInitialChunkWarning.js' { + declare module.exports: $Exports<'webpack/lib/AsyncDependencyToInitialChunkWarning'>; +} +declare module 'webpack/lib/AutomaticPrefetchPlugin.js' { + declare module.exports: $Exports<'webpack/lib/AutomaticPrefetchPlugin'>; +} +declare module 'webpack/lib/BannerPlugin.js' { + declare module.exports: $Exports<'webpack/lib/BannerPlugin'>; +} +declare module 'webpack/lib/BasicEvaluatedExpression.js' { + declare module.exports: $Exports<'webpack/lib/BasicEvaluatedExpression'>; +} +declare module 'webpack/lib/CachePlugin.js' { + declare module.exports: $Exports<'webpack/lib/CachePlugin'>; +} +declare module 'webpack/lib/CaseSensitiveModulesWarning.js' { + declare module.exports: $Exports<'webpack/lib/CaseSensitiveModulesWarning'>; +} +declare module 'webpack/lib/Chunk.js' { + declare module.exports: $Exports<'webpack/lib/Chunk'>; +} +declare module 'webpack/lib/ChunkRenderError.js' { + declare module.exports: $Exports<'webpack/lib/ChunkRenderError'>; +} +declare module 'webpack/lib/ChunkTemplate.js' { + declare module.exports: $Exports<'webpack/lib/ChunkTemplate'>; +} +declare module 'webpack/lib/compareLocations.js' { + declare module.exports: $Exports<'webpack/lib/compareLocations'>; +} +declare module 'webpack/lib/CompatibilityPlugin.js' { + declare module.exports: $Exports<'webpack/lib/CompatibilityPlugin'>; +} +declare module 'webpack/lib/Compilation.js' { + declare module.exports: $Exports<'webpack/lib/Compilation'>; +} +declare module 'webpack/lib/Compiler.js' { + declare module.exports: $Exports<'webpack/lib/Compiler'>; +} +declare module 'webpack/lib/ConstPlugin.js' { + declare module.exports: $Exports<'webpack/lib/ConstPlugin'>; +} +declare module 'webpack/lib/ContextExclusionPlugin.js' { + declare module.exports: $Exports<'webpack/lib/ContextExclusionPlugin'>; +} +declare module 'webpack/lib/ContextModule.js' { + declare module.exports: $Exports<'webpack/lib/ContextModule'>; +} +declare module 'webpack/lib/ContextModuleFactory.js' { + declare module.exports: $Exports<'webpack/lib/ContextModuleFactory'>; +} +declare module 'webpack/lib/ContextReplacementPlugin.js' { + declare module.exports: $Exports<'webpack/lib/ContextReplacementPlugin'>; +} +declare module 'webpack/lib/DefinePlugin.js' { + declare module.exports: $Exports<'webpack/lib/DefinePlugin'>; +} +declare module 'webpack/lib/DelegatedModule.js' { + declare module.exports: $Exports<'webpack/lib/DelegatedModule'>; +} +declare module 'webpack/lib/DelegatedModuleFactoryPlugin.js' { + declare module.exports: $Exports<'webpack/lib/DelegatedModuleFactoryPlugin'>; +} +declare module 'webpack/lib/DelegatedPlugin.js' { + declare module.exports: $Exports<'webpack/lib/DelegatedPlugin'>; +} +declare module 'webpack/lib/dependencies/AMDDefineDependency.js' { + declare module.exports: $Exports<'webpack/lib/dependencies/AMDDefineDependency'>; +} +declare module 'webpack/lib/dependencies/AMDDefineDependencyParserPlugin.js' { + declare module.exports: $Exports<'webpack/lib/dependencies/AMDDefineDependencyParserPlugin'>; +} +declare module 'webpack/lib/dependencies/AMDPlugin.js' { + declare module.exports: $Exports<'webpack/lib/dependencies/AMDPlugin'>; +} +declare module 'webpack/lib/dependencies/AMDRequireArrayDependency.js' { + declare module.exports: $Exports<'webpack/lib/dependencies/AMDRequireArrayDependency'>; +} +declare module 'webpack/lib/dependencies/AMDRequireContextDependency.js' { + declare module.exports: $Exports<'webpack/lib/dependencies/AMDRequireContextDependency'>; +} +declare module 'webpack/lib/dependencies/AMDRequireDependenciesBlock.js' { + declare module.exports: $Exports<'webpack/lib/dependencies/AMDRequireDependenciesBlock'>; +} +declare module 'webpack/lib/dependencies/AMDRequireDependenciesBlockParserPlugin.js' { + declare module.exports: $Exports<'webpack/lib/dependencies/AMDRequireDependenciesBlockParserPlugin'>; +} +declare module 'webpack/lib/dependencies/AMDRequireDependency.js' { + declare module.exports: $Exports<'webpack/lib/dependencies/AMDRequireDependency'>; +} +declare module 'webpack/lib/dependencies/AMDRequireItemDependency.js' { + declare module.exports: $Exports<'webpack/lib/dependencies/AMDRequireItemDependency'>; +} +declare module 'webpack/lib/dependencies/CommonJsPlugin.js' { + declare module.exports: $Exports<'webpack/lib/dependencies/CommonJsPlugin'>; +} +declare module 'webpack/lib/dependencies/CommonJsRequireContextDependency.js' { + declare module.exports: $Exports<'webpack/lib/dependencies/CommonJsRequireContextDependency'>; +} +declare module 'webpack/lib/dependencies/CommonJsRequireDependency.js' { + declare module.exports: $Exports<'webpack/lib/dependencies/CommonJsRequireDependency'>; +} +declare module 'webpack/lib/dependencies/CommonJsRequireDependencyParserPlugin.js' { + declare module.exports: $Exports<'webpack/lib/dependencies/CommonJsRequireDependencyParserPlugin'>; +} +declare module 'webpack/lib/dependencies/ConstDependency.js' { + declare module.exports: $Exports<'webpack/lib/dependencies/ConstDependency'>; +} +declare module 'webpack/lib/dependencies/ContextDependency.js' { + declare module.exports: $Exports<'webpack/lib/dependencies/ContextDependency'>; +} +declare module 'webpack/lib/dependencies/ContextDependencyHelpers.js' { + declare module.exports: $Exports<'webpack/lib/dependencies/ContextDependencyHelpers'>; +} +declare module 'webpack/lib/dependencies/ContextDependencyTemplateAsId.js' { + declare module.exports: $Exports<'webpack/lib/dependencies/ContextDependencyTemplateAsId'>; +} +declare module 'webpack/lib/dependencies/ContextDependencyTemplateAsRequireCall.js' { + declare module.exports: $Exports<'webpack/lib/dependencies/ContextDependencyTemplateAsRequireCall'>; +} +declare module 'webpack/lib/dependencies/ContextElementDependency.js' { + declare module.exports: $Exports<'webpack/lib/dependencies/ContextElementDependency'>; +} +declare module 'webpack/lib/dependencies/CriticalDependencyWarning.js' { + declare module.exports: $Exports<'webpack/lib/dependencies/CriticalDependencyWarning'>; +} +declare module 'webpack/lib/dependencies/DelegatedExportsDependency.js' { + declare module.exports: $Exports<'webpack/lib/dependencies/DelegatedExportsDependency'>; +} +declare module 'webpack/lib/dependencies/DelegatedSourceDependency.js' { + declare module.exports: $Exports<'webpack/lib/dependencies/DelegatedSourceDependency'>; +} +declare module 'webpack/lib/dependencies/DepBlockHelpers.js' { + declare module.exports: $Exports<'webpack/lib/dependencies/DepBlockHelpers'>; +} +declare module 'webpack/lib/dependencies/DllEntryDependency.js' { + declare module.exports: $Exports<'webpack/lib/dependencies/DllEntryDependency'>; +} +declare module 'webpack/lib/dependencies/getFunctionExpression.js' { + declare module.exports: $Exports<'webpack/lib/dependencies/getFunctionExpression'>; +} +declare module 'webpack/lib/dependencies/HarmonyAcceptDependency.js' { + declare module.exports: $Exports<'webpack/lib/dependencies/HarmonyAcceptDependency'>; +} +declare module 'webpack/lib/dependencies/HarmonyAcceptImportDependency.js' { + declare module.exports: $Exports<'webpack/lib/dependencies/HarmonyAcceptImportDependency'>; +} +declare module 'webpack/lib/dependencies/HarmonyCompatibilityDependency.js' { + declare module.exports: $Exports<'webpack/lib/dependencies/HarmonyCompatibilityDependency'>; +} +declare module 'webpack/lib/dependencies/HarmonyDetectionParserPlugin.js' { + declare module.exports: $Exports<'webpack/lib/dependencies/HarmonyDetectionParserPlugin'>; +} +declare module 'webpack/lib/dependencies/HarmonyExportDependencyParserPlugin.js' { + declare module.exports: $Exports<'webpack/lib/dependencies/HarmonyExportDependencyParserPlugin'>; +} +declare module 'webpack/lib/dependencies/HarmonyExportExpressionDependency.js' { + declare module.exports: $Exports<'webpack/lib/dependencies/HarmonyExportExpressionDependency'>; +} +declare module 'webpack/lib/dependencies/HarmonyExportHeaderDependency.js' { + declare module.exports: $Exports<'webpack/lib/dependencies/HarmonyExportHeaderDependency'>; +} +declare module 'webpack/lib/dependencies/HarmonyExportImportedSpecifierDependency.js' { + declare module.exports: $Exports<'webpack/lib/dependencies/HarmonyExportImportedSpecifierDependency'>; +} +declare module 'webpack/lib/dependencies/HarmonyExportSpecifierDependency.js' { + declare module.exports: $Exports<'webpack/lib/dependencies/HarmonyExportSpecifierDependency'>; +} +declare module 'webpack/lib/dependencies/HarmonyImportDependency.js' { + declare module.exports: $Exports<'webpack/lib/dependencies/HarmonyImportDependency'>; +} +declare module 'webpack/lib/dependencies/HarmonyImportDependencyParserPlugin.js' { + declare module.exports: $Exports<'webpack/lib/dependencies/HarmonyImportDependencyParserPlugin'>; +} +declare module 'webpack/lib/dependencies/HarmonyImportSpecifierDependency.js' { + declare module.exports: $Exports<'webpack/lib/dependencies/HarmonyImportSpecifierDependency'>; +} +declare module 'webpack/lib/dependencies/HarmonyModulesHelpers.js' { + declare module.exports: $Exports<'webpack/lib/dependencies/HarmonyModulesHelpers'>; +} +declare module 'webpack/lib/dependencies/HarmonyModulesPlugin.js' { + declare module.exports: $Exports<'webpack/lib/dependencies/HarmonyModulesPlugin'>; +} +declare module 'webpack/lib/dependencies/ImportContextDependency.js' { + declare module.exports: $Exports<'webpack/lib/dependencies/ImportContextDependency'>; +} +declare module 'webpack/lib/dependencies/ImportDependenciesBlock.js' { + declare module.exports: $Exports<'webpack/lib/dependencies/ImportDependenciesBlock'>; +} +declare module 'webpack/lib/dependencies/ImportDependency.js' { + declare module.exports: $Exports<'webpack/lib/dependencies/ImportDependency'>; +} +declare module 'webpack/lib/dependencies/ImportEagerContextDependency.js' { + declare module.exports: $Exports<'webpack/lib/dependencies/ImportEagerContextDependency'>; +} +declare module 'webpack/lib/dependencies/ImportEagerDependency.js' { + declare module.exports: $Exports<'webpack/lib/dependencies/ImportEagerDependency'>; +} +declare module 'webpack/lib/dependencies/ImportLazyContextDependency.js' { + declare module.exports: $Exports<'webpack/lib/dependencies/ImportLazyContextDependency'>; +} +declare module 'webpack/lib/dependencies/ImportLazyOnceContextDependency.js' { + declare module.exports: $Exports<'webpack/lib/dependencies/ImportLazyOnceContextDependency'>; +} +declare module 'webpack/lib/dependencies/ImportParserPlugin.js' { + declare module.exports: $Exports<'webpack/lib/dependencies/ImportParserPlugin'>; +} +declare module 'webpack/lib/dependencies/ImportPlugin.js' { + declare module.exports: $Exports<'webpack/lib/dependencies/ImportPlugin'>; +} +declare module 'webpack/lib/dependencies/ImportWeakContextDependency.js' { + declare module.exports: $Exports<'webpack/lib/dependencies/ImportWeakContextDependency'>; +} +declare module 'webpack/lib/dependencies/ImportWeakDependency.js' { + declare module.exports: $Exports<'webpack/lib/dependencies/ImportWeakDependency'>; +} +declare module 'webpack/lib/dependencies/LoaderDependency.js' { + declare module.exports: $Exports<'webpack/lib/dependencies/LoaderDependency'>; +} +declare module 'webpack/lib/dependencies/LoaderPlugin.js' { + declare module.exports: $Exports<'webpack/lib/dependencies/LoaderPlugin'>; +} +declare module 'webpack/lib/dependencies/LocalModule.js' { + declare module.exports: $Exports<'webpack/lib/dependencies/LocalModule'>; +} +declare module 'webpack/lib/dependencies/LocalModuleDependency.js' { + declare module.exports: $Exports<'webpack/lib/dependencies/LocalModuleDependency'>; +} +declare module 'webpack/lib/dependencies/LocalModulesHelpers.js' { + declare module.exports: $Exports<'webpack/lib/dependencies/LocalModulesHelpers'>; +} +declare module 'webpack/lib/dependencies/ModuleDependency.js' { + declare module.exports: $Exports<'webpack/lib/dependencies/ModuleDependency'>; +} +declare module 'webpack/lib/dependencies/ModuleDependencyTemplateAsId.js' { + declare module.exports: $Exports<'webpack/lib/dependencies/ModuleDependencyTemplateAsId'>; +} +declare module 'webpack/lib/dependencies/ModuleDependencyTemplateAsRequireId.js' { + declare module.exports: $Exports<'webpack/lib/dependencies/ModuleDependencyTemplateAsRequireId'>; +} +declare module 'webpack/lib/dependencies/ModuleHotAcceptDependency.js' { + declare module.exports: $Exports<'webpack/lib/dependencies/ModuleHotAcceptDependency'>; +} +declare module 'webpack/lib/dependencies/ModuleHotDeclineDependency.js' { + declare module.exports: $Exports<'webpack/lib/dependencies/ModuleHotDeclineDependency'>; +} +declare module 'webpack/lib/dependencies/MultiEntryDependency.js' { + declare module.exports: $Exports<'webpack/lib/dependencies/MultiEntryDependency'>; +} +declare module 'webpack/lib/dependencies/NullDependency.js' { + declare module.exports: $Exports<'webpack/lib/dependencies/NullDependency'>; +} +declare module 'webpack/lib/dependencies/PrefetchDependency.js' { + declare module.exports: $Exports<'webpack/lib/dependencies/PrefetchDependency'>; +} +declare module 'webpack/lib/dependencies/RequireContextDependency.js' { + declare module.exports: $Exports<'webpack/lib/dependencies/RequireContextDependency'>; +} +declare module 'webpack/lib/dependencies/RequireContextDependencyParserPlugin.js' { + declare module.exports: $Exports<'webpack/lib/dependencies/RequireContextDependencyParserPlugin'>; +} +declare module 'webpack/lib/dependencies/RequireContextPlugin.js' { + declare module.exports: $Exports<'webpack/lib/dependencies/RequireContextPlugin'>; +} +declare module 'webpack/lib/dependencies/RequireEnsureDependenciesBlock.js' { + declare module.exports: $Exports<'webpack/lib/dependencies/RequireEnsureDependenciesBlock'>; +} +declare module 'webpack/lib/dependencies/RequireEnsureDependenciesBlockParserPlugin.js' { + declare module.exports: $Exports<'webpack/lib/dependencies/RequireEnsureDependenciesBlockParserPlugin'>; +} +declare module 'webpack/lib/dependencies/RequireEnsureDependency.js' { + declare module.exports: $Exports<'webpack/lib/dependencies/RequireEnsureDependency'>; +} +declare module 'webpack/lib/dependencies/RequireEnsureItemDependency.js' { + declare module.exports: $Exports<'webpack/lib/dependencies/RequireEnsureItemDependency'>; +} +declare module 'webpack/lib/dependencies/RequireEnsurePlugin.js' { + declare module.exports: $Exports<'webpack/lib/dependencies/RequireEnsurePlugin'>; +} +declare module 'webpack/lib/dependencies/RequireHeaderDependency.js' { + declare module.exports: $Exports<'webpack/lib/dependencies/RequireHeaderDependency'>; +} +declare module 'webpack/lib/dependencies/RequireIncludeDependency.js' { + declare module.exports: $Exports<'webpack/lib/dependencies/RequireIncludeDependency'>; +} +declare module 'webpack/lib/dependencies/RequireIncludeDependencyParserPlugin.js' { + declare module.exports: $Exports<'webpack/lib/dependencies/RequireIncludeDependencyParserPlugin'>; +} +declare module 'webpack/lib/dependencies/RequireIncludePlugin.js' { + declare module.exports: $Exports<'webpack/lib/dependencies/RequireIncludePlugin'>; +} +declare module 'webpack/lib/dependencies/RequireResolveContextDependency.js' { + declare module.exports: $Exports<'webpack/lib/dependencies/RequireResolveContextDependency'>; +} +declare module 'webpack/lib/dependencies/RequireResolveDependency.js' { + declare module.exports: $Exports<'webpack/lib/dependencies/RequireResolveDependency'>; +} +declare module 'webpack/lib/dependencies/RequireResolveDependencyParserPlugin.js' { + declare module.exports: $Exports<'webpack/lib/dependencies/RequireResolveDependencyParserPlugin'>; +} +declare module 'webpack/lib/dependencies/RequireResolveHeaderDependency.js' { + declare module.exports: $Exports<'webpack/lib/dependencies/RequireResolveHeaderDependency'>; +} +declare module 'webpack/lib/dependencies/SingleEntryDependency.js' { + declare module.exports: $Exports<'webpack/lib/dependencies/SingleEntryDependency'>; +} +declare module 'webpack/lib/dependencies/SystemPlugin.js' { + declare module.exports: $Exports<'webpack/lib/dependencies/SystemPlugin'>; +} +declare module 'webpack/lib/dependencies/UnsupportedDependency.js' { + declare module.exports: $Exports<'webpack/lib/dependencies/UnsupportedDependency'>; +} +declare module 'webpack/lib/dependencies/WebpackMissingModule.js' { + declare module.exports: $Exports<'webpack/lib/dependencies/WebpackMissingModule'>; +} +declare module 'webpack/lib/DependenciesBlock.js' { + declare module.exports: $Exports<'webpack/lib/DependenciesBlock'>; +} +declare module 'webpack/lib/DependenciesBlockVariable.js' { + declare module.exports: $Exports<'webpack/lib/DependenciesBlockVariable'>; +} +declare module 'webpack/lib/Dependency.js' { + declare module.exports: $Exports<'webpack/lib/Dependency'>; +} +declare module 'webpack/lib/DllEntryPlugin.js' { + declare module.exports: $Exports<'webpack/lib/DllEntryPlugin'>; +} +declare module 'webpack/lib/DllModule.js' { + declare module.exports: $Exports<'webpack/lib/DllModule'>; +} +declare module 'webpack/lib/DllModuleFactory.js' { + declare module.exports: $Exports<'webpack/lib/DllModuleFactory'>; +} +declare module 'webpack/lib/DllPlugin.js' { + declare module.exports: $Exports<'webpack/lib/DllPlugin'>; +} +declare module 'webpack/lib/DllReferencePlugin.js' { + declare module.exports: $Exports<'webpack/lib/DllReferencePlugin'>; +} +declare module 'webpack/lib/DynamicEntryPlugin.js' { + declare module.exports: $Exports<'webpack/lib/DynamicEntryPlugin'>; +} +declare module 'webpack/lib/EntryModuleNotFoundError.js' { + declare module.exports: $Exports<'webpack/lib/EntryModuleNotFoundError'>; +} +declare module 'webpack/lib/EntryOptionPlugin.js' { + declare module.exports: $Exports<'webpack/lib/EntryOptionPlugin'>; +} +declare module 'webpack/lib/Entrypoint.js' { + declare module.exports: $Exports<'webpack/lib/Entrypoint'>; +} +declare module 'webpack/lib/EnvironmentPlugin.js' { + declare module.exports: $Exports<'webpack/lib/EnvironmentPlugin'>; +} +declare module 'webpack/lib/ErrorHelpers.js' { + declare module.exports: $Exports<'webpack/lib/ErrorHelpers'>; +} +declare module 'webpack/lib/EvalDevToolModulePlugin.js' { + declare module.exports: $Exports<'webpack/lib/EvalDevToolModulePlugin'>; +} +declare module 'webpack/lib/EvalDevToolModuleTemplatePlugin.js' { + declare module.exports: $Exports<'webpack/lib/EvalDevToolModuleTemplatePlugin'>; +} +declare module 'webpack/lib/EvalSourceMapDevToolModuleTemplatePlugin.js' { + declare module.exports: $Exports<'webpack/lib/EvalSourceMapDevToolModuleTemplatePlugin'>; +} +declare module 'webpack/lib/EvalSourceMapDevToolPlugin.js' { + declare module.exports: $Exports<'webpack/lib/EvalSourceMapDevToolPlugin'>; +} +declare module 'webpack/lib/ExportPropertyMainTemplatePlugin.js' { + declare module.exports: $Exports<'webpack/lib/ExportPropertyMainTemplatePlugin'>; +} +declare module 'webpack/lib/ExtendedAPIPlugin.js' { + declare module.exports: $Exports<'webpack/lib/ExtendedAPIPlugin'>; +} +declare module 'webpack/lib/ExternalModule.js' { + declare module.exports: $Exports<'webpack/lib/ExternalModule'>; +} +declare module 'webpack/lib/ExternalModuleFactoryPlugin.js' { + declare module.exports: $Exports<'webpack/lib/ExternalModuleFactoryPlugin'>; +} +declare module 'webpack/lib/ExternalsPlugin.js' { + declare module.exports: $Exports<'webpack/lib/ExternalsPlugin'>; +} +declare module 'webpack/lib/FlagDependencyExportsPlugin.js' { + declare module.exports: $Exports<'webpack/lib/FlagDependencyExportsPlugin'>; +} +declare module 'webpack/lib/FlagDependencyUsagePlugin.js' { + declare module.exports: $Exports<'webpack/lib/FlagDependencyUsagePlugin'>; +} +declare module 'webpack/lib/FlagInitialModulesAsUsedPlugin.js' { + declare module.exports: $Exports<'webpack/lib/FlagInitialModulesAsUsedPlugin'>; +} +declare module 'webpack/lib/formatLocation.js' { + declare module.exports: $Exports<'webpack/lib/formatLocation'>; +} +declare module 'webpack/lib/FunctionModulePlugin.js' { + declare module.exports: $Exports<'webpack/lib/FunctionModulePlugin'>; +} +declare module 'webpack/lib/FunctionModuleTemplatePlugin.js' { + declare module.exports: $Exports<'webpack/lib/FunctionModuleTemplatePlugin'>; +} +declare module 'webpack/lib/HashedModuleIdsPlugin.js' { + declare module.exports: $Exports<'webpack/lib/HashedModuleIdsPlugin'>; +} +declare module 'webpack/lib/HotModuleReplacement.runtime.js' { + declare module.exports: $Exports<'webpack/lib/HotModuleReplacement.runtime'>; +} +declare module 'webpack/lib/HotModuleReplacementPlugin.js' { + declare module.exports: $Exports<'webpack/lib/HotModuleReplacementPlugin'>; +} +declare module 'webpack/lib/HotUpdateChunkTemplate.js' { + declare module.exports: $Exports<'webpack/lib/HotUpdateChunkTemplate'>; +} +declare module 'webpack/lib/IgnorePlugin.js' { + declare module.exports: $Exports<'webpack/lib/IgnorePlugin'>; +} +declare module 'webpack/lib/JsonpChunkTemplatePlugin.js' { + declare module.exports: $Exports<'webpack/lib/JsonpChunkTemplatePlugin'>; +} +declare module 'webpack/lib/JsonpExportMainTemplatePlugin.js' { + declare module.exports: $Exports<'webpack/lib/JsonpExportMainTemplatePlugin'>; +} +declare module 'webpack/lib/JsonpHotUpdateChunkTemplatePlugin.js' { + declare module.exports: $Exports<'webpack/lib/JsonpHotUpdateChunkTemplatePlugin'>; +} +declare module 'webpack/lib/JsonpMainTemplate.runtime.js' { + declare module.exports: $Exports<'webpack/lib/JsonpMainTemplate.runtime'>; +} +declare module 'webpack/lib/JsonpMainTemplatePlugin.js' { + declare module.exports: $Exports<'webpack/lib/JsonpMainTemplatePlugin'>; +} +declare module 'webpack/lib/JsonpTemplatePlugin.js' { + declare module.exports: $Exports<'webpack/lib/JsonpTemplatePlugin'>; +} +declare module 'webpack/lib/LibManifestPlugin.js' { + declare module.exports: $Exports<'webpack/lib/LibManifestPlugin'>; +} +declare module 'webpack/lib/LibraryTemplatePlugin.js' { + declare module.exports: $Exports<'webpack/lib/LibraryTemplatePlugin'>; +} +declare module 'webpack/lib/LoaderOptionsPlugin.js' { + declare module.exports: $Exports<'webpack/lib/LoaderOptionsPlugin'>; +} +declare module 'webpack/lib/LoaderTargetPlugin.js' { + declare module.exports: $Exports<'webpack/lib/LoaderTargetPlugin'>; +} +declare module 'webpack/lib/MainTemplate.js' { + declare module.exports: $Exports<'webpack/lib/MainTemplate'>; +} +declare module 'webpack/lib/MemoryOutputFileSystem.js' { + declare module.exports: $Exports<'webpack/lib/MemoryOutputFileSystem'>; +} +declare module 'webpack/lib/Module.js' { + declare module.exports: $Exports<'webpack/lib/Module'>; +} +declare module 'webpack/lib/ModuleBuildError.js' { + declare module.exports: $Exports<'webpack/lib/ModuleBuildError'>; +} +declare module 'webpack/lib/ModuleDependencyError.js' { + declare module.exports: $Exports<'webpack/lib/ModuleDependencyError'>; +} +declare module 'webpack/lib/ModuleDependencyWarning.js' { + declare module.exports: $Exports<'webpack/lib/ModuleDependencyWarning'>; +} +declare module 'webpack/lib/ModuleError.js' { + declare module.exports: $Exports<'webpack/lib/ModuleError'>; +} +declare module 'webpack/lib/ModuleFilenameHelpers.js' { + declare module.exports: $Exports<'webpack/lib/ModuleFilenameHelpers'>; +} +declare module 'webpack/lib/ModuleNotFoundError.js' { + declare module.exports: $Exports<'webpack/lib/ModuleNotFoundError'>; +} +declare module 'webpack/lib/ModuleParseError.js' { + declare module.exports: $Exports<'webpack/lib/ModuleParseError'>; +} +declare module 'webpack/lib/ModuleReason.js' { + declare module.exports: $Exports<'webpack/lib/ModuleReason'>; +} +declare module 'webpack/lib/ModuleTemplate.js' { + declare module.exports: $Exports<'webpack/lib/ModuleTemplate'>; +} +declare module 'webpack/lib/ModuleWarning.js' { + declare module.exports: $Exports<'webpack/lib/ModuleWarning'>; +} +declare module 'webpack/lib/MovedToPluginWarningPlugin.js' { + declare module.exports: $Exports<'webpack/lib/MovedToPluginWarningPlugin'>; +} +declare module 'webpack/lib/MultiCompiler.js' { + declare module.exports: $Exports<'webpack/lib/MultiCompiler'>; +} +declare module 'webpack/lib/MultiEntryPlugin.js' { + declare module.exports: $Exports<'webpack/lib/MultiEntryPlugin'>; +} +declare module 'webpack/lib/MultiModule.js' { + declare module.exports: $Exports<'webpack/lib/MultiModule'>; +} +declare module 'webpack/lib/MultiModuleFactory.js' { + declare module.exports: $Exports<'webpack/lib/MultiModuleFactory'>; +} +declare module 'webpack/lib/MultiStats.js' { + declare module.exports: $Exports<'webpack/lib/MultiStats'>; +} +declare module 'webpack/lib/MultiWatching.js' { + declare module.exports: $Exports<'webpack/lib/MultiWatching'>; +} +declare module 'webpack/lib/NamedChunksPlugin.js' { + declare module.exports: $Exports<'webpack/lib/NamedChunksPlugin'>; +} +declare module 'webpack/lib/NamedModulesPlugin.js' { + declare module.exports: $Exports<'webpack/lib/NamedModulesPlugin'>; +} +declare module 'webpack/lib/NewWatchingPlugin.js' { + declare module.exports: $Exports<'webpack/lib/NewWatchingPlugin'>; +} +declare module 'webpack/lib/node/NodeChunkTemplatePlugin.js' { + declare module.exports: $Exports<'webpack/lib/node/NodeChunkTemplatePlugin'>; +} +declare module 'webpack/lib/node/NodeEnvironmentPlugin.js' { + declare module.exports: $Exports<'webpack/lib/node/NodeEnvironmentPlugin'>; +} +declare module 'webpack/lib/node/NodeHotUpdateChunkTemplatePlugin.js' { + declare module.exports: $Exports<'webpack/lib/node/NodeHotUpdateChunkTemplatePlugin'>; +} +declare module 'webpack/lib/node/NodeMainTemplate.runtime.js' { + declare module.exports: $Exports<'webpack/lib/node/NodeMainTemplate.runtime'>; +} +declare module 'webpack/lib/node/NodeMainTemplateAsync.runtime.js' { + declare module.exports: $Exports<'webpack/lib/node/NodeMainTemplateAsync.runtime'>; +} +declare module 'webpack/lib/node/NodeMainTemplatePlugin.js' { + declare module.exports: $Exports<'webpack/lib/node/NodeMainTemplatePlugin'>; +} +declare module 'webpack/lib/node/NodeOutputFileSystem.js' { + declare module.exports: $Exports<'webpack/lib/node/NodeOutputFileSystem'>; +} +declare module 'webpack/lib/node/NodeSourcePlugin.js' { + declare module.exports: $Exports<'webpack/lib/node/NodeSourcePlugin'>; +} +declare module 'webpack/lib/node/NodeTargetPlugin.js' { + declare module.exports: $Exports<'webpack/lib/node/NodeTargetPlugin'>; +} +declare module 'webpack/lib/node/NodeTemplatePlugin.js' { + declare module.exports: $Exports<'webpack/lib/node/NodeTemplatePlugin'>; +} +declare module 'webpack/lib/node/NodeWatchFileSystem.js' { + declare module.exports: $Exports<'webpack/lib/node/NodeWatchFileSystem'>; +} +declare module 'webpack/lib/NodeStuffPlugin.js' { + declare module.exports: $Exports<'webpack/lib/NodeStuffPlugin'>; +} +declare module 'webpack/lib/NoEmitOnErrorsPlugin.js' { + declare module.exports: $Exports<'webpack/lib/NoEmitOnErrorsPlugin'>; +} +declare module 'webpack/lib/NoErrorsPlugin.js' { + declare module.exports: $Exports<'webpack/lib/NoErrorsPlugin'>; +} +declare module 'webpack/lib/NormalModule.js' { + declare module.exports: $Exports<'webpack/lib/NormalModule'>; +} +declare module 'webpack/lib/NormalModuleFactory.js' { + declare module.exports: $Exports<'webpack/lib/NormalModuleFactory'>; +} +declare module 'webpack/lib/NormalModuleReplacementPlugin.js' { + declare module.exports: $Exports<'webpack/lib/NormalModuleReplacementPlugin'>; +} +declare module 'webpack/lib/NullFactory.js' { + declare module.exports: $Exports<'webpack/lib/NullFactory'>; +} +declare module 'webpack/lib/optimize/AggressiveMergingPlugin.js' { + declare module.exports: $Exports<'webpack/lib/optimize/AggressiveMergingPlugin'>; +} +declare module 'webpack/lib/optimize/AggressiveSplittingPlugin.js' { + declare module.exports: $Exports<'webpack/lib/optimize/AggressiveSplittingPlugin'>; +} +declare module 'webpack/lib/optimize/ChunkModuleIdRangePlugin.js' { + declare module.exports: $Exports<'webpack/lib/optimize/ChunkModuleIdRangePlugin'>; +} +declare module 'webpack/lib/optimize/CommonsChunkPlugin.js' { + declare module.exports: $Exports<'webpack/lib/optimize/CommonsChunkPlugin'>; +} +declare module 'webpack/lib/optimize/ConcatenatedModule.js' { + declare module.exports: $Exports<'webpack/lib/optimize/ConcatenatedModule'>; +} +declare module 'webpack/lib/optimize/DedupePlugin.js' { + declare module.exports: $Exports<'webpack/lib/optimize/DedupePlugin'>; +} +declare module 'webpack/lib/optimize/EnsureChunkConditionsPlugin.js' { + declare module.exports: $Exports<'webpack/lib/optimize/EnsureChunkConditionsPlugin'>; +} +declare module 'webpack/lib/optimize/FlagIncludedChunksPlugin.js' { + declare module.exports: $Exports<'webpack/lib/optimize/FlagIncludedChunksPlugin'>; +} +declare module 'webpack/lib/optimize/LimitChunkCountPlugin.js' { + declare module.exports: $Exports<'webpack/lib/optimize/LimitChunkCountPlugin'>; +} +declare module 'webpack/lib/optimize/MergeDuplicateChunksPlugin.js' { + declare module.exports: $Exports<'webpack/lib/optimize/MergeDuplicateChunksPlugin'>; +} +declare module 'webpack/lib/optimize/MinChunkSizePlugin.js' { + declare module.exports: $Exports<'webpack/lib/optimize/MinChunkSizePlugin'>; +} +declare module 'webpack/lib/optimize/ModuleConcatenationPlugin.js' { + declare module.exports: $Exports<'webpack/lib/optimize/ModuleConcatenationPlugin'>; +} +declare module 'webpack/lib/optimize/OccurrenceOrderPlugin.js' { + declare module.exports: $Exports<'webpack/lib/optimize/OccurrenceOrderPlugin'>; +} +declare module 'webpack/lib/optimize/RemoveEmptyChunksPlugin.js' { + declare module.exports: $Exports<'webpack/lib/optimize/RemoveEmptyChunksPlugin'>; +} +declare module 'webpack/lib/optimize/RemoveParentModulesPlugin.js' { + declare module.exports: $Exports<'webpack/lib/optimize/RemoveParentModulesPlugin'>; +} +declare module 'webpack/lib/optimize/UglifyJsPlugin.js' { + declare module.exports: $Exports<'webpack/lib/optimize/UglifyJsPlugin'>; +} +declare module 'webpack/lib/OptionsApply.js' { + declare module.exports: $Exports<'webpack/lib/OptionsApply'>; +} +declare module 'webpack/lib/OptionsDefaulter.js' { + declare module.exports: $Exports<'webpack/lib/OptionsDefaulter'>; +} +declare module 'webpack/lib/Parser.js' { + declare module.exports: $Exports<'webpack/lib/Parser'>; +} +declare module 'webpack/lib/ParserHelpers.js' { + declare module.exports: $Exports<'webpack/lib/ParserHelpers'>; +} +declare module 'webpack/lib/performance/AssetsOverSizeLimitWarning.js' { + declare module.exports: $Exports<'webpack/lib/performance/AssetsOverSizeLimitWarning'>; +} +declare module 'webpack/lib/performance/EntrypointsOverSizeLimitWarning.js' { + declare module.exports: $Exports<'webpack/lib/performance/EntrypointsOverSizeLimitWarning'>; +} +declare module 'webpack/lib/performance/NoAsyncChunksWarning.js' { + declare module.exports: $Exports<'webpack/lib/performance/NoAsyncChunksWarning'>; +} +declare module 'webpack/lib/performance/SizeLimitsPlugin.js' { + declare module.exports: $Exports<'webpack/lib/performance/SizeLimitsPlugin'>; +} +declare module 'webpack/lib/PrefetchPlugin.js' { + declare module.exports: $Exports<'webpack/lib/PrefetchPlugin'>; +} +declare module 'webpack/lib/prepareOptions.js' { + declare module.exports: $Exports<'webpack/lib/prepareOptions'>; +} +declare module 'webpack/lib/ProgressPlugin.js' { + declare module.exports: $Exports<'webpack/lib/ProgressPlugin'>; +} +declare module 'webpack/lib/ProvidePlugin.js' { + declare module.exports: $Exports<'webpack/lib/ProvidePlugin'>; +} +declare module 'webpack/lib/RawModule.js' { + declare module.exports: $Exports<'webpack/lib/RawModule'>; +} +declare module 'webpack/lib/RecordIdsPlugin.js' { + declare module.exports: $Exports<'webpack/lib/RecordIdsPlugin'>; +} +declare module 'webpack/lib/removeAndDo.js' { + declare module.exports: $Exports<'webpack/lib/removeAndDo'>; +} +declare module 'webpack/lib/RequestShortener.js' { + declare module.exports: $Exports<'webpack/lib/RequestShortener'>; +} +declare module 'webpack/lib/RequireJsStuffPlugin.js' { + declare module.exports: $Exports<'webpack/lib/RequireJsStuffPlugin'>; +} +declare module 'webpack/lib/RuleSet.js' { + declare module.exports: $Exports<'webpack/lib/RuleSet'>; +} +declare module 'webpack/lib/SetVarMainTemplatePlugin.js' { + declare module.exports: $Exports<'webpack/lib/SetVarMainTemplatePlugin'>; +} +declare module 'webpack/lib/SingleEntryPlugin.js' { + declare module.exports: $Exports<'webpack/lib/SingleEntryPlugin'>; +} +declare module 'webpack/lib/SizeFormatHelpers.js' { + declare module.exports: $Exports<'webpack/lib/SizeFormatHelpers'>; +} +declare module 'webpack/lib/SourceMapDevToolModuleOptionsPlugin.js' { + declare module.exports: $Exports<'webpack/lib/SourceMapDevToolModuleOptionsPlugin'>; +} +declare module 'webpack/lib/SourceMapDevToolPlugin.js' { + declare module.exports: $Exports<'webpack/lib/SourceMapDevToolPlugin'>; +} +declare module 'webpack/lib/Stats.js' { + declare module.exports: $Exports<'webpack/lib/Stats'>; +} +declare module 'webpack/lib/Template.js' { + declare module.exports: $Exports<'webpack/lib/Template'>; +} +declare module 'webpack/lib/TemplatedPathPlugin.js' { + declare module.exports: $Exports<'webpack/lib/TemplatedPathPlugin'>; +} +declare module 'webpack/lib/UmdMainTemplatePlugin.js' { + declare module.exports: $Exports<'webpack/lib/UmdMainTemplatePlugin'>; +} +declare module 'webpack/lib/UnsupportedFeatureWarning.js' { + declare module.exports: $Exports<'webpack/lib/UnsupportedFeatureWarning'>; +} +declare module 'webpack/lib/UseStrictPlugin.js' { + declare module.exports: $Exports<'webpack/lib/UseStrictPlugin'>; +} +declare module 'webpack/lib/util/identifier.js' { + declare module.exports: $Exports<'webpack/lib/util/identifier'>; +} +declare module 'webpack/lib/util/Queue.js' { + declare module.exports: $Exports<'webpack/lib/util/Queue'>; +} +declare module 'webpack/lib/util/Semaphore.js' { + declare module.exports: $Exports<'webpack/lib/util/Semaphore'>; +} +declare module 'webpack/lib/util/SortableSet.js' { + declare module.exports: $Exports<'webpack/lib/util/SortableSet'>; +} +declare module 'webpack/lib/validateSchema.js' { + declare module.exports: $Exports<'webpack/lib/validateSchema'>; +} +declare module 'webpack/lib/WarnCaseSensitiveModulesPlugin.js' { + declare module.exports: $Exports<'webpack/lib/WarnCaseSensitiveModulesPlugin'>; +} +declare module 'webpack/lib/WatchIgnorePlugin.js' { + declare module.exports: $Exports<'webpack/lib/WatchIgnorePlugin'>; +} +declare module 'webpack/lib/web/WebEnvironmentPlugin.js' { + declare module.exports: $Exports<'webpack/lib/web/WebEnvironmentPlugin'>; +} +declare module 'webpack/lib/webpack.js' { + declare module.exports: $Exports<'webpack/lib/webpack'>; +} +declare module 'webpack/lib/webpack.web.js' { + declare module.exports: $Exports<'webpack/lib/webpack.web'>; +} +declare module 'webpack/lib/WebpackError.js' { + declare module.exports: $Exports<'webpack/lib/WebpackError'>; +} +declare module 'webpack/lib/WebpackOptionsApply.js' { + declare module.exports: $Exports<'webpack/lib/WebpackOptionsApply'>; +} +declare module 'webpack/lib/WebpackOptionsDefaulter.js' { + declare module.exports: $Exports<'webpack/lib/WebpackOptionsDefaulter'>; +} +declare module 'webpack/lib/WebpackOptionsValidationError.js' { + declare module.exports: $Exports<'webpack/lib/WebpackOptionsValidationError'>; +} +declare module 'webpack/lib/webworker/WebWorkerChunkTemplatePlugin.js' { + declare module.exports: $Exports<'webpack/lib/webworker/WebWorkerChunkTemplatePlugin'>; +} +declare module 'webpack/lib/webworker/WebWorkerHotUpdateChunkTemplatePlugin.js' { + declare module.exports: $Exports<'webpack/lib/webworker/WebWorkerHotUpdateChunkTemplatePlugin'>; +} +declare module 'webpack/lib/webworker/WebWorkerMainTemplate.runtime.js' { + declare module.exports: $Exports<'webpack/lib/webworker/WebWorkerMainTemplate.runtime'>; +} +declare module 'webpack/lib/webworker/WebWorkerMainTemplatePlugin.js' { + declare module.exports: $Exports<'webpack/lib/webworker/WebWorkerMainTemplatePlugin'>; +} +declare module 'webpack/lib/webworker/WebWorkerTemplatePlugin.js' { + declare module.exports: $Exports<'webpack/lib/webworker/WebWorkerTemplatePlugin'>; +} +declare module 'webpack/schemas/ajv.absolutePath.js' { + declare module.exports: $Exports<'webpack/schemas/ajv.absolutePath'>; +} +declare module 'webpack/web_modules/node-libs-browser.js' { + declare module.exports: $Exports<'webpack/web_modules/node-libs-browser'>; +} diff --git a/flow-typed/npm/x-img-diff-js_vx.x.x.js b/flow-typed/npm/x-img-diff-js_vx.x.x.js new file mode 100644 index 00000000..d3f26192 --- /dev/null +++ b/flow-typed/npm/x-img-diff-js_vx.x.x.js @@ -0,0 +1,60 @@ +// flow-typed signature: 8f32dd23b7a079fa1e3e5ea796c84508 +// flow-typed version: <>/x-img-diff-js_v0.3.5/flow_v0.63.1 + +/** + * This is an autogenerated libdef stub for: + * + * 'x-img-diff-js' + * + * Fill this stub out by replacing all the `any` types. + * + * Once filled out, we encourage you to share your work with the + * community by sending a pull request to: + * https://github.com/flowtype/flow-typed + */ + +declare module 'x-img-diff-js' { + declare module.exports: any; +} + +/** + * We include stubs for each file inside this npm package in case you need to + * require those files directly. Feel free to delete any files that aren't + * needed. + */ +declare module 'x-img-diff-js/binding-gen/post' { + declare module.exports: any; +} + +declare module 'x-img-diff-js/build/cv-wasm_browser' { + declare module.exports: any; +} + +declare module 'x-img-diff-js/build/cv-wasm_node' { + declare module.exports: any; +} + +declare module 'x-img-diff-js/src/index' { + declare module.exports: any; +} + +declare module 'x-img-diff-js/test/test_node' { + declare module.exports: any; +} + +// Filename aliases +declare module 'x-img-diff-js/binding-gen/post.js' { + declare module.exports: $Exports<'x-img-diff-js/binding-gen/post'>; +} +declare module 'x-img-diff-js/build/cv-wasm_browser.js' { + declare module.exports: $Exports<'x-img-diff-js/build/cv-wasm_browser'>; +} +declare module 'x-img-diff-js/build/cv-wasm_node.js' { + declare module.exports: $Exports<'x-img-diff-js/build/cv-wasm_node'>; +} +declare module 'x-img-diff-js/src/index.js' { + declare module.exports: $Exports<'x-img-diff-js/src/index'>; +} +declare module 'x-img-diff-js/test/test_node.js' { + declare module.exports: $Exports<'x-img-diff-js/test/test_node'>; +} diff --git a/package.json b/package.json index 009fbc08..7e2e84dc 100644 --- a/package.json +++ b/package.json @@ -1,56 +1,129 @@ { - "name": "@bokuweb/reg-cli-wasm", - "version": "0.0.0-experimental6", - "description": "Visual regression testing CLI, Wasm-backed. Drop-in compatible with classic reg-cli's CLI flags, reg.json/junit schema, and `compare()` EventEmitter API (verified against reg-suit's processor.ts).", - "type": "module", - "exports": { - ".": { - "types": "./dist/index.d.ts", - "import": "./dist/index.mjs", - "require": "./dist/index.cjs" - } + "name": "reg-cli", + "version": "0.18.16", + "description": "", + "main": "./dist/index.js", + "start": "node ./dist/cli.js", + "scripts": { + "watch": "babel src --watch -d dist", + "build": "npm run build:cli && npm run build:report", + "build:cli": "babel src -d dist", + "build:report": "sh ./scripts/build-ui.sh v0.5.0", + "flow": "flow", + "copy:ximgdiff": "copyfiles -u 3 node_modules/x-img-diff-js/build/cv-wasm_browser.* report/assets", + "prepublishOnly": "npm run build", + "reg": "node dist/cli.js ./sample/actual ./sample/expected ./sample/diff -I -R ./sample/index.html -T 0.01 -X client", + "reg:from": "node dist/cli.js -F ./sample/reg.json -R ./sample/index.html", + "screenshot": "node test/screenshot.js", + "test:cli": "chmod +x dist/cli.js && ava test/cli.test.mjs", + "test:screenshot": "npm run build:report && npm run reg && npm run screenshot", + "test": "export NODE_OPTIONS=--openssl-legacy-provider && cross-env NODE_ENV=\"debug\" npm run build:report && npm run build && npm run test:cli && npm run test:screenshot" }, "engines": { - "node": ">=20" - }, - "main": "./dist/index.cjs", - "module": "./dist/index.mjs", - "types": "./dist/index.d.ts", - "files": [ - "dist" - ], - "bin": { - "reg-cli": "./dist/cli.mjs" - }, - "scripts": { - "build": "unbuild && cp reg.wasm ./dist/shared/reg.wasm", - "build:report": "sh ./scripts/build-ui.sh v0.3.0", - "build:wasm": "bash ./scripts/build-wasm.sh", - "release:prep": "bash ./scripts/release.sh", - "release:pack": "bash ./scripts/release.sh --pack", - "test": "node --test test/", - "prepublishOnly": "npm run build" + "node": ">=18" }, "repository": { "type": "git", "url": "https://github.com/reg-viz/reg-cli/" }, - "keywords": [], + "ava": { + "workerThreads": false + }, "author": "bokuweb", "license": "MIT", + "pnpm": { + "overrides": { + "set-value": "4.1.0", + "tar": "^7.5.13", + "tar-fs": "3.1.2", + "ws": "8.17.1", + "kind-of": "^6.0.3", + "randomatic": "3.1.1", + "deep-extend": "0.6.0", + "lodash": "4.18.1", + "yargs-parser": "^21.0.0", + "minimist": "^1.2.3", + "ajv": "^8.0.0", + "json-schema": "^0.4.0", + "ansi-regex": "^5.0.1", + "glob-parent": "^6.0.1", + "dot-prop": "^10.0.0", + "node-forge": "^1.0.0", + "serialize-javascript": "^7.0.0", + "y18n": "^5.0.0", + "braces": "^3.0.0", + "trim-newlines": "3.0.1", + "brace-expansion": "5.0.5", + "debug": "^4.3.4", + "@octokit/request-error@>=1.0.0 <5.1.1": ">=5.1.1", + "@octokit/plugin-paginate-rest@>=1.0.0 <9.2.2": ">=9.2.2", + "@octokit/request@>=1.0.0 <8.4.1": ">=8.4.1", + "minimatch@<3.1.4": "^3.1.4", + "minimatch@>=4.0.0 <4.2.5": "^4.2.5", + "minimatch@>=5.0.0 <5.1.8": "^5.1.8", + "minimatch@>=6.0.0 <6.2.2": "^6.2.2", + "minimatch@>=7.0.0 <7.4.8": "^7.4.8", + "minimatch@>=8.0.0 <8.0.6": "^8.0.6", + "minimatch@>=9.0.0 <9.0.7": "^9.0.7", + "minimatch@>=10.0.0 <10.2.3": "^10.2.3", + "basic-ftp@<5.2.0": ">=5.2.0", + "ajv@>=7.0.0-alpha.0 <8.18.0": ">=8.18.0", + "picomatch@<2.3.2": ">=2.3.2", + "picomatch@>=4.0.0 <4.0.4": ">=4.0.4", + "basic-ftp@<=5.2.1": ">=5.2.2", + "simple-git@<3.32.0": ">=3.32.0", + "simple-git@>=3.15.0 <3.32.3": ">=3.32.3", + "basic-ftp@<=5.2.2": ">=5.3.0" + } + }, "dependencies": { - "@tybys/wasm-util": "^0.9.0", - "x-img-diff-js": "^0.3.5", - "@opentelemetry/api": "^1.9.0", - "@opentelemetry/sdk-node": "^0.57.2", - "@opentelemetry/exporter-trace-otlp-http": "^0.57.2", - "@opentelemetry/resources": "^1.30.1", - "@opentelemetry/semantic-conventions": "^1.28.0" + "bluebird": "3.7.2", + "chalk": "4.1.2", + "cli-spinner": "0.2.10", + "cross-spawn": "7.0.6", + "del": "8.0.1", + "glob": "7.2.3", + "img-diff-js": "0.5.4", + "jpeg-js": "^0.4.4", + "lodash": "4.18.1", + "make-dir": "3.1.0", + "md5-file": "4.0.0", + "meow": "^9.0.0", + "mustache": "4.2.0", + "x-img-diff-js": "0.3.5", + "xmlbuilder2": "^4.0.3", + "yargs-parser": "^21.0.1" }, "devDependencies": { - "@types/node": "^22.5.5", - "@pyroscope/nodejs": "^0.4.1", - "unbuild": "^2.0.0" + "@babel/cli": "^7.28.3", + "@babel/core": "^7.28.5", + "@babel/plugin-transform-block-scoping": "^7.28.5", + "@babel/plugin-transform-flow-strip-types": "^7.27.1", + "@babel/preset-env": "^7.28.5", + "@babel/preset-flow": "^7.27.1", + "@babel/preset-stage-2": "^7.8.3", + "ava": "8.0.0", + "copyfiles": "2.4.1", + "cross-env": "10.1.0", + "finalhandler": "2.1.1", + "flow-bin": "0.77.0", + "flow-typed": "4.1.1", + "puppeteer": "24.42.0", + "rimraf": "3.0.2", + "serve-static": "2.2.1" + }, + "files": [ + "dist", + "template", + "report/ui/dist/report.js", + "report/ui/dist/worker.js", + "report/ui/dist/style.css", + "report/assets/favicon_failure.png", + "report/assets/favicon_success.png", + "report/sample" + ], + "bin": { + "reg-cli": "./dist/cli.js" }, "packageManager": "pnpm@10.33.2+sha512.a90faf6feeab71ad6c6e57f94e0fe1a12f5dcc22cd754db40ae9593eb6a3e0b6b12e3540218bb37ae083404b1f2ce6db2a4121e979829b4aff94b99f49da1cf8" } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c94b32ef..44616c12 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -4,698 +4,810 @@ settings: autoInstallPeers: true excludeLinksFromLockfile: false +overrides: + set-value: 4.1.0 + tar: ^7.5.13 + tar-fs: 3.1.2 + ws: 8.17.1 + kind-of: ^6.0.3 + randomatic: 3.1.1 + deep-extend: 0.6.0 + lodash: 4.18.1 + yargs-parser: ^21.0.0 + minimist: ^1.2.3 + ajv: ^8.0.0 + json-schema: ^0.4.0 + ansi-regex: ^5.0.1 + glob-parent: ^6.0.1 + dot-prop: ^10.0.0 + node-forge: ^1.0.0 + serialize-javascript: ^7.0.0 + y18n: ^5.0.0 + braces: ^3.0.0 + trim-newlines: 3.0.1 + brace-expansion: 5.0.5 + debug: ^4.3.4 + '@octokit/request-error@>=1.0.0 <5.1.1': '>=5.1.1' + '@octokit/plugin-paginate-rest@>=1.0.0 <9.2.2': '>=9.2.2' + '@octokit/request@>=1.0.0 <8.4.1': '>=8.4.1' + minimatch@<3.1.4: ^3.1.4 + minimatch@>=4.0.0 <4.2.5: ^4.2.5 + minimatch@>=5.0.0 <5.1.8: ^5.1.8 + minimatch@>=6.0.0 <6.2.2: ^6.2.2 + minimatch@>=7.0.0 <7.4.8: ^7.4.8 + minimatch@>=8.0.0 <8.0.6: ^8.0.6 + minimatch@>=9.0.0 <9.0.7: ^9.0.7 + minimatch@>=10.0.0 <10.2.3: ^10.2.3 + basic-ftp@<5.2.0: '>=5.2.0' + ajv@>=7.0.0-alpha.0 <8.18.0: '>=8.18.0' + picomatch@<2.3.2: '>=2.3.2' + picomatch@>=4.0.0 <4.0.4: '>=4.0.4' + basic-ftp@<=5.2.1: '>=5.2.2' + simple-git@<3.32.0: '>=3.32.0' + simple-git@>=3.15.0 <3.32.3: '>=3.32.3' + basic-ftp@<=5.2.2: '>=5.3.0' + importers: .: dependencies: - '@opentelemetry/api': - specifier: ^1.9.0 - version: 1.9.0 - '@opentelemetry/exporter-trace-otlp-http': - specifier: ^0.57.2 - version: 0.57.2(@opentelemetry/api@1.9.0) - '@opentelemetry/resources': - specifier: ^1.30.1 - version: 1.30.1(@opentelemetry/api@1.9.0) - '@opentelemetry/sdk-node': - specifier: ^0.57.2 - version: 0.57.2(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': - specifier: ^1.28.0 - version: 1.38.0 - '@tybys/wasm-util': - specifier: ^0.9.0 - version: 0.9.0 + bluebird: + specifier: 3.7.2 + version: 3.7.2 + chalk: + specifier: 4.1.2 + version: 4.1.2 + cli-spinner: + specifier: 0.2.10 + version: 0.2.10 + cross-spawn: + specifier: 7.0.6 + version: 7.0.6 + del: + specifier: 8.0.1 + version: 8.0.1 + glob: + specifier: 7.2.3 + version: 7.2.3 + img-diff-js: + specifier: 0.5.4 + version: 0.5.4 + jpeg-js: + specifier: ^0.4.4 + version: 0.4.4 + lodash: + specifier: 4.18.1 + version: 4.18.1 + make-dir: + specifier: 3.1.0 + version: 3.1.0 + md5-file: + specifier: 4.0.0 + version: 4.0.0 + meow: + specifier: ^9.0.0 + version: 9.0.0 + mustache: + specifier: 4.2.0 + version: 4.2.0 x-img-diff-js: - specifier: ^0.3.5 + specifier: 0.3.5 version: 0.3.5 + xmlbuilder2: + specifier: ^4.0.3 + version: 4.0.3 + yargs-parser: + specifier: ^21.0.0 + version: 21.1.1 devDependencies: - '@pyroscope/nodejs': - specifier: ^0.4.1 - version: 0.4.1 - '@types/node': - specifier: ^22.5.5 - version: 22.5.5 - unbuild: - specifier: ^2.0.0 - version: 2.0.0(typescript@5.6.2) + '@babel/cli': + specifier: ^7.28.3 + version: 7.28.6(@babel/core@7.29.0) + '@babel/core': + specifier: ^7.28.5 + version: 7.29.0 + '@babel/plugin-transform-block-scoping': + specifier: ^7.28.5 + version: 7.28.6(@babel/core@7.29.0) + '@babel/plugin-transform-flow-strip-types': + specifier: ^7.27.1 + version: 7.27.1(@babel/core@7.29.0) + '@babel/preset-env': + specifier: ^7.28.5 + version: 7.29.3(@babel/core@7.29.0) + '@babel/preset-flow': + specifier: ^7.27.1 + version: 7.27.1(@babel/core@7.29.0) + '@babel/preset-stage-2': + specifier: ^7.8.3 + version: 7.8.3 + ava: + specifier: 8.0.0 + version: 8.0.0 + copyfiles: + specifier: 2.4.1 + version: 2.4.1 + cross-env: + specifier: 10.1.0 + version: 10.1.0 + finalhandler: + specifier: 2.1.1 + version: 2.1.1 + flow-bin: + specifier: 0.77.0 + version: 0.77.0 + flow-typed: + specifier: 4.1.1 + version: 4.1.1 + puppeteer: + specifier: 24.42.0 + version: 24.42.0 + rimraf: + specifier: 3.0.2 + version: 3.0.2 + serve-static: + specifier: 2.2.1 + version: 2.2.1 packages: - '@ampproject/remapping@2.3.0': - resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} - engines: {node: '>=6.0.0'} + '@babel/cli@7.28.6': + resolution: {integrity: sha512-6EUNcuBbNkj08Oj4gAZ+BUU8yLCgKzgVX4gaTh09Ya2C8ICM4P+G30g4m3akRxSYAp3A/gnWchrNst7px4/nUQ==} + engines: {node: '>=6.9.0'} + hasBin: true + peerDependencies: + '@babel/core': ^7.0.0-0 - '@babel/code-frame@7.24.7': - resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==} + '@babel/code-frame@7.29.0': + resolution: {integrity: sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==} engines: {node: '>=6.9.0'} - '@babel/compat-data@7.25.4': - resolution: {integrity: sha512-+LGRog6RAsCJrrrg/IO6LGmpphNe5DiK30dGjCoxxeGv49B10/3XYGxPsAwrDlMFcFEvdAUavDT8r9k/hSyQqQ==} + '@babel/compat-data@7.29.3': + resolution: {integrity: sha512-LIVqM46zQWZhj17qA8wb4nW/ixr2y1Nw+r1etiAWgRM6U1IqP+LNhL1yg440jYZR72jCWcWbLWzIosH+uP1fqg==} engines: {node: '>=6.9.0'} - '@babel/core@7.25.2': - resolution: {integrity: sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA==} + '@babel/core@7.29.0': + resolution: {integrity: sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==} engines: {node: '>=6.9.0'} - '@babel/generator@7.25.6': - resolution: {integrity: sha512-VPC82gr1seXOpkjAAKoLhP50vx4vGNlF4msF64dSFq1P8RfB+QAuJWGHPXXPc8QyfVWwwB/TNNU4+ayZmHNbZw==} + '@babel/generator@7.29.0': + resolution: {integrity: sha512-vSH118/wwM/pLR38g/Sgk05sNtro6TlTJKuiMXDaZqPUfjTFcudpCOt00IhOfj+1BFAX+UFAlzCU+6WXr3GLFQ==} engines: {node: '>=6.9.0'} - '@babel/helper-compilation-targets@7.25.2': - resolution: {integrity: sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw==} + '@babel/helper-annotate-as-pure@7.27.3': + resolution: {integrity: sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==} engines: {node: '>=6.9.0'} - '@babel/helper-module-imports@7.24.7': - resolution: {integrity: sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==} + '@babel/helper-compilation-targets@7.28.6': + resolution: {integrity: sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA==} engines: {node: '>=6.9.0'} - '@babel/helper-module-transforms@7.25.2': - resolution: {integrity: sha512-BjyRAbix6j/wv83ftcVJmBt72QtHI56C7JXZoG2xATiLpmoC7dpd8WnkikExHDVPpi/3qCmO6WY1EaXOluiecQ==} + '@babel/helper-create-class-features-plugin@7.29.3': + resolution: {integrity: sha512-RpLYy2sb51oNLjuu1iD3bwBqCBWUzjO0ocp+iaCP/lJtb2CPLcnC2Fftw+4sAzaMELGeWTgExSKADbdo0GFVzA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 - '@babel/helper-simple-access@7.24.7': - resolution: {integrity: sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==} + '@babel/helper-create-regexp-features-plugin@7.28.5': + resolution: {integrity: sha512-N1EhvLtHzOvj7QQOUCCS3NrPJP8c5W6ZXCHDn7Yialuy1iu4r5EmIYkXlKNqT99Ciw+W0mDqWoR6HWMZlFP3hw==} engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 - '@babel/helper-string-parser@7.24.8': - resolution: {integrity: sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==} - engines: {node: '>=6.9.0'} + '@babel/helper-define-polyfill-provider@0.6.8': + resolution: {integrity: sha512-47UwBLPpQi1NoWzLuHNjRoHlYXMwIJoBf7MFou6viC/sIHWYygpvr0B6IAyh5sBdA2nr2LPIRww8lfaUVQINBA==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 - '@babel/helper-validator-identifier@7.24.7': - resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==} + '@babel/helper-globals@7.28.0': + resolution: {integrity: sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==} engines: {node: '>=6.9.0'} - '@babel/helper-validator-option@7.24.8': - resolution: {integrity: sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q==} + '@babel/helper-member-expression-to-functions@7.28.5': + resolution: {integrity: sha512-cwM7SBRZcPCLgl8a7cY0soT1SptSzAlMH39vwiRpOQkJlh53r5hdHwLSCZpQdVLT39sZt+CRpNwYG4Y2v77atg==} engines: {node: '>=6.9.0'} - '@babel/helpers@7.25.6': - resolution: {integrity: sha512-Xg0tn4HcfTijTwfDwYlvVCl43V6h4KyVVX2aEm4qdO/PC6L2YvzLHFdmxhoeSA3eslcE6+ZVXHgWwopXYLNq4Q==} + '@babel/helper-module-imports@7.28.6': + resolution: {integrity: sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==} engines: {node: '>=6.9.0'} - '@babel/highlight@7.24.7': - resolution: {integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==} + '@babel/helper-module-transforms@7.28.6': + resolution: {integrity: sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA==} engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 - '@babel/parser@7.25.6': - resolution: {integrity: sha512-trGdfBdbD0l1ZPmcJ83eNxB9rbEax4ALFTF7fN386TMYbeCQbyme5cOEXQhbGXKebwGaB/J52w1mrklMcbgy6Q==} - engines: {node: '>=6.0.0'} - hasBin: true - - '@babel/standalone@7.25.6': - resolution: {integrity: sha512-Kf2ZcZVqsKbtYhlA7sP0z5A3q5hmCVYMKMWRWNK/5OVwHIve3JY1djVRmIVAx8FMueLIfZGKQDIILK2w8zO4mg==} + '@babel/helper-optimise-call-expression@7.27.1': + resolution: {integrity: sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw==} engines: {node: '>=6.9.0'} - '@babel/template@7.25.0': - resolution: {integrity: sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==} + '@babel/helper-plugin-utils@7.27.1': + resolution: {integrity: sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==} engines: {node: '>=6.9.0'} - '@babel/traverse@7.25.6': - resolution: {integrity: sha512-9Vrcx5ZW6UwK5tvqsj0nGpp/XzqthkT0dqIc9g1AdtygFToNtTF67XzYS//dm+SAK9cp3B9R4ZO/46p63SCjlQ==} + '@babel/helper-plugin-utils@7.28.6': + resolution: {integrity: sha512-S9gzZ/bz83GRysI7gAD4wPT/AI3uCnY+9xn+Mx/KPs2JwHJIz1W8PZkg2cqyt3RNOBM8ejcXhV6y8Og7ly/Dug==} engines: {node: '>=6.9.0'} - '@babel/types@7.25.6': - resolution: {integrity: sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw==} + '@babel/helper-remap-async-to-generator@7.27.1': + resolution: {integrity: sha512-7fiA521aVw8lSPeI4ZOD3vRFkoqkJcS+z4hFo82bFSH/2tNd6eJ5qCVMS5OzDmZh/kaHQeBaeyxK6wljcPtveA==} engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 - '@datadog/pprof@5.4.1': - resolution: {integrity: sha512-IvpL96e/cuh8ugP5O8Czdup7XQOLHeIDgM5pac5W7Lc1YzGe5zTtebKFpitvb1CPw1YY+1qFx0pWGgKP2kOfHg==} - engines: {node: '>=16'} - - '@esbuild/aix-ppc64@0.19.12': - resolution: {integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [aix] - - '@esbuild/aix-ppc64@0.23.1': - resolution: {integrity: sha512-6VhYk1diRqrhBAqpJEdjASR/+WVRtfjpqKuNw11cLiaWpAT/Uu+nokB+UJnevzy/P9C/ty6AOe0dwueMrGh/iQ==} - engines: {node: '>=18'} - cpu: [ppc64] - os: [aix] - - '@esbuild/android-arm64@0.19.12': - resolution: {integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [android] - - '@esbuild/android-arm64@0.23.1': - resolution: {integrity: sha512-xw50ipykXcLstLeWH7WRdQuysJqejuAGPd30vd1i5zSyKK3WE+ijzHmLKxdiCMtH1pHz78rOg0BKSYOSB/2Khw==} - engines: {node: '>=18'} - cpu: [arm64] - os: [android] - - '@esbuild/android-arm@0.19.12': - resolution: {integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==} - engines: {node: '>=12'} - cpu: [arm] - os: [android] - - '@esbuild/android-arm@0.23.1': - resolution: {integrity: sha512-uz6/tEy2IFm9RYOyvKl88zdzZfwEfKZmnX9Cj1BHjeSGNuGLuMD1kR8y5bteYmwqKm1tj8m4cb/aKEorr6fHWQ==} - engines: {node: '>=18'} - cpu: [arm] - os: [android] - - '@esbuild/android-x64@0.19.12': - resolution: {integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==} - engines: {node: '>=12'} - cpu: [x64] - os: [android] - - '@esbuild/android-x64@0.23.1': - resolution: {integrity: sha512-nlN9B69St9BwUoB+jkyU090bru8L0NA3yFvAd7k8dNsVH8bi9a8cUAUSEcEEgTp2z3dbEDGJGfP6VUnkQnlReg==} - engines: {node: '>=18'} - cpu: [x64] - os: [android] - - '@esbuild/darwin-arm64@0.19.12': - resolution: {integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==} - engines: {node: '>=12'} - cpu: [arm64] - os: [darwin] - - '@esbuild/darwin-arm64@0.23.1': - resolution: {integrity: sha512-YsS2e3Wtgnw7Wq53XXBLcV6JhRsEq8hkfg91ESVadIrzr9wO6jJDMZnCQbHm1Guc5t/CdDiFSSfWP58FNuvT3Q==} - engines: {node: '>=18'} - cpu: [arm64] - os: [darwin] - - '@esbuild/darwin-x64@0.19.12': - resolution: {integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==} - engines: {node: '>=12'} - cpu: [x64] - os: [darwin] - - '@esbuild/darwin-x64@0.23.1': - resolution: {integrity: sha512-aClqdgTDVPSEGgoCS8QDG37Gu8yc9lTHNAQlsztQ6ENetKEO//b8y31MMu2ZaPbn4kVsIABzVLXYLhCGekGDqw==} - engines: {node: '>=18'} - cpu: [x64] - os: [darwin] + '@babel/helper-replace-supers@7.28.6': + resolution: {integrity: sha512-mq8e+laIk94/yFec3DxSjCRD2Z0TAjhVbEJY3UQrlwVo15Lmt7C2wAUbK4bjnTs4APkwsYLTahXRraQXhb1WCg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 - '@esbuild/freebsd-arm64@0.19.12': - resolution: {integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [freebsd] + '@babel/helper-skip-transparent-expression-wrappers@7.27.1': + resolution: {integrity: sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg==} + engines: {node: '>=6.9.0'} - '@esbuild/freebsd-arm64@0.23.1': - resolution: {integrity: sha512-h1k6yS8/pN/NHlMl5+v4XPfikhJulk4G+tKGFIOwURBSFzE8bixw1ebjluLOjfwtLqY0kewfjLSrO6tN2MgIhA==} - engines: {node: '>=18'} - cpu: [arm64] - os: [freebsd] + '@babel/helper-string-parser@7.27.1': + resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==} + engines: {node: '>=6.9.0'} - '@esbuild/freebsd-x64@0.19.12': - resolution: {integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==} - engines: {node: '>=12'} - cpu: [x64] - os: [freebsd] + '@babel/helper-validator-identifier@7.28.5': + resolution: {integrity: sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==} + engines: {node: '>=6.9.0'} - '@esbuild/freebsd-x64@0.23.1': - resolution: {integrity: sha512-lK1eJeyk1ZX8UklqFd/3A60UuZ/6UVfGT2LuGo3Wp4/z7eRTRYY+0xOu2kpClP+vMTi9wKOfXi2vjUpO1Ro76g==} - engines: {node: '>=18'} - cpu: [x64] - os: [freebsd] + '@babel/helper-validator-option@7.27.1': + resolution: {integrity: sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==} + engines: {node: '>=6.9.0'} - '@esbuild/linux-arm64@0.19.12': - resolution: {integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [linux] + '@babel/helper-wrap-function@7.28.6': + resolution: {integrity: sha512-z+PwLziMNBeSQJonizz2AGnndLsP2DeGHIxDAn+wdHOGuo4Fo1x1HBPPXeE9TAOPHNNWQKCSlA2VZyYyyibDnQ==} + engines: {node: '>=6.9.0'} - '@esbuild/linux-arm64@0.23.1': - resolution: {integrity: sha512-/93bf2yxencYDnItMYV/v116zff6UyTjo4EtEQjUBeGiVpMmffDNUyD9UN2zV+V3LRV3/on4xdZ26NKzn6754g==} - engines: {node: '>=18'} - cpu: [arm64] - os: [linux] + '@babel/helpers@7.28.6': + resolution: {integrity: sha512-xOBvwq86HHdB7WUDTfKfT/Vuxh7gElQ+Sfti2Cy6yIWNW05P8iUslOVcZ4/sKbE+/jQaukQAdz/gf3724kYdqw==} + engines: {node: '>=6.9.0'} - '@esbuild/linux-arm@0.19.12': - resolution: {integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==} - engines: {node: '>=12'} - cpu: [arm] - os: [linux] + '@babel/highlight@7.25.9': + resolution: {integrity: sha512-llL88JShoCsth8fF8R4SJnIn+WLvR6ccFxu1H3FlMhDontdcmZWf2HgIZ7AIqV3Xcck1idlohrN4EUBQz6klbw==} + engines: {node: '>=6.9.0'} - '@esbuild/linux-arm@0.23.1': - resolution: {integrity: sha512-CXXkzgn+dXAPs3WBwE+Kvnrf4WECwBdfjfeYHpMeVxWE0EceB6vhWGShs6wi0IYEqMSIzdOF1XjQ/Mkm5d7ZdQ==} - engines: {node: '>=18'} - cpu: [arm] - os: [linux] + '@babel/parser@7.29.0': + resolution: {integrity: sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww==} + engines: {node: '>=6.0.0'} + hasBin: true - '@esbuild/linux-ia32@0.19.12': - resolution: {integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==} - engines: {node: '>=12'} - cpu: [ia32] - os: [linux] + '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.28.5': + resolution: {integrity: sha512-87GDMS3tsmMSi/3bWOte1UblL+YUTFMV8SZPZ2eSEL17s74Cw/l63rR6NmGVKMYW2GYi85nE+/d6Hw5N0bEk2Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 - '@esbuild/linux-ia32@0.23.1': - resolution: {integrity: sha512-VTN4EuOHwXEkXzX5nTvVY4s7E/Krz7COC8xkftbbKRYAl96vPiUssGkeMELQMOnLOJ8k3BY1+ZY52tttZnHcXQ==} - engines: {node: '>=18'} - cpu: [ia32] - os: [linux] + '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.27.1': + resolution: {integrity: sha512-qNeq3bCKnGgLkEXUuFry6dPlGfCdQNZbn7yUAPCInwAJHMU7THJfrBSozkcWq5sNM6RcF3S8XyQL2A52KNR9IA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 - '@esbuild/linux-loong64@0.19.12': - resolution: {integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==} - engines: {node: '>=12'} - cpu: [loong64] - os: [linux] + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.27.1': + resolution: {integrity: sha512-g4L7OYun04N1WyqMNjldFwlfPCLVkgB54A/YCXICZYBsvJJE3kByKv9c9+R/nAfmIfjl2rKYLNyMHboYbZaWaA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 - '@esbuild/linux-loong64@0.23.1': - resolution: {integrity: sha512-Vx09LzEoBa5zDnieH8LSMRToj7ir/Jeq0Gu6qJ/1GcBq9GkfoEAoXvLiW1U9J1qE/Y/Oyaq33w5p2ZWrNNHNEw==} - engines: {node: '>=18'} - cpu: [loong64] - os: [linux] + '@babel/plugin-bugfix-safari-rest-destructuring-rhs-array@7.29.3': + resolution: {integrity: sha512-SRS46DFR4HqzUzCVgi90/xMoL+zeBDBvWdKYXSEzh79kXswNFEglUpMKxR04//dPqwYXWUBJ3mpUd933ru9Kmg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 - '@esbuild/linux-mips64el@0.19.12': - resolution: {integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==} - engines: {node: '>=12'} - cpu: [mips64el] - os: [linux] + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.27.1': + resolution: {integrity: sha512-oO02gcONcD5O1iTLi/6frMJBIwWEHceWGSGqrpCmEL8nogiS6J9PBlE48CaK20/Jx1LuRml9aDftLgdjXT8+Cw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.13.0 - '@esbuild/linux-mips64el@0.23.1': - resolution: {integrity: sha512-nrFzzMQ7W4WRLNUOU5dlWAqa6yVeI0P78WKGUo7lg2HShq/yx+UYkeNSE0SSfSure0SqgnsxPvmAUu/vu0E+3Q==} - engines: {node: '>=18'} - cpu: [mips64el] - os: [linux] + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.28.6': + resolution: {integrity: sha512-a0aBScVTlNaiUe35UtfxAN7A/tehvvG4/ByO6+46VPKTRSlfnAFsgKy0FUh+qAkQrDTmhDkT+IBOKlOoMUxQ0g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 - '@esbuild/linux-ppc64@0.19.12': - resolution: {integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [linux] + '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2': + resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 - '@esbuild/linux-ppc64@0.23.1': - resolution: {integrity: sha512-dKN8fgVqd0vUIjxuJI6P/9SSSe/mB9rvA98CSH2sJnlZ/OCZWO1DJvxj8jvKTfYUdGfcq2dDxoKaC6bHuTlgcw==} - engines: {node: '>=18'} - cpu: [ppc64] - os: [linux] + '@babel/plugin-syntax-flow@7.27.1': + resolution: {integrity: sha512-p9OkPbZ5G7UT1MofwYFigGebnrzGJacoBSQM0/6bi/PUMVE+qlWDD/OalvQKbwgQzU6dl0xAv6r4X7Jme0RYxA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 - '@esbuild/linux-riscv64@0.19.12': - resolution: {integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==} - engines: {node: '>=12'} - cpu: [riscv64] - os: [linux] + '@babel/plugin-syntax-import-assertions@7.28.6': + resolution: {integrity: sha512-pSJUpFHdx9z5nqTSirOCMtYVP2wFgoWhP0p3g8ONK/4IHhLIBd0B9NYqAvIUAhq+OkhO4VM1tENCt0cjlsNShw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 - '@esbuild/linux-riscv64@0.23.1': - resolution: {integrity: sha512-5AV4Pzp80fhHL83JM6LoA6pTQVWgB1HovMBsLQ9OZWLDqVY8MVobBXNSmAJi//Csh6tcY7e7Lny2Hg1tElMjIA==} - engines: {node: '>=18'} - cpu: [riscv64] - os: [linux] + '@babel/plugin-syntax-import-attributes@7.28.6': + resolution: {integrity: sha512-jiLC0ma9XkQT3TKJ9uYvlakm66Pamywo+qwL+oL8HJOvc6TWdZXVfhqJr8CCzbSGUAbDOzlGHJC1U+vRfLQDvw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 - '@esbuild/linux-s390x@0.19.12': - resolution: {integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==} - engines: {node: '>=12'} - cpu: [s390x] - os: [linux] + '@babel/plugin-syntax-unicode-sets-regex@7.18.6': + resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 - '@esbuild/linux-s390x@0.23.1': - resolution: {integrity: sha512-9ygs73tuFCe6f6m/Tb+9LtYxWR4c9yg7zjt2cYkjDbDpV/xVn+68cQxMXCjUpYwEkze2RcU/rMnfIXNRFmSoDw==} - engines: {node: '>=18'} - cpu: [s390x] - os: [linux] + '@babel/plugin-transform-arrow-functions@7.27.1': + resolution: {integrity: sha512-8Z4TGic6xW70FKThA5HYEKKyBpOOsucTOD1DjU3fZxDg+K3zBJcXMFnt/4yQiZnf5+MiOMSXQ9PaEK/Ilh1DeA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 - '@esbuild/linux-x64@0.19.12': - resolution: {integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==} - engines: {node: '>=12'} - cpu: [x64] - os: [linux] + '@babel/plugin-transform-async-generator-functions@7.29.0': + resolution: {integrity: sha512-va0VdWro4zlBr2JsXC+ofCPB2iG12wPtVGTWFx2WLDOM3nYQZZIGP82qku2eW/JR83sD+k2k+CsNtyEbUqhU6w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 - '@esbuild/linux-x64@0.23.1': - resolution: {integrity: sha512-EV6+ovTsEXCPAp58g2dD68LxoP/wK5pRvgy0J/HxPGB009omFPv3Yet0HiaqvrIrgPTBuC6wCH1LTOY91EO5hQ==} - engines: {node: '>=18'} - cpu: [x64] - os: [linux] + '@babel/plugin-transform-async-to-generator@7.28.6': + resolution: {integrity: sha512-ilTRcmbuXjsMmcZ3HASTe4caH5Tpo93PkTxF9oG2VZsSWsahydmcEHhix9Ik122RcTnZnUzPbmux4wh1swfv7g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 - '@esbuild/netbsd-x64@0.19.12': - resolution: {integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==} - engines: {node: '>=12'} - cpu: [x64] - os: [netbsd] + '@babel/plugin-transform-block-scoped-functions@7.27.1': + resolution: {integrity: sha512-cnqkuOtZLapWYZUYM5rVIdv1nXYuFVIltZ6ZJ7nIj585QsjKM5dhL2Fu/lICXZ1OyIAFc7Qy+bvDAtTXqGrlhg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 - '@esbuild/netbsd-x64@0.23.1': - resolution: {integrity: sha512-aevEkCNu7KlPRpYLjwmdcuNz6bDFiE7Z8XC4CPqExjTvrHugh28QzUXVOZtiYghciKUacNktqxdpymplil1beA==} - engines: {node: '>=18'} - cpu: [x64] - os: [netbsd] + '@babel/plugin-transform-block-scoping@7.28.6': + resolution: {integrity: sha512-tt/7wOtBmwHPNMPu7ax4pdPz6shjFrmHDghvNC+FG9Qvj7D6mJcoRQIF5dy4njmxR941l6rgtvfSB2zX3VlUIw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 - '@esbuild/openbsd-arm64@0.23.1': - resolution: {integrity: sha512-3x37szhLexNA4bXhLrCC/LImN/YtWis6WXr1VESlfVtVeoFJBRINPJ3f0a/6LV8zpikqoUg4hyXw0sFBt5Cr+Q==} - engines: {node: '>=18'} - cpu: [arm64] - os: [openbsd] + '@babel/plugin-transform-class-properties@7.28.6': + resolution: {integrity: sha512-dY2wS3I2G7D697VHndN91TJr8/AAfXQNt5ynCTI/MpxMsSzHp+52uNivYT5wCPax3whc47DR8Ba7cmlQMg24bw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 - '@esbuild/openbsd-x64@0.19.12': - resolution: {integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==} - engines: {node: '>=12'} - cpu: [x64] - os: [openbsd] + '@babel/plugin-transform-class-static-block@7.28.6': + resolution: {integrity: sha512-rfQ++ghVwTWTqQ7w8qyDxL1XGihjBss4CmTgGRCTAC9RIbhVpyp4fOeZtta0Lbf+dTNIVJer6ych2ibHwkZqsQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.12.0 - '@esbuild/openbsd-x64@0.23.1': - resolution: {integrity: sha512-aY2gMmKmPhxfU+0EdnN+XNtGbjfQgwZj43k8G3fyrDM/UdZww6xrWxmDkuz2eCZchqVeABjV5BpildOrUbBTqA==} - engines: {node: '>=18'} - cpu: [x64] - os: [openbsd] + '@babel/plugin-transform-classes@7.28.6': + resolution: {integrity: sha512-EF5KONAqC5zAqT783iMGuM2ZtmEBy+mJMOKl2BCvPZ2lVrwvXnB6o+OBWCS+CoeCCpVRF2sA2RBKUxvT8tQT5Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 - '@esbuild/sunos-x64@0.19.12': - resolution: {integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==} - engines: {node: '>=12'} - cpu: [x64] - os: [sunos] + '@babel/plugin-transform-computed-properties@7.28.6': + resolution: {integrity: sha512-bcc3k0ijhHbc2lEfpFHgx7eYw9KNXqOerKWfzbxEHUGKnS3sz9C4CNL9OiFN1297bDNfUiSO7DaLzbvHQQQ1BQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 - '@esbuild/sunos-x64@0.23.1': - resolution: {integrity: sha512-RBRT2gqEl0IKQABT4XTj78tpk9v7ehp+mazn2HbUeZl1YMdaGAQqhapjGTCe7uw7y0frDi4gS0uHzhvpFuI1sA==} - engines: {node: '>=18'} - cpu: [x64] - os: [sunos] + '@babel/plugin-transform-destructuring@7.28.5': + resolution: {integrity: sha512-Kl9Bc6D0zTUcFUvkNuQh4eGXPKKNDOJQXVyyM4ZAQPMveniJdxi8XMJwLo+xSoW3MIq81bD33lcUe9kZpl0MCw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 - '@esbuild/win32-arm64@0.19.12': - resolution: {integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==} - engines: {node: '>=12'} - cpu: [arm64] - os: [win32] + '@babel/plugin-transform-dotall-regex@7.28.6': + resolution: {integrity: sha512-SljjowuNKB7q5Oayv4FoPzeB74g3QgLt8IVJw9ADvWy3QnUb/01aw8I4AVv8wYnPvQz2GDDZ/g3GhcNyDBI4Bg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 - '@esbuild/win32-arm64@0.23.1': - resolution: {integrity: sha512-4O+gPR5rEBe2FpKOVyiJ7wNDPA8nGzDuJ6gN4okSA1gEOYZ67N8JPk58tkWtdtPeLz7lBnY6I5L3jdsr3S+A6A==} - engines: {node: '>=18'} - cpu: [arm64] - os: [win32] + '@babel/plugin-transform-duplicate-keys@7.27.1': + resolution: {integrity: sha512-MTyJk98sHvSs+cvZ4nOauwTTG1JeonDjSGvGGUNHreGQns+Mpt6WX/dVzWBHgg+dYZhkC4X+zTDfkTU+Vy9y7Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 - '@esbuild/win32-ia32@0.19.12': - resolution: {integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==} - engines: {node: '>=12'} - cpu: [ia32] - os: [win32] + '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.29.0': + resolution: {integrity: sha512-zBPcW2lFGxdiD8PUnPwJjag2J9otbcLQzvbiOzDxpYXyCuYX9agOwMPGn1prVH0a4qzhCKu24rlH4c1f7yA8rw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 - '@esbuild/win32-ia32@0.23.1': - resolution: {integrity: sha512-BcaL0Vn6QwCwre3Y717nVHZbAa4UBEigzFm6VdsVdT/MbZ38xoj1X9HPkZhbmaBGUD1W8vxAfffbDe8bA6AKnQ==} - engines: {node: '>=18'} - cpu: [ia32] - os: [win32] + '@babel/plugin-transform-dynamic-import@7.27.1': + resolution: {integrity: sha512-MHzkWQcEmjzzVW9j2q8LGjwGWpG2mjwaaB0BNQwst3FIjqsg8Ct/mIZlvSPJvfi9y2AC8mi/ktxbFVL9pZ1I4A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 - '@esbuild/win32-x64@0.19.12': - resolution: {integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==} - engines: {node: '>=12'} - cpu: [x64] - os: [win32] + '@babel/plugin-transform-explicit-resource-management@7.28.6': + resolution: {integrity: sha512-Iao5Konzx2b6g7EPqTy40UZbcdXE126tTxVFr/nAIj+WItNxjKSYTEw3RC+A2/ZetmdJsgueL1KhaMCQHkLPIg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 - '@esbuild/win32-x64@0.23.1': - resolution: {integrity: sha512-BHpFFeslkWrXWyUPnbKm+xYYVYruCinGcftSBaa8zoF9hZO4BcSCFUvHVTtzpIY6YzUnYtuEhZ+C9iEXjxnasg==} - engines: {node: '>=18'} - cpu: [x64] - os: [win32] + '@babel/plugin-transform-exponentiation-operator@7.28.6': + resolution: {integrity: sha512-WitabqiGjV/vJ0aPOLSFfNY1u9U3R7W36B03r5I2KoNix+a3sOhJ3pKFB3R5It9/UiK78NiO0KE9P21cMhlPkw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 - '@grpc/grpc-js@1.14.3': - resolution: {integrity: sha512-Iq8QQQ/7X3Sac15oB6p0FmUg/klxQvXLeileoqrTRGJYLV+/9tubbr9ipz0GKHjmXVsgFPo/+W+2cA8eNcR+XA==} - engines: {node: '>=12.10.0'} + '@babel/plugin-transform-export-namespace-from@7.27.1': + resolution: {integrity: sha512-tQvHWSZ3/jH2xuq/vZDy0jNn+ZdXJeM8gHvX4lnJmsc3+50yPlWdZXIc5ay+umX+2/tJIqHqiEqcJvxlmIvRvQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 - '@grpc/proto-loader@0.8.0': - resolution: {integrity: sha512-rc1hOQtjIWGxcxpb9aHAfLpIctjEnsDehj0DAiVfBlmT84uvR0uUtN2hEi/ecvWVjXUGf5qPF4qEgiLOx1YIMQ==} - engines: {node: '>=6'} - hasBin: true + '@babel/plugin-transform-flow-strip-types@7.27.1': + resolution: {integrity: sha512-G5eDKsu50udECw7DL2AcsysXiQyB7Nfg521t2OAJ4tbfTJ27doHLeF/vlI1NZGlLdbb/v+ibvtL1YBQqYOwJGg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 - '@jridgewell/gen-mapping@0.3.5': - resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} - engines: {node: '>=6.0.0'} + '@babel/plugin-transform-for-of@7.27.1': + resolution: {integrity: sha512-BfbWFFEJFQzLCQ5N8VocnCtA8J1CLkNTe2Ms2wocj75dd6VpiqS5Z5quTYcUoo4Yq+DN0rtikODccuv7RU81sw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 - '@jridgewell/resolve-uri@3.1.2': - resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} - engines: {node: '>=6.0.0'} + '@babel/plugin-transform-function-name@7.27.1': + resolution: {integrity: sha512-1bQeydJF9Nr1eBCMMbC+hdwmRlsv5XYOMu03YSWFwNs0HsAmtSxxF1fyuYPqemVldVyFmlCU7w8UE14LupUSZQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 - '@jridgewell/set-array@1.2.1': - resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} - engines: {node: '>=6.0.0'} + '@babel/plugin-transform-json-strings@7.28.6': + resolution: {integrity: sha512-Nr+hEN+0geQkzhbdgQVPoqr47lZbm+5fCUmO70722xJZd0Mvb59+33QLImGj6F+DkK3xgDi1YVysP8whD6FQAw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 - '@jridgewell/sourcemap-codec@1.5.0': - resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} + '@babel/plugin-transform-literals@7.27.1': + resolution: {integrity: sha512-0HCFSepIpLTkLcsi86GG3mTUzxV5jpmbv97hTETW3yzrAij8aqlD36toB1D0daVFJM8NK6GvKO0gslVQmm+zZA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 - '@jridgewell/trace-mapping@0.3.25': - resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} + '@babel/plugin-transform-logical-assignment-operators@7.28.6': + resolution: {integrity: sha512-+anKKair6gpi8VsM/95kmomGNMD0eLz1NQ8+Pfw5sAwWH9fGYXT50E55ZpV0pHUHWf6IUTWPM+f/7AAff+wr9A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 - '@js-sdsl/ordered-map@4.4.2': - resolution: {integrity: sha512-iUKgm52T8HOE/makSxjqoWhe95ZJA1/G1sYsGev2JDKUSS14KAgg1LHb+Ba+IPow0xflbnSkOsZcO08C7w1gYw==} + '@babel/plugin-transform-member-expression-literals@7.27.1': + resolution: {integrity: sha512-hqoBX4dcZ1I33jCSWcXrP+1Ku7kdqXf1oeah7ooKOIiAdKQ+uqftgCFNOSzA5AMS2XIHEYeGFg4cKRCdpxzVOQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 - '@nodelib/fs.scandir@2.1.5': - resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} - engines: {node: '>= 8'} + '@babel/plugin-transform-modules-amd@7.27.1': + resolution: {integrity: sha512-iCsytMg/N9/oFq6n+gFTvUYDZQOMK5kEdeYxmxt91fcJGycfxVP9CnrxoliM0oumFERba2i8ZtwRUCMhvP1LnA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 - '@nodelib/fs.stat@2.0.5': - resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} - engines: {node: '>= 8'} + '@babel/plugin-transform-modules-commonjs@7.28.6': + resolution: {integrity: sha512-jppVbf8IV9iWWwWTQIxJMAJCWBuuKx71475wHwYytrRGQ2CWiDvYlADQno3tcYpS/T2UUWFQp3nVtYfK/YBQrA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 - '@nodelib/fs.walk@1.2.8': - resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} - engines: {node: '>= 8'} + '@babel/plugin-transform-modules-systemjs@7.29.0': + resolution: {integrity: sha512-PrujnVFbOdUpw4UHiVwKvKRLMMic8+eC0CuNlxjsyZUiBjhFdPsewdXCkveh2KqBA9/waD0W1b4hXSOBQJezpQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 - '@opentelemetry/api-logs@0.57.2': - resolution: {integrity: sha512-uIX52NnTM0iBh84MShlpouI7UKqkZ7MrUszTmaypHBu4r7NofznSnQRfJ+uUeDtQDj6w8eFGg5KBLDAwAPz1+A==} - engines: {node: '>=14'} + '@babel/plugin-transform-modules-umd@7.27.1': + resolution: {integrity: sha512-iQBE/xC5BV1OxJbp6WG7jq9IWiD+xxlZhLrdwpPkTX3ydmXdvoCpyfJN7acaIBZaOqTfr76pgzqBJflNbeRK+w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 - '@opentelemetry/api@1.9.0': - resolution: {integrity: sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg==} - engines: {node: '>=8.0.0'} + '@babel/plugin-transform-named-capturing-groups-regex@7.29.0': + resolution: {integrity: sha512-1CZQA5KNAD6ZYQLPw7oi5ewtDNxH/2vuCh+6SmvgDfhumForvs8a1o9n0UrEoBD8HU4djO2yWngTQlXl1NDVEQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 - '@opentelemetry/context-async-hooks@1.30.1': - resolution: {integrity: sha512-s5vvxXPVdjqS3kTLKMeBMvop9hbWkwzBpu+mUO2M7sZtlkyDJGwFe33wRKnbaYDo8ExRVBIIdwIGrqpxHuKttA==} - engines: {node: '>=14'} + '@babel/plugin-transform-new-target@7.27.1': + resolution: {integrity: sha512-f6PiYeqXQ05lYq3TIfIDu/MtliKUbNwkGApPUvyo6+tc7uaR4cPjPe7DFPr15Uyycg2lZU6btZ575CuQoYh7MQ==} + engines: {node: '>=6.9.0'} peerDependencies: - '@opentelemetry/api': '>=1.0.0 <1.10.0' + '@babel/core': ^7.0.0-0 - '@opentelemetry/core@1.30.1': - resolution: {integrity: sha512-OOCM2C/QIURhJMuKaekP3TRBxBKxG/TWWA0TL2J6nXUtDnuCtccy49LUJF8xPFXMX+0LMcxFpCo8M9cGY1W6rQ==} - engines: {node: '>=14'} + '@babel/plugin-transform-nullish-coalescing-operator@7.28.6': + resolution: {integrity: sha512-3wKbRgmzYbw24mDJXT7N+ADXw8BC/imU9yo9c9X9NKaLF1fW+e5H1U5QjMUBe4Qo4Ox/o++IyUkl1sVCLgevKg==} + engines: {node: '>=6.9.0'} peerDependencies: - '@opentelemetry/api': '>=1.0.0 <1.10.0' + '@babel/core': ^7.0.0-0 - '@opentelemetry/exporter-logs-otlp-grpc@0.57.2': - resolution: {integrity: sha512-eovEy10n3umjKJl2Ey6TLzikPE+W4cUQ4gCwgGP1RqzTGtgDra0WjIqdy29ohiUKfvmbiL3MndZww58xfIvyFw==} - engines: {node: '>=14'} + '@babel/plugin-transform-numeric-separator@7.28.6': + resolution: {integrity: sha512-SJR8hPynj8outz+SlStQSwvziMN4+Bq99it4tMIf5/Caq+3iOc0JtKyse8puvyXkk3eFRIA5ID/XfunGgO5i6w==} + engines: {node: '>=6.9.0'} peerDependencies: - '@opentelemetry/api': ^1.3.0 + '@babel/core': ^7.0.0-0 - '@opentelemetry/exporter-logs-otlp-http@0.57.2': - resolution: {integrity: sha512-0rygmvLcehBRp56NQVLSleJ5ITTduq/QfU7obOkyWgPpFHulwpw2LYTqNIz5TczKZuy5YY+5D3SDnXZL1tXImg==} - engines: {node: '>=14'} + '@babel/plugin-transform-object-rest-spread@7.28.6': + resolution: {integrity: sha512-5rh+JR4JBC4pGkXLAcYdLHZjXudVxWMXbB6u6+E9lRL5TrGVbHt1TjxGbZ8CkmYw9zjkB7jutzOROArsqtncEA==} + engines: {node: '>=6.9.0'} peerDependencies: - '@opentelemetry/api': ^1.3.0 + '@babel/core': ^7.0.0-0 - '@opentelemetry/exporter-logs-otlp-proto@0.57.2': - resolution: {integrity: sha512-ta0ithCin0F8lu9eOf4lEz9YAScecezCHkMMyDkvd9S7AnZNX5ikUmC5EQOQADU+oCcgo/qkQIaKcZvQ0TYKDw==} - engines: {node: '>=14'} + '@babel/plugin-transform-object-super@7.27.1': + resolution: {integrity: sha512-SFy8S9plRPbIcxlJ8A6mT/CxFdJx/c04JEctz4jf8YZaVS2px34j7NXRrlGlHkN/M2gnpL37ZpGRGVFLd3l8Ng==} + engines: {node: '>=6.9.0'} peerDependencies: - '@opentelemetry/api': ^1.3.0 + '@babel/core': ^7.0.0-0 - '@opentelemetry/exporter-metrics-otlp-grpc@0.57.2': - resolution: {integrity: sha512-r70B8yKR41F0EC443b5CGB4rUaOMm99I5N75QQt6sHKxYDzSEc6gm48Diz1CI1biwa5tDPznpylTrywO/pT7qw==} - engines: {node: '>=14'} + '@babel/plugin-transform-optional-catch-binding@7.28.6': + resolution: {integrity: sha512-R8ja/Pyrv0OGAvAXQhSTmWyPJPml+0TMqXlO5w+AsMEiwb2fg3WkOvob7UxFSL3OIttFSGSRFKQsOhJ/X6HQdQ==} + engines: {node: '>=6.9.0'} peerDependencies: - '@opentelemetry/api': ^1.3.0 + '@babel/core': ^7.0.0-0 - '@opentelemetry/exporter-metrics-otlp-http@0.57.2': - resolution: {integrity: sha512-ttb9+4iKw04IMubjm3t0EZsYRNWr3kg44uUuzfo9CaccYlOh8cDooe4QObDUkvx9d5qQUrbEckhrWKfJnKhemA==} - engines: {node: '>=14'} + '@babel/plugin-transform-optional-chaining@7.28.6': + resolution: {integrity: sha512-A4zobikRGJTsX9uqVFdafzGkqD30t26ck2LmOzAuLL8b2x6k3TIqRiT2xVvA9fNmFeTX484VpsdgmKNA0bS23w==} + engines: {node: '>=6.9.0'} peerDependencies: - '@opentelemetry/api': ^1.3.0 + '@babel/core': ^7.0.0-0 - '@opentelemetry/exporter-metrics-otlp-proto@0.57.2': - resolution: {integrity: sha512-HX068Q2eNs38uf7RIkNN9Hl4Ynl+3lP0++KELkXMCpsCbFO03+0XNNZ1SkwxPlP9jrhQahsMPMkzNXpq3fKsnw==} - engines: {node: '>=14'} + '@babel/plugin-transform-parameters@7.27.7': + resolution: {integrity: sha512-qBkYTYCb76RRxUM6CcZA5KRu8K4SM8ajzVeUgVdMVO9NN9uI/GaVmBg/WKJJGnNokV9SY8FxNOVWGXzqzUidBg==} + engines: {node: '>=6.9.0'} peerDependencies: - '@opentelemetry/api': ^1.3.0 + '@babel/core': ^7.0.0-0 - '@opentelemetry/exporter-prometheus@0.57.2': - resolution: {integrity: sha512-VqIqXnuxWMWE/1NatAGtB1PvsQipwxDcdG4RwA/umdBcW3/iOHp0uejvFHTRN2O78ZPged87ErJajyUBPUhlDQ==} - engines: {node: '>=14'} + '@babel/plugin-transform-private-methods@7.28.6': + resolution: {integrity: sha512-piiuapX9CRv7+0st8lmuUlRSmX6mBcVeNQ1b4AYzJxfCMuBfB0vBXDiGSmm03pKJw1v6cZ8KSeM+oUnM6yAExg==} + engines: {node: '>=6.9.0'} peerDependencies: - '@opentelemetry/api': ^1.3.0 + '@babel/core': ^7.0.0-0 - '@opentelemetry/exporter-trace-otlp-grpc@0.57.2': - resolution: {integrity: sha512-gHU1vA3JnHbNxEXg5iysqCWxN9j83d7/epTYBZflqQnTyCC4N7yZXn/dMM+bEmyhQPGjhCkNZLx4vZuChH1PYw==} - engines: {node: '>=14'} + '@babel/plugin-transform-private-property-in-object@7.28.6': + resolution: {integrity: sha512-b97jvNSOb5+ehyQmBpmhOCiUC5oVK4PMnpRvO7+ymFBoqYjeDHIU9jnrNUuwHOiL9RpGDoKBpSViarV+BU+eVA==} + engines: {node: '>=6.9.0'} peerDependencies: - '@opentelemetry/api': ^1.3.0 + '@babel/core': ^7.0.0-0 - '@opentelemetry/exporter-trace-otlp-http@0.57.2': - resolution: {integrity: sha512-sB/gkSYFu+0w2dVQ0PWY9fAMl172PKMZ/JrHkkW8dmjCL0CYkmXeE+ssqIL/yBUTPOvpLIpenX5T9RwXRBW/3g==} - engines: {node: '>=14'} + '@babel/plugin-transform-property-literals@7.27.1': + resolution: {integrity: sha512-oThy3BCuCha8kDZ8ZkgOg2exvPYUlprMukKQXI1r1pJ47NCvxfkEy8vK+r/hT9nF0Aa4H1WUPZZjHTFtAhGfmQ==} + engines: {node: '>=6.9.0'} peerDependencies: - '@opentelemetry/api': ^1.3.0 + '@babel/core': ^7.0.0-0 - '@opentelemetry/exporter-trace-otlp-proto@0.57.2': - resolution: {integrity: sha512-awDdNRMIwDvUtoRYxRhja5QYH6+McBLtoz1q9BeEsskhZcrGmH/V1fWpGx8n+Rc+542e8pJA6y+aullbIzQmlw==} - engines: {node: '>=14'} + '@babel/plugin-transform-regenerator@7.29.0': + resolution: {integrity: sha512-FijqlqMA7DmRdg/aINBSs04y8XNTYw/lr1gJ2WsmBnnaNw1iS43EPkJW+zK7z65auG3AWRFXWj+NcTQwYptUog==} + engines: {node: '>=6.9.0'} peerDependencies: - '@opentelemetry/api': ^1.3.0 + '@babel/core': ^7.0.0-0 - '@opentelemetry/exporter-zipkin@1.30.1': - resolution: {integrity: sha512-6S2QIMJahIquvFaaxmcwpvQQRD/YFaMTNoIxrfPIPOeITN+a8lfEcPDxNxn8JDAaxkg+4EnXhz8upVDYenoQjA==} - engines: {node: '>=14'} + '@babel/plugin-transform-regexp-modifiers@7.28.6': + resolution: {integrity: sha512-QGWAepm9qxpaIs7UM9FvUSnCGlb8Ua1RhyM4/veAxLwt3gMat/LSGrZixyuj4I6+Kn9iwvqCyPTtbdxanYoWYg==} + engines: {node: '>=6.9.0'} peerDependencies: - '@opentelemetry/api': ^1.0.0 + '@babel/core': ^7.0.0 - '@opentelemetry/instrumentation@0.57.2': - resolution: {integrity: sha512-BdBGhQBh8IjZ2oIIX6F2/Q3LKm/FDDKi6ccYKcBTeilh6SNdNKveDOLk73BkSJjQLJk6qe4Yh+hHw1UPhCDdrg==} - engines: {node: '>=14'} + '@babel/plugin-transform-reserved-words@7.27.1': + resolution: {integrity: sha512-V2ABPHIJX4kC7HegLkYoDpfg9PVmuWy/i6vUM5eGK22bx4YVFD3M5F0QQnWQoDs6AGsUWTVOopBiMFQgHaSkVw==} + engines: {node: '>=6.9.0'} peerDependencies: - '@opentelemetry/api': ^1.3.0 + '@babel/core': ^7.0.0-0 - '@opentelemetry/otlp-exporter-base@0.57.2': - resolution: {integrity: sha512-XdxEzL23Urhidyebg5E6jZoaiW5ygP/mRjxLHixogbqwDy2Faduzb5N0o/Oi+XTIJu+iyxXdVORjXax+Qgfxag==} - engines: {node: '>=14'} + '@babel/plugin-transform-shorthand-properties@7.27.1': + resolution: {integrity: sha512-N/wH1vcn4oYawbJ13Y/FxcQrWk63jhfNa7jef0ih7PHSIHX2LB7GWE1rkPrOnka9kwMxb6hMl19p7lidA+EHmQ==} + engines: {node: '>=6.9.0'} peerDependencies: - '@opentelemetry/api': ^1.3.0 + '@babel/core': ^7.0.0-0 - '@opentelemetry/otlp-grpc-exporter-base@0.57.2': - resolution: {integrity: sha512-USn173KTWy0saqqRB5yU9xUZ2xdgb1Rdu5IosJnm9aV4hMTuFFRTUsQxbgc24QxpCHeoKzzCSnS/JzdV0oM2iQ==} - engines: {node: '>=14'} + '@babel/plugin-transform-spread@7.28.6': + resolution: {integrity: sha512-9U4QObUC0FtJl05AsUcodau/RWDytrU6uKgkxu09mLR9HLDAtUMoPuuskm5huQsoktmsYpI+bGmq+iapDcriKA==} + engines: {node: '>=6.9.0'} peerDependencies: - '@opentelemetry/api': ^1.3.0 + '@babel/core': ^7.0.0-0 - '@opentelemetry/otlp-transformer@0.57.2': - resolution: {integrity: sha512-48IIRj49gbQVK52jYsw70+Jv+JbahT8BqT2Th7C4H7RCM9d0gZ5sgNPoMpWldmfjvIsSgiGJtjfk9MeZvjhoig==} - engines: {node: '>=14'} + '@babel/plugin-transform-sticky-regex@7.27.1': + resolution: {integrity: sha512-lhInBO5bi/Kowe2/aLdBAawijx+q1pQzicSgnkB6dUPc1+RC8QmJHKf2OjvU+NZWitguJHEaEmbV6VWEouT58g==} + engines: {node: '>=6.9.0'} peerDependencies: - '@opentelemetry/api': ^1.3.0 + '@babel/core': ^7.0.0-0 - '@opentelemetry/propagator-b3@1.30.1': - resolution: {integrity: sha512-oATwWWDIJzybAZ4pO76ATN5N6FFbOA1otibAVlS8v90B4S1wClnhRUk7K+2CHAwN1JKYuj4jh/lpCEG5BAqFuQ==} - engines: {node: '>=14'} + '@babel/plugin-transform-template-literals@7.27.1': + resolution: {integrity: sha512-fBJKiV7F2DxZUkg5EtHKXQdbsbURW3DZKQUWphDum0uRP6eHGGa/He9mc0mypL680pb+e/lDIthRohlv8NCHkg==} + engines: {node: '>=6.9.0'} peerDependencies: - '@opentelemetry/api': '>=1.0.0 <1.10.0' + '@babel/core': ^7.0.0-0 - '@opentelemetry/propagator-jaeger@1.30.1': - resolution: {integrity: sha512-Pj/BfnYEKIOImirH76M4hDaBSx6HyZ2CXUqk+Kj02m6BB80c/yo4BdWkn/1gDFfU+YPY+bPR2U0DKBfdxCKwmg==} - engines: {node: '>=14'} + '@babel/plugin-transform-typeof-symbol@7.27.1': + resolution: {integrity: sha512-RiSILC+nRJM7FY5srIyc4/fGIwUhyDuuBSdWn4y6yT6gm652DpCHZjIipgn6B7MQ1ITOUnAKWixEUjQRIBIcLw==} + engines: {node: '>=6.9.0'} peerDependencies: - '@opentelemetry/api': '>=1.0.0 <1.10.0' + '@babel/core': ^7.0.0-0 - '@opentelemetry/resources@1.30.1': - resolution: {integrity: sha512-5UxZqiAgLYGFjS4s9qm5mBVo433u+dSPUFWVWXmLAD4wB65oMCoXaJP1KJa9DIYYMeHu3z4BZcStG3LC593cWA==} - engines: {node: '>=14'} + '@babel/plugin-transform-unicode-escapes@7.27.1': + resolution: {integrity: sha512-Ysg4v6AmF26k9vpfFuTZg8HRfVWzsh1kVfowA23y9j/Gu6dOuahdUVhkLqpObp3JIv27MLSii6noRnuKN8H0Mg==} + engines: {node: '>=6.9.0'} peerDependencies: - '@opentelemetry/api': '>=1.0.0 <1.10.0' + '@babel/core': ^7.0.0-0 - '@opentelemetry/sdk-logs@0.57.2': - resolution: {integrity: sha512-TXFHJ5c+BKggWbdEQ/inpgIzEmS2BGQowLE9UhsMd7YYlUfBQJ4uax0VF/B5NYigdM/75OoJGhAV3upEhK+3gg==} - engines: {node: '>=14'} + '@babel/plugin-transform-unicode-property-regex@7.28.6': + resolution: {integrity: sha512-4Wlbdl/sIZjzi/8St0evF0gEZrgOswVO6aOzqxh1kDZOl9WmLrHq2HtGhnOJZmHZYKP8WZ1MDLCt5DAWwRo57A==} + engines: {node: '>=6.9.0'} peerDependencies: - '@opentelemetry/api': '>=1.4.0 <1.10.0' + '@babel/core': ^7.0.0-0 - '@opentelemetry/sdk-metrics@1.30.1': - resolution: {integrity: sha512-q9zcZ0Okl8jRgmy7eNW3Ku1XSgg3sDLa5evHZpCwjspw7E8Is4K/haRPDJrBcX3YSn/Y7gUvFnByNYEKQNbNog==} - engines: {node: '>=14'} + '@babel/plugin-transform-unicode-regex@7.27.1': + resolution: {integrity: sha512-xvINq24TRojDuyt6JGtHmkVkrfVV3FPT16uytxImLeBZqW3/H52yN+kM1MGuyPkIQxrzKwPHs5U/MP3qKyzkGw==} + engines: {node: '>=6.9.0'} peerDependencies: - '@opentelemetry/api': '>=1.3.0 <1.10.0' + '@babel/core': ^7.0.0-0 - '@opentelemetry/sdk-node@0.57.2': - resolution: {integrity: sha512-8BaeqZyN5sTuPBtAoY+UtKwXBdqyuRKmekN5bFzAO40CgbGzAxfTpiL3PBerT7rhZ7p2nBdq7FaMv/tBQgHE4A==} - engines: {node: '>=14'} + '@babel/plugin-transform-unicode-sets-regex@7.28.6': + resolution: {integrity: sha512-/wHc/paTUmsDYN7SZkpWxogTOBNnlx7nBQYfy6JJlCT7G3mVhltk3e++N7zV0XfgGsrqBxd4rJQt9H16I21Y1Q==} + engines: {node: '>=6.9.0'} peerDependencies: - '@opentelemetry/api': '>=1.3.0 <1.10.0' + '@babel/core': ^7.0.0 - '@opentelemetry/sdk-trace-base@1.30.1': - resolution: {integrity: sha512-jVPgBbH1gCy2Lb7X0AVQ8XAfgg0pJ4nvl8/IiQA6nxOsPvS+0zMJaFSs2ltXe0J6C8dqjcnpyqINDJmU30+uOg==} - engines: {node: '>=14'} + '@babel/preset-env@7.29.3': + resolution: {integrity: sha512-ySZypNLAIH1ClygLDQzVMoGQRViATnkHkYYV6TcNDz+8+jwZCdsguGvsb3EY5d9wyWyhmF1iSuFM0Yh5XPnqSA==} + engines: {node: '>=6.9.0'} peerDependencies: - '@opentelemetry/api': '>=1.0.0 <1.10.0' + '@babel/core': ^7.0.0-0 - '@opentelemetry/sdk-trace-node@1.30.1': - resolution: {integrity: sha512-cBjYOINt1JxXdpw1e5MlHmFRc5fgj4GW/86vsKFxJCJ8AL4PdVtYH41gWwl4qd4uQjqEL1oJVrXkSy5cnduAnQ==} - engines: {node: '>=14'} + '@babel/preset-flow@7.27.1': + resolution: {integrity: sha512-ez3a2it5Fn6P54W8QkbfIyyIbxlXvcxyWHHvno1Wg0Ej5eiJY5hBb8ExttoIOJJk7V2dZE6prP7iby5q2aQ0Lg==} + engines: {node: '>=6.9.0'} peerDependencies: - '@opentelemetry/api': '>=1.0.0 <1.10.0' + '@babel/core': ^7.0.0-0 - '@opentelemetry/semantic-conventions@1.28.0': - resolution: {integrity: sha512-lp4qAiMTD4sNWW4DbKLBkfiMZ4jbAboJIGOQr5DvciMRI494OapieI9qiODpOt0XBr1LjIDy1xAGAnVs5supTA==} - engines: {node: '>=14'} + '@babel/preset-modules@0.1.6-no-external-plugins': + resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==} + peerDependencies: + '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 - '@opentelemetry/semantic-conventions@1.38.0': - resolution: {integrity: sha512-kocjix+/sSggfJhwXqClZ3i9Y/MI0fp7b+g7kCRm6psy2dsf8uApTRclwG18h8Avm7C9+fnt+O36PspJ/OzoWg==} - engines: {node: '>=14'} + '@babel/preset-stage-2@7.8.3': + resolution: {integrity: sha512-dStnEQgejNYIHFNACdDCigK4BF7wgW6Zahv9Dc2un7rGjbeVtZhBfR3sy0I7ZJOhBexkFxVdMZ5hqmll7BFShw==} - '@protobufjs/aspromise@1.1.2': - resolution: {integrity: sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==} + '@babel/template@7.28.6': + resolution: {integrity: sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==} + engines: {node: '>=6.9.0'} - '@protobufjs/base64@1.1.2': - resolution: {integrity: sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==} + '@babel/traverse@7.29.0': + resolution: {integrity: sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==} + engines: {node: '>=6.9.0'} - '@protobufjs/codegen@2.0.4': - resolution: {integrity: sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==} + '@babel/types@7.29.0': + resolution: {integrity: sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==} + engines: {node: '>=6.9.0'} - '@protobufjs/eventemitter@1.1.0': - resolution: {integrity: sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==} + '@epic-web/invariant@1.0.0': + resolution: {integrity: sha512-lrTPqgvfFQtR/eY/qkIzp98OGdNJu0m5ji3q/nJI8v3SXkRKEnWiOxMmbvcSoAIzv/cGiuvRy57k4suKQSAdwA==} - '@protobufjs/fetch@1.1.0': - resolution: {integrity: sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==} + '@isaacs/fs-minipass@4.0.1': + resolution: {integrity: sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==} + engines: {node: '>=18.0.0'} - '@protobufjs/float@1.0.2': - resolution: {integrity: sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==} + '@jridgewell/gen-mapping@0.3.13': + resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==} - '@protobufjs/inquire@1.1.0': - resolution: {integrity: sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==} + '@jridgewell/remapping@2.3.5': + resolution: {integrity: sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==} - '@protobufjs/path@1.1.2': - resolution: {integrity: sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==} + '@jridgewell/resolve-uri@3.1.2': + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + engines: {node: '>=6.0.0'} - '@protobufjs/pool@1.1.0': - resolution: {integrity: sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==} + '@jridgewell/sourcemap-codec@1.5.5': + resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==} - '@protobufjs/utf8@1.1.0': - resolution: {integrity: sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==} + '@jridgewell/trace-mapping@0.3.31': + resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} - '@pyroscope/nodejs@0.4.1': - resolution: {integrity: sha512-Qh4Iyj7No6BDHJcdMkUXw6YRI/X3gkU1q1GJamJwF/n68E94tZosExQVYU4PFmX3NEl27N6SBhcXEo3qbEB0AA==} - engines: {node: '>=v18'} + '@kwsites/file-exists@1.1.1': + resolution: {integrity: sha512-m9/5YGR18lIwxSFDwfE3oA7bWuq9kdau6ugN4H2rJeyhFQZcG9AgSHkQtSD15a8WvTgfz9aikZMrKPHvbpqFiw==} - '@rollup/plugin-alias@5.1.1': - resolution: {integrity: sha512-PR9zDb+rOzkRb2VD+EuKB7UC41vU5DIwZ5qqCpk0KJudcWAyi8rvYOhS7+L5aZCspw1stTViLgN5v6FF1p5cgQ==} - engines: {node: '>=14.0.0'} - peerDependencies: - rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 - peerDependenciesMeta: - rollup: - optional: true + '@kwsites/promise-deferred@1.1.1': + resolution: {integrity: sha512-GaHYm+c0O9MjZRu0ongGBRbinu8gVAMd2UZjji6jVmqKtZluZnptXGWhz1E8j8D2HJ3f/yMxKAUC0b+57wncIw==} - '@rollup/plugin-commonjs@25.0.8': - resolution: {integrity: sha512-ZEZWTK5n6Qde0to4vS9Mr5x/0UZoqCxPVR9KRUjU4kA2sO7GEUn1fop0DAwpO6z0Nw/kJON9bDmSxdWxO/TT1A==} - engines: {node: '>=14.0.0'} - peerDependencies: - rollup: ^2.68.0||^3.0.0||^4.0.0 - peerDependenciesMeta: - rollup: - optional: true + '@mapbox/node-pre-gyp@2.0.3': + resolution: {integrity: sha512-uwPAhccfFJlsfCxMYTwOdVfOz3xqyj8xYL3zJj8f0pb30tLohnnFPhLuqp4/qoEz8sNxe4SESZedcBojRefIzg==} + engines: {node: '>=18'} + hasBin: true - '@rollup/plugin-json@6.1.0': - resolution: {integrity: sha512-EGI2te5ENk1coGeADSIwZ7G2Q8CJS2sF120T7jLw4xFw9n7wIOXHo+kIYRAoVpJAN+kmqZSoO3Fp4JtoNF4ReA==} - engines: {node: '>=14.0.0'} + '@nicolo-ribaudo/chokidar-2@2.1.8-no-fsevents.3': + resolution: {integrity: sha512-s88O1aVtXftvp5bCPB7WnmXc5IwOZZ7YPuwNPt+GtOOXpPvad1LfbmjYv+qII7zP6RU2QGnqve27dnLycEnyEQ==} + + '@nodelib/fs.scandir@2.1.5': + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} + + '@nodelib/fs.stat@2.0.5': + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} + + '@nodelib/fs.walk@1.2.8': + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} + + '@octokit/auth-token@2.5.0': + resolution: {integrity: sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g==} + + '@octokit/core@3.6.0': + resolution: {integrity: sha512-7RKRKuA4xTjMhY+eG3jthb3hlZCsOwg3rztWh75Xc+ShDWOfDDATWbeZpAHBNRpm4Tv9WgBMOy1zEJYXG6NJ7Q==} + + '@octokit/endpoint@11.0.3': + resolution: {integrity: sha512-FWFlNxghg4HrXkD3ifYbS/IdL/mDHjh9QcsNyhQjN8dplUoZbejsdpmuqdA76nxj2xoWPs7p8uX2SNr9rYu0Ag==} + engines: {node: '>= 20'} + + '@octokit/graphql@4.8.0': + resolution: {integrity: sha512-0gv+qLSBLKF0z8TKaSKTsS39scVKF9dbMxJpj3U0vC7wjNWFuIpL/z76Qe2fiuCbDRcJSavkXsVtMS6/dtQQsg==} + + '@octokit/openapi-types@12.11.0': + resolution: {integrity: sha512-VsXyi8peyRq9PqIz/tpqiL2w3w80OgVMwBHltTml3LmVvXiphgeqmY9mvBw9Wu7e0QWk/fqD37ux8yP5uVekyQ==} + + '@octokit/openapi-types@27.0.0': + resolution: {integrity: sha512-whrdktVs1h6gtR+09+QsNk2+FO+49j6ga1c55YZudfEG+oKJVvJLQi3zkOm5JjiUXAagWK2tI2kTGKJ2Ys7MGA==} + + '@octokit/plugin-paginate-rest@14.0.0': + resolution: {integrity: sha512-fNVRE7ufJiAA3XUrha2omTA39M6IXIc6GIZLvlbsm8QOQCYvpq/LkMNGyFlB1d8hTDzsAXa3OKtybdMAYsV/fw==} + engines: {node: '>= 20'} peerDependencies: - rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 - peerDependenciesMeta: - rollup: - optional: true + '@octokit/core': '>=6' - '@rollup/plugin-node-resolve@15.3.0': - resolution: {integrity: sha512-9eO5McEICxMzJpDW9OnMYSv4Sta3hmt7VtBFz5zR9273suNOydOyq/FrGeGy+KsTRFm8w0SLVhzig2ILFT63Ag==} - engines: {node: '>=14.0.0'} + '@octokit/plugin-request-log@1.0.4': + resolution: {integrity: sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA==} peerDependencies: - rollup: ^2.78.0||^3.0.0||^4.0.0 - peerDependenciesMeta: - rollup: - optional: true + '@octokit/core': '>=3' - '@rollup/plugin-replace@5.0.7': - resolution: {integrity: sha512-PqxSfuorkHz/SPpyngLyg5GCEkOcee9M1bkxiVDr41Pd61mqP1PLOoDPbpl44SB2mQGKwV/In74gqQmGITOhEQ==} - engines: {node: '>=14.0.0'} + '@octokit/plugin-rest-endpoint-methods@5.16.2': + resolution: {integrity: sha512-8QFz29Fg5jDuTPXVtey05BLm7OB+M8fnvE64RNegzX7U+5NUXcOcnpTIK0YfSHBg8gYd0oxIq3IZTe9SfPZiRw==} peerDependencies: - rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 - peerDependenciesMeta: - rollup: - optional: true + '@octokit/core': '>=3' + + '@octokit/request-error@7.1.0': + resolution: {integrity: sha512-KMQIfq5sOPpkQYajXHwnhjCC0slzCNScLHs9JafXc4RAJI+9f+jNDlBNaIMTvazOPLgb4BnlhGJOTbnN0wIjPw==} + engines: {node: '>= 20'} + + '@octokit/request@10.0.8': + resolution: {integrity: sha512-SJZNwY9pur9Agf7l87ywFi14W+Hd9Jg6Ifivsd33+/bGUQIjNujdFiXII2/qSlN2ybqUHfp5xpekMEjIBTjlSw==} + engines: {node: '>= 20'} + + '@octokit/rest@18.12.0': + resolution: {integrity: sha512-gDPiOHlyGavxr72y0guQEhLsemgVjwRePayJ+FcKc2SJqKUbxbkvf5kAZEWA/MKvsfYlQAMVzNJE3ezQcxMJ2Q==} + + '@octokit/types@16.0.0': + resolution: {integrity: sha512-sKq+9r1Mm4efXW1FCk7hFSeJo4QKreL/tTbR0rz/qx/r1Oa2VV83LTA/H/MuCOX7uCIJmQVRKBcbmWoySjAnSg==} + + '@octokit/types@6.41.0': + resolution: {integrity: sha512-eJ2jbzjdijiL3B4PrSQaSjuF2sPEQPVCPzBvTHJD9Nz+9dw2SGH4K4xeQJ77YfTq5bRQ+bD8wT11JbeDPmxmGg==} + + '@oozcitak/dom@2.0.2': + resolution: {integrity: sha512-GjpKhkSYC3Mj4+lfwEyI1dqnsKTgwGy48ytZEhm4A/xnH/8z9M3ZVXKr/YGQi3uCLs1AEBS+x5T2JPiueEDW8w==} + engines: {node: '>=20.0'} + + '@oozcitak/infra@2.0.2': + resolution: {integrity: sha512-2g+E7hoE2dgCz/APPOEK5s3rMhJvNxSMBrP+U+j1OWsIbtSpWxxlUjq1lU8RIsFJNYv7NMlnVsCuHcUzJW+8vA==} + engines: {node: '>=20.0'} - '@rollup/pluginutils@5.1.2': - resolution: {integrity: sha512-/FIdS3PyZ39bjZlwqFnWqCOVnW7o963LtKMwQOD0NhQqw22gSr2YY1afu3FxRip4ZCZNsD5jq6Aaz6QV3D/Njw==} + '@oozcitak/url@3.0.0': + resolution: {integrity: sha512-ZKfET8Ak1wsLAiLWNfFkZc/BraDccuTJKR6svTYc7sVjbR+Iu0vtXdiDMY4o6jaFl5TW2TlS7jbLl4VovtAJWQ==} + engines: {node: '>=20.0'} + + '@oozcitak/util@10.0.0': + resolution: {integrity: sha512-hAX0pT/73190NLqBPPWSdBVGtbY6VOhWYK3qqHqtXQ1gK7kS2yz4+ivsN07hpJ6I3aeMtKP6J6npsEKOAzuTLA==} + engines: {node: '>=20.0'} + + '@puppeteer/browsers@2.13.0': + resolution: {integrity: sha512-46BZJYJjc/WwmKjsvDFykHtXrtomsCIrwYQPOP7VfMJoZY2bsDF9oROBABR3paDjDcmkUye1Pb1BqdcdiipaWA==} + engines: {node: '>=18'} + hasBin: true + + '@rollup/pluginutils@5.3.0': + resolution: {integrity: sha512-5EdhGZtnu3V88ces7s53hhfK5KSASnJZv8Lulpc04cWO3REESroJXg73DFsOmgbU2BhwV0E20bu2IDZb3VKW4Q==} engines: {node: '>=14.0.0'} peerDependencies: rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 @@ -703,40 +815,88 @@ packages: rollup: optional: true - '@trysound/sax@0.2.0': - resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==} - engines: {node: '>=10.13.0'} + '@simple-git/args-pathspec@1.0.3': + resolution: {integrity: sha512-ngJMaHlsWDTfjyq9F3VIQ8b7NXbBLq5j9i5bJ6XLYtD6qlDXT7fdKY2KscWWUF8t18xx052Y/PUO1K1TRc9yKA==} + + '@simple-git/argv-parser@1.1.1': + resolution: {integrity: sha512-Q9lBcfQ+VQCpQqGJFHe5yooOS5hGdLFFbJ5R+R5aDsnkPCahtn1hSkMcORX65J2Z5lxSkD0lQorMsncuBQxYUw==} + + '@sindresorhus/is@4.6.0': + resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==} + engines: {node: '>=10'} + + '@sindresorhus/merge-streams@2.3.0': + resolution: {integrity: sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==} + engines: {node: '>=18'} + + '@sindresorhus/merge-streams@4.0.0': + resolution: {integrity: sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==} + engines: {node: '>=18'} + + '@szmarczak/http-timer@4.0.6': + resolution: {integrity: sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==} + engines: {node: '>=10'} + + '@tootallnate/quickjs-emscripten@0.23.0': + resolution: {integrity: sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==} - '@tybys/wasm-util@0.9.0': - resolution: {integrity: sha512-6+7nlbMVX/PVDCwaIQ8nTOPveOcFLSt8GcXdx8hD0bt39uWxYT88uXzqTd4fTvqta7oeUJqudepapKNt2DYJFw==} + '@types/cacheable-request@6.0.3': + resolution: {integrity: sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==} - '@types/estree@1.0.6': - resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==} + '@types/estree@1.0.8': + resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} - '@types/node@22.5.5': - resolution: {integrity: sha512-Xjs4y5UPO/CLdzpgR6GirZJx36yScjh73+2NlLlkFRSoQN8B0DpfXPdZGnvVmLRLOsqDpOfTNv7D9trgGhmOIA==} + '@types/http-cache-semantics@4.0.4': + resolution: {integrity: sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==} - '@types/resolve@1.20.2': - resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==} + '@types/keyv@3.1.4': + resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==} - '@types/shimmer@1.2.0': - resolution: {integrity: sha512-UE7oxhQLLd9gub6JKIAhDq06T0F6FnztwMNRvYgjeQSBeMc1ZG/tA47EwfduvkuQS8apbkM/lpLpWsaCeYsXVg==} + '@types/minimist@1.2.5': + resolution: {integrity: sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==} + + '@types/node@25.0.3': + resolution: {integrity: sha512-W609buLVRVmeW693xKfzHeIV6nJGGz98uCPfeXI1ELMLXVeKYZ9m15fAMSaUPBHYLGFsVRcMmSCksQOrZV9BYA==} + + '@types/normalize-package-data@2.4.4': + resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} + + '@types/responselike@1.0.3': + resolution: {integrity: sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw==} + + '@types/yauzl@2.10.3': + resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==} + + '@vercel/nft@1.5.0': + resolution: {integrity: sha512-IWTDeIoWhQ7ZtRO/JRKH+jhmeQvZYhtGPmzw/QGDY+wDCQqfm25P9yIdoAFagu4fWsK4IwZXDFIjrmp5rRm/sA==} + engines: {node: '>=20'} + hasBin: true + + abbrev@3.0.1: + resolution: {integrity: sha512-AO2ac6pjRB3SJmGJo+v5/aK6Omggp6fsLrs6wN9bd35ulu4cCwaAU9+7ZhXjeqHVkaHThLuzH0nZr0YpCDhygg==} + engines: {node: ^18.17.0 || >=20.5.0} acorn-import-attributes@1.9.5: resolution: {integrity: sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==} peerDependencies: acorn: ^8 - acorn@8.12.1: - resolution: {integrity: sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==} + acorn-walk@8.3.5: + resolution: {integrity: sha512-HEHNfbars9v4pgpW6SO1KSPkfoS0xVOM/9UzkJltjlsHZmJasxg8aXkuZa7SMf8vKGIBhpUsPluQSqhJFCqebw==} engines: {node: '>=0.4.0'} - hasBin: true - acorn@8.15.0: - resolution: {integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==} + acorn@8.16.0: + resolution: {integrity: sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==} engines: {node: '>=0.4.0'} hasBin: true + agent-base@7.1.4: + resolution: {integrity: sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==} + engines: {node: '>= 14'} + + ajv@8.20.0: + resolution: {integrity: sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA==} + ansi-regex@5.0.1: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} @@ -749,61 +909,261 @@ packages: resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} engines: {node: '>=8'} - asynckit@0.4.0: - resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} + ansi-styles@6.2.3: + resolution: {integrity: sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==} + engines: {node: '>=12'} + + anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + + argparse@1.0.10: + resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} + + argparse@2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + + array-find-index@1.0.2: + resolution: {integrity: sha512-M1HQyIXcBGtVywBt8WVdim+lrNaK7VHp99Qt5pSNziXznKHViIBbXWtfRTpEFpF/c4FdfxNAsCCwPp5phBYJtw==} + engines: {node: '>=0.10.0'} + + arrgv@1.0.2: + resolution: {integrity: sha512-a4eg4yhp7mmruZDQFqVMlxNRFGi/i1r87pt8SDHy0/I8PqSXoUTlWZRdAZo0VXgvEARcujbtTk8kiZRi1uDGRw==} + engines: {node: '>=8.0.0'} + + arrify@1.0.1: + resolution: {integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==} + engines: {node: '>=0.10.0'} + + arrify@3.0.0: + resolution: {integrity: sha512-tLkvA81vQG/XqE2mjDkGQHoOINtMHtysSnemrmoGe6PydDPMRbVugqyk4A6V/WDWEfm3l+0d8anA9r8cv/5Jaw==} + engines: {node: '>=12'} + + ast-types@0.13.4: + resolution: {integrity: sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==} + engines: {node: '>=4'} + + astral-regex@2.0.0: + resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} + engines: {node: '>=8'} + + async-sema@3.1.1: + resolution: {integrity: sha512-tLRNUXati5MFePdAk8dw7Qt7DpxPB60ofAgn8WRhW6a2rcimZnYBP9oxHiv0OHy+Wz7kPMG+t4LGdt31+4EmGg==} - autoprefixer@10.4.20: - resolution: {integrity: sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==} - engines: {node: ^10 || ^12 || >=14} + ava@8.0.0: + resolution: {integrity: sha512-KMUyT3LcnZ/5ipDAqnTGn6PQUvr1Jk4dex3v7ieQrGaMlAblfIpMLwK56HfPcObvJEzyhCWXfZjbM98FeAy0oQ==} + engines: {node: ^22.20 || ^24.12 || >=25} hasBin: true peerDependencies: - postcss: ^8.1.0 + '@ava/typescript': '*' + peerDependenciesMeta: + '@ava/typescript': + optional: true + + b4a@1.7.3: + resolution: {integrity: sha512-5Q2mfq2WfGuFp3uS//0s6baOJLMoVduPYVeNmDYxu5OUA1/cBfvr2RIS7vi62LdNj/urk1hfmj867I3qt6uZ7Q==} + peerDependencies: + react-native-b4a: '*' + peerDependenciesMeta: + react-native-b4a: + optional: true + + babel-plugin-polyfill-corejs2@0.4.17: + resolution: {integrity: sha512-aTyf30K/rqAsNwN76zYrdtx8obu0E4KoUME29B1xj+B3WxgvWkp943vYQ+z8Mv3lw9xHXMHpvSPOBxzAkIa94w==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + + babel-plugin-polyfill-corejs3@0.14.2: + resolution: {integrity: sha512-coWpDLJ410R781Npmn/SIBZEsAetR4xVi0SxLMXPaMO4lSf1MwnkGYMtkFxew0Dn8B3/CpbpYxN0JCgg8mn67g==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + + babel-plugin-polyfill-regenerator@0.6.8: + resolution: {integrity: sha512-M762rNHfSF1EV3SLtnCJXFoQbbIIz0OyRwnCmV0KPC7qosSfCO0QLTSuJX3ayAebubhE6oYBAYPrBA5ljowaZg==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + + balanced-match@4.0.4: + resolution: {integrity: sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==} + engines: {node: 18 || 20 || >=22} + + bare-events@2.8.2: + resolution: {integrity: sha512-riJjyv1/mHLIPX4RwiK+oW9/4c3TEUeORHKefKAKnZ5kyslbN+HXowtbaVEqt4IMUB7OXlfixcs6gsFeo/jhiQ==} + peerDependencies: + bare-abort-controller: '*' + peerDependenciesMeta: + bare-abort-controller: + optional: true + + bare-fs@4.5.2: + resolution: {integrity: sha512-veTnRzkb6aPHOvSKIOy60KzURfBdUflr5VReI+NSaPL6xf+XLdONQgZgpYvUuZLVQ8dCqxpBAudaOM1+KpAUxw==} + engines: {bare: '>=1.16.0'} + peerDependencies: + bare-buffer: '*' + peerDependenciesMeta: + bare-buffer: + optional: true + + bare-os@3.6.2: + resolution: {integrity: sha512-T+V1+1srU2qYNBmJCXZkUY5vQ0B4FSlL3QDROnKQYOqeiQR8UbjNHlPa+TIbM4cuidiN9GaTaOZgSEgsvPbh5A==} + engines: {bare: '>=1.14.0'} + + bare-path@3.0.0: + resolution: {integrity: sha512-tyfW2cQcB5NN8Saijrhqn0Zh7AnFNsnczRcuWODH0eYAXBsJ5gVxAUuNr7tsHSC6IZ77cA0SitzT+s47kot8Mw==} + + bare-stream@2.7.0: + resolution: {integrity: sha512-oyXQNicV1y8nc2aKffH+BUHFRXmx6VrPzlnaEvMhram0nPBrKcEdcyBg5r08D0i8VxngHFAiVyn1QKXpSG0B8A==} + peerDependencies: + bare-buffer: '*' + bare-events: '*' + peerDependenciesMeta: + bare-buffer: + optional: true + bare-events: + optional: true - axios@0.28.1: - resolution: {integrity: sha512-iUcGA5a7p0mVb4Gm/sy+FSECNkPFT4y7wt6OM/CDpO/OnNCvSs3PoMG8ibrC9jRoGYU0gUK5pXVC4NPXq6lHRQ==} + bare-url@2.3.2: + resolution: {integrity: sha512-ZMq4gd9ngV5aTMa5p9+UfY0b3skwhHELaDkhEHetMdX0LRkW9kzaym4oo/Eh+Ghm0CCDuMTsRIGM/ytUc1ZYmw==} - balanced-match@1.0.2: - resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + baseline-browser-mapping@2.10.24: + resolution: {integrity: sha512-I2NkZOOrj2XuguvWCK6OVh9GavsNjZjK908Rq3mIBK25+GD8vPX5w2WdxVqnQ7xx3SrZJiCiZFu+/Oz50oSYSA==} + engines: {node: '>=6.0.0'} + hasBin: true + + basic-ftp@6.0.0: + resolution: {integrity: sha512-e7YiZyECW7BauqLe6c+oyb49q0VwpMfEGBftvDwtH96uasvkRbFmloKX3Bdd0L38DCUAVgV2uwSJ5ErIAgFzlw==} + engines: {node: '>=10.0.0'} + + before-after-hook@2.2.3: + resolution: {integrity: sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==} + + binary-extensions@2.3.0: + resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} + engines: {node: '>=8'} + + bindings@1.5.0: + resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==} + + bluebird@3.7.2: + resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==} - boolbase@1.0.0: - resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} + blueimp-md5@2.19.0: + resolution: {integrity: sha512-DRQrD6gJyy8FbiE4s+bDoXS9hiW3Vbx5uCdwvcCf3zLHL+Iv7LtGHLpr+GZV8rHG8tK766FGYBwRbu8pELTt+w==} - brace-expansion@2.0.1: - resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} + brace-expansion@5.0.5: + resolution: {integrity: sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==} + engines: {node: 18 || 20 || >=22} braces@3.0.3: resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} - browserslist@4.24.0: - resolution: {integrity: sha512-Rmb62sR1Zpjql25eSanFGEhAxcFwfA1K0GuQcLoaJBAcENegrQut3hYdhXFF1obQfiDyqIW/cLM5HSJ/9k884A==} + browserslist@4.28.2: + resolution: {integrity: sha512-48xSriZYYg+8qXna9kwqjIVzuQxi+KYWp2+5nCYnYKPTr0LvD89Jqk2Or5ogxz0NUMfIjhh2lIUX/LyX9B4oIg==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true - caniuse-api@3.0.0: - resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==} + buffer-crc32@0.2.13: + resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} + + cacheable-lookup@5.0.4: + resolution: {integrity: sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==} + engines: {node: '>=10.6.0'} + + cacheable-request@7.0.4: + resolution: {integrity: sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg==} + engines: {node: '>=8'} + + callsites@3.1.0: + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} + + callsites@4.2.0: + resolution: {integrity: sha512-kfzR4zzQtAE9PC7CzZsjl3aBNbXWuXiSeOCdLcPpBfGW8YuCqQHcRPFDbr/BPVmd3EEPVpuFzLyuT/cUhPr4OQ==} + engines: {node: '>=12.20'} + + camelcase-keys@6.2.2: + resolution: {integrity: sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==} + engines: {node: '>=8'} + + camelcase@5.3.1: + resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} + engines: {node: '>=6'} + + caniuse-lite@1.0.30001791: + resolution: {integrity: sha512-yk0l/YSrOnFZk3UROpDLQD9+kC1l4meK/wed583AXrzoarMGJcbRi2Q4RaUYbKxYAsZ8sWmaSa/DsLmdBeI1vQ==} - caniuse-lite@1.0.30001664: - resolution: {integrity: sha512-AmE7k4dXiNKQipgn7a2xg558IRqPN3jMQY/rOsbxDhrd0tyChwbITBfiwtnqz8bi2M5mIWbxAYBvk7W7QBUS2g==} + cbor@10.0.12: + resolution: {integrity: sha512-exQDevYd7ZQLP4moMQcZkKCVZsXLAtUSflObr3xTh4xzFIv/xBCdvCd6L259kQOUP2kcTC0jvC6PpZIf/WmRXA==} + engines: {node: '>=20'} chalk@2.4.2: resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} engines: {node: '>=4'} - chalk@5.3.0: - resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==} + chalk@4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + + chalk@5.6.2: + resolution: {integrity: sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==} engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} - citty@0.1.6: - resolution: {integrity: sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ==} + charenc@0.0.2: + resolution: {integrity: sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==} + + chokidar@3.6.0: + resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} + engines: {node: '>= 8.10.0'} + + chownr@3.0.0: + resolution: {integrity: sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==} + engines: {node: '>=18'} + + chromium-bidi@14.0.0: + resolution: {integrity: sha512-9gYlLtS6tStdRWzrtXaTMnqcM4dudNegMXJxkR0I/CXObHalYeYcAMPrL19eroNZHtJ8DQmu1E+ZNOYu/IXMXw==} + peerDependencies: + devtools-protocol: '*' + + chunkd@2.0.1: + resolution: {integrity: sha512-7d58XsFmOq0j6el67Ug9mHf9ELUXsQXYJBkyxhH/k+6Ke0qXRnv0kbemx+Twc6fRJ07C49lcbdgm9FL1Ei/6SQ==} + + ci-info@4.4.0: + resolution: {integrity: sha512-77PSwercCZU2Fc4sX94eF8k8Pxte6JAwL4/ICZLFjJLqegs7kCuAsqqj/70NQF6TvDpgFjkubQB2FW2ZZddvQg==} + engines: {node: '>=8'} + + ci-parallel-vars@1.0.1: + resolution: {integrity: sha512-uvzpYrpmidaoxvIQHM+rKSrigjOe9feHYbw4uOI2gdfe1C3xIlxO+kVXq83WQWNniTf8bAxVpy+cQeFQsMERKg==} + + cli-spinner@0.2.10: + resolution: {integrity: sha512-U0sSQ+JJvSLi1pAYuJykwiA8Dsr15uHEy85iCJ6A+0DjVxivr3d+N2Wjvodeg89uP5K6TswFkKBfAD7B3YSn/Q==} + engines: {node: '>=0.10'} + + cli-truncate@6.0.0: + resolution: {integrity: sha512-3+YKIUFsohD9MIoOFPFBldjAlnfCmCDcqe6aYGFqlDTRKg80p4wg35L+j83QQ63iOlKRccEkbn8IuM++HsgEjA==} + engines: {node: '>=22'} - cjs-module-lexer@1.4.3: - resolution: {integrity: sha512-9z8TZaGM1pfswYeXrUpzPrkx8UnWYdhJclsiYMm6x/w5+nN+8Tf/LnAgfLGQCm59qAOxU8WwHEq2vNwF6i4j+Q==} + cliui@6.0.0: + resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==} + + cliui@7.0.4: + resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==} cliui@8.0.1: resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} engines: {node: '>=12'} + cliui@9.0.1: + resolution: {integrity: sha512-k7ndgKhwoQveBL+/1tqGJYNz097I7WOvwbmmU2AR5+magtbjPWQTS1C5vzGkBC8Ym8UWRzfKUzUUqFLypY4Q+w==} + engines: {node: '>=20'} + + clone-response@1.0.3: + resolution: {integrity: sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==} + + code-excerpt@4.0.0: + resolution: {integrity: sha512-xxodCmBen3iy2i0WtAK8FlFNrRzjUqjRsMfho58xT/wvZU1YTM3fCnRjcy1gJPMepaRlgm/0e6w8SpWHpn3/cA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + color-convert@1.9.3: resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} @@ -817,80 +1177,77 @@ packages: color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - colord@2.9.3: - resolution: {integrity: sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==} - - combined-stream@1.0.8: - resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} - engines: {node: '>= 0.8'} + colors@1.4.0: + resolution: {integrity: sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==} + engines: {node: '>=0.1.90'} - commander@7.2.0: - resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} - engines: {node: '>= 10'} + commander@6.2.1: + resolution: {integrity: sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==} + engines: {node: '>= 6'} - commondir@1.0.1: - resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} + common-path-prefix@3.0.0: + resolution: {integrity: sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==} - confbox@0.1.7: - resolution: {integrity: sha512-uJcB/FKZtBMCJpK8MQji6bJHgu1tixKPxRLeGkNzBoOZzpnZUJm0jm2/sBDWcuBx1dYgxV4JU+g5hmNxCyAmdA==} + concordance@5.0.4: + resolution: {integrity: sha512-OAcsnTEYu1ARJqWVGwf4zh4JDfHZEaSNlNccFmt8YjB2l/n19/PF2viLINHc57vO4FKIAFl2FWASIGZZWZ2Kxw==} + engines: {node: '>=10.18.0 <11 || >=12.14.0 <13 || >=14'} - consola@3.2.3: - resolution: {integrity: sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==} + consola@3.4.2: + resolution: {integrity: sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA==} engines: {node: ^14.18.0 || >=16.10.0} convert-source-map@2.0.0: resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} - css-declaration-sorter@7.2.0: - resolution: {integrity: sha512-h70rUM+3PNFuaBDTLe8wF/cdWu+dOZmb7pJt8Z2sedYbAcQVQV/tEchueg3GWxwqS0cxtbxmaHEdkNACqcvsow==} - engines: {node: ^14 || ^16 || >=18} - peerDependencies: - postcss: ^8.0.9 + convert-to-spaces@2.0.1: + resolution: {integrity: sha512-rcQ1bsQO9799wq24uE5AM2tAILy4gXGIK/njFWcVQkGNZ96edlpY+A7bjwvzjYvLDyzmG1MmMLZhpcsb+klNMQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - css-select@5.1.0: - resolution: {integrity: sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==} + copyfiles@2.4.1: + resolution: {integrity: sha512-fereAvAvxDrQDOXybk3Qu3dPbOoKoysFMWtkY3mv5BsL8//OSZVL5DCLYqgRfY5cWirgRzlC+WSrxp6Bo3eNZg==} + hasBin: true - css-tree@2.2.1: - resolution: {integrity: sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==} - engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} + core-js-compat@3.49.0: + resolution: {integrity: sha512-VQXt1jr9cBz03b331DFDCCP90b3fanciLkgiOoy8SBHy06gNf+vQ1A3WFLqG7I8TipYIKeYK9wxd0tUrvHcOZA==} - css-tree@2.3.1: - resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==} - engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} + core-util-is@1.0.3: + resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} - css-what@6.1.0: - resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==} - engines: {node: '>= 6'} + cosmiconfig@9.0.0: + resolution: {integrity: sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==} + engines: {node: '>=14'} + peerDependencies: + typescript: '>=4.9.5' + peerDependenciesMeta: + typescript: + optional: true - cssesc@3.0.0: - resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} - engines: {node: '>=4'} + cross-env@10.1.0: + resolution: {integrity: sha512-GsYosgnACZTADcmEyJctkJIoqAhHjttw7RsFrVoJNXbsWWqaq6Ym+7kZjq6mS45O0jij6vtiReppKQEtqWy6Dw==} + engines: {node: '>=20'} hasBin: true - cssnano-preset-default@7.0.6: - resolution: {integrity: sha512-ZzrgYupYxEvdGGuqL+JKOY70s7+saoNlHSCK/OGn1vB2pQK8KSET8jvenzItcY+kA7NoWvfbb/YhlzuzNKjOhQ==} - engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} - peerDependencies: - postcss: ^8.4.31 + cross-spawn@7.0.6: + resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} + engines: {node: '>= 8'} - cssnano-utils@5.0.0: - resolution: {integrity: sha512-Uij0Xdxc24L6SirFr25MlwC2rCFX6scyUmuKpzI+JQ7cyqDEwD42fJ0xfB3yLfOnRDU5LKGgjQ9FA6LYh76GWQ==} - engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} - peerDependencies: - postcss: ^8.4.31 + crypt@0.0.2: + resolution: {integrity: sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==} - cssnano@7.0.6: - resolution: {integrity: sha512-54woqx8SCbp8HwvNZYn68ZFAepuouZW4lTwiMVnBErM3VkO7/Sd4oTOt3Zz3bPx3kxQ36aISppyXj2Md4lg8bw==} - engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} - peerDependencies: - postcss: ^8.4.31 + currently-unhandled@0.4.1: + resolution: {integrity: sha512-/fITjgjGU50vjQ4FH6eUoYu+iUoUKIXws2hL15JJpIR+BbTxaXQsMuuyjtNh2WqsSBS5nsaZHFsFecyw5CCAng==} + engines: {node: '>=0.10.0'} + + data-uri-to-buffer@6.0.2: + resolution: {integrity: sha512-7hvf7/GW8e86rW0ptuwS3OcBGDjIi6SZva7hCyWC0yYry2cOPmLIjXAUHI6DK2HsnwJd9ifmt57i8eV2n4YNpw==} + engines: {node: '>= 14'} - csso@5.0.5: - resolution: {integrity: sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==} - engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} + date-time@3.1.0: + resolution: {integrity: sha512-uqCUKXE5q1PNBXjPqvwhwJf9SwMoAHBgWJ6DcrnS5o+W2JOiIILl0JEdVD8SGujrNS02GGxgwAg2PN2zONgtjg==} + engines: {node: '>=6'} - debug@4.3.7: - resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==} + debug@4.4.3: + resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} engines: {node: '>=6.0'} peerDependencies: supports-color: '*' @@ -898,95 +1255,205 @@ packages: supports-color: optional: true - deepmerge@4.3.1: - resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} + decamelize-keys@1.1.1: + resolution: {integrity: sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==} + engines: {node: '>=0.10.0'} + + decamelize@1.2.0: + resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} engines: {node: '>=0.10.0'} - defu@6.1.4: - resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==} + decode-tiff@0.2.1: + resolution: {integrity: sha512-v/7hQBv/DrOVQ+Eljg0BLMRbXZYuuw3YZ8duZuFxYpo6qUkdn7oFRkN95RZKbnh08EHNjrMXMbEUNhTLuhPvvA==} - delay@5.0.0: - resolution: {integrity: sha512-ReEBKkIfe4ya47wlPYf/gu5ib6yUG0/Aez0JQZQz94kiWtRQvZIQbTiehsnwHvLSWJnQdhVeqYue7Id1dKr0qw==} + decompress-response@6.0.0: + resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} engines: {node: '>=10'} - delayed-stream@1.0.0: - resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} - engines: {node: '>=0.4.0'} + defer-to-connect@2.0.1: + resolution: {integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==} + engines: {node: '>=10'} + + degenerator@5.0.1: + resolution: {integrity: sha512-TllpMR/t0M5sqCXfj85i4XaAzxmS5tVA16dqvdkMwGmzI+dXLXnw3J+3Vdv7VKw+ThlTMboK6i9rnZ6Nntj5CQ==} + engines: {node: '>= 14'} + + del@8.0.1: + resolution: {integrity: sha512-gPqh0mKTPvaUZGAuHbrBUYKZWBNAeHG7TU3QH5EhVwPMyKvmfJaNXhcD2jTcXsJRRcffuho4vaYweu80dRrMGA==} + engines: {node: '>=18'} - dir-glob@3.0.1: - resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} + depd@2.0.0: + resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} + engines: {node: '>= 0.8'} + + deprecation@2.3.1: + resolution: {integrity: sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==} + + detect-libc@2.1.2: + resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==} engines: {node: '>=8'} - dom-serializer@2.0.0: - resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} + devtools-protocol@0.0.1595872: + resolution: {integrity: sha512-kRfgp8vWVjBu/fbYCiVFiOqsCk3CrMKEo3WbgGT2NXK2dG7vawWPBljixajVgGK9II8rDO9G0oD0zLt3I1daRg==} - domelementtype@2.3.0: - resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} + ee-first@1.1.1: + resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} - domhandler@5.0.3: - resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} - engines: {node: '>= 4'} + electron-to-chromium@1.5.346: + resolution: {integrity: sha512-3PGbvVwt9AppQsta0Kuq5DIcSj7aQfDfCVS7KnV3nhXEDtuJVRS7kK28Q+qy5KRkQ4bICV4xOaXNeUaXe78dDg==} - domutils@3.1.0: - resolution: {integrity: sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==} + emittery@2.0.0: + resolution: {integrity: sha512-FLtgn/CGBXiX3ZtPAm5q4LWWepHChOt55J9u01WFu3dyap2U7IwptlrqoE1COR/kxwdy/DOxIBALSxIW449I1g==} + engines: {node: '>=22'} - electron-to-chromium@1.5.29: - resolution: {integrity: sha512-PF8n2AlIhCKXQ+gTpiJi0VhcHDb69kYX4MtCiivctc2QD3XuNZ/XIOlbGzt7WAjjEev0TtaH6Cu3arZExm5DOw==} + emoji-regex@10.6.0: + resolution: {integrity: sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==} emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} - entities@4.5.0: - resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} - engines: {node: '>=0.12'} + encodeurl@2.0.0: + resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==} + engines: {node: '>= 0.8'} - esbuild@0.19.12: - resolution: {integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==} - engines: {node: '>=12'} - hasBin: true + end-of-stream@1.4.5: + resolution: {integrity: sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==} - esbuild@0.23.1: - resolution: {integrity: sha512-VVNz/9Sa0bs5SELtn3f7qhJCDPCF5oMEl5cO9/SSinpE9hbPVvxbd572HH5AKiP7WD8INO53GgfDDhRjkylHEg==} - engines: {node: '>=18'} - hasBin: true + env-paths@2.2.1: + resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} + engines: {node: '>=6'} + + error-ex@1.3.4: + resolution: {integrity: sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==} + + es-errors@1.3.0: + resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} + engines: {node: '>= 0.4'} escalade@3.2.0: resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} engines: {node: '>=6'} + escape-html@1.0.3: + resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} + escape-string-regexp@1.0.5: resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} engines: {node: '>=0.8.0'} + escape-string-regexp@2.0.0: + resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} + engines: {node: '>=8'} + + escape-string-regexp@5.0.0: + resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} + engines: {node: '>=12'} + + escodegen@2.1.0: + resolution: {integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==} + engines: {node: '>=6.0'} + hasBin: true + + esprima@4.0.1: + resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} + engines: {node: '>=4'} + hasBin: true + + estraverse@5.3.0: + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} + estree-walker@2.0.2: resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} - fast-glob@3.3.2: - resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} + esutils@2.0.3: + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} + + etag@1.8.1: + resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} + engines: {node: '>= 0.6'} + + events-universal@1.0.1: + resolution: {integrity: sha512-LUd5euvbMLpwOF8m6ivPCbhQeSiYVNb8Vs0fQ8QjXo0JTkEHpz8pxdQf0gStltaPpw0Cca8b39KxvK9cfKRiAw==} + + extract-zip@2.0.1: + resolution: {integrity: sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==} + engines: {node: '>= 10.17.0'} + hasBin: true + + fast-content-type-parse@3.0.0: + resolution: {integrity: sha512-ZvLdcY8P+N8mGQJahJV5G4U88CSvT1rP8ApL6uETe88MBXrBHAkZlSEySdUlyztF7ccb+Znos3TFqaepHxdhBg==} + + fast-deep-equal@3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + + fast-diff@1.3.0: + resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==} + + fast-fifo@1.3.2: + resolution: {integrity: sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==} + + fast-glob@3.3.3: + resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} engines: {node: '>=8.6.0'} - fastq@1.17.1: - resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} + fast-uri@3.1.0: + resolution: {integrity: sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==} + + fastq@1.19.1: + resolution: {integrity: sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==} + + fd-slicer@1.1.0: + resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==} + + figures@6.1.0: + resolution: {integrity: sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg==} + engines: {node: '>=18'} + + file-uri-to-path@1.0.0: + resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==} fill-range@7.1.1: resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} - follow-redirects@1.15.9: - resolution: {integrity: sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==} - engines: {node: '>=4.0'} - peerDependencies: - debug: '*' - peerDependenciesMeta: - debug: - optional: true + finalhandler@2.1.1: + resolution: {integrity: sha512-S8KoZgRZN+a5rNwqTxlZZePjT/4cnm0ROV70LedRHZ0p8u9fRID0hJUZQpkKLzro8LfmC8sx23bY6tVNxv8pQA==} + engines: {node: '>= 18.0.0'} - form-data@4.0.1: - resolution: {integrity: sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw==} - engines: {node: '>= 6'} + find-up-simple@1.0.1: + resolution: {integrity: sha512-afd4O7zpqHeRyg4PfDQsXmlDe2PfdHtJt6Akt8jOWaApLOZk5JXs6VMR29lz03pRe9mpykrRCYIYxaJYcfpncQ==} + engines: {node: '>=18'} - fraction.js@4.3.7: - resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==} + find-up@4.1.0: + resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} + engines: {node: '>=8'} + + flow-bin@0.77.0: + resolution: {integrity: sha512-ejne8bZMAx1/H3J3icWEVZC2GkCZeesclnFEb8eAcb1WCs/CCep/0T5A2x+BssHzC2w/x57IDZWHuy2Vj200Kw==} + engines: {node: '>=0.10.0'} + hasBin: true + + flow-typed@4.1.1: + resolution: {integrity: sha512-S1NSkTm81UkoSiuDp9vUAY+jYSB8r/Bec1RFqjK3o+XagFu+OQtm1nh3ZyoshHtg1oPKfrSnslXHlqWiP76BSw==} + engines: {node: '>=10.0.0'} + hasBin: true + + flowgen@1.21.0: + resolution: {integrity: sha512-pFNFFyMLRmW6njhOIm5TrbGUDTv64aujmys2KrkRE2NYD8sXwJUyicQRwU5SPRBRJnFSD/FNlnHo2NnHI5eJSw==} + hasBin: true + + fresh@2.0.0: + resolution: {integrity: sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==} + engines: {node: '>= 0.8'} + + fs-extra@8.1.0: + resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} + engines: {node: '>=6 <7 || >=8'} + + fs-readdir-recursive@1.1.0: + resolution: {integrity: sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==} fs.realpath@1.0.0: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} @@ -1007,40 +1474,113 @@ packages: resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} engines: {node: 6.* || 8.* || >= 10.*} - glob-parent@5.1.2: - resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} - engines: {node: '>= 6'} + get-east-asian-width@1.4.0: + resolution: {integrity: sha512-QZjmEOC+IT1uk6Rx0sX22V6uHWVwbdbxf1faPqJ1QhLdGgsRGCZoyaQBm/piRdJy/D2um6hM1UP7ZEeQ4EkP+Q==} + engines: {node: '>=18'} - glob@8.1.0: - resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} - engines: {node: '>=12'} - deprecated: Glob versions prior to v9 are no longer supported + get-east-asian-width@1.5.0: + resolution: {integrity: sha512-CQ+bEO+Tva/qlmw24dCejulK5pMzVnUOFOijVogd3KQs07HnRIgp8TGipvCCRT06xeYEbpbgwaCxglFyiuIcmA==} + engines: {node: '>=18'} - globals@11.12.0: - resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} - engines: {node: '>=4'} + get-stream@5.2.0: + resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} + engines: {node: '>=8'} - globby@13.2.2: - resolution: {integrity: sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + get-uri@6.0.5: + resolution: {integrity: sha512-b1O07XYq8eRuVzBNgJLstU6FYc1tS6wnMtF1I1D9lE8LxZSOGZ7LhxN54yPP6mGw5f2CkXY2BQUL9Fx41qvcIg==} + engines: {node: '>= 14'} + + glob-parent@6.0.2: + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} + + glob@13.0.6: + resolution: {integrity: sha512-Wjlyrolmm8uDpm/ogGyXZXb1Z+Ca2B8NbJwqBVg0axK9GbBeoS7yGV6vjXnYdGm6X53iehEuxxbyiKp8QmN4Vw==} + engines: {node: 18 || 20 || >=22} + + glob@7.2.3: + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me + + globby@14.1.0: + resolution: {integrity: sha512-0Ia46fDOaT7k4og1PDW4YbodWWr3scS2vAr2lTbsplOt2WkKp0vQbkI9wKis/T5LV/dqPjO3bpS/z6GTJB82LA==} + engines: {node: '>=18'} + + globby@16.2.0: + resolution: {integrity: sha512-QrJia2qDf5BB/V6HYlDTs0I0lBahyjLzpGQg3KT7FnCdTonAyPy2RtY802m2k4ALx6Dp752f82WsOczEVr3l6Q==} + engines: {node: '>=20'} + + got@11.8.6: + resolution: {integrity: sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==} + engines: {node: '>=10.19.0'} + + graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + + hard-rejection@2.1.0: + resolution: {integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==} + engines: {node: '>=6'} has-flag@3.0.0: resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} engines: {node: '>=4'} + has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + hasown@2.0.2: resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} engines: {node: '>= 0.4'} - hookable@5.5.3: - resolution: {integrity: sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==} + hosted-git-info@2.8.9: + resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} - ignore@5.3.2: - resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} + hosted-git-info@4.1.0: + resolution: {integrity: sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==} + engines: {node: '>=10'} + + http-cache-semantics@4.2.0: + resolution: {integrity: sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==} + + http-errors@2.0.1: + resolution: {integrity: sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==} + engines: {node: '>= 0.8'} + + http-proxy-agent@7.0.2: + resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==} + engines: {node: '>= 14'} + + http2-wrapper@1.0.3: + resolution: {integrity: sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==} + engines: {node: '>=10.19.0'} + + https-proxy-agent@7.0.6: + resolution: {integrity: sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==} + engines: {node: '>= 14'} + + ignore-by-default@2.1.0: + resolution: {integrity: sha512-yiWd4GVmJp0Q6ghmM2B/V3oZGRmjrKLXvHR3TE1nfoXsmoggllfZUQe74EN0fJdPFZu2NIvNdrMMLm3OsV7Ohw==} + engines: {node: '>=10 <11 || >=12 <13 || >=14'} + + ignore@7.0.5: + resolution: {integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==} engines: {node: '>= 4'} - import-in-the-middle@1.15.0: - resolution: {integrity: sha512-bpQy+CrsRmYmoPMAE/0G33iwRqwW4ouqdRg8jgbH3aKuCtOc8lxgmYXg2dMM92CRiGP660EtBcymH/eVUpCSaA==} + img-diff-js@0.5.4: + resolution: {integrity: sha512-FTGQ7i/1W/3nmhiYxoN81FBcxESVSgv/4/e5LnfRzd/w5hBcD1LPxmYu2N8euzVsLrsgztOQcSTDQZKaf0+LOA==} + + import-fresh@3.3.1: + resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==} + engines: {node: '>=6'} + + indent-string@4.0.0: + resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} + engines: {node: '>=8'} + + indent-string@5.0.0: + resolution: {integrity: sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==} + engines: {node: '>=12'} inflight@1.0.6: resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} @@ -1049,8 +1589,30 @@ packages: inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} - is-core-module@2.15.1: - resolution: {integrity: sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==} + interpret@1.4.0: + resolution: {integrity: sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==} + engines: {node: '>= 0.10'} + + ip-address@10.1.0: + resolution: {integrity: sha512-XXADHxXmvT9+CRxhXg56LJovE+bmWnEWB78LB83VZTprKTmaC5QfruXocxzTZ2Kl0DNwKuBdlIhjL8LeY8Sf8Q==} + engines: {node: '>= 12'} + + irregular-plurals@4.2.0: + resolution: {integrity: sha512-bW9UXHL7bnUcNtTo+9ccSngbxc+V40H32IgvdVin0Xs8gbo+AVYD5g/72ce/54Kjfhq66vcZr8H8TKEvsifeOw==} + engines: {node: '>=18.20'} + + is-arrayish@0.2.1: + resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + + is-binary-path@2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + + is-buffer@1.1.6: + resolution: {integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==} + + is-core-module@2.16.1: + resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==} engines: {node: '>= 0.4'} is-extglob@2.1.1: @@ -1061,68 +1623,178 @@ packages: resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} engines: {node: '>=8'} + is-fullwidth-code-point@5.1.0: + resolution: {integrity: sha512-5XHYaSyiqADb4RnZ1Bdad6cPp8Toise4TzEjcOYDHZkTCbKgiUl7WTUCpNWHuxmDt91wnsZBc9xinNzopv3JMQ==} + engines: {node: '>=18'} + is-glob@4.0.3: resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} engines: {node: '>=0.10.0'} - is-module@1.0.0: - resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==} - is-number@7.0.0: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} - is-reference@1.2.1: - resolution: {integrity: sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==} + is-path-cwd@3.0.0: + resolution: {integrity: sha512-kyiNFFLU0Ampr6SDZitD/DwUo4Zs1nSdnygUBqsu3LooL00Qvb5j+UnvApUn/TTj1J3OuE6BTdQ5rudKmU2ZaA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - jiti@1.21.6: - resolution: {integrity: sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==} - hasBin: true + is-path-inside@4.0.0: + resolution: {integrity: sha512-lJJV/5dYS+RcL8uQdBDW9c9uWFLLBNRyFhnAKXw5tVqLlKZ4RMGZKv+YQ/IA3OhD+RpbJa1LLFM1FQPGyIXvOA==} + engines: {node: '>=12'} - jiti@2.0.0: - resolution: {integrity: sha512-CJ7e7Abb779OTRv3lomfp7Mns/Sy1+U4pcAx5VbjxCZD5ZM/VJaXPpPjNKjtSvWQy/H86E49REXR34dl1JEz9w==} - hasBin: true + is-plain-obj@1.1.0: + resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==} + engines: {node: '>=0.10.0'} + + is-plain-object@5.0.0: + resolution: {integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==} + engines: {node: '>=0.10.0'} + + is-promise@4.0.0: + resolution: {integrity: sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==} + + is-unicode-supported@2.1.0: + resolution: {integrity: sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==} + engines: {node: '>=18'} + + isarray@0.0.1: + resolution: {integrity: sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==} + + isarray@1.0.0: + resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} + + isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + + jpeg-js@0.4.4: + resolution: {integrity: sha512-WZzeDOEtTOBK4Mdsar0IqEU5sMr3vSV2RqkAIzUEV2BHnUfKGyswWFPFwK5EeDo93K3FohSHbLAjj0s1Wzd+dg==} + + js-string-escape@1.0.1: + resolution: {integrity: sha512-Smw4xcfIQ5LVjAOuJCvN/zIodzA/BBSsluuoSykP+lUvScIi4U6RJLfwHet5cxFnCswUjISV8oAXaqaJDY3chg==} + engines: {node: '>= 0.8'} js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - jsesc@2.5.2: - resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} - engines: {node: '>=4'} + js-yaml@3.14.2: + resolution: {integrity: sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==} + hasBin: true + + js-yaml@4.1.1: + resolution: {integrity: sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==} hasBin: true + jsesc@3.1.0: + resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==} + engines: {node: '>=6'} + hasBin: true + + json-buffer@3.0.1: + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + + json-parse-even-better-errors@2.3.1: + resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} + + json-schema-traverse@1.0.0: + resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} + + json-with-bigint@3.5.8: + resolution: {integrity: sha512-eq/4KP6K34kwa7TcFdtvnftvHCD9KvHOGGICWwMFc4dOOKF5t4iYqnfLK8otCRCRv06FXOzGGyqE8h8ElMvvdw==} + json5@2.2.3: resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} engines: {node: '>=6'} hasBin: true - lilconfig@3.1.2: - resolution: {integrity: sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==} - engines: {node: '>=14'} + jsonfile@4.0.0: + resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} + + keyv@4.5.4: + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + + kind-of@6.0.3: + resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} + engines: {node: '>=0.10.0'} + + lines-and-columns@1.2.4: + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} - lodash.camelcase@4.3.0: - resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==} + load-json-file@7.0.1: + resolution: {integrity: sha512-Gnxj3ev3mB5TkVBGad0JM6dmLiQL+o0t23JPBZ9sd+yvSLk05mFoqKBw5N8gbbkU4TNXyqCgIrl/VM17OgUIgQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + locate-path@5.0.0: + resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} + engines: {node: '>=8'} + + lodash.debounce@4.0.8: + resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} - lodash.memoize@4.1.2: - resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==} + lodash.truncate@4.4.2: + resolution: {integrity: sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==} - lodash.uniq@4.5.0: - resolution: {integrity: sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==} + lodash@4.18.1: + resolution: {integrity: sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==} - long@5.3.2: - resolution: {integrity: sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA==} + lowercase-keys@2.0.0: + resolution: {integrity: sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==} + engines: {node: '>=8'} + + lru-cache@11.3.5: + resolution: {integrity: sha512-NxVFwLAnrd9i7KUBxC4DrUhmgjzOs+1Qm50D3oF1/oL+r1NpZ4gA7xvG0/zJ8evR7zIKn4vLf7qTNduWFtCrRw==} + engines: {node: 20 || >=22} lru-cache@5.1.1: resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} - magic-string@0.30.11: - resolution: {integrity: sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A==} + lru-cache@6.0.0: + resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} + engines: {node: '>=10'} + + lru-cache@7.18.3: + resolution: {integrity: sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==} + engines: {node: '>=12'} + + make-dir@2.1.0: + resolution: {integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==} + engines: {node: '>=6'} + + make-dir@3.1.0: + resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} + engines: {node: '>=8'} + + map-obj@1.0.1: + resolution: {integrity: sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==} + engines: {node: '>=0.10.0'} + + map-obj@4.3.0: + resolution: {integrity: sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==} + engines: {node: '>=8'} + + matcher@6.0.0: + resolution: {integrity: sha512-TzDerdcNtI79w7Av4GT57bLdElPA/VAkjqdMZv8yhuc8geU2z0ljW9anXbX/55aHEMTpYypZb1lxsA/46r9oOQ==} + engines: {node: '>=20'} + + md5-file@4.0.0: + resolution: {integrity: sha512-UC0qFwyAjn4YdPpKaDNw6gNxRf7Mcx7jC1UGCY4boCzgvU2Aoc1mOGzTtrjjLKhM5ivsnhoKpQVxKPp+1j1qwg==} + engines: {node: '>=6.0'} + hasBin: true + + md5-hex@3.0.1: + resolution: {integrity: sha512-BUiRtTtV39LIJwinWBjqVsU9xhdnz7/i889V859IBFpuqGAj6LuOvHv5XLbgZ2R7ptJoJaEcxkv88/h25T7Ciw==} + engines: {node: '>=8'} + + md5@2.3.0: + resolution: {integrity: sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==} - mdn-data@2.0.28: - resolution: {integrity: sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==} + memoize@11.0.0: + resolution: {integrity: sha512-cjsfZaC9b1clqPeIVMbb5dLHSXgdgGWGxdAU3oTUUkHiwWTKTBNnSmcqWJncNjYtBi3S8Rp0c5GIiyGztR8TRA==} + engines: {node: '>=22'} - mdn-data@2.0.30: - resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==} + meow@9.0.0: + resolution: {integrity: sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ==} + engines: {node: '>=10'} merge2@1.4.1: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} @@ -1132,413 +1804,655 @@ packages: resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} engines: {node: '>=8.6'} - mime-db@1.52.0: - resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + mime-db@1.54.0: + resolution: {integrity: sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==} engines: {node: '>= 0.6'} - mime-types@2.1.35: - resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} - engines: {node: '>= 0.6'} + mime-types@3.0.2: + resolution: {integrity: sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==} + engines: {node: '>=18'} + + mimic-function@5.0.1: + resolution: {integrity: sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==} + engines: {node: '>=18'} + + mimic-response@1.0.1: + resolution: {integrity: sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==} + engines: {node: '>=4'} + + mimic-response@3.1.0: + resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} + engines: {node: '>=10'} + + min-indent@1.0.1: + resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} + engines: {node: '>=4'} + + minimatch@10.2.5: + resolution: {integrity: sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==} + engines: {node: 18 || 20 || >=22} + + minimatch@3.1.5: + resolution: {integrity: sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==} + + minimist-options@4.1.0: + resolution: {integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==} + engines: {node: '>= 6'} + + minipass@7.1.2: + resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} + engines: {node: '>=16 || 14 >=14.17'} - minimatch@5.1.6: - resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} + minipass@7.1.3: + resolution: {integrity: sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==} + engines: {node: '>=16 || 14 >=14.17'} + + minizlib@3.1.0: + resolution: {integrity: sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw==} + engines: {node: '>= 18'} + + mitt@3.0.1: + resolution: {integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==} + + mkdirp@1.0.4: + resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} engines: {node: '>=10'} + hasBin: true - mkdist@1.5.9: - resolution: {integrity: sha512-PdJimzhcgDxaHpk1SUabw56gT3BU15vBHUTHkeeus8Kl7jUkpgG7+z0PiS/y23XXgO8TiU/dKP3L1oG55qrP1g==} + ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + + mustache@4.2.0: + resolution: {integrity: sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==} hasBin: true + + netmask@2.0.2: + resolution: {integrity: sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==} + engines: {node: '>= 0.4.0'} + + node-fetch@2.7.0: + resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} + engines: {node: 4.x || >=6.0.0} peerDependencies: - sass: ^1.78.0 - typescript: '>=5.5.4' - vue-tsc: ^1.8.27 || ^2.0.21 + encoding: ^0.1.0 peerDependenciesMeta: - sass: - optional: true - typescript: - optional: true - vue-tsc: + encoding: optional: true - mlly@1.7.1: - resolution: {integrity: sha512-rrVRZRELyQzrIUAVMHxP97kv+G786pHmOKzuFII8zDYahFBS7qnHh2AlYSl1GAHhaMPCz6/oHjVMcfFYgFYHgA==} + node-gyp-build@4.8.4: + resolution: {integrity: sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ==} + hasBin: true - module-details-from-path@1.0.4: - resolution: {integrity: sha512-EGWKgxALGMgzvxYF1UyGTy0HXX/2vHLkw6+NvDKW2jypWbHpjQuj4UMcqQWXHERJhVGKikolT06G3bcKe4fi7w==} + node-releases@2.0.38: + resolution: {integrity: sha512-3qT/88Y3FbH/Kx4szpQQ4HzUbVrHPKTLVpVocKiLfoYvw9XSGOX2FmD2d6DrXbVYyAQTF2HeF6My8jmzx7/CRw==} - mri@1.2.0: - resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} - engines: {node: '>=4'} + node-stream-zip@1.15.0: + resolution: {integrity: sha512-LN4fydt9TqhZhThkZIVQnF9cwjU3qmUH9h78Mx/K7d3VvfRqqwthLwJEUOEL0QPZ0XQmNN7be5Ggit5+4dq3Bw==} + engines: {node: '>=0.12.0'} - ms@2.1.3: - resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + nofilter@3.1.0: + resolution: {integrity: sha512-l2NNj07e9afPnhAhvgVrCD/oy2Ai1yfLpuo3EpiO1jFTsB4sFz6oIfAfSZyQzVpkZQ9xS8ZS5g1jCBgq4Hwo0g==} + engines: {node: '>=12.19'} - nanoid@3.3.7: - resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} - engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} - hasBin: true + noms@0.0.0: + resolution: {integrity: sha512-lNDU9VJaOPxUmXcLb+HQFeUgQQPtMI24Gt6hgfuMHRJgMRHMF/qZ4HJD3GDru4sSw9IQl2jPjAYnQrdIeLbwow==} - node-gyp-build@3.9.0: - resolution: {integrity: sha512-zLcTg6P4AbcHPq465ZMFNXx7XpKKJh+7kkN699NiQWisR2uWYOWNWqRHAmbnmKiL4e9aLSlmy5U7rEMUXV59+A==} + nopt@8.1.0: + resolution: {integrity: sha512-ieGu42u/Qsa4TFktmaKEwM6MQH0pOWnaB3htzh0JRtx84+Mebc0cbZYN5bC+6WTZ4+77xrL9Pn5m7CV6VIkV7A==} + engines: {node: ^18.17.0 || >=20.5.0} hasBin: true - node-releases@2.0.18: - resolution: {integrity: sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==} + normalize-package-data@2.5.0: + resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} + + normalize-package-data@3.0.3: + resolution: {integrity: sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==} + engines: {node: '>=10'} - normalize-range@0.1.2: - resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==} + normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} engines: {node: '>=0.10.0'} - nth-check@2.1.1: - resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} + normalize-url@6.1.0: + resolution: {integrity: sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==} + engines: {node: '>=10'} + + on-finished@2.4.1: + resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} + engines: {node: '>= 0.8'} once@1.4.0: resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} - p-limit@3.1.0: - resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} - engines: {node: '>=10'} + p-cancelable@2.1.1: + resolution: {integrity: sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==} + engines: {node: '>=8'} - path-parse@1.0.7: - resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + p-limit@2.3.0: + resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} + engines: {node: '>=6'} - path-type@4.0.0: - resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} + p-locate@4.1.0: + resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} engines: {node: '>=8'} - pathe@1.1.2: - resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} + p-map@7.0.4: + resolution: {integrity: sha512-tkAQEw8ysMzmkhgw8k+1U/iPhWNhykKnSk4Rd5zLoPJCuJaGRPo6YposrZgaxHKzDHdDWWZvE/Sk7hsL2X/CpQ==} + engines: {node: '>=18'} - picocolors@1.1.0: - resolution: {integrity: sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==} + p-try@2.2.0: + resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} + engines: {node: '>=6'} - picomatch@2.3.1: - resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} - engines: {node: '>=8.6'} + pac-proxy-agent@7.2.0: + resolution: {integrity: sha512-TEB8ESquiLMc0lV8vcd5Ql/JAKAoyzHFXaStwjkzpOpC5Yv+pIzLfHvjTSdf3vpa2bMiUQrg9i6276yn8666aA==} + engines: {node: '>= 14'} - pkg-types@1.2.0: - resolution: {integrity: sha512-+ifYuSSqOQ8CqP4MbZA5hDpb97n3E8SVWdJe+Wms9kj745lmd3b7EZJiqvmLwAlmRfjrI7Hi5z3kdBJ93lFNPA==} + pac-resolver@7.0.1: + resolution: {integrity: sha512-5NPgf87AT2STgwa2ntRMr45jTKrYBGkVU36yT0ig/n/GMAa3oPqhZfIQ2kMEimReg0+t9kZViDVZ83qfVUlckg==} + engines: {node: '>= 14'} - postcss-calc@10.0.2: - resolution: {integrity: sha512-DT/Wwm6fCKgpYVI7ZEWuPJ4az8hiEHtCUeYjZXqU7Ou4QqYh1Df2yCQ7Ca6N7xqKPFkxN3fhf+u9KSoOCJNAjg==} - engines: {node: ^18.12 || ^20.9 || >=22.0} - peerDependencies: - postcss: ^8.4.38 + package-config@5.0.0: + resolution: {integrity: sha512-GYTTew2slBcYdvRHqjhwaaydVMvn/qrGC323+nKclYioNSLTDUM/lGgtGTgyHVtYcozb+XkE8CNhwcraOmZ9Mg==} + engines: {node: '>=18'} - postcss-colormin@7.0.2: - resolution: {integrity: sha512-YntRXNngcvEvDbEjTdRWGU606eZvB5prmHG4BF0yLmVpamXbpsRJzevyy6MZVyuecgzI2AWAlvFi8DAeCqwpvA==} - engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} - peerDependencies: - postcss: ^8.4.31 + parent-module@1.0.1: + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} - postcss-convert-values@7.0.4: - resolution: {integrity: sha512-e2LSXPqEHVW6aoGbjV9RsSSNDO3A0rZLCBxN24zvxF25WknMPpX8Dm9UxxThyEbaytzggRuZxaGXqaOhxQ514Q==} - engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} - peerDependencies: - postcss: ^8.4.31 + parse-json@5.2.0: + resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} + engines: {node: '>=8'} - postcss-discard-comments@7.0.3: - resolution: {integrity: sha512-q6fjd4WU4afNhWOA2WltHgCbkRhZPgQe7cXF74fuVB/ge4QbM9HEaOIzGSiMvM+g/cOsNAUGdf2JDzqA2F8iLA==} - engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} - peerDependencies: - postcss: ^8.4.31 + parse-ms@4.0.0: + resolution: {integrity: sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw==} + engines: {node: '>=18'} - postcss-discard-duplicates@7.0.1: - resolution: {integrity: sha512-oZA+v8Jkpu1ct/xbbrntHRsfLGuzoP+cpt0nJe5ED2FQF8n8bJtn7Bo28jSmBYwqgqnqkuSXJfSUEE7if4nClQ==} - engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} - peerDependencies: - postcss: ^8.4.31 + parseurl@1.3.3: + resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} + engines: {node: '>= 0.8'} - postcss-discard-empty@7.0.0: - resolution: {integrity: sha512-e+QzoReTZ8IAwhnSdp/++7gBZ/F+nBq9y6PomfwORfP7q9nBpK5AMP64kOt0bA+lShBFbBDcgpJ3X4etHg4lzA==} - engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} - peerDependencies: - postcss: ^8.4.31 + path-exists@4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} - postcss-discard-overridden@7.0.0: - resolution: {integrity: sha512-GmNAzx88u3k2+sBTZrJSDauR0ccpE24omTQCVmaTTZFz1du6AasspjaUPMJ2ud4RslZpoFKyf+6MSPETLojc6w==} - engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} - peerDependencies: - postcss: ^8.4.31 + path-is-absolute@1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} - postcss-merge-longhand@7.0.4: - resolution: {integrity: sha512-zer1KoZA54Q8RVHKOY5vMke0cCdNxMP3KBfDerjH/BYHh4nCIh+1Yy0t1pAEQF18ac/4z3OFclO+ZVH8azjR4A==} - engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} - peerDependencies: - postcss: ^8.4.31 + path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} - postcss-merge-rules@7.0.4: - resolution: {integrity: sha512-ZsaamiMVu7uBYsIdGtKJ64PkcQt6Pcpep/uO90EpLS3dxJi6OXamIobTYcImyXGoW0Wpugh7DSD3XzxZS9JCPg==} - engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} - peerDependencies: - postcss: ^8.4.31 + path-parse@1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} - postcss-minify-font-values@7.0.0: - resolution: {integrity: sha512-2ckkZtgT0zG8SMc5aoNwtm5234eUx1GGFJKf2b1bSp8UflqaeFzR50lid4PfqVI9NtGqJ2J4Y7fwvnP/u1cQog==} - engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} - peerDependencies: - postcss: ^8.4.31 + path-scurry@2.0.2: + resolution: {integrity: sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg==} + engines: {node: 18 || 20 || >=22} - postcss-minify-gradients@7.0.0: - resolution: {integrity: sha512-pdUIIdj/C93ryCHew0UgBnL2DtUS3hfFa5XtERrs4x+hmpMYGhbzo6l/Ir5de41O0GaKVpK1ZbDNXSY6GkXvtg==} - engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} - peerDependencies: - postcss: ^8.4.31 + path-type@6.0.0: + resolution: {integrity: sha512-Vj7sf++t5pBD637NSfkxpHSMfWaeig5+DKWLhcqIYx6mWQz5hdJTGDVMQiJcw1ZYkhs7AazKDGpRVji1LJCZUQ==} + engines: {node: '>=18'} - postcss-minify-params@7.0.2: - resolution: {integrity: sha512-nyqVLu4MFl9df32zTsdcLqCFfE/z2+f8GE1KHPxWOAmegSo6lpV2GNy5XQvrzwbLmiU7d+fYay4cwto1oNdAaQ==} - engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} - peerDependencies: - postcss: ^8.4.31 + pend@1.2.0: + resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==} - postcss-minify-selectors@7.0.4: - resolution: {integrity: sha512-JG55VADcNb4xFCf75hXkzc1rNeURhlo7ugf6JjiiKRfMsKlDzN9CXHZDyiG6x/zGchpjQS+UAgb1d4nqXqOpmA==} - engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} - peerDependencies: - postcss: ^8.4.31 + picocolors@1.1.1: + resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} - postcss-nested@6.2.0: - resolution: {integrity: sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==} - engines: {node: '>=12.0'} - peerDependencies: - postcss: ^8.2.14 + picomatch@4.0.4: + resolution: {integrity: sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==} + engines: {node: '>=12'} - postcss-normalize-charset@7.0.0: - resolution: {integrity: sha512-ABisNUXMeZeDNzCQxPxBCkXexvBrUHV+p7/BXOY+ulxkcjUZO0cp8ekGBwvIh2LbCwnWbyMPNJVtBSdyhM2zYQ==} - engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} - peerDependencies: - postcss: ^8.4.31 + pify@4.0.1: + resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} + engines: {node: '>=6'} - postcss-normalize-display-values@7.0.0: - resolution: {integrity: sha512-lnFZzNPeDf5uGMPYgGOw7v0BfB45+irSRz9gHQStdkkhiM0gTfvWkWB5BMxpn0OqgOQuZG/mRlZyJxp0EImr2Q==} - engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} - peerDependencies: - postcss: ^8.4.31 + pixelmatch@5.3.0: + resolution: {integrity: sha512-o8mkY4E/+LNUf6LzX96ht6k6CEDi65k9G2rjMtBe9Oo+VPKSvl+0GKHuH/AlG+GA5LPG/i5hrekkxUc3s2HU+Q==} + hasBin: true - postcss-normalize-positions@7.0.0: - resolution: {integrity: sha512-I0yt8wX529UKIGs2y/9Ybs2CelSvItfmvg/DBIjTnoUSrPxSV7Z0yZ8ShSVtKNaV/wAY+m7bgtyVQLhB00A1NQ==} - engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} - peerDependencies: - postcss: ^8.4.31 + plur@6.0.0: + resolution: {integrity: sha512-Y9wXQivjRX0REtwpA9+n0bYYypWESn3cWtW2vazymw711qn+AQXxzZjRqhANYGBLIMC1UzVdpwe/1hHQwHfwng==} + engines: {node: '>=20'} - postcss-normalize-repeat-style@7.0.0: - resolution: {integrity: sha512-o3uSGYH+2q30ieM3ppu9GTjSXIzOrRdCUn8UOMGNw7Af61bmurHTWI87hRybrP6xDHvOe5WlAj3XzN6vEO8jLw==} - engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} - peerDependencies: - postcss: ^8.4.31 + pngjs@6.0.0: + resolution: {integrity: sha512-TRzzuFRRmEoSW/p1KVAmiOgPco2Irlah+bGFCeNfJXxxYGwSw7YwAOAcd7X28K/m5bjBWKsC29KyoMfHbypayg==} + engines: {node: '>=12.13.0'} - postcss-normalize-string@7.0.0: - resolution: {integrity: sha512-w/qzL212DFVOpMy3UGyxrND+Kb0fvCiBBujiaONIihq7VvtC7bswjWgKQU/w4VcRyDD8gpfqUiBQ4DUOwEJ6Qg==} - engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} - peerDependencies: - postcss: ^8.4.31 + pngjs@7.0.0: + resolution: {integrity: sha512-LKWqWJRhstyYo9pGvgor/ivk2w94eSjE3RGVuzLGlr3NmD8bf7RcYGze1mNdEHRP6TRP6rMuDHk5t44hnTRyow==} + engines: {node: '>=14.19.0'} - postcss-normalize-timing-functions@7.0.0: - resolution: {integrity: sha512-tNgw3YV0LYoRwg43N3lTe3AEWZ66W7Dh7lVEpJbHoKOuHc1sLrzMLMFjP8SNULHaykzsonUEDbKedv8C+7ej6g==} - engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} - peerDependencies: - postcss: ^8.4.31 + presentable-error@0.0.1: + resolution: {integrity: sha512-E6rsNU1QNJgB3sjj7OANinGncFKuK+164sLXw1/CqBjj/EkXSoSdHCtWQGBNlREIGLnL7IEUEGa08YFVUbrhVg==} + engines: {node: '>=16'} - postcss-normalize-unicode@7.0.2: - resolution: {integrity: sha512-ztisabK5C/+ZWBdYC+Y9JCkp3M9qBv/XFvDtSw0d/XwfT3UaKeW/YTm/MD/QrPNxuecia46vkfEhewjwcYFjkg==} - engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} - peerDependencies: - postcss: ^8.4.31 + prettier@1.19.1: + resolution: {integrity: sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==} + engines: {node: '>=4'} + hasBin: true - postcss-normalize-url@7.0.0: - resolution: {integrity: sha512-+d7+PpE+jyPX1hDQZYG+NaFD+Nd2ris6r8fPTBAjE8z/U41n/bib3vze8x7rKs5H1uEw5ppe9IojewouHk0klQ==} - engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} - peerDependencies: - postcss: ^8.4.31 + prettier@2.8.8: + resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==} + engines: {node: '>=10.13.0'} + hasBin: true - postcss-normalize-whitespace@7.0.0: - resolution: {integrity: sha512-37/toN4wwZErqohedXYqWgvcHUGlT8O/m2jVkAfAe9Bd4MzRqlBmXrJRePH0e9Wgnz2X7KymTgTOaaFizQe3AQ==} - engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} - peerDependencies: - postcss: ^8.4.31 + pretty-ms@9.3.0: + resolution: {integrity: sha512-gjVS5hOP+M3wMm5nmNOucbIrqudzs9v/57bWRHQWLYklXqoXKrVfYW2W9+glfGsqtPgpiz5WwyEEB+ksXIx3gQ==} + engines: {node: '>=18'} - postcss-ordered-values@7.0.1: - resolution: {integrity: sha512-irWScWRL6nRzYmBOXReIKch75RRhNS86UPUAxXdmW/l0FcAsg0lvAXQCby/1lymxn/o0gVa6Rv/0f03eJOwHxw==} - engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} - peerDependencies: - postcss: ^8.4.31 + process-nextick-args@2.0.1: + resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} - postcss-reduce-initial@7.0.2: - resolution: {integrity: sha512-pOnu9zqQww7dEKf62Nuju6JgsW2V0KRNBHxeKohU+JkHd/GAH5uvoObqFLqkeB2n20mr6yrlWDvo5UBU5GnkfA==} - engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} - peerDependencies: - postcss: ^8.4.31 + progress@2.0.3: + resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==} + engines: {node: '>=0.4.0'} - postcss-reduce-transforms@7.0.0: - resolution: {integrity: sha512-pnt1HKKZ07/idH8cpATX/ujMbtOGhUfE+m8gbqwJE05aTaNw8gbo34a2e3if0xc0dlu75sUOiqvwCGY3fzOHew==} - engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} - peerDependencies: - postcss: ^8.4.31 + proxy-agent@6.5.0: + resolution: {integrity: sha512-TmatMXdr2KlRiA2CyDu8GqR8EjahTG3aY3nXjdzFyoZbmB8hrBsTyMezhULIXKnC0jpfjlmiZ3+EaCzoInSu/A==} + engines: {node: '>= 14'} - postcss-selector-parser@6.1.2: - resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==} - engines: {node: '>=4'} + proxy-from-env@1.1.0: + resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} - postcss-svgo@7.0.1: - resolution: {integrity: sha512-0WBUlSL4lhD9rA5k1e5D8EN5wCEyZD6HJk0jIvRxl+FDVOMlJ7DePHYWGGVc5QRqrJ3/06FTXM0bxjmJpmTPSA==} - engines: {node: ^18.12.0 || ^20.9.0 || >= 18} - peerDependencies: - postcss: ^8.4.31 + pump@3.0.3: + resolution: {integrity: sha512-todwxLMY7/heScKmntwQG8CXVkWUOdYxIvY2s0VWAAMh/nd8SoYiRaKjlr7+iCs984f2P8zvrfWcDDYVb73NfA==} - postcss-unique-selectors@7.0.3: - resolution: {integrity: sha512-J+58u5Ic5T1QjP/LDV9g3Cx4CNOgB5vz+kM6+OxHHhFACdcDeKhBXjQmB7fnIZM12YSTvsL0Opwco83DmacW2g==} - engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} - peerDependencies: - postcss: ^8.4.31 + puppeteer-core@24.42.0: + resolution: {integrity: sha512-T4zXokk/izH01fYPhyyev1A4piWiOKrYq7CUFpdoYQxmOnXoV6YjUabmfIjCYkNspSoAXIxRid3Tw+Vg0fthYg==} + engines: {node: '>=18'} - postcss-value-parser@4.2.0: - resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} + puppeteer@24.42.0: + resolution: {integrity: sha512-94MoPfFp2eY3eYIMdINkez4IOP5TMHntlZbVx06fHlQTtiQiYgaY0L2Zzfod8PVUkPqP7m3Qlre2v8YS8cudPA==} + engines: {node: '>=18'} + hasBin: true - postcss@8.4.47: - resolution: {integrity: sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==} - engines: {node: ^10 || ^12 || >=14} + queue-microtask@1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} - pprof-format@2.1.0: - resolution: {integrity: sha512-0+G5bHH0RNr8E5hoZo/zJYsL92MhkZjwrHp3O2IxmY8RJL9ooKeuZ8Tm0ZNBw5sGZ9TiM71sthTjWoR2Vf5/xw==} + quick-lru@4.0.1: + resolution: {integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==} + engines: {node: '>=8'} - pretty-bytes@6.1.1: - resolution: {integrity: sha512-mQUvGU6aUFQ+rNvTIAcZuWGRT9a6f6Yrg9bHs4ImKF+HZCEK+plBvnAZYSIQztknZF2qnzNtr6F8s0+IuptdlQ==} - engines: {node: ^14.13.1 || >=16.0.0} + quick-lru@5.1.1: + resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} + engines: {node: '>=10'} - protobufjs@7.5.4: - resolution: {integrity: sha512-CvexbZtbov6jW2eXAvLukXjXUW1TzFaivC46BpWc/3BpcCysb5Vffu+B3XHMm8lVEuy2Mm4XGex8hBSg1yapPg==} - engines: {node: '>=12.0.0'} + range-parser@1.2.1: + resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} + engines: {node: '>= 0.6'} - proxy-from-env@1.1.0: - resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} + read-pkg-up@7.0.1: + resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} + engines: {node: '>=8'} - queue-microtask@1.2.3: - resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + read-pkg@5.2.0: + resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} + engines: {node: '>=8'} + + readable-stream@1.0.34: + resolution: {integrity: sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==} + + readable-stream@2.3.8: + resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} + + readdirp@3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} + + rechoir@0.6.2: + resolution: {integrity: sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==} + engines: {node: '>= 0.10'} + + redent@3.0.0: + resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==} + engines: {node: '>=8'} + + regenerate-unicode-properties@10.2.2: + resolution: {integrity: sha512-m03P+zhBeQd1RGnYxrGyDAPpWX/epKirLrp8e3qevZdVkKtnCrjjWczIbYc8+xd6vcTStVlqfycTx1KR4LOr0g==} + engines: {node: '>=4'} + + regenerate@1.4.2: + resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==} + + regexpu-core@6.4.0: + resolution: {integrity: sha512-0ghuzq67LI9bLXpOX/ISfve/Mq33a4aFRzoQYhnnok1JOFpmE/A2TBGkNVenOGEeSBCjIiWcc6MVOG5HEQv0sA==} + engines: {node: '>=4'} - regenerator-runtime@0.13.11: - resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==} + regjsgen@0.8.0: + resolution: {integrity: sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==} + + regjsparser@0.13.1: + resolution: {integrity: sha512-dLsljMd9sqwRkby8zhO1gSg3PnJIBFid8f4CQj/sXx+7cKx+E7u0PKhZ+U4wmhx7EfmtvnA318oVaIkAB1lRJw==} + hasBin: true require-directory@2.1.1: resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} engines: {node: '>=0.10.0'} - require-in-the-middle@7.5.2: - resolution: {integrity: sha512-gAZ+kLqBdHarXB64XpAe2VCjB7rIRv+mU8tfRWziHRJ5umKsIHN2tLLv6EtMw7WCdP19S0ERVMldNvxYCHnhSQ==} - engines: {node: '>=8.6.0'} + require-from-string@2.0.2: + resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} + engines: {node: '>=0.10.0'} - resolve@1.22.8: - resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} + require-main-filename@2.0.0: + resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==} + + resolve-alpn@1.2.1: + resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==} + + resolve-cwd@3.0.0: + resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==} + engines: {node: '>=8'} + + resolve-from@4.0.0: + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} + + resolve-from@5.0.0: + resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} + engines: {node: '>=8'} + + resolve@1.22.12: + resolution: {integrity: sha512-TyeJ1zif53BPfHootBGwPRYT1RUt6oGWsaQr8UyZW/eAm9bKoijtvruSDEmZHm92CwS9nj7/fWttqPCgzep8CA==} + engines: {node: '>= 0.4'} hasBin: true - reusify@1.0.4: - resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} - engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + responselike@2.0.1: + resolution: {integrity: sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==} - rollup-plugin-dts@6.1.1: - resolution: {integrity: sha512-aSHRcJ6KG2IHIioYlvAOcEq6U99sVtqDDKVhnwt70rW6tsz3tv5OSjEiWcgzfsHdLyGXZ/3b/7b/+Za3Y6r1XA==} - engines: {node: '>=16'} - peerDependencies: - rollup: ^3.29.4 || ^4 - typescript: ^4.5 || ^5.0 + reusify@1.1.0: + resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - rollup@3.29.5: - resolution: {integrity: sha512-GVsDdsbJzzy4S/v3dqWPJ7EfvZJfCHiDqe80IyrF59LYuP+e6U1LJoUqeuqRbwAWoMNoXivMNeNAOf5E22VA1w==} - engines: {node: '>=14.18.0', npm: '>=8.0.0'} + rimraf@3.0.2: + resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + deprecated: Rimraf versions prior to v4 are no longer supported hasBin: true run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} - scule@1.3.0: - resolution: {integrity: sha512-6FtHJEvt+pVMIB9IBY+IcCJ6Z5f1iQnytgyfKMhDKgmzYG+TeH/wx1y3l27rshSbLiSanrR9ffZDrEsmjlQF2g==} + safe-buffer@5.1.2: + resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} + + semver@5.7.2: + resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} + hasBin: true semver@6.3.1: resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true - semver@7.6.3: - resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} + semver@7.7.3: + resolution: {integrity: sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==} + engines: {node: '>=10'} + hasBin: true + + semver@7.7.4: + resolution: {integrity: sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==} engines: {node: '>=10'} hasBin: true - shimmer@1.2.1: - resolution: {integrity: sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw==} + send@1.2.1: + resolution: {integrity: sha512-1gnZf7DFcoIcajTjTwjwuDjzuz4PPcY2StKPlsGAQ1+YH20IRVrBaXSWmdjowTJ6u8Rc01PoYOGHXfP1mYcZNQ==} + engines: {node: '>= 18'} - slash@4.0.0: - resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} - engines: {node: '>=12'} + serialize-error@7.0.1: + resolution: {integrity: sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==} + engines: {node: '>=10'} - source-map-js@1.2.1: - resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} - engines: {node: '>=0.10.0'} + serve-static@2.2.1: + resolution: {integrity: sha512-xRXBn0pPqQTVQiC8wyQrKs2MOlX24zQ0POGaj0kultvoOCstBQM5yvOhAVSUwOMjQtTvsPWoNCHfPGwaaQJhTw==} + engines: {node: '>= 18'} - source-map@0.7.4: - resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==} - engines: {node: '>= 8'} + set-blocking@2.0.0: + resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} - string-width@4.2.3: - resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} - engines: {node: '>=8'} + setprototypeof@1.2.0: + resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} - strip-ansi@6.0.1: - resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} engines: {node: '>=8'} - stylehacks@7.0.4: - resolution: {integrity: sha512-i4zfNrGMt9SB4xRK9L83rlsFCgdGANfeDAYacO1pkqcE7cRHPdWHwnKZVz7WY17Veq/FvyYsRAU++Ga+qDFIww==} - engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} - peerDependencies: - postcss: ^8.4.31 + shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} - supports-color@5.5.0: - resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + shelljs@0.8.5: + resolution: {integrity: sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==} engines: {node: '>=4'} + hasBin: true + + signal-exit@4.1.0: + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} + + simple-git@3.36.0: + resolution: {integrity: sha512-cGQjLjK8bxJw4QuYT7gxHw3/IouVESbhahSsHrX97MzCL1gu2u7oy38W6L2ZIGECEfIBG4BabsWDPjBxJENv9Q==} + + slash@2.0.0: + resolution: {integrity: sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==} + engines: {node: '>=6'} + + slash@5.1.0: + resolution: {integrity: sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==} + engines: {node: '>=14.16'} + + slice-ansi@4.0.0: + resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} + engines: {node: '>=10'} + + slice-ansi@9.0.0: + resolution: {integrity: sha512-SO/3iYL5S3W57LLEniscOGPZgOqZUPCx6d3dB+52B80yJ0XstzsC/eV8gnA4tM3MHDrKz+OCFSLNjswdSC+/bA==} + engines: {node: '>=22'} + + smart-buffer@4.2.0: + resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==} + engines: {node: '>= 6.0.0', npm: '>= 3.0.0'} + + socks-proxy-agent@8.0.5: + resolution: {integrity: sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw==} + engines: {node: '>= 14'} + + socks@2.8.7: + resolution: {integrity: sha512-HLpt+uLy/pxB+bum/9DzAgiKS8CX1EvbWxI4zlmgGCExImLdiad2iCwXT5Z4c9c3Eq8rP2318mPW2c+QbtjK8A==} + engines: {node: '>= 10.0.0', npm: '>= 3.0.0'} + + source-map@0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} + + spdx-correct@3.2.0: + resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} + + spdx-exceptions@2.5.0: + resolution: {integrity: sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==} + + spdx-expression-parse@3.0.1: + resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} + + spdx-license-ids@3.0.22: + resolution: {integrity: sha512-4PRT4nh1EImPbt2jASOKHX7PB7I+e4IWNLvkKFDxNhJlfjbYlleYQh285Z/3mPTHSAK/AvdMmw5BNNuYH8ShgQ==} + + sprintf-js@1.0.3: + resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} + + stack-utils@2.0.6: + resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} + engines: {node: '>=10'} + + statuses@2.0.2: + resolution: {integrity: sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==} + engines: {node: '>= 0.8'} + + streamx@2.23.0: + resolution: {integrity: sha512-kn+e44esVfn2Fa/O0CPFcex27fjIL6MkVae0Mm6q+E6f0hWv578YCERbv+4m02cjxvDsPKLnmxral/rR6lBMAg==} + + string-width@4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + + string-width@7.2.0: + resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==} + engines: {node: '>=18'} + + string-width@8.2.1: + resolution: {integrity: sha512-IIaP0g3iy9Cyy18w3M9YcaDudujEAVHKt3a3QJg1+sr/oX96TbaGUubG0hJyCjCBThFH+tFpcIyoUHUn1ogaLA==} + engines: {node: '>=20'} + + string_decoder@0.10.31: + resolution: {integrity: sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==} + + string_decoder@1.1.1: + resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} + + strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + + strip-ansi@7.1.2: + resolution: {integrity: sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==} + engines: {node: '>=12'} + + strip-indent@3.0.0: + resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} + engines: {node: '>=8'} + + supertap@3.0.1: + resolution: {integrity: sha512-u1ZpIBCawJnO+0QePsEiOknOfCRq0yERxiAchT0i4li0WHNUJbf0evXXSXOcCAR4M8iMDoajXYmstm/qO81Isw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + supports-color@5.5.0: + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} + + supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} supports-preserve-symlinks-flag@1.0.0: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} - svgo@3.3.2: - resolution: {integrity: sha512-OoohrmuUlBs8B8o6MB2Aevn+pRIH9zDALSR+6hhqVfa6fRwG/Qw9VUMSMW9VNg2CFc/MTIfabtdOVl9ODIJjpw==} - engines: {node: '>=14.0.0'} - hasBin: true + table@6.9.0: + resolution: {integrity: sha512-9kY+CygyYM6j02t5YFHbNz2FN5QmYGv9zAjVp4lCDjlCw7amdckXlEt/bjMhUIfj4ThGRE4gCUH5+yGnNuPo5A==} + engines: {node: '>=10.0.0'} + + tar-fs@3.1.2: + resolution: {integrity: sha512-QGxxTxxyleAdyM3kpFs14ymbYmNFrfY+pHj7Z8FgtbZ7w2//VAgLMac7sT6nRpIHjppXO2AwwEOg0bPFVRcmXw==} + + tar-stream@3.1.7: + resolution: {integrity: sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==} + + tar@7.5.13: + resolution: {integrity: sha512-tOG/7GyXpFevhXVh8jOPJrmtRpOTsYqUIkVdVooZYJS/z8WhfQUX8RJILmeuJNinGAMSu1veBr4asSHFt5/hng==} + engines: {node: '>=18'} + + temp-dir@3.0.0: + resolution: {integrity: sha512-nHc6S/bwIilKHNRgK/3jlhDoIHcp45YgyiwcAk46Tr0LfEqGBVpmiAyuiuxeVE44m3mXnEeVhaipLOEWmH+Njw==} + engines: {node: '>=14.16'} - to-fast-properties@2.0.0: - resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} + text-decoder@1.2.3: + resolution: {integrity: sha512-3/o9z3X0X0fTupwsYvR03pJ/DjWuqqrfwBgTQzdWDiQSm9KitAyz/9WqsT2JQW7KV2m+bC2ol/zqpW37NHxLaA==} + + through2@2.0.5: + resolution: {integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==} + + time-zone@1.0.0: + resolution: {integrity: sha512-TIsDdtKo6+XrPtiTm1ssmMngN1sAhyKnTO2kunQWqNPWIVvCm15Wmw4SWInwTVgJ5u/Tr04+8Ei9TNcw4x4ONA==} engines: {node: '>=4'} to-regex-range@5.0.1: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} - tslib@2.7.0: - resolution: {integrity: sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==} + toidentifier@1.0.1: + resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} + engines: {node: '>=0.6'} - typescript@5.6.2: - resolution: {integrity: sha512-NW8ByodCSNCwZeghjN3o+JX5OFH0Ojg6sadjEKY4huZ52TqbJTJnDo5+Tw98lSy63NZvi4n+ez5m2u5d4PkZyw==} - engines: {node: '>=14.17'} - hasBin: true + tr46@0.0.3: + resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} - ufo@1.5.4: - resolution: {integrity: sha512-UsUk3byDzKd04EyoZ7U4DOlxQaD14JUKQl6/P7wiX4FNvUfm3XL246n9W5AmqwW5RSFJ27NAuM0iLscAOYUiGQ==} + trim-newlines@3.0.1: + resolution: {integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==} + engines: {node: '>=8'} - unbuild@2.0.0: - resolution: {integrity: sha512-JWCUYx3Oxdzvw2J9kTAp+DKE8df/BnH/JTSj6JyA4SH40ECdFu7FoJJcrm8G92B7TjofQ6GZGjJs50TRxoH6Wg==} - hasBin: true - peerDependencies: - typescript: ^5.1.6 - peerDependenciesMeta: - typescript: - optional: true + tslib@2.8.1: + resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} + + type-fest@0.13.1: + resolution: {integrity: sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==} + engines: {node: '>=10'} + + type-fest@0.18.1: + resolution: {integrity: sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==} + engines: {node: '>=10'} + + type-fest@0.6.0: + resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} + engines: {node: '>=8'} + + type-fest@0.8.1: + resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} + engines: {node: '>=8'} + + typed-query-selector@2.12.1: + resolution: {integrity: sha512-uzR+FzI8qrUEIu96oaeBJmd9E7CFEiQ3goA5qCVgc4s5llSubcfGHq9yUstZx/k4s9dXHVKsE35YWoFyvEqEHA==} - undici-types@6.19.8: - resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==} + typescript-compiler@1.4.1-2: + resolution: {integrity: sha512-EMopKmoAEJqA4XXRFGOb7eSBhmQMbBahW6P1Koayeatp0b4AW2q/bBqYWkpG7QVQc9HGQUiS4trx2ZHcnAaZUg==} - untyped@1.5.0: - resolution: {integrity: sha512-o2Vjmn2dal08BzCcINxSmWuAteReUUiXseii5VRhmxyLF0b21K0iKZQ9fMYK7RWspVkY+0saqaVQNq4roe3Efg==} + typescript@4.4.4: + resolution: {integrity: sha512-DqGhF5IKoBl8WNf8C1gu8q0xZSInh9j1kJJMqT3a94w1JzVaBU4EXOSMrz9yDqMT0xt3selp83fuFMQ0uzv6qA==} + engines: {node: '>=4.2.0'} hasBin: true - update-browserslist-db@1.1.1: - resolution: {integrity: sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==} + undici-types@7.16.0: + resolution: {integrity: sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==} + + unicode-canonical-property-names-ecmascript@2.0.1: + resolution: {integrity: sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==} + engines: {node: '>=4'} + + unicode-match-property-ecmascript@2.0.0: + resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==} + engines: {node: '>=4'} + + unicode-match-property-value-ecmascript@2.2.1: + resolution: {integrity: sha512-JQ84qTuMg4nVkx8ga4A16a1epI9H6uTXAknqxkGF/aFfRLw1xC/Bp24HNLaZhHSkWd3+84t8iXnp1J0kYcZHhg==} + engines: {node: '>=4'} + + unicode-property-aliases-ecmascript@2.2.0: + resolution: {integrity: sha512-hpbDzxUY9BFwX+UeBnxv3Sh1q7HFxj48DTmXchNgRa46lO8uj3/1iEn3MiNUYTg1g9ctIqXCCERn8gYZhHC5lQ==} + engines: {node: '>=4'} + + unicorn-magic@0.3.0: + resolution: {integrity: sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==} + engines: {node: '>=18'} + + unicorn-magic@0.4.0: + resolution: {integrity: sha512-wH590V9VNgYH9g3lH9wWjTrUoKsjLF6sGLjhR4sH1LWpLmCOH0Zf7PukhDA8BiS7KHe4oPNkcTHqYkj7SOGUOw==} + engines: {node: '>=20'} + + universal-user-agent@6.0.1: + resolution: {integrity: sha512-yCzhz6FN2wU1NiiQRogkTQszlQSlpWaw8SvVegAc+bDxbzHgh1vX8uIe8OYyMH6DwH+sdTJsgMl36+mSMdRJIQ==} + + universal-user-agent@7.0.3: + resolution: {integrity: sha512-TmnEAEAsBJVZM/AADELsK76llnwcf9vMKuPz8JflO1frO8Lchitr0fNaN9d+Ap0BjKtqWqd/J17qeDnXh8CL2A==} + + universalify@0.1.2: + resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} + engines: {node: '>= 4.0.0'} + + untildify@4.0.0: + resolution: {integrity: sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==} + engines: {node: '>=8'} + + update-browserslist-db@1.2.3: + resolution: {integrity: sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==} hasBin: true peerDependencies: browserslist: '>= 4.21.0' @@ -1546,1524 +2460,2672 @@ packages: util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + validate-npm-package-license@3.0.4: + resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} + + webdriver-bidi-protocol@0.4.1: + resolution: {integrity: sha512-ARrjNjtWRRs2w4Tk7nqrf2gBI0QXWuOmMCx2hU+1jUt6d00MjMxURrhxhGbrsoiZKJrhTSTzbIrc554iKI10qw==} + + webidl-conversions@3.0.1: + resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} + + well-known-symbols@2.0.0: + resolution: {integrity: sha512-ZMjC3ho+KXo0BfJb7JgtQ5IBuvnShdlACNkKkdsqBmYw3bPAaJfPeYUo6tLUaT5tG/Gkh7xkpBhKRQ9e7pyg9Q==} + engines: {node: '>=6'} + + whatwg-url@5.0.0: + resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} + + which-module@2.0.1: + resolution: {integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==} + + which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + + wrap-ansi@6.2.0: + resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} + engines: {node: '>=8'} + wrap-ansi@7.0.0: resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} engines: {node: '>=10'} + wrap-ansi@9.0.2: + resolution: {integrity: sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==} + engines: {node: '>=18'} + wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + write-file-atomic@7.0.1: + resolution: {integrity: sha512-OTIk8iR8/aCRWBqvxrzxR0hgxWpnYBblY1S5hDWBQfk/VFmJwzmJgQFN3WsoUKHISv2eAwe+PpbUzyL1CKTLXg==} + engines: {node: ^20.17.0 || >=22.9.0} + + ws@8.17.1: + resolution: {integrity: sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + x-img-diff-js@0.3.5: resolution: {integrity: sha512-B97ztoc2JeM+62HH1zFhmTyilsVqL486WMm8X3oQz16lTCGITY1cz+H57mTsNG0QuyVxv1yGq06qC8wy6UPCmQ==} - y18n@5.0.8: - resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} - engines: {node: '>=10'} + xmlbuilder2@4.0.3: + resolution: {integrity: sha512-bx8Q1STctnNaaDymWnkfQLKofs0mGNN7rLLapJlGuV3VlvegD7Ls4ggMjE3aUSWItCCzU0PEv45lI87iSigiCA==} + engines: {node: '>=20.0'} + + xtend@4.0.2: + resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} + engines: {node: '>=0.4'} + + y18n@5.0.8: + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} + engines: {node: '>=10'} + + yallist@3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + + yallist@4.0.0: + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + + yallist@5.0.0: + resolution: {integrity: sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==} + engines: {node: '>=18'} + + yargs-parser@21.1.1: + resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} + engines: {node: '>=12'} + + yargs@15.4.1: + resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==} + engines: {node: '>=8'} + + yargs@16.2.0: + resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==} + engines: {node: '>=10'} + + yargs@17.7.2: + resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} + engines: {node: '>=12'} + + yargs@18.0.0: + resolution: {integrity: sha512-4UEqdc2RYGHZc7Doyqkrqiln3p9X2DZVxaGbwhn2pi7MrRagKaOcIKe8L3OxYcbhXLgLFUS3zAYuQjKBQgmuNg==} + engines: {node: ^20.19.0 || ^22.12.0 || >=23} + + yauzl@2.10.0: + resolution: {integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==} + + zod@3.25.76: + resolution: {integrity: sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==} + +snapshots: + + '@babel/cli@7.28.6(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@jridgewell/trace-mapping': 0.3.31 + commander: 6.2.1 + convert-source-map: 2.0.0 + fs-readdir-recursive: 1.1.0 + glob: 7.2.3 + make-dir: 2.1.0 + slash: 2.0.0 + optionalDependencies: + '@nicolo-ribaudo/chokidar-2': 2.1.8-no-fsevents.3 + chokidar: 3.6.0 + + '@babel/code-frame@7.29.0': + dependencies: + '@babel/helper-validator-identifier': 7.28.5 + js-tokens: 4.0.0 + picocolors: 1.1.1 + + '@babel/compat-data@7.29.3': {} + + '@babel/core@7.29.0': + dependencies: + '@babel/code-frame': 7.29.0 + '@babel/generator': 7.29.0 + '@babel/helper-compilation-targets': 7.28.6 + '@babel/helper-module-transforms': 7.28.6(@babel/core@7.29.0) + '@babel/helpers': 7.28.6 + '@babel/parser': 7.29.0 + '@babel/template': 7.28.6 + '@babel/traverse': 7.29.0 + '@babel/types': 7.29.0 + '@jridgewell/remapping': 2.3.5 + convert-source-map: 2.0.0 + debug: 4.4.3 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/generator@7.29.0': + dependencies: + '@babel/parser': 7.29.0 + '@babel/types': 7.29.0 + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 + jsesc: 3.1.0 + + '@babel/helper-annotate-as-pure@7.27.3': + dependencies: + '@babel/types': 7.29.0 + + '@babel/helper-compilation-targets@7.28.6': + dependencies: + '@babel/compat-data': 7.29.3 + '@babel/helper-validator-option': 7.27.1 + browserslist: 4.28.2 + lru-cache: 5.1.1 + semver: 6.3.1 + + '@babel/helper-create-class-features-plugin@7.29.3(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-annotate-as-pure': 7.27.3 + '@babel/helper-member-expression-to-functions': 7.28.5 + '@babel/helper-optimise-call-expression': 7.27.1 + '@babel/helper-replace-supers': 7.28.6(@babel/core@7.29.0) + '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 + '@babel/traverse': 7.29.0 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/helper-create-regexp-features-plugin@7.28.5(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-annotate-as-pure': 7.27.3 + regexpu-core: 6.4.0 + semver: 6.3.1 + + '@babel/helper-define-polyfill-provider@0.6.8(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-compilation-targets': 7.28.6 + '@babel/helper-plugin-utils': 7.28.6 + debug: 4.4.3 + lodash.debounce: 4.0.8 + resolve: 1.22.12 + transitivePeerDependencies: + - supports-color + + '@babel/helper-globals@7.28.0': {} + + '@babel/helper-member-expression-to-functions@7.28.5': + dependencies: + '@babel/traverse': 7.29.0 + '@babel/types': 7.29.0 + transitivePeerDependencies: + - supports-color + + '@babel/helper-module-imports@7.28.6': + dependencies: + '@babel/traverse': 7.29.0 + '@babel/types': 7.29.0 + transitivePeerDependencies: + - supports-color + + '@babel/helper-module-transforms@7.28.6(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-module-imports': 7.28.6 + '@babel/helper-validator-identifier': 7.28.5 + '@babel/traverse': 7.29.0 + transitivePeerDependencies: + - supports-color + + '@babel/helper-optimise-call-expression@7.27.1': + dependencies: + '@babel/types': 7.29.0 + + '@babel/helper-plugin-utils@7.27.1': {} + + '@babel/helper-plugin-utils@7.28.6': {} + + '@babel/helper-remap-async-to-generator@7.27.1(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-annotate-as-pure': 7.27.3 + '@babel/helper-wrap-function': 7.28.6 + '@babel/traverse': 7.29.0 + transitivePeerDependencies: + - supports-color + + '@babel/helper-replace-supers@7.28.6(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-member-expression-to-functions': 7.28.5 + '@babel/helper-optimise-call-expression': 7.27.1 + '@babel/traverse': 7.29.0 + transitivePeerDependencies: + - supports-color + + '@babel/helper-skip-transparent-expression-wrappers@7.27.1': + dependencies: + '@babel/traverse': 7.29.0 + '@babel/types': 7.29.0 + transitivePeerDependencies: + - supports-color + + '@babel/helper-string-parser@7.27.1': {} + + '@babel/helper-validator-identifier@7.28.5': {} + + '@babel/helper-validator-option@7.27.1': {} + + '@babel/helper-wrap-function@7.28.6': + dependencies: + '@babel/template': 7.28.6 + '@babel/traverse': 7.29.0 + '@babel/types': 7.29.0 + transitivePeerDependencies: + - supports-color + + '@babel/helpers@7.28.6': + dependencies: + '@babel/template': 7.28.6 + '@babel/types': 7.29.0 + + '@babel/highlight@7.25.9': + dependencies: + '@babel/helper-validator-identifier': 7.28.5 + chalk: 2.4.2 + js-tokens: 4.0.0 + picocolors: 1.1.1 + + '@babel/parser@7.29.0': + dependencies: + '@babel/types': 7.29.0 + + '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.28.5(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 + '@babel/traverse': 7.29.0 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.27.1(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 + + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.27.1(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 + + '@babel/plugin-bugfix-safari-rest-destructuring-rhs-array@7.29.3(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 + '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.27.1(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 + '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 + '@babel/plugin-transform-optional-chaining': 7.28.6(@babel/core@7.29.0) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.28.6(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 + '@babel/traverse': 7.29.0 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + + '@babel/plugin-syntax-flow@7.27.1(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-syntax-import-assertions@7.28.6(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 + + '@babel/plugin-syntax-import-attributes@7.28.6(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 + + '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.29.0) + '@babel/helper-plugin-utils': 7.28.6 + + '@babel/plugin-transform-arrow-functions@7.27.1(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 + + '@babel/plugin-transform-async-generator-functions@7.29.0(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 + '@babel/helper-remap-async-to-generator': 7.27.1(@babel/core@7.29.0) + '@babel/traverse': 7.29.0 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-async-to-generator@7.28.6(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-module-imports': 7.28.6 + '@babel/helper-plugin-utils': 7.28.6 + '@babel/helper-remap-async-to-generator': 7.27.1(@babel/core@7.29.0) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-block-scoped-functions@7.27.1(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 + + '@babel/plugin-transform-block-scoping@7.28.6(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 + + '@babel/plugin-transform-class-properties@7.28.6(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-create-class-features-plugin': 7.29.3(@babel/core@7.29.0) + '@babel/helper-plugin-utils': 7.28.6 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-class-static-block@7.28.6(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-create-class-features-plugin': 7.29.3(@babel/core@7.29.0) + '@babel/helper-plugin-utils': 7.28.6 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-classes@7.28.6(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-annotate-as-pure': 7.27.3 + '@babel/helper-compilation-targets': 7.28.6 + '@babel/helper-globals': 7.28.0 + '@babel/helper-plugin-utils': 7.28.6 + '@babel/helper-replace-supers': 7.28.6(@babel/core@7.29.0) + '@babel/traverse': 7.29.0 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-computed-properties@7.28.6(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 + '@babel/template': 7.28.6 + + '@babel/plugin-transform-destructuring@7.28.5(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 + '@babel/traverse': 7.29.0 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-dotall-regex@7.28.6(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.29.0) + '@babel/helper-plugin-utils': 7.28.6 + + '@babel/plugin-transform-duplicate-keys@7.27.1(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 + + '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.29.0(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.29.0) + '@babel/helper-plugin-utils': 7.28.6 + + '@babel/plugin-transform-dynamic-import@7.27.1(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 + + '@babel/plugin-transform-explicit-resource-management@7.28.6(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 + '@babel/plugin-transform-destructuring': 7.28.5(@babel/core@7.29.0) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-exponentiation-operator@7.28.6(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 + + '@babel/plugin-transform-export-namespace-from@7.27.1(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 + + '@babel/plugin-transform-flow-strip-types@7.27.1(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-syntax-flow': 7.27.1(@babel/core@7.29.0) + + '@babel/plugin-transform-for-of@7.27.1(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 + '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-function-name@7.27.1(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-compilation-targets': 7.28.6 + '@babel/helper-plugin-utils': 7.28.6 + '@babel/traverse': 7.29.0 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-json-strings@7.28.6(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 + + '@babel/plugin-transform-literals@7.27.1(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 + + '@babel/plugin-transform-logical-assignment-operators@7.28.6(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 + + '@babel/plugin-transform-member-expression-literals@7.27.1(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 + + '@babel/plugin-transform-modules-amd@7.27.1(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-module-transforms': 7.28.6(@babel/core@7.29.0) + '@babel/helper-plugin-utils': 7.28.6 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-modules-commonjs@7.28.6(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-module-transforms': 7.28.6(@babel/core@7.29.0) + '@babel/helper-plugin-utils': 7.28.6 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-modules-systemjs@7.29.0(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-module-transforms': 7.28.6(@babel/core@7.29.0) + '@babel/helper-plugin-utils': 7.28.6 + '@babel/helper-validator-identifier': 7.28.5 + '@babel/traverse': 7.29.0 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-modules-umd@7.27.1(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-module-transforms': 7.28.6(@babel/core@7.29.0) + '@babel/helper-plugin-utils': 7.28.6 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-named-capturing-groups-regex@7.29.0(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.29.0) + '@babel/helper-plugin-utils': 7.28.6 + + '@babel/plugin-transform-new-target@7.27.1(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 + + '@babel/plugin-transform-nullish-coalescing-operator@7.28.6(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 + + '@babel/plugin-transform-numeric-separator@7.28.6(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 + + '@babel/plugin-transform-object-rest-spread@7.28.6(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-compilation-targets': 7.28.6 + '@babel/helper-plugin-utils': 7.28.6 + '@babel/plugin-transform-destructuring': 7.28.5(@babel/core@7.29.0) + '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.29.0) + '@babel/traverse': 7.29.0 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-object-super@7.27.1(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 + '@babel/helper-replace-supers': 7.28.6(@babel/core@7.29.0) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-optional-catch-binding@7.28.6(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 + + '@babel/plugin-transform-optional-chaining@7.28.6(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 + '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-parameters@7.27.7(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 + + '@babel/plugin-transform-private-methods@7.28.6(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-create-class-features-plugin': 7.29.3(@babel/core@7.29.0) + '@babel/helper-plugin-utils': 7.28.6 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-private-property-in-object@7.28.6(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-annotate-as-pure': 7.27.3 + '@babel/helper-create-class-features-plugin': 7.29.3(@babel/core@7.29.0) + '@babel/helper-plugin-utils': 7.28.6 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-property-literals@7.27.1(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 + + '@babel/plugin-transform-regenerator@7.29.0(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 + + '@babel/plugin-transform-regexp-modifiers@7.28.6(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.29.0) + '@babel/helper-plugin-utils': 7.28.6 + + '@babel/plugin-transform-reserved-words@7.27.1(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 + + '@babel/plugin-transform-shorthand-properties@7.27.1(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 + + '@babel/plugin-transform-spread@7.28.6(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 + '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-sticky-regex@7.27.1(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 + + '@babel/plugin-transform-template-literals@7.27.1(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 + + '@babel/plugin-transform-typeof-symbol@7.27.1(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 + + '@babel/plugin-transform-unicode-escapes@7.27.1(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 + + '@babel/plugin-transform-unicode-property-regex@7.28.6(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.29.0) + '@babel/helper-plugin-utils': 7.28.6 + + '@babel/plugin-transform-unicode-regex@7.27.1(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.29.0) + '@babel/helper-plugin-utils': 7.28.6 + + '@babel/plugin-transform-unicode-sets-regex@7.28.6(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.29.0) + '@babel/helper-plugin-utils': 7.28.6 + + '@babel/preset-env@7.29.3(@babel/core@7.29.0)': + dependencies: + '@babel/compat-data': 7.29.3 + '@babel/core': 7.29.0 + '@babel/helper-compilation-targets': 7.28.6 + '@babel/helper-plugin-utils': 7.28.6 + '@babel/helper-validator-option': 7.27.1 + '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.28.5(@babel/core@7.29.0) + '@babel/plugin-bugfix-safari-class-field-initializer-scope': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-bugfix-safari-rest-destructuring-rhs-array': 7.29.3(@babel/core@7.29.0) + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.29.0) + '@babel/plugin-syntax-import-assertions': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-syntax-import-attributes': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.29.0) + '@babel/plugin-transform-arrow-functions': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-transform-async-generator-functions': 7.29.0(@babel/core@7.29.0) + '@babel/plugin-transform-async-to-generator': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-transform-block-scoped-functions': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-transform-block-scoping': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-transform-class-properties': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-transform-class-static-block': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-transform-classes': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-transform-computed-properties': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-transform-destructuring': 7.28.5(@babel/core@7.29.0) + '@babel/plugin-transform-dotall-regex': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-transform-duplicate-keys': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-transform-duplicate-named-capturing-groups-regex': 7.29.0(@babel/core@7.29.0) + '@babel/plugin-transform-dynamic-import': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-transform-explicit-resource-management': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-transform-exponentiation-operator': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-transform-export-namespace-from': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-transform-for-of': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-transform-function-name': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-transform-json-strings': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-transform-literals': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-transform-logical-assignment-operators': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-transform-member-expression-literals': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-transform-modules-amd': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-transform-modules-commonjs': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-transform-modules-systemjs': 7.29.0(@babel/core@7.29.0) + '@babel/plugin-transform-modules-umd': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-transform-named-capturing-groups-regex': 7.29.0(@babel/core@7.29.0) + '@babel/plugin-transform-new-target': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-transform-nullish-coalescing-operator': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-transform-numeric-separator': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-transform-object-rest-spread': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-transform-object-super': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-transform-optional-catch-binding': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-transform-optional-chaining': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.29.0) + '@babel/plugin-transform-private-methods': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-transform-private-property-in-object': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-transform-property-literals': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-transform-regenerator': 7.29.0(@babel/core@7.29.0) + '@babel/plugin-transform-regexp-modifiers': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-transform-reserved-words': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-transform-shorthand-properties': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-transform-spread': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-transform-sticky-regex': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-transform-template-literals': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-transform-typeof-symbol': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-transform-unicode-escapes': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-transform-unicode-property-regex': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-transform-unicode-regex': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-transform-unicode-sets-regex': 7.28.6(@babel/core@7.29.0) + '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.29.0) + babel-plugin-polyfill-corejs2: 0.4.17(@babel/core@7.29.0) + babel-plugin-polyfill-corejs3: 0.14.2(@babel/core@7.29.0) + babel-plugin-polyfill-regenerator: 0.6.8(@babel/core@7.29.0) + core-js-compat: 3.49.0 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/preset-flow@7.27.1(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-validator-option': 7.27.1 + '@babel/plugin-transform-flow-strip-types': 7.27.1(@babel/core@7.29.0) + + '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 + '@babel/types': 7.29.0 + esutils: 2.0.3 + + '@babel/preset-stage-2@7.8.3': {} + + '@babel/template@7.28.6': + dependencies: + '@babel/code-frame': 7.29.0 + '@babel/parser': 7.29.0 + '@babel/types': 7.29.0 + + '@babel/traverse@7.29.0': + dependencies: + '@babel/code-frame': 7.29.0 + '@babel/generator': 7.29.0 + '@babel/helper-globals': 7.28.0 + '@babel/parser': 7.29.0 + '@babel/template': 7.28.6 + '@babel/types': 7.29.0 + debug: 4.4.3 + transitivePeerDependencies: + - supports-color + + '@babel/types@7.29.0': + dependencies: + '@babel/helper-string-parser': 7.27.1 + '@babel/helper-validator-identifier': 7.28.5 + + '@epic-web/invariant@1.0.0': {} + + '@isaacs/fs-minipass@4.0.1': + dependencies: + minipass: 7.1.2 + + '@jridgewell/gen-mapping@0.3.13': + dependencies: + '@jridgewell/sourcemap-codec': 1.5.5 + '@jridgewell/trace-mapping': 0.3.31 + + '@jridgewell/remapping@2.3.5': + dependencies: + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 + + '@jridgewell/resolve-uri@3.1.2': {} + + '@jridgewell/sourcemap-codec@1.5.5': {} + + '@jridgewell/trace-mapping@0.3.31': + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.5 + + '@kwsites/file-exists@1.1.1': + dependencies: + debug: 4.4.3 + transitivePeerDependencies: + - supports-color + + '@kwsites/promise-deferred@1.1.1': {} + + '@mapbox/node-pre-gyp@2.0.3': + dependencies: + consola: 3.4.2 + detect-libc: 2.1.2 + https-proxy-agent: 7.0.6 + node-fetch: 2.7.0 + nopt: 8.1.0 + semver: 7.7.4 + tar: 7.5.13 + transitivePeerDependencies: + - encoding + - supports-color + + '@nicolo-ribaudo/chokidar-2@2.1.8-no-fsevents.3': + optional: true + + '@nodelib/fs.scandir@2.1.5': + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + + '@nodelib/fs.stat@2.0.5': {} + + '@nodelib/fs.walk@1.2.8': + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.19.1 + + '@octokit/auth-token@2.5.0': + dependencies: + '@octokit/types': 6.41.0 + + '@octokit/core@3.6.0': + dependencies: + '@octokit/auth-token': 2.5.0 + '@octokit/graphql': 4.8.0 + '@octokit/request': 10.0.8 + '@octokit/request-error': 7.1.0 + '@octokit/types': 6.41.0 + before-after-hook: 2.2.3 + universal-user-agent: 6.0.1 + + '@octokit/endpoint@11.0.3': + dependencies: + '@octokit/types': 16.0.0 + universal-user-agent: 7.0.3 + + '@octokit/graphql@4.8.0': + dependencies: + '@octokit/request': 10.0.8 + '@octokit/types': 6.41.0 + universal-user-agent: 6.0.1 + + '@octokit/openapi-types@12.11.0': {} + + '@octokit/openapi-types@27.0.0': {} + + '@octokit/plugin-paginate-rest@14.0.0(@octokit/core@3.6.0)': + dependencies: + '@octokit/core': 3.6.0 + '@octokit/types': 16.0.0 + + '@octokit/plugin-request-log@1.0.4(@octokit/core@3.6.0)': + dependencies: + '@octokit/core': 3.6.0 + + '@octokit/plugin-rest-endpoint-methods@5.16.2(@octokit/core@3.6.0)': + dependencies: + '@octokit/core': 3.6.0 + '@octokit/types': 6.41.0 + deprecation: 2.3.1 + + '@octokit/request-error@7.1.0': + dependencies: + '@octokit/types': 16.0.0 + + '@octokit/request@10.0.8': + dependencies: + '@octokit/endpoint': 11.0.3 + '@octokit/request-error': 7.1.0 + '@octokit/types': 16.0.0 + fast-content-type-parse: 3.0.0 + json-with-bigint: 3.5.8 + universal-user-agent: 7.0.3 + + '@octokit/rest@18.12.0': + dependencies: + '@octokit/core': 3.6.0 + '@octokit/plugin-paginate-rest': 14.0.0(@octokit/core@3.6.0) + '@octokit/plugin-request-log': 1.0.4(@octokit/core@3.6.0) + '@octokit/plugin-rest-endpoint-methods': 5.16.2(@octokit/core@3.6.0) + + '@octokit/types@16.0.0': + dependencies: + '@octokit/openapi-types': 27.0.0 + + '@octokit/types@6.41.0': + dependencies: + '@octokit/openapi-types': 12.11.0 + + '@oozcitak/dom@2.0.2': + dependencies: + '@oozcitak/infra': 2.0.2 + '@oozcitak/url': 3.0.0 + '@oozcitak/util': 10.0.0 + + '@oozcitak/infra@2.0.2': + dependencies: + '@oozcitak/util': 10.0.0 + + '@oozcitak/url@3.0.0': + dependencies: + '@oozcitak/infra': 2.0.2 + '@oozcitak/util': 10.0.0 + + '@oozcitak/util@10.0.0': {} + + '@puppeteer/browsers@2.13.0': + dependencies: + debug: 4.4.3 + extract-zip: 2.0.1 + progress: 2.0.3 + proxy-agent: 6.5.0 + semver: 7.7.4 + tar-fs: 3.1.2 + yargs: 17.7.2 + transitivePeerDependencies: + - bare-abort-controller + - bare-buffer + - react-native-b4a + - supports-color + + '@rollup/pluginutils@5.3.0': + dependencies: + '@types/estree': 1.0.8 + estree-walker: 2.0.2 + picomatch: 4.0.4 + + '@simple-git/args-pathspec@1.0.3': {} + + '@simple-git/argv-parser@1.1.1': + dependencies: + '@simple-git/args-pathspec': 1.0.3 + + '@sindresorhus/is@4.6.0': {} + + '@sindresorhus/merge-streams@2.3.0': {} + + '@sindresorhus/merge-streams@4.0.0': {} + + '@szmarczak/http-timer@4.0.6': + dependencies: + defer-to-connect: 2.0.1 + + '@tootallnate/quickjs-emscripten@0.23.0': {} + + '@types/cacheable-request@6.0.3': + dependencies: + '@types/http-cache-semantics': 4.0.4 + '@types/keyv': 3.1.4 + '@types/node': 25.0.3 + '@types/responselike': 1.0.3 + + '@types/estree@1.0.8': {} + + '@types/http-cache-semantics@4.0.4': {} + + '@types/keyv@3.1.4': + dependencies: + '@types/node': 25.0.3 + + '@types/minimist@1.2.5': {} + + '@types/node@25.0.3': + dependencies: + undici-types: 7.16.0 + + '@types/normalize-package-data@2.4.4': {} + + '@types/responselike@1.0.3': + dependencies: + '@types/node': 25.0.3 + + '@types/yauzl@2.10.3': + dependencies: + '@types/node': 25.0.3 + optional: true + + '@vercel/nft@1.5.0': + dependencies: + '@mapbox/node-pre-gyp': 2.0.3 + '@rollup/pluginutils': 5.3.0 + acorn: 8.16.0 + acorn-import-attributes: 1.9.5(acorn@8.16.0) + async-sema: 3.1.1 + bindings: 1.5.0 + estree-walker: 2.0.2 + glob: 13.0.6 + graceful-fs: 4.2.11 + node-gyp-build: 4.8.4 + picomatch: 4.0.4 + resolve-from: 5.0.0 + transitivePeerDependencies: + - encoding + - rollup + - supports-color + + abbrev@3.0.1: {} + + acorn-import-attributes@1.9.5(acorn@8.16.0): + dependencies: + acorn: 8.16.0 + + acorn-walk@8.3.5: + dependencies: + acorn: 8.16.0 + + acorn@8.16.0: {} + + agent-base@7.1.4: {} + + ajv@8.20.0: + dependencies: + fast-deep-equal: 3.1.3 + fast-uri: 3.1.0 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 + + ansi-regex@5.0.1: {} + + ansi-styles@3.2.1: + dependencies: + color-convert: 1.9.3 + + ansi-styles@4.3.0: + dependencies: + color-convert: 2.0.1 + + ansi-styles@6.2.3: {} + + anymatch@3.1.3: + dependencies: + normalize-path: 3.0.0 + picomatch: 4.0.4 + optional: true + + argparse@1.0.10: + dependencies: + sprintf-js: 1.0.3 + + argparse@2.0.1: {} + + array-find-index@1.0.2: {} + + arrgv@1.0.2: {} + + arrify@1.0.1: {} + + arrify@3.0.0: {} + + ast-types@0.13.4: + dependencies: + tslib: 2.8.1 + + astral-regex@2.0.0: {} + + async-sema@3.1.1: {} + + ava@8.0.0: + dependencies: + '@vercel/nft': 1.5.0 + acorn: 8.16.0 + acorn-walk: 8.3.5 + ansi-styles: 6.2.3 + arrgv: 1.0.2 + arrify: 3.0.0 + callsites: 4.2.0 + cbor: 10.0.12 + chalk: 5.6.2 + chunkd: 2.0.1 + ci-info: 4.4.0 + ci-parallel-vars: 1.0.1 + cli-truncate: 6.0.0 + code-excerpt: 4.0.0 + common-path-prefix: 3.0.0 + concordance: 5.0.4 + currently-unhandled: 0.4.1 + debug: 4.4.3 + emittery: 2.0.0 + figures: 6.1.0 + globby: 16.2.0 + ignore-by-default: 2.1.0 + indent-string: 5.0.0 + is-plain-object: 5.0.0 + is-promise: 4.0.0 + matcher: 6.0.0 + memoize: 11.0.0 + ms: 2.1.3 + p-map: 7.0.4 + package-config: 5.0.0 + picomatch: 4.0.4 + plur: 6.0.0 + pretty-ms: 9.3.0 + resolve-cwd: 3.0.0 + slash: 5.1.0 + stack-utils: 2.0.6 + supertap: 3.0.1 + temp-dir: 3.0.0 + write-file-atomic: 7.0.1 + yargs: 18.0.0 + transitivePeerDependencies: + - encoding + - rollup + - supports-color + + b4a@1.7.3: {} + + babel-plugin-polyfill-corejs2@0.4.17(@babel/core@7.29.0): + dependencies: + '@babel/compat-data': 7.29.3 + '@babel/core': 7.29.0 + '@babel/helper-define-polyfill-provider': 0.6.8(@babel/core@7.29.0) + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + babel-plugin-polyfill-corejs3@0.14.2(@babel/core@7.29.0): + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-define-polyfill-provider': 0.6.8(@babel/core@7.29.0) + core-js-compat: 3.49.0 + transitivePeerDependencies: + - supports-color + + babel-plugin-polyfill-regenerator@0.6.8(@babel/core@7.29.0): + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-define-polyfill-provider': 0.6.8(@babel/core@7.29.0) + transitivePeerDependencies: + - supports-color + + balanced-match@4.0.4: {} + + bare-events@2.8.2: {} + + bare-fs@4.5.2: + dependencies: + bare-events: 2.8.2 + bare-path: 3.0.0 + bare-stream: 2.7.0(bare-events@2.8.2) + bare-url: 2.3.2 + fast-fifo: 1.3.2 + transitivePeerDependencies: + - bare-abort-controller + - react-native-b4a + optional: true + + bare-os@3.6.2: + optional: true + + bare-path@3.0.0: + dependencies: + bare-os: 3.6.2 + optional: true + + bare-stream@2.7.0(bare-events@2.8.2): + dependencies: + streamx: 2.23.0 + optionalDependencies: + bare-events: 2.8.2 + transitivePeerDependencies: + - bare-abort-controller + - react-native-b4a + optional: true + + bare-url@2.3.2: + dependencies: + bare-path: 3.0.0 + optional: true + + baseline-browser-mapping@2.10.24: {} + + basic-ftp@6.0.0: {} + + before-after-hook@2.2.3: {} + + binary-extensions@2.3.0: + optional: true + + bindings@1.5.0: + dependencies: + file-uri-to-path: 1.0.0 + + bluebird@3.7.2: {} + + blueimp-md5@2.19.0: {} + + brace-expansion@5.0.5: + dependencies: + balanced-match: 4.0.4 + + braces@3.0.3: + dependencies: + fill-range: 7.1.1 + + browserslist@4.28.2: + dependencies: + baseline-browser-mapping: 2.10.24 + caniuse-lite: 1.0.30001791 + electron-to-chromium: 1.5.346 + node-releases: 2.0.38 + update-browserslist-db: 1.2.3(browserslist@4.28.2) + + buffer-crc32@0.2.13: {} + + cacheable-lookup@5.0.4: {} + + cacheable-request@7.0.4: + dependencies: + clone-response: 1.0.3 + get-stream: 5.2.0 + http-cache-semantics: 4.2.0 + keyv: 4.5.4 + lowercase-keys: 2.0.0 + normalize-url: 6.1.0 + responselike: 2.0.1 + + callsites@3.1.0: {} + + callsites@4.2.0: {} + + camelcase-keys@6.2.2: + dependencies: + camelcase: 5.3.1 + map-obj: 4.3.0 + quick-lru: 4.0.1 + + camelcase@5.3.1: {} + + caniuse-lite@1.0.30001791: {} + + cbor@10.0.12: + dependencies: + nofilter: 3.1.0 + + chalk@2.4.2: + dependencies: + ansi-styles: 3.2.1 + escape-string-regexp: 1.0.5 + supports-color: 5.5.0 + + chalk@4.1.2: + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + + chalk@5.6.2: {} + + charenc@0.0.2: {} + + chokidar@3.6.0: + dependencies: + anymatch: 3.1.3 + braces: 3.0.3 + glob-parent: 6.0.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.3 + optional: true + + chownr@3.0.0: {} - yallist@3.1.1: - resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + chromium-bidi@14.0.0(devtools-protocol@0.0.1595872): + dependencies: + devtools-protocol: 0.0.1595872 + mitt: 3.0.1 + zod: 3.25.76 - yargs-parser@21.1.1: - resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} - engines: {node: '>=12'} + chunkd@2.0.1: {} - yargs@17.7.2: - resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} - engines: {node: '>=12'} + ci-info@4.4.0: {} - yocto-queue@0.1.0: - resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} - engines: {node: '>=10'} + ci-parallel-vars@1.0.1: {} -snapshots: + cli-spinner@0.2.10: {} - '@ampproject/remapping@2.3.0': + cli-truncate@6.0.0: dependencies: - '@jridgewell/gen-mapping': 0.3.5 - '@jridgewell/trace-mapping': 0.3.25 + slice-ansi: 9.0.0 + string-width: 8.2.1 - '@babel/code-frame@7.24.7': + cliui@6.0.0: dependencies: - '@babel/highlight': 7.24.7 - picocolors: 1.1.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 6.2.0 - '@babel/compat-data@7.25.4': {} + cliui@7.0.4: + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 7.0.0 - '@babel/core@7.25.2': + cliui@8.0.1: dependencies: - '@ampproject/remapping': 2.3.0 - '@babel/code-frame': 7.24.7 - '@babel/generator': 7.25.6 - '@babel/helper-compilation-targets': 7.25.2 - '@babel/helper-module-transforms': 7.25.2(@babel/core@7.25.2) - '@babel/helpers': 7.25.6 - '@babel/parser': 7.25.6 - '@babel/template': 7.25.0 - '@babel/traverse': 7.25.6 - '@babel/types': 7.25.6 - convert-source-map: 2.0.0 - debug: 4.3.7 - gensync: 1.0.0-beta.2 - json5: 2.2.3 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 7.0.0 - '@babel/generator@7.25.6': + cliui@9.0.1: dependencies: - '@babel/types': 7.25.6 - '@jridgewell/gen-mapping': 0.3.5 - '@jridgewell/trace-mapping': 0.3.25 - jsesc: 2.5.2 + string-width: 7.2.0 + strip-ansi: 7.1.2 + wrap-ansi: 9.0.2 - '@babel/helper-compilation-targets@7.25.2': + clone-response@1.0.3: dependencies: - '@babel/compat-data': 7.25.4 - '@babel/helper-validator-option': 7.24.8 - browserslist: 4.24.0 - lru-cache: 5.1.1 - semver: 6.3.1 + mimic-response: 1.0.1 - '@babel/helper-module-imports@7.24.7': + code-excerpt@4.0.0: dependencies: - '@babel/traverse': 7.25.6 - '@babel/types': 7.25.6 - transitivePeerDependencies: - - supports-color + convert-to-spaces: 2.0.1 - '@babel/helper-module-transforms@7.25.2(@babel/core@7.25.2)': + color-convert@1.9.3: dependencies: - '@babel/core': 7.25.2 - '@babel/helper-module-imports': 7.24.7 - '@babel/helper-simple-access': 7.24.7 - '@babel/helper-validator-identifier': 7.24.7 - '@babel/traverse': 7.25.6 - transitivePeerDependencies: - - supports-color + color-name: 1.1.3 - '@babel/helper-simple-access@7.24.7': + color-convert@2.0.1: dependencies: - '@babel/traverse': 7.25.6 - '@babel/types': 7.25.6 - transitivePeerDependencies: - - supports-color + color-name: 1.1.4 + + color-name@1.1.3: {} - '@babel/helper-string-parser@7.24.8': {} + color-name@1.1.4: {} + + colors@1.4.0: {} - '@babel/helper-validator-identifier@7.24.7': {} + commander@6.2.1: {} - '@babel/helper-validator-option@7.24.8': {} + common-path-prefix@3.0.0: {} - '@babel/helpers@7.25.6': + concordance@5.0.4: dependencies: - '@babel/template': 7.25.0 - '@babel/types': 7.25.6 + date-time: 3.1.0 + esutils: 2.0.3 + fast-diff: 1.3.0 + js-string-escape: 1.0.1 + lodash: 4.18.1 + md5-hex: 3.0.1 + semver: 7.7.4 + well-known-symbols: 2.0.0 + + consola@3.4.2: {} + + convert-source-map@2.0.0: {} + + convert-to-spaces@2.0.1: {} - '@babel/highlight@7.24.7': + copyfiles@2.4.1: dependencies: - '@babel/helper-validator-identifier': 7.24.7 - chalk: 2.4.2 - js-tokens: 4.0.0 - picocolors: 1.1.0 + glob: 7.2.3 + minimatch: 3.1.5 + mkdirp: 1.0.4 + noms: 0.0.0 + through2: 2.0.5 + untildify: 4.0.0 + yargs: 16.2.0 - '@babel/parser@7.25.6': + core-js-compat@3.49.0: dependencies: - '@babel/types': 7.25.6 + browserslist: 4.28.2 - '@babel/standalone@7.25.6': {} + core-util-is@1.0.3: {} - '@babel/template@7.25.0': + cosmiconfig@9.0.0: dependencies: - '@babel/code-frame': 7.24.7 - '@babel/parser': 7.25.6 - '@babel/types': 7.25.6 + env-paths: 2.2.1 + import-fresh: 3.3.1 + js-yaml: 4.1.1 + parse-json: 5.2.0 - '@babel/traverse@7.25.6': + cross-env@10.1.0: dependencies: - '@babel/code-frame': 7.24.7 - '@babel/generator': 7.25.6 - '@babel/parser': 7.25.6 - '@babel/template': 7.25.0 - '@babel/types': 7.25.6 - debug: 4.3.7 - globals: 11.12.0 - transitivePeerDependencies: - - supports-color + '@epic-web/invariant': 1.0.0 + cross-spawn: 7.0.6 - '@babel/types@7.25.6': + cross-spawn@7.0.6: dependencies: - '@babel/helper-string-parser': 7.24.8 - '@babel/helper-validator-identifier': 7.24.7 - to-fast-properties: 2.0.0 + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 - '@datadog/pprof@5.4.1': + crypt@0.0.2: {} + + currently-unhandled@0.4.1: dependencies: - delay: 5.0.0 - node-gyp-build: 3.9.0 - p-limit: 3.1.0 - pprof-format: 2.1.0 - source-map: 0.7.4 + array-find-index: 1.0.2 - '@esbuild/aix-ppc64@0.19.12': - optional: true + data-uri-to-buffer@6.0.2: {} - '@esbuild/aix-ppc64@0.23.1': - optional: true + date-time@3.1.0: + dependencies: + time-zone: 1.0.0 - '@esbuild/android-arm64@0.19.12': - optional: true + debug@4.4.3: + dependencies: + ms: 2.1.3 - '@esbuild/android-arm64@0.23.1': - optional: true + decamelize-keys@1.1.1: + dependencies: + decamelize: 1.2.0 + map-obj: 1.0.1 - '@esbuild/android-arm@0.19.12': - optional: true + decamelize@1.2.0: {} - '@esbuild/android-arm@0.23.1': - optional: true + decode-tiff@0.2.1: {} - '@esbuild/android-x64@0.19.12': - optional: true + decompress-response@6.0.0: + dependencies: + mimic-response: 3.1.0 - '@esbuild/android-x64@0.23.1': - optional: true + defer-to-connect@2.0.1: {} - '@esbuild/darwin-arm64@0.19.12': - optional: true + degenerator@5.0.1: + dependencies: + ast-types: 0.13.4 + escodegen: 2.1.0 + esprima: 4.0.1 - '@esbuild/darwin-arm64@0.23.1': - optional: true + del@8.0.1: + dependencies: + globby: 14.1.0 + is-glob: 4.0.3 + is-path-cwd: 3.0.0 + is-path-inside: 4.0.0 + p-map: 7.0.4 + presentable-error: 0.0.1 + slash: 5.1.0 - '@esbuild/darwin-x64@0.19.12': - optional: true + depd@2.0.0: {} - '@esbuild/darwin-x64@0.23.1': - optional: true + deprecation@2.3.1: {} - '@esbuild/freebsd-arm64@0.19.12': - optional: true + detect-libc@2.1.2: {} - '@esbuild/freebsd-arm64@0.23.1': - optional: true + devtools-protocol@0.0.1595872: {} - '@esbuild/freebsd-x64@0.19.12': - optional: true + ee-first@1.1.1: {} - '@esbuild/freebsd-x64@0.23.1': - optional: true + electron-to-chromium@1.5.346: {} - '@esbuild/linux-arm64@0.19.12': - optional: true + emittery@2.0.0: {} - '@esbuild/linux-arm64@0.23.1': - optional: true + emoji-regex@10.6.0: {} - '@esbuild/linux-arm@0.19.12': - optional: true + emoji-regex@8.0.0: {} - '@esbuild/linux-arm@0.23.1': - optional: true + encodeurl@2.0.0: {} - '@esbuild/linux-ia32@0.19.12': - optional: true + end-of-stream@1.4.5: + dependencies: + once: 1.4.0 - '@esbuild/linux-ia32@0.23.1': - optional: true + env-paths@2.2.1: {} - '@esbuild/linux-loong64@0.19.12': - optional: true + error-ex@1.3.4: + dependencies: + is-arrayish: 0.2.1 - '@esbuild/linux-loong64@0.23.1': - optional: true + es-errors@1.3.0: {} - '@esbuild/linux-mips64el@0.19.12': - optional: true + escalade@3.2.0: {} - '@esbuild/linux-mips64el@0.23.1': - optional: true + escape-html@1.0.3: {} - '@esbuild/linux-ppc64@0.19.12': - optional: true + escape-string-regexp@1.0.5: {} - '@esbuild/linux-ppc64@0.23.1': - optional: true + escape-string-regexp@2.0.0: {} - '@esbuild/linux-riscv64@0.19.12': - optional: true + escape-string-regexp@5.0.0: {} - '@esbuild/linux-riscv64@0.23.1': - optional: true + escodegen@2.1.0: + dependencies: + esprima: 4.0.1 + estraverse: 5.3.0 + esutils: 2.0.3 + optionalDependencies: + source-map: 0.6.1 - '@esbuild/linux-s390x@0.19.12': - optional: true + esprima@4.0.1: {} - '@esbuild/linux-s390x@0.23.1': - optional: true + estraverse@5.3.0: {} - '@esbuild/linux-x64@0.19.12': - optional: true + estree-walker@2.0.2: {} - '@esbuild/linux-x64@0.23.1': - optional: true + esutils@2.0.3: {} - '@esbuild/netbsd-x64@0.19.12': - optional: true + etag@1.8.1: {} - '@esbuild/netbsd-x64@0.23.1': - optional: true + events-universal@1.0.1: + dependencies: + bare-events: 2.8.2 + transitivePeerDependencies: + - bare-abort-controller - '@esbuild/openbsd-arm64@0.23.1': - optional: true + extract-zip@2.0.1: + dependencies: + debug: 4.4.3 + get-stream: 5.2.0 + yauzl: 2.10.0 + optionalDependencies: + '@types/yauzl': 2.10.3 + transitivePeerDependencies: + - supports-color - '@esbuild/openbsd-x64@0.19.12': - optional: true + fast-content-type-parse@3.0.0: {} - '@esbuild/openbsd-x64@0.23.1': - optional: true + fast-deep-equal@3.1.3: {} - '@esbuild/sunos-x64@0.19.12': - optional: true + fast-diff@1.3.0: {} - '@esbuild/sunos-x64@0.23.1': - optional: true + fast-fifo@1.3.2: {} - '@esbuild/win32-arm64@0.19.12': - optional: true + fast-glob@3.3.3: + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 6.0.2 + merge2: 1.4.1 + micromatch: 4.0.8 - '@esbuild/win32-arm64@0.23.1': - optional: true + fast-uri@3.1.0: {} - '@esbuild/win32-ia32@0.19.12': - optional: true + fastq@1.19.1: + dependencies: + reusify: 1.1.0 - '@esbuild/win32-ia32@0.23.1': - optional: true + fd-slicer@1.1.0: + dependencies: + pend: 1.2.0 - '@esbuild/win32-x64@0.19.12': - optional: true + figures@6.1.0: + dependencies: + is-unicode-supported: 2.1.0 - '@esbuild/win32-x64@0.23.1': - optional: true + file-uri-to-path@1.0.0: {} - '@grpc/grpc-js@1.14.3': + fill-range@7.1.1: dependencies: - '@grpc/proto-loader': 0.8.0 - '@js-sdsl/ordered-map': 4.4.2 + to-regex-range: 5.0.1 - '@grpc/proto-loader@0.8.0': + finalhandler@2.1.1: dependencies: - lodash.camelcase: 4.3.0 - long: 5.3.2 - protobufjs: 7.5.4 - yargs: 17.7.2 + debug: 4.4.3 + encodeurl: 2.0.0 + escape-html: 1.0.3 + on-finished: 2.4.1 + parseurl: 1.3.3 + statuses: 2.0.2 + transitivePeerDependencies: + - supports-color + + find-up-simple@1.0.1: {} + + find-up@4.1.0: + dependencies: + locate-path: 5.0.0 + path-exists: 4.0.0 + + flow-bin@0.77.0: {} + + flow-typed@4.1.1: + dependencies: + '@octokit/rest': 18.12.0 + colors: 1.4.0 + flowgen: 1.21.0 + fs-extra: 8.1.0 + glob: 7.2.3 + got: 11.8.6 + js-yaml: 4.1.1 + md5: 2.3.0 + mkdirp: 1.0.4 + node-stream-zip: 1.15.0 + prettier: 1.19.1 + rimraf: 3.0.2 + semver: 7.7.3 + simple-git: 3.36.0 + table: 6.9.0 + which: 2.0.2 + yargs: 15.4.1 + transitivePeerDependencies: + - supports-color - '@jridgewell/gen-mapping@0.3.5': + flowgen@1.21.0: dependencies: - '@jridgewell/set-array': 1.2.1 - '@jridgewell/sourcemap-codec': 1.5.0 - '@jridgewell/trace-mapping': 0.3.25 + '@babel/code-frame': 7.29.0 + '@babel/highlight': 7.25.9 + commander: 6.2.1 + lodash: 4.18.1 + prettier: 2.8.8 + shelljs: 0.8.5 + typescript: 4.4.4 + typescript-compiler: 1.4.1-2 - '@jridgewell/resolve-uri@3.1.2': {} + fresh@2.0.0: {} - '@jridgewell/set-array@1.2.1': {} + fs-extra@8.1.0: + dependencies: + graceful-fs: 4.2.11 + jsonfile: 4.0.0 + universalify: 0.1.2 - '@jridgewell/sourcemap-codec@1.5.0': {} + fs-readdir-recursive@1.1.0: {} - '@jridgewell/trace-mapping@0.3.25': - dependencies: - '@jridgewell/resolve-uri': 3.1.2 - '@jridgewell/sourcemap-codec': 1.5.0 + fs.realpath@1.0.0: {} - '@js-sdsl/ordered-map@4.4.2': {} + fsevents@2.3.3: + optional: true - '@nodelib/fs.scandir@2.1.5': - dependencies: - '@nodelib/fs.stat': 2.0.5 - run-parallel: 1.2.0 + function-bind@1.1.2: {} - '@nodelib/fs.stat@2.0.5': {} + gensync@1.0.0-beta.2: {} - '@nodelib/fs.walk@1.2.8': - dependencies: - '@nodelib/fs.scandir': 2.1.5 - fastq: 1.17.1 + get-caller-file@2.0.5: {} - '@opentelemetry/api-logs@0.57.2': - dependencies: - '@opentelemetry/api': 1.9.0 + get-east-asian-width@1.4.0: {} - '@opentelemetry/api@1.9.0': {} + get-east-asian-width@1.5.0: {} - '@opentelemetry/context-async-hooks@1.30.1(@opentelemetry/api@1.9.0)': - dependencies: - '@opentelemetry/api': 1.9.0 - - '@opentelemetry/core@1.30.1(@opentelemetry/api@1.9.0)': + get-stream@5.2.0: dependencies: - '@opentelemetry/api': 1.9.0 - '@opentelemetry/semantic-conventions': 1.28.0 + pump: 3.0.3 - '@opentelemetry/exporter-logs-otlp-grpc@0.57.2(@opentelemetry/api@1.9.0)': + get-uri@6.0.5: dependencies: - '@grpc/grpc-js': 1.14.3 - '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 1.30.1(@opentelemetry/api@1.9.0) - '@opentelemetry/otlp-exporter-base': 0.57.2(@opentelemetry/api@1.9.0) - '@opentelemetry/otlp-grpc-exporter-base': 0.57.2(@opentelemetry/api@1.9.0) - '@opentelemetry/otlp-transformer': 0.57.2(@opentelemetry/api@1.9.0) - '@opentelemetry/sdk-logs': 0.57.2(@opentelemetry/api@1.9.0) - - '@opentelemetry/exporter-logs-otlp-http@0.57.2(@opentelemetry/api@1.9.0)': - dependencies: - '@opentelemetry/api': 1.9.0 - '@opentelemetry/api-logs': 0.57.2 - '@opentelemetry/core': 1.30.1(@opentelemetry/api@1.9.0) - '@opentelemetry/otlp-exporter-base': 0.57.2(@opentelemetry/api@1.9.0) - '@opentelemetry/otlp-transformer': 0.57.2(@opentelemetry/api@1.9.0) - '@opentelemetry/sdk-logs': 0.57.2(@opentelemetry/api@1.9.0) - - '@opentelemetry/exporter-logs-otlp-proto@0.57.2(@opentelemetry/api@1.9.0)': - dependencies: - '@opentelemetry/api': 1.9.0 - '@opentelemetry/api-logs': 0.57.2 - '@opentelemetry/core': 1.30.1(@opentelemetry/api@1.9.0) - '@opentelemetry/otlp-exporter-base': 0.57.2(@opentelemetry/api@1.9.0) - '@opentelemetry/otlp-transformer': 0.57.2(@opentelemetry/api@1.9.0) - '@opentelemetry/resources': 1.30.1(@opentelemetry/api@1.9.0) - '@opentelemetry/sdk-logs': 0.57.2(@opentelemetry/api@1.9.0) - '@opentelemetry/sdk-trace-base': 1.30.1(@opentelemetry/api@1.9.0) - - '@opentelemetry/exporter-metrics-otlp-grpc@0.57.2(@opentelemetry/api@1.9.0)': - dependencies: - '@grpc/grpc-js': 1.14.3 - '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 1.30.1(@opentelemetry/api@1.9.0) - '@opentelemetry/exporter-metrics-otlp-http': 0.57.2(@opentelemetry/api@1.9.0) - '@opentelemetry/otlp-exporter-base': 0.57.2(@opentelemetry/api@1.9.0) - '@opentelemetry/otlp-grpc-exporter-base': 0.57.2(@opentelemetry/api@1.9.0) - '@opentelemetry/otlp-transformer': 0.57.2(@opentelemetry/api@1.9.0) - '@opentelemetry/resources': 1.30.1(@opentelemetry/api@1.9.0) - '@opentelemetry/sdk-metrics': 1.30.1(@opentelemetry/api@1.9.0) - - '@opentelemetry/exporter-metrics-otlp-http@0.57.2(@opentelemetry/api@1.9.0)': - dependencies: - '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 1.30.1(@opentelemetry/api@1.9.0) - '@opentelemetry/otlp-exporter-base': 0.57.2(@opentelemetry/api@1.9.0) - '@opentelemetry/otlp-transformer': 0.57.2(@opentelemetry/api@1.9.0) - '@opentelemetry/resources': 1.30.1(@opentelemetry/api@1.9.0) - '@opentelemetry/sdk-metrics': 1.30.1(@opentelemetry/api@1.9.0) - - '@opentelemetry/exporter-metrics-otlp-proto@0.57.2(@opentelemetry/api@1.9.0)': - dependencies: - '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 1.30.1(@opentelemetry/api@1.9.0) - '@opentelemetry/exporter-metrics-otlp-http': 0.57.2(@opentelemetry/api@1.9.0) - '@opentelemetry/otlp-exporter-base': 0.57.2(@opentelemetry/api@1.9.0) - '@opentelemetry/otlp-transformer': 0.57.2(@opentelemetry/api@1.9.0) - '@opentelemetry/resources': 1.30.1(@opentelemetry/api@1.9.0) - '@opentelemetry/sdk-metrics': 1.30.1(@opentelemetry/api@1.9.0) - - '@opentelemetry/exporter-prometheus@0.57.2(@opentelemetry/api@1.9.0)': - dependencies: - '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 1.30.1(@opentelemetry/api@1.9.0) - '@opentelemetry/resources': 1.30.1(@opentelemetry/api@1.9.0) - '@opentelemetry/sdk-metrics': 1.30.1(@opentelemetry/api@1.9.0) - - '@opentelemetry/exporter-trace-otlp-grpc@0.57.2(@opentelemetry/api@1.9.0)': - dependencies: - '@grpc/grpc-js': 1.14.3 - '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 1.30.1(@opentelemetry/api@1.9.0) - '@opentelemetry/otlp-exporter-base': 0.57.2(@opentelemetry/api@1.9.0) - '@opentelemetry/otlp-grpc-exporter-base': 0.57.2(@opentelemetry/api@1.9.0) - '@opentelemetry/otlp-transformer': 0.57.2(@opentelemetry/api@1.9.0) - '@opentelemetry/resources': 1.30.1(@opentelemetry/api@1.9.0) - '@opentelemetry/sdk-trace-base': 1.30.1(@opentelemetry/api@1.9.0) - - '@opentelemetry/exporter-trace-otlp-http@0.57.2(@opentelemetry/api@1.9.0)': - dependencies: - '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 1.30.1(@opentelemetry/api@1.9.0) - '@opentelemetry/otlp-exporter-base': 0.57.2(@opentelemetry/api@1.9.0) - '@opentelemetry/otlp-transformer': 0.57.2(@opentelemetry/api@1.9.0) - '@opentelemetry/resources': 1.30.1(@opentelemetry/api@1.9.0) - '@opentelemetry/sdk-trace-base': 1.30.1(@opentelemetry/api@1.9.0) - - '@opentelemetry/exporter-trace-otlp-proto@0.57.2(@opentelemetry/api@1.9.0)': - dependencies: - '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 1.30.1(@opentelemetry/api@1.9.0) - '@opentelemetry/otlp-exporter-base': 0.57.2(@opentelemetry/api@1.9.0) - '@opentelemetry/otlp-transformer': 0.57.2(@opentelemetry/api@1.9.0) - '@opentelemetry/resources': 1.30.1(@opentelemetry/api@1.9.0) - '@opentelemetry/sdk-trace-base': 1.30.1(@opentelemetry/api@1.9.0) - - '@opentelemetry/exporter-zipkin@1.30.1(@opentelemetry/api@1.9.0)': - dependencies: - '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 1.30.1(@opentelemetry/api@1.9.0) - '@opentelemetry/resources': 1.30.1(@opentelemetry/api@1.9.0) - '@opentelemetry/sdk-trace-base': 1.30.1(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.28.0 - - '@opentelemetry/instrumentation@0.57.2(@opentelemetry/api@1.9.0)': - dependencies: - '@opentelemetry/api': 1.9.0 - '@opentelemetry/api-logs': 0.57.2 - '@types/shimmer': 1.2.0 - import-in-the-middle: 1.15.0 - require-in-the-middle: 7.5.2 - semver: 7.6.3 - shimmer: 1.2.1 + basic-ftp: 6.0.0 + data-uri-to-buffer: 6.0.2 + debug: 4.4.3 transitivePeerDependencies: - supports-color - '@opentelemetry/otlp-exporter-base@0.57.2(@opentelemetry/api@1.9.0)': + glob-parent@6.0.2: + dependencies: + is-glob: 4.0.3 + + glob@13.0.6: dependencies: - '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 1.30.1(@opentelemetry/api@1.9.0) - '@opentelemetry/otlp-transformer': 0.57.2(@opentelemetry/api@1.9.0) + minimatch: 10.2.5 + minipass: 7.1.3 + path-scurry: 2.0.2 - '@opentelemetry/otlp-grpc-exporter-base@0.57.2(@opentelemetry/api@1.9.0)': + glob@7.2.3: dependencies: - '@grpc/grpc-js': 1.14.3 - '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 1.30.1(@opentelemetry/api@1.9.0) - '@opentelemetry/otlp-exporter-base': 0.57.2(@opentelemetry/api@1.9.0) - '@opentelemetry/otlp-transformer': 0.57.2(@opentelemetry/api@1.9.0) + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.5 + once: 1.4.0 + path-is-absolute: 1.0.1 - '@opentelemetry/otlp-transformer@0.57.2(@opentelemetry/api@1.9.0)': + globby@14.1.0: dependencies: - '@opentelemetry/api': 1.9.0 - '@opentelemetry/api-logs': 0.57.2 - '@opentelemetry/core': 1.30.1(@opentelemetry/api@1.9.0) - '@opentelemetry/resources': 1.30.1(@opentelemetry/api@1.9.0) - '@opentelemetry/sdk-logs': 0.57.2(@opentelemetry/api@1.9.0) - '@opentelemetry/sdk-metrics': 1.30.1(@opentelemetry/api@1.9.0) - '@opentelemetry/sdk-trace-base': 1.30.1(@opentelemetry/api@1.9.0) - protobufjs: 7.5.4 + '@sindresorhus/merge-streams': 2.3.0 + fast-glob: 3.3.3 + ignore: 7.0.5 + path-type: 6.0.0 + slash: 5.1.0 + unicorn-magic: 0.3.0 - '@opentelemetry/propagator-b3@1.30.1(@opentelemetry/api@1.9.0)': + globby@16.2.0: dependencies: - '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 1.30.1(@opentelemetry/api@1.9.0) + '@sindresorhus/merge-streams': 4.0.0 + fast-glob: 3.3.3 + ignore: 7.0.5 + is-path-inside: 4.0.0 + slash: 5.1.0 + unicorn-magic: 0.4.0 - '@opentelemetry/propagator-jaeger@1.30.1(@opentelemetry/api@1.9.0)': + got@11.8.6: dependencies: - '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 1.30.1(@opentelemetry/api@1.9.0) + '@sindresorhus/is': 4.6.0 + '@szmarczak/http-timer': 4.0.6 + '@types/cacheable-request': 6.0.3 + '@types/responselike': 1.0.3 + cacheable-lookup: 5.0.4 + cacheable-request: 7.0.4 + decompress-response: 6.0.0 + http2-wrapper: 1.0.3 + lowercase-keys: 2.0.0 + p-cancelable: 2.1.1 + responselike: 2.0.1 - '@opentelemetry/resources@1.30.1(@opentelemetry/api@1.9.0)': + graceful-fs@4.2.11: {} + + hard-rejection@2.1.0: {} + + has-flag@3.0.0: {} + + has-flag@4.0.0: {} + + hasown@2.0.2: dependencies: - '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 1.30.1(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.28.0 + function-bind: 1.1.2 + + hosted-git-info@2.8.9: {} - '@opentelemetry/sdk-logs@0.57.2(@opentelemetry/api@1.9.0)': + hosted-git-info@4.1.0: dependencies: - '@opentelemetry/api': 1.9.0 - '@opentelemetry/api-logs': 0.57.2 - '@opentelemetry/core': 1.30.1(@opentelemetry/api@1.9.0) - '@opentelemetry/resources': 1.30.1(@opentelemetry/api@1.9.0) + lru-cache: 6.0.0 - '@opentelemetry/sdk-metrics@1.30.1(@opentelemetry/api@1.9.0)': + http-cache-semantics@4.2.0: {} + + http-errors@2.0.1: dependencies: - '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 1.30.1(@opentelemetry/api@1.9.0) - '@opentelemetry/resources': 1.30.1(@opentelemetry/api@1.9.0) + depd: 2.0.0 + inherits: 2.0.4 + setprototypeof: 1.2.0 + statuses: 2.0.2 + toidentifier: 1.0.1 - '@opentelemetry/sdk-node@0.57.2(@opentelemetry/api@1.9.0)': + http-proxy-agent@7.0.2: dependencies: - '@opentelemetry/api': 1.9.0 - '@opentelemetry/api-logs': 0.57.2 - '@opentelemetry/core': 1.30.1(@opentelemetry/api@1.9.0) - '@opentelemetry/exporter-logs-otlp-grpc': 0.57.2(@opentelemetry/api@1.9.0) - '@opentelemetry/exporter-logs-otlp-http': 0.57.2(@opentelemetry/api@1.9.0) - '@opentelemetry/exporter-logs-otlp-proto': 0.57.2(@opentelemetry/api@1.9.0) - '@opentelemetry/exporter-metrics-otlp-grpc': 0.57.2(@opentelemetry/api@1.9.0) - '@opentelemetry/exporter-metrics-otlp-http': 0.57.2(@opentelemetry/api@1.9.0) - '@opentelemetry/exporter-metrics-otlp-proto': 0.57.2(@opentelemetry/api@1.9.0) - '@opentelemetry/exporter-prometheus': 0.57.2(@opentelemetry/api@1.9.0) - '@opentelemetry/exporter-trace-otlp-grpc': 0.57.2(@opentelemetry/api@1.9.0) - '@opentelemetry/exporter-trace-otlp-http': 0.57.2(@opentelemetry/api@1.9.0) - '@opentelemetry/exporter-trace-otlp-proto': 0.57.2(@opentelemetry/api@1.9.0) - '@opentelemetry/exporter-zipkin': 1.30.1(@opentelemetry/api@1.9.0) - '@opentelemetry/instrumentation': 0.57.2(@opentelemetry/api@1.9.0) - '@opentelemetry/resources': 1.30.1(@opentelemetry/api@1.9.0) - '@opentelemetry/sdk-logs': 0.57.2(@opentelemetry/api@1.9.0) - '@opentelemetry/sdk-metrics': 1.30.1(@opentelemetry/api@1.9.0) - '@opentelemetry/sdk-trace-base': 1.30.1(@opentelemetry/api@1.9.0) - '@opentelemetry/sdk-trace-node': 1.30.1(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.28.0 + agent-base: 7.1.4 + debug: 4.4.3 transitivePeerDependencies: - supports-color - '@opentelemetry/sdk-trace-base@1.30.1(@opentelemetry/api@1.9.0)': + http2-wrapper@1.0.3: dependencies: - '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 1.30.1(@opentelemetry/api@1.9.0) - '@opentelemetry/resources': 1.30.1(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.28.0 + quick-lru: 5.1.1 + resolve-alpn: 1.2.1 - '@opentelemetry/sdk-trace-node@1.30.1(@opentelemetry/api@1.9.0)': + https-proxy-agent@7.0.6: dependencies: - '@opentelemetry/api': 1.9.0 - '@opentelemetry/context-async-hooks': 1.30.1(@opentelemetry/api@1.9.0) - '@opentelemetry/core': 1.30.1(@opentelemetry/api@1.9.0) - '@opentelemetry/propagator-b3': 1.30.1(@opentelemetry/api@1.9.0) - '@opentelemetry/propagator-jaeger': 1.30.1(@opentelemetry/api@1.9.0) - '@opentelemetry/sdk-trace-base': 1.30.1(@opentelemetry/api@1.9.0) - semver: 7.6.3 + agent-base: 7.1.4 + debug: 4.4.3 + transitivePeerDependencies: + - supports-color - '@opentelemetry/semantic-conventions@1.28.0': {} + ignore-by-default@2.1.0: {} - '@opentelemetry/semantic-conventions@1.38.0': {} + ignore@7.0.5: {} - '@protobufjs/aspromise@1.1.2': {} + img-diff-js@0.5.4: + dependencies: + decode-tiff: 0.2.1 + jpeg-js: 0.4.4 + mkdirp: 1.0.4 + pixelmatch: 5.3.0 + pngjs: 7.0.0 - '@protobufjs/base64@1.1.2': {} + import-fresh@3.3.1: + dependencies: + parent-module: 1.0.1 + resolve-from: 4.0.0 - '@protobufjs/codegen@2.0.4': {} + indent-string@4.0.0: {} - '@protobufjs/eventemitter@1.1.0': {} + indent-string@5.0.0: {} - '@protobufjs/fetch@1.1.0': + inflight@1.0.6: dependencies: - '@protobufjs/aspromise': 1.1.2 - '@protobufjs/inquire': 1.1.0 + once: 1.4.0 + wrappy: 1.0.2 - '@protobufjs/float@1.0.2': {} + inherits@2.0.4: {} - '@protobufjs/inquire@1.1.0': {} + interpret@1.4.0: {} - '@protobufjs/path@1.1.2': {} + ip-address@10.1.0: {} - '@protobufjs/pool@1.1.0': {} + irregular-plurals@4.2.0: {} - '@protobufjs/utf8@1.1.0': {} + is-arrayish@0.2.1: {} - '@pyroscope/nodejs@0.4.1': + is-binary-path@2.1.0: dependencies: - '@datadog/pprof': 5.4.1 - axios: 0.28.1(debug@4.3.7) - debug: 4.3.7 - form-data: 4.0.1 - p-limit: 3.1.0 - regenerator-runtime: 0.13.11 - source-map: 0.7.4 - transitivePeerDependencies: - - supports-color + binary-extensions: 2.3.0 + optional: true - '@rollup/plugin-alias@5.1.1(rollup@3.29.5)': - optionalDependencies: - rollup: 3.29.5 + is-buffer@1.1.6: {} - '@rollup/plugin-commonjs@25.0.8(rollup@3.29.5)': + is-core-module@2.16.1: dependencies: - '@rollup/pluginutils': 5.1.2(rollup@3.29.5) - commondir: 1.0.1 - estree-walker: 2.0.2 - glob: 8.1.0 - is-reference: 1.2.1 - magic-string: 0.30.11 - optionalDependencies: - rollup: 3.29.5 + hasown: 2.0.2 + + is-extglob@2.1.1: {} + + is-fullwidth-code-point@3.0.0: {} - '@rollup/plugin-json@6.1.0(rollup@3.29.5)': + is-fullwidth-code-point@5.1.0: dependencies: - '@rollup/pluginutils': 5.1.2(rollup@3.29.5) - optionalDependencies: - rollup: 3.29.5 + get-east-asian-width: 1.4.0 - '@rollup/plugin-node-resolve@15.3.0(rollup@3.29.5)': + is-glob@4.0.3: dependencies: - '@rollup/pluginutils': 5.1.2(rollup@3.29.5) - '@types/resolve': 1.20.2 - deepmerge: 4.3.1 - is-module: 1.0.0 - resolve: 1.22.8 - optionalDependencies: - rollup: 3.29.5 + is-extglob: 2.1.1 + + is-number@7.0.0: {} + + is-path-cwd@3.0.0: {} + + is-path-inside@4.0.0: {} + + is-plain-obj@1.1.0: {} + + is-plain-object@5.0.0: {} + + is-promise@4.0.0: {} - '@rollup/plugin-replace@5.0.7(rollup@3.29.5)': + is-unicode-supported@2.1.0: {} + + isarray@0.0.1: {} + + isarray@1.0.0: {} + + isexe@2.0.0: {} + + jpeg-js@0.4.4: {} + + js-string-escape@1.0.1: {} + + js-tokens@4.0.0: {} + + js-yaml@3.14.2: dependencies: - '@rollup/pluginutils': 5.1.2(rollup@3.29.5) - magic-string: 0.30.11 - optionalDependencies: - rollup: 3.29.5 + argparse: 1.0.10 + esprima: 4.0.1 - '@rollup/pluginutils@5.1.2(rollup@3.29.5)': + js-yaml@4.1.1: dependencies: - '@types/estree': 1.0.6 - estree-walker: 2.0.2 - picomatch: 2.3.1 + argparse: 2.0.1 + + jsesc@3.1.0: {} + + json-buffer@3.0.1: {} + + json-parse-even-better-errors@2.3.1: {} + + json-schema-traverse@1.0.0: {} + + json-with-bigint@3.5.8: {} + + json5@2.2.3: {} + + jsonfile@4.0.0: optionalDependencies: - rollup: 3.29.5 + graceful-fs: 4.2.11 + + keyv@4.5.4: + dependencies: + json-buffer: 3.0.1 - '@trysound/sax@0.2.0': {} + kind-of@6.0.3: {} - '@tybys/wasm-util@0.9.0': + lines-and-columns@1.2.4: {} + + load-json-file@7.0.1: {} + + locate-path@5.0.0: dependencies: - tslib: 2.7.0 + p-locate: 4.1.0 + + lodash.debounce@4.0.8: {} + + lodash.truncate@4.4.2: {} - '@types/estree@1.0.6': {} + lodash@4.18.1: {} - '@types/node@22.5.5': + lowercase-keys@2.0.0: {} + + lru-cache@11.3.5: {} + + lru-cache@5.1.1: dependencies: - undici-types: 6.19.8 + yallist: 3.1.1 - '@types/resolve@1.20.2': {} + lru-cache@6.0.0: + dependencies: + yallist: 4.0.0 - '@types/shimmer@1.2.0': {} + lru-cache@7.18.3: {} - acorn-import-attributes@1.9.5(acorn@8.15.0): + make-dir@2.1.0: dependencies: - acorn: 8.15.0 + pify: 4.0.1 + semver: 5.7.2 - acorn@8.12.1: {} + make-dir@3.1.0: + dependencies: + semver: 6.3.1 - acorn@8.15.0: {} + map-obj@1.0.1: {} - ansi-regex@5.0.1: {} + map-obj@4.3.0: {} - ansi-styles@3.2.1: + matcher@6.0.0: dependencies: - color-convert: 1.9.3 + escape-string-regexp: 5.0.0 - ansi-styles@4.3.0: + md5-file@4.0.0: {} + + md5-hex@3.0.1: dependencies: - color-convert: 2.0.1 + blueimp-md5: 2.19.0 + + md5@2.3.0: + dependencies: + charenc: 0.0.2 + crypt: 0.0.2 + is-buffer: 1.1.6 + + memoize@11.0.0: + dependencies: + mimic-function: 5.0.1 + + meow@9.0.0: + dependencies: + '@types/minimist': 1.2.5 + camelcase-keys: 6.2.2 + decamelize: 1.2.0 + decamelize-keys: 1.1.1 + hard-rejection: 2.1.0 + minimist-options: 4.1.0 + normalize-package-data: 3.0.3 + read-pkg-up: 7.0.1 + redent: 3.0.0 + trim-newlines: 3.0.1 + type-fest: 0.18.1 + yargs-parser: 21.1.1 - asynckit@0.4.0: {} + merge2@1.4.1: {} - autoprefixer@10.4.20(postcss@8.4.47): + micromatch@4.0.8: dependencies: - browserslist: 4.24.0 - caniuse-lite: 1.0.30001664 - fraction.js: 4.3.7 - normalize-range: 0.1.2 - picocolors: 1.1.0 - postcss: 8.4.47 - postcss-value-parser: 4.2.0 + braces: 3.0.3 + picomatch: 4.0.4 + + mime-db@1.54.0: {} - axios@0.28.1(debug@4.3.7): + mime-types@3.0.2: dependencies: - follow-redirects: 1.15.9(debug@4.3.7) - form-data: 4.0.1 - proxy-from-env: 1.1.0 - transitivePeerDependencies: - - debug + mime-db: 1.54.0 - balanced-match@1.0.2: {} + mimic-function@5.0.1: {} - boolbase@1.0.0: {} + mimic-response@1.0.1: {} - brace-expansion@2.0.1: - dependencies: - balanced-match: 1.0.2 + mimic-response@3.1.0: {} - braces@3.0.3: - dependencies: - fill-range: 7.1.1 + min-indent@1.0.1: {} - browserslist@4.24.0: + minimatch@10.2.5: dependencies: - caniuse-lite: 1.0.30001664 - electron-to-chromium: 1.5.29 - node-releases: 2.0.18 - update-browserslist-db: 1.1.1(browserslist@4.24.0) + brace-expansion: 5.0.5 - caniuse-api@3.0.0: + minimatch@3.1.5: dependencies: - browserslist: 4.24.0 - caniuse-lite: 1.0.30001664 - lodash.memoize: 4.1.2 - lodash.uniq: 4.5.0 + brace-expansion: 5.0.5 - caniuse-lite@1.0.30001664: {} - - chalk@2.4.2: + minimist-options@4.1.0: dependencies: - ansi-styles: 3.2.1 - escape-string-regexp: 1.0.5 - supports-color: 5.5.0 - - chalk@5.3.0: {} + arrify: 1.0.1 + is-plain-obj: 1.1.0 + kind-of: 6.0.3 - citty@0.1.6: - dependencies: - consola: 3.2.3 + minipass@7.1.2: {} - cjs-module-lexer@1.4.3: {} + minipass@7.1.3: {} - cliui@8.0.1: + minizlib@3.1.0: dependencies: - string-width: 4.2.3 - strip-ansi: 6.0.1 - wrap-ansi: 7.0.0 + minipass: 7.1.2 - color-convert@1.9.3: - dependencies: - color-name: 1.1.3 + mitt@3.0.1: {} - color-convert@2.0.1: - dependencies: - color-name: 1.1.4 + mkdirp@1.0.4: {} - color-name@1.1.3: {} + ms@2.1.3: {} - color-name@1.1.4: {} + mustache@4.2.0: {} - colord@2.9.3: {} + netmask@2.0.2: {} - combined-stream@1.0.8: + node-fetch@2.7.0: dependencies: - delayed-stream: 1.0.0 + whatwg-url: 5.0.0 - commander@7.2.0: {} + node-gyp-build@4.8.4: {} - commondir@1.0.1: {} + node-releases@2.0.38: {} - confbox@0.1.7: {} + node-stream-zip@1.15.0: {} - consola@3.2.3: {} - - convert-source-map@2.0.0: {} + nofilter@3.1.0: {} - css-declaration-sorter@7.2.0(postcss@8.4.47): + noms@0.0.0: dependencies: - postcss: 8.4.47 + inherits: 2.0.4 + readable-stream: 1.0.34 - css-select@5.1.0: + nopt@8.1.0: dependencies: - boolbase: 1.0.0 - css-what: 6.1.0 - domhandler: 5.0.3 - domutils: 3.1.0 - nth-check: 2.1.1 + abbrev: 3.0.1 - css-tree@2.2.1: + normalize-package-data@2.5.0: dependencies: - mdn-data: 2.0.28 - source-map-js: 1.2.1 + hosted-git-info: 2.8.9 + resolve: 1.22.12 + semver: 5.7.2 + validate-npm-package-license: 3.0.4 - css-tree@2.3.1: + normalize-package-data@3.0.3: dependencies: - mdn-data: 2.0.30 - source-map-js: 1.2.1 + hosted-git-info: 4.1.0 + is-core-module: 2.16.1 + semver: 7.7.4 + validate-npm-package-license: 3.0.4 - css-what@6.1.0: {} + normalize-path@3.0.0: + optional: true - cssesc@3.0.0: {} + normalize-url@6.1.0: {} - cssnano-preset-default@7.0.6(postcss@8.4.47): + on-finished@2.4.1: dependencies: - browserslist: 4.24.0 - css-declaration-sorter: 7.2.0(postcss@8.4.47) - cssnano-utils: 5.0.0(postcss@8.4.47) - postcss: 8.4.47 - postcss-calc: 10.0.2(postcss@8.4.47) - postcss-colormin: 7.0.2(postcss@8.4.47) - postcss-convert-values: 7.0.4(postcss@8.4.47) - postcss-discard-comments: 7.0.3(postcss@8.4.47) - postcss-discard-duplicates: 7.0.1(postcss@8.4.47) - postcss-discard-empty: 7.0.0(postcss@8.4.47) - postcss-discard-overridden: 7.0.0(postcss@8.4.47) - postcss-merge-longhand: 7.0.4(postcss@8.4.47) - postcss-merge-rules: 7.0.4(postcss@8.4.47) - postcss-minify-font-values: 7.0.0(postcss@8.4.47) - postcss-minify-gradients: 7.0.0(postcss@8.4.47) - postcss-minify-params: 7.0.2(postcss@8.4.47) - postcss-minify-selectors: 7.0.4(postcss@8.4.47) - postcss-normalize-charset: 7.0.0(postcss@8.4.47) - postcss-normalize-display-values: 7.0.0(postcss@8.4.47) - postcss-normalize-positions: 7.0.0(postcss@8.4.47) - postcss-normalize-repeat-style: 7.0.0(postcss@8.4.47) - postcss-normalize-string: 7.0.0(postcss@8.4.47) - postcss-normalize-timing-functions: 7.0.0(postcss@8.4.47) - postcss-normalize-unicode: 7.0.2(postcss@8.4.47) - postcss-normalize-url: 7.0.0(postcss@8.4.47) - postcss-normalize-whitespace: 7.0.0(postcss@8.4.47) - postcss-ordered-values: 7.0.1(postcss@8.4.47) - postcss-reduce-initial: 7.0.2(postcss@8.4.47) - postcss-reduce-transforms: 7.0.0(postcss@8.4.47) - postcss-svgo: 7.0.1(postcss@8.4.47) - postcss-unique-selectors: 7.0.3(postcss@8.4.47) + ee-first: 1.1.1 - cssnano-utils@5.0.0(postcss@8.4.47): + once@1.4.0: dependencies: - postcss: 8.4.47 + wrappy: 1.0.2 - cssnano@7.0.6(postcss@8.4.47): - dependencies: - cssnano-preset-default: 7.0.6(postcss@8.4.47) - lilconfig: 3.1.2 - postcss: 8.4.47 + p-cancelable@2.1.1: {} - csso@5.0.5: + p-limit@2.3.0: dependencies: - css-tree: 2.2.1 + p-try: 2.2.0 - debug@4.3.7: + p-locate@4.1.0: dependencies: - ms: 2.1.3 - - deepmerge@4.3.1: {} - - defu@6.1.4: {} + p-limit: 2.3.0 - delay@5.0.0: {} + p-map@7.0.4: {} - delayed-stream@1.0.0: {} + p-try@2.2.0: {} - dir-glob@3.0.1: + pac-proxy-agent@7.2.0: dependencies: - path-type: 4.0.0 + '@tootallnate/quickjs-emscripten': 0.23.0 + agent-base: 7.1.4 + debug: 4.4.3 + get-uri: 6.0.5 + http-proxy-agent: 7.0.2 + https-proxy-agent: 7.0.6 + pac-resolver: 7.0.1 + socks-proxy-agent: 8.0.5 + transitivePeerDependencies: + - supports-color - dom-serializer@2.0.0: + pac-resolver@7.0.1: dependencies: - domelementtype: 2.3.0 - domhandler: 5.0.3 - entities: 4.5.0 + degenerator: 5.0.1 + netmask: 2.0.2 - domelementtype@2.3.0: {} - - domhandler@5.0.3: + package-config@5.0.0: dependencies: - domelementtype: 2.3.0 + find-up-simple: 1.0.1 + load-json-file: 7.0.1 - domutils@3.1.0: + parent-module@1.0.1: dependencies: - dom-serializer: 2.0.0 - domelementtype: 2.3.0 - domhandler: 5.0.3 + callsites: 3.1.0 - electron-to-chromium@1.5.29: {} + parse-json@5.2.0: + dependencies: + '@babel/code-frame': 7.29.0 + error-ex: 1.3.4 + json-parse-even-better-errors: 2.3.1 + lines-and-columns: 1.2.4 - emoji-regex@8.0.0: {} + parse-ms@4.0.0: {} - entities@4.5.0: {} + parseurl@1.3.3: {} - esbuild@0.19.12: - optionalDependencies: - '@esbuild/aix-ppc64': 0.19.12 - '@esbuild/android-arm': 0.19.12 - '@esbuild/android-arm64': 0.19.12 - '@esbuild/android-x64': 0.19.12 - '@esbuild/darwin-arm64': 0.19.12 - '@esbuild/darwin-x64': 0.19.12 - '@esbuild/freebsd-arm64': 0.19.12 - '@esbuild/freebsd-x64': 0.19.12 - '@esbuild/linux-arm': 0.19.12 - '@esbuild/linux-arm64': 0.19.12 - '@esbuild/linux-ia32': 0.19.12 - '@esbuild/linux-loong64': 0.19.12 - '@esbuild/linux-mips64el': 0.19.12 - '@esbuild/linux-ppc64': 0.19.12 - '@esbuild/linux-riscv64': 0.19.12 - '@esbuild/linux-s390x': 0.19.12 - '@esbuild/linux-x64': 0.19.12 - '@esbuild/netbsd-x64': 0.19.12 - '@esbuild/openbsd-x64': 0.19.12 - '@esbuild/sunos-x64': 0.19.12 - '@esbuild/win32-arm64': 0.19.12 - '@esbuild/win32-ia32': 0.19.12 - '@esbuild/win32-x64': 0.19.12 - - esbuild@0.23.1: - optionalDependencies: - '@esbuild/aix-ppc64': 0.23.1 - '@esbuild/android-arm': 0.23.1 - '@esbuild/android-arm64': 0.23.1 - '@esbuild/android-x64': 0.23.1 - '@esbuild/darwin-arm64': 0.23.1 - '@esbuild/darwin-x64': 0.23.1 - '@esbuild/freebsd-arm64': 0.23.1 - '@esbuild/freebsd-x64': 0.23.1 - '@esbuild/linux-arm': 0.23.1 - '@esbuild/linux-arm64': 0.23.1 - '@esbuild/linux-ia32': 0.23.1 - '@esbuild/linux-loong64': 0.23.1 - '@esbuild/linux-mips64el': 0.23.1 - '@esbuild/linux-ppc64': 0.23.1 - '@esbuild/linux-riscv64': 0.23.1 - '@esbuild/linux-s390x': 0.23.1 - '@esbuild/linux-x64': 0.23.1 - '@esbuild/netbsd-x64': 0.23.1 - '@esbuild/openbsd-arm64': 0.23.1 - '@esbuild/openbsd-x64': 0.23.1 - '@esbuild/sunos-x64': 0.23.1 - '@esbuild/win32-arm64': 0.23.1 - '@esbuild/win32-ia32': 0.23.1 - '@esbuild/win32-x64': 0.23.1 + path-exists@4.0.0: {} - escalade@3.2.0: {} + path-is-absolute@1.0.1: {} - escape-string-regexp@1.0.5: {} + path-key@3.1.1: {} - estree-walker@2.0.2: {} + path-parse@1.0.7: {} - fast-glob@3.3.2: + path-scurry@2.0.2: dependencies: - '@nodelib/fs.stat': 2.0.5 - '@nodelib/fs.walk': 1.2.8 - glob-parent: 5.1.2 - merge2: 1.4.1 - micromatch: 4.0.8 + lru-cache: 11.3.5 + minipass: 7.1.3 + + path-type@6.0.0: {} + + pend@1.2.0: {} + + picocolors@1.1.1: {} + + picomatch@4.0.4: {} + + pify@4.0.1: {} - fastq@1.17.1: + pixelmatch@5.3.0: dependencies: - reusify: 1.0.4 + pngjs: 6.0.0 - fill-range@7.1.1: + plur@6.0.0: dependencies: - to-regex-range: 5.0.1 + irregular-plurals: 4.2.0 - follow-redirects@1.15.9(debug@4.3.7): - optionalDependencies: - debug: 4.3.7 + pngjs@6.0.0: {} - form-data@4.0.1: - dependencies: - asynckit: 0.4.0 - combined-stream: 1.0.8 - mime-types: 2.1.35 + pngjs@7.0.0: {} - fraction.js@4.3.7: {} + presentable-error@0.0.1: {} - fs.realpath@1.0.0: {} + prettier@1.19.1: {} - fsevents@2.3.3: - optional: true + prettier@2.8.8: {} - function-bind@1.1.2: {} + pretty-ms@9.3.0: + dependencies: + parse-ms: 4.0.0 - gensync@1.0.0-beta.2: {} + process-nextick-args@2.0.1: {} - get-caller-file@2.0.5: {} + progress@2.0.3: {} - glob-parent@5.1.2: + proxy-agent@6.5.0: dependencies: - is-glob: 4.0.3 + agent-base: 7.1.4 + debug: 4.4.3 + http-proxy-agent: 7.0.2 + https-proxy-agent: 7.0.6 + lru-cache: 7.18.3 + pac-proxy-agent: 7.2.0 + proxy-from-env: 1.1.0 + socks-proxy-agent: 8.0.5 + transitivePeerDependencies: + - supports-color + + proxy-from-env@1.1.0: {} - glob@8.1.0: + pump@3.0.3: dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 5.1.6 + end-of-stream: 1.4.5 once: 1.4.0 - globals@11.12.0: {} + puppeteer-core@24.42.0: + dependencies: + '@puppeteer/browsers': 2.13.0 + chromium-bidi: 14.0.0(devtools-protocol@0.0.1595872) + debug: 4.4.3 + devtools-protocol: 0.0.1595872 + typed-query-selector: 2.12.1 + webdriver-bidi-protocol: 0.4.1 + ws: 8.17.1 + transitivePeerDependencies: + - bare-abort-controller + - bare-buffer + - bufferutil + - react-native-b4a + - supports-color + - utf-8-validate - globby@13.2.2: + puppeteer@24.42.0: dependencies: - dir-glob: 3.0.1 - fast-glob: 3.3.2 - ignore: 5.3.2 - merge2: 1.4.1 - slash: 4.0.0 + '@puppeteer/browsers': 2.13.0 + chromium-bidi: 14.0.0(devtools-protocol@0.0.1595872) + cosmiconfig: 9.0.0 + devtools-protocol: 0.0.1595872 + puppeteer-core: 24.42.0 + typed-query-selector: 2.12.1 + transitivePeerDependencies: + - bare-abort-controller + - bare-buffer + - bufferutil + - react-native-b4a + - supports-color + - typescript + - utf-8-validate - has-flag@3.0.0: {} + queue-microtask@1.2.3: {} - hasown@2.0.2: - dependencies: - function-bind: 1.1.2 + quick-lru@4.0.1: {} - hookable@5.5.3: {} + quick-lru@5.1.1: {} - ignore@5.3.2: {} + range-parser@1.2.1: {} - import-in-the-middle@1.15.0: + read-pkg-up@7.0.1: dependencies: - acorn: 8.15.0 - acorn-import-attributes: 1.9.5(acorn@8.15.0) - cjs-module-lexer: 1.4.3 - module-details-from-path: 1.0.4 + find-up: 4.1.0 + read-pkg: 5.2.0 + type-fest: 0.8.1 - inflight@1.0.6: + read-pkg@5.2.0: dependencies: - once: 1.4.0 - wrappy: 1.0.2 + '@types/normalize-package-data': 2.4.4 + normalize-package-data: 2.5.0 + parse-json: 5.2.0 + type-fest: 0.6.0 - inherits@2.0.4: {} + readable-stream@1.0.34: + dependencies: + core-util-is: 1.0.3 + inherits: 2.0.4 + isarray: 0.0.1 + string_decoder: 0.10.31 - is-core-module@2.15.1: + readable-stream@2.3.8: dependencies: - hasown: 2.0.2 + core-util-is: 1.0.3 + inherits: 2.0.4 + isarray: 1.0.0 + process-nextick-args: 2.0.1 + safe-buffer: 5.1.2 + string_decoder: 1.1.1 + util-deprecate: 1.0.2 - is-extglob@2.1.1: {} + readdirp@3.6.0: + dependencies: + picomatch: 4.0.4 + optional: true - is-fullwidth-code-point@3.0.0: {} + rechoir@0.6.2: + dependencies: + resolve: 1.22.12 - is-glob@4.0.3: + redent@3.0.0: dependencies: - is-extglob: 2.1.1 + indent-string: 4.0.0 + strip-indent: 3.0.0 - is-module@1.0.0: {} + regenerate-unicode-properties@10.2.2: + dependencies: + regenerate: 1.4.2 - is-number@7.0.0: {} + regenerate@1.4.2: {} - is-reference@1.2.1: + regexpu-core@6.4.0: dependencies: - '@types/estree': 1.0.6 + regenerate: 1.4.2 + regenerate-unicode-properties: 10.2.2 + regjsgen: 0.8.0 + regjsparser: 0.13.1 + unicode-match-property-ecmascript: 2.0.0 + unicode-match-property-value-ecmascript: 2.2.1 - jiti@1.21.6: {} + regjsgen@0.8.0: {} - jiti@2.0.0: {} + regjsparser@0.13.1: + dependencies: + jsesc: 3.1.0 - js-tokens@4.0.0: {} + require-directory@2.1.1: {} - jsesc@2.5.2: {} + require-from-string@2.0.2: {} - json5@2.2.3: {} + require-main-filename@2.0.0: {} - lilconfig@3.1.2: {} + resolve-alpn@1.2.1: {} - lodash.camelcase@4.3.0: {} + resolve-cwd@3.0.0: + dependencies: + resolve-from: 5.0.0 - lodash.memoize@4.1.2: {} + resolve-from@4.0.0: {} - lodash.uniq@4.5.0: {} + resolve-from@5.0.0: {} - long@5.3.2: {} + resolve@1.22.12: + dependencies: + es-errors: 1.3.0 + is-core-module: 2.16.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 - lru-cache@5.1.1: + responselike@2.0.1: dependencies: - yallist: 3.1.1 + lowercase-keys: 2.0.0 + + reusify@1.1.0: {} - magic-string@0.30.11: + rimraf@3.0.2: dependencies: - '@jridgewell/sourcemap-codec': 1.5.0 + glob: 7.2.3 - mdn-data@2.0.28: {} + run-parallel@1.2.0: + dependencies: + queue-microtask: 1.2.3 - mdn-data@2.0.30: {} + safe-buffer@5.1.2: {} - merge2@1.4.1: {} + semver@5.7.2: {} - micromatch@4.0.8: - dependencies: - braces: 3.0.3 - picomatch: 2.3.1 + semver@6.3.1: {} - mime-db@1.52.0: {} + semver@7.7.3: {} - mime-types@2.1.35: - dependencies: - mime-db: 1.52.0 + semver@7.7.4: {} - minimatch@5.1.6: + send@1.2.1: dependencies: - brace-expansion: 2.0.1 + debug: 4.4.3 + encodeurl: 2.0.0 + escape-html: 1.0.3 + etag: 1.8.1 + fresh: 2.0.0 + http-errors: 2.0.1 + mime-types: 3.0.2 + ms: 2.1.3 + on-finished: 2.4.1 + range-parser: 1.2.1 + statuses: 2.0.2 + transitivePeerDependencies: + - supports-color - mkdist@1.5.9(typescript@5.6.2): + serialize-error@7.0.1: dependencies: - autoprefixer: 10.4.20(postcss@8.4.47) - citty: 0.1.6 - cssnano: 7.0.6(postcss@8.4.47) - defu: 6.1.4 - esbuild: 0.23.1 - fast-glob: 3.3.2 - jiti: 1.21.6 - mlly: 1.7.1 - pathe: 1.1.2 - pkg-types: 1.2.0 - postcss: 8.4.47 - postcss-nested: 6.2.0(postcss@8.4.47) - semver: 7.6.3 - optionalDependencies: - typescript: 5.6.2 + type-fest: 0.13.1 - mlly@1.7.1: + serve-static@2.2.1: dependencies: - acorn: 8.12.1 - pathe: 1.1.2 - pkg-types: 1.2.0 - ufo: 1.5.4 - - module-details-from-path@1.0.4: {} - - mri@1.2.0: {} - - ms@2.1.3: {} + encodeurl: 2.0.0 + escape-html: 1.0.3 + parseurl: 1.3.3 + send: 1.2.1 + transitivePeerDependencies: + - supports-color - nanoid@3.3.7: {} + set-blocking@2.0.0: {} - node-gyp-build@3.9.0: {} + setprototypeof@1.2.0: {} - node-releases@2.0.18: {} + shebang-command@2.0.0: + dependencies: + shebang-regex: 3.0.0 - normalize-range@0.1.2: {} + shebang-regex@3.0.0: {} - nth-check@2.1.1: + shelljs@0.8.5: dependencies: - boolbase: 1.0.0 + glob: 7.2.3 + interpret: 1.4.0 + rechoir: 0.6.2 - once@1.4.0: - dependencies: - wrappy: 1.0.2 + signal-exit@4.1.0: {} - p-limit@3.1.0: + simple-git@3.36.0: dependencies: - yocto-queue: 0.1.0 + '@kwsites/file-exists': 1.1.1 + '@kwsites/promise-deferred': 1.1.1 + '@simple-git/args-pathspec': 1.0.3 + '@simple-git/argv-parser': 1.1.1 + debug: 4.4.3 + transitivePeerDependencies: + - supports-color - path-parse@1.0.7: {} + slash@2.0.0: {} - path-type@4.0.0: {} + slash@5.1.0: {} - pathe@1.1.2: {} + slice-ansi@4.0.0: + dependencies: + ansi-styles: 4.3.0 + astral-regex: 2.0.0 + is-fullwidth-code-point: 3.0.0 - picocolors@1.1.0: {} + slice-ansi@9.0.0: + dependencies: + ansi-styles: 6.2.3 + is-fullwidth-code-point: 5.1.0 - picomatch@2.3.1: {} + smart-buffer@4.2.0: {} - pkg-types@1.2.0: + socks-proxy-agent@8.0.5: dependencies: - confbox: 0.1.7 - mlly: 1.7.1 - pathe: 1.1.2 + agent-base: 7.1.4 + debug: 4.4.3 + socks: 2.8.7 + transitivePeerDependencies: + - supports-color - postcss-calc@10.0.2(postcss@8.4.47): + socks@2.8.7: dependencies: - postcss: 8.4.47 - postcss-selector-parser: 6.1.2 - postcss-value-parser: 4.2.0 + ip-address: 10.1.0 + smart-buffer: 4.2.0 - postcss-colormin@7.0.2(postcss@8.4.47): - dependencies: - browserslist: 4.24.0 - caniuse-api: 3.0.0 - colord: 2.9.3 - postcss: 8.4.47 - postcss-value-parser: 4.2.0 + source-map@0.6.1: + optional: true - postcss-convert-values@7.0.4(postcss@8.4.47): + spdx-correct@3.2.0: dependencies: - browserslist: 4.24.0 - postcss: 8.4.47 - postcss-value-parser: 4.2.0 + spdx-expression-parse: 3.0.1 + spdx-license-ids: 3.0.22 - postcss-discard-comments@7.0.3(postcss@8.4.47): - dependencies: - postcss: 8.4.47 - postcss-selector-parser: 6.1.2 + spdx-exceptions@2.5.0: {} - postcss-discard-duplicates@7.0.1(postcss@8.4.47): + spdx-expression-parse@3.0.1: dependencies: - postcss: 8.4.47 + spdx-exceptions: 2.5.0 + spdx-license-ids: 3.0.22 - postcss-discard-empty@7.0.0(postcss@8.4.47): - dependencies: - postcss: 8.4.47 + spdx-license-ids@3.0.22: {} - postcss-discard-overridden@7.0.0(postcss@8.4.47): - dependencies: - postcss: 8.4.47 + sprintf-js@1.0.3: {} - postcss-merge-longhand@7.0.4(postcss@8.4.47): + stack-utils@2.0.6: dependencies: - postcss: 8.4.47 - postcss-value-parser: 4.2.0 - stylehacks: 7.0.4(postcss@8.4.47) + escape-string-regexp: 2.0.0 - postcss-merge-rules@7.0.4(postcss@8.4.47): - dependencies: - browserslist: 4.24.0 - caniuse-api: 3.0.0 - cssnano-utils: 5.0.0(postcss@8.4.47) - postcss: 8.4.47 - postcss-selector-parser: 6.1.2 + statuses@2.0.2: {} - postcss-minify-font-values@7.0.0(postcss@8.4.47): + streamx@2.23.0: dependencies: - postcss: 8.4.47 - postcss-value-parser: 4.2.0 + events-universal: 1.0.1 + fast-fifo: 1.3.2 + text-decoder: 1.2.3 + transitivePeerDependencies: + - bare-abort-controller + - react-native-b4a - postcss-minify-gradients@7.0.0(postcss@8.4.47): + string-width@4.2.3: dependencies: - colord: 2.9.3 - cssnano-utils: 5.0.0(postcss@8.4.47) - postcss: 8.4.47 - postcss-value-parser: 4.2.0 + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 - postcss-minify-params@7.0.2(postcss@8.4.47): + string-width@7.2.0: dependencies: - browserslist: 4.24.0 - cssnano-utils: 5.0.0(postcss@8.4.47) - postcss: 8.4.47 - postcss-value-parser: 4.2.0 + emoji-regex: 10.6.0 + get-east-asian-width: 1.4.0 + strip-ansi: 7.1.2 - postcss-minify-selectors@7.0.4(postcss@8.4.47): + string-width@8.2.1: dependencies: - cssesc: 3.0.0 - postcss: 8.4.47 - postcss-selector-parser: 6.1.2 + get-east-asian-width: 1.5.0 + strip-ansi: 7.1.2 - postcss-nested@6.2.0(postcss@8.4.47): - dependencies: - postcss: 8.4.47 - postcss-selector-parser: 6.1.2 + string_decoder@0.10.31: {} - postcss-normalize-charset@7.0.0(postcss@8.4.47): + string_decoder@1.1.1: dependencies: - postcss: 8.4.47 + safe-buffer: 5.1.2 - postcss-normalize-display-values@7.0.0(postcss@8.4.47): + strip-ansi@6.0.1: dependencies: - postcss: 8.4.47 - postcss-value-parser: 4.2.0 + ansi-regex: 5.0.1 - postcss-normalize-positions@7.0.0(postcss@8.4.47): + strip-ansi@7.1.2: dependencies: - postcss: 8.4.47 - postcss-value-parser: 4.2.0 + ansi-regex: 5.0.1 - postcss-normalize-repeat-style@7.0.0(postcss@8.4.47): + strip-indent@3.0.0: dependencies: - postcss: 8.4.47 - postcss-value-parser: 4.2.0 + min-indent: 1.0.1 - postcss-normalize-string@7.0.0(postcss@8.4.47): + supertap@3.0.1: dependencies: - postcss: 8.4.47 - postcss-value-parser: 4.2.0 + indent-string: 5.0.0 + js-yaml: 3.14.2 + serialize-error: 7.0.1 + strip-ansi: 7.1.2 - postcss-normalize-timing-functions@7.0.0(postcss@8.4.47): + supports-color@5.5.0: dependencies: - postcss: 8.4.47 - postcss-value-parser: 4.2.0 + has-flag: 3.0.0 - postcss-normalize-unicode@7.0.2(postcss@8.4.47): + supports-color@7.2.0: dependencies: - browserslist: 4.24.0 - postcss: 8.4.47 - postcss-value-parser: 4.2.0 + has-flag: 4.0.0 - postcss-normalize-url@7.0.0(postcss@8.4.47): - dependencies: - postcss: 8.4.47 - postcss-value-parser: 4.2.0 + supports-preserve-symlinks-flag@1.0.0: {} - postcss-normalize-whitespace@7.0.0(postcss@8.4.47): + table@6.9.0: dependencies: - postcss: 8.4.47 - postcss-value-parser: 4.2.0 + ajv: 8.20.0 + lodash.truncate: 4.4.2 + slice-ansi: 4.0.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 - postcss-ordered-values@7.0.1(postcss@8.4.47): + tar-fs@3.1.2: dependencies: - cssnano-utils: 5.0.0(postcss@8.4.47) - postcss: 8.4.47 - postcss-value-parser: 4.2.0 + pump: 3.0.3 + tar-stream: 3.1.7 + optionalDependencies: + bare-fs: 4.5.2 + bare-path: 3.0.0 + transitivePeerDependencies: + - bare-abort-controller + - bare-buffer + - react-native-b4a - postcss-reduce-initial@7.0.2(postcss@8.4.47): + tar-stream@3.1.7: dependencies: - browserslist: 4.24.0 - caniuse-api: 3.0.0 - postcss: 8.4.47 + b4a: 1.7.3 + fast-fifo: 1.3.2 + streamx: 2.23.0 + transitivePeerDependencies: + - bare-abort-controller + - react-native-b4a - postcss-reduce-transforms@7.0.0(postcss@8.4.47): + tar@7.5.13: dependencies: - postcss: 8.4.47 - postcss-value-parser: 4.2.0 + '@isaacs/fs-minipass': 4.0.1 + chownr: 3.0.0 + minipass: 7.1.2 + minizlib: 3.1.0 + yallist: 5.0.0 - postcss-selector-parser@6.1.2: - dependencies: - cssesc: 3.0.0 - util-deprecate: 1.0.2 + temp-dir@3.0.0: {} - postcss-svgo@7.0.1(postcss@8.4.47): + text-decoder@1.2.3: dependencies: - postcss: 8.4.47 - postcss-value-parser: 4.2.0 - svgo: 3.3.2 + b4a: 1.7.3 + transitivePeerDependencies: + - react-native-b4a - postcss-unique-selectors@7.0.3(postcss@8.4.47): + through2@2.0.5: dependencies: - postcss: 8.4.47 - postcss-selector-parser: 6.1.2 + readable-stream: 2.3.8 + xtend: 4.0.2 - postcss-value-parser@4.2.0: {} + time-zone@1.0.0: {} - postcss@8.4.47: + to-regex-range@5.0.1: dependencies: - nanoid: 3.3.7 - picocolors: 1.1.0 - source-map-js: 1.2.1 + is-number: 7.0.0 - pprof-format@2.1.0: {} + toidentifier@1.0.1: {} - pretty-bytes@6.1.1: {} + tr46@0.0.3: {} - protobufjs@7.5.4: - dependencies: - '@protobufjs/aspromise': 1.1.2 - '@protobufjs/base64': 1.1.2 - '@protobufjs/codegen': 2.0.4 - '@protobufjs/eventemitter': 1.1.0 - '@protobufjs/fetch': 1.1.0 - '@protobufjs/float': 1.0.2 - '@protobufjs/inquire': 1.1.0 - '@protobufjs/path': 1.1.2 - '@protobufjs/pool': 1.1.0 - '@protobufjs/utf8': 1.1.0 - '@types/node': 22.5.5 - long: 5.3.2 + trim-newlines@3.0.1: {} - proxy-from-env@1.1.0: {} + tslib@2.8.1: {} - queue-microtask@1.2.3: {} + type-fest@0.13.1: {} - regenerator-runtime@0.13.11: {} + type-fest@0.18.1: {} - require-directory@2.1.1: {} + type-fest@0.6.0: {} - require-in-the-middle@7.5.2: - dependencies: - debug: 4.3.7 - module-details-from-path: 1.0.4 - resolve: 1.22.8 - transitivePeerDependencies: - - supports-color + type-fest@0.8.1: {} - resolve@1.22.8: - dependencies: - is-core-module: 2.15.1 - path-parse: 1.0.7 - supports-preserve-symlinks-flag: 1.0.0 + typed-query-selector@2.12.1: {} - reusify@1.0.4: {} + typescript-compiler@1.4.1-2: {} - rollup-plugin-dts@6.1.1(rollup@3.29.5)(typescript@5.6.2): - dependencies: - magic-string: 0.30.11 - rollup: 3.29.5 - typescript: 5.6.2 - optionalDependencies: - '@babel/code-frame': 7.24.7 + typescript@4.4.4: {} - rollup@3.29.5: - optionalDependencies: - fsevents: 2.3.3 + undici-types@7.16.0: {} - run-parallel@1.2.0: + unicode-canonical-property-names-ecmascript@2.0.1: {} + + unicode-match-property-ecmascript@2.0.0: dependencies: - queue-microtask: 1.2.3 + unicode-canonical-property-names-ecmascript: 2.0.1 + unicode-property-aliases-ecmascript: 2.2.0 - scule@1.3.0: {} + unicode-match-property-value-ecmascript@2.2.1: {} - semver@6.3.1: {} + unicode-property-aliases-ecmascript@2.2.0: {} - semver@7.6.3: {} + unicorn-magic@0.3.0: {} - shimmer@1.2.1: {} + unicorn-magic@0.4.0: {} - slash@4.0.0: {} + universal-user-agent@6.0.1: {} - source-map-js@1.2.1: {} + universal-user-agent@7.0.3: {} - source-map@0.7.4: {} + universalify@0.1.2: {} - string-width@4.2.3: - dependencies: - emoji-regex: 8.0.0 - is-fullwidth-code-point: 3.0.0 - strip-ansi: 6.0.1 + untildify@4.0.0: {} - strip-ansi@6.0.1: + update-browserslist-db@1.2.3(browserslist@4.28.2): dependencies: - ansi-regex: 5.0.1 + browserslist: 4.28.2 + escalade: 3.2.0 + picocolors: 1.1.1 - stylehacks@7.0.4(postcss@8.4.47): - dependencies: - browserslist: 4.24.0 - postcss: 8.4.47 - postcss-selector-parser: 6.1.2 + util-deprecate@1.0.2: {} - supports-color@5.5.0: + validate-npm-package-license@3.0.4: dependencies: - has-flag: 3.0.0 + spdx-correct: 3.2.0 + spdx-expression-parse: 3.0.1 - supports-preserve-symlinks-flag@1.0.0: {} + webdriver-bidi-protocol@0.4.1: {} - svgo@3.3.2: - dependencies: - '@trysound/sax': 0.2.0 - commander: 7.2.0 - css-select: 5.1.0 - css-tree: 2.3.1 - css-what: 6.1.0 - csso: 5.0.5 - picocolors: 1.1.0 + webidl-conversions@3.0.1: {} - to-fast-properties@2.0.0: {} + well-known-symbols@2.0.0: {} - to-regex-range@5.0.1: + whatwg-url@5.0.0: dependencies: - is-number: 7.0.0 - - tslib@2.7.0: {} - - typescript@5.6.2: {} - - ufo@1.5.4: {} - - unbuild@2.0.0(typescript@5.6.2): - dependencies: - '@rollup/plugin-alias': 5.1.1(rollup@3.29.5) - '@rollup/plugin-commonjs': 25.0.8(rollup@3.29.5) - '@rollup/plugin-json': 6.1.0(rollup@3.29.5) - '@rollup/plugin-node-resolve': 15.3.0(rollup@3.29.5) - '@rollup/plugin-replace': 5.0.7(rollup@3.29.5) - '@rollup/pluginutils': 5.1.2(rollup@3.29.5) - chalk: 5.3.0 - citty: 0.1.6 - consola: 3.2.3 - defu: 6.1.4 - esbuild: 0.19.12 - globby: 13.2.2 - hookable: 5.5.3 - jiti: 1.21.6 - magic-string: 0.30.11 - mkdist: 1.5.9(typescript@5.6.2) - mlly: 1.7.1 - pathe: 1.1.2 - pkg-types: 1.2.0 - pretty-bytes: 6.1.1 - rollup: 3.29.5 - rollup-plugin-dts: 6.1.1(rollup@3.29.5)(typescript@5.6.2) - scule: 1.3.0 - untyped: 1.5.0 - optionalDependencies: - typescript: 5.6.2 - transitivePeerDependencies: - - sass - - supports-color - - vue-tsc + tr46: 0.0.3 + webidl-conversions: 3.0.1 - undici-types@6.19.8: {} + which-module@2.0.1: {} - untyped@1.5.0: + which@2.0.2: dependencies: - '@babel/core': 7.25.2 - '@babel/standalone': 7.25.6 - '@babel/types': 7.25.6 - defu: 6.1.4 - jiti: 2.0.0 - mri: 1.2.0 - scule: 1.3.0 - transitivePeerDependencies: - - supports-color + isexe: 2.0.0 - update-browserslist-db@1.1.1(browserslist@4.24.0): + wrap-ansi@6.2.0: dependencies: - browserslist: 4.24.0 - escalade: 3.2.0 - picocolors: 1.1.0 - - util-deprecate@1.0.2: {} + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 wrap-ansi@7.0.0: dependencies: @@ -3071,16 +5133,65 @@ snapshots: string-width: 4.2.3 strip-ansi: 6.0.1 + wrap-ansi@9.0.2: + dependencies: + ansi-styles: 6.2.3 + string-width: 7.2.0 + strip-ansi: 7.1.2 + wrappy@1.0.2: {} + write-file-atomic@7.0.1: + dependencies: + signal-exit: 4.1.0 + + ws@8.17.1: {} + x-img-diff-js@0.3.5: {} + xmlbuilder2@4.0.3: + dependencies: + '@oozcitak/dom': 2.0.2 + '@oozcitak/infra': 2.0.2 + '@oozcitak/util': 10.0.0 + js-yaml: 4.1.1 + + xtend@4.0.2: {} + y18n@5.0.8: {} yallist@3.1.1: {} + yallist@4.0.0: {} + + yallist@5.0.0: {} + yargs-parser@21.1.1: {} + yargs@15.4.1: + dependencies: + cliui: 6.0.0 + decamelize: 1.2.0 + find-up: 4.1.0 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + require-main-filename: 2.0.0 + set-blocking: 2.0.0 + string-width: 4.2.3 + which-module: 2.0.1 + y18n: 5.0.8 + yargs-parser: 21.1.1 + + yargs@16.2.0: + dependencies: + cliui: 7.0.4 + escalade: 3.2.0 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + string-width: 4.2.3 + y18n: 5.0.8 + yargs-parser: 21.1.1 + yargs@17.7.2: dependencies: cliui: 8.0.1 @@ -3091,4 +5202,18 @@ snapshots: y18n: 5.0.8 yargs-parser: 21.1.1 - yocto-queue@0.1.0: {} + yargs@18.0.0: + dependencies: + cliui: 9.0.1 + escalade: 3.2.0 + get-caller-file: 2.0.5 + string-width: 7.2.0 + y18n: 5.0.8 + yargs-parser: 21.1.1 + + yauzl@2.10.0: + dependencies: + buffer-crc32: 0.2.13 + fd-slicer: 1.1.0 + + zod@3.25.76: {} diff --git a/reg.json b/reg.json new file mode 100644 index 00000000..8218047e --- /dev/null +++ b/reg.json @@ -0,0 +1 @@ +{"failedItems":["sample.png"],"newItems":[],"deletedItems":[],"passedItems":[],"expectedItems":["sample.png"],"actualItems":["sample.png"],"diffItems":["sample.png"],"actualDir":"./sample/actual","expectedDir":"./sample/expected","diffDir":"./sample/diff"} \ No newline at end of file diff --git a/reg.wasm b/reg.wasm deleted file mode 100755 index 120c97dfae5aaaf866ccb715f4e4d7246f54320a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2489328 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�lvxcjc?H+umek>lRZY+N6omFCLGB^4}V8rUx2` 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%0A&{-y50XJyAibD;1uR9m4F*EF7z{-tFay0F z8q~7|nDn`}Br4uqX>NjQK5{(*=MRTRN;^)@fse<`ml%f8{8$wq2-!%o%AG*cyrUb+XzjhdWUXa05BqC%wac@M(b^CoXV#DXq+RxBJHn=z_;YVqOuNytNbB7It1 z7hLb%?O^En(zraOcz63CiAgo_?)HK5>;-|vys***j}^KgYee(h?S(Fg4#|92FI~`< zLeK?2|Je_|{qKMEjvepXo=?rZ_2c(_>)^*f|Nievv+zvU{O!^OCmGjCuM5IWPf`~| zm;|0MU8@{Zg2Arqf>Sj(qzkfNyjC&3HWOfYv|L z2K@OobxmP2|IQ6~n^lFfHYKimbw2Iq7}N5U4ESm~yoN2E)PwF3xdm@qxXfn%DZzuyP7fC#s~0e)u%Q>qeH3RefVN>^KLyv2 z2j_gahOV*?76^(k_)Pu!eLs#dViA z!c$923b{AG3xVYNQjBeI32FU4@b!Xy`SSxmQE%0*PB1tY4872)0O;I3FeMD=-Q?uwd-l1e~orb4@syJ3<;=F1XNit z1ecdjEt5}*DH~i7R#@Y|+ZAEdb4_Oim*z8*d(jnPaTggkM<3OC7c^0kwNrbY+3=)B8F>lY- zmH0BkqY5G2elj7wytE^~Vqh#^)Q((8NE5DE327WZ*rWN2hJ-XCwhY`_SV$i@v5?-o zsE|HT3F*D3D5R-#Uf5P)M<#3^85GhU!a^9E@HRWrgI1I;B%}|VKuGUBfsp>PlP zS3h?ALzf^75B$=fe&apwJN)N&4hd<*_0u;atI8J=(j^#$kS+^`;6g~ZIeXwILi*_n z=@P*MLb@8Ic|y8+B**vEOj*IOkbY6tJ82~q9t*Jv~5qr(0aN;x*Cwm zqAthf$0ekd2E|tY&Fi|bke)|R|MrEnb?cBh;fXLV9Pqt^s=I|XJ3hM_Cv3_u`b{gZJUFUTcZx~|Xl7B1gK9EI-U%XM)ujcT{ zD_xKIs8#JDe9rPE$c=w5Zu+@#r-k8oEC1+h(1g8oBuLXvi>>@q6iqmeEiN_(DgO@l ztJoE-u!|eH?{R-7`(caw7lp+RlFZoR#zpjzGlULXGz9A$ctOz$l`t#p-g&mda>k2$ zzu)DwaI5eT-dbijx|GGZ+f@H6*r18C7*K;pO z_UL*6xd?Q9z7N>RvI`UKcFc0Wc|TioVX{N_9FlErpNsr{f5m5;UP%nM>6M2^X2BAR zip6-j2d#vKM~$(zTe+`W$>+w)cd{4JRn< z{zcb`i=yxAy6K|mpLJc$=1pDAtFtM&&wf7-`gn2lwUJD1V|DVcXILb5^HX{5P5pkv z;Dn*Sz8a%5!x|(H!=|#@!y;)l4+9a^9FmKpbb^bu;kk3uzs}L4Oa|KhW6~DuB;ksI?X!Furq2oxz9B~MjPMJ|X zRWh%(;)hhEe^zwAp%-;>I{9d3-E#Mi56rPLv%LF&kV#S$RWz*uKTR?8%Y2Vz;D-0V z_kO*e%gMQ$?pBP z&{h!(Sq%2wHrRg{%^Ph2#nMT3uI2!=E`l!;lb5WN#Xt6(LOi?~7;4#rsGu!uBISxH zSZwWuv#PoHuQ|nS_WYZg;(k6?Q{3V%hNigmow@exl;(4^ggeO`^D!WEY$-s?=b}$y z7EBf(Yi#R0vgVoaH3YZeldl381O}PhhJvUSAOk{!4Dx;^AUfG~iC;-lWlJhks%KSd zHMW{T%j6~^hn?GwV(s`t2KrhOITvq3t+H@b4nfIUB;_P2F+K>T=WJQRj1lQ2Oqt=2 zsd{7|DF>cV4vklsnScw+=evILy+~wLGX9TZMxg4MkqO?_S29+L3a;~m{QBA` zTn&O4-7#Uz9U)WGKWVstitnyAAwrJ}EsL`2a;^69W19zgT#@3C#&`7@;1F+NJt)%I z_?PXtlJT+{HN@=bk(-H22%)p)WgKazX1R~rmvVlJG7prSuG!FMUtR61hma-ofU3(7 za3TGnf3n;|i9^$)6a1-D0j&i)hjIf^H4E6%!BDgyCTbC(D7%}KLsQ44jb-EE z1`w{4widDvd2LM-??(GhbjG{`@!jtgvxD@xVRnBZPGY#-I=#=KKP9iT87WRj2Vgn0 zr^@te1;4}~sJ6r9A#Dp(zKcYQ#LFr9168GfD&`VlSDVsl&1W7oY$YkG`$p5jt zO2#2NprxZ6KT&tzJ87ErSQ}3Zln)6}#AKDX2%4oAmRO|B#ZhMBV3NjqY4CqvSLh>}NLC-ioRQ-zd&^9^LlmIgLVlpgOvqwynd+mS_M`Uu zkC(;mf>$q+v9R9=xezQrF#rx^73{;EK}VkOH&C(38!;3%y3cn1%o_?~JZNonnw*6J zZt<}|6y)!skFKvR4%iNQ+wATz02DObEp`fbf~UIsTSC4jPd#UuyS+FP3yf(|U9gej zNq7QtReo{p^hK7wIewz8$p&KI3#xSN)t(rj4}JE2VYnmI>Pu8=`j~9C%zty1WKa{j z`{(Kz-UZ2ciDsV+j-49&^$rx!ebC;})9K`(3U!LC-lTfF=i{dDVhXM4wR`j$EM8k* zbfOVvqi~Y(yTPV*R-i~_*2d1aItn+U`O_sha2ib7DSQzE=QGSyG zWgs$@Z@h)4MGr|8OQx(oSx#F4fa31roUF7w7qDtGfMcO6hQT6i#WYK`r42C5dHaQ$ z!Bj?@VdzIde3oqS(y?H0v4SoE$F5-d4wjNC;fOxStj-YHequI>Z$+$;TycnCwfF@fK5EaG|rj>L;{OhP1lHz2^l^Y zd{KmK^Q-KL(!+8diO=>Dz|F^1Qji{MP;K@xq=U0>h~mQRQ}U+4*>_1X`yd8I5)_l7 z26C>GrTok!>#ogjSR^1@|G@wVM73K=lJ|bZU)V=%hq@*)Rm!4<5J*0erI)Qz3TR7d zG=GLCLo-~up7cgzXS?kbEm5pd#-VpT+>c!1jDvN*Y^*yK<;brYK3W#trjPg})Uit= zXF5*zD<#8&$;EJ@+w_cAo&D&3QoXRYQ9Jd>6d;Yx?RF=jkIF0c(iUD#QyqqfxhF-z zx*=YA-1%m-e}G%sjeNmMn=3rFe6%YCZs5^pdminuMEYcZL{#vfGLZY8!xf7ox{Toc zgn}3uq&yaN>W|vCPTnqjc&j5g^MMGzAzRDU4}q3pKi8l?1?|S zn{l)8(19huAmKC;3<2m=qbxozzF07JZF@wnmwCIZ4VI~Y#qIeMWUZwHbBDiZKY80b zMBx(yvI?9QlpKkr6oT0u`9nT*&(6du+yi#A^InRIU0NPtM?Oy%>9DY5o#OqPt|aqo zFGLU_(Hl}R!cF&oiln1<_pAQOL)46g-u!MHj})pDE`ZppVN7Rmsz0J0iF3IDypM|> zZtF3919#_m)>S=!Xk5yHLt+jn;rc62fbz>W>!yA~!y%+gcS*L%)Q^oqy{T^=RZR00 zAk<8K8Q(JX&H6?^Hr5tPQ||ixo^W<$G8=Js+zl5f&3#_L36LT4gW6`?9DUq(u)QU& zdp;sx3UcohS^8lLKc!Jc?kp7f751ycujTej#zNPbZe_#b?iM5J9=D|YQPtMFleoFv z-M&4K%=nJ-*of5FRWH#A1~D|K5Y-eFgU(4JgCQ|5U+k6CL{#oy(_ED9oh8>7s#}jr z@PaH6!P_Pz{|cHX|J^wJ8cYTbc|g4d998;@c{%_VM=T70MT7Co_T#btXr=lSr<=2w z!3W&IE_onxK(zB2GNu_ehuoxeDT~>A!}Tqk>4Z&Ip1TP7g>i7elx)@?v6j09BzOuW z=pRyZyiNZgXI=F2RgkD?Qbgyo2RDNI$p}(8TWkI%D)-)80qFfrAS(z~Pl%8){k1Wd z>eOU_A;bIM%(ODTDsE$htK&8KwBzlBmOK3JhbuA!XL@#lSCF}b2U>Tit|Y~;rko$* z$e<}#ms*9kYvNO@B-NiR;ULZgQ3@JHY`i@4Wau$yiZtU%$&$UAKagg80X7dIv2j7| zO14Cz81c8H?R1`3N5&x{TTHTtyk_c>vzQy79onVR)jWteJ;qIqYU|yO*F*S?mL~;{ zgtK1rwTS>9(3qjov1&%0DWh4~0hi?H-%Ma1iOd04Qp)8Bs+1?&!BucLdx7_TTb?J7 z6KSwZsETMB{AJY@7RF?Xw_dUeUX`-KI+EFG4_FKX3>?4;20jja_*X_vhWlC^$6lHC zLzEKyU1Qg&>3oZ_8Ph&Io7wF-PKWPL#AfUZ-oOalyD*#iN*rkrU>^mKD9DB)4XIA^ zqz3y5>0HVPg$K9-<>k_oo8%VsKRKetvbsuNSerCf@~yO##!5vN_Z|SHHVn{a-bb24|NB*AwoFh8H$WU}Yd? zc8fj2e_$l0qsWH^F@ys!VH!AVM)gla2|3JjGXj(6yTr>|lc)9-62a$_9Q+DXRUFFe zuuQ;5z96l_+yRG&b>GLOaR?s!QR==0DbZ?+heks_DJteY6WHJx;fa`g-M>+$ipTE( z*jY?yna0 zj!~}|;hc5XK&}?v^x$4S2x=b~!<%a*{6tf;uY3jfEmpw;gB6TzO09$nAV~X46+rYZ zF?80IeJfZgZK`UdoR#0K}P1el^m4=oYKbaeBF*Wm(FyAhdo#aub(bd*_6c8$GMo zL5uD)g2490!Y6tS7U3wR92f~F(HpAwhoN3tR6TR^>d6-Q(jC&PWj;BkwKA`|#~*=b zx##$H+#MF4@PPg;)&H7m|LNz9ahS=?sZDOpg(D*6 zUVPWg?)c_jBISvZOW089{#hKF(;@uWp6tJNu(HyEYtl|9hgH28Ug4;QQ~9w(!jryK zCV_PQ-7!l(FhVIewt~gtq9hXQ16TDpD(7-u=J%D}-H^#K5)U6xF&1hjR^xP*p&*no zb7*^}1yfKB7kVBh`s8kNkAsXZpIENn7v~*yGHYAi3J|P8-L5E*BTPwtp0$mr+eShu zT!+{cD!GQ;T2#1HzpoC!lA#1(b(m7E!pTtKl9x`9pmGUSPFjV0cU`ZmI+m!8Ytd~u z-+p6GjqB6te3>p;ewsnrwThPyR@@C0FMsI-Q(!q2cZ-T|>Yc8N+1NFm+!%m6-Rd}F zu#VG19cR3Bf^MBb9jE&`$kmyjDG<8(3IlAKIrgN`O1j`y5u62XM zwI&SLx|dFHzR0?4weK{a-efhcR!!sF-e@(gwVGC2O;dw4tqwI!y;SG1Bs1G@$`YYt z3Z$+!63DWihc;U+dw6X&rIjw8Y7Js-wnma?ZMIG-n%zYid2DBUxr|y3$!NaXt{e#7 z5m=loN>Xh6g9cQ`fLb#MRFM#VjY<49P@~U)@8>nWQ57#4nAey0)~a$M6Ick(*IC_b zt?r?Dy*6}MHi_o-x@@g=b8R`VQDU30C)*y0(_D;7bgR=td7u6wPVBy~>**2{se%S? z^mp615IuPv7h)=}^>?r5LX_e)T!^r|+TXp73unJx#bsOvtJ>WaT#`-crCbPed>86ydCD}49L#Ekjo6?NSnbLdHjI_F4F01^y5(6~K-Lo_@siGKBe3+ap z0r+IT=5_EWJ>BCn?+R}cF9W)iRzD~?WP-yuRib-Sp#lr_jA;nf1!IyB_bk*irf!Mq zrSRyY!J6(B8hp?iG!AABn#vU#^jvJH!Geob4SFtidfDJI8hjExtnQ9WS) zBR;EWI(p zL>EObvF8`_e6zjh9{OcKrFUO{6H1W^wY}H^BxHK`bmRv#gITXXA@D;_bes`a4l|l{ z7bz6lUZP(5M-|{9)JZdQ#3>xLc1E)`-6Lu#ls;;uOS82_spN77_ZCygkO(g^moC3g z79@dcP!zzOC*XXQrWOhZsr!L7+$_7T7f!m{^V$#sfN`jjwH|kC=i?4>#iW*R!3e@Y z)P&{<7WrPeGQ@i&V0y+8G{m|N(M6?l0 z?@1F-t^pJ-SCcM2QaqJTsVYeF^7$lr5+iLaSo4K(Hj?yJ29ms-9^d=rhv{*n?6IAU zRgwKEwqbKpRY)Zm=<(Z)^e3_&+GO{y!(SMwbYN)O>V>B_Z8KGot$_m>2h^zFrN#d>E|i*Uj5Edo`dF{^UIWb z9R7t~Fa330!Idj4tdrbWqbK?kWUgUhov=W;2{^;SI?qkK!cM9)ki^Mzg)pz`JRxQ| zM@O2zM{pgzHdt%2Je%@Wx+urQkW!Bc0W9Uf;S-k+(3hBloZ8a)9l-iAu+v%h1Jh0H zE$a?+yEFDP51ZhboO*xsBcFO+l>CXc17me$H1x8B0Y-_r9Lm%$xFi^R>io)3h9@EK z&<1u%uV)dha&Jh=pLE4_#UhLuTHM!cK(L^Vz69_oRT^|bKdb}F;Q8Ldvq=gLHdf{u zcNa3`sU1jNY1OVsm&o#rPK5lI@5e8W0LcF_RcJDaVu%UxsPh$dZ3K_NhKR)-)02#& zfEOdCwSL9Fw_1q8TDBRsR7Ou^|FkonXz2-Q8IminEq)Y10EyU8$jl6Sy1pZogE?Ee zFMPt&U`f@UE~`EDZhs%=)cuAD;nYk`T%4L;D1i8hOGkC#8mZi&I7@5(LS|Z0_>HBB zdrJ?qF+$BL4_23Fls7RZ_Nw2kD8^{%O7k-x~i$goP=r`>}pNuW?1e3aaGI#I&IC4W$$pekJwH*q8x#|a!&iZJiI{DW z6;?Ao4X%V`5L_LyjoN#@CGiX%Q{q8mMSr0RSgP>CCRAmB;ah~Y%PWF0LiFc`hyWYc zzw6qOqZI(IX%0oYM170l3jYqfIkhxBdQk)j?(pA!_LfwJJrKE; zhX_emt2QpGJ;4xAE%kveci5ZcRL1@Sbx&~-A4%eLyN!p=rn6W;$qkT?1B9kg)ucf{*G z*zM0GaidrcA+kR#uX+TkFMf%&hCoHW`q0J^Q4I@{107V*qYj0&asxwQju}C~rUv^e zO9U#vT!lbAv!Du}i_^`l^m~~ve~nlhE8nv{*1Ub_>U6T-9G*gqzT2xizWJ79pP-vg z?wJ1qp)KeRW3y})Ku64U!!gh44Q}LGevV#-Gx$z@XMtsy5AM90n7J?2V_g0$+T2pBhpJPPp{merM9qt|0woU_9kX z9VUcjfyJQIq;Fa*0s-bPC`?cJA++|xhdmuIlGavvZtd0YY!Rql@MgZ_6O$hdQW_S4 zjzugjG~88Mq|sz)xYy}tHH#YVn(Eo>YtLwW`%Sjrq2cXI|M|B1D=^So)vmj9J8_ko zd6kmcZcl?YBT-#K`&drx)$=*DYLdjIGx>U;vb_tAX(dg}W} zkH_=&)5cRGWN7eIgK3NK+2&m{cPBUZEW-yQDVv((=SS+Hj19(#bq&q%R69JMG@zCk zwM7GJaTzO4h*cSF#C`DXpM@8OO~3w0njvibIt88=d6>&6#z$6pdSkdgz`1?eo!1+33szANb7iC;s^#zx}G4dZRn) zvlaQrxyv)-H}lWvPM*$mcg`sE?X6iBK@!7MSX4+g-sDfMOEe*ed{}DL^_T zcaLwSPJJgu#n%fWT2xAJ$K(Pacr%~iW>h3Xh}D*GN-*KW)b?CkILr0+Xx1|GI@DBQ z9$2Y!+>J`7829gR`Bz6_M=0!g6mn8LgU`N{9>2hY@#8kA6XJX-oiRetvo?Wgm{Nwn zi2{Ea_N_J(v)D|960YE_BiT5fL7?p|`-wx#u;{6ZR)lV0*MdSJT8)s)u6GYd9+~69 zwAIBLph8MX1MlUYSvBPjX+L2XHnGP?xGivbtucGYCE8LSuG zvRGBo0~=pO4@Aw09(qfOv>lsa`^SIijjRI9rCB%QN4Myv^857&I8iSr8TqXHM&1~A z8!lPZ8_Py-f)XZQnvdIKpq+5bF9ma&VbHB~1)!X8|3ycT#v&$xWRB!Xb+YYVqgk0m z5VA5CwcV>}O_}Fjv1$vSa1u1G8hRVO%)0BV?T}r`Ft2Z3&J8(`XqE4iEqRBo+srL! zk`_B2RrT=|BEl@N0hMpNKG3};xt`zg=}&$6u45CgrAHkIMx;BmbG~%*=$o|!T_DvVqwt*2oqv5ykXQ)&0Y~sqZhVG5CldZVHf01@k!1!jq z{+S;h|G~d}?>qm;tuudo`+L54^uNFBL;sTymh@+%sJ}g5X6!eMUl>JM{QM}H>Aq!$ zK55+waJ;X?)76_mfB&0)kFtcaIlhL4Wy^MD%a9Zh)rGP)oXlAz{vVxr!%Z{ST*)^u z$kEqcpG{tGXEecEe;(Y7?t{phpCE{7bSC-_ep+mEhwlRYv*#vMdmF&Xp+^OJo849J z0edR7Eb8ummjt(RKuZ}TaGc_vW&>?;JNAj6{paNLD^!UwTDHo@0LLX#t;>8%nv2`E z(A>MNF9!Q?mo&*!;xjXh==RiyO0eOiX2MTV}B-Ba2d;%4|wdFVX-qV`RPvgmmnq)G-JQN5A`71!K zpqCA>rHzoXq$87diC){HUo1lSodbNTZxoMKu&5fpWIiRL@E@8#n37q}<7tSo1wu&rq5yV^KH_+QRd=7dkSn?S12i0dEBB3R}irmiX5N zFrv*^y6W(39a%>O>Vt-iqYuQ1LZ>IHPQznh9roN{u-QPfr~(lk*N#`$Z@mf z#LPo^OAxMKLJK>Zip3E|d$h({q zq@pvY?L#42*cE$^jgi2kK|LaiS9>EUp$Ys{C!RfSt^T9umL4&8x1b+^CaQsP^(KsJ zCIC__G39CnspjH6q&sR+GvM0B3qzJkSO(sJ@#57W76fiRXCKRTe6j<*P1@q$$SrZ&?U zI$L-t5!(|tHkzQ%Bi3~Z#AVE?f(LLaxq^b+Y2ZV~I9Qm{Ay1m@yIOL}P^*vtVG(U- zGjAFl|KJ-X8h;o=TqEui$;$&ym;yg%81d2Yl0VJ@R(b0*>24$Lka0?SY*9ICt<(L> z9mc!Vh$`=2cR8=p$G}Q1wFNu%ukBghd60#;j*SDOt^_gX@nPc?6RAs_WN^a%UCnnj z?`U@mk52%>gMy%F|A$LnuIXjcm#U-%$k_qTMP%+4_MSxyn^5K6v|V+#+{HY-_%iks z`p)n*Ol^e6(6mU>{SXh@@t80DcPqNqr1e0!?HQFB0#I|<+@^1ilUhZ3v6!~KnP~7l z`C+H7a%Lrms<8z(;4FA4Mqh zUOCO>k2dZ);a_ACA-p)|Uqr-f{`Fd!4x5D6O0Tl&CH#wzCbRM4bt+_P)2M;W88T?I znkX&Tqym!>iW{==+>b?~6$Is?+-|d;kf2!7tK}N66n;jLUQ#ngO|)L=iJBpa!w?AC z?w@O5Q754)JWLt@Q3rE}se!4aqp7f7jzi0ca#hs0a+TP*C{37`DHPn`ZFlCjyRznv zeSgp!&@41*<~p-eeB6)P$CETB48F84@%cvnkvg4hUI$C+M{bY)Rbs~;nl%C!SJ2Y5 zuT9T+!XOb8@al;K!X-@$-R#B3FY{0F&L^*C_gRWBM@xY1f%>wTQ>U0Hy6*lGl`*w( z?(Naf@Zy{`jPGP3_9c0v`{7(BPN<`Hb>)5t29NVXOY-sC({qx zbn5&w-7lYYNA5q`kK7}l;@|Gyt9l`_$Q0wECGGC72Hs3P-t&1#FI#+}5?5tb^LcQs z)z$+4kag1bIsSuz8*NbQI7PbO(S7%r{*Bt-*ZM@*&NPhs#CPJ+KL#CIwsd@cOgDK< z&Ax4G0te=ANQ>*4H#Rmcgm=j;bP6A(f{uigB(`~I6=&B?q*2Zi59zQNZv z48r}C;eI)|&#WE(SuWhKnC+er_je+d3*56`w(03UlZQH}dzt}?7-V*(;w}wXl$Ety zy0tel*@)w)8CaTmJX;O(C#e2fmU^jIqKysAqH{6(3@|h%kolLoWNKJN$LS zq10+~**9URtc!<%o-JZ9gYKvph4( zb}m+~EFDaJ1ET;g{bBv2O4P(GNyA7Hz-bwg6z6MU)vz}7gQLGk&sayY)KE6{dCkNn z?zjX=$Qcc6)wUPu+MLqdej%y^?!cxpxR!(eMGo5cE7V=nL;N+#|T5$D;1^)2@9r6J|ULyroXRPRqiGMZ#Y1`k1+ubOgjC&Y?UpZh1OvumN^SB zeM%?Euxb}y)@G9-jin*c}TQiV2~)=gm9q0KvJaWiZ#3)C9Q~g0#0NUvOB_N zADrtBby@)fNx6M6OWTILxciuA)ZE2X_|aX4pNWWLh9S}L3=fC z6h#^zpR=s{DT$HxU&j^Khw}t_R;QB9G=ri+$_x|_uBmw)ZdS->9YxD{A3_O5k-!mu&PNSYB>X}XtEPDn4SkF*U)H9GL_@z67zGEM* z_YAtVR>iqgxl&?bbQlZCu)Sj7!Y0ItVbcbbnwNqQfsmA}DUT<2d&M+h&b}!yZRs=E zekW8_m0CH9A*@yps8|?HDpdABvQpc9^s^85BL~3qGTXIRfI^M2EpdtNiYa|5%eUc? zo)a*$rHE{S3c8Qmu`pb?VPs?lA;3MII>^` z6E3w$;~R{N_i19z-gk)zTESpNlLhWPg5oV%Lxu)OM;z7=BxxrES(Xg=OvCdry(S!a z=5IJ=5E%+t258QAiMBpu)1Ep-S|Ti~NdZKVRh{pE>1F!tPE9sAv&pdb8y8NvC{&4L zn1-HYkhUPy?fD2FtCcdpBF*>9{EEnkT8c&e%%~!P;IvOBkqEu_-iLuY=mMWi(UUZ+ z3;(frn#oZ#k#^c>jnJKVPW!~@q-G60MiHcF^Q9c5GUk8&+=OM9BTYL?Dtoa7EmavW z?cM%!6F$orz1Ik}wq4IAcsXI+F>F#T!EAgLsT3sj=G<;xhi?nr{`HPtXNZxuP=QZh z>VDdPx5h-KfAy@QX82_blZwP>Rqv=u?d-jIcJlNjs{I#7QG;6w=+&cX4SL(nP$a;t0~I>!_Gb@5+UaCb7BBR&&8?8^TmuM zs6Yw~_e!PWd9m1-&q31I5Xn&rn8{|pU|R4SU-=j7m3#K5%nVk0!`EJmJy9cpT`@gE z+b~6>wM}J{%YeK$UMnw^^}=0|9s~6rFlZ+|Dm=6&S8r7-JYCSjS)^$jf)}W@ zQ9z5MQ5aqX2jS_-)OBq86zK9H!<`T@nIcZpx_qjZSLV+0Q3+fH9+Utlj z(@#v*;h*(Bg`>}mi?&zXOPN!0M_5(Uo#yuc4%4Ii_uvcm{DB1i$EZs2PTkSy4WK@C z<8J_x@$3A$fS*B>els$w0zjGdkg#I+8FoR=x2GW!dFeEFuwFl)5|~O?2qQxRGOG5z zx&lL|D}3=PF_`dL>*QXO)ir+Ymf@FA6&(Wiz5#Gma=2ddP`hF@m3gLt%cAGStiqFv zOX{5dXds>046h&q3wId0Jr-lMoQt1JiV@yNKDfaXy#^9j={B^$J3h{!$h^V!y|er+ zwzQPhq<+L-3$~IkQXCn?SAQg>nD=IuO~(qW9lb$><^QP7c&lO~Jiebji(`S2Fr#c# zHz_x|Xb-STv&I}tUhdKFeapk-n%y_uO8a5}seAJ8-TM#B!GTBoSH4QmQS;p=QS+zkH5aXu*7}A)02X;|#n5X5aMFKK`-oc}h*qS{BFEr3nUq%? zsVrC_4TrZod^b4h7Rw;fbgYE8&%`)U&7+Tpk)oyj#qU!bv)?`m%nsl}YRXAb!@-lN zd6B{RF^-w(Q%s~$jT+h=i|J@)jMM1T9w&F#Nnl_Qw1EYl);BFOb`eta4fq zi)5g8xR?vjbW_BE+j9?792ta5{g?D%)c(DgMyf4JV#sAq09)e5eJW#yg;2>ZSenTtGg|FpMq`5bvnlHB(!&zW*u%H@>zMIo<+Ht~mNUHo9f#RF zd?zlC1dE{w&G#P~m$ z6POru+FTlZi`tGmPD%#;-r&vyQK4zigcuY)v-o{E1}lWqtWO>UveEI%&$3i?f~&L3 zcIe;eO3KX1sA0ykp;3>bvSGeck3x6rPL0a32R?_Ba8-MLiiA!LSxt}pE(GItifoE} zPQNbSQh|(Nyt_5-mYA*^`Wv|Q!82~M@f-dxg{V-Bav{}&?@%2@F)jR9@&*DmOM5r; z2&cgTCvAByx=hPjOUNM({!ph1Rsi4)%nNlJk( z#`%~1oPnm6S8gKL+{Wu`wqn8BqFB~ssh07G0ar7wiF%|em<_dg708Ln7Pa5ps1&h5 zx9t$ND#DQ;*XXAt9FM?Oi7{d<3}c9JLBzT$8Ga0VwhTJL>V#70Ay&a1{T8+Z?rKy< zM?IC9T>)7McN!-t=t>bz@Tp-=WeR){s#q8=kcU$s7J^0$L9qra6$Of>Q7z33twyS( zY3wr4UY^6ii%&w)-pUxH=(a}*I)5OdG@t~HoS2%XctbgkPlK+V6hHF1Bx1==+BOe*mt8aZUST!j~!DYA+0MgdQNuMLPFMF$+j#zKaxI9oAfbCIT@ful5p)NQZ){gV2EG zz`@M5T}cr6`*}sYUgH#a_E4cs@b(hk)O!K%?f#-DFVTG>Ofm{j0h0rWx|%UBdp{)5 ztv63sn!juSxn2;e;@~VjX&Lyglj89#O^Ll@=!Tiu9ANJXGBNfp&soLZ8>h(L5eI?2 z!;+pU_Ra!;XYb_v77xaap?NvX-fgkKC^Bk)dQtKbdoM{SAU#Z0LP!>xJ_GZsK7}DN zk?W#U7!W;o6azl-93G%NrfB3>=}OfgOsxAfX(hg{GvcHtsi~0GDNY@5cv0aq3vhSV zF);!pZHMR!X(+}BwV_=t&XIQsp}v`?+hSnF62tVJi7fXgPcQ9f0Dr&!f(^wj<65faGnX=9>*HvLJoJlZ)(J@KR2|I|5!?N2_FJItW$ zxz=C=X?dK0_BJeboPeoOED#G@4fptt1?d1Zs`oZ^;;Q#Q0y^-40w<&cb1^PJ2O4wh zL}QQ^ejIf0OmYIDV3-ro=Yd@Q4QSttLzY|_>=eJN=)a_bVG59axEKXM9in}sfD!lj zdl#et^w@cC3I6_M4EYlkWE;r_}Es?LN@uPkkTg@_(Iu zpx=xudzK)QxNf3&b;qA%AsJyBf;UY4p(=?MP|&i%p(TMA)yg;-@p^1|q=}5` z8lj_d!00hbOLiv%d~sr@hLX_}o;ZKdF@nT9MeL^a)Y#qbAL-$-kFw|WsqX&e$j~Ph ze~7q>1q_Kl_-2U}rc9{_SgFKcnEoI}!DD6Y(En=UZ|9pAWPXc?zyH;GzX6${6=;vGOMcEb zmzwv({z06h=~#rIH*X{>*$GVdN6Glvxi^sY}jK%9*+Ev(~Q0bML)Ov{hL1=p~C zJ*ItiR#Yx&k7>!#_R&*ivSGkx5sJ}T0e+BVKseQf$ZQdIV_>HA1g z*+(B%tPiU`;vt0Z+v#8nbd6oRWcVGg^^cy|c9}&9!xN2}1VyB5M(2yj0gvY5Fi6qN zk!aQnDvZ7TfAlaGP)J`TtD|uD{$Y&iS$W@D{tNuSj2h;w#8&si@)C<|0HMXIn{<_u zU?>>NwI<=|29m}u$t)ncIdcmm*A;4`nd6_j_pVz$`TZw8zFnECqnSNB-tob&9{A-C zZrhY9LhHfzz?&*JqNpCe%sjF(%^(60T6IIewhr>~Ru#vp!xNfy0S(YtoJJ^$EP3qc zUwoJxOSabA@H=Qych858_9K?gkH3?iGWlvozVCPOuUirNsTH9L3$8es);38KaxeO3 zGn0U~J4`I!G6|1rpB1x>&*Y+q7cKXnb^V>TTNBX&whszI1!b`RdO9+Am9wg;?HyXL z-wUcE8zF+(&y(ZZ9}UFa`K*}XE45_o8-09P)&P2Dk|`_YP}VxZ0-Vl~^s$8ur}{%g zg!*H5rotQ93j&BG@B|uJpPZ*?WP>FcKvJ>50}YQbCLcK*k@Sxr_;R1Cu34BqTLaV_ zr#2{PzbitpEd$ejbE22a^_mhsH)k^CPPbRj_m}giNmE+sh82Wz-fZ`S z!V-;Z4vWI|cnJ6m@-&r;5ztp%f|5o5SR$ZIV0t?_VJ^^Vad4$&3ce^`YP-@X?G_%Y zuzJ@Sm5Y8wG51(KD^K_1cR45LIg09URm)R5KOmyr~S&QUsjkQGWE8uU{ zj7v6`2^K}0wFHYOenOp=C0JFzUSt>zM!ERD${NyB)oLY$g?Nx_!(hhwXb z3c-*y$O4cWH}7Zo70RjI=P!g+h{Kkh6C5(!i>5S_WCrn)Nx6mI2l~Yjq>4O(yu2$B z^bhUE*!K9Q+5tvV)S7{ofts{=9%M~=aLQ&N)5H24D+XfdrEO0^)ai&jwkwVL1MspW zHx?$`@e+HP*n;dgwRHGp46irQ{f_2LZ}KJor~UV>pSec-fUTD-O6c`kY$EI#W}9+xFhe#znIy5cCFWL|vZb1Yr11@;3F*xCma#v6jI;+FF7li- z`p??j+|8D5;dB{gD`e}FHqevlqwt#q#K70L%nYfQEKHFn4QOebAZ!YlZ3skvI&>bq1`XJbmTVwrL1&iX`qr9c5%J~zk} z-KhKPlMDULl-*q6Z{U|5*i(>zUCdDKr>lFEN)DH?h(XbCS0cOP9;y{=WN0WtVPhDV zGODZ$EwibTk++828QFw3bx+V&&I+;&*c}^vk!%;rFsNl&P`iOs3S^C&XoJqs#!|Np zgg_rziv$@E10)z_?NWFd%`OAq#-nmeHXtfv2RAj4!3-2M^3yU)Z9kE9h3~O&l8(w$ zTgOk6LiBaivH(yWMwuMp#9H{6e?fud95GQ4K+!N{-~E4$CfS{7;uo@YpCj_Vt@u>B z7ujJPP4_>18JmyFvaGQ_B5d-d5MgY;u2jFQZ>jt6Uwr5l?y3-cU7vQjTC{k+a+63WA|{CX1ZJVc-(e|YhPF1yNL_X+{jydsR(GU^Dn;M zU#|AAz0SXOm9Ojy|LjtKk$J=5o#!vBxjg!{Iq5Mg0G-|G5uKjq2dz(8iO!D6D1ex5 z|0-|tlP${MS3g!t-8L=b4qjhg^?i5M%YWN_-|<&Zx$jz?1Y21w!?*h>aUE?PeTg}9 z`2jZ3N_+7ZT`%ofVrF4cAE3S$xtaBnR?xY!)+XyLv7iG}^gz9`Tk&kOcxA{tE?c*u zU7WB2r7ZP>Q}XbJ+Z)eLF#^QoeY+8l7WO)>=nyUA)v<<{5VcEL6D7mDETIe(tPEhu zhA6WA*sY+{V4KcT)*EyC71n0I5w_W=Z6+GsmW^FsJt41HsD7L+b6b^!`4?v=+i_z5 zMG4agrcOc#=8Qtj#@zn{-*RVaWdk9x&HYBd-`J{k@^Lac>&RWDWRX?ra}i100q{89 zZD?1>vPDUD+hKEAPxzD&Bq<}QUeU%;)ZY%5-H#p>!Q)brMh(9Phi?C0(x+nY7$c;5 zAZXH~h#|HJZ_39(7C#k?uM##&0f6ay4Ln0aO{+pc55EVn?tdVlN=Y+ekg0C9lLIa8ms|IMB~R?-DxEVL9k6 zhMdPkNSnGP*#grM_O-)J=aI?0Fdum8O6T`SMyfTBK8cBwDI-7;*G;U)d7I!yJU`p( zTPl29XCOU#l#;TPSEc;3d@278*l#K0*B9RZ*tfs`mM?wwAC$*KMWZuwpF8rM|Ng-5 z{QifxQ-rusTO1`vx+eMnYME)uAxv#LQcu=5HF}*Kk6!H*X~GrdapZ-%OHkWjl-c!I zJkYq6JsuCV4&?I3eC(Tyb=D$3&H8w9Q`#3QTj+P|<7iX-7Jt|CcfV$L>*Lj=5b+N- z`Uk%q9-O-=-RmFxw14o)@ZiEt=>h-XK2n>g=Ff*GmuyPs{FASSCtnUvuH;Z!|KySI zr4NlnDEvnISl!d${Y^}k8_9s=txF|gffx&wn7*%1wu#w$H>+y$ zYNh68;`-%5w=$zOZSMRH8EIi3nA`g;$kO%PemNn!?-Bq}`yh;_5Dc|lmgWVBlFg6= zy*1@#^m>V&#IzuLfV!`Z)4am3uwR;AVZStm#SUdbr3RqmS}s6_jwZTC|B8znchx5~ZK=76M-t=lfn;T9SZbmPe9J;*IF3_T`Ii#nbu z=Ld-DN5;h@pA(qTl-*@<`~EYME}3rE*}a<^(i<@Z#8WeiuBvFO?6~4+0_)=2fUIc;f>G}S$EsjAYo#}3m=Haoi81yL~- z${v5z_gE?|<0pNXX6{zy2tAl?qdHZd-v>C&HfZp5G^{Am0Q|SP$B(rlQAh6pLlC>I? z_oy!-e82=LB0fi^*HwiBrl8q^ZV$#XAJfr(wYqLACa?BPyz5oG$!byfFEGi&@>h+c01A7TtX6aEFtY>Kh- z3zCDe`z%CJSiA={JM!g51Tc@6u}~lm_cHRpA{5z)fK8BGvI;D*Tl{)~0d+x{7jx-< zo!MyD$> z!2(=RfV5H|0^&~$M1Y`3S+q@`vOPYh{DY^52jJ-;XdV@R(9}|fEGVTL$boGphUJX| zTS!W#h{L!{%ha$<*|bb4XiC>iO53On*>uCka7;OjtJwW~pL_4jy!(R$Dat)=OC0XZ z+;`^wc|=G-=PITaXqN>v+v8wGfF_>wq>4RziUVehCx6BjJT|bq~=Z z4;@lt)07agXdRPYVKhL%9aQI@;}id$Y9pHDD8{$3pw#g;n0Op7K6b5R&T@uFco0k4RBu_hz`-iRdv4I^RM6164A59V0FAJA*9u87 zL6Ut!mcLGA`MYW)ymC=PRThPQXoZcp-Ufp20YM;CsfXcW>VbGR{p$rqmO7bJMXXI+ z@T(IX^otW!94n(6V-vd6OV8<*eNCC~5qx`Qs z7xplp(%N7N%|v2hhJGWA8YD|-K;pVwbN>J5BraJCm_CaK3T7%KvwCikn}bB%-JH18 zJdlMH5Z$#yLbB@;008%IbHJaRNXTwxgp4_cmj7<9el#t!Pwljc{RCk_FWwHs)kylC5-D`h-+g5~BX1tbu-YNj!ou zdBgWG3=9acS5t4-uwcKW0F{wUGD;TJ&O<_EXt$1yLBZRVP3?oNCkOv{;h+BOPkjCN zp55hxWPbN^=YIarfBPHHe$ofYoE!|2VYq}_;VReC60=01MAtBTj>J!(J4{fLhtLW; zKI(vj#=gOe!x`S>C#r0qgMn`jh%k2rOI-|fsQ)GLYXK(yQ%I8ox8=#!mceIj4)i*Q zc6h*H;?mD;e#V_UtKHsEtlICIGT`H`E)c2c}WqW zkoaus5w4heerVd7h~`Bo+LgHhQ`tv|aZ=eg`JLo> zQAVG%cY@vNyYygYrz8Hwc`lcJ40C~u{Fp|;R4>A1ayd%DIY6lGXXC<%wGFF$!z`bp>$4L-HsnRUbHxW>ihYOY+C>7;sWsE z`F@@m#BO?-nZh#1l|;9G%?r-K@jx-$!hS<3>Hn;WfqLx!oWHfCu)>!qbk}Zh4yM65 zXcC=AE-3;SY4$0{rPMtQ1pk#|Bx|^(!QhT+p<);jjucoX50}eJ*Zxm`|kU}YTriR5xpioNY z+@w%sNPia;YUJCYP#qRWMWN{30EHTP*A$A`86cFRn+-x4B6QBa4i0)!XhAaX_|?U| z*`ytI6pTQZF?tXAxpPCt!7vftU?H6>3(!gF_RMi$h%N7@2!YnHcpk(K!wqUXqklRL z^HGdWm*29Yx2mGCX%UZHLV2fLY?X_6OQy>O^a}f-AV`*AI5}qfpsW--+Nqbdcz~8K zhRmVzZ&#~*NM#pQX66WbD|3WJ$vs3N3*!NQx!=EX9~Z!NFRv_838sJ}{`Uj^vfsZJ zLhEn}%YHNGe{=qVKUtLHj2fl2le)g;DG{R)bfoN^Rx!;#<%=#VvEwO>uz@7tcWp(Q zAn`O~xIpko(bMG~9f!ry1<v2>^gY#c;ugua>Y2#sE^qf;?zw1M?lb=JFn2ymT1uNHDm(%P)u zO}I7i#&rs4(8&BL=5EsJrxrCa;U;|(YI9GLC`f5komE2|h@*z;c4$+rFsC{ln3*1 zt=LYnL4t+bz_5qPlh_hE{a=^Z=bvz;A!mdrGAy4yj7;JDr}0=Kmb87ilq$lc3!+F) zT7!Bv3C3!|ZGmZ-8Y9=27h5&ukMdI$N^HhqVymDjGN#cD#flgdft*3mczj*mlr53M zqM)>9a^_D92HP)cEuCCXCnwbt%4Gwxl}98|*|O6F!vSNawy&qmu+_)6U?~YGGwDW! zB}IsavqKDA*YHMv#v0hkc~%g~g7xCfbn6w@bx~G3V8IlXSHHnx>;JR|GABm1^2x57 z#EwOO+=L(VdYLEI-zZ1TgcrbAOe_;wbjCsDaJZI`Su3qtDxh6st+3cVoe&Pc{DX$X zh>W%@A1uc7?L&AqIUxh^j6qr^JZV9Mv>y|#1zF`86En=Z9;X}Dc5tTq*4KuGO6x>h zMOZXi?^^3!>>r_Z9jHp@fy}8^!AhEAYCVJ?gyq5?3_$2)OXq*|Kq^6Kv^*o~Da_FE zDVj}@Osa5eD)$?z}9;}TSKF){*BOpmU5-WkP2lE*9I7R7&E{$rnt4fwX zml=kxn!znD3nu4sqmD5m0&1&R<<;g`rb|U%^+BmbXvKhn2(lPs60Q z=T3^tYdSRzTAuV^4KgrfB!mMR4LR4OK1di=h~>Vf1UOKn#Ryg#K^G4-_I@jOZN7=? z8(gQD1RQIGKlbu9p#3_H!N)U*IYgkd2S_rtK)_K{V-_u`5I4D<5K`Pmcqh}SpVqRt z02CErb_ZWJF&8=`4-ATda@=Wx#E|A6rokzmU`-W2GICQb;sk0i$nOT&5OF3V%4<9X zUTH$$q%`MlLZXEw;Om+ML`+Y@>mII*jxR#b84w>M^ccke(4!0xxWj>jTOI~3 zQcOZuYl2yeHj@%lPg2k&Dx|Jg#T_JYl*GV% z=-eKD>ggPPFZ#z^03NSvHX1fydxQ9Kz4~VAFgp>bY^F0`Il4O^0DYrhLFJ^xlQZ@N z5v7q$Y1)CV2Vx@?uSj>)!XcZcYkG>~`n<17m~Z4C|B`&(^{i-oD*#_&@B6f;U+ z>~~SdN~~VeVvxxf``wf(*0!>RmfQyQYGNY&YVx-60DNfy!vDCixO=B{068l! zYCiivBLN9+B}#S4N;5Q@>m;i5OsbigYh z<|x+lwg-{15xO*K+1fq+L99)l4#c{?TwUiv5;PeMHr_->O@fX-vo6h@Giu*DB{Dh){B9_KcbL`STfgo zIS8OH)2dHH^c!)ZUrI$#`_k~lc7)=qc9a!B-~xgmoFqj-Vr#&9I&X3X0)|?;LPo<3 z)!p)h${a4a;Ec(f0f`x?Z6D_4OKG8i2JIigaHVb{{r~`*GusrxgXhygDzZb#(i$Th zaZJ;|M4qr6i3`5;V{R0iez945&I_AZtmjfpD%Y`I2gUTd1*S?t);V`>^Opn_En{58_G1m2A|sgW4?nhg1^t*i}J&0P&d=fu8FHX(j@#2|njj6B0dW%|_Jw zs|D@)?+j?yH(>+%Vsr9JE$ii&0TkR8kSjD2jd>@yI)i>x2n9_7c1qpkkF7r^>C%wc6D~`7?3tI$QUMN<#FlT~4qV8yLAu&xRKM&wIf*>u9x^CF6 z#%GhhO5vh?($)HcDuRXlD!eY%`(?29n95lWqHN$T?=M*Z{>6MP{&+0_iA}=Wfc<<> zVgLGw{n$VTYe9Qn0sC?44`TmBHAP0pMWm%+%7}{$^0EjK-G_Gws*od@zijc3H86Db zS+jtsHDNVS!^?Iq!&q#Tl4sJW5Nl1SrtUS>T(2|r?7Y=m?^09QSu5jaF(yNx?>wH4 zy&uU^GfuNF=Y^afB~j^Vll>q^g)H`44U<#RB^4qDCEJjs`T z+@8PgA#cRiI4`c5hx5tEfnEw2|6;0GA;vYnDhC2x8XO4g2MAqrAgq;wp3ruvJinX+ zF+H3DtTUJ^4n&M~%_`|{#VSFan9<^b1=mvbMFT|@Hbx1dL0i-)0VC6XLWmYL+szjG zCVPb8+Bt>Y@ES_tq}$@RFlsf8nY=$}heTu4CQZ+cWPOAednt~5L+Nxq*TPfI zb+P5cj0xQgo^;Q!g-74Xe`@=w=&xePJf2}z6>E{|;j~c>rW;#f$r{5PQroo&hx3_1 zFp49vNbVdpS~qI$=Pt&Fp13LXRBkfg#$sAzYQuJ)6PV@g5;%mGw-GZ-(1vtF+VF`u zv#O2pZUC@}4HsJ&jcD-&87H_tFV76u=VT4zdZ7h=a(xDibog$A@8h{aIKc8ZsE;;J zaC+ZI=*{vzZm8ivz=Qg@!Qil=>f^=$hYN#k5T3|^)%TFLLOqOaOsv$#MBN5vRkbl; zZA?^cY>IH03gg=B$3?WKP||jD(#(r#u~}`7s?CeB&CM&dxw&qWHK8^)TbrA!Hn)Uv zy)@VcGU$}rFh+;~>R~svQX4Vr3iHeBYGcaUn5x>Cj^mmMB24>v2KY)#g@fb8FS+wlJ>CgKfN?7BgzYFziZfV`il`X6iPO2h_%lwJ}q* zah*YDu5iyDByDDH37z^b|8h~p;AN}@47H&8cD`MfNJciBH&A;-Q$#=Nzl0J62ZV0#D3AuAS6eem?kED6zrLLQm7(8n@!D54_vK2TTjucJe(QT($WTFAV2@ zLzN}@Uf<&B!4}z6Fs~N3>Ltv|o?gta)Z%>IA`3|CYTjC$uUh=5wRlf)F4 zSlfhKvk`f>shyWv`957=Y~}mG-jC6-ShT$x?8E4YUlpqCR<+|>E+x_cqxmUV;7yF|IL7) zo!=7B|GxazMz?Mb-MZz_c;Rk}-MTfObvNZZ)HNu<&AxlL(w%%(HTr+%l_++`)2L>H z)8aPiKGg$vW=zR%A1HlIPmO2<&g9fRSZm2VNie`L0U>6aWFvQ0ZkAkNesbsagq)m8lQCsA~X&N zl~$Ujuh=vltfuLWI8AThCK;Hf19@o(^+@sYXAjQDZqBNk6)`l>I!^`f2wlVl*63a& zf_EGm-|0S1_dwi_<0m_sA95eh4>K5%?AiQId^J1VA>q^xDVsM(`a9=t7X95B@ncTE z&*evSna%GqIPElSDbxWsL*sUAftpnY~?n#^k;XYBe#c+%&gdv+YgO@(A^z7a(A;Mw_jUF6i74X?!;il;<$qwrng`!_9T05 zO7=jjKA~hAU3Ww-gs!_w&V{bKTV8~&mdcEOn&NV+BEz~`HCWH|)Z=oq>|k9jFS+%3 zO59;BB@8hvO32CO7Wl*UwN`#u*H>HM2iI3x`CYp9@=xf}0q3|}YUTIn`f@A(q^HV# z;5bBW2b27}fMZ)hQF3(Ztx5gCr8_ea3ro0d{$1Ag;{jD6WxGLDNLjc14?ZvDZhd+J z&~UlZ%0H#u3a_{Fdu?j8XgZ>6`FArt4FtJ4|L#h306#tm7@DF30ll|BdvGeQ#}9hh zA+-2Gt6G9nCpYw?<&&r{jq0Q11pduC=3W$L%-wF3GfGY}{$QTr{EkH2=_B$*wsQ$l z3_I7QpMQ_LO~S>j! zq7saBL}sZR*O~UuUbhe9GS`_KF~)J-whz&n>sB*HCvJKlrXQZC@HXnYg~%pdH)|6a z*G>Dh=@Kp7HeDue<38>1Oxy{A3_;y!HQO^N%^K7<&acbiK!aUV2yYU1|X z*m^_dH)zXP;y$3wW%jh6%k{ErC2mf}z{KrRuxtV&W)UTByB3i>IWBv(CKC5IEI8E7 zTS#K!KDtklYKhx#UZuqCGuLV2?lE^#;y!79+QfZaag>R>xLa;)-RGa~<#MBP7AEdvN=j%?cW}8Az^d)TH?k_Zvi9*CCtCdY zjT83?E$ze|ve;60?@cTW9=~fJ>n#y!=yUnhjVv3kkcd+P5>(-&t~@X33MF`)3sm9+ zm+!u@^%$#mAv-#2mI!tSEX}zyTJ67D`b)OzFB?|54NuQ%}n*n z#TUP>;4;}+5-dipsD2qd@e49p{j&NuOM9@V`ex}byI1|?!>j%>U;VPQ2eYgGa`URc ztp3gFBi*@bZP)V4AVlFmtJKzsv(QbtcapDw-9Ksn(vwV4ixoZBday8yB6knu$k-*B zzw+D3(wn6JlDPA%-s%OY8pbhM|sG)jCg92@sU{DfO6bM4k#?Y!$6CQA!3L zUTPJYJ=C;b@5O&~%4?(ME^GUplF)eVA!pB~*seY4l=2049P3Y3E?iEI>+xc8{80*M z#L}d+b$5b|`JYi5A%-$!yH?u9N^I9kTf0`;)PO{w%^yg=L)W@%B~$Hj*9zzBBu7=i zy60$E#EOA!D{M9!+_s{9^)RmiRxKA|x+^=eWZMcw3+d8*D``o{#6k*0xSrrrZ(I?r zNwuff`c$%`gFPLWYzkqryS+JczQFcPHW+VyX8&cX?4*EVIL`o7hQ5KAiPOg#dd#J9 z1I)veg#52h)4U=$PIFa+2c)m+mb#~Ifkw)Kb%r}Ps<`%4xq$Aa0gM@bQj|T8Vj`t* zUjO&8pPj;jx;$JhPe{*iVnYz z$i=_uiCcXsPqGD?R^*<^i4@+FJy4Qq|WTxzXns8GD!BpX}d|F$MVS(mWuq#Gm zoyP!`ISUl|i~pthHd~ftZeSIai}u1IFZi++k{)$)t^)>WL6rr|`A?K;(bi_f{bAix-BdnN>DluT63q2-pHEQB8SApc8N@@L};9 zL@6yFaD{a2Aj57ge{E&QeBS}bp$ah`0GB1JcfLjotMZ($GGx#PPwiQ<8R2Y_&5S^c z3cYgqqBa6S36wYh+L$_WIY9;ZjRo&Xm^u~qnTm?~0J(9d2f(T8#3L{64eyj1864i)<<;yBq}bnxKN zQ7rp1Po4p|b{-ij@|Q`ex>+M!BV4e>9xBaB?6+7}>tXpVZ4;r@JX^j8?EVGzk7 z2Ju-KftiH4P7uf+q9>MPhgChqPR0j$US(*8@nTi1N;r%k<(k1!qH4{l0b$p>94u7p zS_doA+A5z~HZq9HQzU-yYsmFPQjOwma6)XkeTuG;!XZ&fBZWlFJ6|S$9`(jIJv}~+ zqAaR)hH6D(ZE+nCNnq9M3kFN50f?sMct`p7zw%29P*6b0cY<(runmCLo9`9AeUC-o z27DRmHNzJI|7#{5j2VRv$+LwwGh*1lRea3D^igS&nh-HM-f$6LxhHe3m4$FEt!H>o zrHc*7)BoK#=h0D*O=74z%vzj_P_ut2GQ-A-;nTB?cnBV&A9L`f^Mfx%N95p3&kep5 zJ%@uYT^xKVy8Z@VdU^1r=&Kui>D9rPE~hJj;L6}ja&ie?vjc$H9ZKg1O81A-TLwy_ z7iX|9R|lJkZkWNBzBTyL$%qaEb9Sn+w}p;ISI1yYXW~m5%aJ_w^Lvk^AaP%$WJ)CL zYgc4}fd8%Kz@c;@R>Rvoo?6}^N}n2hX$~?dD<5msEPTAN+Y;w+GjF*UCB5^r8(Av~ zlGqEi>X zK5mCjoNCMuk3M3En`Xoik3PbPn`VR&k3JfSn`Z{=dCpW<%AX%B_dzn0zZlB}iA&_B z@YC@M87|e~5jOgSZ2CifTjnxEA8OF4AtV#zuVG2m!$GR1ULS)sGBEO2W6xfTJ@73n zV$`PP^;oW+y;=2)JpsOFv0F56XDss<`R^|>rk^6Ah*8kr6CU{B-4%Lv)mn=^18K#j zT$RHM49D#OQLMX8(Y-3-dS58j{R4JR9ybsA?r|`p^y>agMwo}pM6d)fy!`z()$@k48?rVHE=m27+#=q1rhRO3|+e4(0H{gj73122BQmG$-sOm|WWstBAUH z8b0CrW7Y7nmudLS?b{6>;~J+OAr;c~4voHJs+@klr4VU#A+ORxrj`1I2XB-D&)mdJ|eXGv4zlnj6yLX-V0 z19-@p@JFqVmakZowznDR(HSUSi%q+h?;mJTnR)6o;iMu0A$6<)<0BolauEP~Ao!xy z5;viApe3NeI4$ryeQM?mH$;pZ8$ipL-4xS)TkCC6)H&(?az+C2s7#9#sM|{aN`1_M z6n37)`MDgEZA5*?WQG^o+XDpTWvq#fznZd0Y-C#mD~aEO$Xjn^99r@f>NR!yPYAKf zBC(_CV?dbLNK!wmUrNbKjlo=?K1+MBj*)Uh9i!JA*Q8O<+5+(XoWSz(z= z);N-Kxgo7CgEDQ+xiun)+|63r2Dc^#tjoYH;RrIIv?49GkFcK`c=4{8-t8;xkRYw# zV?J+Y-_H<@Xk%zTZY$Od;g$+~ta0*mHKm{r3x z9pv3LNC&9irB?(;6yE*DUH^54^mqH7Oy)^7&<~%!&fh1>Wrl-MLmfaxzkARd$Lh|MEra z-H$%GAQp3Gl;yZx0uCqA;fc%q`+#8vGbA(M_d_sV(FHPtv8t5nOgYe4qF{jZn7^I!-SPi@?*{#wp>tGw9*zGVqnruFRY*mxK_I!|hI*&j9#njIRCRpCqGyf5z4TIa+;}XR30TrJahdzm$c;ZGV%VV4 zUL|QC&H@BqTEYD(_IOQ6`w#+a_os(91t&QQcDef#wQkV;sd2HMm$^U5+IQ~~_a{a7 zFZF(cs#TsoO8^Gh74;R?m~ij2X=ml4)`7*HY8I3k=?HJu*-f=7R4Riyf0smV_%qK4>BJVB! zvYX3=D=Z*|%_w6Z7_6;!*6>~{VLh5NMsKo{Cg$-2$t^u6m;t%46t6W=(Th>8@%UmW z1U`16yvX`%m_MVJAuE58PrYyTCG{&hQ&=Wd$OMAbHMuGON7uoOYP)cH#0z|&-i1>i zmk@+QD3j@prhTF}2Gh3=czA#Rshw!ElNc)OZNZ!oMpHd3u;WK9x?vMam*ff@4niq3 z8j*U)}(uTR_I2G2~@H=bN z2C5XHdhD19ZOx%v%5q4rISNi9xgm*)bLU}*7jkiJT!<0Y!bE%+^~2V4f>A0 zkqObHaZZ1fB%~uyk&V`h;;ofvpnl(5tcx8PCZ%_?BSwbKvSp~zp-Fg;KD%ed4zV}6 z*7Vu#^*Y;z6A~RYhXQ9X*>5jrZIp--!`rAb<`|Ir8zP zuERl$>?YjoMw9@FC!3=+LM9>%F;R$DkPuTBc3BS0)?>wV>{riC5A+M9%;j>A{d#1@ ze!DPkxA8FPA*o50U&@r|Wt6PT8+XDJLzGCOL9UAYutr2Kj zSLocf_tH6b#aV~>dGSLa&! z4z2aYR=!i$z4`S9ty!B&`OWRubYL#yR)jh2OJZl1NWqBPZe1j^t1SR+%39+{_j)4az_3BazrUnX>695TGfydti#D)IvMoqf3(eKx;o?9}3W5qwq=- z_Mt=LTb%5gMyYo=Ozd+v4U2I<`eU+Mj<|mwx^cU3z}kQAfLu0Eh49 zM?*JXT)CScJv2V!=3_VKo8A2AwRRJ~51Wr>o+vzC%?PimDS|*%Q?oDh1(y*Up(_d+ zr)J-w@ol!@h~SbYuQ8Xz56P6Xp9sry$#`Q3AGJezPu}{1#o>`K>-H z+ikSTb3bY+M3Bq%aC?Mi?rs+}s~u7~4RK1Z^N3Eab9MoN?0hsiFuM`gA-M&w-)_^Z zS8bMWR~>Y9)^lVqeKn3;CmbLKAB*8lQX0glafPjQ`*>#f7)XhErWVDc!%YNQ+yn8*mD?Pl;1>;$DeDc>6kS>pGj?ri;t>>oSv@{bVXH^)$(L zDK5{n@{j9!zLnomA(r1yamZ$&LaJNxL)DsRKgF!}Q#95*9>JS!KZVEHSx*bYeu`PE zTDZ{3ZwfezGqK6_BOI)3%YLe;rcu(T%Y)($GEToLwgT+dYH>5zxRM$77zNT z2e`1OLVFK3`n?A{-NzIAKeYFNZ6EjeC+$7h5jK&q>10uZ3mYi5+gVe#kz!FD;rX1d zAFyM&Y`X<2s_n42pz8+(<3xKiWT0ishHdrukSW6U{DR(M&qap|doFrhKH|45u-{`p zPwc?BsCPa}yo|0qzoaW$C0^E*ofwzG^DDZtcj8rDS>>;V=gYd@5q8IXJnU{^!M~+) z_F=rKE6-PTg#x^xDskcikt?j-1@?QE@Z#))6t}<%>_fjqzO^QDJ|OCDMs>63xnDm>eEz*@j32 zSNVN=6q}`;Z=i4;e;A->9g)60`4kDo9V%bpXh`%Mr8w0simA?fx7tqPgsiH2yp{|^ zhV`#(2jR_5r6OB0;$p#8G4+p~VHl9`JsJ72>drQ+JA(~PegaJEsS=m=2_xpxBZQdp zBV=tEGY`UslHKNvWFw4mlR8E@1a{0$$W!to?;Xgej5nZhLYgScH#@S=%KRqw5K?b# zVvC%Je>gzindw}o%3G3Hrl~gEZ>DB~l9d3)JO&#Tweh$N!DMCxOjjGWc79n%^G#j1 z$(jyaVTcDTrqD^i82i$*mgw9DIK`yj70mRE$rxm*!*t6ovCU+n44uJ=AxLP)9(h-B z0U%BjBTVUB>mg2qq)XgASYX+Jg_Cqw-U$N+9wpbc#H*VbqvF~(Gt&i-VH~8mlsN@g z>zvP<#N9mHkIUYCT9?^;hL%Z=vlXy+$<_gube*p%1Ew9fHSalgvHIrJtN~5%R5D?8 ziyeU+!_*v!CH2E4Csx^0>Qy2hY&ab^P4+zp|1F2{IBeUKXgjV)#0Q!7ZOQ||wBIKb z(9?eAu}9Ft(E`?XzfYb!Cj8Zgc%jMTN9jNToBVzrd)6KKauk1$nr1;bHXxbe7NQ_URN^mFuaHn&=e9&V@g?Sb2%~iKyMR2-HAbZX)veDW51{r$BDw z(>^j+!D@viNjnp&B7%Qe&TlNp-d)7hdg&L@L3R1;d8~hfne1J@b4qllTeeYHof^yJMYnYa56O1Me;Q<0+N8bLscKoy0Y1oy#I zkdh04t@3^w0h@|OYom*VV~8&HeD5dyG}KLBS=uy|z|X=ufr673eME?#1+5_VVc>>? z36N>o=0cpqHAua3pi)FK+KT$m%9#W}j^@`fiB^BU0WXNseQ)8abl>AZT@Jx*j-*Dc z!EH?Hq*#{zMXJOoyf@WtkgeDj>^7XC(0gxVg`%Y_sOzLqCe)==_%fRoRMoXQw`f^o z*26^`NPN#bYuB-`a4{Re66O4c5~w}@Rz+VSPc?bPu07^=%y;A?7I7W1oZrg93lIi* zpf5wdt|4=Z2e}uw3SG=v(?(UKXa+JmY&Pj}pUVpa?m? zjrD=e8^8THA`Ixt6wjZe7(jAV&MKw(Ycv$~#T{r^6T_O29-doN$K*ikFa`l`^JP!j)f)5!sx28wo5%KQjg`c}_AQ8N4M&Usq?0 z^q(o3PI4af%PX`%!!pn}N%o6IEvgK$ngjuVlXa=1{rj?Apw`NE5s20%$uS0vfnFGA zkd2r{z6k@i$FSwH6=Wz%0Qi~%-PVZp!zRN3b zpe}+^sC=Eoi**djw_)PNI+JV)u!4O-tQ!`PO6F+LQ&i}n)@Mig#|&FlZ0HjrQPipB$tgW zNiYnhkC=zI77`KI?5}vm%nO;O>m!W5`=i-%}48LDLpCHfZD;aM7+0{pT*AWezsM(KG^YZnb1=zEE9c3CR!xqPNe z)oNKQ7reZsu?B8AS}g&%h@CP)hLqhhaZ>3m!nLq=tw0KzAQI-wNLHY3$>D1mZ?W0;_^n=8r%YH0L6B(2tuIngB|083QN8U|UBElYn|9|h#8 zR+apeE{M{t7w&qZ)u2`}_bDQf+)j9*HhQ5Hk2<5D4ipPM@i*J)cr=hSLl`YISFyK+ z1$VX!!ke|;lRe2Twu^+Zvw#Zuvh0|6?6pQA0LDmI5IzJ#UjS)LEigav-4WeO?l1*b z+pqJsh-yX!GFtZ+VeuGoC7u&-E#5n(OCM`+1~KrTt3LlGP_~GvDWfaA11S>1C_G`* z&YT-L#2aiNKmy*A=#ZCjUGPndqp81y_l_XG^EB?(5EJ-|S}7cizU8iR=&?t2ORCz5 z6^a3hc&*wD2}c_QI?^Y8A6rJftJB6Msu~DD0Sr*|+&HVo=cRmGKZt+8+90g41rQHF z5{kwsZ9c3T|B&OZ1HR0K|R&nfo?En>hKk{mb6gZgs_A6JV$D+$l2q*GmdGxYGzE0c_*Z34<_i=CZsyVD6>+6h3H`q(w1rGdld#|X zbV+{T-CeDDJRQtK-5WfyW1Obkq8AoAG^C$G$dK|M)TTj(U2VG|*d}9L`;Z~vBWVRK zQqqb&34Oq~|MoZk;cq6N!VJT3aoVDFRn8*G6h#aW0{uqHU#eo=T99{wczUi2B**e$ zzs%(!X(^gbF}>lyb|9dQ`2>iQe+thHW0VpspzsHHJS%wETw7rc4L~Gl0GAM{JtTZ+ z?6smU4Iymf_A#OAkgWv9W86PrPZSeERTT##myPK)!h8dP&i`!}7C&YAwXy#iynXnT zHbXZ+6rn?&0uu7lwGcjKfEK)QJqg}`9js&U1U_m&CNBvA=p;XZgiIE3oW~HF!@2A!)6Yf}|WYbz{@5Ox@3X7%gPuaG{;xUC= z+rtD}*Jz)pX~YFg*uC|1)>>V=LaVJ$65X{@s~<{|n`xDkClw;yLc>dZnqdgA^@5c5 zWp<6dAl}G?bn8Zcg>IyuB$4&obYrZ1A~Xwp>CLqb{?Pc^y4f|$n^n-^N{v=ym5eNi zkI*Pu;Wa^=$gjFl?O!mnzs)yfO_SuAVbQw_l@erufCQsWNZyR8!s8LMD&EOFvI%od zUF*0X3VDPo^l`*-))SdF(8sk6M@WZoteQCGi($FG9s0D?EatNbHCsMoi!%}aU1NKaUlkkEhT+x$m*^M(;btN^^f_^@R3Zr(G*kWfJonEd z8gctV{oV`Jdt~0U_b&3@Mc%Uq63$Vq+#ruyeo1Q7<4bycsTFyV>U=yjUA~D)I#bEX zv>>!XW=!pBK)&Jrgze*yLlG^gT#)*~>TeeepY5Y=Sg|r3#f3Bh%iw+Zm?bDpjzATL zMKp%t#YDtdi2LIORO2z&LZaZBo-Q3U7{1dnOZq$~^a@KqT|QB)^#(t;E>8d#;HZE?d(-MQTwQtQ<&HOF4?YEKd<*@RS`akUo^MD%QP_+{AQ`s6e*R*IAdRM>+z2>8`oHIgK#n^K zyV}%w>a2$LGl5u9U-_yH*34<$r2EGs?9biK&kJmx>KrTDwFK1y+Wz>_c6nh~n9wd? zZ^<|z`Pw9wmf`Y3O4c-lv_*x8QS{XoC<1yTno>BVID1s`#THT$S0dL@bxIiU3msiS z?{K{kuIITTu`ME|pXF9M-_zlz)8Tq5To=OiEwYA5{CQJXWavHNmuo6fkD2c2l&gy z@Zu`C+XHg$1TMBaa10-jcmC_P#zXrdTx=vl>s~##O9^J?drU%SEoW)AE zD(YhalcLI-yLs{XVWbYO7fjXX2=~huS!q8fI9Xqw8%E9&?4&G+SYXPKQZ2up^)2>H zIR@0AroEno&_ky#Yt@Bh@GWi-Wn5+p+(E|TFKyOu;5jR7<{pVM&R5d3%3I1#q+!3_ zffKz-wcr86Q2)35blcPo6Bo|xC6yvh!Dz0XgI>8u*+j8)?VA#;JqMozr?E#s@(%uQ zzxBo6{N*ox=^uTKb3CCu2mj#z{E^ST{KaQ~W5_6I`P|=uG~=yWar)ba_CfXm}%e8LH*e=1l= zi_wYJNCH7iL9h`-YOLtrcXT2fPKW8X3h-OTX3%bAh12gzD}_05c9A#O!6PJnue}S1 z!7&LJ@xP4;&8pv^5P4V9wYKdD0H99y;O(D3ICe1UKl7u0A*xOJs7K4uPlmNc>{mwj zV8c`T(=U2_^gYP?p>i1+SeB#D7Ttr%_o41}e-Pa4eeVw-e8|sDU)J1BVorK2cHS9J z)e#+k%gVO>mFNsWiMjubk|*e&!~jcyF)9?vNA&Tin4n_N7?KtdypTn@e2*nXoq>Ih zEF3f2!kFQQEreN%(#IP{B?67`t zhF#g=<9e8_A3l`M;U~$CA39!)SOhPdT+7S<>f!$v^jh&fm|q4uH+WyIObT-Ll*N6Ah2u*3XM{$YcO$DDr1K zkzdpHivl7)AgIL&;Tu&d0p^?fcnbueOr@A3vq2b8_Q8jdL4Q!W_y-q}Rf_VNKja!s zEJ9SRP0%qejIna`Zp@ki_qzwjo^WH&K92oFt5JDwECa1R)Ivj=8u*%JbvKyP{Cf1+ zAJn`08ebFMNmh}qQ?n5|Gi7AfL# zSfsMqH~(4kkcuv|_{Ym=0Yt}!mY4tNH8Xt3=23nS$nwsF2(4i{*cUPRUP|g5$Dp0% zI35l;j_qwj7S;!-%*%#9#8xO*iYCxoky%&T{)b9W4lUFPF8AgWYA#Y_?<6srD&!Hd z1yw*6Zcji|D~uV| zVTu)68@7CB(Hb|7(3*8Cw6;}rZD<`-g2Rj(Pmk8$GPGXeIDzi;&ugk>ECaFS9x~Y& z#3uXi0P4btJ?iR&VD7Q$T7DGpSE!3?Z~%3cImODO3j*oWAJTf^OUqCflq8N5!E_bW z1*Hvj5pWH4sp%b2cj$dXT_X!}gse;hQ7cF_z7n#0CuyKjz56j_G?9hf;z#+oBBC@pY4Nn7?WQ&S45H@DnqTrckCB-LMtt&UMiu3o819-Mq^gic$Kgja_ z%=ZOK^$&!;Ccq-qNV_nm!42r?=_8`Uy+}(E8AVOr$4(v8eoXrhed}QQc!4z;dNd6u zl_34?be8#ezo?8cUon)0&yoP{KPzV7b$f!s;l{z?r zz!x+-T5R|5!o6SOYdjcbb%*OV#^@O=|Fuk@UL1dqE*$;AyxRZLO-F@fLz0pdmXq85s8m5Pgf zKlk!Nf?9kxhaNDen8o4DZV7IyJRnLy-VQW3^T1pzdRrc`A4s3q1}j8TsZ zDg*wW@{*deP&H;n6)EznRc?Z>;x6N^!`)tA`9No}|LMo_EC0}s;02Q>nfZ44#S7n9 zHd>|eY{^^|)&`HlwqN}0pPxGSXTSdsn0X=FPyXT0{FC4Q?H~Hpk1(L_q^6y%<83aN zzhd1?y8kgvv*-}3Gj-8Z!wt<*`M3Txm{N}03^6|q7=i*VDYoN!|E5G>0G9*?2J-or zG!VkCFkhCxqRH(4ipC_M?@7iBzTK1biuR*<3N|pC61Up8A55!L{8*93X*Xmk|6Q0y zp~{kum^y5|ebL~TuGCwAS#L6D64T?|TNA6=$qTzD0dpQJlJcoP|APe!j-*#_{fBtJ zyw&b*AnNF(eaHD)@!hbj$}4q2(j^4#Uy7~?p&2k|mc>A*A;at8K}*k2Sjxm_N^X&T zUs77V_{+)ghK0-XvoH+NPC-%jglnkjp7@QQ|LK4B3qSK?-+bXS-aYZVU;3RN`thIq zcPIZI&)`aVruI*O%OVI%W7UQtc_`a7zNjgEhcS(;JSJJG#V)UPOz_aZ(lLRX$-ySP zw3eFi3XAE5*I5~UL5YTTui?APt+W-_8xefNe)+D36W0bmDInUhXyVPBf0~7%l4e^D zu3>fq_WzIQ;gXEjt95R2Ig0S%{?z;2H6+LuApqz*qzjSUEX(5SKFvl7t^3Q7V&I z5F<;j6(PT#)fDX#(b4TDh*@}07DNSGgG5&}hDV0%%J4?Wfp|mE90{te3~ySdkSTfx zN=AD!uGDBxp63>G@*F?9eJ$r-o$?p0Pq}F|S#S&nUxgzh-1dkX;nE@Sfs2wmMJ)I|b?#qsnSc;pm59%dGqWhL>q zUH%J9B`a8OX&-~TpSSLk6%&NP)mF?BmwTk5*v6nZP{eT7AF;)n1iah|4Y#LRuDC3P*jCLe6R}6l~UDv*1a0b5j6~h+Cdd1MYffY0Iu2&2*mmF*?Tv5Bm z!VSdkwI#%EiZx_>Q;Hw_GwyQpg2>xdM?&$+C$AOS3Nj2r1Rf$X{Ysp`Lbfk+ticzB zhUPGAmCn>rWjlx7DvI6Eu~nXa$%`}o2jmbfiF>#pryp@Gt;7RdgvX0Sp0JTXU$TjS z8|@D8qS+L8NXW=MCOx3dS=LpPaw>duN%wcsA%(Z4L}OR9d;y1i9EZ@KfgtE;Jh+el zlG7o~cRYl2q2z?AMu^Y;%jKHmY{i&=6iWD86bzMPcTLNrlpVa~heZw!_V2@Qlxg>6 zcCdX)Rm!Uk#pSp5sgu}p*g4`l(@X+N0?X{FU;D-a@(2xJ`AUzLPo{j59zE87^`w?F zE0}1dC^f?6`E?;JU;8=$?1xQ_ zrknG0fk@iG5g-Pr|97+wcsyoLj7(>lc!C`gBF}&^@g66vEbO?{*^}AY0@kg<2uTcNQE~0v$!ZvL0da!>AiMjTJ~aY*?3%D%8o)Y zwQ;k2ofn9U7NgNEr5k`4sbaM8CEui(Sp6U4pJKe5^O5WTZ*R#oZ!pR`pu~M8!X-iq zL@%=PGcF?l;Eo>1?aP!%O#8^R|4>mB`LvxGVu?z(DBx+U7YJ5w{QdYvM6y$mvw*{r zuY;dR({ZGF`SljFulr3*WyvucCSaV-jM-`>22k^)H|51XW>e|nNFtj{fa%fcQX4pee zKKri;I&Ha46WPYBy|F7G=*?RoS$6u%XnFc~FD}TnY?}m0YPztX6Pm%d-X8E#Dh@dU z#&^>>rxHf{RaCI!;~$_41Y8J%41aih5mVYra-tHOLy*AOJK-$famrwzFW1<+;&maPH!XP zRzB;Bd^<09v}dBc_3-!x3iO+sQNf-&$rd=R6*sFSgtpy$hy8GvN5g8j!_5v(+Uu#2 zjGY?L)znYi8)~N$0d;P?O4^bn1-|1#C@8{R6v@!jKaQu36 zN46cw<`#m8_&CM0ih^k?72U&J3Z-e_q63OZ?Q~nktB2iwipJ9|$(mqJajzdSiT;o%plf^moXAR9onmnHlz2?FN$9VzF*j<5 zR&kd2uyBHLN>Ad4oC zYYU#0=TIFn;1DM05C{rz4lzKh$gvBE2R9^A0U0jj+aiu zD)McD0X^7e34A=7>`n-;F}s)B1|cTF(Wv72^6iqO;02S zbG!1K9z*M#6U>}ortTnU!9ReS<^vH&6Sf_$qU}{(x6^!bO~^1Bczr(?Z{Fq-p{B`4 z9(OKf9zAHP@J*$@0CwW z0+CIM?H9|>d;*z4Kj3VSKZKdx9%puY`Mc)8uclT81bu@a-M+E;rN%J7ZhLtZr*>LT zuLiqQ4VkRz6k{$)(v3c)IMLL>aW1Am8EfPLyUwYc7EXuq7a$RmooENHStMpF5UQ0OAQnlsZ~u)jBCP z4vEeHXcTKv>JMMDGe<-w!MgUOSa!jp7dm_)_7HeDW!xoLoVS=jJEM^4?8Wt3+wkF$ zWr~oiwG$1dj3I`#Q8oCgevF1KA5^FLg^)B1$cE9^xk6I6kqxB@SZ0SGjkb3>$TEKc zkxw0cURR!vjl*z|V?9HV~mg08GBN$;8md5J5T|d^02pXqWW_ z*5OtG9^hr@6vI;2(5ksWh|yh81VMkO{Tz5F7Rwh>4Kck68=ZD@j(Vn<0P&IJ z&i+XOn9*ysXYgw@Fdx-E>Zd};39wl8m`@DZ>TYRYl3|O@l9bYoVsbRDA9PfaQEGZn zPgzB&?Mtiz)dcE&BiMSsF@gTbBi|D1JH9W{bJ_^DHLMmZgyBJ_bydiuA7!tw?)ZLH zBueElj@Yk?PpI6w6y=!`6l+B2( zR@NTMATV_AxfE4%ull~pfS+RSpqNy9BT7c`V_*3CLQ>9^7e6m)@aLEn+;7ZNUXCCo zmFT#SmA`^ffn>ZkHosEPU3sS_as=2W=xlFFuhxr(4B|~$|8rqwX;J#QKm_Rju$3yW zl`Yr)=k-iS5pvq)tAK=|D>HlqpIdA5@oKtyvmhcekY|ag7@p)CwU9QTB$lH}Mn{cE zlxF(kZ8;s(_43RU_KUXoLD7I#CRrfbv#LD7LU#!jkrbNsLqi*_1`2lgLE+Gh1I4bQ zQSn!hkI^_qw61YD!2<{IWxan)LMUdtnd_#ZQ$5@@-M=OgNNqR8Gxz1fORZ#`Y zDcA9hg(~El6oZj^s=cbi9wsr8u8Fa0vKw%k!0ZMlP*4&vW;!Iw5Pz|Oc zMKMD>(M+JPI8BA=D>|u|he}`JmmUT<>cDUyeMMhfS+1|x#A2u{&$slwH!^g}XY9#W zEt8WQ<&PAIwm+m?41^GXf*oKc-$-)F)cC4%2cy=@^~Ems%-R@;HdRcI?^fY}B_d!yJL2+sRrq8U)Ipg+QPt1;ig&SX~Wc_ z9y+%x4&A`3AH&e~$u$pMai7bFF31;t@T%QUfw2ML>T}>3^+i~bptS>J<64O*8Wd(& zsen>dwuM6hOqVs8nDuWmF;rnziKj0}KsE>8obvH`;l+P#hh((NInjN%c>fEc_a2D_ zP!dj>4Hr@%Ic}*OOLw1^Qo)t;45b9=%CWqtXWloRS>N$Y z3Bn>LrDWi&=UaZq;E>y(hEAbxbDE6rhs4TSd@|3Ng%|Lhbv5)5uh}kOrw=Fnhk{?@ z!%H3^IKn5`HB?~oDpC(Op^ji+AcWKT0;YMFEX9b+x#9kS`;B^JR_Cnxc*SXHa`0D7)fdSghAI$2&e0XV-- zSPSibu-Ksm%iROTb#8~Zj?B92^6e(JZ7&M5i}2)(gxgH{hx043G8icD9q@dNyIYp9 zv0&z0k(04RmXq`CZkFUYw(P|lT38UdVq`Ji>SnbtccM46yM{ZEhI5|V(n%gx>m)yg zPIC9{cTzw?08nqRAJQG*0ALeW!F0R2N1v|q9n?>u3#sl_>w<ukK&MeCOdTBDfR5bXorzm0GUYM%w|A#HRiB>m~lkGHjf-(aGDLCA~BZWLaywWyUi@Po(0I-y> zDHIX_C}p&^^ASCv$Ll?c?h_fTI8gn1pcwx3KrEy~oBKv|!!LJZIj?5GfP&X>s>`mj zH0-s`mnK1PKp1m7 z7XIqCPmCrh7K854@CZIhq9CY$2=laVf#4?Ray2<32N`OiF41i8;tw~>1{&{`j3^SW zmovUG3*tju;NcH)fx$n(B1kIZs8`Qdup4wLbs8q(nH_rVaIhOlvVoHE7YOi|cl!Ue zSEhw`+b~7=1fa+kX1)A=-F*?D^ z-@uKqNsQ9{r&J#mv5p*Kf`pF3;ELGsBi2?%LzJJkCK^Y(8%P63#DD=YLPxL7v*$n0 zgn4=5AokK=pNH)PSwr&61-(-_GdZl_&T+yXyk!OMY+4We8PVSuvUJnY$huc`07He| z)+>A28V!zoqCA4!HPVwAg4PF>{Ar%OnlExk8gPPI!l6j1rU2C13zSXu9jmuV-K7e9ZU{0KiIGRI zu|3IGTJpvxj$4A5-0^bg({AH&{G!<76kH_7X!VhI{Mu}Jd2dM$fYExkWX@CjChr+l zFwKZLkY*&sU{TjGGJDAs4a{c?etb<2nI40FcUiijguizATI*>4ztL)BwpfdJ`vcY@ z2@0K_f&^A5b}~assex3^hpuTahGT8-;(N*AmPN{1XpnU&a;i-`F-~!nB6m_($=If_ z(U->is_r#5W#Q={7dmsEWpvS$98WH-+n#{7bj?D>q-@$?r#^Wf0A@+is9J+G+d~$UC;hL&kIb?sNypN=i@JvN zNq(KHhZgrdPL8Cjs=LmeWJsqCyRSnneexuf(h&KgT~~P059^mYdlCiJbYyMltJWWCuo}B+lvAPfhvvOJ_Pix#*8GOpdaL0ls z1yjzv)--J#kbN+i`v|WUTXNbKbG8MRjCu-9*(hR^`KbBHP8?yu%UoiZgp9;f(*N9+HHnaoo-rueRtpzk$g6Fn(*SDN zz_uiz2$cmMNTf89!WiK4iTmk+(P}zzfyk5$^o`C&`vvQY2-rXwf@6mJutM_8etjJ| zCD3sE6|4q2l@W)`6&FM9e_YJ`=nxM)a#4wN(|}~rz7mq?HzL1ty%o+2X)><4nx~30 z+9?DqHpw#fMAag7uagm=M=PA#(JrsH%u-~ObVdblH40``u#m;krGyjrzbJ%pCbjKn zSDz3k9Gf8vtzXOkUQ@U9w`Dj{C(y?fTd|iQU{(<){mP2eSB$Yx@kI6G+UiHsfJOkU z+((>8IDEJ;FyV^B`6k(TyTMknF{WE{JdPmibi}s!4CPfbjsuceuu0gfJK8h9BX0;D zRFd4ut?`z^ac2SlccLn$cR#9SmX#MQ1-qrLLqNx#BT{52QtD^(s7-?vv>tk3$huwW z<`cR`h}AkunOoFe0h43*?VVSQO_Jb~ zcU~tpEQ1J+C}zu&={oGxbQFSMt`Y%kv8BN%>P8?SAOjIrq|KZ$aF?HIX;DHnk!_KH z&AKn~8X`w$yIyLD->=B|VhwPX|H^oJL&kvf~bA z`Uj3b${+q0f7pt=L1tfuMlB+ja0(OIsgZVtNNZ?RDgzMeFkM{QoJwVWPr|1=YWqmR z9+7}v%K)loD4g^Saz`3=h}sICZ5feh%%5gx^T)xZKqTMpa!`4o4U{}nai|aVV|#6z zYE)cD`PNa+7nnGjV4j3mPDF~I_9P5V=7CuBIbh19svg_fxsrzA^dQQi0jdop!HddNGd8x{j9-QraV zcTJrG;a=sJ*!lZD=p5ft^-Z1QEfv%{2a0>pIW))>bq=pG=w}91=^Q+Vq^&k*%XALB zZ&By)F|MyuL0I20(g(gbC|GdXYOqwUGogH`%?CCbY(DyBQcn=Yczha5ibX}4w{%O* z*I7m?(E(^&NZ=x~8&T1z)`E!%^&;$ybB-K~w0*oB{WQxo-{QF@a~uL{j0cJLH*Ia4 z&0VQ84J#6@Z)AWd;4D(p;w)T`4$(<^kC5$IEwU>P?Hizy!Rp3En<;wO;Mi0yTip%& zqLI#m(X^dT+>nt-_NhX0_yD^|G}?_BIK0tr$&T%4v|~IyQH8fL+ASC#S#Go&@w-NfX#o?^> zGccqA4n7;nckAwHw8;Dez>@!H3n>FLnR3_Y7Bg8J_>A*QdFJxP1qvnHm~_y`=8qjg z;2$YD5=Iz_x=aB}8O*`h+_YUlWqWxpV%y1yNA={X+A*kd8JtCV8T_iWT!)rguIoYL zP4=Cmq}nF+eo#^<@-j+lWlJcjV)sSyPKyXaNdsy8`QI1x8-^QRQM8Duwj{e2p{yzB zyEE9dWy=tyyh z@hb84Sjb4h>hXl~Fy6j4r-gU{Dh`U26bMiq@;iAt;}c)YaktdVRweh9wc=WgJ{Sz%5ElM|5-z0ttaDIY;yxf>&$LWxA|+m4)N&IQH^A}wM;l+6SQ z*~}rQbrnC6&Eymhnxxl-Z3KcSgqo65s9qdhd?97Uu1GX8X)&YaxBd{s^*!@l4}^q3 zIY@`m5Z!QUnRgYIXO*}CF_-TxVU5MhmX^-JgkODUikvhSlRLmt!4Nh!KyWm&3!p+A zNp@ZgdtvzI^ktR87hcqrA->RftM!~7Jj-RAyAUh(Ws8*QUi)h#am#MVU+6;rjKp{p zZ}`itfP!A^_B7fe2(pr7Hj6%ZS%@VJH?lj&gVZlGyaEgBq>dX&d?ovRCG)0cvG=(D z<-tn!tEIi6l1xJdwc|+PA7F=en&T71dZ0|}CYIg-hsqA?{6-qLkBjV>ID$D3C7M~9 z^-ee%F3z6pcE$t!47!n}vt=*TGv*&#-7stZ5%D3%biPGL$On>YI(C^bc|rjJQHI3+ z+NVIhMEECQ1kS*aBs;)<{MX!6aX~6?cnM;;r?~qvVl~)he~)(43bBku_T1y+4H^fUF!dsa6w>IJkgMBs6%*{I`WCZaxGrRJj&j@ zL=ub?N{IQy59n2JEus_3gHWmJx?OcAq}7gZ91S(jB&Qz_0L@j#jZQk4NvWdL+W zz{IARX*epwC^*wJ3eMQC7lTm{*H1JGzR42T;I3la^>g)B>g@{{ecqi>5YU4O!DuKE zuGYSgJ}T27v)8n?LB|aB{k|l7f=z1XFE*`&FExyUW+lATC@?GGt7elh(Q5@Op$Rw) zFgH9^Pq(;it)Zy>0k}+?divjUg*g$0%@phX83ipINBnW55q)` zwEq)&8C>${6Ce!L$4;I|cYJ#Y6V`@36ExT@54Lygt$zC&SBj8+v(> z96W6g2AXYIml=tUjUV#;nDfUSQ`J0n8ZLXm1unBJI!=Lj49iApXIyk~9w-|MrDi70 zEv;{Y0HlMd$H;mz>JO$3*0AuJ>xsQUa+Qa^7sDK67E)~-bs(KE!%)S`@6u8V?-?v)~?@4Yg zXh-u*24K!|n{a)Vt+{)eL1b((!vx>vB(}dJ3}%&)T8If|?5^GayS{8!wvZldeK%Fu z&;391d>7L_IxZ}(OQpk01}^mDaF@T-=5SJj8Yyg*BgZ`ec+L*gAO%w=gsJps1g*(_ zx|qntW>ISaq4xW!C;4!X3^l_QXQ!v-^Ee2U&3BgL-9+&a}Y?#ss=M;TaCe5w=fC;ZPnI|0G^92;}%y;P}2`^Fmugc^eqVtv7F3OF&| z5J{E*O+3)%G6~k@6GjVxZ29!Sp?Y9Ca(*U6HT1yzJ~#D_Hh9;5}Ug_6EOG4LqTzd#nL%)E0|HtvkojbA`< zKap%#+t+BJY#pW371qtfS<*hee`1O{YLG)1R}nT_p|0uBH(8Iiu|c7fwce6zR1ks z{n1mae!4AH3RZoSkldIH$9nevFD*&Ntp%F+pf(r>VN^qfA%Ss zBqufaNvwcNav`CnAG#Jl@)qg0Fz%8yMIZ=~Yvy3#k6bvCHkg4@Ja1?^oIlSO7On3; z@V3n|MC;2odf7+oYp1gysd#-%y{eA;2Z+Dw_}CL-EQIbNPKpD`!`nnF3_0_34eJ9u zGD;>N!X!526x5kta`o+Up9tL_vS?CpatM#hxQ~mYIJ+jak-wj9`{V-?> zkSMzq3`c^%gRjfO&4ezwzJOaA+h8OuxEhG%y|(-uy2{;>t_JWK=?>tF)mTKxa^NXF zg~IB*vz&&khw6dO2EjS47z^Y8_;UBKCpn^LMccIm4ydI#HVEiQQu#1O481Km!5);C zkv9jG(LWw*bx36xgxyQou_6mHzoHMITVD|s6RNksE}vbcEEA)D)G21ycbd#s=zgw49*4flffgC0URp-0}-S?oQj|3l#>ul z(?k%5#Gvyrt3|{LFvVI#rDGKqPL-%ZeE}A8DjirnViQ5UfpJ}iDcdp&H#jB%I`K8c z@0z^;z}xOfJSoyGv^z4%Q-!Hme<71n@9r6g+!_R=7S>ub%Jff*sn9a60iG5m9Po|Y zSV;(+YC}XY$c!bDit{*$Ld6?*{WwDnOEsMQ0 zf3A*_)p=el! zN3@5Y;Y`&QGv#zRAV&riR>e$NaV4WFWYZ4iG6`H!(psiXTA~~%R&1u0nw3MTj4f%H zsXS#`#)fT5q7})e8YN{M+UoEBJm=i^-gg%uNKlG14KdvN@!osxInQ~{^Zh*M9B~o8 zowKGYOrM+z)!0j$V$EySoCs1Ob8a!=+r1eRKAy3Lr0jJZk6KbMBS!NrH{mC%6MlL{ zCMk|Y-Zo6O$AnMRtsa}4I*_tq<^N_^<^+9;Q$4()<22@yL1{uQ=CV;dDpyrgVdrie5BJavNFb#Q_<$Tw`bxPPuO?jsC+Q^Q0<^PQ=h?6*&OqB5N^~R}lkRY?xQ@BVlRUm$g7gkE+uJ>R#y02YnD+#oh?Z zFntH2nhgG@%%zKzMFb^UhGKCTy4cv2p|@#N0@Q=}uxMRyli+g)>MN2En`+952&^rX zi)Gm2f0=I+BX{7C4;fWupzUOgUKozY8t<40jy!~boL2Ryc`N2~^@DAQf z2fvY}{aCcVvXO@*6%;MFfS4Jd1{{D;W+58`z@n&btnXoJm(`fqqL_(nH2;SejADV zX9WsTz@p~h*KTR_VcWeDfLN(|{;QyLHUILIK!SIx2V!~#WMP-t-v9<%$&u(K2x(I} zz}TG(qXlt9-POb_h;x*n<0nbFJQ+4DAF+8UcZV_}P5*Ch8DOUiTR}%x7^n?$N6a5yW+*?H`leK*6>^)OPI@Rkx$P$QS7~`6U8rC4DR~! zOUB5nUBJMhDRY+PM~w10aI?a$)GPJ9JJGh20R(fpGaUW0NSRJgzZp}82I$Y;KbDl8 zkBa^GO%^e47*Af5#BGB2DL&el&1nhbpDS`v0z?|#SUNRXEZ%l%GKcYraRFjvk`B*U z%;Yk0t53BA@gjbH0t{+#IGxB#jLxgFLzftmhfU9Caq>KHLv)cQ3L^yxqOH zgTcc(Cld=tc~1%M>$>K7ZD7pdG=g|f{yLbg3|xi{VIKqS0q={;o|rB$Uh!D}gN~m| zL1dZBIXgREL}X!x8%Og+A%md;Xd${bCy`|iAR@AifEVUzK)6+8;no(BWu(>-S^95f zV@AhXZk$VLP3a$!J?U^8}{Fk~gQROaw(B>dWDoj8{Q0Wyf`qpil&WfPYE1vWF zOl@D}7G#y6!U{Awg}sw+*AG)Ug^Q`2(yz!VeZ-RccrA)4y1s{NsQv?VG$4b}Ls_mK zsO4A@l0$mMtvHnJ*QtnN*Fi)9IZj~FWa%77Kxqd7Wf%k$^_(q?nYUi?8<T zC#*Zo$ic(Ouj=PlAWXgD*V9u6lH{;{lmw$8v$2H`cYvIu=i0XOD6 zG#S9c7G?{H>_Z~*{+un8kXvgY4zCM>@3qI2q)5x*WqT&%)-Dc-oq}lJ4$(J6`wwgV zKdkk?kZZlO&06<0enhPAG7DT;W}RzX<3-0w%2lj&*5_5Nb=ZC4!l4^?APmjns1o^p zu_}npXg;yBh||e!DvRKL>tB@y^oF$r^;^pOo&y{MpUPy|B{{zNS4H8zI!B6`6yd)rrK4RsdB?47Hh&sy>by{4ysFRvxh~~xnGg(_CN=&o1 z2p~s+$d}bun5zk9r)7yUk_#`#w#89%?Q||)AgLUI-5VHvQc~%7 zQP7aYIv*@-5_)vqcS~FJ@?e9LWoS+gE(CG&UoGji@Bqz_=a67Dc0-+>rzPixW%iYt zwe+XyTbKPFv)@M$<9pPHW#!-x&j+zPwPm!ZWyEe+m7L?5wZoj1qVB6=|5THZp2NUU zA}*!!AtN3SWXI*k^QauU4)3_A+OcoW;Re8l^b z*=fq9_QkqwuOF<6i)Pzf)GD%2sX5^QD9QSu!5k=X<~K(CgfuJ>6}b*wN$%Wv!BU>^ zyd^n@aG#Ldc?1Q*Q?|^FWJ-+bhwcNJGX;@z3<5F|*imVGs7~P;{doH<&Qikw=~xd6 zUeqwnu_VxProCDGY~6yIB?^E48J>8@Ehe*Zx%AHBC0$Aj;j;bC@`1nacZSnDpI{}A z7uB_DL(}IjZQl^DHFyn$qWan=$`5Y(YemLGU;q!PJ5ZfPP=M}(DL%xw>J-U&+BNAF zLy_^$+O+B&sLLeI?k=q!1Cl7?E>T9Q;gc0Tpd{8;kd>Y)WQPr25pr1 zYGkf|fIjVbe7vkt)B28M`T55u!+cQ=Lk{=avM_~RnC{B#vU)0I7Ch`TNCk7EP)E~0 zPzR!RcR43IF8*N79Wz(J1jx&CbmSa+g`p#XRfdik!C@VEhNjQ&kX9_$i?y(1M7bpP z#fCB2kQN}aP4efGn<{el15=(e^d3uXPPnZI{gMbhyy~oGepzc?7N__x9|&*;frdjs zK|m1#jJj0k#h+;jN*hKyDu>FV)bd387IGOVP;IB6z-mOyglsHBL5>MgsnTKIzjr*u zAOLvh<)t7Ds|~61ia8{1^Uh2?&OUc)^*HJ4d_Ej2<3Q9s?m6nlmKl~h7yTP%8pObp z&jp4$17m@#LI;gEQg%4P8OkI$0}sL3u4-`3=Z((J+I}%GMJlccxl>?!z|q~lB3AP~ z!CNUqdwiCG?bH;lM8sy}?*rLsh0e5`jlvj9HfqZ`&h6D7q5Mtdg&@83i{9-NZ%)!q zx7Vi_6LXt+Zto9KgtlR)nC6-)JzM^;tNH_=a&9f;N1c0A>KvwNUHUI0w@&wmRQs(w zI<;bN^XLw@{h0y91E{bOHljfpGV#ewtX%|SGm|Z4E&EjF7|H2V+~Ql{2-ARqe=BSZ zezVF0NIUkdOkV`Q6$G?mqLXD22Pn zyDHOmMJ0YQe9kQZuEc*t9f6?Mq#%>91;f!V=x6OIU)euhm@HON!aBbktn(V1st!r8 ze#&6Ywwd~d4`s~23}n;1Yq*16GR25u-N0Fm+N7j=yh_*3V< zz%(qb-jpE9Pf-!ML~C_X>}C;y!`Zh}?HqZ!oKH!U)NJ?Weo4*o5~g2~Wyq{R1gt8JytqQTqbICqq9aKxO9e@pTeeLy3iFI;WkWiQ$Ik7L zYhp^mpoj|XG|F@(x;Lyry9)X0d3^w7UjgvtyNcQ>+O>6U_2=egHmk$L2anKFZ7{8m zo$AIC<)DeGaxe=6rk@-LiwSTNEDub-cuGXn2(HmuAxaPqpe47$wN*1&Ks?H!Peq5~ z5nj`70Koz|nOk)-dcq!H_azMX@gCOXXzac4hnp%RhxPLq0sI(jr^e$6CRa?e%1D!e zFxMppMO~XHZq&#P|1wWHE`9vn!lijz>fGXo$gE}tZ_M8T?xA*1fB;n#Uaf18owOREsBfT}>vxW%>131A6x z0&%M?n^&I`-q5yAo4a40q0DF(P;zqHL_s}xDnar9|SFKf?*JJ&bTV_jW zZ}5Aa>5lF%v72#szdD#ydmhj8mQ}j2vh+mofM^zNm{kaSlrTC34$RCNuG>s4Y2tL^)nh88Jsk^8!fpoI+AB|XL5*GdXI?&L{2OBY5YUSuzE0(3>W?Kb&J ze!JX_#co3f{dSq&WVaFO{C1fMMOO}F#}7AhW*Ixw`dQ}{wlS-JBDl@*l-W4e!Z--q z$+`37b4Il8;S^8gNq)o;d6z$WhaZkJFnwM1N;Os%MDRi?l#b8y24^U_{J0iJmlW?+ zcNnNP_2N0CKQXE)GKz>3`#=yF46_Hgm7Ox3Ar`R9fW(HWyRwLOxA+q@vu#Y>Tg-dSsO$;(skKj9ze!pxprv%1LeVRP z{aH~0Dl`h(1OW=#Y}Kq~GR^p4J?Iu{n{~9y!J{<`IGdq{a1trZ7xLhrWN9k~Z;Yn9 ze8VCvah~`Wxv)VQMcwIN1Dvri9A!pggcCst)muX3U0X&UDnxE|V{>bZ8{5Qc+}Nb& zu(b8Lb1~}9QjJ3LkyRd&banQOWPkD~6xsxEDq#%7_h47ZX1{B<>faTi6PN@ZuofB$ z*gWE{je02BI|>j&no{7+RRm}KV@1!u2`H~8Y}H+6Yq8#}ls&;hMuN&Dd~$>}T(VTm z8GeMzc8uryKHlQ#oI`MoBTi3c8_t6$bCA<&6_X<-;H+^McewVVR@hz}7r8v*9H$;} zE~XywcEuwu2%t2U9&ueC=NgarKKiK86k(tZD;6$6aSQHnh52I8RW8skN|>_C;0aGm zLk^^vUogjcKGCx!K7LM&F#z#k83bH3f+sDRhV>OUl5-?&J26KZn0i2N@%FK3p(MA2TH z;r9A8^6y~48KTO5Za!;IZGSK)go4Gn#};Ps@U(J(@m;@adS6k za(sPLODK<1P1LoP!v4Hv4k5_``>>Kj0IVm)V`LzUAo%L?hhVhq^U^B*XSJk|*9n~= zuT8@LbNXQ;{*b4-_bm6&{aXxIm(S=CSn~@4807X6$76a0uKS$su@s&S$7gip*{5}+ zpPL-*S^9w9Vb7v(*zpM+dG;|Kd3J+iZ1+NV=HYNWuOrW%(~&-`bCjHLmPAU>*JN$6mAG^&TL&#D~NBp;gepur`*80;LI{f^TI$nBZQ`*%<0|$FC za^$X-|E8akC{3u9e%35FF=(kGV59~uWw2{{$l?m?o+b`3JF4!=ii6X!eT@$L#N=9d zN{b7B#%D*r{S)i!urYqgq4r+?faq=tI@Dsa|pN*CU4bt2NrDf{m(JW|q zx;P*2J{0eYAIY*KoIfO^_Wmh0(8qnk+g8yM&h@aC%wiggS?|W(0Qmi-EV9Pl;P)Eo zyy?D@ew3$ZLXhQQb4HM{ZV+3oOd88u@2Hde#}-n}79EPYHZK$+kma+h!XGYU0nN)o zI6K3+B<>c{+BaJA`B_^N#7y>HsBP)#^n9D@S_^V^)jqERlX_DD-?+V@YIMpJ zY^rUk8icJ+FYUm#g*0!179V8!#;xYI402)m73@aZ?$AC03dyxDwFjP($fo3HL|n{J zQVDhtq4K%dbhSo`s^P7u z7!t~z&}R-RfI8_xxde0nhc2z821IJvSP}7YOGviw=As-{D_1cAmoQIrgD4zY3@Hdm zQ}^&Vhr8v|_kX%PISHbIG?+m&yR!}?nZ{EqQrwT zIF6VB<&9tpqNDB#8HfN#iDu+?0081WPH+WqkF)GOIiO1drNtAN{(_7a#~6mlHSuBF z4{>Onx8coAm&S0s;I1cz2R4?&)7@#m%gn|FBHRhZ%Haz}W_lhtKxGC@hu{?bkl`7k zZ`MhVr{lL1p6W1fyq1?W?qR;5IVPaN#;uniq72>wP3$GiG79;o9tUF*f-=5wy4@yB zWwIsfPk~uVWl$6l-6%Jr*h2lvmxNp=sjb1`ZsN>M5xOUsgj6H!q$3B=F{Y&YCkPE= z_SqX#-ebIylPBYkGz7vFa-op{pX|Ktzp?+m^8I&f`7MaTyWw`h zFl$#G^b3K)6Cear*~JQ85a{`AmtY^bvHs;N^I4X%(866U3)VyWP6SDW&3?WUI1@B^ z->JXcNdD_pUS*w-XQXaV`Rd}EJRaMRGQu+Zi^|Fedc{fcIP1$B(&An|!F zUnWdRsIX<)79uH8-{^sLal8;AVRX0;9_%(ij{6lnUSZxQ-2hPx`YGSteP3}8soKTv zx2p>S(Pcyl8;#s33Tzrg$}9l)b0wwm06^}^kZgrrwBcQ_D$5$6;UCD3hyeEx{d94M zUqHQ8upEpK+Dm}odTn}b7WYjn7vK+Ir0L3yR=xot=ewe5B6H>;n<0(pdzt zUZY<=CqA^Kv~ehcFbtgF+v{hQsn#tXL7b%G0C;IPJtEY<;D~51-NX2K_dcM(;q(}5 z_yMAd_c(!M{y8BNs`Qf>-DEN*V6&%4nZ~G#>K zHm5!S)|C%H5K-3^*-6*+xbJ`SvD;5E_YwAD?KDhEFgb={701);9fn~tj2W&L7=W(d*Hopz>9TCY?7o&y{ zV5M~lgpV^Y$XCo)w!7?t(Zr7VXRQ_or=H{(-&u~$XkQSC7SaRAq1E=&!ag>fj*5;D z)r;Y+Z3YfY~aJZYpBmZhsiuFnO7p&_(?rZ=sPg`%R zAh?VOSOvhW;(}tc;B>~d4TVM@f4A_zo$rxD&6d-hjDxv8Z>~~K9*Tu@c<+c18LMQ( z)&k1Ko##t(W%zqSsk6L!d`uLWETZIXTLC^_lhePdzYzA);cP!z9S%MMG*7`}xj~^J z9S)fUDjgP44SoM-L z)__8JH)yOuu3RxXk3c9QDA}Vfs1GCAA zJD0DBLUhb7usgui-Y`<_lVYXQB+S5@)eQ(U8mG((ka`uHL&?w-E%_9sFq$h*N5*vQ z^67{W@>zR*6Ot;6lR(tUglHOkLXz*mgs>P55>}-SC>m{@%1Y2qNx^Z8Y|tOs63WJX z)GdgDO%8Ifi@!Wg(KyYHgBRf1D=yx=dAy=pCg8jVqEpabr=|<#%T6koL{I|lL$qw* z$OqqlRCwh~*8waFR$O?O8sJ6SuSSSQ3_O+*i45CdVr*E_kYP0qZ%iAeDQoqSTB{)4 zoCy7v7BxEI;`Riqtg|r@!}MC&$BkeyYA09-ST%ZOJ9vs7;nI_(NhCU30UFcgRx5~o>eZUp4D!}v)aXz`lMQq$;P_z zgl-`I!Rt7I!#Rp*Sng19ObPB))p6u8r2?aZ1{bSc2Oq0FEx}mowc`yE&jW`WCkfkV zOSE@>sp^ji;bBV%7Gl1_5-7!ER_{pYq-DJ9RA>;FAq{UU`(jPhltHo*Xcv8SyS3=t1h5&9tl)?3W(D&%{;tgw^{}3Bz_OmGokEXH z>5g2VZX2nB;~VwE=8Ox*7%-pEg!w`OSgj4*B zR0WYUaLpgh{jeJwfc!w{AM_Nr5_l8hj}ogALNEhjnMCu{D}!`%`@wPzq0er&Ma4;! z+ZMCdDEGH*M2y0W#FJ&@229vS8}}lwgjf$684#{v-?Q^fa+**6;FAqXXTC|l)q*Zy zT;J5aJbICF+F{dFv8+tBqQ}9>ZZoMedXoejL?W}%n1KjtRt~+%!`ZmQ%PK|X>MjP6 zU^#}Q$TNru0gGqHOO-SEVB7Q=37O5JcNyz31u|qJmIbGmy$EMq1MT~ zdWYZKCI$nUucI)hylt#AR318AiM&wY0w{#HZFWOfZf#+mtO<*}Xj$c9QCr=Bb$aLp zt62Uux3obGs;pBXM_X7Yrgz1z%&<jwlN?%sgSOx}ck^p5vpYRP z#zX2FJu7Fs5J$zLIam!ltg*rFqV^s}cz|<>#2YYrHjZ-3oCdH)T#COQdy0op zf})LrH9)6_UN{r{n35c7-ZRK;qVV*>ok*J;?vjC8CqysatK-`yOc~&?^$zGrl?>U{ z{J49}>cPXw#(S(IdWQeg%*pakv~U)Iku+zA70x0)@U{LL?8iu~xi0lVoT zyC+2boeEg3PeK@k+8x!ouaDQR{<|@9?z20 z!gV<0T4J%dzHs(wYC!Uv{^|1WP-a-?&tzCi*k^F?P8J5&C#|#<#w*pa_AhV1Of+yh zLD@v*qL+0x!PJ)7NQCe*PO23I3V!MTE1)*_v;G1Ak=*kV;3VCiV5#hbAw*sh{NZWH~%+)JBo zt7y2bf;FP)2_^QhD+H-gSRUj$>z%C)?y>wlP6jmQBm3}nhfHQ^9hEz>T(M{O%P)Qf zF87ytbBfc?s}G}p7|>$2hc9jE;fG#t4@Clif@sJ2-=7`#My1t!+hHFJ^u{eT6*OZh zmDQLHI=0rW&Js8)o+Sd89Xt$yVE(s*!OJxmP|{nJD$b{H@>^_v7crL+kPZNEeepPS&%%XM3(q=8oPN?K*zEs zT)^ldfZ@28cXUT)2L3)G<`sZC$yR}|Kq}(~e_^e;-xDg*Y<$w2d>F8+=|^bV=3V4Q zSyaS>M&xDo1Z*PsjuyZ0S=?L&YUL{Lq3r&ErlnOp6yOpjgg0JoLIT7ioE?p)v-Ii^ zjUN5!s<4{$-AMdS_H-sI7U-B9oQ(@gwni{>;-R##%ZeF_-9f<5Rq4CHqUCLyCePca08X z96Y1?{y|Bp1lg11!|YRkak`VM#BMX!GrL|TcbvMyW!16yxjSjzlq3Zu$`f0x)*FOw zP(d%`{F=sso1sEyO4qg7GHnvVIM&g5GqE+NXl!!13Z1-1TEEmK$z$6U>g22SBAuxk z2Z&ggXNq*vJzT&L3hH$FYi1QjLY1&X@lV7W3Uo3A1Z05xE(&z&Y8r}9SoL2ew1_X* zG-+Cs2n!S$+fO=)d+92fDI0tvOPddB?Z^Sop&9oU(?v27YS3Bzj{K!twu*~qKEMhZ z{R`1?R8L+*;gH$Ws3d}#Hf`nO+?Bbe>rE`PJp#{KNSUIris!7Aua~VT0=<3zga{U5 zV`S;WcbrK-)K25&HJmcV@K;{1>6(C;_&kz(3hODavFN1ef8{maxm2#X_&j7w`e?Wo z`T}kwm}O;;ff_7;5;?eFW+k?dl_brNua6DWq{}Fb+Hk zgJ&AH0v#S}63~H?SR3w68QD9`oeQKgi~?>K48?Gm^{P}D_LPwzj6m6u_X2W?-?GfQ z+59&AIcDAP#g@KwNO>eosrNvk&2&q~m>aD#+~%A>S$UID5g%YGga@c}@)on04FRwg z{f|NbixdzI@*<$@lcBeyg4x_j8w8vstgRq}l$8j3`YrrO^wA@xu6PFyg$}gU0a<@& zw5<-PGs3{Ec*Z&q>U^|A2fW+(jODOWvr>!{{l#ngjD}$!B!sDi(*;g8u{Z#cf zz-t#zRpahf76H2W-dkT9z4qi^iHBX18`9CFAlLgnWtON5~jMoBGE!ILk`BW8vo;(X{3 zpH|Ns{7JVBu41bBQIrd(@-=sNPv$>%DIV}@%1WYwKUU*8aQZvA$(K2W;wgz~~ z=Tkkjut%TPjFE54QzB3eGVV9}!kNB6u1T93vZ01VcA+tPlq=y;ddZ6^7mWg;nhVeX za`>KeED>Ya#rs$-*hd}riF{>S(AluUa>KnXQ9|V}SQi$ULgohqeg*`FX@Y;YTx`wF zE*Gs5n^?$g(@-Je>b6S-*p#>$mWrzReC&5V`a9IZx5(?K(^?dgqQ}^R&W&+ldUEEB zr46FnvhX>gn9SAB5s_HeGDki|n6x!Thx|(Qt|`sRMlxZFP%39;=~ka5=~x{J$>wfv zV6wJX$Fie&uBey*Zbi{)n+^CFKV}6Qos-49u}#=$Ig6K{-><$eZ7f1)7ovRlY*vz5 zlO~wUOuLUhk#dCUZ|EpWtVAfBS)yaeE}~;FG-wEPS2zGq<3Koq1Q(2YnM&z8f@e~Z zgyb@(5U9-B>&OIl`F~99JmCxk?ofpxZ!7F%L2XfxkFa;h=$vHZ$s#RTAw8&%RpXkB zc+OE`Vf3-MHcmroH3Ih@D6&YQJMg}Z6z@F83yMdk$Li*b|4S)~>8B@C1?_P{g5W}RLH0Jd%R z@=eKaWpPs=e4}$98iezPGZ=|gOT=QTCv!gx#I0l_?)Ni3R~kO#l_?|w+~a(yDbDje z06Vd?hXp2%+=AkJCFY|DQn{@7Gn4tl#i!HiFXaVI5@w5kT(zl@QLKm|BQcV!<}6-? zheEUVJQ%?9Q>UE*?#K;bsEo9cGtz&Ov1t+^##Kbi8FYY52oRW9!Ke&O;E_R4i7y z=UWkGvYVdHoqUjnHGhPhQ0V0}VxC1X;kv>=c}MGQtv5Q&$1 zJOnX(&aNzoVN);htW8shV$c*-4AAVakva-ynCDldA*d-07RXvf z<97Wrjb`9t8qF|QiDpnCwL5q%1~cgT1lJgr9-}$V3|$O`G(eALaKs7G44Lvqc~C!N zJ`CXub{)bQB7rq_QlivF(nlFDj%^_xf5|S?U+k$L5tpGP6|s8TP|_ckFt{wx5b0&4 z1v%dtAk-u?;vkA50s?EA3N$+f8Y<*oEo2Tl8NS1|mBj>r(Z@5BvZMI6XGPmRT*2D1`B1j$2EB1 z3$^iuoyG+uHI4bptjnOkL4^ikyc15KlV?3X74r5&BD8_h}OJ7Yoz(Ki&hTSZFf<2dwMRX_mp7gys z^5T2K@y|m;f2t$DzZ|Z=6^<{3EcNc^m>$ zkH1z5cP^R}xTH;U(4>-u*i3-C^8>lEkJJNV9Pje?j^Ib`vck3dY)k zq@S#(J2|k@V1M~;xL(E*0kdH%B`z-*A0QDZ%CG(L$Pkx`*~D=viB`q4k?*LU8ZAd4 z?#LK{kY9n+EV`P_vxc}Vu|)(Ft%(Le>j2ayS{m$2`7#RBL?mW|4h0G0iV&9;k z2_L2sQkf_K_D6)Hw` zLJu4wh^UY4M)$h1;cR?mbDeGXiYLFyv7{lANox^?m6*57jiJ`l;;OF#u5D!az9h&- zFXru`W+Dkc7|0S3k7;35dey|3;-^~QaK@Q5y+I(~r0JnQfIay@Auak8AT;p6#YxB! zBsn`NshJ%yQT9mx6R6fiuVs2N)MBGhbZPJlg%OWX$tvc+TT%(Qk#;!ooTS0_ueJZo6;EZ)V?rHCPVEazV3vr8CJ%Gz@_MAh?Ff)yNb z&f-r9rsW&5wf4b8Gxt$USG?4&5~xU&B#22Cv6IaZ*e|2DgbY{vG&RRThu#Y*o=`Cy?wEZvw{%C~$KkKkRhE>oL2Nfx{||^m%6z_6 z{aiaD@M*DX5+>>f(a56Vw2+wvfE?>zqXXzuTJ|mwK@)N!Fo()1L|%$pOL)hqn%2oj z7<-&XE@B@L(ADF$mu%9%3dNw-BLQ6_&+G0tNkLd z27QvVa^o$5M3w@}_S&jbhRwH3r({f5r&F@?T+}H+1(PDVaZaOsy*ed~YKu;3_hxiT zVMwV{VywEHPKkIzWu7bwHCLxgMpf`~I%TNhf-2Q#Ph}=aEqD50lA6NVWjJC{N*9;{JD+4V>U`&aWZ81@jVTin(zuY*yJr32!ChQYus&zQ1*b~?tE3ww~BPJ&_~}V=jlZ#Lkqaj{(g8TJ4xLb;AL14{j!<`lO;MugJVk)=pti5!6>=G#9`BG0xX&Kgl!Dg07VyB{n zmSvariW5|GP{j$hWswVdt~8&s803PKS%+a!Zo-C5Pj?0+ioDZ82eZRe{WjI$H1%L>;j0>-}Id233rG4=<0B5=Z8;7odZ3)S;caD8LP97M$oKrcj zBhdn-8LPo%X$>qeZ7*!=OqtADYa$>(s`eP>a8jBl%!wDx5eD_-}(acFP9$zPe?+w-`RydN|4dd%|>-s48 z$dV}zxJSP-kOAr*e9mr%{;ONSjDtlfi2*Fdf$$a>`GyTg8%Ef0CU|qrlZgT1h;d+< zA`VUV(p@Rh$eUo(UWk*hAxMSm;(P?5dUP6Yk>eG1+)kzgcOC384T=Ge2GTo#DLgW+R}&Ju!sl|YHW!EiJZy` zzM{ivnsjAPuWm@J2f$`0M`PE1WoDJ!Fjab$!S0ldN-7Y~00X{xQzDF;*FjirSR;vr zhJ$Z&ku~s-B;~M+$lf0;TKB(0r--$qZEj;*FoHqfq8X?XYP}jfH1uo511>5*?u_o6 zq1E1ljj_Uap#w-nhE`rDQ^a1~-kYm5E4WL^69tC}jYV(kRA|c`A)VINI-XZeFsBa~ zeh8hVkL-0+7RoqEm<4GIDhq`pI$ztW6#2AONddbW8k-%>(Adrp-2)o$F*KGSKa0k} zlM_6HH6(srC4 z;u(d3WV>12EL*x)Lj{ZoV_^~z78O9IF(uEiHgg1o8406x@lZ08-h#E3#MZqdk)xdRAYFn0jZFcw;c@WVen zNkx4f1cEISvp$^|wTc_ZVhem~V9z!5pH7YB8p6+509jZ7Xgpy7aJFRuFg#$M+9v|c zC4bG%gBA+CH0=dbGNw24&T&dczn=y*7Q!pNKq8eX1$~cwUD8~T=b}*m6&()2MLF!Z zveAnsc1JlB*lc7>6~{xcDlaR<1vG=5PK{=uQh|F$*p`_(q6sfc)~;%GncXJerF|J> zEpaV@FR;91BGeKytjC5^7q$%Z=u-eOXS?$;%?MgT>ureIrOOdDGpayUqk%7k&sIAj z)S+1*AraR}%m7{i(spESadf13kC+W9;6HKSqi}>5q{^fDS;EV~igL!`LH_c3VO3NJGH|K{drjEU2ZEofgC@ z_y(H4lXj#{;R}q>+tMjyuNqB6Q=k|kGGGe_6|V$4&5B&QeKz&+*B0c7NzdILTJQHU z7~G%=6(wBbG-L}|3)3rI$e>{SF^P2=q|ueM51eccjJIxAmf^CVeO?T~kQ$7viza(J zGay=HlgPh|B6XI(xfqogT$l&AuV@VsR#VmW4#qSW5E}VTIW!fQ#mmNAcUc%9G*^y_ z5JBOJViTdjf&k4*(_t1YiXsF65y*FNr7m zKQGxBv4U?=U{ zSdrCWUqyAlzF=S2&C+(kzB4Y`UU1Rw3NBh!c}`$s^uRopa!vTv2FEf4jiUSVqjE>l zz`iAmWS!Fan()%qIbU(TzIhJsPvCBNSHd(SqD29139Cr|USCocTIyB9eWrP1IV?Tw zI})BeG?gAiKiWoW_Lh3Q1MIkraHz)xZCq{iQ8fxm_-3Xn*|UsAV@&`g+}^ZsIZmFA z3G9B~!|1sG$;y2*Dw_(o~3#NBI735WK6JsN8TL00Bvh}br;kDaESK7JPi`)ah1bp_4Z zh%^i5QsY8~@LnX5TR4d?Vl7v^=ukq}oL3}Du>MM(fkRz9L;D1nv(s4ujspeg%Yh)y zybI>BQ&81E#jhF5V80XR()cqk$1;@l>M?5wgVKCVSi(-Pt3_zHm^8#8P8m$P5}trI z5%o2s;TTX{h9{V@WXdm)eVt#BJtzwx8FjITl0q-T)V_N?blZfD6l0CNm}WKzUQ7Uj zXQMjaYIvp;l`uH@;%X#`DRDKj5jtyx3LB}Tx)03%;x|;0g zbR6($DnS#lM?t&Fv17JamDmn2O<@?)9}Y&GWC$(&T}HM_f7gmVg1qF38dN(Q?_#=k zxj99Fvu;jtzdcyeGb`$xkgtL#6(2gn_cnM^rj0qC6fd~jN0wzIW{rj~VML=MHY)xSEdQD*Z4^($N|r;qO)?zccF%}oy}Lr9oc19L&hzpk)8I;PP|0YPQz4N zBx@6Lvq45Fg(|R3nnV^|KUU$5)h=m`|5uQTk%)In62|&!lJJ5_!V6PLSY}zE95dLf zw2h_Q96ce=kJl}*UCdP|Z-%n5Nr*|qU^?PR=q$FLaW_ymO352_y8-HkA=RmyQMeTd zX2*&vffcsN4HJg+>5oXxHysPADrrWHSPpTY|EIoW2-dV{0}rp`oLo2+IJSqN9F`f@mO$q8gFi z&nb~HWEFC7)Qn?!t%S_bU)kNn31dkvQ@NWAa+eWEb3lS=2JU>1EmJYD8#rT)IL#2O zFHbLa)6-RfI|6)G`FlN(=2u6APKgM6-#|pz3qE(odlhoRP)NfHn@TyAF`7+b_DFKJ+cu;A@j!CkD z{=>TQI<C|8Fji(_EAg2xGm_D zupfnj*P$kO=Y@64$?eo&Oecoo{-brV_s(}RgCWCKY z>0eH@B8aZlR%S=J7<`WSuWbpX(Difee5HviHi%I3A~@QSmq9d($`%iV8XyXo7f3al z6vn0^O)|cAicL(UDJ99KwfPV~HdET*_)IGHfzMaT^$$JbyaiC7(!pg&(2bK@IiSuUoI~QaJRHqBEgGX$6l1lv zgQk2-Z3l);wYdY0&3bJIyZ21Jwgc-Jg~Ael5n^u69?|85oR>4q{I2}@UuFG^qWncPiqQyij9VG01Tj=O8!kJ?u)bm>lP0ng-t~r zgm;#YLss?e`emAo!^O0yL$gxUp-DvhWAw4)0lKlF8}NY7(;#Qm+;rqFE;eFW2ZMdw z^}A#HQ*`X-X;}xm4rLuWSb7^{AV>y6105I)4cNljcMw}>9WNo+Le)xJhTOO&Yyloy zu*L4pV2fqVRnf!ip63S89C$7pUVKgkR*u-sBb?n>q`?H<3np+)EhzOw1*L3uraRpa zdBSTEU)20>h_qVWVB2*^0))_q(3wtgqhS+R1G?OjJg=QmLEGmz9@A^2yFaUY%sh!H zc7*-evup+LsLe4xi}S*s!QW}e4IOEh_!(;#dre0v^bd#M&xhl>jy(5@`oY*<=4fqF z0p%s#owIgV=6R*m`@p0kxhC3bZ1j<&UbNXLyo-(2UN^EzjFAnFL4 zA@ruBmze#qJzK$Sm1zzIOFG4GG}!-3{3XZ+5Zo!5)XZnc4=2A$G+W3bf}*g*b$^2@ z(xOJVCv7E9g$wHh#EAR9-iW)+GwxdwTf(?BG#=VWE;bG)pH=@zKYBs;m@k6~*9H@I z85T^6`CF1Nr4VXsI_wS6gsxXA3sYMDu=6MYWFI02jSn>oRBeGJ?g^n)dS?Mbte-6d zNC_{3T?COvVg+rpKQ$TDBurC0-ikftL|$Qku^?>aQ&73fNrM<`$$-wWAjN?gprS=X zNTt|3tf*#MuCgI?#~C*CHo(zWopyuDogBo7v}-42?36sgf$^jJD51iLCV$yF`DY{> z(SJUFKJ{^mg&Kn01Ab}b%Az&1Mn=z~+pGwDig9H%hUgRKG57N$-69fi%wm%n-K^dS9=G?AJ>oL`zfI6@RKa{8X`yye;Cm9KcyCoEj3#pH>X=5i(Hlu9I*#-JwO0ad|%bOViR}R z6Ks;)lo_FXf<4~i6ZhB?NA!f}LTfem2|z8MfMu#5?1{iLaGkOhil4?-h%(bN&)PGf zUHJ?Px_s!OKg9N@H1t&EA?b|Pl31IRGc6x*h}!*HBa;wgW##!>`Ldi^5_5P0#%R;5 z_wbQWa6fO`HZ;DIbGgZ`F;(r9gU^NSKZT^r zV4=DFqEnq~5DJbeUOts#po>~Z(LFDDfxfr!B(^Jtg=I$Lh6UR?57@n`VF7V}t6^b9 z;sfNNL8R;|Sl>r6<#RSlICGzdu>`bOl^BQs9ULW@v`4=2`bur%brsS_WNO>;Xq%|C zvo0#NgLFbMP5do8)toeTki3rvr{|O=Un+NAx4TS?tS9WePE9l_+u^t$5z0kL3*UL2 zAM@qP&g(>-@c`@0ADHgEZoAQMnoHOSXl?6tU*aQGHej!D;u~dfVDD4yy-r(DWnE48 zUdMzWDGs~41UI{4|IvI!d#{65N*Gi)4Owr%4k(C0vZT_gka@^uOw>LF16$CqS(2_K zVgk1r5pxanLd4uJj(c;K^PMBcMx=3p@L^S%7O;G{aU>92u%*~Q7?*9|5%Bg&V^vRk zrx;AA)#G;|MXzRr>2K-Uwnmumx>_yJLmQ;epSu<#4D$IFVaV>y2t%e(z`-T^v-~CW z*F_<;0SQ3=KQzIJXkSqVG7}6yH4}_coA0i{j;hm!E7vMGql#|96}vZsD>8r9u)|F- zr@7k^Z&k3f9xxlsS-bnP?%q!cyKhPvVfVSGej><$LMkwPsvJH*&hh*ZqSiJom|Tc? zol^4HPDLR`AC(koL;*o&v{kjK)p8aDOGbNQ*efU+#fIP} z>(fM(A!rXzNoATEtl-&7ik4m>ixmNtogy#Q3`$#elt-?gA);pec~trZ1o#5SXnlHE z_fQhfhvT}AvMR~C#ALn9v9v1bo~%mYcu7ZDm2~9U(gMal%l}?mz`Rr$MvhNe(?x4rL$s35PhQhLm5YN zR+wJ`cUB;CoP7r^&9v^8X2C=(ksIf(g(aeAZXt7aZ-&fS7!9y}f)C5LuSuzqy;kXRF(GCiebe$w!0z8*yFiU6Qqg@Y;m>#6Y}RH)PnbW1YqvTF zYb~|EHl<42tcL*fCTQFbq8~yo*7sm}MVNeAMC~$`S6*A*qOz35P02>Xa}sQ@?XB!& zM`RRNP4rz}7)Wr)qd=R`U#XRa-8OkwYu9dX#M@f*F8}Jj=s_+kIB$L))c0n~4UYAD z-f{ z7{bkY@GW~m9j?Ey!3*D*&ey*b!!lDrZ@c+I#(b6ef?6Gy{e$C)s8@1+5wF2!MLBUwHRZZhOI6qH zYqXr+%Ij4Md4%h!<&@kl(n*ma6#Zk%+jdTq}($;$FxWs@x14{(HKhHU}6xW%MQvs6+tKN z!i1@dov1~1=JT%E+ZJ*ea3N$ewP7D2pI$Yhl!pNERvq2l@0xf|U?GnqUHuz&j$ykl zwa4m$6AJ^3PXybm8o^D z5n@<9&=`^UifQfCWRDCxNxlagYrb3C=-Ud=0*<4xodv4pF{s}W5i)_xIvg0vKA8NEZRhZWH-tvz_grMqTBVDK)tcpNlmbTUyanIm__iUM)ykJ|Q;>A8yyllI8 zeceDt6RN0hJCIUEj|=U5*td``O_e%lI1CZ=Yv_U;Fy%ESVv&RLI@fi%C2AjU4A*F%I|R|1GRNd^jPwg!qU{I7KY!6O!pjy z<-LQd+NjS>5OBkDYpQ9YE=`Cq4)=2MUAV^~ZUft5I1{s^L%Pc6C`Y=;a~!(mJv48M zj{%}dFWl26kzDq}WtU6dh`-8?L))*enD;` z9q*nrb+AH!`rzmnW!+#s6s=R^G#7&sPD7|bAh=qN#-i20<$ixvRn+o?O-4r_@mJ$J zkSwGS8XzBxM^S_Lg>fgz;l!yqUx`}FAWsG#T}tQ5{Q@BnjYuGFN?yz)tppoKOJ`@1 zRUY)Z_)a=t6zy@BuC%M5G@!9F<-{bl+>D;$SZUxqGGL_64`rgMJkFlHVc&LID+CPosvdcsI1TLs(j0OH z=iqx}Ddb%*q4Mid7PYACtK$8}9#U{AVYeG`TPgf8<9 z51w}E=klWhVFMb?jtiN`x9+^Ufmwj}Heh>gAGqSUlt09*XEr9EeBV>oZ{SKTSrzB6L>OLA(9*&*=7N`X5(> z=N|Z#+EaW9A#AD=V@rlwaZ>L%010JM5ovJhMgaMb9(;>XlL8+s&0+DWuWlj%UR2W% zcOJi2*;_nItW7db`5&(DLHe^l+7As8*VI1QowWD>IEnfri2>3ol~`5Zr8(xUo07En zevzI|al;u2cAWfI>SY_DBk#TgO57?mpL)8hd%TkI$~%mFcZ$;zQxL?8;r;$_W9H$8 z9_II@`yl`?CA_F6i8{cw%~HQNr%(Rf|L#=LQeaG{$i?|E4G||pogM$jb@!cYFMI0L z{A${c|25)CIA%bsrTBR(UV7n=URd|7MnP5EQQiT+=P_JJ~Kxoax?Bf|xqaqf$ zmVj1L=mR$_qA2Vj--1h{Z$ucsB}{Zyyo;MGkx6fp9NweH8BI^{Rg#9yOIB!YgeMl_ z6AS(X1_1Uu)vtsN3FHd~Z=y{l38G~R`thn`S1Po_Ahv~|1sd2_4T3#`V51ZNOXEp6 zCX5>>U4mS;F9({IcumjJ9aJN>24*WFDlj`q&s#tcZH!fr35Q_m_vRoJNssN^NrHuw z!H*21coGO#l+74O2H6seKq`rQ#<0LFi72LOv1ZZ1V7Ai8*f>I0)Q%Gab<2@2%H6)^ zyCQDJT#Xr4*5tGi|+v2_VG!>*hgTkvb^(IA|FDGx`>5i%F~9MeWMC zTPmjhth7Gvmg=eBMG3=%2V1MPfG#F}TdJz8E(GwyjpHVp!$UO|beO!AGmdr~2M`r1 z<^5yXk0LYxL1Q5b^{(n#c8!!9m0G*5Xk2!U(iPP)yG9_6>YrVsdf7^h{g&u{T=o~3 zxa==_X!Nh8@QBEWBCMxj+2-8^5h8*XKY;8p`Xfgf?zD;v)jMwiQR8+D;7g+cih$y# zQizO!hAdE!GIe|qLep|4jF3ih7JXNAut)|M8)-YP+h}JB4a>E2T3!aDuSrR$zJSmeVeU7>`+I&Q3x*7a35WjEs@uKYa($y z6K8Gg(vr2>^2Ru^`C++O+9<|MkN@Gve^~_3Y(!tl8V5?PEDdQ{d{@SF0D=4#Da(Z z20B{zSi;(+A95Z}+H=XV|NH-Z|L^?f`#iLavbvC2Fdu zRT-c&C}(5BxgelU&^2^%Ba1c}lKBF4<#(fH!b+ZG6=Rw%8~;(HxfY?+_9}*Vh+L%` zKf+)rc2v1j?-(QiUhCz&MUv}k0~ViA<<-3VI125gy-H8`sWQTxdp+h4Sk$_P=v#UJ zN2DE9fpoZ$b6pPQa6>j^Xs0a0z3&qfJLVQATFuXYUpACnC13+X1}cbZ{yG4vqw&iu z(Wb<>%_yKnl6KS+gK06jjtw#kNP^$i;2~s~HFz*A+J-~``)PN7)bCVBs9SEUWCWPT zWw@#AY5NnRp+75`0s0f4GwLLAGzv6#@a=Rexm>E)j-t&Z7d@j-BKl$3yFTg|N`eXJjXY4 zS&&{x?z?vkiiRg7y7#v{)UQ2r(6)XEZ3Nk`S&{wt+<~kqSy<5ZsX-V^>Hmh0^&c*z zgE&@AcGDlC`wi34BusI^4Bz3TjdQcynui*1&L*t=X3ZT|wypDQ-W-O_x zX+p0O<#G|vwTYp%D0YaY543bYe9R;&^*# zOmb>$+B;#D${ad)Qfh4nvJbs)MS7nDCX9R%R+=oBV)K1MN#AQtIWc1*nTOaQvipe? zldjR^0s{v2kTvOqz#BmLCdsU zn?2*&F;4>A&9%FX&x@7s^P=&Ug*tPobe&kgPi&oCa)IVzL)idVk6xsE-iNZm8yLO3*Kp%o>~;RYD_7g-DI z3IFps>)O%j5+L@U9UJyr?v;*;*k&FaSwe+$ssgDLP3zmIKvCdi&~P7 zcHAkKx?&*8m0ra;UyZEtKJ=z9$;42s2cn3i;Qt3mI-}RG3EMjc9IZ7Z=tu{uUpDct zhVACjZi?07DiXGjN^F-H&kgPin#7ZDhg!vY`+L$WV->OuSS4)T9(9=Py!#gtX=2R?F^W8SCj6jcs^a}iQN$X2q1zZ?IVnYzgVQ(w$XXLBz<~$=llYC1h5!J^ zUY3l40|GTnMGeK1jT-7jr}3~_H6w<~uW;gd9ijM^cS##CnKjq9I6F8V>Bb@Ai8$=H ztxs8mJMy-v95PH{l2ChWHYd7>Qi(eg8HN4zs1gRCAOdU*4)qxZ>RpV~ zK%O%RyH1+TlsP~m9jfpcij|QT=3(V=f>c%%UPa~_x(D9c#fLA)K zjLqm%G*wv5P=QD9MnZuwlJQlB6P&NhVvEbj4HQQNDC|OxddLZ73`{$ufgD+Y!)_5C z$=bz>=SpdU=By=QInR(6X)=XHSoQe|HY0gJ+7LpTE}k+&OLT~v&Pak?Z3;6CJ|LU{ zmH@7m#~I}8Y}yoHF>#hWJE@HRgQEaATMIC1onuI`S??RVDV)V*)@a=bIjvK}1h#zJ z<)duo^)zBwha`u<(vDw(wMKodGx*q`F{JWVGin3*)DoK&$>>?>javIn4f)^?@>0rc zkLiqWLOGyQp-hMz0?;ZBy9H+;&FM19@LJktyMlI!hYsa!YuOV+Gi>Ybl%uf4ycg{t zHw5CLg7QN%{!-9XXs4Zrh9Tp2VVZHvf?>Vz$sr_=1LLz#4ETg<%QnYL_8BG2myvn{ zNb@8b(k)hhfE7lG=~#;2F5$jcG|n)pk)sZVW_jR{YYD|f7?NB~W-Gwq0i+?otGXbN z4`Mt4(SZyR9E?(hrKvdheMwmRiUmv=PQ8qMn{}rA^&=wmumD$kzm@nNs;R&3!0EFt{5-j5bmJMw~ zG1Lh@FHG>yKO}1Xk})O2Da+<1lNpeSh!E52wggSAuBNHbpsQ9LI~Yh1vMZ)1Ur;JE z&hwx#j#ODylYo)c;(;exO3v%q?pO;8)Z$BKzlBj5!O~p`>VaKFGGc69)1=01oB{5( z0w5W~i8aHS%tW?Xt5BE8=L?Vzr+>z)_ySy~9eE!@a=;k5_Y4V2m9R3|w$n<$1g-Hc zsqe--rVB5ozGElG;Q%}I)b|`c$RkNHF|h-*u4D|f{go5#Esaf3b)1_V@M40B4OYm0 zk(lkAT*FeLgH)C0_25$Win;7BWgcg(RDp`FekX0-|9p^+A`_@vynPX5N5uwClxqHQ z)3sFopj5UntVEOdBbh{zsny%mo*B~$ju#X*VT4*ft)Nwmji`U{n2z=ZP7PDwu4~>d zXZvRw6))rQRQm#_rEG+pavKN^x%{@4py3`wHP-F6&moc8w;(Bou#gy8m<*5BvZD&= zC@FR?Fb61GYHNc|qa_*jMO9U7^-vL7sd+>c(*e0tuQ;TjGAksr6@n|z?H1sc>=|4U zAgghselq0AoQNj7vqNGQWW?cU$}V!ZtGc%3yQ#WrA1S*85-v%tB}ubjb{W-+d{uUb zMFfzbNVF|kljlv~i@Gk9Jm|WVFQ?~&(za!jU@lgh1Soo3tCGs(#7ANK*ktYsAcU3Zcv27!VL?_5O#o-M6FfHD7 z2F+t=lYMHugNK+xo1z_rvtUv{B~vu4oL1tdFdc=YwTSgFPc2BDMnW`BTuut_o@C{60?NqZDv;SCh*bk^aErk6a{WYM2fdjQqCE3E zYh1X?dS?A#xYGJ*)Yp#;_cWbq{eZXV2U~;cO9D%CIEaW>03libCqlrbpoaqtMB^q# z+zO&GEpnA#Lfc7$@{tu#xbxEouN%-jWdZ)!Mwz$@J0w_ zqWORDZ(GyQU}XH3b1%9pi7@8iCgN@?^l)hISX7!91M!Hf`BKGJ?t3@*%CdvGtmq2JOd=@D$7=Lyb{MId~Ap ziyDm$5phMN1v;B(mFlFaOa!e%5VAHpV+tb%HaCWs)BwUpjfn$<)P@KU@UsL6kidg0 z#O5RBI5cTc)T7v#E_Fd-i1dqG>8TZP3r#aH(KL%)ve+>m%3N6AhQ*X6_qZU(HEkLg za(kwyHnQ2N+oq@Th8Xv;1K6{*-xsI-W`-pO#$FRk=_Cpqt@T>s9>TuZ5B>~TlNN(; zx)l@~b8;C}N-bfYxt|MyzAcu)j2~Hq%dvd$u}<2p$Tk7_1)2vynWnt=4}$4jpPlqv zg`48LG2uRd1A|!73W!(ijmf10aSeurZRptVe&%QY&L3ZT|IhyPgK~~?t9$Hkf8%HV z^lLx$m9M^qJH}2d_aC%X2sd9lhcqGSeqxXh%ScX%YCU3kdA9Kln|DX45;Gs>R^`J# zBJ#EImCf~}m=sTbm1D_`ZQy)}(b$-w#Tq3XMdKW5oQgnYoRr?EjPs*Eb@8EBKKSAH z-c%0rkN)7vKlnc${o~);VZ$_o!1+|GQ&uq_rpNrh)?rGWgR5wem9N^J?y<^OTeir? zQkRMsWLbG3`N35?v%kYtEB|B3|6?cWF829n<6o z;wsxreb1-W5R~o+)sh>`sTg@lA%1j8)gIAC&^a6}Fj}`JrbNeD+wX_%uS${@%Iu^(2selOk$=sZ?@m%X41_DC8Y*{MhVwLKDCAk@jyBSLy_g`MJd7Vmo)jj~t@t;}Kj zOL*Y#+h>-wf_4@kut!Q?uM(1K6UIMeaU{f> zlDs_IAI>OI65pxfsdD;-=Y4UvoE!xus6@Ge^9-JHQ6RvlY2}SB>a@j>yl3) z8c7m%M)4{AC9}UXp^v5b;`Ka6Z5|fxSTz#%_{KJ+#h2adDCWxaqR^~DG4u#|M|u>i z)Rbb_bD|hhb(RopKk|Of*ph5BS#jx~ZLTMZPBJojKL<$HX%6#;8|wlb@d#(>I*4Uh z`gIM}5mnJyhRKGZhRutiw1f}MOG~IS8ngNbe5WX#}Z^u38;DiEt zCaj@m<7nPuNuy+I<{^d~nTVxjtchR}!^6_!{vkm3wDL-jD*fk*c?TD)+y3`R@Yy4V z!L*{9vBttG+!Mw}ZLG&qzM7(OkaW`D^3|EI#gFkE&1n{mg&6lii)6Z+(}X`}bkBhA zliNeEk9q-s6_YU`*yYJo2Ecshfh0Nh`_FyiU;OOnpa0c=iMWAsD5?4$*LjJ+Qa&Kx zqVq4RNZs9WiF+-AR=(GuN3hRokpu%TLK@m?v5`rO1Au99NM{B!`b+0iSL~grC=^H! zf)=Tg3ptp*|zgcIPFl8GF-XT zDgX|3JiBfiJVSJ7<<}XW34EXnPo0`vXXp;J7zW7ZR0fGk4UVs`qZr=`ptK?v6~x*b z5sThj3AMBwdE~o;TQ|_Dod1a-x=P$KS;}!Mzann!b==Cg!7YXd(l}L$*cFETdeCcc z4ZW_Z@$E1yHeW@lZ7>XI)G;i-9ERmp4CAR&lRRLUK2>7a4FSW(vb2dTO&A&*$0ZYs z=+7)ImM{*{B&Eb=4rvyF*_}Kk7I-FWFz;zfY*tH&&88`_MhYfE1T`(YLs}>=7SUfl zn4lVpidu*(vR+`+vWz{J=Dzmu$U(cuZ{qR&@PkIaUjx&Em~sbyGH{>@DVf-Up}+g7 zjj{@{eiPr=kD*b+ii67c03jhy!XAWsqBvn)#)JiK%8DimD7Fxn>VFgf`5*hrjDHms z_}Q%R)L@2&x*L?6AI~RzaD6>H1E|j+^<>4uJI8-XR-|3QaICn6UKs=R{Z4h_kh!kJVKscVCM&>#be&v zYlbUL{RM{UJ~-3onCj&JWAELgEUWJO&hxnU)~%|0t8P8IySl3%=N@%r$k0P8g9IZO zxlczHbXtx`7SUp9Y0dD5{$N!R4UGtco$BsFlt?)XWm*nS$b{Gxg;-dIm{>^0G8r`z zl8}sKW(JS3mu6O5Zdtu-9J3}&7Hh&X^ZEYv-shZq>sHY`^oVEFD$YIU?6V)g{oB9y z{_Wo91=Gnady9Zt11N@50rZjoPXP2lmK9&G0Tcv<_C#(yzh8d-zmlQu5U!JDf2IGn z^howLh!DxEQvGP;WLwgT##D5x|He^ikxb-s2__u7uw;T4fWG1$N1WcwZui)v`_97LRAB>?V(llqwyqEM-f7RE3u<_kbPz z6zx!c_lFPx;SNSO9*mJL_py5&g1HA^!5VLctaHIN>na_RHS3%J0&YYeYmi3XWbEZ$ zMK5mRrINVWtmotiBH=zhk^|QRc~GQqo_evFi>Z8+JixG8rghXr%n|Yc&>55m_Kc7R zOy1v9mj@`dBy0kzKu{x5a*SF)tg4lk>#Aqgz&ET-|Ghck`2D8oYDEI1&%SZa1Sb3# zQ_uz~Uv0rlTgCt!qIljWkIUOKZ9rjpyxrEne+P*3>?hFGA_gdXX{+~DMftnC-q&is zziz)nxwQCm*y3*(4|KZz(|WJ@J4j{2jr7&RfzYA-KZW^duQx;V?3*F{>iwc?*|6hn zliAxGy+S2NO=ra`Azb8+R9@s2hJu5_;yP+=^*h@s5%S-E`SZWZ!Roewa%b^7W{B|a zJ0Bfx$}RSDsK5kt%Nb@AJ_`)Tc__zWcsN`Pvw=qSrmyHy7BEl(Uz^?n+GkBg9pFi-hTsGGQ$u{#=!2a8E?u2h3alb z>&gTL)rCa+xo5_nd-yDjKcwALXC(EpR}cHpADFGM43=o|=oyai;5+*yAQ|M#LL9vGw zMmSmAm&_khFyYt%g`>J;GojQzlPrr0T#RrowI-gjeXmeP)GIy|@pe9Jj~6`f zG~@MJxqNj_rNQcuWYi>-!_wZYk5>^V1iN@-!JW6W`2G6qXr+42o1vdr%A~L)lMdwx zKhf^3a-C9Ss8~$6WSvsjH2&pTadHQ=0g_RoWcdxLCOXrL2sl3rfNSd|Yl@Va<<|d@ zCF8BcY$-DMr zJFh`nF3-mjlbMRg(T^qPuuh+_M`>}EN4^|(NwCHfT|)_@w&v#Bg08Yq0$~mC2I%JA zOXS|0(c58tkiJvM+1r{G@@(EVKJKTL{_A zG92=|r(|C$*58d@pAbP+tbTk=!Jsn23$vQV#@W@ol8-HCP2BK$hrVGr7ng71+sK}G z*T>iH^cQ3gFbGi&A&3}pMgnJ72oo1P&{n$z9wxr`GWF1VaUmC7CyMK&ydUiBgXw-+1(V$0jrDwMxD^k7^?NmepcG)G*g;_)4tv+o28unl zfr4}9k3$ajmig;#+1o%4Hp@mfyS&rv0yAXf+M8s_-XxpffIj*rwKp-9 z_}caXZ?;HSVCiJGh!Mkgz&EcZYQ_EJENXHVy=oMr6$kmJE%>XX1BinO zp+20UE`@GG7op~Ly6DLRx~}UI^tL7?6AJOhX(hAi>tyQ~yGxLgYgH%9Y$sb-zBtF} zCaD#;5dwh@V=L%PW9c9=>d1`&B~kvh=0L1{;=TYYQ~CuB=;crx#Y$M}J^M{?h3H~T z#3YgR(4d8!xQ^38GXg9q-0)kE+Lo^m-_oB79qx!(>6_(z+OdLxzR-N=i+0rv z^hICtEg_vo!n>BVj_#4FQD%J&rS`d^C(F;3(Q#U&yLa4W#M6z%g-(_Px|2;ZZU}TX z^|5?rIh*msx$C1}dD>mhx+4g)!aZ>+^c-QPC9xJ&*H>zTN$C8tov7M1nY-3Ut?IIm z2Enerf*}rry#{ol33H#dm)T7~P-(j~r74BXrhXhQ(vgX3?`mwvDm@sX_2OCRA##aKAT4c`rGqrR2-6_sIE#FbJc+|fe z{EA6;U+EhSRkZ_+obRoHc5dVIa4R8a0rIxI8Mlp(ClvCt=KD$fZ`&Pa3G(q?XraED zeS)T)T*wM4xEW=h2nYCLDK&>|?Gtd^e^PP`@giw)T-aI^MpDfbXuvDzs-$j4C+=R3 zh+^%24Hw`|B`y%h&)OhFm~Oag`Pv~fD``|EfYpITzy!5y+F53sG^FYXKDI}IErC&` z)$)7%P%E`P|BX{~Ro28ulL|Rf%~=OX|5c^}E(|Yk@GFAup_0oyNerYeAT<4##!@Co zBIcECydwKCE7Q(-ZdY%WR;2h2p?3NB8oPIYQM}EPEpdzZ&dYg);dSbvd)#YVgARWp z)=%+!`Z=$?P36<+>S<5yXR+e%vzh*^ddRO?^UcoC+u1|W*OJ1yFZumV`^`ik;}GyS zW9e^ z!EmYP{qFsH-Q^lr>?&963Re?RsjBIqyAU*?^Ch$+P6w8p;VN$TvN$aXrVim$H3>cVL^r%70wB9!A+2DZU2;aR0;WC)Rnd` zs0JP1qsohOkzaE3=0V>pvLNBx`~`DoGhlzd;d zyFcdvA-95O^y(Xz9XBH&UfHiejPZrm>=NvE1xgC=shwts-V%L>t-%kVBO_4j7`bs?{#OW%LMTqcv0W&gN@etW$a{Yz98 zC2XlrkOAKkcvhUZ1HRG36f8$BU(#H76#<29!6^h%Hx(946T2wc(A1Z&nELvw$|ge9 zo>hY&Y*p4Gdo-4j?rH$X?rVy!J1O;1R{K%v?MTe*oW>SLltnMr75=t%d*#>1JM56xxsgP zi=ScE!72ax*}>Og{cElMJE6bu_rAD)fNA5`8BWnO)FsWNfHwz~px1UPd=m)ff}D|! zxkAVG%@u@s+nDrF+vb_Lr~Slzm|KFEZ{)(n-N1#TfUf5vMcU?>7FUQSvyL(PF1ZrX?rT+}@4OXh2zpJzT=&i9vN-Uc1X zEobxWLg~Uh?=RDMm9Md+e6CxXSB{YrqSu5d1xL(5s4RYN(ouRc-K(Gi;}X8Z%)F2k`-k&1|v&nNN& z0$dmbJkJ~=$gWYoH=DZ}KvEohhj0NA?cjud2|@>CtATt&HFp&0F`dHYTYWK9LMjU* z_P(A2Wj%L>=Tv1)RIgUbSIN*TUlr=^&?hhg(1XS?IL%2>pQ2AD^_V;YD>kyiARsGK zo~#sX${X>zDavB0<&B5eK1>U=NfQU0a3SLIKL_GcBPk5tL^`2O(R5T7lJJVB7e+Tg zBM}VHNCX2k62X|YspA`k<6}}g(HBlIg>cuFC05~fOG+iw+*IcX@Kl0Go@Sb=)5Wm^ED30UCe=;I;;8FjO$i ztX4%G!GXCUxU0@1_^c3owvOO|2GwYih!oCJ@XVuyx>TWy6cG$ABHu<)wBcbGZ;XnI z1{t9d)k2&yfo7Lc9R?=!8A&ueuQiSus17q%r#i%_J1#c50#9`Wl3}W|ThDgasgA*L zkm}fbV}=51oz(0SB7-ayVzF8lTm6Mq`0I72QV_n$>DY$eeYoYu2%@S zBnm6AN_V(Q39%}kdivX|QSr{=6eDPcEXIHSK9KQK%mN&)M%!A@p`jgPWkbg zrD~FvEIm~~$#SA*vb`AB4J%O}>eEIPk#QbAA%lXgDQ6#S!_iEe+>m(!`jgEP)B1pJ zNcCjFfUGQhT~_Ffoj-LsD|r16fbLj&V`NTo;{H}~Ui z*kljRDkN3{??z~lxCQAoZGxq3gj%~gD7Ols|zff%WP#{xv8!?Vj(V`78GH)iv zU;@-c!JYktFYBgIy-}>~te*2JM*_Pl+n*3gEL0Wes$FeybCCPHHy7RP11U@0>_WzF$2If<1ObWS9Ss`;F*`W<<`YENf~ zL&s|4C<{PoZ)zuNeJ1DlR}&JfDvg*iG^tw0!k*Ps3-x4^GrQytq6%b5<&bX~)#w@0 zrCndp)lkQHme~hi(lhLr534N5_7GQDFlC$z32#jr$Koa<9;LvucO@^YNi*5KE5Y(M zTN)CPGJ@d_jb=vUld;v*pK@VgKxWJXgj48nE{3{tJ&!m{ZsR94Hr;>6d?hp9UIdQ4 zJ<6y;d^ifbT^m^>f8_!-bD3w+MU%h&?#2R!?f7IG4&6A*kw6WHn_9qF)2W3h30)%W z#Vxv;2(4qNmW0?bxAR*?$n1~VS;wF9YhD}A!!reVxMv;Jk;Q$~Kc_xta_!|)3Vy)z zsF-V7m=3!c@sP4TMovO@Gsb%Eb~Co!Zbq39Y(iUzOBC-_%_1mAuNq> z^3#p{WJa&&Efaa2D~xkQV^p5-MsdH^%?-&B_mAv^>VA0u6b=_G0vx^~i$HEUcsF9l z%xo%2BNSz2rbLFekwElxiZeB(GfdiQq~(GuLkV{{p_}>W&zH?{OEiiq;a3NG#--8U zDTrmxydp*3+@uTGI@!7E@&ogFw@jj0k56~?7l23NY@O4paZ$F;MQoh}HXya|jP;>Q zCtu_TZ@jH@x9*m+-IR2;PA=E>7c~n=o6}ev(MuK-^`KLxd$M)*WJkj!LWo7Mb=qr= z9NQ@|a;I#aJF_O=dLf-2na2#&K;9w^WH#^77ekyL<-L;lN@A@)QW|6KJBlVCKFr1v==SOyk+v|wB*?iE^M*}lkiDd29-KktHB`vHS0)gnNPxmgez7M zGjc9CW6eU%Si`uaJXxA%1vN-t+M+3)&@J1HV1cwGv-J{XEfS(smA3g7Jx#_h`YcfL zrGXUFXE1UGAj`?u?7pZ8UUU<@$4@XHk^hSuV^!Nt@S>k!w{0U#uxumxlqKe-+_Vsz;6-Nt zwLxI>;m8*A!+0-AZg9lqMz$I4@tk#&SraH=)?|f7*@AW`GaF{sTnx*?U9+A8O;{q( z2F;AQ12om%tf{%;h3JJA3}^zP(0^HT7P7rEYeHGHC>I>^s-#GUuo)z@S76Xw;1i4qdzLf^{hC_J7qWT%nzspAu-c(!7-@JjWoAvfvXt3-!bmD0 zt9?(#oLO^P%a2_(&a7#j3T90^l`#xL7KTO0^rGnT?rhq$T}Y^rDj>pJsx}Bg+382! ztQlIBg~2NEW=)1>^(>V2I17V@>@5t{D`#OaXgCW)`AS{Vb8p%zpNr;$9=w6kDnpo= zHQ9wLq0|veqXrBDCOgsZ86lBbbHwXK(UL`@C8Dym4;!*y>5FO=I;$pVT2T>(-t+hd zZaFIJjGDHfj8uR`H$oghBGCvI$n~NaX1(AW88sJ+^aKoST5}B#Y0+m0@;1ath`FiG z5fqDtz)|(WjGEJhjG98XVAKp9G1~P??0cdfuncxPqvqm(QB%Q`yFnRHj4&xxsEOK> zE!vzjErvVrN@twpMVR#Joi}RgowqAh@4Qh{80u#pJhM7?Yv$!3!>FlGnf{((f;Vb{ z*&3+9P(+Dv0#Fn|aZY=^iv@@=2q=P#H6wP$&wC?lkRj}{&{cAv{n8X^*DxQw8jpgkhB#f&dQi+`2Q9fGZ`BaO-;TD zLJv{=(kr|r(_~~6C@I9y0rnrSMfvItNKl zm!?uRq7S6SDn@m%TTT<@n{~fIS26uYXI^i!T{YV+n>7oqj!P3WmC)18rk8>A^yjkf z=Y9e6iS?%jCe&jzj`Z?zsdGzohEyeVx%n@4JB7Yw4z z11rnHCCUX0b+GMn_7f3^r4{U0St0;R>nI;1w2;N#G&4&+b%MiQs$_i)4v)afxwjTJ zxWBZ0;+qF$4--L{t@ZcUA_%$7RCxoo&JlGorSuc#ZU=v+!FtP#*)h6^YudP~1)W*a zfZZwtO&B|2T7hH}Y4=2h%P=MEkm!mH0#ZPV0Fay__D=7&`r|u`1ZRcvUAI3?leO;;l0)cbs2S& z7-OO(^)RyClvs2rB)QO#_Uka6CR#Y5M+yN0rKHWRBqcvs720Z?dXAyXnxj%;-(xpo z`sd{i#R6DkpvKq4$@1e;} zH2?*BE=J+L_qJk9{Mx6_SFSejX|H12Ie<$f+*6*xj(Ur+`jl+ZS8oq4`?}#w#nicx zARBVMLIR;=>C3n@I0l8hqov%huuH%}vmhDEZJy;8`VcP{sbo71$RdQjRoOu02dW6& zYM>iu+4S|Uh-Em`9uMfrgV=Si;3ty9Vc|6vnbxDD|*ox zt}-pI>z?md{q;^)>~<~)9=B3x17=H{>&>p*P443DlQ+0xH8Uku9dSi4Q!1|YVO7jk zdQ|bk{{a&>B}^c@ia|c)+kKELkMP);inYhvqRr0fZP64MhIR>ES$>8=5#a5R^P=Xw z1UlIHu+6yY-T%hH2!-I(w;u#3*IbA&`s^D3C8Lsjf;dzpy)WL4eBxNMSS8>J3wqfY zliU0x#|aZBdnaTS9stho`oRpM4o;TWX|hF7(1yKvw4Y7Z;3ga5ouuF z49>0xGlQG?8#A~maHSbsRL4w4i@tZ5AYpFV{354yEIWPs2hb_D$-J&k;dG-jLc;@Y z6=yx?8Pdx3sb}nJ3(R|lgcVxVT2=BRY+9$mEmW;l1Dsor{M>FGdLlO^zlWv~3KZlq zNM5lHeROUPgf;u=%9L^(lWoGCy+fj7bV2fgE1(pMHwBqbL#I5H+KG8RC*}!=ne%HL zL_lacKNAh{e6IwSQk0X{X<|bcp&eex!9yuTl3e(|bRLD`N;lY1>cwl9P;1gbxFA-F zz)M&%_RXWVWpjf9EO=qX>})zbg%b?Kx1zpq@P{R^(3}%i5LAN5fsle!ZBmB0ZkS3$ z6@)4_kvR)$NTjc|Z?Yns-vpTN#>dzXXM&JhKgGS@_;!sAo2cVN8Keg!B1uCs5tX7$ z*8mj*79cX+uUOEV`UX3Qd(TrOmM|yQ$xm&mHztV57 z$npJ(05gC@EUIIJN{j3^^9z6J^ir`0UtEJA93ai``PD0bt=i6M?JWCAcACexy*twB z8I5B04g$=$>)2iEj`Fom&cnl4JplB5?S{AKp^~!HxsjE0ia2ZJ zBoqOact|&pzOXEmPB=D(IUgL}OS!0ZyoBF5MtKPUM3l;)Vt0bf!(aX$c>USC#3d2& z8l*B~&(`7M9r(_F$-(H|kr)^YgnWjg1r6DJ0P#kWb09pCAGY_UVM!7U$hOPPoQtD- z22coR^8M0bE(`%$9-_Q9?Srr0lmpec@vR1zqd9AvB*Ir;k$USR)m@}ca*V6a#`b%S z2{f^zQ7Da|00HoVsvDxg0{1(2Z5=a1f5`)tjhX2%&Bg$Rh@3u?2q}9FfdJ<351UN^ zw|DtB*mI)}MCRp8Fzb3${?yx(9j6Ce|EYTebWHiQI{5MAkrb{Rtm1K@-_bn>V;bdi3z4#%kXIo=@pzc9Hj$4F-3I7Q<2OW?qF+57 ziPAKlh$@a(>k9<+b8L-8(aqy;XZI4tcJy(`XLEF876rt6+LFF_@DVILSyDF+_4u6j<0j__zbj{zs z%lX?IuGBooHA)wr5_z0Ls+5OoiGf;BQO{TkmanTB6jL${*M>AHPzEGLTWPz)_c-=j z7|g*D!XdDeFb^AI0Bg7s)?yy9ZBAeCn9|y-(7DC1ebh(H&N?4x4*)fm6y7RRakZZuK`)I-q&CJdp}fO8!eAo^Y| zK$I8}#Z%$kW2~uM?F=Tiq^Uz@kx|zuBz8tp0q5pIx`9 z%Z+50o8vh*$8&Cu=gK+OCrsH+n`5>rX^wY8+5CSY?s=jV7w4F(Rm%Q+r3 z*bw_5ScGwV_=`m`yG#kgy(GDrCB}tyuFFbaFd$~BO`l6J=A9CT>80uQSEg4PEwEiG zgkZ%Ci;W)~33GY;7$J3GnS^T=+nmq4MWdh$2+f>ZJ9E|Ak>xP&@IniS8m*kIBY=R2 zKr6Iv=gaQW-0t+9QXHLDy8sfF76iv24!pBDC8O|YHSl3oUu-bn#YZ^Cce16&s?5N4oYj=6F3d$YG6unW2f3fDIY3{Ieeo}g*v>ioRL{I zyFxXdT2ovrh6c(v&Qorn7<^;ooe$(Lt$zToW3LJ?m_6Lg5y{SkL-0`cfQu`OGSK@0 zBJ<6)AtEEk`EdC;k(oIoGeh-It2UUIG^?tPP!os={4>xQAYt1%fH^29at!)=G-_&Q zo)tL(Z;Y(4cY-BjXXgd<;ww4N=j1#WSeQ_FA}m@Y+z~KgV4Zjkd|zvB1Wl{jE}k=j z_bmSvJ_px1E7|%K`s(_j_Ju{xblQ?iIuuqIb3?>58NnLLnew8#p&3N=4MWbXF8ceP?O|<`|iBmT{T?<@>$~|HBG%+AueRyxpyAWg&i7_yFH#cqaR>1l@(Ep-b%n}~_2LJYE1 zk{-g+oixf5NYE2}uDL}N1#c?O#<&D9bE#9850Q%dM2UFm6cW_qePDkoEgat$je;?F6`ocXa zvqdBZZK)G-yf1d}vr)C0QcH=pwj|hd^S)?%g|;MEqJ69hI^KYVqa0}BKeFO_D`g%N z5M_^EE+4fl51Nvl@X1C3JIN@uO7cW|AqNfd{&ro>Qio8jG)(zHJwO8is z!QIE;!9V9JkC{(Wjbyv8Ovz7@?YT0&9?)R+1y_x^gYvc^04Go?v+zUyN}sG8!%2l8 z_j3*Y9vnng7Cg7>s;<7(w^CUsKEh?~51&zeG<1~optn%T0urv( zC2!KrwW??>Y+?|I-9Lfx{Vvt6<=E{*h!v`$bRRP0O=3RS(T`J#J6$~=cVP|VwXlZq zA|Y(S_PFT)BH^8~@3x$okZB=#?>6<+!Zln?=s4~uqgqYSgGL`En`|Uee_Y~=E5g}n zWjJ}r8XMl}RsG(d39m>c(zkCbJ)*99xc= zp0;$n5Sf2Oz(ux3ezs|dGL+OmRKk6GpyPwZts(eSNJqu~QNu8O)Xu*$1ql5>>s!Yd zQ&5HAxtjBFfQ>xuI0`j+4sla|T&9@X(pL*w-}cWNv+C>K;*j)#t$Vqrwahy2j&A1y z9R=HEA{5%;i3A@rNW$Oa!p2chQY=#|K|@eyYnf%~2T3HqniMWo5x>7-zs-c?zQB^^ z5~FL?*K^&EYXyWvD=^K^k5%V2pNndVo;-~|3Kf^fwn0}oxiN-vJ@fsu_&U zOrAr`m3{3-2ccy5a(Lhu2{6QMO`p?4(SFU!p=d8OoyYGLGF_4!QAR=i;G|`G$8W+N zrS@?l6`%|k9DTcVSripVuInmKwtGWKe(F`;;U&V>>A%5OokLNKnHXzOw>SW+piH;8 z3GoLu+Pa2@fv5PG$)ekqfVc^o_Onolw+itG)dVGaOMlh zca%}VrAgyTEpRQPgFVY8PXB8Q?a8$ z3<8mR`$4$)6)F%RQUzFN$IN`m`R4}t$Nqq2*LzgZk0u{a;^t|$z-TE!I#xDe{0y2i zE^KN8()`Kg0&1}?C8P^mWs@IE`G|a)NHiJAiE;WP7|^iPczK6Yxry37N2PAeqHRoy zDts=@W=JWFbAvuhC~AHzA6w4Ge8x%z{rRVWxHTeUWdq5Kp0*A~FjCCQ>J z;9&*VPoEF4)fHfkvAK`4A(a!gL6%Wl=#XduP(Z~pD<=ha`Ir!w!j`La4BYCoXaXr< z6Qg66<7l%8W!5lz2wK)ztyZj}&`Ox>PozhVf*!1lcSO-W_A{w|#^q1F&8F7)pFAR9ELBV>hIImwgd@*@u(+Dg zLmUnX12{Kx&2UayRi#7*ftUH_^v7&^KET#KQDG1<8()UJPzGXSqZ>q+NkbUUFNbLv z5>wta2AnC6bxO!UlTZfYP&_zL zGmRFH4LrG+GWhS%EKMvkpKXe`vE=~AG(cvA0eWI_8Z7PhCvhEOuYeuBE4hXXy4+P< zP}i>D0{1`61v&TC#sAY19GRXA;7tAB`TyXgGxNv|H_5kxSPkt{=#~|e` z7$LZ?UP#TFCt-DtV5wyVlNG@@@!fm?0?HaOUXHa| zSEz<87)GP4`w|7o`r6Wd*tSFzl%x+pi)Vzn?5xm*K8eoEITdIf@KOO!K|JAKwO7nX^Eg<;AN0X6fSt=zD?xE? zBVgPEU znZ3_=PqKl^fDc3(g>rP~W3m}r$nd?)gbcK=XsxaNW8@hU#ppNee@*YO0Y8WUEsNp? zS8XD|ZfxIRGq&rxu9RETmG4)%s+=|#P&K;>bYVvUKkO*_bxnW6nS)o=$U)_6c$u`3 zk673p(Xzo%Kz%`e)e}Gi64}BD(-h{OHuI%`Bas-BQCxn8PMD$jpFGGfuDzevgh?P9K3_ryDAaHxus+&Sj42g5eAh(KWvwBJ&8#0bf#DBh*tiBo zs%M34Hbn*Dc{M{*mO@CVIPK$^8^s2ngvA9W zKe9#+EP+#`YOmdjKx7asqe}k(&d@0S+7cpR4!tuM-Nn+L%cH+`b@U0Xs*9y*pRv~7 zX{}+ycdccO%cFN*9sTQ2k%%RfX@jc~N8Lm2$h_r?5X`Lphjjf6uD*SRZ)q&|>E z%*sCM`*~LVq}|7LuXc3Za127c1Km&COt^eR1!On|Qw+xcnxY;`U$vi(>ffZNqEgD3 z(oy%1sf!f+rJg*jezkN4Y0xGhf7~H~NEGyfk$$KT!HN~*4 zI=AXYI>amG-LX2)AgO{*ggd7W?X>ZI@cghwHdQ*^A2yOu9W`3I<7osqi>Y~1dFF-l zVwa-I*sw){A-=^E_WeV`YjydJe)BAlD_I@9A}k1!Y?UW(pvA+$IC9I(?f8pzShvFL zEpekGivYAM;x7sdJpcpfzkydggqft~Sj$dx67UH;HGI@2L^i`vCu< zv6uCHn0NhyI#=;5;1jH2#sAs*_EJ*uQl)9|cKh}H9F^AAwgDINt!>@ugG}UZGF-MRfeO|C{Fbx$?_@BvS@g4sYTRFws2uxf!$6HJU76;8B zH{%S=uSWa{sU=xjD3yUQV@7bg_I|}-yaLB@e_WE>Y$+i5ajQ@6pm_LmqO2H7i-Who zC(k=Nt0RXlXu2S-{P!FR+0z!z!=AU(6J7(l&eF$5k?tBux=?SDtRv%B!|>iNwL8V{Sx1FSCG<$bIGdY$LC8 z0fWw&)Nujv4EcKpxWIiVN8$pQlwld73v_zcbz+EW2x*i-mY%!aFXq|=Jk(+A2BAZh zxo#;7?CYULV4Y1X8T(W4N-<03YEvM0O|16&Zj=YYrEH+6ZT|^!x5>?-T^qs|ufj6) z!0!Kll2(c2Z?`#a7;QHxaC&NfGXFk;hZqjBjY9=@1S%%?SggNS2Igt-3hp8SJm{sfU>!%Y51#`X+JTpTo zRsc8TZR;|BRa4#$SC=Jonysp`NX79mJl0t1?Szwe#z`>XRn}exNn{zB)ny^Trko)= z&-0M{#HlDL{t`2iCusMuncol*r(tck%*Ah#(hix$Sp9h*TK|N|v-~cx2+-Q@v~#*a zJwTb?`kiz2)~CF6WABK)WBR!OjBLE2QSlHR!p9 z6Z&#=gA^(sUt2$uT^U7%^T#tPJB47}7`GhJ<3-$`lwS#_9p{SHEj{C&gAw$V5E>*K z3WepK;v-o&#&K-(0L}vdh#tyXW=z4bemhzK4IP8|Qsj>QSSAA`VG2=SfkFiHAUwEl zxLej|@@$nSo2KfYL=CI3EhRVxAs*LE53pGtx~xMy%AB}H(4 z0;{(agTaSOldG;wd%^>`t9Im5bhBx`BIc|=jm`|iWD_V>%b#MKW~@DB1li-QR0KHQ zK_!kBfaDhvtX*uC+LODXHfsYP*!OsEmzG;i?04mT|W~&0j)9T=A?qIV#i9jhcz?WXk-sN%9j09f2c2jnay@-Q145%m)c$TgdR1xJ=p>K2JCgdf&X$YVGJ@WYNB z!U)Xb7{k?Jgal&A)#rJO0auz$X*pShD}XExezZ@Jl@JGdfWc0nQokb}IMK-nW{$fu zO9={Kpw^bY^|nc&9lj?lq*{_uW&P#(oL_L>^=X#XIl{7BxSj<@@gG~aEdARxDiH#L z3q%MynS?miKW9N^0x6_kca941rYmS><7LX1+VQI)i<+f{feKo#CA$*O-!7j2dGsHP z>BmE7sbGk#QYskRPy`z~+fzzh2e!RBRnCb8x->ecjzX4gj`ZL{cwoaO0=_(tmhHIV*o>V- zvbSM@cwcr@9xWcV^@t6hikM_jWC9bf@|He5#^@h#Vzh*#UJ9)onN%Iz39SRpc=|bn zDNsZsQHP?;u>@S3mnI8W;(ara9|qQ9y}+B|{ScR2pBL&;`G3GA_vD7FgXmlTvQi?OiF^9yNYhZe+ zM^d#hhf1UwL!@!bnGXkq5k8`q)jZII_2rGpA=X==sHdPJaa3oS)42K*G4zy($!s#n zmTh#6C8udj{=p6lWN2CpchE!zPAGSQ3{XC8QB0jC!Y_Gk1_K!gg5&)>Bkyr7vy95$ zVT3<#K~s=>MYSIGSDjZKA{p-2ZwSnTx9F*3+WqX^d(DpV;vEfI! zz}_BF<(u3)ZHS=A_0}VEKHxD^?>IThynhlxxV^uOV!-&f0Q=$Mchh8wUQ*3hP_tNr zq8KidB6m2S(B%poI62B3;0^y$0Nn>LvZN_DXJ2MlJUJ6tBY1LzD=5{}yRKoD-XVgY z(_&o#3s4O8RZ#13n>Rhw7%MEnAo7rh$cBdqY{AA0Z>k`tCREO|p*I9Q<3lzb&?{X- zl1TN?ZxIw^jS;zL6@*{GKs^NFkc-aZ+75-ISAqqSofQr6D!r7Pb+YD}C6)8!*ymZ& zTEmc+8JB{=Ueb8Ez6h7%*Hw}(B;a*55%_S3_f~+Q%|IMxfKO!=aT^~w?A<~8KUW}w zGQ&WwlKF|&bcNF|n)50p`4_tZAcvJDm6tCm2^VnJ?t1ytfd9JLtIVHfSXqO=zQ<^! z6RP|U5r?NTecO6DQmvQtDv1|94+>YBuh&FFFUD*UW&bX8l-B!repqQ?n==!y3Dw(c zu({YW%e4I_V=_^#gaxr862TXK{#edsNCkQ^3ufE7jF?L%>j=b$i}~CISOtk!(+RNU zb)T@ArG*E}X;>%%Enj=7biA{ih9sJJ~*g;DEF$cC0PMfKmp1L_jkMtJR zFip%CoXgFZycckJO()d_i$>I3%fq5Yv6R0 zdr0Lx2ix#v2Dsht&?wZPYK$&_%UAM(uCRv-s)WYQ`3j!**JpM8b1E3_?Vsrd-cOTK zxEky8UQkIXye)-_k*rVQGBwucmhKgztq9Df@{+KjIQt8deSNqLZw|A&$py?96SROC z&jYEjTDgd`3Ii8um3Cv7D@4O(t0d}GW_l!EbEdnd*Ar1qO5dAQnzL=TN%}@ujU^go z9rRks(SQ_F?YeRGnR&fdl@aC1i>gYS&GLq~)C(MHHHfCv?rc;+R85PswX-gLZyE}w zvoLsp%Sl<`N!?xY-DW(d%`C9{EKkHX;QM`S`ocibQ$fYOZ-n=4y+==0Zb;toHdPW- zI-IdX!eH(W-ewp?hCnUP$9z(ait;}9slD4afhgu#?F?-S8Y$he1ftq&Zbpo(NyYXq zi>$|Z5@NKV(-7^t`_Y}vbZh)jcTS{Y^jWv zXTJJvQ2x^*RoDszXbkYyXOqer{lvs+8OVL+{fyvOz@8il08;K5>bDfQ6!Wk`E|e8g zAj6=nZ$k=PUt%Z)t}NFsr(}i=pYOE09HARckbqSp+y%ri`(rlyZpE=#Mh+dUTLXbvK-ThcAJRfFn&ikP~?-E7R|D4 zFmGJgJdT|Jb(c;ivZd0FH$=Dj8e9gw4MDkMYeE9Jzqm_kJq}r5Aq84l z=?QHDTo_c;BL8X+G@FTE>Dp44}G`ewu&-R{d1SARQajK*5%0Qc4e*2o7_Z&{+qj6kXy<9&~pZ z7qExC0V=}jts>IgTp3_|6DXe?>kb& zN7S#bW|L;WC$q1TK0tG{@y{wYKa{VqZnzm$6Zl(JgD*{z{$=yP}UDT7ig zh6V2qL_R?!+mPDY=c#WH&#mv zJEK@j7JNovB|`|&LvCRji1{{U>`;zciCVM-iChMK2{OzGl8~C(3vR8+NQ*eKMND6= zr4z(pU3`C$hr zzDiN2<2138UB!!5WoYCH-IDfzX&pLk{4DBcxzijCqPp64x#p{ zDugGWSQhQq7`Ap4>T!K{D4h@-QsBUjPlt5@4!nWCX=5PsE+{dk4tLCrL?$g7k>R1; zp|uR&7r8<3R~nVPRin^RFlPEyDj*K*4lR=%T2K=bk9xUzbEv`DZw{5Du??t)cZdd1 z8wB$S<_HKfqkYKfNKjk0Om?*of!a2ShWYlJL>;aPYpYG7UNT_-yK%M91M_uqKiAva6!;mhI6tiCSRB7JEdY2jZ#BE^}Ssgt8m>J;9oM zBxELk2vL%fPTL0IDuW~AxVSx{pzOu$5nV~+x>u#b7Nh;7QWD<_ab|2_@BwBGr|P(6 zE`I64%fuTAE;HAHh785%8RvjuAy!tS67F9+dG3dz`#v6Tt@}RCn%nwMs_l^Os~vDb zo%xYhBi1-f$H28mW}vCc;pXIQJzqLfQs^6P}Cow5)T}p5*I@Us9=m5 zJU}H@yrLAQP>HglSgG;=m4QlhfQqHVu79HgRIF5afQqakrTo~=(`B~JG8Sfvf|c%M zQDI11Tp`2~8c^SyPG&_BM0`p;l|-_X7K2O%0jV9UBCBEwoi|eIYeMHV!6Rf^nEa11 zA+cU>sUR(0xVJd}&#-b9Xln?-5UrU{NQRThhe=5Ae|Mx2B8?&7NvUn~kaS=F<`x$hAc>*nEWTn$Z;q1M~9r4YP7d_<#E+X7R=2JZwG--{H8tw z{>3xZ@QX9{6djiqif>gfeyrf~*&19{M=3J%IbK8C^K4_PYIn#feOi_3ys8B9u*S4NMN4VC|REy7Bn zR>r&n4J76vFqjhP%qmIoteTP+pT5{vPUG6ex|7BzBH~gnt1jQ|SaQ=9#aC^SQwHnP zAW3q^Lx1W~AiBVwydL(qd=lKW-SGi8hNUtc%q}H`_jf| ziM%v8V=z#0vu6W#W&nDtCk1rPm@HHUF(@tepD-h7OD|I<=;*{LYX-hAS|4Xf$ATjn zwpJ7wTNPkd$=p>hWqG))lmvDq7Ln$yi165dC-;B&LX*=d>xDqko^>9KQHwc|z7hF? zl-yDyfUy|UI25h7s1Uyi8An-*loB;I9!Q#-pB8B2qp|Dlw~{gr<7%a5oV8uqwSPhooz z!1RW@W6Mk(Y?kEX6U9R++51y5DwQ!|iFqwnTl)Xw_BN!ci;6L2A8V-9^pXA~Q>~9- zp+@VxYWxs&>y_36{c{?dW}BNF8VD+@x<%*Qwxz>?gRTRr5O}KMD=%{#u4P)53?aqSh(;9w_s1X{SbudS2MuhmT|9957H!ZF|t+}$dR82?LMssu9NNjea z@il-4gFUXb!Hm&H1iN-3qn1|@zF#UP$V?lUFqM|VRWx~3eR>fo<3M&H_2`b^h2}NR zm`s=u)7RU$*B0G#PVr4xIU2E6GxR}@iLv64dHIU}0{Q+a!^?S@FivnpKp!fB7mFOo z1~7uj5l$e=31hJ*P;PFO`jVPcd{UOslzDhO_ zxdx2niKyzw-kh-@7%IIM>p1QG{u<*zsV}s143`5`YkZJNORtFKF$pSt!zaTA+27GyIxJydnLBdCLg1aW~FeuSyktFaX6d6 zU^xTnTaAoG$}pjJ87EYZVeq~#{)aI_)7~8^%{OD?gOltiA_E8 zz&2E+dX^d8p;#U0lmDnm=0G4!CHOa$y;ae^EK~Ve<%ww*l=9>;&R6!)FNnh`xg}9rzJx8OQEmZd!NTW|_QC=tX<07X+G& z{sI|j#EW=|{~2UBLk-A)J@8bc= zrDjnuvRBA9j#W4ZDWV*ImUTU-Me1#?AC3OD38%0Aj0+4-1X?THE`F|7?s~xsD-iTLmKSu@ zq_?LBgeb{ndX4ncLK*^Yu7$q^x}@$o7tqA7ay4U}Q01jq6pNT@`z(0L%DC&+zp2$N zqsTf)tY8}G;nCAs^PZ!pKM``_QZ&tC(j@{V03?|em??H6hBjKq?LWsj(}q*T2qCkM z2u?+t% z6#U}(UqehU4m!KOF^E^}$qx5q@>Mj>O6YwNW5L)#W3?=9lXIDT$+-Ad<&?xIT}$rWK@U?laT+o0ZmYj}Wz$CCnQF zpmFvqqdbFB_com3ukMk_Ypd>EKhQloTYS6LJ?%|=1Dzh}xz|I)2mL3@BDec;@>h~{ z!246Pf*EB~zHGC-0DnH5hZ>tbEOPcRSRl5RUqP6P%otYO755{6%-S_8So)c*%wSM; zG&5`f`}{=Gn}XR!oTtU5I0OM1(t)Ep8?iRK%l3yJBi#r=271Nunk1-(D{}zknXiD(vLa>4 z9gp|}4@lQ7y9?eyM0^FDgs8Gccxu2--YGhBDr>Lg?f0kx$u8`r508&#>*X6PBU`-b zY<@GY+Q#{uF36}18{ffnaE?TfAYc!*8}5tInEAi%W`U|Cl){lk+!+pD+&Px)`1lt66gb z_&hMlV~vt6HX&T%spw-*#tkY}{E&Vqw4nVNu?N!+nSXv+c07Pf+o3<+U_w1_x^)KW zT2E`Ov&s=E)jE_HOlJL!Xq@I*4)DjwEsy$I;E~n>QfVp%Twe!UpaFUxD36jffCl!o z1n<#5{L@{hvaywXYzXQ73qu9}u0;D0?@Gk4zq5tJ7V34-b{O@OQRpxX{<3%Fl4SaQ zh1K+jy`h?V1HQx_2mCRc`XS&;O~n8$Fhf~hd=z{vlHMP!L4o(UcbR|pvb{?O-f^g! z`*7{w>ci&1OU@N@FYmXP6N4{xUY(jeYcJ=*OL`mk&Rg?Z@|zLkPn$^xvgs{g3KvVg zFpw4zF+s0PdVCqc8tl9xtPN2X(H!YIT);y_KIVg^fuRJ-$lo{!LG-9So8WgFfpG#e z0V0>=XVN9ebcv2H;S(kn^_2h^3OUt}vo50|H`*ipX((zhYx0f_0wCXn*Rn5BXh(-L z9Xe2$m25(EX8P1hJ|mo)5q|JWO(+hUCbSE|8dTa`%UYB*EShwtTH|0fd%6p%COVm~ zwa|Mu+bwMZ*U2ZuiTdMDQ2Xg9i%zos(2{oml6TGklsEthZUT^wN@3OZEia7$i6~;8 zb7%>JByS6So=~=n#EqbBo8|;P0cp$zk~e^zHano1RY2kxAIbCmwgG8EBdG(ay$z7G zn~QJJST!A-%i^@`EExt8?p6;Z1jNxm;w+&GNOaVIL~lHu4u)hcC=hKT0)G{vw-MWe zC69;VRE_eZ{~%$8(K0n}drb$L<%$o-7m{XHfD(*scR?klyr!96J064=b5Ca1QYaUbQ9g3E1P^fBMUkiRp4R1trg;{REW4mt?WjHezg~9*S&k zZh-AgY`}t>NC}2s0874e8%q}7ahss%P18<9$;oN$G&rL)Sl(5bk5n>J%qJ)$YIl0L z-}k)(dAf0GcZf3Bm?-I;!+_WGUmS)h4yB`!ly!c$^QL~s`rXS>YyXx8l(k@hS>pyK z3aj1?UG(S6qCFyY|7E<;2i3ENNELjfptL7K`8Y}ygGiZ6@_ep;Ces6X7*L@j(zAde zeA#>tXUh6doApo0+^kQV<);s+*n`sC>)*HDqm=Zn=~n&w3-VfkyXE)fR!xhiZR2Ov ze(@rvKg|8EH;VLqLEmw`7a!TfXjZ3Je&*!SFaJ+ZUTB;;y817_weeW8qAK(8Cq=-) z4Ge)eI2lUGrL3FvTUsq|p&&Hyf|>=#pY)u~32E#u)A2Iu_r$WfBl5WSUB~)DrRA-w z)ZLbqVvc$heb#?OOA?=GZMNl*J1a0PV(g8Rx8_ zDU7VS66kPtHO7-LS{^Ge0S0_E&BZ#1X~Y_dvuR&9HOXJdnX6nR5Kdbqz~X)4o(4G` znvUIEUD3909nG2Q=qO+a1n+I;oC?ZOPhDUbOQLAeNf>4cjP%Tf!H z%s^Twzj+7;ft;wR84#N~19dKFe4M}Jp1N6s!^(QtT*+;9hq>~PwWP~8h`!9?s5c0{ zBj4zAc!>fXn8`W8g&d%CXR`RMUl(28TRg98&(r1Nf<4_=tbeZl^nTq@_OXGdPduil z?wXESKD|=<}@W9heY6g7@oFXu4Fu`*P{{&$B4NqXVA9fv149O3$zTc@PojDzd zRVcK|nkJZ;_$aYoYjXp<;E<0bpEb>w^`#@0ImUn;P??TJ2s-ZQ*%h6%xip7-eTJ(y z1GC&H=hCgnQFHmaW*NHfh_{)o2WJ^w7l;O!1`a)2KG_D!^wVkY-NjI|8x8ryr?H5c1Kf`WF$LhRnOyWC^JQ7Xi z6Nw7T!Llb64Y#dOW^Kfr8pMnP3y zliymgH^FjAHfl>~6T4k-tk&w^irb=#!flP}!A&>d>}ZVL{*=i>8vSwvhyO~59C=SiZUosuH)w5^%5#-{gKYWmTSPqc@gu#3@{IS zG!I6sV21EK=3##^BUK^E_LFsy&7gADTDmC&xC8t;zzmsMkW!RS_90|$!$=U`wpu8n zJ2lOKl5V2-!9>l_wP8iiDJj+)6g?EStVeHP>R2Y znzK)4_|s6Z&Kq*_4!A)GJZg6 z+yQrb=7G9Oe4qx)1HzhF!IG20p2De+^^8CC*`X<^0q;HdDX)~qR{6yl0TrFB<=WUe*Qp8fcI+iD8 zpW9;5rseDoOwO=40=7@{L_DPDPD>6)Xw0QILk4~P1mSM$i@AW*8%5G z%^NXR^G39tH=;!hO4gDuf>Q|07vY=`q*Qnhf$(^Ra6$}t0v?vLrtS&A30urpP6Rt6 zx^x0ifgQ_iSB^8p3DCM|CxFg28nE;?m5-dpx3Ki9Ja4_R-&^fP=j=Ne(SR|Z@U&-> zzHP8UL2^}ln+Hjn-jzHdAKe33R`5w-(HEPv46x23%~G~RiN-<4jj$7Ls8At{=fRvf z4PIFt*|;-twbUD2pxnuluvGj7UyyWa9P^jX5%FeW+${H)1vqc59bLWePrs9{x|j*V zN^zpBzHr~a>YT!Ha*x?d*O=sbAy;7K6pki&-_?Ja_t}>*E^g)Q{bDz4qXL$W!CRBE zzJ>;|I7&6|7XJfY@nT&1IuLuJkN0;m|-e&A|pP z)RvY#yt)Bi63raErX9R2)?P;05>PN(D`C?jtD!}WJI}{h02_x}XRTEiTSZiX0-H~r ztiV;h^sn%pZv`d;K^;)mhyjWw1f&2KAgiAb$EXFdsRhV8$Ggt0HDh3qxkFMWe_gkT zk%>$#FiXd*vvla-&Mu=Q1>v|G?6CU>3^K3FG}ANa{$T@`JRvprPZx-FdE6Eci$ISD-9K(|O0$wcglFHX_TC@FNALY{sydK(A7ZJS zTbY%-_lIF~elZ}FDTD<#g96T95Ky(NR&1%+Ii%3or{(vV9+pfU2|&TKA6^ZY zYzpmXjy+rEEfJ~@#}d0XvFGU_uaC`;MUG3tn+}d2A*ixPh9zD4H1PXERJG#p3NTUL zD;cwL zKM$k<&jw^N#PFHWq0Axh8z*zL%%c%xj;3Uehi&a*T&BH=C&Br~llk~{`A%q-_M1J4 zWCHdtXDNF=rtHup0MBAqAZfGE0hXJ2%uBfJ^(v@q9Ae_wl9=qv*o}rhftlVgi7&KfeDhYJH=Sf{rydh^;{wKGS<(U7Bs69dc_Y5w&hO~& z4pG&xtVM%*v}NvhD<%>=e~iOx>Lj?gH3^nMGVhoNejm!0&%m}fW8RxLE^)y~+-$~Z9LqwSvRBjohW%G9nj`Qj@Q(R8qIGWQ;DcNV3 zDQf%?%oL}XR5OKIZ_IMkObz;O24>1kE#j4coS7iBt(g&{ft0;ZZULMHbC}8a3rmF9 zrtKyIVsh~lA)>@YZ1&8|S=s=tkl~4_FPZ(Dmkc%j2qt3gVkctIKQnqFm;xpO0l+T_ zCPJ1Ng4qyG_+uiB^1&3gn+P4KpDOY@ay}vs3^OQRAt(3Irz; zwtF%;z8)d2{bMJ@wat~A7UxYA3x-UjmB9cSmf`Rdh<@>seHE-3bDPR+{%TXrLPC(v zF~1hVl3@k9hI}GQ9-hC0sF4OUeNdAs`IP-KK!B z&8mUcp3@B!0$0}!$~P5Mo6^-cD+hW!S~(bgQz-}Ko9&bX?T6T8dfznHu2=MC0KZh!`ZYXtR{2{&`v><-eI#ybZUOa`Z-WMx?IcK;PJVz3 zyB6dm;8PqG%J{u$t&C8aFkKao4bTwLho=VUg8=~vrnGtzT-4yste(x{Y-{PDmbHTK z_3?A{kN=`Kt|)4^*?QKl<>|*&4wbN^hOf?0c`;$rq!_A&O*^xsI+cA0prd|W9+R~} zHd_m=KADe^u1{inaTDydGGn&!S{1i0VJ0xE7dB9K=^N2nT|FD!klXt^-TU4>nA~db zS65?SfP^cmpuMR;&le!QiV8F~6>x3vD)Fx-j-LKI`6TBwFQZcG$Wem2*quH8NZwgz zbNATYoXU$CtM$RIwpN4@YH+gKHtaQV6QKts$jRuJ-Jl&yn8C&Syeq2+8%Rl0FzUca~)c#HN#P$S@#q=oay~z*-o{M5MKOx zXjMC5C`8QmBlqMJYHIhX9Q8NjqSE=I20IZNWRLw`J>9oLU9LUKPPlID4LzWYu+fIP zLQ1N9XVy||yVCN=#V}r+UHfm2btSlr7pq_Xy~}yXS=K~U7iPabri?NB?TveoaUWyK zDO$yt3O(}OhA%@!cI!%XT$Sh5O2N)d%3c`rCC^9v4#f&gLcAP5p6^%9wfNwd&(`fa z!7{Y|Wc_Kd4BbEQG+2i2|8l)-unesaJbg%C7Ke)G2Wt3~?R;bJh_1b`cO;c5ZUIt5 z3O6}~Nal9V3jEy1Awv+y*DN5sFD}@?f*jE(NPAOke6r=C!_4T;;3HM5A#CQH*}I8@ z-OoxAnLWURZnm((&c$rkO1^M1&osGRmBL;qRI2}jttTWxVC}~rC6ep#Qr;KER=$IN zu7XrH4hxKLS=+fl_jZ}8Mnv!6JRdNyZ8#MwLu&?J6yml z)!kOzVIv!FFl9GYKr4F3-Ff3iSy@;C+1yFxi5OE_FW#NZIyc}BXvv>&5_56mgXCYp zP}R*QPO^U?wtls4fFRK}{xBP6F*NJw^JN(1OFMck=vHOlOFumy7!9|6_9$vN%d5ou_U79eE#H3ga8tmDnR(WxfZtOaFgG?7Rj2VlO z8jemJO;lte%Z{F0xpClq7G(#VV>CxZkY~C<9t|3r%Er{txHY6{p`j_&!V5JtHPBEJ z8k%QMu#lgbJ$j?INYtC7_OdywpLQCRL=r9k!%GK6Z==b-9>>8|N;>S=J!O`RfUr0$ zr&qD|n_qUh+F~Vmz)6GWBa1@fh%dC8l3|oxp~dM=;UBpL*|r7rjI^scgpF8iHjz}p zblVGferqvLBvt5_8zH1?~y77-kVfm1&}IK0I6cAKxhG}LIsd2h6=bg zc!gBqU!DFt%Xw>98c0kUP%Hvl+;6APl{^r5Dd{+nnn(?E^e5NvVGwY>@l(bojiZ9K zSnEv zLaU(Tin<`wH*4LpjNqh=t<>RyFK6{u8VDC~+n303;~ikm6?D8WVrRb88IH z*q`{G{Ji6L!~SNhhwdzrn6jFWa@Q!tgisna`fDfA&w5 zXE#ub>Pl;E5koE~^@~lt`p13iWY%(TT1Vr1c*%doa##-S4`K*r!x_WGWZ%IcMR6*~ zRR_|&f58$+vFxF#PGo5xL|`H(bGF-PFFTV1PZQ^WWo@mglDzT*XcO!Lm!>))P1R_) zvOc_nxNxi-vBj)GXVFq))YD0k`YQvGIu zu@zdtvi_A(}6!LDqjA~S9}_ss5l>f`=Zwl@b&1Rar?|Bn8c2buSdnXuT#B15IMfC zRBy%O|M(gD=2NR~jLsXb9raP)qk^1!o6?6DF%+Z99j-J+DT@tA{~(iwZ`VvcS(4V> z8%#|;oGj_Hqaoyp)+o>bx*_OzaBkQ8zZ99(a}b!sT*b!ILTjiX3A%=|VTK~VYDK0- z75Q+5+nC5=kK3iN`i#C5QX?uUv2a}cjzrx@OtdU6w>)DR3yDM#mP>e0n0<}PU))sr zv#+D_pO35430A8t{8@xGr%wXpxF6XX@hQc&$|&Y(ED0X&FeC<-<%%a38sQ!|6!(7p zd%zcgL+LgM$iEA+Q6?3G8?4r{-G9i4y(25D<`mNuL9!q;6FIUBS8#rL#7w|4Tv_Fl zc5_)z%{sZ-iaSBOAY*XiW{TDsE1OpNYwD(z98n`}e#<2VY0)`XtEZHAo#$O76E2-T zOr3WP6gi_l6YetvRR38#m8bSuL*?iC|1Wv(18rG#*Lj{l_wT#+y?5Wg;uWt7&OH>x zD?>^337zv6Mt&R)}2TDpnnv}>l_2Yp*oOn;934qTax=6IlR8)Kkx(Ffd4_4 zvieOro){lvHnAkRfk$3n)1Z(7DNXQ-bXIoA8&qKH0#mUcjc!A5F<;o67w?Qo{SJJCHO#8IFZz1AJRVB zHGl=n)!$b6(f~1Gir5#<5`mkr3FqObSTi~kHlJ`WM*u#wr4uEnNXO04+d4mVNDkZX z4!FTbo~DSHQExvf(|b!Pi~IMvC!dS=*?HSA#MXYg$uD?5GFp;N*cBr>RI|%3yA&#B zl29r+E~nbrrbHj>vjv18WMN@QwC_nXVDl!4o%x$!q!Y|cUBZ@C7D=EJSo#r=n4qsZ z-K317W`+PzHogM(0?v7sCr*U^Fmb9u5Le5?L$e#5-$>(HNyJsP7#a<@h!z}$!wIoS zGjxMGbbJdEjbQqEGgnI}%>C5>lHqhQF=Cj+5&hs=MsQ~EwnI`miJjHKE$FOSW1mmd z`7cVUp}g#4cJ6-Lp*zDv7r^QK6T~!Xw2fR$Z%o6!Bl3>Kplu>Ad8`ja?550~l2BzV z3E?nBJW>*_WJ_Wo9Ncb6+=pmMgh8Z^dmqVF4@n##oVtc3`3od>Mx5rBN|d5o-YcE1 zG3gqXoqjCHV6FF%0bw9^1!P#{l4e-)dPs_8JtO}KUzJOmR|IAtnz8DnU6!&&UM`Ki z=xSf1&aK>0lo_Fcd`iqosfw3Y4mnZm6`*^@Zq;B=RqmyE)VbbN$OW|~xibhdm2s|v zWEc6%G7yozCHB#Il-0bRQVLHDSJZHhGuv$8nmV0JU$evEK_U@|>VfYHlZ}Lt37DTc z4rcXR3xe9RsGIsvEM_Qmjrm-44BZ(a!Lm5t|zGHYadBB0>C{To>sRUOtnl-A{`IV9gB|f29>e|3LSqjP*Q8{n_@RvbpB~kM$ zx(rIhrBp`ymBucE@`#MHQ889VI5k`#Bb?nBGKs>}igUXRIJ(~n`d;(c^1v6M&qHjP z7D5Be-r(&ZPxMM}UU=dk?zG%rOQ3J-u9?!*F=di!P*c1M2T*_-AU;2ZyU%@;+Y<UV9#g0!$a)fj6+JMVQEh7l4a6pQ2x<)L0+fUXdt zVB$L3X-urYt&eI`T1-U_>;t0}R9+^Ory&?_S=1UbgQz1(E5NE^Yc=u}7uUKnvyxje zxQvePb*Dbd{Of>RTycC@1UW?YhicmOqpDdz^=)3=Gu2vZE-gU(#E4hjyM9loq`1iN zinXEll|zO|A1y7!ihL?E7=>v?mRYCm@!ip}lEUXnXY^maO7rO&8;%l;-(hBtz|U&| z{xx?Q=Xb@1pR#9Xvgkv4!IPC}<^TSTCqDV^cYplUzvRNA-b25{1n@2M-@f$K5C6%3 zIQF~m_**g#zda7xVN>6@;EC{Y!;*Yt>hW7!3&Yo4AyqD~9chMfnN!t{6HcR_yE)+o zN6zuPz@Hjk@uCJKlpX0C@5*96jY_P1j~%1L!<_Snu$r)9qLsPBbb05!hgLrRzPG*q z7k;fau+SdNKDz1|4Avnzryu^!_x$Dq-z*K4L*Ft^pscy4ZKd58ulDX0sgwA2AHKb0 zw~8L}{sqgWeN?+RWAQdce^8LKU+$B2C{_>Z>H(g(q7S*&*v9SheqwCBGExAPZpo491$X#TD(M<) zpusnQR$UiZf9pe!`_^Gw4EQY@kEF&Rby?8HLj@TA!XU1N8e=WcV#WYEz!=Zie{9^x z`ii`0Xj0U5N!~55U9j1cf!MU8LC(N`<%)ejYhhaRP?jNlC$Fj;M7 zquDy+5_^T+YGJdq#3^a9bX!q+j@ydpr5fNUaAUZkj#PDw_lybg!n`uUaM_T6(^6L! zF;~Hs`q!U_k#XkQeUgm|Tk3{KzrSPbLchAF&klW!p&@Q<$z{(saX-sjx<#a2)s^rQ;bZeukq}2a$1MR4uh2BZjwj*_}m{FK*_ml*f8Q-yT&1K`zZ%cx5qIFl2xS3DaDnmJh!*w0pDaPLvR7t z+24_DxtiIqH|BDYw`Q0Ey%kfSdd8=qS)KxZte=7^h6b#5AN@;A`Pcyi=9O@|7%6wD zXr$l;S4)nN*2C#P7ZAW(0ioO>6xeeE!4}#O71s~CkM7niA!O3o$l9u_nF@w*nJAFv!5&-LKC#-1=3kV0p~HE zr}&(l{j=$-XD)rV&*M!ZtR&ZiX2~9q8^+=KHxX7@s#_PLMs9)gquqb3LjuWhJw`B6 zYf2?yQm3HTOfR6J{EU4K4rd5{6gGvMaBy27AzZnXx9G=quNEL4i);B-7zV+NAqnkB zT3pLSQ{SfS4Bu(8hVeo31l(&bcSoL*kWj=c)B& zx=@7}r#_Ol4q_bCNb)*}agHO&>mat-lGi~@VVm>k0WtE7Lktz@{2?|!g4ot7#6TUe z(c4J}FhH|?MC(xeq`(XAxNOza!Onk-BfuEB3_;OhiM1auOKg-;)PAuTyg85h26mxL zcEe8KR0oMZYVqP&L3NKKeT(4 z{(ZpvyZ77s!+(6os{1LQ{L&4p?%_}0Vn3d{=bAlxEz;r9CnP;y?(Y9%Js;=J*+0?C zU!=Vw!UD_l*{>*R+5M}3ujl&`_vlyk@~er@)A?eXdvb- zEV@}hP5La<{Zk|;vWOjwiI7)7&_la}4H|ee2>h|Oi$2Nyli@O{6;tkeriR!( z;LlXYmx95$&k}PN>qey5{WGKAuEFI9`>>n%>6TUhs$?7UY$;p`xIaq~S17x$ua3m- zcEMS5-rcWqvbTg>sdDjQ7KLx{T(ox|t?PzW4hIalw9RT5XsWCUGgHgPu7t#DbGUM7 zMN5{5caorpq@| zRKNUXWw-M7#UdB)%a-R&ynU&Zy3JDGNb23CRDW04jnr3nk44x*ui*u&TCIp$QC~sC z1|D8ItXtI7%~PXpa*NuTx=9yG-5hV)ck^sbYhsxcI`i-$fB=cC>z*`q;A2{O9!`YO zo~Z*srqlsJWH@$%X19Qe=rtwfFlL;Mm_UYQlpkJ~8 z5Ak`u@fY+-C3u$%!0fy?I!0pOq8cQ<5Qpe5N`s$c0@$^Wfhnj()_|o#Ai$=)Z}@#NZ_IG7>cX=<4-&d zX8@GzB3eW>wAePZn&Y7yTFrHfqxxSvd;d3v+4um?1uk#KId^O41+8;8W`gk0+?jSx z#v?Q5yRLebVTQ7p|27_Dj}AG zixf~vSP48C+NOiBQYzJj@zv~heI9CsLXB0mqEKMQ)Yi@>q#h_eQJ45+WxE`K+yRA0g0?PD}(&Lp`!y zK{>pjDFR|C08Ju<_JsfxK*HPzQ*`~0H=`}n)#&|AWVl-CQPp!{|7&4ygC)elVQrYobKe0a7PgHU-@;iyi5o2d&>!R3DUjY-< zQ#hlz0)j?bw}m^J8z}LdW~Nyr`h*BAg`QwLq9GC>_F3(Yyt$S&LjX$4>$^&At!1sT z7!>dWr5r*p>BrDj(uNicp-{lTjvylQynID=5qy}btfA=x{Ha23V6>@w{Bhy%U%@7g z-I8+JQUVTxvnCuPt<*ADvmEQ+J93y}$%(hY4+laD*t2#!qW;JM`|y{j*j%j}?R%M~ z0QDuk`$d7y-wki7LFyj;cj)k{JY7i?rwFGkWSm@Vux6ZnSrd|_5}-284(gU7n7zte z$UDDQv&*l?Jv4Howx7%3+#T%RPrvPpH3({pebsE%%EwK@lc`f#Hid)5vY{K%CB+ zMPXS!M&X?GAu>^$;&y6?ConFCB}0~inS{ymkz}!!AVKx49s{7#G%GdIy2^yy1(umY z3%W&}BUm5{D`rW=GczbCb9da2pzxU0M&g>nh3HE)f*KgXrT-y9P(R*G8l#I7pKFag z=<%ZgYvZ5$-Y6Oz{K23lo4P{q=wQGl>k1at3)I~7W#&v?DY=@O`cjjqiH8Z>0?Y!p z2bZ(cckNX_&ep8>p1zQ$Vd`CzI%;0$Zn>{R?ps+0uj3tkcAVJR(EYwT=Zjs$R^H%pYw&yM3S5xFF&bsU3XIebFSEr|W66BFSq2Ci%r;qE| zxHkGa%JAqv)(Hx)ZX|S2F!%mXvku*Z`pY1q8@bplq`}#jvIL^-M4K-@pm*8OQ~l%4 z@q?_}I7xvE_{2GAwC4Ww-A{@7+^=^wLmXk_EJPnKq`C{;0Aheas5dO~@p#L#|g3_?^!AgdruJ@6Wvkq>BQ!;E;ac#ixEpy+WFbkLd}oWK7&>bd^RJ0N8t%7@bIwd#<&*4eSTj_0IkEc%mREBVoRT$0n(p zSnd@LpbvlQ=8&xj zI1#jt_Juz6E54gS2jw1cqy&8$7x4kiM8-5+8!fUatIg{!@zzA~S0bE^wLTI7OE01d zs4H?&YKR~XTXS6mBZ(^hzpReM8UC2aDk`@{Fy(0eWt?Ho$&s*ClLH1sWkC0i1;^<; z0n;Us_suo#5|(bq5$@>?FT`pAbVh;HMZ5bki;EG2cIl_z#oZ!C6`>+1$AngV7-t-}oLicBPF<^<8VQH^H>7|;n* zUBe6{!x><4nQOu)V9x}5qzC~Fa7^Mi-7$-o2`Fc%Uj34g&J#&rPq;gi#shrS5ns$C zsU_vC-g&5AW-4NIX~0;Rioq$XFctB7bxTBDOeJs^&s0nhs0F5C>;|U7(k+-utzat6 zrMz`KZ;Pp*9!ZGhFRTToV&iNYQ(?chF%=F6u#03oQ=!zoNE@E1uu-*bOobQ1{C)Po zR2oZJ6Ma(>N%Ok+P9B}B)7z0FVJUCsSNrPpRvz_hqn|9WQ++9MlX``lK%#GCukVnX zP(K_58#6=n+yp06m7AmqQ=5u4AfOh^WE-#Wl8o7qSe~JQ3e_|@T8qQ%fsqv1Lsp@I z3i0POig}8F*85A5QjI}(U}c~S!oGbQ=6G5;gv|CuL|Ju=XgD(2jwHJ}eIq$k$s6_O zmMpy@ev@NKlQ+<7k|kyFkalbpLVL7D6aIBM{7p6~vw(6z$4MjAV*^kNkg*@+LB2Qf zfWXm|i0d1((Dy(?;f@H)s{tcxov$^@*n0H8UTi%qDHU`b@D#oZd%;(*SNQs~@d#mU z+6`%?!-GW4SB$inenI=H2xM580sbHXZPBz|7cUBF1GYAY*s6R1TZ?=iO+kEp`=IC9 z!*7N*9yd`V$j}_a;ad%diTvZ+Fvrs)9OjG1VJaCz;#;pykEs6TQN`le@QxM@u`Gn%5Mk z^Z%JcI*13>7J?zVy8C1#T^0YZgwB3l1+vI}K{0Jas$}&I+9oO?al0h|pNR0&fsiDy zfo4<-4ANJD6jiN(S%A732UQ15JT1yqn!*M`M#=vOE#MTcJnxrBL^UmiK8ysJBnUF% zlN7`zFcM@EFUZiQ87<6QgcYu>Ja1vY+26*u;ZX9?eGJ|*wPih&e~)YvZsPV3`&a&k z-Az>xbh+_&EN=S#O!Exie@ggiF_#usD4D|dZ$og1{+P`au}@J64deoENY${0LHY?h zb%^x%-WA=?!2hQ2;pdecIPo%WpY~Ed)VH}(gQ}SD)*D6MgVNo0pZjqgy*g65MWc$k zGp~406u(>lB<~i=H!sbinESmScc*?l>n_Pm&T>JI3CcI;+MPzPIbY?QlOZ(oW6JkR z^iT82k+?Kz;u7asGt$=`J|@{ox3_X#*BI*=snQ#1-<;-T+BatKK687%+IM?Qw|u4A zcN_YVcQ!prXdfGD-?;5P_%_hK#~~ylzJn1DVbI1ux8y8r4owr%%{41<%rWe^d zUuK@dGT+8)(2HaoM=u(!abcNPqiThuS!54cC2*<`e~^IqThWW);?j$3hfX=i(}he~ z?A_sGSuZl%me-3+3V5SLfm_7wO>rUbXeB|L^)<4{brFB+(s;CxB>mVb+QmbflD


BK7e??H}iPh3a3h72|ouv8LjHp67WZK#AuK*&;j-mQv<p4Tdrd~5>Zu0?0E%t&zIb-5J?&NQJtk$X76Q zBXuiCdugF=wInp9?p*4Y;@=e0G*q`BIYHgRk${3VrfyBHao8H_781yf$R#6nYjOj1 zOKGNVp(0A%VvR}N;?}NPd2Fn1NjV&;TlH6_Zhbke>2%}dVEwJ5&96b}Lek;zVu_+` z$os^>e+n&0IJ^wQWgpFJW&8g;Nr-n}%_Dil$8ZU7>|WEo>z96eV8`&TkUvX)LI>Zq zhZ`kRb`P5IO{Gx8bX;%ZS8em2@MIM-+NS&1U!rHNx@W#axu~sFODKu{!3mpL`sEU&zWnmV_h3{d7USM5`6o!MB&PSQ#P+JQB$X7e%-prI<(4HK|91~t z6nRRv{sDYX3R-Bmmx$P8Zzvh#!}_#zkGxTM_N{krTcvBZ9nKFsI{2_vhgUzo zOJ$lrK(6{R04;Oyac^fu9hd#TZbv3Vr@chc`GxolPDHVZ$lXmOPr94QVdFm=%p%2n zZRkYAtefidO*D-XaG(#JN3%i)D@S`#i;wn7i~W;Ke2D>^uRs5>vz}vlzruL}j!Jq; z{8(LIhVUql0LqVIMb=$bHB;dUG*`IfK=w_)vI*$4pEh7sL>~ApN)Z^#7vX#EvtL?;ZglS=r7ynqE+#$0Q4csA)A1ZdW`2OJ|}1Y9KZU{<4xw+cCLqD z#q6F@t8SacXOFVwm;!D0OzeK98L*RFvZC0{-j*ILqva?*8{^jJCR zT1$Goob+9m^h7!78cRA|PP*EXo+&3?Wl7JKll})wdZCmjl_6egNtGdP zv!u!pbrZ9@uRKI9)h^Ae4UyZONU98RizQWtxMWF{Azo-nl_74nq{myFv9aEn8oT6djpb)+tbfMFvNJXI z-=D3q|L$y!{i8EBwri|0)_Snu2>001ZY_t zr%%My=Yy81H%ni-QT>6@(*gBp+ikqo$4&nG^UG4 zD^nmX`(O^W{Gn|MJeNwCM!(apW9>I1!Y|S{gtFnV*f?s!d|QCo zk(~O~lLO8u(3mw+qAKvwt95QhZ{@rL$XFRq`iy`zYag4D!zi*pS(76uvmw}Mti~1z zp(=$iB>HBobUvYItD+&~D(&CR8{xnUeDa|?dB^gpCz{5w_Ec_Laq}Z2JF3igqA=rbtfYChyYxi@%^(kHk_sO3i5i|}j}xXS+V1Os6Y|!2bS_}uj~Nu>F#OO=fb%vHe!2msl>jXo znyWa>m0^TO9c7XET~U$E3SwxQY&)TFPj*~Gj3F*5_%uv-zpWMQTPM~}lNXxB0V{Zo zkOZVSbBoGcLJhX5qXGMB33&9VaklcYFax8%$Bf8Nsc0Dp^SCV`5|9l!;uu(o}6JOv$Z9OieL<}Vb zE)aJa7xXX_Ep)s0=ENrqsX@eyuA>Hm47AG-U|-(oTc#3O@YAamYcl_EW(;N?f>pF2 z23k1@KCaApqB)l`=;z!M19ZtiKZxuZ&N+0{&uxK=q4C%VhjoKCm~4Xf^}u+=Xv>sG z1By4-J9U*wE66TYc(^xxb-og7gOa$-Anqqx{dzxv9n3mt z=B*RxpX|Wa%1rsE84+_)gm;$qV@BSjjOSLyr7RC5+vgKwiF8sChzN{0JGNG^FpD6C z=9;dZ?qvrV;Zhl^ztgdymSG*leN7GBT!o>TI>w=%Unq@TPCsuQf4tFVt~*F$SXc^>}0f97X*a?&U&21|EsfMH)mvJ{Rqbj(+~@gXltcU#s^XaWsY7 zD9(_ahgtf?cREapmI&t*o*)z^=^aycIJZUJz~4pl$TJAf6LE%hi{Ih7o8v*W)Ot4S zbV!R;Yil%FK$M{*P%=Yqd*$Vq6MRP${t2DABpfN{Hcr*axscMo(4lB{%g9g zom*Zy{Rx)qY&Nl)b3>J`m*ko%e>w{%=gp9gEUkbkhV8Ev;X(fp#qvoLB4~0CCN!?| zWMmrGvkXzE)t~0Mz;gg)o<$tLeU-atkRV9jL`>B8ta6=L3o0d=y2#sU_{Of){$^ee zV+`iF5x+CDATq_!%g?Nx`>^mWQ>{2@H5*aACg5HXA8i(UQs39~v(iO&OidC1C^~Wg z8SwE&f2-;TKAd{G^|cIC7pE{nT!Px+x^<;>nETKtb*$c`Gz6{kqNdouYfy-@$!nwc zL8`K?Y=aT0>t076H1$?Y&A~YNWV6D>?7m6P5D(QULX5q!ppc)+8Sdhl(NB|#JyNJj zUD2bS;Vwtvq0HnOxYN!iZ~lj`M&+*Am$z+bbd;8~8xB-=M~`qtxnLXr7>nUt#ok0 z4Qtad8B8|}hWpA~O8mdCInG);C^dQf-W8SuWOC0^rDG~=gESS5qa7fy{Uz=$ET+(p zsXrOGQFXjjn{6E%qAIdsvKbkO_+fT!n7X;u;M&$`iCIwOUUjq^j8YZmGahnbtnDyX zqAKJ6@)#Ld^_j2FYJ^V;l zj~~u2wl6cs^UNn-bolK!*YN1^=ljK&vx~o5=omZVo!>9a?`AV=#UjYE!$Nl5Y43+X zd(#BR;R2+ANjqOj`}rQzQkm3YLl*--)*KN-J_)Z8Ns}BfL)wW3nYP{potbf4*}6-_ zt_3z}E&lXs(dbHQjneTKn)kfXPG|u!KhV?^Yj?~C=;d?r%~6+^ z)pbcwrtw@HG&`Pj0w2$K8lnB`(oS!XM&NWcAH93gdZ)$Z2L2#zdPgwz(Xk{VO~;ec z^+}M_@m%1*cv5415~sY5=R&m_PvVZ_@uZ3MNuBjc2t(rqC)X!UtxsaJYo#FUW$+^E z;y{SVUYbMfCP5c4+Q+T&XmWnq9cOHLBz6B{gfBB5Nja1*QQQtb}E6yO)Js z2cY{y{F>nYS0nFjj&w7+ZsEc3kF6^NkFF%&FWUuQC{--?tt&+-&$yr_9CSuh@H$dy z3ndT{ZsE)(A(#~+Ld0&-7bBS6<7XfuCSZ7K-z`x;$g#EIDIb?iSZ})`@m8;xN}2fh z5wcZYzBZ`sdP)d0a}PfbvKE}c{mY;EJgB?O&UK}J&`Y6ZmTg?dAmEt>M-Z%oM7u&r z3#OrC9>g>%FlZao;9lJk(=fs#Dd3F!PC3fF$pgZ8T>ymVIP}$Ez+a=A**?h)1jWK3 z#D1_0=`ahRpu;R$h~yGIo`is15q|}nfaE~(tRW?`w4Z3q{G8yyzk!$z2ekICN|f6R zBH1Ko0T9!&p1or7aVHF*#nCqcyiX|(xPUvrK??*mApm(~(kL=Q07C)Z9~3Qwi=fEv zM}_dmeC*%HD->A2cw0QMZ=bsRB(dRwqL!5{ovqyOXxJYr=k`mjjILIWn<`e0V!(_4 z3S9Ry-Q8fOyEfC~*v=s#>t`BFhFx~cGaXiA6>E*e_oqv1z?z5XZy@m)U?ivbjs$UF zv?Rt>M5vqTz-GjxW0I3>m2$h_RzkxsmetxeK+Fk(&o%meJ)dv%b3I>d^e@r#sYZXB zp3gM;mwJ(f*_nfqC5nlkL;Bp>zli=1!N_b2@o2>U%`wdvm74><=3wdeaYn<0eOJD> zSM%*Yz1q#oyc9ZzD+M8+UP$bfG9j@@yImgo>`9h!ao!*|K(5l!MP=q`M+ACl6eeYd zNG1l*&|ed(yS{E;v*{S9$#j>Q^!0R0_0R+DMmIPhU<7PK5MCRudXr&;^m_47tkY^9 z3U#P0qOk1%NLT_XRT)l0^`q2Edgu$)QKAd9%iW$)R%8#dK3d7D!jD!!#0a_Npj@5u zJWxp)DG8I=c8G)Vms&QXRy|DOK)gN57P29oHdGxA)Jv}wbe-|i>x=|uNVW&A6o$+C zbD}QmK#|4SMMFT(1whl3r~bRt#6|tBl7vIACOzB9E(*~1l=KDU)bv1qM%hM`l=V~U z&=8}ACHfB}7z|=zy|AD^!=rbgzg=sWFDD|@t%)LM2FiC2?A72c8!R@vRLf!;KRLLF zZObV0(|eiqwj!`*cnmVp=NUJ^4+GgoXhbNWn0s<;LQqIJxTj$BS$9ZC*DY-8_8ED& zzshN9L;fZ11%Dl4vhnctkcUrI6@e1{g2xRt7=UeU6fNkKrI@4<4@c?OCOTVuGg_!Y zmGx{Z=u$fOb;iA{%|~vF=vdo5_j@M?764%2Hg6iMz?dM@pupYoOdgP9% zwIUZ-*3V=3qJ~MaSrbtOw9WFwRZ(FB8`T(LpAbE!2#8Z5K;fthgP>tyY%D z;En#Wp8v}g2DfJy0|Br89b3&gflwx<9ocfW1Dn$JG1j=jLeb30w$_og2t(P;hL&BK zl*~A@-5blGw%u&I3}qRW-^{T*2;SGqdR7?8V%pqpCb6uJ`3xG<$(C2yKp-B>CaY{} zEx!!ui=}^=`xlbMXiZp+Rf>~3SqqoZfgLn^k*y1`75)v$StadimPi{C7)8wdvg?U; zOgXF!2zXN*i;S(IOZz10A2Rt4?jRtco$a`7%|$n87ew4&4z`D7O0x@N5(L1G)CR-Q z4%+#QlDgRrb6YA!dKQWS+-Qo656X>6>hLMA zs4-t8G*(?|z;3%%E%WFiptb{0F7+>CUJRCPVGpcb_Z0(p-E)momJKSv6-*TcRp2@Z zyd7jVkHU6Y3n@i;J&+nzlnFBPX(mEIp!6P&)HW(?)tMF(FdS!3HpOu%0mJX-88G|- zjtU3EK|Ki@PuesT(idmfxo5{xx*W}4hMuO%r@SKQ`62;&nT97@ZXxBe<;XR;lK4z0 zB$ljwyOOY_M;rY+?sWw*Ry%M=0xtrw3Bm}(CIBN4?+60%r9mLRq?o%xFfM-k=a~tn zi7R6!xI%L@&Wj1IVDQ1*cy8^vY&)!om~fkt(rEQcdzNAtI4r~jdMWbP?oV>0`)C}d zEMVChsSD^PLFf(gkSq@)d1%VakU{VP)?lj1F+oC-Ilg-!>sCdhOLV!ni3-`JLSQc- zO)8`r+wLS~Oh%gYG7`P@Qj!$Yt>W}15~6Zz_8_=kSeTTsP@`;FSg_!-k+6V-wZm6& zMqznhZf6WC&ToM>52u$q?Oa8%LUD`Dj#KlOZHMB13?2 zk|E|wG6d>TRfd@J>|4VdieonFp(Wg;D7kW2=_M&j=5LcdD(f()F#S2eXd09$3=zNP zRGteX^&YA;rgo&v+`J|PzpE%rNOfoEUKdZMI`L4Y6I3rop%0I)|G-y1oT_|SFEU|d zb0fs1RqhBAoyG+!H52u;4?=$18RT_45(QM zK685zf|fTDd@z7uk*Ekhb0fh=eDO#HSGPkZ9=DXTnB!Ak8Sk`8&L!r|x%+JG6^+SG z;8R{vW4_47Vh)qeU?*{T~?T7r|78f>M1-->azT7 z%Xrpu$fXb`tmBDS;VdqDQDK&JsbZ2f@de4P>P2N}?`xjLXI%Kh3m1q~Dw+R%1M#_h z#+4pOe8E1&fpzi^nXQ%sork82CQ`$QcGFHz@&hGM6m?rKDX@yTlI3=Ph%8jh>V`EE znFM*7&bpI{YxHA;cyq88pV`yHXI*JLBY+giTnIt(Br;FiKAGuD6cnU9!J)1x(HU)1 znP*g;@Xb4I=SCje
4DDS%SK5qj2mOS_W07TaL6eTwasxYiS0p*#zR^g@jqk!r(= z7hJ%HQw^Ci*a*yv`6aT82!IfSRcZI=Cr*wmCDucQGN`BSRQc1;5A=Yg20svRB;!Nn zjC6)>&q>P)?OTUR?Zdkjfzh9{nG2RmLmr5dAsY;oN#e86xj$)`?&k{C&sH+FH9(2d zg+qkZ^v_n^dlDJRHhEZ>p5Rvp>!Hg>@j{p>`x9}YM(!wMTnnK*wsgpJ6c;QTn8>(E z840*6<=GhxSXj(O3q&C1!*>l2h!kVOz-m;+xU}XV&zw_@~c(+Qt{KZY?I5}1HWqx zhITTIMu&Utgf25&BU<)n-ShCBrq)x3tJSHuW>Ed?Vm z^nKDQE^5*Ax@QHbB4#;bz6xSmL9t-MI~O@a*#3Kjz?7`P)(~rXoj1$d;T5}c4&{`? zs$_{4fx}_BOb`Y#S9+W56@G&8vPV}%1!9a%Dd>qci-_)n{q9If&ve9)u=clrnT*B| zP|?f`xmx$w6i(Z%1Zm{n-(YRYc8X7`x!2oS?!2B=iMxUIZpYnFiLbJ-&LWD=xfj() zkwSmYXhro#0dI~k_{m&|%b61p&TJF_wd7JRoE&hpIj`K$DJ}>q9eW>*Oa#MB7V#vw znt2|&F5`SDhN@DD#13NPyg@LZfr53i3s^RBlr0vE4{9-5U;L=d1?DzUkS$o<_yv?rX$(pk+N7s`a@R=WJlRtuPDxqvvX!) zT_r}}#7A6e0U1*09LLrWmu7L6TUUPZM0C$eOQ#rYU3o6PXXUx*2lTEmCvIE71mN$X z*k}5hyZClK1|y3F^q5<^O=O|50r>h#&qs7HJ&d&&0s0Jw=lW<*aXRr(3mbGMZt>-V zO~R@|+>|->FE{$W66BCOFbO zE-UGK9EYn50d+V>iw7=el))Mt*%7G1Fh!NbpC^!;k6Js0IxZdKNF~K=511RHjK~8; z(WwGZNN75h^{Ds(UB~54$t3IkksDa)z`d1S9huNlZMmcM)om8a(D|8uyjXT>}*;-ghB$7Vpce`E>El4uxLvPQVcX?=!_u-e<$R9<7lyw*D=P zMU6V{B%9D!0K}t4{RL%18(P>IMfoP_xkPSgcD40#HQ$tNf@&drD7t!qC&8=p(p2Yl z4UpC*W!#s)3}6b%13;)W>ntbVCxSTLzkn&3Cv}tNo#fq0p7P0fALsOmf0&{Bll+q` zIL$xZgho_uf0loX{M*dG3;DN1bz8b(HmdBken_0UGKT}IXbNHA71SAnk}^fAzH8LE z?x-S(Sm#|?+`ka{)>m|;@7R^I9ceoMvS-kUJ7pW4R2G!%~AOc8;<)u)I)(SzM(B@s6HxJX(+}+S_}CX)j(~O5xsFV$1!&4G-L$HwO-~` zaXQLx73;!)B;-?IIl*#6?8{~;5QFegTrDPUYPAHRrL6>>=a24De+!je0E()Z{^-8g z{*?Yq>rYRAX7p!Pe-`y;v;JJDKTG-UDReLjdbkZ}Q8KnAH+ zd`IkvZQ17w#v<)cNtrvuxw%zmApCY9L zPY;rI$Gs2@UkNEK=;bq`*VCidCq}P?sg~&Jjj$SE)ylVCmApaVVRRlVFhdB4Id>Jz z>j<+=LKQ|xVlUrhiMOBw8C)Qm-O=ay@cB)p&nQJj>BaE*2TPx)MxVEY&$pI7Pmexl z;qwodKKDkSw}sDdE`3JED%xHSpKmLDo*jL@Jbb>r^m%dgc~|(%3=hY>dGz_p@cGWt z=L<)luL+;;Dt%rWeSU5DJcvu*w~W5;=KEF2q0(0^&bejJx4_LfyI?;^%z`{jU#|(dF@Tf=KWefm^FVizsOyDM}D#VV_T#!!+ph#p{64x$LNa120${hsr~&7 zz?%%AGZ#$jF(EiJ6L_{&+PnU6s^V!b)7s>RMiQC(akki>XGBmBB19xjM)^VpIk7!N zC31q{W8MVd9O|L5H4xgU0n@kBFDW^Rbf z#Vp=7``tyr2mVxXOTrC7?UP zW(ccV8&dyT(qV1tsbahalxjnhDT1GTomYo7L&;LUpjmNM}He+5Wsu zEtp8nVQ$$wi=BxnTadSVUJEYfjxdHQkYlrx#0bphff+!6P9h;l=jrW7;X=k1=RoJ` z^=0F=Mto&*Q>i+HP%3*SxZ3=lSyFkBdF3T=j%X`@c_{xY z3S<)@fynf-i&+c%G0=ctvrZ_@wwTTPwjs!vjCvt|KpC%aH4PY_>rXvU)WVm33ut{4e1Ut|%zLd6vlFhjIJ_|qJM zpX89#)UzC16a@@xDO*qxX21r*&bcjw7|vxJ5P&61$HL3)kNVEu{H(WcL=NRj&{|^X zMh+Lo$RQ_)L16I6l*!>HEp5+MOrI3}M%vMW@+6UozByl@=|#XBfSbc%>Wmr#b*%tl zv<5UtT9eM1MbM{B9-=JzGeI==5C!OphLp}4d-Rh@02xg1qW*c!qxO^=M-+A5uamIC-Zm_^TQc1DJb+VFV)S!|Az}-`o6wUwrmQomM1(qKFU9blQUkjpc z3w$0D@JM;>W*L3(%dRlRile)e28V^t=bPLh7@&vO^+;Q(g+qrGmazs0e9o>BDg)a@ir~CcvhBA97tN5zqC~+EkVn(qiJA-+e z@!fu7c!xz_g^8Od_o%$UlbaFK=k!GW!r)&E_PX>m@9x*NfS^cvhazD;q8|4|L+d4V z1CE~H4}k`pebdK=Z^s{u1_VJY27=)T|D-kgusXp_6c6c1CqC2!XfpUTQZ~D~N1BRn z!@9*ed|8XDF0(osN!%A!E&bh}L9UhW`a>LAHmRedGsT9%^z{3LAb^JqJn2-G*|+D+{Y- zFi>F~7HJom3)CE!AfW_6nVC%+P;|xFhd2^J$8X|L0{&WKX5(gqw|>#o3k`4Iq$Pfx zW_m68sgP{lc`^J@j%PgrC~(ael$uMCozcI+Jj&9uo%u3?4GwY|gRk~OX1{9|meg0- ztaYqtmX5g-&4A_5L+bok6PWbP2nM(Y1DuaKA%=h2H7467qqp-si(Y9~_`qKE@~p70 zyF4ooHTz&pF+0p8jz}ut7%=Y!#rmgtnb5olY1lWeEDFCF&5Pz$NCy&f7aE8GTgVdk zoEa1U>TXah(kTU6fky#d_|+T!fW#E<_oi|CAZ10Z`@|FY7sEtg^6+bJ=b~1wZGHGP z>YlDqW7BxL8$6G}bIz2`;3Zs*j2V*fJaEQdyS&=rP_QCiQ=iHfQw-hMU03;^wZ#ce z+@1Ow=?Ea)H(pL}C%NHYsGCpP65n=@-vaRY1zgQ0W(dH!)%Xj5T~m9QeDUGq$K#=Y2){C;*cs8=2|YPq zk_$t2MmT(Hdg5Sap)mFAD6|0rUJX(IV?1pA(qWT21c8>dvNX`^VveH-V});a@<8)Z5-bCl_bEG4^LH=K+S!)3W{q?l4BaaoHecF&8boAFt6PwO>4 zzCyftdWgl;`S!*KbI>m0^|f)ugXI+GFC(0-2MfGb zz9RMZ&f-81AQSH$Li|bV?B)$hbr@u{^7O-h_p9&vHxGT{S{+gpt-SN= zzkcEuKlPO_|A939&admb>GGs_+OEIu`9UpAPy%v}GC>ed{c=5UK#tl$DIfC2)BVwD zCptMsRy^UoyVytQD(_jD$N1TFhjz%##( z2mE6<4~W=nd2k%dHB{qmXVye^ZFH-h8G<=Q=X{B=^QL3Sxp)yTy&D|OvUrKPtnG1A z=wx;$G*X*;^3Oguu$?S-{MklY04u46V5Y`vpV0r(-ux@Ep+(*H)5u=Jb$+MHy5JlJCdtlsBjGnj3HYkdzqkZZ?`L(yQgkFZwlH^h5q&7jn7)pC^a# z(PGk?Dlr9+K6aZ6Y%6n>^7~?x?9QU)#DZIR)`Bc1ni{SA<-Nc3>%aAXJoZ=bIOsw5 z;BS8F@MpgL!23R96mtt%D4E52APDtl;0%L^e}ky=dBHMh7n~K9ZnNakkOW%&rz5J7 z+L?kb4}ycBb;EO?;2+&^*1n$vyBJ&Yfh6)o7&@wP2+$ZhTwV#AbL7duu+y#`0s}%fvAX*KW#N;yFk^ zEy~N2iYEtPa!Uv2_sNw)r_}^8SP%Z`Noc9&i%n5z^^%%!u&{56JYDxl@mb#_^-lS# z0;gQ9+%ZotxS1bMchyEd&QJYi#&pdn;0ga%VBTLJ=GF z-eW%h&S;pCGk*yxplz0sWEZq_t9#nltxXY=R7yYDHj9lw@?Z!%=m@m{AQ&X$f%*}( zuZrr_ff8x`+KN4rxwiX-|rMhoUMt$4n``(11K5bwFy zS(mHRKl%G~peb}zijm!@h?0;nKp+d=Z)WoN6~TlDgFCOsFf5WPgiXPTK37fjr$=kW zmeFLC@X4`FR#WzsKQ5tzcR_Pz@&ROcq|9DE?G4^jDQ~^RSl%=Cj#ucz`p@vK&>@cPbLw#&jsmg|k z(L4`*1rSCA1rJ>&EtR6X+WTyQnOn+Zr3c`Fylgx&ATjNJoFLm8GKmz(_7zcdUBslY zYEimOfm3HNfA8RCTqc?}NnoNO6p7}WdbV-)Si^n(zEcANG{O>^b{uiWaSC3rpB3pH z9&sv6q-h>ej^SSjNxwwTJ@W7X1T_m(+=*dRs|js#KW4|8<|kE{*gT1IlBwwii^b22 zc2pRc7L_m`=0BfZV!2K(^%p2()6v@*MVNcj+XzxgVZKV;l93JlZ7IierbZTI^qVE8 zAV7#PY9V1jdL|4wrBoC8M<5zTTK?X!kF`RuEH~q1v)4w6#x$oJIDj_s0oKcDro7Kw zi+s*9CVnN1pqDa0iR9D#p_m#~&u+^%(>TnpP37K!Y>pFCHj}->>{xeZ%iY1U+M|`che8Hj(b5FHmU$pyY~gX_*{7sY zE@lnc@iS6bhfnoNjG-@rC(!Pg z$NXyVTec<=A;gcHn|vnF%LC7}s9i8_z{~9L{4zv6yccTrG;NA3qa+fQ(5xMdlqMtVvq5y{*7A=e@IAEw{S19 zmdVSbnjCNcqaVnPay4^{d_GI0vRWfPY89uvNDiyOZSP-z7ZA_pWH!5J@)9PDO(QP4 zadMkpsn24baLS3v+v0fxB$c8F39uNi_z*F|t#Yi$5pl^B{d9?F$2Qg)y_Ru=Q00ACz-Aji6y^J?vCv!G5ZY4i)%lfB< ztaREI5PEB(@w~plVDFVMbqhjF#1mCmmq?j|$kWH}cBOI5oKOHV|7KzIN{t?G4Osdk zRH&i5C!aVuh}=a%^bl3e7qyvovk_1xbMXL_0AKh4K-|-=?+f&$g^TM78-)i666rO7 zHvzvGhQt$(dc%P)Yy3KmAvRmr;?*!j3@-saaco;)x%KucM1$z67{tfOq^VbAR8vHMcRt09e2`?#>GA)in4OcR|ICkOr$yiiQlFtTg{?!1%V9Ah z6ybZerJ+h#L5d+}V2aKS?EFF;!Tgge z7THT8bz%9qVwJDo>5RKrkhfT-n`YlR) zNv;5V$jzSWF20`dX@N2Yl(>M4*+(n3={DhgcCf$EnU z4H@E3g?e~+-QthZhE-V)dNV&e1Q?@23$;xeu~Q!esK6e!7%f0BFK9v0N62eIux`l} z8bgOAI}oHtgYBs_N<^1iAbV5PM+lN_7M4l(3BBmf{QR&NDo4q5XT*4?YPGl)aWq4U z7~XqSxPUsKk?f5ASIxo>Fn9`U8zJS`dMwu`m5X;yU=E+MsbdzSzH;|t+M}Sq?8&ew z^l}ZBEn7rQn@a1Anqt~V|7{FY25ZrXQ)v>_P(v(eXh@*vMWE-;lR#U5kEji!qnaq+ zEE2sa5{-y`Dl+VWY>Q9>IRwaTvnXxP;J65Vh1ZJT^2VNv8z)gEjd)nRQkr3_mSCeO zB2Q^G8JbO5bP;U4@-!yc5D?)7n^v|c%1Hy#Fge{kP)=ATUDTFYRa_P}bhML%4KsMc zM_?HR?t~?gh*-8j1?{fpU!jb!J`}VWJLRKPL2JE~u`&UTB!ZNw?^&Qz#> zD%3v}>Yt`@@P0vTGci6pT0`20^x9z!%E=^8c^95IcMq~K-&tuBhNV~e+>8H&cehB` z)51zBA}>b5EVE*n3N_Bqee9 zMTxLL2xB>O$>z0yX*bF2-Z#CDA~i!W;V;KcWr)1X?mxj}WScP#{HTc=x#z$X2EhXl zj%Iz(gBbeTN5k8)%!{)m6G z&V9=ih)YJ|!MPcm4S=-;BeV^do;^y!@6#2@6(*DO(W@{hK9B-HeWRr2;44qPa@3a( z8<4(HK+TrCby>R=!d_9vv#2VeYc9@~df#{({3K`N5y15%$VSY@ILw@O*yT#^Ud~n2 z;ae-Mdkv)9F$ ze{bXjsOEaVJVNJj4Ue{$0!o(7KMzvb74fYo0J9d_BufeJYxX0%V3-zP5&sYhh!1o% zBRwJQJ`*NXf}_wx0y6(Q!8 zM2cAVoQMVJ)-MmzXfqsAf_61O*&V%9yeL@y5wS zugWg5bZBgl=(%<)l(bk^9}^HF3XFyr%9NzK4;LtLFCTtdK4zf~Zg({rLvl*Vfaz z8Kw}4=lLM^1o3gG)sG6@k^NR>L?QxIVbr`Sro5*mfd<1*Y!?uZ`IW(2@6jTQwU7ry zXDc3z*F!RUTKRlJhDw`&d2O*~EJ3_=98qTbIY7&!j2!(whB{KK^4Tuz!QawrsDsQM zN9i|VmchK8YNjO*#a=oJMtI^@WrRnH5qrYD;Oz5RBBR0F7n^(cvC3M!v(tQ^pWl7Qi9a&~t?FS= z;GP>=?te3l>xB#O1Q9aH$e!)(^H7jT>qjQUGl$FdC7CnhK4V^UfBV-@p`X@NF3WM1 zb@RpyqIuBHg#UOxbWd@zTg1ahpIHU?BP{%kO@-wWcoMU?cS_>D=8f*iuI}UZ`VFC8 z&3!Y(tyKyN^CMC7YoiNz;6ag>fImADi*m9g9d(a!zMO=MPw^uRUm&yKsV)z#RjPSh zO<5dO7F#J82FVv7^GX0qsQ;?uO8TtoL$_nu`mc1K{;)tp9yTolnDQWP6z_caX}(v7 z-$!~#+=*z_Pfr$gKAem$`WnQQi4#b%{^qIc$t|9`%pA*%gj&NL>`WLOO&*v&rZ?_G zOT`ay&~Z~du0^ipbi4Ke(#l2gy0Vg}LcZSw@R{BNKo%d7_;T#-`;7W6_C_`SqWE;J zxV~N!bne!!CXSmsC=hzo?N{BHV8w>gA*`N{M`851r(*ws)rnupFwi_vG>D8xM}Z%! ze}68?7{72Gqb+BT0TJEIm?AQGY-8VstC6mYfN^8J$VZ)iOtm%DAR;ekRI*XxMlV1pr)#ruUnmE>~JXXB*@DlOpO2Suwz>}W=!b6XhePK3==x~b~ zjFIL2@H&r`Fa%|CV^5WwP@Zw~#(k9Pw4D-M#5K`5JoU_}$f6)ZkSPl<#Q%^$1<2AE zJ*Xh+*BQE%&;(LK;r`Ieu@WuGvUnI7d(C3l!bPgUt}b6RAnASJoxp>d89P0qvTBb) z{Y6C5ut)UNAf`ErLqw9m#~`hCSbuDRp z?HWSTPqfBsD+`&y+7vv1LixYptfCF*eLipKI8)wwgb2w4x{3q_(n|EX0o~rF7JG|$ z5S>#N@KBwzU?NdI4_pGcsfiJ>Jz`i9bb^z?4Dh59nB9BaaLWM0gh;TF%injM&RBfC z!JT$|bklg}@|JbZ?UMPcWk<%?%4uTmru}0@!t= zE)o}o>^+k7)ua*MAk7S3Nd5TfwDq~@wZu=Penl@=^Yp z&G^6??Xk+VZ9;G_`oN4iZP-BGDnM62DK!A<;B*f?8X97M8=0*Pt94yrK9TS=NwMz_ zcvSQUUIAvwS|)ghNumR#`is?tt9|{lvUMbpb=^9eU>#u~8(T-)aNM(wGS-n0N2`!M zqaJGCi86&x_(nr*;Gz(Vf#JLd13wu8tVRR`8fdf2G=(=qEkA!cKUI^LgxTJ3^0aPi zL&PYu8e$CYVph=Ah4F*{h<=2zr${9>ril@4*y6{uXtaUesGI3t)nGI;l$8}&o0$-J zrSpds$9@bzAjBya)R3BSa-l7@0=f6PT{8T$?nnJGNR&w$u|?~rLfmJ0-BeueyS+@e zQF~O(#;AUlTG04yJnm-eI{eD!yy(cNprUySq%=w@-iLfRh5_@w*&fZZY?w)w!e|(X zL=ZsFP2lw6CPR_?E8@#WqNo{Zf^QHUWCkE4fdTp;6sik_U>KfWvNVL)p5zI0v3HbJPFInEo<*ZDdn;>qLY4ikVA3N?+BxSRwV@5_aRiRM^;ZSHFZd7Cs1jW`~ z-Q#f-`ZC1g4f|rX4I4MT+Rzb-flzcl?du-1hWNh*#&EDV*p=xid#7wD25}4Dw3+sj zQ0EJAJdEZYAnuh^8V_Sg7o*3U{4?KT`t5=B8SElBY6+?NZVO!n9Z}iUS4nr@mUIW< zDv2TW5Oj|GBqjP~@tWc)S+YKundGcu`I`tZBRBeZ*)EDjN&;3wbl7}DK) z^b2DUGG`GH{qvn#OxV#3|AG+mI7)Nf7bKoMZ(wQi|9jnCS!3YuGN!4!*(@F*nP%2RT}VjM#{+A56J$rmM0OxfnI02QM_7{LVf!MCO>j;KPBapK<*-yx za-4BHOT_S)tNn_q^ag5@bvm!$Xdq{6wIqTWv!^Jf_|F`Vn35I`nEiz(2S(6mh5b>8 zNM(D~4t92O+W`~GtfL7Kx_rR}#XE(Q3T9A+5tU{o$V=h3I+F9KLp*7H9jZZ2)L9LM zgW@&Q>{|DJ@>vPJxLnvq4Mf=aTX*{U z=^nRIP?9BQ=YwPyU=5Mg&mS|QHq;S}SZufVH4Csyg@5MU3i9nb9N z+kfI15kQ7D#COX!sBQlMbXGU)63z=;B}TYkz>Z|w)#p}sMwnipg#}hw={isW3_yy} z5L~ZWu$J<9o#bHQ$K9;C&zpy|M2XT|Q+_kjQ9#NwXsEF;E*6l$@I7}FqY^0SdB~-L z08DxD^sdWGP6m_GV|!o^CiBdmyt|}RQgkkEqPA2EDgg(kE@2&I)c(!~J0(z|{glx{ zy1?*6!y)LksqyJF6W+UeU!dsX0Uq;u%u`Fzqx2j_ao0}wR7V@ zh6gwTuQj#>8cMKIOSQB1X0yuRuZM4#=#}N393~SM1X}BH-$EcPX&4G zUT7M~ntr9J7c*2mK&0$1V&7P6Uv6-gc$CFi0a62E{6i*l0Anc{#lRfTHx~~a>UW)7| z0xPP7sSa8;p%E8*79nO#lH-(9F0Q&w`)|Q_&Uav=tRXSGv(V*K4&gFu_r9#<#IfAe z9g)y9n~G)`>61y(TNern2q(hNsXccrVRYqM7+!SDc1?B_MVE8nRg||Sqfi-$e_#~7 z?t^XX?8c=xiwDdak7$4$07^%r+6h3n!B0g>)9Yz}0u9Zu=%E)Jk=msbvo|f-oXa+z zb*RpQS+U;&m#nS!iS*#Ek3IR+l2!=Qh6xq4BgdVVLs5P{$2>W>un#^}$wm<>Y7Mig zqKp+jmhE;aL}cs^Gj33y3Nk!S$=0T0&O1eiNp@>cM$`Sl;(i=D>d247*DDG`KUr*( z#YnVWguZaEwW@?fYYsw{#5+pK6C5b-`zm;-i1I2R*w~5YS*9Ox6tk4Tyw@xupBGgz z?^2HYW?ClbDK>>QcNgn}QZS%4U+;pqK&f?`lrqt6PRTB{#7dngah2g03{(0dxySRH z;TO&$&==XeDqp&~6I~Z3&=x}_3u9K4Fi2;IKq)AIt@r!6w%tSv1trr<^~vTYjNar9 z6$Y#M?NJw& zWTP3wTG*xv39*?z9rmbmgoMM&KEz?};eo(Gac%2LQ#h>SLxscLaU6!p?ZttLv_Ta4 z5QhtSN2>*Xc_tjzmyK~)U)JI9q;ME&>2Y|TEF&DYD^6M@83wC2A`IuoVLL*Mg8;>` zGMJZ?1<*cXC@A-R*0Jj=(%cM@#EN<$0t!vrL4F$MN(D|BBNe$v48MzQ8;}Sw3W-u8 z4*;@>ncl2&9N8ctJ)vD0p_ytp1aHPJraY52EP(sCmSchJjHdOcBl(0Qh=d`tkU$9B z1b_DA6Xx%tLdRV}$SOhbn56|yHQ(bA&Q^#oB^oZu=xO^D-RJxU*wT{na4M2$62C}O zLL2zg)YPyk94_R5qELY>CX!rp&hY?91sqBwrIfn4CvV%ZKz7E!ZH&dRD8Ww~Ryz#K z^c-KPYeS(aYSw!TOSDCB094xafC}RTs_o#1atgjM<}W{s@r}IQ`vViQ#S4U*t9;>4 zTTwms#kJ(@g}JTu#m?rC{Xhqa#wJs7bQdMG$8!Wz4O_Nnvf~63zGy`&RS2Nsv$7Lg zNnNlYuV)k5q87)T~ftweF#R6%Mo4K)c!R9C^4a1~H#50{f=Fc%CQviVN zeBtgXwJTU4Ec)KlzAn@%dd?lG)=atQ;zJwv9JE;9a~;&qLJU1;{>FQ*QXBMKaomJ~ z>xMM3J3nwO$7Db6OiCZwnrSg^$0`vt2n5zcSAqg!-5JVbZV!9tH2vVKzGAo1!{aFr zn~r!-K4Y2ar$awn5-nn!yp!W*e&Qhq`{ryFV1Z=c13eLGlbS$ZvIl>DMT-&GHvQ}JS1(% z^7LCkt?e-{p1`f24avlHWPQDKe!dw`9#m%n5rIAriwS5H^>hx3SdhgAv;jGoDr%n4 zP{?SEKGY;Pr~KKIHxLG?4BIs1LOVv0^F=f2OZkMvVZ?Fjz~H!)HJ0+GNyvB!2aQPi{IEDo0Ibxoi2d}^ulPdV(ijNV1~^=_Xu}db z5JD66hZ8ax3;9GaNSfElUC>(ecUq?=pNw_7#fMVL7WGU3_an4?tPQ476iH`p>Cq67 zR0UjBQ>rwWtR53;z`J6nv0!Ur0SK@Hn$+sYYYUPIQ2}|-c-U~wR4uBY6$UJ9%x!cj zCC~+yTy7Al`+n5P>)RA}z|l)*+&SK+x3#N@_A734zSO2^dLEOi zZ5n(u$9|k*L`W7ur)blV7xQj;oQB47erte?iU(k?QPvy(Bxm?$fTJp^Ev-TnL>`!X z0Rb2(U2YTmRHhf5f17Z~kJqOCU*X*4*aTlB($#q1aB)a|pZ@2NQp`~h{|5YK@Jp^(;D zQBPloTmyuZ-quA6zA%6&Ooq< z7L`rh!~u8WBL`P|Uy$U$*ONFflHGD?`3U$3ZZ7i$rb##W*ui~*u6aQyTq&d?1bQ;L z6xRl=&<^UOI#y}NHz4PcHU_8x&IT$PU`(PJv9Dd#Moz{k>zsbp6glYz52tsK^eB#i z!I4J~VyiZPM!{mTT4#lWyJ!iLEm^=g8TNs&)6qU0l-?ZZJ?sx@0iThQii1_Y5&Jq4 z_vg6KaOTNd@QG1{uo9^(#7IG1}fA!VK{qk3Z=#ZXi*kQ7pLyv?(Vgr{i$x$Qt zu3)^iyalV zykLCxZO_uOP+3DWFk0_;ClpH24!-vadWbq-JYT2Di9_E_EBvjxOl;b9o*jes;UeiP zcbojF$+7F*CUWV?ZDQYrmgnU*`NqV57Pkp@cbO6}f}EGz1Teiiw~2NgDrR-uVFFpD zLL_II7LU)0vzNA!LmJak1%Ge6_$)# zieVnCrwB+&#yOSGBJcfSaERpjBtdrsc~7D(PvZ(v2p(L2A!DN`56nN7 zMh=daz`8BBNqmP(VZbV>Op`wEoHTw^B2CylatIy8qzU2S_M+e@;q(g1&G{DRtUeqi zN}CCF%~)N3FGtCfhWkLnds<$tqXf|Yf8;1({O5L**r*_gVqb-$go44wQFWB~yyQGD zM~T2cbd)gab2&=D8J!`*1H-iBJ`N1lV?mCKFpct%Xjt-)nEN6$;yolR?DO!DU>mi1 z@zji0KPzA1&^4mEORf>$)c>DcBVoSEu915;B~v3W^|*6Hd=W}sb&vqnR;mwG_lS{t z1(-;RF!#tcL-$CXDZ+Yal~vs%e`dUK%sql;WHVB7jO1taiV(0-_K!$x#Xpj+_m42a zI*1ESY}VyEbZX=r0VmOS&fy%(-t~bAAb1nVm9+zo$^v~mKan8{zlpAW z!-VQHwM5&L>CKj@S5)F%Cn1wRI+9Gc%7{i?iyPKu#8gff^I&AsF~^)D>i?uUchrAx zNs{Zv*UAQUSrA#$P9XRHgPZu<`Ut~ zpN(B2P)0_uu}dU?S1k=)BA#OmzYqjexJ1Ujpsp4!k;<1Y0EU{hF@ezX8C@cbq~sEz zm%$}6Y}sTAuCkR~=O5T5LZli!ELs=zjhftpGfUw@v5u6+# zY`4IPGQwJ>p0C6^OhQdngtcso8`Nb8D_2VZ`Z&T)tI;zdEVf&a_-3qK@QLyWUprU~b_EsbHbJ8TLhv zkg+ddZs7>2e3=yH%5ZL&%OL`2@P#vP=m;^qEjdEy<=HTI+z}E(+$j=)fh9*s>K!3? z^x680#sewtdEsd21(6xxj6M*VB^j^9cbGSXEmy`Yyg!7mctc{U#`xiSQluBnGUlBE za_NxNl5YWQz#MBRiUJ(}zv$ftnH&dZx!se``Rv*t0tLXb zhofU|341S^jdn&-3HnzPEqhmRgo9$@aOYJ59@0TW!mhjN~Oc0vvnnOgyux zt^ARtvQw#oYNx0EIF;9&myu zQH;Zi;DCmh!GKBj^L?K8{J7mMS&0*%C|Tt`_nh;d_s8=-@ALb8UhU|Tiz5y&z{_Df zqQs&!Q3Bj>?{g;m%E>N_s{9uxqa}ZZ1H<%P;9WsJK!O<#i!IP@G0&oqHHp_J@lI%m2M9_LWaV)Jse^J{W>{1)@g2>J~NL}NlHhDIyNjv zheL=Dx%XQ1(-0LK7+(cPhj@ASypE0^KCh#rT{${#3XTq!SrK#jS35fVsmN5*(cw>- zF|D82DU^FTnl6qN{*C8`S|enx!zy+k-x+bk(k3{Q%UcUj{*4u+aKOKzGJIil!u%V; z4s1`*k>KAj*T!v_-g8YHxF;uq92D|uh)6JXvUsyaKoHKyT}WjznD&th?oRMn!#)iV zJi^o=tnS#*hZFiRf+?ZQF@$+H^=9=*u-rRQze(>G)kAFVG))~&*ks)oowgy?BWZ0h zn1qqgZJGG#w!Xx6zXju-4{nlP(Z1$@2yz=v$izOs#CS+kDp@)zF)1PNn}_g~`pHd# zxd7C%&!;pf2rnS&DQEEb6LLCKf6m$Ek2(h-|Qp@jJqG+j_i zx(`>eWrpi$%v+a70b0j`=>iu8y6ZPARt^lTmHG%?tV>I&;W-H0Zr)m9W42+W`M|st;H;8ZEC*YWSH)Wy zq4S6e&9M-|qtdv_LMy3vEi+L-@vFYPfvx(P;)m#(i=vHdpDu)&9WpCc`ri*@=^101 z=Qozx`%A{sWS{Nizho@^hh!}Mg5mx@G-IiaN;1Yp7)!k@B`+CEJxu)Xc^r9|uWya9 z)JXj$W2uK;i+Nu%mR>TJUNV-tb^nsFv>7#S`iTq(|8R|^E*xDlmR>TJ24t_y#%S@E zjHLs{-b=>Pzk6fp&;9r5g4rj_&F!3l+VSYctYbUde~6IDw ze8j#y&X;2Zxe_MNVfO{+H)2I5P+f=0q{VA^1m%wzB8?+T*b8k%xDwmpKhLoTN~cf1 z7LzbPRa}w(rpSi6^kt3G8yls`m26*9`f`4r=Bz<}ZVo?B(GhZ3?ub7c_qX!w(_|RA zqW zo)km^8X9obxGYAGX1{8Q!{_?5 z*(Bfg`ZLAf#QnJt#o6L9w%0CiCi^oo0nBD|8g$zG12c8-az&Xer*UGbi)$6`K9kKb z-HcPQoMofiXjG${6ecK*x%DRr{j#l1Gld-_H=`{gKx(2ti@#|`y&{^u#ZxX_UX1tc zpa$ToUbT8JyYX>VnQRWk7(1u~7KqT7J>N2O*j>b+W~*M(2KX@RoofDN`he@wc7U%O zI)Iuw87t^EOXFBH`&aWZgPa9(yeotHK)E z)kVuQI9y8)uHpafJhPS-wAsB)&}{MfPuzc~c;T^M{3CKuXxFG}x8l6-&!+o$w2;l} zs7E{wSc|tojrem@HY+TfDZUmR>iyi05nOFB=gp@5@dL^TK2v<6iMTUGcGzZ|@hF-z z-w`lnhvC8^m@+R+*`bab7UYg8i(tyUppa)fR$9Xun1na}2{sQ@5? z7s)MXMDB!T(i5}ULQ|-0Sw1_=3MUe6S5d~zWR}Z=&k2%VEPe;)r8#%2djjCssLnvw zQRUBTYX;ZXSgN9NGipN(5aeK<2h6q2`VIyxxrRf3a9*^0S5hHQ?s8 z{p;};EFR#&VzGItzZ1l`x|pTe>-xFVRi`xbO_~BdVcMBoQ7lMK%mWBmcmN5rOj`5B z(o&yeQmk0MmPWNN*@+v-|*OQhF5~U<9aUsi}W;HV=l)W!uR$$f_wP`5FP{8ecFwfb4Z71}L6s zXV-1HE1%7-xr@f&4X08$*JoLX>~DDZhqbNY>`{(TABGh58u zm0wNEIkTb_ID3%Ix9K5%%|Utjbyxp7n!84=T)&iGn_Yh!+~nF-@&5jh{R+2;*<{xo zq;fnx&$sj0{vx5xJAue-akI!Ck6({@$aOjC?-ZWo2l}~iLioD~qFKB;F~`?uJ4K3k zmLAII^_F`>HW94+YJptj>uR7Q3QH517iNu13cX- zNujB@>vLJZ&{7kL?5%uZ=K}Cz)5;fQ%Ab`tlCBBgah(blMyyp;akFCcX8ZGkOg0Uo z?(NTtk~nPUOW5%GYPHQu(z-JFqxVIl@oSaLc4XHr0ok1lNbb7X3?|fKe7Q)=)!EfG zX@L_iF|*(qL9{wHPRp9+Y~g~d#bbs&VHY!9umON#)^nAsdOI6>J7-WTFnmK?86)|B z;NaP8@AK-g%IoG2byE&>E_@nr1uho>6QeyZ1R8Xz18f#+Mx;upeDCe~jxG82Y(Z$R zK8Yw~>lnj&XC|UL-z$nJXC%_7OMv%hvn0n}>ivJ}g^y~U3f_+(YssaJbJ&2kmsy^? z)Ts`X)W*J8x1*i~IK0^AF)%vAB-4#+kTnQ#-?4@1ouQNcYpG^2yN<qA28b zB3M`J#R0|*sS+bFDC87_ia6miUX^Ftg*0=_Zf>)?gV{vvqW){473n@Z{EwSk#u0mF z7GQTfDxS9awxWF`+i_TQj`csI**9^*@BpeLi2({Xo9z&)%ob36aM!3A(xh0Bu=pB! zJg1c+`tr&{pI(lNDe`nRw@+P@E%LtXH&9To8T@?JZ!KNPde-kG^gHx}cP#)i)ftZT&X((I zRY}&D$#&V*0#Z}9GYY~KE&^2n3Ph}WGgFa0Dx4{i#QPg(X|@fh&-DICtpXL~OujUc zV>ZZ%O(AnebF@v2Dy9S5OmN`AfdYZ7_a(2RY`JRpOi1IZ1#0WKdb6BV8?bn1qUW58 zo&w%Dm^uOQkTiwnEltj>i=H_zo1hyIJqOB2E-=w^Ry&%ybYG$;+*!}HBYXgmMFa#b z%~?~}@p)CRk?XX`yw_SnK(F}N7k>**S7uxol#>GK)wdRVP>xs<>9xo~hBh|vwhz4B zm&`pAWbSq~@E~)~@G{8UI(lMFncK@SE|a4;ymvlhZT9)NyAWLu9J>8^nqlY? zu5zh0q~(C!fS_E)SP)!V5Ozfh_9gC$P?8MMa3u@zQpEH0m>w=;e9wh^w-yP=L=l0q z9k~wZWplfd=eP#>?#e(IpY=2A(O7pxpYG@Y+$-2{!^=-|kgBPkO52QCFYc@~rcSX>Q>`GqHJ?r|=p6Hk!%_30h5m@l5uAsp=U6FfV(G|*bR#z6+%eq2G z&gcpcdy%Vl$33KauHsD0)b`CW%ud)q_pE+Ouh-^2QGulQ$65_i&#?l8myg62-YYj$ z|3;pn!~1(|4ECmzZKYRY8Hm5HaLsPqoxH4j?Zu=+dek9wh%rENH52=(N)x*BACs?d zpmdZn<$SZRejN~M`IwVp-EBF7m->4rbH(MIzNq;1T%6BkZBcwQWG!<|J!Jw(W)fqR zE76Lo23wD))u1JhgM|V?nVwADu23ARkPMY*aN@zbKF7jtOWx`n0-XNqc4Ro4r!!Kq ztnc*bQK4lCh(~EXj1PEkOCE~_g^U98z)zh2#wXamD`6nJaX;*Jx%a^S=$}Hjl&n$* ze^XkmrH9JXF^i-7NZ@~;%mzvE3lH79RJ>ikZ`6@KRE6eN-266u{(UZ)7R!H?-gemb zg4xvjh-*^PZ1GdS7ir^Y+a!%-srbyhJ@u>#eh&e2 z1=|iZtEXEBDNVApV)+GZF>MiNpBLz0@Aot-VLp&n1X<|78JHOO1&e2F@64~`P!fKy zK(>Ri`A$pHz(Pn|EYiC>Q9-t6JGb=bQ|7Jw2j0zVsffgCkzE)N^xW_rIYGe44H&}5 zJjkpiFqFK&fRPIr($ftXX|{-h+C~yGV9a^GT>)cGz(`o40tO$Iz?d^*nj>h@(vsY{ zYCZbMW%CH@vIZbc1pv+&LhCd*A9}VO8p6OgL-?=FgtPi;J4)~to@}>Fv{FU1;7edJ zPzUm?f6I4>jJ|a5lr1NwI-3-GlX7<*Z)at3L;iCKh$kj{P=rjb{50|ji$~Pe=iUUf zsE@X2n|dNbUQ-=<0Rk;AcQtSDT=C->au)Pap!R z$A%B7@EeT4?9*&WdB~X}Bw=eX&$Z^?2xT0TFk<8Aa9mrxxn4`rBE4;OMW}q+< zCVdH5q4fen>4E6JmRehPJm++3r{9ucsuwnG=gcBnJ)`hrG30=yQoLkI4`-XiQhHWF z&WExVu-94TqcRa9X*+K)WMlm%Ft)pl1bu(2)prh(gi_~LO>ia2@jM(XM+($ER6|M)|{&BB;39{EEF`XN(C2?`sJZ0STu1BRb_-%|1O?~{gP zbhKg1bRe23xh`mIe#L|c9Yr!5-)gQ!@@1OLZ94Or1KOL;$OBxYz|Sn@JC(=@B?s?I zzQa$PfFQ9hK|mR~5)%m9**q2>kwpjJ49iIDRt!ugQ>z1~2$-c6+aCM~4gLV)!aU^2 z3x$VvYnd)wV*<|HQ`wG{CQ(3b-^V3r^OjL{?3a#u+$s zY}acw5aoIeYX&PIr004N50K0;h1UcF>NOZplkEDt=pPi(4X6obeT27_2GluVH>ajp z9d1CChKB)l2aU6+KpX6HlQxh-1TZ@7v}hEmkg+wu2&>X@rTAuaGGV;A9Q5_ z11c^QCRPTdq|)1wVYiF6A=6$fQxoW5bYBZgt^jc3nE-r$yT?W)#Z@EuJ>$Kc* z@W{!>4p&Sy@fc76C3Q$OF$3y#Za_uwG6O1hW z2kaBVo|jiVX&0{!JXukXhV2kQTD75TrAvx7TY5PNE0&iQ*dWa^Ila$H`c`?}{Go2j zPfO!1LbC&y@tvNWB)p93mp1h(RQg# zrTH~kX?~6P`u&J!W`3nGRjVtlRp!^7KJcB8qRMS+ zKo+wqhD?op1}<EoHJ`6EyT35pdFi=6>#3cBq zb{B=kCi246Kxfr&Iy9MaHlg1CO$;AVOW8KbpvW-*VpJGXbsPVHh}>WwZK=eWtgmqJ z()wC{Q+-id8mskJy(#U8WbD^CWsJi|ho>8a8eF{&z3RiNN-Kdk@8^FG;y$! z0_nNQfI*_9cBC9PpTrujK}>=VXp2Te9}YF_z*jdVTS=9Myr4d2=2EgX+kv$aCLpbV?bg*Xd#7&LLZJiA7$gPWPZrPkJJGFoBc9*JGo1Gsra`q zmv2to!KOWYaR9=gUSCMBCT!E}eF!}st55!2#lPDX_SJP;W3tG8rxu;{hB)h@+t zUd&(ln!7JFpkMEdTk$)xBrnUp=+Sws@n($A>1;I87jWgX@lys`=16 zm2hw@3AhA?Td*ae!4(O^vzI(71KP?b5UqG+Z7jmYq#3akIoSr0(tZ7b(^O&MF{Z-%mW&@@V4pm-Lj6v^%e*&h&>NX2h$<7?Co3sNKgy(hsny=j zK#x|V`P9!fkol$sV$)oCMrWv3=42@_7IY}-&5wC9i~5>g=lb*~o5GZu@m$E;7^BY= zts<(<#e^(%U3N|fPN9_C$vFiyCQGK1kn`8WE`REgaLZRU-|k`s`e~hyX<{#UqT@tg z>u|;NqtuQ=QYRvFdt!jIC?_C4!hJ_F3!@8CzD8Z`ak^rT^S$f+*xawQIDDe$;o$8cK z;akhIR}<1Yh;Hqt_K)3{53@_Z#$FBQ@2$X?lNXp3%)z^4 zyD5SF%|W^^otM37xbxTZ_2AlztjLnWT@cyOAKwgtO97PmnGD%z zRgi{Y(+7IDN+t}ydS6gAXIILkFf(gAlS~>jc+6fgFGUA z2oq)aPF50J6^ZZt(HG1-HAr9NJ7wje_mo0p0Hq{R&?KS<%HjU(gDfnLi{~*^PDzN` zeKE-{<+D`6=;)Wz`Yde-aq0p93c4Z0Ieg(Dcw7@yQ#|RH{0r7^G4M87o1Ib9rv%(A zxwd0%;Cc)?ieST?@C67$8tFx{B|| z^^$L?NDDaix^;7i(}O>go7;lSx3mk=M&4gD`4q54oglO{_97MlsS(Ag3^+ zSR;w5Bd$B)Y{|AHrWV8Y+L3W;_A3WNnb%ro;TwKfasGyt$`ME6mDGyypn zQdf~zrtGr?sSj%D43Kf9v}cpfgv!1Lb&t!t`MjE7i zoror6pv(CAWV%#@D6Mw!pNP$B7hmR46`N%rEh7!-W5S`h?um%>vU_5*Kv4xwaUGNS zjFjj^RgozPWp7XPu%3fs#C8#;Vu4zmo?wAmZ5?t+pjKO22Z37cY@G#awRH$3fm-cs z+5)vO*zJhEobHW&hi65yC;Ac9IYA_f`s6-gLd1Mbiqb+CKArUbMEd+@9-k!^%U_0A zEE4nkT(V^hAhKmlVOyLvX?v{1Sb>gz$gCS*XiIuMq4u~wruH}PP9CY-KMo-Qo^1Sz zZL8QiN|5>?!n*pnN(tQB$hFD(>*uvNj{_! zydk)2gcm$qPWpB|ns9Fk>nG?l!{~blO3P@iK(hLeT=Tg#uGL zW$u;wl|8D8bO&R+x~a|S@f1#4qWW=DxdVcTh|-rwb+8QAM>ucM0B#t}v7t}+GH@(u zmZIB`7qiB2nxpP z&2{_Qyr+>LO~|bcHM4~>t{|@-C;r%Sh_nhIk-AGbk7gViC3@=X53JjuI5UWEq?L9N zUBcMKdO6*xv59C)NWLnFNvG{pWj6vK+Tel{uHF3;Y;M8y%?_4nZn4!+x` zqdkIA$8gNfd1x0mm2C~JZtJE-TSML!D{i1IQsVh^cIu`U3p0Ju=na6f;kN$Tzk25W zw<82Ygm+45|X(_!Q=+T>Jk1nNUj_wIAWM$_I(Y^akt%HMrE+% z5aTuud)~wocs2`M=_C0Hx>)}6`d9^KR^~g!xY;TMyEqdohGH95+N+eiDP9jtO3GmM zLPoBJlxp<=3T+718fJyiIG=kPA;@i0ACeo{DbLjy7&J>Q1i3-Z6)C7Ar;wTB{;*Sx zqc|)>XKg`DZBfEkTMWigmI+7aBr$dujW}V zbiLV!j5va6;>3|C4U%yv)u@q!jm4Vj%d}un zM_f4SN=kFoRf`+4VW|rZB<1+FYy*Rk=pCkngMo%XYZY$B?;)AWZnt*)URUdYyoRg{ z@O6Zhhq`vY_`RXN%&P(8={TZ;PTdX%wHn59$BR>mO{)tZPGEUqgFV46Kv;dF@M%!K z5x_Ux$_5y%-4flPVW|4tc?G&G0w<7qyu z@WNrldtIXtX4vM&HWJ5j-^j{JP+@A^zz5b1zSk~&okm7khc1I*-L{w7V26FM9B|>l zBV(y>Hx3)kSC_%$>r_f~4?d*<01Mp!S;-Fz0(?F)zw~r^VHx3Z9 zbM`nSOsP-hiO$*hAhzsBglW!liOJ;=VU+jx91%9GBf>^ZistpTkq3%?oJwC{5sOA1P8hZ1m7! zYXCkZF~_Rl^d}RbhIN|Qh=d6EB6LbJOx+1;Xr3n4rD7lBVR=#n0ZtI3A}CzdF-I!H z04sjJ3%Z8Q~qNoosiuX^k5ZH3QTCSl!=js)~xJ=V&RArpD zS{KT~!8+>LqS7xg8iEt!3u5i?|B$UPj5p#^#>aE>=^(v7d{XL(8dnAjtuWkNXeB{b zDeZH3W}dow{EBH{H@|4-|dkWKXOviiwGv1lfJf+eLxNY4@M8_1*a)C+A(ul zjzTX+`l**ieWoOkFN+NyDW(sFfm1LLnqf_YT#99wnCO&Gj-Iw`sg63VM|=(f+n|9Z zxQ-YZ&UleIbyIK=ZNpyh`^Dw0Eet2BXmLpy7qmfOlI2c_xm6yLnO%N^k{!@4>LG|b4#J0X@T$~?uEvAKwsXg zKg)6NzuG84rCIvJCBrx@#?=7P2p|IOJH-<-tWN{c(D^{*WpR}2FarmZ9Y2br6Hqv( z5G`vl(&c*&Ya$VmKEVlEc7Pw#fefa5*rm)=wuUFiKJ3ep^t7~*i7{l24#$aEMikmXC-7U6pW`3rt0#B`*3L4A~qU%-S{lr@d^?jq@DBS(Y8KvPYWrZuPR8C~Nc;j|5VL^*Er4 zqA?n9We`TIi(g0JKA5HZ|HH$}%O_8vy}y^66XLMH!Ogq5`Ay!O)0=m4^UGziJGl82 zH_NTv$#?Pl+49BB-01sr&+^F);mvVXww$gGF_mf-uK6Vc1-ONm6})4Z7_vpiF0WC3kY6%pDTwg{U6Fum08ln9`H~^U_2+ zPP%E!sO*pYPfHV%txmgB|2Nb@Rr=ua)A!MPxkJKF-2VSM{B&oF54)m~gunJ7A2#fo zMjBn|@Fm_#E!DrmMa8Jb|XsxuaT}KXmUA#_79(owFch9f1BzV9JL}`9zC( z#Fz_T``RhRzr@795qK$P0oMrJY^b_nPbT4wxcnCcbe@|0*L=&0M*iaoaz!Qo2~q-! zBuX?47BlqP4`($XS_O!PBalCp;wT)a3(yd~^TSy=y!uFi$Wl_OTR1Y~u))u0CeV;z zi~C${jk-mV^A~!*BMK|g)U02qXuM<mh(&wLDkR#lHcoh4Ok%L?MGe{Is91?Vxyk<6o9ha?*!JW70nu5dvS>Jrgn z@}@jv&mC1bPZ_707U!a+S$N1Y0_EtFLjy5oN%^990Rvd-Gn(%6tK`pjGmKJ+f{t&G zByb`38kZj`?*B(j27-SqYERd`W66Z#D-;6JJ&D@3?;oS%BTjR4?k*T0%pUL7uH;>m zz3Nagbc6xC^$>!JRBY-&vQgW-{pYHpQ=EMMi_4MJA4H9l|0(=F#7vw-_8z+XaABc> zGE*)@@*C(e`1{5m9xgu6B5L0Hc5l_Umi29zKB;fg6%W(!*b#zTCl68UI({vmiw+%D zmuXca`@!n#)V}WWX>pQcusi-?N*$`P@rmqD4h$*x?-Bx}y;p^1eWXJ-z8WhqR?D;t zJRQx)!>9nUfry)9ac*j#a3PBqqT|TLB(M04DzYU6KuRVLN{+#5xOACPd5%q2PWF}S zm-^n5Qwcg;#}+sJKuh!36VVC^*cxuByP7sVf$~(VRPq9I$5WCeYL(KRuu4sounJhE zjD=O<=OUZTXLa|eNxWRTmrB~2#Zj)I)2$zkQATufEm4h<=4q%qk*0CPER?lLM03}= zs%3t(Y|0a)F{#M9WN#$Ux{sbk@6T}tQ5sz#td-H%lND#9*Px1I`$({Tn7}Nv2b*OP zAI$8b=VtamQ3gIb8C^PfbuzjRN=ZwYaSlv)f5DT{`M}H`@?4ak)U^;8Wb#9-`7(jQ zRxGWX*+bzDbb$Hd33ySqjnIm!;Ag0V>X<$3RQ2jObpcjYFk>cQuRcWG)Z|bdH8jm0 za;21J570%SA~JiJoLqIx8bHlhVwR9HV{7lWEv)uSnk_8gl4c9Gieg>TY*`_YMWmhs zS|gV#w{;twwE+pSfiBdOPcNZp>RpFy`WL2qB7|(09!vZ_xfI#+>g~2C8pa+*~*6dNk)CtK72w^rT8Jc zS1L@U-k2{N;oW;Q*dMoht)bN^x{roaX$iOkgYAWDWtrh!snyAexwIp~C=hHfl-ru6 zuGOVY+ly5YY%ir&r~V-d*Lpl3D z-yl@_R;<((sDQL|v60e$E5Il~uBUFN7;K8gP| z!R{mzg)Y*IDNR!u-cHmp+-3ahsM_9t)3B{DTCpBshc}NSikbNk#_6v-#2vQ_4PcfV z{Z{sjBUNiubDM(<2&@A`HA^FBsK%3~na_>3Di=_VjSvCV%n4-`fNEeqKZ%htgMp$v z^~Q~S9Mdf$UmXs^`P=joS3s+gk5A~!euZ)s;yPe2X1xjtN|7g)$Mt@N5r}XfYU$`| zb3E$PJBsCcjL9776MxqqWi-|`p4#+k?kxn1&I(+3U}epd$pR|uHgL@i&rQuB7$#=E z%*UAsjuX&l9IP4F1~f(WQrSxgJdk-7PnLj7;#OJ7FfEI?XY@^tancFpZQ*feL*OWN z1Feu~?CxR$QzrDcUVb*8MC7v-RnyUExisBsc<;%zDn0OyP?4*Yu8+Agx^K*Az~*k& zym~RNvgWO|7|ohjE=CZ-7NcA5fL&uTPWWO3N+A;`#|HMNY@#gvKs8%RUNJ`U3i$== z*$Ru1y$!M%PSuNX^n8mk6qS(~oQCJti?Qh=35#)j3lli77)O{rMffv8=h+}yB1t`c z;0qA|95#b-Q6(CcRAz>uwGalrOlH%B2q@mjS`76Wm z<)t)rhPaX-P9ckEFNHO>kIvEN%>bIqP530Z+#s<@Zecs@XFK$TyLp8lDF(t;Va7~z zw-w=s%O+sNWt!+)ER*@DF zobi@CCWV{WW?bB*jjGzy^u0MbL1K_Wp#;#N*b)|%lm_hW=5bAFC=22Vi)%_FaZkH? z%u#fibzy_g-v)NCT-M)|rTxp9zYU@^>WlWYXaJjddAXP{M*D1IW{FuhQVb@%Dcfjs z#8w+7ryp|*jo6%Rz&6jz&GwT0IFY{8ti{;|W{v0%+hB;%*-Ef;heOHjbC7Vw=SnKT zo;KBu-c7Nho(*uNDoEm(*U2*x?K>LqclQ88{W$5*|SKcJYfmlLaA z$|+Dx+RMpRFXehI2q>Y=-l~^I+o$a1)KbpGYf>-IHu4Q~Uu~`%*ha^Dwq=QB^7Xq# zRwUWO^AyJbA5|O!n>mPM;KGP+VRZ3``N)=xbpk z$R5nm^HRhbbKHdY_O>Ibcu{<6|lOsx6V32zvOk{ z&veeF36G*XQ@S}ve^L8pX+R4xk6AL(#1vM?_jw{8riD-jHxd#FUQ8PdL)4(tV$}VZ zrwI_#f~FgC*-11@yaQsz)Ci}Ql(dXQUwi_UQMLF#IR1(ImL@htt;TibzuyWRtB*cc;MkkarG{u2~L-R1w8oo?H)0(Tx zQ^H-k`oasW0$bLy4+9YGTLY}x8vWAR+no{5MgDKiSM7E-4bK?FMeTN0aVPVzCBzg3 zhyv4#+3n1yEDzg`Vq!dMnD1IglhQ(z@M9#t+I}o>+xBB+IDun-(>6QXpshW{%~|9; zSuv68|1LH=-yYpBPN|kh*dMf0cM)?%l-JFS8Dp=l|RDp}^%?8(VT5Axy}D zBE2g&HN!lkEEb`&SiH0t)Qpa)8N?}w{Dx3MMc-Cx2IQ-Yqpec*&HiJ7*fsN4h?TTK zWBwl1Rt2=7#v%ByYaD`C2TBq&Bj!(hBN2JF6fIUA^<6!Jb`ot3sXyX$Kym-|HpH_U5Li=mg17(PXZQd6dODNp0P*l zh|@(&J3g%&e|GwlbeR^22VSeoR_NKEeVIb>nuQou1t*XrJ~aBjtqCj*MpIuy;Q26= zHJTPJ3=l|HLg2IZ8Jq)rEKb)DC_ZN|WIf=;@76CM*-g-3MTr4M08Uy0M+-|KC*NY= zJQl}QYJ$aDm2uz%_#hJ%*lg%_aqd%0kCs)kKiSRh3-SVMU{5JyM?#zeNjuVvUoSMC z&f8NYk}Uc@m$MQ=jEykLm?dzNzWlHB1xS)`*hnCF@#yE{fvgXK5^CN0KS?=?@&SJQ z>cYaJh3Ld@e@Q#+W9UaJuB6>hE0SV~vbkA<&%iv-f58)kjb;s!0;pk(%NX%#Raz}e z3W*Ixizu!V92JqK7NMw!`w9P}ms7Vo0K8ndkPt#;)k0n#1b@YVDXs>+C-8VwCA&!=kq{W(rRz1IQbPm>OHA~5XiU!^61&2 zxP5Zx>Epr%2 zM@Vx~y*X8Wfl(_io>R9G{w5F;2Fndp&CaK)g5`m#G0s+R2CIH0R6Ragbm6RJqK|=_ zj80$$e6uYl`_#aPZMf9P2DMjxSQt_U+IFa)@L4Lj1AgTldsMRO=9^wHtS5%rSVM#J zhwxB=auCQ#{btorkA6xE3Yp|=OoICX8UM9*r|=~i zm_@Ag0V_`jDczzE_C(*M%ib6TPVk}3^6UtbD{V2BJTa}QISXsiS=)a_s6y`i(V~ZoP&o<9>R#fc$ohD z9^2?!q`BX+CsIw=ty8_f9TEkny1Ne_mZ-!EE*}0A*a*+HYSz((LNWhcI5+KLz$N!(yMPCriNK`P1N%wu`GAxxD)rzNwt zFVo^x6J-!hn?)r_C?K`RPKo6RB}*+ZHR6KQ>vD2h{CN1Jgxo~Ys zIktqudc;N_5&Y&O_Va+;+S+I9AuJgUQVje#HRVQ;*uD~{PSEmwePM0q7q$|0TP=j1 zQwED>@#`jv+09LZ@|vl3#g9HM+!_P|C~Q13fVW-zwt?4ykjsmax0*1swIPSI%R&YP z637Se4ishTfGt~3mhnuQDX?9^a-bl1&-5BBMJm2wShBz&KhpCq082$qi&mAe6cPYP z>!#T*K-vJv-ZPS(WmsufuxoZ)J3N!(WNFUHqS0SWlBC|}_;nE$HgPjGaqoXOiQNec z&+s(7ALyhacZB6bSXxhrvZSIcsZo}+q%7!@+Kt)TKlwj^#jX9VV-T2hHD#e5r!3JR zWqIS~AT8gF)>e|1SCTbp0%!p(@O9rRe$^1utnZn&9*pHf7e-7#P$A|(Q89&cfAX@Z zNbf@*sL``kq31wxp{KBfrM}USQd zt1|r}YbSwaiWh>L#Eyur&<@<243xUCUj#PMCS|@`gV=GcGE9K5!&E1EJk6S4*qN@bDDVOTE9)8WP^%x>jBYe)ZhngPs65 zuur^p5-!qvO$EhyfdX@EG6KVOp(QS|!2SLKjr*CSU(dK-kJENDVcwgW^KzC+i93B? zKBT;?%&ahA=!rb!OjImDJ?l(vT1+1tm~mmk%2~&gciveyi%OVvb{zf5Z>=@!tjx7$ z{j1-a(Z8O29m9V;`DTv)(Nk;A{&~j#@OWpK*-!3I?o0VU_N*H$y|LUAIQpUwOCSCu zH%97fy~REa)^g_{yU$ViiJ|Be@!is$S$+DS_1-Cn0b%b=nXeY}CpY9eU@dp_l7Kz#Gz;d7ARtd%c$RlKFGREexK-Vp1>Ji&8{zYXX%HC87EIz))oR3EH;Rk z6MTXAnqhbO=>Gd3+}}C2|NS30dhGa#lgse~+35bSef4kt`Y--nIA&_@?bC%x>6qP5mAX2*+dSoAX_mhNUqeBEtPw440kkg%?J5DzW$U`w`S_s&pU zAiRyZow8VejMAj&$BVr!?aGTSK0nD9?Q|b45IvFukdcKbLf)5AaNK6$04{D-#-@Cw zoh2FqAtWW#Xd>%TLyx_^%h3}#dHdT2Zt7X0gZr0DSl<5t;N{p=Iawji7Mh4ZLm6|V zCGd>IL>c)FhF5=gr+j7BxzT_5gk?HG@=!@UMcQHnFzG|HEi0yd^BOQ>C&fskXbJBV30;>vg6a%De@&iTdMeZ$#Kc zzBI`m<3jbJY+TsE(rzGQAGV3cP02#4`;K&M+YjF`5!aB9R{u%~e z3km$=XF>qPz!eN8I2GgK`!M?l{cG?5Z~xVml5Z%>l{f;rc+><;NY^Qd$u?u z1&M6=p2^YP%M#21YrFRc{_9gIx>b5#FdaOH=^&V(;V+1{dCQGQsV+Bxo$>B;QJ4K+ z`OV+?ttTG-%)fs%dQiqIJ^J$Je)KCpar(tydRdQ%iOKk8UYGq}c=^Y_^1H8m=9yRY zre}}-{5L=S!0&zZ_kZatdV~QxOLnKX(kK)-l^d|=_8t-~%u*qYT}a81wQdAI(Sf(6 zH!*WuGVqd%B+*oPUuR_{L*!&Kll?b+@MxYqn78-$9^$@pZ{B_o8EL~qypFTz-aOi$ zJ#=qA^kCjm2`%k-|M){$^k5$Q%l%)AAGEJJ`U($YmOKdj2NmnG%P`pc@}=9g+zZCQ`hvzSk*UCr~GHn7v_=YykvLTthPL-)}GRxIW} z^qiY)RdaiDj=su@ROB9_9#lBl2TLPQGnN6=2L)rICir&s_I`0a2ta&e#4oKjcs`DQ z#dFf;(#}ZCJ3aE$2eZymz)rZGl3S@OLPFYT8>pjMLKeB{&{IrJ2V~+iI-rm( zE74W4OFpXeiVt=8WwJ5oWDvSpK^$2NOC`dNWqp^axYAbC+P}u<66wRZSl;5F}jD^uanqIf^Z5 z1{>u{~BMv2R9-HSTRvY}B8)fcPrOqkV+T?!`Y- zuGDt%o~2rpZ8t>O3GuESF?mz@)B9nUXT>JX3H*lgY#f$WpY@=$#?6m)uHL40&yNR>W;Bc~;hxQl1?amp18AJ0XHRYxnd=tXX4TCC>)&wU%dt zpn1{qY>*ylh#sz%XG8r#o~3Y*XT$R#&+9Jtsl#LZrY+MiGB`G)fO zhCR^+f4)J_FDsv4wkIMZuU%4l`(w|?c=U0`_ui6t`<oK79ypKsLo6I3~(A%F|s2J|OejBi?hYX5ENPnHV4sXvX0S`KAnQV-rhf6`$Ri5U|9w)Lmj>AOg`c2G2^ zcW*7NX#5+{q{iqYR-HXdg-Aj*F=w6a}EeEEOZGw!rAgi8imbLk=JVlb}MG-*_AQ`1aMG93y@+B7m#xZ+w( zlTIKlOUFP|+EPL#Dk;T|Ze^FCp#ZGqnW933}ESqR2Q4&XZ0>;W|#};b3 zF?jMw7p>Wjv&;})Ap;K-UU!>$j$FKnOSB7l&E6?3+AM{OzeoLq z8kU>2A>2Jy5R1Xr6UVNe_$xZ8KpETG!slX;uO&hO_X!1cavdi@B z9)e-HlSzIpt1|}Z(c;Pf3$*NgSXdolMWD@Lj7>>@ihc~s;8exb;Rh%~BBw+$JUpIu z*tDgy0z|_k81gf?#@TITTNB%OBDM9&-`ioivQVk})_DOln9@7=QbYim9I`JcD`N57 zFRO=PVt^$_p8mgj@@4NcQBT8V*r7vM;r@W^OHeBao8o{uL`d_&K?q#=Y&qMVJfq*d z`&fAQ(Z;*SlM=J)D->numVCVisr`u9ZS+6ZccVflx?+p8hZKDf&DuzT6wDNmY9blc zy#ft%PJi*?4QV3GZG+G62oLH>Ib%a^ObRtXv6&X>__n{ho)%nyAyRch9UBftziLKW z%^AUr>hr)-4ReF}!FHM&*cpK)6g1a?OgXewF~p?IBpcuf2Y3x+p?dN>b|#F)gvob%Y^n3`6^gCBeAXt%r)?d|5F8_UkOTU`NPtajaq>oT!Z9l6BSJT*Un?)Vx&_4eSVq)W@>WdtYZDL+0kXu1IoktL4DYK0Xq_V&nE(d&wGr#IPr0z{zt-0NLV;-Pr_m_ zC~g#ry{oDKL(cK_`IKY?W{EZsAAGu;Uoqb_b0vWx*g-ez+cSw_=^go12bCf{%B~X0 z;>Ddp2xeXGPIfc%1I3++w}A0O#fvO}N#v6D0la+Frv*YHl76Ol$Q~joeJy+(HN_e0 zcF1#Tu(QyczF?YD5I-znYY@*?aUzAiKn`h~c1>cL>K(5|E{RwtI1j{RtZZl@dW~3S zc1zM8nP=%e=R&1NvfPK5U&*NLq+zQm6M17B3?%D7cBSUy(U;;WDqoKHA6^byfz5A= zKa%cFIT}!r8=L^REsl1_pG%1UE=~?ijV4nDDP$m6cVEBz*;U%Lrk=1@T#rGd;<@Jh z6;BUTLOkJ8KAm0Rl_2)aCodpau`n^>@=MdLDK&%>c(A(lezcU~N?63%mTZ(nmNo>; z6vfyr0@Y^WDj@=g6%W)>85n{Rc3xnZP}Z%AIM|wP(S@85MrXAmh+GOIdj6M$qhFB( zMbbA5=b zHXBHk_L*RDdc{8QayCT8eJak6O@wpA;$oHHk&TPg(#1-~Fp0zD4+$&G1wzetGX;Q; zQ=XEzBZCej`gdt)O(HF4Dw675C}yWJno#>uJ^Ov3xJk7flXe^*Qb$JKt4I-gsc3YcvcMpP|+*B{Jy>jo2bu4h0XiTwxR!Ma!GjG_V-b2jZ|e3-nlE9f*1Mz9G_DuZp)>(iJ1CzEAEA2&-J#D3xzSSaoJVlT=PtUR~=&j$WR)D^^X`Wm;A=)zPGHC$9k zw9@&`MN{F`BLbRhP+?dql=D1E2H?$p4U}hoO?aHA!lR^CN0bvwDmY5WWRO_CrQ?*C4VVNR7xg<&ssMs#t*Z^i|Y% z8B$$S-w$$U2O^3x!#5f#J@X*J*o~vb)g9rC5sAjXmq(8m-uf{ zFs8XmC|vKmR4Qx+=VaQ6gnY6bApTg{5guo7)-EuvzF(!_m8_4y*!H z9GVO?I%0Gj``g#`IgbC;^<>gVy0K&anD2QsS`1rUKc4h6U7t))g}8n+2~5q0fVKz# zyz_FLzDBG8)D>BIYu3FBU0~>7&VgpbNc3AXb~oj>b7~XPy*7aH8zZgKxLr=9ljLSe z&kDRmt+x{b40lTwQ&s$Sg$XES6o> z6W=vh{b*VJ=wS5^4^`D48_KR)qk5eeA_r2+LNFG7Uc5N>e{3gKULa~=&Qs46BW-UH9^`&B-3XNLa+&z~-ze=Hez{!ID&WcgelpW-RwwxiKM@}m#~Hz>An zqpEgeQLM_|qoO$_@d}iOLMPIRk*L#&J4vd;h-`g6o}!D98dQBuF>*=Jx1Xu$CHB)& z+SyZ@7kLc7{nwM_F`a?%eyah1hSdN-=nedr321GDzU&rJS6~tDDH-me0(ij6^C?Gv zWilDBcYvMTRc|ddb1$1r%naXe4Z^R!D~WD!DL4(qKxiB2jQWDgZal#r)EV%=de!akTOO9A?L#VcsB1+0URqj zP*yc?l$X62ziXG+oPve8yqso0v#y2Bh5Cm9~jhH5@!v3MgnX31OViW4}z zzYEb{63%R*t=P<+g=oHh-BBcO%esd-wvj=0$J?XKnHw&#waVu6ms-X8sjrNm@#_w; zBt9V1$*$y8q!eW%@;1#5L-&hE43ee32?jBzTe74$rRU5&zvTn^xSrKcppnuEE~jFUwKK$o!vH z%-Jmf1F$4+CVMrOk0ERoMGuJPqsQda(99)8v@Lo>cM3(co)sr_>*eF#|7s#|vLk-x zTERND=b_*uTWnsQ zeNVM(i`uOad`S^u_kH4YLpK4Z7VA?9z!{AlxMK0-)iSaZ_<0OjG zs1>Ct>x}qmI5_-437=etEKTuU6niFOq-cxS@NJSNt@d!5q(g++OSdW5$70+h=sPfR zVr6-n!ogH5Hj;o69PeoMy9wg?P~ zVqO{o{f8|NJ)Si@=s|b#2~Pn;Vo#ZRXj6C!C}4$@6`?LZ zAD#k*vjc78_>k(%@ZcL@zPMaN!LT6<*^R20MI9T=QD%hE*v13W{KgD- zluQKLy%~WW_i)Ib9!sQTQ`GX&<>Tba*&Tz;&07#yhHdTlyr&Gx0hwh&Ae~OUH&y}c z3X%im^F?6Z3G zd=T5iJSZ0!odHicU9))fuK}(oEMFh1ep4u8D{vzR!|1=A>vV0qxHb&O{2w-J9Vf$1 z*U4-NO^wE!wb~iW4P0z9ipW*)rEG-t3G(p>>z{7A zBs>2B`KmE5=(ziF{Z6z(QCzZ#rTGX2hdkfl?($dhICn`AN*<)U?T%lY?mm1N9yD2K zU*A24i}&lYbjWXUbThT8rg-MqrU6;9OmoxciBm_UR&gP?AH1xNS>4Z2~*uDo*gcWtFUsoO+Ixr@A-y06uI#t z%SH}x%7ug>xFe0-mQSO$`1lCn@s3UFSh{?Y{-y%Vq>OKbCiqU)X{keW&il1)zvzPg ziyp9+D9=Vr<{w)Q({OXS(9oX(2Obb~0q)`ea2HG9URMLxClb)U4SKA=Un^6NuLNzeXfVw-0DHrei-zke zNY=Q`akNW0`vM%2j>Q`tl2eZOEVg$n<(pPQaF6Mq4q$Xe zfvPc!YOoF2S3NsD1ldi3(K`@wMLpJM8x3K#{0%ulqnMra)cfXO8HTuVO{`=GO||4f z%4`6XSqaL11C&6f0ZRM;C1Qp_^(s&X;w6otT4Dx_E=Y z6!JS#Vn`XIA?cVX@VvKw_pv7wxI|iOvw)2h!{3h`Y2+URYqp4_hj1^9_f4zmLbVr< zJ)vWj-feTji5(JvxX6ewUaTuV`l4u4Gd_t!>Q%jX=g1u@>~(Qe%~C$*A9AchRYa#0 z^T7q)r5AVy+dFTaB+ftYJ0dIBcz1_59@#v+d)nx1qbN9X=D^+N(*bHzOQOzpwslu( z-VyNTv?%nhi-1sI($=i&yLk z&%r5LR?r1sY)kg-j^B$QVtO8rw#EOf^6Yhsvyq1>MIzy?;>Xt884#er*i*)Qq+vxc zdojgvM#l93rcHdLm^NWzn{8$}SObyFM#aQJ1nd>-QmB-#e@KW%%pe$Y|I!iA;{I&? z2iYz2z!N#i!>;;%y*a`RAIgX>1ZPv4B$NS73LlS>4r4Mzol!)tfs_m{Xc+<~d;430 zbpJBlG!Fp{OWDcy(>P}LiVV#gRazD<%Pr0>X)X+;OeB}K9IPXuyZ=1g3yhjGCU5TPRE z0-eNQCSY8@o1$5F{9qd$>rXxu=lwBd4UJ1v8oM`aTt+Ny)H7Vu^8(UlnUDD6C=H00;rwS7JOo>+Dln>T#^$* z5Ii_o>K$?sg!$+NzT}VrHnq^?=i8gm#4ON2n1$7XX=JnDf@xzG#OlLX2H2Ac%mTll zSd5BS-c*N{njS{MR9%ttb*z)#4gL?$>>7DiMsil%AgJ8tYuJ# zd^JmyHB-ev*&2?>O}5{WNM+W3ii}jju@*>em6mYqIMq>(Bt9^aDZr7<9Ziu5LxsbU zSZZjQpeaipxGFeSV|DS~1pEq)8uuU^F^hF-H13vgBzCQYBU3#Y&{*&?xjqc72I#y4 zbn^;;vf5W7TgSvD0^kEGR{&kJYz@#F-G>b|8vw1fs{w$j1z3Sg^WQjPhOrLFpcO#b zaNeK`aH$4TMkO%uRyBZG(geZEfN7X7Q1;imSuupUjazh2MO z-NNaD-DcwrBnaGsX(on1LJ>j`p$_b6M+NDh1}Qqfy)!`*hI zIQB^dImuo+Sp`c_2S+Hm(C z-Ydz-CWnp7BOK%~P-(*Qoa%%jEIN1V%o-&#w>_BLB|BP6oKvVA?!OjmgaW@6ik{14vqYRkZ3?b;mIc>l!DUE zCiFmzbJN%8$0ml{Jf@s_ak-b4O#f+Z8=jC*P%*J#iF^5YFoSWFhs$s+1R4n* z82N$`tcyf53gyC`LLEZ|Ce8!6Ol+#@5eKQLMVPRUh0KA@C5KJsQ&62r8(rg)Yz8wf ziOrD~NX*kWiAmkz#l(P{=&@~=O7#hHlxTlJ;@uPrqC9IL69o!Z<&Te(a zaUNJhIj9bX$o#)a=vCue0YrnI2I=fY2Ch_+S_68$5_%@7tpz=sY-%E%hOnUmV!^)D zHw`_MFo%1<)e3r>*wpj41ifltYe7$gY(fwDtN}fp*JHS6^4W!;N79i&=;2oShM-4O zm{bj$@(ODOJ;z#!Z(8(Aw&qJr#kvBTJi;K1iqF%|C*|(g^i&{dK zg%eTG!Gg>k{=@w3E0lGQ@wr;}7(W_tSA43$-9))na92=-NEBtNr4g2X5vZ2*R3~F_ zFSX*%Ux%)DD$u(4b=v7V! zx%3r)rXQrzR^TB*2D#~?ncY!}xB~Ep4}g%;SG&BA6w`2O(RrNcP)CNX<_9i-TG$o`_a(yBlBN z=LtOUN@qr0xZVk}Q-%Tkz6*gB52<_CW4-LdT>DA7Pi>F@0FEPfTp#_+K7z+<+fwoJ zGy((5WC+)1S@@(9jq}m7uuxr3P5JdSCL7&9r~Y$&UYW$XzMyaeuGYwzjXF40@nDs| zPoPC=*6#kac-A-iXIU!y+;*PSTcSvLXXZI2P)zap$P=9wY-!ev`c8j-Le2FMU?B^7 z*oEzL;+t*B^zNve88)>m2~|h-I4Y?hC(EQ7qo4owbP`EusGQ%YPcy--SX~`=KOydKQiRRXcFNx<`|t$OUHOIVUmB6;s+Jbok(xM^2>z2M3x3@fr`2i z+ttK!A(aeL2}p2+vfaB6qvdc&vSyoe7*TWzCEF|h;910CqA0II9Etm>BD+IY5>6_+ z%@R6jZ>~&@wprKqX)WqB2<&)l+2W_{lA8OQ*v&4<$a1Lk$C>`n+U_#Pu#(ywxnjx&?GuR)eDOi5kn3fNl~7mWi=S_NmW~A z8JQ$RWp~Ax#uCr$2<&X~07kQ^cMwYn6?{8xD4cJ2(y}R!RnxIb>J_V1-K%<5AC}ZAeuB;XvJ9WW2Fj~58$iBuDs+q&T!5P+AQ2&~ zZE|hgfm@L4!*@W_xE{NMAP7>z;{z}LxdDl3D-W=frEDkw8{?pW zO*!^1(E+j%Xs3aJiNAPjy^%895%|2i=*%Qbc)`l9~uoUW7MvYa&DuWo`#IRUD#n~&)Kdj+z zcv#eW5yP_Gx~v&n9M7z=II74vI(oy}OGD;^HCD#Ee4^j!^L!`EVx8!&90Bn9^eC=>*GTAu&xQ}vvvKmrNbv*PyZIJ^JlfLbsIcD ztJe9W^*Xm*x8*uN5!U%*VVys!b#CcqW_Kma(7fV5|GahK_1pPP;EO@@)UVgwD#^|9 zvRjmU9Yc%A&66UU>~E*>KyQTH4WNp&oY|nIGM~J>!9jX-Oa5rF;)&KoQ^Z27jC8n~%Rpn=g4+BSCNM=>FoN?|XtQax zalszWsCW?ez9cCjChZ+JRB91R+Uv$XBr`gnJP(7}GE={4u@)hOltm zwYV7nu!HNOZPBB@3RtxtMXp&zS|6_;aCa=+jjg8@KLg%+V8Po2HSLMM@Dfp8Sc5dQ z3~$sQATd&#GwMk(YRI4%H6n~L>U`?$Yg@$x(oWlrJ5#zuZ8AJ?K;@cDuXMTt;^=;9WAq!CMiGBmKaq%yG^q3;a zimBg-kU>J>^VIqYytf}cDfS0!A^y->ur zndn2sZL1jFN5N4h_w0>Ns$z1eEeas7eSw@;LO_HdGAH=l%_pz(SpH#utW#Rp#l~bA z#b(^L5TE}IpfX4wBzE1&8f#KGNST(SHeMAkHP&e*7Vv^sFru(bjm1eQaALt~)C%3_ z3-xBPG_p&>f}yhnl4yS~hQN|OJw&f*w^OFeL- zn@590WSh}MIRh712?>M=URI#cz~AF^>b>6G??YNuZ<&`m*_bvjeeor&EGPNCnlTmoy0Y&Sctx-=n>Y~>HU=6Q<~)>T1v1R7h?cC&Bmc+ zdt(8Kr5#Wk>Co<7I$VfAb(^uXi#P??B~Xe>!{nR@QlMCt;x3dVQ zRR5U`B60L&!&2{q-YesyNF?hr9LDsH0A*0>nG)W^lrkj^IU{y+PjpJk8q5i1 z#E-|iOTEXft8wu-4O8a^({yPcFl=K?yOYPdaA;mV&Jq9!8lk~@B_tk~fTF>Bjg=H; zjtjCzu-!@$h?FOlEX9}O4eC&?yr%dfc}4V+b-`B<&r*1?t_;wEGuk`OOuU@<44>6* z#zvn&uoMG<*jB~DAeIOs0`%i|?2Tf6G9zPL=%=*%aF(VC^K66E@PCFL`QQ=GoD2^B z75_j*pN!&Us`@W&A&ds@Z)!TA5Kh$!u=F73$?#7QmqAo|y9!szI%vnL3aU6c6Qnt{ z3r<>h&yO)xnAmMw&Fx0LZe2%VoT*3mfAXV0 z{h{=qnw}5JybKA&gKKM+==q;^6qgp|f?rQyya>S$A8lF3&#bIt@*?YCO_g;#v9gYd zi>!m`DC>A~WgX)eSx3)=SQjEqC~`s41YFKBsCnQk|MzPC(q#Uu8#4(&nfR*a{m=#L zWR;%hD=2c<{RT`@Cb#n4wq$H~^v73t-_Ksr5WxTRiqdV0*llZ3EJ)JH*~Mxm+Ab)GGe3JLRgmUi&u|OGX0i4s9Yi}QJ3%PB@#Mj7E|hDEn_{F4ui_E z_H1z=bF>gn@h-LwDhpc&lm+e@%7Vo4`RH+*-UzB0#PP@Ups77PQa?Z(e>mJpyE|`} zhyjo3O2wV~>`OJly9WguKRUTojhHv#H%P`LXGO{!0h1n0{gkWYT&KA|##Ib|nX5wkls|)f7TSDFh@Z0# zOoo?Z03>@nM-1C$c&@REtOVmr^AW_Up;E!oa#$w47uR;e|w60lZC<86UqKG}y2 zoXgD;Y9x*KglxlZik$Y#2ESb9myLee=uyjE!4_96-zOd^O5=w)7sq}LfQb2H>gW6p zF;2-_?5-veNXmRjC`pQkFIbG33?&u1f?NfbF${?xRA;11!e7`_K1JBPaTIzXBcb*> z7t8mXD?#Ld`FuaV1{Oc3rxg!?C2VomO+_Ib2$Y=SYo!$DXGb4F8yE*1lRtMK)|M+H zBC5v-&|o!F#RvGhqbBrWt^DdkBRdKEx6C2R@0He} zl_Y4j#40dBYRTN zUyuF&?7a`PWL16Vdrno|d+Xk+d%L>n|MzzHsp@X%Mmn^C0Hev1(@zaVGG=C+S-!Qh z-pX6cd5c{7xdb~r=Zzy5Xce^+L79X}I!Y3ZNZJG=lVFCIV8n!IM@d2yBS{b&X#Yi2 zqC^qi=lk1xpFdTn>elUUht7Jj`|Pv#Z~yl1|L?b*IZ66YkjN^{NvH=V2HTi1 zClQuRq#8j1T461fY_a2FYVBeON39=MO=8b+l~}GyT2h|GCgtimr|TVeyj9k%f-FB}P)bbFGm&Q3eKD@UG>e%*JI!8At~Sg_q6N)9YjcMfKl`u>yhK$@r6= zTauURWPG#Pn?x_c9x-1KFq=JDZqD5+G2a4K3hp$-2S+m;SEWev%B6J4=qAn67x|>( zp-xgV_OF-Xs2wT@fO|Q9ov0*9)xIk5Q;f9|{5zHdzs7_YbJ6)QTc2x{o!2#YJ!jPY z-z@ENt{ue`(V3W>YEI9Pm#(Esz)1LrmIsJ0^rG~+UuAhyQnJ-NyYwvaf5y-d?oaA;Y?8|1 zQwiH^MWiM!Ga?iMFd^OP(@LEoG>e=-DKh$9)w>)6h% z0?H)9SV|l+>^sHyXd~~k!K^oubW;3DGISFjZN_k46CPs+kRaGDr5;Z)3K-LC8$knyoO=5WNeq904d?i$O zzdjrLdmvWb+9mbZk}$xJ)V~$BkK+x%tlZj&$Q&5ZK6MB1T zZ|W5csjcs8dz)ky=G*!DbCLe+(w}qmhip$0u4eRAi7R|uQh1lVU^eu%J&jlqId60q z5}8{r(F9c_zLTtZIYwTdeyPqeA&ymdUe{}5a{vSwhOK}8ENH-(1Gs#JeL>u|0-;jl z*|ZnbF6V=t_|tqGdx)KQLG9H<$u=&m{R~$g!hvw~JKCSO3l=Qec+WgsdWMr|(+8hY zFQF7=n^u;F)jh(d*y5k^vkl4j?^jzkK|N?Eydo?tw_? z6M{4~WiU|$ETSBs7JSMfli^wcnb;LVCc3z!yACX>8y0c3ghlOSU14Qe9};fWDad5_ zDAR~xQ9}e`td%%YoYa`l+*5o8oU_7*n^f?S5$*4-OWHWi(-?{;MCr~mP$qVn?oICR zE-*c&1@cgOo9mt4R+MVswRw?Zw_LcWm*}yszMs?U>HButZ@!|tgVLvVO!`h$usxGI zi`}#A+MBRZ?eFcfE4%gJCEc_2k#t|6kA<%7l=HiL^lMl5hmx)E@~xIGdM@Lc8ck-( zWQXZAu40v$xrNE9h?2yzi=1nQAz zGm~9%6P>AtC#n5=rs6ku`)<#o+l6G)PtH=pl_wvzEfSurQ9B)**?D@PrpKFfuL~k> zi@m+7CVZZ*&ybhAW05Y`CM@U=Yrt)IzP)+Iy}6b2M04874<);k?Pj)25>mEjlRfO0 zt}d`9vwDn~rw2<@(4=lIU71Wa`)NLR(Cz14$(iX<8-BRLjQy1`p);vd>!ujmoX563 zQhJJs`YYk7y~%m$J*75G+FuE6^!8_LgrR4>-CYT706==k`gymfK|mlqT)IL^;+5U= z1c~H4hi>O4q}ZO9oa?rcx{PABmhd`7ZPyYu_!ZjainFQVpLois?r{(N4U$)S9GfbC zGdsa(BZn*b?E>33vA`~`65}5t8ZfLmm=RQwkBhtOcz%_Yr0ah|@)n({*}Zj!$LBqD zxkhNOh?LM?6V<)RE|I*{(4J&sge*yJ(a&jUD4%!flqCsfDk4ix_%5Ag*FBdl3b%X% zA23kjhUC0|9Uq8S`}sh;g6T=-(q<;xpN*WXGZx4`IhRABj0buSlwf9N$7B2Le88NJ ztv%5tn5=!^Tx)l9Y38;w!hm(g#giw{6d8)9Om4EdnIHuKBveVbs{8pGlx0ye@lqr= zWXg%yAx@IzspViqRx%`oV#JI2!KMFaoD&X?YOa|Zdgle zCu)eHh(1UMC?6&UJjandj{V-zoUo=(*{=`;${5mvcEXL{ltQZjHpJKrlektEV})5n zm@Wu`hzompuRU+@TgT{sbz93}plr<#Rl5HE_)pw*lKElQi+&DwSxxd>-A z!F@A$Zh|{UMs3bE(79m)oyUGS(G3K3N;dBwe-B|+OUBqkASsKMuakWnxkQ3G&m6L2 zao8twDIQN&+;S!=h)sIKq}{ITA@?-{I)Okx&IX{;`?R%D$2YjIliJ)69tvZIgElFU zx%ng@80eTvHjhn;;_<);894E!b>wv=ql(5G6+4o{=c&ys#|Soch^B-r{DV&8$4EeB z&-7;7?mj&~YW-Wdlrg4wZX%9iY#LZDbmHV2u0$A#baLeD_{Q?oG-j(j8YOrqso zFtNlM4v8=b1)6AOU_*k}iyKz>12=~7m2NpIfZiB89rko`y*dg#yE-xOHI!tE;JZ?I zb+sgwOjQb@%r3#|pw4WRd7&N>tbS99ow?BER8vUH3KOgfnN=$7qf>THSE_p&HZnHkz5lZE={lD9rX2(w^jm@c#Hl z`ra4l;cG2h$2}9J2b;L%Yal5=>seyybV?}<%e_xH&jNhanPt2+08m&KK#HD~iidE(O^U4)G(`i8U7Xamn#`q0ZGhrG4Td7Prf4x-9=n#{BgD8F z11`$8%jWR|V41V7L(NqQsOqNPBWPN8i`}#;yRjfZKf?ZQ8WMNu=wC_gtinoeam zmd!B)#M3&mr+-qbE4#5I%^}^)^wtb^v!=2eZTn%9YV{-z^}*(h%5Dgo9@D|BZ034)=1O@ptgq|_kNMEitm3E8|A`W|#1znNpm~6V@fO?~wWYd9v4e#Bg4mat-0s7q{5-BQ1 zv=cg1BfSQOrP(U9Kl7oatGy3pa+c@#b*s2E3~o}xc&aoE0Xu!*SaD>VDQ0x6)Cdlu zsGh^~SCFp&9R-%g7&uS12qc6U8oWw&2+WjX5H`R(XxbIwH6Sy!%BNq=(=)}VJMMi( zv`0Rv+BU7?lWX0RMyE$U`7=C;eKjAk&In_UMw&-H`5K;_Ek3#6o-}Ga^2y72lGCH| zcP8#htI0R=Nsjd;X{+$$4)>(d+>uYdjwkUw~8vPvkjO<%Dgmv0HeOn z%8pa&)KOscKnP5R@u0RUn`SdKRMOZy|E4chX#fn!?f`9xz?((upcF~_0Q$vJL*ghW zu%}CJWc~^g)O|?ZtOX4tG@|f8Pq#qxu5zT2;5~{;h%Tbk=tEQz`EiqEc#iU3WX`-= z`TR4uBxaInTxzb;kci#Q#VIpZ{r|S&H9B2tq<57rVUJWs&y3`5fP`ByV#ZkhWyrcl zzL_QiWI&wpq}(Y?EK(^dX)+FzoFe&MXNg!CvSdbOQ!TbiH! zLPfHZznrsHehr3KGqiAg&*gbeq%%$lpku9||@K0aorQtDM>;#JWv$w!HH8$p;)jW`FNuP|byee5xl(Kdq zQ+9Z4+d&A%1M!PvG&XHyO^ZpHB~)Fpw*KTM-Tbjdr+s3x;I*~%ks^qQfd7?=IIBTI zJ+>LwT6;o^PH+`#(W8zx#xP@f=yZ&L8(6zJ`%6(46rWYim6%^hIur_a7b(^*+rV`C zrYpO|Q9w6{zPh?cTV*2kv_n{eS?<*BEJ=M>LB;f0iW5y;X?fEvZbGWG_76j!nw)+!Wyj@Uc2wUDnl)AVqv}5L4`zEeN>9XB?$I74;Hw> zmLYsiat4`oeG%LztHkw(l|x?({b`@uqz;%#x;!;HL1K`g**`;toR?;(SRxKPNvIe1 zgP$Q(n;FJcGbE>?e}-gRhiXJ1(2V%R#+22^hOb0y{UKcUsV5~J1`m3n70F7zDXk8E zV@NBK9`jZ=7hAofo+D?{hn&#v3^}7BYLe%R&lzOnu=z185Wb0g-B2^9Q1ETg57IhYhTU9@bsk@(Rvi6YG&<_K1(o__LU(FMq5_ z^0kMcN*E3DZ=Fxdc*cpXBEQKR!K<_P1P)`XQT{G%wKF19*{ zvo>$KQZBUkibAVtz$?1Lfwf8N3g0#dTPk)k>dw_KX8566ENBAV-~=37)>Yk@j!m;@BX04N#&jt(Bp?aO zKsqkC&;b`jM+hl{60sUEzD{ULP?(-*yARM^zf`-44`s#iK}fVd6iUvA`iA+_x2T!W z4Gst*Nz!OxjlRo3@4d4J>#S!w5W?r^{BnPJk;-e_`=-UYm*555)Y#DgqD`%|h3$Hy%$0TitF<@iYb}K?w%5C_@-eO>WP+O% z@u=}Zl?@!cdV~ru_EpVSyRT~A(bu}}5IkTF@Ly77#J*1Ol>|Tafa{k?EBmTK0r;>R zJTlWtsbEIH6!&W+)lfvBhJ6`lmkL~@(|n*%&-f7#`lqiN0S-}pbxu+HI?Gl3W4b!$ z@(wT?#$b+&kgYq`#jC=ux|1lxnq$D#@Ru8a%)OqaF2S2bfGjAUs$M;p+~;!o2m!Ke zNELj*+OKRs*+da8RJfkX>B1bgoXfWZN?AceDH;tEd9X@;*`DJI0bnMtNbooSO@y(7 zv?%X(8baCt!4QfeC5L%YdgxO}MN4ksyW9Y`=~`Ypp@tJhet^9UsRnzwpmwVoz)@<_ zKYTVwE&V(ZTDlA<Hq^I8q4$UZf-LsI~U*1jF4Cb%BAVm{BeLY*r1}g&W8c@`59nLtYMD}~NlCFh)`^vQIe|Bbd0_@}>gTg;*(|ZHZ8t(g z?;55}*fMNYFlGD+hlwJjn_{D>!e9rcstoZJPv?G{4mx6KI{2jrri1BnyNIrUrRgBd z_05V>ouyfI`j!#mnlIzPtSkzne^$JK4c#{@qIAO|wX;QP7Z>TM&59V4(yS<8o0Srk zc?#6hxduYT!mJFXaQtg>hR1HnI7g;5xm7kfnavERQ8V+&DU6ULX-tYNS%cT8H|Yzi z%-8@s>%va%hsjyZ0*8UC!sMt5>L;gf1q^(EY--C^sCGJzyoW;#g6V0;BY!bSJ06vF z(tL;t*{`4-w)Y2V2NFyr?PxATJCsL;3;xIh3?(zia-LLrxO62S^i#U-2_BiBM)2|! zzgl|CRjhb5^DNTA?KYR6f}oL+{Td^OR?gy9(L;h^_^V0%R}*z=DHZ(ea&c1TWif*I z(hH;W96`(rZHc_HuU)*59GSzM!b%~`r*l`u8VruRkACmyAFiX{<#e)qxTKR+&~K)n zj~Dmp(DBOCo&R%GFM=2%BY?!7ZnF=v4fQy?k7QxT@T4a8JYN*UbEPC<%TH*Js+9yP zgaVk8ae$mDg7hznj;k{hfJls1&&Or=K zEI@nd(>d}Ca?3cSgDRXqgcrAr9}eJLFCs|JF%QL+AkSGQ0X;+EP5RH!dt>9(p~5z) znkmq)nkgq6RnC;_)ib?(nTdi}IkF#H2K*pS)u5glGAOQB59+`&gF-9M2X*^0gBpSp zN_nrs37MNJDdEyGIH57!8RBGG|2B@%n!x57J0pGLl{#&;jui)i86hZ^l$*Jjl6pwf zQ3HMj7ZWmDo}bhDf8x69GExpuJ>f&A`?5W$S3}grJf96JA1Ad}z^wQ#)jn1;SQljo zEPjC-rtZ4rb)Kued>(TJpQF;?KRlHus4D-b?oD4jhQRCRsf}&YEwZ-4JL~CfAGYm! zc~X~btD1N@X{>wEHsRfM^mN6AQagZg>Ub_M+167XbfHqhnOKWeR??sO2`%0Q4)wo6 z%Ly?HaZIB?zj(?% zUlcvfXM(i+J$*92@9L9v`zOmY%NFaXDtjs(H(RWnE$d(d$r9zoV*Zt@1q&a(TtB_c zazSviAwBfF*^q#Z@FyEmdb93nOqX!Eh*sNdq_7dL6Hw&v>iqtZ;?1s8DX+NI2QcgW z3z01ivyuy=471J(GJ+5*VEVy)q#o0=k+PWGSS&4==`R?bJhuk2jr@l;3}q0)FW(!BD8im3P756 zhg(mi|4C()$=Jf5f* zxIt4VUr&3MK&p(a4=U@KOpAi^TBdW9Q&#vN2N2tbv=gpA&QX?=|9?(`#{8$y76uzTPb^m6dF%+~TG;ed&`+@S4uEH$l+_epZS5m-f(7 zAwBwr$_d$*P%I33ona6fsTLilrb)w~oY{GkdZ7qQ1@_BIx zfjx$0MXb0}@&I^nyDu1fJ0%LQH;qUaAGLGeC2cEx^-fcGkEp_31KT8YuC$;lQF(GBh#DaQym3pcX(~ONtZj<5CzWj(<&4*Mz zD4i{!iZf$ahe{5@^V&4C;IbVSaA7j#BreQko!enGgcmDe1a~TwC7H?z#a)$z;_d>W zz)*CL2m~_Q-TLJBU7Y%3biu{wN*kPV^nxixq0Y@?nwH6@W{bme%)?&!aKK`;1*x#DTHh`AAKtTaSIsN|JwZRS9p z3q^?=DxoZ5rBfpm6kc;d;bkL; zGw57o)(>~;hPMTC>PE19;34d{1Y00Oumod8l_fY23MVW(NHpRN>01sWArq#bJ{@0) z{!X&H&Go9{T*Wh7T(^BY%Nb|yaf6q5ZpK+NO3b@^OMUm;wvmZigwq=j#C4Dh9ICXw zy{&duegN8&`I#R@6e8wdnAGe|A}sW#1WbN*dMX*9Z|&YR-}WoqnRU<}A&}bQD3Y1i zUD0L2YB;6iHR?)u`!SyG9?4?iu=s$g`t|9i+1J zu|V=Y9|=|a_}EAqJs+gdqw#I76Vua;lXiC=3(Sl$ehK^u=UnhX!o5C-QP2n55E@P7 z%|^Xp0T0O*y4b3DC!4rrnxtwr)w0|Ss?$1pRqtQm7F2A z(@3l;V}ooni&?-9)MJ?pA9W%OeUiQLdg-D|K!b*A z-S`A6>jsONJ-SMdt|~lAR48E?Ji5*FuoR1GY%N7@30ks4F6|{dXo-t&vA0E=W1+j1 zX@WUZ>0OqI64EahB;G7^)xu)xnXhjVGDsz0663@YXz>YX(#i`(y4#iG9Cddj>-R(v zE7eHW?TI=vOTB>aAoSS*u7jT`MB+gD-MK3nHq?@7Fk^S|SAQhCSQ8l7S_%q@(>V@` zQPMMC@eEE(w^~iv|F^4%z=Fj>B@3@*95cyw+}gdJuSGm&Vy{JXrNL|AVmn1VFh=W@ zNsRsvKm-)~CMGAFz?syWRLj?L7eq)FxOP?us@R^Kr9hHh7Dm+F&ARVM=DTO}xut$F zf1PSi8w5=KOm;Acv%4|K949@tZEpf#*)9fQldi5L*%g9Jw&}{&>Zi}U*B>F#vPu^osn0O@%qzq7kF=>hvL zYp{)_-vX$$2K6vKfqyFd0p#F(P+^i05)YY1oMK5Aht~qO9Y%G z>EcPX$U6%iy3;@T?LbHo`GNN7t4_b$ylx7R8sp6gfe1@a-~f(lvu{>Vg3_|Xn zve{Mb0}yuy2zj>OmuGgjSM5s>(e@lQI%PK?gWAo}{0h1F_RRl7EvDD=lcAIdUR|4Xnna|yj@7S-R)usnsAcMtX<59b}=8?#e8f@&K9Dcot&jzEN{CJyPclc zaaKpN^W=yfu$=6JB|9D(oW@Ab|9^n082flz`Mwj_Vh^6cGbjC?!EK3e+7fUe>S+W& zMY!txmRTS2-D;aL+pRsxG(AZ%=ttScr1hk(79*0!FC;A~~nk3&eMvbRzU#e|&BP5Ij#wCWCH&P%FOd;F3#qF164>I4Lb{bq! zn`)~z)mFG0o60Rein%}&_k+e{3b;&(ka^JHPmyyc&@4bR0cdIp^$XI%=>?ibfijH) zn#r+u#%(8n<#(OHGbjHZ+*lO4WuZ}`uUEl$+1%XfvzCR8LBx6@z10fbnHI7iGYk4T zrz5Erl@+d)sPLqM5f#j2>fvj+@{|7e<#Q79nQmg}88tB;r;mt`aHk3bjRo<9()meMJT+ z1V*E9XtEM;uptHk2Q!(AleKvJ+w74b-#90~9(^*?`#)00Z{dSy=LEM$!FWq|;FS$^2p1E{h4A{l&VEw!rB7~WL zvCAw|Is2rN#p$6xeQYU8WmBUcgwbo`B)X#W&_U+fbtQ+FeI4-vr|NwLtzOe)>c@11 zJfqXM*D}Gw*Whw>F^1@(OP>W}6cWw3ED+5|4(A#(tSj9F%u4{IwmFA`sh2-r4_rNc08vpQ5^ z6LU`Iek@(Jq$2|fZw3gGde;!+)43F@*DNNlRoJ`cFm_FJH!!Y^jBA1tSu^{UT|39O znknI&A+ecZ@-feN`B+HScB5n+v3Bdbl$Y$*dAL=W6ofDltE-$;q-n^O%ZChPd{|p) zXco%EXf-L|McJ$jPzwZ)V+a7#=NSTdb^L*!FJfq{03GK&B{Qnhwuux?Yv<2WU8}^) zwbbz9V_mXdAM2A1G9PV7HVUL0RhcOw;8|$O8WGWp1>%C*A$@vPk9C_8DZEkFShe)2 z5`P;1xnn2z+(BFFKzwaowK0WUv37&4#r@E`eADPxwsBO53)mI55rr^QoY;j2^ecZr zze*2W?x&u=L4e2~(67=101d~aD#uS*9WY^1;?9({R~v?97ql1HZFvip;z)SZwRamP z$AKgL+h+#ckk3!n0oeA81Np5cW*frha)>pEO4ceUmOjep+1=;T# zv|(u$t%O%cFE70??3(f3%GA=Ei*)2gzzBo56{?r*EJ|;?<%uO%q%2CG{H5?+=JIk4 z<<`;pcw=B9H&XMgvBOa{4#r`&ap&iyQ{=QeY3zxX2lLn*kAQgWzS?XGX$zo_R=w;L5OD1ZmHi@_&yE1)JMS?-aaIMMR z{*Wei{2)t-yfq$75Mk;?AtJy7j3@SNZnhqgrV~k&i0XBuh(>o>uR?Ti(hm}Z@?j?r z?C;KS7#l+t$;Y3PQ_Ya4PDu;@Bz*bsj z!o}^x*lzrsrsS(r5{P+y2bDIJOBq|Wy(KXxY1lz`Zje=Fyf@!TLOJlXRmVAG1;zf z*FGHdWJ@^zXHp zd!qjUH9^TRZSbJp^0c-*XL0jg&h10GhUU2B(iKRqaFPG715$*|ypa#n3QgQanS}Y- zLS!23JL{WDXUc<`T|Vo=ER@3#q3_Qh*Mm*KQ=Ck|B5k#%IG*uiC}BYRR2^c1l;RAO}|$ z0;S_SJ~r@zV$<2EjgkTgm~L-E1R=1or&SaH?lq^ufvjR$oY3g#IJGW}?ZA@TDliUU zjN^4zWdwtUH#X-cYEdnY0G3XPHAc-TQ8jG??%&*0y+Y$<90zCh3RSkTN#uYUl}i@V z1BDKsR64$^vtuL2OtQbn2?b&qoHKhsWfPPZtD+BacMbgE4Bj>IGHG}jf1uKk=MR*2 z;ncd9b?wkj2r@E(3piF8SNNDvM2xt0Aic}ZZ)XWeujQ%&H~zD;2h=X@u7wG~xWwxm z03gcK^0HF_2Jn$Lhc8zr4qE7jjeNpawuQ2~y0-fXi3A)-CYp??t%|H+GRFUIF_vEB ze@)|mv%J>n@!9;47X17u3q3t z_%?WLf7OA2W1x}4cC0q6POK)YH$C#%0*8hNO#~jq_h$IcR)tEv&Oo5jLyUgC1DWYZ z>(#f#cYs&8fueKO& z`3e?Nip)!^5v^sud>pIwm^J9f13KuPz$TON&9vtUb+vc}bJVVcpcmB|c2`1>i?^z>ifdTEGfG6)BuohGNf2n`Q=UMJvr)}=hXI5TK(=qO|Ul_C|X_V^tPSmKeB;lKvIGB$k?xL3Z$_||L zvZ9WHX{HDN3xW&i|5|W}S_D07IHBzcV$l?oG$RWM8b%r{`aus(*g{RG$JPqTC#B?1 zgvR%7a1Y(L)_vZ;+I=2X<}oYyfVcQODAk+a4{3?`w3j@x!8Vse1mj2?rVHj@1G4)Q zcGE9Qz_nc$=*+NBPuJND(EHuT_~^Gi%FGKj%Uwr|M`2ySZ&E_CL2pkaQQv-f z;Z&*7N*lgK5zYo^%K$Vj$S3Sh?ICLfjzk>+*A>i(%0}2V)e0fq9)tf#*tPzshs0KZ z*FavVGXS=r5`I-1?S{WL{6EfjiGyUTl*PeYYUai`jyS-b(06T$ApBo+h3=@2DL>m=;iFQZ#>4Hc$#meo%J^2NM z3tHTjU*Ojf|BC_+?iG5|(q9?a^tM=ZpOsLBEO8*v0!h9*BcIZ%_yN^#vgUF65VTJV zcJusxTmm608+ zgTAa-^bnmT|G&R674JW!rH@RhLiV|FbJ@{njLC!%VX5E(kKOOCl+ za-()eo&`0b!Qa3&t}p(yO7#`Civ*D4MT^zfPpwRXs&VQrfU<0alHBN${u+IPkizGJ0Q>0gl084HLM70#Q#1)@fo z803-FW>r-gN`9=dABxSfO0-;A8w6udGC9LRo1~L)P=wXkveFw$x z`>lp}=e9_1((kn1H1vWNm#I7~tO4qxs>v9hL>A|fB`4Dxu?TPE6Z1L(9KRX!X5__n z64!2mKm##$VRl>Y41!X8(z^1`9fz}W#lisHPMc4Pb z?p>zl){-uW*}Nis$(0{`3tm!f??<2#aKB*vcm(*|r2`gx^PU_2e2M8=GE^@)lW9wWMxb?w zdq}jrAT)2#_>cv7*&NwXcZM+@uOSCw<(o*1czvnJ_Gu2(Gwn&`uBn}rj|kXi%a@Jl z%xw9ZFz?=34vbpLWIK^|ZZ*5fPFuVk22dbUTt35)v6e5YUOt5)c!=)oUp{Vi4Z0r$ zVXoK00hfo$>-JE#Zl5cxo2}Z9qXpFxKdElETzhS~lCxM(WW;zyOP00XS_RIn1#ogW z(=G>2VkrS=0i13x>>dQCkN@}JWW%{l$cD>yLt?ujfutEY6Wa~i6C&%{B>9X7c7uUa zvoC`40l=B$+u(r=oPSXSC%{U2Yy<~VKd~I7yBtV&1(1#=8StlW!sg#m_}|aSe&3PTP1*1 zkoRs^mj$NOy~lng%?ur|4+1`v)!p@Guecpj4GpI9V4K9CfR28 zFQl>VzP&fRzc(Wx&pOzau9m*ZhYGiDqgMElhYRf8+HByulR%Q0%hcF)wha{*?r9Hh z;7y^)PgsAo5%E9|=t@$i|FC`hcSvNP5Tx9IDq@Ipo~)3v(1HaVkU zlXwVIz%>vFJ^`KhX`IwLH;J1vB{)6&lq6W5NY?1-HL4xvPmGarFp9sbj*+aB7{3>L zs}r1hIG>$odDh00ul{l-fnlqE#MYW&XTBk465zUD{Rlg$TX92zBg>lv#PH1N00Yr@ z%7?~)yeuPE|3BS&9L2|Ki<<|WSD;n=1e;EahPARrL>fa!XKA`XGP4P2Nx6D! zW;Vch`A7|+oyaeWi%W8ErWcD#HqBH^JeJvwu__SPiq;}|9t%FUUrHZKtmKH!UA0$B zU%wr?Msw*8e32?6n?rA%bRk)-)T@n^^ole#gzio1tW!{XOL>;bgfz8e{tAU%nTCY9 z)ik7y`VFYgOqZ5OSWmZM=sS>hey)247v89f(tKZKv|0QRp}M=n6biz!rC|^n$H!)8 zu0ryZsZY>#I~xCnS4kFFI$T8w78p`K5-&R}Wa1dZeWj8tGv&m;gTxUN9h@wd3AXAT7Rv1SNAH}8 zB2CtV$J2K7WUL=V% zxkz@e4$n2s_oYsi3| zFyiHf2kTGk(A{CA0azQf>BCnY)Vh0ktjVBly2NTX7A#4xOtx5ttAO84b{oK*BFG$q zF2V6i?iKPo0CHZDfxMN!0_JLmGa1MUQ$ZCJ;01D4Lc*_yK}lp2EV#9!pi3CA;R<&H z>sAiyyE9mSqyTH!LlAxaw1hSe#HLMf^aZvI(=kgoJa%dl5GOHp$HeFp)W zqi+*aYj2wa=oY~TZNg)7P|gOliGF~xLk0o5U^pyPEC6)D1Jn}HaMQZ?mXxy$pt&{? z0802>5ukTw0R2z_pe+1?M_vI=Hj>28FNdrt6_ZGY1CS-pTdH*d`2u7~mG(--xRAvJ z;!$P*vJO@Kek~%Z(T1@Q)zO9lL=|oD^Q}hIX0qUPivZT!%V51d1M3IMU=^lnHwbFj zar}M|P}##a?v)@YdnPBo>`#c5jf?0xD6zWVkxV-E!BH<`IA@}P6?BJ5=?>FQcfeCq zzY;Zs^L4e|8?=<}fG~(ZWm*BT4eMeZKfLVUlzQOXTMW;n)B}!Sfk%cWQV)1QzJek5 zP!ERQgP#q(hk7vd9_m5Gy~}2Sdm9BIA0Fz#WKlg}>q~8&^fI`~-`aIoVq7#|))k02 zm{Gm_ElEV_9?qkI!Sw3xn!v#^)Ysz3R=T?{ev3nwnwX09XQ$>_RrSzUcVG1HkenOI zDuel|?gr2T>1+dga!tBQazMAc(`%5)noQhZlZpEb7tUCc_Kmi5%mt8~Vf~)b-5`0* zq#_9wTYIZbVCXY>wi0r_3BI4hR!TyDx0_5T6)w!qa6thNFQKf!f%JxtqDRRYrr)Za zzkolyM^KEYdwKfP4xGsUrpg3RG9;9gf6oJx$-K(o)ny7Lf%kBgB&*L^V&sN+ZA^CUw1()V5;OiQF>ItkSZAEfQg&ml}&_))N`CCQu-VMyZrN zL9$vZnuNBRwN|)E#{^hpljQUjXRnzyj>3}EjH4Jfv-us1mRJp{X)@@kdR56rWn86^ z-U_Lk%vtiS8L9iVGO3&Pq|Rdy9Z$naQaNmKv(x`RGaSj?&J~-JvFw0yw4A1ip`0_` ziZn7Y_BDl~9K;n5|Cs zu4!8xg#464>;xt)QbCFe7O%4*&ZVs)%a;u6S}N&sJUGTuMb%3M5HnCRhAKwY-FJ~k zL_0aExNNs%%l6+!FB_|XT|MpCyZn4JA)o}SvDU@OR1Q6dLADEIH#*2}G1wNwsk006 zX(pWtp2j@Kf~RBp1E^mw&++V{QPEJpmYltBZw60v!6H0w%;0%b0iIAPNv2H4z~?8G zgU<-TO3*rNrVgu8e0T(&3Ywla4M4N#IXKnOEKRveJl(l(R|ZX`loW`{4H-1wRt3#` zFIN$c5@5zc$^g}kKovX^G4d1~Icm;G2Tepn@GyBUn6pnr8rc`H4Y-j{b(hR4!v%BFk0lvgT75aQVC+=%3|Zff+`3CraKE6Un!qz~xCjfXeLMA+N!F-!g#o`^kk((vU`1BR5632w(K{C{)sa>3I%R^t=Tf(kcbW6Ox8FssW?$|0b{a$IU!9n7{f%(c{r?NGD!?7ecPU% za(j9TkBjsMzn^2bpZU;!j;kzybl~@M)9q)1rL~{EDKOK@iC4o+v#cp_=`iv=J|W&T3#o1|prO9<^YBVX4=A3(T@Ha@MEMIVG&$pB@pyo;#( z2V=1413>DHXPJ$U(mW1Qxs7kZ+xVtLAYFfs40;*~hl=){t%SlTeXuVuPc?J_Z{LF@ z`f0~wFx^`~RoV^9YgNzz5=IC)$X7K3Vutg!1$(ZTTwNwm znS2C9%Qszy&Xp%%$0}z)Dd}bz$eYRPjNkxq9Ki*MHv`0p6v`kDEIq`vH~hSFh$jx> zs|{h`E7mfIbs{D>vQZnCBP|`W;aWcwTPo+S34Ym%eje@2j z*&w*;<#EFLdCG-VSMj%z{^f{BhfkCv9quniI(#aNbim3wIT(AwH8!0w<#p-1&OnG) zg3f|>#?EwUB_U@n@CTQ>T`viN{8EFcBO*CU9$)!op&atWB5{dWYDH|P zuXcjhgl!*PcmGH(@^(d>Si==6xnQT9+-2n*(Y2kW5l@h8RZ1d~+=a791^=_4P}Tl- zE?Dl!(g@2OqBV)@P2{}Y=}l{J!OC5iCg2m9<<$B`mso=pP1SP~f-v}pc!raY+z*XJ zNkaHr;Ztkrj>wNDL)Y-UB(g>93W3bos^;m(Y%4kq-1P#vpkFYIz^TF9_5bJFL zZc>f6IA<#fV-g`stlS5j;*QnacCy$UJgp#53tW*DrnIg3oDp5DHB@X!>c}EIO=8#< zZ)?=r8Li9Y2E;If&P4_tNz@rc=FO}W*2YhM-t34JRAbum0Tv-HJr&zKf{m^s6|L2j ziv4-94%#e13Fc)$)})(nNp@fb)@K3K^9E|n!vhXij0jGG!Xq!RGuRC5s{`0=usuP~ zxW2sGoY|d&y&yrAxW3+I@D^0Oe+agu@Xd=B$q&q;ZZ8Vp{#QA;4cIQw(B|)E=b*gT zpiIG?W(oI@Fg@-S=57vpiv9?}0;G|SHk4q>lb%mY_(adZwOWK}sXw8uH??c)X3}Ug zz|sp9beh336DnN1fWnatmd-y@h!+qnv-!FxW{YFaV5zy6VY!#=z#Nu)11w*d!;(RU zC;`FD9IXa`B2afZpl;{`Dx#)Gw*nBFhQ3G^1)v6Hpb}9DDkuVV83fHhs{V~CjD?StSxo~&1a9Dtp>O4zw8Ky-HrqJbC)VCH!?+^5AT3C8TID1ACJ+{kToUTU z<%W)pQjXzE5Jz5e>3o&1Et&i%j3n8nFg;pfj8y#*+Xj?_^#T`z$wfMt9wHq~*f}FY zoG5_~L8PnM;{``<%ZYU6yfBe&LSowlzTWVLq?L(uL+>Hd4ZVj*H}oDN-Ozi8bQSk5 zn}q|;C9GYLIB{gKn+lD;V=HOw`0jv2O`!UoBZ4^VrE#7diXL z2zl}$$&*VpVYaMl@n?zxC1Ut)7dp$4&=1=rpNS*WQ4>jMc{7}a@i@~Fz{GUq zeXa#O9mjO!XIzrqGhk}=MPRDRM8T5rx?st;(gD+KM}P`7C)kb#Qnq$EfNl){9lei( z>1EPmr*ECxjtaXzw;h@PsbD(-puu+JaMN$ZvhB$2kqn9%)-Pi_TFC^w?Z^YABpGEe z@3S3I@URH-%LB-Nwg7T~=|L{aQ(-(3F<_4iWgt4vcw`quJi5trw#LYt;*7>DEN+PA zL`fs%bK}8R7(8FD&E{!<`SLB8$_&mh zYuo-lmT0;ZOSBa|cG_ZzrhP1t7`P^c>@V-GmzzxZkuv4OuN8L4^ka;;A`|sJ4%4xZD=KU&7gq$&icQpa;a!DD)jDI;gd)fAN=WVF ziXH)nIchE>Q~r!lM{Mo?a5xMJ5?2dxsahwCCQ`2w@GVrx%6K#_mWX)DEIxkp5#Fy3@c!R&cpJ1)^@)t}oXsQGIM75)7z-6csLwXT$pTX=hWfDb!M9Wj zo;q<@nM)%Ca19Oi@vzdlsRi8psQ{~gQvoadPI*|=n3y*24GbbR7;S`A_A9% zl#2))*trd2mxNV5cBv!+c&xHO9uFzZ=0!+d5+HTy0Hm;F0x6>`E5Rx+$BIRFcZf4- z5Rhzr3p7$aV+h?MMl~e7Mix9JpILkhENMhCnut(HMXM*9)#K)*r$n}7SGSYwO4jSU z<%=umf}xD%`!`uW6ftW3UvQQ3zk~pnXl^E&nu@1t^~Tf$)}e?jC~B8Up4V5Z+k|g+ z6rf$RQXlp$7IfVs8WfpSz9>`c6Rq0RHT6&yDap#+vdu{F+N{b%?yHX_0zir-;+}Cq z93#RBMj#`)`=_5&GA&rZIdxQg5ht$F=qblJp8Xr6Pc>JBxdiL&gz-0C@Ji*iQV>mo z2ka;}VjHLHwT-?KqG0AK&|-r0H`_y8`(UpH!ic5D)&W0~)%w8?nM z8Ra_6O+F;mP$QXB5wQ-&p3?_I;Iuac>d~Zq5Fk18R}Mj{H5(AMjDrxI^&HCEP)`;t zZ6Z<~#H#>=)45$030AWH;fDF%^5M*W@WaLCMh$7?&yGB9A;TG0F zAPi!jEM!{5mJWvu&fx-Nn6^V5><2?2BS4fO1G=pgG8uje8p5v_FQb9Q_MD+3IMtgK zZVl|c*1=vIWCf{MYD@S(SrE+4?+3E7F=JkXo$xEd*B*nHvb1}#f~sHe2{{@kRF z0ojxl3}Iv!ikKveI|y`Jidx^Q#c`-yzBfC#B#>n~G(OUZ;#wV!B~zNJnzdo+#OM*l zlivRD<0@~$sSGNKw!oER>e!OsYgETnS*Kk*Si}6TBQs$J90RngmT;xB*!iv+6Des# zGa}^7bxtiQb$7g$&*3^<}lX7|Zt~NMj zjvdI8xU~&tD2^IYW8Ug!GdQaQ*LnMOT9o&<;zn4M%9Dum^%>`zdsSTm!Mql-F)=yS zoStd5XXjRRReGM)m5R zHu^?KtdUh?8+;wba%@a@S|j#l)tFQXM=S8(M~#VkdDiInM~!K%Z}bPF#zbj5>*)_i zjfqMO*63rS#zcgzHTw9dF-gYM?Cu{mCL;H&(a}+3a+QV`(x=}%Vu4Bgv!1?djfSjU z+c)~YH5#&Zvh`}<*Nz$!{sU|DmQf%eUd0-{Z4?Ob+*_lcAN4u~Qff@^vPM>FU=Zo# z=2xS?81*_4WHtKhQLmE?L5*%1^*Sk8YV;m!WOXbD$0SWhjs9lT>oC2=UCGRle+a3q z%R;Z7e)V(E=+yPxBP_h#n^^s3(K`NHiX^Q==wTNWkRxNx`lzQ*9sMW|!TyR(MaMY- zH}2daOA9i!l!SWvkJc78RBRi&!KAR!4Ln9cN#u~2KPpwO5CUC7Xrp?6=@No&%q_^H zB9pM<7)wZ~Gl=;reL%0epr#YWW9x{cd$_!T`ND(vrn0!_^T{yv1~<~#SQ^Ip>BsLl zX0(kT7nNz7sRx4aO?N(K^9I}l%OE;VOo=DtQEOFXv=w-KNbqR=SY)eY7a_O!4WaN4 zKLhkF9E>`%+4sTjTP$5yl^!c7e*E#;^d&hD-S-=52Ify zbUyY1Sg?fa+|5iIQLl0PH@)AzhNawBztE(+JHl(yn{`i;BHKF6-p;9IwbZ?TFR;=t zH&t+j?~*4CXES-SnWIA>&&SnsN_EXD)HW@603Np=%J9 zefM>ILpsr|8{drRLN!C9Zo_Hvx)4q`9P&H~VxWi4b(D!KZRyCzH!&m?yDbmJ87Ex} z(%r3voqh;aPW8_}&x{}Bx_&zGxRoVI|stdB% zkOju^b2@Ax8|kcNA&gXAf>t|nfxUbtsZ7gq!~<4*KK)9*EMF}xOAwR?1WY7STQm;^9bByb3B%fTc%_ z<0dmY;*u8SI%?$VW3rBkPp(kda*u`%dP^ph|a2p1uA3lsu7YU z!%Ies9GCm1w`x@ihQaKApIMY*BXa$ev8>F%0IzHf9x{70lf9$#p6vVJJ6rGPtd8In zSlJ=-s6*YA95Ro_gQ9fer_3+=zW!6@Pv(U#Pk|+j`m{bs8aRRy$T{WXXnml^NUg8# zw7!OI`CRMMWqXsfzWNBQv5wYfMAd11sCrK20|!gmr;kS=>fiLedfKn=Nh_TwD0@OP z;<_`dwAS75^gj_0XR_wj^hhb#u)kz4G49LsIj3 z8<1W8Z5K*wp1BkUsP^*-zpNjM|8F%EwfZ0%`*SU;-BE?PdYW)r@xOqtgoG?|wC|Un zc<5tac;?yvL7;w!brjt>>oV2@DMcU%7K1 zn-0|df0I~d2MF%vJ#t^KdHv;NNXI{`Bzy9t7Zo*BOG*1p-=NdZx%i5CE)$YZ*%1AA zDH(%AD0g8Klmn+WSzZY!*fn?o{6+$#^pfEXtV)h6{{sHjF7Hjc@x)1u@o0=3HN$vh zq=_{ip?S=BCdrrK3T)8EGl?cr{TAGBZWsg`RE|>(Y#4UbPG(Fg8dipVXDb#gH|EWc z_Q6g0UybF#qqtlHpg6;SOs|WinbcXAe6cXs)-UhX0z~Q_A|&b*AwnaA2-)xgd4Nc) z=!(h-v!o6p9F{$_fkA}Amj&}u@%uOvLpezZmMcz(qT!eKX5578Ny8>oC;ll+sIDbe zW$`*o%pvwO5Qe7y1Lf*NCzN3tCdJALsevXm#(E5yFH^CUc*`@h-2=_Kpq3=${a-*d z2G}X#3ccLScM16k9exoM*5o-YF9|)y@#xN#tH7X=ajU@mgw(2&*-7F5UF*-+^voQyG*Jd3#Ng^E%q| zK@g1=mooi!gERa-X^(OmlB8#=X4P>*GU5^*U`_%L zk(5PWa`yE`CD2Zi;mHruBWemMYh=FS()6T$LT@GZGsb>DF_-%N#9Zq46N7m26XI@C zZ{ANV$C2|BJMVBE^#fC%P2W5+f~s>D2dH-Lkv0(k`C~K&kUwhAba+}Ws*8$nJiiP_ z=CCLFQQ@4eEH&98-^n*pEi~3N>A+H;zs@0E%|LmAbvt}gG z^xi_)!48O&;Shfk5Xg}>tuG)7G;zBqoT#3hFj0EnVUdgn-_KvINJL46MoZHEz7M_g z_kZk6JC=Xy1+By78%FfBpMM|JJ0mak}}w2)Cz?xj#-DX9W~X#~`rLv^k+z zveu%-52aSN%Vrrr`>Wk+T;-UA+h*)Gr_|d<%P`C#a3EU3%JPmNjA0C=UdmqXTVoGh z$q_Yzw2NwSApOcW9{JQKpS$*R*InZT-@pEc4?O$a=Z^jD`}iG|+yAujJd4i|+oCJj zka0RcrGB=Bf>dN%HORGRT!CL@91J?a`hMh&J0Ac0r@!~R|Iv-*)9-xer~ljg@A$k* zg}DZgeEg1&e(M)M_{ zJ4*leMRX$uYWZ&sY7USGH`j>jF`dvKl$ve@vc`qAhDFS3vHQrr2dOXtJlc`eOginj zAk%~I0+BDMUBXQaM8IHQa-orCE<*G5#4a$YmM(z*FXfZYYl;_nP}YC8Cz!Llw!rHd zPh0m$#&l=#YHSKl@iT{S?1`EwDI11!ZLJdDD6~4bN``PIL=cu@T-sIs< z=T=dOsFmLE-eXHqdLa}4H0FfE0%v-!u5~`*T5yNNC1+G+Vj^>q-SU}m|`?kXgIX z&(D8~Rj3r}jO-Lbi2u(5*-$o-2#CqOd<&xTDIg$!vZ_+@O|kvB{T}{00>-|F_`;o) z_nPl}hXBl5Qt^9#MX2V35eLPB34?bxQpY9f0F|p+G@fE7#JO~UGi-=-fJCcM5DA(m zD;*$VO3;Le3==dZ9e^{^sm>9x(R!N%qjM{l5e-5B>Ii$f6iP#<<@Jn)TcdG-3Bqe) zTCMb;t(Co~pIHi!UeAC47xWC>K=AtQ_h^~rxci1SM_I{WbxTTy7mQ8G2!b)=7%dn( zC8I7k?j%l9Cmq-1NglTT42HF*e6$8wppJF7K3qj$Dg>ieD;dkL{i@>H8$6|9cwl<< z!oyGM1@IeCFLLmqUKAn7P^Dh@?WZ4^dLcE-2@tue1`{qqkso~vIV*mHdNBpVaOwpB zv}Z+p+kQ355gn!DD}c}6g>_3Es3$I%eAObEo5y*GdCIn zrezYK4P^)wVOJIq|5n4^%D|!V5&xS%V8mykCZQ$)@mZ81h_7AvJR-ga<_REv5rU^2 z@iVE!qfO5~b9yY@m8f zwU6pyed+o}_t?mW1XLxy(NSwu4W~8-uo^HwJF2Ixl4n8p9QIFG^Hq9wV00s3|JM7D zv1D+1vj;Y6PX&LUVdr|15 zrZ)2fU$uERwfPg78lzr*YV!kAd)pm3YwxqqoYGa>?54K)M5e~5m!BG$l6?sIE}Pm9 zey?qEQ`>YRQw#Z>BljBloqbdLHJe%`XF8>;w$V*ZwR~1gkV97L$f=Q)s;Nm`_fbl} zb7Ba2w>?(Doo@RLA-K#5FrlZ$U_u+*oOOoZisu}XY)8(SB-_3@|B(&e>=i5F3Snvk z9Ql*hpCsoo=e*v{dHspZIphqFoHIGYeRKYljnRdYuYmA8YLCg+OL+4?=F6F$I$*4G zz*u)8zzDg~BY{C~bl-mds?EyC+)5DOJN8(c@pA6ew+q0y{`NcA2$=aB0CRvTG0QErp!-3ORowB{#)B><*~C3jeVK4$UhF#xm10fsX| zS56H==K4s$tSLG1K5XOj5ypeoy44zu_kox6>}Z&^?hHkIV3IJ|rSnLL#b;#Qot{#e{LqQi@$pw1FoAzuSIw)OPk5I6}!)zhc5UyvLlI*N8s@F*{DI6ZWheicpX zGlIiK&)G+)V|Fl>vH!!j3aMAyO!_GXN1wTo8i0ZujFEn@1%co0hYnx zP;_7y!ac+A|)Y6$<~`-H<*Q!A;!;py=q z%s~4f%)o|FiJ8-hN)X7n41_~s>qsg=9C#(Cd!OO3^T<~~xH&$AUBo4h>WoS-uptoU z1dbr&KL0q3Zn6x7Lssxe2ovI73E{g9!s|_lu7L2=_z;#7RhA_f*boRePbUZ?N-qQ9 zP}^!GgmDL&TJkA_=n%C;o?C!Y@BsY1HD6Py#Q@P^-j{FKW8S3mPh%*qE(~~fqILp` zYY2!KskjCo@>4dlAsW38cNL(BoVfmjBA~8mr5|~v+AWi`MKEY~9u3+pLmQ&qDwtr1 zcAIOif-<~vr3CM)))C~A-} zhWJF#gi+hnMxu!#smeRxQ#LhMW1t@rBX+=wrzTC_N2adWkjto-otl_pbbh(-c_ zR&vL}f??s&zDK_EvA5rS*RS7q*hd0?>!V+K=u2OF`hjf8+ZA!S^F7nd<#pCDmxQiULN_kH{_joqs z2ea=m$9BO)R$XN8=BznE?$3s9mVf14S=%VRIs4xK%J&rlpYv_xcI5qUSI}mqo7wLX z%iVcVBvMZVDb`B`8p(e4?zgh$!76T*aDA9uY#Wi>+li~$#oAtR`WN;dJ=R`KzgJ+m zuJNpE2^C8}XDulklFnAOT<2P1Tu2|u`kbq3xy7|)|EI^ZmaEDw&454AV-N(OT5dgi z75pz{*W2C=fqjO&qcUEy#NUN9P;$_{4{cpmM7HCM+I_i}M=9saWRxyWmtt3J3)p+} z38`pYvf(Z*HS8`U=h(ER_$mt%1?!fZ;Wnquj6eW2AN zm7UCz5^h-s#b-oPW4-ELdnT<>KbS#k$LmkCSHB{Ot>T!34RWaC&aVg^?50A0XoMA9 zG3^Al$Ir|}+)`8dG)ZxAebJ3|X|coUkw1Qn7|lDBVZ-wodkj6HOp7^W1TKxJVN5^l zuf|+0(#@g=z(boH;E<_-7gWa}yRaL=SYfkbdSy2EvvY+_{#k#0Y`hD=wHEc2$txv40g;(s-CI$AZzokRtibSad&@UmGH84CG}+HhV}E##7b*8}M_ zK)#e;A_72l51pwrho_%^|_B#Yuhx;M^+J5V`OaJ>SJ$*()x73xo zFIw8+K}tkGKK3Rt3sqPCkt=v_)dwrOz3XJVmFbz~R-#Q|w8sXz{r<{E+jiY5XcOR@ zGlp0fQ8S;GZyKiu7U!C}3Y%$6*)1(;lOh&#lTnlZ#o)SfBRgLfW6)k|zf5^HWInnS zMwJM$i<6~`dPAWr@v#{E9_Xt4l<#U{R9BPyF9xRvx+*{AyF#n(8!Bv*H9>?fjvvwP z*_|pcjJ4reI2ZRDov&!ht31H$Qm>Y>rNyYJZ2>~%j2bzkK`ym*>|fB%UO=@9)V;n} za`;oMi+M9qlq~(%6}mVD*?T`n21q3P_W_aZ$DfTlYHui={&3 ziyry98VDH-Tfn!BN4bx>tj;wSV904O7AzA8;hv+*kX=Z2yn{00(S8P1MLbuRz{~-XDAq@d6WyM+8 z+DW^jPX@3yOlpU)t40DgI8R0b)|@99sxFhr>$qPx8Xse!;s7=)^D)9{avA{E`c`%{w*Lq_R|C|X{eRJlob&d=4oyZl;VPCL3 z)JnHRy&XcBzio{wW0LC%VYbP={k?K^x@esK$+g32RkvBA$}?W-ZK6wAesd4GN(R)6 zP@k19L~r`8Ea3Y0x2Y~xo4)$oLl0Shide(MJ>VY7qQs-C#4p8=DN`noS_huELidnO z#{d&d%vGyS6mS2WA3w1&6z;qmCrfE)sCDqVtrU=6$%eg z&iTlVW&8Dcn`$?b=N+OQKWNjb%uK6un1WFSfgNkz?^{zJTQeA1F8rV@;0pN1oDrvM z-|8hEhBSmYDbCR|W*PW!tp{V&%1)+&F|%-zco2MsMMKLJqw)w^V3iv45|0gY_LKxU z);WNp2-r`I2CPK*l>v6P3|MSTLjbGr#?u3^EXXp98IzXn|B(_8HYn|d-~#ZnPn7hOgO_ogINn-;N9HvWZ(DtMYr`~Q z-I@Fu!7>mYBetpVTMu(*({7o zWDqvBB}t#su|Nk=nWAz(3I6akB|VF+NA?s<9u_LSs$%KBk)xap4`0$#OlP4tR?VWQdeluz_grp0Ew%By~v}>8Ue=2*L_aiqm&n zZrpmNk6rDc1PwRKH|wiEcCfBpV%waEa+Rg#o%YI=jdb>u zDOW{`f5UHzm3pOhkd-2-u8`t`>`?sg1=K~Y8iKk7wd#38T^r`9IdZdKr+Tje)=9V( zG+|=JfOUnBGZ|$p5C8K9SSO=c?c6qGBH7otFfp{n@ZH#YlaXCuhZAKFq*br7) z@bf>PtkltjQ>K;`X~NObG(iH%%9JUP9oRk-Xu?>o{^t#KZJ3sEi6~LF9jwT^|3!mh zWqJ30?e*J5L>?r<@rnU%+G}Qb`F;TW2rZT!HpK9f8(B&w7VA_x=b(vYOf|EJa__Vf z&qFo36AfK>Hq3mi(1qs>rx z7o^`>5TyN)m7)TDxiWuaPrGFFit}>^y}L>s2yUEWnusBm8EDGX55J_8KT${wbHZB518^dag&?yV-r8ghZyOfDTJ7*HNW`ZiG!xZ$1)-U_!`F>` zEJs6>;cXFKb`U@Xl<)uC<6wx}!xd1jax)BZ@+#Zas6!a*3ZQ(717J@M%412$L!pcy zHHgb!FR$^|L;`N!q4q~xJcM(P`c@;4326Gqx9aJeqx(-&Yo z1eY0H5tpsY1;{(VUY24wB33(9F~=u|%ZN|Qgor3@Vi?6hHXVfWCyipb{NM^G*T#pk zWV-^zur9}iGX9NVn|}Ur86){JPzI7ip^O|n2<0z~hH^YUlx4v$K-n2c$HZl@`1FA? zdd)IW29iUej6~<4Y!s7R-%lHahf<3{xmY@Okc&&?TMAbJ!d@;Ok6N7KDD9J@7V)wW z28zQV41A0J$JX(QO6Q|F7XiPE91u(`nTZ$zakBLIpGabj1Enp9r(L%qb(EvXsT$d? zK}tzbnsVw+?h=^m$Tsi#-M>7Rb!vv{LbrBGlIZ;@Dp&XeUI9Pz0=_8)9crjVDOis( z!Rlm!b?fzuL3l>fNZ|WdcEy$irv~lB#yr5gB{^C-UndU<7mce!tWQGLT^1LC1S#uU z<;nCzPsm~pK9rq8Qr}CELeSR}LgEZkJus@J%fg=t2c3oVOC#{GjOkUCf4+L1*Wq~4 z(d@gI9tz0U`oLtR<|OJ~_0J_Nv&61|kw<++&bu z1U>3`?=jc~yE(w6z$-jl-pHBCC(A1yspV2pUx6&y+0vS-K^f|fpy>Tc zhTkp_f2Wd77HF0PBi3=Olx0|G`hZctPw20i>E_ePq}ZRrMMv1~kvi~NfRuJTD_hZr z5D|971iR1#*3F;KS$bE@i~J!FH0pEnKqwlSnpzx?3YS-*>~tt zk*v2qHk~g^pG984%l|pUrIl^Ka5)v&?`>Z{24@|T5gPd6oz}?t^~>+ikLg5YLo^Zm zgapX0e`*i;0;!U3dPQ@zin$J~ZLX%2nl5LcGxL4!U@bj+stj~qG(0&Wd4&eL;zR)S zgo~~l0Q6@J(7xdRAfQLv=!);K80UgMIAEh21?W>{qdO&lUZIVy2m}Bf0KplWoU zE4VKws(l7ABo5_A=jA{NbzY7qfv7_eHlNI@TNwP)ulj=b${-?8(|vv%!1`vvFh`Jr?7zVL_7J3p}QKYzRS zmJ#WGWiM`@@72b?vPP8!s^j)~zR@Grs8Y9#+du3Zec2jS7ORchFZ7MRWsNEo(73(V zH~OA6vLAy3Ki4;U%R4l?A+P%(-{_szXvpjK_(s2EjVeW)xP6Xq^c$mI_X6MOh&8Ir zA&J{(`$m6YjqJzZ>~{M`AGb!8h4$n2F5l=g)~J%T#OkbLx_G571JA9*`w?;!y<^N;vecd*EtEyEksioGx)~m8)S|CM+*lHme z&};k`Lu?Xnmf2x1|a#yTqUIeNKVa_ zi2x*~n||Li_24RLh>M*cn1l7O>%>ZWzh&w%5YmtqAG1t7K)|LBE9o%hdJw4+|P*)&0F?a?W_OMoVf- zeb6kRJvd!zOMS>P^{6hD*}pJXrqq^t#4`2ZzNyUq2bQS^2oP?ihbg!NIEkOJB{}J- zxOskCl5TSvffu8JOzxSE@7MnJVq^cf)u#|c#9(u#)L>!Y5X-TEy_q7irK&+ zo}CwI;;t-JaHAgKyD!ywk5Agq@Jvg@zmF58>>*$SgfG>3k!Y<(LVT=TpEL1&^ z@&}sK!xWi2Dbg(yf^-C}YIYcdc8a9u0^~xkB}WI~{Oyj*!JG+7WzL+#r9-ohqOmy> z=asb47U-;*jY|?r$s?3f9c^vjNNb`Xy z6aQ7Gre{pUdXH&X=0=mR>2vlGM@^`v_jYP}U!kV3FdTo)zUj&5X1fNnq|$x0rDXNO zen@-9EJ9iBF*@NqGge>(TqcWdA6?T?f-|8GzhU zSeFUb?=l1Q*o&pM*&1Ue!qBiDgNdFar&|A?ldtr1986AxVR|^n1e;n8=7g|W4%}cW zh~Zx}2=`QUyz_^!<}rhCCc@CL9uSrn?+*cloe1Nf6T$$`j7oDs7z)n0^Ln*^@;T>X z)?yE2ZZ4))-2HYqV^{N&fRmh6Ng`2#<2WQrz+Apy!IRyVi}*ofFJIALt(va$vLh)= z97!2$!CGVo+kx~u8elWBlLa!V-}UP|k9`@7jjhtn6wU0k0&DFY5qM{qn-ogvW9K?* zz${C!lQs?F_=wJ73to2ELP-{<#LA>55F_gxQQo?Vgr$sQ=G|ZjFrRWt%@*QoszQHq zQQnvsdPIJZzfN(paaWG%cyU_8ERLCoLKnP4TW7{~=-0E6 z(Zy3tNB>?JU*8pr{oS03q-R7MhqzZ9k z;E#j~8^^Nt!wwU#k8?QR%>wcaMXrasH$y2DC%6deRkOtsy0={JE$5i|FJ@l)Y7hiF zf_Eh|)0Drp9jpRcQ=T#8mI0n=0zSA9OLLP+gXTpXZyk9YjMpwjrHR+PyIsCND!-G< z9sd*5{8^iQbP%8AVe7;_Fokf7Cc8<_28>Gk;(2#a+7)+F)_?ZY;ei{MaYARri8Yh( zkJ7}vpJw_hO_ZkDXCbFi#Be`;@VCEVqtD9OF-ftJx3zgwmEEe-*Hy<0xo;+~rU1KB2qXl&?DP&e!=ey5F{A-QkSVF- z(toeC_Hz&7!UiS#rr=_3M^$k&<+k{(=3=ffg}1AT<=Uq-13*dFA=c+=9qfDFyPdd~ zOYF)vBuV_5h0a8;NPv^`Gf#l?)=S`L{spncjI?uXQIK|{x*I=?A-4Z6`QI0NO(S!| z>wnB2ZmO+4y4x?o&EGY+qm=T~UH1lC+a)){I4C|Jf0bho_Ws z81U0dLDW<<9-ibnM)`h1=@*2(4Z#Vnqtcpi@6dR-M`eDxf{?Su+s8@DfGs_YI0qTJ zi1BSAn%>vykIMU619WBg5Ff?Uqf$P#YEX(Fv?o)ew%TBjE3FAmuNV(@4)K;udq`W>Ra>HW%Nq9 zI3Re>pcNeMA{E}JE!_}IkqSa*ga#@ER$K{2r}Ts-J)PX2v>d@^{|Q~}07%J;t?RviSh3mPwN!b}tZ3mJzRo+n zqFsqEx2?cyf~iqxS{cc-+4}`REqe;U_(ffo$00mYVEwSt$|i3wY0|pALzB%vlD5o~ zQ^Pu)r>$1(0hR9bXv$p^?ivMd!<`0K{*ddVUGfjjYJvn6B&BB`+ zcyRJ~xtVmh7-_T4Dj5^`(q5M0rX!Dd*U|)B@zdd%0nc-goa?U|bZV(>r7D1&l6r!C zdHPWY)eODdeamK4}dFULR^tLR-R@sQke;k3?cEM{*}g zb^i#@_5NX{j*^0hlo$HM49~`b6Qd%Yk$5$d zeCev-!B!hmc)7Qy^)5C0W34#c9`CyETLhW{pYNJDb(SCRryE!4+g+_zg|g5ItxwJO zi%Nqn`kt{)0c$yc-?z(232$n66WW|VF6L0Vdm@~kP|5S|iz)}+C2pY_VgWWO z`vYm&>pY%9I{*`Cbvoc11@U0#%Ea(D7EG^HC*ISdi<2#sG`6fIsAAx(^Uk^v5}(3} zETLP594CKgqzjlH1zZ|K|HK&LYu&5~_lTbBDuV&VvoVb!V6i6HX=7{nNy|>vX_+;%VMBPIhAM-U@?7z0sipX&D=u0{VeMg^1n+W= zO-Am{$^+Qkk(crpZ1TROdggEPzNmC)llLE$HaB^XDxJ3>IIMJVLvTnbA0AN(3wcB- z{M1-Uu*ox4!b~Jq;_7we6E77U*Ll9cK@SEi!Se8`((9moX~Mald;p!qqJH$3K-Qrky*39GOJ z|3JGhVn@@h%l5Uy8wsw7roNTFk;`i#BDAW2sh@GrbC@EH_BFQS%Uc7E`9>A&UHsm( ztlb}bKVcy^>I$W1yb0;ZSF?>u{YVXE6gIzik4-9LP>9B}U#nkc*nD`X#R{~R=fcUT zVgsZUADs%sKTVeS(&eelq$iI~LAXrd98m!Oyxj56!=z%1r&o}I_-DT7yNeS~Bo{}& zoLn6IrR3tF_azt8x4XR0-s;kmuOy|govU0r)pqF_n2#ii6KcT(y_sslxve?men?GG zvyRZn-D=OFTpym~THk6&PU~9a$&GsSh!ufsI<2o52Y=?u+~oa9Qn>$L?Be}`;D%tA z-F(2^?ADFd>p1y%@R&W>F&>;cO9v;OQk(cuvrgL+-R;_YWXc~8kb~5x&HkU-g&Oq% zyPCRps=C2{uY1j))`dp&$d~e*p zobj6oTG4<`(=Pd*M>Is}*zZWO!Irq$k+CIlAo}r zw1ZKEj*n#0+?zH?-#TH>iBa+XC%!4{i2qFhTJgvDgF@1QiRb~Y5&I7891kV7aR*a! zyfc|0Bz7H8ZZWu1!!jYR37#Eh)b%kWOY(zuLN_ol=zti3!m6J*kJ)?nZLOB;8SDO&Nv^+Fikk4(N)bv# z6&+cDYfW0eiz(0xwgg)oO*A|y5l9xpl8n-S8XC_IV|*U0qX<_@?#HurE{O@HJLAti z2nollnqO6UOgJj!&`LA6YBn9#+3{2oy6)ZS5>q7*P2HSEIi>yvh4+0)}T-+U&93|NG$~YeA|gG2cSUQ@K$H3rdG!K!a5eT7k)8K31k5Uet2{b%c6s{2w9|R|DCc&kqOyRP^mTf@< z#d#^X@P1OL*LVQ<>KnT6WUHb6kPCBEq{S?giK;i!+5>1;Dtgb-_JAZgW-Li^!%-kf zZrDk3wHpc3+=$5FMKvTT3azOWE-1s1?f{wf&D{!7j8~q1Z(7#s7ok*`OxgoCvij_5 zs=1nwE@##>D4DSlk->`wCnNkjqe0cgMOIU-SQ8Ud#6nqHdHDqe_9W_8?HaX$K-&R? zJA~7B8u3GxOR)1)Ba8&_QL>089&okg|9?Lj}1wX84He?>^2r0Mb_8-ks;|X@Y^BT57(evGEhk$ z8Is{@45d;E#2AcQdQg0@U+nHUv)OT9EVv`Rz)$xU7%BsOL-2Ybe?xEs38LyXB>fv0 zSdiX^;A#?9gsvnhzdBe;Qr{4aku)|0t4N^12wNOPF%rpys+Dag4)Fn8^wq%?ygts- zueB>}(dm2e0%-X-(*iA;lz>F06CkNxt@nTPa!qdQ{lk|FDjg}V(4CD12^BHRW6wf_ z$n;|*;bvbgrf+I7eN&6+TcO1vp4dr?iMHdk4z<1dz(f@R^osac($+qltw%Ic5DicR7BDxcPwFVh5E3=I`y`^8(B2&P1OUt&6-~Gvj}z+% z{9 zR2ju*qUt6}Q}Lzgm?sZSzk(hx8di}cY%+3Oa*QWXLV-uZ3F;{@)81ZO3J}T@!QISm z+0>T8CxuY>1|Wn^M3aY^x;nsGWB`d4?PH+zwH8Ni8j zL&K;td6nn27R~DFi0kSIUFF>(>+VRQyHt5z-7Q6n#zSVsLbqvAsb`DEXi+6=Q447* zrPd+>x&uMxLo8jrsG|cUjWk%@&U+EB1RG}IH%$%>^@p9GDwic@=t{gB4QQyuT5kTQ zESr>=$+N6g#P~L8&BCz#YLo~ z?i9N<6@M*HkO!tx4WEY2Qt>rbrp?I7kZFG80dn)?uiTSeBnVNq9;oS$jN{&4m=f^d zBC*nMkztMJ))C@9mi-p-aH_f4xBg%gi#gJL3Bx9v7*Gg=6rg3Q+ zfKL^u4$@8ydd7GHM{&kKT2+-G%CZ5*ZH8l`yhV{H52_oEic}Ze-6DR0nTnC7as*#O zLOXjlyrT^phf@ZUTT|JUmY6i34)8)t28t~i=+%;Pp(Vrc5DmG6+Bz*ku)s!SErGio z6`z*qZ-lZTc<^3Xx@h9`y*VXYw3;+u$^xsyUeq6l+YVq$b*meiigE**4lU$~bwPiL7N)Ai>ogpozl6(&3QfY`LwlC+^Z2)o=45M{2*-n?dX}d;bVJ#d_DVba zTuO~tc`=$K^eDxV#zBZ(2-FrXk2`wQ%4A}Miofq3otQzQuJB_z(mVPQv>&zop>qu%Dp7 zf6L;(#7ZbhYUsfFdNd~3!)E`nQR#xB5eQVal#x=U!hicE$$mm2`pqh2RZhXr&#?2s zDT7u6{^`FoB(mruYe*hQVkh-gDizDGpaz!`)P}G2Rx4pWw%g&HCfz?=lSRREb1PN0hhZCn|?*6D5 zY%$VAveBRbtoPg4D`3@L=4O$KXP6|GG4}&aR%20>*zN)yIVx(w0L?JtYwgG`dwd_u zt}S{g*>ViSakrR6!cb&d5<_`N&+-g~E*eLX{8wZs^x58s9K}x()??p;bV2jCep;A1Qwb}ySB7$Sh~ZOizw1Gli8pI$_|tW zu4p;VF-1$xt!mxS#uzmFs(r6^{g#`C*K35W^Ij4+x8KP^R`o8>fz3&3P1gnyyay5! zx5zi z!9L8t1STaWLn*Gg9*cks<>%9LRwu;+f#qYPs2niCX!Yvy>T=nBNy>ft!%xK}<*KGv z%Z_?q^q>l{(E18SM$AB5=l#LxGVYhFSnzAbzMG5l zrWzt!<-ROkz?W8M+Ld?rUBH*{{VI(fkw#OE-#!_$l&h(xei67QRF;AH9?7?HEdle$ z9PDKn_5@#KpS5u*I8?uwjfT%TF@tAp+=so?MyI6n+_bmIO?!*7X-`wSragf;Mu!)( zK`GED&bI=w+QzfXaiMxE#k>%on5JIPGX<%OtlC69WLF#7iE3`#91Er`5-o9vI&&zs_B`{|b z$zRW!r7%Y2vWk^#^0c_xnendm;6{pVGAJ6rHCH47>033K6^4D~a%PO_t(CT8*C3m8>H$d;2^C6(+KtmCbIwna0*I zZDXv4i6M#QWEn|WW`sd`Br7i>teU@^5pUI%(2%VFH9aUEIzI$kL%fE!DAJ^zGiTd z`9cwCUf>!BG-Cp=DP{y2XyhGtMjeD0&B&D4pJdH8dkxYOX72Afqf>P|mIO5aJ7tD)i{qLs z+%z~tCA8%SrwcYUDW;$^Y=W#Pb96MUupiHGI8uB}&=-5$EIu}`&u#|(Q&RTilp+!} zMuBskEeRy67#PTHpDbzX>k$utrZyEgH<}~nj~Z1A4?shI;Q{Cx zC_DhI^}+*II2y7SvhHeROTXw3omNNX!hb|?nRe~T+ydu%Nvw=$=PomQyf({$yA_{6<#`Nx*N z=T zT9oz!a&&tma!(Gqy%D)5k2s&W;p{8J&@kSGMyrQL-Kx?I&z#YYXO4hr99x5FmAEY{ zRiY9DvoUSGF|OT)ZKZFFZ|jXQZv29?H^#d4#&~yovAv;LG^xD^D`Y+LG|5^mo_79P zsVHvpHKr6D^A_1x9?J`Cy8%3jGY75#iMB6BryV5tqWCDj*aQ~g5v!P{axsCb&8eeZ zU*~xYZ4wNHNSVfprJJ}AM2+~@QC7=7Mmi6?`YoGM5*`Hzuu?c$NLTNmhN+sIpdDX8 zS>7)OA(ysYOB1UjRpWaM8!I!NcHCvL>#}I%cD*2FV;09zM(#2A2;joeudnf>F!v3u z@q}`Sa7VP6CxTY5rSfw_r_h*y3g#j#)%waAq4;iV+niEZ=A;UFW^|T{Xn_uaf!MT+ zviF|A%^B{xV?Ikfecs4~o(WTU`=&N#$*KQLLrH?nNsr;&dj2T zJLlzuI}Q8JJC$v}lbWh`S=C&P+;t}p^bHtZmMn#24pByR&K7TQ%E2cGH3z30d=edf zRvUw~jalFFZ54cIs{sa>X{+SnnPM$(5yRY~3DYQ+bgs4(Aa*HQkzrF! z(7JbblvN!#I@R0!Vg64W#XX^p`zFR2ys?)sF1FlDO zO+GyzStb{` z9)v)fpL7zm-9+W)L%Lm>pI99^#MREyyJlB;5_EDw;Gg~wAGTRq@?n1SBdNzL()9?>H$yKLQS> zrmEwi{9Y$yD%OvjeU*>NQeK{N6)-PPTihj|KaT9hdkUp$n5|{nj%P zL*~2`?j6PBfO&%*LlTUc9ZT_kJV_3k&yp%K$4W8CdOCHpO8Ju@obVJFpJnF1t2Ll7 zsAS!}l!2dntg7}eb!y|oOPy-@&{EfwJxir=uE%m|`$E*ePpN-IqoffyPMI8yaPQgz z!0^vLrWF&`!)!+nx{B@iVM4c^J^=Ed-Xj9pPM`kG{^xX$wbeXpnLV8#y?efM<=Qjf zT(zENa|2Z#q)HYu+|XF>^E6)Sq-Dpdl&$$KXNF(LRxCOXvvivoog0fRgr=?oUeKW} zhpz8{-_+`KV^)f$AFQy25+F7p{jJJ?+Y8Mw#m4wnq}QtEuciW5-?zE&6P-I{+Te+~ zQ(M=}=`ucy474WVd-X-rGMY^kuJcAVc^Hq(_h~$oPNuEI<6%VST^EJ_vEUio6n2`w z@&5Uf&0la-CtS%_C!x7?=N8U8jBfOhOqWo{r%_tuL`uu2M)7uRUS}=|_l-^>LdX=p z-n%E+oCZv^ZCNuWf>@@2Xdjo1g%PVrV%92E9s{AR3=c*%TLB3-dmqwEQQao*=Ve=W zJ)yYfXB;ZsW-COySuH$%4=8pf4q5?*(k*nhUrVi2j|bIb^>QhreuZGJ#WRFOzEqK{ zyG%`$Ze>W6;x(K7f5b!|wC2HYi3ILsi%K$dc-BNz%(2jv!Ls9&$X8MMRlbKXsO`TH zvoOTI(pB8qvNTSkczEF8p(vqRw%g9O5o!t$>G&vA%LKo)K_2(k1<|obDH>ycDFW6A zo1S`@I!>>kLFBW2f{}3(aRFjsLxDl_lcGk!WmU^UlUvQr2w;}?8M{}`$u@iK#%Pd9 ze)DKldmdYX%O=x;Gt(@MNUU*AzjT_aO(_n!)1#7gjcD{#I~zqLwA4|J@GXvE%nDqI zvb4LVgR6gJNb10}(?8FOK;}`3{L&dn>p_pkQL^2V3uque`H0MTWc35+yQp!{cG3VN zlM_>1I-o$gGODqREK<=7i@2)wcpxr%NP3xe-nyQS5A`tZ%xuC_JE_yQBF{@%uWOO< zM_aIT#b3btI`}JpiiF9T z-=91kVNzrlx2M6z1H`dZ-1#s%85o;R8-xr+Ym6Sz&35S4BIuxs%ws3rdY@Vv6v<~0TcNAJ%MBRe55m~ zi)bVJfW*53F7sWQeGR-7C!*r{eOe)9J{W3gOlh zeAqRO=b!WB{Juk>3!Ha+a76C$xw0vPS#k&O1F27{^ffol$N+ntPdm%4LAjDG;IfZP zXk;Om6)yc++~5-S%s5(uMBy-pd$(E0aqot?n0vQLOb5*kT&5}~DdFbLTreiLZyVt3 zl^*DbON%E$?UN`D8WV{I6tfsUz%~bGJ9c7CXD+~+b;>Ww+XyW3nMU4;NEqGnFGkvt zn-=Sd@-K$QqV10`^M~CDhUJxZ*YdCUq@*O+xX(_c zWj~RY4TabFl~kd&2;sEvdvwTb^hs#;Vtr$Qb!iwa^ycSX=yz ztjB_bX{m?OQXyh!4yhy&c1y8B5Fki9iC4HViU-~%F|z`bGjB)|{v)Tgq`@2Lii?es zvo7u$#mMTSHfWA_bA77ZAZZ!XLrONfKhM4XiR{Nxg)9ejgBnc0W0sYzH8b~X% zlH>BM8UVyLwpe|_%0XaDH@49S7-0a;Wn@{ZBJ&6ZYK!uf*Ua&O_lDT*F-nm8@5VGZUhf;O=!ym8f16`dbj$_0}kq~ zM*QByzS}5V)+)&nvT7kSt)NefaJiSjOS!t$>U&Z}?on}@0IWLyL_ZIO z!Ye9VA08Ef$yJgEurHeLhcZWfhue*7Jo`EFn$LW)J(%2_ihm|buRZT)+hrRagP(`S zp$`fXJEnunz?AZx#0K>@@mn+`4!7rZE0I!KRjV^CcSap)4cgyJ4d@JnOp8j4wqOgF z#BPbI%kq`6nbw9Zf7DGzoE4we-aN9mTRUdd+UZ%U-_bJ$zU|Rf2WQnNSoUkS!kon~ z3xWVe0}61absrZjn@RPmF})TntJc%z=P4!WX_VriN1Fw^^7+6n!;XQ>VW`*vNgW+% zs#yu@95kV0+h3h_#LIw4ms(A0L)uvDWDjI^z?wCQTDvsJap0)glk`%uNSyA=#<^T4 zSlY18Ir{zC*{BjLEp+GPtWFd<*s~EoEZr#=yL0MGDT&YS7*BrayVK{olM+<1JMK8e zln^zD((4XGnwMipj72$=Buq(pJ4|V?0}73$q4OC_^WEs2pYb6rpX;D1SrhtgfX%12 zp&4XXVoG5u&@PKw)Ng`i^}x;+<}E%X=#BocW@2Ij){OT2cxvajrabZVDBPAQb0#~q zhs@p+I0E;4PsBfj9AeX1H5z(bd%@e<3t^KBqXpZx#@_XlY)*kS9e>}~nZTdkIW?sT zoMp!CZbK)E!(J3+9Xhi|DXQ6SrA%87lG@6X?r{>^sTA3HN-6ozAn7RoX{9K#&nm?_ zeM%|LV$UeW{`j;~YQ&oM5V6|g!&&c!q~C>iZNpoi`Mi2FO!k*4TC?t5CVnAiKMj+Gtq5@%D~Pk;74^NX&3^^Gz{??lxP@CPLOc}2 zEsBO39wL#4@{080)re5g6<3!_B&YjPxD`7Fosjirm8lu*iU_m}fSD(Lg37Fpjex;Nz+wD*DwSi zC#v&iZ-7vGFTH$+HbL3;MV>yKs_pKBN4jP@Sj=>|YonUE3=rz1aN#A6936U{YZ)-2YDGAQ?J~JlB4(=iZ?EBTl~u^Wt*RaKv1%WTmc*Zmx3yWEj6e6J=jw=Xt3G>R2l>l1 zAuWcGpb>jD^;LyX1jF&4ep&g+QcklpqM@knvJ6vGU;Nwshu+RPOA2|&pBu3=#NG|dw9u;IPqX_4V31Rd z@GW#0qv@_eb*5QissZF3rkW0x4pR_IbFT6sPE@OiovyApiAn1xo`S(V&~6J^b2WVR=Ba1ND;aAGJS4&Tn<8{kZTz!@f(8C;a$Wu<1k_|RYG?~WGk z9xvQIRk(Y$aJTc@`BHWl?jFwP{PV!?OYMWv)^^`26K$E@!Lm3eF8N(pm*Vlmum@na9~P)6p-fBdO!R)w~}*ghDl zz$}$k0rSB8MRVI>9AVCrw{!)eUK4E}9L7Nayd3>i%&YOT_@vV2hvkq!=00g(BP2-v zb&_PSBszzJy=lsX;~cV2_DcouYG11O)fB|JQ-LzM1s(FqCw*rDU*}Cf>C>=&^pN;I zjze=Q7xRmnyghzA)re5ro|M%XJ;pVo=xke76gi?jo63l{Rij6s!l zGC_d!U)O?biX2pSfm*o4|A#+!-PvZfNB8EpM9>m(GMz>JF5rnPQwlb%9(eIf9TLub zv4{i~>2QuwGaYeg{xr(KK<#J}fK?=mJ(6!gCS)peeIVLjMe^8} ztd=MWr1h@l$&;zp%e9N^u+fy>jSMf;U&Ju}WI>B;%a0xcD43067BM-iI$H!=IPO7E z0xL^}KCcX{Y#uR~YW1Wi(aFkh4R=t{k_aVrU0TIQg<3Fls+g+G$ zxU4mLZNa-iiSyUsK8d|uDq{Pd2Xl_D?h)U z+bX6oBLV1N#_x2Jn}WeG3>nJnyf+g^U@!>e5KsV8L zC|pxtB;O*U1@SQtMIu7HhkG=eU(x)?Q&^>J4emYmp3I?#7v|4nA0p1=U*OmSyHJU4 ztE@48c`Ur%76itE8x*JEIzo)X(@7;E9yFrrb`1#b6 z%@g=4%xZu1!n7Z-T$1+7%|lpx6A9gaJxRiKZ-|WR;umGmEQE@^sBdP{NPk8n{oQE9 z9G@?|WfxcrJC!f+3zNt%yj?bTA-SZxZtOnw9+PyUxeeE{G{S&Ha_BPD1ms>`%*PsM zpml`dOmVoAaj1OEHgl;0iKm($uhqSaFafRm^3Dqo|C0B%IA;3DzmNngr)M=Nb3Ch^ zss#O=gCjfhuQ9V0vQXr&_it^NSZ$p>`{bW!Cc33m-rPSy$n{LWTdY zZf}Q)e>kG8c(?3DY}dAPkIGt$@KLvLKnt*Y!#4YgSnp&WCMv8TT5vs6lO?rJHi`j@ zE@}D@P?Hda3@9NAG3P+L&a_n5v_yD)%@PA!)k4!xC`;dCqL6Nl!*kSUvT0#wQyLbq zj00NUJJ@#aNC%ViTsDI>G<^<6jeV5cNN2CIR4@P|Ig}=tO*6)mUA!s@PASh$I519} zw$?kvp^Tw+9)W`}b7K!KSju7oQ3y(^N5*ESyH@HWcFvdvfNq^id_pD;Edcv^psmM) zOj))*kAP*X#jQT`0}#le2C&j6LzhXSa$MoC#z}`0Tfb8-`s|cc06fX(ffn>+@eQ{g zxEtiuZ$&9^vV_wd@7X$nY>(=nwznWF|Jf0a`C3oXIvMo##p&Wz-y z`VuWq6ZhP^b9&d_BUApnpsPTV zD;Z0+`3#G*3<%+tKuiTy^^SH$mMe&<@BVf$vEzOUI{Q!G|K8vH*DsxY*WLF`Or?eG zxUU`DqJx=YJMu0Her{hJ-o<#N4DHAPOOgLZ#yW-E9R@K#bE)YA1Wq{8k1{jz8!M|0&OR2zCvqd zyCKSw8BzJ!gc_gq?r1y11pA5Jp*~28HgjkMkTJ)|;&=z%HHhT8*QqQbcnV1NA4P2Y zXOPruU;McRvJs`feYxvOVt~-QM#=&XmU4E8K$w66Jwb~JB*ae)6H#Ioa;7DJop(ZW zG!lX)TBvlFukX@-y@wEihO$8;>uzTVnb|3b4~EGY3RKm84YU1WXB3sPQB+Dss2fFT zxssL+hV6>R2ABIo2_jY0e#B#zUyH-THB+Q2ooR0=YY*Gd-SA?68jT=>MpZJ*c9qg@ zDwX(f2Lpi|oBd4xZq8^H4 zI@`+9_W&!;I<$uqGewnPHEN`cl$#DC1^qD61OxioWp7ZK3fbBoz;~R}j5FTa9!%vD zd1Wb#;WHU}zy|Oh7 zKV8(Teb2}9ZbUq9S$naq`m{&l_dgK4jv+J>-^+gM|7~$={!q|&)m2N{rEuV?tFCG; z;5db=u3E8tEujhepj!KBI$Jb)wMkE!nWaIv0?6Ypbh#8vT+5kddT8ux#2>YeNYUw_5RISkjs zco_-Qu$*L3EheZ7G00+qiE!3# zypm)=EsjX=MsAU?6}L^&ti_j+u%x_-WUv;mCTY~-%Sr0B_$4Ipu`v?dj@OW|sp6$1 zM0cp~i09wjXvSy1gwE-fz?(4g)3*980b>c|*qNXR$m6S<1niN8 zHk*~YbP@yOCF!J_k*Z8!`58%jZIf9=EpoF9l$*7v>pUs#?0KIjQ%;u5AWJoaEbRo$ z;xY}GrOQshtfgrF$pi9t0%k4E0%lRv^v<0-arm3JthF@h?Jh|LUEu%x_q75B;M#9& zlo_IqDh^B9LW_DtX`)6+0@EVS!Bi6KVo&^M{M}NERR&$M8QyO#i~NfR^5Qm2#VtI~OaOQR^&NM)H>DUEccf>tttE7}ZDg4JL6-~^3X%&z#f zyzb(cQ5FhJy!UUP;_jgSrse{6@Z1Iu(;Uig{o(;?BZ6M#0Xiap3Vg#d(RP65!s!6d z5y2BhW;XmrKo2^yv<8FUNTK8z@RRv>k>H1~Y&9BTM=9_#{5ox(?rHbNP&9;MoJUn& zn+M`U(&kqjo&&ME!UD&6&i^a%gMD0ETdsvv5Y_%R9PKu z=aJpA$q9;(4PcL402}H%vW)5|Z=Xzy%O1d%sCtQ-(TH!KjFxFrdLx#jx@v8(G-)H$ zdy~c{R)k5gOkiIw#ylIZi(5JzIxi{&jF+yg>jhLZ6y3igDulBY>gT^L+GTB1K*j8o z7dOr>c6?$bYiinl4nzE+t0qj8%p92!(XoXtRz%nlfs_{AX)D-{YV@}tjb;`FT+7W| zQk8bhCRfL8oL!KSnKPHLZeEft#B3=PXO;j7tNdbBV7zF+V|9+~7*q`pZt~`mQqEk$ z*DgD1xDG|e4%R=XRl#Qal4g72Xj+I}W_t|G$!yOX&Gsc``vXK@V5a+%7$y6nilVNUi9bFy!k$-We2vTrCkNXMMYP$Iq^yud>zux&j8 zyv%{A3j)foY<#C>XmoxEdTZOZ#3{|o@*#}yrxAlph(NF*qCGK&Ai)q}fW(j40>x^b z1))t%r}Nz+CJW{~Axmpp{6CB0Ftcf9gWD&9j~Q5jhcA;qD+dbUYNZ;*vFCz=n~A`! zGT1g1Pw#$=8TfM&wQSAvsE_?R+)n*6eCkH?#xbEX9#cPEynFRU_wtayQt$dk*d1I_ zCEbl#PwAyQqZvcj3BOIKty_8S$B(gMMlehK3b>i(26u}a^aUm2fPlq8w)`p<1nl|l zpR0{cL`euw3!g<*7Q%B{cGm`r3k1DQE{UTe5Swsk=!k3^**u%}h}@cl@Jx$;?y1!4 zU8VN03kJ&U2L&JnfZq5K+Z2_d|6$O70xuU43Kr55h9!c5UQWhOI&W{DulGJ~%nOfU z7B}1kZW9%2?i6bW2(*E-u<#77GwxEO?L;UO?(F~s$L8Ben4#ZHLZnk1Jiu!377`c~ zO!dxoW3%@!TuYd><(Ts?DG)0;f0@3UpLY`YdVhb|?pM!Dcz7fv0(gQWGC~C`jU{-I zjrcOrit9fYuJ`gZS7X_Vr}n!$k^aMYDheLfws6W996wxQ;gsl#bX@MaKJ$PC3uSaNX|kI3rmK1Ew~32Q+v^*~#DqMuus~ zvOuPgZTu($OWR%@D}V!9>qeY1EKKjmssE4~FN>+2XSmt>taZi^`FUM(9AvR4%}3lQ zO^4j9wrX%`P>F#Ulj@IuR<48|0y$#^F$sgiRDh}{46pZ@jbK~r{g0Mf+_PCZ8C(zP z1j?*exC?0{rz1Va(UC03s>|xptD73F_$<9~w#F9a>_iaY%=KLw@1Uu9 zAnBGvncVrx%`fPg@GlBT`eG5k2jchM|1G!5PE<a@D189e1kI3 zhQ-BCzzRAv!$f&pH9|X&DMbxL^p#XWpNOWeYvk0Fc78|qL`{SV{2rIdY>4`u(u^aE zzyMnOTL3S>83y8Vm>R5B2NZy{zYlqVJ=RmKM)a{bu#lTyxd%fyxCN53y<`;9gZ$*0R-Aw>u4+AZSjGp6FTbBg_9IuEWmxlN~V$- zm$j@UC%#iG9F-_>FZpo+iG3N<@_=5RAH<@$JjlgJPo0DHo-zl41op7W0{aE#278kZ z7)mxSf&C&1F0x->ZtQnahy9*P+3!5;Jw4d3&Y2PHvxy`fN+$Ee5NEMpVbsRiqC#)Q zf_-zOykL$i?ZWNfl1wFPLC}T;C8KCjqEI40>9Foaw!p&z)k2etz=&DtGq&11m=X{2 zt4)9qwhctFYj`q-)*P{Na8&1eOfJ%MPtx4^ZBOvY_(#7jmSG3R6?01Ed`lmW;&IF5&b%!ktKlTN7nMZWU{39$U^iazzLqw3yg2X zL`XnBiIxyNT2LP#c(hVUXn(0S6Pb0r)`9{(#!F@+S<=}4b0B$tAj*Mma;O&doCDP@ zvUEpvtApzO&oioByL0HyF?VRPt2jL*ltZ%;9#Wpwi@7H#OT_86#-q?Q7;{7d7vtIFqS<)IoE@i zWDiye0-b+R3mIbw8m~1jQ`EQ1qE**6R`XFd@x-f}|G{ygjwCNu;2_{~I@6gLtLWfN zfb`_Fr_6NV1SWxzm}{bWV`Ssu(~kawXH}##X*>;2D# z?R3y6N|;b4VTwgSQUoo=gcd4U(?$AJx2uh|&c|p+s~W3ZU-&BqxN`Q`5U)Cd>v*DW z=5#6SBd9BMp(ANZlAWP!+N1^@84pC-f!=0FnoAN%6COBI(mc$-FiCTyqjdI`G~E$0 zkaKDh!h~UfFe?>+0L2D~Vy8!EcUmIZ@!p+2mUh}0zI3{CaDmHbb(+qaczt=&X=Jxl zygrt8I>-1gpwk9$ux~t@PQN7SwA#?2?`5+)EuG>-kqas^RgR`HhNV4UBH@;qIPJOE zh!l%4)dsrPC1azB^{Hq+A4UO z+09s-36K(OOW_g&jWmw}NG^9nUTh+p8%=?qYuN9W-6RJhSq$^Tep=E>GVG^xjpXv6 z;O2(?6ylEc!`0~s*J%wY)4e1EAD^&HBf{ehc3}dyYBe8*5g6j-+2aCOUNW0f=96JB zdqH~eggx}H!xO|nlHnnlLqq~Xj7S)VMkHdrMeTD{GCWq#<_UX%pz(y|Ofm_voMU)6 z&M%~5CH`7}l9QC6RGLn~qB=0?(y z{_!p8NJbfx$D5IYj+vgt#reovYE>d{nHrJK7D5I^IP3_Ptr3Y>=@a3}@CEBId>JcY zP&3G9;Oiv`zQz)KFLzB;%n4u-QThunOavLDvbYC9T-nNZAjGQG1BV+i1((gN$zhU$<)k?cB?H=R?sI3I{$aI_z8va_l;>j-J2LomGIV zu!vOnQrg8JeIXKbGU%7&%p;J&x%h>VIz~;iM9g3w$bn{PLJ}}zAJbiN;2LFU_CZ*bdO03yQ?}wd^ z4F9s`oV*Y_`AOQAC%N;slQT4?pCfR?DyMu@tzBr&m>^vG1i$Sb3C@& zfsp`r#z|qFq|=(dx!$&{&?&{dLY#$>A^Wg0oE~& zU3{bS^RRq`Y)qRLn9g-b5*NWEXA?eaV+gXgGe6;&CYc_!0PPtgx>~%xbuHSlj9RUh zh;?JDt>j9lu3RB)Wh_|RdYM}L($-ofW36>gN`BgWc!$!x%>gDsSp_kgA3+OvuTttTRRnU2}=qqRD^$B))+_7wvGop2!u`f!t^waI(HCtbYB zyI<*oP2NtWmu>RyQ_6WI_bOeq*`HF%!u#DM4Ci-{;B~Q`1d|wX>!O95{o6^fv1}tj zSbHl8s^?qW!`n!ZwBJmE;Qb~NY`wRVVC21pWTirH_z}wzH;}OEat#R;Z6Tqet4R?2 zHj<#}5XNCGzB7br7)k)+=`dDL8)sPAiBA|wCHuK+(dGClM=wbhXz&dJ0W(b)X1eh0 zRi1e`B_ngL$i$|atT|z{x@Vcti&>p!N?}f75G~ONhi)#ONyDy3OIWH|?)J&9)S7-8 z4n68)svW|e7IR}&>(erW=WV4^TESMi!+f=fowWUS6Z=0{O;lQQ=5tSffM3&a^Iq95 zEuW%{SSx4Em2Q!-p+&}~d6TEU8mS)(uy4EhvN(Byp(%n&IzJrEqzJnvZDJgvw&z?- z0=~5~ox$h_!=UI7Ms;owK{&3JvxX8;fZcgtw&bS`ZWfz>;0+wcQ;pa(irzvG6#P)< z?eT8o#DMU)TOnk>$I50I%zx$ z?W5;*?3bQftm=&IX!#4ppRJKP^7%d@4-Cq!aO(E^bP56s9x3;BW#f6B?CZ5RR;Vkz zgHSboDs0a;L!#@Ks#9ERoeIHKG~XRp$Ohbk+CM+nKW)K%dpjJg;Oj9s zSgD$!n4u7`8BXtXm~TL^DPnY#aQR`&&h-rl6b`b<1F6PR=%{jT^1^wbkw)9Gi&|W= zqq7J_2!1>3gDRx?oqOp#ffm@s!Ks3K1qubT$bF(kgEYDZSw8(C`{3FJ!FY&v6$L~9 zQ9B4DNyGr1I9DejaGI!*J4i5=b36NHXdZ3jo+NE^{xMtObC0u5m#%A+pa1SKC+EAv zxmV}vPS!xew1zKu1DWs6(ZD=LdtG;MLU}phXQ%=WoyY2A09ip~3R%x(fT7H9X|s8r zNT92SjZFNWbmiM()GWGU=t14grYT+N+`n8uVd1mrD&MywVM$?5Ea2i64dyxxG}`L~ zw19}+<|0VZMGgx0-Jy6c>?4}Fi^#GN7$xnwF;>p@xDq=IihmFa9t6_1T|^vGcz?U9 zT||Uk>=C`9YP*Q&A;FH^rk654mUn0(AP~FlA%ff~fUQE+``XoHt5Ahtj0!}N3xuJd z6m~Lz#4c7_I9kuP2hc1TA~gfF{EKX#b*fkUV%y{7C3~FUQAGVYkM?TUe8d(%k+-b&-T$+qI28dws&r0e7J&PRPoz=Ds~r()Y9Okg!kB`JTpT4_LtsHM z4p)$hleLhR%9@eLFY0X)se=RP_n04=HureVM?MT&quU$_IpPW}k&oqH9yArC>PP7x z{q%tg-RYnBf9{?Le;OEt8d#OVraZ#>Dnr%&fm*#WIIn3le*Z*SftmUz`frUwjw{1Z zNY<6n4oqrpYy-yq?UA zJ;WKE=q^E?x6}SIs=kE^lGjpr9(*L6BKgCMUhbne;?!p@r@ecU)4z$H{fi6ui#z>0Z~VPJ-#?A)7Xg1;diL)% z1^m6H)4%h^-%a`c-Sp!0@6|o~_o@Q^Ue)Q}dE@VO`To7`#p&PGJ^Q!0fWOV1{+&1e zZp`5pKWxeDBI}FiGNNX83<4$O?^OX$`&r`DSze zo6YC<&8GY}%#G($&nxraywWVzb6IF)xbWub5F(5piS0vXCyQk&TO3vi?7!^8Z6228 zq0Y?G?d5OSOZ1;^FMrcsUfccUZ`n&tPhIMK)Lz27yS@C6_7cX|?d2EkW!(Mcm+U3d zaJMgy*vr>+fB9v5iJaN(%l~9AU)BBPSL~%xi{iu=pzT0y_gy0U73gnnceC7MoCoX z`oZhme9k&W^LJGOyURG*eI=Av(jKc+?mYbwxx1!vXVU)Pv-T4Q6p}6JFhj%!>xm+V z(=-a5Y(AEB=KI)8?Je)LSnJUMS{ShX-22y%zcX_4#Jhdm>*oPR?sEJ+FF6N}2j*+= zPMghn@TF;6Q5t)ncA*?{0CF z^qTN?1i0G1_E2(`0wI1)@M8{XEx_erA==1r2+1V&ZFU((1NzmG6r5XCjpixTFC~gH zTMGGW>xUL&ivS($I@4UH*=Q>Sp=C+M*T;J(CYPBo z?w^TkcA^ToFEp+Pi?}}DHHabwIHw&^z!paVN7y8_r$_?V%pd`I01zfpYY!a~xM3Cv zsHC}QV9Pma0MF(*Y2Zp;Gw!eMMFY?OxF48F3op{RpI4-XbB+5tO#jO*pFw1U-&TLi zIJCuwi?Mpva*oiZt-%t~7vqQGNorZ59ovq`7F|P3NQmj%JvX54^?Ez_u5j z28aY*6!=~wJ~01M(13gk-AwQnM*~lRxu=UX@Yb$0V8@?zrh;v=Xh0>+MFVd+Ck@~> z>BWkws{mPeI>h^}VSgv>!~{+z0s=vCjxgJ8m8KETxweSsdZyhw#fawwZ*=^A=y@c*vmGse;4Q49c?&&g9K@(pj zskxRHEj%+xa41LebV>dxJG@=qk^ECBO;*C<{L{s$B5iN?w^%B4}7tvjSmyLV8FF`K}O@QQZoD%Q2a&^a$thkCk@P_C}0k|~K(kN+CIl441f zsf{CTwX<~i2UvAPN5=jmT~`VxVVGbeYl7{V2^4Mu$7_HZ^}kwYJ;n^{%(j7&eqbVc zfD?l7ORo#Q+3t$On!zqIBm2DxV@jIi+~hL5rJ5u#X0CE3;+;p#VzXN;vv|!iY?uR` zTzZJCoI23a@SH8o5CUj$jVmCZt!r)p7B545%r4Nni2)^}BMyl95$SS&(q*uJ;awie zcNrf_v(G^o*kQcYn>}oKvJuxI7+LU0pyG1;64AYz1Bf6B)r3us&`C#S01?ba4Ktfg zRTBY;l10(BKehP@HwKgOXOnqC0?)(JsN88e({;uQD9cgqL~2>pSd;Ct7{%E@Kf3+X z`XL)Qz-sUQA+sc0^+ykXTJS~in6rPTICh~+&Z2TGg9wyAvH;K$KJA|q0A@Dp27tZ< z0PJf!2LNQim^Fe+=?G3|B%4QV9Bb}6A0J~Im2TF|D73J0HIw^0*4(=(d1hjbz%h3_ z-np5hv)pr?qqAIg37pT;iC6>f5a|>GJgqSUW{=OF<33?N-B_!2n#u*Np@AWW*1*0t z+ak=0OB_sKo-u7~R7FXf?RSZ!&6YfQORGYMLD*<#s_HcxMlzTw2&yA+_7?pQ{Ib@S zfJ36Z*kOv_@A{94SzB7TASh2WP8F9^TM{u+h0H5@1HWxkG}Ce7X~x8>x# zY_^uLU>YhF#z*|gRgxIJ+S7w!Kiigq^mx`I-qv>D-nr2|`>%Ggc=6qngY{}(rQ-QP zrP6PK3)$9LZ6UDgxZRS8hFsR$K4LUSJtM5<_G)SKVmm!Dn{(I+&#QBw12LRB(ly6# z6COsQ2wSow*AcElyZf3-v{zwUyENIZ*#7Nn8^lU%VJHqIj)t_3^KOXy11#9i>ShYN zLM$Hh6y!SmagVLQ9G8nzz8!_icU4vw2j_XEk{^_kAFhb0VmpeXfdiaqPBvc=Y1l<; zTSEx#8k4T6o9c=i>vvDvmda~RHGd0jk;kiCN4CalDoIq=-`4&Bs4?5M7&Ne zW$BEGTt(zwKE9Q7|DdaB&c^J;|3H=g96d9 zm>p3f7}imrcphiEL8aoIxCA4nJ@90!0kP!h&APXJHY~z_zui=LVvNC-FWCMIq zav&qPC=Gtb|4$bflLMofedEtK&Hcpp`eHk zjs?b>#j&^@6bub~Mk=2*j}7uHY#}Kzpb|Ek+FJyhgrx!xSzj=}SZ*trK*gfD7BR5^ zlIM&!k9_qTFz8QfzVmpgaHQ@!@)BKFz?KdSuv7k~b1p!5!ayM=n|=z6){E;JHuW@y zoW@wd@s(*2+AfcsG?{7l`hJk?^sl-N{n{qn4j_E;rHA#101Aio05kGktz4vATzfPT zaknk~I*DKbI25`B;O6m*RL;peQWacP07>Re-4Nm;7YzbdH0Uu7uIf<<4tYA z&JKQM#7|@hh)#L-#}I;9isyx|ySKtiYAR)UjSbL;rVTvIT4@;cG(N(@B&#~Q+*!Wv zbcx(gco=16>F!|q-JxQ89@V&}_~N%mikXgg&GdLN(-U1YolG;;z7vGnTO6iB))n~2 z3Dpn0m(;QE2VmP}%71}{t+SkSu$B}>rn9?oAD`US^DN0nVEhM|&E4G;(g-7G7 z5)n|8XgWhgGf4^ufg!R%+$RwU4bsh<$WmqoazlWTphxJP|3hIDAja5q784hgLYc=S^3_1Z=le<bEI*|z zK>)=l8_ywAqyud2-J!v}bWt#ebHFb5!OHC@M%e9Lt%`xaFaCj;IR|(m)dm(9J;&8? z=S^_Hd`1@~3aaPe0bk#9-~j~Gfj5wU!SI0K%?#s43uf-;h6tvt=N}P42N7pFh#)?8 zaWMRMjfhfrM11!RVF^`lbvhyr%1zIW7Rg|Qdn$>sZDW~+S&;?R^p;p+ zLAU zCM&G9?!ybSVz!|nM)gKc8=Ax|4;vHfw#~`b0xs*u4HNGWNk8sWH3wo!oHRGg2oKgy zxlB6ppS+s4=>8iidx1rH8dD%q+I2P5gpM7RZ(JteAONoOez6i)u4^f3==wAAyTZR6tO%Sc!Q?usLmu74Q!>vfvxQo(mLu4fECSe8VJ+^1q>st zQ#}Y@&NnM!ox4M69+yOPT|tl|n#O07ZDmnNT3dz@+H`Bt>Y54VuTpR(Asyj)K+7}k zN`qo`qsn?lTvA&y$Z14MiD7u_xQWtDxP%+E@)&Hnamw@S2@F$2rOTC|lXmA2Divf- zglgR95vs*U4JH#3G?bht2EgNF5hH_eqa+bJ1J*HYI0SD2(mcAMJz#x~D+~`U3G_LD zvy#mPn!gj>bZ5hM<1mqtU~Ywo`viAaSQ#Zb~#K+4VXs88rxDt^^L*9{4}uE|3O zI!8ru0r?mUZv-LMPJqhE$wcIfE3t93>y{<$)9Y)2w`F`7h6=8Yg11mVeWLQ4L`Bv& zbw(_6IfXrJ{=2FVn(ELe40MIqfpShlj}lnivuHq!F4QrB(~Lotcn$HPF+sIf0P|?Y zhG3`0rq~m7P>e$Ukxyt=7p}t%!sus?gz&@;^GEHHlxx==looX8Q?T()rsrP`&x)O8Mp* zkNR)Expec*erRv&1OVxa|IoX>@e{yRpKJ?-82JipC z6yK^7&BlH6Md}`^zoGckAT~u`{8fs0eUj}lyLLrCZr5qiuMkZi4q_;A>K)fL8q{=r z&mVlQl-5Mt6<5=5QPbeyO}U>2Ar$)JzoWR<<$CbC$W`+v_B>Y&E)HSi$HhOM4b&;D z7V)WF-}po&t;zuMWj?zxDb8KH;=X3jRh&#k*SUfy@JgD%AX8!Ay7xc4H)}WHNBUxQ z`-Y^jzp(2L2yReIC}7aB31;vApS`yMv*Rl7JnQ3rb>G|FSL&A3Qn#eKC0TA6btET5 z^2i2M0&FWbfn;DNJIg%l%(5A_<#?@+)#GFxyKRI=5JLn}SWiMgI7+O5m6%!YKF$uA zh~Na1IIQ!;$(Rkv3S&S4CsDxJI2jMw-~TejutTVKY+u)?UTZq=#t@t*hlyyrbP zjEs?oUo!!_{(g}d|E47bTus-NYP!ykQoy{<*n*Rx*QbdpYIiHz25U-iU#l+ub@-R? z&s2k8WJwDkIsiWcfU6VBuDy0SdlYNgpHTDb{VQR^>wSx#vilsaTm2{)O?MhKXnsB# zy6fvuDEWCkfWxDH639{qM5ZY9!C`{Z3!6;I-3_D0(2p!+UWbGyw8 zNoDgXnz47+H?t8fM@Xan3E1NjrG$+W()PbCOVL^44Au4~p0uwH{s&#)Kih+UOP15M zz+P3T<=3TaXYc^R?ypU_tE35cId7uzh9qRsGRii+f<>>L4H{`DYu_;PTKIowfA)d9 zE9BsMEu&@W6m=)h5j9*ao$`jIQ#zKYNYX8m6h(NWB1m27;l+r}6__+$9sXD{Mb@_D z(5rAV{{Xza|Jg35q0zY^(6I(U>0Giu`?Fw=b_>NxvK>A$&Jaj4ktCh=SENskz>8_o zbOAroYe&!?2W!``hXt$cyyc|SAI&DI>$)aT0kw$H+kzMAd!Bhy7?>3j6L^GGv zG;V|=4vwzV7#e6Fm)KSRH%N{pUQ07;>ZIf?;`bA}qGdf2wO*jzz^oVyFPg4iIH0b)yZ=qT8gbVP8&WKxX`k^6`N ziu4G%9K_hElerRUIN&=6RM~`bc$KMH&qf?qDz<@ECAL8ku??pDZCqr9wO-quCfQ?w zK@@m;M+pqSUa86UzhyKZEQ>lY_WTMhSxtu0c|zVN$$__PVL zDkEVtx6Nj9fwL+5m2aGDr`y{NLN}|@w2KW6B8Pns?&W%3gE)d_ZXm>N5D3k5bs%i9 zH@#*I^?dl??Q_g*O^Y0+#pAVP$~qlszzmyBh;!*$@xczorXgtdjAI%zh~d^%W$xda zDgWaATAj>U%cMJ8>FH7m*OkE6F_&kJ9%oeO30`dRg(PFQP{>U0_Ft-y`$VgP_Lv)N zQ{^gN?#=4FM9Bv8NtI=TVKZ!tZ-N!kl9=FT-;y+x%|%Op^(|{jD8%{Z_!*KF{F(L6 z21Y64kP{|Lj)E0(O@zl}-z>K-V`Z@X0kFBey~Eb%nczp68Z6YCP$jthgd7jojVw*j zMH3xbPC|hpYT>aZtR}-F`b90f1Cv`iM<_RM7yrITJ6>6p!W3aY3LR&klHqE_z3WmIw7U==em zVFs(%;H!X3bz!lADh>=*v4JWC13wVKA>rTUzKY>;6_-=CH3zxXvi);Nbz2)P_|JM1 zWOJPvKHtc{EBN;cRWsZ-E3b$ot!B8spgu7Bg|0HUYne*aN@<43NB~G_JtBG2uOqelC8HB+)ReByWWK%P_LO{R5 zi@F1QE!2mDVX5iz;yy_>6!+7~WyO6bSzp|*P1Y6ns}pyclImHLg<$e4vUyVU@|(MG zfA&rCvqJ=_vD8PsEp;7-5;_Yb1^b7bc+-;)D^vLLAmm@vLSm(X2}6pYf*xgNX;+ugBx|`F=b2lWpa;X+R%6Eg;}U`BIFIRy@lTKS zdSlK7*Oa*68uj?s;}N_Uo@M^Eu}nNpPO)F@3rpX@U1<8w>Z0%&D~xx-y^uEU81LWM z3nJv>&EZcX;W)VdqP6&S&FtWZOC|}*Za0SH;qn`rFDy>U)v0FoWZ(P3h}3(|dAR6a zaiq>ge@nkE`rB2_?76bj=HhFb1g=NRaDC)+UoHg!l%OmZmX6kt289;zwhX^7u*NjF zNlqlNi(kan{e-!mBu03R7y;|d@mk9`lB-}SiV_*HI&AwQc1KfsJF?c<9V?k6i&3s+ zt#j8PyM-_r4s#80hT5WHl5~>k_Sc1t@Ec^D7IpC_AhYo*n`p9gn`1>eu7xDJJR|CiLHFFE|Z8+n#=!3vsDa%FpV(jY!8lV zy#`J6!(6kw8dnFus0V1MAJi3RBgX}q_IgAG0Ohcj5(_Kde7@Zi_ycKRC%6(GmS1Fymfb`F*hb@&&1mXhUcG^-+I4>aX|t zt5i#sd%L^bl*NV_gj-5~WSnSM8vp;u1#k$R7<8eK6E4?77L@!quH=tqV}@~K!Z=u` zeg31_Qedm)V{y5gksY#!l{#_ zypqo6yt62cp*)DpnMbcJ@F(v{IZsq31p z(G$APZjBz-mHt1bE2hJvNJp`2De$Vd0xYpSSQ=@6Lujm@+k=mqr#rW)7QVu{d*yfp zP^3Mq6&%h_eP2r@x9`CPf+fT8)wydXR!xHOYT~zhC+$M~Gq|Veh7`JUcvDs<9VrTh zt3)(O4YJ8T);XVV66WQ2)ee?Sl^*FNCLtJdccu7 z7u^G`18pYVK7idX=%P$-isU9(T4J=cX>gVbyE#}&H%j_{l1=#clo`&EIi)5u4tNbn zU-dCbz#?}c!d&FSc}nS`2k}=+mviKjVU`aFw04 zR9S_Ij$Fa&NU(=}Pp{1FZQFVFsoi3^5#qV_N-P zg8{G5S(C5pF}C<_I)%z1y=3}^kqSUn)Sdn`SZ?O&n%(IpErUmRvNri;aJ^O70oO{x zL0+r|&n26DJP!?U2CGWX5yD1=!)S92F}>CNr|=0}D${dZBlkrXsByRGJ!I`l znwVuBoGG6b9D0`P)%9ywAh!kftYHDo{1X3kYqo5SQDB7tto3+Ui&%j{a>(f()SW$Q z93x-t1^;G)yU;zDl5AR2g6c)!MfS+YWJKi4#B|p`DL&jB{(LAborzeUhBpY@Vi^|Q zV&K0@LvU0dDU^cvi#ISuT(X1KiLc3}j~TKShp%Hy8>4GFoa&>K5t}e`P5E4hkR=A4 zRu%IsoY)yyc#|r+K~s)fPwp`veo;p08EqqBQ_5~t10uQV6RZF=>H7vp!mt3hIf-Ul zq*(x6CQ>0;CMZs_cLYYEX(DvY2k9uhOT0;gKGHL2 zw5_cX?%P<3;6Yt|YK(dArL=>+j`j7Y#-JZ9*AE3;yO=PYiYS9Fd#KpqbSR3d1mCWc zVGv|Vahi`vEa!Ue>}l{Z-o57pap+1N7G66=lpFEG+D#PhCr$=|r9_D=NP?`2P17~P zIvQ3`7+gp^kKJH(P@Dy6D#O!6GhxK;A~7k>S4t{3i%hDjn8+pq#X5XcRUA4=5^Vky zvdbBAJ`w{qW=5Uu|7&;b(h^1i;q3U=zf_9EplFMo5s<7@Y6c?(yP73)>uv1KLs3}I zga3d-;flxPsx+RhnO*TgM~p5RRaINxC&-PvZWO@ zxG~>^1C`{PaN_<=IQ9UvvBDynXk!?aHsM5~SYMOhgu|nJ6Al~D^IiBl%TJrHdL9`D zE&K==YyVXmcf-hws$vo@TRqBQYgu*9uW0jya51PA5UUDe@jo$~$o}Yt1%TK?VEPMK z;1e2HcF0A>Zzon21>;w#B0dzLn!9cLhT|B3*XYH^{qIYoj3mz4*sdv-4Myuhs11bL zJSe>86jbm!l5WIK1hx!v56!z*pi)PH*GVLM-K#3i{}9JIge=Ud^$fc*V@Ix@Wx-vw zF*0r+mED|1kRi-L_0o~qVA44tIH8g)gg5D#Me+X#obf7&2$Ic+K{q7w!FD2G)%r(N z7h^+#xeCCol7a{unF+UVwT)ved+_Sj+MXC^n>qc>szXj}41#Te9?mHJrbTltv4=4a zktjiyR=358gzOHaj)|7Ye}oxAw4pWzPy;;D5^c(#B6>k13{0tncC#^YUsKtN_ITQG z{rHT_J*x(dZ?H4RZ#J;sV~jWd$~vSC2i6@;g%Y=@Ib>hMCHnNqFX)=QXL;|ONL=B^ zD>*}E3(s9YTD1)a1&3X5C#@06=uqTYih^yUvu*1;J4czJ%W#wn+SX^&jxHet>cETj zpMKz51cwH8mE>D=*;5iqD-G!{0=ot7*@h9@pe9UY7m0SQ!D+Qc7llPzbgOeIJFC#n z!24KogzdOP+INqEK(pLfD1&g$oB(iY6{$%3Lf>#3no%t@H~fmgoR+YUavOtaTQJN6 zwk}p!iSmf)Df-5XKcF{WN#ei zHu?d@z+rB6ckB~-JJ7=t=I`mnS&R)0E+vy_sL&(%YdSvOLo!W1(qjW-J`jQqBK#%k8(MF7C50N;3uN7K&k>i`9K)j zm3QDMI%Q4-CLVL#v;l&IL)cP4u-I=E?GTIY;(~*z@wm4GG($bKWQuX9p&U3S+9i3A zsKtog-n;^VXH*MDEeg0{DF%=sGuUeI9;Q0uUsaERz!msoZ0g`#Z!Cgh0z0xoU>|m1 z2m0b{(wyD=m_C&6#kJHAaCrN~$W;?`v@q!26@?A9sYc+H#1=>b-%jJ*Y=O4Dd6*f( zW-JynQP_ALKpST3C14I1UFUa$HoLUK9zw^EwRciqAJFz=DsI?v3TS~Yq*@a8^u;o8 zcmR)QD8 z6Ae8(^1pu;GcVu3jI7NC!Jmds<2zXI$1klug)S89Ig0myh0jAhM+$m%%bVPk z%oTFy1;~x=t~#DXs07)Nb6p@cas%93@qpP_2k@flv-qMdVMM@*IjS?XV zg|`Q!f)XE;c7>?K_pM*xlva*-BxMTkMbLa_RCV5?lJLaeTXBvG)0)r#q`BlvHJBP~w=I zk|WbIU3u+AA|xfzzZ-}rLrujiB%PGC3n{796P>WYg|wCD{lx<9G(bf7I~c@2AtKAa z(l18@>?FQ69R(cV;2fydAG^dan>9N+Qcp%sbjB!dGhmxCWZGtrS&nFTa1c|| zve`&rUNO1yN%NSF87(2sv#NxA9ZQw^*CQi4@%(~x3*r|EPaxDDe({BRMfox07+a8El(<7=%tOo| z=Miv0&m+LZ3*!+uT^8XHtT8%gtMLeB+mN2P7>`h=az0_pVHe9M!ko$c6Y+^W`$m2~ znlX(L$21x+4Mju|ySk@CrjE{-WR?y*Tb_)iJe})|W#m8Q+48y05;sv4LFw#r6H8D* zPyy*X3}^@umW7c({6nn4uq4)&5Xw=_#Tq|yv1ZIB=QMn(t&L>WrZv^zWf)UR5=@D= z3r9rZ10U;zv>&1$K{D>xL-U#dZ8fu#Qel6vhgX|QsdM9A6|$_tGj}3{^3-{bfO<%B z2hR?$W9pm3<&2O}H~t*h%aBJA5#yi^GF0+e-}bXfydc{4(gv}m=8YpJ<9DQVOB^1Y z1aSV_e}rT@O;3Eb5AWDx?->T^2w5wYTv zLyK}r4sE2m7?~@epD#q_g?^~-oPMaf$bl{5zfjtj$xLj=cMj42SF#f$*N1bfx|ir- zeEnoEjOrnMdyva_l&pUm`JT&mMG;-J4N!dia*^$bax!n3h#xK61t!>+DC3q?AkqF( zC)_Kj;70$*Ea<-9OlT;h=v-&QO=6;D0pP_y1Uss{1p7ECttz=-=SNwvSG-^s24HAd zY4n6~)v=qTe>x4uA8ALBA%c1WLG8PE9_H8xYD>Co%6QjVhcWc+9>)0?lXQGJfLUq^ z$~km}rKT%XlI3zyRFv65%OaS%FO9CirkHb@U}w=ME=EZcUS5!ak(-O=xdJXS`PvuB z`K2ND2mtf57h8EsI?pFAxj`||R)?g?$m1c0srKhlil^75xxOQj-f#|6 zN*11nW{*d*xpNDShGE23lQCQq4B4IYQp$VhZILk! zK5@zKc**bByFAnHcl=cDb5x@EOFqZ5EIeLXROnlLJewF@Y*C@?bCk2u`5nGn78Nei z@;uAZ!b|LPv~6wQ84C@Ue2%5KgG)ZgOFqX1U8mn3pQE+}za+ZCC7+{Wdl&LKURr1U zjx}g5={zs1byfnEUmE6hmcQ#-9Sf`MTVU-mcPxHN5yb7J>Efq|sWDTBysBq2bw*$6_$kg{yZHDi z9pE<77e6%^Ua9!0dN*{kH&BW&dLJ8M$4=GzgQ6<^K~V(Nj(3AR_5Gz8_&k{3vDa2}3Z=AIlQyypW z|GOBi#4iF~?5 zk{k??fyWg2&~oUI%!4E`Ax^4%6E$T>7FY2pc*rrP?fRU%s!i=AM`D*dX>61&K~Ze> zX41XEtH&{0nUeFk=Ud!!QV742=N7+j<*#?o0o#o{w`e$fev^CNQa150s}}W;yj3la zY>jT`IY-(0`jx0wFR;yyguLOvY5(T9f5QYlh!zmKtd49xoj~D)cPrSN1?(0fXAMgk zV402Bs7g>-cAtg4_?*IQX{+SBhyRTSoDS0I!jQ`Q;TN`#X~TIM0X)Lmlx9LZhm|wb z{UXf-33Boc%Je;N;=O0h7T`U#miLWR0WG9zf8qcF55LVx1C+6=FKIxYH9#8Jg{KPO zlRVWx^K)Srb9HhaF_g-x6a?A)U3VY6jZ-M29hvrF#&bG7g7hxC!HIxu!DL|2kzXO` z4osMJrS#0dA^`@G6DmWU+B!}mnQo=8cL__C^?`IC)*_XWa6O*eM9VtVIogqs9iitv z`Lw(5i35dfv?52<*-z!K?)(8B?h!Ud%@ z=SGy9f?lHJ`Ax2cUZUi=5#^>nqU5<-M_G`mDJmWQ5$Z z=l8_U$ve^tcI5+1Kt-GN{$44M`*V*q7Ro&qv!kh;e@qdxp=BHcXW~7bArOM}WqP(d zyItwcVla=BA?lq-uRyklKv~{%0(jN!X5xv((7M!yye%HH?cKk*lKdoO^D5qKDc+Dw zl~L@RLX%SfcXRqzY&MScM3M7D+3xxig-ta6PJC;O0>o!rAs7ZjvY@R zenw#ulhz?DcS0EgRXtL-IitWb!zFbxb!M;G!*{i8EzkI>mi>2veIu)pbYrjWLZi*P z<2XFylZa3DstXjpmATixv#hn>6=qjjPvKaFdB1c&$tceRe2BLSpt?+>@oq+xa{8sE z4u@foss-@wRz5l#AR*kT<+Wf#9P1=DEakBfIH6CHa&eB67aB3i+fu|%gtP(0iq;Gw#LKCZ8^>iEL7yZl!Q3b|7>!*{I`u=wuVQZzP+f@>x=w ziY2uH16lNA^B(_-gf<*6cd-d=s+Q1(T*g8ORuw@oBtgE~ri3;xscgEF+)%Wa%(Z{U zr)majk6H#OZXV0w=Ab!WNtJra{Ww@j$+{J!4p>RNgcYgz!2Tc^0J%UPdbqn!p33X} zd|q#JMzsOsd2}w(*1?~79HP8mRoQHY8>5F~cDOVffMqr~Q)#Z?MoEv)RI>Z-`O3VV z69P+V{w^nsXl9wfZj~rg`Ohh0-O^EJ3NL+T{0)9D`i@7M+Wx{E$cr$j(oUo(03^( zdXy&&Y41+M_3AF;5JE2ur!Wb=KY9e6;roHs9Xma!lyUXAfr!LRJA?Lv@248e=>!p( z&L#b#J?HA*d8dTr&ftfqnkPcCNYS337ipy2J`(4f<2Ai@)SEqjn9qpQN$>8ExxsZ;!RS+ean>2OiWl|FAw+HQ7_uIijN8Yq^1W{8TmDpd2B5^i&nD+&JJ) zXzIZ*K4UxSQ%WTI7@w2WiDc_mRd(cg5!pB2X+*|6Q%^Bm4HSN7<232gi?`H3y7!^> zdt6^O1so=`KYQ%oi4friN&V(d-GNg5|7Ynid5?OslhfRA){xkv-^uVTDgS5pjaHy< z-kk;4Nu-fu=!u{HEL}W((D4DJ>3)P*d5)+D@yhv4s;Z)l=S8PxgDX*GXnsovC^BJH zByojI@ z{rL?YgnwjB4j)viSnzy^`Eh%+T z3#>w(pVIp}#i_Z*ZhP|17-gtS$UXjuy6Wwx97fMXNy_-Jm}epgQH4b~v`Xq?ojp@; ze=euP`5Jh#fyA|Xc?K+NNiX64paDi)t!Dx!HGv;oZ~|ANI1XYQsFqVo?Ut1PE2|q= zcOI0YZak+`f+MkS9hySS&hXB=?!NcX(WCPiyC*C?T71u;2X0PBrKYB1S$seglN~4Z zP+Lq3c~d0`5!V+gou#@m<-;~7HPZuzH8XmCj3uR`BtGZXk(;2^88>B+tViO6!q z=gn;JGvol?pFNpFCRy5p+=nY^YXRW2y1;1xnOo9vfHR)7&Iuf#fpR{cEM1ttA$#&! zgG;p4vqy@a!QU(qgyR!S&c-JuN_=9X#3v>O`NV|y1m^-9tA_5=Wn@O;vRn$5#pzU% zwjD+;xh1~-5Ld+j&6Ak(xCt;)Q0P1yLH6-#rhYE3kMd($p*2bk5}Ad*$YS zLj5$cr76jY#`Wg7Wfq{l2a7!4WQy8|Oh(=11o>r*8cjikb6ID@dZvor!e^(dM3Zs- zeANl6r$l*TQOd$G18CAZ*`qbw?1{sYbotR*(6yKK$r25vF0{{NQtP`1tDR+h!gRk- z-^05z#iS44%=3HSGIBHUt!IzsPr#*mcD(q-hLVh_2$Q9_&fuZL$pqvF7aF@I zT@D8!uUIZJNN)v3EdfGf$@tC4KB$gfa)z2{vDGW^7~mM)9<78?fJU7C+`EvG*-Umu z*Y>Y~4APmI`8U#R*jcWF2>h>@UudTO*BHMrwfL2tv~TnD*?RKCz>`zuCv*a4asXnB z1-B>}pW}X6(wf5<1V@Gwa+?nC#;iM#EZ@U}Q4mQ#_b20&*eguo6mO*puO~|wak5lX zu@ug%1pHK+J@Rgi$M-3l*RO0cyU(8f-{QT2voI&nmyl30mnV`Y{E-X!L37yZ;Jljt zk*8((>*;GBtjGCyDP+E?W5p+d_k^k9 zM71|E&xln{@nCdaGGL7Gm>ToQ;5ef>GSNW!?09)}s(UxcG%irUk@zTGnk>ggae~Bg zaR1W@qV}J5#gEiL2n}9abEI*IZ0Y)au;xf(z6NP9@y0VGd^6m*lDpY6Pknjb>xW8T zD6uPg&5oD>cHALTzqYbDxC>c38@!{Iwedk9^cQZLCbMHbmYi2oaTsS`GXTw1%Pv`{=t*>r(cyY6uGXpnw825MxP3TEURt!> zwzwr*CVDML8VMde1&Ki&B9iqKCz_bD9rHKbZ3RCB#Br~=N>4^#2<9lhc^bk;&E z1s7_!s5l3Km1y&rsoFVh;x*xL+Si-tG!IJ5xd6;LJ~^p2q8_QbyF0@m7sn=SHir_K z_2}Y(y*ei{!o9{+O94tzi@*{bCh+HOc_5AFs9YY5uB)d0H+b6?d4tz)kvF6)M}b5d zrwDag_qN%LsqOT=2 zVrEJA3rPYA9`wh1K~SxZU}ROKaURqai$gGh+wUbyJ5NkBnP%7iqkG^e38=Rbg>st~ zS2E6_bi^<{C!vc_3bOV2v-Prb5Kod=NFK0tV|=QLr;R7lLfyiQKO6+}Qu|qQ-wFj@ zI^e(tslO{zz3+vg9IkmAzxnAXj?Mj*laLJi3DyuIsSdH7U+m5mlQST@b02#11bh;{ z;f{8~)1gn=_^0nkYw}JrPZV&=N8ko8TOd#EfwUnZOv2Hmfhn$as!%V+gtKQ{&{C##`=x%#n{)wI?#il+TQvzSS(q^0oqh-jGWpGe|2AHG=h*E2UUpd;(mb#6=$M#j?{GnK*lw<3N;*P@juxURX<=iTqe}D9!a91m!eAkf2f3O)$>^;`9yi*@ zO~h1_;fOImUy;OAV?AR73cBg)BfI~}{#25?{rDSvd zLAg>jEs%v0^B)z^Tc9rI)>ou~sq5i}ZDg9YK_u*%a7r7e$^NR8Ab(73c2Ih3_KNHw z(`R#WGKfe>0#FszN;pvWc%hu@LKQvN968*;i7}TpfoM9CRVkjWbm9$a&YrQxbFDCv zLdv(hF$%B+7{qMw2XYdzy8*X1?F{Yij3O-2cqqa6I;dK5WfL%^rE%1?Ovz$KGTZ^9 zm6296(6iqEfFRPdQ4PXqdAz)0hiE~g($ZL%&|<<+2BB!_rQRap%oxgWd@FdJQ3@?j zB@pVjSYB{?o1vOnVLlkqG0KsKxkS~`nK9P8cB2IFj(=oH?+k(Gtt>{cS-yEH{3a6` z9$-mIYF!J#o4*<th1TZ3Y80V&3UKhtZ>jNlV7K9`)iNBXJXBtk; zhJ!e7)1RKc@q3tmZ~;Dshm9tqs<&R$ThHswUk&t;k@>Is`>2umR|6eoWd7A~(H6(& z6(egFPn)g>@G2Y>*-z?Z?;3oqwS>WO9>cDYF$Um3e_KE3^Wkw-24?vlTI48Amn2Ix z%z>#uKk=^yh6!-|tASwxZU1Uum;lGW>K~?n<6jMo72x<+qXif&Z);fsn-GP(F8Tzo2fWT|YyxAH`~$CD-na-lZ_;vW2{ zgpxm99N$rpJy#Y}XjLu$BzL)tjAE5lqFA;PViAd8bIBo}`PAqTPJ4#H>OL#xynq!W zl59i>>_G(iFG{r(UzBRm;%QmR(5hq%A|`HDnmT;6ZoZ|qR~~-jLSRm^q#u ztQ_N%0B$F3y%R)qwS(?m87Fyoo&!c+7L{ps2WE1pK|ScwBkHXvUBp2a{{z-rE~VZ| zM<{yBy@bzMdfe`|Lx*GJdq!2WQQ5Mo!oCEY$RQJ)E?>48$!VXB*ZJeMUX#fw3S=TbZ;&JL}KZp#x6TIRZ6=CHTE z2(-{^mLi(<01>VU$52C#VWylF1-Ht^{^xXbUoyJe z9ghij)*(_z$xrG{dtcJ_Z`!-kB~vWjF)P$#Z)^LKntMyj?PST+t|=4OlyEa>nu>TK z%x(m4uUvp>vtW3G?6&O~UZFQIjs|Gcf{EA|kejaebexf-qdM=Zsh%#`mn`u;U4mTG zFnNi(t(QypB}@IwrMuGcDZ1MwS(r$|d6AXcC~* zhjKIY*tKtv8sC?U`woonN+)~=7J%bYyw?-zfpql(j%A_Iz+*53aP-%qBfB8Hm`-C%I`*Sh8ChzQ!`K zk5(PAOz@qcz)MUQy_Du^~PuRwuEhcJuv2KOnQ>J_Sys3w$!6@Q~gL6 z>46E2vqQmkLQq(|4_*}j-_YXegTuELm}1hzX=v#Pz8GFoQyHZ^QSj1(XaMP9@(bbH z@|^1Aqr%X3LdF!J3HV71oErt_mVt9_T^gKoqJB^zVks{^7tZlsp6+G*Th6}~Jvcbs zgM*U=^c@ba+MTXUR%+y{_a&=6nyqGCTqwfJRmm#7T(d7(<6o}Xm9Cuv)mCb`Z>e5( z8F8{YS(B_44o=(1yNcK}5cgUb4X$9^YQW|or5O+4o<4w0*1loc0v%Ww2m5-k!ih!{ zj%lb*VcK*I{vp~@4~!lc>w!a&vqE7(9PI1Ea@PkGn&}cHwpoo`W_>VJU#t&~VZ7)* zEOUK;^H2BCqU4F-;AnA?nQ*lDqWj<#%>i1>Ig*n;U0N*jodH^$-j_^!jGW$;uATzR z7o^2i$#k+>80l!yD}1JAPnKx04K3<`m6b#^Oi2z*L6ch5S7ebh6uav8S{EE~Ryoj5 zll&&wq_dKLtN1t7L!(I#jZP!Y-K;noU9&q~ovaq6b@nA4Kj=;}Z4<}KHOU&iO!p z>4W1{FS-w&XTz(K9$uC6Y{#n>>4W1{FS-w&XAkhIoM-p*s`FU} z@~SmSl61Pf%6N7|p7%yFy#TLT3a=U`4rn#uH*3YS*21%5@hqm!xdL&h$s-**&pSa` z5`pr@*W`_t(kj*jv`t zdrb8O%yuoxjmD$JqMTNAY`M*%S5nLX@5RT`Wzk1AT)o9RH_Ly_@4Yh`lZF1l9c0D$4_SEpbLemM(9Ik;xVd^yr(PJB6h2MzZO zH1^N1Mf^G*v+bW@GYz|P11n%!X0R17a~@|}d_1oeFxUAu=;11+%V^v}2np%DvHY1B zw0p)NeYtMuK^gz7+j$1*pLILWApNs0(9D@&?T#{B*GBJ3mN|oUmb9&8X}R{ru4EMh zq?7qNRq>3$3_N4dIlB9D1FKcI#}{6$Dk?VTPq9oTr*T6hUaS!0G^KrWnt|?`LxD{I zFki~apJ^Uhi?T1=BGiIK2xqV&ERi6+7c7E{---~!;nouAo?HEq=+d)KDKPl=ziP`7Vt7pvcbS|;5bwm5JL zl3Qr<0kEI^E(z0n|E$~7E|PTXqxS>l7{@?;)a;*iM`;*8B*Y%FAPZR29s)ZI=`_3B znPdB*XwcH4)(AfeJZbR5j;Lp@*!P`(ps%~DVC4_=b)X1W)>VQWL}x`m)@t%)51<|@ z+Jh(~Xc7X+<9-08e zja28U8}JmpGnGAbjI~Z8N2cYO9#OfOWN#tO+NgHLC&yZ^Amds7QSxZk?4s9LIY`hFdFH>>L?t5nxY=72OiG z)(Z6i_q5g~Ewsgb-9S`gZuydpU4%=rr-0>-?BSkOT7@9ECwYE|o=r(v0C+$9)%jo* zVLN#W4T~*nW$#zGRQ9v_n>3~fgv(C;vIEmn=z-ElUEr{`7>^m?@X5F#SC$5ic&WBc zG8_=PF+%Wd7m&>Ykgf9L;o`BFu>hmvsf6O1rJ>^Oa5Fn%efv4$0;V^E8N$3g=Oh!8+nh6tlJQ1l>4 zU`RsToA1wc#K2`^9l#SL1dOqUPw?i|L8z7QFgrzHpzR4@M4}}Y^;_*Px>!AB(ttK} z=2lDm0&;9WqgUCH`)!8w4o%gt6dEI_i=Z%}>@#uNP$aJ5A-m^$B5`>`z#*Z?{=9Fx z*9Cu2fS-719%oNEWDwgS(aAGxFHPVFr{Y4tEXZ0+MA8ghj(~MHHrE;AQJ1_&Sj4~i zz;*F7c`EewS*TvuGX%p#7LQ%As(asAG$p&AVi!{lx0r`-xJYuMF7=ZQzqK2PYNM{_ z<44lPX|rCT~1ipuo+%Fg#Xo|OL; zZ>pi}$CWC2wu)cT`CcL4E4aOkTgdlvZZ~mD{NgOPGu(o}8@c@+Zb7}x+^+9@ugIU- z5_LTrtAS+0FBCvMll}Ka&w}8`(z^I_vf*QvD}fKO1;|!{`bDh7l$AV%-tgDi+t@+N zcEULM-fmrd?_&0g8vAO`>mCvg5b5XY#>^O~o1II~(O1imkkoBQvvTzak-;|)(i~X% z6`<7!a*3lba4-X`GE+Pp1ilv`;L9Ni_;UCHJ`eQ^0$(j3qVhp7M7D7Wd>9-_ ztq*+2{fh)&!_|G3smZ~I#SCl#pJ)`wRgBiSL7~G)nXlxa%ddd2+6O^O-+c$$DQd#R zZzCvQ#+XPbt;0lg+r_|G>BU2!_zs{LgP-4CFuu$&GRiR$lfXb}WY@zF0o_4B=K<<4 z6+9K0L$KdQjC{F+GRI16r2(u2i0=f5IdKb$zz`6coY;b#xYF^*El7_mC0=GbTaYPN zO1xao?Iv!GKW;((Tq*H#Md!*v-ngYJ4*Hn?g^QLeyLG*^qJ>4tI!YT!-^3FK#AU8> zXh8XWS5~h7Sh4BGG5g5LGnFi4r7`4W^Dh({jt1m51LQUK)oy}>x(AtkG-bUg>SiAd zg2Xllu&v9iBD58dSU71ZDjXu}FzJsi%hH_dRYNuDqAl&rH~8HrM2_X35|cJaU}wbLg~P(aw=gV(hE z`JbMjr<(h!VI%)e8+Ri2VJ?h7QB=T#>`8YfA{ygSr9Fr;?aa}>D8DnOqDV8_Q5=KS zQgo)1Xs7zq)|+Z1fJz+eqZ z$IrLGH1IrY3k+6{%`0S|J*@4bcn7lQY~N_U#l^uILx;v~KTu@*fjm?SfZ&UJ3;lwQ z-t4+(`+=;ZwjT(yM*D#<1+^at?O6MPqV9g6$n6J;O8bGVWxpSYit_zH(E|H{fR!@W zgg6molhM_hwl1N2xoB)Tnx#7}yo)F5;&k)$+OV2q=E;RHvx}qoozfz$lv^s!YGAn_ z&vs>9N1I-guQ!H;ceLqFZj=9un+IDwNIV$%=W=JYwu!HCggqq zQq@jWnWi8j;p+E(`b+dnlj-ZbbB-pG%I@}4YMZ7pkI%2^ZE_X#w>)-3spSi3`1K=A z2l`6(w+1?xLkV zIeTto=bpT<1(Q0zmd|VQ&a>UukKlR|Ef|XokTP;IM@=t!>J{dXdC!7#y*z9QZcRwUz9uvuuwWgm+N6Y~#hsVS@sgsUEg3rle zgm+FoTNoE{xv71_Lomk%)sJ-=Xg_l5SsyA&v?DLI%@@qe5%VUVfS91;jsp75{osOu`}en8o`X20{%XMh7}i_^H5smY&eeD8e^iS|PSRc{d{0#{uLs_(OTXfFoU zx@h72pgLqw{o5R>^kosKvM=Oi0afcN$&bzjRrvrUP0k8c5;2sZ`i)-{uA2L9AzUS) z#`!{3TkXU4|C>XVzAOS&RHBy!RIRHcq~1CQuF7k3PN-tWTcM{6ONR_g2M}8BV%7A8 z5-JZAGL_v_G|BtFv7(F44_>kJou8_)VW#Md_jq=Ow&teCMI^N!Do={%O@J=5j!>(#(_< zs|$e8w_LGuD&2XY#d*z*4eQ+6xE2XDjW$2$OC^a6FrOo&(0eX~RJ0b={&UZ_eDj7( zh9c-GUTY?K3C8E!$rc9dJXNIrs>0`Kl?z03&)ajJ{}V3NFtyoLOerU zpR}Ag8Hr_XA+;1qb4c7X?9<8*KcF-?IOa%EfzJrUoWJebDZZm>d3BYqO0FAbgA_EX zgJfkOqc4hk49}g`=v0v8J=vX|Fg8JzDN{J#H3@r2Fe&&0z0fmsaIhn3X^lH#B=V5p zmeH87nv^xJzJ~;t@^dk;-5uVt@Ycah(E1y0INMmnnl#JyMYHl1EYvj3DV3)+ji;g9 zG~bq+)D}5wl=LN3Y+L>t*Wp+Q7wZNQSJ~0ypT(RzE$0DlhQ}Y^SN6(m-ky37R(AAP z^z=(Xc1W*_G<`mib{Ud>IMtW{8e4NOz@q{9{wcpcRO*4^hhzskguuo^ITK3}ltZUm zoxwrd#7hGuO$&9qfu6H!I;dQbZ2M>B-v;SZ#EhZsNL3klk=oIx8UL##QSK6;kQHXx<~H1NA3cd3rr>)Sg55qQ}Xlm zpse}=+JgOHuO!fd18^86Y$dK7>gYrmR+mlp!k(iP=ZWVJ&Fav8I&Ft`t!yeFt z-0RSX^~N_BsYk9I^y)tJXf~Uljc|Q4L|Daa@LOOJ9^)gP`KQ%eQl&K4X$nd_Q?hFm{X$C zw45)vz$FC)QfAW~?l~Anlf*A3Non}iTJI!z2{158&^#QL@-?PUI0LF!?78@E)t*Iq zW;?y~tZvU@J+qx9JQIM3H5a?o91r!(F)-B}7szNx4|igw9KL?5nwJDo2Nr4&d_Nt9 z^*(%mVi4b%_zTDPx*JOg-%$mLz;ys2AkqUQjnzXu)2^czfc=<_mUqNqzn$cv?a*gI zdvQIl3C{C^~6uwWnzpsdrw@f2ULLW!5z z;6yw^$(d*itdbSgrkb1$9*T8Lg%FU1C@mbgHDjB8`4{OrYOf`>&PKqQaeddy-u02+ z_&@EeHzX_M>|Yfl*26c6na89(vk%^L8w65P1$^F z*=P7rI{%l0>qaE?p0R5)`=nj#tU~KKgZXI8DsJFlfgI}s=bqyM5 zv^(bM(=KX$P10e2;O-ne$Ko9fz@{NdNhukiDDg>l=T>sZ3p=b9QXp|`NH#wY2PI8RxxPNQ6lX-f&qd28FTD58|PwvMiCSPl$~ zUzJT**r7rX+6pzOu$Kxtw{}|AUy!E#aV_2`0cJ&O+KQ@ev44xeHgIuL$;bp{@XWz( zI$g303xur!Hz@vF@)=n`ly16oH&02!Frraa*t0p}N2Rx&rFcxCkYwo`uv|jQai6`D zMy6e9yb35946D7@iGG$#=L!1O#xo`YaI+>n0(YH{+_ww_3a~AxoSK2gp#B;OO+%YG zc7&`%5=*T_U)hz}@sEim`=r~T;G>{i1K}bRBuNq|2#RX?qzcBeO^q-F5OHmeeNDr@ z+2B`Ed3kP>+lQb+JCVk5xDNp>P_+TKYAfg2bY7E|ag41{B5R3%WS@EWZ`=$IX8jnRNA_=n<|ot4|S#WVa+E^%^usopKJVd8ye*r0Xad;C+*<-$}o z4t$H>(A3swiy&)!b8GNJB5H$;cYR+PEdT^`0)TK4Z@NQ8ySSddF)!CJ`%GPd1b8lyKgP6- z&ZpB6;}9ZBRD}{zwnUWB2wN#clqB&f6D83BMwD!_WcLN!p_eErEusX}bfqncH*#*+ zN?7oPAS%UVwEYdo+Optk$c8s8kG@ryv_1H5xv-D%UvXjk;eW%0_!7z4$kt2Wlnsly zG4$=hO4wI^uv7DkA%}cilt0 z5=r);r9{krITFeGVW1Kf30F6n)e9W-%bv_`Esxpj7gDC}V2Tl_E1IKhI zg!c0Ap^(nHW{0NSms>N5Ojkib&JDa}@wFBN)RF&(DbP+TKF5XTTuWw|VVfe?rOoe2 zNRF#8FLNo>eB75bWl_>`Appzu$8_cQQ3E14yAoyP$cI16Jl&t`#dO*0$bT5cI%`iy zi8ecbiXFJYEVY-TyQQ z2iyptb~nK}!0JmXc;dc4{AdZjItYoPJ*bK-H54^e1!V_O)h*LIRP8%5I7ih81d{SLzH*3XXV=DFkE0iEn%i$wyoam})4fAHCyaq9 zH7T7rv7c$Dw?sbSaJaS;4WjrQziIxtyMtAR?vAcRIA*GfMg}bTK0dtQ0%=a^YU^R+ zhU}j7#PFbWZ#RwHJa_Cje!l9kSo_AQE<0A9+YAEA38dS1XiKPTeK*=FRRfc^9iZr% z=W5($8bC729FWQReimex(GaP5KO>ix7Z)dk!t!?5=26BN*Yzoz^M#uF&`cNc3&_dv zhHYKO;<68sD%=pjxuvC}!;%QmQ#`92m9`VndmR#k}l-F`7D>(G<12`H=92)%Ya_B^>P_LGPO}ZRxipc|v zjHzaw>A=+hDQ{lAeqG8*p`0~pu8m%gh5ZtE58%0|L_2^7hiH=|!-+%n^xM))I#@Y( z2c;{qcfZ@WmmGTZt8wmrRjpsjDgwL&Gv~~HiDr~Owa(oqxCXG&K5gHpmkh(`4=0+O z3%TmnpNVdNUJ`7lFC55nuD;0hZ)KC+zI@B6j($v@yC3ptw6bY2O+J{$&@z(%4B8k! z@lIG#+T{W42M}ZAH1~rcSN3tv>k7-eoeLcPHZI7x{ag^{w{pRXxEWm@o&W9pIu}&r z(l`{-Bd=Ei9ew5WHnsZ+->x(_wfnHHG%VdsEkCF$O-p-I+sC-7@uOnExvKVPS)B8@ z#5PeP#7G_6OaRG+^SkEz*}w4W1OrR3X}+4GsdlBvvp*$dC?;Ck2*#$__@43C`y#ZVgcaRI%GOn(l0bba2VhDnW|@tG4d32+-N})E#SEnI&;($nAta zf31zb>AsOij~0c44I&(Bcs}D!6NMvtu4h6kJ0}l4z{?6I!vh^Tb5S}CXlBb*w7P63 zUu)-&T2X9$TGt<~!AbjAV#3(|s3*LW>cfK2{qLKXa^RISh(V6XuSt)@xAawA!I;0$ z6$|KeVPrM`VWDH2a!Jm1_^>k%?{bjwTZn>DDnzB3icRymS_1p>L14;(kT-wASVg4?8Fxq zdlifWm0J1-3@b9)D6tsBCw@Vh%{bvM85*g}iO=fz90y)=eImGCu{;&`xxC$cL*Pt* z5k>THn!UJXt23k^P#sxdWpRP|>RNeqEMF4~M8iL&wRoQaSa12BeFK;~Wf;Q^|Kgta z-0dwQ@kb1WA$g2#oH+uGK42^MhFdWssme2HO(>-}tN!W}?dnKjAjaB(V?bKw%pZ~+ zM8M!3rAcPNI7s}lSUZNOqHULX1C|sgqlRoshT)@}9I`cqY>ID5SODomHr^SswQ|~S zcx1CReR6+mnsj0wy_Vx#-IZ}%XGH?a!}@Nu|F?I-72JZD#3@#XW|m7s%#B95Wqm{5 ziI86nGpl&P_fJH?4VT0GZFol#OVYyACkxaMC1sy7#ie2)}-!cKTo7M7&xdkeY` zIrC?4$qJ$eepupyGB{vMGB^s?;%_#>vD{WX(`zgG;hC_yAWPB0mq18T{fZh816Yy@ zs)&WAEVL+MNu5{7hU~_u2nSh-MHcGP)lY~tlt$gx+ldM%f=>n~AtoZOQex@~@8Rw{G@ zWFUJW%S3iAC}K`WzBRI+(y_5a$?y&S#4eE+t4sW*x3-!6q*3TsTuL7LwU>8ojs~`@cdL4074UR4LMJ&C&UNnTfR(& z$uOjOHBN?otZhEBW|b*X3GYYv8ZV{X~JX)|}vkw`aB_rB% z9JW~OV0((Eu2zm)ES{d?slK7?rtZ_zJY|2Hp1!i!-6o@XxsF_vp&qT@787^t%CzRp z=BM`AV404v)-XO8rACEEw9yw{eI%M|zr)+_GtqqtOT5aAcBHe03Hy@K4heaq9WR26 zcFgzdwc$6n+imw}Y{y7yU#Lp!{K#7IV-p9C7e8J(m$V^yRSHf6>aBDPg0m%ACfcLk zXpVa9H)A_%_MEZVe9eZr@lWzKn>J+*+RT>AxF>m;8ectJp8f2I{qoM-1f8YV=^&9D zNOLx7sN`Lerjjq2f2ep0Q|UTxbZ-k2wt;rNQ;z;7j;f2xR!tEMa*%^andIF|XltIE1BWOmF3BWb7$4yL`GAlktI%{>b>vvrx@Ea3(z6Ye&}YMQ3A zulsG+{7CxxZN7Ia^yo*Qp;w{47$_tYCx;`$2=_EUusFc9;nxGKyw|j^VOd*?0qi5T zt!%gtU>~!mGFO4ibDG3nxPUtzE+KHBmlAuua0v^z*nH-2;Ya_FL(he$vm7o973zTt zGqI=n{%V(aPjyvBI(<|-M7Kt7;`Xq+)wY>=ce|r|dlk25K4@jPbZ=+6w@LR_JBxi; z?PjNXVIJqnGX<}+yXD+nV|NqWz0&U5+- zT*~i$$KFY6;vLFR`Q2|>g`zRuv1_IL?$gD)O}#JvFMA;*dS&m6r-~QX^uG9ly%^?; zM;S%Ak*^hvJl^|8++a5N*N#%(npO%*we&N{MMtW#`(F}LMW-x;1~@q@z5q**3=gwM zjLxg=cVk$wq{5Tmv?mq!qGPz*XXimc&Lb$Z2mu^#mw;~sWmBI z%|2-5T&dpo=FqN6(-VqNg)MoSpW9keo$=Ye&xricYV@$|ciCZtYJMX^d&^#K}Y;Yx@jrX5GGoyc;uRPUU$45JV=IAF* zp9&L%$(6(mxdLRVPyr3<*N1KITamlz@YlK+&8QxGI-HXZCuaF+*qv!#k)E7!)5#o%DW4LZ##H5P(G&g&@0Eb+ z`7fxzGwK-sQ{U$8d-`(7O5Sz%!9$0So}3T21@Cfit`7g)ZtennAF#XmyXPBQ!}q(_ z3{^KwWP-Fi>K<+nPPvja!mK=A2F7uXi;h2}E0XRhEBQQ7zz2TUAqEveR_;Fu1l~YQ z@^4UH#ZZq4%tt-uC0&!o!c=hDeFIi?*Bzwqx#JDy+^Fn_ZSms4Mkj>bSpW<5U^`0V z!Mu_-Weu~-ZU0=VWVk%Tn<2!J4&2fD(yh3Y@RpcUh9>|1X_hw_Fm8o^csfMSw&8<; zUksf;;jidZ>{5V5JNW)K@&$%L0F`96FrJ$g(T=R`Be~3x$f}bJYnl`?gz_Lzw=zhD z2za$e&076G_;=7Tu5f(U6{^m#^}n!1{uL_4wz%EF@u&Nu+dE2fwJ- zKO=0h1MZ`Y59TbR)z^5#yF*`-vw^{I{{rv02t@4@`bN;?p&07MX#Q*3uT){Rrq(gD z9fK|+|pB_K{Xi$n(3JlG?Kft9JFG=N0hHL!rh>3Sa2CXTJ2#ju1dXAH;~tk2r8 zPUCG5+!gI+uJO=3fqph)xwx21O)+aqGL|dR4)tB%gu5*xa#|JBjxru$_rUH!r1mce zlqyIwnq-zyxM6Ta>msL$Z9SA{qm}EHJdWhvRHO=Xu+cs>6P=nnE|Y*YYzq@sv*V>1 zZOz|C3Cw?g3pY;cM3Qi!a+yAiShcqA7G2O=xT055nxDQgUW1=xIM)D9KHgQFqaEG< zgzb=tnK|4ZGIAPHXy-eKgd+XEsaHaD!g3$~>8~IJfgS#)r=3Ry@`nC!LYj2~fu{;a zS8*t27f&txHJ;lXFsFi~;|M4ZAD06?g783JWg=qsiQosDsYD+7F#8~mN-c;yWe&?Q zJN~yM(_{BR_9c~&p!=e3aIt4Fy*Z^^&z{{fN3bYPR(A`LN;}rm_m9tU&=j%)sYu}^ z+};<@agGac<2ugu5LeXnY@X{fuFvCRwUgaI$Vqs_iq1+KPiKY03Fg%eX9Y8kF4tKh zz`CQ0a8cj~N+5MvJzO|@4elhzMQFZRU!RRUegmi|NLkG>1yc{G6Xe{#>N_OY&ICO z#ooy*zEQI^8@yXoGaLN$)8SrSkqdjJjB5!`ybAf4aLUuFEbL5WM}JeiX*yfpS)HsJ zZC1mP@$pry=19H92Arz%Wjj<5{;+!LpaOJ-Kd@f8G@L|XOYeR@X&l&_R*~GxxHpXr zxWEz<7&U5>J%VBJi30qr1&*ULWb-Yw9o#|Ryl(CNq&d)<7WhL8w&*qqIGxg)MIw+d zKI#UuwzFE9_c^;y`fx2{`vzNKq+u82z`Y0s1YbfsaFe-oG9QQ$h@nrq5?y+GaO_4v z#@T>-(lusr8pdL$d5u8$+n7TckkeY1>ld0q&L&gfm0nTTT5dH?!g^?Z$sFg5#mQ>z z0p&c?bal4mjhw{7t2f|kUt$1BNWHbX8>}vvug=;m;%CF1sn%souA(Q;$eN!2wBg;e z+)Ic&uV#_V-`d-+yU;f5hnQ zt+YcZUj+McSo*teVz)A}>&4xx*Mo=(PpxubrS&R1#Vkl}Nz*XEPNEsG^1>O823TU+ zb$nd)1^`PW`z~9<;3EgzxC`8AhX)j8e~e8QL91fsfQ7%zHhEt1pk&o9!}!`-%iPS|B6 z$O$B1Nz)xfDBXIk_#5P(J@*g|xBXgBcJSl+b-x-$4FQAC`aa6mV-~^NvOji$YF_tJ zlf(-i`Rx{{Zi@_)U0ZetMOcGnyP*%eOKzwn=|Q&Iv=)=zrphWNev z53)noK%^)JDME6!-z6>49RE zeV9fhtq~^Vq&_mrWHU;m0*@q{)2qW{H_}usS!wzs-@}Is@fvett`sL?p&z(WpO}fK zt!WK^4|?8K&9g1f1v)1^>UMi2oc(8O=ycGqO90MDu}c#xuUlLniEqrVS$ zw2!`kmmc)MtNTFk^1re=;9mvINJ`k{9nb%s&F`Wz^#M-~r~0vOK&Dc?Na3Lyoyd6b zMn@9IZ=^|7A`~nKTQTxUgY8-ZM+2-icpjtZqiY3h0O0*@+ErtJ~ZM#sgi z(H}&rG!| zzM1;c`05aiK>sDFHE#Q)c+K9hO4w*bJu~&pW8Im`d2zuWj2Gwn&uPt7Lf>*`+&_0x z4|-U}OmvfDWN&l*eLKjf?rI;7_Q+$cxf{Gd3V(v6xXXx`s5lvqwrt$>NC};MCzEw} zhs1%)B1xi0%uHR)icxT%%c}k^56BOgi6H$6k8Y26bbDCn#y(sU3+JXg_p9=ITFATl zBGYfh+7Uo{zdg8H01mDW=Wop1u7`@y3gbZ0DH3T}+HP~lk>#UfL0DN{{4a`^Lr(~gUY?9B6;ED`-2y5CYiCGLIm6@J zhP0-~3|Z_2^WS7xg{0r74-%0H>i@1OtNR9`RU={fvmm2U!)n88smd&cd9()6zCSum zi7P3$Gr8yB&QCu0%kPeVSo~XB0j^-l3y1q*`=^~NOSVforSlAi948ZHgzbBK-(Clw zGiL1GzNi1KZRF2uesBLCOSsl;|hAhl`c1!mB=`SOoUf~9x9ajgkNA$P-8(yiVrt>lObZB6e({JS>F;{~k zX^^~`5Wr?r-VmF;>J3v)WD566s6#=#co?~5tU*G<+`Ri`rD}A_!b*JXipV$5U-1oo zPF#LV-8Ta+Kb6iMDy~md_M{}3YGoxtn&_m$ByGmBdkq}Z=aAkaqIR=IAj*QIVA@?V zqP0Crl9RM8R1*mv*G2kSgSWoQLA{KptPu2JxakvUe^e;8xqu7oTKVGSvv|NX*XVu5hAF z4CV$d*w`l??~2fzjXhqnSaMtHRKGOu7m-+j!sS5`i7B$wd7#GKWx`#Sxyy2Qf!W~= zXwQ{@^?0u60N}ELp{83Zm{cd*$2@u?xR?r-G58=~#kyn-YoOjGg}4=5V+>uki)b>E z%gO72{;5fE2oyN?Og4W9&Qq(y?QG8ueG2$UdSD&B<_3Lkf)`t5Ke2dBj}vS6p0yaW z>r0BoLU@vh%2_7-m9TZ4@TpW%c)M{qL4=Nl_>HppJ3BFGvsQkiD$DM3qQD^lQO({V z5AZI26drR21WKlSJ(qO!(K>x3S7leVCXmiiva1K?-&;+Z-ObnQ)PO$hdQtVETdF|A zcB@&1PImMUx(Jo4kIaB+Ic4?Ho5BOy<6;W$fcEGSZb9vFxt7FFvR(QtK8Ten@R;VU z?ek1B4M_VBO3Hh;gK3iI>vqT$;^R)@%eu-X{sp)lP)jt)nk_lz&KFsu9biY?kFKG^ zESc6qS3(jNMAyDz;HWRDEJf!)SFKnKf->5XY{*!tka?B+exDap^q#1k)s!(J*O&%a zO`olk`I*PU5y$cN4%QD@v7mts*}+KONU=DtT^f;z!iR&P;KIW~TykVBEDWRew%T2PW%k7>lX}3ixx8D`nxSYGsW=lO4yI@L4e9V)fV$ zUxrm-Kx_|oIG(M)R4c&@DH7FDn?vp8nQTm3BC^C1QNhvg{p=u^%Pw|r^GMBNa=N<7 zfGe?P#x5;kD*j$0UCS_zsBYxiYmjT>3qj6{wGLxeo-`DUqm9l6Q#2Z=ts1vhIC~^r znsjXNY(1BO4=nPpDUBXE<4UIvMxDzutqyL;{tNtSV`n934~%i=>Qi8d*Fe6kR4Y&` z%~U{aKp8Me77?|tkmVPCs}Klk>pyJa1nL`j`huYj@?mU`BIjc6DhG(dqw;kwpmD~M zIPlvKb*9u=nL#~6>m)Pfp&_v7mOARj$oa{F2(FMT+-Ks{jG@!9F_uQB#ZNc7g~p|< zbUNRxG%k6<=*y$MXgQ1zWytq^O;Tu!@E1SD>OFWNeQf;vCSk`*w`*-+K|4N zt7B{IGBCiQ0@Y{y0B05*pw-hqasMB8?*eDnRp0mSeID~XGdhyS*jUD_bFi^wBugH~ zdfJ*}ZM5GN6!BqG->Dmby4Yc+!{h#-Q${NRTCHP_xE3GKhBvMSvH271mW5HtiAVo{MUc|-|N5T9^jeI z0WQu5xVSVxdDLBt0bbuRz{Sq+G!Af}dw|zRyksqEfUgPzw99qj7o*vM468XDgn0(= zTpx${at$%VPR-vEVW)k*#PD)Sj+b)}?}^Ug$L zszU<91AI<38k0Z+AYcF?6(eG z;H2@eC}GydaN(}>Jz_~X6}24Awnbo->{C}Ds7O$X0U_v# zm^vA)?Ic8vZHv-eERqL*eW;e*Rou!Q*5G13`6T${k%8rtPl8WAG2^SnSSv`BUO_1` z;|uRez^BGpL}lsW>b}isaXCDW%-T5MzE4(z4%-fLwr7qA^z&e((vfifq3&sj3GW8V~F>!3NJhZ`&3njqF3Rdn&UTn^0*p1 zpiMD9VsxirA@=kUbwu-_I9&x4dj#Gv8tw@O#n7OsulNt^UT$JO;N25egM2F1chX0M zD%U2&)mh!?H|*x;Xp(La#YAb0A(qu8G@Hc`pN%E4fBWp`IdzQxsc-U9**Ff`qf!hp z!OeQIE;R+oD~9-ATTzH1{*~~UBrCdMNjdoC(NIXTi|{6myaPL885kBjOvg`Xd}xeM z*_(%nz~wg>+7(7zF;=U;^1ARER*?`;%)a=D!C`B6k5&}#eE91Y|B2rr{gtm1P_i+N0(o$X6#F z%?$E=&({T2#{Hn(#2{bBXAYc4t+OnYdR15M&t6*29{C2Yh`I-)I6Y*}D@t?0La+__j2@|AE zu}KTBQHv}vtt$WZNJQhUvwh)b8Mye)KJo#YP^d4Q21XG!%Ccu=%g~US`q~5mEK3Ly zXCwMCqE7iyWp_N6N^8K82DYs&8 zPPPXimTgis$T8MGUyCrYKO&SoGd#;FaF*y~{+x}1`AV+(e2J8fwHuDS2CjG4qKDg6 zQt*K^EWx9OL^&=VeEOUyO2Eb1s)%DkF8}NY5F?sL)m;mPkHZ{(Nr$Q2=K7}r?G70n z6t$<|(gD!8I+>8Z!5k3-M7YFsRKw)|B(`|?VQ{{;MZ(?5Z>8^ltqF`ZgQxS{e5FTfi=DT=Z9JV@wPqlm`D#Xy#d=pnSTmJs{E^7Ou=!;nr5# zyq9j7L4ix(kb(r>&7}`h z2y7ig2KX-=Dck;PnMp3IPYDt;9HYCWK9ju!e6tMb%CE$xG9e#V%Pf>owcU!u@81|* z>uvV9$ep4r1pe&%|7@S-j|%Z}m3v+F-of{!%z*x>BhBC;R+lWD0b3Hy+<;9Nxaf_m zEa5>&IjiuKn4VNSWu4U#qg z$C+uhCL5%ThRPge#yd=@R)`Ug46(8q5qr8WJ@B9O4mZzYQnj0>J{E7DI1q16{A76Y z(CfnW;Hq$aj(As9bp%7Zt`8Epsw)}#xUNl}Rr{Gq^^|pnrx*-txk(i(V$DBU8o@Vn zlPU*Z>t6OshH2Jds{(Yz5KC9rDi1(t>2G4?N(Vqmw5iIXS<7sy)B0iUW;RvXHfw}y z-^UKU^sYsif~|nV$s9>pRdCQMV8hA3vX9RRl>ATj)vk7xwZCTfK=wi? zq%W9dpDF_s%ehr~T31X$ST?y4`{BX?KOeMXjB1>;_w`f;Se`CRWJ$FY4z=a!AM)Yy z^s9Y)j_C<~)t>ajwkQ3j3Mt^iF}@X+LGQ!Z^}_yFy~-RIJ}L==wS}3pulax?%Hgz> zbUrv{4{*BFJO)mkJE!#w7=R(KlitgEW>PV*mIP;7YNx7Su$1D!_C(sKqKZg}HK+79ev@HIOAs@_VO zpu~?)NeF>ADsL>m&;9bB!5Eh%NsD^Y!TXRWMB*L(KI9Pz1~6pBK@dEv46HaV*iCL5 zq>&#~2lv{(k9Rh>b))H>2QYJ=glJ5@tK7B-PRaFRft`O;P5Uz*Sme`YD|$6!JYrOG zrLrYWt@8_tr<^T)>YaSdy{6;P8SzXdB$X>mIfE4k%f6DmAQgdrX3XHXR3gYNS(g<# zPqdTHNbJ?t2kHkB{oX3<_5Zs?&C>?aR9I&T=XL~tRc}hP`f5|JO%mJn@P%i7^|2nY zMFFdCid?w`&Kf$yt+U*oATAu1ia3#~UjdG^$B1Ter&3zDQ!Q09OcaRq|J>Q`qH}dm+a;E%= zr(YR$_~oh{wj9Q%`KxryU&J&#tQN-%L^XfqJR+c<=C4Qd$DeHedTjovwnwwq>%-xo z{I2`Eg&)GVdE|5sV%r>^Z~($2O!>14DE33)aAqNw7y+HN6~XQYorY(*wyE`bDlE-; zkH1Sj%jUddXE4zq1iQDG^I3fE%z5E+H%x}Jrb_aO{1OhS=)>xt2Mtgrl(a6JQ2Mgq z_y1E3%Oq=a4r>dA%MR)>D7~er1-H(4XE# zIGOf@YOHsc$0`cobv~)~J0||RfD))Qy?P0)@(QW^MKmWab3DV0qKY)0~dx|b%a9G{7eG1yW ztxZ^H@UJFM2MN$uML<7=o)-{3RmIpcUc4%_J3ANVfRVs3BgCwhuE(D>O~a>*EE|fV4_{% z!Q-ssK0jeWx{Q}O^Pgvz?YAuYrRG1!J-}lp1e+g?_+rte8O62EWwPd~=@7yX89TYS^-Pdr4%NHKK(cdy@Ljp&d; z`fQCL5`{(*cwLJ=>H^u(MWU)A?B!H}lB*Yz_jIlyNe27HNJ0u^(R zL#r=9i|Lvw0h}WT0JxkEW=aO&0~su+Obf86VKB_sML$8)5xX#O_v@6n4BQI50Qv^* z{-TMh4mmJ}RrSssSAy}1xk3Dt!RrNq_;?w_-+2Tt5VSvnyaexyB5OeKVu3UQz%Tku zK=A$?!5cZm{~;nc)FNTwG#`@cId}!XL=WE00+ET4+kM<7gEfqJgZ+9}M~x0H;BFGi z8~%46Hn72_9-2Mf*mKR^c`cvI^!V=d-pR`SgFl-ll?nZu#gw=&ox_&+?({ojO#I+w zH4fIjcOL&m@_LXQRhcyr8OQeUHNS`;0`Z=^X!EG~r>$jn2XHWCu!EQp_qj)9;mzJVwDSb9G;?s|3@WA&4pgcG0%lqA(Wh*m~1lY*7Oj*s1tWADNLvO52eo@!?Ym-B|4y{W+s4M4(a5zNG z&0ClLyspi4DIuvfciFo1{kkq#o4ilgg=8Ypm7{(>qAOD6zvfyDk$w95`L#F*`{~ax zQTrYc*Sfy>1t9@~D1)`rz3H8H8*F5;a`RL^OtYuuc+`PHdhx8jAR5ai_9>w8gu0`a zLBBJKGt`eWLMd{jQ1=qv$aAsMvL(B$6P<-&B%D>;suThnVqpj;L_e2YSYHLrK+s}# z{k~d@NN+ZuKFf&8rkZdbnMu%kQ$&W&B-*iFvXZG^PtY&ZS%RfWUGH0#yn1bN!fuzR z?e+k%uKdx$H9^$BNzF3}K-5$i=8-HBs2lm*(!vn{#dw`MePTNDr6n`#C zC-f@+bAv#IQ-$QZY#eL9%+=rNdcN0eNp4_Idl)4QHB2WC4P$$44$#W@8k51XSvK}sU~A>36Cysxo>{E@Jn#TI0^7pEu^CSmBP`A0%pkbUq- zX?y-?_$}<@7aR^Rh`u^$><0>**?j%)2ZmHJ7L}MZu{JSVJZZ6@6CQUG7%a3sSy`3* zUWGZVElJLBe;H57J5uvssYJy;>wnHohH^lHtI%{i%nkaW!`%4I0F5{rVWc8D#$RZ1 z^Z$}7I3gkVd9Koi*^#3d>Lh8OIAjZ!7Fkw^lAb-yGtiK`XDjW6JKKF2Q}pW@>|(5u z>V#{Gjv6x~q-;0Ga9N6BN;m+lvAexM=Y$bS=KA+=mY7Hj%_v=OpH4ihx+XIW4=d-I}T$Q*+`sshG0X3{+*<}+@~pSW+z_J zQY^_%yrOoUghUE^@MBs?BJod$yrG`hQF%7a{5q0Nu|M+Hs`Hy7K?(lqpVhCA@}+)F z+q3v9)Iq`oqxpt%QAabBLrF8_VRrl}`z{NRe)2`u@>EAH&)BcxY^LGNE*sZ)T=8<_ z8|s`?M;Y`5W|KQ`+8=t9!Eq0!`={>5I@Wwo7&hNZIwo!>$l631*kPu;OTOix)en9+ z#lfB4t2l_tgsd8D0?L>SjMCP6dQ+uwZ@X%wnTdY5ji`!MQM;y6XWW#$;_4Otk)YPn zAB!JQp%^Z&CrZdI!x{4ZD6v0TY+njXG{7zEqeglKJi-6<&sQMLW8n}AdZ@qy zKc?d55jEbf!&>^;x6uswsqtDYOW2@#Fog-!msFdpst4k2A3i>A{WR>g;+1=ZMxJ0~ z%aXGi-vM@p{2SFtGbo0fJp4=;Bz}^))OySSVvL&JtWl{_#*;)!XMWl<+nd zul!9F@g@dr39a@P=K!h*9Ox*rW~$kTGLL==sNSLRX~)h98LBxKykdg}E&)OcqRP9e z{>;+N>MY%)0~iJK4#b`l_t4#ew}i&kiRI}hk+*a`Zo6ler;l2ye4T8ladRYN_O%t! zMsGL(P~&Dq)weJpI^*=Z>(5{2w|oX!Z}jFJt01$yigkyYwXMuP%0Hpps<-ki+9ZrK zRFr5!Bv$og->6!*3aAP}kV$pzTgRBVk}>hPuJEl#bp>&!?WEw?E>m61sdbkrMYM}k z8hXhB%-T}F>7TyJ-oeNakRbGoU$8<;uW6vUqdkB~qOPn>WLzIum8@X|0cTfFHGe}0 zsv(?6TLS@2g`|ATw#Jk+`(^|eaYymfF~a`BhsxB!s%rlE{nQfW30c2shDKS#d?V?| ztN|QVnfq9u)ydqoV*6p~^s354@z2I-L?$j^K&SL=H-aa%hjpB7hc}abodDrKHhCd^4@ZKBwV>4b;GVi?W291zQ6db+S=5PjsUD*}n3h--MVo)8^PgosXobJQ7LPVX-+f}4cV~AOpgQ+a(;AGQIj)(D_PyNd^)7*YT z9M+$DAP%6VG^iQ~EE}wV@q<@}W#;}sb2z4v_v8bOt2U*ukHPg4#h@`#h5qzuq(9S^ zbldaBMeRP&;alID$D4N5hAaf=ucnTs5Uh1&-`dYmMR+e>cP&~E$5ae)21dk>6Mt7C zFrS$0sTeG)_b$7y@-q>hN60r{%K)lTvtn#UIB;YsBWGv`N5C1s?@fX;hAwtaO_W3;(cv&xiM)rZ4U(mWZl-i|%h1cH zK+Fv_D0EkiRAy;pFS=5xB~u-#dDfQTdbD(zRX95Y1T$sw>xRIu%>@D55aOO60@xzv zh5%gnq7ayugZUC5K>nJ!TLLl$fvyRD*oG(WVVF{}DHw@UK!gbDsGSzyi>abxj?sHN zz<<%kQE_OTgj`{2aT?f`4uf9b%&Dz*)lE*ixd+DH0qR~*!obRe&o)!5+aNP*gcwkr zOOIVx8X)*!cmh;}k&{4SALi~u!b(iW2W_`H5fHhK*|{u^3Tkv}Id5`AJrc=0We+m* z^x>+%tkv)wT+EqBLrU{&h%TCOo=n4`qCh{+7+K9!@3Unh>(Br7IrP&)-OZz2{DqDu z6*n*IBnI8NzB$|Rr2Ng%jwcw<^V&{yJn1W*KyiVZ?6MpqUX_1gF_4394JqL{MlE}C zq$*znSXFH;n2nMxOa5aTyyJ^2Z`L%`{ArvBO+V6FsKCar{*?xk+a4BI4xr9LG5sNX z>kJ!7wYj83CGDVb>@`E!V1@|sYld2()NY~eP++U6<3Ao@T%kdcV0lSIgdv*4FmjIj z5JgkRr&HV`!>!9C(l97udvTBytMz0;SlNnRO%dWUH;Z~V-MGcyL``X_wqeD+X_I!_b=7=d4{1&BotgW+P@lLk@133VJ#`L>tC!Bt`BEG#x}M&< zF!y_*b7%s3@4(-dfEVCf5qz0HS`~#_9F3|_J~OH^2fN!#g2nYF{4!eBCISpLKVpg~ zllq}*>v~P@2dk~uFl{;6ljYs#pFL%0*B zxi^Z3pEXcI5r39~KW~b7md;fZa=1JpbdHUUn02rBz1y@ORzTG_OpICzq0#W%h*Z8x zA{8p{q%>&yZN|+wlu{8m&eM1h}>}3h4Uj>{y`U$by~|9EdgIyRiY}n zy^LY8;EZ84!cTtLPuY%_rys1gUqb+-&>)OllvgX30sOw`WT2(X+?C8$>joA7LE2ib z;?Je66}q0HhqF_Lxl2`#xP)4LGZQ=uPoVT%H>Y?3ul`sYA+-*Hvo<8DOH01d-G~(* zqWo5<_}h-*U(CdJxP<&|qYA>KQ>W9`Yvc7sz&-3ncelxzAs*8j7UK}O($GeOa(+IL zwnufwa2q#)G0H>K0cPCD%wNYpK7VU__^s_RHwFUNI zZPXs+Lta+h2h;XVs@n~}HGVhjZgRtXH~hBNC~S=WDW`|Kad)id2|5P|LCk<#*9q1A z%MoCb*7dBQAsuqo(8em-myx0oW$5lnbIsv_%D})t6(XOqL!M6cO{Q;D*IByyQ;3iG zX`yiFIw*OK%-uLpu$cIRhfy_KD_Bvb_xJ6qbcp(aL^Xfwy;A>8ygDH%j@MY7+)2}T zL|1A)S}j$yB6`JXxQ7-|9S^dg6I?6UodTO&95=L4=CZPU!(UVS>8n{l;Ul6KuFZc~ z*n${sW~B5F>6l_5TOLbEI5qjiMo%jJU(R18<4-1oxxR-H7Z{ef|Go-HW#W$OyJMq~ zjL}Zbs{xRXigC6_aUOvt@O;mnr&CGuIf1GGgpg%K>ryj2MxRQ60UB;h(Z1F-$AyVO zgps<|bWJJknk_&~n1vga#m;N^_ynx~=eyTnx z@R}Xd1Iu!;OT)OWbb39&ez(kye6isn6Iej{{nK|Gr9V}&56+9&+XUZ z1GngxBNj?7P@eZ4SfBi9g@YU$4US79<|OagC^6No6>ik0JBDy1=h3c!1;KVS;D-!3 zUGNd<6?_=H;Dbp(A|Ask!3T&4K7fgX&?8b0b^xXfq@r;e%g(e42%^SDa`1O7mM0^E zA++`tr`0g%73v)vr^e!%gU|*%wysQzUs9F2bwrYIyg!JOHM=h%Y*7uUozh%< zooe!Xs>$!ECcjVItAw;dk+3|&uWQ5Q)#36gmTi1X7sF4c@SO0piC>(nHXELjjS6-4 zA+DPKBU~qeBx?-olM0#eL-D19x@H}<3J7me+537{rk~>miWR;*T6*(>-i%-ES2^qM zWa;I~as80d?ichH9^Ug+w_M8tTG4ykP{aQZh;BFz7mh<45A54_B*Wv>27d5E4mIbJt zsfAC^*2=bn8TcKbZp8QuR%U1mWJ}B@RHp7UA5nY$f-NK4_SS*!cIE;R0rdD-ARNon zr!bg=v4oGoDx4_BB}ox$ocJ6;0oq8i%q?6b5k^xdx3=c{Y=yqx=xi6@Yu$~Au!C+X zr#3i#Y`ROzqFC2LcjF$e${)=Dm%;d~R9>fY8Ww9tin+AG`*ds<^uw2&JVrq)tb z02|+Ptfd5LVzbTagj>?Oq0CUFE7g;yu*Bc4STbjFS?Kj18kO;B?l4AHN(ajMQ(2h z>}OK_(=l`5U1F8s#%ARk0ZL;XDxvTGoc& z3*BV|ExD2Av|eVeZ2@WIR^Myf_05m#36hH&lWq%(Q;>&=hr=XW?tzvQWIvYE!}5<< zizeN@c8@=7<2@4{&tOhs*n#M12y}yx-L-BMK7>vOL&MXx)(E%}I^0C-zs%j(F=GYF zh*i#*yQSIONe+#xT3~88TAXSx%>aemSS9pixKgR=O}F%tfUllvhI;{`1xqL&$S=O{ z%dFGI{-}-k*MwMrP(9~uS=Yo^-NNRhf~}Bu=A*|9>>V=_2vX>J-fJ6B$2`4O^OQ}H z^p?;;kVoVzc2XJ?q>4Y(*F3JqKr#^8v<~69#IbecV zPuT1wtS1B6S*RnuX2`@d4?%^cXGj4Vo^OQ0{z$y%8Pm^`7%w6LOP`&pw1!MI6vZjk zHLSW!q+vC6)y1=px=_f7k-E;k3_8Y4&bQ;47aZG9E*Z83E`?%T_@%PAan=;?Or+^j z2;FirunJs1N8e2f3ZM&&!PH$L#dO6yIwZObVQ$9Bpc~IhsSpKXZ0B*E$rP|0c{bOG zA#Y|jQ2-i4w>6ZR8vs1|lnlb}Q{yd@%1;H~QPyO}=|pv>X>0=f06Pv}BP_aG_DS?i zu_|ERJKUe-{~J{7VBIZa;=uC8JFFbRvSHJX*Wne za^D8mT$ZGdeTe&g#WIpIxiT9~B_PXRwd37U99~ zzCNjQVLJj?;PE|yD;&Ootz(60p+u_bhchMALVFiR@(4zNv3ooPR~r#}{n@UkS(CQK z*`M!vnl(w-5Z_+tc&fI}cMP6x`*W70H~JC42@ZER3}8|q0^gBY0Tn_RX&UAnJUvpM zx+ZYUL#dKjT%M(YaORe0UsXcHir&ypDx(`I+7bz(ZCU3Q2}O>y3nLi2IuOYD)WUrg zAuSTcF9MJh5MJ|F#=HsmI|<-8+~v#5)%fpTuZZ~X?$w1$?-h>e60DTEAcqx67P?^t zE?pw5h-d2V)%lKI5#y7I_%mVko$3`*Mt83c%+;&USJHa62bln>7=t6|7=*x-1S)AV zZ^|;LHa{VmH$1gBY6?f=Tr8QHAvz7>ZBwu)%L@%VL~pY<>zpZFO==Qwc#qHgt2U8+ z2gOvs{URbxq@F^tw?G1jy|n$nuD+WYlH5&Hndbl^9fB2GigkqT(ngkbK$ir?Uj4Cy z5{Odjk`{Sp(qc~}t*)NkRE=7*9YM(gXi_;BE*uo)%LoBuRJ5Ujy=5Mai}M#hR_RrM zSpB}ny;pOc$RPS;iz6PxO9jZvcZwQw!CWJDQkAvl6e$hNw8I$)Cq_U{y>v&2Fxv$u z<0Ya}MWjxUPXTi1Pp~JP$l+P^iz)%ZWVzJj=(e|2Q+2qA@u?HARV5s?b5i&ftH64nRdK?qNc}BStzL*Rj&mZ@6#S_ya|#DHX1}cc55DM5AAOa7s)adVeJq1P(E)z5e$dl#R`+k(w7#yruMN-GXFz{&gCibe*25meVaYvvI!_Zz*lZ7ii~I z@s=8{;Z{xX!nL}k2|jyuyruNI_yV6T=Js)lmc*wJg6nll2k6#o;%(*b*3x)O{mZyj zU%0(Nr8LFBmNN%`!W^vN`WIYp#7{iRB)`@#2pa|@KSwlQV2i}ol-8S&U{~|g8RmUv zL@RGua&kmShsSiJJ?7sN&|Ucb0gZzuW%tkdKKpi{mvE&ETZ^wWfW_^bj5vDO-0ZfLF5Woc`jB2I5^-K@*H)-AfM zZmp-aRmc~$*0{(v4P3+if+QC+Rz+L=xQy&KA!GpRI)+AEL{+|Yc0fBB&juufFH07* zfc^5cujSo1)V?i`NyQYXQQ26$pf~ClOt}fAUK#al(rc`utnNo7(JKoWlQAZ5=$KLN zo3e#paVuFrZk$!npr`)S=`TaXvv8=ITa__of8aeL?;m9%CH59yX=2u(N@&rE%nBvi zlZF)Snuqu{e=DE{PVx^gD(4z2*{GE1JmM~Hrt&U{`$U zv+P|22lY&SCoW!_ua4`=+tcYRuWz>WX7)NwxXrw-t6s;M6`1@k_TJj+Y;W-+nEP2X zTf@e%);84D?Y4I2n!)bLn>lrI@-RRonD=jfhEpqGRs9?)72ky-&n6*5wbp^83i7?P=ZQ~u7uY+ra{cfvpy)_Y+ zh1*0^$_iS&i^<_tBsdX_#BG91Z1t%ElPN^lQ{h(6PGZAgHU)zz${2M za#7^6lk6B;m3^pqWeem|9OgJ6Y2EHN(J$j6<2Hyjo+DtakAm|iF(?6KT)nPNI58In zvj*3~8i}N9wzYRIqU;@0?Fp5+or@rQ6M8hUt-VH%*u}Y%M-y(19_=hWDoO>MP#3TX z)yUs$t-Bp`l_Waj@H4Ctwu&5Y&t^CQN7W%2JRiL`6m z1gIyvYpAq0$2uS@>PD=i!fIp@ZD)0I*~WM_V6*|<%EPgkw}lps#r~j zF3fD;vKLt~<|ktkABTEN?$JU64OSeuCH-W$Z5~*kJ}T6ZB{pnCe+Rrw2WP+$j|6t@ zYwot^yJrNFH6K*({qH2r_wToPwi>-MxA*4Vx1rw@lw~;Y!bvw^8dW+E!X#qb2AxV zZe4O0W;VC8o7?Q{THd*!fO=hZJHd{vvp^P-wB!Dw*)fCWz-aE`M-f8K6~h2wM+#u!q6R65iE9PbLu~8;2Id`Nev=q;g#0#Wh*3LT4U%R-O6E z#X2JmG#ASs)cakXQ70l3u}(qrUr1-D9>z&D9P}0NM$mh0YD%_PviRbQL07Fj0nSs*9J>0yRy`!&|1xD8D+brvc2H-WxvIEK9QA*mMfj z-E8E9H@mT&L)XwR9K)J?szt}4{)0n%gdJhsOMNOv?H5ODfo&s8y)(1R@#i2`GP_t3 z11v9(6a})>EJ+?J3WBBP!J>f2hq7N)&(@mLqVlM(BDDH_vZry4=<~j7)}<#f94OWi z!vO|5c9-481I#*NsVZLqLI@X7f3REu5^y8h`Kmc)B&@$$%Xec&w#>c!g2kAbXQ;rf z`8;nE1h<)me5Y5|cwS%c zo)9CYC+wazn+Vacw&aPKBTQBr@o3OQS;DGJ29@r2yB2c(lJl~+)&lKVyK(3$cUx;q zg{35N0IuxP!jyky(%mX*u$`rIr{1BVJGE}_q+qoXk=p=pRUr<1zQyjTBCHZt454w8 zZd3C!nOP7EaV^*YHw`&4zE3G5Th)_G@Kem?vgFeh110z;X#>Q!_i|=@O53!%7~$nJ z6s~Bm4^lwmTChd(7Ocz!Z8bBEE-m}LOn?Or@fw5ky>}S~G2B6hgk^{8YK?j|qprJK z;Lw|y#H~i}iJiX6c_VIGL5o;3gxauX%vh6gOF0#gg!mgl;%d#$W@hw~`Fu?VoR?>$ zYj}Po?fhQ?2_tIUXc=vRY&#@3dp5uDl}2}>f^kJTuew|9n24gS@J(xt0L6#915m`) zrz>s96Xx>!waC1VM5yfr6odyPyy(a8I(A_4KDYAz$@|{>9c>}WgOW*o%#U~9$5vBTZ6+owNG5x9l?yxz%<9edm-L-y7IGSb$krPC(g) zje2htdSev^y>T#PDE@jZU#}OMr!YfH<^xpFO@UOh4N51f{66L&R5zJY|9o+ZUsCh8x(C_;;W7h}uisL^pRIYD6q!k7&iDUbZG>WgMQE zm9eGi75NX;rBD%DMdJ$yFeq*omlPDyHBuSnFott89dvgMnqjS5_l5^X6@N^g%|dZQ z-Dj=Op}3hp&lI*k_$a211zb?o2Dq52h8!cAHY|SWftOg_RiV09hw82l)s09Diq)~s zUO;s#LUn6Hb*O#n-D0W(rLA|M^b4r&)==H;p}N~bbvF;XH5*%R!z9U zD9ke%Ckou}T_x@(vDJUo-jC}Dp8CrCeQ=h@YILprm{6po>+eDPdnj!_ZW3{}*bHOk zIq6XD$HRA~jF>vV)nFThyr|A^g+aBpDxl<2)p-=^?~FR%0ejT>4E6@^NHKR>gaCV8 zl-vb5*g!)6xw5l=T;lmxdyT;}V9d=LFyS(iU_0#>Taj=s(S89!!~s8@nIAIy#kry& zAlui9f`DvaEeb%kC$e9`UQtH2@_i&99QP;ZdRj({@;yt>| zJrb111RrC?WEliPVU@`i2yI%P4x?ppX#iL*1HhR}AHpWz)lg2x6qK}0m-$GYT$(NU zWYce6ja7)eWzrhAtxf);>@?fgCjUX#&1;h$>!dx^7&Tp3!wO z+IP_A%)SFxIH__>Z!)Nx&Wxp5HvZ=4g1&5FX1Ni8CDS4_UN74EfPw$cryBih1UJTV9YbRYz_my zEe!b9FyM(W;M>E1cZ30N?;P*|X!ug0b@hb~SbleNond!PNx#o8**l5F!X$`UGgv*L zjAr%x9v)-K`bx_4ViWJSeP|URFy?G0|#? zORmdm=~kK1k_TNzOCDe+k{Lr@32c_$)FVhwf~M7Bvy89KWwJCIsNRtW;1)!w_U+~^ zL+omeQx|Mj|8WM@R{f&Aad^Te1xRg`*nw$OMi$Xq#0_|e9C!#K%aX)M1}Zyr&Upyo zp0>wr6Z}e!4&ytJDQL12qF(Nt$=rc}nYh<&ZB43sHMb$SCN|P&Bbow5i504qIZ$ej zU>bUr*OYYF2dRO6{17vQZJuHX-cAT+qdj)y;&dQ3i@GPaRvQ|t_RcBkLrq0 z^<%o?D*WfVK9aV6T-TyaiCkxTTmM4WCwg0Ni6Yof=z6xd^*S~8C)#^>SL^leds@io zt<8Ys&h{NR_xuGJh1c2!BliPgRJ)mcUfRV=yYg4og;&1EUf~4;1HrO<4iH$e=HEw+ z9CyAjWlvY(0v2_yL&NFF8W6}_3K(*iC2LC#1)yp!1yu$UIxeqybScP(ZihL`m#!cv zs#22{u~v20=$@<@=1&hH>bMks(YRO$oY5XJtMJG-Sys3}RUs7dWUSC)V;4S8#fUTJ zt2jjP4YWfRC5G^omQ*uRO2-z?1uw{~Ehzl#VqNcN&A{lYVi+^nNy!012om!+h)WN1 z^ptS!Rj$1_O;)DlenFjZZT^6TTKJ5RwDu%OlR{b3z z-lWhy9CB0bJ+d?ZqzKga$s+v*e(J}+-~~K(Y;<_5`w4A)`YFt*T;8UsP*#?H`eoQBDSr!)8bxrSk~$jnv9IbnZruew|_cxj5uQbo6WKwo|OMO7!K{>#(@Og z4Pmm3)ihRPq|juy8V1rf8gYl=tgF3E{tpe$)%Li(0h8Tou^6XrxLteP_E5?u5IHAL zu^&T0{1eIwQg?5c5pAo|CUA$r6M)gU#`ZSJ^jqDJOM$iq?s&ls$P@6-A)8`Q=!|{s z$!#c8+~o~v3SZB_wz;>+aQ)WM=8wqgzRkUECtm%ZQc>Og*iKZ5A7yQs<7<*ad>cE4 z*iGzym=>&5T3YTz_RpDO{n23M)hw2lHm;!DH+H-#J}ffBGOuUL9Lf+QrR&;5ywwj{ z?mxZAmJB+yH8{V@wRRAUye1sm*U;=e646V+}7auBIX^x*H-*qcbng9 z>kPkFJ>z&D1lBJaa1O55(5)-cY1Lc+xzkb9Y?kG{;k9L%(zbDEiVc~&8n(8pA zw)&obMj=7kmJ?=_2`SI$WQreih0OAA0H48gEy7#whK5<-Dot&U+=gYnS#c^`!1Wxl z3lzQ$mrT_sLYYOad+g;Mtvd^9QKi$JIDJnyPG>LAz-=a?b`J{5R!}J>ka<2l;Y2rO zAu@EmluY!0gM~-%y9Ob@~(v7j9|K$E($PR9F4#H<*IUI(9dh#%;?s;Nk0$M z9m`;HFTT*$W+)ZT&8>>}OY<3Wlb5>e@NE{8!ELQ2-dc!3+ z4RAV@>=beJ&z}C$J`*k>W-7z{$ug58a6MQkQigZxPGkH#w~--1&Ll{I2u2_YnimCx zc9$vU^LeO=KE-sQ&iDhG=!`GY1BwoJ6wMg+4qWJ`SS{JO%M@9z&KW&Y+Gmh3O1m?k z_i@UKdGsO|0MFQlnCmr*rD~KTj1YsPh3=8RgYK0hj2|v!@xp+J5Zg;u6L>UyRAo)g|@}J2?D}?(&x093Mnbb%sV8(Ui&h;_WgGU6K;Q*{J zVjh1UMsSatT%JC_B;Un~`N7s?x3nR*F;p(%veMWl5$O!wx@Fyhbq%_EBBvr>Hbtg=NUxI5e4ecCZi}?&BMW&-v zNV-*EF;GAeP^Ty5EJyhJbQS(agP&50N3JKT$Vd?*bXHmyF}$;b7-|P4?-mR`NV~JK z#`SZtM%q{}vI)*m+j=QJTeb4)8YK&nQBK+@BbZ-^jDR*#B35(A2*4w(@yQwB!@(QC z_xy4Mi?a|RBA^Lvh=67?395z&*8>q|oG}u;%oY)!P6yH?p?p^H37%{eRDsSje zC##;6G?GL#eMTRi)uQPn8K-9!eYK-#*4hK<66OeI{#?fwliIH}sYgHzf!nfs=JiD<-o~5k6~JjgArD z_$gl4>i-YvUydc8wAb&E#cEO;+Xmcv81>_HNJa$RN;jY%&CAzY=#U?ZAnKawmdKi7d7x*kQOs%(8*SlS8PZ4oiZOLe0 z+A!|bLNB`DPZ%IF*PEQ$=gV@YI_-~^-+{NU_h+mmlZ|O2mSnPV#jVa6n+>~C>hP}4 z4r@S=pe)jO7rO1B+bHI;9&w`0uq8^ZmM?^$CS~h-gNjzWH)KV`14o@|((U3cA@piY z%Cao1$5W!~&A~Px?OS#M3s#or1j^9-LgqQ)biT=;L&+}6YYO4lQsAEEkB21zW3IUM z^_vq%D|(Msf_1I)L(~VAyrv7q4$*C2nk`W^=%nhDk#LOh=@BD#$4w0dwXCK;|}P z-?HQ}GBFKXvuWtMpUldcg_=K5_Bea=n*6EF@kxRp3eyY`RUx?~IRGx$5F+W5c*Cj# z7Slb7BG=u=d&2e6czw*SLDrE2UABm-?d7JWN!0m$Bxo@NWNS&BfGr`nh$;{Nj6P}> z9_*1No&%VATAr3COb}8G35ks@76I8zKQV$3)X_pC&zcbZBZgGIZsHoZst5E}SZ~E{ zr~OuJ3)Zj+Im0E9j}uTRbBFd8s|BvPJ)VIR@5*YRm^x$#QKhz)VccK)Jc4`9{buty zs@v@e?QOJ}ky@$ijdIr+g&4^T=sLvZ#dKY+(V2e2*v-lgNUnmkO5MDo+|4WKru%Mn zv)i{9J6VmLY-F7rT|#yZ68C3la1GI|ONp5k8o*M!&;Z1kfd=AF85-!bh-f()Aiid3 zUU;;{OgPae%(l8VL5%4lHH=7xRwo~y`DjLs=xlVOB~0(6JRVpzfSW{_oa*Fz zdpM+!Q6tP4^bim$?6%R`CVdd;cgQkPVW%M1Qxz>I+rQ-XyFtOeMAByaO~=BvcfDpOIuLn;C}!szDlC%*$J|C_6mB-~NQ6P566%CPAM$<#N8Okk z*QN+LU0@NXFK4r87<*VM~S&i zEbm2hnOJfa;Cov8y4W~kq7$c@iem+CWqZFmH;|Yq5pU0jqqj$UBIS#*ilet@){0;D zJQYJCE_DtO>zG5Zjy(-_Nc}n~M7O%Ny4>m3NobzrLcG*=w|1lMw%kpMqC3DEysB(n zDfTh6Zb$RM1!S8Yw&==HH|yOUt=r~MNHzzL%{JhxC<3e^TC>oc)NOX_B}#6QYH`X3Hoy@oMa;{@8oMj zsVQL>RER=E2qW}KO(QMHI?RPoP8$q?3si5LI^AgOi540miyBAVg%{=GVi(>4>h#*0mE?H0huCM&!}113+Juc{;RK0)X>Q!YViTJO)6OL!yk=gTD;jla-Q zq8PXX9jii+I^0#V)t~4pS>um(lx!9`-i#3t+2uC3IuKoRhiT!k(F-B>4vyH7-?%-I z$@hj`rA=QVwuqIVsssTaQe}I->Yz4r5vqg476SXpksz?Mb1cgq6$N%>AEUOc6sm2X z&k)$F2H+R8&`|kbpya+SG9Fgwt3|{SBtef?OHjz9QV9~2T`PHkuw>mzUbrsE3(y~! z{AWaBAT@+XZ3_(4SfvRmog6%HHCA_~JH#HiJ3>zc_|rXP&Ea~cC$MSVpXy;fB&<8` zuL|ti2}Qr#?3&yH6}K}&ts=wfB{AbTY<99*{&JF;ttyzZv0S+FnKH{2!a?CI6)-m^ zdm~>D<)^dqGo9s6X60Wkm6N?KAx)ZTPn_ML1@T%T@b&EEe>w699O*#Eo}1EKuvK2z zs;;DR5<@#K3B_!K9~+o$8#Z50v)7hyvrcG4J(=WiicR=kl7qA}B8;2AD=n7b<_;O) zvcf|o-E_!2ME^>j*|LY|a8ZEi{9yL0DgkAhvps{Qce>Wvz`ar$z~L_|6j0k^DUPZA zkCVERb0Br)Bwd1`GIA<79O;{-J|im^$?NijYA_sGKuAY($r&+NmTH5PXz|Ohv;-Mq zK#Yk$I7_0Si)Y2kQ?7Mq#S$iKnkt&6%^kQFrjCcl(~j~LdX?f_HqHt6kwLhyx;9n6FlLR>uagxJIhA5;cN3({R`% zQPW9*1w@|S&(|pU$VquJIz)eey=6{PY_6KgGjAw}-I|TL=(2WtJKO2iVhvrv{SBmG z7B15)=!%6r8p*_KlOKLVYCKS<${vtXnXvCkNpbX_Q=-&S-E!hAvR&d(mQ-2ujN!cv zji3Hk-YuY9d+9(y@Mb%}YH(a#Wz&^a8+e^{e;27EX{;mjp$~QxmikB*vmgzKX(i<$ zD6Wt{6K$1YK$~sKt1>f^=<4&6p3Ej3bGWkXu0!%LWynr?%I`U%DZfWHD2e-dMeJ7w zeX@@)>8vN_$@>KgIv9%@n5*4|y1hyeS!HZn`>09IVQYLsS4+OTYX1FnGEqn2`&1Lx zIkJP@_J&xNu;d$-Ly-dxiX4jM<+P1@VKaEu{|@Z3VHvUbUTpGl;o%quafrUWi)J{A z!Xk?slS-ELxgKrj;7#-Y5Vd$un^Ytc-zmaFL^_QXWpH=iBT3<1K_QJ2H^L#Ic4SoJ zYJufuUIZl-l1qnlG0T?-9b=X8(KlTu5Hb)LJ{YNEkhyIUg#ZwJ98AUrr-+zk$)n-& zShySymrsPtC&L9tnN=Gup9+^xhs$q;%gJ#0Ot^eDTz*?yp*s!{Tv9Lu?X_79Ls*u4 z@f$D%C7;OLub)#v+5P(Iq9C|mA1w-k`}Nn00(i(rvtL!uF{vF19{A0Q=paS=o~F4j zQiRH8nPCjmI#f0z%n+9X`#s6UKJo!junp^kYx(KFph8N`T|ib{D(~on3g`q&zo3Ul z^i5YMhM%VsBz~&;-!+^K=jm1b7wlI!PtP!T7R=SzdXM*zva>)(&~;x0zi=@qR^(49 zge=Q!Ar?z(7STTmtr4wiQ{n!9H;PF6@G#2E$;*J@};g?}G~=GqCP- zSC?t=)!K4rafe3pc0@9Pgoh@bnbWS~3u+D~+Q@!XMM1#A-!BSy|M#+ARewVl2JjmM0EtQxQZHQz64HmW4^u{@ zmJbyL{CXh!#i`|8_3}GIEOE?N_&6t z0h25vN6ZdZhJxg03l)5kP{6JuYJE{CSfB?4;fQz=Tl!MJq;!8nabNgQI>gz4&(>0g z&*i*X8JJ)@@zxS*w7s9t^2IRWi2|zXw8Mh`hu^k63b9VxqL%Qt)zB5$ex-yBBDPHe zA%dHf)XE#PKUMiYv*tG4a9r&IpbF$`~YTNao(y zVOu^yXvNOK&Fv-eejG{YXnwl2RR8+GHMRugjTQ_U|L%?HcC zI-Q7Yc&O+iW>2Owie6-kWNkyxdstH(u-NL%x`=?a(sshi;x0VbdI7&_pB)R}zfOD> z-sdoRz#g)VVKgj;Lvb-Yz+%#3*e{Wf#qeBQ1Q+7<*{~Qa$yHno`$#$xSBI^F33@tV z!_QMwC)qmaTnl^_*TSlAb1h(SwzZ)Bx?wE@jbha$t%dQ6t%XRHbi}3Bf-kKFloI17 zT4k5C7SO`OnB!XL`V9sP<`)Wl2kdbO7svN=Wqg17CC7L2NEe8Hu8ioQS44D97=H;6 zJ)rjkX0jRWKyNTK74n4bm1GdT{F2BZ(!J&VoIx!_y9;U& z-a0rm%WH>*X1sUg%30of=*k)IOq);y#$%q^+&dvP;->~x}xb~MT{=9o2;)~)=vSPPYExdQY0BmIhkSK8}PhV+_d{tI&QLi1AsiWOkW^5jqcA5cfSlH`w65bO^j3WiFgXIEXfWv$Ys)`LOixn0f|pbqDq^5>qrTRTkPjMLmC zcl?g7X|^eiMmD!&UHYh|jTwzIsZ%=*CNk08%sg9tm)Nrc|7PA@wAUNEd%bb?UJE$^ z067q|ZK4~hy}>DmWfB?xzF)6hV%jwmD#Z7nV&eDn+h z-!p%s&S}vg%rCO_i5{L=`sAwYl`nR7@>rHB;A7ME@tOuhhu&ERDSuUCP;+SC6<~$|s=^BM(68;7HDQ{Ozd2Hr$ftwWxEqq@{ znhS^EQ@$YnpZG!yIXi`{1RFX#UM8R#W&{h7JK2MkcD(sz5qCvpeRhNZ9gEHi`9@1| z4fMGr({R5%lH%LerPGll!IsQpxqp^v;vn8xPc_MXbLC|49c;)>SrFwnhD~xFBll2< zX@#BwrV~UG1d1vc$}+SDK~=`UWt_1wwATbWvxF!KTw8(XKzO0krh zCi!?97V2Bk1BKyzw=qHeJXoa+$tsyAj|)zAI~~qfOmqzm1AKKe5KD|2>{voxBOC3N z$Z7)-=zvm`zip)2LrAH(QCCJPx z(R^Z&fo%&=BrW!Q3DSxE5${oqkSrLvS3agRQ!3YxrJ0v*)f*c!CD4Z)D}}6H(rzfc zCVLO+vo_(tIb~Gh_&H^y;V?Qkxi-NLA{Q73)d^3q5<1X?@Ec7dW)P)V;)Fl9Xn|A!{IG5CjthgtLl*egGWcv{v)a>LB% zVmOeJo?Vr7(S18zyh5WXbA`6fl?Jy^4>|Dh|5N27ZHbuF+kk;(Lpboj)&eo8)^FKv2{IXdD3-%gx?izsdnLKZ@6dej~ z*A96;7`Y$=+5#w4v=1)Qk^BSOk(GU*Q-wlzXY@S(0P#Cf4pksm016dwPC|hxiUYm^ z5vg{4XZn-CVM-_JYWML+73K4#Jx!`b6|V`aF@!9LZdh71ZcgUMd3sS-9NLi6O$5W_O3XNKq4)YrdDfGb7*%jYmyM4{_ZK}Gt0i>$W>k2wRlnVbs z2ikEXi|9352DcA|9ZGf7S`<_ywvx!m-p=ShgaV?NvCgp!usy)xm_nuOaN}pQk^sigIN}o=n0RQY2JwND#sCq#!amC|59@oWo78xT>k(v z{A+k#lGX?F|Mm2;nvGYb8YZz^+lTB}C8r}Puwi%3gZ#MR&<|{nnH7k*I5L80tI9>@ zA&Vr4;S!s|DLr*<=Y=!%2a^)~SjVb}YUV1X+4>3AfT>+l17%gw6F>lA$b8!hE@(_< zzHR7$f~y1S$GvHijn}hB7+8QJ)tjsvH_|CKW$x$jkH;VR)%RELG*;Z0{Ne+@`e-d= zPgeH7Cj%SL>N|lWk7H{szQZKC?D@O%>C$5Z;>EfNotv|p0v!h_#>H<(_0(@lw47>F zuT2tldh!d;{OV&pv6rA51{)R*J2Nw)QtF#rhfoGNDWmI9M5q+yv_I>*GLF~$RXdd1 z(m#7%MEe!ZZ+-xg!@P&W>$-o18v4-})zEwMh9ImpKdgr2CqX#1t3^{8uQ&9dm&1l0 z?fOhg&>QUrU|?^XSe7W28+EuSfAF3pJ`Uf<`r|)r&&pVoOG&QT!m@sfdq;BSYFC^$%<6SeV7sP21EB z$Ej0bi6X^q>Q2oub(J`El@~R2rKz&@#u-+{dZX>~dQ)(kQTA+x%*uB$YVo`?MARpg zG|rGMu0d@F40tTdqX~*EwV6w-F$V>n15=-WfnBV#7&NsIpunv7*RoZ}h}q+3KJ%eJ zY(RiLB0Uz`uvR{=AVxdA<_7CrM8ryLy4awa z`A}*hG@eCQo*m-YtuUd-z{ksmdBFiBCsiAR}F+bJXK$ zekzVW3A?pZEi6DLP>Mh@NDOarf@Uh~(bzClK{4y>t_Bg6UMI>%p<8CH2qKc$7&TX0 z-iBP2!VQ(HBIGHhRMz`&g*Q;&zIVJGArZ18;`XAr4Q4u1@pEmVybfrEi< zg?S0;f|YzCFR|EjB&i<=6?dwtZw}b5ibvNaKgh+eto#_4RVyoR4z2xwTfq`*-edNF zOy~o-sPZkdRk^35%AW{TzAaR_Csg?scVl;z{lZtO+&f#9@93!Vr$d$R3{}1(RJoU7 z{}1*Ub@kNvKGhyc36bG?*b)p6H22Gd#HiWDj9%?)d(lxDdeT5(TeT8ZWlZoufEK*9 zZx8`i5wvK~Squ73n=FsykVchSUbtW5r1KPXEi$SQ!=7YP@htiRGn&lq^ve`Mb^4Ar z0TkM*GwLy(%#@0SOV;iPXcV(6CRRuS>0n4JyCx7I#C{2d#;rWNplTm=`z90sgxriI ztd*MkC1DpRpV(?GcdFjBKHh?FPT^hP_R%s|w#zam?QNg*4F<8)6RLVg&M+8II)>M)i7 z&NeRAdlc|}P%@es+@Vh#cEOmVVuuh|w{A&!N)A=4;9Q9C?xJpn?Qjmp z+b}U$&DFg!azUQDkSm)Qlc$zcZ8qd1EzJf5=wa|j=IO9S$&IZ`KQ}jQ zBSk@QwjVAEpuGpPUsZn-@zH`KCLY64exK}>rGz1)fgUPKJ$J8V$? z#6@2Nrt!_VhgmzC+gRtym~tSEr~-?{Ol+)%G%vF32NOLOg3x7Xd_VF_FtTG-{N}a9 zm}z+5WQUBNG=KSBCN^;n1>%q-HYgg7`@qa{7@(;AV}=2O)vdF`Ku-;X2AdgI|C000QyG`g6(sHV0#A$wwqx*Q_AcZ0OiKJP~ORm ztawvq-d575H2dLLiRSB&0-ni&2c-lm)(;VJc*^y}eRBzSipLs|!2P1WtCvVaWx`)u zun{$NZIph^T5pu%Np>qB4r8!X+~0?l^0T~o>`+k<*vA7!L0}*IivlWmP690zV0{1} z*XA&Q%1Q>090fOl*%1)NPs%^#KMjRnChJd{v{UWFuexQ>|27GI9+iO3zE~>;KC9A9 zVwW8O`c(i`Fg2i3rM!wbU3BBVogLlgRm@$-)YizVZN9i_)g$w!7M1!ZTT|Dl@5$gF zrD^Rxm*BE)rSzVgzP4>vPFq!r>E~-i3jov+3d~R3wpGVTZ&U4x_-**uUQMHR9f~Y@ z7xgwXotyisEY_797aFUT8q>Z!AxI~;P&cwAqOQ!+wm~k-(=+(r>uJ>nc1Jd_U2Wwt zYFDj#SDkMF2vDG>JcFOna7X9e4C?`%&fW3cvl*fq#(5wOW2u%l^3V7>?Sx`#vGVB* zFzz!LR7(&e7Cp8@EV@n5OVLhzQ;t~&k;ouA6T*i(ARKxy)1XCznL#VOGSfiCE17{RyfV|^ z#4EYMiF?k~h*SB?;@`OK(~>%)?D0F6cesJF_(yMyVOL|ulC>LPOc# z`?sJC@yelz7Gq^U-9&334CAOeKj3<0hSP2T%F08!_Nf~KuAgW9TNbUXJVIedcaG2< z54V`JJ4fkG))$>Z);rav@`IuBej4cCwy15rp>7`bs?BXQ1!U>F=xYUI2ekxq2N_9v zLZ7Ll=6a94Q)(_CuENR#*bR*R!?iT2DlD7NKRn@IwF%vaF+Vub>X$8kQL8`v^oure z>K@hwd)V$@mh|~oVTP7nzg(o9!C7Z~RhAb?@|rkD*Mu?cKK&WcV(fJTU38XbMrX4` zDy~0JIkjFw*6XTWiY)&R4DpM>~*S0TbF z>qE6|bh1@=kko-9uKM4^y8T3BkxOlmw@7#@uj z4VgG;#6|kN=7TzRBL|YMo&X6TP{L*ll(!|rcz0F$Hk1t zDpw&}ZEGYCL^v`ii7*%j7p#Pr0fP+@!Bj@rfNEEOmNm69B^KclMho5`60<0*7VYQz zJLkSUPxrjZGBJgv>Ur)x_uljJJHPkyJHNB-9bZy^=h%fNFK&Csm(<^RdD}a_ zr2fv?znC1CFR8!t=(cx!N&TJ2x4q*_>hCS$n$IG4kk$KD3{O>~syqiRp+} zu0Uj#6mucbP*uL zB2Fr7M}=L_IOKO^8OJEepR)N1*{6LI)bec*w{_pN-qZMXDBMUDjUQWsw50}FFIdm8 zYw*yxh=0~4vm+cdwAL}_Qmq*% zeQQkd>AKa*hzhC#KWXK3}mo0%z#CKa@Q`^Ormx zJq{UYH%&FgT@R7uHBYh60)43|#ttul4)$LT440l_pCj;6K%c5w`>Ln7dl8@;_zZp7 z(^!n{tDfS{MOwSkDSl*piY0WAN%83C6e(Z^d|C7<6~REXF){K=h*I1?@r5seBtPnr zBuAMn73XH|3Ps|V*hp|+f?_K!sSvgL{{lxettbJO*kN;tEf!qB2XE_|{_Md&YXI;&$ zi1I|)o(ouvf1xqdOZ+(NC4N-(62>s`)!Md_quWY2&SBy!jFSQwjS?8(1rr*4ae%6T z#bxp0zmK9V;!?gTiGJY5q3#~yVP?$~y1 zLMB zl;s0yy8~PW{GbWr{7BKc9c$Gy{6NnmI)%Bsu81CNV}6?s13)>Wy86Kn!i&~JR);w} z5i42Uwdk2s4(nHU_UM$uOtxpE)2Fg_zV%luHtLkcHmmS<=bEQZiK`~!syhBkgJir| zsEDzCAKQSzPbk+K@v~#f{S?hm_~KY$&lkQtR!B^_-aPyA3#c8zHu$ftWY2xg_g6Di zU40Gas-d}>+HtPho7?7!jbW|LY*5YMFwARmI-9OaXF@4BFse#tLn$~gSC!7I6pP2> zfD(3s1H1U)4CCGW;KAL)4{_6r{NN0|h9B@_FF)YNQsX!VkjD=^5QZN(DTE)mH-sNd zx|aMw9v%H{xYPBxgWr!zTI+8FL6%S4_@LY6Z#Xl`EuV3_!`+A-3CkzImitevJ$QyZ zc6-8uMeY{EwYDwr($*_e_n%ngb9YU6z$e*0w-oMfRwz=X@Wrvh0` zka=8~H1IVV$R8SWw-ViUELjw%_crvyUuLGv)K=0t>}#+u|H?%AP(Z%_H_{bk^nTrKnkMoxwF79{;>$oY3`C)r- z)c;=^@s!n8U`%qHspXskd4&kklZc|qYN5m>V(wK$ODtgqT4?97O;tN=mvgqwPgs%S zKu7Ih?ZDP8Yjw3lJzbe}`1oDh#~r!0Akffqf-Ds7fWKcs?NC$JDGelUx;bhdCxO~3 zQKGHTI9>6w=l7n(S8q+ahC=Js_`%KL_>pIi7#!k>^kC#4&|>jG%^lUEDYejo1xPU- z?QL#ojwfEVwOs~|0zl7Xuh6VZgh^ng1A}H>M-H9gkW>4#V_VI0J=7}Q(Hn%2vZ71dtq%KRDAb5UHZx%B#j z;q=UCRw+D%sBk$&(i@sCXHov@$6!LaVK2cM#8j|%?E!gsL^siJ*0Y}@5n1Q)=2#t3 z{*|YnRH^oa-c<-7=CIW<<{ELKDOD$4)dzC|wAzn$})Qv}H#s`2~9 zMFo~G7ZOmBExeA#iWWsHi(xI6!9gPfjZqYn#hd!kx%~NHXtC}NM@{o=b!qK3b5m!^Ae7B zd+CFhdI`B>FFkOnm!>Z=uV-r??J%#yE1%aH51?XRXRc;mr@x-&b^5aNO0@Px=atn- zn~i@}1MIeW)s`Sl{)aF15;DVH`pBhTV%5c7dgM|svH#m%df`uns-B3q^@(*Qd+Fa@ zswPxKd+8T0^%B~nz4VKhdP&h{J29G%);`(+A)8l@kXqcYF&Y+luAI?ew5oGoAB={z zj>|9_wDgN2B+A8(fc}gD+8F#!9KCVnfTn+SKx5orIiOLDzkUFXEB!Kn#t6D7pfQUK z?LSt-;B8cf#bhsCxYSEh*u@?`dx@81Z=vk3n*4Q*{xi*n46L|N32+%S!b1k-!WJ7; z)te$&DbgPKv128gwb&ocy8mCXvz>Bd(3H0$2*M}e$hHL`ntf6-+ZN;(CSD~p9k2Q2 z8>uSCobcHvtD3R*igaf&3T^wQsKrm~EfHSqV*3pC7ke>yQAti@jI}HZx2>(D=mA&t ziIQEWI^eb#x_(_UokTG+0T`xi2P|c6twUuRtJ#kVAi@?I{esrP^kT%bxmyK-BT?`N9W8m*3MI5M>_3#9-ft8NG22<+;&;!ds}NcrP-#O=qWy=iX(_28OQuSNl< z`VSEE1V#lF^XNv_3iw3&jGLl{!|1yyDm@H*DcJD+oznkY<8=Pg7P=r1#G`q0?D#RH zYhf^Zb!mKCV{%-P00HAToz77gn|t_&%{|^3V75N<{1_~wT_B%g8q_$!?wKrd>S=i6 za}4Ya%s`$BT7*DI|7+!+*Dh-5fGrseIKB+KB0C97QFR=K)mWqSQSGq^rHPd?8p@q% zh~OS0^9S{4`SX!KqSpLCe$Mu2|4$ymOi|4h!jy3S->SKX*c$60DA{G*o%v6*#0IXW(vIwcrcj_~{HNo31q$$>V=Kg-|LoXOy%ASb zjSF5?_Z75rBHEtLY4r%8)L%2=s5kB@3!~!=J7GVl~`R zRoETy=iiHUq1^#}Sw=+rzf=|Y-2pFF1%7wH^Hl-wKO628e0N#6((MAW%(sW^_@tF! zA}NAE4oq77Tp`Henygy{c1!*2HW0goABo+HFkr4-eyA3AX$n8HNyz^$?jLR{hTxgz z)wK?3$JPFbeCuBU+EHMjz^3Gz|3;y{HCHE+IB?Dh^06$*Fb^rI*qIG~#-p9|S?my( zFHQez%>wGm+W4&>)9O5e=KEq>l)){h?0TCpk2jxvEK6=D??ES>%DXU4p>6-3 zkv7l+EZn9K3h`p2X4lvNLw%YGD*P@gJW7R~ynT;qji_-d?-?srhe!+n)wRO29?$x< zXYb`18-(q(w99P@^HHL@QfbD;o&q7XY8T+a+XIp zrYM=pM~H_G0{vn`G;orf@ANtjMEQw{=YSJvv6#3tWON;56ayCqG0p7rgo|rfgv%XMk?%4({pErR6@4$leWEJx zbo$AvfX9!AJ4v?!6K905`w9os{}bca4Z@sQ#@KUoN&bLhCPWAZgjv&TfYgwa567ey z@RTyEMSL}T>G_Xy#4QwvR9s+wlkzs;L>#;#hoBSyqSIBwEr3%1OHLn4mbs!0d@neO zbQ&Kpmv3DD8|u-TAP3C-g=DQm{bi=LhR@Xq#~wceO(`C;{H(@0dRZ^RMC?g}Nid%< zVph9_6#R-1>f#}j`|;*Nh+*=GYXAc;8a7EgLL{?1r30SV>Aq7nZh%u584x8 zXYk1%RTW8L2<1d;uIoT_g{+D=?tRP|pP|uc_WvH>2YEm!>LL;<>#$uq$Ih3@}QL z3*M36l_ROngf3`(2+hVO3S|VZIJ^Z4l#h29v-1>EGCj@<;yU zOZ+>?i}SG9nNS=%pzYSuvGnr8{!}N)QGY4p2e}C5syoFe>QAvB=<51qyJd^6J@NCG z?V7OlqFvLbUOJ}zR%38-C7hO}C0!YuUbN2qioxmQ#KVTOp~e8E^|7(upqrO~!oX(z z)+Uf1)j`z|Y*VAjtLWMos2=?Vf$Gn{tXaHR@3e9@*1P&Nw(@g(1EESA_3ZP9?I;YP zG+!P{9vLE|@|Ry!BiHfHSp&)AYI^jG0kfg5{6(Qu$&^D~LLX!Dm#OYiRa#aDp!3JA zqzE;>%IcmPt4_UpcBksDXrwQX)upbTwXuh;eW)3?$JTh{#L&_xl+nqW5@=kBjSn^v zN*#!^kyDJbn+plSRRoMNkn$6pKQ6f;-mQNYHdWyuYi_#cCUT&vEMu<@Eg%bcUHf)8 zMu{nFZe%*e0`-C&C8IA{E;+p^md|f9W7UuN7rsFTYh4cekV~!YywXS2)n`PE@QN@( zOR~rqMa=NIlK!yLrcQ7O_S^h28Vfr4A{LJ=vhp&_fl#Zq?ZlFNVk;`aDYhV>J|bnf z9|ZyJE5ie(Xi^4h@=*1Y?o80hxQzUkM+D*6{(C(sc2w4M2BZMc1f8`d+G&V9a~Hepth_)%%1mP z^fW)M{DS|7$fBC_!vS@f9ArxT9KAFhbHJ+v(5t56fBHBuMRa(59AyJOU^&oE@~DA= zTBJ1%q)niscd}{T>q_C3{+R@Ym)%dzY`Rc+u?=}M#mC-s(_n?HCT3CE@63tV^wpUY z_x(enPzJ7Z((Ha+=h3%<4HP}Okqw@71EfPuN*6o%TBPqs%_sz)p&i@WFf8cTTHHG( z6J7S6I>|3#thPtMb#I6}H^-=HZkoxJH8gYs9w|T~%Go8|;Ze)p(4D|1y=^V}iZ)vx zi&WtCwl5dEufc5&YANpQ3v$=C)fo+A-G-r%&d?INXPmiB9%q?J}wQz8OEor5G+J7=mhygD=Op|t!cQL?4RHsMS zOIb?xy7JT2@J}{QQ&tVwX7&>+#OJe)A(0RkZm^O6{gda_*N_MWJQ07Z;5qU!WlhwdJJzC10v4~ z3`jbZ0{37}9ds#icNW*%H^d|2E{w7E6l1s>1K3^~WCN+d4H5EYHdOv43k_h!leqDs zM?3wxAu66oQ+%BrGh&_=af30v357N`2`FT(?sPiR&w4tmSB=GPuBUSV*?NpXN$0V^ z7O(<#NztLJ8QSB5+ojI*z*rd+gF9(pPEGB0^Nf+evE*HpPj4!O%q5!}@M%5n%bTTL zdboVVa)@9ty>gGfZW0W@P&Hyg%{GW{qqD@fRpWzd?pvQ`167~E*SXxScU z+9j~B&3p^m?EFiNYK%cR$r4wu#$3J{-@b$ZlHJEg1OL%peKbd0pK2id?fN*`%yw%? zRgKwR-JttlACES(rS<#_BB@Ux%6l%_h+CAZHlz(EZsQVf#>C5!V|JQ1Nkp+*u}v+a z;g&Y8q>)*-_%?PmUgKuhFV{|l{~$R|w@isx#6^5f-$URn8rPdPGotuzh?jN487Zyx z{3mAtB|)$IAd&wFYUjQ85U9sHhxN|tX0~59Ama5gx`h0|r?WHwj^+33&+PJlR zF--z=gyLRI3u%WOLXO3ge`mTo|E{!`-adfanMm#;ICBByo1xZ;Bva+QoP2|D3;pR)8m#y&h+2RvAXP+FPa4}Rf@MQeK(95%6{PJrrfV*t>^TNA=npqlJci~ zHT&oq8}atJ>(=vU4v4vPruusRL;oWjk-DzmfMrR2?*ngly*nfp=I@^;NgZP}*2AxH zuFzAs*8yhWNAgXRe4qGYL_e;xaP|Dv^Y@9_u4f0UsxOdugYT=lFZjAQsP`}c``ss1 z0pGx*%jT81!yz(@0tN@4P4Zvw@-AIZUarwZi<$abGHLfP&5_A9kV&@s(h6tugbAj|OT z38*Zyz{09buk-b?{~Gd92kafN!z&!PtcMsK16%in#KqPtQPos$Zje{-}OU)$1Qs zFYo0+mst-oUg3{dGQFaI^om@FCJOgCX=$E3sMpKj-F(C!AMMsh`bQt(J46PPB#ovo zs^zp0q>`s8=E4=6tgo84NN!k}N7S2t=Cg8B6)sSfykd^4q68Z*|6zNl$f?1nN~V(J zKQ;DgLlGBb#?L=5&!v_z8d`FZi;Y#BEgxHf8_Z%W z#}n2*ROJiL;u!W-vIZAEdA9xui~})ZC83{)-Y9?ciQ4FJj^OgGm%vLF^C!kiu$}U! z>Lpgsv-J|NV|V_v4gOCUnkE#C$$zR2xBN49S1uj%{OPgh&y78|0gpg(0f>KCVl=RP z+1|SU0c$0H$lCn4zq7udwSI+Ou)vn&FV|u4TQTcmAO$NWQ5Jh#!0+c-B;_GFH);x( z_cKfHy?trA5jPWt#5c8UcUFV(=-4H*hDG*|f6piKC({=3*7lhcq3B42YoXkuix(kE zg`pw4TP@EV!ycIzkI5X zn&>yaXsz;EBUtS%R}~S~Zbge#5sI1>`S^FM%kYKjD-SsNbCUs!jx3|$kCK4Y+8yz- zT4c4{Ry9Wxg;CmL1Y9g;eLPgkl}4sWSo@95WBmYjF}|1LiIeiE0vvyU+egU77o zo2wGudnd)POk~25ViC7ECz;+i=zYjIU+eujjv7~Ik3tSNM31U*o$!}1QS#zGT=fkN zje@gPfseb{stWx0URL~_hkzg7OH~0Cycq7}4Q6B7&G_+H4kxH+E%_;^%u^O;Cz4Lo;1+BvKVdv>7YKsrMGQ6ADZE?SUbb6hdvx~M z0(j>u#*aONf6LO7%p*&l&=5=MLIwF#Vj&?SeszbAsP2h+YPERb?`u&21;dj!6mH3oM-Qk~ zzQ^F=8Op+}e?`ot;bv{O%sch!d$lxd-((A}gHg_1mpNmpFk7HHu}6LjR*G>-1n@gW z3z}D(devz&+k>$)--PHqJ2sCrc__J80Tg_NpOz(){L2<|_+QR=*;Nm#ifgBJPksq$ zBJ|~!q$=ML1;>^JQ6gjv ze)Hka#o0{WE1(vHLZIX0`4$jM^-RSosq7WC3L^nd2{H!YICbYyYPWQ0UHUDi= z=fsTsKl7XDoJ<_`T=A3L26g#vk=U@GPo*;n5d$ zop*S|fc@LZb%MVr(Xn*Z|9&=F`Ct=px9wm7lNL#CE`0@tG7K%(rcF0wvNRbrCcPY@ zX85Sh950KUnaxVXTxfVEEsnbuJ@h}L-f7`Y29|j885Pty?kk@t3wZpMa0hf>6WX{b zGClec+iYed4}3qxn>OE@85{L)hmFrGw2I{gg-g9{*b$Iig6Wy01XCFx>7&h%YLd7nZk_wZV-rm#0~KLjs8PFTi=IBZjHZ^PE3y z<(Ul-ujyuNX=M+D4Tqm~)1(iWW1?o#As;OiRFmy~o6-R2AU`xpF&y4MEpLq0Ndqkn z!A_e>G7L4598lISCe!WVZWi>O*UU17sIy@DTcBRC$_K@?q#Syo1$)t|JxzG7W$XEk z_p+kLDOhsz3^qX=+d*2d3AXBMGK!WHB9g%nz4mG4yhkDrJi7=7Ka!YL!4oi}d-(|# z$a^trut2u-L{j(Rp8~x~vtuCm%f3jYZf7+IDi=tFTs-V!6#3DIL_84=TB#W6uKYvOX_EgSig!e+kD2K% z!5agTsm)Bo;xG2jz_PFQriX(%+g+r##ftT^>oxGxr_Pt`(`&F7ssi}w6X8yWGF6)P z8>#J$zNLAqb@;y}nefdDRLt

MHXulfxCpRlwEGCCggHDquZhiLtHN{`fvyA^Q>gF}ssJ15a4OxeszzlP^3{ zL)&7}WxBii@y)_c_8^f zd*`{Y;hA(b_XF;B?oXJ>;qpeqA#On)X&yx$9UgO@r9A$a;WVBco+8ZiO`c|+F3dKI zSAus2FNfEF*N%4;W!?8BtUxtZQ=7m?fxlQ&GJ-0C3$e1?1w#ebV}0ca773POl{E^!!b-zMPDo5> z8u{YY|ME(vlBv0Lir$#?aOyJo8pgj~X7~(|M48cSE2PQ43UfeSn)sS8c|C?szC%X7 zCpP->8&mFR-2b=mGWizpe_rG}XD2XMaR}E^%h|Cb<+q~l2-F-yr3sC#pXA54!e}NG z4}{|!5k*Phst`dX&?)4bZZXtLx*yFWy&~V1YhsfU$@k>KF;e6``WkK%$ussfe#G__ zf7{5IDq=j_^ETD}=+Z6~ckS3Bp^2_v6f2 zA>1JRT)0>Gm#~1yWDy0Cc_LOK%SBd;#EWbZ*(Y*bq+BF|`oGwF5BR96wQqY(W-^&H zNT&pt5W2LXV*`;cy*Cj<5+D!~NTDN12=<1Gis+0)Q4o|MA|fh+QUq*R0KtZey_cgN z%X{53YbTpw5(093Jm>pXepmjh_q}$RUG`RgtNLfvf2|%CRXggOsPm#Oi5eRi@ez{QeQ{?8C5;HUUaMIF3|(|yG(8=)U%aR*R_@(<;Vi?-DaG z=CYWqm@8s#jB&?267x*Ves9Q|I{bJ{ymtoG3-SGx=bxj;_$M7xLhP{#v5jLp#`cOG z89OOO`FG^AJ;E#T->y{ z`El2kg)boDinz6LTjTb{9f|uq?%#3Y@rm)x*80$uZ`atzc2ns z{O9rijt@^rOlY2PenP*5aS78B<|ka2P+peLW^6CAja0?t(S{WXYZJDT)4qfwru=-f z_S1x)6C5>a)@WLzV~t)lM%I{AV^)nTYusL=P~Bfc@|QCVpYg>Pdn{YdiRNN@!Kj&1 zV}je_o~fhEWg9zq!gwxJy>QP}kJacJTrWhTJzwMX8Xwm9p@ywyT+N0x#YeXHGcnTV z9lWJU%m3QnsmjkeA;K(gY3*xvt2w0RxSG>y&aZh*%{ywYs=2Y|b2VS9xlnyj^ZT0C zTCuen)M{6&d#z!$QfuYbT3qYaTKCo3SnIi3uhsgX*7vonwPR~HsNJr1cW$j6R(oRY znY9aRFRi_@_J-QqYfD>Rt^I!OZ{@bz#HhriL|5WPiGvd-BxWTpOuRmEMdCw=TM}PL zJe>Gx;xCDzb!ydVR_EM0^Wyu~X&yJG&XhWH>RestjymJ$o6CbAtdm0zOO7X+eC6@3 zZ6E0sPDU}8^~H$kOJnZU@^P0{NY+}V9%c*lt;+I$jCVBLVe`DXY_7Ar&cQm~X!@Uw z^v8AnRVReoi+$;hnRan-jk-uH+Qma)dnRJDVBxhr)){%_OvTkI#6*Pb?P_U<=J>;A!veX8zk&YKM*am929Hnz$S z$m0lUmQ&ikx_xy1Mm&i-+uIw3>PX$s>;AiLxZM7XnIN}rQg7c}GU{MfW4pRA>*ND*q4XV25%&e7Gy8_vA69; ziHY^bl&t{yr2ozSUhrkXP3x_5bgI{*-h5rJ@>=_HlKpK=u>QUV~UCAnmIiK=YOVXM8SSnC93(DGIwCB`n&d2CUDbcq^oI3r9F^t^G zd-TNcQ@MQUrAKEf*>m~KO!`%3pp2T&%v0loKepY*_H$y6JL(upMC+TIMeBufw=Muj7=KN2#`^NdLvhhzSvq@YTS;P3xQYpcQ5kqQl za_@78tFyOqIBPnaI&IFrD$Lp5*~2;9ndbC`%y1SsyQ@s+&CYwBwVgec-6==dMw;%* zm*&KfQs=YISDf!Tzj5wzzUe&fe9F1sdDQuZbB8m^dJOhB4>?s*R8m4xOp;MML-RNe zd%_mDF9Z3?_R%;gP>9d(^58?k9g}(`jZB)9G>drMm>1?hDOc`VXlvRZo)|7?Vm?#8 z2R6qr+a=zKE0#I5D)uXrjAK+?s7a3M_4)Rs2a+C7k|UGAwKmQR%J+IcpOcT2j2i7q zdNb*G(oadY`f>Fe)^A_GNB!aTQ^6N*>|>4CC#zJ_cbsHYcLC$_giZcr1aPTe^CGX`qt#wWdE5grJc&O=iZ+3V|`z2-x0UZK8xBd zDyyOF)5OSXmBX56w8!gN$-f1}mK8wEnBZ9U@8%<}@`T5|M<%{?w?T5b|H-zhw9S{Q z;xmsEkN8h6qjI0Ww&ELmb}7RcPop$9LU7kTGyt-V(D`=*`YUuZnBhw?g)Jw zAE|Ry{(dKo`7bi8MVQ&W$#Suu+Z;N8u*@){U7IX3ymoU8pZ#XPJXV#ZG18u{K3jG! zT$Q>1zZxfnhE0T2NP~2k1e0M3WWZFA=NL0#I%GjM%mCTb%IYb54%vIj+9K<$tnjjL zkRzt@BW)c2AoKg5JS+TvNYW|#!h074ab%1P^Cw2^N%Dk}Hf_;%UO$WVsWM-Q)5O{a ze;F&Esn6s5^&k}bzpt;!pkidU{Nzr{M&%Q}@Qh5GJG?hB~ zG)QZR)(EeraW9C3M_c5-Y%{*GNZ0wK^VF2j-;z#xb@Wbj)! zzmR)L(S4SoHCt=GR-XQrr3dqeEJK)|wSK2n{Jzlk<6b?k=krIpPLp+B)5^;5Z8yBd z!5jaUAm6x2PD=emy?jj8_{?9De%YhA`c%oN=&dFPRs2HL-oR(aM^{NSpn4dcEQzs9Vhu}T-AZDOOVaC@6eep( zCMxTb96K$;{dbxzdX}B4Oyd~jRPp|k;WKqzbN%W(Tf2?pI^IZh(%lT-6UPWQG|9V0 zJa@j_T`2Y5g!=A3v{)t1Hr%2+QMp@D;&2b5dK5OoW3UMx2kux@Pk{92ldu)!xa?_o z2DZVoupK1N=g{Y2C+vdVum`vwk~|!|QNe-j?3#n*D0P>5O1aW5DM!kex`{cg^@!HD zwZ5zMeXSp8{YdM_T0hnLxz;bWeyvsdM*2Y7FGlJjeJJKM59FyjLMI?D z*sbTG=feeXA#{PRa1nHai=jL8fS%9`dP5)R3ztAY=nn&6APj>4Ym=hukg7FZ>twAN zTBm89t~FchOs%HMvbvoV+T5r<2RO_u;mubC2>vF9t zwBDoDqjja$`?Rjo`k>Y|TGwiQSnGPN8?OX|3C|%C_H;`6cat zUiT|e#qw|4)o^-rx9{Y#8htMBcDyp2-3L$!u$jnrCQ zYqZu_t;U^PHMF~yR=GMZrmj|}*7{l-Xl>UwY63mKe^jrBBVkZq{Aeb z4088r226!%kO|Wv3$kGb%!C}sg*?cISuh*sz+9LI^I-ujgezbX6hI*q!D1+eC2%E3 z-GqO(`GI5kaucY||NJ(T*FTWWXj4TRD9wM$&%X{8mE#|;GIvFJ{8fJ`^MBKP$DIEL zmTzpK6fq`o!g*5B3kzoQ(ZO{c4WN8SD@Wf*<)SL!2q{N2V}@6#>cNNd)= zT7Pq171{r48UN|@Qt$r@Q79;mY%9kMz~QA!)-3#2s8T`cK$S7mC>SK?L0_{Z~iS0#_C#yM5q=5Vv!oWJ;2 z6ejWf!veVtKhZPATqmPkBVYfp%G{Nef2wrm@T!z;lx3vzcN_j^OHWlNbGX@VF2Axm z`iJ?uB_G2tkOnHph-ZX}JCN~@7bwo@_!;?Cq()v9)knh3X^r@Xzu9g08S#xUBX2`1 zi|3!VqPRxhr&1$7L(TCGKT)&scT1QN*K9ZZ46Q88h*ObD+Our}m31a%NIquc?>2{> z4g1;1-)MWF`uOMX@0K)1`ao*r>7UMsYff*(HPjr(@T*LX_<^*tbQOh3K4#5I1F#W5s)!^ z8{PqVchr0EJ{*G&;6wNbj>E_B3498l!RPP=dV#=%I>_@Dr+OAmlE^boa$o%nRPOIKo<);;yCv_zgbjfp z-UK6M82KB|a$HK7lp|&u$a8M;?2F_p&x9n9t_Dc{M&5OC%X1y_yjvse=6ivS`*`K~ zIjN8FT$~X{?t3-j5L~Ibkoj^tW+-(^CBX>v8&ujh37vqZKsv}XD)Ow#RG3fQ??I=- z66_vyCd>eNW+fN$K%QHf14XbH*3v)n9DzKCQipW%EQ&l+AkX{Vj4lOv7DevsO;L@! z_b5)(&oWHpi(EuwEZTUL8hM{>NYmkIIy_B>r|D-S(o{Ium^ciLO4EE+T&3k{i%ne_?r|Ejh_r;_gY}wv; znPvXIdQR8rrt5O2>-bsPomJ-c^+Q%!`+9iuV+GOLS!-Lb&d~YJ(D~$)sZpO6-gr5> zKDjzvzPIM9Z)2SwFD~|)+Fs4m@$z)MJe@vI*DGH&^rp|({gYo--#DF5HLuQ6R&Tsn zIv=(}uY0zx_iWwovvqm1b-X#+Jx7Pn)$V!vxvqIS-aK6|U)|0B-w8L`D!%XPAo=c{ zSW{G}S9$J9*EdM(Z}O-l<|nP+X#Gs+M=^)_Sd0`6#-WE40q>YQD}tzbyY8 z9iFLmlGe+$j`b?f$$0BESErw=)6doI{kMKw%8t_SIWHr&V`Q94qOn}81<7cV0yoWsS=4>6XGGJ%Jr9gByiN;QULs0Xzn0ZtVj+mbi5LIiOgU;|zkuYT*# zkp!G7{70T(`wqS$?q_fuj=?+d7Mv>F+b{e(*g~n7BRHCBq5BHIS6gi0OOPA*Vj<7- zfQ5PZa)kHo@`Q>esf+PD!nx9Z(mzl77fk7Qwcwc*=AS$-BwwzT^b+R~@!x<0C!J$S z+2!TSGd_0aj}7FV;lAgLsDqRTFPxO#XpNyeNxzfyJjVkT>vr$9w2O4ldDE7cx1IWL zp>EHZ>c6!G&m%Ga3Tfo{T#k?BSw%UHmS-%dK_*NGDQ5=cf*dm&brn6e*~~nx%xs`(k2Fv9M%kp} zuEFnt=JIT|&uok^&K;y~2J(Ep9G44HS3!)_m#6y5%9Xm$gd7uCwOLQRbuE;7$Q$2y z$AvtzC&q9~f5npQI08;hBwB;Q+h_Qa7J@u!TI2C(jrPVvlA# z{f(T@80R#SR-SXM*i56Jmci0~O5KQF2Uo)qD1t?>0OrCh$b}g&9j1l*>NYZ*C+%=w z7Vdkm(pcPMagXh%)aY=T6YM+i8__%yTPjHXq`hWS@mv^6UOr=Vh7S?yz6Dz zIlhoV)M-#z-hpDD%C9Qh4aYHd_DygQUWZrVCD;dhU?=Q=ZP1_k^o3r~9WH_k;XLRB z?ZMSgsTR-_8bT7(ftnBpQ4j%+e*XP+DmPaL=$rT99XJAq;0-tcFT;L#0d~Q2@GLwH zPr_z+3^u?cuohOsDkuRD+zrdmku}5E4ve`v2|r^SHRi3c%^B;4aqcYV@-nZCcgn~b zcKT-7B`2r3h5FqT2I#4ci>Z`FdRm}NEij9VGN9gad0V&hs$6Bq=1-dtdk2l zZ(oQSW{M7*sx?!qTsx6#0&*Qit}lqm)nQ_vWwMLgY^LInHKHr&E`mZGcd^zbTCdW2 zjn?b5-k|j+txL7us&$#xJG3s>xsGB#Yu%=GyVmEl?$o+l>kC@w!YSnCn3Z)<&5>-$E^KpqEj``{PIT|nPK$3?8aa4kFy zmIC&?5CiRC5nKZw6mqr--@|VZQN)|KzzJE919M=&m9!5ox|+2fQsIhgs4pA)AiR2$%!+K-vu)mBB_>d!tf&VZ}{KmBJ=idNccxrR=p~KfDUFmoW#R&h5+{*aDxx zkUQ8vz(mM^eeflG50*RGqr(w+7j9q9-W=A!>bp2vfOnzM3dSDV!UZrEKDwLh#%}rq zR>4+y4qk*;;TQNFs(F}KkOb$$B`_3jfV<&d@ZZiVawpMcVp{p+wExHG0}I*KdO%O8 z%oz1B;v{kHC`sLAIy||7V~f9Ht_zbgR5W7&4?z&DgNMNiHVB4N*Z_~hMtBT1L2a-@ z2sofVghCjELj*)ZHK-0z5DhVq0uvz>(jXls!DN^M888*5K_*OxEXal#FcWeh7xEw< zq&;zHJnV)&upeH6*We%=hC1*zybE=q9wb3BG=L`144Oj=XbG*LHM9jjC8aKc-q0Vu zh3{Y#jD|5#3`^i@SPHkmZQzEL;O%>3_*lDT9S?;gBk4c1C4@s;))raoYk>utjbYsx zKwszy-QYqv7dk*2XbH`r z5!8E#Rq$G0{o~JJG@&{~Kq%P33JQL2#x+Cu7yJO;upZVm8#IC*xXibYxM{x8xs~btEx7h#XT^fYVI!1+e3jxM zco6P~mEab4C@T(R!+oK$?Z`GG+lp)_#SF~`3ZRivu;NZqW1WuvTrrd z+vDu(zbD@LaK|{dZTMgobC~$M$$vQhb;y$uqb>7b4$Oi)$blJ<1(`4vrobdfgNblC z41i1EGPo4R!e|%?!(k}!5n$CH`a($rt1o&ldQXcIR@3|80ay(W!CH72*24za2%BIt zY=N!tG;D+I@I35-J+K${!G4fm7+!*x;Q+`l4~O6gyaVsTdmz6~9D@(xID7)1!e{U~ zd;wp=*YFK|3*Q0TXedWo8H{RQRwlGXGgdCNAzB|2ui@9_zO0DY`RJ~y24T4E5Cnhp zVcUeC;5+!@YHH`87U+9opF*ws0QQ$*AND;>xyAt7u|Ew@OreLMv?=o#*7Z?p4f+7o zanQT461yAjyqXoT4|947a~b;*>_tskw_q;reB9Y+Cho~o7-#hIKFmaP3_5%YM~G-Y zv^Uz*!77aX!loQuLB~EEDWNWC2~DTa7kyZ-9B?%&Xj7QN-k}fu0o8DaLkRX@2Qw4> zjV-fScI-vT$ojc`3&3%|2g zjYV&2ftr+?QlUGf zXq|wLkMQk_#$k7oM_m}z-{&_1zhMxC-w-qc9fV5#?eGizWJ4`YxO$FV`t8@o?5|*e z&R4FO^dZe>g!MvuKsWs4%8LiTCt))@1{>fJkniTKhE?!(W9AARgxBF!cnS8w9@q&x zU>iIITi|in2&M2aJOmHI{jd_;u%dCd2V@s4B>(R!WM8?@e}b*a`{ zwJy_oht}m{q~v{RhH3Di&(=t56Rpj(HrLuxYiq5Ns-3oX(Ar7sxmwTHdZE^? zTDxiOuC=Gu-dg)=?Wc8s)pfaM zT32elPwOhJ4{BYbRo>?*_cqBrO_?C~GKq1cSApEqG;A%$1Umj^ty{Ei)%vv7ZCbZ$ zeNO9bsNC~(BYm_-`|Z^#YnMN-n!=<$zV(e&Mf)E%h5M%!xBONz31-4iIxbcvzgrpa zTNby!G0O4x7q?MPpfDr6qOgkmn^3n-^sih;9*S1Q+(2Bz7VG@FZ-7r{HOL2DZVoupM^5bMQRu zgk7*3_P`6U7xuw^coANLm*Ew76%N2_@H)H!Z^A)11c%`*I08rEZFmRXh4`hmYYC_!K^a&*2OB625}3fpZc&NBD3%+}Rj6+=~5HyV1v$Dd#f8y$NoB>)@Jz z>5TCcJr?Zy?NWZTd>!QLZbw1B_W22X2F=Y00@$TafsEmAsKlwr9w>de-&K4;nC%JX z`*8(sGX=QK%)>1#@?$P;Gxy^*^8jw4*pJ1y&0LAwjC{vXkP#5B*W8E-S8MJ>1sO46 zjb=S+M$VGWY`|?sj);VJJ20>H;^}C-iG@}^lLa5zfO<^hwyKWwuFZWled`48%eK# z283neUk{bHM9Lc>Z^2*QD)}BNZ$SM6`&;N}^f&kw2EjdWC;s!{XYAeKC-?y_0(l#1 zbMkHm-{F?Gls3WM2pYgQ_501@c8ac{{AUF*XP8hlL<-NL>IQ zLkY+mTz7!14mOZ)`^JK-81j9#sn}&@kvFhD0LQW4heqPR*XFX%;LG4M?0tcAn~t2@ zKnh$2<6tz5Xv|&-WIP6;GHx;^i^-?A-8UXRQDaQHV!se%JkCdrG3kK49mu$}L5;C7 z`pVo#{{3R^i@KzhK1f7sfwa2@>TA2NEz!8EgS2%W_}W`Ow``4l?Rk$j`Ohs`b^Yg+ zeDzN19cUg^G=~)BS2T~RGKY-06KKBp&yy*%(SMHk&keaF#y2l|d&k>sD`bZy1|Hyh_USG`d zd}~P)dq2A%E2_`j)rhNyn%mH&a3fp?SHlub5xNK#z+9LGxiAB!Yo?;YvW9HmsE`IJ zn#)jO9E^q$nxW_*xRZ4AHT`k-g!V0b8_Ygb?_rpqXgM>@pNx$C$H#Icc7f5~M zem(K7fh9e-N&pLCF66^Zm=05Y4-Ke^&ogeg%Z=Rk_*V=Uc9ex{tWv-8u%8e0p(`Zd zUqgols=xTfB{5nsf%pO!8NK&N%1;stA&&I%5Czc?2I1g

6s?s0P)+FkC`cTvk^} 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�Xk9Mm-YE|h2R$nRC~opcPulk(|MaBvC|>eQ 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%0D58#7AkwXfl8OQ%p_n5Lf`AMt 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

&sFY;RG>EXV>&2|2~xpQ1*&zd=7`ZVXMQzlPx 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 diff --git a/report/diff/sample.jpg b/report/diff/sample.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c4ce99f698fadbab2468ef05acd395b99d35d13b GIT binary patch literal 24135 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 F{O_jsT`T|q literal 0 HcmV?d00001 diff --git a/report/index.html b/report/index.html new file mode 100644 index 00000000..ee587d60 --- /dev/null +++ b/report/index.html @@ -0,0 +1,30 @@ + + + + +

+ + + diff --git a/sample/actual/sample0.png b/report/sample/actual/sample.png similarity index 100% rename from sample/actual/sample0.png rename to report/sample/actual/sample.png diff --git a/sample/diff/sample0.png b/report/sample/diff/sample.png similarity index 100% rename from sample/diff/sample0.png rename to report/sample/diff/sample.png diff --git a/sample/expected/sample0.png b/report/sample/expected/sample.png similarity index 100% rename from sample/expected/sample0.png rename to report/sample/expected/sample.png diff --git a/report/worker.js b/report/worker.js new file mode 100644 index 00000000..2da96833 --- /dev/null +++ b/report/worker.js @@ -0,0 +1,2 @@ +self.wasmUrl = '/assets/cv-wasm_browser.wasm'; +importScripts('/static/worker.js', '/assets/cv-wasm_browser.js'); diff --git a/sample/actual/sample1.png b/resource/actual/sample(cal).png similarity index 100% rename from sample/actual/sample1.png rename to resource/actual/sample(cal).png diff --git a/resource/expected/sample(cal).png b/resource/expected/sample(cal).png new file mode 100644 index 0000000000000000000000000000000000000000..32fd28363d8430f9b02c4b02c711eb2682bfc4e0 GIT binary patch literal 43691 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∨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 literal 0 HcmV?d00001 diff --git a/resource/reg.json b/resource/reg.json new file mode 100644 index 00000000..a40fddfb --- /dev/null +++ b/resource/reg.json @@ -0,0 +1 @@ +{"failedItems":["sample.png"],"newItems":[],"deletedItems":[],"passedItems":[],"expectedItems":["sample.png"],"actualItems":["sample.png"],"diffItems":["sample.png"],"actualDir":"./actual","expectedDir":"./expected","diffDir":"./diff"} \ No newline at end of file diff --git a/rust-toolchain.toml b/rust-toolchain.toml deleted file mode 100644 index 35804249..00000000 --- a/rust-toolchain.toml +++ /dev/null @@ -1,3 +0,0 @@ -[toolchain] -channel = "nightly-2025-01-01" -targets = ["wasm32-wasip1-threads"] \ No newline at end of file diff --git a/sample/expected/sample1.png b/sample/actual/sample.png similarity index 100% rename from sample/expected/sample1.png rename to sample/actual/sample.png diff --git a/sample/detector.wasm b/sample/detector.wasm new file mode 100644 index 0000000000000000000000000000000000000000..2e0ad4443ee77aabb27d057074e4ce86c046743a GIT binary patch literal 1442916 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≫}+1BAU6F2_}*f8ivDP->Nd)`xWSAF`yJB3=C_k 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%0D%SZ%T;EC^u^Ou(HGL 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�&xP4 z-xP%Qo5GKOgjeA9n(spBdlTRMW1KXcO&iDKm^d6=`N#MdBN~-`RNarlm2kI z=nt2Hex|o|z&4hHvwSD5T!n z#q%Nkq?z?D?ABCT76BZ_hy^r>yo`r+(&M)(Q98-RHReg%Q}TXj$e zfVB)f3D`K?Tj1Ub_cpkQYJ~;k8>tL3GG>@8ecLFvE_kOsa zfcpU4lW=#zeGu+LaQyqagINXAywRk)60q$Iz~9Zgq0<5W114+-U{^^9##Mwp4)_n6 zF#PzNIaU$&W&qw|!pO_lm~>Ad?5%*m&4k?mILEyYoA6H}9CiTp4ikPO;6rd9G2wV% zS-lfsKV-s5E9s)na|G^gxa;8Vf#cs7cI)^*+-LlIfd5^H`y(bk%X>B43*b_4N8w%w zHwDMP#}WVCi2I`^K4DJ)_G9orVPG!@>?Syl|1W~$7*3jB40k;o|Gt1U??L?cnl#gZ z&A|O6+)u&%G#vk)L%bhHocEb{?6b$=o`U-sxR1gW;c{@4tsa~U$G;{V z@wQz*v;Apk6J+T74MK#ePa+e-e!{?B0+?mQHTb3iLPeTN$jjgyxNG64@UTMp=NKFx zFgTcwaaf@z;L>np3I_uIJ!s-TY2xn$jFn1;orIf(Bg5w4`1jmyP2&em{H+?ob0C(D z@D{iMxLe`a@YuM9;rMs6(_4YMLSjKF1)>ij-w(rm1nwu{z7JuF)5ChTWJVWfqBH=xj@_vb=k z%%6Xb3H$j_7|U`y92@FxmHLgZY}@s{ZC5~djs7Q(i8^>t)QQ47`?fu}{X(z*uK7ay zf6@5Y{6XlyPhZp5e_;&Qd@l6gf4HWv|7>~~iGSlSx9$4Xr?;ibE44)%B@TJ{8A2xBAYU75 zaob?)m%IrKkf*|#F>kp22lfXMq5vHlqQC$G8UT>;M3BTF0hSPDND!_aTb2NiNfn|W z5Fu}WoL(QmH2e3*=mnqyy?z>7BS>i25MT+@tI=49Pj5U`jNbdtzAnVvz=y98ne;_y zOrD);Of82}hW+v#O0E6T^d~ZBLa75Ec{rO3V-9>0)>;dtoArGRJ29IHg#|uf4^cy3 zKnt*k!srWywbsI6@C9MO9txu`2oqW|XR^mm&(4Mkih>NqZLwxEVUVFc4nk%TkftUM zip8202KvmMMR17MI@D*V4h_8E3}cw`kWq|bz2Hqal-?ke*`7TeuJ6EyuMi*U3(^^1 zcK%EvX)-d=;~=B~D4A%B6$b4~j(PPcdJPJSWpYf#@gqhX40#e3&VeO~!~9%r&qN-6 zwjme^%bsm7X$-_zX`qOeGzOAb$R!>t0)nTV9rgCwNOd5q4JO=(Q6b!j!F0R`9hz(D z2+YzJVvvA{GE^uEvuq@xj34o8k!Z12B(NBB1r{S%!yo^@?!;k1ydZ55FM!!xL%rGN8Up#)LNFg&7?#^~8%K|`X&Po6 zB}6OSVaQ^89MS*6aexQ;h9STcg8)wq0>;K5z{5I=A&P^5DGmavI7pW*duIN43>``w zhw3uMp+MRpt}bg^Tq$oHs>>XQ>T<`ShTa+56hqaKjRFm|QJ^6<3N*Avfx2qiaiT6_ zKtrgXT;_LEXO^;asr%J@GQXA_>ogCXQER1ANzG@P&M4--hX3)Q7EZ=PNgT;TqVc(0b4I1B%`;d-mJ za$%vgk$21UwFb--jZz^~dc+l+x&S~1Ccq|vW|!NPa^;&KA>vIk=O!{BEy^vs6=Fd# zR&&U=?5Sq0nJcSCZC$yWE`Jwu)fLx|3Hr(!;x*km(v@pfSHXGe5w}tERKcw`R~buH zT4hzLuE9cC$Tf3^GV+r+&@#V>3h;Q+{uaf5U|&(yn+=*_vMmtR$mW{b0}eEr)`zxb zKMS?ia@n=MBAcY~ES^ed*>H4gQ;QIb!ZP8sGA&42nabpIW!QPpAyL_jE;s;Y9&6Mp zsRnqdrp{y!ou0xZM1G+R$?v%N-6y{p6P}sU;h8BNo|%&H!~uhV9}H7^nJGW~zQxo+EGU~8 zOIXm-Vro9KkXoDxV-y6TNYgXNQm1EqlB4MjpA003u@8b}LqlduGH{ei1^nr;Ba&VM zFmfOe{|Ns5>^RwU3E9b56Y?|r{p?6OnBD`@nM`yUePZ!#grXk5imK?3Q{(8Dx=i{@ zvI~E*V5LyOq@-bhE~!9FN%aUAiD*Dz$_z8-aHw+%AOeTPW|;iz59kNhzzq!3rRb;) z?yx${ppTJXN8{k__Kcexi^Po$@R8P&NL1WPt+AP1E4l0GRpu9NT+v`@9o>V;{T``V z**${2-oee@!O(E1q@a0`wbI5CiEO%BZ#6~6B5O3HL^6A-)r`XS%Xp(TEGjuff<~&j zZfj;WS~K7i$?04(9pe%$=nDP?J@wVZSTJUjLJQF&uAhUYLLwZ-FdbJeV(MNdne9d3 z#iBt&juXb_-UbUmS_?tn4n?!D7-yxs`_drF=FIpO<$$EvBB`dmBhNIyI|muUI|tTV z-YPm_{ya4Y<-s9(w7pzBi=SWmSoWL}bW{HmF+tKRuHW!7V_BJJ#F5Tt(8;!{rcBo2 z>6F(zT5CG9PuFxiBm2sEAy)qRzEZ^#air0z{>ApEJ`-9t2zfHF^~!D@d`)Ne_wE7# zZ+qa=-Dn<6PG=7EVssB2TBJm1>d5trLlKVMsTXa<*ftXStwX;mLh1#^uV}y7s$ut& zw!KC7m8w(QG+NMBWco#8Cm@5jkdcvgVe*X&3Gl^7+Y6)a#`9>k>CC~cTH3|X)mG7$ zQn-$Fu>}=SA)B<|6Fv5 zdZg-Dm|pQOiKuYf4y*OCl5DMxY@N7sfkKmz&UtpKpRF_NzzjQ8f;QecCzGa40))g? z*R&lAw`Go<%C=>qc+spp*ec;ANW1PRFG}2XN7HG1zMSRrn>U%%X_9%7YFuX&TdHxL zlZ6z>wuaCby_{1O?PSarwHR&O7&E(1*gD2-YswvCak^M+8zMSJjaO)R9xXPUD8*aN z;rdM8R*c9Dyhpxmb!D~He5hBi=@_?-lbvJrlWiNSPLs#BuGcwIoMD|LQ5&j`kz~Sx$P$zzZr^?9FwS7y~g8ZOVv^{3u~c|Bymtj$l1-J41K_@ z)SH{ccrJ)(vpehu&Zs*aY)c+iOSuM&5>5jK#l(c8W;W`%YQZgNfCESK`N(Nn+T_X*&6Flg&?K|coHuSZkBRo2j*_995pO8_qKA?CWtLKShT8o zWhsrL?Wi6w4TEi!&1`M?Aui;wa>J{hMJ$Eon(A1tR3?U+V^&mMXQ142mN%PNmV!O; zRB=vhs56ZQRy_AMYPIIxhFh;0t9#TU?=|v!1@@}x26J3qLYN~TgU--8z^?Xr&MLMYJBa9b*orJ1bI@3v z=4RamU#hh*0#8=31`SyI0>o;$RL#MNT&t@(3YZuwLUDD3rG%V^5^=3cCS zHcR#L=H5bStyFNGVyi0ax~5*aOpLm&Hig^X9fGhX#&3;L;7$eI#aVV8ccTt@Rce+u z9k1@@OT`kFqhmERCFDlyXe!aGmeBH8y>koM*(DY=FZa6MOQ2wYW48`yZD zm(?F~CJh!O1-1tsIyWjy6D(a;#Kas)EE(VqArq9|9 zVeE3PQE(gB=i)Y?JLHV&Zr#$vX;+MpLEy8i!^KkQuCS zLV4(?^0{*Z+e%v4U!q6JwW$Vp=1#4a%7qZB{MsV6m_Xx-z%m%t0>A<`jWC{v>|@}0 zY_oR=2U(72Dp*0!uLWsS+(4z4YBdMDHxQ>H!@RQ$=y?a@Y{PxH1;mh){+Dh7G6t_; zJjMWvVYCSh%h;6zW*o20qq883qeQ|gl#*rKhgHVPU5EQ-D7mHH3N_cO4mQ!Ip#D$^ zkrA5>4TF??x20ptbcULZO-65dE~*)-jE`0X8?w&0P2?+tWPneZ8ZzaR%ux^$?^U3( z5LvN=@q}X~OODM$7AKAjZu{O9xKH3pIR44iR{B%^-GP#>F}tOj-t%I!$8H!jdtFPJ zX0FjBfb1Z%us?{O9PIrZS96}zrRI)Hfg%{)hZnF~Cxv}@0b{aGX{iq?9oaDA90yeu zC;<)B_!_#MsS%I0UUhZN`bc#m6p)9xNN>6dky0vzXqH0i1R0F8t~#0v1$#b7kNCE% zCINarzHCF`H)<}0MQRH?-pJKiM)^g+ndSz3#~{!IGE-P_k8VQzVp|s?+NRF3kR73f zK}>3;?uL!(QPgAm9@LB>G$br}vN166uwU2+Zj#2WTarIKlmSZ(*PX|ywlpLhcO}Y( ztTB;|A{i+_rR7p(kj+1YoD|`BzT!fC??-m%m?AdjIozGZXw;%m^&U8XPK22ZO3CEO zIij??;HIEVv=9sPF-!uI`*i5SLVI{0Lwq?`$Lg@q5GxR*Z3qITkXzWmYE|K|QB@VU zxmqjmdwOQ-6!oUll+bP9sS~GWXEG@`(u6ua-Bfq>kKi7N#7fT496WOT+9EJM}G9S(*R z6r?REff+@ma}bCi;yXYva~vL4ja5(61k_QY0C&0jA}(RTLD9S{cVQhfG~y@C>R52-?85illHQFN^sUq^KQlEqQ*OQN~#n z-pS{xn15jaV3rQ{g1U_n?yGE6O4vY)iFp;0#_={W_Eh@n6&O5LiCvGUqE4~J1ceQQ z*eo$0@Ogz;+_RU&c85wOjY)bx{SY}~h7#!mN4xV|Pc1@qzzk)&5rWBfLozS~6T*gt zGL_46%o<%U6`HFoT^XIgz=A0kfm4vCV3sU8rgMOd>ItYo4lSGwd2O+$9PfJv%i&lqHL#(%jK- zkyOs(zVklYY^|<`4h#YbZu~<|=>l}IQj@kkLX!q6a@)YhG>lDW#;WasNk-Bg)=`d@ zswRyo2dZyoLxT?LDA?1=jP{F9f1AWpl{)vBu<7Ms02w!&;3c3RgPR=sLv?oRzAYt(FR{&titc)kBvh-8jpOKUn9j+E-;zRfSF|dGaWtuC*;(|s zMQ)Er#!!q|pg0Jn2tY23cab;*AVx*HuEA+H*oSb&K*Z^TEY1i(a022fNRky8K^tU< zkUBAe>Op@7%ZJ2N&I7zJWl(9__hoCjGjZAt>@AM`T#hg2{Wtmk!drbdU85%-WMSHg-<5 zUfs@d&Oqe~55Z8!FIrs2xbYBW&FVT8TMXetFt!h`tr_*JW1tN?TWdKu^3W<{ZWEaP zFrJhlhwCS5UK3^q^JR1!PbQJImGZ=dmJyCIoAr!}lao@@V;JW!g$7~MwAakR ztfY&9M$d+t)bVvTXafLwk63dt+lJ(?#Sa2Px(4d4wjPY@(vT#wk40-m?MQqLBSb-% z0BxcUWgG&Gox3ee(%7&HvzfgG+7?R@w8=g>7jRQJEc(GvUySTR!O)P`EKE%3m7hsD z`g7#A;k98c+aa*_IuO)6%7Zb)bJnqdVkiAt85tuU^uoxP37R3B?hl4{GrQ)U& z+FU*{kr&I((C|)Wzo6G+q%BB4qWG$mpqf-yoUmEG8wy*Cgx_T+N!n0?B9ab0;c4UQG@eEJH>$Qp9Z`YD1)>~RNeJhOu?^3T!6yl z7cq+ zr`9xweEk${Q@7`a(QgSrZ=|i$=(7B#>f2T^LqiZ?w+%xGnpQNb7vXA+p<$hChWT?W zMLlqshWZhaOB^J_NZ8hOO6evYay)%mvJ7L{I?u4Y4j1<#%Ge3T))|L}noG>L1BR`$ z)x>fLgqijdGwz6^SJvpwB1$^c`Bqh)h1`luy`iCS9kU;_HO|h-I@MIrjXJ04z~!xy zbmUJo5w#+PB_4F_eKOO{LBU(htxrR>Gy0E~*7UHn#wX%Y*=Y*(gJAS2d7STP(P(fi zy2W0LLr_9GuMAC{o=#uxfS|#VuSP?;k zX%sgXnGYRU$Tc`XmS=0V`q5f} zGj1-?=p(q+7Oj^dFvOUZ8!i;U*6j7QvV>g{9?m^;=|ZNWlV*=(2epDcS()h3CC7 zJAgJ09fV5`+)V=GXEn$16y|o{04O8tQ7n5M*avi&36CldRgz!LHfvc8M|t!LVs~^p z2@y9}L5xAP2RD+uum*Pfi6n?JR1?_y@@^qKo`msf5%UvP^ntEGp|mn+p; z{o#h!Y^|+tY(6rUNRIE@f8gMu!?*8+B0<`u_zmM>zr(`U40aU3jH&kAf`*AWx0szH zVzn>}#fhX{DWEj%=VsWCd3OlBZ7HW=N6BHOOGYfKjV(71B9H`RJmVKv}1UaCnPP_1T> zKc~%)0G<2iW*xL&D4f7~Zn)-Xr%P>&h7pu#sWNQe;%?4cD{76!bbfdY1_4S4E|tnaZZ%p_V{Xk^+j zs5u4-?>;g}iGgU4Y!FaUmZ{08|A^DfNsXFmfokVhECM*;^F@C+iBZUqpcrJDtzei3 zu!?N<`y@s;hDqC5OPe(-qJy+T2)xZ|Gq)k)OK|BS#M5}fg$6Cy9p>T&iMn1QE@Gbw z=J!>Xb)`;KrGr4an@vhs#f>23a^Lx$Anlpjb=Ri909pgxjY8{ru;* zZM)*i?K`fz`kHHZ?z-*;FTDPS8*h5ii(m56m)*>JSn>D$FMq`=U-fEd_nz0>GH~nQ z(C}@y-!U?}mr|Ocwz3~AG#_MN(E{69)yvd2)Icf0M%7X5cGNRr_GfelY(|jjUq$az z0H?6&w6;=(u33m79DIH2e*6u>^kZcuk@(f^)8k@A16vmYPFqqi^K=`fyaUsB3v1B0 z)}U6^13BcJv0sUa#qM5%ff)N%?}oj%g-bW20-Qm9LpJCMr=Po?s|JlNQV_`yW0*|Z zQEHJ>yaWW5H6o)wBzqMdp$f|*l!Hbs4DV~>^mFrZK-Ng;*JiUUxac!<%A%^Gf#LWw&f z)I1udWNr*9B5$h*k;ZCv^I};6<>t0rtPX442BrlgP}MY+7)o3gDG-rDD~oKTK2MsG8j3J}kSdn!yVu^wvVZsvTcp24mMEC$$SMf*tvA@}aA}a3)i_|B z$LV}q(|7pwOyiqjwFmWqI@ku;=J{HkFCCQZ?it~dyF(2Y6C%m4Q`9uX5(Heni4t?s zP-Kvj4OZAQ6Ri+4grfC8EzG;zqpzFl$e?b(*tji1QkH)Fpb)drJpH1f5v!DK6|Dcz zxMj2}mcZ~DO;1WiP)6FUsOMUQ*}Blu-=qjtuWW}Sn+^Zj92$dgP3}? z4PF|1&XE}a8iEX5KyKRza%Rh+@}XBlP$3@MvENo~eXChr@y;IUl;{RdggY3bf|DAE&+N zZB~|RW$5-?$JV?k5R*Jt6#pZRFg8EZVxiKU^Z28tU1k zYz>+wCF2Q4Drw-lMj&Q653(rDgXjga zgH{x4mPql^^$u~-fL+c@$!*zfgH}6u7domRQO222OwLKLhKCK8Xfv3afE;7|5Ir#@TTQbfWn5G9 zryN@}<`B6Md)#E&v)_ffJttgBrd~T`ZU#ez^mx<<=Vv?h7=~Fcks7HX766kEK^%YM zFtm*b2vZuZHaV-CbsmHm#Ka=r<4m(Rxp_(`8t`PI$Zt)Ikw&8Y7pSuGUf{ET>c2G2>LC4pu!ki6Pw&||n;MZu@ zPWjUTp(4yy7E|{cVXkc@dI!I-k(&jf|$NMJ4~tL=2A( zM`IDO9ECDeCTvB}EUEiMGzo$1sWB+k3m)@`44sIIs)@zS)F5O7)l`oqBiw8_e`FIJXPv$-Xo<5TKGG@DG z-m7QMRy7(dGzUlZVonyNr5D2|g6Y3bZRKWNg*_8{jm*^F!Z z2L`+%xWg{188@m}RGKuL!FHNpSb?w<8E80*t!|=f$FX2AletfzQklI6I-5J32jeRj zun&QOE+;6XN_rD!yR>6NmxP|ETUtmB5@i-zztI8~F^8YaHRq>8R@&%7hQWa4J{KmP zS{0Vn=B5m7HU#!3s{j;vF)n8iMOto+eKs6f)XHe3>m?33m28f7G97BmZ`qvEK$nnN zptkjjQbkT_8Yo`0sUsr>dt>mBX}jqR)Els0yVbzdL5P#-I~6!o1r%ASJK55NK1Z(D zE*J6X!y#e3L`y@6R!-ZIQHPQ6(0LLLo(?w$=dgg(T*U?u_8%)_6T&Ymhb$K?hcQ*s z<3B1_qliYAvnoNi;(;LOBT!o16_ALuhQ~ApHVPDv(u2Y!ju)>J*L0C3>wufV6s?^~ zQKEwJK4M=vx=FoX3oujZdXSfW9o(N`N{iKCkZ3_yVfe68e$Va8mBVjKM&hl6fWW0-`O$I2R03}Ps z0Z*dfoE6T(AcluJU=QM`!2Tja0%A-b%q||WoQqWnDa;<#4h>8n>I!C!9i+QH;w6Q$CN4dsaYd)3 zH>+d$N2m*PmRAi}zt0?DILh3>`P_A!_SE+i)Ce&GN=bf>RBH!?J84A`r%6yQ9J#R@ z8W0=Be9fejdVr6uimgO?wO@QQJm@9|dn^Waj|W8kB#o_VbjE9+&5rB_=n~_6lNJ5 zyrh09%VsJCYcm^`jfKlGTpD9Ax>zhWw>^?#kIvJKT+)JNc=HEZ9BS5cWN@67Y4-KP zz-%oru)bh5#;R)Cyi_gL1mz01WHgp&ps^YT57fduh#qP69)Fx2g7#&Za|cA1u#_KI zq``PATGy~NRMvtb+K5F4Y{h1JY5URXSzAoY1eu*`3lVnm6(F*k_#KfJmSvxBVFev$ z!^Ut`2(`assoBhoa&V`DkeW*qHF!CNL50<1jXi7~8 ziFy=7%PZTFRgb==60J(cx}x#LY$UhlI^(5G(Vs!aV$PK+_FD#StO-v`2M6+lQVeV2 zB_KdxC?{%cV4#LA2?EnSbPpvKRaxT5M0ViLbp->zgE*8rM za~5@DSmFiKI~a%c%`yBB#af9$#IiX z-NEM%VXafm9WLX_uY{1(IH!*2=*Rm&cn~RvquH?T>VoHofCdKsJ9G*;+ckzQ7CL^{EV#owf{`-IoCUhoVr13^ z;ZoU4;f4inGDBm4Ua9pd&@06|XiAsn7TClTOjriMt4*sHG_03MF=M=cY9;oC7h%piR`f!lOqT8lFFOd6UYM84a zNfxRn1(e+TK{^ZIwkYFv2fu%`x1h`!JlRLj!sx?{u!f9E&FQ11@cGBubkOY%e>D(k z_2zn3wVz-!;tNjlGu@Z_JBUoC=CB~4(Lg(F>2rzf;17_G z=CrUqkAS4X@lbs-6c%eOOZ8AK$mK-444T7=C#-R}00*PVFhS33_ejTssIS*K2tXi` zPt>eevEASF<R86R^r{j$C8=)=FP#0{ z=BEu!B}0=gl~kS3B}gXOA-p4g@@lxepi7o>A*91rYu|tdgMl6_36XI_u<4O2;G6VK zojaRuVc#O!qbv2c{WW@)FyFE-bh2VH(dOY5d?t*iK6$mKc`MohXK< z<|&D}LsqL_@)!`z9$X*jlnW23%aCB}JuulWqooH5U8r>hQ+YAqvgO+jW=y(5nYBh|*$dCUNS97Tksbq0okC5~U>o96K}Y33om zYr%mQmo~Qx=(r;JgiN$vAk=9|pNINnDguPO0co>s9DAP*bXXSgZd~p^oh1`r0 zM)1H39YsEQa{yIGGc@9k37NkM$c%Oo*antHg;66%f)SSKH-muC*vXI$4xW)Lpo&F63u!S?rHjmt)a%GvWM<|cSmSZTtwu<*?<4w@ zUcFIT!>B(>1oEEV6#8Ya`%rLw1hzuv_d=xZ#S!ePzT}eH>tURc$(0vyTaBLVCdN4* z<8e5_seyPNcC9(Z^#z`h!~143JElf>5DkHk|EA4V_rTakWW1^d<&oL<5qY(b$cZsS z$Nr7|TceiPh)Ke?j(v!zVLRXKtBgVHehL}H?x&Q8NJZb=4r2F3iI2M*J%A5i4XiOiYoat|3B z5sVaYG7;%5nS?1PW;0pJye*`dA9uOmxFEQ1yewQFctNYKm5Yem7v9X7{_&c){orNA z&9>J1<^$sj-h9n17QF{bw~gZ_Bcp5tu-kEkO$TVQ6Z9O^ifGD+A8Bxyb##AG8kx}A zPeYi^L7=e`3~Jo(6C>y$WuTdAuPyM>xU;9vG;36`MHuaacVBYMtCND%A^ce-Y_^n~F%Jay z6?4oN0=;mK^^KD;1Dwe)ojs`R9j_mJQ3|``^XVgRVPbVVaCcl&-I=*o#`lO6(3=Qh ziWT4D=^90_fJ#()vlby$w*gi?a5ifuk7x@>`t{m99(mDEyl9K+jZYro2Gv+e>B`w; zv(~NIh8vIOaM#Gu8t)@=P%S+oYpi{ep&L`UyKRA4Cx}+PE?}&65NDVO-AcMdjdEhk zr~x0kMs4Rp&!~M8pi3VvR@aH7%*j&83fl=E1h*{fkwD^#JTwWyw+UmJ8SB+yNa8>n z2&>u@xiYiGWj}Ih+&I&j?|rz?rvp^131QTSPOG6pD5Ck^ClL(>xqv5@XzL(Z{_dP= zoHmWl+4dkCH|%n`5jr!>dhJXCM{uo>ElSr6bkckXf?+|nba4Qk5gv1uyI5^;p z`_L${Tc_0cYytKWv8@aFj!=yIUwg3v?FBI^H7|#CN}O5fzNQtPM1)evRAM(wF87&S5DQ`+b&qOV-&X z-ze3DRVsNPlb)NFc$sEvSyqs6DmyM;1SOr4Urg?Y zbna|Jm%@ldr}Ta1kJaW(ZP_iK#Nxe+E$#hw6PPfigV1z}tu{!j7jdmEy;i_}0W3ps zn}fWAVzxq$Clr>^?X(H2g#PEo?et+C`aBn=@FnXLO4f<>BBvM$WU0ljzH^nKJH^=f z;O^~cfyL^=XsKEj<10D9Q;QADf?o8|SRv|MVw{Ix7HjJ`u7&jnV|~RIB+tco)T;1y zD1lRea0yQr0Y0th=MmenGw>}Pr5##vrX7p!qBeg>6DUr>+qY3skO*&v}`*&0D? z-8~>SSUnKb@%8l}qAr!v`vE9k5=q1NDo#kaoT;-ej!IJ!#-rsN)i*ldx0qVM;!p{9 zXW3fRdF_l2!d&HNOgDlk6(+zb74Oxu*1BX*jCvATUw69HOHd`m?$R z#jn)oD!gu#(lqpl6Rh+b;11rA_S=-X~pKF}nUhO4TRxh5m?_8VD zqpWRd`_DB_??sfg8Bg1HuB*?ZtZixg&oxf(MU-_lp0@v7OPAhrR^w@V=bAXg+gc%W zGJGCQk5=g-DNh^>hx8){hdiKi@njoiA8v^sIytjAKQo)noSmDSSz1g_rDmPS90N>+ zpu_qGc?wD1<2iCf>s%P+_p2}wnmj2`SVDEDR-#^P5ifyZ!t{%0SWFP~z|y@Sy%O~r zqV;&J6)Q7D>*2Te5UrC1Lv&cX>@`Yv7>xBO9X<`*|4^Mcz;+SNocjm%O<^x4#%?`a zV|yuer=BhMKo(>B3@jYaujNWB4O64*D;WlDNuW-1@dewWz4ky@#PSh)`bBVxO*YY` zTwTy@S*~8`x+-fuTYz_2%T?%%Zp(7@N_R=+Dt0D>Rk$yHov>-yJ?pD8x-HAqg^WvY zho#PhTxz+xpxd%s-O_c}?=zR6--l(wrL(MnZ7G+r>vlo6CChrHyR;^LdCOJojBd+v z^-6b1Rsgj{OZ?SgL0a`j4gk@b}rKgQRM7MfHhW;W8L z%T>ZY5%(zT#bD@K>SQ8Nox(~#s!Z!oW;jlc#p3m&NQKpRSgFQCicu&pUBup6MAz&k z@$)W34=(q|1wnA>Og3Xp*HT_;2igj6f86T}OD_$qF9esuy*|6ZR_yE1e)`Ozcl~!$ zkuPCxLJh7fr@H0SMWx<~Ef<|n7Zvxi=hH>yyzKdO(Pu7uK3(*S%brh{@&2;s(`Ed< zjQRB0Eqmn{H;3@(7fn?-ogwEQGcHdn;OP^+`Vg`<_2?Io1)h$%C$){Cdp}MjPw|vX zU8CxSBN|gg(D-VuoJjbolhZS}zy+5M;UGOOU29dH6R^5@7C8>Yn73N=z20wHbaA98 zFSmvGI8<`1BUsOa?hh?=XvkR$2^Kl-_b-76t#aJ&zd>ytT(-&ccJ+h1Wh~HNCgICe zhBr7Ng=6V>vSkEjLR?a{HidJgC-~WY*)_bMf~jgNxJ5u#DY3LJCoX-cIgRsxcTOLZ zlpW!Cz=L-T$RRNtMPhEa*>O=n8ruzpy$WDbqc~!3sFSMzxx!tJn5D5 z@;JsWr(qjBnKtiVWD}fj>u`KbUwJRA;Chq7{X(s3i3T;r>t?c=4ji$@-EFvdNb!6) zo-Zik;u-T+lbrj)*)DS}nxL}VDd-Wt>BG;1I`yDjw?ty>b07ZMt#IndPF3Ng?4ICV z0h&}Sddj8>>?lSB_g9msRqPVc4_#X-qqy~B_OhgEu_vanvkDJ1=mp)|Z{kiAAA6%PAN+0iY;;|7kYAQ{d zC^nhhFPG?>hGOwzXh3YA2CJ$(e;T}tq5-i38jJzz`P0z6C>jtupuw0bo<9w%B@a7u z$MzlSw@DxY$VlL>Uw`6@X)kbadoM$}(3Ci&TUH8Pz&2hnze@}57|Po29_sZBZT1XZ zwV}zRZndQ980PRH%2<}e0nH4RCND(WM&B*DUKQ(@oTWl?tzhiq7$rx5aiI`L{jLPb z%5UOelpyRkNK18e%n2te<*zqlS!V5on7hb2bD)Xl$G_f)&1zFS#oXW38SyIYCxRI7 z1jjc7X;2`7+e9iA0-UJbS|s;3YRF^5SaHhhZAw)c+4U_TvO^=hThUxn6$NF6m85|p za1@u|@%_3*90XPvjz%RWMglBbayM*-7zwxM-1U~L1jb>|Q86u!T1WneDT(12nuF$PR)Ln2l@{=V(qi zQvSZLZr}Asqg|i(>i)1-@JQH^yYK1#hT{XTKlg_0gWX?peDtw5zUc=Z|G_uE<*jdf z`#awGLqGhkA9?qW{@4@mdGC+E@BKgVfhRxsp$~uLCx7avpZb}P{_M~F{6G1Hr+@LE z{?af1vw!|CKKAi{`76Krum1HXKKX0^=2O4^Z~w1N`5#~V z`rrP~|MiV;{@vey>)ZeEkKg&<-~HbI=l}X^*IJj9cCA0Ni33(Y#a6MRQB|`C_UQv= ziTz8WyVlBu#TG7*Fq<8_PtnFwCsVJR$)+*$k-=An9T#_VYvj-{uCj~9#&&w7W#`tiB1o_# zFr)}Tq0g)pF=3dfsG6f-m8#{Nm-x=xO=(d8( zYpVW$HaXctJ@3B1HT+`jDwxDUalh1x(FMX)gfcWCQd8B!6s|MJt28~bj8%j2CJS0h zx|>?Q+k3NMkgm$D3%KaWpvJBD7!0INJo82}e;fd=ND*CuBgfSzKq* zoWykP$WR;A!}69Hsy!Pp3AY}j#f*>5%}yT;fwN?u>+5%Xo`U7~vbgBSXRzNlSO?gM z>igAkBo&OuaLGyttz?!w)G5fSlDgTBA3BY@Gw^_>MibE6MwpO)AQC&4X%utv;9TbP z;;|4>5P#7qdhr$wZv2D2&N z(|lWc?s$6o{wyBD!A9@&{1Pu;Qa(OxM=;MXK2XAyg6DMQAflg22<|$(9zJ@^7JyTL zZi6d(KqzXP6qQCM^yH3r5xBq^w9Q>oSh$k-AkMK~ZBR^_bPR6?!Q z@D}EBt%m!Zao|FEr4>An&TFX}3WuvhK3qzL2d#aW_JYd+h#q-w%a0^JeQ~>f{tU+g zu+I)xBl7r{d@tub$U+U7^b<1wBRaymiS1VOAmvskCSbBuVZXlbGP_oC*C%z-ZlR$P z9qEc9Mn+d$x zcMNH6-I<}=VfS$I2sf=#K|G@76JtT;ClaA%mUd|+=pJ0@9bE1m{7~=U9D_5>@oYAk zNQOI5dY$4Y!7h-caBF($bunHY_GLB!U6YFeBa&S2`v@f$Lxx(~z32O0fT`_`Ctq>h z4cm9U@}^e}u2yUHhnJllS6z?ytH1x6mtH+|%gb)QcIOLU{_26(yyeYry!E!*C+|9P z_tf#%&f(G-Gk47w+~P{qD-8NM8H!g)DG!hGkrctV}hciox0c~K1g#?W%hGdK0>2U8qC;+kC1B?Xf zXakCK)v1@jvGm?krgAOUO&P#fs3}aQ^y9k*ZttJ;Yss)!H-VrM(|kWE@GkMGOJRgC zeP+YW^H$Re?g-UaZ(DBqw<@R1)!X1EiYGPB2PLs72+y$M8FMljZ%o$e(mwd!U=V2u z7j;(nv?y2WBwH!GsRNW$CqYzUy42`OI>uSOVGx zPHgkxq-p6kLImDH(GSLg2XfdnD2Iu~w#k-hI+>2{0hjJ&o|-YH6tX*8lrG22w`6ce17s`u0k0?Om=ZBu{Xu`{ZqN1F|EA$RD&ZEsl6=xVmW5sq$^jCh5*y*S+9{ z*WYmCO&F11`m&q9FEBal2wR0;GzFJ80m`%e>MO6>p>9+=)r~jasPMOg|0s1W|JkKd z-+FS#uH84P>vtmf%AHrMZ7;fZ*DeHKg@1ObtC)ldQ@{AZ9lN$6{=dZU%|OTaK&q}# z*CHm+N&M7T80|Wh`Wk*;avk%Kf3B5(`Hirj{1D>25Ge8ck{2M#cK)NTeIfr<_!nWH zXPg^U>MQtt)%AqSKiA&CPlbQ+|4sP1>86`h>O&vivFnA_ClRhysm}sPfY&+FQkirnHY%@jmVBR5pdTnD8^Tbar8e#Nd1W^xO=N zw#oNWdQQL+=hW>myV4bQVXXt>HF2( z>C9|)_SDouYUzY(tmmwzd#F_NvQTziU-vz%RbRl<`8K_m=aoCf?5H6JF%$cJeHss9 zLj-Mwx;?>GIgA^!^%%7!{#f)ru|pe!>Q(6%yN$jT_Cyv_bMP)b+l z)j(ZMS(*;wvg|C@1~qdIL$f2RKw#EhTiuOqLAefRvp$vpn%L)qqfOP%QW)GZ%Py=B zkcYBlkx?RcK7}_z2Kc4Qk@CTGZ^~!t_L9mcSOOAk`2g-vK1SB%>y%}`{8mR0YDC`~BR0C-ZaZvPuoHMYDH+>u%%^5hWQgdoyPQ5l)ZRIe7JLWDo4=2v*{RGq@)kH7QKKm~xuV)X~G5+e{a zh>A#vgD9AuDVYk&U|wagD2{yQYVxy$hi2%#&n@6JUw$pE;+;8u9BY*Lli|xi@&Tks zrI3Wt8If@q!Dqw3*^z$Coex=I7C>6Jr%T@~~OwoG6{2 zUDh|p8RLx(i*}`W0=W&)RAwY>y(2Q65yB*0AQ#oZES8RSzK4aR=i4YK^FxTh%usIa zIX#a?5Y0)1-{@Fdah`7z@QWjeg0^9}Md1bP-22S6XO;dYa9o&+_>pt zK?x7sW?RkTq4exSFH8l7>AdLFra3!waG?FBu$(c@&g#XaOqNQ zJ&TvwJK;WLsS1z%eunvO`S~%{w~R6Eb&F!PfGpPH>V8r7=Q)Flux?C1(W04XWV?RX z9gm{9mK}#MlAHb+@F)O=>WbqZwok!wpx-LSvs5%C@|`?bjpa3v0Z(RrvIt8nhfMGB zA{L&&>N|4Bh?p6=SdIy>hht$8CZB6z6&9A8!>)Z?j|S>&HovivTQ037V0q`ozm+UW z!o#b@+6-g+zG!R;UayqZOWA%L@I8VO&9NGOt!uPI;=N9#Rzr>vg0qP`xg7(r%TNgalfv Iv{&i>18Cwl^8f$< literal 0 HcmV?d00001 diff --git a/sample/diff/sample.png b/sample/diff/sample.png new file mode 100644 index 0000000000000000000000000000000000000000..186267aca3d0c88e421746948244703fa9bf234e GIT binary patch literal 28829 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 literal 0 HcmV?d00001 diff --git a/sample/diff/sample0.webp b/sample/diff/sample0.webp deleted file mode 100644 index 4113697e299ef3e3028bb23dd974ecd96c96c2f7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5666 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 diff --git a/sample/expected/sample.png b/sample/expected/sample.png new file mode 100644 index 0000000000000000000000000000000000000000..32fd28363d8430f9b02c4b02c711eb2682bfc4e0 GIT binary patch literal 43691 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∨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 literal 0 HcmV?d00001 diff --git a/sample/reg.json b/sample/reg.json new file mode 100644 index 00000000..97ec4287 --- /dev/null +++ b/sample/reg.json @@ -0,0 +1,12 @@ +{ + "failedItems": ["sample.png"], + "newItems":[], + "deletedItems":[], + "passedItems":[], + "expectedItems":["sample.png"], + "actualItems":["sample.png"], + "diffItems":["sample.png"], + "actualDir":"./actual", + "expectedDir":"./expected", + "diffDir":"./diff" +} \ No newline at end of file diff --git a/sample/worker.js b/sample/worker.js new file mode 100644 index 00000000..8784aa16 --- /dev/null +++ b/sample/worker.js @@ -0,0 +1,1575 @@ +self.wasmUrl = './detector.wasm'; + +(function() { + "use strict"; + function isArray(value) { + return !Array.isArray ? getTag(value) === "[object Array]" : Array.isArray(value); + } + const INFINITY = 1 / 0; + function baseToString(value) { + if (typeof value == "string") { + return value; + } + let result = value + ""; + return result == "0" && 1 / value == -INFINITY ? "-0" : result; + } + function toString(value) { + return value == null ? "" : baseToString(value); + } + function isString(value) { + return typeof value === "string"; + } + function isNumber(value) { + return typeof value === "number"; + } + function isBoolean(value) { + return value === true || value === false || isObjectLike(value) && getTag(value) == "[object Boolean]"; + } + function isObject(value) { + return typeof value === "object"; + } + function isObjectLike(value) { + return isObject(value) && value !== null; + } + function isDefined(value) { + return value !== void 0 && value !== null; + } + function isBlank(value) { + return !value.trim().length; + } + function getTag(value) { + return value == null ? value === void 0 ? "[object Undefined]" : "[object Null]" : Object.prototype.toString.call(value); + } + const EXTENDED_SEARCH_UNAVAILABLE = "Extended search is not available"; + const INCORRECT_INDEX_TYPE = "Incorrect 'index' type"; + const LOGICAL_SEARCH_INVALID_QUERY_FOR_KEY = (key) => `Invalid value for key ${key}`; + const PATTERN_LENGTH_TOO_LARGE = (max) => `Pattern length exceeds max of ${max}.`; + const MISSING_KEY_PROPERTY = (name2) => `Missing ${name2} property in key`; + const INVALID_KEY_WEIGHT_VALUE = (key) => `Property 'weight' in key '${key}' must be a positive integer`; + const hasOwn = Object.prototype.hasOwnProperty; + class KeyStore { + constructor(keys) { + this._keys = []; + this._keyMap = {}; + let totalWeight = 0; + keys.forEach((key) => { + let obj = createKey(key); + this._keys.push(obj); + this._keyMap[obj.id] = obj; + totalWeight += obj.weight; + }); + this._keys.forEach((key) => { + key.weight /= totalWeight; + }); + } + get(keyId) { + return this._keyMap[keyId]; + } + keys() { + return this._keys; + } + toJSON() { + return JSON.stringify(this._keys); + } + } + function createKey(key) { + let path = null; + let id = null; + let src = null; + let weight = 1; + let getFn = null; + if (isString(key) || isArray(key)) { + src = key; + path = createKeyPath(key); + id = createKeyId(key); + } else { + if (!hasOwn.call(key, "name")) { + throw new Error(MISSING_KEY_PROPERTY("name")); + } + const name2 = key.name; + src = name2; + if (hasOwn.call(key, "weight")) { + weight = key.weight; + if (weight <= 0) { + throw new Error(INVALID_KEY_WEIGHT_VALUE(name2)); + } + } + path = createKeyPath(name2); + id = createKeyId(name2); + getFn = key.getFn; + } + return { path, id, weight, src, getFn }; + } + function createKeyPath(key) { + return isArray(key) ? key : key.split("."); + } + function createKeyId(key) { + return isArray(key) ? key.join(".") : key; + } + function get(obj, path) { + let list = []; + let arr = false; + const deepGet = (obj2, path2, index) => { + if (!isDefined(obj2)) { + return; + } + if (!path2[index]) { + list.push(obj2); + } else { + let key = path2[index]; + const value = obj2[key]; + if (!isDefined(value)) { + return; + } + if (index === path2.length - 1 && (isString(value) || isNumber(value) || isBoolean(value))) { + list.push(toString(value)); + } else if (isArray(value)) { + arr = true; + for (let i = 0, len = value.length; i < len; i += 1) { + deepGet(value[i], path2, index + 1); + } + } else if (path2.length) { + deepGet(value, path2, index + 1); + } + } + }; + deepGet(obj, isString(path) ? path.split(".") : path, 0); + return arr ? list : list[0]; + } + const MatchOptions = { + // Whether the matches should be included in the result set. When `true`, each record in the result + // set will include the indices of the matched characters. + // These can consequently be used for highlighting purposes. + includeMatches: false, + // When `true`, the matching function will continue to the end of a search pattern even if + // a perfect match has already been located in the string. + findAllMatches: false, + // Minimum number of characters that must be matched before a result is considered a match + minMatchCharLength: 1 + }; + const BasicOptions = { + // When `true`, the algorithm continues searching to the end of the input even if a perfect + // match is found before the end of the same input. + isCaseSensitive: false, + // When true, the matching function will continue to the end of a search pattern even if + includeScore: false, + // List of properties that will be searched. This also supports nested properties. + keys: [], + // Whether to sort the result list, by score + shouldSort: true, + // Default sort function: sort by ascending score, ascending index + sortFn: (a, b) => a.score === b.score ? a.idx < b.idx ? -1 : 1 : a.score < b.score ? -1 : 1 + }; + const FuzzyOptions = { + // Approximately where in the text is the pattern expected to be found? + location: 0, + // At what point does the match algorithm give up. A threshold of '0.0' requires a perfect match + // (of both letters and location), a threshold of '1.0' would match anything. + threshold: 0.6, + // Determines how close the match must be to the fuzzy location (specified above). + // An exact letter match which is 'distance' characters away from the fuzzy location + // would score as a complete mismatch. A distance of '0' requires the match be at + // the exact location specified, a threshold of '1000' would require a perfect match + // to be within 800 characters of the fuzzy location to be found using a 0.8 threshold. + distance: 100 + }; + const AdvancedOptions = { + // When `true`, it enables the use of unix-like search commands + useExtendedSearch: false, + // The get function to use when fetching an object's properties. + // The default will search nested paths *ie foo.bar.baz* + getFn: get, + // When `true`, search will ignore `location` and `distance`, so it won't matter + // where in the string the pattern appears. + // More info: https://fusejs.io/concepts/scoring-theory.html#fuzziness-score + ignoreLocation: false, + // When `true`, the calculation for the relevance score (used for sorting) will + // ignore the field-length norm. + // More info: https://fusejs.io/concepts/scoring-theory.html#field-length-norm + ignoreFieldNorm: false, + // The weight to determine how much field length norm effects scoring. + fieldNormWeight: 1 + }; + var Config = { + ...BasicOptions, + ...MatchOptions, + ...FuzzyOptions, + ...AdvancedOptions + }; + const SPACE = /[^ ]+/g; + function norm(weight = 1, mantissa = 3) { + const cache = /* @__PURE__ */ new Map(); + const m = Math.pow(10, mantissa); + return { + get(value) { + const numTokens = value.match(SPACE).length; + if (cache.has(numTokens)) { + return cache.get(numTokens); + } + const norm2 = 1 / Math.pow(numTokens, 0.5 * weight); + const n = parseFloat(Math.round(norm2 * m) / m); + cache.set(numTokens, n); + return n; + }, + clear() { + cache.clear(); + } + }; + } + class FuseIndex { + constructor({ + getFn = Config.getFn, + fieldNormWeight = Config.fieldNormWeight + } = {}) { + this.norm = norm(fieldNormWeight, 3); + this.getFn = getFn; + this.isCreated = false; + this.setIndexRecords(); + } + setSources(docs = []) { + this.docs = docs; + } + setIndexRecords(records = []) { + this.records = records; + } + setKeys(keys = []) { + this.keys = keys; + this._keysMap = {}; + keys.forEach((key, idx) => { + this._keysMap[key.id] = idx; + }); + } + create() { + if (this.isCreated || !this.docs.length) { + return; + } + this.isCreated = true; + if (isString(this.docs[0])) { + this.docs.forEach((doc, docIndex) => { + this._addString(doc, docIndex); + }); + } else { + this.docs.forEach((doc, docIndex) => { + this._addObject(doc, docIndex); + }); + } + this.norm.clear(); + } + // Adds a doc to the end of the index + add(doc) { + const idx = this.size(); + if (isString(doc)) { + this._addString(doc, idx); + } else { + this._addObject(doc, idx); + } + } + // Removes the doc at the specified index of the index + removeAt(idx) { + this.records.splice(idx, 1); + for (let i = idx, len = this.size(); i < len; i += 1) { + this.records[i].i -= 1; + } + } + getValueForItemAtKeyId(item, keyId) { + return item[this._keysMap[keyId]]; + } + size() { + return this.records.length; + } + _addString(doc, docIndex) { + if (!isDefined(doc) || isBlank(doc)) { + return; + } + let record = { + v: doc, + i: docIndex, + n: this.norm.get(doc) + }; + this.records.push(record); + } + _addObject(doc, docIndex) { + let record = { i: docIndex, $: {} }; + this.keys.forEach((key, keyIndex) => { + let value = key.getFn ? key.getFn(doc) : this.getFn(doc, key.path); + if (!isDefined(value)) { + return; + } + if (isArray(value)) { + let subRecords = []; + const stack = [{ nestedArrIndex: -1, value }]; + while (stack.length) { + const { nestedArrIndex, value: value2 } = stack.pop(); + if (!isDefined(value2)) { + continue; + } + if (isString(value2) && !isBlank(value2)) { + let subRecord = { + v: value2, + i: nestedArrIndex, + n: this.norm.get(value2) + }; + subRecords.push(subRecord); + } else if (isArray(value2)) { + value2.forEach((item, k) => { + stack.push({ + nestedArrIndex: k, + value: item + }); + }); + } else + ; + } + record.$[keyIndex] = subRecords; + } else if (isString(value) && !isBlank(value)) { + let subRecord = { + v: value, + n: this.norm.get(value) + }; + record.$[keyIndex] = subRecord; + } + }); + this.records.push(record); + } + toJSON() { + return { + keys: this.keys, + records: this.records + }; + } + } + function createIndex(keys, docs, { getFn = Config.getFn, fieldNormWeight = Config.fieldNormWeight } = {}) { + const myIndex = new FuseIndex({ getFn, fieldNormWeight }); + myIndex.setKeys(keys.map(createKey)); + myIndex.setSources(docs); + myIndex.create(); + return myIndex; + } + function parseIndex(data, { getFn = Config.getFn, fieldNormWeight = Config.fieldNormWeight } = {}) { + const { keys, records } = data; + const myIndex = new FuseIndex({ getFn, fieldNormWeight }); + myIndex.setKeys(keys); + myIndex.setIndexRecords(records); + return myIndex; + } + function computeScore$1(pattern, { + errors = 0, + currentLocation = 0, + expectedLocation = 0, + distance = Config.distance, + ignoreLocation = Config.ignoreLocation + } = {}) { + const accuracy = errors / pattern.length; + if (ignoreLocation) { + return accuracy; + } + const proximity = Math.abs(expectedLocation - currentLocation); + if (!distance) { + return proximity ? 1 : accuracy; + } + return accuracy + proximity / distance; + } + function convertMaskToIndices(matchmask = [], minMatchCharLength = Config.minMatchCharLength) { + let indices = []; + let start = -1; + let end = -1; + let i = 0; + for (let len = matchmask.length; i < len; i += 1) { + let match = matchmask[i]; + if (match && start === -1) { + start = i; + } else if (!match && start !== -1) { + end = i - 1; + if (end - start + 1 >= minMatchCharLength) { + indices.push([start, end]); + } + start = -1; + } + } + if (matchmask[i - 1] && i - start >= minMatchCharLength) { + indices.push([start, i - 1]); + } + return indices; + } + const MAX_BITS = 32; + function search(text, pattern, patternAlphabet, { + location = Config.location, + distance = Config.distance, + threshold = Config.threshold, + findAllMatches = Config.findAllMatches, + minMatchCharLength = Config.minMatchCharLength, + includeMatches = Config.includeMatches, + ignoreLocation = Config.ignoreLocation + } = {}) { + if (pattern.length > MAX_BITS) { + throw new Error(PATTERN_LENGTH_TOO_LARGE(MAX_BITS)); + } + const patternLen = pattern.length; + const textLen = text.length; + const expectedLocation = Math.max(0, Math.min(location, textLen)); + let currentThreshold = threshold; + let bestLocation = expectedLocation; + const computeMatches = minMatchCharLength > 1 || includeMatches; + const matchMask = computeMatches ? Array(textLen) : []; + let index; + while ((index = text.indexOf(pattern, bestLocation)) > -1) { + let score = computeScore$1(pattern, { + currentLocation: index, + expectedLocation, + distance, + ignoreLocation + }); + currentThreshold = Math.min(score, currentThreshold); + bestLocation = index + patternLen; + if (computeMatches) { + let i = 0; + while (i < patternLen) { + matchMask[index + i] = 1; + i += 1; + } + } + } + bestLocation = -1; + let lastBitArr = []; + let finalScore = 1; + let binMax = patternLen + textLen; + const mask = 1 << patternLen - 1; + for (let i = 0; i < patternLen; i += 1) { + let binMin = 0; + let binMid = binMax; + while (binMin < binMid) { + const score2 = computeScore$1(pattern, { + errors: i, + currentLocation: expectedLocation + binMid, + expectedLocation, + distance, + ignoreLocation + }); + if (score2 <= currentThreshold) { + binMin = binMid; + } else { + binMax = binMid; + } + binMid = Math.floor((binMax - binMin) / 2 + binMin); + } + binMax = binMid; + let start = Math.max(1, expectedLocation - binMid + 1); + let finish = findAllMatches ? textLen : Math.min(expectedLocation + binMid, textLen) + patternLen; + let bitArr = Array(finish + 2); + bitArr[finish + 1] = (1 << i) - 1; + for (let j = finish; j >= start; j -= 1) { + let currentLocation = j - 1; + let charMatch = patternAlphabet[text.charAt(currentLocation)]; + if (computeMatches) { + matchMask[currentLocation] = +!!charMatch; + } + bitArr[j] = (bitArr[j + 1] << 1 | 1) & charMatch; + if (i) { + bitArr[j] |= (lastBitArr[j + 1] | lastBitArr[j]) << 1 | 1 | lastBitArr[j + 1]; + } + if (bitArr[j] & mask) { + finalScore = computeScore$1(pattern, { + errors: i, + currentLocation, + expectedLocation, + distance, + ignoreLocation + }); + if (finalScore <= currentThreshold) { + currentThreshold = finalScore; + bestLocation = currentLocation; + if (bestLocation <= expectedLocation) { + break; + } + start = Math.max(1, 2 * expectedLocation - bestLocation); + } + } + } + const score = computeScore$1(pattern, { + errors: i + 1, + currentLocation: expectedLocation, + expectedLocation, + distance, + ignoreLocation + }); + if (score > currentThreshold) { + break; + } + lastBitArr = bitArr; + } + const result = { + isMatch: bestLocation >= 0, + // Count exact matches (those with a score of 0) to be "almost" exact + score: Math.max(1e-3, finalScore) + }; + if (computeMatches) { + const indices = convertMaskToIndices(matchMask, minMatchCharLength); + if (!indices.length) { + result.isMatch = false; + } else if (includeMatches) { + result.indices = indices; + } + } + return result; + } + function createPatternAlphabet(pattern) { + let mask = {}; + for (let i = 0, len = pattern.length; i < len; i += 1) { + const char = pattern.charAt(i); + mask[char] = (mask[char] || 0) | 1 << len - i - 1; + } + return mask; + } + class BitapSearch { + constructor(pattern, { + location = Config.location, + threshold = Config.threshold, + distance = Config.distance, + includeMatches = Config.includeMatches, + findAllMatches = Config.findAllMatches, + minMatchCharLength = Config.minMatchCharLength, + isCaseSensitive = Config.isCaseSensitive, + ignoreLocation = Config.ignoreLocation + } = {}) { + this.options = { + location, + threshold, + distance, + includeMatches, + findAllMatches, + minMatchCharLength, + isCaseSensitive, + ignoreLocation + }; + this.pattern = isCaseSensitive ? pattern : pattern.toLowerCase(); + this.chunks = []; + if (!this.pattern.length) { + return; + } + const addChunk = (pattern2, startIndex) => { + this.chunks.push({ + pattern: pattern2, + alphabet: createPatternAlphabet(pattern2), + startIndex + }); + }; + const len = this.pattern.length; + if (len > MAX_BITS) { + let i = 0; + const remainder = len % MAX_BITS; + const end = len - remainder; + while (i < end) { + addChunk(this.pattern.substr(i, MAX_BITS), i); + i += MAX_BITS; + } + if (remainder) { + const startIndex = len - MAX_BITS; + addChunk(this.pattern.substr(startIndex), startIndex); + } + } else { + addChunk(this.pattern, 0); + } + } + searchIn(text) { + const { isCaseSensitive, includeMatches } = this.options; + if (!isCaseSensitive) { + text = text.toLowerCase(); + } + if (this.pattern === text) { + let result2 = { + isMatch: true, + score: 0 + }; + if (includeMatches) { + result2.indices = [[0, text.length - 1]]; + } + return result2; + } + const { + location, + distance, + threshold, + findAllMatches, + minMatchCharLength, + ignoreLocation + } = this.options; + let allIndices = []; + let totalScore = 0; + let hasMatches = false; + this.chunks.forEach(({ pattern, alphabet, startIndex }) => { + const { isMatch, score, indices } = search(text, pattern, alphabet, { + location: location + startIndex, + distance, + threshold, + findAllMatches, + minMatchCharLength, + includeMatches, + ignoreLocation + }); + if (isMatch) { + hasMatches = true; + } + totalScore += score; + if (isMatch && indices) { + allIndices = [...allIndices, ...indices]; + } + }); + let result = { + isMatch: hasMatches, + score: hasMatches ? totalScore / this.chunks.length : 1 + }; + if (hasMatches && includeMatches) { + result.indices = allIndices; + } + return result; + } + } + class BaseMatch { + constructor(pattern) { + this.pattern = pattern; + } + static isMultiMatch(pattern) { + return getMatch(pattern, this.multiRegex); + } + static isSingleMatch(pattern) { + return getMatch(pattern, this.singleRegex); + } + search() { + } + } + function getMatch(pattern, exp) { + const matches = pattern.match(exp); + return matches ? matches[1] : null; + } + class ExactMatch extends BaseMatch { + constructor(pattern) { + super(pattern); + } + static get type() { + return "exact"; + } + static get multiRegex() { + return /^="(.*)"$/; + } + static get singleRegex() { + return /^=(.*)$/; + } + search(text) { + const isMatch = text === this.pattern; + return { + isMatch, + score: isMatch ? 0 : 1, + indices: [0, this.pattern.length - 1] + }; + } + } + class InverseExactMatch extends BaseMatch { + constructor(pattern) { + super(pattern); + } + static get type() { + return "inverse-exact"; + } + static get multiRegex() { + return /^!"(.*)"$/; + } + static get singleRegex() { + return /^!(.*)$/; + } + search(text) { + const index = text.indexOf(this.pattern); + const isMatch = index === -1; + return { + isMatch, + score: isMatch ? 0 : 1, + indices: [0, text.length - 1] + }; + } + } + class PrefixExactMatch extends BaseMatch { + constructor(pattern) { + super(pattern); + } + static get type() { + return "prefix-exact"; + } + static get multiRegex() { + return /^\^"(.*)"$/; + } + static get singleRegex() { + return /^\^(.*)$/; + } + search(text) { + const isMatch = text.startsWith(this.pattern); + return { + isMatch, + score: isMatch ? 0 : 1, + indices: [0, this.pattern.length - 1] + }; + } + } + class InversePrefixExactMatch extends BaseMatch { + constructor(pattern) { + super(pattern); + } + static get type() { + return "inverse-prefix-exact"; + } + static get multiRegex() { + return /^!\^"(.*)"$/; + } + static get singleRegex() { + return /^!\^(.*)$/; + } + search(text) { + const isMatch = !text.startsWith(this.pattern); + return { + isMatch, + score: isMatch ? 0 : 1, + indices: [0, text.length - 1] + }; + } + } + class SuffixExactMatch extends BaseMatch { + constructor(pattern) { + super(pattern); + } + static get type() { + return "suffix-exact"; + } + static get multiRegex() { + return /^"(.*)"\$$/; + } + static get singleRegex() { + return /^(.*)\$$/; + } + search(text) { + const isMatch = text.endsWith(this.pattern); + return { + isMatch, + score: isMatch ? 0 : 1, + indices: [text.length - this.pattern.length, text.length - 1] + }; + } + } + class InverseSuffixExactMatch extends BaseMatch { + constructor(pattern) { + super(pattern); + } + static get type() { + return "inverse-suffix-exact"; + } + static get multiRegex() { + return /^!"(.*)"\$$/; + } + static get singleRegex() { + return /^!(.*)\$$/; + } + search(text) { + const isMatch = !text.endsWith(this.pattern); + return { + isMatch, + score: isMatch ? 0 : 1, + indices: [0, text.length - 1] + }; + } + } + class FuzzyMatch extends BaseMatch { + constructor(pattern, { + location = Config.location, + threshold = Config.threshold, + distance = Config.distance, + includeMatches = Config.includeMatches, + findAllMatches = Config.findAllMatches, + minMatchCharLength = Config.minMatchCharLength, + isCaseSensitive = Config.isCaseSensitive, + ignoreLocation = Config.ignoreLocation + } = {}) { + super(pattern); + this._bitapSearch = new BitapSearch(pattern, { + location, + threshold, + distance, + includeMatches, + findAllMatches, + minMatchCharLength, + isCaseSensitive, + ignoreLocation + }); + } + static get type() { + return "fuzzy"; + } + static get multiRegex() { + return /^"(.*)"$/; + } + static get singleRegex() { + return /^(.*)$/; + } + search(text) { + return this._bitapSearch.searchIn(text); + } + } + class IncludeMatch extends BaseMatch { + constructor(pattern) { + super(pattern); + } + static get type() { + return "include"; + } + static get multiRegex() { + return /^'"(.*)"$/; + } + static get singleRegex() { + return /^'(.*)$/; + } + search(text) { + let location = 0; + let index; + const indices = []; + const patternLen = this.pattern.length; + while ((index = text.indexOf(this.pattern, location)) > -1) { + location = index + patternLen; + indices.push([index, location - 1]); + } + const isMatch = !!indices.length; + return { + isMatch, + score: isMatch ? 0 : 1, + indices + }; + } + } + const searchers = [ + ExactMatch, + IncludeMatch, + PrefixExactMatch, + InversePrefixExactMatch, + InverseSuffixExactMatch, + SuffixExactMatch, + InverseExactMatch, + FuzzyMatch + ]; + const searchersLen = searchers.length; + const SPACE_RE = / +(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)/; + const OR_TOKEN = "|"; + function parseQuery(pattern, options = {}) { + return pattern.split(OR_TOKEN).map((item) => { + let query = item.trim().split(SPACE_RE).filter((item2) => item2 && !!item2.trim()); + let results = []; + for (let i = 0, len = query.length; i < len; i += 1) { + const queryItem = query[i]; + let found = false; + let idx = -1; + while (!found && ++idx < searchersLen) { + const searcher = searchers[idx]; + let token = searcher.isMultiMatch(queryItem); + if (token) { + results.push(new searcher(token, options)); + found = true; + } + } + if (found) { + continue; + } + idx = -1; + while (++idx < searchersLen) { + const searcher = searchers[idx]; + let token = searcher.isSingleMatch(queryItem); + if (token) { + results.push(new searcher(token, options)); + break; + } + } + } + return results; + }); + } + const MultiMatchSet = /* @__PURE__ */ new Set([FuzzyMatch.type, IncludeMatch.type]); + class ExtendedSearch { + constructor(pattern, { + isCaseSensitive = Config.isCaseSensitive, + includeMatches = Config.includeMatches, + minMatchCharLength = Config.minMatchCharLength, + ignoreLocation = Config.ignoreLocation, + findAllMatches = Config.findAllMatches, + location = Config.location, + threshold = Config.threshold, + distance = Config.distance + } = {}) { + this.query = null; + this.options = { + isCaseSensitive, + includeMatches, + minMatchCharLength, + findAllMatches, + ignoreLocation, + location, + threshold, + distance + }; + this.pattern = isCaseSensitive ? pattern : pattern.toLowerCase(); + this.query = parseQuery(this.pattern, this.options); + } + static condition(_, options) { + return options.useExtendedSearch; + } + searchIn(text) { + const query = this.query; + if (!query) { + return { + isMatch: false, + score: 1 + }; + } + const { includeMatches, isCaseSensitive } = this.options; + text = isCaseSensitive ? text : text.toLowerCase(); + let numMatches = 0; + let allIndices = []; + let totalScore = 0; + for (let i = 0, qLen = query.length; i < qLen; i += 1) { + const searchers2 = query[i]; + allIndices.length = 0; + numMatches = 0; + for (let j = 0, pLen = searchers2.length; j < pLen; j += 1) { + const searcher = searchers2[j]; + const { isMatch, indices, score } = searcher.search(text); + if (isMatch) { + numMatches += 1; + totalScore += score; + if (includeMatches) { + const type = searcher.constructor.type; + if (MultiMatchSet.has(type)) { + allIndices = [...allIndices, ...indices]; + } else { + allIndices.push(indices); + } + } + } else { + totalScore = 0; + numMatches = 0; + allIndices.length = 0; + break; + } + } + if (numMatches) { + let result = { + isMatch: true, + score: totalScore / numMatches + }; + if (includeMatches) { + result.indices = allIndices; + } + return result; + } + } + return { + isMatch: false, + score: 1 + }; + } + } + const registeredSearchers = []; + function register(...args) { + registeredSearchers.push(...args); + } + function createSearcher(pattern, options) { + for (let i = 0, len = registeredSearchers.length; i < len; i += 1) { + let searcherClass = registeredSearchers[i]; + if (searcherClass.condition(pattern, options)) { + return new searcherClass(pattern, options); + } + } + return new BitapSearch(pattern, options); + } + const LogicalOperator = { + AND: "$and", + OR: "$or" + }; + const KeyType = { + PATH: "$path", + PATTERN: "$val" + }; + const isExpression = (query) => !!(query[LogicalOperator.AND] || query[LogicalOperator.OR]); + const isPath = (query) => !!query[KeyType.PATH]; + const isLeaf = (query) => !isArray(query) && isObject(query) && !isExpression(query); + const convertToExplicit = (query) => ({ + [LogicalOperator.AND]: Object.keys(query).map((key) => ({ + [key]: query[key] + })) + }); + function parse(query, options, { auto = true } = {}) { + const next = (query2) => { + let keys = Object.keys(query2); + const isQueryPath = isPath(query2); + if (!isQueryPath && keys.length > 1 && !isExpression(query2)) { + return next(convertToExplicit(query2)); + } + if (isLeaf(query2)) { + const key = isQueryPath ? query2[KeyType.PATH] : keys[0]; + const pattern = isQueryPath ? query2[KeyType.PATTERN] : query2[key]; + if (!isString(pattern)) { + throw new Error(LOGICAL_SEARCH_INVALID_QUERY_FOR_KEY(key)); + } + const obj = { + keyId: createKeyId(key), + pattern + }; + if (auto) { + obj.searcher = createSearcher(pattern, options); + } + return obj; + } + let node = { + children: [], + operator: keys[0] + }; + keys.forEach((key) => { + const value = query2[key]; + if (isArray(value)) { + value.forEach((item) => { + node.children.push(next(item)); + }); + } + }); + return node; + }; + if (!isExpression(query)) { + query = convertToExplicit(query); + } + return next(query); + } + function computeScore(results, { ignoreFieldNorm = Config.ignoreFieldNorm }) { + results.forEach((result) => { + let totalScore = 1; + result.matches.forEach(({ key, norm: norm2, score }) => { + const weight = key ? key.weight : null; + totalScore *= Math.pow( + score === 0 && weight ? Number.EPSILON : score, + (weight || 1) * (ignoreFieldNorm ? 1 : norm2) + ); + }); + result.score = totalScore; + }); + } + function transformMatches(result, data) { + const matches = result.matches; + data.matches = []; + if (!isDefined(matches)) { + return; + } + matches.forEach((match) => { + if (!isDefined(match.indices) || !match.indices.length) { + return; + } + const { indices, value } = match; + let obj = { + indices, + value + }; + if (match.key) { + obj.key = match.key.src; + } + if (match.idx > -1) { + obj.refIndex = match.idx; + } + data.matches.push(obj); + }); + } + function transformScore(result, data) { + data.score = result.score; + } + function format(results, docs, { + includeMatches = Config.includeMatches, + includeScore = Config.includeScore + } = {}) { + const transformers = []; + if (includeMatches) + transformers.push(transformMatches); + if (includeScore) + transformers.push(transformScore); + return results.map((result) => { + const { idx } = result; + const data = { + item: docs[idx], + refIndex: idx + }; + if (transformers.length) { + transformers.forEach((transformer) => { + transformer(result, data); + }); + } + return data; + }); + } + class Fuse { + constructor(docs, options = {}, index) { + this.options = { ...Config, ...options }; + if (this.options.useExtendedSearch && false) { + throw new Error(EXTENDED_SEARCH_UNAVAILABLE); + } + this._keyStore = new KeyStore(this.options.keys); + this.setCollection(docs, index); + } + setCollection(docs, index) { + this._docs = docs; + if (index && !(index instanceof FuseIndex)) { + throw new Error(INCORRECT_INDEX_TYPE); + } + this._myIndex = index || createIndex(this.options.keys, this._docs, { + getFn: this.options.getFn, + fieldNormWeight: this.options.fieldNormWeight + }); + } + add(doc) { + if (!isDefined(doc)) { + return; + } + this._docs.push(doc); + this._myIndex.add(doc); + } + remove(predicate = () => false) { + const results = []; + for (let i = 0, len = this._docs.length; i < len; i += 1) { + const doc = this._docs[i]; + if (predicate(doc, i)) { + this.removeAt(i); + i -= 1; + len -= 1; + results.push(doc); + } + } + return results; + } + removeAt(idx) { + this._docs.splice(idx, 1); + this._myIndex.removeAt(idx); + } + getIndex() { + return this._myIndex; + } + search(query, { limit = -1 } = {}) { + const { + includeMatches, + includeScore, + shouldSort, + sortFn, + ignoreFieldNorm + } = this.options; + let results = isString(query) ? isString(this._docs[0]) ? this._searchStringList(query) : this._searchObjectList(query) : this._searchLogical(query); + computeScore(results, { ignoreFieldNorm }); + if (shouldSort) { + results.sort(sortFn); + } + if (isNumber(limit) && limit > -1) { + results = results.slice(0, limit); + } + return format(results, this._docs, { + includeMatches, + includeScore + }); + } + _searchStringList(query) { + const searcher = createSearcher(query, this.options); + const { records } = this._myIndex; + const results = []; + records.forEach(({ v: text, i: idx, n: norm2 }) => { + if (!isDefined(text)) { + return; + } + const { isMatch, score, indices } = searcher.searchIn(text); + if (isMatch) { + results.push({ + item: text, + idx, + matches: [{ score, value: text, norm: norm2, indices }] + }); + } + }); + return results; + } + _searchLogical(query) { + const expression = parse(query, this.options); + const evaluate = (node, item, idx) => { + if (!node.children) { + const { keyId, searcher } = node; + const matches = this._findMatches({ + key: this._keyStore.get(keyId), + value: this._myIndex.getValueForItemAtKeyId(item, keyId), + searcher + }); + if (matches && matches.length) { + return [ + { + idx, + item, + matches + } + ]; + } + return []; + } + const res = []; + for (let i = 0, len = node.children.length; i < len; i += 1) { + const child = node.children[i]; + const result = evaluate(child, item, idx); + if (result.length) { + res.push(...result); + } else if (node.operator === LogicalOperator.AND) { + return []; + } + } + return res; + }; + const records = this._myIndex.records; + const resultMap = {}; + const results = []; + records.forEach(({ $: item, i: idx }) => { + if (isDefined(item)) { + let expResults = evaluate(expression, item, idx); + if (expResults.length) { + if (!resultMap[idx]) { + resultMap[idx] = { idx, item, matches: [] }; + results.push(resultMap[idx]); + } + expResults.forEach(({ matches }) => { + resultMap[idx].matches.push(...matches); + }); + } + } + }); + return results; + } + _searchObjectList(query) { + const searcher = createSearcher(query, this.options); + const { keys, records } = this._myIndex; + const results = []; + records.forEach(({ $: item, i: idx }) => { + if (!isDefined(item)) { + return; + } + let matches = []; + keys.forEach((key, keyIndex) => { + matches.push( + ...this._findMatches({ + key, + value: item[keyIndex], + searcher + }) + ); + }); + if (matches.length) { + results.push({ + idx, + item, + matches + }); + } + }); + return results; + } + _findMatches({ key, value, searcher }) { + if (!isDefined(value)) { + return []; + } + let matches = []; + if (isArray(value)) { + value.forEach(({ v: text, i: idx, n: norm2 }) => { + if (!isDefined(text)) { + return; + } + const { isMatch, score, indices } = searcher.searchIn(text); + if (isMatch) { + matches.push({ + score, + key, + value: text, + idx, + norm: norm2, + indices + }); + } + }); + } else { + const { v: text, n: norm2 } = value; + const { isMatch, score, indices } = searcher.searchIn(text); + if (isMatch) { + matches.push({ score, key, value: text, norm: norm2, indices }); + } + } + return matches; + } + } + Fuse.version = "7.0.0"; + Fuse.createIndex = createIndex; + Fuse.parseIndex = parseIndex; + Fuse.config = Config; + { + Fuse.parseQuery = parse; + } + { + register(ExtendedSearch); + } + const name = "x-img-diff-js"; + const version = "0.3.5"; + const main = "src/index.js"; + const description = "compare 2 images considering into translation"; + const scripts = { + build: "docker-compose run --rm emcc && npm run build:demo", + test: "node test/test_node.js", + "build:demo": "cp -rf build demo", + start: "cd demo; http-server -p 8000", + "gen:postjs": "babel binding-gen/post.js > bindings/post.js", + deploy: "npm run build:demo && gh-pages -d demo" + }; + const repository = { + type: "git", + url: "git+https://github.com/reg-viz/x-img-diff-js.git" + }; + const author = "Quramy"; + const license = "MIT"; + const bugs = { + url: "https://github.com/reg-viz/x-img-diff-js/issues" + }; + const homepage = "https://github.com/reg-viz/x-img-diff-js#readme"; + const devDependencies = { + "babel-cli": "^6.26.0", + "babel-core": "^6.26.0", + "babel-preset-es2015": "^6.24.1", + "gh-pages": "^1.0.0", + "http-server": "^0.10.0", + pngjs: "^3.3.0" + }; + const packageJson = { + name, + version, + main, + description, + scripts, + repository, + author, + license, + bugs, + homepage, + devDependencies + }; + function instantiateCachedURL(dbVersion, url, importObject) { + const dbName = "wasm-cache"; + const storeName = "wasm-cache"; + function openDatabase() { + return new Promise((resolve, reject) => { + const request = indexedDB.open(dbName, dbVersion); + request.onerror = reject.bind(null, "Error opening wasm cache database"); + request.onsuccess = () => { + resolve(request.result); + }; + request.onupgradeneeded = (event) => { + const db = request.result; + if (db.objectStoreNames.contains(storeName)) { + console.log(`Clearing out version ${event.oldVersion} wasm cache`); + db.deleteObjectStore(storeName); + } + console.log(`Creating version ${event.newVersion} wasm cache`); + db.createObjectStore(storeName); + }; + }); + } + function lookupInDatabase(db) { + return new Promise((resolve, reject) => { + const store = db.transaction([storeName]).objectStore(storeName); + const request = store.get(url); + request.onerror = reject.bind(null, `Error getting wasm module ${url}`); + request.onsuccess = () => { + if (request.result) { + resolve(request.result); + } else { + reject(`Module ${url} was not found in wasm cache`); + } + }; + }); + } + function storeInDatabase(db, module) { + const store = db.transaction([storeName], "readwrite").objectStore(storeName); + try { + const request = store.put(module, url); + request.onerror = (err) => { + console.log(`Failed to store in wasm cache: ${err}`); + }; + request.onsuccess = () => { + console.log(`Successfully stored ${url} in wasm cache`); + }; + } catch (e) { + console.warn("An error was thrown... in storing wasm cache..."); + console.warn(e); + } + } + async function fetchAndInstantiate() { + const response = await fetch(url); + const buffer = await response.arrayBuffer(); + return await WebAssembly.instantiate(buffer, importObject); + } + return openDatabase().then( + (db) => { + return lookupInDatabase(db).then( + (module) => { + console.log(`Found ${url} in wasm cache`); + return WebAssembly.instantiate(module, importObject); + }, + (errMsg) => { + console.log(errMsg); + return fetchAndInstantiate().then((results) => { + setTimeout(() => storeInDatabase(db, results.module), 0); + return results.instance; + }); + } + ); + }, + (errMsg) => { + console.log(errMsg); + return fetchAndInstantiate().then((results) => results.instance); + } + ); + } + class ModuleClass { + constructor({ init, version: version2, wasmUrl }) { + this._init = init; + this._version = version2; + this._wasmUrl = wasmUrl; + } + locateFile(baseName) { + return self.location.pathname.replace(/\[^\/]*$/, "/") + baseName; + } + instantiateWasm(imports, callback) { + instantiateCachedURL(this._version, this._wasmUrl, imports).then( + (instance) => callback(instance) + ); + return {}; + } + onInit(callback) { + this._init = callback; + } + onRuntimeInitialized() { + if (this._init) { + return this._init(this); + } + } + } + var WorkerEventType = /* @__PURE__ */ ((WorkerEventType2) => { + WorkerEventType2["INIT_CALC"] = "init"; + WorkerEventType2["REQUEST_CALC"] = "req_calc"; + WorkerEventType2["RESULT_CALC"] = "res_calc"; + WorkerEventType2["INIT_FILTER"] = "init_filter"; + WorkerEventType2["REQUEST_FILTER"] = "req_filter"; + WorkerEventType2["RESULT_FILTER"] = "res_filter"; + return WorkerEventType2; + })(WorkerEventType || {}); + const ximgdiffVersionString = packageJson.version; + const _self = self; + function version2number(version2) { + const [, major, minor, patch] = version2.match(/^(\d*)\.(\d*)\.(\d*)/); + return +major * 1e4 + +minor * 100 + +patch; + } + let loaded = false; + let lastCalcData = null; + const cachedEntity = { + new: [], + passed: [], + failed: [], + deleted: [] + }; + const calc = ({ + payload: { raw, img1, img2, actualSrc, expectedSrc, seq } + }) => { + const diffResult = _self.Module.detectDiff(_self.Module, img1, img2, {}); + _self.postMessage({ + type: WorkerEventType.RESULT_CALC, + payload: { + seq, + raw, + actualSrc, + expectedSrc, + result: { + ...diffResult, + images: [ + { width: img1.width, height: img1.height }, + { width: img2.width, height: img2.height } + ] + } + } + }); + }; + const filter = ({ + payload: { input } + }) => { + if (!input) { + return _self.postMessage({ + type: WorkerEventType.RESULT_FILTER, + payload: { + newItems: cachedEntity.new, + passedItems: cachedEntity.passed, + failedItems: cachedEntity.failed, + deletedItems: cachedEntity.deleted + } + }); + } + const search2 = (entities) => { + const fuse = new Fuse(entities, { + shouldSort: false, + isCaseSensitive: false, + findAllMatches: true, + location: 0, + distance: 100, + minMatchCharLength: 1, + threshold: 0.2, + keys: ["name"] + }); + return fuse.search(input).map(({ item }) => item); + }; + _self.postMessage({ + type: WorkerEventType.RESULT_FILTER, + payload: { + newItems: search2(cachedEntity.new), + passedItems: search2(cachedEntity.passed), + failedItems: search2(cachedEntity.failed), + deletedItems: search2(cachedEntity.deleted) + } + }); + }; + _self.Module = new ModuleClass({ + version: version2number(ximgdiffVersionString), + wasmUrl: _self.wasmUrl, + init: () => { + loaded = true; + if (lastCalcData != null) { + calc(lastCalcData); + } + _self.postMessage({ type: WorkerEventType.INIT_CALC }); + } + }); + _self.addEventListener("message", ({ data }) => { + console.log("Received: ", data); + switch (data.type) { + case WorkerEventType.REQUEST_CALC: + if (loaded) { + calc(data); + } else { + lastCalcData = data; + } + break; + case WorkerEventType.INIT_FILTER: + cachedEntity.new = data.payload.newItems; + cachedEntity.passed = data.payload.passedItems; + cachedEntity.failed = data.payload.failedItems; + cachedEntity.deleted = data.payload.deletedItems; + break; + case WorkerEventType.REQUEST_FILTER: + filter(data); + break; + } + }); +})(); + +var Module;if(!Module)Module=(typeof cv!=="undefined"?cv:null)||{};var moduleOverrides={};for(var key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module["ENVIRONMENT"]){if(Module["ENVIRONMENT"]==="WEB"){ENVIRONMENT_IS_WEB=true}else if(Module["ENVIRONMENT"]==="WORKER"){ENVIRONMENT_IS_WORKER=true}else if(Module["ENVIRONMENT"]==="NODE"){ENVIRONMENT_IS_NODE=true}else if(Module["ENVIRONMENT"]==="SHELL"){ENVIRONMENT_IS_SHELL=true}else{throw new Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.")}}else{ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER}if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=console.log;if(!Module["printErr"])Module["printErr"]=console.warn;var nodeFS;var nodePath;Module["read"]=function shell_read(filename,binary){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);var ret=nodeFS["readFileSync"](filename);return binary?ret:ret.toString()};Module["readBinary"]=function readBinary(filename){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};Module["load"]=function load(f){globalEval(read(f))};if(!Module["thisProgram"]){if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}else{Module["thisProgram"]="unknown-program"}}Module["arguments"]=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",(function(ex){if(!(ex instanceof ExitStatus)){throw ex}}));Module["inspect"]=(function(){return"[Emscripten Module object]"})}else if(ENVIRONMENT_IS_SHELL){if(!Module["print"])Module["print"]=print;if(typeof printErr!="undefined")Module["printErr"]=printErr;if(typeof read!="undefined"){Module["read"]=read}else{Module["read"]=function shell_read(){throw"no read() available"}}Module["readBinary"]=function readBinary(f){if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}var data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof quit==="function"){Module["quit"]=(function(status,toThrow){quit(status)})}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){Module["readBinary"]=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response)}else{onerror()}};xhr.onerror=onerror;xhr.send(null)};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function shell_print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function shell_printErr(x){console.warn(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?(function(x){dump(x)}):(function(x){})}if(ENVIRONMENT_IS_WORKER){Module["load"]=importScripts}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=(function(title){document.title=title})}}else{throw"Unknown runtime environment. Where are we?"}function globalEval(x){eval.call(null,x)}if(!Module["load"]&&Module["read"]){Module["load"]=function load(f){globalEval(Module["read"](f))}}if(!Module["print"]){Module["print"]=(function(){})}if(!Module["printErr"]){Module["printErr"]=Module["print"]}if(!Module["arguments"]){Module["arguments"]=[]}if(!Module["thisProgram"]){Module["thisProgram"]="./this.program"}if(!Module["quit"]){Module["quit"]=(function(status,toThrow){throw toThrow})}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(var key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var Runtime={setTempRet0:(function(value){tempRet0=value;return value}),getTempRet0:(function(){return tempRet0}),stackSave:(function(){return STACKTOP}),stackRestore:(function(stackTop){STACKTOP=stackTop}),getNativeTypeSize:(function(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return Runtime.QUANTUM_SIZE}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}),getNativeFieldSize:(function(type){return Math.max(Runtime.getNativeTypeSize(type),Runtime.QUANTUM_SIZE)}),STACK_ALIGN:16,prepVararg:(function(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}),getAlignSize:(function(type,size,vararg){if(!vararg&&(type=="i64"||type=="double"))return 8;if(!type)return Math.min(size,8);return Math.min(size||(type?Runtime.getNativeFieldSize(type):0),Runtime.QUANTUM_SIZE)}),dynCall:(function(sig,ptr,args){if(args&&args.length){return Module["dynCall_"+sig].apply(null,[ptr].concat(args))}else{return Module["dynCall_"+sig].call(null,ptr)}}),functionPointers:[],addFunction:(function(func){for(var i=0;i>2];var end=(ret+size+15|0)&-16;HEAP32[DYNAMICTOP_PTR>>2]=end;if(end>=TOTAL_MEMORY){var success=enlargeMemory();if(!success){HEAP32[DYNAMICTOP_PTR>>2]=ret;return 0}}return ret}),alignMemory:(function(size,quantum){var ret=size=Math.ceil(size/(quantum?quantum:16))*(quantum?quantum:16);return ret}),makeBigInt:(function(low,high,unsigned){var ret=unsigned?+(low>>>0)+ +(high>>>0)*4294967296:+(low>>>0)+ +(high|0)*4294967296;return ret}),GLOBAL_BASE:1024,QUANTUM_SIZE:4,__dummy__:0};Module["Runtime"]=Runtime;var ABORT=0;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];if(!func){try{func=eval("_"+ident)}catch(e){}}assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)");return func}var cwrap,ccall;((function(){var JSfuncs={"stackSave":(function(){Runtime.stackSave()}),"stackRestore":(function(){Runtime.stackRestore()}),"arrayToC":(function(arr){var ret=Runtime.stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),"stringToC":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=Runtime.stackAlloc(len);stringToUTF8(str,ret,len)}return ret})};var toC={"string":JSfuncs["stringToC"],"array":JSfuncs["arrayToC"]};ccall=function ccallFunc(ident,returnType,argTypes,args,opts){var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}Module["setValue"]=setValue;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 setValue: "+type)}return null}Module["getValue"]=getValue;var ALLOC_NORMAL=0;var ALLOC_STACK=1;var ALLOC_STATIC=2;var ALLOC_DYNAMIC=3;var ALLOC_NONE=4;Module["ALLOC_NORMAL"]=ALLOC_NORMAL;Module["ALLOC_STACK"]=ALLOC_STACK;Module["ALLOC_STATIC"]=ALLOC_STATIC;Module["ALLOC_DYNAMIC"]=ALLOC_DYNAMIC;Module["ALLOC_NONE"]=ALLOC_NONE;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[typeof _malloc==="function"?_malloc:Runtime.staticAlloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var ptr=ret,stop;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr>2]=0}stop=ret+size;while(ptr>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret="";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return Module["UTF8ToString"](ptr)}Module["Pointer_stringify"]=Pointer_stringify;function AsciiToString(ptr){var str="";while(1){var ch=HEAP8[ptr++>>0];if(!ch)return str;str+=String.fromCharCode(ch)}}Module["AsciiToString"]=AsciiToString;function stringToAscii(str,outPtr){return writeAsciiToMemory(str,outPtr,false)}Module["stringToAscii"]=stringToAscii;var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(u8Array,idx){var endPtr=idx;while(u8Array[endPtr])++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var u0,u1,u2,u3,u4,u5;var str="";while(1){u0=u8Array[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u3=u8Array[idx++]&63;if((u0&248)==240){u0=(u0&7)<<18|u1<<12|u2<<6|u3}else{u4=u8Array[idx++]&63;if((u0&252)==248){u0=(u0&3)<<24|u1<<18|u2<<12|u3<<6|u4}else{u5=u8Array[idx++]&63;u0=(u0&1)<<30|u1<<24|u2<<18|u3<<12|u4<<6|u5}}}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}}Module["UTF8ArrayToString"]=UTF8ArrayToString;function UTF8ToString(ptr){return UTF8ArrayToString(HEAPU8,ptr)}Module["UTF8ToString"]=UTF8ToString;function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}Module["stringToUTF8Array"]=stringToUTF8Array;function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}Module["stringToUTF8"]=stringToUTF8;function lengthBytesUTF8(str){var len=0;for(var i=0;i=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 if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}Module["lengthBytesUTF8"]=lengthBytesUTF8;var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function demangle(func){var __cxa_demangle_func=Module["___cxa_demangle"]||Module["__cxa_demangle"];if(__cxa_demangle_func){try{var s=func.substr(1);var len=lengthBytesUTF8(s)+1;var buf=_malloc(len);stringToUTF8(s,buf,len);var status=_malloc(4);var ret=__cxa_demangle_func(buf,0,0,status);if(getValue(status,"i32")===0&&ret){return Pointer_stringify(ret)}}catch(e){}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}return func}Runtime.warnOnce("warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling");return func}function demangleAll(text){var regex=/__Z[\w\d_]+/g;return text.replace(regex,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}Module["stackTrace"]=stackTrace;var WASM_PAGE_SIZE=65536;var ASMJS_PAGE_SIZE=16777216;var MIN_TOTAL_MEMORY=16777216;function alignUp(x,multiple){if(x%multiple>0){x+=multiple-x%multiple}return x}var HEAP,buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBuffer(buf){Module["buffer"]=buffer=buf}function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE,STATICTOP,staticSealed;var STACK_BASE,STACKTOP,STACK_MAX;var DYNAMIC_BASE,DYNAMICTOP_PTR;STATIC_BASE=STATICTOP=STACK_BASE=STACKTOP=STACK_MAX=DYNAMIC_BASE=DYNAMICTOP_PTR=0;staticSealed=false;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime, or (3) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}if(!Module["reallocBuffer"])Module["reallocBuffer"]=(function(size){var ret;try{if(ArrayBuffer.transfer){ret=ArrayBuffer.transfer(buffer,size)}else{var oldHEAP8=HEAP8;ret=new ArrayBuffer(size);var temp=new Int8Array(ret);temp.set(oldHEAP8)}}catch(e){return false}var success=_emscripten_replace_memory(ret);if(!success)return false;return ret});function enlargeMemory(){var PAGE_MULTIPLE=Module["usingWasm"]?WASM_PAGE_SIZE:ASMJS_PAGE_SIZE;var LIMIT=2147483648-PAGE_MULTIPLE;if(HEAP32[DYNAMICTOP_PTR>>2]>LIMIT){return false}var OLD_TOTAL_MEMORY=TOTAL_MEMORY;TOTAL_MEMORY=Math.max(TOTAL_MEMORY,MIN_TOTAL_MEMORY);while(TOTAL_MEMORY>2]){if(TOTAL_MEMORY<=536870912){TOTAL_MEMORY=alignUp(2*TOTAL_MEMORY,PAGE_MULTIPLE)}else{TOTAL_MEMORY=Math.min(alignUp((3*TOTAL_MEMORY+2147483648)/4,PAGE_MULTIPLE),LIMIT)}}var replacement=Module["reallocBuffer"](TOTAL_MEMORY);if(!replacement||replacement.byteLength!=TOTAL_MEMORY){TOTAL_MEMORY=OLD_TOTAL_MEMORY;return false}updateGlobalBuffer(replacement);updateGlobalBufferViews();return true}var byteLength;try{byteLength=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get);byteLength(new ArrayBuffer(4))}catch(e){byteLength=(function(buffer){return buffer.byteLength})}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||134217728;if(TOTAL_MEMORY0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;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 ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}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)}Module["addOnPreRun"]=addOnPreRun;function addOnInit(cb){__ATINIT__.unshift(cb)}Module["addOnInit"]=addOnInit;function addOnPreMain(cb){__ATMAIN__.unshift(cb)}Module["addOnPreMain"]=addOnPreMain;function addOnExit(cb){__ATEXIT__.unshift(cb)}Module["addOnExit"]=addOnExit;function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}Module["addOnPostRun"]=addOnPostRun;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}Module["intArrayFromString"]=intArrayFromString;function intArrayToString(array){var ret=[];for(var i=0;i255){chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}Module["intArrayToString"]=intArrayToString;function writeStringToMemory(string,buffer,dontAddNull){Runtime.warnOnce("writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!");var lastChar,end;if(dontAddNull){end=buffer+lengthBytesUTF8(string);lastChar=HEAP8[end]}stringToUTF8(string,buffer,Infinity);if(dontAddNull)HEAP8[end]=lastChar}Module["writeStringToMemory"]=writeStringToMemory;function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}Module["writeArrayToMemory"]=writeArrayToMemory;function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}Module["writeAsciiToMemory"]=writeAsciiToMemory;if(!Math["imul"]||Math["imul"](4294967295,5)!==-5)Math["imul"]=function imul(a,b){var ah=a>>>16;var al=a&65535;var bh=b>>>16;var bl=b&65535;return al*bl+(ah*bl+al*bh<<16)|0};Math.imul=Math["imul"];if(!Math["fround"]){var froundBuffer=new Float32Array(1);Math["fround"]=(function(x){froundBuffer[0]=x;return froundBuffer[0]})}Math.fround=Math["fround"];if(!Math["clz32"])Math["clz32"]=(function(x){x=x>>>0;for(var i=0;i<32;i++){if(x&1<<31-i)return i}return 32});Math.clz32=Math["clz32"];if(!Math["trunc"])Math["trunc"]=(function(x){return x<0?Math.ceil(x):Math.floor(x)});Math.trunc=Math["trunc"];var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_round=Math.round;var Math_min=Math.min;var Math_clz32=Math.clz32;var Math_trunc=Math.trunc;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}Module["addRunDependency"]=addRunDependency;function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["removeRunDependency"]=removeRunDependency;Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;function integrateWasmJS(Module){var method=Module["wasmJSMethod"]||"native-wasm";Module["wasmJSMethod"]=method;var wasmTextFile=Module["wasmTextFile"]||"cv-wasm_browser.wast";var wasmBinaryFile=Module["wasmBinaryFile"]||"cv-wasm_browser.wasm";var asmjsCodeFile=Module["asmjsCodeFile"]||"cv-wasm_browser.temp.asm.js";if(typeof Module["locateFile"]==="function"){wasmTextFile=Module["locateFile"](wasmTextFile);wasmBinaryFile=Module["locateFile"](wasmBinaryFile);asmjsCodeFile=Module["locateFile"](asmjsCodeFile)}var wasmPageSize=64*1024;var asm2wasmImports={"f64-rem":(function(x,y){return x%y}),"f64-to-int":(function(x){return x|0}),"i32s-div":(function(x,y){return(x|0)/(y|0)|0}),"i32u-div":(function(x,y){return(x>>>0)/(y>>>0)>>>0}),"i32s-rem":(function(x,y){return(x|0)%(y|0)|0}),"i32u-rem":(function(x,y){return(x>>>0)%(y>>>0)>>>0}),"debugger":(function(){debugger})};var info={"global":null,"env":null,"asm2wasm":asm2wasmImports,"parent":Module};var exports=null;function lookupImport(mod,base){var lookup=info;if(mod.indexOf(".")<0){lookup=(lookup||{})[mod]}else{var parts=mod.split(".");lookup=(lookup||{})[parts[0]];lookup=(lookup||{})[parts[1]]}if(base){lookup=(lookup||{})[base]}if(lookup===undefined){abort("bad lookupImport to ("+mod+")."+base)}return lookup}function mergeMemory(newBuffer){var oldBuffer=Module["buffer"];if(newBuffer.byteLength=0||Module["wasmJSMethod"].indexOf("interpret-asm2wasm")>=0?"cv-wasm_browser.js.mem":null;var STATIC_BUMP=671600;Module["STATIC_BASE"]=STATIC_BASE;Module["STATIC_BUMP"]=STATIC_BUMP;var tempDoublePtr=STATICTOP;STATICTOP+=16;var emval_symbols={};function embind_init_charCodes(){var codes=new Array(256);for(var i=0;i<256;++i){codes[i]=String.fromCharCode(i)}embind_charCodes=codes}var embind_charCodes=undefined;function readLatin1String(ptr){var ret="";var c=ptr;while(HEAPU8[c]){ret+=embind_charCodes[HEAPU8[c++]]}return ret}function getStringOrSymbol(address){var symbol=emval_symbols[address];if(symbol===undefined){return readLatin1String(address)}else{return symbol}}var emval_free_list=[];var emval_handle_array=[{},{value:undefined},{value:null},{value:true},{value:false}];function count_emval_handles(){var count=0;for(var i=5;i0);info.refcount--;if(info.refcount===0&&!info.rethrown){if(info.destructor){Module["dynCall_vi"](info.destructor,ptr)}delete EXCEPTIONS.infos[ptr];___cxa_free_exception(ptr)}}),clearRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount=0})};function ___resumeException(ptr){if(!EXCEPTIONS.last){EXCEPTIONS.last=ptr}throw ptr+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}function ___cxa_find_matching_catch(){var thrown=EXCEPTIONS.last;if(!thrown){return(Runtime.setTempRet0(0),0)|0}var info=EXCEPTIONS.infos[thrown];var throwntype=info.type;if(!throwntype){return(Runtime.setTempRet0(0),thrown)|0}var typeArray=Array.prototype.slice.call(arguments);var pointer=Module["___cxa_is_pointer_type"](throwntype);if(!___cxa_find_matching_catch.buffer)___cxa_find_matching_catch.buffer=_malloc(4);HEAP32[___cxa_find_matching_catch.buffer>>2]=thrown;thrown=___cxa_find_matching_catch.buffer;for(var i=0;i>2];info.adjusted=thrown;return(Runtime.setTempRet0(typeArray[i]),thrown)|0}}thrown=HEAP32[thrown>>2];return(Runtime.setTempRet0(throwntype),thrown)|0}function ___cxa_throw(ptr,type,destructor){EXCEPTIONS.infos[ptr]={ptr:ptr,adjusted:ptr,type:type,destructor:destructor,refcount:0,caught:false,rethrown:false};EXCEPTIONS.last=ptr;if(!("uncaught_exception"in __ZSt18uncaught_exceptionv)){__ZSt18uncaught_exceptionv.uncaught_exception=1}else{__ZSt18uncaught_exceptionv.uncaught_exception++}throw ptr+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}function getShiftFromSize(size){switch(size){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+size)}}var awaitingDependencies={};var registeredTypes={};var typeDependencies={};var char_0=48;var char_9=57;function makeLegalFunctionName(name){if(undefined===name){return"_unknown"}name=name.replace(/[^a-zA-Z0-9_]/g,"$");var f=name.charCodeAt(0);if(f>=char_0&&f<=char_9){return"_"+name}else{return name}}function createNamedFunction(name,body){name=makeLegalFunctionName(name);return(new Function("body","return function "+name+"() {\n"+' "use strict";'+" return body.apply(this, arguments);\n"+"};\n"))(body)}function extendError(baseErrorType,errorName){var errorClass=createNamedFunction(errorName,(function(message){this.name=errorName;this.message=message;var stack=(new Error(message)).stack;if(stack!==undefined){this.stack=this.toString()+"\n"+stack.replace(/^Error(:[^\n]*)?\n/,"")}}));errorClass.prototype=Object.create(baseErrorType.prototype);errorClass.prototype.constructor=errorClass;errorClass.prototype.toString=(function(){if(this.message===undefined){return this.name}else{return this.name+": "+this.message}});return errorClass}var BindingError=undefined;function throwBindingError(message){throw new BindingError(message)}var InternalError=undefined;function throwInternalError(message){throw new InternalError(message)}function whenDependentTypesAreResolved(myTypes,dependentTypes,getTypeConverters){myTypes.forEach((function(type){typeDependencies[type]=dependentTypes}));function onComplete(typeConverters){var myTypeConverters=getTypeConverters(typeConverters);if(myTypeConverters.length!==myTypes.length){throwInternalError("Mismatched type converter count")}for(var i=0;i>shift])}),destructorFunction:null})}function simpleReadValueFromPointer(pointer){return this["fromWireType"](HEAPU32[pointer>>2])}function __embind_register_std_string(rawType,name){name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":(function(value){var length=HEAPU32[value>>2];var a=new Array(length);for(var i=0;i>2]=length;for(var i=0;i255){_free(ptr);throwBindingError("String has UTF-16 code units that do not fit in 8 bits")}HEAPU8[ptr+4+i]=charCode}if(destructors!==null){destructors.push(_free,ptr)}return ptr}),"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:(function(ptr){_free(ptr)})})}function _embind_repr(v){if(v===null){return"null"}var t=typeof v;if(t==="object"||t==="array"||t==="function"){return v.toString()}else{return""+v}}function integerReadValueFromPointer(name,shift,signed){switch(shift){case 0:return signed?function readS8FromPointer(pointer){return HEAP8[pointer]}:function readU8FromPointer(pointer){return HEAPU8[pointer]};case 1:return signed?function readS16FromPointer(pointer){return HEAP16[pointer>>1]}:function readU16FromPointer(pointer){return HEAPU16[pointer>>1]};case 2:return signed?function readS32FromPointer(pointer){return HEAP32[pointer>>2]}:function readU32FromPointer(pointer){return HEAPU32[pointer>>2]};default:throw new TypeError("Unknown integer type: "+name)}}function __embind_register_integer(primitiveType,name,size,minRange,maxRange){name=readLatin1String(name);if(maxRange===-1){maxRange=4294967295}var shift=getShiftFromSize(size);var fromWireType=(function(value){return value});if(minRange===0){var bitshift=32-8*size;fromWireType=(function(value){return value<>>bitshift})}var isUnsignedType=name.indexOf("unsigned")!=-1;registerType(primitiveType,{name:name,"fromWireType":fromWireType,"toWireType":(function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}if(valuemaxRange){throw new TypeError('Passing a number "'+_embind_repr(value)+'" from JS side to C/C++ side to an argument of type "'+name+'", which is outside the valid range ['+minRange+", "+maxRange+"]!")}return isUnsignedType?value>>>0:value|0}),"argPackAdvance":8,"readValueFromPointer":integerReadValueFromPointer(name,shift,minRange!==0),destructorFunction:null})}function _pthread_mutex_init(){}function __emval_decref(handle){if(handle>4&&0===--emval_handle_array[handle].refcount){emval_handle_array[handle]=undefined;emval_free_list.push(handle)}}var PTHREAD_SPECIFIC={};var PTHREAD_SPECIFIC_NEXT_KEY=1;var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};function _pthread_key_create(key,destructor){if(key==0){return ERRNO_CODES.EINVAL}HEAP32[key>>2]=PTHREAD_SPECIFIC_NEXT_KEY;PTHREAD_SPECIFIC[PTHREAD_SPECIFIC_NEXT_KEY]=0;PTHREAD_SPECIFIC_NEXT_KEY++;return 0}function getTypeName(type){var ptr=___getTypeName(type);var rv=readLatin1String(ptr);_free(ptr);return rv}function requireRegisteredType(rawType,humanName){var impl=registeredTypes[rawType];if(undefined===impl){throwBindingError(humanName+" has unknown type "+getTypeName(rawType))}return impl}function __emval_take_value(type,argv){type=requireRegisteredType(type,"_emval_take_value");var v=type["readValueFromPointer"](argv);return __emval_register(v)}var _llvm_pow_f32=Math_pow;var ERRNO_MESSAGES={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"};function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}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"/";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)}),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.resolve(from).substr(1);to=PATH.resolve(to).substr(1);function trim(arr){var start=0;for(;start=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;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()}),put_char:(function(tty,val){if(val===null||val===10){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}})},default_tty1_ops:{put_char:(function(tty,val){if(val===null||val===10){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}})}};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(ERRNO_CODES.EPERM)}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}return node}),getFileDataAsRegularArray:(function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;inode.contents.length){node.contents=MEMFS.getFileDataAsRegularArray(node);node.usedBytes=node.contents.length}if(!node.contents||node.contents.subarray){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return}if(!node.contents&&newCapacity>0)node.contents=[];while(node.contents.lengthnewSize)node.contents.length=newSize;else while(node.contents.length=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);assert(size>=0);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+lengthe2.timestamp){create.push(key);total++}}));var remove=[];Object.keys(dst.entries).forEach((function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}}));if(!total){return callback(null)}var completed=0;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err){if(!done.errored){done.errored=true;return callback(err)}return}if(++completed>=total){return callback(null)}}transaction.onerror=(function(e){done(this.error);e.preventDefault()});create.sort().forEach((function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,(function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)}))}else{IDBFS.loadLocalEntry(path,(function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)}))}}));remove.sort().reverse().forEach((function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}}))})};var NODEFS={isWindows:false,staticInit:(function(){NODEFS.isWindows=!!process.platform.match(/^win/)}),mount:(function(mount){assert(ENVIRONMENT_IS_NODE);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(ERRNO_CODES.EINVAL)}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&146)>>1}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}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)}),flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString:(function(flags){flags&=~2097152;flags&=~2048;flags&=~32768;flags&=~524288;if(flags in NODEFS.flagsToPermissionStringMap){return NODEFS.flagsToPermissionStringMap[flags]}else{throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}}),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(ERRNO_CODES[e.code])}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!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),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(ERRNO_CODES[e.code])}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(ERRNO_CODES[e.code])}}),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(ERRNO_CODES[e.code])}}),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(ERRNO_CODES[e.code])}}),readdir:(function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),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(ERRNO_CODES[e.code])}}),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(ERRNO_CODES[e.code])}})},stream_ops:{open:(function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsToPermissionString(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),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(ERRNO_CODES[e.code])}}),read:(function(stream,buffer,offset,length,position){if(length===0)return 0;var nbuffer=new Buffer(length);var res;try{res=fs.readSync(stream.nfd,nbuffer,0,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(res>0){for(var i=0;i=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size}),write:(function(stream,buffer,offset,length,position){throw new FS.ErrnoError(ERRNO_CODES.EIO)}),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.size}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};STATICTOP+=16;STATICTOP+=16;STATICTOP+=16;var FS={root:null,mounts:[],devices:[null],streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:(function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)}),lookupPath:(function(path,opts){path=PATH.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}var parts=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}}}}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>>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 err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,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){if(!FS.FSNode){FS.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});FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.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)})}})}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,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},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.indexOf("r")!==-1&&!(node.mode&292)){return ERRNO_CODES.EACCES}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return ERRNO_CODES.EACCES}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return ERRNO_CODES.EACCES}return 0}),mayLookup:(function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return ERRNO_CODES.EACCES;return 0}),mayCreate:(function(dir,name){try{var node=FS.lookupNode(dir,name);return ERRNO_CODES.EEXIST}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 err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return ERRNO_CODES.ENOTDIR}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return ERRNO_CODES.EBUSY}}else{if(FS.isDir(node.mode)){return ERRNO_CODES.EISDIR}}return 0}),mayOpen:(function(node,flags){if(!node){return ERRNO_CODES.ENOENT}if(FS.isLink(node.mode)){return ERRNO_CODES.ELOOP}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return ERRNO_CODES.EISDIR}}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(ERRNO_CODES.EMFILE)}),getStream:(function(fd){return FS.streams[fd]}),createStream:(function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=(function(){});FS.FSStream.prototype={};Object.defineProperties(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(ERRNO_CODES.ESPIPE)})},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){console.log("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(err){assert(FS.syncFSRequests>0);FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}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(ERRNO_CODES.EBUSY)}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(ERRNO_CODES.EBUSY)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}}var mount={type:type,opts:opts,mountpoint: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(ERRNO_CODES.EINVAL)}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.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}}));node.mounted=null;var idx=node.mount.mounts.indexOf(mount);assert(idx!==-1);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(ERRNO_CODES.EINVAL)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.mknod(parent,name,mode,dev)}),create:(function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)}),mkdir:(function(path,mode){mode=mode!==undefined?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;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}});var lazyArray=this;lazyArray.setDataGetter((function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]}));if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._length})},chunkSize:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize})}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url: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(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}return fn.apply(null,arguments)}}));stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);assert(size>=0);if(contents.slice){for(var i=0;i>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;HEAP32[buf+36>>2]=stat.size;HEAP32[buf+40>>2]=4096;HEAP32[buf+44>>2]=stat.blocks;HEAP32[buf+48>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+52>>2]=0;HEAP32[buf+56>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ino;return 0}),doMsync:(function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,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-ERRNO_CODES.EINVAL}FS.mknod(path,mode,dev);return 0}),doReadlink:(function(path,buf,bufsize){if(bufsize<=0)return-ERRNO_CODES.EINVAL;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-ERRNO_CODES.EINVAL}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-ERRNO_CODES.EACCES}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>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>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:0,get:(function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret}),getStr:(function(){var ret=Pointer_stringify(SYSCALLS.get());return ret}),getStreamFromFD:(function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return stream}),getSocketFromFD:(function(){var socket=SOCKFS.getSocket(SYSCALLS.get());if(!socket)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return socket}),getSocketAddress:(function(allowNull){var addrp=SYSCALLS.get(),addrlen=SYSCALLS.get();if(allowNull&&addrp===0)return null;var info=__read_sockaddr(addrp,addrlen);if(info.errno)throw new FS.ErrnoError(info.errno);info.addr=DNS.lookup_addr(info.addr)||info.addr;return info}),get64:(function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low}),getZero:(function(){assert(SYSCALLS.get()===0)})};function ___syscall91(which,varargs){SYSCALLS.varargs=varargs;try{var addr=SYSCALLS.get(),len=SYSCALLS.get();var info=SYSCALLS.mappings[addr];if(!info)return 0;if(len===info.len){var stream=FS.getStream(info.fd);SYSCALLS.doMsync(addr,stream,len,info.flags);FS.munmap(stream);SYSCALLS.mappings[addr]=null;if(info.allocated){_free(info.malloc)}}return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _pthread_mutexattr_destroy(){}function _gzopen(){Module["printErr"]("missing function: gzopen");abort(-1)}var tupleRegistrations={};function requireFunction(signature,rawFunction){signature=readLatin1String(signature);function makeDynCaller(dynCall){var args=[];for(var i=1;i0?", ":"")+argsListWired}var returns=argTypes[0].name!=="void";invokerFnBody+=(returns?"var rv = ":"")+"invoker(fn"+(argsListWired.length>0?", ":"")+argsListWired+");\n";if(needsDestructorStack){invokerFnBody+="runDestructors(destructors);\n"}else{for(var i=isClassMethodFunc?1:2;i>2)+i])}return array}var UnboundTypeError=undefined;function throwUnboundTypeError(message,types){var unboundTypes=[];var seen={};function visit(type){if(seen[type]){return}if(registeredTypes[type]){return}if(typeDependencies[type]){typeDependencies[type].forEach(visit);return}unboundTypes.push(type);seen[type]=true}types.forEach(visit);throw new UnboundTypeError(message+": "+unboundTypes.map(getTypeName).join([", "]))}function __embind_register_class_class_function(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,fn){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);rawInvoker=requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],(function(classType){classType=classType[0];var humanName=classType.name+"."+methodName;function unboundTypesHandler(){throwUnboundTypeError("Cannot call "+humanName+" due to unbound types",rawArgTypes)}var proto=classType.registeredClass.constructor;if(undefined===proto[methodName]){unboundTypesHandler.argCount=argCount-1;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-1]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,(function(argTypes){var invokerArgsArray=[argTypes[0],null].concat(argTypes.slice(1));var func=craftInvokerFunction(humanName,invokerArgsArray,null,rawInvoker,fn);if(undefined===proto[methodName].overloadTable){func.argCount=argCount-1;proto[methodName]=func}else{proto[methodName].overloadTable[argCount-1]=func}return[]}));return[]}))}var _environ=STATICTOP;STATICTOP+=16;function ___buildEnvironment(env){var MAX_ENV_VALUES=64;var TOTAL_ENV_SIZE=1024;var poolPtr;var envPtr;if(!___buildEnvironment.called){___buildEnvironment.called=true;ENV["USER"]=ENV["LOGNAME"]="web_user";ENV["PATH"]="/";ENV["PWD"]="/";ENV["HOME"]="/home/web_user";ENV["LANG"]="C";ENV["_"]=Module["thisProgram"];poolPtr=allocate(TOTAL_ENV_SIZE,"i8",ALLOC_STATIC);envPtr=allocate(MAX_ENV_VALUES*4,"i8*",ALLOC_STATIC);HEAP32[envPtr>>2]=poolPtr;HEAP32[_environ>>2]=envPtr}else{envPtr=HEAP32[_environ>>2];poolPtr=HEAP32[envPtr>>2]}var strings=[];var totalSize=0;for(var key in env){if(typeof env[key]==="string"){var line=key+"="+env[key];strings.push(line);totalSize+=line.length}}if(totalSize>TOTAL_ENV_SIZE){throw new Error("Environment size exceeded TOTAL_ENV_SIZE!")}var ptrSize=4;for(var i=0;i>2]=poolPtr;poolPtr+=line.length+1}HEAP32[envPtr+strings.length*ptrSize>>2]=0}var ENV={};function _getenv(name){if(name===0)return 0;name=Pointer_stringify(name);if(!ENV.hasOwnProperty(name))return 0;if(_getenv.ret)_free(_getenv.ret);_getenv.ret=allocate(intArrayFromString(ENV[name]),"i8",ALLOC_NORMAL);return _getenv.ret}function __isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function __arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]);return sum}var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var __MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(date,days){var newDate=new Date(date.getTime());while(days>0){var leap=__isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate}function _strftime(s,maxsize,format,tm){var tm_zone=HEAP32[tm+40>>2];var date={tm_sec:HEAP32[tm>>2],tm_min:HEAP32[tm+4>>2],tm_hour:HEAP32[tm+8>>2],tm_mday:HEAP32[tm+12>>2],tm_mon:HEAP32[tm+16>>2],tm_year:HEAP32[tm+20>>2],tm_wday:HEAP32[tm+24>>2],tm_yday:HEAP32[tm+28>>2],tm_isdst:HEAP32[tm+32>>2],tm_gmtoff:HEAP32[tm+36>>2],tm_zone:tm_zone?Pointer_stringify(tm_zone):""};var pattern=Pointer_stringify(format);var EXPANSION_RULES_1={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S"};for(var rule in EXPANSION_RULES_1){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_1[rule])}var WEEKDAYS=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];var MONTHS=["January","February","March","April","May","June","July","August","September","October","November","December"];function leadingSomething(value,digits,character){var str=typeof value==="number"?value.toString():value||"";while(str.length0?1:0}var compare;if((compare=sgn(date1.getFullYear()-date2.getFullYear()))===0){if((compare=sgn(date1.getMonth()-date2.getMonth()))===0){compare=sgn(date1.getDate()-date2.getDate())}}return compare}function getFirstWeekStartDate(janFourth){switch(janFourth.getDay()){case 0:return new Date(janFourth.getFullYear()-1,11,29);case 1:return janFourth;case 2:return new Date(janFourth.getFullYear(),0,3);case 3:return new Date(janFourth.getFullYear(),0,2);case 4:return new Date(janFourth.getFullYear(),0,1);case 5:return new Date(janFourth.getFullYear()-1,11,31);case 6:return new Date(janFourth.getFullYear()-1,11,30)}}function getWeekBasedYear(date){var thisDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);var janFourthThisYear=new Date(thisDate.getFullYear(),0,4);var janFourthNextYear=new Date(thisDate.getFullYear()+1,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);if(compareByDay(firstWeekStartThisYear,thisDate)<=0){if(compareByDay(firstWeekStartNextYear,thisDate)<=0){return thisDate.getFullYear()+1}else{return thisDate.getFullYear()}}else{return thisDate.getFullYear()-1}}var EXPANSION_RULES_2={"%a":(function(date){return WEEKDAYS[date.tm_wday].substring(0,3)}),"%A":(function(date){return WEEKDAYS[date.tm_wday]}),"%b":(function(date){return MONTHS[date.tm_mon].substring(0,3)}),"%B":(function(date){return MONTHS[date.tm_mon]}),"%C":(function(date){var year=date.tm_year+1900;return leadingNulls(year/100|0,2)}),"%d":(function(date){return leadingNulls(date.tm_mday,2)}),"%e":(function(date){return leadingSomething(date.tm_mday,2," ")}),"%g":(function(date){return getWeekBasedYear(date).toString().substring(2)}),"%G":(function(date){return getWeekBasedYear(date)}),"%H":(function(date){return leadingNulls(date.tm_hour,2)}),"%I":(function(date){var twelveHour=date.tm_hour;if(twelveHour==0)twelveHour=12;else if(twelveHour>12)twelveHour-=12;return leadingNulls(twelveHour,2)}),"%j":(function(date){return leadingNulls(date.tm_mday+__arraySum(__isLeapYear(date.tm_year+1900)?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,date.tm_mon-1),3)}),"%m":(function(date){return leadingNulls(date.tm_mon+1,2)}),"%M":(function(date){return leadingNulls(date.tm_min,2)}),"%n":(function(){return"\n"}),"%p":(function(date){if(date.tm_hour>=0&&date.tm_hour<12){return"AM"}else{return"PM"}}),"%S":(function(date){return leadingNulls(date.tm_sec,2)}),"%t":(function(){return"\t"}),"%u":(function(date){var day=new Date(date.tm_year+1900,date.tm_mon+1,date.tm_mday,0,0,0,0);return day.getDay()||7}),"%U":(function(date){var janFirst=new Date(date.tm_year+1900,0,1);var firstSunday=janFirst.getDay()===0?janFirst:__addDays(janFirst,7-janFirst.getDay());var endDate=new Date(date.tm_year+1900,date.tm_mon,date.tm_mday);if(compareByDay(firstSunday,endDate)<0){var februaryFirstUntilEndMonth=__arraySum(__isLeapYear(endDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,endDate.getMonth()-1)-31;var firstSundayUntilEndJanuary=31-firstSunday.getDate();var days=firstSundayUntilEndJanuary+februaryFirstUntilEndMonth+endDate.getDate();return leadingNulls(Math.ceil(days/7),2)}return compareByDay(firstSunday,janFirst)===0?"01":"00"}),"%V":(function(date){var janFourthThisYear=new Date(date.tm_year+1900,0,4);var janFourthNextYear=new Date(date.tm_year+1901,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);var endDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);if(compareByDay(endDate,firstWeekStartThisYear)<0){return"53"}if(compareByDay(firstWeekStartNextYear,endDate)<=0){return"01"}var daysDifference;if(firstWeekStartThisYear.getFullYear()=0;off=Math.abs(off)/60;off=off/60*100+off%60;return(ahead?"+":"-")+String("0000"+off).slice(-4)}),"%Z":(function(date){return date.tm_zone}),"%%":(function(){return"%"})};for(var rule in EXPANSION_RULES_2){if(pattern.indexOf(rule)>=0){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_2[rule](date))}}var bytes=intArrayFromString(pattern,false);if(bytes.length>maxsize){return 0}writeArrayToMemory(bytes,s);return bytes.length-1}function _strftime_l(s,maxsize,format,tm){return _strftime(s,maxsize,format,tm)}function ___map_file(pathname,size){___setErrNo(ERRNO_CODES.EPERM);return-1}function __emval_run_destructors(handle){var destructors=emval_handle_array[handle].value;runDestructors(destructors);__emval_decref(handle)}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}function __embind_finalize_value_array(rawTupleType){var reg=tupleRegistrations[rawTupleType];delete tupleRegistrations[rawTupleType];var elements=reg.elements;var elementsLength=elements.length;var elementTypes=elements.map((function(elt){return elt.getterReturnType})).concat(elements.map((function(elt){return elt.setterArgumentType})));var rawConstructor=reg.rawConstructor;var rawDestructor=reg.rawDestructor;whenDependentTypesAreResolved([rawTupleType],elementTypes,(function(elementTypes){elements.forEach((function(elt,i){var getterReturnType=elementTypes[i];var getter=elt.getter;var getterContext=elt.getterContext;var setterArgumentType=elementTypes[i+elementsLength];var setter=elt.setter;var setterContext=elt.setterContext;elt.read=(function(ptr){return getterReturnType["fromWireType"](getter(getterContext,ptr))});elt.write=(function(ptr,o){var destructors=[];setter(setterContext,ptr,setterArgumentType["toWireType"](destructors,o));runDestructors(destructors)})}));return[{name:reg.name,"fromWireType":(function(ptr){var rv=new Array(elementsLength);for(var i=0;i>2]=0;return 0};case 21520:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return-ERRNO_CODES.EINVAL};case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)};case 21523:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _pthread_cond_wait(){return 0}function __embind_register_memory_view(rawType,dataTypeIndex,name){var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){handle=handle>>2;var heap=HEAPU32;var size=heap[handle];var data=heap[handle+1];return new TA(heap["buffer"],data,size)}name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":decodeMemoryView,"argPackAdvance":8,"readValueFromPointer":decodeMemoryView},{ignoreDuplicateRegistrations:true})}var _llvm_pow_f64=Math_pow;function requireHandle(handle){if(!handle){throwBindingError("Cannot use deleted val. handle = "+handle)}return emval_handle_array[handle].value}function __emval_as(handle,returnType,destructorsRef){handle=requireHandle(handle);returnType=requireRegisteredType(returnType,"emval::as");var destructors=[];var rd=__emval_register(destructors);HEAP32[destructorsRef>>2]=rd;return returnType["toWireType"](destructors,handle)}function _gzgets(){Module["printErr"]("missing function: gzgets");abort(-1)}function __emval_incref(handle){if(handle>4){emval_handle_array[handle].refcount+=1}}function _gzputs(){Module["printErr"]("missing function: gzputs");abort(-1)}function __embind_register_void(rawType,name){name=readLatin1String(name);registerType(rawType,{isVoid:true,name:name,"argPackAdvance":0,"fromWireType":(function(){return undefined}),"toWireType":(function(destructors,o){return undefined})})}function _pthread_mutexattr_settype(){}function _abort(){Module["abort"]()}function upcastPointer(ptr,ptrClass,desiredClass){while(ptrClass!==desiredClass){if(!ptrClass.upcast){throwBindingError("Expected null or instance of "+desiredClass.name+", got an instance of "+ptrClass.name)}ptr=ptrClass.upcast(ptr);ptrClass=ptrClass.baseClass}return ptr}function validateThis(this_,classType,humanName){if(!(this_ instanceof Object)){throwBindingError(humanName+' with invalid "this": '+this_)}if(!(this_ instanceof classType.registeredClass.constructor)){throwBindingError(humanName+' incompatible with "this" of type '+this_.constructor.name)}if(!this_.$$.ptr){throwBindingError("cannot call emscripten binding method "+humanName+" on deleted object")}return upcastPointer(this_.$$.ptr,this_.$$.ptrType.registeredClass,classType.registeredClass)}function __embind_register_class_property(classType,fieldName,getterReturnType,getterSignature,getter,getterContext,setterArgumentType,setterSignature,setter,setterContext){fieldName=readLatin1String(fieldName);getter=requireFunction(getterSignature,getter);whenDependentTypesAreResolved([],[classType],(function(classType){classType=classType[0];var humanName=classType.name+"."+fieldName;var desc={get:(function(){throwUnboundTypeError("Cannot access "+humanName+" due to unbound types",[getterReturnType,setterArgumentType])}),enumerable:true,configurable:true};if(setter){desc.set=(function(){throwUnboundTypeError("Cannot access "+humanName+" due to unbound types",[getterReturnType,setterArgumentType])})}else{desc.set=(function(v){throwBindingError(humanName+" is a read-only property")})}Object.defineProperty(classType.registeredClass.instancePrototype,fieldName,desc);whenDependentTypesAreResolved([],setter?[getterReturnType,setterArgumentType]:[getterReturnType],(function(types){var getterReturnType=types[0];var desc={get:(function(){var ptr=validateThis(this,classType,humanName+" getter");return getterReturnType["fromWireType"](getter(getterContext,ptr))}),enumerable:true};if(setter){setter=requireFunction(setterSignature,setter);var setterArgumentType=types[1];desc.set=(function(v){var ptr=validateThis(this,classType,humanName+" setter");var destructors=[];setter(setterContext,ptr,setterArgumentType["toWireType"](destructors,v));runDestructors(destructors)})}Object.defineProperty(classType.registeredClass.instancePrototype,fieldName,desc);return[]}));return[]}))}function _pthread_once(ptr,func){if(!_pthread_once.seen)_pthread_once.seen={};if(ptr in _pthread_once.seen)return;Module["dynCall_v"](func);_pthread_once.seen[ptr]=1}function ClassHandle_isAliasOf(other){if(!(this instanceof ClassHandle)){return false}if(!(other instanceof ClassHandle)){return false}var leftClass=this.$$.ptrType.registeredClass;var left=this.$$.ptr;var rightClass=other.$$.ptrType.registeredClass;var right=other.$$.ptr;while(leftClass.baseClass){left=leftClass.upcast(left);leftClass=leftClass.baseClass}while(rightClass.baseClass){right=rightClass.upcast(right);rightClass=rightClass.baseClass}return leftClass===rightClass&&left===right}function shallowCopyInternalPointer(o){return{count:o.count,deleteScheduled:o.deleteScheduled,preservePointerOnDelete:o.preservePointerOnDelete,ptr:o.ptr,ptrType:o.ptrType,smartPtr:o.smartPtr,smartPtrType:o.smartPtrType}}function throwInstanceAlreadyDeleted(obj){function getInstanceTypeName(handle){return handle.$$.ptrType.registeredClass.name}throwBindingError(getInstanceTypeName(obj)+" instance already deleted")}function ClassHandle_clone(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.preservePointerOnDelete){this.$$.count.value+=1;return this}else{var clone=Object.create(Object.getPrototypeOf(this),{$$:{value:shallowCopyInternalPointer(this.$$)}});clone.$$.count.value+=1;clone.$$.deleteScheduled=false;return clone}}function runDestructor(handle){var $$=handle.$$;if($$.smartPtr){$$.smartPtrType.rawDestructor($$.smartPtr)}else{$$.ptrType.registeredClass.rawDestructor($$.ptr)}}function ClassHandle_delete(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}this.$$.count.value-=1;var toDelete=0===this.$$.count.value;if(toDelete){runDestructor(this)}if(!this.$$.preservePointerOnDelete){this.$$.smartPtr=undefined;this.$$.ptr=undefined}}function ClassHandle_isDeleted(){return!this.$$.ptr}var delayFunction=undefined;var deletionQueue=[];function flushPendingDeletes(){while(deletionQueue.length){var obj=deletionQueue.pop();obj.$$.deleteScheduled=false;obj["delete"]()}}function ClassHandle_deleteLater(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}deletionQueue.push(this);if(deletionQueue.length===1&&delayFunction){delayFunction(flushPendingDeletes)}this.$$.deleteScheduled=true;return this}function init_ClassHandle(){ClassHandle.prototype["isAliasOf"]=ClassHandle_isAliasOf;ClassHandle.prototype["clone"]=ClassHandle_clone;ClassHandle.prototype["delete"]=ClassHandle_delete;ClassHandle.prototype["isDeleted"]=ClassHandle_isDeleted;ClassHandle.prototype["deleteLater"]=ClassHandle_deleteLater}function ClassHandle(){}var registeredPointers={};function exposePublicSymbol(name,value,numArguments){if(Module.hasOwnProperty(name)){if(undefined===numArguments||undefined!==Module[name].overloadTable&&undefined!==Module[name].overloadTable[numArguments]){throwBindingError("Cannot register public name '"+name+"' twice")}ensureOverloadTable(Module,name,name);if(Module.hasOwnProperty(numArguments)){throwBindingError("Cannot register multiple overloads of a function with the same number of arguments ("+numArguments+")!")}Module[name].overloadTable[numArguments]=value}else{Module[name]=value;if(undefined!==numArguments){Module[name].numArguments=numArguments}}}function RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast){this.name=name;this.constructor=constructor;this.instancePrototype=instancePrototype;this.rawDestructor=rawDestructor;this.baseClass=baseClass;this.getActualType=getActualType;this.upcast=upcast;this.downcast=downcast;this.pureVirtualFunctions=[]}function constNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}return 0}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function genericPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}if(this.isSmartPointer){var ptr=this.rawConstructor();if(destructors!==null){destructors.push(this.rawDestructor,ptr)}return ptr}else{return 0}}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}if(!this.isConst&&handle.$$.ptrType.isConst){throwBindingError("Cannot convert argument of type "+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+" to parameter type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);if(this.isSmartPointer){if(undefined===handle.$$.smartPtr){throwBindingError("Passing raw pointer to smart pointer is illegal")}switch(this.sharingPolicy){case 0:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{throwBindingError("Cannot convert argument of type "+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+" to parameter type "+this.name)}break;case 1:ptr=handle.$$.smartPtr;break;case 2:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{var clonedHandle=handle["clone"]();ptr=this.rawShare(ptr,__emval_register((function(){clonedHandle["delete"]()})));if(destructors!==null){destructors.push(this.rawDestructor,ptr)}}break;default:throwBindingError("Unsupporting sharing policy")}}return ptr}function nonConstNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}return 0}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}if(handle.$$.ptrType.isConst){throwBindingError("Cannot convert argument of type "+handle.$$.ptrType.name+" to parameter type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function RegisteredPointer_getPointee(ptr){if(this.rawGetPointee){ptr=this.rawGetPointee(ptr)}return ptr}function RegisteredPointer_destructor(ptr){if(this.rawDestructor){this.rawDestructor(ptr)}}function RegisteredPointer_deleteObject(handle){if(handle!==null){handle["delete"]()}}function downcastPointer(ptr,ptrClass,desiredClass){if(ptrClass===desiredClass){return ptr}if(undefined===desiredClass.baseClass){return null}var rv=downcastPointer(ptr,ptrClass,desiredClass.baseClass);if(rv===null){return null}return desiredClass.downcast(rv)}function getInheritedInstanceCount(){return Object.keys(registeredInstances).length}function getLiveInheritedInstances(){var rv=[];for(var k in registeredInstances){if(registeredInstances.hasOwnProperty(k)){rv.push(registeredInstances[k])}}return rv}function setDelayFunction(fn){delayFunction=fn;if(deletionQueue.length&&delayFunction){delayFunction(flushPendingDeletes)}}function init_embind(){Module["getInheritedInstanceCount"]=getInheritedInstanceCount;Module["getLiveInheritedInstances"]=getLiveInheritedInstances;Module["flushPendingDeletes"]=flushPendingDeletes;Module["setDelayFunction"]=setDelayFunction}var registeredInstances={};function getBasestPointer(class_,ptr){if(ptr===undefined){throwBindingError("ptr should not be undefined")}while(class_.baseClass){ptr=class_.upcast(ptr);class_=class_.baseClass}return ptr}function getInheritedInstance(class_,ptr){ptr=getBasestPointer(class_,ptr);return registeredInstances[ptr]}function makeClassHandle(prototype,record){if(!record.ptrType||!record.ptr){throwInternalError("makeClassHandle requires ptr and ptrType")}var hasSmartPtrType=!!record.smartPtrType;var hasSmartPtr=!!record.smartPtr;if(hasSmartPtrType!==hasSmartPtr){throwInternalError("Both smartPtrType and smartPtr must be specified")}record.count={value:1};return Object.create(prototype,{$$:{value:record}})}function RegisteredPointer_fromWireType(ptr){var rawPointer=this.getPointee(ptr);if(!rawPointer){this.destructor(ptr);return null}var registeredInstance=getInheritedInstance(this.registeredClass,rawPointer);if(undefined!==registeredInstance){if(0===registeredInstance.$$.count.value){registeredInstance.$$.ptr=rawPointer;registeredInstance.$$.smartPtr=ptr;return registeredInstance["clone"]()}else{var rv=registeredInstance["clone"]();this.destructor(ptr);return rv}}function makeDefaultHandle(){if(this.isSmartPointer){return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:rawPointer,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this,ptr:ptr})}}var actualType=this.registeredClass.getActualType(rawPointer);var registeredPointerRecord=registeredPointers[actualType];if(!registeredPointerRecord){return makeDefaultHandle.call(this)}var toType;if(this.isConst){toType=registeredPointerRecord.constPointerType}else{toType=registeredPointerRecord.pointerType}var dp=downcastPointer(rawPointer,this.registeredClass,toType.registeredClass);if(dp===null){return makeDefaultHandle.call(this)}if(this.isSmartPointer){return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp})}}function init_RegisteredPointer(){RegisteredPointer.prototype.getPointee=RegisteredPointer_getPointee;RegisteredPointer.prototype.destructor=RegisteredPointer_destructor;RegisteredPointer.prototype["argPackAdvance"]=8;RegisteredPointer.prototype["readValueFromPointer"]=simpleReadValueFromPointer;RegisteredPointer.prototype["deleteObject"]=RegisteredPointer_deleteObject;RegisteredPointer.prototype["fromWireType"]=RegisteredPointer_fromWireType}function RegisteredPointer(name,registeredClass,isReference,isConst,isSmartPointer,pointeeType,sharingPolicy,rawGetPointee,rawConstructor,rawShare,rawDestructor){this.name=name;this.registeredClass=registeredClass;this.isReference=isReference;this.isConst=isConst;this.isSmartPointer=isSmartPointer;this.pointeeType=pointeeType;this.sharingPolicy=sharingPolicy;this.rawGetPointee=rawGetPointee;this.rawConstructor=rawConstructor;this.rawShare=rawShare;this.rawDestructor=rawDestructor;if(!isSmartPointer&®isteredClass.baseClass===undefined){if(isConst){this["toWireType"]=constNoSmartPtrRawPointerToWireType;this.destructorFunction=null}else{this["toWireType"]=nonConstNoSmartPtrRawPointerToWireType;this.destructorFunction=null}}else{this["toWireType"]=genericPointerToWireType}}function replacePublicSymbol(name,value,numArguments){if(!Module.hasOwnProperty(name)){throwInternalError("Replacing nonexistant public symbol")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}}function __embind_register_class(rawType,rawPointerType,rawConstPointerType,baseClassRawType,getActualTypeSignature,getActualType,upcastSignature,upcast,downcastSignature,downcast,name,destructorSignature,rawDestructor){name=readLatin1String(name);getActualType=requireFunction(getActualTypeSignature,getActualType);if(upcast){upcast=requireFunction(upcastSignature,upcast)}if(downcast){downcast=requireFunction(downcastSignature,downcast)}rawDestructor=requireFunction(destructorSignature,rawDestructor);var legalFunctionName=makeLegalFunctionName(name);exposePublicSymbol(legalFunctionName,(function(){throwUnboundTypeError("Cannot construct "+name+" due to unbound types",[baseClassRawType])}));whenDependentTypesAreResolved([rawType,rawPointerType,rawConstPointerType],baseClassRawType?[baseClassRawType]:[],(function(base){base=base[0];var baseClass;var basePrototype;if(baseClassRawType){baseClass=base.registeredClass;basePrototype=baseClass.instancePrototype}else{basePrototype=ClassHandle.prototype}var constructor=createNamedFunction(legalFunctionName,(function(){if(Object.getPrototypeOf(this)!==instancePrototype){throw new BindingError("Use 'new' to construct "+name)}if(undefined===registeredClass.constructor_body){throw new BindingError(name+" has no accessible constructor")}var body=registeredClass.constructor_body[arguments.length];if(undefined===body){throw new BindingError("Tried to invoke ctor of "+name+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(registeredClass.constructor_body).toString()+") parameters instead!")}return body.apply(this,arguments)}));var instancePrototype=Object.create(basePrototype,{constructor:{value:constructor}});constructor.prototype=instancePrototype;var registeredClass=new RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast);var referenceConverter=new RegisteredPointer(name,registeredClass,true,false,false);var pointerConverter=new RegisteredPointer(name+"*",registeredClass,false,false,false);var constPointerConverter=new RegisteredPointer(name+" const*",registeredClass,false,true,false);registeredPointers[rawType]={pointerType:pointerConverter,constPointerType:constPointerConverter};replacePublicSymbol(legalFunctionName,constructor);return[referenceConverter,pointerConverter,constPointerConverter]}))}function ___lock(){}function ___unlock(){}function _pthread_mutexattr_init(){}function _pthread_getspecific(key){return PTHREAD_SPECIFIC[key]||0}function __embind_register_enum_value(rawEnumType,name,enumValue){var enumType=requireRegisteredType(rawEnumType,"enum");name=readLatin1String(name);var Enum=enumType.constructor;var Value=Object.create(enumType.constructor.prototype,{value:{value:enumValue},constructor:{value:createNamedFunction(enumType.name+"_"+name,(function(){}))}});Enum.values[enumValue]=Value;Enum[name]=Value}function __emval_get_property(handle,key){handle=requireHandle(handle);key=requireHandle(key);return __emval_register(handle[key])}function __embind_register_emval(rawType,name){name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":(function(handle){var rv=emval_handle_array[handle].value;__emval_decref(handle);return rv}),"toWireType":(function(destructors,value){return __emval_register(value)}),"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:null})}function _pthread_setspecific(key,value){if(!(key in PTHREAD_SPECIFIC)){return ERRNO_CODES.EINVAL}PTHREAD_SPECIFIC[key]=value;return 0}function ___cxa_allocate_exception(size){return _malloc(size)}function ___cxa_pure_virtual(){ABORT=true;throw"Pure virtual function called!"}function _gzeof(){Module["printErr"]("missing function: gzeof");abort(-1)}function floatReadValueFromPointer(name,shift){switch(shift){case 2:return(function(pointer){return this["fromWireType"](HEAPF32[pointer>>2])});case 3:return(function(pointer){return this["fromWireType"](HEAPF64[pointer>>3])});default:throw new TypeError("Unknown float type: "+name)}}function __embind_register_float(rawType,name,size){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":(function(value){return value}),"toWireType":(function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}return value}),"argPackAdvance":8,"readValueFromPointer":floatReadValueFromPointer(name,shift),destructorFunction:null})}function __embind_register_function(name,argCount,rawArgTypesAddr,signature,rawInvoker,fn){var argTypes=heap32VectorToArray(argCount,rawArgTypesAddr);name=readLatin1String(name);rawInvoker=requireFunction(signature,rawInvoker);exposePublicSymbol(name,(function(){throwUnboundTypeError("Cannot call "+name+" due to unbound types",argTypes)}),argCount-1);whenDependentTypesAreResolved([],argTypes,(function(argTypes){var invokerArgsArray=[argTypes[0],null].concat(argTypes.slice(1));replacePublicSymbol(name,craftInvokerFunction(name,invokerArgsArray,null,rawInvoker,fn),argCount-1);return[]}))}function __embind_register_constant(name,type,value){name=readLatin1String(name);whenDependentTypesAreResolved([],[type],(function(type){type=type[0];Module[name]=type["fromWireType"](value);return[]}))}function ___cxa_begin_catch(ptr){var info=EXCEPTIONS.infos[ptr];if(info&&!info.caught){info.caught=true;__ZSt18uncaught_exceptionv.uncaught_exception--}if(info)info.rethrown=false;EXCEPTIONS.caught.push(ptr);EXCEPTIONS.addRef(EXCEPTIONS.deAdjust(ptr));return ptr}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();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 ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;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 ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function __embind_register_std_wstring(rawType,charSize,name){name=readLatin1String(name);var getHeap,shift;if(charSize===2){getHeap=(function(){return HEAPU16});shift=1}else if(charSize===4){getHeap=(function(){return HEAPU32});shift=2}registerType(rawType,{name:name,"fromWireType":(function(value){var HEAP=getHeap();var length=HEAPU32[value>>2];var a=new Array(length);var start=value+4>>shift;for(var i=0;i>2]=length;var start=ptr+4>>shift;for(var i=0;i>1])});case 2:return(function(pointer){var heap=signed?HEAP32:HEAPU32;return this["fromWireType"](heap[pointer>>2])});default:throw new TypeError("Unknown integer type: "+name)}}function __embind_register_enum(rawType,name,size,isSigned){var shift=getShiftFromSize(size);name=readLatin1String(name);function ctor(){}ctor.values={};registerType(rawType,{name:name,constructor:ctor,"fromWireType":(function(c){return this.constructor.values[c]}),"toWireType":(function(destructors,c){return c.value}),"argPackAdvance":8,"readValueFromPointer":enumReadValueFromPointer(name,shift,isSigned),destructorFunction:null});exposePublicSymbol(name,ctor)}function _llvm_exp2_f32(x){return Math.pow(2,x)}function __embind_register_class_constructor(rawClassType,argCount,rawArgTypesAddr,invokerSignature,invoker,rawConstructor){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);invoker=requireFunction(invokerSignature,invoker);whenDependentTypesAreResolved([],[rawClassType],(function(classType){classType=classType[0];var humanName="constructor "+classType.name;if(undefined===classType.registeredClass.constructor_body){classType.registeredClass.constructor_body=[]}if(undefined!==classType.registeredClass.constructor_body[argCount-1]){throw new BindingError("Cannot register multiple constructors with identical number of parameters ("+(argCount-1)+") for class '"+classType.name+"'! Overload resolution is currently only performed using the parameter count, not actual type info!")}classType.registeredClass.constructor_body[argCount-1]=function unboundTypeHandler(){throwUnboundTypeError("Cannot construct "+classType.name+" due to unbound types",rawArgTypes)};whenDependentTypesAreResolved([],rawArgTypes,(function(argTypes){classType.registeredClass.constructor_body[argCount-1]=function constructor_body(){if(arguments.length!==argCount-1){throwBindingError(humanName+" called with "+arguments.length+" arguments, expected "+(argCount-1))}var destructors=[];var args=new Array(argCount);args[0]=rawConstructor;for(var i=1;i>1]=2;return 0};case 13:case 14:case 13:case 14:return 0;case 16:case 8:return-ERRNO_CODES.EINVAL;case 9:___setErrNo(ERRNO_CODES.EINVAL);return-1;default:{return-ERRNO_CODES.EINVAL}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall145(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doReadv(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}embind_init_charCodes();init_emval();BindingError=Module["BindingError"]=extendError(Error,"BindingError");InternalError=Module["InternalError"]=extendError(Error,"InternalError");FS.staticInit();__ATINIT__.unshift((function(){if(!Module["noFSInit"]&&!FS.init.initialized)FS.init()}));__ATMAIN__.push((function(){FS.ignorePermissions=false}));__ATEXIT__.push((function(){FS.quit()}));Module["FS_createFolder"]=FS.createFolder;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createLink"]=FS.createLink;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;__ATINIT__.unshift((function(){TTY.init()}));__ATEXIT__.push((function(){TTY.shutdown()}));if(ENVIRONMENT_IS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}UnboundTypeError=Module["UnboundTypeError"]=extendError(Error,"UnboundTypeError");___buildEnvironment(ENV);init_ClassHandle();init_RegisteredPointer();init_embind();DYNAMICTOP_PTR=allocate(1,"i32",ALLOC_STATIC);STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP);STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=Runtime.alignMemory(STACK_MAX);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;staticSealed=true;Module["wasmTableSize"]=2300;Module["wasmMaxTableSize"]=2300;function invoke_iiiiiiii(index,a1,a2,a3,a4,a5,a6,a7){try{return Module["dynCall_iiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iiiiiid(index,a1,a2,a3,a4,a5,a6){try{return Module["dynCall_iiiiiid"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_vid(index,a1,a2){try{Module["dynCall_vid"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiii(index,a1,a2,a3,a4,a5){try{Module["dynCall_viiiii"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_vi(index,a1){try{Module["dynCall_vi"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_vii(index,a1,a2){try{Module["dynCall_vii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iiiiiii(index,a1,a2,a3,a4,a5,a6){try{return Module["dynCall_iiiiiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_ii(index,a1){try{return Module["dynCall_ii"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viijii(index,a1,a2,a3,a4,a5,a6){try{Module["dynCall_viijii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iidddd(index,a1,a2,a3,a4,a5){try{return Module["dynCall_iidddd"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiiiiddi(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){try{Module["dynCall_viiiiiiiddi"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iidd(index,a1,a2,a3){try{return Module["dynCall_iidd"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viidi(index,a1,a2,a3,a4){try{Module["dynCall_viidi"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iiiid(index,a1,a2,a3,a4){try{return Module["dynCall_iiiid"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiiiiiiiddi(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13){try{Module["dynCall_viiiiiiiiiiddi"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiidd(index,a1,a2,a3,a4,a5){try{Module["dynCall_viiidd"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_vidii(index,a1,a2,a3,a4){try{Module["dynCall_vidii"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iiiii(index,a1,a2,a3,a4){try{return Module["dynCall_iiiii"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_di(index,a1){try{return Module["dynCall_di"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11){try{Module["dynCall_viiiiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iiii(index,a1,a2,a3){try{return Module["dynCall_iiii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiif(index,a1,a2,a3,a4){try{Module["dynCall_viiif"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8){try{Module["dynCall_viiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_fii(index,a1,a2){try{return Module["dynCall_fii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_diiii(index,a1,a2,a3,a4){try{return Module["dynCall_diiii"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viid(index,a1,a2,a3){try{Module["dynCall_viid"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_fiii(index,a1,a2,a3){try{return Module["dynCall_fiii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_diiiii(index,a1,a2,a3,a4,a5){try{return Module["dynCall_diiiii"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiifii(index,a1,a2,a3,a4,a5,a6){try{Module["dynCall_viiifii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiidd(index,a1,a2,a3,a4,a5,a6){try{Module["dynCall_viiiidd"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iid(index,a1,a2){try{return Module["dynCall_iid"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7){try{Module["dynCall_viiiiiii"](index,a1,a2,a3,a4,a5,a6,a7)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iiddd(index,a1,a2,a3,a4){try{return Module["dynCall_iiddd"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){try{Module["dynCall_viiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){try{Module["dynCall_viiiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iii(index,a1,a2){try{return Module["dynCall_iii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_diii(index,a1,a2,a3){try{return Module["dynCall_diii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6){try{Module["dynCall_viiiiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_dii(index,a1,a2){try{return Module["dynCall_dii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiid(index,a1,a2,a3,a4,a5){try{Module["dynCall_viiiid"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_fiiiii(index,a1,a2,a3,a4,a5){try{return Module["dynCall_fiiiii"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_i(index){try{return Module["dynCall_i"](index)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_fiiii(index,a1,a2,a3,a4){try{return Module["dynCall_fiiii"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iiiiii(index,a1,a2,a3,a4,a5){try{return Module["dynCall_iiiiii"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiid(index,a1,a2,a3,a4){try{Module["dynCall_viiid"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iiiiij(index,a1,a2,a3,a4,a5,a6){try{return Module["dynCall_iiiiij"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viii(index,a1,a2,a3){try{Module["dynCall_viii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_v(index){try{Module["dynCall_v"](index)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8){try{return Module["dynCall_iiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viif(index,a1,a2,a3){try{Module["dynCall_viif"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiii(index,a1,a2,a3,a4){try{Module["dynCall_viiii"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iiiiid(index,a1,a2,a3,a4,a5){try{return Module["dynCall_iiiiid"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iiiif(index,a1,a2,a3,a4){try{return Module["dynCall_iiiif"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}Module.asmGlobalArg={"Math":Math,"Int8Array":Int8Array,"Int16Array":Int16Array,"Int32Array":Int32Array,"Uint8Array":Uint8Array,"Uint16Array":Uint16Array,"Uint32Array":Uint32Array,"Float32Array":Float32Array,"Float64Array":Float64Array,"NaN":NaN,"Infinity":Infinity,"byteLength":byteLength};Module.asmLibraryArg={"abort":abort,"assert":assert,"enlargeMemory":enlargeMemory,"getTotalMemory":getTotalMemory,"abortOnCannotGrowMemory":abortOnCannotGrowMemory,"invoke_iiiiiiii":invoke_iiiiiiii,"invoke_iiiiiid":invoke_iiiiiid,"invoke_vid":invoke_vid,"invoke_viiiii":invoke_viiiii,"invoke_vi":invoke_vi,"invoke_vii":invoke_vii,"invoke_iiiiiii":invoke_iiiiiii,"invoke_ii":invoke_ii,"invoke_viijii":invoke_viijii,"invoke_iidddd":invoke_iidddd,"invoke_viiiiiiiddi":invoke_viiiiiiiddi,"invoke_iidd":invoke_iidd,"invoke_viidi":invoke_viidi,"invoke_iiiid":invoke_iiiid,"invoke_viiiiiiiiiiddi":invoke_viiiiiiiiiiddi,"invoke_viiidd":invoke_viiidd,"invoke_vidii":invoke_vidii,"invoke_iiiii":invoke_iiiii,"invoke_di":invoke_di,"invoke_viiiiiiiiiii":invoke_viiiiiiiiiii,"invoke_iiii":invoke_iiii,"invoke_viiif":invoke_viiif,"invoke_viiiiiiii":invoke_viiiiiiii,"invoke_fii":invoke_fii,"invoke_diiii":invoke_diiii,"invoke_viid":invoke_viid,"invoke_fiii":invoke_fiii,"invoke_diiiii":invoke_diiiii,"invoke_viiifii":invoke_viiifii,"invoke_viiiidd":invoke_viiiidd,"invoke_iid":invoke_iid,"invoke_viiiiiii":invoke_viiiiiii,"invoke_iiddd":invoke_iiddd,"invoke_viiiiiiiii":invoke_viiiiiiiii,"invoke_viiiiiiiiii":invoke_viiiiiiiiii,"invoke_iii":invoke_iii,"invoke_diii":invoke_diii,"invoke_viiiiii":invoke_viiiiii,"invoke_dii":invoke_dii,"invoke_viiiid":invoke_viiiid,"invoke_fiiiii":invoke_fiiiii,"invoke_i":invoke_i,"invoke_fiiii":invoke_fiiii,"invoke_iiiiii":invoke_iiiiii,"invoke_viiid":invoke_viiid,"invoke_iiiiij":invoke_iiiiij,"invoke_viii":invoke_viii,"invoke_v":invoke_v,"invoke_iiiiiiiii":invoke_iiiiiiiii,"invoke_viif":invoke_viif,"invoke_viiii":invoke_viiii,"invoke_iiiiid":invoke_iiiiid,"invoke_iiiif":invoke_iiiif,"___syscall221":___syscall221,"floatReadValueFromPointer":floatReadValueFromPointer,"simpleReadValueFromPointer":simpleReadValueFromPointer,"throwInternalError":throwInternalError,"get_first_emval":get_first_emval,"whenDependentTypesAreResolved":whenDependentTypesAreResolved,"getLiveInheritedInstances":getLiveInheritedInstances,"__ZSt18uncaught_exceptionv":__ZSt18uncaught_exceptionv,"ClassHandle":ClassHandle,"getShiftFromSize":getShiftFromSize,"__emval_get_property":__emval_get_property,"__addDays":__addDays,"ClassHandle_clone":ClassHandle_clone,"___cxa_begin_catch":___cxa_begin_catch,"_emscripten_memcpy_big":_emscripten_memcpy_big,"runDestructor":runDestructor,"throwInstanceAlreadyDeleted":throwInstanceAlreadyDeleted,"__embind_register_std_string":__embind_register_std_string,"init_RegisteredPointer":init_RegisteredPointer,"getStringOrSymbol":getStringOrSymbol,"_gzeof":_gzeof,"flushPendingDeletes":flushPendingDeletes,"_pthread_mutexattr_settype":_pthread_mutexattr_settype,"_gzopen":_gzopen,"__isLeapYear":__isLeapYear,"__embind_register_class_constructor":__embind_register_class_constructor,"_gzputs":_gzputs,"__embind_finalize_value_array":__embind_finalize_value_array,"init_ClassHandle":init_ClassHandle,"__embind_register_constant":__embind_register_constant,"___syscall140":___syscall140,"constNoSmartPtrRawPointerToWireType":constNoSmartPtrRawPointerToWireType,"___syscall145":___syscall145,"___syscall146":___syscall146,"_gzgets":_gzgets,"requireHandle":requireHandle,"__embind_register_value_array_element":__embind_register_value_array_element,"___cxa_find_matching_catch":___cxa_find_matching_catch,"embind_init_charCodes":embind_init_charCodes,"__emval_as":__emval_as,"___setErrNo":___setErrNo,"__embind_register_class_class_function":__embind_register_class_class_function,"_llvm_pow_f32":_llvm_pow_f32,"__embind_register_bool":__embind_register_bool,"___resumeException":___resumeException,"createNamedFunction":createNamedFunction,"validateThis":validateThis,"__embind_register_emval":__embind_register_emval,"___buildEnvironment":___buildEnvironment,"__emval_decref":__emval_decref,"_pthread_once":_pthread_once,"init_embind":init_embind,"___syscall91":___syscall91,"heap32VectorToArray":heap32VectorToArray,"__emval_run_destructors":__emval_run_destructors,"ClassHandle_delete":ClassHandle_delete,"RegisteredPointer_destructor":RegisteredPointer_destructor,"_llvm_exp2_f32":_llvm_exp2_f32,"___syscall6":___syscall6,"___syscall5":___syscall5,"ensureOverloadTable":ensureOverloadTable,"new_":new_,"downcastPointer":downcastPointer,"replacePublicSymbol":replacePublicSymbol,"__embind_register_class":__embind_register_class,"_llvm_pow_f64":_llvm_pow_f64,"ClassHandle_deleteLater":ClassHandle_deleteLater,"___syscall54":___syscall54,"RegisteredPointer_deleteObject":RegisteredPointer_deleteObject,"ClassHandle_isDeleted":ClassHandle_isDeleted,"__embind_register_integer":__embind_register_integer,"___cxa_allocate_exception":___cxa_allocate_exception,"__emval_take_value":__emval_take_value,"enumReadValueFromPointer":enumReadValueFromPointer,"_embind_repr":_embind_repr,"_strftime":_strftime,"__embind_register_class_function":__embind_register_class_function,"throwUnboundTypeError":throwUnboundTypeError,"_pthread_mutex_destroy":_pthread_mutex_destroy,"_getenv":_getenv,"runDestructors":runDestructors,"requireRegisteredType":requireRegisteredType,"makeLegalFunctionName":makeLegalFunctionName,"_pthread_key_create":_pthread_key_create,"upcastPointer":upcastPointer,"init_emval":init_emval,"shallowCopyInternalPointer":shallowCopyInternalPointer,"nonConstNoSmartPtrRawPointerToWireType":nonConstNoSmartPtrRawPointerToWireType,"__embind_register_value_array":__embind_register_value_array,"_abort":_abort,"throwBindingError":throwBindingError,"getTypeName":getTypeName,"__embind_register_class_property":__embind_register_class_property,"exposePublicSymbol":exposePublicSymbol,"RegisteredPointer_fromWireType":RegisteredPointer_fromWireType,"___cxa_pure_virtual":___cxa_pure_virtual,"_pthread_getspecific":_pthread_getspecific,"_pthread_cond_wait":_pthread_cond_wait,"___lock":___lock,"RegisteredClass":RegisteredClass,"__embind_register_memory_view":__embind_register_memory_view,"getInheritedInstance":getInheritedInstance,"setDelayFunction":setDelayFunction,"___gxx_personality_v0":___gxx_personality_v0,"extendError":extendError,"__embind_register_void":__embind_register_void,"__embind_register_function":__embind_register_function,"_pthread_mutexattr_destroy":_pthread_mutexattr_destroy,"_strftime_l":_strftime_l,"RegisteredPointer_getPointee":RegisteredPointer_getPointee,"__emval_register":__emval_register,"__embind_register_std_wstring":__embind_register_std_wstring,"ClassHandle_isAliasOf":ClassHandle_isAliasOf,"_gzclose":_gzclose,"__emval_incref":__emval_incref,"RegisteredPointer":RegisteredPointer,"__arraySum":__arraySum,"readLatin1String":readLatin1String,"craftInvokerFunction":craftInvokerFunction,"getBasestPointer":getBasestPointer,"getInheritedInstanceCount":getInheritedInstanceCount,"__embind_register_float":__embind_register_float,"integerReadValueFromPointer":integerReadValueFromPointer,"___unlock":___unlock,"__embind_register_enum_value":__embind_register_enum_value,"_pthread_mutexattr_init":_pthread_mutexattr_init,"_pthread_setspecific":_pthread_setspecific,"genericPointerToWireType":genericPointerToWireType,"registerType":registerType,"___cxa_throw":___cxa_throw,"_gzrewind":_gzrewind,"__embind_register_enum":__embind_register_enum,"__emval_new_cstring":__emval_new_cstring,"count_emval_handles":count_emval_handles,"requireFunction":requireFunction,"makeClassHandle":makeClassHandle,"_pthread_mutex_init":_pthread_mutex_init,"___map_file":___map_file,"DYNAMICTOP_PTR":DYNAMICTOP_PTR,"tempDoublePtr":tempDoublePtr,"ABORT":ABORT,"STACKTOP":STACKTOP,"STACK_MAX":STACK_MAX};var asm=Module["asm"](Module.asmGlobalArg,Module.asmLibraryArg,buffer);Module["asm"]=asm;var _roundf=Module["_roundf"]=(function(){return Module["asm"]["_roundf"].apply(null,arguments)});var __GLOBAL__sub_I_system_cpp=Module["__GLOBAL__sub_I_system_cpp"]=(function(){return Module["asm"]["__GLOBAL__sub_I_system_cpp"].apply(null,arguments)});var __GLOBAL__sub_I_umatrix_cpp=Module["__GLOBAL__sub_I_umatrix_cpp"]=(function(){return Module["asm"]["__GLOBAL__sub_I_umatrix_cpp"].apply(null,arguments)});var stackSave=Module["stackSave"]=(function(){return Module["asm"]["stackSave"].apply(null,arguments)});var ___cxx_global_var_init_362=Module["___cxx_global_var_init_362"]=(function(){return Module["asm"]["___cxx_global_var_init_362"].apply(null,arguments)});var ___cxx_global_var_init_361=Module["___cxx_global_var_init_361"]=(function(){return Module["asm"]["___cxx_global_var_init_361"].apply(null,arguments)});var ___cxx_global_var_init_360=Module["___cxx_global_var_init_360"]=(function(){return Module["asm"]["___cxx_global_var_init_360"].apply(null,arguments)});var __GLOBAL__sub_I_persistence_cpp=Module["__GLOBAL__sub_I_persistence_cpp"]=(function(){return Module["asm"]["__GLOBAL__sub_I_persistence_cpp"].apply(null,arguments)});var ___cxa_is_pointer_type=Module["___cxa_is_pointer_type"]=(function(){return Module["asm"]["___cxa_is_pointer_type"].apply(null,arguments)});var stackRestore=Module["stackRestore"]=(function(){return Module["asm"]["stackRestore"].apply(null,arguments)});var _memset=Module["_memset"]=(function(){return Module["asm"]["_memset"].apply(null,arguments)});var _sbrk=Module["_sbrk"]=(function(){return Module["asm"]["_sbrk"].apply(null,arguments)});var __GLOBAL__sub_I_imgwarp_cpp=Module["__GLOBAL__sub_I_imgwarp_cpp"]=(function(){return Module["asm"]["__GLOBAL__sub_I_imgwarp_cpp"].apply(null,arguments)});var _memcpy=Module["_memcpy"]=(function(){return Module["asm"]["_memcpy"].apply(null,arguments)});var _llvm_bswap_i32=Module["_llvm_bswap_i32"]=(function(){return Module["asm"]["_llvm_bswap_i32"].apply(null,arguments)});var stackAlloc=Module["stackAlloc"]=(function(){return Module["asm"]["stackAlloc"].apply(null,arguments)});var getTempRet0=Module["getTempRet0"]=(function(){return Module["asm"]["getTempRet0"].apply(null,arguments)});var __GLOBAL__sub_I_bind_cpp=Module["__GLOBAL__sub_I_bind_cpp"]=(function(){return Module["asm"]["__GLOBAL__sub_I_bind_cpp"].apply(null,arguments)});var setTempRet0=Module["setTempRet0"]=(function(){return Module["asm"]["setTempRet0"].apply(null,arguments)});var ___cxx_global_var_init_354=Module["___cxx_global_var_init_354"]=(function(){return Module["asm"]["___cxx_global_var_init_354"].apply(null,arguments)});var _pthread_mutex_unlock=Module["_pthread_mutex_unlock"]=(function(){return Module["asm"]["_pthread_mutex_unlock"].apply(null,arguments)});var __GLOBAL__I_000101=Module["__GLOBAL__I_000101"]=(function(){return Module["asm"]["__GLOBAL__I_000101"].apply(null,arguments)});var _emscripten_get_global_libc=Module["_emscripten_get_global_libc"]=(function(){return Module["asm"]["_emscripten_get_global_libc"].apply(null,arguments)});var ___cxx_global_var_init_359=Module["___cxx_global_var_init_359"]=(function(){return Module["asm"]["___cxx_global_var_init_359"].apply(null,arguments)});var ___getTypeName=Module["___getTypeName"]=(function(){return Module["asm"]["___getTypeName"].apply(null,arguments)});var __GLOBAL__sub_I_iostream_cpp=Module["__GLOBAL__sub_I_iostream_cpp"]=(function(){return Module["asm"]["__GLOBAL__sub_I_iostream_cpp"].apply(null,arguments)});var _pthread_cond_broadcast=Module["_pthread_cond_broadcast"]=(function(){return Module["asm"]["_pthread_cond_broadcast"].apply(null,arguments)});var ___cxx_global_var_init_356=Module["___cxx_global_var_init_356"]=(function(){return Module["asm"]["___cxx_global_var_init_356"].apply(null,arguments)});var ___cxx_global_var_init_357=Module["___cxx_global_var_init_357"]=(function(){return Module["asm"]["___cxx_global_var_init_357"].apply(null,arguments)});var ___errno_location=Module["___errno_location"]=(function(){return Module["asm"]["___errno_location"].apply(null,arguments)});var ___cxx_global_var_init_355=Module["___cxx_global_var_init_355"]=(function(){return Module["asm"]["___cxx_global_var_init_355"].apply(null,arguments)});var ___cxa_can_catch=Module["___cxa_can_catch"]=(function(){return Module["asm"]["___cxa_can_catch"].apply(null,arguments)});var _free=Module["_free"]=(function(){return Module["asm"]["_free"].apply(null,arguments)});var runPostSets=Module["runPostSets"]=(function(){return Module["asm"]["runPostSets"].apply(null,arguments)});var setThrew=Module["setThrew"]=(function(){return Module["asm"]["setThrew"].apply(null,arguments)});var establishStackSpace=Module["establishStackSpace"]=(function(){return Module["asm"]["establishStackSpace"].apply(null,arguments)});var _memmove=Module["_memmove"]=(function(){return Module["asm"]["_memmove"].apply(null,arguments)});var __GLOBAL__sub_I_bindings_cpp=Module["__GLOBAL__sub_I_bindings_cpp"]=(function(){return Module["asm"]["__GLOBAL__sub_I_bindings_cpp"].apply(null,arguments)});var ___cxx_global_var_init_358=Module["___cxx_global_var_init_358"]=(function(){return Module["asm"]["___cxx_global_var_init_358"].apply(null,arguments)});var _malloc=Module["_malloc"]=(function(){return Module["asm"]["_malloc"].apply(null,arguments)});var __GLOBAL__sub_I_histogram_cpp=Module["__GLOBAL__sub_I_histogram_cpp"]=(function(){return Module["asm"]["__GLOBAL__sub_I_histogram_cpp"].apply(null,arguments)});var _pthread_mutex_lock=Module["_pthread_mutex_lock"]=(function(){return Module["asm"]["_pthread_mutex_lock"].apply(null,arguments)});var _emscripten_replace_memory=Module["_emscripten_replace_memory"]=(function(){return Module["asm"]["_emscripten_replace_memory"].apply(null,arguments)});var dynCall_iiiiiiii=Module["dynCall_iiiiiiii"]=(function(){return Module["asm"]["dynCall_iiiiiiii"].apply(null,arguments)});var dynCall_iiiiiid=Module["dynCall_iiiiiid"]=(function(){return Module["asm"]["dynCall_iiiiiid"].apply(null,arguments)});var dynCall_vid=Module["dynCall_vid"]=(function(){return Module["asm"]["dynCall_vid"].apply(null,arguments)});var dynCall_viiiii=Module["dynCall_viiiii"]=(function(){return Module["asm"]["dynCall_viiiii"].apply(null,arguments)});var dynCall_vi=Module["dynCall_vi"]=(function(){return Module["asm"]["dynCall_vi"].apply(null,arguments)});var dynCall_vii=Module["dynCall_vii"]=(function(){return Module["asm"]["dynCall_vii"].apply(null,arguments)});var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=(function(){return Module["asm"]["dynCall_iiiiiii"].apply(null,arguments)});var dynCall_ii=Module["dynCall_ii"]=(function(){return Module["asm"]["dynCall_ii"].apply(null,arguments)});var dynCall_viijii=Module["dynCall_viijii"]=(function(){return Module["asm"]["dynCall_viijii"].apply(null,arguments)});var dynCall_iidddd=Module["dynCall_iidddd"]=(function(){return Module["asm"]["dynCall_iidddd"].apply(null,arguments)});var dynCall_viiiiiiiddi=Module["dynCall_viiiiiiiddi"]=(function(){return Module["asm"]["dynCall_viiiiiiiddi"].apply(null,arguments)});var dynCall_iidd=Module["dynCall_iidd"]=(function(){return Module["asm"]["dynCall_iidd"].apply(null,arguments)});var dynCall_viidi=Module["dynCall_viidi"]=(function(){return Module["asm"]["dynCall_viidi"].apply(null,arguments)});var dynCall_iiiid=Module["dynCall_iiiid"]=(function(){return Module["asm"]["dynCall_iiiid"].apply(null,arguments)});var dynCall_viiiiiiiiiiddi=Module["dynCall_viiiiiiiiiiddi"]=(function(){return Module["asm"]["dynCall_viiiiiiiiiiddi"].apply(null,arguments)});var dynCall_viiidd=Module["dynCall_viiidd"]=(function(){return Module["asm"]["dynCall_viiidd"].apply(null,arguments)});var dynCall_vidii=Module["dynCall_vidii"]=(function(){return Module["asm"]["dynCall_vidii"].apply(null,arguments)});var dynCall_iiiii=Module["dynCall_iiiii"]=(function(){return Module["asm"]["dynCall_iiiii"].apply(null,arguments)});var dynCall_di=Module["dynCall_di"]=(function(){return Module["asm"]["dynCall_di"].apply(null,arguments)});var dynCall_viiiiiiiiiii=Module["dynCall_viiiiiiiiiii"]=(function(){return Module["asm"]["dynCall_viiiiiiiiiii"].apply(null,arguments)});var dynCall_iiii=Module["dynCall_iiii"]=(function(){return Module["asm"]["dynCall_iiii"].apply(null,arguments)});var dynCall_viiif=Module["dynCall_viiif"]=(function(){return Module["asm"]["dynCall_viiif"].apply(null,arguments)});var dynCall_viiiiiiii=Module["dynCall_viiiiiiii"]=(function(){return Module["asm"]["dynCall_viiiiiiii"].apply(null,arguments)});var dynCall_fii=Module["dynCall_fii"]=(function(){return Module["asm"]["dynCall_fii"].apply(null,arguments)});var dynCall_diiii=Module["dynCall_diiii"]=(function(){return Module["asm"]["dynCall_diiii"].apply(null,arguments)});var dynCall_viid=Module["dynCall_viid"]=(function(){return Module["asm"]["dynCall_viid"].apply(null,arguments)});var dynCall_fiii=Module["dynCall_fiii"]=(function(){return Module["asm"]["dynCall_fiii"].apply(null,arguments)});var dynCall_diiiii=Module["dynCall_diiiii"]=(function(){return Module["asm"]["dynCall_diiiii"].apply(null,arguments)});var dynCall_viiifii=Module["dynCall_viiifii"]=(function(){return Module["asm"]["dynCall_viiifii"].apply(null,arguments)});var dynCall_viiiidd=Module["dynCall_viiiidd"]=(function(){return Module["asm"]["dynCall_viiiidd"].apply(null,arguments)});var dynCall_iid=Module["dynCall_iid"]=(function(){return Module["asm"]["dynCall_iid"].apply(null,arguments)});var dynCall_viiiiiii=Module["dynCall_viiiiiii"]=(function(){return Module["asm"]["dynCall_viiiiiii"].apply(null,arguments)});var dynCall_iiddd=Module["dynCall_iiddd"]=(function(){return Module["asm"]["dynCall_iiddd"].apply(null,arguments)});var dynCall_viiiiiiiii=Module["dynCall_viiiiiiiii"]=(function(){return Module["asm"]["dynCall_viiiiiiiii"].apply(null,arguments)});var dynCall_viiiiiiiiii=Module["dynCall_viiiiiiiiii"]=(function(){return Module["asm"]["dynCall_viiiiiiiiii"].apply(null,arguments)});var dynCall_iii=Module["dynCall_iii"]=(function(){return Module["asm"]["dynCall_iii"].apply(null,arguments)});var dynCall_diii=Module["dynCall_diii"]=(function(){return Module["asm"]["dynCall_diii"].apply(null,arguments)});var dynCall_viiiiii=Module["dynCall_viiiiii"]=(function(){return Module["asm"]["dynCall_viiiiii"].apply(null,arguments)});var dynCall_dii=Module["dynCall_dii"]=(function(){return Module["asm"]["dynCall_dii"].apply(null,arguments)});var dynCall_viiiid=Module["dynCall_viiiid"]=(function(){return Module["asm"]["dynCall_viiiid"].apply(null,arguments)});var dynCall_fiiiii=Module["dynCall_fiiiii"]=(function(){return Module["asm"]["dynCall_fiiiii"].apply(null,arguments)});var dynCall_i=Module["dynCall_i"]=(function(){return Module["asm"]["dynCall_i"].apply(null,arguments)});var dynCall_fiiii=Module["dynCall_fiiii"]=(function(){return Module["asm"]["dynCall_fiiii"].apply(null,arguments)});var dynCall_iiiiii=Module["dynCall_iiiiii"]=(function(){return Module["asm"]["dynCall_iiiiii"].apply(null,arguments)});var dynCall_viiid=Module["dynCall_viiid"]=(function(){return Module["asm"]["dynCall_viiid"].apply(null,arguments)});var dynCall_iiiiij=Module["dynCall_iiiiij"]=(function(){return Module["asm"]["dynCall_iiiiij"].apply(null,arguments)});var dynCall_viii=Module["dynCall_viii"]=(function(){return Module["asm"]["dynCall_viii"].apply(null,arguments)});var dynCall_v=Module["dynCall_v"]=(function(){return Module["asm"]["dynCall_v"].apply(null,arguments)});var dynCall_iiiiiiiii=Module["dynCall_iiiiiiiii"]=(function(){return Module["asm"]["dynCall_iiiiiiiii"].apply(null,arguments)});var dynCall_viif=Module["dynCall_viif"]=(function(){return Module["asm"]["dynCall_viif"].apply(null,arguments)});var dynCall_viiii=Module["dynCall_viiii"]=(function(){return Module["asm"]["dynCall_viiii"].apply(null,arguments)});var dynCall_iiiiid=Module["dynCall_iiiiid"]=(function(){return Module["asm"]["dynCall_iiiiid"].apply(null,arguments)});var dynCall_iiiif=Module["dynCall_iiiif"]=(function(){return Module["asm"]["dynCall_iiiif"].apply(null,arguments)});Runtime.stackAlloc=Module["stackAlloc"];Runtime.stackSave=Module["stackSave"];Runtime.stackRestore=Module["stackRestore"];Runtime.establishStackSpace=Module["establishStackSpace"];Runtime.setTempRet0=Module["setTempRet0"];Runtime.getTempRet0=Module["getTempRet0"];Module["asm"]=asm;if(memoryInitializer){if(typeof Module["locateFile"]==="function"){memoryInitializer=Module["locateFile"](memoryInitializer)}else if(Module["memoryInitializerPrefixURL"]){memoryInitializer=Module["memoryInitializerPrefixURL"]+memoryInitializer}if(ENVIRONMENT_IS_NODE||ENVIRONMENT_IS_SHELL){var data=Module["readBinary"](memoryInitializer);HEAPU8.set(data,Runtime.GLOBAL_BASE)}else{addRunDependency("memory initializer");var applyMemoryInitializer=(function(data){if(data.byteLength)data=new Uint8Array(data);HEAPU8.set(data,Runtime.GLOBAL_BASE);if(Module["memoryInitializerRequest"])delete Module["memoryInitializerRequest"].response;removeRunDependency("memory initializer")});function doBrowserLoad(){Module["readAsync"](memoryInitializer,applyMemoryInitializer,(function(){throw"could not load memory initializer "+memoryInitializer}))}if(Module["memoryInitializerRequest"]){function useRequest(){var request=Module["memoryInitializerRequest"];if(request.status!==200&&request.status!==0){console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+request.status+", retrying "+memoryInitializer);doBrowserLoad();return}applyMemoryInitializer(request.response)}if(Module["memoryInitializerRequest"].response){setTimeout(useRequest,0)}else{Module["memoryInitializerRequest"].addEventListener("load",useRequest)}}else{doBrowserLoad()}}}function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var initialStackTop;var preloadStartTime=null;var calledMain=false;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};Module["callMain"]=Module.callMain=function callMain(args){args=args||[];ensureInitRuntime();var argc=args.length+1;function pad(){for(var i=0;i<4-1;i++){argv.push(0)}}var argv=[allocate(intArrayFromString(Module["thisProgram"]),"i8",ALLOC_NORMAL)];pad();for(var i=0;i0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(Module["_main"]&&shouldRunNow)Module["callMain"](args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout((function(){setTimeout((function(){Module["setStatus"]("")}),1);doRun()}),1)}else{doRun()}}Module["run"]=Module.run=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module["onExit"])Module["onExit"](status)}if(ENVIRONMENT_IS_NODE){process["exit"](status)}Module["quit"](status,new ExitStatus(status))}Module["exit"]=Module.exit=exit;var abortDecorators=[];function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;var extra="\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.";var output="abort("+what+") at "+stackTrace()+extra;if(abortDecorators){abortDecorators.forEach((function(decorator){output=decorator(output,what)}))}throw output}Module["abort"]=Module.abort=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"]){shouldRunNow=false}Module["noExitRuntime"]=true;run();"use strict";((function(){function r2r(rect){return{x:rect.x,y:rect.y,width:rect.width,height:rect.height}}function convertRvector(rvec){var ret=[];for(var i=0;i&2 - echo "wasi-sdk pre-built assets only ship for macOS and Linux on x86_64/arm64." >&2 - exit 1 - ;; -esac - -WASI_SDK_DIR="wasi-sdk-${WASI_VERSION_FULL}-${WASI_SDK_ARCH}" -WASI_SDK_PATH="${PROJECT_ROOT}/${WASI_SDK_DIR}" - -# Download wasi-sdk if missing. ~80 MB; cached under PROJECT_ROOT and -# gitignored via .gitignore (`wasi-sdk-*`). -if [ ! -d "$WASI_SDK_PATH" ]; then - echo "Downloading wasi-sdk ${WASI_VERSION_FULL} for ${WASI_SDK_ARCH}..." - curl -fLO "https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-${WASI_VERSION}/wasi-sdk-${WASI_VERSION_FULL}-${WASI_SDK_ARCH}.tar.gz" - tar xf "wasi-sdk-${WASI_VERSION_FULL}-${WASI_SDK_ARCH}.tar.gz" - rm "wasi-sdk-${WASI_VERSION_FULL}-${WASI_SDK_ARCH}.tar.gz" -fi - -echo "Using wasi-sdk at: $WASI_SDK_PATH" - -# Make sure the rustup target is installed for whichever toolchain the -# project pins (rust-toolchain.toml). Cheap if already added. -if command -v rustup >/dev/null 2>&1; then - rustup target add wasm32-wasip1-threads >/dev/null -fi - -# wasi-sdk's clang + sysroot — required because some transitive crates -# pull in a bundled C library that needs a working WASI libc. -export CC="${WASI_SDK_PATH}/bin/clang" -export CXX="${WASI_SDK_PATH}/bin/clang++" -export CFLAGS="--sysroot=${WASI_SDK_PATH}/share/wasi-sysroot" - -echo "Building for wasm32-wasip1-threads..." -cargo build --release --target=wasm32-wasip1-threads - -# Place reg.wasm at the repo root — `build.config.ts` picks it up from -# here and stages it into `dist/shared/reg.wasm` during `pnpm build`. -echo "Copying wasm to ./reg.wasm..." -cp target/wasm32-wasip1-threads/release/reg_cli.wasm reg.wasm - -echo "Build complete!" -ls -la reg.wasm diff --git a/scripts/release.sh b/scripts/release.sh deleted file mode 100755 index ae7debd0..00000000 --- a/scripts/release.sh +++ /dev/null @@ -1,64 +0,0 @@ -#!/bin/bash -# One-shot publish-prep: from a clean checkout, produce a tarball that's -# ready for `npm publish`. Used both for local verification and for any -# CI job that wants to gate on a successful pack. -# -# What it runs (in order): -# 1. scripts/build-ui.sh → report/ui/dist/{report.js,style.css} -# (consumed by reg_core via -# include_str! at compile time) -# 2. scripts/build-wasm.sh → ./reg.wasm (wasi-sdk + cargo) -# 3. pnpm install --frozen-lockfile → node_modules -# 4. pnpm build → dist/ (unbuild + reg.wasm staging) -# 5. npm pack [--dry-run] → tarball -# -# Usage: -# scripts/release.sh # builds + dry-run pack -# scripts/release.sh --pack # builds + writes the .tgz -# REPORT_UI_TAG=v0.5.0 scripts/release.sh # override the UI version -# -# Env vars: -# REPORT_UI_TAG default v0.3.0 (passed to build-ui.sh) -# SKIP_UI=1 skip the UI build (assumes report/ui/dist/ already exists) -# SKIP_WASM=1 skip the wasm rebuild (assumes ./reg.wasm already exists) -set -euo pipefail - -SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)" -PROJECT_ROOT="$(dirname "$SCRIPT_DIR")" -cd "$PROJECT_ROOT" - -REPORT_UI_TAG="${REPORT_UI_TAG:-v0.3.0}" -PACK_MODE="--dry-run" -if [ "${1:-}" = "--pack" ]; then - PACK_MODE="" -fi - -echo "==> [1/5] report-ui ${REPORT_UI_TAG}" -if [ "${SKIP_UI:-0}" = "1" ]; then - echo " (skipped — SKIP_UI=1)" -else - sh "$SCRIPT_DIR/build-ui.sh" "$REPORT_UI_TAG" -fi - -echo "==> [2/5] wasm bundle (wasi-sdk + cargo build --release)" -if [ "${SKIP_WASM:-0}" = "1" ]; then - echo " (skipped — SKIP_WASM=1)" -else - bash "$SCRIPT_DIR/build-wasm.sh" -fi - -echo "==> [3/5] pnpm install" -pnpm install --frozen-lockfile - -echo "==> [4/5] pnpm build (dist + bundled reg.wasm)" -pnpm build - -echo "==> [5/5] npm pack ${PACK_MODE}" -# Run pack from the repo root (the published package). -npm pack ${PACK_MODE} - -echo -echo "Release prep complete." -if [ -z "$PACK_MODE" ]; then - ls -la *.tgz -fi diff --git a/src/cli.js b/src/cli.js new file mode 100644 index 00000000..8ae54b5f --- /dev/null +++ b/src/cli.js @@ -0,0 +1,224 @@ +#!/usr/bin/env node + +/* @flow */ + +import { Spinner } from 'cli-spinner'; +import meow from 'meow'; +import path from 'path'; +import compare from './'; +import log from './log'; +import fs from 'fs'; + +// import notifier from './notifier'; +import { BALLOT_X, CHECK_MARK, GREEK_CROSS, MINUS } from './icon'; +import createReport from './report'; + +const spinner = new Spinner(); +spinner.setSpinnerString(18); + +const cli = meow( + ` + Usage + $ reg-cli /path/to/actual-dir /path/to/expected-dir /path/to/diff-dir + Options + -U, --update Update expected images.(Copy \`actual images\` to \`expected images\`). + -J, --json Specified json report path. If omitted ./reg.json. + -I, --ignoreChange If true, error will not be thrown when image change detected. + -E, --extendedErrors If true, also added/deleted images will throw an error. If omitted false. + -R, --report Output html report to specified directory. + --junit Output junit report to specified file. + -P, --urlPrefix Add prefix to all image src. + -M, --matchingThreshold Matching threshold, ranges from 0 to 1. Smaller values make the comparison more sensitive. 0 by default. + -T, --thresholdRate Rate threshold for detecting change. When the difference ratio of the image is larger than the set rate detects the change. + -S, --thresholdPixel Pixel threshold for detecting change. When the difference pixel of the image is larger than the set pixel detects the change. This value takes precedence over \`thresholdRate\`. + -C, --concurrency How many processes launches in parallel. If omitted 4. + -A, --enableAntialias. Enable antialias. If omitted false. + -X, --additionalDetection. Enable additional difference detection(highly experimental). Select "none" or "client" (default: "none"). + -F, --from Generate report from json. Please specify json file. If set, only report will be output without comparing images. + -D, --customDiffMessage Pass custom massage that will logged to the terminal when there is a diff. + Examples + $ reg-cli /path/to/actual-dir /path/to/expected-dir /path/to/diff-dir -U -D ./reg.json +`, + { + flags: { + update: { + type: 'boolean', + alias: 'U', + }, + json: { + type: 'string', + alias: 'J', + default: './reg.json', + }, + ignoreChange: { + type: 'boolean', + alias: 'I', + }, + extendedErrors: { + type: 'boolean', + alias: 'E', + default: false, + }, + report: { + type: 'string', + alias: 'R', + }, + junit: { + type: 'string', + }, + urlPrefix: { + type: 'string', + alias: 'P', + }, + matchingThreshold: { + type: 'number', + alias: 'M', + default: 0, + }, + thresholdRate: { + type: 'number', + alias: 'T', + }, + thresholdPixel: { + type: 'number', + alias: 'S', + }, + concurrency: { + type: 'number', + alias: 'C', + default: 4, + }, + enableAntialias: { + type: 'boolean', + alias: 'A', + default: false, + }, + additionalDetection: { + type: 'string', + alias: 'X', + default: 'none', + }, + from: { + type: 'string', + alias: 'F', + }, + customDiffMessage: { + type: 'string', + alias: 'D', + }, + }, + }, +); +if (!cli.flags.from) { + if (!process.argv[2] || !process.argv[3] || !process.argv[4]) { + log.fail('please specify actual, expected and diff images directory.'); + log.fail('e.g.: $ reg-cli /path/to/actual-dir /path/to/expected-dir /path/to/diff-dir'); + process.exit(1); + } +} + +const json = cli.flags.json ? cli.flags.json.toString() : './reg.json'; // default output path + +const urlPrefix = typeof cli.flags.urlPrefix === 'string' ? cli.flags.urlPrefix : './'; + +const report = typeof cli.flags.report === 'string' ? cli.flags.report : !!cli.flags.report ? './report.html' : ''; +const junitReport = typeof cli.flags.junit === 'string' ? cli.flags.junit : !!cli.flags.junit ? './junit.xml' : ''; +const actualDir = process.argv[2]; +const expectedDir = process.argv[3]; +const diffDir = process.argv[4]; +const update = !!cli.flags.update; +const extendedErrors = !!cli.flags.extendedErrors; +const ignoreChange = !!cli.flags.ignoreChange; +const enableClientAdditionalDetection = cli.flags.additionalDetection === 'client'; +const from = String(cli.flags.from || ''); +const customDiffMessage = String( + cli.flags.customDiffMessage || `\nInspect your code changes, re-run with \`-U\` to update them. `, +); + +// If from option specified, generate report from json and exit. +if (from) { + let json = ''; + try { + json = fs.readFileSync(from, { encoding: 'utf8' }); + } catch (e) { + log.fail('Failed to read specify json.'); + log.fail(e); + process.exit(1); + } + + try { + const params = JSON.parse(json); + createReport({ + ...params, + json: json || './reg.json', + report: report || './report.html', + junitReport: junitReport || '', + extendedErrors, + urlPrefix: urlPrefix || '', + enableClientAdditionalDetection, + fromJSON: true, + }); + process.exit(0); + } catch (e) { + log.fail('Failed to parse json. Please specify valid json.'); + log.fail(e); + process.exit(1); + } +} + +const observer = compare({ + actualDir, + expectedDir, + diffDir, + update, + report, + junitReport, + extendedErrors, + json, + urlPrefix, + matchingThreshold: Number(cli.flags.matchingThreshold || 0), + thresholdRate: Number(cli.flags.thresholdRate), + thresholdPixel: Number(cli.flags.thresholdPixel), + concurrency: Number(cli.flags.concurrency || 4), + enableAntialias: !!cli.flags.enableAntialias, + enableClientAdditionalDetection, +}); + +observer.once('start', () => spinner.start()); + +observer.on('compare', params => { + spinner.stop(true); + const file = path.join(`${actualDir}`, `${params.path}`); + switch (params.type) { + case 'delete': + return log.warn(`${MINUS} delete ${file}`); + case 'new': + return log.info(`${GREEK_CROSS} append ${file}`); + case 'pass': + return log.success(`${CHECK_MARK} pass ${file}`); + case 'fail': + return log.fail(`${BALLOT_X} change ${file}`); + } + spinner.start(); +}); + +observer.once('update', () => log.success(`✨ your expected images are updated ✨`)); + +observer.once('complete', ({ failedItems, deletedItems, newItems, passedItems }) => { + spinner.stop(true); + log.info('\n'); + if (failedItems.length) log.fail(`${BALLOT_X} ${failedItems.length} file(s) changed.`); + if (deletedItems.length) log.warn(`${MINUS} ${deletedItems.length} file(s) deleted.`); + if (newItems.length) log.info(`${GREEK_CROSS} ${newItems.length} file(s) appended.`); + if (passedItems.length) log.success(`${CHECK_MARK} ${passedItems.length} file(s) passed.`); + if (!update && (failedItems.length > 0 || (extendedErrors && (newItems.length > 0 || deletedItems.length > 0)))) { + log.fail(customDiffMessage); + if (!ignoreChange) process.exit(1); + } + return process.exit(0); +}); + +observer.once('error', error => { + log.fail(error); + process.exit(1); +}); diff --git a/src/cli.ts b/src/cli.ts deleted file mode 100644 index 866ec742..00000000 --- a/src/cli.ts +++ /dev/null @@ -1,275 +0,0 @@ -#!/usr/bin/env node -// -// CLI wrapper around the Wasm `run()` entry point. -// -// Goal: match the surface of classic reg-cli (`src/cli.js`) closely enough -// that users migrating from `reg-cli` to `@bokuweb/reg-cli-wasm` do not have -// to change their CI invocation. Specifically this handles: -// -// - POSIX short-flag aliases (-R, -J, -M, -T, -S, -C, -A, -I, -E, -U, -D) -// - Non-zero exit code on pixel diff (`process.exitCode = 1`) -// - Per-file progress log + summary line -// - `-U / --update` baseline refresh -// - `-I / --ignoreChange` overrides the non-zero exit code -// - `-E / --extendedErrors` escalates new/deleted counts to failure -// - `-D / --customDiffMessage` custom trailer line -// -// Still handled in the Wasm (Rust) side via clap short aliases: -// -// -R/--report, -J/--json, -M/--matchingThreshold, -T/--thresholdRate, -// -S/--thresholdPixel, -P/--urlPrefix, -C/--concurrency, -A/--enableAntialias, -// --diffFormat, --junit, -F/--from, -X/--additionalDetection -// -// reg.json and junit.xml are now written on the Rust/Wasm side so that they -// land inside the WASI sandbox's preopened directory and so the non-wasm -// `cargo run` CLI produces identical artefacts. -// -import { parseArgs } from 'node:util'; -import { copyFile, mkdir } from 'node:fs/promises'; -import { createRequire } from 'node:module'; -import { dirname, join } from 'node:path'; -import { run, dir as distDir, type CompareOutput } from './'; -import { writeXimgdiffAssets } from './ximgdiff'; - -const HELP = ` - Usage - $ reg-cli /path/to/actual-dir /path/to/expected-dir /path/to/diff-dir - Options - -U, --update Update expected images (copy actual → expected). - -R, --report Output html report to specified path. - -J, --json Output json report to specified path (default ./reg.json). - -I, --ignoreChange Exit 0 even when image changes are detected. - -E, --extendedErrors Also treat added/deleted images as failures. - -F, --from Render HTML report from an existing reg.json (no diff). - -X, --additionalDetection "none" | "client" — enable browser-side second-pass detection. - -P, --urlPrefix Prefix for image src in html report. - -M, --matchingThreshold YIQ threshold (0-1). Default 0. - -T, --thresholdRate Ratio of pixels that may differ before failing. - -S, --thresholdPixel Absolute pixel count that may differ before failing. - -C, --concurrency Parallel worker count. Default 4. - -A, --enableAntialias Count anti-aliased pixels as different. - -D, --customDiffMessage Trailing message printed on diff. - --junit Path to write a JUnit XML test report. - --diffFormat webp (default) | png -`; - -if (process.argv.includes('-h') || process.argv.includes('--help')) { - process.stdout.write(HELP); - process.exit(0); -} -if (process.argv.includes('--version')) { - // Read from the package.json next to dist/. reg-suit and downstream - // tooling probe `reg-cli --version` to decide which compat shim to use, - // so this needs to report a real semver. - try { - const requireShim = createRequire(import.meta.url); - const pkg = requireShim('../package.json') as { version?: string }; - process.stdout.write(`${pkg.version ?? 'unknown'}\n`); - } catch { - process.stdout.write('unknown\n'); - } - process.exit(0); -} - -let parsed; -try { - parsed = parseArgs({ - args: process.argv.slice(2), - options: { - update: { type: 'boolean', short: 'U' }, - json: { type: 'string', short: 'J' }, - ignoreChange: { type: 'boolean', short: 'I' }, - extendedErrors: { type: 'boolean', short: 'E' }, - report: { type: 'string', short: 'R' }, - urlPrefix: { type: 'string', short: 'P' }, - matchingThreshold: { type: 'string', short: 'M' }, - thresholdRate: { type: 'string', short: 'T' }, - thresholdPixel: { type: 'string', short: 'S' }, - concurrency: { type: 'string', short: 'C' }, - enableAntialias: { type: 'boolean', short: 'A' }, - customDiffMessage: { type: 'string', short: 'D' }, - diffFormat: { type: 'string' }, - junit: { type: 'string' }, - from: { type: 'string', short: 'F' }, - additionalDetection: { type: 'string', short: 'X' }, - }, - allowPositionals: true, - }); -} catch (err) { - process.stderr.write(`reg-cli: ${(err as Error).message}\n`); - process.stderr.write(HELP); - process.exit(1); -} - -const { values, positionals } = parsed; -const [actualDir, expectedDir, diffDir] = positionals; -const fromPath = typeof values.from === 'string' ? values.from : undefined; - -// `-F/--from` re-renders HTML from an existing reg.json and does not need -// the positional dirs; classic reg-cli accepts that mode without them. -if (!fromPath && (!actualDir || !expectedDir || !diffDir)) { - process.stderr.write('reg-cli: please specify actual, expected and diff directories.\n'); - process.stderr.write(HELP); - process.exit(1); -} - -// CLI-only semantics (not forwarded to Wasm). -const update = !!values.update; -const ignoreChange = !!values.ignoreChange; -const extendedErrors = !!values.extendedErrors; -// Default to matching classic reg-cli: diff images are written as PNG, -// `./reg.json` is always persisted to disk (in `run()` on the Rust side). -const diffFormat = typeof values.diffFormat === 'string' ? values.diffFormat : 'png'; -const jsonPath = typeof values.json === 'string' ? values.json : './reg.json'; -const customDiffMessage = - typeof values.customDiffMessage === 'string' - ? values.customDiffMessage - : `\nInspect your code changes, re-run with \`-U\` to update them. `; - -// Forward to Wasm: only flags that Rust/clap understands. -const wasmArgv: string[] = ['--']; -if (actualDir) wasmArgv.push(actualDir); -if (expectedDir) wasmArgv.push(expectedDir); -if (diffDir) wasmArgv.push(diffDir); -const pushFlag = (name: string, v: unknown): void => { - if (v == null || v === false) return; - if (v === true) wasmArgv.push(`--${name}`); - else wasmArgv.push(`--${name}`, String(v)); -}; -pushFlag('report', values.report); -pushFlag('json', jsonPath); -pushFlag('junit', values.junit); -// `-E` is both a CLI exit-code knob (handled in JS below) AND input to the -// junit XML generator on the Rust side — forward it so the XML matches -// classic reg-cli's extendedErrors behaviour. -pushFlag('extendedErrors', values.extendedErrors); -pushFlag('from', fromPath); -pushFlag('additionalDetection', values.additionalDetection); -pushFlag('matchingThreshold', values.matchingThreshold); -pushFlag('thresholdRate', values.thresholdRate); -pushFlag('thresholdPixel', values.thresholdPixel); -pushFlag('urlPrefix', values.urlPrefix); -pushFlag('concurrency', values.concurrency); -pushFlag('enableAntialias', values.enableAntialias); -pushFlag('diffFormat', diffFormat); - -const CHECK = '\u2714'; // ✔ -const CROSS = '\u2718'; // ✘ -const PLUS = '\u271A'; // ✚ -const MINUS = '\u2212'; // − - -// `--from` mode doesn't require a positional actualDir; fall back to just the -// path when we have no prefix to join. -const formatPath = (p: string) => (actualDir ? join(actualDir, p) : p); - -const emitter = run(wasmArgv); - -emitter.once('complete', async (data: CompareOutput) => { - const failed = data.failedItems ?? []; - const passed = data.passedItems ?? []; - const added = data.newItems ?? []; - const deleted = data.deletedItems ?? []; - - // NOTE: reg.json and junit.xml are written by the Rust/Wasm side (see - // `reg_core::run` + `reg_core::run_from_json`). Doing it there keeps the - // files inside the WASI sandbox's preopened root and avoids a duplicate - // serialize/write from JS. - - // `-X client` emits worker.js + detector.wasm next to the HTML report so - // the browser's second-pass pixel detector can actually load. We do it in - // JS (not Rust) because the x-img-diff-js wasm binary lives in node_modules - // and shouldn't be linked into the Wasm bundle. - if (values.additionalDetection === 'client' && typeof values.report === 'string') { - try { - await writeXimgdiffAssets({ - reportPath: values.report, - urlPrefix: typeof values.urlPrefix === 'string' ? values.urlPrefix : '', - distDir: distDir(), - }); - } catch (e) { - process.stderr.write(`reg-cli: failed to write ximgdiff assets — ${(e as Error).message}\n`); - process.exitCode = 1; - } - } - - // Per-file lines (ordering roughly follows classic reg-cli). - for (const img of passed) process.stdout.write(`${CHECK} pass ${formatPath(img)}\n`); - for (const img of added) process.stdout.write(`${PLUS} append ${formatPath(img)}\n`); - for (const img of deleted) process.stdout.write(`${MINUS} delete ${formatPath(img)}\n`); - for (const img of failed) process.stdout.write(`${CROSS} change ${formatPath(img)}\n`); - - // Summary lines. - process.stdout.write('\n'); - if (failed.length) process.stdout.write(`${CROSS} ${failed.length} file(s) changed.\n`); - if (deleted.length) process.stdout.write(`${MINUS} ${deleted.length} file(s) deleted.\n`); - if (added.length) process.stdout.write(`${PLUS} ${added.length} file(s) appended.\n`); - if (passed.length) process.stdout.write(`${CHECK} ${passed.length} file(s) passed.\n`); - - if (update) { - if (!actualDir || !expectedDir) { - process.stderr.write(`reg-cli: --update requires actual/expected dirs (incompatible with --from).\n`); - process.exitCode = 1; - return; - } - try { - await updateExpected(actualDir, expectedDir, { - newItems: added, - failedItems: failed, - deletedItems: deleted, - }); - process.stdout.write('\u2728 your expected images are updated \u2728\n'); - } catch (e) { - process.stderr.write(`reg-cli: failed to update expected — ${(e as Error).message}\n`); - process.exitCode = 1; - } - return; - } - - const hasFailure = - failed.length > 0 || (extendedErrors && (added.length > 0 || deleted.length > 0)); - - if (hasFailure) { - process.stdout.write(`${customDiffMessage}\n`); - if (!ignoreChange) process.exitCode = 1; - } -}); - -emitter.once('error', (err: Error) => { - process.stderr.write(`reg-cli: ${err?.message ?? String(err)}\n`); - process.exitCode = 1; -}); - -// Match classic reg-cli's `-U` semantics (src/index.js:134-146): -// -// 1. rm from expected: deletedItems ∪ failedItems — first so stale -// baselines don't linger and so overwrites are clean. -// 2. copy actual→expected: newItems ∪ failedItems — only the images the -// user actually wanted to refresh; passed items are untouched. -// -// This differs from a naive `copy every actualItem` (what we shipped -// pre-phase-F) in two ways that matter for reg-suit workflows: -// - deleted baselines are actually pruned -// - unchanged images aren't needlessly rewritten (preserves mtime, keeps -// git status clean) -async function updateExpected( - actualDir: string, - expectedDir: string, - items: { - newItems: string[]; - failedItems: string[]; - deletedItems: string[]; - }, -): Promise { - const { rm } = await import('node:fs/promises'); - const toRemove = [...items.deletedItems, ...items.failedItems]; - for (const img of toRemove) { - await rm(join(expectedDir, img), { force: true }); - } - const toCopy = [...items.newItems, ...items.failedItems]; - for (const img of toCopy) { - const src = join(actualDir, img); - const dst = join(expectedDir, img); - await mkdir(dirname(dst), { recursive: true }); - await copyFile(src, dst); - } -} diff --git a/src/diff.js b/src/diff.js new file mode 100644 index 00000000..1ea16605 --- /dev/null +++ b/src/diff.js @@ -0,0 +1,78 @@ +/* @flow */ + +import { imgDiff } from 'img-diff-js'; // $FlowIgnore +import md5File from 'md5-file'; // $FlowIgnore +import path from 'path'; + +export type DiffCreatorParams = { + actualDir: string; + expectedDir: string; + diffDir: string; + image: string; + matchingThreshold: number, + thresholdRate?: number, + thresholdPixel?: number, + enableAntialias: boolean; +} + +export type DiffResult = { + image: string; + passed: boolean; +} + +const getMD5 = (file) => new Promise((resolve, reject) => { + md5File(file, (err, hash) => { + if (err) reject(err); + resolve(hash); + }) +}); + +const isPassed = ({ width, height, diffCount, thresholdPixel, thresholdRate }: { + width: number, + height: number, + diffCount: number, + thresholdPixel?: number, + thresholdRate?: number +}) => { + if (typeof thresholdPixel === "number") { + return diffCount <= thresholdPixel; + } else if (typeof thresholdRate === "number") { + const totalPixel = width * height; + const ratio = diffCount / totalPixel; + return ratio <= thresholdRate; + } + return diffCount === 0; +}; + +const createDiff = ({ + actualDir, expectedDir, diffDir, image, matchingThreshold, thresholdRate, thresholdPixel, enableAntialias +}: DiffCreatorParams) => { + return Promise.all([ + getMD5(path.join(actualDir, image)), + getMD5(path.join(expectedDir, image)), + ]).then(([actualHash, expectedHash]) => { + if (actualHash === expectedHash) { + if (!process || !process.send) return; + return process.send({ passed: true, image }); + } + const diffImage = image.replace(/\.[^\.]+$/, ".png"); + return imgDiff({ + actualFilename: path.join(actualDir, image), + expectedFilename: path.join(expectedDir, image), + diffFilename: path.join(diffDir, diffImage), + options: { + threshold: matchingThreshold, + includeAA: !enableAntialias, + }, + }) + .then(({ width, height, diffCount }) => { + const passed = isPassed({ width, height, diffCount, thresholdPixel, thresholdRate }); + if (!process || !process.send) return; + process.send({ passed, image }); + }) + }) +}; + +process.on('message', (data) => { + createDiff(data); +}); diff --git a/src/entry.ts b/src/entry.ts deleted file mode 100644 index f595eabf..00000000 --- a/src/entry.ts +++ /dev/null @@ -1,183 +0,0 @@ -import fs from 'node:fs'; -import { WASI, type IFs } from '@tybys/wasm-util'; -import { env } from 'node:process'; -import { parentPort, workerData } from 'node:worker_threads'; -import { computeWasiSandbox, readWasm } from './utils'; -import { createPrintErrHook } from './progress'; -import { type RustTraceData, type WorkerSpan } from './tracing'; - -// Check if tracing is enabled via environment variable -const isTracingEnabled = (): boolean => { - return env.OTEL_ENABLED === 'true' || env.JAEGER_ENABLED === 'true'; -}; - -// Collect timing spans on the worker side to be sent back with 'complete'. -const workerSpans: WorkerSpan[] = []; -const tSpan = async ( - name: string, - fn: () => Promise | T, - attributes?: WorkerSpan['attributes'], -): Promise => { - if (!isTracingEnabled()) return fn(); - const start_ms = Date.now(); - const result = await fn(); - workerSpans.push({ - name, - start_ms, - end_ms: Date.now(), - attributes, - worker_label: 'entry', - }); - return result; -}; - -export type CompareOutput = { - failedItems: string[]; - newItems: string[]; - deletedItems: string[]; - passedItems: string[]; - expectedItems: string[]; - actualItems: string[]; - diffItems: string[]; - actualDir: string; - expectedDir: string; - diffDir: string; -}; - -// Build the narrowest WASI sandbox this run needs. See `computeWasiSandbox` -// in utils.ts for the policy. -const sandbox = computeWasiSandbox(workerData.argv); - -// Live `compare` events: Rust emits tagged stderr lines as each image -// finishes diffing (or is detected as new/deleted). Forward them to the -// main process so `EventEmitter#emit('compare', …)` can fire live instead -// of batched-post-complete. -const printErr = createPrintErrHook((ev) => { - parentPort?.postMessage({ cmd: 'compare-event', event: ev }); -}); - -const wasi = new WASI({ - version: 'preview1', - args: workerData.argv, - env: sandbox.env, - returnOnExit: true, - preopens: sandbox.preopens, - fs: fs as IFs, - printErr, -}); - -const imports = wasi.getImportObject(); -const file = readWasm(); - -/** - * Read a string from WASM memory using WasmOutput structure - */ -const readWasmString = ( - exports: any, - memory: WebAssembly.Memory, - outputPtr: number, -): string => { - const view = new DataView(memory.buffer, outputPtr); - const len = view.getUint32(0, true); - const bufPtr = view.getUint32(4, true); - const stringData = new Uint8Array(memory.buffer, bufPtr, len); - const decoder = new TextDecoder('utf-8'); - const str = decoder.decode(stringData); - exports.free_wasm_output(outputPtr); - return str; -}; - -(async () => { - try { - const entry_start_ms = Date.now(); - - const wasm = await tSpan( - 'entry.wasm_compile', - async () => WebAssembly.compile(await file), - ); - - const opts = { initial: 256, maximum: 16384, shared: true }; - const memory = new WebAssembly.Memory(opts); - - let instance = await tSpan('entry.wasm_instantiate', async () => - WebAssembly.instantiate(wasm, { - ...imports, - wasi: { - 'thread-spawn': (startArg: number) => { - const threadIdBuffer = new SharedArrayBuffer(4); - const id = new Int32Array(threadIdBuffer); - Atomics.store(id, 0, -1); - parentPort?.postMessage({ - cmd: 'thread-spawn', - startArg, - threadId: id, - memory, - }); - Atomics.wait(id, 0, -1); - const tid = Atomics.load(id, 0); - return tid; - }, - }, - env: { memory }, - }), - ); - - const exports = instance.exports as any; - - await tSpan('entry.wasi_start', async () => { - wasi.start(instance); - }); - - // Initialize tracing in WASM if enabled - if (isTracingEnabled() && typeof exports.init_tracing === 'function') { - await tSpan('entry.init_tracing_rust', async () => { - exports.init_tracing(); - }); - } - - // Run the main WASM function - const m = await tSpan('entry.wasm_main', async () => exports.wasm_main()); - const reportString = await tSpan('entry.read_report_string', async () => - readWasmString(exports, memory, m), - ); - const report = JSON.parse(reportString); - - // Get trace data from WASM if tracing is enabled - let traceData: RustTraceData | null = null; - if (isTracingEnabled() && typeof exports.get_trace_data === 'function') { - await tSpan('entry.collect_rust_traces', async () => { - const tracePtr = exports.get_trace_data(); - const traceJson = readWasmString(exports, memory, tracePtr); - try { - traceData = JSON.parse(traceJson) as RustTraceData; - } catch (e) { - console.error('[Tracing] Failed to parse trace data:', e); - } - - if (typeof exports.clear_trace_data === 'function') { - exports.clear_trace_data(); - } - }); - } - - // Overall span for this main worker - if (isTracingEnabled()) { - workerSpans.push({ - name: 'entry.worker_total', - start_ms: entry_start_ms, - end_ms: Date.now(), - worker_label: 'entry', - }); - } - - parentPort?.postMessage({ - cmd: 'complete', - data: report, - traceData, - workerSpans, - }); - } catch (e) { - throw e; - } -})(); - diff --git a/src/icon.js b/src/icon.js new file mode 100644 index 00000000..da8746d2 --- /dev/null +++ b/src/icon.js @@ -0,0 +1,6 @@ +export const BALLOT_X = '\u2718'; +export const CHECK_MARK = '\u2714'; +export const TEARDROP = '\u274B'; +export const MULTIPLICATION_X = '\u2716'; +export const GREEK_CROSS = '\u271A'; +export const MINUS = '\u2212'; \ No newline at end of file diff --git a/src/image-finder.js b/src/image-finder.js new file mode 100644 index 00000000..40ce2000 --- /dev/null +++ b/src/image-finder.js @@ -0,0 +1,27 @@ +/* @flow */ + +import glob from 'glob'; // $FlowIgnore +import path from 'path'; + +const difference = (arrA, arrB) => arrA.filter(a => !arrB.includes(a)); + +const IMAGE_FILES = '/**/*.+(tiff|jpeg|jpg|gif|png|bmp)'; + +export const findImages = (expectedDir: string, actualDir: string) => { + const expectedImages = glob + .sync(`${expectedDir}${IMAGE_FILES}`) + .map(p => path.relative(expectedDir, p)) + .map(p => (p[0] === path.sep ? p.slice(1) : p)); + const actualImages = glob + .sync(`${actualDir}${IMAGE_FILES}`) + .map(p => path.relative(actualDir, p)) + .map(p => (p[0] === path.sep ? p.slice(1) : p)); + const deletedImages = difference(expectedImages, actualImages); + const newImages = difference(actualImages, expectedImages); + return { + expectedImages, + actualImages, + deletedImages, + newImages, + }; +}; diff --git a/src/index.js b/src/index.js new file mode 100644 index 00000000..de950dc9 --- /dev/null +++ b/src/index.js @@ -0,0 +1,229 @@ +/* @flow */ + +import glob from 'glob'; // $FlowIgnore +import mkdirp from 'make-dir'; // $FlowIgnore +import { deleteAsync } from 'del'; // $FlowIgnore +import fs from 'fs'; +import path from 'path'; +import { range } from 'lodash'; +import log from './log'; +import createReport from './report'; +// $FlowIgnore +import bluebird from 'bluebird'; +import EventEmitter from 'events'; +import ProcessAdaptor from './process-adaptor'; +import type { DiffCreatorParams } from './diff'; +import { findImages } from './image-finder'; + +type CompareResult = { + passed: boolean, + image: string, +}; + +type RegParams = { + actualDir: string, + expectedDir: string, + diffDir: string, + report?: string, + junitReport?: string, + json?: string, + update?: boolean, + extendedErrors?: boolean, + urlPrefix?: string, + matchingThreshold?: number, + threshold?: number, // alias to thresholdRate. + thresholdRate?: number, + thresholdPixel?: number, + concurrency?: number, + enableAntialias?: boolean, + enableClientAdditionalDetection?: boolean, +}; + +const copyImages = (actualImages, { expectedDir, actualDir }) => { + return Promise.all( + actualImages.map( + image => + new Promise((resolve, reject) => { + try { + mkdirp.sync(path.dirname(path.join(expectedDir, image))); + const writeStream = fs.createWriteStream(path.join(expectedDir, image)); + fs.createReadStream(path.join(actualDir, image)).pipe(writeStream); + writeStream.on('finish', err => { + if (err) reject(err); + resolve(); + }); + } catch (err) { + reject(err); + } + }), + ), + ); +}; + +const compareImages = ( + emitter, + { + expectedImages, + actualImages, + dirs, + matchingThreshold, + thresholdPixel, + thresholdRate, + concurrency, + enableAntialias, + }, +): Promise => { + const images = actualImages.filter(actualImage => expectedImages.includes(actualImage)); + concurrency = images.length < 20 ? 1 : concurrency || 4; + const processes = range(concurrency).map(() => new ProcessAdaptor(emitter)); + return bluebird + .map( + images, + image => { + const p = processes.find(p => !p.isRunning()); + if (p) { + return p.run({ + ...dirs, + image, + matchingThreshold, + thresholdRate, + thresholdPixel, + enableAntialias, + }); + } + }, + { concurrency }, + ) + .then(result => { + processes.forEach(p => p.close()); + return result; + }) + .filter(r => !!r); +}; + +const cleanupExpectedDir = (expectedDir, changedFiles) => { + const paths = changedFiles.map(image => { + const directories = expectedDir.split("\\"); + return escapeGlob(path.posix.join(...directories, image)); + }); + // force: true needed to allow deleting outside working directory + return deleteAsync(paths, { force: true }); +}; + +const escapeGlob = fileName => { + return fileName + .replace(/(\*)/g, '[$1]') + .replace(/(\*)/g, '[$1]') + .replace(/(\?)/g, '[$1]') + .replace(/(\[)/g, '[$1]') + .replace(/(\])/g, '[$1]') + .replace(/(\{)/g, '[$1]') + .replace(/(\})/g, '[$1]') + .replace(/(\))/g, '[$1]') + .replace(/(\()/g, '[$1]') + .replace(/(\!)/g, '[$1]'); +}; + +const aggregate = result => { + const passed = result.filter(r => r.passed).map(r => r.image); + const failed = result.filter(r => !r.passed).map(r => r.image); + const diffItems = failed.map(image => image.replace(/\.[^\.]+$/, '.png')); + return { passed, failed, diffItems }; +}; + +const updateExpected = ({ actualDir, expectedDir, diffDir, deletedImages, newImages, diffItems }) => { + return cleanupExpectedDir(expectedDir, [...deletedImages, ...diffItems]) + .then(() => + copyImages([...newImages, ...diffItems], { + actualDir, + expectedDir, + diffDir, + }), + ) + .then(() => { + log.success(`\nAll images are updated. `); + }); +}; + +module.exports = (params: RegParams) => { + const { + actualDir, + expectedDir, + diffDir, + json, + concurrency = 4, + update, + report, + junitReport, + extendedErrors, + urlPrefix, + threshold, + matchingThreshold = 0, + thresholdRate, + thresholdPixel, + enableAntialias, + enableClientAdditionalDetection, + } = params; + const dirs = { actualDir, expectedDir, diffDir }; + const emitter = new EventEmitter(); + + const { expectedImages, actualImages, deletedImages, newImages } = findImages(expectedDir, actualDir); + + mkdirp.sync(expectedDir); + mkdirp.sync(diffDir); + + setImmediate(() => emitter.emit('start')); + compareImages(emitter, { + expectedImages, + actualImages, + dirs, + matchingThreshold, + thresholdRate: thresholdRate || threshold, + thresholdPixel, + concurrency, + enableAntialias: !!enableAntialias, + }) + .then(result => aggregate(result)) + .then(({ passed, failed, diffItems }) => { + return createReport({ + passedItems: passed, + failedItems: failed, + newItems: newImages, + deletedItems: deletedImages, + expectedItems: update ? actualImages : expectedImages, + actualItems: actualImages, + diffItems, + json: json || './reg.json', + actualDir, + expectedDir, + diffDir, + report: report || '', + junitReport: junitReport || '', + extendedErrors: !!extendedErrors, + urlPrefix: urlPrefix || '', + enableClientAdditionalDetection: !!enableClientAdditionalDetection, + }); + }) + .then(result => { + deletedImages.forEach(image => emitter.emit('compare', { type: 'delete', path: image })); + newImages.forEach(image => emitter.emit('compare', { type: 'new', path: image })); + if (update) { + return updateExpected({ + actualDir, + expectedDir, + diffDir, + deletedImages, + newImages, + diffItems: result.diffItems, + }).then(() => { + emitter.emit('update'); + return result; + }); + } + return result; + }) + .then(result => emitter.emit('complete', result)) + .catch(err => emitter.emit('error', err)); + + return emitter; +}; diff --git a/src/index.ts b/src/index.ts deleted file mode 100644 index d4e660a5..00000000 --- a/src/index.ts +++ /dev/null @@ -1,371 +0,0 @@ -import EventEmitter from 'node:events'; -import { Worker } from 'node:worker_threads'; -import { isCJS, resolveExtention } from './utils'; -import { join, dirname } from 'node:path'; -import { fileURLToPath } from 'url'; -import { - initTracing, - shutdownTracing, - processRustTraceData, - processWorkerSpans, - isTracingEnabled, - startRootSpan, - endRootSpan, - type RustTraceData, - type WorkerSpan, -} from './tracing'; - -export const dir = (): string => { - const dir = isCJS ? __dirname : dirname(fileURLToPath(import.meta.url)); - return dir; -}; - -// Record a span in the main process' WorkerSpan format for later conversion. -const mainSpans: WorkerSpan[] = []; -const recordMainSpan = (name: string, start_ms: number, attributes?: WorkerSpan['attributes']) => { - if (!isTracingEnabled()) return; - mainSpans.push({ name, start_ms, end_ms: Date.now(), attributes, worker_label: 'main' }); -}; - -export const run = (argv: string[]): EventEmitter => { - const run_start_ms = Date.now(); - - // Initialize tracing if enabled (may be ~tens of ms on first run). - const t_init = Date.now(); - if (isTracingEnabled()) { - initTracing(); - recordMainSpan('main.init_tracing', t_init); - } - - // Start root span for the entire operation - const traceContext = isTracingEnabled() ? startRootSpan('reg-cli') : null; - - const emitter = new EventEmitter(); - - // Classic reg-cli fires a 'start' event on the next tick of the run so - // subscribers (e.g. spinners) can latch on. Mirror that behaviour. - setImmediate(() => emitter.emit('start')); - - const t_new_entry = Date.now(); - const worker = new Worker(join(dir(), `./entry.${resolveExtention()}`), { workerData: { argv } }); - recordMainSpan('main.new_entry_worker', t_new_entry); - - let nextTid = 1; - const workers = [worker]; - const threadWorkerSpans: WorkerSpan[] = []; - - const spawn = (startArg: number, threadId: Int32Array, memory: WebAssembly.Memory) => { - const t_new_worker = Date.now(); - const worker = new Worker(join(dir(), `./worker.${resolveExtention()}`), { workerData: { argv } }); - const tid = nextTid++; - recordMainSpan('main.new_thread_worker', t_new_worker, { tid }); - - workers.push(worker); - - worker.on('message', (msg) => { - const { cmd } = msg; - if (cmd === 'loaded') { - if (typeof worker.unref === 'function') { - worker.unref(); - } - } else if (cmd === 'thread-spawn') { - spawn(msg.startArg, msg.threadId, msg.memory); - } else if (cmd === 'worker-spans') { - if (Array.isArray(msg.workerSpans)) { - threadWorkerSpans.push(...msg.workerSpans); - } - } else if (cmd === 'compare-event') { - // Rayon thread workers forward tagged progress lines here. - if (msg.event) emitter.emit('compare', msg.event); - } - }); - - worker.on('error', (e: Error) => { - workers.forEach((w) => w.terminate()); - // Forward as an `error` event on the parent emitter so callers can - // `emitter.on('error', ...)` instead of wrapping in a global handler. - // (Parity with classic reg-cli's EventEmitter surface.) - emitter.emit('error', e); - }); - - if (threadId) { - Atomics.store(threadId, 0, tid); - Atomics.notify(threadId, 0); - } - worker.postMessage({ startArg, tid, memory }); - return tid; - }; - - worker.on('message', async ({ cmd, startArg, threadId, memory, data, traceData, workerSpans, event }) => { - if (cmd === 'compare-event') { - // The main entry worker (`entry.ts`) forwards events from any - // non-threaded progress (e.g. `find_images` emitting new/delete - // up front). Rayon thread workers' events are handled in `spawn()`. - if (event) emitter.emit('compare', event); - return; - } - if (cmd === 'complete') { - const t_post_complete = Date.now(); - - // Process JS worker spans (entry.ts + thread workers) - if (isTracingEnabled()) { - if (Array.isArray(workerSpans)) { - processWorkerSpans(workerSpans as WorkerSpan[], 'entry'); - } - if (threadWorkerSpans.length) { - processWorkerSpans(threadWorkerSpans, 'thread'); - } - // Process trace data from Rust/WASM if available - if (traceData) { - processRustTraceData(traceData as RustTraceData); - } - // Record wall-clock around processing - recordMainSpan('main.process_trace_and_spans', t_post_complete); - // Also record total time - mainSpans.push({ - name: 'main.run_total', - start_ms: run_start_ms, - end_ms: Date.now(), - worker_label: 'main', - }); - processWorkerSpans(mainSpans, 'main'); - // End root span after processing spans - endRootSpan(true); - // Wait for traces to be exported before shutting down - await shutdownTracing(); - } - - workers.forEach((w) => w.terminate()); - - // Per-file `compare` events now fire live from Rust's diff loop via - // the `progress.ts` stderr event channel (see `createPrintErrHook`), - // matching classic reg-cli's `ProcessAdaptor` behaviour. No need to - // replay them here. - - // Emit complete and ensure we don't exit before traces are sent - emitter.emit('complete', data); - return; // Prevent further processing - } - - if (cmd === 'loaded') { - if (typeof worker.unref === 'function') { - worker.unref(); - } - return; - } - - if (cmd === 'thread-spawn') { - spawn(startArg, threadId, memory); - } - }); - - worker.on('error', (err: Error) => { - if (traceContext) { - endRootSpan(false); - } - workers.forEach((w) => w.terminate()); - emitter.emit('error', err); - }); - - return emitter; -}; - -export type CompareInput = { - actualDir: string, - expectedDir: string, - diffDir: string, - report?: string, - junitReport?: string, - json?: string, - /** Re-render HTML from an existing reg.json (classic `-F/--from`). */ - from?: string, - /** "none" (default) | "client" — enable the report's browser-side - * second-pass detector (classic `-X/--additionalDetection`). */ - additionalDetection?: 'none' | 'client', - update?: boolean, - extendedErrors?: boolean, - /** Classic reg-cli's `-I/--ignoreChange` — governs the CLI's exit code - * only. Accepted and silently dropped by `compare()` for drop-in - * compat with reg-suit's `processor.ts:107`. */ - ignoreChange?: boolean, - urlPrefix?: string, - matchingThreshold?: number, - threshold?: number, // alias to thresholdRate. - thresholdRate?: number, - thresholdPixel?: number, - concurrency?: number, - enableAntialias?: boolean, - enableClientAdditionalDetection?: boolean, - /** Classic reg-cli's CLI-side x-img-diff extra detection pass. The - * Wasm pipeline's diff already includes the equivalent classification, - * so this is a no-op but accepted for drop-in compat with reg-suit's - * `processor.ts:114`. */ - enableCliAdditionalDetection?: boolean, -}; - -export type CompareOutput = { - failedItems: string[], - newItems: string[], - deletedItems: string[], - passedItems: string[], - expectedItems: string[], - actualItems: string[], - diffItems: string[], - actualDir: string, - expectedDir: string, - diffDir: string, -}; - -/** Flags that `compare()` handles itself in JS; they are NOT forwarded to - * the Wasm binary. `extendedErrors` WAS here but now also feeds the - * Rust-side junit generator, so it's forwarded below via KEY_REMAP. - * - * `ignoreChange` and `enableCliAdditionalDetection` are stripped because - * reg-suit unconditionally passes them (see - * reg-viz/reg-suit `packages/reg-suit-core/src/processor.ts` `compare({…})`) - * and the Rust clap layer doesn't recognise them — forwarding would abort - * the binary with "unexpected argument". Semantically both are no-ops at - * the library-event layer: - * - `ignoreChange` only governs classic reg-cli's process exit code; - * the EventEmitter surface never needed it. - * - `enableCliAdditionalDetection` was classic's flag for running an - * extra CLI-side x-img-diff pass; the Wasm port's diff pipeline - * already produces the final pass/fail classification, so toggling - * it changes nothing. (The *client*-side variant is handled via - * `additionalDetection: 'client'` / the legacy - * `enableClientAdditionalDetection: true` alias further down.) */ -const CLI_ONLY_KEYS = new Set([ - 'update', - 'ignoreChange', - 'enableCliAdditionalDetection', -]); - -/** Library option names that must be forwarded to the Wasm binary under a - * different flag name (Rust uses `--junit`, callers pass `junitReport`). */ -const KEY_REMAP: Record = { - junitReport: 'junit', -}; - -export const compare = (input: CompareInput): EventEmitter => { - const { actualDir, expectedDir, diffDir, threshold, update, ...rest } = input; - - // Default `diffFormat` to png so the JSON/HTML report refers to `*.png` - // files — matching classic reg-cli's output and letting downstream - // tooling (reg-notify-* / reg-suit) keep working. - if ((rest as Record).diffFormat == null) { - (rest as Record).diffFormat = 'png'; - } - - // Default `json` to './reg.json' so callers that don't care still get - // the persisted report. - if (rest.json == null) { - rest.json = './reg.json'; - } - - // Translate `threshold` → `thresholdRate` (classic's alias). - if (threshold != null && rest.thresholdRate == null) { - rest.thresholdRate = threshold; - } - - // Translate the historical boolean `enableClientAdditionalDetection` to the - // new `additionalDetection: "client"` form that the Rust CLI understands. - const restAny = rest as Record; - if (restAny.enableClientAdditionalDetection && restAny.additionalDetection == null) { - restAny.additionalDetection = 'client'; - } - delete restAny.enableClientAdditionalDetection; - - // Strip CLI-only entries before forwarding. - for (const k of CLI_ONLY_KEYS) { - delete (rest as Record)[k]; - } - - const args = [ - '--', - actualDir, - expectedDir, - diffDir, - ...Object.entries(rest).flatMap(([k, v]) => { - if (v == null || v === '') return []; - const flag = KEY_REMAP[k] ?? k; - return [`--${flag}`, String(v)]; - }), - ]; - const inner = run(args); - - // reg.json + junit.xml are written by the Rust/Wasm side. We only handle - // the side-effecting bits here that need host fs access beyond the WASI - // preopen: `update` (cross-dir copy) and the `-X client` worker/wasm - // assets (classic puts them next to the HTML report). - const outer = new EventEmitter(); - inner.on('start', () => outer.emit('start')); - inner.on('compare', (p) => outer.emit('compare', p)); - inner.on('error', (e) => outer.emit('error', e)); - inner.on('complete', async (data: CompareOutput) => { - try { - if (restAny.additionalDetection === 'client' && typeof input.report === 'string') { - // Lazy-load so the ximgdiff helper (pulls in x-img-diff-js + fs - // reads of the worker_pre.js/report-worker.js shared assets) isn't - // in `compare()`'s hot path for users who never enable `-X client`. - const { writeXimgdiffAssets } = await import('./ximgdiff'); - await writeXimgdiffAssets({ - reportPath: input.report, - urlPrefix: typeof input.urlPrefix === 'string' ? input.urlPrefix : '', - // `dir()` returns the published `dist/` directory regardless of - // which chunk unbuild places this call into, because `dir()` is - // defined in a module that always inlines into the entry. - distDir: dir(), - }); - } - if (update) { - await updateExpected(actualDir, expectedDir, { - newItems: data.newItems ?? [], - failedItems: data.failedItems ?? [], - deletedItems: data.deletedItems ?? [], - }); - outer.emit('update'); - } - } catch (e) { - outer.emit('error', e); - return; - } - outer.emit('complete', data); - }); - - return outer; -}; - -export async function writeRegJson(path: string, data: CompareOutput): Promise { - const { writeFile, mkdir } = await import('node:fs/promises'); - const { dirname } = await import('node:path'); - await mkdir(dirname(path), { recursive: true }); - await writeFile(path, JSON.stringify(data, null, 2) + '\n', 'utf8'); -} - -// Match classic reg-cli's `-U` semantics (see src/index.js:134-146 and the -// same function in cli.ts for context): prune deleted+failed baselines from -// `expectedDir`, then copy new+failed from `actualDir`. Passed items are -// left alone so their mtime and git status don't churn. -async function updateExpected( - actualDir: string, - expectedDir: string, - items: { - newItems: string[]; - failedItems: string[]; - deletedItems: string[]; - }, -): Promise { - const { mkdir, copyFile, rm } = await import('node:fs/promises'); - const { dirname, join } = await import('node:path'); - const toRemove = [...items.deletedItems, ...items.failedItems]; - for (const img of toRemove) { - await rm(join(expectedDir, img), { force: true }); - } - const toCopy = [...items.newItems, ...items.failedItems]; - for (const img of toCopy) { - const src = join(actualDir, img); - const dst = join(expectedDir, img); - await mkdir(dirname(dst), { recursive: true }); - await copyFile(src, dst); - } -} diff --git a/src/log.js b/src/log.js new file mode 100644 index 00000000..07a6d83c --- /dev/null +++ b/src/log.js @@ -0,0 +1,18 @@ +/* @flow */ + +const chalk = require('chalk'); + +export default { + info(text: string) { + console.log(chalk.cyan(text)); + }, + warn(text: string) { + console.log(chalk.gray(text)); + }, + success(text: string) { + console.log(chalk.green(text)); + }, + fail(text: string) { + console.log(chalk.red(text)); + }, +}; diff --git a/src/process-adaptor.js b/src/process-adaptor.js new file mode 100644 index 00000000..fbf982b1 --- /dev/null +++ b/src/process-adaptor.js @@ -0,0 +1,43 @@ +/* @flow */ + +import { fork } from 'child_process'; // $FlowIgnore +import path from 'path'; +import type EventEmitter from 'events'; +import type { DiffCreatorParams, DiffResult } from './diff'; + +export default class ProcessAdaptor { + + _isRunning: boolean; + _process: child_process$ChildProcess; + _emitter: EventEmitter; + + constructor(emitter: EventEmitter) { + this._process = fork(path.resolve(__dirname, './diff.js')); + this._isRunning = false; + this._emitter = emitter; + } + + isRunning() { + return this._isRunning; + } + + run(params: DiffCreatorParams): Promise { + return new Promise((resolve, reject) => { + this._isRunning = true; + if (!this._process || !this._process.send) resolve(); + this._process.send(params); + this._process.once('message', (result) => { + this._isRunning = false; + this._emitter.emit('compare', { + type: result.passed ? 'pass' : 'fail', path: result.image, + }); + resolve(result); + }); + }); + } + + close() { + if (!this._process || !this._process.kill) return; + this._process.kill(); + } +} diff --git a/src/progress.ts b/src/progress.ts deleted file mode 100644 index 4b9099e8..00000000 --- a/src/progress.ts +++ /dev/null @@ -1,47 +0,0 @@ -// Parse live `compare` progress events out of the Wasm's stderr stream. -// -// `crates/reg_core/src/lib.rs` emits one line per event while the diff -// loop runs: -// -// __REG_CLI_EVT__\t{"type":"pass|fail|new|delete","path":"..."}\n -// -// The WASI host (entry.ts + worker.ts) installs `printErr` via -// `@tybys/wasm-util`; this module owns the parsing + forwarding logic so -// both hosts stay in sync on the wire format. Non-event stderr lines pass -// through unchanged to `console.error`, so real error output still -// reaches the user. - -const MARKER = '__REG_CLI_EVT__\t'; - -export type CompareEventKind = 'pass' | 'fail' | 'new' | 'delete'; -export type CompareEvent = { type: CompareEventKind; path: string }; - -/** - * Build a WASI `printErr` hook that forwards progress events to `onEvent` - * and everything else to `fallback` (defaults to `console.error`). - * - * `@tybys/wasm-util`'s `StandardOutput.write` already buffers until a - * newline and invokes the callback with one stripped line per call (see - * `node_modules/@tybys/wasm-util/dist/wasm-util.esm-bundler.js` line - * ~749-779). So we can treat each invocation as a single complete line. - */ -export const createPrintErrHook = ( - onEvent: (ev: CompareEvent) => void, - fallback: (s: string) => void = (s) => console.error(s), -): ((s: string) => void) => { - return (line: string) => { - if (line.startsWith(MARKER)) { - const json = line.slice(MARKER.length); - try { - const ev = JSON.parse(json) as CompareEvent; - if (ev && typeof ev.type === 'string' && typeof ev.path === 'string') { - onEvent(ev); - return; - } - } catch { - // Malformed — fall through so the user at least sees the line. - } - } - fallback(line); - }; -}; diff --git a/src/proxy.js b/src/proxy.js deleted file mode 100644 index bd8a7d67..00000000 --- a/src/proxy.js +++ /dev/null @@ -1,79 +0,0 @@ -// compiled from: https://github.com/toyobayashi/emnapi/blob/main/packages/wasi-threads/src/proxy.ts - -'use strict'; -Object.defineProperty(exports, '__esModule', { value: true }); -exports.createInstanceProxy = exports.kIsProxy = void 0; -exports.kIsProxy = Symbol('kIsProxy'); -/** @public */ -function createInstanceProxy(instance, memory) { - if (instance[exports.kIsProxy]) return instance; - // https://github.com/nodejs/help/issues/4102 - var originalExports = instance.exports; - var createHandler = function(target) { - var handlers = [ - 'apply', - 'construct', - 'defineProperty', - 'deleteProperty', - 'get', - 'getOwnPropertyDescriptor', - 'getPrototypeOf', - 'has', - 'isExtensible', - 'ownKeys', - 'preventExtensions', - 'set', - 'setPrototypeOf', - ]; - var handler = {}; - var _loop_1 = function(i) { - var name_1 = handlers[i]; - handler[name_1] = function() { - var args = Array.prototype.slice.call(arguments, 1); - args.unshift(target); - return Reflect[name_1].apply(Reflect, args); - }; - }; - for (var i = 0; i < handlers.length; i++) { - _loop_1(i); - } - return handler; - }; - var handler = createHandler(originalExports); - var _initialize = function() {}; - var _start = function() { - return 0; - }; - handler.get = function(_target, p, receiver) { - var _a; - if (p === 'memory') { - return (_a = typeof memory === 'function' ? memory() : memory) !== null && _a !== void 0 - ? _a - : Reflect.get(originalExports, p, receiver); - } - if (p === '_initialize') { - return p in originalExports ? _initialize : undefined; - } - if (p === '_start') { - return p in originalExports ? _start : undefined; - } - return Reflect.get(originalExports, p, receiver); - }; - handler.has = function(_target, p) { - if (p === 'memory') return true; - return Reflect.has(originalExports, p); - }; - var exportsProxy = new Proxy(Object.create(null), handler); - return new Proxy(instance, { - get: function(target, p, receiver) { - if (p === 'exports') { - return exportsProxy; - } - if (p === exports.kIsProxy) { - return true; - } - return Reflect.get(target, p, receiver); - }, - }); -} -exports.createInstanceProxy = createInstanceProxy; diff --git a/src/proxy.ts b/src/proxy.ts deleted file mode 100644 index 2f4c5ea2..00000000 --- a/src/proxy.ts +++ /dev/null @@ -1,91 +0,0 @@ -// compiled from: https://github.com/toyobayashi/emnapi/blob/main/packages/wasi-threads/src/proxy.ts -// MIT License -// -// Copyright (c) 2021-present Toyobayashi -// -// 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. -export const kIsProxy = Symbol('kIsProxy') - -export const createInstanceProxy = ( - instance: WebAssembly.Instance, - memory?: WebAssembly.Memory | (() => WebAssembly.Memory) -): WebAssembly.Instance => { - if ((instance as any)[kIsProxy]) return instance - - // https://github.com/nodejs/help/issues/4102 - const originalExports = instance.exports - const createHandler = function (target: WebAssembly.Exports): ProxyHandler { - const handlers = [ - 'apply', - 'construct', - 'defineProperty', - 'deleteProperty', - 'get', - 'getOwnPropertyDescriptor', - 'getPrototypeOf', - 'has', - 'isExtensible', - 'ownKeys', - 'preventExtensions', - 'set', - 'setPrototypeOf' - ] - const handler: ProxyHandler = {} - for (let i = 0; i < handlers.length; i++) { - const name = handlers[i] as keyof ProxyHandler - handler[name] = function () { - const args = Array.prototype.slice.call(arguments, 1) - args.unshift(target) - return (Reflect[name] as any).apply(Reflect, args) - } - } - return handler - } - const handler = createHandler(originalExports) - const _initialize = (): void => {} - const _start = (): number => 0 - handler.get = function (_target, p, receiver) { - if (p === 'memory') { - return (typeof memory === 'function' ? memory() : memory) ?? Reflect.get(originalExports, p, receiver) - } - if (p === '_initialize') { - return p in originalExports ? _initialize : undefined - } - if (p === '_start') { - return p in originalExports ? _start : undefined - } - return Reflect.get(originalExports, p, receiver) - } - handler.has = function (_target, p) { - if (p === 'memory') return true - return Reflect.has(originalExports, p) - } - const exportsProxy = new Proxy(Object.create(null), handler) - return new Proxy(instance, { - get (target, p, receiver) { - if (p === 'exports') { - return exportsProxy - } - if (p === kIsProxy) { - return true - } - return Reflect.get(target, p, receiver) - } - }) -} \ No newline at end of file diff --git a/src/report.js b/src/report.js new file mode 100644 index 00000000..07c369cc --- /dev/null +++ b/src/report.js @@ -0,0 +1,177 @@ +/* @flow */ + +// $FlowIgnore +import Mustache from 'mustache'; +import * as detectDiff from 'x-img-diff-js'; +import fs from 'fs'; +import mkdirp from 'make-dir'; // $FlowIgnore +import path from 'path'; +// $FlowIgnore +import * as xmlBuilder from 'xmlbuilder2'; + +export type ReportParams = { + passedItems: string[], + failedItems: string[], + newItems: string[], + deletedItems: string[], + expectedItems: string[], + actualItems: string[], + diffItems: string[], + json: string, + actualDir: string, + expectedDir: string, + diffDir: string, + report: string, + junitReport: string, + extendedErrors: boolean, + urlPrefix: string, + enableClientAdditionalDetection: boolean, + fromJSON?: boolean, +}; + +const loadFaviconAsDataURL = type => { + const fname = path.resolve(__dirname, `../report/assets/favicon_${type}.png`); + const buffer = fs.readFileSync(fname); + return 'data:image/png;base64,' + buffer.toString('base64'); +}; + +const encodeFilePath = filePath => { + return filePath + .split(path.sep) + .map(p => encodeURIComponent(p)) + .join(path.sep); +}; + +const createJSONReport = params => { + return { + failedItems: params.failedItems, + newItems: params.newItems, + deletedItems: params.deletedItems, + passedItems: params.passedItems, + expectedItems: params.expectedItems, + actualItems: params.actualItems, + diffItems: params.diffItems, + actualDir: `${params.urlPrefix}${path.relative(path.dirname(params.json), params.actualDir)}`, + expectedDir: `${params.urlPrefix}${path.relative(path.dirname(params.json), params.expectedDir)}`, + diffDir: `${params.urlPrefix}${path.relative(path.dirname(params.json), params.diffDir)}`, + }; +}; + +const createHTMLReport = params => { + const file = path.join(__dirname, '../template/template.html'); + const js = fs.readFileSync(path.join(__dirname, '../report/ui/dist/report.js')); + const css = fs.readFileSync(path.join(__dirname, '../report/ui/dist/style.css')); + const template = fs.readFileSync(file); + const json = { + type: params.failedItems.length === 0 ? 'success' : 'danger', + hasNew: params.newItems.length > 0, + newItems: params.newItems.map(item => ({ raw: item, encoded: encodeFilePath(item) })), + hasDeleted: params.deletedItems.length > 0, + deletedItems: params.deletedItems.map(item => ({ raw: item, encoded: encodeFilePath(item) })), + hasPassed: params.passedItems.length > 0, + passedItems: params.passedItems.map(item => ({ raw: item, encoded: encodeFilePath(item) })), + hasFailed: params.failedItems.length > 0, + failedItems: params.failedItems.map(item => ({ raw: item, encoded: encodeFilePath(item) })), + actualDir: params.fromJSON + ? params.actualDir + : `${params.urlPrefix}${path.relative(path.dirname(params.report), params.actualDir)}`, + expectedDir: params.fromJSON + ? params.expectedDir + : `${params.urlPrefix}${path.relative(path.dirname(params.report), params.expectedDir)}`, + diffDir: params.fromJSON + ? params.diffDir + : `${params.urlPrefix}${path.relative(path.dirname(params.report), params.diffDir)}`, + ximgdiffConfig: { + enabled: params.enableClientAdditionalDetection, + workerUrl: `${params.urlPrefix}worker.js`, + }, + }; + const faviconType = json.hasFailed || json.hasNew || json.hasDeleted ? 'failure' : 'success'; + const view = { + js, + css, + report: JSON.stringify(json), + faviconData: loadFaviconAsDataURL(faviconType), + }; + return Mustache.render(template.toString(), view); +}; + +const createJunitReport = params => { + const failedTests = params.failedItems.length + params.newItems.length + params.deletedItems.length; + const numberOfTests = failedTests + params.passedItems.length; + const doc = xmlBuilder.create({ version: '1.0' }); + const testsuitesElement = doc.ele('testsuites', { + name: 'reg-cli tests', + tests: numberOfTests, + failures: failedTests, + }); + const testsuiteElement = testsuitesElement.ele('testsuite', { + name: 'reg-cli', + tests: numberOfTests, + failures: failedTests, + }); + params.failedItems.forEach(item => { + addFailedJunitTestElement(testsuiteElement, item, 'failed'); + }); + params.newItems.forEach(item => { + if (params.extendedErrors) { + addFailedJunitTestElement(testsuiteElement, item, 'newItem'); + } else { + addPassedJunitTestElement(testsuiteElement, item); + } + }); + params.deletedItems.forEach(item => { + if (params.extendedErrors) { + addFailedJunitTestElement(testsuiteElement, item, 'deletedItem'); + } else { + addPassedJunitTestElement(testsuiteElement, item); + } + }); + params.passedItems.forEach(item => { + addPassedJunitTestElement(testsuiteElement, item); + }); + return doc.end({ prettyPrint: true }); +}; + +function addPassedJunitTestElement(testsuiteElement, item: string) { + testsuiteElement.ele('testcase', { name: item }); +} + +function addFailedJunitTestElement(testsuiteElement, item: string, reason: string) { + testsuiteElement.ele('testcase', { name: item }).ele('failure', { message: reason }); +} + +function createXimdiffWorker(params: ReportParams) { + const file = path.join(__dirname, '../template/worker_pre.js'); + const moduleJs = fs.readFileSync(path.join(__dirname, '../report/ui/dist/worker.js'), 'utf8'); + const wasmLoaderJs = fs.readFileSync(detectDiff.getBrowserJsPath(), 'utf8'); + const template = fs.readFileSync(file); + const ximgdiffWasmUrl = `${params.urlPrefix}detector.wasm`; + return Mustache.render(template.toString(), { ximgdiffWasmUrl }) + '\n' + moduleJs + '\n' + wasmLoaderJs; +} + +export default (params: ReportParams) => { + if (!!params.report) { + const html = createHTMLReport(params); + mkdirp.sync(path.dirname(params.report)); + fs.writeFileSync(params.report, html); + if (!!params.enableClientAdditionalDetection) { + const workerjs = createXimdiffWorker(params); + fs.writeFileSync(path.resolve(path.dirname(params.report), 'worker.js'), workerjs); + const wasmBuf = fs.readFileSync(detectDiff.getBrowserWasmPath()); + fs.writeFileSync(path.resolve(path.dirname(params.report), 'detector.wasm'), wasmBuf); + } + } + if (!!params.junitReport) { + const junitXml = createJunitReport(params); + mkdirp.sync(path.dirname(params.junitReport)); + fs.writeFileSync(params.junitReport, junitXml); + } + + const json = createJSONReport(params); + if (!params.fromJSON) { + mkdirp.sync(path.dirname(params.json)); + fs.writeFileSync(params.json, JSON.stringify(json)); + } + return json; +}; diff --git a/src/tracing.ts b/src/tracing.ts deleted file mode 100644 index 0629eb7a..00000000 --- a/src/tracing.ts +++ /dev/null @@ -1,412 +0,0 @@ -/** - * OpenTelemetry tracing utilities for reg-cli - * - * This module receives trace data from the Rust/WASM side and converts it - * to OpenTelemetry spans that can be exported to Jaeger or other backends. - */ - -import { NodeSDK } from '@opentelemetry/sdk-node'; -import { OTLPTraceExporter } from '@opentelemetry/exporter-trace-otlp-http'; -import { trace, SpanStatusCode, context, ROOT_CONTEXT, type Span, type Context } from '@opentelemetry/api'; -import { Resource } from '@opentelemetry/resources'; -import { ATTR_SERVICE_NAME, ATTR_SERVICE_VERSION } from '@opentelemetry/semantic-conventions'; - -let sdk: NodeSDK | null = null; -let isInitialized = false; - -// Store current root span context for propagation to Rust -let currentRootSpan: Span | null = null; -let currentRootContext: Context | null = null; - -/** - * Span data structure from Rust side - */ -export interface RustSpanData { - span_id: string; - parent_span_id: string | null; - name: string; - start_time_ms: number; - end_time_ms: number; - duration_ms: number; - level: string; - target: string; - attributes: Record; - status: string; - error_message: string | null; -} - -/** - * Trace data structure from Rust side - */ -export interface RustTraceData { - service_name: string; - trace_id: string | null; - js_parent_span_id: string | null; - spans: RustSpanData[]; -} - -/** - * Trace context to pass to Rust side - */ -export interface TraceContext { - traceId: string; - spanId: string; -} - -/** - * Check if tracing is enabled via environment variable - */ -export const isTracingEnabled = (): boolean => { - return process.env.OTEL_ENABLED === 'true' || process.env.JAEGER_ENABLED === 'true'; -}; - -/** - * Initialize OpenTelemetry SDK - */ -export const initTracing = (): void => { - if (!isTracingEnabled()) { - return; - } - - if (isInitialized) { - return; - } - - const otlpEndpoint = process.env.OTEL_EXPORTER_OTLP_ENDPOINT || 'http://localhost:4318/v1/traces'; - - const otlpExporter = new OTLPTraceExporter({ - url: otlpEndpoint, - }); - - sdk = new NodeSDK({ - resource: new Resource({ - [ATTR_SERVICE_NAME]: 'reg-cli', - [ATTR_SERVICE_VERSION]: '0.18.10', - }), - traceExporter: otlpExporter, - instrumentations: [], - }); - - sdk.start(); - isInitialized = true; - - if (process.env.OTEL_DEBUG === 'true') { - console.log('[Tracing] OpenTelemetry initialized'); - console.log(`[Tracing] OTLP endpoint: ${otlpEndpoint}`); - } -}; - -/** - * Shutdown OpenTelemetry SDK gracefully - */ -export const shutdownTracing = async (): Promise => { - if (!sdk || !isInitialized) { - return; - } - - if (process.env.OTEL_DEBUG === 'true') { - console.log('[Tracing] Starting SDK shutdown...'); - } - - try { - // Force flush before shutdown to ensure all spans are exported. - // (previously there was an extra 2000ms sleep here that was dominating - // wall-clock for small workloads — removed after bench confirmed it was - // unnecessary once sdk.shutdown() awaits export completion.) - await sdk.shutdown(); - } catch (err) { - console.error('[Tracing] Error during shutdown:', err); - } - - isInitialized = false; - sdk = null; - - if (process.env.OTEL_DEBUG === 'true') { - console.log('[Tracing] OpenTelemetry SDK shut down'); - } -}; - -/** - * Get the tracer instance - */ -const getTracer = () => { - return trace.getTracer('reg-cli-wasm', '0.18.10'); -}; - -/** - * Start a root span and return context info to pass to Rust - */ -export const startRootSpan = (name: string): TraceContext | null => { - if (!isTracingEnabled() || !isInitialized) { - return null; - } - - const tracer = getTracer(); - currentRootSpan = tracer.startSpan(name); - currentRootContext = trace.setSpan(ROOT_CONTEXT, currentRootSpan); - - // Get the span context to pass to Rust - const spanContext = currentRootSpan.spanContext(); - - if (process.env.OTEL_DEBUG === 'true') { - console.log(`[Tracing] Started root span: ${name}`); - console.log(`[Tracing] Trace ID: ${spanContext.traceId}`); - console.log(`[Tracing] Span ID: ${spanContext.spanId}`); - } - - return { - traceId: spanContext.traceId, - spanId: spanContext.spanId, - }; -}; - -/** - * End the current root span - */ -export const endRootSpan = (success: boolean = true): void => { - if (currentRootSpan) { - if (success) { - currentRootSpan.setStatus({ code: SpanStatusCode.OK }); - } else { - currentRootSpan.setStatus({ code: SpanStatusCode.ERROR }); - } - currentRootSpan.end(); - - if (process.env.OTEL_DEBUG === 'true') { - console.log('[Tracing] Ended root span'); - } - - currentRootSpan = null; - currentRootContext = null; - } -}; - -/** - * Topologically sort spans so parents are always processed before children - */ -const topologicalSortSpans = (spans: RustSpanData[]): RustSpanData[] => { - const spanMap = new Map(); - const childrenMap = new Map(); - const rootSpans: string[] = []; - - // Build maps - for (const span of spans) { - spanMap.set(span.span_id, span); - if (!span.parent_span_id) { - rootSpans.push(span.span_id); - } else { - const children = childrenMap.get(span.parent_span_id) || []; - children.push(span.span_id); - childrenMap.set(span.parent_span_id, children); - } - } - - if (process.env.OTEL_DEBUG === 'true') { - console.log(`[Tracing] Total spans: ${spans.length}, Unique IDs in spanMap: ${spanMap.size}`); - console.log(`[Tracing] Root spans: ${rootSpans.join(', ')}`); - console.log(`[Tracing] All spans:`); - for (const span of spans) { - console.log(` ${span.span_id}: ${span.name} (parent: ${span.parent_span_id || 'none'})`); - } - console.log(`[Tracing] Parent->Children map:`); - for (const [parent, children] of childrenMap.entries()) { - console.log(` ${parent} -> ${children.join(', ')}`); - } - } - - // BFS traversal from roots - const result: RustSpanData[] = []; - const queue = [...rootSpans]; - const visited = new Set(); - - while (queue.length > 0) { - const spanId = queue.shift()!; - if (visited.has(spanId)) continue; - visited.add(spanId); - - const span = spanMap.get(spanId); - if (span) { - result.push(span); - const children = childrenMap.get(spanId) || []; - queue.push(...children); - } - } - - // Add any orphaned spans (parent not in the span list) - for (const span of spans) { - if (!visited.has(span.span_id)) { - if (process.env.OTEL_DEBUG === 'true') { - console.log(`[Tracing] Orphan span: ${span.name} (id: ${span.span_id}, parent: ${span.parent_span_id})`); - } - result.push(span); - } - } - - return result; -}; - -/** - * Convert Rust trace data to OpenTelemetry spans - * - * Since Rust spans have already ended by the time we receive them, - * we reconstruct them with their recorded timestamps. - */ -export const processRustTraceData = (traceData: RustTraceData): void => { - if (!isTracingEnabled() || !isInitialized) { - return; - } - - const tracer = getTracer(); - - if (process.env.OTEL_DEBUG === 'true') { - console.log(`[Tracing] Processing ${traceData.spans.length} spans from Rust`); - console.log(`[Tracing] JS parent context available: ${currentRootContext !== null}`); - } - - // Topologically sort spans so parents are processed before children - const sortedSpans = topologicalSortSpans(traceData.spans); - - // Map to store span contexts by their IDs for parent-child linking - const spanContextMap = new Map(); - - for (const rustSpan of sortedSpans) { - // Convert milliseconds to nanoseconds for OpenTelemetry - const startTimeNs = rustSpan.start_time_ms * 1_000_000; - const endTimeNs = rustSpan.end_time_ms * 1_000_000; - - // Determine parent context - let parentContext: Context; - let parentInfo: string; - - if (rustSpan.parent_span_id && spanContextMap.has(rustSpan.parent_span_id)) { - // Has a Rust parent span that was already processed - parentContext = spanContextMap.get(rustSpan.parent_span_id)!; - parentInfo = `rust parent: ${rustSpan.parent_span_id}`; - } else if (!rustSpan.parent_span_id && currentRootContext) { - // Root-level Rust span - attach to JS root span - parentContext = currentRootContext; - parentInfo = `js parent: ${currentRootSpan?.spanContext().spanId}`; - } else { - // No parent available (orphan or parent not found) - parentContext = currentRootContext || ROOT_CONTEXT; - parentInfo = rustSpan.parent_span_id - ? `orphan (parent ${rustSpan.parent_span_id} not found)` - : 'root (no js context)'; - } - - // Start span with parent context - const span = tracer.startSpan( - rustSpan.name, - { - startTime: [Math.floor(startTimeNs / 1_000_000_000), startTimeNs % 1_000_000_000], - }, - parentContext, - ); - - // Set attributes - span.setAttribute('rust.target', rustSpan.target); - span.setAttribute('rust.level', rustSpan.level); - span.setAttribute('rust.span_id', rustSpan.span_id); - span.setAttribute('duration_ms', rustSpan.duration_ms); - - for (const [key, value] of Object.entries(rustSpan.attributes)) { - span.setAttribute(`rust.${key}`, value); - } - - // Set status - if (rustSpan.status === 'error') { - span.setStatus({ - code: SpanStatusCode.ERROR, - message: rustSpan.error_message || 'Unknown error', - }); - } else { - span.setStatus({ code: SpanStatusCode.OK }); - } - - // End span with recorded end time - span.end([Math.floor(endTimeNs / 1_000_000_000), endTimeNs % 1_000_000_000]); - - // Store context for child spans - const ctx = trace.setSpan(parentContext, span); - spanContextMap.set(rustSpan.span_id, ctx); - - if (process.env.OTEL_DEBUG === 'true') { - console.log(`[Tracing] Created span: ${rustSpan.name} (${rustSpan.duration_ms}ms) [${parentInfo}] start=${rustSpan.start_time_ms}, end=${rustSpan.end_time_ms}`); - } - } -}; - -/** - * Timing event collected inside a worker thread and shipped back to the main - * thread via postMessage. Converted to an OpenTelemetry span on receipt. - */ -export interface WorkerSpan { - name: string; - start_ms: number; // epoch millis (Date.now()-style) - end_ms: number; - attributes?: Record; - worker_label?: string; // "main" | "thread-1" | ... -} - -/** - * Convert worker-side timing events to OpenTelemetry spans attached under the - * current root span. Used to surface JS-bridge costs (Worker creation, wasm - * compile / instantiate, message round-trips) that Rust-side tracing cannot see. - */ -export const processWorkerSpans = ( - spans: WorkerSpan[], - workerLabel: string, -): void => { - if (!isTracingEnabled() || !isInitialized || !spans?.length) return; - - const tracer = getTracer(); - const parentCtx = currentRootContext ?? ROOT_CONTEXT; - - for (const s of spans) { - const startNs = s.start_ms * 1_000_000; - const endNs = s.end_ms * 1_000_000; - const span = tracer.startSpan( - s.name, - { - startTime: [Math.floor(startNs / 1e9), startNs % 1e9], - }, - parentCtx, - ); - span.setAttribute('worker', s.worker_label ?? workerLabel); - span.setAttribute('duration_ms', s.end_ms - s.start_ms); - if (s.attributes) { - for (const [k, v] of Object.entries(s.attributes)) { - span.setAttribute(k, v as string | number | boolean); - } - } - span.end([Math.floor(endNs / 1e9), endNs % 1e9]); - } -}; - -/** - * Create a wrapper span for the entire reg-cli operation - */ -export const createRootSpan = async (name: string, fn: () => Promise): Promise => { - if (!isTracingEnabled() || !isInitialized) { - return fn(); - } - - const tracer = getTracer(); - return tracer.startActiveSpan(name, async (span) => { - try { - const result = await fn(); - span.setStatus({ code: SpanStatusCode.OK }); - return result; - } catch (err) { - span.setStatus({ - code: SpanStatusCode.ERROR, - message: err instanceof Error ? err.message : 'Unknown error', - }); - span.recordException(err as Error); - throw err; - } finally { - span.end(); - } - }); -}; - diff --git a/src/utils.ts b/src/utils.ts deleted file mode 100644 index 100a0b0c..00000000 --- a/src/utils.ts +++ /dev/null @@ -1,165 +0,0 @@ -import path from 'path'; -import { fileURLToPath } from 'url'; -import { readFile } from 'node:fs/promises'; -import { dirname, join, resolve as pathResolve } from 'node:path'; -import { env as procEnv, cwd as procCwd } from 'node:process'; - -export const isCJS = typeof __dirname !== 'undefined'; - -export const readWasm = () => { - const dir = isCJS ? __dirname : path.dirname(fileURLToPath(import.meta.url)); - const file = readFile(join(dir, './reg.wasm')); - return file; -}; - -export const resolveExtention = (): string => { - return isCJS ? 'cjs' : 'mjs'; -}; - -/** - * Host environment variables intentionally forwarded into the Wasm sandbox. - * Everything else (shell secrets, CI credentials, AWS_*, NPM_TOKEN, ...) is - * filtered out. - */ -const FORWARDED_ENV = [ - 'OTEL_ENABLED', - 'JAEGER_ENABLED', - 'OTEL_DEBUG', - 'OTEL_EXPORTER_OTLP_ENDPOINT', - 'OTEL_EXPORTER_OTLP_PROTOCOL', - 'OTEL_SERVICE_NAME', - 'OTEL_TRACES_EXPORTER', - 'OTEL_RESOURCE_ATTRIBUTES', -] as const; - -/** - * Longest directory path that every input in `paths` lives under. Treats - * each path as a sequence of "/"-separated segments; absolute-vs-relative - * mixes fall back to '.'. - */ -const commonAncestor = (paths: string[]): string => { - const defined = paths.filter(Boolean); - if (defined.length === 0) return '.'; - if (defined.length === 1) return defined[0]; - // If absolute and relative are mixed we can't compute a meaningful common - // ancestor without risking opening "/". Bail to CWD. - const isAbs = (p: string) => p.startsWith('/'); - const anyAbs = defined.some(isAbs); - const allAbs = defined.every(isAbs); - if (anyAbs && !allAbs) return '.'; - const split = defined.map((p) => p.split('/').filter(Boolean)); - const shortest = Math.min(...split.map((s) => s.length)); - const common: string[] = []; - for (let i = 0; i < shortest; i++) { - const seg = split[0][i]; - if (split.every((s) => s[i] === seg)) common.push(seg); - else break; - } - if (common.length === 0) return allAbs ? '/' : '.'; - return (allAbs ? '/' : '') + common.join('/'); -}; - -export type WasiSandbox = { - /** Directories mapped into the Wasm sandbox. Everything else is invisible. */ - preopens: Record; - /** Allowlist-filtered environment variables. */ - env: Record; -}; - -/** - * Compute the minimum-capability WASI sandbox for a given reg-cli invocation: - * - * - preopen only the smallest ancestor directory that covers every path - * this run touches (actualDir, expectedDir, diffDir, and the parents - * of --report / --json) - * - forward only an allowlisted subset of host env into Wasm - * - * Before this, entry.ts / worker.ts did `preopens: { './': './' }` which - * exposed the entire cwd (and therefore `.npmrc`, `.env`, `node_modules`, - * etc.) to whatever runs inside Wasm. Narrowing matters because reg-cli - * deliberately ingests untrusted images from CI and image decoders - * (libpng, libwebp, libjpeg) have a long history of RCE-class CVEs. - * - * Why a single common-ancestor and not one preopen per directory: - * On the `wasm32-wasip1-threads` target, Rust's libstd only enumerates - * the first preopen returned by WASI (`fd_prestat_get(3)` is queried but - * `fd_prestat_get(4)` is never issued). Until that's fixed upstream, - * registering one preopen per dir effectively hides every dir but the - * first. Picking the narrowest *single* ancestor that still contains - * every touched path gives us a real-world win without tripping the bug. - * - * Caveats (follow-ups, not in this PR): - * - Symlinks and FIFOs inside the preopened directory are still resolved - * by the host, so an attacker who can plant files under `./diff/` could - * still exfiltrate via an evil symlink pointing outside the sandbox. - * Addressing this needs host-side WASI changes. - * - `@tybys/wasm-util`'s WASI still runs on top of Node's `fs` with full - * privilege (`fs: fs as IFs`); we only constrain *what paths Wasm is - * allowed to name*, not what the host fs underneath could do. - * - One-preopen-per-dir limitation above. - */ -export const computeWasiSandbox = (argv: string[]): WasiSandbox => { - // run() in index.ts wraps argv with a leading "--" sentinel before passing - // it through WASI. Strip that so we see the user's original args. - const args = argv[0] === '--' ? argv.slice(1) : argv; - - // Positional args (up to 3) = actualDir, expectedDir, diffDir. - const positional: string[] = []; - for (let i = 0; i < args.length && positional.length < 3; i++) { - if (args[i].startsWith('--')) break; - positional.push(args[i]); - } - - const flagValue = (name: string): string | undefined => { - const i = args.indexOf(name); - return i >= 0 && i + 1 < args.length ? args[i + 1] : undefined; - }; - - const dirs: string[] = []; - for (const p of positional) if (p) dirs.push(p); - const report = flagValue('--report'); - const json = flagValue('--json'); - const junit = flagValue('--junit'); - const from = flagValue('--from') ?? flagValue('-F'); - if (report) dirs.push(dirname(report) || '.'); - if (json) dirs.push(dirname(json) || '.'); - if (junit) dirs.push(dirname(junit) || '.'); - // `-F/--from` reads an existing reg.json, so its parent dir must be in the - // sandbox even when no positional dirs are supplied. - if (from) dirs.push(dirname(from) || '.'); - - // Collapse every requested directory into a single shared ancestor. - // - // We originally tried to register 3-5 individual preopens (actual / expected - // / diff / report / json). Problem: `wasm32-wasip1-threads` libstd's - // preopen-enumeration appears to stop enumerating after fd 3 (only the - // first preopen is actually visible to the Rust side), so only one preopen - // becomes usable per run. Until that is fixed upstream, fall back to the - // narrowest *single* directory that contains every path this run touches. - // - // That's still a large improvement over `{'./': './'}`: on a typical - // invocation (`reg-cli /actual /expected /diff ...`) the - // preopen becomes `` rather than the entire CWD. - const preopenRoot = commonAncestor(dirs) || '.'; - const mapWasm = (p: string): string => - p === '.' || p === './' || p.startsWith('/') || p.startsWith('./') - ? p - : `./${p}`; - const preopens: Record = { - [mapWasm(preopenRoot)]: preopenRoot, - }; - - // Fallback: if argv doesn't carry any dirs (--help, --version), let the - // binary still render to stderr by preopening the current directory. - if (!preopenRoot || preopenRoot === '.' || preopenRoot === './') { - preopens['./'] = './'; - } - - const env: Record = {}; - for (const k of FORWARDED_ENV) { - const v = procEnv[k]; - if (v !== undefined) env[k] = v; - } - - return { preopens, env }; -}; diff --git a/src/worker.ts b/src/worker.ts deleted file mode 100644 index 98a8bfdc..00000000 --- a/src/worker.ts +++ /dev/null @@ -1,112 +0,0 @@ -import { parentPort, workerData } from 'node:worker_threads'; -import fs from 'node:fs'; -import { WASI, type IFs } from '@tybys/wasm-util'; -import { argv, env } from 'node:process'; -import { computeWasiSandbox, readWasm, resolveExtention } from './utils'; -// https://github.com/toyobayashi/emnapi/blob/5ab92c706c7cd4a0a30759e58f26eedfb0ded591/packages/wasi-threads/src/wasi-threads.ts#L288-L335 -import { createInstanceProxy } from './proxy'; -import { createPrintErrHook } from './progress'; -import { type WorkerSpan } from './tracing'; - -const isTracingEnabled = (): boolean => - env.OTEL_ENABLED === 'true' || env.JAEGER_ENABLED === 'true'; - -// Each rayon worker thread (Node Worker) has its own WASI instance and fd -// table, so we must narrow its sandbox too — not just the main entry one. -const sandbox = computeWasiSandbox(workerData.argv); - -// Live `compare` events from rayon worker threads: Rust's `eprintln!` -// inside the per-image par_iter closure runs on whichever thread worker -// is executing that slice. Each worker has its own WASI instance, so each -// needs its own `printErr` hook to forward progress to the parent. -const printErr = createPrintErrHook((ev) => { - parentPort?.postMessage({ cmd: 'compare-event', event: ev }); -}); - -// Per-handler buffer. Sent to parent on completion. -const wasi = new WASI({ - version: 'preview1', - args: workerData.argv, - env: sandbox.env, - returnOnExit: true, - preopens: sandbox.preopens, - fs: fs as IFs, - printErr, -}); - -const imports = wasi.getImportObject(); -const file = readWasm(); - -const handler = async ({ startArg, tid, memory }: { startArg: number, tid: number, memory: WebAssembly.Memory }) => { - const workerSpans: WorkerSpan[] = []; - const workerLabel = `thread-${tid}`; - const handler_start_ms = Date.now(); - - const tSpan = async ( - name: string, - fn: () => Promise | T, - attributes?: WorkerSpan['attributes'], - ): Promise => { - if (!isTracingEnabled()) return fn(); - const start_ms = Date.now(); - const r = await fn(); - workerSpans.push({ - name, - start_ms, - end_ms: Date.now(), - attributes, - worker_label: workerLabel, - }); - return r; - }; - - try { - const wasm = await tSpan('worker.wasm_compile', async () => - WebAssembly.compile(await file), - ); - - let instance = await tSpan('worker.wasm_instantiate', async () => - WebAssembly.instantiate(wasm, { - ...imports, - wasi: { - 'thread-spawn': (startArg: number) => { - const threadIdBuffer = new SharedArrayBuffer(4); - const id = new Int32Array(threadIdBuffer); - Atomics.store(id, 0, -1); - parentPort?.postMessage({ cmd: 'thread-spawn', startArg, threadId: id, memory }); - Atomics.wait(id, 0, -1); - const tid = Atomics.load(id, 0); - return tid; - }, - }, - env: { memory }, - }), - ); - - instance = createInstanceProxy(instance, memory); - - await tSpan('worker.wasi_start', async () => { - wasi.start(instance); - }); - - await tSpan('worker.wasi_thread_start', async () => { - // @ts-expect-error wasi_thread_start not defined - instance.exports.wasi_thread_start(tid, startArg); - }, { tid }); - - if (isTracingEnabled()) { - workerSpans.push({ - name: 'worker.thread_total', - start_ms: handler_start_ms, - end_ms: Date.now(), - worker_label: workerLabel, - attributes: { tid }, - }); - parentPort?.postMessage({ cmd: 'worker-spans', workerSpans }); - } - } catch (e) { - throw e; - } -}; - -parentPort?.addListener('message', handler); diff --git a/src/ximgdiff.ts b/src/ximgdiff.ts deleted file mode 100644 index b5762975..00000000 --- a/src/ximgdiff.ts +++ /dev/null @@ -1,87 +0,0 @@ -// Emits the browser-side assets classic reg-cli's `-X, --additionalDetection -// client` mode relies on: -// -// /worker.js — mustache-rendered worker_pre.js + the -// report-ui worker + the x-img-diff-js -// wasm loader, concatenated in that order -// /detector.wasm — the x-img-diff-js wasm binary itself, -// renamed from cv-wasm_browser.wasm -// -// The HTML report's ximgdiffConfig.workerUrl points at `./worker.js`, so if -// this pair isn't next to the report the browser will 404 the worker and -// the "client" detection pass silently becomes a no-op. -// -// Classic's src/report.js does this inline; we keep it factored out so both -// the CLI wrapper (`cli.ts`) and the library entry point (`compare()` in -// `index.ts`) can emit the same bytes. - -import { createRequire } from 'node:module'; -import { dirname, join } from 'node:path'; -import { mkdir, readFile, writeFile } from 'node:fs/promises'; - -// CommonJS fallback for `require.resolve` — unbuild emits both cjs + mjs -// variants and the library can be loaded from either. -const requireShim = createRequire(import.meta.url); - -// Minimal mustache `{{&name}}` replacement — the template only uses that -// single non-escaped substitution, so a full mustache dep isn't warranted. -const renderWorkerPre = (template: string, wasmUrl: string): string => - template.replace(/\{\{&\s*ximgdiffWasmUrl\s*\}\}/g, wasmUrl); - -export type XimgdiffOptions = { - /** Absolute or cwd-relative path to the report HTML. Assets land next to it. */ - reportPath: string; - /** Same prefix the HTML report received (default ''). */ - urlPrefix?: string; - /** - * Directory that contains the staged `shared/worker_pre.js` and - * `shared/report-worker.js` assets (produced by the unbuild hook in - * `build.config.ts`). Callers pass the published `dist/` directory so - * that unbuild's chunk splitting — which moves this helper off to - * `dist/chunks/ximgdiff.mjs` — doesn't break path resolution. - */ - distDir: string; -}; - -/** - * Concatenate worker_pre.js + report-ui worker + x-img-diff-js loader and - * write the result + the wasm binary next to the HTML report. Safe to call - * whether or not the report dir already exists. - */ -export const writeXimgdiffAssets = async ( - opts: XimgdiffOptions, -): Promise => { - const outDir = dirname(opts.reportPath); - const urlPrefix = opts.urlPrefix ?? ''; - const wasmUrl = `${urlPrefix}detector.wasm`; - - // Resolve the wasm binary via x-img-diff-js's node API — matches - // classic's `detectDiff.getBrowserWasmPath()` behaviour and keeps us - // honest about the version pin. - const xImgDiff: { - getBrowserWasmPath: () => string; - getBrowserJsPath: () => string; - } = requireShim('x-img-diff-js'); - - const sharedDir = join(opts.distDir, 'shared'); - const [workerPreTpl, reportWorkerJs, wasmLoaderJs, wasmBuf] = - await Promise.all([ - readFile(join(sharedDir, 'worker_pre.js'), 'utf8'), - readFile(join(sharedDir, 'report-worker.js'), 'utf8'), - readFile(xImgDiff.getBrowserJsPath(), 'utf8'), - readFile(xImgDiff.getBrowserWasmPath()), - ]); - - const workerJs = - renderWorkerPre(workerPreTpl, wasmUrl) + - '\n' + - reportWorkerJs + - '\n' + - wasmLoaderJs; - - await mkdir(outDir, { recursive: true }); - await Promise.all([ - writeFile(join(outDir, 'worker.js'), workerJs, 'utf8'), - writeFile(join(outDir, 'detector.wasm'), wasmBuf), - ]); -}; diff --git a/test/cli.test.mjs b/test/cli.test.mjs index b09f4d53..5adf62da 100644 --- a/test/cli.test.mjs +++ b/test/cli.test.mjs @@ -1,782 +1,684 @@ -// End-to-end tests for the Wasm reg-cli wrapper. -// -// These spawn the built CLI the same way a user or CI pipeline would, then -// inspect the on-disk artefacts (reg.json / junit.xml / report.html). The -// goal is twofold: -// -// 1. Catch regressions in the JS→Wasm plumbing (flag forwarding, WASI -// sandbox preopens, EventEmitter surface, exit codes). -// 2. Pin **byte-for-byte compatibility** with classic reg-cli's JUnit XML -// and reg.json schemas so that downstream tooling (reg-suit, -// reg-notify-*, CI JUnit parsers) keeps working when users migrate. -// -// Paths throughout are relative to the repo root (which is used as `cwd` -// when spawning the CLI). Real users invoke reg-cli this way in CI too, and -// it avoids a known limitation where absolute paths don't round-trip -// cleanly through `glob` inside the WASI sandbox. -// -// Run with: `node --test js/test/cli.test.mjs` - -import { test } from 'node:test'; -import assert from 'node:assert/strict'; -import { spawn } from 'node:child_process'; -import { mkdir, readFile, rm, cp, stat } from 'node:fs/promises'; -import { dirname, join, relative } from 'node:path'; -import { fileURLToPath } from 'node:url'; - -const HERE = dirname(fileURLToPath(import.meta.url)); -const REPO = join(HERE, '..'); -const CLI = join(REPO, 'dist', 'cli.mjs'); -const SAMPLE_REL = 'sample'; // repo-relative -// Unique scratch dir per test, rooted under the repo so the WASI preopen -// computed from positional dirs comfortably covers it. -const TMP_ROOT_ABS = join(REPO, 'test', '__workspace__'); -const TMP_ROOT_REL = relative(REPO, TMP_ROOT_ABS); // 'test/__workspace__' - -let runId = 0; -// Returns { abs, rel } for a fresh scratch dir. -const scratch = async () => { - const tag = `t${process.pid}-${++runId}-${Math.random().toString(36).slice(2, 8)}`; - const abs = join(TMP_ROOT_ABS, tag); - await mkdir(abs, { recursive: true }); - return { abs, rel: join(TMP_ROOT_REL, tag) }; +import test from 'ava'; +import fs from 'fs'; +import copyfiles from 'copyfiles'; +import rimraf from 'rimraf'; +// $FlowIgnore +import spawn from 'cross-spawn'; + +const IMAGE_FILES = '/**/*.+(tiff|jpeg|jpg|gif|png|bmp)'; +const WORKSPACE = 'test/__workspace__'; +const RESOURCE = 'resource'; +const SAMPLE_IMAGE = 'sample(cal).png'; +const SAMPLE_DIFF_IMAGE = 'sample(cal).png'; + +const replaceReportPath = report => { + Object.keys(report).forEach(key => { + report[key] = + typeof report[key] === 'string' ? report[key].replace(/\\/g, '/') : report[key].map(r => r.replace(/\\/g, '/')); + }); + return report; }; -const runCli = (args, opts = {}) => - new Promise((resolve, reject) => { - const p = spawn(process.execPath, [CLI, ...args], { - cwd: opts.cwd ?? REPO, - env: { ...process.env, ...opts.env }, +test.beforeEach(async t => { + await new Promise(resolve => copyfiles([`${RESOURCE}${IMAGE_FILES}`, WORKSPACE], resolve)); + await new Promise(resolve => copyfiles([`${RESOURCE}/reg.json`, WORKSPACE], resolve)); +}); + +test.serial('should display default diff message', async t => { + const stdout = await new Promise(async resolve => { + const chunks = []; + rimraf(`${WORKSPACE}/resource/expected`, () => { + const p = spawn('./dist/cli.js', [ + `${WORKSPACE}/resource/actual`, + `${WORKSPACE}/resource/expected`, + `${WORKSPACE}/diff`, + '-E', + ]); + p.stdout.on('data', chunk => { + chunks.push(Buffer.from(chunk)); + }); + p.on('close', () => { + resolve(Buffer.concat(chunks).toString('utf8')); + }); }); - const out = []; - const err = []; - p.stdout.on('data', (d) => out.push(d)); - p.stderr.on('data', (d) => err.push(d)); - p.on('error', reject); - p.on('close', (code) => - resolve({ - code, - stdout: Buffer.concat(out).toString('utf8'), - stderr: Buffer.concat(err).toString('utf8'), - }), - ); }); + t.true(stdout.indexOf('Inspect your code changes, re-run with `-U` to update them') !== -1); +}); -test.before(async () => { - await mkdir(TMP_ROOT_ABS, { recursive: true }); - // Guard: dist must exist. We never rebuild from here — that belongs to CI. - await stat(CLI).catch(() => { - throw new Error( - `Built CLI not found at ${CLI}. Run 'pnpm --filter ./js build' first.`, - ); +test.serial('should display custom diff message', async t => { + const stdout = await new Promise(async resolve => { + const chunks = []; + rimraf(`${WORKSPACE}/resource/expected`, () => { + const p = spawn('./dist/cli.js', [ + `${WORKSPACE}/resource/actual`, + `${WORKSPACE}/resource/expected`, + `${WORKSPACE}/diff`, + '-E', + '-D Custom diff message', + ]); + p.stdout.on('data', chunk => { + chunks.push(Buffer.from(chunk)); + }); + p.on('close', () => { + resolve(Buffer.concat(chunks).toString('utf8')); + }); + }); }); + t.true(stdout.indexOf('Custom diff message') !== -1); }); -test.after(async () => { - await rm(TMP_ROOT_ABS, { recursive: true, force: true }); +test.serial('should display error message when passing only 1 argument', async t => { + const stdout = await new Promise(resolve => { + const p = spawn('./dist/cli.js', ['./sample/actual']); + p.stdout.on('data', data => resolve(data)); + p.stderr.on('data', data => console.error(data)); + }); + t.true(stdout.indexOf('please specify actual, expected and diff images directory') !== -1); +}); + +test.serial('should display error message when passing only 2 argument', async t => { + const stdout = await new Promise(resolve => { + const p = spawn('./dist/cli.js', ['./sample/actual', './sample/expected']); + p.stdout.on('data', data => resolve(data)); + p.stderr.on('data', data => console.error(data)); + }); + t.true(stdout.indexOf('please specify actual, expected and diff images directory') !== -1); }); -// --------------------------------------------------------------------------- -// Basic exit-code semantics -// --------------------------------------------------------------------------- - -test('exit 1 when images differ and no -I', async () => { - const d = await scratch(); - const { code } = await runCli([ - `${SAMPLE_REL}/actual`, - `${SAMPLE_REL}/expected`, - `${d.rel}/diff`, - ]); - assert.equal(code, 1); +test.serial('should generate image diff with exit code 1', async t => { + const code = await new Promise(resolve => { + const p = spawn('./dist/cli.js', [ + `${WORKSPACE}/resource/actual`, + `${WORKSPACE}/resource/expected`, + `${WORKSPACE}/diff`, + ]); + p.on('close', code => resolve(code)); + }); + t.true(code === 1); + try { + fs.readFileSync(`${WORKSPACE}/diff/${SAMPLE_DIFF_IMAGE}`); + t.pass(); + } catch (e) { + console.log(e); + t.fail(); + } }); -test('exit 0 when -I is set despite differences', async () => { - const d = await scratch(); - const { code } = await runCli([ - `${SAMPLE_REL}/actual`, - `${SAMPLE_REL}/expected`, - `${d.rel}/diff`, - '-I', - ]); - assert.equal(code, 0); +test.serial('should exit process without error when ignore change option set', async t => { + const code = await new Promise(resolve => { + const p = spawn('./dist/cli.js', [ + `${WORKSPACE}/resource/actual`, + `${WORKSPACE}/resource/expected`, + `${WORKSPACE}/diff`, + '-I', + ]); + p.on('close', code => resolve(code)); + p.stderr.on('data', data => console.error(data)); + p.on('error', e => { + t.fail(); + console.error(e); + }); + }); + t.true(code === 0); }); -test('exit 1 when -E and only a new image exists', async () => { - const d = await scratch(); - const actualRel = `${d.rel}/actual`; - const expectedRel = `${d.rel}/expected`; - await mkdir(join(REPO, actualRel), { recursive: true }); - await mkdir(join(REPO, expectedRel), { recursive: true }); - await cp( - join(REPO, SAMPLE_REL, 'actual/sample0.png'), - join(REPO, actualRel, 'sample0.png'), - ); - // No file in expected → sample0 appears as "new". - const { code } = await runCli([actualRel, expectedRel, `${d.rel}/diff`, '-E']); - assert.equal(code, 1); +test.serial('should exit with code 1 when extended error option set and file added', async t => { + const code = await new Promise(async resolve => { + rimraf(`${WORKSPACE}/resource/expected`, () => { + const p = spawn('./dist/cli.js', [ + `${WORKSPACE}/resource/actual`, + `${WORKSPACE}/resource/expected`, + `${WORKSPACE}/diff`, + '-E', + ]); + p.on('close', code => resolve(code)); + p.stderr.on('data', data => console.error(data)); + }); + }); + t.true(code === 1); }); -test('missing positional dirs prints error and exits non-zero', async () => { - const { code, stderr } = await runCli(['only-one-dir']); - assert.notEqual(code, 0); - assert.match(stderr, /actual.*expected.*diff/i); +test.serial('should exit with code 1 when extended error option set and file deleted', async t => { + const code = await new Promise(async resolve => { + rimraf(`${WORKSPACE}/resource/actual`, () => { + const p = spawn('./dist/cli.js', [ + `${WORKSPACE}/resource/actual`, + `${WORKSPACE}/resource/expected`, + `${WORKSPACE}/diff`, + '-E', + ]); + p.on('close', code => resolve(code)); + p.stderr.on('data', data => console.error(data)); + }); + }); + t.true(code === 1); }); -// --------------------------------------------------------------------------- -// reg.json schema compat -// --------------------------------------------------------------------------- - -test('reg.json schema matches classic shape (failed case)', async () => { - const d = await scratch(); - const jsonRel = `${d.rel}/reg.json`; - await runCli([ - `${SAMPLE_REL}/actual`, - `${SAMPLE_REL}/expected`, - `${d.rel}/diff`, - '-J', - jsonRel, - '-I', - ]); - const report = JSON.parse(await readFile(join(REPO, jsonRel), 'utf8')); - // Keys classic reg-cli guarantees (see src/report.js). - for (const k of [ - 'actualItems', - 'expectedItems', - 'diffItems', - 'failedItems', - 'newItems', - 'deletedItems', - 'passedItems', - 'actualDir', - 'expectedDir', - 'diffDir', - ]) { - assert.ok(k in report, `missing key ${k} in reg.json`); +test.serial('should generate report json to `./reg.json` when not specified dist path', async t => { + await new Promise(resolve => { + const p = spawn('./dist/cli.js', [ + `${WORKSPACE}/resource/actual`, + `${WORKSPACE}/resource/expected`, + `${WORKSPACE}/diff`, + ]); + p.on('close', code => resolve(code)); + p.stderr.on('data', data => console.error(data)); + }); + try { + fs.readFileSync(`./reg.json`); + t.pass(); + } catch (e) { + t.fail(); } - assert.deepEqual(report.failedItems, ['sample0.png']); - assert.deepEqual(report.passedItems, ['sample1.png']); - assert.deepEqual(report.newItems, []); - assert.deepEqual(report.deletedItems, []); }); -// --------------------------------------------------------------------------- -// JUnit XML byte-for-byte compat with classic reg-cli -// --------------------------------------------------------------------------- - -test('junit XML matches classic format (single failure)', async () => { - const d = await scratch(); - const junitRel = `${d.rel}/junit.xml`; - await runCli([ - `${SAMPLE_REL}/actual`, - `${SAMPLE_REL}/expected`, - `${d.rel}/diff`, - '--junit', - junitRel, - '-I', - ]); - const xml = await readFile(join(REPO, junitRel), 'utf8'); - assert.equal( - xml, - ` - - - - - - - -`, - ); +test.serial('should generate report json to `${WORKSPACE}/dist/reg.json` when dist path specified', async t => { + await new Promise(resolve => { + const p = spawn('./dist/cli.js', [ + `${WORKSPACE}/resource/actual`, + `${WORKSPACE}/resource/expected`, + `${WORKSPACE}/diff`, + `-J`, + `${WORKSPACE}/dist/reg.json`, + ]); + p.on('close', code => resolve(code)); + p.stderr.on('data', data => console.error(data)); + }); + + try { + fs.readFileSync(`${WORKSPACE}/dist/reg.json`); + t.pass(); + } catch (e) { + t.fail(); + } }); -test('junit XML: new/deleted without -E are passed testcases', async () => { - const d = await scratch(); - const actualRel = `${d.rel}/actual`; - const expectedRel = `${d.rel}/expected`; - await mkdir(join(REPO, actualRel), { recursive: true }); - await mkdir(join(REPO, expectedRel), { recursive: true }); - await cp( - join(REPO, SAMPLE_REL, 'actual/sample1.png'), - join(REPO, actualRel, 'added.png'), - ); - await cp( - join(REPO, SAMPLE_REL, 'expected/sample1.png'), - join(REPO, expectedRel, 'gone.png'), - ); - const junitRel = `${d.rel}/junit.xml`; - await runCli([actualRel, expectedRel, `${d.rel}/diff`, '--junit', junitRel]); - const xml = await readFile(join(REPO, junitRel), 'utf8'); - assert.equal( - xml, - ` - - - - - -`, - ); +test.serial('should generate report html to `${WORKSPACE}/dist/report.html` when `-R` option enabled', async t => { + await new Promise(resolve => { + const p = spawn('./dist/cli.js', [ + `${WORKSPACE}/resource/actual`, + `${WORKSPACE}/resource/expected`, + `${WORKSPACE}/diff`, + `-R`, + `${WORKSPACE}/dist/report.html`, + ]); + p.on('close', code => resolve(code)); + p.stderr.on('data', data => console.error(data)); + }); + + try { + fs.readFileSync(`${WORKSPACE}/dist/report.html`); + t.pass(); + } catch (e) { + console.error(e); + t.fail(); + } }); -test('junit XML: new/deleted with -E become entries', async () => { - const d = await scratch(); - const actualRel = `${d.rel}/actual`; - const expectedRel = `${d.rel}/expected`; - await mkdir(join(REPO, actualRel), { recursive: true }); - await mkdir(join(REPO, expectedRel), { recursive: true }); - await cp( - join(REPO, SAMPLE_REL, 'actual/sample1.png'), - join(REPO, actualRel, 'added.png'), - ); - await cp( - join(REPO, SAMPLE_REL, 'expected/sample1.png'), - join(REPO, expectedRel, 'gone.png'), - ); - const junitRel = `${d.rel}/junit.xml`; - await runCli([ - actualRel, - expectedRel, - `${d.rel}/diff`, - '-E', - '-I', - '--junit', - junitRel, - ]); - const xml = await readFile(join(REPO, junitRel), 'utf8'); - assert.equal( - xml, - ` - - - - - - - +test.serial('should generate junit report xml to `${WORKSPACE}/dist/report.xml` when `--junit` option enabled', async t => { + await new Promise(resolve => { + const p = spawn('./dist/cli.js', [ + `${WORKSPACE}/resource/actual`, + `${WORKSPACE}/resource/expected`, + `${WORKSPACE}/diff`, + `--junit`, + `${WORKSPACE}/dist/report.xml`, + ]); + p.on('close', code => resolve(code)); + p.stderr.on('data', data => console.error(data)); + }); + + try { + let report = fs.readFileSync(`${WORKSPACE}/dist/report.xml`); + t.is(report.toString(), + ` + + + + -`, - ); +`); + t.pass(); + } catch (e) { + console.error(e); + t.fail(); + } }); -// --------------------------------------------------------------------------- -// Report / -X client / -F from -// --------------------------------------------------------------------------- - -test('-R writes an HTML report file', async () => { - const d = await scratch(); - const reportRel = `${d.rel}/report.html`; - await runCli([ - `${SAMPLE_REL}/actual`, - `${SAMPLE_REL}/expected`, - `${d.rel}/diff`, - '-R', - reportRel, - '-I', - ]); - const html = await readFile(join(REPO, reportRel), 'utf8'); - assert.ok(html.length > 1000); - // ximgdiffConfig.enabled defaults to false. - assert.match(html, /ximgdiffConfig[^}]*enabled["\\]+:false/); -}); +test.serial( + 'should generate worker js and wasm files under `${WORKSPACE}/dist` when `-R -X` option enabled', + async t => { + await new Promise(resolve => { + const p = spawn('./dist/cli.js', [ + `${WORKSPACE}/resource/actual`, + `${WORKSPACE}/resource/expected`, + `${WORKSPACE}/diff`, + `-R`, + `${WORKSPACE}/dist/report.html`, + `-X`, + 'client', + ]); + p.on('close', code => resolve(code)); + p.stderr.on('data', data => console.error(data)); + }); -test('-X client flips ximgdiffConfig.enabled in the HTML report', async () => { - const d = await scratch(); - const reportRel = `${d.rel}/report.html`; - await runCli([ - `${SAMPLE_REL}/actual`, - `${SAMPLE_REL}/expected`, - `${d.rel}/diff`, - '-R', - reportRel, - '-X', - 'client', - '-I', - ]); - const html = await readFile(join(REPO, reportRel), 'utf8'); - assert.match(html, /ximgdiffConfig[^}]*enabled["\\]+:true/); + try { + t.truthy(fs.existsSync(`${WORKSPACE}/dist/worker.js`)); + t.truthy(fs.existsSync(`${WORKSPACE}/dist/detector.wasm`)); + } catch (e) { + console.error(e); + t.fail(); + } + }, +); + +test.serial('should generate fail report', async t => { + await new Promise(resolve => { + const p = spawn('./dist/cli.js', [ + `${WORKSPACE}/resource/actual`, + `${WORKSPACE}/resource/expected`, + `${WORKSPACE}/diff`, + ]); + p.on('close', code => resolve(code)); + p.stderr.on('data', data => console.error(data)); + }); + + try { + const report = replaceReportPath(JSON.parse(fs.readFileSync(`./reg.json`, 'utf8'))); + const expected = { + actualItems: [`${SAMPLE_IMAGE}`], + expectedItems: [`${SAMPLE_IMAGE}`], + diffItems: [`${SAMPLE_DIFF_IMAGE}`], + failedItems: [`${SAMPLE_IMAGE}`], + newItems: [], + deletedItems: [], + passedItems: [], + actualDir: `./${WORKSPACE}/resource/actual`, + expectedDir: `./${WORKSPACE}/resource/expected`, + diffDir: `./${WORKSPACE}/diff`, + }; + t.deepEqual(report, expected); + } catch (e) { + t.fail(); + } }); -test('-F regenerates HTML + junit from an existing reg.json without diffing', async () => { - const d = await scratch(); - const jsonRel = `${d.rel}/reg.json`; - - // Step 1: run a normal comparison to get a reg.json. - await runCli([ - `${SAMPLE_REL}/actual`, - `${SAMPLE_REL}/expected`, - `${d.rel}/diff`, - '-J', - jsonRel, - '-I', - ]); - const jsonBefore = await readFile(join(REPO, jsonRel), 'utf8'); - - // Step 2: wipe diff dir, run -F mode. It must NOT re-create any diff image. - await rm(join(REPO, d.rel, 'diff'), { recursive: true, force: true }); - const reportRel = `${d.rel}/from.html`; - const junitRel = `${d.rel}/from.xml`; - const { code } = await runCli([ - '-F', - jsonRel, - '-R', - reportRel, - '--junit', - junitRel, - '-I', - ]); - - assert.equal(code, 0); - assert.ok((await stat(join(REPO, reportRel))).size > 1000); - assert.ok((await stat(join(REPO, junitRel))).size > 0); - // -F shouldn't mutate the source reg.json… - assert.equal(await readFile(join(REPO, jsonRel), 'utf8'), jsonBefore); - // …and shouldn't have re-created diff/. - await assert.rejects(() => stat(join(REPO, d.rel, 'diff'))); +test.serial('should generate fail report with -T 0.00', async t => { + await new Promise(resolve => { + const p = spawn('./dist/cli.js', [ + `${WORKSPACE}/resource/actual`, + `${WORKSPACE}/resource/expected`, + `${WORKSPACE}/diff`, + `-T`, + '0.00', + ]); + p.on('close', code => resolve(code)); + p.stderr.on('data', data => console.error(data)); + }); + + try { + const report = replaceReportPath(JSON.parse(fs.readFileSync(`./reg.json`, 'utf8'))); + const expected = { + actualItems: [`${SAMPLE_IMAGE}`], + expectedItems: [`${SAMPLE_IMAGE}`], + diffItems: [`${SAMPLE_DIFF_IMAGE}`], + failedItems: [`${SAMPLE_IMAGE}`], + newItems: [], + deletedItems: [], + passedItems: [], + actualDir: `./${WORKSPACE}/resource/actual`, + expectedDir: `./${WORKSPACE}/resource/expected`, + diffDir: `./${WORKSPACE}/diff`, + }; + t.deepEqual(report, expected); + } catch (e) { + t.fail(); + } }); -// --------------------------------------------------------------------------- -// CLI stdout formatting (per-file + summary lines) -// --------------------------------------------------------------------------- - -test('stdout shows per-file status lines and summary', async () => { - const d = await scratch(); - const { stdout } = await runCli([ - `${SAMPLE_REL}/actual`, - `${SAMPLE_REL}/expected`, - `${d.rel}/diff`, - '-I', - ]); - assert.match(stdout, /change\s+.*sample0\.png/); - assert.match(stdout, /pass\s+.*sample1\.png/); - assert.match(stdout, /1 file\(s\) changed/); - assert.match(stdout, /1 file\(s\) passed/); +test.serial('should not generate fail report with -T 1.00', async t => { + await new Promise(resolve => { + const p = spawn('./dist/cli.js', [ + `${WORKSPACE}/resource/actual`, + `${WORKSPACE}/resource/expected`, + `${WORKSPACE}/diff`, + `-T`, + '1.00', + ]); + p.on('close', code => resolve(code)); + p.stderr.on('data', data => console.error(data)); + }); + + try { + const report = replaceReportPath(JSON.parse(fs.readFileSync(`./reg.json`, 'utf8'))); + const expected = { + actualItems: [`${SAMPLE_IMAGE}`], + expectedItems: [`${SAMPLE_IMAGE}`], + diffItems: [], + failedItems: [], + newItems: [], + deletedItems: [], + passedItems: [`${SAMPLE_IMAGE}`], + actualDir: `./${WORKSPACE}/resource/actual`, + expectedDir: `./${WORKSPACE}/resource/expected`, + diffDir: `./${WORKSPACE}/diff`, + }; + t.deepEqual(report, expected); + } catch (e) { + t.fail(); + } }); -test('-D custom diff message shows up on failure', async () => { - const d = await scratch(); - const { stdout } = await runCli([ - `${SAMPLE_REL}/actual`, - `${SAMPLE_REL}/expected`, - `${d.rel}/diff`, - '-D', - 'custom-trailer-msg', - '-I', - ]); - assert.ok(stdout.includes('custom-trailer-msg')); +test.serial('should generate fail report with -S 0', async t => { + await new Promise(resolve => { + const p = spawn('./dist/cli.js', [ + `${WORKSPACE}/resource/actual`, + `${WORKSPACE}/resource/expected`, + `${WORKSPACE}/diff`, + `-S`, + '0', + ]); + p.on('close', code => resolve(code)); + p.stderr.on('data', data => console.error(data)); + }); + + try { + const report = replaceReportPath(JSON.parse(fs.readFileSync(`./reg.json`, 'utf8'))); + const expected = { + actualItems: [`${SAMPLE_IMAGE}`], + expectedItems: [`${SAMPLE_IMAGE}`], + diffItems: [`${SAMPLE_DIFF_IMAGE}`], + failedItems: [`${SAMPLE_IMAGE}`], + newItems: [], + deletedItems: [], + passedItems: [], + actualDir: `./${WORKSPACE}/resource/actual`, + expectedDir: `./${WORKSPACE}/resource/expected`, + diffDir: `./${WORKSPACE}/diff`, + }; + t.deepEqual(report, expected); + } catch (e) { + t.fail(); + } }); -// --------------------------------------------------------------------------- -// Phase-F: --version / favicon / -X client assets / -U semantics -// --------------------------------------------------------------------------- +test.serial('should not generate fail report with -S 10000000', async t => { + await new Promise(resolve => { + const p = spawn('./dist/cli.js', [ + `${WORKSPACE}/resource/actual`, + `${WORKSPACE}/resource/expected`, + `${WORKSPACE}/diff`, + `-S`, + '100000000', + ]); + p.on('close', code => resolve(code)); + p.stderr.on('data', data => console.error(data)); + }); -test('--version prints the package.json version', async () => { - const { code, stdout } = await runCli(['--version']); - assert.equal(code, 0); - // Must look like semver-ish (at least digits + dot), not the classic - // "reg-cli-wasm" placeholder. - assert.match(stdout.trim(), /^\d+\.\d+\.\d+/); + try { + const report = replaceReportPath(JSON.parse(fs.readFileSync(`./reg.json`, 'utf8'))); + const expected = { + actualItems: [`${SAMPLE_IMAGE}`], + expectedItems: [`${SAMPLE_IMAGE}`], + diffItems: [], + failedItems: [], + newItems: [], + deletedItems: [], + passedItems: [`${SAMPLE_IMAGE}`], + actualDir: `./${WORKSPACE}/resource/actual`, + expectedDir: `./${WORKSPACE}/resource/expected`, + diffDir: `./${WORKSPACE}/diff`, + }; + t.deepEqual(report, expected); + } catch (e) { + t.fail(); + } }); -test('HTML report embeds a favicon data URL', async () => { - const d = await scratch(); - const reportRel = `${d.rel}/report.html`; - await runCli([ - `${SAMPLE_REL}/actual`, - `${SAMPLE_REL}/expected`, - `${d.rel}/diff`, - '-R', - reportRel, - '-I', - ]); - const html = await readFile(join(REPO, reportRel), 'utf8'); - // `` — check - // the placeholder was replaced with real PNG bytes. - assert.match( - html, - / { + let code = await new Promise(resolve => { + const p = spawn('./dist/cli.js', [ + `${WORKSPACE}/resource/actual`, + `${WORKSPACE}/resource/expected`, + `${WORKSPACE}/diff`, + '-U', + ]); + p.on('close', code => resolve(code)); + // p.stdout.on('data', data => console.log(data.toString())); + p.stderr.on('data', data => console.error(data)); + }); + t.true(code === 0); + const report = replaceReportPath(JSON.parse(fs.readFileSync(`./reg.json`, 'utf8'))); + const expected = { + actualItems: [`${SAMPLE_IMAGE}`], + expectedItems: [`${SAMPLE_IMAGE}`], + diffItems: [`${SAMPLE_DIFF_IMAGE}`], + failedItems: [`${SAMPLE_IMAGE}`], + newItems: [], + deletedItems: [], + passedItems: [], + actualDir: `./${WORKSPACE}/resource/actual`, + expectedDir: `./${WORKSPACE}/resource/expected`, + diffDir: `./${WORKSPACE}/diff`, + }; + t.deepEqual(report, expected); }); -test('-X client emits worker.js + detector.wasm next to report', async () => { - const d = await scratch(); - const reportRel = `${d.rel}/report.html`; - await runCli([ - `${SAMPLE_REL}/actual`, - `${SAMPLE_REL}/expected`, - `${d.rel}/diff`, - '-R', - reportRel, - '-X', - 'client', - '-I', - ]); - const reportDir = dirname(join(REPO, reportRel)); - // Classic reg-cli test asserts on the *existence* of these files - // (test/cli.test.mjs:250-275). Match that at minimum; also sanity-check - // sizes so we catch an empty-write regression. - const workerStat = await stat(join(reportDir, 'worker.js')); - const wasmStat = await stat(join(reportDir, 'detector.wasm')); - assert.ok(workerStat.size > 10_000, 'worker.js should contain the concatenated bundle'); - assert.ok(wasmStat.size > 100_000, 'detector.wasm should be the x-img-diff wasm'); +test.serial('should delete from /expected when they are missing from /actual with `-U` option', async t => { + const code = await new Promise(resolve => { + rimraf(`${WORKSPACE}/resource/actual/${SAMPLE_IMAGE}`, () => { + const p = spawn('./dist/cli.js', [ + `${WORKSPACE}/resource/actual`, + `${WORKSPACE}/resource/expected`, + `${WORKSPACE}/diff`, + '-U', + ]); + p.on('close', code => resolve(code)); + // p.stdout.on('data', data => console.log(data.toString())); + p.stderr.on('data', data => console.error(data)); + }); + }); + t.true(code === 0); + const report = replaceReportPath(JSON.parse(fs.readFileSync(`./reg.json`, 'utf8'))); + const expected = { + actualItems: [], + expectedItems: [], + diffItems: [], + failedItems: [], + newItems: [], + deletedItems: [`${SAMPLE_IMAGE}`], + passedItems: [], + actualDir: `./${WORKSPACE}/resource/actual`, + expectedDir: `./${WORKSPACE}/resource/expected`, + diffDir: `./${WORKSPACE}/diff`, + }; + t.deepEqual(report, expected); + const wasDeleted = !fs.existsSync(`${WORKSPACE}/resource/expected/${SAMPLE_IMAGE}`); + t.true(wasDeleted, `File ${SAMPLE_IMAGE} was not deleted from /expected`); }); -// --------------------------------------------------------------------------- -// Phase-H regression test: multi-segment preopen + sandboxed intermediate -// directories -// --------------------------------------------------------------------------- -// -// The bug being guarded here: `computeWasiSandbox` registers ONE preopen -// covering the common ancestor of every touched dir. When that ancestor is -// deep (e.g. `./packages/app/screenshots`), the filesystem walker inside -// `reg_core::find_images` must not try to open intermediate dirs like `.` -// or `packages/` (they're OUTSIDE the sandbox and return EBADF). Earlier -// reg_core used `glob::glob`, which walks from cwd and trips on those -// intermediate opendirs, silently returning ZERO matches — reg.json ends -// up empty, exit code 0, HTML "success". CI goes green while no images -// were actually compared. -// -// The fix in phase-H replaced `glob::glob` with a direct recursive -// `std::fs::read_dir(actual_dir)` walker that starts AT the sandboxed -// root instead of traversing to it. This test uses a deliberately deep -// scratch path to make sure we never regress to the broken glob walker. -// -// If this test ever fires, images were silently dropped. Don't mark it -// as flaky — go read `walk_images` in `crates/reg_core/src/lib.rs` and -// make sure it's still being called instead of falling back to -// pattern-based globbing. -test('multi-segment positional dirs still discover images', async () => { - // Scratch path with ≥3 segments so the preopen ends up multi-segment - // (the other tests use `.libtest-*` at the repo root which is already - // single-segment and wouldn't exercise the previously-broken path). - const leaf = `.phase-h-deep/${process.pid}-${++runId}/nested/level`; - const actualRel = `${leaf}/actual`; - const expectedRel = `${leaf}/expected`; - const diffRel = `${leaf}/diff`; - const jsonRel = `${leaf}/reg.json`; - await mkdir(join(REPO, actualRel), { recursive: true }); - await mkdir(join(REPO, expectedRel), { recursive: true }); - await cp( - join(REPO, SAMPLE_REL, 'actual/sample0.png'), - join(REPO, actualRel, 'sample0.png'), - ); - await cp( - join(REPO, SAMPLE_REL, 'expected/sample0.png'), - join(REPO, expectedRel, 'sample0.png'), - ); +test.serial('should generate success report', async t => { + const stdout = await new Promise(resolve => { + const p = spawn('./dist/cli.js', [ + `${WORKSPACE}/resource/expected`, + `${WORKSPACE}/resource/expected`, + `${WORKSPACE}/diff`, + ]); + p.on('close', code => resolve(code)); + p.stderr.on('data', data => console.error(data)); + }); try { - await runCli([actualRel, expectedRel, diffRel, '-J', jsonRel, '-I']); - const report = JSON.parse(await readFile(join(REPO, jsonRel), 'utf8')); - // The critical assertion: images ARE discovered despite the deep path. - // If this ever goes back to `[]`, someone reintroduced a walker that - // opens intermediate dirs outside the WASI preopen. - assert.deepEqual(report.actualItems, ['sample0.png']); - assert.deepEqual(report.expectedItems, ['sample0.png']); - } finally { - await rm(join(REPO, '.phase-h-deep'), { recursive: true, force: true }); + const report = replaceReportPath(JSON.parse(fs.readFileSync(`./reg.json`, 'utf8'))); + const expected = { + actualItems: [`${SAMPLE_IMAGE}`], + expectedItems: [`${SAMPLE_IMAGE}`], + diffItems: [], + failedItems: [], + newItems: [], + deletedItems: [], + passedItems: [`${SAMPLE_IMAGE}`], + actualDir: `./${WORKSPACE}/resource/expected`, + expectedDir: `./${WORKSPACE}/resource/expected`, + diffDir: `./${WORKSPACE}/diff`, + }; + t.deepEqual(report, expected); + } catch (e) { + t.fail(); } }); -test('multi-segment positional dirs: nested subdirs still discover images', async () => { - // Extra guard: images under a SUBDIRECTORY of actual_dir (not just top - // level). The walker must recurse correctly, and the returned paths - // must be relative to actual_dir (`sub/a.png`, not an absolute path). - const leaf = `.phase-h-subdir/${process.pid}-${++runId}/nested`; - const actualRel = `${leaf}/actual`; - const expectedRel = `${leaf}/expected`; - await mkdir(join(REPO, actualRel, 'sub'), { recursive: true }); - await mkdir(join(REPO, expectedRel, 'sub'), { recursive: true }); - await cp( - join(REPO, SAMPLE_REL, 'actual/sample0.png'), - join(REPO, actualRel, 'sub/a.png'), - ); - await cp( - join(REPO, SAMPLE_REL, 'expected/sample0.png'), - join(REPO, expectedRel, 'sub/a.png'), - ); +test.serial('should generate newItem report', async t => { + const stdout = await new Promise(async resolve => { + rimraf(`${WORKSPACE}/resource/expected`, () => { + const p = spawn('./dist/cli.js', [ + `${WORKSPACE}/resource/actual`, + `${WORKSPACE}/resource/expected`, + `${WORKSPACE}/diff`, + ]); + p.on('close', code => resolve(code)); + p.stderr.on('data', data => console.error(data)); + }); + }); try { - await runCli([ - actualRel, - expectedRel, - `${leaf}/diff`, - '-J', - `${leaf}/reg.json`, - '-I', - ]); - const report = JSON.parse(await readFile(join(REPO, leaf, 'reg.json'), 'utf8')); - // Path should be actual_dir-relative with forward slashes. - assert.deepEqual(report.actualItems, ['sub/a.png']); - } finally { - await rm(join(REPO, '.phase-h-subdir'), { recursive: true, force: true }); + const report = replaceReportPath(JSON.parse(fs.readFileSync(`./reg.json`, 'utf8'))); + const expected = { + actualItems: [`${SAMPLE_IMAGE}`], + expectedItems: [], + diffItems: [], + failedItems: [], + newItems: [`${SAMPLE_IMAGE}`], + deletedItems: [], + passedItems: [], + actualDir: `./${WORKSPACE}/resource/actual`, + expectedDir: `./${WORKSPACE}/resource/expected`, + diffDir: `./${WORKSPACE}/diff`, + }; + t.deepEqual(report, expected); + } catch (e) { + t.fail(); } }); -test('-U prunes deleted baselines and keeps passed files untouched', async () => { - // Seed a scenario: expected has stale.png (not in actual) → deleted. - // actual has sample0.png differing from expected → failed/changed. - // expected has sample1.png identical to actual → passed. - const d = await scratch(); - const actualRel = `${d.rel}/actual`; - const expectedRel = `${d.rel}/expected`; - await mkdir(join(REPO, actualRel), { recursive: true }); - await mkdir(join(REPO, expectedRel), { recursive: true }); - - await cp( - join(REPO, SAMPLE_REL, 'actual/sample0.png'), - join(REPO, actualRel, 'sample0.png'), - ); - await cp( - join(REPO, SAMPLE_REL, 'actual/sample1.png'), - join(REPO, actualRel, 'sample1.png'), - ); - await cp( - join(REPO, SAMPLE_REL, 'expected/sample0.png'), - join(REPO, expectedRel, 'sample0.png'), - ); - await cp( - join(REPO, SAMPLE_REL, 'actual/sample1.png'), - join(REPO, expectedRel, 'sample1.png'), - ); - // Stale baseline only in expected → should be removed by -U. - await cp( - join(REPO, SAMPLE_REL, 'actual/sample0.png'), - join(REPO, expectedRel, 'stale.png'), - ); - // Capture pre-update mtime for the passed file so we can assert we - // didn't needlessly rewrite it. - const passedBefore = await stat(join(REPO, expectedRel, 'sample1.png')); - - const { code } = await runCli([ - actualRel, - expectedRel, - `${d.rel}/diff`, - '-U', - ]); - assert.equal(code, 0); - - // stale.png: pruned. - await assert.rejects(() => stat(join(REPO, expectedRel, 'stale.png'))); - - // sample0.png: overwritten with actual/sample0.png — bytes now match. - const a0 = await readFile(join(REPO, actualRel, 'sample0.png')); - const e0 = await readFile(join(REPO, expectedRel, 'sample0.png')); - assert.equal(Buffer.compare(a0, e0), 0); - - // sample1.png (passed): bytes unchanged AND mtime unchanged. - const passedAfter = await stat(join(REPO, expectedRel, 'sample1.png')); - assert.equal( - passedAfter.mtimeMs, - passedBefore.mtimeMs, - 'passed file should not be rewritten by -U', - ); -}); +test.serial('should generate deletedItem report', async t => { + const stdout = await new Promise(async resolve => { + rimraf(`${WORKSPACE}/resource/actual`, () => { + const p = spawn('./dist/cli.js', [ + `${WORKSPACE}/resource/actual`, + `${WORKSPACE}/resource/expected`, + `${WORKSPACE}/diff`, + ]); + p.on('close', code => resolve(code)); + p.stderr.on('data', data => console.error(data)); + }); + }); -// --------------------------------------------------------------------------- -// Threshold-rate / threshold-pixel boundary parity with classic reg-cli -// (mirrors `test/cli.test.mjs` "fail with -T 0.00", "pass with -T 1.00", -// "fail with -S 0", "pass with -S 10000000" on the JS branch). -// --------------------------------------------------------------------------- - -test('-T 0.00 (strict thresholdRate) fails on any pixel difference', async () => { - const d = await scratch(); - const { code } = await runCli([ - `${SAMPLE_REL}/actual`, - `${SAMPLE_REL}/expected`, - `${d.rel}/diff`, - '-T', - '0.00', - ]); - assert.equal(code, 1); + try { + const report = replaceReportPath(JSON.parse(fs.readFileSync(`./reg.json`, 'utf8'))); + const expected = { + actualItems: [], + expectedItems: [`${SAMPLE_IMAGE}`], + diffItems: [], + failedItems: [], + newItems: [], + deletedItems: [`${SAMPLE_IMAGE}`], + passedItems: [], + actualDir: `./${WORKSPACE}/resource/actual`, + expectedDir: `./${WORKSPACE}/resource/expected`, + diffDir: `./${WORKSPACE}/diff`, + }; + t.deepEqual(report, expected); + } catch (e) { + t.fail(); + } }); -test('-T 1.00 (lax thresholdRate) accepts everything', async () => { - const d = await scratch(); - const { code } = await runCli([ - `${SAMPLE_REL}/actual`, - `${SAMPLE_REL}/expected`, - `${d.rel}/diff`, - '-T', - '1.00', - ]); - assert.equal(code, 0); -}); +test.serial('should generate report from json', async t => { + await new Promise((resolve, reject) => { + const p = spawn('./dist/cli.js', [`-F`, `${WORKSPACE}/resource/reg.json`, `-R`, `./from-json.html`]); + p.on('close', code => resolve(code)); + p.stderr.on('data', data => reject(data)); + }); -test('-S 0 (strict thresholdPixel) fails on any pixel difference', async () => { - const d = await scratch(); - const { code } = await runCli([ - `${SAMPLE_REL}/actual`, - `${SAMPLE_REL}/expected`, - `${d.rel}/diff`, - '-S', - '0', - ]); - assert.equal(code, 1); + try { + const report = fs.readFileSync(`./from-json.html`); + t.true(!!report); + } catch (e) { + console.log(e); + t.fail(); + } }); -test('-S 10000000 (lax thresholdPixel) accepts everything', async () => { - const d = await scratch(); - const { code } = await runCli([ - `${SAMPLE_REL}/actual`, - `${SAMPLE_REL}/expected`, - `${d.rel}/diff`, - '-S', - '10000000', - ]); - assert.equal(code, 0); -}); -// --------------------------------------------------------------------------- -// Identical / disjoint directory shapes (parity gaps from the JS branch's -// "success report", "new item report", "deleted item report" tests). -// --------------------------------------------------------------------------- - -test('identical dirs → passedItems populated, failedItems empty, exit 0', async () => { - const d = await scratch(); - const actualRel = `${d.rel}/actual`; - const expectedRel = `${d.rel}/expected`; - await mkdir(join(REPO, actualRel), { recursive: true }); - await mkdir(join(REPO, expectedRel), { recursive: true }); - // Same bytes on both sides → guaranteed pass. - await cp( - join(REPO, SAMPLE_REL, 'actual/sample0.png'), - join(REPO, actualRel, 'sample0.png'), - ); - await cp( - join(REPO, SAMPLE_REL, 'actual/sample0.png'), - join(REPO, expectedRel, 'sample0.png'), - ); - - const jsonRel = `${d.rel}/reg.json`; - const { code } = await runCli([ - actualRel, - expectedRel, - `${d.rel}/diff`, - '-J', - jsonRel, - ]); - assert.equal(code, 0); - const report = JSON.parse(await readFile(join(REPO, jsonRel), 'utf8')); - assert.deepEqual(report.failedItems, []); - assert.deepEqual(report.newItems, []); - assert.deepEqual(report.deletedItems, []); - assert.deepEqual(report.passedItems, ['sample0.png']); -}); +test.serial('should generate Junit report from json', async t => { + await new Promise((resolve, reject) => { + const p = spawn('./dist/cli.js', [`-F`, `${WORKSPACE}/resource/reg.json`, '--junit','./from-json.xml']); + p.on('close', code => resolve(code)); + p.stderr.on('data', data => reject(data)); + }); -test('actual empty → all expected items appear in deletedItems', async () => { - const d = await scratch(); - const actualRel = `${d.rel}/actual`; - const expectedRel = `${d.rel}/expected`; - await mkdir(join(REPO, actualRel), { recursive: true }); - await mkdir(join(REPO, expectedRel), { recursive: true }); - await cp( - join(REPO, SAMPLE_REL, 'actual/sample0.png'), - join(REPO, expectedRel, 'sample0.png'), - ); - - const jsonRel = `${d.rel}/reg.json`; - await runCli([actualRel, expectedRel, `${d.rel}/diff`, '-J', jsonRel, '-I']); - const report = JSON.parse(await readFile(join(REPO, jsonRel), 'utf8')); - assert.deepEqual(report.deletedItems, ['sample0.png']); - assert.deepEqual(report.newItems, []); + try { + const report = fs.readFileSync(`./from-json.xml`); + t.true(!!report); + t.is(report.toString(), + ` + + + + + + +`); + } catch (e) { + console.log(e); + t.fail(); + } }); -// --------------------------------------------------------------------------- -// Edge cases the JS branch never had: corrupt / non-image inputs. -// Backed by reg_core's per-image failure tolerance (see -// `crates/reg_core/src/lib.rs::per_image_failure_tests`). -// --------------------------------------------------------------------------- - -test('corrupt PNG → failedItems entry, run continues for siblings, exit 1', async () => { - const d = await scratch(); - const actualRel = `${d.rel}/actual`; - const expectedRel = `${d.rel}/expected`; - await mkdir(join(REPO, actualRel), { recursive: true }); - await mkdir(join(REPO, expectedRel), { recursive: true }); - - // One valid pair (will pass)… - await cp( - join(REPO, SAMPLE_REL, 'actual/sample0.png'), - join(REPO, actualRel, 'good.png'), - ); - await cp( - join(REPO, SAMPLE_REL, 'actual/sample0.png'), - join(REPO, expectedRel, 'good.png'), - ); - // …plus a corrupt pair the decoder will reject. - await import('node:fs/promises').then(({ writeFile }) => - Promise.all([ - writeFile(join(REPO, actualRel, 'bad.png'), 'not a png AAA'), - writeFile(join(REPO, expectedRel, 'bad.png'), 'not a png BBB'), - ]), - ); - - const jsonRel = `${d.rel}/reg.json`; - const { code, stderr } = await runCli([ - actualRel, - expectedRel, - `${d.rel}/diff`, - '-J', - jsonRel, - ]); - assert.equal(code, 1, `expected exit 1 due to bad.png; stderr: ${stderr}`); - const report = JSON.parse(await readFile(join(REPO, jsonRel), 'utf8')); - assert.ok( - report.failedItems.includes('bad.png'), - `bad.png should be in failedItems; got ${JSON.stringify(report.failedItems)}`, - ); - assert.ok( - report.passedItems.includes('good.png'), - `good.png should still pass; got ${JSON.stringify(report.passedItems)}`, - ); - assert.match( - stderr, - /bad\.png/, - 'stderr should name the failing file so users can find it', - ); -}); +test.serial('perf', async t => { + const copy = (s, d, done) => { + const r = fs.createReadStream(s); + const w = fs.createWriteStream(d); + r.pipe(w); + w.on('close', ex => { + done(); + }); + }; + for (let i = 0; i < 100; i++) { + await Promise.all([ + new Promise(resolve => + copy(`${WORKSPACE}/resource/actual/sample(cal).png`, `${WORKSPACE}/resource/actual/sample${i}.png`, resolve), + ), + new Promise(resolve => + copy( + `${WORKSPACE}/resource/expected/sample(cal).png`, + `${WORKSPACE}/resource/expected/sample${i}.png`, + resolve, + ), + ), + ]); + } -test('non-image files in actual/expected dirs are silently skipped', async () => { - const d = await scratch(); - const actualRel = `${d.rel}/actual`; - const expectedRel = `${d.rel}/expected`; - await mkdir(join(REPO, actualRel), { recursive: true }); - await mkdir(join(REPO, expectedRel), { recursive: true }); - await cp( - join(REPO, SAMPLE_REL, 'actual/sample0.png'), - join(REPO, actualRel, 'sample0.png'), - ); - await cp( - join(REPO, SAMPLE_REL, 'actual/sample0.png'), - join(REPO, expectedRel, 'sample0.png'), - ); - await import('node:fs/promises').then(({ writeFile }) => - Promise.all([ - writeFile(join(REPO, actualRel, 'README.md'), '# notes\n'), - writeFile(join(REPO, expectedRel, 'data.json'), '{}'), - ]), - ); - - const jsonRel = `${d.rel}/reg.json`; - const { code } = await runCli([ - actualRel, - expectedRel, - `${d.rel}/diff`, - '-J', - jsonRel, - ]); - assert.equal(code, 0); - const report = JSON.parse(await readFile(join(REPO, jsonRel), 'utf8')); - for (const bucket of [ - report.passedItems, - report.failedItems, - report.newItems, - report.deletedItems, - ]) { - assert.ok( - bucket.every((n) => !n.endsWith('.md') && !n.endsWith('.json')), - `non-image leaked into bucket: ${JSON.stringify(bucket)}`, + console.time('100images'); + await new Promise(resolve => { + const p = spawn( + './dist/cli.js', + [`${WORKSPACE}/resource/actual`, `${WORKSPACE}/resource/expected`, `${WORKSPACE}/diff`], + { cwd: process.cwd() }, ); - } + p.on('close', code => resolve(code)); + // p.stdout.on('data', data => console.log(data)); + p.stderr.on('data', data => { + console.error(data.toString()); + }); + }); + console.timeEnd('100images'); + t.pass(); +}); + +test.afterEach.always(async t => { + await new Promise(done => rimraf(`${WORKSPACE}${IMAGE_FILES}`, done)); + await new Promise(done => rimraf(`./reg.json`, done)); }); diff --git a/test/helpers/get-instance.js b/test/helpers/get-instance.js new file mode 100644 index 00000000..75ec1918 --- /dev/null +++ b/test/helpers/get-instance.js @@ -0,0 +1,6 @@ +import Vue from 'vue'; + +export function getInstance(Component, propsData) { + const Constructor = Vue.extend(Component) + return new Constructor({ propsData: propsData }).$mount() +} diff --git a/test/library.test.mjs b/test/library.test.mjs deleted file mode 100644 index 78d7fe54..00000000 --- a/test/library.test.mjs +++ /dev/null @@ -1,469 +0,0 @@ -// Library-level tests for the `compare()` API exported from the Wasm -// reg-cli package. -// -// Classic reg-cli exposes an `EventEmitter` with `start` / `compare` / -// `complete` / `update` / `error` events. The Wasm wrapper must honour the -// same surface so downstream consumers (reg-suit et al.) don't regress. -// -// Run with: `node --test js/test/library.test.mjs` - -import { test } from 'node:test'; -import assert from 'node:assert/strict'; -import { mkdir, readFile, rm, cp, stat } from 'node:fs/promises'; -import { dirname, join } from 'node:path'; -import { fileURLToPath } from 'node:url'; - -const HERE = dirname(fileURLToPath(import.meta.url)); -const REPO = join(HERE, '..'); -const DIST = join(REPO, 'dist', 'index.mjs'); -const SAMPLE_REL = 'sample'; -// Per-test scratch dirs are created directly at the repo root as -// `.libtest-/…`. This matters because `computeWasiSandbox` collapses -// every positional dir + report/json parent into a single common ancestor -// preopen — and in tests where everything lives inside one scratch dir -// (update-mode, new/deleted scenarios) the common ancestor BECOMES that -// scratch dir itself. `wasm32-wasip1-threads` libstd only honours the first -// path segment of a preopen name (pre-existing prestat-enumeration bug), so -// a multi-segment ancestor like `js/test/__workspace__/tXXX` silently drops -// file lookups. Keeping the scratch dir one-segment-deep at the repo root -// avoids that trap. - -// The library must be loaded with CWD at the repo root so its internal -// `join(dir(), './entry.mjs')` resolves the built worker next to it, and so -// that the relative paths we pass as `actualDir` / `expectedDir` resolve -// identically on both sides of the JS/Wasm boundary. -const origCwd = process.cwd(); - -let lib; -let runId = 0; -const scratchDirs = new Set(); -const scratch = async () => { - const rel = `.libtest-${process.pid}-${++runId}-${Math.random().toString(36).slice(2, 8)}`; - const abs = join(REPO, rel); - await mkdir(abs, { recursive: true }); - scratchDirs.add(abs); - return { abs, rel }; -}; - -test.before(async () => { - await stat(DIST).catch(() => { - throw new Error(`Build artefacts missing at ${DIST}. Run 'pnpm --filter ./js build' first.`); - }); - process.chdir(REPO); - lib = await import(DIST); -}); - -test.after(async () => { - for (const d of scratchDirs) await rm(d, { recursive: true, force: true }); - process.chdir(origCwd); -}); - -const waitForComplete = (emitter) => - new Promise((resolve, reject) => { - let startEmitted = false; - const compareEvents = []; - emitter.on('start', () => (startEmitted = true)); - emitter.on('compare', (p) => compareEvents.push(p)); - emitter.on('error', reject); - emitter.on('complete', (data) => - resolve({ data, startEmitted, compareEvents }), - ); - }); - -// --------------------------------------------------------------------------- -// EventEmitter surface -// --------------------------------------------------------------------------- - -test('compare() emits compare events LIVE, before complete', async () => { - // Live per-file events ("pass"/"fail"/"new"/"delete") are wired via the - // `__REG_CLI_EVT__` stderr channel (see `js/progress.ts`). This catches - // regressions if the channel breaks or if we accidentally go back to - // the pre-phase-G batched post-complete emission. - const d = await scratch(); - const emitter = lib.compare({ - actualDir: `${SAMPLE_REL}/actual`, - expectedDir: `${SAMPLE_REL}/expected`, - diffDir: `${d.rel}/diff`, - json: `${d.rel}/reg.json`, - }); - const received = []; - let completeSeen = false; - emitter.on('compare', (e) => { - received.push({ ...e, afterComplete: completeSeen }); - }); - emitter.on('complete', () => { - completeSeen = true; - }); - await waitForComplete(emitter); - - // Every compare event should have fired BEFORE complete. - assert.ok( - received.every((e) => e.afterComplete === false), - `expected all compare events before complete; got ${JSON.stringify(received)}`, - ); - // And we should have one event per classified image in the fixture. - const kinds = received.map((e) => e.type).sort(); - assert.deepEqual(kinds, ['fail', 'pass']); -}); - -test('compare() fires start → compare(x N) → complete in order', async () => { - const d = await scratch(); - const emitter = lib.compare({ - actualDir: `${SAMPLE_REL}/actual`, - expectedDir: `${SAMPLE_REL}/expected`, - diffDir: `${d.rel}/diff`, - json: `${d.rel}/reg.json`, - }); - const { data, startEmitted, compareEvents } = await waitForComplete(emitter); - - assert.equal(startEmitted, true, "expected 'start' event before 'complete'"); - - // We expect one 'compare' event per classified file (pass / fail / new / - // delete). With the sample fixture: one pass, one fail. - const kinds = compareEvents.map((e) => e.type).sort(); - assert.deepEqual(kinds, ['fail', 'pass']); - assert.ok(compareEvents.every((e) => typeof e.path === 'string')); - - // Complete payload uses the classic CompareOutput shape. - for (const k of [ - 'failedItems', - 'passedItems', - 'newItems', - 'deletedItems', - 'actualItems', - 'expectedItems', - 'diffItems', - 'actualDir', - 'expectedDir', - 'diffDir', - ]) { - assert.ok(k in data, `CompareOutput.${k} missing`); - } - assert.deepEqual(data.failedItems, ['sample0.png']); - assert.deepEqual(data.passedItems, ['sample1.png']); -}); - -// --------------------------------------------------------------------------- -// junit + json written by Rust via `compare()` -// --------------------------------------------------------------------------- - -test('compare({ junitReport }) writes junit XML matching classic', async () => { - const d = await scratch(); - const junitRel = `${d.rel}/junit.xml`; - const emitter = lib.compare({ - actualDir: `${SAMPLE_REL}/actual`, - expectedDir: `${SAMPLE_REL}/expected`, - diffDir: `${d.rel}/diff`, - json: `${d.rel}/reg.json`, - junitReport: junitRel, - }); - await waitForComplete(emitter); - const xml = await readFile(join(REPO, junitRel), 'utf8'); - // Exact byte compat — same bytes classic reg-cli would produce. - assert.equal( - xml, - ` - - - - - - - -`, - ); -}); - -test('compare() writes reg.json with classic-shaped keys', async () => { - const d = await scratch(); - const jsonRel = `${d.rel}/reg.json`; - const emitter = lib.compare({ - actualDir: `${SAMPLE_REL}/actual`, - expectedDir: `${SAMPLE_REL}/expected`, - diffDir: `${d.rel}/diff`, - json: jsonRel, - }); - await waitForComplete(emitter); - const report = JSON.parse(await readFile(join(REPO, jsonRel), 'utf8')); - for (const k of [ - 'actualItems', - 'expectedItems', - 'diffItems', - 'failedItems', - 'newItems', - 'deletedItems', - 'passedItems', - 'actualDir', - 'expectedDir', - 'diffDir', - ]) { - assert.ok(k in report, `reg.json missing key ${k}`); - } -}); - -// --------------------------------------------------------------------------- -// update: true copies actual → expected (JS-side fs) -// --------------------------------------------------------------------------- - -test('compare({ update: true }) copies actualDir → expectedDir and fires "update"', async () => { - const d = await scratch(); - const actualRel = `${d.rel}/actual`; - const expectedRel = `${d.rel}/expected`; - await mkdir(join(REPO, actualRel), { recursive: true }); - await mkdir(join(REPO, expectedRel), { recursive: true }); - // Seed one differing pair: copy both sample0 variants so actual ≠ expected. - await cp( - join(REPO, SAMPLE_REL, 'actual/sample0.png'), - join(REPO, actualRel, 'sample0.png'), - ); - await cp( - join(REPO, SAMPLE_REL, 'expected/sample0.png'), - join(REPO, expectedRel, 'sample0.png'), - ); - - const emitter = lib.compare({ - actualDir: actualRel, - expectedDir: expectedRel, - diffDir: `${d.rel}/diff`, - json: `${d.rel}/reg.json`, - update: true, - }); - - const updateEmitted = new Promise((resolve) => - emitter.once('update', () => resolve(true)), - ); - await waitForComplete(emitter); - assert.equal(await updateEmitted, true); - - // expected/sample0.png should now be byte-identical to actual/sample0.png. - const a = await readFile(join(REPO, actualRel, 'sample0.png')); - const e = await readFile(join(REPO, expectedRel, 'sample0.png')); - assert.equal(Buffer.compare(a, e), 0); -}); - -test('compare({ update: true }) prunes deleted baselines (classic -U semantics)', async () => { - const d = await scratch(); - const actualRel = `${d.rel}/actual`; - const expectedRel = `${d.rel}/expected`; - await mkdir(join(REPO, actualRel), { recursive: true }); - await mkdir(join(REPO, expectedRel), { recursive: true }); - // One file in both that match (passed). Plus a stale-only-in-expected - // baseline that -U should remove. - await cp( - join(REPO, SAMPLE_REL, 'actual/sample1.png'), - join(REPO, actualRel, 'sample1.png'), - ); - await cp( - join(REPO, SAMPLE_REL, 'actual/sample1.png'), - join(REPO, expectedRel, 'sample1.png'), - ); - await cp( - join(REPO, SAMPLE_REL, 'actual/sample0.png'), - join(REPO, expectedRel, 'stale.png'), - ); - - const emitter = lib.compare({ - actualDir: actualRel, - expectedDir: expectedRel, - diffDir: `${d.rel}/diff`, - json: `${d.rel}/reg.json`, - update: true, - }); - await waitForComplete(emitter); - - // stale.png pruned. - await assert.rejects(() => - stat(join(REPO, expectedRel, 'stale.png')), - ); - // sample1.png still present. - await stat(join(REPO, expectedRel, 'sample1.png')); -}); - -// --------------------------------------------------------------------------- -// additionalDetection: 'client' flips ximgdiffConfig in HTML -// --------------------------------------------------------------------------- - -test("compare({ additionalDetection: 'client' }) enables ximgdiffConfig", async () => { - const d = await scratch(); - const reportRel = `${d.rel}/report.html`; - const emitter = lib.compare({ - actualDir: `${SAMPLE_REL}/actual`, - expectedDir: `${SAMPLE_REL}/expected`, - diffDir: `${d.rel}/diff`, - json: `${d.rel}/reg.json`, - report: reportRel, - additionalDetection: 'client', - }); - await waitForComplete(emitter); - const html = await readFile(join(REPO, reportRel), 'utf8'); - assert.match(html, /ximgdiffConfig[^}]*enabled["\\]+:true/); -}); - -// --------------------------------------------------------------------------- -// Legacy `enableClientAdditionalDetection: true` alias is translated -// --------------------------------------------------------------------------- - -test('enableClientAdditionalDetection: true is translated to additionalDetection=client', async () => { - const d = await scratch(); - const reportRel = `${d.rel}/report.html`; - const emitter = lib.compare({ - actualDir: `${SAMPLE_REL}/actual`, - expectedDir: `${SAMPLE_REL}/expected`, - diffDir: `${d.rel}/diff`, - json: `${d.rel}/reg.json`, - report: reportRel, - enableClientAdditionalDetection: true, - }); - await waitForComplete(emitter); - const html = await readFile(join(REPO, reportRel), 'utf8'); - assert.match(html, /ximgdiffConfig[^}]*enabled["\\]+:true/); -}); - -// --------------------------------------------------------------------------- -// Phase-I: reg-suit drop-in compatibility -// --------------------------------------------------------------------------- -// -// reg-suit's `packages/reg-suit-core/src/processor.ts` invokes `compare(…)` -// with a specific option bag every time. Historically we didn't strip -// `ignoreChange` or `enableCliAdditionalDetection` from the library surface -// before forwarding args to the Wasm binary, so Rust clap would abort with -// "unexpected argument" the moment reg-suit tried to invoke us. This test -// mirrors reg-suit's exact call shape so that regression is caught at the -// library level. -// -// If this test fails, check whether someone removed a key from -// `CLI_ONLY_KEYS` in `js/index.ts` — those are the keys reg-suit passes -// unconditionally but our Rust CLI doesn't understand. -test('reg-suit compat: compare() accepts reg-suit-shaped options without aborting', async () => { - const d = await scratch(); - const emitter = lib.compare({ - actualDir: `${SAMPLE_REL}/actual`, - expectedDir: `${SAMPLE_REL}/expected`, - diffDir: `${d.rel}/diff`, - json: `${d.rel}/reg.json`, - report: `${d.rel}/report.html`, - // Verbatim from `reg-suit-core/processor.ts:105-116`: - update: false, - ignoreChange: true, - urlPrefix: '', - threshold: undefined, - thresholdPixel: undefined, - thresholdRate: undefined, - matchingThreshold: 0, - enableAntialias: undefined, - enableCliAdditionalDetection: true, // ximgdiff.invocationType === 'cli' - enableClientAdditionalDetection: true, // ximgdiff.invocationType !== 'none' - concurrency: 4, - }); - // The original bug: this would never fire — `error` would fire first with - // a clap "unexpected argument" abort. Now we strip those keys in - // `CLI_ONLY_KEYS` and `compare()` completes cleanly. - const { data } = await waitForComplete(emitter); - assert.deepEqual(data.failedItems, ['sample0.png']); - assert.deepEqual(data.passedItems, ['sample1.png']); -}); - -// --------------------------------------------------------------------------- -// reg-suit drop-in: full processor.ts surface -// (https://github.com/reg-viz/reg-suit/blob/5c09c8e/packages/reg-suit-core/src/processor.ts#L18) -// -// Pin every key reg-suit's `processor.ts` actually passes, every event it -// subscribes to, and every CompareOutput field it accesses. If wasm -// reg-cli ever stops being a drop-in, this test fires first. -// --------------------------------------------------------------------------- - -test('reg-suit drop-in: every event + CompareOutput field consumed by processor.ts is honoured', async () => { - const d = await scratch(); - const emitter = lib.compare({ - actualDir: `${SAMPLE_REL}/actual`, - expectedDir: `${SAMPLE_REL}/expected`, - diffDir: `${d.rel}/diff`, - json: `${d.rel}/reg.json`, - report: `${d.rel}/report.html`, - update: false, - ignoreChange: true, - urlPrefix: '', - threshold: 0, - thresholdPixel: 0, - thresholdRate: 0, - matchingThreshold: 0, - enableAntialias: false, - enableCliAdditionalDetection: true, - enableClientAdditionalDetection: false, - concurrency: 4, - }); - - let errorFired = false; - emitter.on('error', () => (errorFired = true)); - - const { data, startEmitted, compareEvents } = await waitForComplete(emitter); - - // Events processor.ts listens for: 'start', 'compare', 'complete', 'error'. - assert.equal(startEmitted, true, "'start' event must fire (processor logs spinner from it)"); - assert.equal(errorFired, false, "'error' must NOT fire when inputs are clean"); - assert.ok(compareEvents.length > 0, "'compare' events must fire per file"); - for (const ev of compareEvents) { - assert.equal(typeof ev.type, 'string', "compare event missing string `type`"); - assert.equal(typeof ev.path, 'string', "compare event missing string `path`"); - } - - // CompareOutput keys processor.ts reads (see processor.ts lines ~132-137). - for (const k of ['failedItems', 'newItems', 'deletedItems', 'passedItems']) { - assert.ok(Array.isArray(data[k]), `data.${k} must be an array, got ${typeof data[k]}`); - } -}); - -// --------------------------------------------------------------------------- -// Per-image failure tolerance at the library level (mirror of -// crates/reg_core/src/lib.rs::per_image_failure_tests::corrupt_png_…). -// -// reg-suit calls compare() and expects `complete` to fire with a normal -// CompareOutput even when individual files are unreadable — it surfaces -// those via `failedItems`. If we regress to firing `error` on the first -// bad PNG, the whole pipeline aborts. -// --------------------------------------------------------------------------- - -test('compare() does NOT fire `error` when a single image fails to decode', async () => { - const d = await scratch(); - const actualRel = `${d.rel}/actual`; - const expectedRel = `${d.rel}/expected`; - await mkdir(join(REPO, actualRel), { recursive: true }); - await mkdir(join(REPO, expectedRel), { recursive: true }); - - const { writeFile } = await import('node:fs/promises'); - // One valid pair so the run produces normal events too. - await cp( - join(REPO, SAMPLE_REL, 'actual/sample0.png'), - join(REPO, actualRel, 'good.png'), - ); - await cp( - join(REPO, SAMPLE_REL, 'actual/sample0.png'), - join(REPO, expectedRel, 'good.png'), - ); - // …and a corrupt pair the decoder will reject (different bytes so the - // diff lib doesn't byte-eq fast-path). - await writeFile(join(REPO, actualRel, 'bad.png'), 'not a png AAA'); - await writeFile(join(REPO, expectedRel, 'bad.png'), 'not a png BBB'); - - const emitter = lib.compare({ - actualDir: actualRel, - expectedDir: expectedRel, - diffDir: `${d.rel}/diff`, - json: `${d.rel}/reg.json`, - }); - - const { data, compareEvents } = await waitForComplete(emitter); - assert.ok( - data.failedItems.includes('bad.png'), - `bad.png must be in failedItems, got ${JSON.stringify(data.failedItems)}`, - ); - assert.ok( - data.passedItems.includes('good.png'), - `good.png must still pass; got ${JSON.stringify(data.passedItems)}`, - ); - // We also got a 'fail' compare-event for bad.png so live spinners update. - assert.ok( - compareEvents.some((e) => e.path === 'bad.png' && e.type === 'fail'), - `expected a fail compare-event for bad.png; got ${JSON.stringify(compareEvents)}`, - ); -}); diff --git a/test/screenshot.js b/test/screenshot.js new file mode 100644 index 00000000..2830d15d --- /dev/null +++ b/test/screenshot.js @@ -0,0 +1,40 @@ +const path = require('path'); +const finalhandler = require('finalhandler'); +const http = require('http'); +const serveStatic = require('serve-static'); + +const root = path.resolve(__dirname, '..'); +const serve = serveStatic(`${root}/sample`, { index: ['index.html'] }); + +const server = http.createServer((req, res) => { + serve(req, res, finalhandler(req, res)); +}); + +server.listen(3000); + +const mkdirp = require('make-dir'); + +const puppeteer = require('puppeteer'); + +mkdirp.sync(`${root}/screenshot/actual`); + +(async () => { + const browser = await puppeteer.launch({ + headless: true, + args: ['--no-sandbox', '--disable-setuid-sandbox'], + }); + const page = await browser.newPage(); + await page.setViewport({ + width: 1200, + height: 800, + }); + + await page.goto('http://localhost:3000', { waitUntil: 'domcontentloaded' }); + + await page.screenshot({ + path: `${root}/screenshot/actual/index.png`, + }); + + await page.close(); + process.exit(0); +})(); diff --git a/tsconfig.json b/tsconfig.json deleted file mode 100644 index e08af88f..00000000 --- a/tsconfig.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "compilerOptions": { - "target": "ESNext", - "module": "Preserve", - "moduleResolution": "Bundler", - "resolveJsonModule": true, - "esModuleInterop": false, - "allowSyntheticDefaultImports": true, - "skipLibCheck": true, - "allowJs": true, - "checkJs": true, - "strict": true, - "verbatimModuleSyntax": true, - "isolatedModules": true, - "forceConsistentCasingInFileNames": true, - "allowImportingTsExtensions": true, - "noImplicitOverride": true, - "noEmit": true - }, - "include": ["./src/**/*.ts"] - } \ No newline at end of file

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%0AM@F6@F>Qm7Xc z<0pUQ>eQ|x--SNHIXrma2*L`iGKO>kPy5$y%IKFWoh%P2iWn%cMP8jP=>_^w;$zsr zKrAfaFw8yRFv&S-Sz@4m4gXZGg5$mXhHH0|Ty%ZCxqB1n)W2%autxq+8v$SZt;X!5 zGf1-Mp^w8kPOevt(N}hxe7b_6if!8|^;i|Yv#vdZOZ1s4s2VILY=GDJ#p6>vW|)}v zd{dJb#m}!}j1WyjJ6ws7Nl^M@TmO=Thv*8pvQ%B|CA3XzO5b2UrOTLzwujioQ0}pK z4c-nax6vC7F=2DBr7_qlGC`+gAjyfDEJ}g4Ip{bSVp-e(v2H_UM7*J%vtr#YK3q_7 zm~pyTm@!-toIO zP})KF@R#hzyt^I!-&)2u;o&c+wyJH}E!a6Nz&QNUMen@w>W*p? zW+IqNU+ep=dJV<|80TTHW$Y7hZ40had<=j&T)C>c0PY;FeZiINjRm;seye~?U7Zeq%Oej+p6j2PJOfINyr!Er8*{>?WgCjyggEGiWUDYC}w47;n z1Y&|v6iPKeFx6oum8aW1E_G8!*@4VjR~|z{rUhlTo(gZ^h9Z)`h=qs$OzM&rTAXHsQUk%-FVQ;j-Sc{- zxEA!%bi>H#vw+|YaA$yd6=tghxY#uaEFDbY{s9>}CSvinCCr=iQY-| z2jl_04XvGSz`h(eKfnb##_Zf87=-EbwLaLu_KZDKIC#Y{y1=ZlChpZ!wz@gah@3$f?e2&5{aK=%CXM=K09(~6aB5q-!zH!s+m*6! zD~hBtOI9*;1N_Lv=)GpZco2Hqtg0MvmJ$k!i*agR6*C~sA}|NkNRd;nB2g#^ z60@7S?t`MFP)V_vn0*1Ua?VKtuo35+lPDw~nIKo-oHI5EW{X5rk_dyIPEARzm;${_ zhrlpgC)_>e(+e{%!zYGyE{lQ^IrB+7pN=x=6%9pQfd!XkYd1~Tn8HBUIXP_mVM~nG zy<|KvvRMptCC%%2XC3j!CnIGZ+T+NkLtEs;ZtQaL8z1!(D-UUgCvQYHjP zuT)TQBR_$&IIjKcIj#s2Cj%6*MzRku&?60YdCmQQFWbpCF2V9vKj!`outaWmj7MA* zDuOAdrabdyt2U_A|J!Jej~j5k;Mg=3cPlI;`tjbZ?)zXjLVVPhD-{Rn&Y*QE@0jdz z(LoUTa?1UYE8_h%2uYEAdfm^I*@u}{1POE{;m;IUj!?}R{;Hw*BR@&xb#Dw<$mr-Ljp#RbR;uFFc0s%Qi*8Pdxms46*^>6x;s z1+YZ-HDCwH4*pZbZ|>x3fzG}p*un67ch6Xz`K%<=8Le0*3$p^haDGiQyg)sXHwYtU zt9i{c+2@Z1avmaS9f%qfzis)d8JN!h5 zyG($EfNwQ)BW_K^2ulU~PW!>#3CG+V+?|^xpdwZvb9b^|IfKInds6NNR>y7|+UW)L zmBvXV^ z7!)wX^J!tD_jk%H*RO)Vlg^P{a_136z{i-Ua|8VhHgqtqEee_0y666^hy*pRNbx0M zflb!*yr+|p_#nO!`~nMeo$z$dlm~kY6y68!&?~MjNqAtk6L|7*rJd{03zA|uYf&{M z|AtCL$|}^$;8Lkv0<439+TIeOfzFG$tJ6}0-=h3MDDtfg9BkzaDz=6QAvHnfUvW=! za`ueZ8rK7NbWnposXt!DkZJ+SYyh`Vgt(SU?sZ~^%yVyzPSW%S(e#FNBen2l-u|K` zq~I;jBr{@w7jK0oHhQ*HWy6DCNl---MI}Jj932w3qiw#pypwfTz5NbBfGAZs@NoD_0-91%eHC)Ul$DbhY-F>Fm+F;=#@H#Gm zr+J0`pn6xl?k*0YW;qg~56*#Htv0L`R;YT_<2itCP3;Tu%gn;^a`GN)((U8IB)<^?b(} zJ4URQJ7#n1^d0Lu!BWRFbi4kkFJH87_{R4WU;Xq8iD1z^he5E*RvrYx=JbOQa7%+| zYY<28{m(zUIUmOQFMi}(ANzW&fe^QvLE}NkLU1+r>6ZacSRRN}k<%^%g1tPDx(2d- z@P{Ayvp=634dv(`KKa~}Uw`)j4W>F8%$dd!kB>vdSsX_RSG4(z6iJZC9E39b10O1@ zErmo9%Ijr*BDp|-kVPA3h*&oa!|pSDEFhHiwZm{>kLTYA45c-f?NT)HlXx&v=iz?r0$5t2j59_+<8^))lC-Al5UXo!60~CbCEYCqh-hup-d;eLvpZ^v;>iI=E%B@)gy@~$4D{mV4~ywe1EhXl45 zL=f|mIt|UAC+vM@lbch?@C8(kI2sTJ$!jgqIe5W}qM_@&=4C$N9-P!{P z3SuJayUGapegz7NA~5X7HkDjV30uetoUlSu2)X3T7d9y*^d_y{M2(0=wypyVugv!A zBTd$4nc5M>LwP)G@I>hS6t7A*)LPc11~TlhNoA`<;8QeYCUmZiaNtO85tdO~-8e(^ zckL#0he-2mGZZv8MAM+gbJ|sQ5S-&{mcdQ7hcZ`~%1v{Pxc+}(w-mSmFzZFGVoI_dVb4EGge_ldg2)r(TgqudI`x!a!tT$rIs!lOV8t$B}8^P#L@IHYD>jOwC|XepD7ndaptBD<%RYRkkz zB@(iHX_KECS8J<;oXT?PZbVK)(@z*KN@TAodP?fI|Nl$JogcRxT- zM-De=i^bC9!!w#?dyYH3A<8a*2LI@72GDzad&00M_!0$|*QRMFZ z-2#?c$paH5kCsY+mwTdAqIRC1C^>SqS}gHsvsVDd zl_5ZZ31nBzm)KCElAy?-J+W?Q0#t7P+rGj{A@)n@zk2|ES^^D0ZphUG`jCAF&hf2Y zB07;A?+SZkshJ?5eU8XdH9&tBV5rQLteAP_{j$(tXn4F?u}Q^Sp8OplVA#nQQ+&Zn z0@@0Z4;tcx62Re}D80ob+|$L9hiYW+*Lt7sKhe3EpTQSegX<>+j)aHe37rpun)KR$aibg<|U&czVYm~0SA+zZXAQ!Os>@z$dFTRtzq;Nm^1 ze~rcgAYOR9z-S=;mV3ZfEHEss{G-K{H)izoZx`OOl9QzpF{2ksC1OSgi+$N!_m)cZ z)&s>7P1rqADiQmAx>TZBoSY~*Se^yY)9XM@ugn0OiH(?20^!mJreiKK7Vo zBu+x|R9Koew5tN;2wG3ryo*%vfRzMV5_LUVEcuNV%3`J_D}zL`)%0XPfa1TIzRc?C z0!Q6XS#Nk{bj3aJy_2Zch)wK&)Yd}w+JT+CqPz0fAg0BQmuY#N^AIokDZG;lRgbuT>iNyY*-6yLxZ!KU5QccZa*zv+tCur*p7 z(q>}(jlBpDD82}5qgC+s@@OL;%M!h&zgwuRo=_Cd^eK8aE0X7yN8Y!hMYH%|o!w@c z-3fJd3C?3k&>AAY8pRt;L)Nz@-(Jg@)qFN=cpm;C_xm3esHubRxeRK#tE%q3kNoAt z^jU;j3BG?~@a59e>G0KYf^&nfe6Rt&7NK~y@I{3DR{~$C=M~^<`@g4wuM86*`ALJU znOu{UfVpdxzG;Xa$@VqrtAN) z2nNwDOTX%-5{PjmnY!4i*tVnP1kW=>PBTRIXzv^C@t#O0L+AeEvTePoKOMr-RF4N= zSsHadUKyPjSmy@N65kSF7P0O7umvWcVw1#Xrw!P%25^;~3=T)!emn`>;{gaSR@T`| zb&7;DdypJE2M4VfC;(OEmH-B=*?PR@B?@cyS}@ker_A4&2S>iS?ho8Y z?veaER9F-sohM?;C>unP7eg`e^`s`!xw_chsjpXWnyJK9ogkCP#cWBwH2r~u%*s!S z2NJ9vn`9zN-NWZ!lPF;2?2H3rRSV!!G>DR&^yG8HFhU$hQmz45sY#yL35SsO6`uHE zS;?KwU7c4Dv+9dhNAs%W^QubRMp^*lE28*Ee;*ad8K=eJJ|Q406Os{no-P?{HgTJ& zu@mDr{ZEJ-Mfk?^rV_pkV5C}s@FlL0lh~nr=_0|>Lfb~|Cii^fnDtW_KwzVR2TWmp z728q-&lK>4fgXSoxle!PBtS9tnJO1G$L)%u9Lq!s!Z1wAQMI*3Yh@!X>bm>1KZyXIL44pBV2%LfNh2@uUh*OY!Ogr zfUWSU2wNDM0BggPrTq$k4RZU8fHgLnQ}HK^iqYby1NIys>e*Ks8y$;*iakdBy`uR3 zXN55A(ttc=*isN)0phS~Ah(jMywjLPS#79vUIXUoolhC)KX1R%F^Thq4e@+1iP$-) zdie#QY(txL&}xDk>4fm%KMgh_W1e@c40M@G+Q7L&ag*zUI79i=`^~RVcaOgx&w?C+ zpZ>pCq#S~m210B^b1#R(yVmt7xD=Jf~J*N|A=Hnp_L}hQ@ zrGIa{Zb0}9Ushz{<7dZ%$;X8QxnuE1YsXW25QHJ(Cdk6keDs9s5nzN@vnelZtluZs zT7yfjv71yKia8+Th5?aF>a2N2m2$tF+$8fo((AYv3Gia1Te(_xQ#!Mk zA4K2DZ+fk(?{z!f`T?4InY|XPR@=RaXX^wXpNdmnm~+SD-Fw`YoB6xNeU0-?GZ;t1 zIc^E)Z~+~#m{AZLh4T9;I-3A_4Y0D0RHy8^w8IM7{slphgea1l)ZZ?rFkO~{fIpgK z)0ov*B3do&Xi|M0`_%<*xcaMl$0ZA#=XNkX@CuUaoBdp z-!IpZ?T*a2TjfwzmIlI!+d3K5=m;b1@5Ltzjtv_6H=!<`Agc>r%($CFDSj9$MKhhJgwt0}%BWh-k$+dvq(M9g6V4 zq&pnV08iU0Z4KT3%XY~e&;AeY+TfNzhFRI^ADHJ1AO`>f1oF0c;I~z?&1+1OtC!We zddudapM(x9XB~GlbXQ=62t}T5At^Z;Wth(z4)u3)#fM6%H6&2snmzrmN{*XGKci&} z>N3uoROeC@pFq$jBavT>CcAcLFCWIMOT?vnXqf+Q9t9e;5theY927_8^Zp(FP*RV_ zAS&(5ODTFE(1U($WkT!n3%TSE@*DVr8&Ndcfj^KKyyxC8xYj~2&c+p!JDW{j$k z@nR`^*V1d+N*kd-4bZb4jeWB=KrB*7?bw$NrkC8W$`iD{ZksOh8?|Snw%RZ~ zA#0gbrWu?gi;M zZ=gPPTp5N#WR|)qRDpiWRhp`j(XMZWz1+odoFa`?NW2|HnT+C;z zj%dCFQb9!8g+Sx^Jr4Z!nuT*IqXRk$hySJSuJa4FkLtpKUVw^ETHN_!J`jr+@&TOQ z%t3`qk~atNg86FP@LdYqqCYNg{<*CLAD}}@-vdR$f67D*48HJwLMURI;g(KNPr4o} zU9dS>d}|r+_5oA96kEo!splQhioZ<^S2g57N@1%C7)@tf(w;NqB9b9ogUCrj9ChB7 z5O**ZHaz3|*C7E;yK}dgm4zZ#{JYCUwj!xXvZBOq$ikTY5MqT*lU@c^0E~oF zN-$m1aIb|1Xc*$dV%BGigZBoqruTMX9d5%&#HS%|JiQS#l);Jfn(pC06_f&J)*&!o z66Q~ySNC|Sj&+-rg<3$y2ViD-auQNV;D6dJG`s)8+6+-kiDh}rwq%a5p_>^XMGzU7 z6t)n#`1LUwIyM8}BX=}$vo7jCD}6@~T{`+rC9xFTTmR=~+b$utWk+;B-+k#XaWEV^ z-}Xa%$uC+-rBL#IE2$Pr?z56wq2xbWNxe|=AFQNNDES2|A%TylI>vFYm9z>aKW`)dT6i-nTIRN1rQSYa4j!m`_wq4($QZ)jEVh-+y`1~WZa3x zXzm+*Ju>=wIRC18>n&j+nd>kaE!1Ldm-!@Q$W{2$q1-`(FHJPXMj>yzjjLq=1r1|X z)a3Y&%*B*Tx!G+27&AJV#!%AeqWCB=7958^s`36VQGYEzQ5|FG5w!5GHDv_tIe%^! z1IF4wG~%1U>eXoiZlqy%geV4`CE(!M<sjx&(=soS89xZYeS!L^C(~1Wg?6^=+P#v_A7<3UT$#^b2OdfLvEK=fhX&xb=l1rVtp526{z4e#hbO~GgeD4X2D z+%i+z(m)XcqA(S$hgq3g%XEgMkEZ2h3ng`Fh5%w)D6XiPvQRU&P+`2lwURFs`*>0{ zvE147_mi&JBKZU9udqnKLye(15z=Wu2~(X3i)0r~uqxxoaPz2Y5IW> z2L-keU&tyL&H-lkdqAF4*arCus+mU5h+(_7^!A;to_EVx2)wvlfhR2H7y|SRBq%u6 zP;bq>?}xGa*9~f1Agwp~!;PSbI98!$p;j5lTj)a-l%Xc~CPC=N{_(~giAB_rJF>Fo zTJBVo{o1^?`tN`4{>M%|_sKgOo}dp;6cuZ%BU)Auz5CvWP8|K@9kom2qxyaL$kF5L zx8HHFd1-tfzuiMLQK+MCADJwAY_cd*W8yJ2Cj4gmRhnFXSlO%3?w%ocSK=1+N)f;T zAI%-uFo3HLch8#ghZR;aj2kl`aHocGr>xtKTQKb=aSIL^lA%sO6t>H> zvgCkB1Ja-!)pyZWvbJ{*-)s8b;5$xxgYFRh*r$5{h^y5!%k$yaHd9nSoFIvf5 zq2yCm!c_*I(s}<2Rx(>C`LvbH6iS}5l3tQVS*Z9g*%W#hX5A=8vpOrBL!ED@m+GfIG3pMQ^fu zFtJ#fCtJ2rnkU+vbaCi;x-y!D+#ucTf*-G3dRn%VuN<_;NMql?Z*Ncy zS|-Pur)8xS7yXKsAspyNv`jj3`Zjh9va~pSTBKza1S*EHHfRrv)4liy7=BVdOaW<$ zwTN2~{kS)6?(v;;@pyS}EiKx)3N=0h>LOJzK;?kpm2n0`+B6Lc2BQOyy!uWBpCc*5 zFktOAdS+Ga;u8xzhFH!q56NRP#@)s4c{9pCf+s|R+suBYlpU*{&a$4ODK>7E@9{XN zHs_dgr?RuSBw%^Rq?y%4ujv>J+HOHnB6t|Yl8}66o44)R%s$Uc3(zs%!nAU}4AuzN z8EiB=3qC{22&+X< z3Jc@1J~SyyBS2Mc-R`vuMY{eXp!tL3ZR~l3;tgFO-epmnYIkkWWNHnU__Ho>Jo1+* z**`=fc8o5dwk_WVSqgmfWC~PaNCidV9@@mqRUAd#l``)z{-H-v4n}BlHbfk|)XT3j z*}!IO>HdzR1Y%gLq21x?ao zm>v1>%$1HVq+}-4kys#yCI$qnNS%4UT(rZ6*F6d~nTJW+zw;sB~ z%;1+r&>Q=)1{9p6oymlMK?XQx#u3|wBQLqs3MCXsSN17a{ra&;NHwA64PQX(o^mh=6@f_2-^1`%4s+k{@jp8{v> zNR+R-4#i5nvuqm@1Mo8&h@In=kkAmVu2Kn}hzYxtcSwW8%tA#sJp@aBlt9LDdiRHT0&eAHYdlO7aLE81w_y=1y)2uj55jiD9-{ zLLb>8Wx?Jgs8{kwEy+HxMus!ItGe8Z>Q`N8q*tiv4u8I=UMNQDnbOQu=lN2J>bzJi z2|O_Mb6^PmfUbS9U3$H8U#X+16GUOOK?wpHewcVFccQ^Hn=S^S%@RiJ=RH2%(HrGS z^PwOEadBV}9CTf=A17!h%!+&Q(C`^Py4^dNeDGUIdomwr4&B z!+~lfWV4k=gAh)cNO90iJ>^PG8y4^oW^t>K_T77EzaH(FrN@=qRJ*AW>AGRwQ$k(C zoF|Jokaw&;br6BK71yQBjBaL|AbI`=6Hl4nH$!<_Q$p4JaziETcmQUTL9&81z;s5L zYwGw)7>#96ZKGH#5z$bgnLeI?Ym24g(X4x@I5uOUNKmeKp%)|h>_oaz62K@-RneU+ zTT3(Mogb%hW=%(?v2wnX8U45&0rGs{v2stIKMBwbv}eL2lW(lN*G#6bJm{sB=azU@ zz9S(CdqbskX-c9B4q!+iSJbZQseJw4)?CGldx6YCY^&~y-5`Lf8ItKNo~asELs%#g zQ>7RGd29A*Mm?g3|1oSy9|qF~2#7p$qf0J=vkiX+*t8X4iuEKR*j?jvJ}-qXVB2cP zCY2+PZO?caCy}R7GBM2^Ae)9@4d^ zE86q3tE}w>qIO7yhHz~1%L`c%ntpZt{P!ZXHFa(N5KgKc4knI=PN+p0;HYawEZkCL zMHRo6Yle|@?YmS%w36XzM$S!5QN#m1;BLh^q(k|S^ZoPNhAj|CGrGHfO8DoGbJ`g-(KgDA{w|9F}e62 zY|As~r*b(^c-&G%aVYVUEI!NSHk!X0b*c-3*-81D9t1o0$#(A@x zwH5cGVMVZrVTErGJAVAOzMUN_e7!+&+upNjvgK1r!Mj0}ik5@vt z{!uF-kCbL13dV%?7ieNj;@IJAp?l8-yD8&eSH&d`i`nOX{Tq?W^Z_(f81Hj`{82*R zTlN89_GsyL;i=dssUxU~h_yEZQ_=l4Ua$YLwXJ47ayGmUpdKp$O2E9YSn_9a`Jf$^ zG1q-z5Q8(i^$RHoIj1D0xP=+Xu`Z_qfR@()2RjI?68YtEr0!xWdUh>&oVA8r_reRR zVD5v&z|z#tPTr1kub2x$to3wFiTKqRE94tfS|QsE#Yz|6$>k0f%4Nd1eMlN z6|Yiluppqn+D>;&b~;`(>NKU#I(;_i6YP1leSRjI>~x}R)awGhHtDrxy}F9uKO_$) zscZqFoD_t?SoYN}_>6bP?_ntT*J?A=B@Qys4#>vsGLcb!SH!+SbdHmkg(XKMFLFWA z2GljMSt?bgHd$)pxhw-~)+8v&)4@hQwb8O6U`4u7EZMUUdwp39pV_3{UBl&cW6B?% zx%0H>%kb`Hw$QA4!c7_*cMUih0ZuGS-{tVNJiKa!Dg-V2EhFD5eQs2wfGNqgb;A^R z9UA+T~1SI!TcOn zovh?~Ww=pR$+G(ZCpEaQW3W+Ju+h?zlkk+ZFMMZc29>Vsz~bquwQq2~xLw z4bR7K#rR>-HV0b#Jzc|uu0u*N;hi68`T}(tve>#lfd3& zBLWU{u5(Vk_<5-p-vpD|q+T}pNo^9m>4RBY4N1f`2=|z`EiLyCGX)K)q znO*BYC!MwPKs#;*KQ^Z;>t03iL!{;|%ms#v7d}%Nz0f?%vhR#S`h{0V^rANV*|)(y)V@ty(5fZ)orKi_ z1poM)Rwi4J4k*0c?wsQ5nZJgiyTFw?jx8%1vAJOY8AHo@>xz?N@WN5Mz>Nq4cmKDF zUJ#yL*JEcw1{lLJry5Im6=7{U12(QBYVbFtrOTA#92|F8<(4iZ4@~EkwU;rAC;uzZcZUDvAr{^siu)qLe zgPa?A1xt3N?hB6-dkhe-S8hHuR~}pFfZoO+*6&8ZEp2)+Rt-YKHIc*!+wNh5P0;6Q zEi1|NdH1-UJ1!itdLPjq3R3?iD}54$>e~WsRxIprPg_ZFZ>r>EsYG48P%LpTeMW7( z?~pYuNV!M9r;;!z)*&kiMh14h4i~V8A^o}T9#9L~M&e5LOWDzqwVu85kRP!v0JsDr z(4{IUah)?!LV|MaD!XT@GpLrNBf~fqMUaphv|~62zoP+$NouJeWkYZ&30Y+kioM7L zgagc6?+XA=eYgC+u>z}vS}}UR>fbj8!qHGQQ@2&-pPX%k9<3LS&uB2#m1u-iTn5W* zsO|v`oaKDlCJ>hMq?NLq58JrHatiQ|7f0%z)h}MZ=dU&X@cRAw<#_#Mu~>Z1y2_N0 zf6(%%cI3rD0wA(557V}GF_j`zG{MjrIG++7-d$*Ce?S2r_QIh?nVg0bJsle-M0?IpY1@=Y`gduJNP`uOaBT{^;p!+Bj1 zuswf3p<+iMJVTurP|kNjf+N+MA>VBnVNbB%)s4|KN}<_n%g<94f&spJmAB z4&nyoh_w)LN0D3 z6s@v#kGIl;QaZ8_ScP^_rPfOX63Y803GWl@t@pp4eKS;Nv4rZR>J?!uQJc+GT1PSi z=V50DNV0B;iAB_YnV~oKI01gP<~Qqx*}5atfw(uoNXiK8-FYGRTmiEau++d$+Y=b> z2@nj2XPbi8W?smBW+@L9{-BhLa@&*d8J63CGYZolxN7F;-JFWvcAA|qXqeNkTX;jz zgb5<4Ea$7n0lI?omS0R}~Vbx;eO3$cFUJqZndU=GKTa`KCyd$cG za_VdBl+(?Q2x$8HWMc)jRbE$lBa{<2uk)ppbC7mN)C}bW3v26xa`vCO_9B!Mt_g!v zIfrt0MD0*c0iJV})8US&6UxaPVmwM8l(Vbo$HRos1XZ8e?}&P#oP$Q}7^|Exu^rJ& zDCfc~z^HP&u4p!t&t4vp$5rLCs;~3;25wHypjWD#;LaVmsz9E!vxIE%ECzWqd z`NmMbQTa8kT%HdcRp63PhwV!!?$)*4;YdD?>^0)v${bZWVFHIuXEHW`OqOj7@>&Ys zQA??QOT$Nw7d);+<{!SpD;pzwrG( z`Oa4!|Bjw;>Yt*&`TQ5|{PM$J{mt*INE>x9Htgg6Q}2e8@l#;B-WOLLj%*i)N8)JI z*j`zN*VbN#IADizd*w3i3~jHZIJWudBiRa>WkK;7DZ5XYlci%Q_9zs4)gXn%H+PgcA4h>`faP{T*kiFH?TWm9?^+N*c>fGIV zo!it!Qw=ojQBRN3MreK1W&U1T4-ZFg<{cN`RHy38Mx>F!LT;mVbeKfS)wIJyF)~|cTjn)7e%uo-5OhKABr_PC3~2rQz``2w9jNGt0YfG z1BJ5Tl#v?+NRl>FD2agG%UTw7N*%5+oswrLdW5|-j;&s{9~gO^viTsk9C3)IQ`*sX z?VwH3DQjh&k^rrdPN{&mp`v-cPT4S>67H=5Ge%PzER?#eQ(mor>}fhB7$HO>S%O3- ziB&+aWPpY{Xn7GDbV|0rM#2sv`}|bjo7EA>QK^uT#pUs%-Jd zey`9mOEUOehEA!wP$hOHH4Bm#ow7C|IZHYvciKwK<~k+8$y49)I%RW0r$h&_7jmIH zU8lrcT1uODG8=Yw%Q|IE^0hnCDe-LGlFjL2>69jKHOIEQIB>k0+lC&>KN$zCVKebN z9sMR5F$p_Hzu}-H_!#|$rD#VZyq~tSZ)ShQnNCW)tE@B2?tspRr%pO4f&DruQ5B+c z9ZIf~HYRn_hDWXzm?qma(@AU6N!f5m|I`Dolh%SxiUZBg;ea>F=1`Mr2;9eY(&mIt zs8ASXuCI~kTR{Gut-PrQe7QN z?1BhH%4x8;*pY18h8JxM6AFZQCm@$$h+c~KFWcNOkE5g!WgJ*ZIgZ_(d@tywNB~cz z#MD^LoJ3kv^->bpv8B2T4%$X9tz>#B{jfOFF3k%o(QZlthj2tUb|EC9-Il;qQFk?> zkGI^_sO1}&JWlLF3mf#Sn<=Smk4oV%KU7tHC^40sRKtx~4Ypu>4cuOZ8vL55Q7QDI zvti@CD3$CG%F4?1<{y>1>9orZ>d`E?Sy`D8rznwV^jz;Erq(WP(mP=@_`2IhhQU+yebPe;BDx zaU7if7jy02R*Op*`EN}AM8J8bj^~ox@}{5N`~5GhbL!AsLxrq51EtWRL!}*+BbB%+ zC5)@MqpGi?0Tm?$TA}1#xlxa;rg!nZyLRlL6fFtwZM>*#IA~IUr2luSMze&7(k#}B z)bYI8$0nNn!MQbSzOISUo|tI%=|(_3cdVr9OFDmA8SVY_^PJr#7sv-~ z(wfK&K?=@92wXg%Rni0@(x3m#U(z(*0j0Sj#;H4O6vx#x4DtyUBDu?{r)vQea;$7k z{HyI6Yq91&{zn=oieRCMp0EMmBj~0aK)!0CgvL71L|PrdjLOV6pT+nu?`DpA$(3@L zgGKa?mj)k$RT+plyjZJ(cLNLy$8~*gBL+phT;N0c`4Q#={IzdB#Q@PBivz?}Uu;%h z=F*56%GhW%y5eY~siPH8v{u>R-bO5s1R%w+MrZQ*uQKo#2P8vDzO4)y;?AcU=CrN^ zN@sg7b6R`R4;Zoqb)Po8h;2E?P)s0Z9&iwXY9rjmV$50E2kyl?8^Ml?{p@~LG02Y6lURo?Tgx#c>QWuPR)Jkh%R2fmP4Gkj&d9+aO&*$%Hg^z&hPy2!rdEyUSS zQFK|#aN!S|3lz9)lon$*1_K7%7I|qC0{2sfPI6F{VeA{DlNE!9I#XAkt}V}qQCAU$ zYBGnKuPBnDsKf&Z#<8i%o|CR(Lz+y-ncgjK%hUch_mXERu%`qe_b~XYuQrlzT zm#9p56B{dZPn@1|pyGsCWb`NoOwXm2d+3W(R_+lMhLwAFbCjrFk#3c&wTin;`y)yJ zTjF~KoQCc$a|*H*1zrK=@Uat%S^Mc}yd#R-zu=pg6*aaem*sb%szpGj`%e-DYNizh z(Mvuf&bR89GRU*$%7a{S|3VY7XA<>Z%&R7%Pn-c$L{)UYn1L!7vH!7y*+?~{%QV0p z(RP4qO>Wl|RI<(AI7gMOe(N5l$?$mgBB$b$- zS6HP^0aUmV2+6mO6JzzZixlmMj(+i5>(TiD*Y5>!9{~yuj;S<}u`t>#au;VcV0@AV zOdpe2)0e>Em$-xk3?;fg206wpi;k_d3;6)t=!gOhpLXpGAWaHF2Qvr{iE6U z@{<@G3QvmPtAoTv=9K|tkr1ZKhoKJ)$1HoNQ)?o^Q{k4C&RzAm#nz`Vnl0zVgDPTi zm2Hq%chBGKD{Ebo$fHtySi`!*=_O>BMK9^xz){KB1?fgL^lQ#gTj3TCdGJcZ{jb+j zm!ppyQs9s=Z_%gPXGeuHUP*XmkL6@(xSOx1vW^3EN!Oyvm9fedRp$9TSCy=vig;1A zFj;LaYr9w-T{2Iy5mhmW5NUZ`dmZ`XiaUrzS0R$1;jOr3N@G&navo8it#~K z1mOyM*GP;?24;@z*kGITT|hkO5yx>5?bNPj%K>7YBgtwIixg^fLXBBp19)+6Lr>+K z0qPwCc}t!Pezi-#8urV4ai;;IVay1KEdyeu5&jp4FWD#IVgWdH4>O(f9060nsR@ED z6qRwvp)18Q-aMdzcm_iRU@uMsAfd|ot`v`jr6z+!Ma20-P?e~4F;wUS1St^3OSO7c z;RfN4HL!`ryia7jlcWuwVs<(bW+#sPo!wcHSvK@;$3v(kU?b-3nnh=0;dsR&MvB~A z%laqP=%kdu@^p}C*zn#OR2!;x@dh^^)bXe0>UoD(Uykk^ZPV@_KxaDn--T9t$xcHX zJSy_gkRh%k$NPapy!djqmAn78J4*`h|Ign02itXBb)M(Pz3<-l?tSmwr{A`oC#cfvD|Swrpq&xKU_2Z!&RM<+^NWM8C8$Qdcl(0p*7t~Fll#>o6^t* zn_z>100!LT0R}R}7*CBEOpT!p?SQ8-U=jx$;@I=~uC@2M=l*#5K@>WfnK*jqo_+Su zwbxpE?X}ikyN%|?3Mt$blA3y29SW0$OO~DNnC&GW_d+N z-s^Yu*wm*bKfILL%5dTE1=)u1%~8Zo!WU<(0N-SN_|pC~2nSGTUjmR(NX{|BI*_wI zparTpf)QlMKOtp_136xI{<4)d!TfOg;klI454%`=RuiX!(ZAqzCF8J*EK?%ZND8iG zoV;e6FasT736XI?1I}tZisOqk%n$3y`x&0}4Fl0!c?SO+_5!^nW_IsoWwCI{B2 zTqa#{;LOgO*9plf&2yqpI9fos*1XgOSV<%lNX*78W)zNh0z;6;XswP;7y`FSv7YGg zdB=w!gn-Dbc<8Y%0qp&`L}n(D+TGHEtWULL(qFXNApKbwDnvS~))rD$NoKfZ<@{#l z3Zkvh9o$1O=gS&y7edm3ZHL&?dq*_;^5~FsH;2z#Oy+!utU8|jT$PNo`a(>W0u^p} z4O4=MaJA3SRXh+MR{U)j52mZ&K`e`9f7`}`s7iP6U?KaUzunFQsq{7;2qCxn+Xr~e zU74T3Xu2=JO`Y%k#c-=3sGi|K4*xqUUtdO{0)xf9h`w`@S%yPJCmKhjbYxz`9tpkm zbfn&Dj8*}#$j!#(&`?>V-3T?Y9y?qonGS8~-u%OuVgJ&mHYpb^6{Z}wI&)Wo#noO1 zht<@?Xq6?Gc8JAnxEze`Jr{3D!+U33qRT6ZZv8LMKekqr57VNvZkgt~Ut00Y=Vn@5 zjC_xlygB|=>YSI@4n}%*Kgt5YQz(dIU?A(0zw_*>;s9X9;h$mxCi@?1_4MFzm=VRo;8#<4_so%ifuFPtCNQGISjd z5SLf0Ipfhg;`}(#dS_84YTcdj8&|X*u`Eopc4B6c9aJ_DN>=`I-ExgH6C67N!LV`4 zrwD5bNB&0E)cV_0hdGLHO3D^ocjIy2BFvf}{AXBL=UC6wbzH@6n%9*pw%EyTMqieU zHEbB=R7-(1Y`9*Up$%}mCFfKwo(wj+E9fROFt>_Lk8n56SKUXkWwmam)<%DefGO7> zt$$ltz_Rzq$)R~R|0OkDMl+G5L@kGVs=zcNzU!cR-Yku>z>1rFEg z3_Bt%{1#C`-g@qI$IS-jUPYx+@y``oq|~xECbQtc639|)kgR5J2__DzS+r`HXH3o7 z@8t5cV51|a3N~cE`+-wQ)`J^0c-RIlD_@G6pT(iGSUVc#%5gGViX>C6Jq@A{H)zG? z_~pmnKXWNWB!X%USJ9U^=MYFqaE||pa1Q!vmgx5_(lu~jfwo&K*}Jv<(SHb=T0hKR zU~**zm6hiz#iI|r)SictbhVp!PZ&Rd(vMwm!+aB;oVSZUoWJT6vt!i+#`; zZe}6u4Oy7Aap{t?!>v#6B~w?MkoKJ>Pgn^Z{EU0XxIffpvQxf>!#Q6lq79-15Gx>= zeptZwh~3&Av7>%>YzTDOek))O$CwqJmxo=V3qob(b;4m_0--|_sy4Gl)u2*K)XI0Y zL)O}y*0I$p*%=WVG+RvkV=@1^m&hpS} z5>8GG@WUj6!gufhp+CrDZclbQ6>*~ARvuJ_{)1{)SJ(J`6Q!OpdXp5)|6x~g$Q;}D z5KWn3*}4BpFL~EOBh8W-Kn&mA2EKO6udussm+CH9z$+48Yp{X7KnsgJ^=E$b$- z$-J0JSH*=3EQ)(lMNQ!=$0;{GM5cI4D8xHpD~gc6BlM~9?7*KN7*)aBrq={QucVh+kqc7wX9<23pF`-o!JbhR}&yC|2Ua zd6!VD%Q~!KIpLaOhiMurb|T?wKUop3!$Eb%0#3Ni5yFj>!C6SOf)z${I+IPKsnhQ; zpxi+phIkE=?37{_Eo1N zp()coNlMfaiOGg}e#FG0NsZHq$!c`2JR~PLz~9H@YGn|Q5ErOVtRa|u-}&#&*M+w6 z^v>T$uM}g+d$nbxR{`BLH=03TN5y%2U-VUU1s*T!Nh&Hd_9CIB1MQN4Cv@aD6X0ljF~K6gQD;?zxDNb)!wI(jS$QUlJE&@HJVtWhIY+x&jBo=-J}8ci3>&Dq#*qhH z#>h;FbDaR{VqL2|ZG~*_%~TJ?YW&prmy*OpFE;nS(0Seb%{s4}N9lsYiQ~ioh~cqL z4kDF0Iav1dLxauE16~~C0W;;R^%P$iw3JJ7qTLS~_xzy6?ww3F?t)z>oBSlb^R#5N z&{LAjIfxsrk?`x3t*((xjju0&<7{l(x$QRrf!jD(m6M9ZyQ8RpPJarZ6xG070mJcSC>n7S ze7-s@s@8NPQ`V%kjNM4sX(adtx+JQdaYP1_Y0oCwx(s!b)Z2}KMb~*qa;o@nkd60I zqonqWAe&Qby?@rz^Xi`*e!^0;O-oViEjoeF%h=m@f8Ba(vwa@DMP`vwXmX2SM}(zH zwJm}f?hTZB9=*D!b^hyhz-+ayQ{gt|f73!mDX-9L_fq!t6;YqN~c)ppnAV`wFU zm%r~insQah9%c+uPmon-Tui&|3HUU4T{ty_bQH;QZ#e4Qr5E75Dd=WBbvdLKBdIGP z^{SE7YeMS2sNDq{_G4`jx}w1`M;FHVC~7Kv1Qe~UWTUxy6!}o36}lY*_l1ysz1Lk_ zG$~~T)Cg#N@w@8-ro%v;4%Y^8vsvGT+m4Mh9^I|?nsrSxXKoDAzoDNpWeS;ZQcW|p zYHp3y+*YfGR<#ROUTu4|A^u^hbG7+)?}(~eb?XDBri!(SLB#*`^{8Eq9t;J%-=AXg zkF;;7iN0)W_{lK>-L8H$5s_3MJN%}aHSA_wMCdVz6=oFsyxvnFX-7W_emDBt zrBBn@L>>*(<~4wvbk{XqUdP#iTA;m$AQinnD3Xzq5ASaM7yMa( z3pp&LAUn-(cZE%)EF>n8uSnT+RfA>7NL}mochIe69am}`R>G!%0(a5^Md=X=ih2u2 z(Lwn{NR(nG26X#Su_Kt~G7G9FJ+DTC0`jXL1v6;C;;(c9q6mm;>MG$7W(jV5<*b_q zA8h8!`nrp%mof4-isdOr-kr))^mC*=LKagWi?&&GFDrJQ94yOXzPzr*e0gXwr-EYH zE#{1)gGE=z!e?E5uYKTl_VT8@r+2|(j&Ml>$BN~92g^4z24tVhip!>0%;gp)CdlDl zswNPlks6(CnVNNd;~>DTA%iA;H5C`$ld+A`>rp0%wf79uX?#ZdLc@!P*nc6k+3XpX z^u8pTr%mBUI*^xqi9(3#NnSLQJUo9efUQfCIT_=!muPhvSWzw=Bm zdl&#%GTOa|(%7^56WzFjNb`ofgwDM`ne~@(eLz(ozG+qBTeklI*sL56X8+S*XR)(b z{_nOwqG0XxY!y5llyBqBC8Cl4>gA})4}A2Qq|fcf{Q+6*%qoW<*_It7;*a%ET*szO zE1st6(>_(ePP*2hvO6}o+*|-`kM08zFus?d9VN=_{y=c7^?_w4qZPX&kjA}7mNE28 zrHVn3AJz{^D0wm9pyfbiBxl&O)8D~!7rT{$NH}UDr08ePhpj@yq}b+<8GjgdK4^|( z`F;jfI91u`psZ}afn1zZ;C+!HpA>ivjG)Ym8M9v~)CgT6GvjiG3F(yrv>4`JN0reT zz$`?2m_c@m%i)RCDdz2G%P=Xxw{+tbm|)8pc^^vqJG4~=fVw)fQEq2TCTJ;q6kF{d z(3IeB|8aX>o1Eq;-tYjaAf7mLi66d_g<}s`kQ@43zAS(7czZN?ui)ReLQ;DhY%Rj(2=AGa8R{) zr@o9$;2=!k;B0f})22;8fTmoXiUt#Dh)<9o7FcAGfoyei&={C|Q2uCk>V=tyur-Hg zG?!F%22P58g>f>QvPnfc1SxkooO*u~k<2JjK%(G~5_eFD#xujZ0j4H#VlCB#?1r@X zM`RtVIdnR38bf=~KcYQ-gH9aO<#xq7uR0_H7PYQZ&{jt4)KMw*Dl|6@YCuq#)Id<- z?1ALEKt5OG9)g#zzfQG5%(_y?eI zX*t~gmSPujD8YdS1sVU*cAiYc4SXg363HCaCDG>Q{d!W(d*C)qo;n7P_>?ptT*SZCD%J<9hawsk@ zzxua!ODb}@mMpPq9q6w7csA)Ed^KHKjp3ukuu$SM(IiwtYqPbn+># zNmJ#j*_bQ8BM{#QwQ3~rXcir_SF*>l!LIq_K+=B)(1!Ew0(U)9P~)(jfZWC4@UVIO zME@OpXUzR&W{3%2QL~@UgtjbCcQYd-UbTH-OOT9wm-PNvT;Wn}IxSLohR6HZb&^-9-3SjD+wd9YJ*^3Hp$ z`(S*rGaRMz*h?QYADNm+s+c?wLVqVJ*SqZ3Wz2=5%d;J0_QZNFbEQGC6NyRh%({t~ z+OJ6R)l6-yOT9#(TLLcW1)xc*b_evJzEJF1nPvxI9Xo zbLKb3AdN9*q8$gK#-6j1UIajD2cr!}f2U!H_PJGxrdF`@ZHsSMI=DlHO?k(+E3vno z;0vT}p6>J1zSeBatn_rYF{TrU_j`2IN{2}ZweE=Z?PQKMy?*kZOfc4@c*g-;k=|as zmyH#_iGdNb+ivBI=853qHeZ)cnXgR5GdgG7W;8Nq>W|Nv>DMfD|3vTMj6tJO*cgX9 zPL+Mgb`XQuwRZ1Q(pwM?mOZ9z1GM*;?c$jUpT3gb%3%@tRsGQR#@q@G!O#(y_9_Xz zTBqjl)pssMXqR!YZ((B@`?1J{wq^H2b_$W-$PKx03ZHOOvV;&BF}E%-Fzp*7MGm%k zGS$+;uzuoM6ER@w{MKTZ&0kN<(G6Y-?=-vOM8?q_EJ zO;Bb#=h!C{G{QsExFqN%_D9e{ePOat9*5f=j*1x^g(U3m((CWkVp+kmSuCwegTyXp9^ciY(=@f%HxHIlZhw0$ujfz50S>i&1cYI0prdSzA^ z8#RQN3sV=!P+e9t;U=8AB;nD@rkj+zl<-6?fzwr4`6Q8R&BMx}a(=)(3j|Gb2qw@vO~KZS$;Qb$m>=Ar~(K7#z5rlzX=1RIU_YeTGBxdTSdp0LNtElCmxiCQXFC2 zQgE{ZqB$i)eFdz)*$P-sI0n{Si)j;7e7`+_-(AiJ3WlcChSBOzLczIL0F?uVD+p}jmq$`qiN)^yBB#95r#UPTU8^4ah%YH&X>35Vh61l z)1c-AAMyC>_tZKNmYk2kb972p^f4nlsK-cQA>o4#mMAY;Mk6fjF9;xG=S$+&4HO9H zOZ@0dqP+|(S_d-N8|tktp$NIDnqUi$AL!mQmq@$PsE&(BHz{LkTbLIYd0GIo_&jDPb3Z6f3&G{8rDWG@U z>3=Q2B}$x}P|pvzH2!x3F1lm~E~1h!aRhUTdRYT5H+xI~7cM&;bGe)A9KhXtA;9H2 zmWzYAn+9`!j>Bn_xSLqsB5iI~42D~D29$vkj|9SNL8f*-2H@ZdY$?NI1hauup)HPW z_<#uluStVgQBqZ>I>3l{s-x>VXgtcpsSf!GyAyNVQcwlTRhlfE(6;LLayX9QR6b_A zid2pOa0#$d+omTn(kcq{a`K$FH!QBGEWF}N^n2wzE8ad)@l{^&idVc#mF@G2&H8%H zc~-n*qT+pC@iksC_DN)WuXu-k??2CqFPo_N-Cps2ulPDucC%M}nSS4Np7hqAptqZ; z5oUIiSA38MVQFvSVP4y`Znb;m2HXgFknoS2rmyTkD0E;OE$SO9S00-wJ zKy+N^&)vQSNNOdxSlrEUWfKbv6t_H#)6Pn~K4Pm6qlj$>l}1(&Vgw7#r!FKX0B*4zXh=Qai3c~ilMOX`F27U)e>M&%QN+*1G%d3QJkbFl9g9)s zd@Qq{iJ2Lmi6LU1`_pTC&N(8CI50ye}Q@ehaUi7fm$p{yG5p*#qS2BbnpcoP> zi923Xfv*wTS7-UTJTqAN&6(@N}t|X``=jL+)4`L~nbeUyPLuw+>h}2}ELxr$!xfs|$=?$F;S_H+M68 zc{sGGWIrB6ayV<3Yua?`BDd3a37RKAZD;XrRHAnFi(Uu!sha)7|lsov#bA~mSI)X7c80fydA1_pVX4dOQ2p6dN}d%xXwnIhtg`=44^ z_63b@uxgGhXkrUB;);SU+Y8{$G(^ug4eXTc9IXBK>&g2GGtzdAjZkq+aVz3n;iwVJKA1xlZv0FOl*MToWik=sAIp>aV2oLEDU#)V#|T?Ch4XC1?yQ zI#Z*jUZbELN31vXnjN)U!Rl%E0j*@Or?@9T88`x)*iH?>b&=bD2+s~4ui~KuX=xkM zV6q?pokk2J@kn#({fSIRq^hV)>(7+mQbgAdATv{Zi`m zchi8;vm0=feHx>}r@#E$!-JQ6ItXL2gO|+am6Veasaa_em<$Y-gbb23dJ_*Aa*yw| zfE8MhM8r3BuYjWEWCb!@1>Jsz6WA8PyHu7}ZH!Nxa2CUzQW_GB)JkyrJC@+5()jn- zU#q7VQsS9uB`!Tn6R(aGaP&)iUsl&j?nM+j2uof|qu=jGn0B4?%~;)L7V_^*((jZm z88{|()1-c}E`f1@DUw&eZkYd$?$seD@hireWLHd*J4nLP5KAYNDbU#jCOKnh7nr1y zok@~xOmd#KV3G^;rx}>!f|%qy3%hueN;s38H{KbU8!FtX5d?Acu zr)E&=1^s1eba0y0fU9LCzzoDyQ1!5cp{8**aTB)&j*Ro3iE#=L#2Q+EoVqobQB02W zA!7=EBqji4$2lbH%HMgMXl_P&Jvlqdu%cTu)?@6&dcA(?ti8r;s$Ro=JBugB!Yn6!isnf&s3jbY!}#&Gp|V|ekbW4L;~G2pFzVPilwcaC|Gqpoa`4F26k zRte76i8r0jShjc~`PlIeB%zILMz}4_u<81Fw0YdC&Up@1qAzGS1wiR5Stnh{7{M%o z*{?-B6mRG4O4GAhOTsqJg7DzxW<7eG0kMc667>l~GF6J~rA{jmtsQxxkF7m#XFHM+S?Sj27Kw)X4KB zOEEWeiCQX_YvIV~ESSt|{}Nk9n`Ss#gdNtz(-@d+(e$v3++y66Ku7=RxYk|CEw(I| zr~XFLz~}CTD#HTN6DLN^#sLUK676ufwM7;tdm|Sg5t2w^_+6X}s=jUK^&0CNS?9^s zzXV$pH@90D$V{TWWa9FfH)zx3;tXGGCSC%TT&!JoHreZW<%uDVOD>^QoF#4sI|RIZ z7v}I_D%qC_9xhg#3m)k37g@5`g~wB8fd@KxHh9A=b_DY!DBg8dG@}k+w)0AeH+TK^s! z?H`iD5D_dMmy08SPJQe;N(5Z+&T$$`HiW?fgOY{Ci&!^~_7d#}=Kd zdcqmGMDCRVAA6sImkLqMIK4I6m5nm}o9cbHOEvqsOB3a~A57@dc7VP$dYyy*xMObbg z!V)AW&*2(Gar}?|d;nlq9JscK0irq^JA|l|JR=a@r5ln2(Ul=Y_o1|+S0wHW5WQ}_ zibH)e4MT6SP19}}0?@d7kAd;$%CUX&z*VI|KS$YOZvK)k+|QLCNqK5yyXgDW=2+@E z`U}|4kz><2b8MU(Q8OyzbaoD0AGyRM$0qz>o0Ws&$-&O*f-;#jTCyb&W=ERg1FiE#SpASnxHZ ze3jZjZ8H}y_rC9=Ca1_Mq|{wT3Z6=DNU3i-HkEI#FZjX-6o?;xNCbGrDnx7(Nn9uA zNBechUQ^Hzzwjy&wki-@v)HCUaQ69@y~K%Yx|bx2OjHb$REUDq-LoQuVw}t7Oi#-d_c1o*G0v%^WUJl1&5b60Cy`n zJLs~W+sdn@*iWY?CA`tR_DpW&c4>*!!ILc2V%|p!ApyIo>F^0Rr?2_IVn{L<>m?QS zDR75R7s?_dA~3XD4ybCzW|r8KX|WV~#^(R*h;MH80D!>g~*ILFyYZRiY4d0jjV8QXzFgDT(lmk! zV=#@Y7)cxuiY{nG7ajM+G3-q&%JyqM2|9)aoJ0q;%>mlQ&?o$Iw2LE}tE<)VxSuT+ z1M1ICdfX3}mhtexLt7GJe5sA*^CO(ygnPa`J(3!6+x(Fk+N}nJX?jtnm~PuPhyI?Y zeiV?12(%nT{ix|R7bf(hrZ%0~ow!=h6{=1I3xt$6OQ{e{ExTGT7H}e%uMt6|A61vF zWmgBAe%X+S&R8r^o7t&Wr7-D0Bq&YA99ZRqu$A7NpGxE3>mxvQ%+FoMN8wamvZFN- zqYR;uZ37}n-*>7OcM@?Q1*|%3_^x|fYdAB+V{pWFyh8*YTigtr%M*XAUGg7Ea@B!E zkX)UW)xdE$*dQ$2Bc3)|YYHB$HOmqhWP-q#MkWY*(*?$c?F}6bP?$*G6ejYd2-((1 zou91jfGZ?lAf2@$%1cl@5wcmb_;Ekm*AVwzRbUO1keNRxeTgj|-Qi+lQJt$W+hDj# zXl)?7^i<*S%?qh^z4`{@$C@}?M;2-{56C_+FhkAF&f{52%Lfc(rtpaCM+LPH2x_-5 zUhT$B|E}wk;dE5uT^U_xSeN5TgehUbD`5O?BdxrVr{AThD{UAXBWj1Uo=9Seh#{jd z82q`Pg0n$Ld9snqV9P=c?8J-jQi#!(O9wFT0b)nO>&|I^{$E+q0`l z`Ca8hzs0ln39(BQvCd0tC^>d~H0n60BbUHPTr72y8=ZtqxQBYfbiv{V!9{~QM#mVC zRV5SVbOmk&KdD4Qto6Fcn#U#?NNq=HT#&%K9e)G- zfq?<;$-2hH@9rSXgLEM?#jFQDu{&3&^+tTHXCVu$n*hwj&Ilb{E`)!qRYy|@p3FqF z{dcQq@Xexq7;KXbKVGHCgg<7GjHdoN_8W}27)yLdCoNCE`m!`$T!*D7zXd5o`hUub zhx^w^BEtn0d9>NgkLUO3s)sB(5^#ZEW0%$@AV#Ej{jvC>7{|nz+Jl)8Ttzm2ke!Pb z0d2}ZF4g>F@e%fAEh4RO-N@MeB+Stx{W%rF(_0TzZXm=w|6t|9NUBtf@6Hh-om`12 zhfMVPRnnceD*!Hw(=X zFY4!X`b5X+%Ot_lE;Q0Df?j#_SY=L_4A=s`MVSf0?<0ZaH)SAAB``LA}BwzA}{N?AQXY28M2D3W#077U;vyX87k_l|ogSboW64>ly4ce5V!IfjObWkU%HdvcZ zl|V0Mq1ULnVFpII=}?HZpnG~09u|rh8$)ZybofnG9FY6M=V7mJME0sLIY8Bxn+K*h z7S$nSzLcfaZ4KP78fe$yVz7~06T=WNM7~Y?snvo=BAi7SuEiQq*_JR5INzt+@9@d> z)f+_=Tv`9#yPbnVk9-_5C%O)sb{vf?ycxiB_Y@TccYGxhnygpS4m5#dXdO(%W>0DH zzia{#T`=YJenbt?LMG~oeXeWJ$NJ1vS<9SYXT_M(GU{f7r!9=`^^TW}n&i|8SVMen z!9_^S`vQ%|Q!Mw|ps1;disREP)%xg*j?2Zu@1(>>RA_z#+iXl03$$+xE1i}R*Ou?GOv+K z+>IGbrST092BTR1*r-^kFAN$H8*Y;L20t*z9MvY(mFC0whh%3 zcK4HODIz}74=h09ED`D0KIuR^52;LGb?lQW^}h^8a+a-clHyez$mO+HZ_aY>qeWjckn*u5&PycEYY`;xZJ5W-|+0p5e%SLY}dLjPC`;p6^Lb<1L_D1vz0|t zQK!Fjc@B9z=ttq-w+#>j*SM%P~-oeaBKa_4BxMY)kE+# zErj@(q58;@piiSq0<906X!Yp5%MK2ub05>+RL>3wB^$6P${3D@HZUZ*)_&`bLyur7L@NsjIDnp2c_Blnvkq1=t^q5Dmf>Q>XN`sF`TgUjk}#ZQ)|Ojnpv zt({$!^Zv*!oj^{)qP05uP1m6s>X}2l7?EUNxC^I)-4X+@g%5FaBaY5UQAO+hWWZHe zGa{O@k-=g7qLY!5^vX6c6izC?SbK?Fj2CJwA2ZGrgRT#m-1-GOf7Y}k;0j?tGnv>m zt=$bfl~Lmkp;A9*nNa8(m>)YDrz1A5 z(=kvNj~q;QL*Dh2#@eU7y9eSCQP?jLH=E3)PYrs=E!fO<(%;!8R-3vI{Z^WmM(1-m znoTvVtq~O=$`7myi5P>fbQNhtS-+X>S2wg(p$uwqvETZw(`?}FY|+TA(@KN|OBYzb zbvmnVoer#5t6SXLi0_13r%?{r)+XFKJ(Ahittq!oi)G8Mjh2y4TX%J7GHb$C=?~JP zeOHOzufZ+Gc84)6I*rQ<4a1`S3hJa8|Chxd;VBla%a1+8y?#22w&YPZoawG)demlq zCht*ZD#a&}a?$q1Z7=&>$%DaaZvq+|8r)D;ZH++~YBc?RQY1=BI%^j?nct+-2@vDz z3d1z5;MgKto5A7L;lu01eUVK7piSEi@y_t^X~XX4^TvWXw(Q#d*8v4sCT#&7n;zRK zpM74(XYeOl(+mwo@>UOWhC%p$l7IA{R8@9_nkJ5NrZBX2`nUhfYVw|e%n@Q(46x*& zA@rHPwG+uscGOO3nOIW^j)~zumnZcu37w`r*RqH{9dI5y;zx#AT;DpV-V`nP7lX>* z+K}v;PkfLQooKx0|LqDrtT<0*93VAKuD2v)^0&eqakMG%{cZ z=LOE&sG8%fzyiyR5(wWM%jGJkBrl45XHFiP@1m&{VptxQVvE5@`E;zj;-3zSAeYdK zu_mpn!zK~x9O;C`h*$#0A)6>{I5z5Zbj=JT90fTULXK!xJ}mnpKQZu}`U*dL_nu@hvcK8e4{K-% z*R3iF{1bVWV!;V|aZH2RE*rX2T#+thnQtCxU>EB-TT^+dzwk>h%bG;IR9TaV^sRPJ zJVj!3m>%YR{y$cE(f=1LYZ*S6q9QDdvd&t}HdNbx!4VS{g562iCZhM3dhflaze&gG z2r+q0-6!TK>xFj`u%_jMmWqX8kjn@IS}*0R&qC}TeDJ{W@0rhl4_I&@JvPYSy3xO) ztZIBupS6n_lrlav6ROi4uz;;HHkU<+b3)dXMu7k;-T|?to?^yY3VvcL*Y3S)!$A_N zSjz}6Aa~oef|T>MQbPh9L-Stm2dG*T*QVt&8X;74OPWdENswy91I>h>P6inS*< zK1z$2F=%nUJk+0-506xb{`WmBJNbL=#8puoA-{8g=(=RTvpWYHbf*Y5JkFm)@KqE5 z7y$`jEON~4Q^BWQK*D$pP z5vTlNA)19b&p6OVjC0h6D_J2?09lj+eu=vjMo~b zD*kSgSIlFj_0E)r)TOy=lYbyl^2+R*z4?kZxwL3Ern8g2HdzrvnjGkp0*|sHp%r|8 z^u<4s9EB4F(`wJoaYgXLVsB}~#!Z{I zY~6OrrQ7?X+nFpu?{&za;jXt&h+Y|1+G&!Ij(9^W_%>lt4qf zprO6_KC=IZNLef&f~3-~rb4|n?2Y>a_`M<+8@1_=CM3eSpLBKlU3nMiWG?F`977IS)M2 zSyRTeZnJNkqgih#HtU3W9?k9?f)Wy*+JV3!Ui*ZBmpTsw4)Jj01;D^*UmRi-8s4qQ zA-r2FG$a~23x`nD1v(?kvrj^t>o5r~|3Ed@VG@3%)){XGSd>3nOFi$Y;C!NSo;TG< z**Bt}U@D47Ftvw)y?pk8v-Pl=t+Ecp^PV-G?xyhwl+fhr4^~YEj#jVyyob+0ZX5n- zRae^KxME`XobsL0gQq5X@OPR3PTx+c{H2Rixz6%V!tTT;$6@z(>bXwnPFDWt#i^WA zrc)|^@#0jzacbqK{>?=J3&ESG^!&+-Q~A==%3r!Tm2<9fO3zO{cu~M26Q<;#hg4l@ z0fi?ijmz#W)9+ZOz0}wK? zI6+yj9O+xD=L7%#qEybwwzQwr8qi=-as0di$$6Hn-gTLBo~28h0Cgkm4r*h3jX+ZK+NJn`?&t4-TA zj+T7v{7TxUa?q(Y`<;8q*c>i(8B-NR*N^JCE+E%FehqP#Nyml?Wb();NSry7R)Q=m*irj zysR75=7~4$swDS>y{eJ25k4u^KFaL&M&!?_?$Y9hj}y6WD{xNm=a%U^teR26kfYep zI8mgXPo%hg1jEs4TB%jyp!-SrQ9R-E{i44^Z19T&?EwnJtM5dE_j{ZvZH@q2qUGY%<<+3FPYUp_4cyMMtuL3QDTgG6NuaIcL6Y zQk-VxJn$3Mz z3u&R0-u)Byw;lBH zNw&E)pEht(2GL9gmx3A;nN3p$!}aQ_(`b1G%+6XH^dFkoI}R!X02)(R+7rh$EZCKn z1&p-UChBm}(frb4?-PrBa4uk4AV+R;X5rE-{yMqd{vq*S257Zg$Z`TOs`lJxz-l+IqhakaN;;l52z_9>pAWVI zDRpt<&`tBR%-@`qWKfkQr%}sj8XOnjMJw@meAykB4mK{^a`s@okq zl`BZ+lT(*Hh*hq&0*y&{Z$A0*D)DHh32!WS@(h`$2oSa9&h+@esyz7%Dke}pBXa5e znpTPOw594y8hqPAoA?JLv}|`WKVaJM)ETgp!j&j1pAzN*uY-hl3&)i1PB8S6;NAPe zGrvN;tg91}SAQsgKK&_mCY_q8zCy8Zrbjw!IkyA`&N^mQvBl49AXWQ+p{fm5#h7e6 zDnV5c9pvR-*9s}*Jr~o|ED#ziqpb!CEeZ&)+ep)5B&!56?^M-$VV&R@#j-xZ0kOng!nYpCI)@%AA0o7SsoEf}|JO4}_%cgb1^==Tm)oCME8P zXWlM*-AeXSiqB&HAs8kv&vAcxxq4JaUPgZg#k*EJ=Owi9?~T> z6)9)wZ7tmcGtSF@9zIB~&@E@Q$nJp~=5ih;KYb>7)|2H)g0oNx&pxIruf+)IPOg*m zd6~a&enw6y-DX6#)eJDL)xlKi;=<=F<%{A+ zavx=G<@(Zo?;zbiAU;jP?l5JgOSdD##CcZagw@Rc;IW3O_J{?Ekoad%R`YL?s9pCW z1JSI304adNPmGDly;r0h)iPs-eyubqfaN`lrf;ELUcET*88XlrbeMUB4CCmk6X39i zyGzb$01X6@;9oUkR%FSd27BbCu1eG2R(Y?Ym#F7OTOMz1RWh$_X?mEI+a?U?$Dv)|_Nop>w1HFkQXRzaP+I^-Z3#ZF{fH3v2jm9;x~oCk zZFDYnzQ4lD6dw&Ibe*ACQ^X?NzL?>nc~|+#jB{Z0twcEg5W{~QYB^kno%6(o_R!Md`-Ffs3zz~HK9qTJoBSU{d`j1ug_KTgO+(vK4qza=Kp_? z|Gk5JQzG%AdFQ*1(6J34t&vaQAhs)4IvP+!WGSTCOF$TJAyr;S=TwrrGABSxTlLW(NE6QvVmq&ix9Qn}s48rLk8RL~6h=9`@itWY07tTf^ z9pcYzOSm~KXXUCGYn(%)wA1yJ|8F<{hciR%*4Q4*Now-1@6FJGBm~*5`==pgAeb+g zFaEezvZ+2_X%|I){J(r1aYQ`{jkYGF7uk+{u+867=ld7&XAG=8yp>MKGpS4U=jmBvgd!l7}+cK@_WwNGb$n?lh zsJV5fL>mfC?k`)WUDInq>%?r0L*@RTyeLp%#jzedsOrjhP49uLOSAokJ<)1s#r_W~ z_TNk|7VAFsgz6^d*)%w%p#x_uQ!zCY0H|3R)6TW9MZl)+NN~lV^~4YUX=TuQp!z-8 zVCP-6qQRQATIEm5S09M=Oey>2^gN84|L?SHo=)LtLj|z-SJ@3pU^~#j>K`I2$XS;8 ziW}2o>JdmHjjKD%q*s)4^So{5FJJYRUdo;;S zl~N?8`fnx;*r^@0WD%1Dh%uz_&7W=g(7d1dDG;>U)Y#4^AkK)F8ZFRbb`-?p0k;Hf`99A?#)GJNaO>ADQwG5dci2B239jq-H{5dRP)85%d z!k2j`B8Wg?8f|$(BF7qoCG1CL;duE>%45M4jgk@1`8sop9KR zKfGfB(sztP{NY{eI`6Z3pXHrl>wQk|bG*;_JLBJ-ba)T_Cm0->PTqlt^3Usip7(iw zU(ovk?+gCEsP{$Q7yX@>w!4!a?>&EC()$wcgh5w*8}z<`cfvF4eWTtt^1jjE35|;) zmG@2l&W-WAlg+$yYrFDq(fbzOxA^;3y>I1xtG^RrcXzUl_ig@uiQX^a{StrY9=+Yk zrMzG2@7wjho%ikjPM}_{EaH9H-*@PJ2k$%leW%`c^1jpGFVp*Fyk7d$g{+aW5_Nc%g`rt#J- zX7#ocZ4Pgoebn1!9=}yE#*tFGt z2`{$uOJ|_DR)=$my<$_bnRvKBew(z9mlT&$C89Tn`014eKIP%uWT$K7h9eEb9F9@H ze1QC_Ixgv)(V0Sy8T99(KdVgQS{k3kcbfv;B{k!aj19!-{1tXS2%?UX^5Qv)8fMcX~6QC@+Cu~u%9DO zyF6XbBT$~3I>;611HP(5sYCkMOpS*AL&AV1IKmrYaO;@}L$SCc<-jA9L8Jxy=U^;| zyqR;T+rZ>a;BOPmxuky?oWC2XVXfY2(0PYwV5k0Erav2nbsLKvdh956>ao*ta7zIN zhzt_gLuyM2>xhsU`scnU`-SxtUO*I4kdS{j4(7LO1%gT2XXEjfA^f_L&zubQ&s>N0 zc4`q8jd#Caiq2WBoCCt_+7nVN=Bb{)`lr%!odOnkh{*eDlgr2~W6u?LgE`JZD!8*M z!4CUAW12CpqQJQUTE#~d6B^|)QkBC>RPwZ{d}Yv7c?YK)iIhdQOs zK&etTJz)qvq|2G|xjKpqEy^=vdD`Vm^*m8(3lt1&Si-QKiOw`F^YT}*kp^;w=D0&b zNs>w;HL7=fK?2bO!9(QQgEntFGU#Bu2P&xFIGv0NU)SZ?0~@YRsAHpogK28y&tXC0 zY{a@`ff}5h29SggnLd~rik9pdKIHmf#t%N&Gkkzd+NjbE0sI+0;8fEt?O;A7>={15 zo7>ozyo5c&2gPGAO+!Nodxj54+$i5e344YQv-&U_KG-vSAeeW%oC_c989v}h(8im< z8@Ffpfa488o5BZsh7b7NwQ;2L67~!q7W82ue6VNuu&58lyBLQ(!w2lOZOleql|91; z1??^^h&Ltd89r>#hYg{GJ;R5M`miy4uxI!{q_;MQs=W<+h7X(dVRQIk&+uW3K5Pje z>={06)rYO&gFV9sjLZa_2_NhkK3t*?mxK@Y3?DAlhfBi;dxj6&^n!%#6U}}kOm(SJZI&rk} ziLoVmrd%7z(}fZ8&-k{s0}K2@Ok#nM84y0kDrOuTTdl6;ghxu|V2>u5LpC|2BWcnl z9hvl}+ZdzFVS=G#4(stWdB{G%F)C@J$xyhG233zF7)akqP0~xKM;ab-pu(A!BT6vZ zJ;Gs9-IPE*>XRlzJqq=xJPgZSHkF&f^3On_oz|>_LKX*1(^|FW#o$}qsA*QTaZzzP zFbo9jFA@jK1p#AZ1fl0~BnCJQGU@zimd-?%1UwtlT`1sI6A#|P`h;?da06j0l9f;D zBQR(zMHp%4p_e>t7s44o_rxv3_XZGqMfCLhR~|wnB{%yd?FjVEaqf!%*%)48(r%CDMo=9r-$-(d4=kPRWj%S7%24$ zFc8>cO?;HYs}j6H;DN7a5>m6u(+UL0bW}sC-&23g{CSY0uOV>JucyGorzr(q>J~#( z*q&@ZlfzykhIz7>S7_oC&!2~4TJUIlT*cA?_;_vx10)n7D~;2_6tX+EF?mQJB>37q zYaZqGs)-K%eGIgpDkeS*!Z5@l3Dvq|4J5r^GBai8-_BG-F-XVXiCkTj;^Ik+j;EQUQe&!mAWhw@gWhutm*y68VVX>%6`Qs5dR0 zP__J1-QF=wbk;F~b<#21F*54qg^s1xu^FO_Z7VGx5lmHHQa|P8@mz>yu(8%kH07G3 z@eyId#$jgIN%@iC20hypS;MiL`_GU(IexWFYcT=n;R(sBfRIy0H&OqE4| zYuGsXk+7E@Kz=LPe*NOEw+o+IyNv8Oc7<^-AvEbTIdZ8c4n_UL%g!b zxvu7mzxBU=?vYc!|I@D}CkO2Vz55P){-yLp(LV4;FaO{d|Ib%{|EX7#Vn>N&OuJ0+@-^1(|tdrL! z52rj?5zpv}Gx7a;Dr_>BcFToSP(^uw}-Ok50C&Z-d#x1BA|l z>`1*W{#x_2*qqWLedbOt(X2FL4cPK3*As+R8`cN{A4F~ezr!fJmpFbDjejgTG8H?a z@9EvWpSCrI8&oVdF8X?_LRnxZ?w`qK67v5U6MZDI3~-WQf?z}fpw2u{rKB6c!lR9^ zqMZ2cJdv)xfyw)NlMMx!FU@7M$Fmsx@bu98)E7jbK;W+*46qre&Y$#7i;bN~!Oie4 zdh}H-K6b20J(y87A$}=i!}S=?eRXPgaz>#EFGc3^lLhP$=iWORMHd+ zfnPNbD_E*s|3(s+i@Bx1VFsxOTn7v6XJwZHaJcLn1(v5rgHm_qY<6+Oh8-fSj1M4iJM= z(h>87$E3u(Q*8j&0y|B}YcP9jtQB{HRBLUEE2?4-sF-p;pa7lRkfr?0mu#;He;lBE zBD5T_2}Z7vqR)#>+k)Tw3CmGRnouG%d!R zz+z|Gs}l%T0hX|5?%)IVWkm{Mqn z1invBsU z2o@k@rKx;3G7P4emZmX_aaJL;r#_f0z&tk#q(*uwYSSB}g{(VuY2X!m>$LV#(83 ziE>Y8B|5(J&5l=7unHyVW8Wjs+iV zalSZQ9gK@k;IHI1A<+r;`EW27 zBJ9Z}?y+OBfaR-HtRxmsUxbXh6KSd7Inpf~#yX-qg9p)XP&)F8WF8aD+nfMuj&SA9 z*;zIXy6RCz+v!b^I@*N9`YDS@=SCc=Bn>Ap2{!aW2juw7I0?0OJ}niazV=MDz>n@AGo28Bms>zc^DnQmRR?V0CmVp? zAD*ykzMGilfPq7ox7uG#HWb@;=0uCGhIx_h;L#OK6+?;+Po3dww{WB#h zR_l%dGz)rR0iBCysfHhpz{QO1*oD8Li+;gJ@}@EzGZDX$y8BZ1o$m{lDJ z;+%vx@Yo8gO0QFzAFa-4r(iR`%pDK@3$gt=Z~K}A^_ab*si-b8D!*_30n0*bPu(#F{KGAlgjp51c)xtE1=qqp2YVY}4f zE%)()jn1ub2el09sn-mHKA1~;;1uC{vJ2o82r9N~=Vp~G%ZI_ih7oc~$dyLL2x0Tk zpKs?G0LlJe3AF*SQacvxy|(EeG)=rg)F1+ZWXvn`Grz@PxfPa^2auoKi6DE_rFz3R zTN|q;DoWk3RBqRuj)d$l?z3CMF$dgx0D6^XacubFi#B{6IMv88T}89S#H8_Ugi(SL zKKughJabgy#b^D13qAcqba&|Q=vzgIDqvcpb8j{xO$3cPC0#2HxeuO8Bu2wHIZw=R@JXvT9vfw@rG{9NthFL{U{*3s8rfUd< zbV}GIr?nV%>FbKKd#6u;t)OD+*72y8(8cC`{ z5aPA66F>s*m3G)<2_uN|bBU*jI?88W0Wsyp;_(frpSX2KRg{OLnJK|4vzM?6V!yL+ zOXV(cj%KiFLo2*xC2{809UV-3I6Al~*^wZ^05v?RG41dM1L)EY4?4kMVNw=vqoGJ7 zkiJG6s8pImcgV)2XpFT+?P3(1q6>h=m^h&i^avH0Y9*l{Nk@N+2 z?==wZ*qk_|JRpYR{Jdm3bo(3Qp0w}gKs;@au_IlkF0CmNiTA0kKIsBC)VH%^ed3$- zDX30yn2&t|RdmFei3+A5Emv@TIf3>pkWePoj`JcceV_h0aKbg4N$20~GMQ~dK=Fb0 z>SWK&|6$DVN7yw(fG6@p)XF zhcAd>WZjz|R6AJ7D0vgJ_CwO^3ZVX9pNf`lTW}w2*ujdS!0r) z#!Sbm@QADg-VLmVI!VrP?xa5(s^ub=xrMALXQs4|8&HM2 zp}uTP%7wOqjB^BaM4QLjqhfP>m@8-Tnvg9{XM?(`=w_@#Wl-iB>)JCnkgSpBM1 z-4Yn)Wu}_9W8`$jq_A*jIVN)980WZqzozM99ZMxkYo>nxn`&Oo-(54S3wmZp=au=L zJKNmKGBTXo*^#-O<-=@!ZfPMxob>masj@b&Xt&ODUT2wC!ecQ1i8RY+nOU{N%!Vlq z6U-?To7vg*W)=(d^>>0ULhpI*y6yeS$C+VBB_*;W*sB9@Z|hvo+v$zl< z%kG|okhDO3R!UHl#{LrU`UAU-o*x5mw7*pyPS0AmM!lV#K!r68>yDSSTAf z?6JTqD$xMxWhHw)9rR?|1a#$EtU2 za*IYzT{pwTuzcOb1D1BsiHFL2KP4Wf0UlHU6e()L&715!jk=5>I%i~0HfUNfD>1Kw zgPFbg6R_Uh$t@6kSFE!s(+X#P^uWk;sF)RFr(UtqF6$~l<^DWDQHQK#*oJ56OwgRt z7WCMl-aM0XCWYr(%JG-8O|-^mGkMmTRaMOEoXsnkWAlnYY4f^d^NO2rUzlz%uYrY= zUw=oKaL}-V30rsrjbPFfOyJ>y3Co>WtAGb+mc$a53@|d`h~Lf%JehRO!f*r3W~dkg z9vF6pxt49OX3Y!OVqcss13zKY7=hsZfcdPyfqxtMy~tBMe2L!*bGup0bzfKx0Wkez zp|2LhHEhoNvi(Kp@dLXegJ&^+1fq>j7gVyv=>x7UXAAjPZw2vcXx`!MU!)U!o^2(A zy~vrkW0Rs2EBReSek$|31sk0hRBv)&i>@JC?8|=Nl~gh(cBgATg?))LA* z0XG1LI%)_*%?7St0M@MR=oi zJ;*p=?DLF$jkVkcE?4r%34B)8m{c3l8Yg(mnY#wvQ9|cCln%2<`AnEBH51}yDSNrf znK;P`UH)nPg${K>F^uxFfGYfaT0ez&isxFT-aq_#Vwhodm@2}LHRxxkVVEjVJNP1u zAu^qkX@k_O8PT&0I$AX_HGBLUQNU<;tZ@D`Qw>@>syQjwvf!FwJaP^HF^$9e zuBjPvTbRm~`M$lZBCz5ud+<)>+1rE91<$Q}vNuUr^>66={GRM}Jz?3eh4)wW9j(JF zdf&Duds$Cd#7lZ^+@r91930z&pDfSCJ*-DOJ9}84cy`Ty4%WP?H=Y8o7Pvsek#x(~ zl7Qp3W_}RHvH;UzS=*D{&dcUK*=f-p}m_7m-2t=F9{f^4jDXo4S?kR)`W-dAr16o@+I2`K$~+ z)+M(cSlEwJ2v5^XiVkbo%=tzV3=HL)AUk->J*SLfK;Ss-O}%ZVT$~W7XGKTRg3@FB zqRG3+CrjvE&YD`znp|TCvTagKIT!i;oTl}NH32L}mk4eyeN3#Kf2(xYHwr$KzK2_B zuuPIwCo|)kjY1h8OQGQ^TUyvjk-alLCZOqfR@16@YuXJGn}tn~w|^2^^81mgFvZ zff+$dkQEx6AZXgdX%6Zm#m$|)M#Guti5rvmlS})6nw;bl|3nU)Su6d+83B{UG&vwC zg;MY*{#Q3T&4m4oxGb~yXbo}9n9&{@ocMfZ{PU*pS!JIb|7dB^+~h*WZ@Lo2X7CCq z-%Xk90u8ViZ=8h0xRftT8kL_dULSHQY16>(NR{3$PPRh2lY zBlJ&dCsuiIR~tNb^6+N{qw}P5<*i74S}{YlbnJ%tdC_IV!J|0ATly`p)Y-?Hons32 zj^P1@U?+(O7{FmF5%^dy9U{2Au`~{c-i=2U=$wwq@L;SQRp1n?yhYEo zV_@U&9<8_ZxqPQpY-A@74`G4gzc+rNHvH+1?uLt5O>i4}F!QOXMH>Mc0b|PtepdAc zk1vUX+7|Q-dy1sAusC-E%pV%MZAM`U(OY9{!8SeS- zZ5Ld6xmLQk;L^KlrB^PXbP)_Bo!8R5fttUH@6Oe_;S&N1m8FQD&~SG^KH4A16`KKNhjn*H>dXT6Z&YmL7L3Mzcm#N`36a_yaVrh7EcHb1 zglI$YMwY!1u%v1vKfgxU;!HNOO#q~^7-qXeB+Tr19=*VaS0nq}1s3pGVX@X>jg#JM z6U;9?BGmGNy zK=SHVoA(|v_Lcc(Ey?!Z*6Iphu$G2|#(|X5`xt!049?Dh0`E$9mM{I`%d1JrMVlPJ zEg${^y`1?^{EhMWzdyqRbd+e4UFtSnk?l$UmCVr#zbUV3LP@gV0H#co1nmem?Bu~p zB3x`ApsfZ!^$Ydi=`?H)0}Zi7oGITBr+qIH5O7r`h5}S_IyE99odaNMON4}~9cat< zN$_Q66&yjH8R2GXA*z#-u!xD`0l{eSdHLo^4Kt8Z32ga>EUmhEgHUZqR2PBv^}3yU zWy<}`H83;)Lv(&9R}2cNk+MTTq1x2ja5uM{ywCS;?pOas4Fa|}2t?Am0}Vk{9H$!n z-}KruU;_R-_yY?g(tCXR_1B=M>4)%n%dCUUer~hR4jsd0>ke2c{EoxL2nTl)Fvv=3 z7r{SpqE)s?L~?iwB;c?HW*}bJ<1@3Z55a-{scrPN`b({$Zz%nAUi$F^Tyo7Br28L% zZMM;!@(rPVPKQiqQ4?bH`LYm;!-_Q_u^H5G>^~7=i&;tVC==)2?5Gnkyg4;-Hy!86 zndpAkJM3I3>CcPvo62fI<4uSS{y`lBnTHP?IDYbguI{-1^qIBQZJg6=vKgn>z{V6fz5mRh<$G>f^ZWo|Y}u6^M6vHoW3%tr45DikYlRRX1P&WgJy09dU#%htyshA=n+ z9Zei!r+LZUgAL-(3v~IY>L5|?GM*p*NEj1-Ci9?ec-I2JSfs4cF!{jIvhdDS_^&0+ zH7Z)f&P4lYIdHP45fOA*D9!3GeJVUmh=xh#Q2D)z1TbH;4!cUnW13@)!UATvUYl)GCqOV9C5fA>7?(C! z42LwGl+l^4$#RC}R%xIxLYP?23cY8iqBpUMFl-%$`!x@LM5hITW~z3WPzJ4jfUe-Y z$s|&VgY!8!Z|_o<1z^YwECYySE^XfFG!()QqZOIR32vqY3i4}rl2NxMa7q)6&hCVW zP@cerBNABAmw>El2+pY+mQbY>U40{SBi2v4`bcJ~Bg|h+=i(kvSm{lr&%|^#BOH-a zI>9yw`xnz&3jb&61en029@E=$XR`FR(r05j%2`D(qn=r%&&6~S0I1Rd!0x0I(>n?e zXz5rHP%FiB1|-i{@-uqE1jh7vg$uOwd8IGJ^aX_twDbj~FUIsmg%7m!MWy#*I%<%f zr}vb;6w{X!PSEl%DSbmshnH>e^bJbi7}GZ@yrAXZsPs)SeUrirTKXoXZ;t7k6>iYd zH!FQhOy8oggO04v^R)rt5bgAIAqWS#<^Dw*?NOwf{-5Ex}JBo!dj=E6is0)D& zXkB#V1sSAniZ$uJFJ^=FUn>Yl#t;{^7Yc%b7IWy@nQq6KYUeK+S>yQ3J$zu1-A6zq z?m>w%$8~Z!g=fg*%f1Ry$o7|PrxdD5+SN=kP0GgmEmQLVTvls#`dv_oEs!wcI}6?1 zP{<+c9|-LcI3B;RXq|vdHg$VkQ@oB~EHTq}jAl}Yk-)FkU?i*TJM#E_CkCy(`PCGo z1IV(TqpfV)>l7Y?bEL>*Ev{SzVs(QK$JaUD%@IPK3)fL^4wARj&6c`JX>w2YZ0@AYesq#nFbkgq*ThIQ zE36qd$v(o_FajUt9HY=YW;VYFC_ZsnHF5N+n!8MM*Ys)04)I0P$Ns&VzD(0+r*+|9 zAs^WeX$EWgLT|1Hc8I>$bsk-4HxX`I2)c3$92Io6|9DJ$gn_#c16c5HC41P?QjnhQ z4wc`{UI)1mc>@eYM^=fu2}r>|ZGl|eZPdkGMMeQmb#d2G8>HqNGN>%Ej~{p~iKaF1 z_7R=X6?6$c1Qu!;X-$)NTSK!m7T<#7aBV1?OU#gW?a;Zxf4aQeFnM>@$xOt9N>d~3 z&k4z-G?vT~64BG2#`ypr5-oINf-jLXuFRjbvh(`+g#E;t%OZq|8rscmy@xnm0M1o8 z0}_f#fMQ%NErxXg5xjHSi@PXkL%0C{L1$MqUHW9$y~9{L?l?qmd(TSG z`p963gPjvg`-Uj=ZbURgpC`d-qk6Yd6vt8PX=PmKZA$3f1ah>C4c;s<(yTxw6|@Dc z;VABPp%(@SQ@@uH&;*)!2>>h@5^}|hse?ql^H~Cb#sP)(;%^d6@LH5iy9lWQWh)4+OP5aAfi!c-dsT&Q+Zz{OS-v7yZfwZ#uYuAgC*kSl+; z+=bjc3c0c=%en_9>o_&O!MF@e3c1Y*Ay*i2K?Q>4yd@#GB^Y>QBx{%hTj$%b7=PwM zF18cYbTCAA66P^Qml%lOdWs&&mY|xD+loRiA2jZ^aJ+&WgTeVsI;tSrvOG%G6d8v( z6?rKP0Q1{ll2BXGPDM{-UpgeptMIrFu|-yd==8{-cVsZrU({R>{EOb#@eSCE;*fZ8 z%IGgLF^eAUD>xkFytj`G7AMO^i5F4Paa(col(WKZ&27Cc$8DA*wxWk&fHO$ET%cnT zFYUm&B)8HJ5E+D*7eocDVo`YCMhXGs`oeG&mlAQ8!L!|_0)8O;Cyapz2;hopTjT?% z?!`BfWP5m5UdHGk`@C1`eXP#MtVRK$jkXs5%`tv{h_!mF<%!@z&vXT_9>CS-rsxd|N8kaDl;otk;wrw7l!2Ss@Z$Se7ST0p-&Ga;ULm{SC*h>=4~Gg zmPaA}t%)^`7j%0Q#|Cd<2E(Q(YKz*XYEmsNWjPvSK$hB( zWHgK*PS#-@Fhm3snZyQ%IKcr!MB*eiaS|tEf+2>8j2t|~fF_t=5@YY@`}>`9-+kS$ zTapt9L&YxjyZ794&pqdNe&_f9{7$wb{$CiL9ki$Gi#&{JMBHHxqPRoO6mCYu9Yi9T z{)qUNBm%bTXgiTsb!J(gGfDQWISyh(#X!!;tRhT`9OsN)ScBu(hXcnslXhwx2Mol3 zA2<%t-)6p|(71ahJ0{S{+z=WhLyzggj+E`F0LCcVD_D*37zHuPh60Oe?2%E#Im~SW zvN+5gx?o{VEtS{T7>p4upLityV}p)ND#q;BGpV3vTb9h07z}@aF2r71UmFIsior|_ z8B8##kjBz#o`%5?FwN2xgON!Ep(HREn1Gp7r0#b_DlrKd3L8#g9fiTPox$jddL~*c z7|96{xQ*psMg%0$Lf{6#R@EnEV+rMEGqG}PIWo0`ax=A9d8YC_mYc=J%Gp#d<4UM+ z#uY2a_9Wv)}C^zGZl~W+&N+>tuij||k$+!~A&A4La zlPaHzr87-fvhFi`?lcrwCCeR5%RD>faM z&Hyx`ATXdJ{7GnAp}n!*11(UD=7qV@2aK)S+3ZoFuDw<6i(G97?M)&`(BA6)i36v1 zUj*$uGL~Y1iDEYie#X&##tlO>;AM z1)mUtL1!$ERMBBUbF+IM2kL^y3sgjJj`vgC2dr$PO}l#{?yZQboS_+{8)Jn{Dwory z${AAm_H_Ifg3}7;1o7O%9 z$;W*JiDFR#U+=Q)AlKy`4}C(O*_*gz`CQM_;rz!k3gK*Eo#17kyhx8OPZs#O#7^T97z%&3h5FoW^4CaJir%ZB zLn^X4jo2Si=}a4j`O7}8PkD?LYeca-?uG>MWAZ zT4xgRI>>=UUoBQ&YWJ(S1A=@^BgL=E1>XB2?r-+uO`&+xXfcLYt6e)YT8)4`R_yr_ zb3Ukuz}{u~Ys)U|-4fyD`Xcb=uOMuLc4+vBue5k5B#Q;*Gf|%r-4Qnkbm4@fUto4A zTgYCeW8&cz@{00}gBC|9eD&6AW7fOSCJlU&?UTeeO9NN)Xdl|DYR%D1v%IADX%o|@ z`jfe6)g*9}qioV$lObF>G(&xC8clST!op9cs%UE84pi+Rvq;3l;G@E8={D z3}=q1Iz4WWkCDGa9L2@$ux6T3q6G$KvzmEDAy9;7H!M>9hHndJJ=s8q8^)DlajVu6 znXSviZ##(?b{P$TtmS=LRpoJ&#jp(KW?K~lcG}v1*-ATc(y={8Gg_5n5m9GhlaJuz8PeAc?V> zE6f{4uC6iWiaIdhv)srnV&4KY!NR1|7iN~f(+D{V6cV}_%wqltNb)@f$ssDV;`BR= z7We^yIDM$R?U|Djf;h`<5o%vhvT3P&&|Z(3Eexz@^~%c=z$3yrlO;0dkttbR0W7q{ z9-Vhj4wHi1mT{Jv;~i7}INTh1DoWb>jB(qRk{YmE`?Ui^VYWo{j@|+}5nA~FDx8NL zfGjKyO&-VQSmd0Z+m@|WD=u!;5~i}7e#20fdeRD0)m~UMN z7RR)j9qKEyMQKr`*7+tzK5t(5$^I7toNV6<=L#}7+alv5=P#m<#{SnnNR8yW&=mVX zz#|HF`3PSJt+AGt8E{;g&#Cnw*gmUk(Crz1CEA|U{pub(C+U_5d;d7}tM}7y0K(Iv zGOY^iP5)lL#4Ls&|;-1cJQ4zmI6o;Ucz|-$^BnX4PIC<^m$=gyQ)5&`K z2eRQPk%CVrg&UIPhbf%N+bM`$J}2$7_q+fi<~EbJl9XZ;LVF^68|~bw%*Q1=2+XVS zm|ArQ!=rYIWkhd0Y+thg9sB_bxP(34WX2RlX99VZ&d>3&apl&ZjLGhn8sQM_89)EYRyhx{v}{ z^A*w01gys72Xf%Yy|Jm0*bvl0Bt&bJL&r4aWcpxnAs0*AgP62@aA+V^>Z=wIut7&i zNPYxoB@@HEB@+V|0x|%#w9%A5P+91+7omx!a4vS)De~NE0YD3=tQGMMi>VAnMQZgI zO580aOu}TBtUL)1QVTwzg5Hm4ws>aDSi6I0o*={#P-$%i3)m7EIIhzt0>Z%t?7 z`Z|hO(DYXf$q;^!@q}Q~;*#=`D+LQU;N{8BBI;`M&`sQu^=c14V9xavE;nA8V)kj4 zCm=yh{E$n%zhJ)L>FfWm_`?%vsgnr)X+G{BKuegC5|)-ffhSY3S84g zs9&s3$tb4Fs0|iFwnM_dIx)Jevmki$IvOrgzrPAD=?xK=w#|@`nstN78*UM1!&S;@ zrBvoAl*p%ZdTLbzu7*!z)&*H7VJ5Gh=5K6G@;)79^pz$R<+>0c0y{Uki*C5?1X@U{ z;V$WRS96k~lC+Y?3^%&1d{S|rI1cUD00A$@;c8fU5qCz?F@nnm=vcW!W8$B@Q8kba zk^2Akx3A%CaQZ5KASka2Z~rjA(7s)YGvYrnfFGd<%+LWaFnxt^&^lTQe4(ig%>3QD z)cZ4ICQb2q3LXNJVu{{`h+17P22+8$daIBaf5MLEP9U=W1VZCau$_0q6O=*i^mS5i z75HAHje-1IABGf52OOzK)Y}vZyF$wmr!LD`$`>aOkyFJmjBEC@D%}PN1kBoTrRAGr zorkT`O_A{OowV5gypX-lO@bVevx~l{uLjHs>|{dlKHlS3pW1;<(<_Re7fl_Ks=Zk5V=_ix!Z?*2bTdIC$k#d zP+5ISGFd%qQ?K4ySq)LDvKm@Nq@uYna_gUy=OKO?^@TKIO<37Ey$Ms?5}2ZTr%XB= zyDNp7-kmVKn{-$@P{UUz9gYsrs&_UDl~tUQ)f;;U5VfG3Q?BevdDluf(TVa$s@Ywm zm6e!s|F9JUb}(HFPccbV@RoQ}#8qh-N^Kzmb%`|i!@?9mD#a*R3TA)^0-o@A6^=eQ zc7+5SUG?oq8Ui$}3y~;C%%{^$m%V*=J#p@A<5OI1SLy{Ir^hf!ff+v|;3q{cK+wV4VSd1`rR zrXk2rd;q~`Xv}4#6YxGlzJF3isFtJv(X)oaz-O9C!?O+Q3{+r_wM-|j>S~IhzVgq% zdQy$iye!k@AA8$n<}y;Sy4g!6sdCyh9qRH;OCv>?>5|!?#DQ^PBT&7Dj11~ORg{`f z?4y_pyjeVLA-ldWEF$AWL53kd$_*<|gxHDZG)t5Jdtd&KkWRg@hrKWS+@uw1U%W)d zFRB4xT2$H)pl1zxW0N~Qbluz2QAOk1<83_eiY09sho>nK0Me1%1eBORZJx!%##C6( z_sBr0?-yap=5kMzWr~$}QW&=>Y zE!tKkFHXApMFc`XJ~zbX)~m7c+5k5=@{|3bB_Owe)#UU<7Z*i*!icG@zE>CJw9#EB(N7|A~%G1O;jXAxfXGHa1 zy`0wuj<)zLCC=AT&TH5Lg5G>n&Xe5n&n)MOEv=Z=aZLZ4a^4zp9!{zt=ShkFA41L> zvy#V6`8Q6^!+KKb_N#2pl|4Wl2hCEv;hWOnzd~uy@^w!l2RXYp<9o2N4W*iBPm`S+ zfoZPr!|E|uNYFDYm7CKVt{IGqThVC6+nCd|L&Sw5gdGGPXx=yplT{ApS{JT$4wK@NF!QqkK-8$fdm-X z*#p5J;+YU$+56AW#GvJS+%5e!UWW;Kn6mf@ayu!_LCLum&p%Ay<%`LIVMc*{h=c88 zh;4E#_sw5{LZg+(zZr?3IsXa*6bk~qZSOl7Zzr{(VgDgod@&>=*thq2>?w#d!m|>5w8pLwbbJ)Ccjczayz3?XbY9SkZU~kbrKuZ7{4RN;K zzD&6N9vz$UaDg__o^0l+f2Kbts@>+j^wt9w49XZt>5D?6;FMl}28>Y^602(45*njr zqUd@QY;7>s_raW^fn*+6eFEQgDA~aFHp?*poCnxs2@930#7g**!px$V%?mLC&J^aE zs?{v$6NM<#wZes^!3GL(ztjr1k!X=ZA_l#X8D^@b(d{N+fux#j7raS8mgU8ETFbv8 zeVjcqR#|D+c^P-6sv8u9nd%0Ak+PilI}7CDsBX3` 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�ivoHNQM1FmPZ~#gc*xzOu7CQ5=>R8(Xoc*QN4S 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